[dolfin] 01/04: New upstream version 2016.2.0
Johannes Ring
johannr-guest at moszumanska.debian.org
Fri Dec 2 11:08:29 UTC 2016
This is an automated email from the git hooks/post-receive script.
johannr-guest pushed a commit to branch master
in repository dolfin.
commit 0f810847820e2d98f0214c28137f758f40b3b87f
Author: Johannes Ring <johannr at simula.no>
Date: Fri Dec 2 10:22:35 2016 +0100
New upstream version 2016.2.0
---
.gitignore | 137 -
.mailmap | 34 -
CMakeLists.txt | 286 +-
ChangeLog | 1466 -
ChangeLog.rst | 1809 +
README.rst | 54 +-
bench/CMakeLists.txt | 2 +-
bench/common/progress/cpp/CMakeLists.txt | 24 +-
bench/common/timing/cpp/CMakeLists.txt | 24 +-
bench/fem/assembly/cpp/CMakeLists.txt | 24 +-
bench/fem/assembly/cpp/forms/Elasticity3D.h | 492 +-
bench/fem/assembly/cpp/forms/NSEMomentum3D.h | 894 +-
bench/fem/assembly/cpp/forms/Poisson2DP1.h | 269 +-
bench/fem/assembly/cpp/forms/Poisson2DP2.h | 432 +-
bench/fem/assembly/cpp/forms/Poisson2DP3.h | 765 +-
bench/fem/assembly/cpp/forms/StabStokes2D.h | 514 +-
bench/fem/assembly/cpp/forms/THStokes2D.h | 985 +-
bench/fem/assembly/cpp/forms/compile.log | 2848 -
bench/fem/convergence/cpp/CMakeLists.txt | 26 +-
bench/fem/convergence/cpp/Poisson2D_1.cpp | 282 +-
bench/fem/convergence/cpp/Poisson2D_1.h | 33 +-
bench/fem/convergence/cpp/Poisson2D_2.cpp | 451 +-
bench/fem/convergence/cpp/Poisson2D_2.h | 38 +-
bench/fem/convergence/cpp/Poisson2D_3.cpp | 796 +-
bench/fem/convergence/cpp/Poisson2D_3.h | 38 +-
bench/fem/convergence/cpp/Poisson2D_4.cpp | 1488 +-
bench/fem/convergence/cpp/Poisson2D_4.h | 38 +-
bench/fem/convergence/cpp/Poisson2D_5.cpp | 1335 +-
bench/fem/convergence/cpp/Poisson2D_5.h | 38 +-
bench/fem/convergence/cpp/Poisson3D_1.cpp | 505 +-
bench/fem/convergence/cpp/Poisson3D_1.h | 33 +-
bench/fem/convergence/cpp/Poisson3D_2.cpp | 900 +-
bench/fem/convergence/cpp/Poisson3D_2.h | 38 +-
bench/fem/convergence/cpp/Poisson3D_3.cpp | 2872 +-
bench/fem/convergence/cpp/Poisson3D_3.h | 38 +-
bench/fem/convergence/cpp/Poisson3D_4.cpp | 3281 +-
bench/fem/convergence/cpp/Poisson3D_4.h | 38 +-
bench/fem/convergence/cpp/compile.log | 1880 -
bench/fem/multicore/cpp/CMakeLists.txt | 24 +-
bench/fem/multicore/cpp/NavierStokes.h | 688 +-
bench/fem/multicore/cpp/Poisson.h | 492 +-
bench/fem/multicore/cpp/compile.log | 1273 -
bench/fem/speedup/cpp/CMakeLists.txt | 28 +-
bench/fem/speedup/cpp/Poisson.h | 519 +-
bench/fem/speedup/cpp/compile.log | 257 -
bench/function/evaluation/cpp/CMakeLists.txt | 24 +-
bench/function/evaluation/cpp/P1.h | 184 +-
bench/function/evaluation/cpp/compile.log | 84 -
.../bounding_box_tree_build/cpp/CMakeLists.txt | 24 +-
.../cpp/CMakeLists.txt | 24 +-
.../cpp/CMakeLists.txt | 24 +-
bench/la/vector/access/cpp/CMakeLists.txt | 24 +-
bench/la/vector/assignment/cpp/CMakeLists.txt | 24 +-
bench/mesh/iteration/cpp/CMakeLists.txt | 24 +-
bench/mesh/refinement/cpp/CMakeLists.txt | 24 +-
bench/mesh/topology/cpp/CMakeLists.txt | 24 +-
bench/mesh/unitcube/cpp/CMakeLists.txt | 24 +-
cmake/modules/FindAMD.cmake | 4 +-
cmake/modules/FindBLAS.cmake | 16 +-
cmake/modules/FindBoost.cmake | 1861 +
cmake/modules/FindCHOLMOD.cmake | 12 +-
cmake/modules/FindCppUnit.cmake | 69 -
cmake/modules/FindLAPACK.cmake | 15 +-
cmake/modules/FindPETSc.cmake | 358 +-
cmake/modules/FindParMETIS.cmake | 6 +-
cmake/modules/FindSCOTCH.cmake | 10 +-
cmake/modules/FindSLEPc.cmake | 284 +-
cmake/modules/FindUFC.cmake | 2 +-
cmake/modules/FindUMFPACK.cmake | 8 +-
cmake/modules/language_support_v2.cmake | 65 -
cmake/scripts/codesnippets.py | 33 +-
.../{copy-swig-files => copy-swig-files.py} | 13 +-
...{copy-test-demo-data => copy-test-demo-data.py} | 17 +-
cmake/scripts/download-demo-data | 74 -
cmake/scripts/generate-all | 20 -
...{generate-cmakefiles => generate-cmakefiles.py} | 62 +-
cmake/scripts/generate-demo-files.py | 56 +
cmake/scripts/generate-form-files | 81 -
cmake/scripts/generate-form-files.py | 95 +
cmake/scripts/generate-local | 18 -
...swig-docstrings => generate-swig-docstrings.py} | 1 -
...e-swig-interface => generate-swig-interface.py} | 280 +-
cmake/templates/DOLFINConfig.cmake.in | 11 +-
cmake/templates/UseDOLFIN.cmake.in | 22 +
cmake/templates/dolfin-config-version.cmake.in | 16 -
cmake/templates/dolfin-config.cmake.in | 56 -
data/README | 3 +
demo/CMakeLists.txt | 106 +-
.../auto-adaptive-poisson/cpp/AdaptivePoisson.h | 15409 ----
.../auto-adaptive-poisson/cpp/AdaptivePoisson.ufl | 32 -
.../cpp/AdaptivePoisson.ufl.rst | 25 +
.../auto-adaptive-poisson/cpp/CMakeLists.txt | 24 +-
.../auto-adaptive-poisson/cpp/compile.log | 3177 -
.../auto-adaptive-poisson/cpp/documentation.rst | 6 -
demo/documented/auto-adaptive-poisson/cpp/main.cpp | 103 -
.../auto-adaptive-poisson/cpp/main.cpp.rst | 92 +
.../python/demo_auto-adaptive-poisson.py | 237 +-
.../python/demo_auto-adaptive-poisson.py.rst | 260 +
.../auto-adaptive-poisson/python/documentation.rst | 152 -
demo/documented/bcs/cpp/CMakeLists.txt | 24 +-
demo/documented/bcs/cpp/Poisson.h | 519 +-
demo/documented/bcs/cpp/compile.log | 257 -
demo/documented/biharmonic/common.txt | 82 -
demo/documented/biharmonic/cpp/Biharmonic.h | 9331 --
demo/documented/biharmonic/cpp/Biharmonic.ufl | 50 -
demo/documented/biharmonic/cpp/Biharmonic.ufl.rst | 50 +
demo/documented/biharmonic/cpp/CMakeLists.txt | 24 +-
demo/documented/biharmonic/cpp/compile.log | 1213 -
demo/documented/biharmonic/cpp/documentation.rst | 213 -
demo/documented/biharmonic/cpp/main.cpp | 101 -
demo/documented/biharmonic/cpp/main.cpp.rst | 224 +
.../biharmonic/python/demo_biharmonic.py | 173 +-
.../biharmonic/python/demo_biharmonic.py.rst | 193 +
.../documented/biharmonic/python/documentation.rst | 141 -
demo/documented/built-in-meshes/cpp/CMakeLists.txt | 24 +-
.../built-in-meshes/cpp/documentation.rst | 6 -
demo/documented/built-in-meshes/cpp/main.cpp | 73 -
demo/documented/built-in-meshes/cpp/main.cpp.rst | 68 +
.../built-in-meshes/python/demo_built-in-meshes.py | 138 +-
...cumentation.rst => demo_built-in-meshes.py.rst} | 79 +-
demo/documented/cahn-hilliard/cpp/CMakeLists.txt | 26 +-
.../cahn-hilliard/cpp/CahnHilliard2D.cpp | 1210 +-
demo/documented/cahn-hilliard/cpp/CahnHilliard2D.h | 53 +-
.../cahn-hilliard/cpp/CahnHilliard3D.cpp | 2163 +-
demo/documented/cahn-hilliard/cpp/CahnHilliard3D.h | 53 +-
demo/documented/cahn-hilliard/cpp/compile.log | 7104 --
demo/documented/cahn-hilliard/cpp/main.cpp | 144 +-
.../cahn-hilliard/python/demo_cahn-hilliard.py | 277 +-
...documentation.rst => demo_cahn-hilliard.py.rst} | 200 +-
demo/documented/eigenvalue/cpp/CMakeLists.txt | 24 +-
demo/documented/eigenvalue/cpp/StiffnessMatrix.h | 5242 --
demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl | 28 -
.../eigenvalue/cpp/StiffnessMatrix.ufl.rst | 11 +
demo/documented/eigenvalue/cpp/compile.log | 222 -
demo/documented/eigenvalue/cpp/documentation.rst | 3 -
demo/documented/eigenvalue/cpp/main.cpp | 72 -
demo/documented/eigenvalue/cpp/main.cpp.rst | 66 +
.../eigenvalue/python/demo_eigenvalue.py | 94 +-
.../{documentation.rst => demo_eigenvalue.py.rst} | 105 +-
demo/documented/hyperelasticity/cpp/CMakeLists.txt | 24 +-
.../hyperelasticity/cpp/HyperElasticity.h | 4109 +-
demo/documented/hyperelasticity/cpp/compile.log | 1319 -
.../hyperelasticity/python/demo_hyperelasticity.py | 139 +-
...cumentation.rst => demo_hyperelasticity.py.rst} | 60 +-
demo/documented/maxwell-eigenvalues/cpp/README | 2 +
.../python/demo_maxwell-eigenvalues.py | 277 +
.../python/demo_maxwell-eigenvalues.py.rst | 277 +
demo/documented/mixed-poisson-dual/common.txt | 75 -
.../mixed-poisson-dual/cpp/CMakeLists.txt | 45 -
.../mixed-poisson-dual/cpp/MixedPoissonDual.h | 14786 ----
.../mixed-poisson-dual/cpp/MixedPoissonDual.ufl | 38 -
demo/documented/mixed-poisson-dual/cpp/compile.log | 316 -
.../mixed-poisson-dual/cpp/documentation.rst | 211 -
demo/documented/mixed-poisson-dual/cpp/main.cpp | 86 -
.../mixed-poisson-dual_sigma.png | Bin 31670 -> 0 bytes
.../mixed-poisson-dual/mixed-poisson-dual_u.png | Bin 39242 -> 0 bytes
.../python/demo_mixed-poisson-dual.py | 78 -
.../mixed-poisson-dual/python/documentation.rst | 144 -
demo/documented/mixed-poisson/common.txt | 99 -
demo/documented/mixed-poisson/cpp/CMakeLists.txt | 24 +-
demo/documented/mixed-poisson/cpp/MixedPoisson.h | 8350 --
demo/documented/mixed-poisson/cpp/MixedPoisson.ufl | 37 -
.../mixed-poisson/cpp/MixedPoisson.ufl.rst | 44 +
demo/documented/mixed-poisson/cpp/compile.log | 328 -
demo/documented/mixed-poisson/cpp/main.cpp | 107 -
demo/documented/mixed-poisson/cpp/main.cpp.rst | 280 +
.../mixed-poisson/python/demo_mixed-poisson.py | 241 +-
...documentation.rst => demo_mixed-poisson.py.rst} | 169 +-
.../mixed-poisson/python/mixed-poisson_sigma.png | Bin 0 -> 78506 bytes
.../mixed-poisson/python/mixed-poisson_u.png | Bin 0 -> 34205 bytes
demo/documented/navier-stokes/cpp/CMakeLists.txt | 24 +-
demo/documented/navier-stokes/cpp/PressureUpdate.h | 816 +-
.../navier-stokes/cpp/TentativeVelocity.h | 862 +-
demo/documented/navier-stokes/cpp/VelocityUpdate.h | 824 +-
demo/documented/navier-stokes/cpp/compile.log | 2510 -
demo/documented/neumann-poisson/cpp/CMakeLists.txt | 24 +-
demo/documented/neumann-poisson/cpp/Poisson.h | 525 +-
demo/documented/neumann-poisson/cpp/compile.log | 292 -
.../nonlinear-poisson/cpp/CMakeLists.txt | 24 +-
.../nonlinear-poisson/cpp/NonlinearPoisson.h | 302 +-
demo/documented/nonlinear-poisson/cpp/compile.log | 489 -
.../python/demo_nonlinear-poisson.py | 227 +-
...mentation.rst => demo_nonlinear-poisson.py.rst} | 125 +-
.../nonlinear-poisson/{ => python}/plot_u.png | Bin
.../{ => python}/plot_u_gradient.png | Bin
.../nonmatching-interpolation/cpp/CMakeLists.txt | 24 +-
.../nonmatching-interpolation/cpp/P1.ufl.rst | 14 +
.../nonmatching-interpolation/cpp/P3.ufl.rst | 14 +
.../nonmatching-interpolation/cpp/main.cpp.rst | 112 +
.../python/demo_nonmatching-interpolation.py | 55 +
.../python/demo_nonmatching-interpolation.py.rst | 55 +
demo/documented/periodic/cpp/CMakeLists.txt | 24 +-
demo/documented/periodic/cpp/Poisson.h | 296 +-
demo/documented/periodic/cpp/compile.log | 164 -
demo/documented/poisson/common.txt | 54 -
demo/documented/poisson/cpp/CMakeLists.txt | 24 +-
demo/documented/poisson/cpp/Poisson.h | 4022 -
demo/documented/poisson/cpp/Poisson.ufl | 34 -
demo/documented/poisson/cpp/Poisson.ufl.rst | 37 +
demo/documented/poisson/cpp/compile.log | 208 -
demo/documented/poisson/cpp/documentation.rst | 225 -
demo/documented/poisson/cpp/main.cpp | 101 -
demo/documented/poisson/cpp/main.cpp.rst | 216 +
demo/documented/poisson/python/demo_poisson.py | 190 +-
.../{documentation.rst => demo_poisson.py.rst} | 123 +-
demo/documented/poisson/python/poisson_u.png | Bin 0 -> 35484 bytes
demo/documented/singular-poisson-rst/common.txt | 78 +
demo/documented/singular-poisson-rst/cpp/README | 1 +
.../python/demo_singular-poisson-rst.py | 201 +
.../python/demo_singular-poisson-rst.py.rst | 201 +
.../singular-poisson-rst/python/singular_u.png | Bin 0 -> 45179 bytes
.../documented/singular-poisson-rst/singular_u.png | Bin 0 -> 45179 bytes
.../documented/singular-poisson/cpp/CMakeLists.txt | 24 +-
demo/documented/singular-poisson/cpp/Poisson.h | 311 +-
demo/documented/singular-poisson/cpp/compile.log | 208 -
demo/documented/singular-poisson/cpp/main.cpp | 53 +-
.../python/demo_singular-poisson.py | 54 +-
.../documented/stokes-iterative/cpp/CMakeLists.txt | 24 +-
demo/documented/stokes-iterative/cpp/Stokes.h | 2758 +-
.../stokes-iterative/cpp/StokesPreconditioner.h | 2461 +-
demo/documented/stokes-iterative/cpp/compile.log | 1020 -
.../stokes-taylor-hood/cpp/CMakeLists.txt | 24 +-
demo/documented/stokes-taylor-hood/cpp/Stokes.h | 1020 +-
demo/documented/stokes-taylor-hood/cpp/compile.log | 340 -
demo/documented/subdomains/cpp/CMakeLists.txt | 24 +-
.../adaptive-poisson/cpp/CMakeLists.txt | 39 -
.../advection-diffusion/cpp/AdvectionDiffusion.h | 700 +-
.../advection-diffusion/cpp/CMakeLists.txt | 24 +-
.../advection-diffusion/cpp/Velocity.h | 389 +-
.../advection-diffusion/cpp/compile.log | 312 -
demo/undocumented/ale/cpp/CMakeLists.txt | 24 +-
.../cpp/AdaptiveNavierStokes.h | 5644 +-
.../auto-adaptive-navier-stokes/cpp/CMakeLists.txt | 24 +-
.../auto-adaptive-navier-stokes/cpp/compile.log | 20645 -----
demo/undocumented/block-matrix/cpp/CMakeLists.txt | 24 +-
.../block-matrix/cpp/StiffnessMatrix.h | 290 +-
demo/undocumented/block-matrix/cpp/compile.log | 386 -
demo/undocumented/coloring/cpp/CMakeLists.txt | 24 +-
demo/undocumented/conditional/cpp/CMakeLists.txt | 24 +-
demo/undocumented/conditional/cpp/Conditional.h | 453 +-
demo/undocumented/conditional/cpp/compile.log | 304 -
.../contact-vi-snes/cpp/CMakeLists.txt | 24 +-
.../contact-vi-snes/cpp/HyperElasticity.h | 1250 +-
demo/undocumented/contact-vi-snes/cpp/compile.log | 439 -
.../undocumented/contact-vi-tao/cpp/CMakeLists.txt | 24 +-
demo/undocumented/contact-vi-tao/cpp/Elasticity.h | 406 +-
demo/undocumented/contact-vi-tao/cpp/compile.log | 334 -
demo/undocumented/contact-vi-tao/cpp/main.cpp | 2 +-
demo/undocumented/curl-curl/cpp/CMakeLists.txt | 24 +-
demo/undocumented/curl-curl/cpp/CurrentDensity.h | 802 +-
demo/undocumented/curl-curl/cpp/EddyCurrents.h | 792 +-
demo/undocumented/curl-curl/cpp/P1Space.h | 184 +-
demo/undocumented/curl-curl/cpp/compile.log | 1251 -
.../cpp/AdvectionDiffusion.h | 962 +-
.../dg-advection-diffusion/cpp/CMakeLists.txt | 24 +-
.../dg-advection-diffusion/cpp/Projection.h | 402 +-
.../dg-advection-diffusion/cpp/Velocity.h | 389 +-
.../dg-advection-diffusion/cpp/compile.log | 2405 -
demo/undocumented/dg-poisson/cpp/CMakeLists.txt | 24 +-
demo/undocumented/dg-poisson/cpp/Poisson.h | 462 +-
demo/undocumented/dg-poisson/cpp/compile.log | 1621 -
demo/undocumented/elasticity/cpp/CMakeLists.txt | 24 +-
demo/undocumented/elasticity/cpp/Elasticity.h | 1187 +-
demo/undocumented/elasticity/cpp/compile.log | 1840 -
.../undocumented/elastodynamics/cpp/CMakeLists.txt | 24 +-
demo/undocumented/elastodynamics/cpp/DG0_eps_xx.h | 400 +-
.../elastodynamics/cpp/ElastoDynamics.h | 421 +-
demo/undocumented/elastodynamics/cpp/compile.log | 1037 -
demo/undocumented/eval/cpp/CMakeLists.txt | 24 +-
demo/undocumented/eval/cpp/Projection.h | 910 +-
demo/undocumented/eval/cpp/compile.log | 260 -
demo/undocumented/extrapolation/cpp/CMakeLists.txt | 24 +-
demo/undocumented/extrapolation/cpp/P1.h | 114 +-
demo/undocumented/extrapolation/cpp/P2.h | 156 +-
demo/undocumented/extrapolation/cpp/compile.log | 116 -
demo/undocumented/functional/cpp/CMakeLists.txt | 24 +-
demo/undocumented/functional/cpp/EnergyNorm.h | 452 +-
demo/undocumented/functional/cpp/compile.log | 472 -
demo/undocumented/ghost-mesh/python/.gitignore | 1 -
demo/undocumented/interpolation/cpp/CMakeLists.txt | 39 -
demo/undocumented/lift-drag/cpp/CMakeLists.txt | 24 +-
demo/undocumented/lift-drag/cpp/Functionals.h | 318 +-
demo/undocumented/lift-drag/cpp/compile.log | 548 -
demo/undocumented/mesh-quality/cpp/CMakeLists.txt | 24 +-
demo/undocumented/mesh-quality/python/.gitignore | 1 -
.../meshfunction-refinement/cpp/CMakeLists.txt | 24 +-
demo/undocumented/mplot/python/.gitignore | 2 -
.../multimesh-poisson/cpp/CMakeLists.txt | 24 +-
.../multimesh-poisson/cpp/MultiMeshPoisson.h | 356 +-
.../undocumented/multimesh-poisson/cpp/compile.log | 367 -
.../multimesh-stokes/cpp/CMakeLists.txt | 24 +-
.../multimesh-stokes/cpp/MultiMeshStokes.h | 1080 +-
demo/undocumented/multimesh-stokes/cpp/Stokes.h | 1020 +-
demo/undocumented/multimesh-stokes/cpp/compile.log | 977 -
.../nonmatching-interpolation/cpp/P1.h | 1179 -
.../nonmatching-interpolation/cpp/P1.ufl | 27 -
.../nonmatching-interpolation/cpp/P3.h | 3038 -
.../nonmatching-interpolation/cpp/P3.ufl | 27 -
.../nonmatching-interpolation/cpp/compile.log | 116 -
.../nonmatching-interpolation/cpp/main.cpp | 70 -
.../python/demo_nonmatching-interpolation.py | 47 -
.../nonmatching-projection/cpp/CMakeLists.txt | 24 +-
.../nonmatching-projection/cpp/P1_projection.h | 648 +-
demo/undocumented/nonmatching-projection/cpp/P3.h | 351 +-
.../nonmatching-projection/cpp/compile.log | 221 -
.../parallel-refinement/cpp/CMakeLists.txt | 24 +-
demo/undocumented/parameters/cpp/CMakeLists.txt | 24 +-
demo/undocumented/plot/cpp/CMakeLists.txt | 24 +-
demo/undocumented/poisson-disc/cpp/CMakeLists.txt | 24 +-
demo/undocumented/poisson-disc/cpp/PoissonDisc.h | 530 +-
demo/undocumented/poisson-disc/cpp/compile.log | 2073 -
.../poisson1D-in-2D/cpp/CMakeLists.txt | 24 +-
demo/undocumented/poisson1D-in-2D/cpp/Poisson.h | 218 +-
demo/undocumented/poisson1D-in-2D/cpp/compile.log | 165 -
demo/undocumented/poisson1D/cpp/CMakeLists.txt | 24 +-
demo/undocumented/poisson1D/cpp/Poisson.h | 206 +-
demo/undocumented/poisson1D/cpp/compile.log | 162 -
.../projection-interpolation/cpp/CMakeLists.txt | 39 -
demo/undocumented/refinement/cpp/CMakeLists.txt | 24 +-
demo/undocumented/smoothing/cpp/CMakeLists.txt | 39 -
.../spatial-coordinates/cpp/CMakeLists.txt | 24 +-
.../spatial-coordinates/cpp/SpatialCoordinates.h | 492 +-
.../spatial-coordinates/cpp/compile.log | 994 -
demo/undocumented/submesh/cpp/CMakeLists.txt | 24 +-
.../sym-dirichlet-bc/cpp/CMakeLists.txt | 24 +-
demo/undocumented/sym-dirichlet-bc/cpp/Poisson.h | 311 +-
demo/undocumented/sym-dirichlet-bc/cpp/compile.log | 208 -
demo/undocumented/time-series/cpp/CMakeLists.txt | 24 +-
demo/undocumented/timing/python/.gitignore | 1 -
demo/undocumented/waveguide/cpp/CMakeLists.txt | 24 +-
demo/undocumented/waveguide/cpp/Forms.h | 1376 +-
demo/undocumented/waveguide/cpp/compile.log | 1146 -
doc/requirements.txt | 1 +
doc/source/conf.py | 141 +-
doc/source/contributing.rst | 57 +
doc/source/demos.rst | 139 +
doc/source/index.rst | 4 +-
doc/source/installation.rst | 71 +-
dolfin/CMakeLists.txt | 126 +-
dolfin/adaptivity/CMakeLists.txt | 26 +
dolfin/adaptivity/ErrorControl.cpp | 9 +-
dolfin/ale/CMakeLists.txt | 44 +
dolfin/ale/Poisson1D.h | 2263 -
dolfin/ale/Poisson2D.h | 3357 -
dolfin/ale/Poisson3D.h | 5242 --
dolfin/ale/compile.log | 443 -
dolfin/common/CMakeLists.txt | 34 +
dolfin/common/SubSystemsManager.cpp | 47 +-
dolfin/common/SubSystemsManager.h | 20 +-
dolfin/common/utils.h | 21 +-
dolfin/fem/AssemblerBase.cpp | 5 +-
dolfin/fem/CMakeLists.txt | 66 +
dolfin/fem/DirichletBC.cpp | 54 +-
dolfin/fem/DirichletBC.h | 1 +
dolfin/fem/DofMap.cpp | 21 -
dolfin/fem/DofMap.h | 12 -
dolfin/fem/DofMapBuilder.cpp | 16 +-
dolfin/fem/DofMapBuilder.h | 6 +-
dolfin/fem/GenericDofMap.h | 5 -
dolfin/fem/LinearVariationalProblem.cpp | 21 +-
dolfin/fem/LocalSolver.cpp | 5 +-
dolfin/fem/MultiMeshDirichletBC.cpp | 20 +-
dolfin/fem/NonlinearVariationalProblem.cpp | 26 +-
dolfin/fem/SystemAssembler.cpp | 74 +-
dolfin/fem/assemble.cpp | 16 +
dolfin/fem/assemble.h | 2 +
dolfin/fem/fem_utils.cpp | 2 +
dolfin/function/CMakeLists.txt | 38 +
dolfin/function/Function.cpp | 29 +-
dolfin/function/Function.h | 4 +-
dolfin/function/FunctionAXPY.cpp | 53 +-
dolfin/function/FunctionAXPY.h | 26 +-
dolfin/function/FunctionAssigner.cpp | 185 +-
dolfin/function/FunctionSpace.cpp | 36 +-
dolfin/function/FunctionSpace.h | 21 +-
dolfin/function/MultiMeshCoefficientAssigner.cpp | 13 +
dolfin/function/MultiMeshCoefficientAssigner.h | 2 +
dolfin/function/MultiMeshFunction.cpp | 19 +
dolfin/function/MultiMeshFunction.h | 30 +-
dolfin/function/SpecialFacetFunction.cpp | 11 +-
dolfin/function/SpecialFacetFunction.h | 11 +
dolfin/function/SpecialFunctions.cpp | 2 +-
dolfin/generation/CMakeLists.txt | 27 +
dolfin/geometry/CMakeLists.txt | 25 +
dolfin/graph/CMakeLists.txt | 21 +
dolfin/io/CMakeLists.txt | 55 +
dolfin/io/HDF5File.cpp | 128 +-
dolfin/io/HDF5File.h | 10 +-
dolfin/io/HDF5Interface.cpp | 19 +
dolfin/io/HDF5Interface.h | 15 +
dolfin/io/X3DOM.cpp | 450 +-
dolfin/io/X3DOM.h | 73 +-
dolfin/io/XDMFFile.cpp | 2688 +-
dolfin/io/XDMFFile.h | 262 +-
dolfin/io/XDMFxml.cpp | 539 -
dolfin/io/XDMFxml.h | 146 -
dolfin/io/XMLFile.cpp | 16 +-
dolfin/io/XMLTable.cpp | 61 +
dolfin/io/XMLTable.h | 4 +
dolfin/la/CMakeLists.txt | 98 +
dolfin/la/PETScKrylovSolver.cpp | 6 +-
dolfin/la/PETScLUSolver.cpp | 2 +-
dolfin/la/PETScLinearOperator.cpp | 4 +
dolfin/la/PETScObject.cpp | 57 +
dolfin/la/PETScObject.h | 16 +-
dolfin/la/PETScOptions.cpp | 15 +-
dolfin/la/PETScOptions.h | 19 +-
dolfin/log/CMakeLists.txt | 21 +
dolfin/math/CMakeLists.txt | 12 +
dolfin/mesh/CMakeLists.txt | 91 +
dolfin/mesh/Cell.h | 27 +-
dolfin/mesh/CellType.cpp | 24 +-
dolfin/mesh/CellType.h | 13 +-
dolfin/mesh/DistributedMeshTools.cpp | 33 +-
dolfin/mesh/DistributedMeshTools.h | 6 +-
dolfin/mesh/HexahedronCell.cpp | 3 +-
dolfin/mesh/HexahedronCell.h | 2 +-
dolfin/mesh/IntervalCell.cpp | 2 +-
dolfin/mesh/IntervalCell.h | 2 +-
dolfin/mesh/Mesh.cpp | 7 +
dolfin/mesh/Mesh.h | 3 +
dolfin/mesh/MeshEntity.h | 19 +-
dolfin/mesh/MeshFunction.h | 2 +-
dolfin/mesh/MeshGeometry.h | 8 -
dolfin/mesh/MeshOrdering.cpp | 4 +-
dolfin/mesh/MeshPartitioning.h | 3 +-
dolfin/mesh/MeshTopology.cpp | 2 +-
dolfin/mesh/MeshTopology.h | 6 +-
dolfin/mesh/PointCell.cpp | 2 +-
dolfin/mesh/PointCell.h | 2 +-
dolfin/mesh/QuadrilateralCell.cpp | 3 +-
dolfin/mesh/QuadrilateralCell.h | 2 +-
dolfin/mesh/TetrahedronCell.cpp | 2 +-
dolfin/mesh/TetrahedronCell.h | 2 +-
dolfin/mesh/TopologyComputation.cpp | 5 +-
dolfin/mesh/TriangleCell.cpp | 2 +-
dolfin/mesh/TriangleCell.h | 2 +-
dolfin/multistage/CMakeLists.txt | 12 +
dolfin/multistage/MultiStageScheme.cpp | 102 +-
dolfin/nls/CMakeLists.txt | 16 +
dolfin/nls/PETScSNESSolver.cpp | 47 +-
dolfin/nls/TAOLinearBoundSolver.cpp | 3 +
dolfin/parameter/CMakeLists.txt | 12 +
dolfin/plot/CMakeLists.txt | 25 +
dolfin/plot/VTKPlotter.h | 8 -
dolfin/refinement/CMakeLists.txt | 18 +
dolfin/refinement/LocalMeshCoarsening.cpp | 4 +-
dolfin/refinement/ParallelRefinement.cpp | 2 +-
dolfin/swig/CMakeLists.txt | 19 +-
dolfin/swig/adaptivity/docstrings.i | 2 +-
dolfin/swig/ale/docstrings.i | 2 +-
dolfin/swig/common/docstrings.i | 8 +-
dolfin/swig/common/pre.i | 23 +-
dolfin/swig/fem/docstrings.i | 31 +-
dolfin/swig/function/docstrings.i | 67 +-
dolfin/swig/function/post.i | 28 +-
dolfin/swig/function/pre.i | 77 +-
dolfin/swig/generation/docstrings.i | 2 +-
dolfin/swig/geometry/docstrings.i | 2 +-
dolfin/swig/graph/docstrings.i | 2 +-
dolfin/swig/io/docstrings.i | 124 +-
dolfin/swig/io/post.i | 3 +-
dolfin/swig/la/docstrings.i | 2 +-
dolfin/swig/la/post.i | 10 +-
dolfin/swig/log/docstrings.i | 2 +-
dolfin/swig/math/docstrings.i | 2 +-
dolfin/swig/mesh/docstrings.i | 29 +-
dolfin/swig/mesh/post.i | 21 +-
dolfin/swig/modules/common/CMakeLists.txt | 11 +-
dolfin/swig/modules/common/dependencies.txt | 2 +-
dolfin/swig/modules/common/module.i | 7 +-
dolfin/swig/modules/fem/CMakeLists.txt | 11 +-
dolfin/swig/modules/fem/dependencies.txt | 2 +-
dolfin/swig/modules/fem/module.i | 2 +-
dolfin/swig/modules/function/CMakeLists.txt | 11 +-
dolfin/swig/modules/function/dependencies.txt | 2 +-
dolfin/swig/modules/function/module.i | 2 +-
dolfin/swig/modules/io/CMakeLists.txt | 11 +-
dolfin/swig/modules/io/dependencies.txt | 2 +-
dolfin/swig/modules/io/module.i | 2 +-
dolfin/swig/modules/la/CMakeLists.txt | 11 +-
dolfin/swig/modules/la/dependencies.txt | 2 +-
dolfin/swig/modules/la/module.i | 2 +-
dolfin/swig/modules/mesh/CMakeLists.txt | 11 +-
dolfin/swig/modules/mesh/dependencies.txt | 2 +-
dolfin/swig/modules/mesh/module.i | 2 +-
dolfin/swig/multistage/docstrings.i | 2 +-
dolfin/swig/nls/docstrings.i | 2 +-
dolfin/swig/parameter/docstrings.i | 2 +-
dolfin/swig/parameter/post.i | 13 +-
dolfin/swig/plot/docstrings.i | 2 +-
dolfin/swig/refinement/docstrings.i | 2 +-
dolfin/swig/shared_ptr_classes.i | 1 +
dolfin/swig/typemaps/std_vector.i | 2 +
site-packages/dolfin/common/plotting.py | 44 +-
.../dolfin/compilemodules/compilemodule.py | 133 +-
site-packages/dolfin/compilemodules/expressions.py | 65 +-
site-packages/dolfin/compilemodules/jit.py | 26 +-
site-packages/dolfin/compilemodules/subdomains.py | 20 +-
.../dolfin/compilemodules/swigimportinfo.py | 1815 +-
site-packages/dolfin/deprecation.py | 13 -
site-packages/dolfin/fem/assembling.py | 39 +-
site-packages/dolfin/fem/bcs.py | 4 +-
site-packages/dolfin/fem/form.py | 24 +-
site-packages/dolfin/fem/formmanipulations.py | 37 +-
site-packages/dolfin/fem/norms.py | 3 +-
site-packages/dolfin/fem/projection.py | 29 +-
site-packages/dolfin/functions/__init__.py | 5 +-
site-packages/dolfin/functions/expression.py | 24 +-
site-packages/dolfin/functions/function.py | 14 +-
site-packages/dolfin/functions/functionspace.py | 134 +-
.../dolfin/functions/multimeshfunction.py | 126 +
site-packages/dolfin/importhandler/__init__.py | 2 +-
site-packages/dolfin_utils/cppparser/utils.py | 10 +-
site-packages/dolfin_utils/pjobs/pjobs.py | 23 +-
site-packages/dolfin_utils/test/skips.py | 17 +
test/codingstyle/test_coding_style.py.in | 2 +-
test/data/README | 5 +-
test/data/aneurysm.xml | 85368 +++++++++++++++++++
test/data/aneurysm.xml.gz | Bin 703208 -> 0 bytes
test/data/boxes.xml | 2473 +
test/data/boxes.xml.gz | Bin 16611 -> 0 bytes
test/data/doughnut.xml | 1072 +
test/data/doughnut.xml.gz | Bin 15843 -> 0 bytes
test/data/intersecting_surfaces.xml | 5515 ++
test/data/intersecting_surfaces.xml.gz | Bin 39191 -> 0 bytes
test/data/manifest.xml | 62 +
test/data/snake.xml | 9487 +++
test/data/snake.xml.gz | Bin 95055 -> 0 bytes
test/documentation/README | 1 -
test/documentation/test.py | 40 -
test/documentation/verify_demo_code_snippets.py | 196 -
test/regression/test.py | 36 +-
test/unit/CMakeLists.txt | 2 +-
test/unit/cpp/CMakeLists.txt | 12 +-
test/unit/cpp/function/Projection.h | 910 +-
test/unit/cpp/function/compile.log | 260 -
test/unit/cpp/la/forms/ReactionDiffusion.h | 296 +-
test/unit/cpp/la/forms/ReactionDiffusionAction.h | 275 +-
test/unit/cpp/la/forms/compile.log | 319 -
test/unit/python/book/test_chapter_10.py | 16 +-
test/unit/python/fem/test_assembler.py | 2 +-
test/unit/python/fem/test_dirichlet_bc.py | 2 +-
test/unit/python/fem/test_local_solver.py | 8 +-
test/unit/python/fem/test_manifolds.py | 2 +-
test/unit/python/fem/test_solving.py | 26 +
.../python/fem/test_symbolic_geometry_assembly.py | 15 +-
test/unit/python/fem/tetrahedron.xml | 15 +
test/unit/python/fem/tetrahedron.xml.gz | Bin 254 -> 0 bytes
test/unit/python/function/test_expression.py | 6 +-
test/unit/python/function/test_function_space.py | 41 +
test/unit/python/io/test_HDF5.py | 10 +
test/unit/python/io/test_XDMF.py | 366 +-
test/unit/python/io/test_XML_table.py | 48 +
test/unit/python/jit/test_jit.py | 4 +-
test/unit/python/la/test_petsc.py | 1 +
test/unit/python/mesh/test_cell.py | 17 +-
test/unit/python/mesh/test_mesh.py | 18 +-
test/unit/python/mesh/test_mesh_quality.py | 4 +-
test/unit/python/mesh/test_sub_domain.py | 28 +-
test/unit/python/mesh/test_sub_mesh.py | 2 +-
test/unit/python/multimesh/test_multimesh.py | 62 +
test/unit/python/nls/test_PETScSNES_solver.py | 4 +-
.../python/nls/test_TAO_linear_bound_solver.py | 2 +-
.../test_solve_result_against_reference.py | 6 +-
utils/pylit/LICENSE | 341 +
utils/pylit/README.rst | 51 +
utils/pylit/pylit.py | 1873 +
utils/x3dom/README.rst | 27 +
utils/x3dom/x3dom_support.css | 162 +
utils/x3dom/x3dom_support.js | 364 +
571 files changed, 173539 insertions(+), 160900 deletions(-)
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 5851e86..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,137 +0,0 @@
-# Compiled source
-*.o
-*.Plo
-*.Po
-*.lo
-*.la
-*.a
-*.os
-*.pyc
-*.so
-*.pc
-*.pyd
-*.def
-*.dll
-*.exe
-*.dylib
-dolfin/libdolfin.so*
-
-# FFC generated code in library
-dolfin/ale/Poisson*D.h
-
-# FFC generated code in benchmarks
-bench/fem/convergence/cpp/Poisson2D_1.cpp
-bench/fem/convergence/cpp/Poisson2D_2.cpp
-bench/fem/convergence/cpp/Poisson2D_3.cpp
-bench/fem/convergence/cpp/Poisson2D_4.cpp
-bench/fem/convergence/cpp/Poisson2D_5.cpp
-bench/fem/convergence/cpp/Poisson3D_1.cpp
-bench/fem/convergence/cpp/Poisson3D_2.cpp
-bench/fem/convergence/cpp/Poisson3D_3.cpp
-bench/fem/convergence/cpp/Poisson3D_4.cpp
-
-# Log files
-*.log
-
-# Install directory
-/local
-/local.*
-
-# SWIG generated files
-dolfin/swig/**/**/*.py
-dolfin/swig/**/**/*.h
-dolfin/swig/**/**/*.cc
-dolfin/swig/**/**/*.cxx
-dolfin/swig/**/**/module.i
-dolfin/swig/**/**/dependencies.txt
-swigimportinfo.py
-
-# Documentation
-docstrings.i
-
-# Configuration files
-dolfin.conf
-dolfin-version
-dolfin-config.cmake
-DOLFINConfig.cmake
-DOLFINConfigVersion.cmake
-UseDOLFIN.cmake
-dolfin-config-version.cmake
-
-# Demos and tests
-build_demo.*
-test_*_tempdir
-test/unit/mesh/{cpp,python}/*.{xml,m}
-test/unit/parameter/{cpp,python}/*.{xml,xml.gz}
-bench/**/**/cpp/forms/*.h
-bench/**/**/cpp/*.h
-test/unit/**/python/*.xml
-test/unit/**/cpp/*.xml
-test/unit/cpp/function/Projection.h
-test/unit/cpp/la/forms/ReactionDiffusion.h
-test/unit/cpp/la/forms/ReactionDiffusionAction.h
-test/unit/cpp/multimesh/MultiMeshStokes2D.h
-test/**/.cache/
-
-# FFC generated demo files
-demo/**/**/cpp/*.h
-demo/documented/cahn-hilliard/cpp/CahnHilliard2D.cpp
-demo/documented/cahn-hilliard/cpp/CahnHilliard3D.cpp
-
-
-# QT generated code
-moc_*
-
-# Temporaries
-*~
-
-# Compressed files
-*.xz
-*.gz
-*.zs-old
-
-# Data files
-*.pvd
-*.pvtu
-*.vtu
-*.h5
-*.xdmf
-*.bin
-
-# CMake and Make file
-CMakeLists.txt
-!/CMakeLists.txt
-!dolfin/CMakeLists.txt
-!bench/CMakeLists.txt
-!dolfin/swig/CMakeLists.txt
-!doc/CMakeLists.txt
-!demo/CMakeLists.txt
-!test/unit/CMakeLists.txt
-!test/unit/cpp/CMakeLists.txt
-
-
-CMakeCache.txt
-CMakeFiles
-cmake_install.cmake
-cmake_uninstall.cmake
-Makefile
-install_manifest.txt
-
-# Local build files
-/build
-/build.*/
-
-# OS X files
-.DS_Store
-.DS_Store?
-
-# Eclipse files
-.*project
-.settings
-
-cmake.local
-
-# Google Test Files
-/GoogleTest/
-
-build/
\ No newline at end of file
diff --git a/.mailmap b/.mailmap
deleted file mode 100644
index 1d87877..0000000
--- a/.mailmap
+++ /dev/null
@@ -1,34 +0,0 @@
-# Mapping of commit names to canonical names. This is useful for
-# listing contributions from users who have either changed email
-# addresses or did not configure their user names correctly at
-# time of a commit.
-#
-# See 'git help shortlog' for details.
-
-Benjamin Kehlet <benjamik at simula.no>
-Benjamin Kehlet <benjamik at simula.no> Benjamin Kehlet <benjamik at ifi.uio.no>
-Benjamin Kehlet <benjamik at simula.no> Benjamin Kehlet <benjamik at login.ifi.uio.no>
-
-Anders Logg <logg at simula.no>
-Anders Logg <logg at simula.no> logg
-Anders Logg <logg at simula.no> Anders Logg <logg at glaurung>
-Anders Logg <logg at simula.no> Anders Logg <logg at olorin>
-Anders Logg <logg at simula.no> Anders Logg <logg at tti-c.org>
-Anders Logg <logg at simula.no> logg <devnull at localhost>
-Anders Logg <logg at simula.no> logg <logg at bigblue.simula.no>
-Anders Logg <logg at simula.no> logg <logg at bunjil.simula.no>
-Anders Logg <logg at simula.no> logg <logg at olorin>
-
-Garth N. Wells <gnw20 at cam.ac.uk>
-Garth N. Wells <gnw20 at cam.ac.uk> Garth N. Wells <g.n.wells at tudelft.nl>
-Garth N. Wells <gnw20 at cam.ac.uk> Garth N. Wells <garth at garth-laptop>
-Garth N. Wells <gnw20 at cam.ac.uk> Garth N. Wells <garth at gnw20pc>
-Garth N. Wells <gnw20 at cam.ac.uk> Garth N. Wells <gnw20 at cam.ac.uk>
-Garth N. Wells <gnw20 at cam.ac.uk> Garth Wells <gnw20 at cam.ac.uk>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at debian.eng.cam.ac.uk>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at fedora32-virtual>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at gnw20pc>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at home-laptop>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at localhost.localdomain>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at ubuntu.eng.cam.ac.uk>
-Garth N. Wells <gnw20 at cam.ac.uk> garth <garth at ubuntu32-virtual>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7126f4b..e8aa7bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
# Top level CMakeLists.txt file for DOLFIN
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
#------------------------------------------------------------------------------
# Set project name and version number
@@ -9,7 +9,7 @@ cmake_minimum_required(VERSION 2.8)
project(DOLFIN)
set(DOLFIN_VERSION_RELEASE 1)
set(DOLFIN_VERSION_MAJOR "2016")
-set(DOLFIN_VERSION_MINOR "1")
+set(DOLFIN_VERSION_MINOR "2")
set(DOLFIN_VERSION_MICRO "0")
set(DOLFIN_VERSION "${DOLFIN_VERSION_MAJOR}.${DOLFIN_VERSION_MINOR}.${DOLFIN_VERSION_MICRO}")
if (NOT DOLFIN_VERSION_RELEASE)
@@ -17,16 +17,25 @@ if (NOT DOLFIN_VERSION_RELEASE)
endif()
#------------------------------------------------------------------------------
+# Require and use C++11
+
+# Use C++11
+set(CMAKE_CXX_STANDARD 11)
+
+# Require C++11
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+# Do not enable compler-specific extensions
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+#------------------------------------------------------------------------------
# Check compiler version
# Check for GCC version - earlier versions have insuffcient C++11
-# support, or bugs. Version info is only available in CMake 2.8.0 and
-# later.
-if (NOT CMAKE_VERSION VERSION_LESS 2.8.10)
- if (CMAKE_COMPILER_IS_GNUCXX)
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
- message(FATAL_ERROR "GCC version must be at least 4.6 (for sufficient C++11 support. You have version ${CMAKE_CXX_COMPILER_VERSION}")
- endif()
+# support, or bugs.
+if (CMAKE_COMPILER_IS_GNUCXX)
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8.3)
+ message(FATAL_ERROR "GCC version must be at least 4.8.3 (for sufficient C++11 support and to avoid some compiler bugs). You have version ${CMAKE_CXX_COMPILER_VERSION}")
endif()
endif()
@@ -54,9 +63,7 @@ endif()
if (COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
cmake_policy(SET CMP0004 NEW)
- if(POLICY CMP0042)
- cmake_policy(SET CMP0042 NEW)
- endif()
+ cmake_policy(SET CMP0042 NEW)
endif()
# Set location of our FindFoo.cmake modules
@@ -74,15 +81,15 @@ include(FeatureSummary)
option(BUILD_SHARED_LIBS "Build DOLFIN with shared libraries." ON)
option(CMAKE_USE_RELATIVE_PATHS "Use relative paths in makefiles and projects." OFF)
option(DOLFIN_AUTO_DETECT_MPI "Detect MPI automatically (turn this off to use the MPI compiler wrappers directly via setting CXX, CXX, FC)." ON)
-option(DOLFIN_ENABLE_CODE_COVERAGE "Enable code coverage." OFF)
-option(DOLFIN_WITH_LIBRARY_VERSION "Build with library version information." ON)
-option(DOLFIN_ENABLE_TESTING "Enable testing." OFF)
-option(DOLFIN_ENABLE_GTEST "Enable C++ unit tests with Google Test if DOLFIN_ENABLE_TESTING is true (requires Internet connection to download Google Test when first configured)." ON)
+option(DOLFIN_DEPRECATION_ERROR "Turn deprecation warnings into errors." OFF)
option(DOLFIN_ENABLE_BENCHMARKS "Enable benchmark programs." OFF)
+option(DOLFIN_ENABLE_CODE_COVERAGE "Enable code coverage." OFF)
option(DOLFIN_ENABLE_DOCS "Enable generation of documentation." ON)
-option(DOLFIN_SKIP_BUILD_TESTS "Skip build tests for testing usability of dependency packages." OFF)
-option(DOLFIN_DEPRECATION_ERROR "Turn deprecation warnings into errors." OFF)
+option(DOLFIN_ENABLE_GTEST "Enable C++ unit tests with Google Test if DOLFIN_ENABLE_TESTING is true (requires Internet connection to download Google Test when first configured)." ON)
+option(DOLFIN_ENABLE_TESTING "Enable testing." OFF)
option(DOLFIN_IGNORE_PETSC4PY_VERSION "Ignore version of PETSc4py." OFF)
+option(DOLFIN_SKIP_BUILD_TESTS "Skip build tests for testing usability of dependency packages." OFF)
+option(DOLFIN_WITH_LIBRARY_VERSION "Build with library version information." ON)
add_feature_info(BUILD_SHARED_LIBS BUILD_SHARED_LIBS "Build DOLFIN with shared libraries.")
add_feature_info(CMAKE_USE_RELATIVE_PATHS CMAKE_USE_RELATIVE_PATHS "Use relative paths in makefiles and projects.")
@@ -151,6 +158,9 @@ foreach (OPTIONAL_PACKAGE ${OPTIONAL_PACKAGES})
add_feature_info(${OPTION_NAME} ${OPTION_NAME} "Compile with support for ${OPTIONAL_PACKAGE}.")
endforeach()
+# Python version
+option(DOLFIN_USE_PYTHON3 "Use Python 3." OFF)
+
#------------------------------------------------------------------------------
# General compiler defintions
@@ -185,44 +195,6 @@ if (HAVE_PEDANTIC)
set(DOLFIN_CXX_DEVELOPER_FLAGS "-Wall -Werror -pedantic ${DOLFIN_CXX_DEVELOPER_FLAGS}")
endif()
-# Workaround https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/1352356
-# NOTE: Remove this block when bug is fixed upstream or GCC 4.6
-# support is dropped
-if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- if (NOT DEFINED CMAKE_CXX_COMPILER_VERSION)
- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
- OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION)
- endif()
- if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.7" AND
- "${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER "4.5.99")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
- endif()
-endif()
-
-if (CYGWIN OR (WIN32 AND UNIX))
- # Use -std=gnu++11 instead of -std=c++11 on Cygwin to work around
- # problem when using vsnprintf.
- CHECK_CXX_COMPILER_FLAG(-std=gnu++11 HAVE_STD_GNUPP11)
- if (HAVE_STD_GNUPP11)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
- else()
- CHECK_CXX_COMPILER_FLAG(-std=gnu++0x HAVE_STD_GNUPP0x)
- if (HAVE_STD_GNUPP0x)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
- endif()
- endif()
-else()
- CHECK_CXX_COMPILER_FLAG(-std=c++11 HAVE_STD_CPP11)
- if (HAVE_STD_CPP11)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- else()
- CHECK_CXX_COMPILER_FLAG(-std=c++0x HAVE_STD_CPP0x)
- if (HAVE_STD_CPP0x)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
- endif()
- endif()
-endif()
-
# Debug flags
CHECK_CXX_COMPILER_FLAG(-g HAVE_DEBUG)
if (HAVE_DEBUG)
@@ -268,8 +240,8 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
endif()
endif()
-# Set system include flags to get around CMake bug on OSX with gcc
-# See http://public.kitware.com/Bug/print_bug_page.php?bug_id=10837
+# Set system include flags to get around CMake bug on OSX with gcc See
+# http://public.kitware.com/Bug/print_bug_page.php?bug_id=10837
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ")
endif()
@@ -282,16 +254,6 @@ if (APPLE)
endif()
#------------------------------------------------------------------------------
-# Enable Fortran if available. Used for some configuration tests (e.g. BLAS)
-
-# This workaround address a CMake bug (http://cmake.org/Bug/view.php?id=9220)
-include(language_support_v2)
-workaround_9220(Fortran Fortran_language_works)
-if (Fortran_language_works)
- enable_language(Fortran OPTIONAL)
-endif()
-
-#------------------------------------------------------------------------------
# Check type sizes
include(CheckTypeSize)
@@ -313,13 +275,9 @@ if (DOLFIN_ENABLE_MPI)
set_package_properties(MPI PROPERTIES TYPE OPTIONAL
DESCRIPTION "Message Passing Interface (MPI)"
PURPOSE "Enables DOLFIN to run in parallel with MPI")
- if (MPI_CXX_FOUND)
- set(MPI_FOUND TRUE)
- endif()
else()
# Assume user has set MPI compiler wrappers (via CXX, etc or
# CMAKE_CXX_COMPILER, etc)
- set(MPI_FOUND TRUE)
set(MPI_CXX_FOUND TRUE)
set(MPI_C_FOUND TRUE)
endif()
@@ -352,12 +310,25 @@ endif()
set(Boost_NO_BOOST_CMAKE true)
set(Boost_USE_MULTITHREADED $ENV{BOOST_USE_MULTITHREADED})
-set(Boost_ADDITIONAL_VERSIONS 1.48 1.48.0 1.49 1.49.0 1.50 1.50.0)
-
find_package(Boost 1.48 QUIET REQUIRED)
-set(DOLFIN_BOOST_COMPONENTS filesystem program_options system iostreams timer)
-find_package(Boost COMPONENTS ${DOLFIN_BOOST_COMPONENTS} REQUIRED)
+# Boost public/private libraries to link to.
+# Note: These should all be private as they do not appear in the
+# DOLFIN public interface , but there is a linking issues with older
+# Boost or CMake. Ubuntu 16.04 requires linking DOLFIN programs with
+# filesystem, whereas Ubuntu 16.10 and macOS (Homebrew) do not.
+if (Boost_VERSION VERSION_LESS 106100)
+ set(DOLFIN_BOOST_COMPONENTS_PUBLIC filesystem)
+ set(DOLFIN_BOOST_COMPONENTS_PRIVATE program_options iostreams timer)
+else()
+ set(DOLFIN_BOOST_COMPONENTS_PUBLIC)
+ set(DOLFIN_BOOST_COMPONENTS_PRIVATE filesystem program_options iostreams
+ timer)
+endif()
+
+# Find required Boost libraries
+find_package(Boost COMPONENTS
+ ${DOLFIN_BOOST_COMPONENTS_PUBLIC} ${DOLFIN_BOOST_COMPONENTS_PRIVATE} REQUIRED)
set_package_properties(Boost PROPERTIES TYPE REQUIRED
DESCRIPTION "Boost C++ libraries"
URL "http://www.boost.org")
@@ -374,8 +345,12 @@ set_package_properties(Eigen3 PROPERTIES TYPE REQUIRED
# Note: Check for Python interpreter even when Python is disabled
# because it is used to get the installation path for
# dolfin_utils
-# FIXME PY3: Select python 3 based on config flag?
-find_package(PythonInterp 2)
+if (DOLFIN_USE_PYTHON3)
+ find_package(PythonInterp 3)
+else()
+ find_package(PythonInterp 2.7)
+endif()
+
set_package_properties(PythonInterp PROPERTIES TYPE REQUIRED
DESCRIPTION "Interactive high-level object-oriented language"
URL "http://www.python.org")
@@ -388,15 +363,15 @@ if (DOLFIN_ENABLE_PYTHON)
if (PYTHONINTERP_FOUND)
# Get Python include path from Python interpretter
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
- "import distutils.sysconfig, sys; sys.stdout.write(distutils.sysconfig.get_python_inc())"
- OUTPUT_VARIABLE _PYTHON_INCLUDE_PATH
- RESULT_VARIABLE _PYTHON_INCLUDE_RESULT)
+ "import distutils.sysconfig, sys; sys.stdout.write(distutils.sysconfig.get_python_inc())"
+ OUTPUT_VARIABLE _PYTHON_INCLUDE_PATH
+ RESULT_VARIABLE _PYTHON_INCLUDE_RESULT)
# Get Python library path from interpreter
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
- "import os, sys, inspect; sys.stdout.write(os.path.split(os.path.split(inspect.getfile(inspect))[0])[0])"
- OUTPUT_VARIABLE _PYTHON_LIB_PATH
- RESULT_VARIABLE _PYTHON_LIB_RESULT)
+ "import os, sys, inspect; sys.stdout.write(os.path.split(os.path.split(inspect.getfile(inspect))[0])[0])"
+ OUTPUT_VARIABLE _PYTHON_LIB_PATH
+ RESULT_VARIABLE _PYTHON_LIB_RESULT)
# Set include path, if returned by interpreter
if ("${_PYTHON_INCLUDE_RESULT}" STREQUAL "0")
@@ -458,7 +433,7 @@ if (DOLFIN_ENABLE_PYTHON)
endif()
# Check for required package UFC
-find_package(UFC MODULE 2016.1)
+find_package(UFC MODULE 2016.2)
set_package_properties(UFC PROPERTIES TYPE REQUIRED
DESCRIPTION "Unified language for form-compilers (part of FFC)"
URL "https://bitbucket.org/fenics-project/ffc")
@@ -553,7 +528,7 @@ if (DOLFIN_ENABLE_HDF5)
set(ENV{HDF5_ROOT} "$ENV{HDF5_DIR}")
endif()
set(HDF5_PREFER_PARALLEL TRUE)
- find_package(HDF5)
+ find_package(HDF5 COMPONENTS C)
set_package_properties(HDF5 PROPERTIES TYPE OPTIONAL
DESCRIPTION "Hierarchical Data Format 5 (HDF5)"
URL "https://www.hdfgroup.org/HDF5")
@@ -905,55 +880,81 @@ install(FILES ${CMAKE_BINARY_DIR}/dolfin-get-demos
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
COMPONENT RuntimeExecutables)
+#------------------------------------------------------------------------------
+# Generate demo files from rst
+
+message(STATUS "")
+message(STATUS "Generating demo source files from reStructuredText")
+message(STATUS "--------------------------------------------------")
+file(GLOB_RECURSE demo_rst_files "*.py.rst" "*.cpp.rst" "*.ufl.rst")
+foreach(rst_file ${demo_rst_files})
+ execute_process(COMMAND ./utils/pylit/pylit.py ${rst_file}
+ WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR})
+ #add_custom_command(TARGET demos_source PRE_BUILD
+ # COMMAND COMMAND ./utils/pylit/pylit.py ${rst_file}
+ # WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+endforeach()
#------------------------------------------------------------------------------
-# Generate form files for tests, bench, demos and dolfin if not exists
+# Generate form files for tests, bench, demos and DOLFIN if not exists
# FIXME: Generate files in Build directory instead, at least for
# bench, demo and tests
set(COPY_DEMO_TEST_DEMO_DATA FALSE)
if (NOT EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/Poisson.h)
message(STATUS "")
- message(STATUS "Generating form files in demo, test, bench and dolfin directories. May take some time...")
+ message(STATUS "Generating form files in demo, test and bench directories. May take some time...")
message(STATUS "----------------------------------------------------------------------------------------")
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-form-files
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-form-files.py
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
RESULT_VARIABLE FORM_GENERATION_RESULT
OUTPUT_VARIABLE FORM_GENERATION_OUTPUT
ERROR_VARIABLE FORM_GENERATION_OUTPUT
- OUTPUT_QUIET)
- if (FORM_GENERATION_RESULT)
+ )
+ if (FORM_GENERATION_RESULT)
# Cleanup so download is triggered next time we run cmake
if (EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/Poisson.h)
file(REMOVE ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/Poisson.h)
endif()
-
message(FATAL_ERROR "Generation of form files failed: \n${FORM_GENERATION_OUTPUT}")
endif()
set(COPY_DEMO_TEST_DEMO_DATA TRUE)
endif()
#------------------------------------------------------------------------------
-# Generate CMakeLists.txt files for bench and demos if not
-# exists
+# Generate demo files from rst
+
+message(STATUS "")
+message(STATUS "Generating demo source files")
+message(STATUS "--------------------------------------------------")
+file(GLOB_RECURSE demo_rst_files "*.py.rst" "*.cpp.rst")
+foreach(rst_file ${demo_rst_files})
+ execute_process(COMMAND ./utils/pylit/pylit.py ${rst_file}
+ WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR})
+endforeach()
+
+#------------------------------------------------------------------------------
+# Generate CMakeLists.txt files for bench and demos if not exists
+
# FIXME: Generate files in Build directory instead?
# NOTE: We need to call this script after generate-formfiles
+
if (NOT EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/CMakeLists.txt)
message(STATUS "")
message(STATUS "Generating CMakeLists.txt files in demo, test and bench directories")
message(STATUS "-------------------------------------------------------------------")
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-cmakefiles
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-cmakefiles.py
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
RESULT_VARIABLE CMAKE_GENERATION_RESULT
OUTPUT_VARIABLE CMAKE_GENERATION_OUTPUT
ERROR_VARIABLE CMAKE_GENERATION_OUTPUT
- OUTPUT_QUIET)
+ )
if (CMAKE_GENERATION_RESULT)
- # Cleanup so download is triggered next time we run cmake
+ # Cleanup so FFC rebuild is triggered next time we run cmake
if (EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/CMakeLists.txt)
file(REMOVE ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/CMakeLists.txt)
endif()
@@ -964,45 +965,21 @@ if (NOT EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/poisson/cpp/CMakeLists.txt)
endif()
#------------------------------------------------------------------------------
-# Check if data is downloaded
+# Copy data in demo/bench/test direcories to the build directories
-if (NOT EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/eigenvalue/box_with_dent.xml.gz)
- # FIXME: What if we do not have internet connection
- message(STATUS "")
- message(STATUS "Download demo and test data. May take some time...")
- message(STATUS "--------------------------------------------------")
- execute_process(
- COMMAND ${DOLFIN_SOURCE_DIR}/cmake/scripts/download-demo-data
- WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
- RESULT_VARIABLE DOWNLOAD_DEMO_DATA_RESULT
- OUTPUT_VARIABLE DOWNLOAD_DEMO_DATA_OUTPUT
- ERROR_VARIABLE DOWNLOAD_DEMO_DATA_OUTPUT
- OUTPUT_QUIET)
- if (DOWNLOAD_DEMO_DATA_RESULT)
-
- # Cleanup so download is triggered next time we run cmake
- if (EXISTS ${DOLFIN_SOURCE_DIR}/demo/documented/eigenvalue/box_with_dent.xml.gz)
- file(REMOVE ${DOLFIN_SOURCE_DIR}/demo/documented/eigenvalue/box_with_dent.xml.gz)
- endif()
- message(WARNING "Download failed: \n${DOWNLOAD_DEMO_DATA_OUTPUT}")
- endif()
- set(COPY_DEMO_TEST_DEMO_DATA TRUE)
-endif()
+# FIXME: We should probably just generate them directly in the build
+# directory...
-# If data have been generated or downloaded in the demo/bench/test direcories
-# we need to copy them to the build directories
-# FIXME: We should probably just generate them directly in the build directory...
if (COPY_DEMO_TEST_DEMO_DATA)
message(STATUS "")
message(STATUS "Copying demo and test data to build directory.")
message(STATUS "----------------------------------------------")
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-test-demo-data ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-test-demo-data.py ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
RESULT_VARIABLE COPY_DEMO_DATA_RESULT
OUTPUT_VARIABLE COPY_DEMO_DATA_OUTPUT
- ERROR_VARIABLE COPY_DEMO_DATA_OUTPUT
- OUTPUT_QUIET)
+ ERROR_VARIABLE COPY_DEMO_DATA_OUTPUT)
if (COPY_DEMO_DATA_RESULT)
message(FATAL_ERROR "Copy demo data failed: \n${COPY_DEMO_DATA_OUTPUT}")
endif()
@@ -1021,25 +998,36 @@ else()
set(MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}")
endif()
+# Add taget to build .py demo files from Python rst input files, and
+# create a target to build source files from .cpp.rst and .py.rst
+# files (using pylit)
+file(GLOB_RECURSE rst_files "*.py.rst" "*.cpp.rst")
+add_custom_target(demos_source)
+foreach(rst_file ${rst_files})
+ add_custom_command(TARGET demos_source PRE_BUILD
+ COMMAND COMMAND ./utils/pylit/pylit.py ${rst_file}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+endforeach()
+
# Add target "demo" for building the demos
add_custom_target(demo
COMMAND ${MAKE_PROGRAM}
- DEPENDS copy_data_test_demo
+ DEPENDS copy_data_test_demo demos_source
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/demo")
# Install the demo source files
install(DIRECTORY demo DESTINATION ${DOLFIN_SHARE_DIR}
- FILES_MATCHING
- PATTERN "CMakeLists.txt"
- PATTERN "*.cpp"
- PATTERN "*.ufl"
- PATTERN "*.h"
- PATTERN "*.py"
- PATTERN "*.xml*"
- PATTERN "*.off"
- PATTERN "CMakeFiles" EXCLUDE)
-
-# Install meshes (data directory)
+ FILES_MATCHING
+ PATTERN "CMakeLists.txt"
+ PATTERN "*.cpp"
+ PATTERN "*.ufl"
+ PATTERN "*.h"
+ PATTERN "*.py"
+ PATTERN "*.xml*"
+ PATTERN "*.off"
+ PATTERN "CMakeFiles" EXCLUDE)
+
+ # Install meshes (data directory)
install(DIRECTORY data DESTINATION ${DOLFIN_SHARE_DIR})
#------------------------------------------------------------------------------
@@ -1103,9 +1091,9 @@ if (DOLFIN_ENABLE_TESTING)
# Add alias for unittests_cpp
add_custom_target(tests DEPENDS unittests_cpp)
- # Add target "run_memorytests" for running memory tests
+ # Add target "copy_data_test_demo"
add_custom_target(copy_data_test_demo
- COMMAND ${PYTHON_EXECUTABLE} "-B" ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-test-demo-data ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} "-B" ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-test-demo-data.py ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# Add target "run_memorytests" for running memory tests
@@ -1117,7 +1105,7 @@ if (DOLFIN_ENABLE_TESTING)
# Add target "run_regressiontests" for running regression tests
add_custom_target(run_regressiontests
COMMAND ${PYTHON_EXECUTABLE} "-B" "test.py"
- DEPENDS copy_data_test_demo demo
+ DEPENDS copy_data_test_demo demo demos_source
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test/regression")
# Add target "run_unittests" for running unit tests
@@ -1126,29 +1114,23 @@ if (DOLFIN_ENABLE_TESTING)
# Add target "run_unittests_py" for running Python unit tests
add_custom_target(run_unittests_py
- COMMAND ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-vs"
+ COMMAND ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-s"
DEPENDS copy_data_test_demo
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test/unit/python")
# Add target "run_unittests_py_mpi" for running Python unit tests with mpi
add_custom_target(run_unittests_py_mpi
- COMMAND ${MPIEXEC} "-np" "3" "./mpipipe.sh" ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-vs"
+ COMMAND ${MPIEXEC} "-np" "3" "./mpipipe.sh" ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-s"
DEPENDS copy_data_test_demo
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test/unit/python")
# Add target "run_quicktest" for running only Python unit tests not
# marked as 'slow'
add_custom_target(run_quicktest
- COMMAND ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-vs" "-k" "'not" "slow'"
+ COMMAND ${PYTHON_EXECUTABLE} "-B" "-u" "-m" "pytest" "-s" "-k" "'not" "slow'"
DEPENDS copy_data_test_demo
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test/unit/python")
- # Add target "run_doctest" for running documentation tests
- add_custom_target(run_doctest
- COMMAND ${PYTHON_EXECUTABLE} "-B" "test.py"
- DEPENDS copy_data_test_demo
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test/documentation")
-
# Add target "run_styletest" for running documentation tests
add_custom_target(run_styletest
COMMAND ${PYTHON_EXECUTABLE} "-B" "test_coding_style.py"
@@ -1161,7 +1143,7 @@ if (DOLFIN_ENABLE_TESTING)
# Add target "runtests" for running all tests
add_custom_target(runtests
- DEPENDS run_doctest run_regressiontests run_unittests run_styletest)
+ DEPENDS run_regressiontests run_unittests run_styletest)
endif()
#------------------------------------------------------------------------------
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 786e0ad..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,1466 +0,0 @@
-2016.1.0 [2016-06-23]
-- Remove support for 'uint'-valued MeshFunction (replaced by 'size_t')
-- Major performance improvements and simplifications of the XDMF IO.
-- Remove Zoltan graph partitioning interface
-- Add new algorithm for computing mesh entiites. Typical speed-up
- of two with gcc and four with clang. Reduced memory usage for
- meshes with irregularly numbered cells.
-- Remove STLMatrix, STLVector, MUMPSLUSolver and PastixLUSolver classes
-- Remove PETScPreconditioner::set_near_nullspace and add
- PETScMatrix::set_near_nullspace
-- Build system updates for VTK 7.0
-- Remove XDMF from File interface. XDMF is XML based, and has many
- possibilities for file access, which are not accessible through
- the limited File interface and "<<" ">>" operators. Instead of
- File, use XDMFFile, and use XDMFFile.read() and XDMFFile.write()
- for I/O. Demos and tests have been updated to show usage. XDMF
- now also supports ASCII I/O in serial, useful for compatibility
- with users who do not have the HDF5 library available.
-- Require polynomial degree or finite element for Expressions in
- the Python interface (fixes Issue #355,
- https://bitbucket.org/fenics-project/dolfin/issues/355)
-- Switch to Google Test framwork for C++ unit tests
-- Fix bug when reading domain data from mesh file for a ghosted mesh
-- Add interface for manipulating mesh geometry using (higher-order) FE
- functions: free functions set_coordinates, get_coordinates, create_mesh
-- Fix bug when reading domain data from mesh file for a ghosted mesh.
-- Remove reference versions of constructors for many classes that
- store a pointer/reference to the object passed to the
- constructor. This is an intrusive interface change for C++ users,
- but necessary to improve code maintainabilty and to improve memory
- safety. The Python interface is (virtually) unaffected.
-- Remove class SubSpace. Using FunctionSpace::sub(...) instead
-- Remove reference versions constructors of NonlinearVariationalSolver
-- Remove setting of bounds from NonlinearVariationalSolver (was
- already available through NonlinearVariationalProblem)
-- Update Trilinos support to include Amesos2, and better support from Python
-- Rewrite interface of TensorLayout and SparsityPattern; local-to-global
- maps now handled using new IndexMap class; GenericSparsityPattern
- class removed
-- Remove QT (was an optional dependency)
-- PETScTAOSolver::solve() now returns a pair of number of
- iterations (std::size_t) and whether iteration converged (bool)
-- Better quality refinement in 2D in Plaza algorithm, by choosing refinement
- pattern based on max/min edge ratio
-- Removed refine_cell() method in CellTypes
-- Enable marker refinement to work in parallel for 1D meshes too
-- Add std::abort to Python exception hook to avoid parallel deadlocks
-- Extend dof_to_vertex_map with unowned dofs, thus making dof_to_vertex_map
- an inverse of vertex_to_dof_map
-- Clean-up in PyDOLFIN function space design, issue #576
-- Deprecate MixedFunctionSpace and EnrichedFunctionSpace in favour of
- initialization by suitable UFL element
-- Add experimental matplotlib-based plotting backend, see mplot demo
-- Remove method argument of DirichletBC::get_boundary_values()
-- Change return types of free functions adapt() to shared_ptr
-1.6.0 [2015-07-28]
-- Remove redundant pressure boundary condition in Stokes demos
-- Require Point in RectangleMesh and BoxMesh constructors
-- Remove BinaryFile (TimeSeries now requires HDF5)
-- Add (highly experimental) support for Tpetra matrices and
- vectors from Trilinos, interfacing to Belos, Amesos2, IfPack2 and
- Muelu.
-- Enable (highly experimental) support for Quadrilateral and Hexahedral meshes,
- including some I/O, but no assembly yet.
-- Enable UMFPACK and CHOLMOD solvers with Eigen backend
-- Add an MPI_Comm to logger, currently defaulted to MPI_COMM_WORLD
- allowing better control over output in parallel
-- Experimental output of quadratic geometry in XDMF files,
- allows more exact visualisation of P2 Functions
-- Remove GenericMatrix::compressed (see Issue #61)
-- Deprecate and PETScKryloveSolver::set_nullspace() and add
- PETScMatrix::set_nullspace()
-- Remove uBLAS backend
-- Remove UmfpackLUSolver and CholmodSolver
-- Add EigenMatrix/Vector::data()
-- Remove GenericMatrix/Vector::data() and GenericMatrix/Vector::data()
- (to use backends that support data(), cast first to backend type, e.g.
- A = A.as_backend_type()
-- Remove cmake.local, replaced by fenics-install-component.sh
-- Make interior facet integrals define - and + cells ordered by cell_domains
- value.
-- Remove deprecated arguments *_domains from assemble() and Form().
-- Change measure definition notation from dx[mesh_function] to
- dx(subdomain_data=mesh_function).
-- Set locale to "C" before reading from file
-- Change GenericDofMap::cell_dofs return type from const std::vector<..>&
- to ArrayView<const ..>
-- Add ArrayView class for views into arrays
-- Change fall back linear algebra backend to Eigen
-- Add Eigen linear algebra backend
-- Remove deprecated GenericDofMap::geometric_dim function (fixes Issue #443)
-- Add quadrature rules for multimesh/cut-cell integration up to order 6
-- Implement MPI reductions and XML ouput of Table class
-- list_timings() is now collective and returns MPI average across processes
-- Add dump_timings_to_xml()
-- Add enum TimingType { wall, user, system } for selecting wall-clock,
- user and system time in timing routines
-- Bump required SWIG version to 3.0.3
-- Increase default maximum iterations in NewtonSolver to 50.
-- Deprecate Python free function homogenize(bc) in favour of member
- function DirichletBC::homogenize()
-1.5.0 [2015-01-12]
- - DG demos working in parallel
- - Simplify re-use of LU factorisations
- - CMake 3 compatibility
- - Make underlying SLEPc object accessible
- - Full support for linear algebra backends with 64-bit integers
- - Add smoothed aggregation AMG elasticity demo
- - Add support for slepc4py
- - Some self-assignment fixes in mesh data structures
- - Deprecated GenericDofMap::geometric_dimension()
- - Experimental support for ghosted meshes (overlapping region in parallel)
- - Significant memory reduction in dofmap storage
- - Re-write dofmap construction with significant performance and scaling
- improvements in parallel
- - Switch to local (process-wise) indexing for dof indices
- - Support local (process-wise) indexing in linear algerbra backends
- - Added support for PETSc 3.5, require version >= 3.3
- - Exposed DofMap::tabulate_local_to_global_dofs,
- MeshEntity::sharing_processes in Python
- - Added GenericDofmap::local_dimension("all"|"owned"|"unowned")
- - Added access to SLEPc or slepc4py EPS object of SLEPcEigenSolver
- (requires slepc4py version >= 3.5.1)
- - LinearOperator can now be accessed using petsc4py
- - Add interface (PETScTAOSolver) for the PETSc nonlinear (bound-constrained)
- optimisation solver (TAO)
- - Add GenericMatrix::nnz() function to return number of nonzero
- entries in matrix (fixes #110)
- - Add smoothed aggregation algerbraic multigrid demo for elasticity
- - Add argument 'function' to project, to store the result into a preallocated
- function
- - Remove CGAL dependency and mesh generation, now provided by mshr
- - Python 2.7 required
- - Add experimental Python 3 support. Need swig version 3.0.3 or later
- - Move to py.test, speed up unit tests and make tests more robust in parallel
- - Repeated initialization of PETScMatrix is now an error
- - MPI interface change: num_processes -> size, process_number -> rank
- - Add optional argument project(..., function=f), to avoid superfluous
- allocation
- - Remove excessive printing of points during extrapolation
- - Clean up DG demos by dropping restrictions of Constants: c('+') -> c
- - Fix systemassembler warning when a and L both provide the same subdomain
- data.
- - Require mesh instead of cell argument to FacetArea, FacetNormal,
- CellSize, CellVolume, SpatialCoordinate, Circumradius,
- MinFacetEdgeLength, MaxFacetEdgeLength
- - Remove argument reset_sparsity to assemble()
- - Simplify assemble() and Form() signature: remove arguments mesh,
- coefficients, function_spaces, common_cell. These are now
- all found by inspecting the UFL form
- - Speed up assembly of forms with multiple integrals depending on
- different functions, e.g. f*dx(1) + g*dx(2).
- - Handle accessing of GenericVectors using numpy arrays in python layer
- instead of in hard-to-maintain C++ layer
- - Add support for mpi groups in jit-compilation
- - Make access to HDFAttributes more dict like
- - Add 1st and 2nd order Rush Larsen schemes for the PointIntegralSolver
- - Add vertex assembler for PointIntegrals
- - Add support for assembly of custom_integral
- - Add support for multimesh assembly, function spaces, dofmaps and functions
- - Fix to Cell-Point collision detection to prevent Points inside the mesh
- from falling between Cells due to rounding errors
- - Enable reordering of cells and vertices in parallel via SCOTCH and the
- Giibs-Poole-Stockmeyer algorithm
- - Efficiency improvements in dof assignment in parallel, working on HPC up to
- 24000 cores
- - Introduction of PlazaRefinement methods based on refinement of the Mesh
- skeleton, giving better quality refinement in 3D in parallel
- - Basic support for 'ghost cells' allowing integration over interior facets in
- parallel
-1.4.0 [2014-06-02]
- - Feature: Add set_diagonal (with GenericVector) to GenericMatrix
- - Fix many bugs associated with cell orientations on manifolds
- - Force all global dofs to be ordered last and to be on the last process
- in parallel
- - Speed up dof reordering of mixed space including global dofs by removing
- the latter from graph reordering
- - Force all dofs on a shared facet to be owned by the same process
- - Add FEniCS ('fenics') Python module, identical with DOLFIN Python module
- - Add function Form::set_some_coefficients()
- - Remove Boost.MPI dependency
- - Change GenericMatrix::compresss to return a new matrix (7be3a29)
- - Add function GenericTensor::empty()
- - Deprecate resizing of linear algebra via the GenericFoo interfaces
- (fixes #213)
- - Deprecate MPI::process_number() in favour of MPI::rank(MPI_Comm)
- - Use PETSc built-in reference counting to manage lifetime of wrapped PETSc
- objects
- - Remove random access function from MeshEntityIterator (fixes #178)
- - Add support for VTK 6 (fixes #149)
- - Use MPI communicator in interfaces. Permits the creation of distributed and
- local objects, e.g. Meshes.
- - Reduce memory usage and increase speed of mesh topology computation
-1.3.0 [2014-01-07]
- - Feature: Enable assignment of sparse MeshValueCollections to MeshFunctions
- - Feature: Add free function assign that is used for sub function assignment
- - Feature: Add class FunctionAssigner that cache dofs for sub function
- assignment
- - Fix runtime dependency on checking swig version
- - Deprecate DofMap member methods vertex_to_dof_map and dof_to_vertex_map
- - Add free functions: vertex_to_dof_map and dof_to_vertex_map, and correct the
- ordering of the map.
- - Introduce CompiledSubDomain a more robust version of compiled_subdomains,
- which is now deprecated
- - CMake now takes care of calling the correct generate-foo script if so needed.
- - Feature: Add new built-in computational geometry library (BoundingBoxTree)
- - Feature: Add support for setting name and label to an Expression when
- constructed
- - Feature: Add support for passing a scalar GenericFunction as default value
- to a CompiledExpression
- - Feature: Add support for distance queries for 3-D meshes
- - Feature: Add PointIntegralSolver, which uses the MultiStageSchemes to solve
- local ODEs at Vertices
- - Feature: Add RKSolver and MultiStageScheme for general time integral solvers
- - Feature: Add support for assigning a Function with linear combinations of
- Functions, which lives in the same FunctionSpace
- - Added Python wrapper for SystemAssembler
- - Added a demo using compiled_extension_module with separate source files
- - Fixes for NumPy 1.7
- - Remove DOLFIN wrapper code (moved to FFC)
- - Add set_options_prefix to PETScKrylovSolver
- - Remove base class BoundarCondition
- - Set block size for PETScMatrix when available from TensorLayout
- - Add support to get block compressed format from STLMatrix
- - Add detection of block structures in the dofmap for vector equations
- - Expose PETSc GAMG parameters
- - Modify SystemAssembler to support separate assembly of A and b
-1.2.0 [2013-03-24]
- - Fixes bug where child/parent hierarchy in Python were destroyed
- - Add utility script dolfin-get-demos
- - MeshFunctions in python now support iterable protocol
- - Add timed VTK output for Mesh and MeshFunction in addtion to Functions
- - Expose ufc::dofmap::tabulate_entity_dofs to GenericDofMap interface
- - Expose ufc::dofmap::num_entity_dofs to GenericDofMap interface
- - Allow setting of row dof coordinates in preconditioners (only works with
- PETSc backed for now)
- - Expose more PETSc/ML parameters
- - Improve speed to tabulating coordinates in some DofMap functions
- - Feature: Add support for passing a Constant as default value to a
- CompiledExpression
- - Fix bug in dimension check for 1-D ALE
- - Remove some redundant graph code
- - Improvements in speed of parallel dual graph builder
- - Fix bug in XMDF output for cell-based Functions
- - Fixes for latest version of clang compiler
- - LocalSolver class added to efficiently solve cell-wise problems
- - New implementation of periodic boundary conditions. Now incorporated into
- the dofmap
- - Optional arguments to assemblers removed
- - SymmetricAssembler removed
- - Domains for assemblers can now only be attached to forms
- - SubMesh can now be constructed without a CellFunction argument, if the
- MeshDomain contains marked celldomains.
- - MeshDomains are propagated to a SubMesh during construction
- - Simplify generation of a MeshFunction from MeshDomains: No need to call
- mesh_function with mesh
- - Rename dolfin-config.cmake to DOLFINConfig.cmake
- - Use CMake to configure JIT compilation of extension modules
- - Feature: Add vertex_to_dof_map to DofMap, which map vertex indices to
- dolfin dofs
- - Feature: Add support for solving on m dimensional meshes embedded in n >= m
- dimensions
-1.1.0 [2013-01-08]
- - Add support for solving singular problems with Krylov solvers (PETSc only)
- - Add new typedef dolfin::la_index for consistent indexing with linear algebra
- backends.
- - Change default unsigned integer type to std::size_t
- - Add support to attaching operator null space to preconditioner
- (required for smoothed aggregation AMG)
- - Add basic interface to the PETSc AMG preconditioner
- - Make SCOTCH default graph partitioner (GNU-compatible free license, unlike
- ParMETIS)
- - Add scalable construction of mesh dual graph for mesh partitioning
- - Improve performance of mesh building in parallel
- - Add mesh output to SVG
- - Add support for Facet and cell markers to mesh converted from Diffpack
- - Add support for Facet and cell markers/attributes to mesh converted from
- Triangle
- - Change interface for auto-adaptive solvers: these now take the goal
- functional as a constructor argument
- - Add memory usage monitor: monitor_memory_usage()
- - Compare mesh hash in interpolate_vertex_values
- - Add hash() for Mesh and MeshTopology
- - Expose GenericVector::operator{+=,-=,+,-}(double) to Python
- - Add function Function::compute_vertex_values not needing a mesh argument
- - Add support for XDMF and HDF5
- - Add new interface LinearOperator for matrix-free linear systems
- - Remove MTL4 linear algebra backend
- - Rename down_cast --> as_type in C++ / as_backend_type in Python
- - Remove KrylovMatrix interface
- - Remove quadrature classes
- - JIT compiled C++ code can now include a dolfin namespace
- - Expression string parsing now understand C++ namespace such as std::cosh
- - Fix bug in Expression so one can pass min, max
- - Fix bug in SystemAssembler, where mesh.init(D-1, D) was not called before assemble
- - Fix bug where the reference count of Py_None was not increased
- - Fix bug in reading TimeSeries of size smaller than 3
- - Improve code design for Mesh FooIterators to avoid dubious down cast
- - Bug fix in destruction of PETSc user preconditioners
- - Add CellVolume(mesh) convenience wrapper to Python interface for UFL function
- - Fix bug in producing outward pointing normals of BoundaryMesh
- - Fix bug introduced by SWIG 2.0.5, where typemaps of templated typedefs
- are not handled correctly
- - Fix bug introduced by SWIG 2.0.5, which treated uint as Python long
- - Add check that sample points for TimeSeries are monotone
- - Fix handling of parameter "report" in Krylov solvers
- - Add new linear algebra backend "PETScCusp" for GPU-accelerated linear algebra
- - Add sparray method in the Python interface of GenericMatrix, requires scipy.sparse
- - Make methods that return a view of contiguous c-arrays, via a NumPy array, keep a reference from the object so it wont get out of scope
- - Add parameter: "use_petsc_signal_handler", which enables/disable PETSc system signals
- - Avoid unnecessary resize of result vector for A*b
- - MPI functionality for distributing values between neighbours
- - SystemAssembler now works in parallel with topological/geometric boundary search
- - New symmetric assembler with ability for stand-alone RHS assemble
- - Major speed-up of DirichletBC computation and mesh marking
- - Major speed-up of assembly of functions and expressions
- - Major speed-up of mesh topology computation
- - Add simple 2D and 3D mesh generation (via CGAL)
- - Add creation of mesh from triangulations of points (via CGAL)
- - Split the SWIG interface into six combined modules instead of one
- - Add has_foo to easy check what solver and preconditioners are available
- - Add convenience functions for listing available linear_algebra_backends
- - Change naming convention for cpp unit tests test.cpp -> Foo.cpp
- - Added cpp unit test for GenericVector::operator{-,+,*,/}= for all la backends
- - Add functionality for rotating meshes
- - Add mesh generation based on NETGEN constructive solid geometry
- - Generalize SparsityPattern and STLMatrix to support column-wise storage
- - Add interfaces to wrap PaStiX and MUMPS direct solvers
- - Add CoordinateMatrix class
- - Make STLMatrix work in parallel
- - Remove all tr1::tuple and use boost::tuple
- - Fix wrong link in Python quick reference.
-1.0.0 [2011-12-07]
- - Change return value of IntervalCell::facet_area() 0.0 --> 1.0.
- - Recompile all forms with FFC 1.0.0
- - Fix for CGAL 3.9 on OS X
- - Improve docstrings for Box and Rectangle
- - Check number of dofs on local patch in extrapolation
-1.0-rc2 [2011-11-28]
- - Fix bug in 1D mesh refinement
- - Fix bug in handling of subdirectories for TimeSeries
- - Fix logic behind vector assignment, especially in parallel
-1.0-rc1 [2011-11-21]
- - 33 bugs fixed
- - Implement traversal of bounding box trees for all codimensions
- - Edit and improve all error messages
- - Added [un]equality operator to FunctionSpace
- - Remove batch compilation of Expression (Expressions) from Python interface
- - Added get_value to MeshValueCollection
- - Added assignment operator to MeshValueCollection
-1.0-beta2 [2011-10-26]
- - Change search path of parameter file to ~/.fenics/dolfin_parameters.xml
- - Add functions Parameters::has_parameter, Parameters::has_parameter_set
- - Added option to store all connectivities in a mesh for TimeSeries (false by default)
- - Added option for gzip compressed binary files for TimeSeries
- - Propagate global parameters to Krylov and LU solvers
- - Fix OpenMp assemble of scalars
- - Make OpenMP assemble over sub domains work
- - DirichletBC.get_boundary_values, FunctionSpace.collapse now return a dict in Python
- - Changed name of has_la_backend to has_linear_algebra_backend
- - Added has_foo functions which can be used instead of the HAS_FOO defines
- - Less trict check on kwargs for compiled Expression
- - Add option to not right-justify tables
- - Rename summary --> list_timings
- - Add function list_linear_solver_methods
- - Add function list_lu_solver_methods
- - Add function list_krylov_solver_methods
- - Add function list_krylov_solver_preconditioners
- - Support subdomains in SystemAssembler (not for interior facet integrals)
- - Add option functionality apply("flush") to PETScMatrix
- - Add option finalize_tensor=true to assemble functions
- - Solver parameters can now be passed to solve
- - Remove deprecated function Variable::disp()
- - Remove deprecated function logging()
- - Add new class MeshValueCollection
- - Add new class MeshDomains replacing old storage of boundary markers
- as part of MeshData. The following names are no longer supported:
- * boundary_facet_cells
- * boundary_facet_numbers
- * boundary_indicators
- * material_indicators
- * cell_domains
- * interior_facet_domains
- * exterior_facet_domains
- - Rename XML tag <meshfunction> --> <mesh_function>
- - Rename SubMesh data "global_vertex_indices" --> "parent_vertex_indices"
- - Get XML input/output of boundary markers working again
- - Get FacetArea working again
-1.0-beta [2011-08-11]
- - Print percentage of non-zero entries when computing sparsity patterns
- - Use ufl.Real for Constant in Python interface
- - Add Dirichlet boundary condition argument to Python project function
- - Add remove functionality for parameter sets
- - Added out typemap for vector of shared_ptr objects
- - Fix typemap bug for list of shared_ptr objects
- - Support parallel XML vector io
- - Add support for gzipped XML output
- - Use pugixml for XML output
- - Move XML SAX parser to libxml2 SAX2 interface
- - Simplify XML io
- - Change interface for variational problems, class VariationalProblem removed
- - Add solve interface: solve(a == L), solve(F == 0)
- - Add new classes Linear/NonlinearVariationalProblem
- - Add new classes Linear/NonlinearVariationalSolver
- - Ad form class aliases ResidualForm and Jacobian form in wrapper code
- - Default argument to variables in Expression are passed as kwargs in the
- Python interface
- - Add has_openmp as utility function in Python interface
- - Add improved error reporting using dolfin_error
- - Use Boost to compute Legendre polynolials
- - Remove ode code
- - Handle parsing of unrecognized command-line parameters
- - All const std::vector<foo>& now return a read-only NumPy array
- - Make a robust macro for generating a NumPy array from data
- - Exposing low level fem functionality to Python, by adding a
- Cell -> ufc::cell typemap
- - Added ufl_cell as a method to Mesh in Python interface
- - Fix memory leak in Zoltan interface
- - Remove some 'new' for arrays in favour of std::vector
- - Added cell as an optional argument to Constant
- - Prevent the use of non contiguous NumPy arrays for most typemaps
- - Point can now be used to evaluate a Function or Expression in Python
- - Fixed dimension check for Function and Expression eval in Python
- - Fix compressed VTK output for tensors in 2D
-0.9.11 [2011-05-16]
- - Change license from LGPL v2.1 to LGPL v3 or later
- - Moved meshconverter to dolfin_utils
- - Add support for conversion of material markers for Gmsh meshes
- - Add support for point sources (class PointSource)
- - Rename logging --> set_log_active
- - Add parameter "clear_on_write" to TimeSeries
- - Add support for input/output of nested parameter sets
- - Check for dimensions in linear solvers
- - Add support for automated error control for variational problems
- - Add support for refinement of MeshFunctions after mesh refinement
- - Change order of test and trial spaces in Form constructors
- - Make SWIG version >= 2.0 a requirement
- - Recognize subdomain data in Assembler from both Form and Mesh
- - Add storage for subdomains (cell_domains etc) in Form class
- - Rename MeshData "boundary facet cells" --> "boundary_facet_cells"
- - Rename MeshData "boundary facet numbers" --> "boundary_facet_numbers"
- - Rename MeshData "boundary indicators" --> "boundary_indicators"
- - Rename MeshData "exterior facet domains" --> "exterior_facet_domains"
- - Updates for UFC 2.0.1
- - Add FiniteElement::evaluate_basis_derivatives_all
- - Add support for VTK output of facet-based MeshFunctions
- - Change default log level from PROGRESS to INFO
- - Add copy functions to FiniteElement and DofMap
- - Simplify DofMap
- - Interpolate vector values when reading from time series
-0.9.10 [2011-02-23]
- - Updates for UFC 2.0.0
- - Handle TimeSeries stored backward in time (automatic reversal)
- - Automatic storage of hierarchy during refinement
- - Remove directory/library 'main', merged into 'common'
- - dolfin_init --> init, dolfin_set_precision --> set_precision
- - Remove need for mesh argument to functional assembly when possible
- - Add function set_output_stream
- - Add operator () for evaluation at points for Function/Expression in C++
- - Add abs() to GenericVector interface
- - Fix bug for local refinement of manifolds
- - Interface change: VariationalProblem now takes: a, L or F, (dF)
- - Map linear algebra objects to processes consistently with mesh parition
- - Lots of improvemenst to parallel assembly, dof maps and linear algebra
- - Add lists supported_elements and supported_elements_for_plotting in Python
- - Add script dolfin-plot for plotting meshes and elements from the command-line
- - Add support for plotting elements from Python
- - Add experimental OpenMP assembler
- - Thread-safe fixed in Function class
- - Make GenericFunction::eval thread-safe (Data class removed)
- - Optimize and speedup topology computation (mesh.init())
- - Add function Mesh::clean() for cleaning out auxilliary topology data
- - Improve speed and accuracy of timers
- - Fix bug in 3D uniform mesh refinement
- - Add built-in meshes UnitTriangle and UnitTetrahedron
- - Only create output directories when they don't exist
- - Make it impossible to set the linear algebra backend to something illegal
- - Overload value_shape instead of dim for userdefined Python Expressions
- - Permit unset parameters
- - Search only for BLAS library (not cblas.h)
-0.9.9 [2010-09-01]
- - Change build system to CMake
- - Add named MeshFunctions: VertexFunction, EdgeFunction, FaceFunction, FacetFunction, CellFunction
- - Allow setting constant boundary conditions directly without using Constant
- - Allow setting boundary conditions based on string ("x[0] == 0.0")
- - Create missing directories if specified as part of file names
- - Allow re-use of preconditioners for most backends
- - Fixes for UMFPACK solver on some 32 bit machines
- - Provide access to more Hypre preconditioners via PETSc
- - Updates for SLEPc 3.1
- - Improve and implement re-use of LU factorizations for all backends
- - Fix bug in refinement of MeshFunctions
-0.9.8 [2010-07-01]
- - Optimize and improve StabilityAnalysis.
- - Use own implementation of binary search in ODESolution (takes advantage of
- previous values as initial guess)
- - Improve reading ODESolution spanning multiple files
- - Dramatic speedup of progress bar (and algorithms using it)
- - Fix bug in writing meshes embedded higher dimensions to M-files
- - Zero vector in uBLASVector::resize() to fix spurious bug in Krylov solver
- - Handle named fields (u.rename()) in VTK output
- - Bug fix in computation of FacetArea for tetrahedrons
- - Add support for direct plotting of Dirichlet boundary conditions: plot(bc)
- - Updates for PETSc 3.1
- - Add relaxation parameter to NewtonSolver
- - Implement collapse of renumbered dof maps (serial and parallel)
- - Simplification of DofMapBuilder for parallel dof maps
- - Improve and simplify DofMap
- - Add Armadillo dependency for dense linear algebra
- - Remove LAPACKFoo wrappers
- - Add abstract base class GenericDofMap
- - Zero small values in VTK output to avoid VTK crashes
- - Handle MeshFunction/markers in homogenize bc
- - Make preconditioner selectable in VariationalProblem (new parameter)
- - Read/write meshes in binary format
- - Add parameter "use_ident" in DirichletBC
- - Issue error by default when solvers don't converge (parameter "error_on_convergence")
- - Add option to print matrix/vector for a VariationalProblem
- - Trilinos backend now works in parallel
- - Remove Mesh refine members functions. Use free refine(...) functions instead
- - Remove AdapativeObjects
- - Add Stokes demo using the MINI element
- - Interface change: operator+ now used to denote enriched function spaces
- - Interface change: operator+ --> operator* for mixed elements
- - Add option 'allow_extrapolation' useful when interpolating to refined meshes
- - Add SpatialCoordinates demo
- - Add functionality for accessing time series sample times: vector_times(), mesh_times()
- - Add functionality for snapping mesh to curved boundaries during refinement
- - Add functionality for smoothing the boundary of a mesh
- - Speedup assembly over exterior facets by not using BoundaryMesh
- - Mesh refinement improvements, remove unecessary copying in Python interface
- - Clean PETSc and Epetra Krylov solvers
- - Add separate preconditioner classes for PETSc and Epetra solvers
- - Add function ident_zeros for inserting one on diagonal for zero rows
- - Add LU support for Trilinos interface
-0.9.7 [2010-02-17]
- - Add support for specifying facet orientation in assembly over interior facets
- - Allow user to choose which LU package PETScLUSolver uses
- - Add computation of intersection between arbitrary mesh entities
- - Random access to MeshEntitiyIterators
- - Modify SWIG flags to prevent leak when using SWIG director feature
- - Fix memory leak in std::vector<Foo*> typemaps
- - Add interface for SCOTCH for parallel mesh partitioning
- - Bug fix in SubDomain::mark, fixes bug in DirichletBC based on SubDomain::inside
- - Improvements in time series class, recognizing old stored values
- - Add FacetCell class useful in algorithms iterating over boundary facets
- - Rename reconstruct --> extrapolate
- - Remove GTS dependency
-0.9.6 [2010-02-03]
- - Simplify access to form compiler parameters, now integrated with global parameters
- - Add DofMap member function to return set of dofs
- - Fix memory leak in the LA interface
- - Do not import cos, sin, exp from NumPy to avoid clash with UFL functions
- - Fix bug in MTL4Vector assignment
- - Remove sandbox (moved to separate repository)
- - Remove matrix factory (dolfin/mf)
- - Update .ufl files for changes in UFL
- - Added swig/import/foo.i for easy type importing from dolfin modules
- - Allow optional argument cell when creating Expression
- - Change name of Expression argument cpparg --> cppcode
- - Add simple constructor (dim0, dim1) for C++ matrix Expressions
- - Add example demonstrating the use of cpparg (C++ code in Python)
- - Add least squares solver for dense systems (wrapper for DGELS)
- - New linear algebra wrappers for LAPACK matrices and vectors
- - Experimental support for reconstruction of higher order functions
- - Modified interface for eval() and inside() in C++ using Array
- - Introduce new Array class for simplified wrapping of arrays in SWIG
- - Improved functionality for intersection detection
- - Reimplementation of intersection detection using CGAL
-0.9.5 [2009-12-03]
- - Set appropriate parameters for symmetric eigenvalue problems with SLEPc
- - Fix for performance regression in recent uBLAS releases
- - Simplify Expression interface: f = Expression("sin(x[0])")
- - Simplify Constant interface: c = Constant(1.0)
- - Fix bug in periodic boundary conditions
- - Add simple script dolfin-tetgen for generating DOLFIN XML meshes from STL
- - Make XML parser append/overwrite parameter set when reading parameters from file
- - Refinement of function spaces and automatic interpolation of member functions
- - Allow setting global parameters for Krylov solver
- - Fix handling of Constants in Python interface to avoid repeated JIT compilation
- - Allow simple specification of subdomains in Python without needing to subclass SubDomain
- - Add function homogenize() for simple creation of homogeneous BCs from given BCs
- - Add copy constructor and possibility to change value for DirichletBC
- - Add simple wrapper for ufl.cell.n. FacetNormal(mesh) now works again in Python.
- - Support apply(A), apply(b) and apply(b, x) in PeriodicBC
- - Enable setting spectral transformation for SLEPc eigenvalue solver
-0.9.4 [2009-10-12]
- - Remove set, get and operator() methods from MeshFunction
- - Added const and none const T &operator[uint/MeshEntity] to MeshFunction
- - More clean up in SWIG interface files, remove global renames and ignores
- - Update Python interface to Expression, with extended tests for value ranks
- - Removed DiscreteFunction class
- - Require value_shape and geometric_dimension in Expression
- - Introduce new class Expression replacing user-defined Functions
- - interpolate_vertex_values --> compute_vertex_values
- - std::map<std::string, Coefficient> replaces generated CoefficientSet code
- - Cleanup logic in Function class as a result of new Expression class
- - Introduce new Coefficient base class for form coefficients
- - Replace CellSize::min,max by Mesh::hmin,hmax
- - Use MUMPS instead of UMFPACK as default direct solver in both serial and parallel
- - Fix bug in SystemAssembler
- - Remove support for PETSc 2.3 and support PETSc 3.0.0 only
- - Remove FacetNormal Function. Use UFL facet normal instead.
- - Add update() function to FunctionSpace and DofMap for use in adaptive mesh refinement
- - Require mesh in constructor of functionals (C++) or argument to assemble (Python)
-0.9.3 [2009-09-25]
- - Add global parameter "ffc_representation" for form representation in FFC JIT compiler
- - Make norm() function handle both vectors and functions in Python
- - Speedup periodic boundary conditions and make work for mixed (vector-valued) elements
- - Add possibilities to use any number numpy array when assigning matrices and vectors
- - Add possibilities to use any integer numpy array for indices in matrices and vectors
- - Fix for int typemaps in PyDOLFIN
- - Split mult into mult and transpmult
- - Filter out PETSc argument when parsing command-line parameters
- - Extend comments to SWIG interface files
- - Add copyright statements to SWIG interface files (not finished yet)
- - Add typemaps for misc std::vector<types> in PyDOLFIN
- - Remove dependencies on std_vector.i reducing SWIG wrapper code size
- - Use relative %includes in dolfin.i
- - Changed names on SWIG interface files dolfin_foo.i -> foo.i
- - Add function interpolate() in Python interface
- - Fix typmaps for uint in python 2.6
- - Use TypeError instead of ValueError in typechecks in typmaps.i
- - Add in/out shared_ptr<Epetra_FEFoo> typemaps for PyDOLFIN
- - Fix JIT compiling in parallel
- - Add a compile_extension_module function in PyDOLFIN
- - Fix bug in Python vector assignment
- - Add support for compressed base64 encoded VTK files (using zlib)
- - Add support for base64 encoded VTK files
- - Experimental support for parallel assembly and solve
- - Bug fix in project() function, update to UFL syntax
- - Remove disp() functions and replace by info(foo, true)
- - Add fem unit test (Python)
- - Clean up SystemAssembler
- - Enable assemble_system through PyDOLFIN
- - Add 'norm' to GenericMatrix
- - Efficiency improvements in NewtonSolver
- - Rename NewtonSolver::get_iteration() to NewtonSolver::iteration()
- - Improvements to EpetraKrylovSolver::solve
- - Add constructor Vector::Vector(const GenericVector& x)
- - Remove SCons deprecation warnings
- - Memory leak fix in PETScKrylovSolver
- - Rename dolfin_assert -> assert and use C++ version
- - Fix debug/optimise flags
- - Remove AvgMeshSize, InvMeshSize, InvFacetArea from SpecialFunctions
- - Rename MeshSize -> CellSize
- - Rewrite parameter system with improved support for command-line parsing,
- localization of parameters (per class) and usability from Python
- - Remove OutflowFacet from SpecialFunctions
- - Rename interpolate(double*) --> interpolate_vertex_values(double*)
- - Add Python version of Cahn-Hilliard demo
- - Fix bug in assemble.py
- - Permit interpolation of functions between non-matching meshes
- - Remove Function::Function(std::string filename)
- - Transition to new XML io
- - Remove GenericSparsityPattern::sort
- - Require sorted/unsorted parameter in SparsityPattern constructor
- - Improve performance of SparsityPattern::insert
- - Replace enums with strings for linear algebra and built-in meshes
- - Allow direct access to Constant value
- - Initialize entities in MeshEntity constructor automatically and check range
- - Add unit tests to the memorycheck
- - Add call to clean up libxml2 parser at exit
- - Remove unecessary arguments in DofMap member functions
- - Remove reference constructors from DofMap, FiniteElement and FunctionSpace
- - Use a shared_ptr to store the mesh in DofMap objects
- - Interface change for wrapper code: PoissonBilinearForm --> Poisson::BilinearForm
- - Add function info_underline() for writing underlined messages
- - Rename message() --> info() for "compatibility" with Python logging module
- - Add elementwise multiplication in GeneriVector interface
- - GenericVector interface in PyDOLFIN now support the sequence protocol
- - Rename of camelCaps functions names: fooBar --> foo_bar
- Note: mesh.numVertices() --> mesh.num_vertices(), mesh.numCells() --> mesh.num_cells()
- - Add slicing capabilities for GenericMatrix interface in PyDOLFIN (only getitem)
- - Add slicing capabilities for GenericVector interface in PyDOLFIN
- - Add sum to GenericVector interface
-0.9.2 [2009-04-07]
- - Enable setting parameters for Newton solver in VariationalProblem
- - Simplified and improved implementation of C++ plotting, calling Viper on command-line
- - Remove precompiled elements and projections
- - Automatically interpolate user-defined functions on assignment
- - Add new built-in function MeshCoordinates, useful in ALE simulations
- - Add new constructor to Function class, Function(V, "vector.xml")
- - Remove class Array (using std::vector instead)
- - Add vector_mapping data to MeshData
- - Use std::vector instead of Array in MeshData
- - Add assignment operator and copy constructor for MeshFunction
- - Add function mesh.move(other_mesh) for moving mesh according to matching mesh (for FSI)
- - Add function mesh.move(u) for moving mesh according to displacement function (for FSI)
- - Add macro dolfin_not_implemented()
- - Add new interpolate() function for interpolation of user-defined function to discrete
- - Make _function_space protected in Function
- - Added access to crs data from python for uBLAS and MTL4 backendg
-0.9.1 [2009-02-17]
- - Check Rectangle and Box for non-zero dimensions
- - ODE solvers now solve the dual problem
- - New class SubMesh for simple extraction of matching meshes for sub domains
- - Improvements of multiprecision ODE solver
- - Fix Function class copy constructor
- - Bug fixes for errornorm(), updates for new interface
- - Interface update for MeshData: createMeshFunction --> create_mesh_function etc
- - Interface update for Rectangle and Box
- - Add elastodynamics demo
- - Fix memory leak in IntersectionDetector/GTSInterface
- - Add check for swig version, in jit and compile functions
- - Bug fix in dolfin-order script for gzipped files
- - Make shared_ptr work across C++/Python interface
- - Replace std::tr1::shared_ptr with boost::shared_ptr
- - Bug fix in transfinite mean-value interpolation
- - Less annoying progress bar (silent when progress is fast)
- - Fix assignment operator for MeshData
- - Improved adaptive mesh refinement (recursive Rivara) producing better quality meshes
-0.9.0 [2009-01-05]
- - Cross-platform fixes
- - PETScMatrix::copy fix
- - Some Trilinos fixes
- - Improvements in MeshData class
- - Do not use initial guess in Newton solver
- - Change OutflowFacet to IsOutflowFacet and change syntax
- - Used shared_ptr for underling linear algebra objects
- - Cache subspaces in FunctionSpace
- - Improved plotting, now support plot(grad(u)), plot(div(u)) etc
- - Simple handling of JIT-compiled functions
- - Sign change (bug fix) in increment for Newton solver
- - New class VariationalProblem replacing LinearPDE and NonlinearPDE
- - Parallel parsing and partitioning of meshes (experimental)
- - Add script dolfin-order for ordering mesh files
- - Add new class SubSpace (replacing SubSystem)
- - Add new class FunctionSpace
- - Complete redesign of Function class hierarchy, now a single Function class
- - Increased use of shared_ptr in Function, FunctionSpace, etc
- - New interface for boundary conditions, form not necessary
- - Allow simple setting of coefficient functions based on names (not their index)
- - Don't order mesh automatically, meshes must now be ordered explicitly
- - Simpler definition of user-defined functions (constructors not necessary)
- - Make mesh iterators const to allow for const-correct Mesh code
-0.8.1 [2008-10-20]
- - Add option to use ML multigrid preconditioner through PETSc
- - Interface change for ODE solvers: uBLASVector --> double*
- - Remove homotopy solver
- - Remove typedef real, now using plain double instead
- - Add various operators -=, += to GenericMatrix
- - Don't use -Werror when compiling SWIG generated code
- - Remove init(n) and init(m, n) from GenericVector/Matrix. Use resize and zero instead
- - Add new function is_combatible() for checking compatibility of boundary conditions
- - Use x as initial guess in Krylov solvers (PETSc, uBLAS, ITL)
- - Add new function errornorm()
- - Add harmonic ALE mesh smoothing
- - Refinements of Graph class
- - Add CholmodCholeskySlover (direct solver for symmetric matrices)
- - Implement application of Dirichlet boundary conditions within assembly loop
- - Improve efficiency of SparsityPattern
- - Allow a variable number of smoothings
- - Add class Table for pretty-printing of tables
- - Add experimental MTL4 linear algebra backend
- - Add OutflowFacet to SpecialFunctions for DG transport problems
- - Remove unmaintained OpenDX file format
- - Fix problem with mesh smoothing near nonconvex corners
- - Simple projection of functions in Python
- - Add file format: XYZ for use with Xd3d
- - Add built-in meshes: UnitCircle, Box, Rectangle, UnitSphere
-0.8.0 [2008-06-23]
- - Fix input of matrix data from XML
- - Add function normalize()
- - Integration with VMTK for reading DOLFIN XML meshes produced by VMTK
- - Extend mesh XML format to handle boundary indicators
- - Add support for attaching arbitrarily named data to meshes
- - Add support for dynamically choosing the linear algebra backend
- - Add Epetra/Trilinos linear solvers
- - Add setrow() to matrix interface
- - Add new solver SingularSolver for solving singular (pressure) systems
- - Add MeshSize::min(), max() for easy computation of smallest/largest mesh size
- - LinearSolver now handles all backends and linear solvers
- - Add access to normal in Function, useful for inflow boundary conditions
- - Remove GMRES and LU classes, use solve() instead
- - Improve solve() function, now handles both LU and Krylov + preconditioners
- - Add ALE mesh interpolation (moving mesh according to new boundary coordinates)
-0.7.3 [2008-04-30]
- - Add support for Epetra/Trilinos
- - Bug fix for order of values in interpolate_vertex_values, now according to UFC
- - Boundary meshes are now always oriented with respect to outward facet normals
- - Improved linear algebra, both in C++ and Python
- - Make periodic boundary conditions work in Python
- - Fix saving of user-defined functions
- - Improve plotting
- - Simple computation of various norms of functions from Python
- - Evaluation of Functions at arbitrary points in a mesh
- - Fix bug in assembling over exterior facets (subdomains were ignored)
- - Make progress bar less annoying
- - New scons-based build system replaces autotools
- - Fix bug when choosing iterative solver from Python
-0.7.2 [2008-02-18]
- - Improve sparsity pattern generator efficiency
- - Dimension-independent sparsity pattern generator
- - Add support for setting strong boundary values for DG elements
- - Add option setting boundary conditions based on geometrical search
- - Check UMFPACK return argument for warnings/errors
- - Simplify setting simple Dirichlet boundary conditions
- - Much improved integration with FFC in PyDOLFIN
- - Caching of forms by JIT compiler now works
- - Updates for UFC 1.1
- - Catch exceptions in PyDOLFIN
- - Work on linear algebra interfaces GenericTensor/Matrix/Vector
- - Add linear algebra factory (backend) interface
- - Add support for 1D meshes
- - Make Assembler independent of linear algebra backend
- - Add manager for handling sub systems (PETSc and MPI)
- - Add parallel broadcast of Mesh and MeshFunction
- - Add experimental support for parallel assembly
- - Use PETSc MPI matrices when running in parallel
- - Add predefined functions FacetNormal and AvgMeshSize
- - Add left/right/crisscross options for UnitSquare
- - Add more Python demos
- - Add support for Exodus II format in dolfin-convert
- - Autogenerate docstrings for PyDOLFIN
- - Various small bug fixes and improvements
-0.7.1 [2007-08-31]
- - Integrate FFC form language into PyDOLFIN
- - Just-in-time (JIT) compilation of variational forms
- - Conversion from from Diffpack grid format to DOLFIN XML
- - Name change: BoundaryCondition --> DirichletBC
- - Add support for periodic boundary conditions: class PeriodicBC
- - Redesign default linear algebra interface (Matrix, Vector, KrylovSolver, etc)
- - Add function to return Vector associated with a DiscreteFunction
-0.7.0-1 [2007-06-22]
- - Recompile all forms with latest FFC release
- - Remove typedefs SparseMatrix and SparseVector
- - Fix includes in LinearPDE
- - Rename DofMaps -> DofMapSet
-0.7.0 [2007-06-20]
- - Move to UFC interface for code generation
- - Major rewrite, restructure, cleanup
- - Add support for Brezzi-Douglas-Marini (BDM) elements
- - Add support for Raviart-Thomas (RT) elements
- - Add support for Discontinuous Galerkin (DG) methods
- - Add support for mesh partitioning (through SCOTCH)
- - Handle both UMFPACK and UFSPARSE
- - Local mesh refinement
- - Mesh smoothing
- - Built-in plotting (through Viper)
- - Cleanup log system
- - Numerous fixes for mesh, in particular MeshFunction
- - Much improved Python bindings for mesh
- - Fix Python interface for vertex and cell maps in boundary computation
-0.6.4 [2006-12-01]
- - Switch from Python Numeric to Python NumPy
- - Improved mesh Python bindings
- - Add input/output support for MeshFunction
- - Change Mesh::vertices() --> Mesh::coordinates()
- - Fix bug in output of mesh to MATLAB format
- - Add plasticty module (experimental)
- - Fix configure test for Python dev (patch from Åsmund Ødegård)
- - Add mesh benchmark
- - Fix memory leak in mesh (data not deleted correctly in MeshTopology)
- - Fix detection of curses libraries
- - Remove Tecplot output format
-0.6.3 [2006-10-27]
- - Move to new mesh library
- - Remove dolfin-config and move to pkg-config
- - Remove unused classes PArray, PList, Table, Tensor
- - Visualization of 2D solutions in OpenDX is now supported (3D supported before)
- - Add support for evaluation of functionals
- - Fix bug in Vector::sum() for uBLAS vectors
-0.6.2-1 [2006-09-06]
- - Fix compilation error when using --enable-petsc (dolfin::uBLASVector::PETScVector undefined)
-0.6.2 [2006-09-05]
- - Finish chapter in manual on linear algebra
- - Enable PyDOLFIN by default, use --disable-pydolfin to disable
- - Disable PETSc by default, use --enable-petsc to enable
- - Modify ODE solver interface for u0() and f()
- - Add class ConvectionMatrix
- - Readd classes LoadVector, MassMatrix, StiffnessMatrix
- - Add matrix factory for simple creation of standard finite element matrices
- - Collect static solvers in LU and GMRES
- - Bug fixes for Python interface PyDOLFIN
- - Enable use of direct solver for ODE solver (experimental)
- - Remove demo bistable
- - Restructure and cleanup linear algebra
- - Use UMFPACK for LU solver with uBLAS matrix types
- - Add templated wrapper class for different uBLAS matrix types
- - Add ILU preconditioning for uBLAS matrices
- - Add Krylov solver for uBLAS sparse matrices (GMRES and BICGSTAB)
- - Add first version of new mesh library (NewMesh, experimental)
- - Add Parametrized::readParameters() to trigger reading of values on set()
- - Remove output of zeros in Octave matrix file format
- - Use uBLAS-based vector for Vector if PETSc disabled
- - Add wrappers for uBLAS compressed_matrix class
- - Compute eigenvalues using SLEPc (an extension of PETSc)
- - Clean up assembly and linear algebra
- - Add function to solve Ax = b for dense matrices and dense vectors
- - Make it possible to compile without PETSc (--disable-petsc)
- - Much improved ODE solvers
- - Complete multi-adaptive benchmarks reaction and wave
- - Assemble boundary integrals
- - FEM class cleaned up.
- - Fix multi-adaptive benchmark problem reaction
- - Small fixes for Intel C++ compiler version 9.1
- - Test for Intel C++ compiler and configure appropriately
- - Add new classes DenseMatrix and DenseVector (wrappers for ublas)
- - Fix bug in conversion from Gmsh format
-0.6.1 [2006-03-28]
- - Regenerate build system in makedist script
- - Update for new FFC syntax: BasisFunction --> TestFunction, TrialFunction
- - Fixes for conversion script dolfin-convert
- - Initial cleanups and fixes for ODE solvers
- - Numerous small fixes to improve portability
- - Remove dolfin:: qualifier on output << in Parameter.h
- - Don't use anonymous classes in demos, gives errors with some compilers
- - Remove KrylovSolver::solver()
- - Fix bug in convection-diffusion demo (boundary condition for pressure), use direct solver
- - LinearPDE and NewonSolver use umfpack LU solver by default (if available) when doing direct solve
- - Set PETSc matrix type through Matrix constructor
- - Allow linear solver and preconditioner type to be passed to NewtonSolver
- - Fix bug in Stokes demos (wrong boundary conditions)
- - Cleanup Krylov solver
- - Remove KrylovSolver::setPreconditioner() etc. and move to constructors
- - Remove KrylovSolver::setRtol() etc. and replace with parameters
- - Fix remaining name changes: noFoo() --> numFoo()
- - Add Cahn-Hilliard equation demo
- - NewtonSolver option to use residual or incremental convergence criterion
- - Add separate function to nls to test for convergence of Newton iterations
- - Fix bug in dolfin-config (wrong version number)
-0.6.0 [2006-03-01]
- - Fix bug in XML output format (writing multiple objects)
- - Fix bug in XML matrix output format (handle zero rows)
- - Add new nonlinear PDE demo
- - Restructure PDE class to use envelope-letter design
- - Add precompiled finite elements for q <= 5
- - Add FiniteElementSpec and factor function for FiniteElement
- - Add input/output of Function to DOLFIN XML
- - Name change: dof --> node
- - Name change: noFoo() --> numFoo()
- - Add conversion from gmsh format in dolfin-convert script
- - Updates for PETSc 2.3.1
- - Add new type of Function (constant)
- - Simplify use of Function class
- - Add new demo Stokes + convection-diffusion
- - Add new demo Stokes (equal-order stabilized)
- - Add new demo Stokes (Taylor-Hood)
- - Add new parameter for KrylovSolvers: "monitor convergence"
- - Add conversion script dolfin-convert for various mesh formats
- - Add new demo elasticity
- - Move poisson demo to src/demo/pde/poisson
- - Move to Mercurial (hg) from CVS
- - Use libtool to build libraries (including shared)
-0.5.12 [2006-01-12]
- - Make Stokes solver dimension independent (2D/3D)
- - Make Poisson solver dimension independent (2D/3D)
- - Fix sparse matrix output format for MATLAB
- - Modify demo problem for Stokes, add exact solution and compute error
- - Change interface for boundary conditions: operator() --> eval()
- - Add two benchmark problems for the Navier-Stokes solver
- - Add support for 2D/3D selection in Navier-Stokes solver
- - Move tic()/toc() to timing.h
- - Navier-Stokes solver back online
- - Make Solver a subclass of Parametrized
- - Add support for localization of parameters
- - Redesign of parameter system
-0.5.11 [2005-12-15]
- - Add script monitor for monitoring memory usage
- - Remove meminfo.h (not portable)
- - Remove dependence on parameter system in log system
- - Don't use drand48() (not portable)
- - Don't use strcasecmp() (not portable)
- - Remove sysinfo.h and class System (not portable)
- - Don't include <sys/utsname.h> (not portable)
- - Change ::show() --> ::disp() everywhere
- - Clean out old quadrature classes on triangles and tetrahedra
- - Clean out old sparse matrix code
- - Update chapter on Functions in manual
- - Use std::map to store parameters
- - Implement class KrylovSolver
- - Name change: Node --> Vertex
- - Add nonlinear solver demos
- - Add support for picking sub functions and components of functions
- - Update interface for FiniteElement for latest FFC version
- - Improve and restructure implementation of the Function class
- - Dynamically adjust safety factor during integration
- - Improve output Matrix::disp()
- - Check residual at end of time step, reject step if too large
- - Implement Vector::sum()
- - Implement nonlinear solver
- - New option for ODE solver: "save final solution" --> solution.data
- - New ODE test problem: reaction
- - Fixes for automake 1.9 (nobase_include_HEADERS)
- - Reorganize build system, remove fake install and require make install
- - Add checks for non-standard PETSc component HYPRE in NSE solver
- - Make GMRES solver return the number of iterations
- - Add installation script for Python interface
- - Add Matrix Market format (Haiko Etzel)
- - Automatically reinitialize GMRES solver when system size changes
- - Implement cout << for class Vector
-0.5.10 [2005-10-11]
- - Modify ODE solver interface: add T to constructor
- - Fix compilation on AMD 64 bit systems (add -fPIC)
- - Add new BLAS mode for form evaluation
- - Change enum types in File to lowercase
- - Change default file type for .m to Octave
- - Add experimental Python interface PyDOLFIN
- - Fix compilation for gcc 4.0
-0.5.9 [2005-09-23]
- - Add Stokes module
- - Support for arbitrary mixed elements through FFC
- - VTK output interface now handles time-dependent functions automatically
- - Fix cout for empty matrix
- - Change dolfin_start() --> dolfin_end()
- - Add chapters to manual: about, log system, parameters, reference elements,
- installation, contributing, license
- - Use new template fenicsmanual.cls for manual
- - Add compiler flag -U__STRICT_ANSI__ when compiling under Cygwin
- - Add class EigenvalueSolver
-0.5.8 [2005-07-05]
- - Add new output format Paraview/VTK (Garth N. Wells)
- - Update Tecplot interface
- - Move to PETSc 2.3.0
- - Complete support for general order Lagrange elements in triangles and tetrahedra
- - Add test problem in src/demo/fem/convergence/ for general Lagrange elements
- - Make FEM::assemble() estimate the number of nonzeros in each row
- - Implement Matrix::init(M, N, nzmax)
- - Add Matrix::nz(), Matrix::nzsum() and Matrix::nzmax()
- - Improve Mesh::disp()
- - Add FiniteElement::disp() and FEM::disp() (useful for debugging)
- - Remove old class SparseMatrix
- - Change FEM::setBC() --> FEM::applyBC()
- - Change Mesh::tetrahedrons --> Mesh::tetrahedra
- - Implement Dirichlet boundary conditions for tetrahedra
- - Implement Face::contains(const Point& p)
- - Add test for shape dimension of mesh and form in FEM::assemble()
- - Move src/demo/fem/ demo to src/demo/fem/simple/
- - Add README file in src/demo/poisson/ (simple manual)
- - Add simple demo program src/demo/poisson/
- - Update computation of alignment of faces to match FFC/FIAT
-0.5.7 [2005-06-23]
- - Clean up ODE test problems
- - Implement automatic detection of sparsity pattern from given matrix
- - Clean up homotopy solver
- - Implement automatic computation of Jacobian
- - Add support for assembly of non-square systems (Andy Terrel)
- - Make ODE solver report average number of iterations
- - Make progress bar write first update at 0%
- - Initialize all values of u before solution in multi-adaptive solver,
- not only components given by dependencies
- - Allow user to modify and verify a converging homotopy path
- - Make homotopy solver save a list of the solutions
- - Add Matrix::norm()
- - Add new test problem for CES economy
- - Remove cast from Parameter to const char* (use std::string)
- - Make solution data filename optional for homotopy solver
- - Append homotopy solution data to file during solution
- - Add dolfin::seed(int) for optionally seeding random number generator
- - Remove dolfin::max,min (use std::max,min)
- - Add polynomial-integer (true polynomial) form of general CES system
- - Compute multi-adaptive efficiency index
- - Updates for gcc 4.0 (patches by Garth N. Wells)
- - Add Matrix::mult(const real x[], uint row) (temporary fix, assumes uniprocessor case)
- - Add Matrix::mult(const Vector& x, uint row) (temporary fix, assumes uniprocessor case)
- - Update shortcuts MassMatrix and StiffnessMatrix to new system
- - Add missing friend to Face.h (reported by Garth N. Wells)
-0.5.6 [2005-05-17]
- - Implementation of boundary conditions for general order Lagrange (experimental)
- - Use interpolation function automatically generated by FFC
- - Put computation of map into class AffineMap
- - Clean up assembly
- - Use dof maps automatically generated by FFC (experimental)
- - Modify interface FiniteElement for new version of FFC
- - Update ODE homotopy test problems
- - Add cross product to class Point
- - Sort mesh entities locally according to ordering used by FIAT and FFC
- - Add new format for dof maps (preparation for higher-order elements)
- - Code cleanups: NewFoo --> Foo complete
- - Updates for new version of FFC (0.1.7)
- - Bypass log system when finalizing PETSc (may be out of scope)
-0.5.5 [2005-04-26]
- - Fix broken log system, curses works again
- - Much improved multi-adaptive time-stepping
- - Move elasticity module to new system based on FFC
- - Add boundary conditions for systems
- - Improve regulation of time steps
- - Clean out old assembly classes
- - Clean out old form classes
- - Remove kernel module map
- - Remove kernel module element
- - Move convection-diffusion module to new system based on FFC
- - Add iterators for cell neighbors of edges and faces
- - Implement polynomial for of CES economy
- - Rename all new linear algebra classes: NewFoo --> Foo
- - Clean out old linear algebra
- - Speedup setting of boundary conditions (add MAT_KEEP_ZEROED_ROWS)
- - Fix bug for option --disable-curses
-0.5.4 [2005-03-29]
- - Remove option to compile with PETSc 2.2.0 (2.2.1 required)
- - Make make install work again (fix missing includes)
- - Add support for mixing multiple finite elements (through FFC)
- - Improve functionality of homotopy solver
- - Simple creation of piecewise linear functions (without having an element)
- - Simple creation of piecewise linear elements
- - Add support of automatic creation of simple meshes (unit cube, unit square)
-0.5.3 [2005-02-26]
- - Change to PETSc version 2.2.1
- - Add flag --with-petsc=<path> to configure script
- - Move Poisson's equation to system based on FFC
- - Add support for automatic creation of homotopies
- - Make all ODE solvers automatically handle complex ODEs: (M) z' = f(z,t)
- - Implement version of mono-adaptive solver for implicit ODEs: M u' = f(u,t)
- - Implement Newton's method for multi- and mono-adaptive ODE solvers
- - Update PETSc wrappers NewVector, NewMatrix, and NewGMRES
- - Fix initialization of PETSc
- - Add mono-adaptive cG(q) and dG(q) solvers (experimental)
- - Implementation of new assebly: NewFEM, using output from FFC
- - Add access to mesh for nodes, cells, faces and edges
- - Add Tecplot I/O interface; contributed by Garth N. Wells
-0.5.2 [2005-01-26]
- - Benchmarks for DOLFIN vs PETSc (src/demo/form and src/demo/test)
- - Complete rewrite of the multi-adaptive ODE solver (experimental)
- - Add wrapper for PETSc GMRES solver
- - Update class Point with new operators
- - Complete rewrite of the multi-adaptive solver to improve performance
- - Add PETSc wrappers NewMatrix and NewVector
- - Add DOLFIN/PETSc benchmarks
-0.5.1 [2004-11-10]
- - Experimental support for automatic generation of forms using FFC
- - Allow user to supply Jacobian to ODE solver
- - Add optional test to check if a dependency already exists (Sparsity)
- - Modify sparse matrix output (Matrix::show())
- - Add FGMRES solver in new format (patch from eriksv)
- - Add non-const version of quick-access of sparse matrices
- - Add linear mappings for simple computation of derivatives
- - Add check of matrix dimensions for ODE sparsity pattern
- - Include missing cmath in Function.cpp
-0.5.0 [2004-08-18]
- - First prototype of new form evaluation system
- - New classes Jacobi, SOR, Richardson (preconditioners and linear solvers)
- - Add integrals on the boundary (ds), partly working
- - Add maps from boundary of reference cell
- - Add evaluation of map from reference cell
- - New Matrix functions: max, min, norm, and sum of rows and columns (erik)
- - Derivatives/gradients of ElementFunction (coefficients f.ex.) implemented
- - Enable assignment to all elements of a NewArray
- - Add functions Boundary::noNodes(), noFaces(), noEdges()
- - New class GaussSeidel (preconditioner and linear solver)
- - New classes Preconditioner and LinearSolver
- - Bug fix for tetrahedral mesh refinement (ingelstrom)
- - Add iterators for Edge and Face on Boundary
- - Add functionality to Map: bdet() and cell()
- - Add connectivity face-cell and edge-cell
- - New interface for assembly: Galerkin --> FEM
- - Bug fix for PDE systems of size > 3
-0.4.11 [2004-04-23]
- - Add multigrid solver (experimental)
- - Update manual
-0.4.10
- - Automatic model reduction (experimental)
- - Fix bug in ParticleSystem (divide by mass)
- - Improve control of integration (add function ODE::update())
- - Load/save parameters in XML-format
- - Add assembly test
- - Add simple StiffnessMatrix, MassMatrix, and LoadVector
- - Change dK --> dx
- - Change dx() --> ddx()
- - Add support for GiD file format
- - Add performance tests for multi-adaptivity (both stiff and non-stiff)
- - First version of Newton for the multi-adaptive solver
- - Test for Newton for the multi-adaptive solver
-0.4.9
- - Add multi-adaptive solver for the bistable equation
- - Add BiCGSTAB solver (thsv)
- - Fix bug in SOR (thsv)
- - Improved visual program for OpenDX
- - Fix OpenDX file format for scalar functions
- - Allow access to samples of multi-adaptive solution
- - New patch from thsv for gcc 3.4.0 and 3.5.0
- - Make progress step a parameter
- - New function ODE::sparse(const Matrix& A)
- - Access nodes, cells, edges, faces by id
- - New function Matrix::lump()
-0.4.8
- - Add support for systems (jansson and bengzon)
- - Add new module wave
- - Add new module wave-vector
- - Add new module elasticity
- - Add new module elasticity-stationary
- - Multi-adaptive updates
- - Fix compilation error in LogStream
- - Fix local Newton iteration for higher order elements
- - Init matrix to given type
- - Add output of cG(q) and dG(q) weights in matrix format
- - Fix numbering of frames from plotslab script
- - Add png output for plotslab script
- - Add script for running stiff test problems, plot solutions
- - Fix bug in MeshInit (node neighbors of node)
- - Modify output of sysinfo()
- - Compile with -Wall -Werror -pedantic -ansi -std=c++98 (thsv)
-0.4.7
- - Make all stiff test problems work
- - Display status report also when using step()
- - Improve adaptive damping for stiff problems (remove spikes)
- - Modify Octave/Matlab format for solution data (speed improvement)
- - Adaptive sampling of solution (optional)
- - Restructure stiff test problems
- - Check if value of right-hand side is valid
- - Modify divergence test in AdaptiveIterationLevel1
-0.4.6
- - Save vectors and matrices from Matlab/Octave (foufas)
- - Rename writexml.m to xmlmesh.m
- - Inlining of important functions
- - Optimize evaluation of elements
- - Optimize Lagrange polynomials
- - Optimize sparsity: use stl containers
- - Optimize choice of discrete residual for multi-adaptive solver
- - Don't save solution in benchmark proble
- - Improve computation of divergence factor for underdamped systems
- - Don't check residual on first slab for fixed time step
- - Decrease largest (default) time step to 0.1
- - Add missing <cmath> in TimeStepper
- - Move real into dolfin namespace
-0.4.5
- - Rename function.h to enable compilation under Cygwin
- - Add new benchmark problem for multi-adaptive solver
- - Bug fix for ParticleSystem
- - Initialization of first time step
- - Improve time step regulation (threshold)
- - Improve stabilization
- - Improve TimeStepper interface (Ko Project)
- - Use iterators instead of recursively calling TimeSlab::update()
- - Clean up ODESolver
- - Add iterators for elements in time slabs and element groups
- - Add -f to creation of symbolic links
-0.4.4
- - Add support for 3D graphics in Octave using Open Inventor (jj)
-0.4.3
- - Stabilization of multi-adaptive solver (experimental)
- - Improved non-support for curses (--disable-curses)
- - New class MechanicalSystem for simulating mechanical systems
- - Save debug info from primal and dual (plotslab.m)
- - Fix bug in progress bar
- - Add missing include file in Components.h (kakr)
- - New function dolfin_end(const char* msg, ...)
- - Move numerical differentiation to RHS
- - New class Event for limited display of messages
- - Fix bug in LogStream (large numbers in floating point format)
- - Specify individual time steps for different components
- - Compile without warnings
- - Add -Werror to option enable-debug
- - Specify individual methods for different components
- - Fix bug in dGqMethods
- - Fix bug (delete old block) in ElementData
- - Add parameters for method and order
- - New test problem reaction
- - New class FixedPointIteration
- - Fix bug in grid refinement
-0.4.2
- - Fix bug in computation of residual (divide by k)
- - Add automatic generation and solution of the dual problem
- - Automatic selection of file names for primal and dual
- - Fix bug in progress bar (TerminalLogger)
- - Many updates of multi-adaptive solver
- - Add class ODEFunction
- - Update function class hierarchies
- - Move functions to a separate directory
- - Store multi-adaptive solution binary on disk with cache
-0.4.1
- - First version of multi-adaptive solver working
- - Clean up file formats
- - Start changing from int to unsigned int where necessary
- - Fix bool->int when using stdard in Parameter
- - Add NewArray and NewList (will replace Array and List)
-0.4.0
- - Initiation of the FEniCS project
- - Change syntax of mesh files: grid -> mesh
- - Create symbolic links instead of copying files
- - Tanganyika -> ODE
- - Add Heat module
- - Grid -> Mesh
- - Move forms and mappings to separate libraries
- - Fix missing include of DirectSolver.h
-0.3.12
- - Adaptive grid refinement (!)
- - Add User Manual
- - Add function dolfin_log() to turn logging on/off
- - Change from pointers to references for Node, Cell, Edge, Face
- - Update writexml.m
- - Add new grid files and rename old grid files
-0.3.11
- - Add configure option --disable-curses
- - Grid refinement updates
- - Make OpenDX file format work for grids (output)
- - Add volume() and diameter() in cell
- - New classes TriGridRefinement and TetGridRefinement
- - Add iterators for faces and edges on a boundary
- - New class GridHierarchy
-0.3.10
- - Use new boundary structure in Galerkin
- - Make dolfin_start() and dolfin_end() work
- - Make dolfin_assert() raise segmentation fault for plain text mode
- - Add configure option --enable-debug
- - Use autoreconf instead of scripts/preconfigure
- - Rename configure.in -> configure.ac
- - New class FaceIterator
- - New class Face
- - Move computation of boundary from GridInit to BoundaryInit
- - New class BoundaryData
- - New class BoundaryInit
- - New class Boundary
- - Make InitGrid compute edges
- - Add test program for generic matrix in src/demo/la
- - Clean up Grid classes
- - Add new class GridRefinementData
- - Move data from Cell to GenericCell
- - Make GMRES work with user defined matrix, only mult() needed
- - GMRES now uses only one function to compute residual()
- - Change Matrix structure (a modified envelope/letter)
- - Update script checkerror.m for Poisson
- - Add function dolfin_info_aptr()
- - Add cast to element pointer for iterators
- - Clean up and improve the Tensor class
- - New class: List
- - Name change: List -> Table
- - Name change: ShortList -> Array
- - Make functions in GridRefinement static
- - Make functions in GridInit static
- - Fix bug in GridInit (eriksv)
- - Add output to OpenDX format for 3D grids
- - Clean up ShortList class
- - Clean up List class
- - New class ODE, Equation replaced by PDE
- - Add Lorenz test problem
- - Add new problem type for ODEs
- - Add new module ode
- - Work on multi-adaptive ODE solver (lots of new stuff)
- - Work on grid refinement
- - Write all macros in LoggerMacros in one line
- - Add transpose functions to Matrix (Erik)
-0.3.9
- - Update Krylov solver (Erik, Johan)
- - Add new LU factorization and LU solve (Niklas)
- - Add benchmark test in src/demo/bench
- - Add silent logger
-0.3.8
- - Make sure dolfin-config is regenerated every time
- - Add demo program for cG(q) and dG(q)
- - Add dG(q) precalc of nodal points and weights
- - Add cG(q) precalc of nodal points and weights
- - Fix a bug in configure.in (AC_INIT with README)
- - Add Lagrange polynomials
- - Add multiplication with transpose
- - Add scalar products with rows and columns
- - Add A[i][j] index operator for quick access to dense matrix
-0.3.7
- - Add new Matlab-like syntax like A(i,all) = x or A(3,all) = A(4,all)
- - Add dolfin_assert() macro enabled if debug is defined
- - Redesign of Matrix/DenseMatrix/SparseMatrix to use Matrix as common interface
- - Include missing cmath in Legendre.cpp and GaussianQuadrature.cpp
-0.3.6
- - Add output functionality in DenseMatrix
- - Add high precision solver to DirectSolver
- - Clean up error messages in Matrix
- - Make solvers directly accessible through Matrix and DenseMatrix
- - Add quadrature (Gauss, Radau, and Lobatto) from Tanganyika
- - Start merge with Tanganyika
- - Add support for automatic documentation using doxygen
- - Update configure scripts
- - Add greeting at end of compilation
-0.3.5
- - Define version number only in the file configure.in
- - Fix compilation problem (missing depcomp)
-0.3.4
- - Fix bugs in some of the ElementFunction operators
- - Make convection-diffusion solver work again
- - Fix bug in integration, move multiplication with the determinant
- - Fix memory leaks in ElementFunction
- - Add parameter to choose output format
- - Make OctaveFile and MatlabFile subclasses of MFile
- - Add classes ScalarExpressionFunction and VectorExpressionFunction
- - Make progress bars work cleaner
- - Get ctrl-c in curses logger
- - Remove <Problem>Settings-classes and use dolfin_parameter()
- - Redesign settings to match the structure of the log system
- - Add vector functions: Function::Vector
- - Add vector element functions: ElementFunction::Vector
-0.3.3
- - Increased functionality of curses-based interface
- - Add progress bars to log system
-0.3.2
- - More work on grid refinement
- - Add new curses based log system
-0.3.1
- - Makefile updates: make install should now work properly
- - KrylovSolver updates
- - Preparation for grid refinement
- - Matrix and Vector updates
-0.3.0
- - Make poisson work again, other modules still not working
- - Add output format for octave
- - Fix code to compile with g++-3.2 -Wall -Werror
- - New operators for Matrix
- - New and faster GMRES solver (speedup factor 4)
- - Changed name from SparseMatrix to Matrix
- - Remove old unused code
- - Add subdirectory math containing mathematical functions
- - Better access for A(i,j) += to improve speed in assembling
- - Add benchmark for linear algebra
- - New definition of finite element
- - Add algebra for function spaces
- - Convert grids in data/grids to xml.gz
- - Add iterators for Nodes and Cells
- - Change from .hh to .h
- - Add operators to Vector class (foufas)
- - Add dependence on libxml2
- - Change from .C to .cpp to make Jim happy.
- - Change input/output functionality to streams
- - Change to new data structure for Grid
- - Change to object-oriented API at top level
- - Add use of C++ namespaces
- - Complete and major restructuring of the code
- - Fix compilation error in src/config
- - Fix name of keyword for convection-diffusion
-0.2.11-1
- - Fix compilation error (`source`) on Solaris
-0.2.11
- - Automate build process to simplify addition of new modules
- - Fix bug in matlab_write_field() (walter)
- - Fix bug in SparseMatrix::GetCopy() (foufas)
-0.2.10-1
- - Fix compilation errors on RedHat (thsv)
-0.2.10
- - Fix compilation of problems to use correct compiler
- - Change default test problems to the ones in the report
- - Improve memory management using mpatrol for tracking allocations
- - Change bool to int for va_arg, seems to be a problem with gcc > 3.0
- - Improve input / output support: GiD, Matlab, OpenDX
-0.2.8
- - Navier-Stokes starting to work again
- - Add Navier-Stokes 2d
- - Bug fixes
-0.2.7
- - Add support for 2D problems
- - Add module convection-diffusion
- - Add local/global fields in equation/problem
- - Bug fixes
- - Navier-Stokes updates (still broken)
-0.2.6 [2002-02-19]
- - Navier-Stokes updates (still broken)
- - Output to matlab format
-0.2.5
- - Add variational formulation with overloaded operators for systems
- - ShapeFunction/LocalField/FiniteElement according to Scott & Brenner
-0.2.4
- - Add boundary conditions
- - Poisson seems to work ok
-0.2.3
- - Add GMRES solver
- - Add CG solver
- - Add direct solver
- - Add Poisson solver
- - Big changes to the organisation of the source tree
- - Add kwdist.sh script
- - Bug fixes
-0.2.2:
- - Remove curses temporarily
-0.2.1:
- - Remove all PETSc stuff. Finally!
- - Gauss-Seidel cannot handle the pressure equation
-0.2.0:
- - First GPL release
- - Remove all of Klas Samuelssons proprietary grid code
- - Adaptivity and refinement broken, include in next release
diff --git a/ChangeLog.rst b/ChangeLog.rst
new file mode 100644
index 0000000..a144ff3
--- /dev/null
+++ b/ChangeLog.rst
@@ -0,0 +1,1809 @@
+Change log
+==========
+
+
+2016.2.0 [2016-11-30]
+---------------------
+
+- Updates to XDMFFile interface, now fully supporting MeshFunction and
+ MeshValueCollection with multiple named datasets in one file (useful for
+ volume/boundary markers). Time series now only when a time is explicitly
+ specified for each step. Full support for ASCII/XML XDMF.
+- Improved X3DOM support
+- Improved detection of UFC
+- Add CMake option `-DDOLFIN_USE_PYTHON3` to create a Python 3 build
+- Require CMake version 3.5 or higher
+- Add pylit to generate demo doc from rst
+- More careful checks of Dirichlet BC function spaces
+- Change definition of FunctionSpace::component()
+- Adaptive solving now works for tensor-valued unknowns
+- Improve logging of PETSc errors; details logged at level TRACE
+
+2016.1.0 [2016-06-23]
+---------------------
+- Remove support for 'uint'-valued MeshFunction (replaced by 'size_t')
+- Major performance improvements and simplifications of the XDMF IO.
+- Remove Zoltan graph partitioning interface
+- Add new algorithm for computing mesh entiites. Typical speed-up of
+ two with gcc and four with clang. Reduced memory usage for meshes
+ with irregularly numbered cells.
+- Remove STLMatrix, STLVector, MUMPSLUSolver and PastixLUSolver
+ classes
+- Remove PETScPreconditioner::set_near_nullspace and add
+ PETScMatrix::set_near_nullspace
+- Build system updates for VTK 7.0
+- Remove XDMF from File interface. XDMF is XML based, and has many
+ possibilities for file access, which are not accessible through the
+ limited File interface and "<<" ">>" operators. Instead of File, use
+ XDMFFile, and use XDMFFile.read() and XDMFFile.write() for
+ I/O. Demos and tests have been updated to show usage. XDMF now also
+ supports ASCII I/O in serial, useful for compatibility with users
+ who do not have the HDF5 library available.
+- Require polynomial degree or finite element for Expressions in the
+ Python interface (fixes Issue #355,
+ https://bitbucket.org/fenics-project/dolfin/issues/355)
+- Switch to Google Test framwork for C++ unit tests
+- Fix bug when reading domain data from mesh file for a ghosted mesh
+- Add interface for manipulating mesh geometry using (higher-order) FE
+ functions: free functions set_coordinates, get_coordinates,
+ create_mesh
+- Fix bug when reading domain data from mesh file for a ghosted mesh.
+- Remove reference versions of constructors for many classes that
+ store a pointer/reference to the object passed to the
+ constructor. This is an intrusive interface change for C++ users,
+ but necessary to improve code maintainabilty and to improve memory
+ safety. The Python interface is (virtually) unaffected.
+- Remove class SubSpace. Using FunctionSpace::sub(...) instead
+- Remove reference versions constructors of NonlinearVariationalSolver
+- Remove setting of bounds from NonlinearVariationalSolver (was
+ already available through NonlinearVariationalProblem)
+- Update Trilinos support to include Amesos2, and better support from
+ Python
+- Rewrite interface of TensorLayout and SparsityPattern;
+ local-to-global maps now handled using new IndexMap class;
+ GenericSparsityPattern class removed
+- Remove QT (was an optional dependency)
+- PETScTAOSolver::solve() now returns a pair of number of iterations
+ (std::size_t) and whether iteration converged (bool)
+- Better quality refinement in 2D in Plaza algorithm, by choosing
+ refinement pattern based on max/min edge ratio
+- Removed refine_cell() method in CellTypes
+- Enable marker refinement to work in parallel for 1D meshes too
+- Add std::abort to Python exception hook to avoid parallel deadlocks
+- Extend dof_to_vertex_map with unowned dofs, thus making
+ dof_to_vertex_map an inverse of vertex_to_dof_map
+- Clean-up in PyDOLFIN function space design, issue #576
+- Deprecate MixedFunctionSpace and EnrichedFunctionSpace in favour of
+ initialization by suitable UFL element
+- Add experimental matplotlib-based plotting backend, see mplot demo
+- Remove method argument of DirichletBC::get_boundary_values()
+- Change return types of free functions adapt() to shared_ptr
+
+1.6.0 [2015-07-28]
+------------------
+- Remove redundant pressure boundary condition in Stokes demos
+- Require Point in RectangleMesh and BoxMesh constructors
+- Remove BinaryFile (TimeSeries now requires HDF5)
+- Add (highly experimental) support for Tpetra matrices and vectors
+ from Trilinos, interfacing to Belos, Amesos2, IfPack2 and Muelu.
+- Enable (highly experimental) support for Quadrilateral and
+ Hexahedral meshes, including some I/O, but no assembly yet.
+- Enable UMFPACK and CHOLMOD solvers with Eigen backend
+- Add an MPI_Comm to logger, currently defaulted to MPI_COMM_WORLD
+ allowing better control over output in parallel
+- Experimental output of quadratic geometry in XDMF files, allows more
+ exact visualisation of P2 Functions
+- Remove GenericMatrix::compressed (see Issue #61)
+- Deprecate and PETScKryloveSolver::set_nullspace() and add
+ PETScMatrix::set_nullspace()
+- Remove uBLAS backend
+- Remove UmfpackLUSolver and CholmodSolver
+- Add EigenMatrix/Vector::data()
+- Remove GenericMatrix/Vector::data() and GenericMatrix/Vector::data()
+ (to use backends that support data(), cast first to backend type,
+ e.g. A = A.as_backend_type()
+- Remove cmake.local, replaced by fenics-install-component.sh
+- Make interior facet integrals define - and + cells ordered by
+ cell_domains value.
+- Remove deprecated arguments *_domains from assemble() and Form().
+- Change measure definition notation from dx[mesh_function] to
+ dx(subdomain_data=mesh_function).
+- Set locale to "C" before reading from file
+- Change GenericDofMap::cell_dofs return type from const
+ std::vector<..>& to ArrayView<const ..>
+- Add ArrayView class for views into arrays
+- Change fall back linear algebra backend to Eigen
+- Add Eigen linear algebra backend
+- Remove deprecated GenericDofMap::geometric_dim function (fixes Issue
+ #443)
+- Add quadrature rules for multimesh/cut-cell integration up to order
+ 6
+- Implement MPI reductions and XML ouput of Table class
+- list_timings() is now collective and returns MPI average across
+ processes
+- Add dump_timings_to_xml()
+- Add enum TimingType { wall, user, system } for selecting wall-clock,
+ user and system time in timing routines
+- Bump required SWIG version to 3.0.3
+- Increase default maximum iterations in NewtonSolver to 50.
+- Deprecate Python free function homogenize(bc) in favour of member
+ function DirichletBC::homogenize()
+
+1.5.0 [2015-01-12]
+------------------
+- DG demos working in parallel
+- Simplify re-use of LU factorisations
+- CMake 3 compatibility
+- Make underlying SLEPc object accessible
+- Full support for linear algebra backends with 64-bit integers
+- Add smoothed aggregation AMG elasticity demo
+- Add support for slepc4py
+- Some self-assignment fixes in mesh data structures
+- Deprecated GenericDofMap::geometric_dimension()
+- Experimental support for ghosted meshes (overlapping region in
+ parallel)
+- Significant memory reduction in dofmap storage
+- Re-write dofmap construction with significant performance and
+ scaling improvements in parallel
+- Switch to local (process-wise) indexing for dof indices
+- Support local (process-wise) indexing in linear algerbra backends
+- Added support for PETSc 3.5, require version >= 3.3
+- Exposed DofMap::tabulate_local_to_global_dofs,
+ MeshEntity::sharing_processes in Python
+- Added GenericDofmap::local_dimension("all"|"owned"|"unowned")
+- Added access to SLEPc or slepc4py EPS object of SLEPcEigenSolver
+ (requires slepc4py version >= 3.5.1)
+- LinearOperator can now be accessed using petsc4py
+- Add interface (PETScTAOSolver) for the PETSc nonlinear
+ (bound-constrained) optimisation solver (TAO)
+- Add GenericMatrix::nnz() function to return number of nonzero
+ entries in matrix (fixes #110)
+- Add smoothed aggregation algerbraic multigrid demo for elasticity
+- Add argument 'function' to project, to store the result into a
+ preallocated function
+- Remove CGAL dependency and mesh generation, now provided by mshr
+- Python 2.7 required
+- Add experimental Python 3 support. Need swig version 3.0.3 or later
+- Move to py.test, speed up unit tests and make tests more robust in
+ parallel
+- Repeated initialization of PETScMatrix is now an error
+- MPI interface change: num_processes -> size, process_number -> rank
+- Add optional argument project(..., function=f), to avoid superfluous
+ allocation
+- Remove excessive printing of points during extrapolation
+- Clean up DG demos by dropping restrictions of Constants: c('+') -> c
+- Fix systemassembler warning when a and L both provide the same
+ subdomain data.
+- Require mesh instead of cell argument to FacetArea, FacetNormal,
+ CellSize, CellVolume, SpatialCoordinate, Circumradius,
+ MinFacetEdgeLength, MaxFacetEdgeLength
+- Remove argument reset_sparsity to assemble()
+- Simplify assemble() and Form() signature: remove arguments mesh,
+ coefficients, function_spaces, common_cell. These are now all found
+ by inspecting the UFL form
+- Speed up assembly of forms with multiple integrals depending on
+ different functions, e.g. f*dx(1) + g*dx(2).
+- Handle accessing of GenericVectors using numpy arrays in python
+ layer instead of in hard-to-maintain C++ layer
+- Add support for mpi groups in jit-compilation
+- Make access to HDFAttributes more dict like
+- Add 1st and 2nd order Rush Larsen schemes for the
+ PointIntegralSolver
+- Add vertex assembler for PointIntegrals
+- Add support for assembly of custom_integral
+- Add support for multimesh assembly, function spaces, dofmaps and
+ functions
+- Fix to Cell-Point collision detection to prevent Points inside the
+ mesh from falling between Cells due to rounding errors
+- Enable reordering of cells and vertices in parallel via SCOTCH and
+ the Giibs-Poole-Stockmeyer algorithm
+- Efficiency improvements in dof assignment in parallel, working on
+ HPC up to 24000 cores
+- Introduction of PlazaRefinement methods based on refinement of the
+ Mesh skeleton, giving better quality refinement in 3D in parallel
+- Basic support for 'ghost cells' allowing integration over interior
+ facets in parallel
+
+1.4.0 [2014-06-02]
+------------------
+- Feature: Add set_diagonal (with GenericVector) to GenericMatrix
+- Fix many bugs associated with cell orientations on manifolds
+- Force all global dofs to be ordered last and to be on the last
+ process in parallel
+- Speed up dof reordering of mixed space including global dofs by
+ removing the latter from graph reordering
+- Force all dofs on a shared facet to be owned by the same process
+- Add FEniCS ('fenics') Python module, identical with DOLFIN Python
+ module
+- Add function Form::set_some_coefficients()
+- Remove Boost.MPI dependency
+- Change GenericMatrix::compresss to return a new matrix (7be3a29)
+- Add function GenericTensor::empty()
+- Deprecate resizing of linear algebra via the GenericFoo interfaces
+ (fixes #213)
+- Deprecate MPI::process_number() in favour of MPI::rank(MPI_Comm)
+- Use PETSc built-in reference counting to manage lifetime of wrapped
+ PETSc objects
+- Remove random access function from MeshEntityIterator (fixes #178)
+- Add support for VTK 6 (fixes #149)
+- Use MPI communicator in interfaces. Permits the creation of
+ distributed and local objects, e.g. Meshes.
+- Reduce memory usage and increase speed of mesh topology computation
+
+1.3.0 [2014-01-07]
+------------------
+- Feature: Enable assignment of sparse MeshValueCollections to
+ MeshFunctions
+- Feature: Add free function assign that is used for sub function
+ assignment
+- Feature: Add class FunctionAssigner that cache dofs for sub function
+ assignment
+- Fix runtime dependency on checking swig version
+- Deprecate DofMap member methods vertex_to_dof_map and
+ dof_to_vertex_map
+- Add free functions: vertex_to_dof_map and dof_to_vertex_map, and
+ correct the ordering of the map.
+- Introduce CompiledSubDomain a more robust version of
+ compiled_subdomains, which is now deprecated
+- CMake now takes care of calling the correct generate-foo script if
+ so needed.
+- Feature: Add new built-in computational geometry library
+ (BoundingBoxTree)
+- Feature: Add support for setting name and label to an Expression
+ when constructed
+- Feature: Add support for passing a scalar GenericFunction as default
+ value to a CompiledExpression
+- Feature: Add support for distance queries for 3-D meshes
+- Feature: Add PointIntegralSolver, which uses the MultiStageSchemes
+ to solve local ODEs at Vertices
+- Feature: Add RKSolver and MultiStageScheme for general time integral
+ solvers
+- Feature: Add support for assigning a Function with linear
+ combinations of Functions, which lives in the same FunctionSpace
+- Added Python wrapper for SystemAssembler
+- Added a demo using compiled_extension_module with separate source
+ files
+- Fixes for NumPy 1.7
+- Remove DOLFIN wrapper code (moved to FFC)
+- Add set_options_prefix to PETScKrylovSolver
+- Remove base class BoundarCondition
+- Set block size for PETScMatrix when available from TensorLayout
+- Add support to get block compressed format from STLMatrix
+- Add detection of block structures in the dofmap for vector equations
+- Expose PETSc GAMG parameters
+- Modify SystemAssembler to support separate assembly of A and b
+
+1.2.0 [2013-03-24]
+------------------
+- Fixes bug where child/parent hierarchy in Python were destroyed
+- Add utility script dolfin-get-demos
+- MeshFunctions in python now support iterable protocol
+- Add timed VTK output for Mesh and MeshFunction in addtion to
+ Functions
+- Expose ufc::dofmap::tabulate_entity_dofs to GenericDofMap interface
+- Expose ufc::dofmap::num_entity_dofs to GenericDofMap interface
+- Allow setting of row dof coordinates in preconditioners (only works
+ with PETSc backed for now)
+- Expose more PETSc/ML parameters
+- Improve speed to tabulating coordinates in some DofMap functions
+- Feature: Add support for passing a Constant as default value to a
+ CompiledExpression
+- Fix bug in dimension check for 1-D ALE
+- Remove some redundant graph code
+- Improvements in speed of parallel dual graph builder
+- Fix bug in XMDF output for cell-based Functions
+- Fixes for latest version of clang compiler
+- LocalSolver class added to efficiently solve cell-wise problems
+- New implementation of periodic boundary conditions. Now incorporated
+ into the dofmap
+- Optional arguments to assemblers removed
+- SymmetricAssembler removed
+- Domains for assemblers can now only be attached to forms
+- SubMesh can now be constructed without a CellFunction argument, if
+ the MeshDomain contains marked celldomains.
+- MeshDomains are propagated to a SubMesh during construction
+- Simplify generation of a MeshFunction from MeshDomains: No need to
+ call mesh_function with mesh
+- Rename dolfin-config.cmake to DOLFINConfig.cmake
+- Use CMake to configure JIT compilation of extension modules
+- Feature: Add vertex_to_dof_map to DofMap, which map vertex indices
+ to dolfin dofs
+- Feature: Add support for solving on m dimensional meshes embedded in
+ n >= m dimensions
+
+1.1.0 [2013-01-08]
+------------------
+- Add support for solving singular problems with Krylov solvers (PETSc
+ only)
+- Add new typedef dolfin::la_index for consistent indexing with linear
+ algebra backends.
+- Change default unsigned integer type to std::size_t
+- Add support to attaching operator null space to preconditioner
+ (required for smoothed aggregation AMG)
+- Add basic interface to the PETSc AMG preconditioner
+- Make SCOTCH default graph partitioner (GNU-compatible free license,
+ unlike ParMETIS)
+- Add scalable construction of mesh dual graph for mesh partitioning
+- Improve performance of mesh building in parallel
+- Add mesh output to SVG
+- Add support for Facet and cell markers to mesh converted from
+ Diffpack
+- Add support for Facet and cell markers/attributes to mesh converted
+ from Triangle
+- Change interface for auto-adaptive solvers: these now take the goal
+ functional as a constructor argument
+- Add memory usage monitor: monitor_memory_usage()
+- Compare mesh hash in interpolate_vertex_values
+- Add hash() for Mesh and MeshTopology
+- Expose GenericVector::operator{+=,-=,+,-}(double) to Python
+- Add function Function::compute_vertex_values not needing a mesh
+ argument
+- Add support for XDMF and HDF5
+- Add new interface LinearOperator for matrix-free linear systems
+- Remove MTL4 linear algebra backend
+- Rename down_cast --> as_type in C++ / as_backend_type in Python
+- Remove KrylovMatrix interface
+- Remove quadrature classes
+- JIT compiled C++ code can now include a dolfin namespace
+- Expression string parsing now understand C++ namespace such as
+ std::cosh
+- Fix bug in Expression so one can pass min, max
+- Fix bug in SystemAssembler, where mesh.init(D-1, D) was not called
+ before assemble
+- Fix bug where the reference count of Py_None was not increased
+- Fix bug in reading TimeSeries of size smaller than 3
+- Improve code design for Mesh FooIterators to avoid dubious down cast
+- Bug fix in destruction of PETSc user preconditioners
+- Add CellVolume(mesh) convenience wrapper to Python interface for UFL
+ function
+- Fix bug in producing outward pointing normals of BoundaryMesh
+- Fix bug introduced by SWIG 2.0.5, where typemaps of templated
+ typedefs are not handled correctly
+- Fix bug introduced by SWIG 2.0.5, which treated uint as Python long
+- Add check that sample points for TimeSeries are monotone
+- Fix handling of parameter "report" in Krylov solvers
+- Add new linear algebra backend "PETScCusp" for GPU-accelerated
+ linear algebra
+- Add sparray method in the Python interface of GenericMatrix,
+ requires scipy.sparse
+- Make methods that return a view of contiguous c-arrays, via a NumPy
+ array, keep a reference from the object so it wont get out of scope
+- Add parameter: "use_petsc_signal_handler", which enables/disable
+ PETSc system signals
+- Avoid unnecessary resize of result vector for A*b
+- MPI functionality for distributing values between neighbours
+- SystemAssembler now works in parallel with topological/geometric
+ boundary search
+- New symmetric assembler with ability for stand-alone RHS assemble
+- Major speed-up of DirichletBC computation and mesh marking
+- Major speed-up of assembly of functions and expressions
+- Major speed-up of mesh topology computation
+- Add simple 2D and 3D mesh generation (via CGAL)
+- Add creation of mesh from triangulations of points (via CGAL)
+- Split the SWIG interface into six combined modules instead of one
+- Add has_foo to easy check what solver and preconditioners are
+ available
+- Add convenience functions for listing available
+ linear_algebra_backends
+- Change naming convention for cpp unit tests test.cpp -> Foo.cpp
+- Added cpp unit test for GenericVector::operator{-,+,*,/}= for all la
+ backends
+- Add functionality for rotating meshes
+- Add mesh generation based on NETGEN constructive solid geometry
+- Generalize SparsityPattern and STLMatrix to support column-wise
+ storage
+- Add interfaces to wrap PaStiX and MUMPS direct solvers
+- Add CoordinateMatrix class
+- Make STLMatrix work in parallel
+- Remove all tr1::tuple and use boost::tuple
+- Fix wrong link in Python quick reference.
+
+1.0.0 [2011-12-07]
+------------------
+- Change return value of IntervalCell::facet_area() 0.0 --> 1.0.
+- Recompile all forms with FFC 1.0.0
+- Fix for CGAL 3.9 on OS X
+- Improve docstrings for Box and Rectangle
+- Check number of dofs on local patch in extrapolation
+
+1.0-rc2 [2011-11-28]
+--------------------
+- Fix bug in 1D mesh refinement
+- Fix bug in handling of subdirectories for TimeSeries
+- Fix logic behind vector assignment, especially in parallel
+
+1.0-rc1 [2011-11-21]
+--------------------
+- 33 bugs fixed
+- Implement traversal of bounding box trees for all codimensions
+- Edit and improve all error messages
+- Added [un]equality operator to FunctionSpace
+- Remove batch compilation of Expression (Expressions) from Python
+ interface
+- Added get_value to MeshValueCollection
+- Added assignment operator to MeshValueCollection
+
+1.0-beta2 [2011-10-26]
+----------------------
+- Change search path of parameter file to
+ ~/.fenics/dolfin_parameters.xml
+- Add functions Parameters::has_parameter,
+ Parameters::has_parameter_set
+- Added option to store all connectivities in a mesh for TimeSeries
+ (false by default)
+- Added option for gzip compressed binary files for TimeSeries
+- Propagate global parameters to Krylov and LU solvers
+- Fix OpenMp assemble of scalars
+- Make OpenMP assemble over sub domains work
+- DirichletBC.get_boundary_values, FunctionSpace.collapse now return a
+ dict in Python
+- Changed name of has_la_backend to has_linear_algebra_backend
+- Added has_foo functions which can be used instead of the HAS_FOO
+ defines
+- Less trict check on kwargs for compiled Expression
+- Add option to not right-justify tables
+- Rename summary --> list_timings
+- Add function list_linear_solver_methods
+- Add function list_lu_solver_methods
+- Add function list_krylov_solver_methods
+- Add function list_krylov_solver_preconditioners
+- Support subdomains in SystemAssembler (not for interior facet
+ integrals)
+- Add option functionality apply("flush") to PETScMatrix
+- Add option finalize_tensor=true to assemble functions
+- Solver parameters can now be passed to solve
+- Remove deprecated function Variable::disp()
+- Remove deprecated function logging()
+- Add new class MeshValueCollection
+- Add new class MeshDomains replacing old storage of boundary markers
+ as part of MeshData. The following names are no longer supported:
+ - boundary_facet_cells
+ - boundary_facet_numbers
+ - boundary_indicators
+ - material_indicators
+ - cell_domains
+ - interior_facet_domains
+ - exterior_facet_domains
+- Rename XML tag <meshfunction> --> <mesh_function>
+- Rename SubMesh data "global_vertex_indices" -->
+ "parent_vertex_indices"
+- Get XML input/output of boundary markers working again
+- Get FacetArea working again
+
+1.0-beta [2011-08-11]
+---------------------
+- Print percentage of non-zero entries when computing sparsity
+ patterns
+- Use ufl.Real for Constant in Python interface
+- Add Dirichlet boundary condition argument to Python project function
+- Add remove functionality for parameter sets
+- Added out typemap for vector of shared_ptr objects
+- Fix typemap bug for list of shared_ptr objects
+- Support parallel XML vector io
+- Add support for gzipped XML output
+- Use pugixml for XML output
+- Move XML SAX parser to libxml2 SAX2 interface
+- Simplify XML io
+- Change interface for variational problems, class VariationalProblem
+ removed
+- Add solve interface: solve(a == L), solve(F == 0)
+- Add new classes Linear/NonlinearVariationalProblem
+- Add new classes Linear/NonlinearVariationalSolver
+- Ad form class aliases ResidualForm and Jacobian form in wrapper code
+- Default argument to variables in Expression are passed as kwargs in
+ the Python interface
+- Add has_openmp as utility function in Python interface
+- Add improved error reporting using dolfin_error
+- Use Boost to compute Legendre polynolials
+- Remove ode code
+- Handle parsing of unrecognized command-line parameters
+- All const std::vector<foo>& now return a read-only NumPy array
+- Make a robust macro for generating a NumPy array from data
+- Exposing low level fem functionality to Python, by adding a Cell ->
+ ufc::cell typemap
+- Added ufl_cell as a method to Mesh in Python interface
+- Fix memory leak in Zoltan interface
+- Remove some 'new' for arrays in favour of std::vector
+- Added cell as an optional argument to Constant
+- Prevent the use of non contiguous NumPy arrays for most typemaps
+- Point can now be used to evaluate a Function or Expression in Python
+- Fixed dimension check for Function and Expression eval in Python
+- Fix compressed VTK output for tensors in 2D
+
+0.9.11 [2011-05-16]
+-------------------
+- Change license from LGPL v2.1 to LGPL v3 or later
+- Moved meshconverter to dolfin_utils
+- Add support for conversion of material markers for Gmsh meshes
+- Add support for point sources (class PointSource)
+- Rename logging --> set_log_active
+- Add parameter "clear_on_write" to TimeSeries
+- Add support for input/output of nested parameter sets
+- Check for dimensions in linear solvers
+- Add support for automated error control for variational problems
+- Add support for refinement of MeshFunctions after mesh refinement
+- Change order of test and trial spaces in Form constructors
+- Make SWIG version >= 2.0 a requirement
+- Recognize subdomain data in Assembler from both Form and Mesh
+- Add storage for subdomains (cell_domains etc) in Form class
+- Rename MeshData "boundary facet cells" --> "boundary_facet_cells"
+- Rename MeshData "boundary facet numbers" -->
+ "boundary_facet_numbers"
+- Rename MeshData "boundary indicators" --> "boundary_indicators"
+- Rename MeshData "exterior facet domains" -->
+ "exterior_facet_domains"
+- Updates for UFC 2.0.1
+- Add FiniteElement::evaluate_basis_derivatives_all
+- Add support for VTK output of facet-based MeshFunctions
+- Change default log level from PROGRESS to INFO
+- Add copy functions to FiniteElement and DofMap
+- Simplify DofMap
+- Interpolate vector values when reading from time series
+
+0.9.10 [2011-02-23]
+-------------------
+- Updates for UFC 2.0.0
+- Handle TimeSeries stored backward in time (automatic reversal)
+- Automatic storage of hierarchy during refinement
+- Remove directory/library 'main', merged into 'common'
+- dolfin_init --> init, dolfin_set_precision --> set_precision
+- Remove need for mesh argument to functional assembly when possible
+- Add function set_output_stream
+- Add operator () for evaluation at points for Function/Expression in
+ C++
+- Add abs() to GenericVector interface
+- Fix bug for local refinement of manifolds
+- Interface change: VariationalProblem now takes: a, L or F, (dF)
+- Map linear algebra objects to processes consistently with mesh
+ partition
+- Lots of improvemenst to parallel assembly, dof maps and linear
+ algebra
+- Add lists supported_elements and supported_elements_for_plotting in
+ Python
+- Add script dolfin-plot for plotting meshes and elements from the
+ command-line
+- Add support for plotting elements from Python
+- Add experimental OpenMP assembler
+- Thread-safe fixed in Function class
+- Make GenericFunction::eval thread-safe (Data class removed)
+- Optimize and speedup topology computation (mesh.init())
+- Add function Mesh::clean() for cleaning out auxilliary topology data
+- Improve speed and accuracy of timers
+- Fix bug in 3D uniform mesh refinement
+- Add built-in meshes UnitTriangle and UnitTetrahedron
+- Only create output directories when they don't exist
+- Make it impossible to set the linear algebra backend to something
+ illegal
+- Overload value_shape instead of dim for userdefined Python
+ Expressions
+- Permit unset parameters
+- Search only for BLAS library (not cblas.h)
+
+0.9.9 [2010-09-01]
+------------------
+- Change build system to CMake
+- Add named MeshFunctions: VertexFunction, EdgeFunction, FaceFunction,
+ FacetFunction, CellFunction
+- Allow setting constant boundary conditions directly without using
+ Constant
+- Allow setting boundary conditions based on string ("x[0] == 0.0")
+- Create missing directories if specified as part of file names
+- Allow re-use of preconditioners for most backends
+- Fixes for UMFPACK solver on some 32 bit machines
+- Provide access to more Hypre preconditioners via PETSc
+- Updates for SLEPc 3.1
+- Improve and implement re-use of LU factorizations for all backends
+- Fix bug in refinement of MeshFunctions
+
+0.9.8 [2010-07-01]
+------------------
+- Optimize and improve StabilityAnalysis.
+- Use own implementation of binary search in ODESolution (takes
+ advantage of previous values as initial guess)
+- Improve reading ODESolution spanning multiple files
+- Dramatic speedup of progress bar (and algorithms using it)
+- Fix bug in writing meshes embedded higher dimensions to M-files
+- Zero vector in uBLASVector::resize() to fix spurious bug in Krylov
+ solver
+- Handle named fields (u.rename()) in VTK output
+- Bug fix in computation of FacetArea for tetrahedrons
+- Add support for direct plotting of Dirichlet boundary conditions:
+ plot(bc)
+- Updates for PETSc 3.1
+- Add relaxation parameter to NewtonSolver
+- Implement collapse of renumbered dof maps (serial and parallel)
+- Simplification of DofMapBuilder for parallel dof maps
+- Improve and simplify DofMap
+- Add Armadillo dependency for dense linear algebra
+- Remove LAPACKFoo wrappers
+- Add abstract base class GenericDofMap
+- Zero small values in VTK output to avoid VTK crashes
+- Handle MeshFunction/markers in homogenize bc
+- Make preconditioner selectable in VariationalProblem (new parameter)
+- Read/write meshes in binary format
+- Add parameter "use_ident" in DirichletBC
+- Issue error by default when solvers don't converge (parameter
+ "error_on_convergence")
+- Add option to print matrix/vector for a VariationalProblem
+- Trilinos backend now works in parallel
+- Remove Mesh refine members functions. Use free refine(...) functions
+ instead
+- Remove AdapativeObjects
+- Add Stokes demo using the MINI element
+- Interface change: operator+ now used to denote enriched function
+ spaces
+- Interface change: operator+ --> operator* for mixed elements
+- Add option 'allow_extrapolation' useful when interpolating to
+ refined meshes
+- Add SpatialCoordinates demo
+- Add functionality for accessing time series sample times:
+ vector_times(), mesh_times()
+- Add functionality for snapping mesh to curved boundaries during
+ refinement
+- Add functionality for smoothing the boundary of a mesh
+- Speedup assembly over exterior facets by not using BoundaryMesh
+- Mesh refinement improvements, remove unecessary copying in Python
+ interface
+- Clean PETSc and Epetra Krylov solvers
+- Add separate preconditioner classes for PETSc and Epetra solvers
+- Add function ident_zeros for inserting one on diagonal for zero rows
+- Add LU support for Trilinos interface
+
+0.9.7 [2010-02-17]
+------------------
+- Add support for specifying facet orientation in assembly over
+ interior facets
+- Allow user to choose which LU package PETScLUSolver uses
+- Add computation of intersection between arbitrary mesh entities
+- Random access to MeshEntitiyIterators
+- Modify SWIG flags to prevent leak when using SWIG director feature
+- Fix memory leak in std::vector<Foo*> typemaps
+- Add interface for SCOTCH for parallel mesh partitioning
+- Bug fix in SubDomain::mark, fixes bug in DirichletBC based on
+ SubDomain::inside
+- Improvements in time series class, recognizing old stored values
+- Add FacetCell class useful in algorithms iterating over boundary
+ facets
+- Rename reconstruct --> extrapolate
+- Remove GTS dependency
+
+0.9.6 [2010-02-03]
+------------------
+- Simplify access to form compiler parameters, now integrated with
+ global parameters
+- Add DofMap member function to return set of dofs
+- Fix memory leak in the LA interface
+- Do not import cos, sin, exp from NumPy to avoid clash with UFL
+ functions
+- Fix bug in MTL4Vector assignment
+- Remove sandbox (moved to separate repository)
+- Remove matrix factory (dolfin/mf)
+- Update .ufl files for changes in UFL
+- Added swig/import/foo.i for easy type importing from dolfin modules
+- Allow optional argument cell when creating Expression
+- Change name of Expression argument cpparg --> cppcode
+- Add simple constructor (dim0, dim1) for C++ matrix Expressions
+- Add example demonstrating the use of cpparg (C++ code in Python)
+- Add least squares solver for dense systems (wrapper for DGELS)
+- New linear algebra wrappers for LAPACK matrices and vectors
+- Experimental support for reconstruction of higher order functions
+- Modified interface for eval() and inside() in C++ using Array
+- Introduce new Array class for simplified wrapping of arrays in SWIG
+- Improved functionality for intersection detection
+- Re-implementation of intersection detection using CGAL
+
+0.9.5 [2009-12-03]
+------------------
+- Set appropriate parameters for symmetric eigenvalue problems with
+ SLEPc
+- Fix for performance regression in recent uBLAS releases
+- Simplify Expression interface: f = Expression("sin(x[0])")
+- Simplify Constant interface: c = Constant(1.0)
+- Fix bug in periodic boundary conditions
+- Add simple script dolfin-tetgen for generating DOLFIN XML meshes
+ from STL
+- Make XML parser append/overwrite parameter set when reading
+ parameters from file
+- Refinement of function spaces and automatic interpolation of member
+ functions
+- Allow setting global parameters for Krylov solver
+- Fix handling of Constants in Python interface to avoid repeated JIT
+ compilation
+- Allow simple specification of subdomains in Python without needing
+ to subclass SubDomain
+- Add function homogenize() for simple creation of homogeneous BCs
+ from given BCs
+- Add copy constructor and possibility to change value for DirichletBC
+- Add simple wrapper for ufl.cell.n. FacetNormal(mesh) now works again
+ in Python.
+- Support apply(A), apply(b) and apply(b, x) in PeriodicBC
+- Enable setting spectral transformation for SLEPc eigenvalue solver
+
+0.9.4 [2009-10-12]
+------------------
+- Remove set, get and operator() methods from MeshFunction
+- Added const and none const T &operator[uint/MeshEntity] to
+ MeshFunction
+- More clean up in SWIG interface files, remove global renames and
+ ignores
+- Update Python interface to Expression, with extended tests for value
+ ranks
+- Removed DiscreteFunction class
+- Require value_shape and geometric_dimension in Expression
+- Introduce new class Expression replacing user-defined Functions
+- interpolate_vertex_values --> compute_vertex_values
+- std::map<std::string, Coefficient> replaces generated CoefficientSet
+ code
+- Cleanup logic in Function class as a result of new Expression class
+- Introduce new Coefficient base class for form coefficients
+- Replace CellSize::min,max by Mesh::hmin,hmax
+- Use MUMPS instead of UMFPACK as default direct solver in both serial
+ and parallel
+- Fix bug in SystemAssembler
+- Remove support for PETSc 2.3 and support PETSc 3.0.0 only
+- Remove FacetNormal Function. Use UFL facet normal instead.
+- Add update() function to FunctionSpace and DofMap for use in
+ adaptive mesh refinement
+- Require mesh in constructor of functionals (C++) or argument to
+ assemble (Python)
+
+0.9.3 [2009-09-25]
+------------------
+- Add global parameter "ffc_representation" for form representation in
+ FFC JIT compiler
+- Make norm() function handle both vectors and functions in Python
+- Speedup periodic boundary conditions and make work for mixed
+ (vector-valued) elements
+- Add possibilities to use any number numpy array when assigning
+ matrices and vectors
+- Add possibilities to use any integer numpy array for indices in
+ matrices and vectors
+- Fix for int typemaps in PyDOLFIN
+- Split mult into mult and transpmult
+- Filter out PETSc argument when parsing command-line parameters
+- Extend comments to SWIG interface files
+- Add copyright statements to SWIG interface files (not finished yet)
+- Add typemaps for misc std::vector<types> in PyDOLFIN
+- Remove dependencies on std_vector.i reducing SWIG wrapper code size
+- Use relative %includes in dolfin.i
+- Changed names on SWIG interface files dolfin_foo.i -> foo.i
+- Add function interpolate() in Python interface
+- Fix typmaps for uint in python 2.6
+- Use TypeError instead of ValueError in typechecks in typmaps.i
+- Add in/out shared_ptr<Epetra_FEFoo> typemaps for PyDOLFIN
+- Fix JIT compiling in parallel
+- Add a compile_extension_module function in PyDOLFIN
+- Fix bug in Python vector assignment
+- Add support for compressed base64 encoded VTK files (using zlib)
+- Add support for base64 encoded VTK files
+- Experimental support for parallel assembly and solve
+- Bug fix in project() function, update to UFL syntax
+- Remove disp() functions and replace by info(foo, true)
+- Add fem unit test (Python)
+- Clean up SystemAssembler
+- Enable assemble_system through PyDOLFIN
+- Add 'norm' to GenericMatrix
+- Efficiency improvements in NewtonSolver
+- Rename NewtonSolver::get_iteration() to NewtonSolver::iteration()
+- Improvements to EpetraKrylovSolver::solve
+- Add constructor Vector::Vector(const GenericVector& x)
+- Remove SCons deprecation warnings
+- Memory leak fix in PETScKrylovSolver
+- Rename dolfin_assert -> assert and use C++ version
+- Fix debug/optimise flags
+- Remove AvgMeshSize, InvMeshSize, InvFacetArea from SpecialFunctions
+- Rename MeshSize -> CellSize
+- Rewrite parameter system with improved support for command-line
+ parsing, localization of parameters (per class) and usability from
+ Python
+- Remove OutflowFacet from SpecialFunctions
+- Rename interpolate(double*) --> interpolate_vertex_values(double*)
+- Add Python version of Cahn-Hilliard demo
+- Fix bug in assemble.py
+- Permit interpolation of functions between non-matching meshes
+- Remove Function::Function(std::string filename)
+- Transition to new XML io
+- Remove GenericSparsityPattern::sort
+- Require sorted/unsorted parameter in SparsityPattern constructor
+- Improve performance of SparsityPattern::insert
+- Replace enums with strings for linear algebra and built-in meshes
+- Allow direct access to Constant value
+- Initialize entities in MeshEntity constructor automatically and
+ check range
+- Add unit tests to the memorycheck
+- Add call to clean up libxml2 parser at exit
+- Remove unecessary arguments in DofMap member functions
+- Remove reference constructors from DofMap, FiniteElement and
+ FunctionSpace
+- Use a shared_ptr to store the mesh in DofMap objects
+- Interface change for wrapper code: PoissonBilinearForm -->
+ Poisson::BilinearForm
+- Add function info_underline() for writing underlined messages
+- Rename message() --> info() for "compatibility" with Python logging
+ module
+- Add elementwise multiplication in GeneriVector interface
+- GenericVector interface in PyDOLFIN now support the sequence
+ protocol
+- Rename of camelCaps functions names: fooBar --> foo_bar Note:
+ mesh.numVertices() --> mesh.num_vertices(), mesh.numCells() -->
+ mesh.num_cells()
+- Add slicing capabilities for GenericMatrix interface in PyDOLFIN
+ (only getitem)
+- Add slicing capabilities for GenericVector interface in PyDOLFIN
+- Add sum to GenericVector interface
+
+0.9.2 [2009-04-07]
+------------------
+- Enable setting parameters for Newton solver in VariationalProblem
+- Simplified and improved implementation of C++ plotting, calling
+ Viper on command-line
+- Remove precompiled elements and projections
+- Automatically interpolate user-defined functions on assignment
+- Add new built-in function MeshCoordinates, useful in ALE simulations
+- Add new constructor to Function class, Function(V, "vector.xml")
+- Remove class Array (using std::vector instead)
+- Add vector_mapping data to MeshData
+- Use std::vector instead of Array in MeshData
+- Add assignment operator and copy constructor for MeshFunction
+- Add function mesh.move(other_mesh) for moving mesh according to
+ matching mesh (for FSI)
+- Add function mesh.move(u) for moving mesh according to displacement
+ function (for FSI)
+- Add macro dolfin_not_implemented()
+- Add new interpolate() function for interpolation of user-defined
+ function to discrete
+- Make _function_space protected in Function
+- Added access to crs data from python for uBLAS and MTL4 backend
+
+0.9.1 [2009-02-17]
+------------------
+- Check Rectangle and Box for non-zero dimensions
+- ODE solvers now solve the dual problem
+- New class SubMesh for simple extraction of matching meshes for sub
+ domains
+- Improvements of multiprecision ODE solver
+- Fix Function class copy constructor
+- Bug fixes for errornorm(), updates for new interface
+- Interface update for MeshData: createMeshFunction -->
+ create_mesh_function etc
+- Interface update for Rectangle and Box
+- Add elastodynamics demo
+- Fix memory leak in IntersectionDetector/GTSInterface
+- Add check for swig version, in jit and compile functions
+- Bug fix in dolfin-order script for gzipped files
+- Make shared_ptr work across C++/Python interface
+- Replace std::tr1::shared_ptr with boost::shared_ptr
+- Bug fix in transfinite mean-value interpolation
+- Less annoying progress bar (silent when progress is fast)
+- Fix assignment operator for MeshData
+- Improved adaptive mesh refinement (recursive Rivara) producing
+ better quality meshes
+
+0.9.0 [2009-01-05]
+------------------
+- Cross-platform fixes
+- PETScMatrix::copy fix
+- Some Trilinos fixes
+- Improvements in MeshData class
+- Do not use initial guess in Newton solver
+- Change OutflowFacet to IsOutflowFacet and change syntax
+- Used shared_ptr for underling linear algebra objects
+- Cache subspaces in FunctionSpace
+- Improved plotting, now support plot(grad(u)), plot(div(u)) etc
+- Simple handling of JIT-compiled functions
+- Sign change (bug fix) in increment for Newton solver
+- New class VariationalProblem replacing LinearPDE and NonlinearPDE
+- Parallel parsing and partitioning of meshes (experimental)
+- Add script dolfin-order for ordering mesh files
+- Add new class SubSpace (replacing SubSystem)
+- Add new class FunctionSpace
+- Complete redesign of Function class hierarchy, now a single Function
+ class
+- Increased use of shared_ptr in Function, FunctionSpace, etc
+- New interface for boundary conditions, form not necessary
+- Allow simple setting of coefficient functions based on names (not
+ their index)
+- Don't order mesh automatically, meshes must now be ordered
+ explicitly
+- Simpler definition of user-defined functions (constructors not
+ necessary)
+- Make mesh iterators const to allow for const-correct Mesh code
+
+0.8.1 [2008-10-20]
+------------------
+- Add option to use ML multigrid preconditioner through PETSc
+- Interface change for ODE solvers: uBLASVector --> double*
+- Remove homotopy solver
+- Remove typedef real, now using plain double instead
+- Add various operators -=, += to GenericMatrix
+- Don't use -Werror when compiling SWIG generated code
+- Remove init(n) and init(m, n) from GenericVector/Matrix. Use resize
+ and zero instead
+- Add new function is_combatible() for checking compatibility of
+ boundary conditions
+- Use x as initial guess in Krylov solvers (PETSc, uBLAS, ITL)
+- Add new function errornorm()
+- Add harmonic ALE mesh smoothing
+- Refinements of Graph class
+- Add CholmodCholeskySlover (direct solver for symmetric matrices)
+- Implement application of Dirichlet boundary conditions within
+ assembly loop
+- Improve efficiency of SparsityPattern
+- Allow a variable number of smoothings
+- Add class Table for pretty-printing of tables
+- Add experimental MTL4 linear algebra backend
+- Add OutflowFacet to SpecialFunctions for DG transport problems
+- Remove unmaintained OpenDX file format
+- Fix problem with mesh smoothing near nonconvex corners
+- Simple projection of functions in Python
+- Add file format: XYZ for use with Xd3d
+- Add built-in meshes: UnitCircle, Box, Rectangle, UnitSphere
+
+0.8.0 [2008-06-23]
+------------------
+- Fix input of matrix data from XML
+- Add function normalize()
+- Integration with VMTK for reading DOLFIN XML meshes produced by VMTK
+- Extend mesh XML format to handle boundary indicators
+- Add support for attaching arbitrarily named data to meshes
+- Add support for dynamically choosing the linear algebra backend
+- Add Epetra/Trilinos linear solvers
+- Add setrow() to matrix interface
+- Add new solver SingularSolver for solving singular (pressure)
+ systems
+- Add MeshSize::min(), max() for easy computation of smallest/largest
+ mesh size
+- LinearSolver now handles all backends and linear solvers
+- Add access to normal in Function, useful for inflow boundary
+ conditions
+- Remove GMRES and LU classes, use solve() instead
+- Improve solve() function, now handles both LU and Krylov +
+ preconditioners
+- Add ALE mesh interpolation (moving mesh according to new boundary
+ coordinates)
+
+0.7.3 [2008-04-30]
+------------------
+- Add support for Epetra/Trilinos
+- Bug fix for order of values in interpolate_vertex_values, now
+ according to UFC
+- Boundary meshes are now always oriented with respect to outward
+ facet normals
+- Improved linear algebra, both in C++ and Python
+- Make periodic boundary conditions work in Python
+- Fix saving of user-defined functions
+- Improve plotting
+- Simple computation of various norms of functions from Python
+- Evaluation of Functions at arbitrary points in a mesh
+- Fix bug in assembling over exterior facets (subdomains were ignored)
+- Make progress bar less annoying
+- New scons-based build system replaces autotools
+- Fix bug when choosing iterative solver from Python
+
+0.7.2 [2008-02-18]
+------------------
+- Improve sparsity pattern generator efficiency
+- Dimension-independent sparsity pattern generator
+- Add support for setting strong boundary values for DG elements
+- Add option setting boundary conditions based on geometrical search
+- Check UMFPACK return argument for warnings/errors
+- Simplify setting simple Dirichlet boundary conditions
+- Much improved integration with FFC in PyDOLFIN
+- Caching of forms by JIT compiler now works
+- Updates for UFC 1.1
+- Catch exceptions in PyDOLFIN
+- Work on linear algebra interfaces GenericTensor/Matrix/Vector
+- Add linear algebra factory (backend) interface
+- Add support for 1D meshes
+- Make Assembler independent of linear algebra backend
+- Add manager for handling sub systems (PETSc and MPI)
+- Add parallel broadcast of Mesh and MeshFunction
+- Add experimental support for parallel assembly
+- Use PETSc MPI matrices when running in parallel
+- Add predefined functions FacetNormal and AvgMeshSize
+- Add left/right/crisscross options for UnitSquare
+- Add more Python demos
+- Add support for Exodus II format in dolfin-convert
+- Autogenerate docstrings for PyDOLFIN
+- Various small bug fixes and improvements
+
+0.7.1 [2007-08-31]
+------------------
+- Integrate FFC form language into PyDOLFIN
+- Just-in-time (JIT) compilation of variational forms
+- Conversion from from Diffpack grid format to DOLFIN XML
+- Name change: BoundaryCondition --> DirichletBC
+- Add support for periodic boundary conditions: class PeriodicBC
+- Redesign default linear algebra interface (Matrix, Vector,
+ KrylovSolver, etc)
+- Add function to return Vector associated with a DiscreteFunction
+
+0.7.0-1 [2007-06-22]
+--------------------
+- Recompile all forms with latest FFC release
+- Remove typedefs SparseMatrix and SparseVector
+- Fix includes in LinearPDE
+- Rename DofMaps -> DofMapSet
+
+0.7.0 [2007-06-20]
+------------------
+- Move to UFC interface for code generation
+- Major rewrite, restructure, cleanup
+- Add support for Brezzi-Douglas-Marini (BDM) elements
+- Add support for Raviart-Thomas (RT) elements
+- Add support for Discontinuous Galerkin (DG) methods
+- Add support for mesh partitioning (through SCOTCH)
+- Handle both UMFPACK and UFSPARSE
+- Local mesh refinement
+- Mesh smoothing
+- Built-in plotting (through Viper)
+- Cleanup log system
+- Numerous fixes for mesh, in particular MeshFunction
+- Much improved Python bindings for mesh
+- Fix Python interface for vertex and cell maps in boundary
+ computation
+
+0.6.4 [2006-12-01]
+------------------
+- Switch from Python Numeric to Python NumPy
+- Improved mesh Python bindings
+- Add input/output support for MeshFunction
+- Change Mesh::vertices() --> Mesh::coordinates()
+- Fix bug in output of mesh to MATLAB format
+- Add plasticty module (experimental)
+- Fix configure test for Python dev (patch from Åsmund Ødegård)
+- Add mesh benchmark
+- Fix memory leak in mesh (data not deleted correctly in MeshTopology)
+- Fix detection of curses libraries
+- Remove Tecplot output format
+
+0.6.3 [2006-10-27]
+------------------
+- Move to new mesh library
+- Remove dolfin-config and move to pkg-config
+- Remove unused classes PArray, PList, Table, Tensor
+- Visualization of 2D solutions in OpenDX is now supported (3D
+ supported before)
+- Add support for evaluation of functionals
+- Fix bug in Vector::sum() for uBLAS vectors
+
+0.6.2-1 [2006-09-06]
+--------------------
+- Fix compilation error when using --enable-petsc
+ (dolfin::uBLASVector::PETScVector undefined)
+
+0.6.2 [2006-09-05]
+------------------
+- Finish chapter in manual on linear algebra
+- Enable PyDOLFIN by default, use --disable-pydolfin to disable
+- Disable PETSc by default, use --enable-petsc to enable
+- Modify ODE solver interface for u0() and f()
+- Add class ConvectionMatrix
+- Readd classes LoadVector, MassMatrix, StiffnessMatrix
+- Add matrix factory for simple creation of standard finite element
+ matrices
+- Collect static solvers in LU and GMRES
+- Bug fixes for Python interface PyDOLFIN
+- Enable use of direct solver for ODE solver (experimental)
+- Remove demo bistable
+- Restructure and cleanup linear algebra
+- Use UMFPACK for LU solver with uBLAS matrix types
+- Add templated wrapper class for different uBLAS matrix types
+- Add ILU preconditioning for uBLAS matrices
+- Add Krylov solver for uBLAS sparse matrices (GMRES and BICGSTAB)
+- Add first version of new mesh library (NewMesh, experimental)
+- Add Parametrized::readParameters() to trigger reading of values on
+ set()
+- Remove output of zeros in Octave matrix file format
+- Use uBLAS-based vector for Vector if PETSc disabled
+- Add wrappers for uBLAS compressed_matrix class
+- Compute eigenvalues using SLEPc (an extension of PETSc)
+- Clean up assembly and linear algebra
+- Add function to solve Ax = b for dense matrices and dense vectors
+- Make it possible to compile without PETSc (--disable-petsc)
+- Much improved ODE solvers
+- Complete multi-adaptive benchmarks reaction and wave
+- Assemble boundary integrals
+- FEM class cleaned up.
+- Fix multi-adaptive benchmark problem reaction
+- Small fixes for Intel C++ compiler version 9.1
+- Test for Intel C++ compiler and configure appropriately
+- Add new classes DenseMatrix and DenseVector (wrappers for ublas)
+- Fix bug in conversion from Gmsh format
+
+0.6.1 [2006-03-28]
+------------------
+- Regenerate build system in makedist script
+- Update for new FFC syntax: BasisFunction --> TestFunction,
+ TrialFunction
+- Fixes for conversion script dolfin-convert
+- Initial cleanups and fixes for ODE solvers
+- Numerous small fixes to improve portability
+- Remove dolfin:: qualifier on output << in Parameter.h
+- Don't use anonymous classes in demos, gives errors with some
+ compilers
+- Remove KrylovSolver::solver()
+- Fix bug in convection-diffusion demo (boundary condition for
+ pressure), use direct solver
+- LinearPDE and NewonSolver use umfpack LU solver by default (if
+ available) when doing direct solve
+- Set PETSc matrix type through Matrix constructor
+- Allow linear solver and preconditioner type to be passed to
+ NewtonSolver
+- Fix bug in Stokes demos (wrong boundary conditions)
+- Cleanup Krylov solver
+- Remove KrylovSolver::setPreconditioner() etc. and move to
+ constructors
+- Remove KrylovSolver::setRtol() etc. and replace with parameters
+- Fix remaining name changes: noFoo() --> numFoo()
+- Add Cahn-Hilliard equation demo
+- NewtonSolver option to use residual or incremental convergence
+ criterion
+- Add separate function to nls to test for convergence of Newton
+ iterations
+- Fix bug in dolfin-config (wrong version number)
+
+0.6.0 [2006-03-01]
+------------------
+- Fix bug in XML output format (writing multiple objects)
+- Fix bug in XML matrix output format (handle zero rows)
+- Add new nonlinear PDE demo
+- Restructure PDE class to use envelope-letter design
+- Add precompiled finite elements for q <= 5
+- Add FiniteElementSpec and factor function for FiniteElement
+- Add input/output of Function to DOLFIN XML
+- Name change: dof --> node
+- Name change: noFoo() --> numFoo()
+- Add conversion from gmsh format in dolfin-convert script
+- Updates for PETSc 2.3.1
+- Add new type of Function (constant)
+- Simplify use of Function class
+- Add new demo Stokes + convection-diffusion
+- Add new demo Stokes (equal-order stabilized)
+- Add new demo Stokes (Taylor-Hood)
+- Add new parameter for KrylovSolvers: "monitor convergence"
+- Add conversion script dolfin-convert for various mesh formats
+- Add new demo elasticity
+- Move poisson demo to src/demo/pde/poisson
+- Move to Mercurial (hg) from CVS
+- Use libtool to build libraries (including shared)
+
+0.5.12 [2006-01-12]
+-------------------
+- Make Stokes solver dimension independent (2D/3D)
+- Make Poisson solver dimension independent (2D/3D)
+- Fix sparse matrix output format for MATLAB
+- Modify demo problem for Stokes, add exact solution and compute error
+- Change interface for boundary conditions: operator() --> eval()
+- Add two benchmark problems for the Navier-Stokes solver
+- Add support for 2D/3D selection in Navier-Stokes solver
+- Move tic()/toc() to timing.h
+- Navier-Stokes solver back online
+- Make Solver a subclass of Parametrized
+- Add support for localization of parameters
+- Redesign of parameter system
+
+0.5.11 [2005-12-15]
+-------------------
+- Add script monitor for monitoring memory usage
+- Remove meminfo.h (not portable)
+- Remove dependence on parameter system in log system
+- Don't use drand48() (not portable)
+- Don't use strcasecmp() (not portable)
+- Remove sysinfo.h and class System (not portable)
+- Don't include <sys/utsname.h> (not portable)
+- Change ::show() --> ::disp() everywhere
+- Clean out old quadrature classes on triangles and tetrahedra
+- Clean out old sparse matrix code
+- Update chapter on Functions in manual
+- Use std::map to store parameters
+- Implement class KrylovSolver
+- Name change: Node --> Vertex
+- Add nonlinear solver demos
+- Add support for picking sub functions and components of functions
+- Update interface for FiniteElement for latest FFC version
+- Improve and restructure implementation of the Function class
+- Dynamically adjust safety factor during integration
+- Improve output Matrix::disp()
+- Check residual at end of time step, reject step if too large
+- Implement Vector::sum()
+- Implement nonlinear solver
+- New option for ODE solver: "save final solution" --> solution.data
+- New ODE test problem: reaction
+- Fixes for automake 1.9 (nobase_include_HEADERS)
+- Reorganize build system, remove fake install and require make
+ install
+- Add checks for non-standard PETSc component HYPRE in NSE solver
+- Make GMRES solver return the number of iterations
+- Add installation script for Python interface
+- Add Matrix Market format (Haiko Etzel)
+- Automatically reinitialize GMRES solver when system size changes
+- Implement cout << for class Vector
+
+0.5.10 [2005-10-11]
+-------------------
+- Modify ODE solver interface: add T to constructor
+- Fix compilation on AMD 64 bit systems (add -fPIC)
+- Add new BLAS mode for form evaluation
+- Change enum types in File to lowercase
+- Change default file type for .m to Octave
+- Add experimental Python interface PyDOLFIN
+- Fix compilation for gcc 4.0
+
+0.5.9 [2005-09-23]
+------------------
+- Add Stokes module
+- Support for arbitrary mixed elements through FFC
+- VTK output interface now handles time-dependent functions
+ automatically
+- Fix cout for empty matrix
+- Change dolfin_start() --> dolfin_end()
+- Add chapters to manual: about, log system, parameters, reference
+ elements, installation, contributing, license
+- Use new template fenicsmanual.cls for manual
+- Add compiler flag -U__STRICT_ANSI__ when compiling under Cygwin
+- Add class EigenvalueSolver
+
+0.5.8 [2005-07-05]
+------------------
+- Add new output format Paraview/VTK (Garth N. Wells)
+- Update Tecplot interface
+- Move to PETSc 2.3.0
+- Complete support for general order Lagrange elements in triangles
+ and tetrahedra
+- Add test problem in src/demo/fem/convergence/ for general Lagrange
+ elements
+- Make FEM::assemble() estimate the number of nonzeros in each row
+- Implement Matrix::init(M, N, nzmax)
+- Add Matrix::nz(), Matrix::nzsum() and Matrix::nzmax()
+- Improve Mesh::disp()
+- Add FiniteElement::disp() and FEM::disp() (useful for debugging)
+- Remove old class SparseMatrix
+- Change FEM::setBC() --> FEM::applyBC()
+- Change Mesh::tetrahedrons --> Mesh::tetrahedra
+- Implement Dirichlet boundary conditions for tetrahedra
+- Implement Face::contains(const Point& p)
+- Add test for shape dimension of mesh and form in FEM::assemble()
+- Move src/demo/fem/ demo to src/demo/fem/simple/
+- Add README file in src/demo/poisson/ (simple manual)
+- Add simple demo program src/demo/poisson/
+- Update computation of alignment of faces to match FFC/FIAT
+
+0.5.7 [2005-06-23]
+------------------
+- Clean up ODE test problems
+- Implement automatic detection of sparsity pattern from given matrix
+- Clean up homotopy solver
+- Implement automatic computation of Jacobian
+- Add support for assembly of non-square systems (Andy Terrel)
+- Make ODE solver report average number of iterations
+- Make progress bar write first update at 0%
+- Initialize all values of u before solution in multi-adaptive solver,
+ not only components given by dependencies
+- Allow user to modify and verify a converging homotopy path
+- Make homotopy solver save a list of the solutions
+- Add Matrix::norm()
+- Add new test problem for CES economy
+- Remove cast from Parameter to const char* (use std::string)
+- Make solution data filename optional for homotopy solver
+- Append homotopy solution data to file during solution
+- Add dolfin::seed(int) for optionally seeding random number generator
+- Remove dolfin::max,min (use std::max,min)
+- Add polynomial-integer (true polynomial) form of general CES system
+- Compute multi-adaptive efficiency index
+- Updates for gcc 4.0 (patches by Garth N. Wells)
+- Add Matrix::mult(const real x[], uint row) (temporary fix, assumes
+ uniprocessor case)
+- Add Matrix::mult(const Vector& x, uint row) (temporary fix, assumes
+ uniprocessor case)
+- Update shortcuts MassMatrix and StiffnessMatrix to new system
+- Add missing friend to Face.h (reported by Garth N. Wells)
+
+0.5.6 [2005-05-17]
+------------------
+- Implementation of boundary conditions for general order Lagrange
+ (experimental)
+- Use interpolation function automatically generated by FFC
+- Put computation of map into class AffineMap
+- Clean up assembly
+- Use dof maps automatically generated by FFC (experimental)
+- Modify interface FiniteElement for new version of FFC
+- Update ODE homotopy test problems
+- Add cross product to class Point
+- Sort mesh entities locally according to ordering used by FIAT and
+ FFC
+- Add new format for dof maps (preparation for higher-order elements)
+- Code cleanups: NewFoo --> Foo complete
+- Updates for new version of FFC (0.1.7)
+- Bypass log system when finalizing PETSc (may be out of scope)
+
+0.5.5 [2005-04-26]
+------------------
+- Fix broken log system, curses works again
+- Much improved multi-adaptive time-stepping
+- Move elasticity module to new system based on FFC
+- Add boundary conditions for systems
+- Improve regulation of time steps
+- Clean out old assembly classes
+- Clean out old form classes
+- Remove kernel module map
+- Remove kernel module element
+- Move convection-diffusion module to new system based on FFC
+- Add iterators for cell neighbors of edges and faces
+- Implement polynomial for of CES economy
+- Rename all new linear algebra classes: NewFoo --> Foo
+- Clean out old linear algebra
+- Speedup setting of boundary conditions (add MAT_KEEP_ZEROED_ROWS)
+- Fix bug for option --disable-curses
+
+0.5.4 [2005-03-29]
+------------------
+- Remove option to compile with PETSc 2.2.0 (2.2.1 required)
+- Make make install work again (fix missing includes)
+- Add support for mixing multiple finite elements (through FFC)
+- Improve functionality of homotopy solver
+- Simple creation of piecewise linear functions (without having an
+ element)
+- Simple creation of piecewise linear elements
+- Add support of automatic creation of simple meshes (unit cube, unit
+ square)
+
+0.5.3 [2005-02-26]
+------------------
+- Change to PETSc version 2.2.1
+- Add flag --with-petsc=<path> to configure script
+- Move Poisson's equation to system based on FFC
+- Add support for automatic creation of homotopies
+- Make all ODE solvers automatically handle complex ODEs: (M) z' =
+ f(z,t)
+- Implement version of mono-adaptive solver for implicit ODEs: M u' =
+ f(u,t)
+- Implement Newton's method for multi- and mono-adaptive ODE solvers
+- Update PETSc wrappers NewVector, NewMatrix, and NewGMRES
+- Fix initialization of PETSc
+- Add mono-adaptive cG(q) and dG(q) solvers (experimental)
+- Implementation of new assebly: NewFEM, using output from FFC
+- Add access to mesh for nodes, cells, faces and edges
+- Add Tecplot I/O interface; contributed by Garth N. Wells
+
+0.5.2 [2005-01-26]
+------------------
+- Benchmarks for DOLFIN vs PETSc (src/demo/form and src/demo/test)
+- Complete rewrite of the multi-adaptive ODE solver (experimental)
+- Add wrapper for PETSc GMRES solver
+- Update class Point with new operators
+- Complete rewrite of the multi-adaptive solver to improve performance
+- Add PETSc wrappers NewMatrix and NewVector
+- Add DOLFIN/PETSc benchmarks
+
+0.5.1 [2004-11-10]
+------------------
+- Experimental support for automatic generation of forms using FFC
+- Allow user to supply Jacobian to ODE solver
+- Add optional test to check if a dependency already exists (Sparsity)
+- Modify sparse matrix output (Matrix::show())
+- Add FGMRES solver in new format (patch from eriksv)
+- Add non-const version of quick-access of sparse matrices
+- Add linear mappings for simple computation of derivatives
+- Add check of matrix dimensions for ODE sparsity pattern
+- Include missing cmath in Function.cpp
+
+0.5.0 [2004-08-18]
+------------------
+- First prototype of new form evaluation system
+- New classes Jacobi, SOR, Richardson (preconditioners and linear
+ solvers)
+- Add integrals on the boundary (ds), partly working
+- Add maps from boundary of reference cell
+- Add evaluation of map from reference cell
+- New Matrix functions: max, min, norm, and sum of rows and columns
+ (erik)
+- Derivatives/gradients of ElementFunction (coefficients f.ex.)
+ implemented
+- Enable assignment to all elements of a NewArray
+- Add functions Boundary::noNodes(), noFaces(), noEdges()
+- New class GaussSeidel (preconditioner and linear solver)
+- New classes Preconditioner and LinearSolver
+- Bug fix for tetrahedral mesh refinement (ingelstrom)
+- Add iterators for Edge and Face on Boundary
+- Add functionality to Map: bdet() and cell()
+- Add connectivity face-cell and edge-cell
+- New interface for assembly: Galerkin --> FEM
+- Bug fix for PDE systems of size > 3
+
+0.4.11 [2004-04-23]
+-------------------
+- Add multigrid solver (experimental)
+- Update manual
+
+0.4.10
+------
+- Automatic model reduction (experimental)
+- Fix bug in ParticleSystem (divide by mass)
+- Improve control of integration (add function ODE::update())
+- Load/save parameters in XML-format
+- Add assembly test
+- Add simple StiffnessMatrix, MassMatrix, and LoadVector
+- Change dK --> dx
+- Change dx() --> ddx()
+- Add support for GiD file format
+- Add performance tests for multi-adaptivity (both stiff and
+ non-stiff)
+- First version of Newton for the multi-adaptive solver
+- Test for Newton for the multi-adaptive solver
+
+0.4.9
+-----
+- Add multi-adaptive solver for the bistable equation
+- Add BiCGSTAB solver (thsv)
+- Fix bug in SOR (thsv)
+- Improved visual program for OpenDX
+- Fix OpenDX file format for scalar functions
+- Allow access to samples of multi-adaptive solution
+- New patch from thsv for gcc 3.4.0 and 3.5.0
+- Make progress step a parameter
+- New function ODE::sparse(const Matrix& A)
+- Access nodes, cells, edges, faces by id
+- New function Matrix::lump()
+
+0.4.8
+-----
+- Add support for systems (jansson and bengzon)
+- Add new module wave
+- Add new module wave-vector
+- Add new module elasticity
+- Add new module elasticity-stationary
+- Multi-adaptive updates
+- Fix compilation error in LogStream
+- Fix local Newton iteration for higher order elements
+- Init matrix to given type
+- Add output of cG(q) and dG(q) weights in matrix format
+- Fix numbering of frames from plotslab script
+- Add png output for plotslab script
+- Add script for running stiff test problems, plot solutions
+- Fix bug in MeshInit (node neighbors of node)
+- Modify output of sysinfo()
+- Compile with -Wall -Werror -pedantic -ansi -std=c++98 (thsv)
+
+0.4.7
+-----
+- Make all stiff test problems work
+- Display status report also when using step()
+- Improve adaptive damping for stiff problems (remove spikes)
+- Modify Octave/Matlab format for solution data (speed improvement)
+- Adaptive sampling of solution (optional)
+- Restructure stiff test problems
+- Check if value of right-hand side is valid
+- Modify divergence test in AdaptiveIterationLevel1
+
+0.4.6
+-----
+- Save vectors and matrices from Matlab/Octave (foufas)
+- Rename writexml.m to xmlmesh.m
+- Inlining of important functions
+- Optimize evaluation of elements
+- Optimize Lagrange polynomials
+- Optimize sparsity: use stl containers
+- Optimize choice of discrete residual for multi-adaptive solver
+- Don't save solution in benchmark proble
+- Improve computation of divergence factor for underdamped systems
+- Don't check residual on first slab for fixed time step
+- Decrease largest (default) time step to 0.1
+- Add missing <cmath> in TimeStepper
+- Move real into dolfin namespace
+
+0.4.5
+-----
+- Rename function.h to enable compilation under Cygwin
+- Add new benchmark problem for multi-adaptive solver
+- Bug fix for ParticleSystem
+- Initialization of first time step
+- Improve time step regulation (threshold)
+- Improve stabilization
+- Improve TimeStepper interface (Ko Project)
+- Use iterators instead of recursively calling TimeSlab::update()
+- Clean up ODESolver
+- Add iterators for elements in time slabs and element groups
+- Add -f to creation of symbolic links
+
+0.4.4
+-----
+- Add support for 3D graphics in Octave using Open Inventor (jj)
+
+0.4.3
+-----
+- Stabilization of multi-adaptive solver (experimental)
+- Improved non-support for curses (--disable-curses)
+- New class MechanicalSystem for simulating mechanical systems
+- Save debug info from primal and dual (plotslab.m)
+- Fix bug in progress bar
+- Add missing include file in Components.h (kakr)
+- New function dolfin_end(const char* msg, ...)
+- Move numerical differentiation to RHS
+- New class Event for limited display of messages
+- Fix bug in LogStream (large numbers in floating point format)
+- Specify individual time steps for different components
+- Compile without warnings
+- Add -Werror to option enable-debug
+- Specify individual methods for different components
+- Fix bug in dGqMethods
+- Fix bug (delete old block) in ElementData
+- Add parameters for method and order
+- New test problem reaction
+- New class FixedPointIteration
+- Fix bug in grid refinement
+
+0.4.2
+-----
+- Fix bug in computation of residual (divide by k)
+- Add automatic generation and solution of the dual problem
+- Automatic selection of file names for primal and dual
+- Fix bug in progress bar (TerminalLogger)
+- Many updates of multi-adaptive solver
+- Add class ODEFunction
+- Update function class hierarchies
+- Move functions to a separate directory
+- Store multi-adaptive solution binary on disk with cache
+
+0.4.1
+-----
+- First version of multi-adaptive solver working
+- Clean up file formats
+- Start changing from int to unsigned int where necessary
+- Fix bool->int when using stdard in Parameter
+- Add NewArray and NewList (will replace Array and List)
+
+0.4.0
+-----
+- Initiation of the FEniCS project
+- Change syntax of mesh files: grid -> mesh
+- Create symbolic links instead of copying files
+- Tanganyika -> ODE
+- Add Heat module
+- Grid -> Mesh
+- Move forms and mappings to separate libraries
+- Fix missing include of DirectSolver.h
+
+0.3.12
+------
+- Adaptive grid refinement (!)
+- Add User Manual
+- Add function dolfin_log() to turn logging on/off
+- Change from pointers to references for Node, Cell, Edge, Face
+- Update writexml.m
+- Add new grid files and rename old grid files
+
+0.3.11
+------
+- Add configure option --disable-curses
+- Grid refinement updates
+- Make OpenDX file format work for grids (output)
+- Add volume() and diameter() in cell
+- New classes TriGridRefinement and TetGridRefinement
+- Add iterators for faces and edges on a boundary
+- New class GridHierarchy
+
+0.3.10
+------
+- Use new boundary structure in Galerkin
+- Make dolfin_start() and dolfin_end() work
+- Make dolfin_assert() raise segmentation fault for plain text mode
+- Add configure option --enable-debug
+- Use autoreconf instead of scripts/preconfigure
+- Rename configure.in -> configure.ac
+- New class FaceIterator
+- New class Face
+- Move computation of boundary from GridInit to BoundaryInit
+- New class BoundaryData
+- New class BoundaryInit
+- New class Boundary
+- Make InitGrid compute edges
+- Add test program for generic matrix in src/demo/la
+- Clean up Grid classes
+- Add new class GridRefinementData
+- Move data from Cell to GenericCell
+- Make GMRES work with user defined matrix, only mult() needed
+- GMRES now uses only one function to compute residual()
+- Change Matrix structure (a modified envelope/letter)
+- Update script checkerror.m for Poisson
+- Add function dolfin_info_aptr()
+- Add cast to element pointer for iterators
+- Clean up and improve the Tensor class
+- New class: List
+- Name change: List -> Table
+- Name change: ShortList -> Array
+- Make functions in GridRefinement static
+- Make functions in GridInit static
+- Fix bug in GridInit (eriksv)
+- Add output to OpenDX format for 3D grids
+- Clean up ShortList class
+- Clean up List class
+- New class ODE, Equation replaced by PDE
+- Add Lorenz test problem
+- Add new problem type for ODEs
+- Add new module ode
+- Work on multi-adaptive ODE solver (lots of new stuff)
+- Work on grid refinement
+- Write all macros in LoggerMacros in one line
+- Add transpose functions to Matrix (Erik)
+
+0.3.9
+-----
+- Update Krylov solver (Erik, Johan)
+- Add new LU factorization and LU solve (Niklas)
+- Add benchmark test in src/demo/bench
+- Add silent logger
+
+0.3.8
+-----
+- Make sure dolfin-config is regenerated every time
+- Add demo program for cG(q) and dG(q)
+- Add dG(q) precalc of nodal points and weights
+- Add cG(q) precalc of nodal points and weights
+- Fix a bug in configure.in (AC_INIT with README)
+- Add Lagrange polynomials
+- Add multiplication with transpose
+- Add scalar products with rows and columns
+- Add A[i][j] index operator for quick access to dense matrix
+
+0.3.7
+-----
+- Add new Matlab-like syntax like A(i,all) = x or A(3,all) = A(4,all)
+- Add dolfin_assert() macro enabled if debug is defined
+- Redesign of Matrix/DenseMatrix/SparseMatrix to use Matrix as common
+ interface
+- Include missing cmath in Legendre.cpp and GaussianQuadrature.cpp
+
+0.3.6
+-----
+- Add output functionality in DenseMatrix
+- Add high precision solver to DirectSolver
+- Clean up error messages in Matrix
+- Make solvers directly accessible through Matrix and DenseMatrix
+- Add quadrature (Gauss, Radau, and Lobatto) from Tanganyika
+- Start merge with Tanganyika
+- Add support for automatic documentation using doxygen
+- Update configure scripts
+- Add greeting at end of compilation
+
+0.3.5
+-----
+- Define version number only in the file configure.in
+- Fix compilation problem (missing depcomp)
+
+0.3.4
+-----
+- Fix bugs in some of the ElementFunction operators
+- Make convection-diffusion solver work again
+- Fix bug in integration, move multiplication with the determinant
+- Fix memory leaks in ElementFunction
+- Add parameter to choose output format
+- Make OctaveFile and MatlabFile subclasses of MFile
+- Add classes ScalarExpressionFunction and VectorExpressionFunction
+- Make progress bars work cleaner
+- Get ctrl-c in curses logger
+- Remove <Problem>Settings-classes and use dolfin_parameter()
+- Redesign settings to match the structure of the log system
+- Add vector functions: Function::Vector
+- Add vector element functions: ElementFunction::Vector
+
+0.3.3
+-----
+- Increased functionality of curses-based interface
+- Add progress bars to log system
+
+0.3.2
+-----
+- More work on grid refinement
+- Add new curses based log system
+
+0.3.1
+-----
+- Makefile updates: make install should now work properly
+- KrylovSolver updates
+- Preparation for grid refinement
+- Matrix and Vector updates
+
+0.3.0
+-----
+- Make poisson work again, other modules still not working
+- Add output format for octave
+- Fix code to compile with g++-3.2 -Wall -Werror
+- New operators for Matrix
+- New and faster GMRES solver (speedup factor 4)
+- Changed name from SparseMatrix to Matrix
+- Remove old unused code
+- Add subdirectory math containing mathematical functions
+- Better access for A(i,j) += to improve speed in assembling
+- Add benchmark for linear algebra
+- New definition of finite element
+- Add algebra for function spaces
+- Convert grids in data/grids to xml.gz
+- Add iterators for Nodes and Cells
+- Change from .hh to .h
+- Add operators to Vector class (foufas)
+- Add dependence on libxml2
+- Change from .C to .cpp to make Jim happy.
+- Change input/output functionality to streams
+- Change to new data structure for Grid
+- Change to object-oriented API at top level
+- Add use of C++ namespaces
+- Complete and major restructuring of the code
+- Fix compilation error in src/config
+- Fix name of keyword for convection-diffusion
+
+0.2.11-1
+--------
+- Fix compilation error (`source`) on Solaris
+
+0.2.11
+------
+- Automate build process to simplify addition of new modules
+- Fix bug in matlab_write_field() (walter)
+- Fix bug in SparseMatrix::GetCopy() (foufas)
+
+0.2.10-1
+--------
+- Fix compilation errors on RedHat (thsv)
+
+0.2.10
+------
+- Fix compilation of problems to use correct compiler
+- Change default test problems to the ones in the report
+- Improve memory management using mpatrol for tracking allocations
+- Change bool to int for va_arg, seems to be a problem with gcc > 3.0
+- Improve input / output support: GiD, Matlab, OpenDX
+
+0.2.8
+-----
+- Navier-Stokes starting to work again
+- Add Navier-Stokes 2d
+- Bug fixes
+
+0.2.7
+-----
+- Add support for 2D problems
+- Add module convection-diffusion
+- Add local/global fields in equation/problem
+- Bug fixes
+- Navier-Stokes updates (still broken)
+
+0.2.6 [2002-02-19]
+------------------
+- Navier-Stokes updates (still broken)
+- Output to matlab format
+
+0.2.5
+-----
+- Add variational formulation with overloaded operators for systems
+- ShapeFunction/LocalField/FiniteElement according to Scott & Brenner
+
+0.2.4
+-----
+- Add boundary conditions
+- Poisson seems to work ok
+
+0.2.3
+-----
+- Add GMRES solver
+- Add CG solver
+- Add direct solver
+- Add Poisson solver
+- Big changes to the organisation of the source tree
+- Add kwdist.sh script
+- Bug fixes
+
+0.2.2:
+------
+- Remove curses temporarily
+
+0.2.1:
+------
+- Remove all PETSc stuff. Finally!
+- Gauss-Seidel cannot handle the pressure equation
+
+0.2.0:
+------
+- First GPL release
+- Remove all of Klas Samuelssons proprietary grid code
+- Adaptivity and refinement broken, include in next release
diff --git a/README.rst b/README.rst
index 2285454..cd70b67 100644
--- a/README.rst
+++ b/README.rst
@@ -2,8 +2,9 @@
DOLFIN
======
-DOLFIN is the computational backend of FEniCS and implements
-the FEniCS PSE (Problem Solving Environment) in Python and C++.
+DOLFIN is the computational backend of FEniCS and implements the
+FEniCS Problem Solving Environment in Python and C++.
+
Installation
============
@@ -18,6 +19,42 @@ To build DOLFIN, run::
For detailed instructions, see the file INSTALL.
+Documentation
+=============
+
+Documentation can be viewed at http://fenics-dolfin.readthedocs.org/.
+
+.. image:: https://readthedocs.org/projects/fenics-dolfin/badge/?version=latest
+ :target: http://fenics.readthedocs.io/projects/dolfin/en/latest/?badge=latest
+ :alt: Documentation Status
+
+
+Automated Testing
+=================
+
+We use Bitbucket Pipelines and Atlassian Bamboo to perform automated
+testing.
+
+.. image:: https://bitbucket-badges.useast.atlassian.io/badge/fenics-project/dolfin.svg
+ :target: https://bitbucket.org/fenics-project/dolfin/addon/pipelines/home
+ :alt: Pipelines Build Status
+
+.. image:: http://fenics-bamboo.simula.no:8085/plugins/servlet/wittified/build-status/DOL-DODO
+ :target: http://fenics-bamboo.simula.no:8085/browse/DOL-DODO/latest
+ :alt: Bamboo Build Status
+
+
+Code Coverage
+=============
+
+Code coverage reports can be viewed at
+https://coveralls.io/bitbucket/fenics-project/dolfin.
+
+.. image:: https://coveralls.io/repos/bitbucket/fenics-project/dolfin/badge.svg?branch=master
+ :target: https://coveralls.io/bitbucket/fenics-project/dolfin?branch=master
+ :alt: Coverage Status
+
+
License
=======
@@ -42,8 +79,8 @@ For comments and requests, send an email to the FEniCS mailing list:
fenics-dev at googlegroups.com
-For questions related to obtaining, building or installing DOLFIN, send
-an email to the FEniCS support mailing list:
+For questions related to obtaining, building or installing DOLFIN,
+send an email to the FEniCS support mailing list:
fenics-support at googlegroups.com
@@ -64,11 +101,4 @@ scientists and engineers distributed around the world. A list of
authors can be found in the file AUTHORS. For more information about
DOLFIN, visit
- http://fenicsproject.org
-
-
-
-Automated Testing
-=================
-
-We use Atlassian Bamboo to perform automatic testing at http://magpie.bpi.cam.ac.uk:8085
\ No newline at end of file
+ http://fenicsproject.org
\ No newline at end of file
diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt
index f68b79d..54a6c6f 100644
--- a/bench/CMakeLists.txt
+++ b/bench/CMakeLists.txt
@@ -1,5 +1,5 @@
# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
# FIXME: Temporary fix for whitespace error
cmake_policy(SET CMP0004 OLD)
diff --git a/bench/common/progress/cpp/CMakeLists.txt b/bench/common/progress/cpp/CMakeLists.txt
index 23faea1..6f45171 100644
--- a/bench/common/progress/cpp/CMakeLists.txt
+++ b/bench/common/progress/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_common_progress_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/common/timing/cpp/CMakeLists.txt b/bench/common/timing/cpp/CMakeLists.txt
index 7697e74..2c24c1e 100644
--- a/bench/common/timing/cpp/CMakeLists.txt
+++ b/bench/common/timing/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_common_timing_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/fem/assembly/cpp/CMakeLists.txt b/bench/fem/assembly/cpp/CMakeLists.txt
index 218d0a9..fcbb851 100644
--- a/bench/fem/assembly/cpp/CMakeLists.txt
+++ b/bench/fem/assembly/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_fem_assembly_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/fem/assembly/cpp/forms/Elasticity3D.h b/bench/fem/assembly/cpp/forms/Elasticity3D.h
index e71a218..0718a4a 100644
--- a/bench/fem/assembly/cpp/forms/Elasticity3D.h
+++ b/bench/fem/assembly/cpp/forms/Elasticity3D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4271,6 +4240,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4380,6 +4378,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4497,6 +4645,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4650,6 +4827,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4713,6 +5104,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -5424,10 +5830,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/NSEMomentum3D.h b/bench/fem/assembly/cpp/forms/NSEMomentum3D.h
index 534dff4..0efb333 100644
--- a/bench/fem/assembly/cpp/forms/NSEMomentum3D.h
+++ b/bench/fem/assembly/cpp/forms/NSEMomentum3D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4873,15 +4842,7 @@ public:
y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[1] = vals[1];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[2] = vals[2];
}
@@ -5057,6 +5018,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5166,6 +5156,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5283,6 +5423,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5436,6 +5605,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5572,6 +5955,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5591,46 +6003,179 @@ public:
}
case 1:
{
-
- break;
- }
- case 2:
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
{
-
- break;
+ throw std::runtime_error("i is larger than number of entities (5)");
}
- case 3:
+
+ switch (i)
{
-
- break;
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
}
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
- {
-
+
break;
}
- case 1:
+ case 2:
{
-
- break;
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
-
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
break;
}
case 3:
@@ -5764,6 +6309,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5847,6 +6421,141 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5910,6 +6619,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -7193,10 +7917,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -7212,10 +7936,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/Poisson2DP1.h b/bench/fem/assembly/cpp/forms/Poisson2DP1.h
index c328953..61dfd84 100644
--- a/bench/fem/assembly/cpp/forms/Poisson2DP1.h
+++ b/bench/fem/assembly/cpp/forms/Poisson2DP1.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -3300,10 +3537,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/Poisson2DP2.h b/bench/fem/assembly/cpp/forms/Poisson2DP2.h
index 2b6b6e8..d4850e9 100644
--- a/bench/fem/assembly/cpp/forms/Poisson2DP2.h
+++ b/bench/fem/assembly/cpp/forms/Poisson2DP2.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4077,6 +4069,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4165,6 +4181,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4272,6 +4373,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4375,6 +4500,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4496,6 +4718,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4616,6 +4862,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4660,6 +4997,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 49
@@ -4685,18 +5037,18 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.500000000000002*G0_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_1_0;
- A[2] = 0.166666666666666*G0_0_1 + 0.166666666666666*G0_1_1;
+ A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0;
+ A[2] = 0.166666666666667*G0_0_1 + 0.166666666666666*G0_1_1;
A[3] = 0.0;
A[4] = -0.666666666666668*G0_0_1 - 0.666666666666668*G0_1_1;
A[5] = -0.666666666666668*G0_0_0 - 0.666666666666668*G0_1_0;
- A[6] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_0_1;
+ A[6] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1;
A[7] = 0.5*G0_0_0;
A[8] = -0.166666666666666*G0_0_1;
A[9] = 0.666666666666664*G0_0_1;
A[10] = 0.0;
A[11] = -0.666666666666668*G0_0_0 - 0.666666666666667*G0_0_1;
- A[12] = 0.166666666666666*G0_1_0 + 0.166666666666666*G0_1_1;
+ A[12] = 0.166666666666667*G0_1_0 + 0.166666666666666*G0_1_1;
A[13] = -0.166666666666666*G0_1_0;
A[14] = 0.5*G0_1_1;
A[15] = 0.666666666666667*G0_1_0;
@@ -4710,7 +5062,7 @@ public:
A[23] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1;
A[24] = -0.666666666666668*G0_1_0 - 0.666666666666668*G0_1_1;
A[25] = 0.0;
- A[26] = -0.666666666666667*G0_0_1 - 0.666666666666665*G0_1_1;
+ A[26] = -0.666666666666667*G0_0_1 - 0.666666666666666*G0_1_1;
A[27] = -1.33333333333333*G0_0_0 - 0.666666666666656*G0_0_1 - 0.666666666666659*G0_1_0;
A[28] = 1.33333333333333*G0_0_0 + 0.666666666666659*G0_0_1 + 0.666666666666659*G0_1_0 + 1.33333333333333*G0_1_1;
A[29] = 0.666666666666665*G0_0_1 + 0.666666666666667*G0_1_0;
@@ -4719,7 +5071,7 @@ public:
A[32] = 0.0;
A[33] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1;
A[34] = 0.666666666666667*G0_0_1 + 0.666666666666665*G0_1_0;
- A[35] = 1.33333333333334*G0_0_0 + 0.666666666666668*G0_0_1 + 0.666666666666668*G0_1_0 + 1.33333333333333*G0_1_1;
+ A[35] = 1.33333333333334*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1;
}
};
@@ -5147,10 +5499,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/Poisson2DP3.h b/bench/fem/assembly/cpp/forms/Poisson2DP3.h
index 98697f2..1b7613d 100644
--- a/bench/fem/assembly/cpp/forms/Poisson2DP3.h
+++ b/bench/fem/assembly/cpp/forms/Poisson2DP3.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2538,7 +2530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2582,7 +2574,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2626,7 +2618,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2670,7 +2662,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2890,7 +2882,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2934,7 +2926,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3116,7 +3108,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3124,24 +3116,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3291,7 +3283,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3299,24 +3291,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3466,7 +3458,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3474,24 +3466,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3641,7 +3633,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3649,24 +3641,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3824,24 +3816,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3999,24 +3991,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4174,24 +4166,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4349,24 +4341,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4516,7 +4508,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4524,24 +4516,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4691,7 +4683,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4699,24 +4691,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5201,6 +5193,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5289,6 +5305,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5396,6 +5497,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5499,6 +5624,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5620,6 +5842,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5756,6 +6002,104 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5800,10 +6144,25 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 205
- // Total number of operations (multiply-add pairs): 216
+ // Number of operations (multiply-add pairs) for tensor contraction: 207
+ // Total number of operations (multiply-add pairs): 218
// Compute Jacobian
double J[4];
@@ -5825,105 +6184,105 @@ public:
// Compute element tensor
A[0] = 0.425*G0_0_0 + 0.425*G0_0_1 + 0.425*G0_1_0 + 0.425*G0_1_1;
- A[1] = -0.0875000000000003*G0_0_0 - 0.0875000000000015*G0_1_0;
- A[2] = -0.0875000000000016*G0_0_1 - 0.0875000000000018*G0_1_1;
- A[3] = -0.0374999999999991*G0_0_0 - 0.0375000000000009*G0_0_1 - 0.037500000000001*G0_1_0 - 0.037500000000004*G0_1_1;
- A[4] = -0.0375000000000027*G0_0_0 - 0.037499999999999*G0_0_1 - 0.0375000000000029*G0_1_0 - 0.037499999999999*G0_1_1;
- A[5] = 0.0375000000000003*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000015*G0_1_0 - 0.674999999999999*G0_1_1;
- A[6] = 0.0375000000000028*G0_0_0 + 0.3375*G0_0_1 + 0.0375000000000029*G0_1_0 + 0.3375*G0_1_1;
- A[7] = -0.675*G0_0_0 + 0.0375000000000009*G0_0_1 - 0.675*G0_1_0 + 0.0375000000000018*G0_1_1;
- A[8] = 0.3375*G0_0_0 + 0.0374999999999993*G0_0_1 + 0.337500000000001*G0_1_0 + 0.0375000000000024*G0_1_1;
+ A[1] = -0.0875000000000005*G0_0_0 - 0.0875000000000016*G0_1_0;
+ A[2] = -0.0875000000000018*G0_0_1 - 0.087500000000002*G0_1_1;
+ A[3] = -0.0374999999999991*G0_0_0 - 0.0375000000000016*G0_0_1 - 0.037500000000001*G0_1_0 - 0.0375000000000045*G0_1_1;
+ A[4] = -0.0375000000000027*G0_0_0 - 0.0374999999999989*G0_0_1 - 0.037500000000003*G0_1_0 - 0.037499999999999*G0_1_1;
+ A[5] = 0.0375000000000006*G0_0_0 - 0.674999999999999*G0_0_1 + 0.0375000000000014*G0_1_0 - 0.674999999999999*G0_1_1;
+ A[6] = 0.0375000000000027*G0_0_0 + 0.3375*G0_0_1 + 0.037500000000003*G0_1_0 + 0.3375*G0_1_1;
+ A[7] = -0.675*G0_0_0 + 0.037500000000001*G0_0_1 - 0.675*G0_1_0 + 0.0375000000000019*G0_1_1;
+ A[8] = 0.337500000000001*G0_0_0 + 0.0374999999999997*G0_0_1 + 0.337500000000001*G0_1_0 + 0.0375000000000026*G0_1_1;
A[9] = 0.0;
- A[10] = -0.0875000000000002*G0_0_0 - 0.0875000000000015*G0_0_1;
+ A[10] = -0.0875000000000006*G0_0_0 - 0.0875000000000016*G0_0_1;
A[11] = 0.425000000000002*G0_0_0;
- A[12] = 0.0875000000000004*G0_0_1;
- A[13] = 0.037500000000002*G0_0_0 + 0.712500000000004*G0_0_1;
- A[14] = 0.0374999999999999*G0_0_0 - 0.300000000000001*G0_0_1;
- A[15] = -0.0375000000000006*G0_0_0;
+ A[12] = 0.0875000000000005*G0_0_1;
+ A[13] = 0.0375000000000019*G0_0_0 + 0.712500000000004*G0_0_1;
+ A[14] = 0.0375*G0_0_0 - 0.300000000000001*G0_0_1;
+ A[15] = -0.0375000000000004*G0_0_0;
A[16] = -0.0375*G0_0_0;
- A[17] = 0.337500000000001*G0_0_0 + 0.3*G0_0_1;
+ A[17] = 0.337500000000002*G0_0_0 + 0.3*G0_0_1;
A[18] = -0.675000000000003*G0_0_0 - 0.712500000000001*G0_0_1;
A[19] = 0.0;
- A[20] = -0.0875000000000017*G0_1_0 - 0.0875000000000018*G0_1_1;
- A[21] = 0.0875000000000004*G0_1_0;
+ A[20] = -0.0875000000000018*G0_1_0 - 0.087500000000002*G0_1_1;
+ A[21] = 0.0875000000000005*G0_1_0;
A[22] = 0.425000000000003*G0_1_1;
- A[23] = -0.3*G0_1_0 + 0.0375000000000006*G0_1_1;
- A[24] = 0.712500000000005*G0_1_0 + 0.0375000000000009*G0_1_1;
- A[25] = 0.300000000000004*G0_1_0 + 0.337500000000005*G0_1_1;
- A[26] = -0.712500000000005*G0_1_0 - 0.675000000000005*G0_1_1;
- A[27] = -0.0375000000000021*G0_1_1;
- A[28] = -0.0375*G0_1_1;
+ A[23] = -0.3*G0_1_0 + 0.0375000000000008*G0_1_1;
+ A[24] = 0.712500000000004*G0_1_0 + 0.0375000000000001*G0_1_1;
+ A[25] = 0.300000000000002*G0_1_0 + 0.337500000000004*G0_1_1;
+ A[26] = -0.712500000000004*G0_1_0 - 0.675000000000004*G0_1_1;
+ A[27] = -0.0375000000000031*G0_1_1;
+ A[28] = -0.0375000000000002*G0_1_1;
A[29] = 0.0;
- A[30] = -0.0374999999999991*G0_0_0 - 0.037500000000001*G0_0_1 - 0.0375000000000009*G0_1_0 - 0.0375000000000039*G0_1_1;
- A[31] = 0.037500000000002*G0_0_0 + 0.712500000000004*G0_1_0;
- A[32] = -0.3*G0_0_1 + 0.0375000000000006*G0_1_1;
- A[33] = 1.6875*G0_0_0 + 0.843750000000007*G0_0_1 + 0.843750000000007*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[30] = -0.0374999999999991*G0_0_0 - 0.037500000000001*G0_0_1 - 0.0375000000000016*G0_1_0 - 0.0375000000000045*G0_1_1;
+ A[31] = 0.0375000000000019*G0_0_0 + 0.712500000000004*G0_1_0;
+ A[32] = -0.3*G0_0_1 + 0.0375000000000008*G0_1_1;
+ A[33] = 1.6875*G0_0_0 + 0.843750000000006*G0_0_1 + 0.843750000000006*G0_1_0 + 1.68750000000001*G0_1_1;
A[34] = -0.337500000000001*G0_0_0 + 0.843749999999992*G0_0_1 - 0.168750000000004*G0_1_0 - 0.337500000000009*G0_1_1;
- A[35] = 0.337500000000002*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000001*G0_1_0;
- A[36] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000004*G0_1_0;
- A[37] = 0.168749999999999*G0_0_1 + 0.168750000000003*G0_1_0 + 0.337499999999997*G0_1_1;
+ A[35] = 0.337500000000002*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000001*G0_1_0 + 1.03528297046296e-14*G0_1_1;
+ A[36] = 0.337500000000001*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000004*G0_1_0;
+ A[37] = 0.168749999999999*G0_0_1 + 0.168750000000004*G0_1_0 + 0.337499999999997*G0_1_1;
A[38] = -0.843749999999999*G0_0_1 - 0.843750000000007*G0_1_0 - 1.6875*G0_1_1;
- A[39] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.01250000000001*G0_1_0;
- A[40] = -0.0375000000000027*G0_0_0 - 0.0375000000000028*G0_0_1 - 0.037499999999999*G0_1_0 - 0.037499999999999*G0_1_1;
- A[41] = 0.0374999999999999*G0_0_0 - 0.300000000000001*G0_1_0;
- A[42] = 0.712500000000005*G0_0_1 + 0.0375000000000009*G0_1_1;
+ A[39] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.01250000000001*G0_1_0;
+ A[40] = -0.0375000000000027*G0_0_0 - 0.037500000000003*G0_0_1 - 0.0374999999999989*G0_1_0 - 0.037499999999999*G0_1_1;
+ A[41] = 0.0375*G0_0_0 - 0.300000000000001*G0_1_0;
+ A[42] = 0.712500000000004*G0_0_1 + 0.0375000000000001*G0_1_1;
A[43] = -0.337500000000001*G0_0_0 - 0.168750000000004*G0_0_1 + 0.843749999999992*G0_1_0 - 0.337500000000009*G0_1_1;
- A[44] = 1.68750000000001*G0_0_0 + 0.843750000000001*G0_0_1 + 0.843750000000001*G0_1_0 + 1.6875*G0_1_1;
- A[45] = 0.33750000000001*G0_0_0 + 0.168750000000008*G0_0_1 + 0.168750000000009*G0_1_0;
- A[46] = -1.68750000000001*G0_0_0 - 0.843750000000006*G0_0_1 - 0.843750000000002*G0_1_0;
- A[47] = 0.16875*G0_0_1 + 0.16875*G0_1_0 + 0.337500000000005*G0_1_1;
- A[48] = 0.168750000000004*G0_0_1 + 0.16875*G0_1_0 + 0.33750000000001*G0_1_1;
+ A[44] = 1.68750000000001*G0_0_0 + 0.843750000000002*G0_0_1 + 0.843750000000002*G0_1_0 + 1.6875*G0_1_1;
+ A[45] = 0.337500000000008*G0_0_0 + 0.168750000000007*G0_0_1 + 0.168750000000008*G0_1_0;
+ A[46] = -1.68750000000001*G0_0_0 - 0.843750000000004*G0_0_1 - 0.843750000000002*G0_1_0;
+ A[47] = 0.168749999999999*G0_0_1 + 0.168750000000001*G0_1_0 + 0.337500000000005*G0_1_1;
+ A[48] = 0.168750000000005*G0_0_1 + 0.168749999999999*G0_1_0 + 0.33750000000001*G0_1_1;
A[49] = -1.01250000000001*G0_0_1 - 1.0125*G0_1_0 - 2.02500000000001*G0_1_1;
- A[50] = 0.0375000000000003*G0_0_0 + 0.0375000000000015*G0_0_1 - 0.675*G0_1_0 - 0.675*G0_1_1;
- A[51] = -0.0375000000000006*G0_0_0;
- A[52] = 0.300000000000004*G0_0_1 + 0.337500000000005*G0_1_1;
- A[53] = 0.337500000000002*G0_0_0 + 0.168750000000001*G0_0_1 + 0.168750000000003*G0_1_0;
- A[54] = 0.33750000000001*G0_0_0 + 0.168750000000009*G0_0_1 + 0.168750000000008*G0_1_0;
- A[55] = 1.6875*G0_0_0 + 0.84375*G0_0_1 + 0.84375*G0_1_0 + 1.6875*G0_1_1;
- A[56] = -0.33750000000001*G0_0_0 - 1.18125000000001*G0_0_1 - 0.168750000000008*G0_1_0 - 1.35*G0_1_1;
- A[57] = 0.843750000000001*G0_0_1 + 0.843749999999997*G0_1_0;
- A[58] = -0.168750000000003*G0_0_1 - 0.168749999999999*G0_1_0;
- A[59] = -2.02500000000001*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
- A[60] = 0.0375000000000028*G0_0_0 + 0.0375000000000029*G0_0_1 + 0.3375*G0_1_0 + 0.3375*G0_1_1;
+ A[50] = 0.0375000000000006*G0_0_0 + 0.0375000000000014*G0_0_1 - 0.674999999999999*G0_1_0 - 0.674999999999999*G0_1_1;
+ A[51] = -0.0375000000000004*G0_0_0;
+ A[52] = 0.300000000000002*G0_0_1 + 0.337500000000004*G0_1_1;
+ A[53] = 0.337500000000002*G0_0_0 + 0.168750000000001*G0_0_1 + 0.168750000000003*G0_1_0 + 1.03667074924374e-14*G0_1_1;
+ A[54] = 0.337500000000008*G0_0_0 + 0.168750000000008*G0_0_1 + 0.168750000000007*G0_1_0;
+ A[55] = 1.6875*G0_0_0 + 0.843749999999999*G0_0_1 + 0.843749999999999*G0_1_0 + 1.6875*G0_1_1;
+ A[56] = -0.337500000000008*G0_0_0 - 1.18125000000001*G0_0_1 - 0.168750000000007*G0_1_0 - 1.35*G0_1_1;
+ A[57] = 0.84375*G0_0_1 + 0.843749999999996*G0_1_0;
+ A[58] = -0.168750000000003*G0_0_1 - 0.16875*G0_1_0;
+ A[59] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
+ A[60] = 0.0375000000000028*G0_0_0 + 0.037500000000003*G0_0_1 + 0.3375*G0_1_0 + 0.3375*G0_1_1;
A[61] = -0.0375*G0_0_0;
- A[62] = -0.712500000000005*G0_0_1 - 0.675000000000005*G0_1_1;
- A[63] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000004*G0_1_0;
- A[64] = -1.68750000000001*G0_0_0 - 0.843750000000002*G0_0_1 - 0.843750000000006*G0_1_0;
- A[65] = -0.33750000000001*G0_0_0 - 0.168750000000008*G0_0_1 - 1.18125000000001*G0_1_0 - 1.35*G0_1_1;
- A[66] = 1.68750000000001*G0_0_0 + 0.843750000000007*G0_0_1 + 0.843750000000007*G0_1_0 + 1.68750000000001*G0_1_1;
- A[67] = -0.16875*G0_0_1 - 0.168749999999997*G0_1_0;
- A[68] = -0.168750000000004*G0_0_1 - 0.168750000000004*G0_1_0;
+ A[62] = -0.712500000000004*G0_0_1 - 0.675000000000004*G0_1_1;
+ A[63] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000003*G0_1_0;
+ A[64] = -1.68750000000001*G0_0_0 - 0.843750000000002*G0_0_1 - 0.843750000000003*G0_1_0;
+ A[65] = -0.337500000000008*G0_0_0 - 0.168750000000007*G0_0_1 - 1.18125000000001*G0_1_0 - 1.35*G0_1_1;
+ A[66] = 1.68750000000001*G0_0_0 + 0.843750000000004*G0_0_1 + 0.843750000000003*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[67] = -0.168749999999999*G0_0_1 - 0.168749999999996*G0_1_0;
+ A[68] = -0.168750000000005*G0_0_1 - 0.168750000000004*G0_1_0;
A[69] = 1.01250000000001*G0_0_1 + 1.0125*G0_1_0;
- A[70] = -0.675*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000008*G0_1_0 + 0.0375000000000018*G0_1_1;
- A[71] = 0.337500000000001*G0_0_0 + 0.3*G0_1_0;
- A[72] = -0.0375000000000021*G0_1_1;
- A[73] = 0.168750000000003*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337499999999998*G0_1_1;
- A[74] = 0.16875*G0_0_1 + 0.16875*G0_1_0 + 0.337500000000005*G0_1_1;
- A[75] = 0.843749999999997*G0_0_1 + 0.843750000000001*G0_1_0;
- A[76] = -0.168749999999997*G0_0_1 - 0.16875*G0_1_0;
- A[77] = 1.6875*G0_0_0 + 0.843749999999998*G0_0_1 + 0.843749999999998*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[70] = -0.675*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000009*G0_1_0 + 0.0375000000000019*G0_1_1;
+ A[71] = 0.337500000000002*G0_0_0 + 0.3*G0_1_0;
+ A[72] = -0.0375000000000031*G0_1_1;
+ A[73] = 0.168750000000004*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337499999999996*G0_1_1;
+ A[74] = 0.168750000000001*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337500000000005*G0_1_1;
+ A[75] = 0.843749999999996*G0_0_1 + 0.84375*G0_1_0;
+ A[76] = -0.168749999999996*G0_0_1 - 0.168749999999999*G0_1_0;
+ A[77] = 1.6875*G0_0_0 + 0.843749999999998*G0_0_1 + 0.843749999999998*G0_1_0 + 1.6875*G0_1_1;
A[78] = -1.35*G0_0_0 - 0.168750000000003*G0_0_1 - 1.18125*G0_1_0 - 0.3375*G0_1_1;
A[79] = -1.0125*G0_0_1 - 1.0125*G0_1_0 - 2.025*G0_1_1;
- A[80] = 0.3375*G0_0_0 + 0.337500000000001*G0_0_1 + 0.0374999999999993*G0_1_0 + 0.0375000000000024*G0_1_1;
+ A[80] = 0.337500000000001*G0_0_0 + 0.337500000000001*G0_0_1 + 0.0374999999999997*G0_1_0 + 0.0375000000000026*G0_1_1;
A[81] = -0.675000000000003*G0_0_0 - 0.712500000000001*G0_1_0;
- A[82] = -0.0375*G0_1_1;
+ A[82] = -0.0375000000000002*G0_1_1;
A[83] = -0.843750000000007*G0_0_1 - 0.843749999999999*G0_1_0 - 1.6875*G0_1_1;
- A[84] = 0.16875*G0_0_1 + 0.168750000000004*G0_1_0 + 0.33750000000001*G0_1_1;
- A[85] = -0.168749999999999*G0_0_1 - 0.168750000000003*G0_1_0;
+ A[84] = 0.168749999999999*G0_0_1 + 0.168750000000005*G0_1_0 + 0.33750000000001*G0_1_1;
+ A[85] = -0.16875*G0_0_1 - 0.168750000000003*G0_1_0;
A[86] = -0.168750000000004*G0_0_1 - 0.168750000000004*G0_1_0;
- A[87] = -1.35*G0_0_0 - 1.18125*G0_0_1 - 0.168750000000002*G0_1_0 - 0.3375*G0_1_1;
- A[88] = 1.6875*G0_0_0 + 0.843750000000004*G0_0_1 + 0.843750000000004*G0_1_0 + 1.68749999999999*G0_1_1;
+ A[87] = -1.35*G0_0_0 - 1.18125*G0_0_1 - 0.168750000000003*G0_1_0 - 0.3375*G0_1_1;
+ A[88] = 1.6875*G0_0_0 + 0.843750000000005*G0_0_1 + 0.843750000000004*G0_1_0 + 1.68749999999999*G0_1_1;
A[89] = 1.0125*G0_0_1 + 1.0125*G0_1_0;
A[90] = 0.0;
A[91] = 0.0;
A[92] = 0.0;
- A[93] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.01250000000001*G0_1_0;
+ A[93] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.0125*G0_1_0;
A[94] = -1.0125*G0_0_1 - 1.01250000000001*G0_1_0 - 2.02500000000001*G0_1_1;
- A[95] = -2.02500000000001*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
+ A[95] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
A[96] = 1.0125*G0_0_1 + 1.01250000000001*G0_1_0;
A[97] = -1.0125*G0_0_1 - 1.0125*G0_1_0 - 2.025*G0_1_1;
A[98] = 1.0125*G0_0_1 + 1.0125*G0_1_0;
- A[99] = 4.05000000000001*G0_0_0 + 2.02500000000001*G0_0_1 + 2.02500000000001*G0_1_0 + 4.05000000000001*G0_1_1;
+ A[99] = 4.05*G0_0_0 + 2.02500000000001*G0_0_1 + 2.02500000000001*G0_1_0 + 4.05000000000001*G0_1_1;
}
};
@@ -6351,10 +6710,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/StabStokes2D.h b/bench/fem/assembly/cpp/forms/StabStokes2D.h
index a6cf7a2..1fe351e 100644
--- a/bench/fem/assembly/cpp/forms/StabStokes2D.h
+++ b/bench/fem/assembly/cpp/forms/StabStokes2D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -4214,25 +4206,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
@@ -4399,6 +4382,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4487,6 +4494,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4594,6 +4686,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4697,6 +4813,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4818,6 +5031,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4883,6 +5120,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4990,6 +5307,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 7;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5100,6 +5441,104 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5158,6 +5597,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 1
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -5757,10 +6211,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5776,10 +6230,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/THStokes2D.h b/bench/fem/assembly/cpp/forms/THStokes2D.h
index 741839b..82c9586 100644
--- a/bench/fem/assembly/cpp/forms/THStokes2D.h
+++ b/bench/fem/assembly/cpp/forms/THStokes2D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4142,7 +4134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4178,7 +4170,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4286,7 +4278,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4358,7 +4350,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4394,7 +4386,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4502,7 +4494,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4715,7 +4707,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4730,8 +4722,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4866,7 +4858,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4881,8 +4873,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5032,8 +5024,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5183,8 +5175,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5319,7 +5311,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5334,8 +5326,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5485,8 +5477,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5621,7 +5613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5636,8 +5628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5772,7 +5764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5787,8 +5779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5938,8 +5930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6089,8 +6081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6225,7 +6217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -6240,8 +6232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6391,8 +6383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6705,49 +6697,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6982,7 +6956,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7018,7 +6992,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7126,7 +7100,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7198,7 +7172,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7234,7 +7208,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7342,7 +7316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7639,7 +7613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7654,8 +7628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7790,7 +7764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7805,8 +7779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7956,8 +7930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8107,8 +8081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8243,7 +8217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8258,8 +8232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8409,8 +8383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8545,7 +8519,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8560,8 +8534,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8696,7 +8670,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8711,8 +8685,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8862,8 +8836,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9013,8 +8987,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9149,7 +9123,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -9164,8 +9138,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9315,8 +9289,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -10046,62 +10020,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -10279,6 +10226,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10367,6 +10338,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10474,6 +10530,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10577,31 +10657,128 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
{
case 0:
{
- return new thstokes2d_dofmap_0();
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
break;
}
case 1:
{
- return new thstokes2d_dofmap_0();
- break;
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- }
-
- return 0;
- }
-
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 2;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new thstokes2d_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new thstokes2d_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+ }
+
ufc::dofmap * create() const final override
{
return new thstokes2d_dofmap_1();
@@ -10698,6 +10875,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10818,6 +11019,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10925,6 +11217,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11068,6 +11384,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11189,6 +11614,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11345,6 +11794,127 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ dofs[2] = 12;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ dofs[2] = 13;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ dofs[2] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ dofs[6] = 12;
+ dofs[7] = 14;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ dofs[6] = 12;
+ dofs[7] = 13;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11403,6 +11973,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 32
// Number of operations (multiply-add pairs) for tensor contraction: 282
@@ -11448,7 +12033,7 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1 + 0.5*G2_0_0 + 0.5*G2_0_1 + 0.5*G2_1_0 + 0.5*G2_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_1_0;
+ A[1] = 0.166666666666667*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666667*G2_0_0 + 0.166666666666666*G2_1_0;
A[2] = 0.166666666666666*G0_0_1 + 0.166666666666665*G0_1_1 + 0.166666666666666*G2_0_1 + 0.166666666666665*G2_1_1;
A[3] = 0.0;
A[4] = -0.666666666666667*G0_0_1 - 0.666666666666667*G0_1_1 - 0.666666666666667*G2_0_1 - 0.666666666666667*G2_1_1;
@@ -11459,15 +12044,15 @@ public:
A[9] = 0.0;
A[10] = 0.0;
A[11] = 0.0;
- A[12] = 0.166666666666666*G4_0 + 0.166666666666667*G4_1;
+ A[12] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
A[13] = 0.0;
A[14] = 0.0;
A[15] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_0_1;
A[16] = 0.5*G0_0_0 + 0.5*G2_0_0;
A[17] = -0.166666666666666*G0_0_1 - 0.166666666666666*G2_0_1;
- A[18] = 0.666666666666664*G0_0_1 + 0.666666666666664*G2_0_1;
+ A[18] = 0.666666666666663*G0_0_1 + 0.666666666666663*G2_0_1;
A[19] = 0.0;
- A[20] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_0_1;
+ A[20] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
A[21] = 0.0;
A[22] = 0.0;
A[23] = 0.0;
@@ -11493,11 +12078,11 @@ public:
A[43] = 0.0;
A[44] = -0.166666666666667*G4_1;
A[45] = 0.0;
- A[46] = 0.666666666666664*G0_1_0 + 0.666666666666664*G2_1_0;
+ A[46] = 0.666666666666663*G0_1_0 + 0.666666666666663*G2_1_0;
A[47] = 0.666666666666666*G0_0_1 + 0.666666666666666*G2_0_1;
- A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333332*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333332*G2_1_1;
+ A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333331*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333331*G2_1_1;
A[49] = -1.33333333333333*G0_0_0 - 0.666666666666659*G0_0_1 - 0.666666666666656*G0_1_0 - 1.33333333333333*G2_0_0 - 0.666666666666659*G2_0_1 - 0.666666666666656*G2_1_0;
- A[50] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666666*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[50] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[51] = 0.0;
A[52] = 0.0;
A[53] = 0.0;
@@ -11523,9 +12108,9 @@ public:
A[73] = 0.166666666666666*G4_0;
A[74] = 0.333333333333333*G4_0 + 0.166666666666665*G4_1;
A[75] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
- A[76] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_1_0;
+ A[76] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_1_0;
A[77] = 0.0;
- A[78] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666666*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[78] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[79] = 0.666666666666666*G0_0_1 + 0.666666666666665*G0_1_0 + 0.666666666666666*G2_0_1 + 0.666666666666665*G2_1_0;
A[80] = 1.33333333333333*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666667*G2_0_1 + 0.666666666666667*G2_1_0 + 1.33333333333333*G2_1_1;
A[81] = 0.0;
@@ -11544,12 +12129,12 @@ public:
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.5*G1_0_0 + 0.5*G1_0_1 + 0.5*G1_1_0 + 0.5*G1_1_1 + 0.5*G3_0_0 + 0.5*G3_0_1 + 0.5*G3_1_0 + 0.5*G3_1_1;
- A[97] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_1_0;
+ A[97] = 0.166666666666667*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666667*G3_0_0 + 0.166666666666666*G3_1_0;
A[98] = 0.166666666666666*G1_0_1 + 0.166666666666665*G1_1_1 + 0.166666666666666*G3_0_1 + 0.166666666666665*G3_1_1;
A[99] = 0.0;
A[100] = -0.666666666666667*G1_0_1 - 0.666666666666667*G1_1_1 - 0.666666666666667*G3_0_1 - 0.666666666666667*G3_1_1;
A[101] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
- A[102] = 0.166666666666666*G5_0 + 0.166666666666667*G5_1;
+ A[102] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[103] = 0.0;
A[104] = 0.0;
A[105] = 0.0;
@@ -11561,9 +12146,9 @@ public:
A[111] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_0_1 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_0_1;
A[112] = 0.5*G1_0_0 + 0.5*G3_0_0;
A[113] = -0.166666666666666*G1_0_1 - 0.166666666666666*G3_0_1;
- A[114] = 0.666666666666664*G1_0_1 + 0.666666666666664*G3_0_1;
+ A[114] = 0.666666666666663*G1_0_1 + 0.666666666666663*G3_0_1;
A[115] = 0.0;
- A[116] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_0_1;
+ A[116] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
A[117] = 0.0;
A[118] = -0.166666666666666*G5_0;
A[119] = 0.0;
@@ -11589,11 +12174,11 @@ public:
A[139] = 0.0;
A[140] = 0.0;
A[141] = 0.0;
- A[142] = 0.666666666666664*G1_1_0 + 0.666666666666664*G3_1_0;
+ A[142] = 0.666666666666663*G1_1_0 + 0.666666666666663*G3_1_0;
A[143] = 0.666666666666666*G1_0_1 + 0.666666666666666*G3_0_1;
- A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333332*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333332*G3_1_1;
+ A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333331*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333331*G3_1_1;
A[145] = -1.33333333333333*G1_0_0 - 0.666666666666659*G1_0_1 - 0.666666666666656*G1_1_0 - 1.33333333333333*G3_0_0 - 0.666666666666659*G3_0_1 - 0.666666666666656*G3_1_0;
- A[146] = -0.666666666666665*G1_0_1 - 0.666666666666666*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666666*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[146] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[147] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
A[148] = -0.166666666666666*G5_0 - 0.333333333333331*G5_1;
A[149] = -0.333333333333333*G5_0 - 0.166666666666664*G5_1;
@@ -11619,21 +12204,21 @@ public:
A[169] = 0.0;
A[170] = 0.0;
A[171] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
- A[172] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_1_0;
+ A[172] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
A[173] = 0.0;
- A[174] = -0.666666666666666*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666666*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[174] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[175] = 0.666666666666666*G1_0_1 + 0.666666666666665*G1_1_0 + 0.666666666666666*G3_0_1 + 0.666666666666665*G3_1_0;
A[176] = 1.33333333333333*G1_0_0 + 0.666666666666667*G1_0_1 + 0.666666666666667*G1_1_0 + 1.33333333333333*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666667*G3_0_1 + 0.666666666666667*G3_1_0 + 1.33333333333333*G3_1_1;
A[177] = -0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[178] = 0.166666666666667*G5_0 + 0.333333333333333*G5_1;
A[179] = 0.166666666666667*G5_1;
- A[180] = -0.166666666666666*G6_0 - 0.166666666666667*G6_1;
+ A[180] = -0.166666666666667*G6_0 - 0.166666666666667*G6_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = 0.166666666666666*G6_0 + 0.166666666666665*G6_1;
A[184] = -0.166666666666666*G6_0 + 0.166666666666668*G6_1;
A[185] = 0.166666666666667*G6_0 - 0.166666666666667*G6_1;
- A[186] = -0.166666666666666*G7_0 - 0.166666666666667*G7_1;
+ A[186] = -0.166666666666667*G7_0 - 0.166666666666667*G7_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = 0.166666666666666*G7_0 + 0.166666666666665*G7_1;
@@ -12099,10 +12684,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/assembly/cpp/forms/compile.log b/bench/fem/assembly/cpp/forms/compile.log
deleted file mode 100644
index 58917b6..0000000
--- a/bench/fem/assembly/cpp/forms/compile.log
+++ /dev/null
@@ -1,2848 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2DP1
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.0933712 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00112 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.017751 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.00027895 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.145894 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00122404 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00143909 seconds.
-
-FFC finished in 0.260714 seconds.
-Output written to ./Poisson2DP1.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Elasticity3D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Vector<3 x CG1(?)>'
- Unique sub elements: 'Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal Identity.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.028918 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE0_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]])}
-
- tables: {'FE0_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE0_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_C2_D001': 'FE0_C2_D001', 'FE0_C1_D001': 'FE0_C1_D001', 'FE0_C1_D010': 'FE0_C1_D010', 'FE0_C2_D010': 'FE0_C2_D010', 'FE0_C1_D100': 'FE0_C1_D100', 'FE0_C0_D100': 'FE0_C0_D100', 'FE0_C0_D010': 'FE0_C0_D010', 'FE0_C0_D001': 'FE0_C0_D001', 'FE0_C2_D100': 'FE0_C2_D100', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D001': array([[-1., 1.]]), 'FE0_C0': array([[ 0.25, 0.25, 0.25, 0.25]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C2_D001': ('FE0_C0_D001', (9, [8, 11]), False, False), 'FE0_C1_D001': ('FE0_C0_D001', (5, [4, 7]), False, False), 'FE0_C1_D010': ('FE0_C0_D001', (6, [4, 6]), False, False), 'FE0_C2_D010': ('FE0_C0_D001', (10, [8, 10]), False, False), 'FE0_C1_D100': ('FE0_C0_D001', (7, [4, 5]), False, False), 'FE0_C0_D100': ('FE0_C0_D001', (3, [0, 1]), False, False), 'FE0_C0_D010': ('FE0_C0_D001', (2, [0, 2]), False, False), 'FE0_C0_D001': ('FE0_C0_D001', (1, [0, 3]), False, False), 'FE0_C2_D100': [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.256037 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0409961 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.369227 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000780106 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00231385 seconds.
-
-FFC finished in 0.698999 seconds.
-Output written to ./Elasticity3D.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form NSEMomentum3D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_3, w_4]'
- Unique elements: 'Vector<3 x CG1(?)>, Vector<3 x DG0(?)>, DG0(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, Vector<3 x DG0(?)>, DG0(?), CG1(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 6
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.126585 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {4: {FiniteElement('Discontinuous Lagrange', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1., 1., 1., 1.]])}}}, VectorElement(FiniteElement('Discontinuous Lagrange', tetrahedron, 0), dim=3): {None: {None: {(0, 0, 0): array([[[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1': array([[ 0., 1., 0.],
- [ 0., 1., 0.],
- [ 0., 1., 0.],
- [ 0., 1., 0.]]), 'FE2_C0': array([[ 1., 0., 0.],
- [ 1., 0., 0.],
- [ 1., 0., 0.],
- [ 1., 0., 0.]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0., 0., 1.],
- [ 0., 0., 1.],
- [ 0., 0., 1.],
- [ 0., 0., 1.]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1': array([[ 0., 1., 0.],
- [ 0., 1., 0.],
- [ 0., 1., 0.],
- [ 0., 1., 0.]]), 'FE2_C0': array([[ 1., 0., 0.],
- [ 1., 0., 0.],
- [ 1., 0., 0.],
- [ 1., 0., 0.]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0., 0., 1.],
- [ 0., 0., 1.],
- [ 0., 0., 1.],
- [ 0., 0., 1.]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C0_D010': 'FE1_C0_D010', 'FE2_C1': 'FE2_C1', 'FE2_C0': 'FE2_C0', 'FE1_C1_D010': 'FE1_C1_D010', 'FE2_C2': 'FE2_C2', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0': 'FE0', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C1_D001': 'FE1_C1_D001'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (1, [0, 3]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2, 3]), False, False), 'FE1_C1': ('FE1_C0', (4, [4, 5, 6, 7]), False, False), 'FE1_C2': ('FE1_C0', (8, [8, 9, 10, 11]), False, False), 'FE1_C0_D100': ('FE1_C0_D001', (3, [0, 1]), False, False), 'FE1_C2_D001': ('FE1_C0_D001', (9, [8, 11]), False, False), 'FE1_C0_D010': ('FE1_C0_D001', (2, [0, 2]), False, False), 'FE2_C1': ('FE0', (13, [1]), False, True), 'FE2_C0': ('FE0', (12, [0]), False, True), [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.265885 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.10322 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.431912 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00201106 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00182509 seconds.
-
-FFC finished in 0.932369 seconds.
-Output written to ./NSEMomentum3D.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2DP2
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.215108 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000941 seconds
- Shape of reference tensor: (6, 6, 2, 2)
- Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0268922 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000219822 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.211254 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000579119 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000978231 seconds.
-
-FFC finished in 0.455527 seconds.
-Output written to ./Poisson2DP2.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2DP3
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.477397 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 400 entries computed in 0.00119 seconds
- Shape of reference tensor: (10, 10, 2, 2)
- Primary multi index: rank = 2 dims = [10, 10] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.036521 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000261068 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.407207 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000652075 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00113487 seconds.
-
-FFC finished in 0.923826 seconds.
-Output written to ./Poisson2DP3.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form StabStokes2D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<2 x CG1(?)>, DG0(?)>, DG0(?), Vector<2 x
- CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG1(?)>, DG0(?)>, DG0(?), Vector<2 x
- CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
-Compiler stage 1 finished in 0.116892 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 0): {None: {None: {(0, 0): array([[ 1.]])}}}, MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), FiniteElement('Discontinuous Lagrange', triangle, 0)): {None: {None: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.33333333],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 1. ]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C2_D01': array([[ 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333, 0. ]]), 'FE1_C2': array([[ 0., 0., 0., 0., 0., 0., 1.]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0., 0.]]), 'FE1_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0., 0.]])}
-
- tables: {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C2_D01': array([[ 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333, 0. ]]), 'FE1_C2': array([[ 0., 0., 0., 0., 0., 0., 1.]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0., 0.]]), 'FE2_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0., 0.]])}
-
- name_map: {'FE1_C2_D01': ['FE1_C2_D10']}
-
- inv_name_map: {'FE2_C1_D01': 'FE2_C1_D01', 'FE2_C1': 'FE2_C1', 'FE2_C1_D10': 'FE2_C1_D10', 'FE0': 'FE0', 'FE2_C0': 'FE2_C0', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C1_D10': 'FE1_C1_D10', 'FE1_C2_D10': 'FE1_C2_D01', 'FE2_C0_D01': 'FE2_C0_D01', 'FE1_C2_D01': 'FE1_C2_D01', 'FE2_C0_D10': 'FE2_C0_D10', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10', 'FE1_C1_D01': 'FE1_C1_D01'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C2_D01': array([[ 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333]]), 'FE0': array([[ 1.]]), 'FE1_C0_D01': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE1_C0_D01', (11, [3, 5]), False, False), 'FE2_C1': ('FE1_C0', (10, [3, 4, 5]), False, False), 'FE2_C1_D10': ('FE1_C0_D01', (12, [3, 4]), False, False), 'FE0': ('FE0', (), False, True), 'FE2_C0': ('FE1_C0', (7, [0, 1, 2]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C2': ('FE0', (6, [6]), False, True), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE1_C2_D10': ('FE1_C2_D01', (), [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.067472 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00303197 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.233634 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000781059 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00103617 seconds.
-
-FFC finished in 0.423422 seconds.
-Output written to ./StabStokes2D.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form THStokes2D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>,
- Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
-Compiler stage 1 finished in 0.237832 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00219 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00196 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00292 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00327 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00192 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00169 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0017 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00173 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.052774 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000258923 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.708637 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000615835 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00195909 seconds.
-
-FFC finished in 1.00277 seconds.
-Output written to ./THStokes2D.h.
diff --git a/bench/fem/convergence/cpp/CMakeLists.txt b/bench/fem/convergence/cpp/CMakeLists.txt
index 77a9563..f933608 100644
--- a/bench/fem/convergence/cpp/CMakeLists.txt
+++ b/bench/fem/convergence/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_fem_convergence_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,13 +39,21 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
endif()
# Executable
-add_executable(${PROJECT_NAME} Poisson3D_4.cpp Poisson3D_3.cpp Poisson3D_2.cpp Poisson2D_4.cpp Poisson2D_2.cpp Poisson3D_1.cpp Poisson2D_1.cpp Poisson2D_3.cpp main.cpp Poisson2D_5.cpp)
+add_executable(${PROJECT_NAME} main.cpp)
# Target libraries
target_link_libraries(${PROJECT_NAME} ${DOLFIN_LIBRARIES})
diff --git a/bench/fem/convergence/cpp/Poisson2D_1.cpp b/bench/fem/convergence/cpp/Poisson2D_1.cpp
index 8498c70..d00bf23 100644
--- a/bench/fem/convergence/cpp/Poisson2D_1.cpp
+++ b/bench/fem/convergence/cpp/Poisson2D_1.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2224,25 +2225,16 @@ void poisson2d_1_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2393,6 +2385,30 @@ std::size_t poisson2d_1_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_1_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_1_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -2430,7 +2446,7 @@ void poisson2d_1_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_1_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -2481,6 +2497,91 @@ void poisson2d_1_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_1_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_1_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -2581,6 +2682,30 @@ std::size_t poisson2d_1_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_1_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_1_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -2630,7 +2755,7 @@ void poisson2d_1_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_1_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -2684,6 +2809,103 @@ void poisson2d_1_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_1_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_1_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -2735,6 +2957,21 @@ void poisson2d_1_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2792,6 +3029,21 @@ void poisson2d_1_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
diff --git a/bench/fem/convergence/cpp/Poisson2D_1.h b/bench/fem/convergence/cpp/Poisson2D_1.h
index 825e414..e56947b 100644
--- a/bench/fem/convergence/cpp/Poisson2D_1.h
+++ b/bench/fem/convergence/cpp/Poisson2D_1.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -296,6 +297,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -306,6 +309,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -338,6 +344,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -348,6 +356,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -774,10 +785,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -940,10 +951,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -959,10 +970,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson2D_2.cpp b/bench/fem/convergence/cpp/Poisson2D_2.cpp
index 4522a94..190de98 100644
--- a/bench/fem/convergence/cpp/Poisson2D_2.cpp
+++ b/bench/fem/convergence/cpp/Poisson2D_2.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2224,25 +2225,16 @@ void poisson2d_2_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2439,7 +2431,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2475,7 +2467,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2583,7 +2575,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2776,7 +2768,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2791,8 +2783,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2927,7 +2919,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2942,8 +2934,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3093,8 +3085,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3244,8 +3236,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3380,7 +3372,7 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3395,8 +3387,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3546,8 +3538,8 @@ void poisson2d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3944,6 +3936,30 @@ std::size_t poisson2d_2_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_2_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_2_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -3981,7 +3997,7 @@ void poisson2d_2_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_2_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4032,6 +4048,91 @@ void poisson2d_2_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_2_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_2_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -4132,6 +4233,30 @@ std::size_t poisson2d_2_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_2_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_2_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4181,7 +4306,7 @@ void poisson2d_2_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_2_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4235,6 +4360,103 @@ void poisson2d_2_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_2_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_2_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -4349,6 +4571,30 @@ std::size_t poisson2d_2_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_2_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_2_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4395,7 +4641,7 @@ void poisson2d_2_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_2_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4469,6 +4715,97 @@ void poisson2d_2_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_2_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_2_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -4506,6 +4843,21 @@ void poisson2d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 49
@@ -4531,18 +4883,18 @@ void poisson2d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.500000000000002*G0_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_1_0;
- A[2] = 0.166666666666666*G0_0_1 + 0.166666666666666*G0_1_1;
+ A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0;
+ A[2] = 0.166666666666667*G0_0_1 + 0.166666666666666*G0_1_1;
A[3] = 0.0;
A[4] = -0.666666666666668*G0_0_1 - 0.666666666666668*G0_1_1;
A[5] = -0.666666666666668*G0_0_0 - 0.666666666666668*G0_1_0;
- A[6] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_0_1;
+ A[6] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1;
A[7] = 0.5*G0_0_0;
A[8] = -0.166666666666666*G0_0_1;
A[9] = 0.666666666666664*G0_0_1;
A[10] = 0.0;
A[11] = -0.666666666666668*G0_0_0 - 0.666666666666667*G0_0_1;
- A[12] = 0.166666666666666*G0_1_0 + 0.166666666666666*G0_1_1;
+ A[12] = 0.166666666666667*G0_1_0 + 0.166666666666666*G0_1_1;
A[13] = -0.166666666666666*G0_1_0;
A[14] = 0.5*G0_1_1;
A[15] = 0.666666666666667*G0_1_0;
@@ -4556,7 +4908,7 @@ void poisson2d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
A[23] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1;
A[24] = -0.666666666666668*G0_1_0 - 0.666666666666668*G0_1_1;
A[25] = 0.0;
- A[26] = -0.666666666666667*G0_0_1 - 0.666666666666665*G0_1_1;
+ A[26] = -0.666666666666667*G0_0_1 - 0.666666666666666*G0_1_1;
A[27] = -1.33333333333333*G0_0_0 - 0.666666666666656*G0_0_1 - 0.666666666666659*G0_1_0;
A[28] = 1.33333333333333*G0_0_0 + 0.666666666666659*G0_0_1 + 0.666666666666659*G0_1_0 + 1.33333333333333*G0_1_1;
A[29] = 0.666666666666665*G0_0_1 + 0.666666666666667*G0_1_0;
@@ -4565,7 +4917,7 @@ void poisson2d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
A[32] = 0.0;
A[33] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1;
A[34] = 0.666666666666667*G0_0_1 + 0.666666666666665*G0_1_0;
- A[35] = 1.33333333333334*G0_0_0 + 0.666666666666668*G0_0_1 + 0.666666666666668*G0_1_0 + 1.33333333333333*G0_1_1;
+ A[35] = 1.33333333333334*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1;
}
@@ -4590,6 +4942,21 @@ void poisson2d_2_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 21
@@ -4618,10 +4985,10 @@ void poisson2d_2_cell_integral_1_otherwise::tabulate_tensor(double * A,
// Compute element tensor
A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
+ A[2] = -0.00277777777777778*G0_0 - 0.00277777777777781*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
+ A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888888*G0_5;
}
diff --git a/bench/fem/convergence/cpp/Poisson2D_2.h b/bench/fem/convergence/cpp/Poisson2D_2.h
index e46d1f1..f866040 100644
--- a/bench/fem/convergence/cpp/Poisson2D_2.h
+++ b/bench/fem/convergence/cpp/Poisson2D_2.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -420,6 +421,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -430,6 +433,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -462,6 +468,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -472,6 +480,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -504,6 +515,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -514,6 +527,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -940,10 +956,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1106,10 +1122,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1125,10 +1141,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson2D_3.cpp b/bench/fem/convergence/cpp/Poisson2D_3.cpp
index 0144cc5..97bb79c 100644
--- a/bench/fem/convergence/cpp/Poisson2D_3.cpp
+++ b/bench/fem/convergence/cpp/Poisson2D_3.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2224,25 +2225,16 @@ void poisson2d_3_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2447,7 +2439,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2491,7 +2483,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2535,7 +2527,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2579,7 +2571,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2799,7 +2791,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2843,7 +2835,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3008,7 +3000,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3016,24 +3008,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3183,7 +3175,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3191,24 +3183,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3358,7 +3350,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3366,24 +3358,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3533,7 +3525,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3541,24 +3533,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3716,24 +3708,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3891,24 +3883,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4066,24 +4058,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4241,24 +4233,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4408,7 +4400,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4416,24 +4408,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4583,7 +4575,7 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4591,24 +4583,24 @@ void poisson2d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5068,6 +5060,30 @@ std::size_t poisson2d_3_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_3_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_3_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -5105,7 +5121,7 @@ void poisson2d_3_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_3_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -5156,6 +5172,91 @@ void poisson2d_3_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_3_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_3_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -5256,6 +5357,30 @@ std::size_t poisson2d_3_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_3_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_3_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -5305,7 +5430,7 @@ void poisson2d_3_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_3_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -5359,6 +5484,103 @@ void poisson2d_3_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_3_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_3_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -5473,6 +5695,30 @@ std::size_t poisson2d_3_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_3_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_3_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -5527,7 +5773,7 @@ void poisson2d_3_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_3_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -5609,6 +5855,104 @@ void poisson2d_3_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_3_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_3_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -5646,10 +5990,25 @@ void poisson2d_3_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 205
- // Total number of operations (multiply-add pairs): 216
+ // Number of operations (multiply-add pairs) for tensor contraction: 207
+ // Total number of operations (multiply-add pairs): 218
// Compute Jacobian
double J[4];
@@ -5671,105 +6030,105 @@ void poisson2d_3_cell_integral_0_otherwise::tabulate_tensor(double * A,
// Compute element tensor
A[0] = 0.425*G0_0_0 + 0.425*G0_0_1 + 0.425*G0_1_0 + 0.425*G0_1_1;
- A[1] = -0.0875000000000003*G0_0_0 - 0.0875000000000015*G0_1_0;
- A[2] = -0.0875000000000016*G0_0_1 - 0.0875000000000018*G0_1_1;
- A[3] = -0.0374999999999991*G0_0_0 - 0.0375000000000009*G0_0_1 - 0.037500000000001*G0_1_0 - 0.037500000000004*G0_1_1;
- A[4] = -0.0375000000000027*G0_0_0 - 0.037499999999999*G0_0_1 - 0.0375000000000029*G0_1_0 - 0.037499999999999*G0_1_1;
- A[5] = 0.0375000000000003*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000015*G0_1_0 - 0.674999999999999*G0_1_1;
- A[6] = 0.0375000000000028*G0_0_0 + 0.3375*G0_0_1 + 0.0375000000000029*G0_1_0 + 0.3375*G0_1_1;
- A[7] = -0.675*G0_0_0 + 0.0375000000000009*G0_0_1 - 0.675*G0_1_0 + 0.0375000000000018*G0_1_1;
- A[8] = 0.3375*G0_0_0 + 0.0374999999999993*G0_0_1 + 0.337500000000001*G0_1_0 + 0.0375000000000024*G0_1_1;
+ A[1] = -0.0875000000000005*G0_0_0 - 0.0875000000000016*G0_1_0;
+ A[2] = -0.0875000000000018*G0_0_1 - 0.087500000000002*G0_1_1;
+ A[3] = -0.0374999999999991*G0_0_0 - 0.0375000000000016*G0_0_1 - 0.037500000000001*G0_1_0 - 0.0375000000000045*G0_1_1;
+ A[4] = -0.0375000000000027*G0_0_0 - 0.0374999999999989*G0_0_1 - 0.037500000000003*G0_1_0 - 0.037499999999999*G0_1_1;
+ A[5] = 0.0375000000000006*G0_0_0 - 0.674999999999999*G0_0_1 + 0.0375000000000014*G0_1_0 - 0.674999999999999*G0_1_1;
+ A[6] = 0.0375000000000027*G0_0_0 + 0.3375*G0_0_1 + 0.037500000000003*G0_1_0 + 0.3375*G0_1_1;
+ A[7] = -0.675*G0_0_0 + 0.037500000000001*G0_0_1 - 0.675*G0_1_0 + 0.0375000000000019*G0_1_1;
+ A[8] = 0.337500000000001*G0_0_0 + 0.0374999999999997*G0_0_1 + 0.337500000000001*G0_1_0 + 0.0375000000000026*G0_1_1;
A[9] = 0.0;
- A[10] = -0.0875000000000002*G0_0_0 - 0.0875000000000015*G0_0_1;
+ A[10] = -0.0875000000000006*G0_0_0 - 0.0875000000000016*G0_0_1;
A[11] = 0.425000000000002*G0_0_0;
- A[12] = 0.0875000000000004*G0_0_1;
- A[13] = 0.037500000000002*G0_0_0 + 0.712500000000004*G0_0_1;
- A[14] = 0.0374999999999999*G0_0_0 - 0.300000000000001*G0_0_1;
- A[15] = -0.0375000000000006*G0_0_0;
+ A[12] = 0.0875000000000005*G0_0_1;
+ A[13] = 0.0375000000000019*G0_0_0 + 0.712500000000004*G0_0_1;
+ A[14] = 0.0375*G0_0_0 - 0.300000000000001*G0_0_1;
+ A[15] = -0.0375000000000004*G0_0_0;
A[16] = -0.0375*G0_0_0;
- A[17] = 0.337500000000001*G0_0_0 + 0.3*G0_0_1;
+ A[17] = 0.337500000000002*G0_0_0 + 0.3*G0_0_1;
A[18] = -0.675000000000003*G0_0_0 - 0.712500000000001*G0_0_1;
A[19] = 0.0;
- A[20] = -0.0875000000000017*G0_1_0 - 0.0875000000000018*G0_1_1;
- A[21] = 0.0875000000000004*G0_1_0;
+ A[20] = -0.0875000000000018*G0_1_0 - 0.087500000000002*G0_1_1;
+ A[21] = 0.0875000000000005*G0_1_0;
A[22] = 0.425000000000003*G0_1_1;
- A[23] = -0.3*G0_1_0 + 0.0375000000000006*G0_1_1;
- A[24] = 0.712500000000005*G0_1_0 + 0.0375000000000009*G0_1_1;
- A[25] = 0.300000000000004*G0_1_0 + 0.337500000000005*G0_1_1;
- A[26] = -0.712500000000005*G0_1_0 - 0.675000000000005*G0_1_1;
- A[27] = -0.0375000000000021*G0_1_1;
- A[28] = -0.0375*G0_1_1;
+ A[23] = -0.3*G0_1_0 + 0.0375000000000008*G0_1_1;
+ A[24] = 0.712500000000004*G0_1_0 + 0.0375000000000001*G0_1_1;
+ A[25] = 0.300000000000002*G0_1_0 + 0.337500000000004*G0_1_1;
+ A[26] = -0.712500000000004*G0_1_0 - 0.675000000000004*G0_1_1;
+ A[27] = -0.0375000000000031*G0_1_1;
+ A[28] = -0.0375000000000002*G0_1_1;
A[29] = 0.0;
- A[30] = -0.0374999999999991*G0_0_0 - 0.037500000000001*G0_0_1 - 0.0375000000000009*G0_1_0 - 0.0375000000000039*G0_1_1;
- A[31] = 0.037500000000002*G0_0_0 + 0.712500000000004*G0_1_0;
- A[32] = -0.3*G0_0_1 + 0.0375000000000006*G0_1_1;
- A[33] = 1.6875*G0_0_0 + 0.843750000000007*G0_0_1 + 0.843750000000007*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[30] = -0.0374999999999991*G0_0_0 - 0.037500000000001*G0_0_1 - 0.0375000000000016*G0_1_0 - 0.0375000000000045*G0_1_1;
+ A[31] = 0.0375000000000019*G0_0_0 + 0.712500000000004*G0_1_0;
+ A[32] = -0.3*G0_0_1 + 0.0375000000000008*G0_1_1;
+ A[33] = 1.6875*G0_0_0 + 0.843750000000006*G0_0_1 + 0.843750000000006*G0_1_0 + 1.68750000000001*G0_1_1;
A[34] = -0.337500000000001*G0_0_0 + 0.843749999999992*G0_0_1 - 0.168750000000004*G0_1_0 - 0.337500000000009*G0_1_1;
- A[35] = 0.337500000000002*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000001*G0_1_0;
- A[36] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000004*G0_1_0;
- A[37] = 0.168749999999999*G0_0_1 + 0.168750000000003*G0_1_0 + 0.337499999999997*G0_1_1;
+ A[35] = 0.337500000000002*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000001*G0_1_0 + 1.03528297046296e-14*G0_1_1;
+ A[36] = 0.337500000000001*G0_0_0 + 0.168750000000003*G0_0_1 + 0.168750000000004*G0_1_0;
+ A[37] = 0.168749999999999*G0_0_1 + 0.168750000000004*G0_1_0 + 0.337499999999997*G0_1_1;
A[38] = -0.843749999999999*G0_0_1 - 0.843750000000007*G0_1_0 - 1.6875*G0_1_1;
- A[39] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.01250000000001*G0_1_0;
- A[40] = -0.0375000000000027*G0_0_0 - 0.0375000000000028*G0_0_1 - 0.037499999999999*G0_1_0 - 0.037499999999999*G0_1_1;
- A[41] = 0.0374999999999999*G0_0_0 - 0.300000000000001*G0_1_0;
- A[42] = 0.712500000000005*G0_0_1 + 0.0375000000000009*G0_1_1;
+ A[39] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.01250000000001*G0_1_0;
+ A[40] = -0.0375000000000027*G0_0_0 - 0.037500000000003*G0_0_1 - 0.0374999999999989*G0_1_0 - 0.037499999999999*G0_1_1;
+ A[41] = 0.0375*G0_0_0 - 0.300000000000001*G0_1_0;
+ A[42] = 0.712500000000004*G0_0_1 + 0.0375000000000001*G0_1_1;
A[43] = -0.337500000000001*G0_0_0 - 0.168750000000004*G0_0_1 + 0.843749999999992*G0_1_0 - 0.337500000000009*G0_1_1;
- A[44] = 1.68750000000001*G0_0_0 + 0.843750000000001*G0_0_1 + 0.843750000000001*G0_1_0 + 1.6875*G0_1_1;
- A[45] = 0.33750000000001*G0_0_0 + 0.168750000000008*G0_0_1 + 0.168750000000009*G0_1_0;
- A[46] = -1.68750000000001*G0_0_0 - 0.843750000000006*G0_0_1 - 0.843750000000002*G0_1_0;
- A[47] = 0.16875*G0_0_1 + 0.16875*G0_1_0 + 0.337500000000005*G0_1_1;
- A[48] = 0.168750000000004*G0_0_1 + 0.16875*G0_1_0 + 0.33750000000001*G0_1_1;
+ A[44] = 1.68750000000001*G0_0_0 + 0.843750000000002*G0_0_1 + 0.843750000000002*G0_1_0 + 1.6875*G0_1_1;
+ A[45] = 0.337500000000008*G0_0_0 + 0.168750000000007*G0_0_1 + 0.168750000000008*G0_1_0;
+ A[46] = -1.68750000000001*G0_0_0 - 0.843750000000004*G0_0_1 - 0.843750000000002*G0_1_0;
+ A[47] = 0.168749999999999*G0_0_1 + 0.168750000000001*G0_1_0 + 0.337500000000005*G0_1_1;
+ A[48] = 0.168750000000005*G0_0_1 + 0.168749999999999*G0_1_0 + 0.33750000000001*G0_1_1;
A[49] = -1.01250000000001*G0_0_1 - 1.0125*G0_1_0 - 2.02500000000001*G0_1_1;
- A[50] = 0.0375000000000003*G0_0_0 + 0.0375000000000015*G0_0_1 - 0.675*G0_1_0 - 0.675*G0_1_1;
- A[51] = -0.0375000000000006*G0_0_0;
- A[52] = 0.300000000000004*G0_0_1 + 0.337500000000005*G0_1_1;
- A[53] = 0.337500000000002*G0_0_0 + 0.168750000000001*G0_0_1 + 0.168750000000003*G0_1_0;
- A[54] = 0.33750000000001*G0_0_0 + 0.168750000000009*G0_0_1 + 0.168750000000008*G0_1_0;
- A[55] = 1.6875*G0_0_0 + 0.84375*G0_0_1 + 0.84375*G0_1_0 + 1.6875*G0_1_1;
- A[56] = -0.33750000000001*G0_0_0 - 1.18125000000001*G0_0_1 - 0.168750000000008*G0_1_0 - 1.35*G0_1_1;
- A[57] = 0.843750000000001*G0_0_1 + 0.843749999999997*G0_1_0;
- A[58] = -0.168750000000003*G0_0_1 - 0.168749999999999*G0_1_0;
- A[59] = -2.02500000000001*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
- A[60] = 0.0375000000000028*G0_0_0 + 0.0375000000000029*G0_0_1 + 0.3375*G0_1_0 + 0.3375*G0_1_1;
+ A[50] = 0.0375000000000006*G0_0_0 + 0.0375000000000014*G0_0_1 - 0.674999999999999*G0_1_0 - 0.674999999999999*G0_1_1;
+ A[51] = -0.0375000000000004*G0_0_0;
+ A[52] = 0.300000000000002*G0_0_1 + 0.337500000000004*G0_1_1;
+ A[53] = 0.337500000000002*G0_0_0 + 0.168750000000001*G0_0_1 + 0.168750000000003*G0_1_0 + 1.03667074924374e-14*G0_1_1;
+ A[54] = 0.337500000000008*G0_0_0 + 0.168750000000008*G0_0_1 + 0.168750000000007*G0_1_0;
+ A[55] = 1.6875*G0_0_0 + 0.843749999999999*G0_0_1 + 0.843749999999999*G0_1_0 + 1.6875*G0_1_1;
+ A[56] = -0.337500000000008*G0_0_0 - 1.18125000000001*G0_0_1 - 0.168750000000007*G0_1_0 - 1.35*G0_1_1;
+ A[57] = 0.84375*G0_0_1 + 0.843749999999996*G0_1_0;
+ A[58] = -0.168750000000003*G0_0_1 - 0.16875*G0_1_0;
+ A[59] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
+ A[60] = 0.0375000000000028*G0_0_0 + 0.037500000000003*G0_0_1 + 0.3375*G0_1_0 + 0.3375*G0_1_1;
A[61] = -0.0375*G0_0_0;
- A[62] = -0.712500000000005*G0_0_1 - 0.675000000000005*G0_1_1;
- A[63] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000004*G0_1_0;
- A[64] = -1.68750000000001*G0_0_0 - 0.843750000000002*G0_0_1 - 0.843750000000006*G0_1_0;
- A[65] = -0.33750000000001*G0_0_0 - 0.168750000000008*G0_0_1 - 1.18125000000001*G0_1_0 - 1.35*G0_1_1;
- A[66] = 1.68750000000001*G0_0_0 + 0.843750000000007*G0_0_1 + 0.843750000000007*G0_1_0 + 1.68750000000001*G0_1_1;
- A[67] = -0.16875*G0_0_1 - 0.168749999999997*G0_1_0;
- A[68] = -0.168750000000004*G0_0_1 - 0.168750000000004*G0_1_0;
+ A[62] = -0.712500000000004*G0_0_1 - 0.675000000000004*G0_1_1;
+ A[63] = 0.337500000000001*G0_0_0 + 0.168750000000004*G0_0_1 + 0.168750000000003*G0_1_0;
+ A[64] = -1.68750000000001*G0_0_0 - 0.843750000000002*G0_0_1 - 0.843750000000003*G0_1_0;
+ A[65] = -0.337500000000008*G0_0_0 - 0.168750000000007*G0_0_1 - 1.18125000000001*G0_1_0 - 1.35*G0_1_1;
+ A[66] = 1.68750000000001*G0_0_0 + 0.843750000000004*G0_0_1 + 0.843750000000003*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[67] = -0.168749999999999*G0_0_1 - 0.168749999999996*G0_1_0;
+ A[68] = -0.168750000000005*G0_0_1 - 0.168750000000004*G0_1_0;
A[69] = 1.01250000000001*G0_0_1 + 1.0125*G0_1_0;
- A[70] = -0.675*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000008*G0_1_0 + 0.0375000000000018*G0_1_1;
- A[71] = 0.337500000000001*G0_0_0 + 0.3*G0_1_0;
- A[72] = -0.0375000000000021*G0_1_1;
- A[73] = 0.168750000000003*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337499999999998*G0_1_1;
- A[74] = 0.16875*G0_0_1 + 0.16875*G0_1_0 + 0.337500000000005*G0_1_1;
- A[75] = 0.843749999999997*G0_0_1 + 0.843750000000001*G0_1_0;
- A[76] = -0.168749999999997*G0_0_1 - 0.16875*G0_1_0;
- A[77] = 1.6875*G0_0_0 + 0.843749999999998*G0_0_1 + 0.843749999999998*G0_1_0 + 1.68750000000001*G0_1_1;
+ A[70] = -0.675*G0_0_0 - 0.675*G0_0_1 + 0.0375000000000009*G0_1_0 + 0.0375000000000019*G0_1_1;
+ A[71] = 0.337500000000002*G0_0_0 + 0.3*G0_1_0;
+ A[72] = -0.0375000000000031*G0_1_1;
+ A[73] = 0.168750000000004*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337499999999996*G0_1_1;
+ A[74] = 0.168750000000001*G0_0_1 + 0.168749999999999*G0_1_0 + 0.337500000000005*G0_1_1;
+ A[75] = 0.843749999999996*G0_0_1 + 0.84375*G0_1_0;
+ A[76] = -0.168749999999996*G0_0_1 - 0.168749999999999*G0_1_0;
+ A[77] = 1.6875*G0_0_0 + 0.843749999999998*G0_0_1 + 0.843749999999998*G0_1_0 + 1.6875*G0_1_1;
A[78] = -1.35*G0_0_0 - 0.168750000000003*G0_0_1 - 1.18125*G0_1_0 - 0.3375*G0_1_1;
A[79] = -1.0125*G0_0_1 - 1.0125*G0_1_0 - 2.025*G0_1_1;
- A[80] = 0.3375*G0_0_0 + 0.337500000000001*G0_0_1 + 0.0374999999999993*G0_1_0 + 0.0375000000000024*G0_1_1;
+ A[80] = 0.337500000000001*G0_0_0 + 0.337500000000001*G0_0_1 + 0.0374999999999997*G0_1_0 + 0.0375000000000026*G0_1_1;
A[81] = -0.675000000000003*G0_0_0 - 0.712500000000001*G0_1_0;
- A[82] = -0.0375*G0_1_1;
+ A[82] = -0.0375000000000002*G0_1_1;
A[83] = -0.843750000000007*G0_0_1 - 0.843749999999999*G0_1_0 - 1.6875*G0_1_1;
- A[84] = 0.16875*G0_0_1 + 0.168750000000004*G0_1_0 + 0.33750000000001*G0_1_1;
- A[85] = -0.168749999999999*G0_0_1 - 0.168750000000003*G0_1_0;
+ A[84] = 0.168749999999999*G0_0_1 + 0.168750000000005*G0_1_0 + 0.33750000000001*G0_1_1;
+ A[85] = -0.16875*G0_0_1 - 0.168750000000003*G0_1_0;
A[86] = -0.168750000000004*G0_0_1 - 0.168750000000004*G0_1_0;
- A[87] = -1.35*G0_0_0 - 1.18125*G0_0_1 - 0.168750000000002*G0_1_0 - 0.3375*G0_1_1;
- A[88] = 1.6875*G0_0_0 + 0.843750000000004*G0_0_1 + 0.843750000000004*G0_1_0 + 1.68749999999999*G0_1_1;
+ A[87] = -1.35*G0_0_0 - 1.18125*G0_0_1 - 0.168750000000003*G0_1_0 - 0.3375*G0_1_1;
+ A[88] = 1.6875*G0_0_0 + 0.843750000000005*G0_0_1 + 0.843750000000004*G0_1_0 + 1.68749999999999*G0_1_1;
A[89] = 1.0125*G0_0_1 + 1.0125*G0_1_0;
A[90] = 0.0;
A[91] = 0.0;
A[92] = 0.0;
- A[93] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.01250000000001*G0_1_0;
+ A[93] = -2.025*G0_0_0 - 1.01250000000001*G0_0_1 - 1.0125*G0_1_0;
A[94] = -1.0125*G0_0_1 - 1.01250000000001*G0_1_0 - 2.02500000000001*G0_1_1;
- A[95] = -2.02500000000001*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
+ A[95] = -2.025*G0_0_0 - 1.0125*G0_0_1 - 1.0125*G0_1_0;
A[96] = 1.0125*G0_0_1 + 1.01250000000001*G0_1_0;
A[97] = -1.0125*G0_0_1 - 1.0125*G0_1_0 - 2.025*G0_1_1;
A[98] = 1.0125*G0_0_1 + 1.0125*G0_1_0;
- A[99] = 4.05000000000001*G0_0_0 + 2.02500000000001*G0_0_1 + 2.02500000000001*G0_1_0 + 4.05000000000001*G0_1_1;
+ A[99] = 4.05*G0_0_0 + 2.02500000000001*G0_0_1 + 2.02500000000001*G0_1_0 + 4.05000000000001*G0_1_1;
}
@@ -5794,6 +6153,21 @@ void poisson2d_3_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 10
// Number of operations (multiply-add pairs) for tensor contraction: 83
@@ -5824,16 +6198,16 @@ void poisson2d_3_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_9 = det*w[0][9]*(1.0);
// Compute element tensor
- A[0] = 0.00565476190476195*G0_0 + 0.000818452380952388*G0_1 + 0.000818452380952388*G0_2 + 0.00200892857142856*G0_3 + 0.00200892857142856*G0_4 + 0.00133928571428575*G0_5 + 0.00133928571428575*G0_7 + 0.0026785714285714*G0_9;
- A[1] = 0.000818452380952388*G0_0 + 0.00565476190476195*G0_1 + 0.000818452380952388*G0_2 + 0.00133928571428575*G0_3 + 0.00200892857142857*G0_5 + 0.00200892857142857*G0_6 + 0.00133928571428575*G0_8 + 0.00267857142857142*G0_9;
- A[2] = 0.000818452380952388*G0_0 + 0.000818452380952388*G0_1 + 0.00565476190476195*G0_2 + 0.00133928571428575*G0_4 + 0.00133928571428575*G0_6 + 0.00200892857142857*G0_7 + 0.00200892857142857*G0_8 + 0.00267857142857142*G0_9;
- A[3] = 0.00200892857142856*G0_0 + 0.00133928571428575*G0_1 + 0.0401785714285717*G0_3 - 0.0140624999999999*G0_4 - 0.00401785714285714*G0_5 - 0.0100446428571428*G0_6 - 0.0100446428571428*G0_7 + 0.0200892857142856*G0_8 + 0.0120535714285713*G0_9;
+ A[0] = 0.00565476190476194*G0_0 + 0.000818452380952386*G0_1 + 0.000818452380952387*G0_2 + 0.00200892857142856*G0_3 + 0.00200892857142856*G0_4 + 0.00133928571428575*G0_5 + 0.00133928571428575*G0_7 + 0.00267857142857137*G0_9;
+ A[1] = 0.000818452380952386*G0_0 + 0.00565476190476195*G0_1 + 0.000818452380952387*G0_2 + 0.00133928571428575*G0_3 + 0.00200892857142857*G0_5 + 0.00200892857142857*G0_6 + 0.00133928571428574*G0_8 + 0.00267857142857141*G0_9;
+ A[2] = 0.000818452380952387*G0_0 + 0.000818452380952387*G0_1 + 0.00565476190476196*G0_2 + 0.00133928571428575*G0_4 + 0.00133928571428575*G0_6 + 0.00200892857142857*G0_7 + 0.00200892857142857*G0_8 + 0.00267857142857144*G0_9;
+ A[3] = 0.00200892857142856*G0_0 + 0.00133928571428575*G0_1 + 0.0401785714285717*G0_3 - 0.0140624999999999*G0_4 - 0.00401785714285713*G0_5 - 0.0100446428571428*G0_6 - 0.0100446428571428*G0_7 + 0.0200892857142856*G0_8 + 0.0120535714285713*G0_9;
A[4] = 0.00200892857142856*G0_0 + 0.00133928571428575*G0_2 - 0.0140624999999999*G0_3 + 0.0401785714285717*G0_4 - 0.0100446428571428*G0_5 + 0.0200892857142856*G0_6 - 0.00401785714285714*G0_7 - 0.0100446428571428*G0_8 + 0.0120535714285713*G0_9;
- A[5] = 0.00133928571428575*G0_0 + 0.00200892857142857*G0_1 - 0.00401785714285714*G0_3 - 0.0100446428571428*G0_4 + 0.0401785714285717*G0_5 - 0.0140624999999999*G0_6 + 0.0200892857142856*G0_7 - 0.0100446428571428*G0_8 + 0.0120535714285715*G0_9;
- A[6] = 0.00200892857142857*G0_1 + 0.00133928571428575*G0_2 - 0.0100446428571428*G0_3 + 0.0200892857142856*G0_4 - 0.0140624999999999*G0_5 + 0.0401785714285718*G0_6 - 0.0100446428571428*G0_7 - 0.00401785714285715*G0_8 + 0.0120535714285714*G0_9;
+ A[5] = 0.00133928571428575*G0_0 + 0.00200892857142857*G0_1 - 0.00401785714285713*G0_3 - 0.0100446428571428*G0_4 + 0.0401785714285717*G0_5 - 0.0140624999999999*G0_6 + 0.0200892857142856*G0_7 - 0.0100446428571428*G0_8 + 0.0120535714285715*G0_9;
+ A[6] = 0.00200892857142857*G0_1 + 0.00133928571428575*G0_2 - 0.0100446428571428*G0_3 + 0.0200892857142856*G0_4 - 0.0140624999999999*G0_5 + 0.0401785714285717*G0_6 - 0.0100446428571428*G0_7 - 0.00401785714285715*G0_8 + 0.0120535714285714*G0_9;
A[7] = 0.00133928571428575*G0_0 + 0.00200892857142857*G0_2 - 0.0100446428571428*G0_3 - 0.00401785714285714*G0_4 + 0.0200892857142856*G0_5 - 0.0100446428571428*G0_6 + 0.0401785714285717*G0_7 - 0.0140624999999999*G0_8 + 0.0120535714285715*G0_9;
- A[8] = 0.00133928571428575*G0_1 + 0.00200892857142857*G0_2 + 0.0200892857142856*G0_3 - 0.0100446428571428*G0_4 - 0.0100446428571428*G0_5 - 0.00401785714285714*G0_6 - 0.0140624999999999*G0_7 + 0.0401785714285717*G0_8 + 0.0120535714285714*G0_9;
- A[9] = 0.0026785714285714*G0_0 + 0.00267857142857142*G0_1 + 0.00267857142857142*G0_2 + 0.0120535714285713*G0_3 + 0.0120535714285713*G0_4 + 0.0120535714285715*G0_5 + 0.0120535714285714*G0_6 + 0.0120535714285715*G0_7 + 0.0120535714285714*G0_8 + 0.144642857142856*G0_9;
+ A[8] = 0.00133928571428574*G0_1 + 0.00200892857142857*G0_2 + 0.0200892857142856*G0_3 - 0.0100446428571428*G0_4 - 0.0100446428571428*G0_5 - 0.00401785714285715*G0_6 - 0.0140624999999999*G0_7 + 0.0401785714285717*G0_8 + 0.0120535714285713*G0_9;
+ A[9] = 0.00267857142857137*G0_0 + 0.00267857142857141*G0_1 + 0.00267857142857144*G0_2 + 0.0120535714285713*G0_3 + 0.0120535714285713*G0_4 + 0.0120535714285715*G0_5 + 0.0120535714285714*G0_6 + 0.0120535714285715*G0_7 + 0.0120535714285713*G0_8 + 0.144642857142856*G0_9;
}
diff --git a/bench/fem/convergence/cpp/Poisson2D_3.h b/bench/fem/convergence/cpp/Poisson2D_3.h
index 4b1884d..7c00f5b 100644
--- a/bench/fem/convergence/cpp/Poisson2D_3.h
+++ b/bench/fem/convergence/cpp/Poisson2D_3.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -420,6 +421,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -430,6 +433,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -462,6 +468,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -472,6 +480,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -504,6 +515,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -514,6 +527,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -940,10 +956,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1106,10 +1122,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1125,10 +1141,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson2D_4.cpp b/bench/fem/convergence/cpp/Poisson2D_4.cpp
index 8e08b96..08023b3 100644
--- a/bench/fem/convergence/cpp/Poisson2D_4.cpp
+++ b/bench/fem/convergence/cpp/Poisson2D_4.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2224,25 +2225,16 @@ void poisson2d_4_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2457,7 +2449,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, -0.0412393049421161, -0.0238095238095238, 0.0289800294976278, 0.0224478343233824, 0.0129602631893289, -0.0395942580610999, -0.0334632556631574, -0.025920526378658, -0.014965222882255, 0.0321247254366312, 0.0283313448138523, 0.023944356611608, 0.0185472188784818, 0.0107082418122104};
+ {0.0, -0.0412393049421161, -0.0238095238095238, 0.0289800294976278, 0.0224478343233824, 0.012960263189329, -0.0395942580610999, -0.0334632556631574, -0.025920526378658, -0.014965222882255, 0.0321247254366312, 0.0283313448138523, 0.023944356611608, 0.0185472188784818, 0.0107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2511,7 +2503,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, 0.0412393049421162, -0.0238095238095238, 0.0289800294976278, -0.0224478343233825, 0.012960263189329, 0.0395942580610999, -0.0334632556631574, 0.0259205263786579, -0.014965222882255, 0.0321247254366312, -0.0283313448138523, 0.023944356611608, -0.0185472188784818, 0.0107082418122104};
+ {0.0, 0.0412393049421161, -0.0238095238095238, 0.0289800294976278, -0.0224478343233825, 0.012960263189329, 0.0395942580610999, -0.0334632556631574, 0.025920526378658, -0.014965222882255, 0.0321247254366312, -0.0283313448138523, 0.0239443566116079, -0.0185472188784818, 0.0107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2565,7 +2557,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, 0.0, 0.0476190476190476, 0.0, 0.0, 0.038880789567987, 0.0, 0.0, 0.0, 0.0598608915290199, 0.0, 0.0, 0.0, 0.0, 0.0535412090610519};
+ {0.0, 0.0, 0.0476190476190477, 0.0, 0.0, 0.038880789567987, 0.0, 0.0, 0.0, 0.0598608915290199, 0.0, 0.0, 0.0, 0.0, 0.0535412090610519};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2619,7 +2611,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.131965775814772, -0.0253968253968254, 0.139104141588614, -0.0718330698348238, 0.0311046316543896, 0.0633508128977598, 0.0267706045305259, -0.0622092633087791, 0.0478887132232159, 0.0, 0.0566626896277045, -0.0838052481406279, 0.0834624849531682, -0.0535412090610519};
+ {0.125707872210942, 0.131965775814772, -0.0253968253968253, 0.139104141588614, -0.0718330698348239, 0.0311046316543896, 0.0633508128977599, 0.0267706045305259, -0.0622092633087791, 0.0478887132232159, 0.0, 0.0566626896277046, -0.0838052481406279, 0.0834624849531682, -0.0535412090610519};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2673,7 +2665,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527355, 0.0109971479845643, 0.00634920634920626, 0.0, 0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.0419026240703139, 0.0, 0.0, 0.0838052481406278, -0.139104141588614, 0.107082418122104};
+ {-0.0314269680527355, 0.0109971479845644, 0.00634920634920647, 0.0, 0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.0, 0.0, 0.0838052481406278, -0.139104141588614, 0.107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2727,7 +2719,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.0439885919382573, 0.126984126984127, 0.0, 0.035916534917412, 0.155523158271948, 0.0, 0.0, 0.103682105514632, -0.011972178305804, 0.0, 0.0, 0.0, 0.0927360943924091, -0.107082418122104};
+ {0.125707872210942, 0.0439885919382572, 0.126984126984127, 0.0, 0.035916534917412, 0.155523158271948, 0.0, 0.0, 0.103682105514632, -0.011972178305804, 0.0, 0.0, 0.0, 0.0927360943924091, -0.107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2781,7 +2773,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, -0.131965775814772, -0.0253968253968254, 0.139104141588614, 0.0718330698348239, 0.0311046316543895, -0.0633508128977598, 0.0267706045305259, 0.0622092633087792, 0.0478887132232159, 0.0, -0.0566626896277046, -0.0838052481406278, -0.0834624849531681, -0.0535412090610519};
+ {0.125707872210942, -0.131965775814772, -0.0253968253968254, 0.139104141588614, 0.0718330698348239, 0.0311046316543895, -0.0633508128977598, 0.0267706045305259, 0.0622092633087792, 0.0478887132232159, 0.0, -0.0566626896277046, -0.0838052481406279, -0.0834624849531682, -0.0535412090610519};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2835,7 +2827,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527353, -0.0109971479845643, 0.00634920634920621, 0.0, -0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.0419026240703138, 0.0, 0.0, 0.0838052481406278, 0.139104141588614, 0.107082418122104};
+ {-0.0314269680527354, -0.0109971479845643, 0.00634920634920646, 0.0, -0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.0, 0.0, 0.0838052481406279, 0.139104141588614, 0.107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2943,7 +2935,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, -0.0879771838765144, -0.101587301587302, 0.0927360943924091, 0.107749604752236, 0.0725774738602423, 0.0791885161221998, -0.013385302265263, -0.0518410527573159, -0.0419026240703139, -0.128498901746525, -0.0566626896277046, -0.011972178305804, 0.00927360943924089, 0.0107082418122104};
+ {0.125707872210942, -0.0879771838765144, -0.101587301587302, 0.0927360943924091, 0.107749604752236, 0.0725774738602423, 0.0791885161221998, -0.013385302265263, -0.051841052757316, -0.0419026240703139, -0.128498901746525, -0.0566626896277046, -0.011972178305804, 0.00927360943924088, 0.0107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -2997,7 +2989,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527352, 0.0, -0.0126984126984128, -0.243432247780074, 0.0, 0.0544331053951818, 0.0, 0.0936971158568409, 0.0, -0.0419026240703139, 0.192748352619787, 0.0, -0.0239443566116079, 0.0, 0.0107082418122104};
+ {-0.0314269680527354, 0.0, -0.0126984126984126, -0.243432247780074, 0.0, 0.0544331053951817, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.192748352619787, 0.0, -0.023944356611608, 0.0, 0.0107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -3051,7 +3043,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.0879771838765144, -0.101587301587302, 0.0927360943924091, -0.107749604752236, 0.0725774738602423, -0.0791885161221998, -0.013385302265263, 0.051841052757316, -0.041902624070314, -0.128498901746525, 0.0566626896277046, -0.011972178305804, -0.00927360943924091, 0.0107082418122104};
+ {0.125707872210942, 0.0879771838765143, -0.101587301587302, 0.092736094392409, -0.107749604752236, 0.0725774738602423, -0.0791885161221998, -0.013385302265263, 0.0518410527573159, -0.0419026240703139, -0.128498901746525, 0.0566626896277046, -0.011972178305804, -0.0092736094392409, 0.0107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -3105,7 +3097,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421884, -0.351908735506058, -0.203174603174603, -0.139104141588614, -0.107749604752236, -0.0622092633087791, 0.19005243869328, -0.0267706045305259, 0.124418526617558, 0.155638317975452, 0.0, 0.169988068883114, 0.0838052481406278, -0.0278208283177227, -0.053541209061052};
+ {0.251415744421884, -0.351908735506058, -0.203174603174603, -0.139104141588614, -0.107749604752236, -0.0622092633087791, 0.19005243869328, -0.0267706045305259, 0.124418526617558, 0.155638317975452, 0.0, 0.169988068883114, 0.0838052481406278, -0.0278208283177227, -0.0535412090610519};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -3159,7 +3151,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421883, 0.351908735506058, -0.203174603174603, -0.139104141588614, 0.107749604752236, -0.0622092633087792, -0.19005243869328, -0.0267706045305259, -0.124418526617558, 0.155638317975452, 0.0, -0.169988068883114, 0.0838052481406278, 0.0278208283177227, -0.0535412090610519};
+ {0.251415744421884, 0.351908735506057, -0.203174603174603, -0.139104141588614, 0.107749604752236, -0.0622092633087792, -0.19005243869328, -0.0267706045305259, -0.124418526617558, 0.155638317975452, 0.0, -0.169988068883114, 0.0838052481406278, 0.0278208283177227, -0.0535412090610519};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -3213,7 +3205,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421883, 0.0, 0.406349206349206, 0.0, 0.0, -0.186627789926337, 0.0, -0.187394231713682, 0.0, -0.203527031198668, 0.0, 0.0, -0.167610496281256, 0.0, 0.107082418122104};
+ {0.251415744421884, 0.0, 0.406349206349206, 0.0, 0.0, -0.186627789926337, 0.0, -0.187394231713682, 0.0, -0.203527031198668, 0.0, 0.0, -0.167610496281256, 0.0, 0.107082418122104};
// Compute value(s)
for (unsigned int r = 0; r < 15; r++)
@@ -3388,7 +3380,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, -0.0412393049421161, -0.0238095238095238, 0.0289800294976278, 0.0224478343233824, 0.0129602631893289, -0.0395942580610999, -0.0334632556631574, -0.025920526378658, -0.014965222882255, 0.0321247254366312, 0.0283313448138523, 0.023944356611608, 0.0185472188784818, 0.0107082418122104};
+ {0.0, -0.0412393049421161, -0.0238095238095238, 0.0289800294976278, 0.0224478343233824, 0.012960263189329, -0.0395942580610999, -0.0334632556631574, -0.025920526378658, -0.014965222882255, 0.0321247254366312, 0.0283313448138523, 0.023944356611608, 0.0185472188784818, 0.0107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -3396,34 +3388,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3593,7 +3585,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, 0.0412393049421162, -0.0238095238095238, 0.0289800294976278, -0.0224478343233825, 0.012960263189329, 0.0395942580610999, -0.0334632556631574, 0.0259205263786579, -0.014965222882255, 0.0321247254366312, -0.0283313448138523, 0.023944356611608, -0.0185472188784818, 0.0107082418122104};
+ {0.0, 0.0412393049421161, -0.0238095238095238, 0.0289800294976278, -0.0224478343233825, 0.012960263189329, 0.0395942580610999, -0.0334632556631574, 0.025920526378658, -0.014965222882255, 0.0321247254366312, -0.0283313448138523, 0.0239443566116079, -0.0185472188784818, 0.0107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -3601,34 +3593,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3798,7 +3790,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.0, 0.0, 0.0476190476190476, 0.0, 0.0, 0.038880789567987, 0.0, 0.0, 0.0, 0.0598608915290199, 0.0, 0.0, 0.0, 0.0, 0.0535412090610519};
+ {0.0, 0.0, 0.0476190476190477, 0.0, 0.0, 0.038880789567987, 0.0, 0.0, 0.0, 0.0598608915290199, 0.0, 0.0, 0.0, 0.0, 0.0535412090610519};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -3806,34 +3798,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4003,7 +3995,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.131965775814772, -0.0253968253968254, 0.139104141588614, -0.0718330698348238, 0.0311046316543896, 0.0633508128977598, 0.0267706045305259, -0.0622092633087791, 0.0478887132232159, 0.0, 0.0566626896277045, -0.0838052481406279, 0.0834624849531682, -0.0535412090610519};
+ {0.125707872210942, 0.131965775814772, -0.0253968253968253, 0.139104141588614, -0.0718330698348239, 0.0311046316543896, 0.0633508128977599, 0.0267706045305259, -0.0622092633087791, 0.0478887132232159, 0.0, 0.0566626896277046, -0.0838052481406279, 0.0834624849531682, -0.0535412090610519};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -4011,34 +4003,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4208,7 +4200,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527355, 0.0109971479845643, 0.00634920634920626, 0.0, 0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.0419026240703139, 0.0, 0.0, 0.0838052481406278, -0.139104141588614, 0.107082418122104};
+ {-0.0314269680527355, 0.0109971479845644, 0.00634920634920647, 0.0, 0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.0, 0.0, 0.0838052481406278, -0.139104141588614, 0.107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -4216,34 +4208,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4413,7 +4405,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.0439885919382573, 0.126984126984127, 0.0, 0.035916534917412, 0.155523158271948, 0.0, 0.0, 0.103682105514632, -0.011972178305804, 0.0, 0.0, 0.0, 0.0927360943924091, -0.107082418122104};
+ {0.125707872210942, 0.0439885919382572, 0.126984126984127, 0.0, 0.035916534917412, 0.155523158271948, 0.0, 0.0, 0.103682105514632, -0.011972178305804, 0.0, 0.0, 0.0, 0.0927360943924091, -0.107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -4421,34 +4413,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4618,7 +4610,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, -0.131965775814772, -0.0253968253968254, 0.139104141588614, 0.0718330698348239, 0.0311046316543895, -0.0633508128977598, 0.0267706045305259, 0.0622092633087792, 0.0478887132232159, 0.0, -0.0566626896277046, -0.0838052481406278, -0.0834624849531681, -0.0535412090610519};
+ {0.125707872210942, -0.131965775814772, -0.0253968253968254, 0.139104141588614, 0.0718330698348239, 0.0311046316543895, -0.0633508128977598, 0.0267706045305259, 0.0622092633087792, 0.0478887132232159, 0.0, -0.0566626896277046, -0.0838052481406279, -0.0834624849531682, -0.0535412090610519};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -4626,34 +4618,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4823,7 +4815,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527353, -0.0109971479845643, 0.00634920634920621, 0.0, -0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.0419026240703138, 0.0, 0.0, 0.0838052481406278, 0.139104141588614, 0.107082418122104};
+ {-0.0314269680527354, -0.0109971479845643, 0.00634920634920646, 0.0, -0.188561808316413, -0.163299316185545, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.0, 0.0, 0.0838052481406279, 0.139104141588614, 0.107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -4831,34 +4823,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5036,34 +5028,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5233,7 +5225,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, -0.0879771838765144, -0.101587301587302, 0.0927360943924091, 0.107749604752236, 0.0725774738602423, 0.0791885161221998, -0.013385302265263, -0.0518410527573159, -0.0419026240703139, -0.128498901746525, -0.0566626896277046, -0.011972178305804, 0.00927360943924089, 0.0107082418122104};
+ {0.125707872210942, -0.0879771838765144, -0.101587301587302, 0.0927360943924091, 0.107749604752236, 0.0725774738602423, 0.0791885161221998, -0.013385302265263, -0.051841052757316, -0.0419026240703139, -0.128498901746525, -0.0566626896277046, -0.011972178305804, 0.00927360943924088, 0.0107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -5241,34 +5233,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5438,7 +5430,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {-0.0314269680527352, 0.0, -0.0126984126984128, -0.243432247780074, 0.0, 0.0544331053951818, 0.0, 0.0936971158568409, 0.0, -0.0419026240703139, 0.192748352619787, 0.0, -0.0239443566116079, 0.0, 0.0107082418122104};
+ {-0.0314269680527354, 0.0, -0.0126984126984126, -0.243432247780074, 0.0, 0.0544331053951817, 0.0, 0.0936971158568409, 0.0, -0.041902624070314, 0.192748352619787, 0.0, -0.023944356611608, 0.0, 0.0107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -5446,34 +5438,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5643,7 +5635,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.125707872210942, 0.0879771838765144, -0.101587301587302, 0.0927360943924091, -0.107749604752236, 0.0725774738602423, -0.0791885161221998, -0.013385302265263, 0.051841052757316, -0.041902624070314, -0.128498901746525, 0.0566626896277046, -0.011972178305804, -0.00927360943924091, 0.0107082418122104};
+ {0.125707872210942, 0.0879771838765143, -0.101587301587302, 0.092736094392409, -0.107749604752236, 0.0725774738602423, -0.0791885161221998, -0.013385302265263, 0.0518410527573159, -0.0419026240703139, -0.128498901746525, 0.0566626896277046, -0.011972178305804, -0.0092736094392409, 0.0107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -5651,34 +5643,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5848,7 +5840,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421884, -0.351908735506058, -0.203174603174603, -0.139104141588614, -0.107749604752236, -0.0622092633087791, 0.19005243869328, -0.0267706045305259, 0.124418526617558, 0.155638317975452, 0.0, 0.169988068883114, 0.0838052481406278, -0.0278208283177227, -0.053541209061052};
+ {0.251415744421884, -0.351908735506058, -0.203174603174603, -0.139104141588614, -0.107749604752236, -0.0622092633087791, 0.19005243869328, -0.0267706045305259, 0.124418526617558, 0.155638317975452, 0.0, 0.169988068883114, 0.0838052481406278, -0.0278208283177227, -0.0535412090610519};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -5856,34 +5848,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6053,7 +6045,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421883, 0.351908735506058, -0.203174603174603, -0.139104141588614, 0.107749604752236, -0.0622092633087792, -0.19005243869328, -0.0267706045305259, -0.124418526617558, 0.155638317975452, 0.0, -0.169988068883114, 0.0838052481406278, 0.0278208283177227, -0.0535412090610519};
+ {0.251415744421884, 0.351908735506057, -0.203174603174603, -0.139104141588614, 0.107749604752236, -0.0622092633087792, -0.19005243869328, -0.0267706045305259, -0.124418526617558, 0.155638317975452, 0.0, -0.169988068883114, 0.0838052481406278, 0.0278208283177227, -0.0535412090610519};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -6061,34 +6053,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6258,7 +6250,7 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[15] = \
- {0.251415744421883, 0.0, 0.406349206349206, 0.0, 0.0, -0.186627789926337, 0.0, -0.187394231713682, 0.0, -0.203527031198668, 0.0, 0.0, -0.167610496281256, 0.0, 0.107082418122104};
+ {0.251415744421884, 0.0, 0.406349206349206, 0.0, 0.0, -0.186627789926337, 0.0, -0.187394231713682, 0.0, -0.203527031198668, 0.0, 0.0, -0.167610496281256, 0.0, 0.107082418122104};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[15][15] = \
@@ -6266,34 +6258,34 @@ void poisson2d_4_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.0, 0.0, 7.07106781186547, 0.0, 1.06581410364015e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212921, -5.48740879635665e-14, -2.99332590941917, 13.6626010212795, 1.52100554373646e-14, 0.61101009266079, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, -1.3399275167356e-14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.15463194561016e-14, 0.0},
- {3.46410161513776, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212921, -6.05844177486836e-14, -2.99332590941917, 13.6626010212795, 1.36427978859764e-14, 0.611010092660788, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.02445566732548e-14, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513777, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-5.51746958652424e-14, 10.9544511501033, 4.05488425439909e-14, -8.75140573595602e-14, -3.83325938999965, -1.61888738032678e-14, 17.7482393492988, 1.72481552542989e-14, 0.553283335172495, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.73286382647969, -3.26753313814188e-14, 3.34664010613629, 4.36435780471985, -6.3948846218409e-14, -5.07468037933236, 0.0, 17.0084012854152, 2.52729613987574e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.30741720818685e-14, 2.44948974278317, 0.0, 0.0, 9.14285714285707, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.09838667696594, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-5.595185198248e-14, 10.9544511501033, 3.83283964947406e-14, -8.73023886420868e-14, -3.83325938999965, -1.92974982722182e-14, 17.7482393492988, 1.71950059552337e-14, 0.553283335172496, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.73286382647969, -4.0463756225222e-14, 3.34664010613629, 4.36435780471984, -6.80396122412079e-14, -5.07468037933237, 0.0, 17.0084012854152, 1.79254276548832e-14, 1.52127765851132, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.21859936621683e-14, 2.44948974278317, -1.04956663352449e-14, 0.0, 9.14285714285708, -1.77960816807272e-14, 0.0, 0.0, 14.8461497791618, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.09838667696595, 0.0, 7.66811580507236, 0.0, 0.0, 10.733126291999, 0.0, 0.0, 0.0, 9.2951600308978, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[15][15] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106458, 5.18459255872626, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330395, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749983, 2.19089023002067, 2.52982212813469, 8.08290376865478, 6.26099033699943, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454315, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958086, -1.91662969499983, 0.66394000220698, 8.87411967464943, -1.07142857142856, 0.276641667586248, -0.09583148474999, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235985, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413418, 0.760638829255664, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2, 1.22474487139158, 3.53553390593272, -7.37711113563323, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.5491933384829, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.57770876399969, 0.0, 8.85437744847144, 0.0, -1.06581410364015e-14, -3.09838667696598, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106458, 5.18459255872625, -1.49666295470957, 6.83130051063973, -1.05830052442583, 0.305505046330393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749983, 2.19089023002066, 2.52982212813469, 8.08290376865478, 6.26099033699942, -1.80739222823012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756889, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.68328157299972, 5.47722557505165, -1.89736659610101, 7.42307488958087, -1.91662969499983, 0.663940002206977, 8.87411967464943, -1.07142857142856, 0.276641667586247, -0.0958314847499893, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.36643191323983, 2.89827534923785, 1.67332005306815, 2.18217890235986, 5.74704893215389, -2.53734018966618, 10.062305898749, 8.50420064270763, -2.19577516413419, 0.760638829255663, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2, 1.22474487139158, 3.53553390593272, -7.37711113563324, 4.57142857142853, 1.64957219768466, 0.0, 11.4997781699989, 7.42307488958091, -2.57142857142857, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.54919333848291, 6.64078308635357, 3.83405790253617, 0.0, -6.19677335393183, 5.36656314599952, 0.0, 0.0, 13.4164078649987, 4.6475800154489, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-3.57770876399969, 0.0, 8.85437744847144, 0.0, 0.0, -3.09838667696597, 0.0, 0.0, 0.0, 16.0996894379985, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6833,6 +6825,30 @@ std::size_t poisson2d_4_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_4_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_4_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -6870,7 +6886,7 @@ void poisson2d_4_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_4_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -6921,6 +6937,91 @@ void poisson2d_4_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_4_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_4_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -7021,6 +7122,30 @@ std::size_t poisson2d_4_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_4_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_4_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7070,7 +7195,7 @@ void poisson2d_4_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_4_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -7124,6 +7249,103 @@ void poisson2d_4_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_4_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_4_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -7238,6 +7460,30 @@ std::size_t poisson2d_4_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_4_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 5;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_4_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7300,7 +7546,7 @@ void poisson2d_4_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_4_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -7387,6 +7633,112 @@ void poisson2d_4_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_4_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_4_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -7424,10 +7776,25 @@ void poisson2d_4_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 607
- // Total number of operations (multiply-add pairs): 618
+ // Number of operations (multiply-add pairs) for tensor contraction: 605
+ // Total number of operations (multiply-add pairs): 616
// Compute Jacobian
double J[4];
@@ -7449,230 +7816,230 @@ void poisson2d_4_cell_integral_0_otherwise::tabulate_tensor(double * A,
// Compute element tensor
A[0] = 0.373015873015879*G0_0_0 + 0.373015873015879*G0_0_1 + 0.373015873015879*G0_1_0 + 0.373015873015879*G0_1_1;
- A[1] = 0.0566137566137574*G0_0_0 + 0.0566137566137565*G0_1_0;
+ A[1] = 0.0566137566137573*G0_0_0 + 0.0566137566137565*G0_1_0;
A[2] = 0.0566137566137571*G0_0_1 + 0.0566137566137568*G0_1_1;
- A[3] = 0.0423280423280422*G0_0_0 + 0.0423280423280411*G0_0_1 + 0.0423280423280405*G0_1_0 + 0.0423280423280383*G0_1_1;
- A[4] = 0.0423280423280446*G0_0_0 + 0.0423280423280451*G0_0_1 + 0.0423280423280457*G0_1_0 + 0.0423280423280465*G0_1_1;
- A[5] = 0.0423280423280435*G0_0_0 + 0.0423280423280441*G0_0_1 + 0.0423280423280422*G0_1_0 + 0.042328042328043*G0_1_1;
- A[6] = 0.12698412698413*G0_0_0 - 0.651851851851861*G0_0_1 + 0.12698412698413*G0_1_0 - 0.651851851851861*G0_1_1;
- A[7] = 0.0423280423280427*G0_0_0 + 0.467724867724873*G0_0_1 + 0.0423280423280442*G0_1_0 + 0.467724867724873*G0_1_1;
- A[8] = -0.0423280423280435*G0_0_0 - 0.245502645502648*G0_0_1 - 0.0423280423280422*G0_1_0 - 0.245502645502648*G0_1_1;
- A[9] = -0.651851851851863*G0_0_0 + 0.126984126984129*G0_0_1 - 0.651851851851863*G0_1_0 + 0.126984126984129*G0_1_1;
- A[10] = 0.467724867724875*G0_0_0 + 0.042328042328043*G0_0_1 + 0.467724867724875*G0_1_0 + 0.0423280423280421*G0_1_1;
- A[11] = -0.245502645502649*G0_0_0 - 0.0423280423280434*G0_0_1 - 0.245502645502648*G0_1_0 - 0.0423280423280406*G0_1_1;
- A[12] = -0.0846560846560886*G0_0_0 - 0.0846560846560873*G0_0_1 - 0.0846560846560888*G0_1_0 - 0.0846560846560853*G0_1_1;
- A[13] = -0.0846560846560831*G0_0_0 - 0.0846560846560859*G0_0_1 - 0.0846560846560813*G0_1_0 - 0.0846560846560864*G0_1_1;
- A[14] = -0.0846560846560874*G0_0_0 - 0.0846560846560849*G0_0_1 - 0.08465608465609*G0_1_0 - 0.0846560846560856*G0_1_1;
- A[15] = 0.0566137566137574*G0_0_0 + 0.0566137566137565*G0_0_1;
- A[16] = 0.373015873015876*G0_0_0;
- A[17] = -0.0566137566137571*G0_0_1;
- A[18] = 0.126984126984126*G0_0_0 + 0.778835978835983*G0_0_1;
- A[19] = 0.0423280423280441*G0_0_0 - 0.425396825396828*G0_0_1;
- A[20] = -0.0423280423280439*G0_0_0 + 0.203174603174603*G0_0_1;
- A[21] = 0.0423280423280441*G0_0_0;
- A[22] = 0.0423280423280454*G0_0_0;
- A[23] = 0.042328042328044*G0_0_0;
+ A[3] = 0.0423280423280426*G0_0_0 + 0.042328042328041*G0_0_1 + 0.0423280423280409*G0_1_0 + 0.0423280423280382*G0_1_1;
+ A[4] = 0.0423280423280444*G0_0_0 + 0.0423280423280456*G0_0_1 + 0.0423280423280454*G0_1_0 + 0.0423280423280469*G0_1_1;
+ A[5] = 0.0423280423280435*G0_0_0 + 0.0423280423280437*G0_0_1 + 0.042328042328042*G0_1_0 + 0.0423280423280426*G0_1_1;
+ A[6] = 0.12698412698413*G0_0_0 - 0.651851851851862*G0_0_1 + 0.12698412698413*G0_1_0 - 0.651851851851861*G0_1_1;
+ A[7] = 0.0423280423280423*G0_0_0 + 0.467724867724873*G0_0_1 + 0.0423280423280439*G0_1_0 + 0.467724867724873*G0_1_1;
+ A[8] = -0.0423280423280434*G0_0_0 - 0.245502645502648*G0_0_1 - 0.042328042328042*G0_1_0 - 0.245502645502648*G0_1_1;
+ A[9] = -0.651851851851863*G0_0_0 + 0.126984126984129*G0_0_1 - 0.651851851851863*G0_1_0 + 0.126984126984128*G0_1_1;
+ A[10] = 0.467724867724875*G0_0_0 + 0.0423280423280429*G0_0_1 + 0.467724867724875*G0_1_0 + 0.0423280423280419*G0_1_1;
+ A[11] = -0.245502645502648*G0_0_0 - 0.0423280423280433*G0_0_1 - 0.245502645502647*G0_1_0 - 0.0423280423280405*G0_1_1;
+ A[12] = -0.0846560846560885*G0_0_0 - 0.0846560846560871*G0_0_1 - 0.0846560846560889*G0_1_0 - 0.0846560846560849*G0_1_1;
+ A[13] = -0.0846560846560836*G0_0_0 - 0.0846560846560865*G0_0_1 - 0.0846560846560817*G0_1_0 - 0.0846560846560867*G0_1_1;
+ A[14] = -0.0846560846560868*G0_0_0 - 0.0846560846560851*G0_0_1 - 0.0846560846560894*G0_1_0 - 0.0846560846560859*G0_1_1;
+ A[15] = 0.0566137566137573*G0_0_0 + 0.0566137566137565*G0_0_1;
+ A[16] = 0.373015873015875*G0_0_0;
+ A[17] = -0.056613756613757*G0_0_1;
+ A[18] = 0.126984126984125*G0_0_0 + 0.778835978835982*G0_0_1;
+ A[19] = 0.0423280423280435*G0_0_0 - 0.425396825396828*G0_0_1;
+ A[20] = -0.0423280423280441*G0_0_0 + 0.203174603174602*G0_0_1;
+ A[21] = 0.0423280423280448*G0_0_0;
+ A[22] = 0.0423280423280456*G0_0_0;
+ A[23] = 0.0423280423280441*G0_0_0;
A[24] = -0.245502645502647*G0_0_0 - 0.203174603174604*G0_0_1;
- A[25] = 0.467724867724869*G0_0_0 + 0.425396825396827*G0_0_1;
- A[26] = -0.651851851851855*G0_0_0 - 0.778835978835983*G0_0_1;
- A[27] = -0.0846560846560883*G0_0_0;
- A[28] = -0.0846560846560816*G0_0_0;
- A[29] = -0.0846560846560895*G0_0_0;
+ A[25] = 0.467724867724868*G0_0_0 + 0.425396825396826*G0_0_1;
+ A[26] = -0.651851851851854*G0_0_0 - 0.778835978835981*G0_0_1;
+ A[27] = -0.0846560846560894*G0_0_0;
+ A[28] = -0.0846560846560808*G0_0_0;
+ A[29] = -0.0846560846560891*G0_0_0;
A[30] = 0.0566137566137571*G0_1_0 + 0.0566137566137568*G0_1_1;
- A[31] = -0.0566137566137571*G0_1_0;
+ A[31] = -0.056613756613757*G0_1_0;
A[32] = 0.373015873015876*G0_1_1;
- A[33] = 0.203174603174606*G0_1_0 - 0.0423280423280422*G0_1_1;
- A[34] = -0.425396825396831*G0_1_0 + 0.0423280423280413*G0_1_1;
- A[35] = 0.778835978835986*G0_1_0 + 0.126984126984128*G0_1_1;
+ A[33] = 0.203174603174606*G0_1_0 - 0.042328042328042*G0_1_1;
+ A[34] = -0.425396825396831*G0_1_0 + 0.042328042328041*G0_1_1;
+ A[35] = 0.778835978835987*G0_1_0 + 0.126984126984129*G0_1_1;
A[36] = -0.203174603174605*G0_1_0 - 0.245502645502647*G0_1_1;
- A[37] = 0.42539682539683*G0_1_0 + 0.467724867724872*G0_1_1;
- A[38] = -0.778835978835986*G0_1_0 - 0.651851851851857*G0_1_1;
- A[39] = 0.0423280423280433*G0_1_1;
- A[40] = 0.0423280423280456*G0_1_1;
- A[41] = 0.0423280423280439*G0_1_1;
- A[42] = -0.0846560846560869*G0_1_1;
- A[43] = -0.0846560846560904*G0_1_1;
- A[44] = -0.0846560846560831*G0_1_1;
- A[45] = 0.0423280423280422*G0_0_0 + 0.0423280423280405*G0_0_1 + 0.0423280423280412*G0_1_0 + 0.0423280423280383*G0_1_1;
- A[46] = 0.126984126984126*G0_0_0 + 0.778835978835983*G0_1_0;
- A[47] = 0.203174603174606*G0_0_1 - 0.0423280423280422*G0_1_1;
+ A[37] = 0.425396825396831*G0_1_0 + 0.467724867724873*G0_1_1;
+ A[38] = -0.778835978835987*G0_1_0 - 0.651851851851858*G0_1_1;
+ A[39] = 0.0423280423280431*G0_1_1;
+ A[40] = 0.0423280423280458*G0_1_1;
+ A[41] = 0.0423280423280436*G0_1_1;
+ A[42] = -0.0846560846560867*G0_1_1;
+ A[43] = -0.0846560846560902*G0_1_1;
+ A[44] = -0.0846560846560841*G0_1_1;
+ A[45] = 0.0423280423280426*G0_0_0 + 0.0423280423280409*G0_0_1 + 0.042328042328041*G0_1_0 + 0.0423280423280382*G0_1_1;
+ A[46] = 0.126984126984125*G0_0_0 + 0.778835978835982*G0_1_0;
+ A[47] = 0.203174603174606*G0_0_1 - 0.042328042328042*G0_1_1;
A[48] = 1.82857142857144*G0_0_0 + 1.04973544973545*G0_0_1 + 1.04973544973545*G0_1_0 + 2.09947089947091*G0_1_1;
- A[49] = -0.660317460317463*G0_0_0 + 0.82116402116403*G0_0_1 - 0.296296296296294*G0_1_0 - 0.761904761904769*G0_1_1;
- A[50] = 0.338624338624348*G0_0_0 - 0.440211640211639*G0_0_1 + 0.101587301587305*G0_1_0 + 0.338624338624345*G0_1_1;
- A[51] = -0.203174603174608*G0_0_0 - 0.101587301587299*G0_0_1 - 0.101587301587308*G0_1_0;
- A[52] = -0.152380952380962*G0_0_0 - 0.0423280423280468*G0_0_1 - 0.0423280423280387*G0_1_0;
+ A[49] = -0.660317460317465*G0_0_0 + 0.821164021164029*G0_0_1 - 0.296296296296296*G0_1_0 - 0.761904761904769*G0_1_1;
+ A[50] = 0.338624338624347*G0_0_0 - 0.440211640211638*G0_0_1 + 0.101587301587305*G0_1_0 + 0.338624338624343*G0_1_1;
+ A[51] = -0.203174603174609*G0_0_0 - 0.1015873015873*G0_0_1 - 0.101587301587307*G0_1_0;
+ A[52] = -0.152380952380961*G0_0_0 - 0.0423280423280457*G0_0_1 - 0.0423280423280384*G0_1_0;
A[53] = -0.338624338624347*G0_0_0 - 0.101587301587293*G0_0_1 - 0.101587301587305*G0_1_0;
- A[54] = -0.135449735449738*G0_0_0 - 0.237037037037048*G0_0_1 - 0.237037037037034*G0_1_0 - 0.338624338624348*G0_1_1;
- A[55] = 0.101587301587305*G0_0_0 + 0.465608465608476*G0_0_1 + 0.46560846560846*G0_1_0 + 0.761904761904764*G0_1_1;
+ A[54] = -0.135449735449739*G0_0_0 - 0.23703703703705*G0_0_1 - 0.237037037037034*G0_1_0 - 0.338624338624348*G0_1_1;
+ A[55] = 0.101587301587306*G0_0_0 + 0.465608465608477*G0_0_1 + 0.46560846560846*G0_1_0 + 0.761904761904764*G0_1_1;
A[56] = -0.135449735449735*G0_0_0 - 1.04973544973545*G0_0_1 - 1.04973544973545*G0_1_0 - 2.09947089947091*G0_1_1;
- A[57] = 0.812698412698433*G0_0_0 + 0.338624338624351*G0_0_1 + 0.33862433862435*G0_1_0;
+ A[57] = 0.812698412698436*G0_0_0 + 0.338624338624355*G0_0_1 + 0.33862433862435*G0_1_0 + 1.06338549077378e-14*G0_1_1;
A[58] = -2.43809523809527*G0_0_0 - 1.28677248677251*G0_0_1 - 1.2867724867725*G0_1_0;
- A[59] = 0.812698412698425*G0_0_0 + 0.338624338624325*G0_0_1 + 0.338624338624333*G0_1_0 - 1.97741129026596e-14*G0_1_1;
- A[60] = 0.0423280423280446*G0_0_0 + 0.0423280423280457*G0_0_1 + 0.0423280423280451*G0_1_0 + 0.0423280423280465*G0_1_1;
- A[61] = 0.0423280423280441*G0_0_0 - 0.425396825396828*G0_1_0;
- A[62] = -0.425396825396831*G0_0_1 + 0.0423280423280413*G0_1_1;
- A[63] = -0.660317460317463*G0_0_0 - 0.296296296296294*G0_0_1 + 0.82116402116403*G0_1_0 - 0.761904761904769*G0_1_1;
- A[64] = 2.45079365079369*G0_0_0 + 0.971428571428586*G0_0_1 + 0.971428571428586*G0_1_0 + 2.45079365079368*G0_1_1;
- A[65] = -0.761904761904778*G0_0_0 + 0.821164021164027*G0_0_1 - 0.296296296296305*G0_1_0 - 0.660317460317471*G0_1_1;
- A[66] = -0.152380952380959*G0_0_0 - 0.110052910052922*G0_0_1 - 0.110052910052906*G0_1_0 - 0.0677248677248747*G0_1_1;
- A[67] = 0.39365079365081*G0_0_0 + 0.196825396825416*G0_0_1 + 0.196825396825393*G0_1_0 + 0.0507936507936553*G0_1_1;
- A[68] = 0.761904761904778*G0_0_0 + 0.296296296296293*G0_0_1 + 0.296296296296305*G0_1_0 - 0.0677248677248661*G0_1_1;
- A[69] = -0.0677248677248733*G0_0_0 - 0.110052910052915*G0_0_1 - 0.110052910052919*G0_1_0 - 0.152380952380956*G0_1_1;
- A[70] = 0.0507936507936558*G0_0_0 + 0.196825396825401*G0_0_1 + 0.196825396825416*G0_1_0 + 0.393650793650815*G0_1_1;
- A[71] = -0.0677248677248711*G0_0_0 + 0.296296296296296*G0_0_1 + 0.296296296296287*G0_1_0 + 0.761904761904772*G0_1_1;
- A[72] = 0.406349206349222*G0_0_0 + 0.457142857142873*G0_0_1 + 0.457142857142868*G0_1_0 + 0.406349206349211*G0_1_1;
- A[73] = 0.406349206349199*G0_0_0 - 1.16825396825399*G0_0_1 - 1.16825396825399*G0_1_0 - 2.8444444444445*G0_1_1;
- A[74] = -2.8444444444445*G0_0_0 - 1.16825396825399*G0_0_1 - 1.16825396825398*G0_1_0 + 0.406349206349213*G0_1_1;
- A[75] = 0.0423280423280435*G0_0_0 + 0.0423280423280422*G0_0_1 + 0.0423280423280441*G0_1_0 + 0.042328042328043*G0_1_1;
- A[76] = -0.042328042328044*G0_0_0 + 0.203174603174603*G0_1_0;
- A[77] = 0.778835978835986*G0_0_1 + 0.126984126984128*G0_1_1;
- A[78] = 0.338624338624348*G0_0_0 + 0.101587301587305*G0_0_1 - 0.440211640211639*G0_1_0 + 0.338624338624345*G0_1_1;
- A[79] = -0.761904761904778*G0_0_0 - 0.296296296296305*G0_0_1 + 0.821164021164027*G0_1_0 - 0.660317460317471*G0_1_1;
+ A[59] = 0.812698412698425*G0_0_0 + 0.338624338624322*G0_0_1 + 0.338624338624334*G0_1_0 - 1.90941013000767e-14*G0_1_1;
+ A[60] = 0.0423280423280444*G0_0_0 + 0.0423280423280454*G0_0_1 + 0.0423280423280456*G0_1_0 + 0.0423280423280469*G0_1_1;
+ A[61] = 0.0423280423280435*G0_0_0 - 0.425396825396828*G0_1_0;
+ A[62] = -0.425396825396831*G0_0_1 + 0.042328042328041*G0_1_1;
+ A[63] = -0.660317460317465*G0_0_0 - 0.296296296296296*G0_0_1 + 0.821164021164029*G0_1_0 - 0.761904761904769*G0_1_1;
+ A[64] = 2.45079365079368*G0_0_0 + 0.971428571428585*G0_0_1 + 0.971428571428585*G0_1_0 + 2.45079365079368*G0_1_1;
+ A[65] = -0.76190476190478*G0_0_0 + 0.821164021164023*G0_0_1 - 0.296296296296307*G0_1_0 - 0.660317460317472*G0_1_1;
+ A[66] = -0.152380952380957*G0_0_0 - 0.11005291005292*G0_0_1 - 0.110052910052907*G0_1_0 - 0.0677248677248755*G0_1_1;
+ A[67] = 0.393650793650808*G0_0_0 + 0.196825396825415*G0_0_1 + 0.196825396825392*G0_1_0 + 0.0507936507936565*G0_1_1;
+ A[68] = 0.76190476190478*G0_0_0 + 0.296296296296294*G0_0_1 + 0.296296296296307*G0_1_0 - 0.0677248677248658*G0_1_1;
+ A[69] = -0.0677248677248732*G0_0_0 - 0.110052910052915*G0_0_1 - 0.11005291005292*G0_1_0 - 0.152380952380957*G0_1_1;
+ A[70] = 0.0507936507936559*G0_0_0 + 0.196825396825401*G0_0_1 + 0.196825396825416*G0_1_0 + 0.393650793650816*G0_1_1;
+ A[71] = -0.067724867724871*G0_0_0 + 0.296296296296297*G0_0_1 + 0.296296296296286*G0_1_0 + 0.761904761904771*G0_1_1;
+ A[72] = 0.40634920634922*G0_0_0 + 0.457142857142872*G0_0_1 + 0.45714285714287*G0_1_0 + 0.406349206349211*G0_1_1;
+ A[73] = 0.406349206349202*G0_0_0 - 1.16825396825399*G0_0_1 - 1.16825396825399*G0_1_0 - 2.84444444444449*G0_1_1;
+ A[74] = -2.84444444444449*G0_0_0 - 1.16825396825398*G0_0_1 - 1.16825396825398*G0_1_0 + 0.406349206349213*G0_1_1;
+ A[75] = 0.0423280423280435*G0_0_0 + 0.042328042328042*G0_0_1 + 0.0423280423280437*G0_1_0 + 0.0423280423280426*G0_1_1;
+ A[76] = -0.0423280423280441*G0_0_0 + 0.203174603174603*G0_1_0;
+ A[77] = 0.778835978835987*G0_0_1 + 0.126984126984129*G0_1_1;
+ A[78] = 0.338624338624347*G0_0_0 + 0.101587301587305*G0_0_1 - 0.440211640211638*G0_1_0 + 0.338624338624343*G0_1_1;
+ A[79] = -0.76190476190478*G0_0_0 - 0.296296296296307*G0_0_1 + 0.821164021164023*G0_1_0 - 0.660317460317472*G0_1_1;
A[80] = 2.09947089947093*G0_0_0 + 1.04973544973547*G0_0_1 + 1.04973544973547*G0_1_0 + 1.82857142857145*G0_1_1;
- A[81] = -0.338624338624345*G0_0_0 - 0.237037037037041*G0_0_1 - 0.237037037037049*G0_1_0 - 0.135449735449743*G0_1_1;
- A[82] = 0.761904761904774*G0_0_0 + 0.465608465608473*G0_0_1 + 0.465608465608488*G0_1_0 + 0.101587301587316*G0_1_1;
- A[83] = -2.09947089947093*G0_0_0 - 1.04973544973546*G0_0_1 - 1.04973544973547*G0_1_0 - 0.13544973544974*G0_1_1;
- A[84] = -0.101587301587306*G0_0_1 - 0.101587301587306*G0_1_0 - 0.203174603174613*G0_1_1;
- A[85] = -0.0423280423280419*G0_0_1 - 0.0423280423280475*G0_1_0 - 0.152380952380963*G0_1_1;
- A[86] = -0.101587301587298*G0_0_1 - 0.101587301587294*G0_1_0 - 0.338624338624339*G0_1_1;
+ A[81] = -0.338624338624345*G0_0_0 - 0.23703703703704*G0_0_1 - 0.237037037037049*G0_1_0 - 0.135449735449742*G0_1_1;
+ A[82] = 0.761904761904777*G0_0_0 + 0.465608465608474*G0_0_1 + 0.465608465608488*G0_1_0 + 0.101587301587315*G0_1_1;
+ A[83] = -2.09947089947093*G0_0_0 - 1.04973544973546*G0_0_1 - 1.04973544973547*G0_1_0 - 0.135449735449741*G0_1_1;
+ A[84] = -0.101587301587306*G0_0_1 - 0.101587301587305*G0_1_0 - 0.203174603174613*G0_1_1;
+ A[85] = -0.0423280423280423*G0_0_1 - 0.0423280423280479*G0_1_0 - 0.152380952380964*G0_1_1;
+ A[86] = -0.101587301587298*G0_0_1 - 0.101587301587294*G0_1_0 - 0.338624338624337*G0_1_1;
A[87] = 0.338624338624353*G0_0_1 + 0.338624338624358*G0_1_0 + 0.812698412698448*G0_1_1;
- A[88] = -1.04950770296597e-14*G0_0_0 + 0.338624338624335*G0_0_1 + 0.338624338624329*G0_1_0 + 0.812698412698426*G0_1_1;
+ A[88] = 0.338624338624337*G0_0_1 + 0.33862433862433*G0_1_0 + 0.812698412698426*G0_1_1;
A[89] = -1.28677248677251*G0_0_1 - 1.28677248677251*G0_1_0 - 2.43809523809529*G0_1_1;
- A[90] = 0.12698412698413*G0_0_0 + 0.12698412698413*G0_0_1 - 0.651851851851861*G0_1_0 - 0.651851851851861*G0_1_1;
- A[91] = 0.0423280423280441*G0_0_0;
+ A[90] = 0.12698412698413*G0_0_0 + 0.12698412698413*G0_0_1 - 0.651851851851862*G0_1_0 - 0.651851851851861*G0_1_1;
+ A[91] = 0.0423280423280448*G0_0_0;
A[92] = -0.203174603174605*G0_0_1 - 0.245502645502647*G0_1_1;
- A[93] = -0.203174603174608*G0_0_0 - 0.101587301587308*G0_0_1 - 0.101587301587299*G0_1_0;
- A[94] = -0.152380952380959*G0_0_0 - 0.110052910052906*G0_0_1 - 0.110052910052922*G0_1_0 - 0.0677248677248747*G0_1_1;
- A[95] = -0.338624338624346*G0_0_0 - 0.237037037037049*G0_0_1 - 0.237037037037041*G0_1_0 - 0.135449735449743*G0_1_1;
+ A[93] = -0.203174603174609*G0_0_0 - 0.101587301587307*G0_0_1 - 0.1015873015873*G0_1_0;
+ A[94] = -0.152380952380958*G0_0_0 - 0.110052910052907*G0_0_1 - 0.11005291005292*G0_1_0 - 0.0677248677248755*G0_1_1;
+ A[95] = -0.338624338624345*G0_0_0 - 0.237037037037049*G0_0_1 - 0.23703703703704*G0_1_0 - 0.135449735449742*G0_1_1;
A[96] = 1.82857142857145*G0_0_0 + 0.77883597883599*G0_0_1 + 0.77883597883599*G0_1_0 + 1.82857142857145*G0_1_1;
- A[97] = -0.660317460317459*G0_0_0 - 1.4814814814815*G0_0_1 - 0.364021164021167*G0_1_0 - 1.94708994708997*G0_1_1;
- A[98] = 0.338624338624346*G0_0_0 + 0.778835978835981*G0_0_1 + 0.237037037037041*G0_1_0 + 1.01587301587303*G0_1_1;
- A[99] = -0.135449735449746*G0_0_0 + 0.914285714285717*G0_0_1 + 0.914285714285725*G0_1_0 - 0.13544973544974*G0_1_1;
- A[100] = 0.101587301587317*G0_0_0 - 0.364021164021167*G0_0_1 - 0.364021164021163*G0_1_0 - 0.0677248677248673*G0_1_1;
- A[101] = -0.135449735449745*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587297*G0_1_0;
+ A[97] = -0.66031746031746*G0_0_0 - 1.4814814814815*G0_0_1 - 0.364021164021166*G0_1_0 - 1.94708994708997*G0_1_1;
+ A[98] = 0.338624338624345*G0_0_0 + 0.778835978835981*G0_0_1 + 0.23703703703704*G0_1_0 + 1.01587301587302*G0_1_1;
+ A[99] = -0.135449735449746*G0_0_0 + 0.914285714285718*G0_0_1 + 0.914285714285725*G0_1_0 - 0.13544973544974*G0_1_1;
+ A[100] = 0.101587301587318*G0_0_0 - 0.364021164021165*G0_0_1 - 0.364021164021162*G0_1_0 - 0.0677248677248658*G0_1_1;
+ A[101] = -0.135449735449746*G0_0_0 + 0.1015873015873*G0_0_1 + 0.101587301587295*G0_1_0;
A[102] = -2.43809523809528*G0_0_0 - 1.15132275132276*G0_0_1 - 1.15132275132277*G0_1_0 + 0.135449735449737*G0_1_1;
- A[103] = 0.812698412698443*G0_0_0 + 0.474074074074081*G0_0_1 + 0.474074074074082*G0_1_0 + 0.135449735449742*G0_1_1;
- A[104] = 0.812698412698416*G0_0_0 + 0.474074074074096*G0_0_1 + 0.474074074074089*G0_1_0 + 0.135449735449744*G0_1_1;
- A[105] = 0.0423280423280427*G0_0_0 + 0.0423280423280442*G0_0_1 + 0.467724867724873*G0_1_0 + 0.467724867724873*G0_1_1;
- A[106] = 0.0423280423280454*G0_0_0;
- A[107] = 0.42539682539683*G0_0_1 + 0.467724867724872*G0_1_1;
- A[108] = -0.152380952380962*G0_0_0 - 0.0423280423280387*G0_0_1 - 0.0423280423280468*G0_1_0;
- A[109] = 0.39365079365081*G0_0_0 + 0.196825396825393*G0_0_1 + 0.196825396825417*G0_1_0 + 0.0507936507936553*G0_1_1;
- A[110] = 0.761904761904775*G0_0_0 + 0.465608465608488*G0_0_1 + 0.465608465608474*G0_1_0 + 0.101587301587316*G0_1_1;
- A[111] = -0.660317460317459*G0_0_0 - 0.364021164021167*G0_0_1 - 1.4814814814815*G0_1_0 - 1.94708994708997*G0_1_1;
- A[112] = 2.45079365079368*G0_0_0 + 1.4793650793651*G0_0_1 + 1.4793650793651*G0_1_0 + 2.95873015873019*G0_1_1;
- A[113] = -0.761904761904775*G0_0_0 - 1.58306878306881*G0_0_1 - 0.465608465608474*G0_1_0 - 1.94708994708997*G0_1_1;
- A[114] = -0.0677248677248671*G0_0_0 - 0.364021164021163*G0_0_1 - 0.364021164021162*G0_1_0 + 0.10158730158731*G0_1_1;
- A[115] = 0.0507936507936535*G0_0_0 - 0.146031746031747*G0_0_1 - 0.146031746031757*G0_1_0 + 0.0507936507936538*G0_1_1;
- A[116] = -0.0677248677248745*G0_0_0 + 0.0423280423280408*G0_0_1 + 0.0423280423280455*G0_1_0;
- A[117] = 0.40634920634919*G0_0_0 + 1.57460317460318*G0_0_1 + 1.5746031746032*G0_1_0 - 0.10158730158731*G0_1_1;
- A[118] = 0.40634920634923*G0_0_0 - 0.0507936507936479*G0_0_1 - 0.0507936507936521*G0_1_0 - 0.101587301587311*G0_1_1;
- A[119] = -2.84444444444449*G0_0_0 - 1.6761904761905*G0_0_1 - 1.67619047619051*G0_1_0 - 0.101587301587314*G0_1_1;
- A[120] = -0.0423280423280435*G0_0_0 - 0.0423280423280422*G0_0_1 - 0.245502645502648*G0_1_0 - 0.245502645502648*G0_1_1;
- A[121] = 0.042328042328044*G0_0_0;
- A[122] = -0.778835978835986*G0_0_1 - 0.651851851851857*G0_1_1;
+ A[103] = 0.812698412698442*G0_0_0 + 0.474074074074081*G0_0_1 + 0.474074074074082*G0_1_0 + 0.135449735449741*G0_1_1;
+ A[104] = 0.812698412698417*G0_0_0 + 0.474074074074095*G0_0_1 + 0.474074074074087*G0_1_0 + 0.135449735449744*G0_1_1;
+ A[105] = 0.0423280423280423*G0_0_0 + 0.0423280423280439*G0_0_1 + 0.467724867724873*G0_1_0 + 0.467724867724873*G0_1_1;
+ A[106] = 0.0423280423280456*G0_0_0;
+ A[107] = 0.425396825396831*G0_0_1 + 0.467724867724873*G0_1_1;
+ A[108] = -0.152380952380961*G0_0_0 - 0.0423280423280384*G0_0_1 - 0.0423280423280457*G0_1_0;
+ A[109] = 0.393650793650809*G0_0_0 + 0.196825396825392*G0_0_1 + 0.196825396825415*G0_1_0 + 0.0507936507936565*G0_1_1;
+ A[110] = 0.761904761904777*G0_0_0 + 0.465608465608488*G0_0_1 + 0.465608465608474*G0_1_0 + 0.101587301587315*G0_1_1;
+ A[111] = -0.66031746031746*G0_0_0 - 0.364021164021166*G0_0_1 - 1.4814814814815*G0_1_0 - 1.94708994708997*G0_1_1;
+ A[112] = 2.45079365079368*G0_0_0 + 1.4793650793651*G0_0_1 + 1.4793650793651*G0_1_0 + 2.9587301587302*G0_1_1;
+ A[113] = -0.761904761904778*G0_0_0 - 1.58306878306881*G0_0_1 - 0.465608465608474*G0_1_0 - 1.94708994708997*G0_1_1;
+ A[114] = -0.0677248677248673*G0_0_0 - 0.364021164021164*G0_0_1 - 0.364021164021162*G0_1_0 + 0.101587301587309*G0_1_1;
+ A[115] = 0.0507936507936547*G0_0_0 - 0.146031746031747*G0_0_1 - 0.146031746031757*G0_1_0 + 0.0507936507936526*G0_1_1;
+ A[116] = -0.0677248677248755*G0_0_0 + 0.0423280423280398*G0_0_1 + 0.0423280423280465*G0_1_0;
+ A[117] = 0.406349206349187*G0_0_0 + 1.57460317460318*G0_0_1 + 1.57460317460319*G0_1_0 - 0.101587301587312*G0_1_1;
+ A[118] = 0.406349206349233*G0_0_0 - 0.0507936507936474*G0_0_1 - 0.0507936507936499*G0_1_0 - 0.101587301587311*G0_1_1;
+ A[119] = -2.84444444444449*G0_0_0 - 1.6761904761905*G0_0_1 - 1.67619047619051*G0_1_0 - 0.101587301587311*G0_1_1;
+ A[120] = -0.0423280423280435*G0_0_0 - 0.042328042328042*G0_0_1 - 0.245502645502648*G0_1_0 - 0.245502645502648*G0_1_1;
+ A[121] = 0.0423280423280441*G0_0_0;
+ A[122] = -0.778835978835987*G0_0_1 - 0.651851851851858*G0_1_1;
A[123] = -0.338624338624347*G0_0_0 - 0.101587301587305*G0_0_1 - 0.101587301587293*G0_1_0;
- A[124] = 0.761904761904778*G0_0_0 + 0.296296296296305*G0_0_1 + 0.296296296296293*G0_1_0 - 0.0677248677248661*G0_1_1;
- A[125] = -2.09947089947093*G0_0_0 - 1.04973544973547*G0_0_1 - 1.04973544973546*G0_1_0 - 0.13544973544974*G0_1_1;
- A[126] = 0.338624338624346*G0_0_0 + 0.237037037037041*G0_0_1 + 0.778835978835981*G0_1_0 + 1.01587301587303*G0_1_1;
- A[127] = -0.761904761904775*G0_0_0 - 0.465608465608474*G0_0_1 - 1.58306878306881*G0_1_0 - 1.94708994708997*G0_1_1;
+ A[124] = 0.76190476190478*G0_0_0 + 0.296296296296307*G0_0_1 + 0.296296296296294*G0_1_0 - 0.0677248677248658*G0_1_1;
+ A[125] = -2.09947089947093*G0_0_0 - 1.04973544973547*G0_0_1 - 1.04973544973546*G0_1_0 - 0.135449735449741*G0_1_1;
+ A[126] = 0.338624338624345*G0_0_0 + 0.23703703703704*G0_0_1 + 0.778835978835981*G0_1_0 + 1.01587301587302*G0_1_1;
+ A[127] = -0.761904761904778*G0_0_0 - 0.465608465608474*G0_0_1 - 1.58306878306881*G0_1_0 - 1.94708994708997*G0_1_1;
A[128] = 2.09947089947093*G0_0_0 + 1.04973544973546*G0_0_1 + 1.04973544973546*G0_1_0 + 1.82857142857145*G0_1_1;
A[129] = 0.101587301587306*G0_0_1 + 0.101587301587298*G0_1_0 - 0.135449735449746*G0_1_1;
- A[130] = 0.0423280423280418*G0_0_1 + 0.0423280423280454*G0_1_0 - 0.0677248677248762*G0_1_1;
+ A[130] = 0.0423280423280425*G0_0_1 + 0.0423280423280453*G0_1_0 - 0.0677248677248758*G0_1_1;
A[131] = 0.101587301587298*G0_0_1 + 0.101587301587305*G0_1_0;
- A[132] = -0.338624338624353*G0_0_1 - 0.338624338624339*G0_1_0 + 0.135449735449747*G0_1_1;
- A[133] = 1.05922215443144e-14*G0_0_0 - 0.338624338624335*G0_0_1 - 0.338624338624349*G0_1_0 + 0.135449735449745*G0_1_1;
- A[134] = 1.28677248677251*G0_0_1 + 1.28677248677251*G0_1_0 + 0.135449735449737*G0_1_1;
- A[135] = -0.651851851851863*G0_0_0 - 0.651851851851863*G0_0_1 + 0.126984126984129*G0_1_0 + 0.126984126984129*G0_1_1;
+ A[132] = -0.338624338624353*G0_0_1 - 0.338624338624336*G0_1_0 + 0.135449735449747*G0_1_1;
+ A[133] = -0.338624338624337*G0_0_1 - 0.338624338624352*G0_1_0 + 0.135449735449745*G0_1_1;
+ A[134] = 1.28677248677251*G0_0_1 + 1.28677248677251*G0_1_0 + 0.135449735449738*G0_1_1;
+ A[135] = -0.651851851851863*G0_0_0 - 0.651851851851863*G0_0_1 + 0.126984126984129*G0_1_0 + 0.126984126984128*G0_1_1;
A[136] = -0.245502645502647*G0_0_0 - 0.203174603174604*G0_1_0;
- A[137] = 0.0423280423280433*G0_1_1;
- A[138] = -0.135449735449738*G0_0_0 - 0.237037037037034*G0_0_1 - 0.237037037037048*G0_1_0 - 0.338624338624348*G0_1_1;
- A[139] = -0.0677248677248732*G0_0_0 - 0.110052910052919*G0_0_1 - 0.110052910052915*G0_1_0 - 0.152380952380956*G0_1_1;
- A[140] = -0.101587301587306*G0_0_1 - 0.101587301587306*G0_1_0 - 0.203174603174613*G0_1_1;
- A[141] = -0.135449735449746*G0_0_0 + 0.914285714285725*G0_0_1 + 0.914285714285717*G0_1_0 - 0.13544973544974*G0_1_1;
- A[142] = -0.0677248677248671*G0_0_0 - 0.364021164021162*G0_0_1 - 0.364021164021163*G0_1_0 + 0.10158730158731*G0_1_1;
+ A[137] = 0.0423280423280431*G0_1_1;
+ A[138] = -0.135449735449739*G0_0_0 - 0.237037037037034*G0_0_1 - 0.23703703703705*G0_1_0 - 0.338624338624348*G0_1_1;
+ A[139] = -0.0677248677248732*G0_0_0 - 0.11005291005292*G0_0_1 - 0.110052910052915*G0_1_0 - 0.152380952380957*G0_1_1;
+ A[140] = -0.101587301587305*G0_0_1 - 0.101587301587306*G0_1_0 - 0.203174603174613*G0_1_1;
+ A[141] = -0.135449735449746*G0_0_0 + 0.914285714285725*G0_0_1 + 0.914285714285718*G0_1_0 - 0.13544973544974*G0_1_1;
+ A[142] = -0.0677248677248673*G0_0_0 - 0.364021164021162*G0_0_1 - 0.364021164021164*G0_1_0 + 0.101587301587309*G0_1_1;
A[143] = 0.101587301587298*G0_0_1 + 0.101587301587306*G0_1_0 - 0.135449735449746*G0_1_1;
- A[144] = 1.82857142857146*G0_0_0 + 0.778835978835987*G0_0_1 + 0.778835978835987*G0_1_0 + 1.82857142857145*G0_1_1;
- A[145] = -1.94708994708997*G0_0_0 - 0.364021164021164*G0_0_1 - 1.48148148148149*G0_1_0 - 0.660317460317457*G0_1_1;
- A[146] = 1.01587301587302*G0_0_0 + 0.237037037037036*G0_0_1 + 0.778835978835982*G0_1_0 + 0.338624338624341*G0_1_1;
+ A[144] = 1.82857142857146*G0_0_0 + 0.778835978835988*G0_0_1 + 0.778835978835988*G0_1_0 + 1.82857142857145*G0_1_1;
+ A[145] = -1.94708994708997*G0_0_0 - 0.364021164021163*G0_0_1 - 1.48148148148149*G0_1_0 - 0.660317460317456*G0_1_1;
+ A[146] = 1.01587301587302*G0_0_0 + 0.237037037037036*G0_0_1 + 0.778835978835981*G0_1_0 + 0.338624338624341*G0_1_1;
A[147] = 0.135449735449747*G0_0_0 - 1.15132275132277*G0_0_1 - 1.15132275132276*G0_1_0 - 2.43809523809528*G0_1_1;
- A[148] = 0.135449735449737*G0_0_0 + 0.47407407407408*G0_0_1 + 0.474074074074093*G0_1_0 + 0.812698412698419*G0_1_1;
- A[149] = 0.13544973544974*G0_0_0 + 0.474074074074092*G0_0_1 + 0.474074074074078*G0_1_0 + 0.812698412698447*G0_1_1;
- A[150] = 0.467724867724875*G0_0_0 + 0.467724867724875*G0_0_1 + 0.042328042328043*G0_1_0 + 0.0423280423280421*G0_1_1;
- A[151] = 0.467724867724869*G0_0_0 + 0.425396825396827*G0_1_0;
- A[152] = 0.0423280423280456*G0_1_1;
- A[153] = 0.101587301587305*G0_0_0 + 0.46560846560846*G0_0_1 + 0.465608465608476*G0_1_0 + 0.761904761904764*G0_1_1;
- A[154] = 0.0507936507936558*G0_0_0 + 0.196825396825416*G0_0_1 + 0.196825396825401*G0_1_0 + 0.393650793650815*G0_1_1;
- A[155] = -0.0423280423280475*G0_0_1 - 0.0423280423280419*G0_1_0 - 0.152380952380963*G0_1_1;
- A[156] = 0.101587301587317*G0_0_0 - 0.364021164021163*G0_0_1 - 0.364021164021167*G0_1_0 - 0.0677248677248673*G0_1_1;
- A[157] = 0.0507936507936535*G0_0_0 - 0.146031746031757*G0_0_1 - 0.146031746031747*G0_1_0 + 0.0507936507936538*G0_1_1;
- A[158] = 0.0423280423280454*G0_0_1 + 0.0423280423280417*G0_1_0 - 0.0677248677248762*G0_1_1;
- A[159] = -1.94708994708997*G0_0_0 - 1.48148148148149*G0_0_1 - 0.364021164021164*G0_1_0 - 0.660317460317457*G0_1_1;
+ A[148] = 0.135449735449738*G0_0_0 + 0.474074074074081*G0_0_1 + 0.474074074074095*G0_1_0 + 0.81269841269842*G0_1_1;
+ A[149] = 0.135449735449741*G0_0_0 + 0.474074074074091*G0_0_1 + 0.474074074074079*G0_1_0 + 0.812698412698446*G0_1_1;
+ A[150] = 0.467724867724875*G0_0_0 + 0.467724867724875*G0_0_1 + 0.0423280423280429*G0_1_0 + 0.0423280423280419*G0_1_1;
+ A[151] = 0.467724867724868*G0_0_0 + 0.425396825396826*G0_1_0;
+ A[152] = 0.0423280423280458*G0_1_1;
+ A[153] = 0.101587301587306*G0_0_0 + 0.46560846560846*G0_0_1 + 0.465608465608477*G0_1_0 + 0.761904761904764*G0_1_1;
+ A[154] = 0.0507936507936559*G0_0_0 + 0.196825396825416*G0_0_1 + 0.196825396825401*G0_1_0 + 0.393650793650817*G0_1_1;
+ A[155] = -0.0423280423280479*G0_0_1 - 0.0423280423280423*G0_1_0 - 0.152380952380964*G0_1_1;
+ A[156] = 0.101587301587318*G0_0_0 - 0.364021164021162*G0_0_1 - 0.364021164021165*G0_1_0 - 0.0677248677248659*G0_1_1;
+ A[157] = 0.0507936507936547*G0_0_0 - 0.146031746031757*G0_0_1 - 0.146031746031747*G0_1_0 + 0.0507936507936526*G0_1_1;
+ A[158] = 0.0423280423280453*G0_0_1 + 0.0423280423280425*G0_1_0 - 0.0677248677248759*G0_1_1;
+ A[159] = -1.94708994708997*G0_0_0 - 1.48148148148149*G0_0_1 - 0.364021164021163*G0_1_0 - 0.660317460317456*G0_1_1;
A[160] = 2.95873015873019*G0_0_0 + 1.47936507936509*G0_0_1 + 1.47936507936509*G0_1_0 + 2.45079365079369*G0_1_1;
- A[161] = -1.94708994708996*G0_0_0 - 0.465608465608461*G0_0_1 - 1.5830687830688*G0_1_0 - 0.761904761904766*G0_1_1;
- A[162] = -0.10158730158732*G0_0_0 + 1.57460317460319*G0_0_1 + 1.57460317460319*G0_1_0 + 0.406349206349183*G0_1_1;
- A[163] = -0.101587301587302*G0_0_0 - 1.67619047619051*G0_0_1 - 1.6761904761905*G0_1_0 - 2.8444444444445*G0_1_1;
- A[164] = -0.101587301587309*G0_0_0 - 0.0507936507936541*G0_0_1 - 0.0507936507936537*G0_1_0 + 0.406349206349239*G0_1_1;
- A[165] = -0.245502645502649*G0_0_0 - 0.245502645502648*G0_0_1 - 0.0423280423280434*G0_1_0 - 0.0423280423280406*G0_1_1;
- A[166] = -0.651851851851855*G0_0_0 - 0.778835978835983*G0_1_0;
- A[167] = 0.042328042328044*G0_1_1;
+ A[161] = -1.94708994708996*G0_0_0 - 0.465608465608461*G0_0_1 - 1.5830687830688*G0_1_0 - 0.761904761904765*G0_1_1;
+ A[162] = -0.101587301587322*G0_0_0 + 1.57460317460319*G0_0_1 + 1.57460317460319*G0_1_0 + 0.406349206349183*G0_1_1;
+ A[163] = -0.101587301587301*G0_0_0 - 1.67619047619051*G0_0_1 - 1.6761904761905*G0_1_0 - 2.8444444444445*G0_1_1;
+ A[164] = -0.101587301587311*G0_0_0 - 0.0507936507936544*G0_0_1 - 0.0507936507936549*G0_1_0 + 0.406349206349238*G0_1_1;
+ A[165] = -0.245502645502648*G0_0_0 - 0.245502645502647*G0_0_1 - 0.0423280423280433*G0_1_0 - 0.0423280423280405*G0_1_1;
+ A[166] = -0.651851851851854*G0_0_0 - 0.778835978835981*G0_1_0;
+ A[167] = 0.0423280423280436*G0_1_1;
A[168] = -0.135449735449735*G0_0_0 - 1.04973544973545*G0_0_1 - 1.04973544973545*G0_1_0 - 2.09947089947091*G0_1_1;
- A[169] = -0.0677248677248711*G0_0_0 + 0.296296296296287*G0_0_1 + 0.296296296296296*G0_1_0 + 0.761904761904772*G0_1_1;
- A[170] = -0.101587301587294*G0_0_1 - 0.101587301587298*G0_1_0 - 0.338624338624339*G0_1_1;
- A[171] = -0.135449735449745*G0_0_0 + 0.101587301587297*G0_0_1 + 0.101587301587301*G0_1_0;
- A[172] = -0.0677248677248745*G0_0_0 + 0.0423280423280455*G0_0_1 + 0.0423280423280408*G0_1_0;
+ A[169] = -0.067724867724871*G0_0_0 + 0.296296296296286*G0_0_1 + 0.296296296296297*G0_1_0 + 0.761904761904771*G0_1_1;
+ A[170] = -0.101587301587294*G0_0_1 - 0.101587301587298*G0_1_0 - 0.338624338624337*G0_1_1;
+ A[171] = -0.135449735449746*G0_0_0 + 0.101587301587295*G0_0_1 + 0.1015873015873*G0_1_0;
+ A[172] = -0.0677248677248755*G0_0_0 + 0.0423280423280465*G0_0_1 + 0.0423280423280398*G0_1_0;
A[173] = 0.101587301587305*G0_0_1 + 0.101587301587298*G0_1_0;
- A[174] = 1.01587301587302*G0_0_0 + 0.778835978835982*G0_0_1 + 0.237037037037036*G0_1_0 + 0.338624338624341*G0_1_1;
- A[175] = -1.94708994708996*G0_0_0 - 1.5830687830688*G0_0_1 - 0.465608465608461*G0_1_0 - 0.761904761904766*G0_1_1;
- A[176] = 1.82857142857144*G0_0_0 + 1.04973544973545*G0_0_1 + 1.04973544973545*G0_1_0 + 2.09947089947091*G0_1_1;
- A[177] = 0.135449735449751*G0_0_0 - 0.338624338624333*G0_0_1 - 0.338624338624348*G0_1_0;
- A[178] = 0.135449735449729*G0_0_0 + 1.28677248677251*G0_0_1 + 1.2867724867725*G0_1_0;
- A[179] = 0.135449735449746*G0_0_0 - 0.33862433862435*G0_0_1 - 0.338624338624337*G0_1_0 + 1.46323925198644e-14*G0_1_1;
- A[180] = -0.0846560846560886*G0_0_0 - 0.0846560846560888*G0_0_1 - 0.0846560846560873*G0_1_0 - 0.0846560846560853*G0_1_1;
- A[181] = -0.0846560846560883*G0_0_0;
- A[182] = -0.0846560846560869*G0_1_1;
- A[183] = 0.812698412698433*G0_0_0 + 0.33862433862435*G0_0_1 + 0.338624338624351*G0_1_0;
- A[184] = 0.406349206349222*G0_0_0 + 0.457142857142868*G0_0_1 + 0.457142857142873*G0_1_0 + 0.406349206349211*G0_1_1;
+ A[174] = 1.01587301587302*G0_0_0 + 0.778835978835981*G0_0_1 + 0.237037037037036*G0_1_0 + 0.338624338624341*G0_1_1;
+ A[175] = -1.94708994708996*G0_0_0 - 1.5830687830688*G0_0_1 - 0.46560846560846*G0_1_0 - 0.761904761904765*G0_1_1;
+ A[176] = 1.82857142857144*G0_0_0 + 1.04973544973545*G0_0_1 + 1.04973544973545*G0_1_0 + 2.0994708994709*G0_1_1;
+ A[177] = 0.135449735449752*G0_0_0 - 0.338624338624334*G0_0_1 - 0.338624338624347*G0_1_0;
+ A[178] = 0.135449735449728*G0_0_0 + 1.28677248677251*G0_0_1 + 1.2867724867725*G0_1_0;
+ A[179] = 0.135449735449746*G0_0_0 - 0.338624338624349*G0_0_1 - 0.338624338624337*G0_1_0 + 1.47677009509906e-14*G0_1_1;
+ A[180] = -0.0846560846560885*G0_0_0 - 0.0846560846560889*G0_0_1 - 0.0846560846560871*G0_1_0 - 0.0846560846560849*G0_1_1;
+ A[181] = -0.0846560846560894*G0_0_0;
+ A[182] = -0.0846560846560867*G0_1_1;
+ A[183] = 0.812698412698436*G0_0_0 + 0.33862433862435*G0_0_1 + 0.338624338624355*G0_1_0 + 1.06616104833535e-14*G0_1_1;
+ A[184] = 0.40634920634922*G0_0_0 + 0.45714285714287*G0_0_1 + 0.457142857142872*G0_1_0 + 0.406349206349211*G0_1_1;
A[185] = 0.338624338624358*G0_0_1 + 0.338624338624353*G0_1_0 + 0.812698412698448*G0_1_1;
A[186] = -2.43809523809528*G0_0_0 - 1.15132275132277*G0_0_1 - 1.15132275132276*G0_1_0 + 0.135449735449737*G0_1_1;
- A[187] = 0.40634920634919*G0_0_0 + 1.5746031746032*G0_0_1 + 1.57460317460318*G0_1_0 - 0.10158730158731*G0_1_1;
- A[188] = -0.338624338624339*G0_0_1 - 0.338624338624353*G0_1_0 + 0.135449735449747*G0_1_1;
+ A[187] = 0.406349206349187*G0_0_0 + 1.57460317460319*G0_0_1 + 1.57460317460318*G0_1_0 - 0.101587301587312*G0_1_1;
+ A[188] = -0.338624338624336*G0_0_1 - 0.338624338624353*G0_1_0 + 0.135449735449747*G0_1_1;
A[189] = 0.135449735449747*G0_0_0 - 1.15132275132276*G0_0_1 - 1.15132275132277*G0_1_0 - 2.43809523809528*G0_1_1;
- A[190] = -0.101587301587321*G0_0_0 + 1.57460317460319*G0_0_1 + 1.57460317460319*G0_1_0 + 0.406349206349183*G0_1_1;
- A[191] = 0.135449735449751*G0_0_0 - 0.338624338624348*G0_0_1 - 0.338624338624333*G0_1_0;
+ A[190] = -0.101587301587322*G0_0_0 + 1.57460317460319*G0_0_1 + 1.57460317460319*G0_1_0 + 0.406349206349184*G0_1_1;
+ A[191] = 0.135449735449752*G0_0_0 - 0.338624338624347*G0_0_1 - 0.338624338624335*G0_1_0;
A[192] = 5.68888888888898*G0_0_0 + 2.84444444444446*G0_0_1 + 2.84444444444446*G0_1_0 + 5.68888888888897*G0_1_1;
- A[193] = -4.06349206349213*G0_0_0 - 2.03174603174606*G0_0_1 - 2.03174603174605*G0_1_0 - 0.812698412698398*G0_1_1;
- A[194] = -0.812698412698412*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174605*G0_1_0 - 4.06349206349214*G0_1_1;
- A[195] = -0.0846560846560831*G0_0_0 - 0.0846560846560814*G0_0_1 - 0.0846560846560858*G0_1_0 - 0.0846560846560863*G0_1_1;
- A[196] = -0.0846560846560815*G0_0_0;
- A[197] = -0.0846560846560904*G0_1_1;
+ A[193] = -4.06349206349213*G0_0_0 - 2.03174603174606*G0_0_1 - 2.03174603174605*G0_1_0 - 0.812698412698401*G0_1_1;
+ A[194] = -0.812698412698409*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174605*G0_1_0 - 4.06349206349214*G0_1_1;
+ A[195] = -0.0846560846560836*G0_0_0 - 0.0846560846560818*G0_0_1 - 0.0846560846560865*G0_1_0 - 0.0846560846560867*G0_1_1;
+ A[196] = -0.0846560846560808*G0_0_0;
+ A[197] = -0.0846560846560902*G0_1_1;
A[198] = -2.43809523809527*G0_0_0 - 1.2867724867725*G0_0_1 - 1.28677248677251*G0_1_0;
- A[199] = 0.406349206349199*G0_0_0 - 1.16825396825399*G0_0_1 - 1.16825396825399*G0_1_0 - 2.8444444444445*G0_1_1;
- A[200] = -1.04950770296597e-14*G0_0_0 + 0.33862433862433*G0_0_1 + 0.338624338624335*G0_1_0 + 0.812698412698426*G0_1_1;
- A[201] = 0.812698412698443*G0_0_0 + 0.474074074074082*G0_0_1 + 0.474074074074081*G0_1_0 + 0.135449735449742*G0_1_1;
- A[202] = 0.40634920634923*G0_0_0 - 0.0507936507936522*G0_0_1 - 0.0507936507936479*G0_1_0 - 0.101587301587311*G0_1_1;
- A[203] = 1.061997711993e-14*G0_0_0 - 0.33862433862435*G0_0_1 - 0.338624338624335*G0_1_0 + 0.135449735449745*G0_1_1;
- A[204] = 0.135449735449737*G0_0_0 + 0.474074074074094*G0_0_1 + 0.47407407407408*G0_1_0 + 0.812698412698419*G0_1_1;
- A[205] = -0.101587301587302*G0_0_0 - 1.6761904761905*G0_0_1 - 1.67619047619051*G0_1_0 - 2.8444444444445*G0_1_1;
+ A[199] = 0.406349206349202*G0_0_0 - 1.16825396825399*G0_0_1 - 1.16825396825399*G0_1_0 - 2.84444444444449*G0_1_1;
+ A[200] = 0.33862433862433*G0_0_1 + 0.338624338624337*G0_1_0 + 0.812698412698426*G0_1_1;
+ A[201] = 0.812698412698442*G0_0_0 + 0.474074074074082*G0_0_1 + 0.474074074074081*G0_1_0 + 0.135449735449741*G0_1_1;
+ A[202] = 0.406349206349234*G0_0_0 - 0.0507936507936501*G0_0_1 - 0.0507936507936474*G0_1_0 - 0.101587301587311*G0_1_1;
+ A[203] = -0.338624338624352*G0_0_1 - 0.338624338624337*G0_1_0 + 0.135449735449745*G0_1_1;
+ A[204] = 0.135449735449738*G0_0_0 + 0.474074074074095*G0_0_1 + 0.474074074074081*G0_1_0 + 0.81269841269842*G0_1_1;
+ A[205] = -0.101587301587301*G0_0_0 - 1.6761904761905*G0_0_1 - 1.67619047619051*G0_1_0 - 2.8444444444445*G0_1_1;
A[206] = 0.135449735449729*G0_0_0 + 1.2867724867725*G0_0_1 + 1.28677248677251*G0_1_0;
- A[207] = -4.06349206349213*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174606*G0_1_0 - 0.812698412698398*G0_1_1;
- A[208] = 5.68888888888896*G0_0_0 + 2.84444444444449*G0_0_1 + 2.84444444444449*G0_1_0 + 5.68888888888899*G0_1_1;
- A[209] = -0.812698412698429*G0_0_0 + 1.21904761904763*G0_0_1 + 1.21904761904764*G0_1_0 - 0.812698412698444*G0_1_1;
- A[210] = -0.0846560846560874*G0_0_0 - 0.08465608465609*G0_0_1 - 0.084656084656085*G0_1_0 - 0.0846560846560856*G0_1_1;
- A[211] = -0.0846560846560896*G0_0_0;
- A[212] = -0.0846560846560831*G0_1_1;
- A[213] = 0.812698412698425*G0_0_0 + 0.338624338624333*G0_0_1 + 0.338624338624325*G0_1_0 - 1.97723781791836e-14*G0_1_1;
- A[214] = -2.8444444444445*G0_0_0 - 1.16825396825398*G0_0_1 - 1.16825396825399*G0_1_0 + 0.406349206349214*G0_1_1;
+ A[207] = -4.06349206349213*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174606*G0_1_0 - 0.8126984126984*G0_1_1;
+ A[208] = 5.68888888888895*G0_0_0 + 2.84444444444449*G0_0_1 + 2.84444444444449*G0_1_0 + 5.68888888888899*G0_1_1;
+ A[209] = -0.812698412698433*G0_0_0 + 1.21904761904763*G0_0_1 + 1.21904761904763*G0_1_0 - 0.812698412698443*G0_1_1;
+ A[210] = -0.0846560846560868*G0_0_0 - 0.0846560846560894*G0_0_1 - 0.0846560846560851*G0_1_0 - 0.0846560846560859*G0_1_1;
+ A[211] = -0.0846560846560891*G0_0_0;
+ A[212] = -0.0846560846560842*G0_1_1;
+ A[213] = 0.812698412698425*G0_0_0 + 0.338624338624334*G0_0_1 + 0.338624338624322*G0_1_0 - 1.91027749174566e-14*G0_1_1;
+ A[214] = -2.84444444444449*G0_0_0 - 1.16825396825398*G0_0_1 - 1.16825396825398*G0_1_0 + 0.406349206349214*G0_1_1;
A[215] = -1.28677248677251*G0_0_1 - 1.28677248677251*G0_1_0 - 2.43809523809529*G0_1_1;
- A[216] = 0.812698412698417*G0_0_0 + 0.474074074074089*G0_0_1 + 0.474074074074096*G0_1_0 + 0.135449735449744*G0_1_1;
- A[217] = -2.84444444444449*G0_0_0 - 1.67619047619051*G0_0_1 - 1.6761904761905*G0_1_0 - 0.101587301587314*G0_1_1;
- A[218] = 1.28677248677251*G0_0_1 + 1.28677248677251*G0_1_0 + 0.135449735449737*G0_1_1;
- A[219] = 0.13544973544974*G0_0_0 + 0.474074074074078*G0_0_1 + 0.474074074074092*G0_1_0 + 0.812698412698447*G0_1_1;
- A[220] = -0.101587301587309*G0_0_0 - 0.0507936507936537*G0_0_1 - 0.0507936507936541*G0_1_0 + 0.406349206349238*G0_1_1;
- A[221] = 0.135449735449746*G0_0_0 - 0.338624338624337*G0_0_1 - 0.33862433862435*G0_1_0 + 1.46462703076722e-14*G0_1_1;
- A[222] = -0.812698412698412*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174605*G0_1_0 - 4.06349206349214*G0_1_1;
- A[223] = -0.812698412698429*G0_0_0 + 1.21904761904764*G0_0_1 + 1.21904761904763*G0_1_0 - 0.812698412698444*G0_1_1;
- A[224] = 5.68888888888899*G0_0_0 + 2.84444444444449*G0_0_1 + 2.84444444444449*G0_1_0 + 5.68888888888898*G0_1_1;
+ A[216] = 0.812698412698417*G0_0_0 + 0.474074074074087*G0_0_1 + 0.474074074074095*G0_1_0 + 0.135449735449744*G0_1_1;
+ A[217] = -2.84444444444449*G0_0_0 - 1.67619047619051*G0_0_1 - 1.6761904761905*G0_1_0 - 0.101587301587311*G0_1_1;
+ A[218] = 1.28677248677251*G0_0_1 + 1.28677248677251*G0_1_0 + 0.135449735449738*G0_1_1;
+ A[219] = 0.135449735449741*G0_0_0 + 0.474074074074079*G0_0_1 + 0.474074074074091*G0_1_0 + 0.812698412698446*G0_1_1;
+ A[220] = -0.101587301587311*G0_0_0 - 0.050793650793655*G0_0_1 - 0.0507936507936542*G0_1_0 + 0.406349206349239*G0_1_1;
+ A[221] = 0.135449735449746*G0_0_0 - 0.338624338624337*G0_0_1 - 0.338624338624349*G0_1_0 + 1.47781092918464e-14*G0_1_1;
+ A[222] = -0.812698412698409*G0_0_0 - 2.03174603174605*G0_0_1 - 2.03174603174605*G0_1_0 - 4.06349206349214*G0_1_1;
+ A[223] = -0.812698412698433*G0_0_0 + 1.21904761904763*G0_0_1 + 1.21904761904763*G0_1_0 - 0.812698412698443*G0_1_1;
+ A[224] = 5.68888888888898*G0_0_0 + 2.84444444444449*G0_0_1 + 2.84444444444449*G0_1_0 + 5.68888888888898*G0_1_1;
}
@@ -7697,6 +8064,21 @@ void poisson2d_4_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 8
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 15
// Number of operations (multiply-add pairs) for tensor contraction: 205
@@ -7732,21 +8114,21 @@ void poisson2d_4_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_14 = det*w[0][14]*(1.0);
// Compute element tensor
- A[0] = 0.00255731922398588*G0_0 - 0.000238095238095237*G0_1 - 0.000238095238095236*G0_2 - 0.000987654320987653*G0_3 - 0.000105820105820105*G0_4 - 0.000987654320987653*G0_5 + 0.00141093474426806*G0_6 - 0.000705467372134027*G0_7 + 0.00141093474426806*G0_9 - 0.000705467372134031*G0_10 + 0.00141093474426806*G0_12 - 0.00141093474426807*G0_13 - 0.00141093474426807*G0_14;
- A[1] = -0.000238095238095237*G0_0 + 0.00255731922398588*G0_1 - 0.000238095238095237*G0_2 + 0.00141093474426806*G0_3 - 0.000705467372134031*G0_4 - 0.000987654320987656*G0_6 - 0.000105820105820103*G0_7 - 0.000987654320987655*G0_8 - 0.000705467372134034*G0_10 + 0.00141093474426806*G0_11 - 0.00141093474426808*G0_12 + 0.00141093474426807*G0_13 - 0.00141093474426808*G0_14;
- A[2] = -0.000238095238095236*G0_0 - 0.000238095238095237*G0_1 + 0.00255731922398588*G0_2 - 0.000705467372134036*G0_4 + 0.00141093474426807*G0_5 - 0.000705467372134035*G0_7 + 0.00141093474426807*G0_8 - 0.000987654320987648*G0_9 - 0.000105820105820106*G0_10 - 0.000987654320987647*G0_11 - 0.00141093474426806*G0_12 - 0.00141093474426807*G0_13 + 0.00141093474426806*G0_14;
- A[3] = -0.000987654320987653*G0_0 + 0.00141093474426806*G0_1 + 0.0225749559082891*G0_3 - 0.0112874779541446*G0_4 + 0.00677248677248674*G0_5 + 0.00225749559082892*G0_6 + 0.000564373897707238*G0_7 + 0.00451499118165783*G0_8 + 0.00451499118165783*G0_9 - 0.00846560846560842*G0_10 + 0.0112874779541446*G0_11 - 0.00225749559082892*G0_12 + 0.0112874779541446*G0_13 + 0.0022574955908289*G0_14;
- A[4] = -0.000105820105820105*G0_0 - 0.000705467372134031*G0_1 - 0.000705467372134036*G0_2 - 0.0112874779541446*G0_3 + 0.0279365079365078*G0_4 - 0.0112874779541446*G0_5 + 0.000564373897707237*G0_6 + 0.000423280423280398*G0_7 - 0.00846560846560842*G0_8 + 0.00056437389770724*G0_9 + 0.000423280423280416*G0_10 - 0.00846560846560841*G0_11 - 0.00677248677248674*G0_12 + 0.00338624338624338*G0_13 + 0.00338624338624337*G0_14;
- A[5] = -0.000987654320987653*G0_0 + 0.00141093474426806*G0_2 + 0.00677248677248674*G0_3 - 0.0112874779541446*G0_4 + 0.0225749559082891*G0_5 + 0.00451499118165782*G0_6 - 0.00846560846560842*G0_7 + 0.0112874779541446*G0_8 + 0.0022574955908289*G0_9 + 0.000564373897707234*G0_10 + 0.00451499118165782*G0_11 - 0.00225749559082894*G0_12 + 0.00225749559082891*G0_13 + 0.0112874779541446*G0_14;
- A[6] = 0.00141093474426806*G0_0 - 0.000987654320987656*G0_1 + 0.00225749559082892*G0_3 + 0.000564373897707237*G0_4 + 0.00451499118165782*G0_5 + 0.0225749559082891*G0_6 - 0.0112874779541446*G0_7 + 0.00677248677248674*G0_8 + 0.0112874779541446*G0_9 - 0.00846560846560843*G0_10 + 0.00451499118165783*G0_11 + 0.0112874779541446*G0_12 - 0.00225749559082893*G0_13 + 0.00225749559082892*G0_14;
- A[7] = -0.000705467372134027*G0_0 - 0.000105820105820103*G0_1 - 0.000705467372134035*G0_2 + 0.000564373897707238*G0_3 + 0.000423280423280398*G0_4 - 0.00846560846560842*G0_5 - 0.0112874779541446*G0_6 + 0.0279365079365078*G0_7 - 0.0112874779541445*G0_8 - 0.00846560846560841*G0_9 + 0.000423280423280422*G0_10 + 0.000564373897707239*G0_11 + 0.00338624338624338*G0_12 - 0.00677248677248671*G0_13 + 0.00338624338624335*G0_14;
- A[8] = -0.000987654320987655*G0_1 + 0.00141093474426807*G0_2 + 0.00451499118165783*G0_3 - 0.00846560846560842*G0_4 + 0.0112874779541446*G0_5 + 0.00677248677248674*G0_6 - 0.0112874779541445*G0_7 + 0.0225749559082891*G0_8 + 0.00451499118165782*G0_9 + 0.00056437389770723*G0_10 + 0.00225749559082891*G0_11 + 0.00225749559082891*G0_12 - 0.00225749559082892*G0_13 + 0.0112874779541446*G0_14;
- A[9] = 0.00141093474426806*G0_0 - 0.000987654320987648*G0_2 + 0.00451499118165783*G0_3 + 0.00056437389770724*G0_4 + 0.0022574955908289*G0_5 + 0.0112874779541446*G0_6 - 0.00846560846560841*G0_7 + 0.00451499118165782*G0_8 + 0.0225749559082891*G0_9 - 0.0112874779541446*G0_10 + 0.00677248677248674*G0_11 + 0.0112874779541446*G0_12 + 0.0022574955908289*G0_13 - 0.00225749559082891*G0_14;
- A[10] = -0.000705467372134031*G0_0 - 0.000705467372134034*G0_1 - 0.000105820105820106*G0_2 - 0.00846560846560842*G0_3 + 0.000423280423280416*G0_4 + 0.000564373897707234*G0_5 - 0.00846560846560843*G0_6 + 0.000423280423280422*G0_7 + 0.00056437389770723*G0_8 - 0.0112874779541446*G0_9 + 0.0279365079365078*G0_10 - 0.0112874779541446*G0_11 + 0.00338624338624339*G0_12 + 0.0033862433862434*G0_13 - 0.00677248677248673*G0_14;
- A[11] = 0.00141093474426806*G0_1 - 0.000987654320987647*G0_2 + 0.0112874779541446*G0_3 - 0.00846560846560841*G0_4 + 0.00451499118165782*G0_5 + 0.00451499118165783*G0_6 + 0.000564373897707239*G0_7 + 0.00225749559082891*G0_8 + 0.00677248677248674*G0_9 - 0.0112874779541446*G0_10 + 0.0225749559082891*G0_11 + 0.00225749559082891*G0_12 + 0.0112874779541445*G0_13 - 0.00225749559082891*G0_14;
- A[12] = 0.00141093474426806*G0_0 - 0.00141093474426808*G0_1 - 0.00141093474426806*G0_2 - 0.00225749559082892*G0_3 - 0.00677248677248674*G0_4 - 0.00225749559082894*G0_5 + 0.0112874779541446*G0_6 + 0.00338624338624339*G0_7 + 0.00225749559082891*G0_8 + 0.0112874779541446*G0_9 + 0.00338624338624339*G0_10 + 0.00225749559082891*G0_11 + 0.0948148148148144*G0_12 - 0.0135449735449735*G0_13 - 0.0135449735449735*G0_14;
- A[13] = -0.00141093474426807*G0_0 + 0.00141093474426807*G0_1 - 0.00141093474426807*G0_2 + 0.0112874779541446*G0_3 + 0.00338624338624338*G0_4 + 0.00225749559082891*G0_5 - 0.00225749559082893*G0_6 - 0.00677248677248671*G0_7 - 0.00225749559082892*G0_8 + 0.0022574955908289*G0_9 + 0.0033862433862434*G0_10 + 0.0112874779541445*G0_11 - 0.0135449735449735*G0_12 + 0.0948148148148145*G0_13 - 0.0135449735449735*G0_14;
- A[14] = -0.00141093474426807*G0_0 - 0.00141093474426808*G0_1 + 0.00141093474426806*G0_2 + 0.0022574955908289*G0_3 + 0.00338624338624337*G0_4 + 0.0112874779541446*G0_5 + 0.00225749559082892*G0_6 + 0.00338624338624335*G0_7 + 0.0112874779541446*G0_8 - 0.00225749559082891*G0_9 - 0.00677248677248673*G0_10 - 0.00225749559082891*G0_11 - 0.0135449735449735*G0_12 - 0.0135449735449735*G0_13 + 0.0948148148148144*G0_14;
+ A[0] = 0.00255731922398589*G0_0 - 0.000238095238095238*G0_1 - 0.000238095238095238*G0_2 - 0.00098765432098765*G0_3 - 0.000105820105820109*G0_4 - 0.000987654320987651*G0_5 + 0.00141093474426807*G0_6 - 0.000705467372134034*G0_7 + 0.00141093474426808*G0_9 - 0.000705467372134036*G0_10 + 0.00141093474426808*G0_12 - 0.00141093474426806*G0_13 - 0.00141093474426807*G0_14;
+ A[1] = -0.000238095238095238*G0_0 + 0.00255731922398589*G0_1 - 0.000238095238095237*G0_2 + 0.00141093474426807*G0_3 - 0.000705467372134035*G0_4 - 0.000987654320987653*G0_6 - 0.000105820105820107*G0_7 - 0.000987654320987652*G0_8 - 0.000705467372134038*G0_10 + 0.00141093474426807*G0_11 - 0.00141093474426808*G0_12 + 0.00141093474426808*G0_13 - 0.00141093474426807*G0_14;
+ A[2] = -0.000238095238095238*G0_0 - 0.000238095238095237*G0_1 + 0.00255731922398589*G0_2 - 0.000705467372134038*G0_4 + 0.00141093474426808*G0_5 - 0.000705467372134037*G0_7 + 0.00141093474426808*G0_8 - 0.000987654320987653*G0_9 - 0.000105820105820105*G0_10 - 0.000987654320987652*G0_11 - 0.00141093474426808*G0_12 - 0.00141093474426808*G0_13 + 0.00141093474426808*G0_14;
+ A[3] = -0.00098765432098765*G0_0 + 0.00141093474426807*G0_1 + 0.0225749559082892*G0_3 - 0.0112874779541446*G0_4 + 0.00677248677248676*G0_5 + 0.00225749559082892*G0_6 + 0.00056437389770724*G0_7 + 0.00451499118165784*G0_8 + 0.00451499118165785*G0_9 - 0.00846560846560846*G0_10 + 0.0112874779541446*G0_11 - 0.00225749559082892*G0_12 + 0.0112874779541446*G0_13 + 0.00225749559082893*G0_14;
+ A[4] = -0.000105820105820109*G0_0 - 0.000705467372134035*G0_1 - 0.000705467372134038*G0_2 - 0.0112874779541446*G0_3 + 0.0279365079365079*G0_4 - 0.0112874779541446*G0_5 + 0.000564373897707236*G0_6 + 0.0004232804232804*G0_7 - 0.00846560846560844*G0_8 + 0.000564373897707235*G0_9 + 0.000423280423280421*G0_10 - 0.00846560846560845*G0_11 - 0.00677248677248681*G0_12 + 0.0033862433862434*G0_13 + 0.0033862433862434*G0_14;
+ A[5] = -0.000987654320987651*G0_0 + 0.00141093474426808*G0_2 + 0.00677248677248676*G0_3 - 0.0112874779541446*G0_4 + 0.0225749559082892*G0_5 + 0.00451499118165784*G0_6 - 0.00846560846560844*G0_7 + 0.0112874779541446*G0_8 + 0.00225749559082892*G0_9 + 0.000564373897707238*G0_10 + 0.00451499118165784*G0_11 - 0.00225749559082893*G0_12 + 0.00225749559082891*G0_13 + 0.0112874779541446*G0_14;
+ A[6] = 0.00141093474426807*G0_0 - 0.000987654320987653*G0_1 + 0.00225749559082892*G0_3 + 0.000564373897707236*G0_4 + 0.00451499118165784*G0_5 + 0.0225749559082892*G0_6 - 0.0112874779541446*G0_7 + 0.00677248677248676*G0_8 + 0.0112874779541446*G0_9 - 0.00846560846560847*G0_10 + 0.00451499118165786*G0_11 + 0.0112874779541446*G0_12 - 0.00225749559082894*G0_13 + 0.00225749559082893*G0_14;
+ A[7] = -0.000705467372134035*G0_0 - 0.000105820105820107*G0_1 - 0.000705467372134038*G0_2 + 0.00056437389770724*G0_3 + 0.0004232804232804*G0_4 - 0.00846560846560844*G0_5 - 0.0112874779541446*G0_6 + 0.0279365079365079*G0_7 - 0.0112874779541446*G0_8 - 0.00846560846560846*G0_9 + 0.000423280423280428*G0_10 + 0.000564373897707237*G0_11 + 0.00338624338624338*G0_12 - 0.00677248677248676*G0_13 + 0.00338624338624339*G0_14;
+ A[8] = -0.000987654320987652*G0_1 + 0.00141093474426808*G0_2 + 0.00451499118165784*G0_3 - 0.00846560846560844*G0_4 + 0.0112874779541446*G0_5 + 0.00677248677248676*G0_6 - 0.0112874779541446*G0_7 + 0.0225749559082892*G0_8 + 0.00451499118165785*G0_9 + 0.00056437389770723*G0_10 + 0.00225749559082893*G0_11 + 0.00225749559082893*G0_12 - 0.00225749559082893*G0_13 + 0.0112874779541446*G0_14;
+ A[9] = 0.00141093474426808*G0_0 - 0.000987654320987654*G0_2 + 0.00451499118165785*G0_3 + 0.000564373897707235*G0_4 + 0.00225749559082892*G0_5 + 0.0112874779541446*G0_6 - 0.00846560846560846*G0_7 + 0.00451499118165785*G0_8 + 0.0225749559082892*G0_9 - 0.0112874779541446*G0_10 + 0.00677248677248678*G0_11 + 0.0112874779541446*G0_12 + 0.00225749559082894*G0_13 - 0.0022574955908289*G0_14;
+ A[10] = -0.000705467372134036*G0_0 - 0.000705467372134038*G0_1 - 0.000105820105820105*G0_2 - 0.00846560846560846*G0_3 + 0.000423280423280421*G0_4 + 0.000564373897707238*G0_5 - 0.00846560846560847*G0_6 + 0.000423280423280428*G0_7 + 0.000564373897707231*G0_8 - 0.0112874779541446*G0_9 + 0.0279365079365079*G0_10 - 0.0112874779541446*G0_11 + 0.00338624338624337*G0_12 + 0.00338624338624338*G0_13 - 0.00677248677248675*G0_14;
+ A[11] = 0.00141093474426807*G0_1 - 0.000987654320987652*G0_2 + 0.0112874779541446*G0_3 - 0.00846560846560845*G0_4 + 0.00451499118165784*G0_5 + 0.00451499118165786*G0_6 + 0.000564373897707237*G0_7 + 0.00225749559082893*G0_8 + 0.00677248677248678*G0_9 - 0.0112874779541446*G0_10 + 0.0225749559082892*G0_11 + 0.00225749559082896*G0_12 + 0.0112874779541446*G0_13 - 0.0022574955908289*G0_14;
+ A[12] = 0.00141093474426808*G0_0 - 0.00141093474426808*G0_1 - 0.00141093474426808*G0_2 - 0.00225749559082892*G0_3 - 0.00677248677248681*G0_4 - 0.00225749559082893*G0_5 + 0.0112874779541446*G0_6 + 0.00338624338624338*G0_7 + 0.00225749559082893*G0_8 + 0.0112874779541446*G0_9 + 0.00338624338624337*G0_10 + 0.00225749559082895*G0_11 + 0.0948148148148149*G0_12 - 0.0135449735449735*G0_13 - 0.0135449735449736*G0_14;
+ A[13] = -0.00141093474426806*G0_0 + 0.00141093474426808*G0_1 - 0.00141093474426808*G0_2 + 0.0112874779541446*G0_3 + 0.0033862433862434*G0_4 + 0.00225749559082891*G0_5 - 0.00225749559082894*G0_6 - 0.00677248677248676*G0_7 - 0.00225749559082893*G0_8 + 0.00225749559082894*G0_9 + 0.00338624338624338*G0_10 + 0.0112874779541446*G0_11 - 0.0135449735449735*G0_12 + 0.0948148148148148*G0_13 - 0.0135449735449735*G0_14;
+ A[14] = -0.00141093474426807*G0_0 - 0.00141093474426807*G0_1 + 0.00141093474426808*G0_2 + 0.00225749559082894*G0_3 + 0.0033862433862434*G0_4 + 0.0112874779541446*G0_5 + 0.00225749559082893*G0_6 + 0.00338624338624339*G0_7 + 0.0112874779541446*G0_8 - 0.0022574955908289*G0_9 - 0.00677248677248675*G0_10 - 0.0022574955908289*G0_11 - 0.0135449735449736*G0_12 - 0.0135449735449735*G0_13 + 0.0948148148148148*G0_14;
}
diff --git a/bench/fem/convergence/cpp/Poisson2D_4.h b/bench/fem/convergence/cpp/Poisson2D_4.h
index 947a217..1859f82 100644
--- a/bench/fem/convergence/cpp/Poisson2D_4.h
+++ b/bench/fem/convergence/cpp/Poisson2D_4.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -420,6 +421,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -430,6 +433,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -462,6 +468,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -472,6 +480,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -504,6 +515,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -514,6 +527,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -940,10 +956,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1106,10 +1122,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1125,10 +1141,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson2D_5.cpp b/bench/fem/convergence/cpp/Poisson2D_5.cpp
index 89ba85a..41de3ed 100644
--- a/bench/fem/convergence/cpp/Poisson2D_5.cpp
+++ b/bench/fem/convergence/cpp/Poisson2D_5.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// no-evaluate_basis: True
// no-evaluate_basis_derivatives: True
// optimize: True
@@ -558,25 +559,16 @@ void poisson2d_5_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -1248,6 +1240,30 @@ std::size_t poisson2d_5_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_5_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_5_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -1285,7 +1301,7 @@ void poisson2d_5_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_5_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -1336,6 +1352,91 @@ void poisson2d_5_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_5_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_5_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -1436,6 +1537,30 @@ std::size_t poisson2d_5_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_5_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_5_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -1485,7 +1610,7 @@ void poisson2d_5_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_5_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -1539,6 +1664,103 @@ void poisson2d_5_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_5_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_5_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -1653,6 +1875,30 @@ std::size_t poisson2d_5_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson2d_5_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 21;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson2d_5_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -1724,7 +1970,7 @@ void poisson2d_5_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson2d_5_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -1817,6 +2063,121 @@ void poisson2d_5_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson2d_5_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 11;
+ dofs[3] = 12;
+ dofs[4] = 13;
+ dofs[5] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson2d_5_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -1854,6 +2215,21 @@ void poisson2d_5_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 8
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 1275
@@ -1878,447 +2254,447 @@ void poisson2d_5_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
// Compute element tensor
- A[0] = 0.342406580687831*G0_0_0 + 0.342406580687831*G0_0_1 + 0.342406580687831*G0_1_0 + 0.342406580687831*G0_1_1;
- A[1] = -0.0409984016754841*G0_0_0 - 0.0409984016754849*G0_1_0;
- A[2] = -0.0409984016754853*G0_0_1 - 0.0409984016754856*G0_1_1;
- A[3] = -0.0408192791005276*G0_0_0 - 0.0408192791005278*G0_0_1 - 0.0408192791005292*G0_1_0 - 0.0408192791005303*G0_1_1;
- A[4] = -0.0379774305555559*G0_0_0 - 0.0379774305555543*G0_0_1 - 0.0379774305555559*G0_1_0 - 0.0379774305555536*G0_1_1;
- A[5] = -0.0379774305555525*G0_0_0 - 0.0379774305555542*G0_0_1 - 0.0379774305555527*G0_1_0 - 0.0379774305555551*G0_1_1;
- A[6] = -0.0408192791005289*G0_0_0 - 0.0408192791005273*G0_0_1 - 0.0408192791005301*G0_1_0 - 0.0408192791005281*G0_1_1;
- A[7] = 0.202287946428573*G0_0_0 - 0.648027584876543*G0_0_1 + 0.202287946428573*G0_1_0 - 0.648027584876542*G0_1_1;
- A[8] = -0.0158454585537945*G0_0_0 + 0.594204695767193*G0_0_1 - 0.015845458553793*G0_1_0 + 0.594204695767194*G0_1_1;
- A[9] = -0.0696683476631373*G0_0_0 - 0.449959352954143*G0_0_1 - 0.0696683476631375*G0_1_0 - 0.449959352954144*G0_1_1;
- A[10] = 0.0408192791005289*G0_0_0 + 0.202374063051146*G0_0_1 + 0.0408192791005301*G0_1_0 + 0.202374063051147*G0_1_1;
- A[11] = -0.648027584876542*G0_0_0 + 0.202287946428572*G0_0_1 - 0.648027584876543*G0_1_0 + 0.202287946428571*G0_1_1;
- A[12] = 0.594204695767193*G0_0_0 - 0.0158454585537931*G0_0_1 + 0.594204695767194*G0_1_0 - 0.0158454585537933*G0_1_1;
- A[13] = -0.449959352954142*G0_0_0 - 0.0696683476631388*G0_0_1 - 0.449959352954143*G0_1_0 - 0.0696683476631395*G0_1_1;
- A[14] = 0.202374063051145*G0_0_0 + 0.0408192791005277*G0_0_1 + 0.202374063051146*G0_1_0 + 0.0408192791005302*G0_1_1;
- A[15] = -0.215291556437394*G0_0_0 - 0.215291556437393*G0_0_1 - 0.215291556437395*G0_1_0 - 0.215291556437391*G0_1_1;
- A[16] = -0.0538228891093423*G0_0_0 - 0.0538228891093427*G0_0_1 - 0.0538228891093422*G0_1_0 - 0.0538228891093419*G0_1_1;
- A[17] = 0.107645778218691*G0_0_0 + 0.107645778218691*G0_0_1 + 0.107645778218693*G0_1_0 + 0.10764577821869*G0_1_1;
- A[18] = -0.0538228891093435*G0_0_0 - 0.0538228891093459*G0_0_1 - 0.0538228891093444*G0_1_0 - 0.053822889109347*G0_1_1;
- A[19] = 0.107645778218694*G0_0_0 + 0.107645778218695*G0_0_1 + 0.107645778218693*G0_1_0 + 0.107645778218696*G0_1_1;
- A[20] = 0.10764577821869*G0_0_0 + 0.107645778218692*G0_0_1 + 0.10764577821869*G0_1_0 + 0.107645778218692*G0_1_1;
- A[21] = -0.0409984016754841*G0_0_0 - 0.0409984016754849*G0_0_1;
- A[22] = 0.342406580687827*G0_0_0;
- A[23] = 0.0409984016754849*G0_0_1;
- A[24] = 0.202287946428567*G0_0_0 + 0.850315531305104*G0_0_1;
- A[25] = -0.0158454585537918*G0_0_0 - 0.610050154320986*G0_0_1;
- A[26] = -0.0696683476631376*G0_0_0 + 0.380291005291006*G0_0_1;
- A[27] = 0.0408192791005284*G0_0_0 - 0.161554783950619*G0_0_1;
- A[28] = -0.0408192791005304*G0_0_0;
- A[29] = -0.037977430555556*G0_0_0;
- A[30] = -0.0379774305555547*G0_0_0;
- A[31] = -0.0408192791005284*G0_0_0;
+ A[0] = 0.342406580687832*G0_0_0 + 0.342406580687832*G0_0_1 + 0.342406580687832*G0_1_0 + 0.342406580687833*G0_1_1;
+ A[1] = -0.0409984016754843*G0_0_0 - 0.0409984016754853*G0_1_0;
+ A[2] = -0.0409984016754855*G0_0_1 - 0.0409984016754858*G0_1_1;
+ A[3] = -0.0408192791005282*G0_0_0 - 0.0408192791005283*G0_0_1 - 0.0408192791005298*G0_1_0 - 0.0408192791005312*G0_1_1;
+ A[4] = -0.0379774305555552*G0_0_0 - 0.0379774305555538*G0_0_1 - 0.0379774305555557*G0_1_0 - 0.037977430555553*G0_1_1;
+ A[5] = -0.0379774305555542*G0_0_0 - 0.0379774305555559*G0_0_1 - 0.0379774305555538*G0_1_0 - 0.0379774305555569*G0_1_1;
+ A[6] = -0.0408192791005292*G0_0_0 - 0.0408192791005281*G0_0_1 - 0.0408192791005301*G0_1_0 - 0.0408192791005282*G0_1_1;
+ A[7] = 0.202287946428573*G0_0_0 - 0.648027584876544*G0_0_1 + 0.202287946428574*G0_1_0 - 0.648027584876545*G0_1_1;
+ A[8] = -0.0158454585537946*G0_0_0 + 0.594204695767195*G0_0_1 - 0.0158454585537934*G0_1_0 + 0.594204695767196*G0_1_1;
+ A[9] = -0.0696683476631385*G0_0_0 - 0.449959352954144*G0_0_1 - 0.0696683476631384*G0_1_0 - 0.449959352954145*G0_1_1;
+ A[10] = 0.0408192791005293*G0_0_0 + 0.202374063051147*G0_0_1 + 0.0408192791005302*G0_1_0 + 0.202374063051147*G0_1_1;
+ A[11] = -0.648027584876545*G0_0_0 + 0.202287946428573*G0_0_1 - 0.648027584876546*G0_1_0 + 0.202287946428572*G0_1_1;
+ A[12] = 0.594204695767195*G0_0_0 - 0.0158454585537927*G0_0_1 + 0.594204695767197*G0_1_0 - 0.0158454585537928*G0_1_1;
+ A[13] = -0.449959352954144*G0_0_0 - 0.0696683476631389*G0_0_1 - 0.449959352954145*G0_1_0 - 0.0696683476631398*G0_1_1;
+ A[14] = 0.202374063051146*G0_0_0 + 0.0408192791005282*G0_0_1 + 0.202374063051147*G0_1_0 + 0.0408192791005311*G0_1_1;
+ A[15] = -0.215291556437393*G0_0_0 - 0.215291556437392*G0_0_1 - 0.215291556437394*G0_1_0 - 0.215291556437391*G0_1_1;
+ A[16] = -0.0538228891093442*G0_0_0 - 0.0538228891093426*G0_0_1 - 0.0538228891093438*G0_1_0 - 0.0538228891093416*G0_1_1;
+ A[17] = 0.107645778218692*G0_0_0 + 0.10764577821869*G0_0_1 + 0.107645778218694*G0_1_0 + 0.10764577821869*G0_1_1;
+ A[18] = -0.053822889109343*G0_0_0 - 0.0538228891093489*G0_0_1 - 0.0538228891093439*G0_1_0 - 0.0538228891093497*G0_1_1;
+ A[19] = 0.107645778218693*G0_0_0 + 0.107645778218696*G0_0_1 + 0.107645778218693*G0_1_0 + 0.107645778218696*G0_1_1;
+ A[20] = 0.107645778218693*G0_0_0 + 0.107645778218694*G0_0_1 + 0.107645778218692*G0_1_0 + 0.107645778218695*G0_1_1;
+ A[21] = -0.0409984016754843*G0_0_0 - 0.0409984016754853*G0_0_1;
+ A[22] = 0.342406580687828*G0_0_0;
+ A[23] = 0.0409984016754852*G0_0_1;
+ A[24] = 0.202287946428568*G0_0_0 + 0.850315531305108*G0_0_1;
+ A[25] = -0.01584545855379*G0_0_0 - 0.610050154320987*G0_0_1;
+ A[26] = -0.0696683476631388*G0_0_0 + 0.380291005291007*G0_0_1;
+ A[27] = 0.0408192791005288*G0_0_0 - 0.16155478395062*G0_0_1;
+ A[28] = -0.0408192791005305*G0_0_0;
+ A[29] = -0.0379774305555561*G0_0_0;
+ A[30] = -0.0379774305555542*G0_0_0;
+ A[31] = -0.0408192791005288*G0_0_0;
A[32] = 0.202374063051144*G0_0_0 + 0.161554783950614*G0_0_1;
- A[33] = -0.449959352954138*G0_0_0 - 0.380291005290997*G0_0_1;
- A[34] = 0.594204695767184*G0_0_0 + 0.610050154320977*G0_0_1;
- A[35] = -0.648027584876533*G0_0_0 - 0.850315531305105*G0_0_1;
- A[36] = 0.107645778218698*G0_0_0;
- A[37] = -0.0538228891093521*G0_0_0 - 1.07706270117969e-14*G0_0_1;
- A[38] = -0.215291556437382*G0_0_0 + 1.21370470097804e-14*G0_0_1;
- A[39] = 0.107645778218696*G0_0_0;
- A[40] = -0.0538228891093484*G0_0_0;
- A[41] = 0.107645778218692*G0_0_0;
- A[42] = -0.0409984016754853*G0_1_0 - 0.0409984016754856*G0_1_1;
- A[43] = 0.0409984016754849*G0_1_0;
- A[44] = 0.342406580687831*G0_1_1;
- A[45] = -0.161554783950616*G0_1_0 + 0.0408192791005307*G0_1_1;
- A[46] = 0.380291005291006*G0_1_0 - 0.0696683476631403*G0_1_1;
- A[47] = -0.610050154320989*G0_1_0 - 0.0158454585537902*G0_1_1;
- A[48] = 0.850315531305115*G0_1_0 + 0.202287946428569*G0_1_1;
- A[49] = 0.161554783950617*G0_1_0 + 0.202374063051147*G0_1_1;
- A[50] = -0.380291005291006*G0_1_0 - 0.449959352954146*G0_1_1;
- A[51] = 0.61005015432099*G0_1_0 + 0.594204695767199*G0_1_1;
- A[52] = -0.850315531305115*G0_1_0 - 0.648027584876545*G0_1_1;
- A[53] = -0.0408192791005308*G0_1_1;
- A[54] = -0.0379774305555558*G0_1_1;
- A[55] = -0.0379774305555562*G0_1_1;
- A[56] = -0.0408192791005298*G0_1_1;
- A[57] = 0.107645778218697*G0_1_1;
+ A[33] = -0.449959352954139*G0_0_0 - 0.380291005290998*G0_0_1;
+ A[34] = 0.594204695767187*G0_0_0 + 0.61005015432098*G0_0_1;
+ A[35] = -0.648027584876536*G0_0_0 - 0.850315531305109*G0_0_1;
+ A[36] = 0.107645778218699*G0_0_0;
+ A[37] = -0.0538228891093544*G0_0_0 - 1.19975644002901e-14*G0_0_1;
+ A[38] = -0.215291556437382*G0_0_0 + 1.06149897899366e-14*G0_0_1;
+ A[39] = 0.107645778218697*G0_0_0;
+ A[40] = -0.0538228891093504*G0_0_0;
+ A[41] = 0.107645778218693*G0_0_0;
+ A[42] = -0.0409984016754855*G0_1_0 - 0.0409984016754858*G0_1_1;
+ A[43] = 0.0409984016754852*G0_1_0;
+ A[44] = 0.342406580687832*G0_1_1;
+ A[45] = -0.161554783950616*G0_1_0 + 0.040819279100531*G0_1_1;
+ A[46] = 0.380291005291007*G0_1_0 - 0.0696683476631403*G0_1_1;
+ A[47] = -0.610050154320989*G0_1_0 - 0.0158454585537892*G0_1_1;
+ A[48] = 0.850315531305117*G0_1_0 + 0.20228794642857*G0_1_1;
+ A[49] = 0.161554783950617*G0_1_0 + 0.202374063051148*G0_1_1;
+ A[50] = -0.380291005291007*G0_1_0 - 0.449959352954148*G0_1_1;
+ A[51] = 0.610050154320991*G0_1_0 + 0.594204695767201*G0_1_1;
+ A[52] = -0.850315531305117*G0_1_0 - 0.648027584876547*G0_1_1;
+ A[53] = -0.0408192791005315*G0_1_1;
+ A[54] = -0.0379774305555565*G0_1_1;
+ A[55] = -0.0379774305555558*G0_1_1;
+ A[56] = -0.0408192791005301*G0_1_1;
+ A[57] = 0.107645778218699*G0_1_1;
A[58] = 0.107645778218696*G0_1_1;
- A[59] = 0.107645778218697*G0_1_1;
- A[60] = -0.0538228891093493*G0_1_1;
- A[61] = -0.0538228891093528*G0_1_1;
- A[62] = -0.215291556437384*G0_1_1;
- A[63] = -0.0408192791005276*G0_0_0 - 0.0408192791005292*G0_0_1 - 0.0408192791005278*G0_1_0 - 0.0408192791005303*G0_1_1;
- A[64] = 0.202287946428567*G0_0_0 + 0.850315531305104*G0_1_0;
- A[65] = -0.161554783950616*G0_0_1 + 0.0408192791005307*G0_1_1;
- A[66] = 1.98929398148146*G0_0_0 + 1.28098476080245*G0_0_1 + 1.28098476080245*G0_1_0 + 2.56196952160491*G0_1_1;
- A[67] = -0.906377452601406*G0_0_0 + 0.796578758818336*G0_0_1 - 0.529617228835974*G0_1_0 - 1.39508928571428*G0_1_1;
- A[68] = 0.818107914462077*G0_0_0 - 0.482253086419749*G0_0_1 + 0.232514880952381*G0_1_0 + 0.895612874779545*G0_1_1;
- A[69] = -0.340160659171075*G0_0_0 + 0.329396081349201*G0_0_1 - 0.0710462136243369*G0_1_0 - 0.340160659171081*G0_1_1;
- A[70] = 0.142092427248671*G0_0_0 + 0.0710462136243381*G0_0_1 + 0.0710462136243278*G0_1_0;
- A[71] = 0.131327849426813*G0_0_0 + 0.0301408179012417*G0_0_1 + 0.030140817901238*G0_1_0;
- A[72] = 0.172233245149905*G0_0_0 + 0.0301408179012275*G0_0_1 + 0.0301408179012343*G0_1_0;
- A[73] = 0.340160659171075*G0_0_0 + 0.0710462136243448*G0_0_1 + 0.0710462136243367*G0_1_0;
- A[74] = 0.19806823192239*G0_0_0 + 0.269114445546723*G0_0_1 + 0.26911444554673*G0_1_0 + 0.340160659171058*G0_1_1;
- A[75] = -0.359536899250423*G0_0_0 - 0.663097993827143*G0_0_1 - 0.663097993827141*G0_1_0 - 0.895612874779516*G0_1_1;
- A[76] = 0.286337770061708*G0_0_0 + 0.86547205687829*G0_0_1 + 0.865472056878275*G0_1_0 + 1.39508928571425*G0_1_1;
- A[77] = -0.286337770061714*G0_0_0 - 1.28098476080245*G0_0_1 - 1.28098476080244*G0_1_0 - 2.56196952160491*G0_1_1;
- A[78] = -0.667403824955893*G0_0_0 - 0.2626556988536*G0_0_1 - 0.262655698853598*G0_1_0 + 1.78941063355698e-14*G0_1_1;
- A[79] = 1.35633680555553*G0_0_0 + 0.572675540123428*G0_0_1 + 0.572675540123436*G0_1_0 - 3.28734435506295e-14*G0_1_1;
- A[80] = -2.82031938932977*G0_0_0 - 1.66205081569661*G0_0_1 - 1.66205081569662*G0_1_0 + 4.30304663429082e-14*G0_1_1;
- A[81] = -0.419818535052913*G0_0_0 - 0.0731991291887139*G0_0_1 - 0.0731991291887135*G0_1_0;
- A[82] = 1.19486813822751*G0_0_0 + 0.572675540123449*G0_0_1 + 0.57267554012345*G0_1_0;
- A[83] = -0.990341159611982*G0_0_0 - 0.262655698853614*G0_0_1 - 0.262655698853615*G0_1_0;
- A[84] = -0.0379774305555559*G0_0_0 - 0.0379774305555559*G0_0_1 - 0.0379774305555543*G0_1_0 - 0.0379774305555536*G0_1_1;
- A[85] = -0.0158454585537918*G0_0_0 - 0.610050154320986*G0_1_0;
- A[86] = 0.380291005291006*G0_0_1 - 0.0696683476631403*G0_1_1;
- A[87] = -0.906377452601406*G0_0_0 - 0.529617228835974*G0_0_1 + 0.796578758818336*G0_1_0 - 1.39508928571428*G0_1_1;
- A[88] = 3.07436342592591*G0_0_0 + 1.17549189814814*G0_0_1 + 1.17549189814814*G0_1_0 + 3.6944031084656*G0_1_1;
- A[89] = -1.80414324294532*G0_0_0 + 0.699697558421508*G0_0_1 - 0.350925236992948*G0_1_0 - 1.80414324294533*G0_1_1;
- A[90] = 0.895612874779544*G0_0_0 - 0.482253086419749*G0_0_1 + 0.23251488095238*G0_1_0 + 0.818107914462084*G0_1_1;
- A[91] = 0.131327849426811*G0_0_0 + 0.101187031525574*G0_0_1 + 0.101187031525581*G0_1_0 + 0.0710462136243375*G0_1_1;
- A[92] = -0.297102347883603*G0_0_0 - 0.148551173941802*G0_0_1 - 0.148551173941803*G0_1_0 - 0.0172233245149918*G0_1_1;
- A[93] = -0.219597387566127*G0_0_0 - 0.0624345513668325*G0_0_1 - 0.0624345513668431*G0_1_0 - 0.0172233245149873*G0_1_1;
- A[94] = -0.895612874779544*G0_0_0 - 0.232514880952387*G0_0_1 - 0.23251488095238*G0_1_0 + 0.0710462136243389*G0_1_1;
- A[95] = 0.111951609347442*G0_0_0 + 0.142092427248674*G0_0_1 + 0.142092427248673*G0_1_0 + 0.172233245149913*G0_1_1;
- A[96] = -0.111951609347442*G0_0_0 - 0.157162836199288*G0_0_1 - 0.157162836199289*G0_1_0 - 0.219597387566131*G0_1_1;
- A[97] = 0.10333994708995*G0_0_0 + 0.133480764991185*G0_0_1 + 0.133480764991185*G0_1_0 + 0.266961529982371*G0_1_1;
- A[98] = -0.0495170579806034*G0_0_0 + 0.529617228835976*G0_0_1 + 0.529617228835971*G0_1_0 + 1.39508928571429*G0_1_1;
- A[99] = -0.344466490299814*G0_0_0 - 0.447806437389765*G0_0_1 - 0.447806437389764*G0_1_0 - 0.516699735449737*G0_1_1;
- A[100] = 0.387524801587286*G0_0_0 + 0.85901331018517*G0_0_1 + 0.859013310185163*G0_1_0 + 1.01187031525572*G0_1_1;
- A[101] = 0.731991291887125*G0_0_0 - 1.30897266313932*G0_0_1 - 1.30897266313931*G0_1_0 - 3.96136463844796*G0_1_1;
- A[102] = 1.03339947089946*G0_0_0 + 0.37460730820105*G0_0_1 + 0.374607308201056*G0_1_0 + 0.0430583112874761*G0_1_1;
- A[103] = -3.81066054894177*G0_0_0 - 1.4015480324074*G0_0_1 - 1.40154803240739*G0_1_0 + 1.01187031525573*G0_1_1;
- A[104] = 2.02374063051145*G0_0_0 + 0.41335978835979*G0_0_1 + 0.413359788359791*G0_1_0 - 0.516699735449733*G0_1_1;
- A[105] = -0.0379774305555525*G0_0_0 - 0.0379774305555528*G0_0_1 - 0.0379774305555543*G0_1_0 - 0.0379774305555551*G0_1_1;
- A[106] = -0.0696683476631376*G0_0_0 + 0.380291005291006*G0_1_0;
- A[107] = -0.610050154320989*G0_0_1 - 0.0158454585537902*G0_1_1;
- A[108] = 0.818107914462077*G0_0_0 + 0.232514880952381*G0_0_1 - 0.482253086419749*G0_1_0 + 0.895612874779545*G0_1_1;
- A[109] = -1.80414324294532*G0_0_0 - 0.350925236992948*G0_0_1 + 0.699697558421508*G0_1_0 - 1.80414324294533*G0_1_1;
- A[110] = 3.69440310846559*G0_0_0 + 1.17549189814814*G0_0_1 + 1.17549189814814*G0_1_0 + 3.07436342592591*G0_1_1;
- A[111] = -1.39508928571429*G0_0_0 + 0.796578758818334*G0_0_1 - 0.529617228835976*G0_1_0 - 0.906377452601417*G0_1_1;
- A[112] = 0.172233245149898*G0_0_0 + 0.142092427248664*G0_0_1 + 0.142092427248662*G0_1_0 + 0.111951609347435*G0_1_1;
- A[113] = -0.219597387566117*G0_0_0 - 0.157162836199271*G0_0_1 - 0.15716283619928*G0_1_0 - 0.111951609347427*G0_1_1;
- A[114] = 0.266961529982337*G0_0_0 + 0.13348076499116*G0_0_1 + 0.133480764991171*G0_1_0 + 0.103339947089937*G0_1_1;
- A[115] = 1.39508928571429*G0_0_0 + 0.529617228835992*G0_0_1 + 0.529617228835977*G0_1_0 - 0.049517057980595*G0_1_1;
- A[116] = 0.0710462136243318*G0_0_0 + 0.101187031525569*G0_0_1 + 0.101187031525568*G0_1_0 + 0.131327849426797*G0_1_1;
- A[117] = -0.0172233245149868*G0_0_0 - 0.148551173941797*G0_0_1 - 0.148551173941795*G0_1_0 - 0.297102347883594*G0_1_1;
- A[118] = -0.0172233245149941*G0_0_0 - 0.0624345513668477*G0_0_1 - 0.0624345513668495*G0_1_0 - 0.219597387566148*G0_1_1;
- A[119] = 0.0710462136243395*G0_0_0 - 0.232514880952382*G0_0_1 - 0.232514880952376*G0_1_0 - 0.895612874779545*G0_1_1;
- A[120] = -0.516699735449715*G0_0_0 - 0.447806437389763*G0_0_1 - 0.447806437389749*G0_1_0 - 0.344466490299805*G0_1_1;
- A[121] = 0.0430583112874692*G0_0_0 + 0.374607308201052*G0_0_1 + 0.374607308201046*G0_1_0 + 1.03339947089945*G0_1_1;
- A[122] = -0.516699735449729*G0_0_0 + 0.413359788359802*G0_0_1 + 0.413359788359791*G0_1_0 + 2.02374063051148*G0_1_1;
- A[123] = 1.0118703152557*G0_0_0 + 0.859013310185166*G0_0_1 + 0.859013310185156*G0_1_0 + 0.387524801587282*G0_1_1;
- A[124] = 1.01187031525574*G0_0_0 - 1.4015480324074*G0_0_1 - 1.40154803240738*G0_1_0 - 3.81066054894178*G0_1_1;
- A[125] = -3.96136463844793*G0_0_0 - 1.30897266313931*G0_0_1 - 1.30897266313931*G0_1_0 + 0.731991291887138*G0_1_1;
- A[126] = -0.0408192791005289*G0_0_0 - 0.0408192791005301*G0_0_1 - 0.0408192791005273*G0_1_0 - 0.0408192791005281*G0_1_1;
- A[127] = 0.0408192791005284*G0_0_0 - 0.161554783950619*G0_1_0;
- A[128] = 0.850315531305115*G0_0_1 + 0.202287946428569*G0_1_1;
- A[129] = -0.340160659171075*G0_0_0 - 0.0710462136243369*G0_0_1 + 0.329396081349201*G0_1_0 - 0.340160659171081*G0_1_1;
- A[130] = 0.895612874779544*G0_0_0 + 0.23251488095238*G0_0_1 - 0.482253086419749*G0_1_0 + 0.818107914462084*G0_1_1;
- A[131] = -1.39508928571429*G0_0_0 - 0.529617228835976*G0_0_1 + 0.796578758818334*G0_1_0 - 0.906377452601418*G0_1_1;
- A[132] = 2.56196952160494*G0_0_0 + 1.28098476080247*G0_0_1 + 1.28098476080247*G0_1_0 + 1.98929398148148*G0_1_1;
- A[133] = 0.340160659171078*G0_0_0 + 0.26911444554674*G0_0_1 + 0.269114445546738*G0_1_0 + 0.198068231922395*G0_1_1;
- A[134] = -0.895612874779547*G0_0_0 - 0.663097993827166*G0_0_1 - 0.663097993827157*G0_1_0 - 0.359536899250437*G0_1_1;
- A[135] = 1.3950892857143*G0_0_0 + 0.865472056878318*G0_0_1 + 0.865472056878307*G0_1_0 + 0.286337770061729*G0_1_1;
- A[136] = -2.56196952160494*G0_0_0 - 1.28098476080248*G0_0_1 - 1.28098476080247*G0_1_0 - 0.286337770061727*G0_1_1;
- A[137] = 0.0710462136243366*G0_0_1 + 0.0710462136243364*G0_1_0 + 0.142092427248678*G0_1_1;
- A[138] = 0.0301408179012366*G0_0_1 + 0.0301408179012359*G0_1_0 + 0.131327849426812*G0_1_1;
- A[139] = 0.0301408179012341*G0_0_1 + 0.0301408179012352*G0_1_0 + 0.172233245149915*G0_1_1;
- A[140] = 0.0710462136243402*G0_0_1 + 0.0710462136243382*G0_1_0 + 0.340160659171083*G0_1_1;
- A[141] = -0.262655698853614*G0_0_1 - 0.262655698853612*G0_1_0 - 0.66740382495591*G0_1_1;
- A[142] = -0.0731991291887087*G0_0_1 - 0.0731991291887117*G0_1_0 - 0.419818535052907*G0_1_1;
- A[143] = -0.262655698853613*G0_0_1 - 0.262655698853615*G0_1_0 - 0.990341159611995*G0_1_1;
- A[144] = 0.572675540123449*G0_0_1 + 0.572675540123451*G0_1_0 + 1.35633680555555*G0_1_1;
- A[145] = 0.572675540123438*G0_0_1 + 0.572675540123454*G0_1_0 + 1.1948681382275*G0_1_1;
- A[146] = -1.66205081569663*G0_0_1 - 1.66205081569664*G0_1_0 - 2.82031938932979*G0_1_1;
- A[147] = 0.202287946428573*G0_0_0 + 0.202287946428573*G0_0_1 - 0.648027584876543*G0_1_0 - 0.648027584876542*G0_1_1;
- A[148] = -0.0408192791005304*G0_0_0;
- A[149] = 0.161554783950617*G0_0_1 + 0.202374063051147*G0_1_1;
- A[150] = 0.142092427248671*G0_0_0 + 0.0710462136243278*G0_0_1 + 0.0710462136243381*G0_1_0;
- A[151] = 0.131327849426811*G0_0_0 + 0.101187031525582*G0_0_1 + 0.101187031525574*G0_1_0 + 0.0710462136243375*G0_1_1;
- A[152] = 0.172233245149898*G0_0_0 + 0.142092427248662*G0_0_1 + 0.142092427248663*G0_1_0 + 0.111951609347435*G0_1_1;
- A[153] = 0.340160659171078*G0_0_0 + 0.269114445546738*G0_0_1 + 0.26911444554674*G0_1_0 + 0.198068231922395*G0_1_1;
- A[154] = 1.98929398148147*G0_0_0 + 0.708309220679009*G0_0_1 + 0.708309220679009*G0_1_0 + 1.98929398148148*G0_1_1;
- A[155] = -0.906377452601401*G0_0_0 - 1.70295621141975*G0_0_1 - 0.376760223765425*G0_1_0 - 2.56842826829805*G0_1_1;
- A[156] = 0.818107914462074*G0_0_0 + 1.30036100088183*G0_0_1 + 0.585593033509693*G0_1_0 + 1.96345899470899*G0_1_1;
- A[157] = -0.340160659171078*G0_0_0 - 0.669556740520282*G0_0_1 - 0.26911444554674*G0_1_0 - 0.938671186067019*G0_1_1;
- A[158] = -0.286337770061733*G0_0_0 + 0.994646990740734*G0_0_1 + 0.99464699074074*G0_1_0 - 0.286337770061725*G0_1_1;
- A[159] = 0.286337770061733*G0_0_0 - 0.579134286816571*G0_0_1 - 0.579134286816577*G0_1_0 - 0.0495170579805966*G0_1_1;
- A[160] = -0.359536899250443*G0_0_0 + 0.303561094576716*G0_0_1 + 0.303561094576719*G0_1_0 + 0.0710462136243428*G0_1_1;
- A[161] = 0.198068231922401*G0_0_0 - 0.0710462136243325*G0_0_1 - 0.0710462136243403*G0_1_0;
- A[162] = -2.8203193893298*G0_0_0 - 1.15826857363314*G0_0_1 - 1.15826857363315*G0_1_0 + 0.503782242063493*G0_1_1;
- A[163] = 1.35633680555555*G0_0_0 + 0.78366126543209*G0_0_1 + 0.783661265432091*G0_1_0 + 0.210985725308631*G0_1_1;
- A[164] = -0.667403824955899*G0_0_0 - 0.404748126102295*G0_0_1 - 0.404748126102292*G0_1_0 - 0.142092427248674*G0_1_1;
- A[165] = 1.1948681382275*G0_0_0 + 0.62219259810404*G0_0_1 + 0.622192598104042*G0_1_0 + 0.0495170579805924*G0_1_1;
- A[166] = -0.419818535052908*G0_0_0 - 0.346619405864178*G0_0_1 - 0.346619405864191*G0_1_0 - 0.273420276675479*G0_1_1;
- A[167] = -0.990341159611971*G0_0_0 - 0.727685460758366*G0_0_1 - 0.727685460758356*G0_1_0 - 0.465029761904751*G0_1_1;
- A[168] = -0.0158454585537945*G0_0_0 - 0.015845458553793*G0_0_1 + 0.594204695767193*G0_1_0 + 0.594204695767194*G0_1_1;
- A[169] = -0.037977430555556*G0_0_0;
- A[170] = -0.380291005291006*G0_0_1 - 0.449959352954146*G0_1_1;
- A[171] = 0.131327849426812*G0_0_0 + 0.030140817901238*G0_0_1 + 0.0301408179012417*G0_1_0;
- A[172] = -0.297102347883603*G0_0_0 - 0.148551173941803*G0_0_1 - 0.148551173941802*G0_1_0 - 0.0172233245149918*G0_1_1;
- A[173] = -0.219597387566117*G0_0_0 - 0.15716283619928*G0_0_1 - 0.157162836199271*G0_1_0 - 0.111951609347427*G0_1_1;
- A[174] = -0.895612874779547*G0_0_0 - 0.663097993827157*G0_0_1 - 0.663097993827166*G0_1_0 - 0.359536899250437*G0_1_1;
- A[175] = -0.906377452601401*G0_0_0 - 0.376760223765425*G0_0_1 - 1.70295621141975*G0_1_0 - 2.56842826829805*G0_1_1;
- A[176] = 3.07436342592591*G0_0_0 + 1.89887152777776*G0_0_1 + 1.89887152777776*G0_1_0 + 4.41778273809522*G0_1_1;
- A[177] = -1.80414324294532*G0_0_0 - 2.50384080136683*G0_0_1 - 1.45321800595237*G0_1_0 - 3.95705880731921*G0_1_1;
- A[178] = 0.895612874779547*G0_0_0 + 1.37786596119929*G0_0_1 + 0.663097993827166*G0_1_0 + 1.96345899470899*G0_1_1;
- A[179] = -0.0495170579805942*G0_0_0 - 0.579134286816572*G0_0_1 - 0.579134286816577*G0_1_0 + 0.286337770061724*G0_1_1;
- A[180] = 0.103339947089945*G0_0_0 - 0.0301408179012369*G0_0_1 - 0.0301408179012344*G0_1_0 + 0.103339947089942*G0_1_1;
- A[181] = -0.111951609347442*G0_0_0 + 0.0452112268518504*G0_0_1 + 0.0452112268518512*G0_1_0 - 0.0172233245149974*G0_1_1;
- A[182] = 0.111951609347443*G0_0_0 - 0.0301408179012373*G0_0_1 - 0.0301408179012331*G0_1_0;
- A[183] = 0.73199129188711*G0_0_0 + 2.04096395502644*G0_0_1 + 2.04096395502644*G0_1_0 - 0.611428020282188*G0_1_1;
- A[184] = 0.387524801587303*G0_0_0 - 0.471488508597876*G0_0_1 - 0.471488508597883*G0_1_0 - 0.318631503527328*G0_1_1;
- A[185] = -0.344466490299825*G0_0_0 + 0.103339947089949*G0_0_1 + 0.103339947089946*G0_1_0 + 0.0344466490299823*G0_1_1;
- A[186] = -3.81066054894177*G0_0_0 - 2.40911251653437*G0_0_1 - 2.40911251653437*G0_1_0 + 0.00430583112875813*G0_1_1;
- A[187] = 1.03339947089947*G0_0_0 + 0.658792162698401*G0_0_1 + 0.658792162698405*G0_1_0 + 0.327243165784824*G0_1_1;
- A[188] = 2.02374063051143*G0_0_0 + 1.61038084215166*G0_0_1 + 1.61038084215164*G0_1_0 + 0.680321318342135*G0_1_1;
- A[189] = -0.0696683476631373*G0_0_0 - 0.0696683476631374*G0_0_1 - 0.449959352954143*G0_1_0 - 0.449959352954144*G0_1_1;
- A[190] = -0.0379774305555547*G0_0_0;
- A[191] = 0.61005015432099*G0_0_1 + 0.594204695767199*G0_1_1;
- A[192] = 0.172233245149905*G0_0_0 + 0.0301408179012343*G0_0_1 + 0.0301408179012275*G0_1_0;
- A[193] = -0.219597387566127*G0_0_0 - 0.0624345513668431*G0_0_1 - 0.0624345513668325*G0_1_0 - 0.0172233245149873*G0_1_1;
- A[194] = 0.266961529982337*G0_0_0 + 0.133480764991171*G0_0_1 + 0.13348076499116*G0_1_0 + 0.103339947089937*G0_1_1;
- A[195] = 1.3950892857143*G0_0_0 + 0.865472056878307*G0_0_1 + 0.865472056878318*G0_1_0 + 0.286337770061729*G0_1_1;
- A[196] = 0.818107914462075*G0_0_0 + 0.585593033509693*G0_0_1 + 1.30036100088183*G0_1_0 + 1.96345899470899*G0_1_1;
- A[197] = -1.80414324294532*G0_0_0 - 1.45321800595237*G0_0_1 - 2.50384080136683*G0_1_0 - 3.95705880731921*G0_1_1;
- A[198] = 3.69440310846559*G0_0_0 + 2.51891121031745*G0_0_1 + 2.51891121031745*G0_1_0 + 4.41778273809523*G0_1_1;
- A[199] = -1.3950892857143*G0_0_0 - 2.19166804453263*G0_0_1 - 0.865472056878319*G0_1_0 - 2.56842826829806*G0_1_1;
- A[200] = 0.071046213624335*G0_0_0 + 0.303561094576721*G0_0_1 + 0.303561094576719*G0_1_0 - 0.359536899250438*G0_1_1;
- A[201] = -0.0172233245149909*G0_0_0 + 0.0452112268518549*G0_0_1 + 0.0452112268518513*G0_1_0 - 0.111951609347442*G0_1_1;
- A[202] = -0.0172233245149894*G0_0_0 + 0.131327849426809*G0_0_1 + 0.131327849426809*G0_1_0 - 0.0172233245149869*G0_1_1;
- A[203] = 0.0710462136243368*G0_0_0 - 0.0301408179012371*G0_0_1 - 0.0301408179012349*G0_1_0;
- A[204] = -0.516699735449723*G0_0_0 - 0.930059523809521*G0_0_1 - 0.930059523809513*G0_1_0 + 0.680321318342153*G0_1_1;
- A[205] = 0.0430583112874743*G0_0_0 - 0.331548996913583*G0_0_1 - 0.331548996913578*G0_1_0 + 0.32724316578483*G0_1_1;
- A[206] = -0.516699735449731*G0_0_0 - 0.068893298059959*G0_0_1 - 0.0688932980599645*G0_1_0 + 0.0344466490299808*G0_1_1;
- A[207] = 1.01187031525571*G0_0_0 + 2.41341834766312*G0_0_1 + 2.41341834766312*G0_1_0 + 0.00430583112873867*G0_1_1;
- A[208] = 1.01187031525573*G0_0_0 + 0.15285700507055*G0_0_1 + 0.152857005070546*G0_1_0 - 0.318631503527336*G0_1_1;
- A[209] = -3.96136463844793*G0_0_0 - 2.65239197530862*G0_0_1 - 2.65239197530861*G0_1_0 - 0.611428020282176*G0_1_1;
- A[210] = 0.0408192791005289*G0_0_0 + 0.0408192791005301*G0_0_1 + 0.202374063051146*G0_1_0 + 0.202374063051147*G0_1_1;
- A[211] = -0.0408192791005284*G0_0_0;
- A[212] = -0.850315531305115*G0_0_1 - 0.648027584876545*G0_1_1;
- A[213] = 0.340160659171075*G0_0_0 + 0.0710462136243367*G0_0_1 + 0.0710462136243448*G0_1_0;
- A[214] = -0.895612874779544*G0_0_0 - 0.23251488095238*G0_0_1 - 0.232514880952387*G0_1_0 + 0.0710462136243389*G0_1_1;
- A[215] = 1.39508928571429*G0_0_0 + 0.529617228835977*G0_0_1 + 0.529617228835992*G0_1_0 - 0.0495170579805949*G0_1_1;
- A[216] = -2.56196952160494*G0_0_0 - 1.28098476080247*G0_0_1 - 1.28098476080248*G0_1_0 - 0.286337770061727*G0_1_1;
- A[217] = -0.340160659171078*G0_0_0 - 0.26911444554674*G0_0_1 - 0.669556740520282*G0_1_0 - 0.93867118606702*G0_1_1;
- A[218] = 0.895612874779547*G0_0_0 + 0.663097993827166*G0_0_1 + 1.37786596119929*G0_1_0 + 1.96345899470899*G0_1_1;
- A[219] = -1.3950892857143*G0_0_0 - 0.865472056878319*G0_0_1 - 2.19166804453263*G0_1_0 - 2.56842826829806*G0_1_1;
- A[220] = 2.56196952160495*G0_0_0 + 1.28098476080248*G0_0_1 + 1.28098476080248*G0_1_0 + 1.98929398148149*G0_1_1;
- A[221] = -0.0710462136243366*G0_0_1 - 0.0710462136243391*G0_1_0 + 0.198068231922397*G0_1_1;
- A[222] = -0.030140817901237*G0_0_1 - 0.0301408179012341*G0_1_0 + 0.11195160934744*G0_1_1;
- A[223] = -0.030140817901234*G0_0_1 - 0.0301408179012355*G0_1_0 + 0.0710462136243357*G0_1_1;
- A[224] = -0.07104621362434*G0_0_1 - 0.0710462136243386*G0_1_0;
- A[225] = 0.262655698853614*G0_0_1 + 0.262655698853611*G0_1_0 - 0.465029761904765*G0_1_1;
- A[226] = 0.0731991291887095*G0_0_1 + 0.0731991291887117*G0_1_0 - 0.273420276675485*G0_1_1;
- A[227] = 0.262655698853613*G0_0_1 + 0.262655698853615*G0_1_0 - 0.142092427248678*G0_1_1;
- A[228] = -0.572675540123449*G0_0_1 - 0.57267554012345*G0_1_0 + 0.049517057980605*G0_1_1;
- A[229] = -0.572675540123439*G0_0_1 - 0.572675540123452*G0_1_0 + 0.210985725308647*G0_1_1;
- A[230] = 1.66205081569663*G0_0_1 + 1.66205081569664*G0_1_0 + 0.503782242063485*G0_1_1;
- A[231] = -0.648027584876542*G0_0_0 - 0.648027584876543*G0_0_1 + 0.202287946428572*G0_1_0 + 0.202287946428571*G0_1_1;
+ A[59] = 0.107645778218696*G0_1_1;
+ A[60] = -0.0538228891093517*G0_1_1;
+ A[61] = -0.0538228891093531*G0_1_1;
+ A[62] = -0.215291556437383*G0_1_1;
+ A[63] = -0.0408192791005282*G0_0_0 - 0.0408192791005298*G0_0_1 - 0.0408192791005283*G0_1_0 - 0.0408192791005312*G0_1_1;
+ A[64] = 0.202287946428568*G0_0_0 + 0.850315531305108*G0_1_0;
+ A[65] = -0.161554783950616*G0_0_1 + 0.040819279100531*G0_1_1;
+ A[66] = 1.98929398148147*G0_0_0 + 1.28098476080246*G0_0_1 + 1.28098476080246*G0_1_0 + 2.56196952160492*G0_1_1;
+ A[67] = -0.90637745260141*G0_0_0 + 0.796578758818337*G0_0_1 - 0.529617228835973*G0_1_0 - 1.39508928571429*G0_1_1;
+ A[68] = 0.818107914462079*G0_0_0 - 0.482253086419751*G0_0_1 + 0.23251488095238*G0_1_0 + 0.895612874779549*G0_1_1;
+ A[69] = -0.340160659171077*G0_0_0 + 0.329396081349201*G0_0_1 - 0.0710462136243373*G0_1_0 - 0.340160659171084*G0_1_1;
+ A[70] = 0.142092427248673*G0_0_0 + 0.0710462136243391*G0_0_1 + 0.0710462136243303*G0_1_0;
+ A[71] = 0.131327849426814*G0_0_0 + 0.0301408179012409*G0_0_1 + 0.0301408179012376*G0_1_0;
+ A[72] = 0.172233245149909*G0_0_0 + 0.0301408179012286*G0_0_1 + 0.0301408179012378*G0_1_0;
+ A[73] = 0.340160659171077*G0_0_0 + 0.0710462136243438*G0_0_1 + 0.0710462136243372*G0_1_0;
+ A[74] = 0.198068231922391*G0_0_0 + 0.269114445546724*G0_0_1 + 0.269114445546731*G0_1_0 + 0.340160659171059*G0_1_1;
+ A[75] = -0.359536899250425*G0_0_0 - 0.663097993827144*G0_0_1 - 0.663097993827143*G0_1_0 - 0.895612874779519*G0_1_1;
+ A[76] = 0.28633777006171*G0_0_0 + 0.865472056878293*G0_0_1 + 0.86547205687828*G0_1_0 + 1.39508928571426*G0_1_1;
+ A[77] = -0.286337770061716*G0_0_0 - 1.28098476080246*G0_0_1 - 1.28098476080245*G0_1_0 - 2.56196952160492*G0_1_1;
+ A[78] = -0.667403824955893*G0_0_0 - 0.262655698853599*G0_0_1 - 0.262655698853599*G0_1_0 + 2.03912407792384e-14*G0_1_1;
+ A[79] = 1.35633680555553*G0_0_0 + 0.572675540123428*G0_0_1 + 0.572675540123437*G0_1_0 - 3.39267459611992e-14*G0_1_1;
+ A[80] = -2.82031938932978*G0_0_0 - 1.66205081569662*G0_0_1 - 1.66205081569662*G0_1_0 + 3.77942035306722e-14*G0_1_1;
+ A[81] = -0.419818535052917*G0_0_0 - 0.0731991291887148*G0_0_1 - 0.0731991291887131*G0_1_0;
+ A[82] = 1.19486813822751*G0_0_0 + 0.572675540123455*G0_0_1 + 0.572675540123447*G0_1_0;
+ A[83] = -0.990341159611987*G0_0_0 - 0.262655698853618*G0_0_1 - 0.262655698853617*G0_1_0;
+ A[84] = -0.0379774305555552*G0_0_0 - 0.0379774305555557*G0_0_1 - 0.0379774305555538*G0_1_0 - 0.037977430555553*G0_1_1;
+ A[85] = -0.01584545855379*G0_0_0 - 0.610050154320987*G0_1_0;
+ A[86] = 0.380291005291007*G0_0_1 - 0.0696683476631403*G0_1_1;
+ A[87] = -0.90637745260141*G0_0_0 - 0.529617228835973*G0_0_1 + 0.796578758818337*G0_1_0 - 1.39508928571429*G0_1_1;
+ A[88] = 3.07436342592592*G0_0_0 + 1.17549189814814*G0_0_1 + 1.17549189814814*G0_1_0 + 3.69440310846561*G0_1_1;
+ A[89] = -1.80414324294533*G0_0_0 + 0.699697558421514*G0_0_1 - 0.350925236992949*G0_1_0 - 1.80414324294534*G0_1_1;
+ A[90] = 0.895612874779546*G0_0_0 - 0.482253086419752*G0_0_1 + 0.232514880952381*G0_1_0 + 0.818107914462087*G0_1_1;
+ A[91] = 0.131327849426808*G0_0_0 + 0.101187031525573*G0_0_1 + 0.101187031525579*G0_1_0 + 0.0710462136243349*G0_1_1;
+ A[92] = -0.297102347883603*G0_0_0 - 0.148551173941801*G0_0_1 - 0.1485511739418*G0_1_0 - 0.0172233245149881*G0_1_1;
+ A[93] = -0.219597387566131*G0_0_0 - 0.062434551366835*G0_0_1 - 0.062434551366846*G0_1_0 - 0.0172233245149921*G0_1_1;
+ A[94] = -0.895612874779546*G0_0_0 - 0.232514880952386*G0_0_1 - 0.232514880952381*G0_1_0 + 0.071046213624342*G0_1_1;
+ A[95] = 0.11195160934744*G0_0_0 + 0.142092427248673*G0_0_1 + 0.142092427248672*G0_1_0 + 0.172233245149914*G0_1_1;
+ A[96] = -0.11195160934744*G0_0_0 - 0.15716283619929*G0_0_1 - 0.157162836199289*G0_1_0 - 0.219597387566132*G0_1_1;
+ A[97] = 0.103339947089951*G0_0_0 + 0.133480764991187*G0_0_1 + 0.133480764991186*G0_1_0 + 0.26696152998237*G0_1_1;
+ A[98] = -0.0495170579806053*G0_0_0 + 0.529617228835974*G0_0_1 + 0.529617228835973*G0_1_0 + 1.39508928571429*G0_1_1;
+ A[99] = -0.344466490299814*G0_0_0 - 0.447806437389763*G0_0_1 - 0.447806437389762*G0_1_0 - 0.516699735449737*G0_1_1;
+ A[100] = 0.38752480158728*G0_0_0 + 0.859013310185163*G0_0_1 + 0.859013310185157*G0_1_0 + 1.01187031525571*G0_1_1;
+ A[101] = 0.731991291887133*G0_0_0 - 1.30897266313933*G0_0_1 - 1.30897266313931*G0_1_0 - 3.96136463844797*G0_1_1;
+ A[102] = 1.03339947089946*G0_0_0 + 0.374607308201047*G0_0_1 + 0.374607308201049*G0_1_0 + 0.0430583112874674*G0_1_1;
+ A[103] = -3.81066054894178*G0_0_0 - 1.4015480324074*G0_0_1 - 1.40154803240739*G0_1_0 + 1.01187031525574*G0_1_1;
+ A[104] = 2.02374063051146*G0_0_0 + 0.413359788359796*G0_0_1 + 0.413359788359794*G0_1_0 - 0.51669973544973*G0_1_1;
+ A[105] = -0.0379774305555542*G0_0_0 - 0.0379774305555538*G0_0_1 - 0.0379774305555559*G0_1_0 - 0.0379774305555569*G0_1_1;
+ A[106] = -0.0696683476631388*G0_0_0 + 0.380291005291007*G0_1_0;
+ A[107] = -0.610050154320989*G0_0_1 - 0.0158454585537892*G0_1_1;
+ A[108] = 0.818107914462079*G0_0_0 + 0.23251488095238*G0_0_1 - 0.482253086419751*G0_1_0 + 0.895612874779549*G0_1_1;
+ A[109] = -1.80414324294533*G0_0_0 - 0.350925236992949*G0_0_1 + 0.699697558421515*G0_1_0 - 1.80414324294534*G0_1_1;
+ A[110] = 3.69440310846559*G0_0_0 + 1.17549189814814*G0_0_1 + 1.17549189814814*G0_1_0 + 3.07436342592593*G0_1_1;
+ A[111] = -1.39508928571429*G0_0_0 + 0.796578758818335*G0_0_1 - 0.529617228835978*G0_1_0 - 0.906377452601423*G0_1_1;
+ A[112] = 0.172233245149902*G0_0_0 + 0.142092427248668*G0_0_1 + 0.142092427248665*G0_1_0 + 0.111951609347439*G0_1_1;
+ A[113] = -0.219597387566124*G0_0_0 - 0.157162836199278*G0_0_1 - 0.157162836199286*G0_1_0 - 0.111951609347435*G0_1_1;
+ A[114] = 0.266961529982349*G0_0_0 + 0.133480764991168*G0_0_1 + 0.133480764991179*G0_1_0 + 0.103339947089945*G0_1_1;
+ A[115] = 1.39508928571429*G0_0_0 + 0.529617228835988*G0_0_1 + 0.529617228835978*G0_1_0 - 0.0495170579806009*G0_1_1;
+ A[116] = 0.0710462136243353*G0_0_0 + 0.101187031525571*G0_0_1 + 0.101187031525571*G0_1_0 + 0.131327849426796*G0_1_1;
+ A[117] = -0.0172233245149892*G0_0_0 - 0.148551173941795*G0_0_1 - 0.148551173941796*G0_1_0 - 0.297102347883595*G0_1_1;
+ A[118] = -0.0172233245149931*G0_0_0 - 0.0624345513668473*G0_0_1 - 0.062434551366848*G0_1_0 - 0.219597387566146*G0_1_1;
+ A[119] = 0.0710462136243392*G0_0_0 - 0.232514880952381*G0_0_1 - 0.232514880952378*G0_1_0 - 0.895612874779549*G0_1_1;
+ A[120] = -0.516699735449717*G0_0_0 - 0.447806437389767*G0_0_1 - 0.447806437389753*G0_1_0 - 0.344466490299806*G0_1_1;
+ A[121] = 0.0430583112874718*G0_0_0 + 0.374607308201054*G0_0_1 + 0.37460730820105*G0_1_0 + 1.03339947089946*G0_1_1;
+ A[122] = -0.516699735449731*G0_0_0 + 0.413359788359802*G0_0_1 + 0.413359788359791*G0_1_0 + 2.02374063051149*G0_1_1;
+ A[123] = 1.01187031525571*G0_0_0 + 0.859013310185181*G0_0_1 + 0.859013310185168*G0_1_0 + 0.387524801587294*G0_1_1;
+ A[124] = 1.01187031525574*G0_0_0 - 1.4015480324074*G0_0_1 - 1.4015480324074*G0_1_0 - 3.81066054894179*G0_1_1;
+ A[125] = -3.96136463844794*G0_0_0 - 1.30897266313932*G0_0_1 - 1.30897266313931*G0_1_0 + 0.731991291887133*G0_1_1;
+ A[126] = -0.0408192791005292*G0_0_0 - 0.0408192791005301*G0_0_1 - 0.0408192791005281*G0_1_0 - 0.0408192791005282*G0_1_1;
+ A[127] = 0.0408192791005288*G0_0_0 - 0.16155478395062*G0_1_0;
+ A[128] = 0.850315531305117*G0_0_1 + 0.20228794642857*G0_1_1;
+ A[129] = -0.340160659171077*G0_0_0 - 0.0710462136243373*G0_0_1 + 0.329396081349201*G0_1_0 - 0.340160659171084*G0_1_1;
+ A[130] = 0.895612874779546*G0_0_0 + 0.232514880952381*G0_0_1 - 0.482253086419752*G0_1_0 + 0.818107914462087*G0_1_1;
+ A[131] = -1.39508928571429*G0_0_0 - 0.529617228835978*G0_0_1 + 0.796578758818334*G0_1_0 - 0.906377452601423*G0_1_1;
+ A[132] = 2.56196952160495*G0_0_0 + 1.28098476080247*G0_0_1 + 1.28098476080247*G0_1_0 + 1.98929398148149*G0_1_1;
+ A[133] = 0.340160659171078*G0_0_0 + 0.26911444554674*G0_0_1 + 0.269114445546739*G0_1_0 + 0.198068231922397*G0_1_1;
+ A[134] = -0.895612874779549*G0_0_0 - 0.663097993827168*G0_0_1 - 0.663097993827159*G0_1_0 - 0.359536899250439*G0_1_1;
+ A[135] = 1.3950892857143*G0_0_0 + 0.865472056878319*G0_0_1 + 0.86547205687831*G0_1_0 + 0.28633777006173*G0_1_1;
+ A[136] = -2.56196952160495*G0_0_0 - 1.28098476080248*G0_0_1 - 1.28098476080247*G0_1_0 - 0.286337770061729*G0_1_1;
+ A[137] = 0.0710462136243353*G0_0_1 + 0.071046213624336*G0_1_0 + 0.142092427248678*G0_1_1;
+ A[138] = 0.0301408179012361*G0_0_1 + 0.0301408179012369*G0_1_0 + 0.131327849426813*G0_1_1;
+ A[139] = 0.0301408179012351*G0_0_1 + 0.0301408179012354*G0_1_0 + 0.172233245149914*G0_1_1;
+ A[140] = 0.0710462136243407*G0_0_1 + 0.071046213624339*G0_1_0 + 0.340160659171086*G0_1_1;
+ A[141] = -0.262655698853611*G0_0_1 - 0.262655698853611*G0_1_0 - 0.66740382495591*G0_1_1;
+ A[142] = -0.0731991291887124*G0_0_1 - 0.0731991291887162*G0_1_0 - 0.419818535052912*G0_1_1;
+ A[143] = -0.262655698853615*G0_0_1 - 0.26265569885361*G0_1_0 - 0.990341159611998*G0_1_1;
+ A[144] = 0.572675540123446*G0_0_1 + 0.572675540123452*G0_1_0 + 1.35633680555555*G0_1_1;
+ A[145] = 0.572675540123444*G0_0_1 + 0.572675540123454*G0_1_0 + 1.19486813822751*G0_1_1;
+ A[146] = -1.66205081569664*G0_0_1 - 1.66205081569664*G0_1_0 - 2.8203193893298*G0_1_1;
+ A[147] = 0.202287946428574*G0_0_0 + 0.202287946428574*G0_0_1 - 0.648027584876544*G0_1_0 - 0.648027584876545*G0_1_1;
+ A[148] = -0.0408192791005305*G0_0_0;
+ A[149] = 0.161554783950617*G0_0_1 + 0.202374063051148*G0_1_1;
+ A[150] = 0.142092427248673*G0_0_0 + 0.0710462136243303*G0_0_1 + 0.0710462136243391*G0_1_0;
+ A[151] = 0.131327849426808*G0_0_0 + 0.101187031525579*G0_0_1 + 0.101187031525573*G0_1_0 + 0.0710462136243349*G0_1_1;
+ A[152] = 0.172233245149902*G0_0_0 + 0.142092427248665*G0_0_1 + 0.142092427248668*G0_1_0 + 0.11195160934744*G0_1_1;
+ A[153] = 0.340160659171078*G0_0_0 + 0.269114445546739*G0_0_1 + 0.26911444554674*G0_1_0 + 0.198068231922397*G0_1_1;
+ A[154] = 1.98929398148149*G0_0_0 + 0.708309220679014*G0_0_1 + 0.708309220679014*G0_1_0 + 1.98929398148148*G0_1_1;
+ A[155] = -0.906377452601407*G0_0_0 - 1.70295621141976*G0_0_1 - 0.376760223765427*G0_1_0 - 2.56842826829806*G0_1_1;
+ A[156] = 0.818107914462078*G0_0_0 + 1.30036100088184*G0_0_1 + 0.585593033509697*G0_1_0 + 1.96345899470899*G0_1_1;
+ A[157] = -0.340160659171078*G0_0_0 - 0.669556740520286*G0_0_1 - 0.26911444554674*G0_1_0 - 0.938671186067022*G0_1_1;
+ A[158] = -0.286337770061734*G0_0_0 + 0.994646990740739*G0_0_1 + 0.994646990740744*G0_1_0 - 0.286337770061725*G0_1_1;
+ A[159] = 0.286337770061734*G0_0_0 - 0.579134286816573*G0_0_1 - 0.579134286816579*G0_1_0 - 0.0495170579805968*G0_1_1;
+ A[160] = -0.359536899250446*G0_0_0 + 0.303561094576718*G0_0_1 + 0.30356109457672*G0_1_0 + 0.0710462136243445*G0_1_1;
+ A[161] = 0.198068231922402*G0_0_0 - 0.0710462136243347*G0_0_1 - 0.0710462136243411*G0_1_0;
+ A[162] = -2.82031938932981*G0_0_0 - 1.15826857363315*G0_0_1 - 1.15826857363315*G0_1_0 + 0.503782242063493*G0_1_1;
+ A[163] = 1.35633680555555*G0_0_0 + 0.783661265432093*G0_0_1 + 0.783661265432096*G0_1_0 + 0.210985725308632*G0_1_1;
+ A[164] = -0.667403824955903*G0_0_0 - 0.404748126102296*G0_0_1 - 0.404748126102295*G0_1_0 - 0.142092427248674*G0_1_1;
+ A[165] = 1.1948681382275*G0_0_0 + 0.622192598104034*G0_0_1 + 0.622192598104043*G0_1_0 + 0.0495170579805964*G0_1_1;
+ A[166] = -0.419818535052905*G0_0_0 - 0.346619405864182*G0_0_1 - 0.34661940586419*G0_1_0 - 0.273420276675481*G0_1_1;
+ A[167] = -0.990341159611981*G0_0_0 - 0.727685460758366*G0_0_1 - 0.727685460758365*G0_1_0 - 0.465029761904756*G0_1_1;
+ A[168] = -0.0158454585537946*G0_0_0 - 0.0158454585537934*G0_0_1 + 0.594204695767195*G0_1_0 + 0.594204695767196*G0_1_1;
+ A[169] = -0.0379774305555561*G0_0_0;
+ A[170] = -0.380291005291007*G0_0_1 - 0.449959352954148*G0_1_1;
+ A[171] = 0.131327849426814*G0_0_0 + 0.0301408179012376*G0_0_1 + 0.0301408179012409*G0_1_0;
+ A[172] = -0.297102347883603*G0_0_0 - 0.1485511739418*G0_0_1 - 0.148551173941801*G0_1_0 - 0.0172233245149881*G0_1_1;
+ A[173] = -0.219597387566124*G0_0_0 - 0.157162836199286*G0_0_1 - 0.157162836199278*G0_1_0 - 0.111951609347435*G0_1_1;
+ A[174] = -0.895612874779549*G0_0_0 - 0.663097993827159*G0_0_1 - 0.663097993827168*G0_1_0 - 0.359536899250439*G0_1_1;
+ A[175] = -0.906377452601407*G0_0_0 - 0.376760223765427*G0_0_1 - 1.70295621141976*G0_1_0 - 2.56842826829806*G0_1_1;
+ A[176] = 3.07436342592592*G0_0_0 + 1.89887152777777*G0_0_1 + 1.89887152777777*G0_1_0 + 4.41778273809524*G0_1_1;
+ A[177] = -1.80414324294532*G0_0_0 - 2.50384080136684*G0_0_1 - 1.45321800595238*G0_1_0 - 3.95705880731923*G0_1_1;
+ A[178] = 0.89561287477955*G0_0_0 + 1.3778659611993*G0_0_1 + 0.663097993827169*G0_1_0 + 1.963458994709*G0_1_1;
+ A[179] = -0.0495170579805933*G0_0_0 - 0.579134286816576*G0_0_1 - 0.579134286816579*G0_1_0 + 0.286337770061723*G0_1_1;
+ A[180] = 0.103339947089945*G0_0_0 - 0.030140817901236*G0_0_1 - 0.0301408179012354*G0_1_0 + 0.103339947089943*G0_1_1;
+ A[181] = -0.111951609347443*G0_0_0 + 0.0452112268518503*G0_0_1 + 0.0452112268518522*G0_1_0 - 0.0172233245149984*G0_1_1;
+ A[182] = 0.111951609347443*G0_0_0 - 0.0301408179012376*G0_0_1 - 0.0301408179012332*G0_1_0;
+ A[183] = 0.731991291887113*G0_0_0 + 2.04096395502645*G0_0_1 + 2.04096395502645*G0_1_0 - 0.611428020282189*G0_1_1;
+ A[184] = 0.387524801587306*G0_0_0 - 0.47148850859788*G0_0_1 - 0.471488508597885*G0_1_0 - 0.318631503527332*G0_1_1;
+ A[185] = -0.344466490299828*G0_0_0 + 0.103339947089947*G0_0_1 + 0.103339947089948*G0_1_0 + 0.0344466490299801*G0_1_1;
+ A[186] = -3.81066054894179*G0_0_0 - 2.40911251653437*G0_0_1 - 2.40911251653438*G0_1_0 + 0.00430583112875937*G0_1_1;
+ A[187] = 1.03339947089947*G0_0_0 + 0.658792162698409*G0_0_1 + 0.658792162698406*G0_1_0 + 0.327243165784831*G0_1_1;
+ A[188] = 2.02374063051145*G0_0_0 + 1.61038084215166*G0_0_1 + 1.61038084215166*G0_1_0 + 0.68032131834214*G0_1_1;
+ A[189] = -0.0696683476631385*G0_0_0 - 0.0696683476631384*G0_0_1 - 0.449959352954144*G0_1_0 - 0.449959352954145*G0_1_1;
+ A[190] = -0.0379774305555542*G0_0_0;
+ A[191] = 0.610050154320991*G0_0_1 + 0.594204695767201*G0_1_1;
+ A[192] = 0.172233245149909*G0_0_0 + 0.0301408179012378*G0_0_1 + 0.0301408179012286*G0_1_0;
+ A[193] = -0.219597387566131*G0_0_0 - 0.062434551366846*G0_0_1 - 0.0624345513668351*G0_1_0 - 0.0172233245149921*G0_1_1;
+ A[194] = 0.266961529982349*G0_0_0 + 0.133480764991179*G0_0_1 + 0.133480764991168*G0_1_0 + 0.103339947089945*G0_1_1;
+ A[195] = 1.3950892857143*G0_0_0 + 0.865472056878311*G0_0_1 + 0.865472056878319*G0_1_0 + 0.28633777006173*G0_1_1;
+ A[196] = 0.818107914462078*G0_0_0 + 0.585593033509697*G0_0_1 + 1.30036100088184*G0_1_0 + 1.96345899470899*G0_1_1;
+ A[197] = -1.80414324294532*G0_0_0 - 1.45321800595238*G0_0_1 - 2.50384080136684*G0_1_0 - 3.95705880731923*G0_1_1;
+ A[198] = 3.6944031084656*G0_0_0 + 2.51891121031746*G0_0_1 + 2.51891121031746*G0_1_0 + 4.41778273809524*G0_1_1;
+ A[199] = -1.3950892857143*G0_0_0 - 2.19166804453264*G0_0_1 - 0.865472056878321*G0_1_0 - 2.56842826829807*G0_1_1;
+ A[200] = 0.0710462136243364*G0_0_0 + 0.303561094576721*G0_0_1 + 0.303561094576719*G0_1_0 - 0.359536899250437*G0_1_1;
+ A[201] = -0.0172233245149914*G0_0_0 + 0.0452112268518536*G0_0_1 + 0.0452112268518523*G0_1_0 - 0.111951609347443*G0_1_1;
+ A[202] = -0.0172233245149895*G0_0_0 + 0.131327849426809*G0_0_1 + 0.131327849426808*G0_1_0 - 0.0172233245149865*G0_1_1;
+ A[203] = 0.0710462136243363*G0_0_0 - 0.0301408179012389*G0_0_1 - 0.0301408179012354*G0_1_0;
+ A[204] = -0.516699735449726*G0_0_0 - 0.930059523809526*G0_0_1 - 0.930059523809521*G0_1_0 + 0.680321318342152*G0_1_1;
+ A[205] = 0.0430583112874754*G0_0_0 - 0.331548996913582*G0_0_1 - 0.331548996913578*G0_1_0 + 0.327243165784834*G0_1_1;
+ A[206] = -0.516699735449733*G0_0_0 - 0.0688932980599591*G0_0_1 - 0.0688932980599654*G0_1_0 + 0.0344466490299841*G0_1_1;
+ A[207] = 1.01187031525572*G0_0_0 + 2.41341834766313*G0_0_1 + 2.41341834766313*G0_1_0 + 0.00430583112874061*G0_1_1;
+ A[208] = 1.01187031525573*G0_0_0 + 0.152857005070547*G0_0_1 + 0.152857005070545*G0_1_0 - 0.318631503527343*G0_1_1;
+ A[209] = -3.96136463844795*G0_0_0 - 2.65239197530863*G0_0_1 - 2.65239197530863*G0_1_0 - 0.61142802028218*G0_1_1;
+ A[210] = 0.0408192791005293*G0_0_0 + 0.0408192791005302*G0_0_1 + 0.202374063051147*G0_1_0 + 0.202374063051147*G0_1_1;
+ A[211] = -0.0408192791005288*G0_0_0;
+ A[212] = -0.850315531305117*G0_0_1 - 0.648027584876547*G0_1_1;
+ A[213] = 0.340160659171077*G0_0_0 + 0.0710462136243372*G0_0_1 + 0.0710462136243438*G0_1_0;
+ A[214] = -0.895612874779546*G0_0_0 - 0.232514880952381*G0_0_1 - 0.232514880952386*G0_1_0 + 0.071046213624342*G0_1_1;
+ A[215] = 1.39508928571429*G0_0_0 + 0.529617228835978*G0_0_1 + 0.529617228835988*G0_1_0 - 0.049517057980601*G0_1_1;
+ A[216] = -2.56196952160495*G0_0_0 - 1.28098476080247*G0_0_1 - 1.28098476080248*G0_1_0 - 0.286337770061729*G0_1_1;
+ A[217] = -0.340160659171078*G0_0_0 - 0.26911444554674*G0_0_1 - 0.669556740520286*G0_1_0 - 0.938671186067022*G0_1_1;
+ A[218] = 0.89561287477955*G0_0_0 + 0.663097993827169*G0_0_1 + 1.3778659611993*G0_1_0 + 1.963458994709*G0_1_1;
+ A[219] = -1.3950892857143*G0_0_0 - 0.865472056878321*G0_0_1 - 2.19166804453264*G0_1_0 - 2.56842826829807*G0_1_1;
+ A[220] = 2.56196952160495*G0_0_0 + 1.28098476080248*G0_0_1 + 1.28098476080248*G0_1_0 + 1.9892939814815*G0_1_1;
+ A[221] = -0.0710462136243352*G0_0_1 - 0.0710462136243383*G0_1_0 + 0.198068231922397*G0_1_1;
+ A[222] = -0.0301408179012362*G0_0_1 - 0.0301408179012355*G0_1_0 + 0.111951609347442*G0_1_1;
+ A[223] = -0.0301408179012352*G0_0_1 - 0.0301408179012347*G0_1_0 + 0.0710462136243351*G0_1_1;
+ A[224] = -0.0710462136243405*G0_0_1 - 0.0710462136243385*G0_1_0;
+ A[225] = 0.262655698853612*G0_0_1 + 0.262655698853615*G0_1_0 - 0.465029761904764*G0_1_1;
+ A[226] = 0.0731991291887123*G0_0_1 + 0.0731991291887096*G0_1_0 - 0.273420276675488*G0_1_1;
+ A[227] = 0.262655698853615*G0_0_1 + 0.262655698853616*G0_1_0 - 0.142092427248679*G0_1_1;
+ A[228] = -0.572675540123448*G0_0_1 - 0.572675540123456*G0_1_0 + 0.0495170579806033*G0_1_1;
+ A[229] = -0.572675540123444*G0_0_1 - 0.572675540123452*G0_1_0 + 0.210985725308652*G0_1_1;
+ A[230] = 1.66205081569664*G0_0_1 + 1.66205081569665*G0_1_0 + 0.503782242063488*G0_1_1;
+ A[231] = -0.648027584876545*G0_0_0 - 0.648027584876546*G0_0_1 + 0.202287946428573*G0_1_0 + 0.202287946428572*G0_1_1;
A[232] = 0.202374063051144*G0_0_0 + 0.161554783950614*G0_1_0;
- A[233] = -0.0408192791005308*G0_1_1;
- A[234] = 0.19806823192239*G0_0_0 + 0.26911444554673*G0_0_1 + 0.269114445546723*G0_1_0 + 0.340160659171058*G0_1_1;
- A[235] = 0.111951609347442*G0_0_0 + 0.142092427248673*G0_0_1 + 0.142092427248674*G0_1_0 + 0.172233245149913*G0_1_1;
- A[236] = 0.0710462136243318*G0_0_0 + 0.101187031525568*G0_0_1 + 0.101187031525569*G0_1_0 + 0.131327849426798*G0_1_1;
- A[237] = 0.0710462136243364*G0_0_1 + 0.0710462136243366*G0_1_0 + 0.142092427248678*G0_1_1;
- A[238] = -0.286337770061733*G0_0_0 + 0.99464699074074*G0_0_1 + 0.994646990740734*G0_1_0 - 0.286337770061725*G0_1_1;
- A[239] = -0.0495170579805942*G0_0_0 - 0.579134286816577*G0_0_1 - 0.579134286816572*G0_1_0 + 0.286337770061724*G0_1_1;
- A[240] = 0.071046213624335*G0_0_0 + 0.303561094576719*G0_0_1 + 0.303561094576721*G0_1_0 - 0.359536899250438*G0_1_1;
- A[241] = -0.0710462136243391*G0_0_1 - 0.0710462136243366*G0_1_0 + 0.198068231922397*G0_1_1;
- A[242] = 1.98929398148147*G0_0_0 + 0.708309220679005*G0_0_1 + 0.708309220679005*G0_1_0 + 1.98929398148147*G0_1_1;
- A[243] = -2.56842826829805*G0_0_0 - 0.376760223765422*G0_0_1 - 1.70295621141974*G0_1_0 - 0.906377452601392*G0_1_1;
- A[244] = 1.96345899470898*G0_0_0 + 0.585593033509691*G0_0_1 + 1.30036100088182*G0_1_0 + 0.818107914462068*G0_1_1;
- A[245] = -0.938671186067012*G0_0_0 - 0.269114445546732*G0_0_1 - 0.669556740520273*G0_1_0 - 0.340160659171063*G0_1_1;
- A[246] = 0.503782242063506*G0_0_0 - 1.15826857363314*G0_0_1 - 1.15826857363314*G0_1_0 - 2.82031938932979*G0_1_1;
- A[247] = 0.0495170579805781*G0_0_0 + 0.622192598104034*G0_0_1 + 0.622192598104038*G0_1_0 + 1.19486813822749*G0_1_1;
- A[248] = -0.465029761904741*G0_0_0 - 0.727685460758357*G0_0_1 - 0.727685460758354*G0_1_0 - 0.990341159611978*G0_1_1;
- A[249] = 0.210985725308634*G0_0_0 + 0.783661265432093*G0_0_1 + 0.78366126543209*G0_1_0 + 1.35633680555555*G0_1_1;
- A[250] = -0.273420276675481*G0_0_0 - 0.346619405864189*G0_0_1 - 0.346619405864191*G0_1_0 - 0.419818535052891*G0_1_1;
- A[251] = -0.142092427248668*G0_0_0 - 0.404748126102287*G0_0_1 - 0.40474812610229*G0_1_0 - 0.667403824955905*G0_1_1;
- A[252] = 0.594204695767193*G0_0_0 + 0.594204695767194*G0_0_1 - 0.0158454585537931*G0_1_0 - 0.0158454585537933*G0_1_1;
- A[253] = -0.449959352954138*G0_0_0 - 0.380291005290997*G0_1_0;
- A[254] = -0.0379774305555558*G0_1_1;
- A[255] = -0.359536899250423*G0_0_0 - 0.663097993827141*G0_0_1 - 0.663097993827143*G0_1_0 - 0.895612874779516*G0_1_1;
- A[256] = -0.111951609347442*G0_0_0 - 0.157162836199289*G0_0_1 - 0.157162836199288*G0_1_0 - 0.219597387566131*G0_1_1;
- A[257] = -0.0172233245149868*G0_0_0 - 0.148551173941795*G0_0_1 - 0.148551173941797*G0_1_0 - 0.297102347883594*G0_1_1;
- A[258] = 0.0301408179012359*G0_0_1 + 0.0301408179012366*G0_1_0 + 0.131327849426812*G0_1_1;
- A[259] = 0.286337770061734*G0_0_0 - 0.579134286816577*G0_0_1 - 0.579134286816571*G0_1_0 - 0.0495170579805966*G0_1_1;
- A[260] = 0.103339947089945*G0_0_0 - 0.0301408179012344*G0_0_1 - 0.0301408179012369*G0_1_0 + 0.103339947089942*G0_1_1;
- A[261] = -0.0172233245149909*G0_0_0 + 0.0452112268518513*G0_0_1 + 0.045211226851855*G0_1_0 - 0.111951609347442*G0_1_1;
- A[262] = -0.0301408179012341*G0_0_1 - 0.030140817901237*G0_1_0 + 0.11195160934744*G0_1_1;
- A[263] = -2.56842826829805*G0_0_0 - 1.70295621141974*G0_0_1 - 0.376760223765422*G0_1_0 - 0.906377452601392*G0_1_1;
- A[264] = 4.41778273809521*G0_0_0 + 1.89887152777775*G0_0_1 + 1.89887152777775*G0_1_0 + 3.07436342592589*G0_1_1;
- A[265] = -3.95705880731919*G0_0_0 - 1.45321800595236*G0_0_1 - 2.50384080136681*G0_1_0 - 1.80414324294529*G0_1_1;
- A[266] = 1.96345899470897*G0_0_0 + 0.663097993827144*G0_0_1 + 1.37786596119927*G0_1_0 + 0.895612874779517*G0_1_1;
- A[267] = -0.611428020282207*G0_0_0 + 2.04096395502644*G0_0_1 + 2.04096395502643*G0_1_0 + 0.731991291887102*G0_1_1;
- A[268] = 0.00430583112878251*G0_0_0 - 2.40911251653435*G0_0_1 - 2.40911251653435*G0_1_0 - 3.81066054894176*G0_1_1;
- A[269] = 0.680321318342116*G0_0_0 + 1.61038084215164*G0_0_1 + 1.61038084215164*G0_1_0 + 2.02374063051141*G0_1_1;
- A[270] = -0.318631503527332*G0_0_0 - 0.471488508597882*G0_0_1 - 0.471488508597879*G0_1_0 + 0.387524801587311*G0_1_1;
- A[271] = 0.327243165784827*G0_0_0 + 0.658792162698405*G0_0_1 + 0.658792162698402*G0_1_0 + 1.03339947089947*G0_1_1;
- A[272] = 0.0344466490299792*G0_0_0 + 0.103339947089946*G0_0_1 + 0.103339947089942*G0_1_0 - 0.344466490299829*G0_1_1;
- A[273] = -0.449959352954142*G0_0_0 - 0.449959352954143*G0_0_1 - 0.0696683476631388*G0_1_0 - 0.0696683476631395*G0_1_1;
- A[274] = 0.594204695767184*G0_0_0 + 0.610050154320977*G0_1_0;
- A[275] = -0.0379774305555562*G0_1_1;
- A[276] = 0.286337770061708*G0_0_0 + 0.865472056878275*G0_0_1 + 0.865472056878289*G0_1_0 + 1.39508928571425*G0_1_1;
- A[277] = 0.10333994708995*G0_0_0 + 0.133480764991185*G0_0_1 + 0.133480764991185*G0_1_0 + 0.266961529982371*G0_1_1;
- A[278] = -0.0172233245149941*G0_0_0 - 0.0624345513668494*G0_0_1 - 0.0624345513668477*G0_1_0 - 0.219597387566148*G0_1_1;
- A[279] = 0.0301408179012352*G0_0_1 + 0.0301408179012341*G0_1_0 + 0.172233245149915*G0_1_1;
- A[280] = -0.359536899250443*G0_0_0 + 0.303561094576719*G0_0_1 + 0.303561094576716*G0_1_0 + 0.0710462136243428*G0_1_1;
- A[281] = -0.111951609347442*G0_0_0 + 0.0452112268518512*G0_0_1 + 0.0452112268518504*G0_1_0 - 0.0172233245149974*G0_1_1;
- A[282] = -0.0172233245149894*G0_0_0 + 0.131327849426809*G0_0_1 + 0.131327849426809*G0_1_0 - 0.0172233245149869*G0_1_1;
- A[283] = -0.0301408179012355*G0_0_1 - 0.030140817901234*G0_1_0 + 0.0710462136243357*G0_1_1;
- A[284] = 1.96345899470898*G0_0_0 + 1.30036100088182*G0_0_1 + 0.585593033509691*G0_1_0 + 0.818107914462068*G0_1_1;
- A[285] = -3.95705880731919*G0_0_0 - 2.50384080136681*G0_0_1 - 1.45321800595236*G0_1_0 - 1.80414324294529*G0_1_1;
- A[286] = 4.41778273809519*G0_0_0 + 2.51891121031742*G0_0_1 + 2.51891121031742*G0_1_0 + 3.69440310846556*G0_1_1;
- A[287] = -2.56842826829803*G0_0_0 - 0.865472056878278*G0_0_1 - 2.1916680445326*G0_1_0 - 1.39508928571426*G0_1_1;
- A[288] = 0.680321318342169*G0_0_0 - 0.93005952380951*G0_0_1 - 0.930059523809504*G0_1_0 - 0.516699735449723*G0_1_1;
- A[289] = 0.00430583112871392*G0_0_0 + 2.4134183476631*G0_0_1 + 2.4134183476631*G0_1_0 + 1.01187031525569*G0_1_1;
- A[290] = -0.611428020282149*G0_0_0 - 2.6523919753086*G0_0_1 - 2.6523919753086*G0_1_0 - 3.96136463844792*G0_1_1;
- A[291] = 0.327243165784832*G0_0_0 - 0.331548996913577*G0_0_1 - 0.331548996913577*G0_1_0 + 0.043058311287478*G0_1_1;
- A[292] = -0.318631503527337*G0_0_0 + 0.152857005070549*G0_0_1 + 0.152857005070543*G0_1_0 + 1.01187031525574*G0_1_1;
- A[293] = 0.034446649029982*G0_0_0 - 0.0688932980599656*G0_0_1 - 0.0688932980599619*G0_1_0 - 0.516699735449734*G0_1_1;
- A[294] = 0.202374063051145*G0_0_0 + 0.202374063051146*G0_0_1 + 0.0408192791005277*G0_1_0 + 0.0408192791005302*G0_1_1;
- A[295] = -0.648027584876533*G0_0_0 - 0.850315531305105*G0_1_0;
- A[296] = -0.0408192791005298*G0_1_1;
- A[297] = -0.286337770061714*G0_0_0 - 1.28098476080244*G0_0_1 - 1.28098476080245*G0_1_0 - 2.56196952160491*G0_1_1;
- A[298] = -0.0495170579806034*G0_0_0 + 0.529617228835971*G0_0_1 + 0.529617228835976*G0_1_0 + 1.39508928571429*G0_1_1;
- A[299] = 0.0710462136243395*G0_0_0 - 0.232514880952376*G0_0_1 - 0.232514880952382*G0_1_0 - 0.895612874779545*G0_1_1;
- A[300] = 0.0710462136243382*G0_0_1 + 0.0710462136243402*G0_1_0 + 0.340160659171083*G0_1_1;
- A[301] = 0.198068231922401*G0_0_0 - 0.0710462136243403*G0_0_1 - 0.0710462136243326*G0_1_0;
- A[302] = 0.111951609347443*G0_0_0 - 0.0301408179012331*G0_0_1 - 0.0301408179012373*G0_1_0;
- A[303] = 0.0710462136243367*G0_0_0 - 0.0301408179012349*G0_0_1 - 0.0301408179012371*G0_1_0;
- A[304] = -0.0710462136243386*G0_0_1 - 0.07104621362434*G0_1_0;
- A[305] = -0.938671186067012*G0_0_0 - 0.669556740520273*G0_0_1 - 0.269114445546732*G0_1_0 - 0.340160659171063*G0_1_1;
- A[306] = 1.96345899470897*G0_0_0 + 1.37786596119927*G0_0_1 + 0.663097993827144*G0_1_0 + 0.895612874779517*G0_1_1;
- A[307] = -2.56842826829803*G0_0_0 - 2.1916680445326*G0_0_1 - 0.865472056878279*G0_1_0 - 1.39508928571426*G0_1_1;
- A[308] = 1.98929398148146*G0_0_0 + 1.28098476080244*G0_0_1 + 1.28098476080244*G0_1_0 + 2.56196952160491*G0_1_1;
- A[309] = -0.465029761904771*G0_0_0 + 0.262655698853608*G0_0_1 + 0.262655698853602*G0_1_0 - 1.43186244111471e-14*G0_1_1;
- A[310] = 0.049517057980618*G0_0_0 - 0.57267554012343*G0_0_1 - 0.57267554012344*G0_1_0 + 3.21598216806995e-14*G0_1_1;
- A[311] = 0.503782242063467*G0_0_0 + 1.66205081569662*G0_0_1 + 1.66205081569663*G0_1_0 - 3.60780199118449e-14*G0_1_1;
- A[312] = -0.273420276675488*G0_0_0 + 0.0731991291887093*G0_0_1 + 0.0731991291887106*G0_1_0;
- A[313] = 0.210985725308648*G0_0_0 - 0.572675540123456*G0_0_1 - 0.572675540123449*G0_1_0;
+ A[233] = -0.0408192791005315*G0_1_1;
+ A[234] = 0.198068231922392*G0_0_0 + 0.269114445546731*G0_0_1 + 0.269114445546724*G0_1_0 + 0.340160659171059*G0_1_1;
+ A[235] = 0.11195160934744*G0_0_0 + 0.142092427248671*G0_0_1 + 0.142092427248673*G0_1_0 + 0.172233245149914*G0_1_1;
+ A[236] = 0.0710462136243353*G0_0_0 + 0.101187031525571*G0_0_1 + 0.101187031525571*G0_1_0 + 0.131327849426796*G0_1_1;
+ A[237] = 0.071046213624336*G0_0_1 + 0.0710462136243353*G0_1_0 + 0.142092427248678*G0_1_1;
+ A[238] = -0.286337770061734*G0_0_0 + 0.994646990740744*G0_0_1 + 0.994646990740739*G0_1_0 - 0.286337770061725*G0_1_1;
+ A[239] = -0.0495170579805933*G0_0_0 - 0.579134286816579*G0_0_1 - 0.579134286816576*G0_1_0 + 0.286337770061723*G0_1_1;
+ A[240] = 0.0710462136243364*G0_0_0 + 0.303561094576719*G0_0_1 + 0.303561094576721*G0_1_0 - 0.359536899250437*G0_1_1;
+ A[241] = -0.0710462136243384*G0_0_1 - 0.0710462136243352*G0_1_0 + 0.198068231922397*G0_1_1;
+ A[242] = 1.98929398148148*G0_0_0 + 0.708309220679007*G0_0_1 + 0.708309220679007*G0_1_0 + 1.98929398148148*G0_1_1;
+ A[243] = -2.56842826829805*G0_0_0 - 0.376760223765424*G0_0_1 - 1.70295621141975*G0_1_0 - 0.906377452601396*G0_1_1;
+ A[244] = 1.96345899470899*G0_0_0 + 0.585593033509691*G0_0_1 + 1.30036100088182*G0_1_0 + 0.81810791446207*G0_1_1;
+ A[245] = -0.938671186067014*G0_0_0 - 0.269114445546733*G0_0_1 - 0.669556740520274*G0_1_0 - 0.340160659171064*G0_1_1;
+ A[246] = 0.503782242063505*G0_0_0 - 1.15826857363315*G0_0_1 - 1.15826857363315*G0_1_0 - 2.8203193893298*G0_1_1;
+ A[247] = 0.0495170579805803*G0_0_0 + 0.622192598104035*G0_0_1 + 0.622192598104038*G0_1_0 + 1.19486813822749*G0_1_1;
+ A[248] = -0.465029761904743*G0_0_0 - 0.727685460758355*G0_0_1 - 0.727685460758356*G0_1_0 - 0.990341159611981*G0_1_1;
+ A[249] = 0.210985725308632*G0_0_0 + 0.783661265432099*G0_0_1 + 0.783661265432093*G0_1_0 + 1.35633680555554*G0_1_1;
+ A[250] = -0.273420276675478*G0_0_0 - 0.346619405864191*G0_0_1 - 0.34661940586419*G0_1_0 - 0.419818535052892*G0_1_1;
+ A[251] = -0.142092427248672*G0_0_0 - 0.40474812610229*G0_0_1 - 0.404748126102293*G0_1_0 - 0.667403824955904*G0_1_1;
+ A[252] = 0.594204695767195*G0_0_0 + 0.594204695767197*G0_0_1 - 0.0158454585537928*G0_1_0 - 0.0158454585537928*G0_1_1;
+ A[253] = -0.449959352954139*G0_0_0 - 0.380291005290998*G0_1_0;
+ A[254] = -0.0379774305555565*G0_1_1;
+ A[255] = -0.359536899250425*G0_0_0 - 0.663097993827143*G0_0_1 - 0.663097993827144*G0_1_0 - 0.895612874779519*G0_1_1;
+ A[256] = -0.11195160934744*G0_0_0 - 0.157162836199289*G0_0_1 - 0.15716283619929*G0_1_0 - 0.219597387566132*G0_1_1;
+ A[257] = -0.0172233245149892*G0_0_0 - 0.148551173941796*G0_0_1 - 0.148551173941795*G0_1_0 - 0.297102347883595*G0_1_1;
+ A[258] = 0.0301408179012368*G0_0_1 + 0.0301408179012361*G0_1_0 + 0.131327849426813*G0_1_1;
+ A[259] = 0.286337770061734*G0_0_0 - 0.579134286816579*G0_0_1 - 0.579134286816573*G0_1_0 - 0.0495170579805968*G0_1_1;
+ A[260] = 0.103339947089945*G0_0_0 - 0.0301408179012354*G0_0_1 - 0.030140817901236*G0_1_0 + 0.103339947089943*G0_1_1;
+ A[261] = -0.0172233245149914*G0_0_0 + 0.0452112268518524*G0_0_1 + 0.0452112268518536*G0_1_0 - 0.111951609347443*G0_1_1;
+ A[262] = -0.0301408179012356*G0_0_1 - 0.0301408179012363*G0_1_0 + 0.111951609347442*G0_1_1;
+ A[263] = -2.56842826829805*G0_0_0 - 1.70295621141975*G0_0_1 - 0.376760223765424*G0_1_0 - 0.906377452601396*G0_1_1;
+ A[264] = 4.41778273809522*G0_0_0 + 1.89887152777776*G0_0_1 + 1.89887152777776*G0_1_0 + 3.0743634259259*G0_1_1;
+ A[265] = -3.9570588073192*G0_0_0 - 1.45321800595236*G0_0_1 - 2.50384080136682*G0_1_0 - 1.8041432429453*G0_1_1;
+ A[266] = 1.96345899470898*G0_0_0 + 0.663097993827146*G0_0_1 + 1.37786596119927*G0_1_0 + 0.89561287477952*G0_1_1;
+ A[267] = -0.611428020282206*G0_0_0 + 2.04096395502644*G0_0_1 + 2.04096395502643*G0_1_0 + 0.731991291887105*G0_1_1;
+ A[268] = 0.00430583112878178*G0_0_0 - 2.40911251653436*G0_0_1 - 2.40911251653436*G0_1_0 - 3.81066054894177*G0_1_1;
+ A[269] = 0.680321318342118*G0_0_0 + 1.61038084215164*G0_0_1 + 1.61038084215164*G0_1_0 + 2.02374063051142*G0_1_1;
+ A[270] = -0.318631503527333*G0_0_0 - 0.471488508597885*G0_0_1 - 0.47148850859788*G0_1_0 + 0.387524801587314*G0_1_1;
+ A[271] = 0.327243165784826*G0_0_0 + 0.658792162698406*G0_0_1 + 0.658792162698406*G0_1_0 + 1.03339947089947*G0_1_1;
+ A[272] = 0.0344466490299817*G0_0_0 + 0.103339947089947*G0_0_1 + 0.103339947089943*G0_1_0 - 0.344466490299829*G0_1_1;
+ A[273] = -0.449959352954144*G0_0_0 - 0.449959352954145*G0_0_1 - 0.0696683476631389*G0_1_0 - 0.0696683476631398*G0_1_1;
+ A[274] = 0.594204695767187*G0_0_0 + 0.61005015432098*G0_1_0;
+ A[275] = -0.0379774305555558*G0_1_1;
+ A[276] = 0.28633777006171*G0_0_0 + 0.86547205687828*G0_0_1 + 0.865472056878293*G0_1_0 + 1.39508928571426*G0_1_1;
+ A[277] = 0.103339947089951*G0_0_0 + 0.133480764991186*G0_0_1 + 0.133480764991187*G0_1_0 + 0.266961529982369*G0_1_1;
+ A[278] = -0.0172233245149931*G0_0_0 - 0.062434551366848*G0_0_1 - 0.0624345513668473*G0_1_0 - 0.219597387566145*G0_1_1;
+ A[279] = 0.0301408179012355*G0_0_1 + 0.0301408179012351*G0_1_0 + 0.172233245149914*G0_1_1;
+ A[280] = -0.359536899250446*G0_0_0 + 0.30356109457672*G0_0_1 + 0.303561094576718*G0_1_0 + 0.0710462136243445*G0_1_1;
+ A[281] = -0.111951609347443*G0_0_0 + 0.0452112268518521*G0_0_1 + 0.0452112268518503*G0_1_0 - 0.0172233245149984*G0_1_1;
+ A[282] = -0.0172233245149895*G0_0_0 + 0.131327849426808*G0_0_1 + 0.131327849426809*G0_1_0 - 0.0172233245149865*G0_1_1;
+ A[283] = -0.0301408179012348*G0_0_1 - 0.0301408179012352*G0_1_0 + 0.0710462136243351*G0_1_1;
+ A[284] = 1.96345899470899*G0_0_0 + 1.30036100088182*G0_0_1 + 0.585593033509691*G0_1_0 + 0.81810791446207*G0_1_1;
+ A[285] = -3.9570588073192*G0_0_0 - 2.50384080136682*G0_0_1 - 1.45321800595236*G0_1_0 - 1.8041432429453*G0_1_1;
+ A[286] = 4.41778273809521*G0_0_0 + 2.51891121031743*G0_0_1 + 2.51891121031743*G0_1_0 + 3.69440310846558*G0_1_1;
+ A[287] = -2.56842826829804*G0_0_0 - 0.865472056878283*G0_0_1 - 2.19166804453261*G0_1_0 - 1.39508928571427*G0_1_1;
+ A[288] = 0.680321318342169*G0_0_0 - 0.930059523809514*G0_0_1 - 0.93005952380951*G0_1_0 - 0.516699735449723*G0_1_1;
+ A[289] = 0.00430583112871508*G0_0_0 + 2.4134183476631*G0_0_1 + 2.41341834766311*G0_1_0 + 1.01187031525569*G0_1_1;
+ A[290] = -0.61142802028215*G0_0_0 - 2.65239197530861*G0_0_1 - 2.65239197530861*G0_1_0 - 3.96136463844794*G0_1_1;
+ A[291] = 0.327243165784832*G0_0_0 - 0.331548996913579*G0_0_1 - 0.331548996913585*G0_1_0 + 0.0430583112874714*G0_1_1;
+ A[292] = -0.318631503527338*G0_0_0 + 0.152857005070551*G0_0_1 + 0.152857005070546*G0_1_0 + 1.01187031525574*G0_1_1;
+ A[293] = 0.0344466490299816*G0_0_0 - 0.0688932980599656*G0_0_1 - 0.0688932980599621*G0_1_0 - 0.516699735449731*G0_1_1;
+ A[294] = 0.202374063051146*G0_0_0 + 0.202374063051147*G0_0_1 + 0.0408192791005282*G0_1_0 + 0.0408192791005311*G0_1_1;
+ A[295] = -0.648027584876536*G0_0_0 - 0.850315531305109*G0_1_0;
+ A[296] = -0.0408192791005301*G0_1_1;
+ A[297] = -0.286337770061716*G0_0_0 - 1.28098476080245*G0_0_1 - 1.28098476080246*G0_1_0 - 2.56196952160492*G0_1_1;
+ A[298] = -0.0495170579806053*G0_0_0 + 0.529617228835973*G0_0_1 + 0.529617228835974*G0_1_0 + 1.39508928571429*G0_1_1;
+ A[299] = 0.0710462136243393*G0_0_0 - 0.232514880952378*G0_0_1 - 0.232514880952381*G0_1_0 - 0.895612874779549*G0_1_1;
+ A[300] = 0.071046213624339*G0_0_1 + 0.0710462136243407*G0_1_0 + 0.340160659171086*G0_1_1;
+ A[301] = 0.198068231922402*G0_0_0 - 0.0710462136243411*G0_0_1 - 0.0710462136243347*G0_1_0;
+ A[302] = 0.111951609347443*G0_0_0 - 0.0301408179012332*G0_0_1 - 0.0301408179012376*G0_1_0;
+ A[303] = 0.0710462136243363*G0_0_0 - 0.0301408179012354*G0_0_1 - 0.0301408179012389*G0_1_0;
+ A[304] = -0.0710462136243385*G0_0_1 - 0.0710462136243405*G0_1_0;
+ A[305] = -0.938671186067014*G0_0_0 - 0.669556740520274*G0_0_1 - 0.269114445546733*G0_1_0 - 0.340160659171064*G0_1_1;
+ A[306] = 1.96345899470898*G0_0_0 + 1.37786596119927*G0_0_1 + 0.663097993827146*G0_1_0 + 0.895612874779521*G0_1_1;
+ A[307] = -2.56842826829804*G0_0_0 - 2.19166804453261*G0_0_1 - 0.865472056878283*G0_1_0 - 1.39508928571427*G0_1_1;
+ A[308] = 1.98929398148146*G0_0_0 + 1.28098476080245*G0_0_1 + 1.28098476080245*G0_1_0 + 2.56196952160493*G0_1_1;
+ A[309] = -0.465029761904772*G0_0_0 + 0.262655698853608*G0_0_1 + 0.262655698853602*G0_1_0 - 1.78808790690654e-14*G0_1_1;
+ A[310] = 0.0495170579806194*G0_0_0 - 0.572675540123429*G0_0_1 - 0.572675540123439*G0_1_0 + 3.31987042023751e-14*G0_1_1;
+ A[311] = 0.503782242063468*G0_0_0 + 1.66205081569663*G0_0_1 + 1.66205081569663*G0_1_0 - 3.23910820040907e-14*G0_1_1;
+ A[312] = -0.273420276675487*G0_0_0 + 0.0731991291887111*G0_0_1 + 0.0731991291887115*G0_1_0;
+ A[313] = 0.210985725308648*G0_0_0 - 0.57267554012346*G0_0_1 - 0.572675540123447*G0_1_0;
A[314] = -0.142092427248675*G0_0_0 + 0.262655698853616*G0_0_1 + 0.262655698853619*G0_1_0;
- A[315] = -0.215291556437394*G0_0_0 - 0.215291556437395*G0_0_1 - 0.215291556437393*G0_1_0 - 0.215291556437391*G0_1_1;
- A[316] = 0.107645778218698*G0_0_0;
- A[317] = 0.107645778218697*G0_1_1;
- A[318] = -0.667403824955893*G0_0_0 - 0.262655698853598*G0_0_1 - 0.2626556988536*G0_1_0 + 1.78663507599541e-14*G0_1_1;
- A[319] = -0.344466490299814*G0_0_0 - 0.447806437389764*G0_0_1 - 0.447806437389765*G0_1_0 - 0.516699735449737*G0_1_1;
- A[320] = -0.516699735449715*G0_0_0 - 0.447806437389749*G0_0_1 - 0.447806437389762*G0_1_0 - 0.344466490299805*G0_1_1;
- A[321] = -0.262655698853612*G0_0_1 - 0.262655698853614*G0_1_0 - 0.66740382495591*G0_1_1;
- A[322] = -2.8203193893298*G0_0_0 - 1.15826857363315*G0_0_1 - 1.15826857363314*G0_1_0 + 0.503782242063493*G0_1_1;
- A[323] = 0.731991291887109*G0_0_0 + 2.04096395502644*G0_0_1 + 2.04096395502644*G0_1_0 - 0.611428020282188*G0_1_1;
- A[324] = -0.516699735449723*G0_0_0 - 0.930059523809514*G0_0_1 - 0.930059523809521*G0_1_0 + 0.680321318342154*G0_1_1;
- A[325] = 0.262655698853611*G0_0_1 + 0.262655698853614*G0_1_0 - 0.465029761904765*G0_1_1;
- A[326] = 0.503782242063506*G0_0_0 - 1.15826857363314*G0_0_1 - 1.15826857363314*G0_1_0 - 2.82031938932979*G0_1_1;
- A[327] = -0.611428020282207*G0_0_0 + 2.04096395502643*G0_0_1 + 2.04096395502644*G0_1_0 + 0.731991291887102*G0_1_1;
- A[328] = 0.68032131834217*G0_0_0 - 0.930059523809504*G0_0_1 - 0.93005952380951*G0_1_0 - 0.516699735449723*G0_1_1;
- A[329] = -0.465029761904771*G0_0_0 + 0.262655698853602*G0_0_1 + 0.262655698853608*G0_1_0 - 1.43177570494091e-14*G0_1_1;
- A[330] = 7.06156305114635*G0_0_0 + 3.10019841269838*G0_0_1 + 3.10019841269838*G0_1_0 + 7.06156305114635*G0_1_1;
- A[331] = -6.32957175925922*G0_0_0 - 3.0571401014109*G0_0_1 - 3.0571401014109*G0_1_0 - 1.80844907407403*G0_1_1;
- A[332] = 2.75573192239855*G0_0_0 + 1.37786596119926*G0_0_1 + 1.37786596119927*G0_1_0 + 1.03339947089946*G0_1_1;
- A[333] = -1.80844907407404*G0_0_0 - 3.0571401014109*G0_0_1 - 3.0571401014109*G0_1_0 - 6.32957175925923*G0_1_1;
- A[334] = 1.42092427248674*G0_0_0 + 1.46398258377422*G0_0_1 + 1.46398258377422*G0_1_0 + 1.42092427248674*G0_1_1;
- A[335] = 1.03339947089944*G0_0_0 + 1.37786596119927*G0_0_1 + 1.37786596119928*G0_1_0 + 2.75573192239857*G0_1_1;
- A[336] = -0.0538228891093423*G0_0_0 - 0.0538228891093422*G0_0_1 - 0.0538228891093427*G0_1_0 - 0.0538228891093419*G0_1_1;
- A[337] = -0.0538228891093521*G0_0_0 - 1.07498103300852e-14*G0_1_0;
+ A[315] = -0.215291556437393*G0_0_0 - 0.215291556437394*G0_0_1 - 0.215291556437392*G0_1_0 - 0.215291556437391*G0_1_1;
+ A[316] = 0.107645778218699*G0_0_0;
+ A[317] = 0.107645778218699*G0_1_1;
+ A[318] = -0.667403824955892*G0_0_0 - 0.262655698853599*G0_0_1 - 0.262655698853599*G0_1_0 + 2.03322601810552e-14*G0_1_1;
+ A[319] = -0.344466490299814*G0_0_0 - 0.447806437389762*G0_0_1 - 0.447806437389763*G0_1_0 - 0.516699735449737*G0_1_1;
+ A[320] = -0.516699735449717*G0_0_0 - 0.447806437389753*G0_0_1 - 0.447806437389767*G0_1_0 - 0.344466490299806*G0_1_1;
+ A[321] = -0.262655698853611*G0_0_1 - 0.262655698853611*G0_1_0 - 0.66740382495591*G0_1_1;
+ A[322] = -2.82031938932981*G0_0_0 - 1.15826857363315*G0_0_1 - 1.15826857363315*G0_1_0 + 0.503782242063493*G0_1_1;
+ A[323] = 0.731991291887113*G0_0_0 + 2.04096395502645*G0_0_1 + 2.04096395502645*G0_1_0 - 0.61142802028219*G0_1_1;
+ A[324] = -0.516699735449726*G0_0_0 - 0.93005952380952*G0_0_1 - 0.930059523809526*G0_1_0 + 0.680321318342152*G0_1_1;
+ A[325] = 0.262655698853615*G0_0_1 + 0.262655698853611*G0_1_0 - 0.465029761904765*G0_1_1;
+ A[326] = 0.503782242063505*G0_0_0 - 1.15826857363315*G0_0_1 - 1.15826857363315*G0_1_0 - 2.8203193893298*G0_1_1;
+ A[327] = -0.611428020282206*G0_0_0 + 2.04096395502643*G0_0_1 + 2.04096395502644*G0_1_0 + 0.731991291887105*G0_1_1;
+ A[328] = 0.680321318342169*G0_0_0 - 0.93005952380951*G0_0_1 - 0.930059523809514*G0_1_0 - 0.516699735449723*G0_1_1;
+ A[329] = -0.465029761904772*G0_0_0 + 0.262655698853602*G0_0_1 + 0.262655698853607*G0_1_0 - 1.78531234934498e-14*G0_1_1;
+ A[330] = 7.06156305114637*G0_0_0 + 3.10019841269839*G0_0_1 + 3.10019841269839*G0_1_0 + 7.06156305114637*G0_1_1;
+ A[331] = -6.32957175925923*G0_0_0 - 3.05714010141091*G0_0_1 - 3.05714010141091*G0_1_0 - 1.80844907407404*G0_1_1;
+ A[332] = 2.75573192239857*G0_0_0 + 1.37786596119927*G0_0_1 + 1.37786596119927*G0_1_0 + 1.03339947089946*G0_1_1;
+ A[333] = -1.80844907407404*G0_0_0 - 3.0571401014109*G0_0_1 - 3.05714010141091*G0_1_0 - 6.32957175925925*G0_1_1;
+ A[334] = 1.42092427248675*G0_0_0 + 1.46398258377423*G0_0_1 + 1.46398258377423*G0_1_0 + 1.42092427248674*G0_1_1;
+ A[335] = 1.03339947089945*G0_0_0 + 1.37786596119928*G0_0_1 + 1.37786596119929*G0_1_0 + 2.75573192239858*G0_1_1;
+ A[336] = -0.0538228891093442*G0_0_0 - 0.0538228891093437*G0_0_1 - 0.0538228891093426*G0_1_0 - 0.0538228891093416*G0_1_1;
+ A[337] = -0.0538228891093545*G0_0_0 - 1.19767477185784e-14*G0_1_0;
A[338] = 0.107645778218696*G0_1_1;
- A[339] = 1.35633680555553*G0_0_0 + 0.572675540123437*G0_0_1 + 0.572675540123428*G0_1_0 - 3.28695404228085e-14*G0_1_1;
- A[340] = 0.387524801587286*G0_0_0 + 0.859013310185163*G0_0_1 + 0.859013310185169*G0_1_0 + 1.01187031525572*G0_1_1;
- A[341] = 0.0430583112874692*G0_0_0 + 0.374607308201046*G0_0_1 + 0.374607308201052*G0_1_0 + 1.03339947089945*G0_1_1;
- A[342] = -0.0731991291887117*G0_0_1 - 0.0731991291887087*G0_1_0 - 0.419818535052907*G0_1_1;
- A[343] = 1.35633680555555*G0_0_0 + 0.783661265432091*G0_0_1 + 0.78366126543209*G0_1_0 + 0.210985725308632*G0_1_1;
- A[344] = 0.387524801587303*G0_0_0 - 0.471488508597883*G0_0_1 - 0.471488508597876*G0_1_0 - 0.318631503527328*G0_1_1;
- A[345] = 0.0430583112874743*G0_0_0 - 0.331548996913578*G0_0_1 - 0.331548996913583*G0_1_0 + 0.32724316578483*G0_1_1;
- A[346] = 0.0731991291887117*G0_0_1 + 0.0731991291887095*G0_1_0 - 0.273420276675485*G0_1_1;
- A[347] = 0.049517057980578*G0_0_0 + 0.622192598104038*G0_0_1 + 0.622192598104034*G0_1_0 + 1.19486813822749*G0_1_1;
- A[348] = 0.00430583112878251*G0_0_0 - 2.40911251653435*G0_0_1 - 2.40911251653435*G0_1_0 - 3.81066054894176*G0_1_1;
- A[349] = 0.00430583112871425*G0_0_0 + 2.4134183476631*G0_0_1 + 2.4134183476631*G0_1_0 + 1.01187031525569*G0_1_1;
- A[350] = 0.049517057980618*G0_0_0 - 0.57267554012344*G0_0_1 - 0.57267554012343*G0_1_0 + 3.21593879998305e-14*G0_1_1;
- A[351] = -6.32957175925922*G0_0_0 - 3.0571401014109*G0_0_1 - 3.05714010141089*G0_1_0 - 1.80844907407403*G0_1_1;
- A[352] = 9.94646990740733*G0_0_0 + 4.97323495370363*G0_0_1 + 4.97323495370363*G0_1_0 + 8.65472056878301*G0_1_1;
- A[353] = -6.32957175925919*G0_0_0 - 3.27243165784826*G0_0_1 - 3.27243165784825*G0_1_0 - 2.0237406305114*G0_1_1;
- A[354] = -0.387524801587313*G0_0_0 + 2.55120494378305*G0_0_1 + 2.55120494378305*G0_1_0 - 0.38752480158733*G0_1_1;
- A[355] = -0.387524801587272*G0_0_0 - 2.93872974537034*G0_0_1 - 2.93872974537034*G0_1_0 - 5.87745949074071*G0_1_1;
- A[356] = -0.0861166225749442*G0_0_0 - 0.0430583112874711*G0_0_1 - 0.0430583112874703*G0_1_0 + 1.42092427248678*G0_1_1;
- A[357] = 0.107645778218691*G0_0_0 + 0.107645778218693*G0_0_1 + 0.10764577821869*G0_1_0 + 0.10764577821869*G0_1_1;
- A[358] = -0.215291556437382*G0_0_0 + 1.21370470097804e-14*G0_1_0;
- A[359] = 0.107645778218697*G0_1_1;
- A[360] = -2.82031938932977*G0_0_0 - 1.66205081569662*G0_0_1 - 1.66205081569661*G0_1_0 + 4.29197693010974e-14*G0_1_1;
- A[361] = 0.731991291887125*G0_0_0 - 1.30897266313932*G0_0_1 - 1.30897266313932*G0_1_0 - 3.96136463844796*G0_1_1;
- A[362] = -0.516699735449729*G0_0_0 + 0.413359788359791*G0_0_1 + 0.413359788359802*G0_1_0 + 2.02374063051148*G0_1_1;
- A[363] = -0.262655698853615*G0_0_1 - 0.262655698853613*G0_1_0 - 0.990341159611995*G0_1_1;
- A[364] = -0.667403824955899*G0_0_0 - 0.404748126102292*G0_0_1 - 0.404748126102295*G0_1_0 - 0.142092427248674*G0_1_1;
- A[365] = -0.344466490299825*G0_0_0 + 0.103339947089946*G0_0_1 + 0.103339947089949*G0_1_0 + 0.0344466490299823*G0_1_1;
- A[366] = -0.516699735449731*G0_0_0 - 0.0688932980599644*G0_0_1 - 0.068893298059959*G0_1_0 + 0.0344466490299808*G0_1_1;
- A[367] = 0.262655698853614*G0_0_1 + 0.262655698853613*G0_1_0 - 0.142092427248678*G0_1_1;
- A[368] = -0.465029761904741*G0_0_0 - 0.727685460758354*G0_0_1 - 0.727685460758357*G0_1_0 - 0.990341159611978*G0_1_1;
- A[369] = 0.680321318342116*G0_0_0 + 1.61038084215164*G0_0_1 + 1.61038084215164*G0_1_0 + 2.02374063051141*G0_1_1;
- A[370] = -0.611428020282149*G0_0_0 - 2.6523919753086*G0_0_1 - 2.6523919753086*G0_1_0 - 3.96136463844792*G0_1_1;
- A[371] = 0.503782242063467*G0_0_0 + 1.66205081569663*G0_0_1 + 1.66205081569662*G0_1_0 - 3.60780199118449e-14*G0_1_1;
- A[372] = 2.75573192239856*G0_0_0 + 1.37786596119927*G0_0_1 + 1.37786596119926*G0_1_0 + 1.03339947089946*G0_1_1;
- A[373] = -6.32957175925919*G0_0_0 - 3.27243165784825*G0_0_1 - 3.27243165784826*G0_1_0 - 2.0237406305114*G0_1_1;
- A[374] = 7.06156305114631*G0_0_0 + 3.9613646384479*G0_0_1 + 3.9613646384479*G0_1_0 + 7.92272927689587*G0_1_1;
- A[375] = 1.42092427248677*G0_0_0 - 0.0430583112874735*G0_0_1 - 0.0430583112874738*G0_1_0 - 0.0861166225749466*G0_1_1;
- A[376] = -1.80844907407408*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733685*G0_1_0 - 2.02374063051147*G0_1_1;
- A[377] = 1.03339947089946*G0_0_0 - 0.344466490299825*G0_0_1 - 0.344466490299842*G0_1_0 + 1.03339947089946*G0_1_1;
- A[378] = -0.0538228891093435*G0_0_0 - 0.0538228891093444*G0_0_1 - 0.0538228891093459*G0_1_0 - 0.053822889109347*G0_1_1;
- A[379] = 0.107645778218696*G0_0_0;
- A[380] = -0.0538228891093493*G0_1_1;
- A[381] = -0.419818535052913*G0_0_0 - 0.0731991291887135*G0_0_1 - 0.0731991291887139*G0_1_0;
- A[382] = 1.03339947089946*G0_0_0 + 0.374607308201056*G0_0_1 + 0.37460730820105*G0_1_0 + 0.0430583112874761*G0_1_1;
- A[383] = 1.0118703152557*G0_0_0 + 0.859013310185156*G0_0_1 + 0.859013310185166*G0_1_0 + 0.387524801587282*G0_1_1;
- A[384] = 0.572675540123451*G0_0_1 + 0.572675540123449*G0_1_0 + 1.35633680555555*G0_1_1;
- A[385] = 1.1948681382275*G0_0_0 + 0.622192598104042*G0_0_1 + 0.62219259810404*G0_1_0 + 0.0495170579805924*G0_1_1;
- A[386] = -3.81066054894177*G0_0_0 - 2.40911251653437*G0_0_1 - 2.40911251653437*G0_1_0 + 0.00430583112875868*G0_1_1;
- A[387] = 1.01187031525571*G0_0_0 + 2.41341834766312*G0_0_1 + 2.41341834766312*G0_1_0 + 0.00430583112873867*G0_1_1;
- A[388] = -0.57267554012345*G0_0_1 - 0.572675540123449*G0_1_0 + 0.0495170579806051*G0_1_1;
- A[389] = 0.210985725308634*G0_0_0 + 0.78366126543209*G0_0_1 + 0.783661265432093*G0_1_0 + 1.35633680555555*G0_1_1;
- A[390] = -0.318631503527332*G0_0_0 - 0.471488508597879*G0_0_1 - 0.471488508597882*G0_1_0 + 0.387524801587311*G0_1_1;
- A[391] = 0.327243165784832*G0_0_0 - 0.331548996913577*G0_0_1 - 0.331548996913577*G0_1_0 + 0.043058311287478*G0_1_1;
- A[392] = -0.273420276675488*G0_0_0 + 0.0731991291887106*G0_0_1 + 0.0731991291887093*G0_1_0;
- A[393] = -1.80844907407404*G0_0_0 - 3.0571401014109*G0_0_1 - 3.0571401014109*G0_1_0 - 6.32957175925923*G0_1_1;
- A[394] = -0.387524801587313*G0_0_0 + 2.55120494378305*G0_0_1 + 2.55120494378305*G0_1_0 - 0.38752480158733*G0_1_1;
- A[395] = 1.42092427248677*G0_0_0 - 0.043058311287474*G0_0_1 - 0.0430583112874735*G0_1_0 - 0.0861166225749467*G0_1_1;
- A[396] = 8.65472056878301*G0_0_0 + 4.97323495370365*G0_0_1 + 4.97323495370365*G0_1_0 + 9.94646990740736*G0_1_1;
- A[397] = -5.8774594907407*G0_0_0 - 2.93872974537033*G0_0_1 - 2.93872974537033*G0_1_0 - 0.38752480158727*G0_1_1;
- A[398] = -2.02374063051141*G0_0_0 - 3.27243165784829*G0_0_1 - 3.27243165784828*G0_1_0 - 6.32957175925922*G0_1_1;
- A[399] = 0.107645778218694*G0_0_0 + 0.107645778218693*G0_0_1 + 0.107645778218695*G0_1_0 + 0.107645778218696*G0_1_1;
- A[400] = -0.0538228891093484*G0_0_0;
- A[401] = -0.0538228891093528*G0_1_1;
- A[402] = 1.19486813822751*G0_0_0 + 0.57267554012345*G0_0_1 + 0.572675540123449*G0_1_0;
- A[403] = -3.81066054894177*G0_0_0 - 1.40154803240739*G0_0_1 - 1.4015480324074*G0_1_0 + 1.01187031525573*G0_1_1;
- A[404] = 1.01187031525574*G0_0_0 - 1.40154803240738*G0_0_1 - 1.4015480324074*G0_1_0 - 3.81066054894178*G0_1_1;
- A[405] = 0.572675540123454*G0_0_1 + 0.572675540123438*G0_1_0 + 1.1948681382275*G0_1_1;
- A[406] = -0.419818535052908*G0_0_0 - 0.346619405864191*G0_0_1 - 0.346619405864178*G0_1_0 - 0.273420276675479*G0_1_1;
- A[407] = 1.03339947089947*G0_0_0 + 0.658792162698405*G0_0_1 + 0.658792162698401*G0_1_0 + 0.327243165784824*G0_1_1;
- A[408] = 1.01187031525573*G0_0_0 + 0.152857005070546*G0_0_1 + 0.15285700507055*G0_1_0 - 0.318631503527336*G0_1_1;
- A[409] = -0.572675540123452*G0_0_1 - 0.572675540123439*G0_1_0 + 0.210985725308647*G0_1_1;
- A[410] = -0.273420276675481*G0_0_0 - 0.346619405864191*G0_0_1 - 0.346619405864189*G0_1_0 - 0.419818535052891*G0_1_1;
- A[411] = 0.327243165784827*G0_0_0 + 0.658792162698402*G0_0_1 + 0.658792162698404*G0_1_0 + 1.03339947089947*G0_1_1;
- A[412] = -0.318631503527337*G0_0_0 + 0.152857005070543*G0_0_1 + 0.152857005070549*G0_1_0 + 1.01187031525574*G0_1_1;
- A[413] = 0.210985725308648*G0_0_0 - 0.572675540123449*G0_0_1 - 0.572675540123456*G0_1_0;
- A[414] = 1.42092427248674*G0_0_0 + 1.46398258377422*G0_0_1 + 1.46398258377422*G0_1_0 + 1.42092427248674*G0_1_1;
- A[415] = -0.387524801587272*G0_0_0 - 2.93872974537034*G0_0_1 - 2.93872974537034*G0_1_0 - 5.87745949074071*G0_1_1;
- A[416] = -1.80844907407408*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733685*G0_1_0 - 2.02374063051147*G0_1_1;
- A[417] = -5.8774594907407*G0_0_0 - 2.93872974537033*G0_0_1 - 2.93872974537033*G0_1_0 - 0.38752480158727*G0_1_1;
- A[418] = 8.65472056878301*G0_0_0 + 3.68148561507933*G0_0_1 + 3.68148561507933*G0_1_0 + 8.65472056878302*G0_1_1;
- A[419] = -2.02374063051147*G0_0_0 + 1.24869102733684*G0_0_1 + 1.24869102733685*G0_1_0 - 1.80844907407407*G0_1_1;
- A[420] = 0.10764577821869*G0_0_0 + 0.10764577821869*G0_0_1 + 0.107645778218692*G0_1_0 + 0.107645778218692*G0_1_1;
- A[421] = 0.107645778218692*G0_0_0;
- A[422] = -0.215291556437384*G0_1_1;
- A[423] = -0.990341159611982*G0_0_0 - 0.262655698853615*G0_0_1 - 0.262655698853614*G0_1_0;
- A[424] = 2.02374063051145*G0_0_0 + 0.413359788359791*G0_0_1 + 0.41335978835979*G0_1_0 - 0.516699735449733*G0_1_1;
- A[425] = -3.96136463844793*G0_0_0 - 1.30897266313931*G0_0_1 - 1.30897266313931*G0_1_0 + 0.731991291887138*G0_1_1;
- A[426] = -1.66205081569664*G0_0_1 - 1.66205081569663*G0_1_0 - 2.82031938932979*G0_1_1;
- A[427] = -0.990341159611971*G0_0_0 - 0.727685460758356*G0_0_1 - 0.727685460758366*G0_1_0 - 0.465029761904751*G0_1_1;
- A[428] = 2.02374063051143*G0_0_0 + 1.61038084215164*G0_0_1 + 1.61038084215165*G0_1_0 + 0.680321318342135*G0_1_1;
- A[429] = -3.96136463844793*G0_0_0 - 2.65239197530861*G0_0_1 - 2.65239197530862*G0_1_0 - 0.611428020282176*G0_1_1;
- A[430] = 1.66205081569664*G0_0_1 + 1.66205081569663*G0_1_0 + 0.503782242063485*G0_1_1;
- A[431] = -0.142092427248668*G0_0_0 - 0.40474812610229*G0_0_1 - 0.404748126102287*G0_1_0 - 0.667403824955905*G0_1_1;
- A[432] = 0.0344466490299792*G0_0_0 + 0.103339947089942*G0_0_1 + 0.103339947089946*G0_1_0 - 0.344466490299829*G0_1_1;
- A[433] = 0.034446649029982*G0_0_0 - 0.0688932980599619*G0_0_1 - 0.0688932980599655*G0_1_0 - 0.516699735449734*G0_1_1;
+ A[339] = 1.35633680555553*G0_0_0 + 0.572675540123437*G0_0_1 + 0.572675540123428*G0_1_0 - 3.38711263897506e-14*G0_1_1;
+ A[340] = 0.38752480158728*G0_0_0 + 0.859013310185157*G0_0_1 + 0.859013310185163*G0_1_0 + 1.01187031525571*G0_1_1;
+ A[341] = 0.0430583112874718*G0_0_0 + 0.37460730820105*G0_0_1 + 0.374607308201054*G0_1_0 + 1.03339947089946*G0_1_1;
+ A[342] = -0.0731991291887162*G0_0_1 - 0.0731991291887123*G0_1_0 - 0.419818535052912*G0_1_1;
+ A[343] = 1.35633680555555*G0_0_0 + 0.783661265432096*G0_0_1 + 0.783661265432093*G0_1_0 + 0.210985725308632*G0_1_1;
+ A[344] = 0.387524801587306*G0_0_0 - 0.471488508597885*G0_0_1 - 0.47148850859788*G0_1_0 - 0.318631503527332*G0_1_1;
+ A[345] = 0.0430583112874754*G0_0_0 - 0.331548996913578*G0_0_1 - 0.331548996913582*G0_1_0 + 0.327243165784834*G0_1_1;
+ A[346] = 0.0731991291887097*G0_0_1 + 0.0731991291887123*G0_1_0 - 0.273420276675488*G0_1_1;
+ A[347] = 0.04951705798058*G0_0_0 + 0.622192598104038*G0_0_1 + 0.622192598104035*G0_1_0 + 1.19486813822749*G0_1_1;
+ A[348] = 0.00430583112878189*G0_0_0 - 2.40911251653436*G0_0_1 - 2.40911251653436*G0_1_0 - 3.81066054894177*G0_1_1;
+ A[349] = 0.00430583112871451*G0_0_0 + 2.41341834766311*G0_0_1 + 2.4134183476631*G0_1_0 + 1.01187031525569*G0_1_1;
+ A[350] = 0.0495170579806194*G0_0_0 - 0.572675540123439*G0_0_1 - 0.572675540123429*G0_1_0 + 3.31982705215061e-14*G0_1_1;
+ A[351] = -6.32957175925923*G0_0_0 - 3.05714010141091*G0_0_1 - 3.05714010141091*G0_1_0 - 1.80844907407404*G0_1_1;
+ A[352] = 9.94646990740737*G0_0_0 + 4.97323495370366*G0_0_1 + 4.97323495370366*G0_1_0 + 8.65472056878304*G0_1_1;
+ A[353] = -6.32957175925922*G0_0_0 - 3.27243165784826*G0_0_1 - 3.27243165784827*G0_1_0 - 2.0237406305114*G0_1_1;
+ A[354] = -0.387524801587326*G0_0_0 + 2.55120494378305*G0_0_1 + 2.55120494378306*G0_1_0 - 0.387524801587332*G0_1_1;
+ A[355] = -0.387524801587264*G0_0_0 - 2.93872974537035*G0_0_1 - 2.93872974537034*G0_1_0 - 5.87745949074073*G0_1_1;
+ A[356] = -0.0861166225749491*G0_0_0 - 0.0430583112874673*G0_0_1 - 0.0430583112874748*G0_1_0 + 1.42092427248678*G0_1_1;
+ A[357] = 0.107645778218692*G0_0_0 + 0.107645778218694*G0_0_1 + 0.10764577821869*G0_1_0 + 0.10764577821869*G0_1_1;
+ A[358] = -0.215291556437382*G0_0_0 + 1.06010577920201e-14*G0_1_0;
+ A[359] = 0.107645778218696*G0_1_1;
+ A[360] = -2.82031938932978*G0_0_0 - 1.66205081569662*G0_0_1 - 1.66205081569662*G0_1_0 + 3.76831812282097e-14*G0_1_1;
+ A[361] = 0.731991291887133*G0_0_0 - 1.30897266313931*G0_0_1 - 1.30897266313933*G0_1_0 - 3.96136463844797*G0_1_1;
+ A[362] = -0.516699735449731*G0_0_0 + 0.413359788359791*G0_0_1 + 0.413359788359802*G0_1_0 + 2.02374063051149*G0_1_1;
+ A[363] = -0.26265569885361*G0_0_1 - 0.262655698853615*G0_1_0 - 0.990341159611998*G0_1_1;
+ A[364] = -0.667403824955903*G0_0_0 - 0.404748126102295*G0_0_1 - 0.404748126102296*G0_1_0 - 0.142092427248674*G0_1_1;
+ A[365] = -0.344466490299828*G0_0_0 + 0.103339947089948*G0_0_1 + 0.103339947089947*G0_1_0 + 0.0344466490299801*G0_1_1;
+ A[366] = -0.516699735449733*G0_0_0 - 0.0688932980599654*G0_0_1 - 0.0688932980599591*G0_1_0 + 0.0344466490299841*G0_1_1;
+ A[367] = 0.262655698853616*G0_0_1 + 0.262655698853615*G0_1_0 - 0.142092427248679*G0_1_1;
+ A[368] = -0.465029761904743*G0_0_0 - 0.727685460758356*G0_0_1 - 0.727685460758355*G0_1_0 - 0.990341159611981*G0_1_1;
+ A[369] = 0.680321318342118*G0_0_0 + 1.61038084215164*G0_0_1 + 1.61038084215164*G0_1_0 + 2.02374063051142*G0_1_1;
+ A[370] = -0.61142802028215*G0_0_0 - 2.65239197530861*G0_0_1 - 2.65239197530861*G0_1_0 - 3.96136463844794*G0_1_1;
+ A[371] = 0.503782242063468*G0_0_0 + 1.66205081569663*G0_0_1 + 1.66205081569663*G0_1_0 - 3.22801681218454e-14*G0_1_1;
+ A[372] = 2.75573192239857*G0_0_0 + 1.37786596119927*G0_0_1 + 1.37786596119927*G0_1_0 + 1.03339947089946*G0_1_1;
+ A[373] = -6.32957175925922*G0_0_0 - 3.27243165784827*G0_0_1 - 3.27243165784826*G0_1_0 - 2.0237406305114*G0_1_1;
+ A[374] = 7.06156305114633*G0_0_0 + 3.96136463844791*G0_0_1 + 3.96136463844791*G0_1_0 + 7.92272927689589*G0_1_1;
+ A[375] = 1.42092427248679*G0_0_0 - 0.0430583112874649*G0_0_1 - 0.0430583112874601*G0_1_0 - 0.086116622574935*G0_1_1;
+ A[376] = -1.80844907407409*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733684*G0_1_0 - 2.02374063051149*G0_1_1;
+ A[377] = 1.03339947089946*G0_0_0 - 0.344466490299832*G0_0_1 - 0.344466490299841*G0_1_0 + 1.03339947089945*G0_1_1;
+ A[378] = -0.053822889109343*G0_0_0 - 0.0538228891093439*G0_0_1 - 0.0538228891093489*G0_1_0 - 0.0538228891093498*G0_1_1;
+ A[379] = 0.107645778218697*G0_0_0;
+ A[380] = -0.0538228891093517*G0_1_1;
+ A[381] = -0.419818535052917*G0_0_0 - 0.0731991291887132*G0_0_1 - 0.0731991291887148*G0_1_0;
+ A[382] = 1.03339947089946*G0_0_0 + 0.374607308201049*G0_0_1 + 0.374607308201047*G0_1_0 + 0.0430583112874674*G0_1_1;
+ A[383] = 1.01187031525571*G0_0_0 + 0.859013310185168*G0_0_1 + 0.859013310185181*G0_1_0 + 0.387524801587294*G0_1_1;
+ A[384] = 0.572675540123452*G0_0_1 + 0.572675540123446*G0_1_0 + 1.35633680555555*G0_1_1;
+ A[385] = 1.1948681382275*G0_0_0 + 0.622192598104043*G0_0_1 + 0.622192598104034*G0_1_0 + 0.0495170579805962*G0_1_1;
+ A[386] = -3.81066054894179*G0_0_0 - 2.40911251653438*G0_0_1 - 2.40911251653437*G0_1_0 + 0.00430583112875935*G0_1_1;
+ A[387] = 1.01187031525572*G0_0_0 + 2.41341834766313*G0_0_1 + 2.41341834766313*G0_1_0 + 0.00430583112874044*G0_1_1;
+ A[388] = -0.572675540123456*G0_0_1 - 0.572675540123448*G0_1_0 + 0.0495170579806036*G0_1_1;
+ A[389] = 0.210985725308633*G0_0_0 + 0.783661265432092*G0_0_1 + 0.783661265432099*G0_1_0 + 1.35633680555554*G0_1_1;
+ A[390] = -0.318631503527333*G0_0_0 - 0.47148850859788*G0_0_1 - 0.471488508597884*G0_1_0 + 0.387524801587314*G0_1_1;
+ A[391] = 0.327243165784832*G0_0_0 - 0.331548996913585*G0_0_1 - 0.331548996913579*G0_1_0 + 0.0430583112874713*G0_1_1;
+ A[392] = -0.273420276675487*G0_0_0 + 0.0731991291887115*G0_0_1 + 0.0731991291887111*G0_1_0;
+ A[393] = -1.80844907407404*G0_0_0 - 3.05714010141091*G0_0_1 - 3.0571401014109*G0_1_0 - 6.32957175925925*G0_1_1;
+ A[394] = -0.387524801587326*G0_0_0 + 2.55120494378306*G0_0_1 + 2.55120494378305*G0_1_0 - 0.387524801587332*G0_1_1;
+ A[395] = 1.42092427248679*G0_0_0 - 0.0430583112874602*G0_0_1 - 0.043058311287465*G0_1_0 - 0.086116622574935*G0_1_1;
+ A[396] = 8.65472056878304*G0_0_0 + 4.97323495370366*G0_0_1 + 4.97323495370366*G0_1_0 + 9.9464699074074*G0_1_1;
+ A[397] = -5.87745949074072*G0_0_0 - 2.93872974537035*G0_0_1 - 2.93872974537034*G0_1_0 - 0.38752480158728*G0_1_1;
+ A[398] = -2.02374063051144*G0_0_0 - 3.2724316578483*G0_0_1 - 3.27243165784831*G0_1_0 - 6.32957175925925*G0_1_1;
+ A[399] = 0.107645778218693*G0_0_0 + 0.107645778218693*G0_0_1 + 0.107645778218696*G0_1_0 + 0.107645778218696*G0_1_1;
+ A[400] = -0.0538228891093504*G0_0_0;
+ A[401] = -0.0538228891093531*G0_1_1;
+ A[402] = 1.19486813822751*G0_0_0 + 0.572675540123447*G0_0_1 + 0.572675540123455*G0_1_0;
+ A[403] = -3.81066054894178*G0_0_0 - 1.40154803240739*G0_0_1 - 1.4015480324074*G0_1_0 + 1.01187031525574*G0_1_1;
+ A[404] = 1.01187031525574*G0_0_0 - 1.4015480324074*G0_0_1 - 1.4015480324074*G0_1_0 - 3.81066054894179*G0_1_1;
+ A[405] = 0.572675540123454*G0_0_1 + 0.572675540123444*G0_1_0 + 1.19486813822751*G0_1_1;
+ A[406] = -0.419818535052905*G0_0_0 - 0.34661940586419*G0_0_1 - 0.346619405864182*G0_1_0 - 0.273420276675481*G0_1_1;
+ A[407] = 1.03339947089947*G0_0_0 + 0.658792162698406*G0_0_1 + 0.658792162698409*G0_1_0 + 0.327243165784831*G0_1_1;
+ A[408] = 1.01187031525573*G0_0_0 + 0.152857005070545*G0_0_1 + 0.152857005070547*G0_1_0 - 0.318631503527343*G0_1_1;
+ A[409] = -0.572675540123452*G0_0_1 - 0.572675540123444*G0_1_0 + 0.210985725308652*G0_1_1;
+ A[410] = -0.273420276675478*G0_0_0 - 0.34661940586419*G0_0_1 - 0.346619405864191*G0_1_0 - 0.419818535052892*G0_1_1;
+ A[411] = 0.327243165784826*G0_0_0 + 0.658792162698406*G0_0_1 + 0.658792162698406*G0_1_0 + 1.03339947089947*G0_1_1;
+ A[412] = -0.318631503527338*G0_0_0 + 0.152857005070547*G0_0_1 + 0.152857005070551*G0_1_0 + 1.01187031525574*G0_1_1;
+ A[413] = 0.210985725308648*G0_0_0 - 0.572675540123447*G0_0_1 - 0.57267554012346*G0_1_0;
+ A[414] = 1.42092427248675*G0_0_0 + 1.46398258377423*G0_0_1 + 1.46398258377423*G0_1_0 + 1.42092427248674*G0_1_1;
+ A[415] = -0.387524801587265*G0_0_0 - 2.93872974537034*G0_0_1 - 2.93872974537035*G0_1_0 - 5.87745949074073*G0_1_1;
+ A[416] = -1.80844907407409*G0_0_0 + 1.24869102733684*G0_0_1 + 1.24869102733685*G0_1_0 - 2.02374063051149*G0_1_1;
+ A[417] = -5.87745949074072*G0_0_0 - 2.93872974537034*G0_0_1 - 2.93872974537035*G0_1_0 - 0.38752480158728*G0_1_1;
+ A[418] = 8.65472056878302*G0_0_0 + 3.68148561507933*G0_0_1 + 3.68148561507933*G0_1_0 + 8.65472056878305*G0_1_1;
+ A[419] = -2.02374063051146*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733685*G0_1_0 - 1.80844907407408*G0_1_1;
+ A[420] = 0.107645778218693*G0_0_0 + 0.107645778218692*G0_0_1 + 0.107645778218694*G0_1_0 + 0.107645778218695*G0_1_1;
+ A[421] = 0.107645778218693*G0_0_0;
+ A[422] = -0.215291556437383*G0_1_1;
+ A[423] = -0.990341159611987*G0_0_0 - 0.262655698853617*G0_0_1 - 0.262655698853618*G0_1_0;
+ A[424] = 2.02374063051146*G0_0_0 + 0.413359788359794*G0_0_1 + 0.413359788359795*G0_1_0 - 0.51669973544973*G0_1_1;
+ A[425] = -3.96136463844794*G0_0_0 - 1.30897266313931*G0_0_1 - 1.30897266313932*G0_1_0 + 0.731991291887133*G0_1_1;
+ A[426] = -1.66205081569664*G0_0_1 - 1.66205081569664*G0_1_0 - 2.8203193893298*G0_1_1;
+ A[427] = -0.990341159611981*G0_0_0 - 0.727685460758365*G0_0_1 - 0.727685460758366*G0_1_0 - 0.465029761904756*G0_1_1;
+ A[428] = 2.02374063051145*G0_0_0 + 1.61038084215166*G0_0_1 + 1.61038084215166*G0_1_0 + 0.68032131834214*G0_1_1;
+ A[429] = -3.96136463844795*G0_0_0 - 2.65239197530863*G0_0_1 - 2.65239197530863*G0_1_0 - 0.61142802028218*G0_1_1;
+ A[430] = 1.66205081569665*G0_0_1 + 1.66205081569664*G0_1_0 + 0.503782242063488*G0_1_1;
+ A[431] = -0.142092427248672*G0_0_0 - 0.404748126102293*G0_0_1 - 0.40474812610229*G0_1_0 - 0.667403824955904*G0_1_1;
+ A[432] = 0.0344466490299817*G0_0_0 + 0.103339947089943*G0_0_1 + 0.103339947089947*G0_1_0 - 0.344466490299829*G0_1_1;
+ A[433] = 0.0344466490299816*G0_0_0 - 0.0688932980599621*G0_0_1 - 0.0688932980599656*G0_1_0 - 0.516699735449731*G0_1_1;
A[434] = -0.142092427248675*G0_0_0 + 0.262655698853619*G0_0_1 + 0.262655698853616*G0_1_0;
- A[435] = 1.03339947089944*G0_0_0 + 1.37786596119928*G0_0_1 + 1.37786596119927*G0_1_0 + 2.75573192239857*G0_1_1;
- A[436] = -0.0861166225749441*G0_0_0 - 0.0430583112874703*G0_0_1 - 0.0430583112874711*G0_1_0 + 1.42092427248678*G0_1_1;
- A[437] = 1.03339947089946*G0_0_0 - 0.344466490299842*G0_0_1 - 0.344466490299825*G0_1_0 + 1.03339947089946*G0_1_1;
- A[438] = -2.02374063051141*G0_0_0 - 3.27243165784828*G0_0_1 - 3.27243165784829*G0_1_0 - 6.32957175925922*G0_1_1;
- A[439] = -2.02374063051147*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733684*G0_1_0 - 1.80844907407407*G0_1_1;
- A[440] = 7.92272927689585*G0_0_0 + 3.96136463844793*G0_0_1 + 3.96136463844793*G0_1_0 + 7.06156305114632*G0_1_1;
+ A[435] = 1.03339947089945*G0_0_0 + 1.37786596119929*G0_0_1 + 1.37786596119928*G0_1_0 + 2.75573192239858*G0_1_1;
+ A[436] = -0.0861166225749491*G0_0_0 - 0.0430583112874749*G0_0_1 - 0.0430583112874673*G0_1_0 + 1.42092427248678*G0_1_1;
+ A[437] = 1.03339947089946*G0_0_0 - 0.344466490299841*G0_0_1 - 0.344466490299832*G0_1_0 + 1.03339947089945*G0_1_1;
+ A[438] = -2.02374063051144*G0_0_0 - 3.27243165784831*G0_0_1 - 3.2724316578483*G0_1_0 - 6.32957175925925*G0_1_1;
+ A[439] = -2.02374063051146*G0_0_0 + 1.24869102733685*G0_0_1 + 1.24869102733685*G0_1_0 - 1.80844907407408*G0_1_1;
+ A[440] = 7.92272927689589*G0_0_0 + 3.96136463844795*G0_0_1 + 3.96136463844795*G0_1_0 + 7.06156305114636*G0_1_1;
}
@@ -2343,6 +2719,21 @@ void poisson2d_5_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 10
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 10
+ // quadrature_degree: 10
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 21
// Number of operations (multiply-add pairs) for tensor contraction: 430
@@ -2384,27 +2775,27 @@ void poisson2d_5_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_20 = det*w[0][20]*(1.0);
// Compute element tensor
- A[0] = 0.00138945256132761*G0_0 + 0.000123877456776766*G0_1 + 0.000123877456776766*G0_2 + 0.000363647010782442*G0_3 + 0.000207201813104599*G0_4 + 0.0002072018131046*G0_5 + 0.000363647010782439*G0_6 + 0.00118136348605102*G0_7 - 0.000958243145743175*G0_8 + 0.000462681126743636*G0_9 - 2.29644326866549e-05*G0_10 + 0.00118136348605102*G0_11 - 0.000958243145743178*G0_12 + 0.00046268112674364*G0_13 - 2.29644326866524e-05*G0_14 + 0.00089248136123138*G0_15 - 0.000974683591871131*G0_16 + 0.000 [...]
- A[1] = 0.000123877456776766*G0_0 + 0.00138945256132761*G0_1 + 0.000123877456776766*G0_2 + 0.00118136348605103*G0_3 - 0.000958243145743179*G0_4 + 0.000462681126743645*G0_5 - 2.29644326866583e-05*G0_6 + 0.000363647010782441*G0_7 + 0.000207201813104596*G0_8 + 0.000207201813104598*G0_9 + 0.000363647010782439*G0_10 - 2.2964432686656e-05*G0_11 + 0.000462681126743645*G0_12 - 0.000958243145743184*G0_13 + 0.00118136348605104*G0_14 + 0.000879433388113974*G0_15 - 0.000974683591871123*G0_16 + 0. [...]
- A[2] = 0.000123877456776766*G0_0 + 0.000123877456776766*G0_1 + 0.0013894525613276*G0_2 - 2.29644326866529e-05*G0_3 + 0.000462681126743639*G0_4 - 0.000958243145743175*G0_5 + 0.00118136348605102*G0_6 - 2.29644326866535e-05*G0_7 + 0.000462681126743641*G0_8 - 0.000958243145743179*G0_9 + 0.00118136348605102*G0_10 + 0.000363647010782441*G0_11 + 0.000207201813104597*G0_12 + 0.000207201813104598*G0_13 + 0.000363647010782441*G0_14 + 0.000879433388113972*G0_15 + 0.000649789061247418*G0_16 + 0. [...]
- A[3] = 0.000363647010782442*G0_0 + 0.00118136348605103*G0_1 - 2.29644326866528e-05*G0_2 + 0.0147050657033301*G0_3 - 0.00958373625474352*G0_4 + 0.00770482812583534*G0_5 - 0.00396984582097442*G0_6 - 0.000411011153198676*G0_7 - 0.00144832501603338*G0_8 - 4.56679059109703e-05*G0_9 - 0.00248237688558877*G0_10 - 0.00248237688558879*G0_11 + 0.00576068013134007*G0_12 - 0.00735253285166507*G0_13 + 0.00735253285166507*G0_14 + 0.000782878387045102*G0_15 - 0.00381653213684478*G0_16 + 0.010242658 [...]
- A[4] = 0.000207201813104599*G0_0 - 0.000958243145743179*G0_1 + 0.000462681126743639*G0_2 - 0.00958373625474352*G0_3 + 0.0220771705146713*G0_4 - 0.0134785562302928*G0_5 + 0.00770482812583533*G0_6 - 0.00144832501603339*G0_7 + 0.00281836219336229*G0_8 - 0.00135698920421148*G0_9 + 0.00576068013134005*G0_10 - 4.56679059109569e-05*G0_11 - 0.00135698920421149*G0_12 + 0.00294884192453649*G0_13 - 0.00735253285166505*G0_14 + 0.00313151354818032*G0_15 - 0.00548014870931555*G0_16 - 0.00143527704 [...]
- A[5] = 0.0002072018131046*G0_0 + 0.000462681126743645*G0_1 - 0.000958243145743175*G0_2 + 0.00770482812583534*G0_3 - 0.0134785562302928*G0_4 + 0.0220771705146713*G0_5 - 0.00958373625474352*G0_6 - 4.5667905910974e-05*G0_7 - 0.00135698920421146*G0_8 + 0.00294884192453646*G0_9 - 0.00735253285166504*G0_10 - 0.00144832501603341*G0_11 + 0.0028183621933623*G0_12 - 0.00135698920421149*G0_13 + 0.00576068013134006*G0_14 + 0.00313151354818032*G0_15 - 0.000587158790283826*G0_16 + 0.00508870951579 [...]
- A[6] = 0.000363647010782439*G0_0 - 2.29644326866583e-05*G0_1 + 0.00118136348605102*G0_2 - 0.00396984582097442*G0_3 + 0.00770482812583533*G0_4 - 0.00958373625474353*G0_5 + 0.0147050657033301*G0_6 - 0.00248237688558877*G0_7 + 0.00576068013134004*G0_8 - 0.00735253285166505*G0_9 + 0.00735253285166504*G0_10 - 0.000411011153198661*G0_11 - 0.00144832501603341*G0_12 - 4.56679059109563e-05*G0_13 - 0.00248237688558878*G0_14 + 0.000782878387045054*G0_15 - 0.00137003717732887*G0_16 - 0.002805314 [...]
- A[7] = 0.00118136348605102*G0_0 + 0.000363647010782441*G0_1 - 2.29644326866535e-05*G0_2 - 0.000411011153198676*G0_3 - 0.00144832501603339*G0_4 - 4.56679059109742e-05*G0_5 - 0.00248237688558877*G0_6 + 0.0147050657033301*G0_7 - 0.0095837362547435*G0_8 + 0.00770482812583533*G0_9 - 0.00396984582097443*G0_10 + 0.00735253285166505*G0_11 - 0.00735253285166505*G0_12 + 0.00576068013134007*G0_13 - 0.00248237688558878*G0_14 + 0.0102426588971732*G0_15 - 0.00381653213684478*G0_16 + 0.000782878387 [...]
- A[8] = -0.000958243145743174*G0_0 + 0.000207201813104596*G0_1 + 0.000462681126743641*G0_2 - 0.00144832501603338*G0_3 + 0.00281836219336229*G0_4 - 0.00135698920421146*G0_5 + 0.00576068013134004*G0_6 - 0.0095837362547435*G0_7 + 0.0220771705146712*G0_8 - 0.0134785562302928*G0_9 + 0.00770482812583533*G0_10 - 0.00735253285166504*G0_11 + 0.00294884192453646*G0_12 - 0.00135698920421147*G0_13 - 4.56679059109592e-05*G0_14 - 0.00143527704291599*G0_15 - 0.00548014870931555*G0_16 + 0.00313151354 [...]
- A[9] = 0.000462681126743636*G0_0 + 0.000207201813104598*G0_1 - 0.000958243145743179*G0_2 - 4.56679059109705e-05*G0_3 - 0.00135698920421148*G0_4 + 0.00294884192453646*G0_5 - 0.00735253285166505*G0_6 + 0.00770482812583533*G0_7 - 0.0134785562302928*G0_8 + 0.0220771705146713*G0_9 - 0.00958373625474354*G0_10 + 0.00576068013134005*G0_11 - 0.00135698920421148*G0_12 + 0.00281836219336229*G0_13 - 0.00144832501603341*G0_14 + 0.00508870951579303*G0_15 - 0.00058715879028382*G0_16 + 0.00313151354 [...]
- A[10] = -2.29644326866549e-05*G0_0 + 0.000363647010782439*G0_1 + 0.00118136348605102*G0_2 - 0.00248237688558877*G0_3 + 0.00576068013134005*G0_4 - 0.00735253285166504*G0_5 + 0.00735253285166504*G0_6 - 0.00396984582097443*G0_7 + 0.00770482812583533*G0_8 - 0.00958373625474354*G0_9 + 0.0147050657033301*G0_10 - 0.00248237688558878*G0_11 - 4.56679059109699e-05*G0_12 - 0.0014483250160334*G0_13 - 0.000411011153198663*G0_14 - 0.0028053142202449*G0_15 - 0.00137003717732888*G0_16 + 0.0007828783 [...]
- A[11] = 0.00118136348605102*G0_0 - 2.2964432686656e-05*G0_1 + 0.000363647010782441*G0_2 - 0.00248237688558879*G0_3 - 4.5667905910957e-05*G0_4 - 0.00144832501603341*G0_5 - 0.000411011153198661*G0_6 + 0.00735253285166505*G0_7 - 0.00735253285166504*G0_8 + 0.00576068013134005*G0_9 - 0.00248237688558878*G0_10 + 0.0147050657033301*G0_11 - 0.00958373625474354*G0_12 + 0.00770482812583536*G0_13 - 0.00396984582097444*G0_14 + 0.0102426588971732*G0_15 + 9.78597983806283e-05*G0_16 - 0.00280531422 [...]
- A[12] = -0.000958243145743178*G0_0 + 0.000462681126743645*G0_1 + 0.000207201813104597*G0_2 + 0.00576068013134007*G0_3 - 0.00135698920421149*G0_4 + 0.0028183621933623*G0_5 - 0.00144832501603341*G0_6 - 0.00735253285166505*G0_7 + 0.00294884192453646*G0_8 - 0.00135698920421148*G0_9 - 4.56679059109699e-05*G0_10 - 0.00958373625474354*G0_11 + 0.0220771705146713*G0_12 - 0.0134785562302928*G0_13 + 0.00770482812583536*G0_14 - 0.001435277042916*G0_15 + 0.00528442911255429*G0_16 + 0.005088709515 [...]
- A[13] = 0.00046268112674364*G0_0 - 0.000958243145743183*G0_1 + 0.000207201813104598*G0_2 - 0.00735253285166507*G0_3 + 0.00294884192453649*G0_4 - 0.00135698920421149*G0_5 - 4.56679059109561e-05*G0_6 + 0.00576068013134007*G0_7 - 0.00135698920421147*G0_8 + 0.00281836219336229*G0_9 - 0.0014483250160334*G0_10 + 0.00770482812583536*G0_11 - 0.0134785562302928*G0_12 + 0.0220771705146713*G0_13 - 0.00958373625474357*G0_14 + 0.00508870951579304*G0_15 + 0.0052844291125543*G0_16 - 0.0014352770429 [...]
- A[14] = -2.29644326866525e-05*G0_0 + 0.00118136348605104*G0_1 + 0.000363647010782441*G0_2 + 0.00735253285166507*G0_3 - 0.00735253285166506*G0_4 + 0.00576068013134006*G0_5 - 0.00248237688558878*G0_6 - 0.00248237688558878*G0_7 - 4.56679059109593e-05*G0_8 - 0.00144832501603341*G0_9 - 0.000411011153198664*G0_10 - 0.00396984582097444*G0_11 + 0.00770482812583536*G0_12 - 0.00958373625474357*G0_13 + 0.0147050657033301*G0_14 - 0.00280531422024487*G0_15 + 9.78597983806252e-05*G0_16 + 0.0102426 [...]
- A[15] = 0.00089248136123138*G0_0 + 0.000879433388113974*G0_1 + 0.000879433388113972*G0_2 + 0.000782878387045102*G0_3 + 0.00313151354818032*G0_4 + 0.00313151354818032*G0_5 + 0.000782878387045054*G0_6 + 0.0102426588971732*G0_7 - 0.00143527704291599*G0_8 + 0.00508870951579303*G0_9 - 0.0028053142202449*G0_10 + 0.0102426588971732*G0_11 - 0.001435277042916*G0_12 + 0.00508870951579304*G0_13 - 0.00280531422024487*G0_14 + 0.0704590548340573*G0_15 - 0.0156575677409016*G0_16 + 0.011743175805676 [...]
- A[16] = -0.000974683591871131*G0_0 - 0.000974683591871123*G0_1 + 0.000649789061247419*G0_2 - 0.00381653213684478*G0_3 - 0.00548014870931555*G0_4 - 0.000587158790283826*G0_5 - 0.00137003717732887*G0_6 - 0.00381653213684478*G0_7 - 0.00548014870931555*G0_8 - 0.00058715879028382*G0_9 - 0.00137003717732888*G0_10 + 9.78597983806269e-05*G0_11 + 0.00528442911255429*G0_12 + 0.00528442911255429*G0_13 + 9.78597983806255e-05*G0_14 - 0.0156575677409016*G0_15 + 0.0763306427368953*G0_16 - 0.0156575 [...]
- A[17] = 0.000879433388113973*G0_0 + 0.000892481361231397*G0_1 + 0.00087943338811397*G0_2 + 0.0102426588971732*G0_3 - 0.00143527704291599*G0_4 + 0.00508870951579305*G0_5 - 0.0028053142202449*G0_6 + 0.000782878387045114*G0_7 + 0.00313151354818031*G0_8 + 0.00313151354818031*G0_9 + 0.00078287838704507*G0_10 - 0.00280531422024486*G0_11 + 0.00508870951579302*G0_12 - 0.001435277042916*G0_13 + 0.0102426588971732*G0_14 + 0.0117431758056762*G0_15 - 0.0156575677409016*G0_16 + 0.0704590548340572 [...]
- A[18] = -0.000974683591871129*G0_0 + 0.000649789061247414*G0_1 - 0.000974683591871128*G0_2 - 0.0013700371773289*G0_3 - 0.000587158790283816*G0_4 - 0.00548014870931558*G0_5 - 0.00381653213684476*G0_6 + 9.78597983806163e-05*G0_7 + 0.00528442911255428*G0_8 + 0.00528442911255426*G0_9 + 9.78597983806456e-05*G0_10 - 0.00381653213684478*G0_11 - 0.00548014870931556*G0_12 - 0.000587158790283819*G0_13 - 0.00137003717732889*G0_14 - 0.0156575677409016*G0_15 - 0.0117431758056762*G0_16 + 0.0039143 [...]
- A[19] = 0.000649789061247423*G0_0 - 0.000974683591871121*G0_1 - 0.000974683591871128*G0_2 + 9.78597983806424e-05*G0_3 + 0.00528442911255431*G0_4 + 0.00528442911255432*G0_5 + 9.78597983806291e-05*G0_6 - 0.0013700371773289*G0_7 - 0.000587158790283805*G0_8 - 0.00548014870931557*G0_9 - 0.00381653213684477*G0_10 - 0.00137003717732889*G0_11 - 0.00058715879028382*G0_12 - 0.00548014870931556*G0_13 - 0.00381653213684475*G0_14 + 0.0039143919352254*G0_15 - 0.0117431758056762*G0_16 - 0.015657567 [...]
- A[20] = 0.00087943338811397*G0_0 + 0.000879433388113975*G0_1 + 0.000892481361231383*G0_2 - 0.00280531422024484*G0_3 + 0.00508870951579303*G0_4 - 0.00143527704291596*G0_5 + 0.0102426588971731*G0_6 - 0.00280531422024483*G0_7 + 0.00508870951579299*G0_8 - 0.00143527704291599*G0_9 + 0.0102426588971731*G0_10 + 0.000782878387045098*G0_11 + 0.00313151354818029*G0_12 + 0.00313151354818032*G0_13 + 0.000782878387045092*G0_14 + 0.0117431758056762*G0_15 + 0.00391439193522542*G0_16 + 0.01174317580 [...]
+ A[0] = 0.00138945256132756*G0_0 + 0.000123877456776762*G0_1 + 0.000123877456776762*G0_2 + 0.000363647010782428*G0_3 + 0.00020720181310459*G0_4 + 0.000207201813104588*G0_5 + 0.000363647010782428*G0_6 + 0.00118136348605098*G0_7 - 0.000958243145743139*G0_8 + 0.000462681126743622*G0_9 - 2.29644326866518e-05*G0_10 + 0.00118136348605098*G0_11 - 0.000958243145743143*G0_12 + 0.000462681126743625*G0_13 - 2.29644326866519e-05*G0_14 + 0.000892481361231349*G0_15 - 0.000974683591871097*G0_16 + 0. [...]
+ A[1] = 0.000123877456776762*G0_0 + 0.00138945256132756*G0_1 + 0.000123877456776762*G0_2 + 0.00118136348605098*G0_3 - 0.000958243145743146*G0_4 + 0.000462681126743627*G0_5 - 2.29644326866565e-05*G0_6 + 0.000363647010782428*G0_7 + 0.00020720181310459*G0_8 + 0.000207201813104592*G0_9 + 0.000363647010782426*G0_10 - 2.29644326866552e-05*G0_11 + 0.000462681126743629*G0_12 - 0.00095824314574315*G0_13 + 0.00118136348605099*G0_14 + 0.000879433388113943*G0_15 - 0.000974683591871098*G0_16 + 0.0 [...]
+ A[2] = 0.000123877456776762*G0_0 + 0.000123877456776762*G0_1 + 0.00138945256132756*G0_2 - 2.29644326866554e-05*G0_3 + 0.000462681126743624*G0_4 - 0.000958243145743145*G0_5 + 0.00118136348605098*G0_6 - 2.29644326866537e-05*G0_7 + 0.000462681126743625*G0_8 - 0.000958243145743145*G0_9 + 0.00118136348605099*G0_10 + 0.000363647010782429*G0_11 + 0.000207201813104591*G0_12 + 0.000207201813104592*G0_13 + 0.000363647010782427*G0_14 + 0.000879433388113943*G0_15 + 0.000649789061247399*G0_16 + 0 [...]
+ A[3] = 0.000363647010782428*G0_0 + 0.00118136348605098*G0_1 - 2.29644326866554e-05*G0_2 + 0.0147050657033296*G0_3 - 0.00958373625474319*G0_4 + 0.00770482812583507*G0_5 - 0.00396984582097429*G0_6 - 0.000411011153198656*G0_7 - 0.00144832501603334*G0_8 - 4.56679059109585e-05*G0_9 - 0.00248237688558869*G0_10 - 0.0024823768855887*G0_11 + 0.00576068013133987*G0_12 - 0.00735253285166481*G0_13 + 0.00735253285166482*G0_14 + 0.000782878387045064*G0_15 - 0.00381653213684465*G0_16 + 0.0102426588 [...]
+ A[4] = 0.00020720181310459*G0_0 - 0.000958243145743146*G0_1 + 0.000462681126743624*G0_2 - 0.00958373625474319*G0_3 + 0.0220771705146705*G0_4 - 0.0134785562302923*G0_5 + 0.00770482812583507*G0_6 - 0.00144832501603335*G0_7 + 0.0028183621933622*G0_8 - 0.00135698920421143*G0_9 + 0.00576068013133986*G0_10 - 4.56679059109598e-05*G0_11 - 0.00135698920421143*G0_12 + 0.00294884192453639*G0_13 - 0.00735253285166481*G0_14 + 0.00313151354818019*G0_15 - 0.00548014870931537*G0_16 - 0.0014352770429 [...]
+ A[5] = 0.000207201813104588*G0_0 + 0.000462681126743627*G0_1 - 0.000958243145743145*G0_2 + 0.00770482812583507*G0_3 - 0.0134785562302923*G0_4 + 0.0220771705146705*G0_5 - 0.0095837362547432*G0_6 - 4.5667905910956e-05*G0_7 - 0.00135698920421143*G0_8 + 0.00294884192453637*G0_9 - 0.0073525328516648*G0_10 - 0.00144832501603335*G0_11 + 0.0028183621933622*G0_12 - 0.00135698920421143*G0_13 + 0.00576068013133986*G0_14 + 0.00313151354818024*G0_15 - 0.000587158790283786*G0_16 + 0.00508870951579 [...]
+ A[6] = 0.000363647010782428*G0_0 - 2.29644326866565e-05*G0_1 + 0.00118136348605098*G0_2 - 0.00396984582097429*G0_3 + 0.00770482812583507*G0_4 - 0.0095837362547432*G0_5 + 0.0147050657033296*G0_6 - 0.00248237688558869*G0_7 + 0.00576068013133985*G0_8 - 0.0073525328516648*G0_9 + 0.00735253285166479*G0_10 - 0.000411011153198652*G0_11 - 0.00144832501603336*G0_12 - 4.56679059109556e-05*G0_13 - 0.0024823768855887*G0_14 + 0.000782878387045034*G0_15 - 0.00137003717732884*G0_16 - 0.002805314220 [...]
+ A[7] = 0.00118136348605098*G0_0 + 0.000363647010782428*G0_1 - 2.29644326866538e-05*G0_2 - 0.000411011153198656*G0_3 - 0.00144832501603335*G0_4 - 4.5667905910956e-05*G0_5 - 0.00248237688558869*G0_6 + 0.0147050657033296*G0_7 - 0.00958373625474319*G0_8 + 0.00770482812583506*G0_9 - 0.0039698458209743*G0_10 + 0.00735253285166479*G0_11 - 0.00735253285166479*G0_12 + 0.00576068013133985*G0_13 - 0.00248237688558869*G0_14 + 0.0102426588971728*G0_15 - 0.00381653213684464*G0_16 + 0.0007828783870 [...]
+ A[8] = -0.000958243145743139*G0_0 + 0.00020720181310459*G0_1 + 0.000462681126743625*G0_2 - 0.00144832501603334*G0_3 + 0.0028183621933622*G0_4 - 0.00135698920421143*G0_5 + 0.00576068013133985*G0_6 - 0.00958373625474319*G0_7 + 0.0220771705146705*G0_8 - 0.0134785562302923*G0_9 + 0.00770482812583508*G0_10 - 0.00735253285166479*G0_11 + 0.00294884192453636*G0_12 - 0.00135698920421142*G0_13 - 4.56679059109612e-05*G0_14 - 0.00143527704291594*G0_15 - 0.00548014870931537*G0_16 + 0.003131513548 [...]
+ A[9] = 0.000462681126743622*G0_0 + 0.000207201813104592*G0_1 - 0.000958243145743145*G0_2 - 4.56679059109587e-05*G0_3 - 0.00135698920421143*G0_4 + 0.00294884192453637*G0_5 - 0.0073525328516648*G0_6 + 0.00770482812583506*G0_7 - 0.0134785562302923*G0_8 + 0.0220771705146705*G0_9 - 0.00958373625474322*G0_10 + 0.00576068013133985*G0_11 - 0.00135698920421142*G0_12 + 0.00281836219336219*G0_13 - 0.00144832501603335*G0_14 + 0.00508870951579286*G0_15 - 0.000587158790283796*G0_16 + 0.00313151354 [...]
+ A[10] = -2.29644326866518e-05*G0_0 + 0.000363647010782426*G0_1 + 0.00118136348605099*G0_2 - 0.00248237688558869*G0_3 + 0.00576068013133986*G0_4 - 0.0073525328516648*G0_5 + 0.00735253285166479*G0_6 - 0.0039698458209743*G0_7 + 0.00770482812583508*G0_8 - 0.00958373625474322*G0_9 + 0.0147050657033296*G0_10 - 0.00248237688558869*G0_11 - 4.56679059109657e-05*G0_12 - 0.00144832501603335*G0_13 - 0.000411011153198654*G0_14 - 0.0028053142202448*G0_15 - 0.00137003717732885*G0_16 + 0.00078287838 [...]
+ A[11] = 0.00118136348605098*G0_0 - 2.29644326866551e-05*G0_1 + 0.000363647010782429*G0_2 - 0.0024823768855887*G0_3 - 4.56679059109596e-05*G0_4 - 0.00144832501603335*G0_5 - 0.000411011153198652*G0_6 + 0.00735253285166479*G0_7 - 0.00735253285166479*G0_8 + 0.00576068013133985*G0_9 - 0.00248237688558869*G0_10 + 0.0147050657033296*G0_11 - 0.0095837362547432*G0_12 + 0.00770482812583507*G0_13 - 0.0039698458209743*G0_14 + 0.0102426588971728*G0_15 + 9.78597983806231e-05*G0_16 - 0.002805314220 [...]
+ A[12] = -0.000958243145743143*G0_0 + 0.000462681126743629*G0_1 + 0.000207201813104591*G0_2 + 0.00576068013133987*G0_3 - 0.00135698920421143*G0_4 + 0.0028183621933622*G0_5 - 0.00144832501603336*G0_6 - 0.00735253285166479*G0_7 + 0.00294884192453636*G0_8 - 0.00135698920421142*G0_9 - 4.56679059109653e-05*G0_10 - 0.0095837362547432*G0_11 + 0.0220771705146705*G0_12 - 0.0134785562302924*G0_13 + 0.00770482812583509*G0_14 - 0.00143527704291593*G0_15 + 0.00528442911255412*G0_16 + 0.00508870951 [...]
+ A[13] = 0.000462681126743625*G0_0 - 0.00095824314574315*G0_1 + 0.000207201813104592*G0_2 - 0.00735253285166481*G0_3 + 0.00294884192453639*G0_4 - 0.00135698920421143*G0_5 - 4.56679059109556e-05*G0_6 + 0.00576068013133985*G0_7 - 0.00135698920421142*G0_8 + 0.00281836219336219*G0_9 - 0.00144832501603335*G0_10 + 0.00770482812583507*G0_11 - 0.0134785562302924*G0_12 + 0.0220771705146705*G0_13 - 0.00958373625474323*G0_14 + 0.00508870951579286*G0_15 + 0.00528442911255411*G0_16 - 0.00143527704 [...]
+ A[14] = -2.2964432686652e-05*G0_0 + 0.00118136348605099*G0_1 + 0.000363647010782427*G0_2 + 0.00735253285166482*G0_3 - 0.00735253285166481*G0_4 + 0.00576068013133986*G0_5 - 0.0024823768855887*G0_6 - 0.00248237688558869*G0_7 - 4.56679059109613e-05*G0_8 - 0.00144832501603335*G0_9 - 0.000411011153198654*G0_10 - 0.0039698458209743*G0_11 + 0.00770482812583509*G0_12 - 0.00958373625474323*G0_13 + 0.0147050657033296*G0_14 - 0.00280531422024477*G0_15 + 9.78597983806202e-05*G0_16 + 0.0102426588 [...]
+ A[15] = 0.000892481361231349*G0_0 + 0.000879433388113942*G0_1 + 0.000879433388113943*G0_2 + 0.000782878387045064*G0_3 + 0.00313151354818019*G0_4 + 0.00313151354818024*G0_5 + 0.000782878387045034*G0_6 + 0.0102426588971728*G0_7 - 0.00143527704291594*G0_8 + 0.00508870951579286*G0_9 - 0.0028053142202448*G0_10 + 0.0102426588971728*G0_11 - 0.00143527704291593*G0_12 + 0.00508870951579285*G0_13 - 0.00280531422024477*G0_14 + 0.0704590548340548*G0_15 - 0.0156575677409011*G0_16 + 0.011743175805 [...]
+ A[16] = -0.000974683591871097*G0_0 - 0.000974683591871098*G0_1 + 0.000649789061247399*G0_2 - 0.00381653213684465*G0_3 - 0.00548014870931537*G0_4 - 0.000587158790283786*G0_5 - 0.00137003717732884*G0_6 - 0.00381653213684464*G0_7 - 0.00548014870931537*G0_8 - 0.000587158790283797*G0_9 - 0.00137003717732885*G0_10 + 9.78597983806231e-05*G0_11 + 0.00528442911255411*G0_12 + 0.00528442911255411*G0_13 + 9.78597983806202e-05*G0_14 - 0.0156575677409011*G0_15 + 0.0763306427368927*G0_16 - 0.015657 [...]
+ A[17] = 0.000879433388113943*G0_0 + 0.00089248136123136*G0_1 + 0.000879433388113938*G0_2 + 0.0102426588971728*G0_3 - 0.00143527704291595*G0_4 + 0.00508870951579287*G0_5 - 0.00280531422024479*G0_6 + 0.000782878387045047*G0_7 + 0.00313151354818022*G0_8 + 0.00313151354818022*G0_9 + 0.000782878387045045*G0_10 - 0.00280531422024477*G0_11 + 0.00508870951579287*G0_12 - 0.00143527704291593*G0_13 + 0.0102426588971728*G0_14 + 0.0117431758056758*G0_15 - 0.015657567740901*G0_16 + 0.0704590548340 [...]
+ A[18] = -0.000974683591871086*G0_0 + 0.000649789061247394*G0_1 - 0.000974683591871097*G0_2 - 0.00137003717732885*G0_3 - 0.000587158790283786*G0_4 - 0.00548014870931539*G0_5 - 0.00381653213684462*G0_6 + 9.7859798380623e-05*G0_7 + 0.00528442911255412*G0_8 + 0.00528442911255409*G0_9 + 9.78597983806444e-05*G0_10 - 0.00381653213684464*G0_11 - 0.00548014870931538*G0_12 - 0.000587158790283799*G0_13 - 0.00137003717732885*G0_14 - 0.015657567740901*G0_15 - 0.0117431758056758*G0_16 + 0.00391439 [...]
+ A[19] = 0.000649789061247384*G0_0 - 0.000974683591871091*G0_1 - 0.000974683591871099*G0_2 + 9.78597983806301e-05*G0_3 + 0.00528442911255411*G0_4 + 0.00528442911255411*G0_5 + 9.78597983806356e-05*G0_6 - 0.00137003717732884*G0_7 - 0.000587158790283785*G0_8 - 0.00548014870931537*G0_9 - 0.00381653213684462*G0_10 - 0.00137003717732884*G0_11 - 0.000587158790283803*G0_12 - 0.00548014870931537*G0_13 - 0.00381653213684463*G0_14 + 0.00391439193522524*G0_15 - 0.0117431758056758*G0_16 - 0.015657 [...]
+ A[20] = 0.000879433388113938*G0_0 + 0.00087943338811394*G0_1 + 0.000892481361231361*G0_2 - 0.00280531422024477*G0_3 + 0.00508870951579285*G0_4 - 0.00143527704291595*G0_5 + 0.0102426588971728*G0_6 - 0.00280531422024477*G0_7 + 0.00508870951579284*G0_8 - 0.00143527704291591*G0_9 + 0.0102426588971728*G0_10 + 0.000782878387045057*G0_11 + 0.00313151354818021*G0_12 + 0.00313151354818022*G0_13 + 0.000782878387045048*G0_14 + 0.0117431758056758*G0_15 + 0.00391439193522524*G0_16 + 0.01174317580 [...]
}
diff --git a/bench/fem/convergence/cpp/Poisson2D_5.h b/bench/fem/convergence/cpp/Poisson2D_5.h
index ec51428..7c2afc4 100644
--- a/bench/fem/convergence/cpp/Poisson2D_5.h
+++ b/bench/fem/convergence/cpp/Poisson2D_5.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// no-evaluate_basis: True
// no-evaluate_basis_derivatives: True
// optimize: True
@@ -422,6 +423,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -432,6 +435,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -464,6 +470,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -474,6 +482,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -506,6 +517,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -516,6 +529,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -942,10 +958,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1108,10 +1124,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1127,10 +1143,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson3D_1.cpp b/bench/fem/convergence/cpp/Poisson3D_1.cpp
index eac5862..148faf0 100644
--- a/bench/fem/convergence/cpp/Poisson3D_1.cpp
+++ b/bench/fem/convergence/cpp/Poisson3D_1.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -3930,60 +3931,28 @@ void poisson3d_1_finite_element_1::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4180,6 +4149,35 @@ std::size_t poisson3d_1_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_1_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_1_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4228,7 +4226,7 @@ void poisson3d_1_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_1_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -4289,6 +4287,156 @@ void poisson3d_1_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_1_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_1_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -4399,6 +4547,35 @@ std::size_t poisson3d_1_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_1_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_1_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4483,7 +4660,7 @@ void poisson3d_1_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_1_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -4552,6 +4729,220 @@ void poisson3d_1_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_1_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_1_dofmap_1::num_sub_dofmaps() const
{
return 3;
@@ -4608,6 +4999,21 @@ void poisson3d_1_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 28
@@ -4677,6 +5083,21 @@ void poisson3d_1_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 4
// Number of operations (multiply-add pairs) for tensor contraction: 14
diff --git a/bench/fem/convergence/cpp/Poisson3D_1.h b/bench/fem/convergence/cpp/Poisson3D_1.h
index 61fddd4..dedfc79 100644
--- a/bench/fem/convergence/cpp/Poisson3D_1.h
+++ b/bench/fem/convergence/cpp/Poisson3D_1.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -296,6 +297,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -306,6 +309,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -338,6 +344,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -348,6 +356,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -774,10 +785,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -940,10 +951,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -959,10 +970,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson3D_2.cpp b/bench/fem/convergence/cpp/Poisson3D_2.cpp
index 07b7900..173b09f 100644
--- a/bench/fem/convergence/cpp/Poisson3D_2.cpp
+++ b/bench/fem/convergence/cpp/Poisson3D_2.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -3930,60 +3931,28 @@ void poisson3d_2_finite_element_1::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4240,7 +4209,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4286,7 +4255,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4332,7 +4301,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4424,7 +4393,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4470,7 +4439,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4516,7 +4485,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4562,7 +4531,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4835,7 +4804,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4856,9 +4825,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5038,7 +5007,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5059,9 +5028,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5241,7 +5210,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5262,9 +5231,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5465,9 +5434,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5647,7 +5616,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5668,9 +5637,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5850,7 +5819,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5871,9 +5840,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6053,7 +6022,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6074,9 +6043,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6256,7 +6225,7 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6277,9 +6246,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6480,9 +6449,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6683,9 +6652,9 @@ void poisson3d_2_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -7214,6 +7183,35 @@ std::size_t poisson3d_2_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_2_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_2_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7262,7 +7260,7 @@ void poisson3d_2_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_2_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -7323,6 +7321,156 @@ void poisson3d_2_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_2_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_2_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -7433,6 +7581,35 @@ std::size_t poisson3d_2_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_2_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_2_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7517,7 +7694,7 @@ void poisson3d_2_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_2_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -7586,34 +7763,248 @@ void poisson3d_2_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t poisson3d_2_dofmap_1::num_sub_dofmaps() const
-{
- return 3;
-}
-
-ufc::dofmap * poisson3d_2_dofmap_1::create_sub_dofmap(std::size_t i) const
+void poisson3d_2_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new poisson3d_2_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new poisson3d_2_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new poisson3d_2_dofmap_0();
- break;
- }
- }
-
- return 0;
-}
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+}
+
+std::size_t poisson3d_2_dofmap_1::num_sub_dofmaps() const
+{
+ return 3;
+}
+
+ufc::dofmap * poisson3d_2_dofmap_1::create_sub_dofmap(std::size_t i) const
+{
+ switch (i)
+ {
+ case 0:
+ {
+ return new poisson3d_2_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new poisson3d_2_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new poisson3d_2_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+}
ufc::dofmap * poisson3d_2_dofmap_1::create() const
{
@@ -7715,6 +8106,35 @@ std::size_t poisson3d_2_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_2_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_2_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7784,7 +8204,7 @@ void poisson3d_2_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_2_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -7883,6 +8303,180 @@ void poisson3d_2_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_2_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_2_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -7920,6 +8514,21 @@ void poisson3d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 331
@@ -7953,16 +8562,16 @@ void poisson3d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
A[1] = 0.0333333333333333*G0_0_0 + 0.0333333333333333*G0_1_0 + 0.0333333333333333*G0_2_0;
A[2] = 0.0333333333333334*G0_0_1 + 0.0333333333333334*G0_1_1 + 0.0333333333333334*G0_2_1;
A[3] = 0.0333333333333334*G0_0_2 + 0.0333333333333334*G0_1_2 + 0.0333333333333334*G0_2_2;
- A[4] = 0.0333333333333345*G0_0_1 + 0.0333333333333345*G0_0_2 + 0.0333333333333345*G0_1_1 + 0.0333333333333344*G0_1_2 + 0.0333333333333345*G0_2_1 + 0.0333333333333344*G0_2_2;
- A[5] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_2 + 0.0333333333333345*G0_1_0 + 0.0333333333333346*G0_1_2 + 0.0333333333333345*G0_2_0 + 0.0333333333333345*G0_2_2;
- A[6] = 0.0333333333333345*G0_0_0 + 0.0333333333333344*G0_0_1 + 0.0333333333333345*G0_1_0 + 0.0333333333333345*G0_1_1 + 0.0333333333333345*G0_2_0 + 0.0333333333333344*G0_2_1;
- A[7] = -0.0333333333333345*G0_0_0 - 0.0333333333333345*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333345*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333345*G0_2_0 - 0.0333333333333345*G0_2_1 - 0.133333333333333*G0_2_2;
+ A[4] = 0.0333333333333345*G0_0_1 + 0.0333333333333344*G0_0_2 + 0.0333333333333345*G0_1_1 + 0.0333333333333344*G0_1_2 + 0.0333333333333345*G0_2_1 + 0.0333333333333344*G0_2_2;
+ A[5] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_2 + 0.0333333333333345*G0_1_0 + 0.0333333333333346*G0_1_2 + 0.0333333333333344*G0_2_0 + 0.0333333333333345*G0_2_2;
+ A[6] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_1 + 0.0333333333333345*G0_1_0 + 0.0333333333333345*G0_1_1 + 0.0333333333333344*G0_2_0 + 0.0333333333333345*G0_2_1;
+ A[7] = -0.0333333333333345*G0_0_0 - 0.0333333333333345*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333345*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333344*G0_2_0 - 0.0333333333333344*G0_2_1 - 0.133333333333333*G0_2_2;
A[8] = -0.0333333333333345*G0_0_0 - 0.133333333333333*G0_0_1 - 0.0333333333333345*G0_0_2 - 0.0333333333333345*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0333333333333345*G0_1_2 - 0.0333333333333345*G0_2_0 - 0.133333333333333*G0_2_1 - 0.0333333333333344*G0_2_2;
- A[9] = -0.133333333333333*G0_0_0 - 0.0333333333333344*G0_0_1 - 0.0333333333333344*G0_0_2 - 0.133333333333333*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333345*G0_1_2 - 0.133333333333333*G0_2_0 - 0.0333333333333344*G0_2_1 - 0.0333333333333344*G0_2_2;
+ A[9] = -0.133333333333333*G0_0_0 - 0.0333333333333344*G0_0_1 - 0.0333333333333344*G0_0_2 - 0.133333333333333*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333345*G0_1_2 - 0.133333333333333*G0_2_0 - 0.0333333333333345*G0_2_1 - 0.0333333333333344*G0_2_2;
A[10] = 0.0333333333333333*G0_0_0 + 0.0333333333333333*G0_0_1 + 0.0333333333333333*G0_0_2;
A[11] = 0.1*G0_0_0;
A[12] = -0.0333333333333334*G0_0_1;
- A[13] = -0.0333333333333334*G0_0_2;
+ A[13] = -0.0333333333333333*G0_0_2;
A[14] = -0.0333333333333332*G0_0_1 - 0.0333333333333331*G0_0_2;
A[15] = -0.0333333333333332*G0_0_0 + 0.1*G0_0_2;
A[16] = -0.0333333333333332*G0_0_0 + 0.1*G0_0_1;
@@ -7975,20 +8584,20 @@ void poisson3d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
A[23] = -0.0333333333333333*G0_1_2;
A[24] = -0.0333333333333334*G0_1_1 + 0.1*G0_1_2;
A[25] = -0.0333333333333334*G0_1_0 - 0.0333333333333335*G0_1_2;
- A[26] = 0.1*G0_1_0 - 0.0333333333333334*G0_1_1;
+ A[26] = 0.1*G0_1_0 - 0.0333333333333333*G0_1_1;
A[27] = 0.0333333333333334*G0_1_0 + 0.0333333333333334*G0_1_1;
A[28] = -0.1*G0_1_0 - 0.133333333333333*G0_1_1 - 0.1*G0_1_2;
A[29] = 0.0333333333333334*G0_1_1 + 0.0333333333333335*G0_1_2;
A[30] = 0.0333333333333334*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2;
- A[31] = -0.0333333333333334*G0_2_0;
+ A[31] = -0.0333333333333333*G0_2_0;
A[32] = -0.0333333333333333*G0_2_1;
A[33] = 0.1*G0_2_2;
- A[34] = 0.1*G0_2_1 - 0.033333333333334*G0_2_2;
- A[35] = 0.1*G0_2_0 - 0.0333333333333337*G0_2_2;
- A[36] = -0.0333333333333338*G0_2_0 - 0.0333333333333339*G0_2_1;
+ A[34] = 0.1*G0_2_1 - 0.0333333333333339*G0_2_2;
+ A[35] = 0.1*G0_2_0 - 0.0333333333333336*G0_2_2;
+ A[36] = -0.0333333333333337*G0_2_0 - 0.0333333333333338*G0_2_1;
A[37] = -0.1*G0_2_0 - 0.1*G0_2_1 - 0.133333333333333*G0_2_2;
- A[38] = 0.0333333333333338*G0_2_0 + 0.0333333333333338*G0_2_2;
- A[39] = 0.0333333333333338*G0_2_1 + 0.0333333333333337*G0_2_2;
+ A[38] = 0.0333333333333337*G0_2_0 + 0.0333333333333337*G0_2_2;
+ A[39] = 0.0333333333333337*G0_2_1 + 0.0333333333333337*G0_2_2;
A[40] = 0.0333333333333345*G0_1_0 + 0.0333333333333345*G0_1_1 + 0.0333333333333345*G0_1_2 + 0.0333333333333345*G0_2_0 + 0.0333333333333344*G0_2_1 + 0.0333333333333344*G0_2_2;
A[41] = -0.0333333333333332*G0_1_0 - 0.0333333333333331*G0_2_0;
A[42] = -0.0333333333333334*G0_1_1 + 0.1*G0_2_1;
@@ -7999,56 +8608,56 @@ void poisson3d_2_cell_integral_0_otherwise::tabulate_tensor(double * A,
A[47] = -0.266666666666668*G0_1_0 - 0.266666666666668*G0_1_1 - 0.133333333333335*G0_1_2 - 0.133333333333334*G0_2_0 - 0.133333333333334*G0_2_1;
A[48] = -0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666668*G0_2_0 - 0.133333333333335*G0_2_1 - 0.266666666666668*G0_2_2;
A[49] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2;
- A[50] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_1 + 0.0333333333333345*G0_0_2 + 0.0333333333333345*G0_2_0 + 0.0333333333333346*G0_2_1 + 0.0333333333333345*G0_2_2;
+ A[50] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_1 + 0.0333333333333344*G0_0_2 + 0.0333333333333345*G0_2_0 + 0.0333333333333346*G0_2_1 + 0.0333333333333345*G0_2_2;
A[51] = -0.0333333333333332*G0_0_0 + 0.1*G0_2_0;
A[52] = -0.0333333333333334*G0_0_1 - 0.0333333333333335*G0_2_1;
- A[53] = 0.1*G0_0_2 - 0.0333333333333337*G0_2_2;
+ A[53] = 0.1*G0_0_2 - 0.0333333333333336*G0_2_2;
A[54] = 0.266666666666668*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333335*G0_2_1 + 0.133333333333335*G0_2_2;
A[55] = 0.266666666666668*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_2_0 + 0.26666666666667*G0_2_2;
A[56] = 0.133333333333334*G0_0_0 + 0.133333333333335*G0_0_1 + 0.133333333333335*G0_2_0 + 0.266666666666669*G0_2_1;
A[57] = -0.266666666666668*G0_0_0 - 0.266666666666668*G0_0_1 - 0.133333333333335*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333335*G0_2_1;
A[58] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333335*G0_2_2;
- A[59] = -0.133333333333334*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333335*G0_2_0 - 0.266666666666669*G0_2_1 - 0.266666666666668*G0_2_2;
- A[60] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_1 + 0.0333333333333345*G0_0_2 + 0.0333333333333344*G0_1_0 + 0.0333333333333345*G0_1_1 + 0.0333333333333344*G0_1_2;
+ A[59] = -0.133333333333334*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333335*G0_2_0 - 0.266666666666669*G0_2_1 - 0.266666666666669*G0_2_2;
+ A[60] = 0.0333333333333345*G0_0_0 + 0.0333333333333345*G0_0_1 + 0.0333333333333344*G0_0_2 + 0.0333333333333345*G0_1_0 + 0.0333333333333345*G0_1_1 + 0.0333333333333345*G0_1_2;
A[61] = -0.0333333333333332*G0_0_0 + 0.1*G0_1_0;
- A[62] = 0.1*G0_0_1 - 0.0333333333333334*G0_1_1;
- A[63] = -0.0333333333333338*G0_0_2 - 0.0333333333333339*G0_1_2;
+ A[62] = 0.1*G0_0_1 - 0.0333333333333333*G0_1_1;
+ A[63] = -0.0333333333333337*G0_0_2 - 0.0333333333333339*G0_1_2;
A[64] = 0.133333333333334*G0_0_1 + 0.266666666666668*G0_0_2 + 0.133333333333335*G0_1_1 + 0.133333333333335*G0_1_2;
A[65] = 0.133333333333334*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_1_0 + 0.266666666666669*G0_1_2;
A[66] = 0.266666666666668*G0_0_0 + 0.133333333333335*G0_0_1 + 0.133333333333335*G0_1_0 + 0.266666666666669*G0_1_1;
A[67] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333335*G0_1_0 - 0.133333333333335*G0_1_1;
A[68] = -0.266666666666668*G0_0_0 - 0.133333333333335*G0_0_1 - 0.266666666666668*G0_0_2 - 0.133333333333335*G0_1_0 - 0.133333333333335*G0_1_2;
A[69] = -0.133333333333334*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333335*G0_1_0 - 0.266666666666668*G0_1_1 - 0.266666666666668*G0_1_2;
- A[70] = -0.0333333333333345*G0_0_0 - 0.0333333333333345*G0_0_1 - 0.0333333333333345*G0_0_2 - 0.0333333333333345*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333345*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2;
- A[71] = 0.0333333333333332*G0_0_0 + 0.0333333333333332*G0_1_0;
+ A[70] = -0.0333333333333345*G0_0_0 - 0.0333333333333345*G0_0_1 - 0.0333333333333344*G0_0_2 - 0.0333333333333345*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333344*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2;
+ A[71] = 0.0333333333333332*G0_0_0 + 0.0333333333333331*G0_1_0;
A[72] = 0.0333333333333334*G0_0_1 + 0.0333333333333334*G0_1_1;
A[73] = -0.1*G0_0_2 - 0.1*G0_1_2 - 0.133333333333333*G0_2_2;
A[74] = -0.266666666666668*G0_0_1 - 0.133333333333334*G0_0_2 - 0.266666666666668*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333335*G0_2_1;
A[75] = -0.266666666666668*G0_0_0 - 0.133333333333335*G0_0_2 - 0.266666666666668*G0_1_0 - 0.133333333333335*G0_1_2 - 0.133333333333335*G0_2_0;
A[76] = -0.133333333333334*G0_0_0 - 0.133333333333335*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333335*G0_1_1;
A[77] = 0.266666666666668*G0_0_0 + 0.266666666666668*G0_0_1 + 0.133333333333335*G0_0_2 + 0.266666666666668*G0_1_0 + 0.266666666666668*G0_1_1 + 0.133333333333335*G0_1_2 + 0.133333333333335*G0_2_0 + 0.133333333333335*G0_2_1 + 0.266666666666667*G0_2_2;
- A[78] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_1;
- A[79] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0;
+ A[78] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_1;
+ A[79] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_0;
A[80] = -0.0333333333333345*G0_0_0 - 0.0333333333333345*G0_0_1 - 0.0333333333333345*G0_0_2 - 0.133333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333345*G0_2_0 - 0.0333333333333345*G0_2_1 - 0.0333333333333344*G0_2_2;
A[81] = 0.0333333333333332*G0_0_0 + 0.0333333333333332*G0_2_0;
A[82] = -0.1*G0_0_1 - 0.133333333333333*G0_1_1 - 0.1*G0_2_1;
- A[83] = 0.0333333333333338*G0_0_2 + 0.0333333333333338*G0_2_2;
+ A[83] = 0.0333333333333337*G0_0_2 + 0.0333333333333338*G0_2_2;
A[84] = -0.133333333333334*G0_0_1 - 0.266666666666668*G0_0_2 - 0.133333333333335*G0_1_2 - 0.133333333333334*G0_2_1 - 0.266666666666668*G0_2_2;
A[85] = -0.133333333333334*G0_0_0 - 0.133333333333335*G0_0_2 - 0.133333333333334*G0_2_0 - 0.133333333333335*G0_2_2;
- A[86] = -0.266666666666668*G0_0_0 - 0.133333333333335*G0_0_1 - 0.133333333333335*G0_1_0 - 0.266666666666667*G0_2_0 - 0.133333333333335*G0_2_1;
+ A[86] = -0.266666666666668*G0_0_0 - 0.133333333333335*G0_0_1 - 0.133333333333335*G0_1_0 - 0.266666666666668*G0_2_0 - 0.133333333333335*G0_2_1;
A[87] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333333*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1;
- A[88] = 0.266666666666668*G0_0_0 + 0.133333333333335*G0_0_1 + 0.266666666666668*G0_0_2 + 0.133333333333335*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333335*G0_1_2 + 0.266666666666668*G0_2_0 + 0.133333333333335*G0_2_1 + 0.266666666666667*G0_2_2;
+ A[88] = 0.266666666666668*G0_0_0 + 0.133333333333335*G0_0_1 + 0.266666666666668*G0_0_2 + 0.133333333333335*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333335*G0_1_2 + 0.266666666666668*G0_2_0 + 0.133333333333335*G0_2_1 + 0.266666666666668*G0_2_2;
A[89] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333334*G0_2_1 + 0.133333333333334*G0_2_2;
- A[90] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333344*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333344*G0_1_2 - 0.0333333333333344*G0_2_0 - 0.0333333333333345*G0_2_1 - 0.0333333333333344*G0_2_2;
+ A[90] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333344*G0_1_0 - 0.0333333333333345*G0_1_1 - 0.0333333333333345*G0_1_2 - 0.0333333333333344*G0_2_0 - 0.0333333333333345*G0_2_1 - 0.0333333333333344*G0_2_2;
A[91] = -0.133333333333333*G0_0_0 - 0.1*G0_1_0 - 0.1*G0_2_0;
A[92] = 0.0333333333333334*G0_1_1 + 0.0333333333333335*G0_2_1;
- A[93] = 0.0333333333333338*G0_1_2 + 0.0333333333333337*G0_2_2;
+ A[93] = 0.0333333333333337*G0_1_2 + 0.0333333333333337*G0_2_2;
A[94] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2;
- A[95] = -0.133333333333335*G0_0_2 - 0.133333333333334*G0_1_0 - 0.266666666666669*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666668*G0_2_2;
+ A[95] = -0.133333333333335*G0_0_2 - 0.133333333333334*G0_1_0 - 0.266666666666669*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666669*G0_2_2;
A[96] = -0.133333333333335*G0_0_1 - 0.133333333333334*G0_1_0 - 0.266666666666668*G0_1_1 - 0.133333333333334*G0_2_0 - 0.266666666666668*G0_2_1;
A[97] = 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1;
A[98] = 0.133333333333333*G0_0_1 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_2;
- A[99] = 0.266666666666667*G0_0_0 + 0.133333333333335*G0_0_1 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_1_0 + 0.266666666666667*G0_1_1 + 0.266666666666667*G0_1_2 + 0.133333333333335*G0_2_0 + 0.266666666666667*G0_2_1 + 0.266666666666667*G0_2_2;
+ A[99] = 0.266666666666667*G0_0_0 + 0.133333333333335*G0_0_1 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_1_0 + 0.266666666666668*G0_1_1 + 0.266666666666668*G0_1_2 + 0.133333333333335*G0_2_0 + 0.266666666666668*G0_2_1 + 0.266666666666668*G0_2_2;
}
@@ -8073,6 +8682,21 @@ void poisson3d_2_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 10
// Number of operations (multiply-add pairs) for tensor contraction: 95
@@ -8103,16 +8727,16 @@ void poisson3d_2_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_9 = det*w[0][9]*(1.0);
// Compute element tensor
- A[0] = 0.00238095238095238*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
- A[1] = 0.000396825396825395*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
- A[2] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825396*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730159*G0_8 - 0.00238095238095238*G0_9;
- A[3] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825396*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
- A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
- A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460317*G0_8 + 0.00634920634920635*G0_9;
- A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920635*G0_9;
- A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
- A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
- A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
+ A[0] = 0.00238095238095238*G0_0 + 0.000396825396825394*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
+ A[1] = 0.000396825396825394*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
+ A[2] = 0.000396825396825394*G0_0 + 0.000396825396825395*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825395*G0_3 - 0.00158730158730158*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730158*G0_8 - 0.00238095238095238*G0_9;
+ A[3] = 0.000396825396825395*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825395*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
+ A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.00317460317460317*G0_9;
+ A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460318*G0_8 + 0.00634920634920635*G0_9;
+ A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
+ A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920634*G0_9;
+ A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00317460317460318*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920635*G0_9;
+ A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.0126984126984127*G0_9;
}
diff --git a/bench/fem/convergence/cpp/Poisson3D_2.h b/bench/fem/convergence/cpp/Poisson3D_2.h
index 47dfc74..908297d 100644
--- a/bench/fem/convergence/cpp/Poisson3D_2.h
+++ b/bench/fem/convergence/cpp/Poisson3D_2.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -420,6 +421,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -430,6 +433,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -462,6 +468,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -472,6 +480,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -504,6 +515,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -514,6 +527,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -940,10 +956,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1106,10 +1122,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1125,10 +1141,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson3D_3.cpp b/bench/fem/convergence/cpp/Poisson3D_3.cpp
index 74d3f42..a4e76f1 100644
--- a/bench/fem/convergence/cpp/Poisson3D_3.cpp
+++ b/bench/fem/convergence/cpp/Poisson3D_3.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -3930,60 +3931,28 @@ void poisson3d_3_finite_element_1::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4260,7 +4229,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594814, 0.0130410132739326, 0.00752923252421043, 0.00532397137499948, 0.018298126367785, 0.014173667737846, 0.0115727512471569, 0.00818317088384972, 0.00668153104781059, 0.00472455591261533, -0.028347335475692, -0.0239578711874978, -0.0207481250689683, -0.0185576872239523, -0.0160714285714286, -0.0131222664791956, -0.0107142857142857, -0.00927884361197611, -0.00757614408414157, -0.00535714285714285};
+ {0.0288675134594814, 0.0130410132739325, 0.00752923252421041, 0.00532397137499949, 0.018298126367785, 0.014173667737846, 0.0115727512471569, 0.00818317088384972, 0.00668153104781059, 0.00472455591261533, -0.028347335475692, -0.0239578711874978, -0.0207481250689683, -0.0185576872239523, -0.0160714285714286, -0.0131222664791956, -0.0107142857142857, -0.00927884361197611, -0.00757614408414157, -0.00535714285714285};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4326,7 +4295,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594813, -0.0130410132739325, 0.0075292325242104, 0.0053239713749995, 0.018298126367785, -0.014173667737846, -0.0115727512471569, 0.0081831708838497, 0.00668153104781062, 0.00472455591261534, 0.028347335475692, -0.0239578711874977, -0.0207481250689683, 0.0185576872239522, 0.0160714285714286, 0.0131222664791956, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0288675134594814, -0.0130410132739325, 0.00752923252421042, 0.0053239713749995, 0.018298126367785, -0.014173667737846, -0.0115727512471569, 0.00818317088384972, 0.00668153104781061, 0.00472455591261533, 0.028347335475692, -0.0239578711874978, -0.0207481250689683, 0.0185576872239523, 0.0160714285714286, 0.0131222664791956, -0.0107142857142857, -0.00927884361197613, -0.00757614408414158, -0.00535714285714285};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4392,7 +4361,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594812, 0.0, -0.0150584650484209, 0.00532397137499952, 0.0, 0.0, 0.0, 0.0245495126515492, -0.0133630620956212, 0.00472455591261537, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0428571428571429, -0.0278365308359284, 0.0151522881682832, -0.00535714285714288};
+ {0.0288675134594813, 0.0, -0.0150584650484209, 0.0053239713749995, 0.0, 0.0, 0.0, 0.0245495126515491, -0.0133630620956212, 0.00472455591261536, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0428571428571429, -0.0278365308359284, 0.0151522881682832, -0.00535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4656,7 +4625,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.097807599554494, -0.0564692439315782, -0.063887656499994, 0.054894379103355, -0.0425210032135381, 0.0231455024943138, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, -0.0375, -0.0524890659167824, 0.0, 0.0216506350946109, 0.0303045763365663, 0.0267857142857143};
+ {0.0, 0.097807599554494, -0.0564692439315782, -0.063887656499994, 0.054894379103355, -0.042521003213538, 0.0231455024943138, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, -0.0375, -0.0524890659167824, 0.0, 0.021650635094611, 0.0303045763365663, 0.0267857142857143};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4722,7 +4691,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0195615199108988, 0.0112938487863157, 0.127775312999988, 0.0, 0.0, 0.0578637562357844, 0.0, -0.033407655239053, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, 0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
+ {0.0, -0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, 0.0578637562357844, 0.0, -0.0334076552390531, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, 0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4788,7 +4757,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.097807599554494, -0.0790569415042095, -0.031943828249997, 0.054894379103355, 0.014173667737846, -0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.00691604168965609, -0.0618589574131742, -0.0160714285714286, 0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714286};
+ {0.0, 0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, 0.014173667737846, -0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.0069160416896561, -0.0618589574131742, -0.0160714285714286, 0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714285};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4854,7 +4823,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, 0.0566946709513841, -0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, 0.0618589574131742, -0.0214285714285714, 0.00437408882639853, -0.0642857142857143, 0.00927884361197613, 0.00757614408414158, -0.00535714285714285};
+ {0.0, -0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, 0.0566946709513841, -0.0115727512471569, 0.0245495126515491, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, 0.0618589574131742, -0.0214285714285714, 0.00437408882639853, -0.0642857142857143, 0.00927884361197613, 0.00757614408414158, -0.00535714285714285};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4920,7 +4889,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0978075995544939, -0.0564692439315782, -0.063887656499994, 0.054894379103355, 0.0425210032135381, -0.0231455024943137, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, 0.0375, 0.0524890659167824, 0.0, 0.021650635094611, 0.0303045763365663, 0.0267857142857143};
+ {0.0, -0.0978075995544939, -0.0564692439315782, -0.063887656499994, 0.054894379103355, 0.0425210032135381, -0.0231455024943137, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, 0.0375, 0.0524890659167824, 0.0, 0.0216506350946109, 0.0303045763365663, 0.0267857142857143};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -4986,7 +4955,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, -0.0578637562357845, 0.0, -0.033407655239053, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, -0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
+ {0.0, 0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, -0.0578637562357845, 0.0, -0.0334076552390531, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, -0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5052,7 +5021,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, -0.014173667737846, 0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.0069160416896561, 0.0618589574131742, 0.0160714285714286, -0.00874817765279707, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714287};
+ {0.0, -0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, -0.014173667737846, 0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.00691604168965611, 0.0618589574131742, 0.0160714285714286, -0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5118,7 +5087,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, -0.0566946709513841, 0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, -0.0618589574131742, 0.0214285714285714, -0.00437408882639852, -0.0642857142857143, 0.00927884361197614, 0.00757614408414158, -0.00535714285714285};
+ {0.0, 0.0195615199108987, 0.124232336649472, -0.031943828249997, 0.0, -0.0566946709513841, 0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, -0.0618589574131742, 0.0214285714285714, -0.00437408882639853, -0.0642857142857143, 0.00927884361197614, 0.00757614408414157, -0.00535714285714285};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5184,7 +5153,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, 0.0425210032135381, 0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, 0.0850420064270761, 0.0239578711874977, 0.0207481250689683, -0.00618589574131741, -0.00535714285714285, -0.00437408882639853, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0, -0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, 0.0425210032135381, 0.0347182537414707, 0.0409158544192486, 0.033407655239053, 0.0236227795630767, 0.0850420064270761, 0.0239578711874977, 0.0207481250689683, -0.00618589574131742, -0.00535714285714285, -0.00437408882639851, -0.0107142857142857, -0.00927884361197612, -0.00757614408414158, -0.00535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5250,7 +5219,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, -0.0425210032135381, -0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, -0.0850420064270761, 0.0239578711874978, 0.0207481250689683, 0.00618589574131741, 0.00535714285714285, 0.00437408882639852, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0, 0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, -0.042521003213538, -0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, -0.0850420064270761, 0.0239578711874978, 0.0207481250689683, 0.00618589574131741, 0.00535714285714285, 0.00437408882639852, -0.0107142857142857, -0.00927884361197613, -0.00757614408414158, -0.00535714285714286};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5316,7 +5285,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, 0.117369119465393, 0.0677630927178939, 0.0479157423749955, 0.0, 0.0850420064270761, 0.0694365074829413, -0.0736485379546474, 0.0400891862868636, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, 0.075, -0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
+ {0.259807621135332, 0.117369119465393, 0.0677630927178939, 0.0479157423749955, 0.0, 0.0850420064270761, 0.0694365074829413, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, 0.075, -0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5382,7 +5351,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, -0.117369119465393, 0.0677630927178938, 0.0479157423749954, 0.0, -0.0850420064270762, -0.0694365074829414, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, -0.075, 0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
+ {0.259807621135331, -0.117369119465393, 0.0677630927178938, 0.0479157423749954, 0.0, -0.0850420064270762, -0.0694365074829414, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, -0.0750000000000001, 0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5514,7 +5483,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, 0.0, 0.0, -0.143747227124987, -0.10978875820671, 0.0, 0.0, -0.122747563257746, 0.0, 0.0425210032135381, 0.0, -0.095831484749991, 0.0138320833793122, 0.0, 0.0, 0.0, 0.0428571428571429, 0.0154647393532936, 0.0, -0.00535714285714284};
+ {0.259807621135332, 0.0, 0.0, -0.143747227124987, -0.10978875820671, 0.0, 0.0, -0.122747563257746, 0.0, 0.0425210032135381, 0.0, -0.095831484749991, 0.0138320833793122, 0.0, 0.0, 0.0, 0.0428571428571429, 0.0154647393532936, 0.0, -0.00535714285714283};
// Compute value(s)
for (unsigned int r = 0; r < 20; r++)
@@ -5715,7 +5684,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594814, 0.0130410132739326, 0.00752923252421043, 0.00532397137499948, 0.018298126367785, 0.014173667737846, 0.0115727512471569, 0.00818317088384972, 0.00668153104781059, 0.00472455591261533, -0.028347335475692, -0.0239578711874978, -0.0207481250689683, -0.0185576872239523, -0.0160714285714286, -0.0131222664791956, -0.0107142857142857, -0.00927884361197611, -0.00757614408414157, -0.00535714285714285};
+ {0.0288675134594814, 0.0130410132739325, 0.00752923252421041, 0.00532397137499949, 0.018298126367785, 0.014173667737846, 0.0115727512471569, 0.00818317088384972, 0.00668153104781059, 0.00472455591261533, -0.028347335475692, -0.0239578711874978, -0.0207481250689683, -0.0185576872239523, -0.0160714285714286, -0.0131222664791956, -0.0107142857142857, -0.00927884361197611, -0.00757614408414157, -0.00535714285714285};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -5724,17 +5693,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -5743,46 +5712,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5988,7 +5957,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594813, -0.0130410132739325, 0.0075292325242104, 0.0053239713749995, 0.018298126367785, -0.014173667737846, -0.0115727512471569, 0.0081831708838497, 0.00668153104781062, 0.00472455591261534, 0.028347335475692, -0.0239578711874977, -0.0207481250689683, 0.0185576872239522, 0.0160714285714286, 0.0131222664791956, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0288675134594814, -0.0130410132739325, 0.00752923252421042, 0.0053239713749995, 0.018298126367785, -0.014173667737846, -0.0115727512471569, 0.00818317088384972, 0.00668153104781061, 0.00472455591261533, 0.028347335475692, -0.0239578711874978, -0.0207481250689683, 0.0185576872239523, 0.0160714285714286, 0.0131222664791956, -0.0107142857142857, -0.00927884361197613, -0.00757614408414158, -0.00535714285714285};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -5997,17 +5966,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -6016,46 +5985,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6261,7 +6230,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0288675134594812, 0.0, -0.0150584650484209, 0.00532397137499952, 0.0, 0.0, 0.0, 0.0245495126515492, -0.0133630620956212, 0.00472455591261537, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0428571428571429, -0.0278365308359284, 0.0151522881682832, -0.00535714285714288};
+ {0.0288675134594813, 0.0, -0.0150584650484209, 0.0053239713749995, 0.0, 0.0, 0.0, 0.0245495126515491, -0.0133630620956212, 0.00472455591261536, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0428571428571429, -0.0278365308359284, 0.0151522881682832, -0.00535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -6270,17 +6239,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -6289,46 +6258,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6543,17 +6512,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -6562,46 +6531,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6816,17 +6785,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -6835,46 +6804,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7089,17 +7058,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -7108,46 +7077,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7353,7 +7322,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.097807599554494, -0.0564692439315782, -0.063887656499994, 0.054894379103355, -0.0425210032135381, 0.0231455024943138, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, -0.0375, -0.0524890659167824, 0.0, 0.0216506350946109, 0.0303045763365663, 0.0267857142857143};
+ {0.0, 0.097807599554494, -0.0564692439315782, -0.063887656499994, 0.054894379103355, -0.042521003213538, 0.0231455024943138, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, -0.0375, -0.0524890659167824, 0.0, 0.021650635094611, 0.0303045763365663, 0.0267857142857143};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -7362,17 +7331,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -7381,46 +7350,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7626,7 +7595,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0195615199108988, 0.0112938487863157, 0.127775312999988, 0.0, 0.0, 0.0578637562357844, 0.0, -0.033407655239053, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, 0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
+ {0.0, -0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, 0.0578637562357844, 0.0, -0.0334076552390531, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, 0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -7635,17 +7604,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -7654,46 +7623,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7899,7 +7868,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.097807599554494, -0.0790569415042095, -0.031943828249997, 0.054894379103355, 0.014173667737846, -0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.00691604168965609, -0.0618589574131742, -0.0160714285714286, 0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714286};
+ {0.0, 0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, 0.014173667737846, -0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.0069160416896561, -0.0618589574131742, -0.0160714285714286, 0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714285};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -7908,17 +7877,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -7927,46 +7896,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8172,7 +8141,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, 0.0566946709513841, -0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, 0.0618589574131742, -0.0214285714285714, 0.00437408882639853, -0.0642857142857143, 0.00927884361197613, 0.00757614408414158, -0.00535714285714285};
+ {0.0, -0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, 0.0566946709513841, -0.0115727512471569, 0.0245495126515491, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, 0.0618589574131742, -0.0214285714285714, 0.00437408882639853, -0.0642857142857143, 0.00927884361197613, 0.00757614408414158, -0.00535714285714285};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -8181,17 +8150,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -8200,46 +8169,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8445,7 +8414,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0978075995544939, -0.0564692439315782, -0.063887656499994, 0.054894379103355, 0.0425210032135381, -0.0231455024943137, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, 0.0375, 0.0524890659167824, 0.0, 0.021650635094611, 0.0303045763365663, 0.0267857142857143};
+ {0.0, -0.0978075995544939, -0.0564692439315782, -0.063887656499994, 0.054894379103355, 0.0425210032135381, -0.0231455024943137, 0.0245495126515491, -0.0133630620956212, -0.0236227795630767, 0.0, 0.0, 0.0484122918275927, 0.0, 0.0375, 0.0524890659167824, 0.0, 0.0216506350946109, 0.0303045763365663, 0.0267857142857143};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -8454,17 +8423,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -8473,46 +8442,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8718,7 +8687,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, -0.0578637562357845, 0.0, -0.033407655239053, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, -0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
+ {0.0, 0.0195615199108988, 0.0112938487863156, 0.127775312999988, 0.0, 0.0, -0.0578637562357845, 0.0, -0.0334076552390531, 0.0472455591261534, 0.0, 0.0, 0.0, 0.0, 0.0, -0.065611332395978, 0.0, 0.0, -0.0378807204207079, -0.0535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -8727,17 +8696,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -8746,46 +8715,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8991,7 +8960,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, -0.014173667737846, 0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.0069160416896561, 0.0618589574131742, 0.0160714285714286, -0.00874817765279707, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714287};
+ {0.0, -0.0978075995544939, -0.0790569415042095, -0.031943828249997, 0.054894379103355, -0.014173667737846, 0.0462910049886276, -0.0245495126515492, 0.0133630620956212, 0.0236227795630767, 0.0, 0.0479157423749955, -0.00691604168965611, 0.0618589574131742, 0.0160714285714286, -0.00874817765279706, 0.0428571428571429, 0.0154647393532935, 0.0, -0.00535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -9000,17 +8969,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -9019,46 +8988,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9264,7 +9233,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.0195615199108988, 0.124232336649472, -0.031943828249997, 0.0, -0.0566946709513841, 0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, -0.0618589574131742, 0.0214285714285714, -0.00437408882639852, -0.0642857142857143, 0.00927884361197614, 0.00757614408414158, -0.00535714285714285};
+ {0.0, 0.0195615199108987, 0.124232336649472, -0.031943828249997, 0.0, -0.0566946709513841, 0.0115727512471569, 0.0245495126515492, -0.0467707173346743, 0.0236227795630767, 0.0, 0.0, 0.0, -0.0618589574131742, 0.0214285714285714, -0.00437408882639853, -0.0642857142857143, 0.00927884361197614, 0.00757614408414157, -0.00535714285714285};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -9273,17 +9242,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -9292,46 +9261,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9537,7 +9506,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, -0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, 0.0425210032135381, 0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, 0.0850420064270761, 0.0239578711874977, 0.0207481250689683, -0.00618589574131741, -0.00535714285714285, -0.00437408882639853, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0, -0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, 0.0425210032135381, 0.0347182537414707, 0.0409158544192486, 0.033407655239053, 0.0236227795630767, 0.0850420064270761, 0.0239578711874977, 0.0207481250689683, -0.00618589574131742, -0.00535714285714285, -0.00437408882639851, -0.0107142857142857, -0.00927884361197612, -0.00757614408414158, -0.00535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -9546,17 +9515,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -9565,46 +9534,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9810,7 +9779,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.0, 0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, -0.0425210032135381, -0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, -0.0850420064270761, 0.0239578711874978, 0.0207481250689683, 0.00618589574131741, 0.00535714285714285, 0.00437408882639852, -0.0107142857142857, -0.00927884361197613, -0.00757614408414159, -0.00535714285714286};
+ {0.0, 0.117369119465393, -0.0451753951452626, -0.031943828249997, -0.018298126367785, -0.042521003213538, -0.0347182537414707, 0.0409158544192486, 0.0334076552390531, 0.0236227795630767, -0.0850420064270761, 0.0239578711874978, 0.0207481250689683, 0.00618589574131741, 0.00535714285714285, 0.00437408882639852, -0.0107142857142857, -0.00927884361197613, -0.00757614408414158, -0.00535714285714286};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -9819,17 +9788,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -9838,46 +9807,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -10083,7 +10052,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, 0.117369119465393, 0.0677630927178939, 0.0479157423749955, 0.0, 0.0850420064270761, 0.0694365074829413, -0.0736485379546474, 0.0400891862868636, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, 0.075, -0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
+ {0.259807621135332, 0.117369119465393, 0.0677630927178939, 0.0479157423749955, 0.0, 0.0850420064270761, 0.0694365074829413, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, 0.075, -0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -10092,17 +10061,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -10111,46 +10080,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -10356,7 +10325,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, -0.117369119465393, 0.0677630927178938, 0.0479157423749954, 0.0, -0.0850420064270762, -0.0694365074829414, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, -0.075, 0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
+ {0.259807621135331, -0.117369119465393, 0.0677630927178938, 0.0479157423749954, 0.0, -0.0850420064270762, -0.0694365074829414, -0.0736485379546474, 0.0400891862868637, -0.0992156741649221, 0.0, 0.0, 0.0, 0.0, -0.0750000000000001, 0.0262445329583912, 0.0, -0.0649519052838329, -0.0151522881682832, 0.0267857142857143};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -10365,17 +10334,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -10384,46 +10353,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -10638,17 +10607,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -10657,46 +10626,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -10902,7 +10871,7 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
// Table(s) of coefficients
static const double coefficients0[20] = \
- {0.259807621135332, 0.0, 0.0, -0.143747227124987, -0.10978875820671, 0.0, 0.0, -0.122747563257746, 0.0, 0.0425210032135381, 0.0, -0.095831484749991, 0.0138320833793122, 0.0, 0.0, 0.0, 0.0428571428571429, 0.0154647393532936, 0.0, -0.00535714285714284};
+ {0.259807621135332, 0.0, 0.0, -0.143747227124987, -0.10978875820671, 0.0, 0.0, -0.122747563257746, 0.0, 0.0425210032135381, 0.0, -0.095831484749991, 0.0138320833793122, 0.0, 0.0, 0.0, 0.0428571428571429, 0.0154647393532936, 0.0, -0.00535714285714283};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[20][20] = \
@@ -10911,17 +10880,17 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 11.2249721603218, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.58257569495586, 0.0, 8.36660026534076, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.74165738677396, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4.58257569495586, 0.0, 8.36660026534075, -1.18321595661993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.74165738677395, 0.0, 0.0, 8.69482604771367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.499090833947, -7.24788278505848e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.7207085272731e-14, 1.22691973515832e-14, 0.692820323027546, 0.565685424949234, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.89897948556635, 1.04599536787902e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210823, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.60000000000003, 0.0, 8.76356092008269, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963608, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049954, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725905, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.54558441227156, 0.0, 0.0, 7.66811580507229, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.499090833947, -6.67202985943396e-14, -3.3466401061363, -2.36643191323985, 15.4919333848297, 1.92505404874183e-14, 1.1183436843606e-14, 0.692820323027548, 0.565685424949235, 0.399999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.89897948556636, 1.20142659132654e-14, 0.0, 0.0, 14.1985914794391, -0.828078671210824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.24264068711929, 0.0, 0.0, 0.0, 0.0, 14.3427433120127, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.03075425813599e-14, 0.0},
+ {3.60000000000003, 0.0, 8.76356092008268, -1.54919333848298, 0.0, 0.0, 0.0, 9.52470471983255, -1.48131215963609, 0.261861468283193, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.11769145362398, 0.0, 3.16227766016838, 4.91934955049953, 0.0, 0.0, 0.0, 0.0, 10.690449676497, -2.41897262725906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.54558441227156, 0.0, 0.0, 7.6681158050723, 0.0, 0.0, 0.0, 0.0, 0.0, 10.3691851174526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
@@ -10930,46 +10899,46 @@ void poisson3d_3_finite_element_2::_evaluate_basis_derivatives(std::size_t i,
static const double dmats1[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.47722557505167, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309973, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106463, 0.0, 9.66091783079296, 0.683130051063984, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079295, 0.683130051063989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880669, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772444, 2.44948974278317, 2.82842712474619, -1.0, 9.16515138991168, 7.09929573971954, -0.414039335605412, -2.04939015319193, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.80000000000001, -5.6920997883031, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884732, 4.76235235991626, -0.740656079818037, 0.130930734141594, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772444, 2.44948974278317, 2.82842712474619, -0.999999999999998, 9.16515138991168, 7.09929573971954, -0.414039335605413, -2.04939015319193, -0.478091443733758, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355965, -0.408248290463862, 3.17542648054295, 0.0, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671766, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, -5.69209978830309, 4.38178046004132, -0.774596669241486, 0.0, 10.998181667894, 0.962140470884733, 4.76235235991626, -0.740656079818038, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.55884572681199, 2.73861278752583, 1.58113883008419, 2.45967477524977, 0.0, 0.0, 9.25820099772552, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.1845925587263, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.37796447300923, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.80000000000001, 0.0, 3.65148371670111, -2.84018778721879, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.02140518265514e-14},
- {2.20454076850485, 0.0, 0.0, 6.64078308635357, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613578, 0.0, 0.0, 3.83405790253615, 0.0, 0.0, 0.0, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.19615242270666, 0.0, -3.16227766016842, -2.2360679774998, 0.0, 0.0, 0.0, 13.7477270848675, 0.534522483824856, 0.377964473009231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-1.8, 0.0, 3.65148371670111, -2.84018778721878, 0.0, 0.0, 0.0, 0.0, 12.3442679969674, 1.39659449751035, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.20454076850485, 0.0, 0.0, 6.64078308635358, 0.0, 0.0, 0.0, 0.0, 0.0, 8.97997772825747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats2[20][20] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.16227766016838, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.82574185835056, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.16397779494323, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.82574185835055, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.16397779494322, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973465, -0.763762615825974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.29128784747792, 1.44913767461894, 4.18330013267037, -0.591607978309961, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.87082869338701, 7.09929573971954, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.32287565553231, 0.0, 3.86436713231719, -0.34156502553199, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.87082869338701, 7.09929573971955, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.32287565553231, 0.0, 3.86436713231719, -0.341565025531989, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.08012344973463, 0.0, 7.09929573971954, 2.50998007960221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-3.81881307912992, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.74954541697347, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113266, 0.346410161513771, 0.282842712474616, 0.199999999999997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141596, 7.09929573971954, -0.414039335605411, -2.04939015319192, -0.478091443733756, 0.169030850945702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.01246117974981, 2.12132034355964, -0.40824829046386, 3.17542648054294, 9.07114735222145, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.8, 0.632455532033672, 4.38178046004132, -0.774596669241485, 0.0, 3.14233761939829, -0.106904496764969, 4.76235235991626, -0.740656079818038, 0.130930734141596, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.55884572681199, 0.547722557505162, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.27279220613578, -6.26099033699945, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.03923048454133, 0.0, 3.16227766016836, -0.447213595499961, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824845, 0.0755928946018462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.899999999999999, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755176, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.734846922834949, 0.0, -6.26099033699947, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.71576766497729, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
+ {-3.81881307912991, 0.0, 0.0, 8.87411967464944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.74954541697348, 5.79655069847574, -1.67332005306814, -1.18321595661991, 7.74596669241484, -1.19999999999999, -0.979795897113265, 0.346410161513771, 0.282842712474615, 0.199999999999998, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.32379000772445, 2.44948974278318, 2.82842712474619, -0.999999999999999, 1.30930734141595, 7.09929573971954, -0.414039335605412, -2.04939015319192, -0.478091443733757, 0.169030850945701, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.01246117974981, 2.12132034355964, -0.408248290463858, 3.17542648054294, 9.07114735222146, 0.0, 7.17137165600637, 0.0, -1.38013111868471, -1.56144011671765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.8, 0.632455532033673, 4.38178046004132, -0.774596669241484, 0.0, 3.14233761939829, -0.106904496764968, 4.76235235991626, -0.740656079818039, 0.130930734141595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.55884572681199, 0.547722557505166, 1.58113883008419, 2.45967477524977, 0.0, 9.07114735222145, 1.85164019954511, 0.0, 5.34522483824849, -1.20948631362953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.27279220613577, -6.26099033699944, 0.0, 3.83405790253615, 0.0, 0.0, 10.5830052442584, 0.0, 0.0, 5.18459255872629, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.03923048454133, 0.0, 3.16227766016836, -0.44721359549996, 0.0, 0.0, 0.0, 5.89188303637179, -0.534522483824846, 0.0755928946018463, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.899999999999997, 0.0, 1.46059348668037, 1.42009389360939, 0.0, 0.0, 0.0, 9.07114735222143, 4.93770719878697, -0.698297248755177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {0.734846922834948, 0.0, -6.26099033699946, 2.21359436211785, 0.0, 0.0, 0.0, 0.0, 10.5830052442584, 2.99332590941915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {5.71576766497728, 0.0, 0.0, -4.69574275274956, 0.0, 0.0, 0.0, 0.0, 0.0, 12.69960629311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -11674,6 +11643,35 @@ std::size_t poisson3d_3_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_3_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_3_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -11722,7 +11720,7 @@ void poisson3d_3_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_3_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -11783,6 +11781,156 @@ void poisson3d_3_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_3_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_3_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -11893,6 +12041,35 @@ std::size_t poisson3d_3_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_3_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_3_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -11977,7 +12154,7 @@ void poisson3d_3_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_3_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -12046,33 +12223,247 @@ void poisson3d_3_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t poisson3d_3_dofmap_1::num_sub_dofmaps() const
-{
- return 3;
-}
-
-ufc::dofmap * poisson3d_3_dofmap_1::create_sub_dofmap(std::size_t i) const
+void poisson3d_3_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new poisson3d_3_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new poisson3d_3_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new poisson3d_3_dofmap_0();
- break;
- }
- }
-
- return 0;
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+}
+
+std::size_t poisson3d_3_dofmap_1::num_sub_dofmaps() const
+{
+ return 3;
+}
+
+ufc::dofmap * poisson3d_3_dofmap_1::create_sub_dofmap(std::size_t i) const
+{
+ switch (i)
+ {
+ case 0:
+ {
+ return new poisson3d_3_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new poisson3d_3_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new poisson3d_3_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
}
ufc::dofmap * poisson3d_3_dofmap_1::create() const
@@ -12175,6 +12566,35 @@ std::size_t poisson3d_3_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_3_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ case 3:
+ {
+ return 20;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_3_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -12271,7 +12691,7 @@ void poisson3d_3_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_3_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -12404,6 +12824,212 @@ void poisson3d_3_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_3_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ dofs[3] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 10;
+ dofs[3] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 12;
+ dofs[3] = 13;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 14;
+ dofs[3] = 15;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 7;
+ dofs[7] = 8;
+ dofs[8] = 9;
+ dofs[9] = 16;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 10;
+ dofs[6] = 11;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 17;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 10;
+ dofs[6] = 11;
+ dofs[7] = 14;
+ dofs[8] = 15;
+ dofs[9] = 18;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 8;
+ dofs[4] = 9;
+ dofs[5] = 12;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ dofs[8] = 15;
+ dofs[9] = 19;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_3_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -12441,6 +13067,21 @@ void poisson3d_3_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 1768
@@ -12470,406 +13111,406 @@ void poisson3d_3_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double G0_2_2 = det*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
// Compute element tensor
- A[0] = 0.0595238095238095*G0_0_0 + 0.0595238095238096*G0_0_1 + 0.0595238095238095*G0_0_2 + 0.0595238095238096*G0_1_0 + 0.0595238095238096*G0_1_1 + 0.0595238095238095*G0_1_2 + 0.0595238095238095*G0_2_0 + 0.0595238095238095*G0_2_1 + 0.0595238095238095*G0_2_2;
- A[1] = -0.0113095238095237*G0_0_0 - 0.0113095238095237*G0_1_0 - 0.0113095238095237*G0_2_0;
- A[2] = -0.0113095238095238*G0_0_1 - 0.0113095238095238*G0_1_1 - 0.0113095238095237*G0_2_1;
+ A[0] = 0.0595238095238096*G0_0_0 + 0.0595238095238095*G0_0_1 + 0.0595238095238095*G0_0_2 + 0.0595238095238095*G0_1_0 + 0.0595238095238095*G0_1_1 + 0.0595238095238095*G0_1_2 + 0.0595238095238095*G0_2_0 + 0.0595238095238095*G0_2_1 + 0.0595238095238095*G0_2_2;
+ A[1] = -0.0113095238095237*G0_0_0 - 0.0113095238095237*G0_1_0 - 0.0113095238095238*G0_2_0;
+ A[2] = -0.0113095238095238*G0_0_1 - 0.0113095238095237*G0_1_1 - 0.0113095238095237*G0_2_1;
A[3] = -0.0113095238095238*G0_0_2 - 0.0113095238095237*G0_1_2 - 0.0113095238095237*G0_2_2;
- A[4] = -0.0133928571428572*G0_0_1 - 0.0133928571428573*G0_0_2 - 0.0133928571428571*G0_1_1 - 0.013392857142857*G0_1_2 - 0.013392857142857*G0_2_1 - 0.0133928571428569*G0_2_2;
- A[5] = -0.013392857142857*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428571*G0_1_1 - 0.0133928571428571*G0_1_2 - 0.0133928571428571*G0_2_1 - 0.0133928571428571*G0_2_2;
- A[6] = -0.013392857142857*G0_0_0 - 0.0133928571428569*G0_0_2 - 0.013392857142857*G0_1_0 - 0.0133928571428569*G0_1_2 - 0.013392857142857*G0_2_0 - 0.013392857142857*G0_2_2;
- A[7] = -0.013392857142857*G0_0_0 - 0.0133928571428571*G0_0_2 - 0.0133928571428571*G0_1_0 - 0.0133928571428571*G0_1_2 - 0.0133928571428571*G0_2_0 - 0.0133928571428572*G0_2_2;
- A[8] = -0.0133928571428568*G0_0_0 - 0.0133928571428568*G0_0_1 - 0.013392857142857*G0_1_0 - 0.0133928571428568*G0_1_1 - 0.013392857142857*G0_2_0 - 0.0133928571428569*G0_2_1;
- A[9] = -0.0133928571428574*G0_0_0 - 0.0133928571428573*G0_0_1 - 0.0133928571428571*G0_1_0 - 0.0133928571428572*G0_1_1 - 0.013392857142857*G0_2_0 - 0.0133928571428571*G0_2_1;
- A[10] = -0.0348214285714284*G0_0_0 - 0.0348214285714284*G0_0_1 - 0.0964285714285715*G0_0_2 - 0.0348214285714284*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0964285714285715*G0_1_2 - 0.0348214285714284*G0_2_0 - 0.0348214285714284*G0_2_1 - 0.0964285714285714*G0_2_2;
- A[11] = 0.013392857142857*G0_0_0 + 0.013392857142857*G0_0_1 + 0.0482142857142858*G0_0_2 + 0.0133928571428571*G0_1_0 + 0.0133928571428571*G0_1_1 + 0.0482142857142857*G0_1_2 + 0.0133928571428571*G0_2_0 + 0.0133928571428571*G0_2_1 + 0.0482142857142857*G0_2_2;
- A[12] = -0.0348214285714286*G0_0_0 - 0.0964285714285717*G0_0_1 - 0.0348214285714285*G0_0_2 - 0.0348214285714285*G0_1_0 - 0.0964285714285716*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0348214285714284*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0348214285714284*G0_2_2;
- A[13] = 0.0133928571428573*G0_0_0 + 0.048214285714286*G0_0_1 + 0.0133928571428573*G0_0_2 + 0.0133928571428571*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.013392857142857*G0_1_2 + 0.013392857142857*G0_2_0 + 0.0482142857142858*G0_2_1 + 0.0133928571428569*G0_2_2;
- A[14] = -0.0964285714285713*G0_0_0 - 0.0348214285714283*G0_0_1 - 0.0348214285714283*G0_0_2 - 0.0964285714285715*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0964285714285714*G0_2_0 - 0.0348214285714284*G0_2_1 - 0.0348214285714284*G0_2_2;
- A[15] = 0.0482142857142855*G0_0_0 + 0.0133928571428568*G0_0_1 + 0.0133928571428568*G0_0_2 + 0.0482142857142856*G0_1_0 + 0.0133928571428569*G0_1_1 + 0.0133928571428569*G0_1_2 + 0.0482142857142856*G0_2_0 + 0.0133928571428569*G0_2_1 + 0.0133928571428569*G0_2_2;
- A[16] = -0.0321428571428571*G0_0_0 - 0.0321428571428569*G0_0_1 - 0.032142857142857*G0_0_2 - 0.0321428571428569*G0_1_0 - 0.0321428571428568*G0_1_1 - 0.0321428571428568*G0_1_2 - 0.0321428571428568*G0_2_0 - 0.0321428571428569*G0_2_1 - 0.0321428571428568*G0_2_2;
- A[17] = 0.0321428571428571*G0_0_0 + 0.0482142857142857*G0_0_1 + 0.0482142857142855*G0_0_2 + 0.0321428571428569*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.0321428571428568*G0_2_0 + 0.0482142857142854*G0_2_1 + 0.0482142857142855*G0_2_2;
- A[18] = 0.0482142857142855*G0_0_0 + 0.0321428571428569*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0482142857142854*G0_1_0 + 0.0321428571428569*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0321428571428569*G0_2_1 + 0.0482142857142855*G0_2_2;
- A[19] = 0.0482142857142853*G0_0_0 + 0.0482142857142855*G0_0_1 + 0.032142857142857*G0_0_2 + 0.0482142857142854*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0321428571428568*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142854*G0_2_1 + 0.0321428571428568*G0_2_2;
- A[20] = -0.0113095238095237*G0_0_0 - 0.0113095238095237*G0_0_1 - 0.0113095238095237*G0_0_2;
- A[21] = 0.0595238095238094*G0_0_0;
+ A[4] = -0.0133928571428572*G0_0_1 - 0.0133928571428572*G0_0_2 - 0.0133928571428571*G0_1_1 - 0.013392857142857*G0_1_2 - 0.013392857142857*G0_2_1 - 0.0133928571428569*G0_2_2;
+ A[5] = -0.0133928571428571*G0_0_1 - 0.0133928571428571*G0_0_2 - 0.0133928571428571*G0_1_1 - 0.0133928571428571*G0_1_2 - 0.0133928571428571*G0_2_1 - 0.0133928571428572*G0_2_2;
+ A[6] = -0.013392857142857*G0_0_0 - 0.0133928571428569*G0_0_2 - 0.013392857142857*G0_1_0 - 0.013392857142857*G0_1_2 - 0.013392857142857*G0_2_0 - 0.013392857142857*G0_2_2;
+ A[7] = -0.013392857142857*G0_0_0 - 0.0133928571428571*G0_0_2 - 0.0133928571428571*G0_1_0 - 0.0133928571428572*G0_1_2 - 0.0133928571428571*G0_2_0 - 0.0133928571428572*G0_2_2;
+ A[8] = -0.0133928571428568*G0_0_0 - 0.0133928571428568*G0_0_1 - 0.013392857142857*G0_1_0 - 0.0133928571428569*G0_1_1 - 0.013392857142857*G0_2_0 - 0.0133928571428569*G0_2_1;
+ A[9] = -0.0133928571428574*G0_0_0 - 0.0133928571428573*G0_0_1 - 0.0133928571428571*G0_1_0 - 0.0133928571428573*G0_1_1 - 0.013392857142857*G0_2_0 - 0.0133928571428571*G0_2_1;
+ A[10] = -0.0348214285714285*G0_0_0 - 0.0348214285714285*G0_0_1 - 0.0964285714285715*G0_0_2 - 0.0348214285714285*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0964285714285714*G0_1_2 - 0.0348214285714284*G0_2_0 - 0.0348214285714284*G0_2_1 - 0.0964285714285714*G0_2_2;
+ A[11] = 0.013392857142857*G0_0_0 + 0.0133928571428571*G0_0_1 + 0.0482142857142858*G0_0_2 + 0.0133928571428571*G0_1_0 + 0.0133928571428571*G0_1_1 + 0.0482142857142857*G0_1_2 + 0.0133928571428571*G0_2_0 + 0.0133928571428571*G0_2_1 + 0.0482142857142857*G0_2_2;
+ A[12] = -0.0348214285714285*G0_0_0 - 0.0964285714285716*G0_0_1 - 0.0348214285714285*G0_0_2 - 0.0348214285714285*G0_1_0 - 0.0964285714285715*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0348214285714284*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0348214285714284*G0_2_2;
+ A[13] = 0.0133928571428573*G0_0_0 + 0.0482142857142859*G0_0_1 + 0.0133928571428572*G0_0_2 + 0.0133928571428571*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.013392857142857*G0_1_2 + 0.013392857142857*G0_2_0 + 0.0482142857142857*G0_2_1 + 0.0133928571428569*G0_2_2;
+ A[14] = -0.0964285714285714*G0_0_0 - 0.0348214285714284*G0_0_1 - 0.0348214285714284*G0_0_2 - 0.0964285714285715*G0_1_0 - 0.0348214285714285*G0_1_1 - 0.0348214285714285*G0_1_2 - 0.0964285714285715*G0_2_0 - 0.0348214285714285*G0_2_1 - 0.0348214285714285*G0_2_2;
+ A[15] = 0.0482142857142856*G0_0_0 + 0.0133928571428569*G0_0_1 + 0.0133928571428569*G0_0_2 + 0.0482142857142857*G0_1_0 + 0.013392857142857*G0_1_1 + 0.013392857142857*G0_1_2 + 0.0482142857142857*G0_2_0 + 0.013392857142857*G0_2_1 + 0.013392857142857*G0_2_2;
+ A[16] = -0.0321428571428571*G0_0_0 - 0.0321428571428569*G0_0_1 - 0.032142857142857*G0_0_2 - 0.032142857142857*G0_1_0 - 0.032142857142857*G0_1_1 - 0.0321428571428569*G0_1_2 - 0.0321428571428569*G0_2_0 - 0.0321428571428569*G0_2_1 - 0.0321428571428568*G0_2_2;
+ A[17] = 0.0321428571428571*G0_0_0 + 0.0482142857142857*G0_0_1 + 0.0482142857142855*G0_0_2 + 0.032142857142857*G0_1_0 + 0.0482142857142856*G0_1_1 + 0.0482142857142856*G0_1_2 + 0.0321428571428569*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0482142857142856*G0_2_2;
+ A[18] = 0.0482142857142855*G0_0_0 + 0.0321428571428569*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0482142857142855*G0_1_0 + 0.0321428571428569*G0_1_1 + 0.0482142857142856*G0_1_2 + 0.0482142857142855*G0_2_0 + 0.0321428571428569*G0_2_1 + 0.0482142857142856*G0_2_2;
+ A[19] = 0.0482142857142853*G0_0_0 + 0.0482142857142855*G0_0_1 + 0.032142857142857*G0_0_2 + 0.0482142857142855*G0_1_0 + 0.0482142857142856*G0_1_1 + 0.0321428571428569*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0321428571428568*G0_2_2;
+ A[20] = -0.0113095238095237*G0_0_0 - 0.0113095238095237*G0_0_1 - 0.0113095238095238*G0_0_2;
+ A[21] = 0.0595238095238095*G0_0_0;
A[22] = 0.0113095238095238*G0_0_1;
A[23] = 0.0113095238095238*G0_0_2;
- A[24] = 0.0133928571428571*G0_0_1 + 0.0133928571428572*G0_0_2;
- A[25] = 0.0133928571428571*G0_0_1 + 0.013392857142857*G0_0_2;
+ A[24] = 0.0133928571428572*G0_0_1 + 0.0133928571428572*G0_0_2;
+ A[25] = 0.0133928571428571*G0_0_1 + 0.0133928571428571*G0_0_2;
A[26] = -0.0348214285714288*G0_0_0 + 0.0616071428571426*G0_0_2;
A[27] = 0.0133928571428571*G0_0_0 - 0.0348214285714286*G0_0_2;
- A[28] = -0.0348214285714288*G0_0_0 + 0.0616071428571427*G0_0_1;
- A[29] = 0.0133928571428572*G0_0_0 - 0.0348214285714286*G0_0_1;
+ A[28] = -0.0348214285714289*G0_0_0 + 0.0616071428571427*G0_0_1;
+ A[29] = 0.0133928571428573*G0_0_0 - 0.0348214285714286*G0_0_1;
A[30] = -0.0133928571428574*G0_0_0 - 0.0133928571428574*G0_0_1;
A[31] = -0.0133928571428571*G0_0_0 - 0.0133928571428571*G0_0_1;
- A[32] = -0.0133928571428573*G0_0_0 - 0.0133928571428573*G0_0_2;
- A[33] = -0.0133928571428572*G0_0_0 - 0.0133928571428572*G0_0_2;
- A[34] = 0.0482142857142854*G0_0_0 + 0.0348214285714281*G0_0_1 + 0.0348214285714281*G0_0_2;
- A[35] = -0.0964285714285711*G0_0_0 - 0.0616071428571426*G0_0_1 - 0.0616071428571426*G0_0_2;
- A[36] = 0.0321428571428571*G0_0_0 - 0.0160714285714288*G0_0_1 - 0.0160714285714286*G0_0_2;
- A[37] = -0.0321428571428571*G0_0_0;
- A[38] = 0.0482142857142862*G0_0_0 + 0.0160714285714289*G0_0_1;
+ A[32] = -0.0133928571428572*G0_0_0 - 0.0133928571428573*G0_0_2;
+ A[33] = -0.0133928571428573*G0_0_0 - 0.0133928571428572*G0_0_2;
+ A[34] = 0.0482142857142855*G0_0_0 + 0.0348214285714282*G0_0_1 + 0.0348214285714282*G0_0_2;
+ A[35] = -0.0964285714285712*G0_0_0 - 0.0616071428571426*G0_0_1 - 0.0616071428571426*G0_0_2;
+ A[36] = 0.0321428571428572*G0_0_0 - 0.0160714285714287*G0_0_1 - 0.0160714285714286*G0_0_2;
+ A[37] = -0.0321428571428572*G0_0_0;
+ A[38] = 0.0482142857142862*G0_0_0 + 0.0160714285714288*G0_0_1;
A[39] = 0.048214285714286*G0_0_0 + 0.0160714285714286*G0_0_2;
- A[40] = -0.0113095238095238*G0_1_0 - 0.0113095238095238*G0_1_1 - 0.0113095238095237*G0_1_2;
+ A[40] = -0.0113095238095238*G0_1_0 - 0.0113095238095237*G0_1_1 - 0.0113095238095237*G0_1_2;
A[41] = 0.0113095238095238*G0_1_0;
A[42] = 0.0595238095238094*G0_1_1;
A[43] = 0.0113095238095238*G0_1_2;
A[44] = -0.0348214285714289*G0_1_1 + 0.0616071428571425*G0_1_2;
- A[45] = 0.0133928571428572*G0_1_1 - 0.0348214285714288*G0_1_2;
- A[46] = 0.0133928571428572*G0_1_0 + 0.0133928571428571*G0_1_2;
- A[47] = 0.0133928571428572*G0_1_0 + 0.0133928571428572*G0_1_2;
- A[48] = -0.0348214285714286*G0_1_0 + 0.0133928571428572*G0_1_1;
- A[49] = 0.0616071428571428*G0_1_0 - 0.0348214285714286*G0_1_1;
+ A[45] = 0.0133928571428571*G0_1_1 - 0.0348214285714288*G0_1_2;
+ A[46] = 0.0133928571428572*G0_1_0 + 0.0133928571428572*G0_1_2;
+ A[47] = 0.0133928571428571*G0_1_0 + 0.0133928571428572*G0_1_2;
+ A[48] = -0.0348214285714287*G0_1_0 + 0.0133928571428572*G0_1_1;
+ A[49] = 0.0616071428571428*G0_1_0 - 0.0348214285714287*G0_1_1;
A[50] = -0.0133928571428572*G0_1_0 - 0.0133928571428572*G0_1_1;
- A[51] = -0.0133928571428572*G0_1_0 - 0.0133928571428572*G0_1_1;
- A[52] = 0.0348214285714286*G0_1_0 + 0.0482142857142856*G0_1_1 + 0.0348214285714284*G0_1_2;
- A[53] = -0.0616071428571428*G0_1_0 - 0.0964285714285714*G0_1_1 - 0.0616071428571426*G0_1_2;
- A[54] = -0.0133928571428573*G0_1_1 - 0.0133928571428573*G0_1_2;
+ A[51] = -0.0133928571428571*G0_1_0 - 0.0133928571428571*G0_1_1;
+ A[52] = 0.0348214285714286*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0348214285714283*G0_1_2;
+ A[53] = -0.0616071428571428*G0_1_0 - 0.0964285714285713*G0_1_1 - 0.0616071428571426*G0_1_2;
+ A[54] = -0.0133928571428573*G0_1_1 - 0.0133928571428572*G0_1_2;
A[55] = -0.0133928571428572*G0_1_1 - 0.0133928571428572*G0_1_2;
- A[56] = -0.0160714285714288*G0_1_0 + 0.0321428571428573*G0_1_1 - 0.0160714285714284*G0_1_2;
- A[57] = 0.0160714285714288*G0_1_0 + 0.048214285714286*G0_1_1;
+ A[56] = -0.0160714285714289*G0_1_0 + 0.0321428571428573*G0_1_1 - 0.0160714285714285*G0_1_2;
+ A[57] = 0.0160714285714289*G0_1_0 + 0.048214285714286*G0_1_1;
A[58] = -0.0321428571428572*G0_1_1;
- A[59] = 0.048214285714286*G0_1_1 + 0.0160714285714285*G0_1_2;
+ A[59] = 0.048214285714286*G0_1_1 + 0.0160714285714287*G0_1_2;
A[60] = -0.0113095238095238*G0_2_0 - 0.0113095238095237*G0_2_1 - 0.0113095238095237*G0_2_2;
A[61] = 0.0113095238095238*G0_2_0;
A[62] = 0.0113095238095238*G0_2_1;
A[63] = 0.0595238095238094*G0_2_2;
- A[64] = -0.0348214285714288*G0_2_1 + 0.013392857142857*G0_2_2;
- A[65] = 0.0616071428571429*G0_2_1 - 0.0348214285714286*G0_2_2;
+ A[64] = -0.0348214285714287*G0_2_1 + 0.013392857142857*G0_2_2;
+ A[65] = 0.0616071428571429*G0_2_1 - 0.0348214285714285*G0_2_2;
A[66] = -0.0348214285714286*G0_2_0 + 0.013392857142857*G0_2_2;
A[67] = 0.0616071428571428*G0_2_0 - 0.0348214285714284*G0_2_2;
A[68] = 0.013392857142857*G0_2_0 + 0.0133928571428571*G0_2_1;
A[69] = 0.0133928571428571*G0_2_0 + 0.013392857142857*G0_2_1;
A[70] = 0.0348214285714286*G0_2_0 + 0.0348214285714287*G0_2_1 + 0.0482142857142857*G0_2_2;
- A[71] = -0.0616071428571429*G0_2_0 - 0.0616071428571429*G0_2_1 - 0.0964285714285714*G0_2_2;
- A[72] = -0.0133928571428571*G0_2_0 - 0.0133928571428571*G0_2_2;
+ A[71] = -0.0616071428571428*G0_2_0 - 0.0616071428571429*G0_2_1 - 0.0964285714285714*G0_2_2;
+ A[72] = -0.013392857142857*G0_2_0 - 0.013392857142857*G0_2_2;
A[73] = -0.0133928571428571*G0_2_0 - 0.013392857142857*G0_2_2;
A[74] = -0.0133928571428571*G0_2_1 - 0.0133928571428571*G0_2_2;
A[75] = -0.013392857142857*G0_2_1 - 0.013392857142857*G0_2_2;
- A[76] = -0.0160714285714289*G0_2_0 - 0.0160714285714288*G0_2_1 + 0.0321428571428567*G0_2_2;
- A[77] = 0.0160714285714289*G0_2_0 + 0.0482142857142856*G0_2_2;
+ A[76] = -0.0160714285714289*G0_2_0 - 0.0160714285714288*G0_2_1 + 0.0321428571428566*G0_2_2;
+ A[77] = 0.0160714285714289*G0_2_0 + 0.0482142857142855*G0_2_2;
A[78] = 0.0160714285714289*G0_2_1 + 0.0482142857142856*G0_2_2;
A[79] = -0.0321428571428566*G0_2_2;
- A[80] = -0.0133928571428572*G0_1_0 - 0.013392857142857*G0_1_1 - 0.013392857142857*G0_1_2 - 0.0133928571428573*G0_2_0 - 0.013392857142857*G0_2_1 - 0.0133928571428569*G0_2_2;
- A[81] = 0.0133928571428571*G0_1_0 + 0.0133928571428572*G0_2_0;
- A[82] = -0.0348214285714288*G0_1_1 + 0.0616071428571426*G0_2_1;
- A[83] = -0.0348214285714288*G0_1_2 + 0.013392857142857*G0_2_2;
- A[84] = 0.241071428571428*G0_1_1 + 0.0964285714285711*G0_1_2 + 0.0964285714285711*G0_2_1 + 0.192857142857142*G0_2_2;
- A[85] = -0.0723214285714285*G0_1_1 + 0.0723214285714285*G0_1_2 - 0.0241071428571428*G0_2_1 - 0.0723214285714291*G0_2_2;
- A[86] = -0.0482142857142857*G0_1_0 - 0.024107142857143*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0241071428571431*G0_2_2;
- A[87] = -0.0723214285714284*G0_1_0 - 0.0482142857142854*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0241071428571426*G0_2_2;
+ A[80] = -0.0133928571428572*G0_1_0 - 0.0133928571428571*G0_1_1 - 0.013392857142857*G0_1_2 - 0.0133928571428572*G0_2_0 - 0.013392857142857*G0_2_1 - 0.0133928571428569*G0_2_2;
+ A[81] = 0.0133928571428572*G0_1_0 + 0.0133928571428572*G0_2_0;
+ A[82] = -0.0348214285714289*G0_1_1 + 0.0616071428571425*G0_2_1;
+ A[83] = -0.0348214285714287*G0_1_2 + 0.013392857142857*G0_2_2;
+ A[84] = 0.241071428571428*G0_1_1 + 0.0964285714285708*G0_1_2 + 0.0964285714285708*G0_2_1 + 0.192857142857142*G0_2_2;
+ A[85] = -0.0723214285714283*G0_1_1 + 0.0723214285714287*G0_1_2 - 0.0241071428571428*G0_2_1 - 0.072321428571429*G0_2_2;
+ A[86] = -0.0482142857142857*G0_1_0 - 0.024107142857143*G0_1_2 - 0.0241071428571427*G0_2_0 - 0.024107142857143*G0_2_2;
+ A[87] = -0.0723214285714282*G0_1_0 - 0.0482142857142853*G0_1_2 - 0.0241071428571427*G0_2_0 - 0.0241071428571426*G0_2_2;
A[88] = -0.0482142857142859*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0723214285714287*G0_2_0 - 0.0241071428571428*G0_2_1;
- A[89] = 0.0964285714285716*G0_1_0 + 0.120535714285714*G0_1_1 + 0.192857142857143*G0_2_0 + 0.0964285714285717*G0_2_1;
- A[90] = 0.0482142857142859*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571428*G0_2_1;
- A[91] = 0.0723214285714285*G0_1_0 + 0.0723214285714285*G0_1_1 + 0.024107142857143*G0_1_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571428*G0_2_1;
- A[92] = 0.0482142857142862*G0_1_0 + 0.0241071428571427*G0_1_1 + 0.0482142857142856*G0_1_2 + 0.0723214285714289*G0_2_0 + 0.0482142857142853*G0_2_1 + 0.072321428571428*G0_2_2;
- A[93] = -0.0964285714285715*G0_1_0 + 0.024107142857143*G0_1_1 - 0.0964285714285711*G0_1_2 - 0.192857142857143*G0_2_0 - 0.096428571428571*G0_2_1 - 0.192857142857143*G0_2_2;
- A[94] = 0.0241071428571431*G0_1_1 + 0.0241071428571432*G0_1_2 + 0.0241071428571428*G0_2_1 + 0.024107142857143*G0_2_2;
- A[95] = 0.0241071428571427*G0_1_1 + 0.0241071428571431*G0_1_2 + 0.0241071428571426*G0_2_1 + 0.024107142857143*G0_2_2;
- A[96] = 0.241071428571428*G0_1_0 - 0.0482142857142855*G0_1_1 + 0.120535714285714*G0_1_2 + 0.0964285714285717*G0_2_0 - 0.0241071428571422*G0_2_1 + 0.0964285714285727*G0_2_2;
- A[97] = -0.241071428571429*G0_1_0 - 0.289285714285714*G0_1_1 - 0.120535714285714*G0_1_2 - 0.0964285714285718*G0_2_0 - 0.120535714285714*G0_2_1;
- A[98] = 0.0482142857142857*G0_1_1 + 0.0241071428571424*G0_1_2 + 0.0241071428571425*G0_2_1;
- A[99] = -0.144642857142857*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.0964285714285723*G0_2_2;
- A[100] = -0.013392857142857*G0_1_0 - 0.0133928571428571*G0_1_1 - 0.0133928571428571*G0_1_2 - 0.013392857142857*G0_2_0 - 0.0133928571428571*G0_2_1 - 0.0133928571428571*G0_2_2;
- A[101] = 0.0133928571428571*G0_1_0 + 0.013392857142857*G0_2_0;
- A[102] = 0.0133928571428572*G0_1_1 - 0.0348214285714288*G0_2_1;
- A[103] = 0.0616071428571429*G0_1_2 - 0.0348214285714286*G0_2_2;
- A[104] = -0.0723214285714285*G0_1_1 - 0.0241071428571428*G0_1_2 + 0.0723214285714284*G0_2_1 - 0.0723214285714291*G0_2_2;
- A[105] = 0.192857142857143*G0_1_1 + 0.0964285714285709*G0_1_2 + 0.096428571428571*G0_2_1 + 0.241071428571428*G0_2_2;
- A[106] = -0.0723214285714282*G0_1_0 - 0.0241071428571427*G0_1_2 - 0.0482142857142851*G0_2_0 - 0.0241071428571424*G0_2_2;
- A[107] = 0.192857142857143*G0_1_0 + 0.0964285714285715*G0_1_2 + 0.0964285714285709*G0_2_0 + 0.120535714285714*G0_2_2;
- A[108] = -0.0241071428571428*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0482142857142853*G0_2_0 - 0.0241071428571427*G0_2_1;
- A[109] = -0.0241071428571429*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0723214285714293*G0_2_0 - 0.0482142857142862*G0_2_1;
- A[110] = 0.0723214285714284*G0_1_0 + 0.0723214285714285*G0_1_1 + 0.0482142857142856*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0241071428571429*G0_2_2;
- A[111] = -0.192857142857143*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0964285714285714*G0_1_2 - 0.0964285714285709*G0_2_0 - 0.0964285714285709*G0_2_1 + 0.0241071428571429*G0_2_2;
- A[112] = 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_2 + 0.0482142857142855*G0_2_0 + 0.024107142857143*G0_2_1 + 0.0482142857142857*G0_2_2;
- A[113] = 0.0241071428571429*G0_1_0 + 0.024107142857143*G0_1_2 + 0.0723214285714293*G0_2_0 + 0.024107142857143*G0_2_1 + 0.0723214285714293*G0_2_2;
- A[114] = 0.0241071428571429*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571428*G0_2_1 + 0.0241071428571427*G0_2_2;
- A[115] = 0.0241071428571429*G0_1_1 + 0.0241071428571427*G0_1_2 + 0.0241071428571426*G0_2_1 + 0.0241071428571424*G0_2_2;
- A[116] = 0.0964285714285715*G0_1_0 + 0.0964285714285716*G0_1_1 - 0.0241071428571427*G0_1_2 + 0.241071428571428*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142863*G0_2_2;
+ A[89] = 0.0964285714285714*G0_1_0 + 0.120535714285714*G0_1_1 + 0.192857142857143*G0_2_0 + 0.0964285714285715*G0_2_1;
+ A[90] = 0.0482142857142859*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571427*G0_2_0 + 0.0241071428571427*G0_2_1;
+ A[91] = 0.0723214285714283*G0_1_0 + 0.0723214285714283*G0_1_1 + 0.0241071428571429*G0_1_2 + 0.0241071428571427*G0_2_0 + 0.0241071428571428*G0_2_1;
+ A[92] = 0.0482142857142861*G0_1_0 + 0.0241071428571427*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.0723214285714288*G0_2_0 + 0.0482142857142853*G0_2_1 + 0.0723214285714279*G0_2_2;
+ A[93] = -0.0964285714285713*G0_1_0 + 0.024107142857143*G0_1_1 - 0.0964285714285709*G0_1_2 - 0.192857142857143*G0_2_0 - 0.096428571428571*G0_2_1 - 0.192857142857142*G0_2_2;
+ A[94] = 0.024107142857143*G0_1_1 + 0.0241071428571432*G0_1_2 + 0.0241071428571428*G0_2_1 + 0.024107142857143*G0_2_2;
+ A[95] = 0.0241071428571427*G0_1_1 + 0.024107142857143*G0_1_2 + 0.0241071428571425*G0_2_1 + 0.024107142857143*G0_2_2;
+ A[96] = 0.241071428571428*G0_1_0 - 0.0482142857142854*G0_1_1 + 0.120535714285714*G0_1_2 + 0.0964285714285713*G0_2_0 - 0.0241071428571421*G0_2_1 + 0.0964285714285725*G0_2_2;
+ A[97] = -0.241071428571428*G0_1_0 - 0.289285714285714*G0_1_1 - 0.120535714285714*G0_1_2 - 0.0964285714285714*G0_2_0 - 0.120535714285714*G0_2_1;
+ A[98] = 0.0482142857142856*G0_1_1 + 0.0241071428571423*G0_1_2 + 0.0241071428571424*G0_2_1;
+ A[99] = -0.144642857142857*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.096428571428572*G0_2_2;
+ A[100] = -0.0133928571428571*G0_1_0 - 0.0133928571428571*G0_1_1 - 0.0133928571428571*G0_1_2 - 0.0133928571428571*G0_2_0 - 0.0133928571428571*G0_2_1 - 0.0133928571428572*G0_2_2;
+ A[101] = 0.0133928571428571*G0_1_0 + 0.0133928571428571*G0_2_0;
+ A[102] = 0.0133928571428571*G0_1_1 - 0.0348214285714288*G0_2_1;
+ A[103] = 0.0616071428571429*G0_1_2 - 0.0348214285714285*G0_2_2;
+ A[104] = -0.0723214285714283*G0_1_1 - 0.0241071428571428*G0_1_2 + 0.0723214285714287*G0_2_1 - 0.072321428571429*G0_2_2;
+ A[105] = 0.192857142857143*G0_1_1 + 0.096428571428571*G0_1_2 + 0.096428571428571*G0_2_1 + 0.241071428571428*G0_2_2;
+ A[106] = -0.0723214285714283*G0_1_0 - 0.0241071428571427*G0_1_2 - 0.0482142857142853*G0_2_0 - 0.0241071428571424*G0_2_2;
+ A[107] = 0.192857142857142*G0_1_0 + 0.0964285714285714*G0_1_2 + 0.0964285714285709*G0_2_0 + 0.120535714285714*G0_2_2;
+ A[108] = -0.0241071428571429*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0482142857142856*G0_2_0 - 0.0241071428571426*G0_2_1;
+ A[109] = -0.0241071428571428*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0723214285714291*G0_2_0 - 0.0482142857142862*G0_2_1;
+ A[110] = 0.0723214285714285*G0_1_0 + 0.0723214285714286*G0_1_1 + 0.0482142857142857*G0_1_2 + 0.0482142857142856*G0_2_0 + 0.0482142857142856*G0_2_1 + 0.0241071428571431*G0_2_2;
+ A[111] = -0.192857142857143*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0964285714285715*G0_1_2 - 0.096428571428571*G0_2_0 - 0.096428571428571*G0_2_1 + 0.0241071428571426*G0_2_2;
+ A[112] = 0.0241071428571429*G0_1_0 + 0.024107142857143*G0_1_2 + 0.0482142857142855*G0_2_0 + 0.0241071428571429*G0_2_1 + 0.0482142857142857*G0_2_2;
+ A[113] = 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_2 + 0.0723214285714291*G0_2_0 + 0.024107142857143*G0_2_1 + 0.0723214285714292*G0_2_2;
+ A[114] = 0.024107142857143*G0_1_1 + 0.0241071428571429*G0_1_2 + 0.0241071428571429*G0_2_1 + 0.0241071428571428*G0_2_2;
+ A[115] = 0.0241071428571429*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571427*G0_2_1 + 0.0241071428571424*G0_2_2;
+ A[116] = 0.0964285714285714*G0_1_0 + 0.0964285714285714*G0_1_1 - 0.0241071428571428*G0_1_2 + 0.241071428571428*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142863*G0_2_2;
A[117] = -0.0964285714285715*G0_1_0 - 0.120535714285714*G0_1_2 - 0.241071428571428*G0_2_0 - 0.120535714285714*G0_2_1 - 0.289285714285714*G0_2_2;
- A[118] = -0.0964285714285717*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.144642857142856*G0_2_2;
- A[119] = 0.0241071428571428*G0_1_2 + 0.0241071428571434*G0_2_1 + 0.0482142857142862*G0_2_2;
- A[120] = -0.013392857142857*G0_0_0 - 0.013392857142857*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428569*G0_2_0 - 0.0133928571428569*G0_2_1 - 0.013392857142857*G0_2_2;
+ A[118] = -0.0964285714285716*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.144642857142856*G0_2_2;
+ A[119] = 0.0241071428571429*G0_1_2 + 0.0241071428571433*G0_2_1 + 0.0482142857142863*G0_2_2;
+ A[120] = -0.013392857142857*G0_0_0 - 0.013392857142857*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428569*G0_2_0 - 0.013392857142857*G0_2_1 - 0.013392857142857*G0_2_2;
A[121] = -0.0348214285714288*G0_0_0 + 0.0616071428571426*G0_2_0;
- A[122] = 0.0133928571428572*G0_0_1 + 0.0133928571428571*G0_2_1;
+ A[122] = 0.0133928571428572*G0_0_1 + 0.0133928571428572*G0_2_1;
A[123] = -0.0348214285714286*G0_0_2 + 0.013392857142857*G0_2_2;
- A[124] = -0.0482142857142858*G0_0_1 - 0.0241071428571428*G0_0_2 - 0.024107142857143*G0_2_1 - 0.0241071428571431*G0_2_2;
- A[125] = -0.0723214285714282*G0_0_1 - 0.0482142857142851*G0_0_2 - 0.0241071428571427*G0_2_1 - 0.0241071428571424*G0_2_2;
+ A[124] = -0.0482142857142857*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.024107142857143*G0_2_1 - 0.024107142857143*G0_2_2;
+ A[125] = -0.0723214285714283*G0_0_1 - 0.0482142857142853*G0_0_2 - 0.0241071428571427*G0_2_1 - 0.0241071428571424*G0_2_2;
A[126] = 0.241071428571428*G0_0_0 + 0.0964285714285718*G0_0_2 + 0.0964285714285718*G0_2_0 + 0.192857142857144*G0_2_2;
- A[127] = -0.0723214285714281*G0_0_0 + 0.0723214285714285*G0_0_2 - 0.0241071428571427*G0_2_0 - 0.0723214285714286*G0_2_2;
- A[128] = 0.120535714285714*G0_0_0 + 0.0964285714285715*G0_0_1 + 0.0964285714285718*G0_2_0 + 0.192857142857143*G0_2_1;
- A[129] = -0.0241071428571429*G0_0_0 - 0.0482142857142859*G0_0_1 - 0.0241071428571431*G0_2_0 - 0.0723214285714289*G0_2_1;
- A[130] = 0.0482142857142859*G0_0_0 + 0.0482142857142859*G0_0_1 + 0.0241071428571429*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_1;
- A[131] = 0.0723214285714282*G0_0_0 + 0.0723214285714282*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571427*G0_2_1;
- A[132] = 0.0241071428571429*G0_0_0 + 0.0241071428571432*G0_0_2 + 0.0241071428571427*G0_2_0 + 0.0241071428571429*G0_2_2;
+ A[127] = -0.0723214285714282*G0_0_0 + 0.0723214285714285*G0_0_2 - 0.0241071428571428*G0_2_0 - 0.0723214285714287*G0_2_2;
+ A[128] = 0.120535714285714*G0_0_0 + 0.0964285714285714*G0_0_1 + 0.0964285714285719*G0_2_0 + 0.192857142857144*G0_2_1;
+ A[129] = -0.0241071428571429*G0_0_0 - 0.0482142857142856*G0_0_1 - 0.0241071428571431*G0_2_0 - 0.0723214285714288*G0_2_1;
+ A[130] = 0.0482142857142859*G0_0_0 + 0.0482142857142859*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_1;
+ A[131] = 0.0723214285714283*G0_0_0 + 0.0723214285714283*G0_0_1 + 0.0241071428571429*G0_0_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571428*G0_2_1;
+ A[132] = 0.0241071428571429*G0_0_0 + 0.0241071428571432*G0_0_2 + 0.0241071428571428*G0_2_0 + 0.024107142857143*G0_2_2;
A[133] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0241071428571431*G0_2_0 + 0.0241071428571431*G0_2_2;
- A[134] = 0.0241071428571423*G0_0_0 + 0.0482142857142853*G0_0_1 + 0.0482142857142853*G0_0_2 + 0.0482142857142849*G0_2_0 + 0.0723214285714279*G0_2_1 + 0.0723214285714279*G0_2_2;
- A[135] = 0.0241071428571435*G0_0_0 - 0.096428571428571*G0_0_1 - 0.096428571428571*G0_0_2 - 0.0964285714285706*G0_2_0 - 0.192857142857143*G0_2_1 - 0.192857142857143*G0_2_2;
- A[136] = -0.0482142857142852*G0_0_0 + 0.241071428571429*G0_0_1 + 0.120535714285714*G0_0_2 - 0.0241071428571424*G0_2_0 + 0.0964285714285726*G0_2_1 + 0.0964285714285721*G0_2_2;
- A[137] = 0.0482142857142852*G0_0_0 + 0.024107142857142*G0_0_2 + 0.0241071428571424*G0_2_0;
- A[138] = -0.289285714285714*G0_0_0 - 0.241071428571429*G0_0_1 - 0.120535714285714*G0_0_2 - 0.120535714285715*G0_2_0 - 0.0964285714285724*G0_2_1;
- A[139] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_2 - 0.120535714285714*G0_2_0 - 0.0964285714285721*G0_2_2;
+ A[134] = 0.0241071428571423*G0_0_0 + 0.0482142857142853*G0_0_1 + 0.0482142857142853*G0_0_2 + 0.048214285714285*G0_2_0 + 0.072321428571428*G0_2_1 + 0.0723214285714279*G0_2_2;
+ A[135] = 0.0241071428571435*G0_0_0 - 0.0964285714285711*G0_0_1 - 0.096428571428571*G0_0_2 - 0.0964285714285706*G0_2_0 - 0.192857142857143*G0_2_1 - 0.192857142857143*G0_2_2;
+ A[136] = -0.0482142857142852*G0_0_0 + 0.241071428571429*G0_0_1 + 0.120535714285715*G0_0_2 - 0.0241071428571423*G0_2_0 + 0.0964285714285727*G0_2_1 + 0.0964285714285722*G0_2_2;
+ A[137] = 0.0482142857142853*G0_0_0 + 0.024107142857142*G0_0_2 + 0.0241071428571423*G0_2_0;
+ A[138] = -0.289285714285714*G0_0_0 - 0.241071428571429*G0_0_1 - 0.120535714285714*G0_0_2 - 0.120535714285715*G0_2_0 - 0.0964285714285725*G0_2_1;
+ A[139] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_2 - 0.120535714285715*G0_2_0 - 0.0964285714285723*G0_2_2;
A[140] = -0.013392857142857*G0_0_0 - 0.0133928571428571*G0_0_1 - 0.0133928571428571*G0_0_2 - 0.0133928571428571*G0_2_0 - 0.0133928571428572*G0_2_1 - 0.0133928571428572*G0_2_2;
A[141] = 0.0133928571428571*G0_0_0 - 0.0348214285714286*G0_2_0;
- A[142] = 0.0133928571428572*G0_0_1 + 0.0133928571428572*G0_2_1;
+ A[142] = 0.0133928571428571*G0_0_1 + 0.0133928571428572*G0_2_1;
A[143] = 0.0616071428571428*G0_0_2 - 0.0348214285714284*G0_2_2;
- A[144] = -0.0723214285714284*G0_0_1 - 0.0241071428571428*G0_0_2 - 0.0482142857142854*G0_2_1 - 0.0241071428571426*G0_2_2;
- A[145] = 0.192857142857143*G0_0_1 + 0.0964285714285709*G0_0_2 + 0.0964285714285715*G0_2_1 + 0.120535714285714*G0_2_2;
- A[146] = -0.0723214285714281*G0_0_0 - 0.0241071428571427*G0_0_2 + 0.0723214285714285*G0_2_0 - 0.0723214285714286*G0_2_2;
+ A[144] = -0.0723214285714282*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.0482142857142853*G0_2_1 - 0.0241071428571426*G0_2_2;
+ A[145] = 0.192857142857142*G0_0_1 + 0.0964285714285709*G0_0_2 + 0.0964285714285714*G0_2_1 + 0.120535714285714*G0_2_2;
+ A[146] = -0.0723214285714282*G0_0_0 - 0.0241071428571428*G0_0_2 + 0.0723214285714284*G0_2_0 - 0.0723214285714287*G0_2_2;
A[147] = 0.192857142857142*G0_0_0 + 0.0964285714285714*G0_0_2 + 0.0964285714285714*G0_2_0 + 0.241071428571429*G0_2_2;
- A[148] = -0.0241071428571428*G0_0_0 - 0.0241071428571429*G0_0_1 - 0.0482142857142859*G0_2_0 - 0.072321428571429*G0_2_1;
- A[149] = -0.0241071428571429*G0_0_0 - 0.0241071428571429*G0_0_1 - 0.0241071428571427*G0_2_0 - 0.0482142857142855*G0_2_1;
- A[150] = 0.0723214285714283*G0_0_0 + 0.0723214285714284*G0_0_1 + 0.0482142857142856*G0_0_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142853*G0_2_1 + 0.0241071428571426*G0_2_2;
- A[151] = -0.192857142857142*G0_0_0 - 0.192857142857143*G0_0_1 - 0.0964285714285713*G0_0_2 - 0.0964285714285714*G0_2_0 - 0.0964285714285714*G0_2_1 + 0.0241071428571432*G0_2_2;
- A[152] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_2;
- A[153] = 0.0241071428571429*G0_0_0 + 0.024107142857143*G0_0_2 + 0.0241071428571427*G0_2_0 + 0.0241071428571428*G0_2_2;
- A[154] = 0.0241071428571429*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.0482142857142857*G0_2_1 + 0.0482142857142856*G0_2_2;
- A[155] = 0.0241071428571429*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.0723214285714289*G0_2_1 + 0.0723214285714287*G0_2_2;
- A[156] = 0.0964285714285713*G0_0_0 + 0.0964285714285715*G0_0_1 - 0.0241071428571428*G0_0_2 + 0.120535714285715*G0_2_0 + 0.241071428571429*G0_2_1 - 0.0482142857142853*G0_2_2;
+ A[148] = -0.024107142857143*G0_0_0 - 0.0241071428571429*G0_0_1 - 0.0482142857142861*G0_2_0 - 0.072321428571429*G0_2_1;
+ A[149] = -0.0241071428571428*G0_0_0 - 0.0241071428571428*G0_0_1 - 0.0241071428571427*G0_2_0 - 0.0482142857142855*G0_2_1;
+ A[150] = 0.0723214285714284*G0_0_0 + 0.0723214285714285*G0_0_1 + 0.0482142857142856*G0_0_2 + 0.0482142857142855*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0241071428571426*G0_2_2;
+ A[151] = -0.192857142857142*G0_0_0 - 0.192857142857142*G0_0_1 - 0.0964285714285713*G0_0_2 - 0.0964285714285714*G0_2_0 - 0.0964285714285714*G0_2_1 + 0.024107142857143*G0_2_2;
+ A[152] = 0.0241071428571429*G0_0_0 + 0.024107142857143*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_2;
+ A[153] = 0.0241071428571428*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0241071428571427*G0_2_0 + 0.0241071428571427*G0_2_2;
+ A[154] = 0.024107142857143*G0_0_1 + 0.024107142857143*G0_0_2 + 0.024107142857143*G0_2_0 + 0.0482142857142859*G0_2_1 + 0.0482142857142859*G0_2_2;
+ A[155] = 0.0241071428571429*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0241071428571427*G0_2_0 + 0.0723214285714289*G0_2_1 + 0.0723214285714286*G0_2_2;
+ A[156] = 0.0964285714285713*G0_0_0 + 0.0964285714285712*G0_0_1 - 0.0241071428571429*G0_0_2 + 0.120535714285715*G0_2_0 + 0.241071428571429*G0_2_1 - 0.0482142857142854*G0_2_2;
A[157] = -0.0964285714285714*G0_0_0 - 0.120535714285714*G0_0_2 - 0.120535714285715*G0_2_0 - 0.144642857142857*G0_2_2;
- A[158] = -0.0964285714285715*G0_0_1 - 0.120535714285714*G0_0_2 - 0.120535714285714*G0_2_0 - 0.241071428571429*G0_2_1 - 0.289285714285714*G0_2_2;
- A[159] = 0.0241071428571428*G0_0_2 + 0.0241071428571431*G0_2_0 + 0.0482142857142854*G0_2_2;
- A[160] = -0.0133928571428568*G0_0_0 - 0.013392857142857*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428568*G0_1_0 - 0.0133928571428568*G0_1_1 - 0.0133928571428569*G0_1_2;
+ A[158] = -0.0964285714285714*G0_0_1 - 0.120535714285714*G0_0_2 - 0.120535714285714*G0_2_0 - 0.241071428571429*G0_2_1 - 0.289285714285714*G0_2_2;
+ A[159] = 0.0241071428571429*G0_0_2 + 0.0241071428571432*G0_2_0 + 0.0482142857142857*G0_2_2;
+ A[160] = -0.0133928571428568*G0_0_0 - 0.013392857142857*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428568*G0_1_0 - 0.0133928571428569*G0_1_1 - 0.0133928571428569*G0_1_2;
A[161] = -0.0348214285714288*G0_0_0 + 0.0616071428571427*G0_1_0;
- A[162] = -0.0348214285714286*G0_0_1 + 0.0133928571428572*G0_1_1;
+ A[162] = -0.0348214285714287*G0_0_1 + 0.0133928571428572*G0_1_1;
A[163] = 0.013392857142857*G0_0_2 + 0.0133928571428571*G0_1_2;
A[164] = -0.0482142857142859*G0_0_1 - 0.0723214285714287*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0241071428571428*G0_1_2;
- A[165] = -0.0241071428571428*G0_0_1 - 0.0482142857142853*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0241071428571427*G0_1_2;
- A[166] = 0.120535714285714*G0_0_0 + 0.0964285714285718*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.192857142857143*G0_1_2;
- A[167] = -0.0241071428571428*G0_0_0 - 0.0482142857142859*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.072321428571429*G0_1_2;
- A[168] = 0.241071428571428*G0_0_0 + 0.0964285714285715*G0_0_1 + 0.0964285714285715*G0_1_0 + 0.192857142857143*G0_1_1;
- A[169] = -0.0723214285714291*G0_0_0 + 0.0723214285714282*G0_0_1 - 0.0241071428571429*G0_1_0 - 0.0723214285714288*G0_1_1;
- A[170] = 0.0241071428571429*G0_0_0 + 0.024107142857143*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[171] = 0.0241071428571428*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[172] = 0.0482142857142852*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0482142857142857*G0_0_2 + 0.0241071428571425*G0_1_0 + 0.0241071428571428*G0_1_2;
- A[173] = 0.0723214285714291*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0723214285714289*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_2;
- A[174] = 0.0241071428571423*G0_0_0 + 0.0482142857142852*G0_0_1 + 0.0482142857142851*G0_0_2 + 0.0482142857142848*G0_1_0 + 0.0723214285714279*G0_1_1 + 0.0723214285714278*G0_1_2;
- A[175] = 0.0241071428571433*G0_0_0 - 0.0964285714285711*G0_0_1 - 0.0964285714285711*G0_0_2 - 0.0964285714285707*G0_1_0 - 0.192857142857143*G0_1_1 - 0.192857142857143*G0_1_2;
- A[176] = -0.048214285714286*G0_0_0 + 0.120535714285714*G0_0_1 + 0.241071428571428*G0_0_2 - 0.0241071428571426*G0_1_0 + 0.096428571428572*G0_1_1 + 0.0964285714285719*G0_1_2;
- A[177] = 0.0482142857142861*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0241071428571426*G0_1_0;
- A[178] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.0964285714285718*G0_1_1;
- A[179] = -0.289285714285714*G0_0_0 - 0.120535714285714*G0_0_1 - 0.241071428571428*G0_0_2 - 0.120535714285714*G0_1_0 - 0.0964285714285718*G0_1_2;
- A[180] = -0.0133928571428574*G0_0_0 - 0.0133928571428571*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428573*G0_1_0 - 0.0133928571428572*G0_1_1 - 0.0133928571428571*G0_1_2;
- A[181] = 0.0133928571428572*G0_0_0 - 0.0348214285714286*G0_1_0;
+ A[165] = -0.0241071428571429*G0_0_1 - 0.0482142857142856*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0241071428571426*G0_1_2;
+ A[166] = 0.120535714285714*G0_0_0 + 0.0964285714285719*G0_0_2 + 0.0964285714285714*G0_1_0 + 0.192857142857144*G0_1_2;
+ A[167] = -0.024107142857143*G0_0_0 - 0.0482142857142861*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.072321428571429*G0_1_2;
+ A[168] = 0.241071428571429*G0_0_0 + 0.0964285714285716*G0_0_1 + 0.0964285714285716*G0_1_0 + 0.192857142857143*G0_1_1;
+ A[169] = -0.0723214285714291*G0_0_0 + 0.0723214285714285*G0_0_1 - 0.0241071428571428*G0_1_0 - 0.0723214285714287*G0_1_1;
+ A[170] = 0.0241071428571429*G0_0_0 + 0.024107142857143*G0_0_1 + 0.0241071428571427*G0_1_0 + 0.0241071428571428*G0_1_1;
+ A[171] = 0.024107142857143*G0_0_0 + 0.024107142857143*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_1;
+ A[172] = 0.0482142857142853*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0482142857142858*G0_0_2 + 0.0241071428571426*G0_1_0 + 0.0241071428571428*G0_1_2;
+ A[173] = 0.0723214285714291*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0723214285714289*G0_0_2 + 0.0241071428571428*G0_1_0 + 0.0241071428571429*G0_1_2;
+ A[174] = 0.0241071428571423*G0_0_0 + 0.0482142857142853*G0_0_1 + 0.0482142857142852*G0_0_2 + 0.0482142857142849*G0_1_0 + 0.0723214285714279*G0_1_1 + 0.0723214285714278*G0_1_2;
+ A[175] = 0.0241071428571434*G0_0_0 - 0.0964285714285712*G0_0_1 - 0.0964285714285712*G0_0_2 - 0.0964285714285708*G0_1_0 - 0.192857142857143*G0_1_1 - 0.192857142857143*G0_1_2;
+ A[176] = -0.0482142857142862*G0_0_0 + 0.120535714285714*G0_0_1 + 0.241071428571428*G0_0_2 - 0.0241071428571425*G0_1_0 + 0.0964285714285721*G0_1_1 + 0.096428571428572*G0_1_2;
+ A[177] = 0.0482142857142863*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0241071428571425*G0_1_0;
+ A[178] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.0964285714285719*G0_1_1;
+ A[179] = -0.289285714285714*G0_0_0 - 0.120535714285714*G0_0_1 - 0.241071428571428*G0_0_2 - 0.120535714285714*G0_1_0 - 0.096428571428572*G0_1_2;
+ A[180] = -0.0133928571428574*G0_0_0 - 0.0133928571428571*G0_0_1 - 0.013392857142857*G0_0_2 - 0.0133928571428573*G0_1_0 - 0.0133928571428573*G0_1_1 - 0.0133928571428571*G0_1_2;
+ A[181] = 0.0133928571428573*G0_0_0 - 0.0348214285714286*G0_1_0;
A[182] = 0.0616071428571428*G0_0_1 - 0.0348214285714287*G0_1_1;
A[183] = 0.0133928571428571*G0_0_2 + 0.013392857142857*G0_1_2;
- A[184] = 0.0964285714285716*G0_0_1 + 0.192857142857143*G0_0_2 + 0.120535714285714*G0_1_1 + 0.0964285714285717*G0_1_2;
- A[185] = -0.0241071428571429*G0_0_1 - 0.0723214285714293*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0482142857142862*G0_1_2;
- A[186] = -0.0241071428571429*G0_0_0 - 0.0241071428571431*G0_0_2 - 0.0482142857142859*G0_1_0 - 0.0723214285714289*G0_1_2;
- A[187] = -0.0241071428571429*G0_0_0 - 0.0241071428571427*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.0482142857142855*G0_1_2;
- A[188] = -0.0723214285714291*G0_0_0 - 0.0241071428571429*G0_0_1 + 0.0723214285714282*G0_1_0 - 0.0723214285714288*G0_1_1;
- A[189] = 0.192857142857144*G0_0_0 + 0.096428571428572*G0_0_1 + 0.096428571428572*G0_1_0 + 0.241071428571429*G0_1_1;
- A[190] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571431*G0_1_0 + 0.024107142857143*G0_1_1;
- A[191] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[192] = 0.0723214285714292*G0_0_0 + 0.0482142857142857*G0_0_1 + 0.0723214285714284*G0_0_2 + 0.0482142857142861*G0_1_0 + 0.024107142857143*G0_1_1 + 0.0482142857142856*G0_1_2;
- A[193] = -0.192857142857144*G0_0_0 - 0.0964285714285716*G0_0_1 - 0.192857142857143*G0_0_2 - 0.0964285714285719*G0_1_0 + 0.0241071428571427*G0_1_1 - 0.0964285714285716*G0_1_2;
- A[194] = 0.0241071428571428*G0_0_1 + 0.024107142857143*G0_0_2 + 0.0241071428571431*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.048214285714286*G0_1_2;
- A[195] = 0.0241071428571427*G0_0_1 + 0.0241071428571431*G0_0_2 + 0.0241071428571428*G0_1_0 + 0.0723214285714286*G0_1_1 + 0.0723214285714289*G0_1_2;
- A[196] = 0.0964285714285721*G0_0_0 - 0.0241071428571423*G0_0_1 + 0.0964285714285729*G0_0_2 + 0.120535714285715*G0_1_0 - 0.0482142857142856*G0_1_1 + 0.241071428571429*G0_1_2;
- A[197] = -0.0964285714285722*G0_0_0 - 0.120535714285715*G0_0_1 - 0.120535714285715*G0_1_0 - 0.144642857142858*G0_1_1;
- A[198] = 0.0241071428571426*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0482142857142859*G0_1_1;
- A[199] = -0.120535714285714*G0_0_1 - 0.0964285714285726*G0_0_2 - 0.120535714285714*G0_1_0 - 0.289285714285714*G0_1_1 - 0.241071428571429*G0_1_2;
- A[200] = -0.0348214285714284*G0_0_0 - 0.0348214285714284*G0_0_1 - 0.0348214285714284*G0_0_2 - 0.0348214285714284*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0964285714285715*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0964285714285714*G0_2_2;
+ A[184] = 0.0964285714285714*G0_0_1 + 0.192857142857143*G0_0_2 + 0.120535714285714*G0_1_1 + 0.0964285714285715*G0_1_2;
+ A[185] = -0.0241071428571428*G0_0_1 - 0.0723214285714291*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0482142857142861*G0_1_2;
+ A[186] = -0.0241071428571429*G0_0_0 - 0.0241071428571431*G0_0_2 - 0.0482142857142856*G0_1_0 - 0.0723214285714288*G0_1_2;
+ A[187] = -0.0241071428571428*G0_0_0 - 0.0241071428571427*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0482142857142855*G0_1_2;
+ A[188] = -0.0723214285714291*G0_0_0 - 0.0241071428571428*G0_0_1 + 0.0723214285714285*G0_1_0 - 0.0723214285714287*G0_1_1;
+ A[189] = 0.192857142857144*G0_0_0 + 0.0964285714285718*G0_0_1 + 0.0964285714285718*G0_1_0 + 0.241071428571429*G0_1_1;
+ A[190] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571431*G0_1_0 + 0.0241071428571431*G0_1_1;
+ A[191] = 0.0241071428571428*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_1;
+ A[192] = 0.0723214285714292*G0_0_0 + 0.0482142857142857*G0_0_1 + 0.0723214285714284*G0_0_2 + 0.0482142857142861*G0_1_0 + 0.024107142857143*G0_1_1 + 0.0482142857142857*G0_1_2;
+ A[193] = -0.192857142857144*G0_0_0 - 0.0964285714285716*G0_0_1 - 0.192857142857143*G0_0_2 - 0.0964285714285717*G0_1_0 + 0.0241071428571427*G0_1_1 - 0.0964285714285714*G0_1_2;
+ A[194] = 0.0241071428571429*G0_0_1 + 0.024107142857143*G0_0_2 + 0.0241071428571431*G0_1_0 + 0.0482142857142859*G0_1_1 + 0.0482142857142861*G0_1_2;
+ A[195] = 0.0241071428571426*G0_0_1 + 0.024107142857143*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0723214285714284*G0_1_1 + 0.0723214285714287*G0_1_2;
+ A[196] = 0.0964285714285719*G0_0_0 - 0.0241071428571423*G0_0_1 + 0.0964285714285727*G0_0_2 + 0.120535714285714*G0_1_0 - 0.0482142857142854*G0_1_1 + 0.241071428571429*G0_1_2;
+ A[197] = -0.096428571428572*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.144642857142857*G0_1_1;
+ A[198] = 0.0241071428571426*G0_0_1 + 0.0241071428571425*G0_1_0 + 0.0482142857142857*G0_1_1;
+ A[199] = -0.120535714285714*G0_0_1 - 0.0964285714285723*G0_0_2 - 0.120535714285715*G0_1_0 - 0.289285714285714*G0_1_1 - 0.241071428571429*G0_1_2;
+ A[200] = -0.0348214285714285*G0_0_0 - 0.0348214285714285*G0_0_1 - 0.0348214285714284*G0_0_2 - 0.0348214285714285*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0964285714285715*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0964285714285714*G0_2_2;
A[201] = -0.0133928571428574*G0_0_0 - 0.0133928571428574*G0_1_0;
A[202] = -0.0133928571428572*G0_0_1 - 0.0133928571428572*G0_1_1;
A[203] = 0.0348214285714286*G0_0_2 + 0.0348214285714287*G0_1_2 + 0.0482142857142857*G0_2_2;
- A[204] = 0.0482142857142859*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0482142857142858*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571425*G0_2_1;
- A[205] = 0.0723214285714284*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0723214285714285*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.0482142857142857*G0_2_1 + 0.0241071428571429*G0_2_2;
- A[206] = 0.0482142857142859*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0482142857142859*G0_1_0 + 0.024107142857143*G0_1_2 + 0.0241071428571429*G0_2_0;
- A[207] = 0.0723214285714283*G0_0_0 + 0.0482142857142854*G0_0_2 + 0.0723214285714284*G0_1_0 + 0.0482142857142853*G0_1_2 + 0.0482142857142856*G0_2_0 + 0.0241071428571426*G0_2_2;
- A[208] = 0.0241071428571429*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.024107142857143*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[209] = 0.0241071428571429*G0_0_0 + 0.0241071428571431*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.024107142857143*G0_1_1;
- A[210] = 0.241071428571429*G0_0_0 + 0.241071428571428*G0_0_1 + 0.144642857142857*G0_0_2 + 0.241071428571428*G0_1_0 + 0.241071428571429*G0_1_1 + 0.144642857142857*G0_1_2 + 0.144642857142857*G0_2_0 + 0.144642857142857*G0_2_1 + 0.241071428571428*G0_2_2;
- A[211] = -0.0723214285714283*G0_0_0 - 0.0723214285714284*G0_0_1 - 0.144642857142857*G0_0_2 - 0.0723214285714284*G0_1_0 - 0.0723214285714284*G0_1_1 - 0.144642857142857*G0_1_2 - 0.0482142857142856*G0_2_0 - 0.0482142857142856*G0_2_1 - 0.192857142857143*G0_2_2;
+ A[204] = 0.0482142857142859*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0482142857142858*G0_1_1 + 0.0241071428571427*G0_1_2 + 0.0241071428571426*G0_2_1;
+ A[205] = 0.0723214285714285*G0_0_1 + 0.0482142857142856*G0_0_2 + 0.0723214285714286*G0_1_1 + 0.0482142857142856*G0_1_2 + 0.0482142857142857*G0_2_1 + 0.0241071428571431*G0_2_2;
+ A[206] = 0.0482142857142859*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0482142857142859*G0_1_0 + 0.024107142857143*G0_1_2 + 0.0241071428571428*G0_2_0;
+ A[207] = 0.0723214285714284*G0_0_0 + 0.0482142857142855*G0_0_2 + 0.0723214285714285*G0_1_0 + 0.0482142857142855*G0_1_2 + 0.0482142857142856*G0_2_0 + 0.0241071428571426*G0_2_2;
+ A[208] = 0.0241071428571429*G0_0_0 + 0.0241071428571427*G0_0_1 + 0.024107142857143*G0_1_0 + 0.0241071428571428*G0_1_1;
+ A[209] = 0.0241071428571429*G0_0_0 + 0.0241071428571431*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571431*G0_1_1;
+ A[210] = 0.241071428571428*G0_0_0 + 0.241071428571428*G0_0_1 + 0.144642857142857*G0_0_2 + 0.241071428571428*G0_1_0 + 0.241071428571428*G0_1_1 + 0.144642857142857*G0_1_2 + 0.144642857142857*G0_2_0 + 0.144642857142857*G0_2_1 + 0.241071428571429*G0_2_2;
+ A[211] = -0.0723214285714284*G0_0_0 - 0.0723214285714284*G0_0_1 - 0.144642857142857*G0_0_2 - 0.0723214285714285*G0_1_0 - 0.0723214285714285*G0_1_1 - 0.144642857142857*G0_1_2 - 0.0482142857142856*G0_2_0 - 0.0482142857142857*G0_2_1 - 0.192857142857143*G0_2_2;
A[212] = 0.120535714285714*G0_0_0 + 0.0241071428571426*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0241071428571426*G0_1_1 + 0.120535714285714*G0_1_2 + 0.0241071428571425*G0_2_0 + 0.120535714285714*G0_2_1 + 0.0241071428571425*G0_2_2;
- A[213] = -0.0241071428571429*G0_0_0 + 0.0241071428571432*G0_0_1 - 0.0241071428571428*G0_0_2 - 0.0241071428571428*G0_1_0 + 0.0241071428571432*G0_1_1 - 0.0241071428571428*G0_1_2 - 0.0241071428571429*G0_2_1;
- A[214] = 0.0241071428571424*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.0241071428571424*G0_1_0 + 0.120535714285714*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0241071428571425*G0_2_1 + 0.0241071428571425*G0_2_2;
- A[215] = 0.0241071428571435*G0_0_0 - 0.0241071428571426*G0_0_1 - 0.0241071428571425*G0_0_2 + 0.0241071428571434*G0_1_0 - 0.0241071428571427*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.0241071428571429*G0_2_0;
- A[216] = 0.0482142857142854*G0_0_0 + 0.0482142857142852*G0_0_1 + 0.0241071428571429*G0_0_2 + 0.0482142857142855*G0_1_0 + 0.0482142857142853*G0_1_1 + 0.024107142857143*G0_1_2 + 0.0241071428571423*G0_2_0 + 0.0241071428571425*G0_2_1;
- A[217] = -0.0482142857142855*G0_0_0 - 0.289285714285714*G0_0_1 - 0.16875*G0_0_2 - 0.0482142857142855*G0_1_0 - 0.289285714285714*G0_1_1 - 0.16875*G0_1_2 - 0.0241071428571424*G0_2_0 - 0.168749999999999*G0_2_1 - 0.0482142857142853*G0_2_2;
- A[218] = -0.289285714285714*G0_0_0 - 0.0482142857142855*G0_0_1 - 0.16875*G0_0_2 - 0.289285714285714*G0_1_0 - 0.0482142857142857*G0_1_1 - 0.16875*G0_1_2 - 0.16875*G0_2_0 - 0.0241071428571427*G0_2_1 - 0.0482142857142852*G0_2_2;
- A[219] = -0.144642857142857*G0_0_0 - 0.144642857142857*G0_0_1 - 0.0241071428571429*G0_0_2 - 0.144642857142857*G0_1_0 - 0.144642857142857*G0_1_1 - 0.0241071428571429*G0_1_2 - 0.0241071428571426*G0_2_0 - 0.0241071428571422*G0_2_1;
+ A[213] = -0.0241071428571429*G0_0_0 + 0.0241071428571432*G0_0_1 - 0.0241071428571428*G0_0_2 - 0.0241071428571428*G0_1_0 + 0.0241071428571432*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.0241071428571428*G0_2_1;
+ A[214] = 0.0241071428571425*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.0241071428571425*G0_1_0 + 0.120535714285714*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0241071428571426*G0_2_1 + 0.0241071428571426*G0_2_2;
+ A[215] = 0.0241071428571434*G0_0_0 - 0.0241071428571426*G0_0_1 - 0.0241071428571426*G0_0_2 + 0.0241071428571433*G0_1_0 - 0.0241071428571427*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.024107142857143*G0_2_0;
+ A[216] = 0.0482142857142857*G0_0_0 + 0.0482142857142853*G0_0_1 + 0.0241071428571431*G0_0_2 + 0.0482142857142856*G0_1_0 + 0.0482142857142854*G0_1_1 + 0.0241071428571431*G0_1_2 + 0.0241071428571424*G0_2_0 + 0.0241071428571425*G0_2_1;
+ A[217] = -0.0482142857142858*G0_0_0 - 0.289285714285714*G0_0_1 - 0.16875*G0_0_2 - 0.0482142857142858*G0_1_0 - 0.289285714285714*G0_1_1 - 0.16875*G0_1_2 - 0.0241071428571425*G0_2_0 - 0.168749999999999*G0_2_1 - 0.0482142857142856*G0_2_2;
+ A[218] = -0.289285714285714*G0_0_0 - 0.0482142857142858*G0_0_1 - 0.16875*G0_0_2 - 0.289285714285714*G0_1_0 - 0.0482142857142859*G0_1_1 - 0.16875*G0_1_2 - 0.16875*G0_2_0 - 0.0241071428571427*G0_2_1 - 0.0482142857142852*G0_2_2;
+ A[219] = -0.144642857142857*G0_0_0 - 0.144642857142857*G0_0_1 - 0.024107142857143*G0_0_2 - 0.144642857142857*G0_1_0 - 0.144642857142857*G0_1_1 - 0.024107142857143*G0_1_2 - 0.0241071428571426*G0_2_0 - 0.0241071428571422*G0_2_1;
A[220] = 0.013392857142857*G0_0_0 + 0.0133928571428571*G0_0_1 + 0.0133928571428571*G0_0_2 + 0.013392857142857*G0_1_0 + 0.0133928571428571*G0_1_1 + 0.0133928571428571*G0_1_2 + 0.0482142857142858*G0_2_0 + 0.0482142857142857*G0_2_1 + 0.0482142857142857*G0_2_2;
A[221] = -0.0133928571428571*G0_0_0 - 0.0133928571428571*G0_1_0;
- A[222] = -0.0133928571428572*G0_0_1 - 0.0133928571428572*G0_1_1;
- A[223] = -0.0616071428571429*G0_0_2 - 0.0616071428571429*G0_1_2 - 0.0964285714285714*G0_2_2;
- A[224] = 0.0723214285714285*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0723214285714285*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.024107142857143*G0_2_1;
- A[225] = -0.192857142857143*G0_0_1 - 0.0964285714285709*G0_0_2 - 0.192857142857143*G0_1_1 - 0.0964285714285709*G0_1_2 - 0.0964285714285714*G0_2_1 + 0.0241071428571429*G0_2_2;
- A[226] = 0.0723214285714282*G0_0_0 + 0.0241071428571428*G0_0_2 + 0.0723214285714282*G0_1_0 + 0.0241071428571427*G0_1_2 + 0.0241071428571428*G0_2_0;
- A[227] = -0.192857142857142*G0_0_0 - 0.0964285714285715*G0_0_2 - 0.192857142857143*G0_1_0 - 0.0964285714285714*G0_1_2 - 0.0964285714285712*G0_2_0 + 0.0241071428571432*G0_2_2;
- A[228] = 0.0241071428571428*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[229] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0241071428571429*G0_1_1;
- A[230] = -0.0723214285714283*G0_0_0 - 0.0723214285714284*G0_0_1 - 0.0482142857142856*G0_0_2 - 0.0723214285714284*G0_1_0 - 0.0723214285714284*G0_1_1 - 0.0482142857142856*G0_1_2 - 0.144642857142857*G0_2_0 - 0.144642857142857*G0_2_1 - 0.192857142857143*G0_2_2;
- A[231] = 0.192857142857142*G0_0_0 + 0.192857142857143*G0_0_1 + 0.0964285714285713*G0_0_2 + 0.192857142857143*G0_1_0 + 0.192857142857143*G0_1_1 + 0.0964285714285714*G0_1_2 + 0.0964285714285713*G0_2_0 + 0.0964285714285714*G0_2_1 + 0.241071428571428*G0_2_2;
- A[232] = -0.0241071428571428*G0_0_0 - 0.0241071428571429*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0241071428571429*G0_1_2 + 0.0241071428571433*G0_2_0 - 0.024107142857143*G0_2_1 + 0.0241071428571433*G0_2_2;
- A[233] = -0.0241071428571429*G0_0_0 - 0.024107142857143*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.024107142857143*G0_1_2 - 0.0241071428571427*G0_2_1;
- A[234] = -0.0241071428571428*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.0241071428571428*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.0241071428571429*G0_2_0 + 0.0241071428571434*G0_2_1 + 0.0241071428571434*G0_2_2;
+ A[222] = -0.0133928571428571*G0_0_1 - 0.0133928571428571*G0_1_1;
+ A[223] = -0.0616071428571428*G0_0_2 - 0.0616071428571429*G0_1_2 - 0.0964285714285714*G0_2_2;
+ A[224] = 0.0723214285714283*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0723214285714283*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571429*G0_2_1;
+ A[225] = -0.192857142857143*G0_0_1 - 0.096428571428571*G0_0_2 - 0.192857142857143*G0_1_1 - 0.096428571428571*G0_1_2 - 0.0964285714285715*G0_2_1 + 0.0241071428571426*G0_2_2;
+ A[226] = 0.0723214285714283*G0_0_0 + 0.0241071428571428*G0_0_2 + 0.0723214285714283*G0_1_0 + 0.0241071428571428*G0_1_2 + 0.0241071428571429*G0_2_0;
+ A[227] = -0.192857142857142*G0_0_0 - 0.0964285714285714*G0_0_2 - 0.192857142857142*G0_1_0 - 0.0964285714285714*G0_1_2 - 0.0964285714285713*G0_2_0 + 0.024107142857143*G0_2_2;
+ A[228] = 0.024107142857143*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.024107142857143*G0_1_0 + 0.0241071428571429*G0_1_1;
+ A[229] = 0.0241071428571428*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0241071428571429*G0_1_1;
+ A[230] = -0.0723214285714284*G0_0_0 - 0.0723214285714285*G0_0_1 - 0.0482142857142856*G0_0_2 - 0.0723214285714284*G0_1_0 - 0.0723214285714285*G0_1_1 - 0.0482142857142857*G0_1_2 - 0.144642857142857*G0_2_0 - 0.144642857142857*G0_2_1 - 0.192857142857143*G0_2_2;
+ A[231] = 0.192857142857142*G0_0_0 + 0.192857142857143*G0_0_1 + 0.0964285714285714*G0_0_2 + 0.192857142857143*G0_1_0 + 0.192857142857143*G0_1_1 + 0.0964285714285714*G0_1_2 + 0.0964285714285714*G0_2_0 + 0.0964285714285714*G0_2_1 + 0.241071428571428*G0_2_2;
+ A[232] = -0.0241071428571429*G0_0_0 - 0.024107142857143*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.024107142857143*G0_1_2 + 0.0241071428571432*G0_2_0 - 0.024107142857143*G0_2_1 + 0.0241071428571431*G0_2_2;
+ A[233] = -0.0241071428571429*G0_0_0 - 0.0241071428571429*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.0241071428571429*G0_1_2 - 0.0241071428571427*G0_2_1;
+ A[234] = -0.024107142857143*G0_0_1 - 0.0241071428571429*G0_0_2 - 0.024107142857143*G0_1_1 - 0.0241071428571429*G0_1_2 - 0.024107142857143*G0_2_0 + 0.0241071428571433*G0_2_1 + 0.0241071428571433*G0_2_2;
A[235] = -0.0241071428571429*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.0241071428571429*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.0241071428571428*G0_2_0;
- A[236] = -0.0964285714285713*G0_0_0 - 0.0964285714285714*G0_0_1 + 0.0241071428571428*G0_0_2 - 0.0964285714285713*G0_1_0 - 0.0964285714285714*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571429*G0_2_1;
- A[237] = 0.0964285714285714*G0_0_0 + 0.120535714285714*G0_0_2 + 0.0964285714285714*G0_1_0 + 0.120535714285714*G0_1_2 - 0.0241071428571428*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142861*G0_2_2;
- A[238] = 0.0964285714285715*G0_0_1 + 0.120535714285714*G0_0_2 + 0.0964285714285716*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 - 0.0241071428571428*G0_2_1 - 0.0482142857142864*G0_2_2;
- A[239] = -0.0241071428571428*G0_0_2 - 0.0241071428571428*G0_1_2 - 0.0241071428571431*G0_2_0 - 0.0241071428571434*G0_2_1;
- A[240] = -0.0348214285714286*G0_0_0 - 0.0348214285714285*G0_0_1 - 0.0348214285714284*G0_0_2 - 0.0964285714285717*G0_1_0 - 0.0964285714285716*G0_1_1 - 0.0964285714285715*G0_1_2 - 0.0348214285714285*G0_2_0 - 0.0348214285714285*G0_2_1 - 0.0348214285714284*G0_2_2;
- A[241] = -0.0133928571428573*G0_0_0 - 0.0133928571428573*G0_2_0;
- A[242] = 0.0348214285714286*G0_0_1 + 0.0482142857142856*G0_1_1 + 0.0348214285714284*G0_2_1;
- A[243] = -0.0133928571428571*G0_0_2 - 0.0133928571428571*G0_2_2;
- A[244] = 0.0482142857142862*G0_0_1 + 0.0723214285714289*G0_0_2 + 0.0241071428571427*G0_1_1 + 0.0482142857142853*G0_1_2 + 0.0482142857142856*G0_2_1 + 0.072321428571428*G0_2_2;
- A[245] = 0.0241071428571429*G0_0_1 + 0.0482142857142855*G0_0_2 + 0.0241071428571429*G0_1_2 + 0.0241071428571429*G0_2_1 + 0.0482142857142857*G0_2_2;
- A[246] = 0.0241071428571429*G0_0_0 + 0.0241071428571427*G0_0_2 + 0.0241071428571432*G0_2_0 + 0.0241071428571429*G0_2_2;
- A[247] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_2;
- A[248] = 0.0482142857142852*G0_0_0 + 0.0241071428571425*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0482142857142857*G0_2_0 + 0.0241071428571428*G0_2_1;
- A[249] = 0.0723214285714292*G0_0_0 + 0.0482142857142861*G0_0_1 + 0.0482142857142857*G0_1_0 + 0.024107142857143*G0_1_1 + 0.0723214285714283*G0_2_0 + 0.0482142857142856*G0_2_1;
+ A[236] = -0.0964285714285714*G0_0_0 - 0.0964285714285713*G0_0_1 + 0.0241071428571429*G0_0_2 - 0.0964285714285714*G0_1_0 - 0.0964285714285713*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571426*G0_2_0 + 0.0241071428571428*G0_2_1;
+ A[237] = 0.0964285714285715*G0_0_0 + 0.120535714285714*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.120535714285714*G0_1_2 - 0.0241071428571425*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142858*G0_2_2;
+ A[238] = 0.0964285714285715*G0_0_1 + 0.120535714285714*G0_0_2 + 0.0964285714285715*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 - 0.0241071428571426*G0_2_1 - 0.0482142857142862*G0_2_2;
+ A[239] = -0.0241071428571429*G0_0_2 - 0.0241071428571429*G0_1_2 - 0.0241071428571431*G0_2_0 - 0.0241071428571434*G0_2_1;
+ A[240] = -0.0348214285714285*G0_0_0 - 0.0348214285714285*G0_0_1 - 0.0348214285714284*G0_0_2 - 0.0964285714285716*G0_1_0 - 0.0964285714285715*G0_1_1 - 0.0964285714285715*G0_1_2 - 0.0348214285714285*G0_2_0 - 0.0348214285714284*G0_2_1 - 0.0348214285714284*G0_2_2;
+ A[241] = -0.0133928571428572*G0_0_0 - 0.0133928571428573*G0_2_0;
+ A[242] = 0.0348214285714286*G0_0_1 + 0.0482142857142855*G0_1_1 + 0.0348214285714283*G0_2_1;
+ A[243] = -0.013392857142857*G0_0_2 - 0.013392857142857*G0_2_2;
+ A[244] = 0.0482142857142861*G0_0_1 + 0.0723214285714288*G0_0_2 + 0.0241071428571427*G0_1_1 + 0.0482142857142853*G0_1_2 + 0.0482142857142855*G0_2_1 + 0.0723214285714279*G0_2_2;
+ A[245] = 0.0241071428571429*G0_0_1 + 0.0482142857142855*G0_0_2 + 0.0241071428571429*G0_1_2 + 0.024107142857143*G0_2_1 + 0.0482142857142857*G0_2_2;
+ A[246] = 0.0241071428571429*G0_0_0 + 0.0241071428571428*G0_0_2 + 0.0241071428571432*G0_2_0 + 0.024107142857143*G0_2_2;
+ A[247] = 0.0241071428571429*G0_0_0 + 0.0241071428571429*G0_0_2 + 0.024107142857143*G0_2_0 + 0.024107142857143*G0_2_2;
+ A[248] = 0.0482142857142853*G0_0_0 + 0.0241071428571426*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0482142857142858*G0_2_0 + 0.0241071428571428*G0_2_1;
+ A[249] = 0.0723214285714292*G0_0_0 + 0.0482142857142862*G0_0_1 + 0.0482142857142857*G0_1_0 + 0.024107142857143*G0_1_1 + 0.0723214285714284*G0_2_0 + 0.0482142857142857*G0_2_1;
A[250] = 0.120535714285714*G0_0_0 + 0.120535714285714*G0_0_1 + 0.0241071428571425*G0_0_2 + 0.0241071428571426*G0_1_0 + 0.0241071428571426*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 + 0.0241071428571425*G0_2_2;
- A[251] = -0.0241071428571428*G0_0_0 - 0.0241071428571428*G0_0_1 + 0.0241071428571433*G0_0_2 - 0.024107142857143*G0_1_2 - 0.0241071428571429*G0_2_0 - 0.0241071428571429*G0_2_1 + 0.0241071428571433*G0_2_2;
- A[252] = 0.241071428571429*G0_0_0 + 0.144642857142857*G0_0_1 + 0.241071428571429*G0_0_2 + 0.144642857142857*G0_1_0 + 0.241071428571429*G0_1_1 + 0.144642857142857*G0_1_2 + 0.241071428571429*G0_2_0 + 0.144642857142857*G0_2_1 + 0.241071428571428*G0_2_2;
- A[253] = -0.0723214285714292*G0_0_0 - 0.144642857142857*G0_0_1 - 0.072321428571429*G0_0_2 - 0.0482142857142857*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0482142857142855*G0_1_2 - 0.0723214285714283*G0_2_0 - 0.144642857142856*G0_2_1 - 0.0723214285714281*G0_2_2;
- A[254] = 0.0241071428571423*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0241071428571426*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571424*G0_2_0 + 0.120535714285714*G0_2_1 + 0.120535714285714*G0_2_2;
- A[255] = 0.0241071428571434*G0_0_0 - 0.0241071428571425*G0_0_1 - 0.0241071428571425*G0_0_2 - 0.0241071428571429*G0_1_0 + 0.0241071428571434*G0_2_0 - 0.0241071428571427*G0_2_1 - 0.0241071428571427*G0_2_2;
- A[256] = 0.0482142857142863*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0482142857142862*G0_0_2 + 0.024107142857143*G0_1_0 + 0.0241071428571432*G0_1_2 + 0.0482142857142856*G0_2_0 + 0.0241071428571431*G0_2_1 + 0.0482142857142858*G0_2_2;
- A[257] = -0.0482142857142863*G0_0_0 - 0.16875*G0_0_1 - 0.289285714285714*G0_0_2 - 0.024107142857143*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.16875*G0_1_2 - 0.0482142857142856*G0_2_0 - 0.16875*G0_2_1 - 0.289285714285714*G0_2_2;
- A[258] = -0.144642857142857*G0_0_0 - 0.0241071428571432*G0_0_1 - 0.144642857142858*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.0241071428571428*G0_1_2 - 0.144642857142857*G0_2_0 - 0.0241071428571433*G0_2_1 - 0.144642857142858*G0_2_2;
- A[259] = -0.289285714285714*G0_0_0 - 0.16875*G0_0_1 - 0.048214285714286*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.0241071428571432*G0_1_2 - 0.289285714285714*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142857*G0_2_2;
- A[260] = 0.0133928571428573*G0_0_0 + 0.0133928571428571*G0_0_1 + 0.013392857142857*G0_0_2 + 0.048214285714286*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.0482142857142858*G0_1_2 + 0.0133928571428573*G0_2_0 + 0.013392857142857*G0_2_1 + 0.0133928571428569*G0_2_2;
- A[261] = -0.0133928571428572*G0_0_0 - 0.0133928571428572*G0_2_0;
- A[262] = -0.0616071428571428*G0_0_1 - 0.0964285714285714*G0_1_1 - 0.0616071428571426*G0_2_1;
+ A[251] = -0.0241071428571429*G0_0_0 - 0.0241071428571429*G0_0_1 + 0.0241071428571432*G0_0_2 - 0.024107142857143*G0_1_2 - 0.024107142857143*G0_2_0 - 0.024107142857143*G0_2_1 + 0.0241071428571431*G0_2_2;
+ A[252] = 0.241071428571429*G0_0_0 + 0.144642857142857*G0_0_1 + 0.241071428571428*G0_0_2 + 0.144642857142857*G0_1_0 + 0.241071428571429*G0_1_1 + 0.144642857142857*G0_1_2 + 0.241071428571428*G0_2_0 + 0.144642857142857*G0_2_1 + 0.241071428571428*G0_2_2;
+ A[253] = -0.0723214285714291*G0_0_0 - 0.144642857142857*G0_0_1 - 0.072321428571429*G0_0_2 - 0.0482142857142856*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0482142857142854*G0_1_2 - 0.0723214285714282*G0_2_0 - 0.144642857142856*G0_2_1 - 0.0723214285714281*G0_2_2;
+ A[254] = 0.0241071428571425*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0241071428571427*G0_1_1 + 0.0241071428571427*G0_1_2 + 0.0241071428571424*G0_2_0 + 0.120535714285714*G0_2_1 + 0.120535714285714*G0_2_2;
+ A[255] = 0.0241071428571433*G0_0_0 - 0.0241071428571426*G0_0_1 - 0.0241071428571425*G0_0_2 - 0.0241071428571429*G0_1_0 + 0.0241071428571433*G0_2_0 - 0.0241071428571428*G0_2_1 - 0.0241071428571427*G0_2_2;
+ A[256] = 0.0482142857142864*G0_0_0 + 0.0241071428571431*G0_0_1 + 0.0482142857142863*G0_0_2 + 0.024107142857143*G0_1_0 + 0.0241071428571432*G0_1_2 + 0.0482142857142857*G0_2_0 + 0.0241071428571433*G0_2_1 + 0.048214285714286*G0_2_2;
+ A[257] = -0.0482142857142864*G0_0_0 - 0.16875*G0_0_1 - 0.289285714285714*G0_0_2 - 0.024107142857143*G0_1_0 - 0.0482142857142853*G0_1_1 - 0.168749999999999*G0_1_2 - 0.0482142857142858*G0_2_0 - 0.16875*G0_2_1 - 0.289285714285714*G0_2_2;
+ A[258] = -0.144642857142857*G0_0_0 - 0.0241071428571433*G0_0_1 - 0.144642857142858*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0241071428571428*G0_1_2 - 0.144642857142857*G0_2_0 - 0.0241071428571435*G0_2_1 - 0.144642857142858*G0_2_2;
+ A[259] = -0.289285714285714*G0_0_0 - 0.16875*G0_0_1 - 0.0482142857142862*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.0241071428571432*G0_1_2 - 0.289285714285714*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142858*G0_2_2;
+ A[260] = 0.0133928571428573*G0_0_0 + 0.0133928571428571*G0_0_1 + 0.013392857142857*G0_0_2 + 0.0482142857142859*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.0482142857142857*G0_1_2 + 0.0133928571428572*G0_2_0 + 0.013392857142857*G0_2_1 + 0.0133928571428569*G0_2_2;
+ A[261] = -0.0133928571428573*G0_0_0 - 0.0133928571428572*G0_2_0;
+ A[262] = -0.0616071428571428*G0_0_1 - 0.0964285714285713*G0_1_1 - 0.0616071428571426*G0_2_1;
A[263] = -0.0133928571428571*G0_0_2 - 0.013392857142857*G0_2_2;
- A[264] = -0.0964285714285715*G0_0_1 - 0.192857142857143*G0_0_2 + 0.024107142857143*G0_1_1 - 0.096428571428571*G0_1_2 - 0.0964285714285711*G0_2_1 - 0.192857142857143*G0_2_2;
- A[265] = 0.0241071428571429*G0_0_1 + 0.0723214285714293*G0_0_2 + 0.024107142857143*G0_1_2 + 0.024107142857143*G0_2_1 + 0.0723214285714293*G0_2_2;
+ A[264] = -0.0964285714285713*G0_0_1 - 0.192857142857143*G0_0_2 + 0.024107142857143*G0_1_1 - 0.096428571428571*G0_1_2 - 0.0964285714285709*G0_2_1 - 0.192857142857142*G0_2_2;
+ A[265] = 0.0241071428571429*G0_0_1 + 0.0723214285714291*G0_0_2 + 0.024107142857143*G0_1_2 + 0.0241071428571429*G0_2_1 + 0.0723214285714292*G0_2_2;
A[266] = 0.0241071428571429*G0_0_0 + 0.0241071428571431*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.0241071428571431*G0_2_2;
- A[267] = 0.0241071428571429*G0_0_0 + 0.0241071428571427*G0_0_2 + 0.024107142857143*G0_2_0 + 0.0241071428571428*G0_2_2;
- A[268] = 0.0723214285714291*G0_0_0 + 0.0241071428571429*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0723214285714289*G0_2_0 + 0.0241071428571429*G0_2_1;
- A[269] = -0.192857142857144*G0_0_0 - 0.0964285714285719*G0_0_1 - 0.0964285714285716*G0_1_0 + 0.0241071428571427*G0_1_1 - 0.192857142857143*G0_2_0 - 0.0964285714285716*G0_2_1;
- A[270] = -0.0241071428571429*G0_0_0 - 0.0241071428571428*G0_0_1 + 0.0241071428571432*G0_1_0 + 0.0241071428571432*G0_1_1 - 0.0241071428571429*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0241071428571428*G0_2_1;
- A[271] = -0.0241071428571429*G0_0_0 - 0.0241071428571429*G0_0_1 - 0.0241071428571427*G0_1_2 - 0.024107142857143*G0_2_0 - 0.024107142857143*G0_2_1;
- A[272] = -0.0723214285714292*G0_0_0 - 0.0482142857142857*G0_0_1 - 0.0723214285714283*G0_0_2 - 0.144642857142857*G0_1_0 - 0.192857142857143*G0_1_1 - 0.144642857142856*G0_1_2 - 0.072321428571429*G0_2_0 - 0.0482142857142855*G0_2_1 - 0.0723214285714281*G0_2_2;
- A[273] = 0.192857142857144*G0_0_0 + 0.0964285714285715*G0_0_1 + 0.192857142857143*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.241071428571428*G0_1_1 + 0.0964285714285712*G0_1_2 + 0.192857142857143*G0_2_0 + 0.0964285714285712*G0_2_1 + 0.192857142857143*G0_2_2;
- A[274] = -0.0241071428571428*G0_0_1 - 0.024107142857143*G0_0_2 - 0.024107142857143*G0_1_0 + 0.0241071428571433*G0_1_1 + 0.0241071428571433*G0_1_2 - 0.0241071428571428*G0_2_1 - 0.024107142857143*G0_2_2;
- A[275] = -0.0241071428571427*G0_0_1 - 0.0241071428571431*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0241071428571427*G0_2_1 - 0.0241071428571431*G0_2_2;
- A[276] = -0.096428571428572*G0_0_0 + 0.0241071428571424*G0_0_1 - 0.0964285714285728*G0_0_2 + 0.0241071428571423*G0_1_0 + 0.0241071428571418*G0_1_2 - 0.0964285714285712*G0_2_0 + 0.0241071428571428*G0_2_1 - 0.0964285714285723*G0_2_2;
- A[277] = 0.0964285714285721*G0_0_0 + 0.120535714285715*G0_0_1 - 0.0241071428571424*G0_1_0 - 0.0482142857142863*G0_1_1 + 0.120535714285713*G0_1_2 + 0.0964285714285713*G0_2_0 + 0.120535714285714*G0_2_1;
- A[278] = -0.0241071428571427*G0_0_1 - 0.0241071428571429*G0_1_0 - 0.0241071428571431*G0_1_2 - 0.0241071428571431*G0_2_1;
- A[279] = 0.120535714285714*G0_0_1 + 0.0964285714285725*G0_0_2 + 0.120535714285714*G0_1_0 - 0.0482142857142861*G0_1_1 - 0.0241071428571419*G0_1_2 + 0.120535714285714*G0_2_1 + 0.0964285714285719*G0_2_2;
- A[280] = -0.0964285714285713*G0_0_0 - 0.0964285714285715*G0_0_1 - 0.0964285714285714*G0_0_2 - 0.0348214285714283*G0_1_0 - 0.0348214285714284*G0_1_1 - 0.0348214285714284*G0_1_2 - 0.0348214285714283*G0_2_0 - 0.0348214285714284*G0_2_1 - 0.0348214285714284*G0_2_2;
- A[281] = 0.0482142857142854*G0_0_0 + 0.0348214285714282*G0_1_0 + 0.0348214285714281*G0_2_0;
+ A[267] = 0.0241071428571428*G0_0_0 + 0.0241071428571427*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.0241071428571427*G0_2_2;
+ A[268] = 0.0723214285714291*G0_0_0 + 0.0241071428571428*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0723214285714289*G0_2_0 + 0.0241071428571429*G0_2_1;
+ A[269] = -0.192857142857144*G0_0_0 - 0.0964285714285717*G0_0_1 - 0.0964285714285716*G0_1_0 + 0.0241071428571427*G0_1_1 - 0.192857142857143*G0_2_0 - 0.0964285714285714*G0_2_1;
+ A[270] = -0.0241071428571429*G0_0_0 - 0.0241071428571428*G0_0_1 + 0.0241071428571432*G0_1_0 + 0.0241071428571432*G0_1_1 - 0.0241071428571428*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0241071428571427*G0_2_1;
+ A[271] = -0.0241071428571428*G0_0_0 - 0.0241071428571428*G0_0_1 - 0.0241071428571427*G0_1_2 - 0.0241071428571429*G0_2_0 - 0.0241071428571429*G0_2_1;
+ A[272] = -0.0723214285714291*G0_0_0 - 0.0482142857142856*G0_0_1 - 0.0723214285714282*G0_0_2 - 0.144642857142857*G0_1_0 - 0.192857142857143*G0_1_1 - 0.144642857142856*G0_1_2 - 0.072321428571429*G0_2_0 - 0.0482142857142854*G0_2_1 - 0.0723214285714281*G0_2_2;
+ A[273] = 0.192857142857144*G0_0_0 + 0.0964285714285716*G0_0_1 + 0.192857142857143*G0_0_2 + 0.0964285714285716*G0_1_0 + 0.241071428571428*G0_1_1 + 0.0964285714285713*G0_1_2 + 0.192857142857143*G0_2_0 + 0.0964285714285713*G0_2_1 + 0.192857142857142*G0_2_2;
+ A[274] = -0.0241071428571428*G0_0_1 - 0.024107142857143*G0_0_2 - 0.0241071428571429*G0_1_0 + 0.0241071428571432*G0_1_1 + 0.0241071428571432*G0_1_2 - 0.0241071428571428*G0_2_1 - 0.024107142857143*G0_2_2;
+ A[275] = -0.0241071428571426*G0_0_1 - 0.024107142857143*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0241071428571426*G0_2_1 - 0.024107142857143*G0_2_2;
+ A[276] = -0.0964285714285718*G0_0_0 + 0.0241071428571423*G0_0_1 - 0.0964285714285727*G0_0_2 + 0.0241071428571423*G0_1_0 + 0.0241071428571416*G0_1_2 - 0.0964285714285709*G0_2_0 + 0.0241071428571427*G0_2_1 - 0.096428571428572*G0_2_2;
+ A[277] = 0.0964285714285719*G0_0_0 + 0.120535714285714*G0_0_1 - 0.0241071428571424*G0_1_0 - 0.0482142857142862*G0_1_1 + 0.120535714285713*G0_1_2 + 0.096428571428571*G0_2_0 + 0.120535714285714*G0_2_1;
+ A[278] = -0.0241071428571426*G0_0_1 - 0.0241071428571428*G0_1_0 - 0.0241071428571431*G0_1_2 - 0.024107142857143*G0_2_1;
+ A[279] = 0.120535714285714*G0_0_1 + 0.0964285714285723*G0_0_2 + 0.120535714285714*G0_1_0 - 0.048214285714286*G0_1_1 - 0.0241071428571418*G0_1_2 + 0.120535714285714*G0_2_1 + 0.0964285714285716*G0_2_2;
+ A[280] = -0.0964285714285714*G0_0_0 - 0.0964285714285715*G0_0_1 - 0.0964285714285715*G0_0_2 - 0.0348214285714284*G0_1_0 - 0.0348214285714285*G0_1_1 - 0.0348214285714285*G0_1_2 - 0.0348214285714284*G0_2_0 - 0.0348214285714285*G0_2_1 - 0.0348214285714285*G0_2_2;
+ A[281] = 0.0482142857142855*G0_0_0 + 0.0348214285714282*G0_1_0 + 0.0348214285714282*G0_2_0;
A[282] = -0.0133928571428573*G0_1_1 - 0.0133928571428573*G0_2_1;
A[283] = -0.0133928571428571*G0_1_2 - 0.0133928571428571*G0_2_2;
- A[284] = 0.0241071428571431*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571432*G0_2_1 + 0.024107142857143*G0_2_2;
- A[285] = 0.0241071428571429*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571428*G0_2_1 + 0.0241071428571427*G0_2_2;
- A[286] = 0.0241071428571423*G0_0_0 + 0.0482142857142849*G0_0_2 + 0.0482142857142853*G0_1_0 + 0.0723214285714279*G0_1_2 + 0.0482142857142853*G0_2_0 + 0.0723214285714279*G0_2_2;
- A[287] = 0.0241071428571429*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0482142857142857*G0_1_2 + 0.0241071428571428*G0_2_0 + 0.0482142857142856*G0_2_2;
- A[288] = 0.0241071428571423*G0_0_0 + 0.0482142857142848*G0_0_1 + 0.0482142857142852*G0_1_0 + 0.0723214285714279*G0_1_1 + 0.0482142857142851*G0_2_0 + 0.0723214285714278*G0_2_1;
- A[289] = 0.0241071428571431*G0_0_1 + 0.0241071428571428*G0_1_0 + 0.0482142857142858*G0_1_1 + 0.024107142857143*G0_2_0 + 0.048214285714286*G0_2_1;
- A[290] = 0.0241071428571424*G0_0_0 + 0.0241071428571424*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.120535714285714*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 + 0.0241071428571425*G0_2_2;
- A[291] = -0.0241071428571429*G0_0_2 - 0.0241071428571428*G0_1_0 - 0.0241071428571428*G0_1_1 + 0.0241071428571434*G0_1_2 - 0.0241071428571427*G0_2_0 - 0.0241071428571427*G0_2_1 + 0.0241071428571434*G0_2_2;
- A[292] = 0.0241071428571423*G0_0_0 + 0.120535714285714*G0_0_1 + 0.0241071428571424*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0241071428571426*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0241071428571426*G0_2_1 + 0.120535714285714*G0_2_2;
- A[293] = -0.024107142857143*G0_0_1 - 0.0241071428571428*G0_1_0 + 0.0241071428571433*G0_1_1 - 0.0241071428571428*G0_1_2 - 0.024107142857143*G0_2_0 + 0.0241071428571433*G0_2_1 - 0.024107142857143*G0_2_2;
- A[294] = 0.241071428571428*G0_0_0 + 0.144642857142856*G0_0_1 + 0.144642857142856*G0_0_2 + 0.144642857142856*G0_1_0 + 0.241071428571428*G0_1_1 + 0.241071428571428*G0_1_2 + 0.144642857142856*G0_2_0 + 0.241071428571428*G0_2_1 + 0.241071428571428*G0_2_2;
- A[295] = -0.192857142857142*G0_0_0 - 0.0482142857142848*G0_0_1 - 0.0482142857142848*G0_0_2 - 0.144642857142856*G0_1_0 - 0.0723214285714277*G0_1_1 - 0.0723214285714276*G0_1_2 - 0.144642857142856*G0_2_0 - 0.0723214285714276*G0_2_1 - 0.0723214285714276*G0_2_2;
- A[296] = 0.0241071428571422*G0_0_1 + 0.0241071428571423*G0_0_2 + 0.0241071428571426*G0_1_0 + 0.0482142857142848*G0_1_1 + 0.0482142857142849*G0_1_2 + 0.0241071428571427*G0_2_0 + 0.0482142857142847*G0_2_1 + 0.0482142857142851*G0_2_2;
- A[297] = -0.0241071428571425*G0_0_1 - 0.0241071428571423*G0_0_2 - 0.0241071428571427*G0_1_0 - 0.144642857142857*G0_1_1 - 0.144642857142857*G0_1_2 - 0.0241071428571427*G0_2_0 - 0.144642857142857*G0_2_1 - 0.144642857142857*G0_2_2;
- A[298] = -0.0482142857142847*G0_0_0 - 0.0241071428571423*G0_0_1 - 0.168749999999999*G0_0_2 - 0.16875*G0_1_0 - 0.048214285714285*G0_1_1 - 0.289285714285715*G0_1_2 - 0.16875*G0_2_0 - 0.0482142857142849*G0_2_1 - 0.289285714285715*G0_2_2;
- A[299] = -0.0482142857142845*G0_0_0 - 0.168749999999999*G0_0_1 - 0.0241071428571423*G0_0_2 - 0.168749999999999*G0_1_0 - 0.289285714285714*G0_1_1 - 0.0482142857142849*G0_1_2 - 0.168749999999999*G0_2_0 - 0.289285714285715*G0_2_1 - 0.048214285714285*G0_2_2;
- A[300] = 0.0482142857142855*G0_0_0 + 0.0482142857142856*G0_0_1 + 0.0482142857142856*G0_0_2 + 0.0133928571428568*G0_1_0 + 0.0133928571428569*G0_1_1 + 0.0133928571428569*G0_1_2 + 0.0133928571428568*G0_2_0 + 0.0133928571428569*G0_2_1 + 0.0133928571428569*G0_2_2;
- A[301] = -0.0964285714285711*G0_0_0 - 0.0616071428571426*G0_1_0 - 0.0616071428571426*G0_2_0;
+ A[284] = 0.024107142857143*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571432*G0_2_1 + 0.024107142857143*G0_2_2;
+ A[285] = 0.024107142857143*G0_1_1 + 0.0241071428571429*G0_1_2 + 0.024107142857143*G0_2_1 + 0.0241071428571428*G0_2_2;
+ A[286] = 0.0241071428571423*G0_0_0 + 0.0482142857142849*G0_0_2 + 0.0482142857142853*G0_1_0 + 0.072321428571428*G0_1_2 + 0.0482142857142853*G0_2_0 + 0.0723214285714279*G0_2_2;
+ A[287] = 0.024107142857143*G0_0_2 + 0.024107142857143*G0_1_0 + 0.0482142857142859*G0_1_2 + 0.024107142857143*G0_2_0 + 0.0482142857142859*G0_2_2;
+ A[288] = 0.0241071428571423*G0_0_0 + 0.0482142857142849*G0_0_1 + 0.0482142857142853*G0_1_0 + 0.0723214285714279*G0_1_1 + 0.0482142857142852*G0_2_0 + 0.0723214285714278*G0_2_1;
+ A[289] = 0.0241071428571431*G0_0_1 + 0.0241071428571429*G0_1_0 + 0.0482142857142859*G0_1_1 + 0.024107142857143*G0_2_0 + 0.0482142857142861*G0_2_1;
+ A[290] = 0.0241071428571425*G0_0_0 + 0.0241071428571425*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.120535714285714*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 + 0.0241071428571426*G0_2_2;
+ A[291] = -0.024107142857143*G0_0_2 - 0.024107142857143*G0_1_0 - 0.024107142857143*G0_1_1 + 0.0241071428571433*G0_1_2 - 0.0241071428571429*G0_2_0 - 0.0241071428571429*G0_2_1 + 0.0241071428571433*G0_2_2;
+ A[292] = 0.0241071428571425*G0_0_0 + 0.120535714285714*G0_0_1 + 0.0241071428571424*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0241071428571427*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0241071428571427*G0_2_1 + 0.120535714285714*G0_2_2;
+ A[293] = -0.0241071428571429*G0_0_1 - 0.0241071428571428*G0_1_0 + 0.0241071428571432*G0_1_1 - 0.0241071428571428*G0_1_2 - 0.024107142857143*G0_2_0 + 0.0241071428571432*G0_2_1 - 0.024107142857143*G0_2_2;
+ A[294] = 0.241071428571428*G0_0_0 + 0.144642857142857*G0_0_1 + 0.144642857142857*G0_0_2 + 0.144642857142857*G0_1_0 + 0.241071428571429*G0_1_1 + 0.241071428571429*G0_1_2 + 0.144642857142857*G0_2_0 + 0.241071428571429*G0_2_1 + 0.241071428571429*G0_2_2;
+ A[295] = -0.192857142857142*G0_0_0 - 0.048214285714285*G0_0_1 - 0.048214285714285*G0_0_2 - 0.144642857142856*G0_1_0 - 0.0723214285714277*G0_1_1 - 0.0723214285714277*G0_1_2 - 0.144642857142856*G0_2_0 - 0.0723214285714276*G0_2_1 - 0.0723214285714276*G0_2_2;
+ A[296] = 0.0241071428571423*G0_0_1 + 0.0241071428571424*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0482142857142851*G0_1_1 + 0.0482142857142853*G0_1_2 + 0.0241071428571429*G0_2_0 + 0.0482142857142849*G0_2_1 + 0.0482142857142853*G0_2_2;
+ A[297] = -0.0241071428571427*G0_0_1 - 0.0241071428571426*G0_0_2 - 0.024107142857143*G0_1_0 - 0.144642857142857*G0_1_1 - 0.144642857142857*G0_1_2 - 0.024107142857143*G0_2_0 - 0.144642857142857*G0_2_1 - 0.144642857142857*G0_2_2;
+ A[298] = -0.0482142857142848*G0_0_0 - 0.0241071428571423*G0_0_1 - 0.168749999999999*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142853*G0_1_1 - 0.289285714285715*G0_1_2 - 0.16875*G0_2_0 - 0.0482142857142852*G0_2_1 - 0.289285714285715*G0_2_2;
+ A[299] = -0.0482142857142848*G0_0_0 - 0.16875*G0_0_1 - 0.0241071428571423*G0_0_2 - 0.16875*G0_1_0 - 0.289285714285715*G0_1_1 - 0.0482142857142851*G0_1_2 - 0.16875*G0_2_0 - 0.289285714285715*G0_2_1 - 0.0482142857142852*G0_2_2;
+ A[300] = 0.0482142857142856*G0_0_0 + 0.0482142857142857*G0_0_1 + 0.0482142857142857*G0_0_2 + 0.0133928571428569*G0_1_0 + 0.013392857142857*G0_1_1 + 0.013392857142857*G0_1_2 + 0.0133928571428569*G0_2_0 + 0.0133928571428569*G0_2_1 + 0.013392857142857*G0_2_2;
+ A[301] = -0.0964285714285712*G0_0_0 - 0.0616071428571426*G0_1_0 - 0.0616071428571426*G0_2_0;
A[302] = -0.0133928571428572*G0_1_1 - 0.0133928571428572*G0_2_1;
A[303] = -0.013392857142857*G0_1_2 - 0.013392857142857*G0_2_2;
- A[304] = 0.0241071428571427*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571431*G0_2_1 + 0.024107142857143*G0_2_2;
- A[305] = 0.0241071428571429*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571427*G0_2_1 + 0.0241071428571424*G0_2_2;
- A[306] = 0.0241071428571435*G0_0_0 - 0.0964285714285706*G0_0_2 - 0.096428571428571*G0_1_0 - 0.192857142857143*G0_1_2 - 0.096428571428571*G0_2_0 - 0.192857142857143*G0_2_2;
- A[307] = 0.0241071428571429*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0723214285714289*G0_1_2 + 0.0241071428571427*G0_2_0 + 0.0723214285714287*G0_2_2;
- A[308] = 0.0241071428571433*G0_0_0 - 0.0964285714285707*G0_0_1 - 0.0964285714285711*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0964285714285711*G0_2_0 - 0.192857142857143*G0_2_1;
- A[309] = 0.0241071428571428*G0_0_1 + 0.0241071428571427*G0_1_0 + 0.0723214285714286*G0_1_1 + 0.0241071428571431*G0_2_0 + 0.0723214285714289*G0_2_1;
- A[310] = 0.0241071428571435*G0_0_0 + 0.0241071428571434*G0_0_1 - 0.0241071428571429*G0_0_2 - 0.0241071428571426*G0_1_0 - 0.0241071428571427*G0_1_1 - 0.0241071428571426*G0_2_0 - 0.0241071428571427*G0_2_1;
+ A[304] = 0.0241071428571427*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.024107142857143*G0_2_1 + 0.0241071428571429*G0_2_2;
+ A[305] = 0.0241071428571429*G0_1_1 + 0.0241071428571426*G0_1_2 + 0.0241071428571426*G0_2_1 + 0.0241071428571424*G0_2_2;
+ A[306] = 0.0241071428571435*G0_0_0 - 0.0964285714285707*G0_0_2 - 0.0964285714285711*G0_1_0 - 0.192857142857143*G0_1_2 - 0.096428571428571*G0_2_0 - 0.192857142857143*G0_2_2;
+ A[307] = 0.0241071428571427*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0723214285714289*G0_1_2 + 0.0241071428571427*G0_2_0 + 0.0723214285714286*G0_2_2;
+ A[308] = 0.0241071428571434*G0_0_0 - 0.0964285714285708*G0_0_1 - 0.0964285714285712*G0_1_0 - 0.192857142857143*G0_1_1 - 0.0964285714285712*G0_2_0 - 0.192857142857143*G0_2_1;
+ A[309] = 0.0241071428571429*G0_0_1 + 0.0241071428571426*G0_1_0 + 0.0723214285714284*G0_1_1 + 0.024107142857143*G0_2_0 + 0.0723214285714287*G0_2_1;
+ A[310] = 0.0241071428571434*G0_0_0 + 0.0241071428571433*G0_0_1 - 0.024107142857143*G0_0_2 - 0.0241071428571426*G0_1_0 - 0.0241071428571427*G0_1_1 - 0.0241071428571426*G0_2_0 - 0.0241071428571427*G0_2_1;
A[311] = -0.0241071428571428*G0_0_2 - 0.0241071428571429*G0_1_0 - 0.0241071428571429*G0_1_1 - 0.0241071428571427*G0_2_0 - 0.0241071428571427*G0_2_1;
- A[312] = 0.0241071428571434*G0_0_0 - 0.0241071428571429*G0_0_1 + 0.0241071428571434*G0_0_2 - 0.0241071428571425*G0_1_0 - 0.0241071428571427*G0_1_2 - 0.0241071428571425*G0_2_0 - 0.0241071428571427*G0_2_2;
- A[313] = -0.0241071428571428*G0_0_1 - 0.0241071428571427*G0_1_0 - 0.0241071428571427*G0_1_2 - 0.0241071428571431*G0_2_0 - 0.0241071428571431*G0_2_2;
- A[314] = -0.192857142857142*G0_0_0 - 0.144642857142856*G0_0_1 - 0.144642857142856*G0_0_2 - 0.0482142857142849*G0_1_0 - 0.0723214285714277*G0_1_1 - 0.0723214285714276*G0_1_2 - 0.0482142857142848*G0_2_0 - 0.0723214285714276*G0_2_1 - 0.0723214285714276*G0_2_2;
- A[315] = 0.241071428571428*G0_0_0 + 0.0964285714285706*G0_0_1 + 0.0964285714285706*G0_0_2 + 0.0964285714285706*G0_1_0 + 0.192857142857142*G0_1_1 + 0.192857142857142*G0_1_2 + 0.0964285714285706*G0_2_0 + 0.192857142857142*G0_2_1 + 0.192857142857142*G0_2_2;
- A[316] = 0.0241071428571434*G0_0_1 + 0.0241071428571434*G0_0_2 + 0.0241071428571426*G0_1_0 - 0.0964285714285714*G0_1_1 - 0.0964285714285715*G0_1_2 + 0.0241071428571428*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0964285714285711*G0_2_2;
- A[317] = -0.0241071428571434*G0_0_1 - 0.0241071428571434*G0_0_2 - 0.0241071428571426*G0_1_0 - 0.0241071428571429*G0_2_0;
- A[318] = -0.048214285714287*G0_0_0 - 0.0241071428571435*G0_0_1 + 0.120535714285713*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0964285714285712*G0_1_1 + 0.120535714285714*G0_2_0 + 0.0964285714285713*G0_2_1;
- A[319] = -0.0482142857142868*G0_0_0 + 0.120535714285713*G0_0_1 - 0.0241071428571433*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0964285714285715*G0_1_2 + 0.120535714285714*G0_2_0 + 0.096428571428571*G0_2_2;
- A[320] = -0.0321428571428571*G0_0_0 - 0.0321428571428569*G0_0_1 - 0.0321428571428568*G0_0_2 - 0.0321428571428569*G0_1_0 - 0.0321428571428569*G0_1_1 - 0.0321428571428569*G0_1_2 - 0.032142857142857*G0_2_0 - 0.0321428571428568*G0_2_1 - 0.0321428571428568*G0_2_2;
- A[321] = 0.0321428571428571*G0_0_0 - 0.0160714285714288*G0_1_0 - 0.0160714285714286*G0_2_0;
- A[322] = -0.0160714285714288*G0_0_1 + 0.0321428571428573*G0_1_1 - 0.0160714285714284*G0_2_1;
- A[323] = -0.0160714285714289*G0_0_2 - 0.0160714285714288*G0_1_2 + 0.0321428571428567*G0_2_2;
- A[324] = 0.241071428571428*G0_0_1 + 0.0964285714285717*G0_0_2 - 0.0482142857142855*G0_1_1 - 0.0241071428571422*G0_1_2 + 0.120535714285714*G0_2_1 + 0.0964285714285727*G0_2_2;
- A[325] = 0.0964285714285715*G0_0_1 + 0.241071428571428*G0_0_2 + 0.0964285714285716*G0_1_1 + 0.120535714285714*G0_1_2 - 0.0241071428571427*G0_2_1 - 0.0482142857142863*G0_2_2;
- A[326] = -0.0482142857142852*G0_0_0 - 0.0241071428571424*G0_0_2 + 0.241071428571429*G0_1_0 + 0.0964285714285726*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0964285714285721*G0_2_2;
- A[327] = 0.0964285714285713*G0_0_0 + 0.120535714285715*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.241071428571429*G0_1_2 - 0.0241071428571427*G0_2_0 - 0.0482142857142853*G0_2_2;
- A[328] = -0.048214285714286*G0_0_0 - 0.0241071428571426*G0_0_1 + 0.120535714285714*G0_1_0 + 0.096428571428572*G0_1_1 + 0.241071428571428*G0_2_0 + 0.0964285714285719*G0_2_1;
- A[329] = 0.0964285714285721*G0_0_0 + 0.120535714285715*G0_0_1 - 0.0241071428571423*G0_1_0 - 0.0482142857142856*G0_1_1 + 0.0964285714285729*G0_2_0 + 0.241071428571429*G0_2_1;
- A[330] = 0.0482142857142854*G0_0_0 + 0.0482142857142854*G0_0_1 + 0.0241071428571423*G0_0_2 + 0.0482142857142852*G0_1_0 + 0.0482142857142853*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.0241071428571429*G0_2_0 + 0.024107142857143*G0_2_1;
- A[331] = -0.0964285714285713*G0_0_0 - 0.0964285714285713*G0_0_1 + 0.0241071428571428*G0_0_2 - 0.0964285714285714*G0_1_0 - 0.0964285714285715*G0_1_1 + 0.0241071428571429*G0_1_2 + 0.0241071428571428*G0_2_0 + 0.0241071428571428*G0_2_1;
- A[332] = 0.0482142857142863*G0_0_0 + 0.024107142857143*G0_0_1 + 0.0482142857142856*G0_0_2 + 0.0241071428571429*G0_1_0 + 0.0241071428571431*G0_1_2 + 0.0482142857142862*G0_2_0 + 0.0241071428571432*G0_2_1 + 0.0482142857142858*G0_2_2;
- A[333] = -0.096428571428572*G0_0_0 + 0.0241071428571424*G0_0_1 - 0.0964285714285712*G0_0_2 + 0.0241071428571424*G0_1_0 + 0.0241071428571428*G0_1_2 - 0.0964285714285728*G0_2_0 + 0.0241071428571418*G0_2_1 - 0.0964285714285723*G0_2_2;
- A[334] = 0.0241071428571426*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0241071428571422*G0_1_0 + 0.0482142857142848*G0_1_1 + 0.0482142857142847*G0_1_2 + 0.0241071428571423*G0_2_0 + 0.0482142857142849*G0_2_1 + 0.0482142857142851*G0_2_2;
- A[335] = 0.0241071428571426*G0_0_1 + 0.0241071428571428*G0_0_2 + 0.0241071428571434*G0_1_0 - 0.0964285714285714*G0_1_1 - 0.0964285714285715*G0_1_2 + 0.0241071428571434*G0_2_0 - 0.0964285714285715*G0_2_1 - 0.0964285714285711*G0_2_2;
- A[336] = 0.57857142857143*G0_0_0 + 0.289285714285716*G0_0_1 + 0.289285714285716*G0_0_2 + 0.289285714285717*G0_1_0 + 0.578571428571432*G0_1_1 + 0.289285714285717*G0_1_2 + 0.289285714285716*G0_2_0 + 0.289285714285717*G0_2_1 + 0.578571428571431*G0_2_2;
- A[337] = -0.57857142857143*G0_0_0 - 0.289285714285714*G0_0_1 - 0.289285714285714*G0_0_2 - 0.289285714285717*G0_1_0 - 0.144642857142858*G0_1_2 - 0.289285714285716*G0_2_0 - 0.144642857142858*G0_2_1;
- A[338] = -0.289285714285716*G0_0_1 - 0.144642857142857*G0_0_2 - 0.289285714285714*G0_1_0 - 0.578571428571431*G0_1_1 - 0.289285714285713*G0_1_2 - 0.144642857142857*G0_2_0 - 0.289285714285716*G0_2_1;
- A[339] = -0.144642857142856*G0_0_1 - 0.289285714285716*G0_0_2 - 0.144642857142857*G0_1_0 - 0.289285714285717*G0_1_2 - 0.289285714285714*G0_2_0 - 0.289285714285713*G0_2_1 - 0.578571428571431*G0_2_2;
- A[340] = 0.0321428571428571*G0_0_0 + 0.0321428571428569*G0_0_1 + 0.0321428571428568*G0_0_2 + 0.0482142857142857*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0482142857142854*G0_1_2 + 0.0482142857142855*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0482142857142855*G0_2_2;
- A[341] = -0.0321428571428571*G0_0_0;
- A[342] = 0.0160714285714288*G0_0_1 + 0.048214285714286*G0_1_1;
- A[343] = 0.0160714285714289*G0_0_2 + 0.0482142857142856*G0_2_2;
- A[344] = -0.241071428571429*G0_0_1 - 0.0964285714285718*G0_0_2 - 0.289285714285714*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1;
+ A[312] = 0.0241071428571433*G0_0_0 - 0.0241071428571429*G0_0_1 + 0.0241071428571433*G0_0_2 - 0.0241071428571426*G0_1_0 - 0.0241071428571428*G0_1_2 - 0.0241071428571425*G0_2_0 - 0.0241071428571427*G0_2_2;
+ A[313] = -0.0241071428571428*G0_0_1 - 0.0241071428571426*G0_1_0 - 0.0241071428571426*G0_1_2 - 0.024107142857143*G0_2_0 - 0.024107142857143*G0_2_2;
+ A[314] = -0.192857142857142*G0_0_0 - 0.144642857142856*G0_0_1 - 0.144642857142856*G0_0_2 - 0.048214285714285*G0_1_0 - 0.0723214285714277*G0_1_1 - 0.0723214285714276*G0_1_2 - 0.048214285714285*G0_2_0 - 0.0723214285714277*G0_2_1 - 0.0723214285714276*G0_2_2;
+ A[315] = 0.241071428571428*G0_0_0 + 0.0964285714285707*G0_0_1 + 0.0964285714285707*G0_0_2 + 0.0964285714285707*G0_1_0 + 0.192857142857142*G0_1_1 + 0.192857142857142*G0_1_2 + 0.0964285714285707*G0_2_0 + 0.192857142857142*G0_2_1 + 0.192857142857142*G0_2_2;
+ A[316] = 0.0241071428571433*G0_0_1 + 0.0241071428571434*G0_0_2 + 0.0241071428571424*G0_1_0 - 0.0964285714285716*G0_1_1 - 0.0964285714285717*G0_1_2 + 0.0241071428571427*G0_2_0 - 0.0964285714285717*G0_2_1 - 0.0964285714285712*G0_2_2;
+ A[317] = -0.0241071428571434*G0_0_1 - 0.0241071428571432*G0_0_2 - 0.0241071428571424*G0_1_0 - 0.0241071428571427*G0_2_0;
+ A[318] = -0.0482142857142869*G0_0_0 - 0.0241071428571434*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0964285714285714*G0_1_1 + 0.120535714285714*G0_2_0 + 0.0964285714285715*G0_2_1;
+ A[319] = -0.0482142857142867*G0_0_0 + 0.120535714285714*G0_0_1 - 0.0241071428571434*G0_0_2 + 0.120535714285714*G0_1_0 + 0.0964285714285718*G0_1_2 + 0.120535714285714*G0_2_0 + 0.0964285714285713*G0_2_2;
+ A[320] = -0.0321428571428571*G0_0_0 - 0.032142857142857*G0_0_1 - 0.0321428571428569*G0_0_2 - 0.0321428571428569*G0_1_0 - 0.032142857142857*G0_1_1 - 0.0321428571428569*G0_1_2 - 0.032142857142857*G0_2_0 - 0.0321428571428569*G0_2_1 - 0.0321428571428568*G0_2_2;
+ A[321] = 0.0321428571428572*G0_0_0 - 0.0160714285714287*G0_1_0 - 0.0160714285714286*G0_2_0;
+ A[322] = -0.0160714285714289*G0_0_1 + 0.0321428571428573*G0_1_1 - 0.0160714285714285*G0_2_1;
+ A[323] = -0.0160714285714289*G0_0_2 - 0.0160714285714288*G0_1_2 + 0.0321428571428566*G0_2_2;
+ A[324] = 0.241071428571428*G0_0_1 + 0.0964285714285713*G0_0_2 - 0.0482142857142854*G0_1_1 - 0.0241071428571421*G0_1_2 + 0.120535714285714*G0_2_1 + 0.0964285714285725*G0_2_2;
+ A[325] = 0.0964285714285714*G0_0_1 + 0.241071428571428*G0_0_2 + 0.0964285714285714*G0_1_1 + 0.120535714285714*G0_1_2 - 0.0241071428571428*G0_2_1 - 0.0482142857142863*G0_2_2;
+ A[326] = -0.0482142857142852*G0_0_0 - 0.0241071428571423*G0_0_2 + 0.241071428571429*G0_1_0 + 0.0964285714285727*G0_1_2 + 0.120535714285715*G0_2_0 + 0.0964285714285722*G0_2_2;
+ A[327] = 0.0964285714285713*G0_0_0 + 0.120535714285715*G0_0_2 + 0.0964285714285712*G0_1_0 + 0.241071428571428*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0482142857142854*G0_2_2;
+ A[328] = -0.0482142857142862*G0_0_0 - 0.0241071428571425*G0_0_1 + 0.120535714285714*G0_1_0 + 0.0964285714285721*G0_1_1 + 0.241071428571428*G0_2_0 + 0.096428571428572*G0_2_1;
+ A[329] = 0.0964285714285719*G0_0_0 + 0.120535714285714*G0_0_1 - 0.0241071428571423*G0_1_0 - 0.0482142857142854*G0_1_1 + 0.0964285714285727*G0_2_0 + 0.241071428571429*G0_2_1;
+ A[330] = 0.0482142857142857*G0_0_0 + 0.0482142857142856*G0_0_1 + 0.0241071428571424*G0_0_2 + 0.0482142857142853*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.0241071428571431*G0_2_0 + 0.0241071428571431*G0_2_1;
+ A[331] = -0.0964285714285714*G0_0_0 - 0.0964285714285714*G0_0_1 + 0.0241071428571426*G0_0_2 - 0.0964285714285713*G0_1_0 - 0.0964285714285713*G0_1_1 + 0.0241071428571428*G0_1_2 + 0.0241071428571429*G0_2_0 + 0.0241071428571428*G0_2_1;
+ A[332] = 0.0482142857142864*G0_0_0 + 0.024107142857143*G0_0_1 + 0.0482142857142857*G0_0_2 + 0.0241071428571431*G0_1_0 + 0.0241071428571433*G0_1_2 + 0.0482142857142863*G0_2_0 + 0.0241071428571432*G0_2_1 + 0.048214285714286*G0_2_2;
+ A[333] = -0.0964285714285718*G0_0_0 + 0.0241071428571423*G0_0_1 - 0.0964285714285709*G0_0_2 + 0.0241071428571423*G0_1_0 + 0.0241071428571427*G0_1_2 - 0.0964285714285727*G0_2_0 + 0.0241071428571416*G0_2_1 - 0.096428571428572*G0_2_2;
+ A[334] = 0.0241071428571429*G0_0_1 + 0.0241071428571429*G0_0_2 + 0.0241071428571423*G0_1_0 + 0.0482142857142851*G0_1_1 + 0.0482142857142849*G0_1_2 + 0.0241071428571424*G0_2_0 + 0.0482142857142853*G0_2_1 + 0.0482142857142853*G0_2_2;
+ A[335] = 0.0241071428571424*G0_0_1 + 0.0241071428571427*G0_0_2 + 0.0241071428571433*G0_1_0 - 0.0964285714285716*G0_1_1 - 0.0964285714285717*G0_1_2 + 0.0241071428571434*G0_2_0 - 0.0964285714285717*G0_2_1 - 0.0964285714285712*G0_2_2;
+ A[336] = 0.578571428571429*G0_0_0 + 0.289285714285716*G0_0_1 + 0.289285714285716*G0_0_2 + 0.289285714285716*G0_1_0 + 0.578571428571431*G0_1_1 + 0.289285714285717*G0_1_2 + 0.289285714285716*G0_2_0 + 0.289285714285717*G0_2_1 + 0.578571428571431*G0_2_2;
+ A[337] = -0.578571428571429*G0_0_0 - 0.289285714285714*G0_0_1 - 0.289285714285714*G0_0_2 - 0.289285714285716*G0_1_0 - 0.144642857142858*G0_1_2 - 0.289285714285716*G0_2_0 - 0.144642857142858*G0_2_1;
+ A[338] = -0.289285714285715*G0_0_1 - 0.144642857142857*G0_0_2 - 0.289285714285714*G0_1_0 - 0.578571428571431*G0_1_1 - 0.289285714285713*G0_1_2 - 0.144642857142858*G0_2_0 - 0.289285714285716*G0_2_1;
+ A[339] = -0.144642857142856*G0_0_1 - 0.289285714285715*G0_0_2 - 0.144642857142857*G0_1_0 - 0.289285714285717*G0_1_2 - 0.289285714285715*G0_2_0 - 0.289285714285714*G0_2_1 - 0.578571428571431*G0_2_2;
+ A[340] = 0.0321428571428571*G0_0_0 + 0.032142857142857*G0_0_1 + 0.0321428571428569*G0_0_2 + 0.0482142857142857*G0_1_0 + 0.0482142857142856*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.0482142857142855*G0_2_0 + 0.0482142857142856*G0_2_1 + 0.0482142857142856*G0_2_2;
+ A[341] = -0.0321428571428572*G0_0_0;
+ A[342] = 0.0160714285714289*G0_0_1 + 0.048214285714286*G0_1_1;
+ A[343] = 0.0160714285714289*G0_0_2 + 0.0482142857142855*G0_2_2;
+ A[344] = -0.241071428571428*G0_0_1 - 0.0964285714285714*G0_0_2 - 0.289285714285714*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1;
A[345] = -0.0964285714285715*G0_0_1 - 0.241071428571428*G0_0_2 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.289285714285714*G0_2_2;
- A[346] = 0.0482142857142852*G0_0_0 + 0.0241071428571424*G0_0_2 + 0.0241071428571419*G0_2_0;
+ A[346] = 0.0482142857142853*G0_0_0 + 0.0241071428571423*G0_0_2 + 0.024107142857142*G0_2_0;
A[347] = -0.0964285714285714*G0_0_0 - 0.120535714285715*G0_0_2 - 0.120535714285714*G0_2_0 - 0.144642857142857*G0_2_2;
- A[348] = 0.0482142857142861*G0_0_0 + 0.0241071428571426*G0_0_1 + 0.0241071428571428*G0_1_0;
- A[349] = -0.0964285714285722*G0_0_0 - 0.120535714285715*G0_0_1 - 0.120535714285715*G0_1_0 - 0.144642857142858*G0_1_1;
- A[350] = -0.0482142857142855*G0_0_0 - 0.0482142857142855*G0_0_1 - 0.0241071428571424*G0_0_2 - 0.289285714285714*G0_1_0 - 0.289285714285714*G0_1_1 - 0.168749999999999*G0_1_2 - 0.16875*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142853*G0_2_2;
- A[351] = 0.0964285714285714*G0_0_0 + 0.0964285714285714*G0_0_1 - 0.0241071428571428*G0_0_2 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142861*G0_2_2;
- A[352] = -0.0482142857142863*G0_0_0 - 0.024107142857143*G0_0_1 - 0.0482142857142856*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.16875*G0_1_2 - 0.289285714285714*G0_2_0 - 0.16875*G0_2_1 - 0.289285714285714*G0_2_2;
- A[353] = 0.0964285714285721*G0_0_0 - 0.0241071428571424*G0_0_1 + 0.0964285714285713*G0_0_2 + 0.120535714285715*G0_1_0 - 0.0482142857142863*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285713*G0_2_1;
- A[354] = -0.0241071428571427*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.0241071428571425*G0_1_0 - 0.144642857142857*G0_1_1 - 0.144642857142857*G0_1_2 - 0.0241071428571423*G0_2_0 - 0.144642857142857*G0_2_1 - 0.144642857142857*G0_2_2;
- A[355] = -0.0241071428571426*G0_0_1 - 0.0241071428571429*G0_0_2 - 0.0241071428571434*G0_1_0 - 0.0241071428571434*G0_2_0;
- A[356] = -0.57857142857143*G0_0_0 - 0.289285714285717*G0_0_1 - 0.289285714285716*G0_0_2 - 0.289285714285714*G0_1_0 - 0.144642857142858*G0_1_2 - 0.289285714285714*G0_2_0 - 0.144642857142858*G0_2_1;
- A[357] = 0.57857142857143*G0_0_0 + 0.289285714285715*G0_0_1 + 0.289285714285714*G0_0_2 + 0.289285714285715*G0_1_0 + 0.578571428571429*G0_1_1 + 0.289285714285714*G0_1_2 + 0.289285714285714*G0_2_0 + 0.289285714285714*G0_2_1 + 0.578571428571429*G0_2_2;
+ A[348] = 0.0482142857142863*G0_0_0 + 0.0241071428571425*G0_0_1 + 0.0241071428571428*G0_1_0;
+ A[349] = -0.096428571428572*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.144642857142857*G0_1_1;
+ A[350] = -0.0482142857142858*G0_0_0 - 0.0482142857142858*G0_0_1 - 0.0241071428571425*G0_0_2 - 0.289285714285714*G0_1_0 - 0.289285714285714*G0_1_1 - 0.168749999999999*G0_1_2 - 0.16875*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142856*G0_2_2;
+ A[351] = 0.0964285714285715*G0_0_0 + 0.0964285714285715*G0_0_1 - 0.0241071428571425*G0_0_2 + 0.120535714285714*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142858*G0_2_2;
+ A[352] = -0.0482142857142864*G0_0_0 - 0.024107142857143*G0_0_1 - 0.0482142857142858*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142853*G0_1_1 - 0.16875*G0_1_2 - 0.289285714285714*G0_2_0 - 0.16875*G0_2_1 - 0.289285714285714*G0_2_2;
+ A[353] = 0.0964285714285719*G0_0_0 - 0.0241071428571424*G0_0_1 + 0.096428571428571*G0_0_2 + 0.120535714285714*G0_1_0 - 0.0482142857142862*G0_1_1 + 0.120535714285714*G0_1_2 + 0.120535714285713*G0_2_1;
+ A[354] = -0.024107142857143*G0_0_1 - 0.024107142857143*G0_0_2 - 0.0241071428571427*G0_1_0 - 0.144642857142857*G0_1_1 - 0.144642857142857*G0_1_2 - 0.0241071428571426*G0_2_0 - 0.144642857142857*G0_2_1 - 0.144642857142857*G0_2_2;
+ A[355] = -0.0241071428571424*G0_0_1 - 0.0241071428571427*G0_0_2 - 0.0241071428571434*G0_1_0 - 0.0241071428571432*G0_2_0;
+ A[356] = -0.578571428571429*G0_0_0 - 0.289285714285716*G0_0_1 - 0.289285714285716*G0_0_2 - 0.289285714285714*G0_1_0 - 0.144642857142858*G0_1_2 - 0.289285714285714*G0_2_0 - 0.144642857142858*G0_2_1;
+ A[357] = 0.57857142857143*G0_0_0 + 0.289285714285715*G0_0_1 + 0.289285714285714*G0_0_2 + 0.289285714285715*G0_1_0 + 0.578571428571428*G0_1_1 + 0.289285714285714*G0_1_2 + 0.289285714285714*G0_2_0 + 0.289285714285714*G0_2_1 + 0.578571428571429*G0_2_2;
A[358] = 0.289285714285716*G0_0_1 + 0.144642857142857*G0_0_2 + 0.289285714285715*G0_1_0 + 0.144642857142858*G0_1_2 + 0.144642857142858*G0_2_0 + 0.144642857142858*G0_2_1 + 0.289285714285715*G0_2_2;
- A[359] = 0.144642857142856*G0_0_1 + 0.289285714285716*G0_0_2 + 0.144642857142857*G0_1_0 + 0.289285714285714*G0_1_1 + 0.144642857142858*G0_1_2 + 0.289285714285714*G0_2_0 + 0.144642857142857*G0_2_1;
- A[360] = 0.0482142857142854*G0_0_0 + 0.0482142857142854*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0321428571428569*G0_1_0 + 0.0321428571428568*G0_1_1 + 0.0321428571428569*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142855*G0_2_1 + 0.0482142857142855*G0_2_2;
- A[361] = 0.0482142857142862*G0_0_0 + 0.0160714285714289*G0_1_0;
+ A[359] = 0.144642857142856*G0_0_1 + 0.289285714285715*G0_0_2 + 0.144642857142858*G0_1_0 + 0.289285714285714*G0_1_1 + 0.144642857142858*G0_1_2 + 0.289285714285714*G0_2_0 + 0.144642857142857*G0_2_1;
+ A[360] = 0.0482142857142855*G0_0_0 + 0.0482142857142855*G0_0_1 + 0.0482142857142855*G0_0_2 + 0.0321428571428569*G0_1_0 + 0.0321428571428569*G0_1_1 + 0.0321428571428569*G0_1_2 + 0.0482142857142854*G0_2_0 + 0.0482142857142856*G0_2_1 + 0.0482142857142856*G0_2_2;
+ A[361] = 0.0482142857142862*G0_0_0 + 0.0160714285714288*G0_1_0;
A[362] = -0.0321428571428572*G0_1_1;
- A[363] = 0.0160714285714289*G0_1_2 + 0.0482142857142856*G0_2_2;
- A[364] = 0.0482142857142857*G0_1_1 + 0.0241071428571425*G0_1_2 + 0.0241071428571424*G0_2_1;
- A[365] = -0.0964285714285717*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.144642857142856*G0_2_2;
- A[366] = -0.289285714285714*G0_0_0 - 0.120535714285715*G0_0_2 - 0.241071428571429*G0_1_0 - 0.0964285714285724*G0_1_2 - 0.120535714285714*G0_2_0;
- A[367] = -0.120535714285714*G0_0_2 - 0.0964285714285715*G0_1_0 - 0.241071428571429*G0_1_2 - 0.120535714285714*G0_2_0 - 0.289285714285714*G0_2_2;
- A[368] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.0964285714285718*G0_1_1;
- A[369] = 0.0241071428571428*G0_0_1 + 0.0241071428571426*G0_1_0 + 0.0482142857142859*G0_1_1;
- A[370] = -0.289285714285714*G0_0_0 - 0.289285714285714*G0_0_1 - 0.16875*G0_0_2 - 0.0482142857142855*G0_1_0 - 0.0482142857142857*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.16875*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142852*G0_2_2;
- A[371] = 0.120535714285714*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.0964285714285716*G0_1_1 - 0.0241071428571428*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142864*G0_2_2;
- A[372] = -0.144642857142857*G0_0_0 - 0.0241071428571429*G0_0_1 - 0.144642857142857*G0_0_2 - 0.0241071428571432*G0_1_0 - 0.0241071428571433*G0_1_2 - 0.144642857142858*G0_2_0 - 0.0241071428571428*G0_2_1 - 0.144642857142858*G0_2_2;
- A[373] = -0.0241071428571429*G0_0_1 - 0.0241071428571427*G0_1_0 - 0.0241071428571431*G0_1_2 - 0.0241071428571431*G0_2_1;
- A[374] = -0.0482142857142847*G0_0_0 - 0.16875*G0_0_1 - 0.16875*G0_0_2 - 0.0241071428571423*G0_1_0 - 0.048214285714285*G0_1_1 - 0.0482142857142849*G0_1_2 - 0.168749999999999*G0_2_0 - 0.289285714285715*G0_2_1 - 0.289285714285715*G0_2_2;
- A[375] = -0.048214285714287*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 - 0.0241071428571435*G0_1_0 + 0.0964285714285712*G0_1_1 + 0.0964285714285713*G0_1_2 + 0.120535714285713*G0_2_0;
- A[376] = -0.289285714285714*G0_0_1 - 0.144642857142857*G0_0_2 - 0.289285714285716*G0_1_0 - 0.578571428571431*G0_1_1 - 0.289285714285716*G0_1_2 - 0.144642857142857*G0_2_0 - 0.289285714285713*G0_2_1;
+ A[363] = 0.0160714285714288*G0_1_2 + 0.0482142857142856*G0_2_2;
+ A[364] = 0.0482142857142856*G0_1_1 + 0.0241071428571424*G0_1_2 + 0.0241071428571423*G0_2_1;
+ A[365] = -0.0964285714285716*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.144642857142856*G0_2_2;
+ A[366] = -0.289285714285714*G0_0_0 - 0.120535714285715*G0_0_2 - 0.241071428571429*G0_1_0 - 0.0964285714285725*G0_1_2 - 0.120535714285714*G0_2_0;
+ A[367] = -0.120535714285714*G0_0_2 - 0.0964285714285714*G0_1_0 - 0.241071428571429*G0_1_2 - 0.120535714285714*G0_2_0 - 0.289285714285714*G0_2_2;
+ A[368] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.0964285714285719*G0_1_1;
+ A[369] = 0.0241071428571425*G0_0_1 + 0.0241071428571426*G0_1_0 + 0.0482142857142857*G0_1_1;
+ A[370] = -0.289285714285714*G0_0_0 - 0.289285714285714*G0_0_1 - 0.16875*G0_0_2 - 0.0482142857142858*G0_1_0 - 0.0482142857142859*G0_1_1 - 0.0241071428571427*G0_1_2 - 0.16875*G0_2_0 - 0.16875*G0_2_1 - 0.0482142857142852*G0_2_2;
+ A[371] = 0.120535714285714*G0_0_2 + 0.0964285714285715*G0_1_0 + 0.0964285714285715*G0_1_1 - 0.0241071428571426*G0_1_2 + 0.120535714285714*G0_2_0 + 0.120535714285714*G0_2_1 - 0.0482142857142862*G0_2_2;
+ A[372] = -0.144642857142857*G0_0_0 - 0.0241071428571428*G0_0_1 - 0.144642857142857*G0_0_2 - 0.0241071428571433*G0_1_0 - 0.0241071428571435*G0_1_2 - 0.144642857142858*G0_2_0 - 0.0241071428571428*G0_2_1 - 0.144642857142858*G0_2_2;
+ A[373] = -0.0241071428571428*G0_0_1 - 0.0241071428571426*G0_1_0 - 0.024107142857143*G0_1_2 - 0.0241071428571431*G0_2_1;
+ A[374] = -0.0482142857142848*G0_0_0 - 0.16875*G0_0_1 - 0.16875*G0_0_2 - 0.0241071428571423*G0_1_0 - 0.0482142857142853*G0_1_1 - 0.0482142857142852*G0_1_2 - 0.168749999999999*G0_2_0 - 0.289285714285715*G0_2_1 - 0.289285714285715*G0_2_2;
+ A[375] = -0.0482142857142869*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 - 0.0241071428571434*G0_1_0 + 0.0964285714285714*G0_1_1 + 0.0964285714285715*G0_1_2 + 0.120535714285714*G0_2_0;
+ A[376] = -0.289285714285714*G0_0_1 - 0.144642857142858*G0_0_2 - 0.289285714285715*G0_1_0 - 0.578571428571431*G0_1_1 - 0.289285714285716*G0_1_2 - 0.144642857142857*G0_2_0 - 0.289285714285713*G0_2_1;
A[377] = 0.289285714285715*G0_0_1 + 0.144642857142858*G0_0_2 + 0.289285714285716*G0_1_0 + 0.144642857142858*G0_1_2 + 0.144642857142857*G0_2_0 + 0.144642857142858*G0_2_1 + 0.289285714285715*G0_2_2;
- A[378] = 0.578571428571429*G0_0_0 + 0.289285714285714*G0_0_1 + 0.289285714285715*G0_0_2 + 0.289285714285714*G0_1_0 + 0.57857142857143*G0_1_1 + 0.289285714285714*G0_1_2 + 0.289285714285715*G0_2_0 + 0.289285714285714*G0_2_1 + 0.578571428571429*G0_2_2;
+ A[378] = 0.578571428571429*G0_0_0 + 0.289285714285715*G0_0_1 + 0.289285714285715*G0_0_2 + 0.289285714285715*G0_1_0 + 0.57857142857143*G0_1_1 + 0.289285714285713*G0_1_2 + 0.289285714285715*G0_2_0 + 0.289285714285713*G0_2_1 + 0.578571428571429*G0_2_2;
A[379] = 0.289285714285714*G0_0_0 + 0.144642857142857*G0_0_1 + 0.144642857142857*G0_0_2 + 0.144642857142857*G0_1_0 + 0.289285714285716*G0_1_2 + 0.144642857142857*G0_2_0 + 0.289285714285715*G0_2_1;
- A[380] = 0.0482142857142853*G0_0_0 + 0.0482142857142854*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0482142857142855*G0_1_0 + 0.0482142857142855*G0_1_1 + 0.0482142857142854*G0_1_2 + 0.032142857142857*G0_2_0 + 0.0321428571428568*G0_2_1 + 0.0321428571428568*G0_2_2;
- A[381] = 0.048214285714286*G0_0_0 + 0.0160714285714287*G0_2_0;
- A[382] = 0.048214285714286*G0_1_1 + 0.0160714285714285*G0_2_1;
+ A[380] = 0.0482142857142853*G0_0_0 + 0.0482142857142855*G0_0_1 + 0.0482142857142854*G0_0_2 + 0.0482142857142856*G0_1_0 + 0.0482142857142856*G0_1_1 + 0.0482142857142855*G0_1_2 + 0.032142857142857*G0_2_0 + 0.0321428571428569*G0_2_1 + 0.0321428571428568*G0_2_2;
+ A[381] = 0.048214285714286*G0_0_0 + 0.0160714285714286*G0_2_0;
+ A[382] = 0.048214285714286*G0_1_1 + 0.0160714285714287*G0_2_1;
A[383] = -0.0321428571428566*G0_2_2;
- A[384] = -0.144642857142857*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.0964285714285723*G0_2_2;
- A[385] = 0.0241071428571434*G0_1_2 + 0.0241071428571428*G0_2_1 + 0.0482142857142862*G0_2_2;
- A[386] = -0.144642857142857*G0_0_0 - 0.120535714285714*G0_0_2 - 0.120535714285714*G0_2_0 - 0.0964285714285721*G0_2_2;
- A[387] = 0.0241071428571431*G0_0_2 + 0.0241071428571428*G0_2_0 + 0.0482142857142854*G0_2_2;
- A[388] = -0.289285714285714*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.241071428571428*G0_2_0 - 0.0964285714285718*G0_2_1;
- A[389] = -0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.289285714285714*G0_1_1 - 0.0964285714285726*G0_2_0 - 0.241071428571429*G0_2_1;
- A[390] = -0.144642857142857*G0_0_0 - 0.144642857142857*G0_0_1 - 0.0241071428571426*G0_0_2 - 0.144642857142857*G0_1_0 - 0.144642857142857*G0_1_1 - 0.0241071428571422*G0_1_2 - 0.0241071428571429*G0_2_0 - 0.024107142857143*G0_2_1;
- A[391] = -0.0241071428571431*G0_0_2 - 0.0241071428571434*G0_1_2 - 0.0241071428571428*G0_2_0 - 0.0241071428571428*G0_2_1;
- A[392] = -0.289285714285714*G0_0_0 - 0.16875*G0_0_1 - 0.289285714285714*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.16875*G0_1_2 - 0.048214285714286*G0_2_0 - 0.0241071428571432*G0_2_1 - 0.0482142857142857*G0_2_2;
- A[393] = 0.120535714285714*G0_0_1 + 0.120535714285714*G0_1_0 - 0.0482142857142861*G0_1_1 + 0.120535714285714*G0_1_2 + 0.0964285714285725*G0_2_0 - 0.0241071428571419*G0_2_1 + 0.0964285714285719*G0_2_2;
- A[394] = -0.0482142857142846*G0_0_0 - 0.168749999999999*G0_0_1 - 0.168749999999999*G0_0_2 - 0.168749999999999*G0_1_0 - 0.289285714285714*G0_1_1 - 0.289285714285715*G0_1_2 - 0.0241071428571423*G0_2_0 - 0.0482142857142849*G0_2_1 - 0.048214285714285*G0_2_2;
- A[395] = -0.0482142857142868*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285713*G0_1_0 - 0.0241071428571433*G0_2_0 + 0.0964285714285715*G0_2_1 + 0.096428571428571*G0_2_2;
- A[396] = -0.144642857142857*G0_0_1 - 0.289285714285714*G0_0_2 - 0.144642857142856*G0_1_0 - 0.289285714285713*G0_1_2 - 0.289285714285716*G0_2_0 - 0.289285714285717*G0_2_1 - 0.578571428571431*G0_2_2;
- A[397] = 0.144642857142857*G0_0_1 + 0.289285714285714*G0_0_2 + 0.144642857142856*G0_1_0 + 0.289285714285714*G0_1_1 + 0.144642857142857*G0_1_2 + 0.289285714285716*G0_2_0 + 0.144642857142858*G0_2_1;
- A[398] = 0.289285714285714*G0_0_0 + 0.144642857142857*G0_0_1 + 0.144642857142857*G0_0_2 + 0.144642857142857*G0_1_0 + 0.289285714285715*G0_1_2 + 0.144642857142857*G0_2_0 + 0.289285714285715*G0_2_1;
- A[399] = 0.578571428571427*G0_0_0 + 0.289285714285714*G0_0_1 + 0.289285714285714*G0_0_2 + 0.289285714285714*G0_1_0 + 0.578571428571428*G0_1_1 + 0.289285714285713*G0_1_2 + 0.289285714285714*G0_2_0 + 0.289285714285713*G0_2_1 + 0.57857142857143*G0_2_2;
+ A[384] = -0.144642857142857*G0_1_1 - 0.120535714285714*G0_1_2 - 0.120535714285714*G0_2_1 - 0.096428571428572*G0_2_2;
+ A[385] = 0.0241071428571433*G0_1_2 + 0.0241071428571429*G0_2_1 + 0.0482142857142863*G0_2_2;
+ A[386] = -0.144642857142857*G0_0_0 - 0.120535714285715*G0_0_2 - 0.120535714285714*G0_2_0 - 0.0964285714285723*G0_2_2;
+ A[387] = 0.0241071428571432*G0_0_2 + 0.0241071428571429*G0_2_0 + 0.0482142857142857*G0_2_2;
+ A[388] = -0.289285714285714*G0_0_0 - 0.120535714285714*G0_0_1 - 0.120535714285714*G0_1_0 - 0.241071428571428*G0_2_0 - 0.096428571428572*G0_2_1;
+ A[389] = -0.120535714285715*G0_0_1 - 0.120535714285714*G0_1_0 - 0.289285714285714*G0_1_1 - 0.0964285714285723*G0_2_0 - 0.241071428571429*G0_2_1;
+ A[390] = -0.144642857142857*G0_0_0 - 0.144642857142857*G0_0_1 - 0.0241071428571426*G0_0_2 - 0.144642857142857*G0_1_0 - 0.144642857142857*G0_1_1 - 0.0241071428571422*G0_1_2 - 0.024107142857143*G0_2_0 - 0.024107142857143*G0_2_1;
+ A[391] = -0.0241071428571431*G0_0_2 - 0.0241071428571434*G0_1_2 - 0.0241071428571429*G0_2_0 - 0.0241071428571429*G0_2_1;
+ A[392] = -0.289285714285714*G0_0_0 - 0.16875*G0_0_1 - 0.289285714285714*G0_0_2 - 0.16875*G0_1_0 - 0.0482142857142854*G0_1_1 - 0.16875*G0_1_2 - 0.0482142857142862*G0_2_0 - 0.0241071428571432*G0_2_1 - 0.0482142857142858*G0_2_2;
+ A[393] = 0.120535714285714*G0_0_1 + 0.120535714285714*G0_1_0 - 0.048214285714286*G0_1_1 + 0.120535714285714*G0_1_2 + 0.0964285714285723*G0_2_0 - 0.0241071428571418*G0_2_1 + 0.0964285714285716*G0_2_2;
+ A[394] = -0.0482142857142848*G0_0_0 - 0.16875*G0_0_1 - 0.16875*G0_0_2 - 0.16875*G0_1_0 - 0.289285714285715*G0_1_1 - 0.289285714285715*G0_1_2 - 0.0241071428571423*G0_2_0 - 0.0482142857142852*G0_2_1 - 0.0482142857142852*G0_2_2;
+ A[395] = -0.0482142857142867*G0_0_0 + 0.120535714285714*G0_0_1 + 0.120535714285714*G0_0_2 + 0.120535714285714*G0_1_0 - 0.0241071428571434*G0_2_0 + 0.0964285714285718*G0_2_1 + 0.0964285714285713*G0_2_2;
+ A[396] = -0.144642857142857*G0_0_1 - 0.289285714285715*G0_0_2 - 0.144642857142856*G0_1_0 - 0.289285714285714*G0_1_2 - 0.289285714285715*G0_2_0 - 0.289285714285717*G0_2_1 - 0.578571428571431*G0_2_2;
+ A[397] = 0.144642857142858*G0_0_1 + 0.289285714285714*G0_0_2 + 0.144642857142856*G0_1_0 + 0.289285714285714*G0_1_1 + 0.144642857142857*G0_1_2 + 0.289285714285715*G0_2_0 + 0.144642857142858*G0_2_1;
+ A[398] = 0.289285714285714*G0_0_0 + 0.144642857142857*G0_0_1 + 0.144642857142857*G0_0_2 + 0.144642857142857*G0_1_0 + 0.289285714285715*G0_1_2 + 0.144642857142857*G0_2_0 + 0.289285714285716*G0_2_1;
+ A[399] = 0.578571428571428*G0_0_0 + 0.289285714285714*G0_0_1 + 0.289285714285714*G0_0_2 + 0.289285714285714*G0_1_0 + 0.578571428571428*G0_1_1 + 0.289285714285713*G0_1_2 + 0.289285714285714*G0_2_0 + 0.289285714285713*G0_2_1 + 0.57857142857143*G0_2_2;
}
@@ -12894,6 +13535,21 @@ void poisson3d_3_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 20
// Number of operations (multiply-add pairs) for tensor contraction: 270
@@ -12934,26 +13590,26 @@ void poisson3d_3_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_19 = det*w[0][19]*(1.0);
// Compute element tensor
- A[0] = 0.0005952380952381*G0_0 + 7.44047619047625e-05*G0_1 + 7.44047619047623e-05*G0_2 + 7.44047619047626e-05*G0_3 + 0.000111607142857144*G0_4 + 0.000111607142857143*G0_5 + 0.000111607142857144*G0_6 + 0.000111607142857142*G0_7 + 0.000111607142857144*G0_8 + 0.000111607142857143*G0_9 - 0.000446428571428571*G0_10 + 0.000223214285714285*G0_11 - 0.000446428571428572*G0_12 + 0.000223214285714286*G0_13 - 0.000446428571428573*G0_14 + 0.000223214285714287*G0_15 + 0.00133928571428572*G0_16 + 0 [...]
- A[1] = 7.44047619047625e-05*G0_0 + 0.000595238095238098*G0_1 + 7.4404761904762e-05*G0_2 + 7.44047619047622e-05*G0_3 + 0.000111607142857143*G0_4 + 0.000111607142857143*G0_5 - 0.000446428571428571*G0_6 + 0.000223214285714286*G0_7 - 0.000446428571428571*G0_8 + 0.000223214285714285*G0_9 + 0.000111607142857142*G0_10 + 0.000111607142857142*G0_11 + 0.000111607142857143*G0_12 + 0.000111607142857142*G0_13 + 0.000223214285714285*G0_14 - 0.000446428571428571*G0_15 + 0.000669642857142858*G0_16 + [...]
- A[2] = 7.44047619047623e-05*G0_0 + 7.4404761904762e-05*G0_1 + 0.000595238095238097*G0_2 + 7.44047619047618e-05*G0_3 - 0.000446428571428572*G0_4 + 0.000223214285714287*G0_5 + 0.000111607142857143*G0_6 + 0.000111607142857144*G0_7 + 0.000223214285714286*G0_8 - 0.000446428571428572*G0_9 + 0.000111607142857142*G0_10 + 0.000111607142857143*G0_11 + 0.000223214285714285*G0_12 - 0.000446428571428572*G0_13 + 0.000111607142857143*G0_14 + 0.000111607142857144*G0_15 + 0.000669642857142854*G0_16 + [...]
- A[3] = 7.44047619047626e-05*G0_0 + 7.44047619047621e-05*G0_1 + 7.44047619047617e-05*G0_2 + 0.000595238095238098*G0_3 + 0.000223214285714286*G0_4 - 0.000446428571428571*G0_5 + 0.000223214285714286*G0_6 - 0.000446428571428572*G0_7 + 0.000111607142857143*G0_8 + 0.000111607142857143*G0_9 + 0.000223214285714285*G0_10 - 0.000446428571428572*G0_11 + 0.000111607142857143*G0_12 + 0.000111607142857143*G0_13 + 0.000111607142857143*G0_14 + 0.000111607142857143*G0_15 + 0.000669642857142858*G0_16 [...]
- A[4] = 0.000111607142857144*G0_0 + 0.000111607142857143*G0_1 - 0.000446428571428572*G0_2 + 0.000223214285714286*G0_3 + 0.00401785714285714*G0_4 - 0.00200892857142857*G0_5 - 0.00100446428571429*G0_7 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_9 - 0.00100446428571429*G0_11 - 0.00100446428571429*G0_12 + 0.00200892857142857*G0_13 - 0.00200892857142857*G0_18;
- A[5] = 0.000111607142857143*G0_0 + 0.000111607142857143*G0_1 + 0.000223214285714287*G0_2 - 0.000446428571428571*G0_3 - 0.00200892857142857*G0_4 + 0.00401785714285715*G0_5 - 0.00100446428571429*G0_6 + 0.00200892857142857*G0_7 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_10 + 0.00200892857142857*G0_11 - 0.00100446428571429*G0_13 - 0.00200892857142857*G0_19;
- A[6] = 0.000111607142857144*G0_0 - 0.000446428571428571*G0_1 + 0.000111607142857143*G0_2 + 0.000223214285714286*G0_3 - 0.00100446428571429*G0_5 + 0.00401785714285714*G0_6 - 0.00200892857142857*G0_7 + 0.00200892857142857*G0_8 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_11 - 0.00100446428571429*G0_14 + 0.00200892857142857*G0_15 - 0.00200892857142856*G0_17;
- A[7] = 0.000111607142857142*G0_0 + 0.000223214285714286*G0_1 + 0.000111607142857143*G0_2 - 0.000446428571428572*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_5 - 0.00200892857142857*G0_6 + 0.00401785714285715*G0_7 - 0.00100446428571429*G0_8 - 0.00100446428571429*G0_10 + 0.00200892857142857*G0_11 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_19;
- A[8] = 0.000111607142857144*G0_0 - 0.000446428571428571*G0_1 + 0.000223214285714286*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_6 - 0.00100446428571429*G0_7 + 0.00401785714285714*G0_8 - 0.00200892857142857*G0_9 - 0.00100446428571429*G0_13 - 0.00100446428571429*G0_14 + 0.00200892857142858*G0_15 - 0.00200892857142857*G0_17;
- A[9] = 0.000111607142857143*G0_0 + 0.000223214285714285*G0_1 - 0.000446428571428572*G0_2 + 0.000111607142857143*G0_3 + 0.00200892857142857*G0_4 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_6 - 0.00200892857142857*G0_8 + 0.00401785714285714*G0_9 - 0.00100446428571429*G0_12 + 0.00200892857142857*G0_13 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_18;
- A[10] = -0.000446428571428571*G0_0 + 0.000111607142857142*G0_1 + 0.000111607142857142*G0_2 + 0.000223214285714285*G0_3 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_7 + 0.00401785714285714*G0_10 - 0.00200892857142857*G0_11 + 0.00200892857142857*G0_12 - 0.00100446428571429*G0_13 + 0.00200892857142857*G0_14 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_16;
- A[11] = 0.000223214285714285*G0_0 + 0.000111607142857142*G0_1 + 0.000111607142857143*G0_2 - 0.000446428571428572*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_5 - 0.00100446428571429*G0_6 + 0.00200892857142857*G0_7 - 0.00200892857142857*G0_10 + 0.00401785714285715*G0_11 - 0.00100446428571429*G0_12 - 0.00100446428571429*G0_14 - 0.00200892857142858*G0_19;
- A[12] = -0.000446428571428572*G0_0 + 0.000111607142857143*G0_1 + 0.000223214285714285*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_4 - 0.00100446428571429*G0_9 + 0.00200892857142857*G0_10 - 0.00100446428571429*G0_11 + 0.00401785714285715*G0_12 - 0.00200892857142857*G0_13 + 0.00200892857142857*G0_14 - 0.00100446428571429*G0_15 - 0.00200892857142858*G0_16;
- A[13] = 0.000223214285714286*G0_0 + 0.000111607142857142*G0_1 - 0.000446428571428572*G0_2 + 0.000111607142857143*G0_3 + 0.00200892857142857*G0_4 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_9 - 0.00100446428571429*G0_10 - 0.00200892857142857*G0_12 + 0.00401785714285715*G0_13 - 0.00100446428571429*G0_14 - 0.00200892857142857*G0_18;
- A[14] = -0.000446428571428573*G0_0 + 0.000223214285714285*G0_1 + 0.000111607142857143*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_6 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_10 - 0.00100446428571429*G0_11 + 0.00200892857142857*G0_12 - 0.00100446428571429*G0_13 + 0.00401785714285715*G0_14 - 0.00200892857142857*G0_15 - 0.00200892857142858*G0_16;
- A[15] = 0.000223214285714287*G0_0 - 0.000446428571428571*G0_1 + 0.000111607142857144*G0_2 + 0.000111607142857143*G0_3 + 0.00200892857142857*G0_6 - 0.00100446428571429*G0_7 + 0.00200892857142858*G0_8 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_10 - 0.00100446428571429*G0_12 - 0.00200892857142857*G0_14 + 0.00401785714285715*G0_15 - 0.00200892857142857*G0_17;
- A[16] = 0.00133928571428572*G0_0 + 0.000669642857142858*G0_1 + 0.000669642857142854*G0_2 + 0.000669642857142858*G0_3 - 0.00200892857142857*G0_10 - 0.00200892857142858*G0_12 - 0.00200892857142858*G0_14 + 0.0160714285714286*G0_16 + 0.00803571428571428*G0_17 + 0.0080357142857143*G0_18 + 0.00803571428571429*G0_19;
- A[17] = 0.000669642857142861*G0_0 + 0.00133928571428572*G0_1 + 0.000669642857142854*G0_2 + 0.000669642857142858*G0_3 - 0.00200892857142856*G0_6 - 0.00200892857142857*G0_8 - 0.00200892857142857*G0_15 + 0.00803571428571428*G0_16 + 0.0160714285714286*G0_17 + 0.00803571428571429*G0_18 + 0.00803571428571428*G0_19;
- A[18] = 0.000669642857142863*G0_0 + 0.000669642857142859*G0_1 + 0.00133928571428571*G0_2 + 0.000669642857142859*G0_3 - 0.00200892857142857*G0_4 - 0.00200892857142857*G0_9 - 0.00200892857142857*G0_13 + 0.0080357142857143*G0_16 + 0.00803571428571429*G0_17 + 0.0160714285714286*G0_18 + 0.0080357142857143*G0_19;
- A[19] = 0.000669642857142863*G0_0 + 0.000669642857142859*G0_1 + 0.000669642857142854*G0_2 + 0.00133928571428572*G0_3 - 0.00200892857142857*G0_5 - 0.00200892857142857*G0_7 - 0.00200892857142858*G0_11 + 0.00803571428571429*G0_16 + 0.00803571428571428*G0_17 + 0.0080357142857143*G0_18 + 0.0160714285714286*G0_19;
+ A[0] = 0.000595238095238099*G0_0 + 7.44047619047629e-05*G0_1 + 7.44047619047625e-05*G0_2 + 7.44047619047624e-05*G0_3 + 0.000111607142857143*G0_4 + 0.000111607142857143*G0_5 + 0.000111607142857143*G0_6 + 0.000111607142857142*G0_7 + 0.000111607142857143*G0_8 + 0.000111607142857143*G0_9 - 0.00044642857142857*G0_10 + 0.000223214285714286*G0_11 - 0.000446428571428571*G0_12 + 0.000223214285714286*G0_13 - 0.000446428571428572*G0_14 + 0.000223214285714286*G0_15 + 0.00133928571428572*G0_16 + [...]
+ A[1] = 7.44047619047628e-05*G0_0 + 0.000595238095238098*G0_1 + 7.44047619047621e-05*G0_2 + 7.44047619047622e-05*G0_3 + 0.000111607142857143*G0_4 + 0.000111607142857143*G0_5 - 0.000446428571428572*G0_6 + 0.000223214285714286*G0_7 - 0.000446428571428571*G0_8 + 0.000223214285714286*G0_9 + 0.000111607142857143*G0_10 + 0.000111607142857143*G0_11 + 0.000111607142857142*G0_12 + 0.000111607142857144*G0_13 + 0.000223214285714285*G0_14 - 0.000446428571428571*G0_15 + 0.000669642857142862*G0_16 [...]
+ A[2] = 7.44047619047625e-05*G0_0 + 7.44047619047622e-05*G0_1 + 0.000595238095238098*G0_2 + 7.44047619047619e-05*G0_3 - 0.000446428571428572*G0_4 + 0.000223214285714286*G0_5 + 0.000111607142857143*G0_6 + 0.000111607142857143*G0_7 + 0.000223214285714286*G0_8 - 0.000446428571428572*G0_9 + 0.000111607142857143*G0_10 + 0.000111607142857143*G0_11 + 0.000223214285714285*G0_12 - 0.00044642857142857*G0_13 + 0.000111607142857142*G0_14 + 0.000111607142857144*G0_15 + 0.000669642857142857*G0_16 + [...]
+ A[3] = 7.44047619047624e-05*G0_0 + 7.44047619047622e-05*G0_1 + 7.44047619047619e-05*G0_2 + 0.000595238095238098*G0_3 + 0.000223214285714286*G0_4 - 0.000446428571428572*G0_5 + 0.000223214285714286*G0_6 - 0.000446428571428572*G0_7 + 0.000111607142857143*G0_8 + 0.000111607142857143*G0_9 + 0.000223214285714286*G0_10 - 0.000446428571428572*G0_11 + 0.000111607142857143*G0_12 + 0.000111607142857144*G0_13 + 0.000111607142857143*G0_14 + 0.000111607142857143*G0_15 + 0.000669642857142856*G0_16 [...]
+ A[4] = 0.000111607142857143*G0_0 + 0.000111607142857143*G0_1 - 0.000446428571428572*G0_2 + 0.000223214285714286*G0_3 + 0.00401785714285714*G0_4 - 0.00200892857142857*G0_5 - 0.00100446428571429*G0_7 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_9 - 0.00100446428571429*G0_11 - 0.00100446428571429*G0_12 + 0.00200892857142857*G0_13 - 0.00200892857142857*G0_18;
+ A[5] = 0.000111607142857143*G0_0 + 0.000111607142857143*G0_1 + 0.000223214285714286*G0_2 - 0.000446428571428572*G0_3 - 0.00200892857142857*G0_4 + 0.00401785714285715*G0_5 - 0.00100446428571429*G0_6 + 0.00200892857142857*G0_7 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_10 + 0.00200892857142857*G0_11 - 0.00100446428571429*G0_13 - 0.00200892857142857*G0_19;
+ A[6] = 0.000111607142857143*G0_0 - 0.000446428571428572*G0_1 + 0.000111607142857143*G0_2 + 0.000223214285714286*G0_3 - 0.00100446428571429*G0_5 + 0.00401785714285714*G0_6 - 0.00200892857142857*G0_7 + 0.00200892857142857*G0_8 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_11 - 0.00100446428571429*G0_14 + 0.00200892857142857*G0_15 - 0.00200892857142857*G0_17;
+ A[7] = 0.000111607142857142*G0_0 + 0.000223214285714286*G0_1 + 0.000111607142857143*G0_2 - 0.000446428571428572*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_5 - 0.00200892857142857*G0_6 + 0.00401785714285714*G0_7 - 0.00100446428571429*G0_8 - 0.00100446428571429*G0_10 + 0.00200892857142857*G0_11 - 0.00100446428571429*G0_15 - 0.00200892857142858*G0_19;
+ A[8] = 0.000111607142857143*G0_0 - 0.000446428571428571*G0_1 + 0.000223214285714286*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_6 - 0.00100446428571429*G0_7 + 0.00401785714285714*G0_8 - 0.00200892857142857*G0_9 - 0.00100446428571429*G0_13 - 0.00100446428571429*G0_14 + 0.00200892857142857*G0_15 - 0.00200892857142857*G0_17;
+ A[9] = 0.000111607142857143*G0_0 + 0.000223214285714286*G0_1 - 0.000446428571428572*G0_2 + 0.000111607142857143*G0_3 + 0.00200892857142857*G0_4 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_6 - 0.00200892857142857*G0_8 + 0.00401785714285714*G0_9 - 0.00100446428571429*G0_12 + 0.00200892857142857*G0_13 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_18;
+ A[10] = -0.00044642857142857*G0_0 + 0.000111607142857143*G0_1 + 0.000111607142857143*G0_2 + 0.000223214285714286*G0_3 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_7 + 0.00401785714285714*G0_10 - 0.00200892857142857*G0_11 + 0.00200892857142857*G0_12 - 0.00100446428571429*G0_13 + 0.00200892857142857*G0_14 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_16;
+ A[11] = 0.000223214285714286*G0_0 + 0.000111607142857143*G0_1 + 0.000111607142857143*G0_2 - 0.000446428571428572*G0_3 - 0.00100446428571429*G0_4 + 0.00200892857142857*G0_5 - 0.00100446428571429*G0_6 + 0.00200892857142857*G0_7 - 0.00200892857142857*G0_10 + 0.00401785714285715*G0_11 - 0.00100446428571429*G0_12 - 0.00100446428571429*G0_14 - 0.00200892857142857*G0_19;
+ A[12] = -0.000446428571428571*G0_0 + 0.000111607142857142*G0_1 + 0.000223214285714285*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_4 - 0.00100446428571429*G0_9 + 0.00200892857142857*G0_10 - 0.00100446428571429*G0_11 + 0.00401785714285715*G0_12 - 0.00200892857142857*G0_13 + 0.00200892857142857*G0_14 - 0.00100446428571429*G0_15 - 0.00200892857142857*G0_16;
+ A[13] = 0.000223214285714286*G0_0 + 0.000111607142857144*G0_1 - 0.000446428571428571*G0_2 + 0.000111607142857144*G0_3 + 0.00200892857142857*G0_4 - 0.00100446428571429*G0_5 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_9 - 0.00100446428571429*G0_10 - 0.00200892857142857*G0_12 + 0.00401785714285715*G0_13 - 0.00100446428571429*G0_14 - 0.00200892857142856*G0_18;
+ A[14] = -0.000446428571428572*G0_0 + 0.000223214285714285*G0_1 + 0.000111607142857142*G0_2 + 0.000111607142857143*G0_3 - 0.00100446428571429*G0_6 - 0.00100446428571429*G0_8 + 0.00200892857142857*G0_10 - 0.00100446428571429*G0_11 + 0.00200892857142857*G0_12 - 0.00100446428571429*G0_13 + 0.00401785714285715*G0_14 - 0.00200892857142857*G0_15 - 0.00200892857142858*G0_16;
+ A[15] = 0.000223214285714286*G0_0 - 0.000446428571428571*G0_1 + 0.000111607142857144*G0_2 + 0.000111607142857143*G0_3 + 0.00200892857142857*G0_6 - 0.00100446428571429*G0_7 + 0.00200892857142857*G0_8 - 0.00100446428571429*G0_9 - 0.00100446428571429*G0_10 - 0.00100446428571429*G0_12 - 0.00200892857142857*G0_14 + 0.00401785714285715*G0_15 - 0.00200892857142857*G0_17;
+ A[16] = 0.00133928571428572*G0_0 + 0.000669642857142862*G0_1 + 0.000669642857142857*G0_2 + 0.000669642857142856*G0_3 - 0.00200892857142857*G0_10 - 0.00200892857142857*G0_12 - 0.00200892857142858*G0_14 + 0.0160714285714286*G0_16 + 0.00803571428571428*G0_17 + 0.00803571428571429*G0_18 + 0.00803571428571429*G0_19;
+ A[17] = 0.000669642857142861*G0_0 + 0.00133928571428572*G0_1 + 0.000669642857142855*G0_2 + 0.000669642857142856*G0_3 - 0.00200892857142857*G0_6 - 0.00200892857142857*G0_8 - 0.00200892857142857*G0_15 + 0.00803571428571428*G0_16 + 0.0160714285714286*G0_17 + 0.00803571428571428*G0_18 + 0.00803571428571428*G0_19;
+ A[18] = 0.000669642857142862*G0_0 + 0.000669642857142861*G0_1 + 0.00133928571428571*G0_2 + 0.000669642857142857*G0_3 - 0.00200892857142857*G0_4 - 0.00200892857142857*G0_9 - 0.00200892857142856*G0_13 + 0.00803571428571429*G0_16 + 0.00803571428571428*G0_17 + 0.0160714285714286*G0_18 + 0.00803571428571429*G0_19;
+ A[19] = 0.000669642857142862*G0_0 + 0.00066964285714286*G0_1 + 0.000669642857142857*G0_2 + 0.00133928571428572*G0_3 - 0.00200892857142857*G0_5 - 0.00200892857142858*G0_7 - 0.00200892857142857*G0_11 + 0.00803571428571429*G0_16 + 0.00803571428571428*G0_17 + 0.00803571428571429*G0_18 + 0.0160714285714286*G0_19;
}
diff --git a/bench/fem/convergence/cpp/Poisson3D_3.h b/bench/fem/convergence/cpp/Poisson3D_3.h
index ad23796..df15418 100644
--- a/bench/fem/convergence/cpp/Poisson3D_3.h
+++ b/bench/fem/convergence/cpp/Poisson3D_3.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -420,6 +421,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -430,6 +433,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -462,6 +468,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -472,6 +480,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -504,6 +515,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -514,6 +527,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -940,10 +956,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1106,10 +1122,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1125,10 +1141,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/Poisson3D_4.cpp b/bench/fem/convergence/cpp/Poisson3D_4.cpp
index ace4a85..5987a6d 100644
--- a/bench/fem/convergence/cpp/Poisson3D_4.cpp
+++ b/bench/fem/convergence/cpp/Poisson3D_4.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// no-evaluate_basis: True
// no-evaluate_basis_derivatives: True
// optimize: True
@@ -646,60 +647,28 @@ void poisson3d_4_finite_element_1::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -1719,6 +1688,35 @@ std::size_t poisson3d_4_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_4_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_4_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -1767,7 +1765,7 @@ void poisson3d_4_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_4_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -1828,6 +1826,156 @@ void poisson3d_4_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_4_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_4_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -1938,6 +2086,35 @@ std::size_t poisson3d_4_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_4_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_4_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -2022,7 +2199,7 @@ void poisson3d_4_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_4_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -2091,32 +2268,246 @@ void poisson3d_4_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t poisson3d_4_dofmap_1::num_sub_dofmaps() const
-{
- return 3;
-}
-
-ufc::dofmap * poisson3d_4_dofmap_1::create_sub_dofmap(std::size_t i) const
+void poisson3d_4_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new poisson3d_4_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new poisson3d_4_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new poisson3d_4_dofmap_0();
- break;
- }
- }
-
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+}
+
+std::size_t poisson3d_4_dofmap_1::num_sub_dofmaps() const
+{
+ return 3;
+}
+
+ufc::dofmap * poisson3d_4_dofmap_1::create_sub_dofmap(std::size_t i) const
+{
+ switch (i)
+ {
+ case 0:
+ {
+ return new poisson3d_4_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new poisson3d_4_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new poisson3d_4_dofmap_0();
+ break;
+ }
+ }
+
return 0;
}
@@ -2220,6 +2611,35 @@ std::size_t poisson3d_4_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t poisson3d_4_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 5;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ case 3:
+ {
+ return 35;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void poisson3d_4_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -2352,7 +2772,7 @@ void poisson3d_4_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void poisson3d_4_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -2504,6 +2924,253 @@ void poisson3d_4_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
+void poisson3d_4_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ dofs[4] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 10;
+ dofs[3] = 11;
+ dofs[4] = 12;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 13;
+ dofs[3] = 14;
+ dofs[4] = 15;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 16;
+ dofs[3] = 17;
+ dofs[4] = 18;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 19;
+ dofs[3] = 20;
+ dofs[4] = 21;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 7;
+ dofs[7] = 8;
+ dofs[8] = 9;
+ dofs[9] = 10;
+ dofs[10] = 11;
+ dofs[11] = 12;
+ dofs[12] = 22;
+ dofs[13] = 23;
+ dofs[14] = 24;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ dofs[8] = 15;
+ dofs[9] = 16;
+ dofs[10] = 17;
+ dofs[11] = 18;
+ dofs[12] = 25;
+ dofs[13] = 26;
+ dofs[14] = 27;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ dofs[8] = 15;
+ dofs[9] = 19;
+ dofs[10] = 20;
+ dofs[11] = 21;
+ dofs[12] = 28;
+ dofs[13] = 29;
+ dofs[14] = 30;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ dofs[5] = 12;
+ dofs[6] = 16;
+ dofs[7] = 17;
+ dofs[8] = 18;
+ dofs[9] = 19;
+ dofs[10] = 20;
+ dofs[11] = 21;
+ dofs[12] = 31;
+ dofs[13] = 32;
+ dofs[14] = 33;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ dofs[26] = 26;
+ dofs[27] = 27;
+ dofs[28] = 28;
+ dofs[29] = 29;
+ dofs[30] = 30;
+ dofs[31] = 31;
+ dofs[32] = 32;
+ dofs[33] = 33;
+ dofs[34] = 34;
+ break;
+ }
+ }
+
+}
+
std::size_t poisson3d_4_dofmap_2::num_sub_dofmaps() const
{
return 0;
@@ -2541,6 +3208,21 @@ void poisson3d_4_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 6311
@@ -2570,1231 +3252,1231 @@ void poisson3d_4_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double G0_2_2 = det*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
// Compute element tensor
- A[0] = 0.0379188712522047*G0_0_0 + 0.0379188712522048*G0_0_1 + 0.0379188712522048*G0_0_2 + 0.0379188712522048*G0_1_0 + 0.0379188712522048*G0_1_1 + 0.0379188712522048*G0_1_2 + 0.0379188712522048*G0_2_0 + 0.0379188712522048*G0_2_1 + 0.0379188712522048*G0_2_2;
- A[1] = 0.00511463844797179*G0_0_0 + 0.0051146384479718*G0_1_0 + 0.0051146384479718*G0_2_0;
- A[2] = 0.00511463844797184*G0_0_1 + 0.00511463844797182*G0_1_1 + 0.00511463844797184*G0_2_1;
- A[3] = 0.00511463844797182*G0_0_2 + 0.00511463844797181*G0_1_2 + 0.00511463844797181*G0_2_2;
- A[4] = 0.00776014109347435*G0_0_1 + 0.00776014109347441*G0_0_2 + 0.00776014109347435*G0_1_1 + 0.00776014109347439*G0_1_2 + 0.00776014109347434*G0_2_1 + 0.00776014109347442*G0_2_2;
- A[5] = 0.00511463844797178*G0_0_1 + 0.00511463844797175*G0_0_2 + 0.00511463844797176*G0_1_1 + 0.00511463844797175*G0_1_2 + 0.00511463844797176*G0_2_1 + 0.00511463844797172*G0_2_2;
- A[6] = 0.00776014109347446*G0_0_1 + 0.0077601410934744*G0_0_2 + 0.00776014109347445*G0_1_1 + 0.00776014109347438*G0_1_2 + 0.00776014109347442*G0_2_1 + 0.00776014109347437*G0_2_2;
- A[7] = 0.00776014109347435*G0_0_0 + 0.0077601410934744*G0_0_2 + 0.00776014109347425*G0_1_0 + 0.00776014109347432*G0_1_2 + 0.00776014109347427*G0_2_0 + 0.00776014109347435*G0_2_2;
- A[8] = 0.00511463844797153*G0_0_0 + 0.00511463844797153*G0_0_2 + 0.00511463844797159*G0_1_0 + 0.00511463844797155*G0_1_2 + 0.00511463844797165*G0_2_0 + 0.0051146384479716*G0_2_2;
- A[9] = 0.00776014109347449*G0_0_0 + 0.00776014109347443*G0_0_2 + 0.00776014109347447*G0_1_0 + 0.00776014109347445*G0_1_2 + 0.00776014109347445*G0_2_0 + 0.00776014109347443*G0_2_2;
- A[10] = 0.00776014109347435*G0_0_0 + 0.00776014109347438*G0_0_1 + 0.00776014109347427*G0_1_0 + 0.0077601410934743*G0_1_1 + 0.00776014109347429*G0_2_0 + 0.00776014109347432*G0_2_1;
- A[11] = 0.00511463844797147*G0_0_0 + 0.0051146384479716*G0_0_1 + 0.00511463844797161*G0_1_0 + 0.00511463844797172*G0_1_1 + 0.00511463844797157*G0_2_0 + 0.00511463844797169*G0_2_1;
- A[12] = 0.00776014109347443*G0_0_0 + 0.00776014109347428*G0_0_1 + 0.00776014109347441*G0_1_0 + 0.0077601410934743*G0_1_1 + 0.00776014109347444*G0_2_0 + 0.0077601410934743*G0_2_1;
- A[13] = -0.024691358024691*G0_0_0 - 0.024691358024691*G0_0_1 - 0.0705467372134042*G0_0_2 - 0.024691358024691*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0705467372134042*G0_1_2 - 0.024691358024691*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0705467372134042*G0_2_2;
- A[14] = 0.0202821869488534*G0_0_0 + 0.0202821869488534*G0_0_1 + 0.0529100529100532*G0_0_2 + 0.0202821869488535*G0_1_0 + 0.0202821869488535*G0_1_1 + 0.0529100529100532*G0_1_2 + 0.0202821869488535*G0_2_0 + 0.0202821869488535*G0_2_1 + 0.0529100529100532*G0_2_2;
- A[15] = -0.00776014109347448*G0_0_0 - 0.00776014109347447*G0_0_1 - 0.0253968253968255*G0_0_2 - 0.00776014109347447*G0_1_0 - 0.00776014109347446*G0_1_1 - 0.0253968253968254*G0_1_2 - 0.00776014109347444*G0_2_0 - 0.00776014109347443*G0_2_1 - 0.0253968253968255*G0_2_2;
- A[16] = -0.024691358024691*G0_0_0 - 0.0705467372134043*G0_0_1 - 0.0246913580246911*G0_0_2 - 0.0246913580246911*G0_1_0 - 0.0705467372134043*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.0246913580246911*G0_2_0 - 0.0705467372134043*G0_2_1 - 0.0246913580246911*G0_2_2;
- A[17] = 0.0202821869488534*G0_0_0 + 0.0529100529100532*G0_0_1 + 0.0202821869488534*G0_0_2 + 0.0202821869488535*G0_1_0 + 0.0529100529100532*G0_1_1 + 0.0202821869488535*G0_1_2 + 0.0202821869488535*G0_2_0 + 0.0529100529100532*G0_2_1 + 0.0202821869488535*G0_2_2;
- A[18] = -0.00776014109347443*G0_0_0 - 0.0253968253968255*G0_0_1 - 0.00776014109347441*G0_0_2 - 0.00776014109347441*G0_1_0 - 0.0253968253968255*G0_1_1 - 0.00776014109347439*G0_1_2 - 0.00776014109347444*G0_2_0 - 0.0253968253968255*G0_2_1 - 0.00776014109347442*G0_2_2;
- A[19] = -0.0705467372134042*G0_0_0 - 0.0246913580246911*G0_0_1 - 0.024691358024691*G0_0_2 - 0.0705467372134043*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.0705467372134043*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0246913580246911*G0_2_2;
- A[20] = 0.0529100529100532*G0_0_0 + 0.0202821869488534*G0_0_1 + 0.0202821869488534*G0_0_2 + 0.0529100529100532*G0_1_0 + 0.0202821869488533*G0_1_1 + 0.0202821869488533*G0_1_2 + 0.0529100529100532*G0_2_0 + 0.0202821869488534*G0_2_1 + 0.0202821869488534*G0_2_2;
- A[21] = -0.0253968253968255*G0_0_0 - 0.00776014109347441*G0_0_1 - 0.00776014109347442*G0_0_2 - 0.0253968253968255*G0_1_0 - 0.00776014109347433*G0_1_1 - 0.00776014109347433*G0_1_2 - 0.0253968253968255*G0_2_0 - 0.00776014109347435*G0_2_1 - 0.00776014109347435*G0_2_2;
- A[22] = 0.0183421516754845*G0_0_0 + 0.0183421516754845*G0_0_1 + 0.0183421516754846*G0_0_2 + 0.0183421516754848*G0_1_0 + 0.0183421516754845*G0_1_1 + 0.0183421516754847*G0_1_2 + 0.0183421516754848*G0_2_0 + 0.0183421516754846*G0_2_1 + 0.0183421516754847*G0_2_2;
- A[23] = 0.018342151675485*G0_0_0 + 0.018342151675485*G0_0_1 + 0.0183421516754847*G0_0_2 + 0.0183421516754849*G0_1_0 + 0.0183421516754851*G0_1_1 + 0.0183421516754849*G0_1_2 + 0.0183421516754849*G0_2_0 + 0.0183421516754851*G0_2_1 + 0.0183421516754849*G0_2_2;
- A[24] = 0.0183421516754851*G0_0_0 + 0.0183421516754849*G0_0_1 + 0.0183421516754851*G0_0_2 + 0.0183421516754851*G0_1_0 + 0.018342151675485*G0_1_1 + 0.0183421516754851*G0_1_2 + 0.018342151675485*G0_2_0 + 0.018342151675485*G0_2_1 + 0.0183421516754851*G0_2_2;
- A[25] = 0.0493827160493822*G0_0_0 + 0.0423280423280418*G0_0_1 + 0.0423280423280418*G0_0_2 + 0.0493827160493824*G0_1_0 + 0.0423280423280419*G0_1_1 + 0.0423280423280418*G0_1_2 + 0.0493827160493823*G0_2_0 + 0.0423280423280419*G0_2_1 + 0.0423280423280419*G0_2_2;
- A[26] = -0.018342151675485*G0_0_0 - 0.0253968253968251*G0_0_1 - 0.0253968253968252*G0_0_2 - 0.0183421516754849*G0_1_0 - 0.0253968253968252*G0_1_1 - 0.0253968253968253*G0_1_2 - 0.0183421516754849*G0_2_0 - 0.0253968253968251*G0_2_1 - 0.0253968253968252*G0_2_2;
- A[27] = -0.0183421516754851*G0_0_0 - 0.0253968253968252*G0_0_1 - 0.0253968253968252*G0_0_2 - 0.0183421516754851*G0_1_0 - 0.0253968253968252*G0_1_1 - 0.0253968253968252*G0_1_2 - 0.018342151675485*G0_2_0 - 0.0253968253968252*G0_2_1 - 0.0253968253968251*G0_2_2;
- A[28] = 0.0423280423280416*G0_0_0 + 0.0493827160493821*G0_0_1 + 0.0423280423280417*G0_0_2 + 0.0423280423280415*G0_1_0 + 0.0493827160493821*G0_1_1 + 0.0423280423280418*G0_1_2 + 0.0423280423280416*G0_2_0 + 0.0493827160493822*G0_2_1 + 0.0423280423280418*G0_2_2;
- A[29] = -0.0253968253968249*G0_0_0 - 0.0183421516754845*G0_0_1 - 0.0253968253968249*G0_0_2 - 0.0253968253968247*G0_1_0 - 0.0183421516754845*G0_1_1 - 0.0253968253968248*G0_1_2 - 0.0253968253968248*G0_2_0 - 0.0183421516754846*G0_2_1 - 0.0253968253968249*G0_2_2;
- A[30] = -0.025396825396825*G0_0_0 - 0.018342151675485*G0_0_1 - 0.0253968253968252*G0_0_2 - 0.025396825396825*G0_1_0 - 0.018342151675485*G0_1_1 - 0.0253968253968252*G0_1_2 - 0.0253968253968251*G0_2_0 - 0.018342151675485*G0_2_1 - 0.0253968253968252*G0_2_2;
- A[31] = 0.0423280423280417*G0_0_0 + 0.0423280423280418*G0_0_1 + 0.0493827160493822*G0_0_2 + 0.0423280423280417*G0_1_0 + 0.042328042328042*G0_1_1 + 0.0493827160493823*G0_1_2 + 0.0423280423280418*G0_2_0 + 0.042328042328042*G0_2_1 + 0.0493827160493823*G0_2_2;
- A[32] = -0.0253968253968251*G0_0_0 - 0.0253968253968249*G0_0_1 - 0.0183421516754845*G0_0_2 - 0.0253968253968249*G0_1_0 - 0.025396825396825*G0_1_1 - 0.0183421516754847*G0_1_2 - 0.025396825396825*G0_2_0 - 0.025396825396825*G0_2_1 - 0.0183421516754847*G0_2_2;
- A[33] = -0.0253968253968248*G0_0_0 - 0.0253968253968251*G0_0_1 - 0.0183421516754847*G0_0_2 - 0.0253968253968251*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0183421516754848*G0_1_2 - 0.025396825396825*G0_2_0 - 0.0253968253968252*G0_2_1 - 0.0183421516754848*G0_2_2;
- A[34] = -0.0677248677248668*G0_0_0 - 0.0677248677248671*G0_0_1 - 0.0677248677248673*G0_0_2 - 0.0677248677248671*G0_1_0 - 0.0677248677248672*G0_1_1 - 0.0677248677248674*G0_1_2 - 0.0677248677248672*G0_2_0 - 0.0677248677248673*G0_2_1 - 0.0677248677248675*G0_2_2;
- A[35] = 0.00511463844797179*G0_0_0 + 0.0051146384479718*G0_0_1 + 0.0051146384479718*G0_0_2;
- A[36] = 0.0379188712522047*G0_0_0;
+ A[0] = 0.0379188712522048*G0_0_0 + 0.0379188712522048*G0_0_1 + 0.0379188712522048*G0_0_2 + 0.0379188712522048*G0_1_0 + 0.0379188712522048*G0_1_1 + 0.0379188712522048*G0_1_2 + 0.0379188712522048*G0_2_0 + 0.0379188712522048*G0_2_1 + 0.0379188712522048*G0_2_2;
+ A[1] = 0.00511463844797173*G0_0_0 + 0.00511463844797175*G0_1_0 + 0.00511463844797175*G0_2_0;
+ A[2] = 0.00511463844797181*G0_0_1 + 0.00511463844797179*G0_1_1 + 0.0051146384479718*G0_2_1;
+ A[3] = 0.00511463844797185*G0_0_2 + 0.00511463844797183*G0_1_2 + 0.00511463844797183*G0_2_2;
+ A[4] = 0.00776014109347441*G0_0_1 + 0.00776014109347438*G0_0_2 + 0.00776014109347441*G0_1_1 + 0.00776014109347435*G0_1_2 + 0.0077601410934744*G0_2_1 + 0.00776014109347438*G0_2_2;
+ A[5] = 0.00511463844797173*G0_0_1 + 0.0051146384479718*G0_0_2 + 0.00511463844797171*G0_1_1 + 0.00511463844797179*G0_1_2 + 0.00511463844797172*G0_2_1 + 0.00511463844797177*G0_2_2;
+ A[6] = 0.00776014109347456*G0_0_1 + 0.00776014109347443*G0_0_2 + 0.00776014109347454*G0_1_1 + 0.00776014109347441*G0_1_2 + 0.00776014109347451*G0_2_1 + 0.00776014109347439*G0_2_2;
+ A[7] = 0.00776014109347433*G0_0_0 + 0.00776014109347427*G0_0_2 + 0.00776014109347424*G0_1_0 + 0.0077601410934742*G0_1_2 + 0.00776014109347426*G0_2_0 + 0.00776014109347421*G0_2_2;
+ A[8] = 0.0051146384479716*G0_0_0 + 0.00511463844797174*G0_0_2 + 0.00511463844797166*G0_1_0 + 0.00511463844797177*G0_1_2 + 0.0051146384479717*G0_2_0 + 0.00511463844797181*G0_2_2;
+ A[9] = 0.00776014109347458*G0_0_0 + 0.00776014109347445*G0_0_2 + 0.00776014109347456*G0_1_0 + 0.00776014109347446*G0_1_2 + 0.00776014109347453*G0_2_0 + 0.00776014109347443*G0_2_2;
+ A[10] = 0.00776014109347432*G0_0_0 + 0.00776014109347427*G0_0_1 + 0.00776014109347423*G0_1_0 + 0.0077601410934742*G0_1_1 + 0.00776014109347426*G0_2_0 + 0.00776014109347422*G0_2_1;
+ A[11] = 0.00511463844797154*G0_0_0 + 0.00511463844797166*G0_0_1 + 0.00511463844797167*G0_1_0 + 0.00511463844797178*G0_1_1 + 0.00511463844797165*G0_2_0 + 0.00511463844797177*G0_2_1;
+ A[12] = 0.00776014109347441*G0_0_0 + 0.0077601410934743*G0_0_1 + 0.00776014109347439*G0_1_0 + 0.00776014109347432*G0_1_1 + 0.00776014109347441*G0_2_0 + 0.00776014109347432*G0_2_1;
+ A[13] = -0.0246913580246911*G0_0_0 - 0.0246913580246911*G0_0_1 - 0.0705467372134043*G0_0_2 - 0.0246913580246911*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0705467372134043*G0_1_2 - 0.0246913580246911*G0_2_0 - 0.0246913580246912*G0_2_1 - 0.0705467372134043*G0_2_2;
+ A[14] = 0.0202821869488537*G0_0_0 + 0.0202821869488537*G0_0_1 + 0.0529100529100532*G0_0_2 + 0.0202821869488537*G0_1_0 + 0.0202821869488537*G0_1_1 + 0.0529100529100532*G0_1_2 + 0.0202821869488537*G0_2_0 + 0.0202821869488537*G0_2_1 + 0.0529100529100532*G0_2_2;
+ A[15] = -0.0077601410934746*G0_0_0 - 0.00776014109347459*G0_0_1 - 0.0253968253968255*G0_0_2 - 0.00776014109347458*G0_1_0 - 0.00776014109347457*G0_1_1 - 0.0253968253968255*G0_1_2 - 0.00776014109347455*G0_2_0 - 0.00776014109347454*G0_2_1 - 0.0253968253968255*G0_2_2;
+ A[16] = -0.024691358024691*G0_0_0 - 0.0705467372134042*G0_0_1 - 0.024691358024691*G0_0_2 - 0.024691358024691*G0_1_0 - 0.0705467372134042*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.024691358024691*G0_2_0 - 0.0705467372134042*G0_2_1 - 0.0246913580246911*G0_2_2;
+ A[17] = 0.0202821869488533*G0_0_0 + 0.052910052910053*G0_0_1 + 0.0202821869488533*G0_0_2 + 0.0202821869488534*G0_1_0 + 0.052910052910053*G0_1_1 + 0.0202821869488534*G0_1_2 + 0.0202821869488534*G0_2_0 + 0.052910052910053*G0_2_1 + 0.0202821869488534*G0_2_2;
+ A[18] = -0.00776014109347441*G0_0_0 - 0.0253968253968254*G0_0_1 - 0.00776014109347439*G0_0_2 - 0.00776014109347439*G0_1_0 - 0.0253968253968254*G0_1_1 - 0.00776014109347437*G0_1_2 - 0.00776014109347442*G0_2_0 - 0.0253968253968254*G0_2_1 - 0.00776014109347439*G0_2_2;
+ A[19] = -0.0705467372134042*G0_0_0 - 0.0246913580246911*G0_0_1 - 0.0246913580246911*G0_0_2 - 0.0705467372134043*G0_1_0 - 0.0246913580246912*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.0705467372134042*G0_2_0 - 0.0246913580246912*G0_2_1 - 0.0246913580246911*G0_2_2;
+ A[20] = 0.0529100529100531*G0_0_0 + 0.0202821869488534*G0_0_1 + 0.0202821869488534*G0_0_2 + 0.0529100529100531*G0_1_0 + 0.0202821869488533*G0_1_1 + 0.0202821869488533*G0_1_2 + 0.0529100529100531*G0_2_0 + 0.0202821869488533*G0_2_1 + 0.0202821869488534*G0_2_2;
+ A[21] = -0.0253968253968254*G0_0_0 - 0.00776014109347431*G0_0_1 - 0.00776014109347433*G0_0_2 - 0.0253968253968255*G0_1_0 - 0.00776014109347424*G0_1_1 - 0.00776014109347426*G0_1_2 - 0.0253968253968254*G0_2_0 - 0.00776014109347426*G0_2_1 - 0.00776014109347428*G0_2_2;
+ A[22] = 0.0183421516754848*G0_0_0 + 0.0183421516754847*G0_0_1 + 0.0183421516754847*G0_0_2 + 0.018342151675485*G0_1_0 + 0.0183421516754847*G0_1_1 + 0.0183421516754848*G0_1_2 + 0.0183421516754851*G0_2_0 + 0.0183421516754847*G0_2_1 + 0.0183421516754848*G0_2_2;
+ A[23] = 0.0183421516754851*G0_0_0 + 0.0183421516754852*G0_0_1 + 0.0183421516754849*G0_0_2 + 0.018342151675485*G0_1_0 + 0.0183421516754852*G0_1_1 + 0.0183421516754849*G0_1_2 + 0.018342151675485*G0_2_0 + 0.0183421516754852*G0_2_1 + 0.018342151675485*G0_2_2;
+ A[24] = 0.0183421516754851*G0_0_0 + 0.0183421516754851*G0_0_1 + 0.0183421516754852*G0_0_2 + 0.0183421516754851*G0_1_0 + 0.0183421516754851*G0_1_1 + 0.0183421516754852*G0_1_2 + 0.018342151675485*G0_2_0 + 0.0183421516754851*G0_2_1 + 0.0183421516754852*G0_2_2;
+ A[25] = 0.0493827160493828*G0_0_0 + 0.042328042328042*G0_0_1 + 0.0423280423280422*G0_0_2 + 0.0493827160493829*G0_1_0 + 0.0423280423280421*G0_1_1 + 0.0423280423280422*G0_1_2 + 0.0493827160493829*G0_2_0 + 0.0423280423280421*G0_2_1 + 0.0423280423280422*G0_2_2;
+ A[26] = -0.0183421516754851*G0_0_0 - 0.0253968253968252*G0_0_1 - 0.0253968253968251*G0_0_2 - 0.018342151675485*G0_1_0 - 0.0253968253968254*G0_1_1 - 0.0253968253968252*G0_1_2 - 0.0183421516754851*G0_2_0 - 0.0253968253968253*G0_2_1 - 0.0253968253968251*G0_2_2;
+ A[27] = -0.0183421516754851*G0_0_0 - 0.0253968253968254*G0_0_1 - 0.0253968253968256*G0_0_2 - 0.0183421516754851*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0253968253968256*G0_1_2 - 0.018342151675485*G0_2_0 - 0.0253968253968254*G0_2_1 - 0.0253968253968256*G0_2_2;
+ A[28] = 0.0423280423280418*G0_0_0 + 0.0493827160493828*G0_0_1 + 0.0423280423280421*G0_0_2 + 0.0423280423280417*G0_1_0 + 0.0493827160493827*G0_1_1 + 0.0423280423280421*G0_1_2 + 0.0423280423280419*G0_2_0 + 0.0493827160493828*G0_2_1 + 0.0423280423280422*G0_2_2;
+ A[29] = -0.0253968253968251*G0_0_0 - 0.0183421516754847*G0_0_1 - 0.025396825396825*G0_0_2 - 0.0253968253968249*G0_1_0 - 0.0183421516754847*G0_1_1 - 0.0253968253968249*G0_1_2 - 0.025396825396825*G0_2_0 - 0.0183421516754847*G0_2_1 - 0.025396825396825*G0_2_2;
+ A[30] = -0.0253968253968252*G0_0_0 - 0.018342151675485*G0_0_1 - 0.0253968253968256*G0_0_2 - 0.0253968253968253*G0_1_0 - 0.0183421516754851*G0_1_1 - 0.0253968253968256*G0_1_2 - 0.0253968253968254*G0_2_0 - 0.018342151675485*G0_2_1 - 0.0253968253968256*G0_2_2;
+ A[31] = 0.0423280423280418*G0_0_0 + 0.0423280423280419*G0_0_1 + 0.0493827160493825*G0_0_2 + 0.0423280423280418*G0_1_0 + 0.0423280423280421*G0_1_1 + 0.0493827160493825*G0_1_2 + 0.0423280423280418*G0_2_0 + 0.0423280423280421*G0_2_1 + 0.0493827160493826*G0_2_2;
+ A[32] = -0.0253968253968251*G0_0_0 - 0.0253968253968249*G0_0_1 - 0.0183421516754846*G0_0_2 - 0.0253968253968249*G0_1_0 - 0.025396825396825*G0_1_1 - 0.0183421516754847*G0_1_2 - 0.025396825396825*G0_2_0 - 0.025396825396825*G0_2_1 - 0.0183421516754847*G0_2_2;
+ A[33] = -0.0253968253968248*G0_0_0 - 0.0253968253968252*G0_0_1 - 0.0183421516754848*G0_0_2 - 0.0253968253968251*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0183421516754849*G0_1_2 - 0.025396825396825*G0_2_0 - 0.0253968253968253*G0_2_1 - 0.0183421516754849*G0_2_2;
+ A[34] = -0.0677248677248676*G0_0_0 - 0.067724867724868*G0_0_1 - 0.0677248677248677*G0_0_2 - 0.067724867724868*G0_1_0 - 0.0677248677248679*G0_1_1 - 0.0677248677248677*G0_1_2 - 0.067724867724868*G0_2_0 - 0.0677248677248681*G0_2_1 - 0.0677248677248678*G0_2_2;
+ A[35] = 0.00511463844797173*G0_0_0 + 0.00511463844797175*G0_0_1 + 0.00511463844797175*G0_0_2;
+ A[36] = 0.0379188712522046*G0_0_0;
A[37] = -0.00511463844797178*G0_0_1;
- A[38] = -0.00511463844797181*G0_0_2;
- A[39] = -0.00776014109347454*G0_0_1 - 0.00776014109347448*G0_0_2;
- A[40] = -0.0051146384479717*G0_0_1 - 0.00511463844797177*G0_0_2;
- A[41] = -0.00776014109347454*G0_0_1 - 0.00776014109347443*G0_0_2;
- A[42] = -0.0246913580246916*G0_0_0 + 0.0458553791887126*G0_0_2;
- A[43] = 0.0202821869488538*G0_0_0 - 0.0326278659611994*G0_0_2;
- A[44] = -0.00776014109347458*G0_0_0 + 0.017636684303351*G0_0_2;
- A[45] = -0.0246913580246915*G0_0_0 + 0.0458553791887126*G0_0_1;
- A[46] = 0.0202821869488536*G0_0_0 - 0.0326278659611995*G0_0_1;
- A[47] = -0.00776014109347453*G0_0_0 + 0.0176366843033509*G0_0_1;
- A[48] = 0.00776014109347463*G0_0_0 + 0.00776014109347458*G0_0_1;
- A[49] = 0.0051146384479717*G0_0_0 + 0.0051146384479717*G0_0_1;
- A[50] = 0.00776014109347457*G0_0_0 + 0.00776014109347455*G0_0_1;
- A[51] = 0.0077601410934746*G0_0_0 + 0.00776014109347459*G0_0_2;
- A[52] = 0.00511463844797157*G0_0_0 + 0.00511463844797162*G0_0_2;
- A[53] = 0.00776014109347452*G0_0_0 + 0.00776014109347453*G0_0_2;
- A[54] = -0.0253968253968254*G0_0_0 - 0.0176366843033509*G0_0_1 - 0.0176366843033509*G0_0_2;
- A[55] = 0.0529100529100529*G0_0_0 + 0.0326278659611993*G0_0_1 + 0.0326278659611993*G0_0_2;
- A[56] = -0.070546737213404*G0_0_0 - 0.0458553791887126*G0_0_1 - 0.0458553791887127*G0_0_2;
- A[57] = 0.0493827160493826*G0_0_0 + 0.00705467372134017*G0_0_1 + 0.0070546737213402*G0_0_2;
- A[58] = -0.0183421516754851*G0_0_0 + 0.00705467372134032*G0_0_1 + 0.00705467372134024*G0_0_2;
- A[59] = -0.018342151675485*G0_0_0 + 0.00705467372134048*G0_0_1 + 0.00705467372134043*G0_0_2;
- A[60] = 0.0183421516754848*G0_0_0;
+ A[38] = -0.00511463844797182*G0_0_2;
+ A[39] = -0.00776014109347458*G0_0_1 - 0.00776014109347455*G0_0_2;
+ A[40] = -0.00511463844797164*G0_0_1 - 0.00511463844797171*G0_0_2;
+ A[41] = -0.00776014109347457*G0_0_1 - 0.00776014109347444*G0_0_2;
+ A[42] = -0.0246913580246916*G0_0_0 + 0.0458553791887125*G0_0_2;
+ A[43] = 0.0202821869488537*G0_0_0 - 0.0326278659611994*G0_0_2;
+ A[44] = -0.0077601410934746*G0_0_0 + 0.0176366843033509*G0_0_2;
+ A[45] = -0.0246913580246915*G0_0_0 + 0.0458553791887125*G0_0_1;
+ A[46] = 0.0202821869488536*G0_0_0 - 0.0326278659611994*G0_0_1;
+ A[47] = -0.00776014109347457*G0_0_0 + 0.0176366843033509*G0_0_1;
+ A[48] = 0.00776014109347465*G0_0_0 + 0.00776014109347464*G0_0_1;
+ A[49] = 0.00511463844797168*G0_0_0 + 0.00511463844797169*G0_0_1;
+ A[50] = 0.0077601410934746*G0_0_0 + 0.00776014109347457*G0_0_1;
+ A[51] = 0.00776014109347462*G0_0_0 + 0.0077601410934746*G0_0_2;
+ A[52] = 0.00511463844797159*G0_0_0 + 0.00511463844797161*G0_0_2;
+ A[53] = 0.00776014109347458*G0_0_0 + 0.00776014109347457*G0_0_2;
+ A[54] = -0.0253968253968253*G0_0_0 - 0.0176366843033508*G0_0_1 - 0.0176366843033508*G0_0_2;
+ A[55] = 0.0529100529100528*G0_0_0 + 0.0326278659611992*G0_0_1 + 0.0326278659611992*G0_0_2;
+ A[56] = -0.0705467372134039*G0_0_0 - 0.0458553791887125*G0_0_1 - 0.0458553791887125*G0_0_2;
+ A[57] = 0.0493827160493825*G0_0_0 + 0.00705467372134008*G0_0_1 + 0.00705467372134009*G0_0_2;
+ A[58] = -0.0183421516754851*G0_0_0 + 0.0070546737213404*G0_0_1 + 0.00705467372134026*G0_0_2;
+ A[59] = -0.018342151675485*G0_0_0 + 0.00705467372134025*G0_0_1 + 0.00705467372134036*G0_0_2;
+ A[60] = 0.018342151675485*G0_0_0;
A[61] = 0.0183421516754851*G0_0_0;
- A[62] = 0.018342151675485*G0_0_0;
- A[63] = -0.0253968253968256*G0_0_0 - 0.00705467372134057*G0_0_1;
- A[64] = 0.0423280423280427*G0_0_0 - 0.00705467372134003*G0_0_1;
- A[65] = -0.0253968253968255*G0_0_0 - 0.00705467372134045*G0_0_1;
- A[66] = -0.0253968253968256*G0_0_0 - 0.00705467372134058*G0_0_2;
- A[67] = 0.0423280423280425*G0_0_0 - 0.00705467372134005*G0_0_2;
- A[68] = -0.0253968253968252*G0_0_0 - 0.00705467372134024*G0_0_2;
- A[69] = -0.0677248677248674*G0_0_0;
- A[70] = 0.00511463844797184*G0_1_0 + 0.00511463844797182*G0_1_1 + 0.00511463844797184*G0_1_2;
+ A[62] = 0.0183421516754851*G0_0_0;
+ A[63] = -0.0253968253968257*G0_0_0 - 0.00705467372134048*G0_0_1;
+ A[64] = 0.0423280423280426*G0_0_0 - 0.00705467372133999*G0_0_1;
+ A[65] = -0.0253968253968254*G0_0_0 - 0.00705467372134024*G0_0_1;
+ A[66] = -0.0253968253968257*G0_0_0 - 0.00705467372134062*G0_0_2;
+ A[67] = 0.0423280423280426*G0_0_0 - 0.00705467372133996*G0_0_2;
+ A[68] = -0.0253968253968252*G0_0_0 - 0.00705467372134025*G0_0_2;
+ A[69] = -0.0677248677248675*G0_0_0;
+ A[70] = 0.00511463844797181*G0_1_0 + 0.00511463844797179*G0_1_1 + 0.0051146384479718*G0_1_2;
A[71] = -0.00511463844797178*G0_1_0;
- A[72] = 0.0379188712522047*G0_1_1;
+ A[72] = 0.0379188712522048*G0_1_1;
A[73] = -0.00511463844797181*G0_1_2;
- A[74] = -0.0246913580246915*G0_1_1 + 0.0458553791887125*G0_1_2;
+ A[74] = -0.0246913580246916*G0_1_1 + 0.0458553791887124*G0_1_2;
A[75] = 0.0202821869488537*G0_1_1 - 0.0326278659611993*G0_1_2;
- A[76] = -0.00776014109347461*G0_1_1 + 0.0176366843033508*G0_1_2;
- A[77] = -0.00776014109347454*G0_1_0 - 0.0077601410934745*G0_1_2;
- A[78] = -0.00511463844797162*G0_1_0 - 0.00511463844797172*G0_1_2;
- A[79] = -0.00776014109347464*G0_1_0 - 0.00776014109347453*G0_1_2;
- A[80] = 0.0176366843033511*G0_1_0 - 0.00776014109347448*G0_1_1;
+ A[76] = -0.00776014109347458*G0_1_1 + 0.0176366843033508*G0_1_2;
+ A[77] = -0.00776014109347467*G0_1_0 - 0.0077601410934746*G0_1_2;
+ A[78] = -0.00511463844797158*G0_1_0 - 0.00511463844797164*G0_1_2;
+ A[79] = -0.00776014109347461*G0_1_0 - 0.00776014109347456*G0_1_2;
+ A[80] = 0.0176366843033509*G0_1_0 - 0.00776014109347452*G0_1_1;
A[81] = -0.0326278659611995*G0_1_0 + 0.0202821869488538*G0_1_1;
- A[82] = 0.0458553791887127*G0_1_0 - 0.0246913580246915*G0_1_1;
- A[83] = 0.0077601410934745*G0_1_0 + 0.00776014109347451*G0_1_1;
- A[84] = 0.0051146384479716*G0_1_0 + 0.00511463844797163*G0_1_1;
- A[85] = 0.00776014109347462*G0_1_0 + 0.00776014109347462*G0_1_1;
- A[86] = -0.017636684303351*G0_1_0 - 0.0253968253968255*G0_1_1 - 0.017636684303351*G0_1_2;
- A[87] = 0.0326278659611995*G0_1_0 + 0.0529100529100532*G0_1_1 + 0.0326278659611994*G0_1_2;
- A[88] = -0.0458553791887127*G0_1_0 - 0.0705467372134042*G0_1_1 - 0.0458553791887127*G0_1_2;
- A[89] = 0.00776014109347448*G0_1_1 + 0.0077601410934745*G0_1_2;
- A[90] = 0.0051146384479718*G0_1_1 + 0.00511463844797182*G0_1_2;
- A[91] = 0.00776014109347443*G0_1_1 + 0.00776014109347452*G0_1_2;
- A[92] = 0.00705467372134042*G0_1_0 - 0.018342151675485*G0_1_1 + 0.00705467372134047*G0_1_2;
- A[93] = 0.00705467372134015*G0_1_0 + 0.0493827160493826*G0_1_1 + 0.00705467372134023*G0_1_2;
- A[94] = 0.00705467372134028*G0_1_0 - 0.0183421516754851*G0_1_1 + 0.00705467372134038*G0_1_2;
- A[95] = -0.00705467372134042*G0_1_0 - 0.0253968253968254*G0_1_1;
- A[96] = -0.00705467372134012*G0_1_0 + 0.0423280423280424*G0_1_1;
- A[97] = -0.00705467372134029*G0_1_0 - 0.0253968253968253*G0_1_1;
- A[98] = 0.0183421516754851*G0_1_1;
- A[99] = 0.0183421516754849*G0_1_1;
+ A[82] = 0.0458553791887127*G0_1_0 - 0.0246913580246916*G0_1_1;
+ A[83] = 0.00776014109347455*G0_1_0 + 0.00776014109347454*G0_1_1;
+ A[84] = 0.00511463844797174*G0_1_0 + 0.00511463844797175*G0_1_1;
+ A[85] = 0.00776014109347461*G0_1_0 + 0.0077601410934746*G0_1_1;
+ A[86] = -0.017636684303351*G0_1_0 - 0.0253968253968254*G0_1_1 - 0.0176366843033509*G0_1_2;
+ A[87] = 0.0326278659611995*G0_1_0 + 0.0529100529100531*G0_1_1 + 0.0326278659611994*G0_1_2;
+ A[88] = -0.0458553791887127*G0_1_0 - 0.0705467372134043*G0_1_1 - 0.0458553791887127*G0_1_2;
+ A[89] = 0.00776014109347455*G0_1_1 + 0.00776014109347459*G0_1_2;
+ A[90] = 0.00511463844797178*G0_1_1 + 0.00511463844797183*G0_1_2;
+ A[91] = 0.00776014109347453*G0_1_1 + 0.00776014109347461*G0_1_2;
+ A[92] = 0.00705467372134053*G0_1_0 - 0.0183421516754851*G0_1_1 + 0.00705467372134031*G0_1_2;
+ A[93] = 0.00705467372134014*G0_1_0 + 0.0493827160493829*G0_1_1 + 0.00705467372134027*G0_1_2;
+ A[94] = 0.00705467372134037*G0_1_0 - 0.018342151675485*G0_1_1 + 0.00705467372134054*G0_1_2;
+ A[95] = -0.00705467372134029*G0_1_0 - 0.0253968253968256*G0_1_1;
+ A[96] = -0.00705467372134014*G0_1_0 + 0.0423280423280426*G0_1_1;
+ A[97] = -0.00705467372134036*G0_1_0 - 0.0253968253968255*G0_1_1;
+ A[98] = 0.0183421516754853*G0_1_1;
+ A[99] = 0.018342151675485*G0_1_1;
A[100] = 0.018342151675485*G0_1_1;
- A[101] = -0.0253968253968254*G0_1_1 - 0.00705467372134031*G0_1_2;
- A[102] = -0.0253968253968255*G0_1_1 - 0.00705467372134062*G0_1_2;
- A[103] = 0.0423280423280425*G0_1_1 - 0.00705467372134015*G0_1_2;
- A[104] = -0.0677248677248676*G0_1_1;
- A[105] = 0.00511463844797182*G0_2_0 + 0.00511463844797181*G0_2_1 + 0.00511463844797181*G0_2_2;
- A[106] = -0.00511463844797181*G0_2_0;
+ A[101] = -0.0253968253968256*G0_1_1 - 0.00705467372134036*G0_1_2;
+ A[102] = -0.0253968253968256*G0_1_1 - 0.00705467372134043*G0_1_2;
+ A[103] = 0.0423280423280427*G0_1_1 - 0.00705467372134023*G0_1_2;
+ A[104] = -0.067724867724868*G0_1_1;
+ A[105] = 0.00511463844797185*G0_2_0 + 0.00511463844797183*G0_2_1 + 0.00511463844797184*G0_2_2;
+ A[106] = -0.00511463844797182*G0_2_0;
A[107] = -0.00511463844797181*G0_2_1;
A[108] = 0.0379188712522047*G0_2_2;
- A[109] = 0.0176366843033511*G0_2_1 - 0.00776014109347435*G0_2_2;
- A[110] = -0.0326278659611996*G0_2_1 + 0.0202821869488534*G0_2_2;
- A[111] = 0.0458553791887129*G0_2_1 - 0.0246913580246912*G0_2_2;
- A[112] = 0.0176366843033511*G0_2_0 - 0.00776014109347437*G0_2_2;
- A[113] = -0.0326278659611999*G0_2_0 + 0.0202821869488534*G0_2_2;
- A[114] = 0.0458553791887131*G0_2_0 - 0.0246913580246912*G0_2_2;
- A[115] = -0.00776014109347445*G0_2_0 - 0.00776014109347444*G0_2_1;
- A[116] = -0.00511463844797171*G0_2_0 - 0.0051146384479717*G0_2_1;
- A[117] = -0.0077601410934745*G0_2_0 - 0.0077601410934745*G0_2_1;
- A[118] = -0.0176366843033511*G0_2_0 - 0.0176366843033511*G0_2_1 - 0.0253968253968255*G0_2_2;
+ A[109] = 0.017636684303351*G0_2_1 - 0.00776014109347436*G0_2_2;
+ A[110] = -0.0326278659611995*G0_2_1 + 0.0202821869488535*G0_2_2;
+ A[111] = 0.0458553791887128*G0_2_1 - 0.0246913580246914*G0_2_2;
+ A[112] = 0.0176366843033511*G0_2_0 - 0.00776014109347446*G0_2_2;
+ A[113] = -0.0326278659611997*G0_2_0 + 0.0202821869488536*G0_2_2;
+ A[114] = 0.0458553791887129*G0_2_0 - 0.0246913580246914*G0_2_2;
+ A[115] = -0.00776014109347458*G0_2_0 - 0.00776014109347454*G0_2_1;
+ A[116] = -0.00511463844797172*G0_2_0 - 0.00511463844797176*G0_2_1;
+ A[117] = -0.00776014109347452*G0_2_0 - 0.0077601410934745*G0_2_1;
+ A[118] = -0.0176366843033512*G0_2_0 - 0.0176366843033511*G0_2_1 - 0.0253968253968256*G0_2_2;
A[119] = 0.0326278659611998*G0_2_0 + 0.0326278659611997*G0_2_1 + 0.0529100529100532*G0_2_2;
- A[120] = -0.045855379188713*G0_2_0 - 0.045855379188713*G0_2_1 - 0.0705467372134041*G0_2_2;
- A[121] = 0.00776014109347446*G0_2_0 + 0.0077601410934744*G0_2_2;
- A[122] = 0.00511463844797173*G0_2_0 + 0.00511463844797175*G0_2_2;
- A[123] = 0.00776014109347452*G0_2_0 + 0.00776014109347449*G0_2_2;
- A[124] = 0.00776014109347445*G0_2_1 + 0.00776014109347444*G0_2_2;
- A[125] = 0.00511463844797175*G0_2_1 + 0.00511463844797173*G0_2_2;
- A[126] = 0.00776014109347445*G0_2_1 + 0.00776014109347441*G0_2_2;
- A[127] = 0.00705467372134044*G0_2_0 + 0.00705467372134026*G0_2_1 - 0.0183421516754849*G0_2_2;
- A[128] = 0.00705467372134037*G0_2_0 + 0.00705467372134053*G0_2_1 - 0.018342151675485*G0_2_2;
- A[129] = 0.00705467372134021*G0_2_0 + 0.00705467372134008*G0_2_1 + 0.0493827160493824*G0_2_2;
- A[130] = -0.0070546737213404*G0_2_0 - 0.0253968253968253*G0_2_2;
- A[131] = -0.00705467372134039*G0_2_0 - 0.0253968253968254*G0_2_2;
- A[132] = -0.00705467372134021*G0_2_0 + 0.0423280423280422*G0_2_2;
- A[133] = -0.00705467372134049*G0_2_1 - 0.0253968253968254*G0_2_2;
- A[134] = -0.00705467372134028*G0_2_1 - 0.0253968253968252*G0_2_2;
- A[135] = -0.00705467372134011*G0_2_1 + 0.0423280423280422*G0_2_2;
- A[136] = 0.018342151675485*G0_2_2;
- A[137] = 0.0183421516754849*G0_2_2;
- A[138] = 0.018342151675485*G0_2_2;
- A[139] = -0.0677248677248675*G0_2_2;
- A[140] = 0.00776014109347435*G0_1_0 + 0.00776014109347434*G0_1_1 + 0.00776014109347434*G0_1_2 + 0.00776014109347441*G0_2_0 + 0.00776014109347439*G0_2_1 + 0.00776014109347442*G0_2_2;
- A[141] = -0.00776014109347454*G0_1_0 - 0.00776014109347448*G0_2_0;
- A[142] = -0.0246913580246915*G0_1_1 + 0.0458553791887125*G0_2_1;
- A[143] = 0.0176366843033511*G0_1_2 - 0.00776014109347435*G0_2_2;
- A[144] = 0.203174603174603*G0_1_1 + 0.079012345679012*G0_1_2 + 0.079012345679012*G0_2_1 + 0.158024691358024*G0_2_2;
- A[145] = -0.118518518518519*G0_1_1 + 0.0423280423280419*G0_1_2 - 0.0310405643738975*G0_2_1 - 0.0902998236331564*G0_2_2;
- A[146] = 0.045149911816579*G0_1_1 - 0.0338624338624336*G0_1_2 + 0.0112874779541449*G0_2_1 + 0.0451499118165782*G0_2_2;
- A[147] = 0.0225749559082897*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541448*G0_2_0 + 0.0112874779541447*G0_2_2;
- A[148] = 0.0169312169312162*G0_1_0 + 0.0141093474426809*G0_1_2 + 0.00282186948853584*G0_2_0 + 0.00282186948853616*G0_2_2;
- A[149] = 0.0451499118165791*G0_1_0 + 0.0338624338624338*G0_1_2 + 0.0112874779541449*G0_2_0 + 0.0112874779541445*G0_2_2;
- A[150] = 0.033862433862434*G0_1_0 + 0.0112874779541449*G0_1_1 + 0.0451499118165789*G0_2_0 + 0.011287477954145*G0_2_1;
- A[151] = -0.0592592592592598*G0_1_0 - 0.0423280423280428*G0_1_1 - 0.0902998236331577*G0_2_0 - 0.0310405643738979*G0_2_1;
- A[152] = 0.0790123456790129*G0_1_0 + 0.101587301587302*G0_1_1 + 0.158024691358025*G0_2_0 + 0.0790123456790122*G0_2_1;
- A[153] = -0.0225749559082895*G0_1_0 - 0.0225749559082894*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541448*G0_2_0 - 0.0112874779541447*G0_2_1;
- A[154] = -0.0169312169312166*G0_1_0 - 0.0169312169312166*G0_1_1 - 0.00282186948853599*G0_1_2 - 0.00282186948853617*G0_2_0 - 0.00282186948853618*G0_2_1;
- A[155] = -0.0451499118165791*G0_1_0 - 0.0451499118165791*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.0112874779541448*G0_2_0 - 0.0112874779541449*G0_2_1;
- A[156] = -0.0338624338624339*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0338624338624336*G0_1_2 - 0.0451499118165788*G0_2_0 - 0.0338624338624337*G0_2_1 - 0.0451499118165785*G0_2_2;
- A[157] = 0.0592592592592596*G0_1_0 + 0.0169312169312164*G0_1_1 + 0.0592592592592591*G0_1_2 + 0.0902998236331577*G0_2_0 + 0.0592592592592593*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[158] = -0.0790123456790129*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0790123456790126*G0_1_2 - 0.158024691358025*G0_2_0 - 0.0790123456790126*G0_2_1 - 0.158024691358025*G0_2_2;
- A[159] = -0.0112874779541446*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[160] = -0.00282186948853632*G0_1_1 - 0.00282186948853618*G0_1_2 - 0.00282186948853629*G0_2_1 - 0.00282186948853609*G0_2_2;
- A[161] = -0.0112874779541448*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.011287477954145*G0_2_1 - 0.0112874779541447*G0_2_2;
- A[162] = -0.0677248677248682*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0338624338624341*G0_1_2 - 0.0225749559082897*G0_2_0 + 0.0112874779541448*G0_2_1 - 0.022574955908289*G0_2_2;
- A[163] = 0.203174603174603*G0_1_0 - 0.0677248677248679*G0_1_1 + 0.101587301587302*G0_1_2 + 0.112874779541446*G0_2_0 + 0.0112874779541444*G0_2_1 + 0.112874779541446*G0_2_2;
- A[164] = -0.0677248677248674*G0_1_0 + 0.0677248677248676*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0225749559082884*G0_2_0 + 0.0112874779541449*G0_2_1 - 0.0225749559082887*G0_2_2;
- A[165] = 0.0677248677248679*G0_1_0 + 0.0902998236331571*G0_1_1 + 0.0338624338624334*G0_1_2 + 0.0225749559082891*G0_2_0 + 0.0338624338624339*G0_2_1;
- A[166] = -0.203174603174603*G0_1_0 - 0.270899470899471*G0_1_1 - 0.101587301587301*G0_1_2 - 0.112874779541446*G0_2_0 - 0.101587301587302*G0_2_1;
- A[167] = 0.0677248677248675*G0_1_0 + 0.135449735449735*G0_1_1 + 0.0338624338624335*G0_1_2 + 0.0225749559082884*G0_2_0 + 0.0338624338624337*G0_2_1;
- A[168] = -0.0225749559082897*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.0112874779541451*G0_2_1;
- A[169] = -0.0225749559082895*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.011287477954145*G0_2_1;
- A[170] = -0.0677248677248676*G0_1_1 - 0.0112874779541443*G0_1_2 - 0.0112874779541449*G0_2_1;
- A[171] = 0.0451499118165788*G0_1_1 + 0.033862433862434*G0_1_2 + 0.0338624338624341*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[172] = 0.045149911816579*G0_1_1 + 0.0338624338624337*G0_1_2 + 0.0338624338624342*G0_2_1 + 0.0225749559082885*G0_2_2;
+ A[120] = -0.0458553791887129*G0_2_0 - 0.0458553791887128*G0_2_1 - 0.0705467372134042*G0_2_2;
+ A[121] = 0.00776014109347444*G0_2_0 + 0.00776014109347439*G0_2_2;
+ A[122] = 0.00511463844797175*G0_2_0 + 0.00511463844797177*G0_2_2;
+ A[123] = 0.00776014109347453*G0_2_0 + 0.0077601410934745*G0_2_2;
+ A[124] = 0.00776014109347448*G0_2_1 + 0.00776014109347446*G0_2_2;
+ A[125] = 0.0051146384479718*G0_2_1 + 0.00511463844797177*G0_2_2;
+ A[126] = 0.00776014109347454*G0_2_1 + 0.00776014109347449*G0_2_2;
+ A[127] = 0.0070546737213405*G0_2_0 + 0.00705467372134034*G0_2_1 - 0.018342151675485*G0_2_2;
+ A[128] = 0.00705467372134032*G0_2_0 + 0.00705467372134039*G0_2_1 - 0.0183421516754851*G0_2_2;
+ A[129] = 0.00705467372133999*G0_2_0 + 0.00705467372134012*G0_2_1 + 0.0493827160493825*G0_2_2;
+ A[130] = -0.00705467372134038*G0_2_0 - 0.0253968253968252*G0_2_2;
+ A[131] = -0.00705467372134031*G0_2_0 - 0.0253968253968254*G0_2_2;
+ A[132] = -0.00705467372134004*G0_2_0 + 0.0423280423280422*G0_2_2;
+ A[133] = -0.00705467372134041*G0_2_1 - 0.0253968253968254*G0_2_2;
+ A[134] = -0.00705467372134035*G0_2_1 - 0.0253968253968254*G0_2_2;
+ A[135] = -0.0070546737213401*G0_2_1 + 0.0423280423280423*G0_2_2;
+ A[136] = 0.0183421516754851*G0_2_2;
+ A[137] = 0.0183421516754851*G0_2_2;
+ A[138] = 0.0183421516754851*G0_2_2;
+ A[139] = -0.0677248677248676*G0_2_2;
+ A[140] = 0.00776014109347441*G0_1_0 + 0.00776014109347441*G0_1_1 + 0.0077601410934744*G0_1_2 + 0.00776014109347438*G0_2_0 + 0.00776014109347436*G0_2_1 + 0.00776014109347438*G0_2_2;
+ A[141] = -0.00776014109347457*G0_1_0 - 0.00776014109347454*G0_2_0;
+ A[142] = -0.0246913580246916*G0_1_1 + 0.0458553791887124*G0_2_1;
+ A[143] = 0.017636684303351*G0_1_2 - 0.00776014109347436*G0_2_2;
+ A[144] = 0.203174603174603*G0_1_1 + 0.0790123456790117*G0_1_2 + 0.0790123456790118*G0_2_1 + 0.158024691358024*G0_2_2;
+ A[145] = -0.118518518518519*G0_1_1 + 0.0423280423280421*G0_1_2 - 0.0310405643738974*G0_2_1 - 0.0902998236331563*G0_2_2;
+ A[146] = 0.0451499118165788*G0_1_1 - 0.0338624338624338*G0_1_2 + 0.0112874779541448*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[147] = 0.0225749559082896*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541444*G0_2_2;
+ A[148] = 0.0169312169312166*G0_1_0 + 0.0141093474426811*G0_1_2 + 0.00282186948853624*G0_2_0 + 0.00282186948853651*G0_2_2;
+ A[149] = 0.0451499118165789*G0_1_0 + 0.0338624338624339*G0_1_2 + 0.0112874779541448*G0_2_0 + 0.0112874779541446*G0_2_2;
+ A[150] = 0.033862433862434*G0_1_0 + 0.0112874779541448*G0_1_1 + 0.0451499118165787*G0_2_0 + 0.0112874779541448*G0_2_1;
+ A[151] = -0.0592592592592596*G0_1_0 - 0.0423280423280426*G0_1_1 - 0.0902998236331577*G0_2_0 - 0.0310405643738978*G0_2_1;
+ A[152] = 0.0790123456790126*G0_1_0 + 0.101587301587302*G0_1_1 + 0.158024691358025*G0_2_0 + 0.079012345679012*G0_2_1;
+ A[153] = -0.0225749559082895*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541446*G0_2_1;
+ A[154] = -0.0169312169312166*G0_1_0 - 0.0169312169312167*G0_1_1 - 0.00282186948853601*G0_1_2 - 0.0028218694885359*G0_2_0 - 0.00282186948853591*G0_2_1;
+ A[155] = -0.0451499118165789*G0_1_0 - 0.0451499118165789*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541448*G0_2_0 - 0.0112874779541448*G0_2_1;
+ A[156] = -0.0338624338624338*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0338624338624336*G0_1_2 - 0.0451499118165786*G0_2_0 - 0.0338624338624335*G0_2_1 - 0.0451499118165783*G0_2_2;
+ A[157] = 0.0592592592592592*G0_1_0 + 0.0169312169312163*G0_1_1 + 0.0592592592592588*G0_1_2 + 0.0902998236331573*G0_2_0 + 0.059259259259259*G0_2_1 + 0.0902998236331568*G0_2_2;
+ A[158] = -0.0790123456790126*G0_1_0 + 0.0225749559082896*G0_1_1 - 0.0790123456790122*G0_1_2 - 0.158024691358025*G0_2_0 - 0.0790123456790126*G0_2_1 - 0.158024691358024*G0_2_2;
+ A[159] = -0.0112874779541446*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[160] = -0.00282186948853611*G0_1_1 - 0.00282186948853604*G0_1_2 - 0.00282186948853628*G0_2_1 - 0.00282186948853613*G0_2_2;
+ A[161] = -0.0112874779541448*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[162] = -0.067724867724868*G0_1_0 + 0.0225749559082896*G0_1_1 - 0.0338624338624338*G0_1_2 - 0.0225749559082893*G0_2_0 + 0.0112874779541448*G0_2_1 - 0.0225749559082892*G0_2_2;
+ A[163] = 0.203174603174603*G0_1_0 - 0.0677248677248679*G0_1_1 + 0.101587301587302*G0_1_2 + 0.112874779541446*G0_2_0 + 0.0112874779541448*G0_2_1 + 0.112874779541446*G0_2_2;
+ A[164] = -0.0677248677248677*G0_1_0 + 0.0677248677248678*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0225749559082882*G0_2_0 + 0.0112874779541454*G0_2_1 - 0.0225749559082882*G0_2_2;
+ A[165] = 0.0677248677248681*G0_1_0 + 0.0902998236331572*G0_1_1 + 0.0338624338624335*G0_1_2 + 0.0225749559082897*G0_2_0 + 0.0338624338624338*G0_2_1;
+ A[166] = -0.203174603174603*G0_1_0 - 0.270899470899471*G0_1_1 - 0.1015873015873*G0_1_2 - 0.112874779541446*G0_2_0 - 0.101587301587301*G0_2_1;
+ A[167] = 0.0677248677248677*G0_1_0 + 0.135449735449735*G0_1_1 + 0.0338624338624333*G0_1_2 + 0.0225749559082882*G0_2_0 + 0.0338624338624332*G0_2_1;
+ A[168] = -0.022574955908289*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.0112874779541442*G0_2_1;
+ A[169] = -0.0225749559082897*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.011287477954145*G0_2_1;
+ A[170] = -0.0677248677248677*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0112874779541452*G0_2_1;
+ A[171] = 0.0451499118165786*G0_1_1 + 0.0338624338624343*G0_1_2 + 0.0338624338624336*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[172] = 0.0451499118165786*G0_1_1 + 0.0338624338624335*G0_1_2 + 0.033862433862434*G0_2_1 + 0.0225749559082888*G0_2_2;
A[173] = -0.135449735449736*G0_1_1 - 0.101587301587302*G0_1_2 - 0.101587301587301*G0_2_1 - 0.112874779541445*G0_2_2;
- A[174] = 0.0902998236331582*G0_1_1;
- A[175] = 0.00511463844797179*G0_1_0 + 0.00511463844797176*G0_1_1 + 0.00511463844797176*G0_1_2 + 0.00511463844797175*G0_2_0 + 0.00511463844797175*G0_2_1 + 0.00511463844797172*G0_2_2;
- A[176] = -0.0051146384479717*G0_1_0 - 0.00511463844797177*G0_2_0;
+ A[174] = 0.0902998236331572*G0_1_1;
+ A[175] = 0.00511463844797173*G0_1_0 + 0.00511463844797171*G0_1_1 + 0.00511463844797172*G0_1_2 + 0.0051146384479718*G0_2_0 + 0.00511463844797179*G0_2_1 + 0.00511463844797177*G0_2_2;
+ A[176] = -0.00511463844797164*G0_1_0 - 0.00511463844797172*G0_2_0;
A[177] = 0.0202821869488537*G0_1_1 - 0.0326278659611993*G0_2_1;
- A[178] = -0.0326278659611996*G0_1_2 + 0.0202821869488534*G0_2_2;
- A[179] = -0.118518518518519*G0_1_1 - 0.0310405643738975*G0_1_2 + 0.0423280423280419*G0_2_1 - 0.0902998236331563*G0_2_2;
- A[180] = 0.249735449735451*G0_1_1 + 0.0825396825396828*G0_1_2 + 0.0825396825396828*G0_2_1 + 0.249735449735449*G0_2_2;
- A[181] = -0.0902998236331582*G0_1_1 + 0.0423280423280417*G0_1_2 - 0.0310405643738983*G0_2_1 - 0.118518518518518*G0_2_2;
- A[182] = 0.0169312169312166*G0_1_0 + 0.00282186948853631*G0_1_2 + 0.0141093474426807*G0_2_0 + 0.00282186948853626*G0_2_2;
- A[183] = -0.0211640211640202*G0_1_0 - 0.0105820105820106*G0_1_2 - 0.0105820105820104*G0_2_0 - 0.0134038800705467*G0_2_2;
- A[184] = -0.0902998236331584*G0_1_0 - 0.0592592592592597*G0_1_2 - 0.0310405643738983*G0_2_0 - 0.0423280423280427*G0_2_2;
- A[185] = 0.0141093474426808*G0_1_0 + 0.00282186948853619*G0_1_1 + 0.0169312169312167*G0_2_0 + 0.00282186948853605*G0_2_1;
- A[186] = -0.0105820105820105*G0_1_0 - 0.0134038800705467*G0_1_1 - 0.0211640211640205*G0_2_0 - 0.0105820105820104*G0_2_1;
- A[187] = -0.0310405643738979*G0_1_0 - 0.0423280423280425*G0_1_1 - 0.0902998236331573*G0_2_0 - 0.0592592592592592*G0_2_1;
- A[188] = -0.0169312169312166*G0_1_0 - 0.0169312169312166*G0_1_1 - 0.0141093474426805*G0_1_2 - 0.0141093474426806*G0_2_0 - 0.0141093474426807*G0_2_1 - 0.0112874779541444*G0_2_2;
- A[189] = 0.0211640211640203*G0_1_0 + 0.0211640211640204*G0_1_1 + 0.0105820105820099*G0_1_2 + 0.0105820105820104*G0_2_0 + 0.0105820105820105*G0_2_1 - 0.00282186948853625*G0_2_2;
- A[190] = 0.0902998236331583*G0_1_0 + 0.0902998236331582*G0_1_1 + 0.0310405643738984*G0_1_2 + 0.0310405643738983*G0_2_0 + 0.0310405643738983*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[191] = -0.0141093474426808*G0_1_0 - 0.0112874779541448*G0_1_1 - 0.0141093474426809*G0_1_2 - 0.0169312169312167*G0_2_0 - 0.0141093474426807*G0_2_1 - 0.0169312169312168*G0_2_2;
- A[192] = 0.0105820105820106*G0_1_0 - 0.00282186948853599*G0_1_1 + 0.0105820105820107*G0_1_2 + 0.0211640211640206*G0_2_0 + 0.0105820105820102*G0_2_1 + 0.0211640211640207*G0_2_2;
- A[193] = 0.0310405643738979*G0_1_0 - 0.0112874779541447*G0_1_1 + 0.0310405643738979*G0_1_2 + 0.0902998236331573*G0_2_0 + 0.031040564373898*G0_2_1 + 0.0902998236331573*G0_2_2;
- A[194] = -0.00282186948853627*G0_1_1 - 0.00282186948853631*G0_1_2 - 0.00282186948853613*G0_2_1 - 0.00282186948853619*G0_2_2;
- A[195] = -0.00917107583774257*G0_1_1 - 0.0091710758377426*G0_1_2 - 0.00917107583774246*G0_2_1 - 0.00917107583774258*G0_2_2;
- A[196] = -0.0028218694885362*G0_1_1 - 0.00282186948853622*G0_1_2 - 0.00282186948853601*G0_2_1 - 0.00282186948853613*G0_2_2;
- A[197] = -0.0846560846560848*G0_1_0 - 0.0169312169312171*G0_1_1 - 0.0197530864197534*G0_1_2 - 0.0846560846560842*G0_2_0 - 0.0197530864197532*G0_2_1 - 0.0169312169312171*G0_2_2;
- A[198] = 0.0507936507936515*G0_1_0 + 0.118518518518519*G0_1_1 - 0.0423280423280424*G0_1_2 + 0.186243386243387*G0_2_0 + 0.0931216931216941*G0_2_1 - 0.0846560846560839*G0_2_2;
- A[199] = 0.186243386243386*G0_1_0 - 0.0846560846560851*G0_1_1 + 0.0931216931216936*G0_1_2 + 0.0507936507936499*G0_2_0 - 0.0423280423280434*G0_2_1 + 0.118518518518518*G0_2_2;
- A[200] = 0.0846560846560851*G0_1_0 + 0.0677248677248679*G0_1_1 + 0.0649029982363316*G0_1_2 + 0.084656084656085*G0_2_0 + 0.0649029982363314*G0_2_1 + 0.0677248677248674*G0_2_2;
- A[201] = -0.0507936507936515*G0_1_0 + 0.0677248677248676*G0_1_1 - 0.0931216931216941*G0_1_2 - 0.186243386243387*G0_2_0 - 0.0931216931216925*G0_2_1 - 0.270899470899471*G0_2_2;
- A[202] = -0.186243386243386*G0_1_0 - 0.270899470899471*G0_1_1 - 0.093121693121692*G0_1_2 - 0.0507936507936498*G0_2_0 - 0.0931216931216933*G0_2_1 + 0.0677248677248685*G0_2_2;
- A[203] = 0.0169312169312176*G0_1_1 + 0.0197530864197538*G0_1_2 + 0.0197530864197537*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[204] = 0.016931216931217*G0_1_1 + 0.0197530864197533*G0_1_2 + 0.0197530864197531*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[205] = 0.084656084656085*G0_1_1 + 0.042328042328042*G0_1_2 + 0.0423280423280432*G0_2_1 + 0.0225749559082891*G0_2_2;
- A[206] = 0.0225749559082895*G0_1_1 + 0.0197530864197533*G0_1_2 + 0.019753086419753*G0_2_1 + 0.0169312169312172*G0_2_2;
- A[207] = 0.0225749559082893*G0_1_1 + 0.0197530864197531*G0_1_2 + 0.0197530864197529*G0_2_1 + 0.016931216931217*G0_2_2;
- A[208] = 0.0225749559082893*G0_1_1 + 0.0423280423280422*G0_1_2 + 0.0423280423280424*G0_2_1 + 0.0846560846560837*G0_2_2;
- A[209] = -0.135449735449737*G0_1_1 - 0.112874779541447*G0_1_2 - 0.112874779541448*G0_2_1 - 0.135449735449735*G0_2_2;
- A[210] = 0.00776014109347446*G0_1_0 + 0.00776014109347445*G0_1_1 + 0.00776014109347442*G0_1_2 + 0.00776014109347441*G0_2_0 + 0.00776014109347438*G0_2_1 + 0.00776014109347437*G0_2_2;
- A[211] = -0.00776014109347454*G0_1_0 - 0.00776014109347443*G0_2_0;
- A[212] = -0.00776014109347461*G0_1_1 + 0.0176366843033508*G0_2_1;
- A[213] = 0.0458553791887129*G0_1_2 - 0.0246913580246912*G0_2_2;
- A[214] = 0.045149911816579*G0_1_1 + 0.0112874779541449*G0_1_2 - 0.0338624338624336*G0_2_1 + 0.0451499118165782*G0_2_2;
- A[215] = -0.0902998236331582*G0_1_1 - 0.0310405643738983*G0_1_2 + 0.0423280423280417*G0_2_1 - 0.118518518518518*G0_2_2;
- A[216] = 0.158024691358027*G0_1_1 + 0.0790123456790131*G0_1_2 + 0.0790123456790131*G0_2_1 + 0.203174603174603*G0_2_2;
- A[217] = 0.0451499118165793*G0_1_0 + 0.011287477954145*G0_1_2 + 0.0338624338624344*G0_2_0 + 0.011287477954145*G0_2_2;
- A[218] = -0.090299823633159*G0_1_0 - 0.0310405643738983*G0_1_2 - 0.0592592592592601*G0_2_0 - 0.0423280423280427*G0_2_2;
- A[219] = 0.158024691358027*G0_1_0 + 0.0790123456790131*G0_1_2 + 0.0790123456790133*G0_2_0 + 0.101587301587302*G0_2_2;
- A[220] = 0.0112874779541446*G0_1_0 + 0.0112874779541449*G0_1_1 + 0.0225749559082894*G0_2_0 + 0.011287477954145*G0_2_1;
- A[221] = 0.00282186948853622*G0_1_0 + 0.0028218694885361*G0_1_1 + 0.0169312169312167*G0_2_0 + 0.0141093474426806*G0_2_1;
- A[222] = 0.0112874779541446*G0_1_0 + 0.0112874779541447*G0_1_1 + 0.0451499118165784*G0_2_0 + 0.0338624338624337*G0_2_1;
- A[223] = -0.0451499118165792*G0_1_0 - 0.045149911816579*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0338624338624342*G0_2_0 - 0.033862433862434*G0_2_1 - 0.0225749559082892*G0_2_2;
- A[224] = 0.0902998236331588*G0_1_0 + 0.0902998236331585*G0_1_1 + 0.05925925925926*G0_1_2 + 0.05925925925926*G0_2_0 + 0.0592592592592599*G0_2_1 + 0.016931216931217*G0_2_2;
- A[225] = -0.158024691358027*G0_1_0 - 0.158024691358027*G0_1_1 - 0.0790123456790134*G0_1_2 - 0.0790123456790133*G0_2_0 - 0.0790123456790132*G0_2_1 + 0.0225749559082889*G0_2_2;
- A[226] = -0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0112874779541443*G0_2_1 - 0.0225749559082891*G0_2_2;
- A[227] = -0.00282186948853623*G0_1_0 - 0.00282186948853625*G0_1_2 - 0.0169312169312167*G0_2_0 - 0.00282186948853621*G0_2_1 - 0.0169312169312168*G0_2_2;
- A[228] = -0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_2 - 0.0451499118165784*G0_2_0 - 0.0112874779541447*G0_2_1 - 0.0451499118165783*G0_2_2;
- A[229] = -0.0112874779541446*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[230] = -0.00282186948853627*G0_1_1 - 0.00282186948853628*G0_1_2 - 0.00282186948853634*G0_2_1 - 0.00282186948853627*G0_2_2;
- A[231] = -0.0112874779541449*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.011287477954145*G0_2_1 - 0.0112874779541449*G0_2_2;
- A[232] = -0.0225749559082892*G0_1_0 - 0.0225749559082893*G0_1_1 + 0.0112874779541451*G0_1_2 - 0.0677248677248678*G0_2_0 - 0.0338624338624334*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[233] = -0.0225749559082891*G0_1_0 - 0.022574955908289*G0_1_1 + 0.0112874779541448*G0_1_2 - 0.067724867724868*G0_2_0 - 0.0338624338624344*G0_2_1 + 0.067724867724867*G0_2_2;
- A[234] = 0.112874779541446*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0112874779541443*G0_1_2 + 0.203174603174603*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[235] = 0.0225749559082893*G0_1_0 + 0.0338624338624341*G0_1_2 + 0.0677248677248676*G0_2_0 + 0.0338624338624338*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[236] = 0.0225749559082891*G0_1_0 + 0.0338624338624341*G0_1_2 + 0.067724867724868*G0_2_0 + 0.0338624338624337*G0_2_1 + 0.135449735449735*G0_2_2;
- A[237] = -0.112874779541446*G0_1_0 - 0.101587301587302*G0_1_2 - 0.203174603174603*G0_2_0 - 0.101587301587301*G0_2_1 - 0.270899470899471*G0_2_2;
- A[238] = 0.0225749559082892*G0_1_1 + 0.0338624338624339*G0_1_2 + 0.0338624338624337*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[239] = 0.0225749559082892*G0_1_1 + 0.0338624338624345*G0_1_2 + 0.0338624338624334*G0_2_1 + 0.0451499118165789*G0_2_2;
- A[240] = -0.112874779541446*G0_1_1 - 0.101587301587302*G0_1_2 - 0.101587301587302*G0_2_1 - 0.135449735449736*G0_2_2;
- A[241] = -0.0112874779541446*G0_1_2 - 0.0112874779541444*G0_2_1 - 0.0225749559082894*G0_2_2;
- A[242] = -0.0112874779541451*G0_1_2 - 0.0112874779541441*G0_2_1 - 0.0225749559082899*G0_2_2;
- A[243] = -0.0112874779541447*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0677248677248669*G0_2_2;
- A[244] = 0.0902998236331571*G0_2_2;
- A[245] = 0.00776014109347435*G0_0_0 + 0.00776014109347425*G0_0_1 + 0.00776014109347427*G0_0_2 + 0.0077601410934744*G0_2_0 + 0.00776014109347432*G0_2_1 + 0.00776014109347435*G0_2_2;
- A[246] = -0.0246913580246916*G0_0_0 + 0.0458553791887126*G0_2_0;
- A[247] = -0.00776014109347454*G0_0_1 - 0.00776014109347449*G0_2_1;
- A[248] = 0.0176366843033511*G0_0_2 - 0.00776014109347437*G0_2_2;
- A[249] = 0.0225749559082897*G0_0_1 + 0.0112874779541448*G0_0_2 + 0.0112874779541446*G0_2_1 + 0.0112874779541447*G0_2_2;
- A[250] = 0.0169312169312166*G0_0_1 + 0.0141093474426807*G0_0_2 + 0.00282186948853631*G0_2_1 + 0.00282186948853626*G0_2_2;
- A[251] = 0.0451499118165793*G0_0_1 + 0.0338624338624344*G0_0_2 + 0.011287477954145*G0_2_1 + 0.011287477954145*G0_2_2;
+ A[178] = -0.0326278659611995*G0_1_2 + 0.0202821869488535*G0_2_2;
+ A[179] = -0.118518518518519*G0_1_1 - 0.0310405643738974*G0_1_2 + 0.0423280423280421*G0_2_1 - 0.0902998236331563*G0_2_2;
+ A[180] = 0.24973544973545*G0_1_1 + 0.0825396825396825*G0_1_2 + 0.0825396825396825*G0_2_1 + 0.249735449735448*G0_2_2;
+ A[181] = -0.0902998236331578*G0_1_1 + 0.042328042328042*G0_1_2 - 0.0310405643738982*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[182] = 0.0169312169312165*G0_1_0 + 0.00282186948853642*G0_1_2 + 0.0141093474426807*G0_2_0 + 0.0028218694885364*G0_2_2;
+ A[183] = -0.0211640211640203*G0_1_0 - 0.0105820105820109*G0_1_2 - 0.0105820105820104*G0_2_0 - 0.0134038800705469*G0_2_2;
+ A[184] = -0.090299823633158*G0_1_0 - 0.0592592592592594*G0_1_2 - 0.0310405643738983*G0_2_0 - 0.0423280423280427*G0_2_2;
+ A[185] = 0.0141093474426808*G0_1_0 + 0.0028218694885363*G0_1_1 + 0.0169312169312167*G0_2_0 + 0.00282186948853613*G0_2_1;
+ A[186] = -0.0105820105820106*G0_1_0 - 0.0134038800705468*G0_1_1 - 0.0211640211640205*G0_2_0 - 0.0105820105820105*G0_2_1;
+ A[187] = -0.0310405643738978*G0_1_0 - 0.0423280423280424*G0_1_1 - 0.0902998236331573*G0_2_0 - 0.0592592592592591*G0_2_1;
+ A[188] = -0.0169312169312166*G0_1_0 - 0.0169312169312166*G0_1_1 - 0.0141093474426804*G0_1_2 - 0.0141093474426805*G0_2_0 - 0.0141093474426805*G0_2_1 - 0.0112874779541445*G0_2_2;
+ A[189] = 0.0211640211640204*G0_1_0 + 0.0211640211640205*G0_1_1 + 0.01058201058201*G0_1_2 + 0.0105820105820099*G0_2_0 + 0.01058201058201*G0_2_1 - 0.00282186948853621*G0_2_2;
+ A[190] = 0.0902998236331579*G0_1_0 + 0.0902998236331579*G0_1_1 + 0.0310405643738982*G0_1_2 + 0.0310405643738982*G0_2_0 + 0.0310405643738983*G0_2_1 - 0.0112874779541447*G0_2_2;
+ A[191] = -0.0141093474426808*G0_1_0 - 0.0112874779541446*G0_1_1 - 0.0141093474426808*G0_1_2 - 0.0169312169312167*G0_2_0 - 0.0141093474426808*G0_2_1 - 0.0169312169312167*G0_2_2;
+ A[192] = 0.0105820105820107*G0_1_0 - 0.00282186948853596*G0_1_1 + 0.0105820105820108*G0_1_2 + 0.0211640211640208*G0_2_0 + 0.0105820105820105*G0_2_1 + 0.0211640211640209*G0_2_2;
+ A[193] = 0.0310405643738978*G0_1_0 - 0.0112874779541447*G0_1_1 + 0.0310405643738978*G0_1_2 + 0.0902998236331572*G0_2_0 + 0.031040564373898*G0_2_1 + 0.0902998236331572*G0_2_2;
+ A[194] = -0.00282186948853638*G0_1_1 - 0.00282186948853639*G0_1_2 - 0.00282186948853626*G0_2_1 - 0.00282186948853633*G0_2_2;
+ A[195] = -0.0091710758377425*G0_1_1 - 0.00917107583774252*G0_1_2 - 0.0091710758377422*G0_2_1 - 0.0091710758377423*G0_2_2;
+ A[196] = -0.00282186948853635*G0_1_1 - 0.00282186948853639*G0_1_2 - 0.00282186948853619*G0_2_1 - 0.00282186948853635*G0_2_2;
+ A[197] = -0.0846560846560849*G0_1_0 - 0.0169312169312174*G0_1_1 - 0.0197530864197535*G0_1_2 - 0.0846560846560847*G0_2_0 - 0.0197530864197534*G0_2_1 - 0.0169312169312173*G0_2_2;
+ A[198] = 0.0507936507936512*G0_1_0 + 0.118518518518519*G0_1_1 - 0.0423280423280423*G0_1_2 + 0.186243386243386*G0_2_0 + 0.0931216931216934*G0_2_1 - 0.0846560846560839*G0_2_2;
+ A[199] = 0.186243386243386*G0_1_0 - 0.0846560846560847*G0_1_1 + 0.0931216931216938*G0_1_2 + 0.0507936507936497*G0_2_0 - 0.0423280423280433*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[200] = 0.0846560846560846*G0_1_0 + 0.0677248677248674*G0_1_1 + 0.0649029982363311*G0_1_2 + 0.0846560846560842*G0_2_0 + 0.0649029982363313*G0_2_1 + 0.0677248677248669*G0_2_2;
+ A[201] = -0.0507936507936512*G0_1_0 + 0.0677248677248679*G0_1_1 - 0.093121693121694*G0_1_2 - 0.186243386243386*G0_2_0 - 0.0931216931216927*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[202] = -0.186243386243386*G0_1_0 - 0.270899470899471*G0_1_1 - 0.0931216931216919*G0_1_2 - 0.0507936507936497*G0_2_0 - 0.0931216931216925*G0_2_1 + 0.0677248677248691*G0_2_2;
+ A[203] = 0.016931216931217*G0_1_1 + 0.0197530864197535*G0_1_2 + 0.0197530864197529*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[204] = 0.0169312169312173*G0_1_1 + 0.0197530864197535*G0_1_2 + 0.0197530864197533*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[205] = 0.0846560846560847*G0_1_1 + 0.0423280423280421*G0_1_2 + 0.0423280423280432*G0_2_1 + 0.0225749559082896*G0_2_2;
+ A[206] = 0.0225749559082896*G0_1_1 + 0.0197530864197531*G0_1_2 + 0.0197530864197533*G0_2_1 + 0.0169312169312172*G0_2_2;
+ A[207] = 0.0225749559082894*G0_1_1 + 0.0197530864197533*G0_1_2 + 0.0197530864197527*G0_2_1 + 0.0169312169312171*G0_2_2;
+ A[208] = 0.0225749559082892*G0_1_1 + 0.0423280423280422*G0_1_2 + 0.042328042328042*G0_2_1 + 0.0846560846560839*G0_2_2;
+ A[209] = -0.135449735449736*G0_1_1 - 0.112874779541447*G0_1_2 - 0.112874779541446*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[210] = 0.00776014109347456*G0_1_0 + 0.00776014109347454*G0_1_1 + 0.00776014109347451*G0_1_2 + 0.00776014109347443*G0_2_0 + 0.00776014109347441*G0_2_1 + 0.00776014109347439*G0_2_2;
+ A[211] = -0.00776014109347457*G0_1_0 - 0.00776014109347444*G0_2_0;
+ A[212] = -0.00776014109347458*G0_1_1 + 0.0176366843033508*G0_2_1;
+ A[213] = 0.0458553791887128*G0_1_2 - 0.0246913580246914*G0_2_2;
+ A[214] = 0.0451499118165788*G0_1_1 + 0.0112874779541448*G0_1_2 - 0.0338624338624338*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[215] = -0.0902998236331578*G0_1_1 - 0.0310405643738982*G0_1_2 + 0.042328042328042*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[216] = 0.158024691358026*G0_1_1 + 0.0790123456790127*G0_1_2 + 0.0790123456790127*G0_2_1 + 0.203174603174603*G0_2_2;
+ A[217] = 0.045149911816579*G0_1_0 + 0.0112874779541447*G0_1_2 + 0.0338624338624341*G0_2_0 + 0.0112874779541448*G0_2_2;
+ A[218] = -0.0902998236331583*G0_1_0 - 0.0310405643738979*G0_1_2 - 0.0592592592592596*G0_2_0 - 0.0423280423280424*G0_2_2;
+ A[219] = 0.158024691358026*G0_1_0 + 0.0790123456790127*G0_1_2 + 0.0790123456790128*G0_2_0 + 0.101587301587302*G0_2_2;
+ A[220] = 0.0112874779541444*G0_1_0 + 0.0112874779541447*G0_1_1 + 0.0225749559082893*G0_2_0 + 0.0112874779541449*G0_2_1;
+ A[221] = 0.00282186948853622*G0_1_0 + 0.00282186948853617*G0_1_1 + 0.0169312169312166*G0_2_0 + 0.0141093474426806*G0_2_1;
+ A[222] = 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_1 + 0.0451499118165785*G0_2_0 + 0.0338624338624338*G0_2_1;
+ A[223] = -0.0451499118165791*G0_1_0 - 0.0451499118165789*G0_1_1 - 0.0338624338624343*G0_1_2 - 0.0338624338624342*G0_2_0 - 0.0338624338624341*G0_2_1 - 0.0225749559082893*G0_2_2;
+ A[224] = 0.0902998236331581*G0_1_0 + 0.0902998236331579*G0_1_1 + 0.0592592592592601*G0_1_2 + 0.0592592592592598*G0_2_0 + 0.0592592592592596*G0_2_1 + 0.0169312169312171*G0_2_2;
+ A[225] = -0.158024691358026*G0_1_0 - 0.158024691358026*G0_1_1 - 0.0790123456790133*G0_1_2 - 0.0790123456790129*G0_2_0 - 0.0790123456790128*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[226] = -0.0112874779541445*G0_1_0 - 0.0112874779541445*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0112874779541444*G0_2_1 - 0.0225749559082891*G0_2_2;
+ A[227] = -0.00282186948853616*G0_1_0 - 0.00282186948853618*G0_1_2 - 0.0169312169312168*G0_2_0 - 0.00282186948853624*G0_2_1 - 0.0169312169312169*G0_2_2;
+ A[228] = -0.0112874779541446*G0_1_0 - 0.0112874779541445*G0_1_2 - 0.0451499118165785*G0_2_0 - 0.0112874779541447*G0_2_1 - 0.0451499118165784*G0_2_2;
+ A[229] = -0.0112874779541445*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0112874779541446*G0_2_2;
+ A[230] = -0.00282186948853613*G0_1_1 - 0.00282186948853613*G0_1_2 - 0.00282186948853625*G0_2_1 - 0.00282186948853615*G0_2_2;
+ A[231] = -0.0112874779541447*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541449*G0_2_1 - 0.0112874779541448*G0_2_2;
+ A[232] = -0.0225749559082893*G0_1_0 - 0.0225749559082894*G0_1_1 + 0.0112874779541447*G0_1_2 - 0.0677248677248677*G0_2_0 - 0.0338624338624337*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[233] = -0.0225749559082894*G0_1_0 - 0.0225749559082893*G0_1_1 + 0.0112874779541447*G0_1_2 - 0.0677248677248682*G0_2_0 - 0.0338624338624344*G0_2_1 + 0.0677248677248671*G0_2_2;
+ A[234] = 0.112874779541446*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0112874779541441*G0_1_2 + 0.203174603174603*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248676*G0_2_2;
+ A[235] = 0.022574955908289*G0_1_0 + 0.0338624338624337*G0_1_2 + 0.0677248677248674*G0_2_0 + 0.0338624338624338*G0_2_1 + 0.0902998236331568*G0_2_2;
+ A[236] = 0.0225749559082894*G0_1_0 + 0.0338624338624342*G0_1_2 + 0.0677248677248682*G0_2_0 + 0.033862433862434*G0_2_1 + 0.135449735449736*G0_2_2;
+ A[237] = -0.112874779541446*G0_1_0 - 0.101587301587302*G0_1_2 - 0.203174603174603*G0_2_0 - 0.101587301587302*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[238] = 0.022574955908289*G0_1_1 + 0.0338624338624335*G0_1_2 + 0.0338624338624336*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[239] = 0.0225749559082894*G0_1_1 + 0.0338624338624341*G0_1_2 + 0.0338624338624337*G0_2_1 + 0.0451499118165787*G0_2_2;
+ A[240] = -0.112874779541446*G0_1_1 - 0.101587301587301*G0_1_2 - 0.101587301587302*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[241] = -0.0112874779541443*G0_1_2 - 0.0112874779541444*G0_2_1 - 0.0225749559082893*G0_2_2;
+ A[242] = -0.0112874779541446*G0_1_2 - 0.0112874779541442*G0_2_1 - 0.0225749559082894*G0_2_2;
+ A[243] = -0.0112874779541446*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.067724867724867*G0_2_2;
+ A[244] = 0.0902998236331568*G0_2_2;
+ A[245] = 0.00776014109347433*G0_0_0 + 0.00776014109347424*G0_0_1 + 0.00776014109347426*G0_0_2 + 0.00776014109347427*G0_2_0 + 0.0077601410934742*G0_2_1 + 0.00776014109347421*G0_2_2;
+ A[246] = -0.0246913580246916*G0_0_0 + 0.0458553791887125*G0_2_0;
+ A[247] = -0.00776014109347467*G0_0_1 - 0.0077601410934746*G0_2_1;
+ A[248] = 0.0176366843033511*G0_0_2 - 0.00776014109347446*G0_2_2;
+ A[249] = 0.0225749559082896*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_2_1 + 0.0112874779541444*G0_2_2;
+ A[250] = 0.0169312169312165*G0_0_1 + 0.0141093474426807*G0_0_2 + 0.00282186948853642*G0_2_1 + 0.0028218694885364*G0_2_2;
+ A[251] = 0.045149911816579*G0_0_1 + 0.0338624338624341*G0_0_2 + 0.0112874779541447*G0_2_1 + 0.0112874779541448*G0_2_2;
A[252] = 0.203174603174603*G0_0_0 + 0.0790123456790121*G0_0_2 + 0.0790123456790121*G0_2_0 + 0.158024691358025*G0_2_2;
- A[253] = -0.11851851851852*G0_0_0 + 0.042328042328042*G0_0_2 - 0.0310405643738981*G0_2_0 - 0.0902998236331575*G0_2_2;
- A[254] = 0.0451499118165795*G0_0_0 - 0.0338624338624336*G0_0_2 + 0.011287477954145*G0_2_0 + 0.0451499118165785*G0_2_2;
+ A[253] = -0.118518518518519*G0_0_0 + 0.042328042328042*G0_0_2 - 0.0310405643738981*G0_2_0 - 0.0902998236331575*G0_2_2;
+ A[254] = 0.0451499118165792*G0_0_0 - 0.0338624338624336*G0_0_2 + 0.0112874779541447*G0_2_0 + 0.0451499118165784*G0_2_2;
A[255] = 0.101587301587301*G0_0_0 + 0.0790123456790123*G0_0_1 + 0.0790123456790121*G0_2_0 + 0.158024691358025*G0_2_1;
- A[256] = -0.0423280423280423*G0_0_0 - 0.0592592592592591*G0_0_1 - 0.0310405643738978*G0_2_0 - 0.0902998236331574*G0_2_1;
- A[257] = 0.0112874779541448*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0112874779541446*G0_2_0 + 0.0451499118165785*G0_2_1;
- A[258] = -0.0225749559082894*G0_0_0 - 0.0225749559082894*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541446*G0_2_1;
- A[259] = -0.0169312169312163*G0_0_0 - 0.0169312169312163*G0_0_1 - 0.00282186948853594*G0_0_2 - 0.0028218694885358*G0_2_0 - 0.00282186948853579*G0_2_1;
- A[260] = -0.0451499118165794*G0_0_0 - 0.0451499118165794*G0_0_1 - 0.011287477954145*G0_0_2 - 0.0112874779541449*G0_2_0 - 0.011287477954145*G0_2_1;
- A[261] = -0.0112874779541447*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541445*G0_2_2;
- A[262] = -0.002821869488536*G0_0_0 - 0.00282186948853612*G0_0_2 - 0.00282186948853599*G0_2_0 - 0.00282186948853613*G0_2_2;
- A[263] = -0.0112874779541447*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0112874779541445*G0_2_2;
- A[264] = -0.0225749559082887*G0_0_0 - 0.0338624338624336*G0_0_1 - 0.0338624338624335*G0_0_2 - 0.0338624338624335*G0_2_0 - 0.0451499118165783*G0_2_1 - 0.0451499118165782*G0_2_2;
- A[265] = 0.016931216931216*G0_0_0 + 0.0592592592592586*G0_0_1 + 0.0592592592592585*G0_0_2 + 0.0592592592592585*G0_2_0 + 0.0902998236331566*G0_2_1 + 0.0902998236331566*G0_2_2;
- A[266] = 0.0225749559082899*G0_0_0 - 0.0790123456790123*G0_0_1 - 0.0790123456790123*G0_0_2 - 0.079012345679012*G0_2_0 - 0.158024691358025*G0_2_1 - 0.158024691358025*G0_2_2;
- A[267] = -0.0677248677248688*G0_0_0 + 0.203174603174602*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0112874779541435*G0_2_0 + 0.112874779541446*G0_2_1 + 0.112874779541446*G0_2_2;
- A[268] = 0.0225749559082898*G0_0_0 - 0.0677248677248676*G0_0_1 - 0.0338624338624335*G0_0_2 + 0.0112874779541449*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.0225749559082894*G0_2_2;
- A[269] = 0.0677248677248683*G0_0_0 - 0.0677248677248676*G0_0_1 - 0.033862433862434*G0_0_2 + 0.0112874779541452*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.022574955908289*G0_2_2;
- A[270] = -0.0225749559082888*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541444*G0_2_0;
- A[271] = -0.0225749559082899*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541449*G0_2_0;
- A[272] = -0.0677248677248682*G0_0_0 - 0.0112874779541453*G0_0_2 - 0.0112874779541452*G0_2_0;
- A[273] = 0.0902998236331562*G0_0_0 + 0.0677248677248672*G0_0_1 + 0.0338624338624333*G0_0_2 + 0.0338624338624334*G0_2_0 + 0.0225749559082889*G0_2_1;
+ A[256] = -0.0423280423280422*G0_0_0 - 0.0592592592592591*G0_0_1 - 0.0310405643738977*G0_2_0 - 0.0902998236331573*G0_2_1;
+ A[257] = 0.0112874779541445*G0_0_0 + 0.0338624338624338*G0_0_1 + 0.0112874779541444*G0_2_0 + 0.0451499118165784*G0_2_1;
+ A[258] = -0.0225749559082893*G0_0_0 - 0.0225749559082891*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541444*G0_2_1;
+ A[259] = -0.0169312169312168*G0_0_0 - 0.0169312169312169*G0_0_1 - 0.00282186948853598*G0_0_2 - 0.00282186948853625*G0_2_0 - 0.00282186948853627*G0_2_1;
+ A[260] = -0.0451499118165792*G0_0_0 - 0.0451499118165791*G0_0_1 - 0.011287477954145*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541447*G0_2_1;
+ A[261] = -0.0112874779541445*G0_0_0 - 0.0112874779541443*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541443*G0_2_2;
+ A[262] = -0.0028218694885362*G0_0_0 - 0.0028218694885363*G0_0_2 - 0.00282186948853608*G0_2_0 - 0.00282186948853624*G0_2_2;
+ A[263] = -0.0112874779541445*G0_0_0 - 0.0112874779541444*G0_0_2 - 0.0112874779541444*G0_2_0 - 0.0112874779541443*G0_2_2;
+ A[264] = -0.0225749559082886*G0_0_0 - 0.0338624338624334*G0_0_1 - 0.0338624338624334*G0_0_2 - 0.0338624338624333*G0_2_0 - 0.0451499118165781*G0_2_1 - 0.0451499118165781*G0_2_2;
+ A[265] = 0.016931216931216*G0_0_0 + 0.0592592592592587*G0_0_1 + 0.0592592592592586*G0_0_2 + 0.0592592592592583*G0_2_0 + 0.0902998236331564*G0_2_1 + 0.0902998236331563*G0_2_2;
+ A[266] = 0.0225749559082899*G0_0_0 - 0.0790123456790123*G0_0_1 - 0.0790123456790124*G0_0_2 - 0.0790123456790119*G0_2_0 - 0.158024691358025*G0_2_1 - 0.158024691358025*G0_2_2;
+ A[267] = -0.0677248677248685*G0_0_0 + 0.203174603174602*G0_0_1 + 0.101587301587302*G0_0_2 + 0.0112874779541434*G0_2_0 + 0.112874779541445*G0_2_1 + 0.112874779541446*G0_2_2;
+ A[268] = 0.0225749559082895*G0_0_0 - 0.0677248677248678*G0_0_1 - 0.0338624338624338*G0_0_2 + 0.0112874779541449*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.0225749559082894*G0_2_2;
+ A[269] = 0.0677248677248679*G0_0_0 - 0.0677248677248674*G0_0_1 - 0.0338624338624339*G0_0_2 + 0.011287477954145*G0_2_0 - 0.0225749559082894*G0_2_1 - 0.0225749559082892*G0_2_2;
+ A[270] = -0.0225749559082893*G0_0_0 - 0.0112874779541452*G0_0_2 - 0.0112874779541443*G0_2_0;
+ A[271] = -0.0225749559082893*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541449*G0_2_0;
+ A[272] = -0.0677248677248681*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.011287477954145*G0_2_0;
+ A[273] = 0.0902998236331563*G0_0_0 + 0.0677248677248671*G0_0_1 + 0.0338624338624328*G0_0_2 + 0.0338624338624334*G0_2_0 + 0.0225749559082889*G0_2_1;
A[274] = -0.27089947089947*G0_0_0 - 0.203174603174602*G0_0_1 - 0.1015873015873*G0_0_2 - 0.101587301587301*G0_2_0 - 0.112874779541445*G0_2_1;
- A[275] = 0.135449735449736*G0_0_0 + 0.0677248677248678*G0_0_1 + 0.0338624338624334*G0_0_2 + 0.033862433862434*G0_2_0 + 0.0225749559082894*G0_2_1;
- A[276] = 0.0451499118165783*G0_0_0 + 0.0338624338624341*G0_0_2 + 0.0338624338624336*G0_2_0 + 0.0225749559082893*G0_2_2;
- A[277] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_2 - 0.101587301587301*G0_2_0 - 0.112874779541446*G0_2_2;
- A[278] = 0.0451499118165783*G0_0_0 + 0.0338624338624333*G0_0_2 + 0.0338624338624338*G0_2_0 + 0.0225749559082892*G0_2_2;
- A[279] = 0.0902998236331574*G0_0_0;
- A[280] = 0.00511463844797153*G0_0_0 + 0.00511463844797159*G0_0_1 + 0.00511463844797164*G0_0_2 + 0.00511463844797153*G0_2_0 + 0.00511463844797155*G0_2_1 + 0.0051146384479716*G0_2_2;
- A[281] = 0.0202821869488538*G0_0_0 - 0.0326278659611994*G0_2_0;
- A[282] = -0.00511463844797162*G0_0_1 - 0.00511463844797172*G0_2_1;
- A[283] = -0.0326278659611999*G0_0_2 + 0.0202821869488534*G0_2_2;
- A[284] = 0.0169312169312162*G0_0_1 + 0.00282186948853584*G0_0_2 + 0.0141093474426809*G0_2_1 + 0.00282186948853616*G0_2_2;
- A[285] = -0.0211640211640202*G0_0_1 - 0.0105820105820104*G0_0_2 - 0.0105820105820106*G0_2_1 - 0.0134038800705467*G0_2_2;
- A[286] = -0.090299823633159*G0_0_1 - 0.0592592592592601*G0_0_2 - 0.0310405643738983*G0_2_1 - 0.0423280423280427*G0_2_2;
- A[287] = -0.11851851851852*G0_0_0 - 0.0310405643738981*G0_0_2 + 0.042328042328042*G0_2_0 - 0.0902998236331575*G0_2_2;
- A[288] = 0.249735449735452*G0_0_0 + 0.0825396825396833*G0_0_2 + 0.0825396825396833*G0_2_0 + 0.24973544973545*G0_2_2;
- A[289] = -0.0902998236331592*G0_0_0 + 0.0423280423280416*G0_0_2 - 0.0310405643738983*G0_2_0 - 0.118518518518519*G0_2_2;
- A[290] = -0.0423280423280426*G0_0_0 - 0.0310405643738982*G0_0_1 - 0.0592592592592591*G0_2_0 - 0.0902998236331576*G0_2_1;
- A[291] = -0.0134038800705469*G0_0_0 - 0.0105820105820105*G0_0_1 - 0.0105820105820108*G0_2_0 - 0.0211640211640207*G0_2_1;
- A[292] = 0.00282186948853608*G0_0_0 + 0.0141093474426806*G0_0_1 + 0.00282186948853642*G0_2_0 + 0.016931216931217*G0_2_1;
- A[293] = -0.0169312169312159*G0_0_0 - 0.0169312169312161*G0_0_1 - 0.0141093474426803*G0_0_2 - 0.0141093474426803*G0_2_0 - 0.0141093474426804*G0_2_1 - 0.0112874779541442*G0_2_2;
- A[294] = 0.0211640211640197*G0_0_0 + 0.0211640211640198*G0_0_1 + 0.0105820105820099*G0_0_2 + 0.01058201058201*G0_2_0 + 0.01058201058201*G0_2_1 - 0.00282186948853672*G0_2_2;
- A[295] = 0.0902998236331592*G0_0_0 + 0.0902998236331591*G0_0_1 + 0.0310405643738989*G0_0_2 + 0.0310405643738983*G0_2_0 + 0.0310405643738983*G0_2_1 - 0.0112874779541438*G0_2_2;
- A[296] = -0.0028218694885362*G0_0_0 - 0.0028218694885362*G0_0_2 - 0.00282186948853651*G0_2_0 - 0.00282186948853652*G0_2_2;
- A[297] = -0.00917107583774239*G0_0_0 - 0.00917107583774242*G0_0_2 - 0.00917107583774232*G0_2_0 - 0.00917107583774234*G0_2_2;
- A[298] = -0.00282186948853613*G0_0_0 - 0.00282186948853611*G0_0_2 - 0.00282186948853645*G0_2_0 - 0.00282186948853646*G0_2_2;
- A[299] = -0.0112874779541444*G0_0_0 - 0.0141093474426806*G0_0_1 - 0.0141093474426806*G0_0_2 - 0.0141093474426804*G0_2_0 - 0.0169312169312169*G0_2_1 - 0.0169312169312169*G0_2_2;
- A[300] = -0.00282186948853619*G0_0_0 + 0.0105820105820107*G0_0_1 + 0.0105820105820107*G0_0_2 + 0.0105820105820103*G0_2_0 + 0.0211640211640209*G0_2_1 + 0.0211640211640209*G0_2_2;
- A[301] = -0.0112874779541448*G0_0_0 + 0.031040564373898*G0_0_1 + 0.0310405643738979*G0_0_2 + 0.031040564373898*G0_2_0 + 0.0902998236331574*G0_2_1 + 0.0902998236331574*G0_2_2;
- A[302] = 0.11851851851852*G0_0_0 + 0.0507936507936516*G0_0_1 - 0.0423280423280421*G0_0_2 + 0.0931216931216945*G0_2_0 + 0.186243386243387*G0_2_1 - 0.0846560846560839*G0_2_2;
- A[303] = -0.0169312169312176*G0_0_0 - 0.0846560846560851*G0_0_1 - 0.0197530864197535*G0_0_2 - 0.0197530864197533*G0_2_0 - 0.0846560846560849*G0_2_1 - 0.0169312169312168*G0_2_2;
- A[304] = -0.0846560846560854*G0_0_0 + 0.186243386243386*G0_0_1 + 0.0931216931216934*G0_0_2 - 0.0423280423280427*G0_2_0 + 0.0507936507936513*G0_2_1 + 0.118518518518519*G0_2_2;
- A[305] = 0.0169312169312166*G0_0_0 + 0.0197530864197529*G0_0_2 + 0.0197530864197527*G0_2_0 + 0.0225749559082894*G0_2_2;
- A[306] = 0.0169312169312176*G0_0_0 + 0.0197530864197531*G0_0_2 + 0.0197530864197533*G0_2_0 + 0.0225749559082894*G0_2_2;
- A[307] = 0.0846560846560854*G0_0_0 + 0.0423280423280432*G0_0_2 + 0.0423280423280427*G0_2_0 + 0.0225749559082895*G0_2_2;
- A[308] = 0.0677248677248668*G0_0_0 + 0.0846560846560838*G0_0_1 + 0.0649029982363305*G0_0_2 + 0.0649029982363304*G0_2_0 + 0.0846560846560834*G0_2_1 + 0.067724867724867*G0_2_2;
- A[309] = 0.0677248677248687*G0_0_0 - 0.0507936507936513*G0_0_1 - 0.0931216931216937*G0_0_2 - 0.093121693121692*G0_2_0 - 0.186243386243387*G0_2_1 - 0.270899470899471*G0_2_2;
- A[310] = -0.270899470899472*G0_0_0 - 0.186243386243386*G0_0_1 - 0.093121693121692*G0_0_2 - 0.0931216931216933*G0_2_0 - 0.0507936507936513*G0_2_1 + 0.0677248677248681*G0_2_2;
- A[311] = 0.0225749559082895*G0_0_0 + 0.0197530864197531*G0_0_2 + 0.0197530864197535*G0_2_0 + 0.0169312169312167*G0_2_2;
- A[312] = 0.0225749559082894*G0_0_0 + 0.0423280423280423*G0_0_2 + 0.0423280423280421*G0_2_0 + 0.084656084656084*G0_2_2;
- A[313] = 0.0225749559082893*G0_0_0 + 0.0197530864197538*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.016931216931217*G0_2_2;
- A[314] = -0.135449735449736*G0_0_0 - 0.112874779541447*G0_0_2 - 0.112874779541447*G0_2_0 - 0.135449735449736*G0_2_2;
- A[315] = 0.00776014109347449*G0_0_0 + 0.00776014109347447*G0_0_1 + 0.00776014109347445*G0_0_2 + 0.00776014109347443*G0_2_0 + 0.00776014109347445*G0_2_1 + 0.00776014109347443*G0_2_2;
- A[316] = -0.00776014109347458*G0_0_0 + 0.017636684303351*G0_2_0;
- A[317] = -0.00776014109347464*G0_0_1 - 0.00776014109347453*G0_2_1;
- A[318] = 0.0458553791887131*G0_0_2 - 0.0246913580246912*G0_2_2;
- A[319] = 0.0451499118165792*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.0338624338624338*G0_2_1 + 0.0112874779541445*G0_2_2;
- A[320] = -0.0902998236331584*G0_0_1 - 0.0310405643738983*G0_0_2 - 0.0592592592592597*G0_2_1 - 0.0423280423280427*G0_2_2;
- A[321] = 0.158024691358027*G0_0_1 + 0.0790123456790133*G0_0_2 + 0.0790123456790131*G0_2_1 + 0.101587301587302*G0_2_2;
- A[322] = 0.0451499118165795*G0_0_0 + 0.011287477954145*G0_0_2 - 0.0338624338624336*G0_2_0 + 0.0451499118165785*G0_2_2;
- A[323] = -0.0902998236331592*G0_0_0 - 0.0310405643738983*G0_0_2 + 0.0423280423280416*G0_2_0 - 0.118518518518519*G0_2_2;
- A[324] = 0.158024691358027*G0_0_0 + 0.0790123456790133*G0_0_2 + 0.0790123456790133*G0_2_0 + 0.203174603174603*G0_2_2;
- A[325] = 0.0112874779541446*G0_0_0 + 0.0112874779541449*G0_0_1 + 0.0338624338624335*G0_2_0 + 0.0451499118165785*G0_2_1;
- A[326] = 0.00282186948853621*G0_0_0 + 0.00282186948853609*G0_0_1 + 0.0141093474426809*G0_2_0 + 0.0169312169312168*G0_2_1;
- A[327] = 0.0112874779541446*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.0112874779541444*G0_2_0 + 0.0225749559082891*G0_2_1;
- A[328] = -0.0451499118165793*G0_0_0 - 0.0451499118165791*G0_0_1 - 0.0338624338624342*G0_0_2 - 0.033862433862434*G0_2_0 - 0.0338624338624339*G0_2_1 - 0.0225749559082894*G0_2_2;
- A[329] = 0.090299823633159*G0_0_0 + 0.0902998236331587*G0_0_1 + 0.0592592592592602*G0_0_2 + 0.0592592592592601*G0_2_0 + 0.05925925925926*G0_2_1 + 0.0169312169312175*G0_2_2;
- A[330] = -0.158024691358027*G0_0_0 - 0.158024691358027*G0_0_1 - 0.0790123456790137*G0_0_2 - 0.0790123456790132*G0_2_0 - 0.0790123456790132*G0_2_1 + 0.0225749559082885*G0_2_2;
- A[331] = -0.0112874779541446*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0112874779541442*G0_2_0 - 0.0112874779541441*G0_2_2;
- A[332] = -0.00282186948853625*G0_0_0 - 0.00282186948853626*G0_0_2 - 0.00282186948853638*G0_2_0 - 0.00282186948853636*G0_2_2;
- A[333] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541444*G0_2_0 - 0.0112874779541443*G0_2_2;
- A[334] = -0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_0_2 - 0.0112874779541444*G0_2_0 - 0.0225749559082889*G0_2_1 - 0.0225749559082889*G0_2_2;
- A[335] = -0.00282186948853626*G0_0_1 - 0.00282186948853626*G0_0_2 - 0.00282186948853622*G0_2_0 - 0.0169312169312169*G0_2_1 - 0.0169312169312169*G0_2_2;
- A[336] = -0.0112874779541449*G0_0_1 - 0.0112874779541449*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0451499118165786*G0_2_1 - 0.0451499118165786*G0_2_2;
- A[337] = -0.0225749559082894*G0_0_0 - 0.0225749559082893*G0_0_1 + 0.011287477954145*G0_0_2 - 0.0338624338624342*G0_2_0 - 0.067724867724868*G0_2_1 + 0.0677248677248675*G0_2_2;
- A[338] = -0.0225749559082893*G0_0_0 - 0.0225749559082892*G0_0_1 + 0.0112874779541447*G0_0_2 - 0.0338624338624342*G0_2_0 - 0.0677248677248679*G0_2_1 + 0.0225749559082891*G0_2_2;
- A[339] = 0.112874779541447*G0_0_0 + 0.112874779541447*G0_0_1 + 0.0112874779541443*G0_0_2 + 0.101587301587302*G0_2_0 + 0.203174603174604*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[340] = 0.0225749559082893*G0_0_0 + 0.0338624338624341*G0_0_2 + 0.0338624338624339*G0_2_0 + 0.0451499118165781*G0_2_2;
- A[341] = 0.0225749559082893*G0_0_0 + 0.0338624338624341*G0_0_2 + 0.0338624338624341*G0_2_0 + 0.0451499118165787*G0_2_2;
- A[342] = -0.112874779541447*G0_0_0 - 0.101587301587303*G0_0_2 - 0.101587301587302*G0_2_0 - 0.135449735449736*G0_2_2;
- A[343] = 0.0225749559082893*G0_0_1 + 0.033862433862434*G0_0_2 + 0.0338624338624336*G0_2_0 + 0.067724867724868*G0_2_1 + 0.0902998236331565*G0_2_2;
- A[344] = 0.0225749559082892*G0_0_1 + 0.0338624338624345*G0_0_2 + 0.033862433862434*G0_2_0 + 0.067724867724868*G0_2_1 + 0.135449735449736*G0_2_2;
- A[345] = -0.112874779541446*G0_0_1 - 0.101587301587302*G0_0_2 - 0.101587301587302*G0_2_0 - 0.203174603174603*G0_2_1 - 0.270899470899471*G0_2_2;
- A[346] = -0.0112874779541446*G0_0_2 - 0.0112874779541448*G0_2_0 - 0.0225749559082889*G0_2_2;
- A[347] = -0.011287477954145*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0677248677248674*G0_2_2;
- A[348] = -0.0112874779541446*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.022574955908289*G0_2_2;
- A[349] = 0.0902998236331564*G0_2_2;
- A[350] = 0.00776014109347435*G0_0_0 + 0.00776014109347427*G0_0_1 + 0.00776014109347429*G0_0_2 + 0.00776014109347438*G0_1_0 + 0.0077601410934743*G0_1_1 + 0.00776014109347432*G0_1_2;
- A[351] = -0.0246913580246915*G0_0_0 + 0.0458553791887126*G0_1_0;
- A[352] = 0.0176366843033511*G0_0_1 - 0.00776014109347448*G0_1_1;
- A[353] = -0.00776014109347445*G0_0_2 - 0.00776014109347444*G0_1_2;
- A[354] = 0.033862433862434*G0_0_1 + 0.0451499118165789*G0_0_2 + 0.0112874779541449*G0_1_1 + 0.011287477954145*G0_1_2;
- A[355] = 0.0141093474426808*G0_0_1 + 0.0169312169312167*G0_0_2 + 0.00282186948853619*G0_1_1 + 0.00282186948853605*G0_1_2;
- A[356] = 0.0112874779541446*G0_0_1 + 0.0225749559082894*G0_0_2 + 0.0112874779541449*G0_1_1 + 0.011287477954145*G0_1_2;
+ A[275] = 0.135449735449736*G0_0_0 + 0.0677248677248675*G0_0_1 + 0.0338624338624337*G0_0_2 + 0.0338624338624344*G0_2_0 + 0.0225749559082895*G0_2_1;
+ A[276] = 0.0451499118165784*G0_0_0 + 0.0338624338624342*G0_0_2 + 0.0338624338624336*G0_2_0 + 0.0225749559082894*G0_2_2;
+ A[277] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_2 - 0.101587301587301*G0_2_0 - 0.112874779541445*G0_2_2;
+ A[278] = 0.0451499118165784*G0_0_0 + 0.0338624338624337*G0_0_2 + 0.0338624338624337*G0_2_0 + 0.0225749559082893*G0_2_2;
+ A[279] = 0.0902998236331578*G0_0_0;
+ A[280] = 0.0051146384479716*G0_0_0 + 0.00511463844797166*G0_0_1 + 0.0051146384479717*G0_0_2 + 0.00511463844797174*G0_2_0 + 0.00511463844797177*G0_2_1 + 0.00511463844797181*G0_2_2;
+ A[281] = 0.0202821869488537*G0_0_0 - 0.0326278659611994*G0_2_0;
+ A[282] = -0.00511463844797158*G0_0_1 - 0.00511463844797164*G0_2_1;
+ A[283] = -0.0326278659611997*G0_0_2 + 0.0202821869488536*G0_2_2;
+ A[284] = 0.0169312169312166*G0_0_1 + 0.00282186948853624*G0_0_2 + 0.0141093474426811*G0_2_1 + 0.00282186948853651*G0_2_2;
+ A[285] = -0.0211640211640203*G0_0_1 - 0.0105820105820104*G0_0_2 - 0.0105820105820109*G0_2_1 - 0.0134038800705469*G0_2_2;
+ A[286] = -0.0902998236331583*G0_0_1 - 0.0592592592592596*G0_0_2 - 0.0310405643738979*G0_2_1 - 0.0423280423280424*G0_2_2;
+ A[287] = -0.118518518518519*G0_0_0 - 0.0310405643738981*G0_0_2 + 0.042328042328042*G0_2_0 - 0.0902998236331575*G0_2_2;
+ A[288] = 0.249735449735451*G0_0_0 + 0.0825396825396832*G0_0_2 + 0.0825396825396832*G0_2_0 + 0.249735449735451*G0_2_2;
+ A[289] = -0.0902998236331585*G0_0_0 + 0.0423280423280417*G0_0_2 - 0.0310405643738979*G0_2_0 - 0.118518518518519*G0_2_2;
+ A[290] = -0.0423280423280424*G0_0_0 - 0.0310405643738981*G0_0_1 - 0.0592592592592591*G0_2_0 - 0.0902998236331575*G0_2_1;
+ A[291] = -0.0134038800705469*G0_0_0 - 0.0105820105820105*G0_0_1 - 0.0105820105820108*G0_2_0 - 0.0211640211640208*G0_2_1;
+ A[292] = 0.00282186948853643*G0_0_0 + 0.0141093474426809*G0_0_1 + 0.00282186948853665*G0_2_0 + 0.0169312169312172*G0_2_1;
+ A[293] = -0.0169312169312163*G0_0_0 - 0.0169312169312165*G0_0_1 - 0.0141093474426805*G0_0_2 - 0.0141093474426806*G0_2_0 - 0.0141093474426808*G0_2_1 - 0.0112874779541447*G0_2_2;
+ A[294] = 0.0211640211640201*G0_0_0 + 0.0211640211640203*G0_0_1 + 0.01058201058201*G0_0_2 + 0.0105820105820104*G0_2_0 + 0.0105820105820104*G0_2_1 - 0.00282186948853607*G0_2_2;
+ A[295] = 0.0902998236331585*G0_0_0 + 0.0902998236331583*G0_0_1 + 0.0310405643738987*G0_0_2 + 0.0310405643738979*G0_2_0 + 0.0310405643738979*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[296] = -0.00282186948853637*G0_0_0 - 0.00282186948853642*G0_0_2 - 0.00282186948853656*G0_2_0 - 0.00282186948853667*G0_2_2;
+ A[297] = -0.00917107583774231*G0_0_0 - 0.00917107583774232*G0_0_2 - 0.00917107583774229*G0_2_0 - 0.00917107583774229*G0_2_2;
+ A[298] = -0.00282186948853643*G0_0_0 - 0.00282186948853643*G0_0_2 - 0.00282186948853666*G0_2_0 - 0.00282186948853668*G0_2_2;
+ A[299] = -0.0112874779541445*G0_0_0 - 0.0141093474426807*G0_0_1 - 0.0141093474426807*G0_0_2 - 0.0141093474426807*G0_2_0 - 0.0169312169312169*G0_2_1 - 0.0169312169312169*G0_2_2;
+ A[300] = -0.00282186948853618*G0_0_0 + 0.0105820105820105*G0_0_1 + 0.0105820105820105*G0_0_2 + 0.0105820105820105*G0_2_0 + 0.021164021164021*G0_2_1 + 0.0211640211640209*G0_2_2;
+ A[301] = -0.0112874779541446*G0_0_0 + 0.031040564373898*G0_0_1 + 0.0310405643738979*G0_0_2 + 0.0310405643738978*G0_2_0 + 0.0902998236331573*G0_2_1 + 0.0902998236331572*G0_2_2;
+ A[302] = 0.118518518518519*G0_0_0 + 0.0507936507936516*G0_0_1 - 0.042328042328042*G0_0_2 + 0.0931216931216945*G0_2_0 + 0.186243386243387*G0_2_1 - 0.0846560846560837*G0_2_2;
+ A[303] = -0.0169312169312169*G0_0_0 - 0.0846560846560846*G0_0_1 - 0.0197530864197528*G0_0_2 - 0.0197530864197531*G0_2_0 - 0.0846560846560848*G0_2_1 - 0.0169312169312165*G0_2_2;
+ A[304] = -0.0846560846560851*G0_0_0 + 0.186243386243386*G0_0_1 + 0.0931216931216927*G0_0_2 - 0.0423280423280427*G0_2_0 + 0.0507936507936513*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[305] = 0.0169312169312172*G0_0_0 + 0.0197530864197535*G0_0_2 + 0.0197530864197527*G0_2_0 + 0.0225749559082896*G0_2_2;
+ A[306] = 0.0169312169312168*G0_0_0 + 0.0197530864197531*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.0225749559082895*G0_2_2;
+ A[307] = 0.0846560846560853*G0_0_0 + 0.0423280423280423*G0_0_2 + 0.0423280423280427*G0_2_0 + 0.0225749559082891*G0_2_2;
+ A[308] = 0.067724867724867*G0_0_0 + 0.0846560846560842*G0_0_1 + 0.064902998236331*G0_0_2 + 0.0649029982363306*G0_2_0 + 0.0846560846560836*G0_2_1 + 0.067724867724867*G0_2_2;
+ A[309] = 0.0677248677248684*G0_0_0 - 0.0507936507936512*G0_0_1 - 0.0931216931216932*G0_0_2 - 0.093121693121692*G0_2_0 - 0.186243386243387*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[310] = -0.270899470899471*G0_0_0 - 0.186243386243386*G0_0_1 - 0.0931216931216925*G0_0_2 - 0.0931216931216935*G0_2_0 - 0.0507936507936513*G0_2_1 + 0.067724867724868*G0_2_2;
+ A[311] = 0.0225749559082892*G0_0_0 + 0.019753086419753*G0_0_2 + 0.0197530864197534*G0_2_0 + 0.0169312169312165*G0_2_2;
+ A[312] = 0.0225749559082895*G0_0_0 + 0.0423280423280421*G0_0_2 + 0.0423280423280423*G0_2_0 + 0.0846560846560837*G0_2_2;
+ A[313] = 0.0225749559082893*G0_0_0 + 0.0197530864197529*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.0169312169312165*G0_2_2;
+ A[314] = -0.135449735449737*G0_0_0 - 0.112874779541446*G0_0_2 - 0.112874779541447*G0_2_0 - 0.135449735449735*G0_2_2;
+ A[315] = 0.00776014109347458*G0_0_0 + 0.00776014109347456*G0_0_1 + 0.00776014109347453*G0_0_2 + 0.00776014109347445*G0_2_0 + 0.00776014109347446*G0_2_1 + 0.00776014109347443*G0_2_2;
+ A[316] = -0.0077601410934746*G0_0_0 + 0.0176366843033509*G0_2_0;
+ A[317] = -0.00776014109347461*G0_0_1 - 0.00776014109347455*G0_2_1;
+ A[318] = 0.0458553791887129*G0_0_2 - 0.0246913580246914*G0_2_2;
+ A[319] = 0.0451499118165789*G0_0_1 + 0.0112874779541448*G0_0_2 + 0.0338624338624339*G0_2_1 + 0.0112874779541446*G0_2_2;
+ A[320] = -0.090299823633158*G0_0_1 - 0.0310405643738983*G0_0_2 - 0.0592592592592594*G0_2_1 - 0.0423280423280427*G0_2_2;
+ A[321] = 0.158024691358026*G0_0_1 + 0.0790123456790128*G0_0_2 + 0.0790123456790127*G0_2_1 + 0.101587301587302*G0_2_2;
+ A[322] = 0.0451499118165792*G0_0_0 + 0.0112874779541447*G0_0_2 - 0.0338624338624336*G0_2_0 + 0.0451499118165784*G0_2_2;
+ A[323] = -0.0902998236331585*G0_0_0 - 0.0310405643738979*G0_0_2 + 0.0423280423280417*G0_2_0 - 0.118518518518519*G0_2_2;
+ A[324] = 0.158024691358026*G0_0_0 + 0.0790123456790128*G0_0_2 + 0.0790123456790128*G0_2_0 + 0.203174603174603*G0_2_2;
+ A[325] = 0.0112874779541445*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.0338624338624336*G0_2_0 + 0.0451499118165785*G0_2_1;
+ A[326] = 0.00282186948853618*G0_0_0 + 0.00282186948853614*G0_0_1 + 0.0141093474426809*G0_2_0 + 0.0169312169312169*G0_2_1;
+ A[327] = 0.0112874779541446*G0_0_0 + 0.0112874779541446*G0_0_1 + 0.0112874779541445*G0_2_0 + 0.0225749559082893*G0_2_1;
+ A[328] = -0.0451499118165792*G0_0_0 - 0.045149911816579*G0_0_1 - 0.0338624338624344*G0_0_2 - 0.033862433862434*G0_2_0 - 0.0338624338624339*G0_2_1 - 0.0225749559082895*G0_2_2;
+ A[329] = 0.0902998236331583*G0_0_0 + 0.090299823633158*G0_0_1 + 0.0592592592592603*G0_0_2 + 0.0592592592592595*G0_2_0 + 0.0592592592592594*G0_2_1 + 0.0169312169312173*G0_2_2;
+ A[330] = -0.158024691358026*G0_0_0 - 0.158024691358026*G0_0_1 - 0.0790123456790135*G0_0_2 - 0.0790123456790128*G0_2_0 - 0.0790123456790128*G0_2_1 + 0.0225749559082888*G0_2_2;
+ A[331] = -0.0112874779541445*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0112874779541442*G0_2_0 - 0.0112874779541441*G0_2_2;
+ A[332] = -0.00282186948853619*G0_0_0 - 0.00282186948853621*G0_0_2 - 0.00282186948853641*G0_2_0 - 0.00282186948853639*G0_2_2;
+ A[333] = -0.0112874779541446*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541444*G0_2_2;
+ A[334] = -0.0112874779541445*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0225749559082889*G0_2_1 - 0.022574955908289*G0_2_2;
+ A[335] = -0.0028218694885361*G0_0_1 - 0.00282186948853609*G0_0_2 - 0.00282186948853618*G0_2_0 - 0.0169312169312169*G0_2_1 - 0.0169312169312168*G0_2_2;
+ A[336] = -0.0112874779541447*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0451499118165785*G0_2_1 - 0.0451499118165785*G0_2_2;
+ A[337] = -0.0225749559082893*G0_0_0 - 0.0225749559082894*G0_0_1 + 0.0112874779541447*G0_0_2 - 0.0338624338624345*G0_2_0 - 0.0677248677248682*G0_2_1 + 0.0677248677248674*G0_2_2;
+ A[338] = -0.0225749559082894*G0_0_0 - 0.0225749559082894*G0_0_1 + 0.0112874779541446*G0_0_2 - 0.033862433862434*G0_2_0 - 0.0677248677248679*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[339] = 0.112874779541446*G0_0_0 + 0.112874779541446*G0_0_1 + 0.0112874779541443*G0_0_2 + 0.101587301587301*G0_2_0 + 0.203174603174603*G0_2_1 - 0.0677248677248683*G0_2_2;
+ A[340] = 0.0225749559082889*G0_0_0 + 0.0338624338624336*G0_0_2 + 0.0338624338624338*G0_2_0 + 0.0451499118165779*G0_2_2;
+ A[341] = 0.0225749559082895*G0_0_0 + 0.0338624338624343*G0_0_2 + 0.033862433862434*G0_2_0 + 0.045149911816579*G0_2_2;
+ A[342] = -0.112874779541446*G0_0_0 - 0.101587301587302*G0_0_2 - 0.101587301587302*G0_2_0 - 0.135449735449736*G0_2_2;
+ A[343] = 0.022574955908289*G0_0_1 + 0.0338624338624335*G0_0_2 + 0.0338624338624339*G0_2_0 + 0.0677248677248679*G0_2_1 + 0.0902998236331564*G0_2_2;
+ A[344] = 0.0225749559082893*G0_0_1 + 0.033862433862434*G0_0_2 + 0.0338624338624337*G0_2_0 + 0.0677248677248682*G0_2_1 + 0.135449735449736*G0_2_2;
+ A[345] = -0.112874779541446*G0_0_1 - 0.101587301587301*G0_0_2 - 0.101587301587301*G0_2_0 - 0.203174603174603*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[346] = -0.0112874779541442*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0225749559082887*G0_2_2;
+ A[347] = -0.0112874779541446*G0_0_2 - 0.0112874779541447*G0_2_0 - 0.0677248677248672*G0_2_2;
+ A[348] = -0.0112874779541445*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0225749559082893*G0_2_2;
+ A[349] = 0.0902998236331566*G0_2_2;
+ A[350] = 0.00776014109347432*G0_0_0 + 0.00776014109347423*G0_0_1 + 0.00776014109347426*G0_0_2 + 0.00776014109347427*G0_1_0 + 0.0077601410934742*G0_1_1 + 0.00776014109347422*G0_1_2;
+ A[351] = -0.0246913580246915*G0_0_0 + 0.0458553791887125*G0_1_0;
+ A[352] = 0.0176366843033509*G0_0_1 - 0.00776014109347452*G0_1_1;
+ A[353] = -0.00776014109347458*G0_0_2 - 0.00776014109347454*G0_1_2;
+ A[354] = 0.033862433862434*G0_0_1 + 0.0451499118165787*G0_0_2 + 0.0112874779541448*G0_1_1 + 0.0112874779541448*G0_1_2;
+ A[355] = 0.0141093474426808*G0_0_1 + 0.0169312169312167*G0_0_2 + 0.0028218694885363*G0_1_1 + 0.00282186948853612*G0_1_2;
+ A[356] = 0.0112874779541444*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.0112874779541447*G0_1_1 + 0.0112874779541449*G0_1_2;
A[357] = 0.101587301587301*G0_0_0 + 0.0790123456790121*G0_0_2 + 0.0790123456790123*G0_1_0 + 0.158024691358025*G0_1_2;
- A[358] = -0.0423280423280426*G0_0_0 - 0.0592592592592591*G0_0_2 - 0.0310405643738982*G0_1_0 - 0.0902998236331576*G0_1_2;
- A[359] = 0.0112874779541446*G0_0_0 + 0.0338624338624335*G0_0_2 + 0.0112874779541449*G0_1_0 + 0.0451499118165785*G0_1_2;
- A[360] = 0.203174603174603*G0_0_0 + 0.0790123456790122*G0_0_1 + 0.0790123456790122*G0_1_0 + 0.158024691358025*G0_1_1;
- A[361] = -0.118518518518518*G0_0_0 + 0.0423280423280424*G0_0_1 - 0.0310405643738976*G0_1_0 - 0.0902998236331574*G0_1_1;
- A[362] = 0.0451499118165791*G0_0_0 - 0.0338624338624336*G0_0_1 + 0.011287477954145*G0_1_0 + 0.045149911816579*G0_1_1;
- A[363] = -0.0112874779541447*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541449*G0_1_0 - 0.0112874779541448*G0_1_1;
- A[364] = -0.00282186948853621*G0_0_0 - 0.00282186948853614*G0_0_1 - 0.00282186948853605*G0_1_0 - 0.00282186948853604*G0_1_1;
- A[365] = -0.0112874779541446*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0112874779541449*G0_1_1;
- A[366] = -0.0225749559082896*G0_0_0 - 0.0112874779541443*G0_0_1 - 0.0225749559082894*G0_0_2 - 0.011287477954145*G0_1_0 - 0.0112874779541449*G0_1_2;
- A[367] = -0.016931216931216*G0_0_0 - 0.00282186948853631*G0_0_1 - 0.0169312169312163*G0_0_2 - 0.00282186948853559*G0_1_0 - 0.00282186948853573*G0_1_2;
- A[368] = -0.045149911816579*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0451499118165789*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541448*G0_1_2;
- A[369] = -0.0225749559082887*G0_0_0 - 0.0338624338624337*G0_0_1 - 0.0338624338624336*G0_0_2 - 0.0338624338624335*G0_1_0 - 0.0451499118165786*G0_1_1 - 0.0451499118165785*G0_1_2;
- A[370] = 0.016931216931216*G0_0_0 + 0.0592592592592586*G0_0_1 + 0.0592592592592586*G0_0_2 + 0.0592592592592586*G0_1_0 + 0.0902998236331569*G0_1_1 + 0.0902998236331569*G0_1_2;
- A[371] = 0.0225749559082899*G0_0_0 - 0.0790123456790124*G0_0_1 - 0.0790123456790123*G0_0_2 - 0.0790123456790121*G0_1_0 - 0.158024691358025*G0_1_1 - 0.158024691358025*G0_1_2;
- A[372] = -0.0677248677248681*G0_0_0 + 0.101587301587301*G0_0_1 + 0.203174603174603*G0_0_2 + 0.0112874779541437*G0_1_0 + 0.112874779541446*G0_1_1 + 0.112874779541446*G0_1_2;
- A[373] = 0.0677248677248683*G0_0_0 - 0.0338624338624335*G0_0_1 - 0.0677248677248669*G0_0_2 + 0.0112874779541453*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0225749559082886*G0_1_2;
- A[374] = 0.0225749559082891*G0_0_0 - 0.0338624338624342*G0_0_1 - 0.0677248677248678*G0_0_2 + 0.0112874779541449*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0225749559082894*G0_1_2;
- A[375] = -0.0225749559082888*G0_0_0 - 0.011287477954144*G0_0_1 - 0.0112874779541444*G0_1_0;
- A[376] = -0.0677248677248683*G0_0_0 - 0.0112874779541455*G0_0_1 - 0.0112874779541453*G0_1_0;
- A[377] = -0.022574955908289*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0112874779541448*G0_1_0;
- A[378] = 0.0451499118165782*G0_0_0 + 0.0338624338624334*G0_0_1 + 0.0338624338624338*G0_1_0 + 0.0225749559082887*G0_1_1;
+ A[358] = -0.0423280423280424*G0_0_0 - 0.0592592592592591*G0_0_2 - 0.0310405643738981*G0_1_0 - 0.0902998236331575*G0_1_2;
+ A[359] = 0.0112874779541445*G0_0_0 + 0.0338624338624336*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0451499118165785*G0_1_2;
+ A[360] = 0.203174603174603*G0_0_0 + 0.0790123456790121*G0_0_1 + 0.0790123456790121*G0_1_0 + 0.158024691358025*G0_1_1;
+ A[361] = -0.118518518518518*G0_0_0 + 0.0423280423280425*G0_0_1 - 0.0310405643738975*G0_1_0 - 0.0902998236331573*G0_1_1;
+ A[362] = 0.0451499118165789*G0_0_0 - 0.0338624338624336*G0_0_1 + 0.0112874779541448*G0_1_0 + 0.0451499118165788*G0_1_1;
+ A[363] = -0.0112874779541446*G0_0_0 - 0.0112874779541445*G0_0_1 - 0.0112874779541447*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[364] = -0.00282186948853645*G0_0_0 - 0.00282186948853644*G0_0_1 - 0.00282186948853631*G0_1_0 - 0.00282186948853634*G0_1_1;
+ A[365] = -0.0112874779541445*G0_0_0 - 0.0112874779541444*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541447*G0_1_1;
+ A[366] = -0.0225749559082894*G0_0_0 - 0.0112874779541441*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541447*G0_1_2;
+ A[367] = -0.0169312169312163*G0_0_0 - 0.0028218694885365*G0_0_1 - 0.0169312169312165*G0_0_2 - 0.00282186948853561*G0_1_0 - 0.00282186948853577*G0_1_2;
+ A[368] = -0.0451499118165789*G0_0_0 - 0.0112874779541445*G0_0_1 - 0.0451499118165787*G0_0_2 - 0.0112874779541448*G0_1_0 - 0.0112874779541447*G0_1_2;
+ A[369] = -0.0225749559082887*G0_0_0 - 0.0338624338624336*G0_0_1 - 0.0338624338624335*G0_0_2 - 0.0338624338624333*G0_1_0 - 0.0451499118165784*G0_1_1 - 0.0451499118165784*G0_1_2;
+ A[370] = 0.0169312169312159*G0_0_0 + 0.0592592592592586*G0_0_1 + 0.0592592592592586*G0_0_2 + 0.0592592592592583*G0_1_0 + 0.0902998236331566*G0_1_1 + 0.0902998236331566*G0_1_2;
+ A[371] = 0.02257495590829*G0_0_0 - 0.0790123456790122*G0_0_1 - 0.0790123456790121*G0_0_2 - 0.0790123456790119*G0_1_0 - 0.158024691358025*G0_1_1 - 0.158024691358025*G0_1_2;
+ A[372] = -0.0677248677248683*G0_0_0 + 0.101587301587301*G0_0_1 + 0.203174603174603*G0_0_2 + 0.0112874779541437*G0_1_0 + 0.112874779541446*G0_1_1 + 0.112874779541446*G0_1_2;
+ A[373] = 0.0677248677248681*G0_0_0 - 0.0338624338624339*G0_0_1 - 0.0677248677248672*G0_0_2 + 0.0112874779541453*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0225749559082886*G0_1_2;
+ A[374] = 0.022574955908289*G0_0_0 - 0.033862433862434*G0_0_1 - 0.0677248677248679*G0_0_2 + 0.0112874779541447*G0_1_0 - 0.0225749559082896*G0_1_1 - 0.0225749559082894*G0_1_2;
+ A[375] = -0.0225749559082887*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0112874779541442*G0_1_0;
+ A[376] = -0.067724867724868*G0_0_0 - 0.0112874779541454*G0_0_1 - 0.0112874779541452*G0_1_0;
+ A[377] = -0.0225749559082891*G0_0_0 - 0.0112874779541444*G0_0_1 - 0.0112874779541448*G0_1_0;
+ A[378] = 0.0451499118165784*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0225749559082891*G0_1_1;
A[379] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_1 - 0.101587301587301*G0_1_0 - 0.112874779541445*G0_1_1;
- A[380] = 0.0451499118165788*G0_0_0 + 0.0338624338624344*G0_0_1 + 0.0338624338624343*G0_1_0 + 0.0225749559082897*G0_1_1;
- A[381] = 0.0902998236331566*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0677248677248679*G0_0_2 + 0.0338624338624341*G0_1_0 + 0.0225749559082897*G0_1_2;
+ A[380] = 0.0451499118165788*G0_0_0 + 0.0338624338624341*G0_0_1 + 0.0338624338624344*G0_1_0 + 0.0225749559082897*G0_1_1;
+ A[381] = 0.0902998236331568*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0677248677248682*G0_0_2 + 0.0338624338624341*G0_1_0 + 0.0225749559082898*G0_1_2;
A[382] = -0.27089947089947*G0_0_0 - 0.1015873015873*G0_0_1 - 0.203174603174603*G0_0_2 - 0.101587301587301*G0_1_0 - 0.112874779541446*G0_1_2;
- A[383] = 0.135449735449734*G0_0_0 + 0.033862433862433*G0_0_1 + 0.0677248677248667*G0_0_2 + 0.0338624338624332*G0_1_0 + 0.0225749559082884*G0_1_2;
- A[384] = 0.0902998236331568*G0_0_0;
- A[385] = 0.00511463844797147*G0_0_0 + 0.00511463844797162*G0_0_1 + 0.00511463844797157*G0_0_2 + 0.0051146384479716*G0_1_0 + 0.00511463844797172*G0_1_1 + 0.00511463844797169*G0_1_2;
- A[386] = 0.0202821869488536*G0_0_0 - 0.0326278659611995*G0_1_0;
+ A[383] = 0.135449735449735*G0_0_0 + 0.0338624338624329*G0_0_1 + 0.0677248677248671*G0_0_2 + 0.0338624338624331*G0_1_0 + 0.0225749559082885*G0_1_2;
+ A[384] = 0.0902998236331569*G0_0_0;
+ A[385] = 0.00511463844797154*G0_0_0 + 0.00511463844797167*G0_0_1 + 0.00511463844797165*G0_0_2 + 0.00511463844797167*G0_1_0 + 0.00511463844797178*G0_1_1 + 0.00511463844797177*G0_1_2;
+ A[386] = 0.0202821869488536*G0_0_0 - 0.0326278659611994*G0_1_0;
A[387] = -0.0326278659611995*G0_0_1 + 0.0202821869488538*G0_1_1;
- A[388] = -0.00511463844797171*G0_0_2 - 0.0051146384479717*G0_1_2;
- A[389] = -0.0592592592592598*G0_0_1 - 0.0902998236331577*G0_0_2 - 0.0423280423280428*G0_1_1 - 0.0310405643738979*G0_1_2;
- A[390] = -0.0105820105820105*G0_0_1 - 0.0211640211640205*G0_0_2 - 0.0134038800705467*G0_1_1 - 0.0105820105820104*G0_1_2;
- A[391] = 0.00282186948853622*G0_0_1 + 0.0169312169312167*G0_0_2 + 0.0028218694885361*G0_1_1 + 0.0141093474426806*G0_1_2;
- A[392] = -0.0423280423280423*G0_0_0 - 0.0310405643738978*G0_0_2 - 0.0592592592592591*G0_1_0 - 0.0902998236331574*G0_1_2;
- A[393] = -0.0134038800705469*G0_0_0 - 0.0105820105820108*G0_0_2 - 0.0105820105820105*G0_1_0 - 0.0211640211640207*G0_1_2;
- A[394] = 0.00282186948853621*G0_0_0 + 0.0141093474426809*G0_0_2 + 0.00282186948853609*G0_1_0 + 0.0169312169312168*G0_1_2;
- A[395] = -0.118518518518518*G0_0_0 - 0.0310405643738976*G0_0_1 + 0.0423280423280424*G0_1_0 - 0.0902998236331574*G0_1_1;
- A[396] = 0.24973544973545*G0_0_0 + 0.0825396825396821*G0_0_1 + 0.0825396825396821*G0_1_0 + 0.24973544973545*G0_1_1;
- A[397] = -0.0902998236331582*G0_0_0 + 0.0423280423280416*G0_0_1 - 0.0310405643738982*G0_1_0 - 0.118518518518519*G0_1_1;
- A[398] = -0.00282186948853596*G0_0_0 - 0.00282186948853606*G0_0_1 - 0.00282186948853583*G0_1_0 - 0.00282186948853588*G0_1_1;
- A[399] = -0.00917107583774233*G0_0_0 - 0.00917107583774233*G0_0_1 - 0.00917107583774237*G0_1_0 - 0.00917107583774235*G0_1_1;
- A[400] = -0.00282186948853625*G0_0_0 - 0.00282186948853619*G0_0_1 - 0.00282186948853613*G0_1_0 - 0.00282186948853608*G0_1_1;
- A[401] = -0.0169312169312157*G0_0_0 - 0.0141093474426804*G0_0_1 - 0.0169312169312162*G0_0_2 - 0.0141093474426797*G0_1_0 - 0.0112874779541445*G0_1_1 - 0.01410934744268*G0_1_2;
- A[402] = 0.0211640211640193*G0_0_0 + 0.0105820105820103*G0_0_1 + 0.0211640211640199*G0_0_2 + 0.0105820105820094*G0_1_0 - 0.00282186948853578*G0_1_1 + 0.0105820105820099*G0_1_2;
- A[403] = 0.0902998236331583*G0_0_0 + 0.0310405643738979*G0_0_1 + 0.090299823633158*G0_0_2 + 0.0310405643738983*G0_1_0 - 0.0112874779541451*G0_1_1 + 0.031040564373898*G0_1_2;
- A[404] = -0.0112874779541443*G0_0_0 - 0.0141093474426804*G0_0_1 - 0.0141093474426804*G0_0_2 - 0.0141093474426804*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.0169312169312161*G0_1_2;
- A[405] = -0.00282186948853602*G0_0_0 + 0.0105820105820107*G0_0_1 + 0.0105820105820107*G0_0_2 + 0.0105820105820105*G0_1_0 + 0.0211640211640206*G0_1_1 + 0.0211640211640206*G0_1_2;
- A[406] = -0.0112874779541447*G0_0_0 + 0.0310405643738978*G0_0_1 + 0.0310405643738977*G0_0_2 + 0.0310405643738978*G0_1_0 + 0.0902998236331575*G0_1_1 + 0.0902998236331575*G0_1_2;
- A[407] = 0.118518518518518*G0_0_0 - 0.0423280423280426*G0_0_1 + 0.0507936507936509*G0_0_2 + 0.0931216931216936*G0_1_0 - 0.0846560846560842*G0_1_1 + 0.186243386243387*G0_1_2;
- A[408] = -0.0846560846560858*G0_0_0 + 0.0931216931216923*G0_0_1 + 0.186243386243384*G0_0_2 - 0.0423280423280434*G0_1_0 + 0.118518518518518*G0_1_1 + 0.0507936507936493*G0_1_2;
- A[409] = -0.0169312169312168*G0_0_0 - 0.0197530864197532*G0_0_1 - 0.084656084656085*G0_0_2 - 0.0197530864197532*G0_1_0 - 0.016931216931217*G0_1_1 - 0.0846560846560847*G0_1_2;
- A[410] = 0.0169312169312157*G0_0_0 + 0.0197530864197523*G0_0_1 + 0.0197530864197522*G0_1_0 + 0.0225749559082883*G0_1_1;
- A[411] = 0.0846560846560858*G0_0_0 + 0.0423280423280437*G0_0_1 + 0.0423280423280434*G0_1_0 + 0.0225749559082905*G0_1_1;
- A[412] = 0.0169312169312168*G0_0_0 + 0.0197530864197528*G0_0_1 + 0.0197530864197532*G0_1_0 + 0.022574955908289*G0_1_1;
- A[413] = 0.0225749559082891*G0_0_0 + 0.0197530864197527*G0_0_1 + 0.0197530864197528*G0_1_0 + 0.0169312169312167*G0_1_1;
- A[414] = 0.0225749559082892*G0_0_0 + 0.0423280423280426*G0_0_1 + 0.0423280423280422*G0_1_0 + 0.0846560846560838*G0_1_1;
- A[415] = 0.0225749559082893*G0_0_0 + 0.0197530864197532*G0_0_1 + 0.0197530864197529*G0_1_0 + 0.0169312169312169*G0_1_1;
- A[416] = 0.0677248677248662*G0_0_0 + 0.0649029982363296*G0_0_1 + 0.0846560846560823*G0_0_2 + 0.0649029982363293*G0_1_0 + 0.0677248677248654*G0_1_1 + 0.0846560846560822*G0_1_2;
- A[417] = 0.067724867724868*G0_0_0 - 0.0931216931216931*G0_0_1 - 0.0507936507936504*G0_0_2 - 0.0931216931216921*G0_1_0 - 0.270899470899471*G0_1_1 - 0.186243386243386*G0_1_2;
- A[418] = -0.270899470899469*G0_0_0 - 0.0931216931216906*G0_0_1 - 0.186243386243384*G0_0_2 - 0.0931216931216915*G0_1_0 + 0.0677248677248701*G0_1_1 - 0.050793650793649*G0_1_2;
- A[419] = -0.135449735449734*G0_0_0 - 0.112874779541445*G0_0_1 - 0.112874779541446*G0_1_0 - 0.135449735449735*G0_1_1;
- A[420] = 0.00776014109347444*G0_0_0 + 0.00776014109347441*G0_0_1 + 0.00776014109347444*G0_0_2 + 0.00776014109347428*G0_1_0 + 0.00776014109347429*G0_1_1 + 0.00776014109347431*G0_1_2;
- A[421] = -0.00776014109347453*G0_0_0 + 0.0176366843033509*G0_1_0;
- A[422] = 0.0458553791887127*G0_0_1 - 0.0246913580246915*G0_1_1;
- A[423] = -0.0077601410934745*G0_0_2 - 0.0077601410934745*G0_1_2;
- A[424] = 0.0790123456790129*G0_0_1 + 0.158024691358025*G0_0_2 + 0.101587301587302*G0_1_1 + 0.0790123456790122*G0_1_2;
- A[425] = -0.0310405643738979*G0_0_1 - 0.0902998236331573*G0_0_2 - 0.0423280423280425*G0_1_1 - 0.0592592592592592*G0_1_2;
- A[426] = 0.0112874779541446*G0_0_1 + 0.0451499118165784*G0_0_2 + 0.0112874779541447*G0_1_1 + 0.0338624338624337*G0_1_2;
- A[427] = 0.0112874779541448*G0_0_0 + 0.0112874779541446*G0_0_2 + 0.0338624338624339*G0_1_0 + 0.0451499118165785*G0_1_2;
- A[428] = 0.00282186948853608*G0_0_0 + 0.00282186948853642*G0_0_2 + 0.0141093474426806*G0_1_0 + 0.016931216931217*G0_1_2;
- A[429] = 0.0112874779541446*G0_0_0 + 0.0112874779541444*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0225749559082891*G0_1_2;
- A[430] = 0.0451499118165791*G0_0_0 + 0.011287477954145*G0_0_1 - 0.0338624338624336*G0_1_0 + 0.045149911816579*G0_1_1;
- A[431] = -0.0902998236331582*G0_0_0 - 0.0310405643738982*G0_0_1 + 0.0423280423280416*G0_1_0 - 0.118518518518519*G0_1_1;
- A[432] = 0.158024691358026*G0_0_0 + 0.0790123456790133*G0_0_1 + 0.0790123456790133*G0_1_0 + 0.203174603174604*G0_1_1;
- A[433] = -0.0112874779541447*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541447*G0_1_0 - 0.0112874779541446*G0_1_1;
- A[434] = -0.00282186948853641*G0_0_0 - 0.00282186948853641*G0_0_1 - 0.00282186948853639*G0_1_0 - 0.00282186948853638*G0_1_1;
- A[435] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541447*G0_1_1;
- A[436] = -0.0451499118165789*G0_0_0 - 0.0338624338624339*G0_0_1 - 0.0451499118165786*G0_0_2 - 0.0338624338624341*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0338624338624338*G0_1_2;
- A[437] = 0.0902998236331581*G0_0_0 + 0.0592592592592594*G0_0_1 + 0.0902998236331575*G0_0_2 + 0.0592592592592599*G0_1_0 + 0.0169312169312165*G0_1_1 + 0.0592592592592594*G0_1_2;
- A[438] = -0.158024691358026*G0_0_0 - 0.0790123456790129*G0_0_1 - 0.158024691358026*G0_0_2 - 0.0790123456790133*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.0790123456790129*G0_1_2;
- A[439] = -0.0112874779541447*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0225749559082894*G0_1_2;
- A[440] = -0.00282186948853627*G0_0_1 - 0.00282186948853608*G0_0_2 - 0.00282186948853603*G0_1_0 - 0.016931216931217*G0_1_1 - 0.0169312169312168*G0_1_2;
- A[441] = -0.011287477954145*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.0451499118165787*G0_1_2;
- A[442] = -0.02257495590829*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0225749559082895*G0_0_2 - 0.0338624338624348*G0_1_0 + 0.0677248677248677*G0_1_1 - 0.0677248677248682*G0_1_2;
- A[443] = 0.112874779541447*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.112874779541448*G0_0_2 + 0.101587301587302*G0_1_0 - 0.0677248677248682*G0_1_1 + 0.203174603174604*G0_1_2;
- A[444] = -0.0225749559082895*G0_0_0 + 0.0112874779541445*G0_0_1 - 0.0225749559082896*G0_0_2 - 0.033862433862434*G0_1_0 + 0.0225749559082891*G0_1_1 - 0.0677248677248683*G0_1_2;
- A[445] = 0.0225749559082893*G0_0_0 + 0.0338624338624342*G0_0_1 + 0.033862433862434*G0_1_0 + 0.0451499118165789*G0_1_1;
- A[446] = -0.112874779541447*G0_0_0 - 0.101587301587303*G0_0_1 - 0.101587301587302*G0_1_0 - 0.135449735449737*G0_1_1;
- A[447] = 0.0225749559082896*G0_0_0 + 0.0338624338624344*G0_0_1 + 0.0338624338624341*G0_1_0 + 0.0451499118165788*G0_1_1;
- A[448] = -0.0112874779541452*G0_0_1 - 0.011287477954145*G0_1_0 - 0.0225749559082901*G0_1_1;
- A[449] = -0.0112874779541451*G0_0_1 - 0.0112874779541442*G0_1_0 - 0.0677248677248675*G0_1_1;
- A[450] = -0.0112874779541444*G0_0_1 - 0.0112874779541442*G0_1_0 - 0.0225749559082889*G0_1_1;
- A[451] = 0.0338624338624344*G0_0_1 + 0.0225749559082896*G0_0_2 + 0.033862433862434*G0_1_0 + 0.0902998236331577*G0_1_1 + 0.0677248677248677*G0_1_2;
- A[452] = 0.0338624338624345*G0_0_1 + 0.022574955908289*G0_0_2 + 0.0338624338624336*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0677248677248679*G0_1_2;
- A[453] = -0.101587301587303*G0_0_1 - 0.112874779541447*G0_0_2 - 0.101587301587301*G0_1_0 - 0.270899470899472*G0_1_1 - 0.203174603174604*G0_1_2;
- A[454] = 0.0902998236331586*G0_1_1;
- A[455] = -0.024691358024691*G0_0_0 - 0.024691358024691*G0_0_1 - 0.024691358024691*G0_0_2 - 0.024691358024691*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.0705467372134042*G0_2_0 - 0.0705467372134042*G0_2_1 - 0.0705467372134042*G0_2_2;
- A[456] = 0.00776014109347463*G0_0_0 + 0.00776014109347459*G0_1_0;
- A[457] = 0.0077601410934745*G0_0_1 + 0.00776014109347451*G0_1_1;
- A[458] = -0.0176366843033511*G0_0_2 - 0.0176366843033511*G0_1_2 - 0.0253968253968255*G0_2_2;
- A[459] = -0.0225749559082895*G0_0_1 - 0.0112874779541448*G0_0_2 - 0.0225749559082894*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541446*G0_2_1;
- A[460] = -0.0169312169312166*G0_0_1 - 0.0141093474426806*G0_0_2 - 0.0169312169312166*G0_1_1 - 0.0141093474426807*G0_1_2 - 0.0141093474426805*G0_2_1 - 0.0112874779541444*G0_2_2;
- A[461] = -0.0451499118165792*G0_0_1 - 0.0338624338624342*G0_0_2 - 0.045149911816579*G0_1_1 - 0.0338624338624341*G0_1_2 - 0.033862433862434*G0_2_1 - 0.0225749559082892*G0_2_2;
- A[462] = -0.0225749559082894*G0_0_0 - 0.0112874779541447*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0112874779541447*G0_1_2 - 0.0112874779541444*G0_2_0;
- A[463] = -0.0169312169312159*G0_0_0 - 0.0141093474426803*G0_0_2 - 0.0169312169312161*G0_1_0 - 0.0141093474426804*G0_1_2 - 0.0141093474426803*G0_2_0 - 0.0112874779541442*G0_2_2;
- A[464] = -0.0451499118165793*G0_0_0 - 0.033862433862434*G0_0_2 - 0.0451499118165791*G0_1_0 - 0.0338624338624339*G0_1_2 - 0.0338624338624342*G0_2_0 - 0.0225749559082894*G0_2_2;
- A[465] = -0.0112874779541447*G0_0_0 - 0.0112874779541449*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541448*G0_1_1;
- A[466] = -0.00282186948853596*G0_0_0 - 0.00282186948853583*G0_0_1 - 0.00282186948853606*G0_1_0 - 0.00282186948853587*G0_1_1;
- A[467] = -0.0112874779541447*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_1;
- A[468] = 0.203174603174603*G0_0_0 + 0.203174603174603*G0_0_1 + 0.12416225749559*G0_0_2 + 0.203174603174603*G0_1_0 + 0.203174603174603*G0_1_1 + 0.124162257495591*G0_1_2 + 0.12416225749559*G0_2_0 + 0.124162257495591*G0_2_1 + 0.203174603174604*G0_2_2;
- A[469] = -0.118518518518519*G0_0_0 - 0.118518518518519*G0_0_1 - 0.160846560846561*G0_0_2 - 0.118518518518519*G0_1_0 - 0.118518518518519*G0_1_1 - 0.160846560846561*G0_1_2 - 0.0874779541446207*G0_2_0 - 0.0874779541446206*G0_2_1 - 0.220105820105821*G0_2_2;
- A[470] = 0.0451499118165792*G0_0_0 + 0.0451499118165792*G0_0_1 + 0.0790123456790127*G0_0_2 + 0.0451499118165791*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0790123456790128*G0_1_2 + 0.0338624338624341*G0_2_0 + 0.0338624338624341*G0_2_1 + 0.112874779541446*G0_2_2;
- A[471] = 0.101587301587302*G0_0_0 + 0.0225749559082887*G0_0_1 + 0.101587301587302*G0_0_2 + 0.101587301587302*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.101587301587302*G0_1_2 + 0.0225749559082889*G0_2_0 + 0.101587301587302*G0_2_1 + 0.022574955908289*G0_2_2;
- A[472] = -0.0423280423280424*G0_0_0 + 0.0169312169312172*G0_0_1 - 0.0423280423280424*G0_0_2 - 0.0423280423280423*G0_1_0 + 0.0169312169312172*G0_1_1 - 0.0423280423280423*G0_1_2 - 0.0112874779541444*G0_2_0 - 0.0423280423280429*G0_2_1 - 0.0112874779541445*G0_2_2;
- A[473] = 0.0112874779541447*G0_0_0 - 0.0225749559082892*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541446*G0_1_0 - 0.0225749559082892*G0_1_1 + 0.0112874779541445*G0_1_2 + 0.0112874779541448*G0_2_1;
- A[474] = 0.0225749559082886*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0225749559082886*G0_1_0 + 0.101587301587301*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587302*G0_2_0 + 0.0225749559082891*G0_2_1 + 0.022574955908289*G0_2_2;
- A[475] = 0.0169312169312174*G0_0_0 - 0.0423280423280419*G0_0_1 - 0.0423280423280419*G0_0_2 + 0.0169312169312174*G0_1_0 - 0.042328042328042*G0_1_1 - 0.042328042328042*G0_1_2 - 0.0423280423280431*G0_2_0 - 0.0112874779541445*G0_2_1 - 0.0112874779541445*G0_2_2;
- A[476] = -0.0225749559082896*G0_0_0 + 0.0112874779541446*G0_0_1 + 0.0112874779541446*G0_0_2 - 0.0225749559082895*G0_1_0 + 0.0112874779541446*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.011287477954145*G0_2_0;
- A[477] = -0.0225749559082884*G0_0_0 - 0.0225749559082883*G0_0_1 - 0.0112874779541442*G0_0_2 - 0.0225749559082888*G0_1_0 - 0.0225749559082885*G0_1_1 - 0.0112874779541443*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541436*G0_2_1;
- A[478] = -0.0225749559082896*G0_0_0 - 0.0225749559082897*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0225749559082896*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541451*G0_2_1;
- A[479] = -0.0677248677248683*G0_0_0 - 0.0677248677248677*G0_0_1 - 0.0564373897707233*G0_0_2 - 0.0677248677248681*G0_1_0 - 0.0677248677248677*G0_1_1 - 0.0564373897707234*G0_1_2 - 0.0564373897707231*G0_2_0 - 0.0564373897707231*G0_2_1 - 0.0451499118165785*G0_2_2;
- A[480] = -0.0677248677248671*G0_0_0 - 0.270899470899471*G0_0_1 - 0.169312169312169*G0_0_2 - 0.0677248677248673*G0_1_0 - 0.270899470899471*G0_1_1 - 0.169312169312169*G0_1_2 - 0.0790123456790113*G0_2_0 - 0.169312169312169*G0_2_1 - 0.067724867724867*G0_2_2;
- A[481] = 0.0225749559082896*G0_0_0 + 0.0902998236331573*G0_0_1 + 0.0564373897707234*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0902998236331572*G0_1_1 + 0.0564373897707233*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0564373897707226*G0_2_1 + 0.0225749559082891*G0_2_2;
- A[482] = 0.0677248677248682*G0_0_0 + 0.135449735449735*G0_0_1 + 0.101587301587301*G0_0_2 + 0.067724867724868*G0_1_0 + 0.135449735449735*G0_1_1 + 0.101587301587301*G0_1_2 + 0.056437389770723*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0677248677248671*G0_2_2;
- A[483] = -0.270899470899471*G0_0_0 - 0.0677248677248669*G0_0_1 - 0.169312169312169*G0_0_2 - 0.270899470899471*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.169312169312169*G0_1_2 - 0.169312169312168*G0_2_0 - 0.0790123456790113*G0_2_1 - 0.067724867724867*G0_2_2;
- A[484] = 0.0902998236331566*G0_0_0 + 0.0225749559082886*G0_0_1 + 0.0564373897707221*G0_0_2 + 0.0902998236331567*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0564373897707223*G0_1_2 + 0.0564373897707222*G0_2_0 + 0.0112874779541438*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[485] = 0.135449735449735*G0_0_0 + 0.0677248677248677*G0_0_1 + 0.101587301587302*G0_0_2 + 0.135449735449735*G0_1_0 + 0.0677248677248677*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0564373897707231*G0_2_1 + 0.0677248677248673*G0_2_2;
- A[486] = -0.135449735449735*G0_0_0 - 0.135449735449735*G0_0_1 - 0.0338624338624335*G0_0_2 - 0.135449735449735*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0338624338624337*G0_1_2 - 0.0338624338624333*G0_2_0 - 0.0338624338624336*G0_2_1 - 0.0451499118165779*G0_2_2;
- A[487] = 0.0451499118165785*G0_0_0 + 0.0451499118165782*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0451499118165785*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0112874779541445*G0_1_2 + 0.011287477954144*G0_2_0 + 0.0112874779541447*G0_2_1;
- A[488] = 0.0451499118165783*G0_0_0 + 0.0451499118165783*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0451499118165784*G0_1_0 + 0.0451499118165782*G0_1_1 + 0.0112874779541445*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541444*G0_2_1;
- A[489] = 0.0902998236331556*G0_0_0 + 0.0902998236331562*G0_0_1 + 0.0902998236331568*G0_0_2 + 0.0902998236331561*G0_1_0 + 0.0902998236331565*G0_1_1 + 0.0902998236331571*G0_1_2 + 0.0902998236331558*G0_2_0 + 0.0902998236331563*G0_2_1 + 0.0902998236331565*G0_2_2;
- A[490] = 0.0202821869488534*G0_0_0 + 0.0202821869488535*G0_0_1 + 0.0202821869488535*G0_0_2 + 0.0202821869488534*G0_1_0 + 0.0202821869488535*G0_1_1 + 0.0202821869488535*G0_1_2 + 0.0529100529100532*G0_2_0 + 0.0529100529100532*G0_2_1 + 0.0529100529100532*G0_2_2;
- A[491] = 0.0051146384479717*G0_0_0 + 0.0051146384479717*G0_1_0;
- A[492] = 0.0051146384479716*G0_0_1 + 0.00511463844797163*G0_1_1;
+ A[388] = -0.00511463844797172*G0_0_2 - 0.00511463844797176*G0_1_2;
+ A[389] = -0.0592592592592596*G0_0_1 - 0.0902998236331577*G0_0_2 - 0.0423280423280426*G0_1_1 - 0.0310405643738978*G0_1_2;
+ A[390] = -0.0105820105820106*G0_0_1 - 0.0211640211640205*G0_0_2 - 0.0134038800705468*G0_1_1 - 0.0105820105820105*G0_1_2;
+ A[391] = 0.00282186948853622*G0_0_1 + 0.0169312169312166*G0_0_2 + 0.00282186948853617*G0_1_1 + 0.0141093474426806*G0_1_2;
+ A[392] = -0.0423280423280422*G0_0_0 - 0.0310405643738977*G0_0_2 - 0.0592592592592591*G0_1_0 - 0.0902998236331573*G0_1_2;
+ A[393] = -0.0134038800705469*G0_0_0 - 0.0105820105820107*G0_0_2 - 0.0105820105820105*G0_1_0 - 0.0211640211640208*G0_1_2;
+ A[394] = 0.00282186948853618*G0_0_0 + 0.0141093474426809*G0_0_2 + 0.00282186948853614*G0_1_0 + 0.0169312169312169*G0_1_2;
+ A[395] = -0.118518518518518*G0_0_0 - 0.0310405643738975*G0_0_1 + 0.0423280423280425*G0_1_0 - 0.0902998236331573*G0_1_1;
+ A[396] = 0.24973544973545*G0_0_0 + 0.0825396825396822*G0_0_1 + 0.0825396825396821*G0_1_0 + 0.24973544973545*G0_1_1;
+ A[397] = -0.0902998236331582*G0_0_0 + 0.0423280423280418*G0_0_1 - 0.0310405643738982*G0_1_0 - 0.118518518518519*G0_1_1;
+ A[398] = -0.00282186948853613*G0_0_0 - 0.00282186948853629*G0_0_1 - 0.00282186948853595*G0_1_0 - 0.00282186948853617*G0_1_1;
+ A[399] = -0.00917107583774235*G0_0_0 - 0.0091710758377423*G0_0_1 - 0.0091710758377424*G0_1_0 - 0.00917107583774231*G0_1_1;
+ A[400] = -0.00282186948853618*G0_0_0 - 0.00282186948853621*G0_0_1 - 0.00282186948853615*G0_1_0 - 0.00282186948853618*G0_1_1;
+ A[401] = -0.016931216931216*G0_0_0 - 0.0141093474426805*G0_0_1 - 0.0169312169312164*G0_0_2 - 0.0141093474426798*G0_1_0 - 0.0112874779541446*G0_1_1 - 0.0141093474426802*G0_1_2;
+ A[402] = 0.0211640211640195*G0_0_0 + 0.0105820105820104*G0_0_1 + 0.02116402116402*G0_0_2 + 0.0105820105820094*G0_1_0 - 0.0028218694885357*G0_1_1 + 0.0105820105820099*G0_1_2;
+ A[403] = 0.0902998236331582*G0_0_0 + 0.031040564373898*G0_0_1 + 0.0902998236331579*G0_0_2 + 0.0310405643738982*G0_1_0 - 0.011287477954145*G0_1_1 + 0.0310405643738979*G0_1_2;
+ A[404] = -0.0112874779541444*G0_0_0 - 0.0141093474426806*G0_0_1 - 0.0141093474426805*G0_0_2 - 0.0141093474426806*G0_1_0 - 0.0169312169312163*G0_1_1 - 0.0169312169312163*G0_1_2;
+ A[405] = -0.00282186948853601*G0_0_0 + 0.0105820105820108*G0_0_1 + 0.0105820105820108*G0_0_2 + 0.0105820105820106*G0_1_0 + 0.0211640211640208*G0_1_1 + 0.0211640211640209*G0_1_2;
+ A[406] = -0.0112874779541448*G0_0_0 + 0.0310405643738977*G0_0_1 + 0.0310405643738976*G0_0_2 + 0.0310405643738978*G0_1_0 + 0.0902998236331573*G0_1_1 + 0.0902998236331573*G0_1_2;
+ A[407] = 0.118518518518518*G0_0_0 - 0.0423280423280426*G0_0_1 + 0.050793650793651*G0_0_2 + 0.0931216931216932*G0_1_0 - 0.0846560846560844*G0_1_1 + 0.186243386243386*G0_1_2;
+ A[408] = -0.0846560846560854*G0_0_0 + 0.0931216931216928*G0_0_1 + 0.186243386243385*G0_0_2 - 0.0423280423280431*G0_1_0 + 0.118518518518518*G0_1_1 + 0.0507936507936496*G0_1_2;
+ A[409] = -0.016931216931217*G0_0_0 - 0.0197530864197533*G0_0_1 - 0.0846560846560848*G0_0_2 - 0.0197530864197532*G0_1_0 - 0.0169312169312169*G0_1_1 - 0.0846560846560848*G0_1_2;
+ A[410] = 0.0169312169312159*G0_0_0 + 0.0197530864197527*G0_0_1 + 0.0197530864197521*G0_1_0 + 0.0225749559082887*G0_1_1;
+ A[411] = 0.0846560846560853*G0_0_0 + 0.0423280423280434*G0_0_1 + 0.0423280423280432*G0_1_0 + 0.0225749559082902*G0_1_1;
+ A[412] = 0.016931216931217*G0_0_0 + 0.0197530864197528*G0_0_1 + 0.0197530864197532*G0_1_0 + 0.0225749559082891*G0_1_1;
+ A[413] = 0.0225749559082894*G0_0_0 + 0.0197530864197528*G0_0_1 + 0.0197530864197531*G0_1_0 + 0.0169312169312168*G0_1_1;
+ A[414] = 0.0225749559082889*G0_0_0 + 0.0423280423280426*G0_0_1 + 0.042328042328042*G0_1_0 + 0.0846560846560843*G0_1_1;
+ A[415] = 0.0225749559082892*G0_0_0 + 0.0197530864197533*G0_0_1 + 0.0197530864197529*G0_1_0 + 0.016931216931217*G0_1_1;
+ A[416] = 0.0677248677248665*G0_0_0 + 0.06490299823633*G0_0_1 + 0.0846560846560827*G0_0_2 + 0.0649029982363298*G0_1_0 + 0.0677248677248659*G0_1_1 + 0.0846560846560826*G0_1_2;
+ A[417] = 0.0677248677248679*G0_0_0 - 0.0931216931216933*G0_0_1 - 0.0507936507936507*G0_0_2 - 0.0931216931216924*G0_1_0 - 0.270899470899471*G0_1_1 - 0.186243386243386*G0_1_2;
+ A[418] = -0.270899470899469*G0_0_0 - 0.0931216931216911*G0_0_1 - 0.186243386243385*G0_0_2 - 0.0931216931216916*G0_1_0 + 0.0677248677248695*G0_1_1 - 0.0507936507936494*G0_1_2;
+ A[419] = -0.135449735449734*G0_0_0 - 0.112874779541446*G0_0_1 - 0.112874779541445*G0_1_0 - 0.135449735449735*G0_1_1;
+ A[420] = 0.00776014109347441*G0_0_0 + 0.00776014109347439*G0_0_1 + 0.00776014109347441*G0_0_2 + 0.0077601410934743*G0_1_0 + 0.00776014109347432*G0_1_1 + 0.00776014109347432*G0_1_2;
+ A[421] = -0.00776014109347457*G0_0_0 + 0.0176366843033509*G0_1_0;
+ A[422] = 0.0458553791887127*G0_0_1 - 0.0246913580246916*G0_1_1;
+ A[423] = -0.00776014109347452*G0_0_2 - 0.00776014109347451*G0_1_2;
+ A[424] = 0.0790123456790126*G0_0_1 + 0.158024691358025*G0_0_2 + 0.101587301587302*G0_1_1 + 0.079012345679012*G0_1_2;
+ A[425] = -0.0310405643738978*G0_0_1 - 0.0902998236331573*G0_0_2 - 0.0423280423280424*G0_1_1 - 0.0592592592592591*G0_1_2;
+ A[426] = 0.0112874779541446*G0_0_1 + 0.0451499118165785*G0_0_2 + 0.0112874779541446*G0_1_1 + 0.0338624338624338*G0_1_2;
+ A[427] = 0.0112874779541445*G0_0_0 + 0.0112874779541444*G0_0_2 + 0.0338624338624338*G0_1_0 + 0.0451499118165784*G0_1_2;
+ A[428] = 0.00282186948853642*G0_0_0 + 0.00282186948853666*G0_0_2 + 0.0141093474426809*G0_1_0 + 0.0169312169312172*G0_1_2;
+ A[429] = 0.0112874779541446*G0_0_0 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0225749559082893*G0_1_2;
+ A[430] = 0.0451499118165789*G0_0_0 + 0.0112874779541448*G0_0_1 - 0.0338624338624336*G0_1_0 + 0.0451499118165788*G0_1_1;
+ A[431] = -0.0902998236331582*G0_0_0 - 0.0310405643738982*G0_0_1 + 0.0423280423280418*G0_1_0 - 0.118518518518519*G0_1_1;
+ A[432] = 0.158024691358026*G0_0_0 + 0.0790123456790131*G0_0_1 + 0.0790123456790131*G0_1_0 + 0.203174603174604*G0_1_1;
+ A[433] = -0.0112874779541447*G0_0_0 - 0.0112874779541445*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[434] = -0.00282186948853602*G0_0_0 - 0.00282186948853603*G0_0_1 - 0.0028218694885361*G0_1_0 - 0.00282186948853611*G0_1_1;
+ A[435] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[436] = -0.0451499118165787*G0_0_0 - 0.0338624338624337*G0_0_1 - 0.0451499118165785*G0_0_2 - 0.033862433862434*G0_1_0 - 0.0225749559082888*G0_1_1 - 0.0338624338624338*G0_1_2;
+ A[437] = 0.0902998236331577*G0_0_0 + 0.0592592592592592*G0_0_1 + 0.0902998236331572*G0_0_2 + 0.0592592592592595*G0_1_0 + 0.0169312169312162*G0_1_1 + 0.0592592592592591*G0_1_2;
+ A[438] = -0.158024691358026*G0_0_0 - 0.0790123456790129*G0_0_1 - 0.158024691358026*G0_0_2 - 0.0790123456790131*G0_1_0 + 0.0225749559082896*G0_1_1 - 0.0790123456790127*G0_1_2;
+ A[439] = -0.0112874779541445*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0225749559082893*G0_1_2;
+ A[440] = -0.00282186948853629*G0_0_1 - 0.00282186948853613*G0_0_2 - 0.00282186948853614*G0_1_0 - 0.0169312169312169*G0_1_1 - 0.0169312169312169*G0_1_2;
+ A[441] = -0.0112874779541448*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0451499118165787*G0_1_1 - 0.0451499118165785*G0_1_2;
+ A[442] = -0.0225749559082896*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0225749559082897*G0_0_2 - 0.0338624338624342*G0_1_0 + 0.067724867724868*G0_1_1 - 0.0677248677248678*G0_1_2;
+ A[443] = 0.112874779541447*G0_0_0 + 0.0112874779541449*G0_0_1 + 0.112874779541447*G0_0_2 + 0.101587301587302*G0_1_0 - 0.0677248677248676*G0_1_1 + 0.203174603174604*G0_1_2;
+ A[444] = -0.0225749559082893*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0225749559082891*G0_0_2 - 0.0338624338624339*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.0677248677248678*G0_1_2;
+ A[445] = 0.0225749559082899*G0_0_0 + 0.0338624338624341*G0_0_1 + 0.0338624338624346*G0_1_0 + 0.0451499118165789*G0_1_1;
+ A[446] = -0.112874779541447*G0_0_0 - 0.101587301587302*G0_0_1 - 0.101587301587303*G0_1_0 - 0.135449735449736*G0_1_1;
+ A[447] = 0.0225749559082893*G0_0_0 + 0.0338624338624337*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0451499118165785*G0_1_1;
+ A[448] = -0.0112874779541442*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0225749559082892*G0_1_1;
+ A[449] = -0.011287477954145*G0_0_1 - 0.0112874779541443*G0_1_0 - 0.0677248677248679*G0_1_1;
+ A[450] = -0.0112874779541448*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0225749559082894*G0_1_1;
+ A[451] = 0.0338624338624339*G0_0_1 + 0.0225749559082896*G0_0_2 + 0.0338624338624339*G0_1_0 + 0.0902998236331574*G0_1_1 + 0.067724867724868*G0_1_2;
+ A[452] = 0.0338624338624344*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.0338624338624337*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0677248677248675*G0_1_2;
+ A[453] = -0.101587301587302*G0_0_1 - 0.112874779541447*G0_0_2 - 0.101587301587301*G0_1_0 - 0.270899470899472*G0_1_1 - 0.203174603174604*G0_1_2;
+ A[454] = 0.0902998236331571*G0_1_1;
+ A[455] = -0.0246913580246911*G0_0_0 - 0.0246913580246911*G0_0_1 - 0.0246913580246911*G0_0_2 - 0.0246913580246911*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0246913580246912*G0_1_2 - 0.0705467372134043*G0_2_0 - 0.0705467372134043*G0_2_1 - 0.0705467372134043*G0_2_2;
+ A[456] = 0.00776014109347465*G0_0_0 + 0.00776014109347464*G0_1_0;
+ A[457] = 0.00776014109347456*G0_0_1 + 0.00776014109347454*G0_1_1;
+ A[458] = -0.0176366843033512*G0_0_2 - 0.0176366843033511*G0_1_2 - 0.0253968253968256*G0_2_2;
+ A[459] = -0.0225749559082895*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0225749559082893*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541446*G0_2_1;
+ A[460] = -0.0169312169312166*G0_0_1 - 0.0141093474426805*G0_0_2 - 0.0169312169312166*G0_1_1 - 0.0141093474426805*G0_1_2 - 0.0141093474426804*G0_2_1 - 0.0112874779541445*G0_2_2;
+ A[461] = -0.0451499118165791*G0_0_1 - 0.0338624338624342*G0_0_2 - 0.0451499118165789*G0_1_1 - 0.0338624338624341*G0_1_2 - 0.0338624338624343*G0_2_1 - 0.0225749559082893*G0_2_2;
+ A[462] = -0.0225749559082893*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0112874779541444*G0_1_2 - 0.0112874779541444*G0_2_0;
+ A[463] = -0.0169312169312163*G0_0_0 - 0.0141093474426806*G0_0_2 - 0.0169312169312165*G0_1_0 - 0.0141093474426808*G0_1_2 - 0.0141093474426805*G0_2_0 - 0.0112874779541447*G0_2_2;
+ A[464] = -0.0451499118165792*G0_0_0 - 0.033862433862434*G0_0_2 - 0.045149911816579*G0_1_0 - 0.0338624338624339*G0_1_2 - 0.0338624338624344*G0_2_0 - 0.0225749559082895*G0_2_2;
+ A[465] = -0.0112874779541446*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0112874779541445*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[466] = -0.00282186948853612*G0_0_0 - 0.00282186948853595*G0_0_1 - 0.00282186948853629*G0_1_0 - 0.00282186948853617*G0_1_1;
+ A[467] = -0.0112874779541447*G0_0_0 - 0.0112874779541448*G0_0_1 - 0.0112874779541445*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[468] = 0.203174603174604*G0_0_0 + 0.203174603174604*G0_0_1 + 0.124162257495591*G0_0_2 + 0.203174603174604*G0_1_0 + 0.203174603174603*G0_1_1 + 0.124162257495591*G0_1_2 + 0.124162257495591*G0_2_0 + 0.124162257495591*G0_2_1 + 0.203174603174604*G0_2_2;
+ A[469] = -0.118518518518519*G0_0_0 - 0.118518518518519*G0_0_1 - 0.160846560846561*G0_0_2 - 0.118518518518519*G0_1_0 - 0.118518518518519*G0_1_1 - 0.160846560846561*G0_1_2 - 0.0874779541446212*G0_2_0 - 0.0874779541446212*G0_2_1 - 0.220105820105821*G0_2_2;
+ A[470] = 0.0451499118165793*G0_0_0 + 0.0451499118165793*G0_0_1 + 0.0790123456790129*G0_0_2 + 0.0451499118165791*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0790123456790128*G0_1_2 + 0.0338624338624344*G0_2_0 + 0.0338624338624344*G0_2_1 + 0.112874779541447*G0_2_2;
+ A[471] = 0.101587301587302*G0_0_0 + 0.0225749559082888*G0_0_1 + 0.101587301587302*G0_0_2 + 0.101587301587302*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.101587301587302*G0_1_2 + 0.0225749559082889*G0_2_0 + 0.101587301587302*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[472] = -0.0423280423280424*G0_0_0 + 0.0169312169312172*G0_0_1 - 0.0423280423280423*G0_0_2 - 0.0423280423280423*G0_1_0 + 0.0169312169312172*G0_1_1 - 0.0423280423280422*G0_1_2 - 0.0112874779541442*G0_2_0 - 0.0423280423280424*G0_2_1 - 0.0112874779541442*G0_2_2;
+ A[473] = 0.0112874779541447*G0_0_0 - 0.0225749559082893*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541445*G0_1_0 - 0.0225749559082893*G0_1_1 + 0.0112874779541444*G0_1_2 + 0.0112874779541445*G0_2_1;
+ A[474] = 0.0225749559082887*G0_0_0 + 0.101587301587302*G0_0_1 + 0.101587301587302*G0_0_2 + 0.0225749559082888*G0_1_0 + 0.101587301587301*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587302*G0_2_0 + 0.0225749559082892*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[475] = 0.0169312169312174*G0_0_0 - 0.0423280423280421*G0_0_1 - 0.042328042328042*G0_0_2 + 0.0169312169312173*G0_1_0 - 0.0423280423280422*G0_1_1 - 0.0423280423280421*G0_1_2 - 0.0423280423280428*G0_2_0 - 0.0112874779541444*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[476] = -0.0225749559082896*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.0112874779541445*G0_0_2 - 0.0225749559082896*G0_1_0 + 0.0112874779541444*G0_1_1 + 0.0112874779541444*G0_1_2 + 0.0112874779541447*G0_2_0;
+ A[477] = -0.0225749559082887*G0_0_0 - 0.0225749559082884*G0_0_1 - 0.0112874779541442*G0_0_2 - 0.0225749559082891*G0_1_0 - 0.0225749559082886*G0_1_1 - 0.0112874779541444*G0_1_2 - 0.0112874779541452*G0_2_0 - 0.0112874779541442*G0_2_1;
+ A[478] = -0.0225749559082892*G0_0_0 - 0.0225749559082893*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0225749559082891*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541444*G0_2_0 - 0.0112874779541451*G0_2_1;
+ A[479] = -0.067724867724868*G0_0_0 - 0.067724867724868*G0_0_1 - 0.0564373897707232*G0_0_2 - 0.0677248677248678*G0_1_0 - 0.067724867724868*G0_1_1 - 0.0564373897707232*G0_1_2 - 0.0564373897707231*G0_2_0 - 0.0564373897707234*G0_2_1 - 0.0451499118165786*G0_2_2;
+ A[480] = -0.0677248677248678*G0_0_0 - 0.270899470899472*G0_0_1 - 0.16931216931217*G0_0_2 - 0.0677248677248679*G0_1_0 - 0.270899470899471*G0_1_1 - 0.16931216931217*G0_1_2 - 0.0790123456790129*G0_2_0 - 0.169312169312169*G0_2_1 - 0.067724867724868*G0_2_2;
+ A[481] = 0.0225749559082892*G0_0_0 + 0.0902998236331576*G0_0_1 + 0.0564373897707229*G0_0_2 + 0.0225749559082891*G0_1_0 + 0.0902998236331573*G0_1_1 + 0.0564373897707229*G0_1_2 + 0.0112874779541444*G0_2_0 + 0.0564373897707231*G0_2_1 + 0.0225749559082888*G0_2_2;
+ A[482] = 0.067724867724868*G0_0_0 + 0.135449735449735*G0_0_1 + 0.101587301587302*G0_0_2 + 0.0677248677248678*G0_1_0 + 0.135449735449735*G0_1_1 + 0.101587301587302*G0_1_2 + 0.0564373897707231*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0677248677248684*G0_2_2;
+ A[483] = -0.270899470899471*G0_0_0 - 0.0677248677248676*G0_0_1 - 0.16931216931217*G0_0_2 - 0.270899470899471*G0_1_0 - 0.067724867724868*G0_1_1 - 0.16931216931217*G0_1_2 - 0.169312169312169*G0_2_0 - 0.079012345679013*G0_2_1 - 0.0677248677248681*G0_2_2;
+ A[484] = 0.090299823633157*G0_0_0 + 0.0225749559082886*G0_0_1 + 0.0564373897707224*G0_0_2 + 0.0902998236331571*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0564373897707226*G0_1_2 + 0.0564373897707227*G0_2_0 + 0.0112874779541443*G0_2_1 + 0.0225749559082891*G0_2_2;
+ A[485] = 0.135449735449735*G0_0_0 + 0.0677248677248678*G0_0_1 + 0.101587301587302*G0_0_2 + 0.135449735449735*G0_1_0 + 0.0677248677248677*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_0 + 0.0564373897707233*G0_2_1 + 0.0677248677248685*G0_2_2;
+ A[486] = -0.135449735449736*G0_0_0 - 0.135449735449736*G0_0_1 - 0.0338624338624341*G0_0_2 - 0.135449735449736*G0_1_0 - 0.135449735449736*G0_1_1 - 0.0338624338624343*G0_1_2 - 0.0338624338624336*G0_2_0 - 0.0338624338624339*G0_2_1 - 0.0451499118165787*G0_2_2;
+ A[487] = 0.0451499118165788*G0_0_0 + 0.0451499118165783*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0451499118165788*G0_1_0 + 0.0451499118165786*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541443*G0_2_0 + 0.0112874779541447*G0_2_1;
+ A[488] = 0.0451499118165785*G0_0_0 + 0.0451499118165787*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0451499118165785*G0_1_0 + 0.0451499118165784*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541445*G0_2_1;
+ A[489] = 0.0902998236331565*G0_0_0 + 0.0902998236331569*G0_0_1 + 0.0902998236331573*G0_0_2 + 0.090299823633157*G0_1_0 + 0.0902998236331575*G0_1_1 + 0.0902998236331576*G0_1_2 + 0.0902998236331581*G0_2_0 + 0.0902998236331582*G0_2_1 + 0.0902998236331575*G0_2_2;
+ A[490] = 0.0202821869488537*G0_0_0 + 0.0202821869488537*G0_0_1 + 0.0202821869488537*G0_0_2 + 0.0202821869488537*G0_1_0 + 0.0202821869488537*G0_1_1 + 0.0202821869488537*G0_1_2 + 0.0529100529100532*G0_2_0 + 0.0529100529100532*G0_2_1 + 0.0529100529100532*G0_2_2;
+ A[491] = 0.00511463844797168*G0_0_0 + 0.00511463844797169*G0_1_0;
+ A[492] = 0.00511463844797174*G0_0_1 + 0.00511463844797175*G0_1_1;
A[493] = 0.0326278659611998*G0_0_2 + 0.0326278659611997*G0_1_2 + 0.0529100529100532*G0_2_2;
- A[494] = -0.0169312169312166*G0_0_1 - 0.00282186948853617*G0_0_2 - 0.0169312169312166*G0_1_1 - 0.00282186948853618*G0_1_2 - 0.00282186948853599*G0_2_1;
- A[495] = 0.0211640211640203*G0_0_1 + 0.0105820105820104*G0_0_2 + 0.0211640211640204*G0_1_1 + 0.0105820105820105*G0_1_2 + 0.0105820105820099*G0_2_1 - 0.00282186948853625*G0_2_2;
- A[496] = 0.0902998236331588*G0_0_1 + 0.05925925925926*G0_0_2 + 0.0902998236331585*G0_1_1 + 0.0592592592592599*G0_1_2 + 0.05925925925926*G0_2_1 + 0.016931216931217*G0_2_2;
- A[497] = -0.0169312169312163*G0_0_0 - 0.0028218694885358*G0_0_2 - 0.0169312169312163*G0_1_0 - 0.00282186948853579*G0_1_2 - 0.00282186948853593*G0_2_0;
- A[498] = 0.0211640211640197*G0_0_0 + 0.01058201058201*G0_0_2 + 0.0211640211640198*G0_1_0 + 0.01058201058201*G0_1_2 + 0.0105820105820099*G0_2_0 - 0.00282186948853672*G0_2_2;
- A[499] = 0.090299823633159*G0_0_0 + 0.0592592592592601*G0_0_2 + 0.0902998236331587*G0_1_0 + 0.05925925925926*G0_1_2 + 0.0592592592592602*G0_2_0 + 0.0169312169312175*G0_2_2;
- A[500] = -0.00282186948853621*G0_0_0 - 0.00282186948853605*G0_0_1 - 0.00282186948853615*G0_1_0 - 0.00282186948853604*G0_1_1;
- A[501] = -0.00917107583774233*G0_0_0 - 0.00917107583774237*G0_0_1 - 0.00917107583774233*G0_1_0 - 0.00917107583774235*G0_1_1;
- A[502] = -0.00282186948853641*G0_0_0 - 0.00282186948853639*G0_0_1 - 0.00282186948853641*G0_1_0 - 0.00282186948853638*G0_1_1;
- A[503] = -0.118518518518519*G0_0_0 - 0.118518518518519*G0_0_1 - 0.0874779541446206*G0_0_2 - 0.118518518518519*G0_1_0 - 0.118518518518519*G0_1_1 - 0.0874779541446206*G0_1_2 - 0.160846560846561*G0_2_0 - 0.160846560846561*G0_2_1 - 0.220105820105821*G0_2_2;
- A[504] = 0.249735449735451*G0_0_0 + 0.249735449735451*G0_0_1 + 0.167195767195768*G0_0_2 + 0.249735449735451*G0_1_0 + 0.249735449735451*G0_1_1 + 0.167195767195767*G0_1_2 + 0.167195767195768*G0_2_0 + 0.167195767195767*G0_2_1 + 0.334391534391535*G0_2_2;
- A[505] = -0.090299823633159*G0_0_0 - 0.0902998236331589*G0_0_1 - 0.1326278659612*G0_0_2 - 0.0902998236331587*G0_1_0 - 0.0902998236331587*G0_1_1 - 0.1326278659612*G0_1_2 - 0.0592592592592601*G0_2_0 - 0.0592592592592601*G0_2_1 - 0.220105820105821*G0_2_2;
- A[506] = -0.0423280423280426*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0423280423280424*G0_0_2 - 0.0423280423280425*G0_1_0 - 0.0112874779541443*G0_1_1 - 0.0423280423280424*G0_1_2 + 0.0169312169312171*G0_2_0 - 0.0423280423280427*G0_2_1 + 0.016931216931217*G0_2_2;
- A[507] = -0.0134038800705468*G0_0_0 - 0.00282186948853641*G0_0_1 - 0.0134038800705468*G0_0_2 - 0.0134038800705469*G0_1_0 - 0.00282186948853638*G0_1_1 - 0.0134038800705468*G0_1_2 - 0.00282186948853627*G0_2_0 - 0.0134038800705464*G0_2_1 - 0.00282186948853622*G0_2_2;
- A[508] = 0.0028218694885364*G0_0_0 - 0.0112874779541446*G0_0_1 + 0.00282186948853647*G0_0_2 + 0.00282186948853641*G0_1_0 - 0.0112874779541446*G0_1_1 + 0.00282186948853647*G0_1_2 + 0.00282186948853603*G0_2_1;
- A[509] = -0.0112874779541442*G0_0_0 - 0.0423280423280425*G0_0_1 - 0.0423280423280425*G0_0_2 - 0.0112874779541442*G0_1_0 - 0.0423280423280425*G0_1_1 - 0.0423280423280425*G0_1_2 - 0.0423280423280431*G0_2_0 + 0.0169312169312168*G0_2_1 + 0.0169312169312168*G0_2_2;
- A[510] = -0.00282186948853637*G0_0_0 - 0.0134038800705469*G0_0_1 - 0.0134038800705469*G0_0_2 - 0.00282186948853637*G0_1_0 - 0.0134038800705469*G0_1_1 - 0.0134038800705469*G0_1_2 - 0.0134038800705459*G0_2_0 - 0.00282186948853591*G0_2_1 - 0.00282186948853591*G0_2_2;
- A[511] = -0.0112874779541446*G0_0_0 + 0.00282186948853601*G0_0_1 + 0.00282186948853599*G0_0_2 - 0.0112874779541446*G0_1_0 + 0.00282186948853599*G0_1_1 + 0.00282186948853598*G0_1_2 + 0.00282186948853567*G0_2_0;
- A[512] = 0.0169312169312175*G0_0_0 + 0.0169312169312169*G0_0_1 - 0.00282186948853564*G0_0_2 + 0.0169312169312175*G0_1_0 + 0.016931216931217*G0_1_1 - 0.00282186948853558*G0_1_2 - 0.00282186948853541*G0_2_0 - 0.00282186948853619*G0_2_1;
- A[513] = 0.0169312169312168*G0_0_0 + 0.0169312169312176*G0_0_1 - 0.00282186948853623*G0_0_2 + 0.0169312169312171*G0_1_0 + 0.0169312169312178*G0_1_1 - 0.00282186948853604*G0_1_2 - 0.00282186948853641*G0_2_0 - 0.00282186948853568*G0_2_1;
- A[514] = 0.0846560846560859*G0_0_0 + 0.0846560846560857*G0_0_1 + 0.0423280423280432*G0_0_2 + 0.0846560846560856*G0_1_0 + 0.0846560846560854*G0_1_1 + 0.042328042328043*G0_1_2 + 0.0423280423280427*G0_2_0 + 0.0423280423280429*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[515] = 0.118518518518519*G0_0_0 + 0.0677248677248676*G0_0_1 + 0.160846560846561*G0_0_2 + 0.118518518518519*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.160846560846561*G0_1_2 + 0.0253968253968244*G0_2_0 + 0.16084656084656*G0_2_1 - 0.0169312169312176*G0_2_2;
- A[516] = -0.0169312169312168*G0_0_0 + 0.0677248677248679*G0_0_1 + 0.00282186948853579*G0_0_2 - 0.0169312169312172*G0_1_0 + 0.0677248677248681*G0_1_1 + 0.00282186948853571*G0_1_2 + 0.0028218694885364*G0_2_0 + 0.00282186948853676*G0_2_1 + 0.00564373897707242*G0_2_2;
- A[517] = -0.0846560846560859*G0_0_0 - 0.270899470899471*G0_0_1 - 0.177777777777778*G0_0_2 - 0.0846560846560856*G0_1_0 - 0.270899470899471*G0_1_1 - 0.177777777777778*G0_1_2 - 0.0423280423280427*G0_2_0 - 0.177777777777777*G0_2_1 - 0.0169312169312164*G0_2_2;
- A[518] = 0.067724867724867*G0_0_0 + 0.118518518518519*G0_0_1 + 0.160846560846561*G0_0_2 + 0.067724867724867*G0_1_0 + 0.118518518518519*G0_1_1 + 0.160846560846561*G0_1_2 + 0.16084656084656*G0_2_0 + 0.0253968253968246*G0_2_1 - 0.0169312169312174*G0_2_2;
- A[519] = 0.0677248677248682*G0_0_0 - 0.016931216931217*G0_0_1 + 0.00282186948853678*G0_0_2 + 0.0677248677248681*G0_1_0 - 0.016931216931217*G0_1_1 + 0.00282186948853676*G0_1_2 + 0.00282186948853671*G0_2_0 + 0.00282186948853599*G0_2_1 + 0.00564373897707232*G0_2_2;
- A[520] = -0.270899470899471*G0_0_0 - 0.0846560846560857*G0_0_1 - 0.177777777777779*G0_0_2 - 0.270899470899471*G0_1_0 - 0.0846560846560854*G0_1_1 - 0.177777777777779*G0_1_2 - 0.177777777777777*G0_2_0 - 0.0423280423280429*G0_2_1 - 0.0169312169312166*G0_2_2;
- A[521] = 0.0225749559082895*G0_0_0 + 0.0225749559082896*G0_0_1 - 0.0197530864197528*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0197530864197529*G0_1_2 - 0.0197530864197534*G0_2_0 - 0.0197530864197532*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[522] = 0.0225749559082893*G0_0_0 + 0.0225749559082894*G0_0_1 + 0.00282186948853572*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.0225749559082893*G0_1_1 + 0.00282186948853566*G0_1_2 + 0.00282186948853638*G0_2_0 + 0.0028218694885357*G0_2_1;
- A[523] = 0.0225749559082892*G0_0_0 + 0.0225749559082895*G0_0_1 + 0.00282186948853635*G0_0_2 + 0.0225749559082892*G0_1_0 + 0.0225749559082896*G0_1_1 + 0.00282186948853615*G0_1_2 + 0.00282186948853608*G0_2_0 + 0.00282186948853654*G0_2_1;
- A[524] = -0.135449735449737*G0_0_0 - 0.135449735449737*G0_0_1 - 0.0225749559082907*G0_0_2 - 0.135449735449737*G0_1_0 - 0.135449735449737*G0_1_1 - 0.0225749559082904*G0_1_2 - 0.022574955908289*G0_2_0 - 0.0225749559082889*G0_2_1 - 0.0451499118165787*G0_2_2;
- A[525] = -0.00776014109347448*G0_0_0 - 0.00776014109347447*G0_0_1 - 0.00776014109347444*G0_0_2 - 0.00776014109347447*G0_1_0 - 0.00776014109347446*G0_1_1 - 0.00776014109347443*G0_1_2 - 0.0253968253968255*G0_2_0 - 0.0253968253968254*G0_2_1 - 0.0253968253968255*G0_2_2;
- A[526] = 0.00776014109347457*G0_0_0 + 0.00776014109347456*G0_1_0;
- A[527] = 0.00776014109347463*G0_0_1 + 0.00776014109347462*G0_1_1;
- A[528] = -0.045855379188713*G0_0_2 - 0.045855379188713*G0_1_2 - 0.0705467372134041*G0_2_2;
- A[529] = -0.0451499118165791*G0_0_1 - 0.0112874779541448*G0_0_2 - 0.0451499118165791*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.0112874779541449*G0_2_1;
- A[530] = 0.0902998236331583*G0_0_1 + 0.0310405643738983*G0_0_2 + 0.0902998236331583*G0_1_1 + 0.0310405643738983*G0_1_2 + 0.0310405643738984*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[531] = -0.158024691358027*G0_0_1 - 0.0790123456790133*G0_0_2 - 0.158024691358027*G0_1_1 - 0.0790123456790132*G0_1_2 - 0.0790123456790134*G0_2_1 + 0.0225749559082889*G0_2_2;
- A[532] = -0.0451499118165794*G0_0_0 - 0.0112874779541449*G0_0_2 - 0.0451499118165794*G0_1_0 - 0.011287477954145*G0_1_2 - 0.011287477954145*G0_2_0;
- A[533] = 0.0902998236331592*G0_0_0 + 0.0310405643738983*G0_0_2 + 0.0902998236331591*G0_1_0 + 0.0310405643738983*G0_1_2 + 0.0310405643738989*G0_2_0 - 0.0112874779541438*G0_2_2;
- A[534] = -0.158024691358027*G0_0_0 - 0.0790123456790132*G0_0_2 - 0.158024691358027*G0_1_0 - 0.0790123456790132*G0_1_2 - 0.0790123456790137*G0_2_0 + 0.0225749559082885*G0_2_2;
- A[535] = -0.0112874779541446*G0_0_0 - 0.0112874779541448*G0_0_1 - 0.0112874779541447*G0_1_0 - 0.0112874779541449*G0_1_1;
- A[536] = -0.00282186948853625*G0_0_0 - 0.00282186948853613*G0_0_1 - 0.00282186948853619*G0_1_0 - 0.00282186948853608*G0_1_1;
- A[537] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541447*G0_1_1;
- A[538] = 0.0451499118165792*G0_0_0 + 0.0451499118165791*G0_0_1 + 0.0338624338624341*G0_0_2 + 0.0451499118165792*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0338624338624341*G0_1_2 + 0.0790123456790127*G0_2_0 + 0.0790123456790128*G0_2_1 + 0.112874779541446*G0_2_2;
- A[539] = -0.090299823633159*G0_0_0 - 0.0902998236331587*G0_0_1 - 0.0592592592592601*G0_0_2 - 0.0902998236331589*G0_1_0 - 0.0902998236331587*G0_1_1 - 0.0592592592592601*G0_1_2 - 0.1326278659612*G0_2_0 - 0.1326278659612*G0_2_1 - 0.220105820105821*G0_2_2;
- A[540] = 0.158024691358027*G0_0_0 + 0.158024691358027*G0_0_1 + 0.0790123456790136*G0_0_2 + 0.158024691358027*G0_1_0 + 0.158024691358027*G0_1_1 + 0.0790123456790136*G0_1_2 + 0.0790123456790137*G0_2_0 + 0.0790123456790136*G0_2_1 + 0.203174603174604*G0_2_2;
- A[541] = 0.0112874779541446*G0_0_0 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_2 - 0.0225749559082892*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0225749559082891*G0_2_2;
- A[542] = 0.00282186948853624*G0_0_0 + 0.00282186948853625*G0_0_2 + 0.00282186948853623*G0_1_0 + 0.00282186948853624*G0_1_2 - 0.0112874779541445*G0_2_0 + 0.00282186948853607*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[543] = 0.0112874779541446*G0_0_0 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541446*G0_2_1;
- A[544] = 0.0112874779541446*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541446*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541448*G0_2_0 - 0.022574955908289*G0_2_1 - 0.0225749559082891*G0_2_2;
- A[545] = 0.00282186948853629*G0_0_1 + 0.00282186948853629*G0_0_2 + 0.00282186948853626*G0_1_1 + 0.00282186948853627*G0_1_2 + 0.00282186948853579*G0_2_0 - 0.0112874779541446*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[546] = 0.0112874779541449*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.0112874779541449*G0_1_1 + 0.0112874779541449*G0_1_2 + 0.0112874779541448*G0_2_0;
- A[547] = 0.0225749559082894*G0_0_0 + 0.0225749559082894*G0_0_1 - 0.011287477954145*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.0225749559082892*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.011287477954145*G0_2_0 - 0.0112874779541445*G0_2_1;
- A[548] = 0.0225749559082894*G0_0_0 + 0.0225749559082892*G0_0_1 - 0.0112874779541447*G0_0_2 + 0.0225749559082892*G0_1_0 + 0.0225749559082891*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541451*G0_2_1;
- A[549] = -0.112874779541447*G0_0_0 - 0.112874779541446*G0_0_1 - 0.0112874779541442*G0_0_2 - 0.112874779541447*G0_1_0 - 0.112874779541446*G0_1_1 - 0.0112874779541443*G0_1_2 - 0.0112874779541449*G0_2_0 - 0.0112874779541448*G0_2_1 - 0.0451499118165784*G0_2_2;
- A[550] = -0.0225749559082894*G0_0_0 - 0.0338624338624341*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.0338624338624341*G0_1_2 + 0.0112874779541455*G0_2_0 - 0.0338624338624335*G0_2_1 + 0.0677248677248678*G0_2_2;
- A[551] = -0.0225749559082893*G0_0_0 - 0.0338624338624341*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0338624338624341*G0_1_2 + 0.0112874779541447*G0_2_0 - 0.0338624338624344*G0_2_1 + 0.0225749559082893*G0_2_2;
- A[552] = 0.112874779541446*G0_0_0 + 0.101587301587303*G0_0_2 + 0.112874779541446*G0_1_0 + 0.101587301587303*G0_1_2 + 0.0112874779541449*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[553] = -0.0225749559082893*G0_0_1 - 0.033862433862434*G0_0_2 - 0.0225749559082892*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0338624338624333*G0_2_0 + 0.0112874779541456*G0_2_1 + 0.0677248677248679*G0_2_2;
- A[554] = -0.0225749559082893*G0_0_1 - 0.0338624338624346*G0_0_2 - 0.0225749559082891*G0_1_1 - 0.0338624338624345*G0_1_2 - 0.0338624338624345*G0_2_0 + 0.0112874779541446*G0_2_1 + 0.0225749559082886*G0_2_2;
- A[555] = 0.112874779541446*G0_0_1 + 0.101587301587302*G0_0_2 + 0.112874779541446*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0112874779541447*G0_2_1 - 0.0677248677248675*G0_2_2;
- A[556] = 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_2 + 0.011287477954145*G0_2_0 + 0.0112874779541448*G0_2_1 - 0.0451499118165775*G0_2_2;
- A[557] = 0.011287477954145*G0_0_2 + 0.0112874779541451*G0_1_2 + 0.0112874779541443*G0_2_0 + 0.0112874779541448*G0_2_1;
- A[558] = 0.0112874779541446*G0_0_2 + 0.0112874779541447*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541442*G0_2_1;
- A[559] = 0.0902998236331561*G0_2_2;
- A[560] = -0.024691358024691*G0_0_0 - 0.0246913580246911*G0_0_1 - 0.0246913580246911*G0_0_2 - 0.0705467372134043*G0_1_0 - 0.0705467372134043*G0_1_1 - 0.0705467372134043*G0_1_2 - 0.0246913580246911*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0246913580246911*G0_2_2;
- A[561] = 0.0077601410934746*G0_0_0 + 0.00776014109347459*G0_2_0;
- A[562] = -0.017636684303351*G0_0_1 - 0.0253968253968255*G0_1_1 - 0.017636684303351*G0_2_1;
- A[563] = 0.00776014109347445*G0_0_2 + 0.00776014109347441*G0_2_2;
- A[564] = -0.0338624338624339*G0_0_1 - 0.0451499118165788*G0_0_2 - 0.0225749559082889*G0_1_1 - 0.0338624338624337*G0_1_2 - 0.0338624338624336*G0_2_1 - 0.0451499118165785*G0_2_2;
- A[565] = -0.0141093474426808*G0_0_1 - 0.0169312169312167*G0_0_2 - 0.0112874779541448*G0_1_1 - 0.0141093474426807*G0_1_2 - 0.0141093474426809*G0_2_1 - 0.0169312169312168*G0_2_2;
- A[566] = -0.0112874779541446*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0112874779541443*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0225749559082891*G0_2_2;
- A[567] = -0.0112874779541447*G0_0_0 - 0.0112874779541447*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0112874779541445*G0_2_2;
- A[568] = -0.0028218694885362*G0_0_0 - 0.00282186948853651*G0_0_2 - 0.0028218694885362*G0_2_0 - 0.00282186948853652*G0_2_2;
- A[569] = -0.0112874779541446*G0_0_0 - 0.0112874779541442*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541441*G0_2_2;
- A[570] = -0.0225749559082896*G0_0_0 - 0.011287477954145*G0_0_1 - 0.0112874779541443*G0_1_0 - 0.0225749559082894*G0_2_0 - 0.0112874779541449*G0_2_1;
- A[571] = -0.0169312169312157*G0_0_0 - 0.0141093474426797*G0_0_1 - 0.0141093474426804*G0_1_0 - 0.0112874779541445*G0_1_1 - 0.0169312169312162*G0_2_0 - 0.01410934744268*G0_2_1;
- A[572] = -0.0451499118165789*G0_0_0 - 0.0338624338624341*G0_0_1 - 0.0338624338624339*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0451499118165786*G0_2_0 - 0.0338624338624338*G0_2_1;
- A[573] = 0.101587301587302*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0225749559082889*G0_0_2 + 0.0225749559082887*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 + 0.022574955908289*G0_2_2;
- A[574] = -0.0423280423280425*G0_0_0 - 0.0423280423280425*G0_0_1 + 0.0169312169312171*G0_0_2 - 0.0112874779541442*G0_1_0 - 0.0112874779541443*G0_1_1 - 0.0423280423280427*G0_1_2 - 0.0423280423280424*G0_2_0 - 0.0423280423280424*G0_2_1 + 0.016931216931217*G0_2_2;
- A[575] = 0.0112874779541446*G0_0_0 + 0.0112874779541446*G0_0_1 - 0.0225749559082892*G0_0_2 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0225749559082891*G0_2_2;
+ A[494] = -0.0169312169312166*G0_0_1 - 0.0028218694885359*G0_0_2 - 0.0169312169312167*G0_1_1 - 0.00282186948853591*G0_1_2 - 0.00282186948853601*G0_2_1;
+ A[495] = 0.0211640211640204*G0_0_1 + 0.01058201058201*G0_0_2 + 0.0211640211640205*G0_1_1 + 0.01058201058201*G0_1_2 + 0.01058201058201*G0_2_1 - 0.00282186948853621*G0_2_2;
+ A[496] = 0.0902998236331581*G0_0_1 + 0.0592592592592598*G0_0_2 + 0.0902998236331579*G0_1_1 + 0.0592592592592596*G0_1_2 + 0.0592592592592601*G0_2_1 + 0.0169312169312171*G0_2_2;
+ A[497] = -0.0169312169312167*G0_0_0 - 0.00282186948853625*G0_0_2 - 0.0169312169312169*G0_1_0 - 0.00282186948853627*G0_1_2 - 0.00282186948853599*G0_2_0;
+ A[498] = 0.0211640211640201*G0_0_0 + 0.0105820105820104*G0_0_2 + 0.0211640211640203*G0_1_0 + 0.0105820105820104*G0_1_2 + 0.01058201058201*G0_2_0 - 0.00282186948853607*G0_2_2;
+ A[499] = 0.0902998236331583*G0_0_0 + 0.0592592592592595*G0_0_2 + 0.090299823633158*G0_1_0 + 0.0592592592592594*G0_1_2 + 0.0592592592592602*G0_2_0 + 0.0169312169312173*G0_2_2;
+ A[500] = -0.00282186948853645*G0_0_0 - 0.00282186948853631*G0_0_1 - 0.00282186948853644*G0_1_0 - 0.00282186948853634*G0_1_1;
+ A[501] = -0.00917107583774234*G0_0_0 - 0.0091710758377424*G0_0_1 - 0.0091710758377423*G0_1_0 - 0.00917107583774231*G0_1_1;
+ A[502] = -0.00282186948853602*G0_0_0 - 0.0028218694885361*G0_0_1 - 0.00282186948853603*G0_1_0 - 0.00282186948853611*G0_1_1;
+ A[503] = -0.118518518518519*G0_0_0 - 0.118518518518519*G0_0_1 - 0.0874779541446212*G0_0_2 - 0.118518518518519*G0_1_0 - 0.118518518518519*G0_1_1 - 0.0874779541446212*G0_1_2 - 0.160846560846561*G0_2_0 - 0.160846560846561*G0_2_1 - 0.220105820105821*G0_2_2;
+ A[504] = 0.249735449735451*G0_0_0 + 0.24973544973545*G0_0_1 + 0.167195767195768*G0_0_2 + 0.24973544973545*G0_1_0 + 0.24973544973545*G0_1_1 + 0.167195767195768*G0_1_2 + 0.167195767195768*G0_2_0 + 0.167195767195768*G0_2_1 + 0.334391534391535*G0_2_2;
+ A[505] = -0.0902998236331584*G0_0_0 - 0.0902998236331583*G0_0_1 - 0.1326278659612*G0_0_2 - 0.0902998236331581*G0_1_0 - 0.090299823633158*G0_1_1 - 0.1326278659612*G0_1_2 - 0.0592592592592603*G0_2_0 - 0.0592592592592603*G0_2_1 - 0.220105820105821*G0_2_2;
+ A[506] = -0.0423280423280424*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0423280423280423*G0_0_2 - 0.0423280423280424*G0_1_0 - 0.0112874779541447*G0_1_1 - 0.0423280423280423*G0_1_2 + 0.0169312169312169*G0_2_0 - 0.0423280423280427*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[507] = -0.0134038800705465*G0_0_0 - 0.00282186948853598*G0_0_1 - 0.0134038800705465*G0_0_2 - 0.0134038800705465*G0_1_0 - 0.00282186948853601*G0_1_1 - 0.0134038800705465*G0_1_2 - 0.0028218694885363*G0_2_0 - 0.0134038800705466*G0_2_1 - 0.00282186948853626*G0_2_2;
+ A[508] = 0.00282186948853607*G0_0_0 - 0.0112874779541448*G0_0_1 + 0.00282186948853613*G0_0_2 + 0.00282186948853608*G0_1_0 - 0.0112874779541447*G0_1_1 + 0.00282186948853614*G0_1_2 + 0.0028218694885362*G0_2_1;
+ A[509] = -0.0112874779541446*G0_0_0 - 0.0423280423280423*G0_0_1 - 0.0423280423280422*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0423280423280423*G0_1_1 - 0.0423280423280422*G0_1_2 - 0.0423280423280429*G0_2_0 + 0.0169312169312167*G0_2_1 + 0.0169312169312167*G0_2_2;
+ A[510] = -0.00282186948853607*G0_0_0 - 0.0134038800705468*G0_0_1 - 0.0134038800705468*G0_0_2 - 0.00282186948853608*G0_1_0 - 0.0134038800705468*G0_1_1 - 0.0134038800705468*G0_1_2 - 0.0134038800705463*G0_2_0 - 0.0028218694885362*G0_2_1 - 0.0028218694885362*G0_2_2;
+ A[511] = -0.0112874779541447*G0_0_0 + 0.00282186948853626*G0_0_1 + 0.00282186948853629*G0_0_2 - 0.0112874779541447*G0_1_0 + 0.00282186948853629*G0_1_1 + 0.00282186948853631*G0_1_2 + 0.00282186948853601*G0_2_0;
+ A[512] = 0.0169312169312168*G0_0_0 + 0.0169312169312164*G0_0_1 - 0.00282186948853647*G0_0_2 + 0.0169312169312169*G0_1_0 + 0.0169312169312165*G0_1_1 - 0.00282186948853635*G0_1_2 - 0.00282186948853499*G0_2_0 - 0.00282186948853578*G0_2_1;
+ A[513] = 0.0169312169312164*G0_0_0 + 0.0169312169312167*G0_0_1 - 0.00282186948853605*G0_0_2 + 0.0169312169312166*G0_1_0 + 0.0169312169312168*G0_1_1 - 0.00282186948853591*G0_1_2 - 0.00282186948853646*G0_2_0 - 0.00282186948853574*G0_2_1;
+ A[514] = 0.0846560846560851*G0_0_0 + 0.0846560846560852*G0_0_1 + 0.0423280423280424*G0_0_2 + 0.0846560846560847*G0_1_0 + 0.0846560846560849*G0_1_1 + 0.0423280423280423*G0_1_2 + 0.0423280423280424*G0_2_0 + 0.0423280423280429*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[515] = 0.118518518518519*G0_0_0 + 0.067724867724868*G0_0_1 + 0.160846560846561*G0_0_2 + 0.118518518518519*G0_1_0 + 0.067724867724868*G0_1_1 + 0.160846560846561*G0_1_2 + 0.0253968253968262*G0_2_0 + 0.160846560846561*G0_2_1 - 0.0169312169312161*G0_2_2;
+ A[516] = -0.0169312169312165*G0_0_0 + 0.0677248677248675*G0_0_1 + 0.00282186948853617*G0_0_2 - 0.0169312169312166*G0_1_0 + 0.0677248677248674*G0_1_1 + 0.00282186948853609*G0_1_2 + 0.00282186948853643*G0_2_0 + 0.00282186948853615*G0_2_1 + 0.00564373897707252*G0_2_2;
+ A[517] = -0.0846560846560851*G0_0_0 - 0.270899470899471*G0_0_1 - 0.177777777777778*G0_0_2 - 0.0846560846560847*G0_1_0 - 0.270899470899471*G0_1_1 - 0.177777777777778*G0_1_2 - 0.0423280423280424*G0_2_0 - 0.177777777777778*G0_2_1 - 0.0169312169312179*G0_2_2;
+ A[518] = 0.0677248677248673*G0_0_0 + 0.118518518518518*G0_0_1 + 0.16084656084656*G0_0_2 + 0.0677248677248674*G0_1_0 + 0.118518518518518*G0_1_1 + 0.16084656084656*G0_1_2 + 0.160846560846561*G0_2_0 + 0.0253968253968263*G0_2_1 - 0.0169312169312161*G0_2_2;
+ A[519] = 0.0677248677248682*G0_0_0 - 0.0169312169312164*G0_0_1 + 0.0028218694885365*G0_0_2 + 0.0677248677248682*G0_1_0 - 0.0169312169312164*G0_1_1 + 0.00282186948853649*G0_1_2 + 0.00282186948853623*G0_2_0 + 0.00282186948853559*G0_2_1 + 0.00564373897707205*G0_2_2;
+ A[520] = -0.270899470899471*G0_0_0 - 0.084656084656085*G0_0_1 - 0.177777777777778*G0_0_2 - 0.270899470899471*G0_1_0 - 0.0846560846560848*G0_1_1 - 0.177777777777778*G0_1_2 - 0.177777777777778*G0_2_0 - 0.0423280423280427*G0_2_1 - 0.0169312169312179*G0_2_2;
+ A[521] = 0.0225749559082896*G0_0_0 + 0.0225749559082896*G0_0_1 - 0.0197530864197525*G0_0_2 + 0.0225749559082896*G0_1_0 + 0.0225749559082897*G0_1_1 - 0.0197530864197526*G0_1_2 - 0.019753086419753*G0_2_0 - 0.0197530864197529*G0_2_1 + 0.0225749559082896*G0_2_2;
+ A[522] = 0.0225749559082893*G0_0_0 + 0.0225749559082893*G0_0_1 + 0.00282186948853657*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0225749559082892*G0_1_1 + 0.00282186948853645*G0_1_2 + 0.00282186948853634*G0_2_0 + 0.00282186948853584*G0_2_1;
+ A[523] = 0.0225749559082888*G0_0_0 + 0.0225749559082889*G0_0_1 + 0.00282186948853617*G0_0_2 + 0.0225749559082888*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.00282186948853604*G0_1_2 + 0.00282186948853598*G0_2_0 + 0.00282186948853629*G0_2_1;
+ A[524] = -0.135449735449736*G0_0_0 - 0.135449735449735*G0_0_1 - 0.0225749559082902*G0_0_2 - 0.135449735449736*G0_1_0 - 0.135449735449735*G0_1_1 - 0.02257495590829*G0_1_2 - 0.0225749559082912*G0_2_0 - 0.0225749559082907*G0_2_1 - 0.0451499118165793*G0_2_2;
+ A[525] = -0.0077601410934746*G0_0_0 - 0.00776014109347458*G0_0_1 - 0.00776014109347455*G0_0_2 - 0.00776014109347459*G0_1_0 - 0.00776014109347457*G0_1_1 - 0.00776014109347454*G0_1_2 - 0.0253968253968255*G0_2_0 - 0.0253968253968255*G0_2_1 - 0.0253968253968255*G0_2_2;
+ A[526] = 0.0077601410934746*G0_0_0 + 0.00776014109347457*G0_1_0;
+ A[527] = 0.00776014109347461*G0_0_1 + 0.0077601410934746*G0_1_1;
+ A[528] = -0.0458553791887129*G0_0_2 - 0.0458553791887128*G0_1_2 - 0.0705467372134042*G0_2_2;
+ A[529] = -0.0451499118165789*G0_0_1 - 0.0112874779541448*G0_0_2 - 0.0451499118165789*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541448*G0_2_1;
+ A[530] = 0.0902998236331579*G0_0_1 + 0.0310405643738982*G0_0_2 + 0.0902998236331579*G0_1_1 + 0.0310405643738983*G0_1_2 + 0.0310405643738982*G0_2_1 - 0.0112874779541447*G0_2_2;
+ A[531] = -0.158024691358026*G0_0_1 - 0.0790123456790129*G0_0_2 - 0.158024691358026*G0_1_1 - 0.0790123456790128*G0_1_2 - 0.0790123456790133*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[532] = -0.0451499118165792*G0_0_0 - 0.0112874779541447*G0_0_2 - 0.0451499118165791*G0_1_0 - 0.0112874779541447*G0_1_2 - 0.011287477954145*G0_2_0;
+ A[533] = 0.0902998236331585*G0_0_0 + 0.0310405643738979*G0_0_2 + 0.0902998236331583*G0_1_0 + 0.0310405643738979*G0_1_2 + 0.0310405643738987*G0_2_0 - 0.0112874779541444*G0_2_2;
+ A[534] = -0.158024691358026*G0_0_0 - 0.0790123456790128*G0_0_2 - 0.158024691358026*G0_1_0 - 0.0790123456790128*G0_1_2 - 0.0790123456790135*G0_2_0 + 0.0225749559082888*G0_2_2;
+ A[535] = -0.0112874779541445*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541444*G0_1_0 - 0.0112874779541447*G0_1_1;
+ A[536] = -0.00282186948853619*G0_0_0 - 0.00282186948853615*G0_0_1 - 0.00282186948853621*G0_1_0 - 0.00282186948853618*G0_1_1;
+ A[537] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_1;
+ A[538] = 0.0451499118165793*G0_0_0 + 0.0451499118165791*G0_0_1 + 0.0338624338624344*G0_0_2 + 0.0451499118165793*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0338624338624344*G0_1_2 + 0.0790123456790129*G0_2_0 + 0.0790123456790128*G0_2_1 + 0.112874779541447*G0_2_2;
+ A[539] = -0.0902998236331584*G0_0_0 - 0.0902998236331581*G0_0_1 - 0.0592592592592604*G0_0_2 - 0.0902998236331583*G0_1_0 - 0.090299823633158*G0_1_1 - 0.0592592592592603*G0_1_2 - 0.1326278659612*G0_2_0 - 0.1326278659612*G0_2_1 - 0.220105820105821*G0_2_2;
+ A[540] = 0.158024691358026*G0_0_0 + 0.158024691358026*G0_0_1 + 0.0790123456790136*G0_0_2 + 0.158024691358026*G0_1_0 + 0.158024691358026*G0_1_1 + 0.0790123456790134*G0_1_2 + 0.0790123456790136*G0_2_0 + 0.0790123456790134*G0_2_1 + 0.203174603174604*G0_2_2;
+ A[541] = 0.0112874779541445*G0_0_0 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_2 - 0.0225749559082891*G0_2_0 + 0.0112874779541447*G0_2_1 - 0.022574955908289*G0_2_2;
+ A[542] = 0.00282186948853615*G0_0_0 + 0.00282186948853617*G0_0_2 + 0.00282186948853613*G0_1_0 + 0.00282186948853615*G0_1_2 - 0.0112874779541446*G0_2_0 + 0.00282186948853607*G0_2_1 - 0.0112874779541446*G0_2_2;
+ A[543] = 0.0112874779541445*G0_0_0 + 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541446*G0_2_1;
+ A[544] = 0.0112874779541445*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541445*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541448*G0_2_0 - 0.0225749559082891*G0_2_1 - 0.0225749559082891*G0_2_2;
+ A[545] = 0.00282186948853611*G0_0_1 + 0.0028218694885361*G0_0_2 + 0.0028218694885361*G0_1_1 + 0.0028218694885361*G0_1_2 + 0.00282186948853601*G0_2_0 - 0.0112874779541445*G0_2_1 - 0.0112874779541445*G0_2_2;
+ A[546] = 0.0112874779541447*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.0112874779541447*G0_1_1 + 0.0112874779541447*G0_1_2 + 0.0112874779541447*G0_2_0;
+ A[547] = 0.0225749559082894*G0_0_0 + 0.0225749559082895*G0_0_1 - 0.0112874779541447*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541453*G0_2_0 - 0.0112874779541448*G0_2_1;
+ A[548] = 0.0225749559082894*G0_0_0 + 0.0225749559082895*G0_0_1 - 0.0112874779541446*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.011287477954145*G0_2_1;
+ A[549] = -0.112874779541446*G0_0_0 - 0.112874779541446*G0_0_1 - 0.0112874779541443*G0_0_2 - 0.112874779541446*G0_1_0 - 0.112874779541446*G0_1_1 - 0.0112874779541442*G0_1_2 - 0.0112874779541448*G0_2_0 - 0.0112874779541448*G0_2_1 - 0.0451499118165785*G0_2_2;
+ A[550] = -0.0225749559082891*G0_0_0 - 0.0338624338624338*G0_0_2 - 0.0225749559082891*G0_1_0 - 0.0338624338624339*G0_1_2 + 0.0112874779541445*G0_2_0 - 0.033862433862434*G0_2_1 + 0.067724867724867*G0_2_2;
+ A[551] = -0.0225749559082895*G0_0_0 - 0.0338624338624342*G0_0_2 - 0.0225749559082895*G0_1_0 - 0.0338624338624342*G0_1_2 + 0.0112874779541446*G0_2_0 - 0.0338624338624341*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[552] = 0.112874779541446*G0_0_0 + 0.101587301587302*G0_0_2 + 0.112874779541446*G0_1_0 + 0.101587301587302*G0_1_2 + 0.0112874779541448*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[553] = -0.0225749559082891*G0_0_1 - 0.0338624338624336*G0_0_2 - 0.022574955908289*G0_1_1 - 0.0338624338624336*G0_1_2 - 0.0338624338624337*G0_2_0 + 0.0112874779541446*G0_2_1 + 0.0677248677248672*G0_2_2;
+ A[554] = -0.0225749559082894*G0_0_1 - 0.033862433862434*G0_0_2 - 0.0225749559082894*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0338624338624342*G0_2_0 + 0.0112874779541449*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[555] = 0.112874779541446*G0_0_1 + 0.101587301587302*G0_0_2 + 0.112874779541446*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[556] = 0.0112874779541441*G0_0_2 + 0.0112874779541442*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0451499118165781*G0_2_2;
+ A[557] = 0.0112874779541446*G0_0_2 + 0.0112874779541446*G0_1_2 + 0.0112874779541443*G0_2_0 + 0.0112874779541447*G0_2_1;
+ A[558] = 0.0112874779541445*G0_0_2 + 0.0112874779541446*G0_1_2 + 0.0112874779541447*G0_2_0 + 0.0112874779541443*G0_2_1;
+ A[559] = 0.0902998236331568*G0_2_2;
+ A[560] = -0.024691358024691*G0_0_0 - 0.024691358024691*G0_0_1 - 0.024691358024691*G0_0_2 - 0.0705467372134042*G0_1_0 - 0.0705467372134042*G0_1_1 - 0.0705467372134042*G0_1_2 - 0.024691358024691*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0246913580246911*G0_2_2;
+ A[561] = 0.00776014109347462*G0_0_0 + 0.0077601410934746*G0_2_0;
+ A[562] = -0.017636684303351*G0_0_1 - 0.0253968253968254*G0_1_1 - 0.0176366843033509*G0_2_1;
+ A[563] = 0.00776014109347444*G0_0_2 + 0.00776014109347439*G0_2_2;
+ A[564] = -0.0338624338624338*G0_0_1 - 0.0451499118165786*G0_0_2 - 0.0225749559082889*G0_1_1 - 0.0338624338624335*G0_1_2 - 0.0338624338624336*G0_2_1 - 0.0451499118165783*G0_2_2;
+ A[565] = -0.0141093474426808*G0_0_1 - 0.0169312169312167*G0_0_2 - 0.0112874779541446*G0_1_1 - 0.0141093474426808*G0_1_2 - 0.0141093474426808*G0_2_1 - 0.0169312169312167*G0_2_2;
+ A[566] = -0.0112874779541445*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0112874779541444*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0225749559082891*G0_2_2;
+ A[567] = -0.0112874779541445*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0112874779541443*G0_2_0 - 0.0112874779541443*G0_2_2;
+ A[568] = -0.00282186948853637*G0_0_0 - 0.00282186948853655*G0_0_2 - 0.00282186948853642*G0_2_0 - 0.00282186948853666*G0_2_2;
+ A[569] = -0.0112874779541445*G0_0_0 - 0.0112874779541442*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541441*G0_2_2;
+ A[570] = -0.0225749559082894*G0_0_0 - 0.0112874779541449*G0_0_1 - 0.0112874779541441*G0_1_0 - 0.0225749559082892*G0_2_0 - 0.0112874779541447*G0_2_1;
+ A[571] = -0.016931216931216*G0_0_0 - 0.0141093474426798*G0_0_1 - 0.0141093474426805*G0_1_0 - 0.0112874779541447*G0_1_1 - 0.0169312169312164*G0_2_0 - 0.0141093474426802*G0_2_1;
+ A[572] = -0.0451499118165788*G0_0_0 - 0.033862433862434*G0_0_1 - 0.0338624338624337*G0_1_0 - 0.0225749559082888*G0_1_1 - 0.0451499118165785*G0_2_0 - 0.0338624338624338*G0_2_1;
+ A[573] = 0.101587301587302*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0225749559082889*G0_0_2 + 0.0225749559082888*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[574] = -0.0423280423280424*G0_0_0 - 0.0423280423280424*G0_0_1 + 0.0169312169312169*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0112874779541447*G0_1_1 - 0.0423280423280427*G0_1_2 - 0.0423280423280423*G0_2_0 - 0.0423280423280423*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[575] = 0.0112874779541445*G0_0_0 + 0.0112874779541446*G0_0_1 - 0.0225749559082891*G0_0_2 + 0.0112874779541447*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.022574955908289*G0_2_2;
A[576] = 0.203174603174603*G0_0_0 + 0.12416225749559*G0_0_1 + 0.203174603174603*G0_0_2 + 0.12416225749559*G0_1_0 + 0.203174603174604*G0_1_1 + 0.12416225749559*G0_1_2 + 0.203174603174603*G0_2_0 + 0.12416225749559*G0_2_1 + 0.203174603174603*G0_2_2;
- A[577] = -0.118518518518518*G0_0_0 - 0.160846560846561*G0_0_1 - 0.118518518518518*G0_0_2 - 0.0874779541446206*G0_1_0 - 0.220105820105821*G0_1_1 - 0.0874779541446205*G0_1_2 - 0.118518518518518*G0_2_0 - 0.160846560846561*G0_2_1 - 0.118518518518518*G0_2_2;
- A[578] = 0.0451499118165789*G0_0_0 + 0.0790123456790126*G0_0_1 + 0.0451499118165788*G0_0_2 + 0.0338624338624339*G0_1_0 + 0.112874779541447*G0_1_1 + 0.0338624338624338*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0790123456790126*G0_2_1 + 0.0451499118165784*G0_2_2;
- A[579] = 0.0225749559082887*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587302*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.0225749559082889*G0_1_2 + 0.0225749559082887*G0_2_0 + 0.101587301587301*G0_2_1 + 0.101587301587301*G0_2_2;
- A[580] = 0.0169312169312175*G0_0_0 - 0.0423280423280419*G0_0_1 - 0.0423280423280419*G0_0_2 - 0.042328042328043*G0_1_0 - 0.0112874779541442*G0_1_1 - 0.0112874779541442*G0_1_2 + 0.0169312169312175*G0_2_0 - 0.0423280423280419*G0_2_1 - 0.0423280423280419*G0_2_2;
- A[581] = -0.0225749559082897*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.0112874779541448*G0_1_0 - 0.0225749559082897*G0_2_0 + 0.0112874779541446*G0_2_1 + 0.0112874779541445*G0_2_2;
- A[582] = -0.0225749559082884*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0225749559082883*G0_0_2 - 0.0112874779541441*G0_1_0 - 0.0112874779541436*G0_1_2 - 0.0225749559082887*G0_2_0 - 0.0112874779541445*G0_2_1 - 0.0225749559082884*G0_2_2;
- A[583] = -0.0677248677248681*G0_0_0 - 0.0564373897707229*G0_0_1 - 0.0677248677248673*G0_0_2 - 0.0564373897707228*G0_1_0 - 0.0451499118165785*G0_1_1 - 0.0564373897707227*G0_1_2 - 0.0677248677248675*G0_2_0 - 0.0564373897707228*G0_2_1 - 0.0677248677248671*G0_2_2;
- A[584] = -0.0225749559082892*G0_0_0 - 0.0112874779541445*G0_0_1 - 0.0225749559082898*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.011287477954145*G0_1_2 - 0.0225749559082893*G0_2_0 - 0.0112874779541446*G0_2_1 - 0.0225749559082898*G0_2_2;
- A[585] = -0.0677248677248674*G0_0_0 - 0.169312169312169*G0_0_1 - 0.270899470899471*G0_0_2 - 0.0790123456790119*G0_1_0 - 0.0677248677248672*G0_1_1 - 0.169312169312169*G0_1_2 - 0.0677248677248677*G0_2_0 - 0.169312169312169*G0_2_1 - 0.270899470899471*G0_2_2;
- A[586] = 0.067724867724868*G0_0_0 + 0.101587301587302*G0_0_1 + 0.135449735449735*G0_0_2 + 0.0564373897707228*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.101587301587301*G0_1_2 + 0.0677248677248674*G0_2_0 + 0.101587301587302*G0_2_1 + 0.135449735449735*G0_2_2;
- A[587] = 0.0225749559082892*G0_0_0 + 0.0564373897707233*G0_0_1 + 0.090299823633157*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.022574955908289*G0_1_1 + 0.0564373897707226*G0_1_2 + 0.0225749559082893*G0_2_0 + 0.0564373897707232*G0_2_1 + 0.0902998236331568*G0_2_2;
- A[588] = -0.135449735449736*G0_0_0 - 0.0338624338624338*G0_0_1 - 0.135449735449736*G0_0_2 - 0.033862433862433*G0_1_0 - 0.045149911816578*G0_1_1 - 0.0338624338624334*G0_1_2 - 0.135449735449736*G0_2_0 - 0.033862433862434*G0_2_1 - 0.135449735449736*G0_2_2;
- A[589] = 0.0451499118165786*G0_0_0 + 0.0112874779541449*G0_0_1 + 0.0451499118165782*G0_0_2 + 0.0112874779541437*G0_1_0 + 0.0112874779541443*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0112874779541447*G0_2_1 + 0.0451499118165782*G0_2_2;
- A[590] = 0.0451499118165788*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0112874779541444*G0_1_0 + 0.0112874779541444*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0112874779541446*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[591] = -0.270899470899471*G0_0_0 - 0.169312169312169*G0_0_1 - 0.067724867724867*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248674*G0_1_1 - 0.0790123456790119*G0_1_2 - 0.270899470899471*G0_2_0 - 0.169312169312169*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[592] = 0.0902998236331573*G0_0_0 + 0.0564373897707221*G0_0_1 + 0.0225749559082887*G0_0_2 + 0.0564373897707226*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0112874779541438*G0_1_2 + 0.0902998236331573*G0_2_0 + 0.0564373897707224*G0_2_1 + 0.0225749559082889*G0_2_2;
- A[593] = 0.135449735449734*G0_0_0 + 0.101587301587301*G0_0_1 + 0.067724867724867*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248674*G0_1_1 + 0.0564373897707225*G0_1_2 + 0.135449735449734*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0677248677248668*G0_2_2;
- A[594] = 0.0902998236331558*G0_0_0 + 0.0902998236331562*G0_0_1 + 0.0902998236331566*G0_0_2 + 0.090299823633156*G0_1_0 + 0.0902998236331562*G0_1_1 + 0.0902998236331566*G0_1_2 + 0.0902998236331564*G0_2_0 + 0.0902998236331564*G0_2_1 + 0.0902998236331573*G0_2_2;
- A[595] = 0.0202821869488534*G0_0_0 + 0.0202821869488535*G0_0_1 + 0.0202821869488535*G0_0_2 + 0.0529100529100532*G0_1_0 + 0.0529100529100532*G0_1_1 + 0.0529100529100532*G0_1_2 + 0.0202821869488534*G0_2_0 + 0.0202821869488535*G0_2_1 + 0.0202821869488535*G0_2_2;
- A[596] = 0.00511463844797157*G0_0_0 + 0.00511463844797162*G0_2_0;
- A[597] = 0.0326278659611995*G0_0_1 + 0.0529100529100532*G0_1_1 + 0.0326278659611994*G0_2_1;
- A[598] = 0.00511463844797172*G0_0_2 + 0.00511463844797175*G0_2_2;
- A[599] = 0.0592592592592596*G0_0_1 + 0.0902998236331577*G0_0_2 + 0.0169312169312164*G0_1_1 + 0.0592592592592593*G0_1_2 + 0.0592592592592591*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[600] = 0.0105820105820106*G0_0_1 + 0.0211640211640206*G0_0_2 - 0.00282186948853599*G0_1_1 + 0.0105820105820102*G0_1_2 + 0.0105820105820107*G0_2_1 + 0.0211640211640207*G0_2_2;
- A[601] = -0.00282186948853623*G0_0_1 - 0.0169312169312167*G0_0_2 - 0.00282186948853622*G0_1_2 - 0.00282186948853625*G0_2_1 - 0.0169312169312168*G0_2_2;
- A[602] = -0.002821869488536*G0_0_0 - 0.00282186948853599*G0_0_2 - 0.00282186948853612*G0_2_0 - 0.00282186948853613*G0_2_2;
- A[603] = -0.00917107583774239*G0_0_0 - 0.00917107583774232*G0_0_2 - 0.00917107583774242*G0_2_0 - 0.00917107583774234*G0_2_2;
- A[604] = -0.00282186948853625*G0_0_0 - 0.00282186948853638*G0_0_2 - 0.00282186948853626*G0_2_0 - 0.00282186948853636*G0_2_2;
- A[605] = -0.016931216931216*G0_0_0 - 0.00282186948853559*G0_0_1 - 0.00282186948853631*G0_1_0 - 0.0169312169312163*G0_2_0 - 0.00282186948853573*G0_2_1;
- A[606] = 0.0211640211640193*G0_0_0 + 0.0105820105820094*G0_0_1 + 0.0105820105820103*G0_1_0 - 0.00282186948853578*G0_1_1 + 0.0211640211640199*G0_2_0 + 0.0105820105820099*G0_2_1;
- A[607] = 0.0902998236331581*G0_0_0 + 0.0592592592592598*G0_0_1 + 0.0592592592592594*G0_1_0 + 0.0169312169312165*G0_1_1 + 0.0902998236331575*G0_2_0 + 0.0592592592592594*G0_2_1;
- A[608] = -0.0423280423280424*G0_0_0 - 0.0423280423280423*G0_0_1 - 0.0112874779541444*G0_0_2 + 0.0169312169312172*G0_1_0 + 0.0169312169312172*G0_1_1 - 0.0423280423280429*G0_1_2 - 0.0423280423280424*G0_2_0 - 0.0423280423280423*G0_2_1 - 0.0112874779541445*G0_2_2;
- A[609] = -0.0134038800705468*G0_0_0 - 0.0134038800705469*G0_0_1 - 0.00282186948853627*G0_0_2 - 0.00282186948853641*G0_1_0 - 0.00282186948853638*G0_1_1 - 0.0134038800705464*G0_1_2 - 0.0134038800705468*G0_2_0 - 0.0134038800705468*G0_2_1 - 0.00282186948853622*G0_2_2;
- A[610] = 0.00282186948853624*G0_0_0 + 0.00282186948853623*G0_0_1 - 0.0112874779541445*G0_0_2 + 0.00282186948853607*G0_1_2 + 0.00282186948853625*G0_2_0 + 0.00282186948853624*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[611] = -0.118518518518518*G0_0_0 - 0.0874779541446206*G0_0_1 - 0.118518518518518*G0_0_2 - 0.160846560846561*G0_1_0 - 0.220105820105821*G0_1_1 - 0.160846560846561*G0_1_2 - 0.118518518518518*G0_2_0 - 0.0874779541446205*G0_2_1 - 0.118518518518518*G0_2_2;
- A[612] = 0.24973544973545*G0_0_0 + 0.167195767195767*G0_0_1 + 0.24973544973545*G0_0_2 + 0.167195767195767*G0_1_0 + 0.334391534391535*G0_1_1 + 0.167195767195767*G0_1_2 + 0.24973544973545*G0_2_0 + 0.167195767195767*G0_2_1 + 0.24973544973545*G0_2_2;
- A[613] = -0.0902998236331581*G0_0_0 - 0.1326278659612*G0_0_1 - 0.090299823633158*G0_0_2 - 0.0592592592592594*G0_1_0 - 0.220105820105821*G0_1_1 - 0.0592592592592593*G0_1_2 - 0.0902998236331575*G0_2_0 - 0.1326278659612*G0_2_1 - 0.0902998236331573*G0_2_2;
- A[614] = -0.0112874779541444*G0_0_0 - 0.0423280423280422*G0_0_1 - 0.0423280423280422*G0_0_2 - 0.0423280423280431*G0_1_0 + 0.0169312169312171*G0_1_1 + 0.0169312169312171*G0_1_2 - 0.0112874779541444*G0_2_0 - 0.0423280423280422*G0_2_1 - 0.0423280423280422*G0_2_2;
- A[615] = -0.00282186948853597*G0_0_0 - 0.0134038800705469*G0_0_1 - 0.0134038800705469*G0_0_2 - 0.0134038800705461*G0_1_0 - 0.00282186948853631*G0_1_1 - 0.00282186948853635*G0_1_2 - 0.00282186948853596*G0_2_0 - 0.013403880070547*G0_2_1 - 0.0134038800705469*G0_2_2;
- A[616] = -0.0112874779541445*G0_0_0 + 0.00282186948853597*G0_0_1 + 0.002821869488536*G0_0_2 + 0.002821869488536*G0_1_0 - 0.0112874779541446*G0_2_0 + 0.00282186948853611*G0_2_1 + 0.00282186948853614*G0_2_2;
- A[617] = 0.016931216931216*G0_0_0 - 0.00282186948853599*G0_0_1 + 0.0169312169312164*G0_0_2 - 0.00282186948853617*G0_1_0 - 0.00282186948853669*G0_1_2 + 0.0169312169312165*G0_2_0 - 0.00282186948853595*G0_2_1 + 0.0169312169312169*G0_2_2;
- A[618] = 0.0846560846560854*G0_0_0 + 0.0423280423280421*G0_0_1 + 0.0846560846560847*G0_0_2 + 0.0423280423280417*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.042328042328042*G0_1_2 + 0.0846560846560844*G0_2_0 + 0.0423280423280419*G0_2_1 + 0.084656084656084*G0_2_2;
- A[619] = 0.0169312169312169*G0_0_0 - 0.00282186948853619*G0_0_1 + 0.0169312169312172*G0_0_2 - 0.0028218694885361*G0_1_0 - 0.00282186948853582*G0_1_2 + 0.016931216931217*G0_2_0 - 0.00282186948853618*G0_2_1 + 0.0169312169312172*G0_2_2;
- A[620] = 0.118518518518518*G0_0_0 + 0.160846560846561*G0_0_1 + 0.0677248677248672*G0_0_2 + 0.0253968253968252*G0_1_0 - 0.0169312169312171*G0_1_1 + 0.16084656084656*G0_1_2 + 0.118518518518518*G0_2_0 + 0.160846560846561*G0_2_1 + 0.0677248677248672*G0_2_2;
- A[621] = -0.0846560846560854*G0_0_0 - 0.177777777777778*G0_0_1 - 0.27089947089947*G0_0_2 - 0.0423280423280417*G0_1_0 - 0.0169312169312165*G0_1_1 - 0.177777777777778*G0_1_2 - 0.0846560846560844*G0_2_0 - 0.177777777777778*G0_2_1 - 0.270899470899471*G0_2_2;
- A[622] = -0.0169312169312168*G0_0_0 + 0.00282186948853637*G0_0_1 + 0.0677248677248682*G0_0_2 + 0.00282186948853613*G0_1_0 + 0.0056437389770724*G0_1_1 + 0.00282186948853658*G0_1_2 - 0.0169312169312169*G0_2_0 + 0.00282186948853623*G0_2_1 + 0.0677248677248681*G0_2_2;
- A[623] = 0.0225749559082894*G0_0_0 - 0.0197530864197534*G0_0_1 + 0.0225749559082892*G0_0_2 - 0.0197530864197535*G0_1_0 + 0.022574955908289*G0_1_1 - 0.0197530864197534*G0_1_2 + 0.0225749559082893*G0_2_0 - 0.0197530864197533*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[624] = 0.0225749559082891*G0_0_0 + 0.00282186948853583*G0_0_1 + 0.0225749559082894*G0_0_2 + 0.0028218694885369*G0_1_0 + 0.00282186948853623*G0_1_2 + 0.0225749559082892*G0_2_0 + 0.00282186948853579*G0_2_1 + 0.0225749559082895*G0_2_2;
- A[625] = 0.0225749559082892*G0_0_0 + 0.00282186948853611*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.00282186948853617*G0_1_0 + 0.00282186948853636*G0_1_2 + 0.0225749559082892*G0_2_0 + 0.0028218694885361*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[626] = 0.0677248677248668*G0_0_0 + 0.160846560846561*G0_0_1 + 0.118518518518518*G0_0_2 + 0.160846560846561*G0_1_0 - 0.0169312169312168*G0_1_1 + 0.0253968253968257*G0_1_2 + 0.0677248677248667*G0_2_0 + 0.160846560846561*G0_2_1 + 0.118518518518518*G0_2_2;
- A[627] = 0.0677248677248672*G0_0_0 + 0.00282186948853685*G0_0_1 - 0.0169312169312167*G0_0_2 + 0.0028218694885363*G0_1_0 + 0.00564373897707202*G0_1_1 + 0.00282186948853635*G0_1_2 + 0.0677248677248674*G0_2_0 + 0.00282186948853649*G0_2_1 - 0.0169312169312172*G0_2_2;
- A[628] = -0.270899470899469*G0_0_0 - 0.177777777777778*G0_0_1 - 0.0846560846560842*G0_0_2 - 0.177777777777778*G0_1_0 - 0.0169312169312167*G0_1_1 - 0.0423280423280419*G0_1_2 - 0.27089947089947*G0_2_0 - 0.177777777777777*G0_2_1 - 0.0846560846560836*G0_2_2;
- A[629] = -0.135449735449734*G0_0_0 - 0.0225749559082884*G0_0_1 - 0.135449735449735*G0_0_2 - 0.022574955908289*G0_1_0 - 0.0451499118165783*G0_1_1 - 0.0225749559082896*G0_1_2 - 0.135449735449735*G0_2_0 - 0.0225749559082883*G0_2_1 - 0.135449735449736*G0_2_2;
- A[630] = -0.00776014109347443*G0_0_0 - 0.00776014109347441*G0_0_1 - 0.00776014109347444*G0_0_2 - 0.0253968253968255*G0_1_0 - 0.0253968253968255*G0_1_1 - 0.0253968253968255*G0_1_2 - 0.00776014109347441*G0_2_0 - 0.00776014109347439*G0_2_1 - 0.00776014109347442*G0_2_2;
- A[631] = 0.00776014109347452*G0_0_0 + 0.00776014109347453*G0_2_0;
- A[632] = -0.0458553791887127*G0_0_1 - 0.0705467372134042*G0_1_1 - 0.0458553791887127*G0_2_1;
- A[633] = 0.00776014109347451*G0_0_2 + 0.00776014109347449*G0_2_2;
- A[634] = -0.0790123456790129*G0_0_1 - 0.158024691358025*G0_0_2 + 0.0225749559082894*G0_1_1 - 0.0790123456790126*G0_1_2 - 0.0790123456790126*G0_2_1 - 0.158024691358025*G0_2_2;
- A[635] = 0.0310405643738979*G0_0_1 + 0.0902998236331573*G0_0_2 - 0.0112874779541447*G0_1_1 + 0.031040564373898*G0_1_2 + 0.0310405643738979*G0_2_1 + 0.0902998236331573*G0_2_2;
- A[636] = -0.0112874779541446*G0_0_1 - 0.0451499118165784*G0_0_2 - 0.0112874779541447*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0451499118165783*G0_2_2;
- A[637] = -0.0112874779541447*G0_0_0 - 0.0112874779541446*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0112874779541445*G0_2_2;
- A[638] = -0.00282186948853613*G0_0_0 - 0.00282186948853645*G0_0_2 - 0.00282186948853611*G0_2_0 - 0.00282186948853646*G0_2_2;
- A[639] = -0.0112874779541446*G0_0_0 - 0.0112874779541444*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0112874779541443*G0_2_2;
- A[640] = -0.045149911816579*G0_0_0 - 0.0112874779541449*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0451499118165789*G0_2_0 - 0.0112874779541448*G0_2_1;
- A[641] = 0.0902998236331583*G0_0_0 + 0.0310405643738983*G0_0_1 + 0.0310405643738979*G0_1_0 - 0.0112874779541451*G0_1_1 + 0.090299823633158*G0_2_0 + 0.031040564373898*G0_2_1;
- A[642] = -0.158024691358026*G0_0_0 - 0.0790123456790133*G0_0_1 - 0.0790123456790129*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.158024691358026*G0_2_0 - 0.0790123456790129*G0_2_1;
- A[643] = 0.0112874779541447*G0_0_0 + 0.0112874779541446*G0_0_1 - 0.0225749559082892*G0_1_0 - 0.0225749559082892*G0_1_1 + 0.0112874779541448*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541445*G0_2_1;
- A[644] = 0.0028218694885364*G0_0_0 + 0.00282186948853641*G0_0_1 - 0.0112874779541446*G0_1_0 - 0.0112874779541446*G0_1_1 + 0.00282186948853602*G0_1_2 + 0.00282186948853647*G0_2_0 + 0.00282186948853647*G0_2_1;
- A[645] = 0.0112874779541446*G0_0_0 + 0.0112874779541446*G0_0_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1;
- A[646] = 0.0451499118165789*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0790123456790126*G0_1_0 + 0.112874779541447*G0_1_1 + 0.0790123456790126*G0_1_2 + 0.0451499118165788*G0_2_0 + 0.0338624338624338*G0_2_1 + 0.0451499118165784*G0_2_2;
- A[647] = -0.0902998236331581*G0_0_0 - 0.0592592592592594*G0_0_1 - 0.0902998236331575*G0_0_2 - 0.1326278659612*G0_1_0 - 0.220105820105821*G0_1_1 - 0.1326278659612*G0_1_2 - 0.090299823633158*G0_2_0 - 0.0592592592592593*G0_2_1 - 0.0902998236331573*G0_2_2;
- A[648] = 0.158024691358026*G0_0_0 + 0.0790123456790129*G0_0_1 + 0.158024691358026*G0_0_2 + 0.0790123456790129*G0_1_0 + 0.203174603174604*G0_1_1 + 0.0790123456790128*G0_1_2 + 0.158024691358026*G0_2_0 + 0.0790123456790128*G0_2_1 + 0.158024691358026*G0_2_2;
- A[649] = 0.0112874779541446*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541449*G0_1_0 - 0.0225749559082892*G0_1_1 - 0.0225749559082893*G0_1_2 + 0.0112874779541446*G0_2_1 + 0.0112874779541445*G0_2_2;
- A[650] = 0.00282186948853631*G0_0_1 + 0.00282186948853612*G0_0_2 + 0.00282186948853587*G0_1_0 - 0.0112874779541447*G0_1_1 - 0.0112874779541446*G0_1_2 + 0.00282186948853627*G0_2_1 + 0.00282186948853608*G0_2_2;
- A[651] = 0.0112874779541449*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541448*G0_2_1 + 0.0112874779541445*G0_2_2;
- A[652] = 0.02257495590829*G0_0_0 - 0.0112874779541449*G0_0_1 + 0.0225749559082896*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541447*G0_1_2 + 0.0225749559082899*G0_2_0 - 0.0112874779541448*G0_2_1 + 0.0225749559082895*G0_2_2;
- A[653] = -0.112874779541447*G0_0_0 - 0.0112874779541444*G0_0_1 - 0.112874779541447*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.045149911816579*G0_1_1 - 0.011287477954145*G0_1_2 - 0.112874779541447*G0_2_0 - 0.0112874779541443*G0_2_1 - 0.112874779541447*G0_2_2;
- A[654] = 0.0225749559082895*G0_0_0 - 0.0112874779541445*G0_0_1 + 0.0225749559082895*G0_0_2 - 0.0112874779541448*G0_1_0 - 0.0112874779541449*G0_1_2 + 0.0225749559082895*G0_2_0 - 0.0112874779541445*G0_2_1 + 0.0225749559082896*G0_2_2;
- A[655] = -0.0225749559082893*G0_0_0 - 0.0338624338624342*G0_0_1 + 0.0112874779541447*G0_1_0 + 0.0677248677248675*G0_1_1 - 0.0338624338624338*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0338624338624341*G0_2_1;
- A[656] = 0.112874779541447*G0_0_0 + 0.101587301587303*G0_0_1 + 0.0112874779541445*G0_1_0 - 0.0677248677248677*G0_1_1 + 0.101587301587302*G0_1_2 + 0.112874779541447*G0_2_0 + 0.101587301587302*G0_2_1;
- A[657] = -0.0225749559082896*G0_0_0 - 0.0338624338624344*G0_0_1 + 0.0112874779541448*G0_1_0 + 0.0225749559082893*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0225749559082896*G0_2_0 - 0.0338624338624344*G0_2_1;
- A[658] = 0.0112874779541452*G0_0_1 + 0.0112874779541447*G0_1_0 - 0.0451499118165783*G0_1_1 + 0.0112874779541449*G0_1_2 + 0.0112874779541451*G0_2_1;
- A[659] = 0.011287477954145*G0_0_1 + 0.011287477954144*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541449*G0_2_1;
- A[660] = 0.0112874779541444*G0_0_1 + 0.0112874779541447*G0_1_0 + 0.0112874779541444*G0_1_2 + 0.0112874779541444*G0_2_1;
- A[661] = -0.0338624338624344*G0_0_1 - 0.0225749559082895*G0_0_2 - 0.0338624338624339*G0_1_0 + 0.0677248677248675*G0_1_1 + 0.0112874779541442*G0_1_2 - 0.0338624338624343*G0_2_1 - 0.0225749559082896*G0_2_2;
- A[662] = -0.0338624338624346*G0_0_1 - 0.0225749559082891*G0_0_2 - 0.033862433862434*G0_1_0 + 0.0225749559082897*G0_1_1 + 0.0112874779541449*G0_1_2 - 0.0338624338624343*G0_2_1 - 0.022574955908289*G0_2_2;
- A[663] = 0.101587301587303*G0_0_1 + 0.112874779541447*G0_0_2 + 0.101587301587302*G0_1_0 - 0.0677248677248677*G0_1_1 + 0.0112874779541448*G0_1_2 + 0.101587301587302*G0_2_1 + 0.112874779541447*G0_2_2;
- A[664] = 0.0902998236331572*G0_1_1;
- A[665] = -0.0705467372134042*G0_0_0 - 0.0705467372134043*G0_0_1 - 0.0705467372134043*G0_0_2 - 0.0246913580246911*G0_1_0 - 0.0246913580246911*G0_1_1 - 0.0246913580246911*G0_1_2 - 0.024691358024691*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0246913580246911*G0_2_2;
- A[666] = -0.0253968253968254*G0_0_0 - 0.0176366843033509*G0_1_0 - 0.0176366843033509*G0_2_0;
- A[667] = 0.00776014109347447*G0_1_1 + 0.0077601410934745*G0_2_1;
- A[668] = 0.00776014109347445*G0_1_2 + 0.00776014109347444*G0_2_2;
- A[669] = -0.0112874779541446*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[670] = -0.00282186948853626*G0_1_1 - 0.00282186948853613*G0_1_2 - 0.00282186948853631*G0_2_1 - 0.00282186948853619*G0_2_2;
- A[671] = -0.0112874779541446*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[672] = -0.0225749559082887*G0_0_0 - 0.0338624338624335*G0_0_2 - 0.0338624338624336*G0_1_0 - 0.0451499118165783*G0_1_2 - 0.0338624338624335*G0_2_0 - 0.0451499118165782*G0_2_2;
- A[673] = -0.0112874779541444*G0_0_0 - 0.0141093474426804*G0_0_2 - 0.0141093474426806*G0_1_0 - 0.0169312169312169*G0_1_2 - 0.0141093474426806*G0_2_0 - 0.0169312169312169*G0_2_2;
- A[674] = -0.0112874779541444*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0225749559082889*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.0225749559082889*G0_2_2;
- A[675] = -0.0225749559082887*G0_0_0 - 0.0338624338624335*G0_0_1 - 0.0338624338624337*G0_1_0 - 0.0451499118165786*G0_1_1 - 0.0338624338624336*G0_2_0 - 0.0451499118165785*G0_2_1;
- A[676] = -0.0112874779541443*G0_0_0 - 0.0141093474426805*G0_0_1 - 0.0141093474426804*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.0141093474426804*G0_2_0 - 0.0169312169312161*G0_2_1;
- A[677] = -0.0112874779541446*G0_0_1 - 0.0112874779541447*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0112874779541445*G0_2_0 - 0.0225749559082894*G0_2_1;
- A[678] = 0.0225749559082886*G0_0_0 + 0.0225749559082886*G0_0_1 + 0.101587301587302*G0_0_2 + 0.101587301587301*G0_1_0 + 0.101587301587301*G0_1_1 + 0.0225749559082891*G0_1_2 + 0.101587301587301*G0_2_0 + 0.101587301587301*G0_2_1 + 0.022574955908289*G0_2_2;
- A[679] = -0.0112874779541442*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0423280423280431*G0_0_2 - 0.0423280423280425*G0_1_0 - 0.0423280423280425*G0_1_1 + 0.0169312169312168*G0_1_2 - 0.0423280423280425*G0_2_0 - 0.0423280423280424*G0_2_1 + 0.0169312169312168*G0_2_2;
- A[680] = 0.0112874779541448*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_1 - 0.022574955908289*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0225749559082891*G0_2_2;
- A[681] = 0.0225749559082887*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0225749559082887*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.101587301587301*G0_2_2;
- A[682] = -0.0112874779541444*G0_0_0 - 0.042328042328043*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0423280423280422*G0_1_0 + 0.0169312169312171*G0_1_1 - 0.0423280423280422*G0_1_2 - 0.0423280423280422*G0_2_0 + 0.0169312169312171*G0_2_1 - 0.0423280423280422*G0_2_2;
- A[683] = 0.0112874779541449*G0_0_1 + 0.0112874779541446*G0_1_0 - 0.0225749559082892*G0_1_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 - 0.0225749559082893*G0_2_1 + 0.0112874779541445*G0_2_2;
+ A[577] = -0.118518518518518*G0_0_0 - 0.16084656084656*G0_0_1 - 0.118518518518518*G0_0_2 - 0.0874779541446202*G0_1_0 - 0.22010582010582*G0_1_1 - 0.0874779541446201*G0_1_2 - 0.118518518518518*G0_2_0 - 0.16084656084656*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[578] = 0.0451499118165788*G0_0_0 + 0.0790123456790123*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0338624338624337*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0338624338624336*G0_1_2 + 0.0451499118165785*G0_2_0 + 0.0790123456790123*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[579] = 0.0225749559082886*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587302*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.0225749559082888*G0_1_2 + 0.0225749559082886*G0_2_0 + 0.101587301587301*G0_2_1 + 0.101587301587301*G0_2_2;
+ A[580] = 0.0169312169312175*G0_0_0 - 0.042328042328042*G0_0_1 - 0.042328042328042*G0_0_2 - 0.0423280423280427*G0_1_0 - 0.011287477954144*G0_1_1 - 0.0112874779541441*G0_1_2 + 0.0169312169312175*G0_2_0 - 0.0423280423280421*G0_2_1 - 0.0423280423280421*G0_2_2;
+ A[581] = -0.0225749559082897*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541446*G0_1_0 - 0.0225749559082896*G0_2_0 + 0.0112874779541444*G0_2_1 + 0.0112874779541443*G0_2_2;
+ A[582] = -0.0225749559082883*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0225749559082878*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0112874779541436*G0_1_2 - 0.0225749559082887*G0_2_0 - 0.0112874779541442*G0_2_1 - 0.0225749559082881*G0_2_2;
+ A[583] = -0.0677248677248679*G0_0_0 - 0.0564373897707229*G0_0_1 - 0.0677248677248673*G0_0_2 - 0.0564373897707228*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.0564373897707227*G0_1_2 - 0.0677248677248674*G0_2_0 - 0.0564373897707229*G0_2_1 - 0.0677248677248672*G0_2_2;
+ A[584] = -0.0225749559082892*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0225749559082898*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0112874779541452*G0_1_2 - 0.0225749559082891*G0_2_0 - 0.0112874779541447*G0_2_1 - 0.0225749559082898*G0_2_2;
+ A[585] = -0.0677248677248671*G0_0_0 - 0.169312169312169*G0_0_1 - 0.270899470899471*G0_0_2 - 0.0790123456790128*G0_1_0 - 0.0677248677248672*G0_1_1 - 0.169312169312169*G0_1_2 - 0.0677248677248676*G0_2_0 - 0.169312169312169*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[586] = 0.0677248677248679*G0_0_0 + 0.101587301587301*G0_0_1 + 0.135449735449734*G0_0_2 + 0.0564373897707228*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.101587301587301*G0_1_2 + 0.0677248677248674*G0_2_0 + 0.101587301587301*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[587] = 0.0225749559082891*G0_0_0 + 0.0564373897707232*G0_0_1 + 0.090299823633157*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.0564373897707235*G0_1_2 + 0.0225749559082891*G0_2_0 + 0.0564373897707231*G0_2_1 + 0.090299823633157*G0_2_2;
+ A[588] = -0.135449735449736*G0_0_0 - 0.0338624338624337*G0_0_1 - 0.135449735449736*G0_0_2 - 0.0338624338624332*G0_1_0 - 0.0451499118165789*G0_1_1 - 0.0338624338624339*G0_1_2 - 0.135449735449736*G0_2_0 - 0.033862433862434*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[589] = 0.0451499118165786*G0_0_0 + 0.0112874779541443*G0_0_1 + 0.0451499118165782*G0_0_2 + 0.0112874779541438*G0_1_0 + 0.0112874779541443*G0_1_2 + 0.0451499118165785*G0_2_0 + 0.0112874779541442*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[590] = 0.0451499118165787*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.0451499118165785*G0_0_2 + 0.0112874779541448*G0_1_0 + 0.011287477954145*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0112874779541445*G0_2_1 + 0.0451499118165784*G0_2_2;
+ A[591] = -0.270899470899471*G0_0_0 - 0.169312169312169*G0_0_1 - 0.067724867724867*G0_0_2 - 0.169312169312168*G0_1_0 - 0.0677248677248673*G0_1_1 - 0.0790123456790121*G0_1_2 - 0.270899470899471*G0_2_0 - 0.169312169312169*G0_2_1 - 0.0677248677248676*G0_2_2;
+ A[592] = 0.0902998236331572*G0_0_0 + 0.0564373897707222*G0_0_1 + 0.0225749559082884*G0_0_2 + 0.0564373897707223*G0_1_0 + 0.0225749559082887*G0_1_1 + 0.0112874779541439*G0_1_2 + 0.0902998236331572*G0_2_0 + 0.0564373897707227*G0_2_1 + 0.0225749559082886*G0_2_2;
+ A[593] = 0.135449735449734*G0_0_0 + 0.101587301587301*G0_0_1 + 0.0677248677248671*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.0564373897707226*G0_1_2 + 0.135449735449734*G0_2_0 + 0.101587301587301*G0_2_1 + 0.067724867724867*G0_2_2;
+ A[594] = 0.0902998236331555*G0_0_0 + 0.0902998236331565*G0_0_1 + 0.0902998236331565*G0_0_2 + 0.0902998236331576*G0_1_0 + 0.0902998236331576*G0_1_1 + 0.0902998236331571*G0_1_2 + 0.0902998236331564*G0_2_0 + 0.0902998236331567*G0_2_1 + 0.0902998236331571*G0_2_2;
+ A[595] = 0.0202821869488533*G0_0_0 + 0.0202821869488534*G0_0_1 + 0.0202821869488534*G0_0_2 + 0.052910052910053*G0_1_0 + 0.052910052910053*G0_1_1 + 0.052910052910053*G0_1_2 + 0.0202821869488533*G0_2_0 + 0.0202821869488534*G0_2_1 + 0.0202821869488534*G0_2_2;
+ A[596] = 0.00511463844797159*G0_0_0 + 0.00511463844797161*G0_2_0;
+ A[597] = 0.0326278659611995*G0_0_1 + 0.0529100529100531*G0_1_1 + 0.0326278659611994*G0_2_1;
+ A[598] = 0.00511463844797175*G0_0_2 + 0.00511463844797177*G0_2_2;
+ A[599] = 0.0592592592592592*G0_0_1 + 0.0902998236331573*G0_0_2 + 0.0169312169312163*G0_1_1 + 0.059259259259259*G0_1_2 + 0.0592592592592588*G0_2_1 + 0.0902998236331568*G0_2_2;
+ A[600] = 0.0105820105820107*G0_0_1 + 0.0211640211640208*G0_0_2 - 0.00282186948853596*G0_1_1 + 0.0105820105820104*G0_1_2 + 0.0105820105820108*G0_2_1 + 0.0211640211640209*G0_2_2;
+ A[601] = -0.00282186948853616*G0_0_1 - 0.0169312169312168*G0_0_2 - 0.00282186948853624*G0_1_2 - 0.00282186948853618*G0_2_1 - 0.0169312169312169*G0_2_2;
+ A[602] = -0.0028218694885362*G0_0_0 - 0.00282186948853608*G0_0_2 - 0.0028218694885363*G0_2_0 - 0.00282186948853624*G0_2_2;
+ A[603] = -0.00917107583774231*G0_0_0 - 0.00917107583774229*G0_0_2 - 0.00917107583774232*G0_2_0 - 0.00917107583774229*G0_2_2;
+ A[604] = -0.00282186948853619*G0_0_0 - 0.00282186948853641*G0_0_2 - 0.00282186948853621*G0_2_0 - 0.00282186948853639*G0_2_2;
+ A[605] = -0.0169312169312163*G0_0_0 - 0.00282186948853561*G0_0_1 - 0.0028218694885365*G0_1_0 - 0.0169312169312165*G0_2_0 - 0.00282186948853577*G0_2_1;
+ A[606] = 0.0211640211640195*G0_0_0 + 0.0105820105820094*G0_0_1 + 0.0105820105820104*G0_1_0 - 0.0028218694885357*G0_1_1 + 0.02116402116402*G0_2_0 + 0.0105820105820099*G0_2_1;
+ A[607] = 0.0902998236331577*G0_0_0 + 0.0592592592592595*G0_0_1 + 0.0592592592592592*G0_1_0 + 0.0169312169312162*G0_1_1 + 0.0902998236331572*G0_2_0 + 0.0592592592592591*G0_2_1;
+ A[608] = -0.0423280423280424*G0_0_0 - 0.0423280423280423*G0_0_1 - 0.0112874779541442*G0_0_2 + 0.0169312169312172*G0_1_0 + 0.0169312169312172*G0_1_1 - 0.0423280423280424*G0_1_2 - 0.0423280423280423*G0_2_0 - 0.0423280423280422*G0_2_1 - 0.0112874779541442*G0_2_2;
+ A[609] = -0.0134038800705465*G0_0_0 - 0.0134038800705465*G0_0_1 - 0.0028218694885363*G0_0_2 - 0.00282186948853599*G0_1_0 - 0.00282186948853601*G0_1_1 - 0.0134038800705466*G0_1_2 - 0.0134038800705465*G0_2_0 - 0.0134038800705465*G0_2_1 - 0.00282186948853626*G0_2_2;
+ A[610] = 0.00282186948853616*G0_0_0 + 0.00282186948853613*G0_0_1 - 0.0112874779541446*G0_0_2 + 0.00282186948853607*G0_1_2 + 0.00282186948853617*G0_2_0 + 0.00282186948853615*G0_2_1 - 0.0112874779541446*G0_2_2;
+ A[611] = -0.118518518518518*G0_0_0 - 0.0874779541446202*G0_0_1 - 0.118518518518518*G0_0_2 - 0.16084656084656*G0_1_0 - 0.22010582010582*G0_1_1 - 0.16084656084656*G0_1_2 - 0.118518518518518*G0_2_0 - 0.0874779541446201*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[612] = 0.249735449735449*G0_0_0 + 0.167195767195767*G0_0_1 + 0.249735449735449*G0_0_2 + 0.167195767195767*G0_1_0 + 0.334391534391534*G0_1_1 + 0.167195767195767*G0_1_2 + 0.249735449735449*G0_2_0 + 0.167195767195767*G0_2_1 + 0.249735449735449*G0_2_2;
+ A[613] = -0.0902998236331577*G0_0_0 - 0.1326278659612*G0_0_1 - 0.0902998236331576*G0_0_2 - 0.0592592592592592*G0_1_0 - 0.22010582010582*G0_1_1 - 0.0592592592592591*G0_1_2 - 0.0902998236331572*G0_2_0 - 0.1326278659612*G0_2_1 - 0.090299823633157*G0_2_2;
+ A[614] = -0.0112874779541442*G0_0_0 - 0.0423280423280421*G0_0_1 - 0.0423280423280421*G0_0_2 - 0.0423280423280426*G0_1_0 + 0.0169312169312172*G0_1_1 + 0.0169312169312172*G0_1_2 - 0.0112874779541443*G0_2_0 - 0.0423280423280421*G0_2_1 - 0.0423280423280421*G0_2_2;
+ A[615] = -0.00282186948853618*G0_0_0 - 0.0134038800705469*G0_0_1 - 0.0134038800705469*G0_0_2 - 0.0134038800705465*G0_1_0 - 0.00282186948853651*G0_1_1 - 0.00282186948853648*G0_1_2 - 0.00282186948853611*G0_2_0 - 0.0134038800705469*G0_2_1 - 0.0134038800705469*G0_2_2;
+ A[616] = -0.0112874779541446*G0_0_0 + 0.00282186948853601*G0_0_1 + 0.00282186948853603*G0_0_2 + 0.00282186948853622*G0_1_0 - 0.0112874779541446*G0_2_0 + 0.00282186948853617*G0_2_1 + 0.00282186948853619*G0_2_2;
+ A[617] = 0.0169312169312164*G0_0_0 - 0.00282186948853606*G0_0_1 + 0.0169312169312163*G0_0_2 - 0.00282186948853575*G0_1_0 - 0.00282186948853671*G0_1_2 + 0.0169312169312169*G0_2_0 - 0.00282186948853604*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[618] = 0.0846560846560852*G0_0_0 + 0.0423280423280425*G0_0_1 + 0.0846560846560844*G0_0_2 + 0.0423280423280418*G0_1_0 + 0.0225749559082901*G0_1_1 + 0.042328042328042*G0_1_2 + 0.0846560846560844*G0_2_0 + 0.0423280423280424*G0_2_1 + 0.084656084656084*G0_2_2;
+ A[619] = 0.016931216931217*G0_0_0 - 0.00282186948853609*G0_0_1 + 0.0169312169312177*G0_0_2 - 0.00282186948853599*G0_1_0 - 0.00282186948853549*G0_1_2 + 0.0169312169312171*G0_2_0 - 0.0028218694885361*G0_2_1 + 0.0169312169312176*G0_2_2;
+ A[620] = 0.118518518518519*G0_0_0 + 0.160846560846561*G0_0_1 + 0.0677248677248673*G0_0_2 + 0.0253968253968257*G0_1_0 - 0.0169312169312174*G0_1_1 + 0.160846560846561*G0_1_2 + 0.118518518518519*G0_2_0 + 0.160846560846561*G0_2_1 + 0.0677248677248672*G0_2_2;
+ A[621] = -0.0846560846560853*G0_0_0 - 0.177777777777778*G0_0_1 - 0.27089947089947*G0_0_2 - 0.0423280423280419*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.177777777777777*G0_1_2 - 0.0846560846560845*G0_2_0 - 0.177777777777777*G0_2_1 - 0.27089947089947*G0_2_2;
+ A[622] = -0.0169312169312169*G0_0_0 + 0.00282186948853579*G0_0_1 + 0.0677248677248675*G0_0_2 + 0.00282186948853601*G0_1_0 + 0.00564373897707196*G0_1_1 + 0.00282186948853601*G0_1_2 - 0.016931216931217*G0_2_0 + 0.00282186948853573*G0_2_1 + 0.0677248677248675*G0_2_2;
+ A[623] = 0.0225749559082894*G0_0_0 - 0.0197530864197529*G0_0_1 + 0.0225749559082895*G0_0_2 - 0.0197530864197534*G0_1_0 + 0.0225749559082897*G0_1_1 - 0.0197530864197531*G0_1_2 + 0.0225749559082894*G0_2_0 - 0.0197530864197527*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[624] = 0.0225749559082892*G0_0_0 + 0.00282186948853597*G0_0_1 + 0.0225749559082895*G0_0_2 + 0.00282186948853688*G0_1_0 + 0.00282186948853628*G0_1_2 + 0.0225749559082893*G0_2_0 + 0.00282186948853595*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[625] = 0.0225749559082889*G0_0_0 + 0.00282186948853616*G0_0_1 + 0.0225749559082889*G0_0_2 + 0.00282186948853592*G0_1_0 + 0.002821869488536*G0_1_2 + 0.0225749559082889*G0_2_0 + 0.00282186948853617*G0_2_1 + 0.0225749559082889*G0_2_2;
+ A[626] = 0.0677248677248665*G0_0_0 + 0.16084656084656*G0_0_1 + 0.118518518518518*G0_0_2 + 0.16084656084656*G0_1_0 - 0.0169312169312172*G0_1_1 + 0.0253968253968255*G0_1_2 + 0.0677248677248665*G0_2_0 + 0.16084656084656*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[627] = 0.0677248677248676*G0_0_0 + 0.00282186948853681*G0_0_1 - 0.0169312169312166*G0_0_2 + 0.00282186948853672*G0_1_0 + 0.00564373897707203*G0_1_1 + 0.00282186948853633*G0_1_2 + 0.0677248677248676*G0_2_0 + 0.0028218694885363*G0_2_1 - 0.0169312169312171*G0_2_2;
+ A[628] = -0.270899470899469*G0_0_0 - 0.177777777777777*G0_0_1 - 0.084656084656084*G0_0_2 - 0.177777777777777*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.042328042328042*G0_1_2 - 0.270899470899469*G0_2_0 - 0.177777777777777*G0_2_1 - 0.0846560846560836*G0_2_2;
+ A[629] = -0.135449735449735*G0_0_0 - 0.0225749559082896*G0_0_1 - 0.135449735449736*G0_0_2 - 0.02257495590829*G0_1_0 - 0.0451499118165797*G0_1_1 - 0.0225749559082897*G0_1_2 - 0.135449735449736*G0_2_0 - 0.0225749559082897*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[630] = -0.00776014109347441*G0_0_0 - 0.00776014109347439*G0_0_1 - 0.00776014109347442*G0_0_2 - 0.0253968253968254*G0_1_0 - 0.0253968253968254*G0_1_1 - 0.0253968253968254*G0_1_2 - 0.00776014109347439*G0_2_0 - 0.00776014109347437*G0_2_1 - 0.00776014109347439*G0_2_2;
+ A[631] = 0.00776014109347458*G0_0_0 + 0.00776014109347457*G0_2_0;
+ A[632] = -0.0458553791887127*G0_0_1 - 0.0705467372134043*G0_1_1 - 0.0458553791887127*G0_2_1;
+ A[633] = 0.00776014109347452*G0_0_2 + 0.0077601410934745*G0_2_2;
+ A[634] = -0.0790123456790126*G0_0_1 - 0.158024691358025*G0_0_2 + 0.0225749559082896*G0_1_1 - 0.0790123456790126*G0_1_2 - 0.0790123456790122*G0_2_1 - 0.158024691358024*G0_2_2;
+ A[635] = 0.0310405643738978*G0_0_1 + 0.0902998236331572*G0_0_2 - 0.0112874779541447*G0_1_1 + 0.031040564373898*G0_1_2 + 0.0310405643738978*G0_2_1 + 0.0902998236331572*G0_2_2;
+ A[636] = -0.0112874779541446*G0_0_1 - 0.0451499118165785*G0_0_2 - 0.0112874779541447*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0451499118165784*G0_2_2;
+ A[637] = -0.0112874779541445*G0_0_0 - 0.0112874779541444*G0_0_2 - 0.0112874779541444*G0_2_0 - 0.0112874779541443*G0_2_2;
+ A[638] = -0.00282186948853643*G0_0_0 - 0.00282186948853667*G0_0_2 - 0.00282186948853643*G0_2_0 - 0.00282186948853668*G0_2_2;
+ A[639] = -0.0112874779541446*G0_0_0 - 0.0112874779541445*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0112874779541445*G0_2_2;
+ A[640] = -0.0451499118165789*G0_0_0 - 0.0112874779541448*G0_0_1 - 0.0112874779541445*G0_1_0 - 0.0451499118165788*G0_2_0 - 0.0112874779541447*G0_2_1;
+ A[641] = 0.0902998236331582*G0_0_0 + 0.0310405643738982*G0_0_1 + 0.031040564373898*G0_1_0 - 0.011287477954145*G0_1_1 + 0.0902998236331579*G0_2_0 + 0.0310405643738979*G0_2_1;
+ A[642] = -0.158024691358026*G0_0_0 - 0.0790123456790131*G0_0_1 - 0.0790123456790128*G0_1_0 + 0.0225749559082896*G0_1_1 - 0.158024691358026*G0_2_0 - 0.0790123456790127*G0_2_1;
+ A[643] = 0.0112874779541447*G0_0_0 + 0.0112874779541445*G0_0_1 - 0.0225749559082893*G0_1_0 - 0.0225749559082893*G0_1_1 + 0.0112874779541445*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541444*G0_2_1;
+ A[644] = 0.00282186948853607*G0_0_0 + 0.00282186948853608*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0112874779541448*G0_1_1 + 0.0028218694885362*G0_1_2 + 0.00282186948853613*G0_2_0 + 0.00282186948853614*G0_2_1;
+ A[645] = 0.0112874779541445*G0_0_0 + 0.0112874779541446*G0_0_1 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1;
+ A[646] = 0.0451499118165788*G0_0_0 + 0.0338624338624337*G0_0_1 + 0.0451499118165785*G0_0_2 + 0.0790123456790123*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0790123456790123*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0338624338624336*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[647] = -0.0902998236331577*G0_0_0 - 0.0592592592592592*G0_0_1 - 0.0902998236331572*G0_0_2 - 0.1326278659612*G0_1_0 - 0.22010582010582*G0_1_1 - 0.1326278659612*G0_1_2 - 0.0902998236331576*G0_2_0 - 0.0592592592592591*G0_2_1 - 0.0902998236331571*G0_2_2;
+ A[648] = 0.158024691358026*G0_0_0 + 0.0790123456790129*G0_0_1 + 0.158024691358026*G0_0_2 + 0.0790123456790128*G0_1_0 + 0.203174603174604*G0_1_1 + 0.0790123456790128*G0_1_2 + 0.158024691358026*G0_2_0 + 0.0790123456790128*G0_2_1 + 0.158024691358025*G0_2_2;
+ A[649] = 0.0112874779541445*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0112874779541446*G0_1_0 - 0.0225749559082894*G0_1_1 - 0.0225749559082894*G0_1_2 + 0.0112874779541444*G0_2_1 + 0.0112874779541443*G0_2_2;
+ A[650] = 0.00282186948853629*G0_0_1 + 0.00282186948853614*G0_0_2 + 0.00282186948853608*G0_1_0 - 0.0112874779541445*G0_1_1 - 0.0112874779541445*G0_1_2 + 0.00282186948853623*G0_2_1 + 0.00282186948853608*G0_2_2;
+ A[651] = 0.0112874779541448*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541446*G0_2_1 + 0.0112874779541444*G0_2_2;
+ A[652] = 0.0225749559082896*G0_0_0 - 0.0112874779541449*G0_0_1 + 0.0225749559082897*G0_0_2 - 0.0112874779541452*G0_1_0 - 0.0112874779541446*G0_1_2 + 0.0225749559082894*G0_2_0 - 0.0112874779541448*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[653] = -0.112874779541447*G0_0_0 - 0.011287477954145*G0_0_1 - 0.112874779541448*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0451499118165795*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.112874779541447*G0_2_0 - 0.0112874779541447*G0_2_1 - 0.112874779541447*G0_2_2;
+ A[654] = 0.0225749559082893*G0_0_0 - 0.0112874779541449*G0_0_1 + 0.0225749559082891*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541451*G0_1_2 + 0.0225749559082893*G0_2_0 - 0.0112874779541448*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[655] = -0.0225749559082899*G0_0_0 - 0.0338624338624341*G0_0_1 + 0.0112874779541444*G0_1_0 + 0.0677248677248679*G0_1_1 - 0.0338624338624337*G0_1_2 - 0.0225749559082898*G0_2_0 - 0.0338624338624339*G0_2_1;
+ A[656] = 0.112874779541447*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0112874779541447*G0_1_0 - 0.0677248677248681*G0_1_1 + 0.101587301587301*G0_1_2 + 0.112874779541447*G0_2_0 + 0.101587301587302*G0_2_1;
+ A[657] = -0.0225749559082893*G0_0_0 - 0.0338624338624338*G0_0_1 + 0.0112874779541449*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.0338624338624338*G0_1_2 - 0.0225749559082894*G0_2_0 - 0.0338624338624339*G0_2_1;
+ A[658] = 0.0112874779541442*G0_0_1 + 0.0112874779541449*G0_1_0 - 0.0451499118165786*G0_1_1 + 0.0112874779541449*G0_1_2 + 0.0112874779541441*G0_2_1;
+ A[659] = 0.011287477954145*G0_0_1 + 0.0112874779541439*G0_1_0 + 0.0112874779541445*G0_1_2 + 0.011287477954145*G0_2_1;
+ A[660] = 0.0112874779541447*G0_0_1 + 0.0112874779541448*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541447*G0_2_1;
+ A[661] = -0.0338624338624339*G0_0_1 - 0.0225749559082896*G0_0_2 - 0.0338624338624334*G0_1_0 + 0.0677248677248679*G0_1_1 + 0.0112874779541446*G0_1_2 - 0.0338624338624338*G0_2_1 - 0.0225749559082897*G0_2_2;
+ A[662] = -0.0338624338624344*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0338624338624344*G0_1_0 + 0.0225749559082896*G0_1_1 + 0.0112874779541448*G0_1_2 - 0.033862433862434*G0_2_1 - 0.022574955908289*G0_2_2;
+ A[663] = 0.101587301587302*G0_0_1 + 0.112874779541447*G0_0_2 + 0.101587301587302*G0_1_0 - 0.0677248677248683*G0_1_1 + 0.0112874779541449*G0_1_2 + 0.101587301587302*G0_2_1 + 0.112874779541447*G0_2_2;
+ A[664] = 0.0902998236331579*G0_1_1;
+ A[665] = -0.0705467372134042*G0_0_0 - 0.0705467372134043*G0_0_1 - 0.0705467372134042*G0_0_2 - 0.0246913580246911*G0_1_0 - 0.0246913580246912*G0_1_1 - 0.0246913580246912*G0_1_2 - 0.0246913580246911*G0_2_0 - 0.0246913580246911*G0_2_1 - 0.0246913580246911*G0_2_2;
+ A[666] = -0.0253968253968253*G0_0_0 - 0.0176366843033508*G0_1_0 - 0.0176366843033508*G0_2_0;
+ A[667] = 0.00776014109347455*G0_1_1 + 0.00776014109347459*G0_2_1;
+ A[668] = 0.00776014109347448*G0_1_2 + 0.00776014109347446*G0_2_2;
+ A[669] = -0.0112874779541446*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[670] = -0.00282186948853638*G0_1_1 - 0.00282186948853626*G0_1_2 - 0.00282186948853639*G0_2_1 - 0.00282186948853633*G0_2_2;
+ A[671] = -0.0112874779541445*G0_1_1 - 0.0112874779541446*G0_1_2 - 0.0112874779541445*G0_2_1 - 0.0112874779541446*G0_2_2;
+ A[672] = -0.0225749559082886*G0_0_0 - 0.0338624338624333*G0_0_2 - 0.0338624338624334*G0_1_0 - 0.0451499118165781*G0_1_2 - 0.0338624338624334*G0_2_0 - 0.0451499118165781*G0_2_2;
+ A[673] = -0.0112874779541445*G0_0_0 - 0.0141093474426807*G0_0_2 - 0.0141093474426807*G0_1_0 - 0.0169312169312169*G0_1_2 - 0.0141093474426807*G0_2_0 - 0.0169312169312169*G0_2_2;
+ A[674] = -0.0112874779541446*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0225749559082889*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.022574955908289*G0_2_2;
+ A[675] = -0.0225749559082887*G0_0_0 - 0.0338624338624333*G0_0_1 - 0.0338624338624336*G0_1_0 - 0.0451499118165784*G0_1_1 - 0.0338624338624335*G0_2_0 - 0.0451499118165784*G0_2_1;
+ A[676] = -0.0112874779541444*G0_0_0 - 0.0141093474426806*G0_0_1 - 0.0141093474426806*G0_1_0 - 0.0169312169312163*G0_1_1 - 0.0141093474426805*G0_2_0 - 0.0169312169312163*G0_2_1;
+ A[677] = -0.0112874779541445*G0_0_1 - 0.0112874779541445*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0112874779541444*G0_2_0 - 0.0225749559082893*G0_2_1;
+ A[678] = 0.0225749559082887*G0_0_0 + 0.0225749559082888*G0_0_1 + 0.101587301587302*G0_0_2 + 0.101587301587302*G0_1_0 + 0.101587301587301*G0_1_1 + 0.0225749559082892*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[679] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0423280423280429*G0_0_2 - 0.0423280423280423*G0_1_0 - 0.0423280423280423*G0_1_1 + 0.0169312169312167*G0_1_2 - 0.0423280423280422*G0_2_0 - 0.0423280423280422*G0_2_1 + 0.0169312169312167*G0_2_2;
+ A[680] = 0.0112874779541448*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0112874779541445*G0_1_1 - 0.0225749559082891*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.022574955908289*G0_2_2;
+ A[681] = 0.0225749559082886*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0225749559082886*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.101587301587301*G0_2_2;
+ A[682] = -0.0112874779541442*G0_0_0 - 0.0423280423280426*G0_0_1 - 0.0112874779541443*G0_0_2 - 0.0423280423280421*G0_1_0 + 0.0169312169312172*G0_1_1 - 0.0423280423280421*G0_1_2 - 0.0423280423280421*G0_2_0 + 0.0169312169312172*G0_2_1 - 0.0423280423280421*G0_2_2;
+ A[683] = 0.0112874779541446*G0_0_1 + 0.0112874779541445*G0_1_0 - 0.0225749559082894*G0_1_1 + 0.0112874779541444*G0_1_2 + 0.0112874779541444*G0_2_0 - 0.0225749559082894*G0_2_1 + 0.0112874779541443*G0_2_2;
A[684] = 0.203174603174604*G0_0_0 + 0.12416225749559*G0_0_1 + 0.12416225749559*G0_0_2 + 0.12416225749559*G0_1_0 + 0.203174603174603*G0_1_1 + 0.203174603174603*G0_1_2 + 0.12416225749559*G0_2_0 + 0.203174603174603*G0_2_1 + 0.203174603174603*G0_2_2;
- A[685] = -0.22010582010582*G0_0_0 - 0.0874779541446201*G0_0_1 - 0.0874779541446201*G0_0_2 - 0.16084656084656*G0_1_0 - 0.118518518518518*G0_1_1 - 0.118518518518518*G0_1_2 - 0.16084656084656*G0_2_0 - 0.118518518518517*G0_2_1 - 0.118518518518518*G0_2_2;
- A[686] = 0.112874779541446*G0_0_0 + 0.0338624338624336*G0_0_1 + 0.0338624338624336*G0_0_2 + 0.0790123456790118*G0_1_0 + 0.0451499118165784*G0_1_1 + 0.0451499118165785*G0_1_2 + 0.0790123456790118*G0_2_0 + 0.0451499118165784*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[687] = -0.0451499118165775*G0_0_0 - 0.0564373897707217*G0_0_1 - 0.0564373897707218*G0_0_2 - 0.0564373897707225*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.0677248677248669*G0_1_2 - 0.0564373897707224*G0_2_0 - 0.0677248677248671*G0_2_1 - 0.0677248677248668*G0_2_2;
- A[688] = -0.0112874779541448*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0112874779541448*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0225749559082891*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.0225749559082891*G0_2_1 - 0.0225749559082888*G0_2_2;
- A[689] = -0.0112874779541442*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0225749559082893*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.0225749559082889*G0_2_1 - 0.0225749559082894*G0_2_2;
- A[690] = -0.045149911816578*G0_0_0 - 0.0338624338624333*G0_0_1 - 0.033862433862433*G0_0_2 - 0.033862433862434*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449736*G0_1_2 - 0.0338624338624339*G0_2_0 - 0.135449735449736*G0_2_1 - 0.135449735449736*G0_2_2;
- A[691] = 0.0112874779541445*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0112874779541448*G0_1_0 + 0.0451499118165789*G0_1_1 + 0.0451499118165785*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0451499118165788*G0_2_1 + 0.0451499118165786*G0_2_2;
- A[692] = 0.0112874779541443*G0_0_1 + 0.0112874779541442*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0451499118165787*G0_1_1 + 0.0451499118165785*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0451499118165787*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[693] = -0.0677248677248664*G0_0_0 - 0.0790123456790112*G0_0_1 - 0.169312169312168*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.270899470899471*G0_1_2 - 0.169312169312169*G0_2_0 - 0.0677248677248669*G0_2_1 - 0.270899470899471*G0_2_2;
- A[694] = 0.0677248677248665*G0_0_0 + 0.0564373897707216*G0_0_1 + 0.1015873015873*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248672*G0_1_1 + 0.135449735449734*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0677248677248671*G0_2_1 + 0.135449735449734*G0_2_2;
- A[695] = 0.0225749559082886*G0_0_0 + 0.0112874779541442*G0_0_1 + 0.0564373897707227*G0_0_2 + 0.056437389770723*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0902998236331572*G0_1_2 + 0.056437389770723*G0_2_0 + 0.0225749559082888*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[696] = -0.0677248677248664*G0_0_0 - 0.169312169312168*G0_0_1 - 0.0790123456790114*G0_0_2 - 0.169312169312169*G0_1_0 - 0.27089947089947*G0_1_1 - 0.067724867724867*G0_1_2 - 0.169312169312169*G0_2_0 - 0.270899470899471*G0_2_1 - 0.0677248677248669*G0_2_2;
- A[697] = 0.0677248677248665*G0_0_0 + 0.1015873015873*G0_0_1 + 0.0564373897707216*G0_0_2 + 0.101587301587301*G0_1_0 + 0.135449735449734*G0_1_1 + 0.067724867724867*G0_1_2 + 0.101587301587301*G0_2_0 + 0.135449735449734*G0_2_1 + 0.0677248677248669*G0_2_2;
- A[698] = 0.0225749559082887*G0_0_0 + 0.0564373897707231*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0564373897707226*G0_1_0 + 0.0902998236331569*G0_1_1 + 0.022574955908289*G0_1_2 + 0.0564373897707226*G0_2_0 + 0.0902998236331568*G0_2_1 + 0.0225749559082886*G0_2_2;
- A[699] = 0.0902998236331556*G0_0_0 + 0.0902998236331561*G0_0_1 + 0.090299823633156*G0_0_2 + 0.0902998236331565*G0_1_0 + 0.0902998236331562*G0_1_1 + 0.0902998236331564*G0_1_2 + 0.0902998236331563*G0_2_0 + 0.0902998236331558*G0_2_1 + 0.0902998236331564*G0_2_2;
- A[700] = 0.0529100529100532*G0_0_0 + 0.0529100529100532*G0_0_1 + 0.0529100529100532*G0_0_2 + 0.0202821869488534*G0_1_0 + 0.0202821869488533*G0_1_1 + 0.0202821869488534*G0_1_2 + 0.0202821869488534*G0_2_0 + 0.0202821869488533*G0_2_1 + 0.0202821869488534*G0_2_2;
- A[701] = 0.0529100529100529*G0_0_0 + 0.0326278659611993*G0_1_0 + 0.0326278659611993*G0_2_0;
- A[702] = 0.0051146384479718*G0_1_1 + 0.00511463844797182*G0_2_1;
- A[703] = 0.00511463844797176*G0_1_2 + 0.00511463844797173*G0_2_2;
- A[704] = -0.00282186948853632*G0_1_1 - 0.00282186948853629*G0_1_2 - 0.00282186948853618*G0_2_1 - 0.0028218694885361*G0_2_2;
- A[705] = -0.00917107583774257*G0_1_1 - 0.00917107583774246*G0_1_2 - 0.0091710758377426*G0_2_1 - 0.00917107583774258*G0_2_2;
- A[706] = -0.00282186948853627*G0_1_1 - 0.00282186948853634*G0_1_2 - 0.00282186948853628*G0_2_1 - 0.00282186948853627*G0_2_2;
- A[707] = 0.016931216931216*G0_0_0 + 0.0592592592592585*G0_0_2 + 0.0592592592592585*G0_1_0 + 0.0902998236331566*G0_1_2 + 0.0592592592592585*G0_2_0 + 0.0902998236331566*G0_2_2;
- A[708] = -0.0028218694885362*G0_0_0 + 0.0105820105820103*G0_0_2 + 0.0105820105820107*G0_1_0 + 0.0211640211640209*G0_1_2 + 0.0105820105820107*G0_2_0 + 0.0211640211640209*G0_2_2;
- A[709] = -0.00282186948853622*G0_0_2 - 0.00282186948853626*G0_1_0 - 0.0169312169312169*G0_1_2 - 0.00282186948853626*G0_2_0 - 0.0169312169312169*G0_2_2;
- A[710] = 0.016931216931216*G0_0_0 + 0.0592592592592586*G0_0_1 + 0.0592592592592586*G0_1_0 + 0.0902998236331569*G0_1_1 + 0.0592592592592586*G0_2_0 + 0.0902998236331569*G0_2_1;
- A[711] = -0.00282186948853602*G0_0_0 + 0.0105820105820105*G0_0_1 + 0.0105820105820107*G0_1_0 + 0.0211640211640206*G0_1_1 + 0.0105820105820107*G0_2_0 + 0.0211640211640206*G0_2_1;
- A[712] = -0.00282186948853603*G0_0_1 - 0.00282186948853628*G0_1_0 - 0.016931216931217*G0_1_1 - 0.00282186948853608*G0_2_0 - 0.0169312169312168*G0_2_1;
- A[713] = 0.0169312169312174*G0_0_0 + 0.0169312169312174*G0_0_1 - 0.0423280423280431*G0_0_2 - 0.0423280423280419*G0_1_0 - 0.042328042328042*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.0423280423280419*G0_2_0 - 0.042328042328042*G0_2_1 - 0.0112874779541445*G0_2_2;
- A[714] = -0.00282186948853638*G0_0_0 - 0.00282186948853637*G0_0_1 - 0.0134038800705459*G0_0_2 - 0.0134038800705469*G0_1_0 - 0.0134038800705469*G0_1_1 - 0.00282186948853591*G0_1_2 - 0.0134038800705469*G0_2_0 - 0.0134038800705469*G0_2_1 - 0.00282186948853591*G0_2_2;
- A[715] = 0.00282186948853579*G0_0_2 + 0.00282186948853629*G0_1_0 + 0.00282186948853626*G0_1_1 - 0.0112874779541446*G0_1_2 + 0.00282186948853629*G0_2_0 + 0.00282186948853627*G0_2_1 - 0.0112874779541446*G0_2_2;
- A[716] = 0.0169312169312175*G0_0_0 - 0.042328042328043*G0_0_1 + 0.0169312169312175*G0_0_2 - 0.0423280423280419*G0_1_0 - 0.0112874779541442*G0_1_1 - 0.0423280423280419*G0_1_2 - 0.0423280423280419*G0_2_0 - 0.0112874779541442*G0_2_1 - 0.0423280423280419*G0_2_2;
- A[717] = -0.00282186948853597*G0_0_0 - 0.0134038800705461*G0_0_1 - 0.00282186948853595*G0_0_2 - 0.0134038800705469*G0_1_0 - 0.00282186948853631*G0_1_1 - 0.013403880070547*G0_1_2 - 0.0134038800705469*G0_2_0 - 0.00282186948853634*G0_2_1 - 0.0134038800705469*G0_2_2;
- A[718] = 0.00282186948853588*G0_0_1 + 0.00282186948853631*G0_1_0 - 0.0112874779541447*G0_1_1 + 0.00282186948853627*G0_1_2 + 0.00282186948853612*G0_2_0 - 0.0112874779541446*G0_2_1 + 0.00282186948853608*G0_2_2;
- A[719] = -0.22010582010582*G0_0_0 - 0.16084656084656*G0_0_1 - 0.16084656084656*G0_0_2 - 0.0874779541446201*G0_1_0 - 0.118518518518518*G0_1_1 - 0.118518518518517*G0_1_2 - 0.0874779541446201*G0_2_0 - 0.118518518518518*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[685] = -0.22010582010582*G0_0_0 - 0.08747795414462*G0_0_1 - 0.0874779541446199*G0_0_2 - 0.16084656084656*G0_1_0 - 0.118518518518518*G0_1_1 - 0.118518518518518*G0_1_2 - 0.16084656084656*G0_2_0 - 0.118518518518518*G0_2_1 - 0.118518518518518*G0_2_2;
+ A[686] = 0.112874779541446*G0_0_0 + 0.0338624338624334*G0_0_1 + 0.0338624338624335*G0_0_2 + 0.0790123456790119*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0451499118165783*G0_1_2 + 0.0790123456790119*G0_2_0 + 0.0451499118165783*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[687] = -0.0451499118165779*G0_0_0 - 0.0564373897707219*G0_0_1 - 0.0564373897707219*G0_0_2 - 0.0564373897707222*G0_1_0 - 0.0677248677248667*G0_1_1 - 0.0677248677248666*G0_1_2 - 0.0564373897707221*G0_2_0 - 0.0677248677248667*G0_2_1 - 0.0677248677248666*G0_2_2;
+ A[688] = -0.011287477954145*G0_0_1 - 0.0112874779541446*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0225749559082892*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.022574955908289*G0_2_1 - 0.0225749559082888*G0_2_2;
+ A[689] = -0.0112874779541445*G0_0_1 - 0.0112874779541448*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0225749559082892*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.022574955908289*G0_2_1 - 0.0225749559082894*G0_2_2;
+ A[690] = -0.0451499118165791*G0_0_0 - 0.0338624338624336*G0_0_1 - 0.0338624338624337*G0_0_2 - 0.0338624338624341*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449735*G0_1_2 - 0.0338624338624339*G0_2_0 - 0.135449735449736*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[691] = 0.0112874779541448*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0112874779541449*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0451499118165785*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0451499118165789*G0_2_1 + 0.0451499118165786*G0_2_2;
+ A[692] = 0.0112874779541447*G0_0_1 + 0.011287477954145*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0451499118165786*G0_1_1 + 0.0451499118165786*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165785*G0_2_2;
+ A[693] = -0.0677248677248666*G0_0_0 - 0.0790123456790124*G0_0_1 - 0.169312169312169*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248673*G0_1_1 - 0.270899470899471*G0_1_2 - 0.169312169312169*G0_2_0 - 0.067724867724867*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[694] = 0.0677248677248666*G0_0_0 + 0.0564373897707218*G0_0_1 + 0.1015873015873*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248667*G0_1_1 + 0.135449735449734*G0_1_2 + 0.101587301587301*G0_2_0 + 0.0677248677248666*G0_2_1 + 0.135449735449734*G0_2_2;
+ A[695] = 0.0225749559082891*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.0564373897707236*G0_0_2 + 0.0564373897707229*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0902998236331572*G0_1_2 + 0.0564373897707228*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0902998236331571*G0_2_2;
+ A[696] = -0.0677248677248665*G0_0_0 - 0.169312169312169*G0_0_1 - 0.0790123456790119*G0_0_2 - 0.169312169312169*G0_1_0 - 0.270899470899471*G0_1_1 - 0.0677248677248672*G0_1_2 - 0.169312169312169*G0_2_0 - 0.270899470899471*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[697] = 0.0677248677248666*G0_0_0 + 0.1015873015873*G0_0_1 + 0.0564373897707218*G0_0_2 + 0.101587301587301*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0677248677248667*G0_1_2 + 0.101587301587301*G0_2_0 + 0.135449735449734*G0_2_1 + 0.0677248677248667*G0_2_2;
+ A[698] = 0.0225749559082886*G0_0_0 + 0.0564373897707232*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0564373897707227*G0_1_0 + 0.0902998236331571*G0_1_1 + 0.022574955908289*G0_1_2 + 0.0564373897707226*G0_2_0 + 0.090299823633157*G0_2_1 + 0.0225749559082887*G0_2_2;
+ A[699] = 0.090299823633157*G0_0_0 + 0.0902998236331574*G0_0_1 + 0.0902998236331568*G0_0_2 + 0.0902998236331563*G0_1_0 + 0.0902998236331565*G0_1_1 + 0.0902998236331565*G0_1_2 + 0.090299823633156*G0_2_0 + 0.090299823633156*G0_2_1 + 0.0902998236331565*G0_2_2;
+ A[700] = 0.0529100529100531*G0_0_0 + 0.0529100529100531*G0_0_1 + 0.0529100529100531*G0_0_2 + 0.0202821869488534*G0_1_0 + 0.0202821869488533*G0_1_1 + 0.0202821869488533*G0_1_2 + 0.0202821869488534*G0_2_0 + 0.0202821869488533*G0_2_1 + 0.0202821869488534*G0_2_2;
+ A[701] = 0.0529100529100528*G0_0_0 + 0.0326278659611992*G0_1_0 + 0.0326278659611992*G0_2_0;
+ A[702] = 0.00511463844797178*G0_1_1 + 0.00511463844797183*G0_2_1;
+ A[703] = 0.0051146384479718*G0_1_2 + 0.00511463844797177*G0_2_2;
+ A[704] = -0.00282186948853611*G0_1_1 - 0.00282186948853628*G0_1_2 - 0.00282186948853604*G0_2_1 - 0.00282186948853613*G0_2_2;
+ A[705] = -0.0091710758377425*G0_1_1 - 0.0091710758377422*G0_1_2 - 0.00917107583774252*G0_2_1 - 0.0091710758377423*G0_2_2;
+ A[706] = -0.00282186948853614*G0_1_1 - 0.00282186948853625*G0_1_2 - 0.00282186948853613*G0_2_1 - 0.00282186948853615*G0_2_2;
+ A[707] = 0.016931216931216*G0_0_0 + 0.0592592592592583*G0_0_2 + 0.0592592592592587*G0_1_0 + 0.0902998236331564*G0_1_2 + 0.0592592592592586*G0_2_0 + 0.0902998236331563*G0_2_2;
+ A[708] = -0.00282186948853617*G0_0_0 + 0.0105820105820105*G0_0_2 + 0.0105820105820105*G0_1_0 + 0.021164021164021*G0_1_2 + 0.0105820105820105*G0_2_0 + 0.0211640211640209*G0_2_2;
+ A[709] = -0.00282186948853617*G0_0_2 - 0.0028218694885361*G0_1_0 - 0.0169312169312169*G0_1_2 - 0.00282186948853609*G0_2_0 - 0.0169312169312168*G0_2_2;
+ A[710] = 0.0169312169312159*G0_0_0 + 0.0592592592592583*G0_0_1 + 0.0592592592592586*G0_1_0 + 0.0902998236331566*G0_1_1 + 0.0592592592592586*G0_2_0 + 0.0902998236331566*G0_2_1;
+ A[711] = -0.00282186948853601*G0_0_0 + 0.0105820105820106*G0_0_1 + 0.0105820105820108*G0_1_0 + 0.0211640211640208*G0_1_1 + 0.0105820105820108*G0_2_0 + 0.0211640211640209*G0_2_1;
+ A[712] = -0.00282186948853614*G0_0_1 - 0.00282186948853629*G0_1_0 - 0.0169312169312169*G0_1_1 - 0.00282186948853613*G0_2_0 - 0.0169312169312169*G0_2_1;
+ A[713] = 0.0169312169312174*G0_0_0 + 0.0169312169312173*G0_0_1 - 0.0423280423280428*G0_0_2 - 0.0423280423280421*G0_1_0 - 0.0423280423280422*G0_1_1 - 0.0112874779541444*G0_1_2 - 0.042328042328042*G0_2_0 - 0.0423280423280421*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[714] = -0.00282186948853607*G0_0_0 - 0.00282186948853609*G0_0_1 - 0.0134038800705463*G0_0_2 - 0.0134038800705468*G0_1_0 - 0.0134038800705468*G0_1_1 - 0.00282186948853621*G0_1_2 - 0.0134038800705468*G0_2_0 - 0.0134038800705468*G0_2_1 - 0.0028218694885362*G0_2_2;
+ A[715] = 0.00282186948853601*G0_0_2 + 0.00282186948853611*G0_1_0 + 0.0028218694885361*G0_1_1 - 0.0112874779541445*G0_1_2 + 0.0028218694885361*G0_2_0 + 0.00282186948853609*G0_2_1 - 0.0112874779541445*G0_2_2;
+ A[716] = 0.0169312169312175*G0_0_0 - 0.0423280423280427*G0_0_1 + 0.0169312169312175*G0_0_2 - 0.042328042328042*G0_1_0 - 0.011287477954144*G0_1_1 - 0.0423280423280421*G0_1_2 - 0.042328042328042*G0_2_0 - 0.0112874779541441*G0_2_1 - 0.0423280423280421*G0_2_2;
+ A[717] = -0.00282186948853618*G0_0_0 - 0.0134038800705465*G0_0_1 - 0.00282186948853612*G0_0_2 - 0.0134038800705469*G0_1_0 - 0.00282186948853652*G0_1_1 - 0.0134038800705469*G0_1_2 - 0.0134038800705469*G0_2_0 - 0.00282186948853648*G0_2_1 - 0.0134038800705469*G0_2_2;
+ A[718] = 0.00282186948853608*G0_0_1 + 0.00282186948853629*G0_1_0 - 0.0112874779541445*G0_1_1 + 0.00282186948853624*G0_1_2 + 0.00282186948853613*G0_2_0 - 0.0112874779541445*G0_2_1 + 0.00282186948853608*G0_2_2;
+ A[719] = -0.22010582010582*G0_0_0 - 0.16084656084656*G0_0_1 - 0.16084656084656*G0_0_2 - 0.0874779541446199*G0_1_0 - 0.118518518518518*G0_1_1 - 0.118518518518518*G0_1_2 - 0.0874779541446199*G0_2_0 - 0.118518518518518*G0_2_1 - 0.118518518518518*G0_2_2;
A[720] = 0.334391534391534*G0_0_0 + 0.167195767195766*G0_0_1 + 0.167195767195766*G0_0_2 + 0.167195767195766*G0_1_0 + 0.249735449735449*G0_1_1 + 0.249735449735449*G0_1_2 + 0.167195767195766*G0_2_0 + 0.249735449735449*G0_2_1 + 0.249735449735449*G0_2_2;
- A[721] = -0.22010582010582*G0_0_0 - 0.0592592592592587*G0_0_1 - 0.0592592592592588*G0_0_2 - 0.132627865961199*G0_1_0 - 0.0902998236331569*G0_1_1 - 0.0902998236331569*G0_1_2 - 0.132627865961199*G0_2_0 - 0.0902998236331569*G0_2_1 - 0.090299823633157*G0_2_2;
- A[722] = 0.0225749559082887*G0_0_0 + 0.0423280423280405*G0_0_1 + 0.0423280423280408*G0_0_2 + 0.0423280423280417*G0_1_0 + 0.0846560846560835*G0_1_1 + 0.0846560846560837*G0_1_2 + 0.0423280423280418*G0_2_0 + 0.0846560846560835*G0_2_1 + 0.0846560846560837*G0_2_2;
- A[723] = -0.0028218694885357*G0_0_1 - 0.00282186948853564*G0_0_2 - 0.0028218694885364*G0_1_0 + 0.0169312169312169*G0_1_1 + 0.0169312169312169*G0_1_2 - 0.0028218694885361*G0_2_0 + 0.0169312169312171*G0_2_1 + 0.0169312169312173*G0_2_2;
- A[724] = -0.00282186948853607*G0_0_1 - 0.00282186948853603*G0_0_2 - 0.00282186948853611*G0_1_0 + 0.0169312169312171*G0_1_1 + 0.016931216931217*G0_1_2 - 0.00282186948853622*G0_2_0 + 0.016931216931217*G0_2_1 + 0.0169312169312168*G0_2_2;
- A[725] = 0.0225749559082893*G0_0_0 - 0.0197530864197533*G0_0_1 - 0.0197530864197539*G0_0_2 - 0.0197530864197534*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082888*G0_1_2 - 0.0197530864197534*G0_2_0 + 0.0225749559082888*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[726] = 0.0028218694885359*G0_0_1 + 0.00282186948853615*G0_0_2 + 0.00282186948853643*G0_1_0 + 0.0225749559082895*G0_1_1 + 0.0225749559082895*G0_1_2 + 0.00282186948853613*G0_2_0 + 0.0225749559082893*G0_2_1 + 0.0225749559082896*G0_2_2;
- A[727] = 0.00282186948853641*G0_0_1 + 0.00282186948853644*G0_0_2 + 0.00282186948853616*G0_1_0 + 0.0225749559082895*G0_1_1 + 0.0225749559082893*G0_1_2 + 0.00282186948853627*G0_2_0 + 0.0225749559082895*G0_2_1 + 0.0225749559082893*G0_2_2;
- A[728] = -0.0169312169312182*G0_0_0 + 0.0253968253968244*G0_0_1 + 0.160846560846559*G0_0_2 + 0.16084656084656*G0_1_0 + 0.118518518518518*G0_1_1 + 0.0677248677248662*G0_1_2 + 0.16084656084656*G0_2_0 + 0.118518518518518*G0_2_1 + 0.0677248677248661*G0_2_2;
- A[729] = -0.0169312169312152*G0_0_0 - 0.0423280423280404*G0_0_1 - 0.177777777777776*G0_0_2 - 0.177777777777777*G0_1_0 - 0.0846560846560835*G0_1_1 - 0.27089947089947*G0_1_2 - 0.177777777777777*G0_2_0 - 0.0846560846560835*G0_2_1 - 0.27089947089947*G0_2_2;
- A[730] = 0.00564373897707258*G0_0_0 + 0.00282186948853609*G0_0_1 + 0.00282186948853639*G0_0_2 + 0.00282186948853624*G0_1_0 - 0.0169312169312171*G0_1_1 + 0.067724867724868*G0_1_2 + 0.00282186948853624*G0_2_0 - 0.016931216931217*G0_2_1 + 0.067724867724868*G0_2_2;
- A[731] = -0.0169312169312183*G0_0_0 + 0.16084656084656*G0_0_1 + 0.0253968253968248*G0_0_2 + 0.16084656084656*G0_1_0 + 0.0677248677248661*G0_1_1 + 0.118518518518518*G0_1_2 + 0.16084656084656*G0_2_0 + 0.0677248677248661*G0_2_1 + 0.118518518518518*G0_2_2;
- A[732] = -0.0169312169312152*G0_0_0 - 0.177777777777777*G0_0_1 - 0.0423280423280406*G0_0_2 - 0.177777777777777*G0_1_0 - 0.27089947089947*G0_1_1 - 0.0846560846560836*G0_1_2 - 0.177777777777777*G0_2_0 - 0.27089947089947*G0_2_1 - 0.0846560846560836*G0_2_2;
- A[733] = 0.00564373897707199*G0_0_0 + 0.00282186948853582*G0_0_1 + 0.00282186948853569*G0_0_2 + 0.00282186948853629*G0_1_0 + 0.0677248677248686*G0_1_1 - 0.0169312169312167*G0_1_2 + 0.00282186948853624*G0_2_0 + 0.0677248677248683*G0_2_1 - 0.0169312169312171*G0_2_2;
- A[734] = -0.045149911816578*G0_0_0 - 0.0225749559082888*G0_0_1 - 0.022574955908289*G0_0_2 - 0.0225749559082884*G0_1_0 - 0.135449735449735*G0_1_1 - 0.135449735449735*G0_1_2 - 0.0225749559082885*G0_2_0 - 0.135449735449735*G0_2_1 - 0.135449735449735*G0_2_2;
- A[735] = -0.0253968253968255*G0_0_0 - 0.0253968253968255*G0_0_1 - 0.0253968253968255*G0_0_2 - 0.00776014109347441*G0_1_0 - 0.00776014109347433*G0_1_1 - 0.00776014109347435*G0_1_2 - 0.00776014109347441*G0_2_0 - 0.00776014109347433*G0_2_1 - 0.00776014109347435*G0_2_2;
- A[736] = -0.070546737213404*G0_0_0 - 0.0458553791887126*G0_1_0 - 0.0458553791887127*G0_2_0;
- A[737] = 0.00776014109347443*G0_1_1 + 0.00776014109347452*G0_2_1;
- A[738] = 0.00776014109347445*G0_1_2 + 0.0077601410934744*G0_2_2;
- A[739] = -0.0112874779541448*G0_1_1 - 0.011287477954145*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0112874779541447*G0_2_2;
- A[740] = -0.0028218694885362*G0_1_1 - 0.00282186948853601*G0_1_2 - 0.00282186948853622*G0_2_1 - 0.00282186948853613*G0_2_2;
- A[741] = -0.0112874779541449*G0_1_1 - 0.011287477954145*G0_1_2 - 0.0112874779541449*G0_2_1 - 0.0112874779541449*G0_2_2;
- A[742] = 0.0225749559082899*G0_0_0 - 0.079012345679012*G0_0_2 - 0.0790123456790123*G0_1_0 - 0.158024691358025*G0_1_2 - 0.0790123456790123*G0_2_0 - 0.158024691358025*G0_2_2;
- A[743] = -0.0112874779541448*G0_0_0 + 0.031040564373898*G0_0_2 + 0.031040564373898*G0_1_0 + 0.0902998236331574*G0_1_2 + 0.0310405643738979*G0_2_0 + 0.0902998236331574*G0_2_2;
- A[744] = -0.0112874779541447*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0451499118165786*G0_1_2 - 0.0112874779541449*G0_2_0 - 0.0451499118165786*G0_2_2;
- A[745] = 0.0225749559082899*G0_0_0 - 0.0790123456790121*G0_0_1 - 0.0790123456790124*G0_1_0 - 0.158024691358025*G0_1_1 - 0.0790123456790123*G0_2_0 - 0.158024691358025*G0_2_1;
- A[746] = -0.0112874779541447*G0_0_0 + 0.0310405643738979*G0_0_1 + 0.0310405643738978*G0_1_0 + 0.0902998236331575*G0_1_1 + 0.0310405643738977*G0_2_0 + 0.0902998236331575*G0_2_1;
- A[747] = -0.0112874779541446*G0_0_1 - 0.011287477954145*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.0112874779541447*G0_2_0 - 0.0451499118165787*G0_2_1;
- A[748] = -0.0225749559082896*G0_0_0 - 0.0225749559082895*G0_0_1 + 0.011287477954145*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541446*G0_1_1 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1;
- A[749] = -0.0112874779541446*G0_0_0 - 0.0112874779541446*G0_0_1 + 0.00282186948853567*G0_0_2 + 0.00282186948853601*G0_1_0 + 0.00282186948853599*G0_1_1 + 0.00282186948853599*G0_2_0 + 0.00282186948853598*G0_2_1;
- A[750] = 0.0112874779541448*G0_0_2 + 0.0112874779541449*G0_1_0 + 0.0112874779541449*G0_1_1 + 0.0112874779541449*G0_2_0 + 0.0112874779541449*G0_2_1;
- A[751] = -0.0225749559082897*G0_0_0 + 0.0112874779541448*G0_0_1 - 0.0225749559082897*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541447*G0_2_0 + 0.0112874779541445*G0_2_2;
- A[752] = -0.0112874779541445*G0_0_0 + 0.00282186948853601*G0_0_1 - 0.0112874779541445*G0_0_2 + 0.00282186948853597*G0_1_0 + 0.00282186948853611*G0_1_2 + 0.002821869488536*G0_2_0 + 0.00282186948853614*G0_2_2;
- A[753] = 0.0112874779541447*G0_0_1 + 0.0112874779541449*G0_1_0 + 0.0112874779541448*G0_1_2 + 0.0112874779541447*G0_2_0 + 0.0112874779541445*G0_2_2;
- A[754] = 0.112874779541446*G0_0_0 + 0.0790123456790118*G0_0_1 + 0.0790123456790118*G0_0_2 + 0.0338624338624336*G0_1_0 + 0.0451499118165784*G0_1_1 + 0.0451499118165784*G0_1_2 + 0.0338624338624336*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165784*G0_2_2;
- A[755] = -0.22010582010582*G0_0_0 - 0.132627865961199*G0_0_1 - 0.132627865961199*G0_0_2 - 0.0592592592592587*G0_1_0 - 0.0902998236331569*G0_1_1 - 0.0902998236331569*G0_1_2 - 0.0592592592592588*G0_2_0 - 0.0902998236331569*G0_2_1 - 0.090299823633157*G0_2_2;
- A[756] = 0.203174603174603*G0_0_0 + 0.0790123456790122*G0_0_1 + 0.0790123456790122*G0_0_2 + 0.0790123456790122*G0_1_0 + 0.158024691358025*G0_1_1 + 0.158024691358026*G0_1_2 + 0.0790123456790122*G0_2_0 + 0.158024691358026*G0_2_1 + 0.158024691358026*G0_2_2;
- A[757] = -0.0451499118165782*G0_0_0 - 0.0112874779541436*G0_0_1 - 0.0112874779541438*G0_0_2 - 0.0112874779541442*G0_1_0 - 0.112874779541446*G0_1_1 - 0.112874779541446*G0_1_2 - 0.0112874779541443*G0_2_0 - 0.112874779541446*G0_2_1 - 0.112874779541446*G0_2_2;
- A[758] = -0.0112874779541448*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0112874779541454*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082887*G0_1_2 - 0.0112874779541449*G0_2_0 + 0.0225749559082891*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[759] = -0.011287477954145*G0_0_1 - 0.0112874779541449*G0_0_2 - 0.0112874779541451*G0_1_0 + 0.0225749559082891*G0_1_1 + 0.0225749559082889*G0_1_2 - 0.0112874779541452*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[760] = -0.0451499118165784*G0_0_0 + 0.011287477954145*G0_0_1 + 0.0112874779541453*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541446*G0_2_0;
- A[761] = 0.0112874779541444*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541454*G0_1_0 + 0.0112874779541449*G0_2_0;
- A[762] = 0.0112874779541445*G0_0_1 + 0.0112874779541443*G0_0_2 + 0.011287477954145*G0_1_0 + 0.0112874779541452*G0_2_0;
- A[763] = 0.0677248677248685*G0_0_0 + 0.0112874779541451*G0_0_1 - 0.0338624338624329*G0_0_2 - 0.0338624338624333*G0_1_0 - 0.0225749559082888*G0_1_1 - 0.0338624338624334*G0_2_0 - 0.0225749559082889*G0_2_1;
- A[764] = -0.0677248677248689*G0_0_0 + 0.0112874779541434*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587301*G0_1_0 + 0.112874779541446*G0_1_1 + 0.101587301587301*G0_2_0 + 0.112874779541446*G0_2_1;
- A[765] = 0.0225749559082893*G0_0_0 + 0.011287477954145*G0_0_1 - 0.0338624338624339*G0_0_2 - 0.0338624338624341*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.033862433862434*G0_2_0 - 0.0225749559082891*G0_2_1;
- A[766] = 0.0677248677248685*G0_0_0 - 0.0338624338624331*G0_0_1 + 0.0112874779541449*G0_0_2 - 0.0338624338624336*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.0338624338624337*G0_2_0 - 0.0225749559082895*G0_2_2;
- A[767] = -0.0677248677248687*G0_0_0 + 0.101587301587301*G0_0_1 + 0.0112874779541436*G0_0_2 + 0.101587301587301*G0_1_0 + 0.112874779541446*G0_1_2 + 0.101587301587301*G0_2_0 + 0.112874779541446*G0_2_2;
- A[768] = 0.0225749559082893*G0_0_0 - 0.033862433862434*G0_0_1 + 0.0112874779541447*G0_0_2 - 0.0338624338624338*G0_1_0 - 0.0225749559082885*G0_1_2 - 0.0338624338624337*G0_2_0 - 0.022574955908289*G0_2_2;
- A[769] = 0.0902998236331565*G0_0_0;
- A[770] = 0.0183421516754845*G0_0_0 + 0.0183421516754848*G0_0_1 + 0.0183421516754848*G0_0_2 + 0.0183421516754845*G0_1_0 + 0.0183421516754845*G0_1_1 + 0.0183421516754846*G0_1_2 + 0.0183421516754846*G0_2_0 + 0.0183421516754847*G0_2_1 + 0.0183421516754847*G0_2_2;
- A[771] = 0.0493827160493826*G0_0_0 + 0.00705467372134017*G0_1_0 + 0.0070546737213402*G0_2_0;
- A[772] = 0.00705467372134042*G0_0_1 - 0.018342151675485*G0_1_1 + 0.00705467372134047*G0_2_1;
- A[773] = 0.00705467372134044*G0_0_2 + 0.00705467372134026*G0_1_2 - 0.0183421516754849*G0_2_2;
- A[774] = -0.0677248677248682*G0_0_1 - 0.0225749559082897*G0_0_2 + 0.0225749559082894*G0_1_1 + 0.0112874779541448*G0_1_2 - 0.0338624338624341*G0_2_1 - 0.022574955908289*G0_2_2;
- A[775] = -0.0846560846560848*G0_0_1 - 0.0846560846560842*G0_0_2 - 0.0169312169312171*G0_1_1 - 0.0197530864197532*G0_1_2 - 0.0197530864197534*G0_2_1 - 0.0169312169312171*G0_2_2;
- A[776] = -0.0225749559082892*G0_0_1 - 0.0677248677248678*G0_0_2 - 0.0225749559082893*G0_1_1 - 0.0338624338624334*G0_1_2 + 0.0112874779541451*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[777] = -0.0677248677248688*G0_0_0 + 0.0112874779541435*G0_0_2 + 0.203174603174602*G0_1_0 + 0.112874779541446*G0_1_2 + 0.101587301587301*G0_2_0 + 0.112874779541446*G0_2_2;
- A[778] = 0.11851851851852*G0_0_0 + 0.0931216931216945*G0_0_2 + 0.0507936507936516*G0_1_0 + 0.186243386243387*G0_1_2 - 0.0423280423280421*G0_2_0 - 0.0846560846560839*G0_2_2;
- A[779] = -0.0225749559082894*G0_0_0 - 0.0338624338624342*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.067724867724868*G0_1_2 + 0.011287477954145*G0_2_0 + 0.0677248677248675*G0_2_2;
- A[780] = -0.0677248677248681*G0_0_0 + 0.0112874779541437*G0_0_1 + 0.101587301587301*G0_1_0 + 0.112874779541446*G0_1_1 + 0.203174603174603*G0_2_0 + 0.112874779541446*G0_2_1;
- A[781] = 0.118518518518518*G0_0_0 + 0.0931216931216936*G0_0_1 - 0.0423280423280426*G0_1_0 - 0.0846560846560841*G0_1_1 + 0.0507936507936509*G0_2_0 + 0.186243386243387*G0_2_1;
- A[782] = -0.02257495590829*G0_0_0 - 0.0338624338624348*G0_0_1 + 0.0112874779541449*G0_1_0 + 0.0677248677248677*G0_1_1 - 0.0225749559082895*G0_2_0 - 0.0677248677248681*G0_2_1;
- A[783] = -0.0225749559082884*G0_0_0 - 0.0225749559082888*G0_0_1 - 0.0112874779541445*G0_0_2 - 0.0225749559082883*G0_1_0 - 0.0225749559082885*G0_1_1 - 0.0112874779541436*G0_1_2 - 0.0112874779541442*G0_2_0 - 0.0112874779541443*G0_2_1;
- A[784] = 0.0169312169312175*G0_0_0 + 0.0169312169312175*G0_0_1 - 0.00282186948853542*G0_0_2 + 0.0169312169312169*G0_1_0 + 0.016931216931217*G0_1_1 - 0.00282186948853619*G0_1_2 - 0.00282186948853564*G0_2_0 - 0.00282186948853558*G0_2_1;
- A[785] = 0.0225749559082894*G0_0_0 + 0.0225749559082893*G0_0_1 - 0.011287477954145*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0225749559082892*G0_1_1 - 0.0112874779541445*G0_1_2 - 0.011287477954145*G0_2_0 - 0.0112874779541451*G0_2_1;
- A[786] = -0.0225749559082884*G0_0_0 - 0.0112874779541441*G0_0_1 - 0.0225749559082887*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0112874779541445*G0_1_2 - 0.0225749559082883*G0_2_0 - 0.0112874779541436*G0_2_1 - 0.0225749559082884*G0_2_2;
- A[787] = 0.016931216931216*G0_0_0 - 0.00282186948853618*G0_0_1 + 0.0169312169312165*G0_0_2 - 0.00282186948853599*G0_1_0 - 0.00282186948853595*G0_1_2 + 0.0169312169312164*G0_2_0 - 0.00282186948853669*G0_2_1 + 0.0169312169312169*G0_2_2;
- A[788] = 0.02257495590829*G0_0_0 - 0.0112874779541449*G0_0_1 + 0.0225749559082899*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541448*G0_1_2 + 0.0225749559082896*G0_2_0 - 0.0112874779541447*G0_2_1 + 0.0225749559082895*G0_2_2;
- A[789] = -0.0451499118165776*G0_0_0 - 0.0564373897707225*G0_0_1 - 0.0564373897707225*G0_0_2 - 0.0564373897707217*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.0677248677248671*G0_1_2 - 0.0564373897707218*G0_2_0 - 0.0677248677248669*G0_2_1 - 0.0677248677248668*G0_2_2;
- A[790] = 0.0225749559082887*G0_0_0 + 0.0423280423280417*G0_0_1 + 0.0423280423280418*G0_0_2 + 0.0423280423280405*G0_1_0 + 0.0846560846560835*G0_1_1 + 0.0846560846560835*G0_1_2 + 0.0423280423280408*G0_2_0 + 0.0846560846560837*G0_2_1 + 0.0846560846560837*G0_2_2;
- A[791] = -0.0451499118165782*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0112874779541442*G0_0_2 - 0.0112874779541436*G0_1_0 - 0.112874779541446*G0_1_1 - 0.112874779541446*G0_1_2 - 0.0112874779541438*G0_2_0 - 0.112874779541446*G0_2_1 - 0.112874779541446*G0_2_2;
- A[792] = 0.6320987654321*G0_0_0 + 0.270899470899472*G0_0_1 + 0.270899470899472*G0_0_2 + 0.270899470899472*G0_1_0 + 0.541798941798943*G0_1_1 + 0.270899470899472*G0_1_2 + 0.270899470899472*G0_2_0 + 0.270899470899472*G0_2_1 + 0.541798941798944*G0_2_2;
- A[793] = -0.135449735449737*G0_0_0 + 0.225749559082891*G0_0_1 + 0.0677248677248657*G0_0_2 - 0.0451499118165789*G0_1_0 - 0.135449735449737*G0_1_1 - 0.067724867724868*G0_1_2 - 0.0677248677248688*G0_2_0 + 0.067724867724867*G0_2_1;
- A[794] = -0.135449735449735*G0_0_0 + 0.0677248677248694*G0_0_1 + 0.225749559082893*G0_0_2 - 0.0677248677248671*G0_1_0 + 0.0677248677248682*G0_1_2 - 0.0451499118165779*G0_2_0 - 0.0677248677248666*G0_2_1 - 0.135449735449735*G0_2_2;
- A[795] = 0.090299823633157*G0_0_0 + 0.0451499118165786*G0_0_1 + 0.045149911816579*G0_0_2 + 0.0451499118165788*G0_1_0 + 0.0225749559082892*G0_1_2 + 0.0451499118165787*G0_2_0 + 0.0225749559082894*G0_2_1;
- A[796] = 0.135449735449737*G0_0_0 + 0.0451499118165788*G0_0_1 + 0.067724867724868*G0_0_2 + 0.0451499118165789*G0_1_0 + 0.0225749559082896*G0_1_2 + 0.0677248677248688*G0_2_0 + 0.0225749559082892*G0_2_1;
- A[797] = 0.135449735449735*G0_0_0 + 0.0677248677248672*G0_0_1 + 0.0451499118165775*G0_0_2 + 0.0677248677248672*G0_1_0 + 0.0225749559082887*G0_1_2 + 0.0451499118165779*G0_2_0 + 0.0225749559082888*G0_2_1;
- A[798] = 0.0451499118165768*G0_0_0 + 0.0902998236331558*G0_0_1 + 0.0451499118165771*G0_0_2 + 0.090299823633154*G0_1_0 + 0.135449735449733*G0_1_1 + 0.0677248677248653*G0_1_2 + 0.0451499118165772*G0_2_0 + 0.0677248677248669*G0_2_1;
- A[799] = 0.0451499118165806*G0_0_0 - 0.270899470899471*G0_0_1 - 0.135449735449734*G0_0_2 - 0.270899470899468*G0_1_0 - 0.541798941798942*G0_1_1 - 0.270899470899468*G0_1_2 - 0.135449735449734*G0_2_0 - 0.270899470899472*G0_2_1;
- A[800] = -0.135449735449737*G0_0_0 - 0.0677248677248691*G0_0_1 + 0.0451499118165783*G0_0_2 - 0.0677248677248683*G0_1_0 + 0.0677248677248679*G0_1_2 + 0.0451499118165779*G0_2_0 + 0.0677248677248671*G0_2_1;
- A[801] = 0.0451499118165768*G0_0_0 + 0.045149911816577*G0_0_1 + 0.0902998236331555*G0_0_2 + 0.0451499118165777*G0_1_0 + 0.0677248677248674*G0_1_2 + 0.0902998236331542*G0_2_0 + 0.0677248677248654*G0_2_1 + 0.135449735449734*G0_2_2;
- A[802] = 0.0451499118165795*G0_0_0 - 0.135449735449735*G0_0_1 - 0.270899470899471*G0_0_2 - 0.135449735449735*G0_1_0 - 0.270899470899471*G0_1_2 - 0.270899470899469*G0_2_0 - 0.270899470899469*G0_2_1 - 0.541798941798943*G0_2_2;
- A[803] = -0.135449735449734*G0_0_0 + 0.0451499118165801*G0_0_1 - 0.0677248677248653*G0_0_2 + 0.0451499118165787*G0_1_0 + 0.0677248677248679*G0_1_2 - 0.0677248677248672*G0_2_0 + 0.067724867724869*G0_2_1;
- A[804] = -0.722398589065256*G0_0_0 - 0.316049382716047*G0_0_1 - 0.316049382716049*G0_0_2 - 0.316049382716051*G0_1_0 - 0.135449735449735*G0_1_2 - 0.316049382716051*G0_2_0 - 0.135449735449734*G0_2_1;
- A[805] = 0.018342151675485*G0_0_0 + 0.0183421516754849*G0_0_1 + 0.0183421516754849*G0_0_2 + 0.018342151675485*G0_1_0 + 0.0183421516754851*G0_1_1 + 0.0183421516754851*G0_1_2 + 0.0183421516754848*G0_2_0 + 0.0183421516754849*G0_2_1 + 0.0183421516754849*G0_2_2;
- A[806] = -0.0183421516754851*G0_0_0 + 0.00705467372134031*G0_1_0 + 0.00705467372134024*G0_2_0;
- A[807] = 0.00705467372134014*G0_0_1 + 0.0493827160493826*G0_1_1 + 0.00705467372134023*G0_2_1;
- A[808] = 0.00705467372134037*G0_0_2 + 0.00705467372134054*G0_1_2 - 0.018342151675485*G0_2_2;
- A[809] = 0.203174603174603*G0_0_1 + 0.112874779541446*G0_0_2 - 0.0677248677248679*G0_1_1 + 0.0112874779541444*G0_1_2 + 0.101587301587302*G0_2_1 + 0.112874779541446*G0_2_2;
- A[810] = 0.0507936507936515*G0_0_1 + 0.186243386243386*G0_0_2 + 0.118518518518519*G0_1_1 + 0.0931216931216941*G0_1_2 - 0.0423280423280424*G0_2_1 - 0.0846560846560839*G0_2_2;
- A[811] = -0.0225749559082891*G0_0_1 - 0.067724867724868*G0_0_2 - 0.022574955908289*G0_1_1 - 0.0338624338624343*G0_1_2 + 0.0112874779541448*G0_2_1 + 0.067724867724867*G0_2_2;
- A[812] = 0.0225749559082898*G0_0_0 + 0.0112874779541449*G0_0_2 - 0.0677248677248676*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.0338624338624335*G0_2_0 - 0.0225749559082894*G0_2_2;
- A[813] = -0.0169312169312176*G0_0_0 - 0.0197530864197533*G0_0_2 - 0.0846560846560851*G0_1_0 - 0.0846560846560849*G0_1_2 - 0.0197530864197535*G0_2_0 - 0.0169312169312168*G0_2_2;
- A[814] = -0.0225749559082893*G0_0_0 - 0.0338624338624342*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0677248677248679*G0_1_2 + 0.0112874779541447*G0_2_0 + 0.0225749559082891*G0_2_2;
- A[815] = 0.0677248677248683*G0_0_0 + 0.0112874779541453*G0_0_1 - 0.0338624338624335*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0677248677248669*G0_2_0 - 0.0225749559082886*G0_2_1;
- A[816] = -0.0846560846560858*G0_0_0 - 0.0423280423280434*G0_0_1 + 0.0931216931216923*G0_1_0 + 0.118518518518518*G0_1_1 + 0.186243386243384*G0_2_0 + 0.0507936507936493*G0_2_1;
- A[817] = 0.112874779541447*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0112874779541445*G0_1_0 - 0.0677248677248682*G0_1_1 + 0.112874779541448*G0_2_0 + 0.203174603174604*G0_2_1;
- A[818] = -0.0225749559082896*G0_0_0 - 0.0225749559082894*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0225749559082897*G0_1_0 - 0.0225749559082896*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541446*G0_2_1;
- A[819] = 0.0169312169312168*G0_0_0 + 0.0169312169312171*G0_0_1 - 0.00282186948853641*G0_0_2 + 0.0169312169312176*G0_1_0 + 0.0169312169312178*G0_1_1 - 0.00282186948853568*G0_1_2 - 0.00282186948853624*G0_2_0 - 0.00282186948853604*G0_2_1;
- A[820] = 0.0225749559082894*G0_0_0 + 0.0225749559082892*G0_0_1 - 0.0112874779541447*G0_0_2 + 0.0225749559082892*G0_1_0 + 0.0225749559082891*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541448*G0_2_1;
- A[821] = -0.0677248677248681*G0_0_0 - 0.0564373897707228*G0_0_1 - 0.0677248677248675*G0_0_2 - 0.0564373897707229*G0_1_0 - 0.0451499118165785*G0_1_1 - 0.0564373897707228*G0_1_2 - 0.0677248677248673*G0_2_0 - 0.0564373897707227*G0_2_1 - 0.0677248677248671*G0_2_2;
- A[822] = 0.0846560846560854*G0_0_0 + 0.0423280423280417*G0_0_1 + 0.0846560846560844*G0_0_2 + 0.0423280423280421*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.0423280423280419*G0_1_2 + 0.0846560846560847*G0_2_0 + 0.042328042328042*G0_2_1 + 0.084656084656084*G0_2_2;
- A[823] = -0.112874779541447*G0_0_0 - 0.0112874779541445*G0_0_1 - 0.112874779541447*G0_0_2 - 0.0112874779541444*G0_1_0 - 0.045149911816579*G0_1_1 - 0.0112874779541443*G0_1_2 - 0.112874779541447*G0_2_0 - 0.011287477954145*G0_2_1 - 0.112874779541447*G0_2_2;
- A[824] = -0.0112874779541448*G0_0_1 - 0.0112874779541446*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0225749559082891*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.0225749559082891*G0_2_1 - 0.0225749559082888*G0_2_2;
- A[825] = -0.0028218694885364*G0_0_1 - 0.0028218694885361*G0_0_2 - 0.0028218694885357*G0_1_0 + 0.0169312169312169*G0_1_1 + 0.0169312169312171*G0_1_2 - 0.00282186948853564*G0_2_0 + 0.0169312169312169*G0_2_1 + 0.0169312169312173*G0_2_2;
- A[826] = -0.0112874779541454*G0_0_1 - 0.0112874779541449*G0_0_2 - 0.0112874779541448*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082891*G0_1_2 - 0.0112874779541447*G0_2_0 + 0.0225749559082887*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[827] = -0.135449735449737*G0_0_0 - 0.0451499118165789*G0_0_1 - 0.0677248677248687*G0_0_2 + 0.225749559082891*G0_1_0 - 0.135449735449737*G0_1_1 + 0.0677248677248671*G0_1_2 + 0.0677248677248657*G0_2_0 - 0.067724867724868*G0_2_1;
- A[828] = 0.541798941798944*G0_0_0 + 0.270899470899472*G0_0_1 + 0.270899470899473*G0_0_2 + 0.270899470899472*G0_1_0 + 0.6320987654321*G0_1_1 + 0.270899470899471*G0_1_2 + 0.270899470899473*G0_2_0 + 0.270899470899471*G0_2_1 + 0.541798941798943*G0_2_2;
- A[829] = -0.0677248677248683*G0_0_1 + 0.0677248677248684*G0_0_2 + 0.0677248677248689*G0_1_0 - 0.135449735449736*G0_1_1 + 0.225749559082893*G0_1_2 - 0.0677248677248675*G0_2_0 - 0.0451499118165788*G0_2_1 - 0.135449735449736*G0_2_2;
- A[830] = 0.135449735449737*G0_0_0 + 0.0902998236331575*G0_0_1 + 0.0677248677248673*G0_0_2 + 0.0902998236331581*G0_1_0 + 0.0451499118165792*G0_1_1 + 0.0451499118165791*G0_1_2 + 0.0677248677248679*G0_2_0 + 0.0451499118165786*G0_2_1;
- A[831] = -0.541798941798944*G0_0_0 - 0.270899470899471*G0_0_1 - 0.270899470899471*G0_0_2 - 0.270899470899472*G0_1_0 + 0.0451499118165785*G0_1_1 - 0.135449735449736*G0_1_2 - 0.270899470899473*G0_2_0 - 0.135449735449736*G0_2_1;
- A[832] = -0.0677248677248687*G0_0_1 + 0.0677248677248679*G0_0_2 - 0.0677248677248687*G0_1_0 - 0.135449735449737*G0_1_1 + 0.0451499118165782*G0_1_2 + 0.0677248677248677*G0_2_0 + 0.0451499118165783*G0_2_1;
- A[833] = 0.0451499118165787*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.0451499118165795*G0_1_0 + 0.0902998236331578*G0_1_1 + 0.0451499118165795*G0_1_2 + 0.0225749559082893*G0_2_0 + 0.0451499118165779*G0_2_1;
- A[834] = 0.0451499118165785*G0_0_1 + 0.0225749559082899*G0_0_2 + 0.0451499118165778*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0677248677248684*G0_1_2 + 0.0225749559082891*G0_2_0 + 0.0677248677248677*G0_2_1;
- A[835] = 0.0677248677248682*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.0677248677248675*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0451499118165776*G0_1_2 + 0.0225749559082897*G0_2_0 + 0.0451499118165789*G0_2_1;
- A[836] = 0.0451499118165791*G0_0_1 + 0.0677248677248677*G0_0_2 + 0.0451499118165776*G0_1_0 + 0.045149911816578*G0_1_1 + 0.0902998236331559*G0_1_2 + 0.0677248677248665*G0_2_0 + 0.0902998236331562*G0_2_1 + 0.135449735449734*G0_2_2;
- A[837] = 0.0451499118165798*G0_0_1 + 0.0677248677248677*G0_0_2 + 0.0451499118165786*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248675*G0_1_2 + 0.0677248677248676*G0_2_0 - 0.0677248677248666*G0_2_1;
- A[838] = -0.135449735449736*G0_0_1 - 0.270899470899472*G0_0_2 - 0.135449735449734*G0_1_0 + 0.0451499118165799*G0_1_1 - 0.27089947089947*G0_1_2 - 0.270899470899469*G0_2_0 - 0.27089947089947*G0_2_1 - 0.541798941798942*G0_2_2;
- A[839] = -0.31604938271605*G0_0_1 - 0.135449735449735*G0_0_2 - 0.316049382716048*G0_1_0 - 0.722398589065257*G0_1_1 - 0.316049382716049*G0_1_2 - 0.135449735449734*G0_2_0 - 0.316049382716048*G0_2_1;
- A[840] = 0.0183421516754851*G0_0_0 + 0.0183421516754851*G0_0_1 + 0.018342151675485*G0_0_2 + 0.0183421516754849*G0_1_0 + 0.018342151675485*G0_1_1 + 0.018342151675485*G0_1_2 + 0.0183421516754851*G0_2_0 + 0.0183421516754851*G0_2_1 + 0.0183421516754851*G0_2_2;
- A[841] = -0.018342151675485*G0_0_0 + 0.00705467372134048*G0_1_0 + 0.00705467372134043*G0_2_0;
- A[842] = 0.00705467372134028*G0_0_1 - 0.0183421516754851*G0_1_1 + 0.00705467372134037*G0_2_1;
- A[843] = 0.00705467372134021*G0_0_2 + 0.00705467372134008*G0_1_2 + 0.0493827160493824*G0_2_2;
- A[844] = -0.0677248677248674*G0_0_1 - 0.0225749559082884*G0_0_2 + 0.0677248677248676*G0_1_1 + 0.0112874779541449*G0_1_2 - 0.033862433862434*G0_2_1 - 0.0225749559082887*G0_2_2;
- A[845] = 0.186243386243386*G0_0_1 + 0.0507936507936499*G0_0_2 - 0.0846560846560851*G0_1_1 - 0.0423280423280434*G0_1_2 + 0.0931216931216936*G0_2_1 + 0.118518518518518*G0_2_2;
- A[846] = 0.112874779541446*G0_0_1 + 0.203174603174603*G0_0_2 + 0.112874779541446*G0_1_1 + 0.101587301587302*G0_1_2 + 0.0112874779541443*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[847] = 0.0677248677248683*G0_0_0 + 0.0112874779541452*G0_0_2 - 0.0677248677248675*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.033862433862434*G0_2_0 - 0.022574955908289*G0_2_2;
- A[848] = -0.0846560846560854*G0_0_0 - 0.0423280423280427*G0_0_2 + 0.186243386243386*G0_1_0 + 0.0507936507936513*G0_1_2 + 0.0931216931216934*G0_2_0 + 0.118518518518519*G0_2_2;
- A[849] = 0.112874779541447*G0_0_0 + 0.101587301587302*G0_0_2 + 0.112874779541447*G0_1_0 + 0.203174603174604*G0_1_2 + 0.0112874779541443*G0_2_0 - 0.0677248677248677*G0_2_2;
- A[850] = 0.0225749559082891*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0338624338624342*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0677248677248678*G0_2_0 - 0.0225749559082894*G0_2_1;
- A[851] = -0.0169312169312168*G0_0_0 - 0.0197530864197532*G0_0_1 - 0.0197530864197532*G0_1_0 - 0.016931216931217*G0_1_1 - 0.084656084656085*G0_2_0 - 0.0846560846560847*G0_2_1;
- A[852] = -0.0225749559082895*G0_0_0 - 0.033862433862434*G0_0_1 + 0.0112874779541445*G0_1_0 + 0.0225749559082891*G0_1_1 - 0.0225749559082896*G0_2_0 - 0.0677248677248682*G0_2_1;
- A[853] = -0.0677248677248683*G0_0_0 - 0.067724867724868*G0_0_1 - 0.0564373897707231*G0_0_2 - 0.0677248677248677*G0_1_0 - 0.0677248677248677*G0_1_1 - 0.0564373897707231*G0_1_2 - 0.0564373897707233*G0_2_0 - 0.0564373897707234*G0_2_1 - 0.0451499118165786*G0_2_2;
- A[854] = 0.0846560846560859*G0_0_0 + 0.0846560846560856*G0_0_1 + 0.0423280423280427*G0_0_2 + 0.0846560846560857*G0_1_0 + 0.0846560846560854*G0_1_1 + 0.0423280423280429*G0_1_2 + 0.0423280423280432*G0_2_0 + 0.042328042328043*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[855] = -0.112874779541447*G0_0_0 - 0.112874779541447*G0_0_1 - 0.0112874779541449*G0_0_2 - 0.112874779541446*G0_1_0 - 0.112874779541446*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541442*G0_2_0 - 0.0112874779541443*G0_2_1 - 0.0451499118165784*G0_2_2;
- A[856] = -0.0225749559082892*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0225749559082893*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0112874779541446*G0_1_2 - 0.0225749559082898*G0_2_0 - 0.011287477954145*G0_2_1 - 0.0225749559082899*G0_2_2;
- A[857] = 0.0169312169312169*G0_0_0 - 0.0028218694885361*G0_0_1 + 0.016931216931217*G0_0_2 - 0.00282186948853619*G0_1_0 - 0.00282186948853618*G0_1_2 + 0.0169312169312172*G0_2_0 - 0.00282186948853581*G0_2_1 + 0.0169312169312172*G0_2_2;
- A[858] = 0.0225749559082895*G0_0_0 - 0.0112874779541448*G0_0_1 + 0.0225749559082895*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0112874779541445*G0_1_2 + 0.0225749559082895*G0_2_0 - 0.0112874779541449*G0_2_1 + 0.0225749559082896*G0_2_2;
- A[859] = -0.0112874779541446*G0_0_1 - 0.0112874779541446*G0_0_2 - 0.0112874779541442*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0225749559082889*G0_1_2 - 0.0112874779541445*G0_2_0 - 0.0225749559082893*G0_2_1 - 0.0225749559082895*G0_2_2;
- A[860] = -0.00282186948853611*G0_0_1 - 0.00282186948853622*G0_0_2 - 0.00282186948853607*G0_1_0 + 0.0169312169312171*G0_1_1 + 0.016931216931217*G0_1_2 - 0.00282186948853603*G0_2_0 + 0.016931216931217*G0_2_1 + 0.0169312169312168*G0_2_2;
- A[861] = -0.0112874779541451*G0_0_1 - 0.0112874779541452*G0_0_2 - 0.011287477954145*G0_1_0 + 0.0225749559082891*G0_1_1 + 0.0225749559082889*G0_1_2 - 0.0112874779541449*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[862] = -0.135449735449735*G0_0_0 - 0.0677248677248671*G0_0_1 - 0.0451499118165779*G0_0_2 + 0.0677248677248694*G0_1_0 - 0.0677248677248666*G0_1_2 + 0.225749559082893*G0_2_0 + 0.0677248677248682*G0_2_1 - 0.135449735449735*G0_2_2;
- A[863] = 0.0677248677248689*G0_0_1 - 0.0677248677248675*G0_0_2 - 0.0677248677248683*G0_1_0 - 0.135449735449736*G0_1_1 - 0.0451499118165788*G0_1_2 + 0.0677248677248684*G0_2_0 + 0.225749559082893*G0_2_1 - 0.135449735449736*G0_2_2;
- A[864] = 0.541798941798941*G0_0_0 + 0.27089947089947*G0_0_1 + 0.270899470899471*G0_0_2 + 0.27089947089947*G0_1_0 + 0.541798941798942*G0_1_1 + 0.270899470899471*G0_1_2 + 0.270899470899471*G0_2_0 + 0.270899470899471*G0_2_1 + 0.632098765432099*G0_2_2;
- A[865] = 0.135449735449735*G0_0_0 + 0.0677248677248675*G0_0_1 + 0.090299823633157*G0_0_2 + 0.067724867724867*G0_1_0 + 0.0451499118165784*G0_1_2 + 0.0902998236331574*G0_2_0 + 0.0451499118165791*G0_2_1 + 0.0451499118165794*G0_2_2;
- A[866] = 0.0677248677248679*G0_0_1 - 0.0677248677248686*G0_0_2 + 0.0677248677248683*G0_1_0 + 0.0451499118165788*G0_1_2 - 0.0677248677248684*G0_2_0 + 0.0451499118165785*G0_2_1 - 0.135449735449737*G0_2_2;
- A[867] = -0.541798941798941*G0_0_0 - 0.270899470899471*G0_0_1 - 0.27089947089947*G0_0_2 - 0.27089947089947*G0_1_0 - 0.135449735449736*G0_1_2 - 0.270899470899471*G0_2_0 - 0.135449735449736*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[868] = 0.0677248677248678*G0_0_1 + 0.0451499118165787*G0_0_2 + 0.0677248677248662*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0902998236331556*G0_1_2 + 0.0451499118165779*G0_2_0 + 0.0902998236331565*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[869] = 0.0677248677248672*G0_0_1 + 0.0451499118165793*G0_0_2 + 0.067724867724869*G0_1_0 - 0.0677248677248676*G0_1_2 + 0.0451499118165794*G0_2_0 - 0.0677248677248677*G0_2_1 - 0.135449735449734*G0_2_2;
- A[870] = -0.27089947089947*G0_0_1 - 0.135449735449736*G0_0_2 - 0.270899470899472*G0_1_0 - 0.541798941798942*G0_1_1 - 0.27089947089947*G0_1_2 - 0.135449735449736*G0_2_0 - 0.270899470899471*G0_2_1 + 0.0451499118165779*G0_2_2;
- A[871] = 0.0225749559082897*G0_0_1 + 0.045149911816579*G0_0_2 + 0.0225749559082899*G0_1_0 + 0.0451499118165787*G0_1_2 + 0.0451499118165798*G0_2_0 + 0.0451499118165796*G0_2_1 + 0.0902998236331577*G0_2_2;
- A[872] = 0.0225749559082896*G0_0_1 + 0.0451499118165775*G0_0_2 + 0.0225749559082889*G0_1_0 + 0.0677248677248667*G0_1_2 + 0.0451499118165778*G0_2_0 + 0.0677248677248681*G0_2_1 + 0.135449735449735*G0_2_2;
- A[873] = 0.0225749559082891*G0_0_1 + 0.0677248677248677*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0451499118165794*G0_1_2 + 0.0677248677248678*G0_2_0 + 0.0451499118165784*G0_2_1 + 0.135449735449736*G0_2_2;
- A[874] = -0.135449735449737*G0_0_1 - 0.31604938271605*G0_0_2 - 0.135449735449736*G0_1_0 - 0.31604938271605*G0_1_2 - 0.31604938271605*G0_2_0 - 0.31604938271605*G0_2_1 - 0.722398589065257*G0_2_2;
- A[875] = 0.0493827160493822*G0_0_0 + 0.0493827160493824*G0_0_1 + 0.0493827160493823*G0_0_2 + 0.0423280423280418*G0_1_0 + 0.0423280423280419*G0_1_1 + 0.0423280423280419*G0_1_2 + 0.0423280423280418*G0_2_0 + 0.0423280423280418*G0_2_1 + 0.0423280423280419*G0_2_2;
- A[876] = 0.0183421516754848*G0_0_0;
- A[877] = -0.00705467372134043*G0_0_1 - 0.0253968253968254*G0_1_1;
- A[878] = -0.0070546737213404*G0_0_2 - 0.0253968253968253*G0_2_2;
- A[879] = 0.0677248677248679*G0_0_1 + 0.0225749559082891*G0_0_2 + 0.0902998236331571*G0_1_1 + 0.0338624338624339*G0_1_2 + 0.0338624338624334*G0_2_1;
- A[880] = 0.0846560846560851*G0_0_1 + 0.084656084656085*G0_0_2 + 0.0677248677248679*G0_1_1 + 0.0649029982363314*G0_1_2 + 0.0649029982363316*G0_2_1 + 0.0677248677248674*G0_2_2;
- A[881] = 0.0225749559082893*G0_0_1 + 0.0677248677248676*G0_0_2 + 0.0338624338624338*G0_1_2 + 0.0338624338624341*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[882] = -0.0225749559082888*G0_0_0 - 0.0112874779541444*G0_0_2 - 0.0112874779541446*G0_2_0;
- A[883] = 0.0169312169312166*G0_0_0 + 0.0197530864197527*G0_0_2 + 0.0197530864197529*G0_2_0 + 0.0225749559082894*G0_2_2;
- A[884] = 0.0225749559082893*G0_0_0 + 0.033862433862434*G0_0_2 + 0.0338624338624341*G0_2_0 + 0.0451499118165781*G0_2_2;
- A[885] = -0.0225749559082888*G0_0_0 - 0.0112874779541444*G0_0_1 - 0.011287477954144*G0_1_0;
- A[886] = 0.0169312169312157*G0_0_0 + 0.0197530864197522*G0_0_1 + 0.0197530864197523*G0_1_0 + 0.0225749559082883*G0_1_1;
- A[887] = 0.0225749559082893*G0_0_0 + 0.033862433862434*G0_0_1 + 0.0338624338624342*G0_1_0 + 0.0451499118165789*G0_1_1;
- A[888] = -0.0677248677248671*G0_0_0 - 0.0677248677248673*G0_0_1 - 0.0790123456790113*G0_0_2 - 0.270899470899471*G0_1_0 - 0.270899470899471*G0_1_1 - 0.169312169312169*G0_1_2 - 0.169312169312169*G0_2_0 - 0.169312169312169*G0_2_1 - 0.0677248677248669*G0_2_2;
- A[889] = 0.118518518518519*G0_0_0 + 0.118518518518519*G0_0_1 + 0.0253968253968244*G0_0_2 + 0.0677248677248676*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.16084656084656*G0_1_2 + 0.160846560846561*G0_2_0 + 0.160846560846561*G0_2_1 - 0.0169312169312176*G0_2_2;
- A[890] = -0.0225749559082894*G0_0_0 - 0.0225749559082893*G0_0_1 + 0.0112874779541455*G0_0_2 - 0.0338624338624335*G0_1_2 - 0.0338624338624341*G0_2_0 - 0.0338624338624341*G0_2_1 + 0.0677248677248678*G0_2_2;
- A[891] = -0.0677248677248674*G0_0_0 - 0.0790123456790119*G0_0_1 - 0.0677248677248677*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248672*G0_1_1 - 0.169312169312169*G0_1_2 - 0.270899470899471*G0_2_0 - 0.169312169312169*G0_2_1 - 0.270899470899471*G0_2_2;
- A[892] = 0.118518518518518*G0_0_0 + 0.0253968253968252*G0_0_1 + 0.118518518518518*G0_0_2 + 0.160846560846561*G0_1_0 - 0.0169312169312171*G0_1_1 + 0.160846560846561*G0_1_2 + 0.0677248677248672*G0_2_0 + 0.16084656084656*G0_2_1 + 0.0677248677248672*G0_2_2;
- A[893] = -0.0225749559082893*G0_0_0 + 0.0112874779541447*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0338624338624342*G0_1_0 + 0.0677248677248675*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0338624338624338*G0_2_1;
- A[894] = -0.045149911816578*G0_0_0 - 0.033862433862434*G0_0_1 - 0.0338624338624338*G0_0_2 - 0.0338624338624333*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449736*G0_1_2 - 0.033862433862433*G0_2_0 - 0.135449735449736*G0_2_1 - 0.135449735449736*G0_2_2;
- A[895] = 0.0225749559082894*G0_0_0 - 0.0197530864197534*G0_0_1 - 0.0197530864197534*G0_0_2 - 0.0197530864197533*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082888*G0_1_2 - 0.0197530864197539*G0_2_0 + 0.0225749559082888*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[896] = -0.0451499118165784*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.011287477954145*G0_1_0 + 0.0112874779541453*G0_2_0;
- A[897] = 0.090299823633157*G0_0_0 + 0.0451499118165788*G0_0_1 + 0.0451499118165787*G0_0_2 + 0.0451499118165786*G0_1_0 + 0.0225749559082894*G0_1_2 + 0.045149911816579*G0_2_0 + 0.0225749559082892*G0_2_1;
- A[898] = 0.135449735449737*G0_0_0 + 0.0902998236331581*G0_0_1 + 0.0677248677248679*G0_0_2 + 0.0902998236331575*G0_1_0 + 0.0451499118165792*G0_1_1 + 0.0451499118165786*G0_1_2 + 0.0677248677248673*G0_2_0 + 0.0451499118165791*G0_2_1;
- A[899] = 0.135449735449735*G0_0_0 + 0.067724867724867*G0_0_1 + 0.0902998236331574*G0_0_2 + 0.0677248677248675*G0_1_0 + 0.0451499118165791*G0_1_2 + 0.090299823633157*G0_2_0 + 0.0451499118165784*G0_2_1 + 0.0451499118165793*G0_2_2;
- A[900] = 0.6320987654321*G0_0_0 + 0.361199294532627*G0_0_1 + 0.361199294532629*G0_0_2 + 0.361199294532627*G0_1_0 + 0.632098765432099*G0_1_1 + 0.361199294532628*G0_1_2 + 0.361199294532629*G0_2_0 + 0.361199294532628*G0_2_1 + 0.632098765432099*G0_2_2;
- A[901] = -0.135449735449737*G0_0_0 - 0.361199294532628*G0_0_1 - 0.203174603174604*G0_0_2 - 0.0902998236331575*G0_1_0 - 0.451499118165785*G0_1_1 - 0.225749559082893*G0_1_2 - 0.0677248677248673*G0_2_0 - 0.225749559082892*G0_2_1 - 0.135449735449736*G0_2_2;
- A[902] = -0.135449735449735*G0_0_0 - 0.203174603174604*G0_0_1 - 0.361199294532628*G0_0_2 - 0.0677248677248675*G0_1_0 - 0.135449735449735*G0_1_1 - 0.225749559082891*G0_1_2 - 0.090299823633157*G0_2_0 - 0.225749559082893*G0_2_1 - 0.451499118165784*G0_2_2;
- A[903] = 0.0451499118165772*G0_0_0 + 0.31604938271605*G0_0_1 + 0.180599647266315*G0_0_2 + 0.31604938271605*G0_1_0 + 0.0451499118165782*G0_1_1 + 0.180599647266315*G0_1_2 + 0.180599647266314*G0_2_0 + 0.180599647266315*G0_2_1 + 0.31604938271605*G0_2_2;
- A[904] = 0.0451499118165791*G0_0_0 - 0.0451499118165789*G0_0_1 - 0.0451499118165787*G0_1_0 - 0.0225749559082891*G0_1_2 - 0.0225749559082894*G0_2_1 - 0.0451499118165784*G0_2_2;
- A[905] = -0.135449735449736*G0_0_0 - 0.0677248677248674*G0_0_1 - 0.180599647266315*G0_0_2 - 0.0677248677248675*G0_1_0 - 0.0451499118165785*G0_1_2 - 0.180599647266314*G0_2_0 - 0.0451499118165787*G0_2_1 - 0.225749559082893*G0_2_2;
- A[906] = 0.0451499118165773*G0_0_0 + 0.180599647266314*G0_0_1 + 0.316049382716049*G0_0_2 + 0.180599647266313*G0_1_0 + 0.316049382716049*G0_1_1 + 0.180599647266313*G0_1_2 + 0.31604938271605*G0_2_0 + 0.180599647266314*G0_2_1 + 0.0451499118165789*G0_2_2;
- A[907] = 0.0451499118165787*G0_0_0 - 0.0451499118165784*G0_0_2 - 0.0451499118165784*G0_1_1 - 0.0225749559082897*G0_1_2 - 0.0451499118165789*G0_2_0 - 0.0225749559082894*G0_2_1;
- A[908] = -0.135449735449734*G0_0_0 - 0.180599647266313*G0_0_1 - 0.0677248677248669*G0_0_2 - 0.180599647266313*G0_1_0 - 0.225749559082892*G0_1_1 - 0.0451499118165782*G0_1_2 - 0.0677248677248672*G0_2_0 - 0.0451499118165776*G0_2_1;
- A[909] = -0.722398589065257*G0_0_0 - 0.406349206349209*G0_0_1 - 0.406349206349207*G0_0_2 - 0.406349206349206*G0_1_0 - 0.0902998236331568*G0_1_1 - 0.225749559082893*G0_1_2 - 0.406349206349208*G0_2_0 - 0.225749559082894*G0_2_1 - 0.0902998236331584*G0_2_2;
- A[910] = -0.018342151675485*G0_0_0 - 0.0183421516754849*G0_0_1 - 0.0183421516754849*G0_0_2 - 0.0253968253968251*G0_1_0 - 0.0253968253968252*G0_1_1 - 0.0253968253968251*G0_1_2 - 0.0253968253968252*G0_2_0 - 0.0253968253968253*G0_2_1 - 0.0253968253968252*G0_2_2;
+ A[721] = -0.22010582010582*G0_0_0 - 0.0592592592592584*G0_0_1 - 0.0592592592592585*G0_0_2 - 0.132627865961199*G0_1_0 - 0.0902998236331566*G0_1_1 - 0.0902998236331567*G0_1_2 - 0.132627865961199*G0_2_0 - 0.0902998236331566*G0_2_1 - 0.0902998236331566*G0_2_2;
+ A[722] = 0.0225749559082885*G0_0_0 + 0.0423280423280405*G0_0_1 + 0.0423280423280406*G0_0_2 + 0.0423280423280418*G0_1_0 + 0.0846560846560835*G0_1_1 + 0.0846560846560837*G0_1_2 + 0.0423280423280417*G0_2_0 + 0.0846560846560833*G0_2_1 + 0.0846560846560837*G0_2_2;
+ A[723] = -0.00282186948853563*G0_0_1 - 0.00282186948853568*G0_0_2 - 0.0028218694885359*G0_1_0 + 0.0169312169312173*G0_1_1 + 0.0169312169312172*G0_1_2 - 0.00282186948853562*G0_2_0 + 0.0169312169312175*G0_2_1 + 0.0169312169312176*G0_2_2;
+ A[724] = -0.00282186948853603*G0_0_1 - 0.00282186948853597*G0_0_2 - 0.00282186948853594*G0_1_0 + 0.0169312169312171*G0_1_1 + 0.016931216931217*G0_1_2 - 0.002821869488536*G0_2_0 + 0.0169312169312171*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[725] = 0.02257495590829*G0_0_0 - 0.0197530864197532*G0_0_1 - 0.0197530864197534*G0_0_2 - 0.0197530864197529*G0_1_0 + 0.0225749559082892*G0_1_1 + 0.0225749559082893*G0_1_2 - 0.019753086419753*G0_2_0 + 0.0225749559082891*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[726] = 0.0028218694885358*G0_0_1 + 0.00282186948853601*G0_0_2 + 0.00282186948853595*G0_1_0 + 0.022574955908289*G0_1_1 + 0.0225749559082891*G0_1_2 + 0.00282186948853567*G0_2_0 + 0.022574955908289*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[727] = 0.00282186948853605*G0_0_1 + 0.00282186948853586*G0_0_2 + 0.00282186948853594*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.0225749559082889*G0_1_2 + 0.00282186948853601*G0_2_0 + 0.0225749559082894*G0_2_1 + 0.0225749559082889*G0_2_2;
+ A[728] = -0.016931216931218*G0_0_0 + 0.0253968253968253*G0_0_1 + 0.16084656084656*G0_0_2 + 0.16084656084656*G0_1_0 + 0.118518518518518*G0_1_1 + 0.0677248677248666*G0_1_2 + 0.16084656084656*G0_2_0 + 0.118518518518518*G0_2_1 + 0.0677248677248665*G0_2_2;
+ A[729] = -0.0169312169312153*G0_0_0 - 0.0423280423280403*G0_0_1 - 0.177777777777776*G0_0_2 - 0.177777777777777*G0_1_0 - 0.0846560846560834*G0_1_1 - 0.27089947089947*G0_1_2 - 0.177777777777777*G0_2_0 - 0.0846560846560833*G0_2_1 - 0.270899470899469*G0_2_2;
+ A[730] = 0.00564373897707225*G0_0_0 + 0.00282186948853603*G0_0_1 + 0.00282186948853565*G0_0_2 + 0.00282186948853634*G0_1_0 - 0.0169312169312171*G0_1_1 + 0.0677248677248676*G0_1_2 + 0.00282186948853635*G0_2_0 - 0.016931216931217*G0_2_1 + 0.0677248677248676*G0_2_2;
+ A[731] = -0.0169312169312183*G0_0_0 + 0.16084656084656*G0_0_1 + 0.025396825396825*G0_0_2 + 0.16084656084656*G0_1_0 + 0.0677248677248664*G0_1_1 + 0.118518518518518*G0_1_2 + 0.16084656084656*G0_2_0 + 0.0677248677248663*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[732] = -0.0169312169312151*G0_0_0 - 0.177777777777776*G0_0_1 - 0.0423280423280405*G0_0_2 - 0.177777777777777*G0_1_0 - 0.27089947089947*G0_1_1 - 0.0846560846560836*G0_1_2 - 0.177777777777777*G0_2_0 - 0.27089947089947*G0_2_1 - 0.0846560846560836*G0_2_2;
+ A[733] = 0.00564373897707219*G0_0_0 + 0.00282186948853577*G0_0_1 + 0.00282186948853575*G0_0_2 + 0.00282186948853612*G0_1_0 + 0.0677248677248682*G0_1_1 - 0.0169312169312171*G0_1_2 + 0.00282186948853616*G0_2_0 + 0.0677248677248682*G0_2_1 - 0.0169312169312174*G0_2_2;
+ A[734] = -0.0451499118165785*G0_0_0 - 0.0225749559082897*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0225749559082889*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449735*G0_1_2 - 0.0225749559082888*G0_2_0 - 0.135449735449736*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[735] = -0.0253968253968254*G0_0_0 - 0.0253968253968255*G0_0_1 - 0.0253968253968254*G0_0_2 - 0.00776014109347432*G0_1_0 - 0.00776014109347424*G0_1_1 - 0.00776014109347426*G0_1_2 - 0.00776014109347433*G0_2_0 - 0.00776014109347426*G0_2_1 - 0.00776014109347428*G0_2_2;
+ A[736] = -0.0705467372134039*G0_0_0 - 0.0458553791887125*G0_1_0 - 0.0458553791887125*G0_2_0;
+ A[737] = 0.00776014109347453*G0_1_1 + 0.0077601410934746*G0_2_1;
+ A[738] = 0.00776014109347454*G0_1_2 + 0.00776014109347449*G0_2_2;
+ A[739] = -0.0112874779541448*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0112874779541444*G0_2_2;
+ A[740] = -0.00282186948853635*G0_1_1 - 0.00282186948853619*G0_1_2 - 0.00282186948853639*G0_2_1 - 0.00282186948853635*G0_2_2;
+ A[741] = -0.0112874779541447*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0112874779541448*G0_2_2;
+ A[742] = 0.0225749559082899*G0_0_0 - 0.0790123456790118*G0_0_2 - 0.0790123456790123*G0_1_0 - 0.158024691358025*G0_1_2 - 0.0790123456790124*G0_2_0 - 0.158024691358025*G0_2_2;
+ A[743] = -0.0112874779541446*G0_0_0 + 0.0310405643738978*G0_0_2 + 0.031040564373898*G0_1_0 + 0.0902998236331574*G0_1_2 + 0.0310405643738979*G0_2_0 + 0.0902998236331572*G0_2_2;
+ A[744] = -0.0112874779541446*G0_0_2 - 0.0112874779541447*G0_1_0 - 0.0451499118165785*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0451499118165785*G0_2_2;
+ A[745] = 0.02257495590829*G0_0_0 - 0.0790123456790119*G0_0_1 - 0.0790123456790122*G0_1_0 - 0.158024691358025*G0_1_1 - 0.0790123456790121*G0_2_0 - 0.158024691358025*G0_2_1;
+ A[746] = -0.0112874779541448*G0_0_0 + 0.0310405643738978*G0_0_1 + 0.0310405643738977*G0_1_0 + 0.0902998236331573*G0_1_1 + 0.0310405643738976*G0_2_0 + 0.0902998236331573*G0_2_1;
+ A[747] = -0.0112874779541446*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0451499118165787*G0_1_1 - 0.0112874779541445*G0_2_0 - 0.0451499118165785*G0_2_1;
+ A[748] = -0.0225749559082896*G0_0_0 - 0.0225749559082896*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0112874779541444*G0_1_1 + 0.0112874779541445*G0_2_0 + 0.0112874779541444*G0_2_1;
+ A[749] = -0.0112874779541447*G0_0_0 - 0.0112874779541447*G0_0_1 + 0.00282186948853601*G0_0_2 + 0.00282186948853627*G0_1_0 + 0.00282186948853629*G0_1_1 + 0.00282186948853629*G0_2_0 + 0.00282186948853631*G0_2_1;
+ A[750] = 0.0112874779541447*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541447*G0_1_1 + 0.0112874779541447*G0_2_0 + 0.0112874779541447*G0_2_1;
+ A[751] = -0.0225749559082897*G0_0_0 + 0.0112874779541446*G0_0_1 - 0.0225749559082896*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541444*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541443*G0_2_2;
+ A[752] = -0.0112874779541446*G0_0_0 + 0.00282186948853622*G0_0_1 - 0.0112874779541446*G0_0_2 + 0.00282186948853601*G0_1_0 + 0.00282186948853617*G0_1_2 + 0.00282186948853603*G0_2_0 + 0.00282186948853619*G0_2_2;
+ A[753] = 0.0112874779541447*G0_0_1 + 0.0112874779541448*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541444*G0_2_2;
+ A[754] = 0.112874779541446*G0_0_0 + 0.0790123456790119*G0_0_1 + 0.0790123456790119*G0_0_2 + 0.0338624338624334*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0451499118165783*G0_1_2 + 0.0338624338624335*G0_2_0 + 0.0451499118165783*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[755] = -0.22010582010582*G0_0_0 - 0.132627865961199*G0_0_1 - 0.132627865961199*G0_0_2 - 0.0592592592592584*G0_1_0 - 0.0902998236331566*G0_1_1 - 0.0902998236331566*G0_1_2 - 0.0592592592592585*G0_2_0 - 0.0902998236331566*G0_2_1 - 0.0902998236331566*G0_2_2;
+ A[756] = 0.203174603174603*G0_0_0 + 0.0790123456790119*G0_0_1 + 0.079012345679012*G0_0_2 + 0.079012345679012*G0_1_0 + 0.158024691358025*G0_1_1 + 0.158024691358025*G0_1_2 + 0.079012345679012*G0_2_0 + 0.158024691358025*G0_2_1 + 0.158024691358025*G0_2_2;
+ A[757] = -0.0451499118165781*G0_0_0 - 0.0112874779541435*G0_0_1 - 0.0112874779541436*G0_0_2 - 0.0112874779541441*G0_1_0 - 0.112874779541446*G0_1_1 - 0.112874779541446*G0_1_2 - 0.0112874779541443*G0_2_0 - 0.112874779541446*G0_2_1 - 0.112874779541446*G0_2_2;
+ A[758] = -0.0112874779541451*G0_0_1 - 0.0112874779541449*G0_0_2 - 0.0112874779541454*G0_1_0 + 0.0225749559082887*G0_1_1 + 0.0225749559082888*G0_1_2 - 0.011287477954145*G0_2_0 + 0.022574955908289*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[759] = -0.0112874779541449*G0_0_1 - 0.011287477954145*G0_0_2 - 0.011287477954145*G0_1_0 + 0.0225749559082893*G0_1_1 + 0.0225749559082889*G0_1_2 - 0.0112874779541452*G0_2_0 + 0.022574955908289*G0_2_1 + 0.0225749559082886*G0_2_2;
+ A[760] = -0.0451499118165788*G0_0_0 + 0.0112874779541449*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.0112874779541444*G0_1_0 + 0.0112874779541442*G0_2_0;
+ A[761] = 0.0112874779541445*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.0112874779541453*G0_1_0 + 0.0112874779541449*G0_2_0;
+ A[762] = 0.0112874779541447*G0_0_1 + 0.0112874779541447*G0_0_2 + 0.011287477954145*G0_1_0 + 0.0112874779541452*G0_2_0;
+ A[763] = 0.0677248677248684*G0_0_0 + 0.0112874779541446*G0_0_1 - 0.0338624338624334*G0_0_2 - 0.0338624338624335*G0_1_0 - 0.0225749559082891*G0_1_1 - 0.0338624338624336*G0_2_0 - 0.0225749559082893*G0_2_1;
+ A[764] = -0.0677248677248687*G0_0_0 + 0.0112874779541434*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587301*G0_1_0 + 0.112874779541446*G0_1_1 + 0.101587301587301*G0_2_0 + 0.112874779541446*G0_2_1;
+ A[765] = 0.0225749559082893*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0338624338624336*G0_0_2 - 0.0338624338624342*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0338624338624342*G0_2_0 - 0.0225749559082891*G0_2_1;
+ A[766] = 0.0677248677248686*G0_0_0 - 0.0338624338624332*G0_0_1 + 0.0112874779541449*G0_0_2 - 0.0338624338624337*G0_1_0 - 0.0225749559082894*G0_1_2 - 0.0338624338624337*G0_2_0 - 0.0225749559082897*G0_2_2;
+ A[767] = -0.0677248677248689*G0_0_0 + 0.101587301587301*G0_0_1 + 0.0112874779541434*G0_0_2 + 0.101587301587301*G0_1_0 + 0.112874779541446*G0_1_2 + 0.101587301587301*G0_2_0 + 0.112874779541446*G0_2_2;
+ A[768] = 0.0225749559082893*G0_0_0 - 0.033862433862434*G0_0_1 + 0.0112874779541448*G0_0_2 - 0.0338624338624337*G0_1_0 - 0.0225749559082887*G0_1_2 - 0.0338624338624336*G0_2_0 - 0.0225749559082892*G0_2_2;
+ A[769] = 0.090299823633157*G0_0_0;
+ A[770] = 0.0183421516754848*G0_0_0 + 0.018342151675485*G0_0_1 + 0.0183421516754851*G0_0_2 + 0.0183421516754847*G0_1_0 + 0.0183421516754847*G0_1_1 + 0.0183421516754848*G0_1_2 + 0.0183421516754847*G0_2_0 + 0.0183421516754848*G0_2_1 + 0.0183421516754848*G0_2_2;
+ A[771] = 0.0493827160493825*G0_0_0 + 0.00705467372134008*G0_1_0 + 0.00705467372134009*G0_2_0;
+ A[772] = 0.00705467372134052*G0_0_1 - 0.0183421516754851*G0_1_1 + 0.00705467372134031*G0_2_1;
+ A[773] = 0.0070546737213405*G0_0_2 + 0.00705467372134034*G0_1_2 - 0.018342151675485*G0_2_2;
+ A[774] = -0.067724867724868*G0_0_1 - 0.0225749559082893*G0_0_2 + 0.0225749559082896*G0_1_1 + 0.0112874779541448*G0_1_2 - 0.0338624338624338*G0_2_1 - 0.0225749559082892*G0_2_2;
+ A[775] = -0.0846560846560849*G0_0_1 - 0.0846560846560847*G0_0_2 - 0.0169312169312174*G0_1_1 - 0.0197530864197534*G0_1_2 - 0.0197530864197535*G0_2_1 - 0.0169312169312173*G0_2_2;
+ A[776] = -0.0225749559082893*G0_0_1 - 0.0677248677248677*G0_0_2 - 0.0225749559082894*G0_1_1 - 0.0338624338624337*G0_1_2 + 0.0112874779541447*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[777] = -0.0677248677248685*G0_0_0 + 0.0112874779541434*G0_0_2 + 0.203174603174602*G0_1_0 + 0.112874779541445*G0_1_2 + 0.101587301587302*G0_2_0 + 0.112874779541446*G0_2_2;
+ A[778] = 0.118518518518519*G0_0_0 + 0.0931216931216945*G0_0_2 + 0.0507936507936516*G0_1_0 + 0.186243386243387*G0_1_2 - 0.042328042328042*G0_2_0 - 0.0846560846560837*G0_2_2;
+ A[779] = -0.0225749559082893*G0_0_0 - 0.0338624338624345*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0677248677248682*G0_1_2 + 0.0112874779541447*G0_2_0 + 0.0677248677248674*G0_2_2;
+ A[780] = -0.0677248677248683*G0_0_0 + 0.0112874779541437*G0_0_1 + 0.101587301587301*G0_1_0 + 0.112874779541445*G0_1_1 + 0.203174603174603*G0_2_0 + 0.112874779541446*G0_2_1;
+ A[781] = 0.118518518518518*G0_0_0 + 0.0931216931216931*G0_0_1 - 0.0423280423280426*G0_1_0 - 0.0846560846560844*G0_1_1 + 0.050793650793651*G0_2_0 + 0.186243386243386*G0_2_1;
+ A[782] = -0.0225749559082896*G0_0_0 - 0.0338624338624342*G0_0_1 + 0.0112874779541449*G0_1_0 + 0.067724867724868*G0_1_1 - 0.0225749559082897*G0_2_0 - 0.0677248677248679*G0_2_1;
+ A[783] = -0.0225749559082887*G0_0_0 - 0.0225749559082891*G0_0_1 - 0.0112874779541452*G0_0_2 - 0.0225749559082884*G0_1_0 - 0.0225749559082886*G0_1_1 - 0.0112874779541442*G0_1_2 - 0.0112874779541442*G0_2_0 - 0.0112874779541444*G0_2_1;
+ A[784] = 0.0169312169312168*G0_0_0 + 0.0169312169312169*G0_0_1 - 0.002821869488535*G0_0_2 + 0.0169312169312164*G0_1_0 + 0.0169312169312165*G0_1_1 - 0.00282186948853577*G0_1_2 - 0.00282186948853647*G0_2_0 - 0.00282186948853635*G0_2_1;
+ A[785] = 0.0225749559082894*G0_0_0 + 0.0225749559082893*G0_0_1 - 0.0112874779541453*G0_0_2 + 0.0225749559082895*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541447*G0_2_1;
+ A[786] = -0.0225749559082883*G0_0_0 - 0.0112874779541446*G0_0_1 - 0.0225749559082887*G0_0_2 - 0.0112874779541442*G0_1_0 - 0.0112874779541442*G0_1_2 - 0.0225749559082878*G0_2_0 - 0.0112874779541436*G0_2_1 - 0.0225749559082881*G0_2_2;
+ A[787] = 0.0169312169312164*G0_0_0 - 0.00282186948853576*G0_0_1 + 0.0169312169312169*G0_0_2 - 0.00282186948853606*G0_1_0 - 0.00282186948853604*G0_1_2 + 0.0169312169312163*G0_2_0 - 0.00282186948853671*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[788] = 0.0225749559082896*G0_0_0 - 0.0112874779541452*G0_0_1 + 0.0225749559082894*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541448*G0_1_2 + 0.0225749559082897*G0_2_0 - 0.0112874779541446*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[789] = -0.0451499118165779*G0_0_0 - 0.0564373897707222*G0_0_1 - 0.0564373897707221*G0_0_2 - 0.0564373897707219*G0_1_0 - 0.0677248677248667*G0_1_1 - 0.0677248677248667*G0_1_2 - 0.0564373897707219*G0_2_0 - 0.0677248677248666*G0_2_1 - 0.0677248677248666*G0_2_2;
+ A[790] = 0.0225749559082885*G0_0_0 + 0.0423280423280418*G0_0_1 + 0.0423280423280417*G0_0_2 + 0.0423280423280405*G0_1_0 + 0.0846560846560835*G0_1_1 + 0.0846560846560833*G0_1_2 + 0.0423280423280406*G0_2_0 + 0.0846560846560837*G0_2_1 + 0.0846560846560837*G0_2_2;
+ A[791] = -0.0451499118165781*G0_0_0 - 0.0112874779541441*G0_0_1 - 0.0112874779541443*G0_0_2 - 0.0112874779541435*G0_1_0 - 0.112874779541446*G0_1_1 - 0.112874779541446*G0_1_2 - 0.0112874779541436*G0_2_0 - 0.112874779541446*G0_2_1 - 0.112874779541446*G0_2_2;
+ A[792] = 0.632098765432099*G0_0_0 + 0.270899470899471*G0_0_1 + 0.270899470899471*G0_0_2 + 0.270899470899471*G0_1_0 + 0.541798941798943*G0_1_1 + 0.270899470899472*G0_1_2 + 0.270899470899471*G0_2_0 + 0.270899470899472*G0_2_1 + 0.541798941798942*G0_2_2;
+ A[793] = -0.135449735449737*G0_0_0 + 0.225749559082891*G0_0_1 + 0.0677248677248664*G0_0_2 - 0.0451499118165791*G0_1_0 - 0.135449735449737*G0_1_1 - 0.0677248677248681*G0_1_2 - 0.067724867724869*G0_2_0 + 0.0677248677248662*G0_2_1;
+ A[794] = -0.135449735449735*G0_0_0 + 0.0677248677248689*G0_0_1 + 0.225749559082892*G0_0_2 - 0.0677248677248678*G0_1_0 + 0.0677248677248677*G0_1_2 - 0.0451499118165783*G0_2_0 - 0.0677248677248667*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[795] = 0.0902998236331574*G0_0_0 + 0.0451499118165793*G0_0_1 + 0.0451499118165789*G0_0_2 + 0.0451499118165787*G0_1_0 + 0.0225749559082887*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0225749559082897*G0_2_1;
+ A[796] = 0.135449735449737*G0_0_0 + 0.0451499118165779*G0_0_1 + 0.0677248677248681*G0_0_2 + 0.0451499118165792*G0_1_0 + 0.0225749559082897*G0_1_2 + 0.0677248677248691*G0_2_0 + 0.0225749559082887*G0_2_1;
+ A[797] = 0.135449735449735*G0_0_0 + 0.0677248677248679*G0_0_1 + 0.0451499118165775*G0_0_2 + 0.0677248677248679*G0_1_0 + 0.0225749559082892*G0_1_2 + 0.0451499118165784*G0_2_0 + 0.0225749559082898*G0_2_1;
+ A[798] = 0.0451499118165776*G0_0_0 + 0.0902998236331564*G0_0_1 + 0.0451499118165768*G0_0_2 + 0.0902998236331547*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0677248677248649*G0_1_2 + 0.045149911816578*G0_2_0 + 0.0677248677248675*G0_2_1;
+ A[799] = 0.0451499118165796*G0_0_0 - 0.27089947089947*G0_0_1 - 0.135449735449734*G0_0_2 - 0.270899470899469*G0_1_0 - 0.541798941798942*G0_1_1 - 0.270899470899468*G0_1_2 - 0.135449735449735*G0_2_0 - 0.270899470899471*G0_2_1;
+ A[800] = -0.135449735449736*G0_0_0 - 0.0677248677248684*G0_0_1 + 0.0451499118165788*G0_0_2 - 0.0677248677248679*G0_1_0 + 0.0677248677248683*G0_1_2 + 0.0451499118165785*G0_2_0 + 0.0677248677248671*G0_2_1;
+ A[801] = 0.0451499118165772*G0_0_0 + 0.045149911816577*G0_0_1 + 0.0902998236331563*G0_0_2 + 0.0451499118165777*G0_1_0 + 0.0677248677248678*G0_1_2 + 0.0902998236331546*G0_2_0 + 0.0677248677248655*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[802] = 0.0451499118165795*G0_0_0 - 0.135449735449734*G0_0_1 - 0.27089947089947*G0_0_2 - 0.135449735449735*G0_1_0 - 0.270899470899471*G0_1_2 - 0.270899470899469*G0_2_0 - 0.270899470899469*G0_2_1 - 0.541798941798941*G0_2_2;
+ A[803] = -0.135449735449735*G0_0_0 + 0.045149911816579*G0_0_1 - 0.0677248677248661*G0_0_2 + 0.0451499118165787*G0_1_0 + 0.067724867724868*G0_1_2 - 0.0677248677248673*G0_2_0 + 0.0677248677248681*G0_2_1;
+ A[804] = -0.722398589065256*G0_0_0 - 0.316049382716048*G0_0_1 - 0.316049382716049*G0_0_2 - 0.31604938271605*G0_1_0 - 0.135449735449736*G0_1_2 - 0.31604938271605*G0_2_0 - 0.135449735449734*G0_2_1;
+ A[805] = 0.0183421516754851*G0_0_0 + 0.018342151675485*G0_0_1 + 0.018342151675485*G0_0_2 + 0.0183421516754852*G0_1_0 + 0.0183421516754852*G0_1_1 + 0.0183421516754852*G0_1_2 + 0.0183421516754849*G0_2_0 + 0.0183421516754849*G0_2_1 + 0.018342151675485*G0_2_2;
+ A[806] = -0.0183421516754851*G0_0_0 + 0.0070546737213404*G0_1_0 + 0.00705467372134026*G0_2_0;
+ A[807] = 0.00705467372134014*G0_0_1 + 0.0493827160493829*G0_1_1 + 0.00705467372134027*G0_2_1;
+ A[808] = 0.00705467372134031*G0_0_2 + 0.00705467372134039*G0_1_2 - 0.0183421516754851*G0_2_2;
+ A[809] = 0.203174603174603*G0_0_1 + 0.112874779541446*G0_0_2 - 0.0677248677248679*G0_1_1 + 0.0112874779541448*G0_1_2 + 0.101587301587302*G0_2_1 + 0.112874779541446*G0_2_2;
+ A[810] = 0.0507936507936512*G0_0_1 + 0.186243386243386*G0_0_2 + 0.118518518518519*G0_1_1 + 0.0931216931216934*G0_1_2 - 0.0423280423280423*G0_2_1 - 0.0846560846560839*G0_2_2;
+ A[811] = -0.0225749559082894*G0_0_1 - 0.0677248677248682*G0_0_2 - 0.0225749559082893*G0_1_1 - 0.0338624338624344*G0_1_2 + 0.0112874779541447*G0_2_1 + 0.0677248677248671*G0_2_2;
+ A[812] = 0.0225749559082895*G0_0_0 + 0.0112874779541449*G0_0_2 - 0.0677248677248679*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.0338624338624338*G0_2_0 - 0.0225749559082894*G0_2_2;
+ A[813] = -0.0169312169312169*G0_0_0 - 0.0197530864197531*G0_0_2 - 0.0846560846560846*G0_1_0 - 0.0846560846560848*G0_1_2 - 0.0197530864197528*G0_2_0 - 0.0169312169312165*G0_2_2;
+ A[814] = -0.0225749559082894*G0_0_0 - 0.033862433862434*G0_0_2 - 0.0225749559082895*G0_1_0 - 0.0677248677248679*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0225749559082894*G0_2_2;
+ A[815] = 0.0677248677248681*G0_0_0 + 0.0112874779541453*G0_0_1 - 0.0338624338624339*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.0677248677248671*G0_2_0 - 0.0225749559082886*G0_2_1;
+ A[816] = -0.0846560846560854*G0_0_0 - 0.0423280423280431*G0_0_1 + 0.0931216931216928*G0_1_0 + 0.118518518518518*G0_1_1 + 0.186243386243385*G0_2_0 + 0.0507936507936496*G0_2_1;
+ A[817] = 0.112874779541447*G0_0_0 + 0.101587301587302*G0_0_1 + 0.0112874779541449*G0_1_0 - 0.0677248677248677*G0_1_1 + 0.112874779541447*G0_2_0 + 0.203174603174604*G0_2_1;
+ A[818] = -0.0225749559082892*G0_0_0 - 0.0225749559082891*G0_0_1 - 0.0112874779541444*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.0225749559082895*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.0112874779541447*G0_2_0 - 0.0112874779541447*G0_2_1;
+ A[819] = 0.0169312169312164*G0_0_0 + 0.0169312169312166*G0_0_1 - 0.00282186948853646*G0_0_2 + 0.0169312169312167*G0_1_0 + 0.0169312169312168*G0_1_1 - 0.00282186948853575*G0_1_2 - 0.00282186948853605*G0_2_0 - 0.00282186948853591*G0_2_1;
+ A[820] = 0.0225749559082894*G0_0_0 + 0.0225749559082894*G0_0_1 - 0.0112874779541445*G0_0_2 + 0.0225749559082895*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.011287477954145*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.0112874779541446*G0_2_1;
+ A[821] = -0.0677248677248679*G0_0_0 - 0.0564373897707228*G0_0_1 - 0.0677248677248674*G0_0_2 - 0.0564373897707229*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.0564373897707229*G0_1_2 - 0.0677248677248673*G0_2_0 - 0.0564373897707227*G0_2_1 - 0.0677248677248672*G0_2_2;
+ A[822] = 0.0846560846560852*G0_0_0 + 0.0423280423280419*G0_0_1 + 0.0846560846560844*G0_0_2 + 0.0423280423280425*G0_1_0 + 0.0225749559082901*G0_1_1 + 0.0423280423280424*G0_1_2 + 0.0846560846560844*G0_2_0 + 0.042328042328042*G0_2_1 + 0.084656084656084*G0_2_2;
+ A[823] = -0.112874779541447*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.112874779541447*G0_0_2 - 0.011287477954145*G0_1_0 - 0.0451499118165795*G0_1_1 - 0.0112874779541447*G0_1_2 - 0.112874779541448*G0_2_0 - 0.0112874779541449*G0_2_1 - 0.112874779541447*G0_2_2;
+ A[824] = -0.0112874779541449*G0_0_1 - 0.0112874779541446*G0_0_2 - 0.011287477954145*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.022574955908289*G0_1_2 - 0.0112874779541446*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.0225749559082888*G0_2_2;
+ A[825] = -0.00282186948853589*G0_0_1 - 0.00282186948853562*G0_0_2 - 0.00282186948853562*G0_1_0 + 0.0169312169312173*G0_1_1 + 0.0169312169312175*G0_1_2 - 0.00282186948853568*G0_2_0 + 0.0169312169312172*G0_2_1 + 0.0169312169312176*G0_2_2;
+ A[826] = -0.0112874779541454*G0_0_1 - 0.011287477954145*G0_0_2 - 0.0112874779541451*G0_1_0 + 0.0225749559082887*G0_1_1 + 0.022574955908289*G0_1_2 - 0.0112874779541449*G0_2_0 + 0.0225749559082888*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[827] = -0.135449735449737*G0_0_0 - 0.0451499118165791*G0_0_1 - 0.067724867724869*G0_0_2 + 0.225749559082891*G0_1_0 - 0.135449735449737*G0_1_1 + 0.0677248677248662*G0_1_2 + 0.0677248677248664*G0_2_0 - 0.0677248677248681*G0_2_1;
+ A[828] = 0.541798941798944*G0_0_0 + 0.270899470899472*G0_0_1 + 0.270899470899473*G0_0_2 + 0.270899470899472*G0_1_0 + 0.6320987654321*G0_1_1 + 0.270899470899472*G0_1_2 + 0.270899470899473*G0_2_0 + 0.270899470899472*G0_2_1 + 0.541798941798944*G0_2_2;
+ A[829] = -0.0677248677248673*G0_0_1 + 0.0677248677248688*G0_0_2 + 0.0677248677248689*G0_1_0 - 0.135449735449735*G0_1_1 + 0.225749559082894*G0_1_2 - 0.0677248677248672*G0_2_0 - 0.0451499118165778*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[830] = 0.135449735449737*G0_0_0 + 0.0902998236331571*G0_0_1 + 0.0677248677248666*G0_0_2 + 0.0902998236331577*G0_1_0 + 0.0451499118165789*G0_1_1 + 0.0451499118165783*G0_1_2 + 0.0677248677248686*G0_2_0 + 0.0451499118165788*G0_2_1;
+ A[831] = -0.541798941798944*G0_0_0 - 0.270899470899471*G0_0_1 - 0.27089947089947*G0_0_2 - 0.270899470899472*G0_1_0 + 0.0451499118165784*G0_1_1 - 0.135449735449736*G0_1_2 - 0.270899470899473*G0_2_0 - 0.135449735449736*G0_2_1;
+ A[832] = -0.067724867724868*G0_0_1 + 0.0677248677248683*G0_0_2 - 0.0677248677248687*G0_1_0 - 0.135449735449736*G0_1_1 + 0.0451499118165789*G0_1_2 + 0.0677248677248673*G0_2_0 + 0.045149911816578*G0_2_1;
+ A[833] = 0.0451499118165792*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.0451499118165798*G0_1_0 + 0.0902998236331579*G0_1_1 + 0.0451499118165789*G0_1_2 + 0.0225749559082901*G0_2_0 + 0.0451499118165794*G0_2_1;
+ A[834] = 0.0451499118165786*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.0451499118165775*G0_1_0 + 0.135449735449737*G0_1_1 + 0.0677248677248678*G0_1_2 + 0.0225749559082887*G0_2_0 + 0.0677248677248677*G0_2_1;
+ A[835] = 0.0677248677248676*G0_0_1 + 0.0225749559082894*G0_0_2 + 0.067724867724868*G0_1_0 + 0.135449735449735*G0_1_1 + 0.0451499118165784*G0_1_2 + 0.0225749559082889*G0_2_0 + 0.0451499118165782*G0_2_1;
+ A[836] = 0.045149911816579*G0_0_1 + 0.0677248677248684*G0_0_2 + 0.0451499118165782*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0902998236331567*G0_1_2 + 0.0677248677248669*G0_2_0 + 0.0902998236331561*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[837] = 0.0451499118165791*G0_0_1 + 0.0677248677248679*G0_0_2 + 0.0451499118165787*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248667*G0_1_2 + 0.0677248677248678*G0_2_0 - 0.0677248677248672*G0_2_1;
+ A[838] = -0.135449735449736*G0_0_1 - 0.270899470899473*G0_0_2 - 0.135449735449735*G0_1_0 + 0.045149911816579*G0_1_1 - 0.270899470899471*G0_1_2 - 0.270899470899469*G0_2_0 - 0.270899470899471*G0_2_1 - 0.541798941798943*G0_2_2;
+ A[839] = -0.316049382716051*G0_0_1 - 0.135449735449736*G0_0_2 - 0.316049382716049*G0_1_0 - 0.722398589065257*G0_1_1 - 0.31604938271605*G0_1_2 - 0.135449735449735*G0_2_0 - 0.316049382716051*G0_2_1;
+ A[840] = 0.0183421516754851*G0_0_0 + 0.0183421516754851*G0_0_1 + 0.018342151675485*G0_0_2 + 0.0183421516754851*G0_1_0 + 0.0183421516754851*G0_1_1 + 0.0183421516754851*G0_1_2 + 0.0183421516754852*G0_2_0 + 0.0183421516754852*G0_2_1 + 0.0183421516754852*G0_2_2;
+ A[841] = -0.018342151675485*G0_0_0 + 0.00705467372134025*G0_1_0 + 0.00705467372134035*G0_2_0;
+ A[842] = 0.00705467372134037*G0_0_1 - 0.018342151675485*G0_1_1 + 0.00705467372134053*G0_2_1;
+ A[843] = 0.00705467372133999*G0_0_2 + 0.00705467372134012*G0_1_2 + 0.0493827160493825*G0_2_2;
+ A[844] = -0.0677248677248677*G0_0_1 - 0.0225749559082882*G0_0_2 + 0.0677248677248678*G0_1_1 + 0.0112874779541454*G0_1_2 - 0.033862433862434*G0_2_1 - 0.0225749559082882*G0_2_2;
+ A[845] = 0.186243386243386*G0_0_1 + 0.0507936507936497*G0_0_2 - 0.0846560846560847*G0_1_1 - 0.0423280423280433*G0_1_2 + 0.0931216931216938*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[846] = 0.112874779541446*G0_0_1 + 0.203174603174603*G0_0_2 + 0.112874779541446*G0_1_1 + 0.101587301587302*G0_1_2 + 0.0112874779541441*G0_2_1 - 0.0677248677248676*G0_2_2;
+ A[847] = 0.0677248677248679*G0_0_0 + 0.011287477954145*G0_0_2 - 0.0677248677248674*G0_1_0 - 0.0225749559082895*G0_1_2 - 0.0338624338624339*G0_2_0 - 0.0225749559082892*G0_2_2;
+ A[848] = -0.0846560846560851*G0_0_0 - 0.0423280423280427*G0_0_2 + 0.186243386243386*G0_1_0 + 0.0507936507936513*G0_1_2 + 0.0931216931216927*G0_2_0 + 0.118518518518518*G0_2_2;
+ A[849] = 0.112874779541446*G0_0_0 + 0.101587301587301*G0_0_2 + 0.112874779541446*G0_1_0 + 0.203174603174603*G0_1_2 + 0.0112874779541443*G0_2_0 - 0.0677248677248682*G0_2_2;
+ A[850] = 0.0225749559082891*G0_0_0 + 0.0112874779541447*G0_0_1 - 0.033862433862434*G0_1_0 - 0.0225749559082896*G0_1_1 - 0.0677248677248679*G0_2_0 - 0.0225749559082894*G0_2_1;
+ A[851] = -0.016931216931217*G0_0_0 - 0.0197530864197532*G0_0_1 - 0.0197530864197533*G0_1_0 - 0.0169312169312169*G0_1_1 - 0.0846560846560848*G0_2_0 - 0.0846560846560848*G0_2_1;
+ A[852] = -0.0225749559082893*G0_0_0 - 0.0338624338624339*G0_0_1 + 0.0112874779541449*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.0225749559082891*G0_2_0 - 0.0677248677248678*G0_2_1;
+ A[853] = -0.067724867724868*G0_0_0 - 0.0677248677248678*G0_0_1 - 0.0564373897707231*G0_0_2 - 0.067724867724868*G0_1_0 - 0.067724867724868*G0_1_1 - 0.0564373897707235*G0_1_2 - 0.0564373897707232*G0_2_0 - 0.0564373897707232*G0_2_1 - 0.0451499118165786*G0_2_2;
+ A[854] = 0.0846560846560851*G0_0_0 + 0.0846560846560847*G0_0_1 + 0.0423280423280424*G0_0_2 + 0.0846560846560852*G0_1_0 + 0.0846560846560849*G0_1_1 + 0.0423280423280429*G0_1_2 + 0.0423280423280424*G0_2_0 + 0.0423280423280423*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[855] = -0.112874779541446*G0_0_0 - 0.112874779541446*G0_0_1 - 0.0112874779541448*G0_0_2 - 0.112874779541446*G0_1_0 - 0.112874779541446*G0_1_1 - 0.0112874779541448*G0_1_2 - 0.0112874779541443*G0_2_0 - 0.0112874779541442*G0_2_1 - 0.0451499118165785*G0_2_2;
+ A[856] = -0.0225749559082891*G0_0_0 - 0.0112874779541447*G0_0_1 - 0.0225749559082891*G0_0_2 - 0.0112874779541446*G0_1_0 - 0.0112874779541447*G0_1_2 - 0.0225749559082898*G0_2_0 - 0.0112874779541452*G0_2_1 - 0.0225749559082898*G0_2_2;
+ A[857] = 0.016931216931217*G0_0_0 - 0.00282186948853598*G0_0_1 + 0.0169312169312171*G0_0_2 - 0.00282186948853609*G0_1_0 - 0.0028218694885361*G0_1_2 + 0.0169312169312177*G0_2_0 - 0.00282186948853549*G0_2_1 + 0.0169312169312176*G0_2_2;
+ A[858] = 0.0225749559082893*G0_0_0 - 0.0112874779541449*G0_0_1 + 0.0225749559082893*G0_0_2 - 0.0112874779541449*G0_1_0 - 0.0112874779541448*G0_1_2 + 0.0225749559082891*G0_2_0 - 0.0112874779541451*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[859] = -0.0112874779541445*G0_0_1 - 0.0112874779541447*G0_0_2 - 0.0112874779541445*G0_1_0 - 0.0225749559082889*G0_1_1 - 0.022574955908289*G0_1_2 - 0.0112874779541448*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.0225749559082894*G0_2_2;
+ A[860] = -0.00282186948853594*G0_0_1 - 0.002821869488536*G0_0_2 - 0.00282186948853603*G0_1_0 + 0.0169312169312171*G0_1_1 + 0.0169312169312171*G0_1_2 - 0.00282186948853596*G0_2_0 + 0.016931216931217*G0_2_1 + 0.0169312169312168*G0_2_2;
+ A[861] = -0.011287477954145*G0_0_1 - 0.0112874779541452*G0_0_2 - 0.0112874779541449*G0_1_0 + 0.0225749559082893*G0_1_1 + 0.022574955908289*G0_1_2 - 0.011287477954145*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0225749559082886*G0_2_2;
+ A[862] = -0.135449735449735*G0_0_0 - 0.0677248677248679*G0_0_1 - 0.0451499118165783*G0_0_2 + 0.0677248677248689*G0_1_0 - 0.0677248677248667*G0_1_2 + 0.225749559082892*G0_2_0 + 0.0677248677248677*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[863] = 0.0677248677248689*G0_0_1 - 0.0677248677248672*G0_0_2 - 0.0677248677248673*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0451499118165778*G0_1_2 + 0.0677248677248688*G0_2_0 + 0.225749559082894*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[864] = 0.541798941798941*G0_0_0 + 0.27089947089947*G0_0_1 + 0.270899470899471*G0_0_2 + 0.27089947089947*G0_1_0 + 0.541798941798941*G0_1_1 + 0.27089947089947*G0_1_2 + 0.270899470899471*G0_2_0 + 0.27089947089947*G0_2_1 + 0.632098765432099*G0_2_2;
+ A[865] = 0.135449735449735*G0_0_0 + 0.0677248677248672*G0_0_1 + 0.0902998236331562*G0_0_2 + 0.0677248677248671*G0_1_0 + 0.0451499118165785*G0_1_2 + 0.0902998236331571*G0_2_0 + 0.045149911816579*G0_2_1 + 0.0451499118165789*G0_2_2;
+ A[866] = 0.0677248677248682*G0_0_1 - 0.0677248677248683*G0_0_2 + 0.0677248677248673*G0_1_0 + 0.045149911816579*G0_1_2 - 0.0677248677248688*G0_2_0 + 0.045149911816578*G0_2_1 - 0.135449735449737*G0_2_2;
+ A[867] = -0.541798941798941*G0_0_0 - 0.270899470899471*G0_0_1 - 0.27089947089947*G0_0_2 - 0.27089947089947*G0_1_0 - 0.135449735449736*G0_1_2 - 0.270899470899471*G0_2_0 - 0.135449735449736*G0_2_1 + 0.0451499118165786*G0_2_2;
+ A[868] = 0.067724867724867*G0_0_1 + 0.045149911816578*G0_0_2 + 0.0677248677248667*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0902998236331556*G0_1_2 + 0.0451499118165776*G0_2_0 + 0.0902998236331559*G0_2_1 + 0.0451499118165781*G0_2_2;
+ A[869] = 0.067724867724868*G0_0_1 + 0.0451499118165792*G0_0_2 + 0.0677248677248686*G0_1_0 - 0.0677248677248674*G0_1_2 + 0.0451499118165794*G0_2_0 - 0.0677248677248671*G0_2_1 - 0.135449735449734*G0_2_2;
+ A[870] = -0.27089947089947*G0_0_1 - 0.135449735449735*G0_0_2 - 0.270899470899471*G0_1_0 - 0.541798941798941*G0_1_1 - 0.27089947089947*G0_1_2 - 0.135449735449735*G0_2_0 - 0.27089947089947*G0_2_1 + 0.0451499118165788*G0_2_2;
+ A[871] = 0.0225749559082899*G0_0_1 + 0.0451499118165791*G0_0_2 + 0.0225749559082899*G0_1_0 + 0.0451499118165791*G0_1_2 + 0.0451499118165795*G0_2_0 + 0.0451499118165796*G0_2_1 + 0.0902998236331577*G0_2_2;
+ A[872] = 0.0225749559082894*G0_0_1 + 0.0451499118165783*G0_0_2 + 0.0225749559082886*G0_1_0 + 0.067724867724867*G0_1_2 + 0.0451499118165779*G0_2_0 + 0.0677248677248681*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[873] = 0.0225749559082887*G0_0_1 + 0.0677248677248673*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0451499118165781*G0_1_2 + 0.0677248677248672*G0_2_0 + 0.0451499118165776*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[874] = -0.135449735449736*G0_0_1 - 0.31604938271605*G0_0_2 - 0.135449735449736*G0_1_0 - 0.316049382716049*G0_1_2 - 0.316049382716049*G0_2_0 - 0.31604938271605*G0_2_1 - 0.722398589065256*G0_2_2;
+ A[875] = 0.0493827160493828*G0_0_0 + 0.0493827160493829*G0_0_1 + 0.0493827160493829*G0_0_2 + 0.042328042328042*G0_1_0 + 0.0423280423280421*G0_1_1 + 0.0423280423280421*G0_1_2 + 0.0423280423280422*G0_2_0 + 0.0423280423280422*G0_2_1 + 0.0423280423280422*G0_2_2;
+ A[876] = 0.018342151675485*G0_0_0;
+ A[877] = -0.00705467372134029*G0_0_1 - 0.0253968253968256*G0_1_1;
+ A[878] = -0.00705467372134038*G0_0_2 - 0.0253968253968252*G0_2_2;
+ A[879] = 0.0677248677248681*G0_0_1 + 0.0225749559082897*G0_0_2 + 0.0902998236331572*G0_1_1 + 0.0338624338624338*G0_1_2 + 0.0338624338624335*G0_2_1;
+ A[880] = 0.0846560846560846*G0_0_1 + 0.0846560846560842*G0_0_2 + 0.0677248677248674*G0_1_1 + 0.0649029982363313*G0_1_2 + 0.0649029982363311*G0_2_1 + 0.0677248677248669*G0_2_2;
+ A[881] = 0.022574955908289*G0_0_1 + 0.0677248677248675*G0_0_2 + 0.0338624338624338*G0_1_2 + 0.0338624338624337*G0_2_1 + 0.0902998236331569*G0_2_2;
+ A[882] = -0.0225749559082893*G0_0_0 - 0.0112874779541443*G0_0_2 - 0.0112874779541452*G0_2_0;
+ A[883] = 0.0169312169312172*G0_0_0 + 0.0197530864197527*G0_0_2 + 0.0197530864197535*G0_2_0 + 0.0225749559082896*G0_2_2;
+ A[884] = 0.0225749559082889*G0_0_0 + 0.0338624338624338*G0_0_2 + 0.0338624338624336*G0_2_0 + 0.0451499118165779*G0_2_2;
+ A[885] = -0.0225749559082887*G0_0_0 - 0.0112874779541442*G0_0_1 - 0.0112874779541442*G0_1_0;
+ A[886] = 0.016931216931216*G0_0_0 + 0.0197530864197521*G0_0_1 + 0.0197530864197527*G0_1_0 + 0.0225749559082887*G0_1_1;
+ A[887] = 0.0225749559082899*G0_0_0 + 0.0338624338624346*G0_0_1 + 0.0338624338624341*G0_1_0 + 0.0451499118165789*G0_1_1;
+ A[888] = -0.0677248677248678*G0_0_0 - 0.0677248677248679*G0_0_1 - 0.0790123456790129*G0_0_2 - 0.270899470899472*G0_1_0 - 0.270899470899471*G0_1_1 - 0.169312169312169*G0_1_2 - 0.16931216931217*G0_2_0 - 0.169312169312169*G0_2_1 - 0.067724867724868*G0_2_2;
+ A[889] = 0.118518518518519*G0_0_0 + 0.118518518518519*G0_0_1 + 0.0253968253968262*G0_0_2 + 0.067724867724868*G0_1_0 + 0.067724867724868*G0_1_1 + 0.160846560846561*G0_1_2 + 0.160846560846561*G0_2_0 + 0.160846560846561*G0_2_1 - 0.016931216931216*G0_2_2;
+ A[890] = -0.0225749559082891*G0_0_0 - 0.0225749559082891*G0_0_1 + 0.0112874779541445*G0_0_2 - 0.033862433862434*G0_1_2 - 0.0338624338624338*G0_2_0 - 0.0338624338624339*G0_2_1 + 0.067724867724867*G0_2_2;
+ A[891] = -0.0677248677248671*G0_0_0 - 0.0790123456790128*G0_0_1 - 0.0677248677248676*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248673*G0_1_1 - 0.169312169312169*G0_1_2 - 0.270899470899471*G0_2_0 - 0.169312169312169*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[892] = 0.118518518518519*G0_0_0 + 0.0253968253968257*G0_0_1 + 0.118518518518519*G0_0_2 + 0.160846560846561*G0_1_0 - 0.0169312169312174*G0_1_1 + 0.160846560846561*G0_1_2 + 0.0677248677248673*G0_2_0 + 0.160846560846561*G0_2_1 + 0.0677248677248672*G0_2_2;
+ A[893] = -0.0225749559082899*G0_0_0 + 0.0112874779541444*G0_0_1 - 0.0225749559082898*G0_0_2 - 0.033862433862434*G0_1_0 + 0.0677248677248679*G0_1_1 - 0.0338624338624339*G0_1_2 - 0.0338624338624337*G0_2_1;
+ A[894] = -0.0451499118165791*G0_0_0 - 0.0338624338624341*G0_0_1 - 0.0338624338624339*G0_0_2 - 0.0338624338624336*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449736*G0_1_2 - 0.0338624338624337*G0_2_0 - 0.135449735449735*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[895] = 0.02257495590829*G0_0_0 - 0.0197530864197529*G0_0_1 - 0.019753086419753*G0_0_2 - 0.0197530864197532*G0_1_0 + 0.0225749559082892*G0_1_1 + 0.0225749559082891*G0_1_2 - 0.0197530864197534*G0_2_0 + 0.0225749559082893*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[896] = -0.0451499118165788*G0_0_0 + 0.0112874779541444*G0_0_1 + 0.0112874779541442*G0_0_2 + 0.0112874779541449*G0_1_0 + 0.0112874779541449*G0_2_0;
+ A[897] = 0.0902998236331573*G0_0_0 + 0.0451499118165787*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0451499118165793*G0_1_0 + 0.0225749559082897*G0_1_2 + 0.0451499118165789*G0_2_0 + 0.0225749559082887*G0_2_1;
+ A[898] = 0.135449735449737*G0_0_0 + 0.0902998236331577*G0_0_1 + 0.0677248677248686*G0_0_2 + 0.0902998236331571*G0_1_0 + 0.0451499118165789*G0_1_1 + 0.0451499118165788*G0_1_2 + 0.0677248677248666*G0_2_0 + 0.0451499118165783*G0_2_1;
+ A[899] = 0.135449735449735*G0_0_0 + 0.0677248677248671*G0_0_1 + 0.0902998236331571*G0_0_2 + 0.0677248677248672*G0_1_0 + 0.045149911816579*G0_1_2 + 0.0902998236331561*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165789*G0_2_2;
+ A[900] = 0.632098765432099*G0_0_0 + 0.361199294532628*G0_0_1 + 0.361199294532627*G0_0_2 + 0.361199294532628*G0_1_0 + 0.6320987654321*G0_1_1 + 0.361199294532628*G0_1_2 + 0.361199294532627*G0_2_0 + 0.361199294532628*G0_2_1 + 0.632098765432098*G0_2_2;
+ A[901] = -0.135449735449737*G0_0_0 - 0.361199294532628*G0_0_1 - 0.203174603174603*G0_0_2 - 0.0902998236331572*G0_1_0 - 0.451499118165785*G0_1_1 - 0.225749559082892*G0_1_2 - 0.0677248677248666*G0_2_0 - 0.225749559082892*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[902] = -0.135449735449734*G0_0_0 - 0.203174603174603*G0_0_1 - 0.361199294532627*G0_0_2 - 0.067724867724867*G0_1_0 - 0.135449735449735*G0_1_1 - 0.225749559082892*G0_1_2 - 0.0902998236331561*G0_2_0 - 0.225749559082892*G0_2_1 - 0.451499118165783*G0_2_2;
+ A[903] = 0.0451499118165779*G0_0_0 + 0.316049382716049*G0_0_1 + 0.180599647266313*G0_0_2 + 0.316049382716051*G0_1_0 + 0.045149911816579*G0_1_1 + 0.180599647266315*G0_1_2 + 0.180599647266315*G0_2_0 + 0.180599647266313*G0_2_1 + 0.316049382716049*G0_2_2;
+ A[904] = 0.0451499118165792*G0_0_0 - 0.0451499118165787*G0_0_1 - 0.045149911816579*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.0225749559082888*G0_2_1 - 0.0451499118165785*G0_2_2;
+ A[905] = -0.135449735449736*G0_0_0 - 0.0677248677248671*G0_0_1 - 0.180599647266314*G0_0_2 - 0.0677248677248681*G0_1_0 - 0.0451499118165792*G0_1_2 - 0.180599647266314*G0_2_0 - 0.0451499118165784*G0_2_1 - 0.225749559082892*G0_2_2;
+ A[906] = 0.0451499118165773*G0_0_0 + 0.180599647266314*G0_0_1 + 0.316049382716049*G0_0_2 + 0.180599647266314*G0_1_0 + 0.31604938271605*G0_1_1 + 0.180599647266314*G0_1_2 + 0.31604938271605*G0_2_0 + 0.180599647266314*G0_2_1 + 0.0451499118165787*G0_2_2;
+ A[907] = 0.0451499118165787*G0_0_0 - 0.0451499118165783*G0_0_2 - 0.0451499118165787*G0_1_1 - 0.0225749559082899*G0_1_2 - 0.0451499118165791*G0_2_0 - 0.0225749559082897*G0_2_1;
+ A[908] = -0.135449735449734*G0_0_0 - 0.180599647266314*G0_0_1 - 0.0677248677248679*G0_0_2 - 0.180599647266313*G0_1_0 - 0.225749559082892*G0_1_1 - 0.0451499118165784*G0_1_2 - 0.0677248677248675*G0_2_0 - 0.0451499118165781*G0_2_1;
+ A[909] = -0.722398589065256*G0_0_0 - 0.406349206349207*G0_0_1 - 0.406349206349207*G0_0_2 - 0.406349206349208*G0_1_0 - 0.0902998236331581*G0_1_1 - 0.225749559082893*G0_1_2 - 0.406349206349206*G0_2_0 - 0.225749559082892*G0_2_1 - 0.0902998236331577*G0_2_2;
+ A[910] = -0.0183421516754851*G0_0_0 - 0.018342151675485*G0_0_1 - 0.018342151675485*G0_0_2 - 0.0253968253968252*G0_1_0 - 0.0253968253968254*G0_1_1 - 0.0253968253968253*G0_1_2 - 0.0253968253968251*G0_2_0 - 0.0253968253968252*G0_2_1 - 0.0253968253968251*G0_2_2;
A[911] = 0.0183421516754851*G0_0_0;
- A[912] = -0.00705467372134012*G0_0_1 + 0.0423280423280424*G0_1_1;
- A[913] = -0.00705467372134039*G0_0_2 - 0.0253968253968254*G0_2_2;
- A[914] = -0.203174603174603*G0_0_1 - 0.112874779541446*G0_0_2 - 0.270899470899471*G0_1_1 - 0.101587301587302*G0_1_2 - 0.101587301587301*G0_2_1;
- A[915] = -0.0507936507936515*G0_0_1 - 0.186243386243387*G0_0_2 + 0.0677248677248676*G0_1_1 - 0.0931216931216924*G0_1_2 - 0.0931216931216941*G0_2_1 - 0.270899470899471*G0_2_2;
- A[916] = 0.0225749559082891*G0_0_1 + 0.067724867724868*G0_0_2 + 0.0338624338624337*G0_1_2 + 0.033862433862434*G0_2_1 + 0.135449735449735*G0_2_2;
- A[917] = -0.0225749559082898*G0_0_0 - 0.0112874779541449*G0_0_2 - 0.0112874779541446*G0_2_0;
- A[918] = 0.0169312169312176*G0_0_0 + 0.0197530864197533*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.0225749559082894*G0_2_2;
- A[919] = 0.0225749559082893*G0_0_0 + 0.0338624338624341*G0_0_2 + 0.0338624338624341*G0_2_0 + 0.0451499118165787*G0_2_2;
- A[920] = -0.0677248677248683*G0_0_0 - 0.0112874779541453*G0_0_1 - 0.0112874779541455*G0_1_0;
- A[921] = 0.0846560846560858*G0_0_0 + 0.0423280423280434*G0_0_1 + 0.0423280423280437*G0_1_0 + 0.0225749559082905*G0_1_1;
- A[922] = -0.112874779541447*G0_0_0 - 0.101587301587302*G0_0_1 - 0.101587301587303*G0_1_0 - 0.135449735449737*G0_1_1;
- A[923] = 0.0225749559082896*G0_0_0 + 0.0225749559082894*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0902998236331573*G0_1_0 + 0.0902998236331572*G0_1_1 + 0.0564373897707226*G0_1_2 + 0.0564373897707234*G0_2_0 + 0.0564373897707233*G0_2_1 + 0.0225749559082891*G0_2_2;
- A[924] = -0.0169312169312168*G0_0_0 - 0.0169312169312172*G0_0_1 + 0.0028218694885364*G0_0_2 + 0.0677248677248679*G0_1_0 + 0.0677248677248681*G0_1_1 + 0.00282186948853676*G0_1_2 + 0.00282186948853579*G0_2_0 + 0.00282186948853571*G0_2_1 + 0.00564373897707242*G0_2_2;
- A[925] = -0.0225749559082893*G0_0_0 - 0.0225749559082892*G0_0_1 + 0.0112874779541447*G0_0_2 - 0.0338624338624344*G0_1_2 - 0.0338624338624341*G0_2_0 - 0.0338624338624341*G0_2_1 + 0.0225749559082893*G0_2_2;
- A[926] = 0.067724867724868*G0_0_0 + 0.0564373897707227*G0_0_1 + 0.0677248677248674*G0_0_2 + 0.101587301587302*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.101587301587302*G0_1_2 + 0.135449735449735*G0_2_0 + 0.101587301587301*G0_2_1 + 0.135449735449735*G0_2_2;
- A[927] = -0.0846560846560854*G0_0_0 - 0.0423280423280417*G0_0_1 - 0.0846560846560844*G0_0_2 - 0.177777777777778*G0_1_0 - 0.0169312169312165*G0_1_1 - 0.177777777777778*G0_1_2 - 0.27089947089947*G0_2_0 - 0.177777777777778*G0_2_1 - 0.270899470899471*G0_2_2;
- A[928] = 0.112874779541447*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.112874779541447*G0_0_2 + 0.101587301587303*G0_1_0 - 0.0677248677248677*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_1;
- A[929] = 0.0112874779541448*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0451499118165789*G0_1_1 + 0.0451499118165788*G0_1_2 + 0.0112874779541444*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165786*G0_2_2;
- A[930] = 0.00282186948853643*G0_0_1 + 0.00282186948853613*G0_0_2 + 0.0028218694885359*G0_1_0 + 0.0225749559082895*G0_1_1 + 0.0225749559082893*G0_1_2 + 0.00282186948853615*G0_2_0 + 0.0225749559082895*G0_2_1 + 0.0225749559082896*G0_2_2;
- A[931] = 0.0112874779541454*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.0112874779541444*G0_1_0 + 0.0112874779541445*G0_2_0;
- A[932] = 0.135449735449737*G0_0_0 + 0.0451499118165789*G0_0_1 + 0.0677248677248688*G0_0_2 + 0.0451499118165788*G0_1_0 + 0.0225749559082892*G0_1_2 + 0.067724867724868*G0_2_0 + 0.0225749559082896*G0_2_1;
- A[933] = -0.541798941798944*G0_0_0 - 0.270899470899472*G0_0_1 - 0.270899470899473*G0_0_2 - 0.270899470899471*G0_1_0 + 0.0451499118165785*G0_1_1 - 0.135449735449736*G0_1_2 - 0.270899470899471*G0_2_0 - 0.135449735449736*G0_2_1;
- A[934] = 0.0677248677248683*G0_0_1 - 0.0677248677248684*G0_0_2 + 0.067724867724868*G0_1_0 + 0.0451499118165785*G0_1_2 - 0.0677248677248686*G0_2_0 + 0.0451499118165788*G0_2_1 - 0.135449735449737*G0_2_2;
- A[935] = -0.135449735449737*G0_0_0 - 0.0902998236331575*G0_0_1 - 0.0677248677248673*G0_0_2 - 0.361199294532628*G0_1_0 - 0.451499118165785*G0_1_1 - 0.225749559082892*G0_1_2 - 0.203174603174604*G0_2_0 - 0.225749559082893*G0_2_1 - 0.135449735449736*G0_2_2;
- A[936] = 0.541798941798944*G0_0_0 + 0.270899470899471*G0_0_1 + 0.270899470899471*G0_0_2 + 0.270899470899472*G0_1_0 + 0.632098765432099*G0_1_1 + 0.27089947089947*G0_1_2 + 0.270899470899471*G0_2_0 + 0.27089947089947*G0_2_1 + 0.541798941798943*G0_2_2;
- A[937] = 0.0677248677248687*G0_0_1 - 0.0677248677248678*G0_0_2 - 0.067724867724868*G0_1_0 - 0.135449735449736*G0_1_1 + 0.0902998236331567*G0_1_2 + 0.0677248677248684*G0_2_0 + 0.0902998236331583*G0_2_1 - 0.135449735449736*G0_2_2;
- A[938] = -0.0451499118165787*G0_0_1 - 0.0225749559082893*G0_0_2 - 0.0451499118165788*G0_1_0 + 0.0451499118165791*G0_1_1 - 0.0225749559082899*G0_2_0 - 0.0451499118165798*G0_2_2;
- A[939] = -0.0451499118165784*G0_0_1 - 0.0225749559082899*G0_0_2 - 0.0451499118165781*G0_1_0 - 0.0225749559082889*G0_1_2 - 0.0225749559082889*G0_2_0 - 0.0225749559082893*G0_2_1 - 0.0451499118165791*G0_2_2;
- A[940] = -0.0677248677248682*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0677248677248679*G0_1_0 - 0.0451499118165787*G0_1_2 - 0.0225749559082887*G0_2_0 - 0.0451499118165786*G0_2_1 - 0.0451499118165774*G0_2_2;
- A[941] = -0.0451499118165791*G0_0_1 - 0.0677248677248677*G0_0_2 - 0.045149911816578*G0_1_0 - 0.225749559082893*G0_1_1 - 0.180599647266313*G0_1_2 - 0.0677248677248672*G0_2_0 - 0.180599647266314*G0_2_1 - 0.135449735449735*G0_2_2;
- A[942] = -0.0451499118165799*G0_0_1 - 0.0677248677248677*G0_0_2 - 0.045149911816578*G0_1_0 - 0.045149911816579*G0_1_1 - 0.0225749559082888*G0_1_2 - 0.0677248677248675*G0_2_0 - 0.0225749559082894*G0_2_1;
- A[943] = 0.135449735449736*G0_0_1 + 0.270899470899472*G0_0_2 + 0.135449735449735*G0_1_0 + 0.31604938271605*G0_1_1 + 0.135449735449736*G0_1_2 + 0.27089947089947*G0_2_0 + 0.135449735449734*G0_2_1;
- A[944] = 0.31604938271605*G0_0_1 + 0.135449735449735*G0_0_2 + 0.316049382716049*G0_1_0 - 0.0902998236331584*G0_1_1 + 0.135449735449735*G0_1_2 + 0.135449735449736*G0_2_0 + 0.135449735449737*G0_2_1 + 0.270899470899472*G0_2_2;
- A[945] = -0.0183421516754851*G0_0_0 - 0.0183421516754851*G0_0_1 - 0.018342151675485*G0_0_2 - 0.0253968253968252*G0_1_0 - 0.0253968253968252*G0_1_1 - 0.0253968253968252*G0_1_2 - 0.0253968253968252*G0_2_0 - 0.0253968253968252*G0_2_1 - 0.0253968253968251*G0_2_2;
- A[946] = 0.018342151675485*G0_0_0;
- A[947] = -0.00705467372134028*G0_0_1 - 0.0253968253968253*G0_1_1;
- A[948] = -0.00705467372134021*G0_0_2 + 0.0423280423280422*G0_2_2;
- A[949] = 0.0677248677248675*G0_0_1 + 0.0225749559082884*G0_0_2 + 0.135449735449735*G0_1_1 + 0.0338624338624337*G0_1_2 + 0.0338624338624334*G0_2_1;
- A[950] = -0.186243386243386*G0_0_1 - 0.0507936507936498*G0_0_2 - 0.270899470899471*G0_1_1 - 0.0931216931216933*G0_1_2 - 0.093121693121692*G0_2_1 + 0.0677248677248685*G0_2_2;
- A[951] = -0.112874779541446*G0_0_1 - 0.203174603174603*G0_0_2 - 0.101587301587301*G0_1_2 - 0.101587301587302*G0_2_1 - 0.270899470899471*G0_2_2;
- A[952] = -0.0677248677248682*G0_0_0 - 0.0112874779541452*G0_0_2 - 0.0112874779541453*G0_2_0;
- A[953] = 0.0846560846560854*G0_0_0 + 0.0423280423280427*G0_0_2 + 0.0423280423280432*G0_2_0 + 0.0225749559082895*G0_2_2;
- A[954] = -0.112874779541447*G0_0_0 - 0.101587301587302*G0_0_2 - 0.101587301587303*G0_2_0 - 0.135449735449736*G0_2_2;
- A[955] = -0.022574955908289*G0_0_0 - 0.0112874779541448*G0_0_1 - 0.0112874779541447*G0_1_0;
- A[956] = 0.0169312169312168*G0_0_0 + 0.0197530864197532*G0_0_1 + 0.0197530864197528*G0_1_0 + 0.022574955908289*G0_1_1;
- A[957] = 0.0225749559082896*G0_0_0 + 0.0338624338624341*G0_0_1 + 0.0338624338624344*G0_1_0 + 0.0451499118165788*G0_1_1;
- A[958] = 0.0677248677248682*G0_0_0 + 0.067724867724868*G0_0_1 + 0.056437389770723*G0_0_2 + 0.135449735449735*G0_1_0 + 0.135449735449735*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587301*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0677248677248671*G0_2_2;
- A[959] = -0.0846560846560859*G0_0_0 - 0.0846560846560856*G0_0_1 - 0.0423280423280427*G0_0_2 - 0.270899470899471*G0_1_0 - 0.270899470899471*G0_1_1 - 0.177777777777777*G0_1_2 - 0.177777777777778*G0_2_0 - 0.177777777777778*G0_2_1 - 0.0169312169312164*G0_2_2;
- A[960] = 0.112874779541447*G0_0_0 + 0.112874779541446*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.101587301587302*G0_1_2 + 0.101587301587303*G0_2_0 + 0.101587301587303*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[961] = 0.0225749559082892*G0_0_0 + 0.0112874779541445*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.0564373897707233*G0_1_0 + 0.022574955908289*G0_1_1 + 0.0564373897707232*G0_1_2 + 0.090299823633157*G0_2_0 + 0.0564373897707227*G0_2_1 + 0.0902998236331568*G0_2_2;
- A[962] = -0.0169312169312168*G0_0_0 + 0.00282186948853613*G0_0_1 - 0.0169312169312169*G0_0_2 + 0.00282186948853637*G0_1_0 + 0.0056437389770724*G0_1_1 + 0.00282186948853623*G0_1_2 + 0.0677248677248682*G0_2_0 + 0.00282186948853656*G0_2_1 + 0.0677248677248681*G0_2_2;
- A[963] = -0.0225749559082896*G0_0_0 + 0.0112874779541448*G0_0_1 - 0.0225749559082896*G0_0_2 - 0.0338624338624344*G0_1_0 + 0.0225749559082893*G0_1_1 - 0.0338624338624344*G0_1_2 - 0.033862433862434*G0_2_1;
- A[964] = 0.0112874779541445*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541443*G0_1_0 + 0.0451499118165787*G0_1_1 + 0.0451499118165787*G0_1_2 + 0.0112874779541442*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[965] = 0.00282186948853616*G0_0_1 + 0.00282186948853627*G0_0_2 + 0.00282186948853642*G0_1_0 + 0.0225749559082895*G0_1_1 + 0.0225749559082895*G0_1_2 + 0.00282186948853644*G0_2_0 + 0.0225749559082893*G0_2_1 + 0.0225749559082893*G0_2_2;
- A[966] = 0.011287477954145*G0_0_1 + 0.0112874779541452*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0112874779541443*G0_2_0;
- A[967] = 0.135449735449735*G0_0_0 + 0.0677248677248672*G0_0_1 + 0.0451499118165779*G0_0_2 + 0.0677248677248672*G0_1_0 + 0.0225749559082888*G0_1_2 + 0.0451499118165775*G0_2_0 + 0.0225749559082887*G0_2_1;
- A[968] = -0.0677248677248687*G0_0_1 + 0.0677248677248677*G0_0_2 - 0.0677248677248687*G0_1_0 - 0.135449735449737*G0_1_1 + 0.0451499118165783*G0_1_2 + 0.0677248677248679*G0_2_0 + 0.0451499118165782*G0_2_1;
- A[969] = -0.541798941798941*G0_0_0 - 0.27089947089947*G0_0_1 - 0.270899470899471*G0_0_2 - 0.270899470899471*G0_1_0 - 0.135449735449736*G0_1_2 - 0.27089947089947*G0_2_0 - 0.135449735449736*G0_2_1 + 0.0451499118165784*G0_2_2;
- A[970] = -0.135449735449735*G0_0_0 - 0.0677248677248675*G0_0_1 - 0.090299823633157*G0_0_2 - 0.203174603174604*G0_1_0 - 0.135449735449735*G0_1_1 - 0.225749559082893*G0_1_2 - 0.361199294532628*G0_2_0 - 0.225749559082891*G0_2_1 - 0.451499118165784*G0_2_2;
- A[971] = -0.067724867724868*G0_0_1 + 0.0677248677248684*G0_0_2 + 0.0677248677248687*G0_1_0 - 0.135449735449736*G0_1_1 + 0.0902998236331583*G0_1_2 - 0.0677248677248678*G0_2_0 + 0.0902998236331567*G0_2_1 - 0.135449735449736*G0_2_2;
- A[972] = 0.54179894179894*G0_0_0 + 0.270899470899471*G0_0_1 + 0.27089947089947*G0_0_2 + 0.270899470899471*G0_1_0 + 0.541798941798942*G0_1_1 + 0.27089947089947*G0_1_2 + 0.27089947089947*G0_2_0 + 0.27089947089947*G0_2_1 + 0.632098765432098*G0_2_2;
- A[973] = -0.0677248677248678*G0_0_1 - 0.0451499118165787*G0_0_2 - 0.0677248677248672*G0_1_0 - 0.135449735449736*G0_1_1 - 0.180599647266315*G0_1_2 - 0.0451499118165779*G0_2_0 - 0.180599647266314*G0_2_1 - 0.225749559082892*G0_2_2;
- A[974] = -0.0677248677248673*G0_0_1 - 0.0451499118165793*G0_0_2 - 0.0677248677248678*G0_1_0 - 0.0225749559082901*G0_1_2 - 0.0451499118165783*G0_2_0 - 0.0225749559082886*G0_2_1 - 0.0451499118165783*G0_2_2;
- A[975] = 0.27089947089947*G0_0_1 + 0.135449735449736*G0_0_2 + 0.270899470899471*G0_1_0 + 0.135449735449736*G0_1_2 + 0.135449735449735*G0_2_0 + 0.135449735449736*G0_2_1 + 0.31604938271605*G0_2_2;
- A[976] = -0.0225749559082897*G0_0_1 - 0.0451499118165789*G0_0_2 - 0.0225749559082895*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.045149911816579*G0_2_0 + 0.0451499118165782*G0_2_2;
- A[977] = -0.0225749559082896*G0_0_1 - 0.0451499118165776*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0451499118165787*G0_1_1 - 0.0225749559082887*G0_1_2 - 0.0451499118165779*G0_2_0 - 0.022574955908289*G0_2_1;
- A[978] = -0.0225749559082891*G0_0_1 - 0.0677248677248678*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.045149911816579*G0_1_1 - 0.0451499118165783*G0_1_2 - 0.0677248677248681*G0_2_0 - 0.0451499118165786*G0_2_1;
- A[979] = 0.135449735449737*G0_0_1 + 0.316049382716049*G0_0_2 + 0.135449735449737*G0_1_0 + 0.270899470899474*G0_1_1 + 0.135449735449737*G0_1_2 + 0.31604938271605*G0_2_0 + 0.135449735449736*G0_2_1 - 0.0902998236331563*G0_2_2;
- A[980] = 0.0423280423280416*G0_0_0 + 0.0423280423280415*G0_0_1 + 0.0423280423280417*G0_0_2 + 0.0493827160493821*G0_1_0 + 0.0493827160493821*G0_1_1 + 0.0493827160493822*G0_1_2 + 0.0423280423280417*G0_2_0 + 0.0423280423280418*G0_2_1 + 0.0423280423280418*G0_2_2;
- A[981] = -0.0253968253968256*G0_0_0 - 0.00705467372134057*G0_1_0;
- A[982] = 0.0183421516754851*G0_1_1;
- A[983] = -0.00705467372134049*G0_1_2 - 0.0253968253968254*G0_2_2;
- A[984] = -0.0225749559082897*G0_1_1 - 0.0112874779541451*G0_1_2 - 0.0112874779541451*G0_2_1;
- A[985] = 0.0169312169312176*G0_1_1 + 0.0197530864197537*G0_1_2 + 0.0197530864197538*G0_2_1 + 0.0225749559082898*G0_2_2;
- A[986] = 0.0225749559082892*G0_1_1 + 0.0338624338624337*G0_1_2 + 0.0338624338624339*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[987] = 0.0902998236331562*G0_0_0 + 0.0338624338624334*G0_0_2 + 0.0677248677248672*G0_1_0 + 0.0225749559082889*G0_1_2 + 0.0338624338624333*G0_2_0;
- A[988] = 0.0677248677248668*G0_0_0 + 0.0649029982363304*G0_0_2 + 0.0846560846560838*G0_1_0 + 0.0846560846560834*G0_1_2 + 0.0649029982363305*G0_2_0 + 0.067724867724867*G0_2_2;
- A[989] = 0.0338624338624336*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.067724867724868*G0_1_2 + 0.033862433862434*G0_2_0 + 0.0902998236331565*G0_2_2;
- A[990] = 0.0451499118165782*G0_0_0 + 0.0338624338624338*G0_0_1 + 0.0338624338624334*G0_1_0 + 0.0225749559082887*G0_1_1;
- A[991] = 0.0225749559082891*G0_0_0 + 0.0197530864197528*G0_0_1 + 0.0197530864197527*G0_1_0 + 0.0169312169312167*G0_1_1;
- A[992] = -0.011287477954145*G0_0_1 - 0.0112874779541452*G0_1_0 - 0.0225749559082901*G0_1_1;
- A[993] = -0.270899470899471*G0_0_0 - 0.270899470899471*G0_0_1 - 0.169312169312168*G0_0_2 - 0.0677248677248669*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.0790123456790113*G0_1_2 - 0.169312169312169*G0_2_0 - 0.169312169312169*G0_2_1 - 0.067724867724867*G0_2_2;
- A[994] = 0.067724867724867*G0_0_0 + 0.067724867724867*G0_0_1 + 0.16084656084656*G0_0_2 + 0.118518518518519*G0_1_0 + 0.118518518518519*G0_1_1 + 0.0253968253968246*G0_1_2 + 0.160846560846561*G0_2_0 + 0.160846560846561*G0_2_1 - 0.0169312169312174*G0_2_2;
- A[995] = -0.0338624338624332*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.0225749559082892*G0_1_1 + 0.0112874779541456*G0_1_2 - 0.033862433862434*G0_2_0 - 0.033862433862434*G0_2_1 + 0.0677248677248679*G0_2_2;
- A[996] = -0.135449735449736*G0_0_0 - 0.033862433862433*G0_0_1 - 0.135449735449736*G0_0_2 - 0.0338624338624338*G0_1_0 - 0.0451499118165779*G0_1_1 - 0.033862433862434*G0_1_2 - 0.135449735449736*G0_2_0 - 0.0338624338624334*G0_2_1 - 0.135449735449736*G0_2_2;
- A[997] = 0.0225749559082894*G0_0_0 - 0.0197530864197535*G0_0_1 + 0.0225749559082893*G0_0_2 - 0.0197530864197534*G0_1_0 + 0.022574955908289*G0_1_1 - 0.0197530864197532*G0_1_2 + 0.0225749559082892*G0_2_0 - 0.0197530864197534*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[998] = 0.0112874779541447*G0_0_1 + 0.0112874779541452*G0_1_0 - 0.0451499118165783*G0_1_1 + 0.0112874779541451*G0_1_2 + 0.0112874779541449*G0_2_1;
- A[999] = -0.0677248677248664*G0_0_0 - 0.169312169312169*G0_0_1 - 0.169312169312169*G0_0_2 - 0.0790123456790112*G0_1_0 - 0.0677248677248671*G0_1_1 - 0.0677248677248669*G0_1_2 - 0.169312169312168*G0_2_0 - 0.270899470899471*G0_2_1 - 0.270899470899471*G0_2_2;
- A[1000] = -0.0169312169312182*G0_0_0 + 0.16084656084656*G0_0_1 + 0.16084656084656*G0_0_2 + 0.0253968253968244*G0_1_0 + 0.118518518518518*G0_1_1 + 0.118518518518518*G0_1_2 + 0.160846560846559*G0_2_0 + 0.0677248677248662*G0_2_1 + 0.0677248677248661*G0_2_2;
- A[1001] = 0.0677248677248685*G0_0_0 - 0.0338624338624333*G0_0_1 - 0.0338624338624334*G0_0_2 + 0.0112874779541451*G0_1_0 - 0.0225749559082887*G0_1_1 - 0.0225749559082889*G0_1_2 - 0.0338624338624329*G0_2_0;
- A[1002] = 0.0451499118165768*G0_0_0 + 0.090299823633154*G0_0_1 + 0.0451499118165772*G0_0_2 + 0.0902998236331558*G0_1_0 + 0.135449735449733*G0_1_1 + 0.0677248677248669*G0_1_2 + 0.0451499118165771*G0_2_0 + 0.0677248677248653*G0_2_1;
- A[1003] = 0.0451499118165795*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.0451499118165787*G0_1_0 + 0.0902998236331579*G0_1_1 + 0.0451499118165779*G0_1_2 + 0.0225749559082893*G0_2_0 + 0.0451499118165795*G0_2_1;
- A[1004] = 0.0677248677248662*G0_0_1 + 0.0451499118165779*G0_0_2 + 0.0677248677248678*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0902998236331564*G0_1_2 + 0.0451499118165787*G0_2_0 + 0.0902998236331556*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[1005] = 0.0451499118165773*G0_0_0 + 0.31604938271605*G0_0_1 + 0.180599647266314*G0_0_2 + 0.31604938271605*G0_1_0 + 0.0451499118165782*G0_1_1 + 0.180599647266315*G0_1_2 + 0.180599647266315*G0_2_0 + 0.180599647266315*G0_2_1 + 0.31604938271605*G0_2_2;
- A[1006] = -0.0451499118165788*G0_0_1 - 0.0225749559082899*G0_0_2 - 0.0451499118165787*G0_1_0 + 0.0451499118165791*G0_1_1 - 0.0225749559082893*G0_2_0 - 0.0451499118165798*G0_2_2;
- A[1007] = -0.0677248677248672*G0_0_1 - 0.0451499118165779*G0_0_2 - 0.0677248677248678*G0_1_0 - 0.135449735449736*G0_1_1 - 0.180599647266314*G0_1_2 - 0.0451499118165787*G0_2_0 - 0.180599647266315*G0_2_1 - 0.225749559082892*G0_2_2;
- A[1008] = 0.632098765432098*G0_0_0 + 0.361199294532626*G0_0_1 + 0.361199294532627*G0_0_2 + 0.361199294532626*G0_1_0 + 0.632098765432099*G0_1_1 + 0.361199294532627*G0_1_2 + 0.361199294532627*G0_2_0 + 0.361199294532627*G0_2_1 + 0.6320987654321*G0_2_2;
- A[1009] = -0.451499118165783*G0_0_0 - 0.0902998236331547*G0_0_1 - 0.22574955908289*G0_0_2 - 0.361199294532626*G0_1_0 - 0.135449735449733*G0_1_1 - 0.203174603174601*G0_1_2 - 0.225749559082891*G0_2_0 - 0.0677248677248656*G0_2_1 - 0.135449735449733*G0_2_2;
- A[1010] = -0.135449735449734*G0_0_0 - 0.0677248677248664*G0_0_1 - 0.225749559082892*G0_0_2 - 0.203174603174603*G0_1_0 - 0.135449735449735*G0_1_1 - 0.361199294532629*G0_1_2 - 0.225749559082892*G0_2_0 - 0.0902998236331558*G0_2_1 - 0.451499118165786*G0_2_2;
- A[1011] = 0.316049382716049*G0_0_0 + 0.180599647266313*G0_0_1 + 0.180599647266313*G0_0_2 + 0.180599647266313*G0_1_0 + 0.0451499118165775*G0_1_1 + 0.316049382716049*G0_1_2 + 0.180599647266314*G0_2_0 + 0.31604938271605*G0_2_1 + 0.0451499118165777*G0_2_2;
- A[1012] = -0.225749559082891*G0_0_0 - 0.180599647266314*G0_0_1 - 0.0451499118165774*G0_0_2 - 0.180599647266313*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248665*G0_1_2 - 0.0451499118165775*G0_2_0 - 0.0677248677248663*G0_2_1;
- A[1013] = -0.0451499118165784*G0_0_0 - 0.022574955908289*G0_0_2 + 0.0451499118165799*G0_1_1 - 0.045149911816577*G0_1_2 - 0.0225749559082891*G0_2_0 - 0.0451499118165783*G0_2_1;
- A[1014] = -0.0902998236331543*G0_0_0 - 0.406349206349205*G0_0_1 - 0.225749559082891*G0_0_2 - 0.406349206349206*G0_1_0 - 0.722398589065257*G0_1_1 - 0.406349206349206*G0_1_2 - 0.225749559082892*G0_2_0 - 0.406349206349206*G0_2_1 - 0.0902998236331568*G0_2_2;
- A[1015] = -0.0253968253968249*G0_0_0 - 0.0253968253968247*G0_0_1 - 0.0253968253968248*G0_0_2 - 0.0183421516754845*G0_1_0 - 0.0183421516754845*G0_1_1 - 0.0183421516754846*G0_1_2 - 0.0253968253968249*G0_2_0 - 0.0253968253968248*G0_2_1 - 0.0253968253968249*G0_2_2;
- A[1016] = 0.0423280423280427*G0_0_0 - 0.00705467372134003*G0_1_0;
- A[1017] = 0.0183421516754849*G0_1_1;
- A[1018] = -0.00705467372134029*G0_1_2 - 0.0253968253968252*G0_2_2;
- A[1019] = -0.0225749559082895*G0_1_1 - 0.011287477954145*G0_1_2 - 0.0112874779541445*G0_2_1;
- A[1020] = 0.016931216931217*G0_1_1 + 0.0197530864197531*G0_1_2 + 0.0197530864197533*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[1021] = 0.0225749559082892*G0_1_1 + 0.0338624338624334*G0_1_2 + 0.0338624338624345*G0_2_1 + 0.0451499118165789*G0_2_2;
+ A[912] = -0.00705467372134014*G0_0_1 + 0.0423280423280426*G0_1_1;
+ A[913] = -0.00705467372134031*G0_0_2 - 0.0253968253968254*G0_2_2;
+ A[914] = -0.203174603174603*G0_0_1 - 0.112874779541446*G0_0_2 - 0.270899470899471*G0_1_1 - 0.101587301587301*G0_1_2 - 0.1015873015873*G0_2_1;
+ A[915] = -0.0507936507936513*G0_0_1 - 0.186243386243386*G0_0_2 + 0.0677248677248679*G0_1_1 - 0.0931216931216927*G0_1_2 - 0.093121693121694*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[916] = 0.0225749559082894*G0_0_1 + 0.0677248677248682*G0_0_2 + 0.033862433862434*G0_1_2 + 0.0338624338624342*G0_2_1 + 0.135449735449736*G0_2_2;
+ A[917] = -0.0225749559082893*G0_0_0 - 0.0112874779541449*G0_0_2 - 0.0112874779541446*G0_2_0;
+ A[918] = 0.0169312169312168*G0_0_0 + 0.0197530864197531*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.0225749559082895*G0_2_2;
+ A[919] = 0.0225749559082895*G0_0_0 + 0.033862433862434*G0_0_2 + 0.0338624338624343*G0_2_0 + 0.045149911816579*G0_2_2;
+ A[920] = -0.067724867724868*G0_0_0 - 0.0112874779541452*G0_0_1 - 0.0112874779541454*G0_1_0;
+ A[921] = 0.0846560846560853*G0_0_0 + 0.0423280423280432*G0_0_1 + 0.0423280423280434*G0_1_0 + 0.0225749559082902*G0_1_1;
+ A[922] = -0.112874779541447*G0_0_0 - 0.101587301587303*G0_0_1 - 0.101587301587302*G0_1_0 - 0.135449735449736*G0_1_1;
+ A[923] = 0.0225749559082892*G0_0_0 + 0.0225749559082891*G0_0_1 + 0.0112874779541444*G0_0_2 + 0.0902998236331576*G0_1_0 + 0.0902998236331573*G0_1_1 + 0.0564373897707231*G0_1_2 + 0.0564373897707229*G0_2_0 + 0.0564373897707229*G0_2_1 + 0.0225749559082887*G0_2_2;
+ A[924] = -0.0169312169312165*G0_0_0 - 0.0169312169312166*G0_0_1 + 0.00282186948853642*G0_0_2 + 0.0677248677248675*G0_1_0 + 0.0677248677248674*G0_1_1 + 0.00282186948853615*G0_1_2 + 0.00282186948853617*G0_2_0 + 0.0028218694885361*G0_2_1 + 0.00564373897707252*G0_2_2;
+ A[925] = -0.0225749559082895*G0_0_0 - 0.0225749559082895*G0_0_1 + 0.0112874779541445*G0_0_2 - 0.0338624338624341*G0_1_2 - 0.0338624338624342*G0_2_0 - 0.0338624338624342*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[926] = 0.0677248677248679*G0_0_0 + 0.0564373897707228*G0_0_1 + 0.0677248677248674*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.101587301587301*G0_1_2 + 0.135449735449734*G0_2_0 + 0.101587301587301*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[927] = -0.0846560846560853*G0_0_0 - 0.0423280423280419*G0_0_1 - 0.0846560846560845*G0_0_2 - 0.177777777777778*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.177777777777777*G0_1_2 - 0.27089947089947*G0_2_0 - 0.177777777777777*G0_2_1 - 0.27089947089947*G0_2_2;
+ A[928] = 0.112874779541447*G0_0_0 + 0.0112874779541447*G0_0_1 + 0.112874779541447*G0_0_2 + 0.101587301587302*G0_1_0 - 0.0677248677248681*G0_1_1 + 0.101587301587302*G0_1_2 + 0.101587301587301*G0_2_1;
+ A[929] = 0.0112874779541449*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541448*G0_1_0 + 0.0451499118165791*G0_1_1 + 0.0451499118165789*G0_1_2 + 0.0112874779541444*G0_2_0 + 0.0451499118165785*G0_2_1 + 0.0451499118165786*G0_2_2;
+ A[930] = 0.00282186948853594*G0_0_1 + 0.00282186948853567*G0_0_2 + 0.0028218694885358*G0_1_0 + 0.022574955908289*G0_1_1 + 0.022574955908289*G0_1_2 + 0.00282186948853601*G0_2_0 + 0.0225749559082891*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[931] = 0.0112874779541453*G0_0_1 + 0.0112874779541449*G0_0_2 + 0.0112874779541446*G0_1_0 + 0.0112874779541447*G0_2_0;
+ A[932] = 0.135449735449737*G0_0_0 + 0.0451499118165792*G0_0_1 + 0.0677248677248691*G0_0_2 + 0.0451499118165779*G0_1_0 + 0.0225749559082887*G0_1_2 + 0.0677248677248681*G0_2_0 + 0.0225749559082897*G0_2_1;
+ A[933] = -0.541798941798944*G0_0_0 - 0.270899470899472*G0_0_1 - 0.270899470899473*G0_0_2 - 0.270899470899471*G0_1_0 + 0.0451499118165784*G0_1_1 - 0.135449735449736*G0_1_2 - 0.27089947089947*G0_2_0 - 0.135449735449736*G0_2_1;
+ A[934] = 0.0677248677248673*G0_0_1 - 0.0677248677248688*G0_0_2 + 0.0677248677248681*G0_1_0 + 0.045149911816578*G0_1_2 - 0.0677248677248683*G0_2_0 + 0.045149911816579*G0_2_1 - 0.135449735449737*G0_2_2;
+ A[935] = -0.135449735449737*G0_0_0 - 0.0902998236331572*G0_0_1 - 0.0677248677248666*G0_0_2 - 0.361199294532628*G0_1_0 - 0.451499118165785*G0_1_1 - 0.225749559082892*G0_1_2 - 0.203174603174603*G0_2_0 - 0.225749559082892*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[936] = 0.541798941798944*G0_0_0 + 0.270899470899471*G0_0_1 + 0.27089947089947*G0_0_2 + 0.270899470899471*G0_1_0 + 0.632098765432099*G0_1_1 + 0.270899470899469*G0_1_2 + 0.27089947089947*G0_2_0 + 0.270899470899469*G0_2_1 + 0.541798941798942*G0_2_2;
+ A[937] = 0.0677248677248681*G0_0_1 - 0.0677248677248683*G0_0_2 - 0.0677248677248683*G0_1_0 - 0.135449735449735*G0_1_1 + 0.0902998236331572*G0_1_2 + 0.0677248677248681*G0_2_0 + 0.0902998236331578*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[938] = -0.0451499118165792*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0451499118165795*G0_1_0 + 0.0451499118165783*G0_1_1 - 0.0225749559082896*G0_2_0 - 0.0451499118165793*G0_2_2;
+ A[939] = -0.0451499118165787*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0451499118165779*G0_1_0 - 0.0225749559082885*G0_1_2 - 0.0225749559082888*G0_2_0 - 0.0225749559082895*G0_2_1 - 0.0451499118165791*G0_2_2;
+ A[940] = -0.0677248677248676*G0_0_1 - 0.0225749559082894*G0_0_2 - 0.0677248677248671*G0_1_0 - 0.0451499118165782*G0_1_2 - 0.0225749559082894*G0_2_0 - 0.045149911816579*G0_2_1 - 0.045149911816578*G0_2_2;
+ A[941] = -0.0451499118165791*G0_0_1 - 0.0677248677248684*G0_0_2 - 0.0451499118165782*G0_1_0 - 0.225749559082893*G0_1_1 - 0.180599647266314*G0_1_2 - 0.0677248677248669*G0_2_0 - 0.180599647266314*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[942] = -0.0451499118165792*G0_0_1 - 0.067724867724868*G0_0_2 - 0.0451499118165778*G0_1_0 - 0.0451499118165785*G0_1_1 - 0.0225749559082883*G0_1_2 - 0.0677248677248674*G0_2_0 - 0.022574955908289*G0_2_1;
+ A[943] = 0.135449735449736*G0_0_1 + 0.270899470899473*G0_0_2 + 0.135449735449734*G0_1_0 + 0.316049382716049*G0_1_1 + 0.135449735449736*G0_1_2 + 0.27089947089947*G0_2_0 + 0.135449735449734*G0_2_1;
+ A[944] = 0.316049382716051*G0_0_1 + 0.135449735449736*G0_0_2 + 0.31604938271605*G0_1_0 - 0.0902998236331566*G0_1_1 + 0.135449735449735*G0_1_2 + 0.135449735449735*G0_2_0 + 0.135449735449736*G0_2_1 + 0.270899470899472*G0_2_2;
+ A[945] = -0.0183421516754851*G0_0_0 - 0.0183421516754851*G0_0_1 - 0.018342151675485*G0_0_2 - 0.0253968253968254*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0253968253968254*G0_1_2 - 0.0253968253968256*G0_2_0 - 0.0253968253968256*G0_2_1 - 0.0253968253968256*G0_2_2;
+ A[946] = 0.0183421516754851*G0_0_0;
+ A[947] = -0.00705467372134036*G0_0_1 - 0.0253968253968255*G0_1_1;
+ A[948] = -0.00705467372134004*G0_0_2 + 0.0423280423280422*G0_2_2;
+ A[949] = 0.0677248677248677*G0_0_1 + 0.0225749559082882*G0_0_2 + 0.135449735449735*G0_1_1 + 0.0338624338624332*G0_1_2 + 0.0338624338624333*G0_2_1;
+ A[950] = -0.186243386243386*G0_0_1 - 0.0507936507936497*G0_0_2 - 0.270899470899471*G0_1_1 - 0.0931216931216925*G0_1_2 - 0.0931216931216919*G0_2_1 + 0.0677248677248691*G0_2_2;
+ A[951] = -0.112874779541446*G0_0_1 - 0.203174603174603*G0_0_2 - 0.101587301587302*G0_1_2 - 0.101587301587302*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[952] = -0.0677248677248681*G0_0_0 - 0.011287477954145*G0_0_2 - 0.0112874779541446*G0_2_0;
+ A[953] = 0.0846560846560853*G0_0_0 + 0.0423280423280427*G0_0_2 + 0.0423280423280423*G0_2_0 + 0.0225749559082891*G0_2_2;
+ A[954] = -0.112874779541446*G0_0_0 - 0.101587301587302*G0_0_2 - 0.101587301587302*G0_2_0 - 0.135449735449736*G0_2_2;
+ A[955] = -0.0225749559082891*G0_0_0 - 0.0112874779541448*G0_0_1 - 0.0112874779541444*G0_1_0;
+ A[956] = 0.016931216931217*G0_0_0 + 0.0197530864197532*G0_0_1 + 0.0197530864197528*G0_1_0 + 0.0225749559082891*G0_1_1;
+ A[957] = 0.0225749559082893*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0338624338624337*G0_1_0 + 0.0451499118165785*G0_1_1;
+ A[958] = 0.067724867724868*G0_0_0 + 0.0677248677248678*G0_0_1 + 0.0564373897707231*G0_0_2 + 0.135449735449735*G0_1_0 + 0.135449735449735*G0_1_1 + 0.101587301587301*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 + 0.0677248677248684*G0_2_2;
+ A[959] = -0.0846560846560851*G0_0_0 - 0.0846560846560847*G0_0_1 - 0.0423280423280424*G0_0_2 - 0.270899470899471*G0_1_0 - 0.270899470899471*G0_1_1 - 0.177777777777778*G0_1_2 - 0.177777777777778*G0_2_0 - 0.177777777777778*G0_2_1 - 0.0169312169312179*G0_2_2;
+ A[960] = 0.112874779541446*G0_0_0 + 0.112874779541446*G0_0_1 + 0.0112874779541448*G0_0_2 + 0.101587301587302*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[961] = 0.0225749559082891*G0_0_0 + 0.0112874779541446*G0_0_1 + 0.0225749559082891*G0_0_2 + 0.0564373897707232*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.0564373897707231*G0_1_2 + 0.090299823633157*G0_2_0 + 0.0564373897707235*G0_2_1 + 0.0902998236331569*G0_2_2;
+ A[962] = -0.016931216931217*G0_0_0 + 0.00282186948853601*G0_0_1 - 0.016931216931217*G0_0_2 + 0.00282186948853579*G0_1_0 + 0.00564373897707195*G0_1_1 + 0.00282186948853573*G0_1_2 + 0.0677248677248675*G0_2_0 + 0.00282186948853602*G0_2_1 + 0.0677248677248675*G0_2_2;
+ A[963] = -0.0225749559082893*G0_0_0 + 0.0112874779541449*G0_0_1 - 0.0225749559082894*G0_0_2 - 0.0338624338624338*G0_1_0 + 0.0225749559082895*G0_1_1 - 0.0338624338624339*G0_1_2 - 0.0338624338624338*G0_2_1;
+ A[964] = 0.0112874779541445*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0451499118165786*G0_1_1 + 0.0451499118165785*G0_1_2 + 0.011287477954145*G0_2_0 + 0.0451499118165786*G0_2_1 + 0.0451499118165785*G0_2_2;
+ A[965] = 0.00282186948853595*G0_0_1 + 0.00282186948853601*G0_0_2 + 0.00282186948853605*G0_1_0 + 0.0225749559082894*G0_1_1 + 0.0225749559082894*G0_1_2 + 0.00282186948853586*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0225749559082889*G0_2_2;
+ A[966] = 0.011287477954145*G0_0_1 + 0.0112874779541452*G0_0_2 + 0.0112874779541447*G0_1_0 + 0.0112874779541447*G0_2_0;
+ A[967] = 0.135449735449735*G0_0_0 + 0.0677248677248679*G0_0_1 + 0.0451499118165784*G0_0_2 + 0.0677248677248679*G0_1_0 + 0.0225749559082898*G0_1_2 + 0.0451499118165775*G0_2_0 + 0.0225749559082892*G0_2_1;
+ A[968] = -0.0677248677248687*G0_0_1 + 0.0677248677248673*G0_0_2 - 0.067724867724868*G0_1_0 - 0.135449735449736*G0_1_1 + 0.045149911816578*G0_1_2 + 0.0677248677248683*G0_2_0 + 0.0451499118165788*G0_2_1;
+ A[969] = -0.541798941798941*G0_0_0 - 0.27089947089947*G0_0_1 - 0.270899470899471*G0_0_2 - 0.270899470899471*G0_1_0 - 0.135449735449736*G0_1_2 - 0.27089947089947*G0_2_0 - 0.135449735449736*G0_2_1 + 0.0451499118165786*G0_2_2;
+ A[970] = -0.135449735449734*G0_0_0 - 0.067724867724867*G0_0_1 - 0.0902998236331561*G0_0_2 - 0.203174603174603*G0_1_0 - 0.135449735449735*G0_1_1 - 0.225749559082892*G0_1_2 - 0.361199294532627*G0_2_0 - 0.225749559082892*G0_2_1 - 0.451499118165783*G0_2_2;
+ A[971] = -0.0677248677248683*G0_0_1 + 0.0677248677248681*G0_0_2 + 0.0677248677248681*G0_1_0 - 0.135449735449735*G0_1_1 + 0.0902998236331578*G0_1_2 - 0.0677248677248683*G0_2_0 + 0.0902998236331572*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[972] = 0.541798941798941*G0_0_0 + 0.270899470899471*G0_0_1 + 0.27089947089947*G0_0_2 + 0.270899470899471*G0_1_0 + 0.541798941798941*G0_1_1 + 0.270899470899469*G0_1_2 + 0.27089947089947*G0_2_0 + 0.270899470899469*G0_2_1 + 0.632098765432097*G0_2_2;
+ A[973] = -0.067724867724867*G0_0_1 - 0.045149911816578*G0_0_2 - 0.0677248677248673*G0_1_0 - 0.135449735449735*G0_1_1 - 0.180599647266314*G0_1_2 - 0.0451499118165786*G0_2_0 - 0.180599647266313*G0_2_1 - 0.225749559082891*G0_2_2;
+ A[974] = -0.067724867724868*G0_0_1 - 0.0451499118165793*G0_0_2 - 0.0677248677248682*G0_1_0 - 0.0225749559082901*G0_1_2 - 0.0451499118165787*G0_2_0 - 0.0225749559082892*G0_2_1 - 0.045149911816578*G0_2_2;
+ A[975] = 0.27089947089947*G0_0_1 + 0.135449735449735*G0_0_2 + 0.27089947089947*G0_1_0 + 0.135449735449735*G0_1_2 + 0.135449735449735*G0_2_0 + 0.135449735449736*G0_2_1 + 0.316049382716048*G0_2_2;
+ A[976] = -0.0225749559082898*G0_0_1 - 0.045149911816579*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0451499118165791*G0_1_1 - 0.0451499118165792*G0_2_0 + 0.045149911816578*G0_2_2;
+ A[977] = -0.0225749559082894*G0_0_1 - 0.0451499118165784*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0451499118165786*G0_1_1 - 0.0225749559082897*G0_1_2 - 0.0451499118165779*G0_2_0 - 0.0225749559082888*G0_2_1;
+ A[978] = -0.0225749559082888*G0_0_1 - 0.0677248677248675*G0_0_2 - 0.0225749559082886*G0_1_0 - 0.0451499118165781*G0_1_1 - 0.045149911816578*G0_1_2 - 0.0677248677248673*G0_2_0 - 0.0451499118165776*G0_2_1;
+ A[979] = 0.135449735449736*G0_0_1 + 0.31604938271605*G0_0_2 + 0.135449735449735*G0_1_0 + 0.270899470899472*G0_1_1 + 0.135449735449736*G0_1_2 + 0.316049382716049*G0_2_0 + 0.135449735449734*G0_2_1 - 0.0902998236331562*G0_2_2;
+ A[980] = 0.0423280423280418*G0_0_0 + 0.0423280423280417*G0_0_1 + 0.0423280423280419*G0_0_2 + 0.0493827160493828*G0_1_0 + 0.0493827160493827*G0_1_1 + 0.0493827160493828*G0_1_2 + 0.0423280423280421*G0_2_0 + 0.0423280423280421*G0_2_1 + 0.0423280423280422*G0_2_2;
+ A[981] = -0.0253968253968257*G0_0_0 - 0.00705467372134048*G0_1_0;
+ A[982] = 0.0183421516754853*G0_1_1;
+ A[983] = -0.00705467372134041*G0_1_2 - 0.0253968253968254*G0_2_2;
+ A[984] = -0.022574955908289*G0_1_1 - 0.0112874779541442*G0_1_2 - 0.0112874779541449*G0_2_1;
+ A[985] = 0.016931216931217*G0_1_1 + 0.0197530864197529*G0_1_2 + 0.0197530864197535*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[986] = 0.022574955908289*G0_1_1 + 0.0338624338624336*G0_1_2 + 0.0338624338624335*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[987] = 0.0902998236331563*G0_0_0 + 0.0338624338624334*G0_0_2 + 0.0677248677248671*G0_1_0 + 0.0225749559082889*G0_1_2 + 0.0338624338624328*G0_2_0;
+ A[988] = 0.067724867724867*G0_0_0 + 0.0649029982363306*G0_0_2 + 0.0846560846560842*G0_1_0 + 0.0846560846560837*G0_1_2 + 0.064902998236331*G0_2_0 + 0.067724867724867*G0_2_2;
+ A[989] = 0.0338624338624339*G0_0_2 + 0.022574955908289*G0_1_0 + 0.0677248677248679*G0_1_2 + 0.0338624338624335*G0_2_0 + 0.0902998236331564*G0_2_2;
+ A[990] = 0.0451499118165784*G0_0_0 + 0.0338624338624339*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0225749559082891*G0_1_1;
+ A[991] = 0.0225749559082894*G0_0_0 + 0.0197530864197531*G0_0_1 + 0.0197530864197528*G0_1_0 + 0.0169312169312168*G0_1_1;
+ A[992] = -0.0112874779541446*G0_0_1 - 0.0112874779541442*G0_1_0 - 0.0225749559082892*G0_1_1;
+ A[993] = -0.270899470899471*G0_0_0 - 0.270899470899471*G0_0_1 - 0.169312169312169*G0_0_2 - 0.0677248677248676*G0_1_0 - 0.067724867724868*G0_1_1 - 0.079012345679013*G0_1_2 - 0.16931216931217*G0_2_0 - 0.16931216931217*G0_2_1 - 0.0677248677248681*G0_2_2;
+ A[994] = 0.0677248677248673*G0_0_0 + 0.0677248677248674*G0_0_1 + 0.160846560846561*G0_0_2 + 0.118518518518518*G0_1_0 + 0.118518518518518*G0_1_1 + 0.0253968253968263*G0_1_2 + 0.16084656084656*G0_2_0 + 0.16084656084656*G0_2_1 - 0.0169312169312161*G0_2_2;
+ A[995] = -0.0338624338624337*G0_0_2 - 0.0225749559082891*G0_1_0 - 0.022574955908289*G0_1_1 + 0.0112874779541446*G0_1_2 - 0.0338624338624336*G0_2_0 - 0.0338624338624336*G0_2_1 + 0.0677248677248672*G0_2_2;
+ A[996] = -0.135449735449736*G0_0_0 - 0.0338624338624332*G0_0_1 - 0.135449735449736*G0_0_2 - 0.0338624338624337*G0_1_0 - 0.0451499118165789*G0_1_1 - 0.033862433862434*G0_1_2 - 0.135449735449736*G0_2_0 - 0.0338624338624339*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[997] = 0.0225749559082894*G0_0_0 - 0.0197530864197535*G0_0_1 + 0.0225749559082894*G0_0_2 - 0.0197530864197529*G0_1_0 + 0.0225749559082897*G0_1_1 - 0.0197530864197527*G0_1_2 + 0.0225749559082895*G0_2_0 - 0.0197530864197531*G0_2_1 + 0.0225749559082895*G0_2_2;
+ A[998] = 0.0112874779541449*G0_0_1 + 0.0112874779541442*G0_1_0 - 0.0451499118165786*G0_1_1 + 0.0112874779541441*G0_1_2 + 0.0112874779541448*G0_2_1;
+ A[999] = -0.0677248677248666*G0_0_0 - 0.169312169312169*G0_0_1 - 0.169312169312169*G0_0_2 - 0.0790123456790124*G0_1_0 - 0.0677248677248673*G0_1_1 - 0.067724867724867*G0_1_2 - 0.169312169312169*G0_2_0 - 0.270899470899471*G0_2_1 - 0.270899470899471*G0_2_2;
+ A[1000] = -0.016931216931218*G0_0_0 + 0.16084656084656*G0_0_1 + 0.16084656084656*G0_0_2 + 0.0253968253968253*G0_1_0 + 0.118518518518518*G0_1_1 + 0.118518518518518*G0_1_2 + 0.16084656084656*G0_2_0 + 0.0677248677248665*G0_2_1 + 0.0677248677248665*G0_2_2;
+ A[1001] = 0.0677248677248684*G0_0_0 - 0.0338624338624335*G0_0_1 - 0.0338624338624336*G0_0_2 + 0.0112874779541446*G0_1_0 - 0.0225749559082891*G0_1_1 - 0.0225749559082893*G0_1_2 - 0.0338624338624334*G0_2_0;
+ A[1002] = 0.0451499118165776*G0_0_0 + 0.0902998236331547*G0_0_1 + 0.045149911816578*G0_0_2 + 0.0902998236331564*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0677248677248675*G0_1_2 + 0.0451499118165767*G0_2_0 + 0.0677248677248649*G0_2_1;
+ A[1003] = 0.0451499118165798*G0_0_1 + 0.0225749559082901*G0_0_2 + 0.0451499118165792*G0_1_0 + 0.0902998236331578*G0_1_1 + 0.0451499118165794*G0_1_2 + 0.0225749559082892*G0_2_0 + 0.0451499118165789*G0_2_1;
+ A[1004] = 0.0677248677248667*G0_0_1 + 0.0451499118165776*G0_0_2 + 0.067724867724867*G0_1_0 + 0.135449735449734*G0_1_1 + 0.0902998236331559*G0_1_2 + 0.045149911816578*G0_2_0 + 0.0902998236331555*G0_2_1 + 0.0451499118165781*G0_2_2;
+ A[1005] = 0.0451499118165779*G0_0_0 + 0.316049382716051*G0_0_1 + 0.180599647266315*G0_0_2 + 0.316049382716049*G0_1_0 + 0.045149911816579*G0_1_1 + 0.180599647266313*G0_1_2 + 0.180599647266313*G0_2_0 + 0.180599647266315*G0_2_1 + 0.316049382716049*G0_2_2;
+ A[1006] = -0.0451499118165795*G0_0_1 - 0.0225749559082896*G0_0_2 - 0.0451499118165792*G0_1_0 + 0.0451499118165783*G0_1_1 - 0.0225749559082892*G0_2_0 - 0.0451499118165793*G0_2_2;
+ A[1007] = -0.0677248677248673*G0_0_1 - 0.0451499118165786*G0_0_2 - 0.067724867724867*G0_1_0 - 0.135449735449735*G0_1_1 - 0.180599647266313*G0_1_2 - 0.045149911816578*G0_2_0 - 0.180599647266314*G0_2_1 - 0.225749559082891*G0_2_2;
+ A[1008] = 0.632098765432099*G0_0_0 + 0.361199294532627*G0_0_1 + 0.361199294532627*G0_0_2 + 0.361199294532627*G0_1_0 + 0.632098765432098*G0_1_1 + 0.361199294532626*G0_1_2 + 0.361199294532627*G0_2_0 + 0.361199294532626*G0_2_1 + 0.632098765432098*G0_2_2;
+ A[1009] = -0.451499118165784*G0_0_0 - 0.0902998236331551*G0_0_1 - 0.22574955908289*G0_0_2 - 0.361199294532626*G0_1_0 - 0.135449735449734*G0_1_1 - 0.203174603174602*G0_1_2 - 0.225749559082891*G0_2_0 - 0.067724867724865*G0_2_1 - 0.135449735449733*G0_2_2;
+ A[1010] = -0.135449735449734*G0_0_0 - 0.0677248677248665*G0_0_1 - 0.225749559082892*G0_0_2 - 0.203174603174602*G0_1_0 - 0.135449735449734*G0_1_1 - 0.361199294532627*G0_1_2 - 0.225749559082891*G0_2_0 - 0.0902998236331554*G0_2_1 - 0.451499118165784*G0_2_2;
+ A[1011] = 0.31604938271605*G0_0_0 + 0.180599647266314*G0_0_1 + 0.180599647266313*G0_0_2 + 0.180599647266313*G0_1_0 + 0.0451499118165776*G0_1_1 + 0.316049382716049*G0_1_2 + 0.180599647266314*G0_2_0 + 0.31604938271605*G0_2_1 + 0.0451499118165778*G0_2_2;
+ A[1012] = -0.225749559082892*G0_0_0 - 0.180599647266314*G0_0_1 - 0.0451499118165782*G0_0_2 - 0.180599647266313*G0_1_0 - 0.135449735449736*G0_1_1 - 0.0677248677248671*G0_1_2 - 0.0451499118165778*G0_2_0 - 0.0677248677248667*G0_2_1;
+ A[1013] = -0.0451499118165787*G0_0_0 - 0.0225749559082899*G0_0_2 + 0.045149911816579*G0_1_1 - 0.0451499118165787*G0_1_2 - 0.0225749559082895*G0_2_0 - 0.045149911816579*G0_2_1;
+ A[1014] = -0.0902998236331556*G0_0_0 - 0.406349206349206*G0_0_1 - 0.225749559082891*G0_0_2 - 0.406349206349205*G0_1_0 - 0.722398589065256*G0_1_1 - 0.406349206349206*G0_1_2 - 0.22574955908289*G0_2_0 - 0.406349206349205*G0_2_1 - 0.090299823633156*G0_2_2;
+ A[1015] = -0.0253968253968251*G0_0_0 - 0.0253968253968249*G0_0_1 - 0.025396825396825*G0_0_2 - 0.0183421516754847*G0_1_0 - 0.0183421516754847*G0_1_1 - 0.0183421516754847*G0_1_2 - 0.025396825396825*G0_2_0 - 0.0253968253968249*G0_2_1 - 0.025396825396825*G0_2_2;
+ A[1016] = 0.0423280423280426*G0_0_0 - 0.00705467372133999*G0_1_0;
+ A[1017] = 0.018342151675485*G0_1_1;
+ A[1018] = -0.00705467372134035*G0_1_2 - 0.0253968253968254*G0_2_2;
+ A[1019] = -0.0225749559082897*G0_1_1 - 0.011287477954145*G0_1_2 - 0.0112874779541448*G0_2_1;
+ A[1020] = 0.0169312169312173*G0_1_1 + 0.0197530864197533*G0_1_2 + 0.0197530864197535*G0_2_1 + 0.0225749559082892*G0_2_2;
+ A[1021] = 0.0225749559082894*G0_1_1 + 0.0338624338624337*G0_1_2 + 0.0338624338624341*G0_2_1 + 0.0451499118165787*G0_2_2;
A[1022] = -0.27089947089947*G0_0_0 - 0.101587301587301*G0_0_2 - 0.203174603174602*G0_1_0 - 0.112874779541445*G0_1_2 - 0.1015873015873*G0_2_0;
- A[1023] = 0.0677248677248687*G0_0_0 - 0.0931216931216921*G0_0_2 - 0.0507936507936513*G0_1_0 - 0.186243386243387*G0_1_2 - 0.0931216931216937*G0_2_0 - 0.270899470899471*G0_2_2;
- A[1024] = 0.033862433862434*G0_0_2 + 0.0225749559082892*G0_1_0 + 0.067724867724868*G0_1_2 + 0.0338624338624345*G0_2_0 + 0.135449735449736*G0_2_2;
+ A[1023] = 0.0677248677248684*G0_0_0 - 0.093121693121692*G0_0_2 - 0.0507936507936512*G0_1_0 - 0.186243386243387*G0_1_2 - 0.0931216931216932*G0_2_0 - 0.270899470899471*G0_2_2;
+ A[1024] = 0.0338624338624337*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.0677248677248683*G0_1_2 + 0.033862433862434*G0_2_0 + 0.135449735449736*G0_2_2;
A[1025] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_1 - 0.101587301587301*G0_1_0 - 0.112874779541445*G0_1_1;
- A[1026] = 0.0225749559082892*G0_0_0 + 0.0423280423280422*G0_0_1 + 0.0423280423280426*G0_1_0 + 0.0846560846560838*G0_1_1;
- A[1027] = -0.0112874779541442*G0_0_1 - 0.0112874779541451*G0_1_0 - 0.0677248677248675*G0_1_1;
- A[1028] = 0.0902998236331566*G0_0_0 + 0.0902998236331567*G0_0_1 + 0.0564373897707222*G0_0_2 + 0.0225749559082886*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0112874779541438*G0_1_2 + 0.0564373897707221*G0_2_0 + 0.0564373897707223*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[1029] = 0.0677248677248682*G0_0_0 + 0.0677248677248681*G0_0_1 + 0.00282186948853669*G0_0_2 - 0.016931216931217*G0_1_0 - 0.016931216931217*G0_1_1 + 0.00282186948853599*G0_1_2 + 0.00282186948853678*G0_2_0 + 0.00282186948853675*G0_2_1 + 0.00564373897707232*G0_2_2;
- A[1030] = -0.0338624338624345*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.0225749559082891*G0_1_1 + 0.0112874779541446*G0_1_2 - 0.0338624338624346*G0_2_0 - 0.0338624338624345*G0_2_1 + 0.0225749559082886*G0_2_2;
- A[1031] = 0.0451499118165786*G0_0_0 + 0.0112874779541438*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0112874779541449*G0_1_0 + 0.0112874779541447*G0_1_2 + 0.0451499118165782*G0_2_0 + 0.0112874779541443*G0_2_1 + 0.0451499118165782*G0_2_2;
- A[1032] = 0.0225749559082891*G0_0_0 + 0.0028218694885369*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.00282186948853583*G0_1_0 + 0.00282186948853579*G0_1_2 + 0.0225749559082894*G0_2_0 + 0.00282186948853623*G0_2_1 + 0.0225749559082895*G0_2_2;
- A[1033] = 0.011287477954144*G0_0_1 + 0.011287477954145*G0_1_0 + 0.0112874779541449*G0_1_2 + 0.0112874779541446*G0_2_1;
- A[1034] = 0.0677248677248665*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0564373897707216*G0_1_0 + 0.0677248677248672*G0_1_1 + 0.0677248677248671*G0_1_2 + 0.1015873015873*G0_2_0 + 0.135449735449734*G0_2_1 + 0.135449735449734*G0_2_2;
- A[1035] = -0.0169312169312152*G0_0_0 - 0.177777777777777*G0_0_1 - 0.177777777777777*G0_0_2 - 0.0423280423280404*G0_1_0 - 0.0846560846560835*G0_1_1 - 0.0846560846560835*G0_1_2 - 0.177777777777776*G0_2_0 - 0.27089947089947*G0_2_1 - 0.27089947089947*G0_2_2;
- A[1036] = -0.0677248677248689*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0112874779541434*G0_1_0 + 0.112874779541446*G0_1_1 + 0.112874779541446*G0_1_2 + 0.101587301587301*G0_2_0;
- A[1037] = 0.0451499118165806*G0_0_0 - 0.270899470899468*G0_0_1 - 0.135449735449734*G0_0_2 - 0.270899470899471*G0_1_0 - 0.541798941798942*G0_1_1 - 0.270899470899472*G0_1_2 - 0.135449735449734*G0_2_0 - 0.270899470899468*G0_2_1;
- A[1038] = 0.0451499118165778*G0_0_1 + 0.0225749559082891*G0_0_2 + 0.0451499118165785*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0677248677248677*G0_1_2 + 0.0225749559082899*G0_2_0 + 0.0677248677248684*G0_2_1;
- A[1039] = 0.067724867724869*G0_0_1 + 0.0451499118165794*G0_0_2 + 0.0677248677248672*G0_1_0 - 0.0677248677248677*G0_1_2 + 0.0451499118165793*G0_2_0 - 0.0677248677248676*G0_2_1 - 0.135449735449734*G0_2_2;
- A[1040] = 0.0451499118165791*G0_0_0 - 0.0451499118165787*G0_0_1 - 0.0451499118165789*G0_1_0 - 0.0225749559082894*G0_1_2 - 0.0225749559082891*G0_2_1 - 0.0451499118165785*G0_2_2;
- A[1041] = -0.0451499118165781*G0_0_1 - 0.0225749559082889*G0_0_2 - 0.0451499118165784*G0_1_0 - 0.0225749559082893*G0_1_2 - 0.0225749559082899*G0_2_0 - 0.0225749559082889*G0_2_1 - 0.0451499118165791*G0_2_2;
- A[1042] = -0.0677248677248678*G0_0_1 - 0.0451499118165783*G0_0_2 - 0.0677248677248673*G0_1_0 - 0.0225749559082886*G0_1_2 - 0.0451499118165793*G0_2_0 - 0.0225749559082901*G0_2_1 - 0.0451499118165783*G0_2_2;
- A[1043] = -0.451499118165783*G0_0_0 - 0.361199294532626*G0_0_1 - 0.225749559082891*G0_0_2 - 0.0902998236331547*G0_1_0 - 0.135449735449733*G0_1_1 - 0.0677248677248656*G0_1_2 - 0.22574955908289*G0_2_0 - 0.203174603174601*G0_2_1 - 0.135449735449733*G0_2_2;
- A[1044] = 0.632098765432097*G0_0_0 + 0.270899470899468*G0_0_1 + 0.270899470899468*G0_0_2 + 0.270899470899468*G0_1_0 + 0.541798941798941*G0_1_1 + 0.270899470899468*G0_1_2 + 0.270899470899468*G0_2_0 + 0.270899470899468*G0_2_1 + 0.54179894179894*G0_2_2;
- A[1045] = -0.135449735449737*G0_0_0 - 0.067724867724869*G0_0_1 + 0.0902998236331566*G0_0_2 + 0.067724867724868*G0_1_0 - 0.0677248677248676*G0_1_2 + 0.0902998236331568*G0_2_0 + 0.0677248677248676*G0_2_1 - 0.135449735449736*G0_2_2;
- A[1046] = -0.225749559082892*G0_0_0 - 0.0451499118165777*G0_0_1 - 0.180599647266313*G0_0_2 - 0.045149911816578*G0_1_0 - 0.0677248677248675*G0_1_2 - 0.180599647266313*G0_2_0 - 0.0677248677248664*G0_2_1 - 0.135449735449735*G0_2_2;
- A[1047] = 0.316049382716048*G0_0_0 + 0.135449735449734*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449735*G0_1_0 + 0.270899470899471*G0_1_2 + 0.135449735449734*G0_2_0 + 0.27089947089947*G0_2_1;
- A[1048] = -0.0451499118165784*G0_0_0 - 0.0451499118165787*G0_0_1 - 0.022574955908289*G0_0_2 - 0.0451499118165786*G0_1_0 - 0.0677248677248676*G0_1_2 - 0.0225749559082895*G0_2_0 - 0.0677248677248682*G0_2_1;
- A[1049] = -0.0902998236331594*G0_0_0 + 0.316049382716048*G0_0_1 + 0.135449735449733*G0_0_2 + 0.31604938271605*G0_1_0 + 0.135449735449735*G0_1_2 + 0.135449735449734*G0_2_0 + 0.135449735449733*G0_2_1 + 0.270899470899469*G0_2_2;
- A[1050] = -0.025396825396825*G0_0_0 - 0.025396825396825*G0_0_1 - 0.0253968253968251*G0_0_2 - 0.018342151675485*G0_1_0 - 0.018342151675485*G0_1_1 - 0.018342151675485*G0_1_2 - 0.0253968253968252*G0_2_0 - 0.0253968253968252*G0_2_1 - 0.0253968253968252*G0_2_2;
- A[1051] = -0.0253968253968255*G0_0_0 - 0.00705467372134046*G0_1_0;
+ A[1026] = 0.0225749559082889*G0_0_0 + 0.042328042328042*G0_0_1 + 0.0423280423280426*G0_1_0 + 0.0846560846560843*G0_1_1;
+ A[1027] = -0.0112874779541443*G0_0_1 - 0.011287477954145*G0_1_0 - 0.0677248677248679*G0_1_1;
+ A[1028] = 0.090299823633157*G0_0_0 + 0.0902998236331571*G0_0_1 + 0.0564373897707227*G0_0_2 + 0.0225749559082886*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0112874779541443*G0_1_2 + 0.0564373897707224*G0_2_0 + 0.0564373897707226*G0_2_1 + 0.0225749559082891*G0_2_2;
+ A[1029] = 0.0677248677248682*G0_0_0 + 0.0677248677248682*G0_0_1 + 0.00282186948853623*G0_0_2 - 0.0169312169312164*G0_1_0 - 0.0169312169312164*G0_1_1 + 0.00282186948853558*G0_1_2 + 0.0028218694885365*G0_2_0 + 0.00282186948853649*G0_2_1 + 0.00564373897707205*G0_2_2;
+ A[1030] = -0.0338624338624342*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0225749559082894*G0_1_1 + 0.0112874779541449*G0_1_2 - 0.033862433862434*G0_2_0 - 0.033862433862434*G0_2_1 + 0.022574955908289*G0_2_2;
+ A[1031] = 0.0451499118165786*G0_0_0 + 0.0112874779541438*G0_0_1 + 0.0451499118165785*G0_0_2 + 0.0112874779541443*G0_1_0 + 0.0112874779541443*G0_1_2 + 0.0451499118165782*G0_2_0 + 0.0112874779541443*G0_2_1 + 0.0451499118165783*G0_2_2;
+ A[1032] = 0.0225749559082892*G0_0_0 + 0.00282186948853688*G0_0_1 + 0.0225749559082893*G0_0_2 + 0.00282186948853597*G0_1_0 + 0.00282186948853595*G0_1_2 + 0.0225749559082895*G0_2_0 + 0.00282186948853628*G0_2_1 + 0.0225749559082894*G0_2_2;
+ A[1033] = 0.0112874779541439*G0_0_1 + 0.011287477954145*G0_1_0 + 0.011287477954145*G0_1_2 + 0.0112874779541445*G0_2_1;
+ A[1034] = 0.0677248677248666*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0564373897707218*G0_1_0 + 0.0677248677248667*G0_1_1 + 0.0677248677248667*G0_1_2 + 0.1015873015873*G0_2_0 + 0.135449735449734*G0_2_1 + 0.135449735449734*G0_2_2;
+ A[1035] = -0.0169312169312153*G0_0_0 - 0.177777777777777*G0_0_1 - 0.177777777777777*G0_0_2 - 0.0423280423280403*G0_1_0 - 0.0846560846560834*G0_1_1 - 0.0846560846560833*G0_1_2 - 0.177777777777776*G0_2_0 - 0.27089947089947*G0_2_1 - 0.270899470899469*G0_2_2;
+ A[1036] = -0.0677248677248687*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0112874779541434*G0_1_0 + 0.112874779541446*G0_1_1 + 0.112874779541446*G0_1_2 + 0.101587301587301*G0_2_0;
+ A[1037] = 0.0451499118165796*G0_0_0 - 0.270899470899469*G0_0_1 - 0.135449735449735*G0_0_2 - 0.27089947089947*G0_1_0 - 0.541798941798942*G0_1_1 - 0.270899470899471*G0_1_2 - 0.135449735449734*G0_2_0 - 0.270899470899468*G0_2_1;
+ A[1038] = 0.0451499118165775*G0_0_1 + 0.0225749559082887*G0_0_2 + 0.0451499118165786*G0_1_0 + 0.135449735449737*G0_1_1 + 0.0677248677248677*G0_1_2 + 0.0225749559082892*G0_2_0 + 0.0677248677248678*G0_2_1;
+ A[1039] = 0.0677248677248686*G0_0_1 + 0.0451499118165794*G0_0_2 + 0.067724867724868*G0_1_0 - 0.0677248677248671*G0_1_2 + 0.0451499118165792*G0_2_0 - 0.0677248677248674*G0_2_1 - 0.135449735449734*G0_2_2;
+ A[1040] = 0.0451499118165792*G0_0_0 - 0.045149911816579*G0_0_1 - 0.0451499118165787*G0_1_0 - 0.0225749559082888*G0_1_2 - 0.0225749559082892*G0_2_1 - 0.0451499118165785*G0_2_2;
+ A[1041] = -0.0451499118165779*G0_0_1 - 0.0225749559082888*G0_0_2 - 0.0451499118165787*G0_1_0 - 0.0225749559082895*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0225749559082885*G0_2_1 - 0.0451499118165791*G0_2_2;
+ A[1042] = -0.0677248677248681*G0_0_1 - 0.0451499118165787*G0_0_2 - 0.067724867724868*G0_1_0 - 0.0225749559082892*G0_1_2 - 0.0451499118165793*G0_2_0 - 0.0225749559082901*G0_2_1 - 0.045149911816578*G0_2_2;
+ A[1043] = -0.451499118165784*G0_0_0 - 0.361199294532626*G0_0_1 - 0.225749559082891*G0_0_2 - 0.0902998236331551*G0_1_0 - 0.135449735449734*G0_1_1 - 0.067724867724865*G0_1_2 - 0.22574955908289*G0_2_0 - 0.203174603174602*G0_2_1 - 0.135449735449733*G0_2_2;
+ A[1044] = 0.632098765432097*G0_0_0 + 0.270899470899469*G0_0_1 + 0.270899470899468*G0_0_2 + 0.270899470899469*G0_1_0 + 0.54179894179894*G0_1_1 + 0.270899470899468*G0_1_2 + 0.270899470899468*G0_2_0 + 0.270899470899468*G0_2_1 + 0.54179894179894*G0_2_2;
+ A[1045] = -0.135449735449737*G0_0_0 - 0.0677248677248686*G0_0_1 + 0.0902998236331566*G0_0_2 + 0.0677248677248675*G0_1_0 - 0.0677248677248681*G0_1_2 + 0.0902998236331566*G0_2_0 + 0.0677248677248674*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[1046] = -0.225749559082892*G0_0_0 - 0.0451499118165776*G0_0_1 - 0.180599647266313*G0_0_2 - 0.0451499118165777*G0_1_0 - 0.0677248677248677*G0_1_2 - 0.180599647266313*G0_2_0 - 0.0677248677248661*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1047] = 0.316049382716049*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449735*G0_0_2 + 0.135449735449735*G0_1_0 + 0.27089947089947*G0_1_2 + 0.135449735449734*G0_2_0 + 0.27089947089947*G0_2_1;
+ A[1048] = -0.0451499118165782*G0_0_0 - 0.0451499118165787*G0_0_1 - 0.0225749559082888*G0_0_2 - 0.0451499118165786*G0_1_0 - 0.0677248677248676*G0_1_2 - 0.0225749559082894*G0_2_0 - 0.067724867724868*G0_2_1;
+ A[1049] = -0.0902998236331587*G0_0_0 + 0.316049382716048*G0_0_1 + 0.135449735449734*G0_0_2 + 0.316049382716049*G0_1_0 + 0.135449735449735*G0_1_2 + 0.135449735449734*G0_2_0 + 0.135449735449734*G0_2_1 + 0.270899470899469*G0_2_2;
+ A[1050] = -0.0253968253968252*G0_0_0 - 0.0253968253968253*G0_0_1 - 0.0253968253968254*G0_0_2 - 0.018342151675485*G0_1_0 - 0.0183421516754851*G0_1_1 - 0.018342151675485*G0_1_2 - 0.0253968253968256*G0_2_0 - 0.0253968253968256*G0_2_1 - 0.0253968253968256*G0_2_2;
+ A[1051] = -0.0253968253968254*G0_0_0 - 0.00705467372134024*G0_1_0;
A[1052] = 0.018342151675485*G0_1_1;
- A[1053] = -0.00705467372134011*G0_1_2 + 0.0423280423280422*G0_2_2;
- A[1054] = -0.0677248677248676*G0_1_1 - 0.0112874779541449*G0_1_2 - 0.0112874779541443*G0_2_1;
- A[1055] = 0.084656084656085*G0_1_1 + 0.0423280423280432*G0_1_2 + 0.042328042328042*G0_2_1 + 0.0225749559082891*G0_2_2;
- A[1056] = -0.112874779541446*G0_1_1 - 0.101587301587302*G0_1_2 - 0.101587301587302*G0_2_1 - 0.135449735449736*G0_2_2;
- A[1057] = 0.135449735449736*G0_0_0 + 0.033862433862434*G0_0_2 + 0.0677248677248678*G0_1_0 + 0.0225749559082894*G0_1_2 + 0.0338624338624334*G0_2_0;
- A[1058] = -0.270899470899472*G0_0_0 - 0.0931216931216933*G0_0_2 - 0.186243386243386*G0_1_0 - 0.0507936507936513*G0_1_2 - 0.093121693121692*G0_2_0 + 0.0677248677248681*G0_2_2;
- A[1059] = -0.101587301587302*G0_0_2 - 0.112874779541446*G0_1_0 - 0.203174603174603*G0_1_2 - 0.101587301587302*G0_2_0 - 0.270899470899471*G0_2_2;
- A[1060] = 0.0451499118165788*G0_0_0 + 0.0338624338624343*G0_0_1 + 0.0338624338624344*G0_1_0 + 0.0225749559082897*G0_1_1;
- A[1061] = 0.0225749559082893*G0_0_0 + 0.0197530864197529*G0_0_1 + 0.0197530864197532*G0_1_0 + 0.0169312169312169*G0_1_1;
- A[1062] = -0.0112874779541442*G0_0_1 - 0.0112874779541444*G0_1_0 - 0.0225749559082889*G0_1_1;
- A[1063] = 0.135449735449735*G0_0_0 + 0.135449735449735*G0_0_1 + 0.101587301587301*G0_0_2 + 0.0677248677248677*G0_1_0 + 0.0677248677248677*G0_1_1 + 0.0564373897707231*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587301*G0_2_1 + 0.0677248677248673*G0_2_2;
- A[1064] = -0.270899470899471*G0_0_0 - 0.270899470899471*G0_0_1 - 0.177777777777777*G0_0_2 - 0.0846560846560857*G0_1_0 - 0.0846560846560854*G0_1_1 - 0.0423280423280429*G0_1_2 - 0.177777777777779*G0_2_0 - 0.177777777777779*G0_2_1 - 0.0169312169312166*G0_2_2;
- A[1065] = 0.101587301587301*G0_0_2 + 0.112874779541446*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0112874779541447*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248675*G0_2_2;
- A[1066] = 0.0451499118165788*G0_0_0 + 0.0112874779541444*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0112874779541446*G0_1_2 + 0.0451499118165786*G0_2_0 + 0.0112874779541444*G0_2_1 + 0.0451499118165785*G0_2_2;
- A[1067] = 0.0225749559082892*G0_0_0 + 0.00282186948853617*G0_0_1 + 0.0225749559082892*G0_0_2 + 0.00282186948853611*G0_1_0 + 0.0028218694885361*G0_1_2 + 0.0225749559082893*G0_2_0 + 0.00282186948853636*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[1068] = 0.0112874779541447*G0_0_1 + 0.0112874779541444*G0_1_0 + 0.0112874779541444*G0_1_2 + 0.0112874779541444*G0_2_1;
- A[1069] = 0.0225749559082885*G0_0_0 + 0.056437389770723*G0_0_1 + 0.056437389770723*G0_0_2 + 0.0112874779541442*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082888*G0_1_2 + 0.0564373897707227*G0_2_0 + 0.0902998236331572*G0_2_1 + 0.0902998236331571*G0_2_2;
- A[1070] = 0.00564373897707258*G0_0_0 + 0.00282186948853624*G0_0_1 + 0.00282186948853624*G0_0_2 + 0.00282186948853609*G0_1_0 - 0.0169312169312171*G0_1_1 - 0.016931216931217*G0_1_2 + 0.00282186948853637*G0_2_0 + 0.067724867724868*G0_2_1 + 0.067724867724868*G0_2_2;
- A[1071] = 0.0225749559082893*G0_0_0 - 0.0338624338624341*G0_0_1 - 0.033862433862434*G0_0_2 + 0.011287477954145*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0225749559082891*G0_1_2 - 0.0338624338624339*G0_2_0;
- A[1072] = -0.135449735449737*G0_0_0 - 0.0677248677248683*G0_0_1 + 0.0451499118165779*G0_0_2 - 0.0677248677248691*G0_1_0 + 0.0677248677248671*G0_1_2 + 0.0451499118165782*G0_2_0 + 0.0677248677248679*G0_2_1;
- A[1073] = 0.0677248677248675*G0_0_1 + 0.0225749559082897*G0_0_2 + 0.0677248677248682*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0451499118165789*G0_1_2 + 0.0225749559082892*G0_2_0 + 0.0451499118165776*G0_2_1;
- A[1074] = -0.270899470899472*G0_0_1 - 0.135449735449736*G0_0_2 - 0.27089947089947*G0_1_0 - 0.541798941798942*G0_1_1 - 0.270899470899471*G0_1_2 - 0.135449735449736*G0_2_0 - 0.27089947089947*G0_2_1 + 0.0451499118165779*G0_2_2;
- A[1075] = -0.135449735449736*G0_0_0 - 0.0677248677248675*G0_0_1 - 0.180599647266314*G0_0_2 - 0.0677248677248674*G0_1_0 - 0.0451499118165787*G0_1_2 - 0.180599647266315*G0_2_0 - 0.0451499118165785*G0_2_1 - 0.225749559082893*G0_2_2;
- A[1076] = -0.0677248677248679*G0_0_1 - 0.0225749559082887*G0_0_2 - 0.0677248677248682*G0_1_0 - 0.0451499118165786*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0451499118165787*G0_2_1 - 0.0451499118165774*G0_2_2;
- A[1077] = 0.270899470899471*G0_0_1 + 0.135449735449735*G0_0_2 + 0.27089947089947*G0_1_0 + 0.135449735449736*G0_1_2 + 0.135449735449736*G0_2_0 + 0.135449735449736*G0_2_1 + 0.31604938271605*G0_2_2;
- A[1078] = -0.135449735449734*G0_0_0 - 0.203174603174603*G0_0_1 - 0.225749559082892*G0_0_2 - 0.0677248677248664*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0902998236331558*G0_1_2 - 0.225749559082892*G0_2_0 - 0.361199294532629*G0_2_1 - 0.451499118165786*G0_2_2;
- A[1079] = -0.135449735449737*G0_0_0 + 0.067724867724868*G0_0_1 + 0.0902998236331568*G0_0_2 - 0.067724867724869*G0_1_0 + 0.0677248677248676*G0_1_2 + 0.0902998236331566*G0_2_0 - 0.0677248677248676*G0_2_1 - 0.135449735449736*G0_2_2;
- A[1080] = 0.541798941798943*G0_0_0 + 0.270899470899472*G0_0_1 + 0.270899470899471*G0_0_2 + 0.270899470899472*G0_1_0 + 0.541798941798942*G0_1_1 + 0.27089947089947*G0_1_2 + 0.270899470899471*G0_2_0 + 0.27089947089947*G0_2_1 + 0.632098765432099*G0_2_2;
- A[1081] = -0.0451499118165789*G0_0_0 - 0.0225749559082895*G0_0_1 - 0.02257495590829*G0_1_0 - 0.045149911816579*G0_1_2 - 0.0451499118165794*G0_2_1 + 0.0451499118165777*G0_2_2;
- A[1082] = -0.0451499118165787*G0_0_0 - 0.0225749559082892*G0_0_1 - 0.0451499118165782*G0_0_2 - 0.0225749559082889*G0_1_0 - 0.0677248677248672*G0_1_2 - 0.0451499118165784*G0_2_0 - 0.0677248677248682*G0_2_1;
- A[1083] = -0.0451499118165785*G0_0_0 - 0.0225749559082896*G0_0_1 - 0.02257495590829*G0_0_2 - 0.0225749559082893*G0_1_0 - 0.0451499118165795*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.0451499118165783*G0_2_1;
- A[1084] = 0.270899470899473*G0_0_0 + 0.135449735449736*G0_0_1 + 0.135449735449737*G0_0_2 + 0.135449735449737*G0_1_0 + 0.31604938271605*G0_1_2 + 0.135449735449737*G0_2_0 + 0.316049382716051*G0_2_1 - 0.0902998236331549*G0_2_2;
- A[1085] = 0.0423280423280417*G0_0_0 + 0.0423280423280417*G0_0_1 + 0.0423280423280418*G0_0_2 + 0.0423280423280418*G0_1_0 + 0.042328042328042*G0_1_1 + 0.042328042328042*G0_1_2 + 0.0493827160493822*G0_2_0 + 0.0493827160493823*G0_2_1 + 0.0493827160493823*G0_2_2;
- A[1086] = -0.0253968253968256*G0_0_0 - 0.00705467372134058*G0_2_0;
- A[1087] = -0.0253968253968254*G0_1_1 - 0.00705467372134031*G0_2_1;
- A[1088] = 0.018342151675485*G0_2_2;
- A[1089] = 0.0451499118165788*G0_1_1 + 0.0338624338624341*G0_1_2 + 0.033862433862434*G0_2_1 + 0.0225749559082892*G0_2_2;
- A[1090] = 0.0225749559082895*G0_1_1 + 0.019753086419753*G0_1_2 + 0.0197530864197533*G0_2_1 + 0.0169312169312172*G0_2_2;
- A[1091] = -0.0112874779541444*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0225749559082894*G0_2_2;
- A[1092] = 0.0451499118165783*G0_0_0 + 0.0338624338624336*G0_0_2 + 0.0338624338624341*G0_2_0 + 0.0225749559082893*G0_2_2;
- A[1093] = 0.0225749559082895*G0_0_0 + 0.0197530864197535*G0_0_2 + 0.0197530864197531*G0_2_0 + 0.0169312169312168*G0_2_2;
- A[1094] = -0.0112874779541448*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.022574955908289*G0_2_2;
- A[1095] = 0.0902998236331566*G0_0_0 + 0.0338624338624341*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0677248677248679*G0_2_0 + 0.0225749559082897*G0_2_1;
- A[1096] = 0.0677248677248662*G0_0_0 + 0.0649029982363293*G0_0_1 + 0.0649029982363297*G0_1_0 + 0.0677248677248654*G0_1_1 + 0.0846560846560823*G0_2_0 + 0.0846560846560822*G0_2_1;
- A[1097] = 0.033862433862434*G0_0_1 + 0.0338624338624344*G0_1_0 + 0.0902998236331577*G0_1_1 + 0.0225749559082896*G0_2_0 + 0.0677248677248677*G0_2_1;
- A[1098] = -0.135449735449735*G0_0_0 - 0.135449735449735*G0_0_1 - 0.0338624338624333*G0_0_2 - 0.135449735449735*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0338624338624336*G0_1_2 - 0.0338624338624335*G0_2_0 - 0.0338624338624337*G0_2_1 - 0.0451499118165779*G0_2_2;
- A[1099] = 0.0225749559082894*G0_0_0 + 0.0225749559082894*G0_0_1 - 0.0197530864197534*G0_0_2 + 0.0225749559082896*G0_1_0 + 0.0225749559082894*G0_1_1 - 0.0197530864197532*G0_1_2 - 0.0197530864197528*G0_2_0 - 0.0197530864197529*G0_2_1 + 0.0225749559082888*G0_2_2;
- A[1100] = 0.011287477954145*G0_0_2 + 0.0112874779541448*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0451499118165775*G0_2_2;
- A[1101] = -0.270899470899471*G0_0_0 - 0.169312169312169*G0_0_1 - 0.270899470899471*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248674*G0_1_1 - 0.169312169312169*G0_1_2 - 0.067724867724867*G0_2_0 - 0.0790123456790119*G0_2_1 - 0.0677248677248677*G0_2_2;
- A[1102] = 0.0677248677248668*G0_0_0 + 0.160846560846561*G0_0_1 + 0.0677248677248667*G0_0_2 + 0.160846560846561*G0_1_0 - 0.0169312169312168*G0_1_1 + 0.160846560846561*G0_1_2 + 0.118518518518518*G0_2_0 + 0.0253968253968257*G0_2_1 + 0.118518518518518*G0_2_2;
- A[1103] = -0.0338624338624339*G0_0_1 - 0.0338624338624344*G0_1_0 + 0.0677248677248675*G0_1_1 - 0.0338624338624343*G0_1_2 - 0.0225749559082895*G0_2_0 + 0.0112874779541442*G0_2_1 - 0.0225749559082896*G0_2_2;
- A[1104] = -0.0677248677248664*G0_0_0 - 0.169312169312169*G0_0_1 - 0.169312169312169*G0_0_2 - 0.169312169312168*G0_1_0 - 0.27089947089947*G0_1_1 - 0.270899470899471*G0_1_2 - 0.0790123456790114*G0_2_0 - 0.067724867724867*G0_2_1 - 0.0677248677248669*G0_2_2;
- A[1105] = -0.0169312169312183*G0_0_0 + 0.16084656084656*G0_0_1 + 0.16084656084656*G0_0_2 + 0.16084656084656*G0_1_0 + 0.0677248677248661*G0_1_1 + 0.0677248677248661*G0_1_2 + 0.0253968253968248*G0_2_0 + 0.118518518518518*G0_2_1 + 0.118518518518518*G0_2_2;
- A[1106] = 0.0677248677248685*G0_0_0 - 0.0338624338624336*G0_0_1 - 0.0338624338624337*G0_0_2 - 0.0338624338624331*G0_1_0 + 0.0112874779541449*G0_2_0 - 0.0225749559082893*G0_2_1 - 0.0225749559082895*G0_2_2;
- A[1107] = 0.0451499118165768*G0_0_0 + 0.0451499118165777*G0_0_1 + 0.0902998236331542*G0_0_2 + 0.045149911816577*G0_1_0 + 0.0677248677248654*G0_1_2 + 0.0902998236331556*G0_2_0 + 0.0677248677248674*G0_2_1 + 0.135449735449734*G0_2_2;
- A[1108] = 0.0451499118165776*G0_0_1 + 0.0677248677248665*G0_0_2 + 0.0451499118165791*G0_1_0 + 0.045149911816578*G0_1_1 + 0.0902998236331562*G0_1_2 + 0.0677248677248677*G0_2_0 + 0.0902998236331559*G0_2_1 + 0.135449735449734*G0_2_2;
- A[1109] = 0.0225749559082899*G0_0_1 + 0.0451499118165797*G0_0_2 + 0.0225749559082897*G0_1_0 + 0.0451499118165796*G0_1_2 + 0.045149911816579*G0_2_0 + 0.0451499118165787*G0_2_1 + 0.0902998236331577*G0_2_2;
- A[1110] = 0.0451499118165773*G0_0_0 + 0.180599647266313*G0_0_1 + 0.31604938271605*G0_0_2 + 0.180599647266314*G0_1_0 + 0.316049382716049*G0_1_1 + 0.180599647266314*G0_1_2 + 0.316049382716049*G0_2_0 + 0.180599647266313*G0_2_1 + 0.0451499118165789*G0_2_2;
- A[1111] = -0.045149911816578*G0_0_1 - 0.0677248677248672*G0_0_2 - 0.0451499118165791*G0_1_0 - 0.225749559082893*G0_1_1 - 0.180599647266314*G0_1_2 - 0.0677248677248677*G0_2_0 - 0.180599647266313*G0_2_1 - 0.135449735449735*G0_2_2;
- A[1112] = -0.0225749559082895*G0_0_1 - 0.045149911816579*G0_0_2 - 0.0225749559082897*G0_1_0 - 0.0451499118165788*G0_1_1 - 0.0451499118165789*G0_2_0 + 0.0451499118165782*G0_2_2;
- A[1113] = 0.316049382716049*G0_0_0 + 0.180599647266313*G0_0_1 + 0.180599647266314*G0_0_2 + 0.180599647266313*G0_1_0 + 0.0451499118165775*G0_1_1 + 0.31604938271605*G0_1_2 + 0.180599647266313*G0_2_0 + 0.316049382716049*G0_2_1 + 0.0451499118165777*G0_2_2;
- A[1114] = -0.225749559082892*G0_0_0 - 0.045149911816578*G0_0_1 - 0.180599647266313*G0_0_2 - 0.0451499118165777*G0_1_0 - 0.0677248677248664*G0_1_2 - 0.180599647266313*G0_2_0 - 0.0677248677248675*G0_2_1 - 0.135449735449735*G0_2_2;
- A[1115] = -0.0451499118165789*G0_0_0 - 0.02257495590829*G0_0_1 - 0.0225749559082895*G0_1_0 - 0.0451499118165794*G0_1_2 - 0.045149911816579*G0_2_1 + 0.0451499118165777*G0_2_2;
- A[1116] = 0.632098765432097*G0_0_0 + 0.361199294532626*G0_0_1 + 0.361199294532626*G0_0_2 + 0.361199294532626*G0_1_0 + 0.632098765432098*G0_1_1 + 0.361199294532625*G0_1_2 + 0.361199294532626*G0_2_0 + 0.361199294532625*G0_2_1 + 0.632098765432096*G0_2_2;
- A[1117] = -0.451499118165784*G0_0_0 - 0.22574955908289*G0_0_1 - 0.0902998236331546*G0_0_2 - 0.225749559082891*G0_1_0 - 0.135449735449733*G0_1_1 - 0.0677248677248656*G0_1_2 - 0.361199294532627*G0_2_0 - 0.203174603174602*G0_2_1 - 0.135449735449734*G0_2_2;
- A[1118] = -0.135449735449733*G0_0_0 - 0.22574955908289*G0_0_1 - 0.067724867724866*G0_0_2 - 0.22574955908289*G0_1_0 - 0.451499118165784*G0_1_1 - 0.0902998236331555*G0_1_2 - 0.2031746031746*G0_2_0 - 0.361199294532626*G0_2_1 - 0.135449735449733*G0_2_2;
- A[1119] = -0.0902998236331544*G0_0_0 - 0.22574955908289*G0_0_1 - 0.406349206349205*G0_0_2 - 0.225749559082891*G0_1_0 - 0.0902998236331553*G0_1_1 - 0.406349206349205*G0_1_2 - 0.406349206349204*G0_2_0 - 0.406349206349205*G0_2_1 - 0.722398589065255*G0_2_2;
+ A[1053] = -0.0070546737213401*G0_1_2 + 0.0423280423280423*G0_2_2;
+ A[1054] = -0.0677248677248677*G0_1_1 - 0.0112874779541452*G0_1_2 - 0.0112874779541445*G0_2_1;
+ A[1055] = 0.0846560846560847*G0_1_1 + 0.0423280423280432*G0_1_2 + 0.0423280423280421*G0_2_1 + 0.0225749559082896*G0_2_2;
+ A[1056] = -0.112874779541446*G0_1_1 - 0.101587301587302*G0_1_2 - 0.101587301587301*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1057] = 0.135449735449736*G0_0_0 + 0.0338624338624344*G0_0_2 + 0.0677248677248675*G0_1_0 + 0.0225749559082895*G0_1_2 + 0.0338624338624338*G0_2_0;
+ A[1058] = -0.270899470899471*G0_0_0 - 0.0931216931216935*G0_0_2 - 0.186243386243386*G0_1_0 - 0.0507936507936513*G0_1_2 - 0.0931216931216925*G0_2_0 + 0.067724867724868*G0_2_2;
+ A[1059] = -0.101587301587301*G0_0_2 - 0.112874779541446*G0_1_0 - 0.203174603174603*G0_1_2 - 0.101587301587301*G0_2_0 - 0.270899470899471*G0_2_2;
+ A[1060] = 0.0451499118165788*G0_0_0 + 0.0338624338624344*G0_0_1 + 0.0338624338624341*G0_1_0 + 0.0225749559082897*G0_1_1;
+ A[1061] = 0.0225749559082892*G0_0_0 + 0.0197530864197529*G0_0_1 + 0.0197530864197533*G0_1_0 + 0.016931216931217*G0_1_1;
+ A[1062] = -0.0112874779541448*G0_0_1 - 0.0112874779541448*G0_1_0 - 0.0225749559082894*G0_1_1;
+ A[1063] = 0.135449735449735*G0_0_0 + 0.135449735449735*G0_0_1 + 0.101587301587302*G0_0_2 + 0.0677248677248678*G0_1_0 + 0.0677248677248677*G0_1_1 + 0.0564373897707233*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 + 0.0677248677248685*G0_2_2;
+ A[1064] = -0.270899470899471*G0_0_0 - 0.270899470899471*G0_0_1 - 0.177777777777778*G0_0_2 - 0.084656084656085*G0_1_0 - 0.0846560846560848*G0_1_1 - 0.0423280423280427*G0_1_2 - 0.177777777777778*G0_2_0 - 0.177777777777778*G0_2_1 - 0.0169312169312179*G0_2_2;
+ A[1065] = 0.101587301587302*G0_0_2 + 0.112874779541446*G0_1_0 + 0.112874779541446*G0_1_1 + 0.0112874779541447*G0_1_2 + 0.101587301587302*G0_2_0 + 0.101587301587302*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[1066] = 0.0451499118165787*G0_0_0 + 0.0112874779541448*G0_0_1 + 0.0451499118165786*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0112874779541445*G0_1_2 + 0.0451499118165785*G0_2_0 + 0.011287477954145*G0_2_1 + 0.0451499118165784*G0_2_2;
+ A[1067] = 0.0225749559082889*G0_0_0 + 0.00282186948853592*G0_0_1 + 0.0225749559082889*G0_0_2 + 0.00282186948853616*G0_1_0 + 0.00282186948853617*G0_1_2 + 0.0225749559082889*G0_2_0 + 0.002821869488536*G0_2_1 + 0.0225749559082889*G0_2_2;
+ A[1068] = 0.0112874779541448*G0_0_1 + 0.0112874779541447*G0_1_0 + 0.0112874779541447*G0_1_2 + 0.0112874779541446*G0_2_1;
+ A[1069] = 0.0225749559082891*G0_0_0 + 0.0564373897707229*G0_0_1 + 0.0564373897707228*G0_0_2 + 0.0112874779541445*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0225749559082889*G0_1_2 + 0.0564373897707236*G0_2_0 + 0.0902998236331572*G0_2_1 + 0.0902998236331571*G0_2_2;
+ A[1070] = 0.00564373897707225*G0_0_0 + 0.00282186948853634*G0_0_1 + 0.00282186948853634*G0_0_2 + 0.00282186948853603*G0_1_0 - 0.0169312169312171*G0_1_1 - 0.016931216931217*G0_1_2 + 0.00282186948853565*G0_2_0 + 0.0677248677248676*G0_2_1 + 0.0677248677248676*G0_2_2;
+ A[1071] = 0.0225749559082893*G0_0_0 - 0.0338624338624342*G0_0_1 - 0.0338624338624342*G0_0_2 + 0.0112874779541449*G0_1_0 - 0.0225749559082893*G0_1_1 - 0.0225749559082891*G0_1_2 - 0.0338624338624336*G0_2_0;
+ A[1072] = -0.135449735449736*G0_0_0 - 0.0677248677248679*G0_0_1 + 0.0451499118165785*G0_0_2 - 0.0677248677248684*G0_1_0 + 0.0677248677248671*G0_1_2 + 0.0451499118165788*G0_2_0 + 0.0677248677248683*G0_2_1;
+ A[1073] = 0.067724867724868*G0_0_1 + 0.0225749559082889*G0_0_2 + 0.0677248677248676*G0_1_0 + 0.135449735449735*G0_1_1 + 0.0451499118165782*G0_1_2 + 0.0225749559082894*G0_2_0 + 0.0451499118165784*G0_2_1;
+ A[1074] = -0.270899470899471*G0_0_1 - 0.135449735449735*G0_0_2 - 0.27089947089947*G0_1_0 - 0.541798941798941*G0_1_1 - 0.27089947089947*G0_1_2 - 0.135449735449735*G0_2_0 - 0.27089947089947*G0_2_1 + 0.0451499118165788*G0_2_2;
+ A[1075] = -0.135449735449736*G0_0_0 - 0.0677248677248681*G0_0_1 - 0.180599647266314*G0_0_2 - 0.0677248677248671*G0_1_0 - 0.0451499118165784*G0_1_2 - 0.180599647266314*G0_2_0 - 0.0451499118165792*G0_2_1 - 0.225749559082892*G0_2_2;
+ A[1076] = -0.0677248677248671*G0_0_1 - 0.0225749559082894*G0_0_2 - 0.0677248677248676*G0_1_0 - 0.045149911816579*G0_1_2 - 0.0225749559082894*G0_2_0 - 0.0451499118165782*G0_2_1 - 0.045149911816578*G0_2_2;
+ A[1077] = 0.27089947089947*G0_0_1 + 0.135449735449735*G0_0_2 + 0.27089947089947*G0_1_0 + 0.135449735449736*G0_1_2 + 0.135449735449735*G0_2_0 + 0.135449735449735*G0_2_1 + 0.316049382716048*G0_2_2;
+ A[1078] = -0.135449735449734*G0_0_0 - 0.203174603174602*G0_0_1 - 0.225749559082891*G0_0_2 - 0.0677248677248665*G0_1_0 - 0.135449735449734*G0_1_1 - 0.0902998236331555*G0_1_2 - 0.225749559082892*G0_2_0 - 0.361199294532627*G0_2_1 - 0.451499118165784*G0_2_2;
+ A[1079] = -0.135449735449737*G0_0_0 + 0.0677248677248675*G0_0_1 + 0.0902998236331566*G0_0_2 - 0.0677248677248686*G0_1_0 + 0.0677248677248674*G0_1_2 + 0.0902998236331567*G0_2_0 - 0.0677248677248681*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[1080] = 0.541798941798941*G0_0_0 + 0.27089947089947*G0_0_1 + 0.27089947089947*G0_0_2 + 0.270899470899471*G0_1_0 + 0.541798941798941*G0_1_1 + 0.27089947089947*G0_1_2 + 0.27089947089947*G0_2_0 + 0.27089947089947*G0_2_1 + 0.632098765432098*G0_2_2;
+ A[1081] = -0.0451499118165787*G0_0_0 - 0.0225749559082895*G0_0_1 - 0.0225749559082898*G0_1_0 - 0.0451499118165791*G0_1_2 - 0.0451499118165795*G0_2_1 + 0.0451499118165777*G0_2_2;
+ A[1082] = -0.0451499118165789*G0_0_0 - 0.0225749559082892*G0_0_1 - 0.0451499118165787*G0_0_2 - 0.0225749559082887*G0_1_0 - 0.0677248677248674*G0_1_2 - 0.045149911816578*G0_2_0 - 0.0677248677248677*G0_2_1;
+ A[1083] = -0.0451499118165781*G0_0_0 - 0.0225749559082889*G0_0_1 - 0.0225749559082891*G0_0_2 - 0.0225749559082895*G0_1_0 - 0.0451499118165785*G0_1_2 - 0.022574955908289*G0_2_0 - 0.0451499118165778*G0_2_1;
+ A[1084] = 0.270899470899472*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449736*G0_0_2 + 0.135449735449735*G0_1_0 + 0.316049382716049*G0_1_2 + 0.135449735449735*G0_2_0 + 0.316049382716049*G0_2_1 - 0.090299823633156*G0_2_2;
+ A[1085] = 0.0423280423280418*G0_0_0 + 0.0423280423280417*G0_0_1 + 0.0423280423280418*G0_0_2 + 0.0423280423280419*G0_1_0 + 0.0423280423280421*G0_1_1 + 0.0423280423280421*G0_1_2 + 0.0493827160493825*G0_2_0 + 0.0493827160493825*G0_2_1 + 0.0493827160493826*G0_2_2;
+ A[1086] = -0.0253968253968257*G0_0_0 - 0.00705467372134062*G0_2_0;
+ A[1087] = -0.0253968253968256*G0_1_1 - 0.00705467372134036*G0_2_1;
+ A[1088] = 0.0183421516754851*G0_2_2;
+ A[1089] = 0.0451499118165786*G0_1_1 + 0.0338624338624336*G0_1_2 + 0.0338624338624343*G0_2_1 + 0.0225749559082893*G0_2_2;
+ A[1090] = 0.0225749559082896*G0_1_1 + 0.0197530864197533*G0_1_2 + 0.0197530864197531*G0_2_1 + 0.0169312169312172*G0_2_2;
+ A[1091] = -0.0112874779541444*G0_1_2 - 0.0112874779541443*G0_2_1 - 0.0225749559082893*G0_2_2;
+ A[1092] = 0.0451499118165784*G0_0_0 + 0.0338624338624336*G0_0_2 + 0.0338624338624342*G0_2_0 + 0.0225749559082894*G0_2_2;
+ A[1093] = 0.0225749559082892*G0_0_0 + 0.0197530864197534*G0_0_2 + 0.019753086419753*G0_2_0 + 0.0169312169312165*G0_2_2;
+ A[1094] = -0.0112874779541447*G0_0_2 - 0.0112874779541442*G0_2_0 - 0.0225749559082887*G0_2_2;
+ A[1095] = 0.0902998236331568*G0_0_0 + 0.0338624338624341*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0677248677248682*G0_2_0 + 0.0225749559082898*G0_2_1;
+ A[1096] = 0.0677248677248665*G0_0_0 + 0.0649029982363298*G0_0_1 + 0.06490299823633*G0_1_0 + 0.0677248677248659*G0_1_1 + 0.0846560846560827*G0_2_0 + 0.0846560846560826*G0_2_1;
+ A[1097] = 0.0338624338624339*G0_0_1 + 0.0338624338624339*G0_1_0 + 0.0902998236331574*G0_1_1 + 0.0225749559082896*G0_2_0 + 0.067724867724868*G0_2_1;
+ A[1098] = -0.135449735449736*G0_0_0 - 0.135449735449736*G0_0_1 - 0.0338624338624336*G0_0_2 - 0.135449735449736*G0_1_0 - 0.135449735449736*G0_1_1 - 0.0338624338624339*G0_1_2 - 0.0338624338624341*G0_2_0 - 0.0338624338624343*G0_2_1 - 0.0451499118165787*G0_2_2;
+ A[1099] = 0.0225749559082896*G0_0_0 + 0.0225749559082896*G0_0_1 - 0.019753086419753*G0_0_2 + 0.0225749559082896*G0_1_0 + 0.0225749559082897*G0_1_1 - 0.0197530864197529*G0_1_2 - 0.0197530864197525*G0_2_0 - 0.0197530864197526*G0_2_1 + 0.0225749559082896*G0_2_2;
+ A[1100] = 0.0112874779541446*G0_0_2 + 0.0112874779541446*G0_1_2 + 0.0112874779541441*G0_2_0 + 0.0112874779541442*G0_2_1 - 0.0451499118165781*G0_2_2;
+ A[1101] = -0.270899470899471*G0_0_0 - 0.169312169312168*G0_0_1 - 0.270899470899471*G0_0_2 - 0.169312169312169*G0_1_0 - 0.0677248677248673*G0_1_1 - 0.169312169312169*G0_1_2 - 0.0677248677248669*G0_2_0 - 0.0790123456790121*G0_2_1 - 0.0677248677248676*G0_2_2;
+ A[1102] = 0.0677248677248665*G0_0_0 + 0.16084656084656*G0_0_1 + 0.0677248677248666*G0_0_2 + 0.16084656084656*G0_1_0 - 0.0169312169312173*G0_1_1 + 0.16084656084656*G0_1_2 + 0.118518518518518*G0_2_0 + 0.0253968253968255*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[1103] = -0.0338624338624334*G0_0_1 - 0.0338624338624339*G0_1_0 + 0.0677248677248679*G0_1_1 - 0.0338624338624338*G0_1_2 - 0.0225749559082896*G0_2_0 + 0.0112874779541446*G0_2_1 - 0.0225749559082897*G0_2_2;
+ A[1104] = -0.0677248677248664*G0_0_0 - 0.169312169312169*G0_0_1 - 0.169312169312169*G0_0_2 - 0.169312169312169*G0_1_0 - 0.270899470899471*G0_1_1 - 0.270899470899471*G0_1_2 - 0.0790123456790119*G0_2_0 - 0.0677248677248672*G0_2_1 - 0.0677248677248671*G0_2_2;
+ A[1105] = -0.0169312169312183*G0_0_0 + 0.16084656084656*G0_0_1 + 0.16084656084656*G0_0_2 + 0.16084656084656*G0_1_0 + 0.0677248677248664*G0_1_1 + 0.0677248677248663*G0_1_2 + 0.025396825396825*G0_2_0 + 0.118518518518518*G0_2_1 + 0.118518518518518*G0_2_2;
+ A[1106] = 0.0677248677248686*G0_0_0 - 0.0338624338624337*G0_0_1 - 0.0338624338624337*G0_0_2 - 0.0338624338624332*G0_1_0 + 0.0112874779541449*G0_2_0 - 0.0225749559082894*G0_2_1 - 0.0225749559082897*G0_2_2;
+ A[1107] = 0.0451499118165772*G0_0_0 + 0.0451499118165777*G0_0_1 + 0.0902998236331546*G0_0_2 + 0.045149911816577*G0_1_0 + 0.0677248677248655*G0_1_2 + 0.0902998236331563*G0_2_0 + 0.0677248677248678*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[1108] = 0.0451499118165782*G0_0_1 + 0.0677248677248669*G0_0_2 + 0.045149911816579*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0902998236331561*G0_1_2 + 0.0677248677248684*G0_2_0 + 0.0902998236331566*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[1109] = 0.0225749559082899*G0_0_1 + 0.0451499118165795*G0_0_2 + 0.0225749559082899*G0_1_0 + 0.0451499118165796*G0_1_2 + 0.0451499118165791*G0_2_0 + 0.0451499118165791*G0_2_1 + 0.0902998236331577*G0_2_2;
+ A[1110] = 0.0451499118165773*G0_0_0 + 0.180599647266314*G0_0_1 + 0.31604938271605*G0_0_2 + 0.180599647266314*G0_1_0 + 0.31604938271605*G0_1_1 + 0.180599647266314*G0_1_2 + 0.316049382716049*G0_2_0 + 0.180599647266314*G0_2_1 + 0.0451499118165788*G0_2_2;
+ A[1111] = -0.0451499118165782*G0_0_1 - 0.0677248677248669*G0_0_2 - 0.0451499118165791*G0_1_0 - 0.225749559082893*G0_1_1 - 0.180599647266314*G0_1_2 - 0.0677248677248684*G0_2_0 - 0.180599647266314*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1112] = -0.0225749559082894*G0_0_1 - 0.0451499118165792*G0_0_2 - 0.0225749559082898*G0_1_0 - 0.0451499118165791*G0_1_1 - 0.045149911816579*G0_2_0 + 0.045149911816578*G0_2_2;
+ A[1113] = 0.31604938271605*G0_0_0 + 0.180599647266313*G0_0_1 + 0.180599647266314*G0_0_2 + 0.180599647266314*G0_1_0 + 0.0451499118165777*G0_1_1 + 0.31604938271605*G0_1_2 + 0.180599647266313*G0_2_0 + 0.316049382716049*G0_2_1 + 0.0451499118165777*G0_2_2;
+ A[1114] = -0.225749559082892*G0_0_0 - 0.0451499118165777*G0_0_1 - 0.180599647266313*G0_0_2 - 0.0451499118165776*G0_1_0 - 0.0677248677248661*G0_1_2 - 0.180599647266313*G0_2_0 - 0.0677248677248677*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1115] = -0.0451499118165787*G0_0_0 - 0.0225749559082898*G0_0_1 - 0.0225749559082895*G0_1_0 - 0.0451499118165795*G0_1_2 - 0.0451499118165791*G0_2_1 + 0.0451499118165777*G0_2_2;
+ A[1116] = 0.632098765432099*G0_0_0 + 0.361199294532626*G0_0_1 + 0.361199294532626*G0_0_2 + 0.361199294532626*G0_1_0 + 0.632098765432098*G0_1_1 + 0.361199294532626*G0_1_2 + 0.361199294532626*G0_2_0 + 0.361199294532626*G0_2_1 + 0.632098765432097*G0_2_2;
+ A[1117] = -0.451499118165784*G0_0_0 - 0.225749559082891*G0_0_1 - 0.0902998236331551*G0_0_2 - 0.225749559082891*G0_1_0 - 0.135449735449733*G0_1_1 - 0.0677248677248658*G0_1_2 - 0.361199294532627*G0_2_0 - 0.203174603174602*G0_2_1 - 0.135449735449734*G0_2_2;
+ A[1118] = -0.135449735449733*G0_0_0 - 0.225749559082891*G0_0_1 - 0.0677248677248666*G0_0_2 - 0.22574955908289*G0_1_0 - 0.451499118165784*G0_1_1 - 0.0902998236331556*G0_1_2 - 0.203174603174601*G0_2_0 - 0.361199294532626*G0_2_1 - 0.135449735449734*G0_2_2;
+ A[1119] = -0.0902998236331545*G0_0_0 - 0.225749559082892*G0_0_1 - 0.406349206349205*G0_0_2 - 0.225749559082891*G0_1_0 - 0.0902998236331561*G0_1_1 - 0.406349206349206*G0_1_2 - 0.406349206349205*G0_2_0 - 0.406349206349206*G0_2_1 - 0.722398589065255*G0_2_2;
A[1120] = -0.0253968253968251*G0_0_0 - 0.0253968253968249*G0_0_1 - 0.025396825396825*G0_0_2 - 0.0253968253968249*G0_1_0 - 0.025396825396825*G0_1_1 - 0.025396825396825*G0_1_2 - 0.0183421516754846*G0_2_0 - 0.0183421516754847*G0_2_1 - 0.0183421516754847*G0_2_2;
- A[1121] = 0.0423280423280425*G0_0_0 - 0.00705467372134006*G0_2_0;
- A[1122] = -0.0253968253968255*G0_1_1 - 0.00705467372134062*G0_2_1;
- A[1123] = 0.0183421516754849*G0_2_2;
- A[1124] = 0.045149911816579*G0_1_1 + 0.0338624338624342*G0_1_2 + 0.0338624338624337*G0_2_1 + 0.0225749559082885*G0_2_2;
- A[1125] = 0.0225749559082893*G0_1_1 + 0.0197530864197529*G0_1_2 + 0.0197530864197531*G0_2_1 + 0.016931216931217*G0_2_2;
- A[1126] = -0.0112874779541441*G0_1_2 - 0.0112874779541451*G0_2_1 - 0.0225749559082899*G0_2_2;
- A[1127] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_2 - 0.101587301587301*G0_2_0 - 0.112874779541446*G0_2_2;
- A[1128] = 0.0225749559082894*G0_0_0 + 0.0423280423280421*G0_0_2 + 0.0423280423280423*G0_2_0 + 0.084656084656084*G0_2_2;
- A[1129] = -0.0112874779541445*G0_0_2 - 0.011287477954145*G0_2_0 - 0.0677248677248674*G0_2_2;
+ A[1121] = 0.0423280423280426*G0_0_0 - 0.00705467372133995*G0_2_0;
+ A[1122] = -0.0253968253968256*G0_1_1 - 0.00705467372134043*G0_2_1;
+ A[1123] = 0.0183421516754851*G0_2_2;
+ A[1124] = 0.0451499118165786*G0_1_1 + 0.033862433862434*G0_1_2 + 0.0338624338624335*G0_2_1 + 0.0225749559082888*G0_2_2;
+ A[1125] = 0.0225749559082894*G0_1_1 + 0.0197530864197527*G0_1_2 + 0.0197530864197533*G0_2_1 + 0.0169312169312171*G0_2_2;
+ A[1126] = -0.0112874779541442*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.0225749559082894*G0_2_2;
+ A[1127] = -0.135449735449735*G0_0_0 - 0.101587301587301*G0_0_2 - 0.101587301587301*G0_2_0 - 0.112874779541445*G0_2_2;
+ A[1128] = 0.0225749559082895*G0_0_0 + 0.0423280423280423*G0_0_2 + 0.0423280423280421*G0_2_0 + 0.0846560846560837*G0_2_2;
+ A[1129] = -0.0112874779541447*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.0677248677248672*G0_2_2;
A[1130] = -0.27089947089947*G0_0_0 - 0.101587301587301*G0_0_1 - 0.1015873015873*G0_1_0 - 0.203174603174603*G0_2_0 - 0.112874779541446*G0_2_1;
- A[1131] = 0.067724867724868*G0_0_0 - 0.0931216931216921*G0_0_1 - 0.0931216931216931*G0_1_0 - 0.270899470899471*G0_1_1 - 0.0507936507936504*G0_2_0 - 0.186243386243386*G0_2_1;
- A[1132] = 0.0338624338624336*G0_0_1 + 0.0338624338624345*G0_1_0 + 0.135449735449736*G0_1_1 + 0.022574955908289*G0_2_0 + 0.0677248677248679*G0_2_1;
- A[1133] = 0.0451499118165785*G0_0_0 + 0.0451499118165785*G0_0_1 + 0.011287477954144*G0_0_2 + 0.0451499118165782*G0_1_0 + 0.0451499118165783*G0_1_1 + 0.0112874779541447*G0_1_2 + 0.0112874779541444*G0_2_0 + 0.0112874779541445*G0_2_1;
- A[1134] = 0.0225749559082893*G0_0_0 + 0.0225749559082893*G0_0_1 + 0.00282186948853638*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0225749559082893*G0_1_1 + 0.0028218694885357*G0_1_2 + 0.00282186948853572*G0_2_0 + 0.00282186948853566*G0_2_1;
- A[1135] = 0.0112874779541443*G0_0_2 + 0.0112874779541448*G0_1_2 + 0.011287477954145*G0_2_0 + 0.0112874779541451*G0_2_1;
- A[1136] = 0.0902998236331573*G0_0_0 + 0.0564373897707226*G0_0_1 + 0.0902998236331573*G0_0_2 + 0.0564373897707221*G0_1_0 + 0.0225749559082888*G0_1_1 + 0.0564373897707224*G0_1_2 + 0.0225749559082887*G0_2_0 + 0.0112874779541438*G0_2_1 + 0.0225749559082889*G0_2_2;
- A[1137] = 0.0677248677248672*G0_0_0 + 0.0028218694885363*G0_0_1 + 0.0677248677248674*G0_0_2 + 0.00282186948853685*G0_1_0 + 0.00564373897707202*G0_1_1 + 0.00282186948853649*G0_1_2 - 0.0169312169312167*G0_2_0 + 0.00282186948853636*G0_2_1 - 0.0169312169312172*G0_2_2;
- A[1138] = -0.033862433862434*G0_0_1 - 0.0338624338624346*G0_1_0 + 0.0225749559082897*G0_1_1 - 0.0338624338624343*G0_1_2 - 0.0225749559082891*G0_2_0 + 0.0112874779541449*G0_2_1 - 0.022574955908289*G0_2_2;
- A[1139] = 0.0677248677248665*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.1015873015873*G0_1_0 + 0.135449735449734*G0_1_1 + 0.135449735449734*G0_1_2 + 0.0564373897707216*G0_2_0 + 0.067724867724867*G0_2_1 + 0.0677248677248669*G0_2_2;
- A[1140] = -0.0169312169312152*G0_0_0 - 0.177777777777777*G0_0_1 - 0.177777777777777*G0_0_2 - 0.177777777777777*G0_1_0 - 0.27089947089947*G0_1_1 - 0.27089947089947*G0_1_2 - 0.0423280423280406*G0_2_0 - 0.0846560846560836*G0_2_1 - 0.0846560846560836*G0_2_2;
- A[1141] = -0.0677248677248687*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0112874779541436*G0_2_0 + 0.112874779541446*G0_2_1 + 0.112874779541446*G0_2_2;
- A[1142] = 0.0451499118165795*G0_0_0 - 0.135449735449735*G0_0_1 - 0.270899470899469*G0_0_2 - 0.135449735449735*G0_1_0 - 0.270899470899469*G0_1_2 - 0.270899470899471*G0_2_0 - 0.270899470899471*G0_2_1 - 0.541798941798943*G0_2_2;
- A[1143] = 0.0451499118165786*G0_0_1 + 0.0677248677248676*G0_0_2 + 0.0451499118165798*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248666*G0_1_2 + 0.0677248677248677*G0_2_0 - 0.0677248677248675*G0_2_1;
- A[1144] = 0.0225749559082889*G0_0_1 + 0.0451499118165778*G0_0_2 + 0.0225749559082896*G0_1_0 + 0.0677248677248681*G0_1_2 + 0.0451499118165775*G0_2_0 + 0.0677248677248667*G0_2_1 + 0.135449735449735*G0_2_2;
- A[1145] = 0.0451499118165787*G0_0_0 - 0.0451499118165789*G0_0_2 - 0.0451499118165784*G0_1_1 - 0.0225749559082894*G0_1_2 - 0.0451499118165784*G0_2_0 - 0.0225749559082897*G0_2_1;
- A[1146] = -0.045149911816578*G0_0_1 - 0.0677248677248674*G0_0_2 - 0.0451499118165799*G0_1_0 - 0.045149911816579*G0_1_1 - 0.0225749559082894*G0_1_2 - 0.0677248677248677*G0_2_0 - 0.0225749559082888*G0_2_1;
- A[1147] = -0.0225749559082892*G0_0_1 - 0.0451499118165779*G0_0_2 - 0.0225749559082896*G0_1_0 - 0.0451499118165787*G0_1_1 - 0.022574955908289*G0_1_2 - 0.0451499118165776*G0_2_0 - 0.0225749559082887*G0_2_1;
- A[1148] = -0.225749559082891*G0_0_0 - 0.180599647266313*G0_0_1 - 0.0451499118165775*G0_0_2 - 0.180599647266314*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248663*G0_1_2 - 0.0451499118165774*G0_2_0 - 0.0677248677248665*G0_2_1;
- A[1149] = 0.316049382716048*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449734*G0_1_0 + 0.27089947089947*G0_1_2 + 0.135449735449734*G0_2_0 + 0.270899470899471*G0_2_1;
- A[1150] = -0.0451499118165787*G0_0_0 - 0.0225749559082889*G0_0_1 - 0.0451499118165784*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0677248677248682*G0_1_2 - 0.0451499118165782*G0_2_0 - 0.0677248677248672*G0_2_1;
- A[1151] = -0.451499118165784*G0_0_0 - 0.225749559082891*G0_0_1 - 0.361199294532627*G0_0_2 - 0.22574955908289*G0_1_0 - 0.135449735449733*G0_1_1 - 0.203174603174602*G0_1_2 - 0.0902998236331546*G0_2_0 - 0.0677248677248656*G0_2_1 - 0.135449735449734*G0_2_2;
- A[1152] = 0.632098765432097*G0_0_0 + 0.270899470899469*G0_0_1 + 0.270899470899469*G0_0_2 + 0.270899470899469*G0_1_0 + 0.541798941798941*G0_1_1 + 0.270899470899469*G0_1_2 + 0.270899470899469*G0_2_0 + 0.270899470899469*G0_2_1 + 0.541798941798942*G0_2_2;
- A[1153] = -0.135449735449735*G0_0_0 + 0.0902998236331567*G0_0_1 - 0.0677248677248676*G0_0_2 + 0.0902998236331563*G0_1_0 - 0.135449735449738*G0_1_1 + 0.0677248677248661*G0_1_2 + 0.067724867724867*G0_2_0 - 0.0677248677248685*G0_2_1;
- A[1154] = -0.090299823633158*G0_0_0 + 0.135449735449734*G0_0_1 + 0.316049382716048*G0_0_2 + 0.135449735449734*G0_1_0 + 0.27089947089947*G0_1_1 + 0.135449735449734*G0_1_2 + 0.316049382716049*G0_2_0 + 0.135449735449734*G0_2_1;
- A[1155] = -0.0253968253968248*G0_0_0 - 0.0253968253968251*G0_0_1 - 0.025396825396825*G0_0_2 - 0.0253968253968251*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0253968253968252*G0_1_2 - 0.0183421516754847*G0_2_0 - 0.0183421516754848*G0_2_1 - 0.0183421516754848*G0_2_2;
- A[1156] = -0.0253968253968252*G0_0_0 - 0.00705467372134024*G0_2_0;
- A[1157] = 0.0423280423280425*G0_1_1 - 0.00705467372134016*G0_2_1;
- A[1158] = 0.018342151675485*G0_2_2;
+ A[1131] = 0.0677248677248679*G0_0_0 - 0.0931216931216924*G0_0_1 - 0.0931216931216933*G0_1_0 - 0.270899470899471*G0_1_1 - 0.0507936507936507*G0_2_0 - 0.186243386243386*G0_2_1;
+ A[1132] = 0.0338624338624337*G0_0_1 + 0.0338624338624344*G0_1_0 + 0.135449735449736*G0_1_1 + 0.0225749559082892*G0_2_0 + 0.0677248677248675*G0_2_1;
+ A[1133] = 0.0451499118165788*G0_0_0 + 0.0451499118165788*G0_0_1 + 0.0112874779541443*G0_0_2 + 0.0451499118165783*G0_1_0 + 0.0451499118165786*G0_1_1 + 0.0112874779541447*G0_1_2 + 0.0112874779541444*G0_2_0 + 0.0112874779541446*G0_2_1;
+ A[1134] = 0.0225749559082893*G0_0_0 + 0.0225749559082893*G0_0_1 + 0.00282186948853634*G0_0_2 + 0.0225749559082893*G0_1_0 + 0.0225749559082892*G0_1_1 + 0.00282186948853584*G0_1_2 + 0.00282186948853657*G0_2_0 + 0.00282186948853645*G0_2_1;
+ A[1135] = 0.0112874779541443*G0_0_2 + 0.0112874779541447*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1;
+ A[1136] = 0.0902998236331573*G0_0_0 + 0.0564373897707223*G0_0_1 + 0.0902998236331572*G0_0_2 + 0.0564373897707222*G0_1_0 + 0.0225749559082887*G0_1_1 + 0.0564373897707227*G0_1_2 + 0.0225749559082884*G0_2_0 + 0.0112874779541439*G0_2_1 + 0.0225749559082886*G0_2_2;
+ A[1137] = 0.0677248677248676*G0_0_0 + 0.00282186948853672*G0_0_1 + 0.0677248677248676*G0_0_2 + 0.00282186948853681*G0_1_0 + 0.00564373897707203*G0_1_1 + 0.0028218694885363*G0_1_2 - 0.0169312169312166*G0_2_0 + 0.00282186948853633*G0_2_1 - 0.0169312169312171*G0_2_2;
+ A[1138] = -0.0338624338624344*G0_0_1 - 0.0338624338624344*G0_1_0 + 0.0225749559082896*G0_1_1 - 0.033862433862434*G0_1_2 - 0.0225749559082892*G0_2_0 + 0.0112874779541448*G0_2_1 - 0.022574955908289*G0_2_2;
+ A[1139] = 0.0677248677248666*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.1015873015873*G0_1_0 + 0.135449735449734*G0_1_1 + 0.135449735449734*G0_1_2 + 0.0564373897707218*G0_2_0 + 0.0677248677248667*G0_2_1 + 0.0677248677248667*G0_2_2;
+ A[1140] = -0.0169312169312151*G0_0_0 - 0.177777777777777*G0_0_1 - 0.177777777777777*G0_0_2 - 0.177777777777776*G0_1_0 - 0.27089947089947*G0_1_1 - 0.27089947089947*G0_1_2 - 0.0423280423280404*G0_2_0 - 0.0846560846560836*G0_2_1 - 0.0846560846560836*G0_2_2;
+ A[1141] = -0.0677248677248689*G0_0_0 + 0.101587301587301*G0_0_1 + 0.101587301587301*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0112874779541434*G0_2_0 + 0.112874779541446*G0_2_1 + 0.112874779541446*G0_2_2;
+ A[1142] = 0.0451499118165795*G0_0_0 - 0.135449735449735*G0_0_1 - 0.270899470899469*G0_0_2 - 0.135449735449734*G0_1_0 - 0.270899470899469*G0_1_2 - 0.27089947089947*G0_2_0 - 0.270899470899471*G0_2_1 - 0.541798941798941*G0_2_2;
+ A[1143] = 0.0451499118165787*G0_0_1 + 0.0677248677248678*G0_0_2 + 0.0451499118165791*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0677248677248672*G0_1_2 + 0.0677248677248679*G0_2_0 - 0.0677248677248667*G0_2_1;
+ A[1144] = 0.0225749559082886*G0_0_1 + 0.045149911816578*G0_0_2 + 0.0225749559082894*G0_1_0 + 0.0677248677248681*G0_1_2 + 0.0451499118165783*G0_2_0 + 0.067724867724867*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[1145] = 0.0451499118165787*G0_0_0 - 0.0451499118165791*G0_0_2 - 0.0451499118165787*G0_1_1 - 0.0225749559082897*G0_1_2 - 0.0451499118165783*G0_2_0 - 0.0225749559082899*G0_2_1;
+ A[1146] = -0.0451499118165778*G0_0_1 - 0.0677248677248674*G0_0_2 - 0.0451499118165792*G0_1_0 - 0.0451499118165785*G0_1_1 - 0.022574955908289*G0_1_2 - 0.067724867724868*G0_2_0 - 0.0225749559082883*G0_2_1;
+ A[1147] = -0.0225749559082894*G0_0_1 - 0.0451499118165779*G0_0_2 - 0.0225749559082894*G0_1_0 - 0.0451499118165786*G0_1_1 - 0.0225749559082888*G0_1_2 - 0.0451499118165784*G0_2_0 - 0.0225749559082897*G0_2_1;
+ A[1148] = -0.225749559082892*G0_0_0 - 0.180599647266313*G0_0_1 - 0.0451499118165778*G0_0_2 - 0.180599647266314*G0_1_0 - 0.135449735449736*G0_1_1 - 0.0677248677248667*G0_1_2 - 0.0451499118165782*G0_2_0 - 0.0677248677248671*G0_2_1;
+ A[1149] = 0.316049382716049*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449735*G0_1_0 + 0.27089947089947*G0_1_2 + 0.135449735449735*G0_2_0 + 0.27089947089947*G0_2_1;
+ A[1150] = -0.0451499118165789*G0_0_0 - 0.0225749559082887*G0_0_1 - 0.045149911816578*G0_0_2 - 0.0225749559082892*G0_1_0 - 0.0677248677248677*G0_1_2 - 0.0451499118165787*G0_2_0 - 0.0677248677248674*G0_2_1;
+ A[1151] = -0.451499118165784*G0_0_0 - 0.225749559082891*G0_0_1 - 0.361199294532627*G0_0_2 - 0.225749559082891*G0_1_0 - 0.135449735449733*G0_1_1 - 0.203174603174602*G0_1_2 - 0.0902998236331551*G0_2_0 - 0.0677248677248658*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1152] = 0.632098765432097*G0_0_0 + 0.270899470899469*G0_0_1 + 0.270899470899469*G0_0_2 + 0.270899470899469*G0_1_0 + 0.541798941798941*G0_1_1 + 0.270899470899469*G0_1_2 + 0.270899470899469*G0_2_0 + 0.270899470899469*G0_2_1 + 0.54179894179894*G0_2_2;
+ A[1153] = -0.135449735449736*G0_0_0 + 0.0902998236331569*G0_0_1 - 0.0677248677248678*G0_0_2 + 0.0902998236331565*G0_1_0 - 0.135449735449737*G0_1_1 + 0.0677248677248667*G0_1_2 + 0.0677248677248673*G0_2_0 - 0.0677248677248675*G0_2_1;
+ A[1154] = -0.090299823633158*G0_0_0 + 0.135449735449735*G0_0_1 + 0.316049382716049*G0_0_2 + 0.135449735449734*G0_1_0 + 0.270899470899471*G0_1_1 + 0.135449735449735*G0_1_2 + 0.316049382716048*G0_2_0 + 0.135449735449734*G0_2_1;
+ A[1155] = -0.0253968253968248*G0_0_0 - 0.0253968253968251*G0_0_1 - 0.025396825396825*G0_0_2 - 0.0253968253968252*G0_1_0 - 0.0253968253968253*G0_1_1 - 0.0253968253968253*G0_1_2 - 0.0183421516754848*G0_2_0 - 0.0183421516754849*G0_2_1 - 0.0183421516754849*G0_2_2;
+ A[1156] = -0.0253968253968252*G0_0_0 - 0.00705467372134025*G0_2_0;
+ A[1157] = 0.0423280423280427*G0_1_1 - 0.00705467372134023*G0_2_1;
+ A[1158] = 0.0183421516754851*G0_2_2;
A[1159] = -0.135449735449736*G0_1_1 - 0.101587301587301*G0_1_2 - 0.101587301587302*G0_2_1 - 0.112874779541445*G0_2_2;
- A[1160] = 0.0225749559082893*G0_1_1 + 0.0423280423280424*G0_1_2 + 0.0423280423280422*G0_2_1 + 0.0846560846560837*G0_2_2;
- A[1161] = -0.0112874779541446*G0_1_2 - 0.0112874779541447*G0_2_1 - 0.0677248677248669*G0_2_2;
- A[1162] = 0.0451499118165783*G0_0_0 + 0.0338624338624338*G0_0_2 + 0.0338624338624333*G0_2_0 + 0.0225749559082892*G0_2_2;
- A[1163] = 0.0225749559082893*G0_0_0 + 0.0197530864197532*G0_0_2 + 0.0197530864197538*G0_2_0 + 0.016931216931217*G0_2_2;
- A[1164] = -0.0112874779541446*G0_0_2 - 0.0112874779541446*G0_2_0 - 0.022574955908289*G0_2_2;
- A[1165] = 0.135449735449734*G0_0_0 + 0.0338624338624332*G0_0_1 + 0.033862433862433*G0_1_0 + 0.0677248677248667*G0_2_0 + 0.0225749559082884*G0_2_1;
- A[1166] = -0.270899470899469*G0_0_0 - 0.0931216931216915*G0_0_1 - 0.0931216931216906*G0_1_0 + 0.0677248677248701*G0_1_1 - 0.186243386243384*G0_2_0 - 0.050793650793649*G0_2_1;
- A[1167] = -0.101587301587301*G0_0_1 - 0.101587301587303*G0_1_0 - 0.270899470899472*G0_1_1 - 0.112874779541447*G0_2_0 - 0.203174603174604*G0_2_1;
- A[1168] = 0.0451499118165783*G0_0_0 + 0.0451499118165784*G0_0_1 + 0.0112874779541446*G0_0_2 + 0.0451499118165783*G0_1_0 + 0.0451499118165782*G0_1_1 + 0.0112874779541444*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541445*G0_2_1;
- A[1169] = 0.0225749559082892*G0_0_0 + 0.0225749559082892*G0_0_1 + 0.00282186948853608*G0_0_2 + 0.0225749559082895*G0_1_0 + 0.0225749559082896*G0_1_1 + 0.00282186948853655*G0_1_2 + 0.00282186948853635*G0_2_0 + 0.00282186948853615*G0_2_1;
- A[1170] = 0.0112874779541446*G0_0_2 + 0.0112874779541442*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541447*G0_2_1;
- A[1171] = 0.135449735449734*G0_0_0 + 0.101587301587301*G0_0_1 + 0.135449735449734*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248674*G0_1_1 + 0.101587301587301*G0_1_2 + 0.067724867724867*G0_2_0 + 0.0564373897707225*G0_2_1 + 0.0677248677248668*G0_2_2;
- A[1172] = -0.270899470899469*G0_0_0 - 0.177777777777778*G0_0_1 - 0.27089947089947*G0_0_2 - 0.177777777777778*G0_1_0 - 0.0169312169312167*G0_1_1 - 0.177777777777777*G0_1_2 - 0.0846560846560842*G0_2_0 - 0.0423280423280419*G0_2_1 - 0.0846560846560836*G0_2_2;
- A[1173] = 0.101587301587302*G0_0_1 + 0.101587301587303*G0_1_0 - 0.0677248677248677*G0_1_1 + 0.101587301587302*G0_1_2 + 0.112874779541447*G0_2_0 + 0.0112874779541448*G0_2_1 + 0.112874779541447*G0_2_2;
- A[1174] = 0.0225749559082887*G0_0_0 + 0.0564373897707226*G0_0_1 + 0.0564373897707226*G0_0_2 + 0.0564373897707231*G0_1_0 + 0.0902998236331569*G0_1_1 + 0.0902998236331568*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0225749559082889*G0_2_1 + 0.0225749559082886*G0_2_2;
- A[1175] = 0.00564373897707198*G0_0_0 + 0.0028218694885363*G0_0_1 + 0.00282186948853624*G0_0_2 + 0.00282186948853583*G0_1_0 + 0.0677248677248686*G0_1_1 + 0.0677248677248683*G0_1_2 + 0.00282186948853569*G0_2_0 - 0.0169312169312167*G0_2_1 - 0.0169312169312171*G0_2_2;
- A[1176] = 0.0225749559082893*G0_0_0 - 0.0338624338624338*G0_0_1 - 0.0338624338624337*G0_0_2 - 0.033862433862434*G0_1_0 + 0.0112874779541447*G0_2_0 - 0.0225749559082885*G0_2_1 - 0.022574955908289*G0_2_2;
- A[1177] = -0.135449735449734*G0_0_0 + 0.0451499118165787*G0_0_1 - 0.0677248677248672*G0_0_2 + 0.0451499118165801*G0_1_0 + 0.067724867724869*G0_1_2 - 0.0677248677248653*G0_2_0 + 0.0677248677248679*G0_2_1;
- A[1178] = -0.135449735449734*G0_0_1 - 0.270899470899469*G0_0_2 - 0.135449735449736*G0_1_0 + 0.0451499118165799*G0_1_1 - 0.27089947089947*G0_1_2 - 0.270899470899472*G0_2_0 - 0.27089947089947*G0_2_1 - 0.541798941798942*G0_2_2;
- A[1179] = 0.0225749559082894*G0_0_1 + 0.0677248677248678*G0_0_2 + 0.0225749559082891*G0_1_0 + 0.0451499118165784*G0_1_2 + 0.0677248677248677*G0_2_0 + 0.0451499118165794*G0_2_1 + 0.135449735449736*G0_2_2;
- A[1180] = -0.135449735449734*G0_0_0 - 0.180599647266313*G0_0_1 - 0.0677248677248672*G0_0_2 - 0.180599647266313*G0_1_0 - 0.225749559082892*G0_1_1 - 0.0451499118165776*G0_1_2 - 0.067724867724867*G0_2_0 - 0.0451499118165782*G0_2_1;
- A[1181] = 0.135449735449734*G0_0_1 + 0.27089947089947*G0_0_2 + 0.135449735449736*G0_1_0 + 0.31604938271605*G0_1_1 + 0.135449735449734*G0_1_2 + 0.270899470899472*G0_2_0 + 0.135449735449736*G0_2_1;
- A[1182] = -0.0225749559082891*G0_0_1 - 0.0677248677248681*G0_0_2 - 0.0225749559082891*G0_1_0 - 0.045149911816579*G0_1_1 - 0.0451499118165786*G0_1_2 - 0.0677248677248678*G0_2_0 - 0.0451499118165783*G0_2_1;
- A[1183] = -0.0451499118165784*G0_0_0 - 0.0225749559082891*G0_0_2 + 0.0451499118165799*G0_1_1 - 0.0451499118165784*G0_1_2 - 0.022574955908289*G0_2_0 - 0.045149911816577*G0_2_1;
- A[1184] = -0.0451499118165784*G0_0_0 - 0.0451499118165786*G0_0_1 - 0.0225749559082895*G0_0_2 - 0.0451499118165787*G0_1_0 - 0.0677248677248682*G0_1_2 - 0.022574955908289*G0_2_0 - 0.0677248677248676*G0_2_1;
- A[1185] = -0.0451499118165785*G0_0_0 - 0.0225749559082893*G0_0_1 - 0.0225749559082892*G0_0_2 - 0.0225749559082896*G0_1_0 - 0.0451499118165783*G0_1_2 - 0.02257495590829*G0_2_0 - 0.0451499118165795*G0_2_1;
- A[1186] = -0.135449735449733*G0_0_0 - 0.22574955908289*G0_0_1 - 0.2031746031746*G0_0_2 - 0.22574955908289*G0_1_0 - 0.451499118165784*G0_1_1 - 0.361199294532626*G0_1_2 - 0.067724867724866*G0_2_0 - 0.0902998236331555*G0_2_1 - 0.135449735449733*G0_2_2;
- A[1187] = -0.135449735449735*G0_0_0 + 0.0902998236331563*G0_0_1 + 0.067724867724867*G0_0_2 + 0.0902998236331567*G0_1_0 - 0.135449735449738*G0_1_1 - 0.0677248677248685*G0_1_2 - 0.0677248677248676*G0_2_0 + 0.0677248677248661*G0_2_1;
- A[1188] = 0.541798941798938*G0_0_0 + 0.270899470899468*G0_0_1 + 0.270899470899468*G0_0_2 + 0.270899470899468*G0_1_0 + 0.632098765432099*G0_1_1 + 0.27089947089947*G0_1_2 + 0.270899470899468*G0_2_0 + 0.27089947089947*G0_2_1 + 0.541798941798941*G0_2_2;
- A[1189] = 0.270899470899468*G0_0_0 + 0.135449735449734*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449733*G0_1_0 - 0.0902998236331602*G0_1_1 + 0.316049382716048*G0_1_2 + 0.135449735449732*G0_2_0 + 0.316049382716046*G0_2_1;
- A[1190] = -0.0677248677248668*G0_0_0 - 0.0677248677248671*G0_0_1 - 0.0677248677248672*G0_0_2 - 0.0677248677248671*G0_1_0 - 0.0677248677248672*G0_1_1 - 0.0677248677248673*G0_1_2 - 0.0677248677248673*G0_2_0 - 0.0677248677248674*G0_2_1 - 0.0677248677248674*G0_2_2;
- A[1191] = -0.0677248677248674*G0_0_0;
- A[1192] = -0.0677248677248676*G0_1_1;
- A[1193] = -0.0677248677248675*G0_2_2;
- A[1194] = 0.0902998236331581*G0_1_1;
- A[1195] = -0.135449735449737*G0_1_1 - 0.112874779541448*G0_1_2 - 0.112874779541447*G0_2_1 - 0.135449735449735*G0_2_2;
- A[1196] = 0.0902998236331571*G0_2_2;
- A[1197] = 0.0902998236331575*G0_0_0;
- A[1198] = -0.135449735449736*G0_0_0 - 0.112874779541447*G0_0_2 - 0.112874779541447*G0_2_0 - 0.135449735449736*G0_2_2;
- A[1199] = 0.0902998236331564*G0_2_2;
- A[1200] = 0.0902998236331568*G0_0_0;
- A[1201] = -0.135449735449734*G0_0_0 - 0.112874779541446*G0_0_1 - 0.112874779541445*G0_1_0 - 0.135449735449735*G0_1_1;
- A[1202] = 0.0902998236331586*G0_1_1;
- A[1203] = 0.0902998236331556*G0_0_0 + 0.0902998236331561*G0_0_1 + 0.0902998236331558*G0_0_2 + 0.0902998236331562*G0_1_0 + 0.0902998236331565*G0_1_1 + 0.0902998236331563*G0_1_2 + 0.0902998236331568*G0_2_0 + 0.0902998236331571*G0_2_1 + 0.0902998236331565*G0_2_2;
- A[1204] = -0.135449735449737*G0_0_0 - 0.135449735449737*G0_0_1 - 0.0225749559082891*G0_0_2 - 0.135449735449737*G0_1_0 - 0.135449735449737*G0_1_1 - 0.0225749559082889*G0_1_2 - 0.0225749559082907*G0_2_0 - 0.0225749559082904*G0_2_1 - 0.0451499118165787*G0_2_2;
- A[1205] = 0.0902998236331561*G0_2_2;
- A[1206] = 0.0902998236331558*G0_0_0 + 0.090299823633156*G0_0_1 + 0.0902998236331564*G0_0_2 + 0.0902998236331562*G0_1_0 + 0.0902998236331562*G0_1_1 + 0.0902998236331564*G0_1_2 + 0.0902998236331565*G0_2_0 + 0.0902998236331566*G0_2_1 + 0.0902998236331573*G0_2_2;
- A[1207] = -0.135449735449734*G0_0_0 - 0.022574955908289*G0_0_1 - 0.135449735449735*G0_0_2 - 0.0225749559082884*G0_1_0 - 0.0451499118165783*G0_1_1 - 0.0225749559082883*G0_1_2 - 0.135449735449735*G0_2_0 - 0.0225749559082896*G0_2_1 - 0.135449735449736*G0_2_2;
- A[1208] = 0.0902998236331572*G0_1_1;
- A[1209] = 0.0902998236331556*G0_0_0 + 0.0902998236331565*G0_0_1 + 0.0902998236331563*G0_0_2 + 0.0902998236331561*G0_1_0 + 0.0902998236331562*G0_1_1 + 0.0902998236331558*G0_1_2 + 0.090299823633156*G0_2_0 + 0.0902998236331564*G0_2_1 + 0.0902998236331564*G0_2_2;
- A[1210] = -0.045149911816578*G0_0_0 - 0.0225749559082884*G0_0_1 - 0.0225749559082885*G0_0_2 - 0.0225749559082888*G0_1_0 - 0.135449735449735*G0_1_1 - 0.135449735449735*G0_1_2 - 0.022574955908289*G0_2_0 - 0.135449735449735*G0_2_1 - 0.135449735449735*G0_2_2;
- A[1211] = 0.0902998236331565*G0_0_0;
- A[1212] = -0.722398589065256*G0_0_0 - 0.316049382716051*G0_0_1 - 0.316049382716051*G0_0_2 - 0.316049382716047*G0_1_0 - 0.135449735449734*G0_1_2 - 0.316049382716049*G0_2_0 - 0.135449735449735*G0_2_1;
- A[1213] = -0.316049382716048*G0_0_1 - 0.135449735449733*G0_0_2 - 0.31604938271605*G0_1_0 - 0.722398589065258*G0_1_1 - 0.316049382716048*G0_1_2 - 0.135449735449735*G0_2_0 - 0.316049382716049*G0_2_1;
- A[1214] = -0.135449735449736*G0_0_1 - 0.31604938271605*G0_0_2 - 0.135449735449737*G0_1_0 - 0.31604938271605*G0_1_2 - 0.31604938271605*G0_2_0 - 0.31604938271605*G0_2_1 - 0.722398589065257*G0_2_2;
- A[1215] = -0.722398589065257*G0_0_0 - 0.406349206349206*G0_0_1 - 0.406349206349208*G0_0_2 - 0.406349206349209*G0_1_0 - 0.0902998236331568*G0_1_1 - 0.225749559082894*G0_1_2 - 0.406349206349207*G0_2_0 - 0.225749559082893*G0_2_1 - 0.0902998236331584*G0_2_2;
- A[1216] = 0.316049382716049*G0_0_1 + 0.135449735449736*G0_0_2 + 0.31604938271605*G0_1_0 - 0.0902998236331584*G0_1_1 + 0.135449735449737*G0_1_2 + 0.135449735449735*G0_2_0 + 0.135449735449735*G0_2_1 + 0.270899470899472*G0_2_2;
- A[1217] = 0.135449735449737*G0_0_1 + 0.31604938271605*G0_0_2 + 0.135449735449737*G0_1_0 + 0.270899470899474*G0_1_1 + 0.135449735449736*G0_1_2 + 0.316049382716049*G0_2_0 + 0.135449735449737*G0_2_1 - 0.0902998236331563*G0_2_2;
- A[1218] = -0.0902998236331543*G0_0_0 - 0.406349206349206*G0_0_1 - 0.225749559082892*G0_0_2 - 0.406349206349205*G0_1_0 - 0.722398589065257*G0_1_1 - 0.406349206349206*G0_1_2 - 0.225749559082891*G0_2_0 - 0.406349206349206*G0_2_1 - 0.0902998236331568*G0_2_2;
- A[1219] = -0.0902998236331594*G0_0_0 + 0.31604938271605*G0_0_1 + 0.135449735449734*G0_0_2 + 0.316049382716048*G0_1_0 + 0.135449735449733*G0_1_2 + 0.135449735449733*G0_2_0 + 0.135449735449735*G0_2_1 + 0.270899470899469*G0_2_2;
- A[1220] = 0.270899470899473*G0_0_0 + 0.135449735449737*G0_0_1 + 0.135449735449737*G0_0_2 + 0.135449735449736*G0_1_0 + 0.316049382716051*G0_1_2 + 0.135449735449737*G0_2_0 + 0.31604938271605*G0_2_1 - 0.0902998236331548*G0_2_2;
- A[1221] = -0.0902998236331544*G0_0_0 - 0.225749559082891*G0_0_1 - 0.406349206349205*G0_0_2 - 0.22574955908289*G0_1_0 - 0.0902998236331553*G0_1_1 - 0.406349206349205*G0_1_2 - 0.406349206349205*G0_2_0 - 0.406349206349205*G0_2_1 - 0.722398589065255*G0_2_2;
- A[1222] = -0.090299823633158*G0_0_0 + 0.135449735449734*G0_0_1 + 0.316049382716049*G0_0_2 + 0.135449735449734*G0_1_0 + 0.27089947089947*G0_1_1 + 0.135449735449734*G0_1_2 + 0.316049382716048*G0_2_0 + 0.135449735449734*G0_2_1;
- A[1223] = 0.270899470899468*G0_0_0 + 0.135449735449733*G0_0_1 + 0.135449735449732*G0_0_2 + 0.135449735449734*G0_1_0 - 0.0902998236331602*G0_1_1 + 0.316049382716046*G0_1_2 + 0.135449735449734*G0_2_0 + 0.316049382716048*G0_2_1;
- A[1224] = 1.44479717813051*G0_0_0 + 0.722398589065256*G0_0_1 + 0.722398589065257*G0_0_2 + 0.722398589065256*G0_1_0 + 1.44479717813051*G0_1_1 + 0.722398589065256*G0_1_2 + 0.722398589065256*G0_2_0 + 0.722398589065256*G0_2_1 + 1.44479717813051*G0_2_2;
+ A[1160] = 0.0225749559082892*G0_1_1 + 0.042328042328042*G0_1_2 + 0.0423280423280422*G0_2_1 + 0.0846560846560839*G0_2_2;
+ A[1161] = -0.0112874779541446*G0_1_2 - 0.0112874779541446*G0_2_1 - 0.067724867724867*G0_2_2;
+ A[1162] = 0.0451499118165784*G0_0_0 + 0.0338624338624338*G0_0_2 + 0.0338624338624337*G0_2_0 + 0.0225749559082893*G0_2_2;
+ A[1163] = 0.0225749559082893*G0_0_0 + 0.0197530864197531*G0_0_2 + 0.0197530864197529*G0_2_0 + 0.0169312169312165*G0_2_2;
+ A[1164] = -0.0112874779541445*G0_0_2 - 0.0112874779541445*G0_2_0 - 0.0225749559082893*G0_2_2;
+ A[1165] = 0.135449735449735*G0_0_0 + 0.0338624338624331*G0_0_1 + 0.0338624338624329*G0_1_0 + 0.0677248677248671*G0_2_0 + 0.0225749559082885*G0_2_1;
+ A[1166] = -0.270899470899469*G0_0_0 - 0.0931216931216916*G0_0_1 - 0.0931216931216911*G0_1_0 + 0.0677248677248695*G0_1_1 - 0.186243386243385*G0_2_0 - 0.0507936507936494*G0_2_1;
+ A[1167] = -0.101587301587301*G0_0_1 - 0.101587301587302*G0_1_0 - 0.270899470899472*G0_1_1 - 0.112874779541447*G0_2_0 - 0.203174603174604*G0_2_1;
+ A[1168] = 0.0451499118165785*G0_0_0 + 0.0451499118165785*G0_0_1 + 0.0112874779541445*G0_0_2 + 0.0451499118165787*G0_1_0 + 0.0451499118165784*G0_1_1 + 0.0112874779541445*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.0112874779541446*G0_2_1;
+ A[1169] = 0.0225749559082888*G0_0_0 + 0.0225749559082888*G0_0_1 + 0.00282186948853598*G0_0_2 + 0.0225749559082889*G0_1_0 + 0.0225749559082889*G0_1_1 + 0.00282186948853628*G0_1_2 + 0.00282186948853618*G0_2_0 + 0.00282186948853604*G0_2_1;
+ A[1170] = 0.0112874779541447*G0_0_2 + 0.0112874779541443*G0_1_2 + 0.0112874779541445*G0_2_0 + 0.0112874779541446*G0_2_1;
+ A[1171] = 0.135449735449734*G0_0_0 + 0.101587301587301*G0_0_1 + 0.135449735449734*G0_0_2 + 0.101587301587301*G0_1_0 + 0.0677248677248673*G0_1_1 + 0.101587301587301*G0_1_2 + 0.0677248677248671*G0_2_0 + 0.0564373897707226*G0_2_1 + 0.067724867724867*G0_2_2;
+ A[1172] = -0.270899470899469*G0_0_0 - 0.177777777777777*G0_0_1 - 0.270899470899469*G0_0_2 - 0.177777777777777*G0_1_0 - 0.0169312169312161*G0_1_1 - 0.177777777777777*G0_1_2 - 0.084656084656084*G0_2_0 - 0.042328042328042*G0_2_1 - 0.0846560846560836*G0_2_2;
+ A[1173] = 0.101587301587302*G0_0_1 + 0.101587301587302*G0_1_0 - 0.0677248677248683*G0_1_1 + 0.101587301587302*G0_1_2 + 0.112874779541447*G0_2_0 + 0.0112874779541449*G0_2_1 + 0.112874779541447*G0_2_2;
+ A[1174] = 0.0225749559082886*G0_0_0 + 0.0564373897707227*G0_0_1 + 0.0564373897707226*G0_0_2 + 0.0564373897707231*G0_1_0 + 0.0902998236331571*G0_1_1 + 0.090299823633157*G0_1_2 + 0.0112874779541446*G0_2_0 + 0.022574955908289*G0_2_1 + 0.0225749559082887*G0_2_2;
+ A[1175] = 0.00564373897707219*G0_0_0 + 0.00282186948853612*G0_0_1 + 0.00282186948853616*G0_0_2 + 0.00282186948853577*G0_1_0 + 0.0677248677248682*G0_1_1 + 0.0677248677248682*G0_1_2 + 0.00282186948853575*G0_2_0 - 0.016931216931217*G0_2_1 - 0.0169312169312174*G0_2_2;
+ A[1176] = 0.0225749559082893*G0_0_0 - 0.0338624338624337*G0_0_1 - 0.0338624338624336*G0_0_2 - 0.033862433862434*G0_1_0 + 0.0112874779541448*G0_2_0 - 0.0225749559082887*G0_2_1 - 0.0225749559082892*G0_2_2;
+ A[1177] = -0.135449735449735*G0_0_0 + 0.0451499118165787*G0_0_1 - 0.0677248677248673*G0_0_2 + 0.045149911816579*G0_1_0 + 0.0677248677248681*G0_1_2 - 0.0677248677248661*G0_2_0 + 0.067724867724868*G0_2_1;
+ A[1178] = -0.135449735449735*G0_0_1 - 0.27089947089947*G0_0_2 - 0.135449735449736*G0_1_0 + 0.045149911816579*G0_1_1 - 0.27089947089947*G0_1_2 - 0.270899470899473*G0_2_0 - 0.270899470899471*G0_2_1 - 0.541798941798943*G0_2_2;
+ A[1179] = 0.0225749559082894*G0_0_1 + 0.0677248677248672*G0_0_2 + 0.0225749559082887*G0_1_0 + 0.0451499118165776*G0_1_2 + 0.0677248677248673*G0_2_0 + 0.0451499118165781*G0_2_1 + 0.135449735449735*G0_2_2;
+ A[1180] = -0.135449735449734*G0_0_0 - 0.180599647266313*G0_0_1 - 0.0677248677248675*G0_0_2 - 0.180599647266314*G0_1_0 - 0.225749559082892*G0_1_1 - 0.0451499118165781*G0_1_2 - 0.0677248677248679*G0_2_0 - 0.0451499118165784*G0_2_1;
+ A[1181] = 0.135449735449734*G0_0_1 + 0.27089947089947*G0_0_2 + 0.135449735449736*G0_1_0 + 0.316049382716049*G0_1_1 + 0.135449735449734*G0_1_2 + 0.270899470899473*G0_2_0 + 0.135449735449736*G0_2_1;
+ A[1182] = -0.0225749559082886*G0_0_1 - 0.0677248677248673*G0_0_2 - 0.0225749559082888*G0_1_0 - 0.0451499118165781*G0_1_1 - 0.0451499118165776*G0_1_2 - 0.0677248677248675*G0_2_0 - 0.045149911816578*G0_2_1;
+ A[1183] = -0.0451499118165787*G0_0_0 - 0.0225749559082895*G0_0_2 + 0.0451499118165789*G0_1_1 - 0.045149911816579*G0_1_2 - 0.0225749559082899*G0_2_0 - 0.0451499118165787*G0_2_1;
+ A[1184] = -0.0451499118165782*G0_0_0 - 0.0451499118165786*G0_0_1 - 0.0225749559082894*G0_0_2 - 0.0451499118165787*G0_1_0 - 0.067724867724868*G0_1_2 - 0.0225749559082888*G0_2_0 - 0.0677248677248676*G0_2_1;
+ A[1185] = -0.0451499118165781*G0_0_0 - 0.0225749559082895*G0_0_1 - 0.022574955908289*G0_0_2 - 0.0225749559082889*G0_1_0 - 0.0451499118165778*G0_1_2 - 0.0225749559082891*G0_2_0 - 0.0451499118165785*G0_2_1;
+ A[1186] = -0.135449735449733*G0_0_0 - 0.22574955908289*G0_0_1 - 0.203174603174601*G0_0_2 - 0.225749559082891*G0_1_0 - 0.451499118165784*G0_1_1 - 0.361199294532626*G0_1_2 - 0.0677248677248667*G0_2_0 - 0.0902998236331556*G0_2_1 - 0.135449735449734*G0_2_2;
+ A[1187] = -0.135449735449736*G0_0_0 + 0.0902998236331565*G0_0_1 + 0.0677248677248673*G0_0_2 + 0.0902998236331569*G0_1_0 - 0.135449735449737*G0_1_1 - 0.0677248677248675*G0_1_2 - 0.0677248677248678*G0_2_0 + 0.0677248677248667*G0_2_1;
+ A[1188] = 0.541798941798938*G0_0_0 + 0.270899470899468*G0_0_1 + 0.270899470899469*G0_0_2 + 0.270899470899468*G0_1_0 + 0.632098765432098*G0_1_1 + 0.27089947089947*G0_1_2 + 0.270899470899469*G0_2_0 + 0.27089947089947*G0_2_1 + 0.541798941798942*G0_2_2;
+ A[1189] = 0.270899470899469*G0_0_0 + 0.135449735449736*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449735*G0_1_0 - 0.0902998236331579*G0_1_1 + 0.316049382716048*G0_1_2 + 0.135449735449734*G0_2_0 + 0.316049382716049*G0_2_1;
+ A[1190] = -0.0677248677248676*G0_0_0 - 0.067724867724868*G0_0_1 - 0.067724867724868*G0_0_2 - 0.067724867724868*G0_1_0 - 0.0677248677248679*G0_1_1 - 0.0677248677248681*G0_1_2 - 0.0677248677248677*G0_2_0 - 0.0677248677248677*G0_2_1 - 0.0677248677248678*G0_2_2;
+ A[1191] = -0.0677248677248675*G0_0_0;
+ A[1192] = -0.067724867724868*G0_1_1;
+ A[1193] = -0.0677248677248676*G0_2_2;
+ A[1194] = 0.0902998236331572*G0_1_1;
+ A[1195] = -0.135449735449736*G0_1_1 - 0.112874779541446*G0_1_2 - 0.112874779541447*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1196] = 0.0902998236331568*G0_2_2;
+ A[1197] = 0.0902998236331578*G0_0_0;
+ A[1198] = -0.135449735449737*G0_0_0 - 0.112874779541447*G0_0_2 - 0.112874779541446*G0_2_0 - 0.135449735449735*G0_2_2;
+ A[1199] = 0.0902998236331567*G0_2_2;
+ A[1200] = 0.090299823633157*G0_0_0;
+ A[1201] = -0.135449735449734*G0_0_0 - 0.112874779541445*G0_0_1 - 0.112874779541446*G0_1_0 - 0.135449735449735*G0_1_1;
+ A[1202] = 0.0902998236331571*G0_1_1;
+ A[1203] = 0.0902998236331565*G0_0_0 + 0.090299823633157*G0_0_1 + 0.0902998236331581*G0_0_2 + 0.0902998236331569*G0_1_0 + 0.0902998236331575*G0_1_1 + 0.0902998236331582*G0_1_2 + 0.0902998236331573*G0_2_0 + 0.0902998236331576*G0_2_1 + 0.0902998236331575*G0_2_2;
+ A[1204] = -0.135449735449736*G0_0_0 - 0.135449735449736*G0_0_1 - 0.0225749559082912*G0_0_2 - 0.135449735449735*G0_1_0 - 0.135449735449735*G0_1_1 - 0.0225749559082907*G0_1_2 - 0.0225749559082902*G0_2_0 - 0.02257495590829*G0_2_1 - 0.0451499118165793*G0_2_2;
+ A[1205] = 0.0902998236331568*G0_2_2;
+ A[1206] = 0.0902998236331555*G0_0_0 + 0.0902998236331575*G0_0_1 + 0.0902998236331564*G0_0_2 + 0.0902998236331565*G0_1_0 + 0.0902998236331576*G0_1_1 + 0.0902998236331567*G0_1_2 + 0.0902998236331565*G0_2_0 + 0.0902998236331571*G0_2_1 + 0.0902998236331571*G0_2_2;
+ A[1207] = -0.135449735449735*G0_0_0 - 0.02257495590829*G0_0_1 - 0.135449735449736*G0_0_2 - 0.0225749559082896*G0_1_0 - 0.0451499118165797*G0_1_1 - 0.0225749559082897*G0_1_2 - 0.135449735449736*G0_2_0 - 0.0225749559082897*G0_2_1 - 0.135449735449736*G0_2_2;
+ A[1208] = 0.0902998236331579*G0_1_1;
+ A[1209] = 0.090299823633157*G0_0_0 + 0.0902998236331563*G0_0_1 + 0.090299823633156*G0_0_2 + 0.0902998236331574*G0_1_0 + 0.0902998236331565*G0_1_1 + 0.090299823633156*G0_1_2 + 0.0902998236331568*G0_2_0 + 0.0902998236331565*G0_2_1 + 0.0902998236331565*G0_2_2;
+ A[1210] = -0.0451499118165785*G0_0_0 - 0.0225749559082889*G0_0_1 - 0.0225749559082888*G0_0_2 - 0.0225749559082897*G0_1_0 - 0.135449735449736*G0_1_1 - 0.135449735449736*G0_1_2 - 0.0225749559082892*G0_2_0 - 0.135449735449735*G0_2_1 - 0.135449735449735*G0_2_2;
+ A[1211] = 0.090299823633157*G0_0_0;
+ A[1212] = -0.722398589065256*G0_0_0 - 0.31604938271605*G0_0_1 - 0.31604938271605*G0_0_2 - 0.316049382716048*G0_1_0 - 0.135449735449734*G0_1_2 - 0.31604938271605*G0_2_0 - 0.135449735449736*G0_2_1;
+ A[1213] = -0.316049382716048*G0_0_1 - 0.135449735449735*G0_0_2 - 0.316049382716051*G0_1_0 - 0.722398589065257*G0_1_1 - 0.316049382716051*G0_1_2 - 0.135449735449736*G0_2_0 - 0.31604938271605*G0_2_1;
+ A[1214] = -0.135449735449736*G0_0_1 - 0.316049382716049*G0_0_2 - 0.135449735449736*G0_1_0 - 0.31604938271605*G0_1_2 - 0.31604938271605*G0_2_0 - 0.316049382716049*G0_2_1 - 0.722398589065256*G0_2_2;
+ A[1215] = -0.722398589065256*G0_0_0 - 0.406349206349208*G0_0_1 - 0.406349206349206*G0_0_2 - 0.406349206349207*G0_1_0 - 0.0902998236331581*G0_1_1 - 0.225749559082892*G0_1_2 - 0.406349206349207*G0_2_0 - 0.225749559082893*G0_2_1 - 0.0902998236331577*G0_2_2;
+ A[1216] = 0.31604938271605*G0_0_1 + 0.135449735449735*G0_0_2 + 0.316049382716051*G0_1_0 - 0.0902998236331567*G0_1_1 + 0.135449735449736*G0_1_2 + 0.135449735449736*G0_2_0 + 0.135449735449735*G0_2_1 + 0.270899470899472*G0_2_2;
+ A[1217] = 0.135449735449735*G0_0_1 + 0.316049382716049*G0_0_2 + 0.135449735449736*G0_1_0 + 0.270899470899472*G0_1_1 + 0.135449735449734*G0_1_2 + 0.31604938271605*G0_2_0 + 0.135449735449736*G0_2_1 - 0.0902998236331563*G0_2_2;
+ A[1218] = -0.0902998236331556*G0_0_0 - 0.406349206349205*G0_0_1 - 0.22574955908289*G0_0_2 - 0.406349206349206*G0_1_0 - 0.722398589065256*G0_1_1 - 0.406349206349205*G0_1_2 - 0.225749559082891*G0_2_0 - 0.406349206349206*G0_2_1 - 0.0902998236331561*G0_2_2;
+ A[1219] = -0.0902998236331587*G0_0_0 + 0.316049382716049*G0_0_1 + 0.135449735449734*G0_0_2 + 0.316049382716048*G0_1_0 + 0.135449735449734*G0_1_2 + 0.135449735449734*G0_2_0 + 0.135449735449735*G0_2_1 + 0.270899470899469*G0_2_2;
+ A[1220] = 0.270899470899472*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449735*G0_0_2 + 0.135449735449735*G0_1_0 + 0.316049382716049*G0_1_2 + 0.135449735449736*G0_2_0 + 0.316049382716049*G0_2_1 - 0.0902998236331561*G0_2_2;
+ A[1221] = -0.0902998236331545*G0_0_0 - 0.225749559082891*G0_0_1 - 0.406349206349205*G0_0_2 - 0.225749559082892*G0_1_0 - 0.0902998236331561*G0_1_1 - 0.406349206349206*G0_1_2 - 0.406349206349205*G0_2_0 - 0.406349206349206*G0_2_1 - 0.722398589065255*G0_2_2;
+ A[1222] = -0.0902998236331581*G0_0_0 + 0.135449735449734*G0_0_1 + 0.316049382716048*G0_0_2 + 0.135449735449735*G0_1_0 + 0.270899470899471*G0_1_1 + 0.135449735449734*G0_1_2 + 0.316049382716049*G0_2_0 + 0.135449735449735*G0_2_1;
+ A[1223] = 0.270899470899469*G0_0_0 + 0.135449735449735*G0_0_1 + 0.135449735449734*G0_0_2 + 0.135449735449736*G0_1_0 - 0.0902998236331579*G0_1_1 + 0.316049382716049*G0_1_2 + 0.135449735449734*G0_2_0 + 0.316049382716049*G0_2_1;
+ A[1224] = 1.44479717813051*G0_0_0 + 0.722398589065256*G0_0_1 + 0.722398589065257*G0_0_2 + 0.722398589065256*G0_1_0 + 1.44479717813051*G0_1_1 + 0.722398589065256*G0_1_2 + 0.722398589065257*G0_2_0 + 0.722398589065256*G0_2_1 + 1.44479717813051*G0_2_2;
}
@@ -3819,6 +4501,21 @@ void poisson3d_4_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 8
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 35
// Number of operations (multiply-add pairs) for tensor contraction: 1207
@@ -3874,41 +4571,41 @@ void poisson3d_4_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double G0_34 = det*w[0][34]*(1.0);
// Compute element tensor
- A[0] = 0.000200416867083531*G0_0 + 1.63005718561269e-05*G0_1 + 1.63005718561267e-05*G0_2 + 1.63005718561269e-05*G0_3 - 0.000121853455186786*G0_4 + 8.39078616856377e-05*G0_5 - 0.000121853455186786*G0_6 - 0.000121853455186786*G0_7 + 8.39078616856375e-05*G0_8 - 0.000121853455186786*G0_9 - 0.000121853455186786*G0_10 + 8.39078616856375e-05*G0_11 - 0.000121853455186786*G0_12 - 0.000149644594089037*G0_13 + 0.000112233445566778*G0_14 - 6.84089572978446e-05*G0_15 - 0.000149644594089036*G0_16 [...]
- A[1] = 1.63005718561269e-05*G0_0 + 0.000200416867083532*G0_1 + 1.63005718561273e-05*G0_2 + 1.63005718561274e-05*G0_3 - 0.000121853455186787*G0_4 + 8.39078616856391e-05*G0_5 - 0.000121853455186788*G0_6 - 0.000149644594089038*G0_7 + 0.000112233445566779*G0_8 - 6.84089572978459e-05*G0_9 - 0.000149644594089038*G0_10 + 0.000112233445566778*G0_11 - 6.84089572978455e-05*G0_12 - 0.000121853455186787*G0_13 + 8.39078616856392e-05*G0_14 - 0.000121853455186787*G0_15 - 0.000121853455186787*G0_16 [...]
- A[2] = 1.63005718561267e-05*G0_0 + 1.63005718561273e-05*G0_1 + 0.000200416867083532*G0_2 + 1.6300571856127e-05*G0_3 - 0.000149644594089038*G0_4 + 0.000112233445566778*G0_5 - 6.8408957297846e-05*G0_6 - 0.000121853455186787*G0_7 + 8.39078616856387e-05*G0_8 - 0.000121853455186787*G0_9 - 6.84089572978451e-05*G0_10 + 0.000112233445566778*G0_11 - 0.000149644594089037*G0_12 - 0.000121853455186787*G0_13 + 8.39078616856392e-05*G0_14 - 0.000121853455186787*G0_15 - 6.84089572978449e-05*G0_16 + [...]
- A[3] = 1.63005718561269e-05*G0_0 + 1.63005718561274e-05*G0_1 + 1.6300571856127e-05*G0_2 + 0.000200416867083532*G0_3 - 6.84089572978454e-05*G0_4 + 0.000112233445566778*G0_5 - 0.000149644594089037*G0_6 - 6.84089572978454e-05*G0_7 + 0.000112233445566778*G0_8 - 0.000149644594089037*G0_9 - 0.000121853455186787*G0_10 + 8.39078616856386e-05*G0_11 - 0.000121853455186787*G0_12 - 6.84089572978451e-05*G0_13 + 0.000112233445566778*G0_14 - 0.000149644594089037*G0_15 - 0.000121853455186787*G0_16 + [...]
- A[4] = -0.000121853455186786*G0_0 - 0.000121853455186787*G0_1 - 0.000149644594089038*G0_2 - 6.84089572978454e-05*G0_3 + 0.00171022393244614*G0_4 - 0.00125701459034792*G0_5 + 0.000684089572978457*G0_6 + 0.000273635829191383*G0_7 - 0.000153920153920154*G0_8 + 0.00035914702581369*G0_9 + 0.000359147025813689*G0_10 - 0.000654160654160647*G0_11 + 0.000855111966223068*G0_12 + 0.000273635829191381*G0_13 - 0.000153920153920154*G0_14 + 0.00035914702581369*G0_15 + 0.000359147025813688*G0_16 - 0 [...]
- A[5] = 8.39078616856377e-05*G0_0 + 8.39078616856391e-05*G0_1 + 0.000112233445566778*G0_2 + 0.000112233445566778*G0_3 - 0.00125701459034792*G0_4 + 0.00238576238576237*G0_5 - 0.00125701459034792*G0_6 - 0.000153920153920154*G0_7 + 0.000256533589866924*G0_8 - 0.000654160654160651*G0_9 - 0.000153920153920153*G0_10 + 0.00025653358986692*G0_11 - 0.000654160654160647*G0_12 - 0.000153920153920152*G0_13 + 0.000256533589866923*G0_14 - 0.000654160654160651*G0_15 - 0.000153920153920152*G0_16 + 0. [...]
- A[6] = -0.000121853455186786*G0_0 - 0.000121853455186788*G0_1 - 6.8408957297846e-05*G0_2 - 0.000149644594089037*G0_3 + 0.000684089572978457*G0_4 - 0.00125701459034792*G0_5 + 0.00171022393244615*G0_6 + 0.000359147025813691*G0_7 - 0.000654160654160652*G0_8 + 0.000855111966223073*G0_9 + 0.000273635829191383*G0_10 - 0.000153920153920153*G0_11 + 0.000359147025813689*G0_12 + 0.000359147025813689*G0_13 - 0.000654160654160652*G0_14 + 0.000855111966223072*G0_15 + 0.000273635829191382*G0_16 - [...]
- A[7] = -0.000121853455186786*G0_0 - 0.000149644594089039*G0_1 - 0.000121853455186787*G0_2 - 6.84089572978454e-05*G0_3 + 0.000273635829191383*G0_4 - 0.000153920153920154*G0_5 + 0.000359147025813691*G0_6 + 0.00171022393244614*G0_7 - 0.00125701459034791*G0_8 + 0.000684089572978456*G0_9 + 0.000855111966223069*G0_10 - 0.000654160654160647*G0_11 + 0.000359147025813688*G0_12 + 0.000273635829191381*G0_13 - 0.000153920153920154*G0_14 + 0.000359147025813689*G0_15 + 0.00013681791459569*G0_16 - [...]
- A[8] = 8.39078616856375e-05*G0_0 + 0.000112233445566779*G0_1 + 8.39078616856386e-05*G0_2 + 0.000112233445566778*G0_3 - 0.000153920153920154*G0_4 + 0.000256533589866924*G0_5 - 0.000654160654160652*G0_6 - 0.00125701459034791*G0_7 + 0.00238576238576237*G0_8 - 0.00125701459034791*G0_9 - 0.000654160654160649*G0_10 + 0.00025653358986692*G0_11 - 0.000153920153920152*G0_12 - 0.000153920153920152*G0_13 + 0.000256533589866923*G0_14 - 0.00065416065416065*G0_15 - 9.83378761156534e-05*G0_16 + 1.9 [...]
- A[9] = -0.000121853455186786*G0_0 - 6.84089572978459e-05*G0_1 - 0.000121853455186787*G0_2 - 0.000149644594089037*G0_3 + 0.00035914702581369*G0_4 - 0.000654160654160651*G0_5 + 0.000855111966223073*G0_6 + 0.000684089572978456*G0_7 - 0.00125701459034791*G0_8 + 0.00171022393244614*G0_9 + 0.000359147025813689*G0_10 - 0.000153920153920152*G0_11 + 0.000273635829191382*G0_12 + 0.000359147025813689*G0_13 - 0.000654160654160651*G0_14 + 0.000855111966223071*G0_15 + 0.00013681791459569*G0_16 - 9 [...]
- A[10] = -0.000121853455186786*G0_0 - 0.000149644594089038*G0_1 - 6.84089572978451e-05*G0_2 - 0.000121853455186787*G0_3 + 0.000359147025813689*G0_4 - 0.000153920153920153*G0_5 + 0.000273635829191383*G0_6 + 0.000855111966223069*G0_7 - 0.000654160654160649*G0_8 + 0.000359147025813689*G0_9 + 0.00171022393244614*G0_10 - 0.00125701459034791*G0_11 + 0.000684089572978455*G0_12 + 0.00013681791459569*G0_13 - 9.83378761156541e-05*G0_14 + 0.000136817914595691*G0_15 + 0.000273635829191381*G0_16 - [...]
- A[11] = 8.39078616856374e-05*G0_0 + 0.000112233445566778*G0_1 + 0.000112233445566778*G0_2 + 8.39078616856386e-05*G0_3 - 0.000654160654160647*G0_4 + 0.00025653358986692*G0_5 - 0.000153920153920153*G0_6 - 0.000654160654160647*G0_7 + 0.00025653358986692*G0_8 - 0.000153920153920152*G0_9 - 0.00125701459034791*G0_10 + 0.00238576238576236*G0_11 - 0.00125701459034791*G0_12 - 9.83378761156519e-05*G0_13 + 1.92400192400193e-05*G0_14 - 9.83378761156523e-05*G0_15 - 0.000153920153920151*G0_16 + 0. [...]
- A[12] = -0.000121853455186786*G0_0 - 6.84089572978455e-05*G0_1 - 0.000149644594089037*G0_2 - 0.000121853455186787*G0_3 + 0.000855111966223068*G0_4 - 0.000654160654160647*G0_5 + 0.000359147025813689*G0_6 + 0.000359147025813688*G0_7 - 0.000153920153920152*G0_8 + 0.000273635829191382*G0_9 + 0.000684089572978455*G0_10 - 0.00125701459034791*G0_11 + 0.00171022393244614*G0_12 + 0.00013681791459569*G0_13 - 9.83378761156538e-05*G0_14 + 0.000136817914595691*G0_15 + 0.000359147025813687*G0_16 - [...]
- A[13] = -0.000149644594089037*G0_0 - 0.000121853455186787*G0_1 - 0.000121853455186787*G0_2 - 6.84089572978451e-05*G0_3 + 0.000273635829191381*G0_4 - 0.000153920153920152*G0_5 + 0.000359147025813689*G0_6 + 0.000273635829191381*G0_7 - 0.000153920153920152*G0_8 + 0.000359147025813689*G0_9 + 0.00013681791459569*G0_10 - 9.83378761156519e-05*G0_11 + 0.00013681791459569*G0_12 + 0.00171022393244614*G0_13 - 0.00125701459034791*G0_14 + 0.000684089572978454*G0_15 + 0.000855111966223067*G0_16 - [...]
- A[14] = 0.000112233445566778*G0_0 + 8.39078616856392e-05*G0_1 + 8.39078616856392e-05*G0_2 + 0.000112233445566778*G0_3 - 0.000153920153920154*G0_4 + 0.000256533589866923*G0_5 - 0.000654160654160652*G0_6 - 0.000153920153920154*G0_7 + 0.000256533589866924*G0_8 - 0.000654160654160651*G0_9 - 9.83378761156541e-05*G0_10 + 1.92400192400193e-05*G0_11 - 9.83378761156538e-05*G0_12 - 0.00125701459034791*G0_13 + 0.00238576238576237*G0_14 - 0.00125701459034792*G0_15 - 0.000654160654160649*G0_16 + [...]
- A[15] = -6.84089572978446e-05*G0_0 - 0.000121853455186787*G0_1 - 0.000121853455186787*G0_2 - 0.000149644594089037*G0_3 + 0.00035914702581369*G0_4 - 0.000654160654160651*G0_5 + 0.000855111966223072*G0_6 + 0.000359147025813689*G0_7 - 0.00065416065416065*G0_8 + 0.000855111966223071*G0_9 + 0.000136817914595691*G0_10 - 9.83378761156523e-05*G0_11 + 0.000136817914595691*G0_12 + 0.000684089572978454*G0_13 - 0.00125701459034792*G0_14 + 0.00171022393244614*G0_15 + 0.000359147025813688*G0_16 - [...]
- A[16] = -0.000149644594089036*G0_0 - 0.000121853455186787*G0_1 - 6.84089572978449e-05*G0_2 - 0.000121853455186787*G0_3 + 0.000359147025813688*G0_4 - 0.000153920153920152*G0_5 + 0.000273635829191382*G0_6 + 0.00013681791459569*G0_7 - 9.83378761156534e-05*G0_8 + 0.00013681791459569*G0_9 + 0.000273635829191381*G0_10 - 0.000153920153920151*G0_11 + 0.000359147025813687*G0_12 + 0.000855111966223067*G0_13 - 0.000654160654160649*G0_14 + 0.000359147025813688*G0_15 + 0.00171022393244614*G0_16 - [...]
- A[17] = 0.000112233445566777*G0_0 + 8.39078616856387e-05*G0_1 + 0.000112233445566778*G0_2 + 8.39078616856388e-05*G0_3 - 0.000654160654160647*G0_4 + 0.00025653358986692*G0_5 - 0.000153920153920152*G0_6 - 9.83378761156526e-05*G0_7 + 1.92400192400198e-05*G0_8 - 9.83378761156529e-05*G0_9 - 0.000153920153920152*G0_10 + 0.00025653358986692*G0_11 - 0.000654160654160647*G0_12 - 0.000654160654160646*G0_13 + 0.000256533589866921*G0_14 - 0.000153920153920152*G0_15 - 0.00125701459034791*G0_16 + [...]
- A[18] = -6.84089572978443e-05*G0_0 - 0.000121853455186788*G0_1 - 0.000149644594089037*G0_2 - 0.000121853455186787*G0_3 + 0.000855111966223069*G0_4 - 0.000654160654160648*G0_5 + 0.00035914702581369*G0_6 + 0.000136817914595692*G0_7 - 9.83378761156542e-05*G0_8 + 0.000136817914595692*G0_9 + 0.000359147025813689*G0_10 - 0.000654160654160647*G0_11 + 0.00085511196622307*G0_12 + 0.000359147025813688*G0_13 - 0.000153920153920153*G0_14 + 0.000273635829191382*G0_15 + 0.000684089572978454*G0_16 [...]
- A[19] = -0.000149644594089036*G0_0 - 6.84089572978454e-05*G0_1 - 0.000121853455186787*G0_2 - 0.000121853455186787*G0_3 + 0.000136817914595691*G0_4 - 9.83378761156526e-05*G0_5 + 0.000136817914595691*G0_6 + 0.000359147025813688*G0_7 - 0.000153920153920152*G0_8 + 0.000273635829191382*G0_9 + 0.000359147025813689*G0_10 - 0.000153920153920152*G0_11 + 0.000273635829191382*G0_12 + 0.000855111966223068*G0_13 - 0.000654160654160649*G0_14 + 0.000359147025813688*G0_15 + 0.000855111966223068*G0_1 [...]
- A[20] = 0.000112233445566777*G0_0 + 0.000112233445566778*G0_1 + 8.39078616856385e-05*G0_2 + 8.39078616856386e-05*G0_3 - 9.83378761156528e-05*G0_4 + 1.92400192400187e-05*G0_5 - 9.83378761156531e-05*G0_6 - 0.000654160654160647*G0_7 + 0.00025653358986692*G0_8 - 0.000153920153920152*G0_9 - 0.000654160654160648*G0_10 + 0.00025653358986692*G0_11 - 0.000153920153920152*G0_12 - 0.000654160654160647*G0_13 + 0.000256533589866921*G0_14 - 0.000153920153920152*G0_15 - 0.000654160654160647*G0_16 + [...]
- A[21] = -6.84089572978439e-05*G0_0 - 0.000149644594089037*G0_1 - 0.000121853455186787*G0_2 - 0.000121853455186787*G0_3 + 0.000136817914595691*G0_4 - 9.83378761156532e-05*G0_5 + 0.000136817914595691*G0_6 + 0.000855111966223068*G0_7 - 0.000654160654160647*G0_8 + 0.000359147025813688*G0_9 + 0.00085511196622307*G0_10 - 0.000654160654160647*G0_11 + 0.000359147025813689*G0_12 + 0.000359147025813687*G0_13 - 0.000153920153920154*G0_14 + 0.000273635829191381*G0_15 + 0.000359147025813688*G0_16 [...]
- A[22] = -0.000215915771471324*G0_0 + 0.000288600288600287*G0_1 - 0.000185986852653516*G0_2 - 0.000185986852653517*G0_3 - 3.42044786489224e-05*G0_4 - 0.000179573512906841*G0_5 - 3.42044786489226e-05*G0_6 + 0.000102613435946763*G0_7 - 7.69600769600718e-05*G0_8 + 0.000513067179733842*G0_9 + 0.000102613435946767*G0_10 - 7.69600769600787e-05*G0_11 + 0.000513067179733844*G0_12 + 8.55111966223085e-05*G0_13 + 0.000269360269360267*G0_14 - 1.71022393244611e-05*G0_15 + 8.55111966223053e-05*G0_1 [...]
- A[23] = -0.000215915771471325*G0_0 - 0.000185986852653519*G0_1 + 0.000288600288600287*G0_2 - 0.000185986852653519*G0_3 + 0.000102613435946765*G0_4 - 7.69600769600784e-05*G0_5 + 0.000513067179733843*G0_6 - 3.42044786489219e-05*G0_7 - 0.000179573512906849*G0_8 - 3.4204478648922e-05*G0_9 + 0.000513067179733844*G0_10 - 7.69600769600774e-05*G0_11 + 0.000102613435946764*G0_12 + 8.55111966223061e-05*G0_13 + 0.000269360269360266*G0_14 - 1.71022393244612e-05*G0_15 + 0.000974827641494302*G0_16 [...]
- A[24] = -0.000215915771471325*G0_0 - 0.000185986852653518*G0_1 - 0.000185986852653519*G0_2 + 0.000288600288600286*G0_3 + 0.000513067179733844*G0_4 - 7.69600769600776e-05*G0_5 + 0.000102613435946769*G0_6 + 0.000513067179733843*G0_7 - 7.69600769600753e-05*G0_8 + 0.000102613435946768*G0_9 - 3.42044786489214e-05*G0_10 - 0.000179573512906843*G0_11 - 3.4204478648922e-05*G0_12 + 0.0009748276414943*G0_13 - 0.00101330767997434*G0_14 + 5.13067179733828e-05*G0_15 + 8.55111966223077e-05*G0_16 + [...]
- A[25] = 0.000288600288600288*G0_0 - 0.000215915771471325*G0_1 - 0.000185986852653517*G0_2 - 0.000185986852653517*G0_3 - 3.42044786489229e-05*G0_4 - 0.000179573512906844*G0_5 - 3.42044786489242e-05*G0_6 + 8.55111966223079e-05*G0_7 + 0.000269360269360266*G0_8 - 1.71022393244625e-05*G0_9 + 8.55111966223064e-05*G0_10 + 0.000269360269360269*G0_11 - 1.71022393244621e-05*G0_12 + 0.000102613435946763*G0_13 - 7.69600769600759e-05*G0_14 + 0.000513067179733839*G0_15 + 0.000102613435946766*G0_16 [...]
- A[26] = -0.000185986852653517*G0_0 - 0.000215915771471326*G0_1 + 0.000288600288600288*G0_2 - 0.000185986852653518*G0_3 + 0.000102613435946764*G0_4 - 7.69600769600759e-05*G0_5 + 0.000513067179733842*G0_6 + 8.55111966223064e-05*G0_7 + 0.000269360269360266*G0_8 - 1.71022393244619e-05*G0_9 + 0.000974827641494302*G0_10 - 0.00101330767997434*G0_11 + 5.13067179733813e-05*G0_12 - 3.42044786489249e-05*G0_13 - 0.000179573512906845*G0_14 - 3.42044786489246e-05*G0_15 + 0.000513067179733842*G0_16 [...]
- A[27] = -0.000185986852653517*G0_0 - 0.000215915771471326*G0_1 - 0.00018598685265352*G0_2 + 0.000288600288600286*G0_3 + 0.000513067179733846*G0_4 - 7.69600769600787e-05*G0_5 + 0.00010261343594677*G0_6 + 0.000974827641494304*G0_7 - 0.00101330767997434*G0_8 + 5.13067179733844e-05*G0_9 + 8.55111966223101e-05*G0_10 + 0.000269360269360266*G0_11 - 1.71022393244593e-05*G0_12 + 0.000513067179733843*G0_13 - 7.69600769600793e-05*G0_14 + 0.000102613435946769*G0_15 - 3.42044786489209e-05*G0_16 - [...]
- A[28] = 0.000288600288600288*G0_0 - 0.000185986852653518*G0_1 - 0.000215915771471325*G0_2 - 0.000185986852653518*G0_3 + 8.55111966223068e-05*G0_4 + 0.000269360269360267*G0_5 - 1.71022393244619e-05*G0_6 - 3.42044786489217e-05*G0_7 - 0.000179573512906848*G0_8 - 3.42044786489238e-05*G0_9 - 1.71022393244619e-05*G0_10 + 0.00026936026936027*G0_11 + 8.55111966223062e-05*G0_12 + 0.000102613435946764*G0_13 - 7.69600769600768e-05*G0_14 + 0.00051306717973384*G0_15 + 5.13067179733815e-05*G0_16 - [...]
- A[29] = -0.000185986852653516*G0_0 + 0.000288600288600287*G0_1 - 0.000215915771471324*G0_2 - 0.000185986852653517*G0_3 + 8.55111966223076e-05*G0_4 + 0.00026936026936027*G0_5 - 1.71022393244597e-05*G0_6 + 0.000102613435946764*G0_7 - 7.6960076960073e-05*G0_8 + 0.000513067179733843*G0_9 + 5.13067179733835e-05*G0_10 - 0.00101330767997434*G0_11 + 0.0009748276414943*G0_12 - 3.42044786489209e-05*G0_13 - 0.000179573512906847*G0_14 - 3.42044786489213e-05*G0_15 - 1.71022393244623e-05*G0_16 + 0 [...]
- A[30] = -0.000185986852653516*G0_0 - 0.000185986852653518*G0_1 - 0.000215915771471327*G0_2 + 0.000288600288600286*G0_3 + 0.000974827641494302*G0_4 - 0.00101330767997434*G0_5 + 5.13067179733834e-05*G0_6 + 0.000513067179733844*G0_7 - 7.69600769600762e-05*G0_8 + 0.000102613435946767*G0_9 - 1.71022393244597e-05*G0_10 + 0.000269360269360266*G0_11 + 8.55111966223077e-05*G0_12 + 0.000513067179733841*G0_13 - 7.69600769600782e-05*G0_14 + 0.000102613435946767*G0_15 - 1.71022393244617e-05*G0_16 [...]
- A[31] = 0.000288600288600287*G0_0 - 0.000185986852653518*G0_1 - 0.000185986852653518*G0_2 - 0.000215915771471325*G0_3 - 1.71022393244597e-05*G0_4 + 0.000269360269360266*G0_5 + 8.55111966223076e-05*G0_6 - 1.71022393244589e-05*G0_7 + 0.000269360269360265*G0_8 + 8.55111966223075e-05*G0_9 - 3.42044786489218e-05*G0_10 - 0.000179573512906844*G0_11 - 3.42044786489218e-05*G0_12 + 5.13067179733816e-05*G0_13 - 0.00101330767997434*G0_14 + 0.000974827641494298*G0_15 + 0.000102613435946768*G0_16 [...]
- A[32] = -0.000185986852653516*G0_0 + 0.000288600288600287*G0_1 - 0.000185986852653517*G0_2 - 0.000215915771471324*G0_3 - 1.71022393244614e-05*G0_4 + 0.000269360269360269*G0_5 + 8.5511196622308e-05*G0_6 + 5.13067179733801e-05*G0_7 - 0.00101330767997434*G0_8 + 0.0009748276414943*G0_9 + 0.000102613435946769*G0_10 - 7.69600769600766e-05*G0_11 + 0.000513067179733843*G0_12 - 1.71022393244606e-05*G0_13 + 0.000269360269360266*G0_14 + 8.55111966223073e-05*G0_15 - 3.42044786489237e-05*G0_16 - [...]
- A[33] = -0.000185986852653517*G0_0 - 0.000185986852653518*G0_1 + 0.000288600288600287*G0_2 - 0.000215915771471326*G0_3 + 5.13067179733812e-05*G0_4 - 0.00101330767997434*G0_5 + 0.0009748276414943*G0_6 - 1.71022393244605e-05*G0_7 + 0.000269360269360265*G0_8 + 8.55111966223079e-05*G0_9 + 0.000513067179733843*G0_10 - 7.69600769600763e-05*G0_11 + 0.000102613435946767*G0_12 - 1.7102239324463e-05*G0_13 + 0.000269360269360266*G0_14 + 8.55111966223066e-05*G0_15 + 0.000513067179733842*G0_16 - [...]
- A[34] = -0.000538720538720525*G0_0 - 0.000538720538720536*G0_1 - 0.000538720538720533*G0_2 - 0.000538720538720535*G0_3 + 0.00109454331676553*G0_4 - 0.00102613435946768*G0_5 + 0.00109454331676553*G0_6 + 0.00109454331676553*G0_7 - 0.00102613435946769*G0_8 + 0.00109454331676553*G0_9 + 0.00109454331676554*G0_10 - 0.00102613435946768*G0_11 + 0.00109454331676553*G0_12 + 0.00109454331676552*G0_13 - 0.0010261343594677*G0_14 + 0.00109454331676552*G0_15 + 0.00109454331676553*G0_16 - 0.00102613 [...]
+ A[0] = 0.000200416867083533*G0_0 + 1.6300571856127e-05*G0_1 + 1.63005718561271e-05*G0_2 + 1.63005718561272e-05*G0_3 - 0.000121853455186787*G0_4 + 8.39078616856387e-05*G0_5 - 0.000121853455186787*G0_6 - 0.000121853455186787*G0_7 + 8.39078616856388e-05*G0_8 - 0.000121853455186788*G0_9 - 0.000121853455186787*G0_10 + 8.39078616856389e-05*G0_11 - 0.000121853455186787*G0_12 - 0.000149644594089038*G0_13 + 0.000112233445566778*G0_14 - 6.84089572978455e-05*G0_15 - 0.000149644594089037*G0_16 + [...]
+ A[1] = 1.6300571856127e-05*G0_0 + 0.000200416867083533*G0_1 + 1.63005718561276e-05*G0_2 + 1.63005718561274e-05*G0_3 - 0.000121853455186788*G0_4 + 8.39078616856392e-05*G0_5 - 0.000121853455186788*G0_6 - 0.000149644594089039*G0_7 + 0.00011223344556678*G0_8 - 6.84089572978467e-05*G0_9 - 0.000149644594089039*G0_10 + 0.000112233445566779*G0_11 - 6.84089572978462e-05*G0_12 - 0.000121853455186788*G0_13 + 8.39078616856389e-05*G0_14 - 0.000121853455186788*G0_15 - 0.000121853455186788*G0_16 + [...]
+ A[2] = 1.63005718561271e-05*G0_0 + 1.63005718561276e-05*G0_1 + 0.000200416867083534*G0_2 + 1.63005718561275e-05*G0_3 - 0.000149644594089039*G0_4 + 0.00011223344556678*G0_5 - 6.84089572978469e-05*G0_6 - 0.000121853455186788*G0_7 + 8.39078616856396e-05*G0_8 - 0.000121853455186789*G0_9 - 6.8408957297846e-05*G0_10 + 0.000112233445566779*G0_11 - 0.000149644594089039*G0_12 - 0.000121853455186788*G0_13 + 8.39078616856393e-05*G0_14 - 0.000121853455186789*G0_15 - 6.8408957297846e-05*G0_16 + 0 [...]
+ A[3] = 1.63005718561272e-05*G0_0 + 1.63005718561274e-05*G0_1 + 1.63005718561275e-05*G0_2 + 0.000200416867083534*G0_3 - 6.8408957297846e-05*G0_4 + 0.000112233445566779*G0_5 - 0.000149644594089038*G0_6 - 6.84089572978459e-05*G0_7 + 0.000112233445566779*G0_8 - 0.000149644594089039*G0_9 - 0.000121853455186788*G0_10 + 8.39078616856396e-05*G0_11 - 0.000121853455186788*G0_12 - 6.84089572978462e-05*G0_13 + 0.000112233445566779*G0_14 - 0.000149644594089038*G0_15 - 0.000121853455186788*G0_16 + [...]
+ A[4] = -0.000121853455186787*G0_0 - 0.000121853455186788*G0_1 - 0.000149644594089039*G0_2 - 6.8408957297846e-05*G0_3 + 0.00171022393244615*G0_4 - 0.00125701459034792*G0_5 + 0.000684089572978461*G0_6 + 0.000273635829191384*G0_7 - 0.000153920153920155*G0_8 + 0.000359147025813694*G0_9 + 0.000359147025813691*G0_10 - 0.000654160654160652*G0_11 + 0.000855111966223074*G0_12 + 0.000273635829191385*G0_13 - 0.000153920153920153*G0_14 + 0.000359147025813693*G0_15 + 0.00035914702581369*G0_16 - 0 [...]
+ A[5] = 8.39078616856387e-05*G0_0 + 8.39078616856392e-05*G0_1 + 0.00011223344556678*G0_2 + 0.000112233445566779*G0_3 - 0.00125701459034792*G0_4 + 0.00238576238576238*G0_5 - 0.00125701459034792*G0_6 - 0.000153920153920155*G0_7 + 0.000256533589866926*G0_8 - 0.000654160654160657*G0_9 - 0.000153920153920154*G0_10 + 0.000256533589866923*G0_11 - 0.000654160654160652*G0_12 - 0.000153920153920155*G0_13 + 0.000256533589866924*G0_14 - 0.000654160654160656*G0_15 - 0.000153920153920153*G0_16 + 0. [...]
+ A[6] = -0.000121853455186787*G0_0 - 0.000121853455186788*G0_1 - 6.84089572978469e-05*G0_2 - 0.000149644594089038*G0_3 + 0.000684089572978461*G0_4 - 0.00125701459034792*G0_5 + 0.00171022393244616*G0_6 + 0.000359147025813693*G0_7 - 0.000654160654160657*G0_8 + 0.00085511196622308*G0_9 + 0.000273635829191384*G0_10 - 0.000153920153920154*G0_11 + 0.000359147025813691*G0_12 + 0.000359147025813692*G0_13 - 0.000654160654160655*G0_14 + 0.000855111966223078*G0_15 + 0.000273635829191383*G0_16 - [...]
+ A[7] = -0.000121853455186787*G0_0 - 0.000149644594089039*G0_1 - 0.000121853455186788*G0_2 - 6.84089572978459e-05*G0_3 + 0.000273635829191384*G0_4 - 0.000153920153920155*G0_5 + 0.000359147025813693*G0_6 + 0.00171022393244615*G0_7 - 0.00125701459034792*G0_8 + 0.000684089572978461*G0_9 + 0.000855111966223074*G0_10 - 0.000654160654160652*G0_11 + 0.00035914702581369*G0_12 + 0.000273635829191384*G0_13 - 0.000153920153920153*G0_14 + 0.000359147025813692*G0_15 + 0.000136817914595691*G0_16 - [...]
+ A[8] = 8.39078616856388e-05*G0_0 + 0.00011223344556678*G0_1 + 8.39078616856396e-05*G0_2 + 0.000112233445566779*G0_3 - 0.000153920153920155*G0_4 + 0.000256533589866926*G0_5 - 0.000654160654160657*G0_6 - 0.00125701459034792*G0_7 + 0.00238576238576238*G0_8 - 0.00125701459034792*G0_9 - 0.000654160654160652*G0_10 + 0.000256533589866923*G0_11 - 0.000153920153920154*G0_12 - 0.000153920153920155*G0_13 + 0.000256533589866925*G0_14 - 0.000654160654160656*G0_15 - 9.83378761156545e-05*G0_16 + 1. [...]
+ A[9] = -0.000121853455186788*G0_0 - 6.84089572978467e-05*G0_1 - 0.000121853455186789*G0_2 - 0.000149644594089039*G0_3 + 0.000359147025813693*G0_4 - 0.000654160654160657*G0_5 + 0.00085511196622308*G0_6 + 0.000684089572978461*G0_7 - 0.00125701459034792*G0_8 + 0.00171022393244616*G0_9 + 0.000359147025813692*G0_10 - 0.000153920153920155*G0_11 + 0.000273635829191384*G0_12 + 0.000359147025813693*G0_13 - 0.000654160654160655*G0_14 + 0.000855111966223079*G0_15 + 0.000136817914595692*G0_16 - [...]
+ A[10] = -0.000121853455186787*G0_0 - 0.000149644594089039*G0_1 - 6.8408957297846e-05*G0_2 - 0.000121853455186788*G0_3 + 0.000359147025813691*G0_4 - 0.000153920153920154*G0_5 + 0.000273635829191384*G0_6 + 0.000855111966223074*G0_7 - 0.000654160654160652*G0_8 + 0.000359147025813692*G0_9 + 0.00171022393244615*G0_10 - 0.00125701459034792*G0_11 + 0.000684089572978458*G0_12 + 0.000136817914595691*G0_13 - 9.8337876115653e-05*G0_14 + 0.000136817914595692*G0_15 + 0.000273635829191383*G0_16 - [...]
+ A[11] = 8.39078616856389e-05*G0_0 + 0.000112233445566779*G0_1 + 0.000112233445566779*G0_2 + 8.39078616856395e-05*G0_3 - 0.000654160654160652*G0_4 + 0.000256533589866923*G0_5 - 0.000153920153920154*G0_6 - 0.000654160654160652*G0_7 + 0.000256533589866923*G0_8 - 0.000153920153920155*G0_9 - 0.00125701459034792*G0_10 + 0.00238576238576238*G0_11 - 0.00125701459034792*G0_12 - 9.83378761156539e-05*G0_13 + 1.92400192400192e-05*G0_14 - 9.83378761156541e-05*G0_15 - 0.000153920153920153*G0_16 + [...]
+ A[12] = -0.000121853455186787*G0_0 - 6.84089572978462e-05*G0_1 - 0.000149644594089039*G0_2 - 0.000121853455186788*G0_3 + 0.000855111966223074*G0_4 - 0.000654160654160652*G0_5 + 0.000359147025813691*G0_6 + 0.00035914702581369*G0_7 - 0.000153920153920154*G0_8 + 0.000273635829191384*G0_9 + 0.000684089572978458*G0_10 - 0.00125701459034792*G0_11 + 0.00171022393244615*G0_12 + 0.000136817914595692*G0_13 - 9.83378761156531e-05*G0_14 + 0.000136817914595692*G0_15 + 0.00035914702581369*G0_16 - [...]
+ A[13] = -0.000149644594089038*G0_0 - 0.000121853455186788*G0_1 - 0.000121853455186788*G0_2 - 6.84089572978462e-05*G0_3 + 0.000273635829191384*G0_4 - 0.000153920153920155*G0_5 + 0.000359147025813692*G0_6 + 0.000273635829191384*G0_7 - 0.000153920153920155*G0_8 + 0.000359147025813693*G0_9 + 0.000136817914595691*G0_10 - 9.83378761156539e-05*G0_11 + 0.000136817914595692*G0_12 + 0.00171022393244615*G0_13 - 0.00125701459034792*G0_14 + 0.00068408957297846*G0_15 + 0.000855111966223073*G0_16 - [...]
+ A[14] = 0.000112233445566778*G0_0 + 8.3907861685639e-05*G0_1 + 8.39078616856393e-05*G0_2 + 0.000112233445566779*G0_3 - 0.000153920153920153*G0_4 + 0.000256533589866924*G0_5 - 0.000654160654160655*G0_6 - 0.000153920153920153*G0_7 + 0.000256533589866925*G0_8 - 0.000654160654160655*G0_9 - 9.8337876115653e-05*G0_10 + 1.92400192400192e-05*G0_11 - 9.83378761156531e-05*G0_12 - 0.00125701459034792*G0_13 + 0.00238576238576238*G0_14 - 0.00125701459034792*G0_15 - 0.000654160654160651*G0_16 + 0. [...]
+ A[15] = -6.84089572978455e-05*G0_0 - 0.000121853455186788*G0_1 - 0.000121853455186789*G0_2 - 0.000149644594089038*G0_3 + 0.000359147025813693*G0_4 - 0.000654160654160655*G0_5 + 0.000855111966223078*G0_6 + 0.000359147025813692*G0_7 - 0.000654160654160656*G0_8 + 0.000855111966223078*G0_9 + 0.000136817914595692*G0_10 - 9.83378761156541e-05*G0_11 + 0.000136817914595692*G0_12 + 0.00068408957297846*G0_13 - 0.00125701459034792*G0_14 + 0.00171022393244615*G0_15 + 0.000359147025813691*G0_16 - [...]
+ A[16] = -0.000149644594089037*G0_0 - 0.000121853455186788*G0_1 - 6.84089572978459e-05*G0_2 - 0.000121853455186788*G0_3 + 0.00035914702581369*G0_4 - 0.000153920153920153*G0_5 + 0.000273635829191383*G0_6 + 0.000136817914595691*G0_7 - 9.83378761156545e-05*G0_8 + 0.000136817914595692*G0_9 + 0.000273635829191383*G0_10 - 0.000153920153920153*G0_11 + 0.00035914702581369*G0_12 + 0.000855111966223073*G0_13 - 0.000654160654160651*G0_14 + 0.000359147025813691*G0_15 + 0.00171022393244615*G0_16 - [...]
+ A[17] = 0.000112233445566778*G0_0 + 8.39078616856391e-05*G0_1 + 0.000112233445566779*G0_2 + 8.3907861685639e-05*G0_3 - 0.000654160654160651*G0_4 + 0.000256533589866922*G0_5 - 0.000153920153920153*G0_6 - 9.83378761156531e-05*G0_7 + 1.924001924002e-05*G0_8 - 9.83378761156538e-05*G0_9 - 0.000153920153920152*G0_10 + 0.000256533589866922*G0_11 - 0.000654160654160651*G0_12 - 0.000654160654160651*G0_13 + 0.000256533589866921*G0_14 - 0.000153920153920152*G0_15 - 0.00125701459034792*G0_16 + 0 [...]
+ A[18] = -6.84089572978448e-05*G0_0 - 0.000121853455186788*G0_1 - 0.000149644594089039*G0_2 - 0.000121853455186788*G0_3 + 0.000855111966223074*G0_4 - 0.000654160654160652*G0_5 + 0.000359147025813691*G0_6 + 0.000136817914595691*G0_7 - 9.83378761156545e-05*G0_8 + 0.000136817914595692*G0_9 + 0.00035914702581369*G0_10 - 0.000654160654160652*G0_11 + 0.000855111966223074*G0_12 + 0.00035914702581369*G0_13 - 0.000153920153920152*G0_14 + 0.000273635829191383*G0_15 + 0.000684089572978459*G0_16 [...]
+ A[19] = -0.000149644594089037*G0_0 - 6.8408957297846e-05*G0_1 - 0.000121853455186788*G0_2 - 0.000121853455186788*G0_3 + 0.000136817914595692*G0_4 - 9.83378761156542e-05*G0_5 + 0.000136817914595692*G0_6 + 0.00035914702581369*G0_7 - 0.000153920153920153*G0_8 + 0.000273635829191384*G0_9 + 0.000359147025813691*G0_10 - 0.000153920153920154*G0_11 + 0.000273635829191383*G0_12 + 0.000855111966223073*G0_13 - 0.00065416065416065*G0_14 + 0.00035914702581369*G0_15 + 0.000855111966223074*G0_16 - [...]
+ A[20] = 0.000112233445566778*G0_0 + 0.000112233445566779*G0_1 + 8.39078616856394e-05*G0_2 + 8.39078616856397e-05*G0_3 - 9.83378761156547e-05*G0_4 + 1.92400192400203e-05*G0_5 - 9.83378761156548e-05*G0_6 - 0.000654160654160652*G0_7 + 0.000256533589866922*G0_8 - 0.000153920153920154*G0_9 - 0.000654160654160652*G0_10 + 0.000256533589866923*G0_11 - 0.000153920153920154*G0_12 - 0.000654160654160653*G0_13 + 0.000256533589866922*G0_14 - 0.000153920153920154*G0_15 - 0.000654160654160653*G0_16 [...]
+ A[21] = -6.84089572978451e-05*G0_0 - 0.000149644594089039*G0_1 - 0.000121853455186789*G0_2 - 0.000121853455186788*G0_3 + 0.000136817914595693*G0_4 - 9.83378761156549e-05*G0_5 + 0.000136817914595693*G0_6 + 0.000855111966223075*G0_7 - 0.000654160654160653*G0_8 + 0.000359147025813692*G0_9 + 0.000855111966223076*G0_10 - 0.000654160654160653*G0_11 + 0.000359147025813692*G0_12 + 0.000359147025813691*G0_13 - 0.000153920153920153*G0_14 + 0.000273635829191384*G0_15 + 0.000359147025813691*G0_1 [...]
+ A[22] = -0.000215915771471326*G0_0 + 0.000288600288600288*G0_1 - 0.000185986852653518*G0_2 - 0.000185986852653521*G0_3 - 3.42044786489225e-05*G0_4 - 0.000179573512906847*G0_5 - 3.42044786489244e-05*G0_6 + 0.000102613435946764*G0_7 - 7.69600769600725e-05*G0_8 + 0.000513067179733844*G0_9 + 0.000102613435946764*G0_10 - 7.69600769600784e-05*G0_11 + 0.000513067179733844*G0_12 + 8.55111966223081e-05*G0_13 + 0.00026936026936027*G0_14 - 1.71022393244604e-05*G0_15 + 8.55111966223059e-05*G0_16 [...]
+ A[23] = -0.000215915771471326*G0_0 - 0.000185986852653519*G0_1 + 0.000288600288600288*G0_2 - 0.000185986852653518*G0_3 + 0.000102613435946765*G0_4 - 7.69600769600759e-05*G0_5 + 0.000513067179733844*G0_6 - 3.42044786489211e-05*G0_7 - 0.00017957351290685*G0_8 - 3.4204478648921e-05*G0_9 + 0.000513067179733847*G0_10 - 7.69600769600796e-05*G0_11 + 0.000102613435946765*G0_12 + 8.55111966223062e-05*G0_13 + 0.00026936026936027*G0_14 - 1.71022393244609e-05*G0_15 + 0.000974827641494307*G0_16 - [...]
+ A[24] = -0.000215915771471326*G0_0 - 0.000185986852653519*G0_1 - 0.00018598685265352*G0_2 + 0.000288600288600288*G0_3 + 0.000513067179733847*G0_4 - 7.69600769600791e-05*G0_5 + 0.00010261343594677*G0_6 + 0.000513067179733846*G0_7 - 7.69600769600787e-05*G0_8 + 0.000102613435946769*G0_9 - 3.42044786489224e-05*G0_10 - 0.000179573512906846*G0_11 - 3.42044786489212e-05*G0_12 + 0.000974827641494308*G0_13 - 0.00101330767997435*G0_14 + 5.13067179733841e-05*G0_15 + 8.55111966223074e-05*G0_16 + [...]
+ A[25] = 0.000288600288600289*G0_0 - 0.000215915771471328*G0_1 - 0.000185986852653519*G0_2 - 0.000185986852653518*G0_3 - 3.42044786489216e-05*G0_4 - 0.000179573512906846*G0_5 - 3.42044786489216e-05*G0_6 + 8.55111966223074e-05*G0_7 + 0.00026936026936027*G0_8 - 1.71022393244609e-05*G0_9 + 8.55111966223084e-05*G0_10 + 0.00026936026936027*G0_11 - 1.710223932446e-05*G0_12 + 0.000102613435946767*G0_13 - 7.6960076960072e-05*G0_14 + 0.000513067179733843*G0_15 + 0.000102613435946769*G0_16 - 7. [...]
+ A[26] = -0.000185986852653518*G0_0 - 0.000215915771471327*G0_1 + 0.000288600288600288*G0_2 - 0.000185986852653518*G0_3 + 0.000102613435946766*G0_4 - 7.69600769600742e-05*G0_5 + 0.000513067179733846*G0_6 + 8.55111966223097e-05*G0_7 + 0.000269360269360265*G0_8 - 1.71022393244589e-05*G0_9 + 0.00097482764149431*G0_10 - 0.00101330767997435*G0_11 + 5.13067179733838e-05*G0_12 - 3.42044786489243e-05*G0_13 - 0.000179573512906848*G0_14 - 3.4204478648922e-05*G0_15 + 0.000513067179733846*G0_16 - [...]
+ A[27] = -0.000185986852653517*G0_0 - 0.000215915771471326*G0_1 - 0.00018598685265352*G0_2 + 0.000288600288600288*G0_3 + 0.000513067179733846*G0_4 - 7.69600769600781e-05*G0_5 + 0.000102613435946768*G0_6 + 0.000974827641494308*G0_7 - 0.00101330767997435*G0_8 + 5.1306717973383e-05*G0_9 + 8.55111966223076e-05*G0_10 + 0.000269360269360268*G0_11 - 1.71022393244616e-05*G0_12 + 0.000513067179733845*G0_13 - 7.69600769600757e-05*G0_14 + 0.000102613435946768*G0_15 - 3.42044786489245e-05*G0_16 - [...]
+ A[28] = 0.00028860028860029*G0_0 - 0.000185986852653519*G0_1 - 0.000215915771471326*G0_2 - 0.000185986852653518*G0_3 + 8.55111966223055e-05*G0_4 + 0.00026936026936027*G0_5 - 1.71022393244631e-05*G0_6 - 3.42044786489248e-05*G0_7 - 0.000179573512906846*G0_8 - 3.42044786489248e-05*G0_9 - 1.71022393244633e-05*G0_10 + 0.000269360269360271*G0_11 + 8.55111966223058e-05*G0_12 + 0.000102613435946764*G0_13 - 7.69600769600722e-05*G0_14 + 0.000513067179733841*G0_15 + 5.13067179733817e-05*G0_16 - [...]
+ A[29] = -0.000185986852653518*G0_0 + 0.000288600288600288*G0_1 - 0.000215915771471326*G0_2 - 0.000185986852653521*G0_3 + 8.55111966223086e-05*G0_4 + 0.000269360269360267*G0_5 - 1.71022393244616e-05*G0_6 + 0.000102613435946764*G0_7 - 7.69600769600732e-05*G0_8 + 0.000513067179733846*G0_9 + 5.13067179733814e-05*G0_10 - 0.00101330767997435*G0_11 + 0.000974827641494306*G0_12 - 3.42044786489218e-05*G0_13 - 0.000179573512906847*G0_14 - 3.42044786489219e-05*G0_15 - 1.71022393244629e-05*G0_16 [...]
+ A[30] = -0.000185986852653518*G0_0 - 0.000185986852653519*G0_1 - 0.000215915771471328*G0_2 + 0.000288600288600287*G0_3 + 0.00097482764149431*G0_4 - 0.00101330767997435*G0_5 + 5.13067179733849e-05*G0_6 + 0.000513067179733848*G0_7 - 7.69600769600802e-05*G0_8 + 0.000102613435946771*G0_9 - 1.71022393244598e-05*G0_10 + 0.000269360269360266*G0_11 + 8.55111966223094e-05*G0_12 + 0.000513067179733848*G0_13 - 7.69600769600788e-05*G0_14 + 0.00010261343594677*G0_15 - 1.71022393244613e-05*G0_16 + [...]
+ A[31] = 0.00028860028860029*G0_0 - 0.000185986852653519*G0_1 - 0.000185986852653519*G0_2 - 0.000215915771471325*G0_3 - 1.71022393244624e-05*G0_4 + 0.00026936026936027*G0_5 + 8.55111966223069e-05*G0_6 - 1.71022393244629e-05*G0_7 + 0.000269360269360269*G0_8 + 8.55111966223066e-05*G0_9 - 3.42044786489246e-05*G0_10 - 0.000179573512906844*G0_11 - 3.42044786489244e-05*G0_12 + 5.1306717973381e-05*G0_13 - 0.00101330767997434*G0_14 + 0.000974827641494302*G0_15 + 0.000102613435946767*G0_16 - 7 [...]
+ A[32] = -0.000185986852653518*G0_0 + 0.000288600288600288*G0_1 - 0.000185986852653519*G0_2 - 0.000215915771471328*G0_3 - 1.71022393244601e-05*G0_4 + 0.000269360269360266*G0_5 + 8.5511196622308e-05*G0_6 + 5.13067179733812e-05*G0_7 - 0.00101330767997434*G0_8 + 0.000974827641494306*G0_9 + 0.000102613435946767*G0_10 - 7.69600769600776e-05*G0_11 + 0.000513067179733846*G0_12 - 1.71022393244597e-05*G0_13 + 0.000269360269360268*G0_14 + 8.55111966223096e-05*G0_15 - 3.42044786489242e-05*G0_16 [...]
+ A[33] = -0.000185986852653518*G0_0 - 0.000185986852653519*G0_1 + 0.000288600288600288*G0_2 - 0.000215915771471326*G0_3 + 5.13067179733813e-05*G0_4 - 0.00101330767997434*G0_5 + 0.000974827641494304*G0_6 - 1.71022393244602e-05*G0_7 + 0.000269360269360265*G0_8 + 8.55111966223093e-05*G0_9 + 0.000513067179733846*G0_10 - 7.69600769600777e-05*G0_11 + 0.000102613435946767*G0_12 - 1.71022393244637e-05*G0_13 + 0.000269360269360269*G0_14 + 8.55111966223078e-05*G0_15 + 0.000513067179733845*G0_16 [...]
+ A[34] = -0.00053872053872053*G0_0 - 0.00053872053872054*G0_1 - 0.00053872053872054*G0_2 - 0.000538720538720539*G0_3 + 0.00109454331676554*G0_4 - 0.0010261343594677*G0_5 + 0.00109454331676554*G0_6 + 0.00109454331676553*G0_7 - 0.0010261343594677*G0_8 + 0.00109454331676554*G0_9 + 0.00109454331676554*G0_10 - 0.0010261343594677*G0_11 + 0.00109454331676554*G0_12 + 0.00109454331676554*G0_13 - 0.00102613435946769*G0_14 + 0.00109454331676554*G0_15 + 0.00109454331676553*G0_16 - 0.0010261343594 [...]
}
diff --git a/bench/fem/convergence/cpp/Poisson3D_4.h b/bench/fem/convergence/cpp/Poisson3D_4.h
index 54273b9..2041d8c 100644
--- a/bench/fem/convergence/cpp/Poisson3D_4.h
+++ b/bench/fem/convergence/cpp/Poisson3D_4.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// no-evaluate_basis: True
// no-evaluate_basis_derivatives: True
// optimize: True
@@ -422,6 +423,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -432,6 +435,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -464,6 +470,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -474,6 +482,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -506,6 +517,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -516,6 +529,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -942,10 +958,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1108,10 +1124,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1127,10 +1143,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/convergence/cpp/compile.log b/bench/fem/convergence/cpp/compile.log
deleted file mode 100644
index 772c009..0000000
--- a/bench/fem/convergence/cpp/compile.log
+++ /dev/null
@@ -1,1880 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson3D_3
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG3(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG3(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG3(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG3(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
-Compiler stage 1 finished in 1.28581 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 3600 entries computed in 0.00234 seconds
- Shape of reference tensor: (20, 20, 3, 3)
- Primary multi index: rank = 2 dims = [20, 20] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2 [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 400 entries computed in 0.00178 seconds
- Shape of reference tensor: (20, 20)
- Primary multi index: rank = 1 dims = [20] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]]
- Secondary multi index: rank = 1 dims = [20] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [20] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0859089 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000232935 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 1.82624 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000942945 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.004143 seconds.
-
-FFC finished in 3.20384 seconds.
-Output written to ./Poisson3D_3.h.
-Output written to ./Poisson3D_3.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D_3
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
-Compiler stage 1 finished in 0.584481 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 400 entries computed in 0.0014 seconds
- Shape of reference tensor: (10, 10, 2, 2)
- Primary multi index: rank = 2 dims = [10, 10] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00135 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.039793 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000262976 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.377306 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00116611 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00151801 seconds.
-
-FFC finished in 1.00512 seconds.
-Output written to ./Poisson2D_3.h.
-Output written to ./Poisson2D_3.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D_2
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.222948 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00118 seconds
- Shape of reference tensor: (6, 6, 2, 2)
- Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00105 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.038408 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000262022 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.234598 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00327706 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00399804 seconds.
-
-FFC finished in 0.504696 seconds.
-Output written to ./Poisson2D_2.h.
-Output written to ./Poisson2D_2.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D_5
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG5(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG5(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 8
- quadrature_degree: 8
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG5(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG5(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 10
- quadrature_degree: 10
-
-Compiler stage 1 finished in 1.99673 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 1764 entries computed in 0.00423 seconds
- Shape of reference tensor: (21, 21, 2, 2)
- Primary multi index: rank = 2 dims = [21, 21] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [ [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 441 entries computed in 0.00441 seconds
- Shape of reference tensor: (21, 21)
- Primary multi index: rank = 1 dims = [21] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20]]
- Secondary multi index: rank = 1 dims = [21] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [21] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0620358 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000216007 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 1.34569 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000727892 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000920057 seconds.
-
-FFC finished in 3.40677 seconds.
-Output written to ./Poisson2D_5.h.
-Output written to ./Poisson2D_5.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson3D_1
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.115222 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000928 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 16 entries computed in 0.000785 seconds
- Shape of reference tensor: (4, 4)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0124421 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000216007 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.300008 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00106478 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00110006 seconds.
-
-FFC finished in 0.430576 seconds.
-Output written to ./Poisson3D_1.h.
-Output written to ./Poisson3D_1.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson3D_4
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG4(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG4(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG4(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG4(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 8
- quadrature_degree: 8
- WARNING: The number of integration points for each cell will be: 125
- Consider using the option 'quadrature_degree' to reduce the number of points
-
-Compiler stage 1 finished in 3.89606 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 11025 entries computed in 0.00536 seconds
- Shape of reference tensor: (35, 35, 3, 3)
- Primary multi index: rank = 2 dims = [35, 35] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [0, 34], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 1225 entries computed in 0.0107 seconds
- Shape of reference tensor: (35, 35)
- Primary multi index: rank = 1 dims = [35] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34]]
- Secondary multi index: rank = 1 dims = [35] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [35] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.108524 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000377893 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 2.74697 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00141311 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00282001 seconds.
-
-FFC finished in 6.75693 seconds.
-Output written to ./Poisson3D_4.h.
-Output written to ./Poisson3D_4.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson3D_2
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.427696 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00151 seconds
- Shape of reference tensor: (10, 10, 3, 3)
- Primary multi index: rank = 2 dims = [10, 10] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00145 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0617781 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000257969 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.663932 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000914097 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00158215 seconds.
-
-FFC finished in 1.15671 seconds.
-Output written to ./Poisson3D_2.h.
-Output written to ./Poisson3D_2.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D_1
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.135812 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00166 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00154 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0217118 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000443935 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.148445 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000921011 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00089407 seconds.
-
-FFC finished in 0.308938 seconds.
-Output written to ./Poisson2D_1.h.
-Output written to ./Poisson2D_1.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D_4
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG4(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG4(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG4(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG4(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 8
- quadrature_degree: 8
-
-Compiler stage 1 finished in 1.11819 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00166 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 225 entries computed in 0.00353 seconds
- Shape of reference tensor: (15, 15)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0618451 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.00022912 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.682108 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00090909 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00206089 seconds.
-
-FFC finished in 1.86586 seconds.
-Output written to ./Poisson2D_4.h.
-Output written to ./Poisson2D_4.cpp.
diff --git a/bench/fem/multicore/cpp/CMakeLists.txt b/bench/fem/multicore/cpp/CMakeLists.txt
index df18807..28d0996 100644
--- a/bench/fem/multicore/cpp/CMakeLists.txt
+++ b/bench/fem/multicore/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_fem_multicore_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/fem/multicore/cpp/NavierStokes.h b/bench/fem/multicore/cpp/NavierStokes.h
index 3ed824c..beb82fd 100644
--- a/bench/fem/multicore/cpp/NavierStokes.h
+++ b/bench/fem/multicore/cpp/NavierStokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4570,6 +4539,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4679,6 +4677,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4796,6 +4944,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4864,23 +5041,93 @@ public:
}
case 3:
{
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 4;
- dofs[4] = 5;
- dofs[5] = 6;
- dofs[6] = 8;
- dofs[7] = 9;
- dofs[8] = 10;
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
break;
}
}
}
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
if (d > 3)
{
@@ -4932,17 +5179,161 @@ public:
}
case 1:
{
-
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
break;
}
case 2:
{
-
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
break;
}
case 3:
{
-
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
break;
}
}
@@ -5085,6 +5476,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5160,6 +5580,139 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5204,6 +5757,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -6410,10 +6978,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6429,10 +6997,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/multicore/cpp/Poisson.h b/bench/fem/multicore/cpp/Poisson.h
index 1c7d46f..7db3431 100644
--- a/bench/fem/multicore/cpp/Poisson.h
+++ b/bench/fem/multicore/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4271,6 +4240,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4380,6 +4378,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4497,6 +4645,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4650,6 +4827,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4713,6 +5104,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 28
@@ -5185,10 +5591,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/multicore/cpp/compile.log b/bench/fem/multicore/cpp/compile.log
deleted file mode 100644
index 6456228..0000000
--- a/bench/fem/multicore/cpp/compile.log
+++ /dev/null
@@ -1,1273 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.114909 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000984 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0115879 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000221014 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.382844 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000657797 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00102091 seconds.
-
-FFC finished in 0.511856 seconds.
-Output written to ./Poisson.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form NavierStokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_3, w_4]'
- Unique elements: 'Vector<3 x CG1(?)>, DG0(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, DG0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 6
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.148725 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {4: {FiniteElement('Discontinuous Lagrange', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1., 1., 1., 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0': 'FE0', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C1_D001': 'FE1_C1_D001'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (1, [0, 3]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2, 3]), False, False), 'FE1_C1': ('FE1_C0', (4, [4, 5, 6, 7]), False, False), 'FE1_C2': ('FE1_C0', (8, [8, 9, 10, 11]), False, False), 'FE1_C0_D100': ('FE1_C0_D001', (3, [0, 1]), False, False), 'FE1_C2_D001': ('FE1_C0_D001', (9, [8, 11]), False, False), 'FE1_C0_D010': ('FE1_C0_D001', (2, [0, 2]), False, False), 'FE1_C1_D010': ('FE1_C0_D001', (6, [4, 6]), False, False), 'FE1_C1_D100': ('FE1_C0_D0 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.171326 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0906041 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.363842 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000751019 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00100088 seconds.
-
-FFC finished in 0.776749 seconds.
-Output written to ./NavierStokes.h.
diff --git a/bench/fem/speedup/cpp/CMakeLists.txt b/bench/fem/speedup/cpp/CMakeLists.txt
index 1fca8af..de2379c 100644
--- a/bench/fem/speedup/cpp/CMakeLists.txt
+++ b/bench/fem/speedup/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_fem_speedup_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,15 +39,23 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
endif()
# Executable
-add_executable(bench_solve-poisson solve-poisson.cpp)
add_executable(bench_assemble-poisson assemble-poisson.cpp)
+add_executable(bench_solve-poisson solve-poisson.cpp)
# Target libraries
-target_link_libraries(bench_solve-poisson ${DOLFIN_LIBRARIES})
target_link_libraries(bench_assemble-poisson ${DOLFIN_LIBRARIES})
+target_link_libraries(bench_solve-poisson ${DOLFIN_LIBRARIES})
diff --git a/bench/fem/speedup/cpp/Poisson.h b/bench/fem/speedup/cpp/Poisson.h
index 88de2b7..7d46e29 100644
--- a/bench/fem/speedup/cpp/Poisson.h
+++ b/bench/fem/speedup/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4271,6 +4240,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4380,6 +4378,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4497,6 +4645,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4650,6 +4827,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4713,6 +5104,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 28
@@ -4788,6 +5194,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 4
// Number of operations (multiply-add pairs) for tensor contraction: 14
@@ -5518,10 +5939,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5684,10 +6105,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5703,10 +6124,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/bench/fem/speedup/cpp/compile.log b/bench/fem/speedup/cpp/compile.log
deleted file mode 100644
index b4badd4..0000000
--- a/bench/fem/speedup/cpp/compile.log
+++ /dev/null
@@ -1,257 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.110322 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000883 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 16 entries computed in 0.000811 seconds
- Shape of reference tensor: (4, 4)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.012223 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000241041 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.292009 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000874043 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00111794 seconds.
-
-FFC finished in 0.417286 seconds.
-Output written to ./Poisson.h.
diff --git a/bench/function/evaluation/cpp/CMakeLists.txt b/bench/function/evaluation/cpp/CMakeLists.txt
index beec0d1..789db0c 100644
--- a/bench/function/evaluation/cpp/CMakeLists.txt
+++ b/bench/function/evaluation/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_function_evaluation_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/function/evaluation/cpp/P1.h b/bench/function/evaluation/cpp/P1.h
index 6cf0d1d..9c2223f 100644
--- a/bench/function/evaluation/cpp/P1.h
+++ b/bench/function/evaluation/cpp/P1.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -1355,6 +1356,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1464,6 +1494,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/bench/function/evaluation/cpp/compile.log b/bench/function/evaluation/cpp/compile.log
deleted file mode 100644
index ccc3567..0000000
--- a/bench/function/evaluation/cpp/compile.log
+++ /dev/null
@@ -1,84 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P1
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000848055 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.121559 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000223875 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.110609 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000612974 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000749826 seconds.
-
-FFC finished in 0.235322 seconds.
-Output written to ./P1.h.
diff --git a/bench/geometry/bounding_box_tree_build/cpp/CMakeLists.txt b/bench/geometry/bounding_box_tree_build/cpp/CMakeLists.txt
index d7fb8c7..33d8687 100644
--- a/bench/geometry/bounding_box_tree_build/cpp/CMakeLists.txt
+++ b/bench/geometry/bounding_box_tree_build/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_geometry_bounding_box_tree_build_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/geometry/bounding_box_tree_compute_closest_entity/cpp/CMakeLists.txt b/bench/geometry/bounding_box_tree_compute_closest_entity/cpp/CMakeLists.txt
index 5663272..ffa6c63 100644
--- a/bench/geometry/bounding_box_tree_compute_closest_entity/cpp/CMakeLists.txt
+++ b/bench/geometry/bounding_box_tree_compute_closest_entity/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_geometry_bounding_box_tree_compute_closest_entity_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/geometry/bounding_box_tree_compute_entity_collisions/cpp/CMakeLists.txt b/bench/geometry/bounding_box_tree_compute_entity_collisions/cpp/CMakeLists.txt
index d8defe9..654b217 100644
--- a/bench/geometry/bounding_box_tree_compute_entity_collisions/cpp/CMakeLists.txt
+++ b/bench/geometry/bounding_box_tree_compute_entity_collisions/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_geometry_bounding_box_tree_compute_entity_collisions_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/la/vector/access/cpp/CMakeLists.txt b/bench/la/vector/access/cpp/CMakeLists.txt
index d36466c..761e0e0 100644
--- a/bench/la/vector/access/cpp/CMakeLists.txt
+++ b/bench/la/vector/access/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_la_vector_access_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/la/vector/assignment/cpp/CMakeLists.txt b/bench/la/vector/assignment/cpp/CMakeLists.txt
index f749bb2..7ddd66c 100644
--- a/bench/la/vector/assignment/cpp/CMakeLists.txt
+++ b/bench/la/vector/assignment/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_la_vector_assignment_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/mesh/iteration/cpp/CMakeLists.txt b/bench/mesh/iteration/cpp/CMakeLists.txt
index 9244a14..c6f62b4 100644
--- a/bench/mesh/iteration/cpp/CMakeLists.txt
+++ b/bench/mesh/iteration/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_mesh_iteration_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/mesh/refinement/cpp/CMakeLists.txt b/bench/mesh/refinement/cpp/CMakeLists.txt
index 43be113..eeffbaa 100644
--- a/bench/mesh/refinement/cpp/CMakeLists.txt
+++ b/bench/mesh/refinement/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_mesh_refinement_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/mesh/topology/cpp/CMakeLists.txt b/bench/mesh/topology/cpp/CMakeLists.txt
index 90d1808..9011f9f 100644
--- a/bench/mesh/topology/cpp/CMakeLists.txt
+++ b/bench/mesh/topology/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_mesh_topology_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/bench/mesh/unitcube/cpp/CMakeLists.txt b/bench/mesh/unitcube/cpp/CMakeLists.txt
index d259435..78871eb 100644
--- a/bench/mesh/unitcube/cpp/CMakeLists.txt
+++ b/bench/mesh/unitcube/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME bench_mesh_unitcube_cpp)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/cmake/modules/FindAMD.cmake b/cmake/modules/FindAMD.cmake
index 7f83bc2..8be0949 100644
--- a/cmake/modules/FindAMD.cmake
+++ b/cmake/modules/FindAMD.cmake
@@ -38,7 +38,7 @@ message(STATUS "Checking for package 'AMD'")
# Check for header file
find_path(AMD_INCLUDE_DIRS amd.h
- HINTS ${AMD_DIR}/include $ENV{AMD_DIR}/include $ENV{PETSC_DIR}/include
+ HINTS ${AMD_DIR}/include $ENV{AMD_DIR}/include ${PETSC_INCLUDE_DIRS} $ENV{PETSC_DIR}/include
PATH_SUFFIXES suitesparse ufsparse
DOC "Directory where the AMD header is located"
)
@@ -46,7 +46,7 @@ mark_as_advanced(AMD_INCLUDE_DIRS)
# Check for AMD library
find_library(AMD_LIBRARIES amd
- HINTS ${AMD_DIR}/lib $ENV{AMD_DIR}/lib $ENV{PETSC_DIR}/lib
+ HINTS ${AMD_DIR}/lib $ENV{AMD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The AMD library")
mark_as_advanced(AMD_LIBRARY)
diff --git a/cmake/modules/FindBLAS.cmake b/cmake/modules/FindBLAS.cmake
index a80f418..9233820 100644
--- a/cmake/modules/FindBLAS.cmake
+++ b/cmake/modules/FindBLAS.cmake
@@ -180,6 +180,20 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
endif(NOT BLAS_LIBRARIES)
endif (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
+ if(NOT BLAS_LIBRARIES)
+ # openblas (http://www.openblas.net)
+ check_fortran_libraries(
+ BLAS_LIBRARIES
+ BLAS
+ sgemm
+ ""
+ "openblas"
+ ""
+ )
+ endif(NOT BLAS_LIBRARIES)
+endif (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
+
if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
@@ -611,7 +625,7 @@ else(BLA_F95)
if(NOT BLAS_FIND_QUIETLY)
if(BLAS_FOUND)
- message(STATUS "A library with BLAS API found.")
+ message(STATUS "Found BLAS: ${BLAS_LIBRARIES}")
else(BLAS_FOUND)
if(BLAS_FIND_REQUIRED)
message(FATAL_ERROR
diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake
new file mode 100644
index 0000000..b3e8db9
--- /dev/null
+++ b/cmake/modules/FindBoost.cmake
@@ -0,0 +1,1861 @@
+#.rst:
+# FindBoost
+# ---------
+#
+# Find Boost include dirs and libraries
+#
+# Use this module by invoking find_package with the form::
+#
+# find_package(Boost
+# [version] [EXACT] # Minimum or EXACT version e.g. 1.36.0
+# [REQUIRED] # Fail with error if Boost is not found
+# [COMPONENTS <libs>...] # Boost libraries by their canonical name
+# ) # e.g. "date_time" for "libboost_date_time"
+#
+# This module finds headers and requested component libraries OR a CMake
+# package configuration file provided by a "Boost CMake" build. For the
+# latter case skip to the "Boost CMake" section below. For the former
+# case results are reported in variables::
+#
+# Boost_FOUND - True if headers and requested libraries were found
+# Boost_INCLUDE_DIRS - Boost include directories
+# Boost_LIBRARY_DIRS - Link directories for Boost libraries
+# Boost_LIBRARIES - Boost component libraries to be linked
+# Boost_<C>_FOUND - True if component <C> was found (<C> is upper-case)
+# Boost_<C>_LIBRARY - Libraries to link for component <C> (may include
+# target_link_libraries debug/optimized keywords)
+# Boost_VERSION - BOOST_VERSION value from boost/version.hpp
+# Boost_LIB_VERSION - Version string appended to library filenames
+# Boost_MAJOR_VERSION - Boost major version number (X in X.y.z)
+# Boost_MINOR_VERSION - Boost minor version number (Y in x.Y.z)
+# Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
+# Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
+# - Pass to add_definitions() to have diagnostic
+# information about Boost's automatic linking
+# displayed during compilation
+#
+# This module reads hints about search locations from variables::
+#
+# BOOST_ROOT - Preferred installation prefix
+# (or BOOSTROOT)
+# BOOST_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
+# BOOST_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
+# Boost_NO_SYSTEM_PATHS - Set to ON to disable searching in locations not
+# specified by these hint variables. Default is OFF.
+# Boost_ADDITIONAL_VERSIONS
+# - List of Boost versions not known to this module
+# (Boost install locations may contain the version)
+#
+# and saves search results persistently in CMake cache entries::
+#
+# Boost_INCLUDE_DIR - Directory containing Boost headers
+# Boost_LIBRARY_DIR_RELEASE - Directory containing release Boost libraries
+# Boost_LIBRARY_DIR_DEBUG - Directory containing debug Boost libraries
+# Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
+# Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
+#
+# The following :prop_tgt:`IMPORTED` targets are also defined::
+#
+# Boost::boost - Target for header-only dependencies
+# (Boost include directory)
+# Boost::<C> - Target for specific component dependency
+# (shared or static library); <C> is lower-
+# case
+# Boost::diagnostic_definitions - interface target to enable diagnostic
+# information about Boost's automatic linking
+# during compilation (adds BOOST_LIB_DIAGNOSTIC)
+# Boost::disable_autolinking - interface target to disable automatic
+# linking with MSVC (adds BOOST_ALL_NO_LIB)
+# Boost::dynamic_linking - interface target to enable dynamic linking
+# linking with MSVC (adds BOOST_ALL_DYN_LINK)
+#
+# Implicit dependencies such as Boost::filesystem requiring
+# Boost::system will be automatically detected and satisfied, even
+# if system is not specified when using find_package and if
+# Boost::system is not added to target_link_libraries. If using
+# Boost::thread, then Thread::Thread will also be added automatically.
+#
+# It is important to note that the imported targets behave differently
+# than variables created by this module: multiple calls to
+# find_package(Boost) in the same directory or sub-directories with
+# different options (e.g. static or shared) will not override the
+# values of the targets created by the first call.
+#
+# Users may set these hints or results as cache entries. Projects
+# should not read these entries directly but instead use the above
+# result variables. Note that some hint names start in upper-case
+# "BOOST". One may specify these as environment variables if they are
+# not specified as CMake variables or cache entries.
+#
+# This module first searches for the Boost header files using the above
+# hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
+# Boost_INCLUDE_DIR. Then it searches for requested component libraries
+# using the above hints (excluding BOOST_INCLUDEDIR and
+# Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
+# and the library name configuration settings below. It saves the
+# library directories in Boost_LIBRARY_DIR_DEBUG and
+# Boost_LIBRARY_DIR_RELEASE and individual library
+# locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
+# When one changes settings used by previous searches in the same build
+# tree (excluding environment variables) this module discards previous
+# search results affected by the changes and searches again.
+#
+# Boost libraries come in many variants encoded in their file name.
+# Users or projects may tell this module which variant to find by
+# setting variables::
+#
+# Boost_USE_MULTITHREADED - Set to OFF to use the non-multithreaded
+# libraries ('mt' tag). Default is ON.
+# Boost_USE_STATIC_LIBS - Set to ON to force the use of the static
+# libraries. Default is OFF.
+# Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
+# libraries linked statically to the C++ runtime
+# ('s' tag). Default is platform dependent.
+# Boost_USE_DEBUG_RUNTIME - Set to ON or OFF to specify whether to use
+# libraries linked to the MS debug C++ runtime
+# ('g' tag). Default is ON.
+# Boost_USE_DEBUG_PYTHON - Set to ON to use libraries compiled with a
+# debug Python build ('y' tag). Default is OFF.
+# Boost_USE_STLPORT - Set to ON to use libraries compiled with
+# STLPort ('p' tag). Default is OFF.
+# Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+# - Set to ON to use libraries compiled with
+# STLPort deprecated "native iostreams"
+# ('n' tag). Default is OFF.
+# Boost_COMPILER - Set to the compiler-specific library suffix
+# (e.g. "-gcc43"). Default is auto-computed
+# for the C++ compiler in use.
+# Boost_THREADAPI - Suffix for "thread" component library name,
+# such as "pthread" or "win32". Names with
+# and without this suffix will both be tried.
+# Boost_NAMESPACE - Alternate namespace used to build boost with
+# e.g. if set to "myboost", will search for
+# myboost_thread instead of boost_thread.
+#
+# Other variables one may set to control this module are::
+#
+# Boost_DEBUG - Set to ON to enable debug output from FindBoost.
+# Please enable this before filing any bug report.
+# Boost_DETAILED_FAILURE_MSG
+# - Set to ON to add detailed information to the
+# failure message even when the REQUIRED option
+# is not given to the find_package call.
+# Boost_REALPATH - Set to ON to resolve symlinks for discovered
+# libraries to assist with packaging. For example,
+# the "system" component library may be resolved to
+# "/usr/lib/libboost_system.so.1.42.0" instead of
+# "/usr/lib/libboost_system.so". This does not
+# affect linking and should not be enabled unless
+# the user needs this information.
+# Boost_LIBRARY_DIR - Default value for Boost_LIBRARY_DIR_RELEASE and
+# Boost_LIBRARY_DIR_DEBUG.
+#
+# On Visual Studio and Borland compilers Boost headers request automatic
+# linking to corresponding libraries. This requires matching libraries
+# to be linked explicitly or available in the link library search path.
+# In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
+# dynamic linking. Boost automatic linking typically requests static
+# libraries with a few exceptions (such as Boost.Python). Use::
+#
+# add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
+#
+# to ask Boost to report information about automatic linking requests.
+#
+# Example to find Boost headers only::
+#
+# find_package(Boost 1.36.0)
+# if(Boost_FOUND)
+# include_directories(${Boost_INCLUDE_DIRS})
+# add_executable(foo foo.cc)
+# endif()
+#
+# Example to find Boost libraries and use imported targets::
+#
+# find_package(Boost 1.56 REQUIRED COMPONENTS
+# date_time filesystem iostreams)
+# add_executable(foo foo.cc)
+# target_link_libraries(foo Boost::date_time Boost::filesystem
+# Boost::iostreams)
+#
+# Example to find Boost headers and some *static* libraries::
+#
+# set(Boost_USE_STATIC_LIBS ON) # only find static libs
+# set(Boost_USE_MULTITHREADED ON)
+# set(Boost_USE_STATIC_RUNTIME OFF)
+# find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
+# if(Boost_FOUND)
+# include_directories(${Boost_INCLUDE_DIRS})
+# add_executable(foo foo.cc)
+# target_link_libraries(foo ${Boost_LIBRARIES})
+# endif()
+#
+# Boost CMake
+# ^^^^^^^^^^^
+#
+# If Boost was built using the boost-cmake project it provides a package
+# configuration file for use with find_package's Config mode. This
+# module looks for the package configuration file called
+# BoostConfig.cmake or boost-config.cmake and stores the result in cache
+# entry "Boost_DIR". If found, the package configuration file is loaded
+# and this module returns with no further action. See documentation of
+# the Boost CMake package configuration for details on what it provides.
+#
+# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
+
+#=============================================================================
+# Copyright 2006-2012 Kitware, Inc.
+# Copyright 2006-2008 Andreas Schneider <mail at cynapses.org>
+# Copyright 2007 Wengo
+# Copyright 2007 Mike Jackson
+# Copyright 2008 Andreas Pakulat <apaku at gmx.de>
+# Copyright 2008-2012 Philip Lowman <philip at yhbt.com>
+# Copyright 2016 Alex Turbov <i.zaufi at gmail.com>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+
+#-------------------------------------------------------------------------------
+# Before we go searching, check whether boost-cmake is available, unless the
+# user specifically asked NOT to search for boost-cmake.
+#
+# If Boost_DIR is set, this behaves as any find_package call would. If not,
+# it looks at BOOST_ROOT and BOOSTROOT to find Boost.
+#
+if (NOT Boost_NO_BOOST_CMAKE)
+ # If Boost_DIR is not set, look for BOOSTROOT and BOOST_ROOT as alternatives,
+ # since these are more conventional for Boost.
+ if ("$ENV{Boost_DIR}" STREQUAL "")
+ if (NOT "$ENV{BOOST_ROOT}" STREQUAL "")
+ set(ENV{Boost_DIR} $ENV{BOOST_ROOT})
+ elseif (NOT "$ENV{BOOSTROOT}" STREQUAL "")
+ set(ENV{Boost_DIR} $ENV{BOOSTROOT})
+ endif()
+ endif()
+
+ # Do the same find_package call but look specifically for the CMake version.
+ # Note that args are passed in the Boost_FIND_xxxxx variables, so there is no
+ # need to delegate them to this find_package call.
+ find_package(Boost QUIET NO_MODULE)
+ mark_as_advanced(Boost_DIR)
+
+ # If we found boost-cmake, then we're done. Print out what we found.
+ # Otherwise let the rest of the module try to find it.
+ if (Boost_FOUND)
+ message("Boost ${Boost_FIND_VERSION} found.")
+ if (Boost_FIND_COMPONENTS)
+ message("Found Boost components:")
+ message(" ${Boost_FIND_COMPONENTS}")
+ endif()
+ return()
+ endif()
+endif()
+
+
+#-------------------------------------------------------------------------------
+# FindBoost functions & macros
+#
+
+############################################
+#
+# Check the existence of the libraries.
+#
+############################################
+# This macro was taken directly from the FindQt4.cmake file that is included
+# with the CMake distribution. This is NOT my work. All work was done by the
+# original authors of the FindQt4.cmake file. Only minor modifications were
+# made to remove references to Qt and make this file more generally applicable
+# And ELSE/ENDIF pairs were removed for readability.
+#########################################################################
+
+macro(_Boost_ADJUST_LIB_VARS basename)
+ if(Boost_INCLUDE_DIR )
+ if(Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
+ # if the generator supports configuration types then set
+ # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
+ if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ set(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
+ else()
+ # if there are no configuration types and CMAKE_BUILD_TYPE has no value
+ # then just use the release libraries
+ set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
+ endif()
+ # FIXME: This probably should be set for both cases
+ set(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
+ endif()
+
+ # if only the release version was found, set the debug variable also to the release version
+ if(Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
+ set(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
+ set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE})
+ set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE})
+ endif()
+
+ # if only the debug version was found, set the release variable also to the debug version
+ if(Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
+ set(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
+ set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG})
+ set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG})
+ endif()
+
+ # If the debug & release library ends up being the same, omit the keywords
+ if(${Boost_${basename}_LIBRARY_RELEASE} STREQUAL ${Boost_${basename}_LIBRARY_DEBUG})
+ set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
+ set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE} )
+ endif()
+
+ if(Boost_${basename}_LIBRARY AND Boost_${basename}_HEADER)
+ set(Boost_${basename}_FOUND ON)
+ endif()
+
+ endif()
+ # Make variables changeable to the advanced user
+ mark_as_advanced(
+ Boost_${basename}_LIBRARY_RELEASE
+ Boost_${basename}_LIBRARY_DEBUG
+ )
+endmacro()
+
+# Detect changes in used variables.
+# Compares the current variable value with the last one.
+# In short form:
+# v != v_LAST -> CHANGED = 1
+# v is defined, v_LAST not -> CHANGED = 1
+# v is not defined, but v_LAST is -> CHANGED = 1
+# otherwise -> CHANGED = 0
+# CHANGED is returned in variable named ${changed_var}
+macro(_Boost_CHANGE_DETECT changed_var)
+ set(${changed_var} 0)
+ foreach(v ${ARGN})
+ if(DEFINED _Boost_COMPONENTS_SEARCHED)
+ if(${v})
+ if(_${v}_LAST)
+ string(COMPARE NOTEQUAL "${${v}}" "${_${v}_LAST}" _${v}_CHANGED)
+ else()
+ set(_${v}_CHANGED 1)
+ endif()
+ elseif(_${v}_LAST)
+ set(_${v}_CHANGED 1)
+ endif()
+ if(_${v}_CHANGED)
+ set(${changed_var} 1)
+ endif()
+ else()
+ set(_${v}_CHANGED 0)
+ endif()
+ endforeach()
+endmacro()
+
+#
+# Find the given library (var).
+# Use 'build_type' to support different lib paths for RELEASE or DEBUG builds
+#
+macro(_Boost_FIND_LIBRARY var build_type)
+
+ find_library(${var} ${ARGN})
+
+ if(${var})
+ # If this is the first library found then save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
+ if(NOT Boost_LIBRARY_DIR_${build_type})
+ get_filename_component(_dir "${${var}}" PATH)
+ set(Boost_LIBRARY_DIR_${build_type} "${_dir}" CACHE PATH "Boost library directory ${build_type}" FORCE)
+ endif()
+ elseif(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+ # Try component-specific hints but do not save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
+ find_library(${var} HINTS ${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT} ${ARGN})
+ endif()
+
+ # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is known then search only there.
+ if(Boost_LIBRARY_DIR_${build_type})
+ set(_boost_LIBRARY_SEARCH_DIRS_${build_type} ${Boost_LIBRARY_DIR_${build_type}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " Boost_LIBRARY_DIR_${build_type} = ${Boost_LIBRARY_DIR_${build_type}}"
+ " _boost_LIBRARY_SEARCH_DIRS_${build_type} = ${_boost_LIBRARY_SEARCH_DIRS_${build_type}}")
+ endif()
+ endif()
+endmacro()
+
+#-------------------------------------------------------------------------------
+
+#
+# Runs compiler with "-dumpversion" and parses major/minor
+# version with a regex.
+#
+function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
+
+ exec_program(${CMAKE_CXX_COMPILER}
+ ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+ OUTPUT_VARIABLE _boost_COMPILER_VERSION
+ )
+ string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
+ _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
+
+ set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
+endfunction()
+
+#
+# Take a list of libraries with "thread" in it
+# and prepend duplicates with "thread_${Boost_THREADAPI}"
+# at the front of the list
+#
+function(_Boost_PREPEND_LIST_WITH_THREADAPI _output)
+ set(_orig_libnames ${ARGN})
+ string(REPLACE "thread" "thread_${Boost_THREADAPI}" _threadapi_libnames "${_orig_libnames}")
+ set(${_output} ${_threadapi_libnames} ${_orig_libnames} PARENT_SCOPE)
+endfunction()
+
+#
+# If a library is found, replace its cache entry with its REALPATH
+#
+function(_Boost_SWAP_WITH_REALPATH _library _docstring)
+ if(${_library})
+ get_filename_component(_boost_filepathreal ${${_library}} REALPATH)
+ unset(${_library} CACHE)
+ set(${_library} ${_boost_filepathreal} CACHE FILEPATH "${_docstring}")
+ endif()
+endfunction()
+
+function(_Boost_CHECK_SPELLING _var)
+ if(${_var})
+ string(TOUPPER ${_var} _var_UC)
+ message(FATAL_ERROR "ERROR: ${_var} is not the correct spelling. The proper spelling is ${_var_UC}.")
+ endif()
+endfunction()
+
+# Guesses Boost's compiler prefix used in built library names
+# Returns the guess by setting the variable pointed to by _ret
+function(_Boost_GUESS_COMPILER_PREFIX _ret)
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel"
+ OR CMAKE_CXX_COMPILER MATCHES "icl"
+ OR CMAKE_CXX_COMPILER MATCHES "icpc")
+ if(WIN32)
+ set (_boost_COMPILER "-iw")
+ else()
+ set (_boost_COMPILER "-il")
+ endif()
+ elseif (GHSMULTI)
+ set(_boost_COMPILER "-ghs")
+ elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+ set(_boost_COMPILER "-vc140")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
+ set(_boost_COMPILER "-vc120")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+ set(_boost_COMPILER "-vc110")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
+ set(_boost_COMPILER "-vc100")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
+ set(_boost_COMPILER "-vc90")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
+ set(_boost_COMPILER "-vc80")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.10)
+ set(_boost_COMPILER "-vc71")
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13) # Good luck!
+ set(_boost_COMPILER "-vc7") # yes, this is correct
+ else() # MSVC60 Good luck!
+ set(_boost_COMPILER "-vc6") # yes, this is correct
+ endif()
+ elseif (BORLAND)
+ set(_boost_COMPILER "-bcb")
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
+ set(_boost_COMPILER "-sw")
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "XL")
+ set(_boost_COMPILER "-xlc")
+ elseif (MINGW)
+ if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
+ set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
+ else()
+ _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
+ set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
+ endif()
+ elseif (UNIX)
+ if (CMAKE_COMPILER_IS_GNUCXX)
+ if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
+ set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
+ else()
+ _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
+ # Determine which version of GCC we have.
+ if(APPLE)
+ if(Boost_MINOR_VERSION)
+ if(${Boost_MINOR_VERSION} GREATER 35)
+ # In Boost 1.36.0 and newer, the mangled compiler name used
+ # on Mac OS X/Darwin is "xgcc".
+ set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
+ else()
+ # In Boost <= 1.35.0, there is no mangled compiler name for
+ # the Mac OS X/Darwin version of GCC.
+ set(_boost_COMPILER "")
+ endif()
+ else()
+ # We don't know the Boost version, so assume it's
+ # pre-1.36.0.
+ set(_boost_COMPILER "")
+ endif()
+ else()
+ set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
+ endif()
+ endif()
+ endif ()
+ else()
+ # TODO at least Boost_DEBUG here?
+ set(_boost_COMPILER "")
+ endif()
+ set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
+endfunction()
+
+#
+# Get component dependencies. Requires the dependencies to have been
+# defined for the Boost release version.
+#
+# component - the component to check
+# _ret - list of library dependencies
+#
+function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+ # Note: to add a new Boost release, run
+ #
+ # % cmake -DBOOST_DIR=/path/to/boost/source -P Utilities/Scripts/BoostScanDeps.cmake
+ #
+ # The output may be added in a new block below. If it's the same as
+ # the previous release, simply update the version range of the block
+ # for the previous release. Also check if any new components have
+ # been added, and add any new components to
+ # _Boost_COMPONENT_HEADERS.
+ #
+ # This information was originally generated by running
+ # BoostScanDeps.cmake against every boost release to date supported
+ # by FindBoost:
+ #
+ # % for version in /path/to/boost/sources/*
+ # do
+ # cmake -DBOOST_DIR=$version -P Utilities/Scripts/BoostScanDeps.cmake
+ # done
+ #
+ # The output was then updated by search and replace with these regexes:
+ #
+ # - Strip message(STATUS) prefix dashes
+ # s;^-- ;;
+ # - Indent
+ # s;^set(; set(;;
+ # - Add conditionals
+ # s;Scanning /path/to/boost/sources/boost_\(.*\)_\(.*\)_\(.*); elseif(NOT Boost_VERSION VERSION_LESS \10\20\3 AND Boost_VERSION VERSION_LESS xxxx);
+ #
+ # This results in the logic seen below, but will require the xxxx
+ # replacing with the following Boost release version (or the next
+ # minor version to be released, e.g. 1.59 was the latest at the time
+ # of writing, making 1.60 the next, so 106000 is the needed version
+ # number). Identical consecutive releases were then merged together
+ # by updating the end range of the first block and removing the
+ # following redundant blocks.
+ #
+ # Running the script against all historical releases should be
+ # required only if the BoostScanDeps.cmake script logic is changed.
+ # The addition of a new release should only require it to be run
+ # against the new release.
+ set(_Boost_IMPORTED_TARGETS TRUE)
+ if(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex thread)
+ set(_Boost_REGEX_DEPENDENCIES thread)
+ set(_Boost_WAVE_DEPENDENCIES filesystem thread)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 103500 AND Boost_VERSION VERSION_LESS 103600)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 103600 AND Boost_VERSION VERSION_LESS 103800)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 103800 AND Boost_VERSION VERSION_LESS 104300)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 104300 AND Boost_VERSION VERSION_LESS 104400)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 104400 AND Boost_VERSION VERSION_LESS 104500)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random serialization)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_WAVE_DEPENDENCIES serialization filesystem system thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 104500 AND Boost_VERSION VERSION_LESS 104700)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 104700 AND Boost_VERSION VERSION_LESS 104800)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 104800 AND Boost_VERSION VERSION_LESS 105000)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES date_time)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105000 AND Boost_VERSION VERSION_LESS 105300)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105300 AND Boost_VERSION VERSION_LESS 105400)
+ set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105400 AND Boost_VERSION VERSION_LESS 105500)
+ set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105500 AND Boost_VERSION VERSION_LESS 105600)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105600 AND Boost_VERSION VERSION_LESS 105900)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_RANDOM_DEPENDENCIES system)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 105900 AND Boost_VERSION VERSION_LESS 106000)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono atomic)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_RANDOM_DEPENDENCIES system)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 106000 AND Boost_VERSION VERSION_LESS 106100)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_RANDOM_DEPENDENCIES system)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono system)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 106100 AND Boost_VERSION VERSION_LESS 106200)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_RANDOM_DEPENDENCIES system)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ elseif(NOT Boost_VERSION VERSION_LESS 106200 AND Boost_VERSION VERSION_LESS 106300)
+ set(_Boost_CHRONO_DEPENDENCIES system)
+ set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+ set(_Boost_COROUTINE_DEPENDENCIES context system)
+ set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+ set(_Boost_RANDOM_DEPENDENCIES system)
+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ else()
+ message(WARNING "Imported targets not available for Boost version ${Boost_VERSION}")
+ set(_Boost_IMPORTED_TARGETS FALSE)
+ endif()
+
+ string(TOUPPER ${component} uppercomponent)
+ set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+ set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
+
+ string(REGEX REPLACE ";" " " _boost_DEPS_STRING "${_Boost_${uppercomponent}_DEPENDENCIES}")
+ if (NOT _boost_DEPS_STRING)
+ set(_boost_DEPS_STRING "(none)")
+ endif()
+ # message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
+endfunction()
+
+#
+# Get component headers. This is the primary header (or headers) for
+# a given component, and is used to check that the headers are present
+# as well as the library itself as an extra sanity check of the build
+# environment.
+#
+# component - the component to check
+# _hdrs
+#
+function(_Boost_COMPONENT_HEADERS component _hdrs)
+ # Note: new boost components will require adding here. The header
+ # must be present in all versions of Boost providing a library.
+ set(_Boost_ATOMIC_HEADERS "boost/atomic.hpp")
+ set(_Boost_CHRONO_HEADERS "boost/chrono.hpp")
+ set(_Boost_CONTAINER_HEADERS "boost/container/container_fwd.hpp")
+ set(_Boost_CONTEXT_HEADERS "boost/context/all.hpp")
+ set(_Boost_COROUTINE_HEADERS "boost/coroutine/all.hpp")
+ set(_Boost_EXCEPTION_HEADERS "boost/exception/exception.hpp")
+ set(_Boost_DATE_TIME_HEADERS "boost/date_time/date.hpp")
+ set(_Boost_FIBER_HEADERS "boost/fiber/all.hpp")
+ set(_Boost_FILESYSTEM_HEADERS "boost/filesystem/path.hpp")
+ set(_Boost_GRAPH_HEADERS "boost/graph/adjacency_list.hpp")
+ set(_Boost_GRAPH_PARALLEL_HEADERS "boost/graph/adjacency_list.hpp")
+ set(_Boost_IOSTREAMS_HEADERS "boost/iostreams/stream.hpp")
+ set(_Boost_LOCALE_HEADERS "boost/locale.hpp")
+ set(_Boost_LOG_HEADERS "boost/log/core.hpp")
+ set(_Boost_LOG_SETUP_HEADERS "boost/log/detail/setup_config.hpp")
+ set(_Boost_MATH_HEADERS "boost/math_fwd.hpp")
+ set(_Boost_MATH_C99_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MATH_C99F_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MATH_C99L_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MATH_TR1_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MATH_TR1F_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MATH_TR1L_HEADERS "boost/math/tr1.hpp")
+ set(_Boost_MPI_HEADERS "boost/mpi.hpp")
+ set(_Boost_MPI_PYTHON_HEADERS "boost/mpi/python/config.hpp")
+ set(_Boost_PRG_EXEC_MONITOR_HEADERS "boost/test/prg_exec_monitor.hpp")
+ set(_Boost_PROGRAM_OPTIONS_HEADERS "boost/program_options.hpp")
+ set(_Boost_PYTHON_HEADERS "boost/python.hpp")
+ set(_Boost_RANDOM_HEADERS "boost/random.hpp")
+ set(_Boost_REGEX_HEADERS "boost/regex.hpp")
+ set(_Boost_SERIALIZATION_HEADERS "boost/serialization/serialization.hpp")
+ set(_Boost_SIGNALS_HEADERS "boost/signals.hpp")
+ set(_Boost_SYSTEM_HEADERS "boost/system/config.hpp")
+ set(_Boost_TEST_EXEC_MONITOR_HEADERS "boost/test/test_exec_monitor.hpp")
+ set(_Boost_THREAD_HEADERS "boost/thread.hpp")
+ set(_Boost_TIMER_HEADERS "boost/timer.hpp")
+ set(_Boost_TYPE_ERASURE_HEADERS "boost/type_erasure/config.hpp")
+ set(_Boost_UNIT_TEST_FRAMEWORK_HEADERS "boost/test/framework.hpp")
+ set(_Boost_WAVE_HEADERS "boost/wave.hpp")
+ set(_Boost_WSERIALIZATION_HEADERS "boost/archive/text_wiarchive.hpp")
+ if(WIN32)
+ set(_Boost_BZIP2_HEADERS "boost/iostreams/filter/bzip2.hpp")
+ set(_Boost_ZLIB_HEADERS "boost/iostreams/filter/zlib.hpp")
+ endif()
+
+ string(TOUPPER ${component} uppercomponent)
+ set(${_hdrs} ${_Boost_${uppercomponent}_HEADERS} PARENT_SCOPE)
+
+ string(REGEX REPLACE ";" " " _boost_HDRS_STRING "${_Boost_${uppercomponent}_HEADERS}")
+ if (NOT _boost_HDRS_STRING)
+ set(_boost_HDRS_STRING "(none)")
+ endif()
+ # message(STATUS "Headers for Boost::${component}: ${_boost_HDRS_STRING}")
+endfunction()
+
+#
+# Determine if any missing dependencies require adding to the component list.
+#
+# Sets _Boost_${COMPONENT}_DEPENDENCIES for each required component,
+# plus _Boost_IMPORTED_TARGETS (TRUE if imported targets should be
+# defined; FALSE if dependency information is unavailable).
+#
+# componentvar - the component list variable name
+# extravar - the indirect dependency list variable name
+#
+#
+function(_Boost_MISSING_DEPENDENCIES componentvar extravar)
+ # _boost_unprocessed_components - list of components requiring processing
+ # _boost_processed_components - components already processed (or currently being processed)
+ # _boost_new_components - new components discovered for future processing
+ #
+ list(APPEND _boost_unprocessed_components ${${componentvar}})
+
+ while(_boost_unprocessed_components)
+ list(APPEND _boost_processed_components ${_boost_unprocessed_components})
+ foreach(component ${_boost_unprocessed_components})
+ string(TOUPPER ${component} uppercomponent)
+ set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+ _Boost_COMPONENT_DEPENDENCIES("${component}" _Boost_${uppercomponent}_DEPENDENCIES)
+ set(_Boost_${uppercomponent}_DEPENDENCIES ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
+ set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
+ foreach(componentdep ${_Boost_${uppercomponent}_DEPENDENCIES})
+ list(FIND _boost_processed_components "${componentdep}" _boost_component_found)
+ list(FIND _boost_new_components "${componentdep}" _boost_component_new)
+ if (_boost_component_found EQUAL -1 AND _boost_component_new EQUAL -1)
+ list(APPEND _boost_new_components ${componentdep})
+ endif()
+ endforeach()
+ endforeach()
+ set(_boost_unprocessed_components ${_boost_new_components})
+ unset(_boost_new_components)
+ endwhile()
+ set(_boost_extra_components ${_boost_processed_components})
+ if(_boost_extra_components AND ${componentvar})
+ list(REMOVE_ITEM _boost_extra_components ${${componentvar}})
+ endif()
+ set(${componentvar} ${_boost_processed_components} PARENT_SCOPE)
+ set(${extravar} ${_boost_extra_components} PARENT_SCOPE)
+endfunction()
+
+#
+# Update library search directory hint variable with paths used by prebuilt boost binaries.
+#
+# Prebuilt windows binaries (https://sourceforge.net/projects/boost/files/boost-binaries/)
+# have library directories named using MSVC compiler version and architecture.
+# This function would append corresponding directories if MSVC is a current compiler,
+# so having `BOOST_ROOT` would be enough to specify to find everything.
+#
+macro(_Boost_UPDATE_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS componentlibvar basedir)
+ if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(_arch_suffix 64)
+ else()
+ set(_arch_suffix 32)
+ endif()
+ if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-14.0)
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-12.0)
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-11.0)
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-10.0)
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-9.0)
+ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
+ list(APPEND ${componentlibvar} ${${basedir}}/lib${_arch_suffix}-msvc-8.0)
+ endif()
+ endif()
+endmacro()
+
+#
+# End functions/macros
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# main.
+#-------------------------------------------------------------------------------
+
+
+# If the user sets Boost_LIBRARY_DIR, use it as the default for both
+# configurations.
+if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR)
+ set(Boost_LIBRARY_DIR_RELEASE "${Boost_LIBRARY_DIR}")
+endif()
+if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR)
+ set(Boost_LIBRARY_DIR_DEBUG "${Boost_LIBRARY_DIR}")
+endif()
+
+if(NOT DEFINED Boost_USE_MULTITHREADED)
+ set(Boost_USE_MULTITHREADED TRUE)
+endif()
+if(NOT DEFINED Boost_USE_DEBUG_RUNTIME)
+ set(Boost_USE_DEBUG_RUNTIME TRUE)
+endif()
+
+# Check the version of Boost against the requested version.
+if(Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
+ message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
+endif()
+
+if(Boost_FIND_VERSION_EXACT)
+ # The version may appear in a directory with or without the patch
+ # level, even when the patch level is non-zero.
+ set(_boost_TEST_VERSIONS
+ "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
+ "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+else()
+ # The user has not requested an exact version. Among known
+ # versions, find those that are acceptable to the user request.
+ #
+ # Note: When adding a new Boost release, also update the dependency
+ # information in _Boost_COMPONENT_DEPENDENCIES and
+ # _Boost_COMPONENT_HEADERS. See the instructions at the top of
+ # _Boost_COMPONENT_DEPENDENCIES.
+ set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+ "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+ "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+ "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47" "1.46.1"
+ "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
+ "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
+ "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
+ "1.34" "1.33.1" "1.33.0" "1.33")
+
+ set(_boost_TEST_VERSIONS)
+ if(Boost_FIND_VERSION)
+ set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+ # Select acceptable versions.
+ foreach(version ${_Boost_KNOWN_VERSIONS})
+ if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
+ # This version is high enough.
+ list(APPEND _boost_TEST_VERSIONS "${version}")
+ elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
+ # This version is a short-form for the requested version with
+ # the patch level dropped.
+ list(APPEND _boost_TEST_VERSIONS "${version}")
+ endif()
+ endforeach()
+ else()
+ # Any version is acceptable.
+ set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
+ endif()
+endif()
+
+# The reason that we failed to find Boost. This will be set to a
+# user-friendly message when we fail to find some necessary piece of
+# Boost.
+set(Boost_ERROR_REASON)
+
+if(Boost_DEBUG)
+ # Output some of their choices
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Boost_USE_MULTITHREADED = ${Boost_USE_MULTITHREADED}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Boost_USE_STATIC_LIBS = ${Boost_USE_STATIC_LIBS}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Boost_USE_STATIC_RUNTIME = ${Boost_USE_STATIC_RUNTIME}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Boost_ADDITIONAL_VERSIONS = ${Boost_ADDITIONAL_VERSIONS}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}")
+endif()
+
+# Supply Boost_LIB_DIAGNOSTIC_DEFINITIONS as a convenience target. It
+# will only contain any interface definitions on WIN32, but is created
+# on all platforms to keep end user code free from platform dependent
+# code. Also provide convenience targets to disable autolinking and
+# enable dynamic linking.
+if(NOT TARGET Boost::diagnostic_definitions)
+ add_library(Boost::diagnostic_definitions INTERFACE IMPORTED)
+ add_library(Boost::disable_autolinking INTERFACE IMPORTED)
+ add_library(Boost::dynamic_linking INTERFACE IMPORTED)
+endif()
+if(WIN32)
+ # In windows, automatic linking is performed, so you do not have
+ # to specify the libraries. If you are linking to a dynamic
+ # runtime, then you can choose to link to either a static or a
+ # dynamic Boost library, the default is to do a static link. You
+ # can alter this for a specific library "whatever" by defining
+ # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
+ # linked dynamically. Alternatively you can force all Boost
+ # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
+
+ # This feature can be disabled for Boost library "whatever" by
+ # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
+ # BOOST_ALL_NO_LIB.
+
+ # If you want to observe which libraries are being linked against
+ # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
+ # code to emit a #pragma message each time a library is selected
+ # for linking.
+ set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
+ set_target_properties(Boost::diagnostic_definitions PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_LIB_DIAGNOSTIC")
+ set_target_properties(Boost::disable_autolinking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB")
+ set_target_properties(Boost::dynamic_linking PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_DYN_LINK")
+endif()
+
+_Boost_CHECK_SPELLING(Boost_ROOT)
+_Boost_CHECK_SPELLING(Boost_LIBRARYDIR)
+_Boost_CHECK_SPELLING(Boost_INCLUDEDIR)
+
+# Collect environment variable inputs as hints. Do not consider changes.
+foreach(v BOOSTROOT BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR)
+ set(_env $ENV{${v}})
+ if(_env)
+ file(TO_CMAKE_PATH "${_env}" _ENV_${v})
+ else()
+ set(_ENV_${v} "")
+ endif()
+endforeach()
+if(NOT _ENV_BOOST_ROOT AND _ENV_BOOSTROOT)
+ set(_ENV_BOOST_ROOT "${_ENV_BOOSTROOT}")
+endif()
+
+# Collect inputs and cached results. Detect changes since the last run.
+if(NOT BOOST_ROOT AND BOOSTROOT)
+ set(BOOST_ROOT "${BOOSTROOT}")
+endif()
+set(_Boost_VARS_DIR
+ BOOST_ROOT
+ Boost_NO_SYSTEM_PATHS
+ )
+
+if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Declared as CMake or Environmental Variables:")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " BOOST_ROOT = ${BOOST_ROOT}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " BOOST_INCLUDEDIR = ${BOOST_INCLUDEDIR}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " BOOST_LIBRARYDIR = ${BOOST_LIBRARYDIR}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
+endif()
+
+# ------------------------------------------------------------------------
+# Search for Boost include DIR
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_INC BOOST_INCLUDEDIR Boost_INCLUDE_DIR Boost_ADDITIONAL_VERSIONS)
+_Boost_CHANGE_DETECT(_Boost_CHANGE_INCDIR ${_Boost_VARS_DIR} ${_Boost_VARS_INC})
+# Clear Boost_INCLUDE_DIR if it did not change but other input affecting the
+# location did. We will find a new one based on the new inputs.
+if(_Boost_CHANGE_INCDIR AND NOT _Boost_INCLUDE_DIR_CHANGED)
+ unset(Boost_INCLUDE_DIR CACHE)
+endif()
+
+if(NOT Boost_INCLUDE_DIR)
+ set(_boost_INCLUDE_SEARCH_DIRS "")
+ if(BOOST_INCLUDEDIR)
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_INCLUDEDIR})
+ elseif(_ENV_BOOST_INCLUDEDIR)
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_INCLUDEDIR})
+ endif()
+
+ if( BOOST_ROOT )
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${BOOST_ROOT})
+ elseif( _ENV_BOOST_ROOT )
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_ROOT}/include ${_ENV_BOOST_ROOT})
+ endif()
+
+ if( Boost_NO_SYSTEM_PATHS)
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+ else()
+ list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS
+ C:/boost/include
+ C:/boost
+ /sw/local/include
+ )
+ endif()
+
+ # Try to find Boost by stepping backwards through the Boost versions
+ # we know about.
+ # Build a list of path suffixes for each version.
+ set(_boost_PATH_SUFFIXES)
+ foreach(_boost_VER ${_boost_TEST_VERSIONS})
+ # Add in a path suffix, based on the required version, ideally
+ # we could read this from version.hpp, but for that to work we'd
+ # need to know the include dir already
+ set(_boost_BOOSTIFIED_VERSION)
+
+ # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0
+ if(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
+ set(_boost_BOOSTIFIED_VERSION
+ "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}_${CMAKE_MATCH_3}")
+ elseif(_boost_VER MATCHES "([0-9]+)\\.([0-9]+)")
+ set(_boost_BOOSTIFIED_VERSION
+ "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
+ endif()
+
+ list(APPEND _boost_PATH_SUFFIXES
+ "boost-${_boost_BOOSTIFIED_VERSION}"
+ "boost_${_boost_BOOSTIFIED_VERSION}"
+ "boost/boost-${_boost_BOOSTIFIED_VERSION}"
+ "boost/boost_${_boost_BOOSTIFIED_VERSION}"
+ )
+
+ endforeach()
+
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Include debugging info:")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " _boost_INCLUDE_SEARCH_DIRS = ${_boost_INCLUDE_SEARCH_DIRS}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ " _boost_PATH_SUFFIXES = ${_boost_PATH_SUFFIXES}")
+ endif()
+
+ # Look for a standard boost header file.
+ find_path(Boost_INCLUDE_DIR
+ NAMES boost/config.hpp
+ HINTS ${_boost_INCLUDE_SEARCH_DIRS}
+ PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
+ )
+endif()
+
+# ------------------------------------------------------------------------
+# Extract version information from version.hpp
+# ------------------------------------------------------------------------
+
+# Set Boost_FOUND based only on header location and version.
+# It will be updated below for component libraries.
+if(Boost_INCLUDE_DIR)
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
+ endif()
+
+ # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
+ set(Boost_VERSION 0)
+ set(Boost_LIB_VERSION "")
+ file(STRINGS "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS REGEX "#define BOOST_(LIB_)?VERSION ")
+ set(_Boost_VERSION_REGEX "([0-9]+)")
+ set(_Boost_LIB_VERSION_REGEX "\"([0-9_]+)\"")
+ foreach(v VERSION LIB_VERSION)
+ if("${_boost_VERSION_HPP_CONTENTS}" MATCHES "#define BOOST_${v} ${_Boost_${v}_REGEX}")
+ set(Boost_${v} "${CMAKE_MATCH_1}")
+ endif()
+ endforeach()
+ unset(_boost_VERSION_HPP_CONTENTS)
+
+ math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
+ math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
+ math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
+
+ string(APPEND Boost_ERROR_REASON
+ "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "version.hpp reveals boost "
+ "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+ endif()
+
+ if(Boost_FIND_VERSION)
+ # Set Boost_FOUND based on requested version.
+ set(_Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+ if("${_Boost_VERSION}" VERSION_LESS "${Boost_FIND_VERSION}")
+ set(Boost_FOUND 0)
+ set(_Boost_VERSION_AGE "old")
+ elseif(Boost_FIND_VERSION_EXACT AND
+ NOT "${_Boost_VERSION}" VERSION_EQUAL "${Boost_FIND_VERSION}")
+ set(Boost_FOUND 0)
+ set(_Boost_VERSION_AGE "new")
+ else()
+ set(Boost_FOUND 1)
+ endif()
+ if(NOT Boost_FOUND)
+ # State that we found a version of Boost that is too new or too old.
+ string(APPEND Boost_ERROR_REASON
+ "\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
+ if (Boost_FIND_VERSION_PATCH)
+ string(APPEND Boost_ERROR_REASON
+ ".${Boost_FIND_VERSION_PATCH}")
+ endif ()
+ if (NOT Boost_FIND_VERSION_EXACT)
+ string(APPEND Boost_ERROR_REASON " (or newer)")
+ endif ()
+ string(APPEND Boost_ERROR_REASON ".")
+ endif ()
+ else()
+ # Caller will accept any Boost version.
+ set(Boost_FOUND 1)
+ endif()
+else()
+ set(Boost_FOUND 0)
+ string(APPEND Boost_ERROR_REASON
+ "Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
+endif()
+
+# ------------------------------------------------------------------------
+# Prefix initialization
+# ------------------------------------------------------------------------
+
+set(Boost_LIB_PREFIX "")
+if ( (GHSMULTI AND Boost_USE_STATIC_LIBS) OR
+ (WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN) )
+ set(Boost_LIB_PREFIX "lib")
+endif()
+
+if ( NOT Boost_NAMESPACE )
+ set(Boost_NAMESPACE "boost")
+endif()
+
+# ------------------------------------------------------------------------
+# Suffix initialization and compiler suffix detection.
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_NAME
+ Boost_NAMESPACE
+ Boost_COMPILER
+ Boost_THREADAPI
+ Boost_USE_DEBUG_PYTHON
+ Boost_USE_MULTITHREADED
+ Boost_USE_STATIC_LIBS
+ Boost_USE_STATIC_RUNTIME
+ Boost_USE_STLPORT
+ Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+ )
+_Boost_CHANGE_DETECT(_Boost_CHANGE_LIBNAME ${_Boost_VARS_NAME})
+
+# Setting some more suffixes for the library
+if (Boost_COMPILER)
+ set(_boost_COMPILER ${Boost_COMPILER})
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "using user-specified Boost_COMPILER = ${_boost_COMPILER}")
+ endif()
+else()
+ # Attempt to guess the compiler suffix
+ # NOTE: this is not perfect yet, if you experience any issues
+ # please report them and use the Boost_COMPILER variable
+ # to work around the problems.
+ _Boost_GUESS_COMPILER_PREFIX(_boost_COMPILER)
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "guessed _boost_COMPILER = ${_boost_COMPILER}")
+ endif()
+endif()
+
+set (_boost_MULTITHREADED "-mt")
+if( NOT Boost_USE_MULTITHREADED )
+ set (_boost_MULTITHREADED "")
+endif()
+if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
+endif()
+
+#======================
+# Systematically build up the Boost ABI tag
+# http://boost.org/doc/libs/1_41_0/more/getting_started/windows.html#library-naming
+set( _boost_RELEASE_ABI_TAG "-")
+set( _boost_DEBUG_ABI_TAG "-")
+# Key Use this library when:
+# s linking statically to the C++ standard library and
+# compiler runtime support libraries.
+if(Boost_USE_STATIC_RUNTIME)
+ set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}s")
+ set( _boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}s")
+endif()
+# g using debug versions of the standard and runtime
+# support libraries
+if(WIN32 AND Boost_USE_DEBUG_RUNTIME)
+ if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC"
+ OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
+ OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc")
+ string(APPEND _boost_DEBUG_ABI_TAG "g")
+ endif()
+endif()
+# y using special debug build of python
+if(Boost_USE_DEBUG_PYTHON)
+ string(APPEND _boost_DEBUG_ABI_TAG "y")
+endif()
+# d using a debug version of your code
+string(APPEND _boost_DEBUG_ABI_TAG "d")
+# p using the STLport standard library rather than the
+# default one supplied with your compiler
+if(Boost_USE_STLPORT)
+ set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}p")
+ set( _boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}p")
+endif()
+# n using the STLport deprecated "native iostreams" feature
+if(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS)
+ set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}n")
+ set( _boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}n")
+endif()
+
+if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_DEBUG_ABI_TAG = ${_boost_DEBUG_ABI_TAG}")
+endif()
+
+# ------------------------------------------------------------------------
+# Begin finding boost libraries
+# ------------------------------------------------------------------------
+
+set(_Boost_VARS_LIB "")
+foreach(c DEBUG RELEASE)
+ set(_Boost_VARS_LIB_${c} BOOST_LIBRARYDIR Boost_LIBRARY_DIR_${c})
+ list(APPEND _Boost_VARS_LIB ${_Boost_VARS_LIB_${c}})
+ _Boost_CHANGE_DETECT(_Boost_CHANGE_LIBDIR_${c} ${_Boost_VARS_DIR} ${_Boost_VARS_LIB_${c}} Boost_INCLUDE_DIR)
+ # Clear Boost_LIBRARY_DIR_${c} if it did not change but other input affecting the
+ # location did. We will find a new one based on the new inputs.
+ if(_Boost_CHANGE_LIBDIR_${c} AND NOT _Boost_LIBRARY_DIR_${c}_CHANGED)
+ unset(Boost_LIBRARY_DIR_${c} CACHE)
+ endif()
+
+ # If Boost_LIBRARY_DIR_[RELEASE,DEBUG] is set, prefer its value.
+ if(Boost_LIBRARY_DIR_${c})
+ set(_boost_LIBRARY_SEARCH_DIRS_${c} ${Boost_LIBRARY_DIR_${c}} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ else()
+ set(_boost_LIBRARY_SEARCH_DIRS_${c} "")
+ if(BOOST_LIBRARYDIR)
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_LIBRARYDIR})
+ elseif(_ENV_BOOST_LIBRARYDIR)
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_LIBRARYDIR})
+ endif()
+
+ if(BOOST_ROOT)
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${BOOST_ROOT}/lib ${BOOST_ROOT}/stage/lib)
+ _Boost_UPDATE_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} BOOST_ROOT)
+ elseif(_ENV_BOOST_ROOT)
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} ${_ENV_BOOST_ROOT}/lib ${_ENV_BOOST_ROOT}/stage/lib)
+ _Boost_UPDATE_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} _ENV_BOOST_ROOT)
+ endif()
+
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}
+ ${Boost_INCLUDE_DIR}/lib
+ ${Boost_INCLUDE_DIR}/../lib
+ ${Boost_INCLUDE_DIR}/stage/lib
+ )
+ if( Boost_NO_SYSTEM_PATHS )
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+ else()
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} PATHS
+ C:/boost/lib
+ C:/boost
+ /sw/local/lib
+ )
+ endif()
+ endif()
+endforeach()
+
+if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_LIBRARY_SEARCH_DIRS_RELEASE = ${_boost_LIBRARY_SEARCH_DIRS_RELEASE}"
+ "_boost_LIBRARY_SEARCH_DIRS_DEBUG = ${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
+endif()
+
+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
+if( Boost_USE_STATIC_LIBS )
+ set( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ if(WIN32)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ else()
+ set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
+ endif()
+endif()
+
+# We want to use the tag inline below without risking double dashes
+if(_boost_RELEASE_ABI_TAG)
+ if(${_boost_RELEASE_ABI_TAG} STREQUAL "-")
+ set(_boost_RELEASE_ABI_TAG "")
+ endif()
+endif()
+if(_boost_DEBUG_ABI_TAG)
+ if(${_boost_DEBUG_ABI_TAG} STREQUAL "-")
+ set(_boost_DEBUG_ABI_TAG "")
+ endif()
+endif()
+
+# The previous behavior of FindBoost when Boost_USE_STATIC_LIBS was enabled
+# on WIN32 was to:
+# 1. Search for static libs compiled against a SHARED C++ standard runtime library (use if found)
+# 2. Search for static libs compiled against a STATIC C++ standard runtime library (use if found)
+# We maintain this behavior since changing it could break people's builds.
+# To disable the ambiguous behavior, the user need only
+# set Boost_USE_STATIC_RUNTIME either ON or OFF.
+set(_boost_STATIC_RUNTIME_WORKAROUND false)
+if(WIN32 AND Boost_USE_STATIC_LIBS)
+ if(NOT DEFINED Boost_USE_STATIC_RUNTIME)
+ set(_boost_STATIC_RUNTIME_WORKAROUND true)
+ endif()
+endif()
+
+# On versions < 1.35, remove the System library from the considered list
+# since it wasn't added until 1.35.
+if(Boost_VERSION AND Boost_FIND_COMPONENTS)
+ if(Boost_VERSION LESS 103500)
+ list(REMOVE_ITEM Boost_FIND_COMPONENTS system)
+ endif()
+endif()
+
+# Additional components may be required via component dependencies.
+# Add any missing components to the list.
+_Boost_MISSING_DEPENDENCIES(Boost_FIND_COMPONENTS _Boost_EXTRA_FIND_COMPONENTS)
+
+# If thread is required, get the thread libs as a dependency
+list(FIND Boost_FIND_COMPONENTS thread _Boost_THREAD_DEPENDENCY_LIBS)
+if(NOT _Boost_THREAD_DEPENDENCY_LIBS EQUAL -1)
+ include(CMakeFindDependencyMacro)
+ find_dependency(Threads)
+endif()
+
+# If the user changed any of our control inputs flush previous results.
+if(_Boost_CHANGE_LIBDIR OR _Boost_CHANGE_LIBNAME)
+ foreach(COMPONENT ${_Boost_COMPONENTS_SEARCHED})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ foreach(c DEBUG RELEASE)
+ set(_var Boost_${UPPERCOMPONENT}_LIBRARY_${c})
+ unset(${_var} CACHE)
+ set(${_var} "${_var}-NOTFOUND")
+ endforeach()
+ endforeach()
+ set(_Boost_COMPONENTS_SEARCHED "")
+endif()
+
+foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ set( _boost_docstring_release "Boost ${COMPONENT} library (release)")
+ set( _boost_docstring_debug "Boost ${COMPONENT} library (debug)")
+
+ # Compute component-specific hints.
+ set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "")
+ if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR
+ ${COMPONENT} STREQUAL "graph_parallel")
+ foreach(lib ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES})
+ if(IS_ABSOLUTE "${lib}")
+ get_filename_component(libdir "${lib}" PATH)
+ string(REPLACE "\\" "/" libdir "${libdir}")
+ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT ${libdir})
+ endif()
+ endforeach()
+ endif()
+
+ # Consolidate and report component-specific hints.
+ if(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+ list(REMOVE_DUPLICATES _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT)
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Component-specific library search paths for ${COMPONENT}: "
+ "${_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT}")
+ endif()
+ endif()
+
+ #
+ # Find headers
+ #
+ _Boost_COMPONENT_HEADERS("${COMPONENT}" Boost_${UPPERCOMPONENT}_HEADER_NAME)
+ # Look for a standard boost header file.
+ if(Boost_${UPPERCOMPONENT}_HEADER_NAME)
+ if(EXISTS "${Boost_INCLUDE_DIR}/${Boost_${UPPERCOMPONENT}_HEADER_NAME}")
+ set(Boost_${UPPERCOMPONENT}_HEADER ON)
+ else()
+ set(Boost_${UPPERCOMPONENT}_HEADER OFF)
+ endif()
+ else()
+ set(Boost_${UPPERCOMPONENT}_HEADER ON)
+ message(WARNING "No header defined for ${COMPONENT}; skipping header check")
+ endif()
+
+ #
+ # Find RELEASE libraries
+ #
+ set(_boost_RELEASE_NAMES
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+ if(_boost_STATIC_RUNTIME_WORKAROUND)
+ set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
+ list(APPEND _boost_RELEASE_NAMES
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+ endif()
+ if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+ _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES})
+ endif()
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
+ endif()
+
+ # if Boost_LIBRARY_DIR_RELEASE is not defined,
+ # but Boost_LIBRARY_DIR_DEBUG is, look there first for RELEASE libs
+ if(NOT Boost_LIBRARY_DIR_RELEASE AND Boost_LIBRARY_DIR_DEBUG)
+ list(INSERT _boost_LIBRARY_SEARCH_DIRS_RELEASE 0 ${Boost_LIBRARY_DIR_DEBUG})
+ endif()
+
+ # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
+ string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_RELEASE}")
+
+ _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE RELEASE
+ NAMES ${_boost_RELEASE_NAMES}
+ HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
+ NAMES_PER_DIR
+ DOC "${_boost_docstring_release}"
+ )
+
+ #
+ # Find DEBUG libraries
+ #
+ set(_boost_DEBUG_NAMES
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+ if(_boost_STATIC_RUNTIME_WORKAROUND)
+ set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}")
+ list(APPEND _boost_DEBUG_NAMES
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+ endif()
+ if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+ _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES})
+ endif()
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")
+ endif()
+
+ # if Boost_LIBRARY_DIR_DEBUG is not defined,
+ # but Boost_LIBRARY_DIR_RELEASE is, look there first for DEBUG libs
+ if(NOT Boost_LIBRARY_DIR_DEBUG AND Boost_LIBRARY_DIR_RELEASE)
+ list(INSERT _boost_LIBRARY_SEARCH_DIRS_DEBUG 0 ${Boost_LIBRARY_DIR_RELEASE})
+ endif()
+
+ # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
+ string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS_DEBUG}")
+
+ _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG DEBUG
+ NAMES ${_boost_DEBUG_NAMES}
+ HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
+ NAMES_PER_DIR
+ DOC "${_boost_docstring_debug}"
+ )
+
+ if(Boost_REALPATH)
+ _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "${_boost_docstring_release}")
+ _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "${_boost_docstring_debug}" )
+ endif()
+
+ _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
+
+endforeach()
+
+# Restore the original find library ordering
+if( Boost_USE_STATIC_LIBS )
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+endif()
+
+# ------------------------------------------------------------------------
+# End finding boost libraries
+# ------------------------------------------------------------------------
+
+set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
+set(Boost_LIBRARY_DIRS)
+if(Boost_LIBRARY_DIR_RELEASE)
+ list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_RELEASE})
+endif()
+if(Boost_LIBRARY_DIR_DEBUG)
+ list(APPEND Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR_DEBUG})
+endif()
+if(Boost_LIBRARY_DIRS)
+ list(REMOVE_DUPLICATES Boost_LIBRARY_DIRS)
+endif()
+
+# The above setting of Boost_FOUND was based only on the header files.
+# Update it for the requested component libraries.
+if(Boost_FOUND)
+ # The headers were found. Check for requested component libs.
+ set(_boost_CHECKED_COMPONENT FALSE)
+ set(_Boost_MISSING_COMPONENTS "")
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ string(TOUPPER ${COMPONENT} COMPONENT)
+ set(_boost_CHECKED_COMPONENT TRUE)
+ if(NOT Boost_${COMPONENT}_FOUND)
+ string(TOLOWER ${COMPONENT} COMPONENT)
+ list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
+ endif()
+ endforeach()
+ if(_Boost_MISSING_COMPONENTS AND _Boost_EXTRA_FIND_COMPONENTS)
+ # Optional indirect dependencies are not counted as missing.
+ list(REMOVE_ITEM _Boost_MISSING_COMPONENTS ${_Boost_EXTRA_FIND_COMPONENTS})
+ endif()
+
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
+ endif()
+
+ if (_Boost_MISSING_COMPONENTS)
+ set(Boost_FOUND 0)
+ # We were unable to find some libraries, so generate a sensible
+ # error message that lists the libraries we were unable to find.
+ string(APPEND Boost_ERROR_REASON
+ "\nCould not find the following")
+ if(Boost_USE_STATIC_LIBS)
+ string(APPEND Boost_ERROR_REASON " static")
+ endif()
+ string(APPEND Boost_ERROR_REASON
+ " Boost libraries:\n")
+ foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
+ string(APPEND Boost_ERROR_REASON
+ " ${Boost_NAMESPACE}_${COMPONENT}\n")
+ endforeach()
+
+ list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
+ list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
+ if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
+ string(APPEND Boost_ERROR_REASON
+ "No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
+ else ()
+ string(APPEND Boost_ERROR_REASON
+ "Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
+ endif ()
+ endif ()
+
+ if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
+ # Compatibility Code for backwards compatibility with CMake
+ # 2.4's FindBoost module.
+
+ # Look for the boost library path.
+ # Note that the user may not have installed any libraries
+ # so it is quite possible the Boost_LIBRARY_DIRS may not exist.
+ set(_boost_LIB_DIR ${Boost_INCLUDE_DIR})
+
+ if("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
+ get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
+ endif()
+
+ if("${_boost_LIB_DIR}" MATCHES "/include$")
+ # Strip off the trailing "/include" in the path.
+ get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
+ endif()
+
+ if(EXISTS "${_boost_LIB_DIR}/lib")
+ set(_boost_LIB_DIR ${_boost_LIB_DIR}/lib)
+ else()
+ if(EXISTS "${_boost_LIB_DIR}/stage/lib")
+ set(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib)
+ else()
+ set(_boost_LIB_DIR "")
+ endif()
+ endif()
+
+ if(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
+ set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR})
+ endif()
+
+ endif()
+else()
+ # Boost headers were not found so no components were found.
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ set(Boost_${UPPERCOMPONENT}_FOUND 0)
+ endforeach()
+endif()
+
+# ------------------------------------------------------------------------
+# Add imported targets
+# ------------------------------------------------------------------------
+
+if(Boost_FOUND)
+ # For header-only libraries
+ if(NOT TARGET Boost::boost)
+ add_library(Boost::boost INTERFACE IMPORTED)
+ if(Boost_INCLUDE_DIRS)
+ set_target_properties(Boost::boost PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ endif()
+
+ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ if(_Boost_IMPORTED_TARGETS AND NOT TARGET Boost::${COMPONENT})
+ string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ if(Boost_${UPPERCOMPONENT}_FOUND)
+ if(Boost_USE_STATIC_LIBS)
+ add_library(Boost::${COMPONENT} STATIC IMPORTED)
+ else()
+ # Even if Boost_USE_STATIC_LIBS is OFF, we might have static
+ # libraries as a result.
+ add_library(Boost::${COMPONENT} UNKNOWN IMPORTED)
+ endif()
+ if(Boost_INCLUDE_DIRS)
+ set_target_properties(Boost::${COMPONENT} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+ set_target_properties(Boost::${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${Boost_${UPPERCOMPONENT}_LIBRARY}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+ set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS RELEASE)
+ set_target_properties(Boost::${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+ IMPORTED_LOCATION_RELEASE "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
+ endif()
+ if(EXISTS "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+ set_property(TARGET Boost::${COMPONENT} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS DEBUG)
+ set_target_properties(Boost::${COMPONENT} PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+ IMPORTED_LOCATION_DEBUG "${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG}")
+ endif()
+ if(_Boost_${UPPERCOMPONENT}_DEPENDENCIES)
+ unset(_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES)
+ foreach(dep ${_Boost_${UPPERCOMPONENT}_DEPENDENCIES})
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Boost::${dep})
+ endforeach()
+ if(COMPONENT STREQUAL "thread")
+ list(APPEND _Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES Threads::Threads)
+ endif()
+ set_target_properties(Boost::${COMPONENT} PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${_Boost_${UPPERCOMPONENT}_TARGET_DEPENDENCIES}")
+ endif()
+ endif()
+ endif()
+ endforeach()
+endif()
+
+# ------------------------------------------------------------------------
+# Notification to end user about what was found
+# ------------------------------------------------------------------------
+
+set(Boost_LIBRARIES "")
+if(Boost_FOUND)
+ if(NOT Boost_FIND_QUIETLY)
+ message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
+ if(Boost_FIND_COMPONENTS)
+ message(STATUS "Found the following Boost libraries:")
+ endif()
+ endif()
+ foreach( COMPONENT ${Boost_FIND_COMPONENTS} )
+ string( TOUPPER ${COMPONENT} UPPERCOMPONENT )
+ if( Boost_${UPPERCOMPONENT}_FOUND )
+ if(NOT Boost_FIND_QUIETLY)
+ message (STATUS " ${COMPONENT}")
+ endif()
+ list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
+ endif()
+ endforeach()
+else()
+ if(Boost_FIND_REQUIRED)
+ message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
+ else()
+ if(NOT Boost_FIND_QUIETLY)
+ # we opt not to automatically output Boost_ERROR_REASON here as
+ # it could be quite lengthy and somewhat imposing in its requests
+ # Since Boost is not always a required dependency we'll leave this
+ # up to the end-user.
+ if(Boost_DEBUG OR Boost_DETAILED_FAILURE_MSG)
+ message(STATUS "Could NOT find Boost\n${Boost_ERROR_REASON}")
+ else()
+ message(STATUS "Could NOT find Boost")
+ endif()
+ endif()
+ endif()
+endif()
+
+# Configure display of cache entries in GUI.
+foreach(v BOOSTROOT BOOST_ROOT ${_Boost_VARS_INC} ${_Boost_VARS_LIB})
+ get_property(_type CACHE ${v} PROPERTY TYPE)
+ if(_type)
+ set_property(CACHE ${v} PROPERTY ADVANCED 1)
+ if("x${_type}" STREQUAL "xUNINITIALIZED")
+ if("x${v}" STREQUAL "xBoost_ADDITIONAL_VERSIONS")
+ set_property(CACHE ${v} PROPERTY TYPE STRING)
+ else()
+ set_property(CACHE ${v} PROPERTY TYPE PATH)
+ endif()
+ endif()
+ endif()
+endforeach()
+
+# Record last used values of input variables so we can
+# detect on the next run if the user changed them.
+foreach(v
+ ${_Boost_VARS_INC} ${_Boost_VARS_LIB}
+ ${_Boost_VARS_DIR} ${_Boost_VARS_NAME}
+ )
+ if(DEFINED ${v})
+ set(_${v}_LAST "${${v}}" CACHE INTERNAL "Last used ${v} value.")
+ else()
+ unset(_${v}_LAST CACHE)
+ endif()
+endforeach()
+
+# Maintain a persistent list of components requested anywhere since
+# the last flush.
+set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}")
+list(APPEND _Boost_COMPONENTS_SEARCHED ${Boost_FIND_COMPONENTS})
+list(REMOVE_DUPLICATES _Boost_COMPONENTS_SEARCHED)
+list(SORT _Boost_COMPONENTS_SEARCHED)
+set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}"
+ CACHE INTERNAL "Components requested for this build tree.")
diff --git a/cmake/modules/FindCHOLMOD.cmake b/cmake/modules/FindCHOLMOD.cmake
index 35eafb8..f05a4fe 100644
--- a/cmake/modules/FindCHOLMOD.cmake
+++ b/cmake/modules/FindCHOLMOD.cmake
@@ -54,38 +54,38 @@ find_package(ParMETIS 4.0.2 QUIET)
# Check for header file
find_path(CHOLMOD_INCLUDE_DIRS cholmod.h
- HINTS ${CHOLMOD_DIR}/include $ENV{CHOLMOD_DIR}/include $ENV{PETSC_DIR}/include
+ HINTS ${CHOLMOD_DIR}/include $ENV{CHOLMOD_DIR}/include ${PETSC_INCLUDE_DIRS} $ENV{PETSC_DIR}/include
PATH_SUFFIXES suitesparse ufsparse
DOC "Directory where the CHOLMOD header is located")
# Check for CHOLMOD library
find_library(CHOLMOD_LIBRARY cholmod
- HINTS ${CHOLMOD_DIR}/lib $ENV{CHOLMOD_DIR}/lib $ENV{PETSC_DIR}/lib
+ HINTS ${CHOLMOD_DIR}/lib $ENV{CHOLMOD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The CHOLMOD library")
# Check for CAMD library
find_library(CAMD_LIBRARY camd
HINTS ${CHOLMOD_DIR}/lib ${CAMD_DIR}/lib $ENV{CHOLMOD_DIR}/lib
- $ENV{CAMD_DIR}/lib $ENV{PETSC_DIR}/lib
+ $ENV{CAMD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The CAMD library")
# Check for COLAMD library
find_library(COLAMD_LIBRARY colamd
HINTS ${CHOLMOD_DIR}/lib ${COLAMD_DIR}/lib $ENV{CHOLMOD_DIR}/lib
- $ENV{COLAMD_DIR}/lib $ENV{PETSC_DIR}/lib
+ $ENV{COLAMD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The COLAMD library"
)
# Check for CCOLAMD library
find_library(CCOLAMD_LIBRARY ccolamd
HINTS ${CHOLMOD_DIR}/lib ${CCOLAMD_DIR}/lib $ENV{CHOLMOD_DIR}/lib
- $ENV{CCOLAMD_DIR}/lib $ENV{PETSC_DIR}/lib
+ $ENV{CCOLAMD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The CCOLAMD library")
# Check for SUITESPARSECONFIG library
find_library(SUITESPARSECONFIG_LIBRARY suitesparseconfig
HINTS ${CHOLMOD_DIR}/lib ${CCOLAMD_DIR}/lib $ENV{CHOLMOD_DIR}/lib
- $ENV{CCOLAMD_DIR}/lib $ENV{PETSC_DIR}/lib
+ $ENV{CCOLAMD_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The SUITESPARSECONFIG library")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND NOT APPLE)
diff --git a/cmake/modules/FindCppUnit.cmake b/cmake/modules/FindCppUnit.cmake
deleted file mode 100644
index bcd7c2a..0000000
--- a/cmake/modules/FindCppUnit.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-# - Try to find CPPUNIT
-# Once done this will define
-#
-# CPPUNIT_FOUND - system has CPPUNIT
-# CPPUNIT_INCLUDE_DIRS - include directories for CPPUNIT
-# CPPUNIT_LIBRARIES - libraries for CPPUNIT
-# CPPUNIT_VERSION - CPPUNIT version string (MAJOR.MINOR.MICRO)
-
-#=============================================================================
-# Copyright (C) 2010-2012 Garth N. Wells, Anders Logg and Johannes Ring
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-include(FindPkgConfig)
-pkg_check_modules(PC_CPPUNIT cppunit)
-
-set(CPPUNIT_VERSION ${PC_CPPUNIT_VERSION})
-
-# Check for header file
-find_path(CPPUNIT_INCLUDE_DIRS cppunit/Test.h
- HINTS ${PC_CPPUNIT_INCLUDEDIR} ${CPPUNIT_DIR}/include $ENV{CPPUNIT_DIR}/include
- DOC "Directory where the CPPUNIT header is located"
- )
-
-# Check for library
-find_library(CPPUNIT_LIBRARIES cppunit
- HINTS ${PC_CPPUNIT_LIBDIR} ${CPPUNIT_DIR}/lib $ENV{CPPUNIT_DIR}/lib
- NO_DEFAULT_PATH
- DOC "The CPPUNIT library"
- )
-find_library(CPPUNIT_LIBRARIES cppunit
- DOC "The CPPUNIT library"
- )
-
-mark_as_advanced(
- CPPUNIT_LIBRARIES
- CPPUNIT_INCLUDE_DIRS
- CPPUNIT_VERSION
- )
-
-# Standard package handling
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CPPUNIT
- "CPPUNIT could not be found. Be sure to set CPPUNIT_DIR."
- CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
diff --git a/cmake/modules/FindLAPACK.cmake b/cmake/modules/FindLAPACK.cmake
index 716ac1f..42e4b40 100644
--- a/cmake/modules/FindLAPACK.cmake
+++ b/cmake/modules/FindLAPACK.cmake
@@ -181,6 +181,19 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
endif(NOT LAPACK_LIBRARIES)
endif (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
+ if(NOT LAPACK_LIBRARIES)
+ check_lapack_libraries(
+ LAPACK_LIBRARIES
+ LAPACK
+ cheev
+ ""
+ "openblas"
+ "${BLAS_LIBRARIES}"
+ ""
+ )
+ endif(NOT LAPACK_LIBRARIES)
+endif (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
#acml lapack
if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
@@ -332,7 +345,7 @@ else(BLA_F95)
if(NOT LAPACK_FIND_QUIETLY)
if(LAPACK_FOUND)
- message(STATUS "A library with LAPACK API found.")
+ message(STATUS "Found LAPACK: ${LAPACK_LIBRARIES}")
else(LAPACK_FOUND)
if(LAPACK_FIND_REQUIRED)
message(FATAL_ERROR
diff --git a/cmake/modules/FindPETSc.cmake b/cmake/modules/FindPETSc.cmake
index 2566b7b..3995e0a 100644
--- a/cmake/modules/FindPETSc.cmake
+++ b/cmake/modules/FindPETSc.cmake
@@ -1,23 +1,19 @@
# - Try to find PETSc
# Once done this will define
#
-# PETSC_FOUND - system has PETSc
-# PETSC_INCLUDE_DIRS - include directories for PETSc
-# PETSC_LIBRARIES - libraries for PETSc
-# PETSC_DIR - directory where PETSc is built
-# PETSC_ARCH - architecture for which PETSc is built
-# PETSC_CUSP_FOUND - PETSc has Cusp support
-# PETSC_VERSION - version for PETSc
-# PETSC_VERSION_MAJOR - First number in PETSC_VERSION
-# PETSC_VERSION_MINOR - Second number in PETSC_VERSION
-# PETSC_VERSION_SUBMINOR - Third number in PETSC_VERSION
-# PETSC_INT_SIZE - sizeof(PetscInt)
+# PETSC_FOUND - system has PETSc
+# PETSC_INCLUDE_DIRS - include directories for PETSc
+# PETSC_LIBRARY_DIRS - library directories for PETSc
+# PETSC_LIBRARIES - libraries for PETSc
+# PETSC_STATIC_LIBRARIES - libraries for PETSc (static linking, undefined if not required)
+# PETSC_VERSION - version for PETSc
+# PETSC_VERSION_MAJOR - First number in PETSC_VERSION
+# PETSC_VERSION_MINOR - Second number in PETSC_VERSION
+# PETSC_VERSION_SUBMINOR - Third number in PETSC_VERSION
+# PETSC_INT_SIZE - sizeof(PetscInt)
#
-# This config script is (very loosley) based on a PETSc CMake script
-# by Jed Brown.
-
#=============================================================================
-# Copyright (C) 2010-2012 Garth N. Wells, Anders Logg and Johannes Ring
+# Copyright (C) 2010-2016 Garth N. Wells, Anders Logg and Johannes Ring
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -45,229 +41,49 @@
# POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
-# NOTE: The PETSc Makefile returns a bunch of libraries with '-L' and
-# '-l', wheres we would prefer complete paths. For a discussion, see
-# http://www.cmake.org/Wiki/CMake:Improving_Find*_Modules#Current_workarounds
+# Outline:
+# 1. Get flags from PETSc-generated pkg-config file
+# 2. Test compile and run program using shared library linking
+# 3. If shared library linking fails, test with static library linking
message(STATUS "Checking for package 'PETSc'")
-# Set debian_arches (PETSC_ARCH for Debian-style installations)
-foreach (debian_arches linux kfreebsd)
- if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
- set(DEBIAN_FLAVORS ${debian_arches}-gnu-c-debug ${debian_arches}-gnu-c-opt
- ${DEBIAN_FLAVORS})
- else()
- set(DEBIAN_FLAVORS ${debian_arches}-gnu-c-opt ${debian_arches}-gnu-c-debug
- ${DEBIAN_FLAVORS})
- endif()
-endforeach()
-
-# List of possible locations for PETSC_DIR
-set(petsc_dir_locations "")
-list(APPEND petsc_dir_locations "/usr/lib/petsc") # Debian location
-list(APPEND petsc_dir_locations "/opt/local/lib/petsc") # Macports location
-list(APPEND petsc_dir_locations "/usr/local/lib/petsc") # User location
-list(APPEND petsc_dir_locations "$ENV{HOME}/petsc") # User location
-
-# Add other possible locations for PETSC_DIR
-set(_SYSTEM_LIB_PATHS "${CMAKE_SYSTEM_LIBRARY_PATH};${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES}")
-string(REGEX REPLACE ":" ";" libdirs ${_SYSTEM_LIB_PATHS})
-foreach (libdir ${libdirs})
- get_filename_component(petsc_dir_location "${libdir}/" PATH)
- list(APPEND petsc_dir_locations ${petsc_dir_location})
-endforeach()
-
-# Try to figure out PETSC_DIR by finding petsc.h
-find_path(PETSC_DIR include/petsc.h
- HINTS ${PETSC_DIR} $ENV{PETSC_DIR}
- PATHS ${petsc_dir_locations}
- DOC "PETSc directory")
-
-# Report result of search for PETSC_DIR
-if (DEFINED PETSC_DIR)
- message(STATUS "PETSC_DIR is ${PETSC_DIR}")
-else()
- message(STATUS "PETSC_DIR is empty")
-endif()
-
-# Try to figure out PETSC_ARCH if not set
-if (PETSC_DIR AND NOT PETSC_ARCH)
- set(_petsc_arches
- $ENV{PETSC_ARCH} # If set, use environment variable first
- ${DEBIAN_FLAVORS} # Debian defaults
- x86_64-unknown-linux-gnu i386-unknown-linux-gnu)
- set(petscconf "NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
- foreach (arch ${_petsc_arches})
- if (NOT PETSC_ARCH)
- find_path(petscconf petscconf.h
- HINTS ${PETSC_DIR}
- PATH_SUFFIXES ${arch}/include bmake/${arch}
- NO_DEFAULT_PATH)
- if (petscconf)
- set(PETSC_ARCH "${arch}" CACHE STRING "PETSc build architecture")
- endif()
- endif()
- endforeach()
- set(petscconf "NOTFOUND" CACHE INTERNAL "Scratch variable" FORCE)
-endif()
+# Find PETSc pkg-config file
+find_package(PkgConfig REQUIRED)
-# Report result of search for PETSC_ARCH
-if (DEFINED PETSC_ARCH)
- message(STATUS "PETSC_ARCH is ${PETSC_ARCH}")
-else()
- message(STATUS "PETSC_ARCH is empty")
-endif()
+# Note: craypetsc_real is on Cray systems
+set(ENV{PKG_CONFIG_PATH} "$ENV{CRAY_PETSC_PREFIX_DIR}/lib/pkgconfig:$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig:$ENV{PETSC_DIR}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}")
+pkg_search_module(PETSC craypetsc_real PETSc)
-# Look for petscconf.h
-if (EXISTS ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h)
- message(STATUS "Found petscconf.h")
- set(FOUND_PETSC_CONF 1)
-else()
- message(STATUS "Unable to find petscconf.h")
+# Extract major, minor, etc from version string
+if (PETSC_VERSION)
+ string(REPLACE "." ";" VERSION_LIST ${PETSC_VERSION})
+ list(GET VERSION_LIST 0 PETSC_VERSION_MAJOR)
+ list(GET VERSION_LIST 1 PETSC_VERSION_MINOR)
+ list(GET VERSION_LIST 2 PETSC_VERSION_SUBMINOR)
endif()
-# Get variables from PETSc configuration
-if (FOUND_PETSC_CONF)
-
- # Find PETSc config file
- find_file(PETSC_VARIABLES_FILE NAMES variables PATHS ${PETSC_DIR}/lib/petsc/conf)
-
- # Create a temporary Makefile to probe the PETSc configuration
- set(petsc_config_makefile ${PROJECT_BINARY_DIR}/Makefile.petsc)
- file(WRITE ${petsc_config_makefile}
-"# This file was autogenerated by FindPETSc.cmake
-PETSC_DIR = ${PETSC_DIR}
-PETSC_ARCH = ${PETSC_ARCH}
--include ${PETSC_VARIABLES_FILE}
-show :
- - at echo -n \${\${VARIABLE}}
-")
-
- # Define macro for getting PETSc variables from Makefile
- macro(PETSC_GET_VARIABLE var name)
- set(${var} "NOTFOUND" CACHE INTERNAL "Cleared" FORCE)
- execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --no-print-directory -f ${petsc_config_makefile} show VARIABLE=${name}
- OUTPUT_VARIABLE ${var}
- RESULT_VARIABLE petsc_return)
- endmacro()
-
- # Call macro to get the PETSc variables
- petsc_get_variable(PETSC_CC_INCLUDES PETSC_CC_INCLUDES)
- petsc_get_variable(PETSC_LIBS PETSC_LIB)
- petsc_get_variable(PETSC_LIB_DIR PETSC_LIB_DIR)
- set(PETSC_LIB "-L${PETSC_LIB_DIR} ${PETSC_LIBS}")
-
- # Extract include paths and libraries from compile command line
- include(ResolveCompilerPaths)
- resolve_includes(PETSC_INCLUDE_DIRS "${PETSC_CC_INCLUDES}")
- resolve_libraries(PETSC_LIBRARIES "${PETSC_LIB}")
-
- # Add some extra libraries on OSX
- if (APPLE)
-
- # CMake will have troubel finding the gfortan libraries if
- # compiling with clang (the libs may be required by 3rd party
- # Fortran libraries)
- find_program(GFORTRAN_EXECUTABLE gfortran)
- if (GFORTRAN_EXECUTABLE)
- execute_process(COMMAND ${GFORTRAN_EXECUTABLE} -print-file-name=libgfortran.dylib
- OUTPUT_VARIABLE GFORTRAN_LIBRARY
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
- if (EXISTS "${GFORTRAN_LIBRARY}")
- list(APPEND PETSC_EXTERNAL_LIBRARIES ${GFORTRAN_LIBRARY})
- endif()
- endif()
-
- find_package(X11)
- if (X11_FOUND)
- list(APPEND PETSC_INCLUDE_DIRS ${X11_X11_INCLUDE_PATH})
- list(APPEND PETSC_EXTERNAL_LIBRARIES ${X11_LIBRARIES})
- endif()
-
- # ResolveCompilerPaths strips OSX frameworks, so add BLAS here for
- # OSX
- petsc_get_variable(PETSC_BLASLAPACK_LIB BLASLAPACK_LIB)
- list(APPEND PETSC_EXTERNAL_LIBRARIES ${PETSC_BLASLAPACK_LIB})
-
- endif()
-
- # Remove temporary Makefile
- file(REMOVE ${petsc_config_makefile})
-
- # Add variables to CMake cache and mark as advanced
- set(PETSC_INCLUDE_DIRS ${PETSC_INCLUDE_DIRS} CACHE STRING "PETSc include paths." FORCE)
- set(PETSC_LIBRARIES ${PETSC_LIBRARIES} CACHE STRING "PETSc libraries." FORCE)
- mark_as_advanced(PETSC_INCLUDE_DIRS PETSC_LIBRARIES)
+# Loop over PETSc libraries and get absolute paths
+set(_PETSC_LIBRARIES)
+foreach (lib ${PETSC_LIBRARIES})
+ find_library(_LIB ${lib} PATHS ${PETSC_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ list(APPEND _PETSC_LIBRARIES ${_LIB})
+endforeach()
-endif()
+# Copy libaries with absolute paths to PETSC_LIBRARIES
+set(PETSC_LIBRARIES ${_PETSC_LIBRARIES})
-# Build PETSc test program
+# Attempt to build and run PETSc test program
if (DOLFIN_SKIP_BUILD_TESTS)
- set(PETSC_TEST_RUNS TRUE)
- set(PETSC_VERSION "UNKNOWN")
- set(PETSC_VERSION_OK TRUE)
-elseif (FOUND_PETSC_CONF)
-
- # Set flags for building test program
- set(CMAKE_REQUIRED_INCLUDES ${PETSC_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_LIBRARIES ${PETSC_LIBRARIES})
-
- # Add MPI variables if MPI has been found
- if (MPI_C_FOUND)
- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
- endif()
- # Check PETSc version
- set(PETSC_CONFIG_TEST_VERSION_CPP
- "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/petsc_config_test_version.cpp")
- file(WRITE ${PETSC_CONFIG_TEST_VERSION_CPP} "
-#include <iostream>
-#include \"petscversion.h\"
-
-int main() {
- std::cout << PETSC_VERSION_MAJOR << \".\"
- << PETSC_VERSION_MINOR << \".\"
- << PETSC_VERSION_SUBMINOR;
- return 0;
-}
-")
-
- try_run(
- PETSC_CONFIG_TEST_VERSION_EXITCODE
- PETSC_CONFIG_TEST_VERSION_COMPILED
- ${CMAKE_CURRENT_BINARY_DIR}
- ${PETSC_CONFIG_TEST_VERSION_CPP}
- CMAKE_FLAGS
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
- COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT
- RUN_OUTPUT_VARIABLE OUTPUT
- )
-
- if (PETSC_CONFIG_TEST_VERSION_EXITCODE EQUAL 0)
- set(PETSC_VERSION ${OUTPUT} CACHE TYPE STRING)
- string(REPLACE "." ";" PETSC_VERSION_LIST ${PETSC_VERSION})
- list(GET PETSC_VERSION_LIST 0 PETSC_VERSION_MAJOR)
- list(GET PETSC_VERSION_LIST 1 PETSC_VERSION_MINOR)
- list(GET PETSC_VERSION_LIST 2 PETSC_VERSION_SUBMINOR)
- mark_as_advanced(PETSC_VERSION)
- mark_as_advanced(PETSC_VERSION_MAJOR, PETSC_VERSION_MINOR, PETSC_VERSION_SUBMINOR)
- endif()
+ # FIXME: Need to add option for linkage type
+ # Assume PETSc works, and assume shared linkage
+ set(PETSC_TEST_RUNS TRUE)
+ unset(PETSC_STATIC_LIBRARIES CACHE)
- if (PETSc_FIND_VERSION)
- # Check if version found is >= required version
- if (NOT "${PETSC_VERSION}" VERSION_LESS "${PETSc_FIND_VERSION}")
- set(PETSC_VERSION_OK TRUE)
- endif()
- else()
- # No specific version requested
- set(PETSC_VERSION_OK TRUE)
- endif()
- mark_as_advanced(PETSC_VERSION_OK)
+elseif (PETSC_FOUND)
- # Run PETSc test program
+ # Create PETSc test program
set(PETSC_TEST_LIB_CPP
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/petsc_test_lib.cpp")
file(WRITE ${PETSC_TEST_LIB_CPP} "
@@ -282,16 +98,24 @@ int main()
ierr = PetscInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL);CHKERRQ(ierr);
ierr = TSCreate(PETSC_COMM_WORLD,&ts);CHKERRQ(ierr);
ierr = TSSetFromOptions(ts);CHKERRQ(ierr);
-#if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 1
- ierr = TSDestroy(ts);CHKERRQ(ierr);
-#else
ierr = TSDestroy(&ts);CHKERRQ(ierr);
-#endif
ierr = PetscFinalize();CHKERRQ(ierr);
return 0;
}
")
+ # Set flags for building test program (shared libs)
+ set(CMAKE_REQUIRED_INCLUDES ${PETSC_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES ${PETSC_LIBRARIES})
+
+ # Add MPI variables if MPI has been found
+ if (MPI_C_FOUND)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
+ endif()
+
+ # Try to run test program (shared linking)
try_run(
PETSC_TEST_LIB_EXITCODE
PETSC_TEST_LIB_COMPILED
@@ -304,13 +128,69 @@ int main()
RUN_OUTPUT_VARIABLE PETSC_TEST_LIB_OUTPUT
)
+ # Check program output
if (PETSC_TEST_LIB_COMPILED AND PETSC_TEST_LIB_EXITCODE EQUAL 0)
- message(STATUS "Performing test PETSC_TEST_RUNS - Success")
+
+ message(STATUS "Test PETSC_TEST_RUNS with shared library linking - Success")
set(PETSC_TEST_RUNS TRUE)
+
+ # Static libraries not required, so unset
+ unset(PETSC_STATIC_LIBRARIES CACHE)
+
else()
- message(STATUS "Performing test PETSC_TEST_RUNS - Failed")
- endif()
+ message(STATUS "Test PETSC_TEST_RUNS with shared library linking - Failed")
+
+ # Loop over PETSc static libraries and get absolute paths
+ set(_PETSC_STATIC_LIBRARIES)
+ foreach (lib ${PETSC_STATIC_LIBRARIES})
+ find_library(LIB_${lib} ${lib} HINTS ${PETSC_STATIC_LIBRARY_DIRS})
+ list(APPEND _PETSC_STATIC_LIBRARIES ${LIB_${lib}})
+ endforeach()
+
+ # Copy libaries with absolute paths to PETSC_LIBRARIES
+ set(PETSC_STATIC_LIBRARIES ${_PETSC_STATIC_LIBRARIES})
+
+ # Set flags for building test program (static libs)
+ set(CMAKE_REQUIRED_INCLUDES ${PETSC_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES ${PETSC_STATIC_LIBRARIES})
+
+ # Add MPI variables if MPI has been found
+ if (MPI_C_FOUND)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
+ endif()
+
+ # Try to run test program (static linking)
+ try_run(
+ PETSC_TEST_LIB_EXITCODE
+ PETSC_TEST_LIB_COMPILED
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${PETSC_TEST_LIB_CPP}
+ CMAKE_FLAGS
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+ COMPILE_OUTPUT_VARIABLE PETSC_TEST_LIB_COMPILE_OUTPUT
+ RUN_OUTPUT_VARIABLE PETSC_TEST_LIB_OUTPUT
+ )
+
+ if (PETSC_TEST_LIB_COMPILED AND PETSC_TEST_LIB_EXITCODE EQUAL 0)
+
+ message(STATUS "Test PETSC_TEST_RUNS static linking - Success")
+ set(PETSC_TEST_RUNS TRUE)
+
+ else()
+
+ message(STATUS "Test PETSC_TEST_RUNS static linking - Failed")
+ set(PETSC_TEST_RUNS FALSE)
+
+ # Configuration unsuccessful, so unset static libs
+ unset(PETSC_STATIC_LIBRARIES CACHE)
+
+ endif()
+
+ endif()
endif()
# Check sizeof(PetscInt)
@@ -323,7 +203,13 @@ endif()
# Standard package handling
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(PETSc
- "PETSc could not be found. Be sure to set PETSC_DIR and PETSC_ARCH."
- PETSC_LIBRARIES PETSC_DIR PETSC_INCLUDE_DIRS PETSC_TEST_RUNS
- PETSC_VERSION PETSC_VERSION_OK)
+if (PETSC_FOUND)
+ find_package_handle_standard_args(PETSc
+ REQUIRED_VARS PETSC_FOUND PETSC_LIBRARY_DIRS PETSC_LIBRARIES PETSC_INCLUDE_DIRS PETSC_TEST_RUNS
+ VERSION_VAR PETSC_VERSION
+ FAIL_MESSAGE "PETSc could not be found. Be sure to set PETSC_DIR.")
+else()
+ find_package_handle_standard_args(PETSc
+ REQUIRED_VARS PETSC_FOUND
+ FAIL_MESSAGE "PETSc could not be found. Be sure to set PETSC_DIR.")
+endif()
diff --git a/cmake/modules/FindParMETIS.cmake b/cmake/modules/FindParMETIS.cmake
index f174d12..c88e59a 100644
--- a/cmake/modules/FindParMETIS.cmake
+++ b/cmake/modules/FindParMETIS.cmake
@@ -37,12 +37,12 @@
if (MPI_CXX_FOUND)
find_path(PARMETIS_INCLUDE_DIRS parmetis.h
- HINTS ${PARMETIS_DIR}/include $ENV{PARMETIS_DIR}/include ${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include
+ HINTS ${PARMETIS_DIR}/include $ENV{PARMETIS_DIR}/include ${PETSC_INCLUDE_DIRS}
DOC "Directory where the ParMETIS header files are located"
)
find_library(PARMETIS_LIBRARY parmetis
- HINTS ${PARMETIS_DIR}/lib $ENV{PARMETIS_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${PARMETIS_DIR}/lib $ENV{PARMETIS_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "Directory where the ParMETIS library is located"
)
@@ -51,7 +51,7 @@ if (MPI_CXX_FOUND)
)
find_library(METIS_LIBRARY metis
- HINTS ${PARMETIS_DIR}/lib $ENV{PARMETIS_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${PARMETIS_DIR}/lib $ENV{PARMETIS_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "Directory where the METIS library is located"
)
diff --git a/cmake/modules/FindSCOTCH.cmake b/cmake/modules/FindSCOTCH.cmake
index 58b96b4..e2ded7e 100644
--- a/cmake/modules/FindSCOTCH.cmake
+++ b/cmake/modules/FindSCOTCH.cmake
@@ -48,7 +48,7 @@ message(STATUS "Checking for package 'SCOTCH-PT'")
# Check for header file
find_path(SCOTCH_INCLUDE_DIRS ptscotch.h
- HINTS ${SCOTCH_DIR}/include $ENV{SCOTCH_DIR}/include ${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include
+ HINTS ${SCOTCH_DIR}/include $ENV{SCOTCH_DIR}/include ${PETSC_INCLUDE_DIRS}
PATH_SUFFIXES scotch
DOC "Directory where the SCOTCH-PT header is located"
)
@@ -56,7 +56,7 @@ find_path(SCOTCH_INCLUDE_DIRS ptscotch.h
# Check for scotch
find_library(SCOTCH_LIBRARY
NAMES scotch
- HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "The SCOTCH library"
)
@@ -80,7 +80,7 @@ find_library(SCOTCHERR_LIBRARY
# Check for ptscotch
find_library(PTSCOTCH_LIBRARY
NAMES ptscotch
- HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "The PTSCOTCH library"
)
@@ -92,7 +92,7 @@ find_library(PTSCOTCH_LIBRARY
# Check for ptesmumps
find_library(PTESMUMPS_LIBRARY
NAMES ptesmumps esmumps
- HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "The PTSCOTCH-ESMUMPS library"
)
@@ -104,7 +104,7 @@ find_library(PTESMUMPS_LIBRARY
# Check for ptscotcherr
find_library(PTSCOTCHERR_LIBRARY
NAMES ptscotcherr
- HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_DIR}/lib ${PETSC_DIR}/${PETSC_ARCH}/lib
+ HINTS ${SCOTCH_DIR}/lib $ENV{SCOTCH_DIR}/lib ${PETSC_LIBRARY_DIRS}
NO_DEFAULT_PATH
DOC "The PTSCOTCH-ERROR library"
)
diff --git a/cmake/modules/FindSLEPc.cmake b/cmake/modules/FindSLEPc.cmake
index 9ea52ca..37ea881 100644
--- a/cmake/modules/FindSLEPc.cmake
+++ b/cmake/modules/FindSLEPc.cmake
@@ -1,20 +1,19 @@
# - Try to find SLEPC
# Once done this will define
#
-# SLEPC_FOUND - system has SLEPc
-# SLEPC_INCLUDE_DIR - include directories for SLEPc
-# SLEPC_LIBARIES - libraries for SLEPc
-# SLEPC_DIR - directory where SLEPc is built
-# SLEPC_VERSION - version of SLEPc
-# SLEPC_VERSION_MAJOR - First number in SLEPC_VERSION
-# SLEPC_VERSION_MINOR - Second number in SLEPC_VERSION
+# SLEPC_FOUND - system has SLEPc
+# SLEPC_INCLUDE_DIRS - include directories for SLEPc
+# SLEPC_LIBRARY_DIRS - library directories for SLEPc
+# SLEPC_LIBARIES - libraries for SLEPc
+# SLEPC_STATIC_LIBARIES - ibraries for SLEPc (static linking, undefined if not required)
+# SLEPC_VERSION - version of SLEPc
+# SLEPC_VERSION_MAJOR - First number in SLEPC_VERSION
+# SLEPC_VERSION_MINOR - Second number in SLEPC_VERSION
# SLEPC_VERSION_SUBMINOR - Third number in SLEPC_VERSION
-#
-# Assumes that PETSC_DIR and PETSC_ARCH has been set by
-# alredy calling find_package(PETSc)
+
#=============================================================================
-# Copyright (C) 2010-2012 Garth N. Wells, Anders Logg and Johannes Ring
+# Copyright (C) 2010-2016 Garth N. Wells, Anders Logg and Johannes Ring
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -44,164 +43,40 @@
message(STATUS "Checking for package 'SLEPc'")
-# Set debian_arches (PETSC_ARCH for Debian-style installations)
-foreach (debian_arches linux kfreebsd)
- if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
- set(DEBIAN_FLAVORS ${debian_arches}-gnu-c-debug ${debian_arches}-gnu-c-opt ${DEBIAN_FLAVORS})
- else()
- set(DEBIAN_FLAVORS ${debian_arches}-gnu-c-opt ${debian_arches}-gnu-c-debug ${DEBIAN_FLAVORS})
- endif()
-endforeach()
+# Find SLEPc pkg-config file
+find_package(PkgConfig REQUIRED)
+set(ENV{PKG_CONFIG_PATH} "$ENV{SLEPC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig:$ENV{SLEPC_DIR}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}")
+pkg_search_module(SLEPC crayslepc_real SLEPc)
-# List of possible locations for SLEPC_DIR
-set(slepc_dir_locations "")
-list(APPEND slepc_dir_locations "/usr/lib/slepc")
-list(APPEND slepc_dir_locations "/opt/local/lib/petsc") # Macports
-list(APPEND slepc_dir_locations "/usr/local/lib/slepc")
-list(APPEND slepc_dir_locations "$ENV{HOME}/slepc")
-
-# Add other possible locations for SLEPC_DIR
-set(_SYSTEM_LIB_PATHS "${CMAKE_SYSTEM_LIBRARY_PATH};${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES}")
-string(REGEX REPLACE ":" ";" libdirs ${_SYSTEM_LIB_PATHS})
-foreach (libdir ${libdirs})
- get_filename_component(slepc_dir_location "${libdir}/" PATH)
- list(APPEND slepc_dir_locations ${slepc_dir_location})
+# Loop over SLEPc libraries and get absolute paths
+set(_SLEPC_LIBRARIES)
+foreach (lib ${SLEPC_LIBRARIES})
+ find_library(LIB_${lib} ${lib} PATHS ${SLEPC_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ list(APPEND _SLEPC_LIBRARIES ${LIB_${lib}})
endforeach()
-# Try to figure out SLEPC_DIR by finding slepc.h
-find_path(SLEPC_DIR include/slepc.h
- HINTS ${SLEPC_DIR} $ENV{SLEPC_DIR}
- PATHS ${slepc_dir_locations}
- DOC "SLEPc directory")
-
-# Report result of search for SLEPC_DIR
-if (DEFINED SLEPC_DIR)
- message(STATUS "SLEPC_DIR is ${SLEPC_DIR}")
-else()
- message(STATUS "SLEPC_DIR is empty")
+# Extract major, minor, etc from version string
+if (SLEPC_VERSION)
+ string(REPLACE "." ";" VERSION_LIST ${SLEPC_VERSION})
+ list(GET VERSION_LIST 0 SLEPC_VERSION_MAJOR)
+ list(GET VERSION_LIST 1 SLEPC_VERSION_MINOR)
+ list(GET VERSION_LIST 2 SLEPC_VERSION_SUBMINOR)
endif()
-# Get variables from SLEPc configuration
-if (SLEPC_DIR)
-
- find_library(SLEPC_LIBRARY
- NAMES slepc
- HINTS ${SLEPC_DIR}/lib $ENV{SLEPC_DIR}/lib ${SLEPC_DIR}/${PETSC_ARCH}/lib $ENV{SLEPC_DIR}/$ENV{PETSC_ARCH}/lib
- NO_DEFAULT_PATH
- DOC "The SLEPc library")
- find_library(SLEPC_LIBRARY
- NAMES slepc
- DOC "The SLEPc library")
- mark_as_advanced(SLEPC_LIBRARY)
-
- # Find SLEPc config file
- find_file(SLEPC_CONFIG_FILE NAMES slepc_common PATHS
- ${SLEPC_DIR}/lib/slepc/conf
- ${SLEPC_DIR}/lib/slepc-conf ${SLEPC_DIR}/conf)
-
- # Create a temporary Makefile to probe the SLEPc configuration
- set(slepc_config_makefile ${PROJECT_BINARY_DIR}/Makefile.slepc)
- file(WRITE ${slepc_config_makefile}
-"# This file was autogenerated by FindSLEPc.cmake
-SLEPC_DIR = ${SLEPC_DIR}
-PETSC_ARCH = ${PETSC_ARCH}
-PETSC_DIR = ${PETSC_DIR}
-include ${SLEPC_CONFIG_FILE}
-show :
- - at echo -n \${\${VARIABLE}}
-")
-
- # Define macro for getting SLEPc variables from Makefile
- macro(SLEPC_GET_VARIABLE var name)
- set(${var} "NOTFOUND" CACHE INTERNAL "Cleared" FORCE)
- execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --no-print-directory -f ${slepc_config_makefile} show VARIABLE=${name}
- OUTPUT_VARIABLE ${var}
- RESULT_VARIABLE slepc_return)
- endmacro()
-
- # Call macro to get the SLEPc variables
- slepc_get_variable(SLEPC_INCLUDE SLEPC_INCLUDE)
- slepc_get_variable(SLEPC_EXTERNAL_LIB SLEPC_EXTERNAL_LIB)
-
- # Remove temporary Makefile
- file(REMOVE ${slepc_config_makefile})
-
- # Extract include paths and libraries from compile command line
- include(ResolveCompilerPaths)
- resolve_includes(SLEPC_INCLUDE_DIRS "${SLEPC_INCLUDE}")
- resolve_libraries(SLEPC_EXTERNAL_LIBRARIES "${SLEPC_EXTERNAL_LIB}")
-
- # Add variables to CMake cache and mark as advanced
- set(SLEPC_INCLUDE_DIRS ${SLEPC_INCLUDE_DIRS} CACHE STRING "SLEPc include paths." FORCE)
- set(SLEPC_LIBRARIES ${SLEPC_LIBRARY} CACHE STRING "SLEPc libraries." FORCE)
- mark_as_advanced(SLEPC_INCLUDE_DIRS SLEPC_LIBRARIES)
-endif()
+# Set libaries with absolute paths to SLEPC_LIBRARIES
+set(SLEPC_LIBRARIES ${_SLEPC_LIBRARIES})
+# Compile and run test
if (DOLFIN_SKIP_BUILD_TESTS)
- set(SLEPC_TEST_RUNS TRUE)
- set(SLEPC_VERSION "UNKNOWN")
- set(SLEPC_VERSION_OK TRUE)
-elseif (SLEPC_LIBRARIES AND SLEPC_INCLUDE_DIRS)
-
- # Set flags for building test program
- set(CMAKE_REQUIRED_INCLUDES ${SLEPC_INCLUDE_DIRS} ${PETSC_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_LIBRARIES ${SLEPC_LIBRARIES} ${PETSC_LIBRARIES})
-
- # Add MPI variables if MPI has been found
- if (MPI_C_FOUND)
- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
- endif()
-
- # Check SLEPc version
- set(SLEPC_CONFIG_TEST_VERSION_CPP
- "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/slepc_config_test_version.cpp")
- file(WRITE ${SLEPC_CONFIG_TEST_VERSION_CPP} "
-#include <iostream>
-#include \"slepcversion.h\"
-int main() {
- std::cout << SLEPC_VERSION_MAJOR << \".\"
- << SLEPC_VERSION_MINOR << \".\"
- << SLEPC_VERSION_SUBMINOR;
- return 0;
-}
-")
-
- try_run(
- SLEPC_CONFIG_TEST_VERSION_EXITCODE
- SLEPC_CONFIG_TEST_VERSION_COMPILED
- ${CMAKE_CURRENT_BINARY_DIR}
- ${SLEPC_CONFIG_TEST_VERSION_CPP}
- CMAKE_FLAGS
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
- COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT
- RUN_OUTPUT_VARIABLE OUTPUT
- )
+ # FIXME: Need to add option for linkage type
+ # Assume SLEPc works, and assume shared linkage
+ set(SLEPC_TEST_RUNS TRUE)
+ unset(SLEPC_STATIC_LIBRARIES CACHE)
- if (SLEPC_CONFIG_TEST_VERSION_EXITCODE EQUAL 0)
- set(SLEPC_VERSION ${OUTPUT} CACHE TYPE STRING)
- string(REPLACE "." ";" SLEPC_VERSION_LIST ${SLEPC_VERSION})
- list(GET SLEPC_VERSION_LIST 0 SLEPC_VERSION_MAJOR)
- list(GET SLEPC_VERSION_LIST 1 SLEPC_VERSION_MINOR)
- list(GET SLEPC_VERSION_LIST 2 SLEPC_VERSION_SUBMINOR)
- mark_as_advanced(SLEPC_VERSION)
- mark_as_advanced(SLEPC_VERSION_MAJOR, SLEPC_VERSION_MINOR, SLEPC_VERSION_SUBMINOR)
- endif()
+elseif (SLEPC_FOUND)
- if (SLEPc_FIND_VERSION)
- # Check if version found is >= required version
- if (NOT "${SLEPC_VERSION}" VERSION_LESS "${SLEPc_FIND_VERSION}")
- set(SLEPC_VERSION_OK TRUE)
- endif()
- else()
- # No specific version requested
- set(SLEPC_VERSION_OK TRUE)
- endif()
- mark_as_advanced(SLEPC_VERSION_OK)
-
- # Run SLEPc test program
+ # Create SLEPc test program
set(SLEPC_TEST_LIB_CPP
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/slepc_test_lib.cpp")
file(WRITE ${SLEPC_TEST_LIB_CPP} "
@@ -216,16 +91,24 @@ int main()
EPS eps;
ierr = EPSCreate(PETSC_COMM_SELF, &eps); CHKERRQ(ierr);
//ierr = EPSSetFromOptions(eps); CHKERRQ(ierr);
-#if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 1
- ierr = EPSDestroy(eps); CHKERRQ(ierr);
-#else
ierr = EPSDestroy(&eps); CHKERRQ(ierr);
-#endif
ierr = SlepcFinalize(); CHKERRQ(ierr);
return 0;
}
")
+ # Set flags for building test program (shared libs)
+ set(CMAKE_REQUIRED_INCLUDES ${SLEPC_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES ${SLEPC_LIBRARIES})
+
+ # Add MPI variables if MPI has been found
+ if (MPI_C_FOUND)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
+ endif()
+
+ # Try to run test program (shared linking)
try_run(
SLEPC_TEST_LIB_EXITCODE
SLEPC_TEST_LIB_COMPILED
@@ -239,40 +122,77 @@ int main()
)
if (SLEPC_TEST_LIB_COMPILED AND SLEPC_TEST_LIB_EXITCODE EQUAL 0)
- message(STATUS "Performing test SLEPC_TEST_RUNS - Success")
+
+ message(STATUS "Test SLEPC_TEST_RUNS with shared library linking - Success")
set(SLEPC_TEST_RUNS TRUE)
+
+ # Static libraries not required, so unset
+ unset(SLEPC_STATIC_LIBRARIES CACHE)
+
else()
- message(STATUS "Performing test SLEPC_TEST_RUNS - Failed")
- # Test program does not run - try adding SLEPc 3rd party libs and test again
- list(APPEND CMAKE_REQUIRED_LIBRARIES ${SLEPC_EXTERNAL_LIBRARIES})
+ message(STATUS "Test SLEPC_TEST_RUNS with shared library linking - Failed")
+
+ # Loop over SLEPc static libraries and get absolute paths
+ set(_SLEPC_STATIC_LIBRARIES)
+ foreach (lib ${SLEPC_STATIC_LIBRARIES})
+ find_library(LIB_${lib} ${lib} HINTS ${SLEPC_STATIC_LIBRARY_DIRS})
+ list(APPEND _SLEPC_STATIC_LIBRARIES ${LIB_${lib}})
+ endforeach()
+ # Copy libaries with absolute paths to PETSC_LIBRARIES
+ set(SLEPC_STATIC_LIBRARIES ${_SLEPC_STATIC_LIBRARIES})
+
+ # Set flags for building test program (static libs)
+ set(CMAKE_REQUIRED_INCLUDES ${SLEPC_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES ${SLEPC_STATIC_LIBRARIES})
+
+ # Add MPI variables if MPI has been found
+ if (MPI_C_FOUND)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
+ endif()
+
+ # Try to run test program (static linking)
try_run(
- SLEPC_TEST_3RD_PARTY_LIBS_EXITCODE
- SLEPC_TEST_3RD_PARTY_LIBS_COMPILED
+ SLEPC_TEST_STATIC_LIBS_EXITCODE
+ SLEPC_TEST_STATIC_LIBS_COMPILED
${CMAKE_CURRENT_BINARY_DIR}
${SLEPC_TEST_LIB_CPP}
CMAKE_FLAGS
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
- COMPILE_OUTPUT_VARIABLE SLEPC_TEST_3RD_PARTY_LIBS_COMPILE_OUTPUT
- RUN_OUTPUT_VARIABLE SLEPC_TEST_3RD_PARTY_LIBS_OUTPUT
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+ COMPILE_OUTPUT_VARIABLE SLEPC_TEST_STATIC_LIBS_COMPILE_OUTPUT
+ RUN_OUTPUT_VARIABLE SLEPC_TEST_STATIC_LIBS_OUTPUT
)
- if (SLEPC_TEST_3RD_PARTY_LIBS_COMPILED AND SLEPC_TEST_3RD_PARTY_LIBS_EXITCODE EQUAL 0)
- message(STATUS "Performing test SLEPC_TEST_3RD_PARTY_LIBS_RUNS - Success")
- set(SLEPC_LIBRARIES ${SLEPC_LIBRARIES} ${SLEPC_EXTERNAL_LIBRARIES}
- CACHE STRING "SLEPc libraries." FORCE)
+ if (SLEPC_TEST_STATIC_LIBS_COMPILED AND SLEPC_STATIC_LIBS_EXITCODE EQUAL 0)
+
+ message(STATUS "Test SLEPC_TEST__RUNS with static linking - Success")
set(SLEPC_TEST_RUNS TRUE)
+
else()
- message(STATUS "Performing test SLEPC_TEST_3RD_PARTY_LIBS_RUNS - Failed")
+
+ message(STATUS "Test SLEPC_TETS_RUNS with static linking - Failed")
+ set(SLEPC_TEST_RUNS FALSE)
+
+ # Configuration unsuccessful, so unset
+ unset(SLEPC_STATIC_LIBRARIES CACHE)
+
endif()
endif()
endif()
# Standard package handling
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(SLEPc
- "SLEPc could not be found. Be sure to set SLEPC_DIR, PETSC_DIR, and PETSC_ARCH."
- SLEPC_LIBRARIES SLEPC_DIR SLEPC_INCLUDE_DIRS SLEPC_TEST_RUNS
- SLEPC_VERSION SLEPC_VERSION_OK)
+if (SLEPC_FOUND)
+ find_package_handle_standard_args(SLEPc
+ REQUIRED_VARS SLEPC_LIBRARY_DIRS SLEPC_LIBRARIES SLEPC_INCLUDE_DIRS SLEPC_TEST_RUNS
+ VERSION_VAR SLEPC_VERSION
+ FAIL_MESSAGE "SLEPc could not be found. Be sure to set SLEPC_DIR.")
+else()
+ find_package_handle_standard_args(SLEPc
+ REQUIRED_VARS SLEPC_FOUND
+ FAIL_MESSAGE "SLEPc could not be found. Be sure to set SLEPC_DIR.")
+endif()
diff --git a/cmake/modules/FindUFC.cmake b/cmake/modules/FindUFC.cmake
index 147da56..a6381ba 100644
--- a/cmake/modules/FindUFC.cmake
+++ b/cmake/modules/FindUFC.cmake
@@ -39,7 +39,7 @@
#=============================================================================
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} -c "import ffc, sys; sys.stdout.write(ffc.get_ufc_include())"
+ COMMAND ${PYTHON_EXECUTABLE} -c "import ffc, sys; sys.stdout.write(ffc.backends.ufc.get_include_path())"
OUTPUT_VARIABLE UFC_INCLUDE_DIR
)
diff --git a/cmake/modules/FindUMFPACK.cmake b/cmake/modules/FindUMFPACK.cmake
index a2cd6c5..3760ada 100644
--- a/cmake/modules/FindUMFPACK.cmake
+++ b/cmake/modules/FindUMFPACK.cmake
@@ -15,28 +15,28 @@ find_package(CHOLMOD QUIET)
# Check for header file
find_path(UMFPACK_INCLUDE_DIRS umfpack.h
- HINTS ${UMFPACK_DIR}/include $ENV{UMFPACK_DIR}/include $ENV{PETSC_DIR}/include
+ HINTS ${UMFPACK_DIR}/include $ENV{UMFPACK_DIR}/include ${PETSC_INCLUDE_DIRS} $ENV{PETSC_DIR}/include
PATH_SUFFIXES suitesparse ufsparse
DOC "Directory where the UMFPACK header is located")
mark_as_advanced(UMFPACK_INCLUDE_DIRS)
# Check for UMFPACK library
find_library(UMFPACK_LIBRARY umfpack
- HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib $ENV{PETSC_DIR}/lib
+ HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The UMFPACK library")
mark_as_advanced(UMFPACK_LIBRARY)
# Check for SUITESPARSE library on Apple
if (APPLE)
find_library(SUITESPARSE_LIBRARY SuiteSparse
- HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib $ENV{PETSC_DIR}/lib
+ HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The SUITESPARSE library")
mark_as_advanced(SUITESPARSE_LIBRARY)
endif()
# Check for SUITESPARSECONFIG library
find_library(SUITESPARSECONFIG_LIBRARY suitesparseconfig
- HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib $ENV{PETSC_DIR}/lib
+ HINTS ${UMFPACK_DIR}/lib $ENV{UMFPACK_DIR}/lib ${PETSC_LIBRARY_DIRS} $ENV{PETSC_DIR}/lib
DOC "The SUITESPARSE library")
mark_as_advanced(SUITESPARSECONFIG_LIBRARY)
diff --git a/cmake/modules/language_support_v2.cmake b/cmake/modules/language_support_v2.cmake
deleted file mode 100644
index aa5870b..0000000
--- a/cmake/modules/language_support_v2.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-# cmake/modules/language_support.cmake
-#
-# Temporary additional general language support is contained within this
-# file.
-
-# This additional function definition is needed to provide a workaround for
-# CMake bug 9220.
-
-# On debian testing (cmake 2.6.2), I get return code zero when calling
-# cmake the first time, but cmake crashes when running a second time
-# as follows:
-#
-# -- The Fortran compiler identification is unknown
-# CMake Error at /usr/share/cmake-2.6/Modules/CMakeFortranInformation.cmake:7 (GET_FILENAME_COMPONENT):
-# get_filename_component called with incorrect number of arguments
-# Call Stack (most recent call first):
-# CMakeLists.txt:3 (enable_language)
-#
-# My workaround is to invoke cmake twice. If both return codes are zero,
-# it is safe to invoke ENABLE_LANGUAGE(Fortran OPTIONAL)
-
-function(workaround_9220 language language_works)
- #message("DEBUG: language = ${language}")
- set(text
- "project(test NONE)
-cmake_minimum_required(VERSION 2.6.0)
-enable_language(${language} OPTIONAL)
-"
- )
- file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/language_tests/${language})
- file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/language_tests/${language})
- file(WRITE ${CMAKE_BINARY_DIR}/language_tests/${language}/CMakeLists.txt
- ${text})
- execute_process(
- COMMAND ${CMAKE_COMMAND} .
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/language_tests/${language}
- RESULT_VARIABLE return_code
- OUTPUT_QUIET
- ERROR_QUIET
- )
-
- if(return_code EQUAL 0)
- # Second run
- execute_process (
- COMMAND ${CMAKE_COMMAND} .
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/language_tests/${language}
- RESULT_VARIABLE return_code
- OUTPUT_QUIET
- ERROR_QUIET
- )
- if(return_code EQUAL 0)
- set(${language_works} ON PARENT_SCOPE)
- else(return_code EQUAL 0)
- set(${language_works} OFF PARENT_SCOPE)
- endif(return_code EQUAL 0)
- else(return_code EQUAL 0)
- set(${language_works} OFF PARENT_SCOPE)
- endif(return_code EQUAL 0)
-endfunction(workaround_9220)
-
-# Temporary tests of the above function.
-#workaround_9220(CXX CXX_language_works)
-#message("CXX_language_works = ${CXX_language_works}")
-#workaround_9220(CXXp CXXp_language_works)
-#message("CXXp_language_works = ${CXXp_language_works}")
diff --git a/cmake/scripts/codesnippets.py b/cmake/scripts/codesnippets.py
index 7362f0d..ce698f1 100644
--- a/cmake/scripts/codesnippets.py
+++ b/cmake/scripts/codesnippets.py
@@ -1,6 +1,6 @@
-# Code snippets for autogenerations of SWIG code
+# Code snippets for autogeneration of SWIG code
#
-# Copyright (C) 2012 Johan Hake
+# Copyright (C) 2012-2016 Johan Hake
#
# This file is part of DOLFIN.
#
@@ -16,15 +16,12 @@
#
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2012-01-17
-# Last changed: 2012-07-03
import sys
copyright_statement = r"""%(comment)s Auto generated SWIG file for Python interface of DOLFIN
%(comment)s
-%(comment)s Copyright (C) 2012 %(holder)s
+%(comment)s Copyright (C) 2012-2016 %(holder)s
%(comment)s
%(comment)s This file is part of DOLFIN.
%(comment)s
@@ -44,13 +41,6 @@ copyright_statement = r"""%(comment)s Auto generated SWIG file for Python interf
"""
-# FIXME: Removed date from copyright form
-"""
-%(comment)s First added: 2012-01-18
-%(comment)s Last changed: %(year)d-%(month)0.2d-%(day)0.2d
-
-"""
-
# Template code for all combined SWIG modules
module_template = r"""
// The PyDOLFIN extension module for the %(module)s module
@@ -83,10 +73,12 @@ import_array();
"""
+
if sys.version_info[0] < 3:
- py3 = ""
+ swig_py_args = ""
else:
- py3 = "\n -py3 \n -relativeimport"
+ swig_py_args = "\n -py3 \n -relativeimport"
+
swig_cmakelists_str = \
"""# Automatic get the module name
@@ -134,13 +126,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -152,8 +137,8 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
-""" % py3
+""" % (swig_py_args,)
diff --git a/cmake/scripts/copy-swig-files b/cmake/scripts/copy-swig-files.py
old mode 100755
new mode 100644
similarity index 96%
rename from cmake/scripts/copy-swig-files
rename to cmake/scripts/copy-swig-files.py
index 58b9eaf..abbfec9
--- a/cmake/scripts/copy-swig-files
+++ b/cmake/scripts/copy-swig-files.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-#
# Copyright (C) 2013 Johan Hake
#
# This file is part of DOLFIN.
@@ -20,7 +18,7 @@
# Copy all swig files to a destination directory
import os
-import sys
+import sys
import re
import shutil
@@ -35,12 +33,12 @@ def copy_data(top_destdir):
if abs_destdir == dolfin_dir:
raise RuntimeError("destination directory cannot be the same as "\
"the dolfin source directory")
-
+
if not os.path.isdir(abs_destdir):
raise RuntimeError("%s is not a directory." % abs_destdir)
top_dir = os.path.join(dolfin_dir, "dolfin", "swig")
-
+
for dirpath, dirnames, filenames in os.walk(top_dir):
destdir = dirpath.replace(dolfin_dir, abs_destdir)
if not os.path.isdir(destdir):
@@ -49,11 +47,10 @@ def copy_data(top_destdir):
if f[-2:] == ".i":
srcfile = os.path.join(dirpath, f)
shutil.copy2(srcfile, destdir)
-
+
if __name__ == "__main__":
# Expecting a destination argument
if len(sys.argv) != 2:
raise RuntimeError("Expecting 1 argument with the destination directory")
-
+
copy_data(sys.argv[-1])
-
diff --git a/cmake/scripts/copy-test-demo-data b/cmake/scripts/copy-test-demo-data.py
old mode 100755
new mode 100644
similarity index 91%
rename from cmake/scripts/copy-test-demo-data
rename to cmake/scripts/copy-test-demo-data.py
index a5b040d..f6ebbbd
--- a/cmake/scripts/copy-test-demo-data
+++ b/cmake/scripts/copy-test-demo-data.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-#
# Copyright (C) 2013 Johan Hake
#
# This file is part of DOLFIN.
@@ -21,7 +19,7 @@
# source directory
import os
-import sys
+import sys
import re
import shutil
@@ -29,8 +27,8 @@ import shutil
sub_directories = ['demo', 'test', 'bench']
# Copy all files with the following suffixes
-suffix_patterns = ["py", "h", "cpp", "ufl", "xml", "xml.gz", "off", "inp", \
- "msh", "supp", "rst", "ele", "node", "grid", "edge", "sh"]
+suffix_patterns = ["py", "h", "cpp", "cpp.rst", "ufl", "ufl.rst", "xml", "xml.gz", "off", "inp", \
+ "msh", "supp", "rst", "py.rst", "ele", "node", "grid", "edge", "sh"]
suffix_pattern = re.compile("(%s),"%("|".join("[\w-]+\.%s" % pattern \
for pattern in suffix_patterns)))
@@ -46,10 +44,10 @@ def copy_data(top_destdir):
if abs_destdir == dolfin_dir:
raise RuntimeError("destination directory cannot be the same as "\
"the dolfin source directory")
-
+
if not os.path.isdir(abs_destdir):
raise RuntimeError("%s is not a directory." % abs_destdir)
-
+
for subdir in sub_directories:
top_dir = os.path.join(dolfin_dir, subdir)
@@ -61,11 +59,10 @@ def copy_data(top_destdir):
"%s,"%f for f in filenames)):
srcfile = os.path.join(dirpath, f)
shutil.copy(srcfile, destdir)
-
+
if __name__ == "__main__":
# Expecting a destination argument
if len(sys.argv) != 2:
raise RuntimeError("Expecting 1 argument with the destination directory")
-
+
copy_data(sys.argv[-1])
-
diff --git a/cmake/scripts/download-demo-data b/cmake/scripts/download-demo-data
deleted file mode 100755
index cf9c218..0000000
--- a/cmake/scripts/download-demo-data
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh
-#
-# This script downloads data (mostly meshes) needed run demos
-# Anders Logg, 2013-03-21
-
-download_mesh()
-{
- OS=$(uname -s)
-
- DEMO=$1
- MESH=$2
-
- echo "Downloading $MESH to $DEMO"
-
- # Use zsync if available, otherwise use curl/wget
- if hash zsync 2>/dev/null; then
- zsync -q -o $DEMO/$MESH http://fenicsproject.org/pub/data/meshes/$MESH.zsync
- else
- if [ "$OS" = "Darwin" ]; then
- output=`curl --output $MESH http://fenicsproject.org/pub/data/meshes/$MESH 2>&1`
- else
- output=`wget http://fenicsproject.org/pub/data/meshes/$MESH 2>&1`
- fi
-
- # If download fails
- if [ $? -ne 0 ]; then
- echo "$output" 1>&2
- exit 1
- fi
-
- mv $MESH $DEMO
- fi
-}
-
-download_mesh demo/documented/eigenvalue box_with_dent.xml.gz
-download_mesh demo/documented/tensor-weighted-poisson unitsquare_32_32.xml.gz
-download_mesh demo/documented/tensor-weighted-poisson unitsquare_32_32_c01.xml.gz
-download_mesh demo/documented/tensor-weighted-poisson unitsquare_32_32_c00.xml.gz
-download_mesh demo/documented/tensor-weighted-poisson unitsquare_32_32_c11.xml.gz
-download_mesh demo/documented/stokes-taylor-hood/ dolfin_fine.xml.gz
-download_mesh demo/documented/stokes-taylor-hood dolfin_fine_subdomains.xml.gz
-download_mesh demo/documented/stokes-mini dolfin_fine.xml.gz
-download_mesh demo/documented/stokes-mini dolfin_fine_subdomains.xml.gz
-download_mesh demo/documented/subdomains dolfin_fine.xml.gz
-download_mesh demo/documented/bcs aneurysm.xml.gz
-download_mesh demo/documented/navier-stokes lshape.xml.gz
-download_mesh demo/undocumented/buckling-tao buckling.xml.gz
-download_mesh demo/undocumented/elasticity pulley.xml.gz
-download_mesh demo/undocumented/mixed-poisson-sphere sphere_16.xml.gz
-download_mesh demo/undocumented/advection-diffusion dolfin_fine.xml.gz
-download_mesh demo/undocumented/advection-diffusion dolfin_fine_velocity.xml.gz
-download_mesh demo/undocumented/advection-diffusion dolfin_fine_subdomains.xml.gz
-download_mesh demo/undocumented/contact-vi-snes circle_yplane.xml.gz
-download_mesh demo/undocumented/contact-vi-tao circle_yplane.xml.gz
-download_mesh demo/undocumented/multistage-solver dolfin_fine.xml.gz
-download_mesh demo/undocumented/multistage-solver dolfin_fine_velocity.xml.gz
-download_mesh demo/undocumented/multistage-solver dolfin_fine_subdomains.xml.gz
-download_mesh demo/undocumented/lift-drag dolfin_fine.xml.gz
-download_mesh demo/undocumented/lift-drag dolfin_fine_pressure.xml.gz
-download_mesh demo/undocumented/elastodynamics dolfin_fine.xml.gz
-download_mesh demo/undocumented/auto-adaptive-navier-stokes channel_with_flap.xml.gz
-download_mesh demo/undocumented/plot dolfin_fine.xml.gz
-download_mesh demo/undocumented/dg-advection-diffusion unitsquare_64_64.xml.gz
-download_mesh demo/undocumented/dg-advection-diffusion unitsquare_64_64_velocity.xml.gz
-download_mesh demo/undocumented/mesh-quality dolfin_fine.xml.gz
-download_mesh demo/undocumented/multimesh propeller_2d_coarse.xml.gz
-download_mesh demo/undocumented/multimesh propeller_2d_fine.xml.gz
-download_mesh demo/undocumented/curl-curl sphere.xml.gz
-download_mesh demo/undocumented/collision-detection circle.xml.gz
-download_mesh test/data aneurysm.xml.gz
-download_mesh test/data intersecting_surfaces.xml.gz
-download_mesh test/data snake.xml.gz
-download_mesh test/data doughnut.xml.gz
-download_mesh test/data boxes.xml.gz
diff --git a/cmake/scripts/generate-all b/cmake/scripts/generate-all
deleted file mode 100755
index 785d2b8..0000000
--- a/cmake/scripts/generate-all
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-#
-# This script runs all the others.
-
-echo "The following scripts will now be run:"
-echo ""
-echo " cmake/scripts/generate-form-files"
-echo " cmake/scripts/generate-cmakefiles"
-echo " cmake/scripts/generate-swig-docstrings"
-echo " cmake/scripts/generate-swig-interface"
-echo " cmake/scripts/download-demo-data"
-echo ""
-echo "Press return to continue."
-read x
-
-./cmake/scripts/generate-form-files
-./cmake/scripts/generate-cmakefiles
-./cmake/scripts/generate-swig-docstrings
-./cmake/scripts/generate-swig-interface
-./cmake/scripts/download-demo-data
diff --git a/cmake/scripts/generate-cmakefiles b/cmake/scripts/generate-cmakefiles.py
old mode 100755
new mode 100644
similarity index 79%
rename from cmake/scripts/generate-cmakefiles
rename to cmake/scripts/generate-cmakefiles.py
index c991ac8..a27104c
--- a/cmake/scripts/generate-cmakefiles
+++ b/cmake/scripts/generate-cmakefiles.py
@@ -1,6 +1,4 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2010 Garth N. Wells
+# Copyright (C) 2010-16 Garth N. Wells
#
# This file is part of DOLFIN.
#
@@ -30,15 +28,12 @@ cmakelists_str = \
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME %(project_name)s)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -54,6 +49,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -61,6 +65,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
@@ -79,17 +91,17 @@ target_link_libraries_str = "target_link_libraries(%s "\
# Subdirectories
sub_directories = ['demo', 'bench']
-
# Prefix map for subdirectories
executable_prefixes = dict(demo="demo_",
bench="bench_")
# Main file name map for subdirectories
-main_file_names = dict(demo="main.cpp",
- bench="main.cpp")
+main_file_names = dict(demo=set(["main.cpp", "main.cpp.rst"]),
+ bench=set(["main.cpp"]))
# Projects that use custom CMakeLists.txt (shouldn't overwrite)
-exclude_projects = [os.path.join('demo', 'undocumented', 'plot-qt')]
+#exclude_projects = [os.path.join('demo', 'undocumented', 'plot-qt')]
+exclude_projects = []
def generate_cmake_files(subdirectory, generated_files):
"""Search for C++ code and write CMakeLists.txt files"""
@@ -102,7 +114,7 @@ def generate_cmake_files(subdirectory, generated_files):
# For 'cpp' directories, get list of .cpp files
if "cpp" in dirs:
- cpp_files = []
+ cpp_files = set()
program_dir = root + "/cpp"
program_name = os.path.split(root)[-1]
@@ -125,26 +137,32 @@ def generate_cmake_files(subdirectory, generated_files):
for f in os.listdir(program_dir):
filename, extension = os.path.splitext(f)
if extension == ".cpp":
- cpp_files.append(f)
+ cpp_files.add(f)
+ if ".cpp.rst" in f:
+ cpp_files.add(filename)
# If no .cpp continue
if not cpp_files:
continue
+ # Ensure deterministic output across py2/py3
+ cpp_files = sorted(cpp_files)
+
# Name of demo and cpp source files
- if main_file_name in cpp_files:
+ if not main_file_name.isdisjoint(cpp_files):
- # If directory contains a main file we assume that only one
- # executable should be generated for this directory and all other
- # .cpp files should be linked to this
+ # If directory contains a main file we assume that
+ # only one executable should be generated for this
+ # directory and all other .cpp files should be linked
+ # to this
name_forms["executables"] = executable_str % \
("${PROJECT_NAME}",
' '.join(cpp_files))
name_forms["target_libraries"] = target_link_libraries_str % \
"${PROJECT_NAME}"
else:
- # If no main file in source files, we assume each source should
- # be compiled as an executable
+ # If no main file in source files, we assume each
+ # source should be compiled as an executable
name_forms["executables"] = "\n".join(\
executable_str % (executable_prefix + f.replace(".cpp", ""), f) \
for f in cpp_files)
@@ -163,12 +181,8 @@ def generate_cmake_files(subdirectory, generated_files):
filename = os.path.join(program_dir, "CMakeLists.txt")
generated_files.append(filename)
with open(filename, "w") as f:
- print("Creating CMakeLists.txt file:", program_name, program_dir)
f.write(cmakelists_str % name_forms)
- # FIXME: add command line option for adding files
- # Add to version control
- #subprocess.call(["bzr", "add", program_dir + "/CMakeLists.txt"])
# Generate CMakeLists.txt files for all subdirectories
generated_files = []
diff --git a/cmake/scripts/generate-demo-files.py b/cmake/scripts/generate-demo-files.py
new file mode 100644
index 0000000..f7b2606
--- /dev/null
+++ b/cmake/scripts/generate-demo-files.py
@@ -0,0 +1,56 @@
+# Copyright (C) 2016 Garth N. Wells
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+#
+# Recompile all ffc forms (use when FFC has been updated)
+# This script should be run from the top level directory.
+
+import os
+
+# Directories to scan
+subdirs = ["demo"]
+
+# Check that we can find pylint.py
+parser = "./utils/pylit/pylit.py"
+if os.path.isfile(parser):
+ pass
+else:
+ raise RuntimeError("Cannot find pylit.py. Are you running from the top level directory")
+
+# Get absolute path to parser
+parser = os.path.abspath(parser)
+
+# Generate .py files from all .py.rst files
+topdir = os.getcwd()
+for subdir in subdirs:
+ for root, dirs, files in os.walk(subdir):
+
+ # Check for .py.rst files
+ rstfiles = [f for f in files if len(f) > 7 and f[-7:] == ".py.rst"]
+ if len(rstfiles) == 0:
+ continue
+
+ # Compile files
+ os.chdir(root)
+ print("Converting rst files in in {} ...".format(root))
+ for f in rstfiles:
+ command = parser + " " + os.path.abspath(f)
+ #print(" " + command)
+ ret = os.system(command)
+ if not ret == 0:
+ raise RuntimeError("Unable to convert rst file to a .py ({})".format(f))
+
+ os.chdir(topdir)
diff --git a/cmake/scripts/generate-form-files b/cmake/scripts/generate-form-files
deleted file mode 100755
index 2135f75..0000000
--- a/cmake/scripts/generate-form-files
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2005-2010 Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Recompile all ffc forms (use when FFC has been updated)
-# This script should be run from the top level directory.
-
-import os
-
-# Forms that need special options
-special = {"CahnHilliard2D.ufl": "-fsplit",
- "CahnHilliard3D.ufl": "-fsplit",
- "Poisson2D_1.ufl": "-fsplit",
- "Poisson2D_2.ufl": "-fsplit",
- "Poisson2D_3.ufl": "-fsplit",
- "Poisson2D_4.ufl": "-fsplit",
- "Poisson2D_5.ufl": "-fsplit",
- "Poisson3D_1.ufl": "-fsplit",
- "Poisson3D_2.ufl": "-fsplit",
- "Poisson3D_3.ufl": "-fsplit",
- "Poisson3D_4.ufl": "-fsplit",
- "Poisson3D_5.ufl": "-fsplit",
- "AdaptivePoisson.ufl": "-e",
- "AdaptiveNavierStokes.ufl": "-e"}
-
-# Forms for which we should skip optimization
-skip_optimization = ["HyperElasticity.ufl"]
-
-# Forms for which we don't want to generate functions for evaluating the basis
-skip_basis = ["Poisson2D_5.ufl", "Poisson3D_4.ufl"]
-
-# Directories to scan
-subdirs = ["dolfin", "demo", "bench", "test"]
-
-# Compile all form files
-topdir = os.getcwd()
-for subdir in subdirs:
- for root, dirs, files in os.walk(subdir):
-
- # Check for .ufl files
- formfiles = [f for f in files if len(f) > 4 and f[-4:] == ".ufl"]
- if len(formfiles) == 0:
- continue
-
- # Compile files
- os.chdir(root)
- print("Compiling forms in %s..." % root)
- for f in formfiles:
- if f in special:
- options = special[f]
- else:
- options = ""
- if f in skip_optimization:
- optimization = ""
- else:
- optimization = "-O"
-
- if f in skip_basis:
- options += " -fno-evaluate_basis -fno-evaluate_basis_derivatives"
-
- command = "ffc -v %s -l dolfin %s %s >> compile.log" % (optimization, options, f)
- print(" " + command)
- ret = os.system(command)
- if not ret == 0:
- raise RuntimeError("Unable to compile form: %s/%s" % (root, f))
- os.chdir(topdir)
diff --git a/cmake/scripts/generate-form-files.py b/cmake/scripts/generate-form-files.py
new file mode 100644
index 0000000..251e8f9
--- /dev/null
+++ b/cmake/scripts/generate-form-files.py
@@ -0,0 +1,95 @@
+# Copyright (C) 2005-2010 Anders Logg
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+#
+# Recompile all ffc forms (use when FFC has been updated)
+# This script should be run from the top level directory.
+
+import os
+import ffc
+
+# Forms that need special options
+use_error = [
+ "AdaptivePoisson.ufl",
+ "AdaptiveNavierStokes.ufl",
+ ]
+
+use_representation = {
+ "HyperElasticity.ufl": "uflacs",
+ "CahnHilliard2D.ufl": "uflacs",
+ "CahnHilliard3D.ufl": "uflacs",
+ }
+
+use_split = [
+ "Poisson2D_1.ufl",
+ "Poisson2D_2.ufl",
+ "Poisson2D_3.ufl",
+ "Poisson2D_4.ufl",
+ "Poisson2D_5.ufl",
+ "Poisson3D_1.ufl",
+ "Poisson3D_2.ufl",
+ "Poisson3D_3.ufl",
+ "Poisson3D_4.ufl",
+ "Poisson3D_5.ufl",
+ "CahnHilliard2D.ufl",
+ "CahnHilliard3D.ufl",
+ ]
+
+# Forms for which we don't want to generate functions for evaluating the basis
+skip_basis = ["Poisson2D_5.ufl", "Poisson3D_4.ufl"]
+
+# Directories to scan
+subdirs = ["demo", "bench", "test"]
+
+# Compile all form files
+topdir = os.getcwd()
+for subdir in subdirs:
+ for root, dirs, files in os.walk(subdir):
+ # Check for .ufl files
+ formfiles = [f for f in files if f[-4:] == ".ufl"]
+ if not formfiles:
+ continue
+
+ # Compile files
+ os.chdir(root)
+ print("Compiling %d forms in %s..." % (len(formfiles), root))
+ for f in formfiles:
+ args = ["-l", "dolfin"]
+ args.append("-s")
+ args.append("-O")
+
+ args.append("-r")
+ args.append(use_representation.get(f, "auto"))
+
+ if f in use_split:
+ args.append("-fsplit")
+
+ if f in use_error:
+ args.append("-e")
+
+ if f in skip_basis:
+ args.append("-fno-evaluate_basis")
+ args.append("-fno-evaluate_basis_derivatives")
+
+ args.append(f)
+
+ command = "ffc " + " ".join(args) # + " >> compile.log"
+ print(command)
+
+ ret = ffc.main(args)
+ if ret != 0:
+ raise RuntimeError("Unable to compile form: %s/%s" % (root, f))
+ os.chdir(topdir)
diff --git a/cmake/scripts/generate-local b/cmake/scripts/generate-local
deleted file mode 100755
index 7f0a33c..0000000
--- a/cmake/scripts/generate-local
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-#
-# This script runs all the others except the download script.
-
-echo "The following scripts will now be run:"
-echo ""
-echo " cmake/scripts/generate-form-files"
-echo " cmake/scripts/generate-cmakefiles"
-echo " cmake/scripts/generate-swig-docstrings"
-echo " cmake/scripts/generate-swig-interface"
-echo ""
-echo "Press return to continue."
-read x
-
-./cmake/scripts/generate-form-files
-./cmake/scripts/generate-cmakefiles
-./cmake/scripts/generate-swig-docstrings
-./cmake/scripts/generate-swig-interface
diff --git a/cmake/scripts/generate-swig-docstrings b/cmake/scripts/generate-swig-docstrings.py
old mode 100755
new mode 100644
similarity index 99%
rename from cmake/scripts/generate-swig-docstrings
rename to cmake/scripts/generate-swig-docstrings.py
index ab96c86..1bcda8c
--- a/cmake/scripts/generate-swig-docstrings
+++ b/cmake/scripts/generate-swig-docstrings.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""Simple functions to update the docstrings.i file for the Python interface
from the intermediate representation of the documentation which is extracted
from the C++ source code of DOLFIN.
diff --git a/cmake/scripts/generate-swig-interface b/cmake/scripts/generate-swig-interface.py
old mode 100755
new mode 100644
similarity index 74%
rename from cmake/scripts/generate-swig-interface
rename to cmake/scripts/generate-swig-interface.py
index 4782f94..843a492
--- a/cmake/scripts/generate-swig-interface
+++ b/cmake/scripts/generate-swig-interface.py
@@ -1,8 +1,6 @@
-#!/usr/bin/env python
-#
# Generate SWIG files for Python interface of DOLFIN
#
-# Copyright (C) 2012 Johan Hake
+# Copyright (C) 2012-2016 Johan Hake
#
# This file is part of DOLFIN.
#
@@ -18,9 +16,6 @@
#
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2012-01-17
-# Last changed: 2013-06-23
# System imports
import os
@@ -29,6 +24,7 @@ import glob
import time
import sys
+
# Add local site-packages to path,
# NOTE: We need to prepend it so systemwide installed dolfin is not picked up
sys.path.insert(0, os.path.abspath("site-packages"))
@@ -36,7 +32,10 @@ sys.path.insert(0, os.path.abspath("site-packages"))
from dolfin_utils.cppparser import *
# Local imports
-from codesnippets import *
+from codesnippets import swig_cmakelists_str, copyright_statement, module_template
+
+# No implicit relative import in python 3
+BASE_PACKAGE_NAME = "dolfin.cpp" if sys.version_info[0] == 3 else ""
# Create time info for labeling generated code
_local_time = time.localtime()
@@ -61,55 +60,54 @@ global swig_dir
swig_dir = os.path.abspath(os.path.join(dolfin_dir, "dolfin", "swig"))
org_swig_dir = swig_dir
+
def extract_module_header_files(submodule, excludes):
"""
Extract header files for a submodule
"""
-
# Read dolfin submodule include file
- code = open(os.path.join(dolfin_dir, "dolfin", submodule, \
- "dolfin_%s.h" % submodule)).read()
+ fn = os.path.join(dolfin_dir, "dolfin", submodule,
+ "dolfin_%s.h" % submodule)
+ with open(fn) as f:
+ code = f.read()
# Extract all headers
all_headers = re.findall(_header_pattern, code)
# Filter with excludes
- return [header for header in all_headers \
+ return [header for header in all_headers
if header.split("/")[-1] not in excludes]
+
def generate_submodule_info(excludes):
"""
Check the passed module to submodule mapping and sort it
Creates the reverse mapping together with additional info
about each submodule
"""
-
# Extract original modules from dolfin.h
# NOTE: We need these, in particular the order
original_submodules = []
module_to_submodules = OrderedDict()
- f = open(os.path.join(dolfin_dir, "dolfin", "dolfin.h"))
- present_module = ""
- for line in f:
-
- module_match = re.findall(_module_pattern, line)
- if module_match:
- module = module_match[0]
- module_to_submodules[module] = []
- present_module = module
- continue
-
- submodule_match = re.findall(_submodule_pattern, line)
- if submodule_match:
- submodule = submodule_match[0]
- original_submodules += [submodule]
-
- if not present_module:
- raise RuntimeError("Found a submodule in dolfin.h before a "\
- "SWIG module was declared.")
- module_to_submodules[present_module].append(submodule)
+ fn = os.path.join(dolfin_dir, "dolfin", "dolfin.h")
+ with open(fn) as f:
+ present_module = ""
+ for line in f:
+ module_match = re.findall(_module_pattern, line)
+ if module_match:
+ module = module_match[0]
+ module_to_submodules[module] = []
+ present_module = module
+ continue
- f.close()
+ submodule_match = re.findall(_submodule_pattern, line)
+ if submodule_match:
+ submodule = submodule_match[0]
+ original_submodules += [submodule]
+ if not present_module:
+ raise RuntimeError("Found a submodule in dolfin.h before a "
+ "SWIG module was declared.")
+ module_to_submodules[present_module].append(submodule)
# Check that the directory structure of the combined modules
# corresponds to the above dict, if not generate them
@@ -120,8 +118,8 @@ def generate_submodule_info(excludes):
# Some sanity checks
for module_dir in module_dirs:
if module_dir not in module_to_submodules:
- raise RuntimeError("Found a subdirectory: '%s' under the 'modules' "\
- "directory, which is not listed as a combined "\
+ raise RuntimeError("Found a subdirectory: '%s' under the 'modules' "
+ "directory, which is not listed as a combined "
"module." % module_dir)
for combined_module, modules in module_to_submodules.items():
@@ -129,10 +127,10 @@ def generate_submodule_info(excludes):
os.makedirs(os.path.join(swig_dir, "modules", combined_module))
for module in modules:
if module not in original_submodules:
- raise RuntimeError("Found a module: '%s' listed in the '%s' "\
- "combined module, which is not part of the "\
- "original DOLFIN modules." % \
- (module, combined_module))
+ raise RuntimeError("Found a module: '%s' listed in the '%s' "
+ "combined module, which is not part of the "
+ "original DOLFIN modules."
+ % (module, combined_module))
# Create a map from original modules to the combined
submodule_info = OrderedDict()
@@ -141,11 +139,11 @@ def generate_submodule_info(excludes):
for submodule in original_submodules:
for module, submodules in module_to_submodules.items():
if submodule in submodules:
- submodule_info[submodule] = dict(\
+ submodule_info[submodule] = dict(
module=module,
- has_pre=os.path.isfile(\
+ has_pre=os.path.isfile(
os.path.join(org_swig_dir, submodule, "pre.i")),
- has_post=os.path.isfile(\
+ has_post=os.path.isfile(
os.path.join(org_swig_dir, submodule, "post.i")),
headers=extract_module_header_files(submodule, excludes))
break
@@ -167,17 +165,17 @@ def generate_submodule_info(excludes):
# Return ordered submodule info
return module_to_submodules, submodule_info
+
def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
"""
Extracts the file dependencies of the SWIG modules
"""
-
# OrderedDict of all external dependencies for each SWIG module
- module_info = OrderedDict((module, dict(submodules=submodules,\
- declared_types=[],\
- used_types=set(),\
+ module_info = OrderedDict((module, dict(submodules=submodules,
+ declared_types=[],
+ used_types=set(),
dependencies={}
- ))\
+ ))
for module, submodules in module_to_submodules.items())
# dict of where each dolfin type is declared and in what module and
@@ -187,7 +185,7 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
# Add UFC Function
# FIXME: ufc inheritance is not used for now. The ufc module information
# FIXME: is globally imported in shared_ptr_classes.i
- dolfin_type_def["ufc::function"] = dict(\
+ dolfin_type_def["ufc::function"] = dict(
module="",
submodule="",
header="ufc.h",
@@ -214,7 +212,8 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
continue
# Read code
- code = open(header_file).read()
+ with open(header_file) as f:
+ code = f.read()
try:
# Extract type info
@@ -229,14 +228,13 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
continue
# Store type info
- for dolfin_type, bases in declared_types.items():
+ for dolfin_type, bases in declared_types.items(): # XXX
# Store type information
- dolfin_type_def[dolfin_type] = dict(\
- module=module,
- submodule=submodule,
- header=header_file,
- bases=bases, derived=set())
+ dolfin_type_def[dolfin_type] = dict(module=module,
+ submodule=submodule,
+ header=header_file,
+ bases=bases, derived=set())
# Register the class
module_info[module]["declared_types"].append(dolfin_type)
@@ -257,17 +255,18 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
dolfin_type_info["derived"].add(dolfin_type)
# Add collected types to module
- module_info[module]["used_types"].update(\
+ module_info[module]["used_types"].update(
used_types)
- # If for one reason or the other a base class was detected which was not
- # registered we add derived information here
+ # If for one reason or the other a base class was detected which
+ # was not registered we add derived information here
for dolfin_type_name, derived in derived_classes.items():
dolfin_type = dolfin_type_def.get(dolfin_type_name)
if dolfin_type is not None:
dolfin_type["derived"].update(derived)
- # Help functions to recursevily add base and derived information to types
+ # Help functions to recursevily add base and derived information
+ # to types
def add_bases(bases, commulative_bases):
for base in bases:
# Check if bas is a dolfin type
@@ -288,15 +287,14 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
# Recursively add base and derived classes
if dolfin_type_def[dolfin_type]["bases"]:
-
new_bases = set()
add_bases(dolfin_type_def[dolfin_type]["bases"], new_bases)
- dolfin_type_def[dolfin_type]["bases"] = list(new_bases)
+ dolfin_type_def[dolfin_type]["bases"] = sorted(new_bases)
if dolfin_type_def[dolfin_type]["derived"]:
new_derived = set()
add_derived(dolfin_type_def[dolfin_type]["derived"], new_derived)
- dolfin_type_def[dolfin_type]["derived"] = list(new_derived)
+ dolfin_type_def[dolfin_type]["derived"] = sorted(new_derived)
# Collect used dolfin types in each module
used_dolfin_types = dict((module, set()) for module in module_info)
@@ -307,10 +305,10 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
# Turn all set data into lists
if isinstance(dolfin_type_def[dolfin_type]["bases"], set):
dolfin_type_def[dolfin_type]["bases"] = \
- list(dolfin_type_def[dolfin_type]["bases"])
+ sorted(dolfin_type_def[dolfin_type]["bases"])
if isinstance(dolfin_type_def[dolfin_type]["derived"], set):
dolfin_type_def[dolfin_type]["derived"] = \
- list(dolfin_type_def[dolfin_type]["derived"])
+ sorted(dolfin_type_def[dolfin_type]["derived"])
for module in module_info:
for used_type in module_info[module]["used_types"]:
@@ -318,7 +316,7 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
used_dolfin_types[module].add(dolfin_type)
# Add bases and derived types
- used_dolfin_types[module].update(\
+ used_dolfin_types[module].update(
dolfin_type_def[dolfin_type]["bases"])
break
@@ -330,6 +328,7 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
# Check external module dependencies
for present_module in module_info:
+ dependencies = module_info[present_module]["dependencies"]
for dependent_module in module_info:
# If same module no external dependencies
@@ -339,43 +338,38 @@ def extract_swig_modules_dependencies(module_to_submodules, submodule_info):
# Iterate over all dolfin types in dependent modules and check it they
# are present in the present module
for dolfin_type in module_info[dependent_module]["declared_types"]:
-
# Check for dependency
if dolfin_type in module_info[present_module]["used_types"]:
# Register the dependency
- dependencies = module_info[present_module]["dependencies"]
submodule = dolfin_type_def[dolfin_type]["submodule"]
if submodule not in dependencies:
dependencies[submodule] = set()
- dependencies[submodule].add(\
+ dependencies[submodule].add(
dolfin_type_def[dolfin_type]["header"])
# Need special treatment for template definitions in function/pre.i
- if "function" in module_info[present_module]["dependencies"]:
+ if "function" in dependencies:
for dolfin_type in ["FunctionSpace", "Function"]:
- module_info[present_module]["dependencies"]["function"].add(\
+ dependencies["function"].add(
dolfin_type_def[dolfin_type]["header"])
- # Need special treatment to include constants.h if not allready included
+ # Need special treatment to include constants.h if not already included
if present_module != "common":
-
# If no dependencies of common add it
- if "common" not in module_info[present_module]["dependencies"]:
- module_info[present_module]["dependencies"]["common"] = \
- set("dolfin/common/constants.h")
- else:
- module_info[present_module]["dependencies"]["common"].add(\
- "dolfin/common/constants.h")
+ if "common" not in dependencies:
+ dependencies["common"] = set()
+ dependencies["common"].add(
+ "dolfin/common/constants.h")
# Over write old submodules dependencies with sorted version
module_info[present_module]["dependencies"] = \
- sort_submodule_dependencies(\
- module_info[present_module]["dependencies"], submodule_info)
+ sort_submodule_dependencies(dependencies, submodule_info)
# Return data structures
return module_info, dolfin_type_def
+
def write_module_interface_file(module, dependencies, submodule_info, parsed_modules):
"""
Write the main interface file for SWIG module
@@ -389,21 +383,14 @@ def write_module_interface_file(module, dependencies, submodule_info, parsed_mod
# Create import and include lines for each dependent file
import_lines, headers_includes, file_dependencies = \
- build_swig_import_info(
- dependencies, submodule_info,
- package_name="dolfin.cpp" if sys.version_info[0] == 3 else "",
+ build_swig_import_info(dependencies, submodule_info,
+ package_name=BASE_PACKAGE_NAME,
parsed_modules=parsed_modules)
- # Filter file dependencies
- file_dependencies = [os.path.abspath(f) \
- for f in file_dependencies]
-
# Add global SWIG interface files
- file_dependencies.append(os.path.abspath(os.path.join(\
- swig_dir, "modules", module, "module.i")))
- file_dependencies.extend(os.path.abspath(f) \
- for f in glob.glob("dolfin/swig/*.i") + \
- glob.glob("dolfin/swig/typemaps/*.i"))
+ file_dependencies.append(os.path.join(swig_dir, "modules", module, "module.i"))
+ file_dependencies.extend(glob.glob("dolfin/swig/*.i"))
+ file_dependencies.extend(glob.glob("dolfin/swig/typemaps/*.i"))
include_lines = []
docstring_lines = []
@@ -427,26 +414,23 @@ def write_module_interface_file(module, dependencies, submodule_info, parsed_mod
# Check for pre includes
if submod_info["has_pre"]:
- include_lines.append(\
+ include_lines.append(
"%%include \"dolfin/swig/%s/pre.i\"" % submodule)
- file_dependencies.append(os.path.abspath(os.path.join(\
- swig_dir, submodule, "pre.i")))
+ file_dependencies.append(
+ os.path.join(swig_dir, submodule, "pre.i"))
# Add headers
- headers_includes.extend("#include \"%s\"" % header \
+ headers_includes.extend("#include \"%s\"" % header
for header in submod_info["headers"])
- include_lines.extend("%%include \"%s\"" % header \
+ include_lines.extend("%%include \"%s\"" % header
for header in submod_info["headers"])
- file_dependencies = [os.path.abspath(f) \
- for f in file_dependencies]
- #print submod_info["headers"]
# Check for post includes
if submod_info["has_post"]:
- include_lines.append(\
+ include_lines.append(
"%%include \"dolfin/swig/%s/post.i\"" % submodule)
- file_dependencies.append(os.path.abspath(os.path.join(\
- swig_dir, submodule, "post.i")))
+ file_dependencies.append(
+ os.path.join(swig_dir, submodule, "post.i"))
# Add imports and includes to form
module_form["imports"] = "\n".join(import_lines)
@@ -454,53 +438,68 @@ def write_module_interface_file(module, dependencies, submodule_info, parsed_mod
module_form["docstrings"] = "\n".join(docstring_lines)
module_form["headers"] = "\n".join(headers_includes)
- # Open file
- module_file = open(os.path.join(swig_dir, "modules", module, "module.i"), "w")
- module_file.write(copyright_statement%(copyright_form_swig))
-
# Write the generated code
- module_file.write(module_template % module_form)
+ fn = os.path.join(swig_dir, "modules", module, "module.i")
+ with open(fn, "w") as module_file:
+ module_file.write(copyright_statement % copyright_form_swig)
+ module_file.write(module_template % module_form)
+
+ # Make file dependency paths absolute
+ file_dependencies = [os.path.abspath(f) for f in file_dependencies]
# Write swig interface file dependencies
- dependency_file = open(os.path.join(swig_dir, "modules", module,
- "dependencies.txt"), "w")
- dependency_file.write(";".join(sorted(file_dependencies)))
+ fn = os.path.join(swig_dir, "modules", module, "dependencies.txt")
+ with open(fn, "w") as dependency_file:
+ dependency_file.write(";".join(sorted(file_dependencies)))
+
def write_swig_cmakelist_file(module):
"""
Generate the CMakeList.txt file for each module
"""
-
- # Write swig interface file dependencies
- cmakelist_file = open(os.path.join(swig_dir, "modules", module,
- "CMakeLists.txt"), "w")
-
swig_cmakelists = """# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
""" + swig_cmakelists_str
- cmakelist_file.write(swig_cmakelists)
+
+ # Write swig interface file dependencies
+ fn = os.path.join(swig_dir, "modules", module, "CMakeLists.txt")
+ with open(fn, "w") as cmakelist_file:
+ cmakelist_file.write(swig_cmakelists)
+
+
+def repr_ordered_dict(data, indent=0):
+ """
+ Make a readable repr version of an OrderedDict
+ """
+ sp = " "*indent
+ sep = ",\n" + sp
+ if isinstance(data, OrderedDict):
+ return "OrderedDict([\n%s%s\n])" % (sp, sep.join(
+ "('%s', %s)" % (key, repr_ordered_dict(value, indent+1))
+ for key, value in data.items()))
+ elif isinstance(data, dict):
+ return "dict([\n%s%s\n])" % (sp, sep.join(
+ "('%s', %s)" % (key, repr_ordered_dict(value, indent+1))
+ for key, value in sorted(data.items())))
+ else:
+ return repr(data)
+
def generate_runtime_config_file(dolfin_type_def, module_to_submodules,
submodule_info):
- # Extract all shared_ptr stored classes and store them in a pyton module
+ # Extract all shared_ptr stored classes and store them in a python module
# and place that under dolfin.compilemodeuls.sharedptrclasses.py
- shared_ptr_classes = re.findall("%shared_ptr\(dolfin::(.+)\)", \
- open(os.path.join(org_swig_dir, \
- "shared_ptr_classes.i")).read())
- def repr_ordered_dict(data):
- """
- Make a readable repr version of an OrderedDict
- """
- return "OrderedDict([\\\n%s])" % "\n".join(\
- "('%s', %s)," % (key, item) for key, item in data.items())
+ with open(os.path.join(org_swig_dir, "shared_ptr_classes.i")) as f:
+ classes = f.read()
+ shared_ptr_classes = re.findall("%shared_ptr\(dolfin::(.+)\)", classes)
#shared_ptr_classes = filter(lambda x: "NAME" not in x, shared_ptr_classes)
runtime_file = '''"""
-This module contains compiletime information about the dolfin python
-library, which can be utelized at runtime.
+This module contains compiletime information about the
+dolfin python library, which can be utilized at runtime.
The file is automatically generated by the generateswigcode.py script
in the dolfin/swig directory."""
@@ -521,13 +520,14 @@ module_to_submodules = %s
# A reverse map between submodules and modules
submodule_info = %s
-''' % (repr(shared_ptr_classes), repr_ordered_dict(dolfin_type_def),\
+''' % (sorted(shared_ptr_classes), repr_ordered_dict(dolfin_type_def),
repr_ordered_dict(module_to_submodules), repr_ordered_dict(submodule_info))
# FIXME: Create this in build directory
- open(os.path.join("site-packages", "dolfin", \
- "compilemodules", "swigimportinfo.py"), "w").write(\
- runtime_file)
+ fn = os.path.join("site-packages", "dolfin", "compilemodules", "swigimportinfo.py")
+ with open(fn, "w") as f:
+ f.write(runtime_file)
+
def regenerate_swig_interface(excludes, top_destdir):
"""
@@ -543,7 +543,6 @@ def regenerate_swig_interface(excludes, top_destdir):
dolfin_dirs = dolfin_dir.split(os.sep)
abs_destdirs = abs_destdir.split(os.sep)
while dolfin_dirs and abs_destdirs:
-
# Check if dolfin and abs_dest dir has the same top directory
if dolfin_dirs[0] == abs_destdirs[0]:
dolfin_dirs.pop(0)
@@ -563,19 +562,18 @@ def regenerate_swig_interface(excludes, top_destdir):
# Create dolfin type info and depdency structures to be used when
# generating swig interface files
- module_info, dolfin_type_def = extract_swig_modules_dependencies(\
+ module_info, dolfin_type_def = extract_swig_modules_dependencies(
module_to_submodules, submodule_info)
# Iterate over the modules and create a swig interface file
- submodule_ordered = [submodule for submodules in module_to_submodules.values() \
+ submodule_ordered = [submodule for submodules in module_to_submodules.values()
for submodule in submodules]
parsed_modules = []
for module in module_to_submodules:
# Sort submodules
- dependencies = sorted(module_info[module]["dependencies"].keys(), \
- key=lambda x: \
- (submodule_ordered.index(x)))
- write_module_interface_file(module, module_info[module]["dependencies"], \
+ dependencies = sorted(module_info[module]["dependencies"].keys(),
+ key=lambda x: submodule_ordered.index(x))
+ write_module_interface_file(module, module_info[module]["dependencies"],
submodule_info, parsed_modules)
write_swig_cmakelist_file(module)
parsed_modules.append(module)
diff --git a/cmake/templates/DOLFINConfig.cmake.in b/cmake/templates/DOLFINConfig.cmake.in
index 75d70c3..b503529 100644
--- a/cmake/templates/DOLFINConfig.cmake.in
+++ b/cmake/templates/DOLFINConfig.cmake.in
@@ -5,12 +5,15 @@
# FIXME: Check that naming conforms to CMake standards
+# Compute path
+get_filename_component(DOLFIN_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
# Library dependencies (contains definitions for IMPORTED targets)
# NOTE: DOLFIN demo CMakeLists.txt are written to be stand-alone, as
# well as the build system building the demo. Therefore, we need the
# below guard to avoid exporting the targets twice.
if (NOT TARGET dolfin)
- include("@CMAKE_INSTALL_PREFIX@/@DOLFIN_SHARE_DIR@/cmake/DOLFINTargets.cmake")
+ include("${DOLFIN_CMAKE_DIR}/DOLFINTargets.cmake")
endif()
# Compilers
@@ -40,6 +43,10 @@ set(DOLFIN_PYTHON_DEFINITIONS "@DOLFIN_PYTHON_DEFINITIONS@")
# Python libraries
set(DOLFIN_PYTHON_LIBRARIES "@PYTHON_LIBRARIES@")
+# Python executable
+set(DOLFIN_PYTHON_EXECUTABLE "@PYTHON_EXECUTABLE@")
+
+# SWIG executable
set(DOLFIN_SWIG_EXECUTABLE "@SWIG_EXECUTABLE@")
# DOLFIN library
@@ -52,4 +59,4 @@ set(DOLFIN_VERSION_MICRO "@DOLFIN_VERSION_MICRO@")
set(DOLFIN_VERSION_STR "@DOLFIN_VERSION@")
# The location of the UseDOLFIN.cmake file
-set(DOLFIN_USE_FILE "@CMAKE_INSTALL_PREFIX@/@DOLFIN_SHARE_DIR@/cmake/UseDOLFIN.cmake")
+set(DOLFIN_USE_FILE "${DOLFIN_CMAKE_DIR}/UseDOLFIN.cmake")
diff --git a/cmake/templates/UseDOLFIN.cmake.in b/cmake/templates/UseDOLFIN.cmake.in
index d4a8c10..a2ff358 100644
--- a/cmake/templates/UseDOLFIN.cmake.in
+++ b/cmake/templates/UseDOLFIN.cmake.in
@@ -8,6 +8,11 @@
if (NOT DOLFIN_USE_FILE_INCLUDED)
set(DOLFIN_USE_FILE_INCLUDED 1)
+ # Require and use C++11
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+
# Need to get VTK config because VTK uses advanced VTK features
# which mean it's not enough to just link to the DOLFIN target. See
# http://www.vtk.org/pipermail/vtk-developers/2013-October/014402.html
@@ -18,6 +23,23 @@ if (NOT DOLFIN_USE_FILE_INCLUDED)
endif()
endif()
+ # Import Boost targets, if required
+ set(DOLFIN_BOOST_COMPONENTS_PUBLIC @DOLFIN_BOOST_COMPONENTS_PUBLIC@)
+ if (DOLFIN_BOOST_COMPONENTS_PUBLIC)
+ # Check for Boost
+ set(BOOST_ROOT $ENV{BOOST_DIR} $ENV{BOOST_HOME})
+ if (BOOST_ROOT)
+ set(Boost_NO_SYSTEM_PATHS on)
+ endif()
+
+ # Prevent FindBoost.cmake from looking for system Boost{foo}.cmake
+ # files
+ set(Boost_NO_BOOST_CMAKE true)
+
+ set(Boost_USE_MULTITHREADED $ENV{BOOST_USE_MULTITHREADED})
+ find_package(Boost COMPONENTS @DOLFIN_BOOST_COMPONENTS_PUBLIC@ REQUIRED QUIET)
+ endif()
+
# Add compiler definitions needed to use DOLFIN
add_definitions(${DOLFIN_CXX_DEFINITIONS})
diff --git a/cmake/templates/dolfin-config-version.cmake.in b/cmake/templates/dolfin-config-version.cmake.in
deleted file mode 100644
index 1d3a16c..0000000
--- a/cmake/templates/dolfin-config-version.cmake.in
+++ /dev/null
@@ -1,16 +0,0 @@
-set(PACKAGE_VERSION "@DOLFIN_VERSION@")
-set(PACKAGE_VERSION_MAJOR "@DOLFIN_VERSION_MAJOR@")
-set(PACKAGE_VERSION_MINOR "@DOLFIN_VERSION_MINOR@")
-set(PACKAGE_VERSION_PATCH "@DOLFIN_VERSION_MICRO@")
-
-# FIXME: When should versions be defined as compatible?
-# This version is compatible only with matching major.minor versions.
-if ("${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}" VERSION_EQUAL "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}")
- # This version is compatible with equal or lesser patch versions.
- if (NOT "${PACKAGE_VERSION_PATCH}" VERSION_LESS "${PACKAGE_FIND_VERSION_PATCH}")
- set(PACKAGE_VERSION_COMPATIBLE 1)
- if ("${PACKAGE_VERSION_PATCH}" VERSION_EQUAL "${PACKAGE_FIND_VERSION_PATCH}")
- set(PACKAGE_VERSION_EXACT 1)
- endif()
- endif()
-endif()
diff --git a/cmake/templates/dolfin-config.cmake.in b/cmake/templates/dolfin-config.cmake.in
deleted file mode 100644
index bd79392..0000000
--- a/cmake/templates/dolfin-config.cmake.in
+++ /dev/null
@@ -1,56 +0,0 @@
-# - Build details for DOLFIN: Dynamic Object-oriented Library for FINite element computation
-#
-# This file has been automatically generated.
-
-# FIXME: Check that naming conforms to CMake standards
-
-# This file is deprecated
-message(WARNING "find_package(dolfin) is deprecated - use find_package(DOLFIN) instead.")
-
-# Package found
-set(DOLFIN_FOUND TRUE)
-
-# Compilers
-set(DOLFIN_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
-
-# Compiler defintions
-set(DOLFIN_CXX_DEFINITIONS "-DDOLFIN_VERSION=\"@DOLFIN_VERSION@\";@DOLFIN_CXX_DEFINITIONS@")
-
-# Compiler flags
-set(DOLFIN_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
-
-# Linker flags
-set(DOLFIN_LINK_FLAGS "@CMAKE_EXE_LINKER_FLAGS@")
-
-# Include directories
-set(DOLFIN_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/@DOLFIN_INCLUDE_DIR@")
-
-# Third party include directories
-set(DOLFIN_3RD_PARTY_INCLUDE_DIRS "@DOLFIN_DEP_INCLUDE_DIRECTORIES@;@DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES@")
-
-# Python include directories
-set(DOLFIN_PYTHON_INCLUDE_DIRS "@NUMPY_INCLUDE_DIR@;@PYTHON_INCLUDE_DIRS@")
-
-# Python definitions
-set(DOLFIN_PYTHON_DEFINITIONS "@DOLFIN_PYTHON_DEFINITIONS@")
-
-# DOLFIN library
-set(DOLFIN_LIBRARIES "@DOLFIN_LIBRARY@")
-
-# Third-party library directories
-set(DOLFIN_3RD_PARTY_LIBRARY_DIRS "@DOLFIN_TARGET_LINK_LIBRARIES_DIRS@")
-
-# Third-party libraries
-set(DOLFIN_3RD_PARTY_LIBRARIES "@DOLFIN_TARGET_LINK_LIBRARIES@")
-
-# Python libraries
-set(DOLFIN_PYTHON_LIBRARIES "@PYTHON_LIBRARIES@")
-
-# Version
-set(DOLFIN_VERSION_MAJOR "@DOLFIN_VERSION_MAJOR@")
-set(DOLFIN_VERSION_MINOR "@DOLFIN_VERSION_MINOR@")
-set(DOLFIN_VERSION_MICRO "@DOLFIN_VERSION_MICRO@")
-set(DOLFIN_VERSION_STR "@DOLFIN_VERSION@")
-
-# The location of the UseDOLFIN.cmake file
-set(DOLFIN_USE_FILE "@CMAKE_INSTALL_PREFIX@/@DOLFIN_SHARE_DIR@/cmake/UseDOLFIN.cmake")
diff --git a/data/README b/data/README
index dcec783..8854a9a 100644
--- a/data/README
+++ b/data/README
@@ -4,3 +4,6 @@ a selection of meshes, please visit
http://fenicsproject.org/download/data.html
http://fenicsproject.org/pub/data/meshes/
+
+Update 2016: The meshes are now stored again as part of the DOLFIN
+repository using Git LFS (https://git-lfs.github.com/).
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index 3d96c86..e0f2c64 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -1,29 +1,111 @@
project(dolfin-demos)
# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
# FIXME: Temporary fix for whitespace error
cmake_policy(SET CMP0004 OLD)
-# Find DOLFIN config file (not used here, but check that the demo will be able
-# to find it
+# Find DOLFIN config file (not used here, but check that the demo will
+# be able to find it
find_package(DOLFIN PATHS ${CMAKE_BINARY_DIR} REQUIRED)
-# If config file is found, add all demo sub-directories, else print helper
-# message
+# If config file is found, add all demo sub-directories, else print
+# helper message
if (DOLFIN_FOUND)
+ # Directories that are commented out correspond to demos that have
+ # not been implemented in C++
+
+ # Documented demos
+ add_subdirectory(documented/auto-adaptive-poisson/cpp)
+ add_subdirectory(documented/bcs/cpp)
+ add_subdirectory(documented/biharmonic/cpp)
+ add_subdirectory(documented/built-in-meshes/cpp)
+ add_subdirectory(documented/cahn-hilliard/cpp)
+ add_subdirectory(documented/eigenvalue/cpp)
+ add_subdirectory(documented/hyperelasticity/cpp)
+ add_subdirectory(documented/mixed-poisson/cpp)
+ add_subdirectory(documented/navier-stokes/cpp)
+ add_subdirectory(documented/neumann-poisson/cpp)
+ add_subdirectory(documented/nonlinear-poisson/cpp)
+ add_subdirectory(documented/nonmatching-interpolation/cpp)
+ add_subdirectory(documented/periodic/cpp)
+ add_subdirectory(documented/poisson/cpp)
+ add_subdirectory(documented/singular-poisson/cpp)
+ #add_subdirectory(documented/singular-poisson-rst/cpp)
+ add_subdirectory(documented/stokes-iterative/cpp)
+ #add_subdirectory(documented/stokes-mini/cpp)
+ add_subdirectory(documented/stokes-taylor-hood/cpp)
+ add_subdirectory(documented/subdomains/cpp)
+ #add_subdirectory(documented/subdomains-poisson/cpp)
+ #add_subdirectory(documented/tensor-weighted-poisson/cpp)
+
+ # Undocumented demos
+ #add_subdirectory(undocumented/adaptive-poisson/cpp)
+ add_subdirectory(undocumented/ale/cpp)
+ add_subdirectory(undocumented/advection-diffusion/cpp)
+ add_subdirectory(undocumented/auto-adaptive-navier-stokes/cpp)
+ add_subdirectory(undocumented/block-matrix/cpp)
+ #add_subdirectory(undocumented/buckling-tao/cpp)
+ #add_subdirectory(undocumented/collision-detection/cpp)
+ add_subdirectory(undocumented/coloring/cpp)
+ #add_subdirectory(undocumented/compiled-extension-module/cpp)
+ add_subdirectory(undocumented/conditional/cpp)
+ add_subdirectory(undocumented/contact-vi-snes/cpp)
+ add_subdirectory(undocumented/contact-vi-tao/cpp)
+ #add_subdirectory(undocumented/coordinates/cpp)
+ add_subdirectory(undocumented/curl-curl/cpp)
+ add_subdirectory(undocumented/dg-advection-diffusion/cpp)
+ add_subdirectory(undocumented/dg-poisson/cpp)
+ add_subdirectory(undocumented/elasticity/cpp)
+ add_subdirectory(undocumented/elastodynamics/cpp)
+ #add_subdirectory(undocumented/elementplot/cpp)
+ add_subdirectory(undocumented/eval/cpp)
+ add_subdirectory(undocumented/extrapolation/cpp)
+ add_subdirectory(undocumented/functional/cpp)
+ #add_subdirectory(undocumented/ghost-mesh/cpp)
+ #add_subdirectory(undocumented/interpolation/cpp)
+ add_subdirectory(undocumented/lift-drag/cpp)
+ add_subdirectory(undocumented/mesh-quality/cpp)
+ #add_subdirectory(undocumented/mixed-poisson-sphere/cpp)
+ #add_subdirectory(undocumented/mplot/cpp)
+ #add_subdirectory(undocumented/multimesh/cpp)
+ add_subdirectory(undocumented/multimesh-poisson/cpp)
+ add_subdirectory(undocumented/multimesh-stokes/cpp)
+ add_subdirectory(undocumented/meshfunction-refinement/cpp)
+ #add_subdirectory(undocumented/multistage-solver/cpp)
+ add_subdirectory(undocumented/nonmatching-projection/cpp)
+ #add_subdirectory(undocumented/optimization/cpp)
+ #add_subdirectory(undocumented/overlapping-regions/cpp)
+ add_subdirectory(undocumented/parallel-refinement/cpp)
+ add_subdirectory(undocumented/parameters/cpp)
+ add_subdirectory(undocumented/plot/cpp)
+ add_subdirectory(undocumented/poisson1D/cpp)
+ add_subdirectory(undocumented/poisson1D-in-2D/cpp)
+ add_subdirectory(undocumented/poisson-disc/cpp)
+ #add_subdirectory(undocumented/point-integral/cpp)
+ #add_subdirectory(undocumented/projection-interpolation/cpp)
+ add_subdirectory(undocumented/refinement/cpp)
+ #add_subdirectory(undocumented/smoothing/cpp)
+ add_subdirectory(undocumented/spatial-coordinates/cpp)
+ #add_subdirectory(undocumented/special-functions/cpp)
+ #add_subdirectory(undocumented/sub-function-assignment/cpp)
+ add_subdirectory(undocumented/submesh/cpp)
+ add_subdirectory(undocumented/sym-dirichlet-bc/cpp)
+ add_subdirectory(undocumented/time-series/cpp)
+ #add_subdirectory(undocumented/timing/cpp)
+ add_subdirectory(undocumented/waveguide/cpp)
+
# Build list of all cpp demo directories
- file(GLOB_RECURSE list "main.cpp")
- list(SORT list)
- string(REGEX REPLACE "/main.cpp" "" list "${list}")
+ #file(GLOB_RECURSE list "main.cpp")
+ #list(SORT list)
+ #string(REGEX REPLACE "/main.cpp" "" list "${list}")
# Add each C++ demo directory
- foreach (demo_dir ${list})
- #message(STATUS "Adding C++ demo: ${demo_dir}")
- add_subdirectory(${demo_dir})
- endforeach()
+ #foreach (demo_dir ${list})
+ # add_subdirectory(${demo_dir})
+ #endforeach()
else()
diff --git a/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.h b/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.h
deleted file mode 100644
index ce04a6f..0000000
--- a/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.h
+++ /dev/null
@@ -1,15409 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: True
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __ADAPTIVEPOISSON_H
-#define __ADAPTIVEPOISSON_H
-#include <stdexcept>
-#include <ufc.h>
-
-class adaptivepoisson_finite_element_0: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_0();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_1: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_2: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_2() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 2;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[4][2];
- for (unsigned int row = 0; row < 4; row++)
- {
- for (unsigned int col = 0; col < 2; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[4][4];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 5:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- dof_coordinates[7] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- dof_coordinates[8] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- dof_coordinates[9] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- dof_coordinates[10] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- dof_coordinates[11] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_2();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_3: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_3() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Discontinuous Lagrange', triangle, 2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 2;
- }
-
- const char * family() const final override
- {
- return "Discontinuous Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[4][2];
- for (unsigned int row = 0; row < 4; row++)
- {
- for (unsigned int col = 0; col < 2; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[4][4];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 5:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- dof_coordinates[7] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- dof_coordinates[8] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- dof_coordinates[9] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- dof_coordinates[10] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- dof_coordinates[11] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_3();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_4: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_4() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Discontinuous Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Discontinuous Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_4();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_5: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_5() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_5() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Discontinuous Lagrange', triangle, 0)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 1;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 0;
- }
-
- const char * family() const final override
- {
- return "Discontinuous Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
-
- // Get coordinates and map to the reference (FIAT) element
-
- // Reset values
- *values = 0.0;
-
- // Array of basisvalues
- double basisvalues[1] = {0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
-
- // Table(s) of coefficients
- static const double coefficients0[1] = \
- {1.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 1; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis.
- _evaluate_basis(0, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 0)
- {
- return ;
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis_derivatives.
- _evaluate_basis_derivatives(0, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[0];
- vertex_values[2] = dof_values[0];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_5();
- }
-
-};
-
-
-class adaptivepoisson_finite_element_6: public ufc::finite_element
-{
-public:
-
- adaptivepoisson_finite_element_6() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_finite_element_6() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Bubble', triangle, 3)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 1;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 3;
- }
-
- const char * family() const final override
- {
- return "Bubble";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis.
- _evaluate_basis(0, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[8][3];
- for (unsigned int row = 0; row < 8; row++)
- {
- for (unsigned int col = 0; col < 3; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[8][8];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis_derivatives.
- _evaluate_basis_derivatives(0, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = 0;
- vertex_values[1] = 0;
- vertex_values[2] = 0;
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new adaptivepoisson_finite_element_6();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_0: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_0();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_1: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_2: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_2() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0] + num_global_entities[1];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 1;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[1][0];
- dofs[4] = offset + entity_indices[1][1];
- dofs[5] = offset + entity_indices[1][2];
- offset += num_global_entities[1];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 5;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 5;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_2();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_3: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_3() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 6*num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 6;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = 6*entity_indices[2][0];
- dofs[1] = 6*entity_indices[2][0] + 1;
- dofs[2] = 6*entity_indices[2][0] + 2;
- dofs[3] = 6*entity_indices[2][0] + 3;
- dofs[4] = 6*entity_indices[2][0] + 4;
- dofs[5] = 6*entity_indices[2][0] + 5;
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 3;
- dofs[4] = 4;
- dofs[5] = 5;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_3();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_4: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_4() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 3*num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = 3*entity_indices[2][0];
- dofs[1] = 3*entity_indices[2][0] + 1;
- dofs[2] = 3*entity_indices[2][0] + 2;
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_4();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_5: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_5() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_5() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 0)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[2][0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_5();
- }
-
-};
-
-
-class adaptivepoisson_dofmap_6: public ufc::dofmap
-{
-public:
-
- adaptivepoisson_dofmap_6() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_dofmap_6() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Bubble', triangle, 3)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[2][0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivepoisson_dofmap_6();
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 11
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1]);
- const double G0_0_1 = det*(K[0]*K[2] + K[1]*K[3]);
- const double G0_1_0 = det*(K[2]*K[0] + K[3]*K[1]);
- const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
-
- // Compute element tensor
- A[0] = 0.499999999999999*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1;
- A[1] = -0.499999999999999*G0_0_0 - 0.5*G0_1_0;
- A[2] = -0.5*G0_0_1 - 0.5*G0_1_1;
- A[3] = -0.499999999999999*G0_0_0 - 0.5*G0_0_1;
- A[4] = 0.499999999999999*G0_0_0;
- A[5] = 0.5*G0_0_1;
- A[6] = -0.5*G0_1_0 - 0.5*G0_1_1;
- A[7] = 0.5*G0_1_0;
- A[8] = 0.5*G0_1_1;
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_1_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_1_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 0
- // Number of operations (multiply-add pairs) for tensor contraction: 1
- // Total number of operations (multiply-add pairs): 4
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_ = det;
-
- // Compute element tensor
- A[0] = 0.166666666666667*G0_;
- A[1] = 0.166666666666667*G0_;
- A[2] = 0.166666666666667*G0_;
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_2_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_2_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_2_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W6[6] = {0.0833333333333333, 0.0833333333333333, 0.0833333333333333, 0.0833333333333333, 0.0833333333333333, 0.0833333333333333};
- // Quadrature points on the UFC reference element: (0.659027622374092, 0.231933368553031), (0.659027622374092, 0.109039009072877), (0.231933368553031, 0.659027622374092), (0.231933368553031, 0.109039009072877), (0.109039009072877, 0.659027622374092), (0.109039009072877, 0.231933368553031)
-
- // Values of basis functions at quadrature points.
- static const double FE0[6][3] = \
- {{0.109039009072877, 0.659027622374092, 0.231933368553031},
- {0.231933368553031, 0.659027622374092, 0.109039009072877},
- {0.109039009072877, 0.231933368553031, 0.659027622374092},
- {0.659027622374092, 0.231933368553031, 0.109039009072877},
- {0.231933368553031, 0.109039009072877, 0.659027622374092},
- {0.659027622374092, 0.109039009072877, 0.231933368553031}};
-
- static const double FE0_D01[6][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 1};
-
- static const double FE1[6][6] = \
- {{-0.0852599980736871, 0.209607191730006, -0.124347193656319, 0.611401985706872, 0.101159138711827, 0.287438875581301},
- {-0.124347193656319, 0.209607191730006, -0.0852599980736871, 0.287438875581301, 0.101159138711827, 0.611401985706872},
- {-0.085259998073687, -0.124347193656319, 0.209607191730006, 0.611401985706872, 0.287438875581301, 0.101159138711827},
- {0.209607191730006, -0.124347193656319, -0.0852599980736871, 0.101159138711827, 0.287438875581301, 0.611401985706872},
- {-0.124347193656319, -0.0852599980736871, 0.209607191730006, 0.287438875581301, 0.611401985706872, 0.101159138711827},
- {0.209607191730006, -0.0852599980736871, -0.124347193656319, 0.101159138711827, 0.611401985706872, 0.287438875581301}};
-
- static const double FE1_D01[6][5] = \
- {{0.563843963708487, -0.0722665257878746, 2.63611048949635, -0.491577437920606, -2.63611048949637},
- {0.0722665257878714, -0.563843963708491, 2.63611048949635, 0.491577437920626, -2.63611048949637},
- {0.563843963708487, 1.63611048949637, 0.927733474212109, -2.19995445320485, -0.927733474212123},
- {-1.63611048949637, -0.563843963708491, 0.927733474212113, 2.19995445320487, -0.927733474212124},
- {0.0722665257878707, 1.63611048949637, 0.436156036291494, -1.70837701528424, -0.436156036291506},
- {-1.63611048949637, -0.0722665257878746, 0.436156036291497, 1.70837701528425, -0.436156036291507}};
-
- // Array of non-zero columns
- static const unsigned int nzc2[5] = {0, 2, 3, 4, 5};
-
- static const double FE1_D10[6][5] = \
- {{0.563843963708494, 1.63611048949637, 0.927733474212122, -0.927733474212122, -2.19995445320486},
- {0.072266525787878, 1.63611048949637, 0.436156036291507, -0.436156036291507, -1.70837701528425},
- {0.563843963708492, -0.0722665257878757, 2.63611048949636, -2.63611048949636, -0.491577437920617},
- {-1.63611048949637, -0.0722665257878778, 0.436156036291507, -0.436156036291507, 1.70837701528425},
- {0.0722665257878754, -0.563843963708493, 2.63611048949636, -2.63611048949636, 0.491577437920617},
- {-1.63611048949637, -0.563843963708494, 0.927733474212122, -0.927733474212122, 2.19995445320486}};
-
- // Array of non-zero columns
- static const unsigned int nzc3[5] = {0, 1, 3, 4, 5};
-
- // Reset values in the element tensor.
- A[0] = 0.0;
- // Number of operations to compute geometry constants: 12.
- double G[3];
- G[0] = - det*(K[0]*K[0] + K[1]*K[1]);
- G[1] = - det*(K[0]*K[2] + K[1]*K[3]);
- G[2] = - det*(K[2]*K[2] + K[3]*K[3]);
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 366
- for (unsigned int ip = 0; ip < 6; ip++)
- {
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
-
- // Total number of operations to compute function values = 8
- for (unsigned int r = 0; r < 2; r++)
- {
- F2 += FE0_D01[ip][r]*w[2][nzc1[r]];
- F3 += FE0_D01[ip][r]*w[2][nzc0[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 6
- for (unsigned int r = 0; r < 3; r++)
- {
- F0 += FE0[ip][r]*w[0][r];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 20
- for (unsigned int r = 0; r < 5; r++)
- {
- F4 += FE1_D10[ip][r]*w[3][nzc3[r]];
- F5 += FE1_D01[ip][r]*w[3][nzc2[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 12
- for (unsigned int r = 0; r < 6; r++)
- {
- F1 += FE1[ip][r]*w[3][r];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 14
- double I[1];
- // Number of operations: 14
- I[0] = W6[ip]*(F0*F1*det + F2*F4*G[0] + F3*F5*G[2] + G[1]*(F2*F5 + F3*F4));
-
-
- // Number of operations for primary indices: 1
- // Number of operations to compute entry: 1
- A[0] += I[0];
- } // end loop over 'ip'
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_2_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_2_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_2_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true, false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 13
- // Number of operations (multiply-add pairs) for tensor contraction: 10
- // Total number of operations (multiply-add pairs): 33
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0_0 = det*w[1][0]*w[3][0]*(1.0);
- const double G0_0_4 = det*w[1][0]*w[3][4]*(1.0);
- const double G0_0_5 = det*w[1][0]*w[3][5]*(1.0);
- const double G0_1_1 = det*w[1][1]*w[3][1]*(1.0);
- const double G0_1_3 = det*w[1][1]*w[3][3]*(1.0);
- const double G0_1_5 = det*w[1][1]*w[3][5]*(1.0);
- const double G0_2_2 = det*w[1][2]*w[3][2]*(1.0);
- const double G0_2_3 = det*w[1][2]*w[3][3]*(1.0);
- const double G0_2_4 = det*w[1][2]*w[3][4]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.166666666666666*G0_1_1 + 0.333333333333333*G0_1_3 + 0.166666666666667*G0_2_2 + 0.333333333333333*G0_2_3;
- break;
- }
- case 1:
- {
- A[0] = 0.166666666666667*G0_0_0 + 0.333333333333333*G0_0_4 + 0.166666666666667*G0_2_2 + 0.333333333333333*G0_2_4;
- break;
- }
- case 2:
- {
- A[0] = 0.166666666666667*G0_0_0 + 0.333333333333333*G0_0_5 + 0.166666666666666*G0_1_1 + 0.333333333333333*G0_1_5;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_3_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_3_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_3_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 1
- // Number of operations (multiply-add pairs) for tensor contraction: 4
- // Total number of operations (multiply-add pairs): 8
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0321428571428571*G0_0;
- A[1] = 0.0214285714285714*G0_0;
- A[2] = 0.0214285714285714*G0_0;
- A[3] = 0.0214285714285714*G0_0;
- A[4] = 0.0321428571428571*G0_0;
- A[5] = 0.0214285714285714*G0_0;
- A[6] = 0.0214285714285714*G0_0;
- A[7] = 0.0214285714285714*G0_0;
- A[8] = 0.0321428571428571*G0_0;
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_4_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_4_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_4_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W7[7] = {0.1125, 0.0629695902724136, 0.0629695902724136, 0.0629695902724136, 0.0661970763942531, 0.0661970763942531, 0.0661970763942531};
- // Quadrature points on the UFC reference element: (0.333333333333333, 0.333333333333333), (0.797426985353087, 0.101286507323456), (0.101286507323456, 0.797426985353087), (0.101286507323456, 0.101286507323456), (0.0597158717897698, 0.470142064105115), (0.470142064105115, 0.0597158717897698), (0.470142064105115, 0.470142064105115)
-
- // Values of basis functions at quadrature points.
- static const double FE0[7][1] = \
- {{1.0},
- {0.22088075779229},
- {0.22088075779229},
- {0.22088075779229},
- {0.356378717426368},
- {0.356378717426369},
- {0.356378717426369}};
-
- static const double FE0_D01[7][1] = \
- {{0.0},
- {0.0},
- {-1.90376021590478},
- {1.90376021590477},
- {0.0},
- {5.20988266488436},
- {-5.20988266488437}};
-
- static const double FE0_D10[7][1] = \
- {{0.0},
- {-1.90376021590478},
- {0.0},
- {1.90376021590477},
- {5.20988266488437},
- {0.0},
- {-5.20988266488436}};
-
- static const double FE1[7][3] = \
- {{0.333333333333333, 0.333333333333333, 0.333333333333333},
- {0.101286507323456, 0.797426985353087, 0.101286507323456},
- {0.101286507323457, 0.101286507323456, 0.797426985353087},
- {0.797426985353087, 0.101286507323456, 0.101286507323456},
- {0.470142064105115, 0.0597158717897698, 0.470142064105115},
- {0.470142064105115, 0.470142064105115, 0.0597158717897697},
- {0.0597158717897699, 0.470142064105115, 0.470142064105115}};
-
- static const double FE1_D01[7][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 1};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 3; r++)
- {
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 12.
- double G[3];
- G[0] = - det*(K[0]*K[2] + K[1]*K[3]);
- G[1] = - det*(K[2]*K[2] + K[3]*K[3]);
- G[2] = - det*(K[0]*K[0] + K[1]*K[1]);
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 406
- for (unsigned int ip = 0; ip < 7; ip++)
- {
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
-
- // Total number of operations to compute function values = 6
- for (unsigned int r = 0; r < 1; r++)
- {
- F1 += FE0[ip][0]*w[3][0];
- F2 += FE0_D10[ip][0]*w[3][0];
- F3 += FE0_D01[ip][0]*w[3][0];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 8
- for (unsigned int r = 0; r < 2; r++)
- {
- F4 += FE1_D01[ip][r]*w[2][nzc1[r]];
- F5 += FE1_D01[ip][r]*w[2][nzc0[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 6
- for (unsigned int r = 0; r < 3; r++)
- {
- F0 += FE1[ip][r]*w[0][r];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 24
- double I[3];
- // Number of operations: 5
- I[0] = F1*W7[ip]*(F4*G[0] + F5*G[1]);
-
- // Number of operations: 5
- I[1] = F1*W7[ip]*(F4*G[2] + F5*G[0]);
-
- // Number of operations: 14
- I[2] = W7[ip]*(F0*F1*det + F2*F4*G[2] + F3*F5*G[1] + G[0]*(F2*F5 + F3*F4));
-
-
- // Number of operations for primary indices: 8
- for (unsigned int j = 0; j < 2; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc0[j]] += FE1_D01[ip][j]*I[0];
- // Number of operations to compute entry: 2
- A[nzc1[j]] += FE1_D01[ip][j]*I[1];
- } // end loop over 'j'
-
- // Number of operations for primary indices: 6
- for (unsigned int j = 0; j < 3; j++)
- {
- // Number of operations to compute entry: 2
- A[j] += FE1[ip][j]*I[2];
- } // end loop over 'j'
- } // end loop over 'ip'
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_4_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_4_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_4_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true, false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 4
- // Number of operations (multiply-add pairs) for geometry tensor: 0
- // Number of operations (multiply-add pairs) for tensor contraction: 0
- // Total number of operations (multiply-add pairs): 4
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
-
- // Compute scale factor (length of edge scaled by length of reference interval)
-
-
- // Compute geometry tensor
-
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- break;
- }
- case 1:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- break;
- }
- case 2:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_5_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_5_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_5_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 6
- // Number of operations (multiply-add pairs) for tensor contraction: 30
- // Total number of operations (multiply-add pairs): 46
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
- const double G0_3 = det*w[0][3]*(1.0);
- const double G0_4 = det*w[0][4]*(1.0);
- const double G0_5 = det*w[0][5]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[5] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[6] = 0.0;
- A[7] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[8] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
- break;
- }
- case 1:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_2 + 0.2*G0_4;
- A[1] = 0.0;
- A[2] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[7] = 0.0;
- A[8] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
- break;
- }
- case 2:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_1 + 0.2*G0_5;
- A[1] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[2] = 0.0;
- A[3] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[4] = -0.0166666666666667*G0_0 + 0.15*G0_1 + 0.2*G0_5;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_interior_facet_integral_5_otherwise: public ufc::interior_facet_integral
-{
-public:
-
- adaptivepoisson_interior_facet_integral_5_otherwise() : ufc::interior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_interior_facet_integral_5_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs_0,
- const double * coordinate_dofs_1,
- std::size_t facet_0,
- std::size_t facet_1,
- int cell_orientation_0,
- int cell_orientation_1) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 12
- // Number of operations (multiply-add pairs) for geometry tensor: 12
- // Number of operations (multiply-add pairs) for tensor contraction: 180
- // Total number of operations (multiply-add pairs): 204
-
- // Compute Jacobian
- double J_0[4];
- compute_jacobian_triangle_2d(J_0, coordinate_dofs_0);
-
- // Compute Jacobian inverse and determinant
- double K_0[4];
- double detJ_0;
- compute_jacobian_inverse_triangle_2d(K_0, detJ_0, J_0);
-
- // Compute Jacobian
- double J_1[4];
- compute_jacobian_triangle_2d(J_1, coordinate_dofs_1);
-
- // Compute Jacobian inverse and determinant
- double K_1[4];
- double detJ_1;
- compute_jacobian_inverse_triangle_2d(K_1, detJ_1, J_1);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet_0][0];
- const unsigned int v1 = edge_vertices[facet_0][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs_0[2*v1 + 0] - coordinate_dofs_0[2*v0 + 0];
- const double dx1 = coordinate_dofs_0[2*v1 + 1] - coordinate_dofs_0[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
- const double G0_3 = det*w[0][3]*(1.0);
- const double G0_4 = det*w[0][4]*(1.0);
- const double G0_5 = det*w[0][5]*(1.0);
- const double G1_6 = det*w[0][6]*(1.0);
- const double G1_7 = det*w[0][7]*(1.0);
- const double G1_8 = det*w[0][8]*(1.0);
- const double G1_9 = det*w[0][9]*(1.0);
- const double G1_10 = det*w[0][10]*(1.0);
- const double G1_11 = det*w[0][11]*(1.0);
-
- // Compute element tensor
- switch (facet_0)
- {
- case 0:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[8] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[14] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.0;
- A[22] = 0.0;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[29] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[35] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
- break;
- }
- case 1:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[8] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[14] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_8 + 0.2*G1_10;
- A[22] = 0.0;
- A[23] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.0;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[34] = 0.0;
- A[35] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
- break;
- }
- case 2:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[8] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[14] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_7 + 0.2*G1_11;
- A[22] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[28] = -0.0166666666666667*G1_6 + 0.15*G1_7 + 0.2*G1_11;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0;
- A[35] = 0.0;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_2 + 0.2*G0_4;
- A[1] = 0.0;
- A[2] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[13] = 0.0;
- A[14] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.0;
- A[22] = 0.0;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[29] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[35] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
- break;
- }
- case 1:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_2 + 0.2*G0_4;
- A[1] = 0.0;
- A[2] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[13] = 0.0;
- A[14] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_8 + 0.2*G1_10;
- A[22] = 0.0;
- A[23] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.0;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[34] = 0.0;
- A[35] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
- break;
- }
- case 2:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_2 + 0.2*G0_4;
- A[1] = 0.0;
- A[2] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
- A[13] = 0.0;
- A[14] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_7 + 0.2*G1_11;
- A[22] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[28] = -0.0166666666666667*G1_6 + 0.15*G1_7 + 0.2*G1_11;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0;
- A[35] = 0.0;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_1 + 0.2*G0_5;
- A[1] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[7] = -0.0166666666666667*G0_0 + 0.15*G0_1 + 0.2*G0_5;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0;
- A[14] = 0.0;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.0;
- A[22] = 0.0;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[29] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[35] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
- break;
- }
- case 1:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_1 + 0.2*G0_5;
- A[1] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[7] = -0.0166666666666667*G0_0 + 0.15*G0_1 + 0.2*G0_5;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0;
- A[14] = 0.0;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_8 + 0.2*G1_10;
- A[22] = 0.0;
- A[23] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0;
- A[28] = 0.0;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
- A[34] = 0.0;
- A[35] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
- break;
- }
- case 2:
- {
- A[0] = 0.15*G0_0 - 0.0166666666666666*G0_1 + 0.2*G0_5;
- A[1] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
- A[7] = -0.0166666666666667*G0_0 + 0.15*G0_1 + 0.2*G0_5;
- A[8] = 0.0;
- A[9] = 0.0;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0;
- A[14] = 0.0;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- A[18] = 0.0;
- A[19] = 0.0;
- A[20] = 0.0;
- A[21] = 0.15*G1_6 - 0.0166666666666666*G1_7 + 0.2*G1_11;
- A[22] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[23] = 0.0;
- A[24] = 0.0;
- A[25] = 0.0;
- A[26] = 0.0;
- A[27] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
- A[28] = -0.0166666666666667*G1_6 + 0.15*G1_7 + 0.2*G1_11;
- A[29] = 0.0;
- A[30] = 0.0;
- A[31] = 0.0;
- A[32] = 0.0;
- A[33] = 0.0;
- A[34] = 0.0;
- A[35] = 0.0;
- break;
- }
- }
-
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_6_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_6_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_6_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false, true, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W6[6] = {0.054975871827661, 0.054975871827661, 0.054975871827661, 0.111690794839005, 0.111690794839005, 0.111690794839005};
- // Quadrature points on the UFC reference element: (0.816847572980459, 0.091576213509771), (0.091576213509771, 0.816847572980459), (0.091576213509771, 0.091576213509771), (0.10810301816807, 0.445948490915965), (0.445948490915965, 0.10810301816807), (0.445948490915965, 0.445948490915965)
-
- // Values of basis functions at quadrature points.
- static const double FE0[6][3] = \
- {{0.09157621350977, 0.816847572980459, 0.091576213509771},
- {0.0915762135097701, 0.0915762135097711, 0.816847572980459},
- {0.816847572980458, 0.091576213509771, 0.091576213509771},
- {0.445948490915965, 0.10810301816807, 0.445948490915965},
- {0.445948490915965, 0.445948490915965, 0.10810301816807},
- {0.10810301816807, 0.445948490915965, 0.445948490915965}};
-
- static const double FE0_D01[6][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 1};
-
- static const double FE2[6][6] = \
- {{-0.074803807748196, 0.517632341987673, -0.0748038077481966, 0.299215230992787, 0.0335448115231483, 0.299215230992784},
- {-0.074803807748196, -0.0748038077481966, 0.517632341987674, 0.299215230992787, 0.299215230992784, 0.0335448115231483},
- {0.517632341987671, -0.0748038077481966, -0.0748038077481966, 0.0335448115231487, 0.299215230992787, 0.299215230992787},
- {-0.0482083778155119, -0.0847304930939778, -0.0482083778155119, 0.192833511262048, 0.795480226200906, 0.192833511262048},
- {-0.0482083778155119, -0.048208377815512, -0.0847304930939778, 0.192833511262048, 0.192833511262048, 0.795480226200906},
- {-0.0847304930939778, -0.048208377815512, -0.0482083778155119, 0.795480226200906, 0.192833511262048, 0.192833511262048}};
-
- static const double FE2_D01[6][5] = \
- {{0.633695145960915, -0.633695145960916, 3.26739029192182, 0.0, -3.26739029192184},
- {0.633695145960915, 2.26739029192184, 0.366304854039068, -2.90108543788275, -0.366304854039081},
- {-2.26739029192184, -0.633695145960916, 0.366304854039074, 2.90108543788276, -0.366304854039083},
- {-0.783793963663865, 0.783793963663862, 0.432412072672267, 0.0, -0.432412072672279},
- {-0.783793963663864, -0.567587927327719, 1.78379396366385, 1.35138189099159, -1.78379396366386},
- {0.567587927327715, 0.783793963663862, 1.78379396366385, -1.35138189099157, -1.78379396366386}};
-
- // Array of non-zero columns
- static const unsigned int nzc2[5] = {0, 2, 3, 4, 5};
-
- static const double FE2_D10[6][5] = \
- {{0.633695145960922, 2.26739029192184, 0.366304854039083, -0.366304854039083, -2.90108543788276},
- {0.63369514596092, -0.633695145960917, 3.26739029192183, -3.26739029192183, 0.0},
- {-2.26739029192183, -0.633695145960919, 0.366304854039083, -0.366304854039083, 2.90108543788275},
- {-0.78379396366386, -0.567587927327721, 1.78379396366386, -1.78379396366386, 1.35138189099158},
- {-0.783793963663859, 0.783793963663859, 0.432412072672279, -0.432412072672279, 0.0},
- {0.567587927327721, 0.783793963663861, 1.78379396366386, -1.78379396366386, -1.35138189099158}};
-
- // Array of non-zero columns
- static const unsigned int nzc3[5] = {0, 1, 3, 4, 5};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 3; r++)
- {
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 12.
- double G[3];
- G[0] = - det*(K[0]*K[2] + K[1]*K[3]);
- G[1] = - det*(K[2]*K[2] + K[3]*K[3]);
- G[2] = - det*(K[0]*K[0] + K[1]*K[1]);
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 546
- for (unsigned int ip = 0; ip < 6; ip++)
- {
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
-
- // Total number of operations to compute function values = 8
- for (unsigned int r = 0; r < 2; r++)
- {
- F5 += FE0_D01[ip][r]*w[2][nzc1[r]];
- F6 += FE0_D01[ip][r]*w[2][nzc0[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 12
- for (unsigned int r = 0; r < 3; r++)
- {
- F0 += FE0[ip][r]*w[0][r];
- F2 += FE0[ip][r]*w[3][r];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 20
- for (unsigned int r = 0; r < 5; r++)
- {
- F3 += FE2_D10[ip][r]*w[4][nzc3[r]];
- F4 += FE2_D01[ip][r]*w[4][nzc2[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 12
- for (unsigned int r = 0; r < 6; r++)
- {
- F1 += FE2[ip][r]*w[4][r];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 25
- double I[3];
- // Number of operations: 5
- I[0] = F1*W6[ip]*(F5*G[0] + F6*G[1]);
-
- // Number of operations: 5
- I[1] = F1*W6[ip]*(F5*G[2] + F6*G[0]);
-
- // Number of operations: 15
- I[2] = W6[ip]*(F1*det*(F0 - F2) + F3*F5*G[2] + F4*F6*G[1] + G[0]*(F3*F6 + F4*F5));
-
-
- // Number of operations for primary indices: 8
- for (unsigned int j = 0; j < 2; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc0[j]] += FE0_D01[ip][j]*I[0];
- // Number of operations to compute entry: 2
- A[nzc1[j]] += FE0_D01[ip][j]*I[1];
- } // end loop over 'j'
-
- // Number of operations for primary indices: 6
- for (unsigned int j = 0; j < 3; j++)
- {
- // Number of operations to compute entry: 2
- A[j] += FE0[ip][j]*I[2];
- } // end loop over 'j'
- } // end loop over 'ip'
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_6_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_6_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_6_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true, false, false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 22
- // Number of operations (multiply-add pairs) for tensor contraction: 33
- // Total number of operations (multiply-add pairs): 65
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0_0 = det*w[1][0]*w[4][0]*(1.0);
- const double G0_0_1 = det*w[1][0]*w[4][1]*(1.0);
- const double G0_0_2 = det*w[1][0]*w[4][2]*(1.0);
- const double G0_0_4 = det*w[1][0]*w[4][4]*(1.0);
- const double G0_0_5 = det*w[1][0]*w[4][5]*(1.0);
- const double G0_1_0 = det*w[1][1]*w[4][0]*(1.0);
- const double G0_1_1 = det*w[1][1]*w[4][1]*(1.0);
- const double G0_1_2 = det*w[1][1]*w[4][2]*(1.0);
- const double G0_1_3 = det*w[1][1]*w[4][3]*(1.0);
- const double G0_1_5 = det*w[1][1]*w[4][5]*(1.0);
- const double G0_2_0 = det*w[1][2]*w[4][0]*(1.0);
- const double G0_2_1 = det*w[1][2]*w[4][1]*(1.0);
- const double G0_2_2 = det*w[1][2]*w[4][2]*(1.0);
- const double G0_2_3 = det*w[1][2]*w[4][3]*(1.0);
- const double G0_2_4 = det*w[1][2]*w[4][4]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.15*G0_1_1 - 0.0166666666666666*G0_1_2 + 0.2*G0_1_3 + 0.0166666666666666*G0_2_1 + 0.0166666666666667*G0_2_2 + 0.133333333333333*G0_2_3;
- A[2] = 0.0166666666666666*G0_1_1 + 0.0166666666666667*G0_1_2 + 0.133333333333333*G0_1_3 - 0.0166666666666667*G0_2_1 + 0.15*G0_2_2 + 0.2*G0_2_3;
- break;
- }
- case 1:
- {
- A[0] = 0.15*G0_0_0 - 0.0166666666666666*G0_0_2 + 0.2*G0_0_4 + 0.0166666666666667*G0_2_0 + 0.0166666666666667*G0_2_2 + 0.133333333333333*G0_2_4;
- A[1] = 0.0;
- A[2] = 0.0166666666666667*G0_0_0 + 0.0166666666666667*G0_0_2 + 0.133333333333333*G0_0_4 - 0.0166666666666666*G0_2_0 + 0.15*G0_2_2 + 0.2*G0_2_4;
- break;
- }
- case 2:
- {
- A[0] = 0.15*G0_0_0 - 0.0166666666666666*G0_0_1 + 0.2*G0_0_5 + 0.0166666666666667*G0_1_0 + 0.0166666666666667*G0_1_1 + 0.133333333333333*G0_1_5;
- A[1] = 0.0166666666666667*G0_0_0 + 0.0166666666666667*G0_0_1 + 0.133333333333333*G0_0_5 - 0.0166666666666667*G0_1_0 + 0.15*G0_1_1 + 0.2*G0_1_5;
- A[2] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_7_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_7_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_7_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, true, false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 40
- // Number of operations (multiply-add pairs) for tensor contraction: 26
- // Total number of operations (multiply-add pairs): 69
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*w[1][0]*w[0][0]*(1.0);
- const double G0_0_1 = det*w[1][0]*w[0][1]*(1.0);
- const double G0_0_2 = det*w[1][0]*w[0][2]*(1.0);
- const double G0_0_3 = det*w[1][0]*w[0][3]*(1.0);
- const double G0_0_4 = det*w[1][0]*w[0][4]*(1.0);
- const double G0_0_5 = det*w[1][0]*w[0][5]*(1.0);
- const double G0_1_0 = det*w[1][1]*w[0][0]*(1.0);
- const double G0_1_1 = det*w[1][1]*w[0][1]*(1.0);
- const double G0_1_2 = det*w[1][1]*w[0][2]*(1.0);
- const double G0_1_3 = det*w[1][1]*w[0][3]*(1.0);
- const double G0_1_4 = det*w[1][1]*w[0][4]*(1.0);
- const double G0_1_5 = det*w[1][1]*w[0][5]*(1.0);
- const double G0_2_0 = det*w[1][2]*w[0][0]*(1.0);
- const double G0_2_1 = det*w[1][2]*w[0][1]*(1.0);
- const double G0_2_2 = det*w[1][2]*w[0][2]*(1.0);
- const double G0_2_3 = det*w[1][2]*w[0][3]*(1.0);
- const double G0_2_4 = det*w[1][2]*w[0][4]*(1.0);
- const double G0_2_5 = det*w[1][2]*w[0][5]*(1.0);
- const double G1_0_0 = det*w[1][0]*w[3][0]*(1.0);
- const double G1_0_1 = det*w[1][0]*w[3][1]*(1.0);
- const double G1_0_2 = det*w[1][0]*w[3][2]*(1.0);
- const double G1_1_0 = det*w[1][1]*w[3][0]*(1.0);
- const double G1_1_1 = det*w[1][1]*w[3][1]*(1.0);
- const double G1_1_2 = det*w[1][1]*w[3][2]*(1.0);
- const double G1_2_0 = det*w[1][2]*w[3][0]*(1.0);
- const double G1_2_1 = det*w[1][2]*w[3][1]*(1.0);
- const double G1_2_2 = det*w[1][2]*w[3][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0166666666666666*G0_0_0 - 0.00833333333333333*G0_0_1 - 0.00833333333333332*G0_0_2 + 0.0333333333333333*G0_0_3 + 0.0666666666666667*G0_0_4 + 0.0666666666666667*G0_0_5 - 0.00833333333333332*G0_1_0 + 0.0166666666666666*G0_1_1 - 0.00833333333333332*G0_1_2 + 0.0666666666666667*G0_1_3 + 0.0333333333333333*G0_1_4 + 0.0666666666666667*G0_1_5 - 0.00833333333333332*G0_2_0 - 0.00833333333333333*G0_2_1 + 0.0166666666666666*G0_2_2 + 0.0666666666666667*G0_2_3 + 0.0666666666666667*G0_2_4 + [...]
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_7_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_7_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_7_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 27
- // Number of operations (multiply-add pairs) for tensor contraction: 22
- // Total number of operations (multiply-add pairs): 59
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0_0 = det*w[2][0]*w[0][0]*(1.0);
- const double G0_0_4 = det*w[2][0]*w[0][4]*(1.0);
- const double G0_0_5 = det*w[2][0]*w[0][5]*(1.0);
- const double G0_1_1 = det*w[2][1]*w[0][1]*(1.0);
- const double G0_1_3 = det*w[2][1]*w[0][3]*(1.0);
- const double G0_1_5 = det*w[2][1]*w[0][5]*(1.0);
- const double G0_2_2 = det*w[2][2]*w[0][2]*(1.0);
- const double G0_2_3 = det*w[2][2]*w[0][3]*(1.0);
- const double G0_2_4 = det*w[2][2]*w[0][4]*(1.0);
- const double G1_0_0 = det*w[2][0]*w[3][0]*(1.0);
- const double G1_0_1 = det*w[2][0]*w[3][1]*(1.0);
- const double G1_0_2 = det*w[2][0]*w[3][2]*(1.0);
- const double G1_1_0 = det*w[2][1]*w[3][0]*(1.0);
- const double G1_1_1 = det*w[2][1]*w[3][1]*(1.0);
- const double G1_1_2 = det*w[2][1]*w[3][2]*(1.0);
- const double G1_2_0 = det*w[2][2]*w[3][0]*(1.0);
- const double G1_2_1 = det*w[2][2]*w[3][1]*(1.0);
- const double G1_2_2 = det*w[2][2]*w[3][2]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.166666666666666*G0_1_1 + 0.333333333333333*G0_1_3 + 0.166666666666667*G0_2_2 + 0.333333333333333*G0_2_3 - 0.333333333333333*G1_1_1 - 0.166666666666667*G1_1_2 - 0.166666666666667*G1_2_1 - 0.333333333333333*G1_2_2;
- break;
- }
- case 1:
- {
- A[0] = 0.166666666666667*G0_0_0 + 0.333333333333333*G0_0_4 + 0.166666666666667*G0_2_2 + 0.333333333333333*G0_2_4 - 0.333333333333333*G1_0_0 - 0.166666666666667*G1_0_2 - 0.166666666666667*G1_2_0 - 0.333333333333333*G1_2_2;
- break;
- }
- case 2:
- {
- A[0] = 0.166666666666667*G0_0_0 + 0.333333333333333*G0_0_5 + 0.166666666666666*G0_1_1 + 0.333333333333333*G0_1_5 - 0.333333333333333*G1_0_0 - 0.166666666666667*G1_0_1 - 0.166666666666667*G1_1_0 - 0.333333333333333*G1_1_1;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_interior_facet_integral_7_otherwise: public ufc::interior_facet_integral
-{
-public:
-
- adaptivepoisson_interior_facet_integral_7_otherwise() : ufc::interior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_interior_facet_integral_7_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs_0,
- const double * coordinate_dofs_1,
- std::size_t facet_0,
- std::size_t facet_1,
- int cell_orientation_0,
- int cell_orientation_1) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 12
- // Number of operations (multiply-add pairs) for geometry tensor: 108
- // Number of operations (multiply-add pairs) for tensor contraction: 279
- // Total number of operations (multiply-add pairs): 399
-
- // Compute Jacobian
- double J_0[4];
- compute_jacobian_triangle_2d(J_0, coordinate_dofs_0);
-
- // Compute Jacobian inverse and determinant
- double K_0[4];
- double detJ_0;
- compute_jacobian_inverse_triangle_2d(K_0, detJ_0, J_0);
-
- // Compute Jacobian
- double J_1[4];
- compute_jacobian_triangle_2d(J_1, coordinate_dofs_1);
-
- // Compute Jacobian inverse and determinant
- double K_1[4];
- double detJ_1;
- compute_jacobian_inverse_triangle_2d(K_1, detJ_1, J_1);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet_0][0];
- const unsigned int v1 = edge_vertices[facet_0][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs_0[2*v1 + 0] - coordinate_dofs_0[2*v0 + 0];
- const double dx1 = coordinate_dofs_0[2*v1 + 1] - coordinate_dofs_0[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
-
- // Compute geometry tensor
- const double G0_0_0 = det*w[3][0]*w[2][0]*(1.0);
- const double G0_0_1 = det*w[3][0]*w[2][1]*(1.0);
- const double G0_0_2 = det*w[3][0]*w[2][2]*(1.0);
- const double G0_1_0 = det*w[3][1]*w[2][0]*(1.0);
- const double G0_1_1 = det*w[3][1]*w[2][1]*(1.0);
- const double G0_1_2 = det*w[3][1]*w[2][2]*(1.0);
- const double G0_2_0 = det*w[3][2]*w[2][0]*(1.0);
- const double G0_2_1 = det*w[3][2]*w[2][1]*(1.0);
- const double G0_2_2 = det*w[3][2]*w[2][2]*(1.0);
- const double G1_0_0 = det*w[3][0]*w[2][0]*(1.0);
- const double G1_0_1 = det*w[3][0]*w[2][1]*(1.0);
- const double G1_0_2 = det*w[3][0]*w[2][2]*(1.0);
- const double G1_1_0 = det*w[3][1]*w[2][0]*(1.0);
- const double G1_1_1 = det*w[3][1]*w[2][1]*(1.0);
- const double G1_1_2 = det*w[3][1]*w[2][2]*(1.0);
- const double G1_2_0 = det*w[3][2]*w[2][0]*(1.0);
- const double G1_2_1 = det*w[3][2]*w[2][1]*(1.0);
- const double G1_2_2 = det*w[3][2]*w[2][2]*(1.0);
- const double G2_0_0 = det*w[0][0]*w[2][0]*(1.0);
- const double G2_1_1 = det*w[0][1]*w[2][1]*(1.0);
- const double G2_2_2 = det*w[0][2]*w[2][2]*(1.0);
- const double G2_3_1 = det*w[0][3]*w[2][1]*(1.0);
- const double G2_3_2 = det*w[0][3]*w[2][2]*(1.0);
- const double G2_4_0 = det*w[0][4]*w[2][0]*(1.0);
- const double G2_4_2 = det*w[0][4]*w[2][2]*(1.0);
- const double G2_5_0 = det*w[0][5]*w[2][0]*(1.0);
- const double G2_5_1 = det*w[0][5]*w[2][1]*(1.0);
- const double G3_0_0 = det*w[0][0]*w[2][0]*(1.0);
- const double G3_1_1 = det*w[0][1]*w[2][1]*(1.0);
- const double G3_2_2 = det*w[0][2]*w[2][2]*(1.0);
- const double G3_3_1 = det*w[0][3]*w[2][1]*(1.0);
- const double G3_3_2 = det*w[0][3]*w[2][2]*(1.0);
- const double G3_4_0 = det*w[0][4]*w[2][0]*(1.0);
- const double G3_4_2 = det*w[0][4]*w[2][2]*(1.0);
- const double G3_5_0 = det*w[0][5]*w[2][0]*(1.0);
- const double G3_5_1 = det*w[0][5]*w[2][1]*(1.0);
- const double G4_3_3 = det*w[3][3]*w[2][3]*(1.0);
- const double G4_3_4 = det*w[3][3]*w[2][4]*(1.0);
- const double G4_3_5 = det*w[3][3]*w[2][5]*(1.0);
- const double G4_4_3 = det*w[3][4]*w[2][3]*(1.0);
- const double G4_4_4 = det*w[3][4]*w[2][4]*(1.0);
- const double G4_4_5 = det*w[3][4]*w[2][5]*(1.0);
- const double G4_5_3 = det*w[3][5]*w[2][3]*(1.0);
- const double G4_5_4 = det*w[3][5]*w[2][4]*(1.0);
- const double G4_5_5 = det*w[3][5]*w[2][5]*(1.0);
- const double G5_3_3 = det*w[3][3]*w[2][3]*(1.0);
- const double G5_3_4 = det*w[3][3]*w[2][4]*(1.0);
- const double G5_3_5 = det*w[3][3]*w[2][5]*(1.0);
- const double G5_4_3 = det*w[3][4]*w[2][3]*(1.0);
- const double G5_4_4 = det*w[3][4]*w[2][4]*(1.0);
- const double G5_4_5 = det*w[3][4]*w[2][5]*(1.0);
- const double G5_5_3 = det*w[3][5]*w[2][3]*(1.0);
- const double G5_5_4 = det*w[3][5]*w[2][4]*(1.0);
- const double G5_5_5 = det*w[3][5]*w[2][5]*(1.0);
- const double G6_6_3 = det*w[0][6]*w[2][3]*(1.0);
- const double G6_7_4 = det*w[0][7]*w[2][4]*(1.0);
- const double G6_8_5 = det*w[0][8]*w[2][5]*(1.0);
- const double G6_9_4 = det*w[0][9]*w[2][4]*(1.0);
- const double G6_9_5 = det*w[0][9]*w[2][5]*(1.0);
- const double G6_10_3 = det*w[0][10]*w[2][3]*(1.0);
- const double G6_10_5 = det*w[0][10]*w[2][5]*(1.0);
- const double G6_11_3 = det*w[0][11]*w[2][3]*(1.0);
- const double G6_11_4 = det*w[0][11]*w[2][4]*(1.0);
- const double G7_6_3 = det*w[0][6]*w[2][3]*(1.0);
- const double G7_7_4 = det*w[0][7]*w[2][4]*(1.0);
- const double G7_8_5 = det*w[0][8]*w[2][5]*(1.0);
- const double G7_9_4 = det*w[0][9]*w[2][4]*(1.0);
- const double G7_9_5 = det*w[0][9]*w[2][5]*(1.0);
- const double G7_10_3 = det*w[0][10]*w[2][3]*(1.0);
- const double G7_10_5 = det*w[0][10]*w[2][5]*(1.0);
- const double G7_11_3 = det*w[0][11]*w[2][3]*(1.0);
- const double G7_11_4 = det*w[0][11]*w[2][4]*(1.0);
-
- // Compute element tensor
- switch (facet_0)
- {
- case 0:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = -0.166666666666667*G0_1_1 - 0.0833333333333333*G0_1_2 - 0.0833333333333333*G0_2_1 - 0.166666666666667*G0_2_2 + 0.0833333333333332*G2_1_1 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_3_1 + 0.166666666666667*G2_3_2 - 0.166666666666667*G4_4_4 - 0.0833333333333333*G4_4_5 - 0.0833333333333333*G4_5_4 - 0.166666666666667*G4_5_5 + 0.0833333333333332*G6_7_4 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_9_4 + 0.166666666666667*G6_9_5;
- A[1] = -0.166666666666667*G1_1_1 - 0.0833333333333333*G1_1_2 - 0.0833333333333333*G1_2_1 - 0.166666666666667*G1_2_2 + 0.0833333333333332*G3_1_1 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_3_1 + 0.166666666666667*G3_3_2 - 0.166666666666667*G5_4_4 - 0.0833333333333333*G5_4_5 - 0.0833333333333333*G5_5_4 - 0.166666666666667*G5_5_5 + 0.0833333333333332*G7_7_4 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_9_4 + 0.166666666666667*G7_9_5;
- break;
- }
- case 1:
- {
- A[0] = -0.166666666666667*G0_1_1 - 0.0833333333333333*G0_1_2 - 0.0833333333333333*G0_2_1 - 0.166666666666667*G0_2_2 + 0.0833333333333332*G2_1_1 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_3_1 + 0.166666666666667*G2_3_2 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_5 - 0.0833333333333333*G4_5_3 - 0.166666666666667*G4_5_5 + 0.0833333333333333*G6_6_3 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_10_3 + 0.166666666666667*G6_10_5;
- A[1] = -0.166666666666667*G1_1_1 - 0.0833333333333333*G1_1_2 - 0.0833333333333333*G1_2_1 - 0.166666666666667*G1_2_2 + 0.0833333333333332*G3_1_1 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_3_1 + 0.166666666666667*G3_3_2 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_5 - 0.0833333333333333*G5_5_3 - 0.166666666666667*G5_5_5 + 0.0833333333333333*G7_6_3 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_10_3 + 0.166666666666667*G7_10_5;
- break;
- }
- case 2:
- {
- A[0] = -0.166666666666667*G0_1_1 - 0.0833333333333333*G0_1_2 - 0.0833333333333333*G0_2_1 - 0.166666666666667*G0_2_2 + 0.0833333333333332*G2_1_1 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_3_1 + 0.166666666666667*G2_3_2 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_4 - 0.0833333333333333*G4_4_3 - 0.166666666666667*G4_4_4 + 0.0833333333333333*G6_6_3 + 0.0833333333333332*G6_7_4 + 0.166666666666667*G6_11_3 + 0.166666666666667*G6_11_4;
- A[1] = -0.166666666666667*G1_1_1 - 0.0833333333333333*G1_1_2 - 0.0833333333333333*G1_2_1 - 0.166666666666667*G1_2_2 + 0.0833333333333332*G3_1_1 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_3_1 + 0.166666666666667*G3_3_2 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_4 - 0.0833333333333333*G5_4_3 - 0.166666666666667*G5_4_4 + 0.0833333333333333*G7_6_3 + 0.0833333333333332*G7_7_4 + 0.166666666666667*G7_11_3 + 0.166666666666667*G7_11_4;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_2 - 0.0833333333333333*G0_2_0 - 0.166666666666667*G0_2_2 + 0.0833333333333333*G2_0_0 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_4_0 + 0.166666666666667*G2_4_2 - 0.166666666666667*G4_4_4 - 0.0833333333333333*G4_4_5 - 0.0833333333333333*G4_5_4 - 0.166666666666667*G4_5_5 + 0.0833333333333332*G6_7_4 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_9_4 + 0.166666666666667*G6_9_5;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_2 - 0.0833333333333333*G1_2_0 - 0.166666666666667*G1_2_2 + 0.0833333333333333*G3_0_0 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_4_0 + 0.166666666666667*G3_4_2 - 0.166666666666667*G5_4_4 - 0.0833333333333333*G5_4_5 - 0.0833333333333333*G5_5_4 - 0.166666666666667*G5_5_5 + 0.0833333333333332*G7_7_4 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_9_4 + 0.166666666666667*G7_9_5;
- break;
- }
- case 1:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_2 - 0.0833333333333333*G0_2_0 - 0.166666666666667*G0_2_2 + 0.0833333333333333*G2_0_0 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_4_0 + 0.166666666666667*G2_4_2 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_5 - 0.0833333333333333*G4_5_3 - 0.166666666666667*G4_5_5 + 0.0833333333333333*G6_6_3 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_10_3 + 0.166666666666667*G6_10_5;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_2 - 0.0833333333333333*G1_2_0 - 0.166666666666667*G1_2_2 + 0.0833333333333333*G3_0_0 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_4_0 + 0.166666666666667*G3_4_2 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_5 - 0.0833333333333333*G5_5_3 - 0.166666666666667*G5_5_5 + 0.0833333333333333*G7_6_3 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_10_3 + 0.166666666666667*G7_10_5;
- break;
- }
- case 2:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_2 - 0.0833333333333333*G0_2_0 - 0.166666666666667*G0_2_2 + 0.0833333333333333*G2_0_0 + 0.0833333333333333*G2_2_2 + 0.166666666666667*G2_4_0 + 0.166666666666667*G2_4_2 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_4 - 0.0833333333333333*G4_4_3 - 0.166666666666667*G4_4_4 + 0.0833333333333333*G6_6_3 + 0.0833333333333332*G6_7_4 + 0.166666666666667*G6_11_3 + 0.166666666666667*G6_11_4;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_2 - 0.0833333333333333*G1_2_0 - 0.166666666666667*G1_2_2 + 0.0833333333333333*G3_0_0 + 0.0833333333333333*G3_2_2 + 0.166666666666667*G3_4_0 + 0.166666666666667*G3_4_2 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_4 - 0.0833333333333333*G5_4_3 - 0.166666666666667*G5_4_4 + 0.0833333333333333*G7_6_3 + 0.0833333333333332*G7_7_4 + 0.166666666666667*G7_11_3 + 0.166666666666667*G7_11_4;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- switch (facet_1)
- {
- case 0:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_0 - 0.166666666666667*G0_1_1 + 0.0833333333333333*G2_0_0 + 0.0833333333333332*G2_1_1 + 0.166666666666667*G2_5_0 + 0.166666666666667*G2_5_1 - 0.166666666666667*G4_4_4 - 0.0833333333333333*G4_4_5 - 0.0833333333333333*G4_5_4 - 0.166666666666667*G4_5_5 + 0.0833333333333332*G6_7_4 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_9_4 + 0.166666666666667*G6_9_5;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_0 - 0.166666666666667*G1_1_1 + 0.0833333333333333*G3_0_0 + 0.0833333333333332*G3_1_1 + 0.166666666666667*G3_5_0 + 0.166666666666667*G3_5_1 - 0.166666666666667*G5_4_4 - 0.0833333333333333*G5_4_5 - 0.0833333333333333*G5_5_4 - 0.166666666666667*G5_5_5 + 0.0833333333333332*G7_7_4 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_9_4 + 0.166666666666667*G7_9_5;
- break;
- }
- case 1:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_0 - 0.166666666666667*G0_1_1 + 0.0833333333333333*G2_0_0 + 0.0833333333333332*G2_1_1 + 0.166666666666667*G2_5_0 + 0.166666666666667*G2_5_1 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_5 - 0.0833333333333333*G4_5_3 - 0.166666666666667*G4_5_5 + 0.0833333333333333*G6_6_3 + 0.0833333333333333*G6_8_5 + 0.166666666666667*G6_10_3 + 0.166666666666667*G6_10_5;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_0 - 0.166666666666667*G1_1_1 + 0.0833333333333333*G3_0_0 + 0.0833333333333332*G3_1_1 + 0.166666666666667*G3_5_0 + 0.166666666666667*G3_5_1 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_5 - 0.0833333333333333*G5_5_3 - 0.166666666666667*G5_5_5 + 0.0833333333333333*G7_6_3 + 0.0833333333333333*G7_8_5 + 0.166666666666667*G7_10_3 + 0.166666666666667*G7_10_5;
- break;
- }
- case 2:
- {
- A[0] = -0.166666666666667*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_0 - 0.166666666666667*G0_1_1 + 0.0833333333333333*G2_0_0 + 0.0833333333333332*G2_1_1 + 0.166666666666667*G2_5_0 + 0.166666666666667*G2_5_1 - 0.166666666666667*G4_3_3 - 0.0833333333333333*G4_3_4 - 0.0833333333333333*G4_4_3 - 0.166666666666667*G4_4_4 + 0.0833333333333333*G6_6_3 + 0.0833333333333332*G6_7_4 + 0.166666666666667*G6_11_3 + 0.166666666666667*G6_11_4;
- A[1] = -0.166666666666667*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_0 - 0.166666666666667*G1_1_1 + 0.0833333333333333*G3_0_0 + 0.0833333333333332*G3_1_1 + 0.166666666666667*G3_5_0 + 0.166666666666667*G3_5_1 - 0.166666666666667*G5_3_3 - 0.0833333333333333*G5_3_4 - 0.0833333333333333*G5_4_3 - 0.166666666666667*G5_4_4 + 0.0833333333333333*G7_6_3 + 0.0833333333333332*G7_7_4 + 0.166666666666667*G7_11_3 + 0.166666666666667*G7_11_4;
- break;
- }
- }
-
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_8_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_8_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_8_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 11
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1]);
- const double G0_0_1 = det*(K[0]*K[2] + K[1]*K[3]);
- const double G0_1_0 = det*(K[2]*K[0] + K[3]*K[1]);
- const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
-
- // Compute element tensor
- A[0] = 0.499999999999999*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1;
- A[1] = -0.499999999999999*G0_0_0 - 0.5*G0_1_0;
- A[2] = -0.5*G0_0_1 - 0.5*G0_1_1;
- A[3] = -0.499999999999999*G0_0_0 - 0.5*G0_0_1;
- A[4] = 0.499999999999999*G0_0_0;
- A[5] = 0.5*G0_0_1;
- A[6] = -0.5*G0_1_0 - 0.5*G0_1_1;
- A[7] = 0.5*G0_1_0;
- A[8] = 0.5*G0_1_1;
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_9_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_9_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_9_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 7
- // Total number of operations (multiply-add pairs): 13
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0833333333333334*G0_0 + 0.0416666666666667*G0_1 + 0.0416666666666667*G0_2;
- A[1] = 0.0416666666666667*G0_0 + 0.0833333333333333*G0_1 + 0.0416666666666666*G0_2;
- A[2] = 0.0416666666666667*G0_0 + 0.0416666666666666*G0_1 + 0.0833333333333333*G0_2;
- }
-
-};
-
-
-class adaptivepoisson_exterior_facet_integral_9_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- adaptivepoisson_exterior_facet_integral_9_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~adaptivepoisson_exterior_facet_integral_9_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 9
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[1][0]*(1.0);
- const double G0_1 = det*w[1][1]*(1.0);
- const double G0_2 = det*w[1][2]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.333333333333333*G0_1 + 0.166666666666667*G0_2;
- A[2] = 0.166666666666667*G0_1 + 0.333333333333333*G0_2;
- break;
- }
- case 1:
- {
- A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_2;
- A[1] = 0.0;
- A[2] = 0.166666666666667*G0_0 + 0.333333333333333*G0_2;
- break;
- }
- case 2:
- {
- A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_1;
- A[1] = 0.166666666666667*G0_0 + 0.333333333333333*G0_1;
- A[2] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class adaptivepoisson_cell_integral_10_otherwise: public ufc::cell_integral
-{
-public:
-
- adaptivepoisson_cell_integral_10_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~adaptivepoisson_cell_integral_10_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 2
- // Total number of operations (multiply-add pairs): 8
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.166666666666667*G0_0 + 0.166666666666667*G0_1 + 0.166666666666667*G0_2;
- }
-
-};
-
-
-class adaptivepoisson_form_0: public ufc::form
-{
-public:
-
- adaptivepoisson_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "19b425e17889d62d86285b64713d25de6a9d28c3bf37be81e351fd1214bae8f3ab570ea127ee8fa95c6788e1b1652bd8b1a9a91f5f2e67712064bb901dcbf177";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_1: public ufc::form
-{
-public:
-
- adaptivepoisson_form_1() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "02bc16ff054ec42b7e33aede0bd2b486869176764829aa02538e72a0895b2d136af0d28a10e3c8bd55af13bb7482a70a6f4af5e10dbf93059941282dfb759568";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_1_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_2: public ufc::form
-{
-public:
-
- adaptivepoisson_form_2() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "003c517c2a9dc538ab933fb1bbef26c6adb1141704507e2470cbe6aaf20116173ad1055484f33e3770aaec8af5af68155468ce3f0bdf08c5c82de09a24bb136d";
- }
-
- std::size_t rank() const final override
- {
- return 0;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 4;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1, 2, 3});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_finite_element_2();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_dofmap_2();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_2_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_2_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_3: public ufc::form
-{
-public:
-
- adaptivepoisson_form_3() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "5262e5b0fb2103d4ddbaf946276b5441abcabf81b0b0a01363c5fb8d9f97d3e7b083a38009560849cca1d3596e7837d3fc0ab0e6a6444f8b3988eeb9e47b2e3e";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_6();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_6();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_3_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_4: public ufc::form
-{
-public:
-
- adaptivepoisson_form_4() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "fa048975b81c9bb048b7469d0e239109a08b00f261d03cc8ee864d973cd706f35f6083c1f1f08b4466feff2005fe8e99dce2d8ccafa5b570a8deca6082bf9c49";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 4;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1, 2, 3});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_finite_element_6();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_dofmap_6();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_4_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_4_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_5: public ufc::form
-{
-public:
-
- adaptivepoisson_form_5() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_5() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "04086c717ea4914d5a9cfe4d17a5d10d551f86d1a0238e23a644af889f92c8ae10d06ac99222130f8f0226a41e549d46c1bc034436cdbdddc198695e2f4ad2c3";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_3();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return false;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_5_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return new adaptivepoisson_interior_facet_integral_5_otherwise();
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_6: public ufc::form
-{
-public:
-
- adaptivepoisson_form_6() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_6() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "8dbddc016477ebaa4600985afa7048aa0abb5b8156fa9241bcd7b7ad91e5f8fffa27fcd0c0202057c764ad40f8575eb6718c28c6aa2400c1db4018478a10b6f0";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 5;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1, 2, 3, 4});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 5:
- {
- return new adaptivepoisson_finite_element_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 5:
- {
- return new adaptivepoisson_dofmap_3();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_6_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_6_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_7: public ufc::form
-{
-public:
-
- adaptivepoisson_form_7() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_7() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "f6de60e88f517edad66b6202a12ed316ecc7df6fc4b69280416112a9b61e5282384effbcd415f51d7c5f0e7c2bbfa83f9e0531085eb9d6d875fd025921b1500c";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 4;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1, 2, 3});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_5();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_2();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_finite_element_4();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_5();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_2();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 3:
- {
- return new adaptivepoisson_dofmap_4();
- break;
- }
- case 4:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_7_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_7_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return new adaptivepoisson_interior_facet_integral_7_otherwise();
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_8: public ufc::form
-{
-public:
-
- adaptivepoisson_form_8() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_8() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "327a2ebce665f0df9dcdfb386a5f82bed655eb49e6748bfe664bd49258af417c023ae55cb0509c094373c6b9856a9f7f919048c8bddfe52512e528caaee3cde4";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_8_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_9: public ufc::form
-{
-public:
-
- adaptivepoisson_form_9() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_9() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "4b3b1c93f282ab055c940e8938b5687d692b500d84be151f71593ae9d6ad97e0c11f287e5960fa8de2ad6025423bd6e9dc808cf75c5a18587d11a7db9b67ccf0";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 2;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- case 2:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_9_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new adaptivepoisson_exterior_facet_integral_9_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class adaptivepoisson_form_10: public ufc::form
-{
-public:
-
- adaptivepoisson_form_10() : ufc::form()
- {
- // Do nothing
- }
-
- ~adaptivepoisson_form_10() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "50bbc7cf240795d58d8aa20ad76af963b7191605d923b45d4c90151a987751f8d90adee2e27ef4192932024d4e4f77a9dfe936f84a6abb2d323b1d1dbde2cc52";
- }
-
- std::size_t rank() const final override
- {
- return 0;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new adaptivepoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new adaptivepoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new adaptivepoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new adaptivepoisson_cell_integral_10_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace AdaptivePoisson
-{
-
-class CoefficientSpace___cell_bubble: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___cell_bubble(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_6>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_6>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___cell_bubble(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_6>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_6>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___cell_cone: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___cell_cone(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_3>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___cell_cone(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_3>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___cell_residual: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___cell_residual(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___cell_residual(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___discrete_dual_solution: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___discrete_dual_solution(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___discrete_dual_solution(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___discrete_primal_solution: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___discrete_primal_solution(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___discrete_primal_solution(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___facet_residual: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___facet_residual(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___facet_residual(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace___improved_dual: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace___improved_dual(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_2>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_2>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace___improved_dual(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_2>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_2>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace_f: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace_g: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_0_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_0_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_0_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_0_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_0_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_0_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_0: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_0(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_0>();
- }
-
- // Destructor
- ~Form_0()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_0_FunctionSpace_0 TestSpace;
- typedef Form_0_FunctionSpace_1 TrialSpace;
-
- // Coefficients
-};
-
-
-class Form_1_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_1_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_1_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_1: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_1(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 0)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_1>();
- }
-
- // Destructor
- ~Form_1()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_1_FunctionSpace_0 TestSpace;
-
- // Coefficients
-};
-
-
-typedef CoefficientSpace_f Form_2_FunctionSpace_0;
-
-typedef CoefficientSpace_g Form_2_FunctionSpace_1;
-
-typedef CoefficientSpace___discrete_primal_solution Form_2_FunctionSpace_2;
-
-typedef CoefficientSpace___improved_dual Form_2_FunctionSpace_3;
-
-class Form_2: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_2(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::Form(0, 4), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __improved_dual(*this, 3)
- {
- _mesh = mesh;
- _ufc_form = std::make_shared<const adaptivepoisson_form_2>();
- }
-
- // Constructor
- Form_2(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g, std::shared_ptr<const dolfin::GenericFunction> __discrete_primal_solution, std::shared_ptr<const dolfin::GenericFunction> __improved_dual):
- dolfin::Form(0, 4), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __improved_dual(*this, 3)
- {
- _mesh = mesh;
- this->f = f;
- this->g = g;
- this->__discrete_primal_solution = __discrete_primal_solution;
- this->__improved_dual = __improved_dual;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_2>();
- }
-
- // Destructor
- ~Form_2()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
- else if (name == "__discrete_primal_solution")
- return 2;
- else if (name == "__improved_dual")
- return 3;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- case 2:
- return "__discrete_primal_solution";
- case 3:
- return "__improved_dual";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_2_FunctionSpace_0 CoefficientSpace_f;
- typedef Form_2_FunctionSpace_1 CoefficientSpace_g;
- typedef Form_2_FunctionSpace_2 CoefficientSpace___discrete_primal_solution;
- typedef Form_2_FunctionSpace_3 CoefficientSpace___improved_dual;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
- dolfin::CoefficientAssigner __discrete_primal_solution;
- dolfin::CoefficientAssigner __improved_dual;
-};
-
-
-class Form_3_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_3_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_3_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_3_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_3_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_3_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace___cell_bubble Form_3_FunctionSpace_2;
-
-class Form_3: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_3(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 1), __cell_bubble(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_3>();
- }
-
- // Constructor
- Form_3(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> __cell_bubble):
- dolfin::Form(2, 1), __cell_bubble(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- this->__cell_bubble = __cell_bubble;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_3>();
- }
-
- // Destructor
- ~Form_3()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "__cell_bubble")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "__cell_bubble";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_3_FunctionSpace_0 TestSpace;
- typedef Form_3_FunctionSpace_1 TrialSpace;
- typedef Form_3_FunctionSpace_2 CoefficientSpace___cell_bubble;
-
- // Coefficients
- dolfin::CoefficientAssigner __cell_bubble;
-};
-
-
-class Form_4_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_4_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_4_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace_f Form_4_FunctionSpace_1;
-
-typedef CoefficientSpace_g Form_4_FunctionSpace_2;
-
-typedef CoefficientSpace___discrete_primal_solution Form_4_FunctionSpace_3;
-
-typedef CoefficientSpace___cell_bubble Form_4_FunctionSpace_4;
-
-class Form_4: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_4(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 4), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __cell_bubble(*this, 3)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_4>();
- }
-
- // Constructor
- Form_4(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g, std::shared_ptr<const dolfin::GenericFunction> __discrete_primal_solution, std::shared_ptr<const dolfin::GenericFunction> __cell_bubble):
- dolfin::Form(1, 4), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __cell_bubble(*this, 3)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
- this->g = g;
- this->__discrete_primal_solution = __discrete_primal_solution;
- this->__cell_bubble = __cell_bubble;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_4>();
- }
-
- // Destructor
- ~Form_4()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
- else if (name == "__discrete_primal_solution")
- return 2;
- else if (name == "__cell_bubble")
- return 3;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- case 2:
- return "__discrete_primal_solution";
- case 3:
- return "__cell_bubble";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_4_FunctionSpace_0 TestSpace;
- typedef Form_4_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_4_FunctionSpace_2 CoefficientSpace_g;
- typedef Form_4_FunctionSpace_3 CoefficientSpace___discrete_primal_solution;
- typedef Form_4_FunctionSpace_4 CoefficientSpace___cell_bubble;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
- dolfin::CoefficientAssigner __discrete_primal_solution;
- dolfin::CoefficientAssigner __cell_bubble;
-};
-
-
-class Form_5_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_5_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_5_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_5_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_5_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_5_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace___cell_cone Form_5_FunctionSpace_2;
-
-class Form_5: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_5(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 1), __cell_cone(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_5>();
- }
-
- // Constructor
- Form_5(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> __cell_cone):
- dolfin::Form(2, 1), __cell_cone(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- this->__cell_cone = __cell_cone;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_5>();
- }
-
- // Destructor
- ~Form_5()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "__cell_cone")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "__cell_cone";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_5_FunctionSpace_0 TestSpace;
- typedef Form_5_FunctionSpace_1 TrialSpace;
- typedef Form_5_FunctionSpace_2 CoefficientSpace___cell_cone;
-
- // Coefficients
- dolfin::CoefficientAssigner __cell_cone;
-};
-
-
-class Form_6_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_6_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_6_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace_f Form_6_FunctionSpace_1;
-
-typedef CoefficientSpace_g Form_6_FunctionSpace_2;
-
-typedef CoefficientSpace___discrete_primal_solution Form_6_FunctionSpace_3;
-
-typedef CoefficientSpace___cell_residual Form_6_FunctionSpace_4;
-
-typedef CoefficientSpace___cell_cone Form_6_FunctionSpace_5;
-
-class Form_6: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_6(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 5), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __cell_residual(*this, 3), __cell_cone(*this, 4)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_6>();
- }
-
- // Constructor
- Form_6(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g, std::shared_ptr<const dolfin::GenericFunction> __discrete_primal_solution, std::shared_ptr<const dolfin::GenericFunction> __cell_residual, std::shared_ptr<const dolfin::GenericFunction> __cell_cone):
- dolfin::Form(1, 5), f(*this, 0), g(*this, 1), __discrete_primal_solution(*this, 2), __cell_residual(*this, 3), __cell_cone(*this, 4)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
- this->g = g;
- this->__discrete_primal_solution = __discrete_primal_solution;
- this->__cell_residual = __cell_residual;
- this->__cell_cone = __cell_cone;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_6>();
- }
-
- // Destructor
- ~Form_6()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
- else if (name == "__discrete_primal_solution")
- return 2;
- else if (name == "__cell_residual")
- return 3;
- else if (name == "__cell_cone")
- return 4;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- case 2:
- return "__discrete_primal_solution";
- case 3:
- return "__cell_residual";
- case 4:
- return "__cell_cone";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_6_FunctionSpace_0 TestSpace;
- typedef Form_6_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_6_FunctionSpace_2 CoefficientSpace_g;
- typedef Form_6_FunctionSpace_3 CoefficientSpace___discrete_primal_solution;
- typedef Form_6_FunctionSpace_4 CoefficientSpace___cell_residual;
- typedef Form_6_FunctionSpace_5 CoefficientSpace___cell_cone;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
- dolfin::CoefficientAssigner __discrete_primal_solution;
- dolfin::CoefficientAssigner __cell_residual;
- dolfin::CoefficientAssigner __cell_cone;
-};
-
-
-class Form_7_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_7_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_5>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_5>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_7_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_5>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_5>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace___improved_dual Form_7_FunctionSpace_1;
-
-typedef CoefficientSpace___cell_residual Form_7_FunctionSpace_2;
-
-typedef CoefficientSpace___facet_residual Form_7_FunctionSpace_3;
-
-typedef CoefficientSpace___discrete_dual_solution Form_7_FunctionSpace_4;
-
-class Form_7: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_7(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 4), __improved_dual(*this, 0), __cell_residual(*this, 1), __facet_residual(*this, 2), __discrete_dual_solution(*this, 3)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_7>();
- }
-
- // Constructor
- Form_7(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> __improved_dual, std::shared_ptr<const dolfin::GenericFunction> __cell_residual, std::shared_ptr<const dolfin::GenericFunction> __facet_residual, std::shared_ptr<const dolfin::GenericFunction> __discrete_dual_solution):
- dolfin::Form(1, 4), __improved_dual(*this, 0), __cell_residual(*this, 1), __facet_residual(*this, 2), __discrete_dual_solution(*this, 3)
- {
- _function_spaces[0] = V0;
-
- this->__improved_dual = __improved_dual;
- this->__cell_residual = __cell_residual;
- this->__facet_residual = __facet_residual;
- this->__discrete_dual_solution = __discrete_dual_solution;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_7>();
- }
-
- // Destructor
- ~Form_7()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "__improved_dual")
- return 0;
- else if (name == "__cell_residual")
- return 1;
- else if (name == "__facet_residual")
- return 2;
- else if (name == "__discrete_dual_solution")
- return 3;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "__improved_dual";
- case 1:
- return "__cell_residual";
- case 2:
- return "__facet_residual";
- case 3:
- return "__discrete_dual_solution";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_7_FunctionSpace_0 TestSpace;
- typedef Form_7_FunctionSpace_1 CoefficientSpace___improved_dual;
- typedef Form_7_FunctionSpace_2 CoefficientSpace___cell_residual;
- typedef Form_7_FunctionSpace_3 CoefficientSpace___facet_residual;
- typedef Form_7_FunctionSpace_4 CoefficientSpace___discrete_dual_solution;
-
- // Coefficients
- dolfin::CoefficientAssigner __improved_dual;
- dolfin::CoefficientAssigner __cell_residual;
- dolfin::CoefficientAssigner __facet_residual;
- dolfin::CoefficientAssigner __discrete_dual_solution;
-};
-
-
-class Form_lhs_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_lhs_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_lhs_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_lhs_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_lhs_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_lhs_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_lhs: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_lhs(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_8>();
- }
-
- // Destructor
- ~Form_lhs()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_lhs_FunctionSpace_0 TestSpace;
- typedef Form_lhs_FunctionSpace_1 TrialSpace;
-
- // Coefficients
-};
-
-
-class Form_rhs_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_rhs_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_rhs_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<adaptivepoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<adaptivepoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-typedef CoefficientSpace_f Form_rhs_FunctionSpace_1;
-
-typedef CoefficientSpace_g Form_rhs_FunctionSpace_2;
-
-class Form_rhs: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_rhs(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_9>();
- }
-
- // Constructor
- Form_rhs(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
- this->g = g;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_9>();
- }
-
- // Destructor
- ~Form_rhs()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_rhs_FunctionSpace_0 TestSpace;
- typedef Form_rhs_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_rhs_FunctionSpace_2 CoefficientSpace_g;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
-};
-
-
-typedef CoefficientSpace___discrete_primal_solution Form_goal_FunctionSpace_0;
-
-class Form_goal: public dolfin::GoalFunctional
-{
-public:
-
- // Constructor
- Form_goal(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::GoalFunctional(0, 1), __discrete_primal_solution(*this, 0)
- {
- _mesh = mesh;
- _ufc_form = std::make_shared<const adaptivepoisson_form_10>();
- }
-
- // Constructor
- Form_goal(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> __discrete_primal_solution):
- dolfin::GoalFunctional(0, 1), __discrete_primal_solution(*this, 0)
- {
- _mesh = mesh;
- this->__discrete_primal_solution = __discrete_primal_solution;
-
- _ufc_form = std::make_shared<const adaptivepoisson_form_10>();
- }
-
- // Destructor
- ~Form_goal()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "__discrete_primal_solution")
- return 0;
-
- dolfin::dolfin_error("generated code for class GoalFunctional",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "__discrete_primal_solution";
- }
-
- dolfin::dolfin_error("generated code for class GoalFunctional",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_goal_FunctionSpace_0 CoefficientSpace___discrete_primal_solution;
-
- // Coefficients
- dolfin::CoefficientAssigner __discrete_primal_solution;
-
- /// Initialize all error control forms, attach coefficients and
- /// (re-)set error control
- virtual void update_ec(const dolfin::Form& a, const dolfin::Form& L)
- {
- // This stuff is created here and shipped elsewhere
- std::shared_ptr<dolfin::Form> a_star; // Dual lhs
- std::shared_ptr<dolfin::Form> L_star; // Dual rhs
- std::shared_ptr<dolfin::FunctionSpace> V_Ez_h; // Extrapolation space
- std::shared_ptr<dolfin::Function> Ez_h; // Extrapolated dual
- std::shared_ptr<dolfin::Form> residual; // Residual (as functional)
- std::shared_ptr<dolfin::FunctionSpace> V_R_T; // Trial space for cell residual
- std::shared_ptr<dolfin::Form> a_R_T; // Cell residual lhs
- std::shared_ptr<dolfin::Form> L_R_T; // Cell residual rhs
- std::shared_ptr<dolfin::FunctionSpace> V_b_T; // Function space for cell bubble
- std::shared_ptr<dolfin::Function> b_T; // Cell bubble
- std::shared_ptr<dolfin::FunctionSpace> V_R_dT; // Trial space for facet residual
- std::shared_ptr<dolfin::Form> a_R_dT; // Facet residual lhs
- std::shared_ptr<dolfin::Form> L_R_dT; // Facet residual rhs
- std::shared_ptr<dolfin::FunctionSpace> V_b_e; // Function space for cell cone
- std::shared_ptr<dolfin::Function> b_e; // Cell cone
- std::shared_ptr<dolfin::FunctionSpace> V_eta_T; // Function space for indicators
- std::shared_ptr<dolfin::Form> eta_T; // Indicator form
-
- // Some handy views
- assert(a.function_space(0));
- const auto Vhat = a.function_space(0); // Primal test
-
- assert(a.function_space(0));
- const auto V = a.function_space(1); // Primal trial
-
- assert(V->mesh());
- const auto mesh = V->mesh();
-
- std::string name;
-
- // Initialize dual forms
- a_star.reset(new Form_0(V, Vhat));
- L_star.reset(new Form_1(V));
-
-
- // Attach coefficients from a to a_star
- for (std::size_t i = 0; i < a.num_coefficients(); i++)
- {
- name = a.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether a_star has coefficient named 'name'
- try {
- a_star->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to a_star";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- a_star->set_coefficient(name, a.coefficient(i));
- }
-
- // Attach subdomains from a to a_star
- a_star->dx = a.cell_domains();
- a_star->ds = a.exterior_facet_domains();
- a_star->dS = a.interior_facet_domains();
-
-
- // Attach coefficients from (*this) to L_star
- for (std::size_t i = 0; i < (*this).num_coefficients(); i++)
- {
- name = (*this).coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether L_star has coefficient named 'name'
- try {
- L_star->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to L_star";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- L_star->set_coefficient(name, (*this).coefficient(i));
- }
-
- // Attach subdomains from (*this) to L_star
- L_star->dx = (*this).cell_domains();
- L_star->ds = (*this).exterior_facet_domains();
- L_star->dS = (*this).interior_facet_domains();
-
-
- // Initialize residual
- residual.reset(new Form_2(mesh));
-
- // Attach coefficients from a to residual
- for (std::size_t i = 0; i < a.num_coefficients(); i++)
- {
- name = a.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether residual has coefficient named 'name'
- try {
- residual->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to residual";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- residual->set_coefficient(name, a.coefficient(i));
- }
-
-
- // Attach coefficients from L to residual
- for (std::size_t i = 0; i < L.num_coefficients(); i++)
- {
- name = L.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether residual has coefficient named 'name'
- try {
- residual->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to residual";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- residual->set_coefficient(name, L.coefficient(i));
- }
-
- // Attach subdomains from L to residual
- residual->dx = L.cell_domains();
- residual->ds = L.exterior_facet_domains();
- residual->dS = L.interior_facet_domains();
-
-
- // Initialize extrapolation space and (fake) extrapolation
- V_Ez_h.reset(new CoefficientSpace___improved_dual(mesh));
- Ez_h.reset(new dolfin::Function(V_Ez_h));
- residual->set_coefficient("__improved_dual", Ez_h);
-
- // Create bilinear and linear form for computing cell residual R_T
- V_R_T.reset(new Form_4::TestSpace(mesh));
- a_R_T.reset(new Form_3(V_R_T, V_R_T));
- L_R_T.reset(new Form_4(V_R_T));
-
- // Initialize bubble and attach to a_R_T and L_R_T
- V_b_T.reset(new CoefficientSpace___cell_bubble(mesh));
- b_T.reset(new dolfin::Function(V_b_T));
- *b_T->vector() = 1.0;
-
- // Attach coefficients from a to L_R_T
- for (std::size_t i = 0; i < a.num_coefficients(); i++)
- {
- name = a.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether L_R_T has coefficient named 'name'
- try {
- L_R_T->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to L_R_T";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- L_R_T->set_coefficient(name, a.coefficient(i));
- }
-
-
- // Attach coefficients from L to L_R_T
- for (std::size_t i = 0; i < L.num_coefficients(); i++)
- {
- name = L.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether L_R_T has coefficient named 'name'
- try {
- L_R_T->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to L_R_T";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- L_R_T->set_coefficient(name, L.coefficient(i));
- }
-
- // Attach subdomains from L to L_R_T
- L_R_T->dx = L.cell_domains();
- L_R_T->ds = L.exterior_facet_domains();
- L_R_T->dS = L.interior_facet_domains();
-
-
- // Attach bubble function to _a_R_T and _L_R_T
- a_R_T->set_coefficient("__cell_bubble", b_T);
- L_R_T->set_coefficient("__cell_bubble", b_T);
-
- // Create bilinear and linear form for computing facet residual R_dT
- V_R_dT.reset(new Form_6::TestSpace(mesh));
- a_R_dT.reset(new Form_5(V_R_dT, V_R_dT));
- L_R_dT.reset(new Form_6(V_R_dT));
-
- // Attach coefficients from a to L_R_dT
- for (std::size_t i = 0; i < a.num_coefficients(); i++)
- {
- name = a.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether L_R_dT has coefficient named 'name'
- try {
- L_R_dT->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to L_R_dT";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- L_R_dT->set_coefficient(name, a.coefficient(i));
- }
-
-
- // Attach coefficients from L to L_R_dT
- for (std::size_t i = 0; i < L.num_coefficients(); i++)
- {
- name = L.coefficient_name(i);
- // Don't attach discrete primal solution here (not computed).
- if (name == "__discrete_primal_solution")
- continue;
-
- // Test whether L_R_dT has coefficient named 'name'
- try {
- L_R_dT->coefficient_number(name);
- } catch (...) {
- std::cout << "Attaching coefficient named: " << name << " to L_R_dT";
- std::cout << " failed! But this might be expected." << std::endl;
- continue;
- }
- L_R_dT->set_coefficient(name, L.coefficient(i));
- }
-
- // Attach subdomains from L to L_R_dT
- L_R_dT->dx = L.cell_domains();
- L_R_dT->ds = L.exterior_facet_domains();
- L_R_dT->dS = L.interior_facet_domains();
-
-
- // Initialize (fake) cone and attach to a_R_dT and L_R_dT
- V_b_e.reset(new CoefficientSpace___cell_cone(mesh));
- b_e.reset(new dolfin::Function(V_b_e));
- a_R_dT->set_coefficient("__cell_cone", b_e);
- L_R_dT->set_coefficient("__cell_cone", b_e);
-
- // Create error indicator form
- V_eta_T.reset(new Form_7::TestSpace(mesh));
- eta_T.reset(new Form_7(V_eta_T));
-
- // Update error control
- _ec.reset(new dolfin::ErrorControl(a_star, L_star, residual,
- a_R_T, L_R_T, a_R_dT, L_R_dT, eta_T,
- true));
- }
-
-};
-
-
-// Class typedefs
-typedef Form_lhs BilinearForm;
-typedef Form_rhs LinearForm;
-typedef Form_goal GoalFunctional;
-
-}
-
-#endif
diff --git a/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl b/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl
deleted file mode 100644
index ddd2ace..0000000
--- a/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2010 Anders Logg and Marie E. Rognes
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2010-08-19
-# Last changed: 2012-12-05
-#
-# Compile this with: ffc -l dolfin -e AdaptivePoisson.ufl
-
-element = FiniteElement("CG", triangle, 1)
-u = TrialFunction(element)
-v = TestFunction(element)
-
-f = Coefficient(element)
-g = Coefficient(element)
-
-a = dot(grad(u), grad(v))*dx()
-L = f*v*dx() + g*v*ds()
-M = u*dx()
diff --git a/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl.rst b/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl.rst
new file mode 100644
index 0000000..d650952
--- /dev/null
+++ b/demo/documented/auto-adaptive-poisson/cpp/AdaptivePoisson.ufl.rst
@@ -0,0 +1,25 @@
+UFL input for the auto adaptive Poisson problem
+===============================================
+
+UFL code::
+
+ element = FiniteElement("CG", triangle, 1)
+ u = TrialFunction(element)
+ v = TestFunction(element)
+
+ f = Coefficient(element)
+ g = Coefficient(element)
+
+ a = dot(grad(u), grad(v))*dx()
+ L = f*v*dx() + g*v*ds()
+ M = u*dx()
+
+Before the form file can be used in the C++ program, it must be
+compiled using FFC by running (on the command-line):
+
+.. code-block:: sh
+
+ ffc -l dolfin -e AdaptivePoisson.ufl
+
+Parameter ``-e`` ensures that a code for forms used for error control
+is generated.
diff --git a/demo/documented/auto-adaptive-poisson/cpp/CMakeLists.txt b/demo/documented/auto-adaptive-poisson/cpp/CMakeLists.txt
index c33c85c..cdfc33b 100644
--- a/demo/documented/auto-adaptive-poisson/cpp/CMakeLists.txt
+++ b/demo/documented/auto-adaptive-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_auto-adaptive-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/auto-adaptive-poisson/cpp/compile.log b/demo/documented/auto-adaptive-poisson/cpp/compile.log
deleted file mode 100644
index 86bfa17..0000000
--- a/demo/documented/auto-adaptive-poisson/cpp/compile.log
+++ /dev/null
@@ -1,3177 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form AdaptivePoisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 0
- Arguments: '()'
- Number of coefficients: 4
- Coefficients: '[w_0, w_1, w_2, w_3]'
- Unique elements: 'CG1(?), CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), CG2(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_4]'
- Unique elements: 'DG1(?), B3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), B3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 4
- Coefficients: '[w_0, w_1, w_2, w_4]'
- Unique elements: 'DG1(?), CG1(?), B3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), CG1(?), B3(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_6]'
- Unique elements: 'DG1(?), DG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), DG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_5, w_6]'
- Unique elements: 'DG1(?), CG1(?), DG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), CG1(?), DG2(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 4
- Coefficients: '[w_3, w_5, w_7, w_8]'
- Unique elements: 'DG0(?), CG2(?), DG1(?), CG1(?), Vector<2 x C
- G1(?)>'
- Unique sub elements: 'DG0(?), CG2(?), DG1(?), CG1(?), Vector<2 x C
- G1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_2]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
-Compiler stage 1 finished in 0.878716 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 7 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 7 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000869 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 3 entries computed in 0.000617 seconds
- Shape of reference tensor: (3,)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.10903901, 0.23193337, 0.10903901, 0.65902762, 0.23193337,
- 0.65902762],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.65902762, 0.65902762, 0.23193337, 0.23193337, 0.10903901,
- 0.10903901],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.23193337, 0.10903901, 0.65902762, 0.10903901, 0.65902762,
- 0.23193337],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.10903901, 0.23193337, 0.10903901, 0.65902762, 0.23193337,
- 0.65902762]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.65902762, 0.65902762, 0.23193337, 0.23193337, 0.10903901,
- 0.10903901]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.23193337, 0.10903901, 0.65902762, 0.10903901, 0.65902762,
- 0.23193337]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1., -1., -1., -1.],
- [ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]]), (0, 0): array([[ 0.10903901, 0.23193337, 0.10903901, 0.65902762, 0.23193337,
- 0.65902762],
- [ 0.65902762, 0.65902762, 0.23193337, 0.23193337, 0.10903901,
- 0.10903901],
- [ 0.23193337, 0.10903901, 0.65902762, 0.10903901, 0.65902762,
- 0.23193337]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 1): array([[ 5.63843964e-01, 7.22665258e-02, 5.63843964e-01,
- -1.63611049e+00, 7.22665258e-02, -1.63611049e+00],
- [ 8.16013923e-15, 7.49400542e-15, 7.88258347e-15,
- 6.10622664e-15, 7.27196081e-15, 6.21724894e-15],
- [ -7.22665258e-02, -5.63843964e-01, 1.63611049e+00,
- -5.63843964e-01, 1.63611049e+00, -7.22665258e-02],
- [ 2.63611049e+00, 2.63611049e+00, 9.27733474e-01,
- 9.27733474e-01, 4.36156036e-01, 4.36156036e-01],
- [ -4.91577438e-01, 4.91577438e-01, -2.19995445e+00,
- 2.19995445e+00, -1.70837702e+00, 1.70837702e+00],
- [ -2.63611049e+00, -2.63611049e+00, -9.27733474e-01,
- -9.27733474e-01, -4.36156036e-01, -4.36156036e-01]]), (1, 0): array([[ 0.56384396, 0.07226653, 0.56384396, -1.63611049, 0.07226653,
- -1.63611049],
- [ 1.63611049, 1.63611049, -0.07226653, -0.07226653, -0.56384396,
- -0.56384396],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.92773347, 0.43615604, 2.63611049, 0.43615604, 2.63611049,
- 0.92773347],
- [-0.92773347, -0.43615604, -2.63611049, -0.43615604, -2.63611049,
- -0.92773347],
- [-2.19995445, -1.70837702, -0.49157744, 1.70837702, 0.49157744,
- 2.19995445]]), (0, 0): array([[-0.08526 , -0.12434719, -0.08526 , 0.20960719, -0.12434719,
- 0.20960719],
- [ 0.20960719, 0.20960719, -0.12434719, -0.12434719, -0.08526 ,
- -0.08526 ],
- [-0.12434719, -0.08526 , 0.20960719, -0.08526 , 0.20960719,
- -0.12434719],
- [ 0.61140199, 0.28743888, 0.61140199, 0.10115914, 0.28743888,
- 0.10115914],
- [ 0.10115914, 0.10115914, 0.28743888, 0.28743888, 0.61140199,
- 0.61140199],
- [ 0.28743888, 0.61140199, 0.10115914, 0.61140199, 0.10115914,
- 0.28743888]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.10903901, 0.65902762,
- 0.23193337],
- [ 0. , 0. , 0. , 0.23193337, 0.65902762,
- 0.10903901],
- [ 0. , 0. , 0. , 0.10903901, 0.23193337,
- 0.65902762],
- [ 0. , 0. , 0. , 0.65902762, 0.23193337,
- 0.10903901],
- [ 0. , 0. , 0. , 0.23193337, 0.10903901,
- 0.65902762],
- [ 0. , 0. , 0. , 0.65902762, 0.10903901,
- 0.23193337]]), 'FE2_C0': array([[ 0.10903901, 0.65902762, 0.23193337, 0. , 0. ,
- 0. ],
- [ 0.23193337, 0.65902762, 0.10903901, 0. , 0. ,
- 0. ],
- [ 0.10903901, 0.23193337, 0.65902762, 0. , 0. ,
- 0. ],
- [ 0.65902762, 0.23193337, 0.10903901, 0. , 0. ,
- 0. ],
- [ 0.23193337, 0.10903901, 0.65902762, 0. , 0. ,
- 0. ],
- [ 0.65902762, 0.10903901, 0.23193337, 0. , 0. ,
- 0. ]]), 'FE1_D01': array([[ 5.63843964e-01, 8.16013923e-15, -7.22665258e-02,
- 2.63611049e+00, -4.91577438e-01, -2.63611049e+00],
- [ 7.22665258e-02, 7.49400542e-15, -5.63843964e-01,
- 2.63611049e+00, 4.91577438e-01, -2.63611049e+00],
- [ 5.63843964e-01, 7.88258347e-15, 1.63611049e+00,
- 9.27733474e-01, -2.19995445e+00, -9.27733474e-01],
- [ -1.63611049e+00, 6.10622664e-15, -5.63843964e-01,
- 9.27733474e-01, 2.19995445e+00, -9.27733474e-01],
- [ 7.22665258e-02, 7.27196081e-15, 1.63611049e+00,
- 4.36156036e-01, -1.70837702e+00, -4.36156036e-01],
- [ -1.63611049e+00, 6.21724894e-15, -7.22665258e-02,
- 4.36156036e-01, 1.70837702e+00, -4.36156036e-01]]), 'FE1_D10': array([[ 0.56384396, 1.63611049, 0. , 0.92773347, -0.92773347,
- -2.19995445],
- [ 0.07226653, 1.63611049, 0. , 0.43615604, -0.43615604,
- -1.70837702],
- [ 0.56384396, -0.07226653, 0. , 2.63611049, -2.63611049,
- -0.49157744],
- [-1.63611049, -0.07226653, 0. , 0.43615604, -0.43615604,
- 1.70837702],
- [ 0.07226653, -0.56384396, 0. , 2.63611049, -2.63611049,
- 0.49157744],
- [-1.63611049, -0.56384396, 0. , 0.92773347, -0.92773347,
- 2.19995445]]), 'FE0': array([[ 0.10903901, 0.65902762, 0.23193337],
- [ 0.23193337, 0.65902762, 0.10903901],
- [ 0.10903901, 0.23193337, 0.65902762],
- [ 0.65902762, 0.23193337, 0.10903901],
- [ 0.23193337, 0.10903901, 0.65902762],
- [ 0.65902762, 0.10903901, 0.23193337]]), 'FE1': array([[-0.08526 , 0.20960719, -0.12434719, 0.61140199, 0.10115914,
- 0.28743888],
- [-0.12434719, 0.20960719, -0.08526 , 0.28743888, 0.10115914,
- 0.61140199],
- [-0.08526 , -0.12434719, 0.20960719, 0.61140199, 0.28743888,
- 0.10115914],
- [ 0.20960719, -0.12434719, -0.08526 , 0.10115914, 0.28743888,
- 0.61140199],
- [-0.12434719, -0.08526 , 0.20960719, 0.28743888, 0.61140199,
- 0.10115914],
- [ 0.20960719, -0.08526 , -0.12434719, 0.10115914, 0.61140199,
- 0.28743888]])}
-
- tables: {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.10903901, 0.65902762,
- 0.23193337],
- [ 0. , 0. , 0. , 0.23193337, 0.65902762,
- 0.10903901],
- [ 0. , 0. , 0. , 0.10903901, 0.23193337,
- 0.65902762],
- [ 0. , 0. , 0. , 0.65902762, 0.23193337,
- 0.10903901],
- [ 0. , 0. , 0. , 0.23193337, 0.10903901,
- 0.65902762],
- [ 0. , 0. , 0. , 0.65902762, 0.10903901,
- 0.23193337]]), 'FE2_C0': array([[ 0.10903901, 0.65902762, 0.23193337, 0. , 0. ,
- 0. ],
- [ 0.23193337, 0.65902762, 0.10903901, 0. , 0. ,
- 0. ],
- [ 0.10903901, 0.23193337, 0.65902762, 0. , 0. ,
- 0. ],
- [ 0.65902762, 0.23193337, 0.10903901, 0. , 0. ,
- 0. ],
- [ 0.23193337, 0.10903901, 0.65902762, 0. , 0. ,
- 0. ],
- [ 0.65902762, 0.10903901, 0.23193337, 0. , 0. ,
- 0. ]]), 'FE1_D01': array([[ 5.63843964e-01, 8.16013923e-15, -7.22665258e-02,
- 2.63611049e+00, -4.91577438e-01, -2.63611049e+00],
- [ 7.22665258e-02, 7.49400542e-15, -5.63843964e-01,
- 2.63611049e+00, 4.91577438e-01, -2.63611049e+00],
- [ 5.63843964e-01, 7.88258347e-15, 1.63611049e+00,
- 9.27733474e-01, -2.19995445e+00, -9.27733474e-01],
- [ -1.63611049e+00, 6.10622664e-15, -5.63843964e-01,
- 9.27733474e-01, 2.19995445e+00, -9.27733474e-01],
- [ 7.22665258e-02, 7.27196081e-15, 1.63611049e+00,
- 4.36156036e-01, -1.70837702e+00, -4.36156036e-01],
- [ -1.63611049e+00, 6.21724894e-15, -7.22665258e-02,
- 4.36156036e-01, 1.70837702e+00, -4.36156036e-01]]), 'FE1_D10': array([[ 0.56384396, 1.63611049, 0. , 0.92773347, -0.92773347,
- -2.19995445],
- [ 0.07226653, 1.63611049, 0. , 0.43615604, -0.43615604,
- -1.70837702],
- [ 0.56384396, -0.07226653, 0. , 2.63611049, -2.63611049,
- -0.49157744],
- [-1.63611049, -0.07226653, 0. , 0.43615604, -0.43615604,
- 1.70837702],
- [ 0.07226653, -0.56384396, 0. , 2.63611049, -2.63611049,
- 0.49157744],
- [-1.63611049, -0.56384396, 0. , 0.92773347, -0.92773347,
- 2.19995445]]), 'FE0': array([[ 0.10903901, 0.65902762, 0.23193337],
- [ 0.23193337, 0.65902762, 0.10903901],
- [ 0.10903901, 0.23193337, 0.65902762],
- [ 0.65902762, 0.23193337, 0.10903901],
- [ 0.23193337, 0.10903901, 0.65902762],
- [ 0.65902762, 0.10903901, 0.23193337]]), 'FE1': array([[-0.08526 , 0.20960719, -0.12434719, 0.61140199, 0.10115914,
- 0.28743888],
- [-0.12434719, 0.20960719, -0.08526 , 0.28743888, 0.10115914,
- 0.61140199],
- [-0.08526 , -0.12434719, 0.20960719, 0.61140199, 0.28743888,
- 0.10115914],
- [ 0.20960719, -0.12434719, -0.08526 , 0.10115914, 0.28743888,
- 0.61140199],
- [-0.12434719, -0.08526 , 0.20960719, 0.28743888, 0.61140199,
- 0.10115914],
- [ 0.20960719, -0.08526 , -0.12434719, 0.10115914, 0.61140199,
- 0.28743888]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE2_C1_D01': 'FE2_C1_D01', 'FE0_D01': 'FE0_D01', 'FE2_C0': 'FE2_C0', 'FE1': 'FE1', 'FE2_C1_D10': 'FE2_C1_D10', 'FE2_C1': 'FE2_C1', 'FE2_C0_D01': 'FE2_C0_D01', 'FE1_D01': 'FE1_D01', 'FE1_D10': 'FE1_D10', 'FE0': 'FE0', 'FE2_C0_D10': 'FE2_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_D01': array([[ 0.56384396, -0.07226653, 2.63611049, -0.49157744, -2.63611049],
- [ 0.07226653, -0.56384396, 2.63611049, 0.49157744, -2.63611049],
- [ 0.56384396, 1.63611049, 0.92773347, -2.19995445, -0.92773347],
- [-1.63611049, -0.56384396, 0.92773347, 2.19995445, -0.92773347],
- [ 0.07226653, 1.63611049, 0.43615604, -1.70837702, -0.43615604],
- [-1.63611049, -0.07226653, 0.43615604, 1.70837702, -0.43615604]]), 'FE1_D10': array([[ 0.56384396, 1.63611049, 0.92773347, -0.92773347, -2.19995445],
- [ 0.07226653, 1.63611049, 0.43615604, -0.43615604, -1.70837702],
- [ 0.56384396, -0.07226653, 2.63611049, -2.63611049, -0.49157744],
- [-1.63611049, -0.07226653, 0.43615604, -0.43615604, 1.70837702],
- [ 0.07226653, -0.56384396, 2.63611049, -2.63611049, 0.49157744],
- [-1.63611049, -0.56384396, 0.92773347, -0.92773347, 2.19995445]]), 'FE0': array([[ 0.10903901, 0.65902762, 0.23193337],
- [ 0.23193337, 0.65902762, 0.10903901],
- [ 0.10903901, 0.23193337, 0.65902762],
- [ 0.65902762, 0.23193337, 0.10903901],
- [ 0.23193337, 0.10903901, 0.65902762],
- [ 0.65902762, 0.10903901, 0.23193337]]), 'FE1': array([[-0.08526 , 0.20960719, -0.12434719, 0.61140199, 0.10115914,
- 0.28743888],
- [-0.12434719, 0.20960719, -0.08526 , 0.28743888, 0.10115914,
- 0.61140199],
- [-0.08526 , -0.12434719, 0.20960719, 0.61140199, 0.28743888,
- 0.10115914],
- [ 0.20960719, -0.12434719, -0.08526 , 0.10115914, 0.28743888,
- 0.61140199],
- [-0.12434719, -0.08526 , 0.20960719, 0.28743888, 0.61140199,
- 0.10115914],
- [ 0.20960719, -0.08526 , -0.12434719, 0.10115914, 0.61140199,
- 0.28743888]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D01', (1, [0, 1]), False, False), 'FE2_C1_D01': ('FE0_D01', (8, [3, 5]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2]), False, False), 'FE2_C0': ('FE0', (4, [0, 1, 2]), False, False), 'FE1': ('FE1', (), False, False), 'FE2_C1_D10': ('FE0_D01', (9, [3, 4]), False, False), 'FE2_C1': ('FE0', (7, [3, 4, 5]), False, False), 'FE2_C0_D01': ('FE0_D01', (5, [0, 2]), False, False), 'FE1_D01': ('FE1_D01', (2, [0, 2, 3, 4, 5]), False, False), 'FE1_D10': ('FE1_D10', (3, [0, 1, [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00173 seconds
- Shape of reference tensor: (3, 6)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00177 seconds
- Shape of reference tensor: (3, 6)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00222 seconds
- Shape of reference tensor: (3, 6)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00239 seconds
- Shape of reference tensor: (3, 3, 1)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [1] indices = [[0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [1] indices = [[0]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {7: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]), (1, 0): array([[-1., -1., -1., -1., -1., -1., -1.],
- [ 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0.]]), (0, 0): array([[ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]), (1, 0): array([[-1., -1., -1., -1., -1., -1., -1.],
- [ 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0.]]), (0, 0): array([[ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]])}}}, FiniteElement('Bubble', triangle, 3): {None: {None: {(0, 1): array([[ -6.05071548e-15, -6.32827124e-15, -1.90376022e+00,
- 1.90376022e+00, -7.43849426e-15, 5.20988266e+00,
- -5.20988266e+00]]), (1, 0): array([[ -6.77432042e-16, -1.90376022e+00, -3.35519822e-15,
- 1.90376022e+00, 5.20988266e+00, -2.12974173e-15,
- -5.20988266e+00]]), (0, 0): array([[ 1. , 0.22088076, 0.22088076, 0.22088076, 0.35637872,
- 0.35637872, 0.35637872]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[ -6.77432042e-16],
- [ -1.90376022e+00],
- [ -3.35519822e-15],
- [ 1.90376022e+00],
- [ 5.20988266e+00],
- [ -2.12974173e-15],
- [ -5.20988266e+00]]), 'FE0_D01': array([[ -6.05071548e-15],
- [ -6.32827124e-15],
- [ -1.90376022e+00],
- [ 1.90376022e+00],
- [ -7.43849426e-15],
- [ 5.20988266e+00],
- [ -5.20988266e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]]), 'FE1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0': array([[ 1. ],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.35637872],
- [ 0.35637872],
- [ 0.35637872]]), 'FE1': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]]), 'FE2_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE2_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- tables: {'FE0_D10': array([[ -6.77432042e-16],
- [ -1.90376022e+00],
- [ -3.35519822e-15],
- [ 1.90376022e+00],
- [ 5.20988266e+00],
- [ -2.12974173e-15],
- [ -5.20988266e+00]]), 'FE0_D01': array([[ -6.05071548e-15],
- [ -6.32827124e-15],
- [ -1.90376022e+00],
- [ 1.90376022e+00],
- [ -7.43849426e-15],
- [ 5.20988266e+00],
- [ -5.20988266e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0': array([[ 1. ],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.35637872],
- [ 0.35637872],
- [ 0.35637872]]), 'FE1': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- name_map: {'FE1_D01': ['FE2_D01'], 'FE1_D10': ['FE2_D10'], 'FE1': ['FE2']}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE0': 'FE0', 'FE3_C1_D01': 'FE3_C1_D01', 'FE3_C0': 'FE3_C0', 'FE3_C1': 'FE3_C1', 'FE3_C0_D10': 'FE3_C0_D10', 'FE1_D01': 'FE1_D01', 'FE2': 'FE1', 'FE1_D10': 'FE1_D10', 'FE3_C0_D01': 'FE3_C0_D01', 'FE1': 'FE1', 'FE2_D10': 'FE1_D10', 'FE2_D01': 'FE1_D01', 'FE3_C1_D10': 'FE3_C1_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([[ 0. ],
- [-1.90376022],
- [ 0. ],
- [ 1.90376022],
- [ 5.20988266],
- [ 0. ],
- [-5.20988266]]), 'FE0_D01': array([[ 0. ],
- [ 0. ],
- [-1.90376022],
- [ 1.90376022],
- [ 0. ],
- [ 5.20988266],
- [-5.20988266]]), 'FE1_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE0': array([[ 1. ],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.22088076],
- [ 0.35637872],
- [ 0.35637872],
- [ 0.35637872]]), 'FE1': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (), False, False), 'FE0_D01': ('FE0_D01', (), False, False), 'FE0': ('FE0', (), False, False), 'FE3_C1_D01': ('FE1_D01', (6, [3, 5]), False, False), 'FE3_C0': ('FE1', (2, [0, 1, 2]), False, False), 'FE3_C1': ('FE1', (5, [3, 4, 5]), False, False), 'FE3_C0_D10': ('FE1_D01', (4, [0, 1]), False, False), 'FE1_D01': ('FE1_D01', (0, [0, 2]), False, False), 'FE2': ('FE1', (), False, False), 'FE1_D10': ('FE1_D01', (1, [0, 1]), False, False), 'FE3_C0_D01': ('FE1_D01', (3, [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00502 seconds
- Shape of reference tensor: (3, 3, 1)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00455 seconds
- Shape of reference tensor: (3, 3, 1)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00473 seconds
- Shape of reference tensor: (3, 3, 1)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 1] indices = [[0, 0], [1, 0], [2, 0]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00306 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00211 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00203 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00261 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00254 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00244 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00248 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00242 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00242 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00466 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00246 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00236 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00276 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00242 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.0024 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00242 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00253 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00236 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00232 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00232 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00238 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 2): {None: {None: {(0, 1): array([[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 7.99360578e-15, 7.32747196e-15, 5.44009282e-15,
- 6.93195501e-15, 6.88338275e-15, 8.11850587e-15],
- [ -6.33695146e-01, 2.26739029e+00, -6.33695146e-01,
- 7.83793964e-01, -5.67587927e-01, 7.83793964e-01],
- [ 3.26739029e+00, 3.66304854e-01, 3.66304854e-01,
- 4.32412073e-01, 1.78379396e+00, 1.78379396e+00],
- [ 7.10542736e-15, -2.90108544e+00, 2.90108544e+00,
- 8.13238366e-15, 1.35138189e+00, -1.35138189e+00],
- [ -3.26739029e+00, -3.66304854e-01, -3.66304854e-01,
- -4.32412073e-01, -1.78379396e+00, -1.78379396e+00]]), (1, 0): array([[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 2.26739029e+00, -6.33695146e-01, -6.33695146e-01,
- -5.67587927e-01, 7.83793964e-01, 7.83793964e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.66304854e-01, 3.26739029e+00, 3.66304854e-01,
- 1.78379396e+00, 4.32412073e-01, 1.78379396e+00],
- [ -3.66304854e-01, -3.26739029e+00, -3.66304854e-01,
- -1.78379396e+00, -4.32412073e-01, -1.78379396e+00],
- [ -2.90108544e+00, -3.86532069e-15, 2.90108544e+00,
- 1.35138189e+00, -4.32612710e-16, -1.35138189e+00]]), (0, 0): array([[-0.07480381, -0.07480381, 0.51763234, -0.04820838, -0.04820838,
- -0.08473049],
- [ 0.51763234, -0.07480381, -0.07480381, -0.08473049, -0.04820838,
- -0.04820838],
- [-0.07480381, 0.51763234, -0.07480381, -0.04820838, -0.08473049,
- -0.04820838],
- [ 0.29921523, 0.29921523, 0.03354481, 0.19283351, 0.19283351,
- 0.79548023],
- [ 0.03354481, 0.29921523, 0.29921523, 0.79548023, 0.19283351,
- 0.19283351],
- [ 0.29921523, 0.03354481, 0.29921523, 0.19283351, 0.79548023,
- 0.19283351]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1., -1., -1., -1.],
- [ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]]), (0, 0): array([[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1., -1., -1., -1.],
- [ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]]), (0, 0): array([[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE1': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE2_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE2_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- tables: {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE2_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE2_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- name_map: {'FE0_D10': ['FE1_D10'], 'FE0_D01': ['FE1_D01'], 'FE0': ['FE1']}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE0': 'FE0', 'FE3_C1_D01': 'FE3_C1_D01', 'FE3_C0': 'FE3_C0', 'FE3_C1': 'FE3_C1', 'FE3_C0_D10': 'FE3_C0_D10', 'FE1_D01': 'FE0_D01', 'FE2': 'FE2', 'FE1_D10': 'FE0_D10', 'FE3_C0_D01': 'FE3_C0_D01', 'FE1': 'FE0', 'FE2_D10': 'FE2_D10', 'FE2_D01': 'FE2_D01', 'FE3_C1_D10': 'FE3_C1_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE2': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE2_D10': array([[ 0.63369515, 2.26739029, 0.36630485, -0.36630485, -2.90108544],
- [ 0.63369515, -0.63369515, 3.26739029, -3.26739029, 0. ],
- [-2.26739029, -0.63369515, 0.36630485, -0.36630485, 2.90108544],
- [-0.78379396, -0.56758793, 1.78379396, -1.78379396, 1.35138189],
- [-0.78379396, 0.78379396, 0.43241207, -0.43241207, 0. ],
- [ 0.56758793, 0.78379396, 1.78379396, -1.78379396, -1.35138189]]), 'FE2_D01': array([[ 0.63369515, -0.63369515, 3.26739029, 0. , -3.26739029],
- [ 0.63369515, 2.26739029, 0.36630485, -2.90108544, -0.36630485],
- [-2.26739029, -0.63369515, 0.36630485, 2.90108544, -0.36630485],
- [-0.78379396, 0.78379396, 0.43241207, 0. , -0.43241207],
- [-0.78379396, -0.56758793, 1.78379396, 1.35138189, -1.78379396],
- [ 0.56758793, 0.78379396, 1.78379396, -1.35138189, -1.78379396]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D01', (1, [0, 1]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2]), False, False), 'FE0': ('FE0', (), False, False), 'FE3_C1_D01': ('FE0_D01', (8, [3, 5]), False, False), 'FE3_C0': ('FE0', (4, [0, 1, 2]), False, False), 'FE3_C1': ('FE0', (7, [3, 4, 5]), False, False), 'FE3_C0_D10': ('FE0_D01', (6, [0, 1]), False, False), 'FE1_D01': ('FE0_D01', (0, [0, 2]), False, False), 'FE2': ('FE2', (), False, False), 'FE1_D10': ('FE0_D01', (1, [0, 1]), False, False), 'FE3_C0_D01 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00261 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00297 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.0025 seconds
- Shape of reference tensor: (3, 3, 6)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00157 seconds
- Shape of reference tensor: (1, 3, 6)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00142 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00203 seconds
- Shape of reference tensor: (1, 3, 6)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00182 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00184 seconds
- Shape of reference tensor: (1, 3, 6)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.0018 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00181 seconds
- Shape of reference tensor: (1, 3, 6)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00181 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00262 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00281 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00276 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00259 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00242 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.0025 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00268 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00277 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00269 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00265 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00269 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00262 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00251 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00249 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00265 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00268 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00251 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00262 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00276 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00379 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00296 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00257 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.0031 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00271 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00252 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00261 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00299 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00277 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00261 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00277 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00266 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00271 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00258 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00259 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00311 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00567 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00551 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00543 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.0042 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00477 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00454 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00597 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00659 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00597 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00573 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00509 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00476 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00467 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00336 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00247 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00268 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00263 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00237 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00252 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00282 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00312 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00255 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00258 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00262 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00269 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00262 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00261 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00279 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00272 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00261 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00274 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00303 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00293 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00275 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.00274 seconds
- Shape of reference tensor: (1, 3, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00486 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 18 entries computed in 0.00345 seconds
- Shape of reference tensor: (1, 6, 3)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [4, 0], [4, 1], [4, 2], [5, 0], [5, 1], [5, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000983 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000853 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00137 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00113 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00116 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 3 entries computed in 0.000564 seconds
- Shape of reference tensor: (3,)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.764338 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0154691 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 7 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 7 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: det
- Removing unused variable: dx1
- Removing unused variable: dx0
- Removing unused variable: v1
- Removing unused variable: v0
- Removing unused variable: edge_vertices
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.482668 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00313306 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00250483 seconds.
-
-FFC finished in 2.14745 seconds.
-Output written to ./AdaptivePoisson.h.
diff --git a/demo/documented/auto-adaptive-poisson/cpp/documentation.rst b/demo/documented/auto-adaptive-poisson/cpp/documentation.rst
deleted file mode 100644
index 1d412d9..0000000
--- a/demo/documented/auto-adaptive-poisson/cpp/documentation.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-.. Documentation for the auto adaptive poisson demo from DOLFIN.
-
-.. _demo_pde_auto-adaptive-poisson_cpp_documentation:
-
-There is as yet no documentation for the C++ version of this demo.
-Please consider contributing the missing documentation.
diff --git a/demo/documented/auto-adaptive-poisson/cpp/main.cpp b/demo/documented/auto-adaptive-poisson/cpp/main.cpp
deleted file mode 100644
index cb5f00d..0000000
--- a/demo/documented/auto-adaptive-poisson/cpp/main.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright (C) 2010-2012 Anders Logg and Marie E. Rognes
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2010-08-19
-// Last changed: 2012-11-14
-
-#include <dolfin.h>
-#include "AdaptivePoisson.h"
-
-using namespace dolfin;
-
-// Source term (right-hand side)
-class Source : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
-};
-
-// Normal derivative (Neumann boundary condition)
-class dUdN : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = sin(5*x[0]);
- }
-};
-
-// Sub domain for Dirichlet boundary condition
-class DirichletBoundary : public SubDomain
-{
- bool inside(const Array<double>& x, bool on_boundary) const
- {
- return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS;
- }
-};
-
-int main()
-{
- // Create mesh and define function space
- auto mesh = std::make_shared<UnitSquareMesh>(8, 8);
- auto V = std::make_shared<AdaptivePoisson::BilinearForm::TrialSpace>(mesh);
-
- // Define boundary condition
- auto u0 = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- auto bc = std::make_shared<DirichletBC>(V, u0, boundary);
-
- // Define variational forms
- auto a = std::make_shared<AdaptivePoisson::BilinearForm>(V, V);
- auto L = std::make_shared<AdaptivePoisson::LinearForm>(V);
- auto f = std::make_shared<Source>();
- auto g = std::make_shared<dUdN>();
- L->f = f;
- L->g = g;
-
- // Define Function for solution
- auto u = std::make_shared<Function>(V);
-
- // Define goal functional (quantity of interest)
- auto M = std::make_shared<AdaptivePoisson::GoalFunctional>(mesh);
-
- // Define error tolerance
- double tol = 1.e-5;
-
- // Solve equation a = L with respect to u and the given boundary
- // conditions, such that the estimated error (measured in M) is less
- // than tol
- std::vector<std::shared_ptr<const DirichletBC>> bcs({bc});
- auto problem = std::make_shared<LinearVariationalProblem>(a, L, u, bcs);
- AdaptiveLinearVariationalSolver solver(problem, M);
- solver.parameters("error_control")("dual_variational_solver")["linear_solver"]
- = "cg";
- solver.parameters("error_control")("dual_variational_solver")["symmetric"]
- = true;
- solver.solve(tol);
-
- solver.summary();
-
- // Plot final solution
- plot(u->root_node(), "Solution on initial mesh");
- plot(u->leaf_node(), "Solution on final mesh");
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/auto-adaptive-poisson/cpp/main.cpp.rst b/demo/documented/auto-adaptive-poisson/cpp/main.cpp.rst
new file mode 100644
index 0000000..f20e6e0
--- /dev/null
+++ b/demo/documented/auto-adaptive-poisson/cpp/main.cpp.rst
@@ -0,0 +1,92 @@
+Auto adaptive Poisson equation (C++)
+====================================
+
+Implementation
+--------------
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`AdaptivePoisson.ufl` and :download:`CMakeLists.txt`.
+
+Under construction.
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+ #include "AdaptivePoisson.h"
+
+ using namespace dolfin;
+
+ // Source term (right-hand side)
+ class Source : public Expression
+ {
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ double dx = x[0] - 0.5;
+ double dy = x[1] - 0.5;
+ values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
+ }
+ };
+
+ // Normal derivative (Neumann boundary condition)
+ class dUdN : public Expression
+ {
+ void eval(Array<double>& values, const Array<double>& x) const
+ { values[0] = sin(5*x[0]); }
+ };
+
+ // Sub domain for Dirichlet boundary condition
+ class DirichletBoundary : public SubDomain
+ {
+ bool inside(const Array<double>& x, bool on_boundary) const
+ { return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS; }
+ };
+
+ int main()
+ {
+ // Create mesh and define function space
+ auto mesh = std::make_shared<UnitSquareMesh>(8, 8);
+ auto V = std::make_shared<AdaptivePoisson::BilinearForm::TrialSpace>(mesh);
+
+ // Define boundary condition
+ auto u0 = std::make_shared<Constant>(0.0);
+ auto boundary = std::make_shared<DirichletBoundary>();
+ auto bc = std::make_shared<DirichletBC>(V, u0, boundary);
+
+ // Define variational forms
+ auto a = std::make_shared<AdaptivePoisson::BilinearForm>(V, V);
+ auto L = std::make_shared<AdaptivePoisson::LinearForm>(V);
+ auto f = std::make_shared<Source>();
+ auto g = std::make_shared<dUdN>();
+ L->f = f;
+ L->g = g;
+
+ // Define Function for solution
+ auto u = std::make_shared<Function>(V);
+
+ // Define goal functional (quantity of interest)
+ auto M = std::make_shared<AdaptivePoisson::GoalFunctional>(mesh);
+
+ // Define error tolerance
+ double tol = 1.e-5;
+
+ // Solve equation a = L with respect to u and the given boundary
+ // conditions, such that the estimated error (measured in M) is less
+ // than tol
+ std::vector<std::shared_ptr<const DirichletBC>> bcs({bc});
+ auto problem = std::make_shared<LinearVariationalProblem>(a, L, u, bcs);
+ AdaptiveLinearVariationalSolver solver(problem, M);
+ solver.parameters("error_control")("dual_variational_solver")["linear_solver"]
+ = "cg";
+ solver.parameters("error_control")("dual_variational_solver")["symmetric"]
+ = true;
+ solver.solve(tol);
+
+ solver.summary();
+
+ // Plot final solution
+ plot(u->root_node(), "Solution on initial mesh");
+ plot(u->leaf_node(), "Solution on final mesh");
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py b/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py
index 208bd9a..b646a3a 100644
--- a/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py
+++ b/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py
@@ -1,35 +1,208 @@
-# Copyright (C) 2011-2012 Marie E. Rognes and Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2010-08-19
-# Last changed: 2012-11-14
-
-# Begin demo
+# Auto adaptive Poisson equation
+# ==============================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_auto-adaptive-poisson.py`, which contains both the
+# variational forms and the solver.
+#
+# In this demo we will use goal oriented adaptivity and error control
+# which applies a duality technique to derive error estimates taken
+# directly from the computed solution which then are used to weight
+# local residuals. To this end, we derive an :math:`\textit{a
+# posteriori}` error estimate and error indicators. We define a goal
+# functional :math:`\mathcal{M} : V \rightarrow \mathbb{R}`, which
+# expresses the localized physical properties of the solution of a
+# simulation. The objective of goal oriented adaptive error control is
+# to minimize computational work to obtain a given level of accuracy in
+# :math:`\mathcal{M}`.
+#
+# We will thus illustrate how to:
+#
+# * Solve a linear partial differential equation with automatic adaptive
+# mesh refinement
+# * Define a goal functional
+# * Use :py:class:`AdaptiveLinearVariationalSolver
+# <dolfin.cpp.fem.AdaptiveLinearVariationalSolver>`
+#
+# The two solutions for u in this demo will look as follows, where the
+# first is the unrefined while the second is the refined solution:
+#
+# .. image:: ../u_unrefined.png
+# :scale: 75 %
+#
+# .. image:: ../u_refined.png
+# :scale: 75 %
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# The Poisson equation is the canonical elliptic partial differential
+# equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
+# boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
+# Poisson equation with particular boundary conditions reads:
+#
+# .. math::
+#
+# - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
+# u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
+# \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
+#
+# Here, :math:`f` and :math:`g` are input data and n denotes the outward
+# directed boundary normal. The variational form of Poisson equation
+# reads: find :math:`u \in V` such that
+#
+# .. math::
+#
+# a(u, v) = L(v) \quad \forall \ v \in \hat{V},
+#
+# which we will call the continous primal problem, where :math:`V`,
+# :math:`\hat{V}` are the trial- and test spaces and
+#
+# .. math::
+#
+# a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+# L(v) &= \int_{\Omega} f v \, {\rm d} x + \int_{\Gamma_{N}} g v \, {\rm d} s.
+#
+# The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+# is the linear form. It is assumed that all functions in :math:`V`
+# satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
+# \Gamma_{D}`).
+#
+# The above definitions is that of the continuous problem. In the actual
+# computer implementation we use a descrete formulation which reads:
+# find :math:`u \in V_h` such that
+#
+# .. math::
+#
+# a(u_h, v) = L(v) \quad \forall \ v \in \hat{V}_h.
+#
+# We will refer to the above equation as the discrete primal
+# problem. Here, :math:`V_h` and :math:`\hat{V_h}` are finite
+# dimensional subspaces.
+#
+# The weak residual is defined as
+#
+# .. math::
+#
+# r(v) = L(v) - a(u_h, v).
+#
+# By the Galerkin orthogonality, we have
+#
+# .. math::
+#
+# r(v) = L(v) - a(u_h, v) = a(u_h, v) - a(u_h, v) = 0\,\, \forall v \in \hat{V}_{h},
+#
+# which means that the residual vanishes for all functions in
+# :math:`\hat{V}_{h}`. This property is used further in the derivation
+# of the error estimates. wish to compute a solution :math:`u_h` to the
+# discrete primal problem defined above such that for a given tolerance
+# :math:`\mathrm{TOL}` we have
+#
+# .. math::
+#
+# \eta = \left| \mathcal{M}(u_h) - \mathcal{u_h} \right| \leq \mathrm{TOL}.
+#
+# Next we derive an :math:`\textit{a posteriori}` error estimate by
+# defining the discrete dual variational problem: find :math:`z_h \in
+# V_h^*` such that
+#
+# .. :math::
+#
+# a^*(z_h,v) = \mathcal{v}, \quad \forall v \in \hat{V}_h^*.
+#
+# Here :math:`V^*, \hat{V}_h^*` are the dual trial- and test spaces and
+# :math:`a^* : V^* \times \hat{V}^* \rightarrow \mathbb{R}` is the
+# adjoint of :math:`a` such that :math:`a^*(v,w) = a(w,v)`. We find that
+#
+# .. math::
+#
+# \mathcal{M}(u - \mathcal{u_h}) = a^*(z, u - u_h) = a(u - u_h, z) = a(u,z) - a(u_h,z) = L(z) - a(u_h,z) = r(z)
+#
+# and by Galerkin orthogonality we have :math:`r(z) = r(z - v_h)\,\,
+# \forall v_h \in \hat{V}_h`. Note that the residual vanishes if
+# :math:`z \in \hat{V}_h^*` and has to either be approximated in a
+# higher order element space or one may use an extrapolation. The choice
+# of goal functional depends on what quantity you are interested in.
+# Here, we take the goal functional to be defined as
+#
+# .. math::
+#
+# \mathcal{M}(u) = \int_{\Omega} u dx.
+#
+#
+# We use :math:`D\ddot{o}rfler` marking as the mesh marking procedure.
+#
+# In this demo, we shall consider the following definitions of the input
+# functions, the domain, and the boundaries:
+#
+# * :math:`\Omega = [0,1] \times [0,1]\,` (a unit square)
+# * :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}\,` (Dirichlet boundary)
+# * :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}\,` (Neumann boundary)
+# * :math:`g = \sin(5x)\,` (normal derivative)
+# * :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)\,` (source term)
+#
+#
+#
+# Implementation
+# --------------
+#
+# This description goes through the implementation (in
+# :download:`demo_auto-adaptive-poisson.py`) of a solver for the above
+# described Poisson equation step-by-step.
+#
+# First, the dolfin module is imported::
from dolfin import *
+# We begin by defining a mesh of the domain and a finite element
+# function space V relative to this mesh. We used the built-in mesh
+# provided by the class :py:class:`UnitSquareMesh
+# <dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
+# consisting of 8 x 8 squares with each square divided into two
+# triangles, we do as follows::
+
# Create mesh and define function space
mesh = UnitSquareMesh(8, 8)
V = FunctionSpace(mesh, "Lagrange", 1)
+# The second argument to :py:class:`FunctionSpace
+# <dolfin.cpp.function.FunctionSpace>`, "Lagrange", is the finite
+# element family, while the third argument specifies the polynomial
+# degree. Thus, in this case, our space V consists of first-order,
+# continuous Lagrange finite element functions (or in order words,
+# continuous piecewise linear polynomials).
+#
+# Next, we want to consider the Dirichlet boundary condition. In our
+# case, we want to say that the points (x, y) such that x = 0 or x = 1
+# are inside on the inside of :math:`\Gamma_D`. (Note that because of
+# rounding-off errors, it is often wise to instead specify :math:`x <
+# \epsilon` or :math:`x > 1 - \epsilon` where :math:`\epsilon` is a
+# small number (such as machine precision).) ::
+
# Define boundary condition
u0 = Function(V)
bc = DirichletBC(V, u0, "x[0] < DOLFIN_EPS || x[0] > 1.0 - DOLFIN_EPS")
+# Next, we want to express the variational problem. First, we need to
+# specify the trial function u and the test function v, both living in
+# the function space V. We do this by defining a
+# :py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+# and a :py:class:`TestFunction
+# <dolfin.functions.function.TestFunction>` on the previously defined
+# :py:class:`FunctionSpace <dolfin.cpp.function.FunctionSpace>` V.
+#
+# Further, the source f and the boundary normal derivative g are
+# involved in the variational forms, and hence we must specify
+# these. Both f and g are given by simple mathematical formulas, and can
+# be easily declared using the :py:class:`Expression
+# <dolfin.cpp.function.Expression>` class. Note that the strings
+# defining f and g use C++ syntax since, for efficiency, DOLFIN will
+# generate and compile C++ code for these expressions at run-time.
+#
+# With these ingredients, we can write down the bilinear form a and the
+# linear form L (using UFL operators). In summary, this reads::
+
# Define variational problem
u = TrialFunction(V)
v = TestFunction(V)
@@ -39,15 +212,37 @@ g = Expression("sin(5*x[0])", degree=1)
a = inner(grad(u), grad(v))*dx()
L = f*v*dx() + g*v*ds()
+# Now, we have specified the variational forms and can consider the
+# solution of the variational problem. First, we need to define a
+# :py:class:`Function <dolfin.cpp.function.Function>` u to represent the
+# solution. (Upon initialization, it is simply set to the zero
+# function.) A Function represents a function living in a finite element
+# function space. ::
+
# Define function for the solution
u = Function(V)
+# Then define the goal functional::
+
# Define goal functional (quantity of interest)
M = u*dx()
+# Next we specify the error tolerance for when the refinement shall stop::
+
# Define error tolerance
tol = 1.e-5
+# Now, we have specified the variational forms and can consider the
+# solution of the variational problem. First, we define the
+# :py:class:`LinearVariationalProblem
+# <dolfin.cpp.fem.LinearVariationalProblem>` function with the arguments
+# a, L, u and bc. Next we send this problem to the
+# :py:class:`AdaptiveLinearVariationalSolver
+# <dolfin.cpp.fem.AdaptiveLinearVariationalSolver>` together with the
+# goal functional. Note that one may also choose several adaptations in
+# the error control. At last we solve the problem with the defined
+# tolerance::
+
# Solve equation a = L with respect to u and the given boundary
# conditions, such that the estimated error (measured in M) is less
# than tol
diff --git a/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py.rst b/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py.rst
new file mode 100644
index 0000000..f2df4e7
--- /dev/null
+++ b/demo/documented/auto-adaptive-poisson/python/demo_auto-adaptive-poisson.py.rst
@@ -0,0 +1,260 @@
+Auto adaptive Poisson equation
+==============================
+
+This demo is implemented in a single Python file,
+:download:`demo_auto-adaptive-poisson.py`, which contains both the
+variational forms and the solver.
+
+In this demo we will use goal oriented adaptivity and error control
+which applies a duality technique to derive error estimates taken
+directly from the computed solution which then are used to weight
+local residuals. To this end, we derive an :math:`\textit{a
+posteriori}` error estimate and error indicators. We define a goal
+functional :math:`\mathcal{M} : V \rightarrow \mathbb{R}`, which
+expresses the localized physical properties of the solution of a
+simulation. The objective of goal oriented adaptive error control is
+to minimize computational work to obtain a given level of accuracy in
+:math:`\mathcal{M}`.
+
+We will thus illustrate how to:
+
+* Solve a linear partial differential equation with automatic adaptive
+ mesh refinement
+* Define a goal functional
+* Use :py:class:`AdaptiveLinearVariationalSolver
+ <dolfin.cpp.fem.AdaptiveLinearVariationalSolver>`
+
+The two solutions for u in this demo will look as follows, where the
+first is the unrefined while the second is the refined solution:
+
+.. image:: ../u_unrefined.png
+ :scale: 75 %
+
+.. image:: ../u_refined.png
+ :scale: 75 %
+
+
+Equation and problem definition
+-------------------------------
+
+The Poisson equation is the canonical elliptic partial differential
+equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
+boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
+Poisson equation with particular boundary conditions reads:
+
+.. math::
+
+ - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
+ u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
+ \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
+
+Here, :math:`f` and :math:`g` are input data and n denotes the outward
+directed boundary normal. The variational form of Poisson equation
+reads: find :math:`u \in V` such that
+
+.. math::
+
+ a(u, v) = L(v) \quad \forall \ v \in \hat{V},
+
+which we will call the continous primal problem, where :math:`V`,
+:math:`\hat{V}` are the trial- and test spaces and
+
+.. math::
+
+ a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+ L(v) &= \int_{\Omega} f v \, {\rm d} x + \int_{\Gamma_{N}} g v \, {\rm d} s.
+
+The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+is the linear form. It is assumed that all functions in :math:`V`
+satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
+\Gamma_{D}`).
+
+The above definitions is that of the continuous problem. In the actual
+computer implementation we use a descrete formulation which reads:
+find :math:`u \in V_h` such that
+
+.. math::
+
+ a(u_h, v) = L(v) \quad \forall \ v \in \hat{V}_h.
+
+We will refer to the above equation as the discrete primal
+problem. Here, :math:`V_h` and :math:`\hat{V_h}` are finite
+dimensional subspaces.
+
+The weak residual is defined as
+
+.. math::
+
+ r(v) = L(v) - a(u_h, v).
+
+By the Galerkin orthogonality, we have
+
+.. math::
+
+ r(v) = L(v) - a(u_h, v) = a(u_h, v) - a(u_h, v) = 0\,\, \forall v \in \hat{V}_{h},
+
+which means that the residual vanishes for all functions in
+:math:`\hat{V}_{h}`. This property is used further in the derivation
+of the error estimates. wish to compute a solution :math:`u_h` to the
+discrete primal problem defined above such that for a given tolerance
+:math:`\mathrm{TOL}` we have
+
+.. math::
+
+ \eta = \left| \mathcal{M}(u_h) - \mathcal{u_h} \right| \leq \mathrm{TOL}.
+
+Next we derive an :math:`\textit{a posteriori}` error estimate by
+defining the discrete dual variational problem: find :math:`z_h \in
+V_h^*` such that
+
+.. :math::
+
+ a^*(z_h,v) = \mathcal{v}, \quad \forall v \in \hat{V}_h^*.
+
+Here :math:`V^*, \hat{V}_h^*` are the dual trial- and test spaces and
+:math:`a^* : V^* \times \hat{V}^* \rightarrow \mathbb{R}` is the
+adjoint of :math:`a` such that :math:`a^*(v,w) = a(w,v)`. We find that
+
+.. math::
+
+ \mathcal{M}(u - \mathcal{u_h}) = a^*(z, u - u_h) = a(u - u_h, z) = a(u,z) - a(u_h,z) = L(z) - a(u_h,z) = r(z)
+
+and by Galerkin orthogonality we have :math:`r(z) = r(z - v_h)\,\,
+\forall v_h \in \hat{V}_h`. Note that the residual vanishes if
+:math:`z \in \hat{V}_h^*` and has to either be approximated in a
+higher order element space or one may use an extrapolation. The choice
+of goal functional depends on what quantity you are interested in.
+Here, we take the goal functional to be defined as
+
+.. math::
+
+ \mathcal{M}(u) = \int_{\Omega} u dx.
+
+
+We use :math:`D\ddot{o}rfler` marking as the mesh marking procedure.
+
+In this demo, we shall consider the following definitions of the input
+functions, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]\,` (a unit square)
+* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}\,` (Dirichlet boundary)
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}\,` (Neumann boundary)
+* :math:`g = \sin(5x)\,` (normal derivative)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)\,` (source term)
+
+
+
+Implementation
+--------------
+
+This description goes through the implementation (in
+:download:`demo_auto-adaptive-poisson.py`) of a solver for the above
+described Poisson equation step-by-step.
+
+First, the dolfin module is imported::
+
+ from dolfin import *
+
+We begin by defining a mesh of the domain and a finite element
+function space V relative to this mesh. We used the built-in mesh
+provided by the class :py:class:`UnitSquareMesh
+<dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
+consisting of 8 x 8 squares with each square divided into two
+triangles, we do as follows::
+
+ # Create mesh and define function space
+ mesh = UnitSquareMesh(8, 8)
+ V = FunctionSpace(mesh, "Lagrange", 1)
+
+The second argument to :py:class:`FunctionSpace
+<dolfin.cpp.function.FunctionSpace>`, "Lagrange", is the finite
+element family, while the third argument specifies the polynomial
+degree. Thus, in this case, our space V consists of first-order,
+continuous Lagrange finite element functions (or in order words,
+continuous piecewise linear polynomials).
+
+Next, we want to consider the Dirichlet boundary condition. In our
+case, we want to say that the points (x, y) such that x = 0 or x = 1
+are inside on the inside of :math:`\Gamma_D`. (Note that because of
+rounding-off errors, it is often wise to instead specify :math:`x <
+\epsilon` or :math:`x > 1 - \epsilon` where :math:`\epsilon` is a
+small number (such as machine precision).) ::
+
+ # Define boundary condition
+ u0 = Function(V)
+ bc = DirichletBC(V, u0, "x[0] < DOLFIN_EPS || x[0] > 1.0 - DOLFIN_EPS")
+
+Next, we want to express the variational problem. First, we need to
+specify the trial function u and the test function v, both living in
+the function space V. We do this by defining a
+:py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+and a :py:class:`TestFunction
+<dolfin.functions.function.TestFunction>` on the previously defined
+:py:class:`FunctionSpace <dolfin.cpp.function.FunctionSpace>` V.
+
+Further, the source f and the boundary normal derivative g are
+involved in the variational forms, and hence we must specify
+these. Both f and g are given by simple mathematical formulas, and can
+be easily declared using the :py:class:`Expression
+<dolfin.cpp.function.Expression>` class. Note that the strings
+defining f and g use C++ syntax since, for efficiency, DOLFIN will
+generate and compile C++ code for these expressions at run-time.
+
+With these ingredients, we can write down the bilinear form a and the
+linear form L (using UFL operators). In summary, this reads::
+
+ # Define variational problem
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)",
+ degree=1)
+ g = Expression("sin(5*x[0])", degree=1)
+ a = inner(grad(u), grad(v))*dx()
+ L = f*v*dx() + g*v*ds()
+
+Now, we have specified the variational forms and can consider the
+solution of the variational problem. First, we need to define a
+:py:class:`Function <dolfin.cpp.function.Function>` u to represent the
+solution. (Upon initialization, it is simply set to the zero
+function.) A Function represents a function living in a finite element
+function space. ::
+
+ # Define function for the solution
+ u = Function(V)
+
+Then define the goal functional::
+
+ # Define goal functional (quantity of interest)
+ M = u*dx()
+
+Next we specify the error tolerance for when the refinement shall stop::
+
+ # Define error tolerance
+ tol = 1.e-5
+
+Now, we have specified the variational forms and can consider the
+solution of the variational problem. First, we define the
+:py:class:`LinearVariationalProblem
+<dolfin.cpp.fem.LinearVariationalProblem>` function with the arguments
+a, L, u and bc. Next we send this problem to the
+:py:class:`AdaptiveLinearVariationalSolver
+<dolfin.cpp.fem.AdaptiveLinearVariationalSolver>` together with the
+goal functional. Note that one may also choose several adaptations in
+the error control. At last we solve the problem with the defined
+tolerance::
+
+ # Solve equation a = L with respect to u and the given boundary
+ # conditions, such that the estimated error (measured in M) is less
+ # than tol
+ problem = LinearVariationalProblem(a, L, u, bc)
+ solver = AdaptiveLinearVariationalSolver(problem, M)
+ solver.parameters["error_control"]["dual_variational_solver"]["linear_solver"] = "cg"
+ solver.parameters["error_control"]["dual_variational_solver"]["symmetric"] = True
+ solver.solve(tol)
+
+ solver.summary()
+
+ # Plot solution(s)
+ plot(u.root_node(), title="Solution on initial mesh")
+ plot(u.leaf_node(), title="Solution on final mesh")
+ interactive()
diff --git a/demo/documented/auto-adaptive-poisson/python/documentation.rst b/demo/documented/auto-adaptive-poisson/python/documentation.rst
deleted file mode 100644
index 53f8d42..0000000
--- a/demo/documented/auto-adaptive-poisson/python/documentation.rst
+++ /dev/null
@@ -1,152 +0,0 @@
-.. Documentation for the auto adaptive poisson demo from DOLFIN.
-
-.. _demo_pde_auto-adaptive-poisson_python_documentation:
-
-
-Auto adaptive Poisson equation
-==============================
-
-This demo is implemented in a single Python file,
-:download:`demo_auto-adaptive-poisson.py`, which contains both the
-variational forms and the solver.
-
-.. include:: ../common.txt
-
-Implementation
---------------
-
-This description goes through the implementation (in
-:download:`demo_auto-adaptive-poisson.py`) of a solver for the above
-described Poisson equation step-by-step.
-
-First, the dolfin module is imported:
-
-.. code-block:: python
-
- from dolfin import *
-
-We begin by defining a mesh of the domain and a finite element
-function space V relative to this mesh. We used the built-in mesh
-provided by the class :py:class:`UnitSquareMesh
-<dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
-consisting of 8 x 8 squares with each square divided into two
-triangles, we do as follows:
-
-
-.. code-block:: python
-
- # Create mesh and define function space
- mesh = UnitSquareMesh(8, 8)
- V = FunctionSpace(mesh, "Lagrange", 1)
-
-The second argument to :py:class:`FunctionSpace
-<dolfin.cpp.function.FunctionSpace>`, "Lagrange", is the finite
-element family, while the third argument specifies the polynomial
-degree. Thus, in this case, our space V consists of first-order,
-continuous Lagrange finite element functions (or in order words,
-continuous piecewise linear polynomials).
-
-Next, we want to consider the Dirichlet boundary condition. In our
-case, we want to say that the points (x, y) such that x = 0 or x = 1
-are inside on the inside of :math:`\Gamma_D`. (Note that because of
-rounding-off errors, it is often wise to instead specify :math:`x <
-\epsilon` or :math:`x > 1 - \epsilon` where :math:`\epsilon` is a
-small number (such as machine precision).)
-
-
-.. code-block:: python
-
- # Define boundary condition
- u0 = Function(V)
- bc = DirichletBC(V, u0, "x[0] < DOLFIN_EPS || x[0] > 1.0 - DOLFIN_EPS")
-
-Next, we want to express the variational problem. First, we need to
-specify the trial function u and the test function v, both living in
-the function space V. We do this by defining a
-:py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
-and a :py:class:`TestFunction
-<dolfin.functions.function.TestFunction>` on the previously defined
-:py:class:`FunctionSpace <dolfin.cpp.function.FunctionSpace>` V.
-
-Further, the source f and the boundary normal derivative g are
-involved in the variational forms, and hence we must specify
-these. Both f and g are given by simple mathematical formulas, and can
-be easily declared using the :py:class:`Expression
-<dolfin.cpp.function.Expression>` class. Note that the strings
-defining f and g use C++ syntax since, for efficiency, DOLFIN will
-generate and compile C++ code for these expressions at run-time.
-
-With these ingredients, we can write down the bilinear form a and the
-linear form L (using UFL operators). In summary, this reads
-
-.. code-block:: python
-
- # Define variational problem
- u = TrialFunction(V)
- v = TestFunction(V)
- f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)",
- degree=1)
- g = Expression("sin(5*x[0])", degree=1)
- a = inner(grad(u), grad(v))*dx()
- L = f*v*dx() + g*v*ds()
-
-Now, we have specified the variational forms and can consider the
-solution of the variational problem. First, we need to define a
-:py:class:`Function <dolfin.cpp.function.Function>` u to represent the
-solution. (Upon initialization, it is simply set to the zero
-function.) A Function represents a function living in a finite element
-function space.
-
-.. code-block:: python
-
- # Define function for the solution
- u = Function(V)
-
-Then define the goal functional:
-
-.. code-block:: python
-
- # Define goal functional (quantity of interest)
- M = u*dx()
-
-Next we specify the error tolerance for when the refinement shall stop:
-
-.. code-block:: python
-
- # Define error tolerance
- tol = 1.e-5
-
-Now, we have specified the variational forms and can consider the
-solution of the variational problem. First, we define the
-:py:class:`LinearVariationalProblem
-<dolfin.cpp.fem.LinearVariationalProblem>` function with the arguments
-a, L, u and bc. Next we send this problem to the
-:py:class:`AdaptiveLinearVariationalSolver
-<dolfin.cpp.fem.AdaptiveLinearVariationalSolver>` together with the
-goal functional. Note that one may also choose several adaptations in
-the error control. At last we solve the problem with the defined
-tolerance:
-
-.. code-block:: python
-
- # Solve equation a = L with respect to u and the given boundary
- # conditions, such that the estimated error (measured in M) is less
- # than tol
- problem = LinearVariationalProblem(a, L, u, bc)
- solver = AdaptiveLinearVariationalSolver(problem, M)
- solver.parameters["error_control"]["dual_variational_solver"]["linear_solver"] = "cg"
- solver.parameters["error_control"]["dual_variational_solver"]["symmetric"] = True
- solver.solve(tol)
-
- solver.summary()
-
- # Plot solution(s)
- plot(u.root_node(), title="Solution on initial mesh")
- plot(u.leaf_node(), title="Solution on final mesh")
- interactive()
-
-Complete code
--------------
-
-.. literalinclude:: demo_auto-adaptive-poisson.py
- :start-after: # Begin demo
diff --git a/demo/documented/bcs/cpp/CMakeLists.txt b/demo/documented/bcs/cpp/CMakeLists.txt
index 6866a7a..1ef2373 100644
--- a/demo/documented/bcs/cpp/CMakeLists.txt
+++ b/demo/documented/bcs/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_bcs)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/bcs/cpp/Poisson.h b/demo/documented/bcs/cpp/Poisson.h
index cae5e0a..360bdea 100644
--- a/demo/documented/bcs/cpp/Poisson.h
+++ b/demo/documented/bcs/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4271,6 +4240,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4380,6 +4378,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4497,6 +4645,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4650,6 +4827,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4713,6 +5104,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 27
// Number of operations (multiply-add pairs) for tensor contraction: 28
@@ -4788,6 +5194,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 4
// Number of operations (multiply-add pairs) for tensor contraction: 14
@@ -5518,10 +5939,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5684,10 +6105,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5703,10 +6124,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/bcs/cpp/compile.log b/demo/documented/bcs/cpp/compile.log
deleted file mode 100644
index eba68ec..0000000
--- a/demo/documented/bcs/cpp/compile.log
+++ /dev/null
@@ -1,257 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.106745 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000975 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 16 entries computed in 0.000903 seconds
- Shape of reference tensor: (4, 4)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.013721 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000275135 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.301978 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000897169 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000922918 seconds.
-
-FFC finished in 0.425078 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/documented/biharmonic/common.txt b/demo/documented/biharmonic/common.txt
deleted file mode 100644
index 857403f..0000000
--- a/demo/documented/biharmonic/common.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-
-This demo illustrates how to:
-
-* Solve a linear partial differential equation
-* Use a discontinuous Galerkin method
-* Solve a fourth-order differential equation
-
-The solution for :math:`u` in this demo will look as follows:
-
-.. image:: ../biharmonic_u.png
- :scale: 75 %
-
-Equation and problem definition
--------------------------------
-
-The biharmonic equation is a fourth-order elliptic equation. On the
-domain :math:`\Omega \subset \mathbb{R}^{d}`, :math:`1 \le d \le 3`,
-it reads
-
-.. math::
- \nabla^{4} u = f \quad {\rm in} \ \Omega,
-
-where :math:`\nabla^{4} \equiv \nabla^{2} \nabla^{2}` is the
-biharmonic operator and :math:`f` is a prescribed source term. To
-formulate a complete boundary value problem, the biharmonic equation
-must be complemented by suitable boundary conditions.
-
-Multiplying the biharmonic equation by a test function and integrating
-by parts twice leads to a problem second-order derivatives, which
-would requires :math:`H^{2}` conforming (roughly :math:`C^{1}`
-continuous) basis functions. To solve the biharmonic equation using
-Lagrange finite element basis functions, the biharmonic equation can
-be split into two second-order equations (see the Mixed Poisson demo
-for a mixed method for the Poisson equation), or a variational
-formulation can be constructed that imposes weak continuity of normal
-derivatives between finite element cells. The demo uses a
-discontinuous Galerkin approach to impose continuity of the normal
-derivative weakly.
-
-Consider a triangulation :math:`\mathcal{T}` of the domain
-:math:`\Omega`, where the set of interior facets is denoted by
-:math:`\mathcal{E}_h^{\rm int}`. Functions evaluated on opposite sides of a facet are
-indicated by the subscripts ':math:`+`' and ':math:`-`'. Using the
-standard continuous Lagrange finite element space
-
-.. math::
- V = \left\{v \in H^{1}_{0}(\Omega)\,:\, v \in P_{k}(K) \ \forall \ K \in \mathcal{T} \right\}
-
-and considering the boundary conditions
-
-.. math::
- u &= 0 \quad {\rm on} \ \partial\Omega \\
- \nabla^{2} u &= 0 \quad {\rm on} \ \partial\Omega
-
-a weak formulation of the biharmonic problem reads: find :math:`u \in V` such
-that
-
-.. math::
- a(u,v)=L(v) \quad \forall \ v \in V,
-
-where the bilinear form is
-
-.. math::
- a(u, v) = \sum_{K \in \mathcal{T}} \int_{K} \nabla^{2} u \nabla^{2} v \, {\rm d}x \
- +\sum_{E \in \mathcal{E}_h^{\rm int}}\left(\int_{E} \frac{\alpha}{h_E} [\!\![ \nabla u ]\!\!] [\!\![ \nabla v ]\!\!] \, {\rm d}s
- - \int_{E} \left<\nabla^{2} u \right>[\!\![ \nabla v ]\!\!] \, {\rm d}s
- - \int_{E} [\!\![ \nabla u ]\!\!] \left<\nabla^{2} v \right> \, {\rm d}s\right)
-
-and the linear form is
-
-.. math::
- L(v) = \int_{\Omega} fv \, {\rm d}x
-
-Furthermore, :math:`\left< u \right> = \frac{1}{2} (u_{+} + u_{-})`, :math:`[\!\![
-w ]\!\!] = w_{+} \cdot n_{+} + w_{-} \cdot n_{-}`, :math:`\alpha \ge
-0` is a penalty parameter and :math:`h_E` is a measure of the cell size.
-
-The input parameters for this demo are defined as follows:
-
-* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
-* :math:`\alpha = 8.0` (penalty parameter)
-* :math:`f = 4.0 \pi^4\sin(\pi x)\sin(\pi y)` (source term)
diff --git a/demo/documented/biharmonic/cpp/Biharmonic.h b/demo/documented/biharmonic/cpp/Biharmonic.h
deleted file mode 100644
index 6df143e..0000000
--- a/demo/documented/biharmonic/cpp/Biharmonic.h
+++ /dev/null
@@ -1,9331 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __BIHARMONIC_H
-#define __BIHARMONIC_H
-#include <stdexcept>
-#include <ufc.h>
-
-class biharmonic_finite_element_0: public ufc::finite_element
-{
-public:
-
- biharmonic_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~biharmonic_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new biharmonic_finite_element_0();
- }
-
-};
-
-
-class biharmonic_finite_element_1: public ufc::finite_element
-{
-public:
-
- biharmonic_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~biharmonic_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_finite_element_0();
- break;
- }
- case 1:
- {
- return new biharmonic_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new biharmonic_finite_element_1();
- }
-
-};
-
-
-class biharmonic_finite_element_2: public ufc::finite_element
-{
-public:
-
- biharmonic_finite_element_2() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~biharmonic_finite_element_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Real', triangle, 0)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 1;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 0;
- }
-
- const char * family() const final override
- {
- return "Real";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
-
- // Get coordinates and map to the reference (FIAT) element
-
- // Reset values
- *values = 0.0;
-
- // Array of basisvalues
- double basisvalues[1] = {0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
-
- // Table(s) of coefficients
- static const double coefficients0[1] = \
- {1.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 1; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis.
- _evaluate_basis(0, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 0)
- {
- return ;
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis_derivatives.
- _evaluate_basis_derivatives(0, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[0];
- vertex_values[2] = dof_values[0];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new biharmonic_finite_element_2();
- }
-
-};
-
-
-class biharmonic_finite_element_3: public ufc::finite_element
-{
-public:
-
- biharmonic_finite_element_3() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~biharmonic_finite_element_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 2;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[4][2];
- for (unsigned int row = 0; row < 4; row++)
- {
- for (unsigned int col = 0; col < 2; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[4][4];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, 0.0, 0.2, 0.0, 0.0, 0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.23094010767585, 0.133333333333333, 0.0, 0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.471404520791032, 0.0, -0.266666666666667, -0.243432247780074, 0.0, 0.0544331053951817};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 5:
- {
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- dof_coordinates[7] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- dof_coordinates[8] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- dof_coordinates[9] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- dof_coordinates[10] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- dof_coordinates[11] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new biharmonic_finite_element_3();
- }
-
-};
-
-
-class biharmonic_dofmap_0: public ufc::dofmap
-{
-public:
-
- biharmonic_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~biharmonic_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new biharmonic_dofmap_0();
- }
-
-};
-
-
-class biharmonic_dofmap_1: public ufc::dofmap
-{
-public:
-
- biharmonic_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~biharmonic_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_dofmap_0();
- break;
- }
- case 1:
- {
- return new biharmonic_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new biharmonic_dofmap_1();
- }
-
-};
-
-
-class biharmonic_dofmap_2: public ufc::dofmap
-{
-public:
-
- biharmonic_dofmap_2() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~biharmonic_dofmap_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Real', triangle, 0)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 1;
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = 0;
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new biharmonic_dofmap_2();
- }
-
-};
-
-
-class biharmonic_dofmap_3: public ufc::dofmap
-{
-public:
-
- biharmonic_dofmap_3() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~biharmonic_dofmap_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0] + num_global_entities[1];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 1;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[1][0];
- dofs[4] = offset + entity_indices[1][1];
- dofs[5] = offset + entity_indices[1][2];
- offset += num_global_entities[1];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 5;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 5;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new biharmonic_dofmap_3();
- }
-
-};
-
-
-class biharmonic_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- biharmonic_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~biharmonic_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W1 = 0.5;
- // Quadrature points on the UFC reference element: (0.333333333333333, 0.333333333333333)
-
- // Values of basis functions at quadrature points.
- static const double FE0_D02[1][3] = \
- {{4, 4.0, -8.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[3] = {0, 2, 4};
-
- // Array of non-zero columns
- static const unsigned int nzc4[3] = {0, 1, 5};
-
- static const double FE0_D11[1][4] = \
- {{4, 3.99999999999999, -3.99999999999999, -4.00000000000001}};
-
- // Array of non-zero columns
- static const unsigned int nzc3[4] = {0, 3, 4, 5};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 36; r++)
- {
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 81.
- double G[6];
- G[0] = W1*det*(K[2]*K[2]*K[2]*K[2] + K[3]*K[3]*(2.0*K[2]*K[2] + K[3]*K[3]));
- G[1] = W1*det*(K[2]*K[2]*(K[0]*K[0] + K[1]*K[1]) + K[3]*K[3]*(K[0]*K[0] + K[1]*K[1]));
- G[2] = W1*det*(K[0]*K[0]*K[0]*K[0] + K[1]*K[1]*(2.0*K[0]*K[0] + K[1]*K[1]));
- G[3] = 2.0*W1*det*(K[0]*K[2]*K[2]*K[2] + K[3]*(K[1]*K[2]*K[2] + K[3]*(K[0]*K[2] + K[1]*K[3])));
- G[4] = 2.0*W1*det*(K[0]*K[0]*K[0]*K[2] + K[1]*(K[0]*K[1]*K[2] + K[3]*(K[0]*K[0] + K[1]*K[1])));
- G[5] = W1*det*(4.0*K[0]*K[0]*K[2]*K[2] + K[1]*K[3]*(4.0*K[1]*K[3] + 8.0*K[0]*K[2]));
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 300
- for (unsigned int ip = 0; ip < 1; ip++)
- {
-
- // Number of operations for primary indices: 108
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc1[j]*6 + nzc1[k]] += FE0_D02[0][j]*FE0_D02[0][k]*G[0];
- // Number of operations to compute entry: 3
- A[nzc1[j]*6 + nzc4[k]] += FE0_D02[0][j]*FE0_D02[0][k]*G[1];
- // Number of operations to compute entry: 3
- A[nzc4[j]*6 + nzc1[k]] += FE0_D02[0][j]*FE0_D02[0][k]*G[1];
- // Number of operations to compute entry: 3
- A[nzc4[j]*6 + nzc4[k]] += FE0_D02[0][j]*FE0_D02[0][k]*G[2];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc1[j]*6 + nzc3[k]] += FE0_D02[0][j]*FE0_D11[0][k]*G[3];
- // Number of operations to compute entry: 3
- A[nzc4[j]*6 + nzc3[k]] += FE0_D02[0][j]*FE0_D11[0][k]*G[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc3[j]*6 + nzc1[k]] += FE0_D02[0][k]*FE0_D11[0][j]*G[3];
- // Number of operations to compute entry: 3
- A[nzc3[j]*6 + nzc4[k]] += FE0_D02[0][k]*FE0_D11[0][j]*G[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 48
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc3[j]*6 + nzc3[k]] += FE0_D11[0][j]*FE0_D11[0][k]*G[5];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- }
-
-};
-
-
-class biharmonic_interior_facet_integral_0_otherwise: public ufc::interior_facet_integral
-{
-public:
-
- biharmonic_interior_facet_integral_0_otherwise() : ufc::interior_facet_integral()
- {
-
- }
-
- ~biharmonic_interior_facet_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs_0,
- const double * coordinate_dofs_1,
- std::size_t facet_0,
- std::size_t facet_1,
- int cell_orientation_0,
- int cell_orientation_1) const final override
- {
- // Compute Jacobian
- double J_0[4];
- compute_jacobian_triangle_2d(J_0, coordinate_dofs_0);
-
- // Compute Jacobian inverse and determinant
- double K_0[4];
- double detJ_0;
- compute_jacobian_inverse_triangle_2d(K_0, detJ_0, J_0);
-
- // Compute Jacobian
- double J_1[4];
- compute_jacobian_triangle_2d(J_1, coordinate_dofs_1);
-
- // Compute Jacobian inverse and determinant
- double K_1[4];
- double detJ_1;
- compute_jacobian_inverse_triangle_2d(K_1, detJ_1, J_1);
-
-
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet_0][0];
- const unsigned int v1 = edge_vertices[facet_0][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs_0[2*v1 + 0] - coordinate_dofs_0[2*v0 + 0];
- const double dx1 = coordinate_dofs_0[2*v1 + 1] - coordinate_dofs_0[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- const bool direction = dx1*(coordinate_dofs_0[2*facet_0] - coordinate_dofs_0[2*v0]) - dx0*(coordinate_dofs_0[2*facet_0 + 1] - coordinate_dofs_0[2*v0 + 1]) < 0;
- // Compute facet normals from the facet scale factor constants
- const double n_00 = direction ? dx1 / det : -dx1 / det;
- const double n_01 = direction ? -dx0 / det : dx0 / det;// Compute facet normals from the facet scale factor constants
-
- // Facet area
-
- // Compute cell volume
- const double volume_0 = std::abs(detJ_0)/2.0;
- // Compute cell volume
- const double volume_1 = std::abs(detJ_1)/2.0;
-
-
- // Compute circumradius of triangle in 2D
- const double v1v2_0 = std::sqrt((coordinate_dofs_0[4] - coordinate_dofs_0[2])*(coordinate_dofs_0[4] - coordinate_dofs_0[2]) + (coordinate_dofs_0[5] - coordinate_dofs_0[3])*(coordinate_dofs_0[5] - coordinate_dofs_0[3]) );
- const double v0v2_0 = std::sqrt(J_0[3]*J_0[3] + J_0[1]*J_0[1]);
- const double v0v1_0 = std::sqrt(J_0[0]*J_0[0] + J_0[2]*J_0[2]);
- const double circumradius_0 = 0.25*(v1v2_0*v0v2_0*v0v1_0)/(volume_0);
- // Compute circumradius of triangle in 2D
- const double v1v2_1 = std::sqrt((coordinate_dofs_1[4] - coordinate_dofs_1[2])*(coordinate_dofs_1[4] - coordinate_dofs_1[2]) + (coordinate_dofs_1[5] - coordinate_dofs_1[3])*(coordinate_dofs_1[5] - coordinate_dofs_1[3]) );
- const double v0v2_1 = std::sqrt(J_1[3]*J_1[3] + J_1[1]*J_1[1]);
- const double v0v1_1 = std::sqrt(J_1[0]*J_1[0] + J_1[2]*J_1[2]);
- const double circumradius_1 = 0.25*(v1v2_1*v0v2_1*v0v1_1)/(volume_1);
-
-
- // Array of quadrature weights.
- static const double W2[2] = {0.5, 0.5};
- // Quadrature points on the UFC reference element: (0.211324865405187), (0.788675134594813)
-
- // Values of basis functions at quadrature points.
- static const double FE0_f0_D01[2][5] = \
- {{0.999999999999996, -0.15470053837925, 3.15470053837924, -0.845299461620738, -3.15470053837925},
- {0.999999999999996, 2.15470053837925, 0.845299461620733, -3.15470053837924, -0.845299461620747}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[5] = {0, 2, 3, 4, 5};
-
- static const double FE0_f0_D02[2][3] = \
- {{4.0, 4, -8},
- {4.0, 4, -7.99999999999999}};
-
- // Array of non-zero columns
- static const unsigned int nzc2[3] = {0, 2, 4};
-
- // Array of non-zero columns
- static const unsigned int nzc5[3] = {0, 1, 5};
-
- // Array of non-zero columns
- static const unsigned int nzc9[3] = {0, 1, 5};
-
- static const double FE0_f0_D10[2][5] = \
- {{1, 2.15470053837925, 0.845299461620747, -0.845299461620747, -3.15470053837925},
- {1.0, -0.154700538379251, 3.15470053837925, -3.15470053837925, -0.84529946162075}};
-
- // Array of non-zero columns
- static const unsigned int nzc3[5] = {0, 1, 3, 4, 5};
-
- static const double FE0_f0_D11[2][4] = \
- {{4.0, 3.99999999999999, -3.99999999999999, -4.00000000000001},
- {4, 3.99999999999999, -3.99999999999999, -4.00000000000001}};
-
- // Array of non-zero columns
- static const unsigned int nzc4[4] = {0, 3, 4, 5};
-
- static const double FE0_f1_D01[2][4] = \
- {{-2.15470053837926, -0.15470053837925, -1.06581410364015e-14, 2.30940107675851},
- {0.154700538379246, 2.15470053837925, -1.55431223447522e-14, -2.30940107675849}};
-
- // Array of non-zero columns
- static const unsigned int nzc7[4] = {0, 2, 3, 4};
-
- static const double FE0_f1_D10[2][5] = \
- {{-2.15470053837925, -1, 0.845299461620747, -0.845299461620747, 3.15470053837926},
- {0.154700538379251, -1, 3.15470053837925, -3.15470053837925, 0.84529946162075}};
-
- // Array of non-zero columns
- static const unsigned int nzc8[5] = {0, 1, 3, 4, 5};
-
- static const double FE0_f2_D01[2][5] = \
- {{-2.15470053837926, -1.0, 0.845299461620739, 3.15470053837926, -0.845299461620748},
- {0.154700538379247, -1.0, 3.15470053837924, 0.845299461620759, -3.15470053837925}};
-
- // Array of non-zero columns
- static const unsigned int nzc11[5] = {0, 2, 3, 4, 5};
-
- static const double FE0_f2_D10[2][3] = \
- {{-2.15470053837925, -0.154700538379254, 2.3094010767585},
- {0.154700538379253, 2.15470053837925, -2.3094010767585}};
-
- // Array of non-zero columns
- static const unsigned int nzc12[3] = {0, 1, 5};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 144; r++)
- {
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 464.
- double G[34];
- G[0] = 0.5*det*(K_1[2]*K_1[2]*K_1[2]*n_00 + K_1[3]*(K_1[2]*K_1[3]*n_00 + n_01*(K_1[2]*K_1[2] + K_1[3]*K_1[3])));
- G[1] = 0.5*det*(K_1[2]*K_1[2]*(K_1[0]*n_00 + K_1[1]*n_01) + K_1[3]*K_1[3]*(K_1[0]*n_00 + K_1[1]*n_01));
- G[2] = -0.5*det*(K_1[2]*K_1[2]*(K_0[2]*n_00 + K_0[3]*n_01) + K_1[3]*K_1[3]*(K_0[2]*n_00 + K_0[3]*n_01));
- G[3] = -0.5*det*(K_1[2]*K_1[2]*(K_0[0]*n_00 + K_0[1]*n_01) + K_1[3]*K_1[3]*(K_0[0]*n_00 + K_0[1]*n_01));
- G[4] = 0.5*det*(K_1[2]*n_00*(K_1[0]*K_1[0] + K_1[1]*K_1[1]) + K_1[3]*n_01*(K_1[0]*K_1[0] + K_1[1]*K_1[1]));
- G[5] = 0.5*det*(K_1[0]*K_1[0]*K_1[0]*n_00 + K_1[1]*(K_1[0]*K_1[1]*n_00 + n_01*(K_1[0]*K_1[0] + K_1[1]*K_1[1])));
- G[6] = -0.5*det*(K_1[0]*K_1[0]*(K_0[2]*n_00 + K_0[3]*n_01) + K_1[1]*K_1[1]*(K_0[2]*n_00 + K_0[3]*n_01));
- G[7] = -0.5*det*(K_1[0]*K_1[0]*(K_0[0]*n_00 + K_0[1]*n_01) + K_1[1]*K_1[1]*(K_0[0]*n_00 + K_0[1]*n_01));
- G[8] = 0.5*det*(K_1[2]*n_00*(K_0[2]*K_0[2] + K_0[3]*K_0[3]) + K_1[3]*n_01*(K_0[2]*K_0[2] + K_0[3]*K_0[3]));
- G[9] = 0.5*det*(K_1[0]*n_00*(K_0[2]*K_0[2] + K_0[3]*K_0[3]) + K_1[1]*n_01*(K_0[2]*K_0[2] + K_0[3]*K_0[3]));
- G[10] = -0.5*det*(K_0[2]*K_0[2]*K_0[2]*n_00 + K_0[3]*(K_0[2]*K_0[3]*n_00 + n_01*(K_0[2]*K_0[2] + K_0[3]*K_0[3])));
- G[11] = -0.5*det*(K_0[2]*K_0[2]*(K_0[0]*n_00 + K_0[1]*n_01) + K_0[3]*K_0[3]*(K_0[0]*n_00 + K_0[1]*n_01));
- G[12] = 0.5*det*(K_1[2]*n_00*(K_0[0]*K_0[0] + K_0[1]*K_0[1]) + K_1[3]*n_01*(K_0[0]*K_0[0] + K_0[1]*K_0[1]));
- G[13] = 0.5*det*(K_1[0]*n_00*(K_0[0]*K_0[0] + K_0[1]*K_0[1]) + K_1[1]*n_01*(K_0[0]*K_0[0] + K_0[1]*K_0[1]));
- G[14] = -0.5*det*(K_0[2]*n_00*(K_0[0]*K_0[0] + K_0[1]*K_0[1]) + K_0[3]*n_01*(K_0[0]*K_0[0] + K_0[1]*K_0[1]));
- G[15] = -0.5*det*(K_0[0]*K_0[0]*K_0[0]*n_00 + K_0[1]*(K_0[0]*K_0[1]*n_00 + n_01*(K_0[0]*K_0[0] + K_0[1]*K_0[1])));
- G[16] = det*(K_1[0]*K_1[2]*K_1[2]*n_00 + K_1[3]*(K_1[1]*K_1[2]*n_00 + n_01*(K_1[0]*K_1[2] + K_1[1]*K_1[3])));
- G[17] = det*(K_1[0]*K_1[0]*K_1[2]*n_00 + K_1[1]*(K_1[0]*K_1[3]*n_00 + n_01*(K_1[0]*K_1[2] + K_1[1]*K_1[3])));
- G[18] = - det*(K_1[0]*K_1[2]*(K_0[2]*n_00 + K_0[3]*n_01) + K_1[1]*K_1[3]*(K_0[2]*n_00 + K_0[3]*n_01));
- G[19] = - det*(K_1[0]*K_1[2]*(K_0[0]*n_00 + K_0[1]*n_01) + K_1[1]*K_1[3]*(K_0[0]*n_00 + K_0[1]*n_01));
- G[20] = det*(K_1[2]*n_00*(K_0[0]*K_0[2] + K_0[1]*K_0[3]) + K_1[3]*n_01*(K_0[0]*K_0[2] + K_0[1]*K_0[3]));
- G[21] = det*(K_1[0]*n_00*(K_0[0]*K_0[2] + K_0[1]*K_0[3]) + K_1[1]*n_01*(K_0[0]*K_0[2] + K_0[1]*K_0[3]));
- G[22] = - det*(K_0[0]*K_0[2]*K_0[2]*n_00 + K_0[3]*(K_0[1]*K_0[2]*n_00 + n_01*(K_0[0]*K_0[2] + K_0[1]*K_0[3])));
- G[23] = - det*(K_0[0]*K_0[0]*K_0[2]*n_00 + K_0[1]*(K_0[0]*K_0[3]*n_00 + n_01*(K_0[0]*K_0[2] + K_0[1]*K_0[3])));
- G[24] = det*w[0][0]*(K_1[2]*K_1[2]*n_00*n_00 + K_1[3]*n_01*(2.0*K_1[2]*n_00 + K_1[3]*n_01))/(circumradius_0 + circumradius_1);
- G[25] = det*w[0][0]*(K_1[0]*K_1[2]*n_00*n_00 + n_01*(K_1[1]*K_1[3]*n_01 + n_00*(K_1[0]*K_1[3] + K_1[1]*K_1[2])))/(circumradius_0 + circumradius_1);
- G[26] = - det*w[0][0]*(K_0[2]*K_1[2]*n_00*n_00 + n_01*(K_0[3]*K_1[3]*n_01 + n_00*(K_0[2]*K_1[3] + K_0[3]*K_1[2])))/(circumradius_0 + circumradius_1);
- G[27] = - det*w[0][0]*(K_0[0]*K_1[2]*n_00*n_00 + n_01*(K_0[1]*K_1[3]*n_01 + n_00*(K_0[0]*K_1[3] + K_0[1]*K_1[2])))/(circumradius_0 + circumradius_1);
- G[28] = det*w[0][0]*(K_1[0]*K_1[0]*n_00*n_00 + K_1[1]*n_01*(2.0*K_1[0]*n_00 + K_1[1]*n_01))/(circumradius_0 + circumradius_1);
- G[29] = - det*w[0][0]*(K_0[2]*K_1[0]*n_00*n_00 + n_01*(K_0[3]*K_1[1]*n_01 + n_00*(K_0[2]*K_1[1] + K_0[3]*K_1[0])))/(circumradius_0 + circumradius_1);
- G[30] = - det*w[0][0]*(K_0[0]*K_1[0]*n_00*n_00 + n_01*(K_0[1]*K_1[1]*n_01 + n_00*(K_0[0]*K_1[1] + K_0[1]*K_1[0])))/(circumradius_0 + circumradius_1);
- G[31] = det*w[0][0]*(K_0[2]*K_0[2]*n_00*n_00 + K_0[3]*n_01*(2.0*K_0[2]*n_00 + K_0[3]*n_01))/(circumradius_0 + circumradius_1);
- G[32] = det*w[0][0]*(K_0[0]*K_0[2]*n_00*n_00 + n_01*(K_0[1]*K_0[3]*n_01 + n_00*(K_0[0]*K_0[3] + K_0[1]*K_0[2])))/(circumradius_0 + circumradius_1);
- G[33] = det*w[0][0]*(K_0[0]*K_0[0]*n_00*n_00 + K_0[1]*n_01*(2.0*K_0[0]*n_00 + K_0[1]*n_01))/(circumradius_0 + circumradius_1);
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
- switch (facet_0)
- {
- case 0:
- {
- switch (facet_1)
- {
- case 0:
- {
- // Total number of operations to compute element tensor (from this point): 7268
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 7268
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 720
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 480
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[21];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[23];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 720
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc5[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc5[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc5[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 480
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[21];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[23];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 1200
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc3[k]] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc3[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc1[k]] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc3[k]] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[27];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc3[k]] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 1:
- {
- // Total number of operations to compute element tensor (from this point): 6794
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 6794
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[3];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[3];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[18];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[21];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f1_D01[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f1_D01[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc9[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc5[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc7[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f1_D01[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[21];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc7[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f1_D01[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f1_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f1_D10[ip][j]*I[30];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc8[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f1_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc1[k]] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc3[k]] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc8[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f1_D10[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc3[k]] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 2:
- {
- // Total number of operations to compute element tensor (from this point): 6332
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 6332
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 243
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[6];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f2_D10[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f2_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[15];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc3[k]] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[6];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc12[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f2_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc5[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc5[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc12[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f2_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[15];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f2_D01[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc3[k]] += FE0_f0_D10[ip][k]*FE0_f2_D01[ip][j]*I[30];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + (nzc11[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f2_D01[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc1[k]] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[nzc1[j]*12 + nzc3[k]] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + (nzc11[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f2_D01[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc1[k]] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc3[j]*12 + nzc3[k]] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- switch (facet_1)
- {
- case 0:
- {
- // Total number of operations to compute element tensor (from this point): 6794
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 6794
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[3];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[3];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc7[k]] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[18];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[21];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f1_D01[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f1_D01[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc8[k]] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc9[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc7[k]] += FE0_f0_D01[ip][j]*FE0_f1_D01[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc7[k]] += FE0_f0_D10[ip][j]*FE0_f1_D01[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[21];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc8[k]] += FE0_f0_D01[ip][j]*FE0_f1_D10[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc8[k]] += FE0_f0_D10[ip][j]*FE0_f1_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f1_D10[ip][j]*I[30];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f1_D10[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc8[k]] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 1:
- {
- // Total number of operations to compute element tensor (from this point): 6332
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 6332
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 288
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[7];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 288
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[7];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 576
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc7[k]] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[21];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[21];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc7[k]] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[22];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 480
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc8[k]] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[27];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc8[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc8[k]] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[15];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 480
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[28];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 300
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc8[k]] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc8[k]] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 2:
- {
- // Total number of operations to compute element tensor (from this point): 5882
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 5882
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[31]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[33]*W2[ip];
-
-
- // Number of operations for primary indices: 243
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 252
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f2_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc7[k]] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[11];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 450
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc8[k]] += FE0_f1_D10[ip][k]*FE0_f2_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[15];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc9[j]*12 + nzc8[k]] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 252
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc12[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f2_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[11];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc7[k]] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc7[k]] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[24];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[27];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc8[k]] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + (nzc11[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f2_D01[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc7[j]*12 + nzc8[k]] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 450
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc12[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f2_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[15];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc9[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f2_D01[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[28];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc7[k]] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 300
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc8[k]] += FE0_f1_D10[ip][k]*FE0_f2_D01[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + (nzc11[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f2_D01[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc8[j]*12 + nzc8[k]] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- switch (facet_1)
- {
- case 0:
- {
- // Total number of operations to compute element tensor (from this point): 6332
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 6332
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[33]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[31]*W2[ip];
-
-
- // Number of operations for primary indices: 243
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc12[k]] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[6];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f2_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f2_D10[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc11[k]] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[15];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D02[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc3[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f0_D10[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 72
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[6];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D11[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f0_D11[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc12[k]] += FE0_f0_D01[ip][j]*FE0_f2_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc2[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc5[k]] += FE0_f0_D01[ip][j]*FE0_f0_D02[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc12[k]] += FE0_f0_D10[ip][j]*FE0_f2_D10[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f0_D10[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc12[k]] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[15];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc4[k]] += FE0_f0_D01[ip][j]*FE0_f0_D11[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc4[k]] += FE0_f0_D10[ip][j]*FE0_f0_D11[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[27];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 675
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D01[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D01[ip][j]*FE0_f0_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc1[j] + 6)*12 + nzc11[k]] += FE0_f0_D01[ip][j]*FE0_f2_D01[ip][k]*I[30];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f0_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][j]*FE0_f0_D10[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc3[j] + 6)*12 + nzc11[k]] += FE0_f0_D10[ip][j]*FE0_f2_D01[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc1[k] + 6)] += FE0_f0_D01[ip][k]*FE0_f2_D01[ip][j]*I[30];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc3[k] + 6)] += FE0_f0_D10[ip][k]*FE0_f2_D01[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc11[k]] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 1:
- {
- // Total number of operations to compute element tensor (from this point): 5882
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 5882
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[33]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[31]*W2[ip];
-
-
- // Number of operations for primary indices: 243
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[0];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc12[k]] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[3];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[4];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 252
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f2_D10[ip][j]*I[8];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc7[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D01[ip][k]*I[11];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 450
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc9[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[15];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][k]*FE0_f2_D10[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc11[k]] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc8[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f1_D10[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 252
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc12[k]] += FE0_f1_D01[ip][j]*FE0_f2_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f1_D01[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[9];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D01[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D01[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc7[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D01[ip][k]*I[24];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[26];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D01[ip][j]*FE0_f1_D10[ip][k]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc7[j] + 6)*12 + nzc11[k]] += FE0_f1_D01[ip][j]*FE0_f2_D01[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc8[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f1_D10[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 450
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[14];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc12[k]] += FE0_f1_D10[ip][j]*FE0_f2_D10[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f1_D10[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc9[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[15];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc12[k]] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[21];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 360
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f1_D10[ip][j]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f1_D10[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[26];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc7[k] + 6)] += FE0_f1_D01[ip][k]*FE0_f2_D01[ip][j]*I[28];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 300
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][j]*FE0_f1_D10[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc8[j] + 6)*12 + nzc11[k]] += FE0_f1_D10[ip][j]*FE0_f2_D01[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc8[k] + 6)] += FE0_f1_D10[ip][k]*FE0_f2_D01[ip][j]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc11[k]] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- case 2:
- {
- // Total number of operations to compute element tensor (from this point): 5444
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 5444
- for (unsigned int ip = 0; ip < 2; ip++)
- {
-
- // Number of operations to compute ip constants: 34
- double I[34];
- // Number of operations: 1
- I[0] = G[28]*W2[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W2[ip];
-
- // Number of operations: 1
- I[2] = G[5]*W2[ip];
-
- // Number of operations: 1
- I[3] = G[30]*W2[ip];
-
- // Number of operations: 1
- I[4] = G[9]*W2[ip];
-
- // Number of operations: 1
- I[5] = G[13]*W2[ip];
-
- // Number of operations: 1
- I[6] = G[3]*W2[ip];
-
- // Number of operations: 1
- I[7] = G[7]*W2[ip];
-
- // Number of operations: 1
- I[8] = G[33]*W2[ip];
-
- // Number of operations: 1
- I[9] = G[11]*W2[ip];
-
- // Number of operations: 1
- I[10] = G[15]*W2[ip];
-
- // Number of operations: 1
- I[11] = G[17]*W2[ip];
-
- // Number of operations: 1
- I[12] = G[21]*W2[ip];
-
- // Number of operations: 1
- I[13] = G[19]*W2[ip];
-
- // Number of operations: 1
- I[14] = G[23]*W2[ip];
-
- // Number of operations: 1
- I[15] = G[25]*W2[ip];
-
- // Number of operations: 1
- I[16] = G[29]*W2[ip];
-
- // Number of operations: 1
- I[17] = G[0]*W2[ip];
-
- // Number of operations: 1
- I[18] = G[2]*W2[ip];
-
- // Number of operations: 1
- I[19] = G[4]*W2[ip];
-
- // Number of operations: 1
- I[20] = G[6]*W2[ip];
-
- // Number of operations: 1
- I[21] = G[27]*W2[ip];
-
- // Number of operations: 1
- I[22] = G[32]*W2[ip];
-
- // Number of operations: 1
- I[23] = G[8]*W2[ip];
-
- // Number of operations: 1
- I[24] = G[10]*W2[ip];
-
- // Number of operations: 1
- I[25] = G[12]*W2[ip];
-
- // Number of operations: 1
- I[26] = G[14]*W2[ip];
-
- // Number of operations: 1
- I[27] = G[16]*W2[ip];
-
- // Number of operations: 1
- I[28] = G[18]*W2[ip];
-
- // Number of operations: 1
- I[29] = G[20]*W2[ip];
-
- // Number of operations: 1
- I[30] = G[22]*W2[ip];
-
- // Number of operations: 1
- I[31] = G[24]*W2[ip];
-
- // Number of operations: 1
- I[32] = G[26]*W2[ip];
-
- // Number of operations: 1
- I[33] = G[31]*W2[ip];
-
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc12[k]] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[4];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[5];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc12[k] + 6)] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[6];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[7];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc12[k]] += FE0_f2_D10[ip][j]*FE0_f2_D10[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[9];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D10[ip][j]*I[10];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc12[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc12[k]] += FE0_f0_D02[ip][j]*FE0_f2_D10[ip][k]*I[10];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[12];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[13];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D10[ip][j]*I[14];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[15];
- // Number of operations to compute entry: 3
- A[(nzc12[j] + 6)*12 + nzc11[k]] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[16];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc2[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[18];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc5[j] + 6)*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[20];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[21];
- // Number of operations to compute entry: 3
- A[nzc12[j]*12 + nzc11[k]] += FE0_f2_D01[ip][k]*FE0_f2_D10[ip][j]*I[22];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[23];
- // Number of operations to compute entry: 3
- A[nzc2[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[24];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + (nzc11[k] + 6)] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[25];
- // Number of operations to compute entry: 3
- A[nzc5[j]*12 + nzc11[k]] += FE0_f0_D02[ip][j]*FE0_f2_D01[ip][k]*I[26];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[11];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc12[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc12[k]] += FE0_f0_D11[ip][j]*FE0_f2_D10[ip][k]*I[14];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc4[j] + 6)*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[28];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + (nzc11[k] + 6)] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[29];
- // Number of operations to compute entry: 3
- A[nzc4[j]*12 + nzc11[k]] += FE0_f0_D11[ip][j]*FE0_f2_D01[ip][k]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 540
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc12[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[15];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[17];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[19];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc12[k]] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[21];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[23];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[25];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc12[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[16];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc2[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[18];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc5[k] + 6)] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[20];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc12[k]] += FE0_f2_D01[ip][j]*FE0_f2_D10[ip][k]*I[22];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc2[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[24];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc5[k]] += FE0_f0_D02[ip][k]*FE0_f2_D01[ip][j]*I[26];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 240
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[27];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[29];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc4[k] + 6)] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[28];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc4[k]] += FE0_f0_D11[ip][k]*FE0_f2_D01[ip][j]*I[30];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 300
- for (unsigned int j = 0; j < 5; j++)
- {
- for (unsigned int k = 0; k < 5; k++)
- {
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[31];
- // Number of operations to compute entry: 3
- A[(nzc11[j] + 6)*12 + nzc11[k]] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + (nzc11[k] + 6)] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[32];
- // Number of operations to compute entry: 3
- A[nzc11[j]*12 + nzc11[k]] += FE0_f2_D01[ip][j]*FE0_f2_D01[ip][k]*I[33];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
- break;
- }
- }
-
- break;
- }
- }
-
- }
-
-};
-
-
-class biharmonic_cell_integral_1_otherwise: public ufc::cell_integral
-{
-public:
-
- biharmonic_cell_integral_1_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~biharmonic_cell_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 6
- // Number of operations (multiply-add pairs) for tensor contraction: 21
- // Total number of operations (multiply-add pairs): 30
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
- const double G0_3 = det*w[0][3]*(1.0);
- const double G0_4 = det*w[0][4]*(1.0);
- const double G0_5 = det*w[0][5]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
- A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
- A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
- A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
- }
-
-};
-
-
-class biharmonic_form_0: public ufc::form
-{
-public:
-
- biharmonic_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~biharmonic_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "9d0a970db85ef744ea93e9590448b141b75eeac86324b33f70e5924b5c9776b26a958402c5fa79ea5c09900db45f33740c9bb831e809aacf3e99523174f35417";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new biharmonic_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new biharmonic_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_finite_element_3();
- break;
- }
- case 1:
- {
- return new biharmonic_finite_element_3();
- break;
- }
- case 2:
- {
- return new biharmonic_finite_element_2();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_dofmap_3();
- break;
- }
- case 1:
- {
- return new biharmonic_dofmap_3();
- break;
- }
- case 2:
- {
- return new biharmonic_dofmap_2();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new biharmonic_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return new biharmonic_interior_facet_integral_0_otherwise();
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class biharmonic_form_1: public ufc::form
-{
-public:
-
- biharmonic_form_1() : ufc::form()
- {
- // Do nothing
- }
-
- ~biharmonic_form_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "9050c89a2c6705ec05da94c4d5c93d1d37302b91b6887ea41c8842c0fbd8b77d1bd95bd6274fd5b43b484e3d801496a90a286f3c61fe7a258147be1208ad6abe";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new biharmonic_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new biharmonic_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_finite_element_3();
- break;
- }
- case 1:
- {
- return new biharmonic_finite_element_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new biharmonic_dofmap_3();
- break;
- }
- case 1:
- {
- return new biharmonic_dofmap_3();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new biharmonic_cell_integral_1_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace Biharmonic
-{
-
-class CoefficientSpace_alpha: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_alpha(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_2>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_2>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_alpha(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_2>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_2>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace_f: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-typedef CoefficientSpace_alpha Form_a_FunctionSpace_2;
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 1), alpha(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const biharmonic_form_0>();
- }
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> alpha):
- dolfin::Form(2, 1), alpha(*this, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- this->alpha = alpha;
-
- _ufc_form = std::make_shared<const biharmonic_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "alpha")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "alpha";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
- typedef Form_a_FunctionSpace_2 CoefficientSpace_alpha;
-
- // Coefficients
- dolfin::CoefficientAssigner alpha;
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0), alpha(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> alpha):
- dolfin::MultiMeshForm(V1, V0), alpha(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
- this->alpha = alpha;
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "alpha")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "alpha";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
- typedef Form_a_FunctionSpace_2 CoefficientSpace_alpha;
-
- // Coefficients
- dolfin::MultiMeshCoefficientAssigner alpha;
-};
-
-class Form_L_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<biharmonic_finite_element_3>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<biharmonic_dofmap_3>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_L_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_L_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_L_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-typedef CoefficientSpace_f Form_L_FunctionSpace_1;
-
-class Form_L: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 1), f(*this, 0)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const biharmonic_form_1>();
- }
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f):
- dolfin::Form(1, 1), f(*this, 0)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
-
- _ufc_form = std::make_shared<const biharmonic_form_1>();
- }
-
- // Destructor
- ~Form_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
-};
-
-class MultiMeshForm_L: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V0), f(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f):
- dolfin::MultiMeshForm(V0), f(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
- this->f = f;
-
- }
-
- // Destructor
- ~MultiMeshForm_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
-
- // Coefficients
- dolfin::MultiMeshCoefficientAssigner f;
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_L LinearForm;
-typedef MultiMeshForm_L MultiMeshLinearForm;
-typedef Form_L ResidualForm;
-typedef MultiMeshForm_L MultiMeshResidualForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/demo/documented/biharmonic/cpp/Biharmonic.ufl b/demo/documented/biharmonic/cpp/Biharmonic.ufl
deleted file mode 100644
index a715575..0000000
--- a/demo/documented/biharmonic/cpp/Biharmonic.ufl
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (C) 2009 Kristian B. Oelgaard, Garth N. Wells and Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2009-06-26
-# Last changed: 2011-05-11
-#
-# The bilinear form a(u, v) and linear form L(v) for
-# Biharmonic equation in a discontinuous Galerkin (DG)
-# formulation.
-#
-# Compile this form with FFC: ffc -l dolfin Biharmonic.ufl
-
-# Elements
-element = FiniteElement("Lagrange", triangle, 2)
-
-# Trial and test functions
-u = TrialFunction(element)
-v = TestFunction(element)
-f = Coefficient(element)
-
-# Normal component, mesh size and right-hand side
-n = FacetNormal(triangle)
-h = 2.0*Circumradius(triangle)
-h_avg = (h('+') + h('-'))/2
-
-# Parameters
-alpha = Constant(triangle)
-
-# Bilinear form
-a = inner(div(grad(u)), div(grad(v)))*dx \
- - inner(avg(div(grad(u))), jump(grad(v), n))*dS \
- - inner(jump(grad(u), n), avg(div(grad(v))))*dS \
- + alpha/h_avg*inner(jump(grad(u), n), jump(grad(v),n))*dS
-
-# Linear form
-L = f*v*dx
diff --git a/demo/documented/biharmonic/cpp/Biharmonic.ufl.rst b/demo/documented/biharmonic/cpp/Biharmonic.ufl.rst
new file mode 100644
index 0000000..13b69d8
--- /dev/null
+++ b/demo/documented/biharmonic/cpp/Biharmonic.ufl.rst
@@ -0,0 +1,50 @@
+UFL input for the Biharmonic equation
+=====================================
+
+The finite element space is defined::
+
+ element = FiniteElement("Lagrange", triangle, 2)
+
+On the space ``element``, trial and test functions, and the source
+term are defined::
+
+ # Trial and test functions
+ u = TrialFunction(element)
+ v = TestFunction(element)
+ f = Coefficient(element)
+
+
+Next, the outward unit normal to cell boundaries and a measure of the
+cell size are defined. The average size of cells sharing a facet will
+be used (``h_avg``). The UFL syntax ``('+')`` and ``('-')`` restricts
+a function to the ``('+')`` and ``('-')`` sides of a facet,
+respectively. The penalty parameter ``alpha`` is made a
+:cpp:class:`Constant` so that it can be changed in the program without
+regenerating the code. ::
+
+ # Normal component, mesh size and right-hand side
+ n = FacetNormal(triangle)
+ h = 2.0*Circumradius(triangle)
+ h_avg = (h('+') + h('-'))/2
+
+ # Parameters
+ alpha = Constant(triangle)
+
+Finally the bilinear and linear forms are defined. Integrals over
+internal facets are indicated by ``*dS``. ::
+
+ # Bilinear form
+ a = inner(div(grad(u)), div(grad(v)))*dx \
+ - inner(avg(div(grad(u))), jump(grad(v), n))*dS \
+ - inner(jump(grad(u), n), avg(div(grad(v))))*dS \
+ + alpha/h_avg*inner(jump(grad(u), n), jump(grad(v),n))*dS
+
+ # Linear form
+ L = f*v*dx
+
+Before the form file can be used in the C++ program, it must be
+compiled using FFC by running (on the command-line):
+
+.. code-block:: sh
+
+ ffc -l dolfin Poisson.ufl
diff --git a/demo/documented/biharmonic/cpp/CMakeLists.txt b/demo/documented/biharmonic/cpp/CMakeLists.txt
index c1d318e..c06ba58 100644
--- a/demo/documented/biharmonic/cpp/CMakeLists.txt
+++ b/demo/documented/biharmonic/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_biharmonic)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/biharmonic/cpp/compile.log b/demo/documented/biharmonic/cpp/compile.log
deleted file mode 100644
index 6eb3502..0000000
--- a/demo/documented/biharmonic/cpp/compile.log
+++ /dev/null
@@ -1,1213 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Biharmonic
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_1]'
- Unique elements: 'CG2(?), R0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), R0(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.261419 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 1): array([[ -3.33333333e-01],
- [ 7.45237205e-15],
- [ 3.33333333e-01],
- [ 1.33333333e+00],
- [ 9.43689571e-15],
- [ -1.33333333e+00]]), (0, 0): array([[-0.11111111],
- [-0.11111111],
- [-0.11111111],
- [ 0.44444444],
- [ 0.44444444],
- [ 0.44444444]]), (0, 2): array([[ 4.00000000e+00],
- [ 3.77475828e-15],
- [ 4.00000000e+00],
- [ -3.55271368e-15],
- [ -8.00000000e+00],
- [ -3.10862447e-15]]), (2, 0): array([[ 4.],
- [ 4.],
- [ 0.],
- [ 0.],
- [ 0.],
- [-8.]]), (1, 0): array([[ -3.33333333e-01],
- [ 3.33333333e-01],
- [ 0.00000000e+00],
- [ 1.33333333e+00],
- [ -1.33333333e+00],
- [ -2.43306259e-16]]), (1, 1): array([[ 4.00000000e+00],
- [ 7.32747196e-15],
- [ 0.00000000e+00],
- [ 4.00000000e+00],
- [ -4.00000000e+00],
- [ -4.00000000e+00]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16]]), 'FE0_D02': array([[ 4.00000000e+00, 3.77475828e-15, 4.00000000e+00,
- -3.55271368e-15, -8.00000000e+00, -3.10862447e-15]]), 'FE0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00]]), 'FE0_D11': array([[ 4.00000000e+00, 7.32747196e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE0_D20': array([[ 4., 4., 0., 0., 0., -8.]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16]]), 'FE0_D02': array([[ 4.00000000e+00, 3.77475828e-15, 4.00000000e+00,
- -3.55271368e-15, -8.00000000e+00, -3.10862447e-15]]), 'FE0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00]]), 'FE0_D11': array([[ 4.00000000e+00, 7.32747196e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE0_D20': array([[ 4., 4., 0., 0., 0., -8.]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D02': 'FE0_D02', 'FE0_D01': 'FE0_D01', 'FE0_D11': 'FE0_D11', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE0_D20': 'FE0_D20', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([[-0.33333333, 0.33333333, 1.33333333, -1.33333333]]), 'FE0_D02': array([[ 4., 4., -8.]]), 'FE0_D01': array([[-0.33333333, 0.33333333, 1.33333333, -1.33333333]]), 'FE0_D11': array([[ 4., 4., -4., -4.]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333]]), 'FE0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444]]), 'FE1_C0_D01': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (2, [0, 1, 3, 4]), False, False), 'FE0_D02': ('FE0_D02', (1, [0, 2, 4]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2, 3, 5]), False, False), 'FE0_D11': ('FE0_D11', (3, [0, 3, 4, 5]), False, False), 'FE1_C0': ('FE1_C0', (5, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (8, [3, 4, 5]), False, False), 'FE0_D20': ('FE0_D02', (4, [0, 1, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (10, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {2: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 0.78867513, 0.21132487],
- [ 0. , 0. ]],
-
- [[ 0.21132487, 0.78867513],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0.78867513, 0.21132487]],
-
- [[ 0. , 0. ],
- [ 0.21132487, 0.78867513]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]]])}}}, FiniteElement('Real', triangle, 0): {None: {0: {(0, 0): array([[ 1., 1.]])}, 1: {(0, 0): array([[ 1., 1.]])}, 2: {(0, 0): array([[ 1., 1.]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {0: {(0, 1): array([[ 1.00000000e+00, 1.00000000e+00],
- [ 8.60422844e-15, 7.54951657e-15],
- [ -1.54700538e-01, 2.15470054e+00],
- [ 3.15470054e+00, 8.45299462e-01],
- [ -8.45299462e-01, -3.15470054e+00],
- [ -3.15470054e+00, -8.45299462e-01]]), (0, 0): array([[ 2.77555756e-17, 4.16333634e-17],
- [ 4.55341801e-01, -1.22008468e-01],
- [ -1.22008468e-01, 4.55341801e-01],
- [ 6.66666667e-01, 6.66666667e-01],
- [ -1.38777878e-17, -5.55111512e-17],
- [ -1.73472348e-17, -4.16333634e-17]]), (0, 2): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 5.10702591e-15, 0.00000000e+00],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -3.10862447e-15, -6.66133815e-15],
- [ -8.00000000e+00, -8.00000000e+00],
- [ -4.88498131e-15, 3.33066907e-15]]), (2, 0): array([[ 4., 4.],
- [ 4., 4.],
- [ 0., 0.],
- [ 0., 0.],
- [ 0., 0.],
- [-8., -8.]]), (1, 0): array([[ 1. , 1. ],
- [ 2.15470054, -0.15470054],
- [ 0. , 0. ],
- [ 0.84529946, 3.15470054],
- [-0.84529946, -3.15470054],
- [-3.15470054, -0.84529946]]), (1, 1): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 9.32587341e-15, 5.77315973e-15],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00]])}, 1: {(0, 1): array([[ -2.15470054e+00, 1.54700538e-01],
- [ 5.49560397e-15, 6.66133815e-15],
- [ -1.54700538e-01, 2.15470054e+00],
- [ -1.06581410e-14, -1.55431223e-14],
- [ 2.30940108e+00, -2.30940108e+00],
- [ 1.60982339e-15, 3.21964677e-15]]), (0, 0): array([[ 4.55341801e-01, -1.22008468e-01],
- [ 2.08166817e-17, 9.02056208e-17],
- [ -1.22008468e-01, 4.55341801e-01],
- [ -1.38777878e-17, -2.77555756e-17],
- [ 6.66666667e-01, 6.66666667e-01],
- [ -1.73472348e-17, -4.16333634e-17]]), (0, 2): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 4.66293670e-15, 0.00000000e+00],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -3.55271368e-15, -7.54951657e-15],
- [ -8.00000000e+00, -8.00000000e+00],
- [ -5.10702591e-15, 3.10862447e-15]]), (2, 0): array([[ 4., 4.],
- [ 4., 4.],
- [ 0., 0.],
- [ 0., 0.],
- [ 0., 0.],
- [-8., -8.]]), (1, 0): array([[-2.15470054, 0.15470054],
- [-1. , -1. ],
- [ 0. , 0. ],
- [ 0.84529946, 3.15470054],
- [-0.84529946, -3.15470054],
- [ 3.15470054, 0.84529946]]), (1, 1): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 7.99360578e-15, 4.88498131e-15],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00]])}, 2: {(0, 1): array([[ -2.15470054e+00, 1.54700538e-01],
- [ 5.32907052e-15, 7.32747196e-15],
- [ -1.00000000e+00, -1.00000000e+00],
- [ 8.45299462e-01, 3.15470054e+00],
- [ 3.15470054e+00, 8.45299462e-01],
- [ -8.45299462e-01, -3.15470054e+00]]), (0, 0): array([[ 4.55341801e-01, -1.22008468e-01],
- [ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 2.77555756e-17],
- [ 0.00000000e+00, -5.55111512e-17],
- [ 6.66666667e-01, 6.66666667e-01]]), (0, 2): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 6.43929354e-15, 6.43929354e-15],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -3.99680289e-15, -3.10862447e-15],
- [ -8.00000000e+00, -8.00000000e+00],
- [ -5.99520433e-15, -5.55111512e-15]]), (2, 0): array([[ 4., 4.],
- [ 4., 4.],
- [ 0., 0.],
- [ 0., 0.],
- [ 0., 0.],
- [-8., -8.]]), (1, 0): array([[ -2.15470054e+00, 1.54700538e-01],
- [ -1.54700538e-01, 2.15470054e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ -1.22124533e-15, -1.22124533e-15],
- [ 1.22124533e-15, 1.22124533e-15],
- [ 2.30940108e+00, -2.30940108e+00]]), (1, 1): array([[ 4.00000000e+00, 4.00000000e+00],
- [ 7.54951657e-15, 8.43769499e-15],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e+00, 4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00],
- [ -4.00000000e+00, -4.00000000e+00]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0': array([[ 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17],
- [ 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17]]), 'FE0_f1': array([[ 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17],
- [ -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17]]), 'FE0_f2': array([[ 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01],
- [ -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f1_D11': array([[ 4.00000000e+00, 7.99360578e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00],
- [ 4.00000000e+00, 4.88498131e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE0_f1_D10': array([[-2.15470054, -1. , 0. , 0.84529946, -0.84529946,
- 3.15470054],
- [ 0.15470054, -1. , 0. , 3.15470054, -3.15470054,
- 0.84529946]]), 'FE0_f2_D10': array([[ -2.15470054e+00, -1.54700538e-01, 0.00000000e+00,
- -1.22124533e-15, 1.22124533e-15, 2.30940108e+00],
- [ 1.54700538e-01, 2.15470054e+00, 0.00000000e+00,
- -1.22124533e-15, 1.22124533e-15, -2.30940108e+00]]), 'FE0_f2_D11': array([[ 4.00000000e+00, 7.54951657e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00],
- [ 4.00000000e+00, 8.43769499e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE2_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D10': array([[ 1. , 2.15470054, 0. , 0.84529946, -0.84529946,
- -3.15470054],
- [ 1. , -0.15470054, 0. , 3.15470054, -3.15470054,
- -0.84529946]]), 'FE0_f0_D11': array([[ 4.00000000e+00, 9.32587341e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00],
- [ 4.00000000e+00, 5.77315973e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE2_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f2': array([[ 1.],
- [ 1.]]), 'FE1_f1': array([[ 1.],
- [ 1.]]), 'FE1_f0': array([[ 1.],
- [ 1.]]), 'FE2_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f2_D02': array([[ 4.00000000e+00, 6.43929354e-15, 4.00000000e+00,
- -3.99680289e-15, -8.00000000e+00, -5.99520433e-15],
- [ 4.00000000e+00, 6.43929354e-15, 4.00000000e+00,
- -3.10862447e-15, -8.00000000e+00, -5.55111512e-15]]), 'FE0_f2_D01': array([[ -2.15470054e+00, 5.32907052e-15, -1.00000000e+00,
- 8.45299462e-01, 3.15470054e+00, -8.45299462e-01],
- [ 1.54700538e-01, 7.32747196e-15, -1.00000000e+00,
- 3.15470054e+00, 8.45299462e-01, -3.15470054e+00]]), 'FE0_f2_D20': array([[ 4., 4., 0., 0., 0., -8.],
- [ 4., 4., 0., 0., 0., -8.]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D20': array([[ 4., 4., 0., 0., 0., -8.],
- [ 4., 4., 0., 0., 0., -8.]]), 'FE0_f1_D01': array([[ -2.15470054e+00, 5.49560397e-15, -1.54700538e-01,
- -1.06581410e-14, 2.30940108e+00, 1.60982339e-15],
- [ 1.54700538e-01, 6.66133815e-15, 2.15470054e+00,
- -1.55431223e-14, -2.30940108e+00, 3.21964677e-15]]), 'FE0_f1_D02': array([[ 4.00000000e+00, 4.66293670e-15, 4.00000000e+00,
- -3.55271368e-15, -8.00000000e+00, -5.10702591e-15],
- [ 4.00000000e+00, 0.00000000e+00, 4.00000000e+00,
- -7.54951657e-15, -8.00000000e+00, 3.10862447e-15]]), 'FE0_f0_D20': array([[ 4., 4., 0., 0., 0., -8.],
- [ 4., 4., 0., 0., 0., -8.]]), 'FE0_f0_D01': array([[ 1.00000000e+00, 8.60422844e-15, -1.54700538e-01,
- 3.15470054e+00, -8.45299462e-01, -3.15470054e+00],
- [ 1.00000000e+00, 7.54951657e-15, 2.15470054e+00,
- 8.45299462e-01, -3.15470054e+00, -8.45299462e-01]]), 'FE2_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f0_D02': array([[ 4.00000000e+00, 5.10702591e-15, 4.00000000e+00,
- -3.10862447e-15, -8.00000000e+00, -4.88498131e-15],
- [ 4.00000000e+00, 0.00000000e+00, 4.00000000e+00,
- -6.66133815e-15, -8.00000000e+00, 3.33066907e-15]]), 'FE2_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]])}
-
- tables: {'FE0_f0': array([[ 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17],
- [ 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17]]), 'FE0_f1': array([[ 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17],
- [ -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17]]), 'FE0_f2': array([[ 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01],
- [ -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f1_D10': array([[-2.15470054, -1. , 0. , 0.84529946, -0.84529946,
- 3.15470054],
- [ 0.15470054, -1. , 0. , 3.15470054, -3.15470054,
- 0.84529946]]), 'FE0_f2_D10': array([[ -2.15470054e+00, -1.54700538e-01, 0.00000000e+00,
- -1.22124533e-15, 1.22124533e-15, 2.30940108e+00],
- [ 1.54700538e-01, 2.15470054e+00, 0.00000000e+00,
- -1.22124533e-15, 1.22124533e-15, -2.30940108e+00]]), 'FE2_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_f0_D10': array([[ 1. , 2.15470054, 0. , 0.84529946, -0.84529946,
- -3.15470054],
- [ 1. , -0.15470054, 0. , 3.15470054, -3.15470054,
- -0.84529946]]), 'FE0_f0_D11': array([[ 4.00000000e+00, 9.32587341e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00],
- [ 4.00000000e+00, 5.77315973e-15, 0.00000000e+00,
- 4.00000000e+00, -4.00000000e+00, -4.00000000e+00]]), 'FE1_f0': array([[ 1.],
- [ 1.]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f2_D01': array([[ -2.15470054e+00, 5.32907052e-15, -1.00000000e+00,
- 8.45299462e-01, 3.15470054e+00, -8.45299462e-01],
- [ 1.54700538e-01, 7.32747196e-15, -1.00000000e+00,
- 3.15470054e+00, 8.45299462e-01, -3.15470054e+00]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D20': array([[ 4., 4., 0., 0., 0., -8.],
- [ 4., 4., 0., 0., 0., -8.]]), 'FE0_f1_D01': array([[ -2.15470054e+00, 5.49560397e-15, -1.54700538e-01,
- -1.06581410e-14, 2.30940108e+00, 1.60982339e-15],
- [ 1.54700538e-01, 6.66133815e-15, 2.15470054e+00,
- -1.55431223e-14, -2.30940108e+00, 3.21964677e-15]]), 'FE0_f0_D20': array([[ 4., 4., 0., 0., 0., -8.],
- [ 4., 4., 0., 0., 0., -8.]]), 'FE0_f0_D01': array([[ 1.00000000e+00, 8.60422844e-15, -1.54700538e-01,
- 3.15470054e+00, -8.45299462e-01, -3.15470054e+00],
- [ 1.00000000e+00, 7.54951657e-15, 2.15470054e+00,
- 8.45299462e-01, -3.15470054e+00, -8.45299462e-01]]), 'FE0_f0_D02': array([[ 4.00000000e+00, 5.10702591e-15, 4.00000000e+00,
- -3.10862447e-15, -8.00000000e+00, -4.88498131e-15],
- [ 4.00000000e+00, 0.00000000e+00, 4.00000000e+00,
- -6.66133815e-15, -8.00000000e+00, 3.33066907e-15]]), 'FE2_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]])}
-
- name_map: {'FE2_f0_C0_D01': ['FE2_f1_C0_D01', 'FE2_f2_C0_D01'], 'FE2_f0_C1_D10': ['FE2_f1_C1_D10', 'FE2_f2_C1_D10'], 'FE0_f0_D20': ['FE0_f2_D20'], 'FE2_f0_C1_D01': ['FE2_f1_C1_D01', 'FE2_f2_C1_D01'], 'FE0_f0_D02': ['FE0_f1_D02', 'FE0_f2_D02'], 'FE0_f0_D11': ['FE0_f1_D11', 'FE0_f2_D11'], 'FE2_f0_C0_D10': ['FE2_f1_C0_D10', 'FE2_f2_C0_D10'], 'FE1_f0': ['FE1_f1', 'FE1_f2']}
-
- inv_name_map: {'FE2_f1_C1_D01': 'FE2_f0_C1_D01', 'FE2_f2_C0_D10': 'FE2_f0_C0_D10', 'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f1', 'FE0_f2': 'FE0_f2', 'FE2_f0_C1_D01': 'FE2_f0_C1_D01', 'FE0_f1_D11': 'FE0_f0_D11', 'FE0_f1_D10': 'FE0_f1_D10', 'FE0_f2_D10': 'FE0_f2_D10', 'FE0_f2_D11': 'FE0_f0_D11', 'FE2_f0_C0_D10': 'FE2_f0_C0_D10', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0': 'FE2_f0_C0', 'FE2_f0_C0_D01': 'FE2_f0_C0_D01', 'FE2_f2_C1_D01': 'FE2_f0_C1_D01', 'FE0_f0_D10': 'FE0_f0_D10', 'FE0_f0_D11': 'FE0_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.4553418 , -0.12200847, 0.66666667],
- [-0.12200847, 0.4553418 , 0.66666667]]), 'FE0_f1_D10': array([[-2.15470054, -1. , 0.84529946, -0.84529946, 3.15470054],
- [ 0.15470054, -1. , 3.15470054, -3.15470054, 0.84529946]]), 'FE0_f2_D10': array([[-2.15470054, -0.15470054, 2.30940108],
- [ 0.15470054, 2.15470054, -2.30940108]]), 'FE2_f0_C0': array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513]]), 'FE2_f0_C0_D01': array([[-1., 1.],
- [-1., 1.]]), 'FE0_f0_D10': array([[ 1. , 2.15470054, 0.84529946, -0.84529946, -3.15470054],
- [ 1. , -0.15470054, 3.15470054, -3.15470054, -0.84529946]]), 'FE0_f0_D11': array([[ 4., 4., -4., -4.],
- [ 4., 4., -4., -4.]]), 'FE1_f0': array([[ 1.],
- [ 1.]]), 'FE0_f2_D01': array([[-2.15470054, -1. , 0.84529946, 3.15470054, -0.84529946],
- [ 0.15470054, -1. , 3.15470054, 0.84529946, -3.15470054]]), 'FE0_f1_D01': array([[ -2.15470054e+00, -1.54700538e-01, -1.06581410e-14,
- 2.30940108e+00],
- [ 1.54700538e-01, 2.15470054e+00, -1.55431223e-14,
- -2.30940108e+00]]), 'FE0_f0_D01': array([[ 1. , -0.15470054, 3.15470054, -0.84529946, -3.15470054],
- [ 1. , 2.15470054, 0.84529946, -3.15470054, -0.84529946]]), 'FE0_f0_D02': array([[ 4., 4., -8.],
- [ 4., 4., -8.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_f1_C1_D01': ('FE2_f0_C0_D01', (17, [3, 5]), False, False), 'FE2_f2_C0_D10': ('FE2_f0_C0_D01', (15, [0, 1]), False, False), 'FE0_f0': ('FE0_f0', (0, [1, 2, 3]), False, False), 'FE0_f1': ('FE0_f0', (6, [0, 2, 4]), False, False), 'FE0_f2': ('FE0_f0', (10, [0, 1, 5]), False, False), 'FE2_f0_C1_D01': ('FE2_f0_C0_D01', (17, [3, 5]), False, False), 'FE0_f1_D11': ('FE0_f0_D11', (4, [0, 3, 4, 5]), False, False), 'FE0_f1_D10': ('FE0_f1_D10', (8, [0, 1, 3, 4, 5]), False, False), 'FE0_f2_D10 [...]
- Transforming interior facet integral (0, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000969 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.679099 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for facet integral (0, 0)
- Optimising expressions for facet integral (0, 1)
- Optimising expressions for facet integral (0, 2)
- Optimising expressions for facet integral (1, 0)
- Optimising expressions for facet integral (1, 1)
- Optimising expressions for facet integral (1, 2)
- Optimising expressions for facet integral (2, 0)
- Optimising expressions for facet integral (2, 1)
- Optimising expressions for facet integral (2, 2)
-
-Compiler stage 3 finished in 0.395683 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: n_11
- Removing unused variable: n_10
- Generating code for forms
-
-Compiler stage 4 finished in 0.352024 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000824928 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00114107 seconds.
-
-FFC finished in 1.69072 seconds.
-Output written to ./Biharmonic.h.
diff --git a/demo/documented/biharmonic/cpp/documentation.rst b/demo/documented/biharmonic/cpp/documentation.rst
deleted file mode 100644
index b9c19b4..0000000
--- a/demo/documented/biharmonic/cpp/documentation.rst
+++ /dev/null
@@ -1,213 +0,0 @@
-.. Documentation for the biharmonic demo from DOLFIN.
-
-.. _demo_pde_biharmonic_cpp_documentation:
-
-
-Biharmonic equation
-===================
-
-.. include:: ../common.txt
-
-
-Implementation
---------------
-
-The implementation is split in two files, a form file containing the
-definition of the variational forms expressed in UFL and the solver
-which is implemented in a C++ file.
-
-Running this demo requires the files: :download:`main.cpp`,
-:download:`Biharmonic.ufl` and :download:`CMakeLists.txt`.
-
-UFL form file
-^^^^^^^^^^^^^
-
-First we define the variational problem in UFL in the file called
-:download:`Biharmonic.ufl`.
-
-In the UFL file, the finite element space is defined:
-
-.. code-block:: python
-
- # Elements
- element = FiniteElement("Lagrange", triangle, 2)
-
-On the space ``element``, trial and test functions, and the source
-term are defined:
-
-.. code-block:: python
-
- # Trial and test functions
- u = TrialFunction(element)
- v = TestFunction(element)
- f = Coefficient(element)
-
-Next, the outward unit normal to cell boundaries and a measure of the
-cell size are defined. The average size of cells sharing a facet will
-be used (``h_avg``). The UFL syntax ``('+')`` and ``('-')`` restricts
-a function to the ``('+')`` and ``('-')`` sides of a facet,
-respectively. The penalty parameter ``alpha`` is made a
-:cpp:class:`Constant` so that it can be changed in the program without
-regenerating the code.
-
-.. code-block:: python
-
- # Normal component, mesh size and right-hand side
- n = FacetNormal(triangle)
- h = 2.0*Circumradius(triangle)
- h_avg = (h('+') + h('-'))/2
-
- # Parameters
- alpha = Constant(triangle)
-
-Finally the bilinear and linear forms are defined. Integrals over
-internal facets are indicated by ``*dS``.
-
-.. code-block:: python
-
- # Bilinear form
- a = inner(div(grad(u)), div(grad(v)))*dx \
- - inner(avg(div(grad(u))), jump(grad(v), n))*dS \
- - inner(jump(grad(u), n), avg(div(grad(v))))*dS \
- + alpha/h_avg*inner(jump(grad(u), n), jump(grad(v),n))*dS
-
- # Linear form
- L = f*v*dx
-
-
-C++ program
-^^^^^^^^^^^
-
-The DOLFIN interface and the code generated from the UFL input is
-included, and the DOLFIN namespace is used:
-
-.. code-block:: c++
-
- #include <dolfin.h>
- #include "Biharmonic.h"
-
- using namespace dolfin;
-
-A class ``Source`` is defined for the function :math:`f`, with the
-function ``Expression::eval`` overloaded:
-
-.. code-block:: c++
-
- // Source term
- class Source : public Expression
- {
- public:
-
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = 4.0*std::pow(DOLFIN_PI, 4)*
- std::sin(DOLFIN_PI*x[0])*std::sin(DOLFIN_PI*x[1]);
- }
-
- };
-
-A boundary subdomain is defined, which in this case is the entire
-boundary:
-
-.. code-block:: c++
-
- // Sub domain for Dirichlet boundary condition
- class DirichletBoundary : public SubDomain
- {
- bool inside(const Array<double>& x, bool on_boundary) const
- { return on_boundary; }
- };
-
-The main part of the program is begun, and a mesh is created with 32
-vertices in each direction:
-
-.. code-block:: c++
-
- int main()
- {
- // Make mesh ghosted for evaluation of DG terms
- parameters["ghost_mode"] = "shared_facet";
-
- // Create mesh
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
-
-The source function, a function for the cell size and the penalty term
-are declared:
-
-.. code-block:: c++
-
- // Create functions
- auto f = std::make_shared<Source>();
- auto alpha = std::make_shared<Constant>(8.0);
-
-A function space object, which is defined in the generated code, is
-created:
-
-.. code-block:: c++
-
- // Create function space
- auto V = std::make_shared<Biharmonic::FunctionSpace>(mesh);
-
-The Dirichlet boundary condition on :math:`u` is constructed by
-defining a :cpp:class:`Constant` which is equal to zero, defining the
-boundary (``DirichletBoundary``), and using these, together with
-``V``, to create ``bc``:
-
-.. code-block:: c++
-
- // Define boundary condition
- auto u0 = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(V, u0, boundary);
-
-Using the function space ``V``, the bilinear and linear forms are
-created, and function are attached:
-
-.. code-block:: c++
-
- // Define variational problem
- Biharmonic::BilinearForm a(V, V);
- Biharmonic::LinearForm L(V);
- a.alpha = alpha; L.f = f;
-
-A :cpp:class:`Function` is created to hold the solution and the
-problem is solved:
-
-.. code-block:: c++
-
- // Compute solution
- Function u(V);
- solve(a == L, u, bc);
-
-The solution is then written to a file in VTK format and plotted to
-the screen:
-
-.. code-block:: c++
-
- // Save solution in VTK format
- File file("biharmonic.pvd");
- file << u;
-
- // Plot solution
- plot(u);
- interactive();
-
- return 0;
- }
-
-Complete code
--------------
-
-Complete UFL file
-^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: Biharmonic.ufl
- :start-after: # Compile
- :language: python
-
-Complete main file
-^^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: main.cpp
- :start-after: // using
- :language: c++
diff --git a/demo/documented/biharmonic/cpp/main.cpp b/demo/documented/biharmonic/cpp/main.cpp
deleted file mode 100644
index fd5f2ba..0000000
--- a/demo/documented/biharmonic/cpp/main.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (C) 2009 Kristian B. Oelgaard
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// Modified by Anders Logg, 2011
-//
-// First added: 2009-06-26
-// Last changed: 2012-11-12
-//
-// This demo program solves the Biharmonic equation,
-//
-// - nabla^4 u(x, y) = f(x, y)
-//
-// on the unit square with source f given by
-//
-// f(x, y) = 4 pi^4 sin(pi*x)*sin(pi*y)
-//
-// and boundary conditions given by
-//
-// u(x, y) = 0
-// nabla^2 u(x, y) = 0
-//
-// using a discontinuous Galerkin formulation (interior penalty method).
-
-#include <dolfin.h>
-#include "Biharmonic.h"
-
-using namespace dolfin;
-
-// Source term
-class Source : public Expression
-{
-public:
-
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = 4.0*std::pow(DOLFIN_PI, 4)*
- std::sin(DOLFIN_PI*x[0])*std::sin(DOLFIN_PI*x[1]);
- }
-
-};
-
-// Sub domain for Dirichlet boundary condition
-class DirichletBoundary : public SubDomain
-{
- bool inside(const Array<double>& x, bool on_boundary) const
- { return on_boundary; }
-};
-
-int main()
-{
- // Make mesh ghosted for evaluation of DG terms
- parameters["ghost_mode"] = "shared_facet";
-
- // Create mesh
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
-
- // Create functions
- auto f = std::make_shared<Source>();
- auto alpha = std::make_shared<Constant>(8.0);
-
- // Create function space
- auto V = std::make_shared<Biharmonic::FunctionSpace>(mesh);
-
- // Define boundary condition
- auto u0 = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(V, u0, boundary);
-
- // Define variational problem
- Biharmonic::BilinearForm a(V, V);
- Biharmonic::LinearForm L(V);
- a.alpha = alpha; L.f = f;
-
- // Compute solution
- Function u(V);
- solve(a == L, u, bc);
-
- // Save solution in VTK format
- File file("biharmonic.pvd");
- file << u;
-
- // Plot solution
- plot(u);
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/biharmonic/cpp/main.cpp.rst b/demo/documented/biharmonic/cpp/main.cpp.rst
new file mode 100644
index 0000000..69fffbb
--- /dev/null
+++ b/demo/documented/biharmonic/cpp/main.cpp.rst
@@ -0,0 +1,224 @@
+Biharmonic equation (C++)
+=========================
+
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Use a discontinuous Galerkin method
+* Solve a fourth-order differential equation
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: ../biharmonic_u.png
+ :scale: 75 %
+
+Equation and problem definition
+-------------------------------
+
+The biharmonic equation is a fourth-order elliptic equation. On the
+domain :math:`\Omega \subset \mathbb{R}^{d}`, :math:`1 \le d \le 3`,
+it reads
+
+.. math::
+ \nabla^{4} u = f \quad {\rm in} \ \Omega,
+
+where :math:`\nabla^{4} \equiv \nabla^{2} \nabla^{2}` is the
+biharmonic operator and :math:`f` is a prescribed source term. To
+formulate a complete boundary value problem, the biharmonic equation
+must be complemented by suitable boundary conditions.
+
+Multiplying the biharmonic equation by a test function and integrating
+by parts twice leads to a problem second-order derivatives, which
+would requires :math:`H^{2}` conforming (roughly :math:`C^{1}`
+continuous) basis functions. To solve the biharmonic equation using
+Lagrange finite element basis functions, the biharmonic equation can
+be split into two second-order equations (see the Mixed Poisson demo
+for a mixed method for the Poisson equation), or a variational
+formulation can be constructed that imposes weak continuity of normal
+derivatives between finite element cells. The demo uses a
+discontinuous Galerkin approach to impose continuity of the normal
+derivative weakly.
+
+Consider a triangulation :math:`\mathcal{T}` of the domain
+:math:`\Omega`, where the set of interior facets is denoted by
+:math:`\mathcal{E}_h^{\rm int}`. Functions evaluated on opposite
+sides of a facet are indicated by the subscripts ':math:`+`' and
+':math:`-`'. Using the standard continuous Lagrange finite element
+space
+
+.. math::
+ V = \left\{v \in H^{1}_{0}(\Omega)\,:\, v \in P_{k}(K) \ \forall \ K \in \mathcal{T} \right\}
+
+and considering the boundary conditions
+
+.. math::
+ u &= 0 \quad {\rm on} \ \partial\Omega \\
+ \nabla^{2} u &= 0 \quad {\rm on} \ \partial\Omega
+
+a weak formulation of the biharmonic problem reads: find :math:`u \in
+V` such that
+
+.. math::
+ a(u,v)=L(v) \quad \forall \ v \in V,
+
+where the bilinear form is
+
+.. math::
+ a(u, v) = \sum_{K \in \mathcal{T}} \int_{K} \nabla^{2} u \nabla^{2} v \, {\rm d}x \
+ +\sum_{E \in \mathcal{E}_h^{\rm int}}\left(\int_{E} \frac{\alpha}{h_E} [\!\![ \nabla u ]\!\!] [\!\![ \nabla v ]\!\!] \, {\rm d}s
+ - \int_{E} \left<\nabla^{2} u \right>[\!\![ \nabla v ]\!\!] \, {\rm d}s
+ - \int_{E} [\!\![ \nabla u ]\!\!] \left<\nabla^{2} v \right> \, {\rm d}s\right)
+
+and the linear form is
+
+.. math::
+ L(v) = \int_{\Omega} fv \, {\rm d}x
+
+Furthermore, :math:`\left< u \right> = \frac{1}{2} (u_{+} + u_{-})`, :math:`[\!\![
+w ]\!\!] = w_{+} \cdot n_{+} + w_{-} \cdot n_{-}`, :math:`\alpha \ge
+0` is a penalty parameter and :math:`h_E` is a measure of the cell size.
+
+The input parameters for this demo are defined as follows:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\alpha = 8.0` (penalty parameter)
+* :math:`f = 4.0 \pi^4\sin(\pi x)\sin(\pi y)` (source term)
+
+
+Implementation
+--------------
+
+The implementation is split in two files, a form file containing the
+definition of the variational forms expressed in UFL and the solver
+which is implemented in a C++ file.
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`Biharmonic.ufl` and :download:`CMakeLists.txt`.
+
+UFL form file
+^^^^^^^^^^^^^
+
+The UFL file is implemented in :download:`Biharmonic.ufl`, and the
+explanation of the UFL file can be found at :doc:`here
+<Biharmonic.ufl>`.
+
+
+C++ program
+^^^^^^^^^^^
+
+The DOLFIN interface and the code generated from the UFL input is
+included, and the DOLFIN namespace is used:
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+ #include "Biharmonic.h"
+
+ using namespace dolfin;
+
+A class ``Source`` is defined for the function :math:`f`, with the
+function ``Expression::eval`` overloaded:
+
+.. code-block:: cpp
+
+ // Source term
+ class Source : public Expression
+ {
+ public:
+
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ values[0] = 4.0*std::pow(DOLFIN_PI, 4)*
+ std::sin(DOLFIN_PI*x[0])*std::sin(DOLFIN_PI*x[1]);
+ }
+
+ };
+
+A boundary subdomain is defined, which in this case is the entire
+boundary:
+
+.. code-block:: cpp
+
+ // Sub domain for Dirichlet boundary condition
+ class DirichletBoundary : public SubDomain
+ {
+ bool inside(const Array<double>& x, bool on_boundary) const
+ { return on_boundary; }
+ };
+
+The main part of the program is begun, and a mesh is created with 32
+vertices in each direction:
+
+.. code-block:: cpp
+
+ int main()
+ {
+ // Make mesh ghosted for evaluation of DG terms
+ parameters["ghost_mode"] = "shared_facet";
+
+ // Create mesh
+ auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
+
+The source function, a function for the cell size and the penalty term
+are declared:
+
+.. code-block:: cpp
+
+ // Create functions
+ auto f = std::make_shared<Source>();
+ auto alpha = std::make_shared<Constant>(8.0);
+
+A function space object, which is defined in the generated code, is
+created:
+
+.. code-block:: cpp
+
+ // Create function space
+ auto V = std::make_shared<Biharmonic::FunctionSpace>(mesh);
+
+The Dirichlet boundary condition on :math:`u` is constructed by
+defining a :cpp:class:`Constant` which is equal to zero, defining the
+boundary (``DirichletBoundary``), and using these, together with
+``V``, to create ``bc``:
+
+.. code-block:: cpp
+
+ // Define boundary condition
+ auto u0 = std::make_shared<Constant>(0.0);
+ auto boundary = std::make_shared<DirichletBoundary>();
+ DirichletBC bc(V, u0, boundary);
+
+Using the function space ``V``, the bilinear and linear forms are
+created, and function are attached:
+
+.. code-block:: cpp
+
+ // Define variational problem
+ Biharmonic::BilinearForm a(V, V);
+ Biharmonic::LinearForm L(V);
+ a.alpha = alpha; L.f = f;
+
+A :cpp:class:`Function` is created to hold the solution and the
+problem is solved:
+
+.. code-block:: cpp
+
+ // Compute solution
+ Function u(V);
+ solve(a == L, u, bc);
+
+The solution is then written to a file in VTK format and plotted to
+the screen:
+
+.. code-block:: cpp
+
+ // Save solution in VTK format
+ File file("biharmonic.pvd");
+ file << u;
+
+ // Plot solution
+ plot(u);
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/biharmonic/python/demo_biharmonic.py b/demo/documented/biharmonic/python/demo_biharmonic.py
index 748094d..290a108 100644
--- a/demo/documented/biharmonic/python/demo_biharmonic.py
+++ b/demo/documented/biharmonic/python/demo_biharmonic.py
@@ -1,49 +1,114 @@
-"""This demo program solves the Biharmonic equation,
-
- nabla^4 u(x, y) = f(x, y)
-
-on the unit square with source f given by
-
- f(x, y) = 4 pi^4 sin(pi*x)*sin(pi*y)
-
-and boundary conditions given by
-
- u(x, y) = 0
- nabla^2 u(x, y) = 0
-
-using a discontinuous Galerkin formulation (interior penalty method).
-"""
-
-# Copyright (C) 2009 Kristian B. Oelgaard
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Anders Logg, 2011
-#
-# First added: 2009-06-26
-# Last changed: 2012-11-12
-
-# Begin demo
+# Biharmonic equation
+# ===================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_biharmonic.py`, which contains both the variational
+# forms and the solver.
+#
+# This demo illustrates how to:
+#
+# * Solve a linear partial differential equation
+# * Use a discontinuous Galerkin method
+# * Solve a fourth-order differential equation
+#
+# The solution for :math:`u` in this demo will look as follows:
+#
+# .. image:: ../biharmonic_u.png
+# :scale: 75 %
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# The biharmonic equation is a fourth-order elliptic equation. On the
+# domain :math:`\Omega \subset \mathbb{R}^{d}`, :math:`1 \le d \le 3`,
+# it reads
+#
+# .. math::
+# \nabla^{4} u = f \quad {\rm in} \ \Omega,
+#
+# where :math:`\nabla^{4} \equiv \nabla^{2} \nabla^{2}` is the
+# biharmonic operator and :math:`f` is a prescribed source term. To
+# formulate a complete boundary value problem, the biharmonic equation
+# must be complemented by suitable boundary conditions.
+#
+# Multiplying the biharmonic equation by a test function and integrating
+# by parts twice leads to a problem second-order derivatives, which
+# would requires :math:`H^{2}` conforming (roughly :math:`C^{1}`
+# continuous) basis functions. To solve the biharmonic equation using
+# Lagrange finite element basis functions, the biharmonic equation can
+# be split into two second-order equations (see the Mixed Poisson demo
+# for a mixed method for the Poisson equation), or a variational
+# formulation can be constructed that imposes weak continuity of normal
+# derivatives between finite element cells. The demo uses a
+# discontinuous Galerkin approach to impose continuity of the normal
+# derivative weakly.
+#
+# Consider a triangulation :math:`\mathcal{T}` of the domain
+# :math:`\Omega`, where the set of interior facets is denoted by
+# :math:`\mathcal{E}_h^{\rm int}`. Functions evaluated on opposite
+# sides of a facet are indicated by the subscripts ':math:`+`' and
+# ':math:`-`'. Using the standard continuous Lagrange finite element
+# space
+#
+# .. math::
+# V = \left\{v \in H^{1}_{0}(\Omega)\,:\, v \in P_{k}(K) \ \forall \ K \in \mathcal{T} \right\}
+#
+# and considering the boundary conditions
+#
+# .. math::
+# u &= 0 \quad {\rm on} \ \partial\Omega \\
+# \nabla^{2} u &= 0 \quad {\rm on} \ \partial\Omega
+#
+# a weak formulation of the biharmonic problem reads: find :math:`u \in
+# V` such that
+#
+# .. math::
+# a(u,v)=L(v) \quad \forall \ v \in V,
+#
+# where the bilinear form is
+#
+#
+# .. math::
+# a(u, v) = \sum_{K \in \mathcal{T}} \int_{K} \nabla^{2} u \nabla^{2} v \, {\rm d}x \
+# +\sum_{E \in \mathcal{E}_h^{\rm int}}\left(\int_{E} \frac{\alpha}{h_E} [\!\![ \nabla u ]\!\!] [\!\![ \nabla v ]\!\!] \, {\rm d}s
+# - \int_{E} \left<\nabla^{2} u \right>[\!\![ \nabla v ]\!\!] \, {\rm d}s
+# - \int_{E} [\!\![ \nabla u ]\!\!] \left<\nabla^{2} v \right> \, {\rm d}s\right)
+#
+# and the linear form is
+#
+# .. math::
+# L(v) = \int_{\Omega} fv \, {\rm d}x
+#
+# Furthermore, :math:`\left< u \right> = \frac{1}{2} (u_{+} + u_{-})`,
+# :math:`[\!\![ w ]\!\!] = w_{+} \cdot n_{+} + w_{-} \cdot n_{-}`,
+# :math:`\alpha \ge 0` is a penalty parameter and :math:`h_E` is a
+# measure of the cell size.
+#
+# The input parameters for this demo are defined as follows:
+#
+# * :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+# * :math:`\alpha = 8.0` (penalty parameter)
+# * :math:`f = 4.0 \pi^4\sin(\pi x)\sin(\pi y)` (source term)
+#
+#
+# Implementation
+# --------------
+#
+# This demo is implemented in the :download:`demo_biharmonic.py` file.
+#
+# First, the :py:mod:`dolfin` module is imported::
from dolfin import *
+# Next, some parameters for the form compiler are set::
+
# Optimization options for the form compiler
parameters["form_compiler"]["cpp_optimize"] = True
parameters["form_compiler"]["optimize"] = True
+# A mesh is created, and a quadratic finite element function space::
+
# Make mesh ghosted for evaluation of DG terms
parameters["ghost_mode"] = "shared_facet"
@@ -51,23 +116,45 @@ parameters["ghost_mode"] = "shared_facet"
mesh = UnitSquareMesh(32, 32)
V = FunctionSpace(mesh, "CG", 2)
+# A subclass of :py:class:`SubDomain <dolfin.cpp.SubDomain>`,
+# ``DirichletBoundary`` is created for later defining the boundary of
+# the domain::
+
# Define Dirichlet boundary
class DirichletBoundary(SubDomain):
def inside(self, x, on_boundary):
return on_boundary
+# A subclass of :py:class:`Expression
+# <dolfin.functions.expression.Expression>`, ``Source`` is created for
+# the source term :math:`f`::
+
class Source(Expression):
def eval(self, values, x):
values[0] = 4.0*pi**4*sin(pi*x[0])*sin(pi*x[1])
+# The Dirichlet boundary condition is created::
+
# Define boundary condition
u0 = Constant(0.0)
bc = DirichletBC(V, u0, DirichletBoundary())
+# On the finite element space ``V``, trial and test functions are
+# created::
+
# Define trial and test functions
u = TrialFunction(V)
v = TestFunction(V)
+# A function for the cell size :math:`h` is created, as is a function
+# for the average size of cells that share a facet (``h_avg``). The UFL
+# syntax ``('+')`` and ``('-')`` restricts a function to the ``('+')``
+# and ``('-')`` sides of a facet, respectively. The unit outward normal
+# to cell boundaries (``n``) is created, as is the source term ``f`` and
+# the penalty parameter ``alpha``. The penalty parameters is made a
+# :py:class:`Constant <dolfin.functions.constant.Constant>` so that it
+# can be changed without needing to regenerate code. ::
+
# Define normal component, mesh size and right-hand side
h = CellSize(mesh)
h_avg = (h('+') + h('-'))/2.0
@@ -77,6 +164,8 @@ f = Source(degree=2)
# Penalty parameter
alpha = Constant(8.0)
+# The bilinear and linear forms are defined::
+
# Define bilinear form
a = inner(div(grad(u)), div(grad(v)))*dx \
- inner(avg(div(grad(u))), jump(grad(v), n))*dS \
@@ -86,10 +175,16 @@ a = inner(div(grad(u)), div(grad(v)))*dx \
# Define linear form
L = f*v*dx
+# A :py:class:`Function <dolfin.functions.function.Function>` is created
+# to store the solution and the variational problem is solved::
+
# Solve variational problem
u = Function(V)
solve(a == L, u, bc)
+# The computed solution is written to a file in VTK format and plotted to
+# the screen. ::
+
# Save solution to file
file = File("biharmonic.pvd")
file << u
diff --git a/demo/documented/biharmonic/python/demo_biharmonic.py.rst b/demo/documented/biharmonic/python/demo_biharmonic.py.rst
new file mode 100644
index 0000000..016138e
--- /dev/null
+++ b/demo/documented/biharmonic/python/demo_biharmonic.py.rst
@@ -0,0 +1,193 @@
+Biharmonic equation
+===================
+
+This demo is implemented in a single Python file,
+:download:`demo_biharmonic.py`, which contains both the variational
+forms and the solver.
+
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Use a discontinuous Galerkin method
+* Solve a fourth-order differential equation
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: ../biharmonic_u.png
+ :scale: 75 %
+
+
+Equation and problem definition
+-------------------------------
+
+The biharmonic equation is a fourth-order elliptic equation. On the
+domain :math:`\Omega \subset \mathbb{R}^{d}`, :math:`1 \le d \le 3`,
+it reads
+
+.. math::
+ \nabla^{4} u = f \quad {\rm in} \ \Omega,
+
+where :math:`\nabla^{4} \equiv \nabla^{2} \nabla^{2}` is the
+biharmonic operator and :math:`f` is a prescribed source term. To
+formulate a complete boundary value problem, the biharmonic equation
+must be complemented by suitable boundary conditions.
+
+Multiplying the biharmonic equation by a test function and integrating
+by parts twice leads to a problem second-order derivatives, which
+would requires :math:`H^{2}` conforming (roughly :math:`C^{1}`
+continuous) basis functions. To solve the biharmonic equation using
+Lagrange finite element basis functions, the biharmonic equation can
+be split into two second-order equations (see the Mixed Poisson demo
+for a mixed method for the Poisson equation), or a variational
+formulation can be constructed that imposes weak continuity of normal
+derivatives between finite element cells. The demo uses a
+discontinuous Galerkin approach to impose continuity of the normal
+derivative weakly.
+
+Consider a triangulation :math:`\mathcal{T}` of the domain
+:math:`\Omega`, where the set of interior facets is denoted by
+:math:`\mathcal{E}_h^{\rm int}`. Functions evaluated on opposite
+sides of a facet are indicated by the subscripts ':math:`+`' and
+':math:`-`'. Using the standard continuous Lagrange finite element
+space
+
+.. math::
+ V = \left\{v \in H^{1}_{0}(\Omega)\,:\, v \in P_{k}(K) \ \forall \ K \in \mathcal{T} \right\}
+
+and considering the boundary conditions
+
+.. math::
+ u &= 0 \quad {\rm on} \ \partial\Omega \\
+ \nabla^{2} u &= 0 \quad {\rm on} \ \partial\Omega
+
+a weak formulation of the biharmonic problem reads: find :math:`u \in
+V` such that
+
+.. math::
+ a(u,v)=L(v) \quad \forall \ v \in V,
+
+where the bilinear form is
+
+
+.. math::
+ a(u, v) = \sum_{K \in \mathcal{T}} \int_{K} \nabla^{2} u \nabla^{2} v \, {\rm d}x \
+ +\sum_{E \in \mathcal{E}_h^{\rm int}}\left(\int_{E} \frac{\alpha}{h_E} [\!\![ \nabla u ]\!\!] [\!\![ \nabla v ]\!\!] \, {\rm d}s
+ - \int_{E} \left<\nabla^{2} u \right>[\!\![ \nabla v ]\!\!] \, {\rm d}s
+ - \int_{E} [\!\![ \nabla u ]\!\!] \left<\nabla^{2} v \right> \, {\rm d}s\right)
+
+and the linear form is
+
+.. math::
+ L(v) = \int_{\Omega} fv \, {\rm d}x
+
+Furthermore, :math:`\left< u \right> = \frac{1}{2} (u_{+} + u_{-})`,
+:math:`[\!\![ w ]\!\!] = w_{+} \cdot n_{+} + w_{-} \cdot n_{-}`,
+:math:`\alpha \ge 0` is a penalty parameter and :math:`h_E` is a
+measure of the cell size.
+
+The input parameters for this demo are defined as follows:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\alpha = 8.0` (penalty parameter)
+* :math:`f = 4.0 \pi^4\sin(\pi x)\sin(\pi y)` (source term)
+
+
+Implementation
+--------------
+
+This demo is implemented in the :download:`demo_biharmonic.py` file.
+
+First, the :py:mod:`dolfin` module is imported::
+
+ from dolfin import *
+
+Next, some parameters for the form compiler are set::
+
+ # Optimization options for the form compiler
+ parameters["form_compiler"]["cpp_optimize"] = True
+ parameters["form_compiler"]["optimize"] = True
+
+A mesh is created, and a quadratic finite element function space::
+
+ # Make mesh ghosted for evaluation of DG terms
+ parameters["ghost_mode"] = "shared_facet"
+
+ # Create mesh and define function space
+ mesh = UnitSquareMesh(32, 32)
+ V = FunctionSpace(mesh, "CG", 2)
+
+A subclass of :py:class:`SubDomain <dolfin.cpp.SubDomain>`,
+``DirichletBoundary`` is created for later defining the boundary of
+the domain::
+
+ # Define Dirichlet boundary
+ class DirichletBoundary(SubDomain):
+ def inside(self, x, on_boundary):
+ return on_boundary
+
+A subclass of :py:class:`Expression
+<dolfin.functions.expression.Expression>`, ``Source`` is created for
+the source term :math:`f`::
+
+ class Source(Expression):
+ def eval(self, values, x):
+ values[0] = 4.0*pi**4*sin(pi*x[0])*sin(pi*x[1])
+
+The Dirichlet boundary condition is created::
+
+ # Define boundary condition
+ u0 = Constant(0.0)
+ bc = DirichletBC(V, u0, DirichletBoundary())
+
+On the finite element space ``V``, trial and test functions are
+created::
+
+ # Define trial and test functions
+ u = TrialFunction(V)
+ v = TestFunction(V)
+
+A function for the cell size :math:`h` is created, as is a function
+for the average size of cells that share a facet (``h_avg``). The UFL
+syntax ``('+')`` and ``('-')`` restricts a function to the ``('+')``
+and ``('-')`` sides of a facet, respectively. The unit outward normal
+to cell boundaries (``n``) is created, as is the source term ``f`` and
+the penalty parameter ``alpha``. The penalty parameters is made a
+:py:class:`Constant <dolfin.functions.constant.Constant>` so that it
+can be changed without needing to regenerate code. ::
+
+ # Define normal component, mesh size and right-hand side
+ h = CellSize(mesh)
+ h_avg = (h('+') + h('-'))/2.0
+ n = FacetNormal(mesh)
+ f = Source(degree=2)
+
+ # Penalty parameter
+ alpha = Constant(8.0)
+
+The bilinear and linear forms are defined::
+
+ # Define bilinear form
+ a = inner(div(grad(u)), div(grad(v)))*dx \
+ - inner(avg(div(grad(u))), jump(grad(v), n))*dS \
+ - inner(jump(grad(u), n), avg(div(grad(v))))*dS \
+ + alpha/h_avg*inner(jump(grad(u),n), jump(grad(v),n))*dS
+
+ # Define linear form
+ L = f*v*dx
+
+A :py:class:`Function <dolfin.functions.function.Function>` is created
+to store the solution and the variational problem is solved::
+
+ # Solve variational problem
+ u = Function(V)
+ solve(a == L, u, bc)
+
+The computed solution is written to a file in VTK format and plotted to
+the screen. ::
+
+ # Save solution to file
+ file = File("biharmonic.pvd")
+ file << u
+
+ # Plot solution
+ plot(u, interactive=True)
diff --git a/demo/documented/biharmonic/python/documentation.rst b/demo/documented/biharmonic/python/documentation.rst
deleted file mode 100644
index d0b0eb6..0000000
--- a/demo/documented/biharmonic/python/documentation.rst
+++ /dev/null
@@ -1,141 +0,0 @@
-.. Documentation for the biharmonic demo from DOLFIN.
-
-.. _demo_pde_biharmonic_python_documentation:
-
-Biharmonic equation
-===================
-
-This demo is implemented in a single Python file,
-:download:`demo_biharmonic.py`, which contains both the variational
-forms and the solver.
-
-.. include:: ../common.txt
-
-
-Implementation
---------------
-
-This demo is implemented in the :download:`demo_biharmonic.py` file.
-
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
-
- from dolfin import *
-
-Next, some parameters for the form compiler are set:
-
-.. code-block:: python
-
- # Optimization options for the form compiler
- parameters["form_compiler"]["cpp_optimize"] = True
- parameters["form_compiler"]["optimize"] = True
-
-A mesh is created, and a quadratic finite element function space:
-
-.. code-block:: python
-
- # Make mesh ghosted for evaluation of DG terms
- parameters["ghost_mode"] = "shared_facet"
-
- # Create mesh and define function space
- mesh = UnitSquareMesh(32, 32)
- V = FunctionSpace(mesh, "CG", 2)
-
-A subclass of :py:class:`SubDomain <dolfin.cpp.SubDomain>`,
-``DirichletBoundary`` is created for later defining the boundary of
-the domain:
-
-.. code-block:: python
-
- # Define Dirichlet boundary
- class DirichletBoundary(SubDomain):
- def inside(self, x, on_boundary):
- return on_boundary
-
-A subclass of :py:class:`Expression
-<dolfin.functions.expression.Expression>`, ``Source`` is created for
-the source term :math:`f`:
-
-.. code-block:: python
-
- class Source(Expression):
- def eval(self, values, x):
- values[0] = 4.0*pi**4*sin(pi*x[0])*sin(pi*x[1])
-
-The Dirichlet boundary condition is created:
-
-.. code-block:: python
-
- # Define boundary condition
- u0 = Constant(0.0)
- bc = DirichletBC(V, u0, DirichletBoundary())
-
-On the finite element space ``V``, trial and test functions are created:
-
-.. code-block:: python
-
- # Define trial and test functions
- u = TrialFunction(V)
- v = TestFunction(V)
-
-A function for the cell size :math:`h` is created, as is a function
-for the average size of cells that share a facet (``h_avg``). The UFL
-syntax ``('+')`` and ``('-')`` restricts a function to the ``('+')``
-and ``('-')`` sides of a facet, respectively. The unit outward normal
-to cell boundaries (``n``) is created, as is the source term ``f`` and
-the penalty parameter ``alpha``. The penalty parameters is made a
-:py:class:`Constant <dolfin.functions.constant.Constant>` so that it
-can be changed without needing to regenerate code.
-
-.. code-block:: python
-
- # Define normal component, mesh size and right-hand side
- h = CellSize(mesh)
- h_avg = (h('+') + h('-'))/2.0
- n = FacetNormal(mesh)
- f = Source(degree=2)
-
- # Penalty parameter
- alpha = Constant(8.0)
-
-The bilinear and linear forms are defined:
-
-.. code-block:: python
-
- # Define bilinear form
- a = inner(div(grad(u)), div(grad(v)))*dx \
- - inner(avg(div(grad(u))), jump(grad(v), n))*dS \
- - inner(jump(grad(u), n), avg(div(grad(v))))*dS \
- + alpha/h_avg*inner(jump(grad(u),n), jump(grad(v),n))*dS
-
- # Define linear form
- L = f*v*dx
-
-A :py:class:`Function <dolfin.functions.function.Function>` is created
-to store the solution and the variational problem is solved:
-
-.. code-block:: python
-
- # Solve variational problem
- u = Function(V)
- solve(a == L, u, bc)
-
-The computed solution is written to a file in VTK format and plotted to
-the screen.
-
-.. code-block:: python
-
- # Save solution to file
- file = File("biharmonic.pvd")
- file << u
-
- # Plot solution
- plot(u, interactive=True)
-
-
-Complete code
--------------
-
-.. literalinclude:: demo_biharmonic.py
- :start-after: # Begin demo
diff --git a/demo/documented/built-in-meshes/cpp/CMakeLists.txt b/demo/documented/built-in-meshes/cpp/CMakeLists.txt
index 0083b6a..15094f4 100644
--- a/demo/documented/built-in-meshes/cpp/CMakeLists.txt
+++ b/demo/documented/built-in-meshes/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_built-in-meshes)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/built-in-meshes/cpp/documentation.rst b/demo/documented/built-in-meshes/cpp/documentation.rst
deleted file mode 100644
index 636e84b..0000000
--- a/demo/documented/built-in-meshes/cpp/documentation.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-.. Documentation for the built-in-meshes demo from DOLFIN.
-
-.. _demo_pde_built-in-meshes_python_documentation:
-
-There is as yet no documentation for the C++ version of this demo.
-Please consider contributing the missing documentation.
diff --git a/demo/documented/built-in-meshes/cpp/main.cpp b/demo/documented/built-in-meshes/cpp/main.cpp
deleted file mode 100644
index 007647a..0000000
--- a/demo/documented/built-in-meshes/cpp/main.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright (C) 2009 Kristian B. Oelgaard
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2009-09-29
-// Last changed: 2014-08-11
-//
-// Modified by Anders Logg 2015
-//
-// This demo illustrates the built-in mesh types.
-
-#include <dolfin.h>
-
-using namespace dolfin;
-
-int main()
-{
- if (dolfin::MPI::size(MPI_COMM_WORLD) == 1)
- {
- UnitIntervalMesh interval(10);
- info("Plotting a UnitIntervalMesh");
- plot(interval, "Unit interval");
- }
-
- UnitSquareMesh square_default(10, 10);
- info("Plotting a UnitSquareMesh");
- plot(square_default, "Unit square");
-
- UnitSquareMesh square_left(10, 10, "left");
- info("Plotting a UnitSquareMesh");
- plot(square_left, "Unit square (left)");
-
- UnitSquareMesh square_crossed(10, 10, "crossed");
- info("Plotting a UnitSquareMesh");
- plot(square_crossed, "Unit square (crossed)");
-
- UnitSquareMesh square_right_left(10, 10, "right/left");
- info("Plotting a UnitSquareMesh");
- plot(square_right_left, "Unit square (right/left)");
-
- RectangleMesh rectangle_default(Point(0.0, 0.0), Point(10.0, 4.0), 10, 10);
- info("Plotting a RectangleMesh");
- plot(rectangle_default, "Rectangle");
-
- RectangleMesh rectangle_right_left(Point(-3.0, 2.0), Point(7.0, 6.0), 10, 10, "right/left");
- info("Plotting a RectangleMesh");
- plot(rectangle_right_left, "Rectangle (right/left)");
-
- UnitCubeMesh cube(10, 10, 10);
- info("Plotting a UnitCubeMesh");
- plot(cube, "Unit cube");
-
- BoxMesh box(Point(0.0, 0.0, 0.0), Point(10.0, 4.0, 2.0), 10, 10, 10);
- info("Plotting a BoxMesh");
- plot(box, "Box");
-
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/built-in-meshes/cpp/main.cpp.rst b/demo/documented/built-in-meshes/cpp/main.cpp.rst
new file mode 100644
index 0000000..fe68103
--- /dev/null
+++ b/demo/documented/built-in-meshes/cpp/main.cpp.rst
@@ -0,0 +1,68 @@
+Built-in meshes
+===============
+
+This demo illustrates:
+
+* How to define some of the different built-in meshes in DOLFIN
+
+
+Implementation
+--------------
+
+Running this demo requires the files: :download:`main.cpp` and
+:download:`CMakeLists.txt`.
+
+
+Under construction
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+
+ using namespace dolfin;
+
+ int main()
+ {
+ if (dolfin::MPI::size(MPI_COMM_WORLD) == 1)
+ {
+ UnitIntervalMesh interval(10);
+ info("Plotting a UnitIntervalMesh");
+ plot(interval, "Unit interval");
+ }
+
+ UnitSquareMesh square_default(10, 10);
+ info("Plotting a UnitSquareMesh");
+ plot(square_default, "Unit square");
+
+ UnitSquareMesh square_left(10, 10, "left");
+ info("Plotting a UnitSquareMesh");
+ plot(square_left, "Unit square (left)");
+
+ UnitSquareMesh square_crossed(10, 10, "crossed");
+ info("Plotting a UnitSquareMesh");
+ plot(square_crossed, "Unit square (crossed)");
+
+ UnitSquareMesh square_right_left(10, 10, "right/left");
+ info("Plotting a UnitSquareMesh");
+ plot(square_right_left, "Unit square (right/left)");
+
+ RectangleMesh rectangle_default(Point(0.0, 0.0), Point(10.0, 4.0), 10, 10);
+ info("Plotting a RectangleMesh");
+ plot(rectangle_default, "Rectangle");
+
+ RectangleMesh rectangle_right_left(Point(-3.0, 2.0), Point(7.0, 6.0), 10, 10, "right/left");
+ info("Plotting a RectangleMesh");
+ plot(rectangle_right_left, "Rectangle (right/left)");
+
+ UnitCubeMesh cube(10, 10, 10);
+ info("Plotting a UnitCubeMesh");
+ plot(cube, "Unit cube");
+
+ BoxMesh box(Point(0.0, 0.0, 0.0), Point(10.0, 4.0, 2.0), 10, 10, 10);
+ info("Plotting a BoxMesh");
+ plot(box, "Box");
+
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/built-in-meshes/python/demo_built-in-meshes.py b/demo/documented/built-in-meshes/python/demo_built-in-meshes.py
index 7b91e58..677cc11 100644
--- a/demo/documented/built-in-meshes/python/demo_built-in-meshes.py
+++ b/demo/documented/built-in-meshes/python/demo_built-in-meshes.py
@@ -1,43 +1,71 @@
-"""This demo illustrates the built-in mesh types."""
-
-# Copyright (C) 2008 Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Anders Logg 2008, 2014, 2015
-# Modified by Benjamin Kehlet 2012
-#
-# Begin demo
-
-from __future__ import print_function
+# Built-in meshes
+# ===============
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_built-in-meshes.py`, and demonstrates use of the
+# built-in meshes in DOLFIN.
+#
+# This demo illustrates:
+#
+# * How to define some of the different built-in meshes in DOLFIN
+#
+#
+# Problem definition
+# ------------------
+#
+# The demo focuses on the built-in meshes. We will look at the following
+# meshes:
+#
+# * :py:class:`UnitIntervalMesh <dolfin.cpp.mesh.UnitIntervalMesh>`
+# * :py:class:`UnitSquareMesh <dolfin.cpp.mesh.UnitSquareMesh>`
+# * :py:class:`RectangleMesh <dolfin.cpp.mesh.RectangleMesh>`
+# * :py:class:`UnitCubeMesh <dolfin.cpp.mesh.UnitCubeMesh>`
+# * :py:class:`BoxMesh <dolfin.cpp.mesh.BoxMesh>`
+#
+#
+# Implementation
+# --------------
+#
+# First, the :py:mod:`dolfin` module is imported::
+
from dolfin import *
-# Check for debugging of buildbot failures
-import os
-if MPI.size(mpi_comm_world()) > 1 and not bool(int(os.environ.get("DOLFIN_NOPLOT", "0"))):
- raise RuntimeError("When running this demo in parallel, DOLFIN_NOPLOT must be set to disable the plot windows.")
+# The first mesh we make is a mesh over the unit interval
+# :math:`(0,1)`. :py:class:`UnitIntervalMesh
+# <dolfin.cpp.mesh.UnitIntervalMesh>` takes the number of intervals
+# :math:`(n_x)` as input argument, and the total number of vertices is
+# therefore :math:`(n_x+1)`. ::
mesh = UnitIntervalMesh(10)
print("Plotting a UnitIntervalMesh")
plot(mesh, title="Unit interval")
+# This produces a mesh looking as follows:
+#
+# .. image:: unitintervalmesh.png
+# :scale: 75 %
+#
+# We then make our first version of a mesh on the unit square
+# :math:`[0,1] \times [0,1]`. We must give the number of cells in the
+# horizontal and vertical directions as the first two arguments to
+# :py:class:`UnitSquareMesh
+# <dolfin.cpp.generation.UnitSquareMesh>`. There is a third optional
+# argument that indicates the direction of the diagonals. This can be
+# set to "left", "right", "right/left", "left/right", or "crossed". We
+# can also omit this argument and thereby use the default direction
+# "right". ::
+
mesh = UnitSquareMesh(10, 10)
print("Plotting a UnitSquareMesh")
plot(mesh, title="Unit square")
+# .. image:: unitsquaremesh.png
+# :scale: 75 %
+#
+# Our second version of a mesh on the unit square has diagonals to the
+# left, the third version has crossed diagonals and our final version
+# has diagonals to both left and right::
+
mesh = UnitSquareMesh(10, 10, "left")
print("Plotting a UnitSquareMesh")
plot(mesh, title="Unit square (left)")
@@ -50,6 +78,25 @@ mesh = UnitSquareMesh(10, 10, "right/left")
print("Plotting a UnitSquareMesh")
plot(mesh, title="Unit square (right/left)")
+# .. image:: unitsquaremesh_left.png
+# :scale: 65 %
+#
+# .. image:: unitsquaremesh_crossed.png
+# :scale: 65 %
+#
+# .. image:: unitsquaremesh_left_right.png
+# :scale: 65 %
+#
+# The class :py:class:`RectangleMesh
+# <dolfin.cpp.generation.RectangleMesh>` creates a mesh of a 2D
+# rectangle spanned by two points (opposing corners) of the rectangle.
+# Three additional arguments specify the number of divisions in the
+# :math:`x`- and :math:`y`-directions, and as above the direction of the
+# diagonals is given as a final optional argument ("left", "right",
+# "left/right", or "crossed"). In the first mesh we use the default
+# direction ("right") of the diagonal, and in the second mesh we use
+# diagonals to both left and right. ::
+
mesh = RectangleMesh(Point(0.0, 0.0), Point(10.0, 4.0), 10, 10)
print("Plotting a RectangleMesh")
plot(mesh, title="Rectangle")
@@ -58,12 +105,45 @@ mesh = RectangleMesh(Point(-3.0, 2.0), Point(7.0, 6.0), 10, 10, "right/left")
print("Plotting a RectangleMesh")
plot(mesh, title="Rectangle (right/left)")
+# .. image:: rectanglemesh.png
+# :scale: 75 %
+#
+# .. image:: rectanglemesh_left_right.png
+# :scale: 75 %
+#
+# To make a mesh of the 3D unit cube :math:`[0,1] \times [0,1] \times
+# [0,1]`, we use :py:class:`UnitCubeMesh
+# <dolfin.cpp.generation.UnitCubeMesh>`. :py:class:`UnitCubeMesh
+# <dolfin.cpp.generation.UnitCubeMesh>` takes the number of cells in the
+# :math:`x`-, :math:`y`- and :math:`z`-direction as the only three
+# arguments. ::
+
mesh = UnitCubeMesh(10, 10, 10)
print("Plotting a UnitCubeMesh")
plot(mesh, title="Unit cube")
+# .. image:: unitcubemesh.png
+# :scale: 75 %
+#
+# Finally we will demonstrate a mesh on a rectangular prism in 3D. The
+# prism is specified by two points (opposing corners) of the
+# prism. Three additional arguments specify the number of divisions in
+# the :math:`x`-, :math:`y`- and :math:`z`-directions.
+#
+# Meshes for more complex geometries may be created using the mshr
+# library, which functions as a plugin to DOLFIN, providing support for
+# Constructive Solid Geometry (CSG) and mesh generation. For more
+# details, refer to the mshr documentation. ::
+
mesh = BoxMesh(Point(0.0, 0.0, 0.0), Point(10.0, 4.0, 2.0), 10, 10, 10)
print("Plotting a BoxMesh")
plot(mesh, title="Box")
+# .. image:: boxmesh.png
+# :scale: 75 %
+#
+# By calling :py:meth:`interactive
+# <dolfin.cpp.io.VTKPlotter.interactive>` we are allowed to resize, move
+# and rotate the plots. ::
+
interactive()
diff --git a/demo/documented/built-in-meshes/python/documentation.rst b/demo/documented/built-in-meshes/python/demo_built-in-meshes.py.rst
similarity index 77%
rename from demo/documented/built-in-meshes/python/documentation.rst
rename to demo/documented/built-in-meshes/python/demo_built-in-meshes.py.rst
index 082af2d..f32bb7b 100644
--- a/demo/documented/built-in-meshes/python/documentation.rst
+++ b/demo/documented/built-in-meshes/python/demo_built-in-meshes.py.rst
@@ -1,22 +1,32 @@
-.. Documentation for the built-in-meshes demo from DOLFIN.
-
-.. _demo_pde_built-in-meshes_python_documentation:
-
Built-in meshes
-====================
+===============
This demo is implemented in a single Python file,
-:download:`demo_built-in-meshes.py`, and demonstrates use of the built-in
-meshes in DOLFIN.
+:download:`demo_built-in-meshes.py`, and demonstrates use of the
+built-in meshes in DOLFIN.
+
+This demo illustrates:
+
+* How to define some of the different built-in meshes in DOLFIN
+
+
+Problem definition
+------------------
+
+The demo focuses on the built-in meshes. We will look at the following
+meshes:
+
+* :py:class:`UnitIntervalMesh <dolfin.cpp.mesh.UnitIntervalMesh>`
+* :py:class:`UnitSquareMesh <dolfin.cpp.mesh.UnitSquareMesh>`
+* :py:class:`RectangleMesh <dolfin.cpp.mesh.RectangleMesh>`
+* :py:class:`UnitCubeMesh <dolfin.cpp.mesh.UnitCubeMesh>`
+* :py:class:`BoxMesh <dolfin.cpp.mesh.BoxMesh>`
-.. include:: ../common.txt
Implementation
--------------
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
+First, the :py:mod:`dolfin` module is imported::
from dolfin import *
@@ -24,9 +34,7 @@ The first mesh we make is a mesh over the unit interval
:math:`(0,1)`. :py:class:`UnitIntervalMesh
<dolfin.cpp.mesh.UnitIntervalMesh>` takes the number of intervals
:math:`(n_x)` as input argument, and the total number of vertices is
-therefore :math:`(n_x+1)`.
-
-.. code-block:: python
+therefore :math:`(n_x+1)`. ::
mesh = UnitIntervalMesh(10)
print("Plotting a UnitIntervalMesh")
@@ -45,9 +53,7 @@ horizontal and vertical directions as the first two arguments to
argument that indicates the direction of the diagonals. This can be
set to "left", "right", "right/left", "left/right", or "crossed". We
can also omit this argument and thereby use the default direction
-"right".
-
-.. code-block:: python
+"right". ::
mesh = UnitSquareMesh(10, 10)
print("Plotting a UnitSquareMesh")
@@ -58,9 +64,7 @@ can also omit this argument and thereby use the default direction
Our second version of a mesh on the unit square has diagonals to the
left, the third version has crossed diagonals and our final version
-has diagonals to both left and right:
-
-.. code-block:: python
+has diagonals to both left and right::
mesh = UnitSquareMesh(10, 10, "left")
print("Plotting a UnitSquareMesh")
@@ -91,9 +95,7 @@ Three additional arguments specify the number of divisions in the
diagonals is given as a final optional argument ("left", "right",
"left/right", or "crossed"). In the first mesh we use the default
direction ("right") of the diagonal, and in the second mesh we use
-diagonals to both left and right.
-
-.. code-block:: python
+diagonals to both left and right. ::
mesh = RectangleMesh(Point(0.0, 0.0), Point(10.0, 4.0), 10, 10)
print("Plotting a RectangleMesh")
@@ -114,9 +116,7 @@ To make a mesh of the 3D unit cube :math:`[0,1] \times [0,1] \times
<dolfin.cpp.generation.UnitCubeMesh>`. :py:class:`UnitCubeMesh
<dolfin.cpp.generation.UnitCubeMesh>` takes the number of cells in the
:math:`x`-, :math:`y`- and :math:`z`-direction as the only three
-arguments.
-
-.. code-block:: python
+arguments. ::
mesh = UnitCubeMesh(10, 10, 10)
print("Plotting a UnitCubeMesh")
@@ -125,18 +125,15 @@ arguments.
.. image:: unitcubemesh.png
:scale: 75 %
-Finally we will demonstrate a mesh on a rectangular prism in
-3D. The prism is specified by two points (opposing corners)
-of the prism. Three additional arguments specify the
-number of divisions in the :math:`x`-, :math:`y`- and
-:math:`z`-directions.
+Finally we will demonstrate a mesh on a rectangular prism in 3D. The
+prism is specified by two points (opposing corners) of the
+prism. Three additional arguments specify the number of divisions in
+the :math:`x`-, :math:`y`- and :math:`z`-directions.
Meshes for more complex geometries may be created using the mshr
-library, which functions as a plugin to DOLFIN, providing support
-for Constructive Solid Geometry (CSG) and mesh generation. For
-more details, refer to the mshr documentation.
-
-.. code-block:: python
+library, which functions as a plugin to DOLFIN, providing support for
+Constructive Solid Geometry (CSG) and mesh generation. For more
+details, refer to the mshr documentation. ::
mesh = BoxMesh(Point(0.0, 0.0, 0.0), Point(10.0, 4.0, 2.0), 10, 10, 10)
print("Plotting a BoxMesh")
@@ -147,14 +144,6 @@ more details, refer to the mshr documentation.
By calling :py:meth:`interactive
<dolfin.cpp.io.VTKPlotter.interactive>` we are allowed to resize, move
-and rotate the plots.
-
-.. code-block:: python
+and rotate the plots. ::
interactive()
-
-Complete code
--------------
-
-.. literalinclude:: demo_built-in-meshes.py
- :start-after: # Begin demo
diff --git a/demo/documented/cahn-hilliard/cpp/CMakeLists.txt b/demo/documented/cahn-hilliard/cpp/CMakeLists.txt
index c9743fb..cfdba92 100644
--- a/demo/documented/cahn-hilliard/cpp/CMakeLists.txt
+++ b/demo/documented/cahn-hilliard/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_cahn-hilliard)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,13 +39,21 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
endif()
# Executable
-add_executable(${PROJECT_NAME} CahnHilliard3D.cpp CahnHilliard2D.cpp main.cpp)
+add_executable(${PROJECT_NAME} main.cpp)
# Target libraries
target_link_libraries(${PROJECT_NAME} ${DOLFIN_LIBRARIES})
diff --git a/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.cpp b/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.cpp
index b6f3c14..c5a9bf5 100644
--- a/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.cpp
+++ b/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,11 +13,12 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: True
#include "CahnHilliard2D.h"
@@ -2224,25 +2225,16 @@ void cahnhilliard2d_finite_element_1::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -3647,25 +3639,16 @@ void cahnhilliard2d_finite_element_2::evaluate_dofs(double * values,
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -4066,6 +4049,30 @@ std::size_t cahnhilliard2d_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard2d_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard2d_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4103,7 +4110,7 @@ void cahnhilliard2d_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard2d_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4154,6 +4161,91 @@ void cahnhilliard2d_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void cahnhilliard2d_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+}
+
std::size_t cahnhilliard2d_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -4254,6 +4346,30 @@ std::size_t cahnhilliard2d_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard2d_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard2d_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4303,7 +4419,7 @@ void cahnhilliard2d_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard2d_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4357,6 +4473,103 @@ void cahnhilliard2d_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
+void cahnhilliard2d_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
std::size_t cahnhilliard2d_dofmap_1::num_sub_dofmaps() const
{
return 2;
@@ -4471,6 +4684,30 @@ std::size_t cahnhilliard2d_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard2d_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard2d_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4520,7 +4757,7 @@ void cahnhilliard2d_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard2d_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4574,12 +4811,109 @@ void cahnhilliard2d_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t cahnhilliard2d_dofmap_2::num_sub_dofmaps() const
+void cahnhilliard2d_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- return 2;
-}
-
-ufc::dofmap * cahnhilliard2d_dofmap_2::create_sub_dofmap(std::size_t i) const
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+}
+
+std::size_t cahnhilliard2d_dofmap_2::num_sub_dofmaps() const
+{
+ return 2;
+}
+
+ufc::dofmap * cahnhilliard2d_dofmap_2::create_sub_dofmap(std::size_t i) const
{
switch (i)
{
@@ -4688,6 +5022,30 @@ std::size_t cahnhilliard2d_dofmap_3::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard2d_dofmap_3::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard2d_dofmap_3::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -4720,7 +5078,7 @@ void cahnhilliard2d_dofmap_3::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard2d_dofmap_3::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 2)
{
@@ -4753,6 +5111,86 @@ void cahnhilliard2d_dofmap_3::tabulate_entity_dofs(std::size_t * dofs,
}
+void cahnhilliard2d_dofmap_3::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+}
+
std::size_t cahnhilliard2d_dofmap_3::num_sub_dofmaps() const
{
return 0;
@@ -4771,18 +5209,18 @@ ufc::dofmap * cahnhilliard2d_dofmap_3::create() const
cahnhilliard2d_cell_integral_0_otherwise::cahnhilliard2d_cell_integral_0_otherwise() : ufc::cell_integral()
{
-
+
}
cahnhilliard2d_cell_integral_0_otherwise::~cahnhilliard2d_cell_integral_0_otherwise()
{
-
+
}
const std::vector<bool> & cahnhilliard2d_cell_integral_0_otherwise::enabled_coefficients() const
{
- static const std::vector<bool> enabled({true, true, true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true, true, true});
+return enabled;
}
void cahnhilliard2d_cell_integral_0_otherwise::tabulate_tensor(double * A,
@@ -4790,181 +5228,212 @@ void cahnhilliard2d_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W6[6] = {0.054975871827661, 0.054975871827661, 0.054975871827661, 0.111690794839005, 0.111690794839005, 0.111690794839005};
- // Quadrature points on the UFC reference element: (0.816847572980459, 0.091576213509771), (0.091576213509771, 0.816847572980459), (0.091576213509771, 0.091576213509771), (0.10810301816807, 0.445948490915965), (0.445948490915965, 0.10810301816807), (0.445948490915965, 0.445948490915965)
-
- // Values of basis functions at quadrature points.
- static const double FE0_C0[6][3] = \
- {{0.09157621350977, 0.816847572980459, 0.091576213509771},
- {0.0915762135097701, 0.0915762135097711, 0.816847572980459},
- {0.816847572980458, 0.091576213509771, 0.091576213509771},
- {0.445948490915965, 0.10810301816807, 0.445948490915965},
- {0.445948490915965, 0.445948490915965, 0.10810301816807},
- {0.10810301816807, 0.445948490915965, 0.445948490915965}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[3] = {0, 1, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc3[3] = {3, 4, 5};
-
- static const double FE0_C0_D01[6][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc2[2] = {0, 1};
-
- // Array of non-zero columns
- static const unsigned int nzc4[2] = {3, 5};
-
- // Array of non-zero columns
- static const unsigned int nzc5[2] = {3, 4};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 6; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights6[6] = { 0.054975871827661, 0.054975871827661, 0.054975871827661, 0.111690794839005, 0.111690794839005, 0.111690794839005 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 3 tables for 6 quadrature points
+ alignas(32) static const double FE19_C0_D01_Q6[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE19_C0_D10_Q6[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE19_C0_Q6[1][6][3] =
+ { { { 0.09157621350977, 0.816847572980459, 0.091576213509771 },
+ { 0.0915762135097701, 0.0915762135097711, 0.816847572980459 },
+ { 0.816847572980458, 0.091576213509771, 0.091576213509771 },
+ { 0.445948490915965, 0.10810301816807, 0.445948490915965 },
+ { 0.445948490915965, 0.445948490915965, 0.10810301816807 },
+ { 0.10810301816807, 0.445948490915965, 0.445948490915965 } } };
+ // Reset element tensor
+ memset(A, 0, 6 * sizeof(*A));
+ // Unstructured piecewise computations
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 63.
- double G[12];
- G[0] = det*w[3][0]*w[4][0]*(K[0]*K[2] + K[1]*K[3]);
- G[1] = det*w[3][0]*w[4][0]*(K[2]*K[2] + K[3]*K[3]);
- G[2] = det*w[3][0]*(K[0]*K[2]*(1.0 - w[4][0]) + K[1]*K[3]*(1.0 - w[4][0]));
- G[3] = det*w[3][0]*(K[2]*K[2]*(1.0 - w[4][0]) + K[3]*K[3]*(1.0 - w[4][0]));
- G[4] = det*w[3][0]*w[4][0]*(K[0]*K[0] + K[1]*K[1]);
- G[5] = det*w[3][0]*(K[0]*K[0]*(1.0 - w[4][0]) + K[1]*K[1]*(1.0 - w[4][0]));
- G[6] = - det*w[2][0]*(K[0]*K[2] + K[1]*K[3]);
- G[7] = - det*w[2][0]*(K[2]*K[2] + K[3]*K[3]);
- G[8] = - det*w[2][0]*(K[0]*K[0] + K[1]*K[1]);
- G[9] = -400.0*det;
- G[10] = 600.0*det;
- G[11] = -200.0*det;
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 630
- for (unsigned int ip = 0; ip < 6; ip++)
+ w0_d1_c0 += w[0][ic] * FE19_C0_D01_Q6[0][0][ic - 0];
+ }
+ const double J_c0 = coordinate_dofs[0] * FE19_C0_D10_Q6[0][0][0] + coordinate_dofs[2] * FE19_C0_D10_Q6[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE19_C0_D01_Q6[0][0][0] + coordinate_dofs[3] * FE19_C0_D01_Q6[0][0][1] + coordinate_dofs[5] * FE19_C0_D01_Q6[0][0][2];
+ const double J_c1 = coordinate_dofs[0] * FE19_C0_D01_Q6[0][0][0] + coordinate_dofs[2] * FE19_C0_D01_Q6[0][0][1] + coordinate_dofs[4] * FE19_C0_D01_Q6[0][0][2];
+ const double J_c2 = coordinate_dofs[1] * FE19_C0_D10_Q6[0][0][0] + coordinate_dofs[3] * FE19_C0_D10_Q6[0][0][1];
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
{
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
- double F7 = 0.0;
- double F8 = 0.0;
-
- // Total number of operations to compute function values = 24
- for (unsigned int r = 0; r < 2; r++)
- {
- F3 += FE0_C0_D01[ip][r]*w[0][nzc2[r]];
- F4 += FE0_C0_D01[ip][r]*w[0][nzc1[r]];
- F5 += FE0_C0_D01[ip][r]*w[0][nzc5[r]];
- F6 += FE0_C0_D01[ip][r]*w[0][nzc4[r]];
- F7 += FE0_C0_D01[ip][r]*w[1][nzc5[r]];
- F8 += FE0_C0_D01[ip][r]*w[1][nzc4[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 18
- for (unsigned int r = 0; r < 3; r++)
- {
- F0 += FE0_C0[ip][r]*w[0][nzc3[r]];
- F1 += FE0_C0[ip][r]*w[0][nzc0[r]];
- F2 += FE0_C0[ip][r]*w[1][nzc0[r]];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 35
- double I[6];
- // Number of operations: 8
- I[0] = W6[ip]*(F5*G[0] + F6*G[1] + F7*G[2] + F8*G[3]);
-
- // Number of operations: 8
- I[1] = W6[ip]*(F5*G[4] + F6*G[0] + F7*G[5] + F8*G[2]);
-
- // Number of operations: 4
- I[2] = W6[ip]*(F3*G[6] + F4*G[7]);
-
- // Number of operations: 4
- I[3] = W6[ip]*(F3*G[8] + F4*G[6]);
-
- // Number of operations: 3
- I[4] = W6[ip]*det*(F1 - F2);
-
- // Number of operations: 8
- I[5] = W6[ip]*(F0*det + F1*(G[11] + F1*(G[10] + F1*G[9])));
-
-
- // Number of operations for primary indices: 16
- for (unsigned int j = 0; j < 2; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc1[j]] += FE0_C0_D01[ip][j]*I[0];
- // Number of operations to compute entry: 2
- A[nzc2[j]] += FE0_C0_D01[ip][j]*I[1];
- // Number of operations to compute entry: 2
- A[nzc4[j]] += FE0_C0_D01[ip][j]*I[2];
- // Number of operations to compute entry: 2
- A[nzc5[j]] += FE0_C0_D01[ip][j]*I[3];
- } // end loop over 'j'
-
- // Number of operations for primary indices: 12
- for (unsigned int j = 0; j < 3; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc0[j]] += FE0_C0[ip][j]*I[4];
- // Number of operations to compute entry: 2
- A[nzc3[j]] += FE0_C0[ip][j]*I[5];
- } // end loop over 'j'
- } // end loop over 'ip'
+ w0_d0_c0 += w[0][ic] * FE19_C0_D10_Q6[0][0][ic - 0];
+ }
+ double w1_d1_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w1_d1_c1 += w[1][ic] * FE19_C0_D01_Q6[0][0][ic - 3];
+ }
+ double w1_d0_c1 = 0.0;
+ for (int ic = 3; ic < 5; ++ic)
+ {
+ w1_d0_c1 += w[1][ic] * FE19_C0_D10_Q6[0][0][ic - 3];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE19_C0_D01_Q6[0][0][ic - 3];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 3; ic < 5; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE19_C0_D10_Q6[0][0][ic - 3];
+ }
+ alignas(32) double sp6[55];
+ sp6[0] = J_c0 * J_c3;
+ sp6[1] = J_c1 * J_c2;
+ sp6[2] = -1 * sp6[1];
+ sp6[3] = sp6[0] + sp6[2];
+ sp6[4] = J_c0 / sp6[3];
+ sp6[5] = w0_d1_c0 * sp6[4];
+ sp6[6] = -1 * J_c1;
+ sp6[7] = sp6[6] / sp6[3];
+ sp6[8] = w0_d0_c0 * sp6[7];
+ sp6[9] = sp6[5] + sp6[8];
+ sp6[10] = sp6[9] * sp6[4];
+ sp6[11] = sp6[9] * sp6[7];
+ sp6[12] = J_c3 / sp6[3];
+ sp6[13] = w0_d0_c0 * sp6[12];
+ sp6[14] = -1 * J_c2;
+ sp6[15] = sp6[14] / sp6[3];
+ sp6[16] = w0_d1_c0 * sp6[15];
+ sp6[17] = sp6[13] + sp6[16];
+ sp6[18] = sp6[17] * sp6[15];
+ sp6[19] = sp6[17] * sp6[12];
+ sp6[20] = sp6[10] + sp6[18];
+ sp6[21] = sp6[19] + sp6[11];
+ sp6[22] = sp6[20] * w[2][0];
+ sp6[23] = sp6[21] * w[2][0];
+ sp6[24] = -1 * sp6[22];
+ sp6[25] = -1 * sp6[23];
+ sp6[26] = w1_d1_c1 * sp6[4];
+ sp6[27] = w1_d0_c1 * sp6[7];
+ sp6[28] = sp6[26] + sp6[27];
+ sp6[29] = -1 * w[4][0];
+ sp6[30] = 1 + sp6[29];
+ sp6[31] = sp6[28] * sp6[30];
+ sp6[32] = w0_d1_c1 * sp6[4];
+ sp6[33] = w0_d0_c1 * sp6[7];
+ sp6[34] = sp6[32] + sp6[33];
+ sp6[35] = sp6[34] * w[4][0];
+ sp6[36] = sp6[31] + sp6[35];
+ sp6[37] = sp6[36] * sp6[4];
+ sp6[38] = sp6[36] * sp6[7];
+ sp6[39] = w1_d0_c1 * sp6[12];
+ sp6[40] = w1_d1_c1 * sp6[15];
+ sp6[41] = sp6[39] + sp6[40];
+ sp6[42] = sp6[41] * sp6[30];
+ sp6[43] = w0_d0_c1 * sp6[12];
+ sp6[44] = w0_d1_c1 * sp6[15];
+ sp6[45] = sp6[43] + sp6[44];
+ sp6[46] = sp6[45] * w[4][0];
+ sp6[47] = sp6[42] + sp6[46];
+ sp6[48] = sp6[47] * sp6[15];
+ sp6[49] = sp6[47] * sp6[12];
+ sp6[50] = sp6[37] + sp6[48];
+ sp6[51] = sp6[49] + sp6[38];
+ sp6[52] = sp6[50] * w[3][0];
+ sp6[53] = sp6[51] * w[3][0];
+ sp6[54] = std::abs(sp6[3]);
+ for (int iq6 = 0; iq6 < 6; ++iq6)
+ {
+ // Quadrature loop body setup (num_points=6)
+ // Unstructured varying computations
+ double w0_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
+ {
+ w0_c0 += w[0][ic] * FE19_C0_Q6[0][iq6][ic - 0];
+ }
+ double w0_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w0_c1 += w[0][ic] * FE19_C0_Q6[0][iq6][ic - 3];
+ }
+ double w1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
+ {
+ w1_c0 += w[1][ic] * FE19_C0_Q6[0][iq6][ic - 0];
+ }
+ alignas(32) double sv6[22];
+ sv6[0] = -1 * w1_c0;
+ sv6[1] = w0_c0 + sv6[0];
+ sv6[2] = -1 * w0_c0;
+ sv6[3] = 1 + sv6[2];
+ sv6[4] = -2.0 * sv6[3];
+ sv6[5] = std::pow(w0_c0, 2);
+ sv6[6] = 100 * sv6[5];
+ sv6[7] = sv6[4] * sv6[6];
+ sv6[8] = 2.0 * w0_c0;
+ sv6[9] = 100 * sv6[8];
+ sv6[10] = std::pow(sv6[3], 2);
+ sv6[11] = sv6[9] * sv6[10];
+ sv6[12] = sv6[7] + sv6[11];
+ sv6[13] = -1 * sv6[12];
+ sv6[14] = w0_c1 + sv6[13];
+ sv6[15] = weights6[iq6] * sp6[54];
+ sv6[16] = sv6[1] * sv6[15];
+ sv6[17] = sv6[14] * sv6[15];
+ sv6[18] = sp6[24] * sv6[15];
+ sv6[19] = sp6[25] * sv6[15];
+ sv6[20] = sv6[15] * sp6[52];
+ sv6[21] = sv6[15] * sp6[53];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ A[ia0] += sv6[21] * FE19_C0_D10_Q6[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv6[16] * FE19_C0_Q6[0][iq6][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv6[20] * FE19_C0_D01_Q6[0][0][ia0 - 0];
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ A[ia0] += sv6[19] * FE19_C0_D10_Q6[0][0][ia0 - 3];
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv6[17] * FE19_C0_Q6[0][iq6][ia0 - 3];
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv6[18] * FE19_C0_D01_Q6[0][0][ia0 - 3];
+ }
+ }
}
cahnhilliard2d_cell_integral_1_otherwise::cahnhilliard2d_cell_integral_1_otherwise() : ufc::cell_integral()
{
-
+
}
cahnhilliard2d_cell_integral_1_otherwise::~cahnhilliard2d_cell_integral_1_otherwise()
{
-
+
}
const std::vector<bool> & cahnhilliard2d_cell_integral_1_otherwise::enabled_coefficients() const
{
- static const std::vector<bool> enabled({true, true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true, true});
+return enabled;
}
void cahnhilliard2d_cell_integral_1_otherwise::tabulate_tensor(double * A,
@@ -4972,162 +5441,201 @@ void cahnhilliard2d_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W6[6] = {0.054975871827661, 0.054975871827661, 0.054975871827661, 0.111690794839005, 0.111690794839005, 0.111690794839005};
- // Quadrature points on the UFC reference element: (0.816847572980459, 0.091576213509771), (0.091576213509771, 0.816847572980459), (0.091576213509771, 0.091576213509771), (0.10810301816807, 0.445948490915965), (0.445948490915965, 0.10810301816807), (0.445948490915965, 0.445948490915965)
-
- // Values of basis functions at quadrature points.
- static const double FE0_C0[6][3] = \
- {{0.09157621350977, 0.816847572980459, 0.091576213509771},
- {0.0915762135097701, 0.0915762135097711, 0.816847572980459},
- {0.816847572980458, 0.091576213509771, 0.091576213509771},
- {0.445948490915965, 0.10810301816807, 0.445948490915965},
- {0.445948490915965, 0.445948490915965, 0.10810301816807},
- {0.10810301816807, 0.445948490915965, 0.445948490915965}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[3] = {0, 1, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc3[3] = {3, 4, 5};
-
- static const double FE0_C0_D01[6][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc2[2] = {0, 1};
-
- // Array of non-zero columns
- static const unsigned int nzc4[2] = {3, 5};
-
- // Array of non-zero columns
- static const unsigned int nzc5[2] = {3, 4};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 36; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights6[6] = { 0.054975871827661, 0.054975871827661, 0.054975871827661, 0.111690794839005, 0.111690794839005, 0.111690794839005 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 3 tables for 6 quadrature points
+ alignas(32) static const double FE17_C0_D01_Q6[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE17_C0_D10_Q6[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE17_C0_Q6[1][6][3] =
+ { { { 0.09157621350977, 0.816847572980459, 0.091576213509771 },
+ { 0.0915762135097701, 0.0915762135097711, 0.816847572980459 },
+ { 0.816847572980458, 0.091576213509771, 0.091576213509771 },
+ { 0.445948490915965, 0.10810301816807, 0.445948490915965 },
+ { 0.445948490915965, 0.445948490915965, 0.10810301816807 },
+ { 0.10810301816807, 0.445948490915965, 0.445948490915965 } } };
+ // Reset element tensor
+ memset(A, 0, 36 * sizeof(*A));
+ // Unstructured piecewise computations
+ const double J_c0 = coordinate_dofs[0] * FE17_C0_D10_Q6[0][0][0] + coordinate_dofs[2] * FE17_C0_D10_Q6[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE17_C0_D01_Q6[0][0][0] + coordinate_dofs[3] * FE17_C0_D01_Q6[0][0][1] + coordinate_dofs[5] * FE17_C0_D01_Q6[0][0][2];
+ const double J_c1 = coordinate_dofs[0] * FE17_C0_D01_Q6[0][0][0] + coordinate_dofs[2] * FE17_C0_D01_Q6[0][0][1] + coordinate_dofs[4] * FE17_C0_D01_Q6[0][0][2];
+ const double J_c2 = coordinate_dofs[1] * FE17_C0_D10_Q6[0][0][0] + coordinate_dofs[3] * FE17_C0_D10_Q6[0][0][1];
+ alignas(32) double sp6[46];
+ sp6[0] = J_c0 * J_c3;
+ sp6[1] = J_c1 * J_c2;
+ sp6[2] = -1 * sp6[1];
+ sp6[3] = sp6[0] + sp6[2];
+ sp6[4] = J_c0 / sp6[3];
+ sp6[5] = -1 * J_c1;
+ sp6[6] = sp6[5] / sp6[3];
+ sp6[7] = sp6[4] * sp6[4];
+ sp6[8] = sp6[4] * sp6[6];
+ sp6[9] = sp6[6] * sp6[6];
+ sp6[10] = J_c3 / sp6[3];
+ sp6[11] = -1 * J_c2;
+ sp6[12] = sp6[11] / sp6[3];
+ sp6[13] = sp6[12] * sp6[12];
+ sp6[14] = sp6[10] * sp6[12];
+ sp6[15] = sp6[10] * sp6[10];
+ sp6[16] = sp6[7] + sp6[13];
+ sp6[17] = sp6[8] + sp6[14];
+ sp6[18] = sp6[15] + sp6[9];
+ sp6[19] = sp6[16] * w[1][0];
+ sp6[20] = sp6[17] * w[1][0];
+ sp6[21] = sp6[18] * w[1][0];
+ sp6[22] = -1 * sp6[19];
+ sp6[23] = -1 * sp6[20];
+ sp6[24] = -1 * sp6[21];
+ sp6[25] = sp6[4] * w[3][0];
+ sp6[26] = sp6[6] * w[3][0];
+ sp6[27] = sp6[25] * sp6[4];
+ sp6[28] = sp6[26] * sp6[4];
+ sp6[29] = sp6[25] * sp6[6];
+ sp6[30] = sp6[26] * sp6[6];
+ sp6[31] = sp6[12] * w[3][0];
+ sp6[32] = sp6[10] * w[3][0];
+ sp6[33] = sp6[31] * sp6[12];
+ sp6[34] = sp6[32] * sp6[12];
+ sp6[35] = sp6[31] * sp6[10];
+ sp6[36] = sp6[32] * sp6[10];
+ sp6[37] = sp6[27] + sp6[33];
+ sp6[38] = sp6[28] + sp6[34];
+ sp6[39] = sp6[35] + sp6[29];
+ sp6[40] = sp6[36] + sp6[30];
+ sp6[41] = sp6[37] * w[2][0];
+ sp6[42] = sp6[38] * w[2][0];
+ sp6[43] = sp6[39] * w[2][0];
+ sp6[44] = sp6[40] * w[2][0];
+ sp6[45] = std::abs(sp6[3]);
+ for (int iq6 = 0; iq6 < 6; ++iq6)
{
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 36.
- double G[9];
- G[0] = det*w[2][0]*w[3][0]*(K[2]*K[2] + K[3]*K[3]);
- G[1] = det*w[2][0]*w[3][0]*(K[0]*K[2] + K[1]*K[3]);
- G[2] = det*w[2][0]*w[3][0]*(K[0]*K[0] + K[1]*K[1]);
- G[3] = - det*w[1][0]*(K[2]*K[2] + K[3]*K[3]);
- G[4] = - det*w[1][0]*(K[0]*K[2] + K[1]*K[3]);
- G[5] = - det*w[1][0]*(K[0]*K[0] + K[1]*K[1]);
- G[6] = -200.0*det;
- G[7] = -1200.0*det;
- G[8] = 1200.0*det;
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 1170
- for (unsigned int ip = 0; ip < 6; ip++)
- {
-
- // Coefficient declarations.
- double F0 = 0.0;
-
- // Total number of operations to compute function values = 6
- for (unsigned int r = 0; r < 3; r++)
- {
- F0 += FE0_C0[ip][r]*w[0][nzc0[r]];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 12
- double I[8];
- // Number of operations: 1
- I[0] = G[0]*W6[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W6[ip];
-
- // Number of operations: 1
- I[2] = G[2]*W6[ip];
-
- // Number of operations: 1
- I[3] = G[3]*W6[ip];
-
- // Number of operations: 1
- I[4] = G[4]*W6[ip];
-
- // Number of operations: 1
- I[5] = G[5]*W6[ip];
-
- // Number of operations: 1
- I[6] = W6[ip]*det;
-
- // Number of operations: 5
- I[7] = W6[ip]*(G[6] + F0*(G[8] + F0*G[7]));
-
-
- // Number of operations for primary indices: 96
- for (unsigned int j = 0; j < 2; j++)
- {
- for (unsigned int k = 0; k < 2; k++)
+ // Quadrature loop body setup (num_points=6)
+ // Unstructured varying computations
+ double w0_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
- // Number of operations to compute entry: 3
- A[nzc1[j]*6 + nzc4[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[nzc1[j]*6 + nzc5[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc2[j]*6 + nzc4[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc2[j]*6 + nzc5[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc4[j]*6 + nzc1[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc4[j]*6 + nzc2[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc5[j]*6 + nzc1[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc5[j]*6 + nzc2[k]] += FE0_C0_D01[ip][j]*FE0_C0_D01[ip][k]*I[5];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 81
- for (unsigned int j = 0; j < 3; j++)
- {
- for (unsigned int k = 0; k < 3; k++)
+ w0_c0 += w[0][ic] * FE17_C0_Q6[0][iq6][ic - 0];
+ }
+ alignas(32) double sv6[24];
+ sv6[0] = -1 * w0_c0;
+ sv6[1] = 1 + sv6[0];
+ sv6[2] = -2.0 * sv6[1];
+ sv6[3] = 2.0 * w0_c0;
+ sv6[4] = 100 * sv6[3];
+ sv6[5] = sv6[2] * sv6[4];
+ sv6[6] = std::pow(w0_c0, 2);
+ sv6[7] = 100 * sv6[6];
+ sv6[8] = 2.0 * sv6[7];
+ sv6[9] = sv6[5] + sv6[8];
+ sv6[10] = std::pow(sv6[1], 2);
+ sv6[11] = 200.0 * sv6[10];
+ sv6[12] = sv6[5] + sv6[11];
+ sv6[13] = sv6[9] + sv6[12];
+ sv6[14] = -1 * sv6[13];
+ sv6[15] = weights6[iq6] * sp6[45];
+ sv6[16] = sv6[14] * sv6[15];
+ sv6[17] = sp6[22] * sv6[15];
+ sv6[18] = sp6[23] * sv6[15];
+ sv6[19] = sp6[24] * sv6[15];
+ sv6[20] = sv6[15] * sp6[41];
+ sv6[21] = sv6[15] * sp6[42];
+ sv6[22] = sv6[15] * sp6[43];
+ sv6[23] = sv6[15] * sp6[44];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
{
- // Number of operations to compute entry: 3
- A[nzc0[j]*6 + nzc0[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc3[j]*6 + nzc0[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc3[j]*6 + nzc3[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[6];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[23] * FE17_C0_D10_Q6[0][0][ia0 - 0] * FE17_C0_D10_Q6[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[22] * FE17_C0_D10_Q6[0][0][ia0 - 0] * FE17_C0_D01_Q6[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[15] * FE17_C0_Q6[0][iq6][ia0 - 0] * FE17_C0_Q6[0][iq6][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[21] * FE17_C0_D01_Q6[0][0][ia0 - 0] * FE17_C0_D10_Q6[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[20] * FE17_C0_D01_Q6[0][0][ia0 - 0] * FE17_C0_D01_Q6[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[19] * FE17_C0_D10_Q6[0][0][ia0 - 3] * FE17_C0_D10_Q6[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[18] * FE17_C0_D10_Q6[0][0][ia0 - 3] * FE17_C0_D01_Q6[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[18] * FE17_C0_D01_Q6[0][0][ia0 - 3] * FE17_C0_D10_Q6[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[16] * FE17_C0_Q6[0][iq6][ia0 - 3] * FE17_C0_Q6[0][iq6][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[17] * FE17_C0_D01_Q6[0][0][ia0 - 3] * FE17_C0_D01_Q6[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv6[15] * FE17_C0_Q6[0][iq6][ia0 - 3] * FE17_C0_Q6[0][iq6][ia1 - 3];
+ }
+ }
+ }
}
diff --git a/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.h b/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.h
index b6a617f..48ac3d5 100644
--- a/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.h
+++ b/demo/documented/cahn-hilliard/cpp/CahnHilliard2D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,15 +13,18 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: True
#ifndef __CAHNHILLIARD2D_H
#define __CAHNHILLIARD2D_H
+#include <cmath>
+#include <cstring>
#include <stdexcept>
#include <ufc.h>
@@ -544,6 +547,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -554,6 +559,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -586,6 +594,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -596,6 +606,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -628,6 +641,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -638,6 +653,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -670,6 +688,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -680,6 +700,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -1213,10 +1236,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1232,10 +1255,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1509,10 +1532,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1528,10 +1551,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.cpp b/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.cpp
index 88742dd..b561c0a 100644
--- a/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.cpp
+++ b/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.cpp
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,11 +13,12 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: True
#include "CahnHilliard3D.h"
@@ -3930,60 +3931,28 @@ void cahnhilliard3d_finite_element_1::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -6019,40 +5988,24 @@ void cahnhilliard3d_finite_element_2::evaluate_dofs(double * values,
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[5] = vals[1];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[6] = vals[1];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[7] = vals[1];
}
@@ -6484,6 +6437,35 @@ std::size_t cahnhilliard3d_dofmap_0::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard3d_dofmap_0::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard3d_dofmap_0::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -6532,7 +6514,7 @@ void cahnhilliard3d_dofmap_0::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard3d_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -6593,6 +6575,156 @@ void cahnhilliard3d_dofmap_0::tabulate_entity_dofs(std::size_t * dofs,
}
+void cahnhilliard3d_dofmap_0::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+}
+
std::size_t cahnhilliard3d_dofmap_0::num_sub_dofmaps() const
{
return 0;
@@ -6703,6 +6835,35 @@ std::size_t cahnhilliard3d_dofmap_1::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard3d_dofmap_1::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard3d_dofmap_1::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -6787,7 +6948,7 @@ void cahnhilliard3d_dofmap_1::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard3d_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -6856,16 +7017,230 @@ void cahnhilliard3d_dofmap_1::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t cahnhilliard3d_dofmap_1::num_sub_dofmaps() const
-{
- return 3;
-}
-
-ufc::dofmap * cahnhilliard3d_dofmap_1::create_sub_dofmap(std::size_t i) const
+void cahnhilliard3d_dofmap_1::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- switch (i)
+ if (d > 3)
{
- case 0:
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+}
+
+std::size_t cahnhilliard3d_dofmap_1::num_sub_dofmaps() const
+{
+ return 3;
+}
+
+ufc::dofmap * cahnhilliard3d_dofmap_1::create_sub_dofmap(std::size_t i) const
+{
+ switch (i)
+ {
+ case 0:
{
return new cahnhilliard3d_dofmap_0();
break;
@@ -6985,6 +7360,35 @@ std::size_t cahnhilliard3d_dofmap_2::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard3d_dofmap_2::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 8;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard3d_dofmap_2::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7052,7 +7456,7 @@ void cahnhilliard3d_dofmap_2::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard3d_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -7117,76 +7521,258 @@ void cahnhilliard3d_dofmap_2::tabulate_entity_dofs(std::size_t * dofs,
}
-std::size_t cahnhilliard3d_dofmap_2::num_sub_dofmaps() const
-{
- return 2;
-}
-
-ufc::dofmap * cahnhilliard3d_dofmap_2::create_sub_dofmap(std::size_t i) const
+void cahnhilliard3d_dofmap_2::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
{
- switch (i)
+ if (d > 3)
{
- case 0:
- {
- return new cahnhilliard3d_dofmap_0();
- break;
- }
- case 1:
- {
- return new cahnhilliard3d_dofmap_0();
- break;
- }
+ throw std::runtime_error("d is larger than dimension (3)");
}
- return 0;
-}
-
-ufc::dofmap * cahnhilliard3d_dofmap_2::create() const
-{
- return new cahnhilliard3d_dofmap_2();
-}
-
-
-cahnhilliard3d_dofmap_3::cahnhilliard3d_dofmap_3() : ufc::dofmap()
-{
- // Do nothing
-}
-
-cahnhilliard3d_dofmap_3::~cahnhilliard3d_dofmap_3()
-{
- // Do nothing
-}
-
-const char * cahnhilliard3d_dofmap_3::signature() const
-{
- return "FFC dofmap for FiniteElement('Real', tetrahedron, 0)";
-}
-
-bool cahnhilliard3d_dofmap_3::needs_mesh_entities(std::size_t d) const
-{
switch (d)
{
case 0:
{
- return false;
- break;
- }
- case 1:
+ if (i > 3)
{
- return false;
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return false;
- break;
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ break;
+ }
}
- case 3:
- {
- return false;
+
break;
}
- }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ break;
+ }
+ }
+
+}
+
+std::size_t cahnhilliard3d_dofmap_2::num_sub_dofmaps() const
+{
+ return 2;
+}
+
+ufc::dofmap * cahnhilliard3d_dofmap_2::create_sub_dofmap(std::size_t i) const
+{
+ switch (i)
+ {
+ case 0:
+ {
+ return new cahnhilliard3d_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new cahnhilliard3d_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+}
+
+ufc::dofmap * cahnhilliard3d_dofmap_2::create() const
+{
+ return new cahnhilliard3d_dofmap_2();
+}
+
+
+cahnhilliard3d_dofmap_3::cahnhilliard3d_dofmap_3() : ufc::dofmap()
+{
+ // Do nothing
+}
+
+cahnhilliard3d_dofmap_3::~cahnhilliard3d_dofmap_3()
+{
+ // Do nothing
+}
+
+const char * cahnhilliard3d_dofmap_3::signature() const
+{
+ return "FFC dofmap for FiniteElement('Real', tetrahedron, 0)";
+}
+
+bool cahnhilliard3d_dofmap_3::needs_mesh_entities(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return false;
+ break;
+ }
+ case 1:
+ {
+ return false;
+ break;
+ }
+ case 2:
+ {
+ return false;
+ break;
+ }
+ case 3:
+ {
+ return false;
+ break;
+ }
+ }
return false;
}
@@ -7241,6 +7827,35 @@ std::size_t cahnhilliard3d_dofmap_3::num_entity_dofs(std::size_t d) const
return 0;
}
+std::size_t cahnhilliard3d_dofmap_3::num_entity_closure_dofs(std::size_t d) const
+{
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+}
+
void cahnhilliard3d_dofmap_3::tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const
@@ -7278,7 +7893,7 @@ void cahnhilliard3d_dofmap_3::tabulate_facet_dofs(std::size_t * dofs,
}
void cahnhilliard3d_dofmap_3::tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const
+ std::size_t d, std::size_t i) const
{
if (d > 3)
{
@@ -7316,6 +7931,139 @@ void cahnhilliard3d_dofmap_3::tabulate_entity_dofs(std::size_t * dofs,
}
+void cahnhilliard3d_dofmap_3::tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const
+{
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+}
+
std::size_t cahnhilliard3d_dofmap_3::num_sub_dofmaps() const
{
return 0;
@@ -7334,18 +8082,18 @@ ufc::dofmap * cahnhilliard3d_dofmap_3::create() const
cahnhilliard3d_cell_integral_0_otherwise::cahnhilliard3d_cell_integral_0_otherwise() : ufc::cell_integral()
{
-
+
}
cahnhilliard3d_cell_integral_0_otherwise::~cahnhilliard3d_cell_integral_0_otherwise()
{
-
+
}
const std::vector<bool> & cahnhilliard3d_cell_integral_0_otherwise::enabled_coefficients() const
{
- static const std::vector<bool> enabled({true, true, true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true, true, true});
+return enabled;
}
void cahnhilliard3d_cell_integral_0_otherwise::tabulate_tensor(double * A,
@@ -7353,228 +8101,345 @@ void cahnhilliard3d_cell_integral_0_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius
-
-
- // Array of quadrature weights.
- static const double W14[14] = {0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651};
- // Quadrature points on the UFC reference element: (0.0, 0.5, 0.5), (0.5, 0.0, 0.5), (0.5, 0.5, 0.0), (0.5, 0.0, 0.0), (0.0, 0.5, 0.0), (0.0, 0.0, 0.5), (0.698419704324387, 0.100526765225204, 0.100526765225204), (0.100526765225204, 0.100526765225204, 0.100526765225204), (0.100526765225204, 0.100526765225204, 0.698419704324387), (0.100526765225204, 0.698419704324387, 0.100526765225204), (0.0568813795204234, 0.314372873493192, 0.314372873493192), (0.314372873493192, 0.314372873493192, [...]
-
- // Values of basis functions at quadrature points.
- static const double FE0_C0[14][4] = \
- {{0.0, 0.0, 0.5, 0.5},
- {0.0, 0.5, 0.0, 0.5},
- {0.0, 0.5, 0.5, 0.0},
- {0.5, 0.5, 0.0, 0.0},
- {0.5, 0.0, 0.5, 0.0},
- {0.5, 0.0, 0.0, 0.5},
- {0.100526765225205, 0.698419704324386, 0.100526765225205, 0.100526765225205},
- {0.698419704324387, 0.100526765225204, 0.100526765225205, 0.100526765225205},
- {0.100526765225205, 0.100526765225204, 0.100526765225205, 0.698419704324386},
- {0.100526765225205, 0.100526765225204, 0.698419704324386, 0.100526765225205},
- {0.314372873493192, 0.0568813795204234, 0.314372873493192, 0.314372873493192},
- {0.0568813795204235, 0.314372873493192, 0.314372873493192, 0.314372873493192},
- {0.314372873493192, 0.314372873493192, 0.314372873493192, 0.0568813795204234},
- {0.314372873493192, 0.314372873493192, 0.0568813795204235, 0.314372873493192}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[4] = {0, 1, 2, 3};
-
- // Array of non-zero columns
- static const unsigned int nzc4[4] = {4, 5, 6, 7};
-
- static const double FE0_C0_D001[14][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 3};
-
- // Array of non-zero columns
- static const unsigned int nzc2[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc3[2] = {0, 1};
-
- // Array of non-zero columns
- static const unsigned int nzc5[2] = {4, 7};
-
- // Array of non-zero columns
- static const unsigned int nzc6[2] = {4, 6};
-
- // Array of non-zero columns
- static const unsigned int nzc7[2] = {4, 5};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 8; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights14[14] = { 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 4 tables for 14 quadrature points
+ alignas(32) static const double FE29_C0_D001_Q14[1][1][4] = { { { -1.0, 0.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE29_C0_D010_Q14[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE29_C0_D100_Q14[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE29_C0_Q14[1][14][4] =
+ { { { 0.0, 0.0, 0.5, 0.5 },
+ { 0.0, 0.5, 0.0, 0.5 },
+ { 0.0, 0.5, 0.5, 0.0 },
+ { 0.5, 0.5, 0.0, 0.0 },
+ { 0.5, 0.0, 0.5, 0.0 },
+ { 0.5, 0.0, 0.0, 0.5 },
+ { 0.100526765225205, 0.698419704324386, 0.100526765225205, 0.100526765225205 },
+ { 0.698419704324387, 0.100526765225204, 0.100526765225205, 0.100526765225205 },
+ { 0.100526765225205, 0.100526765225204, 0.100526765225205, 0.698419704324386 },
+ { 0.100526765225205, 0.100526765225204, 0.698419704324386, 0.100526765225205 },
+ { 0.314372873493192, 0.0568813795204234, 0.314372873493192, 0.314372873493192 },
+ { 0.0568813795204235, 0.314372873493192, 0.314372873493192, 0.314372873493192 },
+ { 0.314372873493192, 0.314372873493192, 0.314372873493192, 0.0568813795204234 },
+ { 0.314372873493192, 0.314372873493192, 0.0568813795204235, 0.314372873493192 } } };
+ // Reset element tensor
+ memset(A, 0, 8 * sizeof(*A));
+ // Unstructured piecewise computations
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
{
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 177.
- double G[21];
- G[0] = det*w[3][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8] - w[4][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]));
- G[1] = det*w[3][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8] - w[4][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]));
- G[2] = det*w[3][0]*w[4][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- G[3] = det*w[3][0]*w[4][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- G[4] = det*w[3][0]*w[4][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
- G[5] = det*w[3][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8] - w[4][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]));
- G[6] = det*w[3][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5] - w[4][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]));
- G[7] = det*w[3][0]*w[4][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- G[8] = det*w[3][0]*w[4][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- G[9] = det*w[3][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5] - w[4][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]));
- G[10] = det*w[3][0]*w[4][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- G[11] = det*w[3][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2] - w[4][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]));
- G[12] = - det*w[2][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- G[13] = - det*w[2][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- G[14] = - det*w[2][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
- G[15] = - det*w[2][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- G[16] = - det*w[2][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- G[17] = - det*w[2][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- G[18] = -400.0*det;
- G[19] = 600.0*det;
- G[20] = -200.0*det;
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 2310
- for (unsigned int ip = 0; ip < 14; ip++)
+ w0_d0_c0 += w[0][ic] * FE29_C0_D100_Q14[0][0][ic - 0];
+ }
+ const double J_c4 = coordinate_dofs[1] * FE29_C0_D010_Q14[0][0][0] + coordinate_dofs[4] * FE29_C0_D010_Q14[0][0][1] + coordinate_dofs[7] * FE29_C0_D010_Q14[0][0][2];
+ const double J_c8 = coordinate_dofs[2] * FE29_C0_D001_Q14[0][0][0] + coordinate_dofs[5] * FE29_C0_D001_Q14[0][0][1] + coordinate_dofs[8] * FE29_C0_D001_Q14[0][0][2] + coordinate_dofs[11] * FE29_C0_D001_Q14[0][0][3];
+ const double J_c5 = coordinate_dofs[1] * FE29_C0_D001_Q14[0][0][0] + coordinate_dofs[4] * FE29_C0_D001_Q14[0][0][1] + coordinate_dofs[7] * FE29_C0_D001_Q14[0][0][2] + coordinate_dofs[10] * FE29_C0_D001_Q14[0][0][3];
+ const double J_c7 = coordinate_dofs[2] * FE29_C0_D010_Q14[0][0][0] + coordinate_dofs[5] * FE29_C0_D010_Q14[0][0][1] + coordinate_dofs[8] * FE29_C0_D010_Q14[0][0][2];
+ const double J_c0 = coordinate_dofs[0] * FE29_C0_D100_Q14[0][0][0] + coordinate_dofs[3] * FE29_C0_D100_Q14[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE29_C0_D010_Q14[0][0][0] + coordinate_dofs[3] * FE29_C0_D010_Q14[0][0][1] + coordinate_dofs[6] * FE29_C0_D010_Q14[0][0][2];
+ const double J_c6 = coordinate_dofs[2] * FE29_C0_D100_Q14[0][0][0] + coordinate_dofs[5] * FE29_C0_D100_Q14[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE29_C0_D100_Q14[0][0][0] + coordinate_dofs[4] * FE29_C0_D100_Q14[0][0][1];
+ const double J_c2 = coordinate_dofs[0] * FE29_C0_D001_Q14[0][0][0] + coordinate_dofs[3] * FE29_C0_D001_Q14[0][0][1] + coordinate_dofs[6] * FE29_C0_D001_Q14[0][0][2] + coordinate_dofs[9] * FE29_C0_D001_Q14[0][0][3];
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
- double F7 = 0.0;
- double F8 = 0.0;
- double F9 = 0.0;
- double F10 = 0.0;
- double F11 = 0.0;
-
- // Total number of operations to compute function values = 36
- for (unsigned int r = 0; r < 2; r++)
- {
- F3 += FE0_C0_D001[ip][r]*w[0][nzc3[r]];
- F4 += FE0_C0_D001[ip][r]*w[0][nzc2[r]];
- F5 += FE0_C0_D001[ip][r]*w[0][nzc1[r]];
- F6 += FE0_C0_D001[ip][r]*w[0][nzc7[r]];
- F7 += FE0_C0_D001[ip][r]*w[0][nzc6[r]];
- F8 += FE0_C0_D001[ip][r]*w[0][nzc5[r]];
- F9 += FE0_C0_D001[ip][r]*w[1][nzc7[r]];
- F10 += FE0_C0_D001[ip][r]*w[1][nzc6[r]];
- F11 += FE0_C0_D001[ip][r]*w[1][nzc5[r]];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 24
- for (unsigned int r = 0; r < 4; r++)
- {
- F0 += FE0_C0[ip][r]*w[0][nzc4[r]];
- F1 += FE0_C0[ip][r]*w[0][nzc0[r]];
- F2 += FE0_C0[ip][r]*w[1][nzc0[r]];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 65
- double I[8];
- // Number of operations: 12
- I[0] = W14[ip]*(F10*G[0] + F11*G[1] + F6*G[2] + F7*G[3] + F8*G[4] + F9*G[5]);
-
- // Number of operations: 12
- I[1] = W14[ip]*(F10*G[6] + F11*G[0] + F6*G[7] + F7*G[8] + F8*G[3] + F9*G[9]);
-
- // Number of operations: 12
- I[2] = W14[ip]*(F10*G[9] + F11*G[5] + F6*G[10] + F7*G[7] + F8*G[2] + F9*G[11]);
-
- // Number of operations: 6
- I[3] = W14[ip]*(F3*G[12] + F4*G[13] + F5*G[14]);
-
- // Number of operations: 6
- I[4] = W14[ip]*(F3*G[15] + F4*G[16] + F5*G[13]);
-
- // Number of operations: 6
- I[5] = W14[ip]*(F3*G[17] + F4*G[15] + F5*G[12]);
-
- // Number of operations: 3
- I[6] = W14[ip]*det*(F1 - F2);
-
- // Number of operations: 8
- I[7] = W14[ip]*(F0*det + F1*(G[20] + F1*(G[19] + F1*G[18])));
-
-
- // Number of operations for primary indices: 24
- for (unsigned int j = 0; j < 2; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc1[j]] += FE0_C0_D001[ip][j]*I[0];
- // Number of operations to compute entry: 2
- A[nzc2[j]] += FE0_C0_D001[ip][j]*I[1];
- // Number of operations to compute entry: 2
- A[nzc3[j]] += FE0_C0_D001[ip][j]*I[2];
- // Number of operations to compute entry: 2
- A[nzc5[j]] += FE0_C0_D001[ip][j]*I[3];
- // Number of operations to compute entry: 2
- A[nzc6[j]] += FE0_C0_D001[ip][j]*I[4];
- // Number of operations to compute entry: 2
- A[nzc7[j]] += FE0_C0_D001[ip][j]*I[5];
- } // end loop over 'j'
-
- // Number of operations for primary indices: 16
- for (unsigned int j = 0; j < 4; j++)
- {
- // Number of operations to compute entry: 2
- A[nzc0[j]] += FE0_C0[ip][j]*I[6];
- // Number of operations to compute entry: 2
- A[nzc4[j]] += FE0_C0[ip][j]*I[7];
- } // end loop over 'j'
- } // end loop over 'ip'
+ w0_d1_c0 += w[0][ic] * FE29_C0_D010_Q14[0][0][ic - 0];
+ }
+ double w0_d2_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w0_d2_c0 += w[0][ic] * FE29_C0_D001_Q14[0][0][ic - 0];
+ }
+ double w1_d0_c1 = 0.0;
+ for (int ic = 4; ic < 6; ++ic)
+ {
+ w1_d0_c1 += w[1][ic] * FE29_C0_D100_Q14[0][0][ic - 4];
+ }
+ double w1_d1_c1 = 0.0;
+ for (int ic = 4; ic < 7; ++ic)
+ {
+ w1_d1_c1 += w[1][ic] * FE29_C0_D010_Q14[0][0][ic - 4];
+ }
+ double w1_d2_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w1_d2_c1 += w[1][ic] * FE29_C0_D001_Q14[0][0][ic - 4];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 4; ic < 6; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE29_C0_D100_Q14[0][0][ic - 4];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 4; ic < 7; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE29_C0_D010_Q14[0][0][ic - 4];
+ }
+ double w0_d2_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w0_d2_c1 += w[0][ic] * FE29_C0_D001_Q14[0][0][ic - 4];
+ }
+ alignas(32) double sp14[149];
+ sp14[0] = J_c4 * J_c8;
+ sp14[1] = J_c5 * J_c7;
+ sp14[2] = -1 * sp14[1];
+ sp14[3] = sp14[0] + sp14[2];
+ sp14[4] = J_c0 * sp14[3];
+ sp14[5] = J_c5 * J_c6;
+ sp14[6] = J_c3 * J_c8;
+ sp14[7] = -1 * sp14[6];
+ sp14[8] = sp14[5] + sp14[7];
+ sp14[9] = J_c1 * sp14[8];
+ sp14[10] = sp14[4] + sp14[9];
+ sp14[11] = J_c3 * J_c7;
+ sp14[12] = J_c4 * J_c6;
+ sp14[13] = -1 * sp14[12];
+ sp14[14] = sp14[11] + sp14[13];
+ sp14[15] = J_c2 * sp14[14];
+ sp14[16] = sp14[10] + sp14[15];
+ sp14[17] = sp14[3] / sp14[16];
+ sp14[18] = w0_d0_c0 * sp14[17];
+ sp14[19] = -1 * J_c8;
+ sp14[20] = J_c3 * sp14[19];
+ sp14[21] = sp14[5] + sp14[20];
+ sp14[22] = sp14[21] / sp14[16];
+ sp14[23] = w0_d1_c0 * sp14[22];
+ sp14[24] = sp14[18] + sp14[23];
+ sp14[25] = sp14[14] / sp14[16];
+ sp14[26] = w0_d2_c0 * sp14[25];
+ sp14[27] = sp14[24] + sp14[26];
+ sp14[28] = sp14[27] * sp14[17];
+ sp14[29] = sp14[27] * sp14[22];
+ sp14[30] = sp14[27] * sp14[25];
+ sp14[31] = J_c2 * J_c7;
+ sp14[32] = -1 * J_c1;
+ sp14[33] = J_c8 * sp14[32];
+ sp14[34] = sp14[31] + sp14[33];
+ sp14[35] = sp14[34] / sp14[16];
+ sp14[36] = w0_d0_c0 * sp14[35];
+ sp14[37] = J_c0 * J_c8;
+ sp14[38] = -1 * J_c2;
+ sp14[39] = J_c6 * sp14[38];
+ sp14[40] = sp14[37] + sp14[39];
+ sp14[41] = sp14[40] / sp14[16];
+ sp14[42] = w0_d1_c0 * sp14[41];
+ sp14[43] = sp14[36] + sp14[42];
+ sp14[44] = J_c1 * J_c6;
+ sp14[45] = J_c0 * J_c7;
+ sp14[46] = -1 * sp14[45];
+ sp14[47] = sp14[44] + sp14[46];
+ sp14[48] = sp14[47] / sp14[16];
+ sp14[49] = w0_d2_c0 * sp14[48];
+ sp14[50] = sp14[43] + sp14[49];
+ sp14[51] = sp14[50] * sp14[35];
+ sp14[52] = sp14[50] * sp14[41];
+ sp14[53] = sp14[50] * sp14[48];
+ sp14[54] = sp14[51] + sp14[28];
+ sp14[55] = sp14[52] + sp14[29];
+ sp14[56] = sp14[30] + sp14[53];
+ sp14[57] = J_c1 * J_c5;
+ sp14[58] = J_c2 * J_c4;
+ sp14[59] = -1 * sp14[58];
+ sp14[60] = sp14[57] + sp14[59];
+ sp14[61] = sp14[60] / sp14[16];
+ sp14[62] = w0_d0_c0 * sp14[61];
+ sp14[63] = J_c2 * J_c3;
+ sp14[64] = J_c0 * J_c5;
+ sp14[65] = -1 * sp14[64];
+ sp14[66] = sp14[63] + sp14[65];
+ sp14[67] = sp14[66] / sp14[16];
+ sp14[68] = w0_d1_c0 * sp14[67];
+ sp14[69] = sp14[62] + sp14[68];
+ sp14[70] = J_c0 * J_c4;
+ sp14[71] = J_c1 * J_c3;
+ sp14[72] = -1 * sp14[71];
+ sp14[73] = sp14[70] + sp14[72];
+ sp14[74] = sp14[73] / sp14[16];
+ sp14[75] = w0_d2_c0 * sp14[74];
+ sp14[76] = sp14[69] + sp14[75];
+ sp14[77] = sp14[76] * sp14[61];
+ sp14[78] = sp14[76] * sp14[67];
+ sp14[79] = sp14[76] * sp14[74];
+ sp14[80] = sp14[54] + sp14[77];
+ sp14[81] = sp14[55] + sp14[78];
+ sp14[82] = sp14[56] + sp14[79];
+ sp14[83] = sp14[80] * w[2][0];
+ sp14[84] = sp14[81] * w[2][0];
+ sp14[85] = sp14[82] * w[2][0];
+ sp14[86] = -1 * sp14[83];
+ sp14[87] = -1 * sp14[84];
+ sp14[88] = -1 * sp14[85];
+ sp14[89] = w1_d0_c1 * sp14[17];
+ sp14[90] = w1_d1_c1 * sp14[22];
+ sp14[91] = sp14[89] + sp14[90];
+ sp14[92] = w1_d2_c1 * sp14[25];
+ sp14[93] = sp14[91] + sp14[92];
+ sp14[94] = -1 * w[4][0];
+ sp14[95] = 1 + sp14[94];
+ sp14[96] = sp14[93] * sp14[95];
+ sp14[97] = w0_d0_c1 * sp14[17];
+ sp14[98] = w0_d1_c1 * sp14[22];
+ sp14[99] = sp14[97] + sp14[98];
+ sp14[100] = w0_d2_c1 * sp14[25];
+ sp14[101] = sp14[99] + sp14[100];
+ sp14[102] = sp14[101] * w[4][0];
+ sp14[103] = sp14[96] + sp14[102];
+ sp14[104] = sp14[103] * sp14[17];
+ sp14[105] = sp14[103] * sp14[22];
+ sp14[106] = sp14[103] * sp14[25];
+ sp14[107] = w1_d0_c1 * sp14[35];
+ sp14[108] = w1_d1_c1 * sp14[41];
+ sp14[109] = sp14[107] + sp14[108];
+ sp14[110] = w1_d2_c1 * sp14[48];
+ sp14[111] = sp14[109] + sp14[110];
+ sp14[112] = sp14[111] * sp14[95];
+ sp14[113] = w0_d0_c1 * sp14[35];
+ sp14[114] = w0_d1_c1 * sp14[41];
+ sp14[115] = sp14[113] + sp14[114];
+ sp14[116] = w0_d2_c1 * sp14[48];
+ sp14[117] = sp14[115] + sp14[116];
+ sp14[118] = sp14[117] * w[4][0];
+ sp14[119] = sp14[112] + sp14[118];
+ sp14[120] = sp14[119] * sp14[35];
+ sp14[121] = sp14[119] * sp14[41];
+ sp14[122] = sp14[119] * sp14[48];
+ sp14[123] = sp14[120] + sp14[104];
+ sp14[124] = sp14[121] + sp14[105];
+ sp14[125] = sp14[106] + sp14[122];
+ sp14[126] = w1_d0_c1 * sp14[61];
+ sp14[127] = w1_d1_c1 * sp14[67];
+ sp14[128] = sp14[126] + sp14[127];
+ sp14[129] = w1_d2_c1 * sp14[74];
+ sp14[130] = sp14[128] + sp14[129];
+ sp14[131] = sp14[130] * sp14[95];
+ sp14[132] = w0_d0_c1 * sp14[61];
+ sp14[133] = w0_d1_c1 * sp14[67];
+ sp14[134] = sp14[132] + sp14[133];
+ sp14[135] = w0_d2_c1 * sp14[74];
+ sp14[136] = sp14[134] + sp14[135];
+ sp14[137] = sp14[136] * w[4][0];
+ sp14[138] = sp14[131] + sp14[137];
+ sp14[139] = sp14[138] * sp14[61];
+ sp14[140] = sp14[138] * sp14[67];
+ sp14[141] = sp14[138] * sp14[74];
+ sp14[142] = sp14[123] + sp14[139];
+ sp14[143] = sp14[124] + sp14[140];
+ sp14[144] = sp14[125] + sp14[141];
+ sp14[145] = sp14[142] * w[3][0];
+ sp14[146] = sp14[143] * w[3][0];
+ sp14[147] = sp14[144] * w[3][0];
+ sp14[148] = std::abs(sp14[16]);
+ for (int iq14 = 0; iq14 < 14; ++iq14)
+ {
+ // Quadrature loop body setup (num_points=14)
+ // Unstructured varying computations
+ double w0_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w0_c0 += w[0][ic] * FE29_C0_Q14[0][iq14][ic - 0];
+ }
+ double w0_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w0_c1 += w[0][ic] * FE29_C0_Q14[0][iq14][ic - 4];
+ }
+ double w1_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w1_c0 += w[1][ic] * FE29_C0_Q14[0][iq14][ic - 0];
+ }
+ alignas(32) double sv14[24];
+ sv14[0] = -1 * w1_c0;
+ sv14[1] = w0_c0 + sv14[0];
+ sv14[2] = -1 * w0_c0;
+ sv14[3] = 1 + sv14[2];
+ sv14[4] = -2.0 * sv14[3];
+ sv14[5] = std::pow(w0_c0, 2);
+ sv14[6] = 100 * sv14[5];
+ sv14[7] = sv14[4] * sv14[6];
+ sv14[8] = 2.0 * w0_c0;
+ sv14[9] = 100 * sv14[8];
+ sv14[10] = std::pow(sv14[3], 2);
+ sv14[11] = sv14[9] * sv14[10];
+ sv14[12] = sv14[7] + sv14[11];
+ sv14[13] = -1 * sv14[12];
+ sv14[14] = w0_c1 + sv14[13];
+ sv14[15] = weights14[iq14] * sp14[148];
+ sv14[16] = sv14[1] * sv14[15];
+ sv14[17] = sv14[14] * sv14[15];
+ sv14[18] = sp14[86] * sv14[15];
+ sv14[19] = sp14[87] * sv14[15];
+ sv14[20] = sp14[88] * sv14[15];
+ sv14[21] = sv14[15] * sp14[145];
+ sv14[22] = sv14[15] * sp14[146];
+ sv14[23] = sv14[15] * sp14[147];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ A[ia0] += sv14[21] * FE29_C0_D100_Q14[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv14[22] * FE29_C0_D010_Q14[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ A[ia0] += sv14[16] * FE29_C0_Q14[0][iq14][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ A[ia0] += sv14[23] * FE29_C0_D001_Q14[0][0][ia0 - 0];
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv14[18] * FE29_C0_D100_Q14[0][0][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ A[ia0] += sv14[19] * FE29_C0_D010_Q14[0][0][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ A[ia0] += sv14[17] * FE29_C0_Q14[0][iq14][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ A[ia0] += sv14[20] * FE29_C0_D001_Q14[0][0][ia0 - 4];
+ }
+ }
}
cahnhilliard3d_cell_integral_1_otherwise::cahnhilliard3d_cell_integral_1_otherwise() : ufc::cell_integral()
{
-
+
}
cahnhilliard3d_cell_integral_1_otherwise::~cahnhilliard3d_cell_integral_1_otherwise()
{
-
+
}
const std::vector<bool> & cahnhilliard3d_cell_integral_1_otherwise::enabled_coefficients() const
{
- static const std::vector<bool> enabled({true, true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true, true});
+return enabled;
}
void cahnhilliard3d_cell_integral_1_otherwise::tabulate_tensor(double * A,
@@ -7582,228 +8447,406 @@ void cahnhilliard3d_cell_integral_1_otherwise::tabulate_tensor(double * A,
const double * coordinate_dofs,
int cell_orientation) const
{
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius
-
-
- // Array of quadrature weights.
- static const double W14[14] = {0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651};
- // Quadrature points on the UFC reference element: (0.0, 0.5, 0.5), (0.5, 0.0, 0.5), (0.5, 0.5, 0.0), (0.5, 0.0, 0.0), (0.0, 0.5, 0.0), (0.0, 0.0, 0.5), (0.698419704324387, 0.100526765225204, 0.100526765225204), (0.100526765225204, 0.100526765225204, 0.100526765225204), (0.100526765225204, 0.100526765225204, 0.698419704324387), (0.100526765225204, 0.698419704324387, 0.100526765225204), (0.0568813795204234, 0.314372873493192, 0.314372873493192), (0.314372873493192, 0.314372873493192, [...]
-
- // Values of basis functions at quadrature points.
- static const double FE0_C0[14][4] = \
- {{0.0, 0.0, 0.5, 0.5},
- {0.0, 0.5, 0.0, 0.5},
- {0.0, 0.5, 0.5, 0.0},
- {0.5, 0.5, 0.0, 0.0},
- {0.5, 0.0, 0.5, 0.0},
- {0.5, 0.0, 0.0, 0.5},
- {0.100526765225205, 0.698419704324386, 0.100526765225205, 0.100526765225205},
- {0.698419704324387, 0.100526765225204, 0.100526765225205, 0.100526765225205},
- {0.100526765225205, 0.100526765225204, 0.100526765225205, 0.698419704324386},
- {0.100526765225205, 0.100526765225204, 0.698419704324386, 0.100526765225205},
- {0.314372873493192, 0.0568813795204234, 0.314372873493192, 0.314372873493192},
- {0.0568813795204235, 0.314372873493192, 0.314372873493192, 0.314372873493192},
- {0.314372873493192, 0.314372873493192, 0.314372873493192, 0.0568813795204234},
- {0.314372873493192, 0.314372873493192, 0.0568813795204235, 0.314372873493192}};
-
- // Array of non-zero columns
- static const unsigned int nzc0[4] = {0, 1, 2, 3};
-
- // Array of non-zero columns
- static const unsigned int nzc4[4] = {4, 5, 6, 7};
-
- static const double FE0_C0_D001[14][2] = \
- {{-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0},
- {-1.0, 1.0}};
-
- // Array of non-zero columns
- static const unsigned int nzc1[2] = {0, 3};
-
- // Array of non-zero columns
- static const unsigned int nzc2[2] = {0, 2};
-
- // Array of non-zero columns
- static const unsigned int nzc3[2] = {0, 1};
-
- // Array of non-zero columns
- static const unsigned int nzc5[2] = {4, 7};
-
- // Array of non-zero columns
- static const unsigned int nzc6[2] = {4, 6};
-
- // Array of non-zero columns
- static const unsigned int nzc7[2] = {4, 5};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 64; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights14[14] = { 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.00317460317460317, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0147649707904968, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651, 0.0221397911142651 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 4 tables for 14 quadrature points
+ alignas(32) static const double FE26_C0_D001_Q14[1][1][4] = { { { -1.0, 0.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE26_C0_D010_Q14[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE26_C0_D100_Q14[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE26_C0_Q14[1][14][4] =
+ { { { 0.0, 0.0, 0.5, 0.5 },
+ { 0.0, 0.5, 0.0, 0.5 },
+ { 0.0, 0.5, 0.5, 0.0 },
+ { 0.5, 0.5, 0.0, 0.0 },
+ { 0.5, 0.0, 0.5, 0.0 },
+ { 0.5, 0.0, 0.0, 0.5 },
+ { 0.100526765225205, 0.698419704324386, 0.100526765225205, 0.100526765225205 },
+ { 0.698419704324387, 0.100526765225204, 0.100526765225205, 0.100526765225205 },
+ { 0.100526765225205, 0.100526765225204, 0.100526765225205, 0.698419704324386 },
+ { 0.100526765225205, 0.100526765225204, 0.698419704324386, 0.100526765225205 },
+ { 0.314372873493192, 0.0568813795204234, 0.314372873493192, 0.314372873493192 },
+ { 0.0568813795204235, 0.314372873493192, 0.314372873493192, 0.314372873493192 },
+ { 0.314372873493192, 0.314372873493192, 0.314372873493192, 0.0568813795204234 },
+ { 0.314372873493192, 0.314372873493192, 0.0568813795204235, 0.314372873493192 } } };
+ // Reset element tensor
+ memset(A, 0, 64 * sizeof(*A));
+ // Unstructured piecewise computations
+ const double J_c4 = coordinate_dofs[1] * FE26_C0_D010_Q14[0][0][0] + coordinate_dofs[4] * FE26_C0_D010_Q14[0][0][1] + coordinate_dofs[7] * FE26_C0_D010_Q14[0][0][2];
+ const double J_c8 = coordinate_dofs[2] * FE26_C0_D001_Q14[0][0][0] + coordinate_dofs[5] * FE26_C0_D001_Q14[0][0][1] + coordinate_dofs[8] * FE26_C0_D001_Q14[0][0][2] + coordinate_dofs[11] * FE26_C0_D001_Q14[0][0][3];
+ const double J_c5 = coordinate_dofs[1] * FE26_C0_D001_Q14[0][0][0] + coordinate_dofs[4] * FE26_C0_D001_Q14[0][0][1] + coordinate_dofs[7] * FE26_C0_D001_Q14[0][0][2] + coordinate_dofs[10] * FE26_C0_D001_Q14[0][0][3];
+ const double J_c7 = coordinate_dofs[2] * FE26_C0_D010_Q14[0][0][0] + coordinate_dofs[5] * FE26_C0_D010_Q14[0][0][1] + coordinate_dofs[8] * FE26_C0_D010_Q14[0][0][2];
+ const double J_c0 = coordinate_dofs[0] * FE26_C0_D100_Q14[0][0][0] + coordinate_dofs[3] * FE26_C0_D100_Q14[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE26_C0_D010_Q14[0][0][0] + coordinate_dofs[3] * FE26_C0_D010_Q14[0][0][1] + coordinate_dofs[6] * FE26_C0_D010_Q14[0][0][2];
+ const double J_c6 = coordinate_dofs[2] * FE26_C0_D100_Q14[0][0][0] + coordinate_dofs[5] * FE26_C0_D100_Q14[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE26_C0_D100_Q14[0][0][0] + coordinate_dofs[4] * FE26_C0_D100_Q14[0][0][1];
+ const double J_c2 = coordinate_dofs[0] * FE26_C0_D001_Q14[0][0][0] + coordinate_dofs[3] * FE26_C0_D001_Q14[0][0][1] + coordinate_dofs[6] * FE26_C0_D001_Q14[0][0][2] + coordinate_dofs[9] * FE26_C0_D001_Q14[0][0][3];
+ alignas(32) double sp14[159];
+ sp14[0] = J_c4 * J_c8;
+ sp14[1] = J_c5 * J_c7;
+ sp14[2] = -1 * sp14[1];
+ sp14[3] = sp14[0] + sp14[2];
+ sp14[4] = J_c0 * sp14[3];
+ sp14[5] = J_c5 * J_c6;
+ sp14[6] = J_c3 * J_c8;
+ sp14[7] = -1 * sp14[6];
+ sp14[8] = sp14[5] + sp14[7];
+ sp14[9] = J_c1 * sp14[8];
+ sp14[10] = sp14[4] + sp14[9];
+ sp14[11] = J_c3 * J_c7;
+ sp14[12] = J_c4 * J_c6;
+ sp14[13] = -1 * sp14[12];
+ sp14[14] = sp14[11] + sp14[13];
+ sp14[15] = J_c2 * sp14[14];
+ sp14[16] = sp14[10] + sp14[15];
+ sp14[17] = sp14[3] / sp14[16];
+ sp14[18] = -1 * J_c8;
+ sp14[19] = J_c3 * sp14[18];
+ sp14[20] = sp14[5] + sp14[19];
+ sp14[21] = sp14[20] / sp14[16];
+ sp14[22] = sp14[14] / sp14[16];
+ sp14[23] = sp14[17] * sp14[17];
+ sp14[24] = sp14[17] * sp14[21];
+ sp14[25] = sp14[22] * sp14[17];
+ sp14[26] = sp14[21] * sp14[21];
+ sp14[27] = sp14[22] * sp14[21];
+ sp14[28] = sp14[22] * sp14[22];
+ sp14[29] = J_c2 * J_c7;
+ sp14[30] = -1 * J_c1;
+ sp14[31] = J_c8 * sp14[30];
+ sp14[32] = sp14[29] + sp14[31];
+ sp14[33] = sp14[32] / sp14[16];
+ sp14[34] = J_c0 * J_c8;
+ sp14[35] = -1 * J_c2;
+ sp14[36] = J_c6 * sp14[35];
+ sp14[37] = sp14[34] + sp14[36];
+ sp14[38] = sp14[37] / sp14[16];
+ sp14[39] = J_c1 * J_c6;
+ sp14[40] = J_c0 * J_c7;
+ sp14[41] = -1 * sp14[40];
+ sp14[42] = sp14[39] + sp14[41];
+ sp14[43] = sp14[42] / sp14[16];
+ sp14[44] = sp14[33] * sp14[33];
+ sp14[45] = sp14[33] * sp14[38];
+ sp14[46] = sp14[33] * sp14[43];
+ sp14[47] = sp14[38] * sp14[38];
+ sp14[48] = sp14[38] * sp14[43];
+ sp14[49] = sp14[43] * sp14[43];
+ sp14[50] = sp14[44] + sp14[23];
+ sp14[51] = sp14[45] + sp14[24];
+ sp14[52] = sp14[46] + sp14[25];
+ sp14[53] = sp14[47] + sp14[26];
+ sp14[54] = sp14[48] + sp14[27];
+ sp14[55] = sp14[28] + sp14[49];
+ sp14[56] = J_c1 * J_c5;
+ sp14[57] = J_c2 * J_c4;
+ sp14[58] = -1 * sp14[57];
+ sp14[59] = sp14[56] + sp14[58];
+ sp14[60] = sp14[59] / sp14[16];
+ sp14[61] = J_c2 * J_c3;
+ sp14[62] = J_c0 * J_c5;
+ sp14[63] = -1 * sp14[62];
+ sp14[64] = sp14[61] + sp14[63];
+ sp14[65] = sp14[64] / sp14[16];
+ sp14[66] = J_c0 * J_c4;
+ sp14[67] = J_c1 * J_c3;
+ sp14[68] = -1 * sp14[67];
+ sp14[69] = sp14[66] + sp14[68];
+ sp14[70] = sp14[69] / sp14[16];
+ sp14[71] = sp14[60] * sp14[60];
+ sp14[72] = sp14[60] * sp14[65];
+ sp14[73] = sp14[70] * sp14[60];
+ sp14[74] = sp14[65] * sp14[65];
+ sp14[75] = sp14[70] * sp14[65];
+ sp14[76] = sp14[70] * sp14[70];
+ sp14[77] = sp14[50] + sp14[71];
+ sp14[78] = sp14[51] + sp14[72];
+ sp14[79] = sp14[52] + sp14[73];
+ sp14[80] = sp14[53] + sp14[74];
+ sp14[81] = sp14[54] + sp14[75];
+ sp14[82] = sp14[55] + sp14[76];
+ sp14[83] = sp14[77] * w[1][0];
+ sp14[84] = sp14[78] * w[1][0];
+ sp14[85] = sp14[79] * w[1][0];
+ sp14[86] = sp14[80] * w[1][0];
+ sp14[87] = sp14[81] * w[1][0];
+ sp14[88] = sp14[82] * w[1][0];
+ sp14[89] = -1 * sp14[83];
+ sp14[90] = -1 * sp14[84];
+ sp14[91] = -1 * sp14[85];
+ sp14[92] = -1 * sp14[86];
+ sp14[93] = -1 * sp14[87];
+ sp14[94] = -1 * sp14[88];
+ sp14[95] = sp14[17] * w[3][0];
+ sp14[96] = sp14[21] * w[3][0];
+ sp14[97] = sp14[22] * w[3][0];
+ sp14[98] = sp14[95] * sp14[17];
+ sp14[99] = sp14[96] * sp14[17];
+ sp14[100] = sp14[97] * sp14[17];
+ sp14[101] = sp14[95] * sp14[21];
+ sp14[102] = sp14[96] * sp14[21];
+ sp14[103] = sp14[97] * sp14[21];
+ sp14[104] = sp14[95] * sp14[22];
+ sp14[105] = sp14[96] * sp14[22];
+ sp14[106] = sp14[97] * sp14[22];
+ sp14[107] = sp14[33] * w[3][0];
+ sp14[108] = sp14[38] * w[3][0];
+ sp14[109] = sp14[43] * w[3][0];
+ sp14[110] = sp14[107] * sp14[33];
+ sp14[111] = sp14[108] * sp14[33];
+ sp14[112] = sp14[109] * sp14[33];
+ sp14[113] = sp14[107] * sp14[38];
+ sp14[114] = sp14[108] * sp14[38];
+ sp14[115] = sp14[109] * sp14[38];
+ sp14[116] = sp14[107] * sp14[43];
+ sp14[117] = sp14[108] * sp14[43];
+ sp14[118] = sp14[109] * sp14[43];
+ sp14[119] = sp14[110] + sp14[98];
+ sp14[120] = sp14[111] + sp14[99];
+ sp14[121] = sp14[112] + sp14[100];
+ sp14[122] = sp14[113] + sp14[101];
+ sp14[123] = sp14[114] + sp14[102];
+ sp14[124] = sp14[115] + sp14[103];
+ sp14[125] = sp14[104] + sp14[116];
+ sp14[126] = sp14[105] + sp14[117];
+ sp14[127] = sp14[106] + sp14[118];
+ sp14[128] = sp14[60] * w[3][0];
+ sp14[129] = sp14[65] * w[3][0];
+ sp14[130] = sp14[70] * w[3][0];
+ sp14[131] = sp14[128] * sp14[60];
+ sp14[132] = sp14[129] * sp14[60];
+ sp14[133] = sp14[130] * sp14[60];
+ sp14[134] = sp14[128] * sp14[65];
+ sp14[135] = sp14[129] * sp14[65];
+ sp14[136] = sp14[130] * sp14[65];
+ sp14[137] = sp14[128] * sp14[70];
+ sp14[138] = sp14[129] * sp14[70];
+ sp14[139] = sp14[130] * sp14[70];
+ sp14[140] = sp14[119] + sp14[131];
+ sp14[141] = sp14[120] + sp14[132];
+ sp14[142] = sp14[121] + sp14[133];
+ sp14[143] = sp14[122] + sp14[134];
+ sp14[144] = sp14[123] + sp14[135];
+ sp14[145] = sp14[124] + sp14[136];
+ sp14[146] = sp14[125] + sp14[137];
+ sp14[147] = sp14[126] + sp14[138];
+ sp14[148] = sp14[127] + sp14[139];
+ sp14[149] = sp14[140] * w[2][0];
+ sp14[150] = sp14[141] * w[2][0];
+ sp14[151] = sp14[142] * w[2][0];
+ sp14[152] = sp14[143] * w[2][0];
+ sp14[153] = sp14[144] * w[2][0];
+ sp14[154] = sp14[145] * w[2][0];
+ sp14[155] = sp14[146] * w[2][0];
+ sp14[156] = sp14[147] * w[2][0];
+ sp14[157] = sp14[148] * w[2][0];
+ sp14[158] = std::abs(sp14[16]);
+ for (int iq14 = 0; iq14 < 14; ++iq14)
{
- A[r] = 0.0;
- } // end loop over 'r'
- // Number of operations to compute geometry constants: 93.
- double G[15];
- G[0] = det*w[2][0]*w[3][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
- G[1] = det*w[2][0]*w[3][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- G[2] = det*w[2][0]*w[3][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- G[3] = det*w[2][0]*w[3][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- G[4] = det*w[2][0]*w[3][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- G[5] = det*w[2][0]*w[3][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- G[6] = - det*w[1][0]*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
- G[7] = - det*w[1][0]*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- G[8] = - det*w[1][0]*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- G[9] = - det*w[1][0]*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- G[10] = - det*w[1][0]*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- G[11] = - det*w[1][0]*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- G[12] = -200.0*det;
- G[13] = -1200.0*det;
- G[14] = 1200.0*det;
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', True), ('ignore ones', True), ('ignore zero tables', True), ('optimisation', 'simplify_expressions'), ('remove zero terms', True)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 5404
- for (unsigned int ip = 0; ip < 14; ip++)
- {
-
- // Coefficient declarations.
- double F0 = 0.0;
-
- // Total number of operations to compute function values = 8
- for (unsigned int r = 0; r < 4; r++)
- {
- F0 += FE0_C0[ip][r]*w[0][nzc0[r]];
- } // end loop over 'r'
-
- // Number of operations to compute ip constants: 18
- double I[14];
- // Number of operations: 1
- I[0] = G[0]*W14[ip];
-
- // Number of operations: 1
- I[1] = G[1]*W14[ip];
-
- // Number of operations: 1
- I[2] = G[2]*W14[ip];
-
- // Number of operations: 1
- I[3] = G[3]*W14[ip];
-
- // Number of operations: 1
- I[4] = G[4]*W14[ip];
-
- // Number of operations: 1
- I[5] = G[5]*W14[ip];
-
- // Number of operations: 1
- I[6] = G[6]*W14[ip];
-
- // Number of operations: 1
- I[7] = G[7]*W14[ip];
-
- // Number of operations: 1
- I[8] = G[8]*W14[ip];
-
- // Number of operations: 1
- I[9] = G[9]*W14[ip];
-
- // Number of operations: 1
- I[10] = G[10]*W14[ip];
-
- // Number of operations: 1
- I[11] = G[11]*W14[ip];
-
- // Number of operations: 1
- I[12] = W14[ip]*det;
-
- // Number of operations: 5
- I[13] = W14[ip]*(G[12] + F0*(G[14] + F0*G[13]));
-
-
- // Number of operations for primary indices: 216
- for (unsigned int j = 0; j < 2; j++)
- {
- for (unsigned int k = 0; k < 2; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc1[j]*8 + nzc5[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[0];
- // Number of operations to compute entry: 3
- A[nzc1[j]*8 + nzc6[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc1[j]*8 + nzc7[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc2[j]*8 + nzc5[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[1];
- // Number of operations to compute entry: 3
- A[nzc2[j]*8 + nzc6[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[3];
- // Number of operations to compute entry: 3
- A[nzc2[j]*8 + nzc7[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc3[j]*8 + nzc5[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[2];
- // Number of operations to compute entry: 3
- A[nzc3[j]*8 + nzc6[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[4];
- // Number of operations to compute entry: 3
- A[nzc3[j]*8 + nzc7[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[5];
- // Number of operations to compute entry: 3
- A[nzc5[j]*8 + nzc1[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[6];
- // Number of operations to compute entry: 3
- A[nzc5[j]*8 + nzc2[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc5[j]*8 + nzc3[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[nzc6[j]*8 + nzc1[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[7];
- // Number of operations to compute entry: 3
- A[nzc6[j]*8 + nzc2[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[9];
- // Number of operations to compute entry: 3
- A[nzc6[j]*8 + nzc3[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc7[j]*8 + nzc1[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[8];
- // Number of operations to compute entry: 3
- A[nzc7[j]*8 + nzc2[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[10];
- // Number of operations to compute entry: 3
- A[nzc7[j]*8 + nzc3[k]] += FE0_C0_D001[ip][j]*FE0_C0_D001[ip][k]*I[11];
- } // end loop over 'k'
- } // end loop over 'j'
-
- // Number of operations for primary indices: 144
- for (unsigned int j = 0; j < 4; j++)
- {
- for (unsigned int k = 0; k < 4; k++)
- {
- // Number of operations to compute entry: 3
- A[nzc0[j]*8 + nzc0[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[12];
- // Number of operations to compute entry: 3
- A[nzc4[j]*8 + nzc0[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[13];
- // Number of operations to compute entry: 3
- A[nzc4[j]*8 + nzc4[k]] += FE0_C0[ip][j]*FE0_C0[ip][k]*I[12];
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
+ // Quadrature loop body setup (num_points=14)
+ // Unstructured varying computations
+ double w0_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w0_c0 += w[0][ic] * FE26_C0_Q14[0][iq14][ic - 0];
+ }
+ alignas(32) double sv14[32];
+ sv14[0] = -1 * w0_c0;
+ sv14[1] = 1 + sv14[0];
+ sv14[2] = -2.0 * sv14[1];
+ sv14[3] = 2.0 * w0_c0;
+ sv14[4] = 100 * sv14[3];
+ sv14[5] = sv14[2] * sv14[4];
+ sv14[6] = std::pow(w0_c0, 2);
+ sv14[7] = 100 * sv14[6];
+ sv14[8] = 2.0 * sv14[7];
+ sv14[9] = sv14[5] + sv14[8];
+ sv14[10] = std::pow(sv14[1], 2);
+ sv14[11] = 200.0 * sv14[10];
+ sv14[12] = sv14[5] + sv14[11];
+ sv14[13] = sv14[9] + sv14[12];
+ sv14[14] = -1 * sv14[13];
+ sv14[15] = weights14[iq14] * sp14[158];
+ sv14[16] = sv14[14] * sv14[15];
+ sv14[17] = sp14[89] * sv14[15];
+ sv14[18] = sp14[90] * sv14[15];
+ sv14[19] = sp14[91] * sv14[15];
+ sv14[20] = sp14[92] * sv14[15];
+ sv14[21] = sp14[93] * sv14[15];
+ sv14[22] = sp14[94] * sv14[15];
+ sv14[23] = sv14[15] * sp14[149];
+ sv14[24] = sv14[15] * sp14[150];
+ sv14[25] = sv14[15] * sp14[151];
+ sv14[26] = sv14[15] * sp14[152];
+ sv14[27] = sv14[15] * sp14[153];
+ sv14[28] = sv14[15] * sp14[154];
+ sv14[29] = sv14[15] * sp14[155];
+ sv14[30] = sv14[15] * sp14[156];
+ sv14[31] = sv14[15] * sp14[157];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[23] * FE26_C0_D100_Q14[0][0][ia0 - 0] * FE26_C0_D100_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[24] * FE26_C0_D100_Q14[0][0][ia0 - 0] * FE26_C0_D010_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[25] * FE26_C0_D100_Q14[0][0][ia0 - 0] * FE26_C0_D001_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[26] * FE26_C0_D010_Q14[0][0][ia0 - 0] * FE26_C0_D100_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[27] * FE26_C0_D010_Q14[0][0][ia0 - 0] * FE26_C0_D010_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[28] * FE26_C0_D010_Q14[0][0][ia0 - 0] * FE26_C0_D001_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[15] * FE26_C0_Q14[0][iq14][ia0 - 0] * FE26_C0_Q14[0][iq14][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[29] * FE26_C0_D001_Q14[0][0][ia0 - 0] * FE26_C0_D100_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[30] * FE26_C0_D001_Q14[0][0][ia0 - 0] * FE26_C0_D010_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[31] * FE26_C0_D001_Q14[0][0][ia0 - 0] * FE26_C0_D001_Q14[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[17] * FE26_C0_D100_Q14[0][0][ia0 - 4] * FE26_C0_D100_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[18] * FE26_C0_D100_Q14[0][0][ia0 - 4] * FE26_C0_D010_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[19] * FE26_C0_D100_Q14[0][0][ia0 - 4] * FE26_C0_D001_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[18] * FE26_C0_D010_Q14[0][0][ia0 - 4] * FE26_C0_D100_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[20] * FE26_C0_D010_Q14[0][0][ia0 - 4] * FE26_C0_D010_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[21] * FE26_C0_D010_Q14[0][0][ia0 - 4] * FE26_C0_D001_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[19] * FE26_C0_D001_Q14[0][0][ia0 - 4] * FE26_C0_D100_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[21] * FE26_C0_D001_Q14[0][0][ia0 - 4] * FE26_C0_D010_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[16] * FE26_C0_Q14[0][iq14][ia0 - 4] * FE26_C0_Q14[0][iq14][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[22] * FE26_C0_D001_Q14[0][0][ia0 - 4] * FE26_C0_D001_Q14[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[8 * ia0 + ia1] += sv14[15] * FE26_C0_Q14[0][iq14][ia0 - 4] * FE26_C0_Q14[0][iq14][ia1 - 4];
+ }
+ }
+ }
}
diff --git a/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.h b/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.h
index e0a88af..90d7086 100644
--- a/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.h
+++ b/demo/documented/cahn-hilliard/cpp/CahnHilliard3D.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,15 +13,18 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: True
#ifndef __CAHNHILLIARD3D_H
#define __CAHNHILLIARD3D_H
+#include <cmath>
+#include <cstring>
#include <stdexcept>
#include <ufc.h>
@@ -544,6 +547,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -554,6 +559,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -586,6 +594,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -596,6 +606,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -628,6 +641,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -638,6 +653,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -670,6 +688,8 @@ public:
std::size_t num_entity_dofs(std::size_t d) const final override;
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override;
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override;
@@ -680,6 +700,9 @@ public:
void tabulate_entity_dofs(std::size_t * dofs,
std::size_t d, std::size_t i) const final override;
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override;
+
std::size_t num_sub_dofmaps() const final override;
ufc::dofmap * create_sub_dofmap(std::size_t i) const final override;
@@ -1213,10 +1236,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1232,10 +1255,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1509,10 +1532,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -1528,10 +1551,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/cahn-hilliard/cpp/compile.log b/demo/documented/cahn-hilliard/cpp/compile.log
deleted file mode 100644
index 83bed4f..0000000
--- a/demo/documented/cahn-hilliard/cpp/compile.log
+++ /dev/null
@@ -1,7104 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form CahnHilliard3D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_3, w_4]'
- Unique elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<3 x CG1(?)>, CG1(
- ?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 4
- Coefficients: '[w_0, w_2, w_3, w_4]'
- Unique elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<3 x CG1(?)>, CG1(
- ?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.200224 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {14: {MixedElement(FiniteElement('Lagrange', tetrahedron, 1), FiniteElement('Lagrange', tetrahedron, 1)): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]]), (0, 0, 0): array([[[ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]]])}}}, FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]]), (0, 0, 0): array([[[ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 9.71445147e-17,
- 5.00000000e-01, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- -1.38777878e-17, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.38777878e-17, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 3.14372873e-01]]), 'FE2_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]), 'FE0_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 9.71445147e-17,
- 5.00000000e-01, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- -1.38777878e-17, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.38777878e-17, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 3.14372873e-01]]), 'FE2_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]), 'FE0_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D001': 'FE0_C1_D001', 'FE0_C1_D010': 'FE0_C1_D010', 'FE2_C1_D010': 'FE2_C1_D010', 'FE0_C0_D010': 'FE0_C0_D010', 'FE0_C1_D100': 'FE0_C1_D100', 'FE0_C0_D100': 'FE0_C0_D100', 'FE2_C0_D100': 'FE2_C0_D100', 'FE2_C2_D100': 'FE2_C2_D100', 'FE2_C1': 'FE2_C1', 'FE2_C0': 'FE2_C0', 'FE0_C0_D001': 'FE0_C0_D001', 'FE2_C1_D100': 'FE2_C1_D100', 'FE2_C0_D001': 'FE2_C0_D001', 'FE2_C2_D001': 'FE2_C2_D001', 'FE1': 'FE1', 'FE2_C2_D010': 'FE2_C2_D010', 'FE2_C2': 'FE2_C2', 'FE2_C1_D00 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D001': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C0': array([[ 0. , 0. , 0.5 , 0.5 ],
- [ 0. , 0.5 , 0. , 0.5 ],
- [ 0. , 0.5 , 0.5 , 0. ],
- [ 0.5 , 0.5 , 0. , 0. ],
- [ 0.5 , 0. , 0.5 , 0. ],
- [ 0.5 , 0. , 0. , 0.5 ],
- [ 0.10052677, 0.6984197 , 0.10052677, 0.10052677],
- [ 0.6984197 , 0.10052677, 0.10052677, 0.10052677],
- [ 0.10052677, 0.10052677, 0.10052677, 0.6984197 ],
- [ 0.10052677, 0.10052677, 0.6984197 , 0.10052677],
- [ 0.31437287, 0.05688138, 0.31437287, 0.31437287],
- [ 0.05688138, 0.31437287, 0.31437287, 0.31437287],
- [ 0.31437287, 0.31437287, 0.31437287, 0.05688138],
- [ 0.31437287, 0.31437287, 0.05688138, 0.31437287]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D001': ('FE0_C0_D001', (5, [4, 7]), False, False), 'FE0_C1_D010': ('FE0_C0_D001', (6, [4, 6]), False, False), 'FE2_C1_D010': ('FE0_C0_D001', (14, [4, 6]), False, False), 'FE0_C0_D010': ('FE0_C0_D001', (2, [0, 2]), False, False), 'FE0_C1_D100': ('FE0_C0_D001', (7, [4, 5]), False, False), 'FE0_C0_D100': ('FE0_C0_D001', (3, [0, 1]), False, False), 'FE2_C0_D100': ('FE0_C0_D001', (11, [0, 1]), False, False), 'FE2_C2_D100': ('FE0_C0_D001', (19, [8, 9]), False, False), 'FE2_C1': ('FE [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {14: {MixedElement(FiniteElement('Lagrange', tetrahedron, 1), FiniteElement('Lagrange', tetrahedron, 1)): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]]), (0, 0, 0): array([[[ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]]])}}}, FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, -5.55111512e-17,
- -5.55111512e-17, -5.55111512e-17, -1.66533454e-16,
- -1.11022302e-16, -1.11022302e-16, -3.33066907e-16,
- -1.11022302e-16, -1.66533454e-16, -1.66533454e-16,
- -1.11022302e-16, -1.66533454e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]]), (0, 0, 0): array([[[ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 9.71445147e-17, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 5.00000000e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- 5.00000000e-01, -1.38777878e-17, 1.38777878e-17,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, -2.77555756e-17,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.66533454e-16, -1.66533454e-16, 1.11022302e-16,
- 1.11022302e-16, 1.11022302e-16, -1.66533454e-16,
- 1.11022302e-16, 1.11022302e-16, -3.33066907e-16,
- 1.11022302e-16, -1.11022302e-16, -1.11022302e-16,
- 1.11022302e-16, -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, 5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -5.55111512e-17,
- 5.55111512e-17, 5.55111512e-17, -1.11022302e-16,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 9.71445147e-17,
- 5.00000000e-01, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- -1.38777878e-17, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.38777878e-17, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 3.14372873e-01]]), 'FE2_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]), 'FE0_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00]]), 'FE0_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE0_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE2_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 9.71445147e-17,
- 5.00000000e-01, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.93889390e-17,
- 5.00000000e-01, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- -1.38777878e-17, 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.00000000e-01,
- 1.38777878e-17, -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02, 3.14372873e-01]]), 'FE2_C0_D001': array([[ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, -5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 1.11022302e-16, 5.55111512e-17,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- 1.11022302e-16, 5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 0.00000000e+00, 1.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.66533454e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.66533454e-16,
- -5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, 1.11022302e-16,
- 5.55111512e-17, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.66533454e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 0.00000000e+00,
- 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.71445147e-17, 5.00000000e-01,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.93889390e-17, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 5.00000000e-01,
- -2.77555756e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, -1.38777878e-17,
- 5.00000000e-01, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.00000000e-01, 1.38777878e-17,
- -2.77555756e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 6.98419704e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 1.00526765e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 3.14372873e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 5.68813795e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 3.14372873e-01]]), 'FE0_C0': array([[ 4.16333634e-17, 0.00000000e+00, 5.00000000e-01,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 9.71445147e-17, 5.00000000e-01, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 5.00000000e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, -1.38777878e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 1.38777878e-17, -2.77555756e-17,
- 5.00000000e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 6.98419704e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.98419704e-01, 1.00526765e-01, 1.00526765e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 1.00526765e-01,
- 6.98419704e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.00526765e-01, 1.00526765e-01, 6.98419704e-01,
- 1.00526765e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 5.68813795e-02, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 5.68813795e-02, 3.14372873e-01, 3.14372873e-01,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 3.14372873e-01,
- 5.68813795e-02, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 3.14372873e-01, 3.14372873e-01, 5.68813795e-02,
- 3.14372873e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D001': 'FE0_C1_D001', 'FE0_C1_D010': 'FE0_C1_D010', 'FE2_C1_D010': 'FE2_C1_D010', 'FE0_C0_D010': 'FE0_C0_D010', 'FE0_C1_D100': 'FE0_C1_D100', 'FE0_C0_D100': 'FE0_C0_D100', 'FE2_C0_D100': 'FE2_C0_D100', 'FE2_C2_D100': 'FE2_C2_D100', 'FE2_C1': 'FE2_C1', 'FE2_C0': 'FE2_C0', 'FE0_C0_D001': 'FE0_C0_D001', 'FE2_C1_D100': 'FE2_C1_D100', 'FE2_C0_D001': 'FE2_C0_D001', 'FE2_C2_D001': 'FE2_C2_D001', 'FE1': 'FE1', 'FE2_C2_D010': 'FE2_C2_D010', 'FE2_C2': 'FE2_C2', 'FE2_C1_D00 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D001': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C0': array([[ 0. , 0. , 0.5 , 0.5 ],
- [ 0. , 0.5 , 0. , 0.5 ],
- [ 0. , 0.5 , 0.5 , 0. ],
- [ 0.5 , 0.5 , 0. , 0. ],
- [ 0.5 , 0. , 0.5 , 0. ],
- [ 0.5 , 0. , 0. , 0.5 ],
- [ 0.10052677, 0.6984197 , 0.10052677, 0.10052677],
- [ 0.6984197 , 0.10052677, 0.10052677, 0.10052677],
- [ 0.10052677, 0.10052677, 0.10052677, 0.6984197 ],
- [ 0.10052677, 0.10052677, 0.6984197 , 0.10052677],
- [ 0.31437287, 0.05688138, 0.31437287, 0.31437287],
- [ 0.05688138, 0.31437287, 0.31437287, 0.31437287],
- [ 0.31437287, 0.31437287, 0.31437287, 0.05688138],
- [ 0.31437287, 0.31437287, 0.05688138, 0.31437287]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D001': ('FE0_C0_D001', (5, [4, 7]), False, False), 'FE0_C1_D010': ('FE0_C0_D001', (6, [4, 6]), False, False), 'FE2_C1_D010': ('FE0_C0_D001', (14, [4, 6]), False, False), 'FE0_C0_D010': ('FE0_C0_D001', (2, [0, 2]), False, False), 'FE0_C1_D100': ('FE0_C0_D001', (7, [4, 5]), False, False), 'FE0_C0_D100': ('FE0_C0_D001', (3, [0, 1]), False, False), 'FE2_C0_D100': ('FE0_C0_D001', (11, [0, 1]), False, False), 'FE2_C2_D100': ('FE0_C0_D001', (19, [8, 9]), False, False), 'FE2_C1': ('FE [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.829551 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0601542 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.50511 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.001194 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00148797 seconds.
-
-FFC finished in 1.59828 seconds.
-Output written to ./CahnHilliard3D.h.
-Output written to ./CahnHilliard3D.cpp.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form CahnHilliard2D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_3, w_4]'
- Unique elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<2 x CG1(?)>, CG1(
- ?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 4
- Coefficients: '[w_0, w_2, w_3, w_4]'
- Unique elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<CG1(?), CG1(?)>, R0(?), Vector<2 x CG1(?)>, CG1(
- ?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.196058 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, MixedElement(FiniteElement('Lagrange', triangle, 1), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]])}
-
- tables: {'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]])}
-
- name_map: {'FE0_C1_D01': ['FE2_C1_D01'], 'FE0_C1_D10': ['FE2_C1_D10'], 'FE0_C0_D10': ['FE2_C0_D10'], 'FE0_C0_D01': ['FE2_C0_D01'], 'FE0_C1': ['FE2_C1'], 'FE0_C0': ['FE2_C0']}
-
- inv_name_map: {'FE2_C1_D01': 'FE0_C1_D01', 'FE2_C1_D10': 'FE0_C1_D10', 'FE2_C0_D01': 'FE0_C0_D01', 'FE0_C0_D10': 'FE0_C0_D10', 'FE1': 'FE1', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C1_D01': 'FE0_C1_D01', 'FE2_C1': 'FE0_C1', 'FE2_C0': 'FE0_C0', 'FE0_C0_D01': 'FE0_C0_D01', 'FE2_C0_D10': 'FE0_C0_D10', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE0_C0_D01', (4, [3, 5]), False, False), 'FE2_C1_D10': ('FE0_C0_D01', (5, [3, 4]), False, False), 'FE2_C0_D01': ('FE0_C0_D01', (1, [0, 2]), False, False), 'FE0_C0_D10': ('FE0_C0_D01', (2, [0, 1]), False, False), 'FE1': ('FE1', (), False, True), 'FE0_C1_D10': ('FE0_C0_D01', (5, [3, 4]), False, False), 'FE0_C1_D01': ('FE0_C0_D01', (4, [3, 5]), False, False), 'FE2_C1': ('FE0_C0', (3, [3, 4, 5]), False, False), 'FE2_C0': ('FE0_C0', (0, [0, 1, 2]), False, False), 'FE0_C0_D0 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, MixedElement(FiniteElement('Lagrange', triangle, 1), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]])}
-
- tables: {'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]])}
-
- name_map: {'FE0_C1_D01': ['FE2_C1_D01'], 'FE0_C1_D10': ['FE2_C1_D10'], 'FE0_C0_D10': ['FE2_C0_D10'], 'FE0_C0_D01': ['FE2_C0_D01'], 'FE0_C1': ['FE2_C1'], 'FE0_C0': ['FE2_C0']}
-
- inv_name_map: {'FE2_C1_D01': 'FE0_C1_D01', 'FE2_C1_D10': 'FE0_C1_D10', 'FE2_C0_D01': 'FE0_C0_D01', 'FE0_C0_D10': 'FE0_C0_D10', 'FE1': 'FE1', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C1_D01': 'FE0_C1_D01', 'FE2_C1': 'FE0_C1', 'FE2_C0': 'FE0_C0', 'FE0_C0_D01': 'FE0_C0_D01', 'FE2_C0_D10': 'FE0_C0_D10', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE0_C0_D01', (4, [3, 5]), False, False), 'FE2_C1_D10': ('FE0_C0_D01', (5, [3, 4]), False, False), 'FE2_C0_D01': ('FE0_C0_D01', (1, [0, 2]), False, False), 'FE0_C0_D10': ('FE0_C0_D01', (2, [0, 1]), False, False), 'FE1': ('FE1', (), False, True), 'FE0_C1_D10': ('FE0_C0_D01', (5, [3, 4]), False, False), 'FE0_C1_D01': ('FE0_C0_D01', (4, [3, 5]), False, False), 'FE2_C1': ('FE0_C0', (3, [3, 4, 5]), False, False), 'FE2_C0': ('FE0_C0', (0, [0, 1, 2]), False, False), 'FE0_C0_D0 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.160156 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0192368 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.22032 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00128007 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00136805 seconds.
-
-FFC finished in 0.598979 seconds.
-Output written to ./CahnHilliard2D.h.
-Output written to ./CahnHilliard2D.cpp.
diff --git a/demo/documented/cahn-hilliard/cpp/main.cpp b/demo/documented/cahn-hilliard/cpp/main.cpp
index a189026..92a6523 100644
--- a/demo/documented/cahn-hilliard/cpp/main.cpp
+++ b/demo/documented/cahn-hilliard/cpp/main.cpp
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2007 Garth N. Wells
+// Copyright (C) 2005-2016 Garth N. Wells
//
// This file is part of DOLFIN.
//
@@ -17,9 +17,6 @@
//
// Modified by Anders Logg 2011
//
-// First added: 2006-03-02
-// Last changed: 2013-11-20
-//
// This program illustrates the use of the DOLFIN nonlinear solver for solving
// the Cahn-Hilliard equation.
//
@@ -41,9 +38,7 @@ class InitialConditions : public Expression
public:
InitialConditions() : Expression(2)
- {
- dolfin::seed(2 + dolfin::MPI::rank(MPI_COMM_WORLD));
- }
+ { dolfin::seed(2 + dolfin::MPI::rank(MPI_COMM_WORLD)); }
void eval(Array<double>& values, const Array<double>& x) const
{
@@ -59,87 +54,22 @@ class CahnHilliardEquation : public NonlinearProblem
public:
// Constructor
- CahnHilliardEquation(std::shared_ptr<const Mesh> mesh,
- std::shared_ptr<const Constant> dt,
- std::shared_ptr<const Constant> theta,
- std::shared_ptr<const Constant> lambda)
- {
- // Initialize class (depending on geometric dimension of the mesh).
- // Unfortunately C++ does not allow namespaces as template arguments
- dolfin_assert(mesh);
- if (mesh->geometry().dim() == 2)
- {
- init<CahnHilliard2D::FunctionSpace, CahnHilliard2D::JacobianForm,
- CahnHilliard2D::ResidualForm>(mesh, dt, theta, lambda);
- }
- else if (mesh->geometry().dim() == 3)
- {
- init<CahnHilliard3D::FunctionSpace, CahnHilliard3D::JacobianForm,
- CahnHilliard3D::ResidualForm>(mesh, dt, theta, lambda);
- }
- else
- error("Cahn-Hilliard model is programmed for 2D and 3D only.");
- }
+ CahnHilliardEquation(std::shared_ptr<const Form> F,
+ std::shared_ptr<const Form> J) : _F(F), _J(J) {}
// User defined residual vector
void F(GenericVector& b, const GenericVector& x)
- {
- // Assemble RHS (Neumann boundary conditions)
- Assembler assembler;
- assembler.assemble(b, *L);
- }
+ { assemble(b, *_F); }
// User defined assemble of Jacobian
void J(GenericMatrix& A, const GenericVector& x)
- {
- // Assemble system
- Assembler assembler;
- assembler.assemble(A, *a);
- }
-
- // Return solution function
- Function& u()
- { return *_u; }
-
- // Return solution function
- Function& u0()
- { return *_u0; }
+ { assemble(A, *_J); }
private:
- template<class X, class Y, class Z>
- void init(std::shared_ptr<const Mesh> mesh,
- std::shared_ptr<const Constant> dt,
- std::shared_ptr<const Constant> theta,
- std::shared_ptr<const Constant> lambda)
- {
- // Create function space and functions
- std::shared_ptr<X> V(new X(mesh));
- _u.reset(new Function(V));
- _u0.reset(new Function(V));
-
- // Create forms and attach functions
- Y* _a = new Y(V, V);
- Z* _L = new Z(V);
- _a->u = _u;
- _a->lmbda = lambda; _a->dt = dt; _a->theta = theta;
- _L->u = _u; _L->u0 = _u0;
- _L->lmbda = lambda; _L->dt = dt; _L->theta = theta;
-
- // Wrap pointers in a smart pointer
- a.reset(_a);
- L.reset(_L);
-
- // Set solution to intitial condition
- InitialConditions u_initial;
- *_u = u_initial;
- }
-
- // Function space, forms and functions
- std::unique_ptr<Form> a;
- std::unique_ptr<Form> L;
- std::shared_ptr<Function> _u;
- std::shared_ptr<Function> _u0;
+ // Forms
+ std::shared_ptr<const Form> _F;
+ std::shared_ptr<const Form> _J;
};
@@ -150,20 +80,56 @@ int main(int argc, char* argv[])
// Mesh
auto mesh = std::make_shared<UnitSquareMesh>(96, 96);
+ // Create function space and forms, depending on spatial dimension
+ // of the mesh
+ std::shared_ptr<FunctionSpace> V;
+ std::shared_ptr<Form> F, J;
+ if (mesh->geometry().dim() == 2)
+ {
+ V = std::make_shared<CahnHilliard2D::FunctionSpace>(mesh);
+ F = std::make_shared<CahnHilliard2D::ResidualForm>(V);
+ J = std::make_shared<CahnHilliard2D::JacobianForm>(V, V);
+ }
+ else if(mesh->geometry().dim() == 3)
+ {
+ V = std::make_shared<CahnHilliard3D::FunctionSpace>(mesh);
+ F = std::make_shared<CahnHilliard3D::ResidualForm>(V);
+ J = std::make_shared<CahnHilliard3D::JacobianForm>(V, V);
+ }
+ else
+ error("This demo only supports two or three spatial dimensions.");
+
+ // Create solution Functions (at t_n and t_{n+1})
+ auto u0 = std::make_shared<Function>(V);
+ auto u = std::make_shared<Function>(V);
+
+ // Set solution to intitial condition
+ InitialConditions u_initial;
+ *u0 = u_initial;
+ *u = u_initial;
+
// Time stepping and model parameters
auto dt = std::make_shared<Constant>(5.0e-6);
auto theta = std::make_shared<Constant>(0.5);
auto lambda = std::make_shared<Constant>(1.0e-2);
+ // Collect coefficient into groups
+ std::map<std::string, std::shared_ptr<const GenericFunction>> coefficients
+ = {{"u", u}, {"lmbda", lambda}, {"dt", dt}, {"theta", theta}};
+
+ // Add extra coefficient for residual
+ std::map<std::string, std::shared_ptr<const GenericFunction>> coefficients_F = coefficients;
+ coefficients_F.insert({"u0", u0});
+
+ // Attach coefficients to form
+ J->set_coefficients(coefficients);
+ F->set_coefficients(coefficients_F);
+
double t = 0.0;
double T = 50*(*dt);
// Create user-defined nonlinear problem
- CahnHilliardEquation cahn_hilliard(mesh, dt, theta, lambda);
-
- // Solution functions
- Function& u = cahn_hilliard.u();
- Function& u0 = cahn_hilliard.u0();
+ CahnHilliardEquation cahn_hilliard(F, J);
// Create nonlinear solver and set parameters
NewtonSolver newton_solver;
@@ -175,24 +141,24 @@ int main(int argc, char* argv[])
// Save initial condition to file
File file("cahn_hilliard.pvd", "compressed");
- file << u[0];
+ file << (*u)[0];
// Solve
while (t < T)
{
// Update for next time step
t += *dt;
- *u0.vector() = *u.vector();
+ *u0->vector() = *u->vector();
// Solve
- newton_solver.solve(cahn_hilliard, *u.vector());
+ newton_solver.solve(cahn_hilliard, *u->vector());
// Save function to file
- file << std::pair<const Function*, double>(&(u[0]), t);
+ file << std::pair<const Function*, double>(&((*u)[0]), t);
}
// Plot solution
- plot(u[0]);
+ plot((*u)[0]);
interactive();
return 0;
diff --git a/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py b/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py
index 4bf7cba..16db0e3 100644
--- a/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py
+++ b/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py
@@ -1,31 +1,119 @@
-"""This demo illustrates how to use of DOLFIN for solving the Cahn-Hilliard
-equation, which is a time-dependent nonlinear PDE """
-
-# Copyright (C) 2009 Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2009-06-20
-# Last changed: 2013-11-20
-
-# Begin demo
+# Cahn-Hilliard equation
+# ======================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_cahn-hilliard.py`, which contains both the variational
+# forms and the solver.
+#
+# This example demonstrates the solution of a particular nonlinear
+# time-dependent fourth-order equation, known as the Cahn-Hilliard
+# equation. In particular it demonstrates the use of
+#
+# * The built-in Newton solver
+# * Advanced use of the base class ``NonlinearProblem``
+# * Automatic linearisation
+# * A mixed finite element method
+# * The :math:`\theta`-method for time-dependent equations
+# * User-defined Expressions as Python classes
+# * Form compiler options
+# * Interpolation of functions
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# The Cahn-Hilliard equation is a parabolic equation and is typically
+# used to model phase separation in binary mixtures. It involves
+# first-order time derivatives, and second- and fourth-order spatial
+# derivatives. The equation reads:
+#
+# .. math::
+# \frac{\partial c}{\partial t} - \nabla \cdot M \left(\nabla\left(\frac{d f}{d c}
+# - \lambda \nabla^{2}c\right)\right) &= 0 \quad {\rm in} \ \Omega, \\
+# M\left(\nabla\left(\frac{d f}{d c} - \lambda \nabla^{2}c\right)\right) \cdot n &= 0 \quad {\rm on} \ \partial\Omega, \\
+# M \lambda \nabla c \cdot n &= 0 \quad {\rm on} \ \partial\Omega.
+#
+# where :math:`c` is the unknown field, the function :math:`f` is
+# usually non-convex in :math:`c` (a fourth-order polynomial is commonly
+# used), :math:`n` is the outward directed boundary normal, and
+# :math:`M` is a scalar parameter.
+#
+#
+# Mixed form
+# ^^^^^^^^^^
+#
+# The Cahn-Hilliard equation is a fourth-order equation, so casting it
+# in a weak form would result in the presence of second-order spatial
+# derivatives, and the problem could not be solved using a standard
+# Lagrange finite element basis. A solution is to rephrase the problem
+# as two coupled second-order equations:
+#
+# .. math::
+# \frac{\partial c}{\partial t} - \nabla \cdot M \nabla\mu &= 0 \quad {\rm in} \ \Omega, \\
+# \mu - \frac{d f}{d c} + \lambda \nabla^{2}c &= 0 \quad {\rm in} \ \Omega.
+#
+# The unknown fields are now :math:`c` and :math:`\mu`. The weak
+# (variational) form of the problem reads: find :math:`(c, \mu) \in V
+# \times V` such that
+#
+# .. math::
+# \int_{\Omega} \frac{\partial c}{\partial t} q \, {\rm d} x + \int_{\Omega} M \nabla\mu \cdot \nabla q \, {\rm d} x
+# &= 0 \quad \forall \ q \in V, \\
+# \int_{\Omega} \mu v \, {\rm d} x - \int_{\Omega} \frac{d f}{d c} v \, {\rm d} x - \int_{\Omega} \lambda \nabla c \cdot \nabla v \, {\rm d} x
+# &= 0 \quad \forall \ v \in V.
+#
+#
+# Time discretisation
+# ^^^^^^^^^^^^^^^^^^^
+#
+# Before being able to solve this problem, the time derivative must be
+# dealt with. Apply the :math:`\theta`-method to the mixed weak form of
+# the equation:
+#
+# .. math::
+#
+# \int_{\Omega} \frac{c_{n+1} - c_{n}}{dt} q \, {\rm d} x + \int_{\Omega} M \nabla \mu_{n+\theta} \cdot \nabla q \, {\rm d} x
+# &= 0 \quad \forall \ q \in V \\
+# \int_{\Omega} \mu_{n+1} v \, {\rm d} x - \int_{\Omega} \frac{d f_{n+1}}{d c} v \, {\rm d} x - \int_{\Omega} \lambda \nabla c_{n+1} \cdot \nabla v \, {\rm d} x
+# &= 0 \quad \forall \ v \in V
+#
+# where :math:`dt = t_{n+1} - t_{n}` and :math:`\mu_{n+\theta} =
+# (1-\theta) \mu_{n} + \theta \mu_{n+1}`. The task is: given
+# :math:`c_{n}` and :math:`\mu_{n}`, solve the above equation to find
+# :math:`c_{n+1}` and :math:`\mu_{n+1}`.
+#
+#
+# Demo parameters
+# ^^^^^^^^^^^^^^^
+#
+# The following domains, functions and time stepping parameters are used
+# in this demo:
+#
+# * :math:`\Omega = (0, 1) \times (0, 1)` (unit square)
+# * :math:`f = 100 c^{2} (1-c)^{2}`
+# * :math:`\lambda = 1 \times 10^{-2}`
+# * :math:`M = 1`
+# * :math:`dt = 5 \times 10^{-6}`
+# * :math:`\theta = 0.5`
+#
+#
+# Implementation
+# --------------
+#
+# This demo is implemented in the :download:`demo_cahn-hilliard.py`
+# file.
+#
+# First, the Python module :py:mod:`random` and the :py:mod:`dolfin`
+# module are imported::
import random
from dolfin import *
+# .. index:: Expression
+#
+# A class which will be used to represent the initial conditions is then
+# created::
+
# Class representing the intial conditions
class InitialConditions(Expression):
def __init__(self, **kwargs):
@@ -36,6 +124,24 @@ class InitialConditions(Expression):
def value_shape(self):
return (2,)
+# It is a subclass of :py:class:`Expression
+# <dolfin.functions.expression.Expression>`. In the constructor
+# (``__init__``), the random number generator is seeded. If the program
+# is run in parallel, the random number generator is seeded using the
+# rank (process number) to ensure a different sequence of numbers on
+# each process. The function ``eval`` returns values for a function of
+# dimension two. For the first component of the function, a randomized
+# value is returned. The method ``value_shape`` declares that the
+# :py:class:`Expression <dolfin.functions.expression.Expression>` is
+# vector valued with dimension two.
+#
+# .. index::
+# single: NonlinearProblem; (in Cahn-Hilliard demo)
+#
+# A class which will represent the Cahn-Hilliard in an abstract from for
+# use in the Newton solver is now defined. It is a subclass of
+# :py:class:`NonlinearProblem <dolfin.cpp.NonlinearProblem>`. ::
+
# Class for interfacing with the Newton solver
class CahnHilliardEquation(NonlinearProblem):
def __init__(self, a, L):
@@ -47,25 +153,68 @@ class CahnHilliardEquation(NonlinearProblem):
def J(self, A, x):
assemble(self.a, tensor=A)
+# The constructor (``__init__``) stores references to the bilinear
+# (``a``) and linear (``L``) forms. These will used to compute the
+# Jacobian matrix and the residual vector, respectively, for use in a
+# Newton solver. The function ``F`` and ``J`` are virtual member
+# functions of :py:class:`NonlinearProblem
+# <dolfin.cpp.NonlinearProblem>`. The function ``F`` computes the
+# residual vector ``b``, and the function ``J`` computes the Jacobian
+# matrix ``A``.
+#
+# Next, various model parameters are defined::
+
# Model parameters
lmbda = 1.0e-02 # surface parameter
dt = 5.0e-06 # time step
theta = 0.5 # time stepping family, e.g. theta=1 -> backward Euler, theta=0.5 -> Crank-Nicolson
+# .. index::
+# singe: form compiler options; (in Cahn-Hilliard demo)
+#
+# It is possible to pass arguments that control aspects of the generated
+# code to the form compiler. The lines ::
+
# Form compiler options
parameters["form_compiler"]["optimize"] = True
parameters["form_compiler"]["cpp_optimize"] = True
-parameters["form_compiler"]["representation"] = "quadrature"
+
+# tell the form to apply optimization strategies in the code generation
+# phase and the use compiler optimization flags when compiling the
+# generated C++ code. Using the option ``["optimize"] = True`` will
+# generally result in faster code (sometimes orders of magnitude faster
+# for certain operations, depending on the equation), but it may take
+# considerably longer to generate the code and the generation phase may
+# use considerably more memory).
+#
+# A unit square mesh with 97 (= 96 + 1) vertices in each direction is
+# created, and on this mesh a :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` ``ME`` is built using
+# a pair of linear Lagrangian elements. ::
# Create mesh and build function space
mesh = UnitSquareMesh(96, 96)
P1 = FiniteElement("Lagrange", mesh.ufl_cell(), 1)
ME = FunctionSpace(mesh, P1*P1)
+# Trial and test functions of the space ``ME`` are now defined::
+
# Define trial and test functions
du = TrialFunction(ME)
q, v = TestFunctions(ME)
+# .. index:: split functions
+#
+# For the test functions, :py:func:`TestFunctions
+# <dolfin.functions.function.TestFunctions>` (note the 's' at the end)
+# is used to define the scalar test functions ``q`` and ``v``. The
+# :py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+# ``du`` has dimension two. Some mixed objects of the
+# :py:class:`Function <dolfin.functions.function.Function>` class on
+# ``ME`` are defined to represent :math:`u = (c_{n+1}, \mu_{n+1})` and
+# :math:`u0 = (c_{n}, \mu_{n})`, and these are then split into
+# sub-functions::
+
# Define functions
u = Function(ME) # current solution
u0 = Function(ME) # solution from previous converged step
@@ -75,27 +224,77 @@ dc, dmu = split(du)
c, mu = split(u)
c0, mu0 = split(u0)
+# The line ``c, mu = split(u)`` permits direct access to the components
+# of a mixed function. Note that ``c`` and ``mu`` are references for
+# components of ``u``, and not copies.
+#
+# .. index::
+# single: interpolating functions; (in Cahn-Hilliard demo)
+#
+# Initial conditions are created by using the class defined at the
+# beginning of the demo and then interpolating the initial conditions
+# into a finite element space::
+
# Create intial conditions and interpolate
u_init = InitialConditions(degree=1)
u.interpolate(u_init)
u0.interpolate(u_init)
+# The first line creates an object of type ``InitialConditions``. The
+# following two lines make ``u`` and ``u0`` interpolants of ``u_init``
+# (since ``u`` and ``u0`` are finite element functions, they may not be
+# able to represent a given function exactly, but the function can be
+# approximated by interpolating it in a finite element space).
+#
+# .. index:: automatic differentiation
+#
+# The chemical potential :math:`df/dc` is computed using automated
+# differentiation::
+
# Compute the chemical potential df/dc
c = variable(c)
f = 100*c**2*(1-c)**2
dfdc = diff(f, c)
+# The first line declares that ``c`` is a variable that some function
+# can be differentiated with respect to. The next line is the function
+# :math:`f` defined in the problem statement, and the third line
+# performs the differentiation of ``f`` with respect to the variable
+# ``c``.
+#
+# It is convenient to introduce an expression for :math:`\mu_{n+\theta}`::
+
# mu_(n+theta)
mu_mid = (1.0-theta)*mu0 + theta*mu
+# which is then used in the definition of the variational forms::
+
# Weak statement of the equations
L0 = c*q*dx - c0*q*dx + dt*dot(grad(mu_mid), grad(q))*dx
L1 = mu*v*dx - dfdc*v*dx - lmbda*dot(grad(c), grad(v))*dx
L = L0 + L1
+# This is a statement of the time-discrete equations presented as part
+# of the problem statement, using UFL syntax. The linear forms for the
+# two equations can be summed into one form ``L``, and then the
+# directional derivative of ``L`` can be computed to form the bilinear
+# form which represents the Jacobian matrix::
+
# Compute directional derivative about u in the direction of du (Jacobian)
a = derivative(L, u, du)
+# .. index::
+# single: Newton solver; (in Cahn-Hilliard demo)
+#
+# The DOLFIN Newton solver requires a :py:class:`NonlinearProblem
+# <dolfin.cpp.NonlinearProblem>` object to solve a system of nonlinear
+# equations. Here, we are using the class ``CahnHilliardEquation``,
+# which was declared at the beginning of the file, and which is a
+# sub-class of :py:class:`NonlinearProblem
+# <dolfin.cpp.NonlinearProblem>`. We need to instantiate objects of both
+# ``CahnHilliardEquation`` and :py:class:`NewtonSolver
+# <dolfin.cpp.NewtonSolver>`::
+
# Create nonlinear problem and Newton solver
problem = CahnHilliardEquation(a, L)
solver = NewtonSolver()
@@ -103,6 +302,18 @@ solver.parameters["linear_solver"] = "lu"
solver.parameters["convergence_criterion"] = "incremental"
solver.parameters["relative_tolerance"] = 1e-6
+# The string ``"lu"`` passed to the Newton solver indicated that an LU
+# solver should be used. The setting of
+# ``parameters["convergence_criterion"] = "incremental"`` specifies that
+# the Newton solver should compute a norm of the solution increment to
+# check for convergence (the other possibility is to use ``"residual"``,
+# or to provide a user-defined check). The tolerance for convergence is
+# specified by ``parameters["relative_tolerance"] = 1e-6``.
+#
+# To run the solver and save the output to a VTK file for later visualization,
+# the solver is advanced in time from :math:`t_{n}` to :math:`t_{n+1}` until
+# a terminal time :math:`T` is reached::
+
# Output file
file = File("output.pvd", "compressed")
@@ -115,5 +326,21 @@ while (t < T):
solver.solve(problem, u.vector())
file << (u.split()[0], t)
+# The string ``"compressed"`` indicates that the output data should be
+# compressed to reduce the file size. Within the time stepping loop, the
+# solution vector associated with ``u`` is copied to ``u0`` at the
+# beginning of each time step, and the nonlinear problem is solved by
+# calling :py:func:`solver.solve(problem, u.vector())
+# <dolfin.cpp.NewtonSolver.solve>`, with the new solution vector
+# returned in :py:func:`u.vector() <dolfin.cpp.Function.vector>`. The
+# ``c`` component of the solution (the first component of ``u``) is then
+# written to file at every time step.
+#
+# Finally, the last computed solution for :math:`c` is plotted to the
+# screen::
+
plot(u.split()[0])
interactive()
+
+# The line ``interactive()`` holds the plot (waiting for a keyboard
+# action).
diff --git a/demo/documented/cahn-hilliard/python/documentation.rst b/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py.rst
similarity index 63%
rename from demo/documented/cahn-hilliard/python/documentation.rst
rename to demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py.rst
index eb01d20..8cb978d 100644
--- a/demo/documented/cahn-hilliard/python/documentation.rst
+++ b/demo/documented/cahn-hilliard/python/demo_cahn-hilliard.py.rst
@@ -1,7 +1,3 @@
-.. Documentation for the Cahn-Hilliard demo from DOLFIN.
-
-.. _demo_pde_cahn_hilliard_python_documentation:
-
Cahn-Hilliard equation
======================
@@ -9,17 +5,106 @@ This demo is implemented in a single Python file,
:download:`demo_cahn-hilliard.py`, which contains both the variational
forms and the solver.
-.. include:: ../common.txt
+This example demonstrates the solution of a particular nonlinear
+time-dependent fourth-order equation, known as the Cahn-Hilliard
+equation. In particular it demonstrates the use of
+
+* The built-in Newton solver
+* Advanced use of the base class ``NonlinearProblem``
+* Automatic linearisation
+* A mixed finite element method
+* The :math:`\theta`-method for time-dependent equations
+* User-defined Expressions as Python classes
+* Form compiler options
+* Interpolation of functions
+
+
+Equation and problem definition
+-------------------------------
+
+The Cahn-Hilliard equation is a parabolic equation and is typically
+used to model phase separation in binary mixtures. It involves
+first-order time derivatives, and second- and fourth-order spatial
+derivatives. The equation reads:
+
+.. math::
+ \frac{\partial c}{\partial t} - \nabla \cdot M \left(\nabla\left(\frac{d f}{d c}
+ - \lambda \nabla^{2}c\right)\right) &= 0 \quad {\rm in} \ \Omega, \\
+ M\left(\nabla\left(\frac{d f}{d c} - \lambda \nabla^{2}c\right)\right) \cdot n &= 0 \quad {\rm on} \ \partial\Omega, \\
+ M \lambda \nabla c \cdot n &= 0 \quad {\rm on} \ \partial\Omega.
+
+where :math:`c` is the unknown field, the function :math:`f` is
+usually non-convex in :math:`c` (a fourth-order polynomial is commonly
+used), :math:`n` is the outward directed boundary normal, and
+:math:`M` is a scalar parameter.
+
+
+Mixed form
+^^^^^^^^^^
+
+The Cahn-Hilliard equation is a fourth-order equation, so casting it
+in a weak form would result in the presence of second-order spatial
+derivatives, and the problem could not be solved using a standard
+Lagrange finite element basis. A solution is to rephrase the problem
+as two coupled second-order equations:
+
+.. math::
+ \frac{\partial c}{\partial t} - \nabla \cdot M \nabla\mu &= 0 \quad {\rm in} \ \Omega, \\
+ \mu - \frac{d f}{d c} + \lambda \nabla^{2}c &= 0 \quad {\rm in} \ \Omega.
+
+The unknown fields are now :math:`c` and :math:`\mu`. The weak
+(variational) form of the problem reads: find :math:`(c, \mu) \in V
+\times V` such that
+
+.. math::
+ \int_{\Omega} \frac{\partial c}{\partial t} q \, {\rm d} x + \int_{\Omega} M \nabla\mu \cdot \nabla q \, {\rm d} x
+ &= 0 \quad \forall \ q \in V, \\
+ \int_{\Omega} \mu v \, {\rm d} x - \int_{\Omega} \frac{d f}{d c} v \, {\rm d} x - \int_{\Omega} \lambda \nabla c \cdot \nabla v \, {\rm d} x
+ &= 0 \quad \forall \ v \in V.
+
+
+Time discretisation
+^^^^^^^^^^^^^^^^^^^
+
+Before being able to solve this problem, the time derivative must be
+dealt with. Apply the :math:`\theta`-method to the mixed weak form of
+the equation:
+
+.. math::
+
+ \int_{\Omega} \frac{c_{n+1} - c_{n}}{dt} q \, {\rm d} x + \int_{\Omega} M \nabla \mu_{n+\theta} \cdot \nabla q \, {\rm d} x
+ &= 0 \quad \forall \ q \in V \\
+ \int_{\Omega} \mu_{n+1} v \, {\rm d} x - \int_{\Omega} \frac{d f_{n+1}}{d c} v \, {\rm d} x - \int_{\Omega} \lambda \nabla c_{n+1} \cdot \nabla v \, {\rm d} x
+ &= 0 \quad \forall \ v \in V
+
+where :math:`dt = t_{n+1} - t_{n}` and :math:`\mu_{n+\theta} =
+(1-\theta) \mu_{n} + \theta \mu_{n+1}`. The task is: given
+:math:`c_{n}` and :math:`\mu_{n}`, solve the above equation to find
+:math:`c_{n+1}` and :math:`\mu_{n+1}`.
+
+
+Demo parameters
+^^^^^^^^^^^^^^^
+
+The following domains, functions and time stepping parameters are used
+in this demo:
+
+* :math:`\Omega = (0, 1) \times (0, 1)` (unit square)
+* :math:`f = 100 c^{2} (1-c)^{2}`
+* :math:`\lambda = 1 \times 10^{-2}`
+* :math:`M = 1`
+* :math:`dt = 5 \times 10^{-6}`
+* :math:`\theta = 0.5`
+
Implementation
--------------
-This demo is implemented in the :download:`demo_cahn-hilliard.py` file.
+This demo is implemented in the :download:`demo_cahn-hilliard.py`
+file.
First, the Python module :py:mod:`random` and the :py:mod:`dolfin`
-module are imported:
-
-.. code-block:: python
+module are imported::
import random
from dolfin import *
@@ -27,9 +112,7 @@ module are imported:
.. index:: Expression
A class which will be used to represent the initial conditions is then
-created:
-
-.. code-block:: python
+created::
# Class representing the intial conditions
class InitialConditions(Expression):
@@ -57,9 +140,7 @@ vector valued with dimension two.
A class which will represent the Cahn-Hilliard in an abstract from for
use in the Newton solver is now defined. It is a subclass of
-:py:class:`NonlinearProblem <dolfin.cpp.NonlinearProblem>`.
-
-.. code-block:: python
+:py:class:`NonlinearProblem <dolfin.cpp.NonlinearProblem>`. ::
# Class for interfacing with the Newton solver
class CahnHilliardEquation(NonlinearProblem):
@@ -81,50 +162,42 @@ functions of :py:class:`NonlinearProblem
residual vector ``b``, and the function ``J`` computes the Jacobian
matrix ``A``.
-Next, various model parameters are defined:
-
-.. code-block:: python
+Next, various model parameters are defined::
# Model parameters
lmbda = 1.0e-02 # surface parameter
dt = 5.0e-06 # time step
theta = 0.5 # time stepping family, e.g. theta=1 -> backward Euler, theta=0.5 -> Crank-Nicolson
-
.. index::
singe: form compiler options; (in Cahn-Hilliard demo)
It is possible to pass arguments that control aspects of the generated
-code to the form compiler. The lines
-
-.. code-block:: python
+code to the form compiler. The lines ::
# Form compiler options
parameters["form_compiler"]["optimize"] = True
parameters["form_compiler"]["cpp_optimize"] = True
-tell the form to apply optimization strategies in the code generation phase
-and the use compiler optimization flags when compiling the generated C++
-code. Using the option ``["optimize"] = True`` will generally result in
-faster code (sometimes orders of magnitude faster for certain operations,
-depending on the equation), but it may take considerably longer to generate
-the code and the generation phase may use considerably more memory).
+tell the form to apply optimization strategies in the code generation
+phase and the use compiler optimization flags when compiling the
+generated C++ code. Using the option ``["optimize"] = True`` will
+generally result in faster code (sometimes orders of magnitude faster
+for certain operations, depending on the equation), but it may take
+considerably longer to generate the code and the generation phase may
+use considerably more memory).
A unit square mesh with 97 (= 96 + 1) vertices in each direction is
created, and on this mesh a :py:class:`FunctionSpace
-<dolfin.functions.functionspace.FunctionSpace>` ``ME`` is built
-using a pair of linear Lagrangian elements.
-
-.. code-block:: python
+<dolfin.functions.functionspace.FunctionSpace>` ``ME`` is built using
+a pair of linear Lagrangian elements. ::
# Create mesh and build function space
mesh = UnitSquareMesh(96, 96)
P1 = FiniteElement("Lagrange", mesh.ufl_cell(), 1)
ME = FunctionSpace(mesh, P1*P1)
-Trial and test functions of the space ``ME`` are now defined:
-
-.. code-block:: python
+Trial and test functions of the space ``ME`` are now defined::
# Define trial and test functions
du = TrialFunction(ME)
@@ -140,9 +213,7 @@ is used to define the scalar test functions ``q`` and ``v``. The
:py:class:`Function <dolfin.functions.function.Function>` class on
``ME`` are defined to represent :math:`u = (c_{n+1}, \mu_{n+1})` and
:math:`u0 = (c_{n}, \mu_{n})`, and these are then split into
-sub-functions:
-
-.. code-block:: python
+sub-functions::
# Define functions
u = Function(ME) # current solution
@@ -162,27 +233,23 @@ components of ``u``, and not copies.
Initial conditions are created by using the class defined at the
beginning of the demo and then interpolating the initial conditions
-into a finite element space:
-
-.. code-block:: python
+into a finite element space::
# Create intial conditions and interpolate
u_init = InitialConditions(degree=1)
u.interpolate(u_init)
u0.interpolate(u_init)
-The first line creates an object of type ``InitialConditions``.
-The following two lines make ``u`` and ``u0`` interpolants of ``u_init``
-(since ``u`` and ``u0`` are finite element functions, they may not be able
-to represent a given function exactly, but the function can be approximated
-by interpolating it in a finite element space).
+The first line creates an object of type ``InitialConditions``. The
+following two lines make ``u`` and ``u0`` interpolants of ``u_init``
+(since ``u`` and ``u0`` are finite element functions, they may not be
+able to represent a given function exactly, but the function can be
+approximated by interpolating it in a finite element space).
.. index:: automatic differentiation
The chemical potential :math:`df/dc` is computed using automated
-differentiation:
-
-.. code-block:: python
+differentiation::
# Compute the chemical potential df/dc
c = variable(c)
@@ -195,16 +262,12 @@ can be differentiated with respect to. The next line is the function
performs the differentiation of ``f`` with respect to the variable
``c``.
-It is convenient to introduce an expression for :math:`\mu_{n+\theta}`
-
-.. code-block:: python
+It is convenient to introduce an expression for :math:`\mu_{n+\theta}`::
# mu_(n+theta)
mu_mid = (1.0-theta)*mu0 + theta*mu
-which is then used in the definition of the variational forms:
-
-.. code-block:: python
+which is then used in the definition of the variational forms::
# Weak statement of the equations
L0 = c*q*dx - c0*q*dx + dt*dot(grad(mu_mid), grad(q))*dx
@@ -215,9 +278,7 @@ This is a statement of the time-discrete equations presented as part
of the problem statement, using UFL syntax. The linear forms for the
two equations can be summed into one form ``L``, and then the
directional derivative of ``L`` can be computed to form the bilinear
-form which represents the Jacobian matrix:
-
-.. code-block:: python
+form which represents the Jacobian matrix::
# Compute directional derivative about u in the direction of du (Jacobian)
a = derivative(L, u, du)
@@ -232,9 +293,7 @@ which was declared at the beginning of the file, and which is a
sub-class of :py:class:`NonlinearProblem
<dolfin.cpp.NonlinearProblem>`. We need to instantiate objects of both
``CahnHilliardEquation`` and :py:class:`NewtonSolver
-<dolfin.cpp.NewtonSolver>`:
-
-.. code-block:: python
+<dolfin.cpp.NewtonSolver>`::
# Create nonlinear problem and Newton solver
problem = CahnHilliardEquation(a, L)
@@ -253,9 +312,7 @@ specified by ``parameters["relative_tolerance"] = 1e-6``.
To run the solver and save the output to a VTK file for later visualization,
the solver is advanced in time from :math:`t_{n}` to :math:`t_{n+1}` until
-a terminal time :math:`T` is reached:
-
-.. code-block:: python
+a terminal time :math:`T` is reached::
# Output file
file = File("output.pvd", "compressed")
@@ -279,18 +336,11 @@ returned in :py:func:`u.vector() <dolfin.cpp.Function.vector>`. The
``c`` component of the solution (the first component of ``u``) is then
written to file at every time step.
-Finally, the last computed solution for :math:`c` is plotted to the screen:
-
-.. code-block:: python
+Finally, the last computed solution for :math:`c` is plotted to the
+screen::
plot(u.split()[0])
interactive()
-The line ``interactive()`` holds the plot (waiting for a keyboard action).
-
-
-Complete code
--------------
-
-.. literalinclude:: demo_cahn-hilliard.py
- :start-after: # Begin demo
+The line ``interactive()`` holds the plot (waiting for a keyboard
+action).
diff --git a/demo/documented/eigenvalue/cpp/CMakeLists.txt b/demo/documented/eigenvalue/cpp/CMakeLists.txt
index 8f74ffe..05c4ed9 100644
--- a/demo/documented/eigenvalue/cpp/CMakeLists.txt
+++ b/demo/documented/eigenvalue/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_eigenvalue)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/eigenvalue/cpp/StiffnessMatrix.h b/demo/documented/eigenvalue/cpp/StiffnessMatrix.h
deleted file mode 100644
index 9588be3..0000000
--- a/demo/documented/eigenvalue/cpp/StiffnessMatrix.h
+++ /dev/null
@@ -1,5242 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __STIFFNESSMATRIX_H
-#define __STIFFNESSMATRIX_H
-#include <stdexcept>
-#include <ufc.h>
-
-class stiffnessmatrix_finite_element_0: public ufc::finite_element
-{
-public:
-
- stiffnessmatrix_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~stiffnessmatrix_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', tetrahedron, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::tetrahedron;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 3;
- }
-
- std::size_t space_dimension() const final override
- {
- return 4;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 4; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[3][1];
- for (unsigned int row = 0; row < 3; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 2)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[3][3] = {{K[0], K[1], K[2]}, {K[3], K[4], K[5]}, {K[6], K[7], K[8]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[3][3];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 4; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 4; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[3];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[3];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- vertex_values[3] = dof_values[3];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[6];
- dof_coordinates[7] = coordinate_dofs[7];
- dof_coordinates[8] = coordinate_dofs[8];
- dof_coordinates[9] = coordinate_dofs[9];
- dof_coordinates[10] = coordinate_dofs[10];
- dof_coordinates[11] = coordinate_dofs[11];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new stiffnessmatrix_finite_element_0();
- }
-
-};
-
-
-class stiffnessmatrix_finite_element_1: public ufc::finite_element
-{
-public:
-
- stiffnessmatrix_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~stiffnessmatrix_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::tetrahedron;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 3;
- }
-
- std::size_t space_dimension() const final override
- {
- return 12;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 3;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 3;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- values[2] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[3] = {0.0, 0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 12; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3; s++)
- {
- values[r*3 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 3*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[3][1];
- for (unsigned int row = 0; row < 3; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 2)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[3][3] = {{K[0], K[1], K[2]}, {K[3], K[4], K[5]}, {K[6], K[7], K[8]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[3][3];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 12; r++)
- {
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[9];
- for (unsigned int r = 0; r < 9; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 12; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[3];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 6:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 7:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 8:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 9:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 10:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 11:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[3];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[8] = vals[2];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[2];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[10] = vals[2];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[11] = vals[2];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[3] = dof_values[1];
- vertex_values[6] = dof_values[2];
- vertex_values[9] = dof_values[3];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[4];
- vertex_values[4] = dof_values[5];
- vertex_values[7] = dof_values[6];
- vertex_values[10] = dof_values[7];
- // Evaluate function and change variables
- vertex_values[2] = dof_values[8];
- vertex_values[5] = dof_values[9];
- vertex_values[8] = dof_values[10];
- vertex_values[11] = dof_values[11];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[6];
- dof_coordinates[7] = coordinate_dofs[7];
- dof_coordinates[8] = coordinate_dofs[8];
- dof_coordinates[9] = coordinate_dofs[9];
- dof_coordinates[10] = coordinate_dofs[10];
- dof_coordinates[11] = coordinate_dofs[11];
- dof_coordinates[12] = coordinate_dofs[0];
- dof_coordinates[13] = coordinate_dofs[1];
- dof_coordinates[14] = coordinate_dofs[2];
- dof_coordinates[15] = coordinate_dofs[3];
- dof_coordinates[16] = coordinate_dofs[4];
- dof_coordinates[17] = coordinate_dofs[5];
- dof_coordinates[18] = coordinate_dofs[6];
- dof_coordinates[19] = coordinate_dofs[7];
- dof_coordinates[20] = coordinate_dofs[8];
- dof_coordinates[21] = coordinate_dofs[9];
- dof_coordinates[22] = coordinate_dofs[10];
- dof_coordinates[23] = coordinate_dofs[11];
- dof_coordinates[24] = coordinate_dofs[0];
- dof_coordinates[25] = coordinate_dofs[1];
- dof_coordinates[26] = coordinate_dofs[2];
- dof_coordinates[27] = coordinate_dofs[3];
- dof_coordinates[28] = coordinate_dofs[4];
- dof_coordinates[29] = coordinate_dofs[5];
- dof_coordinates[30] = coordinate_dofs[6];
- dof_coordinates[31] = coordinate_dofs[7];
- dof_coordinates[32] = coordinate_dofs[8];
- dof_coordinates[33] = coordinate_dofs[9];
- dof_coordinates[34] = coordinate_dofs[10];
- dof_coordinates[35] = coordinate_dofs[11];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 3;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new stiffnessmatrix_finite_element_0();
- break;
- }
- case 1:
- {
- return new stiffnessmatrix_finite_element_0();
- break;
- }
- case 2:
- {
- return new stiffnessmatrix_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new stiffnessmatrix_finite_element_1();
- }
-
-};
-
-
-class stiffnessmatrix_dofmap_0: public ufc::dofmap
-{
-public:
-
- stiffnessmatrix_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~stiffnessmatrix_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', tetrahedron, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- case 3:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- case 3:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- dofs[3] = entity_indices[0][3];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- break;
- }
- case 3:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 3)
- {
- throw std::runtime_error("i is larger than number of entities (3)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- case 3:
- {
- dofs[0] = 3;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- case 3:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new stiffnessmatrix_dofmap_0();
- }
-
-};
-
-
-class stiffnessmatrix_dofmap_1: public ufc::dofmap
-{
-public:
-
- stiffnessmatrix_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~stiffnessmatrix_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- case 3:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 3*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 12;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 9;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 3;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- case 3:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- dofs[3] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[4] = offset + entity_indices[0][0];
- dofs[5] = offset + entity_indices[0][1];
- dofs[6] = offset + entity_indices[0][2];
- dofs[7] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[8] = offset + entity_indices[0][0];
- dofs[9] = offset + entity_indices[0][1];
- dofs[10] = offset + entity_indices[0][2];
- dofs[11] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- dofs[4] = 6;
- dofs[5] = 7;
- dofs[6] = 9;
- dofs[7] = 10;
- dofs[8] = 11;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 4;
- dofs[4] = 6;
- dofs[5] = 7;
- dofs[6] = 8;
- dofs[7] = 10;
- dofs[8] = 11;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- dofs[4] = 5;
- dofs[5] = 7;
- dofs[6] = 8;
- dofs[7] = 9;
- dofs[8] = 11;
- break;
- }
- case 3:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 4;
- dofs[4] = 5;
- dofs[5] = 6;
- dofs[6] = 8;
- dofs[7] = 9;
- dofs[8] = 10;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 3)
- {
- throw std::runtime_error("i is larger than number of entities (3)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 4;
- dofs[2] = 8;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 5;
- dofs[2] = 9;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 6;
- dofs[2] = 10;
- break;
- }
- case 3:
- {
- dofs[0] = 3;
- dofs[1] = 7;
- dofs[2] = 11;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- case 3:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new stiffnessmatrix_dofmap_0();
- break;
- }
- case 1:
- {
- return new stiffnessmatrix_dofmap_0();
- break;
- }
- case 2:
- {
- return new stiffnessmatrix_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new stiffnessmatrix_dofmap_1();
- }
-
-};
-
-
-class stiffnessmatrix_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- stiffnessmatrix_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~stiffnessmatrix_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 27
- // Number of operations (multiply-add pairs) for tensor contraction: 28
- // Total number of operations (multiply-add pairs): 58
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- const double G0_0_1 = det*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- const double G0_0_2 = det*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- const double G0_1_0 = det*(K[3]*K[0] + K[4]*K[1] + K[5]*K[2]);
- const double G0_1_1 = det*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- const double G0_1_2 = det*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- const double G0_2_0 = det*(K[6]*K[0] + K[7]*K[1] + K[8]*K[2]);
- const double G0_2_1 = det*(K[6]*K[3] + K[7]*K[4] + K[8]*K[5]);
- const double G0_2_2 = det*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
-
- // Compute element tensor
- A[0] = 0.166666666666667*G0_0_0 + 0.166666666666667*G0_0_1 + 0.166666666666667*G0_0_2 + 0.166666666666667*G0_1_0 + 0.166666666666667*G0_1_1 + 0.166666666666667*G0_1_2 + 0.166666666666667*G0_2_0 + 0.166666666666667*G0_2_1 + 0.166666666666667*G0_2_2;
- A[1] = -0.166666666666667*G0_0_0 - 0.166666666666667*G0_1_0 - 0.166666666666667*G0_2_0;
- A[2] = -0.166666666666667*G0_0_1 - 0.166666666666667*G0_1_1 - 0.166666666666667*G0_2_1;
- A[3] = -0.166666666666667*G0_0_2 - 0.166666666666667*G0_1_2 - 0.166666666666667*G0_2_2;
- A[4] = -0.166666666666667*G0_0_0 - 0.166666666666667*G0_0_1 - 0.166666666666667*G0_0_2;
- A[5] = 0.166666666666667*G0_0_0;
- A[6] = 0.166666666666667*G0_0_1;
- A[7] = 0.166666666666667*G0_0_2;
- A[8] = -0.166666666666667*G0_1_0 - 0.166666666666667*G0_1_1 - 0.166666666666667*G0_1_2;
- A[9] = 0.166666666666667*G0_1_0;
- A[10] = 0.166666666666667*G0_1_1;
- A[11] = 0.166666666666667*G0_1_2;
- A[12] = -0.166666666666667*G0_2_0 - 0.166666666666667*G0_2_1 - 0.166666666666667*G0_2_2;
- A[13] = 0.166666666666667*G0_2_0;
- A[14] = 0.166666666666667*G0_2_1;
- A[15] = 0.166666666666667*G0_2_2;
- }
-
-};
-
-
-class stiffnessmatrix_form_0: public ufc::form
-{
-public:
-
- stiffnessmatrix_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~stiffnessmatrix_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "f40249973629a3ed69f1938215fd750d79b950ffd1c814a6060dcf2b09f3ff6a624bed216e9e59900affbf436fffb41f50e98739baecf87fe3c491de99cd0f31";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new stiffnessmatrix_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new stiffnessmatrix_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new stiffnessmatrix_finite_element_0();
- break;
- }
- case 1:
- {
- return new stiffnessmatrix_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new stiffnessmatrix_dofmap_0();
- break;
- }
- case 1:
- {
- return new stiffnessmatrix_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new stiffnessmatrix_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace StiffnessMatrix
-{
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<stiffnessmatrix_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<stiffnessmatrix_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<stiffnessmatrix_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<stiffnessmatrix_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<stiffnessmatrix_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<stiffnessmatrix_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<stiffnessmatrix_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<stiffnessmatrix_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const stiffnessmatrix_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl b/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl
deleted file mode 100644
index 952dd70..0000000
--- a/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2005-2006 Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2005-06-05
-# Last changed: 2010-09-05
-#
-# The bilinear form for a stiffness matrix (Poisson).
-
-element = FiniteElement("Lagrange", tetrahedron, 1)
-
-v = TestFunction(element)
-u = TrialFunction(element)
-
-a = dot(grad(v), grad(u))*dx
diff --git a/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl.rst b/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl.rst
new file mode 100644
index 0000000..783633f
--- /dev/null
+++ b/demo/documented/eigenvalue/cpp/StiffnessMatrix.ufl.rst
@@ -0,0 +1,11 @@
+UFL input for the Poisson bilinear form
+=======================================
+
+The bilinear form for a stiffness matrix (Poisson)::
+
+ element = FiniteElement("Lagrange", tetrahedron, 1)
+
+ v = TestFunction(element)
+ u = TrialFunction(element)
+
+ a = dot(grad(v), grad(u))*dx
diff --git a/demo/documented/eigenvalue/cpp/compile.log b/demo/documented/eigenvalue/cpp/compile.log
deleted file mode 100644
index aa4e02e..0000000
--- a/demo/documented/eigenvalue/cpp/compile.log
+++ /dev/null
@@ -1,222 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form StiffnessMatrix
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.113691 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000949 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0107231 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000235796 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.461126 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000633001 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000978947 seconds.
-
-FFC finished in 0.58798 seconds.
-Output written to ./StiffnessMatrix.h.
diff --git a/demo/documented/eigenvalue/cpp/documentation.rst b/demo/documented/eigenvalue/cpp/documentation.rst
deleted file mode 100644
index 43c521c..0000000
--- a/demo/documented/eigenvalue/cpp/documentation.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-.. Documentation for the basic eigenvalue demo in DOLFIN
-
-.. _demos_la_eigenvalue_python_documentation:
diff --git a/demo/documented/eigenvalue/cpp/main.cpp b/demo/documented/eigenvalue/cpp/main.cpp
deleted file mode 100644
index 86a6aff..0000000
--- a/demo/documented/eigenvalue/cpp/main.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright (C) 2007-2010 Kristian B. Oelgaard and Garth N. Wells
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// Modified by Anders Logg, 2008.
-// Modified by Marie E. Rognes, 2010.
-//
-// First added: 2007-03-08
-// Last changed: 2012-07-05
-//
-// This simple program illustrates the use of the SLEPc eigenvalue solver.
-
-#include <dolfin.h>
-#include "StiffnessMatrix.h"
-
-using namespace dolfin;
-
-int main()
-{
- #ifdef HAS_SLEPC
-
- // Create mesh
- auto mesh = std::make_shared<Mesh>("../box_with_dent.xml.gz");
-
- // Build stiffness matrix
- auto A = std::make_shared<PETScMatrix>();
- auto V = std::make_shared<StiffnessMatrix::FunctionSpace>(mesh);
- StiffnessMatrix::BilinearForm a(V, V);
- assemble(*A, a);
-
- // Create eigensolver
- SLEPcEigenSolver esolver(A);
-
- // Compute all eigenvalues of A x = \lambda x
- esolver.solve();
-
- // Extract largest (first, n =0) eigenpair
- double r, c;
- PETScVector rx, cx;
- esolver.get_eigenpair(r, c, rx, cx, 0);
-
- cout << "Largest eigenvalue: " << r << endl;
-
- // Initialize function with eigenvector
- Function u(V);
- *u.vector() = rx;
-
- // Plot eigenfunction
- plot(u);
- interactive();
-
- #else
-
- dolfin::cout << "SLEPc must be installed to run this demo." << dolfin::endl;
-
- #endif
-
- return 0;
-}
diff --git a/demo/documented/eigenvalue/cpp/main.cpp.rst b/demo/documented/eigenvalue/cpp/main.cpp.rst
new file mode 100644
index 0000000..87f9678
--- /dev/null
+++ b/demo/documented/eigenvalue/cpp/main.cpp.rst
@@ -0,0 +1,66 @@
+A simple eigenvalue solver (C++)
+================================
+
+We recommend that you are familiar with the demo for the Poisson
+equation before looking at this demo.
+
+
+Implementation
+--------------
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`StiffnessMatrix.ufl` and :download:`CMakeLists.txt`.
+
+
+Under construction
+
+.. code-block:: cpp
+
+
+ #include <dolfin.h>
+ #include "StiffnessMatrix.h"
+
+ using namespace dolfin;
+
+ int main()
+ {
+ #ifdef HAS_SLEPC
+
+ // Create mesh
+ auto mesh = std::make_shared<Mesh>("../box_with_dent.xml.gz");
+
+ // Build stiffness matrix
+ auto A = std::make_shared<PETScMatrix>();
+ auto V = std::make_shared<StiffnessMatrix::FunctionSpace>(mesh);
+ StiffnessMatrix::BilinearForm a(V, V);
+ assemble(*A, a);
+
+ // Create eigensolver
+ SLEPcEigenSolver esolver(A);
+
+ // Compute all eigenvalues of A x = \lambda x
+ esolver.solve();
+
+ // Extract largest (first, n =0) eigenpair
+ double r, c;
+ PETScVector rx, cx;
+ esolver.get_eigenpair(r, c, rx, cx, 0);
+
+ cout << "Largest eigenvalue: " << r << endl;
+
+ // Initialize function with eigenvector
+ Function u(V);
+ *u.vector() = rx;
+
+ // Plot eigenfunction
+ plot(u);
+ interactive();
+
+ #else
+
+ dolfin::cout << "SLEPc must be installed to run this demo." << dolfin::endl;
+
+ #endif
+
+ return 0;
+ }
diff --git a/demo/documented/eigenvalue/python/demo_eigenvalue.py b/demo/documented/eigenvalue/python/demo_eigenvalue.py
index b3e1360..55925cc 100644
--- a/demo/documented/eigenvalue/python/demo_eigenvalue.py
+++ b/demo/documented/eigenvalue/python/demo_eigenvalue.py
@@ -1,37 +1,32 @@
-"""
-This program illustrates basic use of the SLEPc eigenvalue solver for
-a standard eigenvalue problem.
-"""
-
-# Copyright (C) 2007 Kristian B. Oelgaard
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Anders Logg, 2008.
-# Modified by Marie Rognes, 2009.
-#
-# First added: 2007-11-28
-# Last changed: 2009-10-09
-
-# Begin demo
-
-from __future__ import print_function
-from dolfin import *
+#
+# .. _demo_eigenvalue:
+#
+# A simple eigenvalue solver
+# ==========================
+#
+# We recommend that you are familiar with the demo for the Poisson equation
+# before looking at this demo.
+#
+# .. include:: ../common.txt
+#
+# If you want a more complex problem, we suggest that you look at the
+# other eigenvalue demo.
+#
+# Implementation
+# --------------
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_eigenvalue.py` and reads in an external mesh
+# :download:`box_with_dent.xml.gz`.
+#
+# The eigensolver functionality in DOLFIN relies on the library SLEPc
+# which in turn relies on the linear algebra library PETSc. Therefore,
+# both PETSc and SLEPc are required for this demo. We can test whether
+# PETSc and SLEPc are available, and exit if not, as follows ::
+from dolfin import *
# Test for PETSc and SLEPc
+
if not has_linear_algebra_backend("PETSc"):
print("DOLFIN has not been configured with PETSc. Exiting.")
exit()
@@ -40,6 +35,11 @@ if not has_slepc():
print("DOLFIN has not been configured with SLEPc. Exiting.")
exit()
+# First, we need to construct the matrix :math:`A`. This will be done in
+# three steps: defining the mesh and the function space associated with
+# it; constructing the variational form defining the matrix; and then
+# assembling this form. The code is shown below ::
+
# Define mesh, function space
mesh = Mesh("../box_with_dent.xml.gz")
V = FunctionSpace(mesh, "Lagrange", 1)
@@ -53,16 +53,46 @@ a = dot(grad(u), grad(v))*dx
A = PETScMatrix()
assemble(a, tensor=A)
+# Note that we (in this example) first define the matrix ``A`` as a
+# :py:class:`PETScMatrix <dolfin.cpp.PETScMatrix>` and then assemble the
+# form into it. This is an easy way to ensure that the matrix has the
+# right type.
+#
+# In order to solve the eigenproblem, we need to define an
+# eigensolver. To solve a standard eigenvalue problem, the eigensolver
+# is initialized with a single argument, namely the matrix ``A``. ::
+
# Create eigensolver
eigensolver = SLEPcEigenSolver(A)
+# Now, we ready solve the eigenproblem by calling the :py:func:`solve
+# <dolfin.cpp.SLEPcEigenSolver.solve>` method of the eigensolver. Note
+# that eigenvalue problems tend to be computationally intensive and may
+# hence take a while. ::
+
# Compute all eigenvalues of A x = \lambda x
print("Computing eigenvalues. This can take a minute.")
eigensolver.solve()
+# The result is kept by the eigensolver, but can fortunately be
+# extracted. Here, we have computed all eigenvalues, and they will be
+# sorted by largest magnitude. We can extract the real and complex part
+# (``r`` and ``c``) of the largest eigenvalue and the real and complex
+# part of the corresponding eigenvector (``ru`` and ``cu``) by asking
+# for the first eigenpair as follows ::
+
# Extract largest (first) eigenpair
r, c, rx, cx = eigensolver.get_eigenpair(0)
+# Finally, we want to examine the results. The eigenvalue can easily be
+# printed. But, the real part of eigenvector is probably most easily
+# visualized by constructing the corresponding eigenfunction. This can
+# be done by creating a :py:class:`Function
+# <dolfin.functions.function.Function>` in the function space ``V``
+# and the associating eigenvector ``rx`` with the Function. Then the
+# eigenfunction can be manipulated as any other :py:class:`Function
+# <dolfin.functions.function.Function>`, and in particular plotted ::
+
print("Largest eigenvalue: ", r)
# Initialize function and assign eigenvector
diff --git a/demo/documented/eigenvalue/python/documentation.rst b/demo/documented/eigenvalue/python/demo_eigenvalue.py.rst
similarity index 56%
rename from demo/documented/eigenvalue/python/documentation.rst
rename to demo/documented/eigenvalue/python/demo_eigenvalue.py.rst
index 8220647..2af756a 100644
--- a/demo/documented/eigenvalue/python/documentation.rst
+++ b/demo/documented/eigenvalue/python/demo_eigenvalue.py.rst
@@ -1,6 +1,5 @@
-.. Documentation for the basic eigenvalue demo in DOLFIN
-.. _demos_la_eigenvalue_python_documentation:
+.. _demo_eigenvalue:
A simple eigenvalue solver
==========================
@@ -13,51 +12,46 @@ before looking at this demo.
If you want a more complex problem, we suggest that you look at the
other eigenvalue demo.
-
Implementation
--------------
This demo is implemented in a single Python file,
-:download:`demo_eigenvalue.py`, which contains both the variational
-forms and the solver.
+:download:`demo_eigenvalue.py` and reads in an external mesh
+:download:`box_with_dent.xml.gz`.
The eigensolver functionality in DOLFIN relies on the library SLEPc
which in turn relies on the linear algebra library PETSc. Therefore,
both PETSc and SLEPc are required for this demo. We can test whether
-PETSc and SLEPc are available, and exit if not, as follows:
-
-.. code-block:: python
-
- from dolfin import *
+PETSc and SLEPc are available, and exit if not, as follows ::
- # Test for PETSc and SLEPc
- if not has_linear_algebra_backend("PETSc"):
- print("DOLFIN has not been configured with PETSc. Exiting.")
- exit()
+ from dolfin import *
+ # Test for PETSc and SLEPc
+
+ if not has_linear_algebra_backend("PETSc"):
+ print("DOLFIN has not been configured with PETSc. Exiting.")
+ exit()
- if not has_slepc():
- print("DOLFIN has not been configured with SLEPc. Exiting.")
- exit()
+ if not has_slepc():
+ print("DOLFIN has not been configured with SLEPc. Exiting.")
+ exit()
First, we need to construct the matrix :math:`A`. This will be done in
three steps: defining the mesh and the function space associated with
it; constructing the variational form defining the matrix; and then
-assembling this form. The code is shown below:
+assembling this form. The code is shown below ::
-.. code-block:: python
+ # Define mesh, function space
+ mesh = Mesh("../box_with_dent.xml.gz")
+ V = FunctionSpace(mesh, "Lagrange", 1)
- # Define mesh, function space
- mesh = Mesh("../box_with_dent.xml.gz")
- V = FunctionSpace(mesh, "Lagrange", 1)
+ # Define basis and bilinear form
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ a = dot(grad(u), grad(v))*dx
- # Define basis and bilinear form
- u = TrialFunction(V)
- v = TestFunction(V)
- a = dot(grad(u), grad(v))*dx
-
- # Assemble stiffness form
- A = PETScMatrix()
- assemble(a, tensor=A)
+ # Assemble stiffness form
+ A = PETScMatrix()
+ assemble(a, tensor=A)
Note that we (in this example) first define the matrix ``A`` as a
:py:class:`PETScMatrix <dolfin.cpp.PETScMatrix>` and then assemble the
@@ -66,35 +60,29 @@ right type.
In order to solve the eigenproblem, we need to define an
eigensolver. To solve a standard eigenvalue problem, the eigensolver
-is initialized with a single argument, namely the matrix ``A``.
-
-.. code-block:: python
+is initialized with a single argument, namely the matrix ``A``. ::
- # Create eigensolver
- eigensolver = SLEPcEigenSolver(A)
+ # Create eigensolver
+ eigensolver = SLEPcEigenSolver(A)
Now, we ready solve the eigenproblem by calling the :py:func:`solve
<dolfin.cpp.SLEPcEigenSolver.solve>` method of the eigensolver. Note
that eigenvalue problems tend to be computationally intensive and may
-hence take a while.
-
-.. code-block:: python
+hence take a while. ::
- # Compute all eigenvalues of A x = \lambda x
- print("Computing eigenvalues. This can take a minute.")
- eigensolver.solve()
+ # Compute all eigenvalues of A x = \lambda x
+ print("Computing eigenvalues. This can take a minute.")
+ eigensolver.solve()
The result is kept by the eigensolver, but can fortunately be
extracted. Here, we have computed all eigenvalues, and they will be
sorted by largest magnitude. We can extract the real and complex part
(``r`` and ``c``) of the largest eigenvalue and the real and complex
part of the corresponding eigenvector (``ru`` and ``cu``) by asking
-for the first eigenpair as follows:
+for the first eigenpair as follows ::
-.. code-block:: python
-
- # Extract largest (first) eigenpair
- r, c, rx, cx = eigensolver.get_eigenpair(0)
+ # Extract largest (first) eigenpair
+ r, c, rx, cx = eigensolver.get_eigenpair(0)
Finally, we want to examine the results. The eigenvalue can easily be
printed. But, the real part of eigenvector is probably most easily
@@ -103,23 +91,14 @@ be done by creating a :py:class:`Function
<dolfin.functions.function.Function>` in the function space ``V``
and the associating eigenvector ``rx`` with the Function. Then the
eigenfunction can be manipulated as any other :py:class:`Function
-<dolfin.functions.function.Function>`, and in particular plotted:
-
-.. code-block:: python
-
- print("Largest eigenvalue: ", r)
-
- # Initialize function and assign eigenvector
- u = Function(V)
- u.vector()[:] = rx
-
- # Plot eigenfunction
- plot(u)
- interactive()
+<dolfin.functions.function.Function>`, and in particular plotted ::
+ print("Largest eigenvalue: ", r)
-Complete code
--------------
+ # Initialize function and assign eigenvector
+ u = Function(V)
+ u.vector()[:] = rx
-.. literalinclude:: demo_eigenvalue.py
- :start-after: # Begin demo
+ # Plot eigenfunction
+ plot(u)
+ interactive()
diff --git a/demo/documented/hyperelasticity/cpp/CMakeLists.txt b/demo/documented/hyperelasticity/cpp/CMakeLists.txt
index d75e841..aa4fd4f 100644
--- a/demo/documented/hyperelasticity/cpp/CMakeLists.txt
+++ b/demo/documented/hyperelasticity/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_hyperelasticity)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/hyperelasticity/cpp/HyperElasticity.h b/demo/documented/hyperelasticity/cpp/HyperElasticity.h
index b03f6b9..5bb34f9 100644
--- a/demo/documented/hyperelasticity/cpp/HyperElasticity.h
+++ b/demo/documented/hyperelasticity/cpp/HyperElasticity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,16 +13,18 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
-// optimize: False
+// max_signature_length: 0
+// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: False
#ifndef __HYPERELASTICITY_H
#define __HYPERELASTICITY_H
#include <cmath>
+#include <cstring>
#include <stdexcept>
#include <ufc.h>
@@ -4016,60 +4018,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4571,6 +4541,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4680,6 +4679,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4797,6 +4946,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4950,35 +5128,249 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new hyperelasticity_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new hyperelasticity_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new hyperelasticity_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new hyperelasticity_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new hyperelasticity_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new hyperelasticity_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+ }
ufc::dofmap * create() const final override
{
@@ -5086,6 +5478,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5161,212 +5582,746 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new hyperelasticity_dofmap_2();
- }
-
-};
-
-
-class hyperelasticity_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- hyperelasticity_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~hyperelasticity_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, true, false, true, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius
-
-
- // Array of quadrature weights.
- static const double W4[4] = {0.0416666666666667, 0.0416666666666667, 0.0416666666666667, 0.0416666666666667};
- // Quadrature points on the UFC reference element: (0.585410196624969, 0.138196601125011, 0.138196601125011), (0.138196601125011, 0.585410196624969, 0.138196601125011), (0.138196601125011, 0.138196601125011, 0.585410196624969), (0.138196601125011, 0.138196601125011, 0.138196601125011)
-
- // Values of basis functions at quadrature points.
- static const double FE0[4][1] = \
- {{1.0},
- {1.0},
- {1.0},
- {1.0}};
-
- static const double FE1_C0[4][12] = \
- {{0.138196601125009, 0.585410196624969, 0.138196601125011, 0.138196601125011, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.138196601125009, 0.138196601125011, 0.585410196624969, 0.138196601125011, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.138196601125009, 0.138196601125011, 0.138196601125011, 0.585410196624969, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.585410196624967, 0.138196601125011, 0.138196601125011, 0.138196601125011, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D001[4][12] = \
- {{-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D010[4][12] = \
- {{-1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D100[4][12] = \
- {{-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.585410196624969, 0.138196601125011, 0.138196601125011, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.138196601125011, 0.585410196624969, 0.138196601125011, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.138196601125011, 0.138196601125011, 0.585410196624969, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.585410196624967, 0.138196601125011, 0.138196601125011, 0.138196601125011, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D001[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D010[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D100[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C2[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.585410196624969, 0.138196601125011, 0.138196601125011},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.138196601125011, 0.585410196624969, 0.138196601125011},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.138196601125009, 0.138196601125011, 0.138196601125011, 0.585410196624969},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.585410196624967, 0.138196601125011, 0.138196601125011, 0.138196601125011}};
-
- static const double FE1_C2_D001[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0}};
-
- static const double FE1_C2_D010[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0}};
-
- static const double FE1_C2_D100[4][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0}};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 12; r++)
+ if (d > 3)
{
- A[r] = 0.0;
- } // end loop over 'r'
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', False), ('ignore ones', False), ('ignore zero tables', False), ('optimisation', False), ('remove zero terms', False)
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 47248
- for (unsigned int ip = 0; ip < 4; ip++)
+ switch (d)
{
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
- double F7 = 0.0;
- double F8 = 0.0;
- double F9 = 0.0;
- double F10 = 0.0;
- double F11 = 0.0;
- double F12 = 0.0;
- double F13 = 0.0;
-
- // Total number of operations to compute function values = 4
- for (unsigned int r = 0; r < 1; r++)
- {
- F0 += FE0[ip][0]*w[3][0];
- F10 += FE0[ip][0]*w[4][0];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 288
- for (unsigned int r = 0; r < 12; r++)
- {
- F1 += FE1_C0_D100[ip][r]*w[0][r];
- F2 += FE1_C0_D010[ip][r]*w[0][r];
- F3 += FE1_C0_D001[ip][r]*w[0][r];
- F4 += FE1_C2_D100[ip][r]*w[0][r];
- F5 += FE1_C2_D010[ip][r]*w[0][r];
- F6 += FE1_C2_D001[ip][r]*w[0][r];
- F7 += FE1_C1_D100[ip][r]*w[0][r];
- F8 += FE1_C1_D010[ip][r]*w[0][r];
- F9 += FE1_C1_D001[ip][r]*w[0][r];
- F11 += FE1_C0[ip][r]*w[1][r];
- F12 += FE1_C1[ip][r]*w[1][r];
- F13 += FE1_C2[ip][r]*w[1][r];
- } // end loop over 'r'
-
- // Number of operations for primary indices: 11520
- for (unsigned int j = 0; j < 12; j++)
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
{
- // Number of operations to compute entry: 960
- A[j] += ((((((((((((((K[0]*FE1_C1_D100[ip][j] + K[3]*FE1_C1_D010[ip][j] + K[6]*FE1_C1_D001[ip][j]))*(((K[2]*F4 + K[5]*F5 + K[8]*F6) + 1.0)) + ((K[2]*FE1_C2_D100[ip][j] + K[5]*FE1_C2_D010[ip][j] + K[8]*FE1_C2_D001[ip][j]))*((K[0]*F7 + K[3]*F8 + K[6]*F9))))*(-1.0) + (((K[0]*FE1_C2_D100[ip][j] + K[3]*FE1_C2_D010[ip][j] + K[6]*FE1_C2_D001[ip][j]))*((K[2]*F7 + K[5]*F8 + K[8]*F9)) + ((K[2]*FE1_C1_D100[ip][j] + K[5]*FE1_C1_D010[ip][j] + K[8]*FE1_C1_D001[ip][j]))*((K[0]*F4 + K[3]*F5 + K[ [...]
- } // end loop over 'j'
- } // end loop over 'ip'
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 0;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ return 0;
+ }
+
+ ufc::dofmap * create() const final override
+ {
+ return new hyperelasticity_dofmap_2();
+ }
+
+};
+
+
+class hyperelasticity_cell_integral_0_otherwise: public ufc::cell_integral
+{
+public:
+
+ hyperelasticity_cell_integral_0_otherwise() : ufc::cell_integral()
+ {
+
+ }
+
+ ~hyperelasticity_cell_integral_0_otherwise() override
+ {
+
+ }
+
+ const std::vector<bool> & enabled_coefficients() const final override
+ {
+static const std::vector<bool> enabled({true, true, false, true, true});
+return enabled;
+ }
+
+ void tabulate_tensor(double * A,
+ const double * const * w,
+ const double * coordinate_dofs,
+ int cell_orientation) const final override
+ {
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights4[4] = { 0.0416666666666667, 0.0416666666666667, 0.0416666666666667, 0.0416666666666667 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 4 tables for 4 quadrature points
+ alignas(32) static const double FE33_C0_D001_Q4[1][1][4] = { { { -1.0, 0.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE33_C0_D010_Q4[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE33_C0_D100_Q4[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE33_C0_Q4[1][4][4] =
+ { { { 0.138196601125009, 0.585410196624969, 0.138196601125011, 0.138196601125011 },
+ { 0.138196601125009, 0.138196601125011, 0.585410196624969, 0.138196601125011 },
+ { 0.138196601125009, 0.138196601125011, 0.138196601125011, 0.585410196624969 },
+ { 0.585410196624967, 0.138196601125011, 0.138196601125011, 0.138196601125011 } } };
+ // Reset element tensor
+ memset(A, 0, 12 * sizeof(*A));
+ // Unstructured piecewise computations
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
+ {
+ w0_d0_c0 += w[0][ic] * FE33_C0_D100_Q4[0][0][ic - 0];
+ }
+ const double J_c4 = coordinate_dofs[1] * FE33_C0_D010_Q4[0][0][0] + coordinate_dofs[4] * FE33_C0_D010_Q4[0][0][1] + coordinate_dofs[7] * FE33_C0_D010_Q4[0][0][2];
+ const double J_c8 = coordinate_dofs[2] * FE33_C0_D001_Q4[0][0][0] + coordinate_dofs[5] * FE33_C0_D001_Q4[0][0][1] + coordinate_dofs[8] * FE33_C0_D001_Q4[0][0][2] + coordinate_dofs[11] * FE33_C0_D001_Q4[0][0][3];
+ const double J_c5 = coordinate_dofs[1] * FE33_C0_D001_Q4[0][0][0] + coordinate_dofs[4] * FE33_C0_D001_Q4[0][0][1] + coordinate_dofs[7] * FE33_C0_D001_Q4[0][0][2] + coordinate_dofs[10] * FE33_C0_D001_Q4[0][0][3];
+ const double J_c7 = coordinate_dofs[2] * FE33_C0_D010_Q4[0][0][0] + coordinate_dofs[5] * FE33_C0_D010_Q4[0][0][1] + coordinate_dofs[8] * FE33_C0_D010_Q4[0][0][2];
+ const double J_c0 = coordinate_dofs[0] * FE33_C0_D100_Q4[0][0][0] + coordinate_dofs[3] * FE33_C0_D100_Q4[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE33_C0_D010_Q4[0][0][0] + coordinate_dofs[3] * FE33_C0_D010_Q4[0][0][1] + coordinate_dofs[6] * FE33_C0_D010_Q4[0][0][2];
+ const double J_c6 = coordinate_dofs[2] * FE33_C0_D100_Q4[0][0][0] + coordinate_dofs[5] * FE33_C0_D100_Q4[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE33_C0_D100_Q4[0][0][0] + coordinate_dofs[4] * FE33_C0_D100_Q4[0][0][1];
+ const double J_c2 = coordinate_dofs[0] * FE33_C0_D001_Q4[0][0][0] + coordinate_dofs[3] * FE33_C0_D001_Q4[0][0][1] + coordinate_dofs[6] * FE33_C0_D001_Q4[0][0][2] + coordinate_dofs[9] * FE33_C0_D001_Q4[0][0][3];
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
+ {
+ w0_d1_c0 += w[0][ic] * FE33_C0_D010_Q4[0][0][ic - 0];
+ }
+ double w0_d2_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w0_d2_c0 += w[0][ic] * FE33_C0_D001_Q4[0][0][ic - 0];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 4; ic < 6; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE33_C0_D100_Q4[0][0][ic - 4];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 4; ic < 7; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE33_C0_D010_Q4[0][0][ic - 4];
+ }
+ double w0_d2_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w0_d2_c1 += w[0][ic] * FE33_C0_D001_Q4[0][0][ic - 4];
+ }
+ double w0_d0_c2 = 0.0;
+ for (int ic = 8; ic < 10; ++ic)
+ {
+ w0_d0_c2 += w[0][ic] * FE33_C0_D100_Q4[0][0][ic - 8];
+ }
+ double w0_d1_c2 = 0.0;
+ for (int ic = 8; ic < 11; ++ic)
+ {
+ w0_d1_c2 += w[0][ic] * FE33_C0_D010_Q4[0][0][ic - 8];
+ }
+ double w0_d2_c2 = 0.0;
+ for (int ic = 8; ic < 12; ++ic)
+ {
+ w0_d2_c2 += w[0][ic] * FE33_C0_D001_Q4[0][0][ic - 8];
+ }
+ alignas(32) double sp4[392];
+ sp4[0] = J_c4 * J_c8;
+ sp4[1] = J_c5 * J_c7;
+ sp4[2] = -1 * sp4[1];
+ sp4[3] = sp4[0] + sp4[2];
+ sp4[4] = J_c0 * sp4[3];
+ sp4[5] = J_c5 * J_c6;
+ sp4[6] = J_c3 * J_c8;
+ sp4[7] = -1 * sp4[6];
+ sp4[8] = sp4[5] + sp4[7];
+ sp4[9] = J_c1 * sp4[8];
+ sp4[10] = sp4[4] + sp4[9];
+ sp4[11] = J_c3 * J_c7;
+ sp4[12] = J_c4 * J_c6;
+ sp4[13] = -1 * sp4[12];
+ sp4[14] = sp4[11] + sp4[13];
+ sp4[15] = J_c2 * sp4[14];
+ sp4[16] = sp4[10] + sp4[15];
+ sp4[17] = sp4[3] / sp4[16];
+ sp4[18] = w0_d0_c0 * sp4[17];
+ sp4[19] = -1 * J_c8;
+ sp4[20] = J_c3 * sp4[19];
+ sp4[21] = sp4[5] + sp4[20];
+ sp4[22] = sp4[21] / sp4[16];
+ sp4[23] = w0_d1_c0 * sp4[22];
+ sp4[24] = sp4[18] + sp4[23];
+ sp4[25] = sp4[14] / sp4[16];
+ sp4[26] = w0_d2_c0 * sp4[25];
+ sp4[27] = sp4[24] + sp4[26];
+ sp4[28] = 1 + sp4[27];
+ sp4[29] = J_c2 * J_c7;
+ sp4[30] = -1 * J_c1;
+ sp4[31] = J_c8 * sp4[30];
+ sp4[32] = sp4[29] + sp4[31];
+ sp4[33] = sp4[32] / sp4[16];
+ sp4[34] = w0_d0_c1 * sp4[33];
+ sp4[35] = J_c0 * J_c8;
+ sp4[36] = -1 * J_c2;
+ sp4[37] = J_c6 * sp4[36];
+ sp4[38] = sp4[35] + sp4[37];
+ sp4[39] = sp4[38] / sp4[16];
+ sp4[40] = w0_d1_c1 * sp4[39];
+ sp4[41] = sp4[34] + sp4[40];
+ sp4[42] = J_c1 * J_c6;
+ sp4[43] = J_c0 * J_c7;
+ sp4[44] = -1 * sp4[43];
+ sp4[45] = sp4[42] + sp4[44];
+ sp4[46] = sp4[45] / sp4[16];
+ sp4[47] = w0_d2_c1 * sp4[46];
+ sp4[48] = sp4[41] + sp4[47];
+ sp4[49] = 1 + sp4[48];
+ sp4[50] = J_c1 * J_c5;
+ sp4[51] = J_c2 * J_c4;
+ sp4[52] = -1 * sp4[51];
+ sp4[53] = sp4[50] + sp4[52];
+ sp4[54] = sp4[53] / sp4[16];
+ sp4[55] = J_c2 * J_c3;
+ sp4[56] = J_c0 * J_c5;
+ sp4[57] = -1 * sp4[56];
+ sp4[58] = sp4[55] + sp4[57];
+ sp4[59] = sp4[58] / sp4[16];
+ sp4[60] = J_c0 * J_c4;
+ sp4[61] = J_c1 * J_c3;
+ sp4[62] = -1 * sp4[61];
+ sp4[63] = sp4[60] + sp4[62];
+ sp4[64] = sp4[63] / sp4[16];
+ sp4[65] = sp4[49] * sp4[54];
+ sp4[66] = sp4[49] * sp4[59];
+ sp4[67] = sp4[49] * sp4[64];
+ sp4[68] = w0_d0_c2 * sp4[54];
+ sp4[69] = w0_d1_c2 * sp4[59];
+ sp4[70] = sp4[68] + sp4[69];
+ sp4[71] = w0_d2_c2 * sp4[64];
+ sp4[72] = sp4[70] + sp4[71];
+ sp4[73] = 1 + sp4[72];
+ sp4[74] = sp4[73] * sp4[33];
+ sp4[75] = sp4[73] * sp4[39];
+ sp4[76] = sp4[73] * sp4[46];
+ sp4[77] = w0_d0_c1 * sp4[54];
+ sp4[78] = w0_d1_c1 * sp4[59];
+ sp4[79] = sp4[77] + sp4[78];
+ sp4[80] = w0_d2_c1 * sp4[64];
+ sp4[81] = sp4[79] + sp4[80];
+ sp4[82] = sp4[81] * sp4[33];
+ sp4[83] = sp4[81] * sp4[39];
+ sp4[84] = sp4[81] * sp4[46];
+ sp4[85] = w0_d0_c2 * sp4[33];
+ sp4[86] = w0_d1_c2 * sp4[39];
+ sp4[87] = sp4[85] + sp4[86];
+ sp4[88] = w0_d2_c2 * sp4[46];
+ sp4[89] = sp4[87] + sp4[88];
+ sp4[90] = sp4[89] * sp4[54];
+ sp4[91] = sp4[89] * sp4[59];
+ sp4[92] = sp4[89] * sp4[64];
+ sp4[93] = -1 * sp4[82];
+ sp4[94] = -1 * sp4[83];
+ sp4[95] = -1 * sp4[84];
+ sp4[96] = -1 * sp4[90];
+ sp4[97] = -1 * sp4[91];
+ sp4[98] = -1 * sp4[92];
+ sp4[99] = sp4[93] + sp4[65];
+ sp4[100] = sp4[94] + sp4[66];
+ sp4[101] = sp4[95] + sp4[67];
+ sp4[102] = sp4[96] + sp4[74];
+ sp4[103] = sp4[97] + sp4[75];
+ sp4[104] = sp4[98] + sp4[76];
+ sp4[105] = sp4[28] * sp4[99];
+ sp4[106] = sp4[28] * sp4[100];
+ sp4[107] = sp4[28] * sp4[101];
+ sp4[108] = sp4[28] * sp4[102];
+ sp4[109] = sp4[28] * sp4[103];
+ sp4[110] = sp4[28] * sp4[104];
+ sp4[111] = sp4[73] * sp4[49];
+ sp4[112] = sp4[81] * sp4[89];
+ sp4[113] = -1 * sp4[112];
+ sp4[114] = sp4[111] + sp4[113];
+ sp4[115] = sp4[114] * sp4[17];
+ sp4[116] = sp4[114] * sp4[22];
+ sp4[117] = sp4[114] * sp4[25];
+ sp4[118] = w0_d0_c2 * sp4[17];
+ sp4[119] = w0_d1_c2 * sp4[22];
+ sp4[120] = sp4[118] + sp4[119];
+ sp4[121] = w0_d2_c2 * sp4[25];
+ sp4[122] = sp4[120] + sp4[121];
+ sp4[123] = sp4[81] * sp4[122];
+ sp4[124] = w0_d0_c1 * sp4[17];
+ sp4[125] = w0_d1_c1 * sp4[22];
+ sp4[126] = sp4[124] + sp4[125];
+ sp4[127] = w0_d2_c1 * sp4[25];
+ sp4[128] = sp4[126] + sp4[127];
+ sp4[129] = sp4[73] * sp4[128];
+ sp4[130] = -1 * sp4[129];
+ sp4[131] = sp4[123] + sp4[130];
+ sp4[132] = sp4[131] * sp4[33];
+ sp4[133] = sp4[131] * sp4[39];
+ sp4[134] = sp4[131] * sp4[46];
+ sp4[135] = sp4[81] * sp4[17];
+ sp4[136] = sp4[81] * sp4[22];
+ sp4[137] = sp4[81] * sp4[25];
+ sp4[138] = sp4[122] * sp4[54];
+ sp4[139] = sp4[122] * sp4[59];
+ sp4[140] = sp4[122] * sp4[64];
+ sp4[141] = sp4[73] * sp4[17];
+ sp4[142] = sp4[73] * sp4[22];
+ sp4[143] = sp4[73] * sp4[25];
+ sp4[144] = sp4[128] * sp4[54];
+ sp4[145] = sp4[128] * sp4[59];
+ sp4[146] = sp4[128] * sp4[64];
+ sp4[147] = -1 * sp4[144];
+ sp4[148] = -1 * sp4[145];
+ sp4[149] = -1 * sp4[146];
+ sp4[150] = -1 * sp4[141];
+ sp4[151] = -1 * sp4[142];
+ sp4[152] = -1 * sp4[143];
+ sp4[153] = sp4[147] + sp4[135];
+ sp4[154] = sp4[148] + sp4[136];
+ sp4[155] = sp4[149] + sp4[137];
+ sp4[156] = sp4[150] + sp4[138];
+ sp4[157] = sp4[151] + sp4[139];
+ sp4[158] = sp4[152] + sp4[140];
+ sp4[159] = w0_d0_c0 * sp4[33];
+ sp4[160] = w0_d1_c0 * sp4[39];
+ sp4[161] = sp4[159] + sp4[160];
+ sp4[162] = w0_d2_c0 * sp4[46];
+ sp4[163] = sp4[161] + sp4[162];
+ sp4[164] = sp4[163] * sp4[153];
+ sp4[165] = sp4[163] * sp4[154];
+ sp4[166] = sp4[155] * sp4[163];
+ sp4[167] = sp4[156] * sp4[163];
+ sp4[168] = sp4[157] * sp4[163];
+ sp4[169] = sp4[158] * sp4[163];
+ sp4[170] = sp4[105] + sp4[164];
+ sp4[171] = sp4[106] + sp4[165];
+ sp4[172] = sp4[107] + sp4[166];
+ sp4[173] = sp4[108] + sp4[167];
+ sp4[174] = sp4[109] + sp4[168];
+ sp4[175] = sp4[169] + sp4[110];
+ sp4[176] = sp4[132] + sp4[115];
+ sp4[177] = sp4[133] + sp4[116];
+ sp4[178] = sp4[117] + sp4[134];
+ sp4[179] = sp4[128] * sp4[89];
+ sp4[180] = sp4[49] * sp4[122];
+ sp4[181] = -1 * sp4[180];
+ sp4[182] = sp4[179] + sp4[181];
+ sp4[183] = sp4[182] * sp4[54];
+ sp4[184] = sp4[182] * sp4[59];
+ sp4[185] = sp4[182] * sp4[64];
+ sp4[186] = sp4[128] * sp4[33];
+ sp4[187] = sp4[128] * sp4[39];
+ sp4[188] = sp4[128] * sp4[46];
+ sp4[189] = sp4[89] * sp4[17];
+ sp4[190] = sp4[89] * sp4[22];
+ sp4[191] = sp4[89] * sp4[25];
+ sp4[192] = sp4[49] * sp4[17];
+ sp4[193] = sp4[49] * sp4[22];
+ sp4[194] = sp4[49] * sp4[25];
+ sp4[195] = sp4[122] * sp4[33];
+ sp4[196] = sp4[122] * sp4[39];
+ sp4[197] = sp4[122] * sp4[46];
+ sp4[198] = -1 * sp4[192];
+ sp4[199] = -1 * sp4[193];
+ sp4[200] = -1 * sp4[194];
+ sp4[201] = -1 * sp4[195];
+ sp4[202] = -1 * sp4[196];
+ sp4[203] = -1 * sp4[197];
+ sp4[204] = sp4[198] + sp4[186];
+ sp4[205] = sp4[199] + sp4[187];
+ sp4[206] = sp4[200] + sp4[188];
+ sp4[207] = sp4[201] + sp4[189];
+ sp4[208] = sp4[202] + sp4[190];
+ sp4[209] = sp4[203] + sp4[191];
+ sp4[210] = w0_d0_c0 * sp4[54];
+ sp4[211] = w0_d1_c0 * sp4[59];
+ sp4[212] = sp4[210] + sp4[211];
+ sp4[213] = w0_d2_c0 * sp4[64];
+ sp4[214] = sp4[212] + sp4[213];
+ sp4[215] = sp4[204] * sp4[214];
+ sp4[216] = sp4[205] * sp4[214];
+ sp4[217] = sp4[214] * sp4[206];
+ sp4[218] = sp4[214] * sp4[207];
+ sp4[219] = sp4[214] * sp4[208];
+ sp4[220] = sp4[214] * sp4[209];
+ sp4[221] = sp4[170] + sp4[215];
+ sp4[222] = sp4[171] + sp4[216];
+ sp4[223] = sp4[172] + sp4[217];
+ sp4[224] = sp4[173] + sp4[218];
+ sp4[225] = sp4[174] + sp4[219];
+ sp4[226] = sp4[175] + sp4[220];
+ sp4[227] = sp4[176] + sp4[183];
+ sp4[228] = sp4[177] + sp4[184];
+ sp4[229] = sp4[178] + sp4[185];
+ sp4[230] = sp4[28] * sp4[114];
+ sp4[231] = sp4[131] * sp4[163];
+ sp4[232] = sp4[230] + sp4[231];
+ sp4[233] = sp4[182] * sp4[214];
+ sp4[234] = sp4[232] + sp4[233];
+ sp4[235] = sp4[221] / sp4[234];
+ sp4[236] = sp4[222] / sp4[234];
+ sp4[237] = sp4[223] / sp4[234];
+ sp4[238] = sp4[224] / sp4[234];
+ sp4[239] = sp4[225] / sp4[234];
+ sp4[240] = sp4[226] / sp4[234];
+ sp4[241] = sp4[227] / sp4[234];
+ sp4[242] = sp4[228] / sp4[234];
+ sp4[243] = sp4[229] / sp4[234];
+ sp4[244] = sp4[235] * w[3][0];
+ sp4[245] = sp4[236] * w[3][0];
+ sp4[246] = sp4[237] * w[3][0];
+ sp4[247] = sp4[238] * w[3][0];
+ sp4[248] = sp4[239] * w[3][0];
+ sp4[249] = sp4[240] * w[3][0];
+ sp4[250] = sp4[241] * w[3][0];
+ sp4[251] = sp4[242] * w[3][0];
+ sp4[252] = sp4[243] * w[3][0];
+ sp4[253] = -1 * sp4[244];
+ sp4[254] = -1 * sp4[245];
+ sp4[255] = -1 * sp4[246];
+ sp4[256] = -1 * sp4[247];
+ sp4[257] = -1 * sp4[248];
+ sp4[258] = -1 * sp4[249];
+ sp4[259] = -1 * sp4[250];
+ sp4[260] = -1 * sp4[251];
+ sp4[261] = -1 * sp4[252];
+ sp4[262] = sp4[28] * sp4[17];
+ sp4[263] = sp4[28] * sp4[22];
+ sp4[264] = sp4[28] * sp4[25];
+ sp4[265] = sp4[262] + sp4[262];
+ sp4[266] = sp4[263] + sp4[263];
+ sp4[267] = sp4[264] + sp4[264];
+ sp4[268] = sp4[128] * sp4[17];
+ sp4[269] = sp4[128] * sp4[22];
+ sp4[270] = sp4[128] * sp4[25];
+ sp4[271] = sp4[268] + sp4[268];
+ sp4[272] = sp4[269] + sp4[269];
+ sp4[273] = sp4[270] + sp4[270];
+ sp4[274] = sp4[122] * sp4[17];
+ sp4[275] = sp4[122] * sp4[22];
+ sp4[276] = sp4[122] * sp4[25];
+ sp4[277] = sp4[274] + sp4[274];
+ sp4[278] = sp4[275] + sp4[275];
+ sp4[279] = sp4[276] + sp4[276];
+ sp4[280] = sp4[163] * sp4[33];
+ sp4[281] = sp4[163] * sp4[39];
+ sp4[282] = sp4[163] * sp4[46];
+ sp4[283] = sp4[280] + sp4[280];
+ sp4[284] = sp4[281] + sp4[281];
+ sp4[285] = sp4[282] + sp4[282];
+ sp4[286] = sp4[49] * sp4[33];
+ sp4[287] = sp4[49] * sp4[39];
+ sp4[288] = sp4[49] * sp4[46];
+ sp4[289] = sp4[286] + sp4[286];
+ sp4[290] = sp4[287] + sp4[287];
+ sp4[291] = sp4[288] + sp4[288];
+ sp4[292] = sp4[89] * sp4[33];
+ sp4[293] = sp4[89] * sp4[39];
+ sp4[294] = sp4[89] * sp4[46];
+ sp4[295] = sp4[292] + sp4[292];
+ sp4[296] = sp4[293] + sp4[293];
+ sp4[297] = sp4[294] + sp4[294];
+ sp4[298] = sp4[295] + sp4[277];
+ sp4[299] = sp4[296] + sp4[278];
+ sp4[300] = sp4[279] + sp4[297];
+ sp4[301] = sp4[289] + sp4[271];
+ sp4[302] = sp4[290] + sp4[272];
+ sp4[303] = sp4[273] + sp4[291];
+ sp4[304] = sp4[283] + sp4[265];
+ sp4[305] = sp4[284] + sp4[266];
+ sp4[306] = sp4[267] + sp4[285];
+ sp4[307] = sp4[214] * sp4[54];
+ sp4[308] = sp4[214] * sp4[59];
+ sp4[309] = sp4[214] * sp4[64];
+ sp4[310] = sp4[307] + sp4[307];
+ sp4[311] = sp4[308] + sp4[308];
+ sp4[312] = sp4[309] + sp4[309];
+ sp4[313] = sp4[81] * sp4[54];
+ sp4[314] = sp4[81] * sp4[59];
+ sp4[315] = sp4[81] * sp4[64];
+ sp4[316] = sp4[313] + sp4[313];
+ sp4[317] = sp4[314] + sp4[314];
+ sp4[318] = sp4[315] + sp4[315];
+ sp4[319] = sp4[73] * sp4[54];
+ sp4[320] = sp4[73] * sp4[59];
+ sp4[321] = sp4[73] * sp4[64];
+ sp4[322] = sp4[319] + sp4[319];
+ sp4[323] = sp4[320] + sp4[320];
+ sp4[324] = sp4[321] + sp4[321];
+ sp4[325] = sp4[298] + sp4[322];
+ sp4[326] = sp4[299] + sp4[323];
+ sp4[327] = sp4[300] + sp4[324];
+ sp4[328] = sp4[301] + sp4[316];
+ sp4[329] = sp4[302] + sp4[317];
+ sp4[330] = sp4[303] + sp4[318];
+ sp4[331] = sp4[304] + sp4[310];
+ sp4[332] = sp4[305] + sp4[311];
+ sp4[333] = sp4[306] + sp4[312];
+ sp4[334] = w[3][0] / 2;
+ sp4[335] = sp4[325] * sp4[334];
+ sp4[336] = sp4[326] * sp4[334];
+ sp4[337] = sp4[327] * sp4[334];
+ sp4[338] = sp4[328] * sp4[334];
+ sp4[339] = sp4[329] * sp4[334];
+ sp4[340] = sp4[330] * sp4[334];
+ sp4[341] = sp4[331] * sp4[334];
+ sp4[342] = sp4[332] * sp4[334];
+ sp4[343] = sp4[333] * sp4[334];
+ sp4[344] = sp4[253] + sp4[335];
+ sp4[345] = sp4[254] + sp4[336];
+ sp4[346] = sp4[255] + sp4[337];
+ sp4[347] = sp4[256] + sp4[338];
+ sp4[348] = sp4[257] + sp4[339];
+ sp4[349] = sp4[258] + sp4[340];
+ sp4[350] = sp4[259] + sp4[341];
+ sp4[351] = sp4[260] + sp4[342];
+ sp4[352] = sp4[261] + sp4[343];
+ sp4[353] = 2 * sp4[235];
+ sp4[354] = 2 * sp4[236];
+ sp4[355] = 2 * sp4[237];
+ sp4[356] = 2 * sp4[238];
+ sp4[357] = 2 * sp4[239];
+ sp4[358] = 2 * sp4[240];
+ sp4[359] = 2 * sp4[241];
+ sp4[360] = 2 * sp4[242];
+ sp4[361] = 2 * sp4[243];
+ sp4[362] = std::log(sp4[234]);
+ sp4[363] = sp4[353] * sp4[362];
+ sp4[364] = sp4[354] * sp4[362];
+ sp4[365] = sp4[355] * sp4[362];
+ sp4[366] = sp4[356] * sp4[362];
+ sp4[367] = sp4[357] * sp4[362];
+ sp4[368] = sp4[358] * sp4[362];
+ sp4[369] = sp4[359] * sp4[362];
+ sp4[370] = sp4[360] * sp4[362];
+ sp4[371] = sp4[361] * sp4[362];
+ sp4[372] = w[4][0] / 2;
+ sp4[373] = sp4[363] * sp4[372];
+ sp4[374] = sp4[364] * sp4[372];
+ sp4[375] = sp4[365] * sp4[372];
+ sp4[376] = sp4[366] * sp4[372];
+ sp4[377] = sp4[367] * sp4[372];
+ sp4[378] = sp4[368] * sp4[372];
+ sp4[379] = sp4[369] * sp4[372];
+ sp4[380] = sp4[370] * sp4[372];
+ sp4[381] = sp4[371] * sp4[372];
+ sp4[382] = sp4[344] + sp4[373];
+ sp4[383] = sp4[345] + sp4[374];
+ sp4[384] = sp4[346] + sp4[375];
+ sp4[385] = sp4[347] + sp4[376];
+ sp4[386] = sp4[348] + sp4[377];
+ sp4[387] = sp4[349] + sp4[378];
+ sp4[388] = sp4[350] + sp4[379];
+ sp4[389] = sp4[351] + sp4[380];
+ sp4[390] = sp4[352] + sp4[381];
+ sp4[391] = std::abs(sp4[16]);
+ for (int iq4 = 0; iq4 < 4; ++iq4)
+ {
+ // Quadrature loop body setup (num_points=4)
+ // Unstructured varying computations
+ double w1_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w1_c0 += w[1][ic] * FE33_C0_Q4[0][iq4][ic - 0];
+ }
+ double w1_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w1_c1 += w[1][ic] * FE33_C0_Q4[0][iq4][ic - 4];
+ }
+ double w1_c2 = 0.0;
+ for (int ic = 8; ic < 12; ++ic)
+ {
+ w1_c2 += w[1][ic] * FE33_C0_Q4[0][iq4][ic - 8];
+ }
+ alignas(32) double sv4[16];
+ sv4[0] = -1 * w1_c0;
+ sv4[1] = -1 * w1_c1;
+ sv4[2] = -1 * w1_c2;
+ sv4[3] = weights4[iq4] * sp4[391];
+ sv4[4] = sp4[382] * sv4[3];
+ sv4[5] = sp4[383] * sv4[3];
+ sv4[6] = sp4[384] * sv4[3];
+ sv4[7] = sp4[385] * sv4[3];
+ sv4[8] = sp4[386] * sv4[3];
+ sv4[9] = sp4[387] * sv4[3];
+ sv4[10] = sp4[388] * sv4[3];
+ sv4[11] = sp4[389] * sv4[3];
+ sv4[12] = sp4[390] * sv4[3];
+ sv4[13] = sv4[0] * sv4[3];
+ sv4[14] = sv4[1] * sv4[3];
+ sv4[15] = sv4[2] * sv4[3];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ A[ia0] += sv4[10] * FE33_C0_D100_Q4[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv4[11] * FE33_C0_D010_Q4[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ A[ia0] += sv4[13] * FE33_C0_Q4[0][iq4][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ A[ia0] += sv4[12] * FE33_C0_D001_Q4[0][0][ia0 - 0];
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv4[7] * FE33_C0_D100_Q4[0][0][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ A[ia0] += sv4[8] * FE33_C0_D010_Q4[0][0][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ A[ia0] += sv4[14] * FE33_C0_Q4[0][iq4][ia0 - 4];
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ A[ia0] += sv4[9] * FE33_C0_D001_Q4[0][0][ia0 - 4];
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ A[ia0] += sv4[4] * FE33_C0_D100_Q4[0][0][ia0 - 8];
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ A[ia0] += sv4[5] * FE33_C0_D010_Q4[0][0][ia0 - 8];
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ A[ia0] += sv4[15] * FE33_C0_Q4[0][iq4][ia0 - 8];
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ A[ia0] += sv4[6] * FE33_C0_D001_Q4[0][0][ia0 - 8];
+ }
+ }
}
};
@@ -5378,18 +6333,18 @@ public:
hyperelasticity_exterior_facet_integral_0_otherwise() : ufc::exterior_facet_integral()
{
-
+
}
~hyperelasticity_exterior_facet_integral_0_otherwise() override
{
-
+
}
const std::vector<bool> & enabled_coefficients() const final override
{
- static const std::vector<bool> enabled({false, false, true, false, false});
- return enabled;
+static const std::vector<bool> enabled({false, false, true, false, false});
+return enabled;
}
void tabulate_tensor(double * A,
@@ -5398,119 +6353,143 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
- // Number of operations (multiply-add pairs) for Jacobian data: 59
- // Number of operations (multiply-add pairs) for geometry tensor: 12
- // Number of operations (multiply-add pairs) for tensor contraction: 90
- // Total number of operations (multiply-add pairs): 161
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Get vertices on face
- static unsigned int face_vertices[4][3] = {{1, 2, 3}, {0, 2, 3}, {0, 1, 3}, {0, 1, 2}};
- const unsigned int v0 = face_vertices[facet][0];
- const unsigned int v1 = face_vertices[facet][1];
- const unsigned int v2 = face_vertices[facet][2];
-
- // Compute scale factor (area of face scaled by area of reference triangle)
- const double a0 = (coordinate_dofs[3*v0 + 1]*coordinate_dofs[3*v1 + 2] + coordinate_dofs[3*v0 + 2]*coordinate_dofs[3*v2 + 1] + coordinate_dofs[3*v1 + 1]*coordinate_dofs[3*v2 + 2]) - (coordinate_dofs[3*v2 + 1]*coordinate_dofs[3*v1 + 2] + coordinate_dofs[3*v2 + 2]*coordinate_dofs[3*v0 + 1] + coordinate_dofs[3*v1 + 1]*coordinate_dofs[3*v0 + 2]);
-
- const double a1 = (coordinate_dofs[3*v0 + 2]*coordinate_dofs[3*v1 + 0] + coordinate_dofs[3*v0 + 0]*coordinate_dofs[3*v2 + 2] + coordinate_dofs[3*v1 + 2]*coordinate_dofs[3*v2 + 0]) - (coordinate_dofs[3*v2 + 2]*coordinate_dofs[3*v1 + 0] + coordinate_dofs[3*v2 + 0]*coordinate_dofs[3*v0 + 2] + coordinate_dofs[3*v1 + 2]*coordinate_dofs[3*v0 + 0]);
-
- const double a2 = (coordinate_dofs[3*v0 + 0]*coordinate_dofs[3*v1 + 1] + coordinate_dofs[3*v0 + 1]*coordinate_dofs[3*v2 + 0] + coordinate_dofs[3*v1 + 0]*coordinate_dofs[3*v2 + 1]) - (coordinate_dofs[3*v2 + 0]*coordinate_dofs[3*v1 + 1] + coordinate_dofs[3*v2 + 1]*coordinate_dofs[3*v0 + 0] + coordinate_dofs[3*v1 + 0]*coordinate_dofs[3*v0 + 1]);
-
- const double det = std::sqrt(a0*a0 + a1*a1 + a2*a2);
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[2][0]*(1.0);
- const double G0_1 = det*w[2][1]*(1.0);
- const double G0_2 = det*w[2][2]*(1.0);
- const double G0_3 = det*w[2][3]*(1.0);
- const double G0_4 = det*w[2][4]*(1.0);
- const double G0_5 = det*w[2][5]*(1.0);
- const double G0_6 = det*w[2][6]*(1.0);
- const double G0_7 = det*w[2][7]*(1.0);
- const double G0_8 = det*w[2][8]*(1.0);
- const double G0_9 = det*w[2][9]*(1.0);
- const double G0_10 = det*w[2][10]*(1.0);
- const double G0_11 = det*w[2][11]*(1.0);
-
- // Compute element tensor
- switch (facet)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights3[3] = { 0.166666666666667, 0.166666666666667, 0.166666666666667 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 4 tables for 3 quadrature points
+ alignas(32) static const double FE15_C0_D001_F_Q3[1][1][4] = { { { -1.0, 0.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE15_C0_D010_F_Q3[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE15_C0_D100_F_Q3[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE15_C0_F_Q3[4][3][4] =
+ { { { 0.0, 0.666666666666667, 0.166666666666667, 0.166666666666667 },
+ { 0.0, 0.166666666666667, 0.166666666666667, 0.666666666666667 },
+ { 0.0, 0.166666666666667, 0.666666666666667, 0.166666666666667 } },
+ { { 0.666666666666667, 0.0, 0.166666666666667, 0.166666666666667 },
+ { 0.166666666666667, 0.0, 0.166666666666667, 0.666666666666667 },
+ { 0.166666666666667, 0.0, 0.666666666666667, 0.166666666666667 } },
+ { { 0.666666666666667, 0.166666666666667, 0.0, 0.166666666666667 },
+ { 0.166666666666667, 0.166666666666667, 0.0, 0.666666666666667 },
+ { 0.166666666666667, 0.666666666666667, 0.0, 0.166666666666667 } },
+ { { 0.666666666666667, 0.166666666666667, 0.166666666666667, 0.0 },
+ { 0.166666666666667, 0.166666666666667, 0.666666666666667, 0.0 },
+ { 0.166666666666667, 0.666666666666667, 0.166666666666667, 0.0 } } };
+ // Reset element tensor
+ memset(A, 0, 12 * sizeof(*A));
+ // Unstructured piecewise computations
+ const double J_c3 = coordinate_dofs[1] * FE15_C0_D100_F_Q3[0][0][0] + coordinate_dofs[4] * FE15_C0_D100_F_Q3[0][0][1];
+ const double J_c4 = coordinate_dofs[1] * FE15_C0_D010_F_Q3[0][0][0] + coordinate_dofs[4] * FE15_C0_D010_F_Q3[0][0][1] + coordinate_dofs[7] * FE15_C0_D010_F_Q3[0][0][2];
+ const double J_c5 = coordinate_dofs[1] * FE15_C0_D001_F_Q3[0][0][0] + coordinate_dofs[4] * FE15_C0_D001_F_Q3[0][0][1] + coordinate_dofs[7] * FE15_C0_D001_F_Q3[0][0][2] + coordinate_dofs[10] * FE15_C0_D001_F_Q3[0][0][3];
+ const double J_c6 = coordinate_dofs[2] * FE15_C0_D100_F_Q3[0][0][0] + coordinate_dofs[5] * FE15_C0_D100_F_Q3[0][0][1];
+ const double J_c7 = coordinate_dofs[2] * FE15_C0_D010_F_Q3[0][0][0] + coordinate_dofs[5] * FE15_C0_D010_F_Q3[0][0][1] + coordinate_dofs[8] * FE15_C0_D010_F_Q3[0][0][2];
+ const double J_c8 = coordinate_dofs[2] * FE15_C0_D001_F_Q3[0][0][0] + coordinate_dofs[5] * FE15_C0_D001_F_Q3[0][0][1] + coordinate_dofs[8] * FE15_C0_D001_F_Q3[0][0][2] + coordinate_dofs[11] * FE15_C0_D001_F_Q3[0][0][3];
+ const double J_c0 = coordinate_dofs[0] * FE15_C0_D100_F_Q3[0][0][0] + coordinate_dofs[3] * FE15_C0_D100_F_Q3[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE15_C0_D010_F_Q3[0][0][0] + coordinate_dofs[3] * FE15_C0_D010_F_Q3[0][0][1] + coordinate_dofs[6] * FE15_C0_D010_F_Q3[0][0][2];
+ const double J_c2 = coordinate_dofs[0] * FE15_C0_D001_F_Q3[0][0][0] + coordinate_dofs[3] * FE15_C0_D001_F_Q3[0][0][1] + coordinate_dofs[6] * FE15_C0_D001_F_Q3[0][0][2] + coordinate_dofs[9] * FE15_C0_D001_F_Q3[0][0][3];
+ alignas(32) double sp3[48];
+ sp3[0] = tetrahedron_reference_facet_jacobian[facet][0][0] * J_c3;
+ sp3[1] = tetrahedron_reference_facet_jacobian[facet][1][0] * J_c4;
+ sp3[2] = sp3[0] + sp3[1];
+ sp3[3] = J_c5 * tetrahedron_reference_facet_jacobian[facet][2][0];
+ sp3[4] = sp3[2] + sp3[3];
+ sp3[5] = tetrahedron_reference_facet_jacobian[facet][0][1] * J_c6;
+ sp3[6] = tetrahedron_reference_facet_jacobian[facet][1][1] * J_c7;
+ sp3[7] = sp3[5] + sp3[6];
+ sp3[8] = tetrahedron_reference_facet_jacobian[facet][2][1] * J_c8;
+ sp3[9] = sp3[7] + sp3[8];
+ sp3[10] = sp3[4] * sp3[9];
+ sp3[11] = tetrahedron_reference_facet_jacobian[facet][0][1] * J_c3;
+ sp3[12] = J_c4 * tetrahedron_reference_facet_jacobian[facet][1][1];
+ sp3[13] = sp3[11] + sp3[12];
+ sp3[14] = J_c5 * tetrahedron_reference_facet_jacobian[facet][2][1];
+ sp3[15] = sp3[13] + sp3[14];
+ sp3[16] = tetrahedron_reference_facet_jacobian[facet][0][0] * J_c6;
+ sp3[17] = tetrahedron_reference_facet_jacobian[facet][1][0] * J_c7;
+ sp3[18] = sp3[16] + sp3[17];
+ sp3[19] = tetrahedron_reference_facet_jacobian[facet][2][0] * J_c8;
+ sp3[20] = sp3[18] + sp3[19];
+ sp3[21] = sp3[15] * sp3[20];
+ sp3[22] = -1 * sp3[21];
+ sp3[23] = sp3[10] + sp3[22];
+ sp3[24] = sp3[23] * sp3[23];
+ sp3[25] = J_c0 * tetrahedron_reference_facet_jacobian[facet][0][1];
+ sp3[26] = J_c1 * tetrahedron_reference_facet_jacobian[facet][1][1];
+ sp3[27] = sp3[25] + sp3[26];
+ sp3[28] = J_c2 * tetrahedron_reference_facet_jacobian[facet][2][1];
+ sp3[29] = sp3[27] + sp3[28];
+ sp3[30] = sp3[29] * sp3[20];
+ sp3[31] = J_c0 * tetrahedron_reference_facet_jacobian[facet][0][0];
+ sp3[32] = J_c1 * tetrahedron_reference_facet_jacobian[facet][1][0];
+ sp3[33] = sp3[31] + sp3[32];
+ sp3[34] = J_c2 * tetrahedron_reference_facet_jacobian[facet][2][0];
+ sp3[35] = sp3[33] + sp3[34];
+ sp3[36] = sp3[35] * sp3[9];
+ sp3[37] = -1 * sp3[36];
+ sp3[38] = sp3[30] + sp3[37];
+ sp3[39] = sp3[38] * sp3[38];
+ sp3[40] = sp3[24] + sp3[39];
+ sp3[41] = sp3[35] * sp3[15];
+ sp3[42] = sp3[4] * sp3[29];
+ sp3[43] = -1 * sp3[42];
+ sp3[44] = sp3[41] + sp3[43];
+ sp3[45] = sp3[44] * sp3[44];
+ sp3[46] = sp3[40] + sp3[45];
+ sp3[47] = std::sqrt(sp3[46]);
+ for (int iq3 = 0; iq3 < 3; ++iq3)
{
- case 0:
- {
- A[0] = 0.0;
- A[1] = -0.0833333333333333*G0_1 - 0.0416666666666667*G0_2 - 0.0416666666666667*G0_3;
- A[2] = -0.0416666666666667*G0_1 - 0.0833333333333333*G0_2 - 0.0416666666666667*G0_3;
- A[3] = -0.0416666666666667*G0_1 - 0.0416666666666667*G0_2 - 0.0833333333333333*G0_3;
- A[4] = 0.0;
- A[5] = -0.0833333333333333*G0_5 - 0.0416666666666667*G0_6 - 0.0416666666666667*G0_7;
- A[6] = -0.0416666666666667*G0_5 - 0.0833333333333333*G0_6 - 0.0416666666666667*G0_7;
- A[7] = -0.0416666666666667*G0_5 - 0.0416666666666667*G0_6 - 0.0833333333333333*G0_7;
- A[8] = 0.0;
- A[9] = -0.0833333333333333*G0_9 - 0.0416666666666667*G0_10 - 0.0416666666666667*G0_11;
- A[10] = -0.0416666666666667*G0_9 - 0.0833333333333333*G0_10 - 0.0416666666666667*G0_11;
- A[11] = -0.0416666666666667*G0_9 - 0.0416666666666667*G0_10 - 0.0833333333333333*G0_11;
- break;
- }
- case 1:
- {
- A[0] = -0.0833333333333334*G0_0 - 0.0416666666666667*G0_2 - 0.0416666666666667*G0_3;
- A[1] = 0.0;
- A[2] = -0.0416666666666667*G0_0 - 0.0833333333333333*G0_2 - 0.0416666666666667*G0_3;
- A[3] = -0.0416666666666667*G0_0 - 0.0416666666666667*G0_2 - 0.0833333333333333*G0_3;
- A[4] = -0.0833333333333334*G0_4 - 0.0416666666666667*G0_6 - 0.0416666666666667*G0_7;
- A[5] = 0.0;
- A[6] = -0.0416666666666667*G0_4 - 0.0833333333333333*G0_6 - 0.0416666666666667*G0_7;
- A[7] = -0.0416666666666667*G0_4 - 0.0416666666666667*G0_6 - 0.0833333333333333*G0_7;
- A[8] = -0.0833333333333334*G0_8 - 0.0416666666666667*G0_10 - 0.0416666666666667*G0_11;
- A[9] = 0.0;
- A[10] = -0.0416666666666667*G0_8 - 0.0833333333333333*G0_10 - 0.0416666666666667*G0_11;
- A[11] = -0.0416666666666667*G0_8 - 0.0416666666666667*G0_10 - 0.0833333333333333*G0_11;
- break;
- }
- case 2:
- {
- A[0] = -0.0833333333333333*G0_0 - 0.0416666666666667*G0_1 - 0.0416666666666667*G0_3;
- A[1] = -0.0416666666666667*G0_0 - 0.0833333333333333*G0_1 - 0.0416666666666667*G0_3;
- A[2] = 0.0;
- A[3] = -0.0416666666666667*G0_0 - 0.0416666666666666*G0_1 - 0.0833333333333333*G0_3;
- A[4] = -0.0833333333333333*G0_4 - 0.0416666666666667*G0_5 - 0.0416666666666667*G0_7;
- A[5] = -0.0416666666666667*G0_4 - 0.0833333333333333*G0_5 - 0.0416666666666667*G0_7;
- A[6] = 0.0;
- A[7] = -0.0416666666666667*G0_4 - 0.0416666666666666*G0_5 - 0.0833333333333333*G0_7;
- A[8] = -0.0833333333333333*G0_8 - 0.0416666666666667*G0_9 - 0.0416666666666667*G0_11;
- A[9] = -0.0416666666666667*G0_8 - 0.0833333333333333*G0_9 - 0.0416666666666667*G0_11;
- A[10] = 0.0;
- A[11] = -0.0416666666666667*G0_8 - 0.0416666666666666*G0_9 - 0.0833333333333333*G0_11;
- break;
- }
- case 3:
- {
- A[0] = -0.0833333333333334*G0_0 - 0.0416666666666667*G0_1 - 0.0416666666666667*G0_2;
- A[1] = -0.0416666666666667*G0_0 - 0.0833333333333333*G0_1 - 0.0416666666666666*G0_2;
- A[2] = -0.0416666666666667*G0_0 - 0.0416666666666666*G0_1 - 0.0833333333333333*G0_2;
- A[3] = 0.0;
- A[4] = -0.0833333333333334*G0_4 - 0.0416666666666667*G0_5 - 0.0416666666666667*G0_6;
- A[5] = -0.0416666666666667*G0_4 - 0.0833333333333333*G0_5 - 0.0416666666666666*G0_6;
- A[6] = -0.0416666666666667*G0_4 - 0.0416666666666666*G0_5 - 0.0833333333333333*G0_6;
- A[7] = 0.0;
- A[8] = -0.0833333333333334*G0_8 - 0.0416666666666667*G0_9 - 0.0416666666666667*G0_10;
- A[9] = -0.0416666666666667*G0_8 - 0.0833333333333333*G0_9 - 0.0416666666666666*G0_10;
- A[10] = -0.0416666666666667*G0_8 - 0.0416666666666666*G0_9 - 0.0833333333333333*G0_10;
- A[11] = 0.0;
- break;
- }
+ // Quadrature loop body setup (num_points=3)
+ // Unstructured varying computations
+ double w2_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w2_c0 += w[2][ic] * FE15_C0_F_Q3[facet][iq3][ic - 0];
+ }
+ double w2_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w2_c1 += w[2][ic] * FE15_C0_F_Q3[facet][iq3][ic - 4];
+ }
+ double w2_c2 = 0.0;
+ for (int ic = 8; ic < 12; ++ic)
+ {
+ w2_c2 += w[2][ic] * FE15_C0_F_Q3[facet][iq3][ic - 8];
+ }
+ alignas(32) double sv3[7];
+ sv3[0] = -1 * w2_c0;
+ sv3[1] = -1 * w2_c1;
+ sv3[2] = -1 * w2_c2;
+ sv3[3] = weights3[iq3] * sp3[47];
+ sv3[4] = sv3[0] * sv3[3];
+ sv3[5] = sv3[1] * sv3[3];
+ sv3[6] = sv3[2] * sv3[3];
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ A[ia0] += sv3[4] * FE15_C0_F_Q3[facet][iq3][ia0 - 0];
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ A[ia0] += sv3[5] * FE15_C0_F_Q3[facet][iq3][ia0 - 4];
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ A[ia0] += sv3[6] * FE15_C0_F_Q3[facet][iq3][ia0 - 8];
+ }
}
-
}
};
@@ -5522,18 +6501,18 @@ public:
hyperelasticity_cell_integral_1_otherwise() : ufc::cell_integral()
{
-
+
}
~hyperelasticity_cell_integral_1_otherwise() override
{
-
+
}
const std::vector<bool> & enabled_coefficients() const final override
{
- static const std::vector<bool> enabled({true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true});
+return enabled;
}
void tabulate_tensor(double * A,
@@ -5541,117 +6520,2241 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius
-
-
- // Array of quadrature weights.
- static const double W1 = 0.166666666666667;
- // Quadrature points on the UFC reference element: (0.25, 0.25, 0.25)
-
- // Values of basis functions at quadrature points.
- static const double FE0[1][1] = \
- {{1.0}};
-
- static const double FE1_C0_D001[1][12] = \
- {{-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D010[1][12] = \
- {{-1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D100[1][12] = \
- {{-1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D001[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D010[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D100[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C2_D001[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0}};
-
- static const double FE1_C2_D010[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0}};
-
- static const double FE1_C2_D100[1][12] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0}};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 144; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights1[1] = { 0.166666666666667 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 3 tables for 1 quadrature points
+ alignas(32) static const double FE36_C0_D001_Q1[1][1][4] = { { { -1.0, 0.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE36_C0_D010_Q1[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE36_C0_D100_Q1[1][1][2] = { { { -1.0, 1.0 } } };
+ // Reset element tensor
+ memset(A, 0, 144 * sizeof(*A));
+ // Unstructured piecewise computations
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
{
- A[r] = 0.0;
- } // end loop over 'r'
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', False), ('ignore ones', False), ('ignore zero tables', False), ('optimisation', False), ('remove zero terms', False)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 492268
- for (unsigned int ip = 0; ip < 1; ip++)
+ w0_d0_c0 += w[0][ic] * FE36_C0_D100_Q1[0][0][ic - 0];
+ }
+ const double J_c4 = coordinate_dofs[1] * FE36_C0_D010_Q1[0][0][0] + coordinate_dofs[4] * FE36_C0_D010_Q1[0][0][1] + coordinate_dofs[7] * FE36_C0_D010_Q1[0][0][2];
+ const double J_c8 = coordinate_dofs[2] * FE36_C0_D001_Q1[0][0][0] + coordinate_dofs[5] * FE36_C0_D001_Q1[0][0][1] + coordinate_dofs[8] * FE36_C0_D001_Q1[0][0][2] + coordinate_dofs[11] * FE36_C0_D001_Q1[0][0][3];
+ const double J_c5 = coordinate_dofs[1] * FE36_C0_D001_Q1[0][0][0] + coordinate_dofs[4] * FE36_C0_D001_Q1[0][0][1] + coordinate_dofs[7] * FE36_C0_D001_Q1[0][0][2] + coordinate_dofs[10] * FE36_C0_D001_Q1[0][0][3];
+ const double J_c7 = coordinate_dofs[2] * FE36_C0_D010_Q1[0][0][0] + coordinate_dofs[5] * FE36_C0_D010_Q1[0][0][1] + coordinate_dofs[8] * FE36_C0_D010_Q1[0][0][2];
+ const double J_c0 = coordinate_dofs[0] * FE36_C0_D100_Q1[0][0][0] + coordinate_dofs[3] * FE36_C0_D100_Q1[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE36_C0_D010_Q1[0][0][0] + coordinate_dofs[3] * FE36_C0_D010_Q1[0][0][1] + coordinate_dofs[6] * FE36_C0_D010_Q1[0][0][2];
+ const double J_c6 = coordinate_dofs[2] * FE36_C0_D100_Q1[0][0][0] + coordinate_dofs[5] * FE36_C0_D100_Q1[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE36_C0_D100_Q1[0][0][0] + coordinate_dofs[4] * FE36_C0_D100_Q1[0][0][1];
+ const double J_c2 = coordinate_dofs[0] * FE36_C0_D001_Q1[0][0][0] + coordinate_dofs[3] * FE36_C0_D001_Q1[0][0][1] + coordinate_dofs[6] * FE36_C0_D001_Q1[0][0][2] + coordinate_dofs[9] * FE36_C0_D001_Q1[0][0][3];
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
- double F7 = 0.0;
- double F8 = 0.0;
- double F9 = 0.0;
- double F10 = 0.0;
-
- // Total number of operations to compute function values = 4
- for (unsigned int r = 0; r < 1; r++)
- {
- F0 += FE0[0][0]*w[1][0];
- F10 += FE0[0][0]*w[2][0];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 216
- for (unsigned int r = 0; r < 12; r++)
- {
- F1 += FE1_C2_D100[0][r]*w[0][r];
- F2 += FE1_C2_D010[0][r]*w[0][r];
- F3 += FE1_C2_D001[0][r]*w[0][r];
- F4 += FE1_C1_D100[0][r]*w[0][r];
- F5 += FE1_C1_D010[0][r]*w[0][r];
- F6 += FE1_C1_D001[0][r]*w[0][r];
- F7 += FE1_C0_D100[0][r]*w[0][r];
- F8 += FE1_C0_D010[0][r]*w[0][r];
- F9 += FE1_C0_D001[0][r]*w[0][r];
- } // end loop over 'r'
-
- // Number of operations for primary indices: 492048
- for (unsigned int j = 0; j < 12; j++)
- {
- for (unsigned int k = 0; k < 12; k++)
+ w0_d1_c0 += w[0][ic] * FE36_C0_D010_Q1[0][0][ic - 0];
+ }
+ double w0_d2_c0 = 0.0;
+ for (int ic = 0; ic < 4; ++ic)
+ {
+ w0_d2_c0 += w[0][ic] * FE36_C0_D001_Q1[0][0][ic - 0];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 4; ic < 6; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE36_C0_D100_Q1[0][0][ic - 4];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 4; ic < 7; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE36_C0_D010_Q1[0][0][ic - 4];
+ }
+ double w0_d2_c1 = 0.0;
+ for (int ic = 4; ic < 8; ++ic)
+ {
+ w0_d2_c1 += w[0][ic] * FE36_C0_D001_Q1[0][0][ic - 4];
+ }
+ double w0_d0_c2 = 0.0;
+ for (int ic = 8; ic < 10; ++ic)
+ {
+ w0_d0_c2 += w[0][ic] * FE36_C0_D100_Q1[0][0][ic - 8];
+ }
+ double w0_d1_c2 = 0.0;
+ for (int ic = 8; ic < 11; ++ic)
+ {
+ w0_d1_c2 += w[0][ic] * FE36_C0_D010_Q1[0][0][ic - 8];
+ }
+ double w0_d2_c2 = 0.0;
+ for (int ic = 8; ic < 12; ++ic)
+ {
+ w0_d2_c2 += w[0][ic] * FE36_C0_D001_Q1[0][0][ic - 8];
+ }
+ alignas(32) double sp1[1499];
+ sp1[0] = J_c4 * J_c8;
+ sp1[1] = J_c5 * J_c7;
+ sp1[2] = -1 * sp1[1];
+ sp1[3] = sp1[0] + sp1[2];
+ sp1[4] = J_c0 * sp1[3];
+ sp1[5] = J_c5 * J_c6;
+ sp1[6] = J_c3 * J_c8;
+ sp1[7] = -1 * sp1[6];
+ sp1[8] = sp1[5] + sp1[7];
+ sp1[9] = J_c1 * sp1[8];
+ sp1[10] = sp1[4] + sp1[9];
+ sp1[11] = J_c3 * J_c7;
+ sp1[12] = J_c4 * J_c6;
+ sp1[13] = -1 * sp1[12];
+ sp1[14] = sp1[11] + sp1[13];
+ sp1[15] = J_c2 * sp1[14];
+ sp1[16] = sp1[10] + sp1[15];
+ sp1[17] = sp1[3] / sp1[16];
+ sp1[18] = w0_d0_c0 * sp1[17];
+ sp1[19] = -1 * J_c8;
+ sp1[20] = J_c3 * sp1[19];
+ sp1[21] = sp1[5] + sp1[20];
+ sp1[22] = sp1[21] / sp1[16];
+ sp1[23] = w0_d1_c0 * sp1[22];
+ sp1[24] = sp1[18] + sp1[23];
+ sp1[25] = sp1[14] / sp1[16];
+ sp1[26] = w0_d2_c0 * sp1[25];
+ sp1[27] = sp1[24] + sp1[26];
+ sp1[28] = 1 + sp1[27];
+ sp1[29] = J_c1 * J_c5;
+ sp1[30] = J_c2 * J_c4;
+ sp1[31] = -1 * sp1[30];
+ sp1[32] = sp1[29] + sp1[31];
+ sp1[33] = sp1[32] / sp1[16];
+ sp1[34] = J_c2 * J_c3;
+ sp1[35] = J_c0 * J_c5;
+ sp1[36] = -1 * sp1[35];
+ sp1[37] = sp1[34] + sp1[36];
+ sp1[38] = sp1[37] / sp1[16];
+ sp1[39] = J_c0 * J_c4;
+ sp1[40] = J_c1 * J_c3;
+ sp1[41] = -1 * sp1[40];
+ sp1[42] = sp1[39] + sp1[41];
+ sp1[43] = sp1[42] / sp1[16];
+ sp1[44] = J_c2 * J_c7;
+ sp1[45] = -1 * J_c1;
+ sp1[46] = J_c8 * sp1[45];
+ sp1[47] = sp1[44] + sp1[46];
+ sp1[48] = sp1[47] / sp1[16];
+ sp1[49] = J_c0 * J_c8;
+ sp1[50] = -1 * J_c2;
+ sp1[51] = J_c6 * sp1[50];
+ sp1[52] = sp1[49] + sp1[51];
+ sp1[53] = sp1[52] / sp1[16];
+ sp1[54] = J_c1 * J_c6;
+ sp1[55] = J_c0 * J_c7;
+ sp1[56] = -1 * sp1[55];
+ sp1[57] = sp1[54] + sp1[56];
+ sp1[58] = sp1[57] / sp1[16];
+ sp1[59] = sp1[48] * sp1[33];
+ sp1[60] = sp1[53] * sp1[33];
+ sp1[61] = sp1[33] * sp1[58];
+ sp1[62] = sp1[48] * sp1[38];
+ sp1[63] = sp1[53] * sp1[38];
+ sp1[64] = sp1[38] * sp1[58];
+ sp1[65] = sp1[48] * sp1[43];
+ sp1[66] = sp1[53] * sp1[43];
+ sp1[67] = sp1[43] * sp1[58];
+ sp1[68] = -1 * sp1[59];
+ sp1[69] = -1 * sp1[62];
+ sp1[70] = -1 * sp1[65];
+ sp1[71] = -1 * sp1[60];
+ sp1[72] = -1 * sp1[63];
+ sp1[73] = -1 * sp1[66];
+ sp1[74] = -1 * sp1[61];
+ sp1[75] = -1 * sp1[64];
+ sp1[76] = -1 * sp1[67];
+ sp1[77] = sp1[68] + sp1[59];
+ sp1[78] = sp1[69] + sp1[60];
+ sp1[79] = sp1[70] + sp1[61];
+ sp1[80] = sp1[71] + sp1[62];
+ sp1[81] = sp1[72] + sp1[63];
+ sp1[82] = sp1[73] + sp1[64];
+ sp1[83] = sp1[74] + sp1[65];
+ sp1[84] = sp1[75] + sp1[66];
+ sp1[85] = sp1[76] + sp1[67];
+ sp1[86] = sp1[28] * sp1[77];
+ sp1[87] = sp1[28] * sp1[78];
+ sp1[88] = sp1[28] * sp1[79];
+ sp1[89] = sp1[28] * sp1[80];
+ sp1[90] = sp1[28] * sp1[81];
+ sp1[91] = sp1[28] * sp1[82];
+ sp1[92] = sp1[28] * sp1[83];
+ sp1[93] = sp1[28] * sp1[84];
+ sp1[94] = sp1[28] * sp1[85];
+ sp1[95] = w0_d0_c1 * sp1[48];
+ sp1[96] = w0_d1_c1 * sp1[53];
+ sp1[97] = sp1[95] + sp1[96];
+ sp1[98] = w0_d2_c1 * sp1[58];
+ sp1[99] = sp1[97] + sp1[98];
+ sp1[100] = 1 + sp1[99];
+ sp1[101] = sp1[100] * sp1[33];
+ sp1[102] = sp1[100] * sp1[38];
+ sp1[103] = sp1[100] * sp1[43];
+ sp1[104] = w0_d0_c2 * sp1[33];
+ sp1[105] = w0_d1_c2 * sp1[38];
+ sp1[106] = sp1[104] + sp1[105];
+ sp1[107] = w0_d2_c2 * sp1[43];
+ sp1[108] = sp1[106] + sp1[107];
+ sp1[109] = 1 + sp1[108];
+ sp1[110] = sp1[109] * sp1[48];
+ sp1[111] = sp1[109] * sp1[53];
+ sp1[112] = sp1[109] * sp1[58];
+ sp1[113] = w0_d0_c1 * sp1[33];
+ sp1[114] = w0_d1_c1 * sp1[38];
+ sp1[115] = sp1[113] + sp1[114];
+ sp1[116] = w0_d2_c1 * sp1[43];
+ sp1[117] = sp1[115] + sp1[116];
+ sp1[118] = sp1[117] * sp1[48];
+ sp1[119] = sp1[117] * sp1[53];
+ sp1[120] = sp1[117] * sp1[58];
+ sp1[121] = w0_d0_c2 * sp1[48];
+ sp1[122] = w0_d1_c2 * sp1[53];
+ sp1[123] = sp1[121] + sp1[122];
+ sp1[124] = w0_d2_c2 * sp1[58];
+ sp1[125] = sp1[123] + sp1[124];
+ sp1[126] = sp1[125] * sp1[33];
+ sp1[127] = sp1[125] * sp1[38];
+ sp1[128] = sp1[125] * sp1[43];
+ sp1[129] = -1 * sp1[126];
+ sp1[130] = -1 * sp1[127];
+ sp1[131] = -1 * sp1[128];
+ sp1[132] = -1 * sp1[118];
+ sp1[133] = -1 * sp1[119];
+ sp1[134] = -1 * sp1[120];
+ sp1[135] = sp1[129] + sp1[110];
+ sp1[136] = sp1[130] + sp1[111];
+ sp1[137] = sp1[131] + sp1[112];
+ sp1[138] = sp1[132] + sp1[101];
+ sp1[139] = sp1[133] + sp1[102];
+ sp1[140] = sp1[134] + sp1[103];
+ sp1[141] = sp1[135] * sp1[17];
+ sp1[142] = sp1[135] * sp1[22];
+ sp1[143] = sp1[135] * sp1[25];
+ sp1[144] = sp1[136] * sp1[17];
+ sp1[145] = sp1[136] * sp1[22];
+ sp1[146] = sp1[136] * sp1[25];
+ sp1[147] = sp1[137] * sp1[17];
+ sp1[148] = sp1[137] * sp1[22];
+ sp1[149] = sp1[137] * sp1[25];
+ sp1[150] = sp1[138] * sp1[17];
+ sp1[151] = sp1[138] * sp1[22];
+ sp1[152] = sp1[138] * sp1[25];
+ sp1[153] = sp1[139] * sp1[17];
+ sp1[154] = sp1[139] * sp1[22];
+ sp1[155] = sp1[139] * sp1[25];
+ sp1[156] = sp1[140] * sp1[17];
+ sp1[157] = sp1[140] * sp1[22];
+ sp1[158] = sp1[140] * sp1[25];
+ sp1[159] = sp1[117] * sp1[17];
+ sp1[160] = sp1[117] * sp1[22];
+ sp1[161] = sp1[117] * sp1[25];
+ sp1[162] = w0_d0_c2 * sp1[17];
+ sp1[163] = w0_d1_c2 * sp1[22];
+ sp1[164] = sp1[162] + sp1[163];
+ sp1[165] = w0_d2_c2 * sp1[25];
+ sp1[166] = sp1[164] + sp1[165];
+ sp1[167] = sp1[166] * sp1[33];
+ sp1[168] = sp1[166] * sp1[38];
+ sp1[169] = sp1[166] * sp1[43];
+ sp1[170] = sp1[109] * sp1[17];
+ sp1[171] = sp1[109] * sp1[22];
+ sp1[172] = sp1[109] * sp1[25];
+ sp1[173] = w0_d0_c1 * sp1[17];
+ sp1[174] = w0_d1_c1 * sp1[22];
+ sp1[175] = sp1[173] + sp1[174];
+ sp1[176] = w0_d2_c1 * sp1[25];
+ sp1[177] = sp1[175] + sp1[176];
+ sp1[178] = sp1[177] * sp1[33];
+ sp1[179] = sp1[177] * sp1[38];
+ sp1[180] = sp1[177] * sp1[43];
+ sp1[181] = -1 * sp1[170];
+ sp1[182] = -1 * sp1[171];
+ sp1[183] = -1 * sp1[172];
+ sp1[184] = -1 * sp1[178];
+ sp1[185] = -1 * sp1[179];
+ sp1[186] = -1 * sp1[180];
+ sp1[187] = sp1[181] + sp1[167];
+ sp1[188] = sp1[182] + sp1[168];
+ sp1[189] = sp1[183] + sp1[169];
+ sp1[190] = sp1[184] + sp1[159];
+ sp1[191] = sp1[185] + sp1[160];
+ sp1[192] = sp1[186] + sp1[161];
+ sp1[193] = sp1[187] * sp1[48];
+ sp1[194] = sp1[187] * sp1[53];
+ sp1[195] = sp1[187] * sp1[58];
+ sp1[196] = sp1[188] * sp1[48];
+ sp1[197] = sp1[188] * sp1[53];
+ sp1[198] = sp1[188] * sp1[58];
+ sp1[199] = sp1[189] * sp1[48];
+ sp1[200] = sp1[189] * sp1[53];
+ sp1[201] = sp1[189] * sp1[58];
+ sp1[202] = sp1[190] * sp1[48];
+ sp1[203] = sp1[190] * sp1[53];
+ sp1[204] = sp1[190] * sp1[58];
+ sp1[205] = sp1[191] * sp1[48];
+ sp1[206] = sp1[191] * sp1[53];
+ sp1[207] = sp1[191] * sp1[58];
+ sp1[208] = sp1[192] * sp1[48];
+ sp1[209] = sp1[192] * sp1[53];
+ sp1[210] = sp1[192] * sp1[58];
+ sp1[211] = sp1[33] * sp1[17];
+ sp1[212] = sp1[33] * sp1[22];
+ sp1[213] = sp1[33] * sp1[25];
+ sp1[214] = sp1[38] * sp1[17];
+ sp1[215] = sp1[38] * sp1[22];
+ sp1[216] = sp1[38] * sp1[25];
+ sp1[217] = sp1[43] * sp1[17];
+ sp1[218] = sp1[43] * sp1[22];
+ sp1[219] = sp1[43] * sp1[25];
+ sp1[220] = -1 * sp1[211];
+ sp1[221] = -1 * sp1[212];
+ sp1[222] = -1 * sp1[213];
+ sp1[223] = -1 * sp1[214];
+ sp1[224] = -1 * sp1[215];
+ sp1[225] = -1 * sp1[216];
+ sp1[226] = -1 * sp1[217];
+ sp1[227] = -1 * sp1[218];
+ sp1[228] = -1 * sp1[219];
+ sp1[229] = sp1[220] + sp1[211];
+ sp1[230] = sp1[221] + sp1[214];
+ sp1[231] = sp1[222] + sp1[217];
+ sp1[232] = sp1[223] + sp1[212];
+ sp1[233] = sp1[224] + sp1[215];
+ sp1[234] = sp1[225] + sp1[218];
+ sp1[235] = sp1[226] + sp1[213];
+ sp1[236] = sp1[227] + sp1[216];
+ sp1[237] = sp1[228] + sp1[219];
+ sp1[238] = w0_d0_c0 * sp1[48];
+ sp1[239] = w0_d1_c0 * sp1[53];
+ sp1[240] = sp1[238] + sp1[239];
+ sp1[241] = w0_d2_c0 * sp1[58];
+ sp1[242] = sp1[240] + sp1[241];
+ sp1[243] = sp1[242] * sp1[229];
+ sp1[244] = sp1[242] * sp1[230];
+ sp1[245] = sp1[242] * sp1[231];
+ sp1[246] = sp1[242] * sp1[232];
+ sp1[247] = sp1[242] * sp1[233];
+ sp1[248] = sp1[242] * sp1[234];
+ sp1[249] = sp1[235] * sp1[242];
+ sp1[250] = sp1[236] * sp1[242];
+ sp1[251] = sp1[237] * sp1[242];
+ sp1[252] = sp1[86] + sp1[243];
+ sp1[253] = sp1[87] + sp1[244];
+ sp1[254] = sp1[88] + sp1[245];
+ sp1[255] = sp1[202] + sp1[150];
+ sp1[256] = sp1[203] + sp1[151];
+ sp1[257] = sp1[152] + sp1[204];
+ sp1[258] = sp1[89] + sp1[246];
+ sp1[259] = sp1[90] + sp1[247];
+ sp1[260] = sp1[91] + sp1[248];
+ sp1[261] = sp1[205] + sp1[153];
+ sp1[262] = sp1[206] + sp1[154];
+ sp1[263] = sp1[155] + sp1[207];
+ sp1[264] = sp1[92] + sp1[249];
+ sp1[265] = sp1[93] + sp1[250];
+ sp1[266] = sp1[251] + sp1[94];
+ sp1[267] = sp1[208] + sp1[156];
+ sp1[268] = sp1[209] + sp1[157];
+ sp1[269] = sp1[158] + sp1[210];
+ sp1[270] = sp1[193] + sp1[141];
+ sp1[271] = sp1[194] + sp1[142];
+ sp1[272] = sp1[143] + sp1[195];
+ sp1[273] = sp1[196] + sp1[144];
+ sp1[274] = sp1[197] + sp1[145];
+ sp1[275] = sp1[146] + sp1[198];
+ sp1[276] = sp1[199] + sp1[147];
+ sp1[277] = sp1[200] + sp1[148];
+ sp1[278] = sp1[149] + sp1[201];
+ sp1[279] = sp1[177] * sp1[48];
+ sp1[280] = sp1[177] * sp1[53];
+ sp1[281] = sp1[177] * sp1[58];
+ sp1[282] = sp1[125] * sp1[17];
+ sp1[283] = sp1[125] * sp1[22];
+ sp1[284] = sp1[125] * sp1[25];
+ sp1[285] = sp1[100] * sp1[17];
+ sp1[286] = sp1[100] * sp1[22];
+ sp1[287] = sp1[100] * sp1[25];
+ sp1[288] = sp1[166] * sp1[48];
+ sp1[289] = sp1[166] * sp1[53];
+ sp1[290] = sp1[166] * sp1[58];
+ sp1[291] = -1 * sp1[288];
+ sp1[292] = -1 * sp1[289];
+ sp1[293] = -1 * sp1[290];
+ sp1[294] = -1 * sp1[285];
+ sp1[295] = -1 * sp1[286];
+ sp1[296] = -1 * sp1[287];
+ sp1[297] = sp1[291] + sp1[282];
+ sp1[298] = sp1[292] + sp1[283];
+ sp1[299] = sp1[293] + sp1[284];
+ sp1[300] = sp1[294] + sp1[279];
+ sp1[301] = sp1[295] + sp1[280];
+ sp1[302] = sp1[296] + sp1[281];
+ sp1[303] = sp1[297] * sp1[33];
+ sp1[304] = sp1[297] * sp1[38];
+ sp1[305] = sp1[297] * sp1[43];
+ sp1[306] = sp1[298] * sp1[33];
+ sp1[307] = sp1[298] * sp1[38];
+ sp1[308] = sp1[298] * sp1[43];
+ sp1[309] = sp1[299] * sp1[33];
+ sp1[310] = sp1[299] * sp1[38];
+ sp1[311] = sp1[299] * sp1[43];
+ sp1[312] = sp1[300] * sp1[33];
+ sp1[313] = sp1[300] * sp1[38];
+ sp1[314] = sp1[300] * sp1[43];
+ sp1[315] = sp1[301] * sp1[33];
+ sp1[316] = sp1[301] * sp1[38];
+ sp1[317] = sp1[301] * sp1[43];
+ sp1[318] = sp1[302] * sp1[33];
+ sp1[319] = sp1[302] * sp1[38];
+ sp1[320] = sp1[302] * sp1[43];
+ sp1[321] = sp1[48] * sp1[17];
+ sp1[322] = sp1[53] * sp1[17];
+ sp1[323] = sp1[58] * sp1[17];
+ sp1[324] = sp1[48] * sp1[22];
+ sp1[325] = sp1[53] * sp1[22];
+ sp1[326] = sp1[58] * sp1[22];
+ sp1[327] = sp1[48] * sp1[25];
+ sp1[328] = sp1[53] * sp1[25];
+ sp1[329] = sp1[25] * sp1[58];
+ sp1[330] = -1 * sp1[321];
+ sp1[331] = -1 * sp1[322];
+ sp1[332] = -1 * sp1[323];
+ sp1[333] = -1 * sp1[324];
+ sp1[334] = -1 * sp1[325];
+ sp1[335] = -1 * sp1[326];
+ sp1[336] = -1 * sp1[327];
+ sp1[337] = -1 * sp1[328];
+ sp1[338] = -1 * sp1[329];
+ sp1[339] = sp1[330] + sp1[321];
+ sp1[340] = sp1[331] + sp1[324];
+ sp1[341] = sp1[332] + sp1[327];
+ sp1[342] = sp1[333] + sp1[322];
+ sp1[343] = sp1[334] + sp1[325];
+ sp1[344] = sp1[335] + sp1[328];
+ sp1[345] = sp1[336] + sp1[323];
+ sp1[346] = sp1[337] + sp1[326];
+ sp1[347] = sp1[338] + sp1[329];
+ sp1[348] = w0_d0_c0 * sp1[33];
+ sp1[349] = w0_d1_c0 * sp1[38];
+ sp1[350] = sp1[348] + sp1[349];
+ sp1[351] = w0_d2_c0 * sp1[43];
+ sp1[352] = sp1[350] + sp1[351];
+ sp1[353] = sp1[352] * sp1[339];
+ sp1[354] = sp1[352] * sp1[340];
+ sp1[355] = sp1[352] * sp1[341];
+ sp1[356] = sp1[352] * sp1[342];
+ sp1[357] = sp1[352] * sp1[343];
+ sp1[358] = sp1[352] * sp1[344];
+ sp1[359] = sp1[352] * sp1[345];
+ sp1[360] = sp1[352] * sp1[346];
+ sp1[361] = sp1[352] * sp1[347];
+ sp1[362] = sp1[252] + sp1[353];
+ sp1[363] = sp1[253] + sp1[354];
+ sp1[364] = sp1[254] + sp1[355];
+ sp1[365] = sp1[255] + sp1[312];
+ sp1[366] = sp1[256] + sp1[313];
+ sp1[367] = sp1[257] + sp1[314];
+ sp1[368] = sp1[258] + sp1[356];
+ sp1[369] = sp1[259] + sp1[357];
+ sp1[370] = sp1[260] + sp1[358];
+ sp1[371] = sp1[261] + sp1[315];
+ sp1[372] = sp1[262] + sp1[316];
+ sp1[373] = sp1[263] + sp1[317];
+ sp1[374] = sp1[264] + sp1[359];
+ sp1[375] = sp1[265] + sp1[360];
+ sp1[376] = sp1[266] + sp1[361];
+ sp1[377] = sp1[267] + sp1[318];
+ sp1[378] = sp1[268] + sp1[319];
+ sp1[379] = sp1[269] + sp1[320];
+ sp1[380] = sp1[270] + sp1[303];
+ sp1[381] = sp1[271] + sp1[304];
+ sp1[382] = sp1[272] + sp1[305];
+ sp1[383] = sp1[273] + sp1[306];
+ sp1[384] = sp1[274] + sp1[307];
+ sp1[385] = sp1[275] + sp1[308];
+ sp1[386] = sp1[276] + sp1[309];
+ sp1[387] = sp1[277] + sp1[310];
+ sp1[388] = sp1[278] + sp1[311];
+ sp1[389] = sp1[28] * sp1[138];
+ sp1[390] = sp1[28] * sp1[139];
+ sp1[391] = sp1[28] * sp1[140];
+ sp1[392] = sp1[28] * sp1[135];
+ sp1[393] = sp1[28] * sp1[136];
+ sp1[394] = sp1[28] * sp1[137];
+ sp1[395] = sp1[109] * sp1[100];
+ sp1[396] = sp1[117] * sp1[125];
+ sp1[397] = -1 * sp1[396];
+ sp1[398] = sp1[395] + sp1[397];
+ sp1[399] = sp1[398] * sp1[17];
+ sp1[400] = sp1[398] * sp1[22];
+ sp1[401] = sp1[398] * sp1[25];
+ sp1[402] = sp1[117] * sp1[166];
+ sp1[403] = sp1[109] * sp1[177];
+ sp1[404] = -1 * sp1[403];
+ sp1[405] = sp1[402] + sp1[404];
+ sp1[406] = sp1[405] * sp1[48];
+ sp1[407] = sp1[405] * sp1[53];
+ sp1[408] = sp1[405] * sp1[58];
+ sp1[409] = sp1[242] * sp1[190];
+ sp1[410] = sp1[242] * sp1[191];
+ sp1[411] = sp1[192] * sp1[242];
+ sp1[412] = sp1[187] * sp1[242];
+ sp1[413] = sp1[188] * sp1[242];
+ sp1[414] = sp1[189] * sp1[242];
+ sp1[415] = sp1[389] + sp1[409];
+ sp1[416] = sp1[390] + sp1[410];
+ sp1[417] = sp1[391] + sp1[411];
+ sp1[418] = sp1[392] + sp1[412];
+ sp1[419] = sp1[393] + sp1[413];
+ sp1[420] = sp1[414] + sp1[394];
+ sp1[421] = sp1[406] + sp1[399];
+ sp1[422] = sp1[407] + sp1[400];
+ sp1[423] = sp1[401] + sp1[408];
+ sp1[424] = sp1[177] * sp1[125];
+ sp1[425] = sp1[100] * sp1[166];
+ sp1[426] = -1 * sp1[425];
+ sp1[427] = sp1[424] + sp1[426];
+ sp1[428] = sp1[427] * sp1[33];
+ sp1[429] = sp1[427] * sp1[38];
+ sp1[430] = sp1[427] * sp1[43];
+ sp1[431] = sp1[300] * sp1[352];
+ sp1[432] = sp1[301] * sp1[352];
+ sp1[433] = sp1[352] * sp1[302];
+ sp1[434] = sp1[352] * sp1[297];
+ sp1[435] = sp1[352] * sp1[298];
+ sp1[436] = sp1[352] * sp1[299];
+ sp1[437] = sp1[415] + sp1[431];
+ sp1[438] = sp1[416] + sp1[432];
+ sp1[439] = sp1[417] + sp1[433];
+ sp1[440] = sp1[418] + sp1[434];
+ sp1[441] = sp1[419] + sp1[435];
+ sp1[442] = sp1[420] + sp1[436];
+ sp1[443] = sp1[421] + sp1[428];
+ sp1[444] = sp1[422] + sp1[429];
+ sp1[445] = sp1[423] + sp1[430];
+ sp1[446] = sp1[28] * sp1[398];
+ sp1[447] = sp1[405] * sp1[242];
+ sp1[448] = sp1[446] + sp1[447];
+ sp1[449] = sp1[427] * sp1[352];
+ sp1[450] = sp1[448] + sp1[449];
+ sp1[451] = sp1[440] / sp1[450];
+ sp1[452] = sp1[441] / sp1[450];
+ sp1[453] = sp1[442] / sp1[450];
+ sp1[454] = sp1[437] / sp1[450];
+ sp1[455] = sp1[438] / sp1[450];
+ sp1[456] = sp1[439] / sp1[450];
+ sp1[457] = sp1[443] / sp1[450];
+ sp1[458] = sp1[444] / sp1[450];
+ sp1[459] = sp1[445] / sp1[450];
+ sp1[460] = sp1[437] * sp1[451];
+ sp1[461] = sp1[437] * sp1[452];
+ sp1[462] = sp1[437] * sp1[453];
+ sp1[463] = sp1[437] * sp1[454];
+ sp1[464] = sp1[437] * sp1[455];
+ sp1[465] = sp1[437] * sp1[456];
+ sp1[466] = sp1[437] * sp1[457];
+ sp1[467] = sp1[437] * sp1[458];
+ sp1[468] = sp1[437] * sp1[459];
+ sp1[469] = sp1[438] * sp1[451];
+ sp1[470] = sp1[438] * sp1[452];
+ sp1[471] = sp1[438] * sp1[453];
+ sp1[472] = sp1[438] * sp1[454];
+ sp1[473] = sp1[438] * sp1[455];
+ sp1[474] = sp1[438] * sp1[456];
+ sp1[475] = sp1[438] * sp1[457];
+ sp1[476] = sp1[438] * sp1[458];
+ sp1[477] = sp1[438] * sp1[459];
+ sp1[478] = sp1[439] * sp1[451];
+ sp1[479] = sp1[439] * sp1[452];
+ sp1[480] = sp1[439] * sp1[453];
+ sp1[481] = sp1[439] * sp1[454];
+ sp1[482] = sp1[439] * sp1[455];
+ sp1[483] = sp1[439] * sp1[456];
+ sp1[484] = sp1[439] * sp1[457];
+ sp1[485] = sp1[439] * sp1[458];
+ sp1[486] = sp1[439] * sp1[459];
+ sp1[487] = sp1[440] * sp1[451];
+ sp1[488] = sp1[440] * sp1[452];
+ sp1[489] = sp1[440] * sp1[453];
+ sp1[490] = sp1[440] * sp1[454];
+ sp1[491] = sp1[440] * sp1[455];
+ sp1[492] = sp1[440] * sp1[456];
+ sp1[493] = sp1[440] * sp1[457];
+ sp1[494] = sp1[440] * sp1[458];
+ sp1[495] = sp1[440] * sp1[459];
+ sp1[496] = sp1[441] * sp1[451];
+ sp1[497] = sp1[441] * sp1[452];
+ sp1[498] = sp1[441] * sp1[453];
+ sp1[499] = sp1[441] * sp1[454];
+ sp1[500] = sp1[441] * sp1[455];
+ sp1[501] = sp1[441] * sp1[456];
+ sp1[502] = sp1[441] * sp1[457];
+ sp1[503] = sp1[441] * sp1[458];
+ sp1[504] = sp1[441] * sp1[459];
+ sp1[505] = sp1[442] * sp1[451];
+ sp1[506] = sp1[442] * sp1[452];
+ sp1[507] = sp1[442] * sp1[453];
+ sp1[508] = sp1[442] * sp1[454];
+ sp1[509] = sp1[442] * sp1[455];
+ sp1[510] = sp1[442] * sp1[456];
+ sp1[511] = sp1[442] * sp1[457];
+ sp1[512] = sp1[442] * sp1[458];
+ sp1[513] = sp1[442] * sp1[459];
+ sp1[514] = sp1[443] * sp1[451];
+ sp1[515] = sp1[443] * sp1[452];
+ sp1[516] = sp1[443] * sp1[453];
+ sp1[517] = sp1[443] * sp1[454];
+ sp1[518] = sp1[443] * sp1[455];
+ sp1[519] = sp1[443] * sp1[456];
+ sp1[520] = sp1[443] * sp1[457];
+ sp1[521] = sp1[443] * sp1[458];
+ sp1[522] = sp1[443] * sp1[459];
+ sp1[523] = sp1[444] * sp1[451];
+ sp1[524] = sp1[444] * sp1[452];
+ sp1[525] = sp1[444] * sp1[453];
+ sp1[526] = sp1[444] * sp1[454];
+ sp1[527] = sp1[444] * sp1[455];
+ sp1[528] = sp1[444] * sp1[456];
+ sp1[529] = sp1[444] * sp1[457];
+ sp1[530] = sp1[444] * sp1[458];
+ sp1[531] = sp1[444] * sp1[459];
+ sp1[532] = sp1[445] * sp1[451];
+ sp1[533] = sp1[445] * sp1[452];
+ sp1[534] = sp1[445] * sp1[453];
+ sp1[535] = sp1[445] * sp1[454];
+ sp1[536] = sp1[445] * sp1[455];
+ sp1[537] = sp1[445] * sp1[456];
+ sp1[538] = sp1[445] * sp1[457];
+ sp1[539] = sp1[445] * sp1[458];
+ sp1[540] = sp1[445] * sp1[459];
+ sp1[541] = -1 * sp1[460];
+ sp1[542] = -1 * sp1[461];
+ sp1[543] = -1 * sp1[462];
+ sp1[544] = -1 * sp1[463];
+ sp1[545] = -1 * sp1[464];
+ sp1[546] = -1 * sp1[465];
+ sp1[547] = -1 * sp1[466];
+ sp1[548] = -1 * sp1[467];
+ sp1[549] = -1 * sp1[468];
+ sp1[550] = -1 * sp1[469];
+ sp1[551] = -1 * sp1[470];
+ sp1[552] = -1 * sp1[471];
+ sp1[553] = -1 * sp1[472];
+ sp1[554] = -1 * sp1[473];
+ sp1[555] = -1 * sp1[474];
+ sp1[556] = -1 * sp1[475];
+ sp1[557] = -1 * sp1[476];
+ sp1[558] = -1 * sp1[477];
+ sp1[559] = -1 * sp1[478];
+ sp1[560] = -1 * sp1[479];
+ sp1[561] = -1 * sp1[480];
+ sp1[562] = -1 * sp1[481];
+ sp1[563] = -1 * sp1[482];
+ sp1[564] = -1 * sp1[483];
+ sp1[565] = -1 * sp1[484];
+ sp1[566] = -1 * sp1[485];
+ sp1[567] = -1 * sp1[486];
+ sp1[568] = -1 * sp1[487];
+ sp1[569] = -1 * sp1[496];
+ sp1[570] = -1 * sp1[505];
+ sp1[571] = -1 * sp1[514];
+ sp1[572] = -1 * sp1[523];
+ sp1[573] = -1 * sp1[532];
+ sp1[574] = -1 * sp1[488];
+ sp1[575] = -1 * sp1[497];
+ sp1[576] = -1 * sp1[506];
+ sp1[577] = -1 * sp1[515];
+ sp1[578] = -1 * sp1[524];
+ sp1[579] = -1 * sp1[533];
+ sp1[580] = -1 * sp1[489];
+ sp1[581] = -1 * sp1[498];
+ sp1[582] = -1 * sp1[507];
+ sp1[583] = -1 * sp1[516];
+ sp1[584] = -1 * sp1[525];
+ sp1[585] = -1 * sp1[534];
+ sp1[586] = -1 * sp1[490];
+ sp1[587] = -1 * sp1[499];
+ sp1[588] = -1 * sp1[508];
+ sp1[589] = -1 * sp1[517];
+ sp1[590] = -1 * sp1[526];
+ sp1[591] = -1 * sp1[535];
+ sp1[592] = -1 * sp1[491];
+ sp1[593] = -1 * sp1[500];
+ sp1[594] = -1 * sp1[509];
+ sp1[595] = -1 * sp1[518];
+ sp1[596] = -1 * sp1[527];
+ sp1[597] = -1 * sp1[536];
+ sp1[598] = -1 * sp1[492];
+ sp1[599] = -1 * sp1[501];
+ sp1[600] = -1 * sp1[510];
+ sp1[601] = -1 * sp1[519];
+ sp1[602] = -1 * sp1[528];
+ sp1[603] = -1 * sp1[537];
+ sp1[604] = -1 * sp1[493];
+ sp1[605] = -1 * sp1[494];
+ sp1[606] = -1 * sp1[495];
+ sp1[607] = -1 * sp1[502];
+ sp1[608] = -1 * sp1[503];
+ sp1[609] = -1 * sp1[504];
+ sp1[610] = -1 * sp1[511];
+ sp1[611] = -1 * sp1[512];
+ sp1[612] = -1 * sp1[513];
+ sp1[613] = -1 * sp1[520];
+ sp1[614] = -1 * sp1[521];
+ sp1[615] = -1 * sp1[522];
+ sp1[616] = -1 * sp1[529];
+ sp1[617] = -1 * sp1[530];
+ sp1[618] = -1 * sp1[531];
+ sp1[619] = -1 * sp1[538];
+ sp1[620] = -1 * sp1[539];
+ sp1[621] = -1 * sp1[540];
+ sp1[622] = sp1[362] + sp1[541];
+ sp1[623] = sp1[363] + sp1[542];
+ sp1[624] = sp1[364] + sp1[543];
+ sp1[625] = sp1[365] + sp1[547];
+ sp1[626] = sp1[366] + sp1[548];
+ sp1[627] = sp1[367] + sp1[549];
+ sp1[628] = sp1[368] + sp1[550];
+ sp1[629] = sp1[369] + sp1[551];
+ sp1[630] = sp1[370] + sp1[552];
+ sp1[631] = sp1[371] + sp1[556];
+ sp1[632] = sp1[372] + sp1[557];
+ sp1[633] = sp1[373] + sp1[558];
+ sp1[634] = sp1[374] + sp1[559];
+ sp1[635] = sp1[375] + sp1[560];
+ sp1[636] = sp1[376] + sp1[561];
+ sp1[637] = sp1[377] + sp1[565];
+ sp1[638] = sp1[378] + sp1[566];
+ sp1[639] = sp1[379] + sp1[567];
+ sp1[640] = sp1[380] + sp1[571];
+ sp1[641] = sp1[381] + sp1[572];
+ sp1[642] = sp1[382] + sp1[573];
+ sp1[643] = sp1[383] + sp1[577];
+ sp1[644] = sp1[384] + sp1[578];
+ sp1[645] = sp1[385] + sp1[579];
+ sp1[646] = sp1[386] + sp1[583];
+ sp1[647] = sp1[387] + sp1[584];
+ sp1[648] = sp1[388] + sp1[585];
+ sp1[649] = sp1[362] + sp1[586];
+ sp1[650] = sp1[363] + sp1[587];
+ sp1[651] = sp1[364] + sp1[588];
+ sp1[652] = sp1[365] + sp1[589];
+ sp1[653] = sp1[366] + sp1[590];
+ sp1[654] = sp1[367] + sp1[591];
+ sp1[655] = sp1[368] + sp1[592];
+ sp1[656] = sp1[369] + sp1[593];
+ sp1[657] = sp1[370] + sp1[594];
+ sp1[658] = sp1[371] + sp1[595];
+ sp1[659] = sp1[372] + sp1[596];
+ sp1[660] = sp1[373] + sp1[597];
+ sp1[661] = sp1[374] + sp1[598];
+ sp1[662] = sp1[375] + sp1[599];
+ sp1[663] = sp1[376] + sp1[600];
+ sp1[664] = sp1[377] + sp1[601];
+ sp1[665] = sp1[378] + sp1[602];
+ sp1[666] = sp1[379] + sp1[603];
+ sp1[667] = sp1[380] + sp1[604];
+ sp1[668] = sp1[381] + sp1[605];
+ sp1[669] = sp1[382] + sp1[606];
+ sp1[670] = sp1[383] + sp1[607];
+ sp1[671] = sp1[384] + sp1[608];
+ sp1[672] = sp1[385] + sp1[609];
+ sp1[673] = sp1[386] + sp1[610];
+ sp1[674] = sp1[387] + sp1[611];
+ sp1[675] = sp1[388] + sp1[612];
+ sp1[676] = sp1[622] / sp1[450];
+ sp1[677] = sp1[623] / sp1[450];
+ sp1[678] = sp1[624] / sp1[450];
+ sp1[679] = sp1[544] / sp1[450];
+ sp1[680] = sp1[545] / sp1[450];
+ sp1[681] = sp1[546] / sp1[450];
+ sp1[682] = sp1[625] / sp1[450];
+ sp1[683] = sp1[626] / sp1[450];
+ sp1[684] = sp1[627] / sp1[450];
+ sp1[685] = sp1[628] / sp1[450];
+ sp1[686] = sp1[629] / sp1[450];
+ sp1[687] = sp1[630] / sp1[450];
+ sp1[688] = sp1[553] / sp1[450];
+ sp1[689] = sp1[554] / sp1[450];
+ sp1[690] = sp1[555] / sp1[450];
+ sp1[691] = sp1[631] / sp1[450];
+ sp1[692] = sp1[632] / sp1[450];
+ sp1[693] = sp1[633] / sp1[450];
+ sp1[694] = sp1[634] / sp1[450];
+ sp1[695] = sp1[635] / sp1[450];
+ sp1[696] = sp1[636] / sp1[450];
+ sp1[697] = sp1[562] / sp1[450];
+ sp1[698] = sp1[563] / sp1[450];
+ sp1[699] = sp1[564] / sp1[450];
+ sp1[700] = sp1[637] / sp1[450];
+ sp1[701] = sp1[638] / sp1[450];
+ sp1[702] = sp1[639] / sp1[450];
+ sp1[703] = sp1[568] / sp1[450];
+ sp1[704] = sp1[569] / sp1[450];
+ sp1[705] = sp1[570] / sp1[450];
+ sp1[706] = sp1[640] / sp1[450];
+ sp1[707] = sp1[641] / sp1[450];
+ sp1[708] = sp1[642] / sp1[450];
+ sp1[709] = sp1[574] / sp1[450];
+ sp1[710] = sp1[575] / sp1[450];
+ sp1[711] = sp1[576] / sp1[450];
+ sp1[712] = sp1[643] / sp1[450];
+ sp1[713] = sp1[644] / sp1[450];
+ sp1[714] = sp1[645] / sp1[450];
+ sp1[715] = sp1[580] / sp1[450];
+ sp1[716] = sp1[581] / sp1[450];
+ sp1[717] = sp1[582] / sp1[450];
+ sp1[718] = sp1[646] / sp1[450];
+ sp1[719] = sp1[647] / sp1[450];
+ sp1[720] = sp1[648] / sp1[450];
+ sp1[721] = sp1[649] / sp1[450];
+ sp1[722] = sp1[650] / sp1[450];
+ sp1[723] = sp1[651] / sp1[450];
+ sp1[724] = sp1[652] / sp1[450];
+ sp1[725] = sp1[653] / sp1[450];
+ sp1[726] = sp1[654] / sp1[450];
+ sp1[727] = sp1[655] / sp1[450];
+ sp1[728] = sp1[656] / sp1[450];
+ sp1[729] = sp1[657] / sp1[450];
+ sp1[730] = sp1[658] / sp1[450];
+ sp1[731] = sp1[659] / sp1[450];
+ sp1[732] = sp1[660] / sp1[450];
+ sp1[733] = sp1[661] / sp1[450];
+ sp1[734] = sp1[662] / sp1[450];
+ sp1[735] = sp1[663] / sp1[450];
+ sp1[736] = sp1[664] / sp1[450];
+ sp1[737] = sp1[665] / sp1[450];
+ sp1[738] = sp1[666] / sp1[450];
+ sp1[739] = sp1[667] / sp1[450];
+ sp1[740] = sp1[668] / sp1[450];
+ sp1[741] = sp1[669] / sp1[450];
+ sp1[742] = sp1[670] / sp1[450];
+ sp1[743] = sp1[671] / sp1[450];
+ sp1[744] = sp1[672] / sp1[450];
+ sp1[745] = sp1[673] / sp1[450];
+ sp1[746] = sp1[674] / sp1[450];
+ sp1[747] = sp1[675] / sp1[450];
+ sp1[748] = sp1[613] / sp1[450];
+ sp1[749] = sp1[614] / sp1[450];
+ sp1[750] = sp1[615] / sp1[450];
+ sp1[751] = sp1[616] / sp1[450];
+ sp1[752] = sp1[617] / sp1[450];
+ sp1[753] = sp1[618] / sp1[450];
+ sp1[754] = sp1[619] / sp1[450];
+ sp1[755] = sp1[620] / sp1[450];
+ sp1[756] = sp1[621] / sp1[450];
+ sp1[757] = sp1[676] * w[1][0];
+ sp1[758] = sp1[677] * w[1][0];
+ sp1[759] = sp1[678] * w[1][0];
+ sp1[760] = sp1[679] * w[1][0];
+ sp1[761] = sp1[680] * w[1][0];
+ sp1[762] = sp1[681] * w[1][0];
+ sp1[763] = sp1[682] * w[1][0];
+ sp1[764] = sp1[683] * w[1][0];
+ sp1[765] = sp1[684] * w[1][0];
+ sp1[766] = sp1[685] * w[1][0];
+ sp1[767] = sp1[686] * w[1][0];
+ sp1[768] = sp1[687] * w[1][0];
+ sp1[769] = sp1[688] * w[1][0];
+ sp1[770] = sp1[689] * w[1][0];
+ sp1[771] = sp1[690] * w[1][0];
+ sp1[772] = sp1[691] * w[1][0];
+ sp1[773] = sp1[692] * w[1][0];
+ sp1[774] = sp1[693] * w[1][0];
+ sp1[775] = sp1[694] * w[1][0];
+ sp1[776] = sp1[695] * w[1][0];
+ sp1[777] = sp1[696] * w[1][0];
+ sp1[778] = sp1[697] * w[1][0];
+ sp1[779] = sp1[698] * w[1][0];
+ sp1[780] = sp1[699] * w[1][0];
+ sp1[781] = sp1[700] * w[1][0];
+ sp1[782] = sp1[701] * w[1][0];
+ sp1[783] = sp1[702] * w[1][0];
+ sp1[784] = sp1[703] * w[1][0];
+ sp1[785] = sp1[704] * w[1][0];
+ sp1[786] = sp1[705] * w[1][0];
+ sp1[787] = sp1[706] * w[1][0];
+ sp1[788] = sp1[707] * w[1][0];
+ sp1[789] = sp1[708] * w[1][0];
+ sp1[790] = sp1[709] * w[1][0];
+ sp1[791] = sp1[710] * w[1][0];
+ sp1[792] = sp1[711] * w[1][0];
+ sp1[793] = sp1[712] * w[1][0];
+ sp1[794] = sp1[713] * w[1][0];
+ sp1[795] = sp1[714] * w[1][0];
+ sp1[796] = sp1[715] * w[1][0];
+ sp1[797] = sp1[716] * w[1][0];
+ sp1[798] = sp1[717] * w[1][0];
+ sp1[799] = sp1[718] * w[1][0];
+ sp1[800] = sp1[719] * w[1][0];
+ sp1[801] = sp1[720] * w[1][0];
+ sp1[802] = sp1[721] * w[1][0];
+ sp1[803] = sp1[722] * w[1][0];
+ sp1[804] = sp1[723] * w[1][0];
+ sp1[805] = sp1[724] * w[1][0];
+ sp1[806] = sp1[725] * w[1][0];
+ sp1[807] = sp1[726] * w[1][0];
+ sp1[808] = sp1[727] * w[1][0];
+ sp1[809] = sp1[728] * w[1][0];
+ sp1[810] = sp1[729] * w[1][0];
+ sp1[811] = sp1[730] * w[1][0];
+ sp1[812] = sp1[731] * w[1][0];
+ sp1[813] = sp1[732] * w[1][0];
+ sp1[814] = sp1[733] * w[1][0];
+ sp1[815] = sp1[734] * w[1][0];
+ sp1[816] = sp1[735] * w[1][0];
+ sp1[817] = sp1[736] * w[1][0];
+ sp1[818] = sp1[737] * w[1][0];
+ sp1[819] = sp1[738] * w[1][0];
+ sp1[820] = sp1[739] * w[1][0];
+ sp1[821] = sp1[740] * w[1][0];
+ sp1[822] = sp1[741] * w[1][0];
+ sp1[823] = sp1[742] * w[1][0];
+ sp1[824] = sp1[743] * w[1][0];
+ sp1[825] = sp1[744] * w[1][0];
+ sp1[826] = sp1[745] * w[1][0];
+ sp1[827] = sp1[746] * w[1][0];
+ sp1[828] = sp1[747] * w[1][0];
+ sp1[829] = sp1[748] * w[1][0];
+ sp1[830] = sp1[749] * w[1][0];
+ sp1[831] = sp1[750] * w[1][0];
+ sp1[832] = sp1[751] * w[1][0];
+ sp1[833] = sp1[752] * w[1][0];
+ sp1[834] = sp1[753] * w[1][0];
+ sp1[835] = sp1[754] * w[1][0];
+ sp1[836] = sp1[755] * w[1][0];
+ sp1[837] = sp1[756] * w[1][0];
+ sp1[838] = -1 * sp1[757];
+ sp1[839] = -1 * sp1[758];
+ sp1[840] = -1 * sp1[759];
+ sp1[841] = -1 * sp1[760];
+ sp1[842] = -1 * sp1[761];
+ sp1[843] = -1 * sp1[762];
+ sp1[844] = -1 * sp1[763];
+ sp1[845] = -1 * sp1[764];
+ sp1[846] = -1 * sp1[765];
+ sp1[847] = -1 * sp1[766];
+ sp1[848] = -1 * sp1[767];
+ sp1[849] = -1 * sp1[768];
+ sp1[850] = -1 * sp1[769];
+ sp1[851] = -1 * sp1[770];
+ sp1[852] = -1 * sp1[771];
+ sp1[853] = -1 * sp1[772];
+ sp1[854] = -1 * sp1[773];
+ sp1[855] = -1 * sp1[774];
+ sp1[856] = -1 * sp1[775];
+ sp1[857] = -1 * sp1[776];
+ sp1[858] = -1 * sp1[777];
+ sp1[859] = -1 * sp1[778];
+ sp1[860] = -1 * sp1[779];
+ sp1[861] = -1 * sp1[780];
+ sp1[862] = -1 * sp1[781];
+ sp1[863] = -1 * sp1[782];
+ sp1[864] = -1 * sp1[783];
+ sp1[865] = -1 * sp1[784];
+ sp1[866] = -1 * sp1[785];
+ sp1[867] = -1 * sp1[786];
+ sp1[868] = -1 * sp1[787];
+ sp1[869] = -1 * sp1[788];
+ sp1[870] = -1 * sp1[789];
+ sp1[871] = -1 * sp1[790];
+ sp1[872] = -1 * sp1[791];
+ sp1[873] = -1 * sp1[792];
+ sp1[874] = -1 * sp1[793];
+ sp1[875] = -1 * sp1[794];
+ sp1[876] = -1 * sp1[795];
+ sp1[877] = -1 * sp1[796];
+ sp1[878] = -1 * sp1[797];
+ sp1[879] = -1 * sp1[798];
+ sp1[880] = -1 * sp1[799];
+ sp1[881] = -1 * sp1[800];
+ sp1[882] = -1 * sp1[801];
+ sp1[883] = -1 * sp1[802];
+ sp1[884] = -1 * sp1[803];
+ sp1[885] = -1 * sp1[804];
+ sp1[886] = -1 * sp1[805];
+ sp1[887] = -1 * sp1[806];
+ sp1[888] = -1 * sp1[807];
+ sp1[889] = -1 * sp1[808];
+ sp1[890] = -1 * sp1[809];
+ sp1[891] = -1 * sp1[810];
+ sp1[892] = -1 * sp1[811];
+ sp1[893] = -1 * sp1[812];
+ sp1[894] = -1 * sp1[813];
+ sp1[895] = -1 * sp1[814];
+ sp1[896] = -1 * sp1[815];
+ sp1[897] = -1 * sp1[816];
+ sp1[898] = -1 * sp1[817];
+ sp1[899] = -1 * sp1[818];
+ sp1[900] = -1 * sp1[819];
+ sp1[901] = -1 * sp1[820];
+ sp1[902] = -1 * sp1[821];
+ sp1[903] = -1 * sp1[822];
+ sp1[904] = -1 * sp1[823];
+ sp1[905] = -1 * sp1[824];
+ sp1[906] = -1 * sp1[825];
+ sp1[907] = -1 * sp1[826];
+ sp1[908] = -1 * sp1[827];
+ sp1[909] = -1 * sp1[828];
+ sp1[910] = -1 * sp1[829];
+ sp1[911] = -1 * sp1[830];
+ sp1[912] = -1 * sp1[831];
+ sp1[913] = -1 * sp1[832];
+ sp1[914] = -1 * sp1[833];
+ sp1[915] = -1 * sp1[834];
+ sp1[916] = -1 * sp1[835];
+ sp1[917] = -1 * sp1[836];
+ sp1[918] = -1 * sp1[837];
+ sp1[919] = sp1[17] * sp1[17];
+ sp1[920] = sp1[17] * sp1[22];
+ sp1[921] = sp1[25] * sp1[17];
+ sp1[922] = sp1[22] * sp1[22];
+ sp1[923] = sp1[25] * sp1[22];
+ sp1[924] = sp1[25] * sp1[25];
+ sp1[925] = sp1[919] + sp1[919];
+ sp1[926] = sp1[920] + sp1[920];
+ sp1[927] = sp1[921] + sp1[921];
+ sp1[928] = sp1[922] + sp1[922];
+ sp1[929] = sp1[923] + sp1[923];
+ sp1[930] = sp1[924] + sp1[924];
+ sp1[931] = sp1[48] * sp1[48];
+ sp1[932] = sp1[48] * sp1[53];
+ sp1[933] = sp1[48] * sp1[58];
+ sp1[934] = sp1[53] * sp1[53];
+ sp1[935] = sp1[53] * sp1[58];
+ sp1[936] = sp1[58] * sp1[58];
+ sp1[937] = sp1[931] + sp1[931];
+ sp1[938] = sp1[932] + sp1[932];
+ sp1[939] = sp1[933] + sp1[933];
+ sp1[940] = sp1[934] + sp1[934];
+ sp1[941] = sp1[935] + sp1[935];
+ sp1[942] = sp1[936] + sp1[936];
+ sp1[943] = sp1[937] + sp1[925];
+ sp1[944] = sp1[938] + sp1[926];
+ sp1[945] = sp1[939] + sp1[927];
+ sp1[946] = sp1[940] + sp1[928];
+ sp1[947] = sp1[941] + sp1[929];
+ sp1[948] = sp1[930] + sp1[942];
+ sp1[949] = sp1[33] * sp1[33];
+ sp1[950] = sp1[33] * sp1[38];
+ sp1[951] = sp1[43] * sp1[33];
+ sp1[952] = sp1[38] * sp1[38];
+ sp1[953] = sp1[43] * sp1[38];
+ sp1[954] = sp1[43] * sp1[43];
+ sp1[955] = sp1[949] + sp1[949];
+ sp1[956] = sp1[950] + sp1[950];
+ sp1[957] = sp1[951] + sp1[951];
+ sp1[958] = sp1[952] + sp1[952];
+ sp1[959] = sp1[953] + sp1[953];
+ sp1[960] = sp1[954] + sp1[954];
+ sp1[961] = sp1[943] + sp1[955];
+ sp1[962] = sp1[944] + sp1[956];
+ sp1[963] = sp1[945] + sp1[957];
+ sp1[964] = sp1[946] + sp1[958];
+ sp1[965] = sp1[947] + sp1[959];
+ sp1[966] = sp1[948] + sp1[960];
+ sp1[967] = w[1][0] / 2;
+ sp1[968] = sp1[961] * sp1[967];
+ sp1[969] = sp1[962] * sp1[967];
+ sp1[970] = sp1[963] * sp1[967];
+ sp1[971] = sp1[964] * sp1[967];
+ sp1[972] = sp1[965] * sp1[967];
+ sp1[973] = sp1[966] * sp1[967];
+ sp1[974] = sp1[841] + sp1[968];
+ sp1[975] = sp1[842] + sp1[969];
+ sp1[976] = sp1[843] + sp1[970];
+ sp1[977] = sp1[850] + sp1[969];
+ sp1[978] = sp1[851] + sp1[971];
+ sp1[979] = sp1[852] + sp1[972];
+ sp1[980] = sp1[859] + sp1[970];
+ sp1[981] = sp1[860] + sp1[972];
+ sp1[982] = sp1[861] + sp1[973];
+ sp1[983] = sp1[865] + sp1[968];
+ sp1[984] = sp1[866] + sp1[969];
+ sp1[985] = sp1[867] + sp1[970];
+ sp1[986] = sp1[871] + sp1[969];
+ sp1[987] = sp1[872] + sp1[971];
+ sp1[988] = sp1[873] + sp1[972];
+ sp1[989] = sp1[877] + sp1[970];
+ sp1[990] = sp1[878] + sp1[972];
+ sp1[991] = sp1[879] + sp1[973];
+ sp1[992] = sp1[910] + sp1[968];
+ sp1[993] = sp1[911] + sp1[969];
+ sp1[994] = sp1[912] + sp1[970];
+ sp1[995] = sp1[913] + sp1[969];
+ sp1[996] = sp1[914] + sp1[971];
+ sp1[997] = sp1[915] + sp1[972];
+ sp1[998] = sp1[916] + sp1[970];
+ sp1[999] = sp1[917] + sp1[972];
+ sp1[1000] = sp1[918] + sp1[973];
+ sp1[1001] = 2 * sp1[451];
+ sp1[1002] = 2 * sp1[452];
+ sp1[1003] = 2 * sp1[453];
+ sp1[1004] = 2 * sp1[454];
+ sp1[1005] = 2 * sp1[455];
+ sp1[1006] = 2 * sp1[456];
+ sp1[1007] = 2 * sp1[457];
+ sp1[1008] = 2 * sp1[458];
+ sp1[1009] = 2 * sp1[459];
+ sp1[1010] = sp1[1001] * sp1[454];
+ sp1[1011] = sp1[1001] * sp1[455];
+ sp1[1012] = sp1[1001] * sp1[456];
+ sp1[1013] = sp1[1001] * sp1[451];
+ sp1[1014] = sp1[1001] * sp1[452];
+ sp1[1015] = sp1[1001] * sp1[453];
+ sp1[1016] = sp1[1001] * sp1[457];
+ sp1[1017] = sp1[1001] * sp1[458];
+ sp1[1018] = sp1[1001] * sp1[459];
+ sp1[1019] = sp1[1002] * sp1[454];
+ sp1[1020] = sp1[1002] * sp1[455];
+ sp1[1021] = sp1[1002] * sp1[456];
+ sp1[1022] = sp1[1002] * sp1[451];
+ sp1[1023] = sp1[1002] * sp1[452];
+ sp1[1024] = sp1[1002] * sp1[453];
+ sp1[1025] = sp1[1002] * sp1[457];
+ sp1[1026] = sp1[1002] * sp1[458];
+ sp1[1027] = sp1[1002] * sp1[459];
+ sp1[1028] = sp1[1003] * sp1[454];
+ sp1[1029] = sp1[1003] * sp1[455];
+ sp1[1030] = sp1[1003] * sp1[456];
+ sp1[1031] = sp1[1003] * sp1[451];
+ sp1[1032] = sp1[1003] * sp1[452];
+ sp1[1033] = sp1[1003] * sp1[453];
+ sp1[1034] = sp1[1003] * sp1[457];
+ sp1[1035] = sp1[1003] * sp1[458];
+ sp1[1036] = sp1[1003] * sp1[459];
+ sp1[1037] = sp1[1004] * sp1[454];
+ sp1[1038] = sp1[1004] * sp1[455];
+ sp1[1039] = sp1[1004] * sp1[456];
+ sp1[1040] = sp1[1004] * sp1[451];
+ sp1[1041] = sp1[1004] * sp1[452];
+ sp1[1042] = sp1[1004] * sp1[453];
+ sp1[1043] = sp1[1004] * sp1[457];
+ sp1[1044] = sp1[1004] * sp1[458];
+ sp1[1045] = sp1[1004] * sp1[459];
+ sp1[1046] = sp1[1005] * sp1[454];
+ sp1[1047] = sp1[1005] * sp1[455];
+ sp1[1048] = sp1[1005] * sp1[456];
+ sp1[1049] = sp1[1005] * sp1[451];
+ sp1[1050] = sp1[1005] * sp1[452];
+ sp1[1051] = sp1[1005] * sp1[453];
+ sp1[1052] = sp1[1005] * sp1[457];
+ sp1[1053] = sp1[1005] * sp1[458];
+ sp1[1054] = sp1[1005] * sp1[459];
+ sp1[1055] = sp1[1006] * sp1[454];
+ sp1[1056] = sp1[1006] * sp1[455];
+ sp1[1057] = sp1[1006] * sp1[456];
+ sp1[1058] = sp1[1006] * sp1[451];
+ sp1[1059] = sp1[1006] * sp1[452];
+ sp1[1060] = sp1[1006] * sp1[453];
+ sp1[1061] = sp1[1006] * sp1[457];
+ sp1[1062] = sp1[1006] * sp1[458];
+ sp1[1063] = sp1[1006] * sp1[459];
+ sp1[1064] = sp1[1007] * sp1[454];
+ sp1[1065] = sp1[1007] * sp1[455];
+ sp1[1066] = sp1[1007] * sp1[456];
+ sp1[1067] = sp1[1007] * sp1[451];
+ sp1[1068] = sp1[1007] * sp1[452];
+ sp1[1069] = sp1[1007] * sp1[453];
+ sp1[1070] = sp1[1007] * sp1[457];
+ sp1[1071] = sp1[1007] * sp1[458];
+ sp1[1072] = sp1[1007] * sp1[459];
+ sp1[1073] = sp1[1008] * sp1[454];
+ sp1[1074] = sp1[1008] * sp1[455];
+ sp1[1075] = sp1[1008] * sp1[456];
+ sp1[1076] = sp1[1008] * sp1[451];
+ sp1[1077] = sp1[1008] * sp1[452];
+ sp1[1078] = sp1[1008] * sp1[453];
+ sp1[1079] = sp1[1008] * sp1[457];
+ sp1[1080] = sp1[1008] * sp1[458];
+ sp1[1081] = sp1[1008] * sp1[459];
+ sp1[1082] = sp1[1009] * sp1[454];
+ sp1[1083] = sp1[1009] * sp1[455];
+ sp1[1084] = sp1[1009] * sp1[456];
+ sp1[1085] = sp1[1009] * sp1[451];
+ sp1[1086] = sp1[1009] * sp1[452];
+ sp1[1087] = sp1[1009] * sp1[453];
+ sp1[1088] = sp1[1009] * sp1[457];
+ sp1[1089] = sp1[1009] * sp1[458];
+ sp1[1090] = sp1[1009] * sp1[459];
+ sp1[1091] = 2 * sp1[676];
+ sp1[1092] = 2 * sp1[677];
+ sp1[1093] = 2 * sp1[678];
+ sp1[1094] = 2 * sp1[679];
+ sp1[1095] = 2 * sp1[680];
+ sp1[1096] = 2 * sp1[681];
+ sp1[1097] = 2 * sp1[682];
+ sp1[1098] = 2 * sp1[683];
+ sp1[1099] = 2 * sp1[684];
+ sp1[1100] = 2 * sp1[685];
+ sp1[1101] = 2 * sp1[686];
+ sp1[1102] = 2 * sp1[687];
+ sp1[1103] = 2 * sp1[688];
+ sp1[1104] = 2 * sp1[689];
+ sp1[1105] = 2 * sp1[690];
+ sp1[1106] = 2 * sp1[691];
+ sp1[1107] = 2 * sp1[692];
+ sp1[1108] = 2 * sp1[693];
+ sp1[1109] = 2 * sp1[694];
+ sp1[1110] = 2 * sp1[695];
+ sp1[1111] = 2 * sp1[696];
+ sp1[1112] = 2 * sp1[697];
+ sp1[1113] = 2 * sp1[698];
+ sp1[1114] = 2 * sp1[699];
+ sp1[1115] = 2 * sp1[700];
+ sp1[1116] = 2 * sp1[701];
+ sp1[1117] = 2 * sp1[702];
+ sp1[1118] = 2 * sp1[703];
+ sp1[1119] = 2 * sp1[704];
+ sp1[1120] = 2 * sp1[705];
+ sp1[1121] = 2 * sp1[706];
+ sp1[1122] = 2 * sp1[707];
+ sp1[1123] = 2 * sp1[708];
+ sp1[1124] = 2 * sp1[709];
+ sp1[1125] = 2 * sp1[710];
+ sp1[1126] = 2 * sp1[711];
+ sp1[1127] = 2 * sp1[712];
+ sp1[1128] = 2 * sp1[713];
+ sp1[1129] = 2 * sp1[714];
+ sp1[1130] = 2 * sp1[715];
+ sp1[1131] = 2 * sp1[716];
+ sp1[1132] = 2 * sp1[717];
+ sp1[1133] = 2 * sp1[718];
+ sp1[1134] = 2 * sp1[719];
+ sp1[1135] = 2 * sp1[720];
+ sp1[1136] = 2 * sp1[721];
+ sp1[1137] = 2 * sp1[722];
+ sp1[1138] = 2 * sp1[723];
+ sp1[1139] = 2 * sp1[724];
+ sp1[1140] = 2 * sp1[725];
+ sp1[1141] = 2 * sp1[726];
+ sp1[1142] = 2 * sp1[727];
+ sp1[1143] = 2 * sp1[728];
+ sp1[1144] = 2 * sp1[729];
+ sp1[1145] = 2 * sp1[730];
+ sp1[1146] = 2 * sp1[731];
+ sp1[1147] = 2 * sp1[732];
+ sp1[1148] = 2 * sp1[733];
+ sp1[1149] = 2 * sp1[734];
+ sp1[1150] = 2 * sp1[735];
+ sp1[1151] = 2 * sp1[736];
+ sp1[1152] = 2 * sp1[737];
+ sp1[1153] = 2 * sp1[738];
+ sp1[1154] = 2 * sp1[739];
+ sp1[1155] = 2 * sp1[740];
+ sp1[1156] = 2 * sp1[741];
+ sp1[1157] = 2 * sp1[742];
+ sp1[1158] = 2 * sp1[743];
+ sp1[1159] = 2 * sp1[744];
+ sp1[1160] = 2 * sp1[745];
+ sp1[1161] = 2 * sp1[746];
+ sp1[1162] = 2 * sp1[747];
+ sp1[1163] = 2 * sp1[748];
+ sp1[1164] = 2 * sp1[749];
+ sp1[1165] = 2 * sp1[750];
+ sp1[1166] = 2 * sp1[751];
+ sp1[1167] = 2 * sp1[752];
+ sp1[1168] = 2 * sp1[753];
+ sp1[1169] = 2 * sp1[754];
+ sp1[1170] = 2 * sp1[755];
+ sp1[1171] = 2 * sp1[756];
+ sp1[1172] = std::log(sp1[450]);
+ sp1[1173] = sp1[1091] * sp1[1172];
+ sp1[1174] = sp1[1092] * sp1[1172];
+ sp1[1175] = sp1[1093] * sp1[1172];
+ sp1[1176] = sp1[1094] * sp1[1172];
+ sp1[1177] = sp1[1095] * sp1[1172];
+ sp1[1178] = sp1[1096] * sp1[1172];
+ sp1[1179] = sp1[1097] * sp1[1172];
+ sp1[1180] = sp1[1098] * sp1[1172];
+ sp1[1181] = sp1[1099] * sp1[1172];
+ sp1[1182] = sp1[1100] * sp1[1172];
+ sp1[1183] = sp1[1101] * sp1[1172];
+ sp1[1184] = sp1[1102] * sp1[1172];
+ sp1[1185] = sp1[1103] * sp1[1172];
+ sp1[1186] = sp1[1104] * sp1[1172];
+ sp1[1187] = sp1[1105] * sp1[1172];
+ sp1[1188] = sp1[1106] * sp1[1172];
+ sp1[1189] = sp1[1107] * sp1[1172];
+ sp1[1190] = sp1[1108] * sp1[1172];
+ sp1[1191] = sp1[1109] * sp1[1172];
+ sp1[1192] = sp1[1110] * sp1[1172];
+ sp1[1193] = sp1[1111] * sp1[1172];
+ sp1[1194] = sp1[1112] * sp1[1172];
+ sp1[1195] = sp1[1113] * sp1[1172];
+ sp1[1196] = sp1[1114] * sp1[1172];
+ sp1[1197] = sp1[1115] * sp1[1172];
+ sp1[1198] = sp1[1116] * sp1[1172];
+ sp1[1199] = sp1[1117] * sp1[1172];
+ sp1[1200] = sp1[1118] * sp1[1172];
+ sp1[1201] = sp1[1119] * sp1[1172];
+ sp1[1202] = sp1[1120] * sp1[1172];
+ sp1[1203] = sp1[1121] * sp1[1172];
+ sp1[1204] = sp1[1122] * sp1[1172];
+ sp1[1205] = sp1[1123] * sp1[1172];
+ sp1[1206] = sp1[1124] * sp1[1172];
+ sp1[1207] = sp1[1125] * sp1[1172];
+ sp1[1208] = sp1[1126] * sp1[1172];
+ sp1[1209] = sp1[1127] * sp1[1172];
+ sp1[1210] = sp1[1128] * sp1[1172];
+ sp1[1211] = sp1[1129] * sp1[1172];
+ sp1[1212] = sp1[1130] * sp1[1172];
+ sp1[1213] = sp1[1131] * sp1[1172];
+ sp1[1214] = sp1[1132] * sp1[1172];
+ sp1[1215] = sp1[1133] * sp1[1172];
+ sp1[1216] = sp1[1134] * sp1[1172];
+ sp1[1217] = sp1[1135] * sp1[1172];
+ sp1[1218] = sp1[1136] * sp1[1172];
+ sp1[1219] = sp1[1137] * sp1[1172];
+ sp1[1220] = sp1[1138] * sp1[1172];
+ sp1[1221] = sp1[1139] * sp1[1172];
+ sp1[1222] = sp1[1140] * sp1[1172];
+ sp1[1223] = sp1[1141] * sp1[1172];
+ sp1[1224] = sp1[1142] * sp1[1172];
+ sp1[1225] = sp1[1143] * sp1[1172];
+ sp1[1226] = sp1[1144] * sp1[1172];
+ sp1[1227] = sp1[1145] * sp1[1172];
+ sp1[1228] = sp1[1146] * sp1[1172];
+ sp1[1229] = sp1[1147] * sp1[1172];
+ sp1[1230] = sp1[1148] * sp1[1172];
+ sp1[1231] = sp1[1149] * sp1[1172];
+ sp1[1232] = sp1[1150] * sp1[1172];
+ sp1[1233] = sp1[1151] * sp1[1172];
+ sp1[1234] = sp1[1152] * sp1[1172];
+ sp1[1235] = sp1[1153] * sp1[1172];
+ sp1[1236] = sp1[1154] * sp1[1172];
+ sp1[1237] = sp1[1155] * sp1[1172];
+ sp1[1238] = sp1[1156] * sp1[1172];
+ sp1[1239] = sp1[1157] * sp1[1172];
+ sp1[1240] = sp1[1158] * sp1[1172];
+ sp1[1241] = sp1[1159] * sp1[1172];
+ sp1[1242] = sp1[1160] * sp1[1172];
+ sp1[1243] = sp1[1161] * sp1[1172];
+ sp1[1244] = sp1[1162] * sp1[1172];
+ sp1[1245] = sp1[1163] * sp1[1172];
+ sp1[1246] = sp1[1164] * sp1[1172];
+ sp1[1247] = sp1[1165] * sp1[1172];
+ sp1[1248] = sp1[1166] * sp1[1172];
+ sp1[1249] = sp1[1167] * sp1[1172];
+ sp1[1250] = sp1[1168] * sp1[1172];
+ sp1[1251] = sp1[1169] * sp1[1172];
+ sp1[1252] = sp1[1170] * sp1[1172];
+ sp1[1253] = sp1[1171] * sp1[1172];
+ sp1[1254] = sp1[1010] + sp1[1173];
+ sp1[1255] = sp1[1019] + sp1[1174];
+ sp1[1256] = sp1[1028] + sp1[1175];
+ sp1[1257] = sp1[1037] + sp1[1176];
+ sp1[1258] = sp1[1046] + sp1[1177];
+ sp1[1259] = sp1[1055] + sp1[1178];
+ sp1[1260] = sp1[1064] + sp1[1179];
+ sp1[1261] = sp1[1073] + sp1[1180];
+ sp1[1262] = sp1[1082] + sp1[1181];
+ sp1[1263] = sp1[1011] + sp1[1182];
+ sp1[1264] = sp1[1020] + sp1[1183];
+ sp1[1265] = sp1[1029] + sp1[1184];
+ sp1[1266] = sp1[1038] + sp1[1185];
+ sp1[1267] = sp1[1047] + sp1[1186];
+ sp1[1268] = sp1[1056] + sp1[1187];
+ sp1[1269] = sp1[1065] + sp1[1188];
+ sp1[1270] = sp1[1074] + sp1[1189];
+ sp1[1271] = sp1[1083] + sp1[1190];
+ sp1[1272] = sp1[1012] + sp1[1191];
+ sp1[1273] = sp1[1021] + sp1[1192];
+ sp1[1274] = sp1[1030] + sp1[1193];
+ sp1[1275] = sp1[1039] + sp1[1194];
+ sp1[1276] = sp1[1048] + sp1[1195];
+ sp1[1277] = sp1[1057] + sp1[1196];
+ sp1[1278] = sp1[1066] + sp1[1197];
+ sp1[1279] = sp1[1075] + sp1[1198];
+ sp1[1280] = sp1[1084] + sp1[1199];
+ sp1[1281] = sp1[1013] + sp1[1200];
+ sp1[1282] = sp1[1014] + sp1[1201];
+ sp1[1283] = sp1[1015] + sp1[1202];
+ sp1[1284] = sp1[1016] + sp1[1203];
+ sp1[1285] = sp1[1017] + sp1[1204];
+ sp1[1286] = sp1[1018] + sp1[1205];
+ sp1[1287] = sp1[1022] + sp1[1206];
+ sp1[1288] = sp1[1023] + sp1[1207];
+ sp1[1289] = sp1[1024] + sp1[1208];
+ sp1[1290] = sp1[1025] + sp1[1209];
+ sp1[1291] = sp1[1026] + sp1[1210];
+ sp1[1292] = sp1[1027] + sp1[1211];
+ sp1[1293] = sp1[1031] + sp1[1212];
+ sp1[1294] = sp1[1032] + sp1[1213];
+ sp1[1295] = sp1[1033] + sp1[1214];
+ sp1[1296] = sp1[1034] + sp1[1215];
+ sp1[1297] = sp1[1035] + sp1[1216];
+ sp1[1298] = sp1[1036] + sp1[1217];
+ sp1[1299] = sp1[1040] + sp1[1218];
+ sp1[1300] = sp1[1041] + sp1[1219];
+ sp1[1301] = sp1[1042] + sp1[1220];
+ sp1[1302] = sp1[1043] + sp1[1221];
+ sp1[1303] = sp1[1044] + sp1[1222];
+ sp1[1304] = sp1[1045] + sp1[1223];
+ sp1[1305] = sp1[1049] + sp1[1224];
+ sp1[1306] = sp1[1050] + sp1[1225];
+ sp1[1307] = sp1[1051] + sp1[1226];
+ sp1[1308] = sp1[1052] + sp1[1227];
+ sp1[1309] = sp1[1053] + sp1[1228];
+ sp1[1310] = sp1[1054] + sp1[1229];
+ sp1[1311] = sp1[1058] + sp1[1230];
+ sp1[1312] = sp1[1059] + sp1[1231];
+ sp1[1313] = sp1[1060] + sp1[1232];
+ sp1[1314] = sp1[1061] + sp1[1233];
+ sp1[1315] = sp1[1062] + sp1[1234];
+ sp1[1316] = sp1[1063] + sp1[1235];
+ sp1[1317] = sp1[1067] + sp1[1236];
+ sp1[1318] = sp1[1076] + sp1[1237];
+ sp1[1319] = sp1[1085] + sp1[1238];
+ sp1[1320] = sp1[1068] + sp1[1239];
+ sp1[1321] = sp1[1077] + sp1[1240];
+ sp1[1322] = sp1[1086] + sp1[1241];
+ sp1[1323] = sp1[1069] + sp1[1242];
+ sp1[1324] = sp1[1078] + sp1[1243];
+ sp1[1325] = sp1[1087] + sp1[1244];
+ sp1[1326] = sp1[1070] + sp1[1245];
+ sp1[1327] = sp1[1079] + sp1[1246];
+ sp1[1328] = sp1[1088] + sp1[1247];
+ sp1[1329] = sp1[1071] + sp1[1248];
+ sp1[1330] = sp1[1080] + sp1[1249];
+ sp1[1331] = sp1[1089] + sp1[1250];
+ sp1[1332] = sp1[1072] + sp1[1251];
+ sp1[1333] = sp1[1081] + sp1[1252];
+ sp1[1334] = sp1[1090] + sp1[1253];
+ sp1[1335] = w[2][0] / 2;
+ sp1[1336] = sp1[1254] * sp1[1335];
+ sp1[1337] = sp1[1255] * sp1[1335];
+ sp1[1338] = sp1[1256] * sp1[1335];
+ sp1[1339] = sp1[1257] * sp1[1335];
+ sp1[1340] = sp1[1258] * sp1[1335];
+ sp1[1341] = sp1[1259] * sp1[1335];
+ sp1[1342] = sp1[1260] * sp1[1335];
+ sp1[1343] = sp1[1261] * sp1[1335];
+ sp1[1344] = sp1[1262] * sp1[1335];
+ sp1[1345] = sp1[1263] * sp1[1335];
+ sp1[1346] = sp1[1264] * sp1[1335];
+ sp1[1347] = sp1[1265] * sp1[1335];
+ sp1[1348] = sp1[1266] * sp1[1335];
+ sp1[1349] = sp1[1267] * sp1[1335];
+ sp1[1350] = sp1[1268] * sp1[1335];
+ sp1[1351] = sp1[1269] * sp1[1335];
+ sp1[1352] = sp1[1270] * sp1[1335];
+ sp1[1353] = sp1[1271] * sp1[1335];
+ sp1[1354] = sp1[1272] * sp1[1335];
+ sp1[1355] = sp1[1273] * sp1[1335];
+ sp1[1356] = sp1[1274] * sp1[1335];
+ sp1[1357] = sp1[1275] * sp1[1335];
+ sp1[1358] = sp1[1276] * sp1[1335];
+ sp1[1359] = sp1[1277] * sp1[1335];
+ sp1[1360] = sp1[1278] * sp1[1335];
+ sp1[1361] = sp1[1279] * sp1[1335];
+ sp1[1362] = sp1[1280] * sp1[1335];
+ sp1[1363] = sp1[1281] * sp1[1335];
+ sp1[1364] = sp1[1282] * sp1[1335];
+ sp1[1365] = sp1[1283] * sp1[1335];
+ sp1[1366] = sp1[1284] * sp1[1335];
+ sp1[1367] = sp1[1285] * sp1[1335];
+ sp1[1368] = sp1[1286] * sp1[1335];
+ sp1[1369] = sp1[1287] * sp1[1335];
+ sp1[1370] = sp1[1288] * sp1[1335];
+ sp1[1371] = sp1[1289] * sp1[1335];
+ sp1[1372] = sp1[1290] * sp1[1335];
+ sp1[1373] = sp1[1291] * sp1[1335];
+ sp1[1374] = sp1[1292] * sp1[1335];
+ sp1[1375] = sp1[1293] * sp1[1335];
+ sp1[1376] = sp1[1294] * sp1[1335];
+ sp1[1377] = sp1[1295] * sp1[1335];
+ sp1[1378] = sp1[1296] * sp1[1335];
+ sp1[1379] = sp1[1297] * sp1[1335];
+ sp1[1380] = sp1[1298] * sp1[1335];
+ sp1[1381] = sp1[1299] * sp1[1335];
+ sp1[1382] = sp1[1300] * sp1[1335];
+ sp1[1383] = sp1[1301] * sp1[1335];
+ sp1[1384] = sp1[1302] * sp1[1335];
+ sp1[1385] = sp1[1303] * sp1[1335];
+ sp1[1386] = sp1[1304] * sp1[1335];
+ sp1[1387] = sp1[1305] * sp1[1335];
+ sp1[1388] = sp1[1306] * sp1[1335];
+ sp1[1389] = sp1[1307] * sp1[1335];
+ sp1[1390] = sp1[1308] * sp1[1335];
+ sp1[1391] = sp1[1309] * sp1[1335];
+ sp1[1392] = sp1[1310] * sp1[1335];
+ sp1[1393] = sp1[1311] * sp1[1335];
+ sp1[1394] = sp1[1312] * sp1[1335];
+ sp1[1395] = sp1[1313] * sp1[1335];
+ sp1[1396] = sp1[1314] * sp1[1335];
+ sp1[1397] = sp1[1315] * sp1[1335];
+ sp1[1398] = sp1[1316] * sp1[1335];
+ sp1[1399] = sp1[1317] * sp1[1335];
+ sp1[1400] = sp1[1318] * sp1[1335];
+ sp1[1401] = sp1[1319] * sp1[1335];
+ sp1[1402] = sp1[1320] * sp1[1335];
+ sp1[1403] = sp1[1321] * sp1[1335];
+ sp1[1404] = sp1[1322] * sp1[1335];
+ sp1[1405] = sp1[1323] * sp1[1335];
+ sp1[1406] = sp1[1324] * sp1[1335];
+ sp1[1407] = sp1[1325] * sp1[1335];
+ sp1[1408] = sp1[1326] * sp1[1335];
+ sp1[1409] = sp1[1327] * sp1[1335];
+ sp1[1410] = sp1[1328] * sp1[1335];
+ sp1[1411] = sp1[1329] * sp1[1335];
+ sp1[1412] = sp1[1330] * sp1[1335];
+ sp1[1413] = sp1[1331] * sp1[1335];
+ sp1[1414] = sp1[1332] * sp1[1335];
+ sp1[1415] = sp1[1333] * sp1[1335];
+ sp1[1416] = sp1[1334] * sp1[1335];
+ sp1[1417] = sp1[838] + sp1[1336];
+ sp1[1418] = sp1[839] + sp1[1337];
+ sp1[1419] = sp1[840] + sp1[1338];
+ sp1[1420] = sp1[974] + sp1[1339];
+ sp1[1421] = sp1[975] + sp1[1340];
+ sp1[1422] = sp1[976] + sp1[1341];
+ sp1[1423] = sp1[844] + sp1[1342];
+ sp1[1424] = sp1[845] + sp1[1343];
+ sp1[1425] = sp1[846] + sp1[1344];
+ sp1[1426] = sp1[847] + sp1[1345];
+ sp1[1427] = sp1[848] + sp1[1346];
+ sp1[1428] = sp1[849] + sp1[1347];
+ sp1[1429] = sp1[977] + sp1[1348];
+ sp1[1430] = sp1[978] + sp1[1349];
+ sp1[1431] = sp1[979] + sp1[1350];
+ sp1[1432] = sp1[853] + sp1[1351];
+ sp1[1433] = sp1[854] + sp1[1352];
+ sp1[1434] = sp1[855] + sp1[1353];
+ sp1[1435] = sp1[856] + sp1[1354];
+ sp1[1436] = sp1[857] + sp1[1355];
+ sp1[1437] = sp1[858] + sp1[1356];
+ sp1[1438] = sp1[980] + sp1[1357];
+ sp1[1439] = sp1[981] + sp1[1358];
+ sp1[1440] = sp1[982] + sp1[1359];
+ sp1[1441] = sp1[862] + sp1[1360];
+ sp1[1442] = sp1[863] + sp1[1361];
+ sp1[1443] = sp1[864] + sp1[1362];
+ sp1[1444] = sp1[983] + sp1[1363];
+ sp1[1445] = sp1[984] + sp1[1364];
+ sp1[1446] = sp1[985] + sp1[1365];
+ sp1[1447] = sp1[868] + sp1[1366];
+ sp1[1448] = sp1[869] + sp1[1367];
+ sp1[1449] = sp1[870] + sp1[1368];
+ sp1[1450] = sp1[986] + sp1[1369];
+ sp1[1451] = sp1[987] + sp1[1370];
+ sp1[1452] = sp1[988] + sp1[1371];
+ sp1[1453] = sp1[874] + sp1[1372];
+ sp1[1454] = sp1[875] + sp1[1373];
+ sp1[1455] = sp1[876] + sp1[1374];
+ sp1[1456] = sp1[989] + sp1[1375];
+ sp1[1457] = sp1[990] + sp1[1376];
+ sp1[1458] = sp1[991] + sp1[1377];
+ sp1[1459] = sp1[880] + sp1[1378];
+ sp1[1460] = sp1[881] + sp1[1379];
+ sp1[1461] = sp1[882] + sp1[1380];
+ sp1[1462] = sp1[883] + sp1[1381];
+ sp1[1463] = sp1[884] + sp1[1382];
+ sp1[1464] = sp1[885] + sp1[1383];
+ sp1[1465] = sp1[886] + sp1[1384];
+ sp1[1466] = sp1[887] + sp1[1385];
+ sp1[1467] = sp1[888] + sp1[1386];
+ sp1[1468] = sp1[889] + sp1[1387];
+ sp1[1469] = sp1[890] + sp1[1388];
+ sp1[1470] = sp1[891] + sp1[1389];
+ sp1[1471] = sp1[892] + sp1[1390];
+ sp1[1472] = sp1[893] + sp1[1391];
+ sp1[1473] = sp1[894] + sp1[1392];
+ sp1[1474] = sp1[895] + sp1[1393];
+ sp1[1475] = sp1[896] + sp1[1394];
+ sp1[1476] = sp1[897] + sp1[1395];
+ sp1[1477] = sp1[898] + sp1[1396];
+ sp1[1478] = sp1[899] + sp1[1397];
+ sp1[1479] = sp1[900] + sp1[1398];
+ sp1[1480] = sp1[901] + sp1[1399];
+ sp1[1481] = sp1[902] + sp1[1400];
+ sp1[1482] = sp1[903] + sp1[1401];
+ sp1[1483] = sp1[904] + sp1[1402];
+ sp1[1484] = sp1[905] + sp1[1403];
+ sp1[1485] = sp1[906] + sp1[1404];
+ sp1[1486] = sp1[907] + sp1[1405];
+ sp1[1487] = sp1[908] + sp1[1406];
+ sp1[1488] = sp1[909] + sp1[1407];
+ sp1[1489] = sp1[992] + sp1[1408];
+ sp1[1490] = sp1[993] + sp1[1409];
+ sp1[1491] = sp1[994] + sp1[1410];
+ sp1[1492] = sp1[995] + sp1[1411];
+ sp1[1493] = sp1[996] + sp1[1412];
+ sp1[1494] = sp1[997] + sp1[1413];
+ sp1[1495] = sp1[998] + sp1[1414];
+ sp1[1496] = sp1[999] + sp1[1415];
+ sp1[1497] = sp1[1000] + sp1[1416];
+ sp1[1498] = std::abs(sp1[16]);
+ // Only 1 quadrature point, no loop
+ {
+ // Quadrature loop body setup (num_points=1)
+ // Unstructured varying computations
+ alignas(32) double sv1[82];
+ sv1[0] = weights1[0] * sp1[1498];
+ sv1[1] = sp1[1417] * sv1[0];
+ sv1[2] = sp1[1418] * sv1[0];
+ sv1[3] = sp1[1419] * sv1[0];
+ sv1[4] = sp1[1420] * sv1[0];
+ sv1[5] = sp1[1421] * sv1[0];
+ sv1[6] = sp1[1422] * sv1[0];
+ sv1[7] = sp1[1423] * sv1[0];
+ sv1[8] = sp1[1424] * sv1[0];
+ sv1[9] = sp1[1425] * sv1[0];
+ sv1[10] = sp1[1426] * sv1[0];
+ sv1[11] = sp1[1427] * sv1[0];
+ sv1[12] = sp1[1428] * sv1[0];
+ sv1[13] = sp1[1429] * sv1[0];
+ sv1[14] = sp1[1430] * sv1[0];
+ sv1[15] = sp1[1431] * sv1[0];
+ sv1[16] = sp1[1432] * sv1[0];
+ sv1[17] = sp1[1433] * sv1[0];
+ sv1[18] = sp1[1434] * sv1[0];
+ sv1[19] = sp1[1435] * sv1[0];
+ sv1[20] = sp1[1436] * sv1[0];
+ sv1[21] = sp1[1437] * sv1[0];
+ sv1[22] = sp1[1438] * sv1[0];
+ sv1[23] = sp1[1439] * sv1[0];
+ sv1[24] = sp1[1440] * sv1[0];
+ sv1[25] = sp1[1441] * sv1[0];
+ sv1[26] = sp1[1442] * sv1[0];
+ sv1[27] = sp1[1443] * sv1[0];
+ sv1[28] = sp1[1444] * sv1[0];
+ sv1[29] = sp1[1445] * sv1[0];
+ sv1[30] = sp1[1446] * sv1[0];
+ sv1[31] = sp1[1447] * sv1[0];
+ sv1[32] = sp1[1448] * sv1[0];
+ sv1[33] = sp1[1449] * sv1[0];
+ sv1[34] = sp1[1450] * sv1[0];
+ sv1[35] = sp1[1451] * sv1[0];
+ sv1[36] = sp1[1452] * sv1[0];
+ sv1[37] = sp1[1453] * sv1[0];
+ sv1[38] = sp1[1454] * sv1[0];
+ sv1[39] = sp1[1455] * sv1[0];
+ sv1[40] = sp1[1456] * sv1[0];
+ sv1[41] = sp1[1457] * sv1[0];
+ sv1[42] = sp1[1458] * sv1[0];
+ sv1[43] = sp1[1459] * sv1[0];
+ sv1[44] = sp1[1460] * sv1[0];
+ sv1[45] = sp1[1461] * sv1[0];
+ sv1[46] = sp1[1462] * sv1[0];
+ sv1[47] = sp1[1463] * sv1[0];
+ sv1[48] = sp1[1464] * sv1[0];
+ sv1[49] = sp1[1465] * sv1[0];
+ sv1[50] = sp1[1466] * sv1[0];
+ sv1[51] = sp1[1467] * sv1[0];
+ sv1[52] = sp1[1468] * sv1[0];
+ sv1[53] = sp1[1469] * sv1[0];
+ sv1[54] = sp1[1470] * sv1[0];
+ sv1[55] = sp1[1471] * sv1[0];
+ sv1[56] = sp1[1472] * sv1[0];
+ sv1[57] = sp1[1473] * sv1[0];
+ sv1[58] = sp1[1474] * sv1[0];
+ sv1[59] = sp1[1475] * sv1[0];
+ sv1[60] = sp1[1476] * sv1[0];
+ sv1[61] = sp1[1477] * sv1[0];
+ sv1[62] = sp1[1478] * sv1[0];
+ sv1[63] = sp1[1479] * sv1[0];
+ sv1[64] = sp1[1480] * sv1[0];
+ sv1[65] = sp1[1481] * sv1[0];
+ sv1[66] = sp1[1482] * sv1[0];
+ sv1[67] = sp1[1483] * sv1[0];
+ sv1[68] = sp1[1484] * sv1[0];
+ sv1[69] = sp1[1485] * sv1[0];
+ sv1[70] = sp1[1486] * sv1[0];
+ sv1[71] = sp1[1487] * sv1[0];
+ sv1[72] = sp1[1488] * sv1[0];
+ sv1[73] = sp1[1489] * sv1[0];
+ sv1[74] = sp1[1490] * sv1[0];
+ sv1[75] = sp1[1491] * sv1[0];
+ sv1[76] = sp1[1492] * sv1[0];
+ sv1[77] = sp1[1493] * sv1[0];
+ sv1[78] = sp1[1494] * sv1[0];
+ sv1[79] = sp1[1495] * sv1[0];
+ sv1[80] = sp1[1496] * sv1[0];
+ sv1[81] = sp1[1497] * sv1[0];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[73] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[76] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[79] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[64] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[67] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[70] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[7] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[16] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[25] * FE36_C0_D100_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[74] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[77] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[80] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[65] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[68] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[71] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[8] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[17] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[26] * FE36_C0_D010_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[75] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
{
- // Number of operations to compute entry: 3417
- A[j*12 + k] += (((((((((((((((((K[0]*FE1_C1_D100[0][k] + K[3]*FE1_C1_D010[0][k] + K[6]*FE1_C1_D001[0][k]))*(((K[2]*F1 + K[5]*F2 + K[8]*F3) + 1.0)) + ((K[2]*FE1_C2_D100[0][k] + K[5]*FE1_C2_D010[0][k] + K[8]*FE1_C2_D001[0][k]))*((K[0]*F4 + K[3]*F5 + K[6]*F6))))*(-1.0) + (((K[0]*FE1_C2_D100[0][k] + K[3]*FE1_C2_D010[0][k] + K[6]*FE1_C2_D001[0][k]))*((K[2]*F4 + K[5]*F5 + K[8]*F6)) + ((K[2]*FE1_C1_D100[0][k] + K[5]*FE1_C1_D010[0][k] + K[8]*FE1_C1_D001[0][k]))*((K[0]*F1 + K[3]*F2 + K[ [...]
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[78] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[81] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[66] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[69] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[72] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[9] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[18] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 0; ia0 < 4; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[27] * FE36_C0_D001_Q1[0][0][ia0 - 0] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[31] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[32] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[33] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[28] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[29] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[30] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[1] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[10] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[19] * FE36_C0_D100_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[37] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[38] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[39] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[34] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[35] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[36] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[2] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[11] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 7; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[20] * FE36_C0_D010_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[43] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[44] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[45] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[40] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[41] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[42] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[3] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[12] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 4; ia0 < 8; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[21] * FE36_C0_D001_Q1[0][0][ia0 - 4] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[49] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[50] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[51] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[46] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[47] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[48] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[4] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[13] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 10; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[22] * FE36_C0_D100_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[55] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[56] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[57] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[52] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[53] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[54] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[5] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[14] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 11; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[23] * FE36_C0_D010_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[61] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[62] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 4; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[63] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 6; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[58] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 7; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[59] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 4; ia1 < 8; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[60] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 4];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 10; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[6] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D100_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 11; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[15] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D010_Q1[0][0][ia1 - 8];
+ }
+ }
+ for (int ia0 = 8; ia0 < 12; ++ia0)
+ {
+ for (int ia1 = 8; ia1 < 12; ++ia1)
+ {
+ A[12 * ia0 + ia1] += sv1[24] * FE36_C0_D001_Q1[0][0][ia0 - 8] * FE36_C0_D001_Q1[0][0][ia1 - 8];
+ }
+ }
+ }
}
};
@@ -6531,10 +9634,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6550,10 +9653,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6818,10 +9921,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6837,10 +9940,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/hyperelasticity/cpp/compile.log b/demo/documented/hyperelasticity/cpp/compile.log
deleted file mode 100644
index 7b72a35..0000000
--- a/demo/documented/hyperelasticity/cpp/compile.log
+++ /dev/null
@@ -1,1319 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form HyperElasticity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_3, w_4]'
- Unique elements: 'Vector<3 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_3, w_4]'
- Unique elements: 'Vector<3 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.200946 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {4: {FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1., 1., 1., 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.11022302e-16, -1.11022302e-16, -2.77555756e-16,
- -1.11022302e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.5854102, 0.1381966, 0.1381966]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966]]]), (0, 0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, -5.55111512e-17, -3.33066907e-16,
- -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, -1.11022302e-16,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -3.33066907e-16, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -3.33066907e-16, -1.11022302e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -2.77555756e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -2.77555756e-16, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -3.33066907e-16,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0': 'FE0', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C1_D001': 'FE1_C1_D001'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 0.1381966, 0.5854102, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.5854102, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.1381966, 0.1381966, 0.1381966, 0.5854102, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.5854102, 0.1381966, 0.1381966, 0.1381966, 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.1381966,
- 0.5854102, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.5854102, 0.1381966, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.1381966,
- 0.1381966, 0.1381966, 0.5854102, 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0.5854102,
- 0.1381966, 0.1381966, 0.1381966, 0. , 0. ,
- 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.5854102,
- 0.1381966, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.5854102, 0.1381966],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.1381966, 0.1381966,
- 0.1381966, 0.5854102],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0.5854102, 0.1381966,
- 0.1381966, 0.1381966]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 0., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 0., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 0., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 0., 1.]]), 'FE1_C0_D010': array([[-1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1_D010': array([[ 0., 0., 0., 0., -1., 0., 1., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 1., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 1., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 1., 0., 0., 0., 0., 0.]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C2_D010': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 1., 0.]]), 'FE1_C1_D001': array([[ 0., 0., 0., 0., -1., 0., 0., 1., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 0., 1., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 0., 1., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., -1., 0., 0., 1., 0., 0., 0., 0.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (), False, False), 'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C2': ('FE1_C2', (), False, False), 'FE1_C0_D100': ('FE1_C0_D100', (), False, False), 'FE1_C2_D001': ('FE1_C2_D001', (), False, False), 'FE1_C0_D010': ('FE1_C0_D010', (), False, False), 'FE1_C1_D010': ('FE1_C1_D010', (), False, False), 'FE1_C1_D100': ('FE1_C1_D100', (), False, False), 'FE1_C2_D100': ('FE1_C2_D100', (), False, False), 'FE0': ('FE0', (), [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00199 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00177 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00179 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00178 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0': 'FE0', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C1_D001': 'FE1_C1_D001'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 0., 0., 1.]]), 'FE1_C0_D010': array([[-1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1_D010': array([[ 0., 0., 0., 0., -1., 0., 1., 0., 0., 0., 0., 0.]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., [...]
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (), False, False), 'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C2': ('FE1_C2', (), False, False), 'FE1_C0_D100': ('FE1_C0_D100', (), False, False), 'FE1_C2_D001': ('FE1_C2_D001', (), False, False), 'FE1_C0_D010': ('FE1_C0_D010', (), False, False), 'FE1_C1_D010': ('FE1_C1_D010', (), False, False), 'FE1_C1_D100': ('FE1_C1_D100', (), False, False), 'FE1_C2_D100': ('FE1_C2_D100', (), False, False), 'FE0': ('FE0', (), [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.276255 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Skipping optimizations, add -O to optimize
-
-Compiler stage 3 finished in 0.00029397 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.335966 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00114083 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00134301 seconds.
-
-FFC finished in 0.816488 seconds.
-Output written to ./HyperElasticity.h.
diff --git a/demo/documented/hyperelasticity/python/demo_hyperelasticity.py b/demo/documented/hyperelasticity/python/demo_hyperelasticity.py
index 7fdae17..59a431c 100644
--- a/demo/documented/hyperelasticity/python/demo_hyperelasticity.py
+++ b/demo/documented/hyperelasticity/python/demo_hyperelasticity.py
@@ -1,33 +1,27 @@
-""" This demo program solves a hyperelastic problem. It is implemented
-in Python by Johan Hake following the C++ demo by Harish Narayanan"""
-
-# Copyright (C) 2008-2010 Johan Hake and Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Harish Narayanan 2009
-# Modified by Anders Logg 2011
-#
-# First added: 2009-10-11
-# Last changed: 2012-11-12
-
-# Begin demo
+#
+# .. _demo_hyperelasticity:
+#
+# Hyperelasticity
+# ===============
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_hyperelasticity.py`, which contains both the
+# variational forms and the solver.
+#
+# Implementation
+# --------------
+#
+# This demo is implemented in the :download:`demo_hyperelasticity.py`
+# file.
+#
+# First, the :py:mod:`dolfin` module is imported ::
from dolfin import *
+# The behavior of the form compiler FFC can be adjusted by prescribing
+# various parameters. Here, we want to use some of the optimization
+# features. ::
+
# Optimization options for the form compiler
parameters["form_compiler"]["cpp_optimize"] = True
ffc_options = {"optimize": True, \
@@ -35,14 +29,52 @@ ffc_options = {"optimize": True, \
"precompute_basis_const": True, \
"precompute_ip_const": True}
+# The first line tells the form compiler to use C++ compiler optimizations when
+# compiling the generated code. The remainder is a dictionary of options which
+# will be passed to the form compiler. It lists the optimizations strategies
+# that we wish the form compiler to use when generating code.
+#
+# .. index:: VectorFunctionSpace
+#
+# First, we need a tetrahedral mesh of the domain and a function space
+# on this mesh. Here, we choose to create a unit cube mesh with 25 ( =
+# 24 + 1) vertices in one direction and 17 ( = 16 + 1) vertices in the
+# other two direction. On this mesh, we define a function space of
+# continuous piecewise linear vector polynomials (a Lagrange vector
+# element space) ::
+
# Create mesh and define function space
mesh = UnitCubeMesh(24, 16, 16)
V = VectorFunctionSpace(mesh, "Lagrange", 1)
+# Note that :py:class:`VectorFunctionSpace
+# <dolfin.functions.functionspace.VectorFunctionSpace>` creates a
+# function space of vector fields. The dimension of the vector field
+# (the number of components) is assumed to be the same as the spatial
+# dimension, unless otherwise specified.
+#
+# .. index:: compiled subdomain
+#
+# The portions of the boundary on which Dirichlet boundary conditions
+# will be applied are now defined ::
+
# Mark boundary subdomians
left = CompiledSubDomain("near(x[0], side) && on_boundary", side = 0.0)
right = CompiledSubDomain("near(x[0], side) && on_boundary", side = 1.0)
+# The boundary subdomain ``left`` corresponds to the part of the
+# boundary on which :math:`x=0` and the boundary subdomain ``right``
+# corresponds to the part of the boundary on which :math:`x=1`. Note
+# that C++ syntax is used in the :py:func:`CompiledSubDomain`
+# <dolfin.compilemodules.subdomains.CompiledSubDomain>` function since
+# the function will be automatically compiled into C++ code for
+# efficiency. The (built-in) variable ``on_boundary`` is true for points
+# on the boundary of a domain, and false otherwise.
+#
+# .. index:: compiled expression
+#
+# The Dirichlet boundary values are defined using compiled expressions ::
+
# Define Dirichlet boundary (x = 0 or x = 1)
c = Constant((0.0, 0.0, 0.0))
r = Expression(("scale*0.0",
@@ -50,10 +82,29 @@ r = Expression(("scale*0.0",
"scale*(z0 + (x[1] - y0)*sin(theta) + (x[2] - z0)*cos(theta) - x[2])"),
scale = 0.5, y0 = 0.5, z0 = 0.5, theta = pi/3, degree=2)
+# Note the use of setting named parameters in the :py:class:`Expression
+# <dolfin.functions.expression.Expression>` for ``r``.
+#
+# The boundary subdomains and the boundary condition expressions are
+# collected together in two :py:class:`DirichletBC
+# <dolfin.fem.bcs.DirichletBC>` objects, one for each part of the
+# Dirichlet boundary ::
+
bcl = DirichletBC(V, c, left)
bcr = DirichletBC(V, r, right)
bcs = [bcl, bcr]
+# The Dirichlet (essential) boundary conditions are constraints on the
+# function space :math:`V`. The function space is therefore required as
+# an argument to :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>`.
+#
+# .. index:: TestFunction, TrialFunction, Constant
+#
+# Trial and test functions, and the most recent approximate displacement
+# ``u`` are defined on the finite element space ``V``, and two objects
+# of type :py:class:`Constant <dolfin.functions.constant.Constant>` are
+# declared for the body force (``B``) and traction (``T``) terms ::
+
# Define functions
du = TrialFunction(V) # Incremental displacement
v = TestFunction(V) # Test function
@@ -61,6 +112,16 @@ u = Function(V) # Displacement from previous iteration
B = Constant((0.0, -0.5, 0.0)) # Body force per unit volume
T = Constant((0.1, 0.0, 0.0)) # Traction force on the boundary
+# In place of :py:class:`Constant <dolfin.functions.constant.Constant>`,
+# it is also possible to use ``as_vector``, e.g. ``B = as_vector( [0.0,
+# -0.5, 0.0] )``. The advantage of Constant is that its values can be
+# changed without requiring re-generation and re-compilation of C++
+# code. On the other hand, using ``as_vector`` can eliminate some
+# function calls during assembly.
+#
+# With the functions defined, the kinematic quantities involved in the model
+# are defined using UFL syntax ::
+
# Kinematics
d = len(u)
I = Identity(d) # Identity tensor
@@ -71,6 +132,9 @@ C = F.T*F # Right Cauchy-Green tensor
Ic = tr(C)
J = det(F)
+# Next, the material parameters are set and the strain energy density
+# and the total potential energy are defined, again using UFL syntax ::
+
# Elasticity parameters
E, nu = 10.0, 0.3
mu, lmbda = Constant(E/(2*(1 + nu))), Constant(E*nu/((1 + nu)*(1 - 2*nu)))
@@ -81,16 +145,37 @@ psi = (mu/2)*(Ic - 3) - mu*ln(J) + (lmbda/2)*(ln(J))**2
# Total potential energy
Pi = psi*dx - dot(B, u)*dx - dot(T, u)*ds
+# Just as for the body force and traction vectors, :py:class:`Constant
+# <dolfin.functions.constant.Constant>` has been used for the model
+# parameters ``mu`` and ``lmbda`` to avoid re-generation of C++ code
+# when changing model parameters. Note that ``lambda`` is a reserved
+# keyword in Python, hence the misspelling ``lmbda``.
+#
+# .. index:: directional derivative; derivative, taking variations; derivative, automatic differentiation; derivative
+#
+# Directional derivatives are now computed of :math:`\Pi` and :math:`L`
+# (see :eq:`first_variation` and :eq:`second_variation`) ::
+
# Compute first variation of Pi (directional derivative about u in the direction of v)
F = derivative(Pi, u, v)
# Compute Jacobian of F
J = derivative(F, u, du)
+# The complete variational problem can now be solved by a single call to
+# :py:func:`solve <dolfin.fem.solving.solve>` ::
+
# Solve variational problem
solve(F == 0, u, bcs, J=J,
form_compiler_parameters=ffc_options)
+# The dictionary of form compiler options, which were defined initially,
+# is supplied using ``form_compiler_parameters = ffc_options``.
+#
+# Finally, the solution ``u`` is saved to a file named
+# ``displacement.pvd`` in VTK format, and the deformed mesh is plotted
+# to the screen ::
+
# Save solution in VTK format
file = File("displacement.pvd");
file << u;
diff --git a/demo/documented/hyperelasticity/python/documentation.rst b/demo/documented/hyperelasticity/python/demo_hyperelasticity.py.rst
similarity index 88%
rename from demo/documented/hyperelasticity/python/documentation.rst
rename to demo/documented/hyperelasticity/python/demo_hyperelasticity.py.rst
index 045278e..dc8ff1d 100644
--- a/demo/documented/hyperelasticity/python/documentation.rst
+++ b/demo/documented/hyperelasticity/python/demo_hyperelasticity.py.rst
@@ -1,6 +1,5 @@
-.. Documentation for the hyperelasticity demo from DOLFIN.
-.. _demo_pde_hyperelasticity_python_documentation:
+.. _demo_hyperelasticity:
Hyperelasticity
===============
@@ -9,25 +8,19 @@ This demo is implemented in a single Python file,
:download:`demo_hyperelasticity.py`, which contains both the
variational forms and the solver.
-.. include:: ../common.txt
-
Implementation
--------------
This demo is implemented in the :download:`demo_hyperelasticity.py`
file.
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
+First, the :py:mod:`dolfin` module is imported ::
from dolfin import *
The behavior of the form compiler FFC can be adjusted by prescribing
various parameters. Here, we want to use some of the optimization
-features.
-
-.. code-block:: python
+features. ::
# Optimization options for the form compiler
parameters["form_compiler"]["cpp_optimize"] = True
@@ -48,9 +41,7 @@ on this mesh. Here, we choose to create a unit cube mesh with 25 ( =
24 + 1) vertices in one direction and 17 ( = 16 + 1) vertices in the
other two direction. On this mesh, we define a function space of
continuous piecewise linear vector polynomials (a Lagrange vector
-element space):
-
-.. code-block:: python
+element space) ::
# Create mesh and define function space
mesh = UnitCubeMesh(24, 16, 16)
@@ -65,9 +56,7 @@ dimension, unless otherwise specified.
.. index:: compiled subdomain
The portions of the boundary on which Dirichlet boundary conditions
-will be applied are now defined:
-
-.. code-block:: python
+will be applied are now defined ::
# Mark boundary subdomians
left = CompiledSubDomain("near(x[0], side) && on_boundary", side = 0.0)
@@ -84,9 +73,7 @@ on the boundary of a domain, and false otherwise.
.. index:: compiled expression
-The Dirichlet boundary values are defined using compiled expressions:
-
-.. code-block:: python
+The Dirichlet boundary values are defined using compiled expressions ::
# Define Dirichlet boundary (x = 0 or x = 1)
c = Constant((0.0, 0.0, 0.0))
@@ -101,9 +88,7 @@ Note the use of setting named parameters in the :py:class:`Expression
The boundary subdomains and the boundary condition expressions are
collected together in two :py:class:`DirichletBC
<dolfin.fem.bcs.DirichletBC>` objects, one for each part of the
-Dirichlet boundary:
-
-.. code-block:: python
+Dirichlet boundary ::
bcl = DirichletBC(V, c, left)
bcr = DirichletBC(V, r, right)
@@ -118,9 +103,7 @@ an argument to :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>`.
Trial and test functions, and the most recent approximate displacement
``u`` are defined on the finite element space ``V``, and two objects
of type :py:class:`Constant <dolfin.functions.constant.Constant>` are
-declared for the body force (``B``) and traction (``T``) terms:
-
-.. code-block:: python
+declared for the body force (``B``) and traction (``T``) terms ::
# Define functions
du = TrialFunction(V) # Incremental displacement
@@ -137,9 +120,7 @@ code. On the other hand, using ``as_vector`` can eliminate some
function calls during assembly.
With the functions defined, the kinematic quantities involved in the model
-are defined using UFL syntax:
-
-.. code-block:: python
+are defined using UFL syntax ::
# Kinematics
d = len(u)
@@ -152,9 +133,7 @@ are defined using UFL syntax:
J = det(F)
Next, the material parameters are set and the strain energy density
-and the total potential energy are defined, again using UFL syntax:
-
-.. code-block:: python
+and the total potential energy are defined, again using UFL syntax ::
# Elasticity parameters
E, nu = 10.0, 0.3
@@ -175,9 +154,7 @@ keyword in Python, hence the misspelling ``lmbda``.
.. index:: directional derivative; derivative, taking variations; derivative, automatic differentiation; derivative
Directional derivatives are now computed of :math:`\Pi` and :math:`L`
-(see :eq:`first_variation` and :eq:`second_variation`):
-
-.. code-block:: python
+(see :eq:`first_variation` and :eq:`second_variation`) ::
# Compute first variation of Pi (directional derivative about u in the direction of v)
F = derivative(Pi, u, v)
@@ -186,9 +163,7 @@ Directional derivatives are now computed of :math:`\Pi` and :math:`L`
J = derivative(F, u, du)
The complete variational problem can now be solved by a single call to
-:py:func:`solve <dolfin.fem.solving.solve>`:
-
-.. code-block:: python
+:py:func:`solve <dolfin.fem.solving.solve>` ::
# Solve variational problem
solve(F == 0, u, bcs, J=J,
@@ -199,9 +174,7 @@ is supplied using ``form_compiler_parameters = ffc_options``.
Finally, the solution ``u`` is saved to a file named
``displacement.pvd`` in VTK format, and the deformed mesh is plotted
-to the screen:
-
-.. code-block:: python
+to the screen ::
# Save solution in VTK format
file = File("displacement.pvd");
@@ -209,10 +182,3 @@ to the screen:
# Plot and hold solution
plot(u, mode = "displacement", interactive = True)
-
-
-Complete code
--------------
-
-.. literalinclude:: demo_hyperelasticity.py
- :start-after: # Begin demo
diff --git a/demo/documented/maxwell-eigenvalues/cpp/README b/demo/documented/maxwell-eigenvalues/cpp/README
new file mode 100644
index 0000000..3a17715
--- /dev/null
+++ b/demo/documented/maxwell-eigenvalues/cpp/README
@@ -0,0 +1,2 @@
+There is as yet no C++ version of this demo.
+Please consider contributing the missing code.
diff --git a/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py b/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py
new file mode 100644
index 0000000..3acc937
--- /dev/null
+++ b/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py
@@ -0,0 +1,277 @@
+# -*- coding: utf-8 -*-
+
+# .. codeauthor:: Douglas N. Arnold <arnold at umn.edu>,
+# Patrick E. Farrell <patrick.farrell at maths.ox.ac.uk>
+#
+# Stable and unstable finite elements for the Maxwell eigenvalue problem
+# ======================================================================
+#
+# The Maxwell eigenvalue problem seeks eigenvalues :math:`\lambda` and
+# the corresponding nonzero vector-valued eigenfunctions :math:`u`
+# satisfying the partial differential equation
+#
+# .. math::
+# \operatorname{curl}\operatorname{curl} u = \lambda u \text{ in $\Omega$}
+#
+# (we have simplified slightly by setting the material parameters equal
+# to 1). The PDE is to be supplemented with boundary conditions, which
+# we take here to be the essential boundary condition
+#
+# .. math::
+# u \times n = 0 \text{ on $\partial\Omega$}.
+#
+# The eigenvalues :math:`\lambda` are all real and non-negative, but
+# only the positive ones are of interest, since, if :math:`\lambda >0`,
+# then it follows from the PDE that :math:`\operatorname{div} u = 0`,
+# which is also a requirement of Maxwell's equations. There exist, in
+# addition, an infinite-dimensional family of eigenfunctions with
+# eigenvalue :math:`\lambda=0`, since for any smooth function
+# :math:`\phi` vanishing to second order on the boundary,
+# :math:`u=\operatorname{grad}\phi` is such an eigenfunction. But these
+# functions are not divergence-free and should not be considered Maxwell
+# eigenfunctions.
+#
+# Model problem
+# -------------
+#
+# In this demo we shall consider the Maxwell eigenvalue problem in two
+# dimensions with the domain :math:`\Omega` taken to be the square
+# :math:`(0,\pi)\times(0,\pi)`, since in that case the exact eigenpairs
+# have a simple analytic expression. They are
+#
+# .. math::
+# u(x,y) = (\sin m x, \sin n y), \quad \lambda = m^2 + n^2,
+#
+# for any non-negative integers :math:`m` and :math:`n,` not both zero.
+# Thus the eigenvalues are
+#
+# .. math::
+# \lambda = 1, 1, 2, 4, 4, 5, 5, 8, 9, 9, 10, 10, 13, 13, \dots
+#
+# In the demo program we compute the 12 eigenvalues nearest 5.5, and so
+# should obtain the first 12 numbers on this list, ranging from 1 to 10.
+#
+# The weak formulation and the finite element method
+# --------------------------------------------------
+#
+# A weak formulation of the eigenvalue problem seeks :math:`0\ne u\in
+# H_0(\operatorname{curl})` and :math:`\lambda>0` such that
+#
+# .. math::
+# \int_{\Omega} \operatorname{curl} u\, \operatorname{curl}v\, {\rm d} x
+# = \lambda \int_{\Omega} u v\, {\rm d} x \quad \forall \ v\in H_0(\operatorname{curl}),
+#
+# where :math:`H_0(\operatorname{curl})` is the space of
+# square-integrable vector fields with square-integrable curl and
+# satisfying the essential boundary condition. If we replace
+# :math:`H_0(\operatorname{curl})` in this formulation by a finite
+# element subspace, we obtain a finite element method.
+#
+# Stable and unstable finite elements
+# -----------------------------------
+#
+# We consider here two possible choices of finite element spaces. The
+# first, the Nédélec edge elements, which are obtained in FEniCS as
+# ``FunctionSpace(mesh, 'H1curl', 1)``, are well suited to this problem
+# and give an accurate discretization. The second choice is simply the
+# vector-valued Lagrange piecewise linears: ``VectorFunctionSpace(mesh,
+# 'Lagrange', 1)``. To the uninitiated it usually comes as a surprise
+# that the Lagrange elements do not provide an accurate discretization
+# of the Maxwell eigenvalue problem: the computed eigenvalues do not
+# converge to the true ones as the mesh is refined! This is a subtle
+# matter connected to the stability theory of mixed finite element
+# methods. See `this paper
+# <http://umn.edu/~arnold/papers/icm2002.pdf>`_ for details.
+#
+# While the Nédélec elements behave stably for any mesh, the failure of
+# the Lagrange elements differs on different sorts of meshes. Here we
+# compute with two structured meshes, the first obtained from a
+# :math:`40\times 40` grid of squares by dividing each with its
+# positively-sloped diagonal, and the second the crossed mesh obtained
+# by dividing each subsquare into four using both diagonals. The output
+# from the first case is:
+#
+# .. code-block:: none
+#
+# diagonal mesh
+# Nédélec: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.01 8.98 8.99 9.99 9.99]
+# Lagrange: [ 5.16 5.26 5.26 5.30 5.39 5.45 5.53 5.61 5.61 5.62 5.71 5.73]
+# Exact: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.00 9.00 9.00 10.00 10.00]
+#
+# Note that the eigenvalues calculated using the Nédélec elements are
+# all correct to within a fraction of a percent. But the 12 eigenvalues
+# computed by the Lagrange elements are certainly all *wrong*, since
+# they are far from being integers!
+#
+# On the crossed mesh, we obtain a different mode of failure:
+#
+# .. code-block:: none
+#
+# crossed mesh
+# Nédélec: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 7.99 9.00 9.00 10.00 10.00]
+# Lagrange: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 6.00 8.01 9.01 9.01 10.02]
+# Exact: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.00 9.00 9.00 10.00 10.00]
+#
+# Again the Nédélec elements are accurate. The Lagrange elements also
+# approximate most of the eigenvalues well, but they return a *totally
+# spurious* value of 6.00 as well. If we were to compute more
+# eigenvalues, more spurious ones would be returned. This mode of
+# failure might be considered more dangerous, since it is harder to
+# spot.
+#
+# The implementation
+# ------------------
+#
+# **Preamble.** First we import ``dolfin`` and ``numpy`` and make sure
+# that dolfin has been configured with PETSc and SLEPc (since we depend
+# on the SLEPc eigenvalue solver). ::
+
+from dolfin import *
+import numpy as np
+if not has_linear_algebra_backend("PETSc"):
+ print("DOLFIN has not been configured with PETSc. Exiting.")
+ exit()
+if not has_slepc():
+ print("DOLFIN has not been configured with SLEPc. Exiting.")
+ exit()
+
+# **Function eigenvalues.**
+# The function ``eigenvalues`` takes the finite element space ``V`` and the
+# essential boundary conditions ``bcs`` for it, and returns a requested
+# set of Maxwell eigenvalues (specified in the code below)
+# as a sorted numpy array::
+
+def eigenvalues(V, bcs):
+
+# We start by defining the bilinear forms on the right- and left-hand
+# sides of the weak formulation::
+
+#
+ # Define the bilinear forms on the right- and left-hand sides
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ a = inner(curl(u), curl(v))*dx
+ b = inner(u, v)*dx
+
+# Next we assemble the bilinear forms ``a`` and ``b`` into PETSc
+# matrices ``A`` and ``B``, so the eigenvalue problem is converted into
+# a generalized matrix eigenvalue problem :math:`Ax=\lambda B x`.
+# During the assembly step the essential boundary conditions are
+# incorporated by modifying the rows and columns of the matrices corresponding to
+# constrained boundary degrees of freedom. We use ``assemble_system``
+# rather than ``assemble`` to do the assembly, since it maintains the
+# symmetry of the matrices. ``assemble_system`` is designed for source
+# problems, rather than eigenvalue problems, and requires a right-hand
+# side linear form, so we define a dummy form to feed it. ::
+
+#
+ # Assemble into PETSc matrices
+ dummy = v[0]*dx
+ A = PETScMatrix()
+ assemble_system(a, dummy, bcs, A_tensor=A)
+ B = PETScMatrix()
+ assemble_system(b, dummy, bcs, A_tensor=B)
+
+# We zero out the rows of :math:`B` corresponding to constrained
+# boundary degrees of freedom, so as not to introduce spurious
+# eigenpairs with nonzero boundary DOFs. ::
+
+#
+ [bc.zero(B) for bc in bcs]
+
+# Now we solve the generalized matrix eigenvalue problem using the SLEPc
+# package. The behavior of the ``SLEPcEigenSolver`` is controlled by a
+# parameter set (use ``info(solver, True)`` to see all possible
+# parameters). We use parameters to set the eigensolution method to
+# Krylov-Schur, which is good for computing a subset of the eigenvalues
+# of a sparse matrix, and to tell SLEPc that the matrices ``A`` and
+# ``B`` in the generalized eigenvalue problem are symmetric
+# (Hermitian). ::
+
+#
+ solver = SLEPcEigenSolver(A, B)
+ solver.parameters["solver"] = "krylov-schur"
+ solver.parameters["problem_type"] = "gen_hermitian"
+
+# We specify that we want 12 eigenvalues nearest in magnitude to a
+# target value of 5.5. Note that when the ``spectrum`` parameter is set
+# to ``target magnitude``, the ``spectral_transform`` parameter should
+# be set to ``shift-and-invert`` and the ``spectral_shift`` parameter
+# should be set equal to the target. ::
+
+#
+ solver.parameters["spectrum"] = "target magnitude"
+ solver.parameters["spectral_transform"] = "shift-and-invert"
+ solver.parameters["spectral_shift"] = 5.5
+ neigs = 12
+ solver.solve(neigs)
+
+# Finally we collect the computed eigenvalues in list which we convert
+# to a numpy array and sort before returning. Note that we are not
+# guaranteed to get the number of eigenvalues requested. The function
+# ``solver.get_number_converged()`` reports the actual number of
+# eigenvalues computed, which may be more or less than the number
+# requested. ::
+
+#
+ # Return the computed eigenvalues in a sorted array
+ computed_eigenvalues = []
+ for i in range(min(neigs, solver.get_number_converged())):
+ r, _ = solver.get_eigenvalue(i) # ignore the imaginary part
+ computed_eigenvalues.append(r)
+ return np.sort(np.array(computed_eigenvalues))
+
+# **Function print_eigenvalues.** Given just a mesh, the function
+# ``print_eigenvalues`` calls the preceding function ``eigenvalues`` to
+# solve the Maxwell eigenvalue problem for each of the two finite
+# element spaces, Nédélec and Lagrange, and prints the results, together
+# with the known exact eigenvalues::
+
+def print_eigenvalues(mesh):
+
+# First we define the Nédélec edge element space and the essential
+# boundary conditions for it, and call ``eigenvalues`` to compute the
+# eigenvalues. Since the degrees of freedom for the Nédélec space are
+# tangential components on element edges, we simply need to constrain
+# all the DOFs associated to boundary points to zero. ::
+
+#
+ nedelec_V = FunctionSpace(mesh, "N1curl", 1)
+ nedelec_bcs = [DirichletBC(nedelec_V, Constant((0.0, 0.0)), DomainBoundary())]
+ nedelec_eig = eigenvalues(nedelec_V, nedelec_bcs)
+
+# Then we do the same for the vector Lagrange elements. Since the
+# Lagrange DOFs are both components of the vector, we must specify which
+# component must vanish on which edges (the x-component on horizontal
+# edges and the y-component on vertical edges). ::
+
+#
+ lagrange_V = VectorFunctionSpace(mesh, "Lagrange", 1)
+ lagrange_bcs = [DirichletBC(lagrange_V.sub(1), 0, "near(x[0], 0) || near(x[0], pi)"),
+ DirichletBC(lagrange_V.sub(0), 0, "near(x[1], 0) || near(x[1], pi)")]
+ lagrange_eig = eigenvalues(lagrange_V, lagrange_bcs)
+
+# The true eigenvalues are just the 12 smallest numbers of the form
+# :math:`m^2 + n^2`, :math:`m,n\ge0`, not counting 0. ::
+
+#
+ true_eig = np.sort(np.array([float(m**2 + n**2) for m in range(6) for n in range(6)]))[1:13]
+
+# Finally we print the results::
+
+#
+ np.set_printoptions(formatter={'float': '{:5.2f}'.format})
+ print("Nedelec: {}".format(nedelec_eig))
+ print("Lagrange: {}".format(lagrange_eig))
+ print("Exact: {}".format(true_eig))
+
+# **Calling the functions.** To complete the program, we call
+# ``print_eigenvalues`` for each of two different meshes ::
+
+mesh = RectangleMesh(Point(0, 0), Point(pi, pi), 40, 40)
+print("\ndiagonal mesh")
+print_eigenvalues(mesh)
+
+mesh = RectangleMesh(Point(0, 0), Point(pi, pi), 40, 40, "crossed")
+print("\ncrossed mesh")
+print_eigenvalues(mesh)
diff --git a/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py.rst b/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py.rst
new file mode 100644
index 0000000..27c2975
--- /dev/null
+++ b/demo/documented/maxwell-eigenvalues/python/demo_maxwell-eigenvalues.py.rst
@@ -0,0 +1,277 @@
+.. # -*- coding: utf-8 -*-
+
+.. codeauthor:: Douglas N. Arnold <arnold at umn.edu>,
+ Patrick E. Farrell <patrick.farrell at maths.ox.ac.uk>
+
+Stable and unstable finite elements for the Maxwell eigenvalue problem
+======================================================================
+
+The Maxwell eigenvalue problem seeks eigenvalues :math:`\lambda` and
+the corresponding nonzero vector-valued eigenfunctions :math:`u`
+satisfying the partial differential equation
+
+.. math::
+ \operatorname{curl}\operatorname{curl} u = \lambda u \text{ in $\Omega$}
+
+(we have simplified slightly by setting the material parameters equal
+to 1). The PDE is to be supplemented with boundary conditions, which
+we take here to be the essential boundary condition
+
+.. math::
+ u \times n = 0 \text{ on $\partial\Omega$}.
+
+The eigenvalues :math:`\lambda` are all real and non-negative, but
+only the positive ones are of interest, since, if :math:`\lambda >0`,
+then it follows from the PDE that :math:`\operatorname{div} u = 0`,
+which is also a requirement of Maxwell's equations. There exist, in
+addition, an infinite-dimensional family of eigenfunctions with
+eigenvalue :math:`\lambda=0`, since for any smooth function
+:math:`\phi` vanishing to second order on the boundary,
+:math:`u=\operatorname{grad}\phi` is such an eigenfunction. But these
+functions are not divergence-free and should not be considered Maxwell
+eigenfunctions.
+
+Model problem
+-------------
+
+In this demo we shall consider the Maxwell eigenvalue problem in two
+dimensions with the domain :math:`\Omega` taken to be the square
+:math:`(0,\pi)\times(0,\pi)`, since in that case the exact eigenpairs
+have a simple analytic expression. They are
+
+.. math::
+ u(x,y) = (\sin m x, \sin n y), \quad \lambda = m^2 + n^2,
+
+for any non-negative integers :math:`m` and :math:`n,` not both zero.
+Thus the eigenvalues are
+
+.. math::
+ \lambda = 1, 1, 2, 4, 4, 5, 5, 8, 9, 9, 10, 10, 13, 13, \dots
+
+In the demo program we compute the 12 eigenvalues nearest 5.5, and so
+should obtain the first 12 numbers on this list, ranging from 1 to 10.
+
+The weak formulation and the finite element method
+--------------------------------------------------
+
+A weak formulation of the eigenvalue problem seeks :math:`0\ne u\in
+H_0(\operatorname{curl})` and :math:`\lambda>0` such that
+
+.. math::
+ \int_{\Omega} \operatorname{curl} u\, \operatorname{curl}v\, {\rm d} x
+ = \lambda \int_{\Omega} u v\, {\rm d} x \quad \forall \ v\in H_0(\operatorname{curl}),
+
+where :math:`H_0(\operatorname{curl})` is the space of
+square-integrable vector fields with square-integrable curl and
+satisfying the essential boundary condition. If we replace
+:math:`H_0(\operatorname{curl})` in this formulation by a finite
+element subspace, we obtain a finite element method.
+
+Stable and unstable finite elements
+-----------------------------------
+
+We consider here two possible choices of finite element spaces. The
+first, the Nédélec edge elements, which are obtained in FEniCS as
+``FunctionSpace(mesh, 'H1curl', 1)``, are well suited to this problem
+and give an accurate discretization. The second choice is simply the
+vector-valued Lagrange piecewise linears: ``VectorFunctionSpace(mesh,
+'Lagrange', 1)``. To the uninitiated it usually comes as a surprise
+that the Lagrange elements do not provide an accurate discretization
+of the Maxwell eigenvalue problem: the computed eigenvalues do not
+converge to the true ones as the mesh is refined! This is a subtle
+matter connected to the stability theory of mixed finite element
+methods. See `this paper
+<http://umn.edu/~arnold/papers/icm2002.pdf>`_ for details.
+
+While the Nédélec elements behave stably for any mesh, the failure of
+the Lagrange elements differs on different sorts of meshes. Here we
+compute with two structured meshes, the first obtained from a
+:math:`40\times 40` grid of squares by dividing each with its
+positively-sloped diagonal, and the second the crossed mesh obtained
+by dividing each subsquare into four using both diagonals. The output
+from the first case is:
+
+.. code-block:: none
+
+ diagonal mesh
+ Nédélec: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.01 8.98 8.99 9.99 9.99]
+ Lagrange: [ 5.16 5.26 5.26 5.30 5.39 5.45 5.53 5.61 5.61 5.62 5.71 5.73]
+ Exact: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.00 9.00 9.00 10.00 10.00]
+
+Note that the eigenvalues calculated using the Nédélec elements are
+all correct to within a fraction of a percent. But the 12 eigenvalues
+computed by the Lagrange elements are certainly all *wrong*, since
+they are far from being integers!
+
+On the crossed mesh, we obtain a different mode of failure:
+
+.. code-block:: none
+
+ crossed mesh
+ Nédélec: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 7.99 9.00 9.00 10.00 10.00]
+ Lagrange: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 6.00 8.01 9.01 9.01 10.02]
+ Exact: [ 1.00 1.00 2.00 4.00 4.00 5.00 5.00 8.00 9.00 9.00 10.00 10.00]
+
+Again the Nédélec elements are accurate. The Lagrange elements also
+approximate most of the eigenvalues well, but they return a *totally
+spurious* value of 6.00 as well. If we were to compute more
+eigenvalues, more spurious ones would be returned. This mode of
+failure might be considered more dangerous, since it is harder to
+spot.
+
+The implementation
+------------------
+
+**Preamble.** First we import ``dolfin`` and ``numpy`` and make sure
+that dolfin has been configured with PETSc and SLEPc (since we depend
+on the SLEPc eigenvalue solver). ::
+
+ from dolfin import *
+ import numpy as np
+ if not has_linear_algebra_backend("PETSc"):
+ print("DOLFIN has not been configured with PETSc. Exiting.")
+ exit()
+ if not has_slepc():
+ print("DOLFIN has not been configured with SLEPc. Exiting.")
+ exit()
+
+**Function eigenvalues.**
+The function ``eigenvalues`` takes the finite element space ``V`` and the
+essential boundary conditions ``bcs`` for it, and returns a requested
+set of Maxwell eigenvalues (specified in the code below)
+as a sorted numpy array::
+
+ def eigenvalues(V, bcs):
+
+We start by defining the bilinear forms on the right- and left-hand
+sides of the weak formulation::
+
+ #
+ # Define the bilinear forms on the right- and left-hand sides
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ a = inner(curl(u), curl(v))*dx
+ b = inner(u, v)*dx
+
+Next we assemble the bilinear forms ``a`` and ``b`` into PETSc
+matrices ``A`` and ``B``, so the eigenvalue problem is converted into
+a generalized matrix eigenvalue problem :math:`Ax=\lambda B x`.
+During the assembly step the essential boundary conditions are
+incorporated by modifying the rows and columns of the matrices corresponding to
+constrained boundary degrees of freedom. We use ``assemble_system``
+rather than ``assemble`` to do the assembly, since it maintains the
+symmetry of the matrices. ``assemble_system`` is designed for source
+problems, rather than eigenvalue problems, and requires a right-hand
+side linear form, so we define a dummy form to feed it. ::
+
+ #
+ # Assemble into PETSc matrices
+ dummy = v[0]*dx
+ A = PETScMatrix()
+ assemble_system(a, dummy, bcs, A_tensor=A)
+ B = PETScMatrix()
+ assemble_system(b, dummy, bcs, A_tensor=B)
+
+We zero out the rows of :math:`B` corresponding to constrained
+boundary degrees of freedom, so as not to introduce spurious
+eigenpairs with nonzero boundary DOFs. ::
+
+ #
+ [bc.zero(B) for bc in bcs]
+
+Now we solve the generalized matrix eigenvalue problem using the SLEPc
+package. The behavior of the ``SLEPcEigenSolver`` is controlled by a
+parameter set (use ``info(solver, True)`` to see all possible
+parameters). We use parameters to set the eigensolution method to
+Krylov-Schur, which is good for computing a subset of the eigenvalues
+of a sparse matrix, and to tell SLEPc that the matrices ``A`` and
+``B`` in the generalized eigenvalue problem are symmetric
+(Hermitian). ::
+
+ #
+ solver = SLEPcEigenSolver(A, B)
+ solver.parameters["solver"] = "krylov-schur"
+ solver.parameters["problem_type"] = "gen_hermitian"
+
+We specify that we want 12 eigenvalues nearest in magnitude to a
+target value of 5.5. Note that when the ``spectrum`` parameter is set
+to ``target magnitude``, the ``spectral_transform`` parameter should
+be set to ``shift-and-invert`` and the ``spectral_shift`` parameter
+should be set equal to the target. ::
+
+ #
+ solver.parameters["spectrum"] = "target magnitude"
+ solver.parameters["spectral_transform"] = "shift-and-invert"
+ solver.parameters["spectral_shift"] = 5.5
+ neigs = 12
+ solver.solve(neigs)
+
+Finally we collect the computed eigenvalues in list which we convert
+to a numpy array and sort before returning. Note that we are not
+guaranteed to get the number of eigenvalues requested. The function
+``solver.get_number_converged()`` reports the actual number of
+eigenvalues computed, which may be more or less than the number
+requested. ::
+
+ #
+ # Return the computed eigenvalues in a sorted array
+ computed_eigenvalues = []
+ for i in range(min(neigs, solver.get_number_converged())):
+ r, _ = solver.get_eigenvalue(i) # ignore the imaginary part
+ computed_eigenvalues.append(r)
+ return np.sort(np.array(computed_eigenvalues))
+
+**Function print_eigenvalues.** Given just a mesh, the function
+``print_eigenvalues`` calls the preceding function ``eigenvalues`` to
+solve the Maxwell eigenvalue problem for each of the two finite
+element spaces, Nédélec and Lagrange, and prints the results, together
+with the known exact eigenvalues::
+
+ def print_eigenvalues(mesh):
+
+First we define the Nédélec edge element space and the essential
+boundary conditions for it, and call ``eigenvalues`` to compute the
+eigenvalues. Since the degrees of freedom for the Nédélec space are
+tangential components on element edges, we simply need to constrain
+all the DOFs associated to boundary points to zero. ::
+
+ #
+ nedelec_V = FunctionSpace(mesh, "N1curl", 1)
+ nedelec_bcs = [DirichletBC(nedelec_V, Constant((0.0, 0.0)), DomainBoundary())]
+ nedelec_eig = eigenvalues(nedelec_V, nedelec_bcs)
+
+Then we do the same for the vector Lagrange elements. Since the
+Lagrange DOFs are both components of the vector, we must specify which
+component must vanish on which edges (the x-component on horizontal
+edges and the y-component on vertical edges). ::
+
+ #
+ lagrange_V = VectorFunctionSpace(mesh, "Lagrange", 1)
+ lagrange_bcs = [DirichletBC(lagrange_V.sub(1), 0, "near(x[0], 0) || near(x[0], pi)"),
+ DirichletBC(lagrange_V.sub(0), 0, "near(x[1], 0) || near(x[1], pi)")]
+ lagrange_eig = eigenvalues(lagrange_V, lagrange_bcs)
+
+The true eigenvalues are just the 12 smallest numbers of the form
+:math:`m^2 + n^2`, :math:`m,n\ge0`, not counting 0. ::
+
+ #
+ true_eig = np.sort(np.array([float(m**2 + n**2) for m in range(6) for n in range(6)]))[1:13]
+
+Finally we print the results::
+
+ #
+ np.set_printoptions(formatter={'float': '{:5.2f}'.format})
+ print("Nedelec: {}".format(nedelec_eig))
+ print("Lagrange: {}".format(lagrange_eig))
+ print("Exact: {}".format(true_eig))
+
+**Calling the functions.** To complete the program, we call
+``print_eigenvalues`` for each of two different meshes ::
+
+ mesh = RectangleMesh(Point(0, 0), Point(pi, pi), 40, 40)
+ print("\ndiagonal mesh")
+ print_eigenvalues(mesh)
+
+ mesh = RectangleMesh(Point(0, 0), Point(pi, pi), 40, 40, "crossed")
+ print("\ncrossed mesh")
+ print_eigenvalues(mesh)
diff --git a/demo/documented/mixed-poisson-dual/common.txt b/demo/documented/mixed-poisson-dual/common.txt
deleted file mode 100644
index 39b844b..0000000
--- a/demo/documented/mixed-poisson-dual/common.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-
-This demo illustrates how to solve Poisson equation using an
-alternative mixed formulation. In particular, it illustrates how to
-
-* Use mixed and non-continuous finite element spaces
-* Set essential boundary conditions for subspaces
-
-Equation and problem definition
--------------------------------
-
-A formulation of Poisson equation involves introducing an additional
-(vector) variable, namely the (negative) flux: :math:`\sigma = -
-\nabla u`. The partial differential equations then read
-
-.. math::
- \sigma + \nabla u &= 0 \quad {\rm in} \ \Omega, \\
- \nabla \cdot \sigma &= f \quad {\rm in} \ \Omega,
-
-with boundary conditions
-
-.. math::
- u = u_0 \quad {\rm on} \ \Gamma_{D}, \\
- - \sigma \cdot n = g \quad {\rm on} \ \Gamma_{N}.
-
-The same equations arise in connection with flow in porous media,
-where thery are referred to as Darcy flow.
-
-After multiplying by test functions :math:`\tau` and :math:`v`,
-integrating over the domain, and integrating term :math:`\nabla \cdot
-\sigma \ v` by parts, one obtains the following variational
-formulation: find :math:`\sigma \in \Sigma` and :math:`v \in V`
-satisfying
-
-.. math::
- \int_{\Omega} (\sigma \cdot \tau + \nabla u \cdot \ \tau) \ {\rm d} x
- &= 0
- \quad \forall \ \tau \in \Sigma, \\
-
- \int_{\Omega} \sigma \cdot \nabla v \ {\rm d} x
- &= - \int_{\Omega} f \ v \ {\rm d} x
- - \int_{\Gamma_{N}} g \ v \ {\rm d} x
- \quad \forall \ v \in V.
-
-Compared to classical mixed formulation used in demo `Mixed
-formulation for Poisson equation`, the Dirichlet condition is here
-essential one and Neumann condition is natural.
-
-To discretize the above formulation, two discrete function spaces
-:math:`\Sigma_h \subset \Sigma` and :math:`V_h \subset V` are needed
-to form a mixed function space :math:`\Sigma_h \times V_h`. A stable
-choice of finite element spaces is to let :math:`\Sigma_h` be the
-discontinuous Raviart-Thomas elements of polynomial order :math:`k`
-and let :math:`V_h` be Lagrange elements of polynomial order
-:math:`k+1`.
-
-We will use the same definitions of functions and boundaries as in the
-demo for Poisson's equation. These are:
-
-* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
-* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \in \partial \Omega\}`
-* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \in \partial \Omega\}`
-* :math:`u_0 = 0`
-* :math:`g = \sin(5x)` (flux)
-* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
-
-With the above input the solution for :math:`u` and :math:`\sigma`
-will look as follows:
-
-.. image:: ../mixed-poisson-dual_u.png
- :scale: 75
- :align: center
-
-.. image:: ../mixed-poisson-dual_sigma.png
- :scale: 75
- :align: center
diff --git a/demo/documented/mixed-poisson-dual/cpp/CMakeLists.txt b/demo/documented/mixed-poisson-dual/cpp/CMakeLists.txt
deleted file mode 100644
index 4689553..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-# This file is automatically generated by running
-#
-# cmake/scripts/generate-cmakefiles
-#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
-
-set(PROJECT_NAME demo_mixed-poisson-dual)
-project(${PROJECT_NAME})
-
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Set CMake behavior
-cmake_policy(SET CMP0004 NEW)
-
-# Get DOLFIN configuration data (DOLFINConfig.cmake must be in
-# DOLFIN_CMAKE_CONFIG_PATH)
-find_package(DOLFIN REQUIRED)
-
-if (EXISTS ${DOLFIN_USE_FILE})
- include(${DOLFIN_USE_FILE})
-
- # Default build type (can be overridden by user)
- if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
- "Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
- endif()
-else()
- # Compiler definitions
- add_definitions(${DOLFIN_CXX_DEFINITIONS})
-
- # Compiler flags
- set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
-
- # Include directories
- include_directories(${DOLFIN_INCLUDE_DIRS})
- include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
-endif()
-
-# Executable
-add_executable(${PROJECT_NAME} main.cpp)
-
-# Target libraries
-target_link_libraries(${PROJECT_NAME} ${DOLFIN_LIBRARIES})
diff --git a/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.h b/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.h
deleted file mode 100644
index 3a93b5d..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.h
+++ /dev/null
@@ -1,14786 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __MIXEDPOISSONDUAL_H
-#define __MIXEDPOISSONDUAL_H
-#include <stdexcept>
-#include <ufc.h>
-
-class mixedpoissondual_finite_element_0: public ufc::finite_element
-{
-public:
-
- mixedpoissondual_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoissondual_finite_element_0();
- }
-
-};
-
-
-class mixedpoissondual_finite_element_1: public ufc::finite_element
-{
-public:
-
- mixedpoissondual_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_finite_element_0();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoissondual_finite_element_1();
- }
-
-};
-
-
-class mixedpoissondual_finite_element_2: public ufc::finite_element
-{
-public:
-
- mixedpoissondual_finite_element_2() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_finite_element_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Discontinuous Raviart-Thomas', triangle, 2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 8;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 2;
- }
-
- const char * family() const final override
- {
- return "Discontinuous Raviart-Thomas";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.173205080756888, -0.233333333333333, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.115470053837925, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- static const double coefficients1[6] = \
- {0.235702260395516, 0.0, 0.466666666666667, 0.0, 0.0, 0.244948974278318};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, -0.577350269189625, -0.466666666666667, 0.182574185835056, 0.0, -0.0408248290463863};
-
- static const double coefficients1[6] = \
- {0.117851130197758, 0.173205080756888, 0.233333333333333, 0.0, 0.141421356237309, 0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, 0.115470053837925, 0.733333333333333, 0.0, -0.14142135623731, 0.122474487139159};
-
- static const double coefficients1[6] = \
- {-0.235702260395516, 0.0, -0.466666666666667, 0.0, 0.0, -0.244948974278318};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.288675134594813, -0.0333333333333332, -0.182574185835056, 0.0, 0.0408248290463861};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.692820323027551, 0.266666666666666, 0.0, -0.141421356237309, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, -0.692820323027551, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {1.06066017177982, 0.173205080756888, -0.3, -0.365148371670111, 0.14142135623731, -0.0408248290463864};
-
- static const double coefficients1[6] = \
- {0.0, -0.346410161513775, 0.0, 0.0, -0.282842712474619, 0.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756889, -0.3, -0.182574185835056, -0.14142135623731, 0.163299316185545};
-
- static const double coefficients1[6] = \
- {1.06066017177982, -0.173205080756887, 0.3, 0.0, -0.141421356237309, -0.367423461417477};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 8; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[4][2];
- for (unsigned int row = 0; row < 4; row++)
- {
- for (unsigned int col = 0; col < 2; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[4][4];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.173205080756888, -0.233333333333333, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.115470053837925, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- static const double coefficients1[6] = \
- {0.235702260395516, 0.0, 0.466666666666667, 0.0, 0.0, 0.244948974278318};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, -0.577350269189625, -0.466666666666667, 0.182574185835056, 0.0, -0.0408248290463863};
-
- static const double coefficients1[6] = \
- {0.117851130197758, 0.173205080756888, 0.233333333333333, 0.0, 0.141421356237309, 0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, 0.115470053837925, 0.733333333333333, 0.0, -0.14142135623731, 0.122474487139159};
-
- static const double coefficients1[6] = \
- {-0.235702260395516, 0.0, -0.466666666666667, 0.0, 0.0, -0.244948974278318};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.288675134594813, -0.0333333333333332, -0.182574185835056, 0.0, 0.0408248290463861};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.692820323027551, 0.266666666666666, 0.0, -0.141421356237309, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, -0.692820323027551, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {1.06066017177982, 0.173205080756888, -0.3, -0.365148371670111, 0.14142135623731, -0.0408248290463864};
-
- static const double coefficients1[6] = \
- {0.0, -0.346410161513775, 0.0, 0.0, -0.282842712474619, 0.0};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756889, -0.3, -0.182574185835056, -0.14142135623731, 0.163299316185545};
-
- static const double coefficients1[6] = \
- {1.06066017177982, -0.173205080756887, 0.3, 0.0, -0.141421356237309, -0.367423461417477};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 8; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 2)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 8; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- switch (i)
- {
- case 0:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 1:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 2:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 3:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 4:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 5:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 6:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 7:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[0] = result;
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[1] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[2] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[3] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[4] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[5] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[6] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[7] = result;
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Evaluate function and change variables
- vertex_values[0] = dof_values[2]*(1.0/detJ)*J[0]*2.0 + dof_values[3]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[1]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[1];
- vertex_values[2] = dof_values[0]*(1.0/detJ)*J[0]*2.0 + dof_values[1]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[5]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[4] = dof_values[0]*((1.0/detJ)*(J[1]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[1]*2.0 + dof_values[2]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[3]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[1] = dof_values[2]*(1.0/detJ)*J[2]*2.0 + dof_values[3]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[3]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[3];
- vertex_values[3] = dof_values[0]*(1.0/detJ)*J[2]*2.0 + dof_values[1]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[5]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- vertex_values[5] = dof_values[0]*((1.0/detJ)*(J[3]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[3]*2.0 + dof_values[2]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[3]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[2] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[3] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[4] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[5] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[6] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[7] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[8] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[9] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[10] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[11] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[12] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[13] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[14] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[15] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoissondual_finite_element_2();
- }
-
-};
-
-
-class mixedpoissondual_finite_element_3: public ufc::finite_element
-{
-public:
-
- mixedpoissondual_finite_element_3() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_finite_element_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 3)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 10;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 3;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 10; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[8][3];
- for (unsigned int row = 0; row < 8; row++)
- {
- for (unsigned int col = 0; col < 3; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[8][8];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 10; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 10; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 5:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 6:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 7:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 8:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 9:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[7] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[8] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[9] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[10] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[11] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[12] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[13] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[14] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[15] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[16] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[17] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[18] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[19] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoissondual_finite_element_3();
- }
-
-};
-
-
-class mixedpoissondual_finite_element_4: public ufc::finite_element
-{
-public:
-
- mixedpoissondual_finite_element_4() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_finite_element_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "MixedElement(FiniteElement('Discontinuous Raviart-Thomas', triangle, 2), FiniteElement('Lagrange', triangle, 3))";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 18;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 3;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 3;
- }
-
- std::size_t degree() const final override
- {
- return 3;
- }
-
- const char * family() const final override
- {
- return "Mixed";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- values[2] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.173205080756888, -0.233333333333333, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.115470053837925, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- static const double coefficients1[6] = \
- {0.235702260395516, 0.0, 0.466666666666667, 0.0, 0.0, 0.244948974278318};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, -0.577350269189625, -0.466666666666667, 0.182574185835056, 0.0, -0.0408248290463863};
-
- static const double coefficients1[6] = \
- {0.117851130197758, 0.173205080756888, 0.233333333333333, 0.0, 0.141421356237309, 0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, 0.115470053837925, 0.733333333333333, 0.0, -0.14142135623731, 0.122474487139159};
-
- static const double coefficients1[6] = \
- {-0.235702260395516, 0.0, -0.466666666666667, 0.0, 0.0, -0.244948974278318};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.288675134594813, -0.0333333333333332, -0.182574185835056, 0.0, 0.0408248290463861};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.692820323027551, 0.266666666666666, 0.0, -0.141421356237309, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, -0.692820323027551, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {1.06066017177982, 0.173205080756888, -0.3, -0.365148371670111, 0.14142135623731, -0.0408248290463864};
-
- static const double coefficients1[6] = \
- {0.0, -0.346410161513775, 0.0, 0.0, -0.282842712474619, 0.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756889, -0.3, -0.182574185835056, -0.14142135623731, 0.163299316185545};
-
- static const double coefficients1[6] = \
- {1.06066017177982, -0.173205080756887, 0.3, 0.0, -0.141421356237309, -0.367423461417477};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 6; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 12:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 13:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 14:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 15:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 16:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 17:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[3] = {0.0, 0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 18; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3; s++)
- {
- values[r*3 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 3*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[8][3];
- for (unsigned int row = 0; row < 8; row++)
- {
- for (unsigned int col = 0; col < 3; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[8][8];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.173205080756888, -0.233333333333333, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.115470053837925, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- static const double coefficients1[6] = \
- {0.235702260395516, 0.0, 0.466666666666667, 0.0, 0.0, 0.244948974278318};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, -0.577350269189625, -0.466666666666667, 0.182574185835056, 0.0, -0.0408248290463863};
-
- static const double coefficients1[6] = \
- {0.117851130197758, 0.173205080756888, 0.233333333333333, 0.0, 0.141421356237309, 0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.117851130197758, 0.115470053837925, 0.733333333333333, 0.0, -0.14142135623731, 0.122474487139159};
-
- static const double coefficients1[6] = \
- {-0.235702260395516, 0.0, -0.466666666666667, 0.0, 0.0, -0.244948974278318};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {-0.117851130197758, -0.288675134594813, -0.0333333333333332, -0.182574185835056, 0.0, 0.0408248290463861};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, 0.692820323027551, 0.266666666666666, 0.0, -0.141421356237309, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.235702260395516, 0.404145188432738, -0.233333333333333, 0.182574185835055, -0.14142135623731, 0.0816496580927727};
-
- static const double coefficients1[6] = \
- {-0.117851130197758, -0.692820323027551, 0.266666666666667, 0.0, 0.14142135623731, -0.122474487139159};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {1.06066017177982, 0.173205080756888, -0.3, -0.365148371670111, 0.14142135623731, -0.0408248290463864};
-
- static const double coefficients1[6] = \
- {0.0, -0.346410161513775, 0.0, 0.0, -0.282842712474619, 0.0};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[3] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[6] = \
- {0.0, -0.173205080756889, -0.3, -0.182574185835056, -0.14142135623731, 0.163299316185545};
-
- static const double coefficients1[6] = \
- {1.06066017177982, -0.173205080756887, 0.3, 0.0, -0.141421356237309, -0.367423461417477};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[6][6] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[16];
- for (unsigned int r = 0; r < 16; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[6][6] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- for (unsigned int u = 0; u < 6; u++)
- {
- for (unsigned int tu = 0; tu < 6; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 6; s++)
- {
- for (unsigned int t = 0; t < 6; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 12:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 13:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 14:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 15:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 16:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 17:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 18; r++)
- {
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[24];
- for (unsigned int r = 0; r < 24; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 18; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- switch (i)
- {
- case 0:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 1:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 2:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 3:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 4:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 5:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 6:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 7:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 8:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 9:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 10:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 11:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 12:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 13:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 14:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 15:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 16:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 17:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[0] = result;
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[1] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[2] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[3] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[4] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[5] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[6] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[7] = result;
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[8] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[9] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[10] = vals[2];
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[11] = vals[2];
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[15] = vals[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[16] = vals[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[17] = vals[2];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Evaluate function and change variables
- vertex_values[0] = dof_values[2]*(1.0/detJ)*J[0]*2.0 + dof_values[3]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[1]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[1];
- vertex_values[3] = dof_values[0]*(1.0/detJ)*J[0]*2.0 + dof_values[1]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[5]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[6] = dof_values[0]*((1.0/detJ)*(J[1]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[1]*2.0 + dof_values[2]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[3]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[1] = dof_values[2]*(1.0/detJ)*J[2]*2.0 + dof_values[3]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[3]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[3];
- vertex_values[4] = dof_values[0]*(1.0/detJ)*J[2]*2.0 + dof_values[1]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[5]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- vertex_values[7] = dof_values[0]*((1.0/detJ)*(J[3]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[3]*2.0 + dof_values[2]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[3]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- // Evaluate function and change variables
- vertex_values[2] = dof_values[8];
- vertex_values[5] = dof_values[9];
- vertex_values[8] = dof_values[10];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[2] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[3] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[4] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[5] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[6] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[7] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[8] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[9] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[10] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[11] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[12] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[13] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[14] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[15] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[16] = coordinate_dofs[0];
- dof_coordinates[17] = coordinate_dofs[1];
- dof_coordinates[18] = coordinate_dofs[2];
- dof_coordinates[19] = coordinate_dofs[3];
- dof_coordinates[20] = coordinate_dofs[4];
- dof_coordinates[21] = coordinate_dofs[5];
- dof_coordinates[22] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[23] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[24] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[25] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[26] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[27] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[28] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[29] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[30] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[31] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[32] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[33] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[34] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[35] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_finite_element_2();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_finite_element_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoissondual_finite_element_4();
- }
-
-};
-
-
-class mixedpoissondual_dofmap_0: public ufc::dofmap
-{
-public:
-
- mixedpoissondual_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoissondual_dofmap_0();
- }
-
-};
-
-
-class mixedpoissondual_dofmap_1: public ufc::dofmap
-{
-public:
-
- mixedpoissondual_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_dofmap_0();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoissondual_dofmap_1();
- }
-
-};
-
-
-class mixedpoissondual_dofmap_2: public ufc::dofmap
-{
-public:
-
- mixedpoissondual_dofmap_2() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_dofmap_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Raviart-Thomas', triangle, 2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 8*num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 8;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 8;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = 8*entity_indices[2][0];
- dofs[1] = 8*entity_indices[2][0] + 1;
- dofs[2] = 8*entity_indices[2][0] + 2;
- dofs[3] = 8*entity_indices[2][0] + 3;
- dofs[4] = 8*entity_indices[2][0] + 4;
- dofs[5] = 8*entity_indices[2][0] + 5;
- dofs[6] = 8*entity_indices[2][0] + 6;
- dofs[7] = 8*entity_indices[2][0] + 7;
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 3;
- dofs[4] = 4;
- dofs[5] = 5;
- dofs[6] = 6;
- dofs[7] = 7;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoissondual_dofmap_2();
- }
-
-};
-
-
-class mixedpoissondual_dofmap_3: public ufc::dofmap
-{
-public:
-
- mixedpoissondual_dofmap_3() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_dofmap_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 3)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0] + 2*num_global_entities[1] + num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 10;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 2;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + 2*entity_indices[1][0];
- dofs[4] = offset + 2*entity_indices[1][0] + 1;
- dofs[5] = offset + 2*entity_indices[1][1];
- dofs[6] = offset + 2*entity_indices[1][1] + 1;
- dofs[7] = offset + 2*entity_indices[1][2];
- dofs[8] = offset + 2*entity_indices[1][2] + 1;
- offset += 2*num_global_entities[1];
- dofs[9] = offset + entity_indices[2][0];
- offset += num_global_entities[2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 5;
- dofs[3] = 6;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 7;
- dofs[3] = 8;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 3;
- dofs[1] = 4;
- break;
- }
- case 1:
- {
- dofs[0] = 5;
- dofs[1] = 6;
- break;
- }
- case 2:
- {
- dofs[0] = 7;
- dofs[1] = 8;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 9;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoissondual_dofmap_3();
- }
-
-};
-
-
-class mixedpoissondual_dofmap_4: public ufc::dofmap
-{
-public:
-
- mixedpoissondual_dofmap_4() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_dofmap_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for MixedElement(FiniteElement('Discontinuous Raviart-Thomas', triangle, 2), FiniteElement('Lagrange', triangle, 3))";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0] + 2*num_global_entities[1] + 9*num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 18;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 2;
- break;
- }
- case 2:
- {
- return 9;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + 8*entity_indices[2][0];
- dofs[1] = offset + 8*entity_indices[2][0] + 1;
- dofs[2] = offset + 8*entity_indices[2][0] + 2;
- dofs[3] = offset + 8*entity_indices[2][0] + 3;
- dofs[4] = offset + 8*entity_indices[2][0] + 4;
- dofs[5] = offset + 8*entity_indices[2][0] + 5;
- dofs[6] = offset + 8*entity_indices[2][0] + 6;
- dofs[7] = offset + 8*entity_indices[2][0] + 7;
- offset += 8*num_global_entities[2];
- dofs[8] = offset + entity_indices[0][0];
- dofs[9] = offset + entity_indices[0][1];
- dofs[10] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[11] = offset + 2*entity_indices[1][0];
- dofs[12] = offset + 2*entity_indices[1][0] + 1;
- dofs[13] = offset + 2*entity_indices[1][1];
- dofs[14] = offset + 2*entity_indices[1][1] + 1;
- dofs[15] = offset + 2*entity_indices[1][2];
- dofs[16] = offset + 2*entity_indices[1][2] + 1;
- offset += 2*num_global_entities[1];
- dofs[17] = offset + entity_indices[2][0];
- offset += num_global_entities[2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 9;
- dofs[1] = 10;
- dofs[2] = 11;
- dofs[3] = 12;
- break;
- }
- case 1:
- {
- dofs[0] = 8;
- dofs[1] = 10;
- dofs[2] = 13;
- dofs[3] = 14;
- break;
- }
- case 2:
- {
- dofs[0] = 8;
- dofs[1] = 9;
- dofs[2] = 15;
- dofs[3] = 16;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 8;
- break;
- }
- case 1:
- {
- dofs[0] = 9;
- break;
- }
- case 2:
- {
- dofs[0] = 10;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 11;
- dofs[1] = 12;
- break;
- }
- case 1:
- {
- dofs[0] = 13;
- dofs[1] = 14;
- break;
- }
- case 2:
- {
- dofs[0] = 15;
- dofs[1] = 16;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 3;
- dofs[4] = 4;
- dofs[5] = 5;
- dofs[6] = 6;
- dofs[7] = 7;
- dofs[8] = 17;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_dofmap_2();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_dofmap_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoissondual_dofmap_4();
- }
-
-};
-
-
-class mixedpoissondual_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- mixedpoissondual_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~mixedpoissondual_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 64
- // Number of operations (multiply-add pairs) for tensor contraction: 1328
- // Total number of operations (multiply-add pairs): 1395
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = 1.0 / (detJ*detJ)*det*J[0]*J[0]*(1.0);
- const double G0_0_1 = 1.0 / (detJ*detJ)*det*J[0]*J[1]*(1.0);
- const double G0_1_0 = 1.0 / (detJ*detJ)*det*J[1]*J[0]*(1.0);
- const double G0_1_1 = 1.0 / (detJ*detJ)*det*J[1]*J[1]*(1.0);
- const double G1_0_0 = 1.0 / (detJ*detJ)*det*J[2]*J[2]*(1.0);
- const double G1_0_1 = 1.0 / (detJ*detJ)*det*J[2]*J[3]*(1.0);
- const double G1_1_0 = 1.0 / (detJ*detJ)*det*J[3]*J[2]*(1.0);
- const double G1_1_1 = 1.0 / (detJ*detJ)*det*J[3]*J[3]*(1.0);
- const double G2_0_0 = 1.0 / (detJ)*det*J[0]*K[0]*(1.0);
- const double G2_0_1 = 1.0 / (detJ)*det*J[0]*K[2]*(1.0);
- const double G2_1_0 = 1.0 / (detJ)*det*J[1]*K[0]*(1.0);
- const double G2_1_1 = 1.0 / (detJ)*det*J[1]*K[2]*(1.0);
- const double G3_0_0 = 1.0 / (detJ)*det*J[2]*K[1]*(1.0);
- const double G3_0_1 = 1.0 / (detJ)*det*J[2]*K[3]*(1.0);
- const double G3_1_0 = 1.0 / (detJ)*det*J[3]*K[1]*(1.0);
- const double G3_1_1 = 1.0 / (detJ)*det*J[3]*K[3]*(1.0);
- const double G4_0_0 = 1.0 / (detJ)*det*J[0]*K[0]*(1.0);
- const double G4_0_1 = 1.0 / (detJ)*det*J[0]*K[2]*(1.0);
- const double G4_1_0 = 1.0 / (detJ)*det*J[1]*K[0]*(1.0);
- const double G4_1_1 = 1.0 / (detJ)*det*J[1]*K[2]*(1.0);
- const double G5_0_0 = 1.0 / (detJ)*det*J[2]*K[1]*(1.0);
- const double G5_0_1 = 1.0 / (detJ)*det*J[2]*K[3]*(1.0);
- const double G5_1_0 = 1.0 / (detJ)*det*J[3]*K[1]*(1.0);
- const double G5_1_1 = 1.0 / (detJ)*det*J[3]*K[3]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0833333333333338*G0_0_0 + 0.0166666666666667*G0_0_1 + 0.0166666666666667*G0_1_0 + 0.0333333333333337*G0_1_1 + 0.0833333333333338*G1_0_0 + 0.0166666666666667*G1_0_1 + 0.0166666666666667*G1_1_0 + 0.0333333333333337*G1_1_1;
- A[1] = -0.0416666666666669*G0_0_0 - 0.00833333333333337*G0_0_1 - 0.00833333333333331*G0_1_0 - 0.041666666666667*G0_1_1 - 0.0416666666666669*G1_0_0 - 0.00833333333333337*G1_0_1 - 0.00833333333333331*G1_1_0 - 0.041666666666667*G1_1_1;
- A[2] = -0.0166666666666667*G0_0_0 + 0.00833333333333338*G0_0_1 - 0.00833333333333332*G0_1_1 - 0.0166666666666667*G1_0_0 + 0.00833333333333338*G1_0_1 - 0.00833333333333332*G1_1_1;
- A[3] = -0.0166666666666668*G0_0_0 + 0.00833333333333335*G0_0_1 - 0.0500000000000004*G0_1_0 + 0.041666666666667*G0_1_1 - 0.0166666666666668*G1_0_0 + 0.00833333333333335*G1_0_1 - 0.0500000000000004*G1_1_0 + 0.041666666666667*G1_1_1;
- A[4] = -0.041666666666667*G0_0_0 + 0.0500000000000002*G0_0_1 - 0.00833333333333342*G0_1_0 + 0.0166666666666669*G0_1_1 - 0.041666666666667*G1_0_0 + 0.0500000000000002*G1_0_1 - 0.00833333333333342*G1_1_0 + 0.0166666666666669*G1_1_1;
- A[5] = 0.0833333333333339*G0_0_0 - 0.1*G0_0_1 + 0.0166666666666667*G0_1_0 - 0.0333333333333336*G0_1_1 + 0.0833333333333339*G1_0_0 - 0.1*G1_0_1 + 0.0166666666666667*G1_1_0 - 0.0333333333333336*G1_1_1;
- A[6] = 0.0750000000000004*G0_0_0 - 0.0250000000000001*G0_0_1 - 0.0250000000000003*G0_1_1 + 0.0750000000000004*G1_0_0 - 0.0250000000000001*G1_0_1 - 0.0250000000000003*G1_1_1;
- A[7] = 0.0250000000000001*G0_0_1 - 0.0500000000000004*G0_1_1 + 0.0250000000000001*G1_0_1 - 0.0500000000000004*G1_1_1;
- A[8] = -0.00833333333333325*G2_0_0 - 0.00833333333333391*G2_0_1 + 0.00416666666666685*G2_1_0 + 0.00416666666666684*G2_1_1 - 0.00833333333333325*G3_0_0 - 0.00833333333333391*G3_0_1 + 0.00416666666666685*G3_1_0 + 0.00416666666666684*G3_1_1;
- A[9] = 0.158333333333334*G2_0_0 - 0.00416666666666717*G2_1_0 + 0.158333333333334*G3_0_0 - 0.00416666666666717*G3_1_0;
- A[10] = 0.00833333333333402*G2_0_1 - 0.0791666666666673*G2_1_1 + 0.00833333333333402*G3_0_1 - 0.0791666666666673*G3_1_1;
- A[11] = 0.187500000000001*G2_0_0 + 0.375000000000003*G2_0_1 + 0.150000000000002*G2_1_0 + 0.0750000000000007*G2_1_1 + 0.187500000000001*G3_0_0 + 0.375000000000003*G3_0_1 + 0.150000000000002*G3_1_0 + 0.0750000000000007*G3_1_1;
- A[12] = -0.0375*G2_0_0 - 0.0750000000000021*G2_0_1 - 0.187500000000001*G2_1_0 - 0.0374999999999995*G2_1_1 - 0.0375*G3_0_0 - 0.0750000000000021*G3_0_1 - 0.187500000000001*G3_1_0 - 0.0374999999999995*G3_1_1;
- A[13] = 0.0375000000000005*G2_0_0 + 0.0750000000000012*G2_1_0 + 0.0375000000000008*G2_1_1 + 0.0375000000000005*G3_0_0 + 0.0750000000000012*G3_1_0 + 0.0375000000000008*G3_1_1;
- A[14] = 0.0375*G2_0_0 + 0.187500000000001*G2_1_0 + 0.0374999999999994*G2_1_1 + 0.0375*G3_0_0 + 0.187500000000001*G3_1_0 + 0.0374999999999994*G3_1_1;
- A[15] = 0.0374999999999997*G2_0_0 + 0.0749999999999989*G2_0_1 + 0.0375000000000003*G2_1_1 + 0.0374999999999997*G3_0_0 + 0.0749999999999989*G3_0_1 + 0.0375000000000003*G3_1_1;
- A[16] = -0.187500000000001*G2_0_0 - 0.375000000000001*G2_0_1 - 0.0750000000000004*G2_1_1 - 0.187500000000001*G3_0_0 - 0.375000000000001*G3_0_1 - 0.0750000000000004*G3_1_1;
- A[17] = -0.225000000000001*G2_0_0 - 0.225000000000003*G2_1_0 - 0.225000000000001*G3_0_0 - 0.225000000000003*G3_1_0;
- A[18] = -0.0416666666666669*G0_0_0 - 0.00833333333333331*G0_0_1 - 0.00833333333333337*G0_1_0 - 0.041666666666667*G0_1_1 - 0.0416666666666669*G1_0_0 - 0.00833333333333331*G1_0_1 - 0.00833333333333337*G1_1_0 - 0.041666666666667*G1_1_1;
- A[19] = 0.0333333333333336*G0_0_0 + 0.0166666666666668*G0_0_1 + 0.0166666666666668*G0_1_0 + 0.083333333333334*G0_1_1 + 0.0333333333333336*G1_0_0 + 0.0166666666666668*G1_0_1 + 0.0166666666666668*G1_1_0 + 0.083333333333334*G1_1_1;
- A[20] = -0.0166666666666669*G0_0_0 + 0.00833333333333345*G0_0_1 - 0.0500000000000002*G0_1_0 + 0.0416666666666669*G0_1_1 - 0.0166666666666669*G1_0_0 + 0.00833333333333345*G1_0_1 - 0.0500000000000002*G1_1_0 + 0.0416666666666669*G1_1_1;
- A[21] = 0.0333333333333336*G0_0_0 - 0.0166666666666668*G0_0_1 + 0.1*G0_1_0 - 0.0833333333333339*G0_1_1 + 0.0333333333333336*G1_0_0 - 0.0166666666666668*G1_0_1 + 0.1*G1_1_0 - 0.0833333333333339*G1_1_1;
- A[22] = 0.00833333333333327*G0_0_0 - 0.00833333333333339*G0_1_0 + 0.0166666666666666*G0_1_1 + 0.00833333333333327*G1_0_0 - 0.00833333333333339*G1_1_0 + 0.0166666666666666*G1_1_1;
- A[23] = -0.0416666666666669*G0_0_0 + 0.0500000000000003*G0_0_1 - 0.00833333333333337*G0_1_0 + 0.0166666666666668*G0_1_1 - 0.0416666666666669*G1_0_0 + 0.0500000000000003*G1_0_1 - 0.00833333333333337*G1_1_0 + 0.0166666666666668*G1_1_1;
- A[24] = -0.0500000000000004*G0_0_0 + 0.025*G0_1_0 - 0.0500000000000004*G1_0_0 + 0.025*G1_1_0;
- A[25] = -0.0250000000000004*G0_0_0 - 0.0250000000000001*G0_1_0 + 0.0750000000000004*G0_1_1 - 0.0250000000000004*G1_0_0 - 0.0250000000000001*G1_1_0 + 0.0750000000000004*G1_1_1;
- A[26] = 0.00416666666666639*G2_0_0 + 0.00416666666666677*G2_0_1 - 0.00833333333333385*G2_1_0 - 0.00833333333333392*G2_1_1 + 0.00416666666666639*G3_0_0 + 0.00416666666666677*G3_0_1 - 0.00833333333333385*G3_1_0 - 0.00833333333333392*G3_1_1;
- A[27] = -0.0791666666666671*G2_0_0 + 0.00833333333333376*G2_1_0 - 0.0791666666666671*G3_0_0 + 0.00833333333333376*G3_1_0;
- A[28] = -0.00416666666666729*G2_0_1 + 0.158333333333335*G2_1_1 - 0.00416666666666729*G3_0_1 + 0.158333333333335*G3_1_1;
- A[29] = -0.0374999999999993*G2_0_0 - 0.187500000000002*G2_0_1 - 0.0750000000000013*G2_1_0 - 0.0375000000000008*G2_1_1 - 0.0374999999999993*G3_0_0 - 0.187500000000002*G3_0_1 - 0.0750000000000013*G3_1_0 - 0.0375000000000008*G3_1_1;
- A[30] = 0.0750000000000004*G2_0_0 + 0.150000000000003*G2_0_1 + 0.375000000000003*G2_1_0 + 0.1875*G2_1_1 + 0.0750000000000004*G3_0_0 + 0.150000000000003*G3_0_1 + 0.375000000000003*G3_1_0 + 0.1875*G3_1_1;
- A[31] = 0.0375000000000006*G2_0_0 + 0.0750000000000008*G2_1_0 + 0.0375000000000007*G2_1_1 + 0.0375000000000006*G3_0_0 + 0.0750000000000008*G3_1_0 + 0.0375000000000007*G3_1_1;
- A[32] = -0.0750000000000005*G2_0_0 - 0.375000000000003*G2_1_0 - 0.187500000000001*G2_1_1 - 0.0750000000000005*G3_0_0 - 0.375000000000003*G3_1_0 - 0.187500000000001*G3_1_1;
- A[33] = 0.0375000000000013*G2_0_0 + 0.0750000000000024*G2_0_1 + 0.0374999999999999*G2_1_1 + 0.0375000000000013*G3_0_0 + 0.0750000000000024*G3_0_1 + 0.0374999999999999*G3_1_1;
- A[34] = 0.0374999999999994*G2_0_0 + 0.1875*G2_0_1 + 0.0375000000000009*G2_1_1 + 0.0374999999999994*G3_0_0 + 0.1875*G3_0_1 + 0.0375000000000009*G3_1_1;
- A[35] = -0.225000000000003*G2_0_1 - 0.225000000000002*G2_1_1 - 0.225000000000003*G3_0_1 - 0.225000000000002*G3_1_1;
- A[36] = -0.0166666666666667*G0_0_0 + 0.00833333333333338*G0_1_0 - 0.00833333333333332*G0_1_1 - 0.0166666666666667*G1_0_0 + 0.00833333333333338*G1_1_0 - 0.00833333333333332*G1_1_1;
- A[37] = -0.0166666666666669*G0_0_0 - 0.0500000000000002*G0_0_1 + 0.00833333333333345*G0_1_0 + 0.0416666666666669*G0_1_1 - 0.0166666666666669*G1_0_0 - 0.0500000000000002*G1_0_1 + 0.00833333333333345*G1_1_0 + 0.0416666666666669*G1_1_1;
- A[38] = 0.150000000000001*G0_0_0 - 0.0500000000000003*G0_0_1 - 0.0500000000000003*G0_1_0 + 0.0333333333333336*G0_1_1 + 0.150000000000001*G1_0_0 - 0.0500000000000003*G1_0_1 - 0.0500000000000003*G1_1_0 + 0.0333333333333336*G1_1_1;
- A[39] = -0.1*G0_0_0 + 0.0500000000000002*G0_0_1 + 0.0500000000000002*G0_1_0 - 0.0416666666666669*G0_1_1 - 0.1*G1_0_0 + 0.0500000000000002*G1_0_1 + 0.0500000000000002*G1_1_0 - 0.0416666666666669*G1_1_1;
- A[40] = 0.0333333333333335*G0_0_0 - 0.133333333333334*G0_0_1 - 0.0166666666666668*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G1_0_0 - 0.133333333333334*G1_0_1 - 0.0166666666666668*G1_1_0 + 0.0333333333333335*G1_1_1;
- A[41] = -0.0166666666666667*G0_0_0 + 0.066666666666667*G0_0_1 + 0.00833333333333339*G0_1_0 - 0.0166666666666668*G0_1_1 - 0.0166666666666667*G1_0_0 + 0.066666666666667*G1_0_1 + 0.00833333333333339*G1_1_0 - 0.0166666666666668*G1_1_1;
- A[42] = 0.0250000000000002*G0_0_0 + 0.0500000000000004*G0_0_1 + 0.0250000000000001*G0_1_0 - 0.0250000000000003*G0_1_1 + 0.0250000000000002*G1_0_0 + 0.0500000000000004*G1_0_1 + 0.0250000000000001*G1_1_0 - 0.0250000000000003*G1_1_1;
- A[43] = 0.0500000000000004*G0_0_0 + 0.0250000000000003*G0_0_1 - 0.0250000000000003*G0_1_0 + 0.025*G0_1_1 + 0.0500000000000004*G1_0_0 + 0.0250000000000003*G1_0_1 - 0.0250000000000003*G1_1_0 + 0.025*G1_1_1;
- A[44] = -0.154166666666668*G2_0_0 - 0.154166666666668*G2_0_1 - 0.00416666666666702*G2_1_0 - 0.00416666666666711*G2_1_1 - 0.154166666666668*G3_0_0 - 0.154166666666668*G3_0_1 - 0.00416666666666702*G3_1_0 - 0.00416666666666711*G3_1_1;
- A[45] = 0.00416666666666734*G2_0_0 + 0.00416666666666659*G2_1_0 + 0.00416666666666734*G3_0_0 + 0.00416666666666659*G3_1_0;
- A[46] = -0.0708333333333333*G2_0_1 + 0.0791666666666673*G2_1_1 - 0.0708333333333333*G3_0_1 + 0.0791666666666673*G3_1_1;
- A[47] = -0.112500000000002*G2_0_0 - 0.0749999999999994*G2_0_1 + 0.075000000000001*G2_1_0 + 0.0375000000000001*G2_1_1 - 0.112500000000002*G3_0_0 - 0.0749999999999994*G3_0_1 + 0.075000000000001*G3_1_0 + 0.0375000000000001*G3_1_1;
- A[48] = -0.225000000000001*G2_0_0 - 0.187500000000003*G2_0_1 + 0.187500000000001*G2_1_0 + 0.150000000000001*G2_1_1 - 0.225000000000001*G3_0_0 - 0.187500000000003*G3_0_1 + 0.187500000000001*G3_1_0 + 0.150000000000001*G3_1_1;
- A[49] = -0.337500000000003*G2_0_0 + 0.112500000000001*G2_0_1 + 0.150000000000002*G2_1_0 + 0.0750000000000016*G2_1_1 - 0.337500000000003*G3_0_0 + 0.112500000000001*G3_0_1 + 0.150000000000002*G3_1_0 + 0.0750000000000016*G3_1_1;
- A[50] = 0.225000000000001*G2_0_0 + 0.112500000000001*G2_0_1 - 0.187500000000001*G2_1_0 - 0.150000000000001*G2_1_1 + 0.225000000000001*G3_0_0 + 0.112500000000001*G3_0_1 - 0.187500000000001*G3_1_0 - 0.150000000000001*G3_1_1;
- A[51] = 0.187500000000002*G2_0_0 - 0.262500000000001*G2_0_1 + 0.0750000000000003*G2_1_1 + 0.187500000000002*G3_0_0 - 0.262500000000001*G3_0_1 + 0.0750000000000003*G3_1_1;
- A[52] = -0.0375000000000021*G2_0_0 + 0.0749999999999997*G2_0_1 - 0.0374999999999997*G2_1_1 - 0.0375000000000021*G3_0_0 + 0.0749999999999997*G3_0_1 - 0.0374999999999997*G3_1_1;
- A[53] = 0.450000000000005*G2_0_0 + 0.450000000000003*G2_0_1 - 0.225000000000003*G2_1_0 - 0.225000000000002*G2_1_1 + 0.450000000000005*G3_0_0 + 0.450000000000003*G3_0_1 - 0.225000000000003*G3_1_0 - 0.225000000000002*G3_1_1;
- A[54] = -0.0166666666666668*G0_0_0 - 0.0500000000000004*G0_0_1 + 0.00833333333333335*G0_1_0 + 0.041666666666667*G0_1_1 - 0.0166666666666668*G1_0_0 - 0.0500000000000004*G1_0_1 + 0.00833333333333335*G1_1_0 + 0.041666666666667*G1_1_1;
- A[55] = 0.0333333333333336*G0_0_0 + 0.1*G0_0_1 - 0.0166666666666668*G0_1_0 - 0.0833333333333339*G0_1_1 + 0.0333333333333336*G1_0_0 + 0.1*G1_0_1 - 0.0166666666666668*G1_1_0 - 0.0833333333333339*G1_1_1;
- A[56] = -0.1*G0_0_0 + 0.0500000000000002*G0_0_1 + 0.0500000000000002*G0_1_0 - 0.0416666666666669*G0_1_1 - 0.1*G1_0_0 + 0.0500000000000002*G1_0_1 + 0.0500000000000002*G1_1_0 - 0.0416666666666669*G1_1_1;
- A[57] = 0.150000000000001*G0_0_0 - 0.1*G0_0_1 - 0.1*G0_1_0 + 0.0833333333333339*G0_1_1 + 0.150000000000001*G1_0_0 - 0.1*G1_0_1 - 0.1*G1_1_0 + 0.0833333333333339*G1_1_1;
- A[58] = -0.0166666666666668*G0_0_0 + 0.066666666666667*G0_0_1 + 0.0083333333333334*G0_1_0 - 0.0166666666666666*G0_1_1 - 0.0166666666666668*G1_0_0 + 0.066666666666667*G1_0_1 + 0.0083333333333334*G1_1_0 - 0.0166666666666666*G1_1_1;
- A[59] = -0.0166666666666668*G0_0_0 + 0.0166666666666669*G0_0_1 + 0.00833333333333335*G0_1_0 - 0.0166666666666668*G0_1_1 - 0.0166666666666668*G1_0_0 + 0.0166666666666669*G1_0_1 + 0.00833333333333335*G1_1_0 - 0.0166666666666668*G1_1_1;
- A[60] = -0.0250000000000005*G0_0_0 - 0.025*G0_1_0 - 0.0250000000000005*G1_0_0 - 0.025*G1_1_0;
- A[61] = -0.0500000000000004*G0_0_0 + 0.0750000000000004*G0_0_1 + 0.0250000000000001*G0_1_0 - 0.0750000000000003*G0_1_1 - 0.0500000000000004*G1_0_0 + 0.0750000000000004*G1_0_1 + 0.0250000000000001*G1_1_0 - 0.0750000000000003*G1_1_1;
- A[62] = 0.0708333333333335*G2_0_0 + 0.0708333333333336*G2_0_1 + 0.00833333333333384*G2_1_0 + 0.00833333333333391*G2_1_1 + 0.0708333333333335*G3_0_0 + 0.0708333333333336*G3_0_1 + 0.00833333333333384*G3_1_0 + 0.00833333333333391*G3_1_1;
- A[63] = 0.00416666666666701*G2_0_0 - 0.00833333333333376*G2_1_0 + 0.00416666666666701*G3_0_0 - 0.00833333333333376*G3_1_0;
- A[64] = 0.154166666666667*G2_0_1 - 0.158333333333335*G2_1_1 + 0.154166666666667*G3_0_1 - 0.158333333333335*G3_1_1;
- A[65] = -0.112500000000001*G2_0_0 - 0.0750000000000018*G2_0_1 + 0.0750000000000011*G2_1_0 + 0.0375000000000007*G2_1_1 - 0.112500000000001*G3_0_0 - 0.0750000000000018*G3_0_1 + 0.0750000000000011*G3_1_0 + 0.0375000000000007*G3_1_1;
- A[66] = 0.450000000000003*G2_0_0 + 0.262500000000002*G2_0_1 - 0.375000000000003*G2_1_0 - 0.1875*G2_1_1 + 0.450000000000003*G3_0_0 + 0.262500000000002*G3_0_1 - 0.375000000000003*G3_1_0 - 0.1875*G3_1_1;
- A[67] = 0.112500000000001*G2_0_0 - 0.112500000000002*G2_0_1 - 0.075000000000001*G2_1_0 - 0.0375000000000007*G2_1_1 + 0.112500000000001*G3_0_0 - 0.112500000000002*G3_0_1 - 0.075000000000001*G3_1_0 - 0.0375000000000007*G3_1_1;
- A[68] = -0.450000000000003*G2_0_0 - 0.112499999999999*G2_0_1 + 0.375000000000003*G2_1_0 + 0.187500000000001*G2_1_1 - 0.450000000000003*G3_0_0 - 0.112499999999999*G3_0_1 + 0.375000000000003*G3_1_0 + 0.187500000000001*G3_1_1;
- A[69] = -0.0374999999999997*G2_0_0 + 0.187500000000002*G2_0_1 - 0.0375*G2_1_1 - 0.0374999999999997*G3_0_0 + 0.187500000000002*G3_0_1 - 0.0375*G3_1_1;
- A[70] = -0.0375000000000008*G2_0_0 + 0.0750000000000011*G2_0_1 - 0.0375000000000008*G2_1_1 - 0.0375000000000008*G3_0_0 + 0.0750000000000011*G3_0_1 - 0.0375000000000008*G3_1_1;
- A[71] = -0.450000000000004*G2_0_1 + 0.225000000000002*G2_1_1 - 0.450000000000004*G3_0_1 + 0.225000000000002*G3_1_1;
- A[72] = -0.041666666666667*G0_0_0 - 0.00833333333333342*G0_0_1 + 0.0500000000000002*G0_1_0 + 0.0166666666666669*G0_1_1 - 0.041666666666667*G1_0_0 - 0.00833333333333342*G1_0_1 + 0.0500000000000002*G1_1_0 + 0.0166666666666669*G1_1_1;
- A[73] = 0.00833333333333327*G0_0_0 - 0.00833333333333339*G0_0_1 + 0.0166666666666666*G0_1_1 + 0.00833333333333327*G1_0_0 - 0.00833333333333339*G1_0_1 + 0.0166666666666666*G1_1_1;
- A[74] = 0.0333333333333335*G0_0_0 - 0.0166666666666668*G0_0_1 - 0.133333333333334*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G1_0_0 - 0.0166666666666668*G1_0_1 - 0.133333333333334*G1_1_0 + 0.0333333333333335*G1_1_1;
- A[75] = -0.0166666666666668*G0_0_0 + 0.0083333333333334*G0_0_1 + 0.066666666666667*G0_1_0 - 0.0166666666666666*G0_1_1 - 0.0166666666666668*G1_0_0 + 0.0083333333333334*G1_0_1 + 0.066666666666667*G1_1_0 - 0.0166666666666666*G1_1_1;
- A[76] = 0.0333333333333337*G0_0_0 - 0.0500000000000004*G0_0_1 - 0.0500000000000004*G0_1_0 + 0.150000000000001*G0_1_1 + 0.0333333333333337*G1_0_0 - 0.0500000000000004*G1_0_1 - 0.0500000000000004*G1_1_0 + 0.150000000000001*G1_1_1;
- A[77] = -0.041666666666667*G0_0_0 + 0.0500000000000003*G0_0_1 + 0.0500000000000003*G0_1_0 - 0.1*G0_1_1 - 0.041666666666667*G1_0_0 + 0.0500000000000003*G1_0_1 + 0.0500000000000003*G1_1_0 - 0.1*G1_1_1;
- A[78] = -0.025*G0_0_0 + 0.0250000000000003*G0_0_1 - 0.0250000000000004*G0_1_0 - 0.0500000000000004*G0_1_1 - 0.025*G1_0_0 + 0.0250000000000003*G1_0_1 - 0.0250000000000004*G1_1_0 - 0.0500000000000004*G1_1_1;
- A[79] = 0.0250000000000004*G0_0_0 - 0.0250000000000003*G0_0_1 - 0.0500000000000006*G0_1_0 - 0.0250000000000001*G0_1_1 + 0.0250000000000004*G1_0_0 - 0.0250000000000003*G1_0_1 - 0.0500000000000006*G1_1_0 - 0.0250000000000001*G1_1_1;
- A[80] = 0.00416666666666687*G2_0_0 + 0.00416666666666715*G2_0_1 + 0.154166666666668*G2_1_0 + 0.154166666666668*G2_1_1 + 0.00416666666666687*G3_0_0 + 0.00416666666666715*G3_0_1 + 0.154166666666668*G3_1_0 + 0.154166666666668*G3_1_1;
- A[81] = -0.0791666666666673*G2_0_0 + 0.0708333333333332*G2_1_0 - 0.0791666666666673*G3_0_0 + 0.0708333333333332*G3_1_0;
- A[82] = -0.00416666666666674*G2_0_1 - 0.00416666666666739*G2_1_1 - 0.00416666666666674*G3_0_1 - 0.00416666666666739*G3_1_1;
- A[83] = -0.150000000000002*G2_0_0 - 0.187500000000002*G2_0_1 + 0.187500000000002*G2_1_0 + 0.225000000000001*G2_1_1 - 0.150000000000002*G3_0_0 - 0.187500000000002*G3_0_1 + 0.187500000000002*G3_1_0 + 0.225000000000001*G3_1_1;
- A[84] = -0.0375000000000004*G2_0_0 - 0.0750000000000007*G2_0_1 + 0.0750000000000001*G2_1_0 + 0.112500000000002*G2_1_1 - 0.0375000000000004*G3_0_0 - 0.0750000000000007*G3_0_1 + 0.0750000000000001*G3_1_0 + 0.112500000000002*G3_1_1;
- A[85] = -0.0750000000000011*G2_0_0 + 0.262500000000002*G2_1_0 - 0.187500000000001*G2_1_1 - 0.0750000000000011*G3_0_0 + 0.262500000000002*G3_1_0 - 0.187500000000001*G3_1_1;
- A[86] = 0.0375000000000004*G2_0_0 - 0.0750000000000001*G2_1_0 + 0.0375000000000008*G2_1_1 + 0.0375000000000004*G3_0_0 - 0.0750000000000001*G3_1_0 + 0.0375000000000008*G3_1_1;
- A[87] = -0.075000000000001*G2_0_0 - 0.150000000000001*G2_0_1 - 0.112500000000002*G2_1_0 + 0.337500000000002*G2_1_1 - 0.075000000000001*G3_0_0 - 0.150000000000001*G3_0_1 - 0.112500000000002*G3_1_0 + 0.337500000000002*G3_1_1;
- A[88] = 0.150000000000001*G2_0_0 + 0.187500000000001*G2_0_1 - 0.112499999999999*G2_1_0 - 0.225*G2_1_1 + 0.150000000000001*G3_0_0 + 0.187500000000001*G3_0_1 - 0.112499999999999*G3_1_0 - 0.225*G3_1_1;
- A[89] = 0.225000000000003*G2_0_0 + 0.225000000000004*G2_0_1 - 0.450000000000004*G2_1_0 - 0.450000000000005*G2_1_1 + 0.225000000000003*G3_0_0 + 0.225000000000004*G3_0_1 - 0.450000000000004*G3_1_0 - 0.450000000000005*G3_1_1;
- A[90] = 0.0833333333333339*G0_0_0 + 0.0166666666666667*G0_0_1 - 0.1*G0_1_0 - 0.0333333333333336*G0_1_1 + 0.0833333333333339*G1_0_0 + 0.0166666666666667*G1_0_1 - 0.1*G1_1_0 - 0.0333333333333336*G1_1_1;
- A[91] = -0.0416666666666669*G0_0_0 - 0.00833333333333336*G0_0_1 + 0.0500000000000003*G0_1_0 + 0.0166666666666668*G0_1_1 - 0.0416666666666669*G1_0_0 - 0.00833333333333336*G1_0_1 + 0.0500000000000003*G1_1_0 + 0.0166666666666668*G1_1_1;
- A[92] = -0.0166666666666667*G0_0_0 + 0.00833333333333339*G0_0_1 + 0.066666666666667*G0_1_0 - 0.0166666666666668*G0_1_1 - 0.0166666666666667*G1_0_0 + 0.00833333333333339*G1_0_1 + 0.066666666666667*G1_1_0 - 0.0166666666666668*G1_1_1;
- A[93] = -0.0166666666666668*G0_0_0 + 0.00833333333333335*G0_0_1 + 0.0166666666666669*G0_1_0 - 0.0166666666666668*G0_1_1 - 0.0166666666666668*G1_0_0 + 0.00833333333333335*G1_0_1 + 0.0166666666666669*G1_1_0 - 0.0166666666666668*G1_1_1;
- A[94] = -0.041666666666667*G0_0_0 + 0.0500000000000003*G0_0_1 + 0.0500000000000003*G0_1_0 - 0.1*G0_1_1 - 0.041666666666667*G1_0_0 + 0.0500000000000003*G1_0_1 + 0.0500000000000003*G1_1_0 - 0.1*G1_1_1;
- A[95] = 0.0833333333333339*G0_0_0 - 0.1*G0_0_1 - 0.1*G0_1_0 + 0.150000000000001*G0_1_1 + 0.0833333333333339*G1_0_0 - 0.1*G1_0_1 - 0.1*G1_1_0 + 0.150000000000001*G1_1_1;
- A[96] = 0.0750000000000004*G0_0_0 - 0.0250000000000001*G0_0_1 - 0.0750000000000006*G0_1_0 + 0.0500000000000003*G0_1_1 + 0.0750000000000004*G1_0_0 - 0.0250000000000001*G1_0_1 - 0.0750000000000006*G1_1_0 + 0.0500000000000003*G1_1_1;
- A[97] = 0.0250000000000001*G0_0_1 + 0.0250000000000003*G0_1_1 + 0.0250000000000001*G1_0_1 + 0.0250000000000003*G1_1_1;
- A[98] = -0.00833333333333326*G2_0_0 - 0.00833333333333391*G2_0_1 - 0.0708333333333343*G2_1_0 - 0.0708333333333336*G2_1_1 - 0.00833333333333326*G3_0_0 - 0.00833333333333391*G3_0_1 - 0.0708333333333343*G3_1_0 - 0.0708333333333336*G3_1_1;
- A[99] = 0.158333333333334*G2_0_0 - 0.154166666666667*G2_1_0 + 0.158333333333334*G3_0_0 - 0.154166666666667*G3_1_0;
- A[100] = 0.00833333333333404*G2_0_1 - 0.00416666666666736*G2_1_1 + 0.00833333333333404*G3_0_1 - 0.00416666666666736*G3_1_1;
- A[101] = 0.187500000000001*G2_0_0 + 0.375000000000003*G2_0_1 - 0.262500000000002*G2_1_0 - 0.450000000000004*G2_1_1 + 0.187500000000001*G3_0_0 + 0.375000000000003*G3_0_1 - 0.262500000000002*G3_1_0 - 0.450000000000004*G3_1_1;
- A[102] = -0.0375*G2_0_0 - 0.0750000000000021*G2_0_1 + 0.0750000000000003*G2_1_0 + 0.112500000000002*G2_1_1 - 0.0375*G3_0_0 - 0.0750000000000021*G3_0_1 + 0.0750000000000003*G3_1_0 + 0.112500000000002*G3_1_1;
- A[103] = 0.0375000000000006*G2_0_0 - 0.187500000000002*G2_1_0 + 0.0374999999999981*G2_1_1 + 0.0375000000000006*G3_0_0 - 0.187500000000002*G3_1_0 + 0.0374999999999981*G3_1_1;
- A[104] = 0.0375*G2_0_0 - 0.0750000000000003*G2_1_0 + 0.0375000000000016*G2_1_1 + 0.0375*G3_0_0 - 0.0750000000000003*G3_1_0 + 0.0375000000000016*G3_1_1;
- A[105] = 0.0374999999999998*G2_0_0 + 0.0749999999999989*G2_0_1 + 0.112500000000003*G2_1_0 - 0.112499999999998*G2_1_1 + 0.0374999999999998*G3_0_0 + 0.0749999999999989*G3_0_1 + 0.112500000000003*G3_1_0 - 0.112499999999998*G3_1_1;
- A[106] = -0.187500000000001*G2_0_0 - 0.375000000000001*G2_0_1 + 0.112499999999999*G2_1_0 + 0.450000000000001*G2_1_1 - 0.187500000000001*G3_0_0 - 0.375000000000001*G3_0_1 + 0.112499999999999*G3_1_0 + 0.450000000000001*G3_1_1;
- A[107] = -0.225000000000002*G2_0_0 + 0.450000000000004*G2_1_0 - 0.225000000000002*G3_0_0 + 0.450000000000004*G3_1_0;
- A[108] = 0.0750000000000004*G0_0_0 - 0.0250000000000001*G0_1_0 - 0.0250000000000003*G0_1_1 + 0.0750000000000004*G1_0_0 - 0.0250000000000001*G1_1_0 - 0.0250000000000003*G1_1_1;
- A[109] = -0.0500000000000004*G0_0_0 + 0.025*G0_0_1 - 0.0500000000000004*G1_0_0 + 0.025*G1_0_1;
- A[110] = 0.0250000000000002*G0_0_0 + 0.0250000000000001*G0_0_1 + 0.0500000000000004*G0_1_0 - 0.0250000000000003*G0_1_1 + 0.0250000000000002*G1_0_0 + 0.0250000000000001*G1_0_1 + 0.0500000000000004*G1_1_0 - 0.0250000000000003*G1_1_1;
- A[111] = -0.0250000000000005*G0_0_0 - 0.025*G0_0_1 - 0.0250000000000005*G1_0_0 - 0.025*G1_0_1;
- A[112] = -0.025*G0_0_0 - 0.0250000000000004*G0_0_1 + 0.0250000000000003*G0_1_0 - 0.0500000000000004*G0_1_1 - 0.025*G1_0_0 - 0.0250000000000004*G1_0_1 + 0.0250000000000003*G1_1_0 - 0.0500000000000004*G1_1_1;
- A[113] = 0.0750000000000004*G0_0_0 - 0.0750000000000006*G0_0_1 - 0.0250000000000001*G0_1_0 + 0.0500000000000003*G0_1_1 + 0.0750000000000004*G1_0_0 - 0.0750000000000006*G1_0_1 - 0.0250000000000001*G1_1_0 + 0.0500000000000003*G1_1_1;
- A[114] = 0.350000000000001*G0_0_0 - 0.0250000000000002*G0_0_1 - 0.0250000000000002*G0_1_0 + 0.0500000000000006*G0_1_1 + 0.350000000000001*G1_0_0 - 0.0250000000000002*G1_0_1 - 0.0250000000000002*G1_1_0 + 0.0500000000000006*G1_1_1;
- A[115] = 0.0250000000000004*G0_0_0 + 0.249999999999999*G0_0_1 + 0.0250000000000004*G0_1_0 + 0.0250000000000003*G0_1_1 + 0.0250000000000004*G1_0_0 + 0.249999999999999*G1_0_1 + 0.0250000000000004*G1_1_0 + 0.0250000000000003*G1_1_1;
- A[116] = -0.0375000000000011*G2_0_0 - 0.0375000000000025*G2_0_1 - 0.0375000000000011*G3_0_0 - 0.0375000000000025*G3_0_1;
- A[117] = 0.0375000000000008*G2_0_0 + 0.0375000000000008*G3_0_0;
- A[118] = 0.0375000000000026*G2_0_1 + 0.0375000000000026*G3_0_1;
- A[119] = 0.449999999999999*G2_0_0 + 0.337500000000003*G2_0_1 - 0.225000000000003*G2_1_0 - 0.112500000000001*G2_1_1 + 0.449999999999999*G3_0_0 + 0.337500000000003*G3_0_1 - 0.225000000000003*G3_1_0 - 0.112500000000001*G3_1_1;
- A[120] = 0.1125*G2_0_0 + 0.224999999999993*G2_0_1 - 0.112500000000002*G2_1_1 + 0.1125*G3_0_0 + 0.224999999999993*G3_0_1 - 0.112500000000002*G3_1_1;
- A[121] = -0.224999999999997*G2_0_0 - 0.225000000000003*G2_1_0 - 0.112500000000002*G2_1_1 - 0.224999999999997*G3_0_0 - 0.225000000000003*G3_1_0 - 0.112500000000002*G3_1_1;
- A[122] = -0.1125*G2_0_0 + 0.112500000000002*G2_1_1 - 0.1125*G3_0_0 + 0.112500000000002*G3_1_1;
- A[123] = -0.225*G2_0_0 - 0.450000000000005*G2_0_1 - 0.112500000000001*G2_1_1 - 0.225*G3_0_0 - 0.450000000000005*G3_0_1 - 0.112500000000001*G3_1_1;
- A[124] = 0.225*G2_0_0 - 0.337499999999998*G2_0_1 + 0.1125*G2_1_1 + 0.225*G3_0_0 - 0.337499999999998*G3_0_1 + 0.1125*G3_1_1;
- A[125] = -0.225000000000002*G2_0_0 + 0.225000000000002*G2_0_1 + 0.450000000000006*G2_1_0 + 0.225000000000003*G2_1_1 - 0.225000000000002*G3_0_0 + 0.225000000000002*G3_0_1 + 0.450000000000006*G3_1_0 + 0.225000000000003*G3_1_1;
- A[126] = 0.0250000000000001*G0_1_0 - 0.0500000000000004*G0_1_1 + 0.0250000000000001*G1_1_0 - 0.0500000000000004*G1_1_1;
- A[127] = -0.0250000000000004*G0_0_0 - 0.0250000000000001*G0_0_1 + 0.0750000000000004*G0_1_1 - 0.0250000000000004*G1_0_0 - 0.0250000000000001*G1_0_1 + 0.0750000000000004*G1_1_1;
- A[128] = 0.0500000000000004*G0_0_0 - 0.0250000000000003*G0_0_1 + 0.0250000000000003*G0_1_0 + 0.025*G0_1_1 + 0.0500000000000004*G1_0_0 - 0.0250000000000003*G1_0_1 + 0.0250000000000003*G1_1_0 + 0.025*G1_1_1;
- A[129] = -0.0500000000000004*G0_0_0 + 0.0250000000000001*G0_0_1 + 0.0750000000000004*G0_1_0 - 0.0750000000000003*G0_1_1 - 0.0500000000000004*G1_0_0 + 0.0250000000000001*G1_0_1 + 0.0750000000000004*G1_1_0 - 0.0750000000000003*G1_1_1;
- A[130] = 0.0250000000000004*G0_0_0 - 0.0500000000000006*G0_0_1 - 0.0250000000000003*G0_1_0 - 0.0250000000000001*G0_1_1 + 0.0250000000000004*G1_0_0 - 0.0500000000000006*G1_0_1 - 0.0250000000000003*G1_1_0 - 0.0250000000000001*G1_1_1;
- A[131] = 0.0250000000000001*G0_1_0 + 0.0250000000000003*G0_1_1 + 0.0250000000000001*G1_1_0 + 0.0250000000000003*G1_1_1;
- A[132] = 0.0250000000000004*G0_0_0 + 0.0250000000000004*G0_0_1 + 0.249999999999999*G0_1_0 + 0.0250000000000003*G0_1_1 + 0.0250000000000004*G1_0_0 + 0.0250000000000004*G1_0_1 + 0.249999999999999*G1_1_0 + 0.0250000000000003*G1_1_1;
- A[133] = 0.0500000000000008*G0_0_0 - 0.0250000000000003*G0_0_1 - 0.0250000000000003*G0_1_0 + 0.35*G0_1_1 + 0.0500000000000008*G1_0_0 - 0.0250000000000003*G1_0_1 - 0.0250000000000003*G1_1_0 + 0.35*G1_1_1;
- A[134] = -0.0375000000000014*G2_1_0 - 0.0375000000000024*G2_1_1 - 0.0375000000000014*G3_1_0 - 0.0375000000000024*G3_1_1;
- A[135] = 0.0375000000000019*G2_1_0 + 0.0375000000000019*G3_1_0;
- A[136] = 0.037500000000001*G2_1_1 + 0.037500000000001*G3_1_1;
- A[137] = -0.112500000000002*G2_0_0 + 0.224999999999998*G2_1_0 + 0.1125*G2_1_1 - 0.112500000000002*G3_0_0 + 0.224999999999998*G3_1_0 + 0.1125*G3_1_1;
- A[138] = -0.112500000000001*G2_0_0 - 0.225000000000003*G2_0_1 + 0.337500000000001*G2_1_0 + 0.449999999999996*G2_1_1 - 0.112500000000001*G3_0_0 - 0.225000000000003*G3_0_1 + 0.337500000000001*G3_1_0 + 0.449999999999996*G3_1_1;
- A[139] = -0.112500000000002*G2_0_0 - 0.450000000000001*G2_1_0 - 0.224999999999998*G2_1_1 - 0.112500000000002*G3_0_0 - 0.450000000000001*G3_1_0 - 0.224999999999998*G3_1_1;
- A[140] = 0.112500000000001*G2_0_0 - 0.337500000000001*G2_1_0 + 0.225000000000004*G2_1_1 + 0.112500000000001*G3_0_0 - 0.337500000000001*G3_1_0 + 0.225000000000004*G3_1_1;
- A[141] = -0.112500000000002*G2_0_0 - 0.225000000000004*G2_0_1 - 0.225*G2_1_1 - 0.112500000000002*G3_0_0 - 0.225000000000004*G3_0_1 - 0.225*G3_1_1;
- A[142] = 0.112500000000002*G2_0_0 - 0.112499999999997*G2_1_1 + 0.112500000000002*G3_0_0 - 0.112499999999997*G3_1_1;
- A[143] = 0.225000000000004*G2_0_0 + 0.450000000000007*G2_0_1 + 0.225000000000003*G2_1_0 - 0.225000000000005*G2_1_1 + 0.225000000000004*G3_0_0 + 0.450000000000007*G3_0_1 + 0.225000000000003*G3_1_0 - 0.225000000000005*G3_1_1;
- A[144] = -0.00833333333333325*G4_0_0 - 0.00833333333333391*G4_0_1 + 0.00416666666666685*G4_1_0 + 0.00416666666666684*G4_1_1 - 0.00833333333333325*G5_0_0 - 0.00833333333333391*G5_0_1 + 0.00416666666666685*G5_1_0 + 0.00416666666666684*G5_1_1;
- A[145] = 0.00416666666666639*G4_0_0 + 0.00416666666666677*G4_0_1 - 0.00833333333333385*G4_1_0 - 0.00833333333333392*G4_1_1 + 0.00416666666666639*G5_0_0 + 0.00416666666666677*G5_0_1 - 0.00833333333333385*G5_1_0 - 0.00833333333333392*G5_1_1;
- A[146] = -0.154166666666668*G4_0_0 - 0.154166666666668*G4_0_1 - 0.00416666666666702*G4_1_0 - 0.00416666666666711*G4_1_1 - 0.154166666666668*G5_0_0 - 0.154166666666668*G5_0_1 - 0.00416666666666702*G5_1_0 - 0.00416666666666711*G5_1_1;
- A[147] = 0.0708333333333335*G4_0_0 + 0.0708333333333336*G4_0_1 + 0.00833333333333384*G4_1_0 + 0.00833333333333391*G4_1_1 + 0.0708333333333335*G5_0_0 + 0.0708333333333336*G5_0_1 + 0.00833333333333384*G5_1_0 + 0.00833333333333391*G5_1_1;
- A[148] = 0.00416666666666687*G4_0_0 + 0.00416666666666715*G4_0_1 + 0.154166666666668*G4_1_0 + 0.154166666666668*G4_1_1 + 0.00416666666666687*G5_0_0 + 0.00416666666666715*G5_0_1 + 0.154166666666668*G5_1_0 + 0.154166666666668*G5_1_1;
- A[149] = -0.00833333333333326*G4_0_0 - 0.00833333333333391*G4_0_1 - 0.0708333333333343*G4_1_0 - 0.0708333333333336*G4_1_1 - 0.00833333333333326*G5_0_0 - 0.00833333333333391*G5_0_1 - 0.0708333333333343*G5_1_0 - 0.0708333333333336*G5_1_1;
- A[150] = -0.0375000000000011*G4_0_0 - 0.0375000000000025*G4_0_1 - 0.0375000000000011*G5_0_0 - 0.0375000000000025*G5_0_1;
- A[151] = -0.0375000000000014*G4_1_0 - 0.0375000000000024*G4_1_1 - 0.0375000000000014*G5_1_0 - 0.0375000000000024*G5_1_1;
- A[152] = 0.0;
- A[153] = 0.0;
- A[154] = 0.0;
- A[155] = 0.0;
- A[156] = 0.0;
- A[157] = 0.0;
- A[158] = 0.0;
- A[159] = 0.0;
- A[160] = 0.0;
- A[161] = 0.0;
- A[162] = 0.158333333333334*G4_0_0 - 0.00416666666666717*G4_1_0 + 0.158333333333334*G5_0_0 - 0.00416666666666717*G5_1_0;
- A[163] = -0.0791666666666671*G4_0_0 + 0.00833333333333376*G4_1_0 - 0.0791666666666671*G5_0_0 + 0.00833333333333376*G5_1_0;
- A[164] = 0.00416666666666734*G4_0_0 + 0.00416666666666659*G4_1_0 + 0.00416666666666734*G5_0_0 + 0.00416666666666659*G5_1_0;
- A[165] = 0.00416666666666701*G4_0_0 - 0.00833333333333376*G4_1_0 + 0.00416666666666701*G5_0_0 - 0.00833333333333376*G5_1_0;
- A[166] = -0.0791666666666673*G4_0_0 + 0.0708333333333332*G4_1_0 - 0.0791666666666673*G5_0_0 + 0.0708333333333332*G5_1_0;
- A[167] = 0.158333333333334*G4_0_0 - 0.154166666666667*G4_1_0 + 0.158333333333334*G5_0_0 - 0.154166666666667*G5_1_0;
- A[168] = 0.0375000000000008*G4_0_0 + 0.0375000000000008*G5_0_0;
- A[169] = 0.0375000000000019*G4_1_0 + 0.0375000000000019*G5_1_0;
- A[170] = 0.0;
- A[171] = 0.0;
- A[172] = 0.0;
- A[173] = 0.0;
- A[174] = 0.0;
- A[175] = 0.0;
- A[176] = 0.0;
- A[177] = 0.0;
- A[178] = 0.0;
- A[179] = 0.0;
- A[180] = 0.00833333333333402*G4_0_1 - 0.0791666666666673*G4_1_1 + 0.00833333333333402*G5_0_1 - 0.0791666666666673*G5_1_1;
- A[181] = -0.00416666666666729*G4_0_1 + 0.158333333333335*G4_1_1 - 0.00416666666666729*G5_0_1 + 0.158333333333335*G5_1_1;
- A[182] = -0.0708333333333333*G4_0_1 + 0.0791666666666673*G4_1_1 - 0.0708333333333333*G5_0_1 + 0.0791666666666673*G5_1_1;
- A[183] = 0.154166666666667*G4_0_1 - 0.158333333333335*G4_1_1 + 0.154166666666667*G5_0_1 - 0.158333333333335*G5_1_1;
- A[184] = -0.00416666666666674*G4_0_1 - 0.00416666666666739*G4_1_1 - 0.00416666666666674*G5_0_1 - 0.00416666666666739*G5_1_1;
- A[185] = 0.00833333333333404*G4_0_1 - 0.00416666666666736*G4_1_1 + 0.00833333333333404*G5_0_1 - 0.00416666666666736*G5_1_1;
- A[186] = 0.0375000000000026*G4_0_1 + 0.0375000000000026*G5_0_1;
- A[187] = 0.037500000000001*G4_1_1 + 0.037500000000001*G5_1_1;
- A[188] = 0.0;
- A[189] = 0.0;
- A[190] = 0.0;
- A[191] = 0.0;
- A[192] = 0.0;
- A[193] = 0.0;
- A[194] = 0.0;
- A[195] = 0.0;
- A[196] = 0.0;
- A[197] = 0.0;
- A[198] = 0.187500000000001*G4_0_0 + 0.375000000000003*G4_0_1 + 0.150000000000002*G4_1_0 + 0.0750000000000007*G4_1_1 + 0.187500000000001*G5_0_0 + 0.375000000000003*G5_0_1 + 0.150000000000002*G5_1_0 + 0.0750000000000007*G5_1_1;
- A[199] = -0.0374999999999993*G4_0_0 - 0.187500000000002*G4_0_1 - 0.0750000000000013*G4_1_0 - 0.0375000000000008*G4_1_1 - 0.0374999999999993*G5_0_0 - 0.187500000000002*G5_0_1 - 0.0750000000000013*G5_1_0 - 0.0375000000000008*G5_1_1;
- A[200] = -0.112500000000002*G4_0_0 - 0.0749999999999994*G4_0_1 + 0.075000000000001*G4_1_0 + 0.0375000000000001*G4_1_1 - 0.112500000000002*G5_0_0 - 0.0749999999999994*G5_0_1 + 0.075000000000001*G5_1_0 + 0.0375000000000001*G5_1_1;
- A[201] = -0.112500000000001*G4_0_0 - 0.0750000000000018*G4_0_1 + 0.0750000000000011*G4_1_0 + 0.0375000000000007*G4_1_1 - 0.112500000000001*G5_0_0 - 0.0750000000000018*G5_0_1 + 0.0750000000000011*G5_1_0 + 0.0375000000000007*G5_1_1;
- A[202] = -0.150000000000002*G4_0_0 - 0.187500000000002*G4_0_1 + 0.187500000000002*G4_1_0 + 0.225000000000001*G4_1_1 - 0.150000000000002*G5_0_0 - 0.187500000000002*G5_0_1 + 0.187500000000002*G5_1_0 + 0.225000000000001*G5_1_1;
- A[203] = 0.187500000000001*G4_0_0 + 0.375000000000003*G4_0_1 - 0.262500000000002*G4_1_0 - 0.450000000000004*G4_1_1 + 0.187500000000001*G5_0_0 + 0.375000000000003*G5_0_1 - 0.262500000000002*G5_1_0 - 0.450000000000004*G5_1_1;
- A[204] = 0.449999999999999*G4_0_0 + 0.337500000000003*G4_0_1 - 0.225000000000003*G4_1_0 - 0.112500000000001*G4_1_1 + 0.449999999999999*G5_0_0 + 0.337500000000003*G5_0_1 - 0.225000000000003*G5_1_0 - 0.112500000000001*G5_1_1;
- A[205] = -0.112500000000002*G4_0_0 + 0.224999999999998*G4_1_0 + 0.1125*G4_1_1 - 0.112500000000002*G5_0_0 + 0.224999999999998*G5_1_0 + 0.1125*G5_1_1;
- A[206] = 0.0;
- A[207] = 0.0;
- A[208] = 0.0;
- A[209] = 0.0;
- A[210] = 0.0;
- A[211] = 0.0;
- A[212] = 0.0;
- A[213] = 0.0;
- A[214] = 0.0;
- A[215] = 0.0;
- A[216] = -0.0375*G4_0_0 - 0.0750000000000021*G4_0_1 - 0.187500000000001*G4_1_0 - 0.0374999999999995*G4_1_1 - 0.0375*G5_0_0 - 0.0750000000000021*G5_0_1 - 0.187500000000001*G5_1_0 - 0.0374999999999995*G5_1_1;
- A[217] = 0.0750000000000004*G4_0_0 + 0.150000000000003*G4_0_1 + 0.375000000000003*G4_1_0 + 0.1875*G4_1_1 + 0.0750000000000004*G5_0_0 + 0.150000000000003*G5_0_1 + 0.375000000000003*G5_1_0 + 0.1875*G5_1_1;
- A[218] = -0.225000000000001*G4_0_0 - 0.187500000000003*G4_0_1 + 0.187500000000001*G4_1_0 + 0.150000000000001*G4_1_1 - 0.225000000000001*G5_0_0 - 0.187500000000003*G5_0_1 + 0.187500000000001*G5_1_0 + 0.150000000000001*G5_1_1;
- A[219] = 0.450000000000003*G4_0_0 + 0.262500000000002*G4_0_1 - 0.375000000000003*G4_1_0 - 0.1875*G4_1_1 + 0.450000000000003*G5_0_0 + 0.262500000000002*G5_0_1 - 0.375000000000003*G5_1_0 - 0.1875*G5_1_1;
- A[220] = -0.0375000000000004*G4_0_0 - 0.0750000000000007*G4_0_1 + 0.0750000000000001*G4_1_0 + 0.112500000000002*G4_1_1 - 0.0375000000000004*G5_0_0 - 0.0750000000000007*G5_0_1 + 0.0750000000000001*G5_1_0 + 0.112500000000002*G5_1_1;
- A[221] = -0.0375*G4_0_0 - 0.0750000000000021*G4_0_1 + 0.0750000000000003*G4_1_0 + 0.112500000000002*G4_1_1 - 0.0375*G5_0_0 - 0.0750000000000021*G5_0_1 + 0.0750000000000003*G5_1_0 + 0.112500000000002*G5_1_1;
- A[222] = 0.1125*G4_0_0 + 0.224999999999993*G4_0_1 - 0.112500000000002*G4_1_1 + 0.1125*G5_0_0 + 0.224999999999993*G5_0_1 - 0.112500000000002*G5_1_1;
- A[223] = -0.112500000000001*G4_0_0 - 0.225000000000003*G4_0_1 + 0.337500000000001*G4_1_0 + 0.449999999999996*G4_1_1 - 0.112500000000001*G5_0_0 - 0.225000000000003*G5_0_1 + 0.337500000000001*G5_1_0 + 0.449999999999996*G5_1_1;
- A[224] = 0.0;
- A[225] = 0.0;
- A[226] = 0.0;
- A[227] = 0.0;
- A[228] = 0.0;
- A[229] = 0.0;
- A[230] = 0.0;
- A[231] = 0.0;
- A[232] = 0.0;
- A[233] = 0.0;
- A[234] = 0.0375000000000005*G4_0_0 + 0.0750000000000012*G4_1_0 + 0.0375000000000008*G4_1_1 + 0.0375000000000005*G5_0_0 + 0.0750000000000012*G5_1_0 + 0.0375000000000008*G5_1_1;
- A[235] = 0.0375000000000006*G4_0_0 + 0.0750000000000008*G4_1_0 + 0.0375000000000007*G4_1_1 + 0.0375000000000006*G5_0_0 + 0.0750000000000008*G5_1_0 + 0.0375000000000007*G5_1_1;
- A[236] = -0.337500000000003*G4_0_0 + 0.112500000000001*G4_0_1 + 0.150000000000002*G4_1_0 + 0.0750000000000016*G4_1_1 - 0.337500000000003*G5_0_0 + 0.112500000000001*G5_0_1 + 0.150000000000002*G5_1_0 + 0.0750000000000016*G5_1_1;
- A[237] = 0.112500000000001*G4_0_0 - 0.112500000000002*G4_0_1 - 0.075000000000001*G4_1_0 - 0.0375000000000007*G4_1_1 + 0.112500000000001*G5_0_0 - 0.112500000000002*G5_0_1 - 0.075000000000001*G5_1_0 - 0.0375000000000007*G5_1_1;
- A[238] = -0.0750000000000011*G4_0_0 + 0.262500000000002*G4_1_0 - 0.187500000000001*G4_1_1 - 0.0750000000000011*G5_0_0 + 0.262500000000002*G5_1_0 - 0.187500000000001*G5_1_1;
- A[239] = 0.0375000000000006*G4_0_0 - 0.187500000000002*G4_1_0 + 0.0374999999999981*G4_1_1 + 0.0375000000000006*G5_0_0 - 0.187500000000002*G5_1_0 + 0.0374999999999981*G5_1_1;
- A[240] = -0.224999999999997*G4_0_0 - 0.225000000000003*G4_1_0 - 0.112500000000002*G4_1_1 - 0.224999999999997*G5_0_0 - 0.225000000000003*G5_1_0 - 0.112500000000002*G5_1_1;
- A[241] = -0.112500000000002*G4_0_0 - 0.450000000000001*G4_1_0 - 0.224999999999998*G4_1_1 - 0.112500000000002*G5_0_0 - 0.450000000000001*G5_1_0 - 0.224999999999998*G5_1_1;
- A[242] = 0.0;
- A[243] = 0.0;
- A[244] = 0.0;
- A[245] = 0.0;
- A[246] = 0.0;
- A[247] = 0.0;
- A[248] = 0.0;
- A[249] = 0.0;
- A[250] = 0.0;
- A[251] = 0.0;
- A[252] = 0.0375*G4_0_0 + 0.187500000000001*G4_1_0 + 0.0374999999999994*G4_1_1 + 0.0375*G5_0_0 + 0.187500000000001*G5_1_0 + 0.0374999999999994*G5_1_1;
- A[253] = -0.0750000000000005*G4_0_0 - 0.375000000000003*G4_1_0 - 0.187500000000001*G4_1_1 - 0.0750000000000005*G5_0_0 - 0.375000000000003*G5_1_0 - 0.187500000000001*G5_1_1;
- A[254] = 0.225000000000001*G4_0_0 + 0.112500000000001*G4_0_1 - 0.187500000000001*G4_1_0 - 0.150000000000001*G4_1_1 + 0.225000000000001*G5_0_0 + 0.112500000000001*G5_0_1 - 0.187500000000001*G5_1_0 - 0.150000000000001*G5_1_1;
- A[255] = -0.450000000000003*G4_0_0 - 0.112499999999999*G4_0_1 + 0.375000000000003*G4_1_0 + 0.187500000000001*G4_1_1 - 0.450000000000003*G5_0_0 - 0.112499999999999*G5_0_1 + 0.375000000000003*G5_1_0 + 0.187500000000001*G5_1_1;
- A[256] = 0.0375000000000004*G4_0_0 - 0.0750000000000001*G4_1_0 + 0.0375000000000008*G4_1_1 + 0.0375000000000004*G5_0_0 - 0.0750000000000001*G5_1_0 + 0.0375000000000008*G5_1_1;
- A[257] = 0.0375*G4_0_0 - 0.0750000000000003*G4_1_0 + 0.0375000000000016*G4_1_1 + 0.0375*G5_0_0 - 0.0750000000000003*G5_1_0 + 0.0375000000000016*G5_1_1;
- A[258] = -0.1125*G4_0_0 + 0.112500000000002*G4_1_1 - 0.1125*G5_0_0 + 0.112500000000002*G5_1_1;
- A[259] = 0.112500000000001*G4_0_0 - 0.337500000000001*G4_1_0 + 0.225000000000004*G4_1_1 + 0.112500000000001*G5_0_0 - 0.337500000000001*G5_1_0 + 0.225000000000004*G5_1_1;
- A[260] = 0.0;
- A[261] = 0.0;
- A[262] = 0.0;
- A[263] = 0.0;
- A[264] = 0.0;
- A[265] = 0.0;
- A[266] = 0.0;
- A[267] = 0.0;
- A[268] = 0.0;
- A[269] = 0.0;
- A[270] = 0.0374999999999997*G4_0_0 + 0.0749999999999989*G4_0_1 + 0.0375000000000003*G4_1_1 + 0.0374999999999997*G5_0_0 + 0.0749999999999989*G5_0_1 + 0.0375000000000003*G5_1_1;
- A[271] = 0.0375000000000013*G4_0_0 + 0.0750000000000024*G4_0_1 + 0.0374999999999999*G4_1_1 + 0.0375000000000013*G5_0_0 + 0.0750000000000024*G5_0_1 + 0.0374999999999999*G5_1_1;
- A[272] = 0.187500000000002*G4_0_0 - 0.262500000000001*G4_0_1 + 0.0750000000000003*G4_1_1 + 0.187500000000002*G5_0_0 - 0.262500000000001*G5_0_1 + 0.0750000000000003*G5_1_1;
- A[273] = -0.0374999999999997*G4_0_0 + 0.187500000000002*G4_0_1 - 0.0375*G4_1_1 - 0.0374999999999997*G5_0_0 + 0.187500000000002*G5_0_1 - 0.0375*G5_1_1;
- A[274] = -0.075000000000001*G4_0_0 - 0.150000000000001*G4_0_1 - 0.112500000000002*G4_1_0 + 0.337500000000002*G4_1_1 - 0.075000000000001*G5_0_0 - 0.150000000000001*G5_0_1 - 0.112500000000002*G5_1_0 + 0.337500000000002*G5_1_1;
- A[275] = 0.0374999999999998*G4_0_0 + 0.0749999999999989*G4_0_1 + 0.112500000000003*G4_1_0 - 0.112499999999998*G4_1_1 + 0.0374999999999998*G5_0_0 + 0.0749999999999989*G5_0_1 + 0.112500000000003*G5_1_0 - 0.112499999999998*G5_1_1;
- A[276] = -0.225*G4_0_0 - 0.450000000000005*G4_0_1 - 0.112500000000001*G4_1_1 - 0.225*G5_0_0 - 0.450000000000005*G5_0_1 - 0.112500000000001*G5_1_1;
- A[277] = -0.112500000000002*G4_0_0 - 0.225000000000004*G4_0_1 - 0.225*G4_1_1 - 0.112500000000002*G5_0_0 - 0.225000000000004*G5_0_1 - 0.225*G5_1_1;
- A[278] = 0.0;
- A[279] = 0.0;
- A[280] = 0.0;
- A[281] = 0.0;
- A[282] = 0.0;
- A[283] = 0.0;
- A[284] = 0.0;
- A[285] = 0.0;
- A[286] = 0.0;
- A[287] = 0.0;
- A[288] = -0.187500000000001*G4_0_0 - 0.375000000000001*G4_0_1 - 0.0750000000000004*G4_1_1 - 0.187500000000001*G5_0_0 - 0.375000000000001*G5_0_1 - 0.0750000000000004*G5_1_1;
- A[289] = 0.0374999999999994*G4_0_0 + 0.1875*G4_0_1 + 0.0375000000000009*G4_1_1 + 0.0374999999999994*G5_0_0 + 0.1875*G5_0_1 + 0.0375000000000009*G5_1_1;
- A[290] = -0.0375000000000021*G4_0_0 + 0.0749999999999997*G4_0_1 - 0.0374999999999997*G4_1_1 - 0.0375000000000021*G5_0_0 + 0.0749999999999997*G5_0_1 - 0.0374999999999997*G5_1_1;
- A[291] = -0.0375000000000008*G4_0_0 + 0.0750000000000011*G4_0_1 - 0.0375000000000008*G4_1_1 - 0.0375000000000008*G5_0_0 + 0.0750000000000011*G5_0_1 - 0.0375000000000008*G5_1_1;
- A[292] = 0.150000000000001*G4_0_0 + 0.187500000000001*G4_0_1 - 0.112499999999999*G4_1_0 - 0.225*G4_1_1 + 0.150000000000001*G5_0_0 + 0.187500000000001*G5_0_1 - 0.112499999999999*G5_1_0 - 0.225*G5_1_1;
- A[293] = -0.187500000000001*G4_0_0 - 0.375000000000001*G4_0_1 + 0.112499999999999*G4_1_0 + 0.450000000000001*G4_1_1 - 0.187500000000001*G5_0_0 - 0.375000000000001*G5_0_1 + 0.112499999999999*G5_1_0 + 0.450000000000001*G5_1_1;
- A[294] = 0.225*G4_0_0 - 0.337499999999998*G4_0_1 + 0.1125*G4_1_1 + 0.225*G5_0_0 - 0.337499999999998*G5_0_1 + 0.1125*G5_1_1;
- A[295] = 0.112500000000002*G4_0_0 - 0.112499999999997*G4_1_1 + 0.112500000000002*G5_0_0 - 0.112499999999997*G5_1_1;
- A[296] = 0.0;
- A[297] = 0.0;
- A[298] = 0.0;
- A[299] = 0.0;
- A[300] = 0.0;
- A[301] = 0.0;
- A[302] = 0.0;
- A[303] = 0.0;
- A[304] = 0.0;
- A[305] = 0.0;
- A[306] = -0.225000000000001*G4_0_0 - 0.225000000000003*G4_1_0 - 0.225000000000001*G5_0_0 - 0.225000000000003*G5_1_0;
- A[307] = -0.225000000000003*G4_0_1 - 0.225000000000002*G4_1_1 - 0.225000000000003*G5_0_1 - 0.225000000000002*G5_1_1;
- A[308] = 0.450000000000005*G4_0_0 + 0.450000000000003*G4_0_1 - 0.225000000000003*G4_1_0 - 0.225000000000002*G4_1_1 + 0.450000000000005*G5_0_0 + 0.450000000000003*G5_0_1 - 0.225000000000003*G5_1_0 - 0.225000000000002*G5_1_1;
- A[309] = -0.450000000000004*G4_0_1 + 0.225000000000002*G4_1_1 - 0.450000000000004*G5_0_1 + 0.225000000000002*G5_1_1;
- A[310] = 0.225000000000003*G4_0_0 + 0.225000000000004*G4_0_1 - 0.450000000000004*G4_1_0 - 0.450000000000005*G4_1_1 + 0.225000000000003*G5_0_0 + 0.225000000000004*G5_0_1 - 0.450000000000004*G5_1_0 - 0.450000000000005*G5_1_1;
- A[311] = -0.225000000000002*G4_0_0 + 0.450000000000004*G4_1_0 - 0.225000000000002*G5_0_0 + 0.450000000000004*G5_1_0;
- A[312] = -0.225000000000002*G4_0_0 + 0.225000000000002*G4_0_1 + 0.450000000000006*G4_1_0 + 0.225000000000003*G4_1_1 - 0.225000000000002*G5_0_0 + 0.225000000000002*G5_0_1 + 0.450000000000006*G5_1_0 + 0.225000000000003*G5_1_1;
- A[313] = 0.225000000000004*G4_0_0 + 0.450000000000007*G4_0_1 + 0.225000000000003*G4_1_0 - 0.225000000000005*G4_1_1 + 0.225000000000004*G5_0_0 + 0.450000000000007*G5_0_1 + 0.225000000000003*G5_1_0 - 0.225000000000005*G5_1_1;
- A[314] = 0.0;
- A[315] = 0.0;
- A[316] = 0.0;
- A[317] = 0.0;
- A[318] = 0.0;
- A[319] = 0.0;
- A[320] = 0.0;
- A[321] = 0.0;
- A[322] = 0.0;
- A[323] = 0.0;
- }
-
-};
-
-
-class mixedpoissondual_cell_integral_1_otherwise: public ufc::cell_integral
-{
-public:
-
- mixedpoissondual_cell_integral_1_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~mixedpoissondual_cell_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 13
- // Total number of operations (multiply-add pairs): 19
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = -0.00833333333333328*G0_0 - 0.00416666666666666*G0_1 - 0.00416666666666666*G0_2;
- A[9] = -0.00416666666666666*G0_0 - 0.00833333333333342*G0_1 - 0.00416666666666669*G0_2;
- A[10] = -0.00416666666666666*G0_0 - 0.00416666666666668*G0_1 - 0.00833333333333342*G0_2;
- A[11] = -0.0375000000000001*G0_1;
- A[12] = -0.0375000000000001*G0_2;
- A[13] = -0.0375*G0_0;
- A[14] = -0.0374999999999999*G0_2;
- A[15] = -0.0375*G0_0;
- A[16] = -0.0374999999999999*G0_1;
- A[17] = -0.0749999999999998*G0_0 - 0.0749999999999997*G0_1 - 0.0749999999999997*G0_2;
- }
-
-};
-
-
-class mixedpoissondual_exterior_facet_integral_1_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- mixedpoissondual_exterior_facet_integral_1_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~mixedpoissondual_exterior_facet_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 18
- // Total number of operations (multiply-add pairs): 31
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[1][0]*(1.0);
- const double G0_1 = det*w[1][1]*(1.0);
- const double G0_2 = det*w[1][2]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = 0.0;
- A[9] = -0.108333333333333*G0_1 - 0.0166666666666667*G0_2;
- A[10] = -0.0166666666666667*G0_1 - 0.108333333333333*G0_2;
- A[11] = -0.3*G0_1 - 0.075*G0_2;
- A[12] = -0.075*G0_1 - 0.3*G0_2;
- A[13] = 0.0;
- A[14] = 0.0;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- break;
- }
- case 1:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = -0.108333333333333*G0_0 - 0.0166666666666667*G0_2;
- A[9] = 0.0;
- A[10] = -0.0166666666666667*G0_0 - 0.108333333333333*G0_2;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = -0.3*G0_0 - 0.0749999999999999*G0_2;
- A[14] = -0.0750000000000001*G0_0 - 0.3*G0_2;
- A[15] = 0.0;
- A[16] = 0.0;
- A[17] = 0.0;
- break;
- }
- case 2:
- {
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = 0.0;
- A[7] = 0.0;
- A[8] = -0.108333333333333*G0_0 - 0.0166666666666667*G0_1;
- A[9] = -0.0166666666666666*G0_0 - 0.108333333333333*G0_1;
- A[10] = 0.0;
- A[11] = 0.0;
- A[12] = 0.0;
- A[13] = 0.0;
- A[14] = 0.0;
- A[15] = -0.3*G0_0 - 0.0749999999999999*G0_1;
- A[16] = -0.075*G0_0 - 0.3*G0_1;
- A[17] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class mixedpoissondual_form_0: public ufc::form
-{
-public:
-
- mixedpoissondual_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "46d8cd974dfa45d2017b0c800fb5cd88d3d330deca42ed75976a0ce1a2bad00bb842e756820ce534dfbd3ef8fd49e02ed1f6015913c18479b3434a781ad5e6e1";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new mixedpoissondual_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new mixedpoissondual_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_finite_element_4();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_finite_element_4();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_dofmap_4();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_dofmap_4();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new mixedpoissondual_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class mixedpoissondual_form_1: public ufc::form
-{
-public:
-
- mixedpoissondual_form_1() : ufc::form()
- {
- // Do nothing
- }
-
- ~mixedpoissondual_form_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "717dcecc3642f3db1c1e735b3bb475e901808f18c00bd4ffb8cd0c98bfcf5c38436c56e8e3a3bc9828b1ac37f4431f930b8fd74b23f6df07ad50a7bee787cb86";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 2;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new mixedpoissondual_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new mixedpoissondual_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_finite_element_4();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_finite_element_0();
- break;
- }
- case 2:
- {
- return new mixedpoissondual_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoissondual_dofmap_4();
- break;
- }
- case 1:
- {
- return new mixedpoissondual_dofmap_0();
- break;
- }
- case 2:
- {
- return new mixedpoissondual_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new mixedpoissondual_cell_integral_1_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new mixedpoissondual_exterior_facet_integral_1_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace MixedPoissonDual
-{
-
-class CoefficientSpace_f: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace_g: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const mixedpoissondual_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class Form_L_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoissondual_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoissondual_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_L_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_L_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_L_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-typedef CoefficientSpace_f Form_L_FunctionSpace_1;
-
-typedef CoefficientSpace_g Form_L_FunctionSpace_2;
-
-class Form_L: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const mixedpoissondual_form_1>();
- }
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
- this->g = g;
-
- _ufc_form = std::make_shared<const mixedpoissondual_form_1>();
- }
-
- // Destructor
- ~Form_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_L_FunctionSpace_2 CoefficientSpace_g;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
-};
-
-class MultiMeshForm_L: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V0), f(*this, 0), g(*this, 1)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
- dolfin::MultiMeshForm(V0), f(*this, 0), g(*this, 1)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
- this->f = f;
- this->g = g;
-
- }
-
- // Destructor
- ~MultiMeshForm_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_L_FunctionSpace_2 CoefficientSpace_g;
-
- // Coefficients
- dolfin::MultiMeshCoefficientAssigner f;
- dolfin::MultiMeshCoefficientAssigner g;
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_L LinearForm;
-typedef MultiMeshForm_L MultiMeshLinearForm;
-typedef Form_L ResidualForm;
-typedef MultiMeshForm_L MultiMeshResidualForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.ufl b/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.ufl
deleted file mode 100644
index 74c9f98..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/MixedPoissonDual.ufl
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2014 Jan Blechta
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2014-01-29
-# Last changed: 2014-01-29
-#
-# The bilinear form a(u, v) and linear form L(v) for a two-field
-# (mixed) formulation of Poisson's equation
-#
-# Compile this form with FFC: ffc -l dolfin MixedPoissonDual.ufl.
-
-DRT = FiniteElement("DRT", triangle, 2)
-CG = FiniteElement("CG", triangle, 3)
-W = DRT * CG
-
-(sigma, u) = TrialFunctions(W)
-(tau, v) = TestFunctions(W)
-
-CG1 = FiniteElement("CG", triangle, 1)
-f = Coefficient(CG1)
-g = Coefficient(CG1)
-
-a = (dot(sigma, tau) + dot(grad(u), tau) + dot(sigma, grad(v)))*dx
-L = - f*v*dx - g*v*ds
diff --git a/demo/documented/mixed-poisson-dual/cpp/compile.log b/demo/documented/mixed-poisson-dual/cpp/compile.log
deleted file mode 100644
index 7099caa..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/compile.log
+++ /dev/null
@@ -1,316 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form MixedPoissonDual
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<DRT2(?), CG3(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<DRT2(?), CG3(?)>, Vector<2 x CG1(?)>, DRT2(?), C
- G3(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'Mixed<DRT2(?), CG3(?)>, CG1(?), Vector<2 x C
- G1(?)>'
- Unique sub elements: 'Mixed<DRT2(?), CG3(?)>, CG1(?), Vector<2 x C
- G1(?)>, DRT2(?), CG3(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.678321 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00188 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00179 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00185 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00206 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00261 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1296 entries computed in 0.00216 seconds
- Shape of reference tensor: (18, 18, 2, 2)
- Primary multi index: rank = 2 dims = [18, 18] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [2 [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00175 seconds
- Shape of reference tensor: (18, 3)
- Primary multi index: rank = 1 dims = [18] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00285 seconds
- Shape of reference tensor: (18, 3)
- Primary multi index: rank = 1 dims = [18] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.0026 seconds
- Shape of reference tensor: (18, 3)
- Primary multi index: rank = 1 dims = [18] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 54 entries computed in 0.00258 seconds
- Shape of reference tensor: (18, 3)
- Primary multi index: rank = 1 dims = [18] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0604539 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000254869 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.918485 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00102019 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00387502 seconds.
-
-FFC finished in 1.66308 seconds.
-Output written to ./MixedPoissonDual.h.
diff --git a/demo/documented/mixed-poisson-dual/cpp/documentation.rst b/demo/documented/mixed-poisson-dual/cpp/documentation.rst
deleted file mode 100644
index 6a49252..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/documentation.rst
+++ /dev/null
@@ -1,211 +0,0 @@
-.. Documentation for the mixed Poisson demo from DOLFIN.
-
-.. _demo_pde_mixed-poisson-dual_cpp_documentation:
-
-Dual-mixed formulation for Poisson equation
-======================================
-
-.. include:: ../common.txt
-
-Implementation
---------------
-
-The implementation is split in two files, a form file containing the
-definition of the variational forms expressed in UFL and the solver
-which is implemented in a C++ file.
-
-Running this demo requires the files: :download:`main.cpp`,
-:download:`MixedPoissonDual.ufl` and :download:`CMakeLists.txt`.
-
-UFL form file
-^^^^^^^^^^^^^
-
-First we define the variational problem in UFL which we save in the
-file called :download:`MixedPoissonDual.ufl`.
-
-We begin by defining the finite element spaces. We define two finite
-element spaces :math:`\Sigma_h = DRT` and :math:`V_h = CG` separately,
-before combining these into a mixed finite element space:
-
-.. code-block:: python
-
- DRT = FiniteElement("DRT", triangle, 2)
- CG = FiniteElement("CG", triangle, 3)
- W = DRT * CG
-
-The first argument to :py:class:`FiniteElement` specifies the type of
-finite element family, while the third argument specifies the
-polynomial degree. The UFL user manual contains a list of all
-available finite element families and more details. The * operator
-creates a mixed (product) space ``W`` from the two separate spaces
-``DRT`` and ``CG``. Hence,
-
-.. math::
-
- W = \{ (\tau, v) \ \text{such that} \ \tau \in DRT, v \in CG \}.
-
-Next, we need to specify the trial functions (the unknowns) and the
-test functions on this space. This can be done as follows
-
-.. code-block:: python
-
- (sigma, u) = TrialFunctions(W)
- (tau, v) = TestFunctions(W)
-
-Further, we need to specify the sources :math:`f` and :math:`g`
-(coefficients) that will be used in the linear form of the variational
-problem. This coefficient needs be defined on a finite element space,
-but ``CG`` of polynmial degree 3 is not necessary. We therefore define
-a separate finite element space for these coefficients.
-
-.. code-block:: python
-
- CG1 = FiniteElement("CG", triangle, 1)
- f = Coefficient(CG1)
- g = Coefficient(CG1)
-
-Finally, we define the bilinear and linear forms according to the
-equations:
-
-.. code-block:: python
-
- a = (dot(sigma, tau) + dot(grad(u), tau) + dot(sigma, grad(v)))*dx
- L = - f*v*dx - g*v*ds
-
-
-C++ program
-^^^^^^^^^^^
-
-The solver is implemented in the :download:`main.cpp` file.
-
-At the top we include the DOLFIN header file and the generated header
-file containing the variational forms. For convenience we also
-include the DOLFIN namespace.
-
-.. code-block:: c++
-
- #include <dolfin.h>
- #include "MixedPoissonDual.h"
-
- using namespace dolfin;
-
-Then follows the definition of the coefficient functions (for
-:math:`f` and :math:`g`), which are derived from the DOLFIN
-:cpp:class:`Expression` class.
-
-.. code-block:: c++
-
- // Source term (right-hand side)
- class Source : public Expression
- {
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
- };
-
- // Boundary source for Neumann boundary condition
- class BoundarySource : public Expression
- {
- void eval(Array<double>& values, const Array<double>& x) const
- { values[0] = sin(5.0*x[0]); }
- };
-
-Then follows the definition of the essential boundary part of the
-boundary of the domain, which is derived from the
-:cpp:class:`SubDomain` class.
-
-.. code-block:: c++
-
- // Sub domain for Dirichlet boundary condition
- class DirichletBoundary : public SubDomain
- {
- bool inside(const Array<double>& x, bool on_boundary) const
- { return x[0] < DOLFIN_EPS || x[0] > 1.0 - DOLFIN_EPS; }
- };
-
-Inside the ``main()`` function we first create the ``mesh`` and then
-we define the (mixed) function space for the variational
-formulation. We also define the bilinear form ``a`` and linear form
-``L`` relative to this function space.
-
-.. code-block:: c++
-
- // Construct function space
- auto W = std::make_shared<MixedPoissonDual::FunctionSpace>(mesh);
- MixedPoissonDual::BilinearForm a(W, W);
- MixedPoissonDual::LinearForm L(W);
-
-Then we create the sources (:math:`f`, :math:`g`) and assign it to the
-linear form.
-
-.. code-block:: c++
-
- // Create sources and assign to L
- auto f = std::make_shared<Source>();
- auto g = std::make_shared<BoundarySource>();
- L.f = f;
- L.g = g;
-
-It only remains to prescribe the boundary condition for :math:``u``.
-Essential boundary conditions are specified through the class
-:cpp:class:`DirichletBC` which takes three arguments: the function
-space the boundary condition is supposed to be applied to, the data
-for the boundary condition, and the relevant part of the boundary.
-
-We want to apply the boundary condition to the second subspace of the
-mixed space.
-
-.. code-block:: c++
-
- // Define boundary condition
- auto zero = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(W->sub(1), zero, boundary);
-
-To compute the solution we use the bilinear and linear forms, and the
-boundary condition, but we also need to create a :cpp:class:`Function`
-to store the solution(s). The (full) solution will be stored in the
-:cpp:class:`Function` ``w``, which we initialise using the
-:cpp:class:`FunctionSpace` ``W``. The actual computation is performed
-by calling ``solve``.
-
-.. code-block:: c++
-
- // Compute solution
- Function w(W);
- solve(a == L, w, bc);
-
-Now, the separate components ``sigma`` and ``u`` of the solution can
-be extracted by taking components. These can easily be visualized by
-calling ``plot``.
-
-.. code-block:: c++
-
- // Extract sub functions (function views)
- Function& sigma = w[0];
- Function& u = w[1];
-
- // Plot solutions
- plot(u);
- plot(sigma);
-
-
-Complete code
--------------
-
-Complete UFL file
-^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: MixedPoissonDual.ufl
- :start-after: # Compile
- :language: python
-
-Complete main file
-^^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: main.cpp
- :start-after: // Last changed
- :language: c++
diff --git a/demo/documented/mixed-poisson-dual/cpp/main.cpp b/demo/documented/mixed-poisson-dual/cpp/main.cpp
deleted file mode 100644
index ddc2b83..0000000
--- a/demo/documented/mixed-poisson-dual/cpp/main.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (C) 2014 Jan Blechta
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2014-01-29
-// Last changed: 2014-01-29
-
-#include <dolfin.h>
-#include "MixedPoissonDual.h"
-
-using namespace dolfin;
-
-// Source term (right-hand side)
-class Source : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
-};
-
-// Boundary source for Neumann boundary condition
-class BoundarySource : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- { values[0] = sin(5.0*x[0]); }
-};
-
-// Sub domain for Dirichlet boundary condition
-class DirichletBoundary : public SubDomain
-{
- bool inside(const Array<double>& x, bool on_boundary) const
- { return x[0] < DOLFIN_EPS || x[0] > 1.0 - DOLFIN_EPS; }
-};
-
-int main()
-{
- // Create mesh
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
-
- // Construct function space
- auto W = std::make_shared<MixedPoissonDual::FunctionSpace>(mesh);
- MixedPoissonDual::BilinearForm a(W, W);
- MixedPoissonDual::LinearForm L(W);
-
- // Create sources and assign to L
- auto f = std::make_shared<Source>();
- auto g = std::make_shared<BoundarySource>();
- L.f = f;
- L.g = g;
-
- // Define boundary condition
- auto zero = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(W->sub(1), zero, boundary);
-
- // Compute solution
- Function w(W);
- solve(a == L, w, bc);
-
- // Extract sub functions (function views)
- Function& sigma = w[0];
- Function& u = w[1];
-
- // Plot solutions
- plot(u);
- plot(sigma);
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/mixed-poisson-dual/mixed-poisson-dual_sigma.png b/demo/documented/mixed-poisson-dual/mixed-poisson-dual_sigma.png
deleted file mode 100644
index 8b1e333..0000000
Binary files a/demo/documented/mixed-poisson-dual/mixed-poisson-dual_sigma.png and /dev/null differ
diff --git a/demo/documented/mixed-poisson-dual/mixed-poisson-dual_u.png b/demo/documented/mixed-poisson-dual/mixed-poisson-dual_u.png
deleted file mode 100644
index 307341e..0000000
Binary files a/demo/documented/mixed-poisson-dual/mixed-poisson-dual_u.png and /dev/null differ
diff --git a/demo/documented/mixed-poisson-dual/python/demo_mixed-poisson-dual.py b/demo/documented/mixed-poisson-dual/python/demo_mixed-poisson-dual.py
deleted file mode 100644
index 427beea..0000000
--- a/demo/documented/mixed-poisson-dual/python/demo_mixed-poisson-dual.py
+++ /dev/null
@@ -1,78 +0,0 @@
-"""This demo program solves the mixed formulation of Poisson's
-equation:
-
- sigma + grad(u) = 0 in Omega
- div(sigma) = f in Omega
- du/dn = g on Gamma_N
- u = u_D on Gamma_D
-
-The corresponding weak (variational problem)
-
- <sigma, tau> + <grad(u), tau> = 0
- for all tau
- - <sigma, grad(v)> = <f, v> + <g, v>
- for all v
-
-is solved using DRT (Discontinuous Raviart-Thomas) elements
-of degree k for (sigma, tau) and CG (Lagrange) elements
-of degree k + 1 for (u, v) for k >= 1.
-"""
-
-# Copyright (C) 2014 Jan Blechta
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2014-01-27
-# Last changed: 2014-01-29
-
-# Begin demo
-
-from dolfin import *
-
-# Create mesh
-mesh = UnitSquareMesh(32, 32)
-
-# Define finite elements spaces and build mixed space
-DRT = FiniteElement("DRT", mesh.ufl_cell(), 2)
-CG = FiniteElement("CG", mesh.ufl_cell(), 3)
-W = FunctionSpace(mesh, DRT * CG)
-
-# Define trial and test functions
-(sigma, u) = TrialFunctions(W)
-(tau, v) = TestFunctions(W)
-
-# Define source functions
-f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
-g = Expression("sin(5.0*x[0])", degree=2)
-
-# Define variational form
-a = (dot(sigma, tau) + dot(grad(u), tau) + dot(sigma, grad(v)))*dx
-L = - f*v*dx - g*v*ds
-
-# Define Dirichlet BC
-def boundary(x):
- return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS
-bc = DirichletBC(W.sub(1), 0.0, boundary)
-
-# Compute solution
-w = Function(W)
-solve(a == L, w, bc)
-(sigma, u) = w.split()
-
-# Plot sigma and u
-plot(sigma)
-plot(u)
-interactive()
diff --git a/demo/documented/mixed-poisson-dual/python/documentation.rst b/demo/documented/mixed-poisson-dual/python/documentation.rst
deleted file mode 100644
index bae2f67..0000000
--- a/demo/documented/mixed-poisson-dual/python/documentation.rst
+++ /dev/null
@@ -1,144 +0,0 @@
-.. Documentation for the dual mixed Poisson demo from DOLFIN.
-
-.. _demo_pde_mixed-poisson-dual_python_documentation:
-
-Dual-mixed formulation for Poisson equation
-======================================
-
-This demo is implemented in a single Python file,
-:download:`demo_mixed-poisson-dual.py`, which contains both the
-variational forms and the solver.
-
-.. include:: ../common.txt
-
-
-Implementation
---------------
-
-This demo is implemented in the :download:`demo_mixed-poisson-dual.py`
-file.
-
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
-
- from dolfin import *
-
-Then, we need to create a :py:class:`Mesh <dolfin.cpp.Mesh>` covering
-the unit square. In this example, we will let the mesh consist of 32 x
-32 squares with each square divided into two triangles:
-
-.. code-block:: python
-
- # Create mesh
- mesh = UnitSquareMesh(32, 32)
-
-.. index::
- pair: FunctionSpace; Discontinuous Raviart-Thomas
- pair: FunctionSpace; Lagrange
-
-Next, we need to build the function space.
-
-.. code-block:: python
-
- # Define finite elements spaces and build mixed space
- DRT = FiniteElement("DRT", mesh.ufl_cell(), 2)
- CG = FiniteElement("CG", mesh.ufl_cell(), 3)
- W = FunctionSpace(mesh, DRT * CG)
-
-The second argument to :py:class:`FunctionSpace
-<dolfin.functions.functionspace.FunctionSpace>` specifies underlying
-finite element, here mixed element obtained by ``*`` operator.
-
-.. math::
-
- W = \{ (\tau, v) \ \text{such that} \ \tau \in DRT, v \in CG \}.
-
-Next, we need to specify the trial functions (the unknowns) and the
-test functions on this space. This can be done as follows
-
-.. code-block:: python
-
- # Define trial and test functions
- (sigma, u) = TrialFunctions(W)
- (tau, v) = TestFunctions(W)
-
-In order to define the variational form, it only remains to define the
-source functions :math:`f` and :math:`g`. This is done just as for the
-:ref:`mixed Poisson demo
-<demo_pde_mixed-poisson_python_documentation>`:
-
-.. code-block:: python
-
- # Define source functions
- f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
- g = Expression("sin(5.0*x[0])", degree=2)
-
-We are now ready to define the variational forms a and L.
-
-.. code-block:: python
-
- # Define variational form
- a = (dot(sigma, tau) + dot(grad(u), tau) + dot(sigma, grad(v)))*dx
- L = - f*v*dx - g*v*ds
-
-It only remains to prescribe the Dirichlet boundary condition for
-:math:`u`. Essential boundary conditions are specified through the
-class :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>` which takes
-three arguments: the function space the boundary condition is supposed
-to be applied to, the data for the boundary condition, and the
-relevant part of the boundary.
-
-We want to apply the boundary condition to the second subspace of the
-mixed space. Subspaces of a mixed :py:class:`FunctionSpace
-<dolfin.functions.functionspace.FunctionSpace>` can be accessed
-by the method :py:func:`sub
-<dolfin.functions.functionspace.FunctionSpace.sub>`. In our case,
-this reads ``W.sub(1)``. (Do *not* use the separate space ``CG`` as
-this would mess up the numbering.)
-
-Specifying the relevant part of the boundary can be done as for the
-Poisson demo:
-
-.. code-block:: python
-
- # Define Dirichlet BC
- def boundary(x):
- return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS
-
-Now, all the pieces are in place for the construction of the essential
-boundary condition:
-
-.. code-block:: python
-
- bc = DirichletBC(W.sub(1), 0.0, boundary)
-
-To compute the solution we use the bilinear and linear forms, and the
-boundary condition, but we also need to create a :py:class:`Function
-<dolfin.functions.function.Function>` to store the solution(s). The
-(full) solution will be stored in the ``w``, which we initialise using
-the :py:class:`FunctionSpace
-<dolfin.functions.functionspace.FunctionSpace>` ``W``. The actual
-computation is performed by calling :py:func:`solve
-<dolfin.fem.solving.solve>`. The separate components ``sigma`` and
-``u`` of the solution can be extracted by calling the :py:func:`split
-<dolfin.functions.function.Function.split>` function. Finally, we plot
-the solutions to examine the result.
-
-.. code-block:: python
-
- # Compute solution
- w = Function(W)
- solve(a == L, w, bc)
- (sigma, u) = w.split()
-
- # Plot sigma and u
- plot(sigma)
- plot(u)
- interactive()
-
-
-Complete code
--------------
-.. literalinclude:: demo_mixed-poisson-dual.py
- :start-after: # Begin demo
diff --git a/demo/documented/mixed-poisson/common.txt b/demo/documented/mixed-poisson/common.txt
deleted file mode 100644
index f9c2c95..0000000
--- a/demo/documented/mixed-poisson/common.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-
-This demo illustrates how to solve Poisson equation using a mixed
-(two-field) formulation. In particular, it illustrates how to
-
-* Use mixed and non-continuous finite element spaces
-* Set essential boundary conditions for subspaces and H(div) spaces
-* Define a (vector-valued) expression using additional geometry information
-
-Equation and problem definition
--------------------------------
-
-An alternative formulation of Poisson equation can be formulated by
-introducing an additional (vector) variable, namely the (negative)
-flux: :math:`\sigma = \nabla u`. The partial differential equations
-then read
-
-.. math::
- \sigma - \nabla u &= 0 \quad {\rm in} \ \Omega, \\
- \nabla \cdot \sigma &= - f \quad {\rm in} \ \Omega,
-
-with boundary conditions
-
-.. math::
- u = u_0 \quad {\rm on} \ \Gamma_{D}, \\
- \sigma \cdot n = g \quad {\rm on} \ \Gamma_{N}.
-
-The same equations arise in connection with flow in porous media, and
-are also referred to as Darcy flow.
-
-After multiplying by test functions :math:`\tau` and :math:`v`,
-integrating over the domain, and integrating the gradient term by
-parts, one obtains the following variational formulation: find
-:math:`\sigma \in \Sigma` and :math:`v \in V` satisfying
-
-.. math::
- \int_{\Omega} (\sigma \cdot \tau + \nabla \cdot \tau \ u) \ {\rm d} x
- &= \int_{\Gamma} \tau \cdot n \ u \ {\rm d} s
- \quad \forall \ \tau \in \Sigma, \\
-
- \int_{\Omega} \nabla \cdot \sigma v \ {\rm d} x
- &= - \int_{\Omega} f \ v \ {\rm d} x
- \quad \forall \ v \in V.
-
-Here :math:`n` denotes the outward pointing normal vector on the
-boundary. Looking at the variational form, we see that the boundary
-condition for the flux (:math:`\sigma \cdot n = g`) is now an
-essential boundary condition (which should be enforced in the function
-space), while the other boundary condition (:math:`u = u_0`) is a
-natural boundary condition (which should be applied to the variational
-form). Inserting the boundary conditions, this variational problem can
-be phrased in the general form: find :math:`(\sigma, u) \in \Sigma_g
-\times V` such that
-
-.. math::
-
- a((\sigma, u), (\tau, v)) = L((\tau, v))
- \quad \forall \ (\tau, v) \in \Sigma_0 \times V
-
-where the variational forms :math:`a` and :math:`L` are defined as
-
-.. math::
-
- a((\sigma, u), (\tau, v)) &=
- \int_{\Omega} \sigma \cdot \tau + \nabla \cdot \tau \ u
- + \nabla \cdot \sigma \ v \ {\rm d} x \\
- L((\tau, v)) &= - \int_{\Omega} f v \ {\rm d} x
- + \int_{\Gamma_D} u_0 \tau \cdot n \ {\rm d} s
-
-and :math:`\Sigma_g = \{ \tau \in H({\rm div}) \text{ such that } \tau \cdot n|_{\Gamma_N} = g \}`
-and :math:`V = L^2(\Omega)`.
-
-To discretize the above formulation, two discrete function spaces
-:math:`\Sigma_h \subset \Sigma` and :math:`V_h \subset V` are needed
-to form a mixed function space :math:`\Sigma_h \times V_h`. A stable
-choice of finite element spaces is to let :math:`\Sigma_h` be the
-Brezzi-Douglas-Marini elements of polynomial order :math:`k` and let
-:math:`V_h` be discontinuous elements of polynomial order :math:`k-1`.
-
-We will use the same definitions of functions and boundaries as in the
-demo for Poisson's equation. These are:
-
-* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
-* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \in \partial \Omega\}`
-* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \in \partial \Omega\}`
-* :math:`u_0 = 0`
-* :math:`g = \sin(5x)` (flux)
-* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
-
-With the above input the solution for :math:`u` and :math:`\sigma` will look as
-follows:
-
-.. image:: ../mixed-poisson_u.png
- :scale: 75
- :align: center
-
-.. image:: ../mixed-poisson_sigma.png
- :scale: 75
- :align: center
-
diff --git a/demo/documented/mixed-poisson/cpp/CMakeLists.txt b/demo/documented/mixed-poisson/cpp/CMakeLists.txt
index 29dd3e3..2f951eb 100644
--- a/demo/documented/mixed-poisson/cpp/CMakeLists.txt
+++ b/demo/documented/mixed-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_mixed-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/mixed-poisson/cpp/MixedPoisson.h b/demo/documented/mixed-poisson/cpp/MixedPoisson.h
deleted file mode 100644
index 0ec0c80..0000000
--- a/demo/documented/mixed-poisson/cpp/MixedPoisson.h
+++ /dev/null
@@ -1,8350 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __MIXEDPOISSON_H
-#define __MIXEDPOISSON_H
-#include <stdexcept>
-#include <ufc.h>
-
-class mixedpoisson_finite_element_0: public ufc::finite_element
-{
-public:
-
- mixedpoisson_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoisson_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoisson_finite_element_0();
- }
-
-};
-
-
-class mixedpoisson_finite_element_1: public ufc::finite_element
-{
-public:
-
- mixedpoisson_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoisson_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new mixedpoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoisson_finite_element_1();
- }
-
-};
-
-
-class mixedpoisson_finite_element_2: public ufc::finite_element
-{
-public:
-
- mixedpoisson_finite_element_2() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoisson_finite_element_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Brezzi-Douglas-Marini', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Brezzi-Douglas-Marini";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333333};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.0, -0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {0.942809041582063, 0.0, 0.666666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.577350269189626, -0.666666666666667};
-
- static const double coefficients1[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, 0.833333333333333};
-
- static const double coefficients1[3] = \
- {-0.942809041582063, 0.0, -0.666666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.866025403784438, 0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333334};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, -0.866025403784439, 0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333333};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.0, -0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {0.942809041582063, 0.0, 0.666666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.577350269189626, -0.666666666666667};
-
- static const double coefficients1[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, 0.833333333333333};
-
- static const double coefficients1[3] = \
- {-0.942809041582063, 0.0, -0.666666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.866025403784438, 0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333334};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, -0.866025403784439, 0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- switch (i)
- {
- case 0:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 1:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 2:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 3:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 4:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 5:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[0] = result;
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[1] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[2] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[3] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[4] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[5] = result;
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Evaluate function and change variables
- vertex_values[0] = dof_values[2]*(1.0/detJ)*J[0]*2.0 + dof_values[3]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[1]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[1];
- vertex_values[2] = dof_values[0]*(1.0/detJ)*J[0]*2.0 + dof_values[1]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[5]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[4] = dof_values[0]*((1.0/detJ)*(J[1]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[1]*2.0 + dof_values[2]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[3]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[1] = dof_values[2]*(1.0/detJ)*J[2]*2.0 + dof_values[3]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[3]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[3];
- vertex_values[3] = dof_values[0]*(1.0/detJ)*J[2]*2.0 + dof_values[1]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[5]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- vertex_values[5] = dof_values[0]*((1.0/detJ)*(J[3]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[3]*2.0 + dof_values[2]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[3]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[2] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[3] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[4] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[5] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[6] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[7] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[8] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[9] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[10] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[11] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoisson_finite_element_2();
- }
-
-};
-
-
-class mixedpoisson_finite_element_3: public ufc::finite_element
-{
-public:
-
- mixedpoisson_finite_element_3() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoisson_finite_element_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Discontinuous Lagrange', triangle, 0)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 1;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 0;
- }
-
- const char * family() const final override
- {
- return "Discontinuous Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
-
- // Get coordinates and map to the reference (FIAT) element
-
- // Reset values
- *values = 0.0;
-
- // Array of basisvalues
- double basisvalues[1] = {0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
-
- // Table(s) of coefficients
- static const double coefficients0[1] = \
- {1.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 1; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis.
- _evaluate_basis(0, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 0)
- {
- return ;
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Element is constant, calling evaluate_basis_derivatives.
- _evaluate_basis_derivatives(0, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[0];
- vertex_values[2] = dof_values[0];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoisson_finite_element_3();
- }
-
-};
-
-
-class mixedpoisson_finite_element_4: public ufc::finite_element
-{
-public:
-
- mixedpoisson_finite_element_4() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~mixedpoisson_finite_element_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "MixedElement(FiniteElement('Brezzi-Douglas-Marini', triangle, 1), FiniteElement('Discontinuous Lagrange', triangle, 0))";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 7;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 3;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 3;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Mixed";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- values[2] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333333};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.0, -0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {0.942809041582063, 0.0, 0.666666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.577350269189626, -0.666666666666667};
-
- static const double coefficients1[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, 0.833333333333333};
-
- static const double coefficients1[3] = \
- {-0.942809041582063, 0.0, -0.666666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.866025403784438, 0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333334};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, -0.866025403784439, 0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- values[1] += coefficients1[r]*basisvalues[r];
- } // end loop over 'r'
-
- // Using contravariant Piola transform to map values back to the physical element
- const double tmp_ref0 = values[0];
- const double tmp_ref1 = values[1];
- values[0] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- values[1] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[1] = {0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
-
- // Table(s) of coefficients
- static const double coefficients0[1] = \
- {1.0};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 1; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[3] = {0.0, 0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 7; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3; s++)
- {
- values[r*3 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 3*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333333};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.0, -0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {0.942809041582063, 0.0, 0.666666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.577350269189626, -0.666666666666667};
-
- static const double coefficients1[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, 0.833333333333333};
-
- static const double coefficients1[3] = \
- {-0.942809041582063, 0.0, -0.666666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {-0.471404520791032, -0.288675134594813, 0.166666666666667};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, 0.866025403784438, 0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.942809041582063, 0.577350269189626, -0.333333333333334};
-
- static const double coefficients1[3] = \
- {-0.471404520791032, -0.866025403784439, 0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare array of reference derivatives on physical element.
- double derivatives_p[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- derivatives_p[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- derivatives[num_derivatives + r] += coefficients1[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
-
- // Using contravariant Piola transform to map values back to the physical element.
- const double tmp_ref0 = derivatives[r];
- const double tmp_ref1 = derivatives[num_derivatives + r];
- derivatives_p[r] = (1.0/detJ)*(J[0]*tmp_ref0 + J[1]*tmp_ref1);
- derivatives_p[num_derivatives + r] = (1.0/detJ)*(J[2]*tmp_ref0 + J[3]*tmp_ref1);
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives_p[s];
- values[num_derivatives + r] += transform[r][s]*derivatives_p[num_derivatives + s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[1] = {0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
-
- // Table(s) of coefficients
- static const double coefficients0[1] = \
- {1.0};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[1][1] = \
- {{0.0}};
-
- static const double dmats1[1][1] = \
- {{0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[1][1] = \
- {{1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[1][1] = \
- {{1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 1; t++)
- {
- for (unsigned int u = 0; u < 1; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 1; t++)
- {
- for (unsigned int u = 0; u < 1; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 1; t++)
- {
- for (unsigned int u = 0; u < 1; u++)
- {
- for (unsigned int tu = 0; tu < 1; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 1; t++)
- {
- for (unsigned int u = 0; u < 1; u++)
- {
- for (unsigned int tu = 0; tu < 1; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 1; s++)
- {
- for (unsigned int t = 0; t < 1; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 7; r++)
- {
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[6];
- for (unsigned int r = 0; r < 6; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 7; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- switch (i)
- {
- case 0:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 1:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 2:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 3:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- return result;
- break;
- }
- case 4:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 5:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- return result;
- break;
- }
- case 6:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[2];
-
- double result;
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[0] = result;
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1])) + (detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[1] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[2] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- result = (detJ*(K[0]*vals[0] + K[1]*vals[1]));
- values[3] = result;
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[4] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- result = (-1.0)*(detJ*(K[2]*vals[0] + K[3]*vals[1]));
- values[5] = result;
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[6] = vals[2];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
-
- // Evaluate function and change variables
- vertex_values[0] = dof_values[2]*(1.0/detJ)*J[0]*2.0 + dof_values[3]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[1]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[1];
- vertex_values[3] = dof_values[0]*(1.0/detJ)*J[0]*2.0 + dof_values[1]*((1.0/detJ)*(J[0]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[5]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[6] = dof_values[0]*((1.0/detJ)*(J[1]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[1]*2.0 + dof_values[2]*((1.0/detJ)*(J[0]*(-1.0) + J[1])) + dof_values[3]*((1.0/detJ)*(J[0]*2.0 + J[1]*(-2.0)));
- vertex_values[1] = dof_values[2]*(1.0/detJ)*J[2]*2.0 + dof_values[3]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[3]*(-2.0))) + dof_values[5]*(1.0/detJ)*J[3];
- vertex_values[4] = dof_values[0]*(1.0/detJ)*J[2]*2.0 + dof_values[1]*((1.0/detJ)*(J[2]*(-1.0))) + dof_values[4]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[5]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- vertex_values[7] = dof_values[0]*((1.0/detJ)*(J[3]*(-1.0))) + dof_values[1]*(1.0/detJ)*J[3]*2.0 + dof_values[2]*((1.0/detJ)*(J[2]*(-1.0) + J[3])) + dof_values[3]*((1.0/detJ)*(J[2]*2.0 + J[3]*(-2.0)));
- // Evaluate function and change variables
- vertex_values[2] = dof_values[6];
- vertex_values[5] = dof_values[6];
- vertex_values[8] = dof_values[6];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[2] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[3] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[4] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[5] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[6] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[7] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[8] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[9] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[10] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[11] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[12] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[13] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_finite_element_2();
- break;
- }
- case 1:
- {
- return new mixedpoisson_finite_element_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new mixedpoisson_finite_element_4();
- }
-
-};
-
-
-class mixedpoisson_dofmap_0: public ufc::dofmap
-{
-public:
-
- mixedpoisson_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoisson_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoisson_dofmap_0();
- }
-
-};
-
-
-class mixedpoisson_dofmap_1: public ufc::dofmap
-{
-public:
-
- mixedpoisson_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoisson_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new mixedpoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoisson_dofmap_1();
- }
-
-};
-
-
-class mixedpoisson_dofmap_2: public ufc::dofmap
-{
-public:
-
- mixedpoisson_dofmap_2() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoisson_dofmap_2() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Brezzi-Douglas-Marini', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[1];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 2;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = 2*entity_indices[1][0];
- dofs[1] = 2*entity_indices[1][0] + 1;
- dofs[2] = 2*entity_indices[1][1];
- dofs[3] = 2*entity_indices[1][1] + 1;
- dofs[4] = 2*entity_indices[1][2];
- dofs[5] = 2*entity_indices[1][2] + 1;
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- case 1:
- {
- dofs[0] = 2;
- dofs[1] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 4;
- dofs[1] = 5;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- case 1:
- {
- dofs[0] = 2;
- dofs[1] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 4;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoisson_dofmap_2();
- }
-
-};
-
-
-class mixedpoisson_dofmap_3: public ufc::dofmap
-{
-public:
-
- mixedpoisson_dofmap_3() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoisson_dofmap_3() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 0)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[2][0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 0;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoisson_dofmap_3();
- }
-
-};
-
-
-class mixedpoisson_dofmap_4: public ufc::dofmap
-{
-public:
-
- mixedpoisson_dofmap_4() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~mixedpoisson_dofmap_4() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for MixedElement(FiniteElement('Brezzi-Douglas-Marini', triangle, 1), FiniteElement('Discontinuous Lagrange', triangle, 0))";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[1] + num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 7;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 0;
- break;
- }
- case 1:
- {
- return 2;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + 2*entity_indices[1][0];
- dofs[1] = offset + 2*entity_indices[1][0] + 1;
- dofs[2] = offset + 2*entity_indices[1][1];
- dofs[3] = offset + 2*entity_indices[1][1] + 1;
- dofs[4] = offset + 2*entity_indices[1][2];
- dofs[5] = offset + 2*entity_indices[1][2] + 1;
- offset += 2*num_global_entities[1];
- dofs[6] = offset + entity_indices[2][0];
- offset += num_global_entities[2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- case 1:
- {
- dofs[0] = 2;
- dofs[1] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 4;
- dofs[1] = 5;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- case 1:
- {
- dofs[0] = 2;
- dofs[1] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 4;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 6;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_dofmap_2();
- break;
- }
- case 1:
- {
- return new mixedpoisson_dofmap_3();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new mixedpoisson_dofmap_4();
- }
-
-};
-
-
-class mixedpoisson_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- mixedpoisson_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~mixedpoisson_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 64
- // Number of operations (multiply-add pairs) for tensor contraction: 284
- // Total number of operations (multiply-add pairs): 351
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = 1.0 / (detJ*detJ)*det*J[0]*J[0]*(1.0);
- const double G0_0_1 = 1.0 / (detJ*detJ)*det*J[0]*J[1]*(1.0);
- const double G0_1_0 = 1.0 / (detJ*detJ)*det*J[1]*J[0]*(1.0);
- const double G0_1_1 = 1.0 / (detJ*detJ)*det*J[1]*J[1]*(1.0);
- const double G1_0_0 = 1.0 / (detJ*detJ)*det*J[2]*J[2]*(1.0);
- const double G1_0_1 = 1.0 / (detJ*detJ)*det*J[2]*J[3]*(1.0);
- const double G1_1_0 = 1.0 / (detJ*detJ)*det*J[3]*J[2]*(1.0);
- const double G1_1_1 = 1.0 / (detJ*detJ)*det*J[3]*J[3]*(1.0);
- const double G2_0_0 = 1.0 / (detJ)*det*J[0]*K[0]*(1.0);
- const double G2_0_1 = 1.0 / (detJ)*det*J[0]*K[2]*(1.0);
- const double G2_1_0 = 1.0 / (detJ)*det*J[1]*K[0]*(1.0);
- const double G2_1_1 = 1.0 / (detJ)*det*J[1]*K[2]*(1.0);
- const double G3_0_0 = 1.0 / (detJ)*det*J[2]*K[1]*(1.0);
- const double G3_0_1 = 1.0 / (detJ)*det*J[2]*K[3]*(1.0);
- const double G3_1_0 = 1.0 / (detJ)*det*J[3]*K[1]*(1.0);
- const double G3_1_1 = 1.0 / (detJ)*det*J[3]*K[3]*(1.0);
- const double G4_0_0 = 1.0 / (detJ)*det*J[0]*K[0]*(1.0);
- const double G4_0_1 = 1.0 / (detJ)*det*J[0]*K[2]*(1.0);
- const double G4_1_0 = 1.0 / (detJ)*det*J[1]*K[0]*(1.0);
- const double G4_1_1 = 1.0 / (detJ)*det*J[1]*K[2]*(1.0);
- const double G5_0_0 = 1.0 / (detJ)*det*J[2]*K[1]*(1.0);
- const double G5_0_1 = 1.0 / (detJ)*det*J[2]*K[3]*(1.0);
- const double G5_1_0 = 1.0 / (detJ)*det*J[3]*K[1]*(1.0);
- const double G5_1_1 = 1.0 / (detJ)*det*J[3]*K[3]*(1.0);
-
- // Compute element tensor
- A[0] = 0.333333333333333*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_0 + 0.0833333333333333*G0_1_1 + 0.333333333333333*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_0 + 0.0833333333333333*G1_1_1;
- A[1] = -0.166666666666667*G0_0_0 + 0.166666666666667*G0_0_1 + 0.0416666666666666*G0_1_0 - 0.166666666666667*G0_1_1 - 0.166666666666667*G1_0_0 + 0.166666666666667*G1_0_1 + 0.0416666666666666*G1_1_0 - 0.166666666666667*G1_1_1;
- A[2] = 0.0833333333333333*G0_0_0 + 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_1 + 0.0833333333333333*G1_0_0 + 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_1;
- A[3] = 0.0833333333333332*G0_0_0 - 0.166666666666667*G0_0_1 - 0.125*G0_1_0 + 0.166666666666667*G0_1_1 + 0.0833333333333332*G1_0_0 - 0.166666666666667*G1_0_1 - 0.125*G1_1_0 + 0.166666666666667*G1_1_1;
- A[4] = -0.166666666666667*G0_0_0 + 0.0416666666666666*G0_1_0 + 0.0416666666666667*G0_1_1 - 0.166666666666667*G1_0_0 + 0.0416666666666666*G1_1_0 + 0.0416666666666667*G1_1_1;
- A[5] = 0.333333333333333*G0_0_0 - 0.25*G0_0_1 - 0.0833333333333333*G0_1_0 + 0.0416666666666666*G0_1_1 + 0.333333333333333*G1_0_0 - 0.25*G1_0_1 - 0.0833333333333333*G1_1_0 + 0.0416666666666666*G1_1_1;
- A[6] = G2_0_0 - 0.5*G2_1_1 + G3_0_0 - 0.5*G3_1_1;
- A[7] = -0.166666666666667*G0_0_0 + 0.0416666666666666*G0_0_1 + 0.166666666666667*G0_1_0 - 0.166666666666667*G0_1_1 - 0.166666666666667*G1_0_0 + 0.0416666666666666*G1_0_1 + 0.166666666666667*G1_1_0 - 0.166666666666667*G1_1_1;
- A[8] = 0.0833333333333333*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333333*G0_1_0 + 0.333333333333333*G0_1_1 + 0.0833333333333333*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333333*G1_1_0 + 0.333333333333333*G1_1_1;
- A[9] = -0.0416666666666667*G0_0_0 - 0.0416666666666666*G0_0_1 + 0.166666666666667*G0_1_1 - 0.0416666666666667*G1_0_0 - 0.0416666666666666*G1_0_1 + 0.166666666666667*G1_1_1;
- A[10] = -0.0416666666666666*G0_0_0 + 0.0833333333333333*G0_0_1 + 0.25*G0_1_0 - 0.333333333333333*G0_1_1 - 0.0416666666666666*G1_0_0 + 0.0833333333333333*G1_0_1 + 0.25*G1_1_0 - 0.333333333333333*G1_1_1;
- A[11] = 0.0833333333333333*G0_0_0 - 0.0833333333333333*G0_1_0 - 0.0833333333333334*G0_1_1 + 0.0833333333333333*G1_0_0 - 0.0833333333333333*G1_1_0 - 0.0833333333333334*G1_1_1;
- A[12] = -0.166666666666667*G0_0_0 + 0.125*G0_0_1 + 0.166666666666667*G0_1_0 - 0.0833333333333332*G0_1_1 - 0.166666666666667*G1_0_0 + 0.125*G1_0_1 + 0.166666666666667*G1_1_0 - 0.0833333333333332*G1_1_1;
- A[13] = -0.5*G2_0_0 + G2_1_1 - 0.5*G3_0_0 + G3_1_1;
- A[14] = 0.0833333333333333*G0_0_0 + 0.0833333333333333*G0_1_0 - 0.0833333333333333*G0_1_1 + 0.0833333333333333*G1_0_0 + 0.0833333333333333*G1_1_0 - 0.0833333333333333*G1_1_1;
- A[15] = -0.0416666666666667*G0_0_0 - 0.0416666666666666*G0_1_0 + 0.166666666666667*G0_1_1 - 0.0416666666666667*G1_0_0 - 0.0416666666666666*G1_1_0 + 0.166666666666667*G1_1_1;
- A[16] = 0.25*G0_0_0 + 0.0833333333333333*G0_1_1 + 0.25*G1_0_0 + 0.0833333333333333*G1_1_1;
- A[17] = -0.125*G0_0_0 + 0.125*G0_1_0 - 0.166666666666667*G0_1_1 - 0.125*G1_0_0 + 0.125*G1_1_0 - 0.166666666666667*G1_1_1;
- A[18] = -0.0416666666666667*G0_0_0 - 0.208333333333333*G0_0_1 - 0.0416666666666666*G0_1_0 - 0.0416666666666667*G0_1_1 - 0.0416666666666667*G1_0_0 - 0.208333333333333*G1_0_1 - 0.0416666666666666*G1_1_0 - 0.0416666666666667*G1_1_1;
- A[19] = 0.0833333333333334*G0_0_0 + 0.0416666666666667*G0_0_1 + 0.0833333333333333*G0_1_0 - 0.0416666666666666*G0_1_1 + 0.0833333333333334*G1_0_0 + 0.0416666666666667*G1_0_1 + 0.0833333333333333*G1_1_0 - 0.0416666666666666*G1_1_1;
- A[20] = -G2_0_0 - 1.5*G2_0_1 + 0.5*G2_1_1 - G3_0_0 - 1.5*G3_0_1 + 0.5*G3_1_1;
- A[21] = 0.0833333333333332*G0_0_0 - 0.125*G0_0_1 - 0.166666666666667*G0_1_0 + 0.166666666666667*G0_1_1 + 0.0833333333333332*G1_0_0 - 0.125*G1_0_1 - 0.166666666666667*G1_1_0 + 0.166666666666667*G1_1_1;
- A[22] = -0.0416666666666666*G0_0_0 + 0.25*G0_0_1 + 0.0833333333333333*G0_1_0 - 0.333333333333333*G0_1_1 - 0.0416666666666666*G1_0_0 + 0.25*G1_0_1 + 0.0833333333333333*G1_1_0 - 0.333333333333333*G1_1_1;
- A[23] = -0.125*G0_0_0 + 0.125*G0_0_1 - 0.166666666666667*G0_1_1 - 0.125*G1_0_0 + 0.125*G1_0_1 - 0.166666666666667*G1_1_1;
- A[24] = 0.25*G0_0_0 - 0.25*G0_0_1 - 0.25*G0_1_0 + 0.333333333333333*G0_1_1 + 0.25*G1_0_0 - 0.25*G1_0_1 - 0.25*G1_1_0 + 0.333333333333333*G1_1_1;
- A[25] = -0.0416666666666666*G0_0_0 + 0.0416666666666666*G0_0_1 + 0.0833333333333333*G0_1_0 + 0.0833333333333334*G0_1_1 - 0.0416666666666666*G1_0_0 + 0.0416666666666666*G1_0_1 + 0.0833333333333333*G1_1_0 + 0.0833333333333334*G1_1_1;
- A[26] = 0.0833333333333333*G0_0_0 - 0.0833333333333332*G0_0_1 - 0.166666666666667*G0_1_0 + 0.0833333333333332*G0_1_1 + 0.0833333333333333*G1_0_0 - 0.0833333333333332*G1_0_1 - 0.166666666666667*G1_1_0 + 0.0833333333333332*G1_1_1;
- A[27] = 0.5*G2_0_0 + 1.5*G2_0_1 - G2_1_1 + 0.5*G3_0_0 + 1.5*G3_0_1 - G3_1_1;
- A[28] = -0.166666666666667*G0_0_0 + 0.0416666666666666*G0_0_1 + 0.0416666666666667*G0_1_1 - 0.166666666666667*G1_0_0 + 0.0416666666666666*G1_0_1 + 0.0416666666666667*G1_1_1;
- A[29] = 0.0833333333333333*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.0833333333333334*G0_1_1 + 0.0833333333333333*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.0833333333333334*G1_1_1;
- A[30] = -0.0416666666666667*G0_0_0 - 0.0416666666666666*G0_0_1 - 0.208333333333333*G0_1_0 - 0.0416666666666667*G0_1_1 - 0.0416666666666667*G1_0_0 - 0.0416666666666666*G1_0_1 - 0.208333333333333*G1_1_0 - 0.0416666666666667*G1_1_1;
- A[31] = -0.0416666666666666*G0_0_0 + 0.0833333333333333*G0_0_1 + 0.0416666666666666*G0_1_0 + 0.0833333333333334*G0_1_1 - 0.0416666666666666*G1_0_0 + 0.0833333333333333*G1_0_1 + 0.0416666666666666*G1_1_0 + 0.0833333333333334*G1_1_1;
- A[32] = 0.0833333333333333*G0_0_0 + 0.25*G0_1_1 + 0.0833333333333333*G1_0_0 + 0.25*G1_1_1;
- A[33] = -0.166666666666667*G0_0_0 + 0.125*G0_0_1 - 0.125*G0_1_1 - 0.166666666666667*G1_0_0 + 0.125*G1_0_1 - 0.125*G1_1_1;
- A[34] = -0.5*G2_0_0 + 1.5*G2_1_0 + G2_1_1 - 0.5*G3_0_0 + 1.5*G3_1_0 + G3_1_1;
- A[35] = 0.333333333333333*G0_0_0 - 0.0833333333333333*G0_0_1 - 0.25*G0_1_0 + 0.0416666666666666*G0_1_1 + 0.333333333333333*G1_0_0 - 0.0833333333333333*G1_0_1 - 0.25*G1_1_0 + 0.0416666666666666*G1_1_1;
- A[36] = -0.166666666666667*G0_0_0 + 0.166666666666667*G0_0_1 + 0.125*G0_1_0 - 0.0833333333333332*G0_1_1 - 0.166666666666667*G1_0_0 + 0.166666666666667*G1_0_1 + 0.125*G1_1_0 - 0.0833333333333332*G1_1_1;
- A[37] = 0.0833333333333334*G0_0_0 + 0.0833333333333333*G0_0_1 + 0.0416666666666667*G0_1_0 - 0.0416666666666666*G0_1_1 + 0.0833333333333334*G1_0_0 + 0.0833333333333333*G1_0_1 + 0.0416666666666667*G1_1_0 - 0.0416666666666666*G1_1_1;
- A[38] = 0.0833333333333332*G0_0_0 - 0.166666666666667*G0_0_1 - 0.0833333333333332*G0_1_0 + 0.0833333333333332*G0_1_1 + 0.0833333333333332*G1_0_0 - 0.166666666666667*G1_0_1 - 0.0833333333333332*G1_1_0 + 0.0833333333333332*G1_1_1;
- A[39] = -0.166666666666667*G0_0_0 + 0.125*G0_1_0 - 0.125*G0_1_1 - 0.166666666666667*G1_0_0 + 0.125*G1_1_0 - 0.125*G1_1_1;
- A[40] = 0.333333333333333*G0_0_0 - 0.25*G0_0_1 - 0.25*G0_1_0 + 0.25*G0_1_1 + 0.333333333333333*G1_0_0 - 0.25*G1_0_1 - 0.25*G1_1_0 + 0.25*G1_1_1;
- A[41] = G2_0_0 - 1.5*G2_1_0 - 0.5*G2_1_1 + G3_0_0 - 1.5*G3_1_0 - 0.5*G3_1_1;
- A[42] = G4_0_0 - 0.5*G4_1_1 + G5_0_0 - 0.5*G5_1_1;
- A[43] = -0.5*G4_0_0 + G4_1_1 - 0.5*G5_0_0 + G5_1_1;
- A[44] = -G4_0_0 - 1.5*G4_0_1 + 0.5*G4_1_1 - G5_0_0 - 1.5*G5_0_1 + 0.5*G5_1_1;
- A[45] = 0.5*G4_0_0 + 1.5*G4_0_1 - G4_1_1 + 0.5*G5_0_0 + 1.5*G5_0_1 - G5_1_1;
- A[46] = -0.5*G4_0_0 + 1.5*G4_1_0 + G4_1_1 - 0.5*G5_0_0 + 1.5*G5_1_0 + G5_1_1;
- A[47] = G4_0_0 - 1.5*G4_1_0 - 0.5*G4_1_1 + G5_0_0 - 1.5*G5_1_0 - 0.5*G5_1_1;
- A[48] = 0.0;
- }
-
-};
-
-
-class mixedpoisson_cell_integral_1_otherwise: public ufc::cell_integral
-{
-public:
-
- mixedpoisson_cell_integral_1_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~mixedpoisson_cell_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 2
- // Total number of operations (multiply-add pairs): 8
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0;
- A[1] = 0.0;
- A[2] = 0.0;
- A[3] = 0.0;
- A[4] = 0.0;
- A[5] = 0.0;
- A[6] = -0.166666666666667*G0_0 - 0.166666666666667*G0_1 - 0.166666666666667*G0_2;
- }
-
-};
-
-
-class mixedpoisson_form_0: public ufc::form
-{
-public:
-
- mixedpoisson_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~mixedpoisson_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "ca5641cd2d10cdf97be6b249f1afe32656f91dd1035b9bf8bf5b8ff8cf046e5457d88fa3bdfc78c196b7ca3afcf3803f4c0571cfb092ef798195b70e938e593b";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new mixedpoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new mixedpoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new mixedpoisson_finite_element_4();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new mixedpoisson_dofmap_4();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new mixedpoisson_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class mixedpoisson_form_1: public ufc::form
-{
-public:
-
- mixedpoisson_form_1() : ufc::form()
- {
- // Do nothing
- }
-
- ~mixedpoisson_form_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "bbddc01569ae6013c1175030d785b7d352c9f833eb378efad86a7f7627729c56c338998dc4a49decf3741e3826f93e0ca18e0b9fa87f46308cb1ba289e19a246";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 1;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new mixedpoisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new mixedpoisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_finite_element_4();
- break;
- }
- case 1:
- {
- return new mixedpoisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new mixedpoisson_dofmap_4();
- break;
- }
- case 1:
- {
- return new mixedpoisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new mixedpoisson_cell_integral_1_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace MixedPoisson
-{
-
-class CoefficientSpace_f: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const mixedpoisson_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class Form_L_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<mixedpoisson_finite_element_4>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<mixedpoisson_dofmap_4>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_L_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_L_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_L_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-typedef CoefficientSpace_f Form_L_FunctionSpace_1;
-
-class Form_L: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 1), f(*this, 0)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const mixedpoisson_form_1>();
- }
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f):
- dolfin::Form(1, 1), f(*this, 0)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
-
- _ufc_form = std::make_shared<const mixedpoisson_form_1>();
- }
-
- // Destructor
- ~Form_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
-};
-
-class MultiMeshForm_L: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V0), f(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f):
- dolfin::MultiMeshForm(V0), f(*this, 0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
- this->f = f;
-
- }
-
- // Destructor
- ~MultiMeshForm_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
-
- // Coefficients
- dolfin::MultiMeshCoefficientAssigner f;
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_L LinearForm;
-typedef MultiMeshForm_L MultiMeshLinearForm;
-typedef Form_L ResidualForm;
-typedef MultiMeshForm_L MultiMeshResidualForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl b/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl
deleted file mode 100644
index 6889d60..0000000
--- a/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2006-2010 Anders Logg and Marie E. Rognes
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2006
-# Last changed: 2011-07-18
-#
-# The bilinear form a(u, v) and linear form L(v) for a two-field
-# (mixed) formulation of Poisson's equation
-#
-# Compile this form with FFC: ffc -l dolfin MixedPoisson.ufl.
-
-BDM = FiniteElement("BDM", triangle, 1)
-DG = FiniteElement("DG", triangle, 0)
-W = BDM * DG
-
-(sigma, u) = TrialFunctions(W)
-(tau, v) = TestFunctions(W)
-
-CG = FiniteElement("CG", triangle, 1)
-f = Coefficient(CG)
-
-a = (dot(sigma, tau) + div(tau)*u + div(sigma)*v)*dx
-L = - f*v*dx
diff --git a/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl.rst b/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl.rst
new file mode 100644
index 0000000..e936795
--- /dev/null
+++ b/demo/documented/mixed-poisson/cpp/MixedPoisson.ufl.rst
@@ -0,0 +1,44 @@
+UFL input for mixed formulation of Poisson Equation
+===================================================
+
+First we define the variational problem in UFL which we save in the
+file called :download:`MixedPoisson.ufl`.
+
+We begin by defining the finite element spaces. We define two finite
+element spaces :math:`\Sigma_h = BDM` and :math:`V_h = DG` separately,
+before combining these into a mixed finite element space: ::
+
+ BDM = FiniteElement("BDM", triangle, 1)
+ DG = FiniteElement("DG", triangle, 0)
+ W = BDM * DG
+
+The first argument to :py:class:`FiniteElement` specifies the type of
+finite element family, while the third argument specifies the
+polynomial degree. The UFL user manual contains a list of all
+available finite element families and more details. The * operator
+creates a mixed (product) space ``W`` from the two separate spaces
+``BDM`` and ``DG``. Hence,
+
+.. math::
+
+ W = \{ (\tau, v) \ \text{such that} \ \tau \in BDM, v \in DG \}.
+
+Next, we need to specify the trial functions (the unknowns) and the
+test functions on this space. This can be done as follows ::
+
+ (sigma, u) = TrialFunctions(W)
+ (tau, v) = TestFunctions(W)
+
+Further, we need to specify the source :math:`f` (a coefficient) that
+will be used in the linear form of the variational problem. This
+coefficient needs be defined on a finite element space, but none of
+the above defined elements are quite appropriate. We therefore define
+a separate finite element space for this coefficient. ::
+
+ CG = FiniteElement("CG", triangle, 1)
+ f = Coefficient(CG)
+
+Finally, we define the bilinear and linear forms according to the equations: ::
+
+ a = (dot(sigma, tau) + div(tau)*u + div(sigma)*v)*dx
+ L = - f*v*dx
diff --git a/demo/documented/mixed-poisson/cpp/compile.log b/demo/documented/mixed-poisson/cpp/compile.log
deleted file mode 100644
index 2dbe6c6..0000000
--- a/demo/documented/mixed-poisson/cpp/compile.log
+++ /dev/null
@@ -1,328 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form MixedPoisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<BDM1(?), DG0(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<BDM1(?), DG0(?)>, Vector<2 x CG1(?)>, BDM1(?), D
- G0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<BDM1(?), DG0(?)>, CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<BDM1(?), DG0(?)>, CG1(?), Vector<2 x CG1(?)>, BD
- M1(?), DG0(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.134415 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.00107 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.00101 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.00132 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.00111 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.0011 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 196 entries computed in 0.00112 seconds
- Shape of reference tensor: (7, 7, 2, 2)
- Primary multi index: rank = 2 dims = [7, 7] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 21 entries computed in 0.00118 seconds
- Shape of reference tensor: (7, 3)
- Primary multi index: rank = 1 dims = [7] indices = [[0], [1], [2], [3], [4], [5], [6]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0308011 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.00022316 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.366145 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.0013051 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00138712 seconds.
-
-FFC finished in 0.534963 seconds.
-Output written to ./MixedPoisson.h.
diff --git a/demo/documented/mixed-poisson/cpp/main.cpp b/demo/documented/mixed-poisson/cpp/main.cpp
deleted file mode 100644
index fa40c23..0000000
--- a/demo/documented/mixed-poisson/cpp/main.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright (C) 2007-2011 Anders Logg and Marie E. Rognes
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// Modified by Garth N. Wells, 2008.
-//
-// First added: 2007-04-20
-// Last changed: 2012-11-12
-
-#include <dolfin.h>
-#include "MixedPoisson.h"
-
-using namespace dolfin;
-
-// Source term (right-hand side)
-class Source : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
-};
-
-// Boundary source for flux boundary condition
-class BoundarySource : public Expression
-{
-public:
-
- BoundarySource(const Mesh& mesh) : Expression(2), mesh(mesh) {}
-
- void eval(Array<double>& values, const Array<double>& x,
- const ufc::cell& ufc_cell) const
- {
- dolfin_assert(ufc_cell.local_facet >= 0);
-
- Cell cell(mesh, ufc_cell.index);
- Point n = cell.normal(ufc_cell.local_facet);
-
- const double g = sin(5*x[0]);
- values[0] = g*n[0];
- values[1] = g*n[1];
- }
-
-private:
-
- const Mesh& mesh;
-
-};
-
-// Sub domain for essential boundary condition
-class EssentialBoundary : public SubDomain
-{
- bool inside(const Array<double>& x, bool on_boundary) const
- {
- return x[1] < DOLFIN_EPS or x[1] > 1.0 - DOLFIN_EPS;
- }
-};
-
-int main()
-{
- // Create mesh
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
-
- // Construct function space
- auto W = std::make_shared<MixedPoisson::FunctionSpace>(mesh);
- MixedPoisson::BilinearForm a(W, W);
- MixedPoisson::LinearForm L(W);
-
- // Create source and assign to L
- auto f = std::make_shared<Source>();
- L.f = f;
-
- // Define boundary condition
- auto G = std::make_shared<BoundarySource>(*mesh);
- auto boundary = std::make_shared<EssentialBoundary>();
- DirichletBC bc(W->sub(0), G, boundary);
-
- // Compute solution
- Function w(W);
- solve(a == L, w, bc);
-
- // Extract sub functions (function views)
- Function& sigma = w[0];
- Function& u = w[1];
-
- // Plot solutions
- plot(u);
- plot(sigma);
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/mixed-poisson/cpp/main.cpp.rst b/demo/documented/mixed-poisson/cpp/main.cpp.rst
new file mode 100644
index 0000000..6f52ed3
--- /dev/null
+++ b/demo/documented/mixed-poisson/cpp/main.cpp.rst
@@ -0,0 +1,280 @@
+Mixed formulation for Poisson equation (C++)
+============================================
+
+This demo illustrates how to solve Poisson equation using a mixed
+(two-field) formulation. In particular, it illustrates how to
+
+* Use mixed and non-continuous finite element spaces
+* Set essential boundary conditions for subspaces and H(div) spaces
+* Define a (vector-valued) expression using additional geometry information
+
+
+Equation and problem definition
+-------------------------------
+
+An alternative formulation of Poisson equation can be formulated by
+introducing an additional (vector) variable, namely the (negative)
+flux: :math:`\sigma = \nabla u`. The partial differential equations
+then read
+
+.. math::
+ \sigma - \nabla u &= 0 \quad {\rm in} \ \Omega, \\
+ \nabla \cdot \sigma &= - f \quad {\rm in} \ \Omega,
+
+with boundary conditions
+
+.. math::
+ u = u_0 \quad {\rm on} \ \Gamma_{D}, \\
+ \sigma \cdot n = g \quad {\rm on} \ \Gamma_{N}.
+
+The same equations arise in connection with flow in porous media, and
+are also referred to as Darcy flow.
+
+After multiplying by test functions :math:`\tau` and :math:`v`,
+integrating over the domain, and integrating the gradient term by
+parts, one obtains the following variational formulation: find
+:math:`\sigma \in \Sigma` and :math:`v \in V` satisfying
+
+.. math::
+ \int_{\Omega} (\sigma \cdot \tau + \nabla \cdot \tau \ u) \ {\rm d} x
+ &= \int_{\Gamma} \tau \cdot n \ u \ {\rm d} s
+ \quad \forall \ \tau \in \Sigma, \\
+
+ \int_{\Omega} \nabla \cdot \sigma v \ {\rm d} x
+ &= - \int_{\Omega} f \ v \ {\rm d} x
+ \quad \forall \ v \in V.
+
+Here :math:`n` denotes the outward pointing normal vector on the
+boundary. Looking at the variational form, we see that the boundary
+condition for the flux (:math:`\sigma \cdot n = g`) is now an
+essential boundary condition (which should be enforced in the function
+space), while the other boundary condition (:math:`u = u_0`) is a
+natural boundary condition (which should be applied to the variational
+form). Inserting the boundary conditions, this variational problem can
+be phrased in the general form: find :math:`(\sigma, u) \in \Sigma_g
+\times V` such that
+
+.. math::
+
+ a((\sigma, u), (\tau, v)) = L((\tau, v))
+ \quad \forall \ (\tau, v) \in \Sigma_0 \times V
+
+where the variational forms :math:`a` and :math:`L` are defined as
+
+.. math::
+
+ a((\sigma, u), (\tau, v)) &=
+ \int_{\Omega} \sigma \cdot \tau + \nabla \cdot \tau \ u
+ + \nabla \cdot \sigma \ v \ {\rm d} x \\
+ L((\tau, v)) &= - \int_{\Omega} f v \ {\rm d} x
+ + \int_{\Gamma_D} u_0 \tau \cdot n \ {\rm d} s
+
+and :math:`\Sigma_g = \{ \tau \in H({\rm div}) \text{ such that } \tau \cdot n|_{\Gamma_N} = g \}`
+and :math:`V = L^2(\Omega)`.
+
+To discretize the above formulation, two discrete function spaces
+:math:`\Sigma_h \subset \Sigma` and :math:`V_h \subset V` are needed
+to form a mixed function space :math:`\Sigma_h \times V_h`. A stable
+choice of finite element spaces is to let :math:`\Sigma_h` be the
+Brezzi-Douglas-Marini elements of polynomial order :math:`k` and let
+:math:`V_h` be discontinuous elements of polynomial order :math:`k-1`.
+
+We will use the same definitions of functions and boundaries as in the
+demo for Poisson's equation. These are:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \in \partial \Omega\}`
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \in \partial \Omega\}`
+* :math:`u_0 = 0`
+* :math:`g = \sin(5x)` (flux)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
+
+With the above input the solution for :math:`u` and :math:`\sigma` will look as
+follows:
+
+.. image:: ../mixed-poisson_u.png
+ :scale: 75
+ :align: center
+
+.. image:: ../mixed-poisson_sigma.png
+ :scale: 75
+ :align: center
+
+.. todo:: Fix the links to images
+
+
+Implementation
+--------------
+
+The implementation is split in two files, a form file containing the definition
+of the variational forms expressed in UFL and the solver which is implemented
+in a C++ file.
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`MixedPoisson.ufl` and :download:`CMakeLists.txt`.
+
+
+UFL form file
+^^^^^^^^^^^^^
+
+The UFL file is implemented in :download:`MixedPoisson.ufl`, and the
+explanation of the UFL file can be found at :doc:`here <MixedPoisson.ufl>`.
+
+
+C++ program
+^^^^^^^^^^^
+
+The solver is implemented in the :download:`main.cpp` file.
+
+At the top we include the DOLFIN header file and the generated header
+file containing the variational forms. For convenience we also
+include the DOLFIN namespace.
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+ #include "MixedPoisson.h"
+
+ using namespace dolfin;
+
+Then follows the definition of the coefficient functions (for
+:math:`f` and :math:`G`), which are derived from the DOLFIN
+:cpp:class:`Expression` class.
+
+.. code-block:: cpp
+
+ // Source term (right-hand side)
+ class Source : public Expression
+ {
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ double dx = x[0] - 0.5;
+ double dy = x[1] - 0.5;
+ values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
+ }
+ };
+
+ // Boundary source for flux boundary condition
+ class BoundarySource : public Expression
+ {
+ public:
+
+ BoundarySource(const Mesh& mesh) : Expression(2), mesh(mesh) {}
+
+ void eval(Array<double>& values, const Array<double>& x,
+ const ufc::cell& ufc_cell) const
+ {
+ dolfin_assert(ufc_cell.local_facet >= 0);
+
+ Cell cell(mesh, ufc_cell.index);
+ Point n = cell.normal(ufc_cell.local_facet);
+
+ const double g = sin(5*x[0]);
+ values[0] = g*n[0];
+ values[1] = g*n[1];
+ }
+
+ private:
+
+ const Mesh& mesh;
+
+ };
+
+
+Then follows the definition of the essential boundary part of the
+boundary of the domain, which is derived from the
+:cpp:class:`SubDomain` class.
+
+.. code-block:: cpp
+
+ // Sub domain for essential boundary condition
+ class EssentialBoundary : public SubDomain
+ {
+ bool inside(const Array<double>& x, bool on_boundary) const
+ {
+ return x[1] < DOLFIN_EPS or x[1] > 1.0 - DOLFIN_EPS;
+ }
+ };
+
+Inside the ``main()`` function we first create the ``mesh`` and then
+we define the (mixed) function space for the variational
+formulation. We also define the bilinear form ``a`` and linear form
+``L`` relative to this function space.
+
+.. code-block:: cpp
+
+ int main()
+ {
+ // Create mesh
+ auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
+
+ // Construct function space
+ auto W = std::make_shared<MixedPoisson::FunctionSpace>(mesh);
+ MixedPoisson::BilinearForm a(W, W);
+ MixedPoisson::LinearForm L(W);
+
+Then we create the source (:math:`f`) and assign it to the linear form.
+
+.. code-block:: cpp
+
+ // Create source and assign to L
+ auto f = std::make_shared<Source>();
+ L.f = f;
+
+It only remains to prescribe the boundary condition for the
+flux. Essential boundary conditions are specified through the class
+:cpp:class:`DirichletBC` which takes three arguments: the function
+space the boundary condition is supposed to be applied to, the data
+for the boundary condition, and the relevant part of the boundary.
+
+We want to apply the boundary condition to the first subspace of the
+mixed space. This space can be accessed through the `sub` member
+function of the :cpp:class:`FunctionSpace` class.
+
+Next, we need to construct the data for the boundary condition. An
+essential boundary condition is handled by replacing degrees of
+freedom by the degrees of freedom evaluated at the given data. The
+:math:`BDM` finite element spaces are vector-valued spaces and hence
+the degrees of freedom act on vector-valued objects. The effect is
+that the user is required to construct a :math:`G` such that :math:`G
+\cdot n = g`. Such a :math:`G` can be constructed by letting :math:`G
+= g n`. This is what the derived expression class ``BoundarySource``
+defined above does.
+
+.. code-block:: cpp
+
+ // Define boundary condition
+ auto G = std::make_shared<BoundarySource>(*mesh);
+ auto boundary = std::make_shared<EssentialBoundary>();
+ DirichletBC bc(W->sub(0), G, boundary);
+
+To compute the solution we use the bilinear and linear forms, and the
+boundary condition, but we also need to create a :cpp:class:`Function`
+to store the solution(s). The (full) solution will be stored in the
+:cpp:class:`Function` ``w``, which we initialise using the
+:cpp:class:`FunctionSpace` ``W``. The actual computation is performed
+by calling ``solve``.
+
+.. code-block:: cpp
+
+ // Compute solution
+ Function w(W);
+ solve(a == L, w, bc);
+
+Now, the separate components ``sigma`` and ``u`` of the solution can
+be extracted by taking components. These can easily be visualized by
+calling ``plot``.
+
+.. code-block:: cpp
+
+ // Extract sub functions (function views)
+ Function& sigma = w[0];
+ Function& u = w[1];
+
+ // Plot solutions
+ plot(u);
+ plot(sigma);
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/mixed-poisson/python/demo_mixed-poisson.py b/demo/documented/mixed-poisson/python/demo_mixed-poisson.py
index cc1f73a..c855b85 100644
--- a/demo/documented/mixed-poisson/python/demo_mixed-poisson.py
+++ b/demo/documented/mixed-poisson/python/demo_mixed-poisson.py
@@ -1,67 +1,205 @@
-"""This demo program solves the mixed formulation of Poisson's
-equation:
-
- sigma - grad(u) = 0
- - div(sigma) = f
-
-The corresponding weak (variational problem)
-
- <sigma, tau> + <div(tau), u> = 0 for all tau
- - <div(sigma), v> = <f, v> for all v
-
-is solved using BDM (Brezzi-Douglas-Marini) elements of degree k for
-(sigma, tau) and DG (discontinuous Galerkin) elements of degree k - 1
-for (u, v).
-
-Original implementation: ../cpp/main.cpp by Anders Logg and Marie Rognes
-"""
-
-# Copyright (C) 2007 Kristian B. Oelgaard
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Marie E. Rognes 2010
-# Modified by Anders Logg 2011
-#
-# First added: 2007-11-14
-# Last changed: 2012-11-12
-
-# Begin demo
+#
+# .. _demo_mixed_poisson:
+#
+# Mixed formulation for Poisson equation
+# ======================================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_mixed-poisson.py`, which contains both the variational
+# forms and the solver.
+#
+# This demo illustrates how to solve Poisson equation using a mixed
+# (two-field) formulation. In particular, it illustrates how to
+#
+# * Use mixed and non-continuous finite element spaces
+# * Set essential boundary conditions for subspaces and H(div) spaces
+# * Define a (vector-valued) expression using additional geometry information
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# An alternative formulation of Poisson equation can be formulated by
+# introducing an additional (vector) variable, namely the (negative)
+# flux: :math:`\sigma = \nabla u`. The partial differential equations
+# then read
+#
+# .. math::
+# \sigma - \nabla u &= 0 \quad {\rm in} \ \Omega, \\
+# \nabla \cdot \sigma &= - f \quad {\rm in} \ \Omega,
+#
+# with boundary conditions
+#
+# .. math::
+# u = u_0 \quad {\rm on} \ \Gamma_{D}, \\
+# \sigma \cdot n = g \quad {\rm on} \ \Gamma_{N}.
+#
+# The same equations arise in connection with flow in porous media, and
+# are also referred to as Darcy flow.
+#
+# After multiplying by test functions :math:`\tau` and :math:`v`,
+# integrating over the domain, and integrating the gradient term by
+# parts, one obtains the following variational formulation: find
+# :math:`\sigma \in \Sigma` and :math:`v \in V` satisfying
+#
+# .. math::
+# \int_{\Omega} (\sigma \cdot \tau + \nabla \cdot \tau \ u) \ {\rm d} x
+# &= \int_{\Gamma} \tau \cdot n \ u \ {\rm d} s
+# \quad \forall \ \tau \in \Sigma, \\
+#
+# \int_{\Omega} \nabla \cdot \sigma v \ {\rm d} x
+# &= - \int_{\Omega} f \ v \ {\rm d} x
+# \quad \forall \ v \in V.
+#
+# Here :math:`n` denotes the outward pointing normal vector on the
+# boundary. Looking at the variational form, we see that the boundary
+# condition for the flux (:math:`\sigma \cdot n = g`) is now an
+# essential boundary condition (which should be enforced in the function
+# space), while the other boundary condition (:math:`u = u_0`) is a
+# natural boundary condition (which should be applied to the variational
+# form). Inserting the boundary conditions, this variational problem can
+# be phrased in the general form: find :math:`(\sigma, u) \in \Sigma_g
+# \times V` such that
+#
+# .. math::
+#
+# a((\sigma, u), (\tau, v)) = L((\tau, v))
+# \quad \forall \ (\tau, v) \in \Sigma_0 \times V
+#
+# where the variational forms :math:`a` and :math:`L` are defined as
+#
+# .. math::
+#
+# a((\sigma, u), (\tau, v)) &=
+# \int_{\Omega} \sigma \cdot \tau + \nabla \cdot \tau \ u
+# + \nabla \cdot \sigma \ v \ {\rm d} x \\
+# L((\tau, v)) &= - \int_{\Omega} f v \ {\rm d} x
+# + \int_{\Gamma_D} u_0 \tau \cdot n \ {\rm d} s
+#
+# and :math:`\Sigma_g = \{ \tau \in H({\rm div}) \text{ such that } \tau \cdot n|_{\Gamma_N} = g \}`
+# and :math:`V = L^2(\Omega)`.
+#
+# To discretize the above formulation, two discrete function spaces
+# :math:`\Sigma_h \subset \Sigma` and :math:`V_h \subset V` are needed
+# to form a mixed function space :math:`\Sigma_h \times V_h`. A stable
+# choice of finite element spaces is to let :math:`\Sigma_h` be the
+# Brezzi-Douglas-Marini elements of polynomial order :math:`k` and let
+# :math:`V_h` be discontinuous elements of polynomial order :math:`k-1`.
+#
+# We will use the same definitions of functions and boundaries as in the
+# demo for Poisson's equation. These are:
+#
+# * :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+# * :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \in \partial \Omega\}`
+# * :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \in \partial \Omega\}`
+# * :math:`u_0 = 0`
+# * :math:`g = \sin(5x)` (flux)
+# * :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
+#
+# With the above input the solution for :math:`u` and :math:`\sigma` will look as
+# follows:
+#
+# .. image:: mixed-poisson_u.png
+# :scale: 75 %
+# :align: center
+#
+# .. image:: mixed-poisson_sigma.png
+# :scale: 75 %
+# :align: center
+#
+#
+# Implementation
+# --------------
+#
+# This demo is implemented in the :download:`demo_mixed-poisson.py`
+# file.
+#
+# First, the :py:mod:`dolfin` module is imported: ::
from dolfin import *
+# Then, we need to create a :py:class:`Mesh <dolfin.cpp.Mesh>` covering
+# the unit square. In this example, we will let the mesh consist of 32 x
+# 32 squares with each square divided into two triangles: ::
+
# Create mesh
mesh = UnitSquareMesh(32, 32)
+# .. index::
+# pair: FunctionSpace; Brezzi-Douglas-Marini
+# pair: FunctionSpace; Discontinous Lagrange
+#
+# Next, we need to build the function space. ::
+
# Define finite elements spaces and build mixed space
BDM = FiniteElement("BDM", mesh.ufl_cell(), 1)
DG = FiniteElement("DG", mesh.ufl_cell(), 0)
W = FunctionSpace(mesh, BDM * DG)
+# The second argument to :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` specifies underlying
+# finite element, here mixed element obtained by ``*`` operator.
+#
+# .. math::
+#
+# W = \{ (\tau, v) \ \text{such that} \ \tau \in BDM, v \in DG \}.
+#
+# Next, we need to specify the trial functions (the unknowns) and the
+# test functions on this space. This can be done as follows ::
+
# Define trial and test functions
(sigma, u) = TrialFunctions(W)
(tau, v) = TestFunctions(W)
+# In order to define the variational form, it only remains to define the
+# source function :math:`f`. This is done just as for the :ref:`Poisson
+# demo <demo_pde_poisson_python_documentation>`: ::
+
# Define source function
f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
+# We are now ready to define the variational forms a and L. Since,
+# :math:`u_0 = 0` in this example, the boundary term on the right-hand
+# side vanishes. ::
+
# Define variational form
a = (dot(sigma, tau) + div(tau)*u + div(sigma)*v)*dx
L = - f*v*dx
+# It only remains to prescribe the boundary condition for the
+# flux. Essential boundary conditions are specified through the class
+# :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>` which takes three
+# arguments: the function space the boundary condition is supposed to be
+# applied to, the data for the boundary condition, and the relevant part
+# of the boundary.
+#
+# We want to apply the boundary condition to the first subspace of the
+# mixed space. Subspaces of a mixed :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` can be accessed
+# by the method :py:func:`sub
+# <dolfin.functions.functionspace.FunctionSpace.sub>`. In our case,
+# this reads ``W.sub(0)``. (Do *not* use the separate space ``BDM`` as
+# this would mess up the numbering.)
+#
+# Next, we need to construct the data for the boundary condition. An
+# essential boundary condition is handled by replacing degrees of
+# freedom by the degrees of freedom evaluated at the given data. The
+# :math:`BDM` finite element spaces are vector-valued spaces and hence
+# the degrees of freedom act on vector-valued objects. The effect is
+# that the user is required to construct a :math:`G` such that :math:`G
+# \cdot n = g`. Such a :math:`G` can be constructed by letting :math:`G
+# = g n`. In particular, it can be created by subclassing the
+# :py:class:`Expression <dolfin.functions.expression.Expression>`
+# class. Overloading the ``eval_cell`` method (instead of the usual
+# ``eval``) allows us to extract more geometry information such as the
+# facet normals. Since this is a vector-valued expression, we also need
+# to overload the ``value_shape`` method.
+#
+# .. index::
+# single: Expression; (in Mixed Poisson demo)
+#
+# ::
+
# Define function G such that G \cdot n = g
class BoundarySource(Expression):
def __init__(self, mesh, **kwargs):
@@ -77,12 +215,31 @@ class BoundarySource(Expression):
G = BoundarySource(mesh, degree=2)
+# Specifying the relevant part of the boundary can be done as for the
+# Poisson demo (but now the top and bottom of the unit square is the
+# essential boundary): ::
+
# Define essential boundary
def boundary(x):
return x[1] < DOLFIN_EPS or x[1] > 1.0 - DOLFIN_EPS
+# Now, all the pieces are in place for the construction of the essential
+# boundary condition: ::
+
bc = DirichletBC(W.sub(0), G, boundary)
+# To compute the solution we use the bilinear and linear forms, and the
+# boundary condition, but we also need to create a :py:class:`Function
+# <dolfin.functions.function.Function>` to store the solution(s). The
+# (full) solution will be stored in the ``w``, which we initialise using
+# the :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` ``W``. The actual
+# computation is performed by calling :py:func:`solve
+# <dolfin.fem.solving.solve>`. The separate components ``sigma`` and
+# ``u`` of the solution can be extracted by calling the :py:func:`split
+# <dolfin.functions.function.Function.split>` function. Finally, we plot
+# the solutions to examine the result. ::
+
# Compute solution
w = Function(W)
solve(a == L, w, bc)
diff --git a/demo/documented/mixed-poisson/python/documentation.rst b/demo/documented/mixed-poisson/python/demo_mixed-poisson.py.rst
similarity index 51%
rename from demo/documented/mixed-poisson/python/documentation.rst
rename to demo/documented/mixed-poisson/python/demo_mixed-poisson.py.rst
index af30cc4..deefa05 100644
--- a/demo/documented/mixed-poisson/python/documentation.rst
+++ b/demo/documented/mixed-poisson/python/demo_mixed-poisson.py.rst
@@ -1,6 +1,5 @@
-.. Documentation for the mixed Poisson demo from DOLFIN.
-.. _demo_pde_mixed-poisson_python_documentation:
+.. _demo_mixed_poisson:
Mixed formulation for Poisson equation
======================================
@@ -9,7 +8,104 @@ This demo is implemented in a single Python file,
:download:`demo_mixed-poisson.py`, which contains both the variational
forms and the solver.
-.. include:: ../common.txt
+This demo illustrates how to solve Poisson equation using a mixed
+(two-field) formulation. In particular, it illustrates how to
+
+* Use mixed and non-continuous finite element spaces
+* Set essential boundary conditions for subspaces and H(div) spaces
+* Define a (vector-valued) expression using additional geometry information
+
+
+Equation and problem definition
+-------------------------------
+
+An alternative formulation of Poisson equation can be formulated by
+introducing an additional (vector) variable, namely the (negative)
+flux: :math:`\sigma = \nabla u`. The partial differential equations
+then read
+
+.. math::
+ \sigma - \nabla u &= 0 \quad {\rm in} \ \Omega, \\
+ \nabla \cdot \sigma &= - f \quad {\rm in} \ \Omega,
+
+with boundary conditions
+
+.. math::
+ u = u_0 \quad {\rm on} \ \Gamma_{D}, \\
+ \sigma \cdot n = g \quad {\rm on} \ \Gamma_{N}.
+
+The same equations arise in connection with flow in porous media, and
+are also referred to as Darcy flow.
+
+After multiplying by test functions :math:`\tau` and :math:`v`,
+integrating over the domain, and integrating the gradient term by
+parts, one obtains the following variational formulation: find
+:math:`\sigma \in \Sigma` and :math:`v \in V` satisfying
+
+.. math::
+ \int_{\Omega} (\sigma \cdot \tau + \nabla \cdot \tau \ u) \ {\rm d} x
+ &= \int_{\Gamma} \tau \cdot n \ u \ {\rm d} s
+ \quad \forall \ \tau \in \Sigma, \\
+
+ \int_{\Omega} \nabla \cdot \sigma v \ {\rm d} x
+ &= - \int_{\Omega} f \ v \ {\rm d} x
+ \quad \forall \ v \in V.
+
+Here :math:`n` denotes the outward pointing normal vector on the
+boundary. Looking at the variational form, we see that the boundary
+condition for the flux (:math:`\sigma \cdot n = g`) is now an
+essential boundary condition (which should be enforced in the function
+space), while the other boundary condition (:math:`u = u_0`) is a
+natural boundary condition (which should be applied to the variational
+form). Inserting the boundary conditions, this variational problem can
+be phrased in the general form: find :math:`(\sigma, u) \in \Sigma_g
+\times V` such that
+
+.. math::
+
+ a((\sigma, u), (\tau, v)) = L((\tau, v))
+ \quad \forall \ (\tau, v) \in \Sigma_0 \times V
+
+where the variational forms :math:`a` and :math:`L` are defined as
+
+.. math::
+
+ a((\sigma, u), (\tau, v)) &=
+ \int_{\Omega} \sigma \cdot \tau + \nabla \cdot \tau \ u
+ + \nabla \cdot \sigma \ v \ {\rm d} x \\
+ L((\tau, v)) &= - \int_{\Omega} f v \ {\rm d} x
+ + \int_{\Gamma_D} u_0 \tau \cdot n \ {\rm d} s
+
+and :math:`\Sigma_g = \{ \tau \in H({\rm div}) \text{ such that } \tau \cdot n|_{\Gamma_N} = g \}`
+and :math:`V = L^2(\Omega)`.
+
+To discretize the above formulation, two discrete function spaces
+:math:`\Sigma_h \subset \Sigma` and :math:`V_h \subset V` are needed
+to form a mixed function space :math:`\Sigma_h \times V_h`. A stable
+choice of finite element spaces is to let :math:`\Sigma_h` be the
+Brezzi-Douglas-Marini elements of polynomial order :math:`k` and let
+:math:`V_h` be discontinuous elements of polynomial order :math:`k-1`.
+
+We will use the same definitions of functions and boundaries as in the
+demo for Poisson's equation. These are:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \in \partial \Omega\}`
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \in \partial \Omega\}`
+* :math:`u_0 = 0`
+* :math:`g = \sin(5x)` (flux)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
+
+With the above input the solution for :math:`u` and :math:`\sigma` will look as
+follows:
+
+.. image:: mixed-poisson_u.png
+ :scale: 75 %
+ :align: center
+
+.. image:: mixed-poisson_sigma.png
+ :scale: 75 %
+ :align: center
Implementation
@@ -18,17 +114,13 @@ Implementation
This demo is implemented in the :download:`demo_mixed-poisson.py`
file.
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
+First, the :py:mod:`dolfin` module is imported: ::
from dolfin import *
Then, we need to create a :py:class:`Mesh <dolfin.cpp.Mesh>` covering
the unit square. In this example, we will let the mesh consist of 32 x
-32 squares with each square divided into two triangles:
-
-.. code-block:: python
+32 squares with each square divided into two triangles: ::
# Create mesh
mesh = UnitSquareMesh(32, 32)
@@ -37,9 +129,7 @@ the unit square. In this example, we will let the mesh consist of 32 x
pair: FunctionSpace; Brezzi-Douglas-Marini
pair: FunctionSpace; Discontinous Lagrange
-Next, we need to build the function space.
-
-.. code-block:: python
+Next, we need to build the function space. ::
# Define finite elements spaces and build mixed space
BDM = FiniteElement("BDM", mesh.ufl_cell(), 1)
@@ -55,9 +145,7 @@ finite element, here mixed element obtained by ``*`` operator.
W = \{ (\tau, v) \ \text{such that} \ \tau \in BDM, v \in DG \}.
Next, we need to specify the trial functions (the unknowns) and the
-test functions on this space. This can be done as follows
-
-.. code-block:: python
+test functions on this space. This can be done as follows ::
# Define trial and test functions
(sigma, u) = TrialFunctions(W)
@@ -65,18 +153,14 @@ test functions on this space. This can be done as follows
In order to define the variational form, it only remains to define the
source function :math:`f`. This is done just as for the :ref:`Poisson
-demo <demo_pde_poisson_python_documentation>`:
-
-.. code-block:: python
+demo <demo_pde_poisson_python_documentation>`: ::
# Define source function
f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
We are now ready to define the variational forms a and L. Since,
:math:`u_0 = 0` in this example, the boundary term on the right-hand
-side vanishes.
-
-.. code-block:: python
+side vanishes. ::
# Define variational form
a = (dot(sigma, tau) + div(tau)*u + div(sigma)*v)*dx
@@ -114,37 +198,33 @@ to overload the ``value_shape`` method.
.. index::
single: Expression; (in Mixed Poisson demo)
-.. code-block:: python
+::
# Define function G such that G \cdot n = g
class BoundarySource(Expression):
- def __init__(self, mesh, **kwargs):
- self.mesh = mesh
- def eval_cell(self, values, x, ufc_cell):
- cell = Cell(self.mesh, ufc_cell.index)
- n = cell.normal(ufc_cell.local_facet)
- g = sin(5*x[0])
- values[0] = g*n[0]
- values[1] = g*n[1]
- def value_shape(self):
- return (2,)
-
- G = BoundarySource(mesh, degree=2)
+ def __init__(self, mesh, **kwargs):
+ self.mesh = mesh
+ def eval_cell(self, values, x, ufc_cell):
+ cell = Cell(self.mesh, ufc_cell.index)
+ n = cell.normal(ufc_cell.local_facet)
+ g = sin(5*x[0])
+ values[0] = g*n[0]
+ values[1] = g*n[1]
+ def value_shape(self):
+ return (2,)
+
+ G = BoundarySource(mesh, degree=2)
Specifying the relevant part of the boundary can be done as for the
Poisson demo (but now the top and bottom of the unit square is the
-essential boundary):
-
-.. code-block:: python
+essential boundary): ::
# Define essential boundary
def boundary(x):
return x[1] < DOLFIN_EPS or x[1] > 1.0 - DOLFIN_EPS
Now, all the pieces are in place for the construction of the essential
-boundary condition:
-
-.. code-block:: python
+boundary condition: ::
bc = DirichletBC(W.sub(0), G, boundary)
@@ -158,9 +238,7 @@ computation is performed by calling :py:func:`solve
<dolfin.fem.solving.solve>`. The separate components ``sigma`` and
``u`` of the solution can be extracted by calling the :py:func:`split
<dolfin.functions.function.Function.split>` function. Finally, we plot
-the solutions to examine the result.
-
-.. code-block:: python
+the solutions to examine the result. ::
# Compute solution
w = Function(W)
@@ -171,8 +249,3 @@ the solutions to examine the result.
plot(sigma)
plot(u)
interactive()
-
-Complete code
--------------
-.. literalinclude:: demo_mixed-poisson.py
- :start-after: # Begin demo
diff --git a/demo/documented/mixed-poisson/python/mixed-poisson_sigma.png b/demo/documented/mixed-poisson/python/mixed-poisson_sigma.png
new file mode 100644
index 0000000..87ec572
Binary files /dev/null and b/demo/documented/mixed-poisson/python/mixed-poisson_sigma.png differ
diff --git a/demo/documented/mixed-poisson/python/mixed-poisson_u.png b/demo/documented/mixed-poisson/python/mixed-poisson_u.png
new file mode 100644
index 0000000..1003afc
Binary files /dev/null and b/demo/documented/mixed-poisson/python/mixed-poisson_u.png differ
diff --git a/demo/documented/navier-stokes/cpp/CMakeLists.txt b/demo/documented/navier-stokes/cpp/CMakeLists.txt
index 5e11299..455b157 100644
--- a/demo/documented/navier-stokes/cpp/CMakeLists.txt
+++ b/demo/documented/navier-stokes/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_navier-stokes)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/navier-stokes/cpp/PressureUpdate.h b/demo/documented/navier-stokes/cpp/PressureUpdate.h
index f9e7ac3..c2ae159 100644
--- a/demo/documented/navier-stokes/cpp/PressureUpdate.h
+++ b/demo/documented/navier-stokes/cpp/PressureUpdate.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6741,25 +6724,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -7208,6 +7182,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7328,6 +7326,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7435,6 +7524,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7578,6 +7691,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7699,19 +7921,43 @@ public:
return 0;
}
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
{
- switch (facet)
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ dofs[0] = entity_indices[0][0];
+ dofs[1] = entity_indices[0][1];
+ dofs[2] = entity_indices[0][2];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
+ std::size_t facet) const final override
+ {
+ switch (facet)
{
case 0:
{
@@ -7787,6 +8033,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7894,6 +8225,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7997,6 +8352,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8118,6 +8570,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8183,6 +8659,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8227,6 +8783,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -8290,6 +8861,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -8319,9 +8905,9 @@ public:
{0.166666666666667, 0.666666666666667, 0.166666666666667}};
static const double FE3_C0_D01[3][5] = \
- {{-1.66666666666667, -0.333333333333332, 0.666666666666656, 2.00000000000001, -0.666666666666666},
+ {{-1.66666666666667, -0.333333333333333, 0.666666666666656, 2.00000000000001, -0.666666666666666},
{0.333333333333328, 1.66666666666667, 0.666666666666652, -1.99999999999999, -0.666666666666665},
- {0.333333333333329, -0.333333333333332, 2.66666666666665, 1.0547118733939e-14, -2.66666666666667}};
+ {0.333333333333328, -0.333333333333332, 2.66666666666665, 1.13242748511766e-14, -2.66666666666667}};
// Array of non-zero columns
static const unsigned int nzc7[5] = {0, 2, 3, 4, 5};
@@ -8331,8 +8917,8 @@ public:
static const double FE3_C0_D10[3][5] = \
{{-1.66666666666667, -0.333333333333336, 0.666666666666665, -0.666666666666665, 2},
- {0.333333333333333, -0.333333333333334, 2.66666666666666, -2.66666666666666, 0.0},
- {0.333333333333335, 1.66666666666667, 0.666666666666665, -0.666666666666665, -2}};
+ {0.333333333333333, -0.333333333333333, 2.66666666666666, -2.66666666666666, 0.0},
+ {0.333333333333335, 1.66666666666667, 0.666666666666665, -0.666666666666665, -2.0}};
// Array of non-zero columns
static const unsigned int nzc8[5] = {0, 1, 3, 4, 5};
@@ -9124,10 +9710,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9299,10 +9885,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9318,10 +9904,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/navier-stokes/cpp/TentativeVelocity.h b/demo/documented/navier-stokes/cpp/TentativeVelocity.h
index 6447e73..396c0ed 100644
--- a/demo/documented/navier-stokes/cpp/TentativeVelocity.h
+++ b/demo/documented/navier-stokes/cpp/TentativeVelocity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6741,25 +6724,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -7208,6 +7182,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7328,6 +7326,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7435,6 +7524,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7578,6 +7691,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7699,19 +7921,43 @@ public:
return 0;
}
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
{
- switch (facet)
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ dofs[0] = entity_indices[0][0];
+ dofs[1] = entity_indices[0][1];
+ dofs[2] = entity_indices[0][2];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
+ std::size_t facet) const final override
+ {
+ switch (facet)
{
case 0:
{
@@ -7787,6 +8033,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7894,6 +8225,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7997,6 +8352,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8118,6 +8570,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8183,6 +8659,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8227,6 +8783,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -8251,11 +8822,11 @@ public:
// Values of basis functions at quadrature points.
static const double FE2_C0[6][6] = \
- {{-0.074803807748196, 0.517632341987673, -0.0748038077481966, 0.299215230992787, 0.0335448115231483, 0.299215230992784},
- {-0.074803807748196, -0.0748038077481966, 0.517632341987674, 0.299215230992787, 0.299215230992784, 0.0335448115231483},
- {0.517632341987671, -0.0748038077481966, -0.0748038077481966, 0.0335448115231487, 0.299215230992787, 0.299215230992787},
- {-0.0482083778155119, -0.0847304930939778, -0.0482083778155119, 0.192833511262048, 0.795480226200906, 0.192833511262048},
- {-0.0482083778155119, -0.048208377815512, -0.0847304930939778, 0.192833511262048, 0.192833511262048, 0.795480226200906},
+ {{-0.074803807748196, 0.517632341987674, -0.0748038077481967, 0.299215230992787, 0.0335448115231483, 0.299215230992784},
+ {-0.074803807748196, -0.0748038077481967, 0.517632341987674, 0.299215230992787, 0.299215230992784, 0.0335448115231484},
+ {0.517632341987671, -0.0748038077481967, -0.0748038077481967, 0.0335448115231487, 0.299215230992786, 0.299215230992787},
+ {-0.0482083778155119, -0.0847304930939779, -0.0482083778155119, 0.192833511262048, 0.795480226200906, 0.192833511262048},
+ {-0.0482083778155119, -0.0482083778155119, -0.0847304930939778, 0.192833511262048, 0.192833511262048, 0.795480226200906},
{-0.0847304930939778, -0.048208377815512, -0.0482083778155119, 0.795480226200906, 0.192833511262048, 0.192833511262048}};
// Array of non-zero columns
@@ -8266,9 +8837,9 @@ public:
static const double FE2_C0_D01[6][5] = \
{{0.633695145960915, -0.633695145960916, 3.26739029192182, 0.0, -3.26739029192184},
- {0.633695145960915, 2.26739029192184, 0.366304854039068, -2.90108543788275, -0.366304854039081},
+ {0.633695145960915, 2.26739029192184, 0.366304854039069, -2.90108543788275, -0.366304854039082},
{-2.26739029192184, -0.633695145960916, 0.366304854039074, 2.90108543788276, -0.366304854039083},
- {-0.783793963663865, 0.783793963663862, 0.432412072672267, 0.0, -0.432412072672279},
+ {-0.783793963663865, 0.783793963663862, 0.432412072672268, 0.0, -0.43241207267228},
{-0.783793963663864, -0.567587927327719, 1.78379396366385, 1.35138189099159, -1.78379396366386},
{0.567587927327715, 0.783793963663862, 1.78379396366385, -1.35138189099157, -1.78379396366386}};
@@ -8280,11 +8851,11 @@ public:
static const double FE2_C0_D10[6][5] = \
{{0.633695145960922, 2.26739029192184, 0.366304854039083, -0.366304854039083, -2.90108543788276},
- {0.63369514596092, -0.633695145960917, 3.26739029192183, -3.26739029192183, 0.0},
+ {0.63369514596092, -0.633695145960916, 3.26739029192183, -3.26739029192183, 0.0},
{-2.26739029192183, -0.633695145960919, 0.366304854039083, -0.366304854039083, 2.90108543788275},
{-0.78379396366386, -0.567587927327721, 1.78379396366386, -1.78379396366386, 1.35138189099158},
{-0.783793963663859, 0.783793963663859, 0.432412072672279, -0.432412072672279, 0.0},
- {0.567587927327721, 0.783793963663861, 1.78379396366386, -1.78379396366386, -1.35138189099158}};
+ {0.567587927327721, 0.78379396366386, 1.78379396366386, -1.78379396366386, -1.35138189099158}};
// Array of non-zero columns
static const unsigned int nzc8[5] = {0, 1, 3, 4, 5};
@@ -8393,6 +8964,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -8417,13 +9003,13 @@ public:
// Values of basis functions at quadrature points.
static const double FE2_C0[7][6] = \
- {{-0.111111111111111, -0.111111111111111, -0.111111111111111, 0.444444444444444, 0.444444444444444, 0.444444444444444},
- {-0.0807685941918872, 0.474352608585538, -0.0807685941918871, 0.323074376767549, 0.0410358262631383, 0.323074376767549},
- {-0.0807685941918872, -0.0807685941918872, 0.474352608585538, 0.323074376767549, 0.323074376767549, 0.0410358262631383},
+ {{-0.111111111111111, -0.111111111111111, -0.111111111111111, 0.444444444444444, 0.444444444444444, 0.444444444444445},
+ {-0.0807685941918871, 0.474352608585538, -0.0807685941918871, 0.323074376767549, 0.0410358262631382, 0.323074376767549},
+ {-0.0807685941918872, -0.0807685941918872, 0.474352608585538, 0.323074376767549, 0.323074376767549, 0.0410358262631385},
{0.474352608585539, -0.0807685941918871, -0.0807685941918871, 0.0410358262631383, 0.323074376767549, 0.323074376767549},
- {-0.0280749432230786, -0.0525839011025453, -0.0280749432230788, 0.112299772892315, 0.884134241764073, 0.112299772892315},
+ {-0.0280749432230787, -0.0525839011025454, -0.0280749432230788, 0.112299772892315, 0.884134241764072, 0.112299772892315},
{-0.0280749432230787, -0.0280749432230788, -0.0525839011025453, 0.112299772892315, 0.112299772892315, 0.884134241764073},
- {-0.0525839011025454, -0.0280749432230789, -0.0280749432230788, 0.884134241764072, 0.112299772892315, 0.112299772892315}};
+ {-0.0525839011025453, -0.0280749432230788, -0.0280749432230788, 0.884134241764072, 0.112299772892315, 0.112299772892315}};
// Array of non-zero columns
static const unsigned int nzc6[6] = {0, 1, 2, 3, 4, 5};
@@ -8433,12 +9019,12 @@ public:
static const double FE2_C0_D01[7][5] = \
{{-0.333333333333338, 0.333333333333335, 1.33333333333332, 0.0, -1.33333333333333},
- {0.59485397070617, -0.594853970706174, 3.18970794141233, 1.15463194561016e-14, -3.18970794141235},
- {0.594853970706169, 2.18970794141235, 0.405146029293809, -2.78456191211851, -0.405146029293823},
+ {0.59485397070617, -0.594853970706174, 3.18970794141234, 1.19904086659517e-14, -3.18970794141235},
+ {0.594853970706169, 2.18970794141235, 0.40514602929381, -2.78456191211851, -0.405146029293824},
{-2.18970794141235, -0.594853970706174, 0.405146029293815, 2.78456191211853, -0.405146029293824},
- {-0.880568256420466, 0.880568256420462, 0.238863487159066, 0.0, -0.238863487159078},
- {-0.880568256420465, -0.76113651284092, 1.88056825642045, 1.64170476926139, -1.88056825642046},
- {0.761136512840916, 0.880568256420462, 1.88056825642045, -1.64170476926137, -1.88056825642046}};
+ {-0.880568256420466, 0.880568256420462, 0.238863487159067, 0.0, -0.238863487159079},
+ {-0.880568256420465, -0.761136512840921, 1.88056825642045, 1.64170476926139, -1.88056825642046},
+ {0.761136512840915, 0.880568256420462, 1.88056825642045, -1.64170476926137, -1.88056825642046}};
// Array of non-zero columns
static const unsigned int nzc7[5] = {0, 2, 3, 4, 5};
@@ -8448,12 +9034,12 @@ public:
static const double FE2_C0_D10[7][5] = \
{{-0.333333333333333, 0.333333333333333, 1.33333333333333, -1.33333333333333, 0.0},
- {0.594853970706176, 2.18970794141235, 0.405146029293824, -0.405146029293824, -2.78456191211853},
+ {0.594853970706176, 2.18970794141235, 0.405146029293824, -0.405146029293824, -2.78456191211852},
{0.594853970706174, -0.594853970706175, 3.18970794141234, -3.18970794141234, 0.0},
- {-2.18970794141235, -0.594853970706178, 0.405146029293824, -0.405146029293824, 2.78456191211853},
- {-0.880568256420462, -0.761136512840923, 1.88056825642046, -1.88056825642046, 1.64170476926138},
- {-0.880568256420459, 0.880568256420459, 0.238863487159078, -0.238863487159078, 0.0},
- {0.761136512840922, 0.880568256420461, 1.88056825642046, -1.88056825642046, -1.64170476926138}};
+ {-2.18970794141235, -0.594853970706177, 0.405146029293824, -0.405146029293824, 2.78456191211853},
+ {-0.880568256420461, -0.761136512840922, 1.88056825642046, -1.88056825642046, 1.64170476926138},
+ {-0.880568256420459, 0.880568256420459, 0.238863487159077, -0.238863487159077, 0.0},
+ {0.761136512840921, 0.880568256420461, 1.88056825642046, -1.88056825642046, -1.64170476926138}};
// Array of non-zero columns
static const unsigned int nzc8[5] = {0, 1, 3, 4, 5};
@@ -9331,10 +9917,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9350,10 +9936,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9544,10 +10130,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9563,10 +10149,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/navier-stokes/cpp/VelocityUpdate.h b/demo/documented/navier-stokes/cpp/VelocityUpdate.h
index 164ae6e..5c844b6 100644
--- a/demo/documented/navier-stokes/cpp/VelocityUpdate.h
+++ b/demo/documented/navier-stokes/cpp/VelocityUpdate.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6741,25 +6724,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -7208,6 +7182,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7328,6 +7326,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7435,6 +7524,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7578,6 +7691,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7699,19 +7921,43 @@ public:
return 0;
}
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
{
- switch (facet)
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ dofs[0] = entity_indices[0][0];
+ dofs[1] = entity_indices[0][1];
+ dofs[2] = entity_indices[0][2];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
+ std::size_t facet) const final override
+ {
+ switch (facet)
{
case 0:
{
@@ -7787,6 +8033,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7894,6 +8225,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7997,6 +8352,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8118,6 +8570,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8183,6 +8659,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8227,6 +8783,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 24
@@ -8273,7 +8844,7 @@ public:
A[22] = 0.0;
A[23] = 0.0;
A[24] = -0.00277777777777778*G0_;
- A[25] = -0.0027777777777778*G0_;
+ A[25] = -0.00277777777777781*G0_;
A[26] = 0.0166666666666667*G0_;
A[27] = 0.0;
A[28] = 0.0;
@@ -8313,7 +8884,7 @@ public:
A[62] = -0.0111111111111111*G0_;
A[63] = 0.0444444444444443*G0_;
A[64] = 0.0444444444444443*G0_;
- A[65] = 0.0888888888888887*G0_;
+ A[65] = 0.0888888888888888*G0_;
A[66] = 0.0;
A[67] = 0.0;
A[68] = 0.0;
@@ -8351,7 +8922,7 @@ public:
A[100] = 0.0;
A[101] = 0.0;
A[102] = -0.00277777777777778*G0_;
- A[103] = -0.0027777777777778*G0_;
+ A[103] = -0.00277777777777781*G0_;
A[104] = 0.0166666666666667*G0_;
A[105] = 0.0;
A[106] = 0.0;
@@ -8391,7 +8962,7 @@ public:
A[140] = -0.0111111111111111*G0_;
A[141] = 0.0444444444444443*G0_;
A[142] = 0.0444444444444443*G0_;
- A[143] = 0.0888888888888887*G0_;
+ A[143] = 0.0888888888888888*G0_;
}
};
@@ -8422,6 +8993,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 28
// Number of operations (multiply-add pairs) for tensor contraction: 66
@@ -8464,16 +9050,16 @@ public:
// Compute element tensor
A[0] = 0.0166666666666666*G1_0 - 0.00277777777777778*G1_1 - 0.00277777777777778*G1_2 - 0.0111111111111111*G1_3;
A[1] = -0.00277777777777778*G1_0 + 0.0166666666666667*G1_1 - 0.00277777777777781*G1_2 - 0.0111111111111111*G1_4;
- A[2] = -0.00277777777777778*G1_0 - 0.0027777777777778*G1_1 + 0.0166666666666667*G1_2 - 0.0111111111111111*G1_5;
+ A[2] = -0.00277777777777778*G1_0 - 0.00277777777777781*G1_1 + 0.0166666666666667*G1_2 - 0.0111111111111111*G1_5;
A[3] = 0.166666666666666*G0_0_0_0_0 + 0.166666666666667*G0_0_0_0_1 - 0.166666666666666*G0_0_0_1_0 - 0.166666666666666*G0_0_0_2_1 - 0.0111111111111111*G1_0 + 0.0888888888888888*G1_3 + 0.0444444444444443*G1_4 + 0.0444444444444443*G1_5;
A[4] = 0.166666666666666*G0_0_0_0_0 + 0.166666666666666*G0_0_0_0_1 - 0.166666666666666*G0_0_0_1_0 - 0.166666666666666*G0_0_0_2_1 - 0.0111111111111111*G1_1 + 0.0444444444444443*G1_3 + 0.0888888888888887*G1_4 + 0.0444444444444443*G1_5;
- A[5] = 0.166666666666666*G0_0_0_0_0 + 0.166666666666666*G0_0_0_0_1 - 0.166666666666666*G0_0_0_1_0 - 0.166666666666666*G0_0_0_2_1 - 0.0111111111111111*G1_2 + 0.0444444444444443*G1_3 + 0.0444444444444443*G1_4 + 0.0888888888888887*G1_5;
+ A[5] = 0.166666666666666*G0_0_0_0_0 + 0.166666666666666*G0_0_0_0_1 - 0.166666666666666*G0_0_0_1_0 - 0.166666666666666*G0_0_0_2_1 - 0.0111111111111111*G1_2 + 0.0444444444444443*G1_3 + 0.0444444444444443*G1_4 + 0.0888888888888888*G1_5;
A[6] = 0.0166666666666666*G1_6 - 0.00277777777777778*G1_7 - 0.00277777777777778*G1_8 - 0.0111111111111111*G1_9;
A[7] = -0.00277777777777778*G1_6 + 0.0166666666666667*G1_7 - 0.00277777777777781*G1_8 - 0.0111111111111111*G1_10;
- A[8] = -0.00277777777777778*G1_6 - 0.0027777777777778*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
+ A[8] = -0.00277777777777778*G1_6 - 0.00277777777777781*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
A[9] = 0.166666666666666*G0_0_1_0_0 + 0.166666666666667*G0_0_1_0_1 - 0.166666666666666*G0_0_1_1_0 - 0.166666666666666*G0_0_1_2_1 - 0.0111111111111111*G1_6 + 0.0888888888888888*G1_9 + 0.0444444444444443*G1_10 + 0.0444444444444443*G1_11;
A[10] = 0.166666666666666*G0_0_1_0_0 + 0.166666666666666*G0_0_1_0_1 - 0.166666666666666*G0_0_1_1_0 - 0.166666666666666*G0_0_1_2_1 - 0.0111111111111111*G1_7 + 0.0444444444444443*G1_9 + 0.0888888888888887*G1_10 + 0.0444444444444443*G1_11;
- A[11] = 0.166666666666666*G0_0_1_0_0 + 0.166666666666666*G0_0_1_0_1 - 0.166666666666666*G0_0_1_1_0 - 0.166666666666666*G0_0_1_2_1 - 0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888887*G1_11;
+ A[11] = 0.166666666666666*G0_0_1_0_0 + 0.166666666666666*G0_0_1_0_1 - 0.166666666666666*G0_0_1_1_0 - 0.166666666666666*G0_0_1_2_1 - 0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888888*G1_11;
}
};
@@ -9244,10 +9830,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9428,10 +10014,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9447,10 +10033,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/navier-stokes/cpp/compile.log b/demo/documented/navier-stokes/cpp/compile.log
deleted file mode 100644
index 67b13f3..0000000
--- a/demo/documented/navier-stokes/cpp/compile.log
+++ /dev/null
@@ -1,2510 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form PressureUpdate
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), R0(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), R0(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>,
- CG2(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.099833 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00114 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {None: {(0, 1): array([[[ -1.66666667e+00, 3.33333333e-01, 3.33333333e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.21724894e-15, 7.49400542e-15, 8.04911693e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.33333333e-01, 1.66666667e+00, -3.33333333e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.66666667e-01, 6.66666667e-01, 2.66666667e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.00000000e+00, -2.00000000e+00, 1.05471187e-14],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -6.66666667e-01, -6.66666667e-01, -2.66666667e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.66666667e+00, 3.33333333e-01, 3.33333333e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.21724894e-15, 7.49400542e-15, 8.04911693e-15]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.33333333e-01, 1.66666667e+00, -3.33333333e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.66666667e-01, 6.66666667e-01, 2.66666667e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.00000000e+00, -2.00000000e+00, 1.05471187e-14]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.66666667e-01, -6.66666667e-01, -2.66666667e+00]]]), (1, 0): array([[[ -1.66666667e+00, 3.33333333e-01, 3.33333333e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.33333333e-01, -3.33333333e-01, 1.66666667e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.66666667e-01, 2.66666667e+00, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -6.66666667e-01, -2.66666667e+00, -6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.00000000e+00, 2.92740528e-16, -2.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.66666667e+00, 3.33333333e-01, 3.33333333e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.33333333e-01, -3.33333333e-01, 1.66666667e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.66666667e-01, 2.66666667e+00, 6.66666667e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.66666667e-01, -2.66666667e+00, -6.66666667e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.00000000e+00, 2.92740528e-16, -2.00000000e+00]]]), (0, 0): array([[[ 0.22222222, -0.11111111, -0.11111111],
- [ 0. , 0. , 0. ]],
-
- [[-0.11111111, -0.11111111, 0.22222222],
- [ 0. , 0. , 0. ]],
-
- [[-0.11111111, 0.22222222, -0.11111111],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11111111, 0.44444444, 0.44444444],
- [ 0. , 0. , 0. ]],
-
- [[ 0.44444444, 0.44444444, 0.11111111],
- [ 0. , 0. , 0. ]],
-
- [[ 0.44444444, 0.11111111, 0.44444444],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.22222222, -0.11111111, -0.11111111]],
-
- [[ 0. , 0. , 0. ],
- [-0.11111111, -0.11111111, 0.22222222]],
-
- [[ 0. , 0. , 0. ],
- [-0.11111111, 0.22222222, -0.11111111]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11111111, 0.44444444, 0.44444444]],
-
- [[ 0. , 0. , 0. ],
- [ 0.44444444, 0.44444444, 0.11111111]],
-
- [[ 0. , 0. , 0. ],
- [ 0.44444444, 0.11111111, 0.44444444]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1.]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 0): array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0_D10': array([[ -1.66666667e+00, -3.33333333e-01, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, 2.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, -3.33333333e-01, 0.00000000e+00,
- 2.66666667e+00, -2.66666667e+00, 2.92740528e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 1.66666667e+00, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, -2.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.22222222, -0.11111111, -0.11111111, 0.11111111,
- 0.44444444, 0.44444444],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, 0.22222222, 0.44444444,
- 0.44444444, 0.11111111],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, 0.22222222, -0.11111111, 0.44444444,
- 0.11111111, 0.44444444]]), 'FE3_C0_D01': array([[ -1.66666667e+00, 6.21724894e-15, -3.33333333e-01,
- 6.66666667e-01, 2.00000000e+00, -6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 7.49400542e-15, 1.66666667e+00,
- 6.66666667e-01, -2.00000000e+00, -6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 8.04911693e-15, -3.33333333e-01,
- 2.66666667e+00, 1.05471187e-14, -2.66666667e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE2_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.66666667e+00, 6.21724894e-15, -3.33333333e-01,
- 6.66666667e-01, 2.00000000e+00, -6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 7.49400542e-15, 1.66666667e+00,
- 6.66666667e-01, -2.00000000e+00, -6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 8.04911693e-15, -3.33333333e-01,
- 2.66666667e+00, 1.05471187e-14, -2.66666667e+00]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE3_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.66666667e+00, -3.33333333e-01, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, 2.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, -3.33333333e-01, 0.00000000e+00,
- 2.66666667e+00, -2.66666667e+00, 2.92740528e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 1.66666667e+00, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, -2.00000000e+00]])}
-
- tables: {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_C0_D10': array([[ -1.66666667e+00, -3.33333333e-01, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, 2.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, -3.33333333e-01, 0.00000000e+00,
- 2.66666667e+00, -2.66666667e+00, 2.92740528e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 1.66666667e+00, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, -2.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.22222222, -0.11111111, -0.11111111, 0.11111111,
- 0.44444444, 0.44444444],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, 0.22222222, 0.44444444,
- 0.44444444, 0.11111111],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, 0.22222222, -0.11111111, 0.44444444,
- 0.11111111, 0.44444444]]), 'FE3_C0_D01': array([[ -1.66666667e+00, 6.21724894e-15, -3.33333333e-01,
- 6.66666667e-01, 2.00000000e+00, -6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 7.49400542e-15, 1.66666667e+00,
- 6.66666667e-01, -2.00000000e+00, -6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.33333333e-01, 8.04911693e-15, -3.33333333e-01,
- 2.66666667e+00, 1.05471187e-14, -2.66666667e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE2_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.66666667e+00, 6.21724894e-15, -3.33333333e-01,
- 6.66666667e-01, 2.00000000e+00, -6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 7.49400542e-15, 1.66666667e+00,
- 6.66666667e-01, -2.00000000e+00, -6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 8.04911693e-15, -3.33333333e-01,
- 2.66666667e+00, 1.05471187e-14, -2.66666667e+00]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE3_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.66666667e+00, -3.33333333e-01, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, 2.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, -3.33333333e-01, 0.00000000e+00,
- 2.66666667e+00, -2.66666667e+00, 2.92740528e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.33333333e-01, 1.66666667e+00, 0.00000000e+00,
- 6.66666667e-01, -6.66666667e-01, -2.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE2_C1_D01': 'FE2_C1_D01', 'FE2_C1': 'FE2_C1', 'FE2_C1_D10': 'FE2_C1_D10', 'FE0': 'FE0', 'FE1': 'FE1', 'FE2_C0': 'FE2_C0', 'FE3_C0': 'FE3_C0', 'FE3_C1': 'FE3_C1', 'FE3_C0_D10': 'FE3_C0_D10', 'FE2_C0_D01': 'FE2_C0_D01', 'FE3_C1_D01': 'FE3_C1_D01', 'FE3_C0_D01': 'FE3_C0_D01', 'FE2_C0_D10': 'FE2_C0_D10', 'FE3_C1_D10': 'FE3_C1_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE3_C0_D10': array([[-1.66666667, -0.33333333, 0.66666667, -0.66666667, 2. ],
- [ 0.33333333, -0.33333333, 2.66666667, -2.66666667, 0. ],
- [ 0.33333333, 1.66666667, 0.66666667, -0.66666667, -2. ]]), 'FE3_C0_D01': array([[ -1.66666667e+00, -3.33333333e-01, 6.66666667e-01,
- 2.00000000e+00, -6.66666667e-01],
- [ 3.33333333e-01, 1.66666667e+00, 6.66666667e-01,
- -2.00000000e+00, -6.66666667e-01],
- [ 3.33333333e-01, -3.33333333e-01, 2.66666667e+00,
- 1.05471187e-14, -2.66666667e+00]]), 'FE2_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE3_C0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE2_C0_D01', (4, [3, 5]), False, False), 'FE2_C1': ('FE0', (3, [3, 4, 5]), False, False), 'FE2_C1_D10': ('FE2_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1': ('FE1', (), False, True), 'FE2_C0': ('FE0', (0, [0, 1, 2]), False, False), 'FE3_C0': ('FE3_C0', (6, [0, 1, 2, 3, 4, 5]), False, False), 'FE3_C1': ('FE3_C0', (9, [6, 7, 8, 9, 10, 11]), False, False), 'FE3_C0_D10': ('FE3_C0_D10', (8, [0, 1, 3, 4, 5]), False, False), 'FE2_C0_D01': ('FE2_ [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.222156 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00219202 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.45831 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00170112 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00205779 seconds.
-
-FFC finished in 0.787097 seconds.
-Output written to ./PressureUpdate.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form TentativeVelocity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Vector<2 x CG2(?)>, R0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Vector<2 x CG2(?)>, R0(?), Vector<2 x CG1(?)>, CG2(?),
- CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_1, w_2]'
- Unique elements: 'Vector<2 x CG2(?)>, R0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Vector<2 x CG2(?)>, R0(?), Vector<2 x CG1(?)>, CG2(?),
- CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
-Compiler stage 1 finished in 0.0406079 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {None: {(0, 1): array([[[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.99360578e-15, 7.32747196e-15, 5.44009282e-15,
- 6.93195501e-15, 6.88338275e-15, 8.11850587e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -6.33695146e-01, 2.26739029e+00, -6.33695146e-01,
- 7.83793964e-01, -5.67587927e-01, 7.83793964e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 3.26739029e+00, 3.66304854e-01, 3.66304854e-01,
- 4.32412073e-01, 1.78379396e+00, 1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.10542736e-15, -2.90108544e+00, 2.90108544e+00,
- 8.13238366e-15, 1.35138189e+00, -1.35138189e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.26739029e+00, -3.66304854e-01, -3.66304854e-01,
- -4.32412073e-01, -1.78379396e+00, -1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.99360578e-15, 7.32747196e-15, 5.44009282e-15,
- 6.93195501e-15, 6.88338275e-15, 8.11850587e-15]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.33695146e-01, 2.26739029e+00, -6.33695146e-01,
- 7.83793964e-01, -5.67587927e-01, 7.83793964e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.26739029e+00, 3.66304854e-01, 3.66304854e-01,
- 4.32412073e-01, 1.78379396e+00, 1.78379396e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.10542736e-15, -2.90108544e+00, 2.90108544e+00,
- 8.13238366e-15, 1.35138189e+00, -1.35138189e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.26739029e+00, -3.66304854e-01, -3.66304854e-01,
- -4.32412073e-01, -1.78379396e+00, -1.78379396e+00]]]), (1, 0): array([[[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.26739029e+00, -6.33695146e-01, -6.33695146e-01,
- -5.67587927e-01, 7.83793964e-01, 7.83793964e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 3.66304854e-01, 3.26739029e+00, 3.66304854e-01,
- 1.78379396e+00, 4.32412073e-01, 1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.66304854e-01, -3.26739029e+00, -3.66304854e-01,
- -1.78379396e+00, -4.32412073e-01, -1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.90108544e+00, -3.86532069e-15, 2.90108544e+00,
- 1.35138189e+00, -4.32612710e-16, -1.35138189e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.26739029e+00, -6.33695146e-01, -6.33695146e-01,
- -5.67587927e-01, 7.83793964e-01, 7.83793964e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.66304854e-01, 3.26739029e+00, 3.66304854e-01,
- 1.78379396e+00, 4.32412073e-01, 1.78379396e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.66304854e-01, -3.26739029e+00, -3.66304854e-01,
- -1.78379396e+00, -4.32412073e-01, -1.78379396e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.90108544e+00, -3.86532069e-15, 2.90108544e+00,
- 1.35138189e+00, -4.32612710e-16, -1.35138189e+00]]]), (0, 0): array([[[-0.07480381, -0.07480381, 0.51763234, -0.04820838, -0.04820838,
- -0.08473049],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.51763234, -0.07480381, -0.07480381, -0.08473049, -0.04820838,
- -0.04820838],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.07480381, 0.51763234, -0.07480381, -0.04820838, -0.08473049,
- -0.04820838],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.29921523, 0.29921523, 0.03354481, 0.19283351, 0.19283351,
- 0.79548023],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.03354481, 0.29921523, 0.29921523, 0.79548023, 0.19283351,
- 0.19283351],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.29921523, 0.03354481, 0.29921523, 0.19283351, 0.79548023,
- 0.19283351],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.07480381, -0.07480381, 0.51763234, -0.04820838, -0.04820838,
- -0.08473049]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.51763234, -0.07480381, -0.07480381, -0.08473049, -0.04820838,
- -0.04820838]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.07480381, 0.51763234, -0.07480381, -0.04820838, -0.08473049,
- -0.04820838]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.29921523, 0.29921523, 0.03354481, 0.19283351, 0.19283351,
- 0.79548023]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.03354481, 0.29921523, 0.29921523, 0.79548023, 0.19283351,
- 0.19283351]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.29921523, 0.03354481, 0.29921523, 0.19283351, 0.79548023,
- 0.19283351]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE2_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE2_C0_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE2_C0_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07480381, 0.51763234, -0.07480381, 0.29921523,
- 0.03354481, 0.29921523],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07480381, -0.07480381, 0.51763234, 0.29921523,
- 0.29921523, 0.03354481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.51763234, -0.07480381, -0.07480381, 0.03354481,
- 0.29921523, 0.29921523],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04820838, -0.08473049, -0.04820838, 0.19283351,
- 0.79548023, 0.19283351],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04820838, -0.04820838, -0.08473049, 0.19283351,
- 0.19283351, 0.79548023],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08473049, -0.04820838, -0.04820838, 0.79548023,
- 0.19283351, 0.19283351]]), 'FE2_C0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE2_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE2_C0_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE2_C0_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07480381, 0.51763234, -0.07480381, 0.29921523,
- 0.03354481, 0.29921523],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07480381, -0.07480381, 0.51763234, 0.29921523,
- 0.29921523, 0.03354481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.51763234, -0.07480381, -0.07480381, 0.03354481,
- 0.29921523, 0.29921523],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04820838, -0.08473049, -0.04820838, 0.19283351,
- 0.79548023, 0.19283351],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04820838, -0.04820838, -0.08473049, 0.19283351,
- 0.19283351, 0.79548023],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08473049, -0.04820838, -0.04820838, 0.79548023,
- 0.19283351, 0.19283351]]), 'FE2_C0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE2_C1_D01': 'FE2_C1_D01', 'FE2_C1_D10': 'FE2_C1_D10', 'FE2_C0': 'FE2_C0', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C1_D10': 'FE1_C1_D10', 'FE2_C1': 'FE2_C1', 'FE2_C0_D01': 'FE2_C0_D01', 'FE0': 'FE0', 'FE2_C0_D10': 'FE2_C0_D10', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE2_C0_D01': array([[ 0.63369515, -0.63369515, 3.26739029, 0. , -3.26739029],
- [ 0.63369515, 2.26739029, 0.36630485, -2.90108544, -0.36630485],
- [-2.26739029, -0.63369515, 0.36630485, 2.90108544, -0.36630485],
- [-0.78379396, 0.78379396, 0.43241207, 0. , -0.43241207],
- [-0.78379396, -0.56758793, 1.78379396, 1.35138189, -1.78379396],
- [ 0.56758793, 0.78379396, 1.78379396, -1.35138189, -1.78379396]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE2_C0_D10': array([[ 0.63369515, 2.26739029, 0.36630485, -0.36630485, -2.90108544],
- [ 0.63369515, -0.63369515, 3.26739029, -3.26739029, 0. ],
- [-2.26739029, -0.63369515, 0.36630485, -0.36630485, 2.90108544],
- [-0.78379396, -0.56758793, 1.78379396, -1.78379396, 1.35138189],
- [-0.78379396, 0.78379396, 0.43241207, -0.43241207, 0. ],
- [ 0.56758793, 0.78379396, 1.78379396, -1.78379396, -1.35138189]]), 'FE2_C0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE2_C0_D01', (10, [6, 8, 9, 10, 11]), False, False), 'FE2_C1_D10': ('FE2_C0_D10', (11, [6, 7, 9, 10, 11]), False, False), 'FE2_C0': ('FE2_C0', (6, [0, 1, 2, 3, 4, 5]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE2_C1': ('FE2_C0', (9, [6, 7, 8, 9, 10, 11]), False, False), 'FE2_C0_D [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {7: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {None: {(0, 1): array([[[ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 7.45237205e-15, 8.21565038e-15, 7.21644966e-15,
- 5.71764858e-15, 6.68909372e-15, 6.66133815e-15,
- 8.34055047e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.33333333e-01, -5.94853971e-01, 2.18970794e+00,
- -5.94853971e-01, 8.80568256e-01, -7.61136513e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.33333333e+00, 3.18970794e+00, 4.05146029e-01,
- 4.05146029e-01, 2.38863487e-01, 1.88056826e+00,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 9.43689571e-15, 1.15463195e-14, -2.78456191e+00,
- 2.78456191e+00, 8.49320614e-15, 1.64170477e+00,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.33333333e+00, -3.18970794e+00, -4.05146029e-01,
- -4.05146029e-01, -2.38863487e-01, -1.88056826e+00,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 7.45237205e-15, 8.21565038e-15, 7.21644966e-15,
- 5.71764858e-15, 6.68909372e-15, 6.66133815e-15,
- 8.34055047e-15]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.33333333e-01, -5.94853971e-01, 2.18970794e+00,
- -5.94853971e-01, 8.80568256e-01, -7.61136513e-01,
- 8.80568256e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.33333333e+00, 3.18970794e+00, 4.05146029e-01,
- 4.05146029e-01, 2.38863487e-01, 1.88056826e+00,
- 1.88056826e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.43689571e-15, 1.15463195e-14, -2.78456191e+00,
- 2.78456191e+00, 8.49320614e-15, 1.64170477e+00,
- -1.64170477e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.33333333e+00, -3.18970794e+00, -4.05146029e-01,
- -4.05146029e-01, -2.38863487e-01, -1.88056826e+00,
- -1.88056826e+00]]]), (1, 0): array([[[ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.33333333e-01, 2.18970794e+00, -5.94853971e-01,
- -5.94853971e-01, -7.61136513e-01, 8.80568256e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.33333333e+00, 4.05146029e-01, 3.18970794e+00,
- 4.05146029e-01, 1.88056826e+00, 2.38863487e-01,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.33333333e+00, -4.05146029e-01, -3.18970794e+00,
- -4.05146029e-01, -1.88056826e+00, -2.38863487e-01,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.43306259e-16, -2.78456191e+00, 5.34053683e-16,
- 2.78456191e+00, 1.64170477e+00, 4.42833521e-17,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.33333333e-01, 2.18970794e+00, -5.94853971e-01,
- -5.94853971e-01, -7.61136513e-01, 8.80568256e-01,
- 8.80568256e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.33333333e+00, 4.05146029e-01, 3.18970794e+00,
- 4.05146029e-01, 1.88056826e+00, 2.38863487e-01,
- 1.88056826e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.33333333e+00, -4.05146029e-01, -3.18970794e+00,
- -4.05146029e-01, -1.88056826e+00, -2.38863487e-01,
- -1.88056826e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.43306259e-16, -2.78456191e+00, 5.34053683e-16,
- 2.78456191e+00, 1.64170477e+00, 4.42833521e-17,
- -1.64170477e+00]]]), (0, 0): array([[[-0.11111111, -0.08076859, -0.08076859, 0.47435261, -0.02807494,
- -0.02807494, -0.0525839 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.11111111, 0.47435261, -0.08076859, -0.08076859, -0.0525839 ,
- -0.02807494, -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.11111111, -0.08076859, 0.47435261, -0.08076859, -0.02807494,
- -0.0525839 , -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.32307438, 0.32307438, 0.04103583, 0.11229977,
- 0.11229977, 0.88413424],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.04103583, 0.32307438, 0.32307438, 0.88413424,
- 0.11229977, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.32307438, 0.04103583, 0.32307438, 0.11229977,
- 0.88413424, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.08076859, -0.08076859, 0.47435261, -0.02807494,
- -0.02807494, -0.0525839 ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, 0.47435261, -0.08076859, -0.08076859, -0.0525839 ,
- -0.02807494, -0.02807494]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.08076859, 0.47435261, -0.08076859, -0.02807494,
- -0.0525839 , -0.02807494]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.32307438, 0.32307438, 0.04103583, 0.11229977,
- 0.11229977, 0.88413424]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.04103583, 0.32307438, 0.32307438, 0.88413424,
- 0.11229977, 0.11229977]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.32307438, 0.04103583, 0.32307438, 0.11229977,
- 0.88413424, 0.11229977]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00]]), 'FE2_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00]]), 'FE2_C0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE2_C0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, -0.11111111, 0.44444444,
- 0.44444444, 0.44444444],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, 0.47435261, -0.08076859, 0.32307438,
- 0.04103583, 0.32307438],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, -0.08076859, 0.47435261, 0.32307438,
- 0.32307438, 0.04103583],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47435261, -0.08076859, -0.08076859, 0.04103583,
- 0.32307438, 0.32307438],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.0525839 , -0.02807494, 0.11229977,
- 0.88413424, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.02807494, -0.0525839 , 0.11229977,
- 0.11229977, 0.88413424],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.0525839 , -0.02807494, -0.02807494, 0.88413424,
- 0.11229977, 0.11229977]]), 'FE2_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00]]), 'FE2_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00]]), 'FE2_C0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE2_C0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, -0.11111111, 0.44444444,
- 0.44444444, 0.44444444],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, 0.47435261, -0.08076859, 0.32307438,
- 0.04103583, 0.32307438],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, -0.08076859, 0.47435261, 0.32307438,
- 0.32307438, 0.04103583],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47435261, -0.08076859, -0.08076859, 0.04103583,
- 0.32307438, 0.32307438],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.0525839 , -0.02807494, 0.11229977,
- 0.88413424, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.02807494, -0.0525839 , 0.11229977,
- 0.11229977, 0.88413424],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.0525839 , -0.02807494, -0.02807494, 0.88413424,
- 0.11229977, 0.11229977]]), 'FE2_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE2_C1_D01': 'FE2_C1_D01', 'FE2_C1_D10': 'FE2_C1_D10', 'FE2_C0': 'FE2_C0', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C1_D10': 'FE1_C1_D10', 'FE2_C1': 'FE2_C1', 'FE2_C0_D01': 'FE2_C0_D01', 'FE0': 'FE0', 'FE2_C0_D10': 'FE2_C0_D10', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE2_C0_D01': array([[ -3.33333333e-01, 3.33333333e-01, 1.33333333e+00,
- 0.00000000e+00, -1.33333333e+00],
- [ 5.94853971e-01, -5.94853971e-01, 3.18970794e+00,
- 1.15463195e-14, -3.18970794e+00],
- [ 5.94853971e-01, 2.18970794e+00, 4.05146029e-01,
- -2.78456191e+00, -4.05146029e-01],
- [ -2.18970794e+00, -5.94853971e-01, 4.05146029e-01,
- 2.78456191e+00, -4.05146029e-01],
- [ -8.80568256e-01, 8.80568256e-01, 2.38863487e-01,
- 0.00000000e+00, -2.38863487e-01],
- [ -8.80568256e-01, -7.61136513e-01, 1.88056826e+00,
- 1.64170477e+00, -1.88056826e+00],
- [ 7.61136513e-01, 8.80568256e-01, 1.88056826e+00,
- -1.64170477e+00, -1.88056826e+00]]), 'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]]), 'FE2_C0_D10': array([[-0.33333333, 0.33333333, 1.33333333, -1.33333333, 0. ],
- [ 0.59485397, 2.18970794, 0.40514603, -0.40514603, -2.78456191],
- [ 0.59485397, -0.59485397, 3.18970794, -3.18970794, 0. ],
- [-2.18970794, -0.59485397, 0.40514603, -0.40514603, 2.78456191],
- [-0.88056826, -0.76113651, 1.88056826, -1.88056826, 1.64170477],
- [-0.88056826, 0.88056826, 0.23886349, -0.23886349, 0. ],
- [ 0.76113651, 0.88056826, 1.88056826, -1.88056826, -1.64170477]]), 'FE2_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE2_C0_D01', (10, [6, 8, 9, 10, 11]), False, False), 'FE2_C1_D10': ('FE2_C0_D10', (11, [6, 7, 9, 10, 11]), False, False), 'FE2_C0': ('FE2_C0', (6, [0, 1, 2, 3, 4, 5]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE2_C1': ('FE2_C0', (9, [6, 7, 8, 9, 10, 11]), False, False), 'FE2_C0_D [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.376363 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00869703 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.399085 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00109982 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00154901 seconds.
-
-FFC finished in 0.827913 seconds.
-Output written to ./TentativeVelocity.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form VelocityUpdate
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Vector<2 x CG2(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Vector<2 x CG2(?)>, Vector<2 x CG1(?)>, CG2(?), CG1(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_1, w_2]'
- Unique elements: 'Vector<2 x CG2(?)>, R0(?), CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Vector<2 x CG2(?)>, R0(?), CG1(?), Vector<2 x CG1(?)>,
- CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.216867 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00134 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 2 dims = [12, 12] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [3, 10], [3, 11], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [...]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 144 entries computed in 0.00188 seconds
- Shape of reference tensor: (12, 1, 2, 3, 2)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 4 dims = [1, 2, 3, 2] indices = [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 2, 0], [0, 0, 2, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 2, 0], [0, 1, 2, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 4 dims = [1, 2, 3, 2] indices = [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 2, 0], [0, 0, 2, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 2, 0], [0, 1, 2, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00122 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0197508 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000216007 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.392538 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000917912 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00131917 seconds.
-
-FFC finished in 0.63212 seconds.
-Output written to ./VelocityUpdate.h.
diff --git a/demo/documented/neumann-poisson/cpp/CMakeLists.txt b/demo/documented/neumann-poisson/cpp/CMakeLists.txt
index fa2d66f..8b105e7 100644
--- a/demo/documented/neumann-poisson/cpp/CMakeLists.txt
+++ b/demo/documented/neumann-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_neumann-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/neumann-poisson/cpp/Poisson.h b/demo/documented/neumann-poisson/cpp/Poisson.h
index c7f3277..004d7f6 100644
--- a/demo/documented/neumann-poisson/cpp/Poisson.h
+++ b/demo/documented/neumann-poisson/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -3875,6 +3867,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3963,6 +3979,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4070,6 +4171,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4173,6 +4298,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4294,6 +4516,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4359,6 +4605,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4466,6 +4792,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4563,6 +4913,92 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4621,6 +5057,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 14
@@ -4693,6 +5144,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -4751,6 +5217,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 9
@@ -5546,10 +6027,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5721,10 +6202,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5740,10 +6221,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/neumann-poisson/cpp/compile.log b/demo/documented/neumann-poisson/cpp/compile.log
deleted file mode 100644
index 2fc2be1..0000000
--- a/demo/documented/neumann-poisson/cpp/compile.log
+++ /dev/null
@@ -1,292 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<CG1(?), R0(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<CG1(?), R0(?)>, Vector<2 x CG1(?)>, CG1(?), R0(?
- )'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'Mixed<CG1(?), R0(?)>, CG1(?), Vector<2 x CG1
- (?)>'
- Unique sub elements: 'Mixed<CG1(?), R0(?)>, CG1(?), Vector<2 x CG1
- (?)>, R0(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0928741 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 16 entries computed in 0.000893 seconds
- Shape of reference tensor: (4, 4)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 64 entries computed in 0.00103 seconds
- Shape of reference tensor: (4, 4, 2, 2)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Precomputing integrals on reference element
- Reusing element from cache
- 16 entries computed in 0.000824 seconds
- Shape of reference tensor: (4, 4)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 12 entries computed in 0.00107 seconds
- Shape of reference tensor: (4, 3)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 12 entries computed in 0.00164 seconds
- Shape of reference tensor: (4, 3)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 12 entries computed in 0.00153 seconds
- Shape of reference tensor: (4, 3)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 12 entries computed in 0.0015 seconds
- Shape of reference tensor: (4, 3)
- Primary multi index: rank = 1 dims = [4] indices = [[0], [1], [2], [3]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0259519 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000240803 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.166009 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000943899 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00105309 seconds.
-
-FFC finished in 0.287588 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/documented/nonlinear-poisson/cpp/CMakeLists.txt b/demo/documented/nonlinear-poisson/cpp/CMakeLists.txt
index 925459a..72fbbdb 100644
--- a/demo/documented/nonlinear-poisson/cpp/CMakeLists.txt
+++ b/demo/documented/nonlinear-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_nonlinear-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/nonlinear-poisson/cpp/NonlinearPoisson.h b/demo/documented/nonlinear-poisson/cpp/NonlinearPoisson.h
index 6b7bf8c..2f5264b 100644
--- a/demo/documented/nonlinear-poisson/cpp/NonlinearPoisson.h
+++ b/demo/documented/nonlinear-poisson/cpp/NonlinearPoisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -2976,6 +3213,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3831,10 +4083,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3850,10 +4102,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4079,10 +4331,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4098,10 +4350,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/nonlinear-poisson/cpp/compile.log b/demo/documented/nonlinear-poisson/cpp/compile.log
deleted file mode 100644
index 544213c..0000000
--- a/demo/documented/nonlinear-poisson/cpp/compile.log
+++ /dev/null
@@ -1,489 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form NonlinearPoisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.099508 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1.],
- [ 1., 1., 1.],
- [ 0., 0., 0.]]), (0, 0): array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D01', (1, [0, 1]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2]), False, False), 'FE1_C0': ('FE0', (2, [0, 1, 2]), False, False), 'FE1_C1': ('FE0', (5, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE0_D01', (7, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE0_D01', (6, [3, 5]), False, False), 'FE1_C0_D01': ('FE0_D01', (3, [0, 2]), False, False), 'FE1_C0_D10': ('FE0_D01', (4, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1.],
- [ 1., 1., 1.],
- [ 0., 0., 0.]]), (0, 0): array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D01', (1, [0, 1]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2]), False, False), 'FE1_C0': ('FE0', (2, [0, 1, 2]), False, False), 'FE1_C1': ('FE0', (5, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE0_D01', (7, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE0_D01', (6, [3, 5]), False, False), 'FE1_C0_D01': ('FE0_D01', (3, [0, 2]), False, False), 'FE1_C0_D10': ('FE0_D01', (4, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0713391 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0106699 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.141625 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000977993 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000804901 seconds.
-
-FFC finished in 0.325425 seconds.
-Output written to ./NonlinearPoisson.h.
diff --git a/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py b/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py
index 612aee1..4b9004f 100644
--- a/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py
+++ b/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py
@@ -1,74 +1,209 @@
-"""This demo illustrates how to use of DOLFIN for solving a nonlinear
-PDE, in this case a nonlinear variant of Poisson's equation,
-
- - div (1 + u^2) grad u(x, y) = f(x, y)
-
-on the unit square with source f given by
-
- f(x, y) = x*sin(y)
-
-and boundary conditions given by
-
- u(x, y) = 1 for x = 0
- du/dn(x, y) = 0 otherwise
-
-This is equivalent to solving the variational problem
-
- F(u) = ((1 + u^2)*grad(u), grad(v)) - (f, v) = 0
-
-"""
-
-# Copyright (C) 2007 Kristian B. Oelgaard
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Original implementation (../cpp/main.cpp) by Garth N. Wells.
-#
-# Modified by Anders Logg, 2008.
-# Modified by Harish Narayanan, 2009.
-#
-# First added: 2007-11-14
-# Last changed: 2013-11-20
-# Begin demo
+#
+# .. _demo_nonlinear_poisson:
+#
+# Nonlinear Poisson equation
+# ==========================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_nonlinear-poisson.py`, which contains both the
+# variational form and the solver.
+#
+# This demo illustrates how to:
+#
+# * Solve a nonlinear partial differential equation (in this case a
+# nonlinear variant of Poisson's equation)
+# * Create and apply Dirichlet boundary conditions
+# * Define an :py:class:`Expression <dolfin.cpp.function.Expression>`
+# * Define a :py:class:`FunctionSpace <dolfin.cpp.function.FunctionSpace>`
+# * Create a :py:class:`SubDomain <dolfin.cpp.mesh.SubDomain>`
+#
+# The solution for :math:`u` in this demo will look as follows:
+#
+# .. image:: plot_u.png
+# :scale: 75 %
+#
+# and the gradient of :math:`u` will look like this:
+#
+# .. image:: plot_u_gradient.png
+# :scale: 75 %
+#
+# Equation and problem definition
+# -------------------------------
+#
+# For a domain :math:`\Omega \subset \mathbb{R}^N` with boundary
+# :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, we consider the
+# following nonlinear Poisson equation with given boundary conditions:
+#
+# .. math::n
+#
+# - \nabla\cdot((1 + u^2) \nabla u) &= f \quad {\rm in}\, \Omega,\\
+# u &= 1 \quad {\rm on}\, \Gamma_D,\\
+# \nabla u\cdot n &= 0 \quad {\rm on}\, \Gamma_N.
+#
+# Here :math:`f` is input data and :math:`n` denotes the outward
+# directed boundary normal. The nonlinear variational form can be
+# written in the following canonical form: find :math:`u \in V` such
+# that
+#
+# .. math::
+#
+# F(u;v) = 0 \quad \forall \, v \in \hat{V}
+#
+# Here :math:`F:V\times\hat{V}\rightarrow\mathbb{R}` is a semilinear
+# form, linear in the argument subsequent to the semicolon, and
+# :math:`V` is some suitable function space. The semilinear form is
+# defined as follows:
+#
+# .. math::
+#
+# F(u;v) = \int_\Omega (1 + u^2)\cdot\nabla u \cdot \nabla v - f v \,{\rm dx} = 0.
+#
+# To solve the nonlinear system :math:`b(U) = 0` by Newton's method we
+# compute the Jacobian :math:`A = b'`, where :math:`U` is the
+# coefficients of the linear combination in the finite element solution
+# :math:`u_h = \sum_{j=1}^{N}U_j\phi_j, \;
+# b:\mathbb{R}^N\rightarrow\mathbb{R}^N` and
+#
+# .. math::
+#
+# b_i(U) = F(u_h;\hat{\phi}_i),\quad i = 1,2,\dotsc,N.
+#
+# Linearizing the semilinear form :math:`F` around :math:`u = u_h`, we obtain
+#
+# .. math::
+#
+# F'(u_h;\delta u,v) = \int_\Omega [(2 \delta u\nabla u_h)\cdot\nabla v + ((1+u_h^2)\nabla\delta u)\nabla v] \,{\rm dx}
+#
+# We note that for each fixed :math:`u_h`, :math:`a =
+# F'(u_h;\,\cdot\,,\,\cdot\,)` is a bilinear form and :math:`L =
+# F(u_h;\,\cdot\,,\,\cdot\,)` is a linear form. In each Newton
+# iteration, we thus solve a linear variational problem of the canonical
+# form: find :math:`\delta u \in V_{h,0}` such that
+#
+# .. math::
+#
+# F'(u_h;\delta u,v) = -F(u_h;v)\quad\forall\,v\in\hat{V}_h.
+#
+#
+# In this demo, we shall consider the following definitions of the input
+# function, the domain, and the boundaries:
+#
+# * :math:`\Omega = [0,1] \times [0,1]\,\,\,` (a unit square)
+# * :math:`\Gamma_{D} = \{(1, y) \subset \partial \Omega\}\,\,\,` (Dirichlet boundary)
+# * :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \cup (0, y) \subset \partial \Omega\}\,\,\,` (Neumann boundary)
+# * :math:`f(x, y) = x\sin(y)\,\,\,` (source term)
+#
+# Implementation
+# --------------
+#
+# This description goes through the implementation (in
+# :download:`demo_nonlinear-poisson.py`) of a solver for the above
+# described nonlinear Poisson equation step-by-step.
+#
+# First, the :py:mod:`dolfin` module is imported::
from dolfin import *
+# Next, we want to consider the Dirichlet boundary condition. A simple
+# Python function, returning a boolean, can be used to define the
+# subdomain for the Dirichlet boundary condition (:math:`\Gamma_D`). The
+# function should return True for those points inside the subdomain and
+# False for the points outside. In our case, we want to say that the
+# points :math:`(x, y)` such that :math:`x = 1` are inside on the inside
+# of :math:`\Gamma_D`. (Note that because of rounding-off errors, it is
+# often wise to instead specify :math:`|x - 1| < \epsilon`, where
+# :math:`\epsilon` is a small number (such as machine precision).)::
+
# Sub domain for Dirichlet boundary condition
class DirichletBoundary(SubDomain):
def inside(self, x, on_boundary):
return abs(x[0] - 1.0) < DOLFIN_EPS and on_boundary
+# We then define a mesh of the domain and a finite element function
+# space V relative to this mesh. We use the built-in mesh provided by
+# the class :py:class:`UnitSquareMesh
+# <dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
+# consisting of :math:`32 \times 32` squares with each square divided
+# into two triangles, we do as follows::
+
# Create mesh and define function space
mesh = UnitSquareMesh(32, 32)
File("mesh.pvd") << mesh
V = FunctionSpace(mesh, "CG", 1)
+# The second argument to :py:class:`FunctionSpace
+# <dolfin.cpp.function.FunctionSpace>` is the finite element family,
+# while the third argument specifies the polynomial degree. Thus, in
+# this case, we use 'CG', for Continuous Galerkin, as a synonym for
+# 'Lagrange'. With degree 1, we simply get the standard linear Lagrange
+# element, which is a triangle with nodes at the three vertices (or in
+# other words, continuous piecewise linear polynomials).
+#
+# The Dirichlet boundary condition can be created using the class
+# :py:class:`DirichletBC <dolfin.cpp.fem.DirichletBC>`. A
+# :py:class:`DirichletBC <dolfin.cpp.fem.DirichletBC>` takes three
+# arguments: the function space the boundary condition applies to, the
+# value of the boundary condition, and the part of the boundary on which
+# the condition applies. In our example, the function space is V, the
+# value of the boundary condition (1.0) can be represented using a
+# Constant and the Dirichlet boundary is defined above. The definition
+# of the Dirichlet boundary condition then looks as follows::
+
# Define boundary condition
g = Constant(1.0)
bc = DirichletBC(V, g, DirichletBoundary())
+# Next, we want to express the variational problem. First, we need to
+# specify the function u which represents the solution. Upon
+# initialization, it is simply set to the zero function, which will
+# represent the initial guess :math:`u_0`. A :py:class:`Function
+# <dolfin.cpp.function.Function>` represents a function living in a
+# finite element function space. The test function :math:`v` is
+# specified, also living in the function space :math:`V`. We do this by
+# defining a :py:class:`Function <dolfin.cpp.function.Function>` and a
+# :py:class:`TestFunction <dolfin.functions.function.TestFunction>` on
+# the previously defined :py:class:`FunctionSpace
+# <dolfin.cpp.function.FunctionSpace>` V.
+#
+# Further, the source :math:`f` is involved in the variational forms,
+# and hence we must specify this. We have :math:`f` given by a simple
+# mathematical formula, which can be easily declared using the
+# :py:class:`Expression <dolfin.cpp.function.Expression>` class. Note
+# that the strings defining f use C++ syntax since, for efficiency,
+# DOLFIN will generate and compile C++ code for this expression at
+# run-time.
+#
+# By defining the function in this step and omitting the trial function
+# we tell FEniCS that the problem is nonlinear. With these ingredients,
+# we can write down the semilinear form F (using UFL operators). In
+# summary, this reads::
+
# Define variational problem
u = Function(V)
v = TestFunction(V)
f = Expression("x[0]*sin(x[1])", degree=2)
F = inner((1 + u**2)*grad(u), grad(v))*dx - f*v*dx
+# Now, we have specified the variational forms and can consider the
+# solution of the variational problem. Next, we can call the solve
+# function with the arguments F == 0, u, bc and solver parameters as
+# follows::
+
# Compute solution
-solve(F == 0, u, bc, solver_parameters={"newton_solver": {"relative_tolerance": 1e-6}})
+solve(F == 0, u, bc,
+ solver_parameters={"newton_solver":{"relative_tolerance":1e-6}})
+
+# The Newton procedure is considered to have converged when the residual
+# :math:`r_n` at iteration :math:`n` is less than the absolute tolerance
+# or the relative residual :math:`\frac{r_n}{r_0}` is less than the
+# relative tolerance.
+#
+# A :py:class:`Function <dolfin.cpp.function.Function>` can be
+# manipulated in various ways, in particular, it can be plotted and
+# saved to file. Here, we output the solution to a VTK file (using the
+# suffix .pvd) for later visualization and also plot it using the plot
+# command::
# Plot solution and solution gradient
plot(u, title="Solution")
diff --git a/demo/documented/nonlinear-poisson/python/documentation.rst b/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py.rst
similarity index 61%
rename from demo/documented/nonlinear-poisson/python/documentation.rst
rename to demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py.rst
index 67179f7..4a0d943 100644
--- a/demo/documented/nonlinear-poisson/python/documentation.rst
+++ b/demo/documented/nonlinear-poisson/python/demo_nonlinear-poisson.py.rst
@@ -1,6 +1,5 @@
-.. Documentation for the nonlinear Poisson demo from DOLFIN.
-.. _demo_pde_nonlinear-poisson_python_documentation:
+.. _demo_nonlinear_poisson:
Nonlinear Poisson equation
==========================
@@ -9,7 +8,90 @@ This demo is implemented in a single Python file,
:download:`demo_nonlinear-poisson.py`, which contains both the
variational form and the solver.
-.. include:: ../common.txt
+This demo illustrates how to:
+
+* Solve a nonlinear partial differential equation (in this case a
+ nonlinear variant of Poisson's equation)
+* Create and apply Dirichlet boundary conditions
+* Define an :py:class:`Expression <dolfin.cpp.function.Expression>`
+* Define a :py:class:`FunctionSpace <dolfin.cpp.function.FunctionSpace>`
+* Create a :py:class:`SubDomain <dolfin.cpp.mesh.SubDomain>`
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: plot_u.png
+ :scale: 75 %
+
+and the gradient of :math:`u` will look like this:
+
+.. image:: plot_u_gradient.png
+ :scale: 75 %
+
+Equation and problem definition
+-------------------------------
+
+For a domain :math:`\Omega \subset \mathbb{R}^N` with boundary
+:math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, we consider the
+following nonlinear Poisson equation with given boundary conditions:
+
+.. math::n
+
+ - \nabla\cdot((1 + u^2) \nabla u) &= f \quad {\rm in}\, \Omega,\\
+ u &= 1 \quad {\rm on}\, \Gamma_D,\\
+ \nabla u\cdot n &= 0 \quad {\rm on}\, \Gamma_N.
+
+Here :math:`f` is input data and :math:`n` denotes the outward
+directed boundary normal. The nonlinear variational form can be
+written in the following canonical form: find :math:`u \in V` such
+that
+
+.. math::
+
+ F(u;v) = 0 \quad \forall \, v \in \hat{V}
+
+Here :math:`F:V\times\hat{V}\rightarrow\mathbb{R}` is a semilinear
+form, linear in the argument subsequent to the semicolon, and
+:math:`V` is some suitable function space. The semilinear form is
+defined as follows:
+
+.. math::
+
+ F(u;v) = \int_\Omega (1 + u^2)\cdot\nabla u \cdot \nabla v - f v \,{\rm dx} = 0.
+
+To solve the nonlinear system :math:`b(U) = 0` by Newton's method we
+compute the Jacobian :math:`A = b'`, where :math:`U` is the
+coefficients of the linear combination in the finite element solution
+:math:`u_h = \sum_{j=1}^{N}U_j\phi_j, \;
+b:\mathbb{R}^N\rightarrow\mathbb{R}^N` and
+
+.. math::
+
+ b_i(U) = F(u_h;\hat{\phi}_i),\quad i = 1,2,\dotsc,N.
+
+Linearizing the semilinear form :math:`F` around :math:`u = u_h`, we obtain
+
+.. math::
+
+ F'(u_h;\delta u,v) = \int_\Omega [(2 \delta u\nabla u_h)\cdot\nabla v + ((1+u_h^2)\nabla\delta u)\nabla v] \,{\rm dx}
+
+We note that for each fixed :math:`u_h`, :math:`a =
+F'(u_h;\,\cdot\,,\,\cdot\,)` is a bilinear form and :math:`L =
+F(u_h;\,\cdot\,,\,\cdot\,)` is a linear form. In each Newton
+iteration, we thus solve a linear variational problem of the canonical
+form: find :math:`\delta u \in V_{h,0}` such that
+
+.. math::
+
+ F'(u_h;\delta u,v) = -F(u_h;v)\quad\forall\,v\in\hat{V}_h.
+
+
+In this demo, we shall consider the following definitions of the input
+function, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]\,\,\,` (a unit square)
+* :math:`\Gamma_{D} = \{(1, y) \subset \partial \Omega\}\,\,\,` (Dirichlet boundary)
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \cup (0, y) \subset \partial \Omega\}\,\,\,` (Neumann boundary)
+* :math:`f(x, y) = x\sin(y)\,\,\,` (source term)
Implementation
--------------
@@ -18,9 +100,7 @@ This description goes through the implementation (in
:download:`demo_nonlinear-poisson.py`) of a solver for the above
described nonlinear Poisson equation step-by-step.
-First, the :py:mod:`dolfin` module is imported:
-
-.. code-block:: python
+First, the :py:mod:`dolfin` module is imported::
from dolfin import *
@@ -32,9 +112,7 @@ False for the points outside. In our case, we want to say that the
points :math:`(x, y)` such that :math:`x = 1` are inside on the inside
of :math:`\Gamma_D`. (Note that because of rounding-off errors, it is
often wise to instead specify :math:`|x - 1| < \epsilon`, where
-:math:`\epsilon` is a small number (such as machine precision).)
-
-.. code-block:: python
+:math:`\epsilon` is a small number (such as machine precision).)::
# Sub domain for Dirichlet boundary condition
class DirichletBoundary(SubDomain):
@@ -46,9 +124,7 @@ space V relative to this mesh. We use the built-in mesh provided by
the class :py:class:`UnitSquareMesh
<dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
consisting of :math:`32 \times 32` squares with each square divided
-into two triangles, we do as follows:
-
-.. code-block:: python
+into two triangles, we do as follows::
# Create mesh and define function space
mesh = UnitSquareMesh(32, 32)
@@ -72,9 +148,7 @@ value of the boundary condition, and the part of the boundary on which
the condition applies. In our example, the function space is V, the
value of the boundary condition (1.0) can be represented using a
Constant and the Dirichlet boundary is defined above. The definition
-of the Dirichlet boundary condition then looks as follows:
-
-.. code-block:: python
+of the Dirichlet boundary condition then looks as follows::
# Define boundary condition
g = Constant(1.0)
@@ -103,9 +177,7 @@ run-time.
By defining the function in this step and omitting the trial function
we tell FEniCS that the problem is nonlinear. With these ingredients,
we can write down the semilinear form F (using UFL operators). In
-summary, this reads
-
-.. code-block:: python
+summary, this reads::
# Define variational problem
u = Function(V)
@@ -116,12 +188,11 @@ summary, this reads
Now, we have specified the variational forms and can consider the
solution of the variational problem. Next, we can call the solve
function with the arguments F == 0, u, bc and solver parameters as
-follows:
-
-.. code-block:: python
+follows::
# Compute solution
- solve(F == 0, u, bc, solver_parameters={"newton_solver": {"relative_tolerance": 1e-6}})
+ solve(F == 0, u, bc,
+ solver_parameters={"newton_solver":{"relative_tolerance":1e-6}})
The Newton procedure is considered to have converged when the residual
:math:`r_n` at iteration :math:`n` is less than the absolute tolerance
@@ -132,9 +203,7 @@ A :py:class:`Function <dolfin.cpp.function.Function>` can be
manipulated in various ways, in particular, it can be plotted and
saved to file. Here, we output the solution to a VTK file (using the
suffix .pvd) for later visualization and also plot it using the plot
-command:
-
-.. code-block:: python
+command::
# Plot solution and solution gradient
plot(u, title="Solution")
@@ -144,9 +213,3 @@ command:
# Save solution in VTK format
file = File("nonlinear_poisson.pvd")
file << u
-
-Complete code
--------------
-
-.. literalinclude:: demo_nonlinear-poisson.py
- :start-after: # Begin demo
diff --git a/demo/documented/nonlinear-poisson/plot_u.png b/demo/documented/nonlinear-poisson/python/plot_u.png
similarity index 100%
rename from demo/documented/nonlinear-poisson/plot_u.png
rename to demo/documented/nonlinear-poisson/python/plot_u.png
diff --git a/demo/documented/nonlinear-poisson/plot_u_gradient.png b/demo/documented/nonlinear-poisson/python/plot_u_gradient.png
similarity index 100%
rename from demo/documented/nonlinear-poisson/plot_u_gradient.png
rename to demo/documented/nonlinear-poisson/python/plot_u_gradient.png
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/CMakeLists.txt b/demo/documented/nonmatching-interpolation/cpp/CMakeLists.txt
similarity index 63%
rename from demo/undocumented/nonmatching-interpolation/cpp/CMakeLists.txt
rename to demo/documented/nonmatching-interpolation/cpp/CMakeLists.txt
index 168cbcd..a62e586 100644
--- a/demo/undocumented/nonmatching-interpolation/cpp/CMakeLists.txt
+++ b/demo/documented/nonmatching-interpolation/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_nonmatching-interpolation)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/nonmatching-interpolation/cpp/P1.ufl.rst b/demo/documented/nonmatching-interpolation/cpp/P1.ufl.rst
new file mode 100644
index 0000000..2b80232
--- /dev/null
+++ b/demo/documented/nonmatching-interpolation/cpp/P1.ufl.rst
@@ -0,0 +1,14 @@
+UFL input for P1 finite element
+===============================
+
+We define the finite element in UFL in a separate form file
+:download:`P1.ufl`. We define the linear finite element::
+
+ element = FiniteElement("Lagrange", triangle, 1)
+
+Before the form file can be used in the C++ program, it must be
+compiled using FFC by running (on the command-line):
+
+.. code-block:: sh
+
+ ffc -l dolfin P1.ufl
diff --git a/demo/documented/nonmatching-interpolation/cpp/P3.ufl.rst b/demo/documented/nonmatching-interpolation/cpp/P3.ufl.rst
new file mode 100644
index 0000000..811bb75
--- /dev/null
+++ b/demo/documented/nonmatching-interpolation/cpp/P3.ufl.rst
@@ -0,0 +1,14 @@
+UFL input for P3 finite element
+===============================
+
+We define the finite element in UFL in a separate form file
+:download:`P3.ufl`. We define the linear finite element::
+
+ element = FiniteElement("Lagrange", triangle, 3)
+
+Before the form file can be used in the C++ program, it must be
+compiled using FFC by running (on the command-line):
+
+.. code-block:: sh
+
+ ffc -l dolfin P3.ufl
diff --git a/demo/documented/nonmatching-interpolation/cpp/main.cpp.rst b/demo/documented/nonmatching-interpolation/cpp/main.cpp.rst
new file mode 100644
index 0000000..97dcc20
--- /dev/null
+++ b/demo/documented/nonmatching-interpolation/cpp/main.cpp.rst
@@ -0,0 +1,112 @@
+Interpolation from a non-matching mesh
+======================================
+
+This example demonstrates how to interpolate functions between
+finite element spaces on non-matching meshes.
+
+.. note::
+
+ Interpolation on non-matching meshes is not presently support in
+ parallel. See
+ https://bitbucket.org/fenics-project/dolfin/issues/162.
+
+
+Implementation
+--------------
+
+The implementation is split in three files: two UFL form files
+containing the definition of finite elements, and a C++ file
+containing the runtime code.
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`P1.ufl`, :download:`P3.ufl` and :download:`CMakeLists.txt`.
+
+
+UFL form file
+^^^^^^^^^^^^^
+
+The UFL files are implemented in :download:`P1.ufl` and
+:download:`P1.ufl`, and the explanations of the UFL files can be found
+at :doc:`here (P1) <P1.ufl>` and :doc:`here (P3) <P3.ufl>`.
+
+At the top we include the DOLFIN header file and the generated header
+files "P1.h" and "P2.h". For convenience we also include the DOLFIN
+namespace.
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+ #include "P1.h"
+ #include "P3.h"
+
+ using namespace dolfin;
+
+We then define an ``Expression``:
+
+.. code-block:: cpp
+
+ class MyExpression : public Expression
+ {
+ public:
+
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ values[0] = sin(10.0*x[0])*sin(10.0*x[1]);
+ }
+
+ };
+
+Next, the ``main`` function is started and we create two unit square
+meshes with a differing number of vertices in each direction:
+
+.. code-block:: cpp
+
+ int main()
+ {
+ // Create meshes
+ auto mesh0 = std::make_shared<UnitSquareMesh>(16, 16);
+ auto mesh1 = std::make_shared<UnitSquareMesh>(64, 64);
+
+We create a linear Lagrange finite element space on the coarser mesh,
+and a cubic Lagrange space on the finer mesh:
+
+.. code-block:: cpp
+
+ // Create function spaces
+ auto P1 = std::make_shared<P1::FunctionSpace>(mesh0);
+ auto P3 = std::make_shared<P3::FunctionSpace>(mesh1);
+
+One each space we create a finite element function:
+
+.. code-block:: cpp
+
+ // Create functions
+ Function v1(P1);
+ Function v3(P3);
+
+We create an instantiation of ``MyExpression``, and interpolate it
+into ``P3``:
+
+.. code-block:: cpp
+
+ // Interpolate expression into P3
+ MyExpression e;
+ v3.interpolate(e);
+
+Now, we interpolate ``v3`` into the linear finite element space on a
+coarser grid:
+
+.. code-block:: cpp
+
+ v1.interpolate(v3);
+
+Finally, we can visualise the function on the two meshes:
+
+.. code-block:: cpp
+
+ plot(v3);
+ plot(v1);
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py b/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py
new file mode 100644
index 0000000..4e93bea
--- /dev/null
+++ b/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py
@@ -0,0 +1,55 @@
+#
+# .. _demo_nonmataching_interpolation:
+#
+# Interpolation from a non-matching mesh
+# ======================================
+#
+# This example demonstrates how to interpolate functions between
+# finite element spaces on non-matching meshes.
+#
+# .. note::
+#
+# Interpolation on non-matching meshes is not presently support in
+# parallel. See
+# https://bitbucket.org/fenics-project/dolfin/issues/162.
+#
+# First, the :py:mod:`dolfin` module is imported: ::
+
+from dolfin import *
+
+# Next, we create two different meshes. In this case we create unit
+# square meshes with different size cells ::
+
+mesh0 = UnitSquareMesh(16, 16)
+mesh1 = UnitSquareMesh(64, 64)
+
+# On each mesh we create a finite element space. On the coarser mesh we use linear
+# Lagrange elements, and on the finer mesh cubic Lagrange elements ::
+
+P1 = FunctionSpace(mesh0, "Lagrange", 1)
+P3 = FunctionSpace(mesh1, "Lagrange", 3)
+
+# We interpolate the function :math:`\sin(10x) \sin(10y)` ::
+
+v = Expression("sin(10.0*x[0])*sin(10.0*x[1])", degree=5)
+
+# into the ``P3`` finite element space ::
+
+# Create function on P3 and interpolate v
+v3 = Function(P3)
+v3.interpolate(v)
+
+# We now interpolate the function ``v3`` into the ``P1`` space ::
+
+# Create function on P1 and interpolate v3
+v1 = Function(P1)
+v1.interpolate(v3)
+
+# The interpolated functions, ``v3`` and ``v1`` can ve visualised using
+# the ``plot`` function ::
+
+plot(v3, title='v3')
+interactive()
+
+plot(v1, title='v1')
+interactive()
diff --git a/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py.rst b/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py.rst
new file mode 100644
index 0000000..f076cce
--- /dev/null
+++ b/demo/documented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py.rst
@@ -0,0 +1,55 @@
+
+.. _demo_nonmataching_interpolation:
+
+Interpolation from a non-matching mesh
+======================================
+
+This example demonstrates how to interpolate functions between
+finite element spaces on non-matching meshes.
+
+.. note::
+
+ Interpolation on non-matching meshes is not presently support in
+ parallel. See
+ https://bitbucket.org/fenics-project/dolfin/issues/162.
+
+First, the :py:mod:`dolfin` module is imported: ::
+
+ from dolfin import *
+
+Next, we create two different meshes. In this case we create unit
+square meshes with different size cells ::
+
+ mesh0 = UnitSquareMesh(16, 16)
+ mesh1 = UnitSquareMesh(64, 64)
+
+On each mesh we create a finite element space. On the coarser mesh we use linear
+Lagrange elements, and on the finer mesh cubic Lagrange elements ::
+
+ P1 = FunctionSpace(mesh0, "Lagrange", 1)
+ P3 = FunctionSpace(mesh1, "Lagrange", 3)
+
+We interpolate the function :math:`\sin(10x) \sin(10y)` ::
+
+ v = Expression("sin(10.0*x[0])*sin(10.0*x[1])", degree=5)
+
+into the ``P3`` finite element space ::
+
+ # Create function on P3 and interpolate v
+ v3 = Function(P3)
+ v3.interpolate(v)
+
+We now interpolate the function ``v3`` into the ``P1`` space ::
+
+ # Create function on P1 and interpolate v3
+ v1 = Function(P1)
+ v1.interpolate(v3)
+
+The interpolated functions, ``v3`` and ``v1`` can ve visualised using
+the ``plot`` function ::
+
+ plot(v3, title='v3')
+ interactive()
+
+ plot(v1, title='v1')
+ interactive()
diff --git a/demo/documented/periodic/cpp/CMakeLists.txt b/demo/documented/periodic/cpp/CMakeLists.txt
index d818565..fb49ef6 100644
--- a/demo/documented/periodic/cpp/CMakeLists.txt
+++ b/demo/documented/periodic/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_periodic)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/periodic/cpp/Poisson.h b/demo/documented/periodic/cpp/Poisson.h
index 0ef0561..fce6d8c 100644
--- a/demo/documented/periodic/cpp/Poisson.h
+++ b/demo/documented/periodic/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2903,6 +3140,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -3631,10 +3883,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3797,10 +4049,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3816,10 +4068,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/periodic/cpp/compile.log b/demo/documented/periodic/cpp/compile.log
deleted file mode 100644
index 7abb774..0000000
--- a/demo/documented/periodic/cpp/compile.log
+++ /dev/null
@@ -1,164 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.122452 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00104 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000716 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0145111 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.0002141 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.124845 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000880003 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00082016 seconds.
-
-FFC finished in 0.264327 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/documented/poisson/common.txt b/demo/documented/poisson/common.txt
deleted file mode 100644
index 6bd1f50..0000000
--- a/demo/documented/poisson/common.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-
-This demo illustrates how to:
-
-* Solve a linear partial differential equation
-* Create and apply Dirichlet boundary conditions
-* Define Expressions
-* Define a FunctionSpace
-* Create a SubDomain
-
-The solution for :math:`u` in this demo will look as follows:
-
-.. image:: ../poisson_u.png
- :scale: 75 %
-
-Equation and problem definition
--------------------------------
-
-The Poisson equation is the canonical elliptic partial differential
-equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
-boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
-Poisson equation with particular boundary conditions reads:
-
-.. math::
- - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
- u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
- \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
-
-Here, :math:`f` and :math:`g` are input data and :math:`n` denotes the
-outward directed boundary normal. The most standard variational form
-of Poisson equation reads: find :math:`u \in V` such that
-
-.. math::
- a(u, v) = L(v) \quad \forall \ v \in V,
-
-where :math:`V` is a suitable function space and
-
-.. math::
- a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
- L(v) &= \int_{\Omega} f v \, {\rm d} x
- + \int_{\Gamma_{N}} g v \, {\rm d} s.
-
-The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
-is the linear form. It is assumed that all functions in :math:`V`
-satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
-\Gamma_{D}`).
-
-In this demo, we shall consider the following definitions of the input
-functions, the domain, and the boundaries:
-
-* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
-* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}` (Dirichlet boundary)
-* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}` (Neumann boundary)
-* :math:`g = \sin(5x)` (normal derivative)
-* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
diff --git a/demo/documented/poisson/cpp/CMakeLists.txt b/demo/documented/poisson/cpp/CMakeLists.txt
index 4d3da50..49820a5 100644
--- a/demo/documented/poisson/cpp/CMakeLists.txt
+++ b/demo/documented/poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/poisson/cpp/Poisson.h b/demo/documented/poisson/cpp/Poisson.h
deleted file mode 100644
index 8fd6ca3..0000000
--- a/demo/documented/poisson/cpp/Poisson.h
+++ /dev/null
@@ -1,4022 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __POISSON_H
-#define __POISSON_H
-#include <stdexcept>
-#include <ufc.h>
-
-class poisson_finite_element_0: public ufc::finite_element
-{
-public:
-
- poisson_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson_finite_element_0();
- }
-
-};
-
-
-class poisson_finite_element_1: public ufc::finite_element
-{
-public:
-
- poisson_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson_finite_element_1();
- }
-
-};
-
-
-class poisson_dofmap_0: public ufc::dofmap
-{
-public:
-
- poisson_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson_dofmap_0();
- }
-
-};
-
-
-class poisson_dofmap_1: public ufc::dofmap
-{
-public:
-
- poisson_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson_dofmap_1();
- }
-
-};
-
-
-class poisson_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- poisson_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~poisson_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 11
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1]);
- const double G0_0_1 = det*(K[0]*K[2] + K[1]*K[3]);
- const double G0_1_0 = det*(K[2]*K[0] + K[3]*K[1]);
- const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
-
- // Compute element tensor
- A[0] = 0.499999999999999*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1;
- A[1] = -0.499999999999999*G0_0_0 - 0.5*G0_1_0;
- A[2] = -0.5*G0_0_1 - 0.5*G0_1_1;
- A[3] = -0.499999999999999*G0_0_0 - 0.5*G0_0_1;
- A[4] = 0.499999999999999*G0_0_0;
- A[5] = 0.5*G0_0_1;
- A[6] = -0.5*G0_1_0 - 0.5*G0_1_1;
- A[7] = 0.5*G0_1_0;
- A[8] = 0.5*G0_1_1;
- }
-
-};
-
-
-class poisson_cell_integral_1_otherwise: public ufc::cell_integral
-{
-public:
-
- poisson_cell_integral_1_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~poisson_cell_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({true, false});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 7
- // Total number of operations (multiply-add pairs): 13
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0 = det*w[0][0]*(1.0);
- const double G0_1 = det*w[0][1]*(1.0);
- const double G0_2 = det*w[0][2]*(1.0);
-
- // Compute element tensor
- A[0] = 0.0833333333333334*G0_0 + 0.0416666666666667*G0_1 + 0.0416666666666667*G0_2;
- A[1] = 0.0416666666666667*G0_0 + 0.0833333333333333*G0_1 + 0.0416666666666666*G0_2;
- A[2] = 0.0416666666666667*G0_0 + 0.0416666666666666*G0_1 + 0.0833333333333333*G0_2;
- }
-
-};
-
-
-class poisson_exterior_facet_integral_1_otherwise: public ufc::exterior_facet_integral
-{
-public:
-
- poisson_exterior_facet_integral_1_otherwise() : ufc::exterior_facet_integral()
- {
-
- }
-
- ~poisson_exterior_facet_integral_1_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({false, true});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- std::size_t facet,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 10
- // Number of operations (multiply-add pairs) for geometry tensor: 3
- // Number of operations (multiply-add pairs) for tensor contraction: 9
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Get vertices on edge
- static unsigned int edge_vertices[3][2] = {{1, 2}, {0, 2}, {0, 1}};
- const unsigned int v0 = edge_vertices[facet][0];
- const unsigned int v1 = edge_vertices[facet][1];
-
- // Compute scale factor (length of edge scaled by length of reference interval)
- const double dx0 = coordinate_dofs[2*v1 + 0] - coordinate_dofs[2*v0 + 0];
- const double dx1 = coordinate_dofs[2*v1 + 1] - coordinate_dofs[2*v0 + 1];
- const double det = std::sqrt(dx0*dx0 + dx1*dx1);
-
-
- // Compute geometry tensor
- const double G0_0 = det*w[1][0]*(1.0);
- const double G0_1 = det*w[1][1]*(1.0);
- const double G0_2 = det*w[1][2]*(1.0);
-
- // Compute element tensor
- switch (facet)
- {
- case 0:
- {
- A[0] = 0.0;
- A[1] = 0.333333333333333*G0_1 + 0.166666666666667*G0_2;
- A[2] = 0.166666666666667*G0_1 + 0.333333333333333*G0_2;
- break;
- }
- case 1:
- {
- A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_2;
- A[1] = 0.0;
- A[2] = 0.166666666666667*G0_0 + 0.333333333333333*G0_2;
- break;
- }
- case 2:
- {
- A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_1;
- A[1] = 0.166666666666667*G0_0 + 0.333333333333333*G0_1;
- A[2] = 0.0;
- break;
- }
- }
-
- }
-
-};
-
-
-class poisson_form_0: public ufc::form
-{
-public:
-
- poisson_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~poisson_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "43feb4df5c0f918b8e0c704dcc3347e7ba836f6789fff2a5eab375cebd1a89b9c11ac8a2672ff5b2e765a36ff221d887ada9a5989db46716fbaeaeda07acdb99";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new poisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new poisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new poisson_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-
-class poisson_form_1: public ufc::form
-{
-public:
-
- poisson_form_1() : ufc::form()
- {
- // Do nothing
- }
-
- ~poisson_form_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "4b3b1c93f282ab055c940e8938b5687d692b500d84be151f71593ae9d6ad97e0c11f287e5960fa8de2ad6025423bd6e9dc808cf75c5a18587d11a7db9b67ccf0";
- }
-
- std::size_t rank() const final override
- {
- return 1;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 2;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({0, 1});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new poisson_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new poisson_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson_finite_element_0();
- break;
- }
- case 2:
- {
- return new poisson_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson_dofmap_0();
- break;
- }
- case 2:
- {
- return new poisson_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return true;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new poisson_cell_integral_1_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return new poisson_exterior_facet_integral_1_otherwise();
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace Poisson
-{
-
-class CoefficientSpace_f: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_f(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class CoefficientSpace_g: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- CoefficientSpace_g(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const poisson_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class Form_L_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_L_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_L_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_L_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_L_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-typedef CoefficientSpace_f Form_L_FunctionSpace_1;
-
-typedef CoefficientSpace_g Form_L_FunctionSpace_2;
-
-class Form_L: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- _ufc_form = std::make_shared<const poisson_form_1>();
- }
-
- // Constructor
- Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
- dolfin::Form(1, 2), f(*this, 0), g(*this, 1)
- {
- _function_spaces[0] = V0;
-
- this->f = f;
- this->g = g;
-
- _ufc_form = std::make_shared<const poisson_form_1>();
- }
-
- // Destructor
- ~Form_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_L_FunctionSpace_2 CoefficientSpace_g;
-
- // Coefficients
- dolfin::CoefficientAssigner f;
- dolfin::CoefficientAssigner g;
-};
-
-class MultiMeshForm_L: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V0), f(*this, 0), g(*this, 1)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Constructor
- MultiMeshForm_L(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
- dolfin::MultiMeshForm(V0), f(*this, 0), g(*this, 1)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
- this->f = f;
- this->g = g;
-
- }
-
- // Destructor
- ~MultiMeshForm_L()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
- if (name == "f")
- return 0;
- else if (name == "g")
- return 1;
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
- switch (i)
- {
- case 0:
- return "f";
- case 1:
- return "g";
- }
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "Invalid coefficient");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_L_FunctionSpace_0 TestSpace;
- typedef Form_L_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_L_FunctionSpace_1 CoefficientSpace_f;
- typedef Form_L_FunctionSpace_2 CoefficientSpace_g;
-
- // Coefficients
- dolfin::MultiMeshCoefficientAssigner f;
- dolfin::MultiMeshCoefficientAssigner g;
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_L LinearForm;
-typedef MultiMeshForm_L MultiMeshLinearForm;
-typedef Form_L ResidualForm;
-typedef MultiMeshForm_L MultiMeshResidualForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/demo/documented/poisson/cpp/Poisson.ufl b/demo/documented/poisson/cpp/Poisson.ufl
deleted file mode 100644
index 63c555c..0000000
--- a/demo/documented/poisson/cpp/Poisson.ufl
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2005-2009 Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2005
-# Last changed: 2011-03-08
-#
-# The bilinear form a(u, v) and linear form L(v) for
-# Poisson's equation.
-#
-# Compile this form with FFC: ffc -l dolfin Poisson.ufl.
-
-element = FiniteElement("Lagrange", triangle, 1)
-
-u = TrialFunction(element)
-v = TestFunction(element)
-f = Coefficient(element)
-g = Coefficient(element)
-
-a = inner(grad(u), grad(v))*dx
-L = f*v*dx + g*v*ds
diff --git a/demo/documented/poisson/cpp/Poisson.ufl.rst b/demo/documented/poisson/cpp/Poisson.ufl.rst
new file mode 100644
index 0000000..4a881e5
--- /dev/null
+++ b/demo/documented/poisson/cpp/Poisson.ufl.rst
@@ -0,0 +1,37 @@
+UFL input for the Poisson equation
+==================================
+
+The first step is to define the variational problem at hand. We define
+the variational problem in UFL terms in a separate form file
+:download:`Poisson.ufl`. We begin by defining the finite element::
+
+ element = FiniteElement("Lagrange", triangle, 1)
+
+The first argument to :py:class:`FiniteElement` is the finite element
+family, the second argument specifies the domain, while the third
+argument specifies the polynomial degree. Thus, in this case, our
+element ``element`` consists of first-order, continuous Lagrange basis
+functions on triangles (or in order words, continuous piecewise linear
+polynomials on triangles).
+
+Next, we use this element to initialize the trial and test functions
+(:math:`u` and :math:`v`) and the coefficient functions (:math:`f` and
+:math:`g`)::
+
+ u = TrialFunction(element)
+ v = TestFunction(element)
+ f = Coefficient(element)
+ g = Coefficient(element)
+
+Finally, we define the bilinear and linear forms according to the
+variational formulation of the equations::
+
+ a = inner(grad(u), grad(v))*dx
+ L = f*v*dx + g*v*ds
+
+Before the form file can be used in the C++ program, it must be
+compiled using FFC by running (on the command-line):
+
+.. code-block:: sh
+
+ ffc -l dolfin Poisson.ufl
diff --git a/demo/documented/poisson/cpp/compile.log b/demo/documented/poisson/cpp/compile.log
deleted file mode 100644
index 7565a75..0000000
--- a/demo/documented/poisson/cpp/compile.log
+++ /dev/null
@@ -1,208 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0852511 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00129 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00111 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00172 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00148 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00147 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0243161 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000322104 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.111718 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000779867 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000730991 seconds.
-
-FFC finished in 0.223648 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/documented/poisson/cpp/documentation.rst b/demo/documented/poisson/cpp/documentation.rst
deleted file mode 100644
index c3c0c0b..0000000
--- a/demo/documented/poisson/cpp/documentation.rst
+++ /dev/null
@@ -1,225 +0,0 @@
-.. Documentation for the Poisson demo from DOLFIN.
-
-.. _demo_pde_poisson_cpp_documentation:
-
-Poisson equation
-================
-
-.. include:: ../common.txt
-
-Implementation
---------------
-
-The implementation is split in two files: a form file containing the
-definition of the variational forms expressed in UFL and a C++ file
-containing the actual solver.
-
-Running this demo requires the files: :download:`main.cpp`,
-:download:`Poisson.ufl` and :download:`CMakeLists.txt`.
-
-UFL form file
-^^^^^^^^^^^^^
-
-The first step is to define the variational problem at hand. We define
-the variational problem in UFL terms in a separate form file
-:download:`Poisson.ufl`. We begin by defining the finite element:
-
-.. code-block:: python
-
- element = FiniteElement("Lagrange", triangle, 1)
-
-The first argument to :py:class:`FiniteElement` is the finite element
-family, the second argument specifies the domain, while the third
-argument specifies the polynomial degree. Thus, in this case, our
-element ``element`` consists of first-order, continuous Lagrange basis
-functions on triangles (or in order words, continuous piecewise linear
-polynomials on triangles).
-
-Next, we use this element to initialize the trial and test functions
-(:math:`u` and :math:`v`) and the coefficient functions (:math:`f` and
-:math:`g`):
-
-.. code-block:: python
-
- u = TrialFunction(element)
- v = TestFunction(element)
- f = Coefficient(element)
- g = Coefficient(element)
-
-Finally, we define the bilinear and linear forms according to the
-variational formulation of the equations:
-
-.. code-block:: python
-
- a = inner(grad(u), grad(v))*dx
- L = f*v*dx + g*v*ds
-
-Before the form file can be used in the C++ program, it must be
-compiled using FFC by running (on the command-line):
-
-.. code-block:: sh
-
- ffc -l dolfin Poisson.ufl
-
-Note the flag ``-l dolfin`` which tells FFC to generate
-DOLFIN-specific wrappers that make it easy to access the generated
-code from within DOLFIN.
-
-C++ program
-^^^^^^^^^^^
-
-The main solver is implemented in the :download:`main.cpp` file.
-
-At the top we include the DOLFIN header file and the generated header
-file "Poisson.h" containing the variational forms for the Poisson
-equation. For convenience we also include the DOLFIN namespace.
-
-.. code-block:: c++
-
- #include <dolfin.h>
- #include "Poisson.h"
-
- using namespace dolfin;
-
-.. index:: Expression
-
-Then follows the definition of the coefficient functions (for
-:math:`f` and :math:`g`), which are derived from the
-:cpp:class:`Expression` class in DOLFIN.
-
-.. code-block:: c++
-
- // Source term (right-hand side)
- class Source : public Expression
- {
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
- };
-
- // Normal derivative (Neumann boundary condition)
- class dUdN : public Expression
- {
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = sin(5*x[0]);
- }
- };
-
-.. index:: SubDomain
-
-The ``DirichletBoundary`` is derived from the :cpp:class:`SubDomain`
-class and defines the part of the boundary to which the Dirichlet
-boundary condition should be applied.
-
-.. code-block:: c++
-
- // Sub domain for Dirichlet boundary condition
- class DirichletBoundary : public SubDomain
- {
- bool inside(const Array<double>& x, bool on_boundary) const
- {
- return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS;
- }
- };
-
-Inside the ``main`` function, we begin by defining a mesh of the
-domain. As the unit square is a very standard domain, we can use a
-built-in mesh provided by the class :cpp:class:`UnitSquareMesh`. In order
-to create a mesh consisting of 32 x 32 squares with each square
-divided into two triangles, and the finite element space (specified in
-the form file) defined relative to this mesh, we do as follows
-
-.. code-block:: c++
-
- // Create mesh and function space
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
- auto V = std::make_shared<Poisson::FunctionSpace>(mesh);
-
-.. index:: DirichletBC
-
-Now, the Dirichlet boundary condition (:math:`u = 0`) can be created
-using the class :cpp:class:`DirichletBC`. A :cpp:class:`DirichletBC`
-takes three arguments: the function space the boundary condition
-applies to, the value of the boundary condition, and the part of the
-boundary on which the condition applies. In our example, the function
-space is ``V``, the value of the boundary condition (0.0) can
-represented using a :cpp:class:`Constant`, and the Dirichlet boundary
-is defined by the class :cpp:class:`DirichletBoundary` listed
-above. The definition of the Dirichlet boundary condition then looks
-as follows:
-
-.. code-block:: c++
-
- // Define boundary condition
- auto u0 = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(V, u0, boundary);
-
-.. index::
- triple: forms; attach; expression
-
-Next, we define the variational formulation by initializing the
-bilinear and linear forms (:math:`a`, :math:`L`) using the previously
-defined :cpp:class:`FunctionSpace` ``V``. Then we can create the
-source and boundary flux term (:math:`f`, :math:`g`) and attach these
-to the linear form.
-
-.. code-block:: c++
-
- // Define variational forms
- Poisson::BilinearForm a(V, V);
- Poisson::LinearForm L(V);
- auto f = std::make_shared<Source>();
- auto g = std::make_shared<dUdN>();
- L.f = f;
- L.g = g;
-
-Now, we have specified the variational forms and can consider the
-solution of the variational problem. First, we need to define a
-:cpp:class:`Function` ``u`` to store the solution. (Upon
-initialization, it is simply set to the zero function.) Next, we can
-call the ``solve`` function with the arguments ``a == L``, ``u`` and
-``bc`` as follows:
-
-.. code-block:: c++
-
- // Compute solution
- Function u(V);
- solve(a == L, u, bc);
-
-The function ``u`` will be modified during the call to solve. A
-:cpp:class:`Function` can be manipulated in various ways, in
-particular, it can be plotted and saved to file. Here, we output the
-solution to a ``VTK`` file (using the suffix ``.pvd``) for later
-visualization and also plot it using the ``plot`` command:
-
-.. code-block:: c++
-
- // Save solution in VTK format
- File file("poisson.pvd");
- file << u;
-
- // Plot solution
- plot(u);
-
-
-Complete code
--------------
-
-Complete UFL file
-^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: Poisson.ufl
- :start-after: # Compile this form
- :language: python
-
-Complete main file
-^^^^^^^^^^^^^^^^^^
-
-.. literalinclude:: main.cpp
- :start-after: // du/dn
- :language: c++
diff --git a/demo/documented/poisson/cpp/main.cpp b/demo/documented/poisson/cpp/main.cpp
deleted file mode 100644
index b70d37c..0000000
--- a/demo/documented/poisson/cpp/main.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (C) 2006-2011 Anders Logg
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2006-02-07
-// Last changed: 2013-03-11
-//
-// This demo program solves Poisson's equation
-//
-// - div grad u(x, y) = f(x, y)
-//
-// on the unit square with source f given by
-//
-// f(x, y) = 10*exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)
-//
-// and boundary conditions given by
-//
-// u(x, y) = 0 for x = 0 or x = 1
-// du/dn(x, y) = sin(5*x) for y = 0 or y = 1
-
-#include <dolfin.h>
-#include "Poisson.h"
-
-using namespace dolfin;
-
-// Source term (right-hand side)
-class Source : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- double dx = x[0] - 0.5;
- double dy = x[1] - 0.5;
- values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
- }
-};
-
-// Normal derivative (Neumann boundary condition)
-class dUdN : public Expression
-{
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = sin(5*x[0]);
- }
-};
-
-// Sub domain for Dirichlet boundary condition
-class DirichletBoundary : public SubDomain
-{
- bool inside(const Array<double>& x, bool on_boundary) const
- {
- return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS;
- }
-};
-
-int main()
-{
- // Create mesh and function space
- auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
- auto V = std::make_shared<Poisson::FunctionSpace>(mesh);
-
- // Define boundary condition
- auto u0 = std::make_shared<Constant>(0.0);
- auto boundary = std::make_shared<DirichletBoundary>();
- DirichletBC bc(V, u0, boundary);
-
- // Define variational forms
- Poisson::BilinearForm a(V, V);
- Poisson::LinearForm L(V);
-
- auto f = std::make_shared<Source>();
- auto g = std::make_shared<dUdN>();
- L.f = f;
- L.g = g;
-
- // Compute solution
- Function u(V);
- solve(a == L, u, bc);
-
- // Save solution in VTK format
- File file("poisson.pvd");
- file << u;
-
- // Plot solution
- plot(u);
- interactive();
-
- return 0;
-}
diff --git a/demo/documented/poisson/cpp/main.cpp.rst b/demo/documented/poisson/cpp/main.cpp.rst
new file mode 100644
index 0000000..e1a479f
--- /dev/null
+++ b/demo/documented/poisson/cpp/main.cpp.rst
@@ -0,0 +1,216 @@
+Poisson equation (C++)
+======================
+
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Create and apply Dirichlet boundary conditions
+* Define Expressions
+* Define a FunctionSpace
+* Create a SubDomain
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: ../poisson_u.png
+ :scale: 75 %
+
+.. todo:: Fix the link to image
+
+
+Equation and problem definition
+-------------------------------
+
+The Poisson equation is the canonical elliptic partial differential
+equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
+boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
+Poisson equation with particular boundary conditions reads:
+
+.. math::
+ - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
+ u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
+ \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
+
+Here, :math:`f` and :math:`g` are input data and :math:`n` denotes the
+outward directed boundary normal. The most standard variational form
+of Poisson equation reads: find :math:`u \in V` such that
+
+.. math::
+ a(u, v) = L(v) \quad \forall \ v \in V,
+
+where :math:`V` is a suitable function space and
+
+.. math::
+ a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+ L(v) &= \int_{\Omega} f v \, {\rm d} x
+ + \int_{\Gamma_{N}} g v \, {\rm d} s.
+
+The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+is the linear form. It is assumed that all functions in :math:`V`
+satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
+\Gamma_{D}`).
+
+In this demo, we shall consider the following definitions of the input
+functions, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}` (Dirichlet boundary)
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}` (Neumann boundary)
+* :math:`g = \sin(5x)` (normal derivative)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
+
+
+Implementation
+--------------
+
+The implementation is split in two files: a form file containing the
+definition of the variational forms expressed in UFL and a C++ file
+containing the actual solver.
+
+Running this demo requires the files: :download:`main.cpp`,
+:download:`Poisson.ufl` and :download:`CMakeLists.txt`.
+
+
+UFL form file
+^^^^^^^^^^^^^
+
+The UFL file is implemented in :download:`Poisson.ufl`, and the
+explanation of the UFL file can be found at :doc:`here <Poisson.ufl>`.
+
+
+C++ program
+^^^^^^^^^^^
+
+The main solver is implemented in the :download:`main.cpp` file.
+
+At the top we include the DOLFIN header file and the generated header
+file "Poisson.h" containing the variational forms for the Poisson
+equation. For convenience we also include the DOLFIN namespace.
+
+.. code-block:: cpp
+
+ #include <dolfin.h>
+ #include "Poisson.h"
+
+ using namespace dolfin;
+
+Then follows the definition of the coefficient functions (for
+:math:`f` and :math:`g`), which are derived from the
+:cpp:class:`Expression` class in DOLFIN
+
+.. code-block:: cpp
+
+ // Source term (right-hand side)
+ class Source : public Expression
+ {
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ double dx = x[0] - 0.5;
+ double dy = x[1] - 0.5;
+ values[0] = 10*exp(-(dx*dx + dy*dy) / 0.02);
+ }
+ };
+
+ // Normal derivative (Neumann boundary condition)
+ class dUdN : public Expression
+ {
+ void eval(Array<double>& values, const Array<double>& x) const
+ {
+ values[0] = sin(5*x[0]);
+ }
+ };
+
+The ``DirichletBoundary`` is derived from the :cpp:class:`SubDomain`
+class and defines the part of the boundary to which the Dirichlet
+boundary condition should be applied.
+
+.. code-block:: cpp
+
+ // Sub domain for Dirichlet boundary condition
+ class DirichletBoundary : public SubDomain
+ {
+ bool inside(const Array<double>& x, bool on_boundary) const
+ {
+ return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS;
+ }
+ };
+
+Inside the ``main`` function, we begin by defining a mesh of the
+domain. As the unit square is a very standard domain, we can use a
+built-in mesh provided by the class :cpp:class:`UnitSquareMesh`. In
+order to create a mesh consisting of 32 x 32 squares with each square
+divided into two triangles, and the finite element space (specified in
+the form file) defined relative to this mesh, we do as follows
+
+.. code-block:: cpp
+
+ int main()
+ {
+ // Create mesh and function space
+ auto mesh = std::make_shared<UnitSquareMesh>(32, 32);
+ auto V = std::make_shared<Poisson::FunctionSpace>(mesh);
+
+Now, the Dirichlet boundary condition (:math:`u = 0`) can be created
+using the class :cpp:class:`DirichletBC`. A :cpp:class:`DirichletBC`
+takes three arguments: the function space the boundary condition
+applies to, the value of the boundary condition, and the part of the
+boundary on which the condition applies. In our example, the function
+space is ``V``, the value of the boundary condition (0.0) can
+represented using a :cpp:class:`Constant`, and the Dirichlet boundary
+is defined by the class :cpp:class:`DirichletBoundary` listed
+above. The definition of the Dirichlet boundary condition then looks
+as follows:
+
+.. code-block:: cpp
+
+ // Define boundary condition
+ auto u0 = std::make_shared<Constant>(0.0);
+ auto boundary = std::make_shared<DirichletBoundary>();
+ DirichletBC bc(V, u0, boundary);
+
+Next, we define the variational formulation by initializing the
+bilinear and linear forms (:math:`a`, :math:`L`) using the previously
+defined :cpp:class:`FunctionSpace` ``V``. Then we can create the
+source and boundary flux term (:math:`f`, :math:`g`) and attach these
+to the linear form.
+
+.. code-block:: cpp
+
+ // Define variational forms
+ Poisson::BilinearForm a(V, V);
+ Poisson::LinearForm L(V);
+ auto f = std::make_shared<Source>();
+ auto g = std::make_shared<dUdN>();
+ L.f = f;
+ L.g = g;
+
+Now, we have specified the variational forms and can consider the
+solution of the variational problem. First, we need to define a
+:cpp:class:`Function` ``u`` to store the solution. (Upon
+initialization, it is simply set to the zero function.) Next, we can
+call the ``solve`` function with the arguments ``a == L``, ``u`` and
+``bc`` as follows:
+
+.. code-block:: cpp
+
+ // Compute solution
+ Function u(V);
+ solve(a == L, u, bc);
+
+The function ``u`` will be modified during the call to solve. A
+:cpp:class:`Function` can be manipulated in various ways, in
+particular, it can be plotted and saved to file. Here, we output the
+solution to a ``VTK`` file (using the suffix ``.pvd``) for later
+visualization and also plot it using the ``plot`` command:
+
+.. code-block:: cpp
+
+ // Save solution in VTK format
+ File file("poisson.pvd");
+ file << u;
+
+ // Plot solution
+ plot(u);
+ interactive();
+
+ return 0;
+ }
diff --git a/demo/documented/poisson/python/demo_poisson.py b/demo/documented/poisson/python/demo_poisson.py
index d82b033..5882eee 100644
--- a/demo/documented/poisson/python/demo_poisson.py
+++ b/demo/documented/poisson/python/demo_poisson.py
@@ -1,53 +1,152 @@
-"""This demo program solves Poisson's equation
-
- - div grad u(x, y) = f(x, y)
-
-on the unit square with source f given by
-
- f(x, y) = 10*exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)
-
-and boundary conditions given by
-
- u(x, y) = 0 for x = 0 or x = 1
-du/dn(x, y) = sin(5*x) for y = 0 or y = 1
-"""
-
-# Copyright (C) 2007-2011 Anders Logg
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2007-08-16
-# Last changed: 2012-11-12
-
-# Begin demo
+#
+# .. _demo_poisson_equation:
+#
+# Poisson equation
+# ================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_poisson.py`, which contains both the variational forms
+# and the solver.
+#
+# This demo illustrates how to:
+#
+# * Solve a linear partial differential equation
+# * Create and apply Dirichlet boundary conditions
+# * Define Expressions
+# * Define a FunctionSpace
+# * Create a SubDomain
+#
+# The solution for :math:`u` in this demo will look as follows:
+#
+# .. image:: poisson_u.png
+# :scale: 75 %
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# The Poisson equation is the canonical elliptic partial differential
+# equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
+# boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
+# Poisson equation with particular boundary conditions reads:
+#
+# .. math::
+# - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
+# u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
+# \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
+#
+# Here, :math:`f` and :math:`g` are input data and :math:`n` denotes the
+# outward directed boundary normal. The most standard variational form
+# of Poisson equation reads: find :math:`u \in V` such that
+#
+# .. math::
+# a(u, v) = L(v) \quad \forall \ v \in V,
+#
+# where :math:`V` is a suitable function space and
+#
+# .. math::
+# a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+# L(v) &= \int_{\Omega} f v \, {\rm d} x
+# + \int_{\Gamma_{N}} g v \, {\rm d} s.
+#
+# The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+# is the linear form. It is assumed that all functions in :math:`V`
+# satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
+# \Gamma_{D}`).
+#
+# In this demo, we shall consider the following definitions of the input
+# functions, the domain, and the boundaries:
+#
+# * :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+# * :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}`
+# (Dirichlet boundary)
+# * :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}`
+# (Neumann boundary)
+# * :math:`g = \sin(5x)` (normal derivative)
+# * :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source
+# term)
+#
+#
+# Implementation
+# --------------
+#
+# This description goes through the implementation (in
+# :download:`demo_poisson.py`) of a solver for the above described
+# Poisson equation step-by-step.
+#
+# First, the :py:mod:`dolfin` module is imported: ::
from dolfin import *
+# We begin by defining a mesh of the domain and a finite element
+# function space :math:`V` relative to this mesh. As the unit square is
+# a very standard domain, we can use a built-in mesh provided by the
+# class :py:class:`UnitSquareMesh <dolfin.cpp.UnitSquareMesh>`. In order
+# to create a mesh consisting of 32 x 32 squares with each square
+# divided into two triangles, we do as follows ::
+
# Create mesh and define function space
mesh = UnitSquareMesh(32, 32)
V = FunctionSpace(mesh, "Lagrange", 1)
+# The second argument to :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` is the finite element
+# family, while the third argument specifies the polynomial
+# degree. Thus, in this case, our space ``V`` consists of first-order,
+# continuous Lagrange finite element functions (or in order words,
+# continuous piecewise linear polynomials).
+#
+# Next, we want to consider the Dirichlet boundary condition. A simple
+# Python function, returning a boolean, can be used to define the
+# subdomain for the Dirichlet boundary condition (:math:`\Gamma_D`). The
+# function should return ``True`` for those points inside the subdomain
+# and ``False`` for the points outside. In our case, we want to say that
+# the points :math:`(x, y)` such that :math:`x = 0` or :math:`x = 1` are
+# inside on the inside of :math:`\Gamma_D`. (Note that because of
+# rounding-off errors, it is often wise to instead specify :math:`x <
+# \epsilon` or :math:`x > 1 - \epsilon` where :math:`\epsilon` is a
+# small number (such as machine precision).) ::
+
# Define Dirichlet boundary (x = 0 or x = 1)
def boundary(x):
return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS
+# Now, the Dirichlet boundary condition can be created using the class
+# :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>`. A
+# :py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>` takes three
+# arguments: the function space the boundary condition applies to, the
+# value of the boundary condition, and the part of the boundary on which
+# the condition applies. In our example, the function space is ``V``,
+# the value of the boundary condition (0.0) can represented using a
+# :py:class:`Constant <dolfin.functions.constant.Constant>` and the
+# Dirichlet boundary is defined immediately above. The definition of the
+# Dirichlet boundary condition then looks as follows: ::
+
# Define boundary condition
u0 = Constant(0.0)
bc = DirichletBC(V, u0, boundary)
+# Next, we want to express the variational problem. First, we need to
+# specify the trial function :math:`u` and the test function :math:`v`,
+# both living in the function space :math:`V`. We do this by defining a
+# :py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+# and a :py:class:`TestFunction
+# <dolfin.functions.function.TrialFunction>` on the previously defined
+# :py:class:`FunctionSpace
+# <dolfin.functions.functionspace.FunctionSpace>` ``V``.
+#
+# Further, the source :math:`f` and the boundary normal derivative
+# :math:`g` are involved in the variational forms, and hence we must
+# specify these. Both :math:`f` and :math:`g` are given by simple
+# mathematical formulas, and can be easily declared using the
+# :py:class:`Expression <dolfin.functions.expression.Expression>` class.
+# Note that the strings defining ``f`` and ``g`` use C++ syntax since,
+# for efficiency, DOLFIN will generate and compile C++ code for these
+# expressions at run-time.
+#
+# With these ingredients, we can write down the bilinear form ``a`` and
+# the linear form ``L`` (using UFL operators). In summary, this reads ::
+
# Define variational problem
u = TrialFunction(V)
v = TestFunction(V)
@@ -56,10 +155,31 @@ g = Expression("sin(5*x[0])", degree=2)
a = inner(grad(u), grad(v))*dx
L = f*v*dx + g*v*ds
+# Now, we have specified the variational forms and can consider the
+# solution of the variational problem. First, we need to define a
+# :py:class:`Function <dolfin.functions.function.Function>` ``u`` to
+# represent the solution. (Upon initialization, it is simply set to the
+# zero function.) A :py:class:`Function
+# <dolfin.functions.function.Function>` represents a function living in
+# a finite element function space. Next, we can call the :py:func:`solve
+# <dolfin.fem.solving.solve>` function with the arguments ``a == L``,
+# ``u`` and ``bc`` as follows: ::
+
# Compute solution
u = Function(V)
solve(a == L, u, bc)
+# The function ``u`` will be modified during the call to solve. The
+# default settings for solving a variational problem have been
+# used. However, the solution process can be controlled in much more
+# detail if desired.
+#
+# A :py:class:`Function <dolfin.functions.function.Function>` can be
+# manipulated in various ways, in particular, it can be plotted and
+# saved to file. Here, we output the solution to a ``VTK`` file (using
+# the suffix ``.pvd``) for later visualization and also plot it using
+# the :py:func:`plot <dolfin.common.plot.plot>` command: ::
+
# Save solution in VTK format
file = File("poisson.pvd")
file << u
diff --git a/demo/documented/poisson/python/documentation.rst b/demo/documented/poisson/python/demo_poisson.py.rst
similarity index 64%
rename from demo/documented/poisson/python/documentation.rst
rename to demo/documented/poisson/python/demo_poisson.py.rst
index 8e3f2e4..f37f2e0 100644
--- a/demo/documented/poisson/python/documentation.rst
+++ b/demo/documented/poisson/python/demo_poisson.py.rst
@@ -1,6 +1,5 @@
-.. Documentation for the Poisson demo from DOLFIN.
-.. _demo_pde_poisson_python_documentation:
+.. _demo_poisson_equation:
Poisson equation
================
@@ -9,30 +8,82 @@ This demo is implemented in a single Python file,
:download:`demo_poisson.py`, which contains both the variational forms
and the solver.
-.. include:: ../common.txt
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Create and apply Dirichlet boundary conditions
+* Define Expressions
+* Define a FunctionSpace
+* Create a SubDomain
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: poisson_u.png
+ :scale: 75 %
+
+
+Equation and problem definition
+-------------------------------
+
+The Poisson equation is the canonical elliptic partial differential
+equation. For a domain :math:`\Omega \subset \mathbb{R}^n` with
+boundary :math:`\partial \Omega = \Gamma_{D} \cup \Gamma_{N}`, the
+Poisson equation with particular boundary conditions reads:
+
+.. math::
+ - \nabla^{2} u &= f \quad {\rm in} \ \Omega, \\
+ u &= 0 \quad {\rm on} \ \Gamma_{D}, \\
+ \nabla u \cdot n &= g \quad {\rm on} \ \Gamma_{N}. \\
+
+Here, :math:`f` and :math:`g` are input data and :math:`n` denotes the
+outward directed boundary normal. The most standard variational form
+of Poisson equation reads: find :math:`u \in V` such that
+
+.. math::
+ a(u, v) = L(v) \quad \forall \ v \in V,
+
+where :math:`V` is a suitable function space and
+
+.. math::
+ a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+ L(v) &= \int_{\Omega} f v \, {\rm d} x
+ + \int_{\Gamma_{N}} g v \, {\rm d} s.
+
+The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+is the linear form. It is assumed that all functions in :math:`V`
+satisfy the Dirichlet boundary conditions (:math:`u = 0 \ {\rm on} \
+\Gamma_{D}`).
+
+In this demo, we shall consider the following definitions of the input
+functions, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma_{D} = \{(0, y) \cup (1, y) \subset \partial \Omega\}`
+ (Dirichlet boundary)
+* :math:`\Gamma_{N} = \{(x, 0) \cup (x, 1) \subset \partial \Omega\}`
+ (Neumann boundary)
+* :math:`g = \sin(5x)` (normal derivative)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source
+ term)
+
Implementation
--------------
This description goes through the implementation (in
-:download:`demo_poisson.py`) of a solver for the above described Poisson
-equation step-by-step.
-
-First, the :py:mod:`dolfin` module is imported:
+:download:`demo_poisson.py`) of a solver for the above described
+Poisson equation step-by-step.
-.. code-block:: python
+First, the :py:mod:`dolfin` module is imported: ::
from dolfin import *
-
We begin by defining a mesh of the domain and a finite element
function space :math:`V` relative to this mesh. As the unit square is
a very standard domain, we can use a built-in mesh provided by the
-class :py:class:`UnitSquareMesh <dolfin.cpp.UnitSquareMesh>`. In order to create a mesh
-consisting of 32 x 32 squares with each square divided into two
-triangles, we do as follows
-
-.. code-block:: python
+class :py:class:`UnitSquareMesh <dolfin.cpp.UnitSquareMesh>`. In order
+to create a mesh consisting of 32 x 32 squares with each square
+divided into two triangles, we do as follows ::
# Create mesh and define function space
mesh = UnitSquareMesh(32, 32)
@@ -54,15 +105,12 @@ the points :math:`(x, y)` such that :math:`x = 0` or :math:`x = 1` are
inside on the inside of :math:`\Gamma_D`. (Note that because of
rounding-off errors, it is often wise to instead specify :math:`x <
\epsilon` or :math:`x > 1 - \epsilon` where :math:`\epsilon` is a
-small number (such as machine precision).)
-
-.. code-block:: python
+small number (such as machine precision).) ::
# Define Dirichlet boundary (x = 0 or x = 1)
def boundary(x):
return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS
-
Now, the Dirichlet boundary condition can be created using the class
:py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>`. A
:py:class:`DirichletBC <dolfin.fem.bcs.DirichletBC>` takes three
@@ -72,9 +120,7 @@ the condition applies. In our example, the function space is ``V``,
the value of the boundary condition (0.0) can represented using a
:py:class:`Constant <dolfin.functions.constant.Constant>` and the
Dirichlet boundary is defined immediately above. The definition of the
-Dirichlet boundary condition then looks as follows:
-
-.. code-block:: python
+Dirichlet boundary condition then looks as follows: ::
# Define boundary condition
u0 = Constant(0.0)
@@ -99,17 +145,15 @@ for efficiency, DOLFIN will generate and compile C++ code for these
expressions at run-time.
With these ingredients, we can write down the bilinear form ``a`` and
-the linear form ``L`` (using UFL operators). In summary, this reads
+the linear form ``L`` (using UFL operators). In summary, this reads ::
-.. code-block:: python
-
- # Define variational problem
- u = TrialFunction(V)
- v = TestFunction(V)
- f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
- g = Expression("sin(5*x[0])", degree=2)
- a = inner(grad(u), grad(v))*dx
- L = f*v*dx + g*v*ds
+ # Define variational problem
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
+ g = Expression("sin(5*x[0])", degree=2)
+ a = inner(grad(u), grad(v))*dx
+ L = f*v*dx + g*v*ds
Now, we have specified the variational forms and can consider the
solution of the variational problem. First, we need to define a
@@ -119,9 +163,7 @@ zero function.) A :py:class:`Function
<dolfin.functions.function.Function>` represents a function living in
a finite element function space. Next, we can call the :py:func:`solve
<dolfin.fem.solving.solve>` function with the arguments ``a == L``,
-``u`` and ``bc`` as follows:
-
-.. code-block:: python
+``u`` and ``bc`` as follows: ::
# Compute solution
u = Function(V)
@@ -132,16 +174,11 @@ default settings for solving a variational problem have been
used. However, the solution process can be controlled in much more
detail if desired.
-.. index::
- single: File; (in Poisson demo)
-
A :py:class:`Function <dolfin.functions.function.Function>` can be
manipulated in various ways, in particular, it can be plotted and
saved to file. Here, we output the solution to a ``VTK`` file (using
the suffix ``.pvd``) for later visualization and also plot it using
-the :py:func:`plot <dolfin.common.plot.plot>` command:
-
-.. code-block:: python
+the :py:func:`plot <dolfin.common.plot.plot>` command: ::
# Save solution in VTK format
file = File("poisson.pvd")
@@ -149,9 +186,3 @@ the :py:func:`plot <dolfin.common.plot.plot>` command:
# Plot solution
plot(u, interactive=True)
-
-Complete code
--------------
-
-.. literalinclude:: demo_poisson.py
- :start-after: # Begin demo
diff --git a/demo/documented/poisson/python/poisson_u.png b/demo/documented/poisson/python/poisson_u.png
new file mode 100644
index 0000000..1bf0bed
Binary files /dev/null and b/demo/documented/poisson/python/poisson_u.png differ
diff --git a/demo/documented/singular-poisson-rst/common.txt b/demo/documented/singular-poisson-rst/common.txt
new file mode 100644
index 0000000..fbf8e45
--- /dev/null
+++ b/demo/documented/singular-poisson-rst/common.txt
@@ -0,0 +1,78 @@
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Apply non-zero Neumann boundary conditions
+* Define Expressions
+* Define a FunctionSpace
+* Use the Krylov solver
+* Solve singular problems
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: ../singular_u.png
+ :scale: 75 %
+
+Equation and problem definition
+-------------------------------
+
+The Poisson equation is the canonical elliptic partial differential
+equation. For a domain :math:`\Omega \in \mathbb{R}^n` with boundary
+:math:`\Gamma = \partial \Omega`, the Poisson equation with pure
+Neumann boundary conditions reads:
+
+.. math::
+
+ -\nabla^{2} u &= f \quad {\rm in} \ \Omega \\
+ \nabla u \cdot n &= g \quad {\rm on} \ \Gamma \\
+
+Since only Neumann conditions are applied, :math:`u` is only
+determined up to a constant by the above equations. An addition
+constraint is thus required, for instance
+
+.. math::
+ \int u \, {\rm d} x = 0
+
+The most standard variational form of the Poisson equation reads: find
+:math:`u \in V` such that
+
+.. math::
+ a(u, v) = L(v) \quad \forall \ v \in V,
+
+where :math:`V` is a suitable function space and
+
+.. math::
+ a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+ L(v) &= \int_{\Omega} f v \, {\rm d} x
+ + \int_{\Gamma} g v \, {\rm d} s.
+
+The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+is the linear form.
+
+If we make the Ansatz that :math:`u` can be expressed as a linear
+combination of the basis functions of :math:`V`, and discretize the
+equation, we can write our problem as a linear system:
+
+.. math::
+ AU = b,
+
+where :math:`U` gives the coefficient for the basis functions expressing :math:`u`.
+
+Since we have pure Neumann boundary conditions, the matrix :math:`A`
+is singular. There exists a non-trival vector :math:`e` such that
+
+.. math::
+ Ae=0.
+
+span :math:`\{ e \}` is the null space of A. Consequently, the matrix
+:math:`A` is rank deficient and the right-hand side vector :math:`b`
+may fail to be in the column space of :math:`A`. We therefore need
+to remove the components of :math:`b` that do not lie in the column
+space to make the system solvable.
+
+In this demo, we shall consider the following definitions of the input
+functions, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma = \partial \Omega` (boundary)
+* :math:`g = -\sin(5x)` (normal derivative)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source term)
diff --git a/demo/documented/singular-poisson-rst/cpp/README b/demo/documented/singular-poisson-rst/cpp/README
new file mode 100644
index 0000000..30404ce
--- /dev/null
+++ b/demo/documented/singular-poisson-rst/cpp/README
@@ -0,0 +1 @@
+TODO
\ No newline at end of file
diff --git a/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py b/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py
new file mode 100644
index 0000000..c10ebb6
--- /dev/null
+++ b/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py
@@ -0,0 +1,201 @@
+# Singular Poisson
+# ================
+#
+# This demo is implemented in a single Python file,
+# :download:`demo_singular-poisson.py`, which contains both the
+# variational forms and the solver.
+#
+# This demo illustrates how to:
+#
+# * Solve a linear partial differential equation
+# * Apply non-zero Neumann boundary conditions
+# * Define Expressions
+# * Define a FunctionSpace
+# * Use the Krylov solver
+# * Solve singular problems
+#
+# The solution for :math:`u` in this demo will look as follows:
+#
+# .. image:: singular_u.png
+# :scale: 75 %
+#
+#
+# Equation and problem definition
+# -------------------------------
+#
+# The Poisson equation is the canonical elliptic partial differential
+# equation. For a domain :math:`\Omega \in \mathbb{R}^n` with boundary
+# :math:`\Gamma = \partial \Omega`, the Poisson equation with pure
+# Neumann boundary conditions reads:
+#
+# .. math::
+# -\nabla^{2} u &= f \quad {\rm in} \ \Omega \\
+# \nabla u \cdot n &= g \quad {\rm on} \ \Gamma \\
+#
+# Since only Neumann conditions are applied, :math:`u` is only
+# determined up to a constant by the above equations. An addition
+# constraint is thus required, for instance
+#
+# .. math::
+# \int u \, {\rm d} x = 0
+#
+# The most standard variational form of the Poisson equation reads: find
+# :math:`u \in V` such that
+#
+# .. math::
+# a(u, v) = L(v) \quad \forall \ v \in V,
+#
+# where :math:`V` is a suitable function space and
+#
+# .. math::
+# a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+# L(v) &= \int_{\Omega} f v \, {\rm d} x
+# + \int_{\Gamma} g v \, {\rm d} s.
+#
+# The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+# is the linear form.
+#
+# If we make the Ansatz that :math:`u` can be expressed as a linear
+# combination of the basis functions of :math:`V`, and discretize the
+# equation, we can write our problem as a linear system:
+#
+# .. math::
+# AU = b,
+#
+# where :math:`U` gives the coefficient for the basis functions
+# expressing :math:`u`.
+#
+# Since we have pure Neumann boundary conditions, the matrix :math:`A`
+# is singular. There exists a non-trival vector :math:`e` such that
+#
+# .. math::
+# Ae=0.
+#
+# span :math:`\{ e \}` is the null space of A. Consequently, the matrix
+# :math:`A` is rank deficient and the right-hand side vector :math:`b`
+# may fail to be in the column space of :math:`A`. We therefore need to
+# remove the components of :math:`b` that do not lie in the column space
+# to make the system solvable.
+#
+# In this demo, we shall consider the following definitions of the input
+# functions, the domain, and the boundaries:
+#
+# * :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+# * :math:`\Gamma = \partial \Omega` (boundary)
+# * :math:`g = -\sin(5x)` (normal derivative)
+# * :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source
+# term)
+#
+#
+# Implementation
+# --------------
+#
+# This description goes through the implementation (in
+# :download:`demo_singular-poisson.py`) of a solver for the above
+# described Poisson equation step-by-step.
+#
+# First, the :py:mod:`dolfin` module is imported: ::
+
+from dolfin import *
+
+# Then, we check that dolfin is configured with the backend called
+# PETSc, since it provides us with a wide range of methods used by
+# :py:class:`KrylovSolver <dolfin.cpp.la.KrylovSolver>`. We set PETSc as
+# our backend for linear algebra. ::
+
+# Test for PETSc
+if not has_linear_algebra_backend("PETSc"):
+ info("DOLFIN has not been configured with PETSc. Exiting.")
+ exit()
+
+parameters["linear_algebra_backend"] = "PETSc"
+
+# We begin by defining a mesh of the domain and a finite element
+# function space :math:`V` relative to this mesh. We use a built-in mesh
+# provided by the class :py:class:`UnitSquareMesh
+# <dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
+# consisting of :math:`64 \times 64` squares with each square divided
+# into two triangles, we do as follows: ::
+
+# Create mesh and define function space
+mesh = UnitSquareMesh(64, 64)
+V = FunctionSpace(mesh, "CG", 1)
+
+# Now, we need to specify the trial functions (the unknowns) and the
+# test functions on the space :math:`V`. This can be done using a
+# :py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+# and a :py:class:`TestFunction
+# <dolfin.functions.function.TrialFunction>` as follows: ::
+
+u = TrialFunction(V)
+v = TestFunction(V)
+
+# Further, the source :math:`f` and the boundary normal derivative
+# :math:`g` are involved in the variational forms, and hence we must
+# specify these. Both :math:`f` and :math:`g` are given by simple
+# mathematical formulas, and can be easily declared using the
+# :py:class:`Expression <dolfin.functions.expression.Expression>`
+# class. Note that the strings defining f and g use C++ syntax since,
+# for efficiency, DOLFIN will generate and compile C++ code for these
+# expressions at run-time. ::
+
+f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
+g = Expression("-sin(5*x[0])", degree=2)
+
+# With :math:`u,v,f` and :math:`g`, we can write down the bilinear form
+# :math:`a` and the linear form :math:`L` (using UFL operators). ::
+
+a = inner(grad(u), grad(v))*dx
+L = f*v*dx + g*v*ds
+
+# In order to transform our variational problem into a linear system we
+# need to assemble the coefficient matrix ``A`` and the right-side
+# vector ``b``. We do this using the function :py:meth:`assemble
+# <dolfin.cpp.fem.Assembler.assemble>`: ::
+
+# Assemble system
+A = assemble(a)
+b = assemble(L)
+
+# We specify a Vector for storing the result by defining a
+# :py:class:`Function <dolfin.cpp.function.Function>`. ::
+
+# Solution Function
+u = Function(V)
+
+# Next, we specify the iterative solver we want to use, in this case a
+# :py:class:`PETScKrylovSolver <dolfin.cpp.la.PETScKrylovSolver>` with
+# the conjugate gradient (CG) method, and attach the matrix operator to
+# the solver. ::
+
+# Create Krylov solver
+solver = PETScKrylovSolver("cg")
+solver.set_operator(A)
+
+# We impose our additional constraint by removing the null space
+# component from the solution vector. In order to do this we need a
+# basis for the null space. This is done by creating a vector that spans
+# the null space, and then defining a basis from it. The basis is then
+# attached to the matrix ``A`` as its null space. ::
+
+# Create vector that spans the null space and normalize
+null_vec = Vector(u.vector())
+V.dofmap().set(null_vec, 1.0)
+null_vec *= 1.0/null_vec.norm("l2")
+
+# Create null space basis object and attach to PETSc matrix
+null_space = VectorSpaceBasis([null_vec])
+as_backend_type(A).set_nullspace(null_space)
+
+# Orthogonalization of ``b`` with respect to the null space makes sure
+# that it doesn't contain any component in the null space. ::
+
+null_space.orthogonalize(b);
+
+# Finally we are able to solve our linear system ::
+
+solver.solve(u.vector(), b)
+
+# and plot the solution ::
+
+plot(u, interactive=True)
diff --git a/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py.rst b/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py.rst
new file mode 100644
index 0000000..f877589
--- /dev/null
+++ b/demo/documented/singular-poisson-rst/python/demo_singular-poisson-rst.py.rst
@@ -0,0 +1,201 @@
+Singular Poisson
+================
+
+This demo is implemented in a single Python file,
+:download:`demo_singular-poisson.py`, which contains both the
+variational forms and the solver.
+
+This demo illustrates how to:
+
+* Solve a linear partial differential equation
+* Apply non-zero Neumann boundary conditions
+* Define Expressions
+* Define a FunctionSpace
+* Use the Krylov solver
+* Solve singular problems
+
+The solution for :math:`u` in this demo will look as follows:
+
+.. image:: singular_u.png
+ :scale: 75 %
+
+
+Equation and problem definition
+-------------------------------
+
+The Poisson equation is the canonical elliptic partial differential
+equation. For a domain :math:`\Omega \in \mathbb{R}^n` with boundary
+:math:`\Gamma = \partial \Omega`, the Poisson equation with pure
+Neumann boundary conditions reads:
+
+.. math::
+ -\nabla^{2} u &= f \quad {\rm in} \ \Omega \\
+ \nabla u \cdot n &= g \quad {\rm on} \ \Gamma \\
+
+Since only Neumann conditions are applied, :math:`u` is only
+determined up to a constant by the above equations. An addition
+constraint is thus required, for instance
+
+.. math::
+ \int u \, {\rm d} x = 0
+
+The most standard variational form of the Poisson equation reads: find
+:math:`u \in V` such that
+
+.. math::
+ a(u, v) = L(v) \quad \forall \ v \in V,
+
+where :math:`V` is a suitable function space and
+
+.. math::
+ a(u, v) &= \int_{\Omega} \nabla u \cdot \nabla v \, {\rm d} x, \\
+ L(v) &= \int_{\Omega} f v \, {\rm d} x
+ + \int_{\Gamma} g v \, {\rm d} s.
+
+The expression :math:`a(u, v)` is the bilinear form and :math:`L(v)`
+is the linear form.
+
+If we make the Ansatz that :math:`u` can be expressed as a linear
+combination of the basis functions of :math:`V`, and discretize the
+equation, we can write our problem as a linear system:
+
+.. math::
+ AU = b,
+
+where :math:`U` gives the coefficient for the basis functions
+expressing :math:`u`.
+
+Since we have pure Neumann boundary conditions, the matrix :math:`A`
+is singular. There exists a non-trival vector :math:`e` such that
+
+.. math::
+ Ae=0.
+
+span :math:`\{ e \}` is the null space of A. Consequently, the matrix
+:math:`A` is rank deficient and the right-hand side vector :math:`b`
+may fail to be in the column space of :math:`A`. We therefore need to
+remove the components of :math:`b` that do not lie in the column space
+to make the system solvable.
+
+In this demo, we shall consider the following definitions of the input
+functions, the domain, and the boundaries:
+
+* :math:`\Omega = [0,1] \times [0,1]` (a unit square)
+* :math:`\Gamma = \partial \Omega` (boundary)
+* :math:`g = -\sin(5x)` (normal derivative)
+* :math:`f = 10\exp(-((x - 0.5)^2 + (y - 0.5)^2) / 0.02)` (source
+ term)
+
+
+Implementation
+--------------
+
+This description goes through the implementation (in
+:download:`demo_singular-poisson.py`) of a solver for the above
+described Poisson equation step-by-step.
+
+First, the :py:mod:`dolfin` module is imported: ::
+
+ from dolfin import *
+
+Then, we check that dolfin is configured with the backend called
+PETSc, since it provides us with a wide range of methods used by
+:py:class:`KrylovSolver <dolfin.cpp.la.KrylovSolver>`. We set PETSc as
+our backend for linear algebra. ::
+
+ # Test for PETSc
+ if not has_linear_algebra_backend("PETSc"):
+ info("DOLFIN has not been configured with PETSc. Exiting.")
+ exit()
+
+ parameters["linear_algebra_backend"] = "PETSc"
+
+We begin by defining a mesh of the domain and a finite element
+function space :math:`V` relative to this mesh. We use a built-in mesh
+provided by the class :py:class:`UnitSquareMesh
+<dolfin.cpp.mesh.UnitSquareMesh>`. In order to create a mesh
+consisting of :math:`64 \times 64` squares with each square divided
+into two triangles, we do as follows: ::
+
+ # Create mesh and define function space
+ mesh = UnitSquareMesh(64, 64)
+ V = FunctionSpace(mesh, "CG", 1)
+
+Now, we need to specify the trial functions (the unknowns) and the
+test functions on the space :math:`V`. This can be done using a
+:py:class:`TrialFunction <dolfin.functions.function.TrialFunction>`
+and a :py:class:`TestFunction
+<dolfin.functions.function.TrialFunction>` as follows: ::
+
+ u = TrialFunction(V)
+ v = TestFunction(V)
+
+Further, the source :math:`f` and the boundary normal derivative
+:math:`g` are involved in the variational forms, and hence we must
+specify these. Both :math:`f` and :math:`g` are given by simple
+mathematical formulas, and can be easily declared using the
+:py:class:`Expression <dolfin.functions.expression.Expression>`
+class. Note that the strings defining f and g use C++ syntax since,
+for efficiency, DOLFIN will generate and compile C++ code for these
+expressions at run-time. ::
+
+ f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
+ g = Expression("-sin(5*x[0])", degree=2)
+
+With :math:`u,v,f` and :math:`g`, we can write down the bilinear form
+:math:`a` and the linear form :math:`L` (using UFL operators). ::
+
+ a = inner(grad(u), grad(v))*dx
+ L = f*v*dx + g*v*ds
+
+In order to transform our variational problem into a linear system we
+need to assemble the coefficient matrix ``A`` and the right-side
+vector ``b``. We do this using the function :py:meth:`assemble
+<dolfin.cpp.fem.Assembler.assemble>`: ::
+
+ # Assemble system
+ A = assemble(a)
+ b = assemble(L)
+
+We specify a Vector for storing the result by defining a
+:py:class:`Function <dolfin.cpp.function.Function>`. ::
+
+ # Solution Function
+ u = Function(V)
+
+Next, we specify the iterative solver we want to use, in this case a
+:py:class:`PETScKrylovSolver <dolfin.cpp.la.PETScKrylovSolver>` with
+the conjugate gradient (CG) method, and attach the matrix operator to
+the solver. ::
+
+ # Create Krylov solver
+ solver = PETScKrylovSolver("cg")
+ solver.set_operator(A)
+
+We impose our additional constraint by removing the null space
+component from the solution vector. In order to do this we need a
+basis for the null space. This is done by creating a vector that spans
+the null space, and then defining a basis from it. The basis is then
+attached to the matrix ``A`` as its null space. ::
+
+ # Create vector that spans the null space and normalize
+ null_vec = Vector(u.vector())
+ V.dofmap().set(null_vec, 1.0)
+ null_vec *= 1.0/null_vec.norm("l2")
+
+ # Create null space basis object and attach to PETSc matrix
+ null_space = VectorSpaceBasis([null_vec])
+ as_backend_type(A).set_nullspace(null_space)
+
+Orthogonalization of ``b`` with respect to the null space makes sure
+that it doesn't contain any component in the null space. ::
+
+ null_space.orthogonalize(b);
+
+Finally we are able to solve our linear system ::
+
+ solver.solve(u.vector(), b)
+
+and plot the solution ::
+
+ plot(u, interactive=True)
diff --git a/demo/documented/singular-poisson-rst/python/singular_u.png b/demo/documented/singular-poisson-rst/python/singular_u.png
new file mode 100644
index 0000000..4d49913
Binary files /dev/null and b/demo/documented/singular-poisson-rst/python/singular_u.png differ
diff --git a/demo/documented/singular-poisson-rst/singular_u.png b/demo/documented/singular-poisson-rst/singular_u.png
new file mode 100644
index 0000000..4d49913
Binary files /dev/null and b/demo/documented/singular-poisson-rst/singular_u.png differ
diff --git a/demo/documented/singular-poisson/cpp/CMakeLists.txt b/demo/documented/singular-poisson/cpp/CMakeLists.txt
index 2afe31c..8c3bbb7 100644
--- a/demo/documented/singular-poisson/cpp/CMakeLists.txt
+++ b/demo/documented/singular-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_singular-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/singular-poisson/cpp/Poisson.h b/demo/documented/singular-poisson/cpp/Poisson.h
index 8fd6ca3..f340bc0 100644
--- a/demo/documented/singular-poisson/cpp/Poisson.h
+++ b/demo/documented/singular-poisson/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2903,6 +3140,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -2960,6 +3212,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 9
@@ -3752,10 +4019,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3927,10 +4194,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3946,10 +4213,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/singular-poisson/cpp/compile.log b/demo/documented/singular-poisson/cpp/compile.log
deleted file mode 100644
index 92e8c5f..0000000
--- a/demo/documented/singular-poisson/cpp/compile.log
+++ /dev/null
@@ -1,208 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.088177 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000824 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000827 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.0012 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00107 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00111 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.018404 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000252008 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.12269 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000874996 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000812054 seconds.
-
-FFC finished in 0.231795 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/documented/singular-poisson/cpp/main.cpp b/demo/documented/singular-poisson/cpp/main.cpp
index e480917..74674e1 100644
--- a/demo/documented/singular-poisson/cpp/main.cpp
+++ b/demo/documented/singular-poisson/cpp/main.cpp
@@ -1,4 +1,4 @@
-// Copyright (C) 2012 Garth N. Wells
+// Copyright (C) 2012-2016 Garth N. Wells
//
// This file is part of DOLFIN.
//
@@ -15,9 +15,6 @@
// You should have received a copy of the GNU Lesser General Public License
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
//
-// First added: 2012-10-31
-// Last changed: 2013-05-30
-//
// This demo program illustrates how to solve Poisson's equation
//
// - div grad u(x, y) = f(x, y)
@@ -68,7 +65,7 @@ int main()
{
#ifdef HAS_PETSC
// Create mesh and function space
- auto mesh = std::make_shared<UnitSquareMesh>(64, 64);
+ auto mesh = std::make_shared<UnitSquareMesh>(128, 128);
auto V = std::make_shared<Poisson::FunctionSpace>(mesh);
// Define variational problem
@@ -85,27 +82,45 @@ int main()
assemble(*A, a);
assemble(b, L);
- // Solution Function
- Function u(V);
-
- // Create Krylov solver
- PETScKrylovSolver solver("cg");
- solver.set_operator(A);
+ // Create constant vector that spans null space (normalised)
+ auto null_space_vector = b.copy();
+ *null_space_vector = sqrt(1.0/null_space_vector->size());
- // Create vector that spans null space (normalised)
- std::shared_ptr<GenericVector> null_space_ptr(b.copy());
- V->dofmap()->set(*null_space_ptr, sqrt(1.0/null_space_ptr->size()));
- std::vector<std::shared_ptr<GenericVector>> null_space_basis
- = {{null_space_ptr}};
-
- // Create null space basis object and attach to Krylov solver
- VectorSpaceBasis null_space(null_space_basis);
+ // Create null space basis object and attach to PETSc matrix
+ VectorSpaceBasis null_space({null_space_vector});
A->set_nullspace(null_space);
// Orthogonalize b with respect to the null space (this gurantees
// that a solution exists)
null_space.orthogonalize(b);
+ // Set PETSc solve type (conjugate gradient) and preconditioner
+ // (algebraic multigrid)
+ PETScOptions::set("ksp_type", "cg");
+ PETScOptions::set("pc_type", "gamg");
+
+ // Since we have a singular problem, use SVD solver on the multigrid
+ // 'coarse grid'
+ PETScOptions::set("mg_coarse_ksp_type", "preonly");
+ PETScOptions::set("mg_coarse_pc_type", "svd");
+
+ // Set the solver tolerance
+ PETScOptions::set("ksp_rtol", 1.0e-8);
+
+ // Print PETSc solver configuration
+ PETScOptions::set("ksp_view");
+ PETScOptions::set("ksp_monitor");
+
+ // Create PETSc Krylov solver and attach operator
+ PETScKrylovSolver solver;
+ solver.set_operator(A);
+
+ // Set PETSc options on the solver
+ solver.set_from_options();
+
+ // Create solution Function
+ Function u(V);
+
// Solve
solver.solve(*u.vector(), b);
diff --git a/demo/documented/singular-poisson/python/demo_singular-poisson.py b/demo/documented/singular-poisson/python/demo_singular-poisson.py
index 2967fd4..8208e82 100644
--- a/demo/documented/singular-poisson/python/demo_singular-poisson.py
+++ b/demo/documented/singular-poisson/python/demo_singular-poisson.py
@@ -21,7 +21,7 @@ This is accomplished in this demo by using a Krylov iterative solver
that removes the component in the null space from the solution vector.
"""
-# Copyright (C) 2012 Garth N. Wells
+# Copyright (C) 2012-2016 Garth N. Wells
#
# This file is part of DOLFIN.
#
@@ -38,8 +38,6 @@ that removes the component in the null space from the solution vector.
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
#
-# First added: 2012-10-31
-# Last changed: 2013-05-30
# Begin demo
from dolfin import *
@@ -52,13 +50,14 @@ if not has_linear_algebra_backend("PETSc"):
parameters["linear_algebra_backend"] = "PETSc"
# Create mesh and define function space
-mesh = UnitSquareMesh(64, 64)
+mesh = UnitSquareMesh(128, 128)
V = FunctionSpace(mesh, "CG", 1)
# Define variational problem
u = TrialFunction(V)
v = TestFunction(V)
-f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2)
+f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)",
+ degree=2)
g = Expression("-sin(5*x[0])", degree=2)
a = inner(grad(u), grad(v))*dx
L = f*v*dx + g*v*ds
@@ -67,26 +66,45 @@ L = f*v*dx + g*v*ds
A = assemble(a)
b = assemble(L)
-# Solution Function
-u = Function(V)
-
-# Create Krylov solver
-solver = PETScKrylovSolver("cg")
-solver.set_operator(A)
-
-# Create vector that spans the null space and normalize
-null_vec = Vector(u.vector())
-V.dofmap().set(null_vec, 1.0)
-null_vec *= 1.0/null_vec.norm("l2")
+# Create vector that spans the null space, and normalize
+null_space_vector = b.copy()
+null_space_vector[:] = sqrt(1.0/null_space_vector.size())
# Create null space basis object and attach to PETSc matrix
-null_space = VectorSpaceBasis([null_vec])
+null_space = VectorSpaceBasis([null_space_vector])
as_backend_type(A).set_nullspace(null_space)
# Orthogonalize RHS vector b with respect to the null space (this
-# gurantees a solution exists)
+# ensures that a solution exists)
null_space.orthogonalize(b);
+# Set PETSc solve type (conjugate gradient) and preconditioner
+# (algebraic multigrid)
+PETScOptions.set("ksp_type", "cg")
+PETScOptions.set("pc_type", "gamg")
+
+# Since we have a singular problem, use SVD solver on the multigrid
+# 'coarse grid'
+PETScOptions.set("mg_coarse_ksp_type", "preonly")
+PETScOptions.set("mg_coarse_pc_type", "svd")
+
+# Set the solver tolerance
+PETScOptions.set("ksp_rtol", 1.0e-8)
+
+# Print PETSc solver configuration
+PETScOptions.set("ksp_view")
+PETScOptions.set("ksp_monitor")
+
+# Create Krylov solver and set operator
+solver = PETScKrylovSolver()
+solver.set_operator(A)
+
+# Set PETSc options on the solver
+solver.set_from_options()
+
+# Create solution Function
+u = Function(V)
+
# Solve
solver.solve(u.vector(), b)
diff --git a/demo/documented/stokes-iterative/cpp/CMakeLists.txt b/demo/documented/stokes-iterative/cpp/CMakeLists.txt
index 7d7fc86..25ad871 100644
--- a/demo/documented/stokes-iterative/cpp/CMakeLists.txt
+++ b/demo/documented/stokes-iterative/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_stokes-iterative)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/stokes-iterative/cpp/Stokes.h b/demo/documented/stokes-iterative/cpp/Stokes.h
index bfa7fc5..50fd9df 100644
--- a/demo/documented/stokes-iterative/cpp/Stokes.h
+++ b/demo/documented/stokes-iterative/cpp/Stokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4331,7 +4300,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4377,7 +4346,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4423,7 +4392,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4515,7 +4484,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4561,7 +4530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4607,7 +4576,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4653,7 +4622,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4943,7 +4912,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4964,9 +4933,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5146,7 +5115,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5167,9 +5136,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5349,7 +5318,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5370,9 +5339,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5573,9 +5542,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5755,7 +5724,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5776,9 +5745,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5958,7 +5927,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5979,9 +5948,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6161,7 +6130,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6182,9 +6151,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6364,7 +6333,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6385,9 +6354,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6588,9 +6557,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6791,9 +6760,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -7427,7 +7396,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7473,7 +7442,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7519,7 +7488,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7611,7 +7580,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7657,7 +7626,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7703,7 +7672,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7749,7 +7718,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7887,7 +7856,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7933,7 +7902,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7979,7 +7948,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8071,7 +8040,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8117,7 +8086,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8163,7 +8132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8209,7 +8178,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8347,7 +8316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8393,7 +8362,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8439,7 +8408,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8531,7 +8500,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8577,7 +8546,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8623,7 +8592,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8669,7 +8638,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8962,7 +8931,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8983,9 +8952,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9165,7 +9134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9186,9 +9155,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9368,7 +9337,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9389,9 +9358,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9592,9 +9561,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9774,7 +9743,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9795,9 +9764,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9977,7 +9946,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9998,9 +9967,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10180,7 +10149,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -10201,9 +10170,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10383,7 +10352,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -10404,9 +10373,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10607,9 +10576,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10810,9 +10779,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10992,7 +10961,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11013,9 +10982,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11195,7 +11164,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11216,9 +11185,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11398,7 +11367,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11419,9 +11388,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11622,9 +11591,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11804,7 +11773,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11825,9 +11794,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12007,7 +11976,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12028,9 +11997,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12210,7 +12179,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12231,9 +12200,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12413,7 +12382,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12434,9 +12403,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12637,9 +12606,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12840,9 +12809,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13022,7 +12991,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13043,9 +13012,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13225,7 +13194,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13246,9 +13215,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13428,7 +13397,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13449,9 +13418,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13652,9 +13621,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13834,7 +13803,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13855,9 +13824,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14037,7 +14006,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14058,9 +14027,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14240,7 +14209,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14261,9 +14230,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14443,7 +14412,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14464,9 +14433,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14667,9 +14636,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14870,9 +14839,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -15395,150 +15364,70 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[10] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[11] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[12] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[13] = vals[1];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[14] = vals[1];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[15] = vals[1];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[16] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[17] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[18] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[19] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[20] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[11] = vals[1];
values[21] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[12] = vals[1];
values[22] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[13] = vals[1];
values[23] = vals[2];
y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
+ values[14] = vals[1];
values[24] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
+ values[15] = vals[1];
values[25] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
+ values[16] = vals[1];
values[26] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
+ values[17] = vals[1];
values[27] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
+ values[18] = vals[1];
values[28] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
+ values[19] = vals[1];
values[29] = vals[2];
}
@@ -15876,7 +15765,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -15922,7 +15811,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -15968,7 +15857,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16060,7 +15949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16106,7 +15995,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16152,7 +16041,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16198,7 +16087,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16336,7 +16225,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16382,7 +16271,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16428,7 +16317,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16520,7 +16409,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16566,7 +16455,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16612,7 +16501,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16658,7 +16547,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16796,7 +16685,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16842,7 +16731,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16888,7 +16777,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16980,7 +16869,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17026,7 +16915,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17072,7 +16961,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17118,7 +17007,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17531,7 +17420,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17552,9 +17441,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -17734,7 +17623,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17755,9 +17644,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -17937,7 +17826,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17958,9 +17847,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18161,9 +18050,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18343,7 +18232,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18364,9 +18253,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18546,7 +18435,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18567,9 +18456,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18749,7 +18638,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18770,9 +18659,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18952,7 +18841,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18973,9 +18862,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19176,9 +19065,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19379,9 +19268,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19561,7 +19450,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19582,9 +19471,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19764,7 +19653,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19785,9 +19674,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19967,7 +19856,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19988,9 +19877,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20191,9 +20080,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20373,7 +20262,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20394,9 +20283,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20576,7 +20465,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20597,9 +20486,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20779,7 +20668,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20800,9 +20689,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20982,7 +20871,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21003,9 +20892,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21206,9 +21095,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21409,9 +21298,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21591,7 +21480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21612,9 +21501,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21794,7 +21683,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21815,9 +21704,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21997,7 +21886,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22018,9 +21907,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22221,9 +22110,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22403,7 +22292,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22424,9 +22313,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22606,7 +22495,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22627,9 +22516,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22809,7 +22698,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22830,9 +22719,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23012,7 +22901,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -23033,9 +22922,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23236,9 +23125,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23439,9 +23328,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -24628,171 +24517,75 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[10] = vals[1];
+ values[20] = vals[2];
+ values[30] = vals[3];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[11] = vals[1];
+ values[21] = vals[2];
+ values[31] = vals[3];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[12] = vals[1];
+ values[22] = vals[2];
+ values[32] = vals[3];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[13] = vals[1];
+ values[23] = vals[2];
+ values[33] = vals[3];
y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[14] = vals[1];
+ values[24] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[15] = vals[1];
+ values[25] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
values[16] = vals[1];
+ values[26] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
values[17] = vals[1];
+ values[27] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
values[18] = vals[1];
+ values[28] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
values[19] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[20] = vals[2];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[21] = vals[2];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[22] = vals[2];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[23] = vals[2];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[24] = vals[2];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[25] = vals[2];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[26] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[27] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[28] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
values[29] = vals[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[30] = vals[3];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[31] = vals[3];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[32] = vals[3];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[33] = vals[3];
}
void interpolate_vertex_values(double * vertex_values,
@@ -25060,6 +24853,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25169,6 +24991,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -25286,6 +25258,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25439,33 +25440,247 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new stokes_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new stokes_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new stokes_dofmap_0();
- break;
- }
- }
-
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ }
+
return 0;
}
@@ -25575,6 +25790,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25743,6 +25987,180 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -25860,6 +26278,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 9;
+ break;
+ }
+ case 2:
+ {
+ return 18;
+ break;
+ }
+ case 3:
+ {
+ return 30;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -26000,8 +26447,128 @@ public:
}
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ dofs[2] = 20;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ dofs[2] = 21;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ dofs[2] = 22;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 13;
+ dofs[2] = 23;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 4;
+ dofs[1] = 14;
+ dofs[2] = 24;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 5;
+ dofs[1] = 15;
+ dofs[2] = 25;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 6;
+ dofs[1] = 16;
+ dofs[2] = 26;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 7;
+ dofs[1] = 17;
+ dofs[2] = 27;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 8;
+ dofs[1] = 18;
+ dofs[2] = 28;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 9;
+ dofs[1] = 19;
+ dofs[2] = 29;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
if (d > 3)
{
@@ -26062,44 +26629,80 @@ public:
{
case 0:
{
- dofs[0] = 4;
- dofs[1] = 14;
- dofs[2] = 24;
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 12;
+ dofs[4] = 13;
+ dofs[5] = 14;
+ dofs[6] = 22;
+ dofs[7] = 23;
+ dofs[8] = 24;
break;
}
case 1:
{
- dofs[0] = 5;
- dofs[1] = 15;
- dofs[2] = 25;
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 11;
+ dofs[4] = 13;
+ dofs[5] = 15;
+ dofs[6] = 21;
+ dofs[7] = 23;
+ dofs[8] = 25;
break;
}
case 2:
{
- dofs[0] = 6;
- dofs[1] = 16;
- dofs[2] = 26;
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ dofs[3] = 11;
+ dofs[4] = 12;
+ dofs[5] = 16;
+ dofs[6] = 21;
+ dofs[7] = 22;
+ dofs[8] = 26;
break;
}
case 3:
{
- dofs[0] = 7;
- dofs[1] = 17;
- dofs[2] = 27;
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ dofs[3] = 10;
+ dofs[4] = 13;
+ dofs[5] = 17;
+ dofs[6] = 20;
+ dofs[7] = 23;
+ dofs[8] = 27;
break;
}
case 4:
{
- dofs[0] = 8;
- dofs[1] = 18;
- dofs[2] = 28;
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ dofs[3] = 10;
+ dofs[4] = 12;
+ dofs[5] = 18;
+ dofs[6] = 20;
+ dofs[7] = 22;
+ dofs[8] = 28;
break;
}
case 5:
{
- dofs[0] = 9;
- dofs[1] = 19;
- dofs[2] = 29;
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ dofs[5] = 19;
+ dofs[6] = 20;
+ dofs[7] = 21;
+ dofs[8] = 29;
break;
}
}
@@ -26108,12 +26711,142 @@ public:
}
case 2:
{
-
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 11;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 15;
+ dofs[11] = 16;
+ dofs[12] = 21;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 25;
+ dofs[17] = 26;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ dofs[6] = 10;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 17;
+ dofs[11] = 18;
+ dofs[12] = 20;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 27;
+ dofs[17] = 28;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 13;
+ dofs[9] = 15;
+ dofs[10] = 17;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 23;
+ dofs[15] = 25;
+ dofs[16] = 27;
+ dofs[17] = 29;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 12;
+ dofs[9] = 16;
+ dofs[10] = 18;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 22;
+ dofs[15] = 26;
+ dofs[16] = 28;
+ dofs[17] = 29;
+ break;
+ }
+ }
+
break;
}
case 3:
{
-
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ dofs[26] = 26;
+ dofs[27] = 27;
+ dofs[28] = 28;
+ dofs[29] = 29;
break;
}
}
@@ -26256,6 +26989,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 4;
+ break;
+ }
+ case 1:
+ {
+ return 11;
+ break;
+ }
+ case 2:
+ {
+ return 21;
+ break;
+ }
+ case 3:
+ {
+ return 34;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -26537,6 +27299,324 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ dofs[2] = 20;
+ dofs[3] = 30;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ dofs[2] = 21;
+ dofs[3] = 31;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ dofs[2] = 22;
+ dofs[3] = 32;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 13;
+ dofs[2] = 23;
+ dofs[3] = 33;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 12;
+ dofs[4] = 13;
+ dofs[5] = 14;
+ dofs[6] = 22;
+ dofs[7] = 23;
+ dofs[8] = 24;
+ dofs[9] = 32;
+ dofs[10] = 33;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 11;
+ dofs[4] = 13;
+ dofs[5] = 15;
+ dofs[6] = 21;
+ dofs[7] = 23;
+ dofs[8] = 25;
+ dofs[9] = 31;
+ dofs[10] = 33;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ dofs[3] = 11;
+ dofs[4] = 12;
+ dofs[5] = 16;
+ dofs[6] = 21;
+ dofs[7] = 22;
+ dofs[8] = 26;
+ dofs[9] = 31;
+ dofs[10] = 32;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ dofs[3] = 10;
+ dofs[4] = 13;
+ dofs[5] = 17;
+ dofs[6] = 20;
+ dofs[7] = 23;
+ dofs[8] = 27;
+ dofs[9] = 30;
+ dofs[10] = 33;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ dofs[3] = 10;
+ dofs[4] = 12;
+ dofs[5] = 18;
+ dofs[6] = 20;
+ dofs[7] = 22;
+ dofs[8] = 28;
+ dofs[9] = 30;
+ dofs[10] = 32;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ dofs[5] = 19;
+ dofs[6] = 20;
+ dofs[7] = 21;
+ dofs[8] = 29;
+ dofs[9] = 30;
+ dofs[10] = 31;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 11;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 15;
+ dofs[11] = 16;
+ dofs[12] = 21;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 25;
+ dofs[17] = 26;
+ dofs[18] = 31;
+ dofs[19] = 32;
+ dofs[20] = 33;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ dofs[6] = 10;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 17;
+ dofs[11] = 18;
+ dofs[12] = 20;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 27;
+ dofs[17] = 28;
+ dofs[18] = 30;
+ dofs[19] = 32;
+ dofs[20] = 33;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 13;
+ dofs[9] = 15;
+ dofs[10] = 17;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 23;
+ dofs[15] = 25;
+ dofs[16] = 27;
+ dofs[17] = 29;
+ dofs[18] = 30;
+ dofs[19] = 31;
+ dofs[20] = 33;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 12;
+ dofs[9] = 16;
+ dofs[10] = 18;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 22;
+ dofs[15] = 26;
+ dofs[16] = 28;
+ dofs[17] = 29;
+ dofs[18] = 30;
+ dofs[19] = 31;
+ dofs[20] = 32;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ dofs[26] = 26;
+ dofs[27] = 27;
+ dofs[28] = 28;
+ dofs[29] = 29;
+ dofs[30] = 30;
+ dofs[31] = 31;
+ dofs[32] = 32;
+ dofs[33] = 33;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -26595,6 +27675,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 139
// Number of operations (multiply-add pairs) for tensor contraction: 3627
@@ -26718,9 +27813,9 @@ public:
A[1] = 0.0333333333333333*G0_0_0 + 0.0333333333333333*G0_1_0 + 0.0333333333333333*G0_2_0 + 0.0333333333333333*G3_0_0 + 0.0333333333333333*G3_1_0 + 0.0333333333333333*G3_2_0 + 0.0333333333333333*G6_0_0 + 0.0333333333333333*G6_1_0 + 0.0333333333333333*G6_2_0;
A[2] = 0.0333333333333334*G0_0_1 + 0.0333333333333333*G0_1_1 + 0.0333333333333333*G0_2_1 + 0.0333333333333334*G3_0_1 + 0.0333333333333333*G3_1_1 + 0.0333333333333333*G3_2_1 + 0.0333333333333334*G6_0_1 + 0.0333333333333333*G6_1_1 + 0.0333333333333333*G6_2_1;
A[3] = 0.0333333333333334*G0_0_2 + 0.0333333333333334*G0_1_2 + 0.0333333333333334*G0_2_2 + 0.0333333333333334*G3_0_2 + 0.0333333333333334*G3_1_2 + 0.0333333333333334*G3_2_2 + 0.0333333333333334*G6_0_2 + 0.0333333333333334*G6_1_2 + 0.0333333333333334*G6_2_2;
- A[4] = 0.0333333333333335*G0_0_1 + 0.0333333333333334*G0_0_2 + 0.0333333333333335*G0_1_1 + 0.0333333333333334*G0_1_2 + 0.0333333333333335*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333335*G3_0_1 + 0.0333333333333334*G3_0_2 + 0.0333333333333335*G3_1_1 + 0.0333333333333334*G3_1_2 + 0.0333333333333335*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333335*G6_0_1 + 0.0333333333333334*G6_0_2 + 0.0333333333333335*G6_1_1 + 0.0333333333333334*G6_1_2 + 0.0333333333333335*G6_2_1 + 0.033 [...]
- A[5] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333336*G0_1_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333336*G3_1_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333336*G6_1_2 + 0.0333333333333335*G6_2_0 + 0.033 [...]
- A[6] = 0.0333333333333335*G0_0_0 + 0.0333333333333334*G0_0_1 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333335*G3_0_0 + 0.0333333333333334*G3_0_1 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333335*G3_2_0 + 0.0333333333333334*G3_2_1 + 0.0333333333333335*G6_0_0 + 0.0333333333333334*G6_0_1 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0333333333333335*G6_2_0 + 0.033 [...]
+ A[4] = 0.0333333333333335*G0_0_1 + 0.0333333333333334*G0_0_2 + 0.0333333333333335*G0_1_1 + 0.0333333333333334*G0_1_2 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333335*G3_0_1 + 0.0333333333333334*G3_0_2 + 0.0333333333333335*G3_1_1 + 0.0333333333333334*G3_1_2 + 0.0333333333333334*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333335*G6_0_1 + 0.0333333333333334*G6_0_2 + 0.0333333333333335*G6_1_1 + 0.0333333333333334*G6_1_2 + 0.0333333333333334*G6_2_1 + 0.033 [...]
+ A[5] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333336*G0_1_2 + 0.0333333333333334*G0_2_0 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333336*G3_1_2 + 0.0333333333333334*G3_2_0 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333336*G6_1_2 + 0.0333333333333334*G6_2_0 + 0.033 [...]
+ A[6] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333334*G0_2_0 + 0.0333333333333335*G0_2_1 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333334*G3_2_0 + 0.0333333333333335*G3_2_1 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0333333333333334*G6_2_0 + 0.033 [...]
A[7] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333334*G0_2_0 - 0.0333333333333334*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333334*G3_2_0 - 0.0333333333333334*G3_2_1 - 0.1333333 [...]
A[8] = -0.0333333333333335*G0_0_0 - 0.133333333333333*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0333333333333334*G0_1_2 - 0.0333333333333334*G0_2_0 - 0.133333333333333*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.133333333333333*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.133333333333333*G3_1_1 - 0.0333333333333334*G3_1_2 - 0.0333333333333334*G3_2_0 - 0.133333333333333*G3_2_1 - 0.03333333 [...]
A[9] = -0.133333333333333*G0_0_0 - 0.0333333333333334*G0_0_1 - 0.0333333333333334*G0_0_2 - 0.133333333333333*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.0333333333333334*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.0333333333333334*G3_0_1 - 0.0333333333333334*G3_0_2 - 0.133333333333333*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.0333333333333334*G3_2_1 - 0.03333333 [...]
@@ -26746,16 +27841,16 @@ public:
A[29] = 0.0;
A[30] = -0.025*G10_0 - 0.025*G10_1 - 0.025*G10_2;
A[31] = 0.00833333333333336*G10_0 + 0.00833333333333338*G10_1 + 0.00833333333333336*G10_2;
- A[32] = 0.00833333333333337*G10_0 + 0.00833333333333337*G10_1 + 0.00833333333333335*G10_2;
- A[33] = 0.00833333333333337*G10_0 + 0.00833333333333338*G10_1 + 0.00833333333333336*G10_2;
+ A[32] = 0.00833333333333337*G10_0 + 0.00833333333333336*G10_1 + 0.00833333333333335*G10_2;
+ A[33] = 0.00833333333333337*G10_0 + 0.00833333333333337*G10_1 + 0.00833333333333335*G10_2;
A[34] = 0.0333333333333333*G0_0_0 + 0.0333333333333333*G0_0_1 + 0.0333333333333333*G0_0_2 + 0.0333333333333333*G3_0_0 + 0.0333333333333333*G3_0_1 + 0.0333333333333333*G3_0_2 + 0.0333333333333333*G6_0_0 + 0.0333333333333333*G6_0_1 + 0.0333333333333333*G6_0_2;
A[35] = 0.1*G0_0_0 + 0.1*G3_0_0 + 0.1*G6_0_0;
- A[36] = -0.0333333333333334*G0_0_1 - 0.0333333333333334*G3_0_1 - 0.0333333333333334*G6_0_1;
+ A[36] = -0.0333333333333333*G0_0_1 - 0.0333333333333333*G3_0_1 - 0.0333333333333333*G6_0_1;
A[37] = -0.0333333333333334*G0_0_2 - 0.0333333333333334*G3_0_2 - 0.0333333333333334*G6_0_2;
- A[38] = -0.0333333333333336*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333336*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333336*G6_0_1 - 0.0333333333333335*G6_0_2;
+ A[38] = -0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333335*G6_0_1 - 0.0333333333333335*G6_0_2;
A[39] = -0.0333333333333336*G0_0_0 + 0.1*G0_0_2 - 0.0333333333333336*G3_0_0 + 0.1*G3_0_2 - 0.0333333333333336*G6_0_0 + 0.1*G6_0_2;
- A[40] = -0.0333333333333336*G0_0_0 + 0.1*G0_0_1 - 0.0333333333333336*G3_0_0 + 0.1*G3_0_1 - 0.0333333333333336*G6_0_0 + 0.1*G6_0_1;
- A[41] = 0.0333333333333336*G0_0_0 + 0.0333333333333336*G0_0_1 + 0.0333333333333336*G3_0_0 + 0.0333333333333336*G3_0_1 + 0.0333333333333336*G6_0_0 + 0.0333333333333336*G6_0_1;
+ A[40] = -0.0333333333333335*G0_0_0 + 0.1*G0_0_1 - 0.0333333333333335*G3_0_0 + 0.1*G3_0_1 - 0.0333333333333335*G6_0_0 + 0.1*G6_0_1;
+ A[41] = 0.0333333333333336*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333336*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333336*G6_0_0 + 0.0333333333333335*G6_0_1;
A[42] = 0.0333333333333336*G0_0_0 + 0.0333333333333335*G0_0_2 + 0.0333333333333336*G3_0_0 + 0.0333333333333335*G3_0_2 + 0.0333333333333336*G6_0_0 + 0.0333333333333335*G6_0_2;
A[43] = -0.133333333333333*G0_0_0 - 0.1*G0_0_1 - 0.1*G0_0_2 - 0.133333333333333*G3_0_0 - 0.1*G3_0_1 - 0.1*G3_0_2 - 0.133333333333333*G6_0_0 - 0.1*G6_0_1 - 0.1*G6_0_2;
A[44] = 0.0;
@@ -26778,18 +27873,18 @@ public:
A[61] = 0.0;
A[62] = 0.0;
A[63] = 0.0;
- A[64] = -0.00833333333333338*G10_0;
- A[65] = 0.025*G10_0;
- A[66] = -0.00833333333333339*G10_0;
- A[67] = -0.00833333333333339*G10_0;
+ A[64] = -0.00833333333333337*G10_0;
+ A[65] = 0.0249999999999999*G10_0;
+ A[66] = -0.00833333333333338*G10_0;
+ A[67] = -0.00833333333333338*G10_0;
A[68] = 0.0333333333333334*G0_1_0 + 0.0333333333333333*G0_1_1 + 0.0333333333333333*G0_1_2 + 0.0333333333333334*G3_1_0 + 0.0333333333333333*G3_1_1 + 0.0333333333333333*G3_1_2 + 0.0333333333333334*G6_1_0 + 0.0333333333333333*G6_1_1 + 0.0333333333333333*G6_1_2;
- A[69] = -0.0333333333333334*G0_1_0 - 0.0333333333333334*G3_1_0 - 0.0333333333333334*G6_1_0;
+ A[69] = -0.0333333333333333*G0_1_0 - 0.0333333333333333*G3_1_0 - 0.0333333333333333*G6_1_0;
A[70] = 0.1*G0_1_1 + 0.1*G3_1_1 + 0.1*G6_1_1;
A[71] = -0.0333333333333333*G0_1_2 - 0.0333333333333333*G3_1_2 - 0.0333333333333333*G6_1_2;
A[72] = -0.0333333333333337*G0_1_1 + 0.1*G0_1_2 - 0.0333333333333337*G3_1_1 + 0.1*G3_1_2 - 0.0333333333333337*G6_1_1 + 0.1*G6_1_2;
- A[73] = -0.0333333333333337*G0_1_0 - 0.0333333333333338*G0_1_2 - 0.0333333333333337*G3_1_0 - 0.0333333333333338*G3_1_2 - 0.0333333333333337*G6_1_0 - 0.0333333333333338*G6_1_2;
+ A[73] = -0.0333333333333338*G0_1_0 - 0.0333333333333338*G0_1_2 - 0.0333333333333338*G3_1_0 - 0.0333333333333338*G3_1_2 - 0.0333333333333338*G6_1_0 - 0.0333333333333338*G6_1_2;
A[74] = 0.1*G0_1_0 - 0.0333333333333336*G0_1_1 + 0.1*G3_1_0 - 0.0333333333333336*G3_1_1 + 0.1*G6_1_0 - 0.0333333333333336*G6_1_1;
- A[75] = 0.0333333333333337*G0_1_0 + 0.0333333333333337*G0_1_1 + 0.0333333333333337*G3_1_0 + 0.0333333333333337*G3_1_1 + 0.0333333333333337*G6_1_0 + 0.0333333333333337*G6_1_1;
+ A[75] = 0.0333333333333338*G0_1_0 + 0.0333333333333338*G0_1_1 + 0.0333333333333338*G3_1_0 + 0.0333333333333338*G3_1_1 + 0.0333333333333338*G6_1_0 + 0.0333333333333338*G6_1_1;
A[76] = -0.1*G0_1_0 - 0.133333333333333*G0_1_1 - 0.1*G0_1_2 - 0.1*G3_1_0 - 0.133333333333333*G3_1_1 - 0.1*G3_1_2 - 0.1*G6_1_0 - 0.133333333333333*G6_1_1 - 0.1*G6_1_2;
A[77] = 0.0333333333333337*G0_1_1 + 0.0333333333333338*G0_1_2 + 0.0333333333333337*G3_1_1 + 0.0333333333333338*G3_1_2 + 0.0333333333333337*G6_1_1 + 0.0333333333333338*G6_1_2;
A[78] = 0.0;
@@ -26812,8 +27907,8 @@ public:
A[95] = 0.0;
A[96] = 0.0;
A[97] = 0.0;
- A[98] = -0.00833333333333343*G10_1;
- A[99] = -0.00833333333333343*G10_1;
+ A[98] = -0.00833333333333344*G10_1;
+ A[99] = -0.00833333333333344*G10_1;
A[100] = 0.0249999999999999*G10_1;
A[101] = -0.00833333333333343*G10_1;
A[102] = 0.0333333333333334*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333334*G3_2_0 + 0.0333333333333334*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333334*G6_2_0 + 0.0333333333333334*G6_2_1 + 0.0333333333333334*G6_2_2;
@@ -26823,9 +27918,9 @@ public:
A[106] = 0.1*G0_2_1 - 0.0333333333333343*G0_2_2 + 0.1*G3_2_1 - 0.0333333333333343*G3_2_2 + 0.1*G6_2_1 - 0.0333333333333343*G6_2_2;
A[107] = 0.1*G0_2_0 - 0.033333333333334*G0_2_2 + 0.1*G3_2_0 - 0.033333333333334*G3_2_2 + 0.1*G6_2_0 - 0.033333333333334*G6_2_2;
A[108] = -0.0333333333333341*G0_2_0 - 0.0333333333333342*G0_2_1 - 0.0333333333333341*G3_2_0 - 0.0333333333333342*G3_2_1 - 0.0333333333333341*G6_2_0 - 0.0333333333333342*G6_2_1;
- A[109] = -0.1*G0_2_0 - 0.1*G0_2_1 - 0.133333333333334*G0_2_2 - 0.1*G3_2_0 - 0.1*G3_2_1 - 0.133333333333334*G3_2_2 - 0.1*G6_2_0 - 0.1*G6_2_1 - 0.133333333333334*G6_2_2;
+ A[109] = -0.1*G0_2_0 - 0.1*G0_2_1 - 0.133333333333333*G0_2_2 - 0.1*G3_2_0 - 0.1*G3_2_1 - 0.133333333333333*G3_2_2 - 0.1*G6_2_0 - 0.1*G6_2_1 - 0.133333333333333*G6_2_2;
A[110] = 0.0333333333333341*G0_2_0 + 0.0333333333333341*G0_2_2 + 0.0333333333333341*G3_2_0 + 0.0333333333333341*G3_2_2 + 0.0333333333333341*G6_2_0 + 0.0333333333333341*G6_2_2;
- A[111] = 0.0333333333333341*G0_2_1 + 0.033333333333334*G0_2_2 + 0.0333333333333341*G3_2_1 + 0.033333333333334*G3_2_2 + 0.0333333333333341*G6_2_1 + 0.033333333333334*G6_2_2;
+ A[111] = 0.033333333333334*G0_2_1 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_2_1 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_2_1 + 0.033333333333334*G6_2_2;
A[112] = 0.0;
A[113] = 0.0;
A[114] = 0.0;
@@ -26847,18 +27942,18 @@ public:
A[130] = 0.0;
A[131] = 0.0;
A[132] = -0.00833333333333351*G10_2;
- A[133] = -0.00833333333333351*G10_2;
+ A[133] = -0.0083333333333335*G10_2;
A[134] = -0.00833333333333351*G10_2;
A[135] = 0.0249999999999999*G10_2;
- A[136] = 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333334*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333334*G3_2_0 + 0.0333333333333334*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0333333333333335*G6_1_2 + 0.0333333333333334*G6_2_0 + 0.0333333333333334*G6_2_1 + 0.0 [...]
- A[137] = -0.0333333333333336*G0_1_0 - 0.0333333333333335*G0_2_0 - 0.0333333333333336*G3_1_0 - 0.0333333333333335*G3_2_0 - 0.0333333333333336*G6_1_0 - 0.0333333333333335*G6_2_0;
+ A[136] = 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333334*G0_1_2 + 0.0333333333333334*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333334*G3_1_2 + 0.0333333333333334*G3_2_0 + 0.0333333333333334*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0333333333333334*G6_1_2 + 0.0333333333333334*G6_2_0 + 0.0333333333333334*G6_2_1 + 0.0 [...]
+ A[137] = -0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G6_1_0 - 0.0333333333333335*G6_2_0;
A[138] = -0.0333333333333337*G0_1_1 + 0.1*G0_2_1 - 0.0333333333333337*G3_1_1 + 0.1*G3_2_1 - 0.0333333333333337*G6_1_1 + 0.1*G6_2_1;
A[139] = 0.1*G0_1_2 - 0.0333333333333343*G0_2_2 + 0.1*G3_1_2 - 0.0333333333333343*G3_2_2 + 0.1*G6_1_2 - 0.0333333333333343*G6_2_2;
A[140] = 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3_2_2 + 0.266666666666667*G6_1_1 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_1 + 0.266666666666667*G6_2_2;
A[141] = 0.266666666666667*G0_1_0 + 0.133333333333335*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333335*G0_2_2 + 0.266666666666667*G3_1_0 + 0.133333333333335*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333335*G3_2_2 + 0.266666666666667*G6_1_0 + 0.133333333333335*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333335*G6_2_2;
A[142] = 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_1 + 0.266666666666667*G0_2_0 + 0.133333333333335*G0_2_1 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_1 + 0.266666666666667*G3_2_0 + 0.133333333333335*G3_2_1 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_1 + 0.266666666666667*G6_2_0 + 0.133333333333335*G6_2_1;
- A[143] = -0.266666666666667*G0_1_0 - 0.266666666666667*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.266666666666667*G3_1_0 - 0.266666666666667*G3_1_1 - 0.133333333333334*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.266666666666667*G6_1_0 - 0.266666666666667*G6_1_1 - 0.133333333333334*G6_1_2 - 0.133333333333333*G6_2_0 - 0.133333333333333*G6_2_1;
- A[144] = -0.133333333333334*G0_1_0 - 0.133333333333333*G0_1_2 - 0.266666666666667*G0_2_0 - 0.133333333333333*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_1_0 - 0.133333333333333*G3_1_2 - 0.266666666666667*G3_2_0 - 0.133333333333333*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_1_0 - 0.133333333333333*G6_1_2 - 0.266666666666667*G6_2_0 - 0.133333333333333*G6_2_1 - 0.266666666666667*G6_2_2;
+ A[143] = -0.266666666666667*G0_1_0 - 0.266666666666667*G0_1_1 - 0.133333333333333*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.266666666666667*G3_1_0 - 0.266666666666667*G3_1_1 - 0.133333333333333*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.266666666666667*G6_1_0 - 0.266666666666667*G6_1_1 - 0.133333333333333*G6_1_2 - 0.133333333333333*G6_2_0 - 0.133333333333333*G6_2_1;
+ A[144] = -0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_2 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1 - 0.266666666666667*G6_2_2;
A[145] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_1_1 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_1_1 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.133333333333334*G6_2_2;
A[146] = 0.0;
A[147] = 0.0;
@@ -26882,18 +27977,18 @@ public:
A[165] = 0.0;
A[166] = 0.0333333333333334*G10_1 + 0.0333333333333334*G10_2;
A[167] = 0.0333333333333334*G10_1 + 0.0333333333333334*G10_2;
- A[168] = 0.0333333333333334*G10_1 + 0.0666666666666667*G10_2;
+ A[168] = 0.0333333333333334*G10_1 + 0.0666666666666668*G10_2;
A[169] = 0.0666666666666667*G10_1 + 0.0333333333333333*G10_2;
- A[170] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333336*G0_2_1 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333336*G3_2_1 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_2_0 + 0.0333333333333336*G6_2_1 + 0.0 [...]
- A[171] = -0.0333333333333336*G0_0_0 + 0.1*G0_2_0 - 0.0333333333333336*G3_0_0 + 0.1*G3_2_0 - 0.0333333333333336*G6_0_0 + 0.1*G6_2_0;
- A[172] = -0.0333333333333337*G0_0_1 - 0.0333333333333338*G0_2_1 - 0.0333333333333337*G3_0_1 - 0.0333333333333338*G3_2_1 - 0.0333333333333337*G6_0_1 - 0.0333333333333338*G6_2_1;
+ A[170] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333334*G0_0_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333336*G0_2_1 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333334*G3_0_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333336*G3_2_1 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333334*G6_0_2 + 0.0333333333333335*G6_2_0 + 0.0333333333333336*G6_2_1 + 0.0 [...]
+ A[171] = -0.0333333333333335*G0_0_0 + 0.1*G0_2_0 - 0.0333333333333335*G3_0_0 + 0.1*G3_2_0 - 0.0333333333333335*G6_0_0 + 0.1*G6_2_0;
+ A[172] = -0.0333333333333338*G0_0_1 - 0.0333333333333338*G0_2_1 - 0.0333333333333338*G3_0_1 - 0.0333333333333338*G3_2_1 - 0.0333333333333338*G6_0_1 - 0.0333333333333338*G6_2_1;
A[173] = 0.1*G0_0_2 - 0.033333333333334*G0_2_2 + 0.1*G3_0_2 - 0.033333333333334*G3_2_2 + 0.1*G6_0_2 - 0.033333333333334*G6_2_2;
A[174] = 0.266666666666667*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333335*G0_2_1 + 0.133333333333335*G0_2_2 + 0.266666666666667*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333335*G3_2_1 + 0.133333333333335*G3_2_2 + 0.266666666666667*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333335*G6_2_1 + 0.133333333333335*G6_2_2;
- A[175] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_2_0 + 0.266666666666669*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_2_0 + 0.266666666666669*G3_2_2 + 0.266666666666667*G6_0_0 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_2_0 + 0.266666666666669*G6_2_2;
- A[176] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333334*G0_2_0 + 0.266666666666669*G0_2_1 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_2_0 + 0.266666666666669*G3_2_1 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_2_0 + 0.266666666666669*G6_2_1;
- A[177] = -0.266666666666667*G0_0_0 - 0.266666666666667*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333334*G0_2_0 - 0.133333333333335*G0_2_1 - 0.266666666666667*G3_0_0 - 0.266666666666667*G3_0_1 - 0.133333333333334*G3_0_2 - 0.133333333333334*G3_2_0 - 0.133333333333335*G3_2_1 - 0.266666666666667*G6_0_0 - 0.266666666666667*G6_0_1 - 0.133333333333334*G6_0_2 - 0.133333333333334*G6_2_0 - 0.133333333333335*G6_2_1;
- A[178] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_2 - 0.133333333333334*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_2 - 0.133333333333334*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333333*G6_0_0 - 0.133333333333333*G6_0_2 - 0.133333333333334*G6_2_0 - 0.133333333333334*G6_2_2;
- A[179] = -0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1 - 0.266666666666668*G6_2_2;
+ A[175] = 0.266666666666667*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_2_0 + 0.266666666666669*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333335*G3_0_2 + 0.133333333333335*G3_2_0 + 0.266666666666669*G3_2_2 + 0.266666666666667*G6_0_0 + 0.133333333333335*G6_0_2 + 0.133333333333335*G6_2_0 + 0.266666666666669*G6_2_2;
+ A[176] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333335*G0_2_0 + 0.266666666666669*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333335*G3_2_0 + 0.266666666666669*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333335*G6_2_0 + 0.266666666666669*G6_2_1;
+ A[177] = -0.266666666666667*G0_0_0 - 0.266666666666667*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333335*G0_2_1 - 0.266666666666667*G3_0_0 - 0.266666666666667*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333335*G3_2_0 - 0.133333333333335*G3_2_1 - 0.266666666666667*G6_0_0 - 0.266666666666667*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333335*G6_2_0 - 0.133333333333335*G6_2_1;
+ A[178] = -0.133333333333334*G0_0_0 - 0.133333333333333*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_0_0 - 0.133333333333333*G3_0_2 - 0.133333333333335*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_0_0 - 0.133333333333333*G6_0_2 - 0.133333333333335*G6_2_0 - 0.133333333333334*G6_2_2;
+ A[179] = -0.133333333333334*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.266666666666668*G0_2_2 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_0_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.266666666666668*G3_2_2 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_0_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1 - 0.266666666666668*G6_2_2;
A[180] = 0.0;
A[181] = 0.0;
A[182] = 0.0;
@@ -26916,17 +28011,17 @@ public:
A[199] = 0.0;
A[200] = 0.0333333333333334*G10_0 + 0.0333333333333336*G10_2;
A[201] = 0.0333333333333333*G10_0 + 0.0666666666666669*G10_2;
- A[202] = 0.0333333333333333*G10_0 + 0.0333333333333336*G10_2;
+ A[202] = 0.0333333333333334*G10_0 + 0.0333333333333336*G10_2;
A[203] = 0.0666666666666667*G10_0 + 0.0333333333333336*G10_2;
- A[204] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333334*G0_1_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333334*G3_1_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0 [...]
+ A[204] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333334*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333334*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333334*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0 [...]
A[205] = -0.0333333333333336*G0_0_0 + 0.1*G0_1_0 - 0.0333333333333336*G3_0_0 + 0.1*G3_1_0 - 0.0333333333333336*G6_0_0 + 0.1*G6_1_0;
A[206] = 0.1*G0_0_1 - 0.0333333333333336*G0_1_1 + 0.1*G3_0_1 - 0.0333333333333336*G3_1_1 + 0.1*G6_0_1 - 0.0333333333333336*G6_1_1;
A[207] = -0.0333333333333341*G0_0_2 - 0.0333333333333342*G0_1_2 - 0.0333333333333341*G3_0_2 - 0.0333333333333342*G3_1_2 - 0.0333333333333341*G6_0_2 - 0.0333333333333342*G6_1_2;
A[208] = 0.133333333333334*G0_0_1 + 0.266666666666667*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333335*G0_1_2 + 0.133333333333334*G3_0_1 + 0.266666666666667*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333335*G3_1_2 + 0.133333333333334*G6_0_1 + 0.266666666666667*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333335*G6_1_2;
- A[209] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_2 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_2 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_2;
- A[210] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_1 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_1 + 0.266666666666667*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_1;
- A[211] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333333*G6_0_0 - 0.133333333333333*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
- A[212] = -0.266666666666667*G0_0_0 - 0.133333333333333*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G3_0_0 - 0.133333333333333*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G6_0_0 - 0.133333333333333*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_2;
+ A[209] = 0.133333333333334*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_2 + 0.133333333333334*G3_0_0 + 0.133333333333335*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_2 + 0.133333333333334*G6_0_0 + 0.133333333333335*G6_0_2 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_2;
+ A[210] = 0.266666666666667*G0_0_0 + 0.133333333333335*G0_0_1 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_1 + 0.266666666666667*G3_0_0 + 0.133333333333335*G3_0_1 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_1 + 0.266666666666667*G6_0_0 + 0.133333333333335*G6_0_1 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_1;
+ A[211] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333334*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333334*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
+ A[212] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333335*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333335*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333335*G6_1_0 - 0.133333333333334*G6_1_2;
A[213] = -0.133333333333334*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333333*G0_1_0 - 0.266666666666668*G0_1_1 - 0.266666666666668*G0_1_2 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_1_0 - 0.266666666666668*G3_1_1 - 0.266666666666668*G3_1_2 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_1_0 - 0.266666666666668*G6_1_1 - 0.266666666666668*G6_1_2;
A[214] = 0.0;
A[215] = 0.0;
@@ -26951,17 +28046,17 @@ public:
A[234] = 0.0333333333333334*G10_0 + 0.0333333333333336*G10_1;
A[235] = 0.0333333333333333*G10_0 + 0.0666666666666669*G10_1;
A[236] = 0.0666666666666667*G10_0 + 0.0333333333333336*G10_1;
- A[237] = 0.0333333333333333*G10_0 + 0.0333333333333335*G10_1;
- A[238] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.13333 [...]
- A[239] = 0.0333333333333336*G0_0_0 + 0.0333333333333336*G0_1_0 + 0.0333333333333336*G3_0_0 + 0.0333333333333336*G3_1_0 + 0.0333333333333336*G6_0_0 + 0.0333333333333336*G6_1_0;
- A[240] = 0.0333333333333337*G0_0_1 + 0.0333333333333337*G0_1_1 + 0.0333333333333337*G3_0_1 + 0.0333333333333337*G3_1_1 + 0.0333333333333337*G6_0_1 + 0.0333333333333337*G6_1_1;
- A[241] = -0.1*G0_0_2 - 0.1*G0_1_2 - 0.133333333333334*G0_2_2 - 0.1*G3_0_2 - 0.1*G3_1_2 - 0.133333333333334*G3_2_2 - 0.1*G6_0_2 - 0.1*G6_1_2 - 0.133333333333334*G6_2_2;
- A[242] = -0.266666666666667*G0_0_1 - 0.133333333333333*G0_0_2 - 0.266666666666667*G0_1_1 - 0.133333333333333*G0_1_2 - 0.133333333333334*G0_2_1 - 0.266666666666667*G3_0_1 - 0.133333333333333*G3_0_2 - 0.266666666666667*G3_1_1 - 0.133333333333333*G3_1_2 - 0.133333333333334*G3_2_1 - 0.266666666666667*G6_0_1 - 0.133333333333333*G6_0_2 - 0.266666666666667*G6_1_1 - 0.133333333333333*G6_1_2 - 0.133333333333334*G6_2_1;
- A[243] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_2 - 0.266666666666667*G0_1_0 - 0.133333333333335*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_2 - 0.266666666666667*G3_1_0 - 0.133333333333335*G3_1_2 - 0.133333333333334*G3_2_0 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_2 - 0.266666666666667*G6_1_0 - 0.133333333333335*G6_1_2 - 0.133333333333334*G6_2_0;
- A[244] = -0.133333333333333*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333333*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333333*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333333*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_1_0 - 0.133333333333334*G6_1_1;
- A[245] = 0.266666666666667*G0_0_0 + 0.266666666666667*G0_0_1 + 0.133333333333334*G0_0_2 + 0.266666666666667*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.266666666666667*G3_0_1 + 0.133333333333334*G3_0_2 + 0.266666666666667*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333334*G3_2_0 + 0.133333333333334*G3_2_1 + 0.266666666666667*G3 [...]
- A[246] = 0.133333333333334*G0_0_0 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333333*G0_1_2 + 0.133333333333334*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333333*G3_1_2 + 0.133333333333334*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333333*G6_1_2 + 0.133333333333334*G6_2_1;
- A[247] = 0.133333333333333*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333333*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333334*G3_2_0 + 0.133333333333333*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_1_2 + 0.133333333333334*G6_2_0;
+ A[237] = 0.0333333333333334*G10_0 + 0.0333333333333335*G10_1;
+ A[238] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333334*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333334*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333334*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333334*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.13333 [...]
+ A[239] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_1_0;
+ A[240] = 0.0333333333333338*G0_0_1 + 0.0333333333333338*G0_1_1 + 0.0333333333333338*G3_0_1 + 0.0333333333333338*G3_1_1 + 0.0333333333333338*G6_0_1 + 0.0333333333333338*G6_1_1;
+ A[241] = -0.1*G0_0_2 - 0.1*G0_1_2 - 0.133333333333333*G0_2_2 - 0.1*G3_0_2 - 0.1*G3_1_2 - 0.133333333333333*G3_2_2 - 0.1*G6_0_2 - 0.1*G6_1_2 - 0.133333333333333*G6_2_2;
+ A[242] = -0.266666666666667*G0_0_1 - 0.133333333333333*G0_0_2 - 0.266666666666667*G0_1_1 - 0.133333333333333*G0_1_2 - 0.133333333333333*G0_2_1 - 0.266666666666667*G3_0_1 - 0.133333333333333*G3_0_2 - 0.266666666666667*G3_1_1 - 0.133333333333333*G3_1_2 - 0.133333333333333*G3_2_1 - 0.266666666666667*G6_0_1 - 0.133333333333333*G6_0_2 - 0.266666666666667*G6_1_1 - 0.133333333333333*G6_1_2 - 0.133333333333333*G6_2_1;
+ A[243] = -0.266666666666667*G0_0_0 - 0.133333333333335*G0_0_2 - 0.266666666666667*G0_1_0 - 0.133333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.266666666666667*G3_0_0 - 0.133333333333335*G3_0_2 - 0.266666666666667*G3_1_0 - 0.133333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.266666666666667*G6_0_0 - 0.133333333333335*G6_0_2 - 0.266666666666667*G6_1_0 - 0.133333333333335*G6_1_2 - 0.133333333333333*G6_2_0;
+ A[244] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333334*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333334*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
+ A[245] = 0.266666666666667*G0_0_0 + 0.266666666666667*G0_0_1 + 0.133333333333333*G0_0_2 + 0.266666666666667*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.266666666666667*G3_0_1 + 0.133333333333333*G3_0_2 + 0.266666666666667*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3 [...]
+ A[246] = 0.133333333333334*G0_0_0 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_2 + 0.133333333333333*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_2 + 0.133333333333333*G6_2_1;
+ A[247] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_1_2 + 0.133333333333333*G6_2_0;
A[248] = 0.0;
A[249] = 0.0;
A[250] = 0.0;
@@ -26982,20 +28077,20 @@ public:
A[265] = 0.0;
A[266] = 0.0;
A[267] = 0.0;
- A[268] = -0.0333333333333334*G10_0 - 0.0333333333333334*G10_1 + 0.0333333333333333*G10_2;
+ A[268] = -0.0333333333333334*G10_0 - 0.0333333333333334*G10_1 + 0.0333333333333334*G10_2;
A[269] = -0.0333333333333333*G10_0 - 0.0333333333333334*G10_1;
- A[270] = -0.0333333333333333*G10_0 - 0.0333333333333334*G10_1;
- A[271] = -0.0666666666666667*G10_0 - 0.0666666666666667*G10_1 - 0.0333333333333334*G10_2;
- A[272] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333334*G0_0_2 - 0.133333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333334*G0_2_0 - 0.0333333333333334*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333334*G3_0_2 - 0.133333333333333*G3_1_0 - 0.133333333333333*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333334*G3_2_0 - 0.0333333333333334*G3_2_1 - 0.033333 [...]
- A[273] = 0.0333333333333336*G0_0_0 + 0.0333333333333336*G0_2_0 + 0.0333333333333336*G3_0_0 + 0.0333333333333336*G3_2_0 + 0.0333333333333336*G6_0_0 + 0.0333333333333336*G6_2_0;
+ A[270] = -0.0333333333333334*G10_0 - 0.0333333333333334*G10_1;
+ A[271] = -0.0666666666666667*G10_0 - 0.0666666666666667*G10_1 - 0.0333333333333333*G10_2;
+ A[272] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333334*G0_0_2 - 0.133333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333334*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333334*G3_0_2 - 0.133333333333333*G3_1_0 - 0.133333333333333*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333334*G3_2_1 - 0.033333 [...]
+ A[273] = 0.0333333333333336*G0_0_0 + 0.0333333333333335*G0_2_0 + 0.0333333333333336*G3_0_0 + 0.0333333333333335*G3_2_0 + 0.0333333333333336*G6_0_0 + 0.0333333333333335*G6_2_0;
A[274] = -0.1*G0_0_1 - 0.133333333333333*G0_1_1 - 0.1*G0_2_1 - 0.1*G3_0_1 - 0.133333333333333*G3_1_1 - 0.1*G3_2_1 - 0.1*G6_0_1 - 0.133333333333333*G6_1_1 - 0.1*G6_2_1;
A[275] = 0.0333333333333341*G0_0_2 + 0.0333333333333341*G0_2_2 + 0.0333333333333341*G3_0_2 + 0.0333333333333341*G3_2_2 + 0.0333333333333341*G6_0_2 + 0.0333333333333341*G6_2_2;
- A[276] = -0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333333*G0_1_2 - 0.133333333333333*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333333*G3_1_2 - 0.133333333333333*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333333*G6_1_2 - 0.133333333333333*G6_2_1 - 0.266666666666667*G6_2_2;
- A[277] = -0.133333333333333*G0_0_0 - 0.133333333333334*G0_0_2 - 0.133333333333333*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333334*G3_0_2 - 0.133333333333333*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333333*G6_0_0 - 0.133333333333334*G6_0_2 - 0.133333333333333*G6_2_0 - 0.133333333333334*G6_2_2;
- A[278] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333333*G0_1_0 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_1_0 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_1_0 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1;
- A[279] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_1;
+ A[276] = -0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.266666666666667*G6_2_2;
+ A[277] = -0.133333333333334*G0_0_0 - 0.133333333333335*G0_0_2 - 0.133333333333333*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_0_0 - 0.133333333333335*G3_0_2 - 0.133333333333333*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_0_0 - 0.133333333333335*G6_0_2 - 0.133333333333333*G6_2_0 - 0.133333333333334*G6_2_2;
+ A[278] = -0.266666666666667*G0_0_0 - 0.133333333333335*G0_0_1 - 0.133333333333334*G0_1_0 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G3_0_0 - 0.133333333333335*G3_0_1 - 0.133333333333334*G3_1_0 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G6_0_0 - 0.133333333333335*G6_0_1 - 0.133333333333334*G6_1_0 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1;
+ A[279] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333334*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333334*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333334*G6_2_1;
A[280] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_1 + 0.266666666666667*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.266666666666667*G0_2_0 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_1 + 0.266666666666667*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.266666666666667*G3_2_0 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3 [...]
- A[281] = 0.133333333333334*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333333*G0_2_1 + 0.133333333333333*G0_2_2 + 0.133333333333334*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333333*G3_2_1 + 0.133333333333333*G3_2_2 + 0.133333333333334*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333333*G6_2_1 + 0.133333333333333*G6_2_2;
+ A[281] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333333*G0_2_1 + 0.133333333333333*G0_2_2 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333333*G3_2_1 + 0.133333333333333*G3_2_2 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333333*G6_2_1 + 0.133333333333333*G6_2_2;
A[282] = 0.0;
A[283] = 0.0;
A[284] = 0.0;
@@ -27017,17 +28112,17 @@ public:
A[300] = 0.0;
A[301] = 0.0;
A[302] = -0.0333333333333334*G10_0 + 0.0333333333333333*G10_1 - 0.0333333333333334*G10_2;
- A[303] = -0.0333333333333333*G10_0 - 0.0333333333333333*G10_2;
+ A[303] = -0.0333333333333334*G10_0 - 0.0333333333333333*G10_2;
A[304] = -0.0666666666666667*G10_0 - 0.0333333333333334*G10_1 - 0.0666666666666667*G10_2;
A[305] = -0.0333333333333334*G10_0 - 0.0333333333333333*G10_2;
A[306] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333334*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333334*G0_1_2 - 0.0333333333333334*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333334*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333334*G3_1_2 - 0.0333333333333334*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.033333 [...]
A[307] = -0.133333333333333*G0_0_0 - 0.1*G0_1_0 - 0.1*G0_2_0 - 0.133333333333333*G3_0_0 - 0.1*G3_1_0 - 0.1*G3_2_0 - 0.133333333333333*G6_0_0 - 0.1*G6_1_0 - 0.1*G6_2_0;
A[308] = 0.0333333333333337*G0_1_1 + 0.0333333333333338*G0_2_1 + 0.0333333333333337*G3_1_1 + 0.0333333333333338*G3_2_1 + 0.0333333333333337*G6_1_1 + 0.0333333333333338*G6_2_1;
- A[309] = 0.0333333333333341*G0_1_2 + 0.033333333333334*G0_2_2 + 0.0333333333333341*G3_1_2 + 0.033333333333334*G3_2_2 + 0.0333333333333341*G6_1_2 + 0.033333333333334*G6_2_2;
+ A[309] = 0.033333333333334*G0_1_2 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_1_2 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_1_2 + 0.033333333333334*G6_2_2;
A[310] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_1_1 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_1_1 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.133333333333334*G6_2_2;
- A[311] = -0.133333333333333*G0_0_2 - 0.133333333333333*G0_1_0 - 0.266666666666668*G0_1_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_1_0 - 0.266666666666668*G3_1_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_1_0 - 0.266666666666668*G6_1_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_2;
+ A[311] = -0.133333333333333*G0_0_2 - 0.133333333333334*G0_1_0 - 0.266666666666668*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_2 - 0.133333333333334*G3_1_0 - 0.266666666666668*G3_1_2 - 0.133333333333334*G3_2_0 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_2 - 0.133333333333334*G6_1_0 - 0.266666666666668*G6_1_2 - 0.133333333333334*G6_2_0 - 0.266666666666668*G6_2_2;
A[312] = -0.133333333333333*G0_0_1 - 0.133333333333334*G0_1_0 - 0.266666666666668*G0_1_1 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.133333333333333*G3_0_1 - 0.133333333333334*G3_1_0 - 0.266666666666668*G3_1_1 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.133333333333333*G6_0_1 - 0.133333333333334*G6_1_0 - 0.266666666666668*G6_1_1 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1;
- A[313] = 0.133333333333334*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333334*G0_1_1 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.133333333333334*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333334*G3_1_1 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.133333333333334*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333334*G6_1_1 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_1;
+ A[313] = 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_2_0 + 0.133333333333334*G3_2_1 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_2_0 + 0.133333333333334*G6_2_1;
A[314] = 0.133333333333333*G0_0_1 + 0.133333333333334*G0_1_0 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_2 + 0.133333333333333*G3_0_1 + 0.133333333333334*G3_1_0 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_2 + 0.133333333333333*G6_0_1 + 0.133333333333334*G6_1_0 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_2;
A[315] = 0.266666666666667*G0_0_0 + 0.133333333333333*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333333*G0_1_0 + 0.266666666666667*G0_1_1 + 0.266666666666667*G0_1_2 + 0.133333333333333*G0_2_0 + 0.266666666666667*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333333*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333333*G3_1_0 + 0.266666666666667*G3_1_1 + 0.266666666666667*G3_1_2 + 0.133333333333333*G3_2_0 + 0.266666666666667*G3_2_1 + 0.266666666666667*G3 [...]
A[316] = 0.0;
@@ -27053,7 +28148,7 @@ public:
A[336] = 0.0333333333333333*G10_0 - 0.0333333333333334*G10_1 - 0.0333333333333334*G10_2;
A[337] = -0.0333333333333333*G10_0 - 0.0666666666666667*G10_1 - 0.0666666666666667*G10_2;
A[338] = -0.0333333333333334*G10_1 - 0.0333333333333333*G10_2;
- A[339] = -0.0333333333333334*G10_1 - 0.0333333333333333*G10_2;
+ A[339] = -0.0333333333333333*G10_1 - 0.0333333333333333*G10_2;
A[340] = 0.0;
A[341] = 0.0;
A[342] = 0.0;
@@ -27068,9 +28163,9 @@ public:
A[351] = 0.0333333333333333*G1_0_0 + 0.0333333333333333*G1_1_0 + 0.0333333333333333*G1_2_0 + 0.0333333333333333*G4_0_0 + 0.0333333333333333*G4_1_0 + 0.0333333333333333*G4_2_0 + 0.0333333333333333*G7_0_0 + 0.0333333333333333*G7_1_0 + 0.0333333333333333*G7_2_0;
A[352] = 0.0333333333333334*G1_0_1 + 0.0333333333333333*G1_1_1 + 0.0333333333333333*G1_2_1 + 0.0333333333333334*G4_0_1 + 0.0333333333333333*G4_1_1 + 0.0333333333333333*G4_2_1 + 0.0333333333333334*G7_0_1 + 0.0333333333333333*G7_1_1 + 0.0333333333333333*G7_2_1;
A[353] = 0.0333333333333334*G1_0_2 + 0.0333333333333334*G1_1_2 + 0.0333333333333334*G1_2_2 + 0.0333333333333334*G4_0_2 + 0.0333333333333334*G4_1_2 + 0.0333333333333334*G4_2_2 + 0.0333333333333334*G7_0_2 + 0.0333333333333334*G7_1_2 + 0.0333333333333334*G7_2_2;
- A[354] = 0.0333333333333335*G1_0_1 + 0.0333333333333334*G1_0_2 + 0.0333333333333335*G1_1_1 + 0.0333333333333334*G1_1_2 + 0.0333333333333335*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333335*G4_0_1 + 0.0333333333333334*G4_0_2 + 0.0333333333333335*G4_1_1 + 0.0333333333333334*G4_1_2 + 0.0333333333333335*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333335*G7_0_1 + 0.0333333333333334*G7_0_2 + 0.0333333333333335*G7_1_1 + 0.0333333333333334*G7_1_2 + 0.0333333333333335*G7_2_1 + 0.0 [...]
- A[355] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333336*G1_1_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333336*G4_1_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333336*G7_1_2 + 0.0333333333333335*G7_2_0 + 0.0 [...]
- A[356] = 0.0333333333333335*G1_0_0 + 0.0333333333333334*G1_0_1 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333335*G1_2_0 + 0.0333333333333334*G1_2_1 + 0.0333333333333335*G4_0_0 + 0.0333333333333334*G4_0_1 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333335*G4_2_0 + 0.0333333333333334*G4_2_1 + 0.0333333333333335*G7_0_0 + 0.0333333333333334*G7_0_1 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0333333333333335*G7_2_0 + 0.0 [...]
+ A[354] = 0.0333333333333335*G1_0_1 + 0.0333333333333334*G1_0_2 + 0.0333333333333335*G1_1_1 + 0.0333333333333334*G1_1_2 + 0.0333333333333334*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333335*G4_0_1 + 0.0333333333333334*G4_0_2 + 0.0333333333333335*G4_1_1 + 0.0333333333333334*G4_1_2 + 0.0333333333333334*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333335*G7_0_1 + 0.0333333333333334*G7_0_2 + 0.0333333333333335*G7_1_1 + 0.0333333333333334*G7_1_2 + 0.0333333333333334*G7_2_1 + 0.0 [...]
+ A[355] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333336*G1_1_2 + 0.0333333333333334*G1_2_0 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333336*G4_1_2 + 0.0333333333333334*G4_2_0 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333336*G7_1_2 + 0.0333333333333334*G7_2_0 + 0.0 [...]
+ A[356] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333334*G1_2_0 + 0.0333333333333335*G1_2_1 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333334*G4_2_0 + 0.0333333333333335*G4_2_1 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0333333333333334*G7_2_0 + 0.0 [...]
A[357] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333334*G1_2_0 - 0.0333333333333334*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333334*G4_2_0 - 0.0333333333333334*G4_2_1 - 0.13333 [...]
A[358] = -0.0333333333333335*G1_0_0 - 0.133333333333333*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.133333333333333*G1_1_1 - 0.0333333333333334*G1_1_2 - 0.0333333333333334*G1_2_0 - 0.133333333333333*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.133333333333333*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.133333333333333*G4_1_1 - 0.0333333333333334*G4_1_2 - 0.0333333333333334*G4_2_0 - 0.133333333333333*G4_2_1 - 0.033333 [...]
A[359] = -0.133333333333333*G1_0_0 - 0.0333333333333334*G1_0_1 - 0.0333333333333334*G1_0_2 - 0.133333333333333*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.0333333333333334*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.0333333333333334*G4_0_1 - 0.0333333333333334*G4_0_2 - 0.133333333333333*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.0333333333333334*G4_2_1 - 0.033333 [...]
@@ -27086,8 +28181,8 @@ public:
A[369] = 0.0;
A[370] = -0.025*G11_0 - 0.025*G11_1 - 0.025*G11_2;
A[371] = 0.00833333333333336*G11_0 + 0.00833333333333338*G11_1 + 0.00833333333333336*G11_2;
- A[372] = 0.00833333333333337*G11_0 + 0.00833333333333337*G11_1 + 0.00833333333333335*G11_2;
- A[373] = 0.00833333333333337*G11_0 + 0.00833333333333338*G11_1 + 0.00833333333333336*G11_2;
+ A[372] = 0.00833333333333337*G11_0 + 0.00833333333333336*G11_1 + 0.00833333333333335*G11_2;
+ A[373] = 0.00833333333333337*G11_0 + 0.00833333333333337*G11_1 + 0.00833333333333335*G11_2;
A[374] = 0.0;
A[375] = 0.0;
A[376] = 0.0;
@@ -27100,12 +28195,12 @@ public:
A[383] = 0.0;
A[384] = 0.0333333333333333*G1_0_0 + 0.0333333333333333*G1_0_1 + 0.0333333333333333*G1_0_2 + 0.0333333333333333*G4_0_0 + 0.0333333333333333*G4_0_1 + 0.0333333333333333*G4_0_2 + 0.0333333333333333*G7_0_0 + 0.0333333333333333*G7_0_1 + 0.0333333333333333*G7_0_2;
A[385] = 0.1*G1_0_0 + 0.1*G4_0_0 + 0.1*G7_0_0;
- A[386] = -0.0333333333333334*G1_0_1 - 0.0333333333333334*G4_0_1 - 0.0333333333333334*G7_0_1;
+ A[386] = -0.0333333333333333*G1_0_1 - 0.0333333333333333*G4_0_1 - 0.0333333333333333*G7_0_1;
A[387] = -0.0333333333333334*G1_0_2 - 0.0333333333333334*G4_0_2 - 0.0333333333333334*G7_0_2;
- A[388] = -0.0333333333333336*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333336*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333336*G7_0_1 - 0.0333333333333335*G7_0_2;
+ A[388] = -0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333335*G7_0_1 - 0.0333333333333335*G7_0_2;
A[389] = -0.0333333333333336*G1_0_0 + 0.1*G1_0_2 - 0.0333333333333336*G4_0_0 + 0.1*G4_0_2 - 0.0333333333333336*G7_0_0 + 0.1*G7_0_2;
- A[390] = -0.0333333333333336*G1_0_0 + 0.1*G1_0_1 - 0.0333333333333336*G4_0_0 + 0.1*G4_0_1 - 0.0333333333333336*G7_0_0 + 0.1*G7_0_1;
- A[391] = 0.0333333333333336*G1_0_0 + 0.0333333333333336*G1_0_1 + 0.0333333333333336*G4_0_0 + 0.0333333333333336*G4_0_1 + 0.0333333333333336*G7_0_0 + 0.0333333333333336*G7_0_1;
+ A[390] = -0.0333333333333335*G1_0_0 + 0.1*G1_0_1 - 0.0333333333333335*G4_0_0 + 0.1*G4_0_1 - 0.0333333333333335*G7_0_0 + 0.1*G7_0_1;
+ A[391] = 0.0333333333333336*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333336*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333336*G7_0_0 + 0.0333333333333335*G7_0_1;
A[392] = 0.0333333333333336*G1_0_0 + 0.0333333333333335*G1_0_2 + 0.0333333333333336*G4_0_0 + 0.0333333333333335*G4_0_2 + 0.0333333333333336*G7_0_0 + 0.0333333333333335*G7_0_2;
A[393] = -0.133333333333333*G1_0_0 - 0.1*G1_0_1 - 0.1*G1_0_2 - 0.133333333333333*G4_0_0 - 0.1*G4_0_1 - 0.1*G4_0_2 - 0.133333333333333*G7_0_0 - 0.1*G7_0_1 - 0.1*G7_0_2;
A[394] = 0.0;
@@ -27118,10 +28213,10 @@ public:
A[401] = 0.0;
A[402] = 0.0;
A[403] = 0.0;
- A[404] = -0.00833333333333338*G11_0;
- A[405] = 0.025*G11_0;
- A[406] = -0.00833333333333339*G11_0;
- A[407] = -0.00833333333333339*G11_0;
+ A[404] = -0.00833333333333337*G11_0;
+ A[405] = 0.0249999999999999*G11_0;
+ A[406] = -0.00833333333333338*G11_0;
+ A[407] = -0.00833333333333338*G11_0;
A[408] = 0.0;
A[409] = 0.0;
A[410] = 0.0;
@@ -27133,13 +28228,13 @@ public:
A[416] = 0.0;
A[417] = 0.0;
A[418] = 0.0333333333333334*G1_1_0 + 0.0333333333333333*G1_1_1 + 0.0333333333333333*G1_1_2 + 0.0333333333333334*G4_1_0 + 0.0333333333333333*G4_1_1 + 0.0333333333333333*G4_1_2 + 0.0333333333333334*G7_1_0 + 0.0333333333333333*G7_1_1 + 0.0333333333333333*G7_1_2;
- A[419] = -0.0333333333333334*G1_1_0 - 0.0333333333333334*G4_1_0 - 0.0333333333333334*G7_1_0;
+ A[419] = -0.0333333333333333*G1_1_0 - 0.0333333333333333*G4_1_0 - 0.0333333333333333*G7_1_0;
A[420] = 0.1*G1_1_1 + 0.1*G4_1_1 + 0.1*G7_1_1;
A[421] = -0.0333333333333333*G1_1_2 - 0.0333333333333333*G4_1_2 - 0.0333333333333333*G7_1_2;
A[422] = -0.0333333333333337*G1_1_1 + 0.1*G1_1_2 - 0.0333333333333337*G4_1_1 + 0.1*G4_1_2 - 0.0333333333333337*G7_1_1 + 0.1*G7_1_2;
- A[423] = -0.0333333333333337*G1_1_0 - 0.0333333333333338*G1_1_2 - 0.0333333333333337*G4_1_0 - 0.0333333333333338*G4_1_2 - 0.0333333333333337*G7_1_0 - 0.0333333333333338*G7_1_2;
+ A[423] = -0.0333333333333338*G1_1_0 - 0.0333333333333338*G1_1_2 - 0.0333333333333338*G4_1_0 - 0.0333333333333338*G4_1_2 - 0.0333333333333338*G7_1_0 - 0.0333333333333338*G7_1_2;
A[424] = 0.1*G1_1_0 - 0.0333333333333336*G1_1_1 + 0.1*G4_1_0 - 0.0333333333333336*G4_1_1 + 0.1*G7_1_0 - 0.0333333333333336*G7_1_1;
- A[425] = 0.0333333333333337*G1_1_0 + 0.0333333333333337*G1_1_1 + 0.0333333333333337*G4_1_0 + 0.0333333333333337*G4_1_1 + 0.0333333333333337*G7_1_0 + 0.0333333333333337*G7_1_1;
+ A[425] = 0.0333333333333338*G1_1_0 + 0.0333333333333338*G1_1_1 + 0.0333333333333338*G4_1_0 + 0.0333333333333338*G4_1_1 + 0.0333333333333338*G7_1_0 + 0.0333333333333338*G7_1_1;
A[426] = -0.1*G1_1_0 - 0.133333333333333*G1_1_1 - 0.1*G1_1_2 - 0.1*G4_1_0 - 0.133333333333333*G4_1_1 - 0.1*G4_1_2 - 0.1*G7_1_0 - 0.133333333333333*G7_1_1 - 0.1*G7_1_2;
A[427] = 0.0333333333333337*G1_1_1 + 0.0333333333333338*G1_1_2 + 0.0333333333333337*G4_1_1 + 0.0333333333333338*G4_1_2 + 0.0333333333333337*G7_1_1 + 0.0333333333333338*G7_1_2;
A[428] = 0.0;
@@ -27152,8 +28247,8 @@ public:
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
- A[438] = -0.00833333333333343*G11_1;
- A[439] = -0.00833333333333343*G11_1;
+ A[438] = -0.00833333333333344*G11_1;
+ A[439] = -0.00833333333333344*G11_1;
A[440] = 0.0249999999999999*G11_1;
A[441] = -0.00833333333333343*G11_1;
A[442] = 0.0;
@@ -27173,9 +28268,9 @@ public:
A[456] = 0.1*G1_2_1 - 0.0333333333333343*G1_2_2 + 0.1*G4_2_1 - 0.0333333333333343*G4_2_2 + 0.1*G7_2_1 - 0.0333333333333343*G7_2_2;
A[457] = 0.1*G1_2_0 - 0.033333333333334*G1_2_2 + 0.1*G4_2_0 - 0.033333333333334*G4_2_2 + 0.1*G7_2_0 - 0.033333333333334*G7_2_2;
A[458] = -0.0333333333333341*G1_2_0 - 0.0333333333333342*G1_2_1 - 0.0333333333333341*G4_2_0 - 0.0333333333333342*G4_2_1 - 0.0333333333333341*G7_2_0 - 0.0333333333333342*G7_2_1;
- A[459] = -0.1*G1_2_0 - 0.1*G1_2_1 - 0.133333333333334*G1_2_2 - 0.1*G4_2_0 - 0.1*G4_2_1 - 0.133333333333334*G4_2_2 - 0.1*G7_2_0 - 0.1*G7_2_1 - 0.133333333333334*G7_2_2;
+ A[459] = -0.1*G1_2_0 - 0.1*G1_2_1 - 0.133333333333333*G1_2_2 - 0.1*G4_2_0 - 0.1*G4_2_1 - 0.133333333333333*G4_2_2 - 0.1*G7_2_0 - 0.1*G7_2_1 - 0.133333333333333*G7_2_2;
A[460] = 0.0333333333333341*G1_2_0 + 0.0333333333333341*G1_2_2 + 0.0333333333333341*G4_2_0 + 0.0333333333333341*G4_2_2 + 0.0333333333333341*G7_2_0 + 0.0333333333333341*G7_2_2;
- A[461] = 0.0333333333333341*G1_2_1 + 0.033333333333334*G1_2_2 + 0.0333333333333341*G4_2_1 + 0.033333333333334*G4_2_2 + 0.0333333333333341*G7_2_1 + 0.033333333333334*G7_2_2;
+ A[461] = 0.033333333333334*G1_2_1 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_2_1 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_2_1 + 0.033333333333334*G7_2_2;
A[462] = 0.0;
A[463] = 0.0;
A[464] = 0.0;
@@ -27187,7 +28282,7 @@ public:
A[470] = 0.0;
A[471] = 0.0;
A[472] = -0.00833333333333351*G11_2;
- A[473] = -0.00833333333333351*G11_2;
+ A[473] = -0.0083333333333335*G11_2;
A[474] = -0.00833333333333351*G11_2;
A[475] = 0.0249999999999999*G11_2;
A[476] = 0.0;
@@ -27200,15 +28295,15 @@ public:
A[483] = 0.0;
A[484] = 0.0;
A[485] = 0.0;
- A[486] = 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333334*G1_2_0 + 0.0333333333333334*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333334*G4_2_0 + 0.0333333333333334*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0333333333333335*G7_1_2 + 0.0333333333333334*G7_2_0 + 0.0333333333333334*G7_2_1 + 0.0 [...]
- A[487] = -0.0333333333333336*G1_1_0 - 0.0333333333333335*G1_2_0 - 0.0333333333333336*G4_1_0 - 0.0333333333333335*G4_2_0 - 0.0333333333333336*G7_1_0 - 0.0333333333333335*G7_2_0;
+ A[486] = 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333334*G1_1_2 + 0.0333333333333334*G1_2_0 + 0.0333333333333334*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333334*G4_1_2 + 0.0333333333333334*G4_2_0 + 0.0333333333333334*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0333333333333334*G7_1_2 + 0.0333333333333334*G7_2_0 + 0.0333333333333334*G7_2_1 + 0.0 [...]
+ A[487] = -0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G7_1_0 - 0.0333333333333335*G7_2_0;
A[488] = -0.0333333333333337*G1_1_1 + 0.1*G1_2_1 - 0.0333333333333337*G4_1_1 + 0.1*G4_2_1 - 0.0333333333333337*G7_1_1 + 0.1*G7_2_1;
A[489] = 0.1*G1_1_2 - 0.0333333333333343*G1_2_2 + 0.1*G4_1_2 - 0.0333333333333343*G4_2_2 + 0.1*G7_1_2 - 0.0333333333333343*G7_2_2;
A[490] = 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4_2_2 + 0.266666666666667*G7_1_1 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_1 + 0.266666666666667*G7_2_2;
A[491] = 0.266666666666667*G1_1_0 + 0.133333333333335*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333335*G1_2_2 + 0.266666666666667*G4_1_0 + 0.133333333333335*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333335*G4_2_2 + 0.266666666666667*G7_1_0 + 0.133333333333335*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333335*G7_2_2;
A[492] = 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_1 + 0.266666666666667*G1_2_0 + 0.133333333333335*G1_2_1 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_1 + 0.266666666666667*G4_2_0 + 0.133333333333335*G4_2_1 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_1 + 0.266666666666667*G7_2_0 + 0.133333333333335*G7_2_1;
- A[493] = -0.266666666666667*G1_1_0 - 0.266666666666667*G1_1_1 - 0.133333333333334*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.266666666666667*G4_1_0 - 0.266666666666667*G4_1_1 - 0.133333333333334*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.266666666666667*G7_1_0 - 0.266666666666667*G7_1_1 - 0.133333333333334*G7_1_2 - 0.133333333333333*G7_2_0 - 0.133333333333333*G7_2_1;
- A[494] = -0.133333333333334*G1_1_0 - 0.133333333333333*G1_1_2 - 0.266666666666667*G1_2_0 - 0.133333333333333*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_1_0 - 0.133333333333333*G4_1_2 - 0.266666666666667*G4_2_0 - 0.133333333333333*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_1_0 - 0.133333333333333*G7_1_2 - 0.266666666666667*G7_2_0 - 0.133333333333333*G7_2_1 - 0.266666666666667*G7_2_2;
+ A[493] = -0.266666666666667*G1_1_0 - 0.266666666666667*G1_1_1 - 0.133333333333333*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.266666666666667*G4_1_0 - 0.266666666666667*G4_1_1 - 0.133333333333333*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.266666666666667*G7_1_0 - 0.266666666666667*G7_1_1 - 0.133333333333333*G7_1_2 - 0.133333333333333*G7_2_0 - 0.133333333333333*G7_2_1;
+ A[494] = -0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_2 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1 - 0.266666666666667*G7_2_2;
A[495] = -0.133333333333334*G1_1_1 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_1_1 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_1_1 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.133333333333334*G7_2_2;
A[496] = 0.0;
A[497] = 0.0;
@@ -27222,7 +28317,7 @@ public:
A[505] = 0.0;
A[506] = 0.0333333333333334*G11_1 + 0.0333333333333334*G11_2;
A[507] = 0.0333333333333334*G11_1 + 0.0333333333333334*G11_2;
- A[508] = 0.0333333333333334*G11_1 + 0.0666666666666667*G11_2;
+ A[508] = 0.0333333333333334*G11_1 + 0.0666666666666668*G11_2;
A[509] = 0.0666666666666667*G11_1 + 0.0333333333333333*G11_2;
A[510] = 0.0;
A[511] = 0.0;
@@ -27234,16 +28329,16 @@ public:
A[517] = 0.0;
A[518] = 0.0;
A[519] = 0.0;
- A[520] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333336*G1_2_1 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333336*G4_2_1 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_2_0 + 0.0333333333333336*G7_2_1 + 0.0 [...]
- A[521] = -0.0333333333333336*G1_0_0 + 0.1*G1_2_0 - 0.0333333333333336*G4_0_0 + 0.1*G4_2_0 - 0.0333333333333336*G7_0_0 + 0.1*G7_2_0;
- A[522] = -0.0333333333333337*G1_0_1 - 0.0333333333333338*G1_2_1 - 0.0333333333333337*G4_0_1 - 0.0333333333333338*G4_2_1 - 0.0333333333333337*G7_0_1 - 0.0333333333333338*G7_2_1;
+ A[520] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333334*G1_0_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333336*G1_2_1 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333334*G4_0_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333336*G4_2_1 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333334*G7_0_2 + 0.0333333333333335*G7_2_0 + 0.0333333333333336*G7_2_1 + 0.0 [...]
+ A[521] = -0.0333333333333335*G1_0_0 + 0.1*G1_2_0 - 0.0333333333333335*G4_0_0 + 0.1*G4_2_0 - 0.0333333333333335*G7_0_0 + 0.1*G7_2_0;
+ A[522] = -0.0333333333333338*G1_0_1 - 0.0333333333333338*G1_2_1 - 0.0333333333333338*G4_0_1 - 0.0333333333333338*G4_2_1 - 0.0333333333333338*G7_0_1 - 0.0333333333333338*G7_2_1;
A[523] = 0.1*G1_0_2 - 0.033333333333334*G1_2_2 + 0.1*G4_0_2 - 0.033333333333334*G4_2_2 + 0.1*G7_0_2 - 0.033333333333334*G7_2_2;
A[524] = 0.266666666666667*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333335*G1_2_1 + 0.133333333333335*G1_2_2 + 0.266666666666667*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333335*G4_2_1 + 0.133333333333335*G4_2_2 + 0.266666666666667*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333335*G7_2_1 + 0.133333333333335*G7_2_2;
- A[525] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_2_0 + 0.266666666666669*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_2_0 + 0.266666666666669*G4_2_2 + 0.266666666666667*G7_0_0 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_2_0 + 0.266666666666669*G7_2_2;
- A[526] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333334*G1_2_0 + 0.266666666666669*G1_2_1 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_2_0 + 0.266666666666669*G4_2_1 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_2_0 + 0.266666666666669*G7_2_1;
- A[527] = -0.266666666666667*G1_0_0 - 0.266666666666667*G1_0_1 - 0.133333333333334*G1_0_2 - 0.133333333333334*G1_2_0 - 0.133333333333335*G1_2_1 - 0.266666666666667*G4_0_0 - 0.266666666666667*G4_0_1 - 0.133333333333334*G4_0_2 - 0.133333333333334*G4_2_0 - 0.133333333333335*G4_2_1 - 0.266666666666667*G7_0_0 - 0.266666666666667*G7_0_1 - 0.133333333333334*G7_0_2 - 0.133333333333334*G7_2_0 - 0.133333333333335*G7_2_1;
- A[528] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_2 - 0.133333333333334*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_2 - 0.133333333333334*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333333*G7_0_0 - 0.133333333333333*G7_0_2 - 0.133333333333334*G7_2_0 - 0.133333333333334*G7_2_2;
- A[529] = -0.133333333333333*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1 - 0.266666666666668*G7_2_2;
+ A[525] = 0.266666666666667*G1_0_0 + 0.133333333333335*G1_0_2 + 0.133333333333335*G1_2_0 + 0.266666666666669*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333335*G4_0_2 + 0.133333333333335*G4_2_0 + 0.266666666666669*G4_2_2 + 0.266666666666667*G7_0_0 + 0.133333333333335*G7_0_2 + 0.133333333333335*G7_2_0 + 0.266666666666669*G7_2_2;
+ A[526] = 0.133333333333334*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333335*G1_2_0 + 0.266666666666669*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333335*G4_2_0 + 0.266666666666669*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333335*G7_2_0 + 0.266666666666669*G7_2_1;
+ A[527] = -0.266666666666667*G1_0_0 - 0.266666666666667*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333335*G1_2_0 - 0.133333333333335*G1_2_1 - 0.266666666666667*G4_0_0 - 0.266666666666667*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333335*G4_2_0 - 0.133333333333335*G4_2_1 - 0.266666666666667*G7_0_0 - 0.266666666666667*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333335*G7_2_0 - 0.133333333333335*G7_2_1;
+ A[528] = -0.133333333333334*G1_0_0 - 0.133333333333333*G1_0_2 - 0.133333333333335*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_0_0 - 0.133333333333333*G4_0_2 - 0.133333333333335*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_0_0 - 0.133333333333333*G7_0_2 - 0.133333333333335*G7_2_0 - 0.133333333333334*G7_2_2;
+ A[529] = -0.133333333333334*G1_0_1 - 0.133333333333334*G1_0_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.266666666666668*G1_2_2 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_0_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.266666666666668*G4_2_2 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_0_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1 - 0.266666666666668*G7_2_2;
A[530] = 0.0;
A[531] = 0.0;
A[532] = 0.0;
@@ -27256,7 +28351,7 @@ public:
A[539] = 0.0;
A[540] = 0.0333333333333334*G11_0 + 0.0333333333333336*G11_2;
A[541] = 0.0333333333333333*G11_0 + 0.0666666666666669*G11_2;
- A[542] = 0.0333333333333333*G11_0 + 0.0333333333333336*G11_2;
+ A[542] = 0.0333333333333334*G11_0 + 0.0333333333333336*G11_2;
A[543] = 0.0666666666666667*G11_0 + 0.0333333333333336*G11_2;
A[544] = 0.0;
A[545] = 0.0;
@@ -27268,15 +28363,15 @@ public:
A[551] = 0.0;
A[552] = 0.0;
A[553] = 0.0;
- A[554] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333334*G1_1_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333334*G4_1_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0 [...]
+ A[554] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333334*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333334*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333334*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0 [...]
A[555] = -0.0333333333333336*G1_0_0 + 0.1*G1_1_0 - 0.0333333333333336*G4_0_0 + 0.1*G4_1_0 - 0.0333333333333336*G7_0_0 + 0.1*G7_1_0;
A[556] = 0.1*G1_0_1 - 0.0333333333333336*G1_1_1 + 0.1*G4_0_1 - 0.0333333333333336*G4_1_1 + 0.1*G7_0_1 - 0.0333333333333336*G7_1_1;
A[557] = -0.0333333333333341*G1_0_2 - 0.0333333333333342*G1_1_2 - 0.0333333333333341*G4_0_2 - 0.0333333333333342*G4_1_2 - 0.0333333333333341*G7_0_2 - 0.0333333333333342*G7_1_2;
A[558] = 0.133333333333334*G1_0_1 + 0.266666666666667*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333335*G1_1_2 + 0.133333333333334*G4_0_1 + 0.266666666666667*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333335*G4_1_2 + 0.133333333333334*G7_0_1 + 0.266666666666667*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333335*G7_1_2;
- A[559] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_2 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_2 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_2;
- A[560] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_1 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_1 + 0.266666666666667*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_1;
- A[561] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333333*G7_0_0 - 0.133333333333333*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
- A[562] = -0.266666666666667*G1_0_0 - 0.133333333333333*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G4_0_0 - 0.133333333333333*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G7_0_0 - 0.133333333333333*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_2;
+ A[559] = 0.133333333333334*G1_0_0 + 0.133333333333335*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_2 + 0.133333333333334*G4_0_0 + 0.133333333333335*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_2 + 0.133333333333334*G7_0_0 + 0.133333333333335*G7_0_2 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_2;
+ A[560] = 0.266666666666667*G1_0_0 + 0.133333333333335*G1_0_1 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_1 + 0.266666666666667*G4_0_0 + 0.133333333333335*G4_0_1 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_1 + 0.266666666666667*G7_0_0 + 0.133333333333335*G7_0_1 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_1;
+ A[561] = -0.133333333333334*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333334*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333334*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
+ A[562] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333335*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333335*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333335*G7_1_0 - 0.133333333333334*G7_1_2;
A[563] = -0.133333333333334*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333333*G1_1_0 - 0.266666666666668*G1_1_1 - 0.266666666666668*G1_1_2 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_1_0 - 0.266666666666668*G4_1_1 - 0.266666666666668*G4_1_2 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_1_0 - 0.266666666666668*G7_1_1 - 0.266666666666668*G7_1_2;
A[564] = 0.0;
A[565] = 0.0;
@@ -27291,7 +28386,7 @@ public:
A[574] = 0.0333333333333334*G11_0 + 0.0333333333333336*G11_1;
A[575] = 0.0333333333333333*G11_0 + 0.0666666666666669*G11_1;
A[576] = 0.0666666666666667*G11_0 + 0.0333333333333336*G11_1;
- A[577] = 0.0333333333333333*G11_0 + 0.0333333333333335*G11_1;
+ A[577] = 0.0333333333333334*G11_0 + 0.0333333333333335*G11_1;
A[578] = 0.0;
A[579] = 0.0;
A[580] = 0.0;
@@ -27302,16 +28397,16 @@ public:
A[585] = 0.0;
A[586] = 0.0;
A[587] = 0.0;
- A[588] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.13333 [...]
- A[589] = 0.0333333333333336*G1_0_0 + 0.0333333333333336*G1_1_0 + 0.0333333333333336*G4_0_0 + 0.0333333333333336*G4_1_0 + 0.0333333333333336*G7_0_0 + 0.0333333333333336*G7_1_0;
- A[590] = 0.0333333333333337*G1_0_1 + 0.0333333333333337*G1_1_1 + 0.0333333333333337*G4_0_1 + 0.0333333333333337*G4_1_1 + 0.0333333333333337*G7_0_1 + 0.0333333333333337*G7_1_1;
- A[591] = -0.1*G1_0_2 - 0.1*G1_1_2 - 0.133333333333334*G1_2_2 - 0.1*G4_0_2 - 0.1*G4_1_2 - 0.133333333333334*G4_2_2 - 0.1*G7_0_2 - 0.1*G7_1_2 - 0.133333333333334*G7_2_2;
- A[592] = -0.266666666666667*G1_0_1 - 0.133333333333333*G1_0_2 - 0.266666666666667*G1_1_1 - 0.133333333333333*G1_1_2 - 0.133333333333334*G1_2_1 - 0.266666666666667*G4_0_1 - 0.133333333333333*G4_0_2 - 0.266666666666667*G4_1_1 - 0.133333333333333*G4_1_2 - 0.133333333333334*G4_2_1 - 0.266666666666667*G7_0_1 - 0.133333333333333*G7_0_2 - 0.266666666666667*G7_1_1 - 0.133333333333333*G7_1_2 - 0.133333333333334*G7_2_1;
- A[593] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_2 - 0.266666666666667*G1_1_0 - 0.133333333333335*G1_1_2 - 0.133333333333334*G1_2_0 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_2 - 0.266666666666667*G4_1_0 - 0.133333333333335*G4_1_2 - 0.133333333333334*G4_2_0 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_2 - 0.266666666666667*G7_1_0 - 0.133333333333335*G7_1_2 - 0.133333333333334*G7_2_0;
- A[594] = -0.133333333333333*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333333*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333333*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333333*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_1_0 - 0.133333333333334*G7_1_1;
- A[595] = 0.266666666666667*G1_0_0 + 0.266666666666667*G1_0_1 + 0.133333333333334*G1_0_2 + 0.266666666666667*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333334*G1_2_0 + 0.133333333333334*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.266666666666667*G4_0_1 + 0.133333333333334*G4_0_2 + 0.266666666666667*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333334*G4_2_0 + 0.133333333333334*G4_2_1 + 0.266666666666667*G4 [...]
- A[596] = 0.133333333333334*G1_0_0 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333333*G1_1_2 + 0.133333333333334*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333333*G4_1_2 + 0.133333333333334*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333333*G7_1_2 + 0.133333333333334*G7_2_1;
- A[597] = 0.133333333333333*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333334*G1_2_0 + 0.133333333333333*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333334*G4_2_0 + 0.133333333333333*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_1_2 + 0.133333333333334*G7_2_0;
+ A[588] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333334*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333334*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333334*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333334*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.13333 [...]
+ A[589] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_1_0;
+ A[590] = 0.0333333333333338*G1_0_1 + 0.0333333333333338*G1_1_1 + 0.0333333333333338*G4_0_1 + 0.0333333333333338*G4_1_1 + 0.0333333333333338*G7_0_1 + 0.0333333333333338*G7_1_1;
+ A[591] = -0.1*G1_0_2 - 0.1*G1_1_2 - 0.133333333333333*G1_2_2 - 0.1*G4_0_2 - 0.1*G4_1_2 - 0.133333333333333*G4_2_2 - 0.1*G7_0_2 - 0.1*G7_1_2 - 0.133333333333333*G7_2_2;
+ A[592] = -0.266666666666667*G1_0_1 - 0.133333333333333*G1_0_2 - 0.266666666666667*G1_1_1 - 0.133333333333333*G1_1_2 - 0.133333333333333*G1_2_1 - 0.266666666666667*G4_0_1 - 0.133333333333333*G4_0_2 - 0.266666666666667*G4_1_1 - 0.133333333333333*G4_1_2 - 0.133333333333333*G4_2_1 - 0.266666666666667*G7_0_1 - 0.133333333333333*G7_0_2 - 0.266666666666667*G7_1_1 - 0.133333333333333*G7_1_2 - 0.133333333333333*G7_2_1;
+ A[593] = -0.266666666666667*G1_0_0 - 0.133333333333335*G1_0_2 - 0.266666666666667*G1_1_0 - 0.133333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.266666666666667*G4_0_0 - 0.133333333333335*G4_0_2 - 0.266666666666667*G4_1_0 - 0.133333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.266666666666667*G7_0_0 - 0.133333333333335*G7_0_2 - 0.266666666666667*G7_1_0 - 0.133333333333335*G7_1_2 - 0.133333333333333*G7_2_0;
+ A[594] = -0.133333333333334*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333334*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333334*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
+ A[595] = 0.266666666666667*G1_0_0 + 0.266666666666667*G1_0_1 + 0.133333333333333*G1_0_2 + 0.266666666666667*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.266666666666667*G4_0_1 + 0.133333333333333*G4_0_2 + 0.266666666666667*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4 [...]
+ A[596] = 0.133333333333334*G1_0_0 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_2 + 0.133333333333333*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_2 + 0.133333333333333*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_2 + 0.133333333333333*G7_2_1;
+ A[597] = 0.133333333333334*G1_0_1 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_1_2 + 0.133333333333333*G7_2_0;
A[598] = 0.0;
A[599] = 0.0;
A[600] = 0.0;
@@ -27322,10 +28417,10 @@ public:
A[605] = 0.0;
A[606] = 0.0;
A[607] = 0.0;
- A[608] = -0.0333333333333334*G11_0 - 0.0333333333333334*G11_1 + 0.0333333333333333*G11_2;
+ A[608] = -0.0333333333333334*G11_0 - 0.0333333333333334*G11_1 + 0.0333333333333334*G11_2;
A[609] = -0.0333333333333333*G11_0 - 0.0333333333333334*G11_1;
- A[610] = -0.0333333333333333*G11_0 - 0.0333333333333334*G11_1;
- A[611] = -0.0666666666666667*G11_0 - 0.0666666666666667*G11_1 - 0.0333333333333334*G11_2;
+ A[610] = -0.0333333333333334*G11_0 - 0.0333333333333334*G11_1;
+ A[611] = -0.0666666666666667*G11_0 - 0.0666666666666667*G11_1 - 0.0333333333333333*G11_2;
A[612] = 0.0;
A[613] = 0.0;
A[614] = 0.0;
@@ -27336,16 +28431,16 @@ public:
A[619] = 0.0;
A[620] = 0.0;
A[621] = 0.0;
- A[622] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333334*G1_0_2 - 0.133333333333333*G1_1_0 - 0.133333333333333*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333334*G1_2_0 - 0.0333333333333334*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333334*G4_0_2 - 0.133333333333333*G4_1_0 - 0.133333333333333*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333334*G4_2_0 - 0.0333333333333334*G4_2_1 - 0.033333 [...]
- A[623] = 0.0333333333333336*G1_0_0 + 0.0333333333333336*G1_2_0 + 0.0333333333333336*G4_0_0 + 0.0333333333333336*G4_2_0 + 0.0333333333333336*G7_0_0 + 0.0333333333333336*G7_2_0;
+ A[622] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333334*G1_0_2 - 0.133333333333333*G1_1_0 - 0.133333333333333*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333334*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333334*G4_0_2 - 0.133333333333333*G4_1_0 - 0.133333333333333*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333334*G4_2_1 - 0.033333 [...]
+ A[623] = 0.0333333333333336*G1_0_0 + 0.0333333333333335*G1_2_0 + 0.0333333333333336*G4_0_0 + 0.0333333333333335*G4_2_0 + 0.0333333333333336*G7_0_0 + 0.0333333333333335*G7_2_0;
A[624] = -0.1*G1_0_1 - 0.133333333333333*G1_1_1 - 0.1*G1_2_1 - 0.1*G4_0_1 - 0.133333333333333*G4_1_1 - 0.1*G4_2_1 - 0.1*G7_0_1 - 0.133333333333333*G7_1_1 - 0.1*G7_2_1;
A[625] = 0.0333333333333341*G1_0_2 + 0.0333333333333341*G1_2_2 + 0.0333333333333341*G4_0_2 + 0.0333333333333341*G4_2_2 + 0.0333333333333341*G7_0_2 + 0.0333333333333341*G7_2_2;
- A[626] = -0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333333*G1_1_2 - 0.133333333333333*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333333*G4_1_2 - 0.133333333333333*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333333*G7_1_2 - 0.133333333333333*G7_2_1 - 0.266666666666667*G7_2_2;
- A[627] = -0.133333333333333*G1_0_0 - 0.133333333333334*G1_0_2 - 0.133333333333333*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333334*G4_0_2 - 0.133333333333333*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333333*G7_0_0 - 0.133333333333334*G7_0_2 - 0.133333333333333*G7_2_0 - 0.133333333333334*G7_2_2;
- A[628] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333333*G1_1_0 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_1_0 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_1_0 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1;
- A[629] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333334*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_1;
+ A[626] = -0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.266666666666667*G7_2_2;
+ A[627] = -0.133333333333334*G1_0_0 - 0.133333333333335*G1_0_2 - 0.133333333333333*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_0_0 - 0.133333333333335*G4_0_2 - 0.133333333333333*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_0_0 - 0.133333333333335*G7_0_2 - 0.133333333333333*G7_2_0 - 0.133333333333334*G7_2_2;
+ A[628] = -0.266666666666667*G1_0_0 - 0.133333333333335*G1_0_1 - 0.133333333333334*G1_1_0 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G4_0_0 - 0.133333333333335*G4_0_1 - 0.133333333333334*G4_1_0 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G7_0_0 - 0.133333333333335*G7_0_1 - 0.133333333333334*G7_1_0 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1;
+ A[629] = 0.133333333333334*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333334*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333334*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333334*G7_2_1;
A[630] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_1 + 0.266666666666667*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.266666666666667*G1_2_0 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_1 + 0.266666666666667*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.266666666666667*G4_2_0 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4 [...]
- A[631] = 0.133333333333334*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333333*G1_2_1 + 0.133333333333333*G1_2_2 + 0.133333333333334*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333333*G4_2_1 + 0.133333333333333*G4_2_2 + 0.133333333333334*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333333*G7_2_1 + 0.133333333333333*G7_2_2;
+ A[631] = 0.133333333333334*G1_0_1 + 0.133333333333334*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333333*G1_2_1 + 0.133333333333333*G1_2_2 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333333*G4_2_1 + 0.133333333333333*G4_2_2 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333333*G7_2_1 + 0.133333333333333*G7_2_2;
A[632] = 0.0;
A[633] = 0.0;
A[634] = 0.0;
@@ -27357,7 +28452,7 @@ public:
A[640] = 0.0;
A[641] = 0.0;
A[642] = -0.0333333333333334*G11_0 + 0.0333333333333333*G11_1 - 0.0333333333333334*G11_2;
- A[643] = -0.0333333333333333*G11_0 - 0.0333333333333333*G11_2;
+ A[643] = -0.0333333333333334*G11_0 - 0.0333333333333333*G11_2;
A[644] = -0.0666666666666667*G11_0 - 0.0333333333333334*G11_1 - 0.0666666666666667*G11_2;
A[645] = -0.0333333333333334*G11_0 - 0.0333333333333333*G11_2;
A[646] = 0.0;
@@ -27373,11 +28468,11 @@ public:
A[656] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333334*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333334*G1_1_2 - 0.0333333333333334*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333334*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333334*G4_1_2 - 0.0333333333333334*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
A[657] = -0.133333333333333*G1_0_0 - 0.1*G1_1_0 - 0.1*G1_2_0 - 0.133333333333333*G4_0_0 - 0.1*G4_1_0 - 0.1*G4_2_0 - 0.133333333333333*G7_0_0 - 0.1*G7_1_0 - 0.1*G7_2_0;
A[658] = 0.0333333333333337*G1_1_1 + 0.0333333333333338*G1_2_1 + 0.0333333333333337*G4_1_1 + 0.0333333333333338*G4_2_1 + 0.0333333333333337*G7_1_1 + 0.0333333333333338*G7_2_1;
- A[659] = 0.0333333333333341*G1_1_2 + 0.033333333333334*G1_2_2 + 0.0333333333333341*G4_1_2 + 0.033333333333334*G4_2_2 + 0.0333333333333341*G7_1_2 + 0.033333333333334*G7_2_2;
+ A[659] = 0.033333333333334*G1_1_2 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_1_2 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_1_2 + 0.033333333333334*G7_2_2;
A[660] = -0.133333333333334*G1_1_1 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_1_1 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_1_1 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.133333333333334*G7_2_2;
- A[661] = -0.133333333333333*G1_0_2 - 0.133333333333333*G1_1_0 - 0.266666666666668*G1_1_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_1_0 - 0.266666666666668*G4_1_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_1_0 - 0.266666666666668*G7_1_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_2;
+ A[661] = -0.133333333333333*G1_0_2 - 0.133333333333334*G1_1_0 - 0.266666666666668*G1_1_2 - 0.133333333333334*G1_2_0 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_2 - 0.133333333333334*G4_1_0 - 0.266666666666668*G4_1_2 - 0.133333333333334*G4_2_0 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_2 - 0.133333333333334*G7_1_0 - 0.266666666666668*G7_1_2 - 0.133333333333334*G7_2_0 - 0.266666666666668*G7_2_2;
A[662] = -0.133333333333333*G1_0_1 - 0.133333333333334*G1_1_0 - 0.266666666666668*G1_1_1 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.133333333333333*G4_0_1 - 0.133333333333334*G4_1_0 - 0.266666666666668*G4_1_1 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.133333333333333*G7_0_1 - 0.133333333333334*G7_1_0 - 0.266666666666668*G7_1_1 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1;
- A[663] = 0.133333333333334*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333334*G1_1_1 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.133333333333334*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333334*G4_1_1 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.133333333333334*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333334*G7_1_1 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_1;
+ A[663] = 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_2_0 + 0.133333333333334*G1_2_1 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_2_0 + 0.133333333333334*G4_2_1 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_2_0 + 0.133333333333334*G7_2_1;
A[664] = 0.133333333333333*G1_0_1 + 0.133333333333334*G1_1_0 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_2 + 0.133333333333333*G4_0_1 + 0.133333333333334*G4_1_0 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_2 + 0.133333333333333*G7_0_1 + 0.133333333333334*G7_1_0 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_2;
A[665] = 0.266666666666667*G1_0_0 + 0.133333333333333*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333333*G1_1_0 + 0.266666666666667*G1_1_1 + 0.266666666666667*G1_1_2 + 0.133333333333333*G1_2_0 + 0.266666666666667*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333333*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333333*G4_1_0 + 0.266666666666667*G4_1_1 + 0.266666666666667*G4_1_2 + 0.133333333333333*G4_2_0 + 0.266666666666667*G4_2_1 + 0.266666666666667*G4 [...]
A[666] = 0.0;
@@ -27393,7 +28488,7 @@ public:
A[676] = 0.0333333333333333*G11_0 - 0.0333333333333334*G11_1 - 0.0333333333333334*G11_2;
A[677] = -0.0333333333333333*G11_0 - 0.0666666666666667*G11_1 - 0.0666666666666667*G11_2;
A[678] = -0.0333333333333334*G11_1 - 0.0333333333333333*G11_2;
- A[679] = -0.0333333333333334*G11_1 - 0.0333333333333333*G11_2;
+ A[679] = -0.0333333333333333*G11_1 - 0.0333333333333333*G11_2;
A[680] = 0.0;
A[681] = 0.0;
A[682] = 0.0;
@@ -27418,16 +28513,16 @@ public:
A[701] = 0.0333333333333333*G2_0_0 + 0.0333333333333333*G2_1_0 + 0.0333333333333333*G2_2_0 + 0.0333333333333333*G5_0_0 + 0.0333333333333333*G5_1_0 + 0.0333333333333333*G5_2_0 + 0.0333333333333333*G8_0_0 + 0.0333333333333333*G8_1_0 + 0.0333333333333333*G8_2_0;
A[702] = 0.0333333333333334*G2_0_1 + 0.0333333333333333*G2_1_1 + 0.0333333333333333*G2_2_1 + 0.0333333333333334*G5_0_1 + 0.0333333333333333*G5_1_1 + 0.0333333333333333*G5_2_1 + 0.0333333333333334*G8_0_1 + 0.0333333333333333*G8_1_1 + 0.0333333333333333*G8_2_1;
A[703] = 0.0333333333333334*G2_0_2 + 0.0333333333333334*G2_1_2 + 0.0333333333333334*G2_2_2 + 0.0333333333333334*G5_0_2 + 0.0333333333333334*G5_1_2 + 0.0333333333333334*G5_2_2 + 0.0333333333333334*G8_0_2 + 0.0333333333333334*G8_1_2 + 0.0333333333333334*G8_2_2;
- A[704] = 0.0333333333333335*G2_0_1 + 0.0333333333333334*G2_0_2 + 0.0333333333333335*G2_1_1 + 0.0333333333333334*G2_1_2 + 0.0333333333333335*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333335*G5_0_1 + 0.0333333333333334*G5_0_2 + 0.0333333333333335*G5_1_1 + 0.0333333333333334*G5_1_2 + 0.0333333333333335*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333335*G8_0_1 + 0.0333333333333334*G8_0_2 + 0.0333333333333335*G8_1_1 + 0.0333333333333334*G8_1_2 + 0.0333333333333335*G8_2_1 + 0.0 [...]
- A[705] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333336*G2_1_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333336*G5_1_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333336*G8_1_2 + 0.0333333333333335*G8_2_0 + 0.0 [...]
- A[706] = 0.0333333333333335*G2_0_0 + 0.0333333333333334*G2_0_1 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333335*G2_2_0 + 0.0333333333333334*G2_2_1 + 0.0333333333333335*G5_0_0 + 0.0333333333333334*G5_0_1 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333335*G5_2_0 + 0.0333333333333334*G5_2_1 + 0.0333333333333335*G8_0_0 + 0.0333333333333334*G8_0_1 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0333333333333335*G8_2_0 + 0.0 [...]
+ A[704] = 0.0333333333333335*G2_0_1 + 0.0333333333333334*G2_0_2 + 0.0333333333333335*G2_1_1 + 0.0333333333333334*G2_1_2 + 0.0333333333333334*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333335*G5_0_1 + 0.0333333333333334*G5_0_2 + 0.0333333333333335*G5_1_1 + 0.0333333333333334*G5_1_2 + 0.0333333333333334*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333335*G8_0_1 + 0.0333333333333334*G8_0_2 + 0.0333333333333335*G8_1_1 + 0.0333333333333334*G8_1_2 + 0.0333333333333334*G8_2_1 + 0.0 [...]
+ A[705] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333336*G2_1_2 + 0.0333333333333334*G2_2_0 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333336*G5_1_2 + 0.0333333333333334*G5_2_0 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333336*G8_1_2 + 0.0333333333333334*G8_2_0 + 0.0 [...]
+ A[706] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333334*G2_2_0 + 0.0333333333333335*G2_2_1 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333334*G5_2_0 + 0.0333333333333335*G5_2_1 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0333333333333334*G8_2_0 + 0.0 [...]
A[707] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333334*G2_2_0 - 0.0333333333333334*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333334*G5_2_0 - 0.0333333333333334*G5_2_1 - 0.13333 [...]
A[708] = -0.0333333333333335*G2_0_0 - 0.133333333333333*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.133333333333333*G2_1_1 - 0.0333333333333334*G2_1_2 - 0.0333333333333334*G2_2_0 - 0.133333333333333*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.133333333333333*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.133333333333333*G5_1_1 - 0.0333333333333334*G5_1_2 - 0.0333333333333334*G5_2_0 - 0.133333333333333*G5_2_1 - 0.033333 [...]
A[709] = -0.133333333333333*G2_0_0 - 0.0333333333333334*G2_0_1 - 0.0333333333333334*G2_0_2 - 0.133333333333333*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.0333333333333334*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.0333333333333334*G5_0_1 - 0.0333333333333334*G5_0_2 - 0.133333333333333*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.0333333333333334*G5_2_1 - 0.033333 [...]
A[710] = -0.025*G9_0 - 0.025*G9_1 - 0.025*G9_2;
A[711] = 0.00833333333333336*G9_0 + 0.00833333333333338*G9_1 + 0.00833333333333336*G9_2;
- A[712] = 0.00833333333333337*G9_0 + 0.00833333333333337*G9_1 + 0.00833333333333335*G9_2;
- A[713] = 0.00833333333333337*G9_0 + 0.00833333333333338*G9_1 + 0.00833333333333336*G9_2;
+ A[712] = 0.00833333333333337*G9_0 + 0.00833333333333336*G9_1 + 0.00833333333333335*G9_2;
+ A[713] = 0.00833333333333337*G9_0 + 0.00833333333333337*G9_1 + 0.00833333333333335*G9_2;
A[714] = 0.0;
A[715] = 0.0;
A[716] = 0.0;
@@ -27450,18 +28545,18 @@ public:
A[733] = 0.0;
A[734] = 0.0333333333333333*G2_0_0 + 0.0333333333333333*G2_0_1 + 0.0333333333333333*G2_0_2 + 0.0333333333333333*G5_0_0 + 0.0333333333333333*G5_0_1 + 0.0333333333333333*G5_0_2 + 0.0333333333333333*G8_0_0 + 0.0333333333333333*G8_0_1 + 0.0333333333333333*G8_0_2;
A[735] = 0.1*G2_0_0 + 0.1*G5_0_0 + 0.1*G8_0_0;
- A[736] = -0.0333333333333334*G2_0_1 - 0.0333333333333334*G5_0_1 - 0.0333333333333334*G8_0_1;
+ A[736] = -0.0333333333333333*G2_0_1 - 0.0333333333333333*G5_0_1 - 0.0333333333333333*G8_0_1;
A[737] = -0.0333333333333334*G2_0_2 - 0.0333333333333334*G5_0_2 - 0.0333333333333334*G8_0_2;
- A[738] = -0.0333333333333336*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333336*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333336*G8_0_1 - 0.0333333333333335*G8_0_2;
+ A[738] = -0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333335*G8_0_1 - 0.0333333333333335*G8_0_2;
A[739] = -0.0333333333333336*G2_0_0 + 0.1*G2_0_2 - 0.0333333333333336*G5_0_0 + 0.1*G5_0_2 - 0.0333333333333336*G8_0_0 + 0.1*G8_0_2;
- A[740] = -0.0333333333333336*G2_0_0 + 0.1*G2_0_1 - 0.0333333333333336*G5_0_0 + 0.1*G5_0_1 - 0.0333333333333336*G8_0_0 + 0.1*G8_0_1;
- A[741] = 0.0333333333333336*G2_0_0 + 0.0333333333333336*G2_0_1 + 0.0333333333333336*G5_0_0 + 0.0333333333333336*G5_0_1 + 0.0333333333333336*G8_0_0 + 0.0333333333333336*G8_0_1;
+ A[740] = -0.0333333333333335*G2_0_0 + 0.1*G2_0_1 - 0.0333333333333335*G5_0_0 + 0.1*G5_0_1 - 0.0333333333333335*G8_0_0 + 0.1*G8_0_1;
+ A[741] = 0.0333333333333336*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333336*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333336*G8_0_0 + 0.0333333333333335*G8_0_1;
A[742] = 0.0333333333333336*G2_0_0 + 0.0333333333333335*G2_0_2 + 0.0333333333333336*G5_0_0 + 0.0333333333333335*G5_0_2 + 0.0333333333333336*G8_0_0 + 0.0333333333333335*G8_0_2;
A[743] = -0.133333333333333*G2_0_0 - 0.1*G2_0_1 - 0.1*G2_0_2 - 0.133333333333333*G5_0_0 - 0.1*G5_0_1 - 0.1*G5_0_2 - 0.133333333333333*G8_0_0 - 0.1*G8_0_1 - 0.1*G8_0_2;
- A[744] = -0.00833333333333338*G9_0;
- A[745] = 0.025*G9_0;
- A[746] = -0.00833333333333339*G9_0;
- A[747] = -0.00833333333333339*G9_0;
+ A[744] = -0.00833333333333337*G9_0;
+ A[745] = 0.0249999999999999*G9_0;
+ A[746] = -0.00833333333333338*G9_0;
+ A[747] = -0.00833333333333338*G9_0;
A[748] = 0.0;
A[749] = 0.0;
A[750] = 0.0;
@@ -27483,17 +28578,17 @@ public:
A[766] = 0.0;
A[767] = 0.0;
A[768] = 0.0333333333333334*G2_1_0 + 0.0333333333333333*G2_1_1 + 0.0333333333333333*G2_1_2 + 0.0333333333333334*G5_1_0 + 0.0333333333333333*G5_1_1 + 0.0333333333333333*G5_1_2 + 0.0333333333333334*G8_1_0 + 0.0333333333333333*G8_1_1 + 0.0333333333333333*G8_1_2;
- A[769] = -0.0333333333333334*G2_1_0 - 0.0333333333333334*G5_1_0 - 0.0333333333333334*G8_1_0;
+ A[769] = -0.0333333333333333*G2_1_0 - 0.0333333333333333*G5_1_0 - 0.0333333333333333*G8_1_0;
A[770] = 0.1*G2_1_1 + 0.1*G5_1_1 + 0.1*G8_1_1;
A[771] = -0.0333333333333333*G2_1_2 - 0.0333333333333333*G5_1_2 - 0.0333333333333333*G8_1_2;
A[772] = -0.0333333333333337*G2_1_1 + 0.1*G2_1_2 - 0.0333333333333337*G5_1_1 + 0.1*G5_1_2 - 0.0333333333333337*G8_1_1 + 0.1*G8_1_2;
- A[773] = -0.0333333333333337*G2_1_0 - 0.0333333333333338*G2_1_2 - 0.0333333333333337*G5_1_0 - 0.0333333333333338*G5_1_2 - 0.0333333333333337*G8_1_0 - 0.0333333333333338*G8_1_2;
+ A[773] = -0.0333333333333338*G2_1_0 - 0.0333333333333338*G2_1_2 - 0.0333333333333338*G5_1_0 - 0.0333333333333338*G5_1_2 - 0.0333333333333338*G8_1_0 - 0.0333333333333338*G8_1_2;
A[774] = 0.1*G2_1_0 - 0.0333333333333336*G2_1_1 + 0.1*G5_1_0 - 0.0333333333333336*G5_1_1 + 0.1*G8_1_0 - 0.0333333333333336*G8_1_1;
- A[775] = 0.0333333333333337*G2_1_0 + 0.0333333333333337*G2_1_1 + 0.0333333333333337*G5_1_0 + 0.0333333333333337*G5_1_1 + 0.0333333333333337*G8_1_0 + 0.0333333333333337*G8_1_1;
+ A[775] = 0.0333333333333338*G2_1_0 + 0.0333333333333338*G2_1_1 + 0.0333333333333338*G5_1_0 + 0.0333333333333338*G5_1_1 + 0.0333333333333338*G8_1_0 + 0.0333333333333338*G8_1_1;
A[776] = -0.1*G2_1_0 - 0.133333333333333*G2_1_1 - 0.1*G2_1_2 - 0.1*G5_1_0 - 0.133333333333333*G5_1_1 - 0.1*G5_1_2 - 0.1*G8_1_0 - 0.133333333333333*G8_1_1 - 0.1*G8_1_2;
A[777] = 0.0333333333333337*G2_1_1 + 0.0333333333333338*G2_1_2 + 0.0333333333333337*G5_1_1 + 0.0333333333333338*G5_1_2 + 0.0333333333333337*G8_1_1 + 0.0333333333333338*G8_1_2;
- A[778] = -0.00833333333333343*G9_1;
- A[779] = -0.00833333333333343*G9_1;
+ A[778] = -0.00833333333333344*G9_1;
+ A[779] = -0.00833333333333344*G9_1;
A[780] = 0.0249999999999999*G9_1;
A[781] = -0.00833333333333343*G9_1;
A[782] = 0.0;
@@ -27523,11 +28618,11 @@ public:
A[806] = 0.1*G2_2_1 - 0.0333333333333343*G2_2_2 + 0.1*G5_2_1 - 0.0333333333333343*G5_2_2 + 0.1*G8_2_1 - 0.0333333333333343*G8_2_2;
A[807] = 0.1*G2_2_0 - 0.033333333333334*G2_2_2 + 0.1*G5_2_0 - 0.033333333333334*G5_2_2 + 0.1*G8_2_0 - 0.033333333333334*G8_2_2;
A[808] = -0.0333333333333341*G2_2_0 - 0.0333333333333342*G2_2_1 - 0.0333333333333341*G5_2_0 - 0.0333333333333342*G5_2_1 - 0.0333333333333341*G8_2_0 - 0.0333333333333342*G8_2_1;
- A[809] = -0.1*G2_2_0 - 0.1*G2_2_1 - 0.133333333333334*G2_2_2 - 0.1*G5_2_0 - 0.1*G5_2_1 - 0.133333333333334*G5_2_2 - 0.1*G8_2_0 - 0.1*G8_2_1 - 0.133333333333334*G8_2_2;
+ A[809] = -0.1*G2_2_0 - 0.1*G2_2_1 - 0.133333333333333*G2_2_2 - 0.1*G5_2_0 - 0.1*G5_2_1 - 0.133333333333333*G5_2_2 - 0.1*G8_2_0 - 0.1*G8_2_1 - 0.133333333333333*G8_2_2;
A[810] = 0.0333333333333341*G2_2_0 + 0.0333333333333341*G2_2_2 + 0.0333333333333341*G5_2_0 + 0.0333333333333341*G5_2_2 + 0.0333333333333341*G8_2_0 + 0.0333333333333341*G8_2_2;
- A[811] = 0.0333333333333341*G2_2_1 + 0.033333333333334*G2_2_2 + 0.0333333333333341*G5_2_1 + 0.033333333333334*G5_2_2 + 0.0333333333333341*G8_2_1 + 0.033333333333334*G8_2_2;
+ A[811] = 0.033333333333334*G2_2_1 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_2_1 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_2_1 + 0.033333333333334*G8_2_2;
A[812] = -0.00833333333333351*G9_2;
- A[813] = -0.00833333333333351*G9_2;
+ A[813] = -0.0083333333333335*G9_2;
A[814] = -0.00833333333333351*G9_2;
A[815] = 0.0249999999999999*G9_2;
A[816] = 0.0;
@@ -27550,19 +28645,19 @@ public:
A[833] = 0.0;
A[834] = 0.0;
A[835] = 0.0;
- A[836] = 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333334*G2_2_0 + 0.0333333333333334*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333334*G5_2_0 + 0.0333333333333334*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0333333333333335*G8_1_2 + 0.0333333333333334*G8_2_0 + 0.0333333333333334*G8_2_1 + 0.0 [...]
- A[837] = -0.0333333333333336*G2_1_0 - 0.0333333333333335*G2_2_0 - 0.0333333333333336*G5_1_0 - 0.0333333333333335*G5_2_0 - 0.0333333333333336*G8_1_0 - 0.0333333333333335*G8_2_0;
+ A[836] = 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333334*G2_1_2 + 0.0333333333333334*G2_2_0 + 0.0333333333333334*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333334*G5_1_2 + 0.0333333333333334*G5_2_0 + 0.0333333333333334*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0333333333333334*G8_1_2 + 0.0333333333333334*G8_2_0 + 0.0333333333333334*G8_2_1 + 0.0 [...]
+ A[837] = -0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G8_1_0 - 0.0333333333333335*G8_2_0;
A[838] = -0.0333333333333337*G2_1_1 + 0.1*G2_2_1 - 0.0333333333333337*G5_1_1 + 0.1*G5_2_1 - 0.0333333333333337*G8_1_1 + 0.1*G8_2_1;
A[839] = 0.1*G2_1_2 - 0.0333333333333343*G2_2_2 + 0.1*G5_1_2 - 0.0333333333333343*G5_2_2 + 0.1*G8_1_2 - 0.0333333333333343*G8_2_2;
A[840] = 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5_2_2 + 0.266666666666667*G8_1_1 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_1 + 0.266666666666667*G8_2_2;
A[841] = 0.266666666666667*G2_1_0 + 0.133333333333335*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333335*G2_2_2 + 0.266666666666667*G5_1_0 + 0.133333333333335*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333335*G5_2_2 + 0.266666666666667*G8_1_0 + 0.133333333333335*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333335*G8_2_2;
A[842] = 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_1 + 0.266666666666667*G2_2_0 + 0.133333333333335*G2_2_1 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_1 + 0.266666666666667*G5_2_0 + 0.133333333333335*G5_2_1 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_1 + 0.266666666666667*G8_2_0 + 0.133333333333335*G8_2_1;
- A[843] = -0.266666666666667*G2_1_0 - 0.266666666666667*G2_1_1 - 0.133333333333334*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.266666666666667*G5_1_0 - 0.266666666666667*G5_1_1 - 0.133333333333334*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.266666666666667*G8_1_0 - 0.266666666666667*G8_1_1 - 0.133333333333334*G8_1_2 - 0.133333333333333*G8_2_0 - 0.133333333333333*G8_2_1;
- A[844] = -0.133333333333334*G2_1_0 - 0.133333333333333*G2_1_2 - 0.266666666666667*G2_2_0 - 0.133333333333333*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_1_0 - 0.133333333333333*G5_1_2 - 0.266666666666667*G5_2_0 - 0.133333333333333*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_1_0 - 0.133333333333333*G8_1_2 - 0.266666666666667*G8_2_0 - 0.133333333333333*G8_2_1 - 0.266666666666667*G8_2_2;
+ A[843] = -0.266666666666667*G2_1_0 - 0.266666666666667*G2_1_1 - 0.133333333333333*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.266666666666667*G5_1_0 - 0.266666666666667*G5_1_1 - 0.133333333333333*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.266666666666667*G8_1_0 - 0.266666666666667*G8_1_1 - 0.133333333333333*G8_1_2 - 0.133333333333333*G8_2_0 - 0.133333333333333*G8_2_1;
+ A[844] = -0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_2 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1 - 0.266666666666667*G8_2_2;
A[845] = -0.133333333333334*G2_1_1 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_1_1 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_1_1 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.133333333333334*G8_2_2;
A[846] = 0.0333333333333334*G9_1 + 0.0333333333333334*G9_2;
A[847] = 0.0333333333333334*G9_1 + 0.0333333333333334*G9_2;
- A[848] = 0.0333333333333334*G9_1 + 0.0666666666666667*G9_2;
+ A[848] = 0.0333333333333334*G9_1 + 0.0666666666666668*G9_2;
A[849] = 0.0666666666666667*G9_1 + 0.0333333333333333*G9_2;
A[850] = 0.0;
A[851] = 0.0;
@@ -27584,19 +28679,19 @@ public:
A[867] = 0.0;
A[868] = 0.0;
A[869] = 0.0;
- A[870] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333336*G2_2_1 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333336*G5_2_1 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_2_0 + 0.0333333333333336*G8_2_1 + 0.0 [...]
- A[871] = -0.0333333333333336*G2_0_0 + 0.1*G2_2_0 - 0.0333333333333336*G5_0_0 + 0.1*G5_2_0 - 0.0333333333333336*G8_0_0 + 0.1*G8_2_0;
- A[872] = -0.0333333333333337*G2_0_1 - 0.0333333333333338*G2_2_1 - 0.0333333333333337*G5_0_1 - 0.0333333333333338*G5_2_1 - 0.0333333333333337*G8_0_1 - 0.0333333333333338*G8_2_1;
+ A[870] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333334*G2_0_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333336*G2_2_1 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333334*G5_0_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333336*G5_2_1 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333334*G8_0_2 + 0.0333333333333335*G8_2_0 + 0.0333333333333336*G8_2_1 + 0.0 [...]
+ A[871] = -0.0333333333333335*G2_0_0 + 0.1*G2_2_0 - 0.0333333333333335*G5_0_0 + 0.1*G5_2_0 - 0.0333333333333335*G8_0_0 + 0.1*G8_2_0;
+ A[872] = -0.0333333333333338*G2_0_1 - 0.0333333333333338*G2_2_1 - 0.0333333333333338*G5_0_1 - 0.0333333333333338*G5_2_1 - 0.0333333333333338*G8_0_1 - 0.0333333333333338*G8_2_1;
A[873] = 0.1*G2_0_2 - 0.033333333333334*G2_2_2 + 0.1*G5_0_2 - 0.033333333333334*G5_2_2 + 0.1*G8_0_2 - 0.033333333333334*G8_2_2;
A[874] = 0.266666666666667*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333335*G2_2_1 + 0.133333333333335*G2_2_2 + 0.266666666666667*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333335*G5_2_1 + 0.133333333333335*G5_2_2 + 0.266666666666667*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333335*G8_2_1 + 0.133333333333335*G8_2_2;
- A[875] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_2_0 + 0.266666666666669*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_2_0 + 0.266666666666669*G5_2_2 + 0.266666666666667*G8_0_0 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_2_0 + 0.266666666666669*G8_2_2;
- A[876] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333334*G2_2_0 + 0.266666666666669*G2_2_1 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_2_0 + 0.266666666666669*G5_2_1 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_2_0 + 0.266666666666669*G8_2_1;
- A[877] = -0.266666666666667*G2_0_0 - 0.266666666666667*G2_0_1 - 0.133333333333334*G2_0_2 - 0.133333333333334*G2_2_0 - 0.133333333333335*G2_2_1 - 0.266666666666667*G5_0_0 - 0.266666666666667*G5_0_1 - 0.133333333333334*G5_0_2 - 0.133333333333334*G5_2_0 - 0.133333333333335*G5_2_1 - 0.266666666666667*G8_0_0 - 0.266666666666667*G8_0_1 - 0.133333333333334*G8_0_2 - 0.133333333333334*G8_2_0 - 0.133333333333335*G8_2_1;
- A[878] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_2 - 0.133333333333334*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_2 - 0.133333333333334*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333333*G8_0_0 - 0.133333333333333*G8_0_2 - 0.133333333333334*G8_2_0 - 0.133333333333334*G8_2_2;
- A[879] = -0.133333333333333*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1 - 0.266666666666668*G8_2_2;
+ A[875] = 0.266666666666667*G2_0_0 + 0.133333333333335*G2_0_2 + 0.133333333333335*G2_2_0 + 0.266666666666669*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333335*G5_0_2 + 0.133333333333335*G5_2_0 + 0.266666666666669*G5_2_2 + 0.266666666666667*G8_0_0 + 0.133333333333335*G8_0_2 + 0.133333333333335*G8_2_0 + 0.266666666666669*G8_2_2;
+ A[876] = 0.133333333333334*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333335*G2_2_0 + 0.266666666666669*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333335*G5_2_0 + 0.266666666666669*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333335*G8_2_0 + 0.266666666666669*G8_2_1;
+ A[877] = -0.266666666666667*G2_0_0 - 0.266666666666667*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333335*G2_2_0 - 0.133333333333335*G2_2_1 - 0.266666666666667*G5_0_0 - 0.266666666666667*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333335*G5_2_0 - 0.133333333333335*G5_2_1 - 0.266666666666667*G8_0_0 - 0.266666666666667*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333335*G8_2_0 - 0.133333333333335*G8_2_1;
+ A[878] = -0.133333333333334*G2_0_0 - 0.133333333333333*G2_0_2 - 0.133333333333335*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_0_0 - 0.133333333333333*G5_0_2 - 0.133333333333335*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_0_0 - 0.133333333333333*G8_0_2 - 0.133333333333335*G8_2_0 - 0.133333333333334*G8_2_2;
+ A[879] = -0.133333333333334*G2_0_1 - 0.133333333333334*G2_0_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.266666666666668*G2_2_2 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_0_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.266666666666668*G5_2_2 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_0_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1 - 0.266666666666668*G8_2_2;
A[880] = 0.0333333333333334*G9_0 + 0.0333333333333336*G9_2;
A[881] = 0.0333333333333333*G9_0 + 0.0666666666666669*G9_2;
- A[882] = 0.0333333333333333*G9_0 + 0.0333333333333336*G9_2;
+ A[882] = 0.0333333333333334*G9_0 + 0.0333333333333336*G9_2;
A[883] = 0.0666666666666667*G9_0 + 0.0333333333333336*G9_2;
A[884] = 0.0;
A[885] = 0.0;
@@ -27618,20 +28713,20 @@ public:
A[901] = 0.0;
A[902] = 0.0;
A[903] = 0.0;
- A[904] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333334*G2_1_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333334*G5_1_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0 [...]
+ A[904] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333334*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333334*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333334*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0 [...]
A[905] = -0.0333333333333336*G2_0_0 + 0.1*G2_1_0 - 0.0333333333333336*G5_0_0 + 0.1*G5_1_0 - 0.0333333333333336*G8_0_0 + 0.1*G8_1_0;
A[906] = 0.1*G2_0_1 - 0.0333333333333336*G2_1_1 + 0.1*G5_0_1 - 0.0333333333333336*G5_1_1 + 0.1*G8_0_1 - 0.0333333333333336*G8_1_1;
A[907] = -0.0333333333333341*G2_0_2 - 0.0333333333333342*G2_1_2 - 0.0333333333333341*G5_0_2 - 0.0333333333333342*G5_1_2 - 0.0333333333333341*G8_0_2 - 0.0333333333333342*G8_1_2;
A[908] = 0.133333333333334*G2_0_1 + 0.266666666666667*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333335*G2_1_2 + 0.133333333333334*G5_0_1 + 0.266666666666667*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333335*G5_1_2 + 0.133333333333334*G8_0_1 + 0.266666666666667*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333335*G8_1_2;
- A[909] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_2 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_2 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_2;
- A[910] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_1 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_1 + 0.266666666666667*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_1;
- A[911] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333333*G8_0_0 - 0.133333333333333*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
- A[912] = -0.266666666666667*G2_0_0 - 0.133333333333333*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G5_0_0 - 0.133333333333333*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G8_0_0 - 0.133333333333333*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_2;
+ A[909] = 0.133333333333334*G2_0_0 + 0.133333333333335*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_2 + 0.133333333333334*G5_0_0 + 0.133333333333335*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_2 + 0.133333333333334*G8_0_0 + 0.133333333333335*G8_0_2 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_2;
+ A[910] = 0.266666666666667*G2_0_0 + 0.133333333333335*G2_0_1 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_1 + 0.266666666666667*G5_0_0 + 0.133333333333335*G5_0_1 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_1 + 0.266666666666667*G8_0_0 + 0.133333333333335*G8_0_1 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_1;
+ A[911] = -0.133333333333334*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333334*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333334*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
+ A[912] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333335*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333335*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333335*G8_1_0 - 0.133333333333334*G8_1_2;
A[913] = -0.133333333333334*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333333*G2_1_0 - 0.266666666666668*G2_1_1 - 0.266666666666668*G2_1_2 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_1_0 - 0.266666666666668*G5_1_1 - 0.266666666666668*G5_1_2 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_1_0 - 0.266666666666668*G8_1_1 - 0.266666666666668*G8_1_2;
A[914] = 0.0333333333333334*G9_0 + 0.0333333333333336*G9_1;
A[915] = 0.0333333333333333*G9_0 + 0.0666666666666669*G9_1;
A[916] = 0.0666666666666667*G9_0 + 0.0333333333333336*G9_1;
- A[917] = 0.0333333333333333*G9_0 + 0.0333333333333335*G9_1;
+ A[917] = 0.0333333333333334*G9_0 + 0.0333333333333335*G9_1;
A[918] = 0.0;
A[919] = 0.0;
A[920] = 0.0;
@@ -27652,20 +28747,20 @@ public:
A[935] = 0.0;
A[936] = 0.0;
A[937] = 0.0;
- A[938] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.13333 [...]
- A[939] = 0.0333333333333336*G2_0_0 + 0.0333333333333336*G2_1_0 + 0.0333333333333336*G5_0_0 + 0.0333333333333336*G5_1_0 + 0.0333333333333336*G8_0_0 + 0.0333333333333336*G8_1_0;
- A[940] = 0.0333333333333337*G2_0_1 + 0.0333333333333337*G2_1_1 + 0.0333333333333337*G5_0_1 + 0.0333333333333337*G5_1_1 + 0.0333333333333337*G8_0_1 + 0.0333333333333337*G8_1_1;
- A[941] = -0.1*G2_0_2 - 0.1*G2_1_2 - 0.133333333333334*G2_2_2 - 0.1*G5_0_2 - 0.1*G5_1_2 - 0.133333333333334*G5_2_2 - 0.1*G8_0_2 - 0.1*G8_1_2 - 0.133333333333334*G8_2_2;
- A[942] = -0.266666666666667*G2_0_1 - 0.133333333333333*G2_0_2 - 0.266666666666667*G2_1_1 - 0.133333333333333*G2_1_2 - 0.133333333333334*G2_2_1 - 0.266666666666667*G5_0_1 - 0.133333333333333*G5_0_2 - 0.266666666666667*G5_1_1 - 0.133333333333333*G5_1_2 - 0.133333333333334*G5_2_1 - 0.266666666666667*G8_0_1 - 0.133333333333333*G8_0_2 - 0.266666666666667*G8_1_1 - 0.133333333333333*G8_1_2 - 0.133333333333334*G8_2_1;
- A[943] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_2 - 0.266666666666667*G2_1_0 - 0.133333333333335*G2_1_2 - 0.133333333333334*G2_2_0 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_2 - 0.266666666666667*G5_1_0 - 0.133333333333335*G5_1_2 - 0.133333333333334*G5_2_0 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_2 - 0.266666666666667*G8_1_0 - 0.133333333333335*G8_1_2 - 0.133333333333334*G8_2_0;
- A[944] = -0.133333333333333*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333333*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333333*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333333*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_1_0 - 0.133333333333334*G8_1_1;
- A[945] = 0.266666666666667*G2_0_0 + 0.266666666666667*G2_0_1 + 0.133333333333334*G2_0_2 + 0.266666666666667*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333334*G2_2_0 + 0.133333333333334*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.266666666666667*G5_0_1 + 0.133333333333334*G5_0_2 + 0.266666666666667*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333334*G5_2_0 + 0.133333333333334*G5_2_1 + 0.266666666666667*G5 [...]
- A[946] = 0.133333333333334*G2_0_0 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333333*G2_1_2 + 0.133333333333334*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333333*G5_1_2 + 0.133333333333334*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333333*G8_1_2 + 0.133333333333334*G8_2_1;
- A[947] = 0.133333333333333*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333334*G2_2_0 + 0.133333333333333*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333334*G5_2_0 + 0.133333333333333*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_1_2 + 0.133333333333334*G8_2_0;
- A[948] = -0.0333333333333334*G9_0 - 0.0333333333333334*G9_1 + 0.0333333333333333*G9_2;
+ A[938] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333334*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333334*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333334*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333334*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.13333 [...]
+ A[939] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_1_0;
+ A[940] = 0.0333333333333338*G2_0_1 + 0.0333333333333338*G2_1_1 + 0.0333333333333338*G5_0_1 + 0.0333333333333338*G5_1_1 + 0.0333333333333338*G8_0_1 + 0.0333333333333338*G8_1_1;
+ A[941] = -0.1*G2_0_2 - 0.1*G2_1_2 - 0.133333333333333*G2_2_2 - 0.1*G5_0_2 - 0.1*G5_1_2 - 0.133333333333333*G5_2_2 - 0.1*G8_0_2 - 0.1*G8_1_2 - 0.133333333333333*G8_2_2;
+ A[942] = -0.266666666666667*G2_0_1 - 0.133333333333333*G2_0_2 - 0.266666666666667*G2_1_1 - 0.133333333333333*G2_1_2 - 0.133333333333333*G2_2_1 - 0.266666666666667*G5_0_1 - 0.133333333333333*G5_0_2 - 0.266666666666667*G5_1_1 - 0.133333333333333*G5_1_2 - 0.133333333333333*G5_2_1 - 0.266666666666667*G8_0_1 - 0.133333333333333*G8_0_2 - 0.266666666666667*G8_1_1 - 0.133333333333333*G8_1_2 - 0.133333333333333*G8_2_1;
+ A[943] = -0.266666666666667*G2_0_0 - 0.133333333333335*G2_0_2 - 0.266666666666667*G2_1_0 - 0.133333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.266666666666667*G5_0_0 - 0.133333333333335*G5_0_2 - 0.266666666666667*G5_1_0 - 0.133333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.266666666666667*G8_0_0 - 0.133333333333335*G8_0_2 - 0.266666666666667*G8_1_0 - 0.133333333333335*G8_1_2 - 0.133333333333333*G8_2_0;
+ A[944] = -0.133333333333334*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333334*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333334*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
+ A[945] = 0.266666666666667*G2_0_0 + 0.266666666666667*G2_0_1 + 0.133333333333333*G2_0_2 + 0.266666666666667*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.266666666666667*G5_0_1 + 0.133333333333333*G5_0_2 + 0.266666666666667*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5 [...]
+ A[946] = 0.133333333333334*G2_0_0 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_2 + 0.133333333333333*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_2 + 0.133333333333333*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_2 + 0.133333333333333*G8_2_1;
+ A[947] = 0.133333333333334*G2_0_1 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_1_2 + 0.133333333333333*G8_2_0;
+ A[948] = -0.0333333333333334*G9_0 - 0.0333333333333334*G9_1 + 0.0333333333333334*G9_2;
A[949] = -0.0333333333333333*G9_0 - 0.0333333333333334*G9_1;
- A[950] = -0.0333333333333333*G9_0 - 0.0333333333333334*G9_1;
- A[951] = -0.0666666666666667*G9_0 - 0.0666666666666667*G9_1 - 0.0333333333333334*G9_2;
+ A[950] = -0.0333333333333334*G9_0 - 0.0333333333333334*G9_1;
+ A[951] = -0.0666666666666667*G9_0 - 0.0666666666666667*G9_1 - 0.0333333333333333*G9_2;
A[952] = 0.0;
A[953] = 0.0;
A[954] = 0.0;
@@ -27686,18 +28781,18 @@ public:
A[969] = 0.0;
A[970] = 0.0;
A[971] = 0.0;
- A[972] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333334*G2_0_2 - 0.133333333333333*G2_1_0 - 0.133333333333333*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333334*G2_2_0 - 0.0333333333333334*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333334*G5_0_2 - 0.133333333333333*G5_1_0 - 0.133333333333333*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333334*G5_2_0 - 0.0333333333333334*G5_2_1 - 0.033333 [...]
- A[973] = 0.0333333333333336*G2_0_0 + 0.0333333333333336*G2_2_0 + 0.0333333333333336*G5_0_0 + 0.0333333333333336*G5_2_0 + 0.0333333333333336*G8_0_0 + 0.0333333333333336*G8_2_0;
+ A[972] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333334*G2_0_2 - 0.133333333333333*G2_1_0 - 0.133333333333333*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333334*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333334*G5_0_2 - 0.133333333333333*G5_1_0 - 0.133333333333333*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333334*G5_2_1 - 0.033333 [...]
+ A[973] = 0.0333333333333336*G2_0_0 + 0.0333333333333335*G2_2_0 + 0.0333333333333336*G5_0_0 + 0.0333333333333335*G5_2_0 + 0.0333333333333336*G8_0_0 + 0.0333333333333335*G8_2_0;
A[974] = -0.1*G2_0_1 - 0.133333333333333*G2_1_1 - 0.1*G2_2_1 - 0.1*G5_0_1 - 0.133333333333333*G5_1_1 - 0.1*G5_2_1 - 0.1*G8_0_1 - 0.133333333333333*G8_1_1 - 0.1*G8_2_1;
A[975] = 0.0333333333333341*G2_0_2 + 0.0333333333333341*G2_2_2 + 0.0333333333333341*G5_0_2 + 0.0333333333333341*G5_2_2 + 0.0333333333333341*G8_0_2 + 0.0333333333333341*G8_2_2;
- A[976] = -0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333333*G2_1_2 - 0.133333333333333*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333333*G5_1_2 - 0.133333333333333*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333333*G8_1_2 - 0.133333333333333*G8_2_1 - 0.266666666666667*G8_2_2;
- A[977] = -0.133333333333333*G2_0_0 - 0.133333333333334*G2_0_2 - 0.133333333333333*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333334*G5_0_2 - 0.133333333333333*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333333*G8_0_0 - 0.133333333333334*G8_0_2 - 0.133333333333333*G8_2_0 - 0.133333333333334*G8_2_2;
- A[978] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333333*G2_1_0 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_1_0 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_1_0 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1;
- A[979] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333334*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_1;
+ A[976] = -0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.266666666666667*G8_2_2;
+ A[977] = -0.133333333333334*G2_0_0 - 0.133333333333335*G2_0_2 - 0.133333333333333*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_0_0 - 0.133333333333335*G5_0_2 - 0.133333333333333*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_0_0 - 0.133333333333335*G8_0_2 - 0.133333333333333*G8_2_0 - 0.133333333333334*G8_2_2;
+ A[978] = -0.266666666666667*G2_0_0 - 0.133333333333335*G2_0_1 - 0.133333333333334*G2_1_0 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G5_0_0 - 0.133333333333335*G5_0_1 - 0.133333333333334*G5_1_0 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G8_0_0 - 0.133333333333335*G8_0_1 - 0.133333333333334*G8_1_0 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1;
+ A[979] = 0.133333333333334*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333334*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333334*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333334*G8_2_1;
A[980] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_1 + 0.266666666666667*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.266666666666667*G2_2_0 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_1 + 0.266666666666667*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.266666666666667*G5_2_0 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5 [...]
- A[981] = 0.133333333333334*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333333*G2_2_1 + 0.133333333333333*G2_2_2 + 0.133333333333334*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333333*G5_2_1 + 0.133333333333333*G5_2_2 + 0.133333333333334*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333333*G8_2_1 + 0.133333333333333*G8_2_2;
+ A[981] = 0.133333333333334*G2_0_1 + 0.133333333333334*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333333*G2_2_1 + 0.133333333333333*G2_2_2 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333333*G5_2_1 + 0.133333333333333*G5_2_2 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333333*G8_2_1 + 0.133333333333333*G8_2_2;
A[982] = -0.0333333333333334*G9_0 + 0.0333333333333333*G9_1 - 0.0333333333333334*G9_2;
- A[983] = -0.0333333333333333*G9_0 - 0.0333333333333333*G9_2;
+ A[983] = -0.0333333333333334*G9_0 - 0.0333333333333333*G9_2;
A[984] = -0.0666666666666667*G9_0 - 0.0333333333333334*G9_1 - 0.0666666666666667*G9_2;
A[985] = -0.0333333333333334*G9_0 - 0.0333333333333333*G9_2;
A[986] = 0.0;
@@ -27723,45 +28818,45 @@ public:
A[1006] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333334*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333334*G2_1_2 - 0.0333333333333334*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333334*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333334*G5_1_2 - 0.0333333333333334*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.03333 [...]
A[1007] = -0.133333333333333*G2_0_0 - 0.1*G2_1_0 - 0.1*G2_2_0 - 0.133333333333333*G5_0_0 - 0.1*G5_1_0 - 0.1*G5_2_0 - 0.133333333333333*G8_0_0 - 0.1*G8_1_0 - 0.1*G8_2_0;
A[1008] = 0.0333333333333337*G2_1_1 + 0.0333333333333338*G2_2_1 + 0.0333333333333337*G5_1_1 + 0.0333333333333338*G5_2_1 + 0.0333333333333337*G8_1_1 + 0.0333333333333338*G8_2_1;
- A[1009] = 0.0333333333333341*G2_1_2 + 0.033333333333334*G2_2_2 + 0.0333333333333341*G5_1_2 + 0.033333333333334*G5_2_2 + 0.0333333333333341*G8_1_2 + 0.033333333333334*G8_2_2;
+ A[1009] = 0.033333333333334*G2_1_2 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_1_2 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_1_2 + 0.033333333333334*G8_2_2;
A[1010] = -0.133333333333334*G2_1_1 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_1_1 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_1_1 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.133333333333334*G8_2_2;
- A[1011] = -0.133333333333333*G2_0_2 - 0.133333333333333*G2_1_0 - 0.266666666666668*G2_1_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_1_0 - 0.266666666666668*G5_1_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_1_0 - 0.266666666666668*G8_1_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_2;
+ A[1011] = -0.133333333333333*G2_0_2 - 0.133333333333334*G2_1_0 - 0.266666666666668*G2_1_2 - 0.133333333333334*G2_2_0 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_2 - 0.133333333333334*G5_1_0 - 0.266666666666668*G5_1_2 - 0.133333333333334*G5_2_0 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_2 - 0.133333333333334*G8_1_0 - 0.266666666666668*G8_1_2 - 0.133333333333334*G8_2_0 - 0.266666666666668*G8_2_2;
A[1012] = -0.133333333333333*G2_0_1 - 0.133333333333334*G2_1_0 - 0.266666666666668*G2_1_1 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.133333333333333*G5_0_1 - 0.133333333333334*G5_1_0 - 0.266666666666668*G5_1_1 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.133333333333333*G8_0_1 - 0.133333333333334*G8_1_0 - 0.266666666666668*G8_1_1 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1;
- A[1013] = 0.133333333333334*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333334*G2_1_1 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.133333333333334*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333334*G5_1_1 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.133333333333334*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333334*G8_1_1 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_1;
+ A[1013] = 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_2_0 + 0.133333333333334*G2_2_1 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_2_0 + 0.133333333333334*G5_2_1 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_2_0 + 0.133333333333334*G8_2_1;
A[1014] = 0.133333333333333*G2_0_1 + 0.133333333333334*G2_1_0 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_2 + 0.133333333333333*G5_0_1 + 0.133333333333334*G5_1_0 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_2 + 0.133333333333333*G8_0_1 + 0.133333333333334*G8_1_0 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_2;
A[1015] = 0.266666666666667*G2_0_0 + 0.133333333333333*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333333*G2_1_0 + 0.266666666666667*G2_1_1 + 0.266666666666667*G2_1_2 + 0.133333333333333*G2_2_0 + 0.266666666666667*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333333*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333333*G5_1_0 + 0.266666666666667*G5_1_1 + 0.266666666666667*G5_1_2 + 0.133333333333333*G5_2_0 + 0.266666666666667*G5_2_1 + 0.266666666666667*G [...]
A[1016] = 0.0333333333333333*G9_0 - 0.0333333333333334*G9_1 - 0.0333333333333334*G9_2;
A[1017] = -0.0333333333333333*G9_0 - 0.0666666666666667*G9_1 - 0.0666666666666667*G9_2;
A[1018] = -0.0333333333333334*G9_1 - 0.0333333333333333*G9_2;
- A[1019] = -0.0333333333333334*G9_1 - 0.0333333333333333*G9_2;
+ A[1019] = -0.0333333333333333*G9_1 - 0.0333333333333333*G9_2;
A[1020] = -0.025*G13_0 - 0.025*G13_1 - 0.025*G13_2;
- A[1021] = -0.00833333333333338*G13_0;
- A[1022] = -0.00833333333333343*G13_1;
+ A[1021] = -0.00833333333333337*G13_0;
+ A[1022] = -0.00833333333333344*G13_1;
A[1023] = -0.00833333333333351*G13_2;
A[1024] = 0.0333333333333334*G13_1 + 0.0333333333333334*G13_2;
A[1025] = 0.0333333333333334*G13_0 + 0.0333333333333336*G13_2;
A[1026] = 0.0333333333333334*G13_0 + 0.0333333333333336*G13_1;
- A[1027] = -0.0333333333333334*G13_0 - 0.0333333333333334*G13_1 + 0.0333333333333333*G13_2;
+ A[1027] = -0.0333333333333334*G13_0 - 0.0333333333333334*G13_1 + 0.0333333333333334*G13_2;
A[1028] = -0.0333333333333334*G13_0 + 0.0333333333333333*G13_1 - 0.0333333333333334*G13_2;
A[1029] = 0.0333333333333333*G13_0 - 0.0333333333333334*G13_1 - 0.0333333333333334*G13_2;
A[1030] = -0.025*G14_0 - 0.025*G14_1 - 0.025*G14_2;
- A[1031] = -0.00833333333333338*G14_0;
- A[1032] = -0.00833333333333343*G14_1;
+ A[1031] = -0.00833333333333337*G14_0;
+ A[1032] = -0.00833333333333344*G14_1;
A[1033] = -0.00833333333333351*G14_2;
A[1034] = 0.0333333333333334*G14_1 + 0.0333333333333334*G14_2;
A[1035] = 0.0333333333333334*G14_0 + 0.0333333333333336*G14_2;
A[1036] = 0.0333333333333334*G14_0 + 0.0333333333333336*G14_1;
- A[1037] = -0.0333333333333334*G14_0 - 0.0333333333333334*G14_1 + 0.0333333333333333*G14_2;
+ A[1037] = -0.0333333333333334*G14_0 - 0.0333333333333334*G14_1 + 0.0333333333333334*G14_2;
A[1038] = -0.0333333333333334*G14_0 + 0.0333333333333333*G14_1 - 0.0333333333333334*G14_2;
A[1039] = 0.0333333333333333*G14_0 - 0.0333333333333334*G14_1 - 0.0333333333333334*G14_2;
A[1040] = -0.025*G12_0 - 0.025*G12_1 - 0.025*G12_2;
- A[1041] = -0.00833333333333338*G12_0;
- A[1042] = -0.00833333333333343*G12_1;
+ A[1041] = -0.00833333333333337*G12_0;
+ A[1042] = -0.00833333333333344*G12_1;
A[1043] = -0.00833333333333351*G12_2;
A[1044] = 0.0333333333333334*G12_1 + 0.0333333333333334*G12_2;
A[1045] = 0.0333333333333334*G12_0 + 0.0333333333333336*G12_2;
A[1046] = 0.0333333333333334*G12_0 + 0.0333333333333336*G12_1;
- A[1047] = -0.0333333333333334*G12_0 - 0.0333333333333334*G12_1 + 0.0333333333333333*G12_2;
+ A[1047] = -0.0333333333333334*G12_0 - 0.0333333333333334*G12_1 + 0.0333333333333334*G12_2;
A[1048] = -0.0333333333333334*G12_0 + 0.0333333333333333*G12_1 - 0.0333333333333334*G12_2;
A[1049] = 0.0333333333333333*G12_0 - 0.0333333333333334*G12_1 - 0.0333333333333334*G12_2;
A[1050] = 0.0;
@@ -27769,103 +28864,103 @@ public:
A[1052] = 0.0;
A[1053] = 0.0;
A[1054] = 0.00833333333333336*G13_0 + 0.00833333333333338*G13_1 + 0.00833333333333336*G13_2;
- A[1055] = 0.025*G13_0;
- A[1056] = -0.00833333333333343*G13_1;
- A[1057] = -0.00833333333333351*G13_2;
+ A[1055] = 0.0249999999999999*G13_0;
+ A[1056] = -0.00833333333333344*G13_1;
+ A[1057] = -0.0083333333333335*G13_2;
A[1058] = 0.0333333333333334*G13_1 + 0.0333333333333334*G13_2;
A[1059] = 0.0333333333333333*G13_0 + 0.0666666666666669*G13_2;
A[1060] = 0.0333333333333333*G13_0 + 0.0666666666666669*G13_1;
A[1061] = -0.0333333333333333*G13_0 - 0.0333333333333334*G13_1;
- A[1062] = -0.0333333333333333*G13_0 - 0.0333333333333333*G13_2;
+ A[1062] = -0.0333333333333334*G13_0 - 0.0333333333333333*G13_2;
A[1063] = -0.0333333333333333*G13_0 - 0.0666666666666667*G13_1 - 0.0666666666666667*G13_2;
A[1064] = 0.00833333333333336*G14_0 + 0.00833333333333338*G14_1 + 0.00833333333333336*G14_2;
- A[1065] = 0.025*G14_0;
- A[1066] = -0.00833333333333343*G14_1;
- A[1067] = -0.00833333333333351*G14_2;
+ A[1065] = 0.0249999999999999*G14_0;
+ A[1066] = -0.00833333333333344*G14_1;
+ A[1067] = -0.0083333333333335*G14_2;
A[1068] = 0.0333333333333334*G14_1 + 0.0333333333333334*G14_2;
A[1069] = 0.0333333333333333*G14_0 + 0.0666666666666669*G14_2;
A[1070] = 0.0333333333333333*G14_0 + 0.0666666666666669*G14_1;
A[1071] = -0.0333333333333333*G14_0 - 0.0333333333333334*G14_1;
- A[1072] = -0.0333333333333333*G14_0 - 0.0333333333333333*G14_2;
+ A[1072] = -0.0333333333333334*G14_0 - 0.0333333333333333*G14_2;
A[1073] = -0.0333333333333333*G14_0 - 0.0666666666666667*G14_1 - 0.0666666666666667*G14_2;
A[1074] = 0.00833333333333336*G12_0 + 0.00833333333333338*G12_1 + 0.00833333333333336*G12_2;
- A[1075] = 0.025*G12_0;
- A[1076] = -0.00833333333333343*G12_1;
- A[1077] = -0.00833333333333351*G12_2;
+ A[1075] = 0.0249999999999999*G12_0;
+ A[1076] = -0.00833333333333344*G12_1;
+ A[1077] = -0.0083333333333335*G12_2;
A[1078] = 0.0333333333333334*G12_1 + 0.0333333333333334*G12_2;
A[1079] = 0.0333333333333333*G12_0 + 0.0666666666666669*G12_2;
A[1080] = 0.0333333333333333*G12_0 + 0.0666666666666669*G12_1;
A[1081] = -0.0333333333333333*G12_0 - 0.0333333333333334*G12_1;
- A[1082] = -0.0333333333333333*G12_0 - 0.0333333333333333*G12_2;
+ A[1082] = -0.0333333333333334*G12_0 - 0.0333333333333333*G12_2;
A[1083] = -0.0333333333333333*G12_0 - 0.0666666666666667*G12_1 - 0.0666666666666667*G12_2;
A[1084] = 0.0;
A[1085] = 0.0;
A[1086] = 0.0;
A[1087] = 0.0;
- A[1088] = 0.00833333333333337*G13_0 + 0.00833333333333337*G13_1 + 0.00833333333333335*G13_2;
- A[1089] = -0.00833333333333339*G13_0;
+ A[1088] = 0.00833333333333337*G13_0 + 0.00833333333333336*G13_1 + 0.00833333333333335*G13_2;
+ A[1089] = -0.00833333333333338*G13_0;
A[1090] = 0.0249999999999999*G13_1;
A[1091] = -0.00833333333333351*G13_2;
- A[1092] = 0.0333333333333334*G13_1 + 0.0666666666666667*G13_2;
- A[1093] = 0.0333333333333333*G13_0 + 0.0333333333333336*G13_2;
+ A[1092] = 0.0333333333333334*G13_1 + 0.0666666666666668*G13_2;
+ A[1093] = 0.0333333333333334*G13_0 + 0.0333333333333336*G13_2;
A[1094] = 0.0666666666666667*G13_0 + 0.0333333333333336*G13_1;
- A[1095] = -0.0333333333333333*G13_0 - 0.0333333333333334*G13_1;
+ A[1095] = -0.0333333333333334*G13_0 - 0.0333333333333334*G13_1;
A[1096] = -0.0666666666666667*G13_0 - 0.0333333333333334*G13_1 - 0.0666666666666667*G13_2;
A[1097] = -0.0333333333333334*G13_1 - 0.0333333333333333*G13_2;
- A[1098] = 0.00833333333333337*G14_0 + 0.00833333333333337*G14_1 + 0.00833333333333335*G14_2;
- A[1099] = -0.00833333333333339*G14_0;
+ A[1098] = 0.00833333333333337*G14_0 + 0.00833333333333336*G14_1 + 0.00833333333333335*G14_2;
+ A[1099] = -0.00833333333333338*G14_0;
A[1100] = 0.0249999999999999*G14_1;
A[1101] = -0.00833333333333351*G14_2;
- A[1102] = 0.0333333333333334*G14_1 + 0.0666666666666667*G14_2;
- A[1103] = 0.0333333333333333*G14_0 + 0.0333333333333336*G14_2;
+ A[1102] = 0.0333333333333334*G14_1 + 0.0666666666666668*G14_2;
+ A[1103] = 0.0333333333333334*G14_0 + 0.0333333333333336*G14_2;
A[1104] = 0.0666666666666667*G14_0 + 0.0333333333333336*G14_1;
- A[1105] = -0.0333333333333333*G14_0 - 0.0333333333333334*G14_1;
+ A[1105] = -0.0333333333333334*G14_0 - 0.0333333333333334*G14_1;
A[1106] = -0.0666666666666667*G14_0 - 0.0333333333333334*G14_1 - 0.0666666666666667*G14_2;
A[1107] = -0.0333333333333334*G14_1 - 0.0333333333333333*G14_2;
- A[1108] = 0.00833333333333337*G12_0 + 0.00833333333333337*G12_1 + 0.00833333333333335*G12_2;
- A[1109] = -0.00833333333333339*G12_0;
+ A[1108] = 0.00833333333333337*G12_0 + 0.00833333333333336*G12_1 + 0.00833333333333335*G12_2;
+ A[1109] = -0.00833333333333338*G12_0;
A[1110] = 0.0249999999999999*G12_1;
A[1111] = -0.00833333333333351*G12_2;
- A[1112] = 0.0333333333333334*G12_1 + 0.0666666666666667*G12_2;
- A[1113] = 0.0333333333333333*G12_0 + 0.0333333333333336*G12_2;
+ A[1112] = 0.0333333333333334*G12_1 + 0.0666666666666668*G12_2;
+ A[1113] = 0.0333333333333334*G12_0 + 0.0333333333333336*G12_2;
A[1114] = 0.0666666666666667*G12_0 + 0.0333333333333336*G12_1;
- A[1115] = -0.0333333333333333*G12_0 - 0.0333333333333334*G12_1;
+ A[1115] = -0.0333333333333334*G12_0 - 0.0333333333333334*G12_1;
A[1116] = -0.0666666666666667*G12_0 - 0.0333333333333334*G12_1 - 0.0666666666666667*G12_2;
A[1117] = -0.0333333333333334*G12_1 - 0.0333333333333333*G12_2;
A[1118] = 0.0;
A[1119] = 0.0;
A[1120] = 0.0;
A[1121] = 0.0;
- A[1122] = 0.00833333333333337*G13_0 + 0.00833333333333338*G13_1 + 0.00833333333333336*G13_2;
- A[1123] = -0.00833333333333339*G13_0;
+ A[1122] = 0.00833333333333337*G13_0 + 0.00833333333333337*G13_1 + 0.00833333333333335*G13_2;
+ A[1123] = -0.00833333333333338*G13_0;
A[1124] = -0.00833333333333343*G13_1;
A[1125] = 0.0249999999999999*G13_2;
A[1126] = 0.0666666666666667*G13_1 + 0.0333333333333333*G13_2;
A[1127] = 0.0666666666666667*G13_0 + 0.0333333333333336*G13_2;
- A[1128] = 0.0333333333333333*G13_0 + 0.0333333333333335*G13_1;
- A[1129] = -0.0666666666666667*G13_0 - 0.0666666666666667*G13_1 - 0.0333333333333334*G13_2;
+ A[1128] = 0.0333333333333334*G13_0 + 0.0333333333333335*G13_1;
+ A[1129] = -0.0666666666666667*G13_0 - 0.0666666666666667*G13_1 - 0.0333333333333333*G13_2;
A[1130] = -0.0333333333333334*G13_0 - 0.0333333333333333*G13_2;
- A[1131] = -0.0333333333333334*G13_1 - 0.0333333333333333*G13_2;
- A[1132] = 0.00833333333333337*G14_0 + 0.00833333333333338*G14_1 + 0.00833333333333336*G14_2;
- A[1133] = -0.00833333333333339*G14_0;
+ A[1131] = -0.0333333333333333*G13_1 - 0.0333333333333333*G13_2;
+ A[1132] = 0.00833333333333337*G14_0 + 0.00833333333333337*G14_1 + 0.00833333333333335*G14_2;
+ A[1133] = -0.00833333333333338*G14_0;
A[1134] = -0.00833333333333343*G14_1;
A[1135] = 0.0249999999999999*G14_2;
A[1136] = 0.0666666666666667*G14_1 + 0.0333333333333333*G14_2;
A[1137] = 0.0666666666666667*G14_0 + 0.0333333333333336*G14_2;
- A[1138] = 0.0333333333333333*G14_0 + 0.0333333333333335*G14_1;
- A[1139] = -0.0666666666666667*G14_0 - 0.0666666666666667*G14_1 - 0.0333333333333334*G14_2;
+ A[1138] = 0.0333333333333334*G14_0 + 0.0333333333333335*G14_1;
+ A[1139] = -0.0666666666666667*G14_0 - 0.0666666666666667*G14_1 - 0.0333333333333333*G14_2;
A[1140] = -0.0333333333333334*G14_0 - 0.0333333333333333*G14_2;
- A[1141] = -0.0333333333333334*G14_1 - 0.0333333333333333*G14_2;
- A[1142] = 0.00833333333333337*G12_0 + 0.00833333333333338*G12_1 + 0.00833333333333336*G12_2;
- A[1143] = -0.00833333333333339*G12_0;
+ A[1141] = -0.0333333333333333*G14_1 - 0.0333333333333333*G14_2;
+ A[1142] = 0.00833333333333337*G12_0 + 0.00833333333333337*G12_1 + 0.00833333333333335*G12_2;
+ A[1143] = -0.00833333333333338*G12_0;
A[1144] = -0.00833333333333343*G12_1;
A[1145] = 0.0249999999999999*G12_2;
A[1146] = 0.0666666666666667*G12_1 + 0.0333333333333333*G12_2;
A[1147] = 0.0666666666666667*G12_0 + 0.0333333333333336*G12_2;
- A[1148] = 0.0333333333333333*G12_0 + 0.0333333333333335*G12_1;
- A[1149] = -0.0666666666666667*G12_0 - 0.0666666666666667*G12_1 - 0.0333333333333334*G12_2;
+ A[1148] = 0.0333333333333334*G12_0 + 0.0333333333333335*G12_1;
+ A[1149] = -0.0666666666666667*G12_0 - 0.0666666666666667*G12_1 - 0.0333333333333333*G12_2;
A[1150] = -0.0333333333333334*G12_0 - 0.0333333333333333*G12_2;
- A[1151] = -0.0333333333333334*G12_1 - 0.0333333333333333*G12_2;
+ A[1151] = -0.0333333333333333*G12_1 - 0.0333333333333333*G12_2;
A[1152] = 0.0;
A[1153] = 0.0;
A[1154] = 0.0;
@@ -27900,6 +28995,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 30
// Number of operations (multiply-add pairs) for tensor contraction: 285
@@ -27950,36 +29060,36 @@ public:
const double G2_29 = det*w[0][29]*(1.0);
// Compute element tensor
- A[0] = 0.00238095238095238*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
- A[1] = 0.000396825396825395*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
- A[2] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825396*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730159*G0_8 - 0.00238095238095238*G0_9;
- A[3] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825396*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
- A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
- A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460317*G0_8 + 0.00634920634920635*G0_9;
- A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920635*G0_9;
- A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
- A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
- A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
- A[10] = 0.00238095238095238*G1_10 + 0.000396825396825395*G1_11 + 0.000396825396825396*G1_12 + 0.000396825396825396*G1_13 - 0.00238095238095238*G1_14 - 0.00238095238095238*G1_15 - 0.00238095238095238*G1_16 - 0.00158730158730158*G1_17 - 0.00158730158730158*G1_18 - 0.00158730158730158*G1_19;
- A[11] = 0.000396825396825395*G1_10 + 0.00238095238095238*G1_11 + 0.000396825396825396*G1_12 + 0.000396825396825396*G1_13 - 0.00238095238095238*G1_14 - 0.00158730158730158*G1_15 - 0.00158730158730158*G1_16 - 0.00238095238095238*G1_17 - 0.00238095238095238*G1_18 - 0.00158730158730158*G1_19;
- A[12] = 0.000396825396825396*G1_10 + 0.000396825396825396*G1_11 + 0.00238095238095238*G1_12 + 0.000396825396825396*G1_13 - 0.00158730158730159*G1_14 - 0.00238095238095238*G1_15 - 0.00158730158730158*G1_16 - 0.00238095238095238*G1_17 - 0.00158730158730159*G1_18 - 0.00238095238095238*G1_19;
- A[13] = 0.000396825396825396*G1_10 + 0.000396825396825396*G1_11 + 0.000396825396825396*G1_12 + 0.00238095238095238*G1_13 - 0.00158730158730159*G1_14 - 0.00158730158730159*G1_15 - 0.00238095238095238*G1_16 - 0.00158730158730159*G1_17 - 0.00238095238095238*G1_18 - 0.00238095238095238*G1_19;
- A[14] = -0.00238095238095238*G1_10 - 0.00238095238095238*G1_11 - 0.00158730158730159*G1_12 - 0.00158730158730159*G1_13 + 0.0126984126984127*G1_14 + 0.00634920634920635*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920635*G1_17 + 0.00634920634920634*G1_18 + 0.00317460317460317*G1_19;
- A[15] = -0.00238095238095238*G1_10 - 0.00158730158730158*G1_11 - 0.00238095238095238*G1_12 - 0.00158730158730159*G1_13 + 0.00634920634920635*G1_14 + 0.0126984126984127*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920635*G1_17 + 0.00317460317460317*G1_18 + 0.00634920634920635*G1_19;
- A[16] = -0.00238095238095238*G1_10 - 0.00158730158730158*G1_11 - 0.00158730158730159*G1_12 - 0.00238095238095238*G1_13 + 0.00634920634920635*G1_14 + 0.00634920634920635*G1_15 + 0.0126984126984127*G1_16 + 0.00317460317460317*G1_17 + 0.00634920634920634*G1_18 + 0.00634920634920635*G1_19;
- A[17] = -0.00158730158730158*G1_10 - 0.00238095238095238*G1_11 - 0.00238095238095238*G1_12 - 0.00158730158730159*G1_13 + 0.00634920634920635*G1_14 + 0.00634920634920635*G1_15 + 0.00317460317460317*G1_16 + 0.0126984126984127*G1_17 + 0.00634920634920635*G1_18 + 0.00634920634920635*G1_19;
- A[18] = -0.00158730158730158*G1_10 - 0.00238095238095238*G1_11 - 0.00158730158730159*G1_12 - 0.00238095238095238*G1_13 + 0.00634920634920634*G1_14 + 0.00317460317460317*G1_15 + 0.00634920634920634*G1_16 + 0.00634920634920635*G1_17 + 0.0126984126984127*G1_18 + 0.00634920634920634*G1_19;
- A[19] = -0.00158730158730158*G1_10 - 0.00158730158730158*G1_11 - 0.00238095238095238*G1_12 - 0.00238095238095238*G1_13 + 0.00317460317460317*G1_14 + 0.00634920634920635*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920635*G1_17 + 0.00634920634920634*G1_18 + 0.0126984126984127*G1_19;
- A[20] = 0.00238095238095238*G2_20 + 0.000396825396825395*G2_21 + 0.000396825396825396*G2_22 + 0.000396825396825396*G2_23 - 0.00238095238095238*G2_24 - 0.00238095238095238*G2_25 - 0.00238095238095238*G2_26 - 0.00158730158730158*G2_27 - 0.00158730158730158*G2_28 - 0.00158730158730158*G2_29;
- A[21] = 0.000396825396825395*G2_20 + 0.00238095238095238*G2_21 + 0.000396825396825396*G2_22 + 0.000396825396825396*G2_23 - 0.00238095238095238*G2_24 - 0.00158730158730158*G2_25 - 0.00158730158730158*G2_26 - 0.00238095238095238*G2_27 - 0.00238095238095238*G2_28 - 0.00158730158730158*G2_29;
- A[22] = 0.000396825396825396*G2_20 + 0.000396825396825396*G2_21 + 0.00238095238095238*G2_22 + 0.000396825396825396*G2_23 - 0.00158730158730159*G2_24 - 0.00238095238095238*G2_25 - 0.00158730158730158*G2_26 - 0.00238095238095238*G2_27 - 0.00158730158730159*G2_28 - 0.00238095238095238*G2_29;
- A[23] = 0.000396825396825396*G2_20 + 0.000396825396825396*G2_21 + 0.000396825396825396*G2_22 + 0.00238095238095238*G2_23 - 0.00158730158730159*G2_24 - 0.00158730158730159*G2_25 - 0.00238095238095238*G2_26 - 0.00158730158730159*G2_27 - 0.00238095238095238*G2_28 - 0.00238095238095238*G2_29;
- A[24] = -0.00238095238095238*G2_20 - 0.00238095238095238*G2_21 - 0.00158730158730159*G2_22 - 0.00158730158730159*G2_23 + 0.0126984126984127*G2_24 + 0.00634920634920635*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920635*G2_27 + 0.00634920634920634*G2_28 + 0.00317460317460317*G2_29;
- A[25] = -0.00238095238095238*G2_20 - 0.00158730158730158*G2_21 - 0.00238095238095238*G2_22 - 0.00158730158730159*G2_23 + 0.00634920634920635*G2_24 + 0.0126984126984127*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920635*G2_27 + 0.00317460317460317*G2_28 + 0.00634920634920635*G2_29;
- A[26] = -0.00238095238095238*G2_20 - 0.00158730158730158*G2_21 - 0.00158730158730159*G2_22 - 0.00238095238095238*G2_23 + 0.00634920634920635*G2_24 + 0.00634920634920635*G2_25 + 0.0126984126984127*G2_26 + 0.00317460317460317*G2_27 + 0.00634920634920634*G2_28 + 0.00634920634920635*G2_29;
- A[27] = -0.00158730158730158*G2_20 - 0.00238095238095238*G2_21 - 0.00238095238095238*G2_22 - 0.00158730158730159*G2_23 + 0.00634920634920635*G2_24 + 0.00634920634920635*G2_25 + 0.00317460317460317*G2_26 + 0.0126984126984127*G2_27 + 0.00634920634920635*G2_28 + 0.00634920634920635*G2_29;
- A[28] = -0.00158730158730158*G2_20 - 0.00238095238095238*G2_21 - 0.00158730158730159*G2_22 - 0.00238095238095238*G2_23 + 0.00634920634920634*G2_24 + 0.00317460317460317*G2_25 + 0.00634920634920634*G2_26 + 0.00634920634920635*G2_27 + 0.0126984126984127*G2_28 + 0.00634920634920634*G2_29;
- A[29] = -0.00158730158730158*G2_20 - 0.00158730158730158*G2_21 - 0.00238095238095238*G2_22 - 0.00238095238095238*G2_23 + 0.00317460317460317*G2_24 + 0.00634920634920635*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920635*G2_27 + 0.00634920634920634*G2_28 + 0.0126984126984127*G2_29;
+ A[0] = 0.00238095238095238*G0_0 + 0.000396825396825394*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
+ A[1] = 0.000396825396825394*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
+ A[2] = 0.000396825396825394*G0_0 + 0.000396825396825395*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825395*G0_3 - 0.00158730158730158*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730158*G0_8 - 0.00238095238095238*G0_9;
+ A[3] = 0.000396825396825395*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825395*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
+ A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.00317460317460317*G0_9;
+ A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460318*G0_8 + 0.00634920634920635*G0_9;
+ A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
+ A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920634*G0_9;
+ A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00317460317460318*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920635*G0_9;
+ A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.0126984126984127*G0_9;
+ A[10] = 0.00238095238095238*G1_10 + 0.000396825396825394*G1_11 + 0.000396825396825394*G1_12 + 0.000396825396825395*G1_13 - 0.00238095238095238*G1_14 - 0.00238095238095238*G1_15 - 0.00238095238095238*G1_16 - 0.00158730158730158*G1_17 - 0.00158730158730158*G1_18 - 0.00158730158730158*G1_19;
+ A[11] = 0.000396825396825394*G1_10 + 0.00238095238095238*G1_11 + 0.000396825396825394*G1_12 + 0.000396825396825395*G1_13 - 0.00238095238095238*G1_14 - 0.00158730158730158*G1_15 - 0.00158730158730158*G1_16 - 0.00238095238095238*G1_17 - 0.00238095238095238*G1_18 - 0.00158730158730158*G1_19;
+ A[12] = 0.000396825396825394*G1_10 + 0.000396825396825395*G1_11 + 0.00238095238095238*G1_12 + 0.000396825396825395*G1_13 - 0.00158730158730158*G1_14 - 0.00238095238095238*G1_15 - 0.00158730158730158*G1_16 - 0.00238095238095238*G1_17 - 0.00158730158730158*G1_18 - 0.00238095238095238*G1_19;
+ A[13] = 0.000396825396825395*G1_10 + 0.000396825396825395*G1_11 + 0.000396825396825395*G1_12 + 0.00238095238095238*G1_13 - 0.00158730158730159*G1_14 - 0.00158730158730159*G1_15 - 0.00238095238095238*G1_16 - 0.00158730158730159*G1_17 - 0.00238095238095238*G1_18 - 0.00238095238095238*G1_19;
+ A[14] = -0.00238095238095238*G1_10 - 0.00238095238095238*G1_11 - 0.00158730158730158*G1_12 - 0.00158730158730159*G1_13 + 0.0126984126984127*G1_14 + 0.00634920634920635*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920634*G1_17 + 0.00634920634920635*G1_18 + 0.00317460317460317*G1_19;
+ A[15] = -0.00238095238095238*G1_10 - 0.00158730158730158*G1_11 - 0.00238095238095238*G1_12 - 0.00158730158730159*G1_13 + 0.00634920634920635*G1_14 + 0.0126984126984127*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920635*G1_17 + 0.00317460317460318*G1_18 + 0.00634920634920635*G1_19;
+ A[16] = -0.00238095238095238*G1_10 - 0.00158730158730158*G1_11 - 0.00158730158730158*G1_12 - 0.00238095238095238*G1_13 + 0.00634920634920635*G1_14 + 0.00634920634920635*G1_15 + 0.0126984126984127*G1_16 + 0.00317460317460317*G1_17 + 0.00634920634920635*G1_18 + 0.00634920634920635*G1_19;
+ A[17] = -0.00158730158730158*G1_10 - 0.00238095238095238*G1_11 - 0.00238095238095238*G1_12 - 0.00158730158730159*G1_13 + 0.00634920634920634*G1_14 + 0.00634920634920635*G1_15 + 0.00317460317460317*G1_16 + 0.0126984126984127*G1_17 + 0.00634920634920635*G1_18 + 0.00634920634920634*G1_19;
+ A[18] = -0.00158730158730158*G1_10 - 0.00238095238095238*G1_11 - 0.00158730158730158*G1_12 - 0.00238095238095238*G1_13 + 0.00634920634920635*G1_14 + 0.00317460317460318*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920635*G1_17 + 0.0126984126984127*G1_18 + 0.00634920634920635*G1_19;
+ A[19] = -0.00158730158730158*G1_10 - 0.00158730158730158*G1_11 - 0.00238095238095238*G1_12 - 0.00238095238095238*G1_13 + 0.00317460317460317*G1_14 + 0.00634920634920635*G1_15 + 0.00634920634920635*G1_16 + 0.00634920634920634*G1_17 + 0.00634920634920635*G1_18 + 0.0126984126984127*G1_19;
+ A[20] = 0.00238095238095238*G2_20 + 0.000396825396825394*G2_21 + 0.000396825396825394*G2_22 + 0.000396825396825395*G2_23 - 0.00238095238095238*G2_24 - 0.00238095238095238*G2_25 - 0.00238095238095238*G2_26 - 0.00158730158730158*G2_27 - 0.00158730158730158*G2_28 - 0.00158730158730158*G2_29;
+ A[21] = 0.000396825396825394*G2_20 + 0.00238095238095238*G2_21 + 0.000396825396825394*G2_22 + 0.000396825396825395*G2_23 - 0.00238095238095238*G2_24 - 0.00158730158730158*G2_25 - 0.00158730158730158*G2_26 - 0.00238095238095238*G2_27 - 0.00238095238095238*G2_28 - 0.00158730158730158*G2_29;
+ A[22] = 0.000396825396825394*G2_20 + 0.000396825396825395*G2_21 + 0.00238095238095238*G2_22 + 0.000396825396825395*G2_23 - 0.00158730158730158*G2_24 - 0.00238095238095238*G2_25 - 0.00158730158730158*G2_26 - 0.00238095238095238*G2_27 - 0.00158730158730158*G2_28 - 0.00238095238095238*G2_29;
+ A[23] = 0.000396825396825395*G2_20 + 0.000396825396825395*G2_21 + 0.000396825396825395*G2_22 + 0.00238095238095238*G2_23 - 0.00158730158730159*G2_24 - 0.00158730158730159*G2_25 - 0.00238095238095238*G2_26 - 0.00158730158730159*G2_27 - 0.00238095238095238*G2_28 - 0.00238095238095238*G2_29;
+ A[24] = -0.00238095238095238*G2_20 - 0.00238095238095238*G2_21 - 0.00158730158730158*G2_22 - 0.00158730158730159*G2_23 + 0.0126984126984127*G2_24 + 0.00634920634920635*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920634*G2_27 + 0.00634920634920635*G2_28 + 0.00317460317460317*G2_29;
+ A[25] = -0.00238095238095238*G2_20 - 0.00158730158730158*G2_21 - 0.00238095238095238*G2_22 - 0.00158730158730159*G2_23 + 0.00634920634920635*G2_24 + 0.0126984126984127*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920635*G2_27 + 0.00317460317460318*G2_28 + 0.00634920634920635*G2_29;
+ A[26] = -0.00238095238095238*G2_20 - 0.00158730158730158*G2_21 - 0.00158730158730158*G2_22 - 0.00238095238095238*G2_23 + 0.00634920634920635*G2_24 + 0.00634920634920635*G2_25 + 0.0126984126984127*G2_26 + 0.00317460317460317*G2_27 + 0.00634920634920635*G2_28 + 0.00634920634920635*G2_29;
+ A[27] = -0.00158730158730158*G2_20 - 0.00238095238095238*G2_21 - 0.00238095238095238*G2_22 - 0.00158730158730159*G2_23 + 0.00634920634920634*G2_24 + 0.00634920634920635*G2_25 + 0.00317460317460317*G2_26 + 0.0126984126984127*G2_27 + 0.00634920634920635*G2_28 + 0.00634920634920634*G2_29;
+ A[28] = -0.00158730158730158*G2_20 - 0.00238095238095238*G2_21 - 0.00158730158730158*G2_22 - 0.00238095238095238*G2_23 + 0.00634920634920635*G2_24 + 0.00317460317460318*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920635*G2_27 + 0.0126984126984127*G2_28 + 0.00634920634920635*G2_29;
+ A[29] = -0.00158730158730158*G2_20 - 0.00158730158730158*G2_21 - 0.00238095238095238*G2_22 - 0.00238095238095238*G2_23 + 0.00317460317460317*G2_24 + 0.00634920634920635*G2_25 + 0.00634920634920635*G2_26 + 0.00634920634920634*G2_27 + 0.00634920634920635*G2_28 + 0.0126984126984127*G2_29;
A[30] = 0.0;
A[31] = 0.0;
A[32] = 0.0;
@@ -28686,10 +29796,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -28852,10 +29962,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -28871,10 +29981,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/stokes-iterative/cpp/StokesPreconditioner.h b/demo/documented/stokes-iterative/cpp/StokesPreconditioner.h
index fd1c0a1..4daa2e6 100644
--- a/demo/documented/stokes-iterative/cpp/StokesPreconditioner.h
+++ b/demo/documented/stokes-iterative/cpp/StokesPreconditioner.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4331,7 +4300,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4377,7 +4346,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4423,7 +4392,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4515,7 +4484,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4561,7 +4530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4607,7 +4576,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4653,7 +4622,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4943,7 +4912,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4964,9 +4933,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5146,7 +5115,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5167,9 +5136,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5349,7 +5318,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5370,9 +5339,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5573,9 +5542,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5755,7 +5724,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5776,9 +5745,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5958,7 +5927,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5979,9 +5948,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6161,7 +6130,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6182,9 +6151,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6364,7 +6333,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6385,9 +6354,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6588,9 +6557,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6791,9 +6760,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -7427,7 +7396,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7473,7 +7442,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7519,7 +7488,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7611,7 +7580,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7657,7 +7626,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7703,7 +7672,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7749,7 +7718,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7887,7 +7856,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7933,7 +7902,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -7979,7 +7948,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8071,7 +8040,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8117,7 +8086,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8163,7 +8132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8209,7 +8178,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8347,7 +8316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8393,7 +8362,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8439,7 +8408,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8531,7 +8500,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8577,7 +8546,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8623,7 +8592,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8669,7 +8638,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -8962,7 +8931,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8983,9 +8952,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9165,7 +9134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9186,9 +9155,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9368,7 +9337,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9389,9 +9358,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9592,9 +9561,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9774,7 +9743,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9795,9 +9764,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -9977,7 +9946,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9998,9 +9967,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10180,7 +10149,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -10201,9 +10170,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10383,7 +10352,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -10404,9 +10373,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10607,9 +10576,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10810,9 +10779,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -10992,7 +10961,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11013,9 +10982,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11195,7 +11164,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11216,9 +11185,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11398,7 +11367,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11419,9 +11388,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11622,9 +11591,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -11804,7 +11773,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -11825,9 +11794,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12007,7 +11976,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12028,9 +11997,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12210,7 +12179,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12231,9 +12200,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12413,7 +12382,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -12434,9 +12403,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12637,9 +12606,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -12840,9 +12809,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13022,7 +12991,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13043,9 +13012,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13225,7 +13194,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13246,9 +13215,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13428,7 +13397,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13449,9 +13418,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13652,9 +13621,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -13834,7 +13803,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13855,9 +13824,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14037,7 +14006,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14058,9 +14027,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14240,7 +14209,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14261,9 +14230,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14443,7 +14412,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14464,9 +14433,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14667,9 +14636,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -14870,9 +14839,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -15395,150 +15364,70 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[10] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[11] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[12] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[13] = vals[1];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[14] = vals[1];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[15] = vals[1];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[16] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[17] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[18] = vals[1];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[19] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[20] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[11] = vals[1];
values[21] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[12] = vals[1];
values[22] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[13] = vals[1];
values[23] = vals[2];
y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
+ values[14] = vals[1];
values[24] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
+ values[15] = vals[1];
values[25] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
+ values[16] = vals[1];
values[26] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
+ values[17] = vals[1];
values[27] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
+ values[18] = vals[1];
values[28] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
+ values[19] = vals[1];
values[29] = vals[2];
}
@@ -15876,7 +15765,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -15922,7 +15811,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -15968,7 +15857,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16060,7 +15949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16106,7 +15995,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16152,7 +16041,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16198,7 +16087,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16336,7 +16225,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16382,7 +16271,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16428,7 +16317,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16520,7 +16409,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16566,7 +16455,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16612,7 +16501,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16658,7 +16547,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16796,7 +16685,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16842,7 +16731,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16888,7 +16777,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -16980,7 +16869,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17026,7 +16915,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17072,7 +16961,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17118,7 +17007,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -17531,7 +17420,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17552,9 +17441,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -17734,7 +17623,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17755,9 +17644,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -17937,7 +17826,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -17958,9 +17847,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18161,9 +18050,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18343,7 +18232,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18364,9 +18253,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18546,7 +18435,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18567,9 +18456,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18749,7 +18638,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18770,9 +18659,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -18952,7 +18841,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -18973,9 +18862,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19176,9 +19065,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19379,9 +19268,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19561,7 +19450,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19582,9 +19471,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19764,7 +19653,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19785,9 +19674,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -19967,7 +19856,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -19988,9 +19877,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20191,9 +20080,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20373,7 +20262,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20394,9 +20283,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20576,7 +20465,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20597,9 +20486,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20779,7 +20668,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -20800,9 +20689,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -20982,7 +20871,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21003,9 +20892,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21206,9 +21095,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21409,9 +21298,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21591,7 +21480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21612,9 +21501,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21794,7 +21683,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -21815,9 +21704,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -21997,7 +21886,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22018,9 +21907,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22221,9 +22110,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22403,7 +22292,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22424,9 +22313,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22606,7 +22495,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22627,9 +22516,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -22809,7 +22698,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -22830,9 +22719,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23012,7 +22901,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -23033,9 +22922,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23236,9 +23125,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -23439,9 +23328,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -24628,171 +24517,75 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[10] = vals[1];
+ values[20] = vals[2];
+ values[30] = vals[3];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[11] = vals[1];
+ values[21] = vals[2];
+ values[31] = vals[3];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[12] = vals[1];
+ values[22] = vals[2];
+ values[32] = vals[3];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[13] = vals[1];
+ values[23] = vals[2];
+ values[33] = vals[3];
y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[14] = vals[1];
+ values[24] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[15] = vals[1];
+ values[25] = vals[2];
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
values[16] = vals[1];
+ values[26] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
values[17] = vals[1];
+ values[27] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
values[18] = vals[1];
+ values[28] = vals[2];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
values[19] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[20] = vals[2];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[21] = vals[2];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[22] = vals[2];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[23] = vals[2];
- y[0] = 0.5*coordinate_dofs[6] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[24] = vals[2];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[25] = vals[2];
- y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[26] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[27] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[28] = vals[2];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
- y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
values[29] = vals[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[30] = vals[3];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[31] = vals[3];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[32] = vals[3];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[33] = vals[3];
}
void interpolate_vertex_values(double * vertex_values,
@@ -25060,6 +24853,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25169,6 +24991,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -25286,6 +25258,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25439,33 +25440,247 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new stokespreconditioner_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new stokespreconditioner_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new stokespreconditioner_dofmap_0();
- break;
- }
- }
-
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new stokespreconditioner_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new stokespreconditioner_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new stokespreconditioner_dofmap_0();
+ break;
+ }
+ }
+
return 0;
}
@@ -25575,6 +25790,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25743,6 +25987,180 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -25860,6 +26278,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 9;
+ break;
+ }
+ case 2:
+ {
+ return 18;
+ break;
+ }
+ case 3:
+ {
+ return 30;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -25976,32 +26423,152 @@ public:
}
case 3:
{
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 6;
- dofs[4] = 8;
- dofs[5] = 9;
- dofs[6] = 10;
- dofs[7] = 11;
- dofs[8] = 12;
- dofs[9] = 16;
- dofs[10] = 18;
- dofs[11] = 19;
- dofs[12] = 20;
- dofs[13] = 21;
- dofs[14] = 22;
- dofs[15] = 26;
- dofs[16] = 28;
- dofs[17] = 29;
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 12;
+ dofs[9] = 16;
+ dofs[10] = 18;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 22;
+ dofs[15] = 26;
+ dofs[16] = 28;
+ dofs[17] = 29;
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ dofs[2] = 20;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ dofs[2] = 21;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ dofs[2] = 22;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 13;
+ dofs[2] = 23;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 4;
+ dofs[1] = 14;
+ dofs[2] = 24;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 5;
+ dofs[1] = 15;
+ dofs[2] = 25;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 6;
+ dofs[1] = 16;
+ dofs[2] = 26;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 7;
+ dofs[1] = 17;
+ dofs[2] = 27;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 8;
+ dofs[1] = 18;
+ dofs[2] = 28;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 9;
+ dofs[1] = 19;
+ dofs[2] = 29;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
break;
}
}
}
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
if (d > 3)
{
@@ -26062,44 +26629,80 @@ public:
{
case 0:
{
- dofs[0] = 4;
- dofs[1] = 14;
- dofs[2] = 24;
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 12;
+ dofs[4] = 13;
+ dofs[5] = 14;
+ dofs[6] = 22;
+ dofs[7] = 23;
+ dofs[8] = 24;
break;
}
case 1:
{
- dofs[0] = 5;
- dofs[1] = 15;
- dofs[2] = 25;
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 11;
+ dofs[4] = 13;
+ dofs[5] = 15;
+ dofs[6] = 21;
+ dofs[7] = 23;
+ dofs[8] = 25;
break;
}
case 2:
{
- dofs[0] = 6;
- dofs[1] = 16;
- dofs[2] = 26;
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ dofs[3] = 11;
+ dofs[4] = 12;
+ dofs[5] = 16;
+ dofs[6] = 21;
+ dofs[7] = 22;
+ dofs[8] = 26;
break;
}
case 3:
{
- dofs[0] = 7;
- dofs[1] = 17;
- dofs[2] = 27;
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ dofs[3] = 10;
+ dofs[4] = 13;
+ dofs[5] = 17;
+ dofs[6] = 20;
+ dofs[7] = 23;
+ dofs[8] = 27;
break;
}
case 4:
{
- dofs[0] = 8;
- dofs[1] = 18;
- dofs[2] = 28;
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ dofs[3] = 10;
+ dofs[4] = 12;
+ dofs[5] = 18;
+ dofs[6] = 20;
+ dofs[7] = 22;
+ dofs[8] = 28;
break;
}
case 5:
{
- dofs[0] = 9;
- dofs[1] = 19;
- dofs[2] = 29;
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ dofs[5] = 19;
+ dofs[6] = 20;
+ dofs[7] = 21;
+ dofs[8] = 29;
break;
}
}
@@ -26108,12 +26711,142 @@ public:
}
case 2:
{
-
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 11;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 15;
+ dofs[11] = 16;
+ dofs[12] = 21;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 25;
+ dofs[17] = 26;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ dofs[6] = 10;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 17;
+ dofs[11] = 18;
+ dofs[12] = 20;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 27;
+ dofs[17] = 28;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 13;
+ dofs[9] = 15;
+ dofs[10] = 17;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 23;
+ dofs[15] = 25;
+ dofs[16] = 27;
+ dofs[17] = 29;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 12;
+ dofs[9] = 16;
+ dofs[10] = 18;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 22;
+ dofs[15] = 26;
+ dofs[16] = 28;
+ dofs[17] = 29;
+ break;
+ }
+ }
+
break;
}
case 3:
{
-
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ dofs[26] = 26;
+ dofs[27] = 27;
+ dofs[28] = 28;
+ dofs[29] = 29;
break;
}
}
@@ -26256,6 +26989,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 4;
+ break;
+ }
+ case 1:
+ {
+ return 11;
+ break;
+ }
+ case 2:
+ {
+ return 21;
+ break;
+ }
+ case 3:
+ {
+ return 34;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -26537,6 +27299,324 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ dofs[2] = 20;
+ dofs[3] = 30;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ dofs[2] = 21;
+ dofs[3] = 31;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ dofs[2] = 22;
+ dofs[3] = 32;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 13;
+ dofs[2] = 23;
+ dofs[3] = 33;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 12;
+ dofs[4] = 13;
+ dofs[5] = 14;
+ dofs[6] = 22;
+ dofs[7] = 23;
+ dofs[8] = 24;
+ dofs[9] = 32;
+ dofs[10] = 33;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 11;
+ dofs[4] = 13;
+ dofs[5] = 15;
+ dofs[6] = 21;
+ dofs[7] = 23;
+ dofs[8] = 25;
+ dofs[9] = 31;
+ dofs[10] = 33;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ dofs[3] = 11;
+ dofs[4] = 12;
+ dofs[5] = 16;
+ dofs[6] = 21;
+ dofs[7] = 22;
+ dofs[8] = 26;
+ dofs[9] = 31;
+ dofs[10] = 32;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ dofs[3] = 10;
+ dofs[4] = 13;
+ dofs[5] = 17;
+ dofs[6] = 20;
+ dofs[7] = 23;
+ dofs[8] = 27;
+ dofs[9] = 30;
+ dofs[10] = 33;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ dofs[3] = 10;
+ dofs[4] = 12;
+ dofs[5] = 18;
+ dofs[6] = 20;
+ dofs[7] = 22;
+ dofs[8] = 28;
+ dofs[9] = 30;
+ dofs[10] = 32;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ dofs[3] = 10;
+ dofs[4] = 11;
+ dofs[5] = 19;
+ dofs[6] = 20;
+ dofs[7] = 21;
+ dofs[8] = 29;
+ dofs[9] = 30;
+ dofs[10] = 31;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 11;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 15;
+ dofs[11] = 16;
+ dofs[12] = 21;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 25;
+ dofs[17] = 26;
+ dofs[18] = 31;
+ dofs[19] = 32;
+ dofs[20] = 33;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ dofs[6] = 10;
+ dofs[7] = 12;
+ dofs[8] = 13;
+ dofs[9] = 14;
+ dofs[10] = 17;
+ dofs[11] = 18;
+ dofs[12] = 20;
+ dofs[13] = 22;
+ dofs[14] = 23;
+ dofs[15] = 24;
+ dofs[16] = 27;
+ dofs[17] = 28;
+ dofs[18] = 30;
+ dofs[19] = 32;
+ dofs[20] = 33;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 13;
+ dofs[9] = 15;
+ dofs[10] = 17;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 23;
+ dofs[15] = 25;
+ dofs[16] = 27;
+ dofs[17] = 29;
+ dofs[18] = 30;
+ dofs[19] = 31;
+ dofs[20] = 33;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 10;
+ dofs[7] = 11;
+ dofs[8] = 12;
+ dofs[9] = 16;
+ dofs[10] = 18;
+ dofs[11] = 19;
+ dofs[12] = 20;
+ dofs[13] = 21;
+ dofs[14] = 22;
+ dofs[15] = 26;
+ dofs[16] = 28;
+ dofs[17] = 29;
+ dofs[18] = 30;
+ dofs[19] = 31;
+ dofs[20] = 32;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ dofs[26] = 26;
+ dofs[27] = 27;
+ dofs[28] = 28;
+ dofs[29] = 29;
+ dofs[30] = 30;
+ dofs[31] = 31;
+ dofs[32] = 32;
+ dofs[33] = 33;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -26595,6 +27675,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 121
// Number of operations (multiply-add pairs) for tensor contraction: 3287
@@ -26699,14 +27794,14 @@ public:
// Compute element tensor
A[0] = 0.1*G0_0_0 + 0.1*G0_0_1 + 0.1*G0_0_2 + 0.1*G0_1_0 + 0.1*G0_1_1 + 0.1*G0_1_2 + 0.1*G0_2_0 + 0.1*G0_2_1 + 0.1*G0_2_2 + 0.1*G3_0_0 + 0.1*G3_0_1 + 0.1*G3_0_2 + 0.1*G3_1_0 + 0.1*G3_1_1 + 0.1*G3_1_2 + 0.1*G3_2_0 + 0.1*G3_2_1 + 0.1*G3_2_2 + 0.1*G6_0_0 + 0.1*G6_0_1 + 0.1*G6_0_2 + 0.1*G6_1_0 + 0.1*G6_1_1 + 0.1*G6_1_2 + 0.1*G6_2_0 + 0.1*G6_2_1 + 0.1*G6_2_2;
A[1] = 0.0333333333333333*G0_0_0 + 0.0333333333333333*G0_1_0 + 0.0333333333333333*G0_2_0 + 0.0333333333333333*G3_0_0 + 0.0333333333333333*G3_1_0 + 0.0333333333333333*G3_2_0 + 0.0333333333333333*G6_0_0 + 0.0333333333333333*G6_1_0 + 0.0333333333333333*G6_2_0;
- A[2] = 0.0333333333333334*G0_0_1 + 0.0333333333333333*G0_1_1 + 0.0333333333333333*G0_2_1 + 0.0333333333333334*G3_0_1 + 0.0333333333333333*G3_1_1 + 0.0333333333333333*G3_2_1 + 0.0333333333333334*G6_0_1 + 0.0333333333333333*G6_1_1 + 0.0333333333333333*G6_2_1;
+ A[2] = 0.0333333333333333*G0_0_1 + 0.0333333333333333*G0_1_1 + 0.0333333333333333*G0_2_1 + 0.0333333333333333*G3_0_1 + 0.0333333333333333*G3_1_1 + 0.0333333333333333*G3_2_1 + 0.0333333333333333*G6_0_1 + 0.0333333333333333*G6_1_1 + 0.0333333333333333*G6_2_1;
A[3] = 0.0333333333333334*G0_0_2 + 0.0333333333333334*G0_1_2 + 0.0333333333333334*G0_2_2 + 0.0333333333333334*G3_0_2 + 0.0333333333333334*G3_1_2 + 0.0333333333333334*G3_2_2 + 0.0333333333333334*G6_0_2 + 0.0333333333333334*G6_1_2 + 0.0333333333333334*G6_2_2;
A[4] = 0.0333333333333336*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333336*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333335*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333336*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333336*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333335*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333336*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333336*G6_1_1 + 0.0333333333333335*G6_1_2 + 0.0333333333333335*G6_2_1 + 0.033 [...]
- A[5] = 0.0333333333333336*G0_0_0 + 0.0333333333333335*G0_0_2 + 0.0333333333333336*G0_1_0 + 0.0333333333333336*G0_1_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_2 + 0.0333333333333336*G3_0_0 + 0.0333333333333335*G3_0_2 + 0.0333333333333336*G3_1_0 + 0.0333333333333336*G3_1_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_2 + 0.0333333333333336*G6_0_0 + 0.0333333333333335*G6_0_2 + 0.0333333333333336*G6_1_0 + 0.0333333333333336*G6_1_2 + 0.0333333333333335*G6_2_0 + 0.033 [...]
- A[6] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_1 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_1 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0333333333333335*G6_2_0 + 0.033 [...]
- A[7] = -0.0333333333333336*G0_0_0 - 0.0333333333333336*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333336*G0_1_0 - 0.0333333333333336*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333336*G3_0_0 - 0.0333333333333336*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333336*G3_1_0 - 0.0333333333333336*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.1333333 [...]
- A[8] = -0.0333333333333336*G0_0_0 - 0.133333333333333*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333336*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.133333333333333*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.0333333333333336*G3_0_0 - 0.133333333333333*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333336*G3_1_0 - 0.133333333333333*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.133333333333333*G3_2_1 - 0.03333333 [...]
- A[9] = -0.133333333333333*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.133333333333333*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.133333333333333*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.133333333333333*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.03333333 [...]
+ A[5] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333336*G0_1_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333336*G3_1_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333336*G6_1_2 + 0.0333333333333335*G6_2_0 + 0.033 [...]
+ A[6] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_1_0 + 0.0333333333333336*G0_1_1 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_1 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_1_0 + 0.0333333333333336*G3_1_1 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_1 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_1_0 + 0.0333333333333336*G6_1_1 + 0.0333333333333335*G6_2_0 + 0.033 [...]
+ A[7] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333336*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333336*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.1333333 [...]
+ A[8] = -0.0333333333333335*G0_0_0 - 0.133333333333333*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333336*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.133333333333333*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.133333333333333*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333336*G3_1_0 - 0.133333333333333*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.133333333333333*G3_2_1 - 0.03333333 [...]
+ A[9] = -0.133333333333333*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.133333333333333*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333336*G0_1_2 - 0.133333333333333*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.133333333333333*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.133333333333333*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333336*G3_1_2 - 0.133333333333333*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.03333333 [...]
A[10] = 0.0;
A[11] = 0.0;
A[12] = 0.0;
@@ -26800,15 +27895,15 @@ public:
A[100] = 0.0;
A[101] = 0.0;
A[102] = 0.0333333333333334*G0_2_0 + 0.0333333333333334*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333334*G3_2_0 + 0.0333333333333334*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333334*G6_2_0 + 0.0333333333333334*G6_2_1 + 0.0333333333333334*G6_2_2;
- A[103] = -0.0333333333333334*G0_2_0 - 0.0333333333333334*G3_2_0 - 0.0333333333333334*G6_2_0;
+ A[103] = -0.0333333333333333*G0_2_0 - 0.0333333333333333*G3_2_0 - 0.0333333333333333*G6_2_0;
A[104] = -0.0333333333333333*G0_2_1 - 0.0333333333333333*G3_2_1 - 0.0333333333333333*G6_2_1;
A[105] = 0.1*G0_2_2 + 0.1*G3_2_2 + 0.1*G6_2_2;
- A[106] = 0.1*G0_2_1 - 0.0333333333333343*G0_2_2 + 0.1*G3_2_1 - 0.0333333333333343*G3_2_2 + 0.1*G6_2_1 - 0.0333333333333343*G6_2_2;
- A[107] = 0.1*G0_2_0 - 0.033333333333334*G0_2_2 + 0.1*G3_2_0 - 0.033333333333334*G3_2_2 + 0.1*G6_2_0 - 0.033333333333334*G6_2_2;
- A[108] = -0.033333333333334*G0_2_0 - 0.0333333333333342*G0_2_1 - 0.033333333333334*G3_2_0 - 0.0333333333333342*G3_2_1 - 0.033333333333334*G6_2_0 - 0.0333333333333342*G6_2_1;
+ A[106] = 0.1*G0_2_1 - 0.0333333333333342*G0_2_2 + 0.1*G3_2_1 - 0.0333333333333342*G3_2_2 + 0.1*G6_2_1 - 0.0333333333333342*G6_2_2;
+ A[107] = 0.1*G0_2_0 - 0.0333333333333339*G0_2_2 + 0.1*G3_2_0 - 0.0333333333333339*G3_2_2 + 0.1*G6_2_0 - 0.0333333333333339*G6_2_2;
+ A[108] = -0.033333333333334*G0_2_0 - 0.0333333333333341*G0_2_1 - 0.033333333333334*G3_2_0 - 0.0333333333333341*G3_2_1 - 0.033333333333334*G6_2_0 - 0.0333333333333341*G6_2_1;
A[109] = -0.1*G0_2_0 - 0.1*G0_2_1 - 0.133333333333333*G0_2_2 - 0.1*G3_2_0 - 0.1*G3_2_1 - 0.133333333333333*G3_2_2 - 0.1*G6_2_0 - 0.1*G6_2_1 - 0.133333333333333*G6_2_2;
- A[110] = 0.0333333333333341*G0_2_0 + 0.0333333333333341*G0_2_2 + 0.0333333333333341*G3_2_0 + 0.0333333333333341*G3_2_2 + 0.0333333333333341*G6_2_0 + 0.0333333333333341*G6_2_2;
- A[111] = 0.033333333333334*G0_2_1 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_2_1 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_2_1 + 0.033333333333334*G6_2_2;
+ A[110] = 0.033333333333334*G0_2_0 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_2_0 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_2_0 + 0.033333333333334*G6_2_2;
+ A[111] = 0.033333333333334*G0_2_1 + 0.0333333333333339*G0_2_2 + 0.033333333333334*G3_2_1 + 0.0333333333333339*G3_2_2 + 0.033333333333334*G6_2_1 + 0.0333333333333339*G6_2_2;
A[112] = 0.0;
A[113] = 0.0;
A[114] = 0.0;
@@ -26836,12 +27931,12 @@ public:
A[136] = 0.0333333333333336*G0_1_0 + 0.0333333333333336*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G0_2_1 + 0.0333333333333334*G0_2_2 + 0.0333333333333336*G3_1_0 + 0.0333333333333336*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G3_2_1 + 0.0333333333333334*G3_2_2 + 0.0333333333333336*G6_1_0 + 0.0333333333333336*G6_1_1 + 0.0333333333333335*G6_1_2 + 0.0333333333333335*G6_2_0 + 0.0333333333333335*G6_2_1 + 0.0 [...]
A[137] = -0.0333333333333335*G0_1_0 - 0.0333333333333334*G0_2_0 - 0.0333333333333335*G3_1_0 - 0.0333333333333334*G3_2_0 - 0.0333333333333335*G6_1_0 - 0.0333333333333334*G6_2_0;
A[138] = -0.0333333333333337*G0_1_1 + 0.1*G0_2_1 - 0.0333333333333337*G3_1_1 + 0.1*G3_2_1 - 0.0333333333333337*G6_1_1 + 0.1*G6_2_1;
- A[139] = 0.1*G0_1_2 - 0.0333333333333343*G0_2_2 + 0.1*G3_1_2 - 0.0333333333333343*G3_2_2 + 0.1*G6_1_2 - 0.0333333333333343*G6_2_2;
+ A[139] = 0.1*G0_1_2 - 0.0333333333333342*G0_2_2 + 0.1*G3_1_2 - 0.0333333333333342*G3_2_2 + 0.1*G6_1_2 - 0.0333333333333342*G6_2_2;
A[140] = 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3_2_2 + 0.266666666666667*G6_1_1 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_1 + 0.266666666666667*G6_2_2;
A[141] = 0.266666666666667*G0_1_0 + 0.133333333333335*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333335*G0_2_2 + 0.266666666666667*G3_1_0 + 0.133333333333335*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333335*G3_2_2 + 0.266666666666667*G6_1_0 + 0.133333333333335*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333335*G6_2_2;
A[142] = 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_1 + 0.266666666666667*G0_2_0 + 0.133333333333335*G0_2_1 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_1 + 0.266666666666667*G3_2_0 + 0.133333333333335*G3_2_1 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_1 + 0.266666666666667*G6_2_0 + 0.133333333333335*G6_2_1;
A[143] = -0.266666666666667*G0_1_0 - 0.266666666666667*G0_1_1 - 0.133333333333333*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.266666666666667*G3_1_0 - 0.266666666666667*G3_1_1 - 0.133333333333333*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.266666666666667*G6_1_0 - 0.266666666666667*G6_1_1 - 0.133333333333333*G6_1_2 - 0.133333333333333*G6_2_0 - 0.133333333333333*G6_2_1;
- A[144] = -0.133333333333334*G0_1_0 - 0.133333333333333*G0_1_2 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_1_0 - 0.133333333333333*G3_1_2 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_1_0 - 0.133333333333333*G6_1_2 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1 - 0.266666666666667*G6_2_2;
+ A[144] = -0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_2 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1 - 0.266666666666667*G6_2_2;
A[145] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_1_1 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_1_1 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.133333333333334*G6_2_2;
A[146] = 0.0;
A[147] = 0.0;
@@ -26867,16 +27962,16 @@ public:
A[167] = 0.0;
A[168] = 0.0;
A[169] = 0.0;
- A[170] = 0.0333333333333336*G0_0_0 + 0.0333333333333336*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333336*G0_2_1 + 0.0333333333333335*G0_2_2 + 0.0333333333333336*G3_0_0 + 0.0333333333333336*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333336*G3_2_1 + 0.0333333333333335*G3_2_2 + 0.0333333333333336*G6_0_0 + 0.0333333333333336*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_2_0 + 0.0333333333333336*G6_2_1 + 0.0 [...]
+ A[170] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_2_0 + 0.0333333333333336*G0_2_1 + 0.0333333333333335*G0_2_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_2_0 + 0.0333333333333336*G3_2_1 + 0.0333333333333335*G3_2_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_2_0 + 0.0333333333333336*G6_2_1 + 0.0 [...]
A[171] = -0.0333333333333335*G0_0_0 + 0.1*G0_2_0 - 0.0333333333333335*G3_0_0 + 0.1*G3_2_0 - 0.0333333333333335*G6_0_0 + 0.1*G6_2_0;
A[172] = -0.0333333333333337*G0_0_1 - 0.0333333333333338*G0_2_1 - 0.0333333333333337*G3_0_1 - 0.0333333333333338*G3_2_1 - 0.0333333333333337*G6_0_1 - 0.0333333333333338*G6_2_1;
- A[173] = 0.1*G0_0_2 - 0.033333333333334*G0_2_2 + 0.1*G3_0_2 - 0.033333333333334*G3_2_2 + 0.1*G6_0_2 - 0.033333333333334*G6_2_2;
+ A[173] = 0.1*G0_0_2 - 0.0333333333333339*G0_2_2 + 0.1*G3_0_2 - 0.0333333333333339*G3_2_2 + 0.1*G6_0_2 - 0.0333333333333339*G6_2_2;
A[174] = 0.266666666666667*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333335*G0_2_1 + 0.133333333333335*G0_2_2 + 0.266666666666667*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333335*G3_2_1 + 0.133333333333335*G3_2_2 + 0.266666666666667*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333335*G6_2_1 + 0.133333333333335*G6_2_2;
- A[175] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_2_0 + 0.266666666666669*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_2_0 + 0.266666666666669*G3_2_2 + 0.266666666666667*G6_0_0 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_2_0 + 0.266666666666669*G6_2_2;
- A[176] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333334*G0_2_0 + 0.266666666666669*G0_2_1 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_2_0 + 0.266666666666669*G3_2_1 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_2_0 + 0.266666666666669*G6_2_1;
+ A[175] = 0.266666666666667*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333335*G0_2_0 + 0.266666666666669*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333335*G3_0_2 + 0.133333333333335*G3_2_0 + 0.266666666666669*G3_2_2 + 0.266666666666667*G6_0_0 + 0.133333333333335*G6_0_2 + 0.133333333333335*G6_2_0 + 0.266666666666669*G6_2_2;
+ A[176] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333335*G0_2_0 + 0.266666666666669*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333335*G3_2_0 + 0.266666666666669*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333335*G6_2_0 + 0.266666666666669*G6_2_1;
A[177] = -0.266666666666667*G0_0_0 - 0.266666666666667*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333335*G0_2_1 - 0.266666666666667*G3_0_0 - 0.266666666666667*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333335*G3_2_0 - 0.133333333333335*G3_2_1 - 0.266666666666667*G6_0_0 - 0.266666666666667*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333335*G6_2_0 - 0.133333333333335*G6_2_1;
- A[178] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_2 - 0.133333333333334*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_2 - 0.133333333333334*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333333*G6_0_0 - 0.133333333333333*G6_0_2 - 0.133333333333334*G6_2_0 - 0.133333333333334*G6_2_2;
- A[179] = -0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1 - 0.266666666666668*G6_2_2;
+ A[178] = -0.133333333333334*G0_0_0 - 0.133333333333333*G0_0_2 - 0.133333333333335*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_0_0 - 0.133333333333333*G3_0_2 - 0.133333333333335*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_0_0 - 0.133333333333333*G6_0_2 - 0.133333333333335*G6_2_0 - 0.133333333333334*G6_2_2;
+ A[179] = -0.133333333333333*G0_0_1 - 0.133333333333334*G0_0_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_1 - 0.133333333333334*G3_0_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_1 - 0.133333333333334*G6_0_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1 - 0.266666666666668*G6_2_2;
A[180] = 0.0;
A[181] = 0.0;
A[182] = 0.0;
@@ -26901,15 +27996,15 @@ public:
A[201] = 0.0;
A[202] = 0.0;
A[203] = 0.0;
- A[204] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333335*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333335*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333335*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333335*G6_1_1 + 0.0 [...]
+ A[204] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_0_1 + 0.0333333333333334*G0_0_2 + 0.0333333333333335*G0_1_0 + 0.0333333333333336*G0_1_1 + 0.0333333333333335*G0_1_2 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_0_1 + 0.0333333333333334*G3_0_2 + 0.0333333333333335*G3_1_0 + 0.0333333333333336*G3_1_1 + 0.0333333333333335*G3_1_2 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_0_1 + 0.0333333333333334*G6_0_2 + 0.0333333333333335*G6_1_0 + 0.0333333333333336*G6_1_1 + 0.0 [...]
A[205] = -0.0333333333333335*G0_0_0 + 0.1*G0_1_0 - 0.0333333333333335*G3_0_0 + 0.1*G3_1_0 - 0.0333333333333335*G6_0_0 + 0.1*G6_1_0;
A[206] = 0.1*G0_0_1 - 0.0333333333333336*G0_1_1 + 0.1*G3_0_1 - 0.0333333333333336*G3_1_1 + 0.1*G6_0_1 - 0.0333333333333336*G6_1_1;
A[207] = -0.033333333333334*G0_0_2 - 0.0333333333333342*G0_1_2 - 0.033333333333334*G3_0_2 - 0.0333333333333342*G3_1_2 - 0.033333333333334*G6_0_2 - 0.0333333333333342*G6_1_2;
A[208] = 0.133333333333334*G0_0_1 + 0.266666666666667*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333335*G0_1_2 + 0.133333333333334*G3_0_1 + 0.266666666666667*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333335*G3_1_2 + 0.133333333333334*G6_0_1 + 0.266666666666667*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333335*G6_1_2;
- A[209] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_2 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_2 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_2;
+ A[209] = 0.133333333333334*G0_0_0 + 0.133333333333335*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_2 + 0.133333333333334*G3_0_0 + 0.133333333333335*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_2 + 0.133333333333334*G6_0_0 + 0.133333333333335*G6_0_2 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_2;
A[210] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333334*G0_1_0 + 0.266666666666669*G0_1_1 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_1_0 + 0.266666666666669*G3_1_1 + 0.266666666666667*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_1_0 + 0.266666666666669*G6_1_1;
- A[211] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333333*G6_0_0 - 0.133333333333333*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
- A[212] = -0.266666666666667*G0_0_0 - 0.133333333333333*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G3_0_0 - 0.133333333333333*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G6_0_0 - 0.133333333333333*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_2;
+ A[211] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333334*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333334*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
+ A[212] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_2 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_2 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_2;
A[213] = -0.133333333333334*G0_0_1 - 0.133333333333333*G0_0_2 - 0.133333333333333*G0_1_0 - 0.266666666666668*G0_1_1 - 0.266666666666668*G0_1_2 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_1_0 - 0.266666666666668*G3_1_1 - 0.266666666666668*G3_1_2 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_1_0 - 0.266666666666668*G6_1_1 - 0.266666666666668*G6_1_2;
A[214] = 0.0;
A[215] = 0.0;
@@ -26935,16 +28030,16 @@ public:
A[235] = 0.0;
A[236] = 0.0;
A[237] = 0.0;
- A[238] = -0.0333333333333336*G0_0_0 - 0.0333333333333336*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333336*G0_1_0 - 0.0333333333333336*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333336*G3_0_0 - 0.0333333333333336*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333336*G3_1_0 - 0.0333333333333336*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.13333 [...]
+ A[238] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333336*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.133333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333336*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.133333333333333*G3_2_1 - 0.13333 [...]
A[239] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_1_0 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_1_0 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_1_0;
A[240] = 0.0333333333333337*G0_0_1 + 0.0333333333333337*G0_1_1 + 0.0333333333333337*G3_0_1 + 0.0333333333333337*G3_1_1 + 0.0333333333333337*G6_0_1 + 0.0333333333333337*G6_1_1;
A[241] = -0.1*G0_0_2 - 0.1*G0_1_2 - 0.133333333333333*G0_2_2 - 0.1*G3_0_2 - 0.1*G3_1_2 - 0.133333333333333*G3_2_2 - 0.1*G6_0_2 - 0.1*G6_1_2 - 0.133333333333333*G6_2_2;
A[242] = -0.266666666666667*G0_0_1 - 0.133333333333333*G0_0_2 - 0.266666666666667*G0_1_1 - 0.133333333333333*G0_1_2 - 0.133333333333333*G0_2_1 - 0.266666666666667*G3_0_1 - 0.133333333333333*G3_0_2 - 0.266666666666667*G3_1_1 - 0.133333333333333*G3_1_2 - 0.133333333333333*G3_2_1 - 0.266666666666667*G6_0_1 - 0.133333333333333*G6_0_2 - 0.266666666666667*G6_1_1 - 0.133333333333333*G6_1_2 - 0.133333333333333*G6_2_1;
- A[243] = -0.266666666666667*G0_0_0 - 0.133333333333335*G0_0_2 - 0.266666666666667*G0_1_0 - 0.133333333333335*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666667*G3_0_0 - 0.133333333333335*G3_0_2 - 0.266666666666667*G3_1_0 - 0.133333333333335*G3_1_2 - 0.133333333333334*G3_2_0 - 0.266666666666667*G6_0_0 - 0.133333333333335*G6_0_2 - 0.266666666666667*G6_1_0 - 0.133333333333335*G6_1_2 - 0.133333333333334*G6_2_0;
- A[244] = -0.133333333333333*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333333*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333333*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333333*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_1_0 - 0.133333333333334*G6_1_1;
- A[245] = 0.266666666666667*G0_0_0 + 0.266666666666667*G0_0_1 + 0.133333333333334*G0_0_2 + 0.266666666666667*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.266666666666667*G3_0_1 + 0.133333333333334*G3_0_2 + 0.266666666666667*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333334*G3_2_0 + 0.133333333333334*G3_2_1 + 0.266666666666667*G3 [...]
- A[246] = 0.133333333333333*G0_0_0 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_1 + 0.133333333333333*G3_0_0 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_1 + 0.133333333333333*G6_0_0 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_1;
- A[247] = 0.133333333333333*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_1_2 + 0.133333333333333*G6_2_0;
+ A[243] = -0.266666666666667*G0_0_0 - 0.133333333333335*G0_0_2 - 0.266666666666667*G0_1_0 - 0.133333333333335*G0_1_2 - 0.133333333333333*G0_2_0 - 0.266666666666667*G3_0_0 - 0.133333333333335*G3_0_2 - 0.266666666666667*G3_1_0 - 0.133333333333335*G3_1_2 - 0.133333333333333*G3_2_0 - 0.266666666666667*G6_0_0 - 0.133333333333335*G6_0_2 - 0.266666666666667*G6_1_0 - 0.133333333333335*G6_1_2 - 0.133333333333333*G6_2_0;
+ A[244] = -0.133333333333334*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333334*G0_1_0 - 0.133333333333334*G0_1_1 - 0.133333333333334*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_1_0 - 0.133333333333334*G3_1_1 - 0.133333333333334*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_1_0 - 0.133333333333334*G6_1_1;
+ A[245] = 0.266666666666667*G0_0_0 + 0.266666666666667*G0_0_1 + 0.133333333333333*G0_0_2 + 0.266666666666667*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.266666666666667*G3_0_1 + 0.133333333333333*G3_0_2 + 0.266666666666667*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3 [...]
+ A[246] = 0.133333333333334*G0_0_0 + 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_1;
+ A[247] = 0.133333333333333*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G3_0_1 + 0.133333333333334*G3_0_2 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G6_0_1 + 0.133333333333334*G6_0_2 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_1_2 + 0.133333333333333*G6_2_0;
A[248] = 0.0;
A[249] = 0.0;
A[250] = 0.0;
@@ -26969,16 +28064,16 @@ public:
A[269] = 0.0;
A[270] = 0.0;
A[271] = 0.0;
- A[272] = -0.0333333333333336*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.133333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.0333333333333336*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.133333333333333*G3_1_0 - 0.133333333333333*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.033333 [...]
+ A[272] = -0.0333333333333335*G0_0_0 - 0.0333333333333335*G0_0_1 - 0.0333333333333335*G0_0_2 - 0.133333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.133333333333333*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333334*G0_2_2 - 0.0333333333333335*G3_0_0 - 0.0333333333333335*G3_0_1 - 0.0333333333333335*G3_0_2 - 0.133333333333333*G3_1_0 - 0.133333333333333*G3_1_1 - 0.133333333333333*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.033333 [...]
A[273] = 0.0333333333333335*G0_0_0 + 0.0333333333333335*G0_2_0 + 0.0333333333333335*G3_0_0 + 0.0333333333333335*G3_2_0 + 0.0333333333333335*G6_0_0 + 0.0333333333333335*G6_2_0;
A[274] = -0.1*G0_0_1 - 0.133333333333333*G0_1_1 - 0.1*G0_2_1 - 0.1*G3_0_1 - 0.133333333333333*G3_1_1 - 0.1*G3_2_1 - 0.1*G6_0_1 - 0.133333333333333*G6_1_1 - 0.1*G6_2_1;
- A[275] = 0.0333333333333341*G0_0_2 + 0.0333333333333341*G0_2_2 + 0.0333333333333341*G3_0_2 + 0.0333333333333341*G3_2_2 + 0.0333333333333341*G6_0_2 + 0.0333333333333341*G6_2_2;
- A[276] = -0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_2 - 0.133333333333333*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_2 - 0.133333333333333*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_2 - 0.133333333333333*G6_2_1 - 0.266666666666667*G6_2_2;
- A[277] = -0.133333333333333*G0_0_0 - 0.133333333333334*G0_0_2 - 0.133333333333333*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333334*G3_0_2 - 0.133333333333333*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333333*G6_0_0 - 0.133333333333334*G6_0_2 - 0.133333333333333*G6_2_0 - 0.133333333333334*G6_2_2;
- A[278] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333333*G0_1_0 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333333*G3_1_0 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333333*G6_1_0 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1;
- A[279] = 0.133333333333333*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.133333333333333*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.133333333333333*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_1;
+ A[275] = 0.033333333333334*G0_0_2 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_0_2 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_0_2 + 0.033333333333334*G6_2_2;
+ A[276] = -0.133333333333334*G0_0_1 - 0.266666666666667*G0_0_2 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.266666666666667*G0_2_2 - 0.133333333333334*G3_0_1 - 0.266666666666667*G3_0_2 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.266666666666667*G3_2_2 - 0.133333333333334*G6_0_1 - 0.266666666666667*G6_0_2 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.266666666666667*G6_2_2;
+ A[277] = -0.133333333333334*G0_0_0 - 0.133333333333335*G0_0_2 - 0.133333333333333*G0_2_0 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_0_0 - 0.133333333333335*G3_0_2 - 0.133333333333333*G3_2_0 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_0_0 - 0.133333333333335*G6_0_2 - 0.133333333333333*G6_2_0 - 0.133333333333334*G6_2_2;
+ A[278] = -0.266666666666667*G0_0_0 - 0.133333333333334*G0_0_1 - 0.133333333333334*G0_1_0 - 0.266666666666667*G0_2_0 - 0.133333333333334*G0_2_1 - 0.266666666666667*G3_0_0 - 0.133333333333334*G3_0_1 - 0.133333333333334*G3_1_0 - 0.266666666666667*G3_2_0 - 0.133333333333334*G3_2_1 - 0.266666666666667*G6_0_0 - 0.133333333333334*G6_0_1 - 0.133333333333334*G6_1_0 - 0.266666666666667*G6_2_0 - 0.133333333333334*G6_2_1;
+ A[279] = 0.133333333333334*G0_0_0 + 0.133333333333334*G0_0_1 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_1 + 0.133333333333334*G3_0_0 + 0.133333333333334*G3_0_1 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_1 + 0.133333333333334*G6_0_0 + 0.133333333333334*G6_0_1 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_1;
A[280] = 0.266666666666667*G0_0_0 + 0.133333333333334*G0_0_1 + 0.266666666666667*G0_0_2 + 0.133333333333334*G0_1_0 + 0.266666666666667*G0_1_1 + 0.133333333333333*G0_1_2 + 0.266666666666667*G0_2_0 + 0.133333333333333*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666667*G3_0_0 + 0.133333333333334*G3_0_1 + 0.266666666666667*G3_0_2 + 0.133333333333334*G3_1_0 + 0.266666666666667*G3_1_1 + 0.133333333333333*G3_1_2 + 0.266666666666667*G3_2_0 + 0.133333333333333*G3_2_1 + 0.266666666666667*G3 [...]
- A[281] = 0.133333333333334*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333333*G0_2_1 + 0.133333333333333*G0_2_2 + 0.133333333333334*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333333*G3_2_1 + 0.133333333333333*G3_2_2 + 0.133333333333334*G6_0_1 + 0.133333333333333*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333333*G6_2_1 + 0.133333333333333*G6_2_2;
+ A[281] = 0.133333333333334*G0_0_1 + 0.133333333333334*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333334*G0_2_1 + 0.133333333333333*G0_2_2 + 0.133333333333334*G3_0_1 + 0.133333333333334*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333334*G3_2_1 + 0.133333333333333*G3_2_2 + 0.133333333333334*G6_0_1 + 0.133333333333334*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333334*G6_2_1 + 0.133333333333333*G6_2_2;
A[282] = 0.0;
A[283] = 0.0;
A[284] = 0.0;
@@ -27003,15 +28098,15 @@ public:
A[303] = 0.0;
A[304] = 0.0;
A[305] = 0.0;
- A[306] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333335*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333335*G3_2_1 - 0.033333 [...]
+ A[306] = -0.133333333333333*G0_0_0 - 0.133333333333333*G0_0_1 - 0.133333333333333*G0_0_2 - 0.0333333333333335*G0_1_0 - 0.0333333333333335*G0_1_1 - 0.0333333333333335*G0_1_2 - 0.0333333333333335*G0_2_0 - 0.0333333333333336*G0_2_1 - 0.0333333333333335*G0_2_2 - 0.133333333333333*G3_0_0 - 0.133333333333333*G3_0_1 - 0.133333333333333*G3_0_2 - 0.0333333333333335*G3_1_0 - 0.0333333333333335*G3_1_1 - 0.0333333333333335*G3_1_2 - 0.0333333333333335*G3_2_0 - 0.0333333333333336*G3_2_1 - 0.033333 [...]
A[307] = -0.133333333333333*G0_0_0 - 0.1*G0_1_0 - 0.1*G0_2_0 - 0.133333333333333*G3_0_0 - 0.1*G3_1_0 - 0.1*G3_2_0 - 0.133333333333333*G6_0_0 - 0.1*G6_1_0 - 0.1*G6_2_0;
A[308] = 0.0333333333333337*G0_1_1 + 0.0333333333333338*G0_2_1 + 0.0333333333333337*G3_1_1 + 0.0333333333333338*G3_2_1 + 0.0333333333333337*G6_1_1 + 0.0333333333333338*G6_2_1;
- A[309] = 0.033333333333334*G0_1_2 + 0.033333333333334*G0_2_2 + 0.033333333333334*G3_1_2 + 0.033333333333334*G3_2_2 + 0.033333333333334*G6_1_2 + 0.033333333333334*G6_2_2;
+ A[309] = 0.033333333333334*G0_1_2 + 0.0333333333333339*G0_2_2 + 0.033333333333334*G3_1_2 + 0.0333333333333339*G3_2_2 + 0.033333333333334*G6_1_2 + 0.0333333333333339*G6_2_2;
A[310] = -0.133333333333334*G0_1_1 - 0.133333333333334*G0_1_2 - 0.133333333333334*G0_2_1 - 0.133333333333334*G0_2_2 - 0.133333333333334*G3_1_1 - 0.133333333333334*G3_1_2 - 0.133333333333334*G3_2_1 - 0.133333333333334*G3_2_2 - 0.133333333333334*G6_1_1 - 0.133333333333334*G6_1_2 - 0.133333333333334*G6_2_1 - 0.133333333333334*G6_2_2;
- A[311] = -0.133333333333333*G0_0_2 - 0.133333333333333*G0_1_0 - 0.266666666666668*G0_1_2 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_2 - 0.133333333333333*G3_1_0 - 0.266666666666668*G3_1_2 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_2 - 0.133333333333333*G6_1_0 - 0.266666666666668*G6_1_2 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_2;
+ A[311] = -0.133333333333333*G0_0_2 - 0.133333333333334*G0_1_0 - 0.266666666666668*G0_1_2 - 0.133333333333334*G0_2_0 - 0.266666666666668*G0_2_2 - 0.133333333333333*G3_0_2 - 0.133333333333334*G3_1_0 - 0.266666666666668*G3_1_2 - 0.133333333333334*G3_2_0 - 0.266666666666668*G3_2_2 - 0.133333333333333*G6_0_2 - 0.133333333333334*G6_1_0 - 0.266666666666668*G6_1_2 - 0.133333333333334*G6_2_0 - 0.266666666666668*G6_2_2;
A[312] = -0.133333333333333*G0_0_1 - 0.133333333333334*G0_1_0 - 0.266666666666668*G0_1_1 - 0.133333333333333*G0_2_0 - 0.266666666666668*G0_2_1 - 0.133333333333333*G3_0_1 - 0.133333333333334*G3_1_0 - 0.266666666666668*G3_1_1 - 0.133333333333333*G3_2_0 - 0.266666666666668*G3_2_1 - 0.133333333333333*G6_0_1 - 0.133333333333334*G6_1_0 - 0.266666666666668*G6_1_1 - 0.133333333333333*G6_2_0 - 0.266666666666668*G6_2_1;
- A[313] = 0.133333333333333*G0_0_2 + 0.133333333333333*G0_1_0 + 0.133333333333334*G0_1_1 + 0.133333333333333*G0_2_0 + 0.133333333333334*G0_2_1 + 0.133333333333333*G3_0_2 + 0.133333333333333*G3_1_0 + 0.133333333333334*G3_1_1 + 0.133333333333333*G3_2_0 + 0.133333333333334*G3_2_1 + 0.133333333333333*G6_0_2 + 0.133333333333333*G6_1_0 + 0.133333333333334*G6_1_1 + 0.133333333333333*G6_2_0 + 0.133333333333334*G6_2_1;
- A[314] = 0.133333333333333*G0_0_1 + 0.133333333333334*G0_1_0 + 0.133333333333333*G0_1_2 + 0.133333333333333*G0_2_0 + 0.133333333333333*G0_2_2 + 0.133333333333333*G3_0_1 + 0.133333333333334*G3_1_0 + 0.133333333333333*G3_1_2 + 0.133333333333333*G3_2_0 + 0.133333333333333*G3_2_2 + 0.133333333333333*G6_0_1 + 0.133333333333334*G6_1_0 + 0.133333333333333*G6_1_2 + 0.133333333333333*G6_2_0 + 0.133333333333333*G6_2_2;
+ A[313] = 0.133333333333333*G0_0_2 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_1 + 0.133333333333334*G0_2_0 + 0.133333333333334*G0_2_1 + 0.133333333333333*G3_0_2 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_1 + 0.133333333333334*G3_2_0 + 0.133333333333334*G3_2_1 + 0.133333333333333*G6_0_2 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_1 + 0.133333333333334*G6_2_0 + 0.133333333333334*G6_2_1;
+ A[314] = 0.133333333333333*G0_0_1 + 0.133333333333334*G0_1_0 + 0.133333333333334*G0_1_2 + 0.133333333333334*G0_2_0 + 0.133333333333333*G0_2_2 + 0.133333333333333*G3_0_1 + 0.133333333333334*G3_1_0 + 0.133333333333334*G3_1_2 + 0.133333333333334*G3_2_0 + 0.133333333333333*G3_2_2 + 0.133333333333333*G6_0_1 + 0.133333333333334*G6_1_0 + 0.133333333333334*G6_1_2 + 0.133333333333334*G6_2_0 + 0.133333333333333*G6_2_2;
A[315] = 0.266666666666666*G0_0_0 + 0.133333333333333*G0_0_1 + 0.133333333333333*G0_0_2 + 0.133333333333333*G0_1_0 + 0.266666666666667*G0_1_1 + 0.266666666666667*G0_1_2 + 0.133333333333333*G0_2_0 + 0.266666666666667*G0_2_1 + 0.266666666666667*G0_2_2 + 0.266666666666666*G3_0_0 + 0.133333333333333*G3_0_1 + 0.133333333333333*G3_0_2 + 0.133333333333333*G3_1_0 + 0.266666666666667*G3_1_1 + 0.266666666666667*G3_1_2 + 0.133333333333333*G3_2_0 + 0.266666666666667*G3_2_1 + 0.266666666666667*G3 [...]
A[316] = 0.0;
A[317] = 0.0;
@@ -27049,14 +28144,14 @@ public:
A[349] = 0.0;
A[350] = 0.1*G1_0_0 + 0.1*G1_0_1 + 0.1*G1_0_2 + 0.1*G1_1_0 + 0.1*G1_1_1 + 0.1*G1_1_2 + 0.1*G1_2_0 + 0.1*G1_2_1 + 0.1*G1_2_2 + 0.1*G4_0_0 + 0.1*G4_0_1 + 0.1*G4_0_2 + 0.1*G4_1_0 + 0.1*G4_1_1 + 0.1*G4_1_2 + 0.1*G4_2_0 + 0.1*G4_2_1 + 0.1*G4_2_2 + 0.1*G7_0_0 + 0.1*G7_0_1 + 0.1*G7_0_2 + 0.1*G7_1_0 + 0.1*G7_1_1 + 0.1*G7_1_2 + 0.1*G7_2_0 + 0.1*G7_2_1 + 0.1*G7_2_2;
A[351] = 0.0333333333333333*G1_0_0 + 0.0333333333333333*G1_1_0 + 0.0333333333333333*G1_2_0 + 0.0333333333333333*G4_0_0 + 0.0333333333333333*G4_1_0 + 0.0333333333333333*G4_2_0 + 0.0333333333333333*G7_0_0 + 0.0333333333333333*G7_1_0 + 0.0333333333333333*G7_2_0;
- A[352] = 0.0333333333333334*G1_0_1 + 0.0333333333333333*G1_1_1 + 0.0333333333333333*G1_2_1 + 0.0333333333333334*G4_0_1 + 0.0333333333333333*G4_1_1 + 0.0333333333333333*G4_2_1 + 0.0333333333333334*G7_0_1 + 0.0333333333333333*G7_1_1 + 0.0333333333333333*G7_2_1;
+ A[352] = 0.0333333333333333*G1_0_1 + 0.0333333333333333*G1_1_1 + 0.0333333333333333*G1_2_1 + 0.0333333333333333*G4_0_1 + 0.0333333333333333*G4_1_1 + 0.0333333333333333*G4_2_1 + 0.0333333333333333*G7_0_1 + 0.0333333333333333*G7_1_1 + 0.0333333333333333*G7_2_1;
A[353] = 0.0333333333333334*G1_0_2 + 0.0333333333333334*G1_1_2 + 0.0333333333333334*G1_2_2 + 0.0333333333333334*G4_0_2 + 0.0333333333333334*G4_1_2 + 0.0333333333333334*G4_2_2 + 0.0333333333333334*G7_0_2 + 0.0333333333333334*G7_1_2 + 0.0333333333333334*G7_2_2;
A[354] = 0.0333333333333336*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333336*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333335*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333336*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333336*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333335*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333336*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333336*G7_1_1 + 0.0333333333333335*G7_1_2 + 0.0333333333333335*G7_2_1 + 0.0 [...]
- A[355] = 0.0333333333333336*G1_0_0 + 0.0333333333333335*G1_0_2 + 0.0333333333333336*G1_1_0 + 0.0333333333333336*G1_1_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_2 + 0.0333333333333336*G4_0_0 + 0.0333333333333335*G4_0_2 + 0.0333333333333336*G4_1_0 + 0.0333333333333336*G4_1_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_2 + 0.0333333333333336*G7_0_0 + 0.0333333333333335*G7_0_2 + 0.0333333333333336*G7_1_0 + 0.0333333333333336*G7_1_2 + 0.0333333333333335*G7_2_0 + 0.0 [...]
- A[356] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_1 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_1 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0333333333333335*G7_2_0 + 0.0 [...]
- A[357] = -0.0333333333333336*G1_0_0 - 0.0333333333333336*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333336*G1_1_0 - 0.0333333333333336*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333336*G4_0_0 - 0.0333333333333336*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333336*G4_1_0 - 0.0333333333333336*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.13333 [...]
- A[358] = -0.0333333333333336*G1_0_0 - 0.133333333333333*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333336*G1_1_0 - 0.133333333333333*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.133333333333333*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.0333333333333336*G4_0_0 - 0.133333333333333*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333336*G4_1_0 - 0.133333333333333*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.133333333333333*G4_2_1 - 0.033333 [...]
- A[359] = -0.133333333333333*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.133333333333333*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.133333333333333*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.133333333333333*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
+ A[355] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333336*G1_1_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333336*G4_1_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333336*G7_1_2 + 0.0333333333333335*G7_2_0 + 0.0 [...]
+ A[356] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_1_0 + 0.0333333333333336*G1_1_1 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_1 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_1_0 + 0.0333333333333336*G4_1_1 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_1 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_1_0 + 0.0333333333333336*G7_1_1 + 0.0333333333333335*G7_2_0 + 0.0 [...]
+ A[357] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333336*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333336*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.13333 [...]
+ A[358] = -0.0333333333333335*G1_0_0 - 0.133333333333333*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333336*G1_1_0 - 0.133333333333333*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.133333333333333*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.133333333333333*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333336*G4_1_0 - 0.133333333333333*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.133333333333333*G4_2_1 - 0.033333 [...]
+ A[359] = -0.133333333333333*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.133333333333333*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333336*G1_1_2 - 0.133333333333333*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.133333333333333*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.133333333333333*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333336*G4_1_2 - 0.133333333333333*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
A[360] = 0.0;
A[361] = 0.0;
A[362] = 0.0;
@@ -27150,15 +28245,15 @@ public:
A[450] = 0.0;
A[451] = 0.0;
A[452] = 0.0333333333333334*G1_2_0 + 0.0333333333333334*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333334*G4_2_0 + 0.0333333333333334*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333334*G7_2_0 + 0.0333333333333334*G7_2_1 + 0.0333333333333334*G7_2_2;
- A[453] = -0.0333333333333334*G1_2_0 - 0.0333333333333334*G4_2_0 - 0.0333333333333334*G7_2_0;
+ A[453] = -0.0333333333333333*G1_2_0 - 0.0333333333333333*G4_2_0 - 0.0333333333333333*G7_2_0;
A[454] = -0.0333333333333333*G1_2_1 - 0.0333333333333333*G4_2_1 - 0.0333333333333333*G7_2_1;
A[455] = 0.1*G1_2_2 + 0.1*G4_2_2 + 0.1*G7_2_2;
- A[456] = 0.1*G1_2_1 - 0.0333333333333343*G1_2_2 + 0.1*G4_2_1 - 0.0333333333333343*G4_2_2 + 0.1*G7_2_1 - 0.0333333333333343*G7_2_2;
- A[457] = 0.1*G1_2_0 - 0.033333333333334*G1_2_2 + 0.1*G4_2_0 - 0.033333333333334*G4_2_2 + 0.1*G7_2_0 - 0.033333333333334*G7_2_2;
- A[458] = -0.033333333333334*G1_2_0 - 0.0333333333333342*G1_2_1 - 0.033333333333334*G4_2_0 - 0.0333333333333342*G4_2_1 - 0.033333333333334*G7_2_0 - 0.0333333333333342*G7_2_1;
+ A[456] = 0.1*G1_2_1 - 0.0333333333333342*G1_2_2 + 0.1*G4_2_1 - 0.0333333333333342*G4_2_2 + 0.1*G7_2_1 - 0.0333333333333342*G7_2_2;
+ A[457] = 0.1*G1_2_0 - 0.0333333333333339*G1_2_2 + 0.1*G4_2_0 - 0.0333333333333339*G4_2_2 + 0.1*G7_2_0 - 0.0333333333333339*G7_2_2;
+ A[458] = -0.033333333333334*G1_2_0 - 0.0333333333333341*G1_2_1 - 0.033333333333334*G4_2_0 - 0.0333333333333341*G4_2_1 - 0.033333333333334*G7_2_0 - 0.0333333333333341*G7_2_1;
A[459] = -0.1*G1_2_0 - 0.1*G1_2_1 - 0.133333333333333*G1_2_2 - 0.1*G4_2_0 - 0.1*G4_2_1 - 0.133333333333333*G4_2_2 - 0.1*G7_2_0 - 0.1*G7_2_1 - 0.133333333333333*G7_2_2;
- A[460] = 0.0333333333333341*G1_2_0 + 0.0333333333333341*G1_2_2 + 0.0333333333333341*G4_2_0 + 0.0333333333333341*G4_2_2 + 0.0333333333333341*G7_2_0 + 0.0333333333333341*G7_2_2;
- A[461] = 0.033333333333334*G1_2_1 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_2_1 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_2_1 + 0.033333333333334*G7_2_2;
+ A[460] = 0.033333333333334*G1_2_0 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_2_0 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_2_0 + 0.033333333333334*G7_2_2;
+ A[461] = 0.033333333333334*G1_2_1 + 0.0333333333333339*G1_2_2 + 0.033333333333334*G4_2_1 + 0.0333333333333339*G4_2_2 + 0.033333333333334*G7_2_1 + 0.0333333333333339*G7_2_2;
A[462] = 0.0;
A[463] = 0.0;
A[464] = 0.0;
@@ -27186,12 +28281,12 @@ public:
A[486] = 0.0333333333333336*G1_1_0 + 0.0333333333333336*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G1_2_1 + 0.0333333333333334*G1_2_2 + 0.0333333333333336*G4_1_0 + 0.0333333333333336*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G4_2_1 + 0.0333333333333334*G4_2_2 + 0.0333333333333336*G7_1_0 + 0.0333333333333336*G7_1_1 + 0.0333333333333335*G7_1_2 + 0.0333333333333335*G7_2_0 + 0.0333333333333335*G7_2_1 + 0.0 [...]
A[487] = -0.0333333333333335*G1_1_0 - 0.0333333333333334*G1_2_0 - 0.0333333333333335*G4_1_0 - 0.0333333333333334*G4_2_0 - 0.0333333333333335*G7_1_0 - 0.0333333333333334*G7_2_0;
A[488] = -0.0333333333333337*G1_1_1 + 0.1*G1_2_1 - 0.0333333333333337*G4_1_1 + 0.1*G4_2_1 - 0.0333333333333337*G7_1_1 + 0.1*G7_2_1;
- A[489] = 0.1*G1_1_2 - 0.0333333333333343*G1_2_2 + 0.1*G4_1_2 - 0.0333333333333343*G4_2_2 + 0.1*G7_1_2 - 0.0333333333333343*G7_2_2;
+ A[489] = 0.1*G1_1_2 - 0.0333333333333342*G1_2_2 + 0.1*G4_1_2 - 0.0333333333333342*G4_2_2 + 0.1*G7_1_2 - 0.0333333333333342*G7_2_2;
A[490] = 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4_2_2 + 0.266666666666667*G7_1_1 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_1 + 0.266666666666667*G7_2_2;
A[491] = 0.266666666666667*G1_1_0 + 0.133333333333335*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333335*G1_2_2 + 0.266666666666667*G4_1_0 + 0.133333333333335*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333335*G4_2_2 + 0.266666666666667*G7_1_0 + 0.133333333333335*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333335*G7_2_2;
A[492] = 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_1 + 0.266666666666667*G1_2_0 + 0.133333333333335*G1_2_1 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_1 + 0.266666666666667*G4_2_0 + 0.133333333333335*G4_2_1 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_1 + 0.266666666666667*G7_2_0 + 0.133333333333335*G7_2_1;
A[493] = -0.266666666666667*G1_1_0 - 0.266666666666667*G1_1_1 - 0.133333333333333*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.266666666666667*G4_1_0 - 0.266666666666667*G4_1_1 - 0.133333333333333*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.266666666666667*G7_1_0 - 0.266666666666667*G7_1_1 - 0.133333333333333*G7_1_2 - 0.133333333333333*G7_2_0 - 0.133333333333333*G7_2_1;
- A[494] = -0.133333333333334*G1_1_0 - 0.133333333333333*G1_1_2 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_1_0 - 0.133333333333333*G4_1_2 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_1_0 - 0.133333333333333*G7_1_2 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1 - 0.266666666666667*G7_2_2;
+ A[494] = -0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_2 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1 - 0.266666666666667*G7_2_2;
A[495] = -0.133333333333334*G1_1_1 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_1_1 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_1_1 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.133333333333334*G7_2_2;
A[496] = 0.0;
A[497] = 0.0;
@@ -27217,16 +28312,16 @@ public:
A[517] = 0.0;
A[518] = 0.0;
A[519] = 0.0;
- A[520] = 0.0333333333333336*G1_0_0 + 0.0333333333333336*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333336*G1_2_1 + 0.0333333333333335*G1_2_2 + 0.0333333333333336*G4_0_0 + 0.0333333333333336*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333336*G4_2_1 + 0.0333333333333335*G4_2_2 + 0.0333333333333336*G7_0_0 + 0.0333333333333336*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_2_0 + 0.0333333333333336*G7_2_1 + 0.0 [...]
+ A[520] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_2_0 + 0.0333333333333336*G1_2_1 + 0.0333333333333335*G1_2_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_2_0 + 0.0333333333333336*G4_2_1 + 0.0333333333333335*G4_2_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_2_0 + 0.0333333333333336*G7_2_1 + 0.0 [...]
A[521] = -0.0333333333333335*G1_0_0 + 0.1*G1_2_0 - 0.0333333333333335*G4_0_0 + 0.1*G4_2_0 - 0.0333333333333335*G7_0_0 + 0.1*G7_2_0;
A[522] = -0.0333333333333337*G1_0_1 - 0.0333333333333338*G1_2_1 - 0.0333333333333337*G4_0_1 - 0.0333333333333338*G4_2_1 - 0.0333333333333337*G7_0_1 - 0.0333333333333338*G7_2_1;
- A[523] = 0.1*G1_0_2 - 0.033333333333334*G1_2_2 + 0.1*G4_0_2 - 0.033333333333334*G4_2_2 + 0.1*G7_0_2 - 0.033333333333334*G7_2_2;
+ A[523] = 0.1*G1_0_2 - 0.0333333333333339*G1_2_2 + 0.1*G4_0_2 - 0.0333333333333339*G4_2_2 + 0.1*G7_0_2 - 0.0333333333333339*G7_2_2;
A[524] = 0.266666666666667*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333335*G1_2_1 + 0.133333333333335*G1_2_2 + 0.266666666666667*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333335*G4_2_1 + 0.133333333333335*G4_2_2 + 0.266666666666667*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333335*G7_2_1 + 0.133333333333335*G7_2_2;
- A[525] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_2_0 + 0.266666666666669*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_2_0 + 0.266666666666669*G4_2_2 + 0.266666666666667*G7_0_0 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_2_0 + 0.266666666666669*G7_2_2;
- A[526] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333334*G1_2_0 + 0.266666666666669*G1_2_1 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_2_0 + 0.266666666666669*G4_2_1 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_2_0 + 0.266666666666669*G7_2_1;
+ A[525] = 0.266666666666667*G1_0_0 + 0.133333333333335*G1_0_2 + 0.133333333333335*G1_2_0 + 0.266666666666669*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333335*G4_0_2 + 0.133333333333335*G4_2_0 + 0.266666666666669*G4_2_2 + 0.266666666666667*G7_0_0 + 0.133333333333335*G7_0_2 + 0.133333333333335*G7_2_0 + 0.266666666666669*G7_2_2;
+ A[526] = 0.133333333333334*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333335*G1_2_0 + 0.266666666666669*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333335*G4_2_0 + 0.266666666666669*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333335*G7_2_0 + 0.266666666666669*G7_2_1;
A[527] = -0.266666666666667*G1_0_0 - 0.266666666666667*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333335*G1_2_0 - 0.133333333333335*G1_2_1 - 0.266666666666667*G4_0_0 - 0.266666666666667*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333335*G4_2_0 - 0.133333333333335*G4_2_1 - 0.266666666666667*G7_0_0 - 0.266666666666667*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333335*G7_2_0 - 0.133333333333335*G7_2_1;
- A[528] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_2 - 0.133333333333334*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_2 - 0.133333333333334*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333333*G7_0_0 - 0.133333333333333*G7_0_2 - 0.133333333333334*G7_2_0 - 0.133333333333334*G7_2_2;
- A[529] = -0.133333333333333*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1 - 0.266666666666668*G7_2_2;
+ A[528] = -0.133333333333334*G1_0_0 - 0.133333333333333*G1_0_2 - 0.133333333333335*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_0_0 - 0.133333333333333*G4_0_2 - 0.133333333333335*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_0_0 - 0.133333333333333*G7_0_2 - 0.133333333333335*G7_2_0 - 0.133333333333334*G7_2_2;
+ A[529] = -0.133333333333333*G1_0_1 - 0.133333333333334*G1_0_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_1 - 0.133333333333334*G4_0_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_1 - 0.133333333333334*G7_0_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1 - 0.266666666666668*G7_2_2;
A[530] = 0.0;
A[531] = 0.0;
A[532] = 0.0;
@@ -27251,15 +28346,15 @@ public:
A[551] = 0.0;
A[552] = 0.0;
A[553] = 0.0;
- A[554] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333335*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333335*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333335*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333335*G7_1_1 + 0.0 [...]
+ A[554] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_0_1 + 0.0333333333333334*G1_0_2 + 0.0333333333333335*G1_1_0 + 0.0333333333333336*G1_1_1 + 0.0333333333333335*G1_1_2 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_0_1 + 0.0333333333333334*G4_0_2 + 0.0333333333333335*G4_1_0 + 0.0333333333333336*G4_1_1 + 0.0333333333333335*G4_1_2 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_0_1 + 0.0333333333333334*G7_0_2 + 0.0333333333333335*G7_1_0 + 0.0333333333333336*G7_1_1 + 0.0 [...]
A[555] = -0.0333333333333335*G1_0_0 + 0.1*G1_1_0 - 0.0333333333333335*G4_0_0 + 0.1*G4_1_0 - 0.0333333333333335*G7_0_0 + 0.1*G7_1_0;
A[556] = 0.1*G1_0_1 - 0.0333333333333336*G1_1_1 + 0.1*G4_0_1 - 0.0333333333333336*G4_1_1 + 0.1*G7_0_1 - 0.0333333333333336*G7_1_1;
A[557] = -0.033333333333334*G1_0_2 - 0.0333333333333342*G1_1_2 - 0.033333333333334*G4_0_2 - 0.0333333333333342*G4_1_2 - 0.033333333333334*G7_0_2 - 0.0333333333333342*G7_1_2;
A[558] = 0.133333333333334*G1_0_1 + 0.266666666666667*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333335*G1_1_2 + 0.133333333333334*G4_0_1 + 0.266666666666667*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333335*G4_1_2 + 0.133333333333334*G7_0_1 + 0.266666666666667*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333335*G7_1_2;
- A[559] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_2 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_2 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_2;
+ A[559] = 0.133333333333334*G1_0_0 + 0.133333333333335*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_2 + 0.133333333333334*G4_0_0 + 0.133333333333335*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_2 + 0.133333333333334*G7_0_0 + 0.133333333333335*G7_0_2 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_2;
A[560] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333334*G1_1_0 + 0.266666666666669*G1_1_1 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_1_0 + 0.266666666666669*G4_1_1 + 0.266666666666667*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_1_0 + 0.266666666666669*G7_1_1;
- A[561] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333333*G7_0_0 - 0.133333333333333*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
- A[562] = -0.266666666666667*G1_0_0 - 0.133333333333333*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G4_0_0 - 0.133333333333333*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G7_0_0 - 0.133333333333333*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_2;
+ A[561] = -0.133333333333334*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333334*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333334*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
+ A[562] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_2 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_2 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_2;
A[563] = -0.133333333333334*G1_0_1 - 0.133333333333333*G1_0_2 - 0.133333333333333*G1_1_0 - 0.266666666666668*G1_1_1 - 0.266666666666668*G1_1_2 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_1_0 - 0.266666666666668*G4_1_1 - 0.266666666666668*G4_1_2 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_1_0 - 0.266666666666668*G7_1_1 - 0.266666666666668*G7_1_2;
A[564] = 0.0;
A[565] = 0.0;
@@ -27285,16 +28380,16 @@ public:
A[585] = 0.0;
A[586] = 0.0;
A[587] = 0.0;
- A[588] = -0.0333333333333336*G1_0_0 - 0.0333333333333336*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333336*G1_1_0 - 0.0333333333333336*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333336*G4_0_0 - 0.0333333333333336*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333336*G4_1_0 - 0.0333333333333336*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.13333 [...]
+ A[588] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333336*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.133333333333333*G1_2_1 - 0.133333333333333*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333336*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.133333333333333*G4_2_1 - 0.13333 [...]
A[589] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_1_0 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_1_0 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_1_0;
A[590] = 0.0333333333333337*G1_0_1 + 0.0333333333333337*G1_1_1 + 0.0333333333333337*G4_0_1 + 0.0333333333333337*G4_1_1 + 0.0333333333333337*G7_0_1 + 0.0333333333333337*G7_1_1;
A[591] = -0.1*G1_0_2 - 0.1*G1_1_2 - 0.133333333333333*G1_2_2 - 0.1*G4_0_2 - 0.1*G4_1_2 - 0.133333333333333*G4_2_2 - 0.1*G7_0_2 - 0.1*G7_1_2 - 0.133333333333333*G7_2_2;
A[592] = -0.266666666666667*G1_0_1 - 0.133333333333333*G1_0_2 - 0.266666666666667*G1_1_1 - 0.133333333333333*G1_1_2 - 0.133333333333333*G1_2_1 - 0.266666666666667*G4_0_1 - 0.133333333333333*G4_0_2 - 0.266666666666667*G4_1_1 - 0.133333333333333*G4_1_2 - 0.133333333333333*G4_2_1 - 0.266666666666667*G7_0_1 - 0.133333333333333*G7_0_2 - 0.266666666666667*G7_1_1 - 0.133333333333333*G7_1_2 - 0.133333333333333*G7_2_1;
- A[593] = -0.266666666666667*G1_0_0 - 0.133333333333335*G1_0_2 - 0.266666666666667*G1_1_0 - 0.133333333333335*G1_1_2 - 0.133333333333334*G1_2_0 - 0.266666666666667*G4_0_0 - 0.133333333333335*G4_0_2 - 0.266666666666667*G4_1_0 - 0.133333333333335*G4_1_2 - 0.133333333333334*G4_2_0 - 0.266666666666667*G7_0_0 - 0.133333333333335*G7_0_2 - 0.266666666666667*G7_1_0 - 0.133333333333335*G7_1_2 - 0.133333333333334*G7_2_0;
- A[594] = -0.133333333333333*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333333*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333333*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333333*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_1_0 - 0.133333333333334*G7_1_1;
- A[595] = 0.266666666666667*G1_0_0 + 0.266666666666667*G1_0_1 + 0.133333333333334*G1_0_2 + 0.266666666666667*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333334*G1_2_0 + 0.133333333333334*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.266666666666667*G4_0_1 + 0.133333333333334*G4_0_2 + 0.266666666666667*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333334*G4_2_0 + 0.133333333333334*G4_2_1 + 0.266666666666667*G4 [...]
- A[596] = 0.133333333333333*G1_0_0 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_1 + 0.133333333333333*G4_0_0 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_1 + 0.133333333333333*G7_0_0 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_1;
- A[597] = 0.133333333333333*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_1_2 + 0.133333333333333*G7_2_0;
+ A[593] = -0.266666666666667*G1_0_0 - 0.133333333333335*G1_0_2 - 0.266666666666667*G1_1_0 - 0.133333333333335*G1_1_2 - 0.133333333333333*G1_2_0 - 0.266666666666667*G4_0_0 - 0.133333333333335*G4_0_2 - 0.266666666666667*G4_1_0 - 0.133333333333335*G4_1_2 - 0.133333333333333*G4_2_0 - 0.266666666666667*G7_0_0 - 0.133333333333335*G7_0_2 - 0.266666666666667*G7_1_0 - 0.133333333333335*G7_1_2 - 0.133333333333333*G7_2_0;
+ A[594] = -0.133333333333334*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333334*G1_1_0 - 0.133333333333334*G1_1_1 - 0.133333333333334*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_1_0 - 0.133333333333334*G4_1_1 - 0.133333333333334*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_1_0 - 0.133333333333334*G7_1_1;
+ A[595] = 0.266666666666667*G1_0_0 + 0.266666666666667*G1_0_1 + 0.133333333333333*G1_0_2 + 0.266666666666667*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.266666666666667*G4_0_1 + 0.133333333333333*G4_0_2 + 0.266666666666667*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4 [...]
+ A[596] = 0.133333333333334*G1_0_0 + 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_1;
+ A[597] = 0.133333333333333*G1_0_1 + 0.133333333333334*G1_0_2 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G4_0_1 + 0.133333333333334*G4_0_2 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G7_0_1 + 0.133333333333334*G7_0_2 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_1_2 + 0.133333333333333*G7_2_0;
A[598] = 0.0;
A[599] = 0.0;
A[600] = 0.0;
@@ -27319,16 +28414,16 @@ public:
A[619] = 0.0;
A[620] = 0.0;
A[621] = 0.0;
- A[622] = -0.0333333333333336*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.133333333333333*G1_1_0 - 0.133333333333333*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.0333333333333336*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.133333333333333*G4_1_0 - 0.133333333333333*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
+ A[622] = -0.0333333333333335*G1_0_0 - 0.0333333333333335*G1_0_1 - 0.0333333333333335*G1_0_2 - 0.133333333333333*G1_1_0 - 0.133333333333333*G1_1_1 - 0.133333333333333*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333334*G1_2_2 - 0.0333333333333335*G4_0_0 - 0.0333333333333335*G4_0_1 - 0.0333333333333335*G4_0_2 - 0.133333333333333*G4_1_0 - 0.133333333333333*G4_1_1 - 0.133333333333333*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
A[623] = 0.0333333333333335*G1_0_0 + 0.0333333333333335*G1_2_0 + 0.0333333333333335*G4_0_0 + 0.0333333333333335*G4_2_0 + 0.0333333333333335*G7_0_0 + 0.0333333333333335*G7_2_0;
A[624] = -0.1*G1_0_1 - 0.133333333333333*G1_1_1 - 0.1*G1_2_1 - 0.1*G4_0_1 - 0.133333333333333*G4_1_1 - 0.1*G4_2_1 - 0.1*G7_0_1 - 0.133333333333333*G7_1_1 - 0.1*G7_2_1;
- A[625] = 0.0333333333333341*G1_0_2 + 0.0333333333333341*G1_2_2 + 0.0333333333333341*G4_0_2 + 0.0333333333333341*G4_2_2 + 0.0333333333333341*G7_0_2 + 0.0333333333333341*G7_2_2;
- A[626] = -0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_2 - 0.133333333333333*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_2 - 0.133333333333333*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_2 - 0.133333333333333*G7_2_1 - 0.266666666666667*G7_2_2;
- A[627] = -0.133333333333333*G1_0_0 - 0.133333333333334*G1_0_2 - 0.133333333333333*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333334*G4_0_2 - 0.133333333333333*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333333*G7_0_0 - 0.133333333333334*G7_0_2 - 0.133333333333333*G7_2_0 - 0.133333333333334*G7_2_2;
- A[628] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333333*G1_1_0 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333333*G4_1_0 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333333*G7_1_0 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1;
- A[629] = 0.133333333333333*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.133333333333333*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.133333333333333*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_1;
+ A[625] = 0.033333333333334*G1_0_2 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_0_2 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_0_2 + 0.033333333333334*G7_2_2;
+ A[626] = -0.133333333333334*G1_0_1 - 0.266666666666667*G1_0_2 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.266666666666667*G1_2_2 - 0.133333333333334*G4_0_1 - 0.266666666666667*G4_0_2 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.266666666666667*G4_2_2 - 0.133333333333334*G7_0_1 - 0.266666666666667*G7_0_2 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.266666666666667*G7_2_2;
+ A[627] = -0.133333333333334*G1_0_0 - 0.133333333333335*G1_0_2 - 0.133333333333333*G1_2_0 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_0_0 - 0.133333333333335*G4_0_2 - 0.133333333333333*G4_2_0 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_0_0 - 0.133333333333335*G7_0_2 - 0.133333333333333*G7_2_0 - 0.133333333333334*G7_2_2;
+ A[628] = -0.266666666666667*G1_0_0 - 0.133333333333334*G1_0_1 - 0.133333333333334*G1_1_0 - 0.266666666666667*G1_2_0 - 0.133333333333334*G1_2_1 - 0.266666666666667*G4_0_0 - 0.133333333333334*G4_0_1 - 0.133333333333334*G4_1_0 - 0.266666666666667*G4_2_0 - 0.133333333333334*G4_2_1 - 0.266666666666667*G7_0_0 - 0.133333333333334*G7_0_1 - 0.133333333333334*G7_1_0 - 0.266666666666667*G7_2_0 - 0.133333333333334*G7_2_1;
+ A[629] = 0.133333333333334*G1_0_0 + 0.133333333333334*G1_0_1 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_1 + 0.133333333333334*G4_0_0 + 0.133333333333334*G4_0_1 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_1 + 0.133333333333334*G7_0_0 + 0.133333333333334*G7_0_1 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_1;
A[630] = 0.266666666666667*G1_0_0 + 0.133333333333334*G1_0_1 + 0.266666666666667*G1_0_2 + 0.133333333333334*G1_1_0 + 0.266666666666667*G1_1_1 + 0.133333333333333*G1_1_2 + 0.266666666666667*G1_2_0 + 0.133333333333333*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666667*G4_0_0 + 0.133333333333334*G4_0_1 + 0.266666666666667*G4_0_2 + 0.133333333333334*G4_1_0 + 0.266666666666667*G4_1_1 + 0.133333333333333*G4_1_2 + 0.266666666666667*G4_2_0 + 0.133333333333333*G4_2_1 + 0.266666666666667*G4 [...]
- A[631] = 0.133333333333334*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333333*G1_2_1 + 0.133333333333333*G1_2_2 + 0.133333333333334*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333333*G4_2_1 + 0.133333333333333*G4_2_2 + 0.133333333333334*G7_0_1 + 0.133333333333333*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333333*G7_2_1 + 0.133333333333333*G7_2_2;
+ A[631] = 0.133333333333334*G1_0_1 + 0.133333333333334*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333334*G1_2_1 + 0.133333333333333*G1_2_2 + 0.133333333333334*G4_0_1 + 0.133333333333334*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333334*G4_2_1 + 0.133333333333333*G4_2_2 + 0.133333333333334*G7_0_1 + 0.133333333333334*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333334*G7_2_1 + 0.133333333333333*G7_2_2;
A[632] = 0.0;
A[633] = 0.0;
A[634] = 0.0;
@@ -27353,15 +28448,15 @@ public:
A[653] = 0.0;
A[654] = 0.0;
A[655] = 0.0;
- A[656] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333335*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333335*G4_2_1 - 0.033333 [...]
+ A[656] = -0.133333333333333*G1_0_0 - 0.133333333333333*G1_0_1 - 0.133333333333333*G1_0_2 - 0.0333333333333335*G1_1_0 - 0.0333333333333335*G1_1_1 - 0.0333333333333335*G1_1_2 - 0.0333333333333335*G1_2_0 - 0.0333333333333336*G1_2_1 - 0.0333333333333335*G1_2_2 - 0.133333333333333*G4_0_0 - 0.133333333333333*G4_0_1 - 0.133333333333333*G4_0_2 - 0.0333333333333335*G4_1_0 - 0.0333333333333335*G4_1_1 - 0.0333333333333335*G4_1_2 - 0.0333333333333335*G4_2_0 - 0.0333333333333336*G4_2_1 - 0.033333 [...]
A[657] = -0.133333333333333*G1_0_0 - 0.1*G1_1_0 - 0.1*G1_2_0 - 0.133333333333333*G4_0_0 - 0.1*G4_1_0 - 0.1*G4_2_0 - 0.133333333333333*G7_0_0 - 0.1*G7_1_0 - 0.1*G7_2_0;
A[658] = 0.0333333333333337*G1_1_1 + 0.0333333333333338*G1_2_1 + 0.0333333333333337*G4_1_1 + 0.0333333333333338*G4_2_1 + 0.0333333333333337*G7_1_1 + 0.0333333333333338*G7_2_1;
- A[659] = 0.033333333333334*G1_1_2 + 0.033333333333334*G1_2_2 + 0.033333333333334*G4_1_2 + 0.033333333333334*G4_2_2 + 0.033333333333334*G7_1_2 + 0.033333333333334*G7_2_2;
+ A[659] = 0.033333333333334*G1_1_2 + 0.0333333333333339*G1_2_2 + 0.033333333333334*G4_1_2 + 0.0333333333333339*G4_2_2 + 0.033333333333334*G7_1_2 + 0.0333333333333339*G7_2_2;
A[660] = -0.133333333333334*G1_1_1 - 0.133333333333334*G1_1_2 - 0.133333333333334*G1_2_1 - 0.133333333333334*G1_2_2 - 0.133333333333334*G4_1_1 - 0.133333333333334*G4_1_2 - 0.133333333333334*G4_2_1 - 0.133333333333334*G4_2_2 - 0.133333333333334*G7_1_1 - 0.133333333333334*G7_1_2 - 0.133333333333334*G7_2_1 - 0.133333333333334*G7_2_2;
- A[661] = -0.133333333333333*G1_0_2 - 0.133333333333333*G1_1_0 - 0.266666666666668*G1_1_2 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_2 - 0.133333333333333*G4_1_0 - 0.266666666666668*G4_1_2 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_2 - 0.133333333333333*G7_1_0 - 0.266666666666668*G7_1_2 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_2;
+ A[661] = -0.133333333333333*G1_0_2 - 0.133333333333334*G1_1_0 - 0.266666666666668*G1_1_2 - 0.133333333333334*G1_2_0 - 0.266666666666668*G1_2_2 - 0.133333333333333*G4_0_2 - 0.133333333333334*G4_1_0 - 0.266666666666668*G4_1_2 - 0.133333333333334*G4_2_0 - 0.266666666666668*G4_2_2 - 0.133333333333333*G7_0_2 - 0.133333333333334*G7_1_0 - 0.266666666666668*G7_1_2 - 0.133333333333334*G7_2_0 - 0.266666666666668*G7_2_2;
A[662] = -0.133333333333333*G1_0_1 - 0.133333333333334*G1_1_0 - 0.266666666666668*G1_1_1 - 0.133333333333333*G1_2_0 - 0.266666666666668*G1_2_1 - 0.133333333333333*G4_0_1 - 0.133333333333334*G4_1_0 - 0.266666666666668*G4_1_1 - 0.133333333333333*G4_2_0 - 0.266666666666668*G4_2_1 - 0.133333333333333*G7_0_1 - 0.133333333333334*G7_1_0 - 0.266666666666668*G7_1_1 - 0.133333333333333*G7_2_0 - 0.266666666666668*G7_2_1;
- A[663] = 0.133333333333333*G1_0_2 + 0.133333333333333*G1_1_0 + 0.133333333333334*G1_1_1 + 0.133333333333333*G1_2_0 + 0.133333333333334*G1_2_1 + 0.133333333333333*G4_0_2 + 0.133333333333333*G4_1_0 + 0.133333333333334*G4_1_1 + 0.133333333333333*G4_2_0 + 0.133333333333334*G4_2_1 + 0.133333333333333*G7_0_2 + 0.133333333333333*G7_1_0 + 0.133333333333334*G7_1_1 + 0.133333333333333*G7_2_0 + 0.133333333333334*G7_2_1;
- A[664] = 0.133333333333333*G1_0_1 + 0.133333333333334*G1_1_0 + 0.133333333333333*G1_1_2 + 0.133333333333333*G1_2_0 + 0.133333333333333*G1_2_2 + 0.133333333333333*G4_0_1 + 0.133333333333334*G4_1_0 + 0.133333333333333*G4_1_2 + 0.133333333333333*G4_2_0 + 0.133333333333333*G4_2_2 + 0.133333333333333*G7_0_1 + 0.133333333333334*G7_1_0 + 0.133333333333333*G7_1_2 + 0.133333333333333*G7_2_0 + 0.133333333333333*G7_2_2;
+ A[663] = 0.133333333333333*G1_0_2 + 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_1 + 0.133333333333334*G1_2_0 + 0.133333333333334*G1_2_1 + 0.133333333333333*G4_0_2 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_1 + 0.133333333333334*G4_2_0 + 0.133333333333334*G4_2_1 + 0.133333333333333*G7_0_2 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_1 + 0.133333333333334*G7_2_0 + 0.133333333333334*G7_2_1;
+ A[664] = 0.133333333333333*G1_0_1 + 0.133333333333334*G1_1_0 + 0.133333333333334*G1_1_2 + 0.133333333333334*G1_2_0 + 0.133333333333333*G1_2_2 + 0.133333333333333*G4_0_1 + 0.133333333333334*G4_1_0 + 0.133333333333334*G4_1_2 + 0.133333333333334*G4_2_0 + 0.133333333333333*G4_2_2 + 0.133333333333333*G7_0_1 + 0.133333333333334*G7_1_0 + 0.133333333333334*G7_1_2 + 0.133333333333334*G7_2_0 + 0.133333333333333*G7_2_2;
A[665] = 0.266666666666666*G1_0_0 + 0.133333333333333*G1_0_1 + 0.133333333333333*G1_0_2 + 0.133333333333333*G1_1_0 + 0.266666666666667*G1_1_1 + 0.266666666666667*G1_1_2 + 0.133333333333333*G1_2_0 + 0.266666666666667*G1_2_1 + 0.266666666666667*G1_2_2 + 0.266666666666666*G4_0_0 + 0.133333333333333*G4_0_1 + 0.133333333333333*G4_0_2 + 0.133333333333333*G4_1_0 + 0.266666666666667*G4_1_1 + 0.266666666666667*G4_1_2 + 0.133333333333333*G4_2_0 + 0.266666666666667*G4_2_1 + 0.266666666666667*G4 [...]
A[666] = 0.0;
A[667] = 0.0;
@@ -27399,14 +28494,14 @@ public:
A[699] = 0.0;
A[700] = 0.1*G2_0_0 + 0.1*G2_0_1 + 0.1*G2_0_2 + 0.1*G2_1_0 + 0.1*G2_1_1 + 0.1*G2_1_2 + 0.1*G2_2_0 + 0.1*G2_2_1 + 0.1*G2_2_2 + 0.1*G5_0_0 + 0.1*G5_0_1 + 0.1*G5_0_2 + 0.1*G5_1_0 + 0.1*G5_1_1 + 0.1*G5_1_2 + 0.1*G5_2_0 + 0.1*G5_2_1 + 0.1*G5_2_2 + 0.1*G8_0_0 + 0.1*G8_0_1 + 0.1*G8_0_2 + 0.1*G8_1_0 + 0.1*G8_1_1 + 0.1*G8_1_2 + 0.1*G8_2_0 + 0.1*G8_2_1 + 0.1*G8_2_2;
A[701] = 0.0333333333333333*G2_0_0 + 0.0333333333333333*G2_1_0 + 0.0333333333333333*G2_2_0 + 0.0333333333333333*G5_0_0 + 0.0333333333333333*G5_1_0 + 0.0333333333333333*G5_2_0 + 0.0333333333333333*G8_0_0 + 0.0333333333333333*G8_1_0 + 0.0333333333333333*G8_2_0;
- A[702] = 0.0333333333333334*G2_0_1 + 0.0333333333333333*G2_1_1 + 0.0333333333333333*G2_2_1 + 0.0333333333333334*G5_0_1 + 0.0333333333333333*G5_1_1 + 0.0333333333333333*G5_2_1 + 0.0333333333333334*G8_0_1 + 0.0333333333333333*G8_1_1 + 0.0333333333333333*G8_2_1;
+ A[702] = 0.0333333333333333*G2_0_1 + 0.0333333333333333*G2_1_1 + 0.0333333333333333*G2_2_1 + 0.0333333333333333*G5_0_1 + 0.0333333333333333*G5_1_1 + 0.0333333333333333*G5_2_1 + 0.0333333333333333*G8_0_1 + 0.0333333333333333*G8_1_1 + 0.0333333333333333*G8_2_1;
A[703] = 0.0333333333333334*G2_0_2 + 0.0333333333333334*G2_1_2 + 0.0333333333333334*G2_2_2 + 0.0333333333333334*G5_0_2 + 0.0333333333333334*G5_1_2 + 0.0333333333333334*G5_2_2 + 0.0333333333333334*G8_0_2 + 0.0333333333333334*G8_1_2 + 0.0333333333333334*G8_2_2;
A[704] = 0.0333333333333336*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333336*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333335*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333336*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333336*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333335*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333336*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333336*G8_1_1 + 0.0333333333333335*G8_1_2 + 0.0333333333333335*G8_2_1 + 0.0 [...]
- A[705] = 0.0333333333333336*G2_0_0 + 0.0333333333333335*G2_0_2 + 0.0333333333333336*G2_1_0 + 0.0333333333333336*G2_1_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_2 + 0.0333333333333336*G5_0_0 + 0.0333333333333335*G5_0_2 + 0.0333333333333336*G5_1_0 + 0.0333333333333336*G5_1_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_2 + 0.0333333333333336*G8_0_0 + 0.0333333333333335*G8_0_2 + 0.0333333333333336*G8_1_0 + 0.0333333333333336*G8_1_2 + 0.0333333333333335*G8_2_0 + 0.0 [...]
- A[706] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_1 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_1 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0333333333333335*G8_2_0 + 0.0 [...]
- A[707] = -0.0333333333333336*G2_0_0 - 0.0333333333333336*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333336*G2_1_0 - 0.0333333333333336*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333336*G5_0_0 - 0.0333333333333336*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333336*G5_1_0 - 0.0333333333333336*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.13333 [...]
- A[708] = -0.0333333333333336*G2_0_0 - 0.133333333333333*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333336*G2_1_0 - 0.133333333333333*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.133333333333333*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.0333333333333336*G5_0_0 - 0.133333333333333*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333336*G5_1_0 - 0.133333333333333*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.133333333333333*G5_2_1 - 0.033333 [...]
- A[709] = -0.133333333333333*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.133333333333333*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.133333333333333*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.133333333333333*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.033333 [...]
+ A[705] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333336*G2_1_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333336*G5_1_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333336*G8_1_2 + 0.0333333333333335*G8_2_0 + 0.0 [...]
+ A[706] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_1_0 + 0.0333333333333336*G2_1_1 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_1 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_1_0 + 0.0333333333333336*G5_1_1 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_1 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_1_0 + 0.0333333333333336*G8_1_1 + 0.0333333333333335*G8_2_0 + 0.0 [...]
+ A[707] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333336*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333336*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.13333 [...]
+ A[708] = -0.0333333333333335*G2_0_0 - 0.133333333333333*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333336*G2_1_0 - 0.133333333333333*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.133333333333333*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.133333333333333*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333336*G5_1_0 - 0.133333333333333*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.133333333333333*G5_2_1 - 0.033333 [...]
+ A[709] = -0.133333333333333*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.133333333333333*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333336*G2_1_2 - 0.133333333333333*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.133333333333333*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.133333333333333*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333336*G5_1_2 - 0.133333333333333*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.033333 [...]
A[710] = 0.0;
A[711] = 0.0;
A[712] = 0.0;
@@ -27500,15 +28595,15 @@ public:
A[800] = 0.0;
A[801] = 0.0;
A[802] = 0.0333333333333334*G2_2_0 + 0.0333333333333334*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333334*G5_2_0 + 0.0333333333333334*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333334*G8_2_0 + 0.0333333333333334*G8_2_1 + 0.0333333333333334*G8_2_2;
- A[803] = -0.0333333333333334*G2_2_0 - 0.0333333333333334*G5_2_0 - 0.0333333333333334*G8_2_0;
+ A[803] = -0.0333333333333333*G2_2_0 - 0.0333333333333333*G5_2_0 - 0.0333333333333333*G8_2_0;
A[804] = -0.0333333333333333*G2_2_1 - 0.0333333333333333*G5_2_1 - 0.0333333333333333*G8_2_1;
A[805] = 0.1*G2_2_2 + 0.1*G5_2_2 + 0.1*G8_2_2;
- A[806] = 0.1*G2_2_1 - 0.0333333333333343*G2_2_2 + 0.1*G5_2_1 - 0.0333333333333343*G5_2_2 + 0.1*G8_2_1 - 0.0333333333333343*G8_2_2;
- A[807] = 0.1*G2_2_0 - 0.033333333333334*G2_2_2 + 0.1*G5_2_0 - 0.033333333333334*G5_2_2 + 0.1*G8_2_0 - 0.033333333333334*G8_2_2;
- A[808] = -0.033333333333334*G2_2_0 - 0.0333333333333342*G2_2_1 - 0.033333333333334*G5_2_0 - 0.0333333333333342*G5_2_1 - 0.033333333333334*G8_2_0 - 0.0333333333333342*G8_2_1;
+ A[806] = 0.1*G2_2_1 - 0.0333333333333342*G2_2_2 + 0.1*G5_2_1 - 0.0333333333333342*G5_2_2 + 0.1*G8_2_1 - 0.0333333333333342*G8_2_2;
+ A[807] = 0.1*G2_2_0 - 0.0333333333333339*G2_2_2 + 0.1*G5_2_0 - 0.0333333333333339*G5_2_2 + 0.1*G8_2_0 - 0.0333333333333339*G8_2_2;
+ A[808] = -0.033333333333334*G2_2_0 - 0.0333333333333341*G2_2_1 - 0.033333333333334*G5_2_0 - 0.0333333333333341*G5_2_1 - 0.033333333333334*G8_2_0 - 0.0333333333333341*G8_2_1;
A[809] = -0.1*G2_2_0 - 0.1*G2_2_1 - 0.133333333333333*G2_2_2 - 0.1*G5_2_0 - 0.1*G5_2_1 - 0.133333333333333*G5_2_2 - 0.1*G8_2_0 - 0.1*G8_2_1 - 0.133333333333333*G8_2_2;
- A[810] = 0.0333333333333341*G2_2_0 + 0.0333333333333341*G2_2_2 + 0.0333333333333341*G5_2_0 + 0.0333333333333341*G5_2_2 + 0.0333333333333341*G8_2_0 + 0.0333333333333341*G8_2_2;
- A[811] = 0.033333333333334*G2_2_1 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_2_1 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_2_1 + 0.033333333333334*G8_2_2;
+ A[810] = 0.033333333333334*G2_2_0 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_2_0 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_2_0 + 0.033333333333334*G8_2_2;
+ A[811] = 0.033333333333334*G2_2_1 + 0.0333333333333339*G2_2_2 + 0.033333333333334*G5_2_1 + 0.0333333333333339*G5_2_2 + 0.033333333333334*G8_2_1 + 0.0333333333333339*G8_2_2;
A[812] = 0.0;
A[813] = 0.0;
A[814] = 0.0;
@@ -27536,12 +28631,12 @@ public:
A[836] = 0.0333333333333336*G2_1_0 + 0.0333333333333336*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G2_2_1 + 0.0333333333333334*G2_2_2 + 0.0333333333333336*G5_1_0 + 0.0333333333333336*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G5_2_1 + 0.0333333333333334*G5_2_2 + 0.0333333333333336*G8_1_0 + 0.0333333333333336*G8_1_1 + 0.0333333333333335*G8_1_2 + 0.0333333333333335*G8_2_0 + 0.0333333333333335*G8_2_1 + 0.0 [...]
A[837] = -0.0333333333333335*G2_1_0 - 0.0333333333333334*G2_2_0 - 0.0333333333333335*G5_1_0 - 0.0333333333333334*G5_2_0 - 0.0333333333333335*G8_1_0 - 0.0333333333333334*G8_2_0;
A[838] = -0.0333333333333337*G2_1_1 + 0.1*G2_2_1 - 0.0333333333333337*G5_1_1 + 0.1*G5_2_1 - 0.0333333333333337*G8_1_1 + 0.1*G8_2_1;
- A[839] = 0.1*G2_1_2 - 0.0333333333333343*G2_2_2 + 0.1*G5_1_2 - 0.0333333333333343*G5_2_2 + 0.1*G8_1_2 - 0.0333333333333343*G8_2_2;
+ A[839] = 0.1*G2_1_2 - 0.0333333333333342*G2_2_2 + 0.1*G5_1_2 - 0.0333333333333342*G5_2_2 + 0.1*G8_1_2 - 0.0333333333333342*G8_2_2;
A[840] = 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5_2_2 + 0.266666666666667*G8_1_1 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_1 + 0.266666666666667*G8_2_2;
A[841] = 0.266666666666667*G2_1_0 + 0.133333333333335*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333335*G2_2_2 + 0.266666666666667*G5_1_0 + 0.133333333333335*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333335*G5_2_2 + 0.266666666666667*G8_1_0 + 0.133333333333335*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333335*G8_2_2;
A[842] = 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_1 + 0.266666666666667*G2_2_0 + 0.133333333333335*G2_2_1 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_1 + 0.266666666666667*G5_2_0 + 0.133333333333335*G5_2_1 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_1 + 0.266666666666667*G8_2_0 + 0.133333333333335*G8_2_1;
A[843] = -0.266666666666667*G2_1_0 - 0.266666666666667*G2_1_1 - 0.133333333333333*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.266666666666667*G5_1_0 - 0.266666666666667*G5_1_1 - 0.133333333333333*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.266666666666667*G8_1_0 - 0.266666666666667*G8_1_1 - 0.133333333333333*G8_1_2 - 0.133333333333333*G8_2_0 - 0.133333333333333*G8_2_1;
- A[844] = -0.133333333333334*G2_1_0 - 0.133333333333333*G2_1_2 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_1_0 - 0.133333333333333*G5_1_2 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_1_0 - 0.133333333333333*G8_1_2 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1 - 0.266666666666667*G8_2_2;
+ A[844] = -0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_2 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1 - 0.266666666666667*G8_2_2;
A[845] = -0.133333333333334*G2_1_1 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_1_1 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_1_1 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.133333333333334*G8_2_2;
A[846] = 0.0;
A[847] = 0.0;
@@ -27567,16 +28662,16 @@ public:
A[867] = 0.0;
A[868] = 0.0;
A[869] = 0.0;
- A[870] = 0.0333333333333336*G2_0_0 + 0.0333333333333336*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333336*G2_2_1 + 0.0333333333333335*G2_2_2 + 0.0333333333333336*G5_0_0 + 0.0333333333333336*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333336*G5_2_1 + 0.0333333333333335*G5_2_2 + 0.0333333333333336*G8_0_0 + 0.0333333333333336*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_2_0 + 0.0333333333333336*G8_2_1 + 0.0 [...]
+ A[870] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_2_0 + 0.0333333333333336*G2_2_1 + 0.0333333333333335*G2_2_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_2_0 + 0.0333333333333336*G5_2_1 + 0.0333333333333335*G5_2_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_2_0 + 0.0333333333333336*G8_2_1 + 0.0 [...]
A[871] = -0.0333333333333335*G2_0_0 + 0.1*G2_2_0 - 0.0333333333333335*G5_0_0 + 0.1*G5_2_0 - 0.0333333333333335*G8_0_0 + 0.1*G8_2_0;
A[872] = -0.0333333333333337*G2_0_1 - 0.0333333333333338*G2_2_1 - 0.0333333333333337*G5_0_1 - 0.0333333333333338*G5_2_1 - 0.0333333333333337*G8_0_1 - 0.0333333333333338*G8_2_1;
- A[873] = 0.1*G2_0_2 - 0.033333333333334*G2_2_2 + 0.1*G5_0_2 - 0.033333333333334*G5_2_2 + 0.1*G8_0_2 - 0.033333333333334*G8_2_2;
+ A[873] = 0.1*G2_0_2 - 0.0333333333333339*G2_2_2 + 0.1*G5_0_2 - 0.0333333333333339*G5_2_2 + 0.1*G8_0_2 - 0.0333333333333339*G8_2_2;
A[874] = 0.266666666666667*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333335*G2_2_1 + 0.133333333333335*G2_2_2 + 0.266666666666667*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333335*G5_2_1 + 0.133333333333335*G5_2_2 + 0.266666666666667*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333335*G8_2_1 + 0.133333333333335*G8_2_2;
- A[875] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_2_0 + 0.266666666666669*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_2_0 + 0.266666666666669*G5_2_2 + 0.266666666666667*G8_0_0 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_2_0 + 0.266666666666669*G8_2_2;
- A[876] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333334*G2_2_0 + 0.266666666666669*G2_2_1 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_2_0 + 0.266666666666669*G5_2_1 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_2_0 + 0.266666666666669*G8_2_1;
+ A[875] = 0.266666666666667*G2_0_0 + 0.133333333333335*G2_0_2 + 0.133333333333335*G2_2_0 + 0.266666666666669*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333335*G5_0_2 + 0.133333333333335*G5_2_0 + 0.266666666666669*G5_2_2 + 0.266666666666667*G8_0_0 + 0.133333333333335*G8_0_2 + 0.133333333333335*G8_2_0 + 0.266666666666669*G8_2_2;
+ A[876] = 0.133333333333334*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333335*G2_2_0 + 0.266666666666669*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333335*G5_2_0 + 0.266666666666669*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333335*G8_2_0 + 0.266666666666669*G8_2_1;
A[877] = -0.266666666666667*G2_0_0 - 0.266666666666667*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333335*G2_2_0 - 0.133333333333335*G2_2_1 - 0.266666666666667*G5_0_0 - 0.266666666666667*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333335*G5_2_0 - 0.133333333333335*G5_2_1 - 0.266666666666667*G8_0_0 - 0.266666666666667*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333335*G8_2_0 - 0.133333333333335*G8_2_1;
- A[878] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_2 - 0.133333333333334*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_2 - 0.133333333333334*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333333*G8_0_0 - 0.133333333333333*G8_0_2 - 0.133333333333334*G8_2_0 - 0.133333333333334*G8_2_2;
- A[879] = -0.133333333333333*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1 - 0.266666666666668*G8_2_2;
+ A[878] = -0.133333333333334*G2_0_0 - 0.133333333333333*G2_0_2 - 0.133333333333335*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_0_0 - 0.133333333333333*G5_0_2 - 0.133333333333335*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_0_0 - 0.133333333333333*G8_0_2 - 0.133333333333335*G8_2_0 - 0.133333333333334*G8_2_2;
+ A[879] = -0.133333333333333*G2_0_1 - 0.133333333333334*G2_0_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_1 - 0.133333333333334*G5_0_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_1 - 0.133333333333334*G8_0_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1 - 0.266666666666668*G8_2_2;
A[880] = 0.0;
A[881] = 0.0;
A[882] = 0.0;
@@ -27601,15 +28696,15 @@ public:
A[901] = 0.0;
A[902] = 0.0;
A[903] = 0.0;
- A[904] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333335*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333335*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333335*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333335*G8_1_1 + 0.0 [...]
+ A[904] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_0_1 + 0.0333333333333334*G2_0_2 + 0.0333333333333335*G2_1_0 + 0.0333333333333336*G2_1_1 + 0.0333333333333335*G2_1_2 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_0_1 + 0.0333333333333334*G5_0_2 + 0.0333333333333335*G5_1_0 + 0.0333333333333336*G5_1_1 + 0.0333333333333335*G5_1_2 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_0_1 + 0.0333333333333334*G8_0_2 + 0.0333333333333335*G8_1_0 + 0.0333333333333336*G8_1_1 + 0.0 [...]
A[905] = -0.0333333333333335*G2_0_0 + 0.1*G2_1_0 - 0.0333333333333335*G5_0_0 + 0.1*G5_1_0 - 0.0333333333333335*G8_0_0 + 0.1*G8_1_0;
A[906] = 0.1*G2_0_1 - 0.0333333333333336*G2_1_1 + 0.1*G5_0_1 - 0.0333333333333336*G5_1_1 + 0.1*G8_0_1 - 0.0333333333333336*G8_1_1;
A[907] = -0.033333333333334*G2_0_2 - 0.0333333333333342*G2_1_2 - 0.033333333333334*G5_0_2 - 0.0333333333333342*G5_1_2 - 0.033333333333334*G8_0_2 - 0.0333333333333342*G8_1_2;
A[908] = 0.133333333333334*G2_0_1 + 0.266666666666667*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333335*G2_1_2 + 0.133333333333334*G5_0_1 + 0.266666666666667*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333335*G5_1_2 + 0.133333333333334*G8_0_1 + 0.266666666666667*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333335*G8_1_2;
- A[909] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_2 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_2 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_2;
+ A[909] = 0.133333333333334*G2_0_0 + 0.133333333333335*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_2 + 0.133333333333334*G5_0_0 + 0.133333333333335*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_2 + 0.133333333333334*G8_0_0 + 0.133333333333335*G8_0_2 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_2;
A[910] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333334*G2_1_0 + 0.266666666666669*G2_1_1 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_1_0 + 0.266666666666669*G5_1_1 + 0.266666666666667*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_1_0 + 0.266666666666669*G8_1_1;
- A[911] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333333*G8_0_0 - 0.133333333333333*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
- A[912] = -0.266666666666667*G2_0_0 - 0.133333333333333*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G5_0_0 - 0.133333333333333*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G8_0_0 - 0.133333333333333*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_2;
+ A[911] = -0.133333333333334*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333334*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333334*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
+ A[912] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_2 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_2 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_2;
A[913] = -0.133333333333334*G2_0_1 - 0.133333333333333*G2_0_2 - 0.133333333333333*G2_1_0 - 0.266666666666668*G2_1_1 - 0.266666666666668*G2_1_2 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_1_0 - 0.266666666666668*G5_1_1 - 0.266666666666668*G5_1_2 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_1_0 - 0.266666666666668*G8_1_1 - 0.266666666666668*G8_1_2;
A[914] = 0.0;
A[915] = 0.0;
@@ -27635,16 +28730,16 @@ public:
A[935] = 0.0;
A[936] = 0.0;
A[937] = 0.0;
- A[938] = -0.0333333333333336*G2_0_0 - 0.0333333333333336*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333336*G2_1_0 - 0.0333333333333336*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333336*G5_0_0 - 0.0333333333333336*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333336*G5_1_0 - 0.0333333333333336*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.13333 [...]
+ A[938] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333336*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.133333333333333*G2_2_1 - 0.133333333333333*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333336*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.133333333333333*G5_2_1 - 0.13333 [...]
A[939] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_1_0 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_1_0 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_1_0;
A[940] = 0.0333333333333337*G2_0_1 + 0.0333333333333337*G2_1_1 + 0.0333333333333337*G5_0_1 + 0.0333333333333337*G5_1_1 + 0.0333333333333337*G8_0_1 + 0.0333333333333337*G8_1_1;
A[941] = -0.1*G2_0_2 - 0.1*G2_1_2 - 0.133333333333333*G2_2_2 - 0.1*G5_0_2 - 0.1*G5_1_2 - 0.133333333333333*G5_2_2 - 0.1*G8_0_2 - 0.1*G8_1_2 - 0.133333333333333*G8_2_2;
A[942] = -0.266666666666667*G2_0_1 - 0.133333333333333*G2_0_2 - 0.266666666666667*G2_1_1 - 0.133333333333333*G2_1_2 - 0.133333333333333*G2_2_1 - 0.266666666666667*G5_0_1 - 0.133333333333333*G5_0_2 - 0.266666666666667*G5_1_1 - 0.133333333333333*G5_1_2 - 0.133333333333333*G5_2_1 - 0.266666666666667*G8_0_1 - 0.133333333333333*G8_0_2 - 0.266666666666667*G8_1_1 - 0.133333333333333*G8_1_2 - 0.133333333333333*G8_2_1;
- A[943] = -0.266666666666667*G2_0_0 - 0.133333333333335*G2_0_2 - 0.266666666666667*G2_1_0 - 0.133333333333335*G2_1_2 - 0.133333333333334*G2_2_0 - 0.266666666666667*G5_0_0 - 0.133333333333335*G5_0_2 - 0.266666666666667*G5_1_0 - 0.133333333333335*G5_1_2 - 0.133333333333334*G5_2_0 - 0.266666666666667*G8_0_0 - 0.133333333333335*G8_0_2 - 0.266666666666667*G8_1_0 - 0.133333333333335*G8_1_2 - 0.133333333333334*G8_2_0;
- A[944] = -0.133333333333333*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333333*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333333*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333333*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_1_0 - 0.133333333333334*G8_1_1;
- A[945] = 0.266666666666667*G2_0_0 + 0.266666666666667*G2_0_1 + 0.133333333333334*G2_0_2 + 0.266666666666667*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333334*G2_2_0 + 0.133333333333334*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.266666666666667*G5_0_1 + 0.133333333333334*G5_0_2 + 0.266666666666667*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333334*G5_2_0 + 0.133333333333334*G5_2_1 + 0.266666666666667*G5 [...]
- A[946] = 0.133333333333333*G2_0_0 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_1 + 0.133333333333333*G5_0_0 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_1 + 0.133333333333333*G8_0_0 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_1;
- A[947] = 0.133333333333333*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_1_2 + 0.133333333333333*G8_2_0;
+ A[943] = -0.266666666666667*G2_0_0 - 0.133333333333335*G2_0_2 - 0.266666666666667*G2_1_0 - 0.133333333333335*G2_1_2 - 0.133333333333333*G2_2_0 - 0.266666666666667*G5_0_0 - 0.133333333333335*G5_0_2 - 0.266666666666667*G5_1_0 - 0.133333333333335*G5_1_2 - 0.133333333333333*G5_2_0 - 0.266666666666667*G8_0_0 - 0.133333333333335*G8_0_2 - 0.266666666666667*G8_1_0 - 0.133333333333335*G8_1_2 - 0.133333333333333*G8_2_0;
+ A[944] = -0.133333333333334*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333334*G2_1_0 - 0.133333333333334*G2_1_1 - 0.133333333333334*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_1_0 - 0.133333333333334*G5_1_1 - 0.133333333333334*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_1_0 - 0.133333333333334*G8_1_1;
+ A[945] = 0.266666666666667*G2_0_0 + 0.266666666666667*G2_0_1 + 0.133333333333333*G2_0_2 + 0.266666666666667*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.266666666666667*G5_0_1 + 0.133333333333333*G5_0_2 + 0.266666666666667*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5 [...]
+ A[946] = 0.133333333333334*G2_0_0 + 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_1;
+ A[947] = 0.133333333333333*G2_0_1 + 0.133333333333334*G2_0_2 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G5_0_1 + 0.133333333333334*G5_0_2 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G8_0_1 + 0.133333333333334*G8_0_2 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_1_2 + 0.133333333333333*G8_2_0;
A[948] = 0.0;
A[949] = 0.0;
A[950] = 0.0;
@@ -27669,16 +28764,16 @@ public:
A[969] = 0.0;
A[970] = 0.0;
A[971] = 0.0;
- A[972] = -0.0333333333333336*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.133333333333333*G2_1_0 - 0.133333333333333*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.0333333333333336*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.133333333333333*G5_1_0 - 0.133333333333333*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.033333 [...]
+ A[972] = -0.0333333333333335*G2_0_0 - 0.0333333333333335*G2_0_1 - 0.0333333333333335*G2_0_2 - 0.133333333333333*G2_1_0 - 0.133333333333333*G2_1_1 - 0.133333333333333*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333334*G2_2_2 - 0.0333333333333335*G5_0_0 - 0.0333333333333335*G5_0_1 - 0.0333333333333335*G5_0_2 - 0.133333333333333*G5_1_0 - 0.133333333333333*G5_1_1 - 0.133333333333333*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.033333 [...]
A[973] = 0.0333333333333335*G2_0_0 + 0.0333333333333335*G2_2_0 + 0.0333333333333335*G5_0_0 + 0.0333333333333335*G5_2_0 + 0.0333333333333335*G8_0_0 + 0.0333333333333335*G8_2_0;
A[974] = -0.1*G2_0_1 - 0.133333333333333*G2_1_1 - 0.1*G2_2_1 - 0.1*G5_0_1 - 0.133333333333333*G5_1_1 - 0.1*G5_2_1 - 0.1*G8_0_1 - 0.133333333333333*G8_1_1 - 0.1*G8_2_1;
- A[975] = 0.0333333333333341*G2_0_2 + 0.0333333333333341*G2_2_2 + 0.0333333333333341*G5_0_2 + 0.0333333333333341*G5_2_2 + 0.0333333333333341*G8_0_2 + 0.0333333333333341*G8_2_2;
- A[976] = -0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_2 - 0.133333333333333*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_2 - 0.133333333333333*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_2 - 0.133333333333333*G8_2_1 - 0.266666666666667*G8_2_2;
- A[977] = -0.133333333333333*G2_0_0 - 0.133333333333334*G2_0_2 - 0.133333333333333*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333334*G5_0_2 - 0.133333333333333*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333333*G8_0_0 - 0.133333333333334*G8_0_2 - 0.133333333333333*G8_2_0 - 0.133333333333334*G8_2_2;
- A[978] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333333*G2_1_0 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333333*G5_1_0 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333333*G8_1_0 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1;
- A[979] = 0.133333333333333*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.133333333333333*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.133333333333333*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_1;
+ A[975] = 0.033333333333334*G2_0_2 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_0_2 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_0_2 + 0.033333333333334*G8_2_2;
+ A[976] = -0.133333333333334*G2_0_1 - 0.266666666666667*G2_0_2 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.266666666666667*G2_2_2 - 0.133333333333334*G5_0_1 - 0.266666666666667*G5_0_2 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.266666666666667*G5_2_2 - 0.133333333333334*G8_0_1 - 0.266666666666667*G8_0_2 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.266666666666667*G8_2_2;
+ A[977] = -0.133333333333334*G2_0_0 - 0.133333333333335*G2_0_2 - 0.133333333333333*G2_2_0 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_0_0 - 0.133333333333335*G5_0_2 - 0.133333333333333*G5_2_0 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_0_0 - 0.133333333333335*G8_0_2 - 0.133333333333333*G8_2_0 - 0.133333333333334*G8_2_2;
+ A[978] = -0.266666666666667*G2_0_0 - 0.133333333333334*G2_0_1 - 0.133333333333334*G2_1_0 - 0.266666666666667*G2_2_0 - 0.133333333333334*G2_2_1 - 0.266666666666667*G5_0_0 - 0.133333333333334*G5_0_1 - 0.133333333333334*G5_1_0 - 0.266666666666667*G5_2_0 - 0.133333333333334*G5_2_1 - 0.266666666666667*G8_0_0 - 0.133333333333334*G8_0_1 - 0.133333333333334*G8_1_0 - 0.266666666666667*G8_2_0 - 0.133333333333334*G8_2_1;
+ A[979] = 0.133333333333334*G2_0_0 + 0.133333333333334*G2_0_1 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_1 + 0.133333333333334*G5_0_0 + 0.133333333333334*G5_0_1 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_1 + 0.133333333333334*G8_0_0 + 0.133333333333334*G8_0_1 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_1;
A[980] = 0.266666666666667*G2_0_0 + 0.133333333333334*G2_0_1 + 0.266666666666667*G2_0_2 + 0.133333333333334*G2_1_0 + 0.266666666666667*G2_1_1 + 0.133333333333333*G2_1_2 + 0.266666666666667*G2_2_0 + 0.133333333333333*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666667*G5_0_0 + 0.133333333333334*G5_0_1 + 0.266666666666667*G5_0_2 + 0.133333333333334*G5_1_0 + 0.266666666666667*G5_1_1 + 0.133333333333333*G5_1_2 + 0.266666666666667*G5_2_0 + 0.133333333333333*G5_2_1 + 0.266666666666667*G5 [...]
- A[981] = 0.133333333333334*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333333*G2_2_1 + 0.133333333333333*G2_2_2 + 0.133333333333334*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333333*G5_2_1 + 0.133333333333333*G5_2_2 + 0.133333333333334*G8_0_1 + 0.133333333333333*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333333*G8_2_1 + 0.133333333333333*G8_2_2;
+ A[981] = 0.133333333333334*G2_0_1 + 0.133333333333334*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333334*G2_2_1 + 0.133333333333333*G2_2_2 + 0.133333333333334*G5_0_1 + 0.133333333333334*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333334*G5_2_1 + 0.133333333333333*G5_2_2 + 0.133333333333334*G8_0_1 + 0.133333333333334*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333334*G8_2_1 + 0.133333333333333*G8_2_2;
A[982] = 0.0;
A[983] = 0.0;
A[984] = 0.0;
@@ -27703,15 +28798,15 @@ public:
A[1003] = 0.0;
A[1004] = 0.0;
A[1005] = 0.0;
- A[1006] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333335*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333335*G5_2_1 - 0.03333 [...]
+ A[1006] = -0.133333333333333*G2_0_0 - 0.133333333333333*G2_0_1 - 0.133333333333333*G2_0_2 - 0.0333333333333335*G2_1_0 - 0.0333333333333335*G2_1_1 - 0.0333333333333335*G2_1_2 - 0.0333333333333335*G2_2_0 - 0.0333333333333336*G2_2_1 - 0.0333333333333335*G2_2_2 - 0.133333333333333*G5_0_0 - 0.133333333333333*G5_0_1 - 0.133333333333333*G5_0_2 - 0.0333333333333335*G5_1_0 - 0.0333333333333335*G5_1_1 - 0.0333333333333335*G5_1_2 - 0.0333333333333335*G5_2_0 - 0.0333333333333336*G5_2_1 - 0.03333 [...]
A[1007] = -0.133333333333333*G2_0_0 - 0.1*G2_1_0 - 0.1*G2_2_0 - 0.133333333333333*G5_0_0 - 0.1*G5_1_0 - 0.1*G5_2_0 - 0.133333333333333*G8_0_0 - 0.1*G8_1_0 - 0.1*G8_2_0;
A[1008] = 0.0333333333333337*G2_1_1 + 0.0333333333333338*G2_2_1 + 0.0333333333333337*G5_1_1 + 0.0333333333333338*G5_2_1 + 0.0333333333333337*G8_1_1 + 0.0333333333333338*G8_2_1;
- A[1009] = 0.033333333333334*G2_1_2 + 0.033333333333334*G2_2_2 + 0.033333333333334*G5_1_2 + 0.033333333333334*G5_2_2 + 0.033333333333334*G8_1_2 + 0.033333333333334*G8_2_2;
+ A[1009] = 0.033333333333334*G2_1_2 + 0.0333333333333339*G2_2_2 + 0.033333333333334*G5_1_2 + 0.0333333333333339*G5_2_2 + 0.033333333333334*G8_1_2 + 0.0333333333333339*G8_2_2;
A[1010] = -0.133333333333334*G2_1_1 - 0.133333333333334*G2_1_2 - 0.133333333333334*G2_2_1 - 0.133333333333334*G2_2_2 - 0.133333333333334*G5_1_1 - 0.133333333333334*G5_1_2 - 0.133333333333334*G5_2_1 - 0.133333333333334*G5_2_2 - 0.133333333333334*G8_1_1 - 0.133333333333334*G8_1_2 - 0.133333333333334*G8_2_1 - 0.133333333333334*G8_2_2;
- A[1011] = -0.133333333333333*G2_0_2 - 0.133333333333333*G2_1_0 - 0.266666666666668*G2_1_2 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_2 - 0.133333333333333*G5_1_0 - 0.266666666666668*G5_1_2 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_2 - 0.133333333333333*G8_1_0 - 0.266666666666668*G8_1_2 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_2;
+ A[1011] = -0.133333333333333*G2_0_2 - 0.133333333333334*G2_1_0 - 0.266666666666668*G2_1_2 - 0.133333333333334*G2_2_0 - 0.266666666666668*G2_2_2 - 0.133333333333333*G5_0_2 - 0.133333333333334*G5_1_0 - 0.266666666666668*G5_1_2 - 0.133333333333334*G5_2_0 - 0.266666666666668*G5_2_2 - 0.133333333333333*G8_0_2 - 0.133333333333334*G8_1_0 - 0.266666666666668*G8_1_2 - 0.133333333333334*G8_2_0 - 0.266666666666668*G8_2_2;
A[1012] = -0.133333333333333*G2_0_1 - 0.133333333333334*G2_1_0 - 0.266666666666668*G2_1_1 - 0.133333333333333*G2_2_0 - 0.266666666666668*G2_2_1 - 0.133333333333333*G5_0_1 - 0.133333333333334*G5_1_0 - 0.266666666666668*G5_1_1 - 0.133333333333333*G5_2_0 - 0.266666666666668*G5_2_1 - 0.133333333333333*G8_0_1 - 0.133333333333334*G8_1_0 - 0.266666666666668*G8_1_1 - 0.133333333333333*G8_2_0 - 0.266666666666668*G8_2_1;
- A[1013] = 0.133333333333333*G2_0_2 + 0.133333333333333*G2_1_0 + 0.133333333333334*G2_1_1 + 0.133333333333333*G2_2_0 + 0.133333333333334*G2_2_1 + 0.133333333333333*G5_0_2 + 0.133333333333333*G5_1_0 + 0.133333333333334*G5_1_1 + 0.133333333333333*G5_2_0 + 0.133333333333334*G5_2_1 + 0.133333333333333*G8_0_2 + 0.133333333333333*G8_1_0 + 0.133333333333334*G8_1_1 + 0.133333333333333*G8_2_0 + 0.133333333333334*G8_2_1;
- A[1014] = 0.133333333333333*G2_0_1 + 0.133333333333334*G2_1_0 + 0.133333333333333*G2_1_2 + 0.133333333333333*G2_2_0 + 0.133333333333333*G2_2_2 + 0.133333333333333*G5_0_1 + 0.133333333333334*G5_1_0 + 0.133333333333333*G5_1_2 + 0.133333333333333*G5_2_0 + 0.133333333333333*G5_2_2 + 0.133333333333333*G8_0_1 + 0.133333333333334*G8_1_0 + 0.133333333333333*G8_1_2 + 0.133333333333333*G8_2_0 + 0.133333333333333*G8_2_2;
+ A[1013] = 0.133333333333333*G2_0_2 + 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_1 + 0.133333333333334*G2_2_0 + 0.133333333333334*G2_2_1 + 0.133333333333333*G5_0_2 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_1 + 0.133333333333334*G5_2_0 + 0.133333333333334*G5_2_1 + 0.133333333333333*G8_0_2 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_1 + 0.133333333333334*G8_2_0 + 0.133333333333334*G8_2_1;
+ A[1014] = 0.133333333333333*G2_0_1 + 0.133333333333334*G2_1_0 + 0.133333333333334*G2_1_2 + 0.133333333333334*G2_2_0 + 0.133333333333333*G2_2_2 + 0.133333333333333*G5_0_1 + 0.133333333333334*G5_1_0 + 0.133333333333334*G5_1_2 + 0.133333333333334*G5_2_0 + 0.133333333333333*G5_2_2 + 0.133333333333333*G8_0_1 + 0.133333333333334*G8_1_0 + 0.133333333333334*G8_1_2 + 0.133333333333334*G8_2_0 + 0.133333333333333*G8_2_2;
A[1015] = 0.266666666666666*G2_0_0 + 0.133333333333333*G2_0_1 + 0.133333333333333*G2_0_2 + 0.133333333333333*G2_1_0 + 0.266666666666667*G2_1_1 + 0.266666666666667*G2_1_2 + 0.133333333333333*G2_2_0 + 0.266666666666667*G2_2_1 + 0.266666666666667*G2_2_2 + 0.266666666666666*G5_0_0 + 0.133333333333333*G5_0_1 + 0.133333333333333*G5_0_2 + 0.133333333333333*G5_1_0 + 0.266666666666667*G5_1_1 + 0.266666666666667*G5_1_2 + 0.133333333333333*G5_2_0 + 0.266666666666667*G5_2_1 + 0.266666666666667*G [...]
A[1016] = 0.0;
A[1017] = 0.0;
@@ -28280,10 +29375,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/stokes-iterative/cpp/compile.log b/demo/documented/stokes-iterative/cpp/compile.log
deleted file mode 100644
index 401aad7..0000000
--- a/demo/documented/stokes-iterative/cpp/compile.log
+++ /dev/null
@@ -1,1020 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form StokesPreconditioner
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG1(?)>,
- Vector<3 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.467361 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00502 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00358 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00359 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00365 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00361 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00378 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00368 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00369 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00377 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 1156 entries computed in 0.00227 seconds
- Shape of reference tensor: (34, 34)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.106929 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000221968 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 2.91445 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000558138 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00268912 seconds.
-
-FFC finished in 3.49277 seconds.
-Output written to ./StokesPreconditioner.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Stokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG1(?)>,
- Vector<3 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG2(?)>,
- Vector<3 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<3 x CG2(?)>, CG1(?)>, Vector<3 x CG2(?)>,
- Vector<3 x CG1(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.49605 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00315 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00309 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00305 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00321 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00314 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00308 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00307 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.00307 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 10404 entries computed in 0.0031 seconds
- Shape of reference tensor: (34, 34, 3, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.0027 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.00275 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.00281 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.0028 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.00266 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 3468 entries computed in 0.00372 seconds
- Shape of reference tensor: (34, 34, 3)
- Primary multi index: rank = 2 dims = [34, 34] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [0, 26], [0, 27], [0, 28], [0, 29], [0, 30], [0, 31], [0, 32], [0, 33], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [ [...]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1020 entries computed in 0.00492 seconds
- Shape of reference tensor: (34, 30)
- Primary multi index: rank = 1 dims = [34] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1020 entries computed in 0.00463 seconds
- Shape of reference tensor: (34, 30)
- Primary multi index: rank = 1 dims = [34] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1020 entries computed in 0.00368 seconds
- Shape of reference tensor: (34, 30)
- Primary multi index: rank = 1 dims = [34] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [30] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.147087 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000223875 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 2.7902 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00105095 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.0063839 seconds.
-
-FFC finished in 3.44154 seconds.
-Output written to ./Stokes.h.
diff --git a/demo/documented/stokes-taylor-hood/cpp/CMakeLists.txt b/demo/documented/stokes-taylor-hood/cpp/CMakeLists.txt
index 955dac0..769856d 100644
--- a/demo/documented/stokes-taylor-hood/cpp/CMakeLists.txt
+++ b/demo/documented/stokes-taylor-hood/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_stokes-taylor-hood)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/documented/stokes-taylor-hood/cpp/Stokes.h b/demo/documented/stokes-taylor-hood/cpp/Stokes.h
index ed6f3da..03218c5 100644
--- a/demo/documented/stokes-taylor-hood/cpp/Stokes.h
+++ b/demo/documented/stokes-taylor-hood/cpp/Stokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4142,7 +4134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4178,7 +4170,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4286,7 +4278,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4358,7 +4350,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4394,7 +4386,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4502,7 +4494,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4715,7 +4707,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4730,8 +4722,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4866,7 +4858,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4881,8 +4873,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5032,8 +5024,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5183,8 +5175,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5319,7 +5311,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5334,8 +5326,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5485,8 +5477,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5621,7 +5613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5636,8 +5628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5772,7 +5764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5787,8 +5779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5938,8 +5930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6089,8 +6081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6225,7 +6217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -6240,8 +6232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6391,8 +6383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6705,49 +6697,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6982,7 +6956,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7018,7 +6992,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7126,7 +7100,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7198,7 +7172,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7234,7 +7208,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7342,7 +7316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7639,7 +7613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7654,8 +7628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7790,7 +7764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7805,8 +7779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7956,8 +7930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8107,8 +8081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8243,7 +8217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8258,8 +8232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8409,8 +8383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8545,7 +8519,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8560,8 +8534,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8696,7 +8670,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8711,8 +8685,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8862,8 +8836,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9013,8 +8987,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9149,7 +9123,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -9164,8 +9138,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9315,8 +9289,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -10046,62 +10020,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -10279,6 +10226,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10367,6 +10338,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10474,6 +10530,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10577,31 +10657,128 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
{
case 0:
{
- return new stokes_dofmap_0();
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
break;
}
case 1:
{
- return new stokes_dofmap_0();
- break;
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- }
-
- return 0;
- }
-
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 2;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+ }
+
ufc::dofmap * create() const final override
{
return new stokes_dofmap_1();
@@ -10698,6 +10875,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10818,6 +11019,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10925,6 +11217,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11068,6 +11384,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11189,6 +11614,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11345,6 +11794,127 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ dofs[2] = 12;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ dofs[2] = 13;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ dofs[2] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ dofs[6] = 12;
+ dofs[7] = 14;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ dofs[6] = 12;
+ dofs[7] = 13;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11403,6 +11973,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 32
// Number of operations (multiply-add pairs) for tensor contraction: 282
@@ -11448,7 +12033,7 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1 + 0.5*G2_0_0 + 0.5*G2_0_1 + 0.5*G2_1_0 + 0.5*G2_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_1_0;
+ A[1] = 0.166666666666667*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666667*G2_0_0 + 0.166666666666666*G2_1_0;
A[2] = 0.166666666666666*G0_0_1 + 0.166666666666665*G0_1_1 + 0.166666666666666*G2_0_1 + 0.166666666666665*G2_1_1;
A[3] = 0.0;
A[4] = -0.666666666666667*G0_0_1 - 0.666666666666667*G0_1_1 - 0.666666666666667*G2_0_1 - 0.666666666666667*G2_1_1;
@@ -11459,15 +12044,15 @@ public:
A[9] = 0.0;
A[10] = 0.0;
A[11] = 0.0;
- A[12] = 0.166666666666666*G4_0 + 0.166666666666667*G4_1;
+ A[12] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
A[13] = 0.0;
A[14] = 0.0;
A[15] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_0_1;
A[16] = 0.5*G0_0_0 + 0.5*G2_0_0;
A[17] = -0.166666666666666*G0_0_1 - 0.166666666666666*G2_0_1;
- A[18] = 0.666666666666664*G0_0_1 + 0.666666666666664*G2_0_1;
+ A[18] = 0.666666666666663*G0_0_1 + 0.666666666666663*G2_0_1;
A[19] = 0.0;
- A[20] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_0_1;
+ A[20] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
A[21] = 0.0;
A[22] = 0.0;
A[23] = 0.0;
@@ -11493,11 +12078,11 @@ public:
A[43] = 0.0;
A[44] = -0.166666666666667*G4_1;
A[45] = 0.0;
- A[46] = 0.666666666666664*G0_1_0 + 0.666666666666664*G2_1_0;
+ A[46] = 0.666666666666663*G0_1_0 + 0.666666666666663*G2_1_0;
A[47] = 0.666666666666666*G0_0_1 + 0.666666666666666*G2_0_1;
- A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333332*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333332*G2_1_1;
+ A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333331*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333331*G2_1_1;
A[49] = -1.33333333333333*G0_0_0 - 0.666666666666659*G0_0_1 - 0.666666666666656*G0_1_0 - 1.33333333333333*G2_0_0 - 0.666666666666659*G2_0_1 - 0.666666666666656*G2_1_0;
- A[50] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666666*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[50] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[51] = 0.0;
A[52] = 0.0;
A[53] = 0.0;
@@ -11523,9 +12108,9 @@ public:
A[73] = 0.166666666666666*G4_0;
A[74] = 0.333333333333333*G4_0 + 0.166666666666665*G4_1;
A[75] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
- A[76] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_1_0;
+ A[76] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_1_0;
A[77] = 0.0;
- A[78] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666666*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[78] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[79] = 0.666666666666666*G0_0_1 + 0.666666666666665*G0_1_0 + 0.666666666666666*G2_0_1 + 0.666666666666665*G2_1_0;
A[80] = 1.33333333333333*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666667*G2_0_1 + 0.666666666666667*G2_1_0 + 1.33333333333333*G2_1_1;
A[81] = 0.0;
@@ -11544,12 +12129,12 @@ public:
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.5*G1_0_0 + 0.5*G1_0_1 + 0.5*G1_1_0 + 0.5*G1_1_1 + 0.5*G3_0_0 + 0.5*G3_0_1 + 0.5*G3_1_0 + 0.5*G3_1_1;
- A[97] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_1_0;
+ A[97] = 0.166666666666667*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666667*G3_0_0 + 0.166666666666666*G3_1_0;
A[98] = 0.166666666666666*G1_0_1 + 0.166666666666665*G1_1_1 + 0.166666666666666*G3_0_1 + 0.166666666666665*G3_1_1;
A[99] = 0.0;
A[100] = -0.666666666666667*G1_0_1 - 0.666666666666667*G1_1_1 - 0.666666666666667*G3_0_1 - 0.666666666666667*G3_1_1;
A[101] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
- A[102] = 0.166666666666666*G5_0 + 0.166666666666667*G5_1;
+ A[102] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[103] = 0.0;
A[104] = 0.0;
A[105] = 0.0;
@@ -11561,9 +12146,9 @@ public:
A[111] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_0_1 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_0_1;
A[112] = 0.5*G1_0_0 + 0.5*G3_0_0;
A[113] = -0.166666666666666*G1_0_1 - 0.166666666666666*G3_0_1;
- A[114] = 0.666666666666664*G1_0_1 + 0.666666666666664*G3_0_1;
+ A[114] = 0.666666666666663*G1_0_1 + 0.666666666666663*G3_0_1;
A[115] = 0.0;
- A[116] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_0_1;
+ A[116] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
A[117] = 0.0;
A[118] = -0.166666666666666*G5_0;
A[119] = 0.0;
@@ -11589,11 +12174,11 @@ public:
A[139] = 0.0;
A[140] = 0.0;
A[141] = 0.0;
- A[142] = 0.666666666666664*G1_1_0 + 0.666666666666664*G3_1_0;
+ A[142] = 0.666666666666663*G1_1_0 + 0.666666666666663*G3_1_0;
A[143] = 0.666666666666666*G1_0_1 + 0.666666666666666*G3_0_1;
- A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333332*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333332*G3_1_1;
+ A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333331*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333331*G3_1_1;
A[145] = -1.33333333333333*G1_0_0 - 0.666666666666659*G1_0_1 - 0.666666666666656*G1_1_0 - 1.33333333333333*G3_0_0 - 0.666666666666659*G3_0_1 - 0.666666666666656*G3_1_0;
- A[146] = -0.666666666666665*G1_0_1 - 0.666666666666666*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666666*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[146] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[147] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
A[148] = -0.166666666666666*G5_0 - 0.333333333333331*G5_1;
A[149] = -0.333333333333333*G5_0 - 0.166666666666664*G5_1;
@@ -11619,21 +12204,21 @@ public:
A[169] = 0.0;
A[170] = 0.0;
A[171] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
- A[172] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_1_0;
+ A[172] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
A[173] = 0.0;
- A[174] = -0.666666666666666*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666666*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[174] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[175] = 0.666666666666666*G1_0_1 + 0.666666666666665*G1_1_0 + 0.666666666666666*G3_0_1 + 0.666666666666665*G3_1_0;
A[176] = 1.33333333333333*G1_0_0 + 0.666666666666667*G1_0_1 + 0.666666666666667*G1_1_0 + 1.33333333333333*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666667*G3_0_1 + 0.666666666666667*G3_1_0 + 1.33333333333333*G3_1_1;
A[177] = -0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[178] = 0.166666666666667*G5_0 + 0.333333333333333*G5_1;
A[179] = 0.166666666666667*G5_1;
- A[180] = -0.166666666666666*G6_0 - 0.166666666666667*G6_1;
+ A[180] = -0.166666666666667*G6_0 - 0.166666666666667*G6_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = 0.166666666666666*G6_0 + 0.166666666666665*G6_1;
A[184] = -0.166666666666666*G6_0 + 0.166666666666668*G6_1;
A[185] = 0.166666666666667*G6_0 - 0.166666666666667*G6_1;
- A[186] = -0.166666666666666*G7_0 - 0.166666666666667*G7_1;
+ A[186] = -0.166666666666667*G7_0 - 0.166666666666667*G7_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = 0.166666666666666*G7_0 + 0.166666666666665*G7_1;
@@ -11702,6 +12287,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 12
// Number of operations (multiply-add pairs) for tensor contraction: 42
@@ -11736,16 +12336,16 @@ public:
// Compute element tensor
A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
+ A[2] = -0.00277777777777778*G0_0 - 0.00277777777777781*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
+ A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888888*G0_5;
A[6] = 0.0166666666666666*G1_6 - 0.00277777777777778*G1_7 - 0.00277777777777778*G1_8 - 0.0111111111111111*G1_9;
A[7] = -0.00277777777777778*G1_6 + 0.0166666666666667*G1_7 - 0.00277777777777781*G1_8 - 0.0111111111111111*G1_10;
- A[8] = -0.00277777777777778*G1_6 - 0.0027777777777778*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
+ A[8] = -0.00277777777777778*G1_6 - 0.00277777777777781*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
A[9] = -0.0111111111111111*G1_6 + 0.0888888888888888*G1_9 + 0.0444444444444443*G1_10 + 0.0444444444444443*G1_11;
A[10] = -0.0111111111111111*G1_7 + 0.0444444444444443*G1_9 + 0.0888888888888887*G1_10 + 0.0444444444444443*G1_11;
- A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888887*G1_11;
+ A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888888*G1_11;
A[12] = 0.0;
A[13] = 0.0;
A[14] = 0.0;
@@ -12451,10 +13051,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -12617,10 +13217,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -12636,10 +13236,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/documented/stokes-taylor-hood/cpp/compile.log b/demo/documented/stokes-taylor-hood/cpp/compile.log
deleted file mode 100644
index 16e49ad..0000000
--- a/demo/documented/stokes-taylor-hood/cpp/compile.log
+++ /dev/null
@@ -1,340 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Stokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>,
- Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?)>,
- Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?)>,
- Vector<2 x CG1(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.245315 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00177 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.0019 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00178 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00169 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00206 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00166 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00157 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00158 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00281 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00198 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0554719 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.00022006 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.674834 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000847101 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00112987 seconds.
-
-FFC finished in 0.978379 seconds.
-Output written to ./Stokes.h.
diff --git a/demo/documented/subdomains/cpp/CMakeLists.txt b/demo/documented/subdomains/cpp/CMakeLists.txt
index 0527cf2..c020b0d 100644
--- a/demo/documented/subdomains/cpp/CMakeLists.txt
+++ b/demo/documented/subdomains/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_subdomains)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/adaptive-poisson/cpp/CMakeLists.txt b/demo/undocumented/adaptive-poisson/cpp/CMakeLists.txt
deleted file mode 100644
index 7343503..0000000
--- a/demo/undocumented/adaptive-poisson/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is automatically generated by running
-#
-# cmake/scripts/generate-cmakefiles
-#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
-
-project(demo_adaptive-poisson)
-
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Set CMake behavior
-cmake_policy(SET CMP0004 OLD)
-
-# Get DOLFIN configuration data (DOLFINConfig.cmake must be in DOLFIN_CMAKE_CONFIG_PATH)
-find_package(DOLFIN)
-
-# Default build type (can be overridden by user)
-if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
- "Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
-endif()
-
-# Compiler definitions
-add_definitions(${DOLFIN_CXX_DEFINITIONS})
-
-# Add special DOLFIN compiler flags
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_CXX_FLAGS}")
-
-# Include directories
-include_directories(${DOLFIN_INCLUDE_DIRS})
-include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
-
-# Executable
-
-
-# Target libraries
-NOT_SET
diff --git a/demo/undocumented/advection-diffusion/cpp/AdvectionDiffusion.h b/demo/undocumented/advection-diffusion/cpp/AdvectionDiffusion.h
index d0d1ae9..72dc445 100644
--- a/demo/undocumented/advection-diffusion/cpp/AdvectionDiffusion.h
+++ b/demo/undocumented/advection-diffusion/cpp/AdvectionDiffusion.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6741,25 +6724,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -6916,6 +6890,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7036,6 +7034,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7143,6 +7232,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7286,6 +7399,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7407,6 +7629,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7495,6 +7741,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7602,6 +7933,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7705,6 +8060,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7763,6 +8215,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 44
// Number of operations (multiply-add pairs) for tensor contraction: 164
@@ -7814,13 +8281,13 @@ public:
// Compute element tensor
A[0] = 0.0833333333333333*G0_ + 6.24999999999998e-05*G1_0_0 + 6.25e-05*G1_0_1 + 6.25e-05*G1_1_0 + 6.25000000000001e-05*G1_1_1 - 0.000416666666666665*G2_0_0_0 + 0.000208333333333333*G2_0_1_0 + 0.000208333333333333*G2_0_2_0 - 0.000833333333333332*G2_0_3_0 - 0.00166666666666666*G2_0_4_0 - 0.00166666666666666*G2_0_5_0 - 0.000416666666666665*G2_0_6_1 + 0.000208333333333333*G2_0_7_1 + 0.000208333333333333*G2_0_8_1 - 0.000833333333333332*G2_0_9_1 - 0.00166666666666666*G2_0_10_1 - 0.00166666 [...]
A[1] = 0.0416666666666667*G0_ - 6.24999999999998e-05*G1_0_0 - 6.25e-05*G1_1_0 + 0.000416666666666665*G2_0_0_0 - 0.000208333333333333*G2_0_1_0 - 0.000208333333333333*G2_0_2_0 + 0.000833333333333332*G2_0_3_0 + 0.00166666666666666*G2_0_4_0 + 0.00166666666666666*G2_0_5_0 + 0.000416666666666665*G2_0_6_1 - 0.000208333333333333*G2_0_7_1 - 0.000208333333333333*G2_0_8_1 + 0.000833333333333332*G2_0_9_1 + 0.00166666666666666*G2_0_10_1 + 0.00166666666666666*G2_0_11_1;
- A[2] = 0.0416666666666667*G0_ - 6.24999999999999e-05*G1_0_1 - 6.25e-05*G1_1_1 + 0.000416666666666665*G2_1_0_0 - 0.000208333333333333*G2_1_1_0 - 0.000208333333333333*G2_1_2_0 + 0.000833333333333332*G2_1_3_0 + 0.00166666666666667*G2_1_4_0 + 0.00166666666666667*G2_1_5_0 + 0.000416666666666665*G2_1_6_1 - 0.000208333333333333*G2_1_7_1 - 0.000208333333333333*G2_1_8_1 + 0.000833333333333332*G2_1_9_1 + 0.00166666666666667*G2_1_10_1 + 0.00166666666666667*G2_1_11_1;
- A[3] = 0.0416666666666667*G0_ - 6.24999999999998e-05*G1_0_0 - 6.25e-05*G1_0_1 + 0.000208333333333333*G2_0_0_0 - 0.000416666666666665*G2_0_1_0 + 0.000208333333333333*G2_0_2_0 - 0.00166666666666666*G2_0_3_0 - 0.000833333333333332*G2_0_4_0 - 0.00166666666666666*G2_0_5_0 + 0.000208333333333333*G2_0_6_1 - 0.000416666666666665*G2_0_7_1 + 0.000208333333333333*G2_0_8_1 - 0.00166666666666666*G2_0_9_1 - 0.000833333333333332*G2_0_10_1 - 0.00166666666666666*G2_0_11_1 + 0.000208333333333333*G2_1_ [...]
- A[4] = 0.0833333333333333*G0_ + 6.24999999999998e-05*G1_0_0 - 0.000208333333333333*G2_0_0_0 + 0.000416666666666665*G2_0_1_0 - 0.000208333333333333*G2_0_2_0 + 0.00166666666666666*G2_0_3_0 + 0.000833333333333332*G2_0_4_0 + 0.00166666666666666*G2_0_5_0 - 0.000208333333333333*G2_0_6_1 + 0.000416666666666665*G2_0_7_1 - 0.000208333333333333*G2_0_8_1 + 0.00166666666666666*G2_0_9_1 + 0.000833333333333332*G2_0_10_1 + 0.00166666666666666*G2_0_11_1;
+ A[2] = 0.0416666666666667*G0_ - 6.24999999999999e-05*G1_0_1 - 6.25e-05*G1_1_1 + 0.000416666666666665*G2_1_0_0 - 0.000208333333333333*G2_1_1_0 - 0.000208333333333333*G2_1_2_0 + 0.000833333333333333*G2_1_3_0 + 0.00166666666666667*G2_1_4_0 + 0.00166666666666667*G2_1_5_0 + 0.000416666666666665*G2_1_6_1 - 0.000208333333333333*G2_1_7_1 - 0.000208333333333333*G2_1_8_1 + 0.000833333333333333*G2_1_9_1 + 0.00166666666666667*G2_1_10_1 + 0.00166666666666667*G2_1_11_1;
+ A[3] = 0.0416666666666667*G0_ - 6.24999999999998e-05*G1_0_0 - 6.25e-05*G1_0_1 + 0.000208333333333333*G2_0_0_0 - 0.000416666666666665*G2_0_1_0 + 0.000208333333333333*G2_0_2_0 - 0.00166666666666667*G2_0_3_0 - 0.000833333333333331*G2_0_4_0 - 0.00166666666666666*G2_0_5_0 + 0.000208333333333333*G2_0_6_1 - 0.000416666666666665*G2_0_7_1 + 0.000208333333333333*G2_0_8_1 - 0.00166666666666667*G2_0_9_1 - 0.000833333333333331*G2_0_10_1 - 0.00166666666666666*G2_0_11_1 + 0.000208333333333333*G2_1_ [...]
+ A[4] = 0.0833333333333333*G0_ + 6.24999999999998e-05*G1_0_0 - 0.000208333333333333*G2_0_0_0 + 0.000416666666666665*G2_0_1_0 - 0.000208333333333333*G2_0_2_0 + 0.00166666666666667*G2_0_3_0 + 0.000833333333333331*G2_0_4_0 + 0.00166666666666666*G2_0_5_0 - 0.000208333333333333*G2_0_6_1 + 0.000416666666666665*G2_0_7_1 - 0.000208333333333333*G2_0_8_1 + 0.00166666666666667*G2_0_9_1 + 0.000833333333333331*G2_0_10_1 + 0.00166666666666666*G2_0_11_1;
A[5] = 0.0416666666666667*G0_ + 6.24999999999999e-05*G1_0_1 - 0.000208333333333333*G2_1_0_0 + 0.000416666666666665*G2_1_1_0 - 0.000208333333333333*G2_1_2_0 + 0.00166666666666667*G2_1_3_0 + 0.000833333333333332*G2_1_4_0 + 0.00166666666666667*G2_1_5_0 - 0.000208333333333333*G2_1_6_1 + 0.000416666666666665*G2_1_7_1 - 0.000208333333333333*G2_1_8_1 + 0.00166666666666667*G2_1_9_1 + 0.000833333333333332*G2_1_10_1 + 0.00166666666666667*G2_1_11_1;
A[6] = 0.0416666666666667*G0_ - 6.24999999999999e-05*G1_1_0 - 6.25e-05*G1_1_1 + 0.000208333333333333*G2_0_0_0 + 0.000208333333333333*G2_0_1_0 - 0.000416666666666665*G2_0_2_0 - 0.00166666666666666*G2_0_3_0 - 0.00166666666666666*G2_0_4_0 - 0.000833333333333332*G2_0_5_0 + 0.000208333333333333*G2_0_6_1 + 0.000208333333333333*G2_0_7_1 - 0.000416666666666665*G2_0_8_1 - 0.00166666666666666*G2_0_9_1 - 0.00166666666666666*G2_0_10_1 - 0.000833333333333332*G2_0_11_1 + 0.000208333333333333*G2_1_ [...]
A[7] = 0.0416666666666667*G0_ + 6.24999999999999e-05*G1_1_0 - 0.000208333333333333*G2_0_0_0 - 0.000208333333333333*G2_0_1_0 + 0.000416666666666665*G2_0_2_0 + 0.00166666666666666*G2_0_3_0 + 0.00166666666666666*G2_0_4_0 + 0.000833333333333332*G2_0_5_0 - 0.000208333333333333*G2_0_6_1 - 0.000208333333333333*G2_0_7_1 + 0.000416666666666665*G2_0_8_1 + 0.00166666666666666*G2_0_9_1 + 0.00166666666666666*G2_0_10_1 + 0.000833333333333332*G2_0_11_1;
- A[8] = 0.0833333333333333*G0_ + 6.25e-05*G1_1_1 - 0.000208333333333333*G2_1_0_0 - 0.000208333333333333*G2_1_1_0 + 0.000416666666666665*G2_1_2_0 + 0.00166666666666667*G2_1_3_0 + 0.00166666666666667*G2_1_4_0 + 0.000833333333333332*G2_1_5_0 - 0.000208333333333333*G2_1_6_1 - 0.000208333333333333*G2_1_7_1 + 0.000416666666666665*G2_1_8_1 + 0.00166666666666667*G2_1_9_1 + 0.00166666666666667*G2_1_10_1 + 0.000833333333333332*G2_1_11_1;
+ A[8] = 0.0833333333333333*G0_ + 6.25e-05*G1_1_1 - 0.000208333333333333*G2_1_0_0 - 0.000208333333333333*G2_1_1_0 + 0.000416666666666665*G2_1_2_0 + 0.00166666666666667*G2_1_3_0 + 0.00166666666666667*G2_1_4_0 + 0.000833333333333333*G2_1_5_0 - 0.000208333333333333*G2_1_6_1 - 0.000208333333333333*G2_1_7_1 + 0.000416666666666665*G2_1_8_1 + 0.00166666666666667*G2_1_9_1 + 0.00166666666666667*G2_1_10_1 + 0.000833333333333333*G2_1_11_1;
}
};
@@ -7851,6 +8318,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 122
// Number of operations (multiply-add pairs) for tensor contraction: 176
@@ -7933,9 +8415,9 @@ public:
const double G3_2_1_11_1 = det*w[0][2]*w[1][11]*K[3]*(1.0);
// Compute element tensor
- A[0] = 0.0833333333333333*G0_0 + 0.0416666666666667*G0_1 + 0.0416666666666667*G0_2 + 0.00416666666666666*G1_0 + 0.00208333333333333*G1_1 + 0.00208333333333333*G1_2 - 6.24999999999998e-05*G2_0_0_0 - 6.25e-05*G2_0_0_1 + 6.24999999999998e-05*G2_0_1_0 + 6.24999999999999e-05*G2_0_2_1 - 6.25e-05*G2_1_0_0 - 6.25000000000001e-05*G2_1_0_1 + 6.25e-05*G2_1_1_0 + 6.25e-05*G2_1_2_1 + 0.000416666666666665*G3_0_0_0_0 - 0.000208333333333333*G3_0_0_1_0 - 0.000208333333333333*G3_0_0_2_0 + 0.0008333333 [...]
- A[1] = 0.0416666666666667*G0_0 + 0.0833333333333333*G0_1 + 0.0416666666666667*G0_2 + 0.00208333333333333*G1_0 + 0.00416666666666666*G1_1 + 0.00208333333333333*G1_2 + 6.24999999999998e-05*G2_0_0_0 + 6.25e-05*G2_0_0_1 - 6.24999999999998e-05*G2_0_1_0 - 6.24999999999999e-05*G2_0_2_1 - 0.000208333333333333*G3_0_0_0_0 + 0.000416666666666665*G3_0_0_1_0 - 0.000208333333333333*G3_0_0_2_0 + 0.00166666666666666*G3_0_0_3_0 + 0.000833333333333332*G3_0_0_4_0 + 0.00166666666666666*G3_0_0_5_0 - 0.00 [...]
- A[2] = 0.0416666666666667*G0_0 + 0.0416666666666667*G0_1 + 0.0833333333333333*G0_2 + 0.00208333333333333*G1_0 + 0.00208333333333333*G1_1 + 0.00416666666666666*G1_2 + 6.24999999999999e-05*G2_1_0_0 + 6.25e-05*G2_1_0_1 - 6.24999999999999e-05*G2_1_1_0 - 6.25e-05*G2_1_2_1 - 0.000208333333333333*G3_0_0_0_0 - 0.000208333333333333*G3_0_0_1_0 + 0.000416666666666665*G3_0_0_2_0 + 0.00166666666666666*G3_0_0_3_0 + 0.00166666666666666*G3_0_0_4_0 + 0.000833333333333332*G3_0_0_5_0 - 0.00020833333333 [...]
+ A[0] = 0.0833333333333333*G0_0 + 0.0416666666666667*G0_1 + 0.0416666666666667*G0_2 + 0.00416666666666666*G1_0 + 0.00208333333333333*G1_1 + 0.00208333333333333*G1_2 - 6.24999999999998e-05*G2_0_0_0 - 6.25e-05*G2_0_0_1 + 6.24999999999998e-05*G2_0_1_0 + 6.24999999999999e-05*G2_0_2_1 - 6.25e-05*G2_1_0_0 - 6.25000000000001e-05*G2_1_0_1 + 6.25e-05*G2_1_1_0 + 6.25e-05*G2_1_2_1 + 0.000416666666666665*G3_0_0_0_0 - 0.000208333333333333*G3_0_0_1_0 - 0.000208333333333333*G3_0_0_2_0 + 0.0008333333 [...]
+ A[1] = 0.0416666666666667*G0_0 + 0.0833333333333333*G0_1 + 0.0416666666666667*G0_2 + 0.00208333333333333*G1_0 + 0.00416666666666666*G1_1 + 0.00208333333333333*G1_2 + 6.24999999999998e-05*G2_0_0_0 + 6.25e-05*G2_0_0_1 - 6.24999999999998e-05*G2_0_1_0 - 6.24999999999999e-05*G2_0_2_1 - 0.000208333333333333*G3_0_0_0_0 + 0.000416666666666665*G3_0_0_1_0 - 0.000208333333333333*G3_0_0_2_0 + 0.00166666666666667*G3_0_0_3_0 + 0.000833333333333331*G3_0_0_4_0 + 0.00166666666666666*G3_0_0_5_0 - 0.00 [...]
+ A[2] = 0.0416666666666667*G0_0 + 0.0416666666666667*G0_1 + 0.0833333333333333*G0_2 + 0.00208333333333333*G1_0 + 0.00208333333333333*G1_1 + 0.00416666666666666*G1_2 + 6.24999999999999e-05*G2_1_0_0 + 6.25e-05*G2_1_0_1 - 6.24999999999999e-05*G2_1_1_0 - 6.25e-05*G2_1_2_1 - 0.000208333333333333*G3_0_0_0_0 - 0.000208333333333333*G3_0_0_1_0 + 0.000416666666666665*G3_0_0_2_0 + 0.00166666666666666*G3_0_0_3_0 + 0.00166666666666666*G3_0_0_4_0 + 0.000833333333333332*G3_0_0_5_0 - 0.00020833333333 [...]
}
};
@@ -8739,10 +9221,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8758,10 +9240,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8952,10 +9434,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8971,10 +9453,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/advection-diffusion/cpp/CMakeLists.txt b/demo/undocumented/advection-diffusion/cpp/CMakeLists.txt
index 47e917d..2da02ad 100644
--- a/demo/undocumented/advection-diffusion/cpp/CMakeLists.txt
+++ b/demo/undocumented/advection-diffusion/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_advection-diffusion)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/advection-diffusion/cpp/Velocity.h b/demo/undocumented/advection-diffusion/cpp/Velocity.h
index cadd365..7ef77c6 100644
--- a/demo/undocumented/advection-diffusion/cpp/Velocity.h
+++ b/demo/undocumented/advection-diffusion/cpp/Velocity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -4545,6 +4528,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4665,6 +4672,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4772,6 +4870,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4915,6 +5037,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/advection-diffusion/cpp/compile.log b/demo/undocumented/advection-diffusion/cpp/compile.log
deleted file mode 100644
index 5e7e662..0000000
--- a/demo/undocumented/advection-diffusion/cpp/compile.log
+++ /dev/null
@@ -1,312 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element Velocity
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000267982 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.113754 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000124931 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.173298 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000211954 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000473022 seconds.
-
-FFC finished in 0.288462 seconds.
-Output written to ./Velocity.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form AdvectionDiffusion
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>, CG2(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_1, w_2]'
- Unique elements: 'CG1(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG2(?)>, Vector<2 x CG1(?)>, CG2(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
-Compiler stage 1 finished in 0.155089 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 4 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 4 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000556 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000607 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 432 entries computed in 0.00115 seconds
- Shape of reference tensor: (3, 3, 2, 12, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 3 dims = [2, 12, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [0, 6, 0], [0, 6, 1], [0, 7, 0], [0, 7, 1], [0, 8, 0], [0, 8, 1], [0, 9, 0], [0, 9, 1], [0, 10, 0], [0, 10, 1], [0, 11, 0], [0, 11, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1], [1, 6, 0], [1, 6, 1], [1, 7, [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [2, 12, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [0, 6, 0], [0, 6, 1], [0, 7, 0], [0, 7, 1], [0, 8, 0], [0, 8, 1], [0, 9, 0], [0, 9, 1], [0, 10, 0], [0, 10, 1], [0, 11, 0], [0, 11, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1], [1, 6, 0], [1, 6, 1], [1, 7, [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000535 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000524 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000626 seconds
- Shape of reference tensor: (3, 2, 3, 2)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 3 dims = [2, 3, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [2, 3, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 432 entries computed in 0.00113 seconds
- Shape of reference tensor: (3, 3, 2, 12, 2)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 4 dims = [3, 2, 12, 2] indices = [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 2, 0], [0, 0, 2, 1], [0, 0, 3, 0], [0, 0, 3, 1], [0, 0, 4, 0], [0, 0, 4, 1], [0, 0, 5, 0], [0, 0, 5, 1], [0, 0, 6, 0], [0, 0, 6, 1], [0, 0, 7, 0], [0, 0, 7, 1], [0, 0, 8, 0], [0, 0, 8, 1], [0, 0, 9, 0], [0, 0, 9, 1], [0, 0, 10, 0], [0, 0, 10, 1], [0, 0, 11, 0], [0, 0, 11, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 2, 0], [0, 1, 2, 1], [0 [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 4 dims = [3, 2, 12, 2] indices = [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 2, 0], [0, 0, 2, 1], [0, 0, 3, 0], [0, 0, 3, 1], [0, 0, 4, 0], [0, 0, 4, 1], [0, 0, 5, 0], [0, 0, 5, 1], [0, 0, 6, 0], [0, 0, 6, 1], [0, 0, 7, 0], [0, 0, 7, 1], [0, 0, 8, 0], [0, 0, 8, 1], [0, 0, 9, 0], [0, 0, 9, 1], [0, 0, 10, 0], [0, 0, 10, 1], [0, 0, 11, 0], [0, 0, 11, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 2, 0], [0, 1, 2, 1], [0 [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.01947 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000157118 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 4 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 4 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.263447 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000663996 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000643015 seconds.
-
-FFC finished in 0.439816 seconds.
-Output written to ./AdvectionDiffusion.h.
diff --git a/demo/undocumented/ale/cpp/CMakeLists.txt b/demo/undocumented/ale/cpp/CMakeLists.txt
index b8b43f0..4647366 100644
--- a/demo/undocumented/ale/cpp/CMakeLists.txt
+++ b/demo/undocumented/ale/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_ale)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/auto-adaptive-navier-stokes/cpp/AdaptiveNavierStokes.h b/demo/undocumented/auto-adaptive-navier-stokes/cpp/AdaptiveNavierStokes.h
index 1469435..e1b7e53 100644
--- a/demo/undocumented/auto-adaptive-navier-stokes/cpp/AdaptiveNavierStokes.h
+++ b/demo/undocumented/auto-adaptive-navier-stokes/cpp/AdaptiveNavierStokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: True
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2538,7 +2530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2582,7 +2574,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2626,7 +2618,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2670,7 +2662,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2890,7 +2882,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2934,7 +2926,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3116,7 +3108,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3124,24 +3116,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3291,7 +3283,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3299,24 +3291,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3466,7 +3458,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3474,24 +3466,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3641,7 +3633,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3649,24 +3641,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3824,24 +3816,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3999,24 +3991,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4174,24 +4166,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4349,24 +4341,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4516,7 +4508,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4524,24 +4516,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4691,7 +4683,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4699,24 +4691,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5274,7 +5266,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5318,7 +5310,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5362,7 +5354,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5406,7 +5398,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5626,7 +5618,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5670,7 +5662,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5714,7 +5706,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5758,7 +5750,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5802,7 +5794,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -5846,7 +5838,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -6066,7 +6058,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -6110,7 +6102,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -6295,7 +6287,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6303,24 +6295,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6470,7 +6462,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6478,24 +6470,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6645,7 +6637,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6653,24 +6645,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6820,7 +6812,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6828,24 +6820,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7003,24 +6995,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7178,24 +7170,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7353,24 +7345,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7528,24 +7520,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7695,7 +7687,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -7703,24 +7695,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -7870,7 +7862,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -7878,24 +7870,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8045,7 +8037,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8053,24 +8045,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8220,7 +8212,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8228,24 +8220,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8395,7 +8387,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8403,24 +8395,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8570,7 +8562,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -8578,24 +8570,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8753,24 +8745,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -8928,24 +8920,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9103,24 +9095,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9278,24 +9270,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9445,7 +9437,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9453,24 +9445,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -9620,7 +9612,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -9628,24 +9620,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -10029,81 +10021,51 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[10] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[11] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[12] = vals[1];
y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[13] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[14] = vals[1];
y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[15] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
values[16] = vals[1];
y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
values[17] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
values[18] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
values[19] = vals[1];
}
@@ -10334,7 +10296,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -10370,7 +10332,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -10478,7 +10440,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -10688,7 +10650,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -10703,8 +10665,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -10839,7 +10801,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -10854,8 +10816,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -11005,8 +10967,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -11156,8 +11118,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -11292,7 +11254,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -11307,8 +11269,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -11458,8 +11420,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -11955,7 +11917,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -11999,7 +11961,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12043,7 +12005,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12087,7 +12049,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12307,7 +12269,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12351,7 +12313,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12395,7 +12357,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12439,7 +12401,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12483,7 +12445,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12527,7 +12489,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12747,7 +12709,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12791,7 +12753,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -12827,7 +12789,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -12863,7 +12825,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -12971,7 +12933,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -13192,7 +13154,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13200,24 +13162,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -13367,7 +13329,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13375,24 +13337,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -13542,7 +13504,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13550,24 +13512,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -13717,7 +13679,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -13725,24 +13687,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -13900,24 +13862,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14075,24 +14037,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14250,24 +14212,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14425,24 +14387,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14592,7 +14554,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14600,24 +14562,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14767,7 +14729,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14775,24 +14737,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -14942,7 +14904,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -14950,24 +14912,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -15117,7 +15079,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -15125,24 +15087,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -15292,7 +15254,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -15300,24 +15262,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -15467,7 +15429,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -15475,24 +15437,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -15650,24 +15612,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -15825,24 +15787,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -16000,24 +15962,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -16175,24 +16137,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -16342,7 +16304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -16350,24 +16312,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -16517,7 +16479,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -16525,24 +16487,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -16684,7 +16646,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -16699,8 +16661,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -16835,7 +16797,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -16850,8 +16812,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -17001,8 +16963,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -17152,8 +17114,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -17288,7 +17250,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -17303,8 +17265,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -17454,8 +17416,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -17880,94 +17842,55 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[10] = vals[1];
+ values[20] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[11] = vals[1];
+ values[21] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[12] = vals[1];
+ values[22] = vals[2];
y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[13] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[14] = vals[1];
y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[15] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[6] = vals[0];
values[16] = vals[1];
y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[7] = vals[0];
values[17] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[8] = vals[0];
values[18] = vals[1];
y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[9] = vals[0];
values[19] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[20] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[21] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[22] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
@@ -18244,7 +18167,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18280,7 +18203,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18388,7 +18311,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18460,7 +18383,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18496,7 +18419,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18604,7 +18527,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -18817,7 +18740,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -18832,8 +18755,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -18968,7 +18891,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -18983,8 +18906,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19134,8 +19057,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19285,8 +19208,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19421,7 +19344,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -19436,8 +19359,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19587,8 +19510,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19723,7 +19646,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -19738,8 +19661,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -19874,7 +19797,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -19889,8 +19812,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -20040,8 +19963,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -20191,8 +20114,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -20327,7 +20250,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -20342,8 +20265,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -20493,8 +20416,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -20807,49 +20730,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -21084,7 +20989,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21120,7 +21025,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21228,7 +21133,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21300,7 +21205,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21336,7 +21241,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21444,7 +21349,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -21741,7 +21646,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -21756,8 +21661,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -21892,7 +21797,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -21907,8 +21812,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22058,8 +21963,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22209,8 +22114,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22345,7 +22250,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -22360,8 +22265,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22511,8 +22416,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22647,7 +22552,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -22662,8 +22567,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22798,7 +22703,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -22813,8 +22718,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -22964,8 +22869,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -23115,8 +23020,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -23251,7 +23156,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -23266,8 +23171,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -23417,8 +23322,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -24148,62 +24053,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -24427,7 +24305,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -24463,7 +24341,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -24571,7 +24449,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -24781,7 +24659,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -24796,8 +24674,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -24932,7 +24810,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -24947,8 +24825,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -25098,8 +24976,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -25249,8 +25127,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -25385,7 +25263,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -25400,8 +25278,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -25551,8 +25429,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -26039,7 +25917,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26075,7 +25953,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26183,7 +26061,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26255,7 +26133,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26291,7 +26169,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26399,7 +26277,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -26612,7 +26490,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -26627,8 +26505,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -26763,7 +26641,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -26778,8 +26656,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -26929,8 +26807,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27080,8 +26958,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27216,7 +27094,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -27231,8 +27109,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27382,8 +27260,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27518,7 +27396,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -27533,8 +27411,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27669,7 +27547,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -27684,8 +27562,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27835,8 +27713,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -27986,8 +27864,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -28122,7 +28000,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -28137,8 +28015,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -28288,8 +28166,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -28602,49 +28480,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -29785,7 +29645,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -29821,7 +29681,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -29929,7 +29789,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -30001,7 +29861,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -30037,7 +29897,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -30145,7 +30005,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -30442,7 +30302,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -30457,8 +30317,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -30593,7 +30453,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -30608,8 +30468,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -30759,8 +30619,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -30910,8 +30770,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31046,7 +30906,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -31061,8 +30921,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31212,8 +31072,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31348,7 +31208,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -31363,8 +31223,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31499,7 +31359,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -31514,8 +31374,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31665,8 +31525,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31816,8 +31676,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -31952,7 +31812,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -31967,8 +31827,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -32118,8 +31978,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -32849,62 +32709,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -33716,7 +33549,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -33883,7 +33716,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -33891,24 +33724,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -34220,6 +34053,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -34308,6 +34165,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -34415,6 +34357,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -34518,6 +34484,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -34639,6 +34702,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -34775,6 +34862,104 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -34882,6 +35067,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 20;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -35053,6 +35262,129 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 11;
+ dofs[5] = 12;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 10;
+ dofs[5] = 12;
+ dofs[6] = 15;
+ dofs[7] = 16;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ dofs[6] = 17;
+ dofs[7] = 18;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -35174,6 +35506,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -35294,6 +35650,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -35401,6 +35848,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 11;
+ break;
+ }
+ case 2:
+ {
+ return 26;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -35595,6 +36066,147 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 10;
+ dofs[2] = 20;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 11;
+ dofs[2] = 21;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 12;
+ dofs[2] = 22;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 11;
+ dofs[5] = 12;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ dofs[8] = 21;
+ dofs[9] = 22;
+ dofs[10] = 23;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 10;
+ dofs[5] = 12;
+ dofs[6] = 15;
+ dofs[7] = 16;
+ dofs[8] = 20;
+ dofs[9] = 22;
+ dofs[10] = 24;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ dofs[6] = 17;
+ dofs[7] = 18;
+ dofs[8] = 20;
+ dofs[9] = 21;
+ dofs[10] = 25;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ dofs[15] = 15;
+ dofs[16] = 16;
+ dofs[17] = 17;
+ dofs[18] = 18;
+ dofs[19] = 19;
+ dofs[20] = 20;
+ dofs[21] = 21;
+ dofs[22] = 22;
+ dofs[23] = 23;
+ dofs[24] = 24;
+ dofs[25] = 25;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -35716,6 +36328,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -35859,6 +36495,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -35980,6 +36725,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -36136,6 +36905,127 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ dofs[2] = 12;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ dofs[2] = 13;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ dofs[2] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ dofs[6] = 12;
+ dofs[7] = 14;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ dofs[6] = 12;
+ dofs[7] = 13;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -36257,6 +37147,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -36332,6 +37246,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -36439,6 +37438,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -36529,6 +37552,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -36650,6 +37764,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -36719,6 +37857,88 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -36826,6 +38046,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -36923,6 +38167,100 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -37044,6 +38382,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -37109,162 +38471,346 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new adaptivenavierstokes_dofmap_12();
- }
-
-};
-
-
-class adaptivenavierstokes_dofmap_13: public ufc::dofmap
-{
-public:
-
- adaptivenavierstokes_dofmap_13() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~adaptivenavierstokes_dofmap_13() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 0)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 0;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ return 0;
+ }
+
+ ufc::dofmap * create() const final override
+ {
+ return new adaptivenavierstokes_dofmap_12();
+ }
+
+};
+
+
+class adaptivenavierstokes_dofmap_13: public ufc::dofmap
+{
+public:
+
+ adaptivenavierstokes_dofmap_13() : ufc::dofmap()
+ {
+ // Do nothing
+ }
+
+ ~adaptivenavierstokes_dofmap_13() override
+ {
+ // Do nothing
+ }
+
+ const char * signature() const final override
+ {
+ return "FFC dofmap for FiniteElement('Discontinuous Lagrange', triangle, 0)";
+ }
+
+ bool needs_mesh_entities(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return false;
+ break;
+ }
+ case 1:
+ {
+ return false;
+ break;
+ }
+ case 2:
+ {
+ return true;
+ break;
+ }
+ }
+
+ return false;
+ }
+
+ std::size_t topological_dimension() const final override
+ {
+ return 2;
+ }
+
+ std::size_t global_dimension(const std::vector<std::size_t>&
+ num_global_entities) const final override
+ {
+ return num_global_entities[2];
+ }
+
+ std::size_t num_element_dofs() const final override
+ {
+ return 1;
+ }
+
+ std::size_t num_facet_dofs() const final override
+ {
+ return 0;
+ }
+
+ std::size_t num_entity_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ dofs[0] = entity_indices[2][0];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
+ std::size_t facet) const final override
+ {
+ switch (facet)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (d)
+ if (d > 2)
{
- case 0:
- {
- return false;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
+ throw std::runtime_error("d is larger than dimension (2)");
}
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 0;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
switch (d)
{
case 0:
{
- return 0;
- break;
- }
- case 1:
+ if (i > 2)
{
- return 0;
- break;
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- case 2:
+
+ switch (i)
{
- return 1;
- break;
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
}
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[2][0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
-
+
break;
}
case 1:
{
-
- break;
- }
- case 2:
+ if (i > 2)
{
-
- break;
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
+
+ switch (i)
{
-
- break;
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
}
- case 1:
- {
-
+
break;
}
case 2:
@@ -37388,6 +38934,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -37453,6 +39023,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -37497,6 +39147,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 172
// Number of operations (multiply-add pairs) for tensor contraction: 2992
@@ -37629,193 +39294,193 @@ public:
const double G15_11_1 = det*w[0][11]*K[3]*(1.0);
// Compute element tensor
- A[0] = 0.5*G0_0_0_0 + 0.5*G0_0_0_1 + 0.5*G0_0_1_0 + 0.500000000000001*G0_0_1_1 + 0.5*G2_0_0_0 + 0.5*G2_0_0_1 + 0.5*G2_0_1_0 + 0.500000000000001*G2_0_1_1 - 0.030952380952381*G8_0_0 - 0.030952380952381*G8_0_1 + 0.00357142857142857*G8_1_0 + 0.00357142857142858*G8_1_1 + 0.00357142857142858*G8_2_0 + 0.00357142857142859*G8_2_1 - 0.00476190476190477*G8_3_0 - 0.00476190476190471*G8_3_1 - 0.0190476190476191*G8_4_0 - 0.0190476190476191*G8_4_1 - 0.0190476190476191*G8_5_0 - 0.0190476190476191*G8 [...]
- A[1] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_1_0 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_1_0 + 0.00357142857142857*G8_0_0 + 0.00357142857142858*G8_0_1 + 0.00714285714285716*G8_1_0 + 0.00714285714285705*G8_1_1 - 0.00436507936507936*G8_2_0 - 0.00436507936507934*G8_2_1 + 0.00634920634920635*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.00793650793650793*G8_4_0 + 0.00793650793650798*G8_4_1 + 0.0126984126984127*G8_5_0 + 0.0126984126984127*G8_5_1 + 0.00357142857142857 [...]
- A[2] = 0.166666666666666*G0_0_0_1 + 0.166666666666666*G0_0_1_1 + 0.166666666666666*G2_0_0_1 + 0.166666666666666*G2_0_1_1 + 0.00357142857142858*G8_0_0 + 0.00357142857142859*G8_0_1 - 0.00436507936507936*G8_1_0 - 0.00436507936507934*G8_1_1 + 0.00714285714285713*G8_2_0 + 0.00714285714285705*G8_2_1 + 0.00634920634920633*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0126984126984127*G8_4_1 + 0.00793650793650792*G8_5_0 + 0.00793650793650798*G8_5_1 + 0.00357142857142858 [...]
- A[3] = -0.00476190476190477*G8_0_0 - 0.00476190476190471*G8_0_1 + 0.00634920634920635*G8_1_0 + 0.00634920634920634*G8_1_1 + 0.00634920634920633*G8_2_0 + 0.00634920634920634*G8_2_1 + 0.0380952380952381*G8_3_0 + 0.0380952380952376*G8_3_1 - 0.00634920634920632*G8_4_0 - 0.00634920634920656*G8_4_1 - 0.00634920634920629*G8_5_0 - 0.00634920634920655*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.00476190476190471*G9_0_1 - 0.00793650793650794*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619* [...]
- A[4] = -0.666666666666668*G0_0_0_1 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_0_1 - 0.666666666666668*G2_0_1_1 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00793650793650798*G8_1_1 + 0.0126984126984127*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.00634920634920632*G8_3_0 - 0.00634920634920656*G8_3_1 - 0.0634920634920635*G8_4_0 - 0.0634920634920639*G8_4_1 - 0.0317460317460317*G8_5_0 - 0.0317460317460319*G8_5_1 - 0.0190476190476191*G9_0_ [...]
- A[5] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.0126984126984127*G8_1_1 + 0.00793650793650792*G8_2_0 + 0.00793650793650798*G8_2_1 - 0.00634920634920629*G8_3_0 - 0.00634920634920655*G8_3_1 - 0.0317460317460317*G8_4_0 - 0.0317460317460319*G8_4_1 - 0.0634920634920634*G8_5_0 - 0.0634920634920639*G8_5_1 - 0.0190476190476191*G9_0_ [...]
- A[6] = -0.030952380952381*G13_6_0 - 0.030952380952381*G13_6_1 - 0.00714285714285719*G13_7_0 - 0.00714285714285714*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.00952380952380934*G13_9_1 - 0.0095238095238095*G13_10_0 + 0.0380952380952382*G13_10_1 + 0.0380952380952382*G13_11_0 - 0.00952380952380951*G13_11_1;
- A[7] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507936*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920635*G13_11_1;
- A[8] = 0.00357142857142858*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650795*G13_11_0 - 0.00158730158730159*G13_11_1;
- A[9] = -0.00476190476190477*G13_6_0 - 0.00476190476190471*G13_6_1 - 0.00793650793650794*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
- A[10] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920638*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
- A[11] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[12] = -0.166666666666667*G6_0 - 0.166666666666667*G6_1;
+ A[0] = 0.5*G0_0_0_0 + 0.5*G0_0_0_1 + 0.5*G0_0_1_0 + 0.500000000000002*G0_0_1_1 + 0.5*G2_0_0_0 + 0.5*G2_0_0_1 + 0.5*G2_0_1_0 + 0.500000000000002*G2_0_1_1 - 0.030952380952381*G8_0_0 - 0.030952380952381*G8_0_1 + 0.00357142857142857*G8_1_0 + 0.00357142857142858*G8_1_1 + 0.00357142857142857*G8_2_0 + 0.00357142857142858*G8_2_1 - 0.00476190476190477*G8_3_0 - 0.0047619047619047*G8_3_1 - 0.0190476190476191*G8_4_0 - 0.0190476190476191*G8_4_1 - 0.0190476190476191*G8_5_0 - 0.019047619047619*G8_5 [...]
+ A[1] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_1_0 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_1_0 + 0.00357142857142857*G8_0_0 + 0.00357142857142858*G8_0_1 + 0.00714285714285716*G8_1_0 + 0.00714285714285705*G8_1_1 - 0.00436507936507936*G8_2_0 - 0.00436507936507935*G8_2_1 + 0.00634920634920636*G8_3_0 + 0.00634920634920635*G8_3_1 + 0.00793650793650794*G8_4_0 + 0.00793650793650799*G8_4_1 + 0.0126984126984127*G8_5_0 + 0.0126984126984127*G8_5_1 + 0.00357142857142857 [...]
+ A[2] = 0.166666666666667*G0_0_0_1 + 0.166666666666666*G0_0_1_1 + 0.166666666666667*G2_0_0_1 + 0.166666666666666*G2_0_1_1 + 0.00357142857142857*G8_0_0 + 0.00357142857142859*G8_0_1 - 0.00436507936507936*G8_1_0 - 0.00436507936507935*G8_1_1 + 0.00714285714285713*G8_2_0 + 0.00714285714285705*G8_2_1 + 0.00634920634920634*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0126984126984127*G8_4_1 + 0.00793650793650793*G8_5_0 + 0.00793650793650799*G8_5_1 + 0.00357142857142857 [...]
+ A[3] = -0.00476190476190477*G8_0_0 - 0.0047619047619047*G8_0_1 + 0.00634920634920636*G8_1_0 + 0.00634920634920635*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.00634920634920634*G8_2_1 + 0.0380952380952381*G8_3_0 + 0.0380952380952376*G8_3_1 - 0.00634920634920633*G8_4_0 - 0.00634920634920657*G8_4_1 - 0.0063492063492063*G8_5_0 - 0.00634920634920656*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.0047619047619047*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_ [...]
+ A[4] = -0.666666666666668*G0_0_0_1 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_0_1 - 0.666666666666668*G2_0_1_1 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.00793650793650794*G8_1_0 + 0.00793650793650799*G8_1_1 + 0.0126984126984127*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.00634920634920633*G8_3_0 - 0.00634920634920657*G8_3_1 - 0.0634920634920635*G8_4_0 - 0.0634920634920639*G8_4_1 - 0.0317460317460317*G8_5_0 - 0.031746031746032*G8_5_1 - 0.0190476190476191*G9_0_0 [...]
+ A[5] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 - 0.0190476190476191*G8_0_0 - 0.019047619047619*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.0126984126984127*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00793650793650799*G8_2_1 - 0.0063492063492063*G8_3_0 - 0.00634920634920656*G8_3_1 - 0.0317460317460317*G8_4_0 - 0.031746031746032*G8_4_1 - 0.0634920634920634*G8_5_0 - 0.0634920634920639*G8_5_1 - 0.0190476190476191*G9_0_0 - [...]
+ A[6] = -0.030952380952381*G13_6_0 - 0.030952380952381*G13_6_1 - 0.00714285714285719*G13_7_0 - 0.00714285714285714*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.00952380952380934*G13_9_1 - 0.0095238095238095*G13_10_0 + 0.0380952380952382*G13_10_1 + 0.0380952380952381*G13_11_0 - 0.00952380952380951*G13_11_1;
+ A[7] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507937*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920634*G13_11_1;
+ A[8] = 0.00357142857142857*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650794*G13_11_0 - 0.00158730158730159*G13_11_1;
+ A[9] = -0.00476190476190477*G13_6_0 - 0.0047619047619047*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
+ A[10] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920637*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
+ A[11] = -0.0190476190476191*G13_6_0 - 0.019047619047619*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[12] = -0.166666666666667*G6_0 - 0.166666666666668*G6_1;
A[13] = 0.0;
A[14] = 0.0;
- A[15] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_0_1 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_0_1 - 0.00714285714285719*G8_0_0 - 0.00357142857142856*G8_1_0 + 0.00436507936507937*G8_2_0 - 0.00793650793650793*G8_3_0 - 0.00634920634920638*G8_4_0 - 0.0126984126984127*G8_5_0 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 - 0.00357142857142856*G9_1_0 + 0.00436507936507936*G9_2_1 + 0.00158730158730159*G9_3_0 - 0.00634920634920631*G9_3_1 - 0.001587301587301 [...]
- A[16] = 0.5*G0_0_0_0 + 0.5*G2_0_0_0 - 0.00357142857142856*G8_0_0 + 0.0309523809523809*G8_1_0 - 0.00357142857142857*G8_2_0 + 0.019047619047619*G8_3_0 + 0.00476190476190477*G8_4_0 + 0.0190476190476191*G8_5_0 + 0.00714285714285716*G9_0_0 + 0.00714285714285705*G9_0_1 + 0.0309523809523809*G9_1_0 - 0.00714285714285712*G9_2_1 + 0.00952380952380949*G9_3_0 + 0.0476190476190473*G9_3_1 - 0.00952380952380949*G9_4_0 - 0.0380952380952381*G9_5_0 - 0.0476190476190476*G9_5_1 - 0.00357142857142856*G11 [...]
- A[17] = -0.166666666666667*G0_0_0_1 - 0.166666666666667*G2_0_0_1 + 0.00436507936507937*G8_0_0 - 0.00357142857142857*G8_1_0 - 0.00714285714285715*G8_2_0 - 0.0126984126984127*G8_3_0 - 0.00634920634920635*G8_4_0 - 0.00793650793650792*G8_5_0 - 0.00436507936507936*G9_0_0 - 0.00436507936507934*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.00634920634920629*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.007936507936507 [...]
- A[18] = 0.666666666666664*G0_0_0_1 + 0.666666666666664*G2_0_0_1 - 0.00793650793650794*G8_0_0 + 0.019047619047619*G8_1_0 - 0.0126984126984127*G8_2_0 + 0.0634920634920634*G8_3_0 + 0.00634920634920632*G8_4_0 + 0.0317460317460317*G8_5_0 + 0.00634920634920635*G9_0_0 + 0.00634920634920634*G9_0_1 + 0.019047619047619*G9_1_0 - 0.0126984126984127*G9_2_1 - 0.0126984126984127*G9_3_0 + 0.019047619047619*G9_3_1 + 0.0126984126984127*G9_4_0 + 0.00634920634920637*G9_4_1 - 0.0253968253968254*G9_5_0 - [...]
- A[19] = -0.00634920634920638*G8_0_0 + 0.00476190476190477*G8_1_0 - 0.00634920634920635*G8_2_0 + 0.00634920634920632*G8_3_0 - 0.0380952380952382*G8_4_0 + 0.0063492063492063*G8_5_0 + 0.00793650793650793*G9_0_0 + 0.00793650793650798*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920621*G9_3_1 + 0.019047619047619*G9_4_0 - 0.0126984126984127*G9_5_0 + 0.00634920634920634*G9_5_1 - 0.00634920634920638*G11_0_6 + 0.00476190476190477*G [...]
- A[20] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 - 0.0126984126984127*G8_0_0 + 0.0190476190476191*G8_1_0 - 0.00793650793650792*G8_2_0 + 0.0317460317460317*G8_3_0 + 0.0063492063492063*G8_4_0 + 0.0634920634920634*G8_5_0 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 + 0.0190476190476191*G9_1_0 - 0.00634920634920636*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.019047619047619*G9_3_1 + 0.00634920634920634*G9_4_ [...]
- A[21] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507936*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920635*G13_11_1;
- A[22] = 0.00714285714285716*G13_6_0 + 0.00714285714285705*G13_6_1 + 0.0309523809523809*G13_7_0 - 0.00714285714285712*G13_8_1 + 0.00952380952380949*G13_9_0 + 0.0476190476190473*G13_9_1 - 0.00952380952380949*G13_10_0 - 0.0380952380952381*G13_11_0 - 0.0476190476190476*G13_11_1;
- A[23] = -0.00436507936507936*G13_6_0 - 0.00436507936507934*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.00634920634920629*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[24] = 0.00634920634920635*G13_6_0 + 0.00634920634920634*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.019047619047619*G13_11_1;
- A[25] = 0.00793650793650793*G13_6_0 + 0.00793650793650798*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920621*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[26] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00634920634920632*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[15] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_0_1 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_0_1 - 0.00714285714285719*G8_0_0 - 0.00357142857142856*G8_1_0 + 0.00436507936507937*G8_2_0 - 0.00793650793650793*G8_3_0 - 0.00634920634920637*G8_4_0 - 0.0126984126984127*G8_5_0 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 - 0.00357142857142856*G9_1_0 + 0.00436507936507937*G9_2_1 + 0.00158730158730159*G9_3_0 - 0.00634920634920631*G9_3_1 - 0.001587301587301 [...]
+ A[16] = 0.5*G0_0_0_0 + 0.5*G2_0_0_0 - 0.00357142857142856*G8_0_0 + 0.0309523809523809*G8_1_0 - 0.00357142857142857*G8_2_0 + 0.019047619047619*G8_3_0 + 0.00476190476190477*G8_4_0 + 0.0190476190476191*G8_5_0 + 0.00714285714285716*G9_0_0 + 0.00714285714285705*G9_0_1 + 0.0309523809523809*G9_1_0 - 0.00714285714285713*G9_2_1 + 0.0095238095238095*G9_3_0 + 0.0476190476190474*G9_3_1 - 0.0095238095238095*G9_4_0 - 0.0380952380952381*G9_5_0 - 0.0476190476190476*G9_5_1 - 0.00357142857142856*G11_0 [...]
+ A[17] = -0.166666666666667*G0_0_0_1 - 0.166666666666667*G2_0_0_1 + 0.00436507936507937*G8_0_0 - 0.00357142857142857*G8_1_0 - 0.00714285714285714*G8_2_0 - 0.0126984126984127*G8_3_0 - 0.00634920634920634*G8_4_0 - 0.00793650793650793*G8_5_0 - 0.00436507936507936*G9_0_0 - 0.00436507936507935*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0063492063492063*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.0079365079365079 [...]
+ A[18] = 0.666666666666664*G0_0_0_1 + 0.666666666666664*G2_0_0_1 - 0.00793650793650793*G8_0_0 + 0.019047619047619*G8_1_0 - 0.0126984126984127*G8_2_0 + 0.0634920634920635*G8_3_0 + 0.00634920634920633*G8_4_0 + 0.0317460317460317*G8_5_0 + 0.00634920634920636*G9_0_0 + 0.00634920634920635*G9_0_1 + 0.019047619047619*G9_1_0 - 0.0126984126984127*G9_2_1 - 0.0126984126984127*G9_3_0 + 0.019047619047619*G9_3_1 + 0.0126984126984127*G9_4_0 + 0.00634920634920637*G9_4_1 - 0.0253968253968254*G9_5_0 - [...]
+ A[19] = -0.00634920634920637*G8_0_0 + 0.00476190476190477*G8_1_0 - 0.00634920634920634*G8_2_0 + 0.00634920634920633*G8_3_0 - 0.0380952380952382*G8_4_0 + 0.0063492063492063*G8_5_0 + 0.00793650793650794*G9_0_0 + 0.00793650793650799*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650796*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920622*G9_3_1 + 0.019047619047619*G9_4_0 - 0.0126984126984127*G9_5_0 + 0.00634920634920636*G9_5_1 - 0.00634920634920637*G11_0_6 + 0.00476190476190477*G [...]
+ A[20] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 - 0.0126984126984127*G8_0_0 + 0.0190476190476191*G8_1_0 - 0.00793650793650793*G8_2_0 + 0.0317460317460317*G8_3_0 + 0.0063492063492063*G8_4_0 + 0.0634920634920634*G8_5_0 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 + 0.0190476190476191*G9_1_0 - 0.00634920634920637*G9_2_1 - 0.00634920634920635*G9_3_0 + 0.019047619047619*G9_3_1 + 0.00634920634920635*G9_4_ [...]
+ A[21] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507937*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920634*G13_11_1;
+ A[22] = 0.00714285714285716*G13_6_0 + 0.00714285714285705*G13_6_1 + 0.0309523809523809*G13_7_0 - 0.00714285714285713*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.0476190476190474*G13_9_1 - 0.0095238095238095*G13_10_0 - 0.0380952380952381*G13_11_0 - 0.0476190476190476*G13_11_1;
+ A[23] = -0.00436507936507936*G13_6_0 - 0.00436507936507935*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0063492063492063*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
+ A[24] = 0.00634920634920636*G13_6_0 + 0.00634920634920635*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[25] = 0.00793650793650794*G13_6_0 + 0.00793650793650799*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650796*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920622*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[26] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920637*G13_8_1 - 0.00634920634920635*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920635*G13_10_0 - 0.00634920634920631*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
A[27] = 0.0;
A[28] = 0.166666666666667*G6_0;
A[29] = 0.0;
- A[30] = 0.166666666666666*G0_0_1_0 + 0.166666666666666*G0_0_1_1 + 0.166666666666666*G2_0_1_0 + 0.166666666666666*G2_0_1_1 - 0.00714285714285714*G8_0_1 + 0.00436507936507936*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.00793650793650795*G8_3_1 - 0.0126984126984127*G8_4_1 - 0.00634920634920636*G8_5_1 + 0.00357142857142858*G9_0_0 + 0.00357142857142859*G9_0_1 + 0.00436507936507937*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.00158730158730162*G9_3_1 + 0.006349206349206 [...]
- A[31] = -0.166666666666667*G0_0_1_0 - 0.166666666666667*G2_0_1_0 + 0.00436507936507936*G8_0_1 - 0.00714285714285712*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.0126984126984127*G8_3_1 - 0.00793650793650795*G8_4_1 - 0.00634920634920636*G8_5_1 - 0.00436507936507936*G9_0_0 - 0.00436507936507934*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.00634920634920629*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.007936507936507 [...]
- A[32] = 0.5*G0_0_1_1 + 0.5*G2_0_1_1 - 0.00357142857142857*G8_0_1 - 0.00357142857142857*G8_1_1 + 0.030952380952381*G8_2_1 + 0.019047619047619*G8_3_1 + 0.0190476190476191*G8_4_1 + 0.00476190476190475*G8_5_1 + 0.00714285714285713*G9_0_0 + 0.00714285714285705*G9_0_1 - 0.00714285714285715*G9_1_0 + 0.030952380952381*G9_2_1 + 0.0476190476190475*G9_3_0 + 0.00952380952380926*G9_3_1 - 0.0476190476190475*G9_4_0 - 0.0380952380952379*G9_4_1 - 0.00952380952380948*G9_5_1 - 0.00357142857142857*G11_1 [...]
- A[33] = 0.666666666666667*G0_0_1_0 + 0.666666666666667*G2_0_1_0 - 0.00793650793650795*G8_0_1 - 0.0126984126984127*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0634920634920636*G8_3_1 + 0.0317460317460318*G8_4_1 + 0.00634920634920641*G8_5_1 + 0.00634920634920633*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.0126984126984127*G9_3_1 - 0.019047619047619*G9_4_0 - 0.0253968253968254*G9_4_1 + 0.00634920634920635*G9_5_0 + 0 [...]
- A[34] = -0.666666666666667*G0_0_1_0 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_1_0 - 0.666666666666665*G2_0_1_1 - 0.0126984126984127*G8_0_1 - 0.00793650793650795*G8_1_1 + 0.0190476190476191*G8_2_1 + 0.0317460317460318*G8_3_1 + 0.0634920634920636*G8_4_1 + 0.00634920634920641*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 - 0.00634920634920635*G9_1_0 + 0.0190476190476191*G9_2_1 + 0.019047619047619*G9_3_0 - 0.00634920634920637*G9_3_1 - 0.019047619047619*G9_4_0 [...]
- A[35] = -0.00634920634920636*G8_0_1 - 0.00634920634920636*G8_1_1 + 0.00476190476190475*G8_2_1 + 0.00634920634920641*G8_3_1 + 0.00634920634920641*G8_4_1 - 0.038095238095238*G8_5_1 + 0.00793650793650792*G9_0_0 + 0.00793650793650798*G9_0_1 - 0.00793650793650792*G9_1_0 + 0.00476190476190475*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920632*G9_4_0 - 0.0126984126984128*G9_4_1 + 0.019047619047619*G9_5_1 - 0.00634920634920636*G11_1_6 - 0.00634920634920636* [...]
- A[36] = 0.00357142857142858*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650795*G13_11_0 - 0.00158730158730159*G13_11_1;
- A[37] = -0.00436507936507936*G13_6_0 - 0.00436507936507934*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.00634920634920629*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[38] = 0.00714285714285713*G13_6_0 + 0.00714285714285705*G13_6_1 - 0.00714285714285715*G13_7_0 + 0.030952380952381*G13_8_1 + 0.0476190476190475*G13_9_0 + 0.00952380952380926*G13_9_1 - 0.0476190476190475*G13_10_0 - 0.0380952380952379*G13_10_1 - 0.00952380952380948*G13_11_1;
- A[39] = 0.00634920634920633*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920635*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[40] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920635*G13_7_0 + 0.0190476190476191*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
- A[41] = 0.00793650793650792*G13_6_0 + 0.00793650793650798*G13_6_1 - 0.00793650793650792*G13_7_0 + 0.00476190476190475*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.019047619047619*G13_11_1;
+ A[30] = 0.166666666666667*G0_0_1_0 + 0.166666666666666*G0_0_1_1 + 0.166666666666667*G2_0_1_0 + 0.166666666666666*G2_0_1_1 - 0.00714285714285714*G8_0_1 + 0.00436507936507937*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.00793650793650795*G8_3_1 - 0.0126984126984127*G8_4_1 - 0.00634920634920636*G8_5_1 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 + 0.00436507936507937*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.00158730158730162*G9_3_1 + 0.006349206349206 [...]
+ A[31] = -0.166666666666667*G0_0_1_0 - 0.166666666666667*G2_0_1_0 + 0.00436507936507937*G8_0_1 - 0.00714285714285713*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.0126984126984127*G8_3_1 - 0.00793650793650796*G8_4_1 - 0.00634920634920637*G8_5_1 - 0.00436507936507936*G9_0_0 - 0.00436507936507935*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0063492063492063*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.0079365079365079 [...]
+ A[32] = 0.5*G0_0_1_1 + 0.5*G2_0_1_1 - 0.00357142857142857*G8_0_1 - 0.00357142857142857*G8_1_1 + 0.030952380952381*G8_2_1 + 0.019047619047619*G8_3_1 + 0.019047619047619*G8_4_1 + 0.00476190476190476*G8_5_1 + 0.00714285714285713*G9_0_0 + 0.00714285714285705*G9_0_1 - 0.00714285714285714*G9_1_0 + 0.030952380952381*G9_2_1 + 0.0476190476190475*G9_3_0 + 0.00952380952380927*G9_3_1 - 0.0476190476190475*G9_4_0 - 0.0380952380952379*G9_4_1 - 0.00952380952380949*G9_5_1 - 0.00357142857142857*G11_1_ [...]
+ A[33] = 0.666666666666667*G0_0_1_0 + 0.666666666666667*G2_0_1_0 - 0.00793650793650795*G8_0_1 - 0.0126984126984127*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0634920634920636*G8_3_1 + 0.0317460317460318*G8_4_1 + 0.00634920634920642*G8_5_1 + 0.00634920634920634*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.0126984126984127*G9_3_1 - 0.019047619047619*G9_4_0 - 0.0253968253968254*G9_4_1 + 0.00634920634920636*G9_5_0 + 0 [...]
+ A[34] = -0.666666666666667*G0_0_1_0 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_1_0 - 0.666666666666665*G2_0_1_1 - 0.0126984126984127*G8_0_1 - 0.00793650793650796*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0317460317460318*G8_3_1 + 0.0634920634920636*G8_4_1 + 0.00634920634920642*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 - 0.00634920634920634*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.00634920634920637*G9_3_1 - 0.019047619047619*G9_4_0 - [...]
+ A[35] = -0.00634920634920636*G8_0_1 - 0.00634920634920637*G8_1_1 + 0.00476190476190476*G8_2_1 + 0.00634920634920642*G8_3_1 + 0.00634920634920642*G8_4_1 - 0.0380952380952381*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650799*G9_0_1 - 0.00793650793650793*G9_1_0 + 0.00476190476190476*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920632*G9_4_0 - 0.0126984126984128*G9_4_1 + 0.0190476190476191*G9_5_1 - 0.00634920634920636*G11_1_6 - 0.0063492063492063 [...]
+ A[36] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650794*G13_11_0 - 0.00158730158730159*G13_11_1;
+ A[37] = -0.00436507936507936*G13_6_0 - 0.00436507936507935*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0063492063492063*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
+ A[38] = 0.00714285714285713*G13_6_0 + 0.00714285714285705*G13_6_1 - 0.00714285714285714*G13_7_0 + 0.030952380952381*G13_8_1 + 0.0476190476190475*G13_9_0 + 0.00952380952380927*G13_9_1 - 0.0476190476190475*G13_10_0 - 0.0380952380952379*G13_10_1 - 0.00952380952380949*G13_11_1;
+ A[39] = 0.00634920634920634*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920636*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[40] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920634*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[41] = 0.00793650793650793*G13_6_0 + 0.00793650793650799*G13_6_1 - 0.00793650793650793*G13_7_0 + 0.00476190476190476*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.0190476190476191*G13_11_1;
A[42] = 0.0;
A[43] = 0.0;
A[44] = 0.166666666666667*G6_1;
- A[45] = 0.0095238095238095*G8_0_0 + 0.00952380952380934*G8_0_1 + 0.00158730158730159*G8_1_0 - 0.00634920634920631*G8_1_1 - 0.00634920634920634*G8_2_0 + 0.00158730158730162*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0190476190476189*G8_3_1 - 0.0126984126984127*G8_4_0 - 0.00634920634920631*G8_4_1 - 0.00634920634920634*G8_5_0 - 0.0126984126984127*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.00476190476190471*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3 [...]
- A[46] = 0.666666666666664*G0_0_1_0 + 0.666666666666664*G2_0_1_0 + 0.00158730158730159*G8_0_0 - 0.00634920634920631*G8_0_1 + 0.00952380952380949*G8_1_0 + 0.0476190476190473*G8_1_1 - 0.00634920634920633*G8_2_0 - 0.00634920634920629*G8_2_1 - 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 - 0.019047619047619*G8_4_0 - 0.00634920634920621*G8_4_1 - 0.00634920634920634*G8_5_0 + 0.019047619047619*G8_5_1 + 0.00634920634920635*G9_0_0 + 0.00634920634920634*G9_0_1 + 0.019047619047619*G9_1_0 [...]
- A[47] = 0.666666666666667*G0_0_0_1 + 0.666666666666667*G2_0_0_1 - 0.00634920634920634*G8_0_0 + 0.00158730158730162*G8_0_1 - 0.00634920634920633*G8_1_0 - 0.00634920634920629*G8_1_1 + 0.0476190476190475*G8_2_0 + 0.00952380952380926*G8_2_1 + 0.019047619047619*G8_3_0 - 0.0126984126984127*G8_3_1 + 0.019047619047619*G8_4_0 - 0.00634920634920638*G8_4_1 - 0.00634920634920633*G8_5_0 - 0.0190476190476189*G8_5_1 + 0.00634920634920633*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1 [...]
- A[48] = 1.33333333333333*G0_0_0_0 + 0.666666666666656*G0_0_0_1 + 0.666666666666656*G0_0_1_0 + 1.33333333333332*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666656*G2_0_0_1 + 0.666666666666656*G2_0_1_0 + 1.33333333333332*G2_0_1_1 - 0.019047619047619*G8_0_0 - 0.0190476190476189*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.019047619047619*G8_1_1 + 0.019047619047619*G8_2_0 - 0.0126984126984127*G8_2_1 + 0.152380952380952*G8_3_0 + 0.152380952380951*G8_3_1 + 0.076190476190476*G8_4_0 + 0.0507 [...]
- A[49] = -1.33333333333333*G0_0_0_0 - 0.666666666666659*G0_0_0_1 - 0.666666666666656*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666659*G2_0_0_1 - 0.666666666666656*G2_0_1_0 - 0.0126984126984127*G8_0_0 - 0.00634920634920631*G8_0_1 - 0.019047619047619*G8_1_0 - 0.00634920634920621*G8_1_1 + 0.019047619047619*G8_2_0 - 0.00634920634920637*G8_2_1 + 0.076190476190476*G8_3_0 + 0.0507936507936502*G8_3_1 + 0.152380952380952*G8_4_0 + 0.0507936507936496*G8_4_1 + 0.0507936507936507*G8_5_0 + [...]
- A[50] = -0.666666666666665*G0_0_0_1 - 0.666666666666666*G0_0_1_0 - 1.33333333333332*G0_0_1_1 - 0.666666666666665*G2_0_0_1 - 0.666666666666666*G2_0_1_0 - 1.33333333333332*G2_0_1_1 - 0.00634920634920634*G8_0_0 - 0.0126984126984127*G8_0_1 - 0.00634920634920634*G8_1_0 + 0.019047619047619*G8_1_1 - 0.00634920634920632*G8_2_0 - 0.0190476190476189*G8_2_1 + 0.0507936507936507*G8_3_0 + 0.0761904761904756*G8_3_1 + 0.0507936507936507*G8_4_0 + 0.0507936507936502*G8_4_1 + 0.0507936507936507*G8_5_0 [...]
- A[51] = -0.00476190476190477*G13_6_0 - 0.00476190476190471*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
- A[52] = 0.00634920634920635*G13_6_0 + 0.00634920634920634*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.019047619047619*G13_11_1;
- A[53] = 0.00634920634920633*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920635*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[54] = 0.0380952380952381*G13_6_0 + 0.0380952380952376*G13_6_1 + 0.0634920634920634*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.152380952380951*G13_9_1 - 0.152380952380952*G13_10_0 - 0.101587301587301*G13_10_1 - 0.101587301587302*G13_11_0 - 0.152380952380952*G13_11_1;
- A[55] = -0.00634920634920632*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.00634920634920632*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.076190476190476*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.076190476190476*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
- A[56] = -0.00634920634920629*G13_6_0 - 0.00634920634920655*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904762*G13_11_1;
+ A[45] = 0.0095238095238095*G8_0_0 + 0.00952380952380934*G8_0_1 + 0.00158730158730159*G8_1_0 - 0.00634920634920631*G8_1_1 - 0.00634920634920634*G8_2_0 + 0.00158730158730162*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0190476190476189*G8_3_1 - 0.0126984126984127*G8_4_0 - 0.00634920634920631*G8_4_1 - 0.00634920634920635*G8_5_0 - 0.0126984126984127*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.0047619047619047*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_ [...]
+ A[46] = 0.666666666666664*G0_0_1_0 + 0.666666666666664*G2_0_1_0 + 0.00158730158730159*G8_0_0 - 0.00634920634920631*G8_0_1 + 0.0095238095238095*G8_1_0 + 0.0476190476190474*G8_1_1 - 0.00634920634920633*G8_2_0 - 0.0063492063492063*G8_2_1 - 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 - 0.019047619047619*G8_4_0 - 0.00634920634920622*G8_4_1 - 0.00634920634920635*G8_5_0 + 0.019047619047619*G8_5_1 + 0.00634920634920636*G9_0_0 + 0.00634920634920635*G9_0_1 + 0.019047619047619*G9_1_0 - [...]
+ A[47] = 0.666666666666667*G0_0_0_1 + 0.666666666666667*G2_0_0_1 - 0.00634920634920634*G8_0_0 + 0.00158730158730162*G8_0_1 - 0.00634920634920633*G8_1_0 - 0.0063492063492063*G8_1_1 + 0.0476190476190475*G8_2_0 + 0.00952380952380927*G8_2_1 + 0.019047619047619*G8_3_0 - 0.0126984126984127*G8_3_1 + 0.019047619047619*G8_4_0 - 0.00634920634920637*G8_4_1 - 0.00634920634920632*G8_5_0 - 0.0190476190476189*G8_5_1 + 0.00634920634920634*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_ [...]
+ A[48] = 1.33333333333333*G0_0_0_0 + 0.666666666666656*G0_0_0_1 + 0.666666666666656*G0_0_1_0 + 1.33333333333332*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666656*G2_0_0_1 + 0.666666666666656*G2_0_1_0 + 1.33333333333332*G2_0_1_1 - 0.019047619047619*G8_0_0 - 0.0190476190476189*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.019047619047619*G8_1_1 + 0.019047619047619*G8_2_0 - 0.0126984126984127*G8_2_1 + 0.152380952380952*G8_3_0 + 0.152380952380951*G8_3_1 + 0.0761904761904761*G8_4_0 + 0.050 [...]
+ A[49] = -1.33333333333333*G0_0_0_0 - 0.666666666666659*G0_0_0_1 - 0.666666666666656*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666659*G2_0_0_1 - 0.666666666666656*G2_0_1_0 - 0.0126984126984127*G8_0_0 - 0.00634920634920631*G8_0_1 - 0.019047619047619*G8_1_0 - 0.00634920634920622*G8_1_1 + 0.019047619047619*G8_2_0 - 0.00634920634920637*G8_2_1 + 0.0761904761904761*G8_3_0 + 0.0507936507936502*G8_3_1 + 0.152380952380952*G8_4_0 + 0.0507936507936497*G8_4_1 + 0.0507936507936507*G8_5_0 + [...]
+ A[50] = -0.666666666666665*G0_0_0_1 - 0.666666666666666*G0_0_1_0 - 1.33333333333333*G0_0_1_1 - 0.666666666666665*G2_0_0_1 - 0.666666666666666*G2_0_1_0 - 1.33333333333333*G2_0_1_1 - 0.00634920634920634*G8_0_0 - 0.0126984126984127*G8_0_1 - 0.00634920634920635*G8_1_0 + 0.019047619047619*G8_1_1 - 0.00634920634920632*G8_2_0 - 0.0190476190476189*G8_2_1 + 0.0507936507936507*G8_3_0 + 0.0761904761904757*G8_3_1 + 0.0507936507936507*G8_4_0 + 0.0507936507936502*G8_4_1 + 0.0507936507936507*G8_5_0 [...]
+ A[51] = -0.00476190476190477*G13_6_0 - 0.0047619047619047*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
+ A[52] = 0.00634920634920636*G13_6_0 + 0.00634920634920635*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[53] = 0.00634920634920634*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920636*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[54] = 0.0380952380952381*G13_6_0 + 0.0380952380952376*G13_6_1 + 0.0634920634920635*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.152380952380951*G13_9_1 - 0.152380952380952*G13_10_0 - 0.101587301587301*G13_10_1 - 0.101587301587302*G13_11_0 - 0.152380952380952*G13_11_1;
+ A[55] = -0.00634920634920633*G13_6_0 - 0.00634920634920657*G13_6_1 + 0.00634920634920633*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.0761904761904761*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0761904761904761*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
+ A[56] = -0.0063492063492063*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904757*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904763*G13_11_1;
A[57] = 0.166666666666666*G6_0 + 0.166666666666665*G6_1;
A[58] = 0.166666666666666*G6_0 + 0.333333333333331*G6_1;
A[59] = 0.333333333333333*G6_0 + 0.166666666666664*G6_1;
- A[60] = -0.666666666666668*G0_0_1_0 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_1_0 - 0.666666666666668*G2_0_1_1 - 0.0095238095238095*G8_0_0 + 0.0380952380952382*G8_0_1 - 0.00158730158730159*G8_1_0 - 0.00793650793650796*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.019047619047619*G8_3_0 + 0.0126984126984126*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0317460317460317*G8_4_1 + 0.00634920634920634*G8_5_0 + 0.0253968253968254*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0_ [...]
- A[61] = -0.00158730158730159*G8_0_0 - 0.00793650793650796*G8_0_1 - 0.00952380952380949*G8_1_0 + 0.00634920634920633*G8_2_0 + 0.0079365079365079*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.00634920634920637*G8_3_1 + 0.019047619047619*G8_4_0 + 0.00634920634920634*G8_5_0 - 0.00634920634920632*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650798*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920621*G9_3_1 + 0.019047619047619*G9_ [...]
- A[62] = -0.666666666666667*G0_0_0_1 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_0_1 - 0.666666666666665*G2_0_1_1 + 0.00634920634920634*G8_0_0 + 0.00634920634920633*G8_1_0 + 0.0079365079365079*G8_1_1 - 0.0476190476190475*G8_2_0 - 0.0380952380952379*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0253968253968254*G8_3_1 - 0.019047619047619*G8_4_0 - 0.0317460317460317*G8_4_1 + 0.00634920634920633*G8_5_0 - 0.0126984126984128*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 [...]
- A[63] = -1.33333333333333*G0_0_0_0 - 0.666666666666656*G0_0_0_1 - 0.666666666666659*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666656*G2_0_0_1 - 0.666666666666659*G2_0_1_0 + 0.019047619047619*G8_0_0 + 0.0126984126984126*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.00634920634920637*G8_1_1 - 0.019047619047619*G8_2_0 - 0.0253968253968254*G8_2_1 - 0.152380952380952*G8_3_0 - 0.101587301587301*G8_3_1 - 0.076190476190476*G8_4_0 - 0.025396825396825*G8_4_1 - 0.0507936507936507*G8_5_0 - 0.00 [...]
- A[64] = 1.33333333333333*G0_0_0_0 + 0.666666666666659*G0_0_0_1 + 0.666666666666659*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666659*G2_0_0_1 + 0.666666666666659*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.0317460317460317*G8_0_1 + 0.019047619047619*G8_1_0 - 0.019047619047619*G8_2_0 - 0.0317460317460317*G8_2_1 - 0.076190476190476*G8_3_0 - 0.025396825396825*G8_3_1 - 0.152380952380952*G8_4_0 - 0.0507936507936507*G8_5_0 + 0.025 [...]
- A[65] = 0.666666666666665*G0_0_0_1 + 0.666666666666666*G0_0_1_0 + 0.666666666666665*G2_0_0_1 + 0.666666666666666*G2_0_1_0 + 0.00634920634920634*G8_0_0 + 0.0253968253968254*G8_0_1 + 0.00634920634920634*G8_1_0 - 0.00634920634920632*G8_1_1 + 0.00634920634920632*G8_2_0 - 0.0126984126984128*G8_2_1 - 0.0507936507936507*G8_3_0 - 0.0507936507936507*G8_4_0 + 0.0253968253968258*G8_4_1 - 0.0507936507936507*G8_5_0 + 0.101587301587302*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.0317460317460319*G9_0_1 [...]
- A[66] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920638*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
- A[67] = 0.00793650793650793*G13_6_0 + 0.00793650793650798*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920621*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[68] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920635*G13_7_0 + 0.0190476190476191*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920638*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
- A[69] = -0.00634920634920632*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.00634920634920632*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.076190476190476*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.076190476190476*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
- A[70] = -0.0634920634920635*G13_6_0 - 0.0634920634920639*G13_6_1 - 0.0380952380952382*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.0507936507936496*G13_9_1 - 0.152380952380952*G13_10_0 + 0.101587301587302*G13_11_0 - 0.0507936507936507*G13_11_1;
- A[71] = -0.0317460317460317*G13_6_0 - 0.0317460317460319*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
+ A[60] = -0.666666666666668*G0_0_1_0 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_1_0 - 0.666666666666668*G2_0_1_1 - 0.0095238095238095*G8_0_0 + 0.0380952380952382*G8_0_1 - 0.00158730158730159*G8_1_0 - 0.00793650793650796*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.019047619047619*G8_3_0 + 0.0126984126984126*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0317460317460317*G8_4_1 + 0.00634920634920635*G8_5_0 + 0.0253968253968254*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0_ [...]
+ A[61] = -0.00158730158730159*G8_0_0 - 0.00793650793650796*G8_0_1 - 0.0095238095238095*G8_1_0 + 0.00634920634920633*G8_2_0 + 0.0079365079365079*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.00634920634920637*G8_3_1 + 0.019047619047619*G8_4_0 + 0.00634920634920635*G8_5_0 - 0.00634920634920631*G8_5_1 + 0.00793650793650794*G9_0_0 + 0.00793650793650799*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650796*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920622*G9_3_1 + 0.019047619047619*G9_4 [...]
+ A[62] = -0.666666666666667*G0_0_0_1 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_0_1 - 0.666666666666665*G2_0_1_1 + 0.00634920634920634*G8_0_0 + 0.00634920634920633*G8_1_0 + 0.0079365079365079*G8_1_1 - 0.0476190476190475*G8_2_0 - 0.0380952380952379*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0253968253968254*G8_3_1 - 0.019047619047619*G8_4_0 - 0.0317460317460317*G8_4_1 + 0.00634920634920632*G8_5_0 - 0.0126984126984128*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 [...]
+ A[63] = -1.33333333333333*G0_0_0_0 - 0.666666666666656*G0_0_0_1 - 0.666666666666659*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666656*G2_0_0_1 - 0.666666666666659*G2_0_1_0 + 0.019047619047619*G8_0_0 + 0.0126984126984126*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.00634920634920637*G8_1_1 - 0.019047619047619*G8_2_0 - 0.0253968253968254*G8_2_1 - 0.152380952380952*G8_3_0 - 0.101587301587301*G8_3_1 - 0.0761904761904761*G8_4_0 - 0.025396825396825*G8_4_1 - 0.0507936507936507*G8_5_0 - 0.0 [...]
+ A[64] = 1.33333333333333*G0_0_0_0 + 0.666666666666659*G0_0_0_1 + 0.666666666666659*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666659*G2_0_0_1 + 0.666666666666659*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.0317460317460317*G8_0_1 + 0.019047619047619*G8_1_0 - 0.019047619047619*G8_2_0 - 0.0317460317460317*G8_2_1 - 0.0761904761904761*G8_3_0 - 0.025396825396825*G8_3_1 - 0.152380952380952*G8_4_0 - 0.0507936507936507*G8_5_0 + 0.02 [...]
+ A[65] = 0.666666666666665*G0_0_0_1 + 0.666666666666666*G0_0_1_0 + 0.666666666666665*G2_0_0_1 + 0.666666666666666*G2_0_1_0 + 0.00634920634920634*G8_0_0 + 0.0253968253968254*G8_0_1 + 0.00634920634920635*G8_1_0 - 0.00634920634920631*G8_1_1 + 0.00634920634920632*G8_2_0 - 0.0126984126984128*G8_2_1 - 0.0507936507936507*G8_3_0 - 0.0507936507936507*G8_4_0 + 0.0253968253968258*G8_4_1 - 0.0507936507936507*G8_5_0 + 0.101587301587302*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.031746031746032*G9_0_1 [...]
+ A[66] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920637*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
+ A[67] = 0.00793650793650794*G13_6_0 + 0.00793650793650799*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650796*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920622*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[68] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920634*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[69] = -0.00634920634920633*G13_6_0 - 0.00634920634920657*G13_6_1 + 0.00634920634920633*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.0761904761904761*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0761904761904761*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
+ A[70] = -0.0634920634920635*G13_6_0 - 0.0634920634920639*G13_6_1 - 0.0380952380952382*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.0507936507936497*G13_9_1 - 0.152380952380952*G13_10_0 + 0.101587301587302*G13_11_0 - 0.0507936507936507*G13_11_1;
+ A[71] = -0.0317460317460317*G13_6_0 - 0.031746031746032*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
A[72] = -0.166666666666666*G6_0 + 0.166666666666668*G6_1;
A[73] = -0.166666666666666*G6_0;
A[74] = -0.333333333333333*G6_0 - 0.166666666666665*G6_1;
- A[75] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 + 0.0380952380952382*G8_0_0 - 0.00952380952380951*G8_0_1 + 0.00634920634920635*G8_1_1 - 0.00793650793650795*G8_2_0 - 0.00158730158730159*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 + 0.0253968253968254*G8_4_0 + 0.00634920634920635*G8_4_1 + 0.0317460317460318*G8_5_0 + 0.0126984126984127*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0 [...]
- A[76] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 + 0.00634920634920635*G8_0_1 - 0.0380952380952381*G8_1_0 - 0.0476190476190476*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00634920634920634*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.019047619047619*G8_3_1 - 0.0126984126984127*G8_4_0 + 0.00634920634920634*G8_4_1 - 0.0317460317460318*G8_5_0 - 0.0190476190476191*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_ [...]
- A[77] = -0.00793650793650795*G8_0_0 - 0.00158730158730159*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00952380952380948*G8_2_1 + 0.00634920634920635*G8_3_0 + 0.0126984126984127*G8_3_1 - 0.00634920634920635*G8_4_0 + 0.00634920634920636*G8_4_1 + 0.019047619047619*G8_5_1 + 0.00793650793650792*G9_0_0 + 0.00793650793650798*G9_0_1 - 0.00793650793650792*G9_1_0 + 0.00476190476190475*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920633 [...]
- A[78] = -0.666666666666666*G0_0_0_1 - 0.666666666666665*G0_0_1_0 - 1.33333333333332*G0_0_1_1 - 0.666666666666666*G2_0_0_1 - 0.666666666666665*G2_0_1_0 - 1.33333333333332*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.019047619047619*G8_0_1 - 0.0253968253968254*G8_1_0 - 0.019047619047619*G8_1_1 + 0.00634920634920635*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.101587301587302*G8_3_0 - 0.152380952380952*G8_3_1 - 0.0507936507936508*G8_4_1 - 0.0253968253968254*G8_5_0 - 0.0761904761904762*G8_5_1 - 0. [...]
- A[79] = 0.666666666666666*G0_0_0_1 + 0.666666666666665*G0_0_1_0 + 0.666666666666666*G2_0_0_1 + 0.666666666666665*G2_0_1_0 + 0.0253968253968254*G8_0_0 + 0.00634920634920635*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00634920634920635*G8_2_0 + 0.00634920634920636*G8_2_1 - 0.0507936507936508*G8_3_1 + 0.101587301587302*G8_4_0 - 0.0507936507936507*G8_4_1 + 0.0253968253968254*G8_5_0 - 0.0507936507936508*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.0317460317460319*G9_0_1 [...]
- A[80] = 1.33333333333334*G0_0_0_0 + 0.666666666666668*G0_0_0_1 + 0.666666666666668*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333334*G2_0_0_0 + 0.666666666666668*G2_0_0_1 + 0.666666666666668*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0317460317460318*G8_0_0 + 0.0126984126984127*G8_0_1 - 0.0317460317460318*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.019047619047619*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0761904761904762*G8_3_1 + 0.0253968253968254*G8_4_0 - 0.0507936507936508*G8_4_1 - 0 [...]
- A[81] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[82] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00634920634920632*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
- A[83] = 0.00793650793650792*G13_6_0 + 0.00793650793650798*G13_6_1 - 0.00793650793650792*G13_7_0 + 0.00476190476190475*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920633*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.019047619047619*G13_11_1;
- A[84] = -0.00634920634920629*G13_6_0 - 0.00634920634920655*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904762*G13_11_1;
- A[85] = -0.0317460317460317*G13_6_0 - 0.0317460317460319*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
- A[86] = -0.0634920634920634*G13_6_0 - 0.0634920634920639*G13_6_1 + 0.0634920634920634*G13_7_0 - 0.038095238095238*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.152380952380951*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.101587301587302*G13_10_1 - 0.152380952380952*G13_11_1;
+ A[75] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 + 0.0380952380952381*G8_0_0 - 0.00952380952380951*G8_0_1 + 0.00634920634920634*G8_1_1 - 0.00793650793650794*G8_2_0 - 0.00158730158730159*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 + 0.0253968253968254*G8_4_0 + 0.00634920634920635*G8_4_1 + 0.0317460317460318*G8_5_0 + 0.0126984126984127*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.019047619047619*G9_0_ [...]
+ A[76] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 + 0.00634920634920634*G8_0_1 - 0.0380952380952381*G8_1_0 - 0.0476190476190476*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00634920634920634*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0190476190476191*G8_3_1 - 0.0126984126984127*G8_4_0 + 0.00634920634920636*G8_4_1 - 0.0317460317460318*G8_5_0 - 0.0190476190476191*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0 [...]
+ A[77] = -0.00793650793650794*G8_0_0 - 0.00158730158730159*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00952380952380949*G8_2_1 + 0.00634920634920636*G8_3_0 + 0.0126984126984127*G8_3_1 - 0.00634920634920635*G8_4_0 + 0.00634920634920636*G8_4_1 + 0.0190476190476191*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650799*G9_0_1 - 0.00793650793650793*G9_1_0 + 0.00476190476190476*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.0063492063492063 [...]
+ A[78] = -0.666666666666666*G0_0_0_1 - 0.666666666666665*G0_0_1_0 - 1.33333333333333*G0_0_1_1 - 0.666666666666666*G2_0_0_1 - 0.666666666666665*G2_0_1_0 - 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.019047619047619*G8_0_1 - 0.0253968253968254*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.00634920634920636*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.101587301587302*G8_3_0 - 0.152380952380952*G8_3_1 - 0.0507936507936508*G8_4_1 - 0.0253968253968254*G8_5_0 - 0.0761904761904763*G8_5_1 - 0 [...]
+ A[79] = 0.666666666666666*G0_0_0_1 + 0.666666666666665*G0_0_1_0 + 0.666666666666666*G2_0_0_1 + 0.666666666666665*G2_0_1_0 + 0.0253968253968254*G8_0_0 + 0.00634920634920635*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.00634920634920636*G8_1_1 - 0.00634920634920635*G8_2_0 + 0.00634920634920636*G8_2_1 - 0.0507936507936508*G8_3_1 + 0.101587301587302*G8_4_0 - 0.0507936507936507*G8_4_1 + 0.0253968253968254*G8_5_0 - 0.0507936507936508*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.031746031746032*G9_0_1 [...]
+ A[80] = 1.33333333333334*G0_0_0_0 + 0.666666666666667*G0_0_0_1 + 0.666666666666667*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333334*G2_0_0_0 + 0.666666666666667*G2_0_0_1 + 0.666666666666667*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0317460317460318*G8_0_0 + 0.0126984126984127*G8_0_1 - 0.0317460317460318*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.0190476190476191*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0761904761904763*G8_3_1 + 0.0253968253968254*G8_4_0 - 0.0507936507936508*G8_4_1 - [...]
+ A[81] = -0.0190476190476191*G13_6_0 - 0.019047619047619*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920635*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920635*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[82] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920637*G13_8_1 - 0.00634920634920635*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920635*G13_10_0 - 0.00634920634920631*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[83] = 0.00793650793650793*G13_6_0 + 0.00793650793650799*G13_6_1 - 0.00793650793650793*G13_7_0 + 0.00476190476190476*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.0190476190476191*G13_11_1;
+ A[84] = -0.0063492063492063*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904763*G13_11_1;
+ A[85] = -0.0317460317460317*G13_6_0 - 0.031746031746032*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
+ A[86] = -0.0634920634920634*G13_6_0 - 0.0634920634920639*G13_6_1 + 0.0634920634920634*G13_7_0 - 0.0380952380952381*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.152380952380951*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.101587301587302*G13_10_1 - 0.152380952380952*G13_11_1;
A[87] = 0.166666666666667*G6_0 - 0.166666666666667*G6_1;
A[88] = -0.166666666666667*G6_0 - 0.333333333333333*G6_1;
A[89] = -0.166666666666667*G6_1;
- A[90] = -0.030952380952381*G10_0_0 - 0.030952380952381*G10_0_1 - 0.00714285714285719*G10_1_0 - 0.00714285714285714*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.00952380952380934*G10_3_1 - 0.0095238095238095*G10_4_0 + 0.0380952380952382*G10_4_1 + 0.0380952380952382*G10_5_0 - 0.00952380952380951*G10_5_1;
- A[91] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507936*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920635*G10_5_1;
- A[92] = 0.00357142857142858*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00793650793650795*G10_5_0 - 0.00158730158730159*G10_5_1;
- A[93] = -0.00476190476190477*G10_0_0 - 0.00476190476190471*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
- A[94] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920638*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
- A[95] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[96] = 0.5*G1_0_0_0 + 0.5*G1_0_0_1 + 0.5*G1_0_1_0 + 0.500000000000001*G1_0_1_1 + 0.5*G3_0_0_0 + 0.5*G3_0_0_1 + 0.5*G3_0_1_0 + 0.500000000000001*G3_0_1_1 - 0.030952380952381*G12_0_0 - 0.030952380952381*G12_0_1 + 0.00357142857142857*G12_1_0 + 0.00357142857142858*G12_1_1 + 0.00357142857142858*G12_2_0 + 0.00357142857142859*G12_2_1 - 0.00476190476190477*G12_3_0 - 0.00476190476190471*G12_3_1 - 0.0190476190476191*G12_4_0 - 0.0190476190476191*G12_4_1 - 0.0190476190476191*G12_5_0 - 0.0190476 [...]
- A[97] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_1_0 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_1_0 + 0.00357142857142857*G12_0_0 + 0.00357142857142858*G12_0_1 + 0.00714285714285716*G12_1_0 + 0.00714285714285705*G12_1_1 - 0.00436507936507936*G12_2_0 - 0.00436507936507934*G12_2_1 + 0.00634920634920635*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.00793650793650793*G12_4_0 + 0.00793650793650798*G12_4_1 + 0.0126984126984127*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0035 [...]
- A[98] = 0.166666666666666*G1_0_0_1 + 0.166666666666666*G1_0_1_1 + 0.166666666666666*G3_0_0_1 + 0.166666666666666*G3_0_1_1 + 0.00357142857142858*G12_0_0 + 0.00357142857142859*G12_0_1 - 0.00436507936507936*G12_1_0 - 0.00436507936507934*G12_1_1 + 0.00714285714285713*G12_2_0 + 0.00714285714285705*G12_2_1 + 0.00634920634920633*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0126984126984127*G12_4_1 + 0.00793650793650792*G12_5_0 + 0.00793650793650798*G12_5_1 + 0.0035 [...]
- A[99] = -0.00476190476190477*G12_0_0 - 0.00476190476190471*G12_0_1 + 0.00634920634920635*G12_1_0 + 0.00634920634920634*G12_1_1 + 0.00634920634920633*G12_2_0 + 0.00634920634920634*G12_2_1 + 0.0380952380952381*G12_3_0 + 0.0380952380952376*G12_3_1 - 0.00634920634920632*G12_4_0 - 0.00634920634920656*G12_4_1 - 0.00634920634920629*G12_5_0 - 0.00634920634920655*G12_5_1 - 0.00476190476190477*G14_6_0 - 0.00476190476190471*G14_6_1 + 0.00634920634920635*G14_7_0 + 0.00634920634920634*G14_7_1 + 0 [...]
- A[100] = -0.666666666666668*G1_0_0_1 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_0_1 - 0.666666666666668*G3_0_1_1 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00793650793650798*G12_1_1 + 0.0126984126984127*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.00634920634920632*G12_3_0 - 0.00634920634920656*G12_3_1 - 0.0634920634920635*G12_4_0 - 0.0634920634920639*G12_4_1 - 0.0317460317460317*G12_5_0 - 0.0317460317460319*G12_5_1 - 0.01904761 [...]
- A[101] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.0126984126984127*G12_1_1 + 0.00793650793650792*G12_2_0 + 0.00793650793650798*G12_2_1 - 0.00634920634920629*G12_3_0 - 0.00634920634920655*G12_3_1 - 0.0317460317460317*G12_4_0 - 0.0317460317460319*G12_4_1 - 0.0634920634920634*G12_5_0 - 0.0634920634920639*G12_5_1 - 0.01904761 [...]
- A[102] = -0.166666666666667*G7_0 - 0.166666666666667*G7_1;
+ A[90] = -0.030952380952381*G10_0_0 - 0.030952380952381*G10_0_1 - 0.00714285714285719*G10_1_0 - 0.00714285714285713*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.00952380952380934*G10_3_1 - 0.0095238095238095*G10_4_0 + 0.0380952380952382*G10_4_1 + 0.0380952380952381*G10_5_0 - 0.00952380952380951*G10_5_1;
+ A[91] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507937*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920634*G10_5_1;
+ A[92] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920633*G10_4_0 - 0.00793650793650794*G10_5_0 - 0.00158730158730159*G10_5_1;
+ A[93] = -0.00476190476190477*G10_0_0 - 0.0047619047619047*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
+ A[94] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920637*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
+ A[95] = -0.0190476190476191*G10_0_0 - 0.019047619047619*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[96] = 0.5*G1_0_0_0 + 0.5*G1_0_0_1 + 0.5*G1_0_1_0 + 0.500000000000002*G1_0_1_1 + 0.5*G3_0_0_0 + 0.5*G3_0_0_1 + 0.5*G3_0_1_0 + 0.500000000000002*G3_0_1_1 - 0.030952380952381*G12_0_0 - 0.030952380952381*G12_0_1 + 0.00357142857142857*G12_1_0 + 0.00357142857142858*G12_1_1 + 0.00357142857142857*G12_2_0 + 0.00357142857142858*G12_2_1 - 0.00476190476190477*G12_3_0 - 0.0047619047619047*G12_3_1 - 0.0190476190476191*G12_4_0 - 0.0190476190476191*G12_4_1 - 0.0190476190476191*G12_5_0 - 0.01904761 [...]
+ A[97] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_1_0 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_1_0 + 0.00357142857142857*G12_0_0 + 0.00357142857142858*G12_0_1 + 0.00714285714285716*G12_1_0 + 0.00714285714285705*G12_1_1 - 0.00436507936507936*G12_2_0 - 0.00436507936507935*G12_2_1 + 0.00634920634920636*G12_3_0 + 0.00634920634920635*G12_3_1 + 0.00793650793650794*G12_4_0 + 0.00793650793650799*G12_4_1 + 0.0126984126984127*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0035 [...]
+ A[98] = 0.166666666666667*G1_0_0_1 + 0.166666666666666*G1_0_1_1 + 0.166666666666667*G3_0_0_1 + 0.166666666666666*G3_0_1_1 + 0.00357142857142857*G12_0_0 + 0.00357142857142859*G12_0_1 - 0.00436507936507936*G12_1_0 - 0.00436507936507935*G12_1_1 + 0.00714285714285713*G12_2_0 + 0.00714285714285705*G12_2_1 + 0.00634920634920634*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0126984126984127*G12_4_1 + 0.00793650793650793*G12_5_0 + 0.00793650793650799*G12_5_1 + 0.0035 [...]
+ A[99] = -0.00476190476190477*G12_0_0 - 0.0047619047619047*G12_0_1 + 0.00634920634920636*G12_1_0 + 0.00634920634920635*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.00634920634920634*G12_2_1 + 0.0380952380952381*G12_3_0 + 0.0380952380952376*G12_3_1 - 0.00634920634920633*G12_4_0 - 0.00634920634920657*G12_4_1 - 0.0063492063492063*G12_5_0 - 0.00634920634920656*G12_5_1 - 0.00476190476190477*G14_6_0 - 0.0047619047619047*G14_6_1 + 0.00634920634920636*G14_7_0 + 0.00634920634920635*G14_7_1 + 0.00 [...]
+ A[100] = -0.666666666666668*G1_0_0_1 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_0_1 - 0.666666666666668*G3_0_1_1 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.00793650793650794*G12_1_0 + 0.00793650793650799*G12_1_1 + 0.0126984126984127*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.00634920634920633*G12_3_0 - 0.00634920634920657*G12_3_1 - 0.0634920634920635*G12_4_0 - 0.0634920634920639*G12_4_1 - 0.0317460317460317*G12_5_0 - 0.031746031746032*G12_5_1 - 0.019047619 [...]
+ A[101] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 - 0.0190476190476191*G12_0_0 - 0.019047619047619*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.0126984126984127*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00793650793650799*G12_2_1 - 0.0063492063492063*G12_3_0 - 0.00634920634920656*G12_3_1 - 0.0317460317460317*G12_4_0 - 0.031746031746032*G12_4_1 - 0.0634920634920634*G12_5_0 - 0.0634920634920639*G12_5_1 - 0.01904761904 [...]
+ A[102] = -0.166666666666667*G7_0 - 0.166666666666668*G7_1;
A[103] = 0.0;
A[104] = 0.0;
- A[105] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507936*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920635*G10_5_1;
- A[106] = 0.00714285714285716*G10_0_0 + 0.00714285714285705*G10_0_1 + 0.0309523809523809*G10_1_0 - 0.00714285714285712*G10_2_1 + 0.00952380952380949*G10_3_0 + 0.0476190476190473*G10_3_1 - 0.00952380952380949*G10_4_0 - 0.0380952380952381*G10_5_0 - 0.0476190476190476*G10_5_1;
- A[107] = -0.00436507936507936*G10_0_0 - 0.00436507936507934*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.00634920634920629*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[108] = 0.00634920634920635*G10_0_0 + 0.00634920634920634*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.019047619047619*G10_5_1;
- A[109] = 0.00793650793650793*G10_0_0 + 0.00793650793650798*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920621*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[110] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00634920634920632*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
- A[111] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_0_1 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_0_1 - 0.00714285714285719*G12_0_0 - 0.00357142857142856*G12_1_0 + 0.00436507936507937*G12_2_0 - 0.00793650793650793*G12_3_0 - 0.00634920634920638*G12_4_0 - 0.0126984126984127*G12_5_0 - 0.00714285714285719*G14_6_0 - 0.00357142857142856*G14_7_0 + 0.00436507936507937*G14_8_0 - 0.00793650793650793*G14_9_0 - 0.00634920634920638*G14_10_0 - 0.0126984126984127*G14_11_0 + 0.0 [...]
- A[112] = 0.5*G1_0_0_0 + 0.5*G3_0_0_0 - 0.00357142857142856*G12_0_0 + 0.0309523809523809*G12_1_0 - 0.00357142857142857*G12_2_0 + 0.019047619047619*G12_3_0 + 0.00476190476190477*G12_4_0 + 0.0190476190476191*G12_5_0 - 0.00357142857142856*G14_6_0 + 0.0309523809523809*G14_7_0 - 0.00357142857142857*G14_8_0 + 0.019047619047619*G14_9_0 + 0.00476190476190477*G14_10_0 + 0.0190476190476191*G14_11_0 + 0.00714285714285716*G15_6_0 + 0.00714285714285705*G15_6_1 + 0.0309523809523809*G15_7_0 - 0.0071 [...]
- A[113] = -0.166666666666667*G1_0_0_1 - 0.166666666666667*G3_0_0_1 + 0.00436507936507937*G12_0_0 - 0.00357142857142857*G12_1_0 - 0.00714285714285715*G12_2_0 - 0.0126984126984127*G12_3_0 - 0.00634920634920635*G12_4_0 - 0.00793650793650792*G12_5_0 + 0.00436507936507937*G14_6_0 - 0.00357142857142857*G14_7_0 - 0.00714285714285715*G14_8_0 - 0.0126984126984127*G14_9_0 - 0.00634920634920635*G14_10_0 - 0.00793650793650792*G14_11_0 - 0.00436507936507936*G15_6_0 - 0.00436507936507934*G15_6_1 - [...]
- A[114] = 0.666666666666664*G1_0_0_1 + 0.666666666666664*G3_0_0_1 - 0.00793650793650794*G12_0_0 + 0.019047619047619*G12_1_0 - 0.0126984126984127*G12_2_0 + 0.0634920634920634*G12_3_0 + 0.00634920634920632*G12_4_0 + 0.0317460317460317*G12_5_0 - 0.00793650793650794*G14_6_0 + 0.019047619047619*G14_7_0 - 0.0126984126984127*G14_8_0 + 0.0634920634920634*G14_9_0 + 0.00634920634920632*G14_10_0 + 0.0317460317460317*G14_11_0 + 0.00634920634920635*G15_6_0 + 0.00634920634920634*G15_6_1 + 0.0190476 [...]
- A[115] = -0.00634920634920638*G12_0_0 + 0.00476190476190477*G12_1_0 - 0.00634920634920635*G12_2_0 + 0.00634920634920632*G12_3_0 - 0.0380952380952382*G12_4_0 + 0.0063492063492063*G12_5_0 - 0.00634920634920638*G14_6_0 + 0.00476190476190477*G14_7_0 - 0.00634920634920635*G14_8_0 + 0.00634920634920632*G14_9_0 - 0.0380952380952382*G14_10_0 + 0.0063492063492063*G14_11_0 + 0.00793650793650793*G15_6_0 + 0.00793650793650798*G15_6_1 + 0.00476190476190477*G15_7_0 - 0.00793650793650795*G15_8_1 - [...]
- A[116] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 - 0.0126984126984127*G12_0_0 + 0.0190476190476191*G12_1_0 - 0.00793650793650792*G12_2_0 + 0.0317460317460317*G12_3_0 + 0.0063492063492063*G12_4_0 + 0.0634920634920634*G12_5_0 - 0.0126984126984127*G14_6_0 + 0.0190476190476191*G14_7_0 - 0.00793650793650792*G14_8_0 + 0.0317460317460317*G14_9_0 + 0.0063492063492063*G14_10_0 + 0.0634920634920634*G14_11_0 + 0.01269841 [...]
+ A[105] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507937*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920634*G10_5_1;
+ A[106] = 0.00714285714285716*G10_0_0 + 0.00714285714285705*G10_0_1 + 0.0309523809523809*G10_1_0 - 0.00714285714285713*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.0476190476190474*G10_3_1 - 0.0095238095238095*G10_4_0 - 0.0380952380952381*G10_5_0 - 0.0476190476190476*G10_5_1;
+ A[107] = -0.00436507936507936*G10_0_0 - 0.00436507936507935*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.0063492063492063*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
+ A[108] = 0.00634920634920636*G10_0_0 + 0.00634920634920635*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[109] = 0.00793650793650794*G10_0_0 + 0.00793650793650799*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650796*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920622*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[110] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920637*G10_2_1 - 0.00634920634920635*G10_3_0 + 0.0190476190476191*G10_3_1 + 0.00634920634920635*G10_4_0 - 0.00634920634920631*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[111] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_0_1 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_0_1 - 0.00714285714285719*G12_0_0 - 0.00357142857142856*G12_1_0 + 0.00436507936507937*G12_2_0 - 0.00793650793650793*G12_3_0 - 0.00634920634920637*G12_4_0 - 0.0126984126984127*G12_5_0 - 0.00714285714285719*G14_6_0 - 0.00357142857142856*G14_7_0 + 0.00436507936507937*G14_8_0 - 0.00793650793650793*G14_9_0 - 0.00634920634920637*G14_10_0 - 0.0126984126984127*G14_11_0 + 0.0 [...]
+ A[112] = 0.5*G1_0_0_0 + 0.5*G3_0_0_0 - 0.00357142857142856*G12_0_0 + 0.0309523809523809*G12_1_0 - 0.00357142857142857*G12_2_0 + 0.019047619047619*G12_3_0 + 0.00476190476190477*G12_4_0 + 0.0190476190476191*G12_5_0 - 0.00357142857142856*G14_6_0 + 0.0309523809523809*G14_7_0 - 0.00357142857142857*G14_8_0 + 0.019047619047619*G14_9_0 + 0.00476190476190477*G14_10_0 + 0.0190476190476191*G14_11_0 + 0.00714285714285716*G15_6_0 + 0.00714285714285705*G15_6_1 + 0.0309523809523809*G15_7_0 - 0.0071 [...]
+ A[113] = -0.166666666666667*G1_0_0_1 - 0.166666666666667*G3_0_0_1 + 0.00436507936507937*G12_0_0 - 0.00357142857142857*G12_1_0 - 0.00714285714285714*G12_2_0 - 0.0126984126984127*G12_3_0 - 0.00634920634920634*G12_4_0 - 0.00793650793650793*G12_5_0 + 0.00436507936507937*G14_6_0 - 0.00357142857142857*G14_7_0 - 0.00714285714285714*G14_8_0 - 0.0126984126984127*G14_9_0 - 0.00634920634920634*G14_10_0 - 0.00793650793650793*G14_11_0 - 0.00436507936507936*G15_6_0 - 0.00436507936507935*G15_6_1 - [...]
+ A[114] = 0.666666666666664*G1_0_0_1 + 0.666666666666664*G3_0_0_1 - 0.00793650793650793*G12_0_0 + 0.019047619047619*G12_1_0 - 0.0126984126984127*G12_2_0 + 0.0634920634920635*G12_3_0 + 0.00634920634920633*G12_4_0 + 0.0317460317460317*G12_5_0 - 0.00793650793650793*G14_6_0 + 0.019047619047619*G14_7_0 - 0.0126984126984127*G14_8_0 + 0.0634920634920635*G14_9_0 + 0.00634920634920633*G14_10_0 + 0.0317460317460317*G14_11_0 + 0.00634920634920636*G15_6_0 + 0.00634920634920635*G15_6_1 + 0.0190476 [...]
+ A[115] = -0.00634920634920637*G12_0_0 + 0.00476190476190477*G12_1_0 - 0.00634920634920634*G12_2_0 + 0.00634920634920633*G12_3_0 - 0.0380952380952382*G12_4_0 + 0.0063492063492063*G12_5_0 - 0.00634920634920637*G14_6_0 + 0.00476190476190477*G14_7_0 - 0.00634920634920634*G14_8_0 + 0.00634920634920633*G14_9_0 - 0.0380952380952382*G14_10_0 + 0.0063492063492063*G14_11_0 + 0.00793650793650794*G15_6_0 + 0.00793650793650799*G15_6_1 + 0.00476190476190477*G15_7_0 - 0.00793650793650796*G15_8_1 - [...]
+ A[116] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 - 0.0126984126984127*G12_0_0 + 0.0190476190476191*G12_1_0 - 0.00793650793650793*G12_2_0 + 0.0317460317460317*G12_3_0 + 0.0063492063492063*G12_4_0 + 0.0634920634920634*G12_5_0 - 0.0126984126984127*G14_6_0 + 0.0190476190476191*G14_7_0 - 0.00793650793650793*G14_8_0 + 0.0317460317460317*G14_9_0 + 0.0063492063492063*G14_10_0 + 0.0634920634920634*G14_11_0 + 0.01269841 [...]
A[117] = 0.0;
A[118] = 0.166666666666667*G7_0;
A[119] = 0.0;
- A[120] = 0.00357142857142858*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920633*G10_4_0 - 0.00793650793650795*G10_5_0 - 0.00158730158730159*G10_5_1;
- A[121] = -0.00436507936507936*G10_0_0 - 0.00436507936507934*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.00634920634920629*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[122] = 0.00714285714285713*G10_0_0 + 0.00714285714285705*G10_0_1 - 0.00714285714285715*G10_1_0 + 0.030952380952381*G10_2_1 + 0.0476190476190475*G10_3_0 + 0.00952380952380926*G10_3_1 - 0.0476190476190475*G10_4_0 - 0.0380952380952379*G10_4_1 - 0.00952380952380948*G10_5_1;
- A[123] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920635*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[124] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.0190476190476191*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
- A[125] = 0.00793650793650792*G10_0_0 + 0.00793650793650798*G10_0_1 - 0.00793650793650792*G10_1_0 + 0.00476190476190475*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.019047619047619*G10_5_1;
- A[126] = 0.166666666666666*G1_0_1_0 + 0.166666666666666*G1_0_1_1 + 0.166666666666666*G3_0_1_0 + 0.166666666666666*G3_0_1_1 - 0.00714285714285714*G12_0_1 + 0.00436507936507936*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.00793650793650795*G12_3_1 - 0.0126984126984127*G12_4_1 - 0.00634920634920636*G12_5_1 - 0.00714285714285714*G14_6_1 + 0.00436507936507936*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.00793650793650795*G14_9_1 - 0.0126984126984127*G14_10_1 - 0.00634920634920636*G14_11_1 + 0.0 [...]
- A[127] = -0.166666666666667*G1_0_1_0 - 0.166666666666667*G3_0_1_0 + 0.00436507936507936*G12_0_1 - 0.00714285714285712*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.0126984126984127*G12_3_1 - 0.00793650793650795*G12_4_1 - 0.00634920634920636*G12_5_1 + 0.00436507936507936*G14_6_1 - 0.00714285714285712*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.0126984126984127*G14_9_1 - 0.00793650793650795*G14_10_1 - 0.00634920634920636*G14_11_1 - 0.00436507936507936*G15_6_0 - 0.00436507936507934*G15_6_1 - [...]
- A[128] = 0.5*G1_0_1_1 + 0.5*G3_0_1_1 - 0.00357142857142857*G12_0_1 - 0.00357142857142857*G12_1_1 + 0.030952380952381*G12_2_1 + 0.019047619047619*G12_3_1 + 0.0190476190476191*G12_4_1 + 0.00476190476190475*G12_5_1 - 0.00357142857142857*G14_6_1 - 0.00357142857142857*G14_7_1 + 0.030952380952381*G14_8_1 + 0.019047619047619*G14_9_1 + 0.0190476190476191*G14_10_1 + 0.00476190476190475*G14_11_1 + 0.00714285714285713*G15_6_0 + 0.00714285714285705*G15_6_1 - 0.00714285714285715*G15_7_0 + 0.03095 [...]
- A[129] = 0.666666666666667*G1_0_1_0 + 0.666666666666667*G3_0_1_0 - 0.00793650793650795*G12_0_1 - 0.0126984126984127*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0634920634920636*G12_3_1 + 0.0317460317460318*G12_4_1 + 0.00634920634920641*G12_5_1 - 0.00793650793650795*G14_6_1 - 0.0126984126984127*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0634920634920636*G14_9_1 + 0.0317460317460318*G14_10_1 + 0.00634920634920641*G14_11_1 + 0.00634920634920633*G15_6_0 + 0.00634920634920634*G15_6_1 - 0.0126984 [...]
- A[130] = -0.666666666666667*G1_0_1_0 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_1_0 - 0.666666666666665*G3_0_1_1 - 0.0126984126984127*G12_0_1 - 0.00793650793650795*G12_1_1 + 0.0190476190476191*G12_2_1 + 0.0317460317460318*G12_3_1 + 0.0634920634920636*G12_4_1 + 0.00634920634920641*G12_5_1 - 0.0126984126984127*G14_6_1 - 0.00793650793650795*G14_7_1 + 0.0190476190476191*G14_8_1 + 0.0317460317460318*G14_9_1 + 0.0634920634920636*G14_10_1 + 0.00634920634920641*G14_11_1 + 0.012698 [...]
- A[131] = -0.00634920634920636*G12_0_1 - 0.00634920634920636*G12_1_1 + 0.00476190476190475*G12_2_1 + 0.00634920634920641*G12_3_1 + 0.00634920634920641*G12_4_1 - 0.038095238095238*G12_5_1 - 0.00634920634920636*G14_6_1 - 0.00634920634920636*G14_7_1 + 0.00476190476190475*G14_8_1 + 0.00634920634920641*G14_9_1 + 0.00634920634920641*G14_10_1 - 0.038095238095238*G14_11_1 + 0.00793650793650792*G15_6_0 + 0.00793650793650798*G15_6_1 - 0.00793650793650792*G15_7_0 + 0.00476190476190475*G15_8_1 - [...]
+ A[120] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00793650793650794*G10_5_0 - 0.00158730158730159*G10_5_1;
+ A[121] = -0.00436507936507936*G10_0_0 - 0.00436507936507935*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.0063492063492063*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
+ A[122] = 0.00714285714285713*G10_0_0 + 0.00714285714285705*G10_0_1 - 0.00714285714285714*G10_1_0 + 0.030952380952381*G10_2_1 + 0.0476190476190475*G10_3_0 + 0.00952380952380927*G10_3_1 - 0.0476190476190475*G10_4_0 - 0.0380952380952379*G10_4_1 - 0.00952380952380949*G10_5_1;
+ A[123] = 0.00634920634920634*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920636*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[124] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[125] = 0.00793650793650793*G10_0_0 + 0.00793650793650799*G10_0_1 - 0.00793650793650793*G10_1_0 + 0.00476190476190476*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.0190476190476191*G10_5_1;
+ A[126] = 0.166666666666667*G1_0_1_0 + 0.166666666666666*G1_0_1_1 + 0.166666666666667*G3_0_1_0 + 0.166666666666666*G3_0_1_1 - 0.00714285714285714*G12_0_1 + 0.00436507936507937*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.00793650793650795*G12_3_1 - 0.0126984126984127*G12_4_1 - 0.00634920634920636*G12_5_1 - 0.00714285714285714*G14_6_1 + 0.00436507936507937*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.00793650793650795*G14_9_1 - 0.0126984126984127*G14_10_1 - 0.00634920634920636*G14_11_1 + 0.0 [...]
+ A[127] = -0.166666666666667*G1_0_1_0 - 0.166666666666667*G3_0_1_0 + 0.00436507936507937*G12_0_1 - 0.00714285714285713*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.0126984126984127*G12_3_1 - 0.00793650793650796*G12_4_1 - 0.00634920634920637*G12_5_1 + 0.00436507936507937*G14_6_1 - 0.00714285714285713*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.0126984126984127*G14_9_1 - 0.00793650793650796*G14_10_1 - 0.00634920634920637*G14_11_1 - 0.00436507936507936*G15_6_0 - 0.00436507936507935*G15_6_1 - [...]
+ A[128] = 0.5*G1_0_1_1 + 0.5*G3_0_1_1 - 0.00357142857142857*G12_0_1 - 0.00357142857142857*G12_1_1 + 0.030952380952381*G12_2_1 + 0.019047619047619*G12_3_1 + 0.019047619047619*G12_4_1 + 0.00476190476190476*G12_5_1 - 0.00357142857142857*G14_6_1 - 0.00357142857142857*G14_7_1 + 0.030952380952381*G14_8_1 + 0.019047619047619*G14_9_1 + 0.019047619047619*G14_10_1 + 0.00476190476190476*G14_11_1 + 0.00714285714285713*G15_6_0 + 0.00714285714285705*G15_6_1 - 0.00714285714285714*G15_7_0 + 0.0309523 [...]
+ A[129] = 0.666666666666667*G1_0_1_0 + 0.666666666666667*G3_0_1_0 - 0.00793650793650795*G12_0_1 - 0.0126984126984127*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0634920634920636*G12_3_1 + 0.0317460317460318*G12_4_1 + 0.00634920634920642*G12_5_1 - 0.00793650793650795*G14_6_1 - 0.0126984126984127*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0634920634920636*G14_9_1 + 0.0317460317460318*G14_10_1 + 0.00634920634920642*G14_11_1 + 0.00634920634920634*G15_6_0 + 0.00634920634920634*G15_6_1 - 0.0126984 [...]
+ A[130] = -0.666666666666667*G1_0_1_0 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_1_0 - 0.666666666666665*G3_0_1_1 - 0.0126984126984127*G12_0_1 - 0.00793650793650796*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0317460317460318*G12_3_1 + 0.0634920634920636*G12_4_1 + 0.00634920634920642*G12_5_1 - 0.0126984126984127*G14_6_1 - 0.00793650793650796*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0317460317460318*G14_9_1 + 0.0634920634920636*G14_10_1 + 0.00634920634920642*G14_11_1 + 0.01269841 [...]
+ A[131] = -0.00634920634920636*G12_0_1 - 0.00634920634920637*G12_1_1 + 0.00476190476190476*G12_2_1 + 0.00634920634920642*G12_3_1 + 0.00634920634920642*G12_4_1 - 0.0380952380952381*G12_5_1 - 0.00634920634920636*G14_6_1 - 0.00634920634920637*G14_7_1 + 0.00476190476190476*G14_8_1 + 0.00634920634920642*G14_9_1 + 0.00634920634920642*G14_10_1 - 0.0380952380952381*G14_11_1 + 0.00793650793650793*G15_6_0 + 0.00793650793650799*G15_6_1 - 0.00793650793650793*G15_7_0 + 0.00476190476190476*G15_8_1 [...]
A[132] = 0.0;
A[133] = 0.0;
A[134] = 0.166666666666667*G7_1;
- A[135] = -0.00476190476190477*G10_0_0 - 0.00476190476190471*G10_0_1 - 0.00793650793650794*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
- A[136] = 0.00634920634920635*G10_0_0 + 0.00634920634920634*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.019047619047619*G10_5_1;
- A[137] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920635*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[138] = 0.0380952380952381*G10_0_0 + 0.0380952380952376*G10_0_1 + 0.0634920634920634*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.152380952380951*G10_3_1 - 0.152380952380952*G10_4_0 - 0.101587301587301*G10_4_1 - 0.101587301587302*G10_5_0 - 0.152380952380952*G10_5_1;
- A[139] = -0.00634920634920632*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.00634920634920632*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.076190476190476*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.076190476190476*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
- A[140] = -0.00634920634920629*G10_0_0 - 0.00634920634920655*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904762*G10_5_1;
- A[141] = 0.0095238095238095*G12_0_0 + 0.00952380952380934*G12_0_1 + 0.00158730158730159*G12_1_0 - 0.00634920634920631*G12_1_1 - 0.00634920634920634*G12_2_0 + 0.00158730158730162*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0190476190476189*G12_3_1 - 0.0126984126984127*G12_4_0 - 0.00634920634920631*G12_4_1 - 0.00634920634920634*G12_5_0 - 0.0126984126984127*G12_5_1 + 0.0095238095238095*G14_6_0 + 0.00952380952380934*G14_6_1 + 0.00158730158730159*G14_7_0 - 0.00634920634920631*G14_7_1 - 0.0063 [...]
- A[142] = 0.666666666666664*G1_0_1_0 + 0.666666666666664*G3_0_1_0 + 0.00158730158730159*G12_0_0 - 0.00634920634920631*G12_0_1 + 0.00952380952380949*G12_1_0 + 0.0476190476190473*G12_1_1 - 0.00634920634920633*G12_2_0 - 0.00634920634920629*G12_2_1 - 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 - 0.019047619047619*G12_4_0 - 0.00634920634920621*G12_4_1 - 0.00634920634920634*G12_5_0 + 0.019047619047619*G12_5_1 + 0.00158730158730159*G14_6_0 - 0.00634920634920631*G14_6_1 + 0.0095238 [...]
- A[143] = 0.666666666666667*G1_0_0_1 + 0.666666666666667*G3_0_0_1 - 0.00634920634920634*G12_0_0 + 0.00158730158730162*G12_0_1 - 0.00634920634920633*G12_1_0 - 0.00634920634920629*G12_1_1 + 0.0476190476190475*G12_2_0 + 0.00952380952380926*G12_2_1 + 0.019047619047619*G12_3_0 - 0.0126984126984127*G12_3_1 + 0.019047619047619*G12_4_0 - 0.00634920634920638*G12_4_1 - 0.00634920634920633*G12_5_0 - 0.0190476190476189*G12_5_1 - 0.00634920634920634*G14_6_0 + 0.00158730158730162*G14_6_1 - 0.006349 [...]
- A[144] = 1.33333333333333*G1_0_0_0 + 0.666666666666656*G1_0_0_1 + 0.666666666666656*G1_0_1_0 + 1.33333333333332*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666656*G3_0_0_1 + 0.666666666666656*G3_0_1_0 + 1.33333333333332*G3_0_1_1 - 0.019047619047619*G12_0_0 - 0.0190476190476189*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.019047619047619*G12_1_1 + 0.019047619047619*G12_2_0 - 0.0126984126984127*G12_2_1 + 0.152380952380952*G12_3_0 + 0.152380952380951*G12_3_1 + 0.076190476190476*G12_4_ [...]
- A[145] = -1.33333333333333*G1_0_0_0 - 0.666666666666659*G1_0_0_1 - 0.666666666666656*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666659*G3_0_0_1 - 0.666666666666656*G3_0_1_0 - 0.0126984126984127*G12_0_0 - 0.00634920634920631*G12_0_1 - 0.019047619047619*G12_1_0 - 0.00634920634920621*G12_1_1 + 0.019047619047619*G12_2_0 - 0.00634920634920637*G12_2_1 + 0.076190476190476*G12_3_0 + 0.0507936507936502*G12_3_1 + 0.152380952380952*G12_4_0 + 0.0507936507936496*G12_4_1 + 0.050793650793650 [...]
- A[146] = -0.666666666666665*G1_0_0_1 - 0.666666666666666*G1_0_1_0 - 1.33333333333332*G1_0_1_1 - 0.666666666666665*G3_0_0_1 - 0.666666666666666*G3_0_1_0 - 1.33333333333332*G3_0_1_1 - 0.00634920634920634*G12_0_0 - 0.0126984126984127*G12_0_1 - 0.00634920634920634*G12_1_0 + 0.019047619047619*G12_1_1 - 0.00634920634920632*G12_2_0 - 0.0190476190476189*G12_2_1 + 0.0507936507936507*G12_3_0 + 0.0761904761904756*G12_3_1 + 0.0507936507936507*G12_4_0 + 0.0507936507936502*G12_4_1 + 0.050793650793 [...]
+ A[135] = -0.00476190476190477*G10_0_0 - 0.0047619047619047*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
+ A[136] = 0.00634920634920636*G10_0_0 + 0.00634920634920635*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[137] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920636*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[138] = 0.0380952380952381*G10_0_0 + 0.0380952380952376*G10_0_1 + 0.0634920634920635*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.152380952380951*G10_3_1 - 0.152380952380952*G10_4_0 - 0.101587301587301*G10_4_1 - 0.101587301587302*G10_5_0 - 0.152380952380952*G10_5_1;
+ A[139] = -0.00634920634920633*G10_0_0 - 0.00634920634920657*G10_0_1 + 0.00634920634920633*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.0761904761904761*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0761904761904761*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
+ A[140] = -0.0063492063492063*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904763*G10_5_1;
+ A[141] = 0.0095238095238095*G12_0_0 + 0.00952380952380934*G12_0_1 + 0.00158730158730159*G12_1_0 - 0.00634920634920631*G12_1_1 - 0.00634920634920634*G12_2_0 + 0.00158730158730162*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0190476190476189*G12_3_1 - 0.0126984126984127*G12_4_0 - 0.00634920634920631*G12_4_1 - 0.00634920634920635*G12_5_0 - 0.0126984126984127*G12_5_1 + 0.0095238095238095*G14_6_0 + 0.00952380952380934*G14_6_1 + 0.00158730158730159*G14_7_0 - 0.00634920634920631*G14_7_1 - 0.0063 [...]
+ A[142] = 0.666666666666664*G1_0_1_0 + 0.666666666666664*G3_0_1_0 + 0.00158730158730159*G12_0_0 - 0.00634920634920631*G12_0_1 + 0.0095238095238095*G12_1_0 + 0.0476190476190474*G12_1_1 - 0.00634920634920633*G12_2_0 - 0.0063492063492063*G12_2_1 - 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 - 0.019047619047619*G12_4_0 - 0.00634920634920622*G12_4_1 - 0.00634920634920635*G12_5_0 + 0.019047619047619*G12_5_1 + 0.00158730158730159*G14_6_0 - 0.00634920634920631*G14_6_1 + 0.009523809 [...]
+ A[143] = 0.666666666666667*G1_0_0_1 + 0.666666666666667*G3_0_0_1 - 0.00634920634920634*G12_0_0 + 0.00158730158730162*G12_0_1 - 0.00634920634920633*G12_1_0 - 0.0063492063492063*G12_1_1 + 0.0476190476190475*G12_2_0 + 0.00952380952380927*G12_2_1 + 0.019047619047619*G12_3_0 - 0.0126984126984127*G12_3_1 + 0.019047619047619*G12_4_0 - 0.00634920634920637*G12_4_1 - 0.00634920634920632*G12_5_0 - 0.0190476190476189*G12_5_1 - 0.00634920634920634*G14_6_0 + 0.00158730158730162*G14_6_1 - 0.0063492 [...]
+ A[144] = 1.33333333333333*G1_0_0_0 + 0.666666666666656*G1_0_0_1 + 0.666666666666656*G1_0_1_0 + 1.33333333333332*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666656*G3_0_0_1 + 0.666666666666656*G3_0_1_0 + 1.33333333333332*G3_0_1_1 - 0.019047619047619*G12_0_0 - 0.0190476190476189*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.019047619047619*G12_1_1 + 0.019047619047619*G12_2_0 - 0.0126984126984127*G12_2_1 + 0.152380952380952*G12_3_0 + 0.152380952380951*G12_3_1 + 0.0761904761904761*G12_4 [...]
+ A[145] = -1.33333333333333*G1_0_0_0 - 0.666666666666659*G1_0_0_1 - 0.666666666666656*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666659*G3_0_0_1 - 0.666666666666656*G3_0_1_0 - 0.0126984126984127*G12_0_0 - 0.00634920634920631*G12_0_1 - 0.019047619047619*G12_1_0 - 0.00634920634920622*G12_1_1 + 0.019047619047619*G12_2_0 - 0.00634920634920637*G12_2_1 + 0.0761904761904761*G12_3_0 + 0.0507936507936502*G12_3_1 + 0.152380952380952*G12_4_0 + 0.0507936507936497*G12_4_1 + 0.05079365079365 [...]
+ A[146] = -0.666666666666665*G1_0_0_1 - 0.666666666666666*G1_0_1_0 - 1.33333333333333*G1_0_1_1 - 0.666666666666665*G3_0_0_1 - 0.666666666666666*G3_0_1_0 - 1.33333333333333*G3_0_1_1 - 0.00634920634920634*G12_0_0 - 0.0126984126984127*G12_0_1 - 0.00634920634920635*G12_1_0 + 0.019047619047619*G12_1_1 - 0.00634920634920632*G12_2_0 - 0.0190476190476189*G12_2_1 + 0.0507936507936507*G12_3_0 + 0.0761904761904757*G12_3_1 + 0.0507936507936507*G12_4_0 + 0.0507936507936502*G12_4_1 + 0.050793650793 [...]
A[147] = 0.166666666666666*G7_0 + 0.166666666666665*G7_1;
A[148] = 0.166666666666666*G7_0 + 0.333333333333331*G7_1;
A[149] = 0.333333333333333*G7_0 + 0.166666666666664*G7_1;
- A[150] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920638*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
- A[151] = 0.00793650793650793*G10_0_0 + 0.00793650793650798*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920621*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[152] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920635*G10_1_0 + 0.0190476190476191*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920638*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
- A[153] = -0.00634920634920632*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.00634920634920632*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.076190476190476*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.076190476190476*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
- A[154] = -0.0634920634920635*G10_0_0 - 0.0634920634920639*G10_0_1 - 0.0380952380952382*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.0507936507936496*G10_3_1 - 0.152380952380952*G10_4_0 + 0.101587301587302*G10_5_0 - 0.0507936507936507*G10_5_1;
- A[155] = -0.0317460317460317*G10_0_0 - 0.0317460317460319*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
- A[156] = -0.666666666666668*G1_0_1_0 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_1_0 - 0.666666666666668*G3_0_1_1 - 0.0095238095238095*G12_0_0 + 0.0380952380952382*G12_0_1 - 0.00158730158730159*G12_1_0 - 0.00793650793650796*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.019047619047619*G12_3_0 + 0.0126984126984126*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0317460317460317*G12_4_1 + 0.00634920634920634*G12_5_0 + 0.0253968253968254*G12_5_1 - 0.0095238095238095*G14_6_0 + 0.038095238 [...]
- A[157] = -0.00158730158730159*G12_0_0 - 0.00793650793650796*G12_0_1 - 0.00952380952380949*G12_1_0 + 0.00634920634920633*G12_2_0 + 0.0079365079365079*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.00634920634920637*G12_3_1 + 0.019047619047619*G12_4_0 + 0.00634920634920634*G12_5_0 - 0.00634920634920632*G12_5_1 - 0.00158730158730159*G14_6_0 - 0.00793650793650796*G14_6_1 - 0.00952380952380949*G14_7_0 + 0.00634920634920633*G14_8_0 + 0.0079365079365079*G14_8_1 + 0.0126984126984127*G14_9_0 + 0.00 [...]
- A[158] = -0.666666666666667*G1_0_0_1 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_0_1 - 0.666666666666665*G3_0_1_1 + 0.00634920634920634*G12_0_0 + 0.00634920634920633*G12_1_0 + 0.0079365079365079*G12_1_1 - 0.0476190476190475*G12_2_0 - 0.0380952380952379*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0253968253968254*G12_3_1 - 0.019047619047619*G12_4_0 - 0.0317460317460317*G12_4_1 + 0.00634920634920633*G12_5_0 - 0.0126984126984128*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.0063492063 [...]
- A[159] = -1.33333333333333*G1_0_0_0 - 0.666666666666656*G1_0_0_1 - 0.666666666666659*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666656*G3_0_0_1 - 0.666666666666659*G3_0_1_0 + 0.019047619047619*G12_0_0 + 0.0126984126984126*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.00634920634920637*G12_1_1 - 0.019047619047619*G12_2_0 - 0.0253968253968254*G12_2_1 - 0.152380952380952*G12_3_0 - 0.101587301587301*G12_3_1 - 0.076190476190476*G12_4_0 - 0.025396825396825*G12_4_1 - 0.0507936507936507*G1 [...]
- A[160] = 1.33333333333333*G1_0_0_0 + 0.666666666666659*G1_0_0_1 + 0.666666666666659*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666659*G3_0_0_1 + 0.666666666666659*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.0317460317460317*G12_0_1 + 0.019047619047619*G12_1_0 - 0.019047619047619*G12_2_0 - 0.0317460317460317*G12_2_1 - 0.076190476190476*G12_3_0 - 0.025396825396825*G12_3_1 - 0.152380952380952*G12_4_0 - 0.0507936507936507*G12_5 [...]
- A[161] = 0.666666666666665*G1_0_0_1 + 0.666666666666666*G1_0_1_0 + 0.666666666666665*G3_0_0_1 + 0.666666666666666*G3_0_1_0 + 0.00634920634920634*G12_0_0 + 0.0253968253968254*G12_0_1 + 0.00634920634920634*G12_1_0 - 0.00634920634920632*G12_1_1 + 0.00634920634920632*G12_2_0 - 0.0126984126984128*G12_2_1 - 0.0507936507936507*G12_3_0 - 0.0507936507936507*G12_4_0 + 0.0253968253968258*G12_4_1 - 0.0507936507936507*G12_5_0 + 0.101587301587302*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.025396825 [...]
+ A[150] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920637*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
+ A[151] = 0.00793650793650794*G10_0_0 + 0.00793650793650799*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650796*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920622*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[152] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[153] = -0.00634920634920633*G10_0_0 - 0.00634920634920657*G10_0_1 + 0.00634920634920633*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.0761904761904761*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0761904761904761*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
+ A[154] = -0.0634920634920635*G10_0_0 - 0.0634920634920639*G10_0_1 - 0.0380952380952382*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.0507936507936497*G10_3_1 - 0.152380952380952*G10_4_0 + 0.101587301587302*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[155] = -0.0317460317460317*G10_0_0 - 0.031746031746032*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[156] = -0.666666666666668*G1_0_1_0 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_1_0 - 0.666666666666668*G3_0_1_1 - 0.0095238095238095*G12_0_0 + 0.0380952380952382*G12_0_1 - 0.00158730158730159*G12_1_0 - 0.00793650793650796*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.019047619047619*G12_3_0 + 0.0126984126984126*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0317460317460317*G12_4_1 + 0.00634920634920635*G12_5_0 + 0.0253968253968254*G12_5_1 - 0.0095238095238095*G14_6_0 + 0.038095238 [...]
+ A[157] = -0.00158730158730159*G12_0_0 - 0.00793650793650796*G12_0_1 - 0.0095238095238095*G12_1_0 + 0.00634920634920633*G12_2_0 + 0.0079365079365079*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.00634920634920637*G12_3_1 + 0.019047619047619*G12_4_0 + 0.00634920634920635*G12_5_0 - 0.00634920634920631*G12_5_1 - 0.00158730158730159*G14_6_0 - 0.00793650793650796*G14_6_1 - 0.0095238095238095*G14_7_0 + 0.00634920634920633*G14_8_0 + 0.0079365079365079*G14_8_1 + 0.0126984126984127*G14_9_0 + 0.0063 [...]
+ A[158] = -0.666666666666667*G1_0_0_1 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_0_1 - 0.666666666666665*G3_0_1_1 + 0.00634920634920634*G12_0_0 + 0.00634920634920633*G12_1_0 + 0.0079365079365079*G12_1_1 - 0.0476190476190475*G12_2_0 - 0.0380952380952379*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0253968253968254*G12_3_1 - 0.019047619047619*G12_4_0 - 0.0317460317460317*G12_4_1 + 0.00634920634920632*G12_5_0 - 0.0126984126984128*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.0063492063 [...]
+ A[159] = -1.33333333333333*G1_0_0_0 - 0.666666666666656*G1_0_0_1 - 0.666666666666659*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666656*G3_0_0_1 - 0.666666666666659*G3_0_1_0 + 0.019047619047619*G12_0_0 + 0.0126984126984126*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.00634920634920637*G12_1_1 - 0.019047619047619*G12_2_0 - 0.0253968253968254*G12_2_1 - 0.152380952380952*G12_3_0 - 0.101587301587301*G12_3_1 - 0.0761904761904761*G12_4_0 - 0.025396825396825*G12_4_1 - 0.0507936507936507*G [...]
+ A[160] = 1.33333333333333*G1_0_0_0 + 0.666666666666659*G1_0_0_1 + 0.666666666666659*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666659*G3_0_0_1 + 0.666666666666659*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.0317460317460317*G12_0_1 + 0.019047619047619*G12_1_0 - 0.019047619047619*G12_2_0 - 0.0317460317460317*G12_2_1 - 0.0761904761904761*G12_3_0 - 0.025396825396825*G12_3_1 - 0.152380952380952*G12_4_0 - 0.0507936507936507*G12_ [...]
+ A[161] = 0.666666666666665*G1_0_0_1 + 0.666666666666666*G1_0_1_0 + 0.666666666666665*G3_0_0_1 + 0.666666666666666*G3_0_1_0 + 0.00634920634920634*G12_0_0 + 0.0253968253968254*G12_0_1 + 0.00634920634920635*G12_1_0 - 0.00634920634920631*G12_1_1 + 0.00634920634920632*G12_2_0 - 0.0126984126984128*G12_2_1 - 0.0507936507936507*G12_3_0 - 0.0507936507936507*G12_4_0 + 0.0253968253968258*G12_4_1 - 0.0507936507936507*G12_5_0 + 0.101587301587302*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.025396825 [...]
A[162] = -0.166666666666666*G7_0 + 0.166666666666668*G7_1;
A[163] = -0.166666666666666*G7_0;
A[164] = -0.333333333333333*G7_0 - 0.166666666666665*G7_1;
- A[165] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[166] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00634920634920632*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
- A[167] = 0.00793650793650792*G10_0_0 + 0.00793650793650798*G10_0_1 - 0.00793650793650792*G10_1_0 + 0.00476190476190475*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.019047619047619*G10_5_1;
- A[168] = -0.00634920634920629*G10_0_0 - 0.00634920634920655*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904762*G10_5_1;
- A[169] = -0.0317460317460317*G10_0_0 - 0.0317460317460319*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
- A[170] = -0.0634920634920634*G10_0_0 - 0.0634920634920639*G10_0_1 + 0.0634920634920634*G10_1_0 - 0.038095238095238*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.152380952380951*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.101587301587302*G10_4_1 - 0.152380952380952*G10_5_1;
- A[171] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 + 0.0380952380952382*G12_0_0 - 0.00952380952380951*G12_0_1 + 0.00634920634920635*G12_1_1 - 0.00793650793650795*G12_2_0 - 0.00158730158730159*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 + 0.0253968253968254*G12_4_0 + 0.00634920634920635*G12_4_1 + 0.0317460317460318*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0380952380952382*G14_6_0 - 0.00952380 [...]
- A[172] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 + 0.00634920634920635*G12_0_1 - 0.0380952380952381*G12_1_0 - 0.0476190476190476*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00634920634920634*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.019047619047619*G12_3_1 - 0.0126984126984127*G12_4_0 + 0.00634920634920634*G12_4_1 - 0.0317460317460318*G12_5_0 - 0.0190476190476191*G12_5_1 + 0.00634920634920635*G14_6_1 - 0.03809523 [...]
- A[173] = -0.00793650793650795*G12_0_0 - 0.00158730158730159*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00952380952380948*G12_2_1 + 0.00634920634920635*G12_3_0 + 0.0126984126984127*G12_3_1 - 0.00634920634920635*G12_4_0 + 0.00634920634920636*G12_4_1 + 0.019047619047619*G12_5_1 - 0.00793650793650795*G14_6_0 - 0.00158730158730159*G14_6_1 + 0.00793650793650793*G14_7_0 + 0.00634920634920634*G14_7_1 - 0.00952380952380948*G14_8_1 + 0.00634920634920635*G14_9_0 + 0 [...]
- A[174] = -0.666666666666666*G1_0_0_1 - 0.666666666666665*G1_0_1_0 - 1.33333333333332*G1_0_1_1 - 0.666666666666666*G3_0_0_1 - 0.666666666666665*G3_0_1_0 - 1.33333333333332*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.019047619047619*G12_0_1 - 0.0253968253968254*G12_1_0 - 0.019047619047619*G12_1_1 + 0.00634920634920635*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.101587301587302*G12_3_0 - 0.152380952380952*G12_3_1 - 0.0507936507936508*G12_4_1 - 0.0253968253968254*G12_5_0 - 0.0761904761904762* [...]
- A[175] = 0.666666666666666*G1_0_0_1 + 0.666666666666665*G1_0_1_0 + 0.666666666666666*G3_0_0_1 + 0.666666666666665*G3_0_1_0 + 0.0253968253968254*G12_0_0 + 0.00634920634920635*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00634920634920635*G12_2_0 + 0.00634920634920636*G12_2_1 - 0.0507936507936508*G12_3_1 + 0.101587301587302*G12_4_0 - 0.0507936507936507*G12_4_1 + 0.0253968253968254*G12_5_0 - 0.0507936507936508*G12_5_1 + 0.0253968253968254*G14_6_0 + 0.0063492063 [...]
- A[176] = 1.33333333333334*G1_0_0_0 + 0.666666666666668*G1_0_0_1 + 0.666666666666668*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333334*G3_0_0_0 + 0.666666666666668*G3_0_0_1 + 0.666666666666668*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0317460317460318*G12_0_0 + 0.0126984126984127*G12_0_1 - 0.0317460317460318*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.019047619047619*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0761904761904762*G12_3_1 + 0.0253968253968254*G12_4_0 - 0.0507936507936508*G [...]
+ A[165] = -0.0190476190476191*G10_0_0 - 0.019047619047619*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920635*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920635*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[166] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920637*G10_2_1 - 0.00634920634920635*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920635*G10_4_0 - 0.00634920634920631*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[167] = 0.00793650793650793*G10_0_0 + 0.00793650793650799*G10_0_1 - 0.00793650793650793*G10_1_0 + 0.00476190476190476*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.0190476190476191*G10_5_1;
+ A[168] = -0.0063492063492063*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904757*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904763*G10_5_1;
+ A[169] = -0.0317460317460317*G10_0_0 - 0.031746031746032*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[170] = -0.0634920634920634*G10_0_0 - 0.0634920634920639*G10_0_1 + 0.0634920634920634*G10_1_0 - 0.0380952380952381*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.152380952380951*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.101587301587302*G10_4_1 - 0.152380952380952*G10_5_1;
+ A[171] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 + 0.0380952380952381*G12_0_0 - 0.00952380952380951*G12_0_1 + 0.00634920634920634*G12_1_1 - 0.00793650793650794*G12_2_0 - 0.00158730158730159*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 + 0.0253968253968254*G12_4_0 + 0.00634920634920635*G12_4_1 + 0.0317460317460318*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0380952380952381*G14_6_0 - 0.00952380 [...]
+ A[172] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 + 0.00634920634920634*G12_0_1 - 0.0380952380952381*G12_1_0 - 0.0476190476190476*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00634920634920634*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0190476190476191*G12_3_1 - 0.0126984126984127*G12_4_0 + 0.00634920634920636*G12_4_1 - 0.0317460317460318*G12_5_0 - 0.0190476190476191*G12_5_1 + 0.00634920634920634*G14_6_1 - 0.0380952 [...]
+ A[173] = -0.00793650793650794*G12_0_0 - 0.00158730158730159*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00952380952380949*G12_2_1 + 0.00634920634920636*G12_3_0 + 0.0126984126984127*G12_3_1 - 0.00634920634920635*G12_4_0 + 0.00634920634920636*G12_4_1 + 0.0190476190476191*G12_5_1 - 0.00793650793650794*G14_6_0 - 0.00158730158730159*G14_6_1 + 0.00793650793650793*G14_7_0 + 0.00634920634920634*G14_7_1 - 0.00952380952380949*G14_8_1 + 0.00634920634920636*G14_9_0 + [...]
+ A[174] = -0.666666666666666*G1_0_0_1 - 0.666666666666665*G1_0_1_0 - 1.33333333333333*G1_0_1_1 - 0.666666666666666*G3_0_0_1 - 0.666666666666665*G3_0_1_0 - 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.019047619047619*G12_0_1 - 0.0253968253968254*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.00634920634920636*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.101587301587302*G12_3_0 - 0.152380952380952*G12_3_1 - 0.0507936507936508*G12_4_1 - 0.0253968253968254*G12_5_0 - 0.0761904761904763 [...]
+ A[175] = 0.666666666666666*G1_0_0_1 + 0.666666666666665*G1_0_1_0 + 0.666666666666666*G3_0_0_1 + 0.666666666666665*G3_0_1_0 + 0.0253968253968254*G12_0_0 + 0.00634920634920635*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.00634920634920636*G12_1_1 - 0.00634920634920635*G12_2_0 + 0.00634920634920636*G12_2_1 - 0.0507936507936508*G12_3_1 + 0.101587301587302*G12_4_0 - 0.0507936507936507*G12_4_1 + 0.0253968253968254*G12_5_0 - 0.0507936507936508*G12_5_1 + 0.0253968253968254*G14_6_0 + 0.0063492063 [...]
+ A[176] = 1.33333333333334*G1_0_0_0 + 0.666666666666667*G1_0_0_1 + 0.666666666666667*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333334*G3_0_0_0 + 0.666666666666667*G3_0_0_1 + 0.666666666666667*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0317460317460318*G12_0_0 + 0.0126984126984127*G12_0_1 - 0.0317460317460318*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.0190476190476191*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0761904761904763*G12_3_1 + 0.0253968253968254*G12_4_0 - 0.0507936507936508* [...]
A[177] = 0.166666666666667*G7_0 - 0.166666666666667*G7_1;
A[178] = -0.166666666666667*G7_0 - 0.333333333333333*G7_1;
A[179] = -0.166666666666667*G7_1;
- A[180] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
+ A[180] = 0.166666666666667*G4_0 + 0.166666666666668*G4_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = -0.166666666666666*G4_0 - 0.166666666666665*G4_1;
A[184] = 0.166666666666666*G4_0 - 0.166666666666668*G4_1;
A[185] = -0.166666666666667*G4_0 + 0.166666666666667*G4_1;
- A[186] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
+ A[186] = 0.166666666666667*G5_0 + 0.166666666666668*G5_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
@@ -37885,6 +39550,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 4
@@ -37919,9 +39599,9 @@ public:
case 0:
{
A[0] = 0.0;
- A[1] = 0.166666666666666*G0_;
+ A[1] = 0.166666666666667*G0_;
A[2] = 0.166666666666667*G0_;
- A[3] = 0.666666666666666*G0_;
+ A[3] = 0.666666666666667*G0_;
A[4] = 0.0;
A[5] = 0.0;
A[6] = 0.0;
@@ -37941,7 +39621,7 @@ public:
A[1] = 0.0;
A[2] = 0.166666666666667*G0_;
A[3] = 0.0;
- A[4] = 0.666666666666666*G0_;
+ A[4] = 0.666666666666667*G0_;
A[5] = 0.0;
A[6] = 0.0;
A[7] = 0.0;
@@ -37961,7 +39641,7 @@ public:
A[2] = 0.0;
A[3] = 0.0;
A[4] = 0.0;
- A[5] = 0.666666666666666*G0_;
+ A[5] = 0.666666666666667*G0_;
A[6] = 0.0;
A[7] = 0.0;
A[8] = 0.0;
@@ -38005,6 +39685,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -38029,17 +39724,17 @@ public:
// Values of basis functions at quadrature points.
static const double FE0_C0[12][6] = \
- {{-0.0551285669924841, 0.653307703047059, -0.0551285669924841, 0.220514267969936, 0.0159208949980358, 0.220514267969936},
- {-0.055128566992484, -0.055128566992484, 0.65330770304706, 0.220514267969936, 0.220514267969936, 0.0159208949980358},
- {0.65330770304706, -0.0551285669924841, -0.0551285669924841, 0.0159208949980358, 0.220514267969936, 0.220514267969936},
- {-0.124998982535098, 0.00143057951778876, -0.124998982535098, 0.499995930140389, 0.248575525271626, 0.499995930140391},
- {-0.124998982535098, -0.124998982535098, 0.00143057951778887, 0.499995930140389, 0.499995930140391, 0.248575525271626},
- {0.00143057951778986, -0.124998982535098, -0.124998982535098, 0.248575525271625, 0.49999593014039, 0.49999593014039},
- {-0.0474962571988001, 0.173768363654174, -0.117715163308429, 0.790160442765823, 0.0659747859186054, 0.135307828168627},
- {-0.117715163308429, 0.173768363654174, -0.0474962571988, 0.135307828168627, 0.0659747859186052, 0.790160442765823},
- {-0.0474962571988, -0.117715163308429, 0.173768363654174, 0.790160442765823, 0.135307828168627, 0.0659747859186053},
- {0.173768363654174, -0.117715163308429, -0.0474962571988, 0.0659747859186052, 0.135307828168627, 0.790160442765823},
- {-0.117715163308429, -0.0474962571988, 0.173768363654174, 0.135307828168627, 0.790160442765823, 0.0659747859186053},
+ {{-0.0551285669924841, 0.65330770304706, -0.0551285669924841, 0.220514267969936, 0.0159208949980357, 0.220514267969936},
+ {-0.055128566992484, -0.0551285669924841, 0.65330770304706, 0.220514267969936, 0.220514267969936, 0.015920894998036},
+ {0.65330770304706, -0.0551285669924841, -0.0551285669924841, 0.0159208949980359, 0.220514267969936, 0.220514267969936},
+ {-0.124998982535098, 0.00143057951778879, -0.124998982535098, 0.499995930140389, 0.248575525271626, 0.499995930140391},
+ {-0.124998982535098, -0.124998982535098, 0.00143057951778883, 0.499995930140389, 0.499995930140391, 0.248575525271626},
+ {0.00143057951778983, -0.124998982535098, -0.124998982535098, 0.248575525271625, 0.49999593014039, 0.49999593014039},
+ {-0.0474962571988, 0.173768363654174, -0.117715163308429, 0.790160442765823, 0.0659747859186053, 0.135307828168627},
+ {-0.117715163308429, 0.173768363654174, -0.0474962571988, 0.135307828168627, 0.0659747859186051, 0.790160442765823},
+ {-0.0474962571988, -0.117715163308429, 0.173768363654174, 0.790160442765823, 0.135307828168627, 0.0659747859186054},
+ {0.173768363654174, -0.117715163308429, -0.0474962571988, 0.0659747859186053, 0.135307828168627, 0.790160442765823},
+ {-0.117715163308429, -0.0474962571988001, 0.173768363654174, 0.135307828168627, 0.790160442765823, 0.0659747859186054},
{0.173768363654174, -0.0474962571988001, -0.117715163308429, 0.0659747859186054, 0.790160442765823, 0.135307828168627}};
// Array of non-zero columns
@@ -38052,18 +39747,18 @@ public:
static const unsigned int nzc15[6] = {20, 21, 22, 23, 24, 25};
static const double FE0_C0_D01[12][5] = \
- {{0.747643942033987, -0.747643942033992, 3.49528788406797, 1.15463194561016e-14, -3.49528788406798},
- {0.747643942033987, 2.49528788406799, 0.252356057965991, -3.24293182610197, -0.252356057966005},
- {-2.49528788406799, -0.747643942033992, 0.252356057965999, 3.24293182610198, -0.252356057966007},
- {0.00285301931635137, -0.00285301931635895, 2.0057060386327, 1.40998324127395e-14, -2.00570603863272},
- {0.00285301931635112, 1.00570603863272, 0.997146980683626, -1.00855905794906, -0.99714698068364},
- {-1.00570603863272, -0.00285301931635895, 0.997146980683629, 1.00855905794909, -0.99714698068364},
- {0.787419800620731, 0.241409804135141, 2.54600999648558, -1.02882960475587, -2.5460099964856},
- {-0.241409804135144, -0.787419800620735, 2.54600999648558, 1.02882960475589, -2.5460099964856},
+ {{0.747643942033987, -0.747643942033992, 3.49528788406797, 1.19904086659517e-14, -3.49528788406799},
+ {0.747643942033987, 2.49528788406799, 0.252356057965993, -3.24293182610197, -0.252356057966005},
+ {-2.49528788406799, -0.747643942033992, 0.252356057965998, 3.24293182610198, -0.252356057966007},
+ {0.00285301931635121, -0.00285301931635873, 2.0057060386327, 1.43218770176645e-14, -2.00570603863272},
+ {0.00285301931635079, 1.00570603863272, 0.997146980683626, -1.00855905794906, -0.99714698068364},
+ {-1.00570603863273, -0.00285301931635873, 0.997146980683628, 1.00855905794909, -0.99714698068364},
+ {0.787419800620731, 0.241409804135142, 2.54600999648558, -1.02882960475586, -2.5460099964856},
+ {-0.241409804135144, -0.787419800620736, 2.54600999648558, 1.02882960475589, -2.5460099964856},
{0.787419800620731, 1.5460099964856, 1.24140980413512, -2.33342979710632, -1.24140980413514},
- {-1.5460099964856, -0.787419800620735, 1.24140980413513, 2.33342979710634, -1.24140980413514},
- {-0.241409804135145, 1.5460099964856, 0.21258019937925, -1.30460019235045, -0.212580199379262},
- {-1.5460099964856, 0.241409804135141, 0.212580199379252, 1.30460019235046, -0.212580199379263}};
+ {-1.5460099964856, -0.787419800620736, 1.24140980413513, 2.33342979710634, -1.24140980413514},
+ {-0.241409804135145, 1.5460099964856, 0.212580199379251, -1.30460019235045, -0.212580199379263},
+ {-1.5460099964856, 0.241409804135141, 0.212580199379253, 1.30460019235046, -0.212580199379264}};
// Array of non-zero columns
static const unsigned int nzc1[5] = {0, 2, 3, 4, 5};
@@ -38072,18 +39767,18 @@ public:
static const unsigned int nzc4[5] = {6, 8, 9, 10, 11};
static const double FE0_C0_D10[12][5] = \
- {{0.747643942033995, 2.49528788406798, 0.252356057966007, -0.252356057966007, -3.24293182610198},
- {0.747643942033992, -0.747643942033993, 3.49528788406798, -3.49528788406798, 0.0},
- {-2.49528788406798, -0.747643942033995, 0.252356057966007, -0.252356057966007, 3.24293182610198},
- {0.00285301931635741, 1.00570603863272, 0.997146980683638, -0.997146980683638, -1.00855905794907},
- {0.00285301931635651, -0.00285301931636039, 2.00570603863271, -2.00570603863271, 0.0},
- {-1.00570603863272, -0.00285301931636144, 0.997146980683638, -0.997146980683638, 1.00855905794908},
- {0.787419800620738, 1.5460099964856, 1.24140980413514, -1.24140980413514, -2.33342979710633},
- {-0.241409804135138, 1.5460099964856, 0.212580199379263, -0.212580199379263, -1.30460019235046},
+ {{0.747643942033994, 2.49528788406798, 0.252356057966007, -0.252356057966007, -3.24293182610198},
+ {0.747643942033992, -0.747643942033992, 3.49528788406798, -3.49528788406798, 0.0},
+ {-2.49528788406798, -0.747643942033995, 0.252356057966006, -0.252356057966006, 3.24293182610198},
+ {0.00285301931635729, 1.00570603863272, 0.997146980683638, -0.997146980683638, -1.00855905794907},
+ {0.00285301931635629, -0.00285301931636006, 2.00570603863271, -2.00570603863271, 0.0},
+ {-1.00570603863272, -0.00285301931636105, 0.997146980683638, -0.997146980683638, 1.00855905794908},
+ {0.787419800620737, 1.5460099964856, 1.24140980413514, -1.24140980413514, -2.33342979710633},
+ {-0.241409804135139, 1.5460099964856, 0.212580199379262, -0.212580199379262, -1.30460019235046},
{0.787419800620737, 0.24140980413514, 2.54600999648559, -2.54600999648559, -1.02882960475588},
- {-1.5460099964856, 0.241409804135138, 0.212580199379263, -0.212580199379263, 1.30460019235046},
- {-0.241409804135141, -0.787419800620737, 2.54600999648559, -2.54600999648559, 1.02882960475588},
- {-1.5460099964856, -0.787419800620738, 1.24140980413514, -1.24140980413514, 2.33342979710634}};
+ {-1.5460099964856, 0.241409804135138, 0.212580199379262, -0.212580199379262, 1.30460019235046},
+ {-0.24140980413514, -0.787419800620736, 2.54600999648559, -2.54600999648559, 1.02882960475588},
+ {-1.5460099964856, -0.787419800620738, 1.24140980413514, -1.24140980413514, 2.33342979710633}};
// Array of non-zero columns
static const unsigned int nzc2[5] = {0, 1, 3, 4, 5};
@@ -38109,18 +39804,18 @@ public:
static const unsigned int nzc6[3] = {12, 13, 14};
static const double FE1_C0[12][10] = \
- {{0.0463079953908666, 0.440268993398561, 0.0463079953908666, 0.402250914961474, -0.201125457480737, -0.0145210435563256, -0.0145210435563258, -0.201125457480737, 0.402250914961474, 0.0939061879708835},
- {0.0463079953908666, 0.0463079953908666, 0.440268993398561, -0.201125457480737, 0.402250914961474, -0.201125457480737, 0.402250914961474, -0.0145210435563258, -0.0145210435563256, 0.0939061879708832},
- {0.440268993398561, 0.0463079953908666, 0.0463079953908666, -0.0145210435563258, -0.0145210435563257, 0.402250914961474, -0.201125457480737, 0.402250914961474, -0.201125457480737, 0.0939061879708837},
- {0.0393516858174584, -0.0626737220523998, 0.0393516858174587, 0.283654926157929, -0.141827463078965, -0.0705102461991972, -0.0705102461991981, -0.141827463078964, 0.28365492615793, 0.841335916657949},
- {0.0393516858174584, 0.0393516858174588, -0.0626737220523998, -0.141827463078965, 0.283654926157929, -0.141827463078964, 0.28365492615793, -0.0705102461991973, -0.0705102461991981, 0.841335916657949},
- {-0.0626737220523999, 0.0393516858174587, 0.0393516858174587, -0.0705102461991979, -0.0705102461991978, 0.283654926157931, -0.141827463078965, 0.283654926157931, -0.141827463078965, 0.841335916657947},
- {0.0411107284664351, -0.0261932265993555, 0.0114358260653798, 0.808488952668146, -0.0612852214487412, -0.0623880968176903, -0.00511703591602519, -0.127951879895303, 0.138446419692862, 0.283453533784293},
- {0.0114358260653799, -0.0261932265993554, 0.041110728466435, 0.138446419692862, -0.127951879895303, -0.00511703591602509, -0.0623880968176904, -0.0612852214487413, 0.808488952668146, 0.283453533784293},
- {0.0411107284664351, 0.0114358260653799, -0.0261932265993555, -0.0612852214487413, 0.808488952668146, -0.127951879895303, 0.138446419692862, -0.0623880968176904, -0.00511703591602508, 0.283453533784293},
- {-0.0261932265993554, 0.0114358260653798, 0.0411107284664351, -0.00511703591602528, -0.0623880968176903, 0.138446419692862, -0.127951879895303, 0.808488952668146, -0.0612852214487412, 0.283453533784293},
- {0.0114358260653799, 0.0411107284664351, -0.0261932265993555, -0.127951879895303, 0.138446419692862, -0.0612852214487414, 0.808488952668146, -0.00511703591602523, -0.0623880968176903, 0.283453533784293},
- {-0.0261932265993555, 0.0411107284664351, 0.0114358260653798, -0.0623880968176906, -0.00511703591602503, 0.808488952668145, -0.0612852214487412, 0.138446419692862, -0.127951879895303, 0.283453533784293}};
+ {{0.0463079953908665, 0.440268993398561, 0.0463079953908666, 0.402250914961474, -0.201125457480737, -0.0145210435563256, -0.0145210435563257, -0.201125457480737, 0.402250914961474, 0.0939061879708835},
+ {0.0463079953908665, 0.0463079953908666, 0.440268993398561, -0.201125457480737, 0.402250914961473, -0.201125457480737, 0.402250914961474, -0.0145210435563258, -0.0145210435563257, 0.0939061879708834},
+ {0.440268993398561, 0.0463079953908666, 0.0463079953908666, -0.0145210435563257, -0.0145210435563258, 0.402250914961474, -0.201125457480737, 0.402250914961474, -0.201125457480737, 0.0939061879708836},
+ {0.0393516858174583, -0.0626737220523999, 0.0393516858174588, 0.283654926157929, -0.141827463078965, -0.0705102461991971, -0.0705102461991981, -0.141827463078964, 0.28365492615793, 0.841335916657949},
+ {0.0393516858174583, 0.0393516858174587, -0.0626737220523997, -0.141827463078965, 0.283654926157929, -0.141827463078964, 0.28365492615793, -0.0705102461991973, -0.0705102461991981, 0.841335916657949},
+ {-0.0626737220524, 0.0393516858174587, 0.0393516858174588, -0.0705102461991978, -0.0705102461991979, 0.283654926157931, -0.141827463078965, 0.283654926157931, -0.141827463078965, 0.841335916657947},
+ {0.041110728466435, -0.0261932265993556, 0.0114358260653798, 0.808488952668146, -0.0612852214487411, -0.0623880968176902, -0.00511703591602519, -0.127951879895303, 0.138446419692862, 0.283453533784293},
+ {0.0114358260653798, -0.0261932265993555, 0.0411107284664351, 0.138446419692862, -0.127951879895303, -0.005117035916025, -0.0623880968176903, -0.0612852214487414, 0.808488952668146, 0.283453533784293},
+ {0.041110728466435, 0.0114358260653799, -0.0261932265993555, -0.0612852214487412, 0.808488952668146, -0.127951879895303, 0.138446419692862, -0.0623880968176905, -0.00511703591602527, 0.283453533784293},
+ {-0.0261932265993556, 0.0114358260653798, 0.0411107284664351, -0.00511703591602523, -0.0623880968176904, 0.138446419692862, -0.127951879895303, 0.808488952668146, -0.0612852214487412, 0.283453533784293},
+ {0.0114358260653799, 0.041110728466435, -0.0261932265993554, -0.127951879895303, 0.138446419692862, -0.0612852214487414, 0.808488952668146, -0.00511703591602523, -0.0623880968176905, 0.283453533784293},
+ {-0.0261932265993556, 0.0411107284664351, 0.0114358260653799, -0.0623880968176905, -0.00511703591602509, 0.808488952668146, -0.0612852214487412, 0.138446419692862, -0.127951879895303, 0.283453533784293}};
// Array of non-zero columns
static const unsigned int nzc9[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
@@ -38129,18 +39824,18 @@ public:
static const unsigned int nzc12[10] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
static const double FE1_C0_D01[12][9] = \
- {{-0.485931890194858, 0.485931890194857, 6.3759264303559, -2.44372756077943, -0.0537330206183471, 0.0537330206183695, 2.44372756077939, -6.37592643035587, -1.06581410364015e-14},
- {-0.485931890194857, 3.44372756077941, -0.230167544593396, 1.20457074358531, 2.21356001618603, -5.17135568677058, 0.176434523975015, 0.230167544593396, -1.38100526756034},
- {-3.44372756077942, 0.485931890194858, -0.230167544593379, -0.176434523975039, 5.17135568677059, -2.21356001618602, -1.20457074358531, 0.23016754459339, 1.38100526756033},
+ {{-0.485931890194859, 0.485931890194859, 6.3759264303559, -2.44372756077943, -0.053733020618346, 0.0537330206183664, 2.44372756077939, -6.37592643035587, 0.0},
+ {-0.485931890194857, 3.44372756077941, -0.230167544593398, 1.20457074358531, 2.21356001618602, -5.17135568677057, 0.176434523975012, 0.230167544593399, -1.38100526756034},
+ {-3.44372756077942, 0.485931890194861, -0.230167544593376, -0.176434523975039, 5.17135568677059, -2.21356001618602, -1.20457074358531, 0.230167544593389, 1.38100526756032},
{0.404638308746456, -0.404638308746454, 1.13786605847598, 1.11855323498581, -0.838942397791732, 0.838942397791744, -1.11855323498585, -1.13786605847597, 0.0},
- {0.404638308746455, -0.118553234985829, -0.282847955477364, 2.25318217517852, -1.40140119046319, 1.11531611670258, -0.556094442314385, 0.28284795547737, -1.69708773286416},
- {0.118553234985819, -0.404638308746454, -0.282847955477359, 0.556094442314362, -1.11531611670255, 1.40140119046319, -2.25318217517854, 0.282847955477367, 1.69708773286416},
- {-0.559823901757264, -0.492870367157912, 2.60506707768883, 2.469321742623, 0.750232850760386, 0.302461418154807, 1.95093340590805, -2.60506707768881, -4.42025514853108},
- {0.492870367157909, 0.559823901757269, 2.60506707768883, -1.95093340590808, -0.302461418154779, -0.750232850760384, -2.46932174262302, -2.60506707768881, 4.42025514853107},
- {-0.559823901757266, 0.740805831642527, -0.0962843375058831, 3.93699695901726, 1.749910031967, -1.93089196185225, 0.951256224701441, 0.0962843375058929, -4.88825318371873},
- {-0.740805831642532, 0.559823901757269, -0.096284337505872, -0.951256224701466, 1.93089196185227, -1.749910031967, -3.93699695901728, 0.0962843375058845, 4.88825318371872},
- {0.49287036715791, 0.740805831642526, -0.201023373941072, 0.674175115836556, -2.56560608012889, 1.33192988132846, -0.206177080648917, 0.201023373941072, -0.467998035187653},
- {-0.740805831642533, -0.492870367157911, -0.201023373941067, 0.206177080648907, -1.33192988132844, 2.5656060801289, -0.674175115836561, 0.20102337394107, 0.467998035187637}};
+ {0.404638308746455, -0.118553234985829, -0.282847955477365, 2.25318217517853, -1.40140119046319, 1.11531611670258, -0.556094442314386, 0.28284795547737, -1.69708773286416},
+ {0.118553234985819, -0.404638308746453, -0.28284795547736, 0.556094442314362, -1.11531611670255, 1.40140119046319, -2.25318217517854, 0.282847955477367, 1.69708773286416},
+ {-0.559823901757265, -0.492870367157913, 2.60506707768883, 2.469321742623, 0.750232850760387, 0.302461418154807, 1.95093340590805, -2.60506707768881, -4.42025514853108},
+ {0.492870367157908, 0.559823901757271, 2.60506707768883, -1.95093340590808, -0.302461418154776, -0.750232850760387, -2.46932174262302, -2.60506707768881, 4.42025514853107},
+ {-0.559823901757266, 0.740805831642525, -0.0962843375058832, 3.93699695901726, 1.749910031967, -1.93089196185224, 0.951256224701438, 0.0962843375058914, -4.88825318371873},
+ {-0.740805831642533, 0.559823901757271, -0.09628433750587, -0.951256224701467, 1.93089196185228, -1.749910031967, -3.93699695901728, 0.0962843375058839, 4.88825318371872},
+ {0.492870367157909, 0.740805831642527, -0.201023373941075, 0.674175115836559, -2.56560608012889, 1.33192988132846, -0.206177080648918, 0.201023373941074, -0.467998035187655},
+ {-0.740805831642533, -0.492870367157911, -0.201023373941067, 0.206177080648908, -1.33192988132844, 2.5656060801289, -0.674175115836561, 0.201023373941072, 0.467998035187636}};
// Array of non-zero columns
static const unsigned int nzc10[9] = {0, 2, 3, 4, 5, 6, 7, 8, 9};
@@ -38149,18 +39844,18 @@ public:
static const unsigned int nzc13[9] = {10, 12, 13, 14, 15, 16, 17, 18, 19};
static const double FE1_C0_D10[12][9] = \
- {{-0.485931890194847, 3.44372756077941, 1.20457074358532, -0.23016754459339, 0.176434523975019, 0.23016754459339, 2.21356001618601, -5.17135568677057, -1.38100526756034},
- {-0.485931890194857, 0.485931890194854, -2.44372756077941, 6.3759264303559, 2.44372756077942, -6.3759264303559, -0.0537330206183684, 0.0537330206183718, 0.0},
- {-3.44372756077941, 0.485931890194856, -0.176434523975022, -0.230167544593389, -1.20457074358531, 0.230167544593389, 5.17135568677059, -2.21356001618604, 1.38100526756033},
- {0.404638308746459, -0.118553234985828, 2.25318217517853, -0.282847955477362, -0.556094442314377, 0.282847955477362, -1.4014011904632, 1.11531611670256, -1.69708773286416},
- {0.404638308746458, -0.404638308746455, 1.11855323498582, 1.13786605847597, -1.11855323498583, -1.13786605847598, -0.838942397791737, 0.838942397791735, 1.30826400560679e-14},
- {0.118553234985822, -0.404638308746454, 0.556094442314372, -0.282847955477362, -2.25318217517854, 0.282847955477362, -1.11531611670254, 1.40140119046318, 1.69708773286417},
- {-0.55982390175726, 0.740805831642526, 3.93699695901728, -0.0962843375058809, 0.951256224701448, 0.0962843375058804, 1.74991003196699, -1.93089196185226, -4.88825318371872},
- {0.492870367157916, 0.740805831642527, 0.674175115836561, -0.201023373941065, -0.206177080648911, 0.201023373941065, -2.56560608012889, 1.33192988132845, -0.46799803518765},
- {-0.559823901757264, -0.492870367157914, 2.46932174262301, 2.60506707768882, 1.95093340590807, -2.60506707768882, 0.750232850760382, 0.302461418154797, -4.42025514853108},
- {-0.740805831642529, -0.492870367157911, 0.206177080648912, -0.201023373941064, -0.674175115836557, 0.201023373941064, -1.33192988132844, 2.56560608012888, 0.467998035187646},
- {0.492870367157912, 0.559823901757265, -1.95093340590807, 2.60506707768882, -2.46932174262301, -2.60506707768882, -0.302461418154792, -0.750232850760384, 4.42025514853108},
- {-0.740805831642531, 0.559823901757265, -0.951256224701448, -0.0962843375058816, -3.93699695901727, 0.0962843375058811, 1.93089196185227, -1.74991003196701, 4.88825318371872}};
+ {{-0.485931890194848, 3.44372756077941, 1.20457074358531, -0.230167544593388, 0.176434523975018, 0.230167544593388, 2.21356001618601, -5.17135568677057, -1.38100526756033},
+ {-0.485931890194857, 0.485931890194854, -2.44372756077941, 6.37592643035589, 2.44372756077942, -6.37592643035589, -0.0537330206183682, 0.053733020618371, 0.0},
+ {-3.44372756077941, 0.485931890194856, -0.176434523975021, -0.230167544593388, -1.20457074358531, 0.230167544593388, 5.17135568677059, -2.21356001618604, 1.38100526756033},
+ {0.404638308746459, -0.118553234985829, 2.25318217517853, -0.282847955477362, -0.556094442314378, 0.282847955477362, -1.4014011904632, 1.11531611670256, -1.69708773286415},
+ {0.404638308746457, -0.404638308746456, 1.11855323498582, 1.13786605847598, -1.11855323498583, -1.13786605847598, -0.838942397791737, 0.838942397791736, 1.25339695915594e-14},
+ {0.118553234985822, -0.404638308746455, 0.556094442314371, -0.282847955477362, -2.25318217517854, 0.282847955477362, -1.11531611670254, 1.40140119046318, 1.69708773286417},
+ {-0.55982390175726, 0.740805831642526, 3.93699695901728, -0.0962843375058807, 0.951256224701448, 0.0962843375058807, 1.74991003196699, -1.93089196185226, -4.88825318371872},
+ {0.492870367157915, 0.740805831642527, 0.674175115836559, -0.201023373941063, -0.206177080648911, 0.201023373941064, -2.56560608012889, 1.33192988132845, -0.467998035187647},
+ {-0.559823901757265, -0.492870367157913, 2.46932174262301, 2.60506707768882, 1.95093340590807, -2.60506707768882, 0.750232850760382, 0.302461418154795, -4.42025514853107},
+ {-0.740805831642529, -0.49287036715791, 0.206177080648911, -0.201023373941063, -0.674175115836556, 0.201023373941063, -1.33192988132844, 2.56560608012888, 0.467998035187644},
+ {0.492870367157911, 0.559823901757265, -1.95093340590807, 2.60506707768882, -2.46932174262301, -2.60506707768883, -0.302461418154791, -0.750232850760383, 4.42025514853107},
+ {-0.740805831642531, 0.559823901757265, -0.95125622470145, -0.0962843375058811, -3.93699695901727, 0.0962843375058807, 1.93089196185227, -1.74991003196701, 4.88825318371872}};
// Array of non-zero columns
static const unsigned int nzc11[9] = {0, 1, 3, 4, 5, 6, 7, 8, 9};
@@ -38288,6 +39983,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -38343,7 +40053,7 @@ public:
static const unsigned int nzc2[2] = {0, 1};
static const double FE1_f0_C0[3][4] = \
- {{0.488014084041408, 0.061985915958592, 0.747852751738001, -0.297852751738001},
+ {{0.488014084041408, 0.0619859159585921, 0.747852751738001, -0.297852751738001},
{-0.0625, -0.0625, 0.5625, 0.5625},
{0.0619859159585921, 0.488014084041408, -0.297852751738001, 0.747852751738001}};
@@ -38525,6 +40235,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 7
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 7
+ // quadrature_degree: 7
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 1
// Number of operations (multiply-add pairs) for tensor contraction: 34
@@ -38564,8 +40289,8 @@ public:
A[15] = 0.0;
A[16] = 0.00357142857142857*G0_0;
A[17] = 0.0;
- A[18] = -0.00357142857142856*G0_0;
- A[19] = -0.00714285714285713*G0_0;
+ A[18] = -0.00357142857142857*G0_0;
+ A[19] = -0.00714285714285714*G0_0;
A[20] = -0.00357142857142857*G0_0;
A[21] = 0.0;
A[22] = 0.0;
@@ -38578,10 +40303,10 @@ public:
A[29] = 0.0;
A[30] = 0.0;
A[31] = 0.0;
- A[32] = 0.00357142857142856*G0_0;
+ A[32] = 0.00357142857142857*G0_0;
A[33] = -0.00357142857142857*G0_0;
A[34] = -0.00357142857142857*G0_0;
- A[35] = -0.00714285714285713*G0_0;
+ A[35] = -0.00714285714285714*G0_0;
A[36] = 0.0;
A[37] = 0.0;
A[38] = 0.0;
@@ -38596,7 +40321,7 @@ public:
A[47] = -0.00357142857142857*G0_0;
A[48] = 0.0428571428571428*G0_0;
A[49] = 0.0285714285714285*G0_0;
- A[50] = 0.0285714285714285*G0_0;
+ A[50] = 0.0285714285714286*G0_0;
A[51] = 0.0;
A[52] = 0.0;
A[53] = 0.0;
@@ -38607,7 +40332,7 @@ public:
A[58] = 0.0;
A[59] = 0.0;
A[60] = -0.00357142857142856*G0_0;
- A[61] = -0.00714285714285713*G0_0;
+ A[61] = -0.00714285714285714*G0_0;
A[62] = -0.00357142857142857*G0_0;
A[63] = 0.0285714285714285*G0_0;
A[64] = 0.0428571428571428*G0_0;
@@ -38623,8 +40348,8 @@ public:
A[74] = 0.0;
A[75] = -0.00357142857142856*G0_0;
A[76] = -0.00357142857142857*G0_0;
- A[77] = -0.00714285714285713*G0_0;
- A[78] = 0.0285714285714285*G0_0;
+ A[77] = -0.00714285714285714*G0_0;
+ A[78] = 0.0285714285714286*G0_0;
A[79] = 0.0285714285714285*G0_0;
A[80] = 0.0428571428571428*G0_0;
A[81] = 0.0;
@@ -38660,8 +40385,8 @@ public:
A[111] = 0.0;
A[112] = 0.00357142857142857*G0_0;
A[113] = 0.0;
- A[114] = -0.00357142857142856*G0_0;
- A[115] = -0.00714285714285713*G0_0;
+ A[114] = -0.00357142857142857*G0_0;
+ A[115] = -0.00714285714285714*G0_0;
A[116] = -0.00357142857142857*G0_0;
A[117] = 0.0;
A[118] = 0.0;
@@ -38674,10 +40399,10 @@ public:
A[125] = 0.0;
A[126] = 0.0;
A[127] = 0.0;
- A[128] = 0.00357142857142856*G0_0;
+ A[128] = 0.00357142857142857*G0_0;
A[129] = -0.00357142857142857*G0_0;
A[130] = -0.00357142857142857*G0_0;
- A[131] = -0.00714285714285713*G0_0;
+ A[131] = -0.00714285714285714*G0_0;
A[132] = 0.0;
A[133] = 0.0;
A[134] = 0.0;
@@ -38692,7 +40417,7 @@ public:
A[143] = -0.00357142857142857*G0_0;
A[144] = 0.0428571428571428*G0_0;
A[145] = 0.0285714285714285*G0_0;
- A[146] = 0.0285714285714285*G0_0;
+ A[146] = 0.0285714285714286*G0_0;
A[147] = 0.0;
A[148] = 0.0;
A[149] = 0.0;
@@ -38703,7 +40428,7 @@ public:
A[154] = 0.0;
A[155] = 0.0;
A[156] = -0.00357142857142856*G0_0;
- A[157] = -0.00714285714285713*G0_0;
+ A[157] = -0.00714285714285714*G0_0;
A[158] = -0.00357142857142857*G0_0;
A[159] = 0.0285714285714285*G0_0;
A[160] = 0.0428571428571428*G0_0;
@@ -38719,8 +40444,8 @@ public:
A[170] = 0.0;
A[171] = -0.00357142857142856*G0_0;
A[172] = -0.00357142857142857*G0_0;
- A[173] = -0.00714285714285713*G0_0;
- A[174] = 0.0285714285714285*G0_0;
+ A[173] = -0.00714285714285714*G0_0;
+ A[174] = 0.0285714285714286*G0_0;
A[175] = 0.0285714285714285*G0_0;
A[176] = 0.0428571428571428*G0_0;
A[177] = 0.0;
@@ -38801,6 +40526,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 8
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -38820,117 +40560,117 @@ public:
// Array of quadrature weights.
- static const double W25[25] = {0.0114650803515925, 0.0198040831320473, 0.0173415064313656, 0.0087554991821638, 0.00186555216687783, 0.0231612219294983, 0.0400072873861603, 0.0350325045033716, 0.0176874521104834, 0.0037687016953276, 0.0275289856644697, 0.0475518970579538, 0.0416389652151948, 0.021022967487322, 0.00447940679728133, 0.0231612219294983, 0.0400072873861603, 0.0350325045033716, 0.0176874521104834, 0.0037687016953276, 0.0114650803515925, 0.0198040831320473, 0.01734150643136 [...]
+ static const double W25[25] = {0.0114650803515925, 0.0198040831320474, 0.0173415064313657, 0.00875549918216383, 0.00186555216687784, 0.0231612219294983, 0.0400072873861604, 0.0350325045033717, 0.0176874521104835, 0.00376870169532762, 0.0275289856644698, 0.047551897057954, 0.041638965215195, 0.0210229674873221, 0.00447940679728135, 0.0231612219294983, 0.0400072873861604, 0.0350325045033717, 0.0176874521104835, 0.00376870169532762, 0.0114650803515925, 0.0198040831320474, 0.017341506431 [...]
// Quadrature points on the UFC reference element: (0.0450425935698037, 0.0398098570514687), (0.0376212523451112, 0.198013417873608), (0.0263646449444709, 0.437974810247386), (0.0142857943955714, 0.695464273353636), (0.00462228846504642, 0.901464914201174), (0.221578609552379, 0.0398098570514687), (0.185070710267389, 0.198013417873608), (0.129695936782254, 0.437974810247386), (0.0702762920082817, 0.695464273353636), (0.022738483063764, 0.901464914201174), (0.480095071474266, 0.039809 [...]
// Values of basis functions at quadrature points.
static const double FE0[25][1] = \
- {{0.0443066477812843},
+ {{0.0443066477812842},
{0.153742030524499},
{0.167003080840912},
- {0.0778601276421669},
- {0.0105656060730506},
+ {0.0778601276421673},
+ {0.0105656060730509},
{0.175913147778989},
{0.610410534080672},
{0.663061619658879},
- {0.309132394931335},
- {0.0419492133929458},
+ {0.309132394931336},
+ {0.041949213392946},
{0.247747270005307},
{0.859671635180817},
{0.933822788062264},
{0.435366587895191},
- {0.0590791718992463},
+ {0.0590791718992465},
{0.175913147778989},
- {0.610410534080673},
+ {0.610410534080672},
{0.663061619658879},
{0.309132394931336},
- {0.0419492133929457},
- {0.0443066477812842},
- {0.153742030524499},
+ {0.0419492133929459},
+ {0.0443066477812841},
+ {0.153742030524498},
{0.167003080840912},
- {0.0778601276421676},
- {0.0105656060730507}};
+ {0.0778601276421678},
+ {0.0105656060730508}};
static const double FE0_D01[25][1] = \
- {{1.06454195761932},
- {0.57528544123839},
- {0.0695371421115145},
- {-0.156297836604576},
- {-0.100783948537451},
+ {{1.06454195761931},
+ {0.575285441238389},
+ {0.0695371421115127},
+ {-0.15629783660458},
+ {-0.100783948537453},
{4.18066660252782},
{2.09321751667939},
- {-0.0197695576719561},
- {-0.87511767987259},
- {-0.506910012747101},
+ {-0.0197695576719571},
+ {-0.875117679872591},
+ {-0.506910012747102},
{5.70722656015912},
{2.19762631898683},
{-1.19092570485195},
{-2.23320663144434},
{-1.13361310483318},
{3.62492541922148},
- {-0.215583167171885},
+ {-0.215583167171884},
{-3.59850532693657},
- {-3.95431694241715},
+ {-3.95431694241714},
{-1.79832091177049},
- {0.129295602035058},
+ {0.12929560203506},
{-3.31015168346014},
{-5.9530497856577},
- {-5.33822419894347},
+ {-5.33822419894346},
{-2.27407499327842}};
static const double FE0_D10[25][1] = \
- {{0.935246355584254},
+ {{0.935246355584248},
{3.88543712469853},
{6.02258692776922},
- {5.18192636233889},
+ {5.18192636233888},
{2.17329104474096},
- {0.555741183306337},
+ {0.555741183306334},
{2.30880068385127},
- {3.57873576926462},
- {3.07919926254456},
+ {3.57873576926461},
+ {3.07919926254455},
{1.29141089902338},
{0.0},
{0.0},
{0.0},
{0.0},
- {-1.11583099202429e-14},
- {-0.555741183306341},
+ {0.0},
+ {-0.555741183306336},
{-2.30880068385127},
- {-3.57873576926462},
- {-3.07919926254456},
- {-1.2914108990234},
- {-0.935246355584257},
+ {-3.57873576926461},
+ {-3.07919926254455},
+ {-1.29141089902339},
+ {-0.935246355584251},
{-3.88543712469853},
- {-6.02258692776922},
- {-5.18192636233889},
- {-2.17329104474098}};
+ {-6.02258692776921},
+ {-5.18192636233888},
+ {-2.17329104474097}};
static const double FE1_C0[25][6] = \
- {{0.759842524889054, -0.0409849230988147, -0.036640207614552, 0.00717255684496523, 0.145727572487076, 0.164882476492272},
+ {{0.759842524889053, -0.0409849230988147, -0.036640207614552, 0.00717255684496529, 0.145727572487076, 0.164882476492272},
{0.404143384962011, -0.0347905350890822, -0.119594790557632, 0.0297980510461639, 0.605418365816316, 0.115025523822223},
- {0.0382038937201701, -0.0249744559383748, -0.0543309414249183, 0.0461882014671775, 0.938423301877431, 0.0564900002985142},
- {-0.121759885907613, -0.0138776265525463, 0.271876837668966, 0.0397410384743819, 0.807433832894958, 0.0165858034218534},
- {-0.0762735703276687, -0.00457955736373819, 0.723813068870285, 0.0166673234982246, 0.338636367163553, 0.00173636815934466},
+ {0.03820389372017, -0.0249744559383749, -0.0543309414249183, 0.0461882014671775, 0.938423301877431, 0.0564900002985143},
+ {-0.121759885907613, -0.0138776265525463, 0.271876837668966, 0.039741038474382, 0.807433832894958, 0.0165858034218535},
+ {-0.0762735703276687, -0.00457955736373822, 0.723813068870285, 0.0166673234982246, 0.338636367163552, 0.00173636815934486},
{0.352482461135478, -0.123384449130048, -0.036640207614552, 0.0352840510877737, 0.117616078244268, 0.65464206627708},
- {0.144254514044104, -0.116568374669637, -0.119594790557632, 0.146585935553368, 0.488630481309112, 0.456692234320685},
+ {0.144254514044104, -0.116568374669637, -0.119594790557632, 0.146585935553368, 0.488630481309112, 0.456692234320686},
{-0.0585120870225411, -0.0960538647466012, -0.0543309414249183, 0.227214213208259, 0.75739729013635, 0.224285389849452},
- {-0.124504469204174, -0.0603987775714151, 0.271876837668966, 0.19549860142211, 0.65167626994723, 0.0658515377372834},
- {-0.0643063527627087, -0.0217044058396818, 0.723813068870285, 0.0819917787365634, 0.273311911925214, 0.00689399907032823},
- {-0.0191125161665052, -0.0191125161665052, -0.036640207614552, 0.0764500646660207, 0.0764500646660207, 0.921965110615521},
+ {-0.124504469204174, -0.0603987775714152, 0.271876837668966, 0.19549860142211, 0.65167626994723, 0.0658515377372835},
+ {-0.0643063527627086, -0.0217044058396819, 0.723813068870285, 0.0819917787365635, 0.273311911925214, 0.00689399907032842},
+ {-0.0191125161665052, -0.0191125161665051, -0.036640207614552, 0.0764500646660208, 0.0764500646660207, 0.921965110615521},
{-0.07940205210781, -0.07940205210781, -0.119594790557632, 0.31760820843124, 0.31760820843124, 0.643182477910772},
- {-0.123076437918076, -0.123076437918076, -0.0543309414249183, 0.492305751672304, 0.492305751672304, 0.315872313916462},
- {-0.105896858921167, -0.105896858921168, 0.271876837668966, 0.42358743568467, 0.42358743568467, 0.0927420088040289},
- {-0.0444129613327222, -0.0444129613327222, 0.723813068870285, 0.177651845330889, 0.177651845330889, 0.00970916313338205},
- {-0.123384449130048, 0.352482461135478, -0.036640207614552, 0.117616078244268, 0.0352840510877737, 0.65464206627708},
+ {-0.123076437918076, -0.123076437918076, -0.0543309414249183, 0.492305751672305, 0.492305751672304, 0.315872313916462},
+ {-0.105896858921167, -0.105896858921168, 0.271876837668966, 0.42358743568467, 0.42358743568467, 0.092742008804029},
+ {-0.0444129613327221, -0.0444129613327222, 0.723813068870285, 0.177651845330889, 0.177651845330889, 0.00970916313338224},
+ {-0.123384449130048, 0.352482461135478, -0.036640207614552, 0.117616078244268, 0.0352840510877736, 0.65464206627708},
{-0.116568374669637, 0.144254514044104, -0.119594790557632, 0.488630481309112, 0.146585935553368, 0.456692234320686},
- {-0.0960538647466012, -0.0585120870225412, -0.0543309414249183, 0.75739729013635, 0.227214213208259, 0.224285389849452},
- {-0.0603987775714152, -0.124504469204174, 0.271876837668966, 0.651676269947229, 0.19549860142211, 0.0658515377372834},
- {-0.0217044058396818, -0.0643063527627086, 0.723813068870285, 0.273311911925214, 0.0819917787365634, 0.00689399907032823},
- {-0.0409849230988147, 0.759842524889054, -0.036640207614552, 0.145727572487076, 0.00717255684496515, 0.164882476492272},
- {-0.0347905350890822, 0.404143384962011, -0.119594790557632, 0.605418365816316, 0.0297980510461639, 0.115025523822223},
- {-0.0249744559383749, 0.0382038937201699, -0.0543309414249183, 0.938423301877431, 0.0461882014671776, 0.0564900002985143},
- {-0.0138776265525464, -0.121759885907613, 0.271876837668966, 0.807433832894958, 0.0397410384743823, 0.0165858034218535},
- {-0.00457955736373816, -0.0762735703276687, 0.723813068870285, 0.338636367163553, 0.0166673234982245, 0.00173636815934466}};
+ {-0.0960538647466011, -0.0585120870225412, -0.0543309414249183, 0.75739729013635, 0.227214213208259, 0.224285389849452},
+ {-0.0603987775714151, -0.124504469204174, 0.271876837668966, 0.65167626994723, 0.19549860142211, 0.0658515377372836},
+ {-0.0217044058396818, -0.0643063527627087, 0.723813068870285, 0.273311911925214, 0.0819917787365632, 0.00689399907032842},
+ {-0.0409849230988146, 0.759842524889054, -0.036640207614552, 0.145727572487076, 0.00717255684496515, 0.164882476492272},
+ {-0.0347905350890821, 0.404143384962011, -0.119594790557632, 0.605418365816316, 0.0297980510461638, 0.115025523822223},
+ {-0.0249744559383748, 0.03820389372017, -0.0543309414249183, 0.938423301877431, 0.0461882014671775, 0.0564900002985144},
+ {-0.0138776265525463, -0.121759885907613, 0.271876837668966, 0.807433832894958, 0.0397410384743822, 0.0165858034218536},
+ {-0.00457955736373811, -0.0762735703276687, 0.723813068870285, 0.338636367163553, 0.0166673234982243, 0.00173636815934486}};
// Array of non-zero columns
static const unsigned int nzc0[6] = {0, 1, 2, 3, 4, 5};
@@ -38939,31 +40679,31 @@ public:
static const unsigned int nzc3[6] = {6, 7, 8, 9, 10, 11};
static const double FE1_C0_D01[25][5] = \
- {{-2.66059019751491, -0.840760571794125, 0.180170374279206, 3.50135076930904, -0.180170374279213},
- {-2.05746131912513, -0.207946328505566, 0.150485009380434, 2.2654076476307, -0.150485009380443},
- {-1.14264217923258, 0.751899240989546, 0.105458579777871, 0.390742938243035, -0.105458579777882},
- {-0.160999729003176, 1.78185709341455, 0.0571431775822711, -1.62085736441137, -0.0571431775822828},
- {0.624348810664875, 2.6058596568047, 0.0184891538601692, -3.23020846746957, -0.0184891538601817},
- {-1.95444613358461, -0.840760571794125, 0.886314438209507, 2.79520670537874, -0.886314438209516},
- {-1.46766348743601, -0.207946328505566, 0.740282841069546, 1.67560981594158, -0.740282841069557},
- {-0.729317011881444, 0.751899240989546, 0.518783747129004, -0.0225822291080974, -0.518783747129016},
- {0.0629622614476658, 1.78185709341455, 0.281105168033112, -1.84481935486221, -0.281105168033125},
- {0.696813589059745, 2.6058596568047, 0.0909539322550397, -3.30267324586444, -0.0909539322550523},
- {-0.920380285897067, -0.840760571794124, 1.92038028589705, 1.7611408576912, -1.92038028589706},
+ {{-2.66059019751491, -0.840760571794125, 0.180170374279205, 3.50135076930904, -0.180170374279213},
+ {-2.05746131912513, -0.207946328505566, 0.150485009380435, 2.2654076476307, -0.150485009380444},
+ {-1.14264217923258, 0.751899240989546, 0.105458579777872, 0.390742938243035, -0.105458579777883},
+ {-0.160999729003176, 1.78185709341455, 0.0571431775822724, -1.62085736441137, -0.0571431775822841},
+ {0.624348810664875, 2.6058596568047, 0.0184891538601701, -3.23020846746957, -0.0184891538601826},
+ {-1.95444613358461, -0.840760571794125, 0.886314438209506, 2.79520670537874, -0.886314438209516},
+ {-1.46766348743601, -0.207946328505566, 0.740282841069547, 1.67560981594159, -0.740282841069557},
+ {-0.729317011881444, 0.751899240989546, 0.518783747129004, -0.022582229108097, -0.518783747129017},
+ {0.0629622614476658, 1.78185709341455, 0.281105168033113, -1.84481935486221, -0.281105168033126},
+ {0.696813589059745, 2.6058596568047, 0.0909539322550406, -3.30267324586444, -0.0909539322550531},
+ {-0.920380285897067, -0.840760571794125, 1.92038028589705, 1.7611408576912, -1.92038028589706},
{-0.603973164252788, -0.207946328505566, 1.60397316425277, 0.81191949275836, -1.60397316425278},
- {-0.124050379505233, 0.751899240989546, 1.12405037950521, -0.627848861484308, -1.12405037950523},
- {0.390928546707267, 1.78185709341455, 0.609071453292713, -2.17278564012181, -0.609071453292727},
- {0.802929828402342, 2.6058596568047, 0.197070171597636, -3.40878948520703, -0.197070171597649},
- {0.113685561790479, -0.840760571794125, 2.9544461335846, 0.727075010003653, -2.95444613358461},
- {0.259717158930438, -0.207946328505566, 2.467663487436, -0.0517708304248647, -2.46766348743601},
- {0.481216252870979, 0.751899240989546, 1.72931701188142, -1.23311549386052, -1.72931701188144},
+ {-0.124050379505233, 0.751899240989547, 1.12405037950521, -0.627848861484307, -1.12405037950523},
+ {0.390928546707267, 1.78185709341455, 0.609071453292714, -2.17278564012181, -0.609071453292727},
+ {0.802929828402342, 2.6058596568047, 0.197070171597637, -3.40878948520703, -0.19707017159765},
+ {0.113685561790479, -0.840760571794125, 2.95444613358459, 0.727075010003653, -2.95444613358461},
+ {0.259717158930437, -0.207946328505566, 2.467663487436, -0.0517708304248642, -2.46766348743601},
+ {0.481216252870978, 0.751899240989547, 1.72931701188142, -1.23311549386052, -1.72931701188144},
{0.718894831966868, 1.78185709341455, 0.937037738552313, -2.50075192538141, -0.937037738552328},
- {0.909046067744939, 2.6058596568047, 0.303186410940233, -3.51490572454963, -0.303186410940246},
- {0.819829625720781, -0.840760571794125, 3.6605901975149, 0.0209309460733513, -3.66059019751491},
- {0.849514990619551, -0.207946328505566, 3.05746131912511, -0.641568662113977, -3.05746131912512},
- {0.894541420222111, 0.751899240989546, 2.14264217923256, -1.64644066121165, -2.14264217923257},
+ {0.909046067744939, 2.6058596568047, 0.303186410940234, -3.51490572454963, -0.303186410940247},
+ {0.81982962572078, -0.840760571794125, 3.6605901975149, 0.0209309460733518, -3.66059019751491},
+ {0.84951499061955, -0.207946328505566, 3.05746131912511, -0.641568662113976, -3.05746131912512},
+ {0.894541420222111, 0.751899240989547, 2.14264217923256, -1.64644066121165, -2.14264217923257},
{0.942856822417709, 1.78185709341455, 1.16099972900315, -2.72471391583225, -1.16099972900317},
- {0.981510846139809, 2.6058596568047, 0.375651189335103, -3.5873705029445, -0.375651189335117}};
+ {0.981510846139809, 2.6058596568047, 0.375651189335104, -3.5873705029445, -0.375651189335117}};
// Array of non-zero columns
static const unsigned int nzc1[5] = {0, 2, 3, 4, 5};
@@ -38972,31 +40712,31 @@ public:
static const unsigned int nzc4[5] = {6, 8, 9, 10, 11};
static const double FE1_C0_D10[25][5] = \
- {{-2.66059019751491, -0.819829625720789, 0.159239428205874, -0.159239428205874, 3.4804198232357},
- {-2.05746131912512, -0.849514990619558, 0.792053671494431, -0.792053671494431, 2.90697630974468},
- {-1.14264217923257, -0.894541420222119, 1.75189924098954, -1.75189924098954, 2.03718359945469},
- {-0.160999729003171, -0.942856822417716, 2.78185709341454, -2.78185709341454, 1.10385655142089},
- {0.624348810664879, -0.981510846139816, 3.60585965680469, -3.60585965680469, 0.357162035474935},
- {-1.95444613358461, -0.113685561790486, 0.159239428205874, -0.159239428205874, 2.06813169537509},
- {-1.46766348743601, -0.259717158930444, 0.792053671494431, -0.792053671494431, 1.72738064636645},
- {-0.729317011881439, -0.481216252870985, 1.75189924098954, -1.75189924098954, 1.21053326475242},
- {0.0629622614476704, -0.718894831966874, 2.78185709341454, -2.78185709341454, 0.655932570519203},
- {0.69681358905975, -0.909046067744945, 3.60585965680469, -3.60585965680469, 0.212232478685194},
- {-0.920380285897061, 0.920380285897061, 0.159239428205874, -0.159239428205874, 0.0},
- {-0.603973164252782, 0.603973164252783, 0.792053671494431, -0.792053671494431, 0.0},
- {-0.124050379505227, 0.124050379505227, 1.75189924098954, -1.75189924098954, 0.0},
+ {{-2.66059019751491, -0.819829625720788, 0.159239428205873, -0.159239428205873, 3.4804198232357},
+ {-2.05746131912512, -0.849514990619558, 0.792053671494432, -0.792053671494432, 2.90697630974468},
+ {-1.14264217923257, -0.894541420222117, 1.75189924098954, -1.75189924098954, 2.03718359945469},
+ {-0.160999729003171, -0.942856822417715, 2.78185709341454, -2.78185709341454, 1.10385655142089},
+ {0.62434881066488, -0.981510846139814, 3.60585965680469, -3.60585965680469, 0.357162035474935},
+ {-1.95444613358461, -0.113685561790486, 0.159239428205873, -0.159239428205873, 2.06813169537509},
+ {-1.46766348743601, -0.259717158930444, 0.792053671494432, -0.792053671494432, 1.72738064636645},
+ {-0.729317011881439, -0.481216252870984, 1.75189924098954, -1.75189924098954, 1.21053326475242},
+ {0.0629622614476707, -0.718894831966873, 2.78185709341454, -2.78185709341454, 0.655932570519203},
+ {0.69681358905975, -0.909046067744944, 3.60585965680469, -3.60585965680469, 0.212232478685194},
+ {-0.920380285897061, 0.920380285897062, 0.159239428205873, -0.159239428205873, 0.0},
+ {-0.603973164252782, 0.603973164252783, 0.792053671494432, -0.792053671494432, 0.0},
+ {-0.124050379505227, 0.124050379505228, 1.75189924098954, -1.75189924098954, 0.0},
{0.390928546707272, -0.390928546707272, 2.78185709341454, -2.78185709341454, 0.0},
- {0.802929828402347, -0.802929828402348, 3.60585965680469, -3.60585965680469, 0.0},
+ {0.802929828402347, -0.802929828402347, 3.60585965680469, -3.60585965680469, 0.0},
{0.113685561790485, 1.95444613358461, 0.159239428205874, -0.159239428205874, -2.06813169537509},
- {0.259717158930444, 1.46766348743601, 0.792053671494431, -0.792053671494431, -1.72738064636645},
- {0.481216252870985, 0.729317011881439, 1.75189924098954, -1.75189924098954, -1.21053326475242},
- {0.718894831966873, -0.062962261447671, 2.78185709341454, -2.78185709341454, -0.655932570519203},
- {0.909046067744944, -0.696813589059751, 3.60585965680469, -3.60585965680469, -0.212232478685194},
+ {0.259717158930444, 1.46766348743601, 0.792053671494432, -0.792053671494432, -1.72738064636645},
+ {0.481216252870984, 0.729317011881439, 1.75189924098954, -1.75189924098954, -1.21053326475242},
+ {0.718894831966873, -0.0629622614476713, 2.78185709341454, -2.78185709341454, -0.655932570519202},
+ {0.909046067744943, -0.69681358905975, 3.60585965680469, -3.60585965680469, -0.212232478685193},
{0.819829625720787, 2.66059019751491, 0.159239428205874, -0.159239428205874, -3.4804198232357},
- {0.849514990619557, 2.05746131912512, 0.792053671494431, -0.792053671494431, -2.90697630974468},
- {0.894541420222118, 1.14264217923257, 1.75189924098954, -1.75189924098954, -2.03718359945469},
- {0.942856822417715, 0.160999729003171, 2.78185709341454, -2.78185709341454, -1.10385655142089},
- {0.981510846139814, -0.62434881066488, 3.60585965680469, -3.60585965680469, -0.357162035474935}};
+ {0.849514990619556, 2.05746131912512, 0.792053671494432, -0.792053671494432, -2.90697630974468},
+ {0.894541420222117, 1.14264217923257, 1.75189924098954, -1.75189924098954, -2.03718359945469},
+ {0.942856822417714, 0.16099972900317, 2.78185709341454, -2.78185709341454, -1.10385655142088},
+ {0.981510846139814, -0.62434881066488, 3.60585965680469, -3.60585965680469, -0.357162035474934}};
// Array of non-zero columns
static const unsigned int nzc2[5] = {0, 1, 3, 4, 5};
@@ -39187,6 +40927,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -39333,6 +41088,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 165
@@ -39387,9 +41157,9 @@ public:
A[13] = 0.0;
A[14] = 0.0;
A[15] = 0.0;
- A[16] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[17] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[18] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[16] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[17] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[18] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[19] = 0.0;
A[20] = 0.0;
A[21] = 0.0;
@@ -39402,7 +41172,7 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = 0.0;
- A[31] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[31] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[32] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[33] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[34] = 0.0;
@@ -39417,9 +41187,9 @@ public:
A[43] = 0.0;
A[44] = 0.0;
A[45] = 0.0;
- A[46] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[46] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[47] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[48] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[48] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[49] = 0.0;
A[50] = 0.0;
A[51] = 0.0;
@@ -39483,9 +41253,9 @@ public:
A[109] = 0.0;
A[110] = 0.0;
A[111] = 0.0;
- A[112] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[113] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[114] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[112] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[113] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[114] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[115] = 0.0;
A[116] = 0.0;
A[117] = 0.0;
@@ -39498,7 +41268,7 @@ public:
A[124] = 0.0;
A[125] = 0.0;
A[126] = 0.0;
- A[127] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[127] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[128] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[129] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[130] = 0.0;
@@ -39513,9 +41283,9 @@ public:
A[139] = 0.0;
A[140] = 0.0;
A[141] = 0.0;
- A[142] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[142] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[143] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[144] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[144] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[145] = 0.0;
A[146] = 0.0;
A[147] = 0.0;
@@ -39580,7 +41350,7 @@ public:
A[206] = 0.0;
A[207] = 0.0;
A[208] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[209] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[209] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
A[210] = 0.0;
A[211] = 0.0;
A[212] = 0.0;
@@ -39594,15 +41364,15 @@ public:
A[220] = 0.0;
A[221] = 0.0;
A[222] = 0.0;
- A[223] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[224] = -0.0166666666666666*G0_1 + 0.15*G0_2 + 0.2*G0_3;
+ A[223] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[224] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
break;
}
case 1:
{
A[0] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[1] = 0.0;
- A[2] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[2] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[3] = 0.0;
A[4] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[5] = 0.0;
@@ -39630,9 +41400,9 @@ public:
A[27] = 0.0;
A[28] = 0.0;
A[29] = 0.0;
- A[30] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[30] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[31] = 0.0;
- A[32] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[32] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[33] = 0.0;
A[34] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[35] = 0.0;
@@ -39698,7 +41468,7 @@ public:
A[95] = 0.0;
A[96] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[97] = 0.0;
- A[98] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[98] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[99] = 0.0;
A[100] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[101] = 0.0;
@@ -39726,9 +41496,9 @@ public:
A[123] = 0.0;
A[124] = 0.0;
A[125] = 0.0;
- A[126] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[126] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[127] = 0.0;
- A[128] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[128] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[129] = 0.0;
A[130] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[131] = 0.0;
@@ -39824,7 +41594,7 @@ public:
A[221] = 0.0;
A[222] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
A[223] = 0.0;
- A[224] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
+ A[224] = -0.0166666666666667*G0_0 + 0.15*G0_2 + 0.2*G0_4;
break;
}
case 2:
@@ -39845,7 +41615,7 @@ public:
A[13] = 0.0;
A[14] = 0.0;
A[15] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[16] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[16] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[17] = 0.0;
A[18] = 0.0;
A[19] = 0.0;
@@ -39941,7 +41711,7 @@ public:
A[109] = 0.0;
A[110] = 0.0;
A[111] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[112] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[112] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[113] = 0.0;
A[114] = 0.0;
A[115] = 0.0;
@@ -40022,7 +41792,7 @@ public:
A[190] = 0.0;
A[191] = 0.0;
A[192] = 0.15*G0_0 - 0.0166666666666667*G0_1 + 0.2*G0_5;
- A[193] = 0.0166666666666666*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
+ A[193] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
A[194] = 0.0;
A[195] = 0.0;
A[196] = 0.0;
@@ -40092,6 +41862,21 @@ public:
int cell_orientation_0,
int cell_orientation_1) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 12
// Number of operations (multiply-add pairs) for geometry tensor: 12
// Number of operations (multiply-add pairs) for tensor contraction: 990
@@ -40181,9 +41966,9 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = 0.0;
- A[31] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[32] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[31] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[32] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[34] = 0.0;
A[35] = 0.0;
A[36] = 0.0;
@@ -40211,7 +41996,7 @@ public:
A[58] = 0.0;
A[59] = 0.0;
A[60] = 0.0;
- A[61] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[61] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[62] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[63] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[64] = 0.0;
@@ -40241,9 +42026,9 @@ public:
A[88] = 0.0;
A[89] = 0.0;
A[90] = 0.0;
- A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[92] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[93] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[93] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.0;
@@ -40367,9 +42152,9 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = 0.0;
- A[217] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[218] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[217] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[218] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[220] = 0.0;
A[221] = 0.0;
A[222] = 0.0;
@@ -40397,7 +42182,7 @@ public:
A[244] = 0.0;
A[245] = 0.0;
A[246] = 0.0;
- A[247] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[247] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[248] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[249] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[250] = 0.0;
@@ -40427,9 +42212,9 @@ public:
A[274] = 0.0;
A[275] = 0.0;
A[276] = 0.0;
- A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[278] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[279] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[279] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[280] = 0.0;
A[281] = 0.0;
A[282] = 0.0;
@@ -40554,7 +42339,7 @@ public:
A[401] = 0.0;
A[402] = 0.0;
A[403] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[404] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[404] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
A[405] = 0.0;
A[406] = 0.0;
A[407] = 0.0;
@@ -40583,8 +42368,8 @@ public:
A[430] = 0.0;
A[431] = 0.0;
A[432] = 0.0;
- A[433] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[434] = -0.0166666666666666*G0_1 + 0.15*G0_2 + 0.2*G0_3;
+ A[433] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[434] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -40646,9 +42431,9 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = 0.0;
- A[496] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[497] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[496] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[497] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[499] = 0.0;
A[500] = 0.0;
A[501] = 0.0;
@@ -40676,7 +42461,7 @@ public:
A[523] = 0.0;
A[524] = 0.0;
A[525] = 0.0;
- A[526] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[526] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[527] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[528] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[529] = 0.0;
@@ -40706,9 +42491,9 @@ public:
A[553] = 0.0;
A[554] = 0.0;
A[555] = 0.0;
- A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[557] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[558] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[558] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[559] = 0.0;
A[560] = 0.0;
A[561] = 0.0;
@@ -40832,9 +42617,9 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = 0.0;
- A[682] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[683] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[682] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[683] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[685] = 0.0;
A[686] = 0.0;
A[687] = 0.0;
@@ -40862,7 +42647,7 @@ public:
A[709] = 0.0;
A[710] = 0.0;
A[711] = 0.0;
- A[712] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[712] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[713] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[714] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[715] = 0.0;
@@ -40892,9 +42677,9 @@ public:
A[739] = 0.0;
A[740] = 0.0;
A[741] = 0.0;
- A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[743] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[744] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[744] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[745] = 0.0;
A[746] = 0.0;
A[747] = 0.0;
@@ -41019,7 +42804,7 @@ public:
A[866] = 0.0;
A[867] = 0.0;
A[868] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[869] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[869] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
A[870] = 0.0;
A[871] = 0.0;
A[872] = 0.0;
@@ -41048,8 +42833,8 @@ public:
A[895] = 0.0;
A[896] = 0.0;
A[897] = 0.0;
- A[898] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[899] = -0.0166666666666666*G1_7 + 0.15*G1_8 + 0.2*G1_9;
+ A[898] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[899] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
break;
}
case 1:
@@ -41085,9 +42870,9 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = 0.0;
- A[31] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[32] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[31] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[32] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[34] = 0.0;
A[35] = 0.0;
A[36] = 0.0;
@@ -41115,7 +42900,7 @@ public:
A[58] = 0.0;
A[59] = 0.0;
A[60] = 0.0;
- A[61] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[61] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[62] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[63] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[64] = 0.0;
@@ -41145,9 +42930,9 @@ public:
A[88] = 0.0;
A[89] = 0.0;
A[90] = 0.0;
- A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[92] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[93] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[93] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.0;
@@ -41271,9 +43056,9 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = 0.0;
- A[217] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[218] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[217] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[218] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[220] = 0.0;
A[221] = 0.0;
A[222] = 0.0;
@@ -41301,7 +43086,7 @@ public:
A[244] = 0.0;
A[245] = 0.0;
A[246] = 0.0;
- A[247] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[247] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[248] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[249] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[250] = 0.0;
@@ -41331,9 +43116,9 @@ public:
A[274] = 0.0;
A[275] = 0.0;
A[276] = 0.0;
- A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[278] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[279] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[279] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[280] = 0.0;
A[281] = 0.0;
A[282] = 0.0;
@@ -41458,7 +43243,7 @@ public:
A[401] = 0.0;
A[402] = 0.0;
A[403] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[404] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[404] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
A[405] = 0.0;
A[406] = 0.0;
A[407] = 0.0;
@@ -41487,8 +43272,8 @@ public:
A[430] = 0.0;
A[431] = 0.0;
A[432] = 0.0;
- A[433] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[434] = -0.0166666666666666*G0_1 + 0.15*G0_2 + 0.2*G0_3;
+ A[433] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[434] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -41521,7 +43306,7 @@ public:
A[464] = 0.0;
A[465] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[466] = 0.0;
- A[467] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[467] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[468] = 0.0;
A[469] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[470] = 0.0;
@@ -41579,9 +43364,9 @@ public:
A[522] = 0.0;
A[523] = 0.0;
A[524] = 0.0;
- A[525] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[525] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[526] = 0.0;
- A[527] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[527] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[528] = 0.0;
A[529] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[530] = 0.0;
@@ -41707,7 +43492,7 @@ public:
A[650] = 0.0;
A[651] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[652] = 0.0;
- A[653] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[653] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[654] = 0.0;
A[655] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[656] = 0.0;
@@ -41765,9 +43550,9 @@ public:
A[708] = 0.0;
A[709] = 0.0;
A[710] = 0.0;
- A[711] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[711] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[712] = 0.0;
- A[713] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[713] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[714] = 0.0;
A[715] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[716] = 0.0;
@@ -41953,7 +43738,7 @@ public:
A[896] = 0.0;
A[897] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
A[898] = 0.0;
- A[899] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
+ A[899] = -0.0166666666666667*G1_6 + 0.15*G1_8 + 0.2*G1_10;
break;
}
case 2:
@@ -41989,9 +43774,9 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = 0.0;
- A[31] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[32] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[31] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[32] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[33] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[34] = 0.0;
A[35] = 0.0;
A[36] = 0.0;
@@ -42019,7 +43804,7 @@ public:
A[58] = 0.0;
A[59] = 0.0;
A[60] = 0.0;
- A[61] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[61] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[62] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[63] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[64] = 0.0;
@@ -42049,9 +43834,9 @@ public:
A[88] = 0.0;
A[89] = 0.0;
A[90] = 0.0;
- A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[91] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[92] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[93] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[93] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.0;
@@ -42175,9 +43960,9 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = 0.0;
- A[217] = 0.0928571428571428*G0_1 - 0.00714285714285713*G0_2 + 0.0476190476190476*G0_3;
- A[218] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
- A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[217] = 0.0928571428571428*G0_1 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_3;
+ A[218] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[219] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[220] = 0.0;
A[221] = 0.0;
A[222] = 0.0;
@@ -42205,7 +43990,7 @@ public:
A[244] = 0.0;
A[245] = 0.0;
A[246] = 0.0;
- A[247] = -0.00714285714285713*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
+ A[247] = -0.00714285714285714*G0_1 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_3;
A[248] = -0.00714285714285714*G0_1 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_3;
A[249] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
A[250] = 0.0;
@@ -42235,9 +44020,9 @@ public:
A[274] = 0.0;
A[275] = 0.0;
A[276] = 0.0;
- A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.038095238095238*G0_3;
+ A[277] = 0.0476190476190476*G0_1 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_3;
A[278] = -0.019047619047619*G0_1 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_3;
- A[279] = 0.038095238095238*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
+ A[279] = 0.0380952380952381*G0_1 + 0.0380952380952381*G0_2 + 0.457142857142857*G0_3;
A[280] = 0.0;
A[281] = 0.0;
A[282] = 0.0;
@@ -42362,7 +44147,7 @@ public:
A[401] = 0.0;
A[402] = 0.0;
A[403] = 0.15*G0_1 - 0.0166666666666666*G0_2 + 0.2*G0_3;
- A[404] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[404] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
A[405] = 0.0;
A[406] = 0.0;
A[407] = 0.0;
@@ -42391,8 +44176,8 @@ public:
A[430] = 0.0;
A[431] = 0.0;
A[432] = 0.0;
- A[433] = 0.0166666666666666*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
- A[434] = -0.0166666666666666*G0_1 + 0.15*G0_2 + 0.2*G0_3;
+ A[433] = 0.0166666666666667*G0_1 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_3;
+ A[434] = -0.0166666666666667*G0_1 + 0.15*G0_2 + 0.2*G0_3;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -42454,7 +44239,7 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[496] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[496] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[497] = 0.0;
A[498] = 0.0;
A[499] = 0.0;
@@ -42640,7 +44425,7 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[682] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[682] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[683] = 0.0;
A[684] = 0.0;
A[685] = 0.0;
@@ -42796,7 +44581,7 @@ public:
A[835] = 0.0;
A[836] = 0.0;
A[837] = 0.15*G1_6 - 0.0166666666666667*G1_7 + 0.2*G1_11;
- A[838] = 0.0166666666666666*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
+ A[838] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
A[839] = 0.0;
A[840] = 0.0;
A[841] = 0.0;
@@ -42872,7 +44657,7 @@ public:
{
A[0] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[1] = 0.0;
- A[2] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[2] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[3] = 0.0;
A[4] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[5] = 0.0;
@@ -42930,9 +44715,9 @@ public:
A[57] = 0.0;
A[58] = 0.0;
A[59] = 0.0;
- A[60] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[60] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[61] = 0.0;
- A[62] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[62] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[63] = 0.0;
A[64] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[65] = 0.0;
@@ -43058,7 +44843,7 @@ public:
A[185] = 0.0;
A[186] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[187] = 0.0;
- A[188] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[188] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[189] = 0.0;
A[190] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[191] = 0.0;
@@ -43116,9 +44901,9 @@ public:
A[243] = 0.0;
A[244] = 0.0;
A[245] = 0.0;
- A[246] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[246] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[247] = 0.0;
- A[248] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[248] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[249] = 0.0;
A[250] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[251] = 0.0;
@@ -43304,7 +45089,7 @@ public:
A[431] = 0.0;
A[432] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
A[433] = 0.0;
- A[434] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
+ A[434] = -0.0166666666666667*G0_0 + 0.15*G0_2 + 0.2*G0_4;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -43366,9 +45151,9 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = 0.0;
- A[496] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[497] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[496] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[497] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[499] = 0.0;
A[500] = 0.0;
A[501] = 0.0;
@@ -43396,7 +45181,7 @@ public:
A[523] = 0.0;
A[524] = 0.0;
A[525] = 0.0;
- A[526] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[526] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[527] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[528] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[529] = 0.0;
@@ -43426,9 +45211,9 @@ public:
A[553] = 0.0;
A[554] = 0.0;
A[555] = 0.0;
- A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[557] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[558] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[558] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[559] = 0.0;
A[560] = 0.0;
A[561] = 0.0;
@@ -43552,9 +45337,9 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = 0.0;
- A[682] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[683] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[682] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[683] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[685] = 0.0;
A[686] = 0.0;
A[687] = 0.0;
@@ -43582,7 +45367,7 @@ public:
A[709] = 0.0;
A[710] = 0.0;
A[711] = 0.0;
- A[712] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[712] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[713] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[714] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[715] = 0.0;
@@ -43612,9 +45397,9 @@ public:
A[739] = 0.0;
A[740] = 0.0;
A[741] = 0.0;
- A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[743] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[744] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[744] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[745] = 0.0;
A[746] = 0.0;
A[747] = 0.0;
@@ -43739,7 +45524,7 @@ public:
A[866] = 0.0;
A[867] = 0.0;
A[868] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[869] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[869] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
A[870] = 0.0;
A[871] = 0.0;
A[872] = 0.0;
@@ -43768,15 +45553,15 @@ public:
A[895] = 0.0;
A[896] = 0.0;
A[897] = 0.0;
- A[898] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[899] = -0.0166666666666666*G1_7 + 0.15*G1_8 + 0.2*G1_9;
+ A[898] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[899] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
break;
}
case 1:
{
A[0] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[1] = 0.0;
- A[2] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[2] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[3] = 0.0;
A[4] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[5] = 0.0;
@@ -43834,9 +45619,9 @@ public:
A[57] = 0.0;
A[58] = 0.0;
A[59] = 0.0;
- A[60] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[60] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[61] = 0.0;
- A[62] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[62] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[63] = 0.0;
A[64] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[65] = 0.0;
@@ -43962,7 +45747,7 @@ public:
A[185] = 0.0;
A[186] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[187] = 0.0;
- A[188] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[188] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[189] = 0.0;
A[190] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[191] = 0.0;
@@ -44020,9 +45805,9 @@ public:
A[243] = 0.0;
A[244] = 0.0;
A[245] = 0.0;
- A[246] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[246] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[247] = 0.0;
- A[248] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[248] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[249] = 0.0;
A[250] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[251] = 0.0;
@@ -44208,7 +45993,7 @@ public:
A[431] = 0.0;
A[432] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
A[433] = 0.0;
- A[434] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
+ A[434] = -0.0166666666666667*G0_0 + 0.15*G0_2 + 0.2*G0_4;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -44241,7 +46026,7 @@ public:
A[464] = 0.0;
A[465] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[466] = 0.0;
- A[467] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[467] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[468] = 0.0;
A[469] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[470] = 0.0;
@@ -44299,9 +46084,9 @@ public:
A[522] = 0.0;
A[523] = 0.0;
A[524] = 0.0;
- A[525] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[525] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[526] = 0.0;
- A[527] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[527] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[528] = 0.0;
A[529] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[530] = 0.0;
@@ -44427,7 +46212,7 @@ public:
A[650] = 0.0;
A[651] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[652] = 0.0;
- A[653] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[653] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[654] = 0.0;
A[655] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[656] = 0.0;
@@ -44485,9 +46270,9 @@ public:
A[708] = 0.0;
A[709] = 0.0;
A[710] = 0.0;
- A[711] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[711] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[712] = 0.0;
- A[713] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[713] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[714] = 0.0;
A[715] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[716] = 0.0;
@@ -44673,14 +46458,14 @@ public:
A[896] = 0.0;
A[897] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
A[898] = 0.0;
- A[899] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
+ A[899] = -0.0166666666666667*G1_6 + 0.15*G1_8 + 0.2*G1_10;
break;
}
case 2:
{
A[0] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[1] = 0.0;
- A[2] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[2] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[3] = 0.0;
A[4] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[5] = 0.0;
@@ -44738,9 +46523,9 @@ public:
A[57] = 0.0;
A[58] = 0.0;
A[59] = 0.0;
- A[60] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[60] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[61] = 0.0;
- A[62] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[62] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[63] = 0.0;
A[64] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[65] = 0.0;
@@ -44866,7 +46651,7 @@ public:
A[185] = 0.0;
A[186] = 0.0928571428571428*G0_0 - 0.00714285714285714*G0_2 + 0.0476190476190476*G0_4;
A[187] = 0.0;
- A[188] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[188] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[189] = 0.0;
A[190] = 0.0476190476190476*G0_0 - 0.019047619047619*G0_2 + 0.0380952380952381*G0_4;
A[191] = 0.0;
@@ -44924,9 +46709,9 @@ public:
A[243] = 0.0;
A[244] = 0.0;
A[245] = 0.0;
- A[246] = -0.00714285714285714*G0_0 - 0.00714285714285713*G0_2 - 0.019047619047619*G0_4;
+ A[246] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_2 - 0.019047619047619*G0_4;
A[247] = 0.0;
- A[248] = -0.00714285714285713*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
+ A[248] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_2 + 0.0476190476190476*G0_4;
A[249] = 0.0;
A[250] = -0.019047619047619*G0_0 + 0.0476190476190476*G0_2 + 0.0380952380952381*G0_4;
A[251] = 0.0;
@@ -45112,7 +46897,7 @@ public:
A[431] = 0.0;
A[432] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_2 + 0.133333333333333*G0_4;
A[433] = 0.0;
- A[434] = -0.0166666666666666*G0_0 + 0.15*G0_2 + 0.2*G0_4;
+ A[434] = -0.0166666666666667*G0_0 + 0.15*G0_2 + 0.2*G0_4;
A[435] = 0.0;
A[436] = 0.0;
A[437] = 0.0;
@@ -45174,7 +46959,7 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[496] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[496] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[497] = 0.0;
A[498] = 0.0;
A[499] = 0.0;
@@ -45360,7 +47145,7 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[682] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[682] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[683] = 0.0;
A[684] = 0.0;
A[685] = 0.0;
@@ -45516,7 +47301,7 @@ public:
A[835] = 0.0;
A[836] = 0.0;
A[837] = 0.15*G1_6 - 0.0166666666666667*G1_7 + 0.2*G1_11;
- A[838] = 0.0166666666666666*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
+ A[838] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
A[839] = 0.0;
A[840] = 0.0;
A[841] = 0.0;
@@ -45621,7 +47406,7 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[31] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[31] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[32] = 0.0;
A[33] = 0.0;
A[34] = 0.0;
@@ -45807,7 +47592,7 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[217] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[217] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[218] = 0.0;
A[219] = 0.0;
A[220] = 0.0;
@@ -45963,7 +47748,7 @@ public:
A[370] = 0.0;
A[371] = 0.0;
A[372] = 0.15*G0_0 - 0.0166666666666667*G0_1 + 0.2*G0_5;
- A[373] = 0.0166666666666666*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
+ A[373] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
A[374] = 0.0;
A[375] = 0.0;
A[376] = 0.0;
@@ -46086,9 +47871,9 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = 0.0;
- A[496] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[497] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[496] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[497] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[498] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[499] = 0.0;
A[500] = 0.0;
A[501] = 0.0;
@@ -46116,7 +47901,7 @@ public:
A[523] = 0.0;
A[524] = 0.0;
A[525] = 0.0;
- A[526] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[526] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[527] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[528] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[529] = 0.0;
@@ -46146,9 +47931,9 @@ public:
A[553] = 0.0;
A[554] = 0.0;
A[555] = 0.0;
- A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[556] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[557] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[558] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[558] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[559] = 0.0;
A[560] = 0.0;
A[561] = 0.0;
@@ -46272,9 +48057,9 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = 0.0;
- A[682] = 0.0928571428571428*G1_7 - 0.00714285714285713*G1_8 + 0.0476190476190476*G1_9;
- A[683] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
- A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[682] = 0.0928571428571428*G1_7 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_9;
+ A[683] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[684] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[685] = 0.0;
A[686] = 0.0;
A[687] = 0.0;
@@ -46302,7 +48087,7 @@ public:
A[709] = 0.0;
A[710] = 0.0;
A[711] = 0.0;
- A[712] = -0.00714285714285713*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
+ A[712] = -0.00714285714285714*G1_7 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_9;
A[713] = -0.00714285714285714*G1_7 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_9;
A[714] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
A[715] = 0.0;
@@ -46332,9 +48117,9 @@ public:
A[739] = 0.0;
A[740] = 0.0;
A[741] = 0.0;
- A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.038095238095238*G1_9;
+ A[742] = 0.0476190476190476*G1_7 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_9;
A[743] = -0.019047619047619*G1_7 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_9;
- A[744] = 0.038095238095238*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
+ A[744] = 0.0380952380952381*G1_7 + 0.0380952380952381*G1_8 + 0.457142857142857*G1_9;
A[745] = 0.0;
A[746] = 0.0;
A[747] = 0.0;
@@ -46459,7 +48244,7 @@ public:
A[866] = 0.0;
A[867] = 0.0;
A[868] = 0.15*G1_7 - 0.0166666666666666*G1_8 + 0.2*G1_9;
- A[869] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[869] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
A[870] = 0.0;
A[871] = 0.0;
A[872] = 0.0;
@@ -46488,8 +48273,8 @@ public:
A[895] = 0.0;
A[896] = 0.0;
A[897] = 0.0;
- A[898] = 0.0166666666666666*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
- A[899] = -0.0166666666666666*G1_7 + 0.15*G1_8 + 0.2*G1_9;
+ A[898] = 0.0166666666666667*G1_7 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_9;
+ A[899] = -0.0166666666666667*G1_7 + 0.15*G1_8 + 0.2*G1_9;
break;
}
case 1:
@@ -46525,7 +48310,7 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[31] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[31] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[32] = 0.0;
A[33] = 0.0;
A[34] = 0.0;
@@ -46711,7 +48496,7 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[217] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[217] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[218] = 0.0;
A[219] = 0.0;
A[220] = 0.0;
@@ -46867,7 +48652,7 @@ public:
A[370] = 0.0;
A[371] = 0.0;
A[372] = 0.15*G0_0 - 0.0166666666666667*G0_1 + 0.2*G0_5;
- A[373] = 0.0166666666666666*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
+ A[373] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
A[374] = 0.0;
A[375] = 0.0;
A[376] = 0.0;
@@ -46961,7 +48746,7 @@ public:
A[464] = 0.0;
A[465] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[466] = 0.0;
- A[467] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[467] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[468] = 0.0;
A[469] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[470] = 0.0;
@@ -47019,9 +48804,9 @@ public:
A[522] = 0.0;
A[523] = 0.0;
A[524] = 0.0;
- A[525] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[525] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[526] = 0.0;
- A[527] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[527] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[528] = 0.0;
A[529] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[530] = 0.0;
@@ -47147,7 +48932,7 @@ public:
A[650] = 0.0;
A[651] = 0.0928571428571428*G1_6 - 0.00714285714285714*G1_8 + 0.0476190476190476*G1_10;
A[652] = 0.0;
- A[653] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[653] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[654] = 0.0;
A[655] = 0.0476190476190476*G1_6 - 0.019047619047619*G1_8 + 0.0380952380952381*G1_10;
A[656] = 0.0;
@@ -47205,9 +48990,9 @@ public:
A[708] = 0.0;
A[709] = 0.0;
A[710] = 0.0;
- A[711] = -0.00714285714285714*G1_6 - 0.00714285714285713*G1_8 - 0.019047619047619*G1_10;
+ A[711] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_8 - 0.019047619047619*G1_10;
A[712] = 0.0;
- A[713] = -0.00714285714285713*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
+ A[713] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_8 + 0.0476190476190476*G1_10;
A[714] = 0.0;
A[715] = -0.019047619047619*G1_6 + 0.0476190476190476*G1_8 + 0.0380952380952381*G1_10;
A[716] = 0.0;
@@ -47393,7 +49178,7 @@ public:
A[896] = 0.0;
A[897] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_8 + 0.133333333333333*G1_10;
A[898] = 0.0;
- A[899] = -0.0166666666666666*G1_6 + 0.15*G1_8 + 0.2*G1_10;
+ A[899] = -0.0166666666666667*G1_6 + 0.15*G1_8 + 0.2*G1_10;
break;
}
case 2:
@@ -47429,7 +49214,7 @@ public:
A[28] = 0.0;
A[29] = 0.0;
A[30] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[31] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[31] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[32] = 0.0;
A[33] = 0.0;
A[34] = 0.0;
@@ -47615,7 +49400,7 @@ public:
A[214] = 0.0;
A[215] = 0.0;
A[216] = -0.00714285714285714*G0_0 - 0.00714285714285714*G0_1 - 0.019047619047619*G0_5;
- A[217] = -0.00714285714285714*G0_0 + 0.0928571428571428*G0_1 + 0.0476190476190476*G0_5;
+ A[217] = -0.00714285714285714*G0_0 + 0.0928571428571427*G0_1 + 0.0476190476190476*G0_5;
A[218] = 0.0;
A[219] = 0.0;
A[220] = 0.0;
@@ -47771,7 +49556,7 @@ public:
A[370] = 0.0;
A[371] = 0.0;
A[372] = 0.15*G0_0 - 0.0166666666666667*G0_1 + 0.2*G0_5;
- A[373] = 0.0166666666666666*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
+ A[373] = 0.0166666666666667*G0_0 + 0.0166666666666667*G0_1 + 0.133333333333333*G0_5;
A[374] = 0.0;
A[375] = 0.0;
A[376] = 0.0;
@@ -47894,7 +49679,7 @@ public:
A[493] = 0.0;
A[494] = 0.0;
A[495] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[496] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[496] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[497] = 0.0;
A[498] = 0.0;
A[499] = 0.0;
@@ -48080,7 +49865,7 @@ public:
A[679] = 0.0;
A[680] = 0.0;
A[681] = -0.00714285714285714*G1_6 - 0.00714285714285714*G1_7 - 0.019047619047619*G1_11;
- A[682] = -0.00714285714285714*G1_6 + 0.0928571428571428*G1_7 + 0.0476190476190476*G1_11;
+ A[682] = -0.00714285714285714*G1_6 + 0.0928571428571427*G1_7 + 0.0476190476190476*G1_11;
A[683] = 0.0;
A[684] = 0.0;
A[685] = 0.0;
@@ -48236,7 +50021,7 @@ public:
A[835] = 0.0;
A[836] = 0.0;
A[837] = 0.15*G1_6 - 0.0166666666666667*G1_7 + 0.2*G1_11;
- A[838] = 0.0166666666666666*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
+ A[838] = 0.0166666666666667*G1_6 + 0.0166666666666667*G1_7 + 0.133333333333333*G1_11;
A[839] = 0.0;
A[840] = 0.0;
A[841] = 0.0;
@@ -48336,6 +50121,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 7
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 7
+ // quadrature_degree: 7
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -48360,22 +50160,22 @@ public:
// Values of basis functions at quadrature points.
static const double FE0[16][6] = \
- {{0.662333821555697, -0.0568951398028818, -0.0505824176867471, 0.0149537603843903, 0.200419467218139, 0.229770508331402},
- {0.232768098097707, -0.0451680102655678, -0.123558905237647, 0.0556012872999084, 0.745202550451633, 0.135154979653967},
- {-0.0871888841136516, -0.0272402669959926, 0.0975651531361618, 0.0674912629327908, 0.904559295532719, 0.0448134395079725},
- {-0.0962269117343233, -0.0095154582353662, 0.619786046331442, 0.0333903417359317, 0.447517836913622, 0.00504814498869295},
+ {{0.662333821555697, -0.0568951398028819, -0.0505824176867471, 0.0149537603843904, 0.200419467218139, 0.229770508331402},
+ {0.232768098097706, -0.0451680102655679, -0.123558905237647, 0.0556012872999084, 0.745202550451633, 0.135154979653967},
+ {-0.0871888841136517, -0.0272402669959927, 0.0975651531361618, 0.0674912629327908, 0.904559295532719, 0.0448134395079726},
+ {-0.0962269117343233, -0.00951545823536624, 0.619786046331442, 0.0333903417359318, 0.447517836913622, 0.00504814498869313},
{0.166437496959, -0.117517795097495, -0.0505824176867471, 0.0710752064609913, 0.144298021141538, 0.786289488222712},
{-0.0150116894819879, -0.124742294148215, -0.123558905237647, 0.264272856643007, 0.536530981108534, 0.462509051116308},
{-0.123319106052515, -0.0996510837722764, 0.0975651531361618, 0.320785897590582, 0.651264660874928, 0.15335447822312},
- {-0.0761017150886652, -0.0418675873966577, 0.619786046331442, 0.158704257101893, 0.322203921547661, 0.0172750775043263},
- {-0.117517795097495, 0.166437496959, -0.0505824176867471, 0.144298021141538, 0.0710752064609913, 0.786289488222712},
+ {-0.0761017150886652, -0.0418675873966578, 0.619786046331442, 0.158704257101893, 0.322203921547661, 0.0172750775043265},
+ {-0.117517795097495, 0.166437496959, -0.0505824176867471, 0.144298021141538, 0.0710752064609912, 0.786289488222712},
{-0.124742294148215, -0.0150116894819881, -0.123558905237647, 0.536530981108534, 0.264272856643007, 0.462509051116308},
{-0.0996510837722763, -0.123319106052515, 0.0975651531361618, 0.651264660874928, 0.320785897590582, 0.15335447822312},
- {-0.0418675873966577, -0.0761017150886653, 0.619786046331442, 0.322203921547661, 0.158704257101893, 0.0172750775043263},
- {-0.0568951398028819, 0.662333821555697, -0.0505824176867471, 0.200419467218139, 0.0149537603843903, 0.229770508331402},
- {-0.0451680102655678, 0.232768098097706, -0.123558905237647, 0.745202550451633, 0.0556012872999085, 0.135154979653967},
- {-0.0272402669959926, -0.0871888841136518, 0.0975651531361618, 0.904559295532719, 0.0674912629327909, 0.0448134395079725},
- {-0.00951545823536613, -0.0962269117343234, 0.619786046331442, 0.447517836913623, 0.0333903417359314, 0.0050481449886929}};
+ {-0.0418675873966576, -0.0761017150886653, 0.619786046331442, 0.322203921547661, 0.158704257101893, 0.0172750775043265},
+ {-0.0568951398028818, 0.662333821555697, -0.0505824176867471, 0.200419467218139, 0.0149537603843902, 0.229770508331402},
+ {-0.0451680102655678, 0.232768098097706, -0.123558905237647, 0.745202550451633, 0.0556012872999084, 0.135154979653967},
+ {-0.0272402669959926, -0.0871888841136517, 0.0975651531361618, 0.904559295532719, 0.0674912629327908, 0.0448134395079726},
+ {-0.00951545823536606, -0.0962269117343234, 0.619786046331442, 0.447517836913623, 0.0333903417359313, 0.00504814498869308}};
// Array of non-zero columns
static const unsigned int nzc2[6] = {0, 1, 2, 3, 4, 5};
@@ -48384,22 +50184,22 @@ public:
static const unsigned int nzc5[6] = {6, 7, 8, 9, 10, 11};
static const double FE0_D01[16][5] = \
- {{-2.50971523732187, -0.771583215541929, 0.261867978220049, 3.28129845286381, -0.261867978220057},
- {-1.69178745260203, 0.107372054552496, 0.200840492845468, 1.58441539804954, -0.200840492845477},
- {-0.549989933626782, 1.33436172947567, 0.115648336897542, -0.784371795848882, -0.115648336897554},
- {0.479775683132657, 2.44096054262488, 0.0388151405077681, -2.92073622575753, -0.0388151405077809},
+ {{-2.50971523732188, -0.77158321554193, 0.261867978220048, 3.28129845286381, -0.261867978220056},
+ {-1.69178745260203, 0.107372054552496, 0.200840492845468, 1.58441539804954, -0.200840492845479},
+ {-0.549989933626782, 1.33436172947567, 0.115648336897544, -0.784371795848882, -0.115648336897555},
+ {0.479775683132657, 2.44096054262488, 0.0388151405077695, -2.92073622575753, -0.0388151405077818},
{-1.52692500656451, -0.771583215541929, 1.24465820897742, 2.29850822210644, -1.24465820897743},
{-0.938033306521738, 0.107372054552496, 0.95459463892576, 0.830661251969247, -0.954594638925772},
- {-0.11596185398604, 1.33436172947567, 0.549676416538283, -1.21839987548962, -0.549676416538296},
- {0.625448862250681, 2.44096054262488, 0.184488319625792, -3.06640940487556, -0.184488319625805},
+ {-0.11596185398604, 1.33436172947567, 0.549676416538284, -1.21839987548962, -0.549676416538297},
+ {0.625448862250681, 2.44096054262488, 0.184488319625793, -3.06640940487556, -0.184488319625806},
{-0.244658208977433, -0.771583215541929, 2.52692500656449, 1.01624142451937, -2.5269250065645},
- {0.0454053610742235, 0.107372054552497, 1.93803330652172, -0.152777415626714, -1.93803330652173},
- {0.450323583461698, 1.33436172947567, 1.11596185398602, -1.78468531293736, -1.11596185398603},
+ {0.0454053610742234, 0.107372054552497, 1.93803330652172, -0.152777415626713, -1.93803330652173},
+ {0.450323583461697, 1.33436172947567, 1.11596185398602, -1.78468531293736, -1.11596185398603},
{0.815511680374187, 2.44096054262488, 0.374551137749298, -3.25647222299906, -0.374551137749311},
{0.738132021779938, -0.771583215541929, 3.50971523732186, 0.0334511937619992, -3.50971523732187},
- {0.799159507154516, 0.107372054552496, 2.69178745260201, -0.906531561707005, -2.69178745260203},
+ {0.799159507154515, 0.107372054552496, 2.69178745260201, -0.906531561707004, -2.69178745260203},
{0.884351663102439, 1.33436172947567, 1.54998993362676, -2.2187133925781, -1.54998993362678},
- {0.961184859492211, 2.44096054262488, 0.520224316867321, -3.40214540211708, -0.520224316867335}};
+ {0.961184859492211, 2.44096054262488, 0.520224316867322, -3.40214540211708, -0.520224316867336}};
// Array of non-zero columns
static const unsigned int nzc0[5] = {0, 2, 3, 4, 5};
@@ -48412,21 +50212,21 @@ public:
static const double FE0_D10[16][5] = \
{{-2.50971523732187, -0.738132021779945, 0.228416784458069, -0.228416784458069, 3.24784725910182},
- {-1.69178745260203, -0.799159507154524, 1.10737205455249, -1.10737205455249, 2.49094695975655},
- {-0.549989933626778, -0.884351663102446, 2.33436172947566, -2.33436172947566, 1.43434159672922},
- {0.479775683132662, -0.961184859492217, 3.44096054262487, -3.44096054262487, 0.481409176359554},
+ {-1.69178745260203, -0.799159507154523, 1.10737205455249, -1.10737205455249, 2.49094695975655},
+ {-0.549989933626777, -0.884351663102445, 2.33436172947566, -2.33436172947566, 1.43434159672922},
+ {0.479775683132662, -0.961184859492216, 3.44096054262487, -3.44096054262487, 0.481409176359554},
{-1.5269250065645, 0.244658208977426, 0.228416784458069, -0.228416784458069, 1.28226679758707},
- {-0.938033306521733, -0.0454053610742298, 1.10737205455249, -1.10737205455249, 0.983438667595963},
+ {-0.938033306521733, -0.0454053610742294, 1.10737205455249, -1.10737205455249, 0.983438667595963},
{-0.115961853986035, -0.450323583461703, 2.33436172947566, -2.33436172947566, 0.566285437447738},
- {0.625448862250686, -0.815511680374193, 3.44096054262487, -3.44096054262487, 0.190062818123506},
- {-0.244658208977426, 1.5269250065645, 0.228416784458069, -0.228416784458069, -1.28226679758707},
- {0.0454053610742297, 0.938033306521733, 1.10737205455249, -1.10737205455249, -0.983438667595963},
- {0.450323583461703, 0.115961853986035, 2.33436172947566, -2.33436172947566, -0.566285437447739},
+ {0.625448862250686, -0.815511680374192, 3.44096054262487, -3.44096054262487, 0.190062818123506},
+ {-0.244658208977427, 1.5269250065645, 0.228416784458069, -0.228416784458069, -1.28226679758707},
+ {0.0454053610742293, 0.938033306521733, 1.10737205455249, -1.10737205455249, -0.983438667595962},
+ {0.450323583461703, 0.115961853986035, 2.33436172947566, -2.33436172947566, -0.566285437447738},
{0.815511680374192, -0.625448862250686, 3.44096054262487, -3.44096054262487, -0.190062818123506},
- {0.738132021779945, 2.50971523732187, 0.228416784458069, -0.228416784458069, -3.24784725910182},
- {0.799159507154523, 1.69178745260203, 1.10737205455249, -1.10737205455249, -2.49094695975655},
- {0.884351663102445, 0.549989933626778, 2.33436172947566, -2.33436172947566, -1.43434159672922},
- {0.961184859492216, -0.479775683132662, 3.44096054262487, -3.44096054262487, -0.481409176359555}};
+ {0.738132021779944, 2.50971523732187, 0.228416784458069, -0.228416784458069, -3.24784725910182},
+ {0.799159507154522, 1.69178745260203, 1.10737205455249, -1.10737205455249, -2.49094695975655},
+ {0.884351663102445, 0.549989933626777, 2.33436172947566, -2.33436172947566, -1.43434159672922},
+ {0.961184859492216, -0.479775683132662, 3.44096054262487, -3.44096054262487, -0.481409176359554}};
// Array of non-zero columns
static const unsigned int nzc1[5] = {0, 1, 3, 4, 5};
@@ -48612,6 +50412,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -48669,7 +50484,7 @@ public:
static const double FE1_f0[3][3] = \
{{0.687298334620742, -0.0872983346207417, 0.4},
{0.0, 0.0, 1.0},
- {-0.0872983346207416, 0.687298334620742, 0.4}};
+ {-0.0872983346207417, 0.687298334620742, 0.4}};
// Array of non-zero columns
static const unsigned int nzc3[3] = {1, 2, 3};
@@ -48879,6 +50694,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 292
// Number of operations (multiply-add pairs) for tensor contraction: 194
@@ -49094,7 +50924,7 @@ public:
const double G1_14_25 = det*w[1][14]*w[0][25]*(1.0);
// Compute element tensor
- A[0] = -0.0166666666666667*G0_0_0 + 0.00277777777777778*G0_0_1 + 0.00277777777777778*G0_0_2 + 0.0111111111111111*G0_0_3 + 0.00277777777777778*G0_1_0 - 0.0166666666666666*G0_1_1 + 0.00277777777777777*G0_1_2 + 0.0111111111111111*G0_1_4 + 0.00277777777777778*G0_2_0 + 0.00277777777777778*G0_2_1 - 0.0166666666666666*G0_2_2 + 0.0111111111111111*G0_2_5 + 0.0111111111111111*G0_3_0 - 0.0888888888888888*G0_3_3 - 0.0444444444444444*G0_3_4 - 0.0444444444444444*G0_3_5 + 0.0111111111111111*G0_4_1 [...]
+ A[0] = -0.0166666666666667*G0_0_0 + 0.00277777777777778*G0_0_1 + 0.00277777777777778*G0_0_2 + 0.0111111111111111*G0_0_3 + 0.00277777777777778*G0_1_0 - 0.0166666666666667*G0_1_1 + 0.00277777777777778*G0_1_2 + 0.0111111111111111*G0_1_4 + 0.00277777777777778*G0_2_0 + 0.00277777777777778*G0_2_1 - 0.0166666666666666*G0_2_2 + 0.0111111111111111*G0_2_5 + 0.0111111111111111*G0_3_0 - 0.0888888888888888*G0_3_3 - 0.0444444444444444*G0_3_4 - 0.0444444444444445*G0_3_5 + 0.0111111111111111*G0_4_1 [...]
}
};
@@ -49126,6 +50956,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 180
// Number of operations (multiply-add pairs) for tensor contraction: 136
@@ -49278,17 +51123,17 @@ public:
{
case 0:
{
- A[0] = -0.133333333333333*G0_1_1 + 0.0333333333333333*G0_1_2 - 0.0666666666666666*G0_1_3 + 0.0333333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0666666666666666*G0_2_3 - 0.0666666666666666*G0_3_1 - 0.0666666666666666*G0_3_2 - 0.533333333333333*G0_3_3 - 0.133333333333333*G0_7_7 + 0.0333333333333333*G0_7_8 - 0.0666666666666666*G0_7_9 + 0.0333333333333333*G0_8_7 - 0.133333333333333*G0_8_8 - 0.0666666666666666*G0_8_9 - 0.0666666666666666*G0_9_7 - 0.0666666666666666*G0_9_8 - 0.533 [...]
+ A[0] = -0.133333333333333*G0_1_1 + 0.0333333333333333*G0_1_2 - 0.0666666666666666*G0_1_3 + 0.0333333333333333*G0_2_1 - 0.133333333333333*G0_2_2 - 0.0666666666666667*G0_2_3 - 0.0666666666666666*G0_3_1 - 0.0666666666666667*G0_3_2 - 0.533333333333333*G0_3_3 - 0.133333333333333*G0_7_7 + 0.0333333333333333*G0_7_8 - 0.0666666666666666*G0_7_9 + 0.0333333333333333*G0_8_7 - 0.133333333333333*G0_8_8 - 0.0666666666666667*G0_8_9 - 0.0666666666666666*G0_9_7 - 0.0666666666666667*G0_9_8 - 0.533 [...]
break;
}
case 1:
{
- A[0] = -0.133333333333333*G0_0_0 + 0.0333333333333333*G0_0_2 - 0.0666666666666666*G0_0_4 + 0.0333333333333333*G0_2_0 - 0.133333333333333*G0_2_2 - 0.0666666666666666*G0_2_4 - 0.0666666666666666*G0_4_0 - 0.0666666666666666*G0_4_2 - 0.533333333333333*G0_4_4 - 0.133333333333333*G0_6_6 + 0.0333333333333333*G0_6_8 - 0.0666666666666666*G0_6_10 + 0.0333333333333333*G0_8_6 - 0.133333333333333*G0_8_8 - 0.0666666666666666*G0_8_10 - 0.0666666666666666*G0_10_6 - 0.0666666666666666*G0_10_8 - 0 [...]
+ A[0] = -0.133333333333333*G0_0_0 + 0.0333333333333333*G0_0_2 - 0.0666666666666666*G0_0_4 + 0.0333333333333333*G0_2_0 - 0.133333333333333*G0_2_2 - 0.0666666666666666*G0_2_4 - 0.0666666666666666*G0_4_0 - 0.0666666666666666*G0_4_2 - 0.533333333333333*G0_4_4 - 0.133333333333333*G0_6_6 + 0.0333333333333333*G0_6_8 - 0.0666666666666666*G0_6_10 + 0.0333333333333333*G0_8_6 - 0.133333333333333*G0_8_8 - 0.0666666666666666*G0_8_10 - 0.0666666666666666*G0_10_6 - 0.0666666666666666*G0_10_8 - 0 [...]
break;
}
case 2:
{
- A[0] = -0.133333333333333*G0_0_0 + 0.0333333333333333*G0_0_1 - 0.0666666666666666*G0_0_5 + 0.0333333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0666666666666666*G0_1_5 - 0.0666666666666666*G0_5_0 - 0.0666666666666666*G0_5_1 - 0.533333333333333*G0_5_5 - 0.133333333333333*G0_6_6 + 0.0333333333333333*G0_6_7 - 0.0666666666666666*G0_6_11 + 0.0333333333333333*G0_7_6 - 0.133333333333333*G0_7_7 - 0.0666666666666666*G0_7_11 - 0.0666666666666666*G0_11_6 - 0.0666666666666666*G0_11_7 - 0 [...]
+ A[0] = -0.133333333333333*G0_0_0 + 0.0333333333333333*G0_0_1 - 0.0666666666666667*G0_0_5 + 0.0333333333333333*G0_1_0 - 0.133333333333333*G0_1_1 - 0.0666666666666667*G0_1_5 - 0.0666666666666667*G0_5_0 - 0.0666666666666667*G0_5_1 - 0.533333333333333*G0_5_5 - 0.133333333333333*G0_6_6 + 0.0333333333333333*G0_6_7 - 0.0666666666666667*G0_6_11 + 0.0333333333333333*G0_7_6 - 0.133333333333333*G0_7_7 - 0.0666666666666667*G0_7_11 - 0.0666666666666667*G0_11_6 - 0.0666666666666667*G0_11_7 - 0 [...]
break;
}
}
@@ -49327,6 +51172,21 @@ public:
int cell_orientation_0,
int cell_orientation_1) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 12
// Number of operations (multiply-add pairs) for geometry tensor: 720
// Number of operations (multiply-add pairs) for tensor contraction: 1647
@@ -49853,20 +51713,20 @@ public:
{
case 0:
{
- A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666666*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666666*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666666*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666666*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666666*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
- A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666666*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666666*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666666*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666666*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666666*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
+ A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666667*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666667*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666667*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666667*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666667*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
+ A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666667*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666667*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666667*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666667*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666667*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
break;
}
case 1:
{
- A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666666*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666666*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666666*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666666*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666666*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
- A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666666*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666666*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666666*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666666*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666666*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
+ A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666667*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666667*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666667*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666667*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666667*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
+ A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666667*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666667*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666667*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666667*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666667*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
break;
}
case 2:
{
- A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666666*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666666*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666666*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666666*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666666*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
- A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666666*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666666*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666666*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666666*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666666*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
+ A[0] = -0.0666666666666667*G0_1_1 + 0.0166666666666667*G0_1_2 - 0.0333333333333333*G0_1_3 + 0.0166666666666667*G0_2_1 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_3 - 0.0333333333333333*G0_3_1 - 0.0333333333333333*G0_3_2 - 0.266666666666667*G0_3_3 - 0.0666666666666667*G0_7_7 + 0.0166666666666667*G0_7_8 - 0.0333333333333333*G0_7_9 + 0.0166666666666667*G0_8_7 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_9 - 0.0333333333333333*G0_9_7 - 0.0333333333333333*G0_9_8 - [...]
+ A[1] = -0.0666666666666667*G1_1_1 + 0.0166666666666667*G1_1_2 - 0.0333333333333333*G1_1_3 + 0.0166666666666667*G1_2_1 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_3 - 0.0333333333333333*G1_3_1 - 0.0333333333333333*G1_3_2 - 0.266666666666667*G1_3_3 - 0.0666666666666667*G1_7_7 + 0.0166666666666667*G1_7_8 - 0.0333333333333333*G1_7_9 + 0.0166666666666667*G1_8_7 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_9 - 0.0333333333333333*G1_9_7 - 0.0333333333333333*G1_9_8 - 0 [...]
break;
}
}
@@ -49879,20 +51739,20 @@ public:
{
case 0:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666666*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666666*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666666*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666666*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666667*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666667*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666667*G0_6_6 + 0.0166666666666667*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666667*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666667*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666667*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666667*G1_6_6 + 0.0166666666666667*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666667*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
break;
}
case 1:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666666*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666666*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666666*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666666*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666667*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666667*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666667*G0_6_6 + 0.0166666666666667*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666667*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666667*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666667*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666667*G1_6_6 + 0.0166666666666667*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666667*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
break;
}
case 2:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666666*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666666*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666666*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666666*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666667*G0_0_2 - 0.0333333333333333*G0_0_4 + 0.0166666666666667*G0_2_0 - 0.0666666666666667*G0_2_2 - 0.0333333333333333*G0_2_4 - 0.0333333333333333*G0_4_0 - 0.0333333333333333*G0_4_2 - 0.266666666666666*G0_4_4 - 0.0666666666666667*G0_6_6 + 0.0166666666666667*G0_6_8 - 0.0333333333333333*G0_6_10 + 0.0166666666666667*G0_8_6 - 0.0666666666666667*G0_8_8 - 0.0333333333333333*G0_8_10 - 0.0333333333333333*G0_10_6 - 0.0333333333333333*G0_10 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666667*G1_0_2 - 0.0333333333333333*G1_0_4 + 0.0166666666666667*G1_2_0 - 0.0666666666666667*G1_2_2 - 0.0333333333333333*G1_2_4 - 0.0333333333333333*G1_4_0 - 0.0333333333333333*G1_4_2 - 0.266666666666666*G1_4_4 - 0.0666666666666667*G1_6_6 + 0.0166666666666667*G1_6_8 - 0.0333333333333333*G1_6_10 + 0.0166666666666667*G1_8_6 - 0.0666666666666667*G1_8_8 - 0.0333333333333333*G1_8_10 - 0.0333333333333333*G1_10_6 - 0.0333333333333333*G1_10_8 [...]
break;
}
}
@@ -49905,20 +51765,20 @@ public:
{
case 0:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666666*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666666*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666666*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666666*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666667*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666667*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666667*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666667*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666667*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666667*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
break;
}
case 1:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666666*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666666*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666666*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666666*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666667*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666667*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666667*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666667*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666667*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666667*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
break;
}
case 2:
{
- A[0] = -0.0666666666666666*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666666*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666666*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666666*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
- A[1] = -0.0666666666666666*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666666*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666666*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666666*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
+ A[0] = -0.0666666666666667*G0_0_0 + 0.0166666666666666*G0_0_1 - 0.0333333333333333*G0_0_5 + 0.0166666666666666*G0_1_0 - 0.0666666666666667*G0_1_1 - 0.0333333333333333*G0_1_5 - 0.0333333333333333*G0_5_0 - 0.0333333333333333*G0_5_1 - 0.266666666666667*G0_5_5 - 0.0666666666666667*G0_6_6 + 0.0166666666666666*G0_6_7 - 0.0333333333333333*G0_6_11 + 0.0166666666666666*G0_7_6 - 0.0666666666666667*G0_7_7 - 0.0333333333333333*G0_7_11 - 0.0333333333333333*G0_11_6 - 0.0333333333333333*G0_11 [...]
+ A[1] = -0.0666666666666667*G1_0_0 + 0.0166666666666666*G1_0_1 - 0.0333333333333333*G1_0_5 + 0.0166666666666666*G1_1_0 - 0.0666666666666667*G1_1_1 - 0.0333333333333333*G1_1_5 - 0.0333333333333333*G1_5_0 - 0.0333333333333333*G1_5_1 - 0.266666666666667*G1_5_5 - 0.0666666666666667*G1_6_6 + 0.0166666666666666*G1_6_7 - 0.0333333333333333*G1_6_11 + 0.0166666666666666*G1_7_6 - 0.0666666666666667*G1_7_7 - 0.0333333333333333*G1_7_11 - 0.0333333333333333*G1_11_6 - 0.0333333333333333*G1_11_7 [...]
break;
}
}
@@ -49957,6 +51817,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 172
// Number of operations (multiply-add pairs) for tensor contraction: 2992
@@ -50089,193 +51964,193 @@ public:
const double G15_11_1 = det*w[0][11]*K[3]*(1.0);
// Compute element tensor
- A[0] = 0.5*G0_0_0_0 + 0.5*G0_0_0_1 + 0.5*G0_0_1_0 + 0.500000000000001*G0_0_1_1 + 0.5*G2_0_0_0 + 0.5*G2_0_0_1 + 0.5*G2_0_1_0 + 0.500000000000001*G2_0_1_1 - 0.030952380952381*G8_0_0 - 0.030952380952381*G8_0_1 + 0.00357142857142857*G8_1_0 + 0.00357142857142858*G8_1_1 + 0.00357142857142858*G8_2_0 + 0.00357142857142859*G8_2_1 - 0.00476190476190477*G8_3_0 - 0.00476190476190471*G8_3_1 - 0.0190476190476191*G8_4_0 - 0.0190476190476191*G8_4_1 - 0.0190476190476191*G8_5_0 - 0.0190476190476191*G8 [...]
- A[1] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_1_0 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_1_0 - 0.00714285714285719*G8_0_0 - 0.00357142857142856*G8_1_0 + 0.00436507936507937*G8_2_0 - 0.00793650793650793*G8_3_0 - 0.00634920634920638*G8_4_0 - 0.0126984126984127*G8_5_0 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 - 0.00357142857142856*G9_1_0 + 0.00436507936507936*G9_2_1 + 0.00158730158730159*G9_3_0 - 0.00634920634920631*G9_3_1 - 0.0015873015873015 [...]
- A[2] = 0.166666666666666*G0_0_0_1 + 0.166666666666666*G0_0_1_1 + 0.166666666666666*G2_0_0_1 + 0.166666666666666*G2_0_1_1 - 0.00714285714285714*G8_0_1 + 0.00436507936507936*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.00793650793650795*G8_3_1 - 0.0126984126984127*G8_4_1 - 0.00634920634920636*G8_5_1 + 0.00357142857142858*G9_0_0 + 0.00357142857142859*G9_0_1 + 0.00436507936507937*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.00158730158730162*G9_3_1 + 0.0063492063492063 [...]
- A[3] = 0.0095238095238095*G8_0_0 + 0.00952380952380934*G8_0_1 + 0.00158730158730159*G8_1_0 - 0.00634920634920631*G8_1_1 - 0.00634920634920634*G8_2_0 + 0.00158730158730162*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0190476190476189*G8_3_1 - 0.0126984126984127*G8_4_0 - 0.00634920634920631*G8_4_1 - 0.00634920634920634*G8_5_0 - 0.0126984126984127*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.00476190476190471*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_ [...]
- A[4] = -0.666666666666668*G0_0_0_1 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_0_1 - 0.666666666666668*G2_0_1_1 - 0.0095238095238095*G8_0_0 + 0.0380952380952382*G8_0_1 - 0.00158730158730159*G8_1_0 - 0.00793650793650796*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.019047619047619*G8_3_0 + 0.0126984126984126*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0317460317460317*G8_4_1 + 0.00634920634920634*G8_5_0 + 0.0253968253968254*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0_1 [...]
- A[5] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 + 0.0380952380952382*G8_0_0 - 0.00952380952380951*G8_0_1 + 0.00634920634920635*G8_1_1 - 0.00793650793650795*G8_2_0 - 0.00158730158730159*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 + 0.0253968253968254*G8_4_0 + 0.00634920634920635*G8_4_1 + 0.0317460317460318*G8_5_0 + 0.0126984126984127*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0_ [...]
- A[6] = -0.030952380952381*G10_0_0 - 0.030952380952381*G10_0_1 - 0.00714285714285719*G10_1_0 - 0.00714285714285714*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.00952380952380934*G10_3_1 - 0.0095238095238095*G10_4_0 + 0.0380952380952382*G10_4_1 + 0.0380952380952382*G10_5_0 - 0.00952380952380951*G10_5_1;
- A[7] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507936*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920635*G10_5_1;
- A[8] = 0.00357142857142858*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920633*G10_4_0 - 0.00793650793650795*G10_5_0 - 0.00158730158730159*G10_5_1;
- A[9] = -0.00476190476190477*G10_0_0 - 0.00476190476190471*G10_0_1 - 0.00793650793650794*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
- A[10] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920638*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
- A[11] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[12] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
+ A[0] = 0.5*G0_0_0_0 + 0.5*G0_0_0_1 + 0.5*G0_0_1_0 + 0.500000000000002*G0_0_1_1 + 0.5*G2_0_0_0 + 0.5*G2_0_0_1 + 0.5*G2_0_1_0 + 0.500000000000002*G2_0_1_1 - 0.030952380952381*G8_0_0 - 0.030952380952381*G8_0_1 + 0.00357142857142857*G8_1_0 + 0.00357142857142858*G8_1_1 + 0.00357142857142857*G8_2_0 + 0.00357142857142858*G8_2_1 - 0.00476190476190477*G8_3_0 - 0.0047619047619047*G8_3_1 - 0.0190476190476191*G8_4_0 - 0.0190476190476191*G8_4_1 - 0.0190476190476191*G8_5_0 - 0.019047619047619*G8_5 [...]
+ A[1] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_1_0 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_1_0 - 0.00714285714285719*G8_0_0 - 0.00357142857142856*G8_1_0 + 0.00436507936507937*G8_2_0 - 0.00793650793650793*G8_3_0 - 0.00634920634920637*G8_4_0 - 0.0126984126984127*G8_5_0 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 - 0.00357142857142856*G9_1_0 + 0.00436507936507937*G9_2_1 + 0.00158730158730159*G9_3_0 - 0.00634920634920631*G9_3_1 - 0.0015873015873015 [...]
+ A[2] = 0.166666666666667*G0_0_0_1 + 0.166666666666666*G0_0_1_1 + 0.166666666666667*G2_0_0_1 + 0.166666666666666*G2_0_1_1 - 0.00714285714285714*G8_0_1 + 0.00436507936507937*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.00793650793650795*G8_3_1 - 0.0126984126984127*G8_4_1 - 0.00634920634920636*G8_5_1 + 0.00357142857142857*G9_0_0 + 0.00357142857142858*G9_0_1 + 0.00436507936507937*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.00158730158730162*G9_3_1 + 0.0063492063492063 [...]
+ A[3] = 0.0095238095238095*G8_0_0 + 0.00952380952380934*G8_0_1 + 0.00158730158730159*G8_1_0 - 0.00634920634920631*G8_1_1 - 0.00634920634920634*G8_2_0 + 0.00158730158730162*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0190476190476189*G8_3_1 - 0.0126984126984127*G8_4_0 - 0.00634920634920631*G8_4_1 - 0.00634920634920635*G8_5_0 - 0.0126984126984127*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.0047619047619047*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_0 [...]
+ A[4] = -0.666666666666668*G0_0_0_1 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_0_1 - 0.666666666666668*G2_0_1_1 - 0.0095238095238095*G8_0_0 + 0.0380952380952382*G8_0_1 - 0.00158730158730159*G8_1_0 - 0.00793650793650796*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.019047619047619*G8_3_0 + 0.0126984126984126*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0317460317460317*G8_4_1 + 0.00634920634920635*G8_5_0 + 0.0253968253968254*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.0190476190476191*G9_0_1 [...]
+ A[5] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 + 0.0380952380952381*G8_0_0 - 0.00952380952380951*G8_0_1 + 0.00634920634920634*G8_1_1 - 0.00793650793650794*G8_2_0 - 0.00158730158730159*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 + 0.0253968253968254*G8_4_0 + 0.00634920634920635*G8_4_1 + 0.0317460317460318*G8_5_0 + 0.0126984126984127*G8_5_1 - 0.0190476190476191*G9_0_0 - 0.019047619047619*G9_0_1 [...]
+ A[6] = -0.030952380952381*G10_0_0 - 0.030952380952381*G10_0_1 - 0.00714285714285719*G10_1_0 - 0.00714285714285713*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.00952380952380934*G10_3_1 - 0.0095238095238095*G10_4_0 + 0.0380952380952382*G10_4_1 + 0.0380952380952381*G10_5_0 - 0.00952380952380951*G10_5_1;
+ A[7] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507937*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920634*G10_5_1;
+ A[8] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00793650793650794*G10_5_0 - 0.00158730158730159*G10_5_1;
+ A[9] = -0.00476190476190477*G10_0_0 - 0.0047619047619047*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
+ A[10] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920637*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
+ A[11] = -0.0190476190476191*G10_0_0 - 0.019047619047619*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920635*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920635*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[12] = 0.166666666666667*G4_0 + 0.166666666666668*G4_1;
A[13] = 0.0;
A[14] = 0.0;
- A[15] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_0_1 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_0_1 + 0.00357142857142857*G8_0_0 + 0.00357142857142858*G8_0_1 + 0.00714285714285716*G8_1_0 + 0.00714285714285705*G8_1_1 - 0.00436507936507936*G8_2_0 - 0.00436507936507934*G8_2_1 + 0.00634920634920635*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.00793650793650793*G8_4_0 + 0.00793650793650798*G8_4_1 + 0.0126984126984127*G8_5_0 + 0.0126984126984127*G8_5_1 + 0.0035714285714285 [...]
- A[16] = 0.5*G0_0_0_0 + 0.5*G2_0_0_0 - 0.00357142857142856*G8_0_0 + 0.0309523809523809*G8_1_0 - 0.00357142857142857*G8_2_0 + 0.019047619047619*G8_3_0 + 0.00476190476190477*G8_4_0 + 0.0190476190476191*G8_5_0 + 0.00714285714285716*G9_0_0 + 0.00714285714285705*G9_0_1 + 0.0309523809523809*G9_1_0 - 0.00714285714285712*G9_2_1 + 0.00952380952380949*G9_3_0 + 0.0476190476190473*G9_3_1 - 0.00952380952380949*G9_4_0 - 0.0380952380952381*G9_5_0 - 0.0476190476190476*G9_5_1 - 0.00357142857142856*G11 [...]
- A[17] = -0.166666666666667*G0_0_0_1 - 0.166666666666667*G2_0_0_1 + 0.00436507936507936*G8_0_1 - 0.00714285714285712*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.0126984126984127*G8_3_1 - 0.00793650793650795*G8_4_1 - 0.00634920634920636*G8_5_1 - 0.00436507936507936*G9_0_0 - 0.00436507936507934*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.00634920634920629*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.007936507936507 [...]
- A[18] = 0.666666666666664*G0_0_0_1 + 0.666666666666664*G2_0_0_1 + 0.00158730158730159*G8_0_0 - 0.00634920634920631*G8_0_1 + 0.00952380952380949*G8_1_0 + 0.0476190476190473*G8_1_1 - 0.00634920634920633*G8_2_0 - 0.00634920634920629*G8_2_1 - 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 - 0.019047619047619*G8_4_0 - 0.00634920634920621*G8_4_1 - 0.00634920634920634*G8_5_0 + 0.019047619047619*G8_5_1 + 0.00634920634920635*G9_0_0 + 0.00634920634920634*G9_0_1 + 0.019047619047619*G9_1_0 [...]
- A[19] = -0.00158730158730159*G8_0_0 - 0.00793650793650796*G8_0_1 - 0.00952380952380949*G8_1_0 + 0.00634920634920633*G8_2_0 + 0.0079365079365079*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.00634920634920637*G8_3_1 + 0.019047619047619*G8_4_0 + 0.00634920634920634*G8_5_0 - 0.00634920634920632*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650798*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920621*G9_3_1 + 0.019047619047619*G9_ [...]
- A[20] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 + 0.00634920634920635*G8_0_1 - 0.0380952380952381*G8_1_0 - 0.0476190476190476*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00634920634920634*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.019047619047619*G8_3_1 - 0.0126984126984127*G8_4_0 + 0.00634920634920634*G8_4_1 - 0.0317460317460318*G8_5_0 - 0.0190476190476191*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_ [...]
- A[21] = 0.00357142857142857*G10_0_0 + 0.00357142857142858*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507936*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920635*G10_5_1;
- A[22] = 0.00714285714285716*G10_0_0 + 0.00714285714285705*G10_0_1 + 0.0309523809523809*G10_1_0 - 0.00714285714285712*G10_2_1 + 0.00952380952380949*G10_3_0 + 0.0476190476190473*G10_3_1 - 0.00952380952380949*G10_4_0 - 0.0380952380952381*G10_5_0 - 0.0476190476190476*G10_5_1;
- A[23] = -0.00436507936507936*G10_0_0 - 0.00436507936507934*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.00634920634920629*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[24] = 0.00634920634920635*G10_0_0 + 0.00634920634920634*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.019047619047619*G10_5_1;
- A[25] = 0.00793650793650793*G10_0_0 + 0.00793650793650798*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920621*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[26] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00634920634920632*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[15] = 0.166666666666668*G0_0_0_0 + 0.166666666666666*G0_0_0_1 + 0.166666666666668*G2_0_0_0 + 0.166666666666666*G2_0_0_1 + 0.00357142857142857*G8_0_0 + 0.00357142857142858*G8_0_1 + 0.00714285714285716*G8_1_0 + 0.00714285714285705*G8_1_1 - 0.00436507936507936*G8_2_0 - 0.00436507936507935*G8_2_1 + 0.00634920634920636*G8_3_0 + 0.00634920634920635*G8_3_1 + 0.00793650793650794*G8_4_0 + 0.00793650793650799*G8_4_1 + 0.0126984126984127*G8_5_0 + 0.0126984126984127*G8_5_1 + 0.0035714285714285 [...]
+ A[16] = 0.5*G0_0_0_0 + 0.5*G2_0_0_0 - 0.00357142857142856*G8_0_0 + 0.0309523809523809*G8_1_0 - 0.00357142857142857*G8_2_0 + 0.019047619047619*G8_3_0 + 0.00476190476190477*G8_4_0 + 0.0190476190476191*G8_5_0 + 0.00714285714285716*G9_0_0 + 0.00714285714285705*G9_0_1 + 0.0309523809523809*G9_1_0 - 0.00714285714285713*G9_2_1 + 0.0095238095238095*G9_3_0 + 0.0476190476190474*G9_3_1 - 0.0095238095238095*G9_4_0 - 0.0380952380952381*G9_5_0 - 0.0476190476190476*G9_5_1 - 0.00357142857142856*G11_0 [...]
+ A[17] = -0.166666666666667*G0_0_0_1 - 0.166666666666667*G2_0_0_1 + 0.00436507936507937*G8_0_1 - 0.00714285714285713*G8_1_1 - 0.00357142857142857*G8_2_1 - 0.0126984126984127*G8_3_1 - 0.00793650793650796*G8_4_1 - 0.00634920634920637*G8_5_1 - 0.00436507936507936*G9_0_0 - 0.00436507936507935*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0063492063492063*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.0079365079365079 [...]
+ A[18] = 0.666666666666664*G0_0_0_1 + 0.666666666666664*G2_0_0_1 + 0.00158730158730159*G8_0_0 - 0.00634920634920631*G8_0_1 + 0.0095238095238095*G8_1_0 + 0.0476190476190474*G8_1_1 - 0.00634920634920633*G8_2_0 - 0.0063492063492063*G8_2_1 - 0.0126984126984127*G8_3_0 + 0.019047619047619*G8_3_1 - 0.019047619047619*G8_4_0 - 0.00634920634920622*G8_4_1 - 0.00634920634920635*G8_5_0 + 0.019047619047619*G8_5_1 + 0.00634920634920636*G9_0_0 + 0.00634920634920635*G9_0_1 + 0.019047619047619*G9_1_0 - [...]
+ A[19] = -0.00158730158730159*G8_0_0 - 0.00793650793650796*G8_0_1 - 0.0095238095238095*G8_1_0 + 0.00634920634920633*G8_2_0 + 0.0079365079365079*G8_2_1 + 0.0126984126984127*G8_3_0 + 0.00634920634920637*G8_3_1 + 0.019047619047619*G8_4_0 + 0.00634920634920635*G8_5_0 - 0.00634920634920631*G8_5_1 + 0.00793650793650794*G9_0_0 + 0.00793650793650799*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650796*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920622*G9_3_1 + 0.019047619047619*G9_4 [...]
+ A[20] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 + 0.00634920634920634*G8_0_1 - 0.0380952380952381*G8_1_0 - 0.0476190476190476*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00634920634920634*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0190476190476191*G8_3_1 - 0.0126984126984127*G8_4_0 + 0.00634920634920636*G8_4_1 - 0.0317460317460318*G8_5_0 - 0.0190476190476191*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0 [...]
+ A[21] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 - 0.00357142857142856*G10_1_0 + 0.00436507936507937*G10_2_1 + 0.00158730158730159*G10_3_0 - 0.00634920634920631*G10_3_1 - 0.00158730158730159*G10_4_0 - 0.00793650793650796*G10_4_1 + 0.00634920634920634*G10_5_1;
+ A[22] = 0.00714285714285716*G10_0_0 + 0.00714285714285705*G10_0_1 + 0.0309523809523809*G10_1_0 - 0.00714285714285713*G10_2_1 + 0.0095238095238095*G10_3_0 + 0.0476190476190474*G10_3_1 - 0.0095238095238095*G10_4_0 - 0.0380952380952381*G10_5_0 - 0.0476190476190476*G10_5_1;
+ A[23] = -0.00436507936507936*G10_0_0 - 0.00436507936507935*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.0063492063492063*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
+ A[24] = 0.00634920634920636*G10_0_0 + 0.00634920634920635*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[25] = 0.00793650793650794*G10_0_0 + 0.00793650793650799*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650796*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920622*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[26] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920637*G10_2_1 - 0.00634920634920635*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920635*G10_4_0 - 0.00634920634920631*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
A[27] = 0.0;
A[28] = -0.166666666666667*G4_0;
A[29] = 0.0;
- A[30] = 0.166666666666666*G0_0_1_0 + 0.166666666666666*G0_0_1_1 + 0.166666666666666*G2_0_1_0 + 0.166666666666666*G2_0_1_1 + 0.00357142857142858*G8_0_0 + 0.00357142857142859*G8_0_1 - 0.00436507936507936*G8_1_0 - 0.00436507936507934*G8_1_1 + 0.00714285714285713*G8_2_0 + 0.00714285714285705*G8_2_1 + 0.00634920634920633*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0126984126984127*G8_4_1 + 0.00793650793650792*G8_5_0 + 0.00793650793650798*G8_5_1 + 0.0035714285714285 [...]
- A[31] = -0.166666666666667*G0_0_1_0 - 0.166666666666667*G2_0_1_0 + 0.00436507936507937*G8_0_0 - 0.00357142857142857*G8_1_0 - 0.00714285714285715*G8_2_0 - 0.0126984126984127*G8_3_0 - 0.00634920634920635*G8_4_0 - 0.00793650793650792*G8_5_0 - 0.00436507936507936*G9_0_0 - 0.00436507936507934*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.00634920634920629*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.007936507936507 [...]
- A[32] = 0.5*G0_0_1_1 + 0.5*G2_0_1_1 - 0.00357142857142857*G8_0_1 - 0.00357142857142857*G8_1_1 + 0.030952380952381*G8_2_1 + 0.019047619047619*G8_3_1 + 0.0190476190476191*G8_4_1 + 0.00476190476190475*G8_5_1 + 0.00714285714285713*G9_0_0 + 0.00714285714285705*G9_0_1 - 0.00714285714285715*G9_1_0 + 0.030952380952381*G9_2_1 + 0.0476190476190475*G9_3_0 + 0.00952380952380926*G9_3_1 - 0.0476190476190475*G9_4_0 - 0.0380952380952379*G9_4_1 - 0.00952380952380948*G9_5_1 - 0.00357142857142857*G11_1 [...]
- A[33] = 0.666666666666667*G0_0_1_0 + 0.666666666666667*G2_0_1_0 - 0.00634920634920634*G8_0_0 + 0.00158730158730162*G8_0_1 - 0.00634920634920633*G8_1_0 - 0.00634920634920629*G8_1_1 + 0.0476190476190475*G8_2_0 + 0.00952380952380926*G8_2_1 + 0.019047619047619*G8_3_0 - 0.0126984126984127*G8_3_1 + 0.019047619047619*G8_4_0 - 0.00634920634920638*G8_4_1 - 0.00634920634920633*G8_5_0 - 0.0190476190476189*G8_5_1 + 0.00634920634920633*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1 [...]
- A[34] = -0.666666666666667*G0_0_1_0 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_1_0 - 0.666666666666665*G2_0_1_1 + 0.00634920634920634*G8_0_0 + 0.00634920634920633*G8_1_0 + 0.0079365079365079*G8_1_1 - 0.0476190476190475*G8_2_0 - 0.0380952380952379*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0253968253968254*G8_3_1 - 0.019047619047619*G8_4_0 - 0.0317460317460317*G8_4_1 + 0.00634920634920633*G8_5_0 - 0.0126984126984128*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 [...]
- A[35] = -0.00793650793650795*G8_0_0 - 0.00158730158730159*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00952380952380948*G8_2_1 + 0.00634920634920635*G8_3_0 + 0.0126984126984127*G8_3_1 - 0.00634920634920635*G8_4_0 + 0.00634920634920636*G8_4_1 + 0.019047619047619*G8_5_1 + 0.00793650793650792*G9_0_0 + 0.00793650793650798*G9_0_1 - 0.00793650793650792*G9_1_0 + 0.00476190476190475*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920633 [...]
- A[36] = 0.00357142857142858*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00793650793650795*G10_5_0 - 0.00158730158730159*G10_5_1;
- A[37] = -0.00436507936507936*G10_0_0 - 0.00436507936507934*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.00634920634920629*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[38] = 0.00714285714285713*G10_0_0 + 0.00714285714285705*G10_0_1 - 0.00714285714285715*G10_1_0 + 0.030952380952381*G10_2_1 + 0.0476190476190475*G10_3_0 + 0.00952380952380926*G10_3_1 - 0.0476190476190475*G10_4_0 - 0.0380952380952379*G10_4_1 - 0.00952380952380948*G10_5_1;
- A[39] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920635*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[40] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920635*G10_1_0 + 0.0190476190476191*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920638*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
- A[41] = 0.00793650793650792*G10_0_0 + 0.00793650793650798*G10_0_1 - 0.00793650793650792*G10_1_0 + 0.00476190476190475*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.019047619047619*G10_5_1;
+ A[30] = 0.166666666666667*G0_0_1_0 + 0.166666666666666*G0_0_1_1 + 0.166666666666667*G2_0_1_0 + 0.166666666666666*G2_0_1_1 + 0.00357142857142857*G8_0_0 + 0.00357142857142859*G8_0_1 - 0.00436507936507936*G8_1_0 - 0.00436507936507935*G8_1_1 + 0.00714285714285713*G8_2_0 + 0.00714285714285705*G8_2_1 + 0.00634920634920634*G8_3_0 + 0.00634920634920634*G8_3_1 + 0.0126984126984127*G8_4_0 + 0.0126984126984127*G8_4_1 + 0.00793650793650793*G8_5_0 + 0.00793650793650799*G8_5_1 + 0.0035714285714285 [...]
+ A[31] = -0.166666666666667*G0_0_1_0 - 0.166666666666667*G2_0_1_0 + 0.00436507936507937*G8_0_0 - 0.00357142857142857*G8_1_0 - 0.00714285714285714*G8_2_0 - 0.0126984126984127*G8_3_0 - 0.00634920634920634*G8_4_0 - 0.00793650793650793*G8_5_0 - 0.00436507936507936*G9_0_0 - 0.00436507936507935*G9_0_1 - 0.00357142857142857*G9_1_0 - 0.00357142857142857*G9_2_1 - 0.00634920634920633*G9_3_0 - 0.0063492063492063*G9_3_1 + 0.00634920634920633*G9_4_0 + 0.0079365079365079*G9_4_1 + 0.0079365079365079 [...]
+ A[32] = 0.5*G0_0_1_1 + 0.5*G2_0_1_1 - 0.00357142857142857*G8_0_1 - 0.00357142857142857*G8_1_1 + 0.030952380952381*G8_2_1 + 0.019047619047619*G8_3_1 + 0.019047619047619*G8_4_1 + 0.00476190476190476*G8_5_1 + 0.00714285714285713*G9_0_0 + 0.00714285714285705*G9_0_1 - 0.00714285714285714*G9_1_0 + 0.030952380952381*G9_2_1 + 0.0476190476190475*G9_3_0 + 0.00952380952380927*G9_3_1 - 0.0476190476190475*G9_4_0 - 0.0380952380952379*G9_4_1 - 0.00952380952380949*G9_5_1 - 0.00357142857142857*G11_1_ [...]
+ A[33] = 0.666666666666667*G0_0_1_0 + 0.666666666666667*G2_0_1_0 - 0.00634920634920634*G8_0_0 + 0.00158730158730162*G8_0_1 - 0.00634920634920633*G8_1_0 - 0.0063492063492063*G8_1_1 + 0.0476190476190475*G8_2_0 + 0.00952380952380927*G8_2_1 + 0.019047619047619*G8_3_0 - 0.0126984126984127*G8_3_1 + 0.019047619047619*G8_4_0 - 0.00634920634920637*G8_4_1 - 0.00634920634920632*G8_5_0 - 0.0190476190476189*G8_5_1 + 0.00634920634920634*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_ [...]
+ A[34] = -0.666666666666667*G0_0_1_0 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_1_0 - 0.666666666666665*G2_0_1_1 + 0.00634920634920634*G8_0_0 + 0.00634920634920633*G8_1_0 + 0.0079365079365079*G8_1_1 - 0.0476190476190475*G8_2_0 - 0.0380952380952379*G8_2_1 - 0.019047619047619*G8_3_0 - 0.0253968253968254*G8_3_1 - 0.019047619047619*G8_4_0 - 0.0317460317460317*G8_4_1 + 0.00634920634920632*G8_5_0 - 0.0126984126984128*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 [...]
+ A[35] = -0.00793650793650794*G8_0_0 - 0.00158730158730159*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00952380952380949*G8_2_1 + 0.00634920634920636*G8_3_0 + 0.0126984126984127*G8_3_1 - 0.00634920634920635*G8_4_0 + 0.00634920634920636*G8_4_1 + 0.0190476190476191*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650799*G9_0_1 - 0.00793650793650793*G9_1_0 + 0.00476190476190476*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.0063492063492063 [...]
+ A[36] = 0.00357142857142857*G10_0_0 + 0.00357142857142859*G10_0_1 + 0.00436507936507937*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 + 0.00158730158730162*G10_3_1 + 0.00634920634920633*G10_4_0 - 0.00793650793650794*G10_5_0 - 0.00158730158730159*G10_5_1;
+ A[37] = -0.00436507936507936*G10_0_0 - 0.00436507936507935*G10_0_1 - 0.00357142857142857*G10_1_0 - 0.00357142857142857*G10_2_1 - 0.00634920634920633*G10_3_0 - 0.0063492063492063*G10_3_1 + 0.00634920634920633*G10_4_0 + 0.0079365079365079*G10_4_1 + 0.00793650793650793*G10_5_0 + 0.00634920634920634*G10_5_1;
+ A[38] = 0.00714285714285713*G10_0_0 + 0.00714285714285705*G10_0_1 - 0.00714285714285714*G10_1_0 + 0.030952380952381*G10_2_1 + 0.0476190476190475*G10_3_0 + 0.00952380952380927*G10_3_1 - 0.0476190476190475*G10_4_0 - 0.0380952380952379*G10_4_1 - 0.00952380952380949*G10_5_1;
+ A[39] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920636*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[40] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[41] = 0.00793650793650793*G10_0_0 + 0.00793650793650799*G10_0_1 - 0.00793650793650793*G10_1_0 + 0.00476190476190476*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.0190476190476191*G10_5_1;
A[42] = 0.0;
A[43] = 0.0;
A[44] = -0.166666666666667*G4_1;
- A[45] = -0.00476190476190477*G8_0_0 - 0.00476190476190471*G8_0_1 + 0.00634920634920635*G8_1_0 + 0.00634920634920634*G8_1_1 + 0.00634920634920633*G8_2_0 + 0.00634920634920634*G8_2_1 + 0.0380952380952381*G8_3_0 + 0.0380952380952376*G8_3_1 - 0.00634920634920632*G8_4_0 - 0.00634920634920656*G8_4_1 - 0.00634920634920629*G8_5_0 - 0.00634920634920655*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.00476190476190471*G9_0_1 - 0.00793650793650794*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619 [...]
- A[46] = 0.666666666666664*G0_0_1_0 + 0.666666666666664*G2_0_1_0 - 0.00793650793650794*G8_0_0 + 0.019047619047619*G8_1_0 - 0.0126984126984127*G8_2_0 + 0.0634920634920634*G8_3_0 + 0.00634920634920632*G8_4_0 + 0.0317460317460317*G8_5_0 + 0.00634920634920635*G9_0_0 + 0.00634920634920634*G9_0_1 + 0.019047619047619*G9_1_0 - 0.0126984126984127*G9_2_1 - 0.0126984126984127*G9_3_0 + 0.019047619047619*G9_3_1 + 0.0126984126984127*G9_4_0 + 0.00634920634920637*G9_4_1 - 0.0253968253968254*G9_5_0 - [...]
- A[47] = 0.666666666666667*G0_0_0_1 + 0.666666666666667*G2_0_0_1 - 0.00793650793650795*G8_0_1 - 0.0126984126984127*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0634920634920636*G8_3_1 + 0.0317460317460318*G8_4_1 + 0.00634920634920641*G8_5_1 + 0.00634920634920633*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.0126984126984127*G9_3_1 - 0.019047619047619*G9_4_0 - 0.0253968253968254*G9_4_1 + 0.00634920634920635*G9_5_0 + 0 [...]
- A[48] = 1.33333333333333*G0_0_0_0 + 0.666666666666656*G0_0_0_1 + 0.666666666666656*G0_0_1_0 + 1.33333333333332*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666656*G2_0_0_1 + 0.666666666666656*G2_0_1_0 + 1.33333333333332*G2_0_1_1 - 0.019047619047619*G8_0_0 - 0.0190476190476189*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.019047619047619*G8_1_1 + 0.019047619047619*G8_2_0 - 0.0126984126984127*G8_2_1 + 0.152380952380952*G8_3_0 + 0.152380952380951*G8_3_1 + 0.076190476190476*G8_4_0 + 0.0507 [...]
- A[49] = -1.33333333333333*G0_0_0_0 - 0.666666666666659*G0_0_0_1 - 0.666666666666656*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666659*G2_0_0_1 - 0.666666666666656*G2_0_1_0 + 0.019047619047619*G8_0_0 + 0.0126984126984126*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.00634920634920637*G8_1_1 - 0.019047619047619*G8_2_0 - 0.0253968253968254*G8_2_1 - 0.152380952380952*G8_3_0 - 0.101587301587301*G8_3_1 - 0.076190476190476*G8_4_0 - 0.025396825396825*G8_4_1 - 0.0507936507936507*G8_5_0 - 0.00 [...]
- A[50] = -0.666666666666665*G0_0_0_1 - 0.666666666666666*G0_0_1_0 - 1.33333333333332*G0_0_1_1 - 0.666666666666665*G2_0_0_1 - 0.666666666666666*G2_0_1_0 - 1.33333333333332*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.019047619047619*G8_0_1 - 0.0253968253968254*G8_1_0 - 0.019047619047619*G8_1_1 + 0.00634920634920635*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.101587301587302*G8_3_0 - 0.152380952380952*G8_3_1 - 0.0507936507936508*G8_4_1 - 0.0253968253968254*G8_5_0 - 0.0761904761904762*G8_5_1 - 0. [...]
- A[51] = -0.00476190476190477*G10_0_0 - 0.00476190476190471*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
- A[52] = 0.00634920634920635*G10_0_0 + 0.00634920634920634*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.019047619047619*G10_5_1;
- A[53] = 0.00634920634920633*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920635*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[54] = 0.0380952380952381*G10_0_0 + 0.0380952380952376*G10_0_1 + 0.0634920634920634*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.152380952380951*G10_3_1 - 0.152380952380952*G10_4_0 - 0.101587301587301*G10_4_1 - 0.101587301587302*G10_5_0 - 0.152380952380952*G10_5_1;
- A[55] = -0.00634920634920632*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.00634920634920632*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.076190476190476*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.076190476190476*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
- A[56] = -0.00634920634920629*G10_0_0 - 0.00634920634920655*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904762*G10_5_1;
+ A[45] = -0.00476190476190477*G8_0_0 - 0.0047619047619047*G8_0_1 + 0.00634920634920636*G8_1_0 + 0.00634920634920635*G8_1_1 + 0.00634920634920634*G8_2_0 + 0.00634920634920634*G8_2_1 + 0.0380952380952381*G8_3_0 + 0.0380952380952376*G8_3_1 - 0.00634920634920633*G8_4_0 - 0.00634920634920657*G8_4_1 - 0.0063492063492063*G8_5_0 - 0.00634920634920656*G8_5_1 - 0.00476190476190477*G9_0_0 - 0.0047619047619047*G9_0_1 - 0.00793650793650793*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9 [...]
+ A[46] = 0.666666666666664*G0_0_1_0 + 0.666666666666664*G2_0_1_0 - 0.00793650793650793*G8_0_0 + 0.019047619047619*G8_1_0 - 0.0126984126984127*G8_2_0 + 0.0634920634920635*G8_3_0 + 0.00634920634920633*G8_4_0 + 0.0317460317460317*G8_5_0 + 0.00634920634920636*G9_0_0 + 0.00634920634920635*G9_0_1 + 0.019047619047619*G9_1_0 - 0.0126984126984127*G9_2_1 - 0.0126984126984127*G9_3_0 + 0.019047619047619*G9_3_1 + 0.0126984126984127*G9_4_0 + 0.00634920634920637*G9_4_1 - 0.0253968253968254*G9_5_0 - [...]
+ A[47] = 0.666666666666667*G0_0_0_1 + 0.666666666666667*G2_0_0_1 - 0.00793650793650795*G8_0_1 - 0.0126984126984127*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0634920634920636*G8_3_1 + 0.0317460317460318*G8_4_1 + 0.00634920634920642*G8_5_1 + 0.00634920634920634*G9_0_0 + 0.00634920634920634*G9_0_1 - 0.0126984126984127*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.0126984126984127*G9_3_1 - 0.019047619047619*G9_4_0 - 0.0253968253968254*G9_4_1 + 0.00634920634920636*G9_5_0 + 0 [...]
+ A[48] = 1.33333333333333*G0_0_0_0 + 0.666666666666656*G0_0_0_1 + 0.666666666666656*G0_0_1_0 + 1.33333333333332*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666656*G2_0_0_1 + 0.666666666666656*G2_0_1_0 + 1.33333333333332*G2_0_1_1 - 0.019047619047619*G8_0_0 - 0.0190476190476189*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.019047619047619*G8_1_1 + 0.019047619047619*G8_2_0 - 0.0126984126984127*G8_2_1 + 0.152380952380952*G8_3_0 + 0.152380952380951*G8_3_1 + 0.0761904761904761*G8_4_0 + 0.050 [...]
+ A[49] = -1.33333333333333*G0_0_0_0 - 0.666666666666659*G0_0_0_1 - 0.666666666666656*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666659*G2_0_0_1 - 0.666666666666656*G2_0_1_0 + 0.019047619047619*G8_0_0 + 0.0126984126984126*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.00634920634920637*G8_1_1 - 0.019047619047619*G8_2_0 - 0.0253968253968254*G8_2_1 - 0.152380952380952*G8_3_0 - 0.101587301587301*G8_3_1 - 0.0761904761904761*G8_4_0 - 0.025396825396825*G8_4_1 - 0.0507936507936507*G8_5_0 - 0.0 [...]
+ A[50] = -0.666666666666665*G0_0_0_1 - 0.666666666666666*G0_0_1_0 - 1.33333333333333*G0_0_1_1 - 0.666666666666665*G2_0_0_1 - 0.666666666666666*G2_0_1_0 - 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.019047619047619*G8_0_1 - 0.0253968253968254*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.00634920634920636*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.101587301587302*G8_3_0 - 0.152380952380952*G8_3_1 - 0.0507936507936508*G8_4_1 - 0.0253968253968254*G8_5_0 - 0.0761904761904763*G8_5_1 - 0 [...]
+ A[51] = -0.00476190476190477*G10_0_0 - 0.0047619047619047*G10_0_1 - 0.00793650793650793*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.019047619047619*G10_4_0 + 0.0126984126984126*G10_4_1 + 0.0126984126984127*G10_5_0 + 0.019047619047619*G10_5_1;
+ A[52] = 0.00634920634920636*G10_0_0 + 0.00634920634920635*G10_0_1 + 0.019047619047619*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 + 0.019047619047619*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.00634920634920637*G10_4_1 - 0.0253968253968254*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[53] = 0.00634920634920634*G10_0_0 + 0.00634920634920634*G10_0_1 - 0.0126984126984127*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.0126984126984127*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0253968253968254*G10_4_1 + 0.00634920634920636*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[54] = 0.0380952380952381*G10_0_0 + 0.0380952380952376*G10_0_1 + 0.0634920634920635*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.152380952380951*G10_3_1 - 0.152380952380952*G10_4_0 - 0.101587301587301*G10_4_1 - 0.101587301587302*G10_5_0 - 0.152380952380952*G10_5_1;
+ A[55] = -0.00634920634920633*G10_0_0 - 0.00634920634920657*G10_0_1 + 0.00634920634920633*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.0761904761904761*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0761904761904761*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
+ A[56] = -0.0063492063492063*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904757*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904763*G10_5_1;
A[57] = -0.166666666666666*G4_0 - 0.166666666666665*G4_1;
A[58] = -0.166666666666666*G4_0 - 0.333333333333331*G4_1;
A[59] = -0.333333333333333*G4_0 - 0.166666666666664*G4_1;
- A[60] = -0.666666666666668*G0_0_1_0 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_1_0 - 0.666666666666668*G2_0_1_1 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.00793650793650793*G8_1_0 + 0.00793650793650798*G8_1_1 + 0.0126984126984127*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.00634920634920632*G8_3_0 - 0.00634920634920656*G8_3_1 - 0.0634920634920635*G8_4_0 - 0.0634920634920639*G8_4_1 - 0.0317460317460317*G8_5_0 - 0.0317460317460319*G8_5_1 - 0.0190476190476191*G9_0 [...]
- A[61] = -0.00634920634920638*G8_0_0 + 0.00476190476190477*G8_1_0 - 0.00634920634920635*G8_2_0 + 0.00634920634920632*G8_3_0 - 0.0380952380952382*G8_4_0 + 0.0063492063492063*G8_5_0 + 0.00793650793650793*G9_0_0 + 0.00793650793650798*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650795*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920621*G9_3_1 + 0.019047619047619*G9_4_0 - 0.0126984126984127*G9_5_0 + 0.00634920634920634*G9_5_1 - 0.00634920634920638*G11_0_6 + 0.00476190476190477*G [...]
- A[62] = -0.666666666666667*G0_0_0_1 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_0_1 - 0.666666666666665*G2_0_1_1 - 0.0126984126984127*G8_0_1 - 0.00793650793650795*G8_1_1 + 0.0190476190476191*G8_2_1 + 0.0317460317460318*G8_3_1 + 0.0634920634920636*G8_4_1 + 0.00634920634920641*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 - 0.00634920634920635*G9_1_0 + 0.0190476190476191*G9_2_1 + 0.019047619047619*G9_3_0 - 0.00634920634920637*G9_3_1 - 0.019047619047619*G9_4_0 [...]
- A[63] = -1.33333333333333*G0_0_0_0 - 0.666666666666656*G0_0_0_1 - 0.666666666666659*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666656*G2_0_0_1 - 0.666666666666659*G2_0_1_0 - 0.0126984126984127*G8_0_0 - 0.00634920634920631*G8_0_1 - 0.019047619047619*G8_1_0 - 0.00634920634920621*G8_1_1 + 0.019047619047619*G8_2_0 - 0.00634920634920637*G8_2_1 + 0.076190476190476*G8_3_0 + 0.0507936507936502*G8_3_1 + 0.152380952380952*G8_4_0 + 0.0507936507936496*G8_4_1 + 0.0507936507936507*G8_5_0 + [...]
- A[64] = 1.33333333333333*G0_0_0_0 + 0.666666666666659*G0_0_0_1 + 0.666666666666659*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666659*G2_0_0_1 + 0.666666666666659*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.0317460317460317*G8_0_1 + 0.019047619047619*G8_1_0 - 0.019047619047619*G8_2_0 - 0.0317460317460317*G8_2_1 - 0.076190476190476*G8_3_0 - 0.025396825396825*G8_3_1 - 0.152380952380952*G8_4_0 - 0.0507936507936507*G8_5_0 + 0.025 [...]
- A[65] = 0.666666666666665*G0_0_0_1 + 0.666666666666666*G0_0_1_0 + 0.666666666666665*G2_0_0_1 + 0.666666666666666*G2_0_1_0 + 0.0253968253968254*G8_0_0 + 0.00634920634920635*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.00634920634920634*G8_1_1 - 0.00634920634920635*G8_2_0 + 0.00634920634920636*G8_2_1 - 0.0507936507936508*G8_3_1 + 0.101587301587302*G8_4_0 - 0.0507936507936507*G8_4_1 + 0.0253968253968254*G8_5_0 - 0.0507936507936508*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.0317460317460319*G9_0_1 [...]
- A[66] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920638*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
- A[67] = 0.00793650793650793*G10_0_0 + 0.00793650793650798*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650795*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920621*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920634*G10_5_1;
- A[68] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.0190476190476191*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
- A[69] = -0.00634920634920632*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.00634920634920632*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.076190476190476*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.076190476190476*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
- A[70] = -0.0634920634920635*G10_0_0 - 0.0634920634920639*G10_0_1 - 0.0380952380952382*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.0507936507936496*G10_3_1 - 0.152380952380952*G10_4_0 + 0.101587301587302*G10_5_0 - 0.0507936507936507*G10_5_1;
- A[71] = -0.0317460317460317*G10_0_0 - 0.0317460317460319*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[60] = -0.666666666666668*G0_0_1_0 - 0.666666666666668*G0_0_1_1 - 0.666666666666668*G2_0_1_0 - 0.666666666666668*G2_0_1_1 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.00793650793650794*G8_1_0 + 0.00793650793650799*G8_1_1 + 0.0126984126984127*G8_2_0 + 0.0126984126984127*G8_2_1 - 0.00634920634920633*G8_3_0 - 0.00634920634920657*G8_3_1 - 0.0634920634920635*G8_4_0 - 0.0634920634920639*G8_4_1 - 0.0317460317460317*G8_5_0 - 0.031746031746032*G8_5_1 - 0.0190476190476191*G9_0_ [...]
+ A[61] = -0.00634920634920637*G8_0_0 + 0.00476190476190477*G8_1_0 - 0.00634920634920634*G8_2_0 + 0.00634920634920633*G8_3_0 - 0.0380952380952382*G8_4_0 + 0.0063492063492063*G8_5_0 + 0.00793650793650794*G9_0_0 + 0.00793650793650799*G9_0_1 + 0.00476190476190477*G9_1_0 - 0.00793650793650796*G9_2_1 - 0.019047619047619*G9_3_0 - 0.00634920634920622*G9_3_1 + 0.019047619047619*G9_4_0 - 0.0126984126984127*G9_5_0 + 0.00634920634920636*G9_5_1 - 0.00634920634920637*G11_0_6 + 0.00476190476190477*G [...]
+ A[62] = -0.666666666666667*G0_0_0_1 - 0.666666666666665*G0_0_1_1 - 0.666666666666667*G2_0_0_1 - 0.666666666666665*G2_0_1_1 - 0.0126984126984127*G8_0_1 - 0.00793650793650796*G8_1_1 + 0.019047619047619*G8_2_1 + 0.0317460317460318*G8_3_1 + 0.0634920634920636*G8_4_1 + 0.00634920634920642*G8_5_1 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 - 0.00634920634920634*G9_1_0 + 0.019047619047619*G9_2_1 + 0.019047619047619*G9_3_0 - 0.00634920634920637*G9_3_1 - 0.019047619047619*G9_4_0 - [...]
+ A[63] = -1.33333333333333*G0_0_0_0 - 0.666666666666656*G0_0_0_1 - 0.666666666666659*G0_0_1_0 - 1.33333333333333*G2_0_0_0 - 0.666666666666656*G2_0_0_1 - 0.666666666666659*G2_0_1_0 - 0.0126984126984127*G8_0_0 - 0.00634920634920631*G8_0_1 - 0.019047619047619*G8_1_0 - 0.00634920634920622*G8_1_1 + 0.019047619047619*G8_2_0 - 0.00634920634920637*G8_2_1 + 0.0761904761904761*G8_3_0 + 0.0507936507936502*G8_3_1 + 0.152380952380952*G8_4_0 + 0.0507936507936497*G8_4_1 + 0.0507936507936507*G8_5_0 + [...]
+ A[64] = 1.33333333333333*G0_0_0_0 + 0.666666666666659*G0_0_0_1 + 0.666666666666659*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333333*G2_0_0_0 + 0.666666666666659*G2_0_0_1 + 0.666666666666659*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0126984126984127*G8_0_0 + 0.0317460317460317*G8_0_1 + 0.019047619047619*G8_1_0 - 0.019047619047619*G8_2_0 - 0.0317460317460317*G8_2_1 - 0.0761904761904761*G8_3_0 - 0.025396825396825*G8_3_1 - 0.152380952380952*G8_4_0 - 0.0507936507936507*G8_5_0 + 0.02 [...]
+ A[65] = 0.666666666666665*G0_0_0_1 + 0.666666666666666*G0_0_1_0 + 0.666666666666665*G2_0_0_1 + 0.666666666666666*G2_0_1_0 + 0.0253968253968254*G8_0_0 + 0.00634920634920635*G8_0_1 - 0.0126984126984127*G8_1_0 + 0.00634920634920636*G8_1_1 - 0.00634920634920635*G8_2_0 + 0.00634920634920636*G8_2_1 - 0.0507936507936508*G8_3_1 + 0.101587301587302*G8_4_0 - 0.0507936507936507*G8_4_1 + 0.0253968253968254*G8_5_0 - 0.0507936507936508*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.031746031746032*G9_0_1 [...]
+ A[66] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.00634920634920637*G10_1_0 - 0.0126984126984127*G10_2_1 - 0.0126984126984127*G10_3_0 - 0.00634920634920631*G10_3_1 + 0.0126984126984127*G10_4_0 + 0.0317460317460317*G10_4_1 + 0.0253968253968254*G10_5_0 + 0.00634920634920635*G10_5_1;
+ A[67] = 0.00793650793650794*G10_0_0 + 0.00793650793650799*G10_0_1 + 0.00476190476190477*G10_1_0 - 0.00793650793650796*G10_2_1 - 0.019047619047619*G10_3_0 - 0.00634920634920622*G10_3_1 + 0.019047619047619*G10_4_0 - 0.0126984126984127*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[68] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 - 0.00634920634920634*G10_1_0 + 0.019047619047619*G10_2_1 + 0.019047619047619*G10_3_0 - 0.00634920634920637*G10_3_1 - 0.019047619047619*G10_4_0 - 0.0317460317460317*G10_4_1 - 0.00634920634920635*G10_5_0 + 0.00634920634920636*G10_5_1;
+ A[69] = -0.00634920634920633*G10_0_0 - 0.00634920634920657*G10_0_1 + 0.00634920634920633*G10_1_0 + 0.0317460317460318*G10_2_1 + 0.0761904761904761*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0761904761904761*G10_4_0 - 0.025396825396825*G10_4_1 - 0.0507936507936508*G10_5_1;
+ A[70] = -0.0634920634920635*G10_0_0 - 0.0634920634920639*G10_0_1 - 0.0380952380952382*G10_1_0 + 0.0634920634920636*G10_2_1 + 0.152380952380952*G10_3_0 + 0.0507936507936497*G10_3_1 - 0.152380952380952*G10_4_0 + 0.101587301587302*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[71] = -0.0317460317460317*G10_0_0 - 0.031746031746032*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
A[72] = 0.166666666666666*G4_0 - 0.166666666666668*G4_1;
A[73] = 0.166666666666666*G4_0;
A[74] = 0.333333333333333*G4_0 + 0.166666666666665*G4_1;
- A[75] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 - 0.0190476190476191*G8_0_0 - 0.0190476190476191*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.0126984126984127*G8_1_1 + 0.00793650793650792*G8_2_0 + 0.00793650793650798*G8_2_1 - 0.00634920634920629*G8_3_0 - 0.00634920634920655*G8_3_1 - 0.0317460317460317*G8_4_0 - 0.0317460317460319*G8_4_1 - 0.0634920634920634*G8_5_0 - 0.0634920634920639*G8_5_1 - 0.0190476190476191*G9_0 [...]
- A[76] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 - 0.0126984126984127*G8_0_0 + 0.0190476190476191*G8_1_0 - 0.00793650793650792*G8_2_0 + 0.0317460317460317*G8_3_0 + 0.0063492063492063*G8_4_0 + 0.0634920634920634*G8_5_0 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 + 0.0190476190476191*G9_1_0 - 0.00634920634920636*G9_2_1 - 0.00634920634920634*G9_3_0 + 0.019047619047619*G9_3_1 + 0.00634920634920634*G9_4_ [...]
- A[77] = -0.00634920634920636*G8_0_1 - 0.00634920634920636*G8_1_1 + 0.00476190476190475*G8_2_1 + 0.00634920634920641*G8_3_1 + 0.00634920634920641*G8_4_1 - 0.038095238095238*G8_5_1 + 0.00793650793650792*G9_0_0 + 0.00793650793650798*G9_0_1 - 0.00793650793650792*G9_1_0 + 0.00476190476190475*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920632*G9_4_0 - 0.0126984126984128*G9_4_1 + 0.019047619047619*G9_5_1 - 0.00634920634920636*G11_1_6 - 0.00634920634920636* [...]
- A[78] = -0.666666666666666*G0_0_0_1 - 0.666666666666665*G0_0_1_0 - 1.33333333333332*G0_0_1_1 - 0.666666666666666*G2_0_0_1 - 0.666666666666665*G2_0_1_0 - 1.33333333333332*G2_0_1_1 - 0.00634920634920634*G8_0_0 - 0.0126984126984127*G8_0_1 - 0.00634920634920634*G8_1_0 + 0.019047619047619*G8_1_1 - 0.00634920634920632*G8_2_0 - 0.0190476190476189*G8_2_1 + 0.0507936507936507*G8_3_0 + 0.0761904761904756*G8_3_1 + 0.0507936507936507*G8_4_0 + 0.0507936507936502*G8_4_1 + 0.0507936507936507*G8_5_0 [...]
- A[79] = 0.666666666666666*G0_0_0_1 + 0.666666666666665*G0_0_1_0 + 0.666666666666666*G2_0_0_1 + 0.666666666666665*G2_0_1_0 + 0.00634920634920634*G8_0_0 + 0.0253968253968254*G8_0_1 + 0.00634920634920634*G8_1_0 - 0.00634920634920632*G8_1_1 + 0.00634920634920632*G8_2_0 - 0.0126984126984128*G8_2_1 - 0.0507936507936507*G8_3_0 - 0.0507936507936507*G8_4_0 + 0.0253968253968258*G8_4_1 - 0.0507936507936507*G8_5_0 + 0.101587301587302*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.0317460317460319*G9_0_1 [...]
- A[80] = 1.33333333333334*G0_0_0_0 + 0.666666666666668*G0_0_0_1 + 0.666666666666668*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333334*G2_0_0_0 + 0.666666666666668*G2_0_0_1 + 0.666666666666668*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0317460317460318*G8_0_0 + 0.0126984126984127*G8_0_1 - 0.0317460317460318*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.019047619047619*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0761904761904762*G8_3_1 + 0.0253968253968254*G8_4_0 - 0.0507936507936508*G8_4_1 - 0 [...]
- A[81] = -0.0190476190476191*G10_0_0 - 0.0190476190476191*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
- A[82] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 + 0.019047619047619*G10_3_1 + 0.00634920634920634*G10_4_0 - 0.00634920634920632*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
- A[83] = 0.00793650793650792*G10_0_0 + 0.00793650793650798*G10_0_1 - 0.00793650793650792*G10_1_0 + 0.00476190476190475*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.019047619047619*G10_5_1;
- A[84] = -0.00634920634920629*G10_0_0 - 0.00634920634920655*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904762*G10_5_1;
- A[85] = -0.0317460317460317*G10_0_0 - 0.0317460317460319*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920641*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
- A[86] = -0.0634920634920634*G10_0_0 - 0.0634920634920639*G10_0_1 + 0.0634920634920634*G10_1_0 - 0.038095238095238*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.152380952380951*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.101587301587302*G10_4_1 - 0.152380952380952*G10_5_1;
+ A[75] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_0_1 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_0_1 - 0.0190476190476191*G8_0_0 - 0.019047619047619*G8_0_1 + 0.0126984126984127*G8_1_0 + 0.0126984126984127*G8_1_1 + 0.00793650793650793*G8_2_0 + 0.00793650793650799*G8_2_1 - 0.0063492063492063*G8_3_0 - 0.00634920634920656*G8_3_1 - 0.0317460317460317*G8_4_0 - 0.031746031746032*G8_4_1 - 0.0634920634920634*G8_5_0 - 0.0634920634920639*G8_5_1 - 0.0190476190476191*G9_0_0 [...]
+ A[76] = -0.666666666666668*G0_0_0_0 - 0.666666666666667*G0_0_1_0 - 0.666666666666668*G2_0_0_0 - 0.666666666666667*G2_0_1_0 - 0.0126984126984127*G8_0_0 + 0.0190476190476191*G8_1_0 - 0.00793650793650793*G8_2_0 + 0.0317460317460317*G8_3_0 + 0.0063492063492063*G8_4_0 + 0.0634920634920634*G8_5_0 + 0.0126984126984127*G9_0_0 + 0.0126984126984127*G9_0_1 + 0.0190476190476191*G9_1_0 - 0.00634920634920637*G9_2_1 - 0.00634920634920635*G9_3_0 + 0.019047619047619*G9_3_1 + 0.00634920634920635*G9_4_ [...]
+ A[77] = -0.00634920634920636*G8_0_1 - 0.00634920634920637*G8_1_1 + 0.00476190476190476*G8_2_1 + 0.00634920634920642*G8_3_1 + 0.00634920634920642*G8_4_1 - 0.0380952380952381*G8_5_1 + 0.00793650793650793*G9_0_0 + 0.00793650793650799*G9_0_1 - 0.00793650793650793*G9_1_0 + 0.00476190476190476*G9_2_1 - 0.00634920634920632*G9_3_0 - 0.0190476190476189*G9_3_1 + 0.00634920634920632*G9_4_0 - 0.0126984126984128*G9_4_1 + 0.0190476190476191*G9_5_1 - 0.00634920634920636*G11_1_6 - 0.0063492063492063 [...]
+ A[78] = -0.666666666666666*G0_0_0_1 - 0.666666666666665*G0_0_1_0 - 1.33333333333333*G0_0_1_1 - 0.666666666666666*G2_0_0_1 - 0.666666666666665*G2_0_1_0 - 1.33333333333333*G2_0_1_1 - 0.00634920634920634*G8_0_0 - 0.0126984126984127*G8_0_1 - 0.00634920634920635*G8_1_0 + 0.019047619047619*G8_1_1 - 0.00634920634920632*G8_2_0 - 0.0190476190476189*G8_2_1 + 0.0507936507936507*G8_3_0 + 0.0761904761904757*G8_3_1 + 0.0507936507936507*G8_4_0 + 0.0507936507936502*G8_4_1 + 0.0507936507936507*G8_5_0 [...]
+ A[79] = 0.666666666666666*G0_0_0_1 + 0.666666666666665*G0_0_1_0 + 0.666666666666666*G2_0_0_1 + 0.666666666666665*G2_0_1_0 + 0.00634920634920634*G8_0_0 + 0.0253968253968254*G8_0_1 + 0.00634920634920635*G8_1_0 - 0.00634920634920631*G8_1_1 + 0.00634920634920632*G8_2_0 - 0.0126984126984128*G8_2_1 - 0.0507936507936507*G8_3_0 - 0.0507936507936507*G8_4_0 + 0.0253968253968258*G8_4_1 - 0.0507936507936507*G8_5_0 + 0.101587301587302*G8_5_1 - 0.0317460317460317*G9_0_0 - 0.031746031746032*G9_0_1 [...]
+ A[80] = 1.33333333333334*G0_0_0_0 + 0.666666666666667*G0_0_0_1 + 0.666666666666667*G0_0_1_0 + 1.33333333333333*G0_0_1_1 + 1.33333333333334*G2_0_0_0 + 0.666666666666667*G2_0_0_1 + 0.666666666666667*G2_0_1_0 + 1.33333333333333*G2_0_1_1 + 0.0317460317460318*G8_0_0 + 0.0126984126984127*G8_0_1 - 0.0317460317460318*G8_1_0 - 0.0190476190476191*G8_1_1 + 0.0190476190476191*G8_2_1 - 0.0253968253968254*G8_3_0 - 0.0761904761904763*G8_3_1 + 0.0253968253968254*G8_4_0 - 0.0507936507936508*G8_4_1 - [...]
+ A[81] = -0.0190476190476191*G10_0_0 - 0.019047619047619*G10_0_1 - 0.0126984126984127*G10_1_0 - 0.00634920634920636*G10_2_1 - 0.00634920634920634*G10_3_0 - 0.0126984126984127*G10_3_1 + 0.00634920634920634*G10_4_0 + 0.0253968253968254*G10_4_1 + 0.0317460317460318*G10_5_0 + 0.0126984126984127*G10_5_1;
+ A[82] = 0.0126984126984127*G10_0_0 + 0.0126984126984127*G10_0_1 + 0.0190476190476191*G10_1_0 - 0.00634920634920637*G10_2_1 - 0.00634920634920635*G10_3_0 + 0.0190476190476191*G10_3_1 + 0.00634920634920635*G10_4_0 - 0.00634920634920631*G10_4_1 - 0.0317460317460318*G10_5_0 - 0.0190476190476191*G10_5_1;
+ A[83] = 0.00793650793650793*G10_0_0 + 0.00793650793650799*G10_0_1 - 0.00793650793650793*G10_1_0 + 0.00476190476190476*G10_2_1 - 0.00634920634920632*G10_3_0 - 0.0190476190476189*G10_3_1 + 0.00634920634920632*G10_4_0 - 0.0126984126984128*G10_4_1 + 0.0190476190476191*G10_5_1;
+ A[84] = -0.0063492063492063*G10_0_0 - 0.00634920634920656*G10_0_1 + 0.0317460317460317*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0761904761904756*G10_3_1 - 0.0507936507936507*G10_4_0 - 0.0253968253968254*G10_5_0 - 0.0761904761904763*G10_5_1;
+ A[85] = -0.0317460317460317*G10_0_0 - 0.031746031746032*G10_0_1 + 0.0063492063492063*G10_1_0 + 0.00634920634920642*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.0507936507936502*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.0253968253968258*G10_4_1 + 0.0253968253968254*G10_5_0 - 0.0507936507936508*G10_5_1;
+ A[86] = -0.0634920634920634*G10_0_0 - 0.0634920634920639*G10_0_1 + 0.0634920634920634*G10_1_0 - 0.0380952380952381*G10_2_1 + 0.0507936507936507*G10_3_0 + 0.152380952380951*G10_3_1 - 0.0507936507936507*G10_4_0 + 0.101587301587302*G10_4_1 - 0.152380952380952*G10_5_1;
A[87] = -0.166666666666667*G4_0 + 0.166666666666667*G4_1;
A[88] = 0.166666666666667*G4_0 + 0.333333333333333*G4_1;
A[89] = 0.166666666666667*G4_1;
- A[90] = -0.030952380952381*G13_6_0 - 0.030952380952381*G13_6_1 - 0.00714285714285719*G13_7_0 - 0.00714285714285714*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.00952380952380934*G13_9_1 - 0.0095238095238095*G13_10_0 + 0.0380952380952382*G13_10_1 + 0.0380952380952382*G13_11_0 - 0.00952380952380951*G13_11_1;
- A[91] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507936*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920635*G13_11_1;
- A[92] = 0.00357142857142858*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650795*G13_11_0 - 0.00158730158730159*G13_11_1;
- A[93] = -0.00476190476190477*G13_6_0 - 0.00476190476190471*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
- A[94] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920638*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
- A[95] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[96] = 0.5*G1_0_0_0 + 0.5*G1_0_0_1 + 0.5*G1_0_1_0 + 0.500000000000001*G1_0_1_1 + 0.5*G3_0_0_0 + 0.5*G3_0_0_1 + 0.5*G3_0_1_0 + 0.500000000000001*G3_0_1_1 - 0.030952380952381*G12_0_0 - 0.030952380952381*G12_0_1 + 0.00357142857142857*G12_1_0 + 0.00357142857142858*G12_1_1 + 0.00357142857142858*G12_2_0 + 0.00357142857142859*G12_2_1 - 0.00476190476190477*G12_3_0 - 0.00476190476190471*G12_3_1 - 0.0190476190476191*G12_4_0 - 0.0190476190476191*G12_4_1 - 0.0190476190476191*G12_5_0 - 0.0190476 [...]
- A[97] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_1_0 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_1_0 - 0.00714285714285719*G12_0_0 - 0.00357142857142856*G12_1_0 + 0.00436507936507937*G12_2_0 - 0.00793650793650793*G12_3_0 - 0.00634920634920638*G12_4_0 - 0.0126984126984127*G12_5_0 - 0.00714285714285719*G14_6_0 - 0.00357142857142856*G14_7_0 + 0.00436507936507937*G14_8_0 - 0.00793650793650793*G14_9_0 - 0.00634920634920638*G14_10_0 - 0.0126984126984127*G14_11_0 + 0.00 [...]
- A[98] = 0.166666666666666*G1_0_0_1 + 0.166666666666666*G1_0_1_1 + 0.166666666666666*G3_0_0_1 + 0.166666666666666*G3_0_1_1 - 0.00714285714285714*G12_0_1 + 0.00436507936507936*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.00793650793650795*G12_3_1 - 0.0126984126984127*G12_4_1 - 0.00634920634920636*G12_5_1 - 0.00714285714285714*G14_6_1 + 0.00436507936507936*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.00793650793650795*G14_9_1 - 0.0126984126984127*G14_10_1 - 0.00634920634920636*G14_11_1 + 0.00 [...]
- A[99] = 0.0095238095238095*G12_0_0 + 0.00952380952380934*G12_0_1 + 0.00158730158730159*G12_1_0 - 0.00634920634920631*G12_1_1 - 0.00634920634920634*G12_2_0 + 0.00158730158730162*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0190476190476189*G12_3_1 - 0.0126984126984127*G12_4_0 - 0.00634920634920631*G12_4_1 - 0.00634920634920634*G12_5_0 - 0.0126984126984127*G12_5_1 + 0.0095238095238095*G14_6_0 + 0.00952380952380934*G14_6_1 + 0.00158730158730159*G14_7_0 - 0.00634920634920631*G14_7_1 - 0.00634 [...]
- A[100] = -0.666666666666668*G1_0_0_1 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_0_1 - 0.666666666666668*G3_0_1_1 - 0.0095238095238095*G12_0_0 + 0.0380952380952382*G12_0_1 - 0.00158730158730159*G12_1_0 - 0.00793650793650796*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.019047619047619*G12_3_0 + 0.0126984126984126*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0317460317460317*G12_4_1 + 0.00634920634920634*G12_5_0 + 0.0253968253968254*G12_5_1 - 0.0095238095238095*G14_6_0 + 0.038095238 [...]
- A[101] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 + 0.0380952380952382*G12_0_0 - 0.00952380952380951*G12_0_1 + 0.00634920634920635*G12_1_1 - 0.00793650793650795*G12_2_0 - 0.00158730158730159*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 + 0.0253968253968254*G12_4_0 + 0.00634920634920635*G12_4_1 + 0.0317460317460318*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0380952380952382*G14_6_0 - 0.00952380 [...]
- A[102] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
+ A[90] = -0.030952380952381*G13_6_0 - 0.030952380952381*G13_6_1 - 0.00714285714285719*G13_7_0 - 0.00714285714285714*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.00952380952380934*G13_9_1 - 0.0095238095238095*G13_10_0 + 0.0380952380952382*G13_10_1 + 0.0380952380952381*G13_11_0 - 0.00952380952380951*G13_11_1;
+ A[91] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507937*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920634*G13_11_1;
+ A[92] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650794*G13_11_0 - 0.00158730158730159*G13_11_1;
+ A[93] = -0.00476190476190477*G13_6_0 - 0.0047619047619047*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
+ A[94] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920637*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
+ A[95] = -0.0190476190476191*G13_6_0 - 0.019047619047619*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920635*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920635*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[96] = 0.5*G1_0_0_0 + 0.5*G1_0_0_1 + 0.5*G1_0_1_0 + 0.500000000000002*G1_0_1_1 + 0.5*G3_0_0_0 + 0.5*G3_0_0_1 + 0.5*G3_0_1_0 + 0.500000000000002*G3_0_1_1 - 0.030952380952381*G12_0_0 - 0.030952380952381*G12_0_1 + 0.00357142857142857*G12_1_0 + 0.00357142857142858*G12_1_1 + 0.00357142857142857*G12_2_0 + 0.00357142857142858*G12_2_1 - 0.00476190476190477*G12_3_0 - 0.0047619047619047*G12_3_1 - 0.0190476190476191*G12_4_0 - 0.0190476190476191*G12_4_1 - 0.0190476190476191*G12_5_0 - 0.01904761 [...]
+ A[97] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_1_0 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_1_0 - 0.00714285714285719*G12_0_0 - 0.00357142857142856*G12_1_0 + 0.00436507936507937*G12_2_0 - 0.00793650793650793*G12_3_0 - 0.00634920634920637*G12_4_0 - 0.0126984126984127*G12_5_0 - 0.00714285714285719*G14_6_0 - 0.00357142857142856*G14_7_0 + 0.00436507936507937*G14_8_0 - 0.00793650793650793*G14_9_0 - 0.00634920634920637*G14_10_0 - 0.0126984126984127*G14_11_0 + 0.00 [...]
+ A[98] = 0.166666666666667*G1_0_0_1 + 0.166666666666666*G1_0_1_1 + 0.166666666666667*G3_0_0_1 + 0.166666666666666*G3_0_1_1 - 0.00714285714285714*G12_0_1 + 0.00436507936507937*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.00793650793650795*G12_3_1 - 0.0126984126984127*G12_4_1 - 0.00634920634920636*G12_5_1 - 0.00714285714285714*G14_6_1 + 0.00436507936507937*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.00793650793650795*G14_9_1 - 0.0126984126984127*G14_10_1 - 0.00634920634920636*G14_11_1 + 0.00 [...]
+ A[99] = 0.0095238095238095*G12_0_0 + 0.00952380952380934*G12_0_1 + 0.00158730158730159*G12_1_0 - 0.00634920634920631*G12_1_1 - 0.00634920634920634*G12_2_0 + 0.00158730158730162*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0190476190476189*G12_3_1 - 0.0126984126984127*G12_4_0 - 0.00634920634920631*G12_4_1 - 0.00634920634920635*G12_5_0 - 0.0126984126984127*G12_5_1 + 0.0095238095238095*G14_6_0 + 0.00952380952380934*G14_6_1 + 0.00158730158730159*G14_7_0 - 0.00634920634920631*G14_7_1 - 0.00634 [...]
+ A[100] = -0.666666666666668*G1_0_0_1 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_0_1 - 0.666666666666668*G3_0_1_1 - 0.0095238095238095*G12_0_0 + 0.0380952380952382*G12_0_1 - 0.00158730158730159*G12_1_0 - 0.00793650793650796*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.019047619047619*G12_3_0 + 0.0126984126984126*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0317460317460317*G12_4_1 + 0.00634920634920635*G12_5_0 + 0.0253968253968254*G12_5_1 - 0.0095238095238095*G14_6_0 + 0.038095238 [...]
+ A[101] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 + 0.0380952380952381*G12_0_0 - 0.00952380952380951*G12_0_1 + 0.00634920634920634*G12_1_1 - 0.00793650793650794*G12_2_0 - 0.00158730158730159*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 + 0.0253968253968254*G12_4_0 + 0.00634920634920635*G12_4_1 + 0.0317460317460318*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.0380952380952381*G14_6_0 - 0.00952380 [...]
+ A[102] = 0.166666666666667*G5_0 + 0.166666666666668*G5_1;
A[103] = 0.0;
A[104] = 0.0;
- A[105] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507936*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920635*G13_11_1;
- A[106] = 0.00714285714285716*G13_6_0 + 0.00714285714285705*G13_6_1 + 0.0309523809523809*G13_7_0 - 0.00714285714285712*G13_8_1 + 0.00952380952380949*G13_9_0 + 0.0476190476190473*G13_9_1 - 0.00952380952380949*G13_10_0 - 0.0380952380952381*G13_11_0 - 0.0476190476190476*G13_11_1;
- A[107] = -0.00436507936507936*G13_6_0 - 0.00436507936507934*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.00634920634920629*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[108] = 0.00634920634920635*G13_6_0 + 0.00634920634920634*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.019047619047619*G13_11_1;
- A[109] = 0.00793650793650793*G13_6_0 + 0.00793650793650798*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920621*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[110] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00634920634920632*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
- A[111] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_0_1 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_0_1 + 0.00357142857142857*G12_0_0 + 0.00357142857142858*G12_0_1 + 0.00714285714285716*G12_1_0 + 0.00714285714285705*G12_1_1 - 0.00436507936507936*G12_2_0 - 0.00436507936507934*G12_2_1 + 0.00634920634920635*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.00793650793650793*G12_4_0 + 0.00793650793650798*G12_4_1 + 0.0126984126984127*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.003 [...]
- A[112] = 0.5*G1_0_0_0 + 0.5*G3_0_0_0 - 0.00357142857142856*G12_0_0 + 0.0309523809523809*G12_1_0 - 0.00357142857142857*G12_2_0 + 0.019047619047619*G12_3_0 + 0.00476190476190477*G12_4_0 + 0.0190476190476191*G12_5_0 - 0.00357142857142856*G14_6_0 + 0.0309523809523809*G14_7_0 - 0.00357142857142857*G14_8_0 + 0.019047619047619*G14_9_0 + 0.00476190476190477*G14_10_0 + 0.0190476190476191*G14_11_0 + 0.00714285714285716*G15_6_0 + 0.00714285714285705*G15_6_1 + 0.0309523809523809*G15_7_0 - 0.0071 [...]
- A[113] = -0.166666666666667*G1_0_0_1 - 0.166666666666667*G3_0_0_1 + 0.00436507936507936*G12_0_1 - 0.00714285714285712*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.0126984126984127*G12_3_1 - 0.00793650793650795*G12_4_1 - 0.00634920634920636*G12_5_1 + 0.00436507936507936*G14_6_1 - 0.00714285714285712*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.0126984126984127*G14_9_1 - 0.00793650793650795*G14_10_1 - 0.00634920634920636*G14_11_1 - 0.00436507936507936*G15_6_0 - 0.00436507936507934*G15_6_1 - [...]
- A[114] = 0.666666666666664*G1_0_0_1 + 0.666666666666664*G3_0_0_1 + 0.00158730158730159*G12_0_0 - 0.00634920634920631*G12_0_1 + 0.00952380952380949*G12_1_0 + 0.0476190476190473*G12_1_1 - 0.00634920634920633*G12_2_0 - 0.00634920634920629*G12_2_1 - 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 - 0.019047619047619*G12_4_0 - 0.00634920634920621*G12_4_1 - 0.00634920634920634*G12_5_0 + 0.019047619047619*G12_5_1 + 0.00158730158730159*G14_6_0 - 0.00634920634920631*G14_6_1 + 0.0095238 [...]
- A[115] = -0.00158730158730159*G12_0_0 - 0.00793650793650796*G12_0_1 - 0.00952380952380949*G12_1_0 + 0.00634920634920633*G12_2_0 + 0.0079365079365079*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.00634920634920637*G12_3_1 + 0.019047619047619*G12_4_0 + 0.00634920634920634*G12_5_0 - 0.00634920634920632*G12_5_1 - 0.00158730158730159*G14_6_0 - 0.00793650793650796*G14_6_1 - 0.00952380952380949*G14_7_0 + 0.00634920634920633*G14_8_0 + 0.0079365079365079*G14_8_1 + 0.0126984126984127*G14_9_0 + 0.00 [...]
- A[116] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 + 0.00634920634920635*G12_0_1 - 0.0380952380952381*G12_1_0 - 0.0476190476190476*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00634920634920634*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.019047619047619*G12_3_1 - 0.0126984126984127*G12_4_0 + 0.00634920634920634*G12_4_1 - 0.0317460317460318*G12_5_0 - 0.0190476190476191*G12_5_1 + 0.00634920634920635*G14_6_1 - 0.03809523 [...]
+ A[105] = 0.00357142857142857*G13_6_0 + 0.00357142857142858*G13_6_1 - 0.00357142857142856*G13_7_0 + 0.00436507936507937*G13_8_1 + 0.00158730158730159*G13_9_0 - 0.00634920634920631*G13_9_1 - 0.00158730158730159*G13_10_0 - 0.00793650793650796*G13_10_1 + 0.00634920634920634*G13_11_1;
+ A[106] = 0.00714285714285716*G13_6_0 + 0.00714285714285705*G13_6_1 + 0.0309523809523809*G13_7_0 - 0.00714285714285713*G13_8_1 + 0.0095238095238095*G13_9_0 + 0.0476190476190474*G13_9_1 - 0.0095238095238095*G13_10_0 - 0.0380952380952381*G13_11_0 - 0.0476190476190476*G13_11_1;
+ A[107] = -0.00436507936507936*G13_6_0 - 0.00436507936507935*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0063492063492063*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
+ A[108] = 0.00634920634920636*G13_6_0 + 0.00634920634920635*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[109] = 0.00793650793650794*G13_6_0 + 0.00793650793650799*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650796*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920622*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[110] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920637*G13_8_1 - 0.00634920634920635*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920635*G13_10_0 - 0.00634920634920631*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[111] = 0.166666666666668*G1_0_0_0 + 0.166666666666666*G1_0_0_1 + 0.166666666666668*G3_0_0_0 + 0.166666666666666*G3_0_0_1 + 0.00357142857142857*G12_0_0 + 0.00357142857142858*G12_0_1 + 0.00714285714285716*G12_1_0 + 0.00714285714285705*G12_1_1 - 0.00436507936507936*G12_2_0 - 0.00436507936507935*G12_2_1 + 0.00634920634920636*G12_3_0 + 0.00634920634920635*G12_3_1 + 0.00793650793650794*G12_4_0 + 0.00793650793650799*G12_4_1 + 0.0126984126984127*G12_5_0 + 0.0126984126984127*G12_5_1 + 0.003 [...]
+ A[112] = 0.5*G1_0_0_0 + 0.5*G3_0_0_0 - 0.00357142857142856*G12_0_0 + 0.0309523809523809*G12_1_0 - 0.00357142857142857*G12_2_0 + 0.019047619047619*G12_3_0 + 0.00476190476190477*G12_4_0 + 0.0190476190476191*G12_5_0 - 0.00357142857142856*G14_6_0 + 0.0309523809523809*G14_7_0 - 0.00357142857142857*G14_8_0 + 0.019047619047619*G14_9_0 + 0.00476190476190477*G14_10_0 + 0.0190476190476191*G14_11_0 + 0.00714285714285716*G15_6_0 + 0.00714285714285705*G15_6_1 + 0.0309523809523809*G15_7_0 - 0.0071 [...]
+ A[113] = -0.166666666666667*G1_0_0_1 - 0.166666666666667*G3_0_0_1 + 0.00436507936507937*G12_0_1 - 0.00714285714285713*G12_1_1 - 0.00357142857142857*G12_2_1 - 0.0126984126984127*G12_3_1 - 0.00793650793650796*G12_4_1 - 0.00634920634920637*G12_5_1 + 0.00436507936507937*G14_6_1 - 0.00714285714285713*G14_7_1 - 0.00357142857142857*G14_8_1 - 0.0126984126984127*G14_9_1 - 0.00793650793650796*G14_10_1 - 0.00634920634920637*G14_11_1 - 0.00436507936507936*G15_6_0 - 0.00436507936507935*G15_6_1 - [...]
+ A[114] = 0.666666666666664*G1_0_0_1 + 0.666666666666664*G3_0_0_1 + 0.00158730158730159*G12_0_0 - 0.00634920634920631*G12_0_1 + 0.0095238095238095*G12_1_0 + 0.0476190476190474*G12_1_1 - 0.00634920634920633*G12_2_0 - 0.0063492063492063*G12_2_1 - 0.0126984126984127*G12_3_0 + 0.019047619047619*G12_3_1 - 0.019047619047619*G12_4_0 - 0.00634920634920622*G12_4_1 - 0.00634920634920635*G12_5_0 + 0.019047619047619*G12_5_1 + 0.00158730158730159*G14_6_0 - 0.00634920634920631*G14_6_1 + 0.009523809 [...]
+ A[115] = -0.00158730158730159*G12_0_0 - 0.00793650793650796*G12_0_1 - 0.0095238095238095*G12_1_0 + 0.00634920634920633*G12_2_0 + 0.0079365079365079*G12_2_1 + 0.0126984126984127*G12_3_0 + 0.00634920634920637*G12_3_1 + 0.019047619047619*G12_4_0 + 0.00634920634920635*G12_5_0 - 0.00634920634920631*G12_5_1 - 0.00158730158730159*G14_6_0 - 0.00793650793650796*G14_6_1 - 0.0095238095238095*G14_7_0 + 0.00634920634920633*G14_8_0 + 0.0079365079365079*G14_8_1 + 0.0126984126984127*G14_9_0 + 0.0063 [...]
+ A[116] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 + 0.00634920634920634*G12_0_1 - 0.0380952380952381*G12_1_0 - 0.0476190476190476*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00634920634920634*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0190476190476191*G12_3_1 - 0.0126984126984127*G12_4_0 + 0.00634920634920636*G12_4_1 - 0.0317460317460318*G12_5_0 - 0.0190476190476191*G12_5_1 + 0.00634920634920634*G14_6_1 - 0.0380952 [...]
A[117] = 0.0;
A[118] = -0.166666666666667*G5_0;
A[119] = 0.0;
- A[120] = 0.00357142857142858*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650795*G13_11_0 - 0.00158730158730159*G13_11_1;
- A[121] = -0.00436507936507936*G13_6_0 - 0.00436507936507934*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.00634920634920629*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[122] = 0.00714285714285713*G13_6_0 + 0.00714285714285705*G13_6_1 - 0.00714285714285715*G13_7_0 + 0.030952380952381*G13_8_1 + 0.0476190476190475*G13_9_0 + 0.00952380952380926*G13_9_1 - 0.0476190476190475*G13_10_0 - 0.0380952380952379*G13_10_1 - 0.00952380952380948*G13_11_1;
- A[123] = 0.00634920634920633*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920635*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[124] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920635*G13_7_0 + 0.0190476190476191*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920638*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
- A[125] = 0.00793650793650792*G13_6_0 + 0.00793650793650798*G13_6_1 - 0.00793650793650792*G13_7_0 + 0.00476190476190475*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920633*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.019047619047619*G13_11_1;
- A[126] = 0.166666666666666*G1_0_1_0 + 0.166666666666666*G1_0_1_1 + 0.166666666666666*G3_0_1_0 + 0.166666666666666*G3_0_1_1 + 0.00357142857142858*G12_0_0 + 0.00357142857142859*G12_0_1 - 0.00436507936507936*G12_1_0 - 0.00436507936507934*G12_1_1 + 0.00714285714285713*G12_2_0 + 0.00714285714285705*G12_2_1 + 0.00634920634920633*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0126984126984127*G12_4_1 + 0.00793650793650792*G12_5_0 + 0.00793650793650798*G12_5_1 + 0.003 [...]
- A[127] = -0.166666666666667*G1_0_1_0 - 0.166666666666667*G3_0_1_0 + 0.00436507936507937*G12_0_0 - 0.00357142857142857*G12_1_0 - 0.00714285714285715*G12_2_0 - 0.0126984126984127*G12_3_0 - 0.00634920634920635*G12_4_0 - 0.00793650793650792*G12_5_0 + 0.00436507936507937*G14_6_0 - 0.00357142857142857*G14_7_0 - 0.00714285714285715*G14_8_0 - 0.0126984126984127*G14_9_0 - 0.00634920634920635*G14_10_0 - 0.00793650793650792*G14_11_0 - 0.00436507936507936*G15_6_0 - 0.00436507936507934*G15_6_1 - [...]
- A[128] = 0.5*G1_0_1_1 + 0.5*G3_0_1_1 - 0.00357142857142857*G12_0_1 - 0.00357142857142857*G12_1_1 + 0.030952380952381*G12_2_1 + 0.019047619047619*G12_3_1 + 0.0190476190476191*G12_4_1 + 0.00476190476190475*G12_5_1 - 0.00357142857142857*G14_6_1 - 0.00357142857142857*G14_7_1 + 0.030952380952381*G14_8_1 + 0.019047619047619*G14_9_1 + 0.0190476190476191*G14_10_1 + 0.00476190476190475*G14_11_1 + 0.00714285714285713*G15_6_0 + 0.00714285714285705*G15_6_1 - 0.00714285714285715*G15_7_0 + 0.03095 [...]
- A[129] = 0.666666666666667*G1_0_1_0 + 0.666666666666667*G3_0_1_0 - 0.00634920634920634*G12_0_0 + 0.00158730158730162*G12_0_1 - 0.00634920634920633*G12_1_0 - 0.00634920634920629*G12_1_1 + 0.0476190476190475*G12_2_0 + 0.00952380952380926*G12_2_1 + 0.019047619047619*G12_3_0 - 0.0126984126984127*G12_3_1 + 0.019047619047619*G12_4_0 - 0.00634920634920638*G12_4_1 - 0.00634920634920633*G12_5_0 - 0.0190476190476189*G12_5_1 - 0.00634920634920634*G14_6_0 + 0.00158730158730162*G14_6_1 - 0.006349 [...]
- A[130] = -0.666666666666667*G1_0_1_0 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_1_0 - 0.666666666666665*G3_0_1_1 + 0.00634920634920634*G12_0_0 + 0.00634920634920633*G12_1_0 + 0.0079365079365079*G12_1_1 - 0.0476190476190475*G12_2_0 - 0.0380952380952379*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0253968253968254*G12_3_1 - 0.019047619047619*G12_4_0 - 0.0317460317460317*G12_4_1 + 0.00634920634920633*G12_5_0 - 0.0126984126984128*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.0063492063 [...]
- A[131] = -0.00793650793650795*G12_0_0 - 0.00158730158730159*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00952380952380948*G12_2_1 + 0.00634920634920635*G12_3_0 + 0.0126984126984127*G12_3_1 - 0.00634920634920635*G12_4_0 + 0.00634920634920636*G12_4_1 + 0.019047619047619*G12_5_1 - 0.00793650793650795*G14_6_0 - 0.00158730158730159*G14_6_1 + 0.00793650793650793*G14_7_0 + 0.00634920634920634*G14_7_1 - 0.00952380952380948*G14_8_1 + 0.00634920634920635*G14_9_0 + 0 [...]
+ A[120] = 0.00357142857142857*G13_6_0 + 0.00357142857142859*G13_6_1 + 0.00436507936507937*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.00158730158730162*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00793650793650794*G13_11_0 - 0.00158730158730159*G13_11_1;
+ A[121] = -0.00436507936507936*G13_6_0 - 0.00436507936507935*G13_6_1 - 0.00357142857142857*G13_7_0 - 0.00357142857142857*G13_8_1 - 0.00634920634920633*G13_9_0 - 0.0063492063492063*G13_9_1 + 0.00634920634920633*G13_10_0 + 0.0079365079365079*G13_10_1 + 0.00793650793650793*G13_11_0 + 0.00634920634920634*G13_11_1;
+ A[122] = 0.00714285714285713*G13_6_0 + 0.00714285714285705*G13_6_1 - 0.00714285714285714*G13_7_0 + 0.030952380952381*G13_8_1 + 0.0476190476190475*G13_9_0 + 0.00952380952380927*G13_9_1 - 0.0476190476190475*G13_10_0 - 0.0380952380952379*G13_10_1 - 0.00952380952380949*G13_11_1;
+ A[123] = 0.00634920634920634*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920636*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[124] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920634*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[125] = 0.00793650793650793*G13_6_0 + 0.00793650793650799*G13_6_1 - 0.00793650793650793*G13_7_0 + 0.00476190476190476*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.0190476190476191*G13_11_1;
+ A[126] = 0.166666666666667*G1_0_1_0 + 0.166666666666666*G1_0_1_1 + 0.166666666666667*G3_0_1_0 + 0.166666666666666*G3_0_1_1 + 0.00357142857142857*G12_0_0 + 0.00357142857142859*G12_0_1 - 0.00436507936507936*G12_1_0 - 0.00436507936507935*G12_1_1 + 0.00714285714285713*G12_2_0 + 0.00714285714285705*G12_2_1 + 0.00634920634920634*G12_3_0 + 0.00634920634920634*G12_3_1 + 0.0126984126984127*G12_4_0 + 0.0126984126984127*G12_4_1 + 0.00793650793650793*G12_5_0 + 0.00793650793650799*G12_5_1 + 0.003 [...]
+ A[127] = -0.166666666666667*G1_0_1_0 - 0.166666666666667*G3_0_1_0 + 0.00436507936507937*G12_0_0 - 0.00357142857142857*G12_1_0 - 0.00714285714285714*G12_2_0 - 0.0126984126984127*G12_3_0 - 0.00634920634920634*G12_4_0 - 0.00793650793650793*G12_5_0 + 0.00436507936507937*G14_6_0 - 0.00357142857142857*G14_7_0 - 0.00714285714285714*G14_8_0 - 0.0126984126984127*G14_9_0 - 0.00634920634920634*G14_10_0 - 0.00793650793650793*G14_11_0 - 0.00436507936507936*G15_6_0 - 0.00436507936507935*G15_6_1 - [...]
+ A[128] = 0.5*G1_0_1_1 + 0.5*G3_0_1_1 - 0.00357142857142857*G12_0_1 - 0.00357142857142857*G12_1_1 + 0.030952380952381*G12_2_1 + 0.019047619047619*G12_3_1 + 0.019047619047619*G12_4_1 + 0.00476190476190476*G12_5_1 - 0.00357142857142857*G14_6_1 - 0.00357142857142857*G14_7_1 + 0.030952380952381*G14_8_1 + 0.019047619047619*G14_9_1 + 0.019047619047619*G14_10_1 + 0.00476190476190476*G14_11_1 + 0.00714285714285713*G15_6_0 + 0.00714285714285705*G15_6_1 - 0.00714285714285714*G15_7_0 + 0.0309523 [...]
+ A[129] = 0.666666666666667*G1_0_1_0 + 0.666666666666667*G3_0_1_0 - 0.00634920634920634*G12_0_0 + 0.00158730158730162*G12_0_1 - 0.00634920634920633*G12_1_0 - 0.0063492063492063*G12_1_1 + 0.0476190476190475*G12_2_0 + 0.00952380952380927*G12_2_1 + 0.019047619047619*G12_3_0 - 0.0126984126984127*G12_3_1 + 0.019047619047619*G12_4_0 - 0.00634920634920637*G12_4_1 - 0.00634920634920632*G12_5_0 - 0.0190476190476189*G12_5_1 - 0.00634920634920634*G14_6_0 + 0.00158730158730162*G14_6_1 - 0.0063492 [...]
+ A[130] = -0.666666666666667*G1_0_1_0 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_1_0 - 0.666666666666665*G3_0_1_1 + 0.00634920634920634*G12_0_0 + 0.00634920634920633*G12_1_0 + 0.0079365079365079*G12_1_1 - 0.0476190476190475*G12_2_0 - 0.0380952380952379*G12_2_1 - 0.019047619047619*G12_3_0 - 0.0253968253968254*G12_3_1 - 0.019047619047619*G12_4_0 - 0.0317460317460317*G12_4_1 + 0.00634920634920632*G12_5_0 - 0.0126984126984128*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.0063492063 [...]
+ A[131] = -0.00793650793650794*G12_0_0 - 0.00158730158730159*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00952380952380949*G12_2_1 + 0.00634920634920636*G12_3_0 + 0.0126984126984127*G12_3_1 - 0.00634920634920635*G12_4_0 + 0.00634920634920636*G12_4_1 + 0.0190476190476191*G12_5_1 - 0.00793650793650794*G14_6_0 - 0.00158730158730159*G14_6_1 + 0.00793650793650793*G14_7_0 + 0.00634920634920634*G14_7_1 - 0.00952380952380949*G14_8_1 + 0.00634920634920636*G14_9_0 + [...]
A[132] = 0.0;
A[133] = 0.0;
A[134] = -0.166666666666667*G5_1;
- A[135] = -0.00476190476190477*G13_6_0 - 0.00476190476190471*G13_6_1 - 0.00793650793650794*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
- A[136] = 0.00634920634920635*G13_6_0 + 0.00634920634920634*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.019047619047619*G13_11_1;
- A[137] = 0.00634920634920633*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920635*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[138] = 0.0380952380952381*G13_6_0 + 0.0380952380952376*G13_6_1 + 0.0634920634920634*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.152380952380951*G13_9_1 - 0.152380952380952*G13_10_0 - 0.101587301587301*G13_10_1 - 0.101587301587302*G13_11_0 - 0.152380952380952*G13_11_1;
- A[139] = -0.00634920634920632*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.00634920634920632*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.076190476190476*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.076190476190476*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
- A[140] = -0.00634920634920629*G13_6_0 - 0.00634920634920655*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904762*G13_11_1;
- A[141] = -0.00476190476190477*G12_0_0 - 0.00476190476190471*G12_0_1 + 0.00634920634920635*G12_1_0 + 0.00634920634920634*G12_1_1 + 0.00634920634920633*G12_2_0 + 0.00634920634920634*G12_2_1 + 0.0380952380952381*G12_3_0 + 0.0380952380952376*G12_3_1 - 0.00634920634920632*G12_4_0 - 0.00634920634920656*G12_4_1 - 0.00634920634920629*G12_5_0 - 0.00634920634920655*G12_5_1 - 0.00476190476190477*G14_6_0 - 0.00476190476190471*G14_6_1 + 0.00634920634920635*G14_7_0 + 0.00634920634920634*G14_7_1 + [...]
- A[142] = 0.666666666666664*G1_0_1_0 + 0.666666666666664*G3_0_1_0 - 0.00793650793650794*G12_0_0 + 0.019047619047619*G12_1_0 - 0.0126984126984127*G12_2_0 + 0.0634920634920634*G12_3_0 + 0.00634920634920632*G12_4_0 + 0.0317460317460317*G12_5_0 - 0.00793650793650794*G14_6_0 + 0.019047619047619*G14_7_0 - 0.0126984126984127*G14_8_0 + 0.0634920634920634*G14_9_0 + 0.00634920634920632*G14_10_0 + 0.0317460317460317*G14_11_0 + 0.00634920634920635*G15_6_0 + 0.00634920634920634*G15_6_1 + 0.0190476 [...]
- A[143] = 0.666666666666667*G1_0_0_1 + 0.666666666666667*G3_0_0_1 - 0.00793650793650795*G12_0_1 - 0.0126984126984127*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0634920634920636*G12_3_1 + 0.0317460317460318*G12_4_1 + 0.00634920634920641*G12_5_1 - 0.00793650793650795*G14_6_1 - 0.0126984126984127*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0634920634920636*G14_9_1 + 0.0317460317460318*G14_10_1 + 0.00634920634920641*G14_11_1 + 0.00634920634920633*G15_6_0 + 0.00634920634920634*G15_6_1 - 0.0126984 [...]
- A[144] = 1.33333333333333*G1_0_0_0 + 0.666666666666656*G1_0_0_1 + 0.666666666666656*G1_0_1_0 + 1.33333333333332*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666656*G3_0_0_1 + 0.666666666666656*G3_0_1_0 + 1.33333333333332*G3_0_1_1 - 0.019047619047619*G12_0_0 - 0.0190476190476189*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.019047619047619*G12_1_1 + 0.019047619047619*G12_2_0 - 0.0126984126984127*G12_2_1 + 0.152380952380952*G12_3_0 + 0.152380952380951*G12_3_1 + 0.076190476190476*G12_4_ [...]
- A[145] = -1.33333333333333*G1_0_0_0 - 0.666666666666659*G1_0_0_1 - 0.666666666666656*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666659*G3_0_0_1 - 0.666666666666656*G3_0_1_0 + 0.019047619047619*G12_0_0 + 0.0126984126984126*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.00634920634920637*G12_1_1 - 0.019047619047619*G12_2_0 - 0.0253968253968254*G12_2_1 - 0.152380952380952*G12_3_0 - 0.101587301587301*G12_3_1 - 0.076190476190476*G12_4_0 - 0.025396825396825*G12_4_1 - 0.0507936507936507*G1 [...]
- A[146] = -0.666666666666665*G1_0_0_1 - 0.666666666666666*G1_0_1_0 - 1.33333333333332*G1_0_1_1 - 0.666666666666665*G3_0_0_1 - 0.666666666666666*G3_0_1_0 - 1.33333333333332*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.019047619047619*G12_0_1 - 0.0253968253968254*G12_1_0 - 0.019047619047619*G12_1_1 + 0.00634920634920635*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.101587301587302*G12_3_0 - 0.152380952380952*G12_3_1 - 0.0507936507936508*G12_4_1 - 0.0253968253968254*G12_5_0 - 0.0761904761904762* [...]
+ A[135] = -0.00476190476190477*G13_6_0 - 0.0047619047619047*G13_6_1 - 0.00793650793650793*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.019047619047619*G13_10_0 + 0.0126984126984126*G13_10_1 + 0.0126984126984127*G13_11_0 + 0.019047619047619*G13_11_1;
+ A[136] = 0.00634920634920636*G13_6_0 + 0.00634920634920635*G13_6_1 + 0.019047619047619*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 + 0.019047619047619*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.00634920634920637*G13_10_1 - 0.0253968253968254*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[137] = 0.00634920634920634*G13_6_0 + 0.00634920634920634*G13_6_1 - 0.0126984126984127*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.0126984126984127*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0253968253968254*G13_10_1 + 0.00634920634920636*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[138] = 0.0380952380952381*G13_6_0 + 0.0380952380952376*G13_6_1 + 0.0634920634920635*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.152380952380951*G13_9_1 - 0.152380952380952*G13_10_0 - 0.101587301587301*G13_10_1 - 0.101587301587302*G13_11_0 - 0.152380952380952*G13_11_1;
+ A[139] = -0.00634920634920633*G13_6_0 - 0.00634920634920657*G13_6_1 + 0.00634920634920633*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.0761904761904761*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0761904761904761*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
+ A[140] = -0.0063492063492063*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904763*G13_11_1;
+ A[141] = -0.00476190476190477*G12_0_0 - 0.0047619047619047*G12_0_1 + 0.00634920634920636*G12_1_0 + 0.00634920634920635*G12_1_1 + 0.00634920634920634*G12_2_0 + 0.00634920634920634*G12_2_1 + 0.0380952380952381*G12_3_0 + 0.0380952380952376*G12_3_1 - 0.00634920634920633*G12_4_0 - 0.00634920634920657*G12_4_1 - 0.0063492063492063*G12_5_0 - 0.00634920634920656*G12_5_1 - 0.00476190476190477*G14_6_0 - 0.0047619047619047*G14_6_1 + 0.00634920634920636*G14_7_0 + 0.00634920634920635*G14_7_1 + 0.0 [...]
+ A[142] = 0.666666666666664*G1_0_1_0 + 0.666666666666664*G3_0_1_0 - 0.00793650793650793*G12_0_0 + 0.019047619047619*G12_1_0 - 0.0126984126984127*G12_2_0 + 0.0634920634920635*G12_3_0 + 0.00634920634920633*G12_4_0 + 0.0317460317460317*G12_5_0 - 0.00793650793650793*G14_6_0 + 0.019047619047619*G14_7_0 - 0.0126984126984127*G14_8_0 + 0.0634920634920635*G14_9_0 + 0.00634920634920633*G14_10_0 + 0.0317460317460317*G14_11_0 + 0.00634920634920636*G15_6_0 + 0.00634920634920635*G15_6_1 + 0.0190476 [...]
+ A[143] = 0.666666666666667*G1_0_0_1 + 0.666666666666667*G3_0_0_1 - 0.00793650793650795*G12_0_1 - 0.0126984126984127*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0634920634920636*G12_3_1 + 0.0317460317460318*G12_4_1 + 0.00634920634920642*G12_5_1 - 0.00793650793650795*G14_6_1 - 0.0126984126984127*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0634920634920636*G14_9_1 + 0.0317460317460318*G14_10_1 + 0.00634920634920642*G14_11_1 + 0.00634920634920634*G15_6_0 + 0.00634920634920634*G15_6_1 - 0.0126984 [...]
+ A[144] = 1.33333333333333*G1_0_0_0 + 0.666666666666656*G1_0_0_1 + 0.666666666666656*G1_0_1_0 + 1.33333333333332*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666656*G3_0_0_1 + 0.666666666666656*G3_0_1_0 + 1.33333333333332*G3_0_1_1 - 0.019047619047619*G12_0_0 - 0.0190476190476189*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.019047619047619*G12_1_1 + 0.019047619047619*G12_2_0 - 0.0126984126984127*G12_2_1 + 0.152380952380952*G12_3_0 + 0.152380952380951*G12_3_1 + 0.0761904761904761*G12_4 [...]
+ A[145] = -1.33333333333333*G1_0_0_0 - 0.666666666666659*G1_0_0_1 - 0.666666666666656*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666659*G3_0_0_1 - 0.666666666666656*G3_0_1_0 + 0.019047619047619*G12_0_0 + 0.0126984126984126*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.00634920634920637*G12_1_1 - 0.019047619047619*G12_2_0 - 0.0253968253968254*G12_2_1 - 0.152380952380952*G12_3_0 - 0.101587301587301*G12_3_1 - 0.0761904761904761*G12_4_0 - 0.025396825396825*G12_4_1 - 0.0507936507936507*G [...]
+ A[146] = -0.666666666666665*G1_0_0_1 - 0.666666666666666*G1_0_1_0 - 1.33333333333333*G1_0_1_1 - 0.666666666666665*G3_0_0_1 - 0.666666666666666*G3_0_1_0 - 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.019047619047619*G12_0_1 - 0.0253968253968254*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.00634920634920636*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.101587301587302*G12_3_0 - 0.152380952380952*G12_3_1 - 0.0507936507936508*G12_4_1 - 0.0253968253968254*G12_5_0 - 0.0761904761904763 [...]
A[147] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
A[148] = -0.166666666666666*G5_0 - 0.333333333333331*G5_1;
A[149] = -0.333333333333333*G5_0 - 0.166666666666664*G5_1;
- A[150] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920638*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
- A[151] = 0.00793650793650793*G13_6_0 + 0.00793650793650798*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650795*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920621*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920634*G13_11_1;
- A[152] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920635*G13_7_0 + 0.0190476190476191*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
- A[153] = -0.00634920634920632*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.00634920634920632*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.076190476190476*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.076190476190476*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
- A[154] = -0.0634920634920635*G13_6_0 - 0.0634920634920639*G13_6_1 - 0.0380952380952382*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.0507936507936496*G13_9_1 - 0.152380952380952*G13_10_0 + 0.101587301587302*G13_11_0 - 0.0507936507936507*G13_11_1;
- A[155] = -0.0317460317460317*G13_6_0 - 0.0317460317460319*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
- A[156] = -0.666666666666668*G1_0_1_0 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_1_0 - 0.666666666666668*G3_0_1_1 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.00793650793650793*G12_1_0 + 0.00793650793650798*G12_1_1 + 0.0126984126984127*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.00634920634920632*G12_3_0 - 0.00634920634920656*G12_3_1 - 0.0634920634920635*G12_4_0 - 0.0634920634920639*G12_4_1 - 0.0317460317460317*G12_5_0 - 0.0317460317460319*G12_5_1 - 0.01904761 [...]
- A[157] = -0.00634920634920638*G12_0_0 + 0.00476190476190477*G12_1_0 - 0.00634920634920635*G12_2_0 + 0.00634920634920632*G12_3_0 - 0.0380952380952382*G12_4_0 + 0.0063492063492063*G12_5_0 - 0.00634920634920638*G14_6_0 + 0.00476190476190477*G14_7_0 - 0.00634920634920635*G14_8_0 + 0.00634920634920632*G14_9_0 - 0.0380952380952382*G14_10_0 + 0.0063492063492063*G14_11_0 + 0.00793650793650793*G15_6_0 + 0.00793650793650798*G15_6_1 + 0.00476190476190477*G15_7_0 - 0.00793650793650795*G15_8_1 - [...]
- A[158] = -0.666666666666667*G1_0_0_1 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_0_1 - 0.666666666666665*G3_0_1_1 - 0.0126984126984127*G12_0_1 - 0.00793650793650795*G12_1_1 + 0.0190476190476191*G12_2_1 + 0.0317460317460318*G12_3_1 + 0.0634920634920636*G12_4_1 + 0.00634920634920641*G12_5_1 - 0.0126984126984127*G14_6_1 - 0.00793650793650795*G14_7_1 + 0.0190476190476191*G14_8_1 + 0.0317460317460318*G14_9_1 + 0.0634920634920636*G14_10_1 + 0.00634920634920641*G14_11_1 + 0.012698 [...]
- A[159] = -1.33333333333333*G1_0_0_0 - 0.666666666666656*G1_0_0_1 - 0.666666666666659*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666656*G3_0_0_1 - 0.666666666666659*G3_0_1_0 - 0.0126984126984127*G12_0_0 - 0.00634920634920631*G12_0_1 - 0.019047619047619*G12_1_0 - 0.00634920634920621*G12_1_1 + 0.019047619047619*G12_2_0 - 0.00634920634920637*G12_2_1 + 0.076190476190476*G12_3_0 + 0.0507936507936502*G12_3_1 + 0.152380952380952*G12_4_0 + 0.0507936507936496*G12_4_1 + 0.050793650793650 [...]
- A[160] = 1.33333333333333*G1_0_0_0 + 0.666666666666659*G1_0_0_1 + 0.666666666666659*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666659*G3_0_0_1 + 0.666666666666659*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.0317460317460317*G12_0_1 + 0.019047619047619*G12_1_0 - 0.019047619047619*G12_2_0 - 0.0317460317460317*G12_2_1 - 0.076190476190476*G12_3_0 - 0.025396825396825*G12_3_1 - 0.152380952380952*G12_4_0 - 0.0507936507936507*G12_5 [...]
- A[161] = 0.666666666666665*G1_0_0_1 + 0.666666666666666*G1_0_1_0 + 0.666666666666665*G3_0_0_1 + 0.666666666666666*G3_0_1_0 + 0.0253968253968254*G12_0_0 + 0.00634920634920635*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.00634920634920634*G12_1_1 - 0.00634920634920635*G12_2_0 + 0.00634920634920636*G12_2_1 - 0.0507936507936508*G12_3_1 + 0.101587301587302*G12_4_0 - 0.0507936507936507*G12_4_1 + 0.0253968253968254*G12_5_0 - 0.0507936507936508*G12_5_1 + 0.0253968253968254*G14_6_0 + 0.0063492063 [...]
+ A[150] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.00634920634920637*G13_7_0 - 0.0126984126984127*G13_8_1 - 0.0126984126984127*G13_9_0 - 0.00634920634920631*G13_9_1 + 0.0126984126984127*G13_10_0 + 0.0317460317460317*G13_10_1 + 0.0253968253968254*G13_11_0 + 0.00634920634920635*G13_11_1;
+ A[151] = 0.00793650793650794*G13_6_0 + 0.00793650793650799*G13_6_1 + 0.00476190476190477*G13_7_0 - 0.00793650793650796*G13_8_1 - 0.019047619047619*G13_9_0 - 0.00634920634920622*G13_9_1 + 0.019047619047619*G13_10_0 - 0.0126984126984127*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[152] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 - 0.00634920634920634*G13_7_0 + 0.019047619047619*G13_8_1 + 0.019047619047619*G13_9_0 - 0.00634920634920637*G13_9_1 - 0.019047619047619*G13_10_0 - 0.0317460317460317*G13_10_1 - 0.00634920634920635*G13_11_0 + 0.00634920634920636*G13_11_1;
+ A[153] = -0.00634920634920633*G13_6_0 - 0.00634920634920657*G13_6_1 + 0.00634920634920633*G13_7_0 + 0.0317460317460318*G13_8_1 + 0.0761904761904761*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0761904761904761*G13_10_0 - 0.025396825396825*G13_10_1 - 0.0507936507936508*G13_11_1;
+ A[154] = -0.0634920634920635*G13_6_0 - 0.0634920634920639*G13_6_1 - 0.0380952380952382*G13_7_0 + 0.0634920634920636*G13_8_1 + 0.152380952380952*G13_9_0 + 0.0507936507936497*G13_9_1 - 0.152380952380952*G13_10_0 + 0.101587301587302*G13_11_0 - 0.0507936507936507*G13_11_1;
+ A[155] = -0.0317460317460317*G13_6_0 - 0.031746031746032*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
+ A[156] = -0.666666666666668*G1_0_1_0 - 0.666666666666668*G1_0_1_1 - 0.666666666666668*G3_0_1_0 - 0.666666666666668*G3_0_1_1 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.00793650793650794*G12_1_0 + 0.00793650793650799*G12_1_1 + 0.0126984126984127*G12_2_0 + 0.0126984126984127*G12_2_1 - 0.00634920634920633*G12_3_0 - 0.00634920634920657*G12_3_1 - 0.0634920634920635*G12_4_0 - 0.0634920634920639*G12_4_1 - 0.0317460317460317*G12_5_0 - 0.031746031746032*G12_5_1 - 0.019047619 [...]
+ A[157] = -0.00634920634920637*G12_0_0 + 0.00476190476190477*G12_1_0 - 0.00634920634920634*G12_2_0 + 0.00634920634920633*G12_3_0 - 0.0380952380952382*G12_4_0 + 0.0063492063492063*G12_5_0 - 0.00634920634920637*G14_6_0 + 0.00476190476190477*G14_7_0 - 0.00634920634920634*G14_8_0 + 0.00634920634920633*G14_9_0 - 0.0380952380952382*G14_10_0 + 0.0063492063492063*G14_11_0 + 0.00793650793650794*G15_6_0 + 0.00793650793650799*G15_6_1 + 0.00476190476190477*G15_7_0 - 0.00793650793650796*G15_8_1 - [...]
+ A[158] = -0.666666666666667*G1_0_0_1 - 0.666666666666665*G1_0_1_1 - 0.666666666666667*G3_0_0_1 - 0.666666666666665*G3_0_1_1 - 0.0126984126984127*G12_0_1 - 0.00793650793650796*G12_1_1 + 0.019047619047619*G12_2_1 + 0.0317460317460318*G12_3_1 + 0.0634920634920636*G12_4_1 + 0.00634920634920642*G12_5_1 - 0.0126984126984127*G14_6_1 - 0.00793650793650796*G14_7_1 + 0.019047619047619*G14_8_1 + 0.0317460317460318*G14_9_1 + 0.0634920634920636*G14_10_1 + 0.00634920634920642*G14_11_1 + 0.01269841 [...]
+ A[159] = -1.33333333333333*G1_0_0_0 - 0.666666666666656*G1_0_0_1 - 0.666666666666659*G1_0_1_0 - 1.33333333333333*G3_0_0_0 - 0.666666666666656*G3_0_0_1 - 0.666666666666659*G3_0_1_0 - 0.0126984126984127*G12_0_0 - 0.00634920634920631*G12_0_1 - 0.019047619047619*G12_1_0 - 0.00634920634920622*G12_1_1 + 0.019047619047619*G12_2_0 - 0.00634920634920637*G12_2_1 + 0.0761904761904761*G12_3_0 + 0.0507936507936502*G12_3_1 + 0.152380952380952*G12_4_0 + 0.0507936507936497*G12_4_1 + 0.05079365079365 [...]
+ A[160] = 1.33333333333333*G1_0_0_0 + 0.666666666666659*G1_0_0_1 + 0.666666666666659*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333333*G3_0_0_0 + 0.666666666666659*G3_0_0_1 + 0.666666666666659*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0126984126984127*G12_0_0 + 0.0317460317460317*G12_0_1 + 0.019047619047619*G12_1_0 - 0.019047619047619*G12_2_0 - 0.0317460317460317*G12_2_1 - 0.0761904761904761*G12_3_0 - 0.025396825396825*G12_3_1 - 0.152380952380952*G12_4_0 - 0.0507936507936507*G12_ [...]
+ A[161] = 0.666666666666665*G1_0_0_1 + 0.666666666666666*G1_0_1_0 + 0.666666666666665*G3_0_0_1 + 0.666666666666666*G3_0_1_0 + 0.0253968253968254*G12_0_0 + 0.00634920634920635*G12_0_1 - 0.0126984126984127*G12_1_0 + 0.00634920634920636*G12_1_1 - 0.00634920634920635*G12_2_0 + 0.00634920634920636*G12_2_1 - 0.0507936507936508*G12_3_1 + 0.101587301587302*G12_4_0 - 0.0507936507936507*G12_4_1 + 0.0253968253968254*G12_5_0 - 0.0507936507936508*G12_5_1 + 0.0253968253968254*G14_6_0 + 0.0063492063 [...]
A[162] = 0.166666666666666*G5_0 - 0.166666666666668*G5_1;
A[163] = 0.166666666666666*G5_0;
A[164] = 0.333333333333333*G5_0 + 0.166666666666665*G5_1;
- A[165] = -0.0190476190476191*G13_6_0 - 0.0190476190476191*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
- A[166] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920634*G13_10_0 - 0.00634920634920632*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
- A[167] = 0.00793650793650792*G13_6_0 + 0.00793650793650798*G13_6_1 - 0.00793650793650792*G13_7_0 + 0.00476190476190475*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.019047619047619*G13_11_1;
- A[168] = -0.00634920634920629*G13_6_0 - 0.00634920634920655*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904756*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904762*G13_11_1;
- A[169] = -0.0317460317460317*G13_6_0 - 0.0317460317460319*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920641*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
- A[170] = -0.0634920634920634*G13_6_0 - 0.0634920634920639*G13_6_1 + 0.0634920634920634*G13_7_0 - 0.038095238095238*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.152380952380951*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.101587301587302*G13_10_1 - 0.152380952380952*G13_11_1;
- A[171] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 - 0.0190476190476191*G12_0_0 - 0.0190476190476191*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.0126984126984127*G12_1_1 + 0.00793650793650792*G12_2_0 + 0.00793650793650798*G12_2_1 - 0.00634920634920629*G12_3_0 - 0.00634920634920655*G12_3_1 - 0.0317460317460317*G12_4_0 - 0.0317460317460319*G12_4_1 - 0.0634920634920634*G12_5_0 - 0.0634920634920639*G12_5_1 - 0.01904761 [...]
- A[172] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 - 0.0126984126984127*G12_0_0 + 0.0190476190476191*G12_1_0 - 0.00793650793650792*G12_2_0 + 0.0317460317460317*G12_3_0 + 0.0063492063492063*G12_4_0 + 0.0634920634920634*G12_5_0 - 0.0126984126984127*G14_6_0 + 0.0190476190476191*G14_7_0 - 0.00793650793650792*G14_8_0 + 0.0317460317460317*G14_9_0 + 0.0063492063492063*G14_10_0 + 0.0634920634920634*G14_11_0 + 0.01269841 [...]
- A[173] = -0.00634920634920636*G12_0_1 - 0.00634920634920636*G12_1_1 + 0.00476190476190475*G12_2_1 + 0.00634920634920641*G12_3_1 + 0.00634920634920641*G12_4_1 - 0.038095238095238*G12_5_1 - 0.00634920634920636*G14_6_1 - 0.00634920634920636*G14_7_1 + 0.00476190476190475*G14_8_1 + 0.00634920634920641*G14_9_1 + 0.00634920634920641*G14_10_1 - 0.038095238095238*G14_11_1 + 0.00793650793650792*G15_6_0 + 0.00793650793650798*G15_6_1 - 0.00793650793650792*G15_7_0 + 0.00476190476190475*G15_8_1 - [...]
- A[174] = -0.666666666666666*G1_0_0_1 - 0.666666666666665*G1_0_1_0 - 1.33333333333332*G1_0_1_1 - 0.666666666666666*G3_0_0_1 - 0.666666666666665*G3_0_1_0 - 1.33333333333332*G3_0_1_1 - 0.00634920634920634*G12_0_0 - 0.0126984126984127*G12_0_1 - 0.00634920634920634*G12_1_0 + 0.019047619047619*G12_1_1 - 0.00634920634920632*G12_2_0 - 0.0190476190476189*G12_2_1 + 0.0507936507936507*G12_3_0 + 0.0761904761904756*G12_3_1 + 0.0507936507936507*G12_4_0 + 0.0507936507936502*G12_4_1 + 0.050793650793 [...]
- A[175] = 0.666666666666666*G1_0_0_1 + 0.666666666666665*G1_0_1_0 + 0.666666666666666*G3_0_0_1 + 0.666666666666665*G3_0_1_0 + 0.00634920634920634*G12_0_0 + 0.0253968253968254*G12_0_1 + 0.00634920634920634*G12_1_0 - 0.00634920634920632*G12_1_1 + 0.00634920634920632*G12_2_0 - 0.0126984126984128*G12_2_1 - 0.0507936507936507*G12_3_0 - 0.0507936507936507*G12_4_0 + 0.0253968253968258*G12_4_1 - 0.0507936507936507*G12_5_0 + 0.101587301587302*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.025396825 [...]
- A[176] = 1.33333333333334*G1_0_0_0 + 0.666666666666668*G1_0_0_1 + 0.666666666666668*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333334*G3_0_0_0 + 0.666666666666668*G3_0_0_1 + 0.666666666666668*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0317460317460318*G12_0_0 + 0.0126984126984127*G12_0_1 - 0.0317460317460318*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.019047619047619*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0761904761904762*G12_3_1 + 0.0253968253968254*G12_4_0 - 0.0507936507936508*G [...]
+ A[165] = -0.0190476190476191*G13_6_0 - 0.019047619047619*G13_6_1 - 0.0126984126984127*G13_7_0 - 0.00634920634920636*G13_8_1 - 0.00634920634920634*G13_9_0 - 0.0126984126984127*G13_9_1 + 0.00634920634920634*G13_10_0 + 0.0253968253968254*G13_10_1 + 0.0317460317460318*G13_11_0 + 0.0126984126984127*G13_11_1;
+ A[166] = 0.0126984126984127*G13_6_0 + 0.0126984126984127*G13_6_1 + 0.0190476190476191*G13_7_0 - 0.00634920634920637*G13_8_1 - 0.00634920634920635*G13_9_0 + 0.019047619047619*G13_9_1 + 0.00634920634920635*G13_10_0 - 0.00634920634920631*G13_10_1 - 0.0317460317460318*G13_11_0 - 0.0190476190476191*G13_11_1;
+ A[167] = 0.00793650793650793*G13_6_0 + 0.00793650793650799*G13_6_1 - 0.00793650793650793*G13_7_0 + 0.00476190476190476*G13_8_1 - 0.00634920634920632*G13_9_0 - 0.0190476190476189*G13_9_1 + 0.00634920634920632*G13_10_0 - 0.0126984126984128*G13_10_1 + 0.0190476190476191*G13_11_1;
+ A[168] = -0.0063492063492063*G13_6_0 - 0.00634920634920656*G13_6_1 + 0.0317460317460317*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0761904761904757*G13_9_1 - 0.0507936507936507*G13_10_0 - 0.0253968253968254*G13_11_0 - 0.0761904761904763*G13_11_1;
+ A[169] = -0.0317460317460317*G13_6_0 - 0.031746031746032*G13_6_1 + 0.0063492063492063*G13_7_0 + 0.00634920634920642*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.0507936507936502*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.0253968253968258*G13_10_1 + 0.0253968253968254*G13_11_0 - 0.0507936507936508*G13_11_1;
+ A[170] = -0.0634920634920634*G13_6_0 - 0.0634920634920639*G13_6_1 + 0.0634920634920634*G13_7_0 - 0.0380952380952381*G13_8_1 + 0.0507936507936507*G13_9_0 + 0.152380952380951*G13_9_1 - 0.0507936507936507*G13_10_0 + 0.101587301587302*G13_10_1 - 0.152380952380952*G13_11_1;
+ A[171] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_0_1 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_0_1 - 0.0190476190476191*G12_0_0 - 0.019047619047619*G12_0_1 + 0.0126984126984127*G12_1_0 + 0.0126984126984127*G12_1_1 + 0.00793650793650793*G12_2_0 + 0.00793650793650799*G12_2_1 - 0.0063492063492063*G12_3_0 - 0.00634920634920656*G12_3_1 - 0.0317460317460317*G12_4_0 - 0.031746031746032*G12_4_1 - 0.0634920634920634*G12_5_0 - 0.0634920634920639*G12_5_1 - 0.01904761904 [...]
+ A[172] = -0.666666666666668*G1_0_0_0 - 0.666666666666667*G1_0_1_0 - 0.666666666666668*G3_0_0_0 - 0.666666666666667*G3_0_1_0 - 0.0126984126984127*G12_0_0 + 0.0190476190476191*G12_1_0 - 0.00793650793650793*G12_2_0 + 0.0317460317460317*G12_3_0 + 0.0063492063492063*G12_4_0 + 0.0634920634920634*G12_5_0 - 0.0126984126984127*G14_6_0 + 0.0190476190476191*G14_7_0 - 0.00793650793650793*G14_8_0 + 0.0317460317460317*G14_9_0 + 0.0063492063492063*G14_10_0 + 0.0634920634920634*G14_11_0 + 0.01269841 [...]
+ A[173] = -0.00634920634920636*G12_0_1 - 0.00634920634920637*G12_1_1 + 0.00476190476190476*G12_2_1 + 0.00634920634920642*G12_3_1 + 0.00634920634920642*G12_4_1 - 0.0380952380952381*G12_5_1 - 0.00634920634920636*G14_6_1 - 0.00634920634920637*G14_7_1 + 0.00476190476190476*G14_8_1 + 0.00634920634920642*G14_9_1 + 0.00634920634920642*G14_10_1 - 0.0380952380952381*G14_11_1 + 0.00793650793650793*G15_6_0 + 0.00793650793650799*G15_6_1 - 0.00793650793650793*G15_7_0 + 0.00476190476190476*G15_8_1 [...]
+ A[174] = -0.666666666666666*G1_0_0_1 - 0.666666666666665*G1_0_1_0 - 1.33333333333333*G1_0_1_1 - 0.666666666666666*G3_0_0_1 - 0.666666666666665*G3_0_1_0 - 1.33333333333333*G3_0_1_1 - 0.00634920634920634*G12_0_0 - 0.0126984126984127*G12_0_1 - 0.00634920634920635*G12_1_0 + 0.019047619047619*G12_1_1 - 0.00634920634920632*G12_2_0 - 0.0190476190476189*G12_2_1 + 0.0507936507936507*G12_3_0 + 0.0761904761904757*G12_3_1 + 0.0507936507936507*G12_4_0 + 0.0507936507936502*G12_4_1 + 0.050793650793 [...]
+ A[175] = 0.666666666666666*G1_0_0_1 + 0.666666666666665*G1_0_1_0 + 0.666666666666666*G3_0_0_1 + 0.666666666666665*G3_0_1_0 + 0.00634920634920634*G12_0_0 + 0.0253968253968254*G12_0_1 + 0.00634920634920635*G12_1_0 - 0.00634920634920631*G12_1_1 + 0.00634920634920632*G12_2_0 - 0.0126984126984128*G12_2_1 - 0.0507936507936507*G12_3_0 - 0.0507936507936507*G12_4_0 + 0.0253968253968258*G12_4_1 - 0.0507936507936507*G12_5_0 + 0.101587301587302*G12_5_1 + 0.00634920634920634*G14_6_0 + 0.025396825 [...]
+ A[176] = 1.33333333333334*G1_0_0_0 + 0.666666666666667*G1_0_0_1 + 0.666666666666667*G1_0_1_0 + 1.33333333333333*G1_0_1_1 + 1.33333333333334*G3_0_0_0 + 0.666666666666667*G3_0_0_1 + 0.666666666666667*G3_0_1_0 + 1.33333333333333*G3_0_1_1 + 0.0317460317460318*G12_0_0 + 0.0126984126984127*G12_0_1 - 0.0317460317460318*G12_1_0 - 0.0190476190476191*G12_1_1 + 0.0190476190476191*G12_2_1 - 0.0253968253968254*G12_3_0 - 0.0761904761904763*G12_3_1 + 0.0253968253968254*G12_4_0 - 0.0507936507936508* [...]
A[177] = -0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[178] = 0.166666666666667*G5_0 + 0.333333333333333*G5_1;
A[179] = 0.166666666666667*G5_1;
- A[180] = -0.166666666666667*G6_0 - 0.166666666666667*G6_1;
+ A[180] = -0.166666666666667*G6_0 - 0.166666666666668*G6_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = 0.166666666666666*G6_0 + 0.166666666666665*G6_1;
A[184] = -0.166666666666666*G6_0 + 0.166666666666668*G6_1;
A[185] = 0.166666666666667*G6_0 - 0.166666666666667*G6_1;
- A[186] = -0.166666666666667*G7_0 - 0.166666666666667*G7_1;
+ A[186] = -0.166666666666667*G7_0 - 0.166666666666668*G7_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = 0.166666666666666*G7_0 + 0.166666666666665*G7_1;
@@ -50344,6 +52219,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -50368,13 +52258,13 @@ public:
// Values of basis functions at quadrature points.
static const double FE0_C0[7][6] = \
- {{-0.111111111111111, -0.111111111111111, -0.111111111111111, 0.444444444444444, 0.444444444444444, 0.444444444444444},
- {-0.0807685941918872, 0.474352608585538, -0.0807685941918871, 0.323074376767549, 0.0410358262631383, 0.323074376767549},
- {-0.0807685941918872, -0.0807685941918872, 0.474352608585538, 0.323074376767549, 0.323074376767549, 0.0410358262631383},
+ {{-0.111111111111111, -0.111111111111111, -0.111111111111111, 0.444444444444444, 0.444444444444444, 0.444444444444445},
+ {-0.0807685941918871, 0.474352608585538, -0.0807685941918871, 0.323074376767549, 0.0410358262631382, 0.323074376767549},
+ {-0.0807685941918872, -0.0807685941918872, 0.474352608585538, 0.323074376767549, 0.323074376767549, 0.0410358262631385},
{0.474352608585539, -0.0807685941918871, -0.0807685941918871, 0.0410358262631383, 0.323074376767549, 0.323074376767549},
- {-0.0280749432230786, -0.0525839011025453, -0.0280749432230788, 0.112299772892315, 0.884134241764073, 0.112299772892315},
+ {-0.0280749432230787, -0.0525839011025454, -0.0280749432230788, 0.112299772892315, 0.884134241764072, 0.112299772892315},
{-0.0280749432230787, -0.0280749432230788, -0.0525839011025453, 0.112299772892315, 0.112299772892315, 0.884134241764073},
- {-0.0525839011025454, -0.0280749432230789, -0.0280749432230788, 0.884134241764072, 0.112299772892315, 0.112299772892315}};
+ {-0.0525839011025453, -0.0280749432230788, -0.0280749432230788, 0.884134241764072, 0.112299772892315, 0.112299772892315}};
// Array of non-zero columns
static const unsigned int nzc0[6] = {0, 1, 2, 3, 4, 5};
@@ -50384,12 +52274,12 @@ public:
static const double FE0_C0_D01[7][5] = \
{{-0.333333333333338, 0.333333333333335, 1.33333333333332, 0.0, -1.33333333333333},
- {0.59485397070617, -0.594853970706174, 3.18970794141233, 1.15463194561016e-14, -3.18970794141235},
- {0.594853970706169, 2.18970794141235, 0.405146029293809, -2.78456191211851, -0.405146029293823},
+ {0.59485397070617, -0.594853970706174, 3.18970794141234, 1.19904086659517e-14, -3.18970794141235},
+ {0.594853970706169, 2.18970794141235, 0.40514602929381, -2.78456191211851, -0.405146029293824},
{-2.18970794141235, -0.594853970706174, 0.405146029293815, 2.78456191211853, -0.405146029293824},
- {-0.880568256420466, 0.880568256420462, 0.238863487159066, 0.0, -0.238863487159078},
- {-0.880568256420465, -0.76113651284092, 1.88056825642045, 1.64170476926139, -1.88056825642046},
- {0.761136512840916, 0.880568256420462, 1.88056825642045, -1.64170476926137, -1.88056825642046}};
+ {-0.880568256420466, 0.880568256420462, 0.238863487159067, 0.0, -0.238863487159079},
+ {-0.880568256420465, -0.761136512840921, 1.88056825642045, 1.64170476926139, -1.88056825642046},
+ {0.761136512840915, 0.880568256420462, 1.88056825642045, -1.64170476926137, -1.88056825642046}};
// Array of non-zero columns
static const unsigned int nzc1[5] = {0, 2, 3, 4, 5};
@@ -50399,12 +52289,12 @@ public:
static const double FE0_C0_D10[7][5] = \
{{-0.333333333333333, 0.333333333333333, 1.33333333333333, -1.33333333333333, 0.0},
- {0.594853970706176, 2.18970794141235, 0.405146029293824, -0.405146029293824, -2.78456191211853},
+ {0.594853970706176, 2.18970794141235, 0.405146029293824, -0.405146029293824, -2.78456191211852},
{0.594853970706174, -0.594853970706175, 3.18970794141234, -3.18970794141234, 0.0},
- {-2.18970794141235, -0.594853970706178, 0.405146029293824, -0.405146029293824, 2.78456191211853},
- {-0.880568256420462, -0.761136512840923, 1.88056825642046, -1.88056825642046, 1.64170476926138},
- {-0.880568256420459, 0.880568256420459, 0.238863487159078, -0.238863487159078, 0.0},
- {0.761136512840922, 0.880568256420461, 1.88056825642046, -1.88056825642046, -1.64170476926138}};
+ {-2.18970794141235, -0.594853970706177, 0.405146029293824, -0.405146029293824, 2.78456191211853},
+ {-0.880568256420461, -0.761136512840922, 1.88056825642046, -1.88056825642046, 1.64170476926138},
+ {-0.880568256420459, 0.880568256420459, 0.238863487159077, -0.238863487159077, 0.0},
+ {0.761136512840921, 0.880568256420461, 1.88056825642046, -1.88056825642046, -1.64170476926138}};
// Array of non-zero columns
static const unsigned int nzc2[5] = {0, 1, 3, 4, 5};
@@ -50566,6 +52456,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -50802,6 +52707,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -50840,17 +52760,17 @@ public:
{
case 0:
{
- A[0] = 0.166666666666666*G0_1 + 0.166666666666667*G0_2 + 0.666666666666666*G0_3;
+ A[0] = 0.166666666666667*G0_1 + 0.166666666666667*G0_2 + 0.666666666666667*G0_3;
break;
}
case 1:
{
- A[0] = 0.166666666666667*G0_0 + 0.166666666666667*G0_2 + 0.666666666666666*G0_4;
+ A[0] = 0.166666666666667*G0_0 + 0.166666666666667*G0_2 + 0.666666666666667*G0_4;
break;
}
case 2:
{
- A[0] = 0.166666666666667*G0_0 + 0.166666666666667*G0_1 + 0.666666666666666*G0_5;
+ A[0] = 0.166666666666667*G0_0 + 0.166666666666667*G0_1 + 0.666666666666667*G0_5;
break;
}
}
diff --git a/demo/undocumented/auto-adaptive-navier-stokes/cpp/CMakeLists.txt b/demo/undocumented/auto-adaptive-navier-stokes/cpp/CMakeLists.txt
index 249432e..944a57d 100644
--- a/demo/undocumented/auto-adaptive-navier-stokes/cpp/CMakeLists.txt
+++ b/demo/undocumented/auto-adaptive-navier-stokes/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_auto-adaptive-navier-stokes)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/auto-adaptive-navier-stokes/cpp/compile.log b/demo/undocumented/auto-adaptive-navier-stokes/cpp/compile.log
deleted file mode 100644
index ef161fe..0000000
--- a/demo/undocumented/auto-adaptive-navier-stokes/cpp/compile.log
+++ /dev/null
@@ -1,20645 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form AdaptiveNavierStokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_2]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, R0(?), Vector<2 x C
- G1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, R0(?), Vector<2 x C
- G1(?)>, Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 1
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2
- x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2
- x CG1(?)>, Vector<2 x CG2(?)>, CG1(?), CG2(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 0
- Arguments: '()'
- Number of coefficients: 4
- Coefficients: '[w_0, w_1, w_2, w_3]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, CG1(?), R
- 0(?), Mixed<Vector<2 x CG3(?)>, CG2(?)>, Vect
- or<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, CG1(?), R
- 0(?), Mixed<Vector<2 x CG3(?)>, CG2(?)>, Vect
- or<2 x CG1(?)>, Vector<2 x CG2(?)>, Vector<2
- x CG3(?)>, CG2(?), CG3(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_4]'
- Unique elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, B3(?), Vector<2 x C
- G1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, B3(?), Vector<2 x C
- G1(?)>, Vector<2 x DG2(?)>, DG1(?), CG1(?), DG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 7
- quadrature_degree: 7
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 4
- Coefficients: '[w_0, w_1, w_2, w_4]'
- Unique elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vec
- tor<2 x CG2(?)>, CG1(?)>, CG1(?), R0(?), B3(?
- ), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vec
- tor<2 x CG2(?)>, CG1(?)>, CG1(?), R0(?), B3(?
- ), Vector<2 x CG1(?)>, Vector<2 x DG2(?)>, DG
- 1(?), Vector<2 x CG2(?)>, DG2(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 8
- quadrature_degree: 8
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 1
- Coefficients: '[w_6]'
- Unique elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, DG2(?), V
- ector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, DG2(?), V
- ector<2 x CG1(?)>, Vector<2 x DG2(?)>, DG1(?)
- , CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 5
- Coefficients: '[w_0, w_1, w_2, w_5, w_6]'
- Unique elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vec
- tor<2 x CG2(?)>, CG1(?)>, CG1(?), R0(?), DG2(
- ?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vec
- tor<2 x CG2(?)>, CG1(?)>, CG1(?), R0(?), DG2(
- ?), Vector<2 x CG1(?)>, Vector<2 x DG2(?)>, D
- G1(?), Vector<2 x CG2(?)>, CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 5
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 7
- quadrature_degree: 7
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 4
- Coefficients: '[w_3, w_5, w_7, w_8]'
- Unique elements: 'DG0(?), Mixed<Vector<2 x CG3(?)>, CG2(?)>, M
- ixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vecto
- r<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'DG0(?), Mixed<Vector<2 x CG3(?)>, CG2(?)>, M
- ixed<Vector<2 x DG2(?)>, DG1(?)>, Mixed<Vecto
- r<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>, V
- ector<2 x CG3(?)>, CG2(?), Vector<2 x DG2(?)>
- , DG1(?), Vector<2 x CG2(?)>, CG1(?), CG3(?),
- DG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_2]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, R0(?), Vector<2 x C
- G1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, R0(?), Vector<2 x C
- G1(?)>, Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_1, w_2]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, CG1(?), R
- 0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, CG1(?), R
- 0(?), Vector<2 x CG1(?)>, Vector<2 x CG2(?)>,
- CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 1
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2
- x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2
- x CG1(?)>, Vector<2 x CG2(?)>, CG1(?), CG2(?)
- '
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.990452 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 15 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 15 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00152 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00143 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00154 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00152 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00116 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00113 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0011 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00111 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00158 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00156 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.0015 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00148 seconds
- Shape of reference tensor: (15, 15, 2, 15)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00159 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00157 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00156 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00165 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.00113 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.000998 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.000985 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {12: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.66053887e-15, 7.10542736e-15, 5.05151476e-15,
- 7.74380560e-15, 7.60502772e-15, 6.68909372e-15,
- 8.50708393e-15, 7.16093851e-15, 8.21565038e-15,
- 5.88418203e-15, 7.04991621e-15, 6.32827124e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -7.47643942e-01, 2.49528788e+00, -7.47643942e-01,
- -2.85301932e-03, 1.00570604e+00, -2.85301932e-03,
- 2.41409804e-01, -7.87419801e-01, 1.54601000e+00,
- -7.87419801e-01, 1.54601000e+00, 2.41409804e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 3.49528788e+00, 2.52356058e-01, 2.52356058e-01,
- 2.00570604e+00, 9.97146981e-01, 9.97146981e-01,
- 2.54601000e+00, 2.54601000e+00, 1.24140980e+00,
- 1.24140980e+00, 2.12580199e-01, 2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.15463195e-14, -3.24293183e+00, 3.24293183e+00,
- 1.40998324e-14, -1.00855906e+00, 1.00855906e+00,
- -1.02882960e+00, 1.02882960e+00, -2.33342980e+00,
- 2.33342980e+00, -1.30460019e+00, 1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.49528788e+00, -2.52356058e-01, -2.52356058e-01,
- -2.00570604e+00, -9.97146981e-01, -9.97146981e-01,
- -2.54601000e+00, -2.54601000e+00, -1.24140980e+00,
- -1.24140980e+00, -2.12580199e-01, -2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.66053887e-15, 7.10542736e-15, 5.05151476e-15,
- 7.74380560e-15, 7.60502772e-15, 6.68909372e-15,
- 8.50708393e-15, 7.16093851e-15, 8.21565038e-15,
- 5.88418203e-15, 7.04991621e-15, 6.32827124e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.47643942e-01, 2.49528788e+00, -7.47643942e-01,
- -2.85301932e-03, 1.00570604e+00, -2.85301932e-03,
- 2.41409804e-01, -7.87419801e-01, 1.54601000e+00,
- -7.87419801e-01, 1.54601000e+00, 2.41409804e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.49528788e+00, 2.52356058e-01, 2.52356058e-01,
- 2.00570604e+00, 9.97146981e-01, 9.97146981e-01,
- 2.54601000e+00, 2.54601000e+00, 1.24140980e+00,
- 1.24140980e+00, 2.12580199e-01, 2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.15463195e-14, -3.24293183e+00, 3.24293183e+00,
- 1.40998324e-14, -1.00855906e+00, 1.00855906e+00,
- -1.02882960e+00, 1.02882960e+00, -2.33342980e+00,
- 2.33342980e+00, -1.30460019e+00, 1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.49528788e+00, -2.52356058e-01, -2.52356058e-01,
- -2.00570604e+00, -9.97146981e-01, -9.97146981e-01,
- -2.54601000e+00, -2.54601000e+00, -1.24140980e+00,
- -1.24140980e+00, -2.12580199e-01, -2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.49528788e+00, -7.47643942e-01, -7.47643942e-01,
- 1.00570604e+00, -2.85301932e-03, -2.85301932e-03,
- 1.54601000e+00, 1.54601000e+00, 2.41409804e-01,
- 2.41409804e-01, -7.87419801e-01, -7.87419801e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.52356058e-01, 3.49528788e+00, 2.52356058e-01,
- 9.97146981e-01, 2.00570604e+00, 9.97146981e-01,
- 1.24140980e+00, 2.12580199e-01, 2.54601000e+00,
- 2.12580199e-01, 2.54601000e+00, 1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.52356058e-01, -3.49528788e+00, -2.52356058e-01,
- -9.97146981e-01, -2.00570604e+00, -9.97146981e-01,
- -1.24140980e+00, -2.12580199e-01, -2.54601000e+00,
- -2.12580199e-01, -2.54601000e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.24293183e+00, 2.61756373e-16, 3.24293183e+00,
- -1.00855906e+00, 3.63572562e-15, 1.00855906e+00,
- -2.33342980e+00, -1.30460019e+00, -1.02882960e+00,
- 1.30460019e+00, 1.02882960e+00, 2.33342980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.49528788e+00, -7.47643942e-01, -7.47643942e-01,
- 1.00570604e+00, -2.85301932e-03, -2.85301932e-03,
- 1.54601000e+00, 1.54601000e+00, 2.41409804e-01,
- 2.41409804e-01, -7.87419801e-01, -7.87419801e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.52356058e-01, 3.49528788e+00, 2.52356058e-01,
- 9.97146981e-01, 2.00570604e+00, 9.97146981e-01,
- 1.24140980e+00, 2.12580199e-01, 2.54601000e+00,
- 2.12580199e-01, 2.54601000e+00, 1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.52356058e-01, -3.49528788e+00, -2.52356058e-01,
- -9.97146981e-01, -2.00570604e+00, -9.97146981e-01,
- -1.24140980e+00, -2.12580199e-01, -2.54601000e+00,
- -2.12580199e-01, -2.54601000e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.24293183e+00, 2.61756373e-16, 3.24293183e+00,
- -1.00855906e+00, 3.63572562e-15, 1.00855906e+00,
- -2.33342980e+00, -1.30460019e+00, -1.02882960e+00,
- 1.30460019e+00, 1.02882960e+00, 2.33342980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]]), (0, 0): array([[[-0.05512857, -0.05512857, 0.6533077 , -0.12499898, -0.12499898,
- 0.00143058, -0.04749626, -0.11771516, -0.04749626, 0.17376836,
- -0.11771516, 0.17376836],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.6533077 , -0.05512857, -0.05512857, 0.00143058, -0.12499898,
- -0.12499898, 0.17376836, 0.17376836, -0.11771516, -0.11771516,
- -0.04749626, -0.04749626],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.05512857, 0.6533077 , -0.05512857, -0.12499898, 0.00143058,
- -0.12499898, -0.11771516, -0.04749626, 0.17376836, -0.04749626,
- 0.17376836, -0.11771516],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.22051427, 0.22051427, 0.01592089, 0.49999593, 0.49999593,
- 0.24857553, 0.79016044, 0.13530783, 0.79016044, 0.06597479,
- 0.13530783, 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.01592089, 0.22051427, 0.22051427, 0.24857553, 0.49999593,
- 0.49999593, 0.06597479, 0.06597479, 0.13530783, 0.13530783,
- 0.79016044, 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.22051427, 0.01592089, 0.22051427, 0.49999593, 0.24857553,
- 0.49999593, 0.13530783, 0.79016044, 0.06597479, 0.79016044,
- 0.06597479, 0.13530783],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05512857, -0.05512857, 0.6533077 , -0.12499898, -0.12499898,
- 0.00143058, -0.04749626, -0.11771516, -0.04749626, 0.17376836,
- -0.11771516, 0.17376836],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.00143058, -0.12499898,
- -0.12499898, 0.17376836, 0.17376836, -0.11771516, -0.11771516,
- -0.04749626, -0.04749626],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05512857, 0.6533077 , -0.05512857, -0.12499898, 0.00143058,
- -0.12499898, -0.11771516, -0.04749626, 0.17376836, -0.04749626,
- 0.17376836, -0.11771516],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.22051427, 0.22051427, 0.01592089, 0.49999593, 0.49999593,
- 0.24857553, 0.79016044, 0.13530783, 0.79016044, 0.06597479,
- 0.13530783, 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.01592089, 0.22051427, 0.22051427, 0.24857553, 0.49999593,
- 0.49999593, 0.06597479, 0.06597479, 0.13530783, 0.13530783,
- 0.79016044, 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.22051427, 0.01592089, 0.22051427, 0.49999593, 0.24857553,
- 0.49999593, 0.13530783, 0.79016044, 0.06597479, 0.79016044,
- 0.06597479, 0.13530783],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0.24928675, 0.24928675,
- 0.50142651, 0.05314505, 0.31035245, 0.05314505, 0.6365025 ,
- 0.31035245, 0.6365025 ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0.50142651, 0.24928675,
- 0.24928675, 0.6365025 , 0.6365025 , 0.31035245, 0.31035245,
- 0.05314505, 0.05314505]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.87382197, 0.06308901, 0.24928675, 0.50142651,
- 0.24928675, 0.31035245, 0.05314505, 0.6365025 , 0.05314505,
- 0.6365025 , 0.31035245]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.06308901, 0.06308901, 0.87382197, 0.24928675, 0.24928675,
- 0.50142651, 0.05314505, 0.31035245, 0.05314505, 0.6365025 ,
- 0.31035245, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.87382197, 0.06308901, 0.06308901, 0.50142651, 0.24928675,
- 0.24928675, 0.6365025 , 0.6365025 , 0.31035245, 0.31035245,
- 0.05314505, 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.06308901, 0.87382197, 0.06308901, 0.24928675, 0.50142651,
- 0.24928675, 0.31035245, 0.05314505, 0.6365025 , 0.05314505,
- 0.6365025 , 0.31035245],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0.24928675, 0.24928675,
- 0.50142651, 0.05314505, 0.31035245, 0.05314505, 0.6365025 ,
- 0.31035245, 0.6365025 ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0.50142651, 0.24928675,
- 0.24928675, 0.6365025 , 0.6365025 , 0.31035245, 0.31035245,
- 0.05314505, 0.05314505]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.87382197, 0.06308901, 0.24928675, 0.50142651,
- 0.24928675, 0.31035245, 0.05314505, 0.6365025 , 0.05314505,
- 0.6365025 , 0.31035245]]])}}}, MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 3), dim=2), FiniteElement('Lagrange', triangle, 2)): {None: {None: {(0, 1): array([[[ -4.85931890e-01, -4.85931890e-01, -3.44372756e+00,
- 4.04638309e-01, 4.04638309e-01, 1.18553235e-01,
- -5.59823902e-01, 4.92870367e-01, -5.59823902e-01,
- -7.40805832e-01, 4.92870367e-01, -7.40805832e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -4.27435864e-15, 6.10622664e-15, 1.66533454e-16,
- 1.59594560e-15, 4.44089210e-15, 3.17107451e-15,
- -9.71445147e-17, -1.05471187e-15, 3.34801631e-15,
- 7.21644966e-16, 6.21031004e-15, 4.01068068e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.85931890e-01, 3.44372756e+00, 4.85931890e-01,
- -4.04638309e-01, -1.18553235e-01, -4.04638309e-01,
- -4.92870367e-01, 5.59823902e-01, 7.40805832e-01,
- 5.59823902e-01, 7.40805832e-01, -4.92870367e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.37592643e+00, -2.30167545e-01, -2.30167545e-01,
- 1.13786606e+00, -2.82847955e-01, -2.82847955e-01,
- 2.60506708e+00, 2.60506708e+00, -9.62843375e-02,
- -9.62843375e-02, -2.01023374e-01, -2.01023374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.44372756e+00, 1.20457074e+00, -1.76434524e-01,
- 1.11855323e+00, 2.25318218e+00, 5.56094442e-01,
- 2.46932174e+00, -1.95093341e+00, 3.93699696e+00,
- -9.51256225e-01, 6.74175116e-01, 2.06177081e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.37330206e-02, 2.21356002e+00, 5.17135569e+00,
- -8.38942398e-01, -1.40140119e+00, -1.11531612e+00,
- 7.50232851e-01, -3.02461418e-01, 1.74991003e+00,
- 1.93089196e+00, -2.56560608e+00, -1.33192988e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 5.37330206e-02, -5.17135569e+00, -2.21356002e+00,
- 8.38942398e-01, 1.11531612e+00, 1.40140119e+00,
- 3.02461418e-01, -7.50232851e-01, -1.93089196e+00,
- -1.74991003e+00, 1.33192988e+00, 2.56560608e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.44372756e+00, 1.76434524e-01, -1.20457074e+00,
- -1.11855323e+00, -5.56094442e-01, -2.25318218e+00,
- 1.95093341e+00, -2.46932174e+00, 9.51256225e-01,
- -3.93699696e+00, -2.06177081e-01, -6.74175116e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -6.37592643e+00, 2.30167545e-01, 2.30167545e-01,
- -1.13786606e+00, 2.82847955e-01, 2.82847955e-01,
- -2.60506708e+00, -2.60506708e+00, 9.62843375e-02,
- 9.62843375e-02, 2.01023374e-01, 2.01023374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.06581410e-14, -1.38100527e+00, 1.38100527e+00,
- 6.84174939e-15, -1.69708773e+00, 1.69708773e+00,
- -4.42025515e+00, 4.42025515e+00, -4.88825318e+00,
- 4.88825318e+00, -4.67998035e-01, 4.67998035e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, -4.85931890e-01, -3.44372756e+00,
- 4.04638309e-01, 4.04638309e-01, 1.18553235e-01,
- -5.59823902e-01, 4.92870367e-01, -5.59823902e-01,
- -7.40805832e-01, 4.92870367e-01, -7.40805832e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.27435864e-15, 6.10622664e-15, 1.66533454e-16,
- 1.59594560e-15, 4.44089210e-15, 3.17107451e-15,
- -9.71445147e-17, -1.05471187e-15, 3.34801631e-15,
- 7.21644966e-16, 6.21031004e-15, 4.01068068e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.85931890e-01, 3.44372756e+00, 4.85931890e-01,
- -4.04638309e-01, -1.18553235e-01, -4.04638309e-01,
- -4.92870367e-01, 5.59823902e-01, 7.40805832e-01,
- 5.59823902e-01, 7.40805832e-01, -4.92870367e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.37592643e+00, -2.30167545e-01, -2.30167545e-01,
- 1.13786606e+00, -2.82847955e-01, -2.82847955e-01,
- 2.60506708e+00, 2.60506708e+00, -9.62843375e-02,
- -9.62843375e-02, -2.01023374e-01, -2.01023374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.44372756e+00, 1.20457074e+00, -1.76434524e-01,
- 1.11855323e+00, 2.25318218e+00, 5.56094442e-01,
- 2.46932174e+00, -1.95093341e+00, 3.93699696e+00,
- -9.51256225e-01, 6.74175116e-01, 2.06177081e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.37330206e-02, 2.21356002e+00, 5.17135569e+00,
- -8.38942398e-01, -1.40140119e+00, -1.11531612e+00,
- 7.50232851e-01, -3.02461418e-01, 1.74991003e+00,
- 1.93089196e+00, -2.56560608e+00, -1.33192988e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.37330206e-02, -5.17135569e+00, -2.21356002e+00,
- 8.38942398e-01, 1.11531612e+00, 1.40140119e+00,
- 3.02461418e-01, -7.50232851e-01, -1.93089196e+00,
- -1.74991003e+00, 1.33192988e+00, 2.56560608e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.44372756e+00, 1.76434524e-01, -1.20457074e+00,
- -1.11855323e+00, -5.56094442e-01, -2.25318218e+00,
- 1.95093341e+00, -2.46932174e+00, 9.51256225e-01,
- -3.93699696e+00, -2.06177081e-01, -6.74175116e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.37592643e+00, 2.30167545e-01, 2.30167545e-01,
- -1.13786606e+00, 2.82847955e-01, 2.82847955e-01,
- -2.60506708e+00, -2.60506708e+00, 9.62843375e-02,
- 9.62843375e-02, 2.01023374e-01, 2.01023374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.06581410e-14, -1.38100527e+00, 1.38100527e+00,
- 6.84174939e-15, -1.69708773e+00, 1.69708773e+00,
- -4.42025515e+00, 4.42025515e+00, -4.88825318e+00,
- 4.88825318e+00, -4.67998035e-01, 4.67998035e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.66053887e-15, 7.10542736e-15, 5.05151476e-15,
- 7.74380560e-15, 7.60502772e-15, 6.68909372e-15,
- 8.50708393e-15, 7.16093851e-15, 8.21565038e-15,
- 5.88418203e-15, 7.04991621e-15, 6.32827124e-15]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.47643942e-01, 2.49528788e+00, -7.47643942e-01,
- -2.85301932e-03, 1.00570604e+00, -2.85301932e-03,
- 2.41409804e-01, -7.87419801e-01, 1.54601000e+00,
- -7.87419801e-01, 1.54601000e+00, 2.41409804e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.49528788e+00, 2.52356058e-01, 2.52356058e-01,
- 2.00570604e+00, 9.97146981e-01, 9.97146981e-01,
- 2.54601000e+00, 2.54601000e+00, 1.24140980e+00,
- 1.24140980e+00, 2.12580199e-01, 2.12580199e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.15463195e-14, -3.24293183e+00, 3.24293183e+00,
- 1.40998324e-14, -1.00855906e+00, 1.00855906e+00,
- -1.02882960e+00, 1.02882960e+00, -2.33342980e+00,
- 2.33342980e+00, -1.30460019e+00, 1.30460019e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.49528788e+00, -2.52356058e-01, -2.52356058e-01,
- -2.00570604e+00, -9.97146981e-01, -9.97146981e-01,
- -2.54601000e+00, -2.54601000e+00, -1.24140980e+00,
- -1.24140980e+00, -2.12580199e-01, -2.12580199e-01]]]), (1, 0): array([[[ -4.85931890e-01, -4.85931890e-01, -3.44372756e+00,
- 4.04638309e-01, 4.04638309e-01, 1.18553235e-01,
- -5.59823902e-01, 4.92870367e-01, -5.59823902e-01,
- -7.40805832e-01, 4.92870367e-01, -7.40805832e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 3.44372756e+00, 4.85931890e-01, 4.85931890e-01,
- -1.18553235e-01, -4.04638309e-01, -4.04638309e-01,
- 7.40805832e-01, 7.40805832e-01, -4.92870367e-01,
- -4.92870367e-01, 5.59823902e-01, 5.59823902e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -6.19847219e-18, 3.35148811e-16, -1.00022725e-16,
- -2.96189892e-17, -3.69822127e-17, -1.57310230e-16,
- 7.96972856e-17, -1.12042977e-17, 2.24860335e-16,
- -4.21435619e-17, -1.14379134e-16, -2.90481448e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.20457074e+00, -2.44372756e+00, -1.76434524e-01,
- 2.25318218e+00, 1.11855323e+00, 5.56094442e-01,
- 3.93699696e+00, 6.74175116e-01, 2.46932174e+00,
- 2.06177081e-01, -1.95093341e+00, -9.51256225e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.30167545e-01, 6.37592643e+00, -2.30167545e-01,
- -2.82847955e-01, 1.13786606e+00, -2.82847955e-01,
- -9.62843375e-02, -2.01023374e-01, 2.60506708e+00,
- -2.01023374e-01, 2.60506708e+00, -9.62843375e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.76434524e-01, 2.44372756e+00, -1.20457074e+00,
- -5.56094442e-01, -1.11855323e+00, -2.25318218e+00,
- 9.51256225e-01, -2.06177081e-01, 1.95093341e+00,
- -6.74175116e-01, -2.46932174e+00, -3.93699696e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.30167545e-01, -6.37592643e+00, 2.30167545e-01,
- 2.82847955e-01, -1.13786606e+00, 2.82847955e-01,
- 9.62843375e-02, 2.01023374e-01, -2.60506708e+00,
- 2.01023374e-01, -2.60506708e+00, 9.62843375e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.21356002e+00, -5.37330206e-02, 5.17135569e+00,
- -1.40140119e+00, -8.38942398e-01, -1.11531612e+00,
- 1.74991003e+00, -2.56560608e+00, 7.50232851e-01,
- -1.33192988e+00, -3.02461418e-01, 1.93089196e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -5.17135569e+00, 5.37330206e-02, -2.21356002e+00,
- 1.11531612e+00, 8.38942398e-01, 1.40140119e+00,
- -1.93089196e+00, 1.33192988e+00, 3.02461418e-01,
- 2.56560608e+00, -7.50232851e-01, -1.74991003e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.38100527e+00, -9.48836306e-15, 1.38100527e+00,
- -1.69708773e+00, 1.30826401e-14, 1.69708773e+00,
- -4.88825318e+00, -4.67998035e-01, -4.42025515e+00,
- 4.67998035e-01, 4.42025515e+00, 4.88825318e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, -4.85931890e-01, -3.44372756e+00,
- 4.04638309e-01, 4.04638309e-01, 1.18553235e-01,
- -5.59823902e-01, 4.92870367e-01, -5.59823902e-01,
- -7.40805832e-01, 4.92870367e-01, -7.40805832e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.44372756e+00, 4.85931890e-01, 4.85931890e-01,
- -1.18553235e-01, -4.04638309e-01, -4.04638309e-01,
- 7.40805832e-01, 7.40805832e-01, -4.92870367e-01,
- -4.92870367e-01, 5.59823902e-01, 5.59823902e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.19847219e-18, 3.35148811e-16, -1.00022725e-16,
- -2.96189892e-17, -3.69822127e-17, -1.57310230e-16,
- 7.96972856e-17, -1.12042977e-17, 2.24860335e-16,
- -4.21435619e-17, -1.14379134e-16, -2.90481448e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.20457074e+00, -2.44372756e+00, -1.76434524e-01,
- 2.25318218e+00, 1.11855323e+00, 5.56094442e-01,
- 3.93699696e+00, 6.74175116e-01, 2.46932174e+00,
- 2.06177081e-01, -1.95093341e+00, -9.51256225e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.30167545e-01, 6.37592643e+00, -2.30167545e-01,
- -2.82847955e-01, 1.13786606e+00, -2.82847955e-01,
- -9.62843375e-02, -2.01023374e-01, 2.60506708e+00,
- -2.01023374e-01, 2.60506708e+00, -9.62843375e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.76434524e-01, 2.44372756e+00, -1.20457074e+00,
- -5.56094442e-01, -1.11855323e+00, -2.25318218e+00,
- 9.51256225e-01, -2.06177081e-01, 1.95093341e+00,
- -6.74175116e-01, -2.46932174e+00, -3.93699696e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.30167545e-01, -6.37592643e+00, 2.30167545e-01,
- 2.82847955e-01, -1.13786606e+00, 2.82847955e-01,
- 9.62843375e-02, 2.01023374e-01, -2.60506708e+00,
- 2.01023374e-01, -2.60506708e+00, 9.62843375e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.21356002e+00, -5.37330206e-02, 5.17135569e+00,
- -1.40140119e+00, -8.38942398e-01, -1.11531612e+00,
- 1.74991003e+00, -2.56560608e+00, 7.50232851e-01,
- -1.33192988e+00, -3.02461418e-01, 1.93089196e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.17135569e+00, 5.37330206e-02, -2.21356002e+00,
- 1.11531612e+00, 8.38942398e-01, 1.40140119e+00,
- -1.93089196e+00, 1.33192988e+00, 3.02461418e-01,
- 2.56560608e+00, -7.50232851e-01, -1.74991003e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.38100527e+00, -9.48836306e-15, 1.38100527e+00,
- -1.69708773e+00, 1.30826401e-14, 1.69708773e+00,
- -4.88825318e+00, -4.67998035e-01, -4.42025515e+00,
- 4.67998035e-01, 4.42025515e+00, 4.88825318e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.47643942e-01, -2.49528788e+00,
- 2.85301932e-03, 2.85301932e-03, -1.00570604e+00,
- 7.87419801e-01, -2.41409804e-01, 7.87419801e-01,
- -1.54601000e+00, -2.41409804e-01, -1.54601000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.49528788e+00, -7.47643942e-01, -7.47643942e-01,
- 1.00570604e+00, -2.85301932e-03, -2.85301932e-03,
- 1.54601000e+00, 1.54601000e+00, 2.41409804e-01,
- 2.41409804e-01, -7.87419801e-01, -7.87419801e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.52356058e-01, 3.49528788e+00, 2.52356058e-01,
- 9.97146981e-01, 2.00570604e+00, 9.97146981e-01,
- 1.24140980e+00, 2.12580199e-01, 2.54601000e+00,
- 2.12580199e-01, 2.54601000e+00, 1.24140980e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.52356058e-01, -3.49528788e+00, -2.52356058e-01,
- -9.97146981e-01, -2.00570604e+00, -9.97146981e-01,
- -1.24140980e+00, -2.12580199e-01, -2.54601000e+00,
- -2.12580199e-01, -2.54601000e+00, -1.24140980e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.24293183e+00, 2.61756373e-16, 3.24293183e+00,
- -1.00855906e+00, 3.63572562e-15, 1.00855906e+00,
- -2.33342980e+00, -1.30460019e+00, -1.02882960e+00,
- 1.30460019e+00, 1.02882960e+00, 2.33342980e+00]]]), (0, 0): array([[[ 0.046308 , 0.046308 , 0.44026899, 0.03935169, 0.03935169,
- -0.06267372, 0.04111073, 0.01143583, 0.04111073, -0.02619323,
- 0.01143583, -0.02619323],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44026899, 0.046308 , 0.046308 , -0.06267372, 0.03935169,
- 0.03935169, -0.02619323, -0.02619323, 0.01143583, 0.01143583,
- 0.04111073, 0.04111073],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.046308 , 0.44026899, 0.046308 , 0.03935169, -0.06267372,
- 0.03935169, 0.01143583, 0.04111073, -0.02619323, 0.04111073,
- -0.02619323, 0.01143583],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.40225091, -0.20112546, -0.01452104, 0.28365493, -0.14182746,
- -0.07051025, 0.80848895, 0.13844642, -0.06128522, -0.00511704,
- -0.12795188, -0.0623881 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.20112546, 0.40225091, -0.01452104, -0.14182746, 0.28365493,
- -0.07051025, -0.06128522, -0.12795188, 0.80848895, -0.0623881 ,
- 0.13844642, -0.00511704],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.01452104, -0.20112546, 0.40225091, -0.07051025, -0.14182746,
- 0.28365493, -0.0623881 , -0.00511704, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.01452104, 0.40225091, -0.20112546, -0.07051025, 0.28365493,
- -0.14182746, -0.00511704, -0.0623881 , 0.13844642, -0.12795188,
- 0.80848895, -0.06128522],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.20112546, -0.01452104, 0.40225091, -0.14182746, -0.07051025,
- 0.28365493, -0.12795188, -0.06128522, -0.0623881 , 0.80848895,
- -0.00511704, 0.13844642],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.40225091, -0.01452104, -0.20112546, 0.28365493, -0.07051025,
- -0.14182746, 0.13844642, 0.80848895, -0.00511704, -0.06128522,
- -0.0623881 , -0.12795188],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.09390619, 0.09390619, 0.09390619, 0.84133592, 0.84133592,
- 0.84133592, 0.28345353, 0.28345353, 0.28345353, 0.28345353,
- 0.28345353, 0.28345353],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.046308 , 0.046308 , 0.44026899, 0.03935169, 0.03935169,
- -0.06267372, 0.04111073, 0.01143583, 0.04111073, -0.02619323,
- 0.01143583, -0.02619323],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44026899, 0.046308 , 0.046308 , -0.06267372, 0.03935169,
- 0.03935169, -0.02619323, -0.02619323, 0.01143583, 0.01143583,
- 0.04111073, 0.04111073],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.046308 , 0.44026899, 0.046308 , 0.03935169, -0.06267372,
- 0.03935169, 0.01143583, 0.04111073, -0.02619323, 0.04111073,
- -0.02619323, 0.01143583],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.40225091, -0.20112546, -0.01452104, 0.28365493, -0.14182746,
- -0.07051025, 0.80848895, 0.13844642, -0.06128522, -0.00511704,
- -0.12795188, -0.0623881 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.20112546, 0.40225091, -0.01452104, -0.14182746, 0.28365493,
- -0.07051025, -0.06128522, -0.12795188, 0.80848895, -0.0623881 ,
- 0.13844642, -0.00511704],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01452104, -0.20112546, 0.40225091, -0.07051025, -0.14182746,
- 0.28365493, -0.0623881 , -0.00511704, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01452104, 0.40225091, -0.20112546, -0.07051025, 0.28365493,
- -0.14182746, -0.00511704, -0.0623881 , 0.13844642, -0.12795188,
- 0.80848895, -0.06128522],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.20112546, -0.01452104, 0.40225091, -0.14182746, -0.07051025,
- 0.28365493, -0.12795188, -0.06128522, -0.0623881 , 0.80848895,
- -0.00511704, 0.13844642],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.40225091, -0.01452104, -0.20112546, 0.28365493, -0.07051025,
- -0.14182746, 0.13844642, 0.80848895, -0.00511704, -0.06128522,
- -0.0623881 , -0.12795188],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.09390619, 0.09390619, 0.09390619, 0.84133592, 0.84133592,
- 0.84133592, 0.28345353, 0.28345353, 0.28345353, 0.28345353,
- 0.28345353, 0.28345353],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05512857, -0.05512857, 0.6533077 , -0.12499898, -0.12499898,
- 0.00143058, -0.04749626, -0.11771516, -0.04749626, 0.17376836,
- -0.11771516, 0.17376836]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.00143058, -0.12499898,
- -0.12499898, 0.17376836, 0.17376836, -0.11771516, -0.11771516,
- -0.04749626, -0.04749626]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05512857, 0.6533077 , -0.05512857, -0.12499898, 0.00143058,
- -0.12499898, -0.11771516, -0.04749626, 0.17376836, -0.04749626,
- 0.17376836, -0.11771516]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.22051427, 0.22051427, 0.01592089, 0.49999593, 0.49999593,
- 0.24857553, 0.79016044, 0.13530783, 0.79016044, 0.06597479,
- 0.13530783, 0.06597479]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.01592089, 0.22051427, 0.22051427, 0.24857553, 0.49999593,
- 0.49999593, 0.06597479, 0.06597479, 0.13530783, 0.13530783,
- 0.79016044, 0.79016044]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.22051427, 0.01592089, 0.22051427, 0.49999593, 0.24857553,
- 0.49999593, 0.13530783, 0.79016044, 0.06597479, 0.79016044,
- 0.06597479, 0.13530783]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 7.66053887e-15, -7.47643942e-01,
- 3.49528788e+00, 1.15463195e-14, -3.49528788e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 7.10542736e-15, 2.49528788e+00,
- 2.52356058e-01, -3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.49528788e+00, 5.05151476e-15, -7.47643942e-01,
- 2.52356058e-01, 3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 7.74380560e-15, -2.85301932e-03,
- 2.00570604e+00, 1.40998324e-14, -2.00570604e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 7.60502772e-15, 1.00570604e+00,
- 9.97146981e-01, -1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00570604e+00, 6.68909372e-15, -2.85301932e-03,
- 9.97146981e-01, 1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 8.50708393e-15, 2.41409804e-01,
- 2.54601000e+00, -1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 7.16093851e-15, -7.87419801e-01,
- 2.54601000e+00, 1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 8.21565038e-15, 1.54601000e+00,
- 1.24140980e+00, -2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 5.88418203e-15, -7.87419801e-01,
- 1.24140980e+00, 2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 7.04991621e-15, 1.54601000e+00,
- 2.12580199e-01, -1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 6.32827124e-15, 2.41409804e-01,
- 2.12580199e-01, 1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 7.66053887e-15, -7.47643942e-01, 3.49528788e+00,
- 1.15463195e-14, -3.49528788e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 7.10542736e-15, 2.49528788e+00, 2.52356058e-01,
- -3.24293183e+00, -2.52356058e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.49528788e+00,
- 5.05151476e-15, -7.47643942e-01, 2.52356058e-01,
- 3.24293183e+00, -2.52356058e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 7.74380560e-15, -2.85301932e-03, 2.00570604e+00,
- 1.40998324e-14, -2.00570604e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 7.60502772e-15, 1.00570604e+00, 9.97146981e-01,
- -1.00855906e+00, -9.97146981e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00570604e+00,
- 6.68909372e-15, -2.85301932e-03, 9.97146981e-01,
- 1.00855906e+00, -9.97146981e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 8.50708393e-15, 2.41409804e-01, 2.54601000e+00,
- -1.02882960e+00, -2.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 7.16093851e-15, -7.87419801e-01, 2.54601000e+00,
- 1.02882960e+00, -2.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 8.21565038e-15, 1.54601000e+00, 1.24140980e+00,
- -2.33342980e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 5.88418203e-15, -7.87419801e-01, 1.24140980e+00,
- 2.33342980e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 7.04991621e-15, 1.54601000e+00, 2.12580199e-01,
- -1.30460019e+00, -2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 6.32827124e-15, 2.41409804e-01, 2.12580199e-01,
- 1.30460019e+00, -2.12580199e-01]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 3.44372756e+00,
- -6.19847219e-18, 1.20457074e+00, -2.30167545e-01,
- 1.76434524e-01, 2.30167545e-01, 2.21356002e+00,
- -5.17135569e+00, -1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 4.85931890e-01,
- 3.35148811e-16, -2.44372756e+00, 6.37592643e+00,
- 2.44372756e+00, -6.37592643e+00, -5.37330206e-02,
- 5.37330206e-02, -9.48836306e-15, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -3.44372756e+00, 4.85931890e-01,
- -1.00022725e-16, -1.76434524e-01, -2.30167545e-01,
- -1.20457074e+00, 2.30167545e-01, 5.17135569e+00,
- -2.21356002e+00, 1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, -1.18553235e-01,
- -2.96189892e-17, 2.25318218e+00, -2.82847955e-01,
- -5.56094442e-01, 2.82847955e-01, -1.40140119e+00,
- 1.11531612e+00, -1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, -4.04638309e-01,
- -3.69822127e-17, 1.11855323e+00, 1.13786606e+00,
- -1.11855323e+00, -1.13786606e+00, -8.38942398e-01,
- 8.38942398e-01, 1.30826401e-14, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.18553235e-01, -4.04638309e-01,
- -1.57310230e-16, 5.56094442e-01, -2.82847955e-01,
- -2.25318218e+00, 2.82847955e-01, -1.11531612e+00,
- 1.40140119e+00, 1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, 7.40805832e-01,
- 7.96972856e-17, 3.93699696e+00, -9.62843375e-02,
- 9.51256225e-01, 9.62843375e-02, 1.74991003e+00,
- -1.93089196e+00, -4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 7.40805832e-01,
- -1.12042977e-17, 6.74175116e-01, -2.01023374e-01,
- -2.06177081e-01, 2.01023374e-01, -2.56560608e+00,
- 1.33192988e+00, -4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, -4.92870367e-01,
- 2.24860335e-16, 2.46932174e+00, 2.60506708e+00,
- 1.95093341e+00, -2.60506708e+00, 7.50232851e-01,
- 3.02461418e-01, -4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, -4.92870367e-01,
- -4.21435619e-17, 2.06177081e-01, -2.01023374e-01,
- -6.74175116e-01, 2.01023374e-01, -1.33192988e+00,
- 2.56560608e+00, 4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 5.59823902e-01,
- -1.14379134e-16, -1.95093341e+00, 2.60506708e+00,
- -2.46932174e+00, -2.60506708e+00, -3.02461418e-01,
- -7.50232851e-01, 4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 5.59823902e-01,
- -2.90481448e-16, -9.51256225e-01, -9.62843375e-02,
- -3.93699696e+00, 9.62843375e-02, 1.93089196e+00,
- -1.74991003e+00, 4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 2.49528788e+00, 0.00000000e+00, 2.52356058e-01,
- -2.52356058e-01, -3.24293183e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- -7.47643942e-01, 0.00000000e+00, 3.49528788e+00,
- -3.49528788e+00, 2.61756373e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.49528788e+00,
- -7.47643942e-01, 0.00000000e+00, 2.52356058e-01,
- -2.52356058e-01, 3.24293183e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 1.00570604e+00, 0.00000000e+00, 9.97146981e-01,
- -9.97146981e-01, -1.00855906e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- -2.85301932e-03, 0.00000000e+00, 2.00570604e+00,
- -2.00570604e+00, 3.63572562e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00570604e+00,
- -2.85301932e-03, 0.00000000e+00, 9.97146981e-01,
- -9.97146981e-01, 1.00855906e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 1.54601000e+00, 0.00000000e+00, 1.24140980e+00,
- -1.24140980e+00, -2.33342980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 1.54601000e+00, 0.00000000e+00, 2.12580199e-01,
- -2.12580199e-01, -1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 2.41409804e-01, 0.00000000e+00, 2.54601000e+00,
- -2.54601000e+00, -1.02882960e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 2.41409804e-01, 0.00000000e+00, 2.12580199e-01,
- -2.12580199e-01, 1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- -7.87419801e-01, 0.00000000e+00, 2.54601000e+00,
- -2.54601000e+00, 1.02882960e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- -7.87419801e-01, 0.00000000e+00, 1.24140980e+00,
- -1.24140980e+00, 2.33342980e+00]]), 'FE0_C0_D01': array([[ 7.47643942e-01, 7.66053887e-15, -7.47643942e-01,
- 3.49528788e+00, 1.15463195e-14, -3.49528788e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.10542736e-15, 2.49528788e+00,
- 2.52356058e-01, -3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.49528788e+00, 5.05151476e-15, -7.47643942e-01,
- 2.52356058e-01, 3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 7.74380560e-15, -2.85301932e-03,
- 2.00570604e+00, 1.40998324e-14, -2.00570604e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 7.60502772e-15, 1.00570604e+00,
- 9.97146981e-01, -1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00570604e+00, 6.68909372e-15, -2.85301932e-03,
- 9.97146981e-01, 1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 8.50708393e-15, 2.41409804e-01,
- 2.54601000e+00, -1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 7.16093851e-15, -7.87419801e-01,
- 2.54601000e+00, 1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 8.21565038e-15, 1.54601000e+00,
- 1.24140980e+00, -2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 5.88418203e-15, -7.87419801e-01,
- 1.24140980e+00, 2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 7.04991621e-15, 1.54601000e+00,
- 2.12580199e-01, -1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 6.32827124e-15, 2.41409804e-01,
- 2.12580199e-01, 1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -4.85931890e-01, -4.27435864e-15, 4.85931890e-01,
- 6.37592643e+00, -2.44372756e+00, -5.37330206e-02,
- 5.37330206e-02, 2.44372756e+00, -6.37592643e+00,
- -1.06581410e-14, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, 6.10622664e-15, 3.44372756e+00,
- -2.30167545e-01, 1.20457074e+00, 2.21356002e+00,
- -5.17135569e+00, 1.76434524e-01, 2.30167545e-01,
- -1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -3.44372756e+00, 1.66533454e-16, 4.85931890e-01,
- -2.30167545e-01, -1.76434524e-01, 5.17135569e+00,
- -2.21356002e+00, -1.20457074e+00, 2.30167545e-01,
- 1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, 1.59594560e-15, -4.04638309e-01,
- 1.13786606e+00, 1.11855323e+00, -8.38942398e-01,
- 8.38942398e-01, -1.11855323e+00, -1.13786606e+00,
- 6.84174939e-15, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, 4.44089210e-15, -1.18553235e-01,
- -2.82847955e-01, 2.25318218e+00, -1.40140119e+00,
- 1.11531612e+00, -5.56094442e-01, 2.82847955e-01,
- -1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.18553235e-01, 3.17107451e-15, -4.04638309e-01,
- -2.82847955e-01, 5.56094442e-01, -1.11531612e+00,
- 1.40140119e+00, -2.25318218e+00, 2.82847955e-01,
- 1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, -9.71445147e-17, -4.92870367e-01,
- 2.60506708e+00, 2.46932174e+00, 7.50232851e-01,
- 3.02461418e-01, 1.95093341e+00, -2.60506708e+00,
- -4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, -1.05471187e-15, 5.59823902e-01,
- 2.60506708e+00, -1.95093341e+00, -3.02461418e-01,
- -7.50232851e-01, -2.46932174e+00, -2.60506708e+00,
- 4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, 3.34801631e-15, 7.40805832e-01,
- -9.62843375e-02, 3.93699696e+00, 1.74991003e+00,
- -1.93089196e+00, 9.51256225e-01, 9.62843375e-02,
- -4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 7.21644966e-16, 5.59823902e-01,
- -9.62843375e-02, -9.51256225e-01, 1.93089196e+00,
- -1.74991003e+00, -3.93699696e+00, 9.62843375e-02,
- 4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 6.21031004e-15, 7.40805832e-01,
- -2.01023374e-01, 6.74175116e-01, -2.56560608e+00,
- 1.33192988e+00, -2.06177081e-01, 2.01023374e-01,
- -4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 4.01068068e-15, -4.92870367e-01,
- -2.01023374e-01, 2.06177081e-01, -1.33192988e+00,
- 2.56560608e+00, -6.74175116e-01, 2.01023374e-01,
- 4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06308901, 0.87382197, 0.06308901],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06308901, 0.06308901, 0.87382197],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.87382197, 0.06308901, 0.06308901],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.24928675, 0.50142651, 0.24928675],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.24928675, 0.24928675, 0.50142651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.50142651, 0.24928675, 0.24928675],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05314505, 0.6365025 , 0.31035245],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31035245, 0.6365025 , 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05314505, 0.31035245, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.6365025 , 0.31035245, 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31035245, 0.05314505, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.6365025 , 0.05314505, 0.31035245]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05512857, 0.6533077 , -0.05512857, 0.22051427,
- 0.01592089, 0.22051427, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05512857, -0.05512857, 0.6533077 , 0.22051427,
- 0.22051427, 0.01592089, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.6533077 , -0.05512857, -0.05512857, 0.01592089,
- 0.22051427, 0.22051427, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12499898, 0.00143058, -0.12499898, 0.49999593,
- 0.24857553, 0.49999593, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12499898, -0.12499898, 0.00143058, 0.49999593,
- 0.49999593, 0.24857553, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.00143058, -0.12499898, -0.12499898, 0.24857553,
- 0.49999593, 0.49999593, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04749626, 0.17376836, -0.11771516, 0.79016044,
- 0.06597479, 0.13530783, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11771516, 0.17376836, -0.04749626, 0.13530783,
- 0.06597479, 0.79016044, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04749626, -0.11771516, 0.17376836, 0.79016044,
- 0.13530783, 0.06597479, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.17376836, -0.11771516, -0.04749626, 0.06597479,
- 0.13530783, 0.79016044, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11771516, -0.04749626, 0.17376836, 0.13530783,
- 0.79016044, 0.06597479, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.17376836, -0.04749626, -0.11771516, 0.06597479,
- 0.79016044, 0.13530783, 0. , 0. , 0. ]]), 'FE0_C0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, -4.27435864e-15,
- 4.85931890e-01, 6.37592643e+00, -2.44372756e+00,
- -5.37330206e-02, 5.37330206e-02, 2.44372756e+00,
- -6.37592643e+00, -1.06581410e-14, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 6.10622664e-15,
- 3.44372756e+00, -2.30167545e-01, 1.20457074e+00,
- 2.21356002e+00, -5.17135569e+00, 1.76434524e-01,
- 2.30167545e-01, -1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -3.44372756e+00, 1.66533454e-16,
- 4.85931890e-01, -2.30167545e-01, -1.76434524e-01,
- 5.17135569e+00, -2.21356002e+00, -1.20457074e+00,
- 2.30167545e-01, 1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, 1.59594560e-15,
- -4.04638309e-01, 1.13786606e+00, 1.11855323e+00,
- -8.38942398e-01, 8.38942398e-01, -1.11855323e+00,
- -1.13786606e+00, 6.84174939e-15, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, 4.44089210e-15,
- -1.18553235e-01, -2.82847955e-01, 2.25318218e+00,
- -1.40140119e+00, 1.11531612e+00, -5.56094442e-01,
- 2.82847955e-01, -1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.18553235e-01, 3.17107451e-15,
- -4.04638309e-01, -2.82847955e-01, 5.56094442e-01,
- -1.11531612e+00, 1.40140119e+00, -2.25318218e+00,
- 2.82847955e-01, 1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, -9.71445147e-17,
- -4.92870367e-01, 2.60506708e+00, 2.46932174e+00,
- 7.50232851e-01, 3.02461418e-01, 1.95093341e+00,
- -2.60506708e+00, -4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, -1.05471187e-15,
- 5.59823902e-01, 2.60506708e+00, -1.95093341e+00,
- -3.02461418e-01, -7.50232851e-01, -2.46932174e+00,
- -2.60506708e+00, 4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, 3.34801631e-15,
- 7.40805832e-01, -9.62843375e-02, 3.93699696e+00,
- 1.74991003e+00, -1.93089196e+00, 9.51256225e-01,
- 9.62843375e-02, -4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 7.21644966e-16,
- 5.59823902e-01, -9.62843375e-02, -9.51256225e-01,
- 1.93089196e+00, -1.74991003e+00, -3.93699696e+00,
- 9.62843375e-02, 4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 6.21031004e-15,
- 7.40805832e-01, -2.01023374e-01, 6.74175116e-01,
- -2.56560608e+00, 1.33192988e+00, -2.06177081e-01,
- 2.01023374e-01, -4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 4.01068068e-15,
- -4.92870367e-01, -2.01023374e-01, 2.06177081e-01,
- -1.33192988e+00, 2.56560608e+00, -6.74175116e-01,
- 2.01023374e-01, 4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 2.49528788e+00, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, -3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, -7.47643942e-01, 0.00000000e+00,
- 3.49528788e+00, -3.49528788e+00, 2.61756373e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.49528788e+00, -7.47643942e-01, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, 3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 1.00570604e+00, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, -1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, -2.85301932e-03, 0.00000000e+00,
- 2.00570604e+00, -2.00570604e+00, 3.63572562e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00570604e+00, -2.85301932e-03, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, 1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 1.54601000e+00, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, -2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 1.54601000e+00, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, -1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 2.41409804e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, -1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 2.41409804e-01, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, 1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, -7.87419801e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, 1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, -7.87419801e-01, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, 2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D10': array([[ 7.47643942e-01, 2.49528788e+00, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, -3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, -7.47643942e-01, 0.00000000e+00,
- 3.49528788e+00, -3.49528788e+00, 2.61756373e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.49528788e+00, -7.47643942e-01, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, 3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 1.00570604e+00, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, -1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, -2.85301932e-03, 0.00000000e+00,
- 2.00570604e+00, -2.00570604e+00, 3.63572562e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00570604e+00, -2.85301932e-03, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, 1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 1.54601000e+00, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, -2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 1.54601000e+00, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, -1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 2.41409804e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, -1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 2.41409804e-01, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, 1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, -7.87419801e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, 1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, -7.87419801e-01, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, 2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 0.046308 , 0.44026899, 0.046308 , 0.40225091, -0.20112546,
- -0.01452104, -0.01452104, -0.20112546, 0.40225091, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.046308 , 0.046308 , 0.44026899, -0.20112546, 0.40225091,
- -0.20112546, 0.40225091, -0.01452104, -0.01452104, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.44026899, 0.046308 , 0.046308 , -0.01452104, -0.01452104,
- 0.40225091, -0.20112546, 0.40225091, -0.20112546, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.03935169, -0.06267372, 0.03935169, 0.28365493, -0.14182746,
- -0.07051025, -0.07051025, -0.14182746, 0.28365493, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.03935169, 0.03935169, -0.06267372, -0.14182746, 0.28365493,
- -0.14182746, 0.28365493, -0.07051025, -0.07051025, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.06267372, 0.03935169, 0.03935169, -0.07051025, -0.07051025,
- 0.28365493, -0.14182746, 0.28365493, -0.14182746, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.04111073, -0.02619323, 0.01143583, 0.80848895, -0.06128522,
- -0.0623881 , -0.00511704, -0.12795188, 0.13844642, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01143583, -0.02619323, 0.04111073, 0.13844642, -0.12795188,
- -0.00511704, -0.0623881 , -0.06128522, 0.80848895, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.04111073, 0.01143583, -0.02619323, -0.06128522, 0.80848895,
- -0.12795188, 0.13844642, -0.0623881 , -0.00511704, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.02619323, 0.01143583, 0.04111073, -0.00511704, -0.0623881 ,
- 0.13844642, -0.12795188, 0.80848895, -0.06128522, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01143583, 0.04111073, -0.02619323, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895, -0.00511704, -0.0623881 , 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.02619323, 0.04111073, 0.01143583, -0.0623881 , -0.00511704,
- 0.80848895, -0.06128522, 0.13844642, -0.12795188, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.046308 , 0.44026899, 0.046308 , 0.40225091, -0.20112546,
- -0.01452104, -0.01452104, -0.20112546, 0.40225091, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.046308 , 0.046308 , 0.44026899, -0.20112546, 0.40225091,
- -0.20112546, 0.40225091, -0.01452104, -0.01452104, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.44026899, 0.046308 , 0.046308 , -0.01452104, -0.01452104,
- 0.40225091, -0.20112546, 0.40225091, -0.20112546, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.03935169, -0.06267372, 0.03935169, 0.28365493, -0.14182746,
- -0.07051025, -0.07051025, -0.14182746, 0.28365493, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.03935169, 0.03935169, -0.06267372, -0.14182746, 0.28365493,
- -0.14182746, 0.28365493, -0.07051025, -0.07051025, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.06267372, 0.03935169, 0.03935169, -0.07051025, -0.07051025,
- 0.28365493, -0.14182746, 0.28365493, -0.14182746, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.04111073, -0.02619323, 0.01143583, 0.80848895, -0.06128522,
- -0.0623881 , -0.00511704, -0.12795188, 0.13844642, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.01143583, -0.02619323, 0.04111073, 0.13844642, -0.12795188,
- -0.00511704, -0.0623881 , -0.06128522, 0.80848895, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.04111073, 0.01143583, -0.02619323, -0.06128522, 0.80848895,
- -0.12795188, 0.13844642, -0.0623881 , -0.00511704, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.02619323, 0.01143583, 0.04111073, -0.00511704, -0.0623881 ,
- 0.13844642, -0.12795188, 0.80848895, -0.06128522, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.01143583, 0.04111073, -0.02619323, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895, -0.00511704, -0.0623881 , 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.02619323, 0.04111073, 0.01143583, -0.0623881 , -0.00511704,
- 0.80848895, -0.06128522, 0.13844642, -0.12795188, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.06308901, 0.87382197,
- 0.06308901],
- [ 0. , 0. , 0. , 0.06308901, 0.06308901,
- 0.87382197],
- [ 0. , 0. , 0. , 0.87382197, 0.06308901,
- 0.06308901],
- [ 0. , 0. , 0. , 0.24928675, 0.50142651,
- 0.24928675],
- [ 0. , 0. , 0. , 0.24928675, 0.24928675,
- 0.50142651],
- [ 0. , 0. , 0. , 0.50142651, 0.24928675,
- 0.24928675],
- [ 0. , 0. , 0. , 0.05314505, 0.6365025 ,
- 0.31035245],
- [ 0. , 0. , 0. , 0.31035245, 0.6365025 ,
- 0.05314505],
- [ 0. , 0. , 0. , 0.05314505, 0.31035245,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.31035245,
- 0.05314505],
- [ 0. , 0. , 0. , 0.31035245, 0.05314505,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.05314505,
- 0.31035245]]), 'FE1_C0_D10': array([[ -4.85931890e-01, 3.44372756e+00, -6.19847219e-18,
- 1.20457074e+00, -2.30167545e-01, 1.76434524e-01,
- 2.30167545e-01, 2.21356002e+00, -5.17135569e+00,
- -1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, 4.85931890e-01, 3.35148811e-16,
- -2.44372756e+00, 6.37592643e+00, 2.44372756e+00,
- -6.37592643e+00, -5.37330206e-02, 5.37330206e-02,
- -9.48836306e-15, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -3.44372756e+00, 4.85931890e-01, -1.00022725e-16,
- -1.76434524e-01, -2.30167545e-01, -1.20457074e+00,
- 2.30167545e-01, 5.17135569e+00, -2.21356002e+00,
- 1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, -1.18553235e-01, -2.96189892e-17,
- 2.25318218e+00, -2.82847955e-01, -5.56094442e-01,
- 2.82847955e-01, -1.40140119e+00, 1.11531612e+00,
- -1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, -4.04638309e-01, -3.69822127e-17,
- 1.11855323e+00, 1.13786606e+00, -1.11855323e+00,
- -1.13786606e+00, -8.38942398e-01, 8.38942398e-01,
- 1.30826401e-14, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.18553235e-01, -4.04638309e-01, -1.57310230e-16,
- 5.56094442e-01, -2.82847955e-01, -2.25318218e+00,
- 2.82847955e-01, -1.11531612e+00, 1.40140119e+00,
- 1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, 7.40805832e-01, 7.96972856e-17,
- 3.93699696e+00, -9.62843375e-02, 9.51256225e-01,
- 9.62843375e-02, 1.74991003e+00, -1.93089196e+00,
- -4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 7.40805832e-01, -1.12042977e-17,
- 6.74175116e-01, -2.01023374e-01, -2.06177081e-01,
- 2.01023374e-01, -2.56560608e+00, 1.33192988e+00,
- -4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, -4.92870367e-01, 2.24860335e-16,
- 2.46932174e+00, 2.60506708e+00, 1.95093341e+00,
- -2.60506708e+00, 7.50232851e-01, 3.02461418e-01,
- -4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, -4.92870367e-01, -4.21435619e-17,
- 2.06177081e-01, -2.01023374e-01, -6.74175116e-01,
- 2.01023374e-01, -1.33192988e+00, 2.56560608e+00,
- 4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 5.59823902e-01, -1.14379134e-16,
- -1.95093341e+00, 2.60506708e+00, -2.46932174e+00,
- -2.60506708e+00, -3.02461418e-01, -7.50232851e-01,
- 4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 5.59823902e-01, -2.90481448e-16,
- -9.51256225e-01, -9.62843375e-02, -3.93699696e+00,
- 9.62843375e-02, 1.93089196e+00, -1.74991003e+00,
- 4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0': array([[ 0.06308901, 0.87382197, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0. , 0. ,
- 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.50142651, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.24928675, 0.50142651, 0. , 0. ,
- 0. ],
- [ 0.50142651, 0.24928675, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.6365025 , 0.31035245, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.6365025 , 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.31035245, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.31035245, 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.05314505, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.05314505, 0.31035245, 0. , 0. ,
- 0. ]])}
-
- tables: {'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 7.66053887e-15, -7.47643942e-01,
- 3.49528788e+00, 1.15463195e-14, -3.49528788e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 7.10542736e-15, 2.49528788e+00,
- 2.52356058e-01, -3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.49528788e+00, 5.05151476e-15, -7.47643942e-01,
- 2.52356058e-01, 3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 7.74380560e-15, -2.85301932e-03,
- 2.00570604e+00, 1.40998324e-14, -2.00570604e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 7.60502772e-15, 1.00570604e+00,
- 9.97146981e-01, -1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00570604e+00, 6.68909372e-15, -2.85301932e-03,
- 9.97146981e-01, 1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 8.50708393e-15, 2.41409804e-01,
- 2.54601000e+00, -1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 7.16093851e-15, -7.87419801e-01,
- 2.54601000e+00, 1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 8.21565038e-15, 1.54601000e+00,
- 1.24140980e+00, -2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 5.88418203e-15, -7.87419801e-01,
- 1.24140980e+00, 2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 7.04991621e-15, 1.54601000e+00,
- 2.12580199e-01, -1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 6.32827124e-15, 2.41409804e-01,
- 2.12580199e-01, 1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 7.66053887e-15, -7.47643942e-01, 3.49528788e+00,
- 1.15463195e-14, -3.49528788e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 7.10542736e-15, 2.49528788e+00, 2.52356058e-01,
- -3.24293183e+00, -2.52356058e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.49528788e+00,
- 5.05151476e-15, -7.47643942e-01, 2.52356058e-01,
- 3.24293183e+00, -2.52356058e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 7.74380560e-15, -2.85301932e-03, 2.00570604e+00,
- 1.40998324e-14, -2.00570604e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 7.60502772e-15, 1.00570604e+00, 9.97146981e-01,
- -1.00855906e+00, -9.97146981e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00570604e+00,
- 6.68909372e-15, -2.85301932e-03, 9.97146981e-01,
- 1.00855906e+00, -9.97146981e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 8.50708393e-15, 2.41409804e-01, 2.54601000e+00,
- -1.02882960e+00, -2.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 7.16093851e-15, -7.87419801e-01, 2.54601000e+00,
- 1.02882960e+00, -2.54601000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 8.21565038e-15, 1.54601000e+00, 1.24140980e+00,
- -2.33342980e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 5.88418203e-15, -7.87419801e-01, 1.24140980e+00,
- 2.33342980e+00, -1.24140980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 7.04991621e-15, 1.54601000e+00, 2.12580199e-01,
- -1.30460019e+00, -2.12580199e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 6.32827124e-15, 2.41409804e-01, 2.12580199e-01,
- 1.30460019e+00, -2.12580199e-01]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 3.44372756e+00,
- -6.19847219e-18, 1.20457074e+00, -2.30167545e-01,
- 1.76434524e-01, 2.30167545e-01, 2.21356002e+00,
- -5.17135569e+00, -1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 4.85931890e-01,
- 3.35148811e-16, -2.44372756e+00, 6.37592643e+00,
- 2.44372756e+00, -6.37592643e+00, -5.37330206e-02,
- 5.37330206e-02, -9.48836306e-15, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -3.44372756e+00, 4.85931890e-01,
- -1.00022725e-16, -1.76434524e-01, -2.30167545e-01,
- -1.20457074e+00, 2.30167545e-01, 5.17135569e+00,
- -2.21356002e+00, 1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, -1.18553235e-01,
- -2.96189892e-17, 2.25318218e+00, -2.82847955e-01,
- -5.56094442e-01, 2.82847955e-01, -1.40140119e+00,
- 1.11531612e+00, -1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, -4.04638309e-01,
- -3.69822127e-17, 1.11855323e+00, 1.13786606e+00,
- -1.11855323e+00, -1.13786606e+00, -8.38942398e-01,
- 8.38942398e-01, 1.30826401e-14, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.18553235e-01, -4.04638309e-01,
- -1.57310230e-16, 5.56094442e-01, -2.82847955e-01,
- -2.25318218e+00, 2.82847955e-01, -1.11531612e+00,
- 1.40140119e+00, 1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, 7.40805832e-01,
- 7.96972856e-17, 3.93699696e+00, -9.62843375e-02,
- 9.51256225e-01, 9.62843375e-02, 1.74991003e+00,
- -1.93089196e+00, -4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 7.40805832e-01,
- -1.12042977e-17, 6.74175116e-01, -2.01023374e-01,
- -2.06177081e-01, 2.01023374e-01, -2.56560608e+00,
- 1.33192988e+00, -4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, -4.92870367e-01,
- 2.24860335e-16, 2.46932174e+00, 2.60506708e+00,
- 1.95093341e+00, -2.60506708e+00, 7.50232851e-01,
- 3.02461418e-01, -4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, -4.92870367e-01,
- -4.21435619e-17, 2.06177081e-01, -2.01023374e-01,
- -6.74175116e-01, 2.01023374e-01, -1.33192988e+00,
- 2.56560608e+00, 4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 5.59823902e-01,
- -1.14379134e-16, -1.95093341e+00, 2.60506708e+00,
- -2.46932174e+00, -2.60506708e+00, -3.02461418e-01,
- -7.50232851e-01, 4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 5.59823902e-01,
- -2.90481448e-16, -9.51256225e-01, -9.62843375e-02,
- -3.93699696e+00, 9.62843375e-02, 1.93089196e+00,
- -1.74991003e+00, 4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- 2.49528788e+00, 0.00000000e+00, 2.52356058e-01,
- -2.52356058e-01, -3.24293183e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.47643942e-01,
- -7.47643942e-01, 0.00000000e+00, 3.49528788e+00,
- -3.49528788e+00, 2.61756373e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.49528788e+00,
- -7.47643942e-01, 0.00000000e+00, 2.52356058e-01,
- -2.52356058e-01, 3.24293183e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- 1.00570604e+00, 0.00000000e+00, 9.97146981e-01,
- -9.97146981e-01, -1.00855906e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 2.85301932e-03,
- -2.85301932e-03, 0.00000000e+00, 2.00570604e+00,
- -2.00570604e+00, 3.63572562e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00570604e+00,
- -2.85301932e-03, 0.00000000e+00, 9.97146981e-01,
- -9.97146981e-01, 1.00855906e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 1.54601000e+00, 0.00000000e+00, 1.24140980e+00,
- -1.24140980e+00, -2.33342980e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- 1.54601000e+00, 0.00000000e+00, 2.12580199e-01,
- -2.12580199e-01, -1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 7.87419801e-01,
- 2.41409804e-01, 0.00000000e+00, 2.54601000e+00,
- -2.54601000e+00, -1.02882960e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- 2.41409804e-01, 0.00000000e+00, 2.12580199e-01,
- -2.12580199e-01, 1.30460019e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -2.41409804e-01,
- -7.87419801e-01, 0.00000000e+00, 2.54601000e+00,
- -2.54601000e+00, 1.02882960e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.54601000e+00,
- -7.87419801e-01, 0.00000000e+00, 1.24140980e+00,
- -1.24140980e+00, 2.33342980e+00]]), 'FE0_C0_D01': array([[ 7.47643942e-01, 7.66053887e-15, -7.47643942e-01,
- 3.49528788e+00, 1.15463195e-14, -3.49528788e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, 7.10542736e-15, 2.49528788e+00,
- 2.52356058e-01, -3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.49528788e+00, 5.05151476e-15, -7.47643942e-01,
- 2.52356058e-01, 3.24293183e+00, -2.52356058e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 7.74380560e-15, -2.85301932e-03,
- 2.00570604e+00, 1.40998324e-14, -2.00570604e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 7.60502772e-15, 1.00570604e+00,
- 9.97146981e-01, -1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00570604e+00, 6.68909372e-15, -2.85301932e-03,
- 9.97146981e-01, 1.00855906e+00, -9.97146981e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 8.50708393e-15, 2.41409804e-01,
- 2.54601000e+00, -1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 7.16093851e-15, -7.87419801e-01,
- 2.54601000e+00, 1.02882960e+00, -2.54601000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 8.21565038e-15, 1.54601000e+00,
- 1.24140980e+00, -2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 5.88418203e-15, -7.87419801e-01,
- 1.24140980e+00, 2.33342980e+00, -1.24140980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 7.04991621e-15, 1.54601000e+00,
- 2.12580199e-01, -1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 6.32827124e-15, 2.41409804e-01,
- 2.12580199e-01, 1.30460019e+00, -2.12580199e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -4.85931890e-01, -4.27435864e-15, 4.85931890e-01,
- 6.37592643e+00, -2.44372756e+00, -5.37330206e-02,
- 5.37330206e-02, 2.44372756e+00, -6.37592643e+00,
- -1.06581410e-14, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, 6.10622664e-15, 3.44372756e+00,
- -2.30167545e-01, 1.20457074e+00, 2.21356002e+00,
- -5.17135569e+00, 1.76434524e-01, 2.30167545e-01,
- -1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -3.44372756e+00, 1.66533454e-16, 4.85931890e-01,
- -2.30167545e-01, -1.76434524e-01, 5.17135569e+00,
- -2.21356002e+00, -1.20457074e+00, 2.30167545e-01,
- 1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, 1.59594560e-15, -4.04638309e-01,
- 1.13786606e+00, 1.11855323e+00, -8.38942398e-01,
- 8.38942398e-01, -1.11855323e+00, -1.13786606e+00,
- 6.84174939e-15, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, 4.44089210e-15, -1.18553235e-01,
- -2.82847955e-01, 2.25318218e+00, -1.40140119e+00,
- 1.11531612e+00, -5.56094442e-01, 2.82847955e-01,
- -1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.18553235e-01, 3.17107451e-15, -4.04638309e-01,
- -2.82847955e-01, 5.56094442e-01, -1.11531612e+00,
- 1.40140119e+00, -2.25318218e+00, 2.82847955e-01,
- 1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, -9.71445147e-17, -4.92870367e-01,
- 2.60506708e+00, 2.46932174e+00, 7.50232851e-01,
- 3.02461418e-01, 1.95093341e+00, -2.60506708e+00,
- -4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, -1.05471187e-15, 5.59823902e-01,
- 2.60506708e+00, -1.95093341e+00, -3.02461418e-01,
- -7.50232851e-01, -2.46932174e+00, -2.60506708e+00,
- 4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, 3.34801631e-15, 7.40805832e-01,
- -9.62843375e-02, 3.93699696e+00, 1.74991003e+00,
- -1.93089196e+00, 9.51256225e-01, 9.62843375e-02,
- -4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 7.21644966e-16, 5.59823902e-01,
- -9.62843375e-02, -9.51256225e-01, 1.93089196e+00,
- -1.74991003e+00, -3.93699696e+00, 9.62843375e-02,
- 4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 6.21031004e-15, 7.40805832e-01,
- -2.01023374e-01, 6.74175116e-01, -2.56560608e+00,
- 1.33192988e+00, -2.06177081e-01, 2.01023374e-01,
- -4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 4.01068068e-15, -4.92870367e-01,
- -2.01023374e-01, 2.06177081e-01, -1.33192988e+00,
- 2.56560608e+00, -6.74175116e-01, 2.01023374e-01,
- 4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06308901, 0.87382197, 0.06308901],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06308901, 0.06308901, 0.87382197],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.87382197, 0.06308901, 0.06308901],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.24928675, 0.50142651, 0.24928675],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.24928675, 0.24928675, 0.50142651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.50142651, 0.24928675, 0.24928675],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05314505, 0.6365025 , 0.31035245],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31035245, 0.6365025 , 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05314505, 0.31035245, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.6365025 , 0.31035245, 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31035245, 0.05314505, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.6365025 , 0.05314505, 0.31035245]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05512857, 0.6533077 , -0.05512857, 0.22051427,
- 0.01592089, 0.22051427, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05512857, -0.05512857, 0.6533077 , 0.22051427,
- 0.22051427, 0.01592089, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.6533077 , -0.05512857, -0.05512857, 0.01592089,
- 0.22051427, 0.22051427, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12499898, 0.00143058, -0.12499898, 0.49999593,
- 0.24857553, 0.49999593, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12499898, -0.12499898, 0.00143058, 0.49999593,
- 0.49999593, 0.24857553, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.00143058, -0.12499898, -0.12499898, 0.24857553,
- 0.49999593, 0.49999593, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04749626, 0.17376836, -0.11771516, 0.79016044,
- 0.06597479, 0.13530783, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11771516, 0.17376836, -0.04749626, 0.13530783,
- 0.06597479, 0.79016044, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04749626, -0.11771516, 0.17376836, 0.79016044,
- 0.13530783, 0.06597479, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.17376836, -0.11771516, -0.04749626, 0.06597479,
- 0.13530783, 0.79016044, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11771516, -0.04749626, 0.17376836, 0.13530783,
- 0.79016044, 0.06597479, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.17376836, -0.04749626, -0.11771516, 0.06597479,
- 0.79016044, 0.13530783, 0. , 0. , 0. ]]), 'FE0_C0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE3_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, -4.27435864e-15,
- 4.85931890e-01, 6.37592643e+00, -2.44372756e+00,
- -5.37330206e-02, 5.37330206e-02, 2.44372756e+00,
- -6.37592643e+00, -1.06581410e-14, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -4.85931890e-01, 6.10622664e-15,
- 3.44372756e+00, -2.30167545e-01, 1.20457074e+00,
- 2.21356002e+00, -5.17135569e+00, 1.76434524e-01,
- 2.30167545e-01, -1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -3.44372756e+00, 1.66533454e-16,
- 4.85931890e-01, -2.30167545e-01, -1.76434524e-01,
- 5.17135569e+00, -2.21356002e+00, -1.20457074e+00,
- 2.30167545e-01, 1.38100527e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, 1.59594560e-15,
- -4.04638309e-01, 1.13786606e+00, 1.11855323e+00,
- -8.38942398e-01, 8.38942398e-01, -1.11855323e+00,
- -1.13786606e+00, 6.84174939e-15, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.04638309e-01, 4.44089210e-15,
- -1.18553235e-01, -2.82847955e-01, 2.25318218e+00,
- -1.40140119e+00, 1.11531612e+00, -5.56094442e-01,
- 2.82847955e-01, -1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.18553235e-01, 3.17107451e-15,
- -4.04638309e-01, -2.82847955e-01, 5.56094442e-01,
- -1.11531612e+00, 1.40140119e+00, -2.25318218e+00,
- 2.82847955e-01, 1.69708773e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, -9.71445147e-17,
- -4.92870367e-01, 2.60506708e+00, 2.46932174e+00,
- 7.50232851e-01, 3.02461418e-01, 1.95093341e+00,
- -2.60506708e+00, -4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, -1.05471187e-15,
- 5.59823902e-01, 2.60506708e+00, -1.95093341e+00,
- -3.02461418e-01, -7.50232851e-01, -2.46932174e+00,
- -2.60506708e+00, 4.42025515e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -5.59823902e-01, 3.34801631e-15,
- 7.40805832e-01, -9.62843375e-02, 3.93699696e+00,
- 1.74991003e+00, -1.93089196e+00, 9.51256225e-01,
- 9.62843375e-02, -4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 7.21644966e-16,
- 5.59823902e-01, -9.62843375e-02, -9.51256225e-01,
- 1.93089196e+00, -1.74991003e+00, -3.93699696e+00,
- 9.62843375e-02, 4.88825318e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.92870367e-01, 6.21031004e-15,
- 7.40805832e-01, -2.01023374e-01, 6.74175116e-01,
- -2.56560608e+00, 1.33192988e+00, -2.06177081e-01,
- 2.01023374e-01, -4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -7.40805832e-01, 4.01068068e-15,
- -4.92870367e-01, -2.01023374e-01, 2.06177081e-01,
- -1.33192988e+00, 2.56560608e+00, -6.74175116e-01,
- 2.01023374e-01, 4.67998035e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE0_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, 2.49528788e+00, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, -3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.47643942e-01, -7.47643942e-01, 0.00000000e+00,
- 3.49528788e+00, -3.49528788e+00, 2.61756373e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.49528788e+00, -7.47643942e-01, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, 3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, 1.00570604e+00, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, -1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.85301932e-03, -2.85301932e-03, 0.00000000e+00,
- 2.00570604e+00, -2.00570604e+00, 3.63572562e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00570604e+00, -2.85301932e-03, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, 1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 1.54601000e+00, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, -2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, 1.54601000e+00, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, -1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.87419801e-01, 2.41409804e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, -1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, 2.41409804e-01, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, 1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.41409804e-01, -7.87419801e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, 1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.54601000e+00, -7.87419801e-01, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, 2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D10': array([[ 7.47643942e-01, 2.49528788e+00, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, -3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47643942e-01, -7.47643942e-01, 0.00000000e+00,
- 3.49528788e+00, -3.49528788e+00, 2.61756373e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.49528788e+00, -7.47643942e-01, 0.00000000e+00,
- 2.52356058e-01, -2.52356058e-01, 3.24293183e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, 1.00570604e+00, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, -1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.85301932e-03, -2.85301932e-03, 0.00000000e+00,
- 2.00570604e+00, -2.00570604e+00, 3.63572562e-15,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00570604e+00, -2.85301932e-03, 0.00000000e+00,
- 9.97146981e-01, -9.97146981e-01, 1.00855906e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 1.54601000e+00, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, -2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, 1.54601000e+00, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, -1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.87419801e-01, 2.41409804e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, -1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, 2.41409804e-01, 0.00000000e+00,
- 2.12580199e-01, -2.12580199e-01, 1.30460019e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.41409804e-01, -7.87419801e-01, 0.00000000e+00,
- 2.54601000e+00, -2.54601000e+00, 1.02882960e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.54601000e+00, -7.87419801e-01, 0.00000000e+00,
- 1.24140980e+00, -1.24140980e+00, 2.33342980e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 0.046308 , 0.44026899, 0.046308 , 0.40225091, -0.20112546,
- -0.01452104, -0.01452104, -0.20112546, 0.40225091, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.046308 , 0.046308 , 0.44026899, -0.20112546, 0.40225091,
- -0.20112546, 0.40225091, -0.01452104, -0.01452104, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.44026899, 0.046308 , 0.046308 , -0.01452104, -0.01452104,
- 0.40225091, -0.20112546, 0.40225091, -0.20112546, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.03935169, -0.06267372, 0.03935169, 0.28365493, -0.14182746,
- -0.07051025, -0.07051025, -0.14182746, 0.28365493, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.03935169, 0.03935169, -0.06267372, -0.14182746, 0.28365493,
- -0.14182746, 0.28365493, -0.07051025, -0.07051025, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.06267372, 0.03935169, 0.03935169, -0.07051025, -0.07051025,
- 0.28365493, -0.14182746, 0.28365493, -0.14182746, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.04111073, -0.02619323, 0.01143583, 0.80848895, -0.06128522,
- -0.0623881 , -0.00511704, -0.12795188, 0.13844642, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01143583, -0.02619323, 0.04111073, 0.13844642, -0.12795188,
- -0.00511704, -0.0623881 , -0.06128522, 0.80848895, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.04111073, 0.01143583, -0.02619323, -0.06128522, 0.80848895,
- -0.12795188, 0.13844642, -0.0623881 , -0.00511704, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.02619323, 0.01143583, 0.04111073, -0.00511704, -0.0623881 ,
- 0.13844642, -0.12795188, 0.80848895, -0.06128522, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01143583, 0.04111073, -0.02619323, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895, -0.00511704, -0.0623881 , 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.02619323, 0.04111073, 0.01143583, -0.0623881 , -0.00511704,
- 0.80848895, -0.06128522, 0.13844642, -0.12795188, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.046308 , 0.44026899, 0.046308 , 0.40225091, -0.20112546,
- -0.01452104, -0.01452104, -0.20112546, 0.40225091, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.046308 , 0.046308 , 0.44026899, -0.20112546, 0.40225091,
- -0.20112546, 0.40225091, -0.01452104, -0.01452104, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.44026899, 0.046308 , 0.046308 , -0.01452104, -0.01452104,
- 0.40225091, -0.20112546, 0.40225091, -0.20112546, 0.09390619,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.03935169, -0.06267372, 0.03935169, 0.28365493, -0.14182746,
- -0.07051025, -0.07051025, -0.14182746, 0.28365493, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.03935169, 0.03935169, -0.06267372, -0.14182746, 0.28365493,
- -0.14182746, 0.28365493, -0.07051025, -0.07051025, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.06267372, 0.03935169, 0.03935169, -0.07051025, -0.07051025,
- 0.28365493, -0.14182746, 0.28365493, -0.14182746, 0.84133592,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.04111073, -0.02619323, 0.01143583, 0.80848895, -0.06128522,
- -0.0623881 , -0.00511704, -0.12795188, 0.13844642, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.01143583, -0.02619323, 0.04111073, 0.13844642, -0.12795188,
- -0.00511704, -0.0623881 , -0.06128522, 0.80848895, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.04111073, 0.01143583, -0.02619323, -0.06128522, 0.80848895,
- -0.12795188, 0.13844642, -0.0623881 , -0.00511704, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.02619323, 0.01143583, 0.04111073, -0.00511704, -0.0623881 ,
- 0.13844642, -0.12795188, 0.80848895, -0.06128522, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.01143583, 0.04111073, -0.02619323, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895, -0.00511704, -0.0623881 , 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.02619323, 0.04111073, 0.01143583, -0.0623881 , -0.00511704,
- 0.80848895, -0.06128522, 0.13844642, -0.12795188, 0.28345353,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- -0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE3_C1': array([[ 0. , 0. , 0. , 0.06308901, 0.87382197,
- 0.06308901],
- [ 0. , 0. , 0. , 0.06308901, 0.06308901,
- 0.87382197],
- [ 0. , 0. , 0. , 0.87382197, 0.06308901,
- 0.06308901],
- [ 0. , 0. , 0. , 0.24928675, 0.50142651,
- 0.24928675],
- [ 0. , 0. , 0. , 0.24928675, 0.24928675,
- 0.50142651],
- [ 0. , 0. , 0. , 0.50142651, 0.24928675,
- 0.24928675],
- [ 0. , 0. , 0. , 0.05314505, 0.6365025 ,
- 0.31035245],
- [ 0. , 0. , 0. , 0.31035245, 0.6365025 ,
- 0.05314505],
- [ 0. , 0. , 0. , 0.05314505, 0.31035245,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.31035245,
- 0.05314505],
- [ 0. , 0. , 0. , 0.31035245, 0.05314505,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.05314505,
- 0.31035245]]), 'FE1_C0_D10': array([[ -4.85931890e-01, 3.44372756e+00, -6.19847219e-18,
- 1.20457074e+00, -2.30167545e-01, 1.76434524e-01,
- 2.30167545e-01, 2.21356002e+00, -5.17135569e+00,
- -1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -4.85931890e-01, 4.85931890e-01, 3.35148811e-16,
- -2.44372756e+00, 6.37592643e+00, 2.44372756e+00,
- -6.37592643e+00, -5.37330206e-02, 5.37330206e-02,
- -9.48836306e-15, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -3.44372756e+00, 4.85931890e-01, -1.00022725e-16,
- -1.76434524e-01, -2.30167545e-01, -1.20457074e+00,
- 2.30167545e-01, 5.17135569e+00, -2.21356002e+00,
- 1.38100527e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, -1.18553235e-01, -2.96189892e-17,
- 2.25318218e+00, -2.82847955e-01, -5.56094442e-01,
- 2.82847955e-01, -1.40140119e+00, 1.11531612e+00,
- -1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.04638309e-01, -4.04638309e-01, -3.69822127e-17,
- 1.11855323e+00, 1.13786606e+00, -1.11855323e+00,
- -1.13786606e+00, -8.38942398e-01, 8.38942398e-01,
- 1.30826401e-14, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.18553235e-01, -4.04638309e-01, -1.57310230e-16,
- 5.56094442e-01, -2.82847955e-01, -2.25318218e+00,
- 2.82847955e-01, -1.11531612e+00, 1.40140119e+00,
- 1.69708773e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, 7.40805832e-01, 7.96972856e-17,
- 3.93699696e+00, -9.62843375e-02, 9.51256225e-01,
- 9.62843375e-02, 1.74991003e+00, -1.93089196e+00,
- -4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 7.40805832e-01, -1.12042977e-17,
- 6.74175116e-01, -2.01023374e-01, -2.06177081e-01,
- 2.01023374e-01, -2.56560608e+00, 1.33192988e+00,
- -4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -5.59823902e-01, -4.92870367e-01, 2.24860335e-16,
- 2.46932174e+00, 2.60506708e+00, 1.95093341e+00,
- -2.60506708e+00, 7.50232851e-01, 3.02461418e-01,
- -4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, -4.92870367e-01, -4.21435619e-17,
- 2.06177081e-01, -2.01023374e-01, -6.74175116e-01,
- 2.01023374e-01, -1.33192988e+00, 2.56560608e+00,
- 4.67998035e-01, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 4.92870367e-01, 5.59823902e-01, -1.14379134e-16,
- -1.95093341e+00, 2.60506708e+00, -2.46932174e+00,
- -2.60506708e+00, -3.02461418e-01, -7.50232851e-01,
- 4.42025515e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -7.40805832e-01, 5.59823902e-01, -2.90481448e-16,
- -9.51256225e-01, -9.62843375e-02, -3.93699696e+00,
- 9.62843375e-02, 1.93089196e+00, -1.74991003e+00,
- 4.88825318e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE3_C0': array([[ 0.06308901, 0.87382197, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0. , 0. ,
- 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.50142651, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.24928675, 0.50142651, 0. , 0. ,
- 0. ],
- [ 0.50142651, 0.24928675, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.6365025 , 0.31035245, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.6365025 , 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.31035245, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.31035245, 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.05314505, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.05314505, 0.31035245, 0. , 0. ,
- 0. ]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE3_C1': 'FE3_C1', 'FE3_C1_D10': 'FE3_C1_D10', 'FE1_C1_D10': 'FE1_C1_D10', 'FE3_C0_D10': 'FE3_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE2': 'FE2', 'FE0_C2_D01': 'FE0_C2_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0', 'FE3_C1_D01': 'FE3_C1_D01', 'FE1_C1_D01': 'FE1_C1_D01', 'FE0_C1_D10': 'FE0_C1_D10', 'FE1_C2_D01': 'FE1_C2_D01', 'FE0_C0_D10': 'FE0_C0_D10', 'FE3_C0_D01': 'FE3_C0_D01', 'FE1_C2_D10': 'FE [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D01': array([[ 7.47643942e-01, -7.47643942e-01, 3.49528788e+00,
- 1.15463195e-14, -3.49528788e+00],
- [ 7.47643942e-01, 2.49528788e+00, 2.52356058e-01,
- -3.24293183e+00, -2.52356058e-01],
- [ -2.49528788e+00, -7.47643942e-01, 2.52356058e-01,
- 3.24293183e+00, -2.52356058e-01],
- [ 2.85301932e-03, -2.85301932e-03, 2.00570604e+00,
- 1.40998324e-14, -2.00570604e+00],
- [ 2.85301932e-03, 1.00570604e+00, 9.97146981e-01,
- -1.00855906e+00, -9.97146981e-01],
- [ -1.00570604e+00, -2.85301932e-03, 9.97146981e-01,
- 1.00855906e+00, -9.97146981e-01],
- [ 7.87419801e-01, 2.41409804e-01, 2.54601000e+00,
- -1.02882960e+00, -2.54601000e+00],
- [ -2.41409804e-01, -7.87419801e-01, 2.54601000e+00,
- 1.02882960e+00, -2.54601000e+00],
- [ 7.87419801e-01, 1.54601000e+00, 1.24140980e+00,
- -2.33342980e+00, -1.24140980e+00],
- [ -1.54601000e+00, -7.87419801e-01, 1.24140980e+00,
- 2.33342980e+00, -1.24140980e+00],
- [ -2.41409804e-01, 1.54601000e+00, 2.12580199e-01,
- -1.30460019e+00, -2.12580199e-01],
- [ -1.54601000e+00, 2.41409804e-01, 2.12580199e-01,
- 1.30460019e+00, -2.12580199e-01]]), 'FE2': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_C0_D01': array([[ -4.85931890e-01, 4.85931890e-01, 6.37592643e+00,
- -2.44372756e+00, -5.37330206e-02, 5.37330206e-02,
- 2.44372756e+00, -6.37592643e+00, -1.06581410e-14],
- [ -4.85931890e-01, 3.44372756e+00, -2.30167545e-01,
- 1.20457074e+00, 2.21356002e+00, -5.17135569e+00,
- 1.76434524e-01, 2.30167545e-01, -1.38100527e+00],
- [ -3.44372756e+00, 4.85931890e-01, -2.30167545e-01,
- -1.76434524e-01, 5.17135569e+00, -2.21356002e+00,
- -1.20457074e+00, 2.30167545e-01, 1.38100527e+00],
- [ 4.04638309e-01, -4.04638309e-01, 1.13786606e+00,
- 1.11855323e+00, -8.38942398e-01, 8.38942398e-01,
- -1.11855323e+00, -1.13786606e+00, 0.00000000e+00],
- [ 4.04638309e-01, -1.18553235e-01, -2.82847955e-01,
- 2.25318218e+00, -1.40140119e+00, 1.11531612e+00,
- -5.56094442e-01, 2.82847955e-01, -1.69708773e+00],
- [ 1.18553235e-01, -4.04638309e-01, -2.82847955e-01,
- 5.56094442e-01, -1.11531612e+00, 1.40140119e+00,
- -2.25318218e+00, 2.82847955e-01, 1.69708773e+00],
- [ -5.59823902e-01, -4.92870367e-01, 2.60506708e+00,
- 2.46932174e+00, 7.50232851e-01, 3.02461418e-01,
- 1.95093341e+00, -2.60506708e+00, -4.42025515e+00],
- [ 4.92870367e-01, 5.59823902e-01, 2.60506708e+00,
- -1.95093341e+00, -3.02461418e-01, -7.50232851e-01,
- -2.46932174e+00, -2.60506708e+00, 4.42025515e+00],
- [ -5.59823902e-01, 7.40805832e-01, -9.62843375e-02,
- 3.93699696e+00, 1.74991003e+00, -1.93089196e+00,
- 9.51256225e-01, 9.62843375e-02, -4.88825318e+00],
- [ -7.40805832e-01, 5.59823902e-01, -9.62843375e-02,
- -9.51256225e-01, 1.93089196e+00, -1.74991003e+00,
- -3.93699696e+00, 9.62843375e-02, 4.88825318e+00],
- [ 4.92870367e-01, 7.40805832e-01, -2.01023374e-01,
- 6.74175116e-01, -2.56560608e+00, 1.33192988e+00,
- -2.06177081e-01, 2.01023374e-01, -4.67998035e-01],
- [ -7.40805832e-01, -4.92870367e-01, -2.01023374e-01,
- 2.06177081e-01, -1.33192988e+00, 2.56560608e+00,
- -6.74175116e-01, 2.01023374e-01, 4.67998035e-01]]), 'FE0_C2': array([[ 0.06308901, 0.87382197, 0.06308901],
- [ 0.06308901, 0.06308901, 0.87382197],
- [ 0.87382197, 0.06308901, 0.06308901],
- [ 0.24928675, 0.50142651, 0.24928675],
- [ 0.24928675, 0.24928675, 0.50142651],
- [ 0.50142651, 0.24928675, 0.24928675],
- [ 0.05314505, 0.6365025 , 0.31035245],
- [ 0.31035245, 0.6365025 , 0.05314505],
- [ 0.05314505, 0.31035245, 0.6365025 ],
- [ 0.6365025 , 0.31035245, 0.05314505],
- [ 0.31035245, 0.05314505, 0.6365025 ],
- [ 0.6365025 , 0.05314505, 0.31035245]]), 'FE0_C0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE0_C0_D10': array([[ 7.47643942e-01, 2.49528788e+00, 2.52356058e-01,
- -2.52356058e-01, -3.24293183e+00],
- [ 7.47643942e-01, -7.47643942e-01, 3.49528788e+00,
- -3.49528788e+00, 0.00000000e+00],
- [ -2.49528788e+00, -7.47643942e-01, 2.52356058e-01,
- -2.52356058e-01, 3.24293183e+00],
- [ 2.85301932e-03, 1.00570604e+00, 9.97146981e-01,
- -9.97146981e-01, -1.00855906e+00],
- [ 2.85301932e-03, -2.85301932e-03, 2.00570604e+00,
- -2.00570604e+00, 0.00000000e+00],
- [ -1.00570604e+00, -2.85301932e-03, 9.97146981e-01,
- -9.97146981e-01, 1.00855906e+00],
- [ 7.87419801e-01, 1.54601000e+00, 1.24140980e+00,
- -1.24140980e+00, -2.33342980e+00],
- [ -2.41409804e-01, 1.54601000e+00, 2.12580199e-01,
- -2.12580199e-01, -1.30460019e+00],
- [ 7.87419801e-01, 2.41409804e-01, 2.54601000e+00,
- -2.54601000e+00, -1.02882960e+00],
- [ -1.54601000e+00, 2.41409804e-01, 2.12580199e-01,
- -2.12580199e-01, 1.30460019e+00],
- [ -2.41409804e-01, -7.87419801e-01, 2.54601000e+00,
- -2.54601000e+00, 1.02882960e+00],
- [ -1.54601000e+00, -7.87419801e-01, 1.24140980e+00,
- -1.24140980e+00, 2.33342980e+00]]), 'FE1_C0': array([[ 0.046308 , 0.44026899, 0.046308 , 0.40225091, -0.20112546,
- -0.01452104, -0.01452104, -0.20112546, 0.40225091, 0.09390619],
- [ 0.046308 , 0.046308 , 0.44026899, -0.20112546, 0.40225091,
- -0.20112546, 0.40225091, -0.01452104, -0.01452104, 0.09390619],
- [ 0.44026899, 0.046308 , 0.046308 , -0.01452104, -0.01452104,
- 0.40225091, -0.20112546, 0.40225091, -0.20112546, 0.09390619],
- [ 0.03935169, -0.06267372, 0.03935169, 0.28365493, -0.14182746,
- -0.07051025, -0.07051025, -0.14182746, 0.28365493, 0.84133592],
- [ 0.03935169, 0.03935169, -0.06267372, -0.14182746, 0.28365493,
- -0.14182746, 0.28365493, -0.07051025, -0.07051025, 0.84133592],
- [-0.06267372, 0.03935169, 0.03935169, -0.07051025, -0.07051025,
- 0.28365493, -0.14182746, 0.28365493, -0.14182746, 0.84133592],
- [ 0.04111073, -0.02619323, 0.01143583, 0.80848895, -0.06128522,
- -0.0623881 , -0.00511704, -0.12795188, 0.13844642, 0.28345353],
- [ 0.01143583, -0.02619323, 0.04111073, 0.13844642, -0.12795188,
- -0.00511704, -0.0623881 , -0.06128522, 0.80848895, 0.28345353],
- [ 0.04111073, 0.01143583, -0.02619323, -0.06128522, 0.80848895,
- -0.12795188, 0.13844642, -0.0623881 , -0.00511704, 0.28345353],
- [-0.02619323, 0.01143583, 0.04111073, -0.00511704, -0.0623881 ,
- 0.13844642, -0.12795188, 0.80848895, -0.06128522, 0.28345353],
- [ 0.01143583, 0.04111073, -0.02619323, -0.12795188, 0.13844642,
- -0.06128522, 0.80848895, -0.00511704, -0.0623881 , 0.28345353],
- [-0.02619323, 0.04111073, 0.01143583, -0.0623881 , -0.00511704,
- 0.80848895, -0.06128522, 0.13844642, -0.12795188, 0.28345353]]), 'FE1_C0_D10': array([[ -4.85931890e-01, 3.44372756e+00, 1.20457074e+00,
- -2.30167545e-01, 1.76434524e-01, 2.30167545e-01,
- 2.21356002e+00, -5.17135569e+00, -1.38100527e+00],
- [ -4.85931890e-01, 4.85931890e-01, -2.44372756e+00,
- 6.37592643e+00, 2.44372756e+00, -6.37592643e+00,
- -5.37330206e-02, 5.37330206e-02, 0.00000000e+00],
- [ -3.44372756e+00, 4.85931890e-01, -1.76434524e-01,
- -2.30167545e-01, -1.20457074e+00, 2.30167545e-01,
- 5.17135569e+00, -2.21356002e+00, 1.38100527e+00],
- [ 4.04638309e-01, -1.18553235e-01, 2.25318218e+00,
- -2.82847955e-01, -5.56094442e-01, 2.82847955e-01,
- -1.40140119e+00, 1.11531612e+00, -1.69708773e+00],
- [ 4.04638309e-01, -4.04638309e-01, 1.11855323e+00,
- 1.13786606e+00, -1.11855323e+00, -1.13786606e+00,
- -8.38942398e-01, 8.38942398e-01, 1.30826401e-14],
- [ 1.18553235e-01, -4.04638309e-01, 5.56094442e-01,
- -2.82847955e-01, -2.25318218e+00, 2.82847955e-01,
- -1.11531612e+00, 1.40140119e+00, 1.69708773e+00],
- [ -5.59823902e-01, 7.40805832e-01, 3.93699696e+00,
- -9.62843375e-02, 9.51256225e-01, 9.62843375e-02,
- 1.74991003e+00, -1.93089196e+00, -4.88825318e+00],
- [ 4.92870367e-01, 7.40805832e-01, 6.74175116e-01,
- -2.01023374e-01, -2.06177081e-01, 2.01023374e-01,
- -2.56560608e+00, 1.33192988e+00, -4.67998035e-01],
- [ -5.59823902e-01, -4.92870367e-01, 2.46932174e+00,
- 2.60506708e+00, 1.95093341e+00, -2.60506708e+00,
- 7.50232851e-01, 3.02461418e-01, -4.42025515e+00],
- [ -7.40805832e-01, -4.92870367e-01, 2.06177081e-01,
- -2.01023374e-01, -6.74175116e-01, 2.01023374e-01,
- -1.33192988e+00, 2.56560608e+00, 4.67998035e-01],
- [ 4.92870367e-01, 5.59823902e-01, -1.95093341e+00,
- 2.60506708e+00, -2.46932174e+00, -2.60506708e+00,
- -3.02461418e-01, -7.50232851e-01, 4.42025515e+00],
- [ -7.40805832e-01, 5.59823902e-01, -9.51256225e-01,
- -9.62843375e-02, -3.93699696e+00, 9.62843375e-02,
- 1.93089196e+00, -1.74991003e+00, 4.88825318e+00]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D01': ('FE0_C0_D01', (4, [6, 8, 9, 10, 11]), False, False), 'FE3_C1': ('FE0_C2', (21, [3, 4, 5]), False, False), 'FE3_C1_D10': ('FE0_C2_D01', (23, [3, 4]), False, False), 'FE1_C1_D10': ('FE1_C0_D10', (14, [10, 11, 13, 14, 15, 16, 17, 18, 19]), False, False), 'FE3_C0_D10': ('FE0_C2_D01', (20, [0, 1]), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (1, [0, 2, 3, 4, 5]), False, False), 'FE2': ('FE2', (), False, True), 'FE0_C2_D01': ('FE0_C2_D01', (7, [12, 14]), False, False), 'FE1_C [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.88729833, 0.5 , 0.11270167],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.88729833, 0.5 , 0.11270167]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11270167, 0.5 , 0.88729833]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]]])}}}, MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 3), dim=2), FiniteElement('Lagrange', triangle, 2)): {None: {0: {(0, 0): array([[[ 4.16333634e-17, 2.08166817e-17, 1.38777878e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.42247325e-16, 9.71445147e-17, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.11022302e-16, -9.71445147e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.96891115e-16, 6.76542156e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.26634814e-16, -1.90819582e-17, 7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.51028104e-17, -3.46944695e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 2.08166817e-17, 1.38777878e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.42247325e-16, 9.71445147e-17, -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.11022302e-16, -9.71445147e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.96891115e-16, 6.76542156e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.26634814e-16, -1.90819582e-17, 7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.51028104e-17, -3.46944695e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 1: {(0, 0): array([[[ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.47451495e-17, 6.07153217e-17, 7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -4.16333634e-17, -2.01227923e-16, -1.38777878e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.93889390e-18, 1.11022302e-16, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -3.40873163e-16, -2.09901541e-16, -7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.45931095e-17, 4.33680869e-17, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.97972799e-17, -1.59594560e-16, -2.22044605e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.47451495e-17, 6.07153217e-17, 7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.16333634e-17, -2.01227923e-16, -1.38777878e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.93889390e-18, 1.11022302e-16, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -3.40873163e-16, -2.09901541e-16, -7.63278329e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.45931095e-17, 4.33680869e-17, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.97972799e-17, -1.59594560e-16, -2.22044605e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 2: {(0, 0): array([[[ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.11022302e-16, -1.38777878e-16, -1.94289029e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 8.32667268e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.38777878e-16, 0.00000000e+00, -2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 5.55111512e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.66533454e-16, 5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.88014084e-01, -6.25000000e-02, 6.19859160e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, -6.25000000e-02, 4.88014084e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.11022302e-16, -1.38777878e-16, -1.94289029e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 8.32667268e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.38777878e-16, 0.00000000e+00, -2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 5.55111512e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.47852752e-01, 5.62500000e-01, -2.97852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.97852752e-01, 5.62500000e-01, 7.47852752e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.66533454e-16, 5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 1: {(0, 0): array([[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 2: {(0, 0): array([[ 0.88729833, 0.5 , 0.11270167],
- [ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.87298335e-01,
- -8.72983346e-02, 0.00000000e+00, 0.00000000e+00,
- -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 1.38777878e-17, 0.00000000e+00, 0.00000000e+00,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -8.72983346e-02,
- 6.87298335e-01, 0.00000000e+00, 0.00000000e+00,
- -5.55111512e-17, 4.00000000e-01]]), 'FE1_f2_C0': array([[ 4.88014084e-01, 6.19859160e-02, 0.00000000e+00,
- -1.11022302e-16, 2.77555756e-17, -1.38777878e-16,
- 0.00000000e+00, 7.47852752e-01, -2.97852752e-01,
- 1.66533454e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -6.25000000e-02, -6.25000000e-02, 0.00000000e+00,
- -1.38777878e-16, 8.32667268e-17, 0.00000000e+00,
- 5.55111512e-17, 5.62500000e-01, 5.62500000e-01,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, 4.88014084e-01, 2.77555756e-17,
- -1.94289029e-16, 0.00000000e+00, -2.77555756e-17,
- 5.55111512e-17, -2.97852752e-01, 7.47852752e-01,
- -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.88014084e-01, 6.19859160e-02,
- 0.00000000e+00, -1.11022302e-16, 2.77555756e-17,
- -1.38777878e-16, 0.00000000e+00, 7.47852752e-01,
- -2.97852752e-01, 1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -6.25000000e-02, -6.25000000e-02,
- 0.00000000e+00, -1.38777878e-16, 8.32667268e-17,
- 0.00000000e+00, 5.55111512e-17, 5.62500000e-01,
- 5.62500000e-01, 5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.19859160e-02, 4.88014084e-01,
- 2.77555756e-17, -1.94289029e-16, 0.00000000e+00,
- -2.77555756e-17, 5.55111512e-17, -2.97852752e-01,
- 7.47852752e-01, -5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 4.88014084e-01, 6.19859160e-02,
- 7.47852752e-01, -2.97852752e-01, 1.42247325e-16,
- -1.11022302e-16, 1.96891115e-16, -1.26634814e-16,
- 4.51028104e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 2.08166817e-17, -6.25000000e-02, -6.25000000e-02,
- 5.62500000e-01, 5.62500000e-01, 9.71445147e-17,
- -9.71445147e-17, 6.76542156e-17, -1.90819582e-17,
- -3.46944695e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.38777878e-17, 6.19859160e-02, 4.88014084e-01,
- -2.97852752e-01, 7.47852752e-01, -1.11022302e-16,
- -5.55111512e-17, -5.55111512e-17, 7.63278329e-17,
- -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 4.88014084e-01,
- 6.19859160e-02, 7.47852752e-01, -2.97852752e-01,
- 1.42247325e-16, -1.11022302e-16, 1.96891115e-16,
- -1.26634814e-16, 4.51028104e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 2.08166817e-17, -6.25000000e-02,
- -6.25000000e-02, 5.62500000e-01, 5.62500000e-01,
- 9.71445147e-17, -9.71445147e-17, 6.76542156e-17,
- -1.90819582e-17, -3.46944695e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.38777878e-17, 6.19859160e-02,
- 4.88014084e-01, -2.97852752e-01, 7.47852752e-01,
- -1.11022302e-16, -5.55111512e-17, -5.55111512e-17,
- 7.63278329e-17, -5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.12757026e-16,
- 6.87298335e-01, -8.72983346e-02, 4.00000000e-01,
- -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- -9.71445147e-17, 8.32667268e-17, 1.00000000e+00,
- 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- -8.72983346e-02, 6.87298335e-01, 4.00000000e-01,
- 5.55111512e-17, -6.93889390e-17]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.87298335e-01,
- 9.36750677e-17, -8.72983346e-02, -2.77555756e-17,
- 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 8.32667268e-17,
- 8.32667268e-17, 8.32667268e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -8.72983346e-02,
- 9.71445147e-17, 6.87298335e-01, 0.00000000e+00,
- 4.00000000e-01, -6.93889390e-17]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.88014084e-01, 1.47451495e-17,
- 6.19859160e-02, -4.16333634e-17, 6.93889390e-18,
- 7.47852752e-01, -2.97852752e-01, -3.40873163e-16,
- 7.45931095e-17, 7.97972799e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -6.25000000e-02, 6.07153217e-17,
- -6.25000000e-02, -2.01227923e-16, 1.11022302e-16,
- 5.62500000e-01, 5.62500000e-01, -2.09901541e-16,
- 4.33680869e-17, -1.59594560e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.19859160e-02, 7.63278329e-17,
- 4.88014084e-01, -1.38777878e-16, 0.00000000e+00,
- -2.97852752e-01, 7.47852752e-01, -7.63278329e-17,
- 2.77555756e-17, -2.22044605e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0': array([[ 4.88014084e-01, 1.47451495e-17, 6.19859160e-02,
- -4.16333634e-17, 6.93889390e-18, 7.47852752e-01,
- -2.97852752e-01, -3.40873163e-16, 7.45931095e-17,
- 7.97972799e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -6.25000000e-02, 6.07153217e-17, -6.25000000e-02,
- -2.01227923e-16, 1.11022302e-16, 5.62500000e-01,
- 5.62500000e-01, -2.09901541e-16, 4.33680869e-17,
- -1.59594560e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, 7.63278329e-17, 4.88014084e-01,
- -1.38777878e-16, 0.00000000e+00, -2.97852752e-01,
- 7.47852752e-01, -7.63278329e-17, 2.77555756e-17,
- -2.22044605e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.87298335e-01,
- -8.72983346e-02, 0.00000000e+00, 0.00000000e+00,
- -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- 1.38777878e-17, 0.00000000e+00, 0.00000000e+00,
- -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -8.72983346e-02,
- 6.87298335e-01, 0.00000000e+00, 0.00000000e+00,
- -5.55111512e-17, 4.00000000e-01]]), 'FE1_f2_C0': array([[ 4.88014084e-01, 6.19859160e-02, 0.00000000e+00,
- -1.11022302e-16, 2.77555756e-17, -1.38777878e-16,
- 0.00000000e+00, 7.47852752e-01, -2.97852752e-01,
- 1.66533454e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -6.25000000e-02, -6.25000000e-02, 0.00000000e+00,
- -1.38777878e-16, 8.32667268e-17, 0.00000000e+00,
- 5.55111512e-17, 5.62500000e-01, 5.62500000e-01,
- 5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, 4.88014084e-01, 2.77555756e-17,
- -1.94289029e-16, 0.00000000e+00, -2.77555756e-17,
- 5.55111512e-17, -2.97852752e-01, 7.47852752e-01,
- -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.88014084e-01, 6.19859160e-02,
- 0.00000000e+00, -1.11022302e-16, 2.77555756e-17,
- -1.38777878e-16, 0.00000000e+00, 7.47852752e-01,
- -2.97852752e-01, 1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -6.25000000e-02, -6.25000000e-02,
- 0.00000000e+00, -1.38777878e-16, 8.32667268e-17,
- 0.00000000e+00, 5.55111512e-17, 5.62500000e-01,
- 5.62500000e-01, 5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.19859160e-02, 4.88014084e-01,
- 2.77555756e-17, -1.94289029e-16, 0.00000000e+00,
- -2.77555756e-17, 5.55111512e-17, -2.97852752e-01,
- 7.47852752e-01, -5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 4.88014084e-01, 6.19859160e-02,
- 7.47852752e-01, -2.97852752e-01, 1.42247325e-16,
- -1.11022302e-16, 1.96891115e-16, -1.26634814e-16,
- 4.51028104e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 2.08166817e-17, -6.25000000e-02, -6.25000000e-02,
- 5.62500000e-01, 5.62500000e-01, 9.71445147e-17,
- -9.71445147e-17, 6.76542156e-17, -1.90819582e-17,
- -3.46944695e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 1.38777878e-17, 6.19859160e-02, 4.88014084e-01,
- -2.97852752e-01, 7.47852752e-01, -1.11022302e-16,
- -5.55111512e-17, -5.55111512e-17, 7.63278329e-17,
- -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.16333634e-17, 4.88014084e-01,
- 6.19859160e-02, 7.47852752e-01, -2.97852752e-01,
- 1.42247325e-16, -1.11022302e-16, 1.96891115e-16,
- -1.26634814e-16, 4.51028104e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 2.08166817e-17, -6.25000000e-02,
- -6.25000000e-02, 5.62500000e-01, 5.62500000e-01,
- 9.71445147e-17, -9.71445147e-17, 6.76542156e-17,
- -1.90819582e-17, -3.46944695e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 1.38777878e-17, 6.19859160e-02,
- 4.88014084e-01, -2.97852752e-01, 7.47852752e-01,
- -1.11022302e-16, -5.55111512e-17, -5.55111512e-17,
- 7.63278329e-17, -5.55111512e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 1.12757026e-16,
- 6.87298335e-01, -8.72983346e-02, 4.00000000e-01,
- -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- -9.71445147e-17, 8.32667268e-17, 1.00000000e+00,
- 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 4.16333634e-17,
- -8.72983346e-02, 6.87298335e-01, 4.00000000e-01,
- 5.55111512e-17, -6.93889390e-17]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.87298335e-01,
- 9.36750677e-17, -8.72983346e-02, -2.77555756e-17,
- 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 8.32667268e-17,
- 8.32667268e-17, 8.32667268e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -8.72983346e-02,
- 9.71445147e-17, 6.87298335e-01, 0.00000000e+00,
- 4.00000000e-01, -6.93889390e-17]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 4.88014084e-01, 1.47451495e-17,
- 6.19859160e-02, -4.16333634e-17, 6.93889390e-18,
- 7.47852752e-01, -2.97852752e-01, -3.40873163e-16,
- 7.45931095e-17, 7.97972799e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -6.25000000e-02, 6.07153217e-17,
- -6.25000000e-02, -2.01227923e-16, 1.11022302e-16,
- 5.62500000e-01, 5.62500000e-01, -2.09901541e-16,
- 4.33680869e-17, -1.59594560e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 6.19859160e-02, 7.63278329e-17,
- 4.88014084e-01, -1.38777878e-16, 0.00000000e+00,
- -2.97852752e-01, 7.47852752e-01, -7.63278329e-17,
- 2.77555756e-17, -2.22044605e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0': array([[ 4.88014084e-01, 1.47451495e-17, 6.19859160e-02,
- -4.16333634e-17, 6.93889390e-18, 7.47852752e-01,
- -2.97852752e-01, -3.40873163e-16, 7.45931095e-17,
- 7.97972799e-17, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ -6.25000000e-02, 6.07153217e-17, -6.25000000e-02,
- -2.01227923e-16, 1.11022302e-16, 5.62500000e-01,
- 5.62500000e-01, -2.09901541e-16, 4.33680869e-17,
- -1.59594560e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00],
- [ 6.19859160e-02, 7.63278329e-17, 4.88014084e-01,
- -1.38777878e-16, 0.00000000e+00, -2.97852752e-01,
- 7.47852752e-01, -7.63278329e-17, 2.77555756e-17,
- -2.22044605e-16, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE2_f0_C0_D10': ['FE2_f1_C0_D10', 'FE2_f2_C0_D10'], 'FE2_f0_C1_D01': ['FE2_f1_C1_D01', 'FE2_f2_C1_D01'], 'FE2_f0_C0_D01': ['FE2_f1_C0_D01', 'FE2_f2_C0_D01'], 'FE2_f0_C1_D10': ['FE2_f1_C1_D10', 'FE2_f2_C1_D10']}
-
- inv_name_map: {'FE2_f1_C1_D01': 'FE2_f0_C1_D01', 'FE2_f2_C0_D10': 'FE2_f0_C0_D10', 'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f1', 'FE0_f2': 'FE0_f2', 'FE2_f0_C1_D01': 'FE2_f0_C1_D01', 'FE1_f2_C2': 'FE1_f2_C2', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0_D01': 'FE2_f0_C0_D01', 'FE2_f0_C0': 'FE2_f0_C0', 'FE2_f2_C1_D01': 'FE2_f0_C1_D01', 'FE2_f1_C0_D10': 'FE2_f0_C0_D10', 'FE2_f0_C0_D10': 'FE2_f0_C0_D10', 'FE2_f2_C0_D01': 'FE2_f0_C0_D01', 'FE2_f0_C1_D1 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.88729833, 0.11270167],
- [ 0.5 , 0.5 ],
- [ 0.11270167, 0.88729833]]), 'FE2_f0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_f0_C0': array([[ 0.48801408, 0.06198592, 0.74785275, -0.29785275],
- [-0.0625 , -0.0625 , 0.5625 , 0.5625 ],
- [ 0.06198592, 0.48801408, -0.29785275, 0.74785275]]), 'FE1_f0_C2': array([[ 0.68729833, -0.08729833, 0.4 ],
- [ 0. , 0. , 1. ],
- [-0.08729833, 0.68729833, 0.4 ]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_f1_C1_D01': ('FE2_f0_C0_D01', (16, [3, 5]), False, False), 'FE2_f2_C0_D10': ('FE2_f0_C0_D01', (14, [0, 1]), False, False), 'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE0_f1': ('FE0_f0', (1, [0, 2]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE2_f0_C1_D01': ('FE2_f0_C0_D01', (16, [3, 5]), False, False), 'FE1_f2_C2': ('FE1_f0_C2', (11, [20, 21, 25]), False, False), 'FE1_f2_C0': ('FE1_f0_C0', (9, [0, 1, 7, 8]), False, False), 'FE1_f2_C1': ('FE1_f0_C0', [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00317 seconds
- Shape of reference tensor: (15, 15, 1)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [1] indices = [[0]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [1] indices = [[0]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {25: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00, ...,
- 8.94541420e-01, 9.42856822e-01, 9.81510846e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.77395901e-15, 5.66213743e-15, 6.45317133e-15, ...,
- 8.66667849e-15, 7.99360578e-15, 7.10542736e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.40760572e-01, -2.07946329e-01, 7.51899241e-01, ...,
- 7.51899241e-01, 1.78185709e+00, 2.60585966e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- ...,
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00, ...,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16, ...,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00, ...,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-2.6605902 , -2.05746132, -1.14264218, ..., 0.89454142,
- 0.94285682, 0.98151085],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.81982963, -0.84951499, -0.89454142, ..., 1.14264218,
- 0.16099973, -0.62434881],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- ...,
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [-1. , -1. , -1. , ..., -1. ,
- -1. , -1. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 1. , 1. , 1. , ..., 1. ,
- 1. , 1. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]]]), (0, 0): array([[[ 0.75984252, 0.40414338, 0.03820389, ..., -0.02497446,
- -0.01387763, -0.00457956],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.04098492, -0.03479054, -0.02497446, ..., 0.03820389,
- -0.12175989, -0.07627357],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.03664021, -0.11959479, -0.05433094, ..., -0.05433094,
- 0.27187684, 0.72381307],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- ...,
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.91514755, 0.76436533, 0.53566054, ..., 0.02636464,
- 0.01428579, 0.00462229]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.04504259, 0.03762125, 0.02636464, ..., 0.53566054,
- 0.29024993, 0.0939128 ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.03980986, 0.19801342, 0.43797481, ..., 0.43797481,
- 0.69546427, 0.90146491]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])}}}, MixedElement(VectorElement(FiniteElement('Discontinuous Lagrange', triangle, 2), dim=2), FiniteElement('Discontinuous Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00, ...,
- 8.94541420e-01, 9.42856822e-01, 9.81510846e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.77395901e-15, 5.66213743e-15, 6.45317133e-15, ...,
- 8.66667849e-15, 7.99360578e-15, 7.10542736e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.40760572e-01, -2.07946329e-01, 7.51899241e-01, ...,
- 7.51899241e-01, 1.78185709e+00, 2.60585966e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- ...,
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00, ...,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16, ...,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00, ...,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-2.6605902 , -2.05746132, -1.14264218, ..., 0.89454142,
- 0.94285682, 0.98151085],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.81982963, -0.84951499, -0.89454142, ..., 1.14264218,
- 0.16099973, -0.62434881],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- ...,
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [-1. , -1. , -1. , ..., -1. ,
- -1. , -1. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 1. , 1. , 1. , ..., 1. ,
- 1. , 1. ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]]]), (0, 0): array([[[ 0.75984252, 0.40414338, 0.03820389, ..., -0.02497446,
- -0.01387763, -0.00457956],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.04098492, -0.03479054, -0.02497446, ..., 0.03820389,
- -0.12175989, -0.07627357],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- [[-0.03664021, -0.11959479, -0.05433094, ..., -0.05433094,
- 0.27187684, 0.72381307],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ]],
-
- ...,
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.91514755, 0.76436533, 0.53566054, ..., 0.02636464,
- 0.01428579, 0.00462229]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.04504259, 0.03762125, 0.02636464, ..., 0.53566054,
- 0.29024993, 0.0939128 ]],
-
- [[ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , ..., 0. ,
- 0. , 0. ],
- [ 0.03980986, 0.19801342, 0.43797481, ..., 0.43797481,
- 0.69546427, 0.90146491]]])}}}, FiniteElement('Bubble', triangle, 3): {None: {None: {(0, 1): array([[ 1.06454196, 0.57528544, 0.06953714, -0.15629784, -0.10078395,
- 4.1806666 , 2.09321752, -0.01976956, -0.87511768, -0.50691001,
- 5.70722656, 2.19762632, -1.1909257 , -2.23320663, -1.1336131 ,
- 3.62492542, -0.21558317, -3.59850533, -3.95431694, -1.79832091,
- 0.1292956 , -3.31015168, -5.95304979, -5.3382242 , -2.27407499]]), (1, 0): array([[ 9.35246356e-01, 3.88543712e+00, 6.02258693e+00,
- 5.18192636e+00, 2.17329104e+00, 5.55741183e-01,
- 2.30880068e+00, 3.57873577e+00, 3.07919926e+00,
- 1.29141090e+00, -2.27067044e-15, -2.41579066e-15,
- -5.59655100e-16, -2.50001051e-15, -1.11583099e-14,
- -5.55741183e-01, -2.30880068e+00, -3.57873577e+00,
- -3.07919926e+00, -1.29141090e+00, -9.35246356e-01,
- -3.88543712e+00, -6.02258693e+00, -5.18192636e+00,
- -2.17329104e+00]]), (0, 0): array([[ 0.04430665, 0.15374203, 0.16700308, 0.07786013, 0.01056561,
- 0.17591315, 0.61041053, 0.66306162, 0.30913239, 0.04194921,
- 0.24774727, 0.85967164, 0.93382279, 0.43536659, 0.05907917,
- 0.17591315, 0.61041053, 0.66306162, 0.30913239, 0.04194921,
- 0.04430665, 0.15374203, 0.16700308, 0.07786013, 0.01056561]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.91514755, 0.76436533, 0.53566054, 0.29024993, 0.0939128 ,
- 0.73861153, 0.61691587, 0.43232925, 0.23425943, 0.0757966 ,
- 0.48009507, 0.40099329, 0.28101259, 0.15226786, 0.04926754,
- 0.22157861, 0.18507071, 0.12969594, 0.07027629, 0.02273848,
- 0.04504259, 0.03762125, 0.02636464, 0.01428579, 0.00462229],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0.04504259, 0.03762125, 0.02636464, 0.01428579, 0.00462229,
- 0.22157861, 0.18507071, 0.12969594, 0.07027629, 0.02273848,
- 0.48009507, 0.40099329, 0.28101259, 0.15226786, 0.04926754,
- 0.73861153, 0.61691587, 0.43232925, 0.23425943, 0.0757966 ,
- 0.91514755, 0.76436533, 0.53566054, 0.29024993, 0.0939128 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.91514755, 0.76436533, 0.53566054, 0.29024993, 0.0939128 ,
- 0.73861153, 0.61691587, 0.43232925, 0.23425943, 0.0757966 ,
- 0.48009507, 0.40099329, 0.28101259, 0.15226786, 0.04926754,
- 0.22157861, 0.18507071, 0.12969594, 0.07027629, 0.02273848,
- 0.04504259, 0.03762125, 0.02636464, 0.01428579, 0.00462229]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.04504259, 0.03762125, 0.02636464, 0.01428579, 0.00462229,
- 0.22157861, 0.18507071, 0.12969594, 0.07027629, 0.02273848,
- 0.48009507, 0.40099329, 0.28101259, 0.15226786, 0.04926754,
- 0.73861153, 0.61691587, 0.43232925, 0.23425943, 0.0757966 ,
- 0.91514755, 0.76436533, 0.53566054, 0.29024993, 0.0939128 ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491,
- 0.03980986, 0.19801342, 0.43797481, 0.69546427, 0.90146491]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[ 9.35246356e-01],
- [ 3.88543712e+00],
- [ 6.02258693e+00],
- [ 5.18192636e+00],
- [ 2.17329104e+00],
- [ 5.55741183e-01],
- [ 2.30880068e+00],
- [ 3.57873577e+00],
- [ 3.07919926e+00],
- [ 1.29141090e+00],
- [ -2.27067044e-15],
- [ -2.41579066e-15],
- [ -5.59655100e-16],
- [ -2.50001051e-15],
- [ -1.11583099e-14],
- [ -5.55741183e-01],
- [ -2.30880068e+00],
- [ -3.57873577e+00],
- [ -3.07919926e+00],
- [ -1.29141090e+00],
- [ -9.35246356e-01],
- [ -3.88543712e+00],
- [ -6.02258693e+00],
- [ -5.18192636e+00],
- [ -2.17329104e+00]]), 'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE2_C0_D01': array([[ -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.75984252, -0.04098492, -0.03664021, 0.00717256,
- 0.14572757, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.40414338, -0.03479054, -0.11959479, 0.02979805,
- 0.60541837, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.03820389, -0.02497446, -0.05433094, 0.0461882 ,
- 0.9384233 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12175989, -0.01387763, 0.27187684, 0.03974104,
- 0.80743383, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07627357, -0.00457956, 0.72381307, 0.01666732,
- 0.33863637, 0.00173637, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.35248246, -0.12338445, -0.03664021, 0.03528405,
- 0.11761608, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.14425451, -0.11656837, -0.11959479, 0.14658594,
- 0.48863048, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05851209, -0.09605386, -0.05433094, 0.22721421,
- 0.75739729, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12450447, -0.06039878, 0.27187684, 0.1954986 ,
- 0.65167627, 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06430635, -0.02170441, 0.72381307, 0.08199178,
- 0.27331191, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01911252, -0.01911252, -0.03664021, 0.07645006,
- 0.07645006, 0.92196511, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07940205, -0.07940205, -0.11959479, 0.31760821,
- 0.31760821, 0.64318248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12307644, -0.12307644, -0.05433094, 0.49230575,
- 0.49230575, 0.31587231, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.10589686, -0.10589686, 0.27187684, 0.42358744,
- 0.42358744, 0.09274201, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04441296, -0.04441296, 0.72381307, 0.17765185,
- 0.17765185, 0.00970916, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12338445, 0.35248246, -0.03664021, 0.11761608,
- 0.03528405, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11656837, 0.14425451, -0.11959479, 0.48863048,
- 0.14658594, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09605386, -0.05851209, -0.05433094, 0.75739729,
- 0.22721421, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06039878, -0.12450447, 0.27187684, 0.65167627,
- 0.1954986 , 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02170441, -0.06430635, 0.72381307, 0.27331191,
- 0.08199178, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04098492, 0.75984252, -0.03664021, 0.14572757,
- 0.00717256, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.03479054, 0.40414338, -0.11959479, 0.60541837,
- 0.02979805, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02497446, 0.03820389, -0.05433094, 0.9384233 ,
- 0.0461882 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01387763, -0.12175989, 0.27187684, 0.80743383,
- 0.03974104, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00457956, -0.07627357, 0.72381307, 0.33863637,
- 0.01666732, 0.00173637, 0. , 0. , 0. ]]), 'FE2_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.91514755, 0.04504259, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.76436533, 0.03762125, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.53566054, 0.02636464, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.29024993, 0.01428579, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0939128 , 0.00462229, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.73861153, 0.22157861, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.61691587, 0.18507071, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.43232925, 0.12969594, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23425943, 0.07027629, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0757966 , 0.02273848, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48009507, 0.48009507, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.40099329, 0.40099329, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.28101259, 0.28101259, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.15226786, 0.15226786, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04926754, 0.04926754, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.22157861, 0.73861153, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.18507071, 0.61691587, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.12969594, 0.43232925, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.07027629, 0.23425943, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02273848, 0.0757966 , 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04504259, 0.91514755, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.03762125, 0.76436533, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02636464, 0.53566054, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.01428579, 0.29024993, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00462229, 0.0939128 , 0.90146491]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.24774727],
- [ 0.85967164],
- [ 0.93382279],
- [ 0.43536659],
- [ 0.05907917],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561]]), 'FE1_C0_D01': array([[ -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_D01': array([[ 1.06454196],
- [ 0.57528544],
- [ 0.06953714],
- [-0.15629784],
- [-0.10078395],
- [ 4.1806666 ],
- [ 2.09321752],
- [-0.01976956],
- [-0.87511768],
- [-0.50691001],
- [ 5.70722656],
- [ 2.19762632],
- [-1.1909257 ],
- [-2.23320663],
- [-1.1336131 ],
- [ 3.62492542],
- [-0.21558317],
- [-3.59850533],
- [-3.95431694],
- [-1.79832091],
- [ 0.1292956 ],
- [-3.31015168],
- [-5.95304979],
- [-5.3382242 ],
- [-2.27407499]]), 'FE4_C0': array([[ 0.91514755, 0.04504259, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.76436533, 0.03762125, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.53566054, 0.02636464, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.29024993, 0.01428579, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.0939128 , 0.00462229, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.73861153, 0.22157861, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.61691587, 0.18507071, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.43232925, 0.12969594, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.23425943, 0.07027629, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.0757966 , 0.02273848, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.48009507, 0.48009507, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.40099329, 0.40099329, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.28101259, 0.28101259, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.15226786, 0.15226786, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.04926754, 0.04926754, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.22157861, 0.73861153, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.18507071, 0.61691587, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.12969594, 0.43232925, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.07027629, 0.23425943, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.02273848, 0.0757966 , 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.04504259, 0.91514755, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.03762125, 0.76436533, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.02636464, 0.53566054, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.01428579, 0.29024993, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.00462229, 0.0939128 , 0.90146491, 0. , 0. ,
- 0. ]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1': array([[ 0. , 0. , 0. , 0.91514755, 0.04504259,
- 0.03980986],
- [ 0. , 0. , 0. , 0.76436533, 0.03762125,
- 0.19801342],
- [ 0. , 0. , 0. , 0.53566054, 0.02636464,
- 0.43797481],
- [ 0. , 0. , 0. , 0.29024993, 0.01428579,
- 0.69546427],
- [ 0. , 0. , 0. , 0.0939128 , 0.00462229,
- 0.90146491],
- [ 0. , 0. , 0. , 0.73861153, 0.22157861,
- 0.03980986],
- [ 0. , 0. , 0. , 0.61691587, 0.18507071,
- 0.19801342],
- [ 0. , 0. , 0. , 0.43232925, 0.12969594,
- 0.43797481],
- [ 0. , 0. , 0. , 0.23425943, 0.07027629,
- 0.69546427],
- [ 0. , 0. , 0. , 0.0757966 , 0.02273848,
- 0.90146491],
- [ 0. , 0. , 0. , 0.48009507, 0.48009507,
- 0.03980986],
- [ 0. , 0. , 0. , 0.40099329, 0.40099329,
- 0.19801342],
- [ 0. , 0. , 0. , 0.28101259, 0.28101259,
- 0.43797481],
- [ 0. , 0. , 0. , 0.15226786, 0.15226786,
- 0.69546427],
- [ 0. , 0. , 0. , 0.04926754, 0.04926754,
- 0.90146491],
- [ 0. , 0. , 0. , 0.22157861, 0.73861153,
- 0.03980986],
- [ 0. , 0. , 0. , 0.18507071, 0.61691587,
- 0.19801342],
- [ 0. , 0. , 0. , 0.12969594, 0.43232925,
- 0.43797481],
- [ 0. , 0. , 0. , 0.07027629, 0.23425943,
- 0.69546427],
- [ 0. , 0. , 0. , 0.02273848, 0.0757966 ,
- 0.90146491],
- [ 0. , 0. , 0. , 0.04504259, 0.91514755,
- 0.03980986],
- [ 0. , 0. , 0. , 0.03762125, 0.76436533,
- 0.19801342],
- [ 0. , 0. , 0. , 0.02636464, 0.53566054,
- 0.43797481],
- [ 0. , 0. , 0. , 0.01428579, 0.29024993,
- 0.69546427],
- [ 0. , 0. , 0. , 0.00462229, 0.0939128 ,
- 0.90146491]]), 'FE2_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D10': array([[ -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE1_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.75984252, -0.04098492, -0.03664021, 0.00717256,
- 0.14572757, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.40414338, -0.03479054, -0.11959479, 0.02979805,
- 0.60541837, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.03820389, -0.02497446, -0.05433094, 0.0461882 ,
- 0.9384233 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12175989, -0.01387763, 0.27187684, 0.03974104,
- 0.80743383, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07627357, -0.00457956, 0.72381307, 0.01666732,
- 0.33863637, 0.00173637, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.35248246, -0.12338445, -0.03664021, 0.03528405,
- 0.11761608, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.14425451, -0.11656837, -0.11959479, 0.14658594,
- 0.48863048, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05851209, -0.09605386, -0.05433094, 0.22721421,
- 0.75739729, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12450447, -0.06039878, 0.27187684, 0.1954986 ,
- 0.65167627, 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06430635, -0.02170441, 0.72381307, 0.08199178,
- 0.27331191, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01911252, -0.01911252, -0.03664021, 0.07645006,
- 0.07645006, 0.92196511, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07940205, -0.07940205, -0.11959479, 0.31760821,
- 0.31760821, 0.64318248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12307644, -0.12307644, -0.05433094, 0.49230575,
- 0.49230575, 0.31587231, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.10589686, -0.10589686, 0.27187684, 0.42358744,
- 0.42358744, 0.09274201, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04441296, -0.04441296, 0.72381307, 0.17765185,
- 0.17765185, 0.00970916, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12338445, 0.35248246, -0.03664021, 0.11761608,
- 0.03528405, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11656837, 0.14425451, -0.11959479, 0.48863048,
- 0.14658594, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09605386, -0.05851209, -0.05433094, 0.75739729,
- 0.22721421, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06039878, -0.12450447, 0.27187684, 0.65167627,
- 0.1954986 , 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02170441, -0.06430635, 0.72381307, 0.27331191,
- 0.08199178, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04098492, 0.75984252, -0.03664021, 0.14572757,
- 0.00717256, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.03479054, 0.40414338, -0.11959479, 0.60541837,
- 0.02979805, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02497446, 0.03820389, -0.05433094, 0.9384233 ,
- 0.0461882 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01387763, -0.12175989, 0.27187684, 0.80743383,
- 0.03974104, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00457956, -0.07627357, 0.72381307, 0.33863637,
- 0.01666732, 0.00173637, 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.91514755, 0.04504259, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.76436533, 0.03762125, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.53566054, 0.02636464, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.29024993, 0.01428579, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0939128 , 0.00462229, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.73861153, 0.22157861, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.61691587, 0.18507071, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.43232925, 0.12969594, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23425943, 0.07027629, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0757966 , 0.02273848, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48009507, 0.48009507, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.40099329, 0.40099329, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.28101259, 0.28101259, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.15226786, 0.15226786, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04926754, 0.04926754, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.22157861, 0.73861153, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.18507071, 0.61691587, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.12969594, 0.43232925, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.07027629, 0.23425943, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02273848, 0.0757966 , 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04504259, 0.91514755, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.03762125, 0.76436533, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02636464, 0.53566054, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.01428579, 0.29024993, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00462229, 0.0939128 , 0.90146491]]), 'FE4_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_C0_D10': array([[ -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[ 9.35246356e-01],
- [ 3.88543712e+00],
- [ 6.02258693e+00],
- [ 5.18192636e+00],
- [ 2.17329104e+00],
- [ 5.55741183e-01],
- [ 2.30880068e+00],
- [ 3.57873577e+00],
- [ 3.07919926e+00],
- [ 1.29141090e+00],
- [ -2.27067044e-15],
- [ -2.41579066e-15],
- [ -5.59655100e-16],
- [ -2.50001051e-15],
- [ -1.11583099e-14],
- [ -5.55741183e-01],
- [ -2.30880068e+00],
- [ -3.57873577e+00],
- [ -3.07919926e+00],
- [ -1.29141090e+00],
- [ -9.35246356e-01],
- [ -3.88543712e+00],
- [ -6.02258693e+00],
- [ -5.18192636e+00],
- [ -2.17329104e+00]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE4_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.24774727],
- [ 0.85967164],
- [ 0.93382279],
- [ 0.43536659],
- [ 0.05907917],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561]]), 'FE1_C0_D01': array([[ -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_D01': array([[ 1.06454196],
- [ 0.57528544],
- [ 0.06953714],
- [-0.15629784],
- [-0.10078395],
- [ 4.1806666 ],
- [ 2.09321752],
- [-0.01976956],
- [-0.87511768],
- [-0.50691001],
- [ 5.70722656],
- [ 2.19762632],
- [-1.1909257 ],
- [-2.23320663],
- [-1.1336131 ],
- [ 3.62492542],
- [-0.21558317],
- [-3.59850533],
- [-3.95431694],
- [-1.79832091],
- [ 0.1292956 ],
- [-3.31015168],
- [-5.95304979],
- [-5.3382242 ],
- [-2.27407499]]), 'FE4_C0': array([[ 0.91514755, 0.04504259, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.76436533, 0.03762125, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.53566054, 0.02636464, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.29024993, 0.01428579, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.0939128 , 0.00462229, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.73861153, 0.22157861, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.61691587, 0.18507071, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.43232925, 0.12969594, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.23425943, 0.07027629, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.0757966 , 0.02273848, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.48009507, 0.48009507, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.40099329, 0.40099329, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.28101259, 0.28101259, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.15226786, 0.15226786, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.04926754, 0.04926754, 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.22157861, 0.73861153, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.18507071, 0.61691587, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.12969594, 0.43232925, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.07027629, 0.23425943, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.02273848, 0.0757966 , 0.90146491, 0. , 0. ,
- 0. ],
- [ 0.04504259, 0.91514755, 0.03980986, 0. , 0. ,
- 0. ],
- [ 0.03762125, 0.76436533, 0.19801342, 0. , 0. ,
- 0. ],
- [ 0.02636464, 0.53566054, 0.43797481, 0. , 0. ,
- 0. ],
- [ 0.01428579, 0.29024993, 0.69546427, 0. , 0. ,
- 0. ],
- [ 0.00462229, 0.0939128 , 0.90146491, 0. , 0. ,
- 0. ]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1': array([[ 0. , 0. , 0. , 0.91514755, 0.04504259,
- 0.03980986],
- [ 0. , 0. , 0. , 0.76436533, 0.03762125,
- 0.19801342],
- [ 0. , 0. , 0. , 0.53566054, 0.02636464,
- 0.43797481],
- [ 0. , 0. , 0. , 0.29024993, 0.01428579,
- 0.69546427],
- [ 0. , 0. , 0. , 0.0939128 , 0.00462229,
- 0.90146491],
- [ 0. , 0. , 0. , 0.73861153, 0.22157861,
- 0.03980986],
- [ 0. , 0. , 0. , 0.61691587, 0.18507071,
- 0.19801342],
- [ 0. , 0. , 0. , 0.43232925, 0.12969594,
- 0.43797481],
- [ 0. , 0. , 0. , 0.23425943, 0.07027629,
- 0.69546427],
- [ 0. , 0. , 0. , 0.0757966 , 0.02273848,
- 0.90146491],
- [ 0. , 0. , 0. , 0.48009507, 0.48009507,
- 0.03980986],
- [ 0. , 0. , 0. , 0.40099329, 0.40099329,
- 0.19801342],
- [ 0. , 0. , 0. , 0.28101259, 0.28101259,
- 0.43797481],
- [ 0. , 0. , 0. , 0.15226786, 0.15226786,
- 0.69546427],
- [ 0. , 0. , 0. , 0.04926754, 0.04926754,
- 0.90146491],
- [ 0. , 0. , 0. , 0.22157861, 0.73861153,
- 0.03980986],
- [ 0. , 0. , 0. , 0.18507071, 0.61691587,
- 0.19801342],
- [ 0. , 0. , 0. , 0.12969594, 0.43232925,
- 0.43797481],
- [ 0. , 0. , 0. , 0.07027629, 0.23425943,
- 0.69546427],
- [ 0. , 0. , 0. , 0.02273848, 0.0757966 ,
- 0.90146491],
- [ 0. , 0. , 0. , 0.04504259, 0.91514755,
- 0.03980986],
- [ 0. , 0. , 0. , 0.03762125, 0.76436533,
- 0.19801342],
- [ 0. , 0. , 0. , 0.02636464, 0.53566054,
- 0.43797481],
- [ 0. , 0. , 0. , 0.01428579, 0.29024993,
- 0.69546427],
- [ 0. , 0. , 0. , 0.00462229, 0.0939128 ,
- 0.90146491]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.75984252, -0.04098492, -0.03664021, 0.00717256,
- 0.14572757, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.40414338, -0.03479054, -0.11959479, 0.02979805,
- 0.60541837, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.03820389, -0.02497446, -0.05433094, 0.0461882 ,
- 0.9384233 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12175989, -0.01387763, 0.27187684, 0.03974104,
- 0.80743383, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07627357, -0.00457956, 0.72381307, 0.01666732,
- 0.33863637, 0.00173637, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.35248246, -0.12338445, -0.03664021, 0.03528405,
- 0.11761608, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.14425451, -0.11656837, -0.11959479, 0.14658594,
- 0.48863048, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05851209, -0.09605386, -0.05433094, 0.22721421,
- 0.75739729, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12450447, -0.06039878, 0.27187684, 0.1954986 ,
- 0.65167627, 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06430635, -0.02170441, 0.72381307, 0.08199178,
- 0.27331191, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01911252, -0.01911252, -0.03664021, 0.07645006,
- 0.07645006, 0.92196511, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07940205, -0.07940205, -0.11959479, 0.31760821,
- 0.31760821, 0.64318248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12307644, -0.12307644, -0.05433094, 0.49230575,
- 0.49230575, 0.31587231, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.10589686, -0.10589686, 0.27187684, 0.42358744,
- 0.42358744, 0.09274201, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04441296, -0.04441296, 0.72381307, 0.17765185,
- 0.17765185, 0.00970916, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12338445, 0.35248246, -0.03664021, 0.11761608,
- 0.03528405, 0.65464207, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11656837, 0.14425451, -0.11959479, 0.48863048,
- 0.14658594, 0.45669223, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09605386, -0.05851209, -0.05433094, 0.75739729,
- 0.22721421, 0.22428539, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06039878, -0.12450447, 0.27187684, 0.65167627,
- 0.1954986 , 0.06585154, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02170441, -0.06430635, 0.72381307, 0.27331191,
- 0.08199178, 0.006894 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04098492, 0.75984252, -0.03664021, 0.14572757,
- 0.00717256, 0.16488248, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.03479054, 0.40414338, -0.11959479, 0.60541837,
- 0.02979805, 0.11502552, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02497446, 0.03820389, -0.05433094, 0.9384233 ,
- 0.0461882 , 0.05649 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01387763, -0.12175989, 0.27187684, 0.80743383,
- 0.03974104, 0.0165858 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00457956, -0.07627357, 0.72381307, 0.33863637,
- 0.01666732, 0.00173637, 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.91514755, 0.04504259, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.76436533, 0.03762125, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.53566054, 0.02636464, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.29024993, 0.01428579, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0939128 , 0.00462229, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.73861153, 0.22157861, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.61691587, 0.18507071, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.43232925, 0.12969594, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23425943, 0.07027629, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.0757966 , 0.02273848, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48009507, 0.48009507, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.40099329, 0.40099329, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.28101259, 0.28101259, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.15226786, 0.15226786, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04926754, 0.04926754, 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.22157861, 0.73861153, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.18507071, 0.61691587, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.12969594, 0.43232925, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.07027629, 0.23425943, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02273848, 0.0757966 , 0.90146491],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04504259, 0.91514755, 0.03980986],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.03762125, 0.76436533, 0.19801342],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02636464, 0.53566054, 0.43797481],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.01428579, 0.29024993, 0.69546427],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00462229, 0.0939128 , 0.90146491]]), 'FE4_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_C0_D10': array([[ -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {'FE1_C0': ['FE2_C0'], 'FE1_C1_D01': ['FE2_C1_D01'], 'FE1_C2': ['FE2_C2'], 'FE1_C1_D10': ['FE2_C1_D10'], 'FE1_C2_D10': ['FE2_C2_D10'], 'FE1_C2_D01': ['FE2_C2_D01'], 'FE1_C1': ['FE2_C1'], 'FE1_C0_D01': ['FE2_C0_D01'], 'FE1_C0_D10': ['FE2_C0_D10']}
-
- inv_name_map: {'FE2_C1_D01': 'FE1_C1_D01', 'FE0_D10': 'FE0_D10', 'FE4_C1': 'FE4_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE1_C2_D10': 'FE1_C2_D10', 'FE2_C0_D01': 'FE1_C0_D01', 'FE4_C1_D01': 'FE4_C1_D01', 'FE2_C1': 'FE1_C1', 'FE2_C0': 'FE1_C0', 'FE2_C2': 'FE1_C2', 'FE0_D01': 'FE0_D01', 'FE3': 'FE3', 'FE0': 'FE0', 'FE1_C0_D01': 'FE1_C0_D01', 'FE4_C0_D01': 'FE4_C0_D01', 'FE2_C1_D10': 'FE1_C1_D10', 'FE4_C0': 'FE4_C0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE2_C2_D10': 'FE1_C2_D10', 'FE1_C2_D01': 'FE1_C2_D [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([[ 9.35246356e-01],
- [ 3.88543712e+00],
- [ 6.02258693e+00],
- [ 5.18192636e+00],
- [ 2.17329104e+00],
- [ 5.55741183e-01],
- [ 2.30880068e+00],
- [ 3.57873577e+00],
- [ 3.07919926e+00],
- [ 1.29141090e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11583099e-14],
- [ -5.55741183e-01],
- [ -2.30880068e+00],
- [ -3.57873577e+00],
- [ -3.07919926e+00],
- [ -1.29141090e+00],
- [ -9.35246356e-01],
- [ -3.88543712e+00],
- [ -6.02258693e+00],
- [ -5.18192636e+00],
- [ -2.17329104e+00]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.24774727],
- [ 0.85967164],
- [ 0.93382279],
- [ 0.43536659],
- [ 0.05907917],
- [ 0.17591315],
- [ 0.61041053],
- [ 0.66306162],
- [ 0.30913239],
- [ 0.04194921],
- [ 0.04430665],
- [ 0.15374203],
- [ 0.16700308],
- [ 0.07786013],
- [ 0.01056561]]), 'FE1_C0_D01': array([[-2.6605902 , -0.84076057, 0.18017037, 3.50135077, -0.18017037],
- [-2.05746132, -0.20794633, 0.15048501, 2.26540765, -0.15048501],
- [-1.14264218, 0.75189924, 0.10545858, 0.39074294, -0.10545858],
- [-0.16099973, 1.78185709, 0.05714318, -1.62085736, -0.05714318],
- [ 0.62434881, 2.60585966, 0.01848915, -3.23020847, -0.01848915],
- [-1.95444613, -0.84076057, 0.88631444, 2.79520671, -0.88631444],
- [-1.46766349, -0.20794633, 0.74028284, 1.67560982, -0.74028284],
- [-0.72931701, 0.75189924, 0.51878375, -0.02258223, -0.51878375],
- [ 0.06296226, 1.78185709, 0.28110517, -1.84481935, -0.28110517],
- [ 0.69681359, 2.60585966, 0.09095393, -3.30267325, -0.09095393],
- [-0.92038029, -0.84076057, 1.92038029, 1.76114086, -1.92038029],
- [-0.60397316, -0.20794633, 1.60397316, 0.81191949, -1.60397316],
- [-0.12405038, 0.75189924, 1.12405038, -0.62784886, -1.12405038],
- [ 0.39092855, 1.78185709, 0.60907145, -2.17278564, -0.60907145],
- [ 0.80292983, 2.60585966, 0.19707017, -3.40878949, -0.19707017],
- [ 0.11368556, -0.84076057, 2.95444613, 0.72707501, -2.95444613],
- [ 0.25971716, -0.20794633, 2.46766349, -0.05177083, -2.46766349],
- [ 0.48121625, 0.75189924, 1.72931701, -1.23311549, -1.72931701],
- [ 0.71889483, 1.78185709, 0.93703774, -2.50075193, -0.93703774],
- [ 0.90904607, 2.60585966, 0.30318641, -3.51490572, -0.30318641],
- [ 0.81982963, -0.84076057, 3.6605902 , 0.02093095, -3.6605902 ],
- [ 0.84951499, -0.20794633, 3.05746132, -0.64156866, -3.05746132],
- [ 0.89454142, 0.75189924, 2.14264218, -1.64644066, -2.14264218],
- [ 0.94285682, 1.78185709, 1.16099973, -2.72471392, -1.16099973],
- [ 0.98151085, 2.60585966, 0.37565119, -3.5873705 , -0.37565119]]), 'FE0_D01': array([[ 1.06454196],
- [ 0.57528544],
- [ 0.06953714],
- [-0.15629784],
- [-0.10078395],
- [ 4.1806666 ],
- [ 2.09321752],
- [-0.01976956],
- [-0.87511768],
- [-0.50691001],
- [ 5.70722656],
- [ 2.19762632],
- [-1.1909257 ],
- [-2.23320663],
- [-1.1336131 ],
- [ 3.62492542],
- [-0.21558317],
- [-3.59850533],
- [-3.95431694],
- [-1.79832091],
- [ 0.1292956 ],
- [-3.31015168],
- [-5.95304979],
- [-5.3382242 ],
- [-2.27407499]]), 'FE1_C2_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637]]), 'FE1_C2': array([[ 0.91514755, 0.04504259, 0.03980986],
- [ 0.76436533, 0.03762125, 0.19801342],
- [ 0.53566054, 0.02636464, 0.43797481],
- [ 0.29024993, 0.01428579, 0.69546427],
- [ 0.0939128 , 0.00462229, 0.90146491],
- [ 0.73861153, 0.22157861, 0.03980986],
- [ 0.61691587, 0.18507071, 0.19801342],
- [ 0.43232925, 0.12969594, 0.43797481],
- [ 0.23425943, 0.07027629, 0.69546427],
- [ 0.0757966 , 0.02273848, 0.90146491],
- [ 0.48009507, 0.48009507, 0.03980986],
- [ 0.40099329, 0.40099329, 0.19801342],
- [ 0.28101259, 0.28101259, 0.43797481],
- [ 0.15226786, 0.15226786, 0.69546427],
- [ 0.04926754, 0.04926754, 0.90146491],
- [ 0.22157861, 0.73861153, 0.03980986],
- [ 0.18507071, 0.61691587, 0.19801342],
- [ 0.12969594, 0.43232925, 0.43797481],
- [ 0.07027629, 0.23425943, 0.69546427],
- [ 0.02273848, 0.0757966 , 0.90146491],
- [ 0.04504259, 0.91514755, 0.03980986],
- [ 0.03762125, 0.76436533, 0.19801342],
- [ 0.02636464, 0.53566054, 0.43797481],
- [ 0.01428579, 0.29024993, 0.69546427],
- [ 0.00462229, 0.0939128 , 0.90146491]]), 'FE1_C0_D10': array([[-2.6605902 , -0.81982963, 0.15923943, -0.15923943, 3.48041982],
- [-2.05746132, -0.84951499, 0.79205367, -0.79205367, 2.90697631],
- [-1.14264218, -0.89454142, 1.75189924, -1.75189924, 2.0371836 ],
- [-0.16099973, -0.94285682, 2.78185709, -2.78185709, 1.10385655],
- [ 0.62434881, -0.98151085, 3.60585966, -3.60585966, 0.35716204],
- [-1.95444613, -0.11368556, 0.15923943, -0.15923943, 2.0681317 ],
- [-1.46766349, -0.25971716, 0.79205367, -0.79205367, 1.72738065],
- [-0.72931701, -0.48121625, 1.75189924, -1.75189924, 1.21053326],
- [ 0.06296226, -0.71889483, 2.78185709, -2.78185709, 0.65593257],
- [ 0.69681359, -0.90904607, 3.60585966, -3.60585966, 0.21223248],
- [-0.92038029, 0.92038029, 0.15923943, -0.15923943, 0. ],
- [-0.60397316, 0.60397316, 0.79205367, -0.79205367, 0. ],
- [-0.12405038, 0.12405038, 1.75189924, -1.75189924, 0. ],
- [ 0.39092855, -0.39092855, 2.78185709, -2.78185709, 0. ],
- [ 0.80292983, -0.80292983, 3.60585966, -3.60585966, 0. ],
- [ 0.11368556, 1.95444613, 0.15923943, -0.15923943, -2.0681317 ],
- [ 0.25971716, 1.46766349, 0.79205367, -0.79205367, -1.72738065],
- [ 0.48121625, 0.72931701, 1.75189924, -1.75189924, -1.21053326],
- [ 0.71889483, -0.06296226, 2.78185709, -2.78185709, -0.65593257],
- [ 0.90904607, -0.69681359, 3.60585966, -3.60585966, -0.21223248],
- [ 0.81982963, 2.6605902 , 0.15923943, -0.15923943, -3.48041982],
- [ 0.84951499, 2.05746132, 0.79205367, -0.79205367, -2.90697631],
- [ 0.89454142, 1.14264218, 1.75189924, -1.75189924, -2.0371836 ],
- [ 0.94285682, 0.16099973, 2.78185709, -2.78185709, -1.10385655],
- [ 0.98151085, -0.62434881, 3.60585966, -3.60585966, -0.35716204]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE1_C0_D01', (4, [6, 8, 9, 10, 11]), False, False), 'FE0_D10': ('FE0_D10', (), False, False), 'FE4_C1': ('FE1_C2', (12, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D10', (5, [6, 7, 9, 10, 11]), False, False), 'FE1_C2_D10': ('FE1_C2_D01', (8, [12, 13]), False, False), 'FE2_C0_D01': ('FE1_C0_D01', (1, [0, 2, 3, 4, 5]), False, False), 'FE4_C1_D01': ('FE1_C2_D01', (13, [3, 5]), False, False), 'FE2_C1': ('FE1_C0', (3, [6, 7, 8, 9, 10, 11]), False, False), 'FE2_C0': (' [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {4: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 0): array([[[ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1.],
- [ 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0.],
- [-1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0.],
- [ 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0.],
- [ 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.93056816, 0.66999052, 0.33000948, 0.06943184],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0.06943184, 0.33000948, 0.66999052, 0.93056816],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.93056816, 0.66999052, 0.33000948, 0.06943184]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0.06943184, 0.33000948, 0.66999052, 0.93056816]],
-
- [[ 0. , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. ]]])}}}, MixedElement(VectorElement(FiniteElement('Discontinuous Lagrange', triangle, 2), dim=2), FiniteElement('Discontinuous Lagrange', triangle, 1)): {None: {0: {(0, 0): array([[[ 5.55111512e-17, -6.93889390e-18, 7.45931095e-17,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -9.71445147e-17, -2.77555756e-17, -6.59194921e-17,
- -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.77555756e-17, 3.46944695e-17, 1.90819582e-17,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 5.55111512e-17, -6.93889390e-18, 7.45931095e-17,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -9.71445147e-17, -2.77555756e-17, -6.59194921e-17,
- -1.66533454e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.77555756e-17, 3.46944695e-17, 1.90819582e-17,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]]])}, 1: {(0, 0): array([[[ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.04083409e-16, 6.93889390e-18, 8.67361738e-17,
- 8.32667268e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.38777878e-17, -4.16333634e-17, -2.77555756e-17,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.77555756e-17, 3.46944695e-17, -1.56125113e-17,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.04083409e-16, 6.93889390e-18, 8.67361738e-17,
- 8.32667268e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.38777878e-17, -4.16333634e-17, -2.77555756e-17,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.77555756e-17, 3.46944695e-17, -1.56125113e-17,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]]])}, 2: {(0, 0): array([[[ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.01346029e-01, 2.27784077e-01, -1.12196967e-01,
- -5.97902822e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.97902822e-02, -1.12196967e-01, 2.27784077e-01,
- 8.01346029e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -5.55111512e-17, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17,
- -1.11022302e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 2.58444253e-01, 8.84412890e-01, 8.84412890e-01,
- 2.58444253e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]])}}}, FiniteElement('Bubble', triangle, 3): {None: {0: {(0, 0): array([[ -4.16333634e-17, 5.55111512e-17, -2.77555756e-16,
- -1.66533454e-16]])}, 1: {(0, 0): array([[ -5.55111512e-17, -2.77555756e-17, -3.88578059e-16,
- -1.66533454e-16]])}, 2: {(0, 0): array([[ 8.32667268e-17, 0.00000000e+00, -8.32667268e-17,
- 2.77555756e-17]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17],
- [ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]])}, 1: {(0, 0): array([[ 9.30568156e-01, 6.69990522e-01, 3.30009478e-01,
- 6.94318442e-02],
- [ 0.00000000e+00, -1.88651178e-17, 2.77555756e-17,
- 5.55111512e-17],
- [ 6.94318442e-02, 3.30009478e-01, 6.69990522e-01,
- 9.30568156e-01]])}, 2: {(0, 0): array([[ 0.93056816, 0.66999052, 0.33000948, 0.06943184],
- [ 0.06943184, 0.33000948, 0.66999052, 0.93056816],
- [ 0. , 0. , 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ -4.16333634e-17],
- [ 5.55111512e-17],
- [ -2.77555756e-16],
- [ -1.66533454e-16]]), 'FE0_f1': array([[ -5.55111512e-17],
- [ -2.77555756e-17],
- [ -3.88578059e-16],
- [ -1.66533454e-16]]), 'FE0_f2': array([[ 8.32667268e-17],
- [ 0.00000000e+00],
- [ -8.32667268e-17],
- [ 2.77555756e-17]]), 'FE3_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 8.01346029e-01, -5.97902822e-02,
- 2.58444253e-01, -9.71445147e-17, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.93889390e-18, 2.27784077e-01, -1.12196967e-01,
- 8.84412890e-01, -2.77555756e-17, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.45931095e-17, -1.12196967e-01, 2.27784077e-01,
- 8.84412890e-01, -6.59194921e-17, 1.90819582e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, -5.97902822e-02, 8.01346029e-01,
- 2.58444253e-01, -1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 5.55111512e-17, 8.01346029e-01, -5.97902822e-02,
- 2.58444253e-01, -9.71445147e-17, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.93889390e-18, 2.27784077e-01, -1.12196967e-01,
- 8.84412890e-01, -2.77555756e-17, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.45931095e-17, -1.12196967e-01, 2.27784077e-01,
- 8.84412890e-01, -6.59194921e-17, 1.90819582e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, -5.97902822e-02, 8.01346029e-01,
- 2.58444253e-01, -1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE3_f1_C0': array([[ 9.30568156e-01, 0.00000000e+00, 6.94318442e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.69990522e-01, -1.88651178e-17, 3.30009478e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.30009478e-01, 2.77555756e-17, 6.69990522e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.94318442e-02, 5.55111512e-17, 9.30568156e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1': array([[ 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE1_f0': array([[ 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE3_f2_C0': array([[ 0.93056816, 0.06943184, 0. , 0. , 0. ,
- 0. ],
- [ 0.66999052, 0.33000948, 0. , 0. , 0. ,
- 0. ],
- [ 0.33000948, 0.66999052, 0. , 0. , 0. ,
- 0. ],
- [ 0.06943184, 0.93056816, 0. , 0. , 0. ,
- 0. ]]), 'FE3_f2_C1': array([[ 0. , 0. , 0. , 0.93056816, 0.06943184,
- 0. ],
- [ 0. , 0. , 0. , 0.66999052, 0.33000948,
- 0. ],
- [ 0. , 0. , 0. , 0.33000948, 0.66999052,
- 0. ],
- [ 0. , 0. , 0. , 0.06943184, 0.93056816,
- 0. ]]), 'FE3_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2': array([[ 0.93056816, 0.06943184, 0. ],
- [ 0.66999052, 0.33000948, 0. ],
- [ 0.33000948, 0.66999052, 0. ],
- [ 0.06943184, 0.93056816, 0. ]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.01346029e-01, -5.97902822e-02, 0.00000000e+00,
- -5.55111512e-17, -2.77555756e-17, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.27784077e-01, -1.12196967e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.12196967e-01, 2.27784077e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.97902822e-02, 8.01346029e-01, 0.00000000e+00,
- 5.55111512e-17, -1.11022302e-16, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 8.01346029e-01, -5.97902822e-02, 0.00000000e+00,
- -5.55111512e-17, -2.77555756e-17, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.27784077e-01, -1.12196967e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.12196967e-01, 2.27784077e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.97902822e-02, 8.01346029e-01, 0.00000000e+00,
- 5.55111512e-17, -1.11022302e-16, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.93056816, 0.06943184, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.66999052, 0.33000948, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.33000948, 0.66999052, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06943184, 0.93056816, 0. ]]), 'FE3_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE3_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE3_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 8.01346029e-01, 1.04083409e-16, -5.97902822e-02,
- -1.38777878e-17, 2.58444253e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.27784077e-01, 6.93889390e-18, -1.12196967e-01,
- -4.16333634e-17, 8.84412890e-01, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.12196967e-01, 8.67361738e-17, 2.27784077e-01,
- -2.77555756e-17, 8.84412890e-01, -1.56125113e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.97902822e-02, 8.32667268e-17, 8.01346029e-01,
- -1.11022302e-16, 2.58444253e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.01346029e-01, 1.04083409e-16, -5.97902822e-02,
- -1.38777878e-17, 2.58444253e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.27784077e-01, 6.93889390e-18, -1.12196967e-01,
- -4.16333634e-17, 8.84412890e-01, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.12196967e-01, 8.67361738e-17, 2.27784077e-01,
- -2.77555756e-17, 8.84412890e-01, -1.56125113e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.97902822e-02, 8.32667268e-17, 8.01346029e-01,
- -1.11022302e-16, 2.58444253e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE3_f0_C0': array([[ 0.00000000e+00, 9.30568156e-01, 6.94318442e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.88651178e-17, 6.69990522e-01, 3.30009478e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 3.30009478e-01, 6.69990522e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 6.94318442e-02, 9.30568156e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- tables: {'FE0_f0': array([[ -4.16333634e-17],
- [ 5.55111512e-17],
- [ -2.77555756e-16],
- [ -1.66533454e-16]]), 'FE2_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 8.01346029e-01, -5.97902822e-02,
- 2.58444253e-01, -9.71445147e-17, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.93889390e-18, 2.27784077e-01, -1.12196967e-01,
- 8.84412890e-01, -2.77555756e-17, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.45931095e-17, -1.12196967e-01, 2.27784077e-01,
- 8.84412890e-01, -6.59194921e-17, 1.90819582e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, -5.97902822e-02, 8.01346029e-01,
- 2.58444253e-01, -1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 5.55111512e-17, 8.01346029e-01, -5.97902822e-02,
- 2.58444253e-01, -9.71445147e-17, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.93889390e-18, 2.27784077e-01, -1.12196967e-01,
- 8.84412890e-01, -2.77555756e-17, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.45931095e-17, -1.12196967e-01, 2.27784077e-01,
- 8.84412890e-01, -6.59194921e-17, 1.90819582e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, -5.97902822e-02, 8.01346029e-01,
- 2.58444253e-01, -1.66533454e-16, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE3_f1_C0': array([[ 9.30568156e-01, 0.00000000e+00, 6.94318442e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.69990522e-01, -1.88651178e-17, 3.30009478e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.30009478e-01, 2.77555756e-17, 6.69990522e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.94318442e-02, 5.55111512e-17, 9.30568156e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1': array([[ 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE1_f0': array([[ 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE3_f2_C0': array([[ 0.93056816, 0.06943184, 0. , 0. , 0. ,
- 0. ],
- [ 0.66999052, 0.33000948, 0. , 0. , 0. ,
- 0. ],
- [ 0.33000948, 0.66999052, 0. , 0. , 0. ,
- 0. ],
- [ 0.06943184, 0.93056816, 0. , 0. , 0. ,
- 0. ]]), 'FE3_f2_C1': array([[ 0. , 0. , 0. , 0.93056816, 0.06943184,
- 0. ],
- [ 0. , 0. , 0. , 0.66999052, 0.33000948,
- 0. ],
- [ 0. , 0. , 0. , 0.33000948, 0.66999052,
- 0. ],
- [ 0. , 0. , 0. , 0.06943184, 0.93056816,
- 0. ]]), 'FE1_f2': array([[ 0.93056816, 0.06943184, 0. ],
- [ 0.66999052, 0.33000948, 0. ],
- [ 0.33000948, 0.66999052, 0. ],
- [ 0.06943184, 0.93056816, 0. ]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.01346029e-01, -5.97902822e-02, 0.00000000e+00,
- -5.55111512e-17, -2.77555756e-17, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.27784077e-01, -1.12196967e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.12196967e-01, 2.27784077e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.97902822e-02, 8.01346029e-01, 0.00000000e+00,
- 5.55111512e-17, -1.11022302e-16, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 8.01346029e-01, -5.97902822e-02, 0.00000000e+00,
- -5.55111512e-17, -2.77555756e-17, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.27784077e-01, -1.12196967e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.12196967e-01, 2.27784077e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 8.84412890e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.97902822e-02, 8.01346029e-01, 0.00000000e+00,
- 5.55111512e-17, -1.11022302e-16, 2.58444253e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.93056816, 0.06943184, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.66999052, 0.33000948, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.33000948, 0.66999052, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06943184, 0.93056816, 0. ]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 9.30568156e-01, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.88651178e-17, 6.69990522e-01, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 3.30009478e-01, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 6.94318442e-02, 9.30568156e-01]]), 'FE3_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 8.01346029e-01, 1.04083409e-16, -5.97902822e-02,
- -1.38777878e-17, 2.58444253e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.27784077e-01, 6.93889390e-18, -1.12196967e-01,
- -4.16333634e-17, 8.84412890e-01, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.12196967e-01, 8.67361738e-17, 2.27784077e-01,
- -2.77555756e-17, 8.84412890e-01, -1.56125113e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.97902822e-02, 8.32667268e-17, 8.01346029e-01,
- -1.11022302e-16, 2.58444253e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.01346029e-01, 1.04083409e-16, -5.97902822e-02,
- -1.38777878e-17, 2.58444253e-01, -2.77555756e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.27784077e-01, 6.93889390e-18, -1.12196967e-01,
- -4.16333634e-17, 8.84412890e-01, 3.46944695e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.12196967e-01, 8.67361738e-17, 2.27784077e-01,
- -2.77555756e-17, 8.84412890e-01, -1.56125113e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.97902822e-02, 8.32667268e-17, 8.01346029e-01,
- -1.11022302e-16, 2.58444253e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.30568156e-01, 0.00000000e+00, 6.94318442e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.69990522e-01, -1.88651178e-17, 3.30009478e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.30009478e-01, 2.77555756e-17, 6.69990522e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.94318442e-02, 5.55111512e-17, 9.30568156e-01]]), 'FE3_f0_C0': array([[ 0.00000000e+00, 9.30568156e-01, 6.94318442e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.88651178e-17, 6.69990522e-01, 3.30009478e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 3.30009478e-01, 6.69990522e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 6.94318442e-02, 9.30568156e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]])}
-
- name_map: {'FE3_f0_C0_D10': ['FE3_f1_C0_D10', 'FE3_f2_C0_D10'], 'FE3_f0_C0_D01': ['FE3_f1_C0_D01', 'FE3_f2_C0_D01'], 'FE3_f0_C1_D01': ['FE3_f1_C1_D01', 'FE3_f2_C1_D01'], 'FE0_f0': ['FE0_f1', 'FE0_f2'], 'FE3_f0_C1_D10': ['FE3_f1_C1_D10', 'FE3_f2_C1_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f0', 'FE0_f2': 'FE0_f0', 'FE3_f2_C0_D10': 'FE3_f0_C0_D10', 'FE3_f1_C0_D01': 'FE3_f0_C0_D01', 'FE2_f2_C0': 'FE2_f2_C0', 'FE2_f0_C2': 'FE2_f0_C2', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0': 'FE2_f0_C0', 'FE3_f1_C1': 'FE3_f1_C1', 'FE3_f1_C0': 'FE3_f1_C0', 'FE2_f2_C2': 'FE2_f2_C2', 'FE3_f1_C1_D01': 'FE3_f0_C1_D01', 'FE3_f2_C1_D01': 'FE3_f0_C1_D01', 'FE1_f1': 'FE1_f1', 'FE1_f0': 'FE1_f0', 'FE3_f2_C0': 'FE3_f2_C0', 'FE3_f2_C1': 'FE3_f2_C1', 'FE2_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.],
- [ 0.],
- [ 0.],
- [ 0.]]), 'FE2_f0_C0': array([[ 0.80134603, -0.05979028, 0.25844425],
- [ 0.22778408, -0.11219697, 0.88441289],
- [-0.11219697, 0.22778408, 0.88441289],
- [-0.05979028, 0.80134603, 0.25844425]]), 'FE1_f0': array([[ 0.93056816, 0.06943184],
- [ 0.66999052, 0.33000948],
- [ 0.33000948, 0.66999052],
- [ 0.06943184, 0.93056816]]), 'FE3_f0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (), True, False), 'FE0_f1': ('FE0_f0', (), True, False), 'FE0_f2': ('FE0_f0', (), True, False), 'FE3_f2_C0_D10': ('FE3_f0_C0_D01', (14, [0, 1]), False, False), 'FE3_f1_C0_D01': ('FE3_f0_C0_D01', (13, [0, 2]), False, False), 'FE2_f2_C0': ('FE2_f0_C0', (9, [0, 1, 5]), False, False), 'FE2_f0_C2': ('FE1_f0', (5, [13, 14]), False, False), 'FE2_f0_C1': ('FE2_f0_C0', (4, [7, 8, 9]), False, False), 'FE2_f0_C0': ('FE2_f0_C0', (3, [1, 2, 3]), False, False), 'FE3_f1_C1': ('F [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00208 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00202 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00215 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00283 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00284 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00284 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00283 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.0029 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00278 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00276 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.0028 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00282 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00275 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00281 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00279 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00289 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00286 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00289 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00285 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00286 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 1350 entries computed in 0.00285 seconds
- Shape of reference tensor: (15, 15, 6)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {16: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -2.50971524e+00, -1.69178745e+00, -5.49989934e-01,
- 4.79775683e-01, -1.52692501e+00, -9.38033307e-01,
- -1.15961854e-01, 6.25448862e-01, -2.44658209e-01,
- 4.54053611e-02, 4.50323583e-01, 8.15511680e-01,
- 7.38132022e-01, 7.99159507e-01, 8.84351663e-01,
- 9.61184859e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 5.05151476e-15, 6.07847106e-15, 6.85562718e-15,
- 6.88338275e-15, 5.88418203e-15, 6.85562718e-15,
- 7.27196081e-15, 6.99440506e-15, 7.16093851e-15,
- 7.85482790e-15, 7.85482790e-15, 7.32747196e-15,
- 7.93809463e-15, 8.52096171e-15, 8.35442826e-15,
- 7.54951657e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00, -7.71583216e-01, 1.07372055e-01,
- 1.33436173e+00, 2.44096054e+00, -7.71583216e-01,
- 1.07372055e-01, 1.33436173e+00, 2.44096054e+00,
- -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 2.61867978e-01, 2.00840493e-01, 1.15648337e-01,
- 3.88151405e-02, 1.24465821e+00, 9.54594639e-01,
- 5.49676417e-01, 1.84488320e-01, 2.52692501e+00,
- 1.93803331e+00, 1.11596185e+00, 3.74551138e-01,
- 3.50971524e+00, 2.69178745e+00, 1.54998993e+00,
- 5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.28129845e+00, 1.58441540e+00, -7.84371796e-01,
- -2.92073623e+00, 2.29850822e+00, 8.30661252e-01,
- -1.21839988e+00, -3.06640940e+00, 1.01624142e+00,
- -1.52777416e-01, -1.78468531e+00, -3.25647222e+00,
- 3.34511938e-02, -9.06531562e-01, -2.21871339e+00,
- -3.40214540e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.61867978e-01, -2.00840493e-01, -1.15648337e-01,
- -3.88151405e-02, -1.24465821e+00, -9.54594639e-01,
- -5.49676417e-01, -1.84488320e-01, -2.52692501e+00,
- -1.93803331e+00, -1.11596185e+00, -3.74551138e-01,
- -3.50971524e+00, -2.69178745e+00, -1.54998993e+00,
- -5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.50971524e+00, -1.69178745e+00, -5.49989934e-01,
- 4.79775683e-01, -1.52692501e+00, -9.38033307e-01,
- -1.15961854e-01, 6.25448862e-01, -2.44658209e-01,
- 4.54053611e-02, 4.50323583e-01, 8.15511680e-01,
- 7.38132022e-01, 7.99159507e-01, 8.84351663e-01,
- 9.61184859e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 5.05151476e-15, 6.07847106e-15, 6.85562718e-15,
- 6.88338275e-15, 5.88418203e-15, 6.85562718e-15,
- 7.27196081e-15, 6.99440506e-15, 7.16093851e-15,
- 7.85482790e-15, 7.85482790e-15, 7.32747196e-15,
- 7.93809463e-15, 8.52096171e-15, 8.35442826e-15,
- 7.54951657e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00, -7.71583216e-01, 1.07372055e-01,
- 1.33436173e+00, 2.44096054e+00, -7.71583216e-01,
- 1.07372055e-01, 1.33436173e+00, 2.44096054e+00,
- -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 2.61867978e-01, 2.00840493e-01, 1.15648337e-01,
- 3.88151405e-02, 1.24465821e+00, 9.54594639e-01,
- 5.49676417e-01, 1.84488320e-01, 2.52692501e+00,
- 1.93803331e+00, 1.11596185e+00, 3.74551138e-01,
- 3.50971524e+00, 2.69178745e+00, 1.54998993e+00,
- 5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.28129845e+00, 1.58441540e+00, -7.84371796e-01,
- -2.92073623e+00, 2.29850822e+00, 8.30661252e-01,
- -1.21839988e+00, -3.06640940e+00, 1.01624142e+00,
- -1.52777416e-01, -1.78468531e+00, -3.25647222e+00,
- 3.34511938e-02, -9.06531562e-01, -2.21871339e+00,
- -3.40214540e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.61867978e-01, -2.00840493e-01, -1.15648337e-01,
- -3.88151405e-02, -1.24465821e+00, -9.54594639e-01,
- -5.49676417e-01, -1.84488320e-01, -2.52692501e+00,
- -1.93803331e+00, -1.11596185e+00, -3.74551138e-01,
- -3.50971524e+00, -2.69178745e+00, -1.54998993e+00,
- -5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-2.50971524, -1.69178745, -0.54998993, 0.47977568, -1.52692501,
- -0.93803331, -0.11596185, 0.62544886, -0.24465821, 0.04540536,
- 0.45032358, 0.81551168, 0.73813202, 0.79915951, 0.88435166,
- 0.96118486],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.73813202, -0.79915951, -0.88435166, -0.96118486, 0.24465821,
- -0.04540536, -0.45032358, -0.81551168, 1.52692501, 0.93803331,
- 0.11596185, -0.62544886, 2.50971524, 1.69178745, 0.54998993,
- -0.47977568],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.22841678, 1.10737205, 2.33436173, 3.44096054, 0.22841678,
- 1.10737205, 2.33436173, 3.44096054, 0.22841678, 1.10737205,
- 2.33436173, 3.44096054, 0.22841678, 1.10737205, 2.33436173,
- 3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.22841678, -1.10737205, -2.33436173, -3.44096054, -0.22841678,
- -1.10737205, -2.33436173, -3.44096054, -0.22841678, -1.10737205,
- -2.33436173, -3.44096054, -0.22841678, -1.10737205, -2.33436173,
- -3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 3.24784726, 2.49094696, 1.4343416 , 0.48140918, 1.2822668 ,
- 0.98343867, 0.56628544, 0.19006282, -1.2822668 , -0.98343867,
- -0.56628544, -0.19006282, -3.24784726, -2.49094696, -1.4343416 ,
- -0.48140918],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-2.50971524, -1.69178745, -0.54998993, 0.47977568, -1.52692501,
- -0.93803331, -0.11596185, 0.62544886, -0.24465821, 0.04540536,
- 0.45032358, 0.81551168, 0.73813202, 0.79915951, 0.88435166,
- 0.96118486],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.73813202, -0.79915951, -0.88435166, -0.96118486, 0.24465821,
- -0.04540536, -0.45032358, -0.81551168, 1.52692501, 0.93803331,
- 0.11596185, -0.62544886, 2.50971524, 1.69178745, 0.54998993,
- -0.47977568],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.22841678, 1.10737205, 2.33436173, 3.44096054, 0.22841678,
- 1.10737205, 2.33436173, 3.44096054, 0.22841678, 1.10737205,
- 2.33436173, 3.44096054, 0.22841678, 1.10737205, 2.33436173,
- 3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.22841678, -1.10737205, -2.33436173, -3.44096054, -0.22841678,
- -1.10737205, -2.33436173, -3.44096054, -0.22841678, -1.10737205,
- -2.33436173, -3.44096054, -0.22841678, -1.10737205, -2.33436173,
- -3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 3.24784726, 2.49094696, 1.4343416 , 0.48140918, 1.2822668 ,
- 0.98343867, 0.56628544, 0.19006282, -1.2822668 , -0.98343867,
- -0.56628544, -0.19006282, -3.24784726, -2.49094696, -1.4343416 ,
- -0.48140918],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-1. , -1. , -1. , -1. , -1. ,
- -1. , -1. , -1. , -1. , -1. ,
- -1. , -1. , -1. , -1. , -1. ,
- -1. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 1. , 1. , 1. , 1. , 1. ,
- 1. , 1. , 1. , 1. , 1. ,
- 1. , 1. , 1. , 1. , 1. ,
- 1. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]]), (0, 0): array([[[ 0.66233382, 0.2327681 , -0.08718888, -0.09622691, 0.1664375 ,
- -0.01501169, -0.12331911, -0.07610172, -0.1175178 , -0.12474229,
- -0.09965108, -0.04186759, -0.05689514, -0.04516801, -0.02724027,
- -0.00951546],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.05689514, -0.04516801, -0.02724027, -0.00951546, -0.1175178 ,
- -0.12474229, -0.09965108, -0.04186759, 0.1664375 , -0.01501169,
- -0.12331911, -0.07610172, 0.66233382, 0.2327681 , -0.08718888,
- -0.09622691],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.05058242, -0.12355891, 0.09756515, 0.61978605, -0.05058242,
- -0.12355891, 0.09756515, 0.61978605, -0.05058242, -0.12355891,
- 0.09756515, 0.61978605, -0.05058242, -0.12355891, 0.09756515,
- 0.61978605],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.01495376, 0.05560129, 0.06749126, 0.03339034, 0.07107521,
- 0.26427286, 0.3207859 , 0.15870426, 0.14429802, 0.53653098,
- 0.65126466, 0.32220392, 0.20041947, 0.74520255, 0.9045593 ,
- 0.44751784],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.20041947, 0.74520255, 0.9045593 , 0.44751784, 0.14429802,
- 0.53653098, 0.65126466, 0.32220392, 0.07107521, 0.26427286,
- 0.3207859 , 0.15870426, 0.01495376, 0.05560129, 0.06749126,
- 0.03339034],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.22977051, 0.13515498, 0.04481344, 0.00504814, 0.78628949,
- 0.46250905, 0.15335448, 0.01727508, 0.78628949, 0.46250905,
- 0.15335448, 0.01727508, 0.22977051, 0.13515498, 0.04481344,
- 0.00504814],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.66233382, 0.2327681 , -0.08718888, -0.09622691, 0.1664375 ,
- -0.01501169, -0.12331911, -0.07610172, -0.1175178 , -0.12474229,
- -0.09965108, -0.04186759, -0.05689514, -0.04516801, -0.02724027,
- -0.00951546],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.05689514, -0.04516801, -0.02724027, -0.00951546, -0.1175178 ,
- -0.12474229, -0.09965108, -0.04186759, 0.1664375 , -0.01501169,
- -0.12331911, -0.07610172, 0.66233382, 0.2327681 , -0.08718888,
- -0.09622691],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.05058242, -0.12355891, 0.09756515, 0.61978605, -0.05058242,
- -0.12355891, 0.09756515, 0.61978605, -0.05058242, -0.12355891,
- 0.09756515, 0.61978605, -0.05058242, -0.12355891, 0.09756515,
- 0.61978605],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01495376, 0.05560129, 0.06749126, 0.03339034, 0.07107521,
- 0.26427286, 0.3207859 , 0.15870426, 0.14429802, 0.53653098,
- 0.65126466, 0.32220392, 0.20041947, 0.74520255, 0.9045593 ,
- 0.44751784],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.20041947, 0.74520255, 0.9045593 , 0.44751784, 0.14429802,
- 0.53653098, 0.65126466, 0.32220392, 0.07107521, 0.26427286,
- 0.3207859 , 0.15870426, 0.01495376, 0.05560129, 0.06749126,
- 0.03339034],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.22977051, 0.13515498, 0.04481344, 0.00504814, 0.78628949,
- 0.46250905, 0.15335448, 0.01727508, 0.78628949, 0.46250905,
- 0.15335448, 0.01727508, 0.22977051, 0.13515498, 0.04481344,
- 0.00504814],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.87742881, 0.67294686, 0.38749748, 0.13005608, 0.63173125,
- 0.48450833, 0.27899046, 0.09363778, 0.31116455, 0.23864866,
- 0.1374191 , 0.04612208, 0.06546699, 0.05021012, 0.02891208,
- 0.00970379]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.06546699, 0.05021012, 0.02891208, 0.00970379, 0.31116455,
- 0.23864866, 0.1374191 , 0.04612208, 0.63173125, 0.48450833,
- 0.27899046, 0.09363778, 0.87742881, 0.67294686, 0.38749748,
- 0.13005608]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.0571042 , 0.27684301, 0.58359043, 0.86024014, 0.0571042 ,
- 0.27684301, 0.58359043, 0.86024014, 0.0571042 , 0.27684301,
- 0.58359043, 0.86024014, 0.0571042 , 0.27684301, 0.58359043,
- 0.86024014]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1.]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.,
- -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
- 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
- 0., 0., 0.]]]), (0, 0): array([[[ 0.87742881, 0.67294686, 0.38749748, 0.13005608, 0.63173125,
- 0.48450833, 0.27899046, 0.09363778, 0.31116455, 0.23864866,
- 0.1374191 , 0.04612208, 0.06546699, 0.05021012, 0.02891208,
- 0.00970379],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.06546699, 0.05021012, 0.02891208, 0.00970379, 0.31116455,
- 0.23864866, 0.1374191 , 0.04612208, 0.63173125, 0.48450833,
- 0.27899046, 0.09363778, 0.87742881, 0.67294686, 0.38749748,
- 0.13005608],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.0571042 , 0.27684301, 0.58359043, 0.86024014, 0.0571042 ,
- 0.27684301, 0.58359043, 0.86024014, 0.0571042 , 0.27684301,
- 0.58359043, 0.86024014, 0.0571042 , 0.27684301, 0.58359043,
- 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.87742881, 0.67294686, 0.38749748, 0.13005608, 0.63173125,
- 0.48450833, 0.27899046, 0.09363778, 0.31116455, 0.23864866,
- 0.1374191 , 0.04612208, 0.06546699, 0.05021012, 0.02891208,
- 0.00970379]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.06546699, 0.05021012, 0.02891208, 0.00970379, 0.31116455,
- 0.23864866, 0.1374191 , 0.04612208, 0.63173125, 0.48450833,
- 0.27899046, 0.09363778, 0.87742881, 0.67294686, 0.38749748,
- 0.13005608]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.0571042 , 0.27684301, 0.58359043, 0.86024014, 0.0571042 ,
- 0.27684301, 0.58359043, 0.86024014, 0.0571042 , 0.27684301,
- 0.58359043, 0.86024014, 0.0571042 , 0.27684301, 0.58359043,
- 0.86024014]]])}}}, MixedElement(VectorElement(FiniteElement('Discontinuous Lagrange', triangle, 2), dim=2), FiniteElement('Discontinuous Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -2.50971524e+00, -1.69178745e+00, -5.49989934e-01,
- 4.79775683e-01, -1.52692501e+00, -9.38033307e-01,
- -1.15961854e-01, 6.25448862e-01, -2.44658209e-01,
- 4.54053611e-02, 4.50323583e-01, 8.15511680e-01,
- 7.38132022e-01, 7.99159507e-01, 8.84351663e-01,
- 9.61184859e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 5.05151476e-15, 6.07847106e-15, 6.85562718e-15,
- 6.88338275e-15, 5.88418203e-15, 6.85562718e-15,
- 7.27196081e-15, 6.99440506e-15, 7.16093851e-15,
- 7.85482790e-15, 7.85482790e-15, 7.32747196e-15,
- 7.93809463e-15, 8.52096171e-15, 8.35442826e-15,
- 7.54951657e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00, -7.71583216e-01, 1.07372055e-01,
- 1.33436173e+00, 2.44096054e+00, -7.71583216e-01,
- 1.07372055e-01, 1.33436173e+00, 2.44096054e+00,
- -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 2.61867978e-01, 2.00840493e-01, 1.15648337e-01,
- 3.88151405e-02, 1.24465821e+00, 9.54594639e-01,
- 5.49676417e-01, 1.84488320e-01, 2.52692501e+00,
- 1.93803331e+00, 1.11596185e+00, 3.74551138e-01,
- 3.50971524e+00, 2.69178745e+00, 1.54998993e+00,
- 5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.28129845e+00, 1.58441540e+00, -7.84371796e-01,
- -2.92073623e+00, 2.29850822e+00, 8.30661252e-01,
- -1.21839988e+00, -3.06640940e+00, 1.01624142e+00,
- -1.52777416e-01, -1.78468531e+00, -3.25647222e+00,
- 3.34511938e-02, -9.06531562e-01, -2.21871339e+00,
- -3.40214540e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.61867978e-01, -2.00840493e-01, -1.15648337e-01,
- -3.88151405e-02, -1.24465821e+00, -9.54594639e-01,
- -5.49676417e-01, -1.84488320e-01, -2.52692501e+00,
- -1.93803331e+00, -1.11596185e+00, -3.74551138e-01,
- -3.50971524e+00, -2.69178745e+00, -1.54998993e+00,
- -5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.50971524e+00, -1.69178745e+00, -5.49989934e-01,
- 4.79775683e-01, -1.52692501e+00, -9.38033307e-01,
- -1.15961854e-01, 6.25448862e-01, -2.44658209e-01,
- 4.54053611e-02, 4.50323583e-01, 8.15511680e-01,
- 7.38132022e-01, 7.99159507e-01, 8.84351663e-01,
- 9.61184859e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 5.05151476e-15, 6.07847106e-15, 6.85562718e-15,
- 6.88338275e-15, 5.88418203e-15, 6.85562718e-15,
- 7.27196081e-15, 6.99440506e-15, 7.16093851e-15,
- 7.85482790e-15, 7.85482790e-15, 7.32747196e-15,
- 7.93809463e-15, 8.52096171e-15, 8.35442826e-15,
- 7.54951657e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00, -7.71583216e-01, 1.07372055e-01,
- 1.33436173e+00, 2.44096054e+00, -7.71583216e-01,
- 1.07372055e-01, 1.33436173e+00, 2.44096054e+00,
- -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 2.61867978e-01, 2.00840493e-01, 1.15648337e-01,
- 3.88151405e-02, 1.24465821e+00, 9.54594639e-01,
- 5.49676417e-01, 1.84488320e-01, 2.52692501e+00,
- 1.93803331e+00, 1.11596185e+00, 3.74551138e-01,
- 3.50971524e+00, 2.69178745e+00, 1.54998993e+00,
- 5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.28129845e+00, 1.58441540e+00, -7.84371796e-01,
- -2.92073623e+00, 2.29850822e+00, 8.30661252e-01,
- -1.21839988e+00, -3.06640940e+00, 1.01624142e+00,
- -1.52777416e-01, -1.78468531e+00, -3.25647222e+00,
- 3.34511938e-02, -9.06531562e-01, -2.21871339e+00,
- -3.40214540e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.61867978e-01, -2.00840493e-01, -1.15648337e-01,
- -3.88151405e-02, -1.24465821e+00, -9.54594639e-01,
- -5.49676417e-01, -1.84488320e-01, -2.52692501e+00,
- -1.93803331e+00, -1.11596185e+00, -3.74551138e-01,
- -3.50971524e+00, -2.69178745e+00, -1.54998993e+00,
- -5.20224317e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-2.50971524, -1.69178745, -0.54998993, 0.47977568, -1.52692501,
- -0.93803331, -0.11596185, 0.62544886, -0.24465821, 0.04540536,
- 0.45032358, 0.81551168, 0.73813202, 0.79915951, 0.88435166,
- 0.96118486],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.73813202, -0.79915951, -0.88435166, -0.96118486, 0.24465821,
- -0.04540536, -0.45032358, -0.81551168, 1.52692501, 0.93803331,
- 0.11596185, -0.62544886, 2.50971524, 1.69178745, 0.54998993,
- -0.47977568],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.22841678, 1.10737205, 2.33436173, 3.44096054, 0.22841678,
- 1.10737205, 2.33436173, 3.44096054, 0.22841678, 1.10737205,
- 2.33436173, 3.44096054, 0.22841678, 1.10737205, 2.33436173,
- 3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.22841678, -1.10737205, -2.33436173, -3.44096054, -0.22841678,
- -1.10737205, -2.33436173, -3.44096054, -0.22841678, -1.10737205,
- -2.33436173, -3.44096054, -0.22841678, -1.10737205, -2.33436173,
- -3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 3.24784726, 2.49094696, 1.4343416 , 0.48140918, 1.2822668 ,
- 0.98343867, 0.56628544, 0.19006282, -1.2822668 , -0.98343867,
- -0.56628544, -0.19006282, -3.24784726, -2.49094696, -1.4343416 ,
- -0.48140918],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-2.50971524, -1.69178745, -0.54998993, 0.47977568, -1.52692501,
- -0.93803331, -0.11596185, 0.62544886, -0.24465821, 0.04540536,
- 0.45032358, 0.81551168, 0.73813202, 0.79915951, 0.88435166,
- 0.96118486],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.73813202, -0.79915951, -0.88435166, -0.96118486, 0.24465821,
- -0.04540536, -0.45032358, -0.81551168, 1.52692501, 0.93803331,
- 0.11596185, -0.62544886, 2.50971524, 1.69178745, 0.54998993,
- -0.47977568],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.22841678, 1.10737205, 2.33436173, 3.44096054, 0.22841678,
- 1.10737205, 2.33436173, 3.44096054, 0.22841678, 1.10737205,
- 2.33436173, 3.44096054, 0.22841678, 1.10737205, 2.33436173,
- 3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.22841678, -1.10737205, -2.33436173, -3.44096054, -0.22841678,
- -1.10737205, -2.33436173, -3.44096054, -0.22841678, -1.10737205,
- -2.33436173, -3.44096054, -0.22841678, -1.10737205, -2.33436173,
- -3.44096054],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 3.24784726, 2.49094696, 1.4343416 , 0.48140918, 1.2822668 ,
- 0.98343867, 0.56628544, 0.19006282, -1.2822668 , -0.98343867,
- -0.56628544, -0.19006282, -3.24784726, -2.49094696, -1.4343416 ,
- -0.48140918],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-1. , -1. , -1. , -1. , -1. ,
- -1. , -1. , -1. , -1. , -1. ,
- -1. , -1. , -1. , -1. , -1. ,
- -1. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 1. , 1. , 1. , 1. , 1. ,
- 1. , 1. , 1. , 1. , 1. ,
- 1. , 1. , 1. , 1. , 1. ,
- 1. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]]]), (0, 0): array([[[ 0.66233382, 0.2327681 , -0.08718888, -0.09622691, 0.1664375 ,
- -0.01501169, -0.12331911, -0.07610172, -0.1175178 , -0.12474229,
- -0.09965108, -0.04186759, -0.05689514, -0.04516801, -0.02724027,
- -0.00951546],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.05689514, -0.04516801, -0.02724027, -0.00951546, -0.1175178 ,
- -0.12474229, -0.09965108, -0.04186759, 0.1664375 , -0.01501169,
- -0.12331911, -0.07610172, 0.66233382, 0.2327681 , -0.08718888,
- -0.09622691],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[-0.05058242, -0.12355891, 0.09756515, 0.61978605, -0.05058242,
- -0.12355891, 0.09756515, 0.61978605, -0.05058242, -0.12355891,
- 0.09756515, 0.61978605, -0.05058242, -0.12355891, 0.09756515,
- 0.61978605],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.01495376, 0.05560129, 0.06749126, 0.03339034, 0.07107521,
- 0.26427286, 0.3207859 , 0.15870426, 0.14429802, 0.53653098,
- 0.65126466, 0.32220392, 0.20041947, 0.74520255, 0.9045593 ,
- 0.44751784],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.20041947, 0.74520255, 0.9045593 , 0.44751784, 0.14429802,
- 0.53653098, 0.65126466, 0.32220392, 0.07107521, 0.26427286,
- 0.3207859 , 0.15870426, 0.01495376, 0.05560129, 0.06749126,
- 0.03339034],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.22977051, 0.13515498, 0.04481344, 0.00504814, 0.78628949,
- 0.46250905, 0.15335448, 0.01727508, 0.78628949, 0.46250905,
- 0.15335448, 0.01727508, 0.22977051, 0.13515498, 0.04481344,
- 0.00504814],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.66233382, 0.2327681 , -0.08718888, -0.09622691, 0.1664375 ,
- -0.01501169, -0.12331911, -0.07610172, -0.1175178 , -0.12474229,
- -0.09965108, -0.04186759, -0.05689514, -0.04516801, -0.02724027,
- -0.00951546],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.05689514, -0.04516801, -0.02724027, -0.00951546, -0.1175178 ,
- -0.12474229, -0.09965108, -0.04186759, 0.1664375 , -0.01501169,
- -0.12331911, -0.07610172, 0.66233382, 0.2327681 , -0.08718888,
- -0.09622691],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [-0.05058242, -0.12355891, 0.09756515, 0.61978605, -0.05058242,
- -0.12355891, 0.09756515, 0.61978605, -0.05058242, -0.12355891,
- 0.09756515, 0.61978605, -0.05058242, -0.12355891, 0.09756515,
- 0.61978605],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.01495376, 0.05560129, 0.06749126, 0.03339034, 0.07107521,
- 0.26427286, 0.3207859 , 0.15870426, 0.14429802, 0.53653098,
- 0.65126466, 0.32220392, 0.20041947, 0.74520255, 0.9045593 ,
- 0.44751784],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.20041947, 0.74520255, 0.9045593 , 0.44751784, 0.14429802,
- 0.53653098, 0.65126466, 0.32220392, 0.07107521, 0.26427286,
- 0.3207859 , 0.15870426, 0.01495376, 0.05560129, 0.06749126,
- 0.03339034],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.22977051, 0.13515498, 0.04481344, 0.00504814, 0.78628949,
- 0.46250905, 0.15335448, 0.01727508, 0.78628949, 0.46250905,
- 0.15335448, 0.01727508, 0.22977051, 0.13515498, 0.04481344,
- 0.00504814],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.87742881, 0.67294686, 0.38749748, 0.13005608, 0.63173125,
- 0.48450833, 0.27899046, 0.09363778, 0.31116455, 0.23864866,
- 0.1374191 , 0.04612208, 0.06546699, 0.05021012, 0.02891208,
- 0.00970379]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.06546699, 0.05021012, 0.02891208, 0.00970379, 0.31116455,
- 0.23864866, 0.1374191 , 0.04612208, 0.63173125, 0.48450833,
- 0.27899046, 0.09363778, 0.87742881, 0.67294686, 0.38749748,
- 0.13005608]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.0571042 , 0.27684301, 0.58359043, 0.86024014, 0.0571042 ,
- 0.27684301, 0.58359043, 0.86024014, 0.0571042 , 0.27684301,
- 0.58359043, 0.86024014, 0.0571042 , 0.27684301, 0.58359043,
- 0.86024014]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 2): {None: {None: {(0, 1): array([[ -2.50971524e+00, -1.69178745e+00, -5.49989934e-01,
- 4.79775683e-01, -1.52692501e+00, -9.38033307e-01,
- -1.15961854e-01, 6.25448862e-01, -2.44658209e-01,
- 4.54053611e-02, 4.50323583e-01, 8.15511680e-01,
- 7.38132022e-01, 7.99159507e-01, 8.84351663e-01,
- 9.61184859e-01],
- [ 5.05151476e-15, 6.07847106e-15, 6.85562718e-15,
- 6.88338275e-15, 5.88418203e-15, 6.85562718e-15,
- 7.27196081e-15, 6.99440506e-15, 7.16093851e-15,
- 7.85482790e-15, 7.85482790e-15, 7.32747196e-15,
- 7.93809463e-15, 8.52096171e-15, 8.35442826e-15,
- 7.54951657e-15],
- [ -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00, -7.71583216e-01, 1.07372055e-01,
- 1.33436173e+00, 2.44096054e+00, -7.71583216e-01,
- 1.07372055e-01, 1.33436173e+00, 2.44096054e+00,
- -7.71583216e-01, 1.07372055e-01, 1.33436173e+00,
- 2.44096054e+00],
- [ 2.61867978e-01, 2.00840493e-01, 1.15648337e-01,
- 3.88151405e-02, 1.24465821e+00, 9.54594639e-01,
- 5.49676417e-01, 1.84488320e-01, 2.52692501e+00,
- 1.93803331e+00, 1.11596185e+00, 3.74551138e-01,
- 3.50971524e+00, 2.69178745e+00, 1.54998993e+00,
- 5.20224317e-01],
- [ 3.28129845e+00, 1.58441540e+00, -7.84371796e-01,
- -2.92073623e+00, 2.29850822e+00, 8.30661252e-01,
- -1.21839988e+00, -3.06640940e+00, 1.01624142e+00,
- -1.52777416e-01, -1.78468531e+00, -3.25647222e+00,
- 3.34511938e-02, -9.06531562e-01, -2.21871339e+00,
- -3.40214540e+00],
- [ -2.61867978e-01, -2.00840493e-01, -1.15648337e-01,
- -3.88151405e-02, -1.24465821e+00, -9.54594639e-01,
- -5.49676417e-01, -1.84488320e-01, -2.52692501e+00,
- -1.93803331e+00, -1.11596185e+00, -3.74551138e-01,
- -3.50971524e+00, -2.69178745e+00, -1.54998993e+00,
- -5.20224317e-01]]), (1, 0): array([[-2.50971524, -1.69178745, -0.54998993, 0.47977568, -1.52692501,
- -0.93803331, -0.11596185, 0.62544886, -0.24465821, 0.04540536,
- 0.45032358, 0.81551168, 0.73813202, 0.79915951, 0.88435166,
- 0.96118486],
- [-0.73813202, -0.79915951, -0.88435166, -0.96118486, 0.24465821,
- -0.04540536, -0.45032358, -0.81551168, 1.52692501, 0.93803331,
- 0.11596185, -0.62544886, 2.50971524, 1.69178745, 0.54998993,
- -0.47977568],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.22841678, 1.10737205, 2.33436173, 3.44096054, 0.22841678,
- 1.10737205, 2.33436173, 3.44096054, 0.22841678, 1.10737205,
- 2.33436173, 3.44096054, 0.22841678, 1.10737205, 2.33436173,
- 3.44096054],
- [-0.22841678, -1.10737205, -2.33436173, -3.44096054, -0.22841678,
- -1.10737205, -2.33436173, -3.44096054, -0.22841678, -1.10737205,
- -2.33436173, -3.44096054, -0.22841678, -1.10737205, -2.33436173,
- -3.44096054],
- [ 3.24784726, 2.49094696, 1.4343416 , 0.48140918, 1.2822668 ,
- 0.98343867, 0.56628544, 0.19006282, -1.2822668 , -0.98343867,
- -0.56628544, -0.19006282, -3.24784726, -2.49094696, -1.4343416 ,
- -0.48140918]]), (0, 0): array([[ 0.66233382, 0.2327681 , -0.08718888, -0.09622691, 0.1664375 ,
- -0.01501169, -0.12331911, -0.07610172, -0.1175178 , -0.12474229,
- -0.09965108, -0.04186759, -0.05689514, -0.04516801, -0.02724027,
- -0.00951546],
- [-0.05689514, -0.04516801, -0.02724027, -0.00951546, -0.1175178 ,
- -0.12474229, -0.09965108, -0.04186759, 0.1664375 , -0.01501169,
- -0.12331911, -0.07610172, 0.66233382, 0.2327681 , -0.08718888,
- -0.09622691],
- [-0.05058242, -0.12355891, 0.09756515, 0.61978605, -0.05058242,
- -0.12355891, 0.09756515, 0.61978605, -0.05058242, -0.12355891,
- 0.09756515, 0.61978605, -0.05058242, -0.12355891, 0.09756515,
- 0.61978605],
- [ 0.01495376, 0.05560129, 0.06749126, 0.03339034, 0.07107521,
- 0.26427286, 0.3207859 , 0.15870426, 0.14429802, 0.53653098,
- 0.65126466, 0.32220392, 0.20041947, 0.74520255, 0.9045593 ,
- 0.44751784],
- [ 0.20041947, 0.74520255, 0.9045593 , 0.44751784, 0.14429802,
- 0.53653098, 0.65126466, 0.32220392, 0.07107521, 0.26427286,
- 0.3207859 , 0.15870426, 0.01495376, 0.05560129, 0.06749126,
- 0.03339034],
- [ 0.22977051, 0.13515498, 0.04481344, 0.00504814, 0.78628949,
- 0.46250905, 0.15335448, 0.01727508, 0.78628949, 0.46250905,
- 0.15335448, 0.01727508, 0.22977051, 0.13515498, 0.04481344,
- 0.00504814]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[-2.50971524, -0.73813202, 0. , 0.22841678, -0.22841678,
- 3.24784726],
- [-1.69178745, -0.79915951, 0. , 1.10737205, -1.10737205,
- 2.49094696],
- [-0.54998993, -0.88435166, 0. , 2.33436173, -2.33436173,
- 1.4343416 ],
- [ 0.47977568, -0.96118486, 0. , 3.44096054, -3.44096054,
- 0.48140918],
- [-1.52692501, 0.24465821, 0. , 0.22841678, -0.22841678,
- 1.2822668 ],
- [-0.93803331, -0.04540536, 0. , 1.10737205, -1.10737205,
- 0.98343867],
- [-0.11596185, -0.45032358, 0. , 2.33436173, -2.33436173,
- 0.56628544],
- [ 0.62544886, -0.81551168, 0. , 3.44096054, -3.44096054,
- 0.19006282],
- [-0.24465821, 1.52692501, 0. , 0.22841678, -0.22841678,
- -1.2822668 ],
- [ 0.04540536, 0.93803331, 0. , 1.10737205, -1.10737205,
- -0.98343867],
- [ 0.45032358, 0.11596185, 0. , 2.33436173, -2.33436173,
- -0.56628544],
- [ 0.81551168, -0.62544886, 0. , 3.44096054, -3.44096054,
- -0.19006282],
- [ 0.73813202, 2.50971524, 0. , 0.22841678, -0.22841678,
- -3.24784726],
- [ 0.79915951, 1.69178745, 0. , 1.10737205, -1.10737205,
- -2.49094696],
- [ 0.88435166, 0.54998993, 0. , 2.33436173, -2.33436173,
- -1.4343416 ],
- [ 0.96118486, -0.47977568, 0. , 3.44096054, -3.44096054,
- -0.48140918]]), 'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -2.50971524, -0.73813202, 0. , 0.22841678,
- -0.22841678, 3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.69178745, -0.79915951, 0. , 1.10737205,
- -1.10737205, 2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.54998993, -0.88435166, 0. , 2.33436173,
- -2.33436173, 1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47977568, -0.96118486, 0. , 3.44096054,
- -3.44096054, 0.48140918, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.52692501, 0.24465821, 0. , 0.22841678,
- -0.22841678, 1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.93803331, -0.04540536, 0. , 1.10737205,
- -1.10737205, 0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11596185, -0.45032358, 0. , 2.33436173,
- -2.33436173, 0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.62544886, -0.81551168, 0. , 3.44096054,
- -3.44096054, 0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.24465821, 1.52692501, 0. , 0.22841678,
- -0.22841678, -1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.04540536, 0.93803331, 0. , 1.10737205,
- -1.10737205, -0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.45032358, 0.11596185, 0. , 2.33436173,
- -2.33436173, -0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.81551168, -0.62544886, 0. , 3.44096054,
- -3.44096054, -0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.73813202, 2.50971524, 0. , 0.22841678,
- -0.22841678, -3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.79915951, 1.69178745, 0. , 1.10737205,
- -1.10737205, -2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.88435166, 0.54998993, 0. , 2.33436173,
- -2.33436173, -1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.96118486, -0.47977568, 0. , 3.44096054,
- -3.44096054, -0.48140918, 0. , 0. , 0. ]]), 'FE1_C1_D10': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -2.50971524, -0.73813202, 0. , 0.22841678,
- -0.22841678, 3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.69178745, -0.79915951, 0. , 1.10737205,
- -1.10737205, 2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.54998993, -0.88435166, 0. , 2.33436173,
- -2.33436173, 1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47977568, -0.96118486, 0. , 3.44096054,
- -3.44096054, 0.48140918, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.52692501, 0.24465821, 0. , 0.22841678,
- -0.22841678, 1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.93803331, -0.04540536, 0. , 1.10737205,
- -1.10737205, 0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11596185, -0.45032358, 0. , 2.33436173,
- -2.33436173, 0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.62544886, -0.81551168, 0. , 3.44096054,
- -3.44096054, 0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.24465821, 1.52692501, 0. , 0.22841678,
- -0.22841678, -1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.04540536, 0.93803331, 0. , 1.10737205,
- -1.10737205, -0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.45032358, 0.11596185, 0. , 2.33436173,
- -2.33436173, -0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.81551168, -0.62544886, 0. , 3.44096054,
- -3.44096054, -0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.73813202, 2.50971524, 0. , 0.22841678,
- -0.22841678, -3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.79915951, 1.69178745, 0. , 1.10737205,
- -1.10737205, -2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.88435166, 0.54998993, 0. , 2.33436173,
- -2.33436173, -1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.96118486, -0.47977568, 0. , 3.44096054,
- -3.44096054, -0.48140918, 0. , 0. , 0. ]]), 'FE1_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE2_C0_D01': array([[ -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.66233382, -0.05689514, -0.05058242, 0.01495376,
- 0.20041947, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.2327681 , -0.04516801, -0.12355891, 0.05560129,
- 0.74520255, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08718888, -0.02724027, 0.09756515, 0.06749126,
- 0.9045593 , 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09622691, -0.00951546, 0.61978605, 0.03339034,
- 0.44751784, 0.00504814, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.1664375 , -0.1175178 , -0.05058242, 0.07107521,
- 0.14429802, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01501169, -0.12474229, -0.12355891, 0.26427286,
- 0.53653098, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12331911, -0.09965108, 0.09756515, 0.3207859 ,
- 0.65126466, 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07610172, -0.04186759, 0.61978605, 0.15870426,
- 0.32220392, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.1175178 , 0.1664375 , -0.05058242, 0.14429802,
- 0.07107521, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12474229, -0.01501169, -0.12355891, 0.53653098,
- 0.26427286, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09965108, -0.12331911, 0.09756515, 0.65126466,
- 0.3207859 , 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04186759, -0.07610172, 0.61978605, 0.32220392,
- 0.15870426, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05689514, 0.66233382, -0.05058242, 0.20041947,
- 0.01495376, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04516801, 0.2327681 , -0.12355891, 0.74520255,
- 0.05560129, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02724027, -0.08718888, 0.09756515, 0.9045593 ,
- 0.06749126, 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00951546, -0.09622691, 0.61978605, 0.44751784,
- 0.03339034, 0.00504814, 0. , 0. , 0. ]]), 'FE2_C0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.87742881, 0.06546699, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.67294686, 0.05021012, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.38749748, 0.02891208, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.13005608, 0.00970379, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.63173125, 0.31116455, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48450833, 0.23864866, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.27899046, 0.1374191 , 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.09363778, 0.04612208, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31116455, 0.63173125, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23864866, 0.48450833, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.1374191 , 0.27899046, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04612208, 0.09363778, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06546699, 0.87742881, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05021012, 0.67294686, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02891208, 0.38749748, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00970379, 0.13005608, 0.86024014]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814]]), 'FE1_C0_D01': array([[ -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_D01': array([[ -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01],
- [ -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01],
- [ -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01],
- [ 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02],
- [ -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00],
- [ -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01],
- [ -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01],
- [ 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01],
- [ -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00],
- [ 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00],
- [ 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00],
- [ 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01],
- [ 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00],
- [ 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00],
- [ 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00],
- [ 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01]]), 'FE4_C0': array([[ 0.87742881, 0.06546699, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.67294686, 0.05021012, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.38749748, 0.02891208, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.13005608, 0.00970379, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.63173125, 0.31116455, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.48450833, 0.23864866, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.27899046, 0.1374191 , 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.09363778, 0.04612208, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.31116455, 0.63173125, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.23864866, 0.48450833, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.1374191 , 0.27899046, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.04612208, 0.09363778, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.06546699, 0.87742881, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.05021012, 0.67294686, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.02891208, 0.38749748, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.00970379, 0.13005608, 0.86024014, 0. , 0. ,
- 0. ]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1': array([[ 0. , 0. , 0. , 0.87742881, 0.06546699,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.67294686, 0.05021012,
- 0.27684301],
- [ 0. , 0. , 0. , 0.38749748, 0.02891208,
- 0.58359043],
- [ 0. , 0. , 0. , 0.13005608, 0.00970379,
- 0.86024014],
- [ 0. , 0. , 0. , 0.63173125, 0.31116455,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.48450833, 0.23864866,
- 0.27684301],
- [ 0. , 0. , 0. , 0.27899046, 0.1374191 ,
- 0.58359043],
- [ 0. , 0. , 0. , 0.09363778, 0.04612208,
- 0.86024014],
- [ 0. , 0. , 0. , 0.31116455, 0.63173125,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.23864866, 0.48450833,
- 0.27684301],
- [ 0. , 0. , 0. , 0.1374191 , 0.27899046,
- 0.58359043],
- [ 0. , 0. , 0. , 0.04612208, 0.09363778,
- 0.86024014],
- [ 0. , 0. , 0. , 0.06546699, 0.87742881,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.05021012, 0.67294686,
- 0.27684301],
- [ 0. , 0. , 0. , 0.02891208, 0.38749748,
- 0.58359043],
- [ 0. , 0. , 0. , 0.00970379, 0.13005608,
- 0.86024014]]), 'FE2_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D10': array([[-2.50971524, -0.73813202, 0. , 0.22841678, -0.22841678,
- 3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.69178745, -0.79915951, 0. , 1.10737205, -1.10737205,
- 2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.54998993, -0.88435166, 0. , 2.33436173, -2.33436173,
- 1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.47977568, -0.96118486, 0. , 3.44096054, -3.44096054,
- 0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.52692501, 0.24465821, 0. , 0.22841678, -0.22841678,
- 1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.93803331, -0.04540536, 0. , 1.10737205, -1.10737205,
- 0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11596185, -0.45032358, 0. , 2.33436173, -2.33436173,
- 0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.62544886, -0.81551168, 0. , 3.44096054, -3.44096054,
- 0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.24465821, 1.52692501, 0. , 0.22841678, -0.22841678,
- -1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.04540536, 0.93803331, 0. , 1.10737205, -1.10737205,
- -0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.45032358, 0.11596185, 0. , 2.33436173, -2.33436173,
- -0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.81551168, -0.62544886, 0. , 3.44096054, -3.44096054,
- -0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.73813202, 2.50971524, 0. , 0.22841678, -0.22841678,
- -3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.79915951, 1.69178745, 0. , 1.10737205, -1.10737205,
- -2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.88435166, 0.54998993, 0. , 2.33436173, -2.33436173,
- -1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.96118486, -0.47977568, 0. , 3.44096054, -3.44096054,
- -0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE2_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE1_C0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.66233382, -0.05689514, -0.05058242, 0.01495376,
- 0.20041947, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.2327681 , -0.04516801, -0.12355891, 0.05560129,
- 0.74520255, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08718888, -0.02724027, 0.09756515, 0.06749126,
- 0.9045593 , 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09622691, -0.00951546, 0.61978605, 0.03339034,
- 0.44751784, 0.00504814, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.1664375 , -0.1175178 , -0.05058242, 0.07107521,
- 0.14429802, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01501169, -0.12474229, -0.12355891, 0.26427286,
- 0.53653098, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12331911, -0.09965108, 0.09756515, 0.3207859 ,
- 0.65126466, 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07610172, -0.04186759, 0.61978605, 0.15870426,
- 0.32220392, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.1175178 , 0.1664375 , -0.05058242, 0.14429802,
- 0.07107521, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12474229, -0.01501169, -0.12355891, 0.53653098,
- 0.26427286, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09965108, -0.12331911, 0.09756515, 0.65126466,
- 0.3207859 , 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04186759, -0.07610172, 0.61978605, 0.32220392,
- 0.15870426, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05689514, 0.66233382, -0.05058242, 0.20041947,
- 0.01495376, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04516801, 0.2327681 , -0.12355891, 0.74520255,
- 0.05560129, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02724027, -0.08718888, 0.09756515, 0.9045593 ,
- 0.06749126, 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00951546, -0.09622691, 0.61978605, 0.44751784,
- 0.03339034, 0.00504814, 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.87742881, 0.06546699, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.67294686, 0.05021012, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.38749748, 0.02891208, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.13005608, 0.00970379, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.63173125, 0.31116455, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48450833, 0.23864866, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.27899046, 0.1374191 , 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.09363778, 0.04612208, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31116455, 0.63173125, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23864866, 0.48450833, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.1374191 , 0.27899046, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04612208, 0.09363778, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06546699, 0.87742881, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05021012, 0.67294686, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02891208, 0.38749748, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00970379, 0.13005608, 0.86024014]]), 'FE4_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_C0_D10': array([[-2.50971524, -0.73813202, 0. , 0.22841678, -0.22841678,
- 3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.69178745, -0.79915951, 0. , 1.10737205, -1.10737205,
- 2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.54998993, -0.88435166, 0. , 2.33436173, -2.33436173,
- 1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.47977568, -0.96118486, 0. , 3.44096054, -3.44096054,
- 0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.52692501, 0.24465821, 0. , 0.22841678, -0.22841678,
- 1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.93803331, -0.04540536, 0. , 1.10737205, -1.10737205,
- 0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11596185, -0.45032358, 0. , 2.33436173, -2.33436173,
- 0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.62544886, -0.81551168, 0. , 3.44096054, -3.44096054,
- 0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.24465821, 1.52692501, 0. , 0.22841678, -0.22841678,
- -1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.04540536, 0.93803331, 0. , 1.10737205, -1.10737205,
- -0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.45032358, 0.11596185, 0. , 2.33436173, -2.33436173,
- -0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.81551168, -0.62544886, 0. , 3.44096054, -3.44096054,
- -0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.73813202, 2.50971524, 0. , 0.22841678, -0.22841678,
- -3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.79915951, 1.69178745, 0. , 1.10737205, -1.10737205,
- -2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.88435166, 0.54998993, 0. , 2.33436173, -2.33436173,
- -1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.96118486, -0.47977568, 0. , 3.44096054, -3.44096054,
- -0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE4_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[-2.50971524, -0.73813202, 0. , 0.22841678, -0.22841678,
- 3.24784726],
- [-1.69178745, -0.79915951, 0. , 1.10737205, -1.10737205,
- 2.49094696],
- [-0.54998993, -0.88435166, 0. , 2.33436173, -2.33436173,
- 1.4343416 ],
- [ 0.47977568, -0.96118486, 0. , 3.44096054, -3.44096054,
- 0.48140918],
- [-1.52692501, 0.24465821, 0. , 0.22841678, -0.22841678,
- 1.2822668 ],
- [-0.93803331, -0.04540536, 0. , 1.10737205, -1.10737205,
- 0.98343867],
- [-0.11596185, -0.45032358, 0. , 2.33436173, -2.33436173,
- 0.56628544],
- [ 0.62544886, -0.81551168, 0. , 3.44096054, -3.44096054,
- 0.19006282],
- [-0.24465821, 1.52692501, 0. , 0.22841678, -0.22841678,
- -1.2822668 ],
- [ 0.04540536, 0.93803331, 0. , 1.10737205, -1.10737205,
- -0.98343867],
- [ 0.45032358, 0.11596185, 0. , 2.33436173, -2.33436173,
- -0.56628544],
- [ 0.81551168, -0.62544886, 0. , 3.44096054, -3.44096054,
- -0.19006282],
- [ 0.73813202, 2.50971524, 0. , 0.22841678, -0.22841678,
- -3.24784726],
- [ 0.79915951, 1.69178745, 0. , 1.10737205, -1.10737205,
- -2.49094696],
- [ 0.88435166, 0.54998993, 0. , 2.33436173, -2.33436173,
- -1.4343416 ],
- [ 0.96118486, -0.47977568, 0. , 3.44096054, -3.44096054,
- -0.48140918]]), 'FE1_C1_D10': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -2.50971524, -0.73813202, 0. , 0.22841678,
- -0.22841678, 3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.69178745, -0.79915951, 0. , 1.10737205,
- -1.10737205, 2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.54998993, -0.88435166, 0. , 2.33436173,
- -2.33436173, 1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47977568, -0.96118486, 0. , 3.44096054,
- -3.44096054, 0.48140918, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -1.52692501, 0.24465821, 0. , 0.22841678,
- -0.22841678, 1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.93803331, -0.04540536, 0. , 1.10737205,
- -1.10737205, 0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11596185, -0.45032358, 0. , 2.33436173,
- -2.33436173, 0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.62544886, -0.81551168, 0. , 3.44096054,
- -3.44096054, 0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.24465821, 1.52692501, 0. , 0.22841678,
- -0.22841678, -1.2822668 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.04540536, 0.93803331, 0. , 1.10737205,
- -1.10737205, -0.98343867, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.45032358, 0.11596185, 0. , 2.33436173,
- -2.33436173, -0.56628544, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.81551168, -0.62544886, 0. , 3.44096054,
- -3.44096054, -0.19006282, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.73813202, 2.50971524, 0. , 0.22841678,
- -0.22841678, -3.24784726, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.79915951, 1.69178745, 0. , 1.10737205,
- -1.10737205, -2.49094696, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.88435166, 0.54998993, 0. , 2.33436173,
- -2.33436173, -1.4343416 , 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.96118486, -0.47977568, 0. , 3.44096054,
- -3.44096054, -0.48140918, 0. , 0. , 0. ]]), 'FE1_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE4_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814]]), 'FE1_C0_D01': array([[ -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_D01': array([[ -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01],
- [ -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01],
- [ -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01],
- [ 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02],
- [ -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00],
- [ -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01],
- [ -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01],
- [ 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01],
- [ -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00],
- [ 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00],
- [ 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00],
- [ 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01],
- [ 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00],
- [ 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00],
- [ 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00],
- [ 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01]]), 'FE4_C0': array([[ 0.87742881, 0.06546699, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.67294686, 0.05021012, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.38749748, 0.02891208, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.13005608, 0.00970379, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.63173125, 0.31116455, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.48450833, 0.23864866, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.27899046, 0.1374191 , 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.09363778, 0.04612208, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.31116455, 0.63173125, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.23864866, 0.48450833, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.1374191 , 0.27899046, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.04612208, 0.09363778, 0.86024014, 0. , 0. ,
- 0. ],
- [ 0.06546699, 0.87742881, 0.0571042 , 0. , 0. ,
- 0. ],
- [ 0.05021012, 0.67294686, 0.27684301, 0. , 0. ,
- 0. ],
- [ 0.02891208, 0.38749748, 0.58359043, 0. , 0. ,
- 0. ],
- [ 0.00970379, 0.13005608, 0.86024014, 0. , 0. ,
- 0. ]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.50971524e+00, 5.05151476e-15, -7.71583216e-01,
- 2.61867978e-01, 3.28129845e+00, -2.61867978e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.69178745e+00, 6.07847106e-15, 1.07372055e-01,
- 2.00840493e-01, 1.58441540e+00, -2.00840493e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -5.49989934e-01, 6.85562718e-15, 1.33436173e+00,
- 1.15648337e-01, -7.84371796e-01, -1.15648337e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.79775683e-01, 6.88338275e-15, 2.44096054e+00,
- 3.88151405e-02, -2.92073623e+00, -3.88151405e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.52692501e+00, 5.88418203e-15, -7.71583216e-01,
- 1.24465821e+00, 2.29850822e+00, -1.24465821e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.38033307e-01, 6.85562718e-15, 1.07372055e-01,
- 9.54594639e-01, 8.30661252e-01, -9.54594639e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.15961854e-01, 7.27196081e-15, 1.33436173e+00,
- 5.49676417e-01, -1.21839988e+00, -5.49676417e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.25448862e-01, 6.99440506e-15, 2.44096054e+00,
- 1.84488320e-01, -3.06640940e+00, -1.84488320e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.44658209e-01, 7.16093851e-15, -7.71583216e-01,
- 2.52692501e+00, 1.01624142e+00, -2.52692501e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.54053611e-02, 7.85482790e-15, 1.07372055e-01,
- 1.93803331e+00, -1.52777416e-01, -1.93803331e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.50323583e-01, 7.85482790e-15, 1.33436173e+00,
- 1.11596185e+00, -1.78468531e+00, -1.11596185e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.15511680e-01, 7.32747196e-15, 2.44096054e+00,
- 3.74551138e-01, -3.25647222e+00, -3.74551138e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.38132022e-01, 7.93809463e-15, -7.71583216e-01,
- 3.50971524e+00, 3.34511938e-02, -3.50971524e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.99159507e-01, 8.52096171e-15, 1.07372055e-01,
- 2.69178745e+00, -9.06531562e-01, -2.69178745e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.84351663e-01, 8.35442826e-15, 1.33436173e+00,
- 1.54998993e+00, -2.21871339e+00, -1.54998993e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.61184859e-01, 7.54951657e-15, 2.44096054e+00,
- 5.20224317e-01, -3.40214540e+00, -5.20224317e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE4_C1': array([[ 0. , 0. , 0. , 0.87742881, 0.06546699,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.67294686, 0.05021012,
- 0.27684301],
- [ 0. , 0. , 0. , 0.38749748, 0.02891208,
- 0.58359043],
- [ 0. , 0. , 0. , 0.13005608, 0.00970379,
- 0.86024014],
- [ 0. , 0. , 0. , 0.63173125, 0.31116455,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.48450833, 0.23864866,
- 0.27684301],
- [ 0. , 0. , 0. , 0.27899046, 0.1374191 ,
- 0.58359043],
- [ 0. , 0. , 0. , 0.09363778, 0.04612208,
- 0.86024014],
- [ 0. , 0. , 0. , 0.31116455, 0.63173125,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.23864866, 0.48450833,
- 0.27684301],
- [ 0. , 0. , 0. , 0.1374191 , 0.27899046,
- 0.58359043],
- [ 0. , 0. , 0. , 0.04612208, 0.09363778,
- 0.86024014],
- [ 0. , 0. , 0. , 0.06546699, 0.87742881,
- 0.0571042 ],
- [ 0. , 0. , 0. , 0.05021012, 0.67294686,
- 0.27684301],
- [ 0. , 0. , 0. , 0.02891208, 0.38749748,
- 0.58359043],
- [ 0. , 0. , 0. , 0.00970379, 0.13005608,
- 0.86024014]]), 'FE1_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.66233382, -0.05689514, -0.05058242, 0.01495376,
- 0.20041947, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.2327681 , -0.04516801, -0.12355891, 0.05560129,
- 0.74520255, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08718888, -0.02724027, 0.09756515, 0.06749126,
- 0.9045593 , 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09622691, -0.00951546, 0.61978605, 0.03339034,
- 0.44751784, 0.00504814, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.1664375 , -0.1175178 , -0.05058242, 0.07107521,
- 0.14429802, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01501169, -0.12474229, -0.12355891, 0.26427286,
- 0.53653098, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12331911, -0.09965108, 0.09756515, 0.3207859 ,
- 0.65126466, 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07610172, -0.04186759, 0.61978605, 0.15870426,
- 0.32220392, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.1175178 , 0.1664375 , -0.05058242, 0.14429802,
- 0.07107521, 0.78628949, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12474229, -0.01501169, -0.12355891, 0.53653098,
- 0.26427286, 0.46250905, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09965108, -0.12331911, 0.09756515, 0.65126466,
- 0.3207859 , 0.15335448, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04186759, -0.07610172, 0.61978605, 0.32220392,
- 0.15870426, 0.01727508, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05689514, 0.66233382, -0.05058242, 0.20041947,
- 0.01495376, 0.22977051, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04516801, 0.2327681 , -0.12355891, 0.74520255,
- 0.05560129, 0.13515498, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02724027, -0.08718888, 0.09756515, 0.9045593 ,
- 0.06749126, 0.04481344, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00951546, -0.09622691, 0.61978605, 0.44751784,
- 0.03339034, 0.00504814, 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.87742881, 0.06546699, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.67294686, 0.05021012, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.38749748, 0.02891208, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.13005608, 0.00970379, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.63173125, 0.31116455, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.48450833, 0.23864866, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.27899046, 0.1374191 , 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.09363778, 0.04612208, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.31116455, 0.63173125, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.23864866, 0.48450833, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.1374191 , 0.27899046, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.04612208, 0.09363778, 0.86024014],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.06546699, 0.87742881, 0.0571042 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05021012, 0.67294686, 0.27684301],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.02891208, 0.38749748, 0.58359043],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.00970379, 0.13005608, 0.86024014]]), 'FE4_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_C0_D10': array([[-2.50971524, -0.73813202, 0. , 0.22841678, -0.22841678,
- 3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.69178745, -0.79915951, 0. , 1.10737205, -1.10737205,
- 2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.54998993, -0.88435166, 0. , 2.33436173, -2.33436173,
- 1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.47977568, -0.96118486, 0. , 3.44096054, -3.44096054,
- 0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-1.52692501, 0.24465821, 0. , 0.22841678, -0.22841678,
- 1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.93803331, -0.04540536, 0. , 1.10737205, -1.10737205,
- 0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.11596185, -0.45032358, 0. , 2.33436173, -2.33436173,
- 0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.62544886, -0.81551168, 0. , 3.44096054, -3.44096054,
- 0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.24465821, 1.52692501, 0. , 0.22841678, -0.22841678,
- -1.2822668 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.04540536, 0.93803331, 0. , 1.10737205, -1.10737205,
- -0.98343867, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.45032358, 0.11596185, 0. , 2.33436173, -2.33436173,
- -0.56628544, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.81551168, -0.62544886, 0. , 3.44096054, -3.44096054,
- -0.19006282, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.73813202, 2.50971524, 0. , 0.22841678, -0.22841678,
- -3.24784726, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.79915951, 1.69178745, 0. , 1.10737205, -1.10737205,
- -2.49094696, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.88435166, 0.54998993, 0. , 2.33436173, -2.33436173,
- -1.4343416 , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.96118486, -0.47977568, 0. , 3.44096054, -3.44096054,
- -0.48140918, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]]), 'FE4_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {'FE1_C0': ['FE2_C0'], 'FE1_C1_D01': ['FE2_C1_D01'], 'FE1_C2': ['FE2_C2'], 'FE1_C1_D10': ['FE2_C1_D10'], 'FE1_C2_D10': ['FE2_C2_D10'], 'FE1_C2_D01': ['FE2_C2_D01'], 'FE1_C1': ['FE2_C1'], 'FE1_C0_D01': ['FE2_C0_D01'], 'FE1_C0_D10': ['FE2_C0_D10']}
-
- inv_name_map: {'FE2_C1_D01': 'FE1_C1_D01', 'FE0_D10': 'FE0_D10', 'FE4_C1': 'FE4_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE1_C2_D10': 'FE1_C2_D10', 'FE2_C0_D01': 'FE1_C0_D01', 'FE4_C1_D01': 'FE4_C1_D01', 'FE2_C1': 'FE1_C1', 'FE2_C0': 'FE1_C0', 'FE2_C2': 'FE1_C2', 'FE0_D01': 'FE0_D01', 'FE3': 'FE3', 'FE0': 'FE0', 'FE1_C0_D01': 'FE1_C0_D01', 'FE4_C0_D01': 'FE4_C0_D01', 'FE2_C1_D10': 'FE1_C1_D10', 'FE4_C0': 'FE4_C0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE2_C2_D10': 'FE1_C2_D10', 'FE1_C2_D01': 'FE1_C2_D [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([[-2.50971524, -0.73813202, 0.22841678, -0.22841678, 3.24784726],
- [-1.69178745, -0.79915951, 1.10737205, -1.10737205, 2.49094696],
- [-0.54998993, -0.88435166, 2.33436173, -2.33436173, 1.4343416 ],
- [ 0.47977568, -0.96118486, 3.44096054, -3.44096054, 0.48140918],
- [-1.52692501, 0.24465821, 0.22841678, -0.22841678, 1.2822668 ],
- [-0.93803331, -0.04540536, 1.10737205, -1.10737205, 0.98343867],
- [-0.11596185, -0.45032358, 2.33436173, -2.33436173, 0.56628544],
- [ 0.62544886, -0.81551168, 3.44096054, -3.44096054, 0.19006282],
- [-0.24465821, 1.52692501, 0.22841678, -0.22841678, -1.2822668 ],
- [ 0.04540536, 0.93803331, 1.10737205, -1.10737205, -0.98343867],
- [ 0.45032358, 0.11596185, 2.33436173, -2.33436173, -0.56628544],
- [ 0.81551168, -0.62544886, 3.44096054, -3.44096054, -0.19006282],
- [ 0.73813202, 2.50971524, 0.22841678, -0.22841678, -3.24784726],
- [ 0.79915951, 1.69178745, 1.10737205, -1.10737205, -2.49094696],
- [ 0.88435166, 0.54998993, 2.33436173, -2.33436173, -1.4343416 ],
- [ 0.96118486, -0.47977568, 3.44096054, -3.44096054, -0.48140918]]), 'FE3': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0': array([[ 0.66233382, -0.05689514, -0.05058242, 0.01495376, 0.20041947,
- 0.22977051],
- [ 0.2327681 , -0.04516801, -0.12355891, 0.05560129, 0.74520255,
- 0.13515498],
- [-0.08718888, -0.02724027, 0.09756515, 0.06749126, 0.9045593 ,
- 0.04481344],
- [-0.09622691, -0.00951546, 0.61978605, 0.03339034, 0.44751784,
- 0.00504814],
- [ 0.1664375 , -0.1175178 , -0.05058242, 0.07107521, 0.14429802,
- 0.78628949],
- [-0.01501169, -0.12474229, -0.12355891, 0.26427286, 0.53653098,
- 0.46250905],
- [-0.12331911, -0.09965108, 0.09756515, 0.3207859 , 0.65126466,
- 0.15335448],
- [-0.07610172, -0.04186759, 0.61978605, 0.15870426, 0.32220392,
- 0.01727508],
- [-0.1175178 , 0.1664375 , -0.05058242, 0.14429802, 0.07107521,
- 0.78628949],
- [-0.12474229, -0.01501169, -0.12355891, 0.53653098, 0.26427286,
- 0.46250905],
- [-0.09965108, -0.12331911, 0.09756515, 0.65126466, 0.3207859 ,
- 0.15335448],
- [-0.04186759, -0.07610172, 0.61978605, 0.32220392, 0.15870426,
- 0.01727508],
- [-0.05689514, 0.66233382, -0.05058242, 0.20041947, 0.01495376,
- 0.22977051],
- [-0.04516801, 0.2327681 , -0.12355891, 0.74520255, 0.05560129,
- 0.13515498],
- [-0.02724027, -0.08718888, 0.09756515, 0.9045593 , 0.06749126,
- 0.04481344],
- [-0.00951546, -0.09622691, 0.61978605, 0.44751784, 0.03339034,
- 0.00504814]]), 'FE0_D01': array([[-2.50971524, -0.77158322, 0.26186798, 3.28129845, -0.26186798],
- [-1.69178745, 0.10737205, 0.20084049, 1.5844154 , -0.20084049],
- [-0.54998993, 1.33436173, 0.11564834, -0.7843718 , -0.11564834],
- [ 0.47977568, 2.44096054, 0.03881514, -2.92073623, -0.03881514],
- [-1.52692501, -0.77158322, 1.24465821, 2.29850822, -1.24465821],
- [-0.93803331, 0.10737205, 0.95459464, 0.83066125, -0.95459464],
- [-0.11596185, 1.33436173, 0.54967642, -1.21839988, -0.54967642],
- [ 0.62544886, 2.44096054, 0.18448832, -3.0664094 , -0.18448832],
- [-0.24465821, -0.77158322, 2.52692501, 1.01624142, -2.52692501],
- [ 0.04540536, 0.10737205, 1.93803331, -0.15277742, -1.93803331],
- [ 0.45032358, 1.33436173, 1.11596185, -1.78468531, -1.11596185],
- [ 0.81551168, 2.44096054, 0.37455114, -3.25647222, -0.37455114],
- [ 0.73813202, -0.77158322, 3.50971524, 0.03345119, -3.50971524],
- [ 0.79915951, 0.10737205, 2.69178745, -0.90653156, -2.69178745],
- [ 0.88435166, 1.33436173, 1.54998993, -2.21871339, -1.54998993],
- [ 0.96118486, 2.44096054, 0.52022432, -3.4021454 , -0.52022432]]), 'FE1_C2_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1_C2': array([[ 0.87742881, 0.06546699, 0.0571042 ],
- [ 0.67294686, 0.05021012, 0.27684301],
- [ 0.38749748, 0.02891208, 0.58359043],
- [ 0.13005608, 0.00970379, 0.86024014],
- [ 0.63173125, 0.31116455, 0.0571042 ],
- [ 0.48450833, 0.23864866, 0.27684301],
- [ 0.27899046, 0.1374191 , 0.58359043],
- [ 0.09363778, 0.04612208, 0.86024014],
- [ 0.31116455, 0.63173125, 0.0571042 ],
- [ 0.23864866, 0.48450833, 0.27684301],
- [ 0.1374191 , 0.27899046, 0.58359043],
- [ 0.04612208, 0.09363778, 0.86024014],
- [ 0.06546699, 0.87742881, 0.0571042 ],
- [ 0.05021012, 0.67294686, 0.27684301],
- [ 0.02891208, 0.38749748, 0.58359043],
- [ 0.00970379, 0.13005608, 0.86024014]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE0_D01', (6, [6, 8, 9, 10, 11]), False, False), 'FE0_D10': ('FE0_D10', (1, [0, 1, 3, 4, 5]), False, False), 'FE4_C1': ('FE1_C2', (14, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE0_D10', (7, [6, 7, 9, 10, 11]), False, False), 'FE1_C2_D10': ('FE1_C2_D01', (10, [12, 13]), False, False), 'FE2_C0_D01': ('FE0_D01', (3, [0, 2, 3, 4, 5]), False, False), 'FE4_C1_D01': ('FE1_C2_D01', (15, [3, 5]), False, False), 'FE2_C1': ('FE0', (5, [6, 7, 8, 9, 10, 11]), False, False), 'FE2_ [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {FiniteElement('Discontinuous Lagrange', triangle, 2): {None: {0: {(0, 0): array([[ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]])}, 1: {(0, 0): array([[ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]])}, 2: {(0, 0): array([[ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]])}}}, MixedElement(VectorElement(FiniteElement('Discontinuous Lagrange', triangle, 2), dim=2), FiniteElement('Discontinuous Lagrange', triangle, 1)): {None: {0: {(0, 0): array([[[ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 0): array([[[ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 0): array([[[ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 1: {(0, 0): array([[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 2: {(0, 0): array([[ 0.88729833, 0.5 , 0.11270167],
- [ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.88729833, 0.5 , 0.11270167],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.88729833, 0.5 , 0.11270167]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11270167, 0.5 , 0.88729833]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE3_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE1_f0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE3_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE3_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE3_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.88729833, 0.11270167, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.5 , 0.5 , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.11270167, 0.88729833, 0. ]]), 'FE3_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE3_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE3_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]])}
-
- tables: {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE2_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE3_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE1_f0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE3_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE3_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE1_f2': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.88729833, 0.11270167, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.5 , 0.5 , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.11270167, 0.88729833, 0. ]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE3_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]])}
-
- name_map: {'FE3_f0_C1_D10': ['FE3_f1_C1_D10', 'FE3_f2_C1_D10'], 'FE3_f0_C0_D01': ['FE3_f1_C0_D01', 'FE3_f2_C0_D01'], 'FE3_f0_C1_D01': ['FE3_f1_C1_D01', 'FE3_f2_C1_D01'], 'FE3_f0_C0_D10': ['FE3_f1_C0_D10', 'FE3_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f1', 'FE0_f2': 'FE0_f2', 'FE3_f2_C0_D10': 'FE3_f0_C0_D10', 'FE3_f1_C0_D01': 'FE3_f0_C0_D01', 'FE2_f2_C0': 'FE2_f2_C0', 'FE2_f0_C2': 'FE2_f0_C2', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0': 'FE2_f0_C0', 'FE3_f1_C1': 'FE3_f1_C1', 'FE3_f1_C0': 'FE3_f1_C0', 'FE2_f2_C2': 'FE2_f2_C2', 'FE3_f1_C1_D01': 'FE3_f0_C1_D01', 'FE3_f0_C1_D10': 'FE3_f0_C1_D10', 'FE1_f1': 'FE1_f1', 'FE1_f0': 'FE1_f0', 'FE3_f2_C0': 'FE3_f2_C0', 'FE3_f2_C1': 'FE3_f2_C1', 'FE2_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.88729833, 0.11270167],
- [ 0.5 , 0.5 ],
- [ 0.11270167, 0.88729833]]), 'FE1_f0': array([[ 0.68729833, -0.08729833, 0.4 ],
- [ 0. , 0. , 1. ],
- [-0.08729833, 0.68729833, 0.4 ]]), 'FE3_f0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE0_f1': ('FE0_f0', (1, [0, 2]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE3_f2_C0_D10': ('FE3_f0_C0_D01', (17, [0, 1]), False, False), 'FE3_f1_C0_D01': ('FE3_f0_C0_D01', (16, [0, 2]), False, False), 'FE2_f2_C0': ('FE1_f0', (12, [0, 1, 5]), False, False), 'FE2_f0_C2': ('FE0_f0', (8, [13, 14]), False, False), 'FE2_f0_C1': ('FE1_f0', (7, [7, 8, 9]), False, False), 'FE2_f0_C0': ('FE1_f0', (6, [1, 2, 3]), False, Fa [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00209 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00219 seconds
- Shape of reference tensor: (1, 15, 26)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00242 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00244 seconds
- Shape of reference tensor: (1, 15, 26)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00229 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00248 seconds
- Shape of reference tensor: (1, 15, 26)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00255 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00269 seconds
- Shape of reference tensor: (1, 15, 26)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 26] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [0, 15], [0, 16], [0, 17], [0, 18], [0, 19], [0, 20], [0, 21], [0, 22], [0, 23], [0, 24], [0, 25], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18], [1, 19], [1, 20], [1, 21], [1, 22], [1, 23], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00393 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00378 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00407 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00406 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00352 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00371 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00409 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.0047 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00375 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0034 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00364 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00366 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00338 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00349 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00381 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00386 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00353 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00353 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00388 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00379 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00358 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00355 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00383 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00379 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00355 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00352 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00384 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00375 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00344 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00341 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00341 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00339 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00368 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00372 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00343 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00342 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00381 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00381 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00343 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00343 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.0037 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00341 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00346 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00371 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00367 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00347 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00342 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00366 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0034 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0033 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00363 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00366 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0034 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00343 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00379 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00367 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00342 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00348 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00367 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00342 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.00352 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00382 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00368 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0034 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 225 entries computed in 0.0034 seconds
- Shape of reference tensor: (1, 15, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00369 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- 390 entries computed in 0.00368 seconds
- Shape of reference tensor: (1, 26, 15)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 2 dims = [26, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.0015 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00139 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.0014 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 900 entries computed in 0.00142 seconds
- Shape of reference tensor: (15, 15, 1, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [1, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00112 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0011 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00112 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0011 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00159 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00157 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00145 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00152 seconds
- Shape of reference tensor: (15, 15, 2, 15)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00154 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00154 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.00154 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 6750 entries computed in 0.0016 seconds
- Shape of reference tensor: (15, 15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [15, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1], [6, 0], [6, 1], [7, 0], [7, 1], [8, 0], [8, 1], [9, 0], [9, 1], [10, 0], [10, 1], [11, 0], [11, 1], [12, 0], [12, 1], [13, 0], [13, 1], [14, 0], [14, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {7: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): array([[[ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 7.45237205e-15, 8.21565038e-15, 7.21644966e-15,
- 5.71764858e-15, 6.68909372e-15, 6.66133815e-15,
- 8.34055047e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.33333333e-01, -5.94853971e-01, 2.18970794e+00,
- -5.94853971e-01, 8.80568256e-01, -7.61136513e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.33333333e+00, 3.18970794e+00, 4.05146029e-01,
- 4.05146029e-01, 2.38863487e-01, 1.88056826e+00,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 9.43689571e-15, 1.15463195e-14, -2.78456191e+00,
- 2.78456191e+00, 8.49320614e-15, 1.64170477e+00,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.33333333e+00, -3.18970794e+00, -4.05146029e-01,
- -4.05146029e-01, -2.38863487e-01, -1.88056826e+00,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 7.45237205e-15, 8.21565038e-15, 7.21644966e-15,
- 5.71764858e-15, 6.68909372e-15, 6.66133815e-15,
- 8.34055047e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.33333333e-01, -5.94853971e-01, 2.18970794e+00,
- -5.94853971e-01, 8.80568256e-01, -7.61136513e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.33333333e+00, 3.18970794e+00, 4.05146029e-01,
- 4.05146029e-01, 2.38863487e-01, 1.88056826e+00,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 9.43689571e-15, 1.15463195e-14, -2.78456191e+00,
- 2.78456191e+00, 8.49320614e-15, 1.64170477e+00,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.33333333e+00, -3.18970794e+00, -4.05146029e-01,
- -4.05146029e-01, -2.38863487e-01, -1.88056826e+00,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.33333333e-01, 2.18970794e+00, -5.94853971e-01,
- -5.94853971e-01, -7.61136513e-01, 8.80568256e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.33333333e+00, 4.05146029e-01, 3.18970794e+00,
- 4.05146029e-01, 1.88056826e+00, 2.38863487e-01,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.33333333e+00, -4.05146029e-01, -3.18970794e+00,
- -4.05146029e-01, -1.88056826e+00, -2.38863487e-01,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -2.43306259e-16, -2.78456191e+00, 5.34053683e-16,
- 2.78456191e+00, 1.64170477e+00, 4.42833521e-17,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -3.33333333e-01, 5.94853971e-01, 5.94853971e-01,
- -2.18970794e+00, -8.80568256e-01, -8.80568256e-01,
- 7.61136513e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.33333333e-01, 2.18970794e+00, -5.94853971e-01,
- -5.94853971e-01, -7.61136513e-01, 8.80568256e-01,
- 8.80568256e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.33333333e+00, 4.05146029e-01, 3.18970794e+00,
- 4.05146029e-01, 1.88056826e+00, 2.38863487e-01,
- 1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.33333333e+00, -4.05146029e-01, -3.18970794e+00,
- -4.05146029e-01, -1.88056826e+00, -2.38863487e-01,
- -1.88056826e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.43306259e-16, -2.78456191e+00, 5.34053683e-16,
- 2.78456191e+00, 1.64170477e+00, 4.42833521e-17,
- -1.64170477e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]]]), (0, 0): array([[[-0.11111111, -0.08076859, -0.08076859, 0.47435261, -0.02807494,
- -0.02807494, -0.0525839 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.11111111, 0.47435261, -0.08076859, -0.08076859, -0.0525839 ,
- -0.02807494, -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[-0.11111111, -0.08076859, 0.47435261, -0.08076859, -0.02807494,
- -0.0525839 , -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.32307438, 0.32307438, 0.04103583, 0.11229977,
- 0.11229977, 0.88413424],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.04103583, 0.32307438, 0.32307438, 0.88413424,
- 0.11229977, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.44444444, 0.32307438, 0.04103583, 0.32307438, 0.11229977,
- 0.88413424, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.08076859, -0.08076859, 0.47435261, -0.02807494,
- -0.02807494, -0.0525839 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, 0.47435261, -0.08076859, -0.08076859, -0.0525839 ,
- -0.02807494, -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11111111, -0.08076859, 0.47435261, -0.08076859, -0.02807494,
- -0.0525839 , -0.02807494],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.32307438, 0.32307438, 0.04103583, 0.11229977,
- 0.11229977, 0.88413424],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.04103583, 0.32307438, 0.32307438, 0.88413424,
- 0.11229977, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.44444444, 0.32307438, 0.04103583, 0.32307438, 0.11229977,
- 0.88413424, 0.11229977],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.10128651, 0.79742699, 0.47014206,
- 0.47014206, 0.05971587]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.79742699, 0.10128651, 0.10128651, 0.05971587,
- 0.47014206, 0.47014206]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.33333333, 0.10128651, 0.79742699, 0.10128651, 0.47014206,
- 0.05971587, 0.47014206]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1., 1., 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE0_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE0_C0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.33333333, 0.33333333, 0.33333333],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.10128651, 0.79742699, 0.10128651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.10128651, 0.10128651, 0.79742699],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.79742699, 0.10128651, 0.10128651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.47014206, 0.05971587, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.47014206, 0.47014206, 0.05971587],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05971587, 0.47014206, 0.47014206]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, -0.11111111, 0.44444444,
- 0.44444444, 0.44444444, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, 0.47435261, -0.08076859, 0.32307438,
- 0.04103583, 0.32307438, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, -0.08076859, 0.47435261, 0.32307438,
- 0.32307438, 0.04103583, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47435261, -0.08076859, -0.08076859, 0.04103583,
- 0.32307438, 0.32307438, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.0525839 , -0.02807494, 0.11229977,
- 0.88413424, 0.11229977, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.02807494, -0.0525839 , 0.11229977,
- 0.11229977, 0.88413424, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.0525839 , -0.02807494, -0.02807494, 0.88413424,
- 0.11229977, 0.11229977, 0. , 0. , 0. ]]), 'FE0_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]])}
-
- tables: {'FE2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.79742699, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.10128651, 0.10128651, 0.79742699, 0. , 0. ,
- 0. ],
- [ 0.79742699, 0.10128651, 0.10128651, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.05971587, 0.47014206, 0. , 0. ,
- 0. ],
- [ 0.47014206, 0.47014206, 0.05971587, 0. , 0. ,
- 0. ],
- [ 0.05971587, 0.47014206, 0.47014206, 0. , 0. ,
- 0. ]]), 'FE2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D10': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.,
- 1., 0.]]), 'FE0_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333],
- [ 0. , 0. , 0. , 0.10128651, 0.79742699,
- 0.10128651],
- [ 0. , 0. , 0. , 0.10128651, 0.10128651,
- 0.79742699],
- [ 0. , 0. , 0. , 0.79742699, 0.10128651,
- 0.10128651],
- [ 0. , 0. , 0. , 0.47014206, 0.05971587,
- 0.47014206],
- [ 0. , 0. , 0. , 0.47014206, 0.47014206,
- 0.05971587],
- [ 0. , 0. , 0. , 0.05971587, 0.47014206,
- 0.47014206]]), 'FE0_C0_D10': array([[ -3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
- 1.33333333e+00, -1.33333333e+00, -2.43306259e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 2.18970794e+00, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, -2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, -5.94853971e-01, 0.00000000e+00,
- 3.18970794e+00, -3.18970794e+00, 5.34053683e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, -5.94853971e-01, 0.00000000e+00,
- 4.05146029e-01, -4.05146029e-01, 2.78456191e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, -7.61136513e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, 1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 8.80568256e-01, 0.00000000e+00,
- 2.38863487e-01, -2.38863487e-01, 4.42833521e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.80568256e-01, 0.00000000e+00,
- 1.88056826e+00, -1.88056826e+00, -1.64170477e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D01': array([[ -3.33333333e-01, 7.45237205e-15, 3.33333333e-01,
- 1.33333333e+00, 9.43689571e-15, -1.33333333e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 8.21565038e-15, -5.94853971e-01,
- 3.18970794e+00, 1.15463195e-14, -3.18970794e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.94853971e-01, 7.21644966e-15, 2.18970794e+00,
- 4.05146029e-01, -2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.18970794e+00, 5.71764858e-15, -5.94853971e-01,
- 4.05146029e-01, 2.78456191e+00, -4.05146029e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.68909372e-15, 8.80568256e-01,
- 2.38863487e-01, 8.49320614e-15, -2.38863487e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.80568256e-01, 6.66133815e-15, -7.61136513e-01,
- 1.88056826e+00, 1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.61136513e-01, 8.34055047e-15, 8.80568256e-01,
- 1.88056826e+00, -1.64170477e+00, -1.88056826e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.33333333, 0.33333333, 0.33333333],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.10128651, 0.79742699, 0.10128651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.10128651, 0.10128651, 0.79742699],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.79742699, 0.10128651, 0.10128651],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.47014206, 0.05971587, 0.47014206],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.47014206, 0.47014206, 0.05971587],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.05971587, 0.47014206, 0.47014206]]), 'FE0_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11111111, -0.11111111, -0.11111111, 0.44444444,
- 0.44444444, 0.44444444, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, 0.47435261, -0.08076859, 0.32307438,
- 0.04103583, 0.32307438, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.08076859, -0.08076859, 0.47435261, 0.32307438,
- 0.32307438, 0.04103583, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.47435261, -0.08076859, -0.08076859, 0.04103583,
- 0.32307438, 0.32307438, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.0525839 , -0.02807494, 0.11229977,
- 0.88413424, 0.11229977, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02807494, -0.02807494, -0.0525839 , 0.11229977,
- 0.11229977, 0.88413424, 0. , 0. , 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.0525839 , -0.02807494, -0.02807494, 0.88413424,
- 0.11229977, 0.11229977, 0. , 0. , 0. ]]), 'FE0_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977, 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]])}
-
- name_map: {}
-
- inv_name_map: {'FE2_C1_D01': 'FE2_C1_D01', 'FE0_C1_D01': 'FE0_C1_D01', 'FE1': 'FE1', 'FE2_C0_D01': 'FE2_C0_D01', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C2_D10': 'FE0_C2_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE2_C1_D10': 'FE2_C1_D10', 'FE2_C1': 'FE2_C1', 'FE2_C0': 'FE2_C0', 'FE0_C0_D01': 'FE0_C0_D01', 'FE0_C2_D01': 'FE0_C2_D01', 'FE2_C0_D10': 'FE2_C0_D10', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C0_D10': array([[-0.33333333, 0.33333333, 1.33333333, -1.33333333, 0. ],
- [ 0.59485397, 2.18970794, 0.40514603, -0.40514603, -2.78456191],
- [ 0.59485397, -0.59485397, 3.18970794, -3.18970794, 0. ],
- [-2.18970794, -0.59485397, 0.40514603, -0.40514603, 2.78456191],
- [-0.88056826, -0.76113651, 1.88056826, -1.88056826, 1.64170477],
- [-0.88056826, 0.88056826, 0.23886349, -0.23886349, 0. ],
- [ 0.76113651, 0.88056826, 1.88056826, -1.88056826, -1.64170477]]), 'FE0_C0_D01': array([[ -3.33333333e-01, 3.33333333e-01, 1.33333333e+00,
- 0.00000000e+00, -1.33333333e+00],
- [ 5.94853971e-01, -5.94853971e-01, 3.18970794e+00,
- 1.15463195e-14, -3.18970794e+00],
- [ 5.94853971e-01, 2.18970794e+00, 4.05146029e-01,
- -2.78456191e+00, -4.05146029e-01],
- [ -2.18970794e+00, -5.94853971e-01, 4.05146029e-01,
- 2.78456191e+00, -4.05146029e-01],
- [ -8.80568256e-01, 8.80568256e-01, 2.38863487e-01,
- 0.00000000e+00, -2.38863487e-01],
- [ -8.80568256e-01, -7.61136513e-01, 1.88056826e+00,
- 1.64170477e+00, -1.88056826e+00],
- [ 7.61136513e-01, 8.80568256e-01, 1.88056826e+00,
- -1.64170477e+00, -1.88056826e+00]]), 'FE0_C2_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE1': array([[ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.],
- [ 1.]]), 'FE0_C2': array([[ 0.33333333, 0.33333333, 0.33333333],
- [ 0.10128651, 0.79742699, 0.10128651],
- [ 0.10128651, 0.10128651, 0.79742699],
- [ 0.79742699, 0.10128651, 0.10128651],
- [ 0.47014206, 0.05971587, 0.47014206],
- [ 0.47014206, 0.47014206, 0.05971587],
- [ 0.05971587, 0.47014206, 0.47014206]]), 'FE0_C0': array([[-0.11111111, -0.11111111, -0.11111111, 0.44444444, 0.44444444,
- 0.44444444],
- [-0.08076859, 0.47435261, -0.08076859, 0.32307438, 0.04103583,
- 0.32307438],
- [-0.08076859, -0.08076859, 0.47435261, 0.32307438, 0.32307438,
- 0.04103583],
- [ 0.47435261, -0.08076859, -0.08076859, 0.04103583, 0.32307438,
- 0.32307438],
- [-0.02807494, -0.0525839 , -0.02807494, 0.11229977, 0.88413424,
- 0.11229977],
- [-0.02807494, -0.02807494, -0.0525839 , 0.11229977, 0.11229977,
- 0.88413424],
- [-0.0525839 , -0.02807494, -0.02807494, 0.88413424, 0.11229977,
- 0.11229977]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C1_D01': ('FE0_C2_D01', (13, [3, 5]), False, False), 'FE0_C1_D01': ('FE0_C0_D01', (4, [6, 8, 9, 10, 11]), False, False), 'FE1': ('FE1', (), False, True), 'FE2_C0_D01': ('FE0_C2_D01', (10, [0, 2]), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (2, [0, 1, 3, 4, 5]), False, False), 'FE0_C2_D10': ('FE0_C2_D01', (8, [12, 13]), False, False), 'FE0_C1_D10': ('FE0_C0_D10', (5, [6, 7, 9, 10, 11]), False, False), 'FE2_C1_D10': ('FE0_C2_D01', (14, [3, 4]), False, False), 'FE2_C1': ('FE0_C2', [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {2: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {0: {(0, 0): array([[[ 2.77555756e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.38777878e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.73472348e-17, -4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.38777878e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.73472348e-17, -4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 0): array([[[ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.08166817e-17, 9.02056208e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.38777878e-17, -2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.73472348e-17, -4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.08166817e-17, 9.02056208e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.38777878e-17, -2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.73472348e-17, -4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 0): array([[[ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 4.55341801e-01, -1.22008468e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 4.55341801e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 2.77555756e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 6.66666667e-01, 6.66666667e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 0.78867513, 0.21132487],
- [ 0. , 0. ]],
-
- [[ 0.21132487, 0.78867513],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0.78867513, 0.21132487]],
-
- [[ 0. , 0. ],
- [ 0.21132487, 0.78867513]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ -2.08166817e-17, 5.55111512e-17],
- [ 7.88675135e-01, 2.11324865e-01],
- [ 2.11324865e-01, 7.88675135e-01]])}, 1: {(0, 0): array([[ 7.88675135e-01, 2.11324865e-01],
- [ -2.08166817e-17, 5.55111512e-17],
- [ 2.11324865e-01, 7.88675135e-01]])}, 2: {(0, 0): array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513],
- [ 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.78867513, 0.21132487, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.21132487, 0.78867513, 0. ]]), 'FE1_f2_C0': array([[ 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0': array([[ 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C2': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.78867513, 0.21132487, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0.21132487, 0.78867513, 0. ]]), 'FE1_f2_C0': array([[ 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.55341801e-01, -1.22008468e-01, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.22008468e-01, 4.55341801e-01, 0.00000000e+00,
- 2.77555756e-17, -5.55111512e-17, 6.66666667e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 4.55341801e-01, -1.22008468e-01,
- 6.66666667e-01, -1.38777878e-17, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -1.22008468e-01, 4.55341801e-01,
- 6.66666667e-01, -5.55111512e-17, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C2': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0': array([[ 4.55341801e-01, 2.08166817e-17, -1.22008468e-01,
- -1.38777878e-17, 6.66666667e-01, -1.73472348e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.22008468e-01, 9.02056208e-17, 4.55341801e-01,
- -2.77555756e-17, 6.66666667e-01, -4.16333634e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE2_f0_C0_D10': ['FE2_f1_C0_D10', 'FE2_f2_C0_D10'], 'FE2_f0_C1_D01': ['FE2_f1_C1_D01', 'FE2_f2_C1_D01'], 'FE2_f0_C0_D01': ['FE2_f1_C0_D01', 'FE2_f2_C0_D01'], 'FE2_f0_C1_D10': ['FE2_f1_C1_D10', 'FE2_f2_C1_D10']}
-
- inv_name_map: {'FE2_f1_C1_D01': 'FE2_f0_C1_D01', 'FE2_f2_C0_D10': 'FE2_f0_C0_D10', 'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f1', 'FE0_f2': 'FE0_f2', 'FE2_f0_C1_D01': 'FE2_f0_C1_D01', 'FE1_f2_C2': 'FE1_f2_C2', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0_D01': 'FE2_f0_C0_D01', 'FE2_f0_C0': 'FE2_f0_C0', 'FE2_f2_C1_D01': 'FE2_f0_C1_D01', 'FE2_f1_C0_D10': 'FE2_f0_C0_D10', 'FE2_f0_C0_D10': 'FE2_f0_C0_D10', 'FE2_f2_C0_D01': 'FE2_f0_C0_D01', 'FE2_f0_C1_D1 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513]]), 'FE2_f0_C0_D01': array([[-1., 1.],
- [-1., 1.]]), 'FE1_f0_C0': array([[ 0.4553418 , -0.12200847, 0.66666667],
- [-0.12200847, 0.4553418 , 0.66666667]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_f1_C1_D01': ('FE2_f0_C0_D01', (16, [3, 5]), False, False), 'FE2_f2_C0_D10': ('FE2_f0_C0_D01', (14, [0, 1]), False, False), 'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE0_f1': ('FE0_f0', (1, [0, 2]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE2_f0_C1_D01': ('FE2_f0_C0_D01', (16, [3, 5]), False, False), 'FE1_f2_C2': ('FE0_f0', (11, [12, 13]), False, False), 'FE1_f2_C0': ('FE1_f0_C0', (9, [0, 1, 5]), False, False), 'FE1_f2_C1': ('FE1_f0_C0', (10, [6, 7 [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.00103 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.000947 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 15 entries computed in 0.000952 seconds
- Shape of reference tensor: (15,)
- Primary multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 2.30518 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for cell integral
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for cell integral
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for cell integral
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
-
-Compiler stage 3 finished in 0.0453558 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 15 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 15 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: n1
- Removing unused variable: n0
- Removing unused variable: direction
- Removing unused variable: det
- Removing unused variable: dx1
- Removing unused variable: dx0
- Removing unused variable: v1
- Removing unused variable: v0
- Removing unused variable: edge_vertices
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Generating code for forms
-
-Compiler stage 4 finished in 2.90447 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00240588 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00524402 seconds.
-
-FFC finished in 6.25351 seconds.
-Output written to ./AdaptiveNavierStokes.h.
diff --git a/demo/undocumented/block-matrix/cpp/CMakeLists.txt b/demo/undocumented/block-matrix/cpp/CMakeLists.txt
index 147b29a..5350404 100644
--- a/demo/undocumented/block-matrix/cpp/CMakeLists.txt
+++ b/demo/undocumented/block-matrix/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_block-matrix)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/block-matrix/cpp/StiffnessMatrix.h b/demo/undocumented/block-matrix/cpp/StiffnessMatrix.h
index 4b32449..4e73b10 100644
--- a/demo/undocumented/block-matrix/cpp/StiffnessMatrix.h
+++ b/demo/undocumented/block-matrix/cpp/StiffnessMatrix.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2310,25 +2311,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2485,6 +2477,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2573,6 +2589,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2680,6 +2781,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2783,6 +2908,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2841,6 +3063,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2904,6 +3141,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3645,10 +3897,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3789,10 +4041,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/block-matrix/cpp/compile.log b/demo/undocumented/block-matrix/cpp/compile.log
deleted file mode 100644
index a57c55f..0000000
--- a/demo/undocumented/block-matrix/cpp/compile.log
+++ /dev/null
@@ -1,386 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form StiffnessMatrix
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal SpatialCoordinate.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.0863791 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00106 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 0): array([[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0537622 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.000820875 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.157527 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000762939 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000785828 seconds.
-
-FFC finished in 0.300668 seconds.
-Output written to ./StiffnessMatrix.h.
diff --git a/demo/undocumented/coloring/cpp/CMakeLists.txt b/demo/undocumented/coloring/cpp/CMakeLists.txt
index 18fbd14..38c381a 100644
--- a/demo/undocumented/coloring/cpp/CMakeLists.txt
+++ b/demo/undocumented/coloring/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_coloring)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/conditional/cpp/CMakeLists.txt b/demo/undocumented/conditional/cpp/CMakeLists.txt
index 70cdda9..0a35ec8 100644
--- a/demo/undocumented/conditional/cpp/CMakeLists.txt
+++ b/demo/undocumented/conditional/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_conditional)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/conditional/cpp/Conditional.h b/demo/undocumented/conditional/cpp/Conditional.h
index 80c5d0e..7398c02 100644
--- a/demo/undocumented/conditional/cpp/Conditional.h
+++ b/demo/undocumented/conditional/cpp/Conditional.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4077,6 +4069,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4165,6 +4181,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4272,6 +4373,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4375,6 +4500,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4496,6 +4718,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4616,6 +4862,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4660,6 +4997,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 49
@@ -4685,18 +5037,18 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.500000000000002*G0_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_1_0;
- A[2] = 0.166666666666666*G0_0_1 + 0.166666666666666*G0_1_1;
+ A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0;
+ A[2] = 0.166666666666667*G0_0_1 + 0.166666666666666*G0_1_1;
A[3] = 0.0;
A[4] = -0.666666666666668*G0_0_1 - 0.666666666666668*G0_1_1;
A[5] = -0.666666666666668*G0_0_0 - 0.666666666666668*G0_1_0;
- A[6] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_0_1;
+ A[6] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1;
A[7] = 0.5*G0_0_0;
A[8] = -0.166666666666666*G0_0_1;
A[9] = 0.666666666666664*G0_0_1;
A[10] = 0.0;
A[11] = -0.666666666666668*G0_0_0 - 0.666666666666667*G0_0_1;
- A[12] = 0.166666666666666*G0_1_0 + 0.166666666666666*G0_1_1;
+ A[12] = 0.166666666666667*G0_1_0 + 0.166666666666666*G0_1_1;
A[13] = -0.166666666666666*G0_1_0;
A[14] = 0.5*G0_1_1;
A[15] = 0.666666666666667*G0_1_0;
@@ -4710,7 +5062,7 @@ public:
A[23] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1;
A[24] = -0.666666666666668*G0_1_0 - 0.666666666666668*G0_1_1;
A[25] = 0.0;
- A[26] = -0.666666666666667*G0_0_1 - 0.666666666666665*G0_1_1;
+ A[26] = -0.666666666666667*G0_0_1 - 0.666666666666666*G0_1_1;
A[27] = -1.33333333333333*G0_0_0 - 0.666666666666656*G0_0_1 - 0.666666666666659*G0_1_0;
A[28] = 1.33333333333333*G0_0_0 + 0.666666666666659*G0_0_1 + 0.666666666666659*G0_1_0 + 1.33333333333333*G0_1_1;
A[29] = 0.666666666666665*G0_0_1 + 0.666666666666667*G0_1_0;
@@ -4719,7 +5071,7 @@ public:
A[32] = 0.0;
A[33] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1;
A[34] = 0.666666666666667*G0_0_1 + 0.666666666666665*G0_1_0;
- A[35] = 1.33333333333334*G0_0_0 + 0.666666666666668*G0_0_1 + 0.666666666666668*G0_1_0 + 1.33333333333333*G0_1_1;
+ A[35] = 1.33333333333334*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1;
}
};
@@ -4750,6 +5102,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -5500,10 +5867,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5644,10 +6011,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/conditional/cpp/compile.log b/demo/undocumented/conditional/cpp/compile.log
deleted file mode 100644
index a023696..0000000
--- a/demo/undocumented/conditional/cpp/compile.log
+++ /dev/null
@@ -1,304 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Conditional
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal SpatialCoordinate.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.126747 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00067 seconds
- Shape of reference tensor: (6, 6, 2, 2)
- Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 0): array([[ 0.22222222, -0.11111111, -0.11111111],
- [-0.11111111, -0.11111111, 0.22222222],
- [-0.11111111, 0.22222222, -0.11111111],
- [ 0.11111111, 0.44444444, 0.44444444],
- [ 0.44444444, 0.44444444, 0.11111111],
- [ 0.44444444, 0.11111111, 0.44444444]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE0': array([[ 0.22222222, -0.11111111, -0.11111111, 0.11111111, 0.44444444,
- 0.44444444],
- [-0.11111111, -0.11111111, 0.22222222, 0.44444444, 0.44444444,
- 0.11111111],
- [-0.11111111, 0.22222222, -0.11111111, 0.44444444, 0.11111111,
- 0.44444444]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.040158 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.000566006 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.143291 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000662088 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000540972 seconds.
-
-FFC finished in 0.312303 seconds.
-Output written to ./Conditional.h.
diff --git a/demo/undocumented/contact-vi-snes/cpp/CMakeLists.txt b/demo/undocumented/contact-vi-snes/cpp/CMakeLists.txt
index ad6a621..7280857 100644
--- a/demo/undocumented/contact-vi-snes/cpp/CMakeLists.txt
+++ b/demo/undocumented/contact-vi-snes/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_contact-vi-snes)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/contact-vi-snes/cpp/HyperElasticity.h b/demo/undocumented/contact-vi-snes/cpp/HyperElasticity.h
index 02fc7fd..213a2ce 100644
--- a/demo/undocumented/contact-vi-snes/cpp/HyperElasticity.h
+++ b/demo/undocumented/contact-vi-snes/cpp/HyperElasticity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,16 +13,18 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
-// optimize: False
+// max_signature_length: 0
+// optimize: True
// precision: 15
// quadrature_degree: -1
// quadrature_rule: 'auto'
-// representation: 'auto'
+// representation: 'uflacs'
// split: False
#ifndef __HYPERELASTICITY_H
#define __HYPERELASTICITY_H
#include <cmath>
+#include <cstring>
#include <stdexcept>
#include <ufc.h>
@@ -2310,25 +2312,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2777,6 +2770,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2865,6 +2882,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2972,6 +3074,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3075,6 +3201,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3196,6 +3419,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3261,6 +3508,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3286,18 +3613,18 @@ public:
hyperelasticity_cell_integral_0_otherwise() : ufc::cell_integral()
{
-
+
}
~hyperelasticity_cell_integral_0_otherwise() override
{
-
+
}
const std::vector<bool> & enabled_coefficients() const final override
{
- static const std::vector<bool> enabled({true, true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true, true});
+return enabled;
}
void tabulate_tensor(double * A,
@@ -3305,113 +3632,213 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W3[3] = {0.166666666666667, 0.166666666666667, 0.166666666666667};
- // Quadrature points on the UFC reference element: (0.166666666666667, 0.166666666666667), (0.166666666666667, 0.666666666666667), (0.666666666666667, 0.166666666666667)
-
- // Values of basis functions at quadrature points.
- static const double FE0[3][1] = \
- {{1.0},
- {1.0},
- {1.0}};
-
- static const double FE1_C0[3][6] = \
- {{0.666666666666667, 0.166666666666667, 0.166666666666667, 0.0, 0.0, 0.0},
- {0.166666666666667, 0.166666666666667, 0.666666666666667, 0.0, 0.0, 0.0},
- {0.166666666666667, 0.666666666666667, 0.166666666666667, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D01[3][6] = \
- {{-1.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {-1.0, 0.0, 1.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D10[3][6] = \
- {{-0.999999999999999, 0.999999999999999, 0.0, 0.0, 0.0, 0.0},
- {-0.999999999999999, 0.999999999999999, 0.0, 0.0, 0.0, 0.0},
- {-0.999999999999999, 0.999999999999999, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1[3][6] = \
- {{0.0, 0.0, 0.0, 0.666666666666667, 0.166666666666667, 0.166666666666667},
- {0.0, 0.0, 0.0, 0.166666666666667, 0.166666666666667, 0.666666666666667},
- {0.0, 0.0, 0.0, 0.166666666666667, 0.666666666666667, 0.166666666666667}};
-
- static const double FE1_C1_D01[3][6] = \
- {{0.0, 0.0, 0.0, -1.0, 0.0, 1.0},
- {0.0, 0.0, 0.0, -1.0, 0.0, 1.0},
- {0.0, 0.0, 0.0, -1.0, 0.0, 1.0}};
-
- static const double FE1_C1_D10[3][6] = \
- {{0.0, 0.0, 0.0, -0.999999999999999, 0.999999999999999, 0.0},
- {0.0, 0.0, 0.0, -0.999999999999999, 0.999999999999999, 0.0},
- {0.0, 0.0, 0.0, -0.999999999999999, 0.999999999999999, 0.0}};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 6; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights3[3] = { 0.166666666666667, 0.166666666666667, 0.166666666666667 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 3 tables for 3 quadrature points
+ alignas(32) static const double FE16_C0_D01_Q3[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE16_C0_D10_Q3[1][1][2] = { { { -1.0, 1.0 } } };
+ alignas(32) static const double FE16_C0_Q3[1][3][3] =
+ { { { 0.666666666666667, 0.166666666666667, 0.166666666666667 },
+ { 0.166666666666667, 0.166666666666667, 0.666666666666667 },
+ { 0.166666666666667, 0.666666666666667, 0.166666666666667 } } };
+ // Reset element tensor
+ memset(A, 0, 6 * sizeof(*A));
+ // Unstructured piecewise computations
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
{
- A[r] = 0.0;
- } // end loop over 'r'
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', False), ('ignore ones', False), ('ignore zero tables', False), ('optimisation', False), ('remove zero terms', False)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 3378
- for (unsigned int ip = 0; ip < 3; ip++)
+ w0_d0_c0 += w[0][ic] * FE16_C0_D10_Q3[0][0][ic - 0];
+ }
+ const double J_c3 = coordinate_dofs[1] * FE16_C0_D01_Q3[0][0][0] + coordinate_dofs[3] * FE16_C0_D01_Q3[0][0][1] + coordinate_dofs[5] * FE16_C0_D01_Q3[0][0][2];
+ const double J_c0 = coordinate_dofs[0] * FE16_C0_D10_Q3[0][0][0] + coordinate_dofs[2] * FE16_C0_D10_Q3[0][0][1];
+ const double J_c1 = coordinate_dofs[0] * FE16_C0_D01_Q3[0][0][0] + coordinate_dofs[2] * FE16_C0_D01_Q3[0][0][1] + coordinate_dofs[4] * FE16_C0_D01_Q3[0][0][2];
+ const double J_c2 = coordinate_dofs[1] * FE16_C0_D10_Q3[0][0][0] + coordinate_dofs[3] * FE16_C0_D10_Q3[0][0][1];
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
- double F6 = 0.0;
- double F7 = 0.0;
-
- // Total number of operations to compute function values = 4
- for (unsigned int r = 0; r < 1; r++)
- {
- F0 += FE0[ip][0]*w[2][0];
- F5 += FE0[ip][0]*w[3][0];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 72
- for (unsigned int r = 0; r < 6; r++)
- {
- F1 += FE1_C1_D10[ip][r]*w[0][r];
- F2 += FE1_C1_D01[ip][r]*w[0][r];
- F3 += FE1_C0_D10[ip][r]*w[0][r];
- F4 += FE1_C0_D01[ip][r]*w[0][r];
- F6 += FE1_C0[ip][r]*w[1][r];
- F7 += FE1_C1[ip][r]*w[1][r];
- } // end loop over 'r'
-
- // Number of operations for primary indices: 1050
- for (unsigned int j = 0; j < 6; j++)
- {
- // Number of operations to compute entry: 175
- A[j] += ((((((((((K[0]*FE1_C1_D10[ip][j] + K[2]*FE1_C1_D01[ip][j]))*((K[1]*F3 + K[3]*F4)) + ((K[1]*FE1_C0_D10[ip][j] + K[3]*FE1_C0_D01[ip][j]))*((K[0]*F1 + K[2]*F2))))*(-1.0) + (((K[0]*FE1_C0_D10[ip][j] + K[2]*FE1_C0_D01[ip][j]))*(((K[1]*F1 + K[3]*F2) + 1.0)) + ((K[1]*FE1_C1_D10[ip][j] + K[3]*FE1_C1_D01[ip][j]))*(((K[0]*F3 + K[2]*F4) + 1.0))))/(((((K[0]*F3 + K[2]*F4) + 1.0))*(((K[1]*F1 + K[3]*F2) + 1.0)) + (-1.0)*(((K[1]*F3 + K[3]*F4))*((K[0]*F1 + K[2]*F2))))))*2.0)*(std::log(((( [...]
- } // end loop over 'j'
- } // end loop over 'ip'
+ w0_d1_c0 += w[0][ic] * FE16_C0_D01_Q3[0][0][ic - 0];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE16_C0_D01_Q3[0][0][ic - 3];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 3; ic < 5; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE16_C0_D10_Q3[0][0][ic - 3];
+ }
+ alignas(32) double sp3[104];
+ sp3[0] = J_c0 * J_c3;
+ sp3[1] = J_c1 * J_c2;
+ sp3[2] = -1 * sp3[1];
+ sp3[3] = sp3[0] + sp3[2];
+ sp3[4] = J_c3 / sp3[3];
+ sp3[5] = w0_d0_c0 * sp3[4];
+ sp3[6] = -1 * J_c2;
+ sp3[7] = sp3[6] / sp3[3];
+ sp3[8] = w0_d1_c0 * sp3[7];
+ sp3[9] = sp3[5] + sp3[8];
+ sp3[10] = 1 + sp3[9];
+ sp3[11] = J_c0 / sp3[3];
+ sp3[12] = -1 * J_c1;
+ sp3[13] = sp3[12] / sp3[3];
+ sp3[14] = sp3[10] * sp3[11];
+ sp3[15] = sp3[10] * sp3[13];
+ sp3[16] = w0_d1_c1 * sp3[11];
+ sp3[17] = w0_d0_c1 * sp3[13];
+ sp3[18] = sp3[16] + sp3[17];
+ sp3[19] = 1 + sp3[18];
+ sp3[20] = sp3[19] * sp3[4];
+ sp3[21] = sp3[19] * sp3[7];
+ sp3[22] = w0_d1_c0 * sp3[11];
+ sp3[23] = w0_d0_c0 * sp3[13];
+ sp3[24] = sp3[22] + sp3[23];
+ sp3[25] = sp3[24] * sp3[7];
+ sp3[26] = sp3[24] * sp3[4];
+ sp3[27] = w0_d0_c1 * sp3[4];
+ sp3[28] = w0_d1_c1 * sp3[7];
+ sp3[29] = sp3[27] + sp3[28];
+ sp3[30] = sp3[29] * sp3[13];
+ sp3[31] = sp3[29] * sp3[11];
+ sp3[32] = -1 * sp3[25];
+ sp3[33] = -1 * sp3[26];
+ sp3[34] = -1 * sp3[30];
+ sp3[35] = -1 * sp3[31];
+ sp3[36] = sp3[32] + sp3[14];
+ sp3[37] = sp3[33] + sp3[15];
+ sp3[38] = sp3[34] + sp3[20];
+ sp3[39] = sp3[35] + sp3[21];
+ sp3[40] = sp3[19] * sp3[10];
+ sp3[41] = sp3[24] * sp3[29];
+ sp3[42] = -1 * sp3[41];
+ sp3[43] = sp3[40] + sp3[42];
+ sp3[44] = sp3[36] / sp3[43];
+ sp3[45] = sp3[37] / sp3[43];
+ sp3[46] = sp3[38] / sp3[43];
+ sp3[47] = sp3[39] / sp3[43];
+ sp3[48] = sp3[44] * w[2][0];
+ sp3[49] = sp3[45] * w[2][0];
+ sp3[50] = sp3[46] * w[2][0];
+ sp3[51] = sp3[47] * w[2][0];
+ sp3[52] = -1 * sp3[48];
+ sp3[53] = -1 * sp3[49];
+ sp3[54] = -1 * sp3[50];
+ sp3[55] = -1 * sp3[51];
+ sp3[56] = sp3[24] * sp3[13];
+ sp3[57] = sp3[24] * sp3[11];
+ sp3[58] = sp3[56] + sp3[56];
+ sp3[59] = sp3[57] + sp3[57];
+ sp3[60] = sp3[19] * sp3[11];
+ sp3[61] = sp3[19] * sp3[13];
+ sp3[62] = sp3[60] + sp3[60];
+ sp3[63] = sp3[61] + sp3[61];
+ sp3[64] = sp3[10] * sp3[4];
+ sp3[65] = sp3[10] * sp3[7];
+ sp3[66] = sp3[64] + sp3[64];
+ sp3[67] = sp3[65] + sp3[65];
+ sp3[68] = sp3[29] * sp3[7];
+ sp3[69] = sp3[29] * sp3[4];
+ sp3[70] = sp3[68] + sp3[68];
+ sp3[71] = sp3[69] + sp3[69];
+ sp3[72] = sp3[62] + sp3[70];
+ sp3[73] = sp3[71] + sp3[63];
+ sp3[74] = sp3[66] + sp3[58];
+ sp3[75] = sp3[59] + sp3[67];
+ sp3[76] = w[2][0] / 2;
+ sp3[77] = sp3[72] * sp3[76];
+ sp3[78] = sp3[73] * sp3[76];
+ sp3[79] = sp3[74] * sp3[76];
+ sp3[80] = sp3[75] * sp3[76];
+ sp3[81] = sp3[52] + sp3[77];
+ sp3[82] = sp3[53] + sp3[78];
+ sp3[83] = sp3[54] + sp3[79];
+ sp3[84] = sp3[55] + sp3[80];
+ sp3[85] = 2 * sp3[44];
+ sp3[86] = 2 * sp3[45];
+ sp3[87] = 2 * sp3[46];
+ sp3[88] = 2 * sp3[47];
+ sp3[89] = std::log(sp3[43]);
+ sp3[90] = sp3[85] * sp3[89];
+ sp3[91] = sp3[86] * sp3[89];
+ sp3[92] = sp3[87] * sp3[89];
+ sp3[93] = sp3[88] * sp3[89];
+ sp3[94] = w[3][0] / 2;
+ sp3[95] = sp3[90] * sp3[94];
+ sp3[96] = sp3[91] * sp3[94];
+ sp3[97] = sp3[92] * sp3[94];
+ sp3[98] = sp3[93] * sp3[94];
+ sp3[99] = sp3[81] + sp3[95];
+ sp3[100] = sp3[82] + sp3[96];
+ sp3[101] = sp3[83] + sp3[97];
+ sp3[102] = sp3[84] + sp3[98];
+ sp3[103] = std::abs(sp3[3]);
+ for (int iq3 = 0; iq3 < 3; ++iq3)
+ {
+ // Quadrature loop body setup (num_points=3)
+ // Unstructured varying computations
+ double w1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
+ {
+ w1_c0 += w[1][ic] * FE16_C0_Q3[0][iq3][ic - 0];
+ }
+ double w1_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w1_c1 += w[1][ic] * FE16_C0_Q3[0][iq3][ic - 3];
+ }
+ alignas(32) double sv3[9];
+ sv3[0] = -1 * w1_c0;
+ sv3[1] = -1 * w1_c1;
+ sv3[2] = weights3[iq3] * sp3[103];
+ sv3[3] = sp3[99] * sv3[2];
+ sv3[4] = sp3[100] * sv3[2];
+ sv3[5] = sp3[101] * sv3[2];
+ sv3[6] = sp3[102] * sv3[2];
+ sv3[7] = sv3[0] * sv3[2];
+ sv3[8] = sv3[1] * sv3[2];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ A[ia0] += sv3[5] * FE16_C0_D10_Q3[0][0][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv3[7] * FE16_C0_Q3[0][iq3][ia0 - 0];
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ A[ia0] += sv3[6] * FE16_C0_D01_Q3[0][0][ia0 - 0];
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ A[ia0] += sv3[4] * FE16_C0_D10_Q3[0][0][ia0 - 3];
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv3[8] * FE16_C0_Q3[0][iq3][ia0 - 3];
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ A[ia0] += sv3[3] * FE16_C0_D01_Q3[0][0][ia0 - 3];
+ }
+ }
}
};
@@ -3423,18 +3850,18 @@ public:
hyperelasticity_cell_integral_1_otherwise() : ufc::cell_integral()
{
-
+
}
~hyperelasticity_cell_integral_1_otherwise() override
{
-
+
}
const std::vector<bool> & enabled_coefficients() const final override
{
- static const std::vector<bool> enabled({true, true, true});
- return enabled;
+static const std::vector<bool> enabled({true, true, true});
+return enabled;
}
void tabulate_tensor(double * A,
@@ -3442,92 +3869,469 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute cell volume
-
-
- // Compute circumradius of triangle in 2D
-
-
- // Array of quadrature weights.
- static const double W1 = 0.5;
- // Quadrature points on the UFC reference element: (0.333333333333333, 0.333333333333333)
-
- // Values of basis functions at quadrature points.
- static const double FE0[1][1] = \
- {{1.0}};
-
- static const double FE1_C0_D01[1][6] = \
- {{-1.0, 0.0, 1.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C0_D10[1][6] = \
- {{-0.999999999999999, 0.999999999999999, 0.0, 0.0, 0.0, 0.0}};
-
- static const double FE1_C1_D01[1][6] = \
- {{0.0, 0.0, 0.0, -1.0, 0.0, 1.0}};
-
- static const double FE1_C1_D10[1][6] = \
- {{0.0, 0.0, 0.0, -0.999999999999999, 0.999999999999999, 0.0}};
-
- // Reset values in the element tensor.
- for (unsigned int r = 0; r < 36; r++)
+ // This function was generated using 'uflacs' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'uflacs'
+
+ // Section for quadrature weights and points
+ alignas(32) static const double weights1[1] = { 0.5 };
+ // Section for precomputed element basis function values
+ // Table dimensions: num_entities, num_points, num_dofs
+ // Definitions of 2 tables for 1 quadrature points
+ alignas(32) static const double FE16_C0_D01_Q1[1][1][3] = { { { -1.0, 0.0, 1.0 } } };
+ alignas(32) static const double FE16_C0_D10_Q1[1][1][2] = { { { -1.0, 1.0 } } };
+ // Reset element tensor
+ memset(A, 0, 36 * sizeof(*A));
+ // Unstructured piecewise computations
+ const double J_c0 = coordinate_dofs[0] * FE16_C0_D10_Q1[0][0][0] + coordinate_dofs[2] * FE16_C0_D10_Q1[0][0][1];
+ const double J_c3 = coordinate_dofs[1] * FE16_C0_D01_Q1[0][0][0] + coordinate_dofs[3] * FE16_C0_D01_Q1[0][0][1] + coordinate_dofs[5] * FE16_C0_D01_Q1[0][0][2];
+ const double J_c1 = coordinate_dofs[0] * FE16_C0_D01_Q1[0][0][0] + coordinate_dofs[2] * FE16_C0_D01_Q1[0][0][1] + coordinate_dofs[4] * FE16_C0_D01_Q1[0][0][2];
+ const double J_c2 = coordinate_dofs[1] * FE16_C0_D10_Q1[0][0][0] + coordinate_dofs[3] * FE16_C0_D10_Q1[0][0][1];
+ double w0_d0_c0 = 0.0;
+ for (int ic = 0; ic < 2; ++ic)
{
- A[r] = 0.0;
- } // end loop over 'r'
-
- // Compute element tensor using UFL quadrature representation
- // Optimisations: ('eliminate zeros', False), ('ignore ones', False), ('ignore zero tables', False), ('optimisation', False), ('remove zero terms', False)
-
- // Loop quadrature points for integral.
- // Number of operations to compute element tensor for following IP loop = 16216
- for (unsigned int ip = 0; ip < 1; ip++)
+ w0_d0_c0 += w[0][ic] * FE16_C0_D10_Q1[0][0][ic - 0];
+ }
+ double w0_d1_c0 = 0.0;
+ for (int ic = 0; ic < 3; ++ic)
{
-
- // Coefficient declarations.
- double F0 = 0.0;
- double F1 = 0.0;
- double F2 = 0.0;
- double F3 = 0.0;
- double F4 = 0.0;
- double F5 = 0.0;
-
- // Total number of operations to compute function values = 4
- for (unsigned int r = 0; r < 1; r++)
- {
- F0 += FE0[0][0]*w[1][0];
- F5 += FE0[0][0]*w[2][0];
- } // end loop over 'r'
-
- // Total number of operations to compute function values = 48
- for (unsigned int r = 0; r < 6; r++)
- {
- F1 += FE1_C1_D10[0][r]*w[0][r];
- F2 += FE1_C1_D01[0][r]*w[0][r];
- F3 += FE1_C0_D10[0][r]*w[0][r];
- F4 += FE1_C0_D01[0][r]*w[0][r];
- } // end loop over 'r'
-
- // Number of operations for primary indices: 16164
- for (unsigned int j = 0; j < 6; j++)
- {
- for (unsigned int k = 0; k < 6; k++)
+ w0_d1_c0 += w[0][ic] * FE16_C0_D01_Q1[0][0][ic - 0];
+ }
+ double w0_d1_c1 = 0.0;
+ for (int ic = 3; ic < 6; ++ic)
+ {
+ w0_d1_c1 += w[0][ic] * FE16_C0_D01_Q1[0][0][ic - 3];
+ }
+ double w0_d0_c1 = 0.0;
+ for (int ic = 3; ic < 5; ++ic)
+ {
+ w0_d0_c1 += w[0][ic] * FE16_C0_D10_Q1[0][0][ic - 3];
+ }
+ alignas(32) double sp1[278];
+ sp1[0] = J_c0 * J_c3;
+ sp1[1] = J_c1 * J_c2;
+ sp1[2] = -1 * sp1[1];
+ sp1[3] = sp1[0] + sp1[2];
+ sp1[4] = J_c0 / sp1[3];
+ sp1[5] = -1 * J_c1;
+ sp1[6] = sp1[5] / sp1[3];
+ sp1[7] = J_c3 / sp1[3];
+ sp1[8] = -1 * J_c2;
+ sp1[9] = sp1[8] / sp1[3];
+ sp1[10] = sp1[4] * sp1[7];
+ sp1[11] = sp1[4] * sp1[9];
+ sp1[12] = sp1[7] * sp1[6];
+ sp1[13] = sp1[6] * sp1[9];
+ sp1[14] = -1 * sp1[13];
+ sp1[15] = -1 * sp1[11];
+ sp1[16] = -1 * sp1[12];
+ sp1[17] = -1 * sp1[10];
+ sp1[18] = sp1[14] + sp1[10];
+ sp1[19] = sp1[15] + sp1[11];
+ sp1[20] = sp1[16] + sp1[12];
+ sp1[21] = sp1[17] + sp1[13];
+ sp1[22] = w0_d0_c0 * sp1[7];
+ sp1[23] = w0_d1_c0 * sp1[9];
+ sp1[24] = sp1[22] + sp1[23];
+ sp1[25] = 1 + sp1[24];
+ sp1[26] = sp1[25] * sp1[4];
+ sp1[27] = sp1[25] * sp1[6];
+ sp1[28] = w0_d1_c1 * sp1[4];
+ sp1[29] = w0_d0_c1 * sp1[6];
+ sp1[30] = sp1[28] + sp1[29];
+ sp1[31] = 1 + sp1[30];
+ sp1[32] = sp1[31] * sp1[7];
+ sp1[33] = sp1[31] * sp1[9];
+ sp1[34] = w0_d1_c0 * sp1[4];
+ sp1[35] = w0_d0_c0 * sp1[6];
+ sp1[36] = sp1[34] + sp1[35];
+ sp1[37] = sp1[36] * sp1[9];
+ sp1[38] = sp1[36] * sp1[7];
+ sp1[39] = w0_d0_c1 * sp1[7];
+ sp1[40] = w0_d1_c1 * sp1[9];
+ sp1[41] = sp1[39] + sp1[40];
+ sp1[42] = sp1[41] * sp1[6];
+ sp1[43] = sp1[41] * sp1[4];
+ sp1[44] = -1 * sp1[37];
+ sp1[45] = -1 * sp1[38];
+ sp1[46] = -1 * sp1[42];
+ sp1[47] = -1 * sp1[43];
+ sp1[48] = sp1[44] + sp1[26];
+ sp1[49] = sp1[45] + sp1[27];
+ sp1[50] = sp1[46] + sp1[32];
+ sp1[51] = sp1[47] + sp1[33];
+ sp1[52] = sp1[31] * sp1[25];
+ sp1[53] = sp1[36] * sp1[41];
+ sp1[54] = -1 * sp1[53];
+ sp1[55] = sp1[52] + sp1[54];
+ sp1[56] = sp1[50] / sp1[55];
+ sp1[57] = sp1[51] / sp1[55];
+ sp1[58] = sp1[48] / sp1[55];
+ sp1[59] = sp1[49] / sp1[55];
+ sp1[60] = sp1[48] * sp1[56];
+ sp1[61] = sp1[48] * sp1[57];
+ sp1[62] = sp1[48] * sp1[58];
+ sp1[63] = sp1[48] * sp1[59];
+ sp1[64] = sp1[49] * sp1[56];
+ sp1[65] = sp1[49] * sp1[57];
+ sp1[66] = sp1[49] * sp1[58];
+ sp1[67] = sp1[49] * sp1[59];
+ sp1[68] = sp1[50] * sp1[56];
+ sp1[69] = sp1[50] * sp1[57];
+ sp1[70] = sp1[50] * sp1[58];
+ sp1[71] = sp1[50] * sp1[59];
+ sp1[72] = sp1[51] * sp1[56];
+ sp1[73] = sp1[51] * sp1[57];
+ sp1[74] = sp1[51] * sp1[58];
+ sp1[75] = sp1[51] * sp1[59];
+ sp1[76] = -1 * sp1[60];
+ sp1[77] = -1 * sp1[61];
+ sp1[78] = -1 * sp1[62];
+ sp1[79] = -1 * sp1[63];
+ sp1[80] = -1 * sp1[64];
+ sp1[81] = -1 * sp1[65];
+ sp1[82] = -1 * sp1[66];
+ sp1[83] = -1 * sp1[67];
+ sp1[84] = -1 * sp1[68];
+ sp1[85] = -1 * sp1[72];
+ sp1[86] = -1 * sp1[69];
+ sp1[87] = -1 * sp1[73];
+ sp1[88] = -1 * sp1[70];
+ sp1[89] = -1 * sp1[74];
+ sp1[90] = -1 * sp1[71];
+ sp1[91] = -1 * sp1[75];
+ sp1[92] = sp1[18] + sp1[76];
+ sp1[93] = sp1[19] + sp1[77];
+ sp1[94] = sp1[20] + sp1[80];
+ sp1[95] = sp1[21] + sp1[81];
+ sp1[96] = sp1[18] + sp1[88];
+ sp1[97] = sp1[19] + sp1[89];
+ sp1[98] = sp1[20] + sp1[90];
+ sp1[99] = sp1[21] + sp1[91];
+ sp1[100] = sp1[92] / sp1[55];
+ sp1[101] = sp1[93] / sp1[55];
+ sp1[102] = sp1[78] / sp1[55];
+ sp1[103] = sp1[79] / sp1[55];
+ sp1[104] = sp1[94] / sp1[55];
+ sp1[105] = sp1[95] / sp1[55];
+ sp1[106] = sp1[82] / sp1[55];
+ sp1[107] = sp1[83] / sp1[55];
+ sp1[108] = sp1[84] / sp1[55];
+ sp1[109] = sp1[85] / sp1[55];
+ sp1[110] = sp1[86] / sp1[55];
+ sp1[111] = sp1[87] / sp1[55];
+ sp1[112] = sp1[96] / sp1[55];
+ sp1[113] = sp1[97] / sp1[55];
+ sp1[114] = sp1[98] / sp1[55];
+ sp1[115] = sp1[99] / sp1[55];
+ sp1[116] = sp1[100] * w[1][0];
+ sp1[117] = sp1[101] * w[1][0];
+ sp1[118] = sp1[102] * w[1][0];
+ sp1[119] = sp1[103] * w[1][0];
+ sp1[120] = sp1[104] * w[1][0];
+ sp1[121] = sp1[105] * w[1][0];
+ sp1[122] = sp1[106] * w[1][0];
+ sp1[123] = sp1[107] * w[1][0];
+ sp1[124] = sp1[108] * w[1][0];
+ sp1[125] = sp1[109] * w[1][0];
+ sp1[126] = sp1[110] * w[1][0];
+ sp1[127] = sp1[111] * w[1][0];
+ sp1[128] = sp1[112] * w[1][0];
+ sp1[129] = sp1[113] * w[1][0];
+ sp1[130] = sp1[114] * w[1][0];
+ sp1[131] = sp1[115] * w[1][0];
+ sp1[132] = -1 * sp1[116];
+ sp1[133] = -1 * sp1[117];
+ sp1[134] = -1 * sp1[118];
+ sp1[135] = -1 * sp1[119];
+ sp1[136] = -1 * sp1[120];
+ sp1[137] = -1 * sp1[121];
+ sp1[138] = -1 * sp1[122];
+ sp1[139] = -1 * sp1[123];
+ sp1[140] = -1 * sp1[124];
+ sp1[141] = -1 * sp1[125];
+ sp1[142] = -1 * sp1[126];
+ sp1[143] = -1 * sp1[127];
+ sp1[144] = -1 * sp1[128];
+ sp1[145] = -1 * sp1[129];
+ sp1[146] = -1 * sp1[130];
+ sp1[147] = -1 * sp1[131];
+ sp1[148] = sp1[6] * sp1[6];
+ sp1[149] = sp1[4] * sp1[6];
+ sp1[150] = sp1[4] * sp1[4];
+ sp1[151] = sp1[148] + sp1[148];
+ sp1[152] = sp1[149] + sp1[149];
+ sp1[153] = sp1[150] + sp1[150];
+ sp1[154] = sp1[7] * sp1[7];
+ sp1[155] = sp1[7] * sp1[9];
+ sp1[156] = sp1[9] * sp1[9];
+ sp1[157] = sp1[154] + sp1[154];
+ sp1[158] = sp1[155] + sp1[155];
+ sp1[159] = sp1[156] + sp1[156];
+ sp1[160] = sp1[153] + sp1[159];
+ sp1[161] = sp1[152] + sp1[158];
+ sp1[162] = sp1[157] + sp1[151];
+ sp1[163] = w[1][0] / 2;
+ sp1[164] = sp1[160] * sp1[163];
+ sp1[165] = sp1[161] * sp1[163];
+ sp1[166] = sp1[162] * sp1[163];
+ sp1[167] = sp1[134] + sp1[164];
+ sp1[168] = sp1[135] + sp1[165];
+ sp1[169] = sp1[138] + sp1[165];
+ sp1[170] = sp1[139] + sp1[166];
+ sp1[171] = sp1[140] + sp1[166];
+ sp1[172] = sp1[141] + sp1[165];
+ sp1[173] = sp1[142] + sp1[165];
+ sp1[174] = sp1[143] + sp1[164];
+ sp1[175] = 2 * sp1[56];
+ sp1[176] = 2 * sp1[57];
+ sp1[177] = 2 * sp1[58];
+ sp1[178] = 2 * sp1[59];
+ sp1[179] = sp1[175] * sp1[58];
+ sp1[180] = sp1[175] * sp1[59];
+ sp1[181] = sp1[175] * sp1[56];
+ sp1[182] = sp1[175] * sp1[57];
+ sp1[183] = sp1[176] * sp1[58];
+ sp1[184] = sp1[176] * sp1[59];
+ sp1[185] = sp1[176] * sp1[56];
+ sp1[186] = sp1[176] * sp1[57];
+ sp1[187] = sp1[177] * sp1[58];
+ sp1[188] = sp1[177] * sp1[59];
+ sp1[189] = sp1[177] * sp1[56];
+ sp1[190] = sp1[177] * sp1[57];
+ sp1[191] = sp1[178] * sp1[58];
+ sp1[192] = sp1[178] * sp1[59];
+ sp1[193] = sp1[178] * sp1[56];
+ sp1[194] = sp1[178] * sp1[57];
+ sp1[195] = 2 * sp1[100];
+ sp1[196] = 2 * sp1[101];
+ sp1[197] = 2 * sp1[102];
+ sp1[198] = 2 * sp1[103];
+ sp1[199] = 2 * sp1[104];
+ sp1[200] = 2 * sp1[105];
+ sp1[201] = 2 * sp1[106];
+ sp1[202] = 2 * sp1[107];
+ sp1[203] = 2 * sp1[108];
+ sp1[204] = 2 * sp1[109];
+ sp1[205] = 2 * sp1[110];
+ sp1[206] = 2 * sp1[111];
+ sp1[207] = 2 * sp1[112];
+ sp1[208] = 2 * sp1[113];
+ sp1[209] = 2 * sp1[114];
+ sp1[210] = 2 * sp1[115];
+ sp1[211] = std::log(sp1[55]);
+ sp1[212] = sp1[195] * sp1[211];
+ sp1[213] = sp1[196] * sp1[211];
+ sp1[214] = sp1[197] * sp1[211];
+ sp1[215] = sp1[198] * sp1[211];
+ sp1[216] = sp1[199] * sp1[211];
+ sp1[217] = sp1[200] * sp1[211];
+ sp1[218] = sp1[201] * sp1[211];
+ sp1[219] = sp1[202] * sp1[211];
+ sp1[220] = sp1[203] * sp1[211];
+ sp1[221] = sp1[204] * sp1[211];
+ sp1[222] = sp1[205] * sp1[211];
+ sp1[223] = sp1[206] * sp1[211];
+ sp1[224] = sp1[207] * sp1[211];
+ sp1[225] = sp1[208] * sp1[211];
+ sp1[226] = sp1[209] * sp1[211];
+ sp1[227] = sp1[210] * sp1[211];
+ sp1[228] = sp1[179] + sp1[212];
+ sp1[229] = sp1[183] + sp1[213];
+ sp1[230] = sp1[187] + sp1[214];
+ sp1[231] = sp1[191] + sp1[215];
+ sp1[232] = sp1[180] + sp1[216];
+ sp1[233] = sp1[184] + sp1[217];
+ sp1[234] = sp1[188] + sp1[218];
+ sp1[235] = sp1[192] + sp1[219];
+ sp1[236] = sp1[181] + sp1[220];
+ sp1[237] = sp1[182] + sp1[221];
+ sp1[238] = sp1[185] + sp1[222];
+ sp1[239] = sp1[186] + sp1[223];
+ sp1[240] = sp1[189] + sp1[224];
+ sp1[241] = sp1[190] + sp1[225];
+ sp1[242] = sp1[193] + sp1[226];
+ sp1[243] = sp1[194] + sp1[227];
+ sp1[244] = w[2][0] / 2;
+ sp1[245] = sp1[228] * sp1[244];
+ sp1[246] = sp1[229] * sp1[244];
+ sp1[247] = sp1[230] * sp1[244];
+ sp1[248] = sp1[231] * sp1[244];
+ sp1[249] = sp1[232] * sp1[244];
+ sp1[250] = sp1[233] * sp1[244];
+ sp1[251] = sp1[234] * sp1[244];
+ sp1[252] = sp1[235] * sp1[244];
+ sp1[253] = sp1[236] * sp1[244];
+ sp1[254] = sp1[237] * sp1[244];
+ sp1[255] = sp1[238] * sp1[244];
+ sp1[256] = sp1[239] * sp1[244];
+ sp1[257] = sp1[240] * sp1[244];
+ sp1[258] = sp1[241] * sp1[244];
+ sp1[259] = sp1[242] * sp1[244];
+ sp1[260] = sp1[243] * sp1[244];
+ sp1[261] = sp1[132] + sp1[245];
+ sp1[262] = sp1[133] + sp1[246];
+ sp1[263] = sp1[167] + sp1[247];
+ sp1[264] = sp1[168] + sp1[248];
+ sp1[265] = sp1[136] + sp1[249];
+ sp1[266] = sp1[137] + sp1[250];
+ sp1[267] = sp1[169] + sp1[251];
+ sp1[268] = sp1[170] + sp1[252];
+ sp1[269] = sp1[171] + sp1[253];
+ sp1[270] = sp1[172] + sp1[254];
+ sp1[271] = sp1[173] + sp1[255];
+ sp1[272] = sp1[174] + sp1[256];
+ sp1[273] = sp1[144] + sp1[257];
+ sp1[274] = sp1[145] + sp1[258];
+ sp1[275] = sp1[146] + sp1[259];
+ sp1[276] = sp1[147] + sp1[260];
+ sp1[277] = std::abs(sp1[3]);
+ // Only 1 quadrature point, no loop
+ {
+ // Quadrature loop body setup (num_points=1)
+ // Unstructured varying computations
+ alignas(32) double sv1[17];
+ sv1[0] = weights1[0] * sp1[277];
+ sv1[1] = sp1[261] * sv1[0];
+ sv1[2] = sp1[262] * sv1[0];
+ sv1[3] = sp1[263] * sv1[0];
+ sv1[4] = sp1[264] * sv1[0];
+ sv1[5] = sp1[265] * sv1[0];
+ sv1[6] = sp1[266] * sv1[0];
+ sv1[7] = sp1[267] * sv1[0];
+ sv1[8] = sp1[268] * sv1[0];
+ sv1[9] = sp1[269] * sv1[0];
+ sv1[10] = sp1[270] * sv1[0];
+ sv1[11] = sp1[271] * sv1[0];
+ sv1[12] = sp1[272] * sv1[0];
+ sv1[13] = sp1[273] * sv1[0];
+ sv1[14] = sp1[274] * sv1[0];
+ sv1[15] = sp1[275] * sv1[0];
+ sv1[16] = sp1[276] * sv1[0];
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[9] * FE16_C0_D10_Q1[0][0][ia0 - 0] * FE16_C0_D10_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
{
- // Number of operations to compute entry: 449
- A[j*6 + k] += (((((((((((((K[0]*FE1_C1_D10[0][k] + K[2]*FE1_C1_D01[0][k]))*((K[1]*F3 + K[3]*F4)) + ((K[1]*FE1_C0_D10[0][k] + K[3]*FE1_C0_D01[0][k]))*((K[0]*F1 + K[2]*F2))))*(-1.0) + (((K[0]*FE1_C0_D10[0][k] + K[2]*FE1_C0_D01[0][k]))*(((K[1]*F1 + K[3]*F2) + 1.0)) + ((K[1]*FE1_C1_D10[0][k] + K[3]*FE1_C1_D01[0][k]))*(((K[0]*F3 + K[2]*F4) + 1.0)))))*((((((K[0]*FE1_C1_D10[0][j] + K[2]*FE1_C1_D01[0][j]))*((K[1]*F3 + K[3]*F4)) + ((K[1]*FE1_C0_D10[0][j] + K[3]*FE1_C0_D01[0][j]))*((K[0] [...]
- } // end loop over 'k'
- } // end loop over 'j'
- } // end loop over 'ip'
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[10] * FE16_C0_D10_Q1[0][0][ia0 - 0] * FE16_C0_D01_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[5] * FE16_C0_D10_Q1[0][0][ia0 - 0] * FE16_C0_D10_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 2; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[1] * FE16_C0_D10_Q1[0][0][ia0 - 0] * FE16_C0_D01_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[11] * FE16_C0_D01_Q1[0][0][ia0 - 0] * FE16_C0_D10_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[12] * FE16_C0_D01_Q1[0][0][ia0 - 0] * FE16_C0_D01_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[6] * FE16_C0_D01_Q1[0][0][ia0 - 0] * FE16_C0_D10_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 0; ia0 < 3; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[2] * FE16_C0_D01_Q1[0][0][ia0 - 0] * FE16_C0_D01_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[15] * FE16_C0_D10_Q1[0][0][ia0 - 3] * FE16_C0_D10_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[16] * FE16_C0_D10_Q1[0][0][ia0 - 3] * FE16_C0_D01_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[8] * FE16_C0_D10_Q1[0][0][ia0 - 3] * FE16_C0_D10_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 3; ia0 < 5; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[4] * FE16_C0_D10_Q1[0][0][ia0 - 3] * FE16_C0_D01_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 2; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[13] * FE16_C0_D01_Q1[0][0][ia0 - 3] * FE16_C0_D10_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 0; ia1 < 3; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[14] * FE16_C0_D01_Q1[0][0][ia0 - 3] * FE16_C0_D01_Q1[0][0][ia1 - 0];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 5; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[7] * FE16_C0_D01_Q1[0][0][ia0 - 3] * FE16_C0_D10_Q1[0][0][ia1 - 3];
+ }
+ }
+ for (int ia0 = 3; ia0 < 6; ++ia0)
+ {
+ for (int ia1 = 3; ia1 < 6; ++ia1)
+ {
+ A[6 * ia0 + ia1] += sv1[3] * FE16_C0_D01_Q1[0][0][ia0 - 3] * FE16_C0_D01_Q1[0][0][ia1 - 3];
+ }
+ }
+ }
}
};
@@ -4364,10 +5168,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4383,10 +5187,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_F(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_F(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4644,10 +5448,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4663,10 +5467,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_J(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/contact-vi-snes/cpp/compile.log b/demo/undocumented/contact-vi-snes/cpp/compile.log
deleted file mode 100644
index c71e76b..0000000
--- a/demo/undocumented/contact-vi-snes/cpp/compile.log
+++ /dev/null
@@ -1,439 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Compiling form HyperElasticity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 4
- Coefficients: '[w_0, w_1, w_2, w_3]'
- Unique elements: 'Vector<2 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<2 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_2, w_3]'
- Unique elements: 'Vector<2 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<2 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.048768 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0., 0., 0., -1., 0., 1.],
- [ 0., 0., 0., -1., 0., 1.],
- [ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0_D01': array([[-1., 0., 1., 0., 0., 0.],
- [-1., 0., 1., 0., 0., 0.],
- [-1., 0., 1., 0., 0., 0.]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C1_D10': ('FE1_C1_D10', (), False, False), 'FE0': ('FE0', (), False, True), 'FE1_C1_D01': ('FE1_C1_D01', (), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (), False, False), 'FE1_C0_D10': ('FE1_C0_D10', (), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0_D01': array([[-1., 0., 1., 0., 0., 0.]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C1_D10': ('FE1_C1_D10', (), False, False), 'FE0': ('FE0', (), False, True), 'FE1_C1_D01': ('FE1_C1_D01', (), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (), False, False), 'FE1_C0_D10': ('FE1_C0_D10', (), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.091553 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Skipping optimizations, add -O to optimize
-
-Compiler stage 3 finished in 0.000175953 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.081141 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000962973 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000764132 seconds.
-
-FFC finished in 0.223773 seconds.
-Output written to ./HyperElasticity.h.
diff --git a/demo/undocumented/contact-vi-tao/cpp/CMakeLists.txt b/demo/undocumented/contact-vi-tao/cpp/CMakeLists.txt
index 5803d67..2e8017f 100644
--- a/demo/undocumented/contact-vi-tao/cpp/CMakeLists.txt
+++ b/demo/undocumented/contact-vi-tao/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_contact-vi-tao)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/contact-vi-tao/cpp/Elasticity.h b/demo/undocumented/contact-vi-tao/cpp/Elasticity.h
index ed639da..d737f4f 100644
--- a/demo/undocumented/contact-vi-tao/cpp/Elasticity.h
+++ b/demo/undocumented/contact-vi-tao/cpp/Elasticity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2776,6 +2768,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2864,6 +2880,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2971,6 +3072,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3074,6 +3199,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3195,6 +3417,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3260,6 +3506,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3304,6 +3630,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3438,6 +3779,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 15
@@ -4272,10 +4628,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4291,10 +4647,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4474,10 +4830,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4493,10 +4849,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/contact-vi-tao/cpp/compile.log b/demo/undocumented/contact-vi-tao/cpp/compile.log
deleted file mode 100644
index f3cec1f..0000000
--- a/demo/undocumented/contact-vi-tao/cpp/compile.log
+++ /dev/null
@@ -1,334 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Compiling form Elasticity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 2
- Coefficients: '[w_1, w_2]'
- Unique elements: 'Vector<2 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<2 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal Identity.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Vector<2 x CG1(?)>'
- Unique sub elements: 'Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0760391 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0.33333333],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]],
-
- [[ 0. ],
- [ 0.33333333]]])}}}, FiniteElement('Real', triangle, 0): {None: {None: {(0, 0): array([[ 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
- 0.33333333]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.33333333, 0.33333333, 0.33333333]]), 'FE0': array([[ 1.]]), 'FE1_C0_D01': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, True), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000959 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0473549 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00879693 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.114696 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000829935 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000618935 seconds.
-
-FFC finished in 0.248768 seconds.
-Output written to ./Elasticity.h.
diff --git a/demo/undocumented/contact-vi-tao/cpp/main.cpp b/demo/undocumented/contact-vi-tao/cpp/main.cpp
index 9bcf624..7456b58 100644
--- a/demo/undocumented/contact-vi-tao/cpp/main.cpp
+++ b/demo/undocumented/contact-vi-tao/cpp/main.cpp
@@ -108,7 +108,7 @@ int main()
PETScVector& xu = (*xu_f.vector()).down_cast<PETScVector>(); // Upper bound
// Solve the problem with the TAO Solver
- TAOLinearBoundSolver TAOSolver("tron","stcg");
+ TAOLinearBoundSolver TAOSolver("tron", "cg");
// Set some parameters
TAOSolver.parameters["monitor_convergence"] = true;
diff --git a/demo/undocumented/curl-curl/cpp/CMakeLists.txt b/demo/undocumented/curl-curl/cpp/CMakeLists.txt
index c244224..c325b01 100644
--- a/demo/undocumented/curl-curl/cpp/CMakeLists.txt
+++ b/demo/undocumented/curl-curl/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_curl-curl)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/curl-curl/cpp/CurrentDensity.h b/demo/undocumented/curl-curl/cpp/CurrentDensity.h
index d492451..d87ad52 100644
--- a/demo/undocumented/curl-curl/cpp/CurrentDensity.h
+++ b/demo/undocumented/curl-curl/cpp/CurrentDensity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4387,7 +4356,7 @@ public:
{0.0, 0.0, 0.0, 0.0};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835056, -0.105409255338946, -0.074535599249993};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4473,13 +4442,13 @@ public:
// Table(s) of coefficients
static const double coefficients0[4] = \
- {0.288675134594812, 0.0, 0.0, 0.223606797749979};
+ {0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients1[4] = \
{0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients2[4] = \
- {0.577350269189625, -0.182574185835056, -0.105409255338946, 0.149071198499986};
+ {0.577350269189626, -0.182574185835055, -0.105409255338946, 0.149071198499986};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4522,10 +4491,10 @@ public:
{0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
static const double coefficients1[4] = \
- {0.577350269189626, -0.182574185835055, 0.105409255338946, -0.149071198499986};
+ {0.577350269189626, -0.182574185835056, 0.105409255338946, -0.149071198499986};
static const double coefficients2[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
+ {0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4568,10 +4537,10 @@ public:
{0.577350269189626, 0.0, -0.210818510677892, -0.149071198499986};
static const double coefficients1[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4954,7 +4923,7 @@ public:
{0.0, 0.0, 0.0, 0.0};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835056, -0.105409255338946, -0.074535599249993};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5312,13 +5281,13 @@ public:
// Table(s) of coefficients
static const double coefficients0[4] = \
- {0.288675134594812, 0.0, 0.0, 0.223606797749979};
+ {0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients1[4] = \
{0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients2[4] = \
- {0.577350269189625, -0.182574185835056, -0.105409255338946, 0.149071198499986};
+ {0.577350269189626, -0.182574185835055, -0.105409255338946, 0.149071198499986};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5497,10 +5466,10 @@ public:
{0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
static const double coefficients1[4] = \
- {0.577350269189626, -0.182574185835055, 0.105409255338946, -0.149071198499986};
+ {0.577350269189626, -0.182574185835056, 0.105409255338946, -0.149071198499986};
static const double coefficients2[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
+ {0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5679,10 +5648,10 @@ public:
{0.577350269189626, 0.0, -0.210818510677892, -0.149071198499986};
static const double coefficients1[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5925,7 +5894,6 @@ public:
// Declare variable for physical coordinates
double y[3];
- double result;
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -5937,8 +5905,7 @@ public:
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 1:
@@ -5947,8 +5914,7 @@ public:
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 2:
@@ -5957,8 +5923,7 @@ public:
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
break;
}
case 3:
@@ -5967,8 +5932,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 4:
@@ -5977,8 +5941,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- return result;
+ return (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
break;
}
case 5:
@@ -5987,8 +5950,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
- return result;
+ return (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
break;
}
}
@@ -6008,7 +5970,6 @@ public:
// Declare variable for physical coordinates
double y[3];
- double result;
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -6016,38 +5977,32 @@ public:
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[0] = result;
+ values[0] = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[1] = result;
+ values[1] = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- values[2] = result;
+ values[2] = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[3] = result;
+ values[3] = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- values[4] = result;
+ values[4] = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
- values[5] = result;
+ values[5] = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
}
void interpolate_vertex_values(double * vertex_values,
@@ -6220,6 +6175,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6329,6 +6313,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6446,6 +6580,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6599,19 +6762,233 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new currentdensity_dofmap_0();
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new currentdensity_dofmap_0();
break;
}
case 1:
@@ -6735,6 +7112,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 1;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6856,6 +7262,152 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 4;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 2;
+ dofs[1] = 4;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6900,6 +7452,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 24
@@ -7095,6 +7662,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 1
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 216
// Number of operations (multiply-add pairs) for tensor contraction: 426
@@ -7223,18 +7805,18 @@ public:
const double G5_5_2_0 = det*w[0][5]*K[6]*K[1]*(1.0);
// Compute element tensor
- A[0] = -0.0416666666666667*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666667*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666667*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666666*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666667*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666666*G0_5_0_2 + [...]
- A[1] = -0.0416666666666666*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666667*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666666*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666667*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666666*G0_5_0_2 + [...]
- A[2] = -0.0416666666666666*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666667*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666666*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666667*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666666*G0_5_0_2 + [...]
- A[3] = -0.0416666666666666*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666667*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666666*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666667*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666666*G0_5_0_2 + [...]
- A[4] = -0.0416666666666667*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666667*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666667*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666666*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666667*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666666*G2_5_0_2 + [...]
- A[5] = -0.0416666666666666*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666667*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666666*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666667*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666666*G2_5_0_2 + [...]
- A[6] = -0.0416666666666666*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666667*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666666*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666667*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666666*G2_5_0_2 + [...]
- A[7] = -0.0416666666666666*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666667*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666666*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666667*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666666*G2_5_0_2 + [...]
- A[8] = -0.0416666666666667*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666667*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666667*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666666*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666667*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666666*G4_5_0_2 + [...]
- A[9] = -0.0416666666666666*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666667*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666666*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666667*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666666*G4_5_0_2 + [...]
- A[10] = -0.0416666666666666*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666667*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666666*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666667*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666666*G4_5_0_2 + [...]
- A[11] = -0.0416666666666666*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666667*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666666*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666667*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666666*G4_5_0_2 + [...]
+ A[0] = -0.0416666666666667*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666667*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666667*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666667*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666667*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666667*G0_5_0_2 + [...]
+ A[1] = -0.0416666666666667*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666666*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666667*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666666*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666667*G0_5_0_2 + [...]
+ A[2] = -0.0416666666666667*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666666*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666667*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666666*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666667*G0_5_0_2 + [...]
+ A[3] = -0.0416666666666667*G0_0_1_2 + 0.0416666666666667*G0_0_2_1 - 0.0416666666666666*G0_1_0_2 + 0.0416666666666667*G0_1_2_0 - 0.0416666666666666*G0_2_0_1 + 0.0416666666666667*G0_2_1_0 + 0.0416666666666666*G0_3_0_2 + 0.0416666666666667*G0_3_1_2 - 0.0416666666666667*G0_3_2_0 - 0.0416666666666667*G0_3_2_1 + 0.0416666666666666*G0_4_0_1 - 0.0416666666666667*G0_4_1_0 - 0.0416666666666667*G0_4_1_2 + 0.0416666666666667*G0_4_2_1 - 0.0416666666666667*G0_5_0_1 - 0.0416666666666667*G0_5_0_2 + [...]
+ A[4] = -0.0416666666666667*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666667*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666667*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666667*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666667*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666667*G2_5_0_2 + [...]
+ A[5] = -0.0416666666666667*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666666*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666667*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666666*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666667*G2_5_0_2 + [...]
+ A[6] = -0.0416666666666667*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666666*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666667*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666666*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666667*G2_5_0_2 + [...]
+ A[7] = -0.0416666666666667*G2_0_1_2 + 0.0416666666666667*G2_0_2_1 - 0.0416666666666666*G2_1_0_2 + 0.0416666666666667*G2_1_2_0 - 0.0416666666666666*G2_2_0_1 + 0.0416666666666667*G2_2_1_0 + 0.0416666666666666*G2_3_0_2 + 0.0416666666666667*G2_3_1_2 - 0.0416666666666667*G2_3_2_0 - 0.0416666666666667*G2_3_2_1 + 0.0416666666666666*G2_4_0_1 - 0.0416666666666667*G2_4_1_0 - 0.0416666666666667*G2_4_1_2 + 0.0416666666666667*G2_4_2_1 - 0.0416666666666667*G2_5_0_1 - 0.0416666666666667*G2_5_0_2 + [...]
+ A[8] = -0.0416666666666667*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666667*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666667*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666667*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666667*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666667*G4_5_0_2 + [...]
+ A[9] = -0.0416666666666667*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666666*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666667*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666666*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666667*G4_5_0_2 + [...]
+ A[10] = -0.0416666666666667*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666666*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666667*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666666*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666667*G4_5_0_2 + [...]
+ A[11] = -0.0416666666666667*G4_0_1_2 + 0.0416666666666667*G4_0_2_1 - 0.0416666666666666*G4_1_0_2 + 0.0416666666666667*G4_1_2_0 - 0.0416666666666666*G4_2_0_1 + 0.0416666666666667*G4_2_1_0 + 0.0416666666666666*G4_3_0_2 + 0.0416666666666667*G4_3_1_2 - 0.0416666666666667*G4_3_2_0 - 0.0416666666666667*G4_3_2_1 + 0.0416666666666666*G4_4_0_1 - 0.0416666666666667*G4_4_1_0 - 0.0416666666666667*G4_4_1_2 + 0.0416666666666667*G4_4_2_1 - 0.0416666666666667*G4_5_0_1 - 0.0416666666666667*G4_5_0_2 + [...]
}
};
@@ -7937,10 +8519,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8103,10 +8685,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8122,10 +8704,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/curl-curl/cpp/EddyCurrents.h b/demo/undocumented/curl-curl/cpp/EddyCurrents.h
index ad95308..e82e0f2 100644
--- a/demo/undocumented/curl-curl/cpp/EddyCurrents.h
+++ b/demo/undocumented/curl-curl/cpp/EddyCurrents.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4387,7 +4356,7 @@ public:
{0.0, 0.0, 0.0, 0.0};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835056, -0.105409255338946, -0.074535599249993};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4473,13 +4442,13 @@ public:
// Table(s) of coefficients
static const double coefficients0[4] = \
- {0.288675134594812, 0.0, 0.0, 0.223606797749979};
+ {0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients1[4] = \
{0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients2[4] = \
- {0.577350269189625, -0.182574185835056, -0.105409255338946, 0.149071198499986};
+ {0.577350269189626, -0.182574185835055, -0.105409255338946, 0.149071198499986};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4522,10 +4491,10 @@ public:
{0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
static const double coefficients1[4] = \
- {0.577350269189626, -0.182574185835055, 0.105409255338946, -0.149071198499986};
+ {0.577350269189626, -0.182574185835056, 0.105409255338946, -0.149071198499986};
static const double coefficients2[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
+ {0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4568,10 +4537,10 @@ public:
{0.577350269189626, 0.0, -0.210818510677892, -0.149071198499986};
static const double coefficients1[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
// Compute value(s)
for (unsigned int r = 0; r < 4; r++)
@@ -4954,7 +4923,7 @@ public:
{0.0, 0.0, 0.0, 0.0};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835056, -0.105409255338946, -0.074535599249993};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5312,13 +5281,13 @@ public:
// Table(s) of coefficients
static const double coefficients0[4] = \
- {0.288675134594812, 0.0, 0.0, 0.223606797749979};
+ {0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients1[4] = \
{0.288675134594813, 0.0, 0.0, 0.223606797749979};
static const double coefficients2[4] = \
- {0.577350269189625, -0.182574185835056, -0.105409255338946, 0.149071198499986};
+ {0.577350269189626, -0.182574185835055, -0.105409255338946, 0.149071198499986};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5497,10 +5466,10 @@ public:
{0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
static const double coefficients1[4] = \
- {0.577350269189626, -0.182574185835055, 0.105409255338946, -0.149071198499986};
+ {0.577350269189626, -0.182574185835056, 0.105409255338946, -0.149071198499986};
static const double coefficients2[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
+ {0.288675134594813, 0.0, 0.210818510677892, -0.0745355992499929};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5679,10 +5648,10 @@ public:
{0.577350269189626, 0.0, -0.210818510677892, -0.149071198499986};
static const double coefficients1[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
static const double coefficients2[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.0745355992499929};
+ {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[4][4] = \
@@ -5925,7 +5894,6 @@ public:
// Declare variable for physical coordinates
double y[3];
- double result;
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -5937,8 +5905,7 @@ public:
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 1:
@@ -5947,8 +5914,7 @@ public:
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 2:
@@ -5957,8 +5923,7 @@ public:
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
break;
}
case 3:
@@ -5967,8 +5932,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- return result;
+ return (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
break;
}
case 4:
@@ -5977,8 +5941,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- return result;
+ return (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
break;
}
case 5:
@@ -5987,8 +5950,7 @@ public:
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
- return result;
+ return (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
break;
}
}
@@ -6008,7 +5970,6 @@ public:
// Declare variable for physical coordinates
double y[3];
- double result;
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -6016,38 +5977,32 @@ public:
y[1] = 0.5*coordinate_dofs[7] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[8] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[0] = result;
+ values[0] = (-1.0)*(J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[1] = result;
+ values[1] = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[4] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[5] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- values[2] = result;
+ values[2] = (-1.0)*(J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]) + (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[9];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[10];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[11];
f.evaluate(vals, y, c);
- result = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
- values[3] = result;
+ values[3] = (J[2]*vals[0] + J[5]*vals[1] + J[8]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[6];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[7];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[8];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
- values[4] = result;
+ values[4] = (J[1]*vals[0] + J[4]*vals[1] + J[7]*vals[2]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[3];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[4];
y[2] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
- values[5] = result;
+ values[5] = (J[0]*vals[0] + J[3]*vals[1] + J[6]*vals[2]);
}
void interpolate_vertex_values(double * vertex_values,
@@ -6220,6 +6175,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6329,6 +6313,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6446,6 +6580,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6599,19 +6762,233 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new eddycurrents_dofmap_0();
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new eddycurrents_dofmap_0();
break;
}
case 1:
@@ -6735,6 +7112,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 1;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6856,6 +7262,152 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 4;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 2;
+ dofs[1] = 4;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6900,6 +7452,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -6924,7 +7491,7 @@ public:
// Values of basis functions at quadrature points.
static const double FE0_C0_D001[1][3] = \
- {{-1.0, 0.999999999999999, -1.0}};
+ {{-1.0, 1.0, -1.0}};
// Array of non-zero columns
static const unsigned int nzc1[3] = {1, 3, 5};
@@ -7085,6 +7652,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 54
// Number of operations (multiply-add pairs) for tensor contraction: 177
@@ -7141,12 +7723,12 @@ public:
const double G0_2_11_2 = det*w[0][11]*K[8]*(1.0);
// Compute element tensor
- A[0] = 0.00833333333333329*G0_1_0_0 + 0.00833333333333337*G0_1_1_0 + 0.00833333333333337*G0_1_2_0 + 0.0166666666666667*G0_1_3_0 + 0.00833333333333329*G0_1_4_1 + 0.00833333333333337*G0_1_5_1 + 0.00833333333333337*G0_1_6_1 + 0.0166666666666667*G0_1_7_1 + 0.00833333333333329*G0_1_8_2 + 0.00833333333333337*G0_1_9_2 + 0.00833333333333337*G0_1_10_2 + 0.0166666666666667*G0_1_11_2 - 0.00833333333333331*G0_2_0_0 - 0.00833333333333338*G0_2_1_0 - 0.0166666666666667*G0_2_2_0 - 0.0083333333333333 [...]
- A[1] = 0.00833333333333328*G0_0_0_0 + 0.00833333333333336*G0_0_1_0 + 0.00833333333333336*G0_0_2_0 + 0.0166666666666667*G0_0_3_0 + 0.00833333333333328*G0_0_4_1 + 0.00833333333333336*G0_0_5_1 + 0.00833333333333336*G0_0_6_1 + 0.0166666666666667*G0_0_7_1 + 0.00833333333333328*G0_0_8_2 + 0.00833333333333336*G0_0_9_2 + 0.00833333333333336*G0_0_10_2 + 0.0166666666666667*G0_0_11_2 - 0.0083333333333333*G0_2_0_0 - 0.0166666666666667*G0_2_1_0 - 0.00833333333333338*G0_2_2_0 - 0.00833333333333338 [...]
- A[2] = 0.00833333333333329*G0_0_0_0 + 0.00833333333333337*G0_0_1_0 + 0.0166666666666667*G0_0_2_0 + 0.00833333333333337*G0_0_3_0 + 0.00833333333333329*G0_0_4_1 + 0.00833333333333337*G0_0_5_1 + 0.0166666666666667*G0_0_6_1 + 0.00833333333333337*G0_0_7_1 + 0.00833333333333329*G0_0_8_2 + 0.00833333333333337*G0_0_9_2 + 0.0166666666666667*G0_0_10_2 + 0.00833333333333337*G0_0_11_2 - 0.0083333333333333*G0_1_0_0 - 0.0166666666666667*G0_1_1_0 - 0.00833333333333338*G0_1_2_0 - 0.00833333333333337 [...]
- A[3] = -0.00833333333333328*G0_0_0_0 - 0.00833333333333336*G0_0_1_0 - 0.00833333333333336*G0_0_2_0 - 0.0166666666666667*G0_0_3_0 - 0.00833333333333328*G0_0_4_1 - 0.00833333333333336*G0_0_5_1 - 0.00833333333333336*G0_0_6_1 - 0.0166666666666667*G0_0_7_1 - 0.00833333333333328*G0_0_8_2 - 0.00833333333333336*G0_0_9_2 - 0.00833333333333336*G0_0_10_2 - 0.0166666666666667*G0_0_11_2 - 0.00833333333333328*G0_1_0_0 - 0.00833333333333336*G0_1_1_0 - 0.00833333333333336*G0_1_2_0 - 0.01666666666666 [...]
- A[4] = -0.00833333333333329*G0_0_0_0 - 0.00833333333333337*G0_0_1_0 - 0.0166666666666667*G0_0_2_0 - 0.00833333333333337*G0_0_3_0 - 0.00833333333333329*G0_0_4_1 - 0.00833333333333337*G0_0_5_1 - 0.0166666666666667*G0_0_6_1 - 0.00833333333333337*G0_0_7_1 - 0.00833333333333329*G0_0_8_2 - 0.00833333333333337*G0_0_9_2 - 0.0166666666666667*G0_0_10_2 - 0.00833333333333337*G0_0_11_2 - 0.0249999999999999*G0_1_0_0 - 0.0166666666666667*G0_1_1_0 - 0.025*G0_1_2_0 - 0.0166666666666667*G0_1_3_0 - 0. [...]
- A[5] = -0.0249999999999999*G0_0_0_0 - 0.025*G0_0_1_0 - 0.0166666666666667*G0_0_2_0 - 0.0166666666666667*G0_0_3_0 - 0.0249999999999999*G0_0_4_1 - 0.025*G0_0_5_1 - 0.0166666666666667*G0_0_6_1 - 0.0166666666666667*G0_0_7_1 - 0.0249999999999999*G0_0_8_2 - 0.025*G0_0_9_2 - 0.0166666666666667*G0_0_10_2 - 0.0166666666666667*G0_0_11_2 - 0.00833333333333329*G0_1_0_0 - 0.0166666666666667*G0_1_1_0 - 0.00833333333333338*G0_1_2_0 - 0.00833333333333337*G0_1_3_0 - 0.00833333333333329*G0_1_4_1 - 0.0 [...]
+ A[0] = 0.0083333333333333*G0_1_0_0 + 0.00833333333333337*G0_1_1_0 + 0.00833333333333338*G0_1_2_0 + 0.0166666666666667*G0_1_3_0 + 0.0083333333333333*G0_1_4_1 + 0.00833333333333337*G0_1_5_1 + 0.00833333333333338*G0_1_6_1 + 0.0166666666666667*G0_1_7_1 + 0.0083333333333333*G0_1_8_2 + 0.00833333333333337*G0_1_9_2 + 0.00833333333333338*G0_1_10_2 + 0.0166666666666667*G0_1_11_2 - 0.00833333333333329*G0_2_0_0 - 0.00833333333333337*G0_2_1_0 - 0.0166666666666667*G0_2_2_0 - 0.00833333333333337*G [...]
+ A[1] = 0.00833333333333329*G0_0_0_0 + 0.00833333333333337*G0_0_1_0 + 0.00833333333333337*G0_0_2_0 + 0.0166666666666667*G0_0_3_0 + 0.00833333333333329*G0_0_4_1 + 0.00833333333333337*G0_0_5_1 + 0.00833333333333337*G0_0_6_1 + 0.0166666666666667*G0_0_7_1 + 0.00833333333333329*G0_0_8_2 + 0.00833333333333337*G0_0_9_2 + 0.00833333333333337*G0_0_10_2 + 0.0166666666666667*G0_0_11_2 - 0.00833333333333328*G0_2_0_0 - 0.0166666666666667*G0_2_1_0 - 0.00833333333333337*G0_2_2_0 - 0.0083333333333333 [...]
+ A[2] = 0.00833333333333328*G0_0_0_0 + 0.00833333333333336*G0_0_1_0 + 0.0166666666666667*G0_0_2_0 + 0.00833333333333336*G0_0_3_0 + 0.00833333333333328*G0_0_4_1 + 0.00833333333333336*G0_0_5_1 + 0.0166666666666667*G0_0_6_1 + 0.00833333333333336*G0_0_7_1 + 0.00833333333333328*G0_0_8_2 + 0.00833333333333336*G0_0_9_2 + 0.0166666666666667*G0_0_10_2 + 0.00833333333333336*G0_0_11_2 - 0.0083333333333333*G0_1_0_0 - 0.0166666666666667*G0_1_1_0 - 0.00833333333333338*G0_1_2_0 - 0.00833333333333338 [...]
+ A[3] = -0.00833333333333329*G0_0_0_0 - 0.00833333333333337*G0_0_1_0 - 0.00833333333333337*G0_0_2_0 - 0.0166666666666667*G0_0_3_0 - 0.00833333333333329*G0_0_4_1 - 0.00833333333333337*G0_0_5_1 - 0.00833333333333337*G0_0_6_1 - 0.0166666666666667*G0_0_7_1 - 0.00833333333333329*G0_0_8_2 - 0.00833333333333337*G0_0_9_2 - 0.00833333333333337*G0_0_10_2 - 0.0166666666666667*G0_0_11_2 - 0.00833333333333329*G0_1_0_0 - 0.00833333333333337*G0_1_1_0 - 0.00833333333333337*G0_1_2_0 - 0.01666666666666 [...]
+ A[4] = -0.00833333333333329*G0_0_0_0 - 0.00833333333333337*G0_0_1_0 - 0.0166666666666667*G0_0_2_0 - 0.00833333333333337*G0_0_3_0 - 0.00833333333333329*G0_0_4_1 - 0.00833333333333337*G0_0_5_1 - 0.0166666666666667*G0_0_6_1 - 0.00833333333333337*G0_0_7_1 - 0.00833333333333329*G0_0_8_2 - 0.00833333333333337*G0_0_9_2 - 0.0166666666666667*G0_0_10_2 - 0.00833333333333337*G0_0_11_2 - 0.0249999999999998*G0_1_0_0 - 0.0166666666666666*G0_1_1_0 - 0.025*G0_1_2_0 - 0.0166666666666667*G0_1_3_0 - 0. [...]
+ A[5] = -0.0249999999999999*G0_0_0_0 - 0.025*G0_0_1_0 - 0.0166666666666667*G0_0_2_0 - 0.0166666666666667*G0_0_3_0 - 0.0249999999999999*G0_0_4_1 - 0.025*G0_0_5_1 - 0.0166666666666667*G0_0_6_1 - 0.0166666666666667*G0_0_7_1 - 0.0249999999999999*G0_0_8_2 - 0.025*G0_0_9_2 - 0.0166666666666667*G0_0_10_2 - 0.0166666666666667*G0_0_11_2 - 0.0083333333333333*G0_1_0_0 - 0.0166666666666667*G0_1_1_0 - 0.00833333333333338*G0_1_2_0 - 0.00833333333333338*G0_1_3_0 - 0.0083333333333333*G0_1_4_1 - 0.016 [...]
}
};
@@ -7849,10 +8431,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8015,10 +8597,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8034,10 +8616,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/curl-curl/cpp/P1Space.h b/demo/undocumented/curl-curl/cpp/P1Space.h
index 6d02545..c2eff86 100644
--- a/demo/undocumented/curl-curl/cpp/P1Space.h
+++ b/demo/undocumented/curl-curl/cpp/P1Space.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -1355,6 +1356,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1464,6 +1494,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/curl-curl/cpp/compile.log b/demo/undocumented/curl-curl/cpp/compile.log
deleted file mode 100644
index cf4d8a3..0000000
--- a/demo/undocumented/curl-curl/cpp/compile.log
+++ /dev/null
@@ -1,1251 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form CurrentDensity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Vector<3 x CG1(?)>'
- Unique sub elements: 'Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Vector<3 x CG1(?)>, N1curl1(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, N1curl1(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
-Compiler stage 1 finished in 0.151629 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.0013 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 2 dims = [12, 12] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [3, 10], [3, 11], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [...]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00146 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00144 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00143 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00144 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00142 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.00143 seconds
- Shape of reference tensor: (12, 6, 3, 3)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [6, 3, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2], [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 2, 0], [3, 2, 1], [3, 2, 2], [4, 0, 0], [4, 0, 1], [4, 0, 2], [ [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.028836 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000182152 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.387877 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00071311 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000742912 seconds.
-
-FFC finished in 0.570383 seconds.
-Output written to ./CurrentDensity.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form EddyCurrents
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'N1curl1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'N1curl1(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'N1curl1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'N1curl1(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.270008 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {FiniteElement('Nedelec 1st kind H(curl)', tetrahedron, 1): {None: {None: {(1, 0, 0): array([[[ 1.60341042e-31],
- [ -3.04047097e-16],
- [ 1.14017661e-16]],
-
- [[ -3.79213356e-16],
- [ -1.90029436e-17],
- [ 1.00000000e+00]],
-
- [[ -5.82117938e-16],
- [ 1.00000000e+00],
- [ -1.71026492e-16]],
-
- [[ 3.79213356e-16],
- [ 1.52023549e-16],
- [ -1.00000000e+00]],
-
- [[ 5.82117938e-16],
- [ -1.00000000e+00],
- [ 5.32082420e-16]],
-
- [[ -9.61331293e-16],
- [ 1.00000000e+00],
- [ 1.00000000e+00]]]), (0, 1, 0): array([[[ -6.58281275e-17],
- [ -1.84937612e-16],
- [ 1.00000000e+00]],
-
- [[ -1.56692614e-16],
- [ 3.98696239e-17],
- [ 3.33066907e-16]],
-
- [[ -1.00000000e+00],
- [ 4.44089210e-16],
- [ 2.10713328e-16]],
-
- [[ 3.87091060e-16],
- [ 1.74753966e-16],
- [ -1.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ -6.10622664e-16],
- [ 1.00000000e+00]],
-
- [[ -1.00000000e+00],
- [ 4.99600361e-16],
- [ 3.88578059e-16]]]), (0, 0, 0): array([[[ 1.82237253e-17],
- [ -2.50000000e-01],
- [ 2.50000000e-01]],
-
- [[ -2.50000000e-01],
- [ 7.25571004e-17],
- [ 2.50000000e-01]],
-
- [[ -2.50000000e-01],
- [ 2.50000000e-01],
- [ 4.85670141e-17]],
-
- [[ 2.50000000e-01],
- [ 2.50000000e-01],
- [ 5.00000000e-01]],
-
- [[ 2.50000000e-01],
- [ 5.00000000e-01],
- [ 2.50000000e-01]],
-
- [[ 5.00000000e-01],
- [ 2.50000000e-01],
- [ 2.50000000e-01]]]), (0, 0, 1): array([[[ 4.12500768e-16],
- [ -1.00000000e+00],
- [ 4.44089210e-16]],
-
- [[ -1.00000000e+00],
- [ 4.10367360e-16],
- [ 4.44089210e-16]],
-
- [[ -2.77555756e-16],
- [ 1.66533454e-16],
- [ 1.32289452e-17]],
-
- [[ 1.00000000e+00],
- [ 1.00000000e+00],
- [ -7.77156117e-16]],
-
- [[ 4.44089210e-16],
- [ -1.00000000e+00],
- [ 3.33066907e-16]],
-
- [[ -1.00000000e+00],
- [ 4.99600361e-16],
- [ 4.99600361e-16]]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C2_D001': array([[ 4.44089210e-16, 4.44089210e-16, 1.32289452e-17,
- -7.77156117e-16, 3.33066907e-16, 4.99600361e-16]]), 'FE0_C1_D010': array([[ -1.84937612e-16, 3.98696239e-17, 4.44089210e-16,
- 1.74753966e-16, -6.10622664e-16, 4.99600361e-16]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D010': array([[ -6.58281275e-17, -1.56692614e-16, -1.00000000e+00,
- 3.87091060e-16, 1.00000000e+00, -1.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2': array([[ 2.50000000e-01, 2.50000000e-01, 4.85670141e-17,
- 5.00000000e-01, 2.50000000e-01, 2.50000000e-01]]), 'FE0_C1': array([[ -2.50000000e-01, 7.25571004e-17, 2.50000000e-01,
- 2.50000000e-01, 5.00000000e-01, 2.50000000e-01]]), 'FE0_C0': array([[ 1.82237253e-17, -2.50000000e-01, -2.50000000e-01,
- 2.50000000e-01, 2.50000000e-01, 5.00000000e-01]]), 'FE0_C2_D010': array([[ 1.00000000e+00, 3.33066907e-16, 2.10713328e-16,
- -1.00000000e+00, 1.00000000e+00, 3.88578059e-16]]), 'FE0_C2_D100': array([[ 1.14017661e-16, 1.00000000e+00, -1.71026492e-16,
- -1.00000000e+00, 5.32082420e-16, 1.00000000e+00]]), 'FE0_C1_D001': array([[ -1.00000000e+00, 4.10367360e-16, 1.66533454e-16,
- 1.00000000e+00, -1.00000000e+00, 4.99600361e-16]]), 'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE0_C1_D100': array([[ -3.04047097e-16, -1.90029436e-17, 1.00000000e+00,
- 1.52023549e-16, -1.00000000e+00, 1.00000000e+00]]), 'FE0_C0_D100': array([[ 1.60341042e-31, -3.79213356e-16, -5.82117938e-16,
- 3.79213356e-16, 5.82117938e-16, -9.61331293e-16]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE0_C0_D001': array([[ 4.12500768e-16, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 4.44089210e-16, -1.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]])}
-
- tables: {'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0_C0_D010': array([[ -6.58281275e-17, -1.56692614e-16, -1.00000000e+00,
- 3.87091060e-16, 1.00000000e+00, -1.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C2': array([[ 2.50000000e-01, 2.50000000e-01, 4.85670141e-17,
- 5.00000000e-01, 2.50000000e-01, 2.50000000e-01]]), 'FE0_C1': array([[ -2.50000000e-01, 7.25571004e-17, 2.50000000e-01,
- 2.50000000e-01, 5.00000000e-01, 2.50000000e-01]]), 'FE0_C0': array([[ 1.82237253e-17, -2.50000000e-01, -2.50000000e-01,
- 2.50000000e-01, 2.50000000e-01, 5.00000000e-01]]), 'FE0_C2_D010': array([[ 1.00000000e+00, 3.33066907e-16, 2.10713328e-16,
- -1.00000000e+00, 1.00000000e+00, 3.88578059e-16]]), 'FE0_C2_D100': array([[ 1.14017661e-16, 1.00000000e+00, -1.71026492e-16,
- -1.00000000e+00, 5.32082420e-16, 1.00000000e+00]]), 'FE0_C1_D001': array([[ -1.00000000e+00, 4.10367360e-16, 1.66533454e-16,
- 1.00000000e+00, -1.00000000e+00, 4.99600361e-16]]), 'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE0_C1_D100': array([[ -3.04047097e-16, -1.90029436e-17, 1.00000000e+00,
- 1.52023549e-16, -1.00000000e+00, 1.00000000e+00]]), 'FE0_C0_D100': array([[ 1.60341042e-31, -3.79213356e-16, -5.82117938e-16,
- 3.79213356e-16, 5.82117938e-16, -9.61331293e-16]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE0_C0_D001': array([[ 4.12500768e-16, -1.00000000e+00, -2.77555756e-16,
- 1.00000000e+00, 4.44089210e-16, -1.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]])}
-
- name_map: {'FE0_C0_D100': ['FE0_C1_D010', 'FE0_C2_D001']}
-
- inv_name_map: {'FE0_C2_D001': 'FE0_C0_D100', 'FE0_C1_D010': 'FE0_C0_D100', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C2_D010': 'FE1_C2_D010', 'FE0_C0_D010': 'FE0_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0', 'FE0_C2_D010': 'FE0_C2_D010', 'FE0_C2_D100': 'FE0_C2_D100', 'FE0_C1_D001': 'FE0_C1_D001', 'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE0_C1_D100': 'FE0_C1_D100', 'FE0_C0_D100': 'FE0_C0_D100', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C2': array([[ 0.25, 0.25, 0.5 , 0.25, 0.25]]), 'FE0_C1': array([[-0.25, 0.25, 0.25, 0.5 , 0.25]]), 'FE0_C0': array([[-0.25, -0.25, 0.25, 0.25, 0.5 ]]), 'FE1_C0_D001': array([[-1., 1.]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25]]), 'FE0_C1_D100': array([[ 1., -1., 1.]]), 'FE0_C0_D100': array([[ 0., 0., 0., 0., 0., 0.]]), 'FE0_C0_D001': array([[-1., 1., -1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C2_D001': ('FE0_C0_D100', (), True, False), 'FE0_C1_D010': ('FE0_C0_D100', (), True, False), 'FE1_C0_D010': ('FE1_C0_D001', (11, [0, 2]), False, False), 'FE1_C2_D010': ('FE1_C0_D001', (19, [8, 10]), False, False), 'FE0_C0_D010': ('FE0_C0_D001', (2, [2, 4, 5]), False, False), 'FE1_C1_D010': ('FE1_C0_D001', (15, [4, 6]), False, False), 'FE0_C2': ('FE0_C2', (6, [0, 1, 3, 4, 5]), False, False), 'FE0_C1': ('FE0_C1', (3, [0, 2, 3, 4, 5]), False, False), 'FE0_C0': ('FE0_C0', (0, [1, 2, [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 648 entries computed in 0.0016 seconds
- Shape of reference tensor: (6, 3, 12, 3)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 3 dims = [3, 12, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [0, 3, 0], [0, 3, 1], [0, 3, 2], [0, 4, 0], [0, 4, 1], [0, 4, 2], [0, 5, 0], [0, 5, 1], [0, 5, 2], [0, 6, 0], [0, 6, 1], [0, 6, 2], [0, 7, 0], [0, 7, 1], [0, 7, 2], [0, 8, 0], [0, 8, 1], [0, 8, 2], [0, 9, 0], [0, 9, 1], [0, 9, 2], [0, 10, 0], [0, 10, 1], [0, 10, 2], [0, 11, 0], [0, 11, 1], [0, 11, 2], [1, 0, 0], [1, 0, 1], [1, 0 [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [3, 12, 3] indices = [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [0, 2, 2], [0, 3, 0], [0, 3, 1], [0, 3, 2], [0, 4, 0], [0, 4, 1], [0, 4, 2], [0, 5, 0], [0, 5, 1], [0, 5, 2], [0, 6, 0], [0, 6, 1], [0, 6, 2], [0, 7, 0], [0, 7, 1], [0, 7, 2], [0, 8, 0], [0, 8, 1], [0, 8, 2], [0, 9, 0], [0, 9, 1], [0, 9, 2], [0, 10, 0], [0, 10, 1], [0, 10, 2], [0, 11, 0], [0, 11, 1], [0, 11, 2], [1, 0, 0], [1, 0, 1], [1, 0 [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.14319 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.112505 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.527659 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00155997 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.0012219 seconds.
-
-FFC finished in 1.05681 seconds.
-Output written to ./EddyCurrents.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P1Space
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000283003 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0772159 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000174999 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0963581 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000289917 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000469208 seconds.
-
-FFC finished in 0.175229 seconds.
-Output written to ./P1Space.h.
diff --git a/demo/undocumented/dg-advection-diffusion/cpp/AdvectionDiffusion.h b/demo/undocumented/dg-advection-diffusion/cpp/AdvectionDiffusion.h
index 4a11839..944212f 100644
--- a/demo/undocumented/dg-advection-diffusion/cpp/AdvectionDiffusion.h
+++ b/demo/undocumented/dg-advection-diffusion/cpp/AdvectionDiffusion.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6741,25 +6724,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -8114,6 +8088,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8234,6 +8232,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8341,6 +8430,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8484,6 +8597,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8605,16 +8827,40 @@ public:
return 0;
}
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
{
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ dofs[0] = entity_indices[0][0];
+ dofs[1] = entity_indices[0][1];
+ dofs[2] = entity_indices[0][2];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
std::size_t facet) const final override
{
switch (facet)
@@ -8693,6 +8939,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8800,6 +9131,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8903,6 +9258,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -9024,6 +9476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -9089,6 +9565,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -9196,6 +9752,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -9265,6 +9845,88 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -9309,6 +9971,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 46
// Number of operations (multiply-add pairs) for tensor contraction: 155
@@ -9357,15 +10034,15 @@ public:
const double G1_1_0_1 = det*(w[1][0]*((K[2]*K[2] + K[3]*K[3])));
// Compute element tensor
- A[0] = 0.0166666666666666*G0_0_0_0 + 0.0166666666666666*G0_0_0_1 - 0.00833333333333332*G0_1_0_0 - 0.00833333333333333*G0_1_0_1 - 0.00833333333333331*G0_2_0_0 - 0.00833333333333332*G0_2_0_1 + 0.0333333333333332*G0_3_0_0 + 0.0333333333333333*G0_3_0_1 + 0.0666666666666666*G0_4_0_0 + 0.0666666666666667*G0_4_0_1 + 0.0666666666666666*G0_5_0_0 + 0.0666666666666667*G0_5_0_1 + 0.0166666666666666*G0_6_1_0 + 0.0166666666666666*G0_6_1_1 - 0.00833333333333332*G0_7_1_0 - 0.00833333333333333*G0_7_1 [...]
- A[1] = -0.00833333333333331*G0_0_0_0 - 0.00833333333333333*G0_0_0_1 + 0.0166666666666666*G0_1_0_0 + 0.0166666666666666*G0_1_0_1 - 0.00833333333333331*G0_2_0_0 - 0.00833333333333332*G0_2_0_1 + 0.0666666666666666*G0_3_0_0 + 0.0666666666666667*G0_3_0_1 + 0.0333333333333333*G0_4_0_0 + 0.0333333333333333*G0_4_0_1 + 0.0666666666666666*G0_5_0_0 + 0.0666666666666667*G0_5_0_1 - 0.00833333333333331*G0_6_1_0 - 0.00833333333333333*G0_6_1_1 + 0.0166666666666666*G0_7_1_0 + 0.0166666666666666*G0_7_ [...]
- A[2] = -0.00833333333333331*G0_0_0_0 - 0.00833333333333332*G0_0_0_1 - 0.00833333333333332*G0_1_0_0 - 0.00833333333333333*G0_1_0_1 + 0.0166666666666666*G0_2_0_0 + 0.0166666666666666*G0_2_0_1 + 0.0666666666666666*G0_3_0_0 + 0.0666666666666667*G0_3_0_1 + 0.0666666666666666*G0_4_0_0 + 0.0666666666666667*G0_4_0_1 + 0.0333333333333332*G0_5_0_0 + 0.0333333333333333*G0_5_0_1 - 0.00833333333333331*G0_6_1_0 - 0.00833333333333332*G0_6_1_1 - 0.00833333333333332*G0_7_1_0 - 0.00833333333333333*G0_ [...]
- A[3] = -0.0166666666666666*G0_0_0_0 + 0.00833333333333332*G0_1_0_0 + 0.00833333333333331*G0_2_0_0 - 0.0333333333333332*G0_3_0_0 - 0.0666666666666666*G0_4_0_0 - 0.0666666666666666*G0_5_0_0 - 0.0166666666666666*G0_6_1_0 + 0.00833333333333332*G0_7_1_0 + 0.00833333333333331*G0_8_1_0 - 0.0333333333333332*G0_9_1_0 - 0.0666666666666666*G0_10_1_0 - 0.0666666666666666*G0_11_1_0 - 0.499999999999999*G1_0_0_0 - 0.5*G1_1_0_0;
- A[4] = 0.00833333333333331*G0_0_0_0 - 0.0166666666666666*G0_1_0_0 + 0.00833333333333331*G0_2_0_0 - 0.0666666666666666*G0_3_0_0 - 0.0333333333333333*G0_4_0_0 - 0.0666666666666666*G0_5_0_0 + 0.00833333333333331*G0_6_1_0 - 0.0166666666666666*G0_7_1_0 + 0.00833333333333331*G0_8_1_0 - 0.0666666666666666*G0_9_1_0 - 0.0333333333333333*G0_10_1_0 - 0.0666666666666666*G0_11_1_0 + 0.499999999999999*G1_0_0_0;
- A[5] = 0.00833333333333331*G0_0_0_0 + 0.00833333333333332*G0_1_0_0 - 0.0166666666666666*G0_2_0_0 - 0.0666666666666666*G0_3_0_0 - 0.0666666666666666*G0_4_0_0 - 0.0333333333333332*G0_5_0_0 + 0.00833333333333331*G0_6_1_0 + 0.00833333333333332*G0_7_1_0 - 0.0166666666666666*G0_8_1_0 - 0.0666666666666666*G0_9_1_0 - 0.0666666666666666*G0_10_1_0 - 0.0333333333333332*G0_11_1_0 + 0.5*G1_1_0_0;
+ A[0] = 0.0166666666666666*G0_0_0_0 + 0.0166666666666666*G0_0_0_1 - 0.00833333333333332*G0_1_0_0 - 0.00833333333333334*G0_1_0_1 - 0.00833333333333331*G0_2_0_0 - 0.00833333333333333*G0_2_0_1 + 0.0333333333333333*G0_3_0_0 + 0.0333333333333333*G0_3_0_1 + 0.0666666666666666*G0_4_0_0 + 0.0666666666666667*G0_4_0_1 + 0.0666666666666666*G0_5_0_0 + 0.0666666666666667*G0_5_0_1 + 0.0166666666666666*G0_6_1_0 + 0.0166666666666666*G0_6_1_1 - 0.00833333333333332*G0_7_1_0 - 0.00833333333333334*G0_7_1 [...]
+ A[1] = -0.0083333333333333*G0_0_0_0 - 0.00833333333333332*G0_0_0_1 + 0.0166666666666666*G0_1_0_0 + 0.0166666666666666*G0_1_0_1 - 0.00833333333333331*G0_2_0_0 - 0.00833333333333333*G0_2_0_1 + 0.0666666666666666*G0_3_0_0 + 0.0666666666666667*G0_3_0_1 + 0.0333333333333332*G0_4_0_0 + 0.0333333333333333*G0_4_0_1 + 0.0666666666666666*G0_5_0_0 + 0.0666666666666667*G0_5_0_1 - 0.0083333333333333*G0_6_1_0 - 0.00833333333333332*G0_6_1_1 + 0.0166666666666666*G0_7_1_0 + 0.0166666666666666*G0_7_1_ [...]
+ A[2] = -0.00833333333333331*G0_0_0_0 - 0.00833333333333332*G0_0_0_1 - 0.00833333333333332*G0_1_0_0 - 0.00833333333333333*G0_1_0_1 + 0.0166666666666666*G0_2_0_0 + 0.0166666666666666*G0_2_0_1 + 0.0666666666666666*G0_3_0_0 + 0.0666666666666667*G0_3_0_1 + 0.0666666666666666*G0_4_0_0 + 0.0666666666666667*G0_4_0_1 + 0.0333333333333333*G0_5_0_0 + 0.0333333333333333*G0_5_0_1 - 0.00833333333333331*G0_6_1_0 - 0.00833333333333332*G0_6_1_1 - 0.00833333333333332*G0_7_1_0 - 0.00833333333333333*G0_ [...]
+ A[3] = -0.0166666666666666*G0_0_0_0 + 0.00833333333333332*G0_1_0_0 + 0.00833333333333331*G0_2_0_0 - 0.0333333333333333*G0_3_0_0 - 0.0666666666666666*G0_4_0_0 - 0.0666666666666666*G0_5_0_0 - 0.0166666666666666*G0_6_1_0 + 0.00833333333333332*G0_7_1_0 + 0.00833333333333331*G0_8_1_0 - 0.0333333333333333*G0_9_1_0 - 0.0666666666666666*G0_10_1_0 - 0.0666666666666666*G0_11_1_0 - 0.499999999999999*G1_0_0_0 - 0.5*G1_1_0_0;
+ A[4] = 0.0083333333333333*G0_0_0_0 - 0.0166666666666666*G0_1_0_0 + 0.00833333333333331*G0_2_0_0 - 0.0666666666666666*G0_3_0_0 - 0.0333333333333332*G0_4_0_0 - 0.0666666666666666*G0_5_0_0 + 0.0083333333333333*G0_6_1_0 - 0.0166666666666666*G0_7_1_0 + 0.00833333333333331*G0_8_1_0 - 0.0666666666666666*G0_9_1_0 - 0.0333333333333332*G0_10_1_0 - 0.0666666666666666*G0_11_1_0 + 0.499999999999999*G1_0_0_0;
+ A[5] = 0.00833333333333331*G0_0_0_0 + 0.00833333333333332*G0_1_0_0 - 0.0166666666666666*G0_2_0_0 - 0.0666666666666666*G0_3_0_0 - 0.0666666666666666*G0_4_0_0 - 0.0333333333333333*G0_5_0_0 + 0.00833333333333331*G0_6_1_0 + 0.00833333333333332*G0_7_1_0 - 0.0166666666666666*G0_8_1_0 - 0.0666666666666666*G0_9_1_0 - 0.0666666666666666*G0_10_1_0 - 0.0333333333333333*G0_11_1_0 + 0.5*G1_1_0_0;
A[6] = -0.0166666666666666*G0_0_0_1 + 0.00833333333333333*G0_1_0_1 + 0.00833333333333332*G0_2_0_1 - 0.0333333333333333*G0_3_0_1 - 0.0666666666666667*G0_4_0_1 - 0.0666666666666667*G0_5_0_1 - 0.0166666666666666*G0_6_1_1 + 0.00833333333333333*G0_7_1_1 + 0.00833333333333332*G0_8_1_1 - 0.0333333333333333*G0_9_1_1 - 0.0666666666666667*G0_10_1_1 - 0.0666666666666667*G0_11_1_1 - 0.5*G1_0_0_1 - 0.5*G1_1_0_1;
A[7] = 0.00833333333333332*G0_0_0_1 - 0.0166666666666666*G0_1_0_1 + 0.00833333333333332*G0_2_0_1 - 0.0666666666666667*G0_3_0_1 - 0.0333333333333333*G0_4_0_1 - 0.0666666666666667*G0_5_0_1 + 0.00833333333333332*G0_6_1_1 - 0.0166666666666666*G0_7_1_1 + 0.00833333333333332*G0_8_1_1 - 0.0666666666666667*G0_9_1_1 - 0.0333333333333333*G0_10_1_1 - 0.0666666666666667*G0_11_1_1 + 0.5*G1_0_0_1;
- A[8] = 0.00833333333333331*G0_0_0_1 + 0.00833333333333332*G0_1_0_1 - 0.0166666666666666*G0_2_0_1 - 0.0666666666666666*G0_3_0_1 - 0.0666666666666667*G0_4_0_1 - 0.0333333333333333*G0_5_0_1 + 0.00833333333333331*G0_6_1_1 + 0.00833333333333332*G0_7_1_1 - 0.0166666666666666*G0_8_1_1 - 0.0666666666666666*G0_9_1_1 - 0.0666666666666667*G0_10_1_1 - 0.0333333333333333*G0_11_1_1 + 0.5*G1_1_0_1;
+ A[8] = 0.00833333333333331*G0_0_0_1 + 0.00833333333333333*G0_1_0_1 - 0.0166666666666666*G0_2_0_1 - 0.0666666666666667*G0_3_0_1 - 0.0666666666666666*G0_4_0_1 - 0.0333333333333333*G0_5_0_1 + 0.00833333333333331*G0_6_1_1 + 0.00833333333333333*G0_7_1_1 - 0.0166666666666666*G0_8_1_1 - 0.0666666666666667*G0_9_1_1 - 0.0666666666666666*G0_10_1_1 - 0.0333333333333333*G0_11_1_1 + 0.5*G1_1_0_1;
}
};
@@ -9397,6 +10074,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -9454,7 +10146,7 @@ public:
static const double FE2_f0_C0[3][3] = \
{{0.687298334620742, -0.0872983346207417, 0.4},
{0.0, 0.0, 1.0},
- {-0.0872983346207416, 0.687298334620742, 0.4}};
+ {-0.0872983346207417, 0.687298334620742, 0.4}};
// Array of non-zero columns
static const unsigned int nzc13[3] = {1, 2, 3};
@@ -9639,6 +10331,21 @@ public:
int cell_orientation_0,
int cell_orientation_1) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J_0[4];
compute_jacobian_triangle_2d(J_0, coordinate_dofs_0);
@@ -9728,7 +10435,7 @@ public:
static const double FE3_f0_C0[3][3] = \
{{0.687298334620742, -0.0872983346207417, 0.4},
{0.0, 0.0, 1.0},
- {-0.0872983346207416, 0.687298334620742, 0.4}};
+ {-0.0872983346207417, 0.687298334620742, 0.4}};
// Array of non-zero columns
static const unsigned int nzc15[3] = {1, 2, 3};
@@ -10849,6 +11556,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -11720,10 +12442,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -11739,10 +12461,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -11929,10 +12651,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -11948,10 +12670,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/dg-advection-diffusion/cpp/CMakeLists.txt b/demo/undocumented/dg-advection-diffusion/cpp/CMakeLists.txt
index c419f5c..838f45a 100644
--- a/demo/undocumented/dg-advection-diffusion/cpp/CMakeLists.txt
+++ b/demo/undocumented/dg-advection-diffusion/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_dg-advection-diffusion)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/dg-advection-diffusion/cpp/Projection.h b/demo/undocumented/dg-advection-diffusion/cpp/Projection.h
index e711ae3..b719037 100644
--- a/demo/undocumented/dg-advection-diffusion/cpp/Projection.h
+++ b/demo/undocumented/dg-advection-diffusion/cpp/Projection.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -3390,6 +3382,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3478,6 +3494,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3585,6 +3686,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3688,6 +3813,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3809,6 +4031,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3878,6 +4124,88 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3922,6 +4250,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 4
@@ -3982,6 +4325,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -4710,10 +5068,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4876,10 +5234,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4895,10 +5253,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/dg-advection-diffusion/cpp/Velocity.h b/demo/undocumented/dg-advection-diffusion/cpp/Velocity.h
index cadd365..7ef77c6 100644
--- a/demo/undocumented/dg-advection-diffusion/cpp/Velocity.h
+++ b/demo/undocumented/dg-advection-diffusion/cpp/Velocity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -4545,6 +4528,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4665,6 +4672,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4772,6 +4870,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4915,6 +5037,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/dg-advection-diffusion/cpp/compile.log b/demo/undocumented/dg-advection-diffusion/cpp/compile.log
deleted file mode 100644
index d3f63d5..0000000
--- a/demo/undocumented/dg-advection-diffusion/cpp/compile.log
+++ /dev/null
@@ -1,2405 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Projection
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), DG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), DG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.105609 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000776 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 9 entries computed in 0.0012 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0122631 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000249147 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.227631 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000816107 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000735044 seconds.
-
-FFC finished in 0.347793 seconds.
-Output written to ./Projection.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element Velocity
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000303984 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.203056 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000339031 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.354416 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000307083 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000663042 seconds.
-
-FFC finished in 0.559677 seconds.
-Output written to ./Velocity.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form AdvectionDiffusion
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Number of interior_facet subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_2, w_3]'
- Unique elements: 'DG1(?), Vector<2 x CG2(?)>, R0(?), Vector<2
- x CG1(?)>'
- Unique sub elements: 'DG1(?), Vector<2 x CG2(?)>, R0(?), Vector<2
- x CG1(?)>, CG2(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_1]'
- Unique elements: 'DG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.268126 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 6 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 6 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 432 entries computed in 0.00185 seconds
- Shape of reference tensor: (3, 3, 12, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 3 dims = [12, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [2, 0, 0], [2, 0, 1], [2, 1, 0], [2, 1, 1], [3, 0, 0], [3, 0, 1], [3, 1, 0], [3, 1, 1], [4, 0, 0], [4, 0, 1], [4, 1, 0], [4, 1, 1], [5, 0, 0], [5, 0, 1], [5, 1, 0], [5, 1, 1], [6, 0, 0], [6, 0, 1], [6, 1, 0], [6, 1, 1], [7, 0, 0], [7, 0, 1], [7, 1, 0], [7, 1, 1], [8, 0, 0], [8, 0, 1], [8, 1, 0], [8, 1, 1], [9, 0, 0], [9, 0, 1], [9, 1, 0], [...]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [12, 2, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [2, 0, 0], [2, 0, 1], [2, 1, 0], [2, 1, 1], [3, 0, 0], [3, 0, 1], [3, 1, 0], [3, 1, 1], [4, 0, 0], [4, 0, 1], [4, 1, 0], [4, 1, 1], [5, 0, 0], [5, 0, 1], [5, 1, 0], [5, 1, 1], [6, 0, 0], [6, 0, 1], [6, 1, 0], [6, 1, 1], [7, 0, 0], [7, 0, 1], [7, 1, 0], [7, 1, 1], [8, 0, 0], [8, 0, 1], [8, 1, 0], [8, 1, 1], [9, 0, 0], [9, 0, 1], [9, 1, 0], [...]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00157 seconds
- Shape of reference tensor: (3, 3, 2, 1, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 3 dims = [2, 1, 2] indices = [[0, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [2, 1, 2] indices = [[0, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {0: {(0, 0): array([[[ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 1: {(0, 0): array([[[ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 2: {(0, 0): array([[[ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.88729833, 0.5 , 0.11270167],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.88729833, 0.5 , 0.11270167]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11270167, 0.5 , 0.88729833]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 1: {(0, 0): array([[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 2: {(0, 0): array([[ 0.88729833, 0.5 , 0.11270167],
- [ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE1_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE2_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE2_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE1_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE2_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE1_f2_C0_D10': 'FE1_f0_C0_D10', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0': 'FE2_f0_C0', 'FE1_f2_C0_D01': 'FE1_f0_C0_D01', 'FE0_f1': 'FE0_f1', 'FE1_f0_C0_D10': 'FE1_f0_C0_D10', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.88729833, 0.11270167],
- [ 0.5 , 0.5 ],
- [ 0.11270167, 0.88729833]]), 'FE2_f0_C0': array([[ 0.68729833, -0.08729833, 0.4 ],
- [ 0. , 0. , 1. ],
- [-0.08729833, 0.68729833, 0.4 ]]), 'FE1_f0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE1_f0_C0_D01', (5, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE1_f0_C1_D01': ('FE1_f0_C0_D01', (7, [3, 5]), False, False), 'FE1_f2_C1_D01': ('FE1_f0_C0_D01', (7, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE1_f0_C0_D01', (8, [3, 4]), False, False), 'FE1_f2_C0_D10': ('FE1_f0_C0_D01', (5, [0, 1]), False, False), 'FE1_f2_C0': ('FE0_f0', (11, [0, 1]), False, False), 'FE1_f2_C1': ('FE0_f0', [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {0: {(0, 0): array([[[ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 1: {(0, 0): array([[[ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]]])}, 2: {(0, 0): array([[[ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.88729833, 0.5 , 0.11270167],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.88729833, 0.5 , 0.11270167]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11270167, 0.5 , 0.88729833]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]]])}}}, FiniteElement('Real', triangle, 0): {None: {0: {(0, 0): array([[ 1., 1., 1.]])}, 1: {(0, 0): array([[ 1., 1., 1.]])}, 2: {(0, 0): array([[ 1., 1., 1.]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {0: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1.],
- [ 1., 1., 1.],
- [ 0., 0., 0.]]), (0, 0): array([[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 1: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1.],
- [ 1., 1., 1.],
- [ 0., 0., 0.]]), (0, 0): array([[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]])}, 2: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1., -1.],
- [ 1., 1., 1.],
- [ 0., 0., 0.]]), (0, 0): array([[ 0.88729833, 0.5 , 0.11270167],
- [ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_f2_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE2_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE3_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE2_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f2': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_f1': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_f0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE3_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f2_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE3_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE2_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]])}
-
- tables: {'FE0_f0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE0_f1': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE0_f2': array([[ 0.88729833, 0.11270167, 0. ],
- [ 0.5 , 0.5 , 0. ],
- [ 0.11270167, 0.88729833, 0. ]]), 'FE2_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE2_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE2_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE2_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE3_f1_C0': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE3_f2_C0': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE2_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE2_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE3_f2_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE2_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE3_f0_C0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE3_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]])}
-
- name_map: {'FE1_f0': ['FE1_f1', 'FE1_f2'], 'FE2_f0_C1_D10': ['FE2_f1_C1_D10', 'FE2_f2_C1_D10'], 'FE2_f0_C1_D01': ['FE2_f1_C1_D01', 'FE2_f2_C1_D01'], 'FE0_f0_D01': ['FE0_f1_D01', 'FE0_f2_D01'], 'FE0_f0_D10': ['FE0_f1_D10', 'FE0_f2_D10'], 'FE2_f0_C0_D10': ['FE2_f1_C0_D10', 'FE2_f2_C0_D10'], 'FE2_f0_C0_D01': ['FE2_f1_C0_D01', 'FE2_f2_C0_D01']}
-
- inv_name_map: {'FE2_f1_C1_D01': 'FE2_f0_C1_D01', 'FE2_f2_C0_D10': 'FE2_f0_C0_D10', 'FE0_f0': 'FE0_f0', 'FE0_f1': 'FE0_f1', 'FE0_f2': 'FE0_f2', 'FE2_f0_C1_D01': 'FE2_f0_C1_D01', 'FE0_f1_D10': 'FE0_f0_D10', 'FE0_f2_D10': 'FE0_f0_D10', 'FE2_f0_C0_D10': 'FE2_f0_C0_D10', 'FE2_f0_C1': 'FE2_f0_C1', 'FE2_f0_C0_D01': 'FE2_f0_C0_D01', 'FE3_f1_C1': 'FE3_f1_C1', 'FE3_f1_C0': 'FE3_f1_C0', 'FE2_f0_C0': 'FE2_f0_C0', 'FE2_f2_C1_D01': 'FE2_f0_C1_D01', 'FE0_f0_D10': 'FE0_f0_D10', 'FE2_f1_C0_D10': 'FE2_f [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.88729833, 0.11270167],
- [ 0.5 , 0.5 ],
- [ 0.11270167, 0.88729833]]), 'FE1_f0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE0_f0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE3_f0_C0': array([[ 0.68729833, -0.08729833, 0.4 ],
- [ 0. , 0. , 1. ],
- [-0.08729833, 0.68729833, 0.4 ]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_f1_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE2_f2_C0_D10': ('FE0_f0_D01', (7, [0, 1]), False, False), 'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE0_f1': ('FE0_f0', (3, [0, 2]), False, False), 'FE0_f2': ('FE0_f0', (4, [0, 1]), False, False), 'FE2_f0_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE0_f1_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE0_f2_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE2_f0_C0_D10': ('FE0_f0_D01', (7, [0, 1]), Fal [...]
- Transforming interior facet integral (0, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000855 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.535893 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for facet integral (0, 0)
- Optimising expressions for facet integral (0, 1)
- Optimising expressions for facet integral (0, 2)
- Optimising expressions for facet integral (1, 0)
- Optimising expressions for facet integral (1, 1)
- Optimising expressions for facet integral (1, 2)
- Optimising expressions for facet integral (2, 0)
- Optimising expressions for facet integral (2, 1)
- Optimising expressions for facet integral (2, 2)
-
-Compiler stage 3 finished in 0.069833 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 6 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 6 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: facet_area
- Removing unused variable: n_11
- Removing unused variable: n_10
- Generating code for forms
-
-Compiler stage 4 finished in 0.475217 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000929117 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00102401 seconds.
-
-FFC finished in 1.35152 seconds.
-Output written to ./AdvectionDiffusion.h.
diff --git a/demo/undocumented/dg-poisson/cpp/CMakeLists.txt b/demo/undocumented/dg-poisson/cpp/CMakeLists.txt
index 2a3323b..4686502 100644
--- a/demo/undocumented/dg-poisson/cpp/CMakeLists.txt
+++ b/demo/undocumented/dg-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_dg-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/dg-poisson/cpp/Poisson.h b/demo/undocumented/dg-poisson/cpp/Poisson.h
index 2635a44..9e99d64 100644
--- a/demo/undocumented/dg-poisson/cpp/Poisson.h
+++ b/demo/undocumented/dg-poisson/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -3390,6 +3382,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3478,6 +3494,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3585,6 +3686,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3688,6 +3813,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3809,6 +4031,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3878,6 +4124,88 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3922,6 +4250,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -3986,6 +4329,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -4228,6 +4586,21 @@ public:
int cell_orientation_0,
int cell_orientation_1) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J_0[4];
compute_jacobian_triangle_2d(J_0, coordinate_dofs_0);
@@ -5218,6 +5591,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -5275,6 +5663,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -5520,6 +5923,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 9
@@ -6369,10 +6787,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6553,10 +6971,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6572,10 +6990,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/dg-poisson/cpp/compile.log b/demo/undocumented/dg-poisson/cpp/compile.log
deleted file mode 100644
index 261aa36..0000000
--- a/demo/undocumented/dg-poisson/cpp/compile.log
+++ /dev/null
@@ -1,1621 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 2
- Number of interior_facet subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'DG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 3
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_0, w_1, w_2]'
- Unique elements: 'DG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG1(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.111267 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000697 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {2: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 0.78867513, 0.21132487],
- [ 0. , 0. ]],
-
- [[ 0.21132487, 0.78867513],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0.78867513, 0.21132487]],
-
- [[ 0. , 0. ],
- [ 0.21132487, 0.78867513]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {0: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ -2.08166817e-17, 5.55111512e-17],
- [ 7.88675135e-01, 2.11324865e-01],
- [ 2.11324865e-01, 7.88675135e-01]])}, 1: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 7.88675135e-01, 2.11324865e-01],
- [ -2.08166817e-17, 5.55111512e-17],
- [ 2.11324865e-01, 7.88675135e-01]])}, 2: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513],
- [ 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_f2_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f2_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE0_f0_D01': ['FE0_f1_D01', 'FE0_f2_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE0_f0_D10': ['FE0_f1_D10', 'FE0_f2_D10'], 'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE0_f1_D10': 'FE0_f0_D10', 'FE0_f2_D10': 'FE0_f0_D10', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2_C0_D01': 'FE1_f0_C0_D01', 'FE0_f1': 'FE0_f1', 'FE0_f0_D10': 'FE0_f0_D10', 'FE1_f0_C0_D10': 'FE1_f0_C0_D10', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'F [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513]]), 'FE0_f0_D01': array([[-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE0_f0_D01', (7, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (4, [0, 1]), False, False), 'FE1_f0_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f2_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE0_f0_D01', (10, [3, 4]), False, False), 'FE0_f1_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE0_f2_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE1_f2_C0': ('FE0_f0', (13, [0, 1]) [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {2: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 0.78867513, 0.21132487],
- [ 0. , 0. ]],
-
- [[ 0.21132487, 0.78867513],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0.78867513, 0.21132487]],
-
- [[ 0. , 0. ],
- [ 0.21132487, 0.78867513]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {0: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ -2.08166817e-17, 5.55111512e-17],
- [ 7.88675135e-01, 2.11324865e-01],
- [ 2.11324865e-01, 7.88675135e-01]])}, 1: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 7.88675135e-01, 2.11324865e-01],
- [ -2.08166817e-17, 5.55111512e-17],
- [ 2.11324865e-01, 7.88675135e-01]])}, 2: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513],
- [ 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_f2_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f2_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE0_f0_D01': ['FE0_f1_D01', 'FE0_f2_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE0_f0_D10': ['FE0_f1_D10', 'FE0_f2_D10'], 'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE0_f1_D10': 'FE0_f0_D10', 'FE0_f2_D10': 'FE0_f0_D10', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2_C0_D01': 'FE1_f0_C0_D01', 'FE0_f1': 'FE0_f1', 'FE0_f0_D10': 'FE0_f0_D10', 'FE1_f0_C0_D10': 'FE1_f0_C0_D10', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'F [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513]]), 'FE0_f0_D01': array([[-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE0_f0_D01', (7, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (4, [0, 1]), False, False), 'FE1_f0_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f2_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE0_f0_D01', (10, [3, 4]), False, False), 'FE0_f1_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE0_f2_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE1_f2_C0': ('FE0_f0', (13, [0, 1]) [...]
- Transforming interior facet integral (0, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (0, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (1, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 0)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 1)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming interior facet integral (2, 2)
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000754 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {2: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ -2.08166817e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.11324865e-01, 7.88675135e-01],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 7.88675135e-01, 2.11324865e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -2.08166817e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 7.88675135e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1.],
- [ 0., 0.]],
-
- [[ 1., 1.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [ 0., 0.]],
-
- [[ 0., 0.],
- [-1., -1.]],
-
- [[ 0., 0.],
- [ 1., 1.]],
-
- [[ 0., 0.],
- [ 0., 0.]]]), (0, 0): array([[[ 0.78867513, 0.21132487],
- [ 0. , 0. ]],
-
- [[ 0.21132487, 0.78867513],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]],
-
- [[ 0. , 0. ],
- [ 0.78867513, 0.21132487]],
-
- [[ 0. , 0. ],
- [ 0.21132487, 0.78867513]],
-
- [[ 0. , 0. ],
- [ 0. , 0. ]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 1): {None: {0: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ -2.08166817e-17, 5.55111512e-17],
- [ 7.88675135e-01, 2.11324865e-01],
- [ 2.11324865e-01, 7.88675135e-01]])}, 1: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 7.88675135e-01, 2.11324865e-01],
- [ -2.08166817e-17, 5.55111512e-17],
- [ 2.11324865e-01, 7.88675135e-01]])}, 2: {(0, 1): array([[ -1.00000000e+00, -1.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16],
- [ 1.00000000e+00, 1.00000000e+00]]), (1, 0): array([[-1., -1.],
- [ 1., 1.],
- [ 0., 0.]]), (0, 0): array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513],
- [ 0. , 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f1_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE0_f2_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f2_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_f1_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE0_f1': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE0_f2': array([[ 0.78867513, 0.21132487, 0. ],
- [ 0.21132487, 0.78867513, 0. ]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.78867513, 0.21132487, 0. , 0. , 0. ,
- 0. ],
- [ 0.21132487, 0.78867513, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.78867513, 0.21132487,
- 0. ],
- [ 0. , 0. , 0. , 0.21132487, 0.78867513,
- 0. ]]), 'FE0_f0_D10': array([[-1., 1., 0.],
- [-1., 1., 0.]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0': array([[ -2.08166817e-17, 7.88675135e-01, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 2.11324865e-01, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.08166817e-17, 7.88675135e-01, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 2.11324865e-01, 7.88675135e-01]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_f0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.88675135e-01, -2.08166817e-17, 2.11324865e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.11324865e-01, 5.55111512e-17, 7.88675135e-01]]), 'FE1_f1_C0': array([[ 7.88675135e-01, -2.08166817e-17, 2.11324865e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.11324865e-01, 5.55111512e-17, 7.88675135e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE0_f0_D01': ['FE0_f1_D01', 'FE0_f2_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE0_f0_D10': ['FE0_f1_D10', 'FE0_f2_D10'], 'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE0_f1_D10': 'FE0_f0_D10', 'FE0_f2_D10': 'FE0_f0_D10', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2_C0_D01': 'FE1_f0_C0_D01', 'FE0_f1': 'FE0_f1', 'FE0_f0_D10': 'FE0_f0_D10', 'FE1_f0_C0_D10': 'FE1_f0_C0_D10', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'F [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.78867513, 0.21132487],
- [ 0.21132487, 0.78867513]]), 'FE0_f0_D01': array([[-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE0_f0_D01', (7, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (4, [0, 1]), False, False), 'FE1_f0_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f2_C1_D01': ('FE0_f0_D01', (9, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE0_f0_D01', (10, [3, 4]), False, False), 'FE0_f1_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE0_f2_D10': ('FE0_f0_D01', (2, [0, 1]), False, False), 'FE1_f2_C0': ('FE0_f0', (13, [0, 1]) [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00116 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000931 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000969 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.339809 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for facet integral (0, 0)
- Optimising expressions for facet integral (0, 1)
- Optimising expressions for facet integral (0, 2)
- Optimising expressions for facet integral (1, 0)
- Optimising expressions for facet integral (1, 1)
- Optimising expressions for facet integral (1, 2)
- Optimising expressions for facet integral (2, 0)
- Optimising expressions for facet integral (2, 1)
- Optimising expressions for facet integral (2, 2)
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
-
-Compiler stage 3 finished in 0.0595629 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: facet_area
- Removing unused variable: facet_area
- Removing unused variable: n_11
- Removing unused variable: n_10
- Removing unused variable: facet_area
- Generating code for forms
-
-Compiler stage 4 finished in 0.174591 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000699997 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000664949 seconds.
-
-FFC finished in 0.687029 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/undocumented/elasticity/cpp/CMakeLists.txt b/demo/undocumented/elasticity/cpp/CMakeLists.txt
index 93303f9..0c92c34 100644
--- a/demo/undocumented/elasticity/cpp/CMakeLists.txt
+++ b/demo/undocumented/elasticity/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_elasticity)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/elasticity/cpp/Elasticity.h b/demo/undocumented/elasticity/cpp/Elasticity.h
index 1deab5f..a10783e 100644
--- a/demo/undocumented/elasticity/cpp/Elasticity.h
+++ b/demo/undocumented/elasticity/cpp/Elasticity.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -5075,45 +5044,13 @@ public:
y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[1] = vals[1];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[2] = vals[2];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[3] = vals[3];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[4] = vals[4];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[5] = vals[5];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[6] = vals[6];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[7] = vals[7];
- y[0] = 0.25*coordinate_dofs[0] + 0.25*coordinate_dofs[3] + 0.25*coordinate_dofs[6] + 0.25*coordinate_dofs[9];
- y[1] = 0.25*coordinate_dofs[1] + 0.25*coordinate_dofs[4] + 0.25*coordinate_dofs[7] + 0.25*coordinate_dofs[10];
- y[2] = 0.25*coordinate_dofs[2] + 0.25*coordinate_dofs[5] + 0.25*coordinate_dofs[8] + 0.25*coordinate_dofs[11];
- f.evaluate(vals, y, c);
values[8] = vals[8];
}
@@ -5666,6 +5603,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5775,6 +5741,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5892,30 +6008,59 @@ public:
return 0;
}
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- dofs[3] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[4] = offset + entity_indices[0][0];
- dofs[5] = offset + entity_indices[0][1];
- dofs[6] = offset + entity_indices[0][2];
- dofs[7] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[8] = offset + entity_indices[0][0];
- dofs[9] = offset + entity_indices[0][1];
- dofs[10] = offset + entity_indices[0][2];
- dofs[11] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
+ void tabulate_dofs(std::size_t * dofs,
+ const std::vector<std::size_t>& num_global_entities,
+ const std::vector<std::vector<std::size_t>>& entity_indices) const final override
+ {
+ unsigned int offset = 0;
+ dofs[0] = offset + entity_indices[0][0];
+ dofs[1] = offset + entity_indices[0][1];
+ dofs[2] = offset + entity_indices[0][2];
+ dofs[3] = offset + entity_indices[0][3];
+ offset += num_global_entities[0];
+ dofs[4] = offset + entity_indices[0][0];
+ dofs[5] = offset + entity_indices[0][1];
+ dofs[6] = offset + entity_indices[0][2];
+ dofs[7] = offset + entity_indices[0][3];
+ offset += num_global_entities[0];
+ dofs[8] = offset + entity_indices[0][0];
+ dofs[9] = offset + entity_indices[0][1];
+ dofs[10] = offset + entity_indices[0][2];
+ dofs[11] = offset + entity_indices[0][3];
+ offset += num_global_entities[0];
+ }
+
+ void tabulate_facet_dofs(std::size_t * dofs,
+ std::size_t facet) const final override
{
switch (facet)
{
@@ -6045,6 +6190,220 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6181,6 +6540,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6256,6 +6644,139 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6373,6 +6894,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 9;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6423,33 +6973,174 @@ public:
break;
}
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
+ }
+
+ }
+
+ void tabulate_entity_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ break;
+ }
+ }
+
+ }
+
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
{
-
- break;
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
}
- case 1:
+
+ switch (i)
{
-
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
break;
}
case 2:
{
-
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
break;
}
case 3:
@@ -6640,6 +7331,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 0;
+ break;
+ }
+ case 3:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -6715,6 +7435,139 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ case 4:
+ {
+
+ break;
+ }
+ case 5:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ case 3:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -6759,6 +7612,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -7073,6 +7941,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 12
// Number of operations (multiply-add pairs) for tensor contraction: 42
@@ -7147,6 +8030,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -7237,6 +8135,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[9];
compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
@@ -8747,10 +9660,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8766,10 +9679,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8949,10 +9862,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8968,10 +9881,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9167,10 +10080,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a_s(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a_s(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9351,10 +10264,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L_s(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L_s(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9370,10 +10283,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L_s(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L_s(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/elasticity/cpp/compile.log b/demo/undocumented/elasticity/cpp/compile.log
deleted file mode 100644
index 2c73ce8..0000000
--- a/demo/undocumented/elasticity/cpp/compile.log
+++ /dev/null
@@ -1,1840 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Compiling form Elasticity
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 2
- Coefficients: '[w_1, w_2]'
- Unique elements: 'Vector<3 x CG1(?)>, R0(?)'
- Unique sub elements: 'Vector<3 x CG1(?)>, R0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal Identity.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Vector<3 x CG1(?)>'
- Unique sub elements: 'Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Tensor<(3, 3) x DG0(?)>, Vector<3 x CG1(?)>'
- Unique sub elements: 'Tensor<(3, 3) x DG0(?)>, Vector<3 x CG1(?)>, DG0(?), C
- G1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Monomial extraction failed: MonomialTransformation does not handle tensor-valued elements
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 3
- Coefficients: '[w_1, w_2, w_3]'
- Unique elements: 'Tensor<(3, 3) x DG0(?)>, R0(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'Tensor<(3, 3) x DG0(?)>, R0(?), Vector<3 x CG1(?)>, DG
- 0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal Identity.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.0986412 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE0': array([[ 1.]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0': 'FE0', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C1_D001': 'FE1_C1_D001'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 1.]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25]]), 'FE0': array([[ 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (1, [0, 3]), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2, 3]), False, False), 'FE1_C1': ('FE1_C0', (4, [4, 5, 6, 7]), False, False), 'FE1_C2': ('FE1_C0', (8, [8, 9, 10, 11]), False, False), 'FE1_C0_D100': ('FE1_C0_D001', (3, [0, 1]), False, False), 'FE1_C2_D001': ('FE1_C0_D001', (9, [8, 11]), False, False), 'FE1_C0_D010': ('FE1_C0_D001', (2, [0, 2]), False, False), 'FE1_C1_D010': ('FE1_C0_D001', (6, [4, 6]), False, False), 'FE1_C1_D100': ('FE1_C0_D0 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.00125 seconds
- Shape of reference tensor: (12, 12)
- Primary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}, TensorElement(FiniteElement('Discontinuous Lagrange', tetrahedron, 0), shape=(3, 3), symmetry={}): {None: {None: {(0, 0, 0): array([[[ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C8': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 1.]]), 'FE0_C7': array([[ 0., 0., 0., 0., 0., 0., 0., 1., 0.]]), 'FE0_C6': array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0.]]), 'FE0_C5': array([[ 0., 0., 0., 0., 0., 1., 0., 0., 0.]]), 'FE0_C4': array([[ 0., 0., 0., 0., 1., 0., 0., 0., 0.]]), 'FE0_C3': array([[ 0., 0., 0., 1., 0., 0., 0., 0., 0.]]), 'FE0_C2': array([[ 0., 0., [...]
-
- tables: {'FE1_C2_D100': array([[ 0., 0., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0.]]), 'FE1_C0_D001': array([[ -1.00000000e+00, -5.55111512e-17, 0.00000000e+00,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE1_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE1_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]]), 'FE1_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_C8': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 1.]]), 'FE0_C7': array([[ 0., 0., 0., 0., 0., 0., 0., 1., 0.]]), 'FE0_C6': array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0.]]), 'FE0_C5': array([[ 0., 0., 0., 0., 0., 1., 0., 0., 0.]]), 'FE0_C4': array([[ 0., 0., 0., 0., 1., 0., 0., 0., 0.]]), 'FE0_C3': array([[ 0., 0., 0., 1., 0., 0., 0., 0., 0.]]), 'FE0_C2': array([[ 0., 0., [...]
-
- name_map: {}
-
- inv_name_map: {'FE1_C0_D001': 'FE1_C0_D001', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C0_D100': 'FE1_C0_D100', 'FE1_C2_D001': 'FE1_C2_D001', 'FE1_C2_D010': 'FE1_C2_D010', 'FE1_C0_D010': 'FE1_C0_D010', 'FE1_C1_D010': 'FE1_C1_D010', 'FE1_C1_D100': 'FE1_C1_D100', 'FE1_C2_D100': 'FE1_C2_D100', 'FE0_C3': 'FE0_C3', 'FE0_C8': 'FE0_C8', 'FE0_C7': 'FE0_C7', 'FE0_C6': 'FE0_C6', 'FE0_C5': 'FE0_C5', 'FE0_C4': 'FE0_C4', 'FE1_C1_D001': 'FE1_C1_D001', 'FE0_C2': 'FE0_C2', 'FE0_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0_D001': array([[-1., 1.]]), 'FE1_C0': array([[ 0.25, 0.25, 0.25, 0.25]]), 'FE0_C0': array([[ 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0_D001': ('FE1_C0_D001', (10, [0, 3]), False, False), 'FE1_C0': ('FE1_C0', (9, [0, 1, 2, 3]), False, False), 'FE1_C1': ('FE1_C0', (13, [4, 5, 6, 7]), False, False), 'FE1_C2': ('FE1_C0', (17, [8, 9, 10, 11]), False, False), 'FE1_C0_D100': ('FE1_C0_D001', (12, [0, 1]), False, False), 'FE1_C2_D001': ('FE1_C0_D001', (18, [8, 11]), False, False), 'FE1_C2_D010': ('FE1_C0_D001', (19, [8, 10]), False, False), 'FE1_C0_D010': ('FE1_C0_D001', (11, [0, 2]), False, False), 'FE1_C1_D010': ('F [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {FiniteElement('Real', tetrahedron, 0): {None: {None: {(0, 0, 0): array([[ 1.]])}}}, VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3): {None: {None: {(1, 0, 0): array([[[-1.],
- [ 0.],
- [ 0.]],
-
- [[ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [-1.]],
-
- [[ 0.],
- [ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.]]]), (0, 1, 0): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -1.11022302e-16],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.11022302e-16],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.11022302e-16]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]]]), (0, 0, 0): array([[[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0.25],
- [ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.25],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]],
-
- [[ 0. ],
- [ 0. ],
- [ 0.25]]]), (0, 0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ -5.55111512e-17],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -5.55111512e-17],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ -5.55111512e-17]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 0.00000000e+00],
- [ 1.00000000e+00]]])}}}, TensorElement(FiniteElement('Discontinuous Lagrange', tetrahedron, 0), shape=(3, 3), symmetry={}): {None: {None: {(0, 0, 0): array([[[ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 0.],
- [ 1.]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C6': array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0.]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE2_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE2_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0': array([[ 1.]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C8': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 1.]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 1., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1': array([[ 0., 1., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2': array([[ 0., 0., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C3': array([[ 0., 0., 0., 1., 0., 0., 0., 0., 0.]]), 'FE1_C4': [...]
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]])}
-
- tables: {'FE2_C0_D100': array([[-1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C6': array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0.]]), 'FE2_C1_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -1.11022302e-16,
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C0_D010': array([[ -1.00000000e+00, -1.11022302e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C1': array([[ 0. , 0. , 0. , 0. , 0.25, 0.25, 0.25, 0.25, 0. ,
- 0. , 0. , 0. ]]), 'FE2_C0': array([[ 0.25, 0.25, 0.25, 0.25, 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. ]]), 'FE2_C2': array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.25,
- 0.25, 0.25, 0.25]]), 'FE2_C2_D010': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -1.11022302e-16, 1.00000000e+00, 0.00000000e+00]]), 'FE0': array([[ 1.]]), 'FE2_C1_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, -1.00000000e+00, -5.55111512e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C8': array([[ 0., 0., 0., 0., 0., 0., 0., 0., 1.]]), 'FE2_C1_D100': array([[ 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C0': array([[ 1., 0., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C1': array([[ 0., 1., 0., 0., 0., 0., 0., 0., 0.]]), 'FE1_C2': array([[ 0., 0., 1., 0., 0., 0., 0., 0., 0.]]), 'FE1_C3': array([[ 0., 0., 0., 1., 0., 0., 0., 0., 0.]]), 'FE1_C4': [...]
- 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE2_C2_D001': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, -1.00000000e+00,
- -5.55111512e-17, 0.00000000e+00, 1.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE2_C0_D100': 'FE2_C0_D100', 'FE2_C2_D100': 'FE2_C2_D100', 'FE2_C1_D010': 'FE2_C1_D010', 'FE2_C0_D010': 'FE2_C0_D010', 'FE2_C1': 'FE2_C1', 'FE2_C0': 'FE2_C0', 'FE2_C2': 'FE2_C2', 'FE2_C2_D010': 'FE2_C2_D010', 'FE0': 'FE0', 'FE2_C1_D001': 'FE2_C1_D001', 'FE1_C8': 'FE1_C8', 'FE2_C1_D100': 'FE2_C1_D100', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C2': 'FE1_C2', 'FE1_C3': 'FE1_C3', 'FE1_C4': 'FE1_C4', 'FE1_C5': 'FE1_C5', 'FE1_C6': 'FE1_C6', 'FE1_C7': 'FE1_C7', 'FE2_C0_D00 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE2_C0': array([[ 0.25, 0.25, 0.25, 0.25]]), 'FE0': array([[ 1.]]), 'FE2_C0_D001': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE2_C0_D100': ('FE2_C0_D001', (12, [0, 1]), False, False), 'FE2_C2_D100': ('FE2_C0_D001', (20, [8, 9]), False, False), 'FE2_C1_D010': ('FE2_C0_D001', (15, [4, 6]), False, False), 'FE2_C0_D010': ('FE2_C0_D001', (11, [0, 2]), False, False), 'FE2_C1': ('FE2_C0', (13, [4, 5, 6, 7]), False, False), 'FE2_C0': ('FE2_C0', (9, [0, 1, 2, 3]), False, False), 'FE2_C2': ('FE2_C0', (17, [8, 9, 10, 11]), False, False), 'FE2_C2_D010': ('FE2_C0_D001', (19, [8, 10]), False, False), 'FE0': ('FE0', (), [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.213601 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.0405469 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Z
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: d_22
- Removing unused variable: d_21
- Removing unused variable: d_20
- Removing unused variable: d_12
- Removing unused variable: d_11
- Removing unused variable: d_10
- Removing unused variable: d_02
- Removing unused variable: d_01
- Removing unused variable: d_00
- Removing unused variable: C2
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: area
- Removing unused variable: s
- Removing unused variable: lc
- Removing unused variable: lb
- Removing unused variable: la
- Removing unused variable: v2v3
- Removing unused variable: v1v3
- Removing unused variable: v0v3
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.243112 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000923872 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000668049 seconds.
-
-FFC finished in 0.597828 seconds.
-Output written to ./Elasticity.h.
diff --git a/demo/undocumented/elastodynamics/cpp/CMakeLists.txt b/demo/undocumented/elastodynamics/cpp/CMakeLists.txt
index 06bd9d4..d81ef75 100644
--- a/demo/undocumented/elastodynamics/cpp/CMakeLists.txt
+++ b/demo/undocumented/elastodynamics/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_elastodynamics)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/elastodynamics/cpp/DG0_eps_xx.h b/demo/undocumented/elastodynamics/cpp/DG0_eps_xx.h
index ee314e9..29919c2 100644
--- a/demo/undocumented/elastodynamics/cpp/DG0_eps_xx.h
+++ b/demo/undocumented/elastodynamics/cpp/DG0_eps_xx.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2776,6 +2768,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2864,6 +2880,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2971,6 +3072,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3074,6 +3199,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3195,6 +3417,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3260,6 +3506,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3304,6 +3630,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 0
@@ -3356,6 +3697,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 3
@@ -4083,10 +4439,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4249,10 +4605,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4268,10 +4624,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/elastodynamics/cpp/ElastoDynamics.h b/demo/undocumented/elastodynamics/cpp/ElastoDynamics.h
index e8e2798..abc9eca 100644
--- a/demo/undocumented/elastodynamics/cpp/ElastoDynamics.h
+++ b/demo/undocumented/elastodynamics/cpp/ElastoDynamics.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2776,6 +2768,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2864,6 +2880,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2971,6 +3072,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3074,6 +3199,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3195,6 +3417,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 0;
+ break;
+ }
+ case 2:
+ {
+ return 1;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -3260,6 +3506,86 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -3304,6 +3630,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3500,6 +3841,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3690,6 +4046,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 24
// Number of operations (multiply-add pairs) for tensor contraction: 66
@@ -5142,10 +5513,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5161,10 +5532,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5519,10 +5890,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5538,10 +5909,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/elastodynamics/cpp/compile.log b/demo/undocumented/elastodynamics/cpp/compile.log
deleted file mode 100644
index a0f8686..0000000
--- a/demo/undocumented/elastodynamics/cpp/compile.log
+++ /dev/null
@@ -1,1037 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form DG0_eps_xx
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'DG0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG0(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'DG0(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'DG0(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.0816491 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 1 entries computed in 0.000572 seconds
- Shape of reference tensor: (1, 1)
- Primary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 12 entries computed in 0.00112 seconds
- Shape of reference tensor: (1, 6, 2)
- Primary multi index: rank = 1 dims = [1] indices = [[0]]
- Secondary multi index: rank = 2 dims = [6, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [6, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1], [4, 0], [4, 1], [5, 0], [5, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0118291 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000231028 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.115847 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00094986 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000667095 seconds.
-
-FFC finished in 0.211664 seconds.
-Output written to ./DG0_eps_xx.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Expr.geometric_dimension() is deprecated, please use find_geometric_dimension(expr) instead.
-Compiling form ElastoDynamics
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 9
- Coefficients: '[w_6, w_7, w_8, w_9, w_{10}, w_{11}, w_{12}, w_{13}, w
- _{14}]'
- Unique elements: 'Vector<2 x CG1(?)>, DG0(?)'
- Unique sub elements: 'Vector<2 x CG1(?)>, DG0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for expression Division.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 4
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 15
- Coefficients: '[w_0, w_1, w_2, w_3, w_4, w_5, w_6, w_7, w_8
- , w_9, w_{10}, w_{11}, w_{12}, w_{13}, w_{14}
- ]'
- Unique elements: 'Vector<2 x CG1(?)>, DG0(?)'
- Unique sub elements: 'Vector<2 x CG1(?)>, DG0(?), CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal Identity.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.130836 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, True), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.16666667, 0.66666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0.16666667, 0.66666667, 0.16666667],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.66666667, 0.16666667, 0.16666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.16666667, 0.66666667]],
-
- [[ 0. , 0. , 0. ],
- [ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Discontinuous Lagrange', triangle, 0): {None: {None: {(0, 0): array([[ 1., 1., 1.]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
- 0. ],
- [ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
- 0.16666667],
- [ 0. , 0. , 0. , 0.16666667, 0.16666667,
- 0.66666667],
- [ 0. , 0. , 0. , 0.16666667, 0.66666667,
- 0.16666667]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.66666667, 0.16666667, 0.16666667],
- [ 0.16666667, 0.16666667, 0.66666667],
- [ 0.16666667, 0.66666667, 0.16666667]]), 'FE0': array([[ 1.],
- [ 1.],
- [ 1.]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, True), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00207 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00151 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00197 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00188 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00271 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00205 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00206 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.0018 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 36 entries computed in 0.00195 seconds
- Shape of reference tensor: (6, 1, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- Internal multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 2 dims = [1, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.177311 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.047612 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp0
- Removing unused variable: Y
- Removing unused variable: X
- Removing unused variable: C1
- Removing unused variable: C0
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.166198 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00145483 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000711918 seconds.
-
-FFC finished in 0.524685 seconds.
-Output written to ./ElastoDynamics.h.
diff --git a/demo/undocumented/eval/cpp/CMakeLists.txt b/demo/undocumented/eval/cpp/CMakeLists.txt
index 2ce1009..cbd8847 100644
--- a/demo/undocumented/eval/cpp/CMakeLists.txt
+++ b/demo/undocumented/eval/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_eval)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/eval/cpp/Projection.h b/demo/undocumented/eval/cpp/Projection.h
index 717e662..52a2624 100644
--- a/demo/undocumented/eval/cpp/Projection.h
+++ b/demo/undocumented/eval/cpp/Projection.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4331,7 +4300,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4377,7 +4346,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4423,7 +4392,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4515,7 +4484,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4561,7 +4530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4607,7 +4576,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4653,7 +4622,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4943,7 +4912,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4964,9 +4933,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5146,7 +5115,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5167,9 +5136,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5349,7 +5318,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5370,9 +5339,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5573,9 +5542,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5755,7 +5724,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5776,9 +5745,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5958,7 +5927,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5979,9 +5948,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6161,7 +6130,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6182,9 +6151,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6364,7 +6333,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6385,9 +6354,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6588,9 +6557,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6791,9 +6760,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -7347,6 +7316,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7456,6 +7454,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7573,6 +7721,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7726,34 +7903,248 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new projection_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new projection_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new projection_dofmap_0();
- break;
- }
- }
-
- return 0;
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
}
ufc::dofmap * create() const final override
@@ -7862,6 +8253,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8030,6 +8450,180 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8074,6 +8668,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 50
@@ -8096,38 +8705,38 @@ public:
// Compute element tensor
A[0] = 0.00238095238095238*G0_;
- A[1] = 0.000396825396825395*G0_;
- A[2] = 0.000396825396825396*G0_;
- A[3] = 0.000396825396825396*G0_;
+ A[1] = 0.000396825396825394*G0_;
+ A[2] = 0.000396825396825394*G0_;
+ A[3] = 0.000396825396825395*G0_;
A[4] = -0.00238095238095238*G0_;
A[5] = -0.00238095238095238*G0_;
A[6] = -0.00238095238095238*G0_;
A[7] = -0.00158730158730158*G0_;
A[8] = -0.00158730158730158*G0_;
A[9] = -0.00158730158730158*G0_;
- A[10] = 0.000396825396825395*G0_;
+ A[10] = 0.000396825396825394*G0_;
A[11] = 0.00238095238095238*G0_;
- A[12] = 0.000396825396825396*G0_;
- A[13] = 0.000396825396825396*G0_;
+ A[12] = 0.000396825396825394*G0_;
+ A[13] = 0.000396825396825395*G0_;
A[14] = -0.00238095238095238*G0_;
A[15] = -0.00158730158730158*G0_;
A[16] = -0.00158730158730158*G0_;
A[17] = -0.00238095238095238*G0_;
A[18] = -0.00238095238095238*G0_;
A[19] = -0.00158730158730158*G0_;
- A[20] = 0.000396825396825396*G0_;
- A[21] = 0.000396825396825396*G0_;
+ A[20] = 0.000396825396825394*G0_;
+ A[21] = 0.000396825396825395*G0_;
A[22] = 0.00238095238095238*G0_;
- A[23] = 0.000396825396825396*G0_;
- A[24] = -0.00158730158730159*G0_;
+ A[23] = 0.000396825396825395*G0_;
+ A[24] = -0.00158730158730158*G0_;
A[25] = -0.00238095238095238*G0_;
A[26] = -0.00158730158730158*G0_;
A[27] = -0.00238095238095238*G0_;
- A[28] = -0.00158730158730159*G0_;
+ A[28] = -0.00158730158730158*G0_;
A[29] = -0.00238095238095238*G0_;
- A[30] = 0.000396825396825396*G0_;
- A[31] = 0.000396825396825396*G0_;
- A[32] = 0.000396825396825396*G0_;
+ A[30] = 0.000396825396825395*G0_;
+ A[31] = 0.000396825396825395*G0_;
+ A[32] = 0.000396825396825395*G0_;
A[33] = 0.00238095238095238*G0_;
A[34] = -0.00158730158730159*G0_;
A[35] = -0.00158730158730159*G0_;
@@ -8137,13 +8746,13 @@ public:
A[39] = -0.00238095238095238*G0_;
A[40] = -0.00238095238095238*G0_;
A[41] = -0.00238095238095238*G0_;
- A[42] = -0.00158730158730159*G0_;
+ A[42] = -0.00158730158730158*G0_;
A[43] = -0.00158730158730159*G0_;
A[44] = 0.0126984126984127*G0_;
A[45] = 0.00634920634920635*G0_;
A[46] = 0.00634920634920635*G0_;
- A[47] = 0.00634920634920635*G0_;
- A[48] = 0.00634920634920634*G0_;
+ A[47] = 0.00634920634920634*G0_;
+ A[48] = 0.00634920634920635*G0_;
A[49] = 0.00317460317460317*G0_;
A[50] = -0.00238095238095238*G0_;
A[51] = -0.00158730158730158*G0_;
@@ -8153,38 +8762,38 @@ public:
A[55] = 0.0126984126984127*G0_;
A[56] = 0.00634920634920635*G0_;
A[57] = 0.00634920634920635*G0_;
- A[58] = 0.00317460317460317*G0_;
+ A[58] = 0.00317460317460318*G0_;
A[59] = 0.00634920634920635*G0_;
A[60] = -0.00238095238095238*G0_;
A[61] = -0.00158730158730158*G0_;
- A[62] = -0.00158730158730159*G0_;
+ A[62] = -0.00158730158730158*G0_;
A[63] = -0.00238095238095238*G0_;
A[64] = 0.00634920634920635*G0_;
A[65] = 0.00634920634920635*G0_;
A[66] = 0.0126984126984127*G0_;
A[67] = 0.00317460317460317*G0_;
- A[68] = 0.00634920634920634*G0_;
+ A[68] = 0.00634920634920635*G0_;
A[69] = 0.00634920634920635*G0_;
A[70] = -0.00158730158730158*G0_;
A[71] = -0.00238095238095238*G0_;
A[72] = -0.00238095238095238*G0_;
A[73] = -0.00158730158730159*G0_;
- A[74] = 0.00634920634920635*G0_;
+ A[74] = 0.00634920634920634*G0_;
A[75] = 0.00634920634920635*G0_;
A[76] = 0.00317460317460317*G0_;
A[77] = 0.0126984126984127*G0_;
A[78] = 0.00634920634920635*G0_;
- A[79] = 0.00634920634920635*G0_;
+ A[79] = 0.00634920634920634*G0_;
A[80] = -0.00158730158730158*G0_;
A[81] = -0.00238095238095238*G0_;
- A[82] = -0.00158730158730159*G0_;
+ A[82] = -0.00158730158730158*G0_;
A[83] = -0.00238095238095238*G0_;
- A[84] = 0.00634920634920634*G0_;
- A[85] = 0.00317460317460317*G0_;
- A[86] = 0.00634920634920634*G0_;
+ A[84] = 0.00634920634920635*G0_;
+ A[85] = 0.00317460317460318*G0_;
+ A[86] = 0.00634920634920635*G0_;
A[87] = 0.00634920634920635*G0_;
A[88] = 0.0126984126984127*G0_;
- A[89] = 0.00634920634920634*G0_;
+ A[89] = 0.00634920634920635*G0_;
A[90] = -0.00158730158730158*G0_;
A[91] = -0.00158730158730158*G0_;
A[92] = -0.00238095238095238*G0_;
@@ -8192,8 +8801,8 @@ public:
A[94] = 0.00317460317460317*G0_;
A[95] = 0.00634920634920635*G0_;
A[96] = 0.00634920634920635*G0_;
- A[97] = 0.00634920634920635*G0_;
- A[98] = 0.00634920634920634*G0_;
+ A[97] = 0.00634920634920634*G0_;
+ A[98] = 0.00634920634920635*G0_;
A[99] = 0.0126984126984127*G0_;
}
@@ -8225,6 +8834,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 10
// Number of operations (multiply-add pairs) for tensor contraction: 95
@@ -8255,16 +8879,16 @@ public:
const double G0_9 = det*w[0][9]*(1.0);
// Compute element tensor
- A[0] = 0.00238095238095238*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
- A[1] = 0.000396825396825395*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
- A[2] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825396*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730159*G0_8 - 0.00238095238095238*G0_9;
- A[3] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825396*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
- A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
- A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460317*G0_8 + 0.00634920634920635*G0_9;
- A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920635*G0_9;
- A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
- A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
- A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
+ A[0] = 0.00238095238095238*G0_0 + 0.000396825396825394*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
+ A[1] = 0.000396825396825394*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
+ A[2] = 0.000396825396825394*G0_0 + 0.000396825396825395*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825395*G0_3 - 0.00158730158730158*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730158*G0_8 - 0.00238095238095238*G0_9;
+ A[3] = 0.000396825396825395*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825395*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
+ A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.00317460317460317*G0_9;
+ A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460318*G0_8 + 0.00634920634920635*G0_9;
+ A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
+ A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920634*G0_9;
+ A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00317460317460318*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920635*G0_9;
+ A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.0126984126984127*G0_9;
}
};
@@ -8967,10 +9591,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9133,10 +9757,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9152,10 +9776,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/eval/cpp/compile.log b/demo/undocumented/eval/cpp/compile.log
deleted file mode 100644
index 35f75f2..0000000
--- a/demo/undocumented/eval/cpp/compile.log
+++ /dev/null
@@ -1,260 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Projection
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.334222 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00113 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 2 dims = [10, 10] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [...]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00109 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0466971 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000199795 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.523518 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000703812 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00078392 seconds.
-
-FFC finished in 0.90657 seconds.
-Output written to ./Projection.h.
diff --git a/demo/undocumented/extrapolation/cpp/CMakeLists.txt b/demo/undocumented/extrapolation/cpp/CMakeLists.txt
index b982180..8d3bf25 100644
--- a/demo/undocumented/extrapolation/cpp/CMakeLists.txt
+++ b/demo/undocumented/extrapolation/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_extrapolation)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/extrapolation/cpp/P1.h b/demo/undocumented/extrapolation/cpp/P1.h
index 1dbe5da..7d149b0 100644
--- a/demo/undocumented/extrapolation/cpp/P1.h
+++ b/demo/undocumented/extrapolation/cpp/P1.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -1019,6 +1020,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1107,6 +1132,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/extrapolation/cpp/P2.h b/demo/undocumented/extrapolation/cpp/P2.h
index 695baa5..ae9ba6f 100644
--- a/demo/undocumented/extrapolation/cpp/P2.h
+++ b/demo/undocumented/extrapolation/cpp/P2.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1706,6 +1707,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1826,6 +1851,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/extrapolation/cpp/compile.log b/demo/undocumented/extrapolation/cpp/compile.log
deleted file mode 100644
index 602583d..0000000
--- a/demo/undocumented/extrapolation/cpp/compile.log
+++ /dev/null
@@ -1,116 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P2
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000238895 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.124007 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000151873 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0726769 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000240088 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000401974 seconds.
-
-FFC finished in 0.198085 seconds.
-Output written to ./P2.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P1
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000244856 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0424871 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000169039 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0378098 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000289917 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000458002 seconds.
-
-FFC finished in 0.081876 seconds.
-Output written to ./P1.h.
diff --git a/demo/undocumented/functional/cpp/CMakeLists.txt b/demo/undocumented/functional/cpp/CMakeLists.txt
index 5dc0f19..c7f1113 100644
--- a/demo/undocumented/functional/cpp/CMakeLists.txt
+++ b/demo/undocumented/functional/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_functional)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/functional/cpp/EnergyNorm.h b/demo/undocumented/functional/cpp/EnergyNorm.h
index b16b58a..ea19a4a 100644
--- a/demo/undocumented/functional/cpp/EnergyNorm.h
+++ b/demo/undocumented/functional/cpp/EnergyNorm.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4077,6 +4069,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4165,6 +4181,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4272,6 +4373,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4375,6 +4500,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4496,6 +4718,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4616,6 +4862,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4660,6 +4997,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -4684,18 +5036,18 @@ public:
// Values of basis functions at quadrature points.
static const double FE0[6][6] = \
- {{-0.074803807748196, 0.517632341987673, -0.0748038077481966, 0.299215230992787, 0.0335448115231483, 0.299215230992784},
- {-0.074803807748196, -0.0748038077481966, 0.517632341987674, 0.299215230992787, 0.299215230992784, 0.0335448115231483},
- {0.517632341987671, -0.0748038077481966, -0.0748038077481966, 0.0335448115231487, 0.299215230992787, 0.299215230992787},
- {-0.0482083778155119, -0.0847304930939778, -0.0482083778155119, 0.192833511262048, 0.795480226200906, 0.192833511262048},
- {-0.0482083778155119, -0.048208377815512, -0.0847304930939778, 0.192833511262048, 0.192833511262048, 0.795480226200906},
+ {{-0.074803807748196, 0.517632341987674, -0.0748038077481967, 0.299215230992787, 0.0335448115231483, 0.299215230992784},
+ {-0.074803807748196, -0.0748038077481967, 0.517632341987674, 0.299215230992787, 0.299215230992784, 0.0335448115231484},
+ {0.517632341987671, -0.0748038077481967, -0.0748038077481967, 0.0335448115231487, 0.299215230992786, 0.299215230992787},
+ {-0.0482083778155119, -0.0847304930939779, -0.0482083778155119, 0.192833511262048, 0.795480226200906, 0.192833511262048},
+ {-0.0482083778155119, -0.0482083778155119, -0.0847304930939778, 0.192833511262048, 0.192833511262048, 0.795480226200906},
{-0.0847304930939778, -0.048208377815512, -0.0482083778155119, 0.795480226200906, 0.192833511262048, 0.192833511262048}};
static const double FE0_D01[6][5] = \
{{0.633695145960915, -0.633695145960916, 3.26739029192182, 0.0, -3.26739029192184},
- {0.633695145960915, 2.26739029192184, 0.366304854039068, -2.90108543788275, -0.366304854039081},
+ {0.633695145960915, 2.26739029192184, 0.366304854039069, -2.90108543788275, -0.366304854039082},
{-2.26739029192184, -0.633695145960916, 0.366304854039074, 2.90108543788276, -0.366304854039083},
- {-0.783793963663865, 0.783793963663862, 0.432412072672267, 0.0, -0.432412072672279},
+ {-0.783793963663865, 0.783793963663862, 0.432412072672268, 0.0, -0.43241207267228},
{-0.783793963663864, -0.567587927327719, 1.78379396366385, 1.35138189099159, -1.78379396366386},
{0.567587927327715, 0.783793963663862, 1.78379396366385, -1.35138189099157, -1.78379396366386}};
@@ -4704,11 +5056,11 @@ public:
static const double FE0_D10[6][5] = \
{{0.633695145960922, 2.26739029192184, 0.366304854039083, -0.366304854039083, -2.90108543788276},
- {0.63369514596092, -0.633695145960917, 3.26739029192183, -3.26739029192183, 0.0},
+ {0.63369514596092, -0.633695145960916, 3.26739029192183, -3.26739029192183, 0.0},
{-2.26739029192183, -0.633695145960919, 0.366304854039083, -0.366304854039083, 2.90108543788275},
{-0.78379396366386, -0.567587927327721, 1.78379396366386, -1.78379396366386, 1.35138189099158},
{-0.783793963663859, 0.783793963663859, 0.432412072672279, -0.432412072672279, 0.0},
- {0.567587927327721, 0.783793963663861, 1.78379396366386, -1.78379396366386, -1.35138189099158}};
+ {0.567587927327721, 0.78379396366386, 1.78379396366386, -1.78379396366386, -1.35138189099158}};
// Array of non-zero columns
static const unsigned int nzc1[5] = {0, 1, 3, 4, 5};
@@ -5118,18 +5470,30 @@ class MultiMeshForm_M: public dolfin::MultiMeshForm
public:
// Constructor
- MultiMeshForm_M(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::MultiMeshForm(), v(*this, 0)
+ MultiMeshForm_M(std::shared_ptr<const dolfin::MultiMesh> mesh):
+ dolfin::MultiMeshForm(mesh), v(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_M(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients
}
// Constructor
- MultiMeshForm_M(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> v):
- dolfin::MultiMeshForm(), v(*this, 0)
+ MultiMeshForm_M(std::shared_ptr<const dolfin::MultiMesh> mesh, std::shared_ptr<const dolfin::GenericFunction> v):
+ dolfin::MultiMeshForm(mesh), v(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_M(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients this->v = v;
diff --git a/demo/undocumented/functional/cpp/compile.log b/demo/undocumented/functional/cpp/compile.log
deleted file mode 100644
index 905073d..0000000
--- a/demo/undocumented/functional/cpp/compile.log
+++ /dev/null
@@ -1,472 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form EnergyNorm
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.12538 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 1): array([[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 7.99360578e-15, 7.32747196e-15, 5.44009282e-15,
- 6.93195501e-15, 6.88338275e-15, 8.11850587e-15],
- [ -6.33695146e-01, 2.26739029e+00, -6.33695146e-01,
- 7.83793964e-01, -5.67587927e-01, 7.83793964e-01],
- [ 3.26739029e+00, 3.66304854e-01, 3.66304854e-01,
- 4.32412073e-01, 1.78379396e+00, 1.78379396e+00],
- [ 7.10542736e-15, -2.90108544e+00, 2.90108544e+00,
- 8.13238366e-15, 1.35138189e+00, -1.35138189e+00],
- [ -3.26739029e+00, -3.66304854e-01, -3.66304854e-01,
- -4.32412073e-01, -1.78379396e+00, -1.78379396e+00]]), (1, 0): array([[ 6.33695146e-01, 6.33695146e-01, -2.26739029e+00,
- -7.83793964e-01, -7.83793964e-01, 5.67587927e-01],
- [ 2.26739029e+00, -6.33695146e-01, -6.33695146e-01,
- -5.67587927e-01, 7.83793964e-01, 7.83793964e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.66304854e-01, 3.26739029e+00, 3.66304854e-01,
- 1.78379396e+00, 4.32412073e-01, 1.78379396e+00],
- [ -3.66304854e-01, -3.26739029e+00, -3.66304854e-01,
- -1.78379396e+00, -4.32412073e-01, -1.78379396e+00],
- [ -2.90108544e+00, -3.86532069e-15, 2.90108544e+00,
- 1.35138189e+00, -4.32612710e-16, -1.35138189e+00]]), (0, 0): array([[-0.07480381, -0.07480381, 0.51763234, -0.04820838, -0.04820838,
- -0.08473049],
- [ 0.51763234, -0.07480381, -0.07480381, -0.08473049, -0.04820838,
- -0.04820838],
- [-0.07480381, 0.51763234, -0.07480381, -0.04820838, -0.08473049,
- -0.04820838],
- [ 0.29921523, 0.29921523, 0.03354481, 0.19283351, 0.19283351,
- 0.79548023],
- [ 0.03354481, 0.29921523, 0.29921523, 0.79548023, 0.19283351,
- 0.19283351],
- [ 0.29921523, 0.03354481, 0.29921523, 0.19283351, 0.79548023,
- 0.19283351]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE0_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE0_D10': array([[ 6.33695146e-01, 2.26739029e+00, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, -2.90108544e+00],
- [ 6.33695146e-01, -6.33695146e-01, 0.00000000e+00,
- 3.26739029e+00, -3.26739029e+00, -3.86532069e-15],
- [ -2.26739029e+00, -6.33695146e-01, 0.00000000e+00,
- 3.66304854e-01, -3.66304854e-01, 2.90108544e+00],
- [ -7.83793964e-01, -5.67587927e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, 1.35138189e+00],
- [ -7.83793964e-01, 7.83793964e-01, 0.00000000e+00,
- 4.32412073e-01, -4.32412073e-01, -4.32612710e-16],
- [ 5.67587927e-01, 7.83793964e-01, 0.00000000e+00,
- 1.78379396e+00, -1.78379396e+00, -1.35138189e+00]]), 'FE0_D01': array([[ 6.33695146e-01, 7.99360578e-15, -6.33695146e-01,
- 3.26739029e+00, 7.10542736e-15, -3.26739029e+00],
- [ 6.33695146e-01, 7.32747196e-15, 2.26739029e+00,
- 3.66304854e-01, -2.90108544e+00, -3.66304854e-01],
- [ -2.26739029e+00, 5.44009282e-15, -6.33695146e-01,
- 3.66304854e-01, 2.90108544e+00, -3.66304854e-01],
- [ -7.83793964e-01, 6.93195501e-15, 7.83793964e-01,
- 4.32412073e-01, 8.13238366e-15, -4.32412073e-01],
- [ -7.83793964e-01, 6.88338275e-15, -5.67587927e-01,
- 1.78379396e+00, 1.35138189e+00, -1.78379396e+00],
- [ 5.67587927e-01, 8.11850587e-15, 7.83793964e-01,
- 1.78379396e+00, -1.35138189e+00, -1.78379396e+00]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([[ 0.63369515, 2.26739029, 0.36630485, -0.36630485, -2.90108544],
- [ 0.63369515, -0.63369515, 3.26739029, -3.26739029, 0. ],
- [-2.26739029, -0.63369515, 0.36630485, -0.36630485, 2.90108544],
- [-0.78379396, -0.56758793, 1.78379396, -1.78379396, 1.35138189],
- [-0.78379396, 0.78379396, 0.43241207, -0.43241207, 0. ],
- [ 0.56758793, 0.78379396, 1.78379396, -1.78379396, -1.35138189]]), 'FE0_D01': array([[ 0.63369515, -0.63369515, 3.26739029, 0. , -3.26739029],
- [ 0.63369515, 2.26739029, 0.36630485, -2.90108544, -0.36630485],
- [-2.26739029, -0.63369515, 0.36630485, 2.90108544, -0.36630485],
- [-0.78379396, 0.78379396, 0.43241207, 0. , -0.43241207],
- [-0.78379396, -0.56758793, 1.78379396, 1.35138189, -1.78379396],
- [ 0.56758793, 0.78379396, 1.78379396, -1.35138189, -1.78379396]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE0': array([[-0.07480381, 0.51763234, -0.07480381, 0.29921523, 0.03354481,
- 0.29921523],
- [-0.07480381, -0.07480381, 0.51763234, 0.29921523, 0.29921523,
- 0.03354481],
- [ 0.51763234, -0.07480381, -0.07480381, 0.03354481, 0.29921523,
- 0.29921523],
- [-0.04820838, -0.08473049, -0.04820838, 0.19283351, 0.79548023,
- 0.19283351],
- [-0.04820838, -0.04820838, -0.08473049, 0.19283351, 0.19283351,
- 0.79548023],
- [-0.08473049, -0.04820838, -0.04820838, 0.79548023, 0.19283351,
- 0.19283351]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (1, [0, 1, 3, 4, 5]), False, False), 'FE0_D01': ('FE0_D01', (0, [0, 2, 3, 4, 5]), False, False), 'FE1_C0': ('FE1_C0', (2, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (5, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (7, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (6, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (3, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (4, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0620902 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00180101 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.140345 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000393152 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00049901 seconds.
-
-FFC finished in 0.330873 seconds.
-Output written to ./EnergyNorm.h.
diff --git a/demo/undocumented/ghost-mesh/python/.gitignore b/demo/undocumented/ghost-mesh/python/.gitignore
deleted file mode 100644
index e33609d..0000000
--- a/demo/undocumented/ghost-mesh/python/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.png
diff --git a/demo/undocumented/interpolation/cpp/CMakeLists.txt b/demo/undocumented/interpolation/cpp/CMakeLists.txt
deleted file mode 100644
index 6ccad3a..0000000
--- a/demo/undocumented/interpolation/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is automatically generated by running
-#
-# cmake/scripts/generate-cmakefiles
-#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
-
-project(demo_interpolation)
-
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Set CMake behavior
-cmake_policy(SET CMP0004 OLD)
-
-# Get DOLFIN configuration data (DOLFINConfig.cmake must be in DOLFIN_CMAKE_CONFIG_PATH)
-find_package(DOLFIN)
-
-# Default build type (can be overridden by user)
-if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
- "Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
-endif()
-
-# Compiler definitions
-add_definitions(${DOLFIN_CXX_DEFINITIONS})
-
-# Add special DOLFIN compiler flags
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_CXX_FLAGS}")
-
-# Include directories
-include_directories(${DOLFIN_INCLUDE_DIRS})
-include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
-
-# Executable
-
-
-# Target libraries
-NOT_SET
diff --git a/demo/undocumented/lift-drag/cpp/CMakeLists.txt b/demo/undocumented/lift-drag/cpp/CMakeLists.txt
index c6477a6..a9087b2 100644
--- a/demo/undocumented/lift-drag/cpp/CMakeLists.txt
+++ b/demo/undocumented/lift-drag/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_lift-drag)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/lift-drag/cpp/Functionals.h b/demo/undocumented/lift-drag/cpp/Functionals.h
index 05a2f61..daa0d65 100644
--- a/demo/undocumented/lift-drag/cpp/Functionals.h
+++ b/demo/undocumented/lift-drag/cpp/Functionals.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2841,6 +3063,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 1
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3025,6 +3262,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 1
+ // quadrature_degree: 1
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -3798,18 +4050,30 @@ class MultiMeshForm_drag: public dolfin::MultiMeshForm
public:
// Constructor
- MultiMeshForm_drag(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::MultiMeshForm(), p(*this, 0)
+ MultiMeshForm_drag(std::shared_ptr<const dolfin::MultiMesh> mesh):
+ dolfin::MultiMeshForm(mesh), p(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_drag(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients
}
// Constructor
- MultiMeshForm_drag(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> p):
- dolfin::MultiMeshForm(), p(*this, 0)
+ MultiMeshForm_drag(std::shared_ptr<const dolfin::MultiMesh> mesh, std::shared_ptr<const dolfin::GenericFunction> p):
+ dolfin::MultiMeshForm(mesh), p(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_drag(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients this->p = p;
@@ -3920,18 +4184,30 @@ class MultiMeshForm_lift: public dolfin::MultiMeshForm
public:
// Constructor
- MultiMeshForm_lift(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::MultiMeshForm(), p(*this, 0)
+ MultiMeshForm_lift(std::shared_ptr<const dolfin::MultiMesh> mesh):
+ dolfin::MultiMeshForm(mesh), p(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_lift(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients
}
// Constructor
- MultiMeshForm_lift(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> p):
- dolfin::MultiMeshForm(), p(*this, 0)
+ MultiMeshForm_lift(std::shared_ptr<const dolfin::MultiMesh> mesh, std::shared_ptr<const dolfin::GenericFunction> p):
+ dolfin::MultiMeshForm(mesh), p(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_lift(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients this->p = p;
diff --git a/demo/undocumented/lift-drag/cpp/compile.log b/demo/undocumented/lift-drag/cpp/compile.log
deleted file mode 100644
index cfbdf47..0000000
--- a/demo/undocumented/lift-drag/cpp/compile.log
+++ /dev/null
@@ -1,548 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Functionals
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 2
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
- Geometric dimension: 2
- Number of exterior_facet subdomains: 2
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal FacetNormal.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 1
- quadrature_degree: 1
-
-Compiler stage 1 finished in 0.0321281 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 4.16333634e-17],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 4.16333634e-17]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 4.16333634e-17],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]],
-
- [[ 0.00000000e+00],
- [ 4.16333634e-17]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.5],
- [ 0. ]],
-
- [[ 0.5],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.5]],
-
- [[ 0. ],
- [ 0.5]],
-
- [[ 0. ],
- [ 0. ]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 4.16333634e-17],
- [ 5.00000000e-01],
- [ 5.00000000e-01]])}, 1: {(0, 0): array([[ 5.00000000e-01],
- [ 4.16333634e-17],
- [ 5.00000000e-01]])}, 2: {(0, 0): array([[ 0.5],
- [ 0.5],
- [ 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_f0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE0_f1': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE0_f2': array([[ 0.5, 0.5, 0. ]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f2_C0': array([[ 0.5, 0.5, 0. , 0. , 0. , 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.5, 0.5, 0. ]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE0_f1': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE0_f2': array([[ 0.5, 0.5, 0. ]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.5, 0.5, 0. , 0. , 0. , 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.5, 0.5, 0. ]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'FE1_f0_C1', 'FE1_f2_C1_D10': 'FE1_f0_C1_D10', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE1_f1_C0': 'FE1_f1_C0', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f0_C1_D10': 'FE1_f0_C1_D10', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1': 'FE1_f1_C1', 'FE1_f1_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.5, 0.5]]), 'FE1_f0_C0_D01': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE1_f0_C0_D01', (5, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE1_f1_C0_D01': ('FE1_f0_C0_D01', (4, [0, 2]), False, False), 'FE1_f0_C0': ('FE0_f0', (3, [1, 2]), False, False), 'FE1_f0_C1': ('FE0_f0', (6, [4, 5]), False, False), 'FE1_f2_C1_D10': ('FE1_f0_C0_D01', (8, [3, 4]), False, False), 'FE1_f2_C1_D01': ('FE1_f0_C0_D01', (7, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE1_f0_C0_D01', [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {1: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 4.16333634e-17],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 4.16333634e-17]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 4.16333634e-17],
- [ 0.00000000e+00]],
-
- [[ 5.00000000e-01],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]],
-
- [[ 0.00000000e+00],
- [ 4.16333634e-17]],
-
- [[ 0.00000000e+00],
- [ 5.00000000e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 8.88178420e-16],
- [ 0.00000000e+00]],
-
- [[ 1.00000000e+00],
- [ 0.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ -1.00000000e+00]],
-
- [[ 0.00000000e+00],
- [ 8.88178420e-16]],
-
- [[ 0.00000000e+00],
- [ 1.00000000e+00]]]), (1, 0): array([[[-1.],
- [ 0.]],
-
- [[ 1.],
- [ 0.]],
-
- [[ 0.],
- [ 0.]],
-
- [[ 0.],
- [-1.]],
-
- [[ 0.],
- [ 1.]],
-
- [[ 0.],
- [ 0.]]]), (0, 0): array([[[ 0.5],
- [ 0. ]],
-
- [[ 0.5],
- [ 0. ]],
-
- [[ 0. ],
- [ 0. ]],
-
- [[ 0. ],
- [ 0.5]],
-
- [[ 0. ],
- [ 0.5]],
-
- [[ 0. ],
- [ 0. ]]])}}}, FiniteElement('Lagrange', triangle, 1): {None: {0: {(0, 0): array([[ 4.16333634e-17],
- [ 5.00000000e-01],
- [ 5.00000000e-01]])}, 1: {(0, 0): array([[ 5.00000000e-01],
- [ 4.16333634e-17],
- [ 5.00000000e-01]])}, 2: {(0, 0): array([[ 0.5],
- [ 0.5],
- [ 0. ]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_f0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE0_f1': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE0_f2': array([[ 0.5, 0.5, 0. ]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f2_C0': array([[ 0.5, 0.5, 0. , 0. , 0. , 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.5, 0.5, 0. ]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE0_f1': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE0_f2': array([[ 0.5, 0.5, 0. ]]), 'FE1_f0_C0': array([[ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.5, 0.5, 0. , 0. , 0. , 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.5, 0.5, 0. ]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'FE1_f0_C1', 'FE1_f2_C1_D10': 'FE1_f0_C1_D10', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE1_f1_C0': 'FE1_f1_C0', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f0_C1_D10': 'FE1_f0_C1_D10', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1': 'FE1_f1_C1', 'FE1_f1_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.5, 0.5]]), 'FE1_f0_C0_D01': array([[-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2]), False, False), 'FE1_f1_C0_D10': ('FE1_f0_C0_D01', (5, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1]), False, False), 'FE1_f1_C0_D01': ('FE1_f0_C0_D01', (4, [0, 2]), False, False), 'FE1_f0_C0': ('FE0_f0', (3, [1, 2]), False, False), 'FE1_f0_C1': ('FE0_f0', (6, [4, 5]), False, False), 'FE1_f2_C1_D10': ('FE1_f0_C0_D01', (8, [3, 4]), False, False), 'FE1_f2_C1_D01': ('FE1_f0_C0_D01', (7, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE1_f0_C0_D01', [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.127938 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
-
-Compiler stage 3 finished in 0.00124502 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: n1
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: n0
- Generating code for forms
-
-Compiler stage 4 finished in 0.125604 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000950813 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000720978 seconds.
-
-FFC finished in 0.289169 seconds.
-Output written to ./Functionals.h.
diff --git a/demo/undocumented/mesh-quality/cpp/CMakeLists.txt b/demo/undocumented/mesh-quality/cpp/CMakeLists.txt
index b311e0e..677222a 100644
--- a/demo/undocumented/mesh-quality/cpp/CMakeLists.txt
+++ b/demo/undocumented/mesh-quality/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_mesh-quality)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/mesh-quality/python/.gitignore b/demo/undocumented/mesh-quality/python/.gitignore
deleted file mode 100644
index a136337..0000000
--- a/demo/undocumented/mesh-quality/python/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.pdf
diff --git a/demo/undocumented/meshfunction-refinement/cpp/CMakeLists.txt b/demo/undocumented/meshfunction-refinement/cpp/CMakeLists.txt
index 5d8dd03..62d55c4 100644
--- a/demo/undocumented/meshfunction-refinement/cpp/CMakeLists.txt
+++ b/demo/undocumented/meshfunction-refinement/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_meshfunction-refinement)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/mplot/python/.gitignore b/demo/undocumented/mplot/python/.gitignore
deleted file mode 100644
index 6633554..0000000
--- a/demo/undocumented/mplot/python/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.png
-*.pdf
diff --git a/demo/undocumented/multimesh-poisson/cpp/CMakeLists.txt b/demo/undocumented/multimesh-poisson/cpp/CMakeLists.txt
index c77e6f3..38962d4 100644
--- a/demo/undocumented/multimesh-poisson/cpp/CMakeLists.txt
+++ b/demo/undocumented/multimesh-poisson/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_multimesh-poisson)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/multimesh-poisson/cpp/MultiMeshPoisson.h b/demo/undocumented/multimesh-poisson/cpp/MultiMeshPoisson.h
index 130f437..5e1f215 100644
--- a/demo/undocumented/multimesh-poisson/cpp/MultiMeshPoisson.h
+++ b/demo/undocumented/multimesh-poisson/cpp/MultiMeshPoisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2906,6 +3143,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -3015,6 +3267,21 @@ public:
const double * facet_normals,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -3220,6 +3487,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -3371,6 +3653,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -3430,6 +3727,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -4203,10 +4515,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4369,10 +4681,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -4388,10 +4700,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/multimesh-poisson/cpp/compile.log b/demo/undocumented/multimesh-poisson/cpp/compile.log
deleted file mode 100644
index a28ef6f..0000000
--- a/demo/undocumented/multimesh-poisson/cpp/compile.log
+++ /dev/null
@@ -1,367 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form MultiMeshPoisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of cutcell subdomains: 0
- Number of interface subdomains: 0
- Number of overlap subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of cutcell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0800791 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000565 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): [[]], (1, 0): [[]], (0, 0): [[]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE0': 'FE0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (), False, False), 'FE0_D01': ('FE0_D01', (), False, False), 'FE0': ('FE0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): [[]], (1, 0): [[]], (0, 0): [[]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE0': 'FE0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (), False, False), 'FE0_D01': ('FE0_D01', (), False, False), 'FE0': ('FE0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 1): [[]], (1, 0): [[]], (0, 0): [[]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0_D10': 'FE0_D10', 'FE0_D01': 'FE0_D01', 'FE0': 'FE0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_D01': array([], shape=(0, 1), dtype=float64), 'FE0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0_D10': ('FE0_D10', (), False, False), 'FE0_D01': ('FE0_D01', (), False, False), 'FE0': ('FE0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000511 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {FiniteElement('Lagrange', triangle, 1): {None: {None: {(0, 0): [[]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0': 'FE0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0': ('FE0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.027504 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000174046 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius_1
- Removing unused variable: v0v1_1
- Removing unused variable: v0v2_1
- Removing unused variable: v1v2_1
- Removing unused variable: volume_1
- Removing unused variable: circumradius_0
- Removing unused variable: v0v1_0
- Removing unused variable: v0v2_0
- Removing unused variable: v1v2_0
- Removing unused variable: volume_0
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.09027 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000571012 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000490904 seconds.
-
-FFC finished in 0.199435 seconds.
-Output written to ./MultiMeshPoisson.h.
diff --git a/demo/undocumented/multimesh-stokes/cpp/CMakeLists.txt b/demo/undocumented/multimesh-stokes/cpp/CMakeLists.txt
index fdb3b7c..a1307c2 100644
--- a/demo/undocumented/multimesh-stokes/cpp/CMakeLists.txt
+++ b/demo/undocumented/multimesh-stokes/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_multimesh-stokes)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/multimesh-stokes/cpp/MultiMeshStokes.h b/demo/undocumented/multimesh-stokes/cpp/MultiMeshStokes.h
index af13185..d8d3638 100644
--- a/demo/undocumented/multimesh-stokes/cpp/MultiMeshStokes.h
+++ b/demo/undocumented/multimesh-stokes/cpp/MultiMeshStokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4142,7 +4134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4178,7 +4170,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4286,7 +4278,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4358,7 +4350,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4394,7 +4386,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4502,7 +4494,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4715,7 +4707,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4730,8 +4722,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4866,7 +4858,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4881,8 +4873,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5032,8 +5024,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5183,8 +5175,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5319,7 +5311,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5334,8 +5326,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5485,8 +5477,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5621,7 +5613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5636,8 +5628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5772,7 +5764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5787,8 +5779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5938,8 +5930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6089,8 +6081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6225,7 +6217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -6240,8 +6232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6391,8 +6383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6705,49 +6697,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6982,7 +6956,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7018,7 +6992,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7126,7 +7100,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7198,7 +7172,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7234,7 +7208,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7342,7 +7316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7639,7 +7613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7654,8 +7628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7790,7 +7764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7805,8 +7779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7956,8 +7930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8107,8 +8081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8243,7 +8217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8258,8 +8232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8409,8 +8383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8545,7 +8519,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8560,8 +8534,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8696,7 +8670,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8711,8 +8685,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8862,8 +8836,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9013,8 +8987,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9149,7 +9123,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -9164,8 +9138,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9315,8 +9289,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -10046,62 +10020,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -10279,6 +10226,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10367,6 +10338,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10474,6 +10530,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10577,31 +10657,128 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
{
case 0:
{
- return new multimeshstokes_dofmap_0();
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
break;
}
case 1:
{
- return new multimeshstokes_dofmap_0();
- break;
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- }
-
- return 0;
- }
-
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 2;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new multimeshstokes_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new multimeshstokes_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+ }
+
ufc::dofmap * create() const final override
{
return new multimeshstokes_dofmap_1();
@@ -10698,6 +10875,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10818,6 +11019,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10925,6 +11217,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11068,6 +11384,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11189,6 +11614,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11345,6 +11794,127 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ dofs[2] = 12;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ dofs[2] = 13;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ dofs[2] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ dofs[6] = 12;
+ dofs[7] = 14;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ dofs[6] = 12;
+ dofs[7] = 13;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11403,6 +11973,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 32
// Number of operations (multiply-add pairs) for tensor contraction: 282
@@ -11448,7 +12033,7 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1 + 0.5*G2_0_0 + 0.5*G2_0_1 + 0.5*G2_1_0 + 0.5*G2_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_1_0;
+ A[1] = 0.166666666666667*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666667*G2_0_0 + 0.166666666666666*G2_1_0;
A[2] = 0.166666666666666*G0_0_1 + 0.166666666666665*G0_1_1 + 0.166666666666666*G2_0_1 + 0.166666666666665*G2_1_1;
A[3] = 0.0;
A[4] = -0.666666666666667*G0_0_1 - 0.666666666666667*G0_1_1 - 0.666666666666667*G2_0_1 - 0.666666666666667*G2_1_1;
@@ -11459,15 +12044,15 @@ public:
A[9] = 0.0;
A[10] = 0.0;
A[11] = 0.0;
- A[12] = 0.166666666666666*G4_0 + 0.166666666666667*G4_1;
+ A[12] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
A[13] = 0.0;
A[14] = 0.0;
A[15] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_0_1;
A[16] = 0.5*G0_0_0 + 0.5*G2_0_0;
A[17] = -0.166666666666666*G0_0_1 - 0.166666666666666*G2_0_1;
- A[18] = 0.666666666666664*G0_0_1 + 0.666666666666664*G2_0_1;
+ A[18] = 0.666666666666663*G0_0_1 + 0.666666666666663*G2_0_1;
A[19] = 0.0;
- A[20] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_0_1;
+ A[20] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
A[21] = 0.0;
A[22] = 0.0;
A[23] = 0.0;
@@ -11493,11 +12078,11 @@ public:
A[43] = 0.0;
A[44] = -0.166666666666667*G4_1;
A[45] = 0.0;
- A[46] = 0.666666666666664*G0_1_0 + 0.666666666666664*G2_1_0;
+ A[46] = 0.666666666666663*G0_1_0 + 0.666666666666663*G2_1_0;
A[47] = 0.666666666666666*G0_0_1 + 0.666666666666666*G2_0_1;
- A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333332*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333332*G2_1_1;
+ A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333331*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333331*G2_1_1;
A[49] = -1.33333333333333*G0_0_0 - 0.666666666666659*G0_0_1 - 0.666666666666656*G0_1_0 - 1.33333333333333*G2_0_0 - 0.666666666666659*G2_0_1 - 0.666666666666656*G2_1_0;
- A[50] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666666*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[50] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[51] = 0.0;
A[52] = 0.0;
A[53] = 0.0;
@@ -11523,9 +12108,9 @@ public:
A[73] = 0.166666666666666*G4_0;
A[74] = 0.333333333333333*G4_0 + 0.166666666666665*G4_1;
A[75] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
- A[76] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_1_0;
+ A[76] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_1_0;
A[77] = 0.0;
- A[78] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666666*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[78] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[79] = 0.666666666666666*G0_0_1 + 0.666666666666665*G0_1_0 + 0.666666666666666*G2_0_1 + 0.666666666666665*G2_1_0;
A[80] = 1.33333333333333*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666667*G2_0_1 + 0.666666666666667*G2_1_0 + 1.33333333333333*G2_1_1;
A[81] = 0.0;
@@ -11544,12 +12129,12 @@ public:
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.5*G1_0_0 + 0.5*G1_0_1 + 0.5*G1_1_0 + 0.5*G1_1_1 + 0.5*G3_0_0 + 0.5*G3_0_1 + 0.5*G3_1_0 + 0.5*G3_1_1;
- A[97] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_1_0;
+ A[97] = 0.166666666666667*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666667*G3_0_0 + 0.166666666666666*G3_1_0;
A[98] = 0.166666666666666*G1_0_1 + 0.166666666666665*G1_1_1 + 0.166666666666666*G3_0_1 + 0.166666666666665*G3_1_1;
A[99] = 0.0;
A[100] = -0.666666666666667*G1_0_1 - 0.666666666666667*G1_1_1 - 0.666666666666667*G3_0_1 - 0.666666666666667*G3_1_1;
A[101] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
- A[102] = 0.166666666666666*G5_0 + 0.166666666666667*G5_1;
+ A[102] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[103] = 0.0;
A[104] = 0.0;
A[105] = 0.0;
@@ -11561,9 +12146,9 @@ public:
A[111] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_0_1 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_0_1;
A[112] = 0.5*G1_0_0 + 0.5*G3_0_0;
A[113] = -0.166666666666666*G1_0_1 - 0.166666666666666*G3_0_1;
- A[114] = 0.666666666666664*G1_0_1 + 0.666666666666664*G3_0_1;
+ A[114] = 0.666666666666663*G1_0_1 + 0.666666666666663*G3_0_1;
A[115] = 0.0;
- A[116] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_0_1;
+ A[116] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
A[117] = 0.0;
A[118] = -0.166666666666666*G5_0;
A[119] = 0.0;
@@ -11589,11 +12174,11 @@ public:
A[139] = 0.0;
A[140] = 0.0;
A[141] = 0.0;
- A[142] = 0.666666666666664*G1_1_0 + 0.666666666666664*G3_1_0;
+ A[142] = 0.666666666666663*G1_1_0 + 0.666666666666663*G3_1_0;
A[143] = 0.666666666666666*G1_0_1 + 0.666666666666666*G3_0_1;
- A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333332*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333332*G3_1_1;
+ A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333331*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333331*G3_1_1;
A[145] = -1.33333333333333*G1_0_0 - 0.666666666666659*G1_0_1 - 0.666666666666656*G1_1_0 - 1.33333333333333*G3_0_0 - 0.666666666666659*G3_0_1 - 0.666666666666656*G3_1_0;
- A[146] = -0.666666666666665*G1_0_1 - 0.666666666666666*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666666*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[146] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[147] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
A[148] = -0.166666666666666*G5_0 - 0.333333333333331*G5_1;
A[149] = -0.333333333333333*G5_0 - 0.166666666666664*G5_1;
@@ -11619,21 +12204,21 @@ public:
A[169] = 0.0;
A[170] = 0.0;
A[171] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
- A[172] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_1_0;
+ A[172] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
A[173] = 0.0;
- A[174] = -0.666666666666666*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666666*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[174] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[175] = 0.666666666666666*G1_0_1 + 0.666666666666665*G1_1_0 + 0.666666666666666*G3_0_1 + 0.666666666666665*G3_1_0;
A[176] = 1.33333333333333*G1_0_0 + 0.666666666666667*G1_0_1 + 0.666666666666667*G1_1_0 + 1.33333333333333*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666667*G3_0_1 + 0.666666666666667*G3_1_0 + 1.33333333333333*G3_1_1;
A[177] = -0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[178] = 0.166666666666667*G5_0 + 0.333333333333333*G5_1;
A[179] = 0.166666666666667*G5_1;
- A[180] = 0.166666666666666*G6_0 + 0.166666666666667*G6_1;
+ A[180] = 0.166666666666667*G6_0 + 0.166666666666667*G6_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = -0.166666666666666*G6_0 - 0.166666666666665*G6_1;
A[184] = 0.166666666666666*G6_0 - 0.166666666666668*G6_1;
A[185] = -0.166666666666667*G6_0 + 0.166666666666667*G6_1;
- A[186] = 0.166666666666666*G7_0 + 0.166666666666667*G7_1;
+ A[186] = 0.166666666666667*G7_0 + 0.166666666666667*G7_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = -0.166666666666666*G7_0 - 0.166666666666665*G7_1;
@@ -11705,6 +12290,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -11943,6 +12543,21 @@ public:
const double * facet_normals,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -12200,6 +12815,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -12377,6 +13007,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 12
// Number of operations (multiply-add pairs) for tensor contraction: 42
@@ -12411,16 +13056,16 @@ public:
// Compute element tensor
A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
+ A[2] = -0.00277777777777778*G0_0 - 0.00277777777777781*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
+ A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888888*G0_5;
A[6] = 0.0166666666666666*G1_6 - 0.00277777777777778*G1_7 - 0.00277777777777778*G1_8 - 0.0111111111111111*G1_9;
A[7] = -0.00277777777777778*G1_6 + 0.0166666666666667*G1_7 - 0.00277777777777781*G1_8 - 0.0111111111111111*G1_10;
- A[8] = -0.00277777777777778*G1_6 - 0.0027777777777778*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
+ A[8] = -0.00277777777777778*G1_6 - 0.00277777777777781*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
A[9] = -0.0111111111111111*G1_6 + 0.0888888888888888*G1_9 + 0.0444444444444443*G1_10 + 0.0444444444444443*G1_11;
A[10] = -0.0111111111111111*G1_7 + 0.0444444444444443*G1_9 + 0.0888888888888887*G1_10 + 0.0444444444444443*G1_11;
- A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888887*G1_11;
+ A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888888*G1_11;
A[12] = 0.0;
A[13] = 0.0;
A[14] = 0.0;
@@ -12457,6 +13102,21 @@ public:
const double * quadrature_weights,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// --- Compute geometric quantities on cell 0 ---
@@ -13374,10 +14034,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -13540,10 +14200,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -13559,10 +14219,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/multimesh-stokes/cpp/Stokes.h b/demo/undocumented/multimesh-stokes/cpp/Stokes.h
index 8cd2d00..7959a4d 100644
--- a/demo/undocumented/multimesh-stokes/cpp/Stokes.h
+++ b/demo/undocumented/multimesh-stokes/cpp/Stokes.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2530,7 +2522,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2566,7 +2558,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2674,7 +2666,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2884,7 +2876,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2899,8 +2891,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3035,7 +3027,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3050,8 +3042,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3201,8 +3193,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3352,8 +3344,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3488,7 +3480,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3503,8 +3495,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3654,8 +3646,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4142,7 +4134,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4178,7 +4170,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4286,7 +4278,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4358,7 +4350,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4394,7 +4386,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4502,7 +4494,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -4715,7 +4707,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4730,8 +4722,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4866,7 +4858,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -4881,8 +4873,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5032,8 +5024,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5183,8 +5175,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5319,7 +5311,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5334,8 +5326,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5485,8 +5477,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5621,7 +5613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5636,8 +5628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5772,7 +5764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -5787,8 +5779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -5938,8 +5930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6089,8 +6081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6225,7 +6217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -6240,8 +6232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6391,8 +6383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -6705,49 +6697,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -6982,7 +6956,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7018,7 +6992,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7126,7 +7100,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7198,7 +7172,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7234,7 +7208,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7342,7 +7316,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -7639,7 +7613,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7654,8 +7628,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7790,7 +7764,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -7805,8 +7779,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -7956,8 +7930,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8107,8 +8081,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8243,7 +8217,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8258,8 +8232,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8409,8 +8383,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8545,7 +8519,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8560,8 +8534,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8696,7 +8670,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -8711,8 +8685,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -8862,8 +8836,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9013,8 +8987,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9149,7 +9123,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -9164,8 +9138,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -9315,8 +9289,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -10046,62 +10020,35 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
+ values[12] = vals[2];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
+ values[13] = vals[2];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
+ values[14] = vals[2];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[12] = vals[2];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[13] = vals[2];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[14] = vals[2];
}
void interpolate_vertex_values(double * vertex_values,
@@ -10279,6 +10226,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10367,6 +10338,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10474,6 +10530,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10577,31 +10657,128 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
{
case 0:
{
- return new stokes_dofmap_0();
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
break;
}
case 1:
{
- return new stokes_dofmap_0();
- break;
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
}
- }
-
- return 0;
- }
-
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 2;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new stokes_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
+ }
+
ufc::dofmap * create() const final override
{
return new stokes_dofmap_1();
@@ -10698,6 +10875,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -10818,6 +11019,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -10925,6 +11217,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11068,6 +11384,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11189,6 +11614,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 8;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -11345,6 +11794,127 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ dofs[2] = 12;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ dofs[2] = 13;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ dofs[2] = 14;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ dofs[6] = 13;
+ dofs[7] = 14;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ dofs[6] = 12;
+ dofs[7] = 14;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ dofs[6] = 12;
+ dofs[7] = 13;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -11403,6 +11973,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 3
+ // quadrature_degree: 3
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 32
// Number of operations (multiply-add pairs) for tensor contraction: 282
@@ -11448,7 +12033,7 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1 + 0.5*G2_0_0 + 0.5*G2_0_1 + 0.5*G2_1_0 + 0.5*G2_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_1_0;
+ A[1] = 0.166666666666667*G0_0_0 + 0.166666666666666*G0_1_0 + 0.166666666666667*G2_0_0 + 0.166666666666666*G2_1_0;
A[2] = 0.166666666666666*G0_0_1 + 0.166666666666665*G0_1_1 + 0.166666666666666*G2_0_1 + 0.166666666666665*G2_1_1;
A[3] = 0.0;
A[4] = -0.666666666666667*G0_0_1 - 0.666666666666667*G0_1_1 - 0.666666666666667*G2_0_1 - 0.666666666666667*G2_1_1;
@@ -11459,15 +12044,15 @@ public:
A[9] = 0.0;
A[10] = 0.0;
A[11] = 0.0;
- A[12] = 0.166666666666666*G4_0 + 0.166666666666667*G4_1;
+ A[12] = 0.166666666666667*G4_0 + 0.166666666666667*G4_1;
A[13] = 0.0;
A[14] = 0.0;
A[15] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1 + 0.166666666666668*G2_0_0 + 0.166666666666666*G2_0_1;
A[16] = 0.5*G0_0_0 + 0.5*G2_0_0;
A[17] = -0.166666666666666*G0_0_1 - 0.166666666666666*G2_0_1;
- A[18] = 0.666666666666664*G0_0_1 + 0.666666666666664*G2_0_1;
+ A[18] = 0.666666666666663*G0_0_1 + 0.666666666666663*G2_0_1;
A[19] = 0.0;
- A[20] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_0_1;
+ A[20] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
A[21] = 0.0;
A[22] = 0.0;
A[23] = 0.0;
@@ -11493,11 +12078,11 @@ public:
A[43] = 0.0;
A[44] = -0.166666666666667*G4_1;
A[45] = 0.0;
- A[46] = 0.666666666666664*G0_1_0 + 0.666666666666664*G2_1_0;
+ A[46] = 0.666666666666663*G0_1_0 + 0.666666666666663*G2_1_0;
A[47] = 0.666666666666666*G0_0_1 + 0.666666666666666*G2_0_1;
- A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333332*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333332*G2_1_1;
+ A[48] = 1.33333333333333*G0_0_0 + 0.666666666666656*G0_0_1 + 0.666666666666656*G0_1_0 + 1.33333333333331*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666656*G2_0_1 + 0.666666666666656*G2_1_0 + 1.33333333333331*G2_1_1;
A[49] = -1.33333333333333*G0_0_0 - 0.666666666666659*G0_0_1 - 0.666666666666656*G0_1_0 - 1.33333333333333*G2_0_0 - 0.666666666666659*G2_0_1 - 0.666666666666656*G2_1_0;
- A[50] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666666*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[50] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[51] = 0.0;
A[52] = 0.0;
A[53] = 0.0;
@@ -11523,9 +12108,9 @@ public:
A[73] = 0.166666666666666*G4_0;
A[74] = 0.333333333333333*G4_0 + 0.166666666666665*G4_1;
A[75] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_0_1 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_0_1;
- A[76] = -0.666666666666667*G0_0_0 - 0.666666666666666*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666666*G2_1_0;
+ A[76] = -0.666666666666667*G0_0_0 - 0.666666666666667*G0_1_0 - 0.666666666666667*G2_0_0 - 0.666666666666667*G2_1_0;
A[77] = 0.0;
- A[78] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666666*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
+ A[78] = -0.666666666666665*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1 - 0.666666666666665*G2_0_1 - 0.666666666666665*G2_1_0 - 1.33333333333332*G2_1_1;
A[79] = 0.666666666666666*G0_0_1 + 0.666666666666665*G0_1_0 + 0.666666666666666*G2_0_1 + 0.666666666666665*G2_1_0;
A[80] = 1.33333333333333*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1 + 1.33333333333333*G2_0_0 + 0.666666666666667*G2_0_1 + 0.666666666666667*G2_1_0 + 1.33333333333333*G2_1_1;
A[81] = 0.0;
@@ -11544,12 +12129,12 @@ public:
A[94] = 0.0;
A[95] = 0.0;
A[96] = 0.5*G1_0_0 + 0.5*G1_0_1 + 0.5*G1_1_0 + 0.5*G1_1_1 + 0.5*G3_0_0 + 0.5*G3_0_1 + 0.5*G3_1_0 + 0.5*G3_1_1;
- A[97] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_1_0;
+ A[97] = 0.166666666666667*G1_0_0 + 0.166666666666666*G1_1_0 + 0.166666666666667*G3_0_0 + 0.166666666666666*G3_1_0;
A[98] = 0.166666666666666*G1_0_1 + 0.166666666666665*G1_1_1 + 0.166666666666666*G3_0_1 + 0.166666666666665*G3_1_1;
A[99] = 0.0;
A[100] = -0.666666666666667*G1_0_1 - 0.666666666666667*G1_1_1 - 0.666666666666667*G3_0_1 - 0.666666666666667*G3_1_1;
A[101] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
- A[102] = 0.166666666666666*G5_0 + 0.166666666666667*G5_1;
+ A[102] = 0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[103] = 0.0;
A[104] = 0.0;
A[105] = 0.0;
@@ -11561,9 +12146,9 @@ public:
A[111] = 0.166666666666668*G1_0_0 + 0.166666666666666*G1_0_1 + 0.166666666666668*G3_0_0 + 0.166666666666666*G3_0_1;
A[112] = 0.5*G1_0_0 + 0.5*G3_0_0;
A[113] = -0.166666666666666*G1_0_1 - 0.166666666666666*G3_0_1;
- A[114] = 0.666666666666664*G1_0_1 + 0.666666666666664*G3_0_1;
+ A[114] = 0.666666666666663*G1_0_1 + 0.666666666666663*G3_0_1;
A[115] = 0.0;
- A[116] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_0_1;
+ A[116] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
A[117] = 0.0;
A[118] = -0.166666666666666*G5_0;
A[119] = 0.0;
@@ -11589,11 +12174,11 @@ public:
A[139] = 0.0;
A[140] = 0.0;
A[141] = 0.0;
- A[142] = 0.666666666666664*G1_1_0 + 0.666666666666664*G3_1_0;
+ A[142] = 0.666666666666663*G1_1_0 + 0.666666666666663*G3_1_0;
A[143] = 0.666666666666666*G1_0_1 + 0.666666666666666*G3_0_1;
- A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333332*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333332*G3_1_1;
+ A[144] = 1.33333333333333*G1_0_0 + 0.666666666666656*G1_0_1 + 0.666666666666656*G1_1_0 + 1.33333333333331*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666656*G3_0_1 + 0.666666666666656*G3_1_0 + 1.33333333333331*G3_1_1;
A[145] = -1.33333333333333*G1_0_0 - 0.666666666666659*G1_0_1 - 0.666666666666656*G1_1_0 - 1.33333333333333*G3_0_0 - 0.666666666666659*G3_0_1 - 0.666666666666656*G3_1_0;
- A[146] = -0.666666666666665*G1_0_1 - 0.666666666666666*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666666*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[146] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[147] = -0.166666666666666*G5_0 - 0.166666666666665*G5_1;
A[148] = -0.166666666666666*G5_0 - 0.333333333333331*G5_1;
A[149] = -0.333333333333333*G5_0 - 0.166666666666664*G5_1;
@@ -11619,21 +12204,21 @@ public:
A[169] = 0.0;
A[170] = 0.0;
A[171] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_0_1 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_0_1;
- A[172] = -0.666666666666667*G1_0_0 - 0.666666666666666*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666666*G3_1_0;
+ A[172] = -0.666666666666667*G1_0_0 - 0.666666666666667*G1_1_0 - 0.666666666666667*G3_0_0 - 0.666666666666667*G3_1_0;
A[173] = 0.0;
- A[174] = -0.666666666666666*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666666*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
+ A[174] = -0.666666666666665*G1_0_1 - 0.666666666666665*G1_1_0 - 1.33333333333332*G1_1_1 - 0.666666666666665*G3_0_1 - 0.666666666666665*G3_1_0 - 1.33333333333332*G3_1_1;
A[175] = 0.666666666666666*G1_0_1 + 0.666666666666665*G1_1_0 + 0.666666666666666*G3_0_1 + 0.666666666666665*G3_1_0;
A[176] = 1.33333333333333*G1_0_0 + 0.666666666666667*G1_0_1 + 0.666666666666667*G1_1_0 + 1.33333333333333*G1_1_1 + 1.33333333333333*G3_0_0 + 0.666666666666667*G3_0_1 + 0.666666666666667*G3_1_0 + 1.33333333333333*G3_1_1;
A[177] = -0.166666666666667*G5_0 + 0.166666666666667*G5_1;
A[178] = 0.166666666666667*G5_0 + 0.333333333333333*G5_1;
A[179] = 0.166666666666667*G5_1;
- A[180] = 0.166666666666666*G6_0 + 0.166666666666667*G6_1;
+ A[180] = 0.166666666666667*G6_0 + 0.166666666666667*G6_1;
A[181] = 0.0;
A[182] = 0.0;
A[183] = -0.166666666666666*G6_0 - 0.166666666666665*G6_1;
A[184] = 0.166666666666666*G6_0 - 0.166666666666668*G6_1;
A[185] = -0.166666666666667*G6_0 + 0.166666666666667*G6_1;
- A[186] = 0.166666666666666*G7_0 + 0.166666666666667*G7_1;
+ A[186] = 0.166666666666667*G7_0 + 0.166666666666667*G7_1;
A[187] = 0.0;
A[188] = 0.0;
A[189] = -0.166666666666666*G7_0 - 0.166666666666665*G7_1;
@@ -11702,6 +12287,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 12
// Number of operations (multiply-add pairs) for tensor contraction: 42
@@ -11736,16 +12336,16 @@ public:
// Compute element tensor
A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
+ A[2] = -0.00277777777777778*G0_0 - 0.00277777777777781*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
+ A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888888*G0_5;
A[6] = 0.0166666666666666*G1_6 - 0.00277777777777778*G1_7 - 0.00277777777777778*G1_8 - 0.0111111111111111*G1_9;
A[7] = -0.00277777777777778*G1_6 + 0.0166666666666667*G1_7 - 0.00277777777777781*G1_8 - 0.0111111111111111*G1_10;
- A[8] = -0.00277777777777778*G1_6 - 0.0027777777777778*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
+ A[8] = -0.00277777777777778*G1_6 - 0.00277777777777781*G1_7 + 0.0166666666666667*G1_8 - 0.0111111111111111*G1_11;
A[9] = -0.0111111111111111*G1_6 + 0.0888888888888888*G1_9 + 0.0444444444444443*G1_10 + 0.0444444444444443*G1_11;
A[10] = -0.0111111111111111*G1_7 + 0.0444444444444443*G1_9 + 0.0888888888888887*G1_10 + 0.0444444444444443*G1_11;
- A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888887*G1_11;
+ A[11] = -0.0111111111111111*G1_8 + 0.0444444444444443*G1_9 + 0.0444444444444443*G1_10 + 0.0888888888888888*G1_11;
A[12] = 0.0;
A[13] = 0.0;
A[14] = 0.0;
@@ -12451,10 +13051,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -12617,10 +13217,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -12636,10 +13236,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/multimesh-stokes/cpp/compile.log b/demo/undocumented/multimesh-stokes/cpp/compile.log
deleted file mode 100644
index 4ab251d..0000000
--- a/demo/undocumented/multimesh-stokes/cpp/compile.log
+++ /dev/null
@@ -1,977 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form MultiMeshStokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of cutcell subdomains: 0
- Number of interface subdomains: 0
- Number of overlap subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1
- (?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1
- (?)>, Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of cutcell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?
- )>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?
- )>, Vector<2 x CG1(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.280428 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.0013 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00125 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00125 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00123 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0012 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00119 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00118 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00132 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): [[[], [], []]], (0, 0): [[[], [], []]], (1, 1): [[[], [], []]], (2, 0): [[[], [], []]], (1, 0): [[[], [], []]], (0, 2): [[[], [], []]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D02': array([], shape=(0, 1), dtype=float64), 'FE [...]
-
- tables: {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D02': array([], shape=(0, 1), dtype=float [...]
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D02': 'FE0_C1_D02', 'FE0_C1_D01': 'FE0_C1_D01', 'FE0_C1_D20': 'FE0_C1_D20', 'FE0_C2_D11': 'FE0_C2_D11', 'FE0_C2_D10': 'FE0_C2_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C1_D11': 'FE0_C1_D11', 'FE0_C0_D02': 'FE0_C0_D02', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C2_D20': 'FE0_C2_D20', 'FE0_C0_D01': 'FE0_C0_D01', 'FE0_C0_D20': 'FE0_C0_D20', 'FE0_C2_D01': 'FE0_C2_D01', 'FE0_C2_D02': 'FE0_C2_D02', 'FE0_C0_D11': 'FE0_C0_D11', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D02': array([], shape=(0, 1), dtype=float64), 'FE [...]
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D02': ('FE0_C1_D02', (), False, False), 'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE0_C1_D20': ('FE0_C1_D20', (), False, False), 'FE0_C2_D11': ('FE0_C2_D11', (), False, False), 'FE0_C2_D10': ('FE0_C2_D10', (), False, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE0_C1_D11': ('FE0_C1_D11', (), False, False), 'FE0_C0_D02': ('FE0_C0_D02', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C2_D20': ('FE0_C2_D20', (), False, False), 'FE0_C0_D [...]
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): [[[], [], []]], (1, 0): [[[], [], []]], (0, 0): [[[], [], []]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE0_C2_D10': 'FE0_C2_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE0_C2_D01': 'FE0_C2_D01', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE0_C2_D10': ('FE0_C2_D10', (), False, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (), False, False), 'FE0_C2_D01': ('FE0_C2_D01', (), False, False), 'FE0_C2': ('FE0_C2', (), False, False), 'FE0_C1': ('FE0_C1', (), False, False), 'FE0_C0': ('FE0_C0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): [[[], [], []]], (1, 0): [[[], [], []]], (0, 0): [[[], [], []]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- tables: {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE0_C2_D10': 'FE0_C2_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE0_C2_D01': 'FE0_C2_D01', 'FE0_C2': 'FE0_C2', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C0_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D01': array([], shape=(0, 1), dtype=float64), 'FE0_C2': array([], shape=(0, 1), dtype=float64), 'FE0_C1': array([], shape=(0, 1), dtype=float64), 'FE0_C0': array([], shape=(0, 1), dtype=float64)}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE0_C2_D10': ('FE0_C2_D10', (), False, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (), False, False), 'FE0_C2_D01': ('FE0_C2_D01', (), False, False), 'FE0_C2': ('FE0_C2', (), False, False), 'FE0_C1': ('FE0_C1', (), False, False), 'FE0_C0': ('FE0_C0', (), False, False)}
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00164 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00153 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Optimization not available for custom integrals, skipping optimization.
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {None: {MixedElement(VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), FiniteElement('Lagrange', triangle, 1)): {None: {None: {(0, 1): [[[], [], []]], (0, 0): [[[], [], []]], (1, 1): [[[], [], []]], (2, 0): [[[], [], []]], (1, 0): [[[], [], []]], (0, 2): [[[], [], []]]}}}, VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {None: {(0, 0): [[[], []]]}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE1_C0': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C0 [...]
-
- tables: {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE1_C0': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), [...]
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D02': 'FE0_C1_D02', 'FE0_C1_D01': 'FE0_C1_D01', 'FE1_C0': 'FE1_C0', 'FE0_C1_D20': 'FE0_C1_D20', 'FE0_C2_D11': 'FE0_C2_D11', 'FE0_C2_D10': 'FE0_C2_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE0_C1_D11': 'FE0_C1_D11', 'FE0_C0_D02': 'FE0_C0_D02', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C2_D20': 'FE0_C2_D20', 'FE0_C0_D01': 'FE0_C0_D01', 'FE0_C0_D20': 'FE0_C0_D20', 'FE0_C2_D01': 'FE0_C2_D01', 'FE0_C2_D02': 'FE0_C2_D02', 'FE1_C1': 'FE1_C1', 'FE0_C0_D11': 'FE0_C0_D11', 'FE0_C2': 'FE0_ [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C1_D02': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D01': array([], shape=(0, 1), dtype=float64), 'FE1_C0': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D10': array([], shape=(0, 1), dtype=float64), 'FE0_C1_D11': array([], shape=(0, 1), dtype=float64), 'FE0_C2_D20': array([], shape=(0, 1), dtype=float64), 'FE0_C0 [...]
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D02': ('FE0_C1_D02', (), False, False), 'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE1_C0': ('FE1_C0', (), False, False), 'FE0_C1_D20': ('FE0_C1_D20', (), False, False), 'FE0_C2_D11': ('FE0_C2_D11', (), False, False), 'FE0_C2_D10': ('FE0_C2_D10', (), False, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE0_C1_D11': ('FE0_C1_D11', (), False, False), 'FE0_C0_D02': ('FE0_C0_D02', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C2_D20': ('F [...]
- Transforming custom integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.109273 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000211 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius_1
- Removing unused variable: v0v1_1
- Removing unused variable: v0v2_1
- Removing unused variable: v1v2_1
- Removing unused variable: volume_1
- Removing unused variable: circumradius_0
- Removing unused variable: v0v1_0
- Removing unused variable: v0v2_0
- Removing unused variable: v1v2_0
- Removing unused variable: volume_0
- Generating code for forms
-
-Compiler stage 4 finished in 0.697197 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00128889 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00159502 seconds.
-
-FFC finished in 1.09069 seconds.
-Output written to ./MultiMeshStokes.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Stokes
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG1(?)>,
- Vector<2 x CG2(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 3
- quadrature_degree: 3
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?)>,
- Vector<2 x CG1(?)>'
- Unique sub elements: 'Mixed<Vector<2 x CG2(?)>, CG1(?)>, Vector<2 x CG2(?)>,
- Vector<2 x CG1(?)>, CG1(?), CG2(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.224803 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 5 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 5 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00142 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.0013 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00147 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.00252 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00148 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.0017 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00146 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 450 entries computed in 0.00156 seconds
- Shape of reference tensor: (15, 15, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00174 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 180 entries computed in 0.00178 seconds
- Shape of reference tensor: (15, 12)
- Primary multi index: rank = 1 dims = [15] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [12] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0471201 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000224113 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 5 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 5 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.540751 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000679016 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000924826 seconds.
-
-FFC finished in 0.814984 seconds.
-Output written to ./Stokes.h.
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/P1.h b/demo/undocumented/nonmatching-interpolation/cpp/P1.h
deleted file mode 100644
index 1dbe5da..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/P1.h
+++ /dev/null
@@ -1,1179 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __P1_H
-#define __P1_H
-#include <stdexcept>
-#include <ufc.h>
-
-class p1_finite_element_0: public ufc::finite_element
-{
-public:
-
- p1_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~p1_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new p1_finite_element_0();
- }
-
-};
-
-
-class p1_dofmap_0: public ufc::dofmap
-{
-public:
-
- p1_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~p1_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new p1_dofmap_0();
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace P1
-{
-
-class FunctionSpace: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- FunctionSpace(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<p1_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<p1_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- FunctionSpace(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<p1_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<p1_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-}
-
-#endif
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/P1.ufl b/demo/undocumented/nonmatching-interpolation/cpp/P1.ufl
deleted file mode 100644
index 9d92788..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/P1.ufl
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2009 Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2009-06-18
-# Last changed:
-#
-# The bilinear form a(v, u) and linear form L(v) for
-# projection onto piecewise quadratics.
-#
-# Compile this form with FFC: ffc -l dolfin P1.ufl
-
-element = FiniteElement("Lagrange", triangle, 1)
-
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/P3.h b/demo/undocumented/nonmatching-interpolation/cpp/P3.h
deleted file mode 100644
index 0daa984..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/P3.h
+++ /dev/null
@@ -1,3038 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __P3_H
-#define __P3_H
-#include <stdexcept>
-#include <ufc.h>
-
-class p3_finite_element_0: public ufc::finite_element
-{
-public:
-
- p3_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~p3_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 3)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 10;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 3;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 10; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 10; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[8][3];
- for (unsigned int row = 0; row < 8; row++)
- {
- for (unsigned int col = 0; col < 3; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[8][8];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, 0.151522881682832, 0.0262445329583912, 0.0, 0.0, 0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, 0.117369119465393, -0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, 0.131222664791956, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.0, 0.3, 0.0, -0.151522881682832, 0.0262445329583912, 0.0, 0.0, -0.131222664791956, -0.136370593514548};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, -0.259807621135332, -0.15, -0.0782460796435952, 0.090913729009699, 0.0962299541807677, 0.180401338290886, 0.0508223195384204, -0.0131222664791956, -0.0227284322524247};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
- double tmp1 = (1.0 - Y)/2.0;
- double tmp2 = tmp1*tmp1;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
- basisvalues[6] = basisvalues[3]*1.66666666666667*tmp0 - basisvalues[1]*0.666666666666667*tmp2;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
- basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
- basisvalues[5] = basisvalues[2]*(0.111111111111111 + Y*1.66666666666667) - basisvalues[0]*0.555555555555556;
- basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
- basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[5] *= std::sqrt(1.5);
- basisvalues[9] *= std::sqrt(2.0);
- basisvalues[1] *= std::sqrt(3.0);
- basisvalues[4] *= std::sqrt(4.5);
- basisvalues[8] *= std::sqrt(6.0);
- basisvalues[3] *= std::sqrt(7.5);
- basisvalues[7] *= std::sqrt(10.0);
- basisvalues[6] *= std::sqrt(14.0);
-
- // Table(s) of coefficients
- static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[10][10] = \
- {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[10][10] = \
- {{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- for (unsigned int u = 0; u < 10; u++)
- {
- for (unsigned int tu = 0; tu < 10; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 10; s++)
- {
- for (unsigned int t = 0; t < 10; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 10; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 3)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[8];
- for (unsigned int r = 0; r < 8; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 10; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 5:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 6:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 7:
- {
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 8:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 9:
- {
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[6] = vals[0];
- y[0] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- y[1] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[7] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[8] = vals[0];
- y[0] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- y[1] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = 0.666666666666667*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[7] = 0.666666666666667*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[8] = 0.333333333333333*coordinate_dofs[2] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[9] = 0.333333333333333*coordinate_dofs[3] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[10] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[11] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[5];
- dof_coordinates[12] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[4];
- dof_coordinates[13] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[5];
- dof_coordinates[14] = 0.666666666666667*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2];
- dof_coordinates[15] = 0.666666666666667*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3];
- dof_coordinates[16] = 0.333333333333333*coordinate_dofs[0] + 0.666666666666667*coordinate_dofs[2];
- dof_coordinates[17] = 0.333333333333333*coordinate_dofs[1] + 0.666666666666667*coordinate_dofs[3];
- dof_coordinates[18] = 0.333333333333333*coordinate_dofs[0] + 0.333333333333333*coordinate_dofs[2] + 0.333333333333333*coordinate_dofs[4];
- dof_coordinates[19] = 0.333333333333333*coordinate_dofs[1] + 0.333333333333333*coordinate_dofs[3] + 0.333333333333333*coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new p3_finite_element_0();
- }
-
-};
-
-
-class p3_dofmap_0: public ufc::dofmap
-{
-public:
-
- p3_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~p3_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 3)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return true;
- break;
- }
- case 2:
- {
- return true;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0] + 2*num_global_entities[1] + num_global_entities[2];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 10;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 2;
- break;
- }
- case 2:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + 2*entity_indices[1][0];
- dofs[4] = offset + 2*entity_indices[1][0] + 1;
- dofs[5] = offset + 2*entity_indices[1][1];
- dofs[6] = offset + 2*entity_indices[1][1] + 1;
- dofs[7] = offset + 2*entity_indices[1][2];
- dofs[8] = offset + 2*entity_indices[1][2] + 1;
- offset += 2*num_global_entities[1];
- dofs[9] = offset + entity_indices[2][0];
- offset += num_global_entities[2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 5;
- dofs[3] = 6;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 7;
- dofs[3] = 8;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 3;
- dofs[1] = 4;
- break;
- }
- case 1:
- {
- dofs[0] = 5;
- dofs[1] = 6;
- break;
- }
- case 2:
- {
- dofs[0] = 7;
- dofs[1] = 8;
- break;
- }
- }
-
- break;
- }
- case 2:
- {
- if (i > 0)
- {
- throw std::runtime_error("i is larger than number of entities (0)");
- }
-
- dofs[0] = 9;
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new p3_dofmap_0();
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace P3
-{
-
-class FunctionSpace: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- FunctionSpace(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<p3_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<p3_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- FunctionSpace(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<p3_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<p3_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-}
-
-#endif
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/P3.ufl b/demo/undocumented/nonmatching-interpolation/cpp/P3.ufl
deleted file mode 100644
index a4839ec..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/P3.ufl
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2009 Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2009-06-18
-# Last changed:
-#
-# The bilinear form a(v, u) and linear form L(v) for
-# projection onto piecewise quadratics.
-#
-# Compile this form with FFC: ffc -l dolfin P3.ufl
-
-element = FiniteElement("Lagrange", triangle, 3)
-
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/compile.log b/demo/undocumented/nonmatching-interpolation/cpp/compile.log
deleted file mode 100644
index b31afe7..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/compile.log
+++ /dev/null
@@ -1,116 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P3
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.000187874 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.27829 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000135899 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.153818 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000230074 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000413895 seconds.
-
-FFC finished in 0.433404 seconds.
-Output written to ./P3.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P1
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.00022006 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0368788 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000140905 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0291729 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000222921 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000344992 seconds.
-
-FFC finished in 0.0673251 seconds.
-Output written to ./P1.h.
diff --git a/demo/undocumented/nonmatching-interpolation/cpp/main.cpp b/demo/undocumented/nonmatching-interpolation/cpp/main.cpp
deleted file mode 100644
index 6b8ef34..0000000
--- a/demo/undocumented/nonmatching-interpolation/cpp/main.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (C) 2009 Garth N. Wells
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2009-06-17
-// Last changed: 2014-08-11
-
-//
-// This program demonstrates the interpolation of functions on non-matching
-// meshes.
-//
-
-#include <dolfin.h>
-#include "P1.h"
-#include "P3.h"
-
-using namespace dolfin;
-
-class MyExpression : public Expression
-{
-public:
-
- void eval(Array<double>& values, const Array<double>& x) const
- {
- values[0] = sin(10.0*x[0])*sin(10.0*x[1]);
- }
-
-};
-
-int main()
-{
- // Create meshes
- auto mesh0 = std::make_shared<UnitSquareMesh>(16, 16);
- auto mesh1 = std::make_shared<UnitSquareMesh>(64, 64);
-
- // Create function spaces
- auto V0 = std::make_shared<P3::FunctionSpace>(mesh0);
- auto V1 = std::make_shared<P1::FunctionSpace>(mesh1);
-
- // Create functions
- Function f0(V0);
- Function f1(V1);
-
- // Interpolate expression into V0
- MyExpression e;
- f0.interpolate(e);
-
- // Interpolate V0 function (coarse mesh) into V1 function space (fine mesh)
- f1.interpolate(f0);
-
- // Plot results
- plot(f0);
- plot(f1);
- interactive();
-
- return 0;
-}
diff --git a/demo/undocumented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py b/demo/undocumented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py
deleted file mode 100644
index 16454c3..0000000
--- a/demo/undocumented/nonmatching-interpolation/python/demo_nonmatching-interpolation.py
+++ /dev/null
@@ -1,47 +0,0 @@
-"""This script demonstrates how to interpolate functions between different
-finite element spaces on non-matching meshes."""
-
-# Copyright (C) 2009 Garth N. Wells
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2009-05-19
-# Last changed: 2009-05-19
-
-from __future__ import print_function
-from dolfin import *
-
-# Create mesh and define function spaces
-mesh0 = UnitSquareMesh(16, 16)
-mesh1 = UnitSquareMesh(64, 64)
-
-P1 = FunctionSpace(mesh1, "CG", 1)
-P3 = FunctionSpace(mesh0, "CG", 3)
-
-# Define function
-v0 = Expression("sin(10.0*x[0])*sin(10.0*x[1])", element=FiniteElement('CG', triangle, 3))
-v1 = Function(P1)
-
-# Interpolate
-v1.interpolate(v0)
-
-# Plot functions
-plot(v0, mesh=mesh0, title="v0")
-plot(v1, title="v1")
-interactive()
-
-print(norm(v0, mesh = mesh1))
-print(norm(v1))
diff --git a/demo/undocumented/nonmatching-projection/cpp/CMakeLists.txt b/demo/undocumented/nonmatching-projection/cpp/CMakeLists.txt
index 0c700b2..f259c7f 100644
--- a/demo/undocumented/nonmatching-projection/cpp/CMakeLists.txt
+++ b/demo/undocumented/nonmatching-projection/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_nonmatching-projection)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/nonmatching-projection/cpp/P1_projection.h b/demo/undocumented/nonmatching-projection/cpp/P1_projection.h
index 0a8cef8..f13671a 100644
--- a/demo/undocumented/nonmatching-projection/cpp/P1_projection.h
+++ b/demo/undocumented/nonmatching-projection/cpp/P1_projection.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2538,7 +2530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2582,7 +2574,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2626,7 +2618,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2670,7 +2662,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2890,7 +2882,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2934,7 +2926,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3116,7 +3108,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3124,24 +3116,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3291,7 +3283,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3299,24 +3291,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3466,7 +3458,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3474,24 +3466,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3641,7 +3633,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3649,24 +3641,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3824,24 +3816,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3999,24 +3991,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4174,24 +4166,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4349,24 +4341,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4516,7 +4508,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4524,24 +4516,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4691,7 +4683,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4699,24 +4691,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5201,6 +5193,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5289,6 +5305,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5396,6 +5497,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5499,6 +5624,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5620,6 +5842,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -5756,6 +6002,104 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -5800,6 +6144,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 4
@@ -5860,6 +6219,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 10
// Number of operations (multiply-add pairs) for tensor contraction: 16
@@ -5890,9 +6264,9 @@ public:
const double G0_9 = det*w[0][9]*(1.0);
// Compute element tensor
- A[0] = 0.00833333333333328*G0_0 + 0.00416666666666666*G0_1 + 0.00416666666666666*G0_2 + 0.0375*G0_5 + 0.0375*G0_7 + 0.0749999999999998*G0_9;
- A[1] = 0.00416666666666666*G0_0 + 0.00833333333333342*G0_1 + 0.00416666666666668*G0_2 + 0.0375000000000001*G0_3 + 0.0374999999999999*G0_8 + 0.0749999999999997*G0_9;
- A[2] = 0.00416666666666666*G0_0 + 0.00416666666666669*G0_1 + 0.00833333333333342*G0_2 + 0.0375000000000001*G0_4 + 0.0374999999999999*G0_6 + 0.0749999999999997*G0_9;
+ A[0] = 0.00833333333333327*G0_0 + 0.00416666666666665*G0_1 + 0.00416666666666668*G0_2 + 0.0375000000000001*G0_5 + 0.0375*G0_7 + 0.0749999999999998*G0_9;
+ A[1] = 0.00416666666666664*G0_0 + 0.00833333333333341*G0_1 + 0.0041666666666667*G0_2 + 0.0375000000000001*G0_3 + 0.0374999999999999*G0_8 + 0.0749999999999997*G0_9;
+ A[2] = 0.00416666666666665*G0_0 + 0.00416666666666668*G0_1 + 0.00833333333333343*G0_2 + 0.0375000000000001*G0_4 + 0.0374999999999999*G0_6 + 0.0749999999999997*G0_9;
}
};
@@ -6595,10 +6969,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6761,10 +7135,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6780,10 +7154,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/nonmatching-projection/cpp/P3.h b/demo/undocumented/nonmatching-projection/cpp/P3.h
index 0daa984..f1bd564 100644
--- a/demo/undocumented/nonmatching-projection/cpp/P3.h
+++ b/demo/undocumented/nonmatching-projection/cpp/P3.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -167,7 +168,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -211,7 +212,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -255,7 +256,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -299,7 +300,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -519,7 +520,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -563,7 +564,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -745,7 +746,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, -0.0288675134594813, -0.0166666666666667, 0.0782460796435951, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, -0.0288675134594813, -0.0166666666666666, 0.0782460796435952, 0.0606091526731326, 0.0349927106111883, -0.0601337794302955, -0.0508223195384204, -0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -753,24 +754,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -920,7 +921,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731327, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
+ {0.0471404520791031, 0.0288675134594813, -0.0166666666666666, 0.0782460796435952, -0.0606091526731326, 0.0349927106111883, 0.0601337794302955, -0.0508223195384204, 0.0393667994375868, -0.0227284322524248};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -928,24 +929,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1095,7 +1096,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0471404520791032, 0.0, 0.0333333333333334, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.0909137290096989};
+ {0.0471404520791033, 0.0, 0.0333333333333333, 0.0, 0.0, 0.104978131833565, 0.0, 0.0, 0.0, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -1103,24 +1104,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1270,7 +1271,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731327, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
+ {0.106066017177982, 0.259807621135332, -0.15, 0.117369119465393, 0.0606091526731326, -0.0787335988751736, 0.0, 0.101644639076841, -0.131222664791956, 0.090913729009699};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -1278,24 +1279,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1453,24 +1454,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1628,24 +1629,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1803,24 +1804,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -1978,24 +1979,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -2145,7 +2146,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524248};
+ {0.106066017177982, 0.259807621135332, -0.15, -0.0782460796435952, -0.090913729009699, 0.0962299541807678, -0.180401338290886, 0.0508223195384204, 0.0131222664791956, -0.0227284322524247};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -2153,24 +2154,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -2320,7 +2321,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153682, 0.0, 0.090913729009699};
+ {0.636396103067893, 0.0, 0.0, -0.234738238930785, 0.0, -0.262445329583912, 0.0, -0.203289278153681, 0.0, 0.0909137290096989};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -2328,24 +2329,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -2830,6 +2831,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2966,6 +2991,104 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 7;
+ dofs[3] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
diff --git a/demo/undocumented/nonmatching-projection/cpp/compile.log b/demo/undocumented/nonmatching-projection/cpp/compile.log
deleted file mode 100644
index 1f17970..0000000
--- a/demo/undocumented/nonmatching-projection/cpp/compile.log
+++ /dev/null
@@ -1,221 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling element P3
-
-Compiler stage 1: Analyzing elements(s)
----------------------------------------
-
-Compiler stage 1 finished in 0.00027895 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 1 elements
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 dofmaps
- Reusing element from cache
- Computing representation of 0 coordinate mappings
- Computing representation of integrals
- Computing representation of forms
-
-Compiler stage 2 finished in 0.378708 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000176191 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 1 element(s)
- Generating code for 1 dofmap(s)
- Generating code for 0 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.195087 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000282049 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00049305 seconds.
-
-FFC finished in 0.575471 seconds.
-Output written to ./P3.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form P1_projection
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), CG3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), CG3(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.382653 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000642 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- Reusing element from cache
- 30 entries computed in 0.000973 seconds
- Shape of reference tensor: (3, 10)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.00975919 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000184059 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.261142 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000678062 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000642061 seconds.
-
-FFC finished in 0.655495 seconds.
-Output written to ./P1_projection.h.
diff --git a/demo/undocumented/parallel-refinement/cpp/CMakeLists.txt b/demo/undocumented/parallel-refinement/cpp/CMakeLists.txt
index c659aa7..0bf588f 100644
--- a/demo/undocumented/parallel-refinement/cpp/CMakeLists.txt
+++ b/demo/undocumented/parallel-refinement/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_parallel-refinement)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/parameters/cpp/CMakeLists.txt b/demo/undocumented/parameters/cpp/CMakeLists.txt
index 384e4fb..9acd571 100644
--- a/demo/undocumented/parameters/cpp/CMakeLists.txt
+++ b/demo/undocumented/parameters/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_parameters)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/plot/cpp/CMakeLists.txt b/demo/undocumented/plot/cpp/CMakeLists.txt
index 5a18265..f30fb55 100644
--- a/demo/undocumented/plot/cpp/CMakeLists.txt
+++ b/demo/undocumented/plot/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_plot)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/poisson-disc/cpp/CMakeLists.txt b/demo/undocumented/poisson-disc/cpp/CMakeLists.txt
index 8f970ab..441eafd 100644
--- a/demo/undocumented/poisson-disc/cpp/CMakeLists.txt
+++ b/demo/undocumented/poisson-disc/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_poisson-disc)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/poisson-disc/cpp/PoissonDisc.h b/demo/undocumented/poisson-disc/cpp/PoissonDisc.h
index 87ab9e7..19aca70 100644
--- a/demo/undocumented/poisson-disc/cpp/PoissonDisc.h
+++ b/demo/undocumented/poisson-disc/cpp/PoissonDisc.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -159,7 +160,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -195,7 +196,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -303,7 +304,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -513,7 +514,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -528,8 +529,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -664,7 +665,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -679,8 +680,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -830,8 +831,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -981,8 +982,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1117,7 +1118,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -1132,8 +1133,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1283,8 +1284,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -1771,7 +1772,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1807,7 +1808,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1915,7 +1916,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -1987,7 +1988,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2023,7 +2024,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2131,7 +2132,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2344,7 +2345,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2359,8 +2360,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2495,7 +2496,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2510,8 +2511,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2661,8 +2662,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2812,8 +2813,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -2948,7 +2949,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2963,8 +2964,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3114,8 +3115,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3250,7 +3251,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3265,8 +3266,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3401,7 +3402,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3416,8 +3417,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3567,8 +3568,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3718,8 +3719,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3854,7 +3855,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3869,8 +3870,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4020,8 +4021,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4334,49 +4335,31 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[4] = vals[0];
- y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
- y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[5] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[6] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[7] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[8] = vals[1];
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
values[9] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[4] = vals[0];
values[10] = vals[1];
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[5] = vals[0];
values[11] = vals[1];
}
@@ -4545,6 +4528,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4665,6 +4672,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4772,6 +4870,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4915,6 +5037,115 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 7;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 7;
+ dofs[5] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4973,6 +5204,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 49
@@ -4998,18 +5244,18 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.500000000000002*G0_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_1_0;
- A[2] = 0.166666666666666*G0_0_1 + 0.166666666666666*G0_1_1;
+ A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0;
+ A[2] = 0.166666666666667*G0_0_1 + 0.166666666666666*G0_1_1;
A[3] = 0.0;
A[4] = -0.666666666666668*G0_0_1 - 0.666666666666668*G0_1_1;
A[5] = -0.666666666666668*G0_0_0 - 0.666666666666668*G0_1_0;
- A[6] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_0_1;
+ A[6] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1;
A[7] = 0.5*G0_0_0;
A[8] = -0.166666666666666*G0_0_1;
A[9] = 0.666666666666664*G0_0_1;
A[10] = 0.0;
A[11] = -0.666666666666668*G0_0_0 - 0.666666666666667*G0_0_1;
- A[12] = 0.166666666666666*G0_1_0 + 0.166666666666666*G0_1_1;
+ A[12] = 0.166666666666667*G0_1_0 + 0.166666666666666*G0_1_1;
A[13] = -0.166666666666666*G0_1_0;
A[14] = 0.5*G0_1_1;
A[15] = 0.666666666666667*G0_1_0;
@@ -5023,7 +5269,7 @@ public:
A[23] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1;
A[24] = -0.666666666666668*G0_1_0 - 0.666666666666668*G0_1_1;
A[25] = 0.0;
- A[26] = -0.666666666666667*G0_0_1 - 0.666666666666665*G0_1_1;
+ A[26] = -0.666666666666667*G0_0_1 - 0.666666666666666*G0_1_1;
A[27] = -1.33333333333333*G0_0_0 - 0.666666666666656*G0_0_1 - 0.666666666666659*G0_1_0;
A[28] = 1.33333333333333*G0_0_0 + 0.666666666666659*G0_0_1 + 0.666666666666659*G0_1_0 + 1.33333333333333*G0_1_1;
A[29] = 0.666666666666665*G0_0_1 + 0.666666666666667*G0_1_0;
@@ -5032,7 +5278,7 @@ public:
A[32] = 0.0;
A[33] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1;
A[34] = 0.666666666666667*G0_0_1 + 0.666666666666665*G0_1_0;
- A[35] = 1.33333333333334*G0_0_0 + 0.666666666666668*G0_0_1 + 0.666666666666668*G0_1_0 + 1.33333333333333*G0_1_1;
+ A[35] = 1.33333333333334*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1;
}
};
@@ -5063,6 +5309,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 6
// Number of operations (multiply-add pairs) for tensor contraction: 21
@@ -5091,10 +5352,10 @@ public:
// Compute element tensor
A[0] = 0.0166666666666666*G0_0 - 0.00277777777777778*G0_1 - 0.00277777777777778*G0_2 - 0.0111111111111111*G0_3;
A[1] = -0.00277777777777778*G0_0 + 0.0166666666666667*G0_1 - 0.00277777777777781*G0_2 - 0.0111111111111111*G0_4;
- A[2] = -0.00277777777777778*G0_0 - 0.0027777777777778*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
+ A[2] = -0.00277777777777778*G0_0 - 0.00277777777777781*G0_1 + 0.0166666666666667*G0_2 - 0.0111111111111111*G0_5;
A[3] = -0.0111111111111111*G0_0 + 0.0888888888888888*G0_3 + 0.0444444444444443*G0_4 + 0.0444444444444443*G0_5;
A[4] = -0.0111111111111111*G0_1 + 0.0444444444444443*G0_3 + 0.0888888888888887*G0_4 + 0.0444444444444443*G0_5;
- A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888887*G0_5;
+ A[5] = -0.0111111111111111*G0_2 + 0.0444444444444443*G0_3 + 0.0444444444444443*G0_4 + 0.0888888888888888*G0_5;
}
};
@@ -5125,6 +5386,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 8
+ // quadrature_degree: 8
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -5144,36 +5420,36 @@ public:
// Array of quadrature weights.
- static const double W25[25] = {0.0114650803515925, 0.0198040831320473, 0.0173415064313656, 0.0087554991821638, 0.00186555216687783, 0.0231612219294983, 0.0400072873861603, 0.0350325045033716, 0.0176874521104834, 0.0037687016953276, 0.0275289856644697, 0.0475518970579538, 0.0416389652151948, 0.021022967487322, 0.00447940679728133, 0.0231612219294983, 0.0400072873861603, 0.0350325045033716, 0.0176874521104834, 0.0037687016953276, 0.0114650803515925, 0.0198040831320473, 0.01734150643136 [...]
+ static const double W25[25] = {0.0114650803515925, 0.0198040831320474, 0.0173415064313657, 0.00875549918216383, 0.00186555216687784, 0.0231612219294983, 0.0400072873861604, 0.0350325045033717, 0.0176874521104835, 0.00376870169532762, 0.0275289856644698, 0.047551897057954, 0.041638965215195, 0.0210229674873221, 0.00447940679728135, 0.0231612219294983, 0.0400072873861604, 0.0350325045033717, 0.0176874521104835, 0.00376870169532762, 0.0114650803515925, 0.0198040831320474, 0.017341506431 [...]
// Quadrature points on the UFC reference element: (0.0450425935698037, 0.0398098570514687), (0.0376212523451112, 0.198013417873608), (0.0263646449444709, 0.437974810247386), (0.0142857943955714, 0.695464273353636), (0.00462228846504642, 0.901464914201174), (0.221578609552379, 0.0398098570514687), (0.185070710267389, 0.198013417873608), (0.129695936782254, 0.437974810247386), (0.0702762920082817, 0.695464273353636), (0.022738483063764, 0.901464914201174), (0.480095071474266, 0.039809 [...]
// Values of basis functions at quadrature points.
static const double FE0[25][6] = \
- {{0.759842524889054, -0.0409849230988147, -0.036640207614552, 0.00717255684496523, 0.145727572487076, 0.164882476492272},
+ {{0.759842524889053, -0.0409849230988147, -0.036640207614552, 0.00717255684496529, 0.145727572487076, 0.164882476492272},
{0.404143384962011, -0.0347905350890822, -0.119594790557632, 0.0297980510461639, 0.605418365816316, 0.115025523822223},
- {0.0382038937201701, -0.0249744559383748, -0.0543309414249183, 0.0461882014671775, 0.938423301877431, 0.0564900002985142},
- {-0.121759885907613, -0.0138776265525463, 0.271876837668966, 0.0397410384743819, 0.807433832894958, 0.0165858034218534},
- {-0.0762735703276687, -0.00457955736373819, 0.723813068870285, 0.0166673234982246, 0.338636367163553, 0.00173636815934466},
+ {0.03820389372017, -0.0249744559383749, -0.0543309414249183, 0.0461882014671775, 0.938423301877431, 0.0564900002985143},
+ {-0.121759885907613, -0.0138776265525463, 0.271876837668966, 0.039741038474382, 0.807433832894958, 0.0165858034218535},
+ {-0.0762735703276687, -0.00457955736373822, 0.723813068870285, 0.0166673234982246, 0.338636367163552, 0.00173636815934486},
{0.352482461135478, -0.123384449130048, -0.036640207614552, 0.0352840510877737, 0.117616078244268, 0.65464206627708},
- {0.144254514044104, -0.116568374669637, -0.119594790557632, 0.146585935553368, 0.488630481309112, 0.456692234320685},
+ {0.144254514044104, -0.116568374669637, -0.119594790557632, 0.146585935553368, 0.488630481309112, 0.456692234320686},
{-0.0585120870225411, -0.0960538647466012, -0.0543309414249183, 0.227214213208259, 0.75739729013635, 0.224285389849452},
- {-0.124504469204174, -0.0603987775714151, 0.271876837668966, 0.19549860142211, 0.65167626994723, 0.0658515377372834},
- {-0.0643063527627087, -0.0217044058396818, 0.723813068870285, 0.0819917787365634, 0.273311911925214, 0.00689399907032823},
- {-0.0191125161665052, -0.0191125161665052, -0.036640207614552, 0.0764500646660207, 0.0764500646660207, 0.921965110615521},
+ {-0.124504469204174, -0.0603987775714152, 0.271876837668966, 0.19549860142211, 0.65167626994723, 0.0658515377372835},
+ {-0.0643063527627086, -0.0217044058396819, 0.723813068870285, 0.0819917787365635, 0.273311911925214, 0.00689399907032842},
+ {-0.0191125161665052, -0.0191125161665051, -0.036640207614552, 0.0764500646660208, 0.0764500646660207, 0.921965110615521},
{-0.07940205210781, -0.07940205210781, -0.119594790557632, 0.31760820843124, 0.31760820843124, 0.643182477910772},
- {-0.123076437918076, -0.123076437918076, -0.0543309414249183, 0.492305751672304, 0.492305751672304, 0.315872313916462},
- {-0.105896858921167, -0.105896858921168, 0.271876837668966, 0.42358743568467, 0.42358743568467, 0.0927420088040289},
- {-0.0444129613327222, -0.0444129613327222, 0.723813068870285, 0.177651845330889, 0.177651845330889, 0.00970916313338205},
- {-0.123384449130048, 0.352482461135478, -0.036640207614552, 0.117616078244268, 0.0352840510877737, 0.65464206627708},
+ {-0.123076437918076, -0.123076437918076, -0.0543309414249183, 0.492305751672305, 0.492305751672304, 0.315872313916462},
+ {-0.105896858921167, -0.105896858921168, 0.271876837668966, 0.42358743568467, 0.42358743568467, 0.092742008804029},
+ {-0.0444129613327221, -0.0444129613327222, 0.723813068870285, 0.177651845330889, 0.177651845330889, 0.00970916313338224},
+ {-0.123384449130048, 0.352482461135478, -0.036640207614552, 0.117616078244268, 0.0352840510877736, 0.65464206627708},
{-0.116568374669637, 0.144254514044104, -0.119594790557632, 0.488630481309112, 0.146585935553368, 0.456692234320686},
- {-0.0960538647466012, -0.0585120870225412, -0.0543309414249183, 0.75739729013635, 0.227214213208259, 0.224285389849452},
- {-0.0603987775714152, -0.124504469204174, 0.271876837668966, 0.651676269947229, 0.19549860142211, 0.0658515377372834},
- {-0.0217044058396818, -0.0643063527627086, 0.723813068870285, 0.273311911925214, 0.0819917787365634, 0.00689399907032823},
- {-0.0409849230988147, 0.759842524889054, -0.036640207614552, 0.145727572487076, 0.00717255684496515, 0.164882476492272},
- {-0.0347905350890822, 0.404143384962011, -0.119594790557632, 0.605418365816316, 0.0297980510461639, 0.115025523822223},
- {-0.0249744559383749, 0.0382038937201699, -0.0543309414249183, 0.938423301877431, 0.0461882014671776, 0.0564900002985143},
- {-0.0138776265525464, -0.121759885907613, 0.271876837668966, 0.807433832894958, 0.0397410384743823, 0.0165858034218535},
- {-0.00457955736373816, -0.0762735703276687, 0.723813068870285, 0.338636367163553, 0.0166673234982245, 0.00173636815934466}};
+ {-0.0960538647466011, -0.0585120870225412, -0.0543309414249183, 0.75739729013635, 0.227214213208259, 0.224285389849452},
+ {-0.0603987775714151, -0.124504469204174, 0.271876837668966, 0.65167626994723, 0.19549860142211, 0.0658515377372836},
+ {-0.0217044058396818, -0.0643063527627087, 0.723813068870285, 0.273311911925214, 0.0819917787365632, 0.00689399907032842},
+ {-0.0409849230988146, 0.759842524889054, -0.036640207614552, 0.145727572487076, 0.00717255684496515, 0.164882476492272},
+ {-0.0347905350890821, 0.404143384962011, -0.119594790557632, 0.605418365816316, 0.0297980510461638, 0.115025523822223},
+ {-0.0249744559383748, 0.03820389372017, -0.0543309414249183, 0.938423301877431, 0.0461882014671775, 0.0564900002985144},
+ {-0.0138776265525463, -0.121759885907613, 0.271876837668966, 0.807433832894958, 0.0397410384743822, 0.0165858034218536},
+ {-0.00457955736373811, -0.0762735703276687, 0.723813068870285, 0.338636367163553, 0.0166673234982243, 0.00173636815934486}};
static const double FEA25_f0[25][3] = \
{{0.915147549378728, 0.0450425935698037, 0.0398098570514687},
@@ -6213,10 +6489,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6379,10 +6655,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6398,10 +6674,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -6517,18 +6793,30 @@ class MultiMeshForm_M: public dolfin::MultiMeshForm
public:
// Constructor
- MultiMeshForm_M(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::MultiMeshForm(), uh(*this, 0)
+ MultiMeshForm_M(std::shared_ptr<const dolfin::MultiMesh> mesh):
+ dolfin::MultiMeshForm(mesh), uh(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_M(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients
}
// Constructor
- MultiMeshForm_M(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::GenericFunction> uh):
- dolfin::MultiMeshForm(), uh(*this, 0)
+ MultiMeshForm_M(std::shared_ptr<const dolfin::MultiMesh> mesh, std::shared_ptr<const dolfin::GenericFunction> uh):
+ dolfin::MultiMeshForm(mesh), uh(*this, 0)
{
+ // Creating a form for each part of the mesh
+ for (std::size_t i=0; i< mesh->num_parts(); i++)
+ {
+ std::shared_ptr<dolfin::Form> a(new Form_M(mesh->part(i))); add(a); }
+ // Build multimesh form
+ build();
/// Assign coefficients this->uh = uh;
diff --git a/demo/undocumented/poisson-disc/cpp/compile.log b/demo/undocumented/poisson-disc/cpp/compile.log
deleted file mode 100644
index f9a6e24..0000000
--- a/demo/undocumented/poisson-disc/cpp/compile.log
+++ /dev/null
@@ -1,2073 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form PoissonDisc
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG2(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG2(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<2 x CG2(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG2(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 0
- Arguments: '()'
- Number of coefficients: 1
- Coefficients: '[w_1]'
- Unique elements: 'CG2(?), Vector<2 x CG2(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG2(?)>'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal SpatialCoordinate.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 8
- quadrature_degree: 8
-
-Compiler stage 1 finished in 0.189914 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000918 seconds
- Shape of reference tensor: (6, 6, 2, 2)
- Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000833 seconds
- Shape of reference tensor: (6, 6)
- Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {25: {VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2): {None: {None: {(0, 1): array([[[ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00,
- -1.60999729e-01, 6.24348811e-01, -1.95444613e+00,
- -1.46766349e+00, -7.29317012e-01, 6.29622614e-02,
- 6.96813589e-01, -9.20380286e-01, -6.03973164e-01,
- -1.24050380e-01, 3.90928547e-01, 8.02929828e-01,
- 1.13685562e-01, 2.59717159e-01, 4.81216253e-01,
- 7.18894832e-01, 9.09046068e-01, 8.19829626e-01,
- 8.49514991e-01, 8.94541420e-01, 9.42856822e-01,
- 9.81510846e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 4.77395901e-15, 5.66213743e-15, 6.45317133e-15,
- 6.77236045e-15, 6.77236045e-15, 5.49560397e-15,
- 6.32827124e-15, 6.97358837e-15, 7.04991621e-15,
- 6.77236045e-15, 6.66133815e-15, 7.16093851e-15,
- 7.61196661e-15, 7.49400542e-15, 6.99440506e-15,
- 7.38298311e-15, 7.99360578e-15, 8.10462808e-15,
- 7.77156117e-15, 7.10542736e-15, 7.88258347e-15,
- 8.49320614e-15, 8.66667849e-15, 7.99360578e-15,
- 7.10542736e-15],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -8.40760572e-01, -2.07946329e-01, 7.51899241e-01,
- 1.78185709e+00, 2.60585966e+00, -8.40760572e-01,
- -2.07946329e-01, 7.51899241e-01, 1.78185709e+00,
- 2.60585966e+00, -8.40760572e-01, -2.07946329e-01,
- 7.51899241e-01, 1.78185709e+00, 2.60585966e+00,
- -8.40760572e-01, -2.07946329e-01, 7.51899241e-01,
- 1.78185709e+00, 2.60585966e+00, -8.40760572e-01,
- -2.07946329e-01, 7.51899241e-01, 1.78185709e+00,
- 2.60585966e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.80170374e-01, 1.50485009e-01, 1.05458580e-01,
- 5.71431776e-02, 1.84891539e-02, 8.86314438e-01,
- 7.40282841e-01, 5.18783747e-01, 2.81105168e-01,
- 9.09539323e-02, 1.92038029e+00, 1.60397316e+00,
- 1.12405038e+00, 6.09071453e-01, 1.97070172e-01,
- 2.95444613e+00, 2.46766349e+00, 1.72931701e+00,
- 9.37037739e-01, 3.03186411e-01, 3.66059020e+00,
- 3.05746132e+00, 2.14264218e+00, 1.16099973e+00,
- 3.75651189e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.50135077e+00, 2.26540765e+00, 3.90742938e-01,
- -1.62085736e+00, -3.23020847e+00, 2.79520671e+00,
- 1.67560982e+00, -2.25822291e-02, -1.84481935e+00,
- -3.30267325e+00, 1.76114086e+00, 8.11919493e-01,
- -6.27848861e-01, -2.17278564e+00, -3.40878949e+00,
- 7.27075010e-01, -5.17708304e-02, -1.23311549e+00,
- -2.50075193e+00, -3.51490572e+00, 2.09309461e-02,
- -6.41568662e-01, -1.64644066e+00, -2.72471392e+00,
- -3.58737050e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.80170374e-01, -1.50485009e-01, -1.05458580e-01,
- -5.71431776e-02, -1.84891539e-02, -8.86314438e-01,
- -7.40282841e-01, -5.18783747e-01, -2.81105168e-01,
- -9.09539323e-02, -1.92038029e+00, -1.60397316e+00,
- -1.12405038e+00, -6.09071453e-01, -1.97070172e-01,
- -2.95444613e+00, -2.46766349e+00, -1.72931701e+00,
- -9.37037739e-01, -3.03186411e-01, -3.66059020e+00,
- -3.05746132e+00, -2.14264218e+00, -1.16099973e+00,
- -3.75651189e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00,
- -1.60999729e-01, 6.24348811e-01, -1.95444613e+00,
- -1.46766349e+00, -7.29317012e-01, 6.29622614e-02,
- 6.96813589e-01, -9.20380286e-01, -6.03973164e-01,
- -1.24050380e-01, 3.90928547e-01, 8.02929828e-01,
- 1.13685562e-01, 2.59717159e-01, 4.81216253e-01,
- 7.18894832e-01, 9.09046068e-01, 8.19829626e-01,
- 8.49514991e-01, 8.94541420e-01, 9.42856822e-01,
- 9.81510846e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 4.77395901e-15, 5.66213743e-15, 6.45317133e-15,
- 6.77236045e-15, 6.77236045e-15, 5.49560397e-15,
- 6.32827124e-15, 6.97358837e-15, 7.04991621e-15,
- 6.77236045e-15, 6.66133815e-15, 7.16093851e-15,
- 7.61196661e-15, 7.49400542e-15, 6.99440506e-15,
- 7.38298311e-15, 7.99360578e-15, 8.10462808e-15,
- 7.77156117e-15, 7.10542736e-15, 7.88258347e-15,
- 8.49320614e-15, 8.66667849e-15, 7.99360578e-15,
- 7.10542736e-15]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -8.40760572e-01, -2.07946329e-01, 7.51899241e-01,
- 1.78185709e+00, 2.60585966e+00, -8.40760572e-01,
- -2.07946329e-01, 7.51899241e-01, 1.78185709e+00,
- 2.60585966e+00, -8.40760572e-01, -2.07946329e-01,
- 7.51899241e-01, 1.78185709e+00, 2.60585966e+00,
- -8.40760572e-01, -2.07946329e-01, 7.51899241e-01,
- 1.78185709e+00, 2.60585966e+00, -8.40760572e-01,
- -2.07946329e-01, 7.51899241e-01, 1.78185709e+00,
- 2.60585966e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.80170374e-01, 1.50485009e-01, 1.05458580e-01,
- 5.71431776e-02, 1.84891539e-02, 8.86314438e-01,
- 7.40282841e-01, 5.18783747e-01, 2.81105168e-01,
- 9.09539323e-02, 1.92038029e+00, 1.60397316e+00,
- 1.12405038e+00, 6.09071453e-01, 1.97070172e-01,
- 2.95444613e+00, 2.46766349e+00, 1.72931701e+00,
- 9.37037739e-01, 3.03186411e-01, 3.66059020e+00,
- 3.05746132e+00, 2.14264218e+00, 1.16099973e+00,
- 3.75651189e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.50135077e+00, 2.26540765e+00, 3.90742938e-01,
- -1.62085736e+00, -3.23020847e+00, 2.79520671e+00,
- 1.67560982e+00, -2.25822291e-02, -1.84481935e+00,
- -3.30267325e+00, 1.76114086e+00, 8.11919493e-01,
- -6.27848861e-01, -2.17278564e+00, -3.40878949e+00,
- 7.27075010e-01, -5.17708304e-02, -1.23311549e+00,
- -2.50075193e+00, -3.51490572e+00, 2.09309461e-02,
- -6.41568662e-01, -1.64644066e+00, -2.72471392e+00,
- -3.58737050e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.80170374e-01, -1.50485009e-01, -1.05458580e-01,
- -5.71431776e-02, -1.84891539e-02, -8.86314438e-01,
- -7.40282841e-01, -5.18783747e-01, -2.81105168e-01,
- -9.09539323e-02, -1.92038029e+00, -1.60397316e+00,
- -1.12405038e+00, -6.09071453e-01, -1.97070172e-01,
- -2.95444613e+00, -2.46766349e+00, -1.72931701e+00,
- -9.37037739e-01, -3.03186411e-01, -3.66059020e+00,
- -3.05746132e+00, -2.14264218e+00, -1.16099973e+00,
- -3.75651189e-01]]]), (1, 0): array([[[ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00,
- -1.60999729e-01, 6.24348811e-01, -1.95444613e+00,
- -1.46766349e+00, -7.29317012e-01, 6.29622614e-02,
- 6.96813589e-01, -9.20380286e-01, -6.03973164e-01,
- -1.24050380e-01, 3.90928547e-01, 8.02929828e-01,
- 1.13685562e-01, 2.59717159e-01, 4.81216253e-01,
- 7.18894832e-01, 9.09046068e-01, 8.19829626e-01,
- 8.49514991e-01, 8.94541420e-01, 9.42856822e-01,
- 9.81510846e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -8.19829626e-01, -8.49514991e-01, -8.94541420e-01,
- -9.42856822e-01, -9.81510846e-01, -1.13685562e-01,
- -2.59717159e-01, -4.81216253e-01, -7.18894832e-01,
- -9.09046068e-01, 9.20380286e-01, 6.03973164e-01,
- 1.24050380e-01, -3.90928547e-01, -8.02929828e-01,
- 1.95444613e+00, 1.46766349e+00, 7.29317012e-01,
- -6.29622614e-02, -6.96813589e-01, 2.66059020e+00,
- 2.05746132e+00, 1.14264218e+00, 1.60999729e-01,
- -6.24348811e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 1.59239428e-01, 7.92053671e-01, 1.75189924e+00,
- 2.78185709e+00, 3.60585966e+00, 1.59239428e-01,
- 7.92053671e-01, 1.75189924e+00, 2.78185709e+00,
- 3.60585966e+00, 1.59239428e-01, 7.92053671e-01,
- 1.75189924e+00, 2.78185709e+00, 3.60585966e+00,
- 1.59239428e-01, 7.92053671e-01, 1.75189924e+00,
- 2.78185709e+00, 3.60585966e+00, 1.59239428e-01,
- 7.92053671e-01, 1.75189924e+00, 2.78185709e+00,
- 3.60585966e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ -1.59239428e-01, -7.92053671e-01, -1.75189924e+00,
- -2.78185709e+00, -3.60585966e+00, -1.59239428e-01,
- -7.92053671e-01, -1.75189924e+00, -2.78185709e+00,
- -3.60585966e+00, -1.59239428e-01, -7.92053671e-01,
- -1.75189924e+00, -2.78185709e+00, -3.60585966e+00,
- -1.59239428e-01, -7.92053671e-01, -1.75189924e+00,
- -2.78185709e+00, -3.60585966e+00, -1.59239428e-01,
- -7.92053671e-01, -1.75189924e+00, -2.78185709e+00,
- -3.60585966e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 3.48041982e+00, 2.90697631e+00, 2.03718360e+00,
- 1.10385655e+00, 3.57162035e-01, 2.06813170e+00,
- 1.72738065e+00, 1.21053326e+00, 6.55932571e-01,
- 2.12232479e-01, -6.05707591e-16, -6.91411119e-16,
- -4.13363917e-16, -1.03919888e-16, 3.29516530e-16,
- -2.06813170e+00, -1.72738065e+00, -1.21053326e+00,
- -6.55932571e-01, -2.12232479e-01, -3.48041982e+00,
- -2.90697631e+00, -2.03718360e+00, -1.10385655e+00,
- -3.57162035e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -2.66059020e+00, -2.05746132e+00, -1.14264218e+00,
- -1.60999729e-01, 6.24348811e-01, -1.95444613e+00,
- -1.46766349e+00, -7.29317012e-01, 6.29622614e-02,
- 6.96813589e-01, -9.20380286e-01, -6.03973164e-01,
- -1.24050380e-01, 3.90928547e-01, 8.02929828e-01,
- 1.13685562e-01, 2.59717159e-01, 4.81216253e-01,
- 7.18894832e-01, 9.09046068e-01, 8.19829626e-01,
- 8.49514991e-01, 8.94541420e-01, 9.42856822e-01,
- 9.81510846e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -8.19829626e-01, -8.49514991e-01, -8.94541420e-01,
- -9.42856822e-01, -9.81510846e-01, -1.13685562e-01,
- -2.59717159e-01, -4.81216253e-01, -7.18894832e-01,
- -9.09046068e-01, 9.20380286e-01, 6.03973164e-01,
- 1.24050380e-01, -3.90928547e-01, -8.02929828e-01,
- 1.95444613e+00, 1.46766349e+00, 7.29317012e-01,
- -6.29622614e-02, -6.96813589e-01, 2.66059020e+00,
- 2.05746132e+00, 1.14264218e+00, 1.60999729e-01,
- -6.24348811e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 1.59239428e-01, 7.92053671e-01, 1.75189924e+00,
- 2.78185709e+00, 3.60585966e+00, 1.59239428e-01,
- 7.92053671e-01, 1.75189924e+00, 2.78185709e+00,
- 3.60585966e+00, 1.59239428e-01, 7.92053671e-01,
- 1.75189924e+00, 2.78185709e+00, 3.60585966e+00,
- 1.59239428e-01, 7.92053671e-01, 1.75189924e+00,
- 2.78185709e+00, 3.60585966e+00, 1.59239428e-01,
- 7.92053671e-01, 1.75189924e+00, 2.78185709e+00,
- 3.60585966e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ -1.59239428e-01, -7.92053671e-01, -1.75189924e+00,
- -2.78185709e+00, -3.60585966e+00, -1.59239428e-01,
- -7.92053671e-01, -1.75189924e+00, -2.78185709e+00,
- -3.60585966e+00, -1.59239428e-01, -7.92053671e-01,
- -1.75189924e+00, -2.78185709e+00, -3.60585966e+00,
- -1.59239428e-01, -7.92053671e-01, -1.75189924e+00,
- -2.78185709e+00, -3.60585966e+00, -1.59239428e-01,
- -7.92053671e-01, -1.75189924e+00, -2.78185709e+00,
- -3.60585966e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00],
- [ 3.48041982e+00, 2.90697631e+00, 2.03718360e+00,
- 1.10385655e+00, 3.57162035e-01, 2.06813170e+00,
- 1.72738065e+00, 1.21053326e+00, 6.55932571e-01,
- 2.12232479e-01, -6.05707591e-16, -6.91411119e-16,
- -4.13363917e-16, -1.03919888e-16, 3.29516530e-16,
- -2.06813170e+00, -1.72738065e+00, -1.21053326e+00,
- -6.55932571e-01, -2.12232479e-01, -3.48041982e+00,
- -2.90697631e+00, -2.03718360e+00, -1.10385655e+00,
- -3.57162035e-01]]]), (0, 0): array([[[ 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[-0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[-0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.92196511, 0.64318248, 0.31587231, 0.09274201, 0.00970916,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [-0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ],
- [ 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.92196511, 0.64318248, 0.31587231, 0.09274201, 0.00970916,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 0): array([[ 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956],
- [-0.04098492, -0.03479054, -0.02497446, -0.01387763, -0.00457956,
- -0.12338445, -0.11656837, -0.09605386, -0.06039878, -0.02170441,
- -0.01911252, -0.07940205, -0.12307644, -0.10589686, -0.04441296,
- 0.35248246, 0.14425451, -0.05851209, -0.12450447, -0.06430635,
- 0.75984252, 0.40414338, 0.03820389, -0.12175989, -0.07627357],
- [-0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307,
- -0.03664021, -0.11959479, -0.05433094, 0.27187684, 0.72381307],
- [ 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637],
- [ 0.14572757, 0.60541837, 0.9384233 , 0.80743383, 0.33863637,
- 0.11761608, 0.48863048, 0.75739729, 0.65167627, 0.27331191,
- 0.07645006, 0.31760821, 0.49230575, 0.42358744, 0.17765185,
- 0.03528405, 0.14658594, 0.22721421, 0.1954986 , 0.08199178,
- 0.00717256, 0.02979805, 0.0461882 , 0.03974104, 0.01666732],
- [ 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.92196511, 0.64318248, 0.31587231, 0.09274201, 0.00970916,
- 0.65464207, 0.45669223, 0.22428539, 0.06585154, 0.006894 ,
- 0.16488248, 0.11502552, 0.05649 , 0.0165858 , 0.00173637]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.75984252, -0.04098492, -0.03664021, 0.00717256,
- 0.14572757, 0.16488248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.40414338, -0.03479054, -0.11959479, 0.02979805,
- 0.60541837, 0.11502552],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.03820389, -0.02497446, -0.05433094, 0.0461882 ,
- 0.9384233 , 0.05649 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12175989, -0.01387763, 0.27187684, 0.03974104,
- 0.80743383, 0.0165858 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07627357, -0.00457956, 0.72381307, 0.01666732,
- 0.33863637, 0.00173637],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.35248246, -0.12338445, -0.03664021, 0.03528405,
- 0.11761608, 0.65464207],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.14425451, -0.11656837, -0.11959479, 0.14658594,
- 0.48863048, 0.45669223],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05851209, -0.09605386, -0.05433094, 0.22721421,
- 0.75739729, 0.22428539],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12450447, -0.06039878, 0.27187684, 0.1954986 ,
- 0.65167627, 0.06585154],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06430635, -0.02170441, 0.72381307, 0.08199178,
- 0.27331191, 0.006894 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01911252, -0.01911252, -0.03664021, 0.07645006,
- 0.07645006, 0.92196511],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07940205, -0.07940205, -0.11959479, 0.31760821,
- 0.31760821, 0.64318248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12307644, -0.12307644, -0.05433094, 0.49230575,
- 0.49230575, 0.31587231],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.10589686, -0.10589686, 0.27187684, 0.42358744,
- 0.42358744, 0.09274201],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04441296, -0.04441296, 0.72381307, 0.17765185,
- 0.17765185, 0.00970916],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12338445, 0.35248246, -0.03664021, 0.11761608,
- 0.03528405, 0.65464207],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11656837, 0.14425451, -0.11959479, 0.48863048,
- 0.14658594, 0.45669223],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09605386, -0.05851209, -0.05433094, 0.75739729,
- 0.22721421, 0.22428539],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06039878, -0.12450447, 0.27187684, 0.65167627,
- 0.1954986 , 0.06585154],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02170441, -0.06430635, 0.72381307, 0.27331191,
- 0.08199178, 0.006894 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04098492, 0.75984252, -0.03664021, 0.14572757,
- 0.00717256, 0.16488248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.03479054, 0.40414338, -0.11959479, 0.60541837,
- 0.02979805, 0.11502552],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02497446, 0.03820389, -0.05433094, 0.9384233 ,
- 0.0461882 , 0.05649 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01387763, -0.12175989, 0.27187684, 0.80743383,
- 0.03974104, 0.0165858 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00457956, -0.07627357, 0.72381307, 0.33863637,
- 0.01666732, 0.00173637]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01]]), 'FE0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01]]), 'FE1_C0_D01': array([[ -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[ -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE1_C0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552, 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637, 0. , 0. , 0. , 0. ,
- 0. , 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.75984252, -0.04098492, -0.03664021, 0.00717256,
- 0.14572757, 0.16488248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.40414338, -0.03479054, -0.11959479, 0.02979805,
- 0.60541837, 0.11502552],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.03820389, -0.02497446, -0.05433094, 0.0461882 ,
- 0.9384233 , 0.05649 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12175989, -0.01387763, 0.27187684, 0.03974104,
- 0.80743383, 0.0165858 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07627357, -0.00457956, 0.72381307, 0.01666732,
- 0.33863637, 0.00173637],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.35248246, -0.12338445, -0.03664021, 0.03528405,
- 0.11761608, 0.65464207],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0.14425451, -0.11656837, -0.11959479, 0.14658594,
- 0.48863048, 0.45669223],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.05851209, -0.09605386, -0.05433094, 0.22721421,
- 0.75739729, 0.22428539],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12450447, -0.06039878, 0.27187684, 0.1954986 ,
- 0.65167627, 0.06585154],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06430635, -0.02170441, 0.72381307, 0.08199178,
- 0.27331191, 0.006894 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01911252, -0.01911252, -0.03664021, 0.07645006,
- 0.07645006, 0.92196511],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.07940205, -0.07940205, -0.11959479, 0.31760821,
- 0.31760821, 0.64318248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12307644, -0.12307644, -0.05433094, 0.49230575,
- 0.49230575, 0.31587231],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.10589686, -0.10589686, 0.27187684, 0.42358744,
- 0.42358744, 0.09274201],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04441296, -0.04441296, 0.72381307, 0.17765185,
- 0.17765185, 0.00970916],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.12338445, 0.35248246, -0.03664021, 0.11761608,
- 0.03528405, 0.65464207],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.11656837, 0.14425451, -0.11959479, 0.48863048,
- 0.14658594, 0.45669223],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.09605386, -0.05851209, -0.05433094, 0.75739729,
- 0.22721421, 0.22428539],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.06039878, -0.12450447, 0.27187684, 0.65167627,
- 0.1954986 , 0.06585154],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02170441, -0.06430635, 0.72381307, 0.27331191,
- 0.08199178, 0.006894 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.04098492, 0.75984252, -0.03664021, 0.14572757,
- 0.00717256, 0.16488248],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.03479054, 0.40414338, -0.11959479, 0.60541837,
- 0.02979805, 0.11502552],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.02497446, 0.03820389, -0.05433094, 0.9384233 ,
- 0.0461882 , 0.05649 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.01387763, -0.12175989, 0.27187684, 0.80743383,
- 0.03974104, 0.0165858 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , -0.00457956, -0.07627357, 0.72381307, 0.33863637,
- 0.01666732, 0.00173637]]), 'FE1_C1_D10': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01]]), 'FE0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01]]), 'FE1_C0_D01': array([[ -2.66059020e+00, 4.77395901e-15, -8.40760572e-01,
- 1.80170374e-01, 3.50135077e+00, -1.80170374e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, 5.66213743e-15, -2.07946329e-01,
- 1.50485009e-01, 2.26540765e+00, -1.50485009e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, 6.45317133e-15, 7.51899241e-01,
- 1.05458580e-01, 3.90742938e-01, -1.05458580e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, 6.77236045e-15, 1.78185709e+00,
- 5.71431776e-02, -1.62085736e+00, -5.71431776e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, 6.77236045e-15, 2.60585966e+00,
- 1.84891539e-02, -3.23020847e+00, -1.84891539e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, 5.49560397e-15, -8.40760572e-01,
- 8.86314438e-01, 2.79520671e+00, -8.86314438e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, 6.32827124e-15, -2.07946329e-01,
- 7.40282841e-01, 1.67560982e+00, -7.40282841e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, 6.97358837e-15, 7.51899241e-01,
- 5.18783747e-01, -2.25822291e-02, -5.18783747e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, 7.04991621e-15, 1.78185709e+00,
- 2.81105168e-01, -1.84481935e+00, -2.81105168e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, 6.77236045e-15, 2.60585966e+00,
- 9.09539323e-02, -3.30267325e+00, -9.09539323e-02,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 6.66133815e-15, -8.40760572e-01,
- 1.92038029e+00, 1.76114086e+00, -1.92038029e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 7.16093851e-15, -2.07946329e-01,
- 1.60397316e+00, 8.11919493e-01, -1.60397316e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 7.61196661e-15, 7.51899241e-01,
- 1.12405038e+00, -6.27848861e-01, -1.12405038e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, 7.49400542e-15, 1.78185709e+00,
- 6.09071453e-01, -2.17278564e+00, -6.09071453e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, 6.99440506e-15, 2.60585966e+00,
- 1.97070172e-01, -3.40878949e+00, -1.97070172e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 7.38298311e-15, -8.40760572e-01,
- 2.95444613e+00, 7.27075010e-01, -2.95444613e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 7.99360578e-15, -2.07946329e-01,
- 2.46766349e+00, -5.17708304e-02, -2.46766349e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 8.10462808e-15, 7.51899241e-01,
- 1.72931701e+00, -1.23311549e+00, -1.72931701e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, 7.77156117e-15, 1.78185709e+00,
- 9.37037739e-01, -2.50075193e+00, -9.37037739e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, 7.10542736e-15, 2.60585966e+00,
- 3.03186411e-01, -3.51490572e+00, -3.03186411e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 7.88258347e-15, -8.40760572e-01,
- 3.66059020e+00, 2.09309461e-02, -3.66059020e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 8.49320614e-15, -2.07946329e-01,
- 3.05746132e+00, -6.41568662e-01, -3.05746132e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 8.66667849e-15, 7.51899241e-01,
- 2.14264218e+00, -1.64644066e+00, -2.14264218e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 7.99360578e-15, 1.78185709e+00,
- 1.16099973e+00, -2.72471392e+00, -1.16099973e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, 7.10542736e-15, 2.60585966e+00,
- 3.75651189e-01, -3.58737050e+00, -3.75651189e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[ -2.66059020e+00, -8.19829626e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.05746132e+00, -8.49514991e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.14264218e+00, -8.94541420e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.60999729e-01, -9.42856822e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.24348811e-01, -9.81510846e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.95444613e+00, -1.13685562e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, 2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.46766349e+00, -2.59717159e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, 1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -7.29317012e-01, -4.81216253e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, 1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.29622614e-02, -7.18894832e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, 6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 6.96813589e-01, -9.09046068e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -9.20380286e-01, 9.20380286e-01, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -6.05707591e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -6.03973164e-01, 6.03973164e-01, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -6.91411119e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.24050380e-01, 1.24050380e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -4.13363917e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 3.90928547e-01, -3.90928547e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.03919888e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.02929828e-01, -8.02929828e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, 3.29516530e-16,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.13685562e-01, 1.95444613e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -2.06813170e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.59717159e-01, 1.46766349e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -1.72738065e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.81216253e-01, 7.29317012e-01, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -1.21053326e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 7.18894832e-01, -6.29622614e-02, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -6.55932571e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.09046068e-01, -6.96813589e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -2.12232479e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.19829626e-01, 2.66059020e+00, 0.00000000e+00,
- 1.59239428e-01, -1.59239428e-01, -3.48041982e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.49514991e-01, 2.05746132e+00, 0.00000000e+00,
- 7.92053671e-01, -7.92053671e-01, -2.90697631e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.94541420e-01, 1.14264218e+00, 0.00000000e+00,
- 1.75189924e+00, -1.75189924e+00, -2.03718360e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.42856822e-01, 1.60999729e-01, 0.00000000e+00,
- 2.78185709e+00, -2.78185709e+00, -1.10385655e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 9.81510846e-01, -6.24348811e-01, 0.00000000e+00,
- 3.60585966e+00, -3.60585966e+00, -3.57162035e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0': array([[ 0.75984252, -0.04098492, -0.03664021, 0.00717256, 0.14572757,
- 0.16488248],
- [ 0.40414338, -0.03479054, -0.11959479, 0.02979805, 0.60541837,
- 0.11502552],
- [ 0.03820389, -0.02497446, -0.05433094, 0.0461882 , 0.9384233 ,
- 0.05649 ],
- [-0.12175989, -0.01387763, 0.27187684, 0.03974104, 0.80743383,
- 0.0165858 ],
- [-0.07627357, -0.00457956, 0.72381307, 0.01666732, 0.33863637,
- 0.00173637],
- [ 0.35248246, -0.12338445, -0.03664021, 0.03528405, 0.11761608,
- 0.65464207],
- [ 0.14425451, -0.11656837, -0.11959479, 0.14658594, 0.48863048,
- 0.45669223],
- [-0.05851209, -0.09605386, -0.05433094, 0.22721421, 0.75739729,
- 0.22428539],
- [-0.12450447, -0.06039878, 0.27187684, 0.1954986 , 0.65167627,
- 0.06585154],
- [-0.06430635, -0.02170441, 0.72381307, 0.08199178, 0.27331191,
- 0.006894 ],
- [-0.01911252, -0.01911252, -0.03664021, 0.07645006, 0.07645006,
- 0.92196511],
- [-0.07940205, -0.07940205, -0.11959479, 0.31760821, 0.31760821,
- 0.64318248],
- [-0.12307644, -0.12307644, -0.05433094, 0.49230575, 0.49230575,
- 0.31587231],
- [-0.10589686, -0.10589686, 0.27187684, 0.42358744, 0.42358744,
- 0.09274201],
- [-0.04441296, -0.04441296, 0.72381307, 0.17765185, 0.17765185,
- 0.00970916],
- [-0.12338445, 0.35248246, -0.03664021, 0.11761608, 0.03528405,
- 0.65464207],
- [-0.11656837, 0.14425451, -0.11959479, 0.48863048, 0.14658594,
- 0.45669223],
- [-0.09605386, -0.05851209, -0.05433094, 0.75739729, 0.22721421,
- 0.22428539],
- [-0.06039878, -0.12450447, 0.27187684, 0.65167627, 0.1954986 ,
- 0.06585154],
- [-0.02170441, -0.06430635, 0.72381307, 0.27331191, 0.08199178,
- 0.006894 ],
- [-0.04098492, 0.75984252, -0.03664021, 0.14572757, 0.00717256,
- 0.16488248],
- [-0.03479054, 0.40414338, -0.11959479, 0.60541837, 0.02979805,
- 0.11502552],
- [-0.02497446, 0.03820389, -0.05433094, 0.9384233 , 0.0461882 ,
- 0.05649 ],
- [-0.01387763, -0.12175989, 0.27187684, 0.80743383, 0.03974104,
- 0.0165858 ],
- [-0.00457956, -0.07627357, 0.72381307, 0.33863637, 0.01666732,
- 0.00173637]]), 'FE1_C0_D01': array([[-2.6605902 , -0.84076057, 0.18017037, 3.50135077, -0.18017037],
- [-2.05746132, -0.20794633, 0.15048501, 2.26540765, -0.15048501],
- [-1.14264218, 0.75189924, 0.10545858, 0.39074294, -0.10545858],
- [-0.16099973, 1.78185709, 0.05714318, -1.62085736, -0.05714318],
- [ 0.62434881, 2.60585966, 0.01848915, -3.23020847, -0.01848915],
- [-1.95444613, -0.84076057, 0.88631444, 2.79520671, -0.88631444],
- [-1.46766349, -0.20794633, 0.74028284, 1.67560982, -0.74028284],
- [-0.72931701, 0.75189924, 0.51878375, -0.02258223, -0.51878375],
- [ 0.06296226, 1.78185709, 0.28110517, -1.84481935, -0.28110517],
- [ 0.69681359, 2.60585966, 0.09095393, -3.30267325, -0.09095393],
- [-0.92038029, -0.84076057, 1.92038029, 1.76114086, -1.92038029],
- [-0.60397316, -0.20794633, 1.60397316, 0.81191949, -1.60397316],
- [-0.12405038, 0.75189924, 1.12405038, -0.62784886, -1.12405038],
- [ 0.39092855, 1.78185709, 0.60907145, -2.17278564, -0.60907145],
- [ 0.80292983, 2.60585966, 0.19707017, -3.40878949, -0.19707017],
- [ 0.11368556, -0.84076057, 2.95444613, 0.72707501, -2.95444613],
- [ 0.25971716, -0.20794633, 2.46766349, -0.05177083, -2.46766349],
- [ 0.48121625, 0.75189924, 1.72931701, -1.23311549, -1.72931701],
- [ 0.71889483, 1.78185709, 0.93703774, -2.50075193, -0.93703774],
- [ 0.90904607, 2.60585966, 0.30318641, -3.51490572, -0.30318641],
- [ 0.81982963, -0.84076057, 3.6605902 , 0.02093095, -3.6605902 ],
- [ 0.84951499, -0.20794633, 3.05746132, -0.64156866, -3.05746132],
- [ 0.89454142, 0.75189924, 2.14264218, -1.64644066, -2.14264218],
- [ 0.94285682, 1.78185709, 1.16099973, -2.72471392, -1.16099973],
- [ 0.98151085, 2.60585966, 0.37565119, -3.5873705 , -0.37565119]]), 'FE1_C0_D10': array([[-2.6605902 , -0.81982963, 0.15923943, -0.15923943, 3.48041982],
- [-2.05746132, -0.84951499, 0.79205367, -0.79205367, 2.90697631],
- [-1.14264218, -0.89454142, 1.75189924, -1.75189924, 2.0371836 ],
- [-0.16099973, -0.94285682, 2.78185709, -2.78185709, 1.10385655],
- [ 0.62434881, -0.98151085, 3.60585966, -3.60585966, 0.35716204],
- [-1.95444613, -0.11368556, 0.15923943, -0.15923943, 2.0681317 ],
- [-1.46766349, -0.25971716, 0.79205367, -0.79205367, 1.72738065],
- [-0.72931701, -0.48121625, 1.75189924, -1.75189924, 1.21053326],
- [ 0.06296226, -0.71889483, 2.78185709, -2.78185709, 0.65593257],
- [ 0.69681359, -0.90904607, 3.60585966, -3.60585966, 0.21223248],
- [-0.92038029, 0.92038029, 0.15923943, -0.15923943, 0. ],
- [-0.60397316, 0.60397316, 0.79205367, -0.79205367, 0. ],
- [-0.12405038, 0.12405038, 1.75189924, -1.75189924, 0. ],
- [ 0.39092855, -0.39092855, 2.78185709, -2.78185709, 0. ],
- [ 0.80292983, -0.80292983, 3.60585966, -3.60585966, 0. ],
- [ 0.11368556, 1.95444613, 0.15923943, -0.15923943, -2.0681317 ],
- [ 0.25971716, 1.46766349, 0.79205367, -0.79205367, -1.72738065],
- [ 0.48121625, 0.72931701, 1.75189924, -1.75189924, -1.21053326],
- [ 0.71889483, -0.06296226, 2.78185709, -2.78185709, -0.65593257],
- [ 0.90904607, -0.69681359, 3.60585966, -3.60585966, -0.21223248],
- [ 0.81982963, 2.6605902 , 0.15923943, -0.15923943, -3.48041982],
- [ 0.84951499, 2.05746132, 0.79205367, -0.79205367, -2.90697631],
- [ 0.89454142, 1.14264218, 1.75189924, -1.75189924, -2.0371836 ],
- [ 0.94285682, 0.16099973, 2.78185709, -2.78185709, -1.10385655],
- [ 0.98151085, -0.62434881, 3.60585966, -3.60585966, -0.35716204]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE0', (0, [0, 1, 2, 3, 4, 5]), False, False), 'FE1_C1': ('FE0', (3, [6, 7, 8, 9, 10, 11]), False, False), 'FE1_C1_D10': ('FE1_C0_D10', (5, [6, 7, 9, 10, 11]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [6, 8, 9, 10, 11]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2, 3, 4, 5]), False, False), 'FE1_C0_D10': ('FE1_C0_D10', (2, [0, 1, 3, 4, 5]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.200003 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00335884 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.29216 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00081706 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000668049 seconds.
-
-FFC finished in 0.687339 seconds.
-Output written to ./PoissonDisc.h.
diff --git a/demo/undocumented/poisson1D-in-2D/cpp/CMakeLists.txt b/demo/undocumented/poisson1D-in-2D/cpp/CMakeLists.txt
index 6711223..02bce1a 100644
--- a/demo/undocumented/poisson1D-in-2D/cpp/CMakeLists.txt
+++ b/demo/undocumented/poisson1D-in-2D/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_poisson1D-in-2D)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/poisson1D-in-2D/cpp/Poisson.h b/demo/undocumented/poisson1D-in-2D/cpp/Poisson.h
index aa9f722..c1d3c4c 100644
--- a/demo/undocumented/poisson1D-in-2D/cpp/Poisson.h
+++ b/demo/undocumented/poisson1D-in-2D/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -1703,17 +1704,11 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[2] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[3] = vals[1];
}
@@ -1854,6 +1849,25 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1923,6 +1937,54 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 1)
+ {
+ throw std::runtime_error("d is larger than dimension (1)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 1)
+ {
+ throw std::runtime_error("i is larger than number of entities (1)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2020,6 +2082,25 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2098,6 +2179,58 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 1)
+ {
+ throw std::runtime_error("d is larger than dimension (1)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 1)
+ {
+ throw std::runtime_error("i is larger than number of entities (1)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2156,6 +2289,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 2
// Number of operations (multiply-add pairs) for tensor contraction: 0
@@ -2211,6 +2359,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 2
// Number of operations (multiply-add pairs) for tensor contraction: 3
@@ -2233,8 +2396,8 @@ public:
const double G0_1 = det*w[0][1]*(1.0);
// Compute element tensor
- A[0] = 0.333333333333333*G0_0 + 0.166666666666666*G0_1;
- A[1] = 0.166666666666666*G0_0 + 0.333333333333333*G0_1;
+ A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_1;
+ A[1] = 0.166666666666667*G0_0 + 0.333333333333333*G0_1;
}
};
@@ -2266,6 +2429,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 2
// Number of operations (multiply-add pairs) for tensor contraction: 0
@@ -3041,10 +3219,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3216,10 +3394,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3235,10 +3413,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/poisson1D-in-2D/cpp/compile.log b/demo/undocumented/poisson1D-in-2D/cpp/compile.log
deleted file mode 100644
index 566f822..0000000
--- a/demo/undocumented/poisson1D-in-2D/cpp/compile.log
+++ /dev/null
@@ -1,165 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0383749 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.00108 seconds
- Shape of reference tensor: (2, 2, 1, 1)
- Primary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000879 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.00055 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000541 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.015944 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000236034 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0596189 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000859022 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000662804 seconds.
-
-FFC finished in 0.1162 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/undocumented/poisson1D/cpp/CMakeLists.txt b/demo/undocumented/poisson1D/cpp/CMakeLists.txt
index 7503d4c..54e72a9 100644
--- a/demo/undocumented/poisson1D/cpp/CMakeLists.txt
+++ b/demo/undocumented/poisson1D/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_poisson1D)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/poisson1D/cpp/Poisson.h b/demo/undocumented/poisson1D/cpp/Poisson.h
index c1ccf23..f3b2df5 100644
--- a/demo/undocumented/poisson1D/cpp/Poisson.h
+++ b/demo/undocumented/poisson1D/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -1466,6 +1467,25 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1535,6 +1555,54 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 1)
+ {
+ throw std::runtime_error("d is larger than dimension (1)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 1)
+ {
+ throw std::runtime_error("i is larger than number of entities (1)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -1632,6 +1700,25 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -1701,6 +1788,54 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 1)
+ {
+ throw std::runtime_error("d is larger than dimension (1)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 1)
+ {
+ throw std::runtime_error("i is larger than number of entities (1)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -1754,6 +1889,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 1
// Number of operations (multiply-add pairs) for tensor contraction: 0
@@ -1809,6 +1959,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 2
// Number of operations (multiply-add pairs) for tensor contraction: 3
@@ -1831,8 +1996,8 @@ public:
const double G0_1 = det*w[0][1]*(1.0);
// Compute element tensor
- A[0] = 0.333333333333333*G0_0 + 0.166666666666666*G0_1;
- A[1] = 0.166666666666666*G0_0 + 0.333333333333333*G0_1;
+ A[0] = 0.333333333333333*G0_0 + 0.166666666666667*G0_1;
+ A[1] = 0.166666666666667*G0_0 + 0.333333333333333*G0_1;
}
};
@@ -1864,6 +2029,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 2
// Number of operations (multiply-add pairs) for tensor contraction: 0
@@ -2638,10 +2818,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -2813,10 +2993,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -2832,10 +3012,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/poisson1D/cpp/compile.log b/demo/undocumented/poisson1D/cpp/compile.log
deleted file mode 100644
index a097c79..0000000
--- a/demo/undocumented/poisson1D/cpp/compile.log
+++ /dev/null
@@ -1,162 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 1
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<1 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<1 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 1
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<1 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<1 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0293429 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000765 seconds
- Shape of reference tensor: (2, 2, 1, 1)
- Primary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- External multi index: rank = 1 dims = [1] indices = [[0]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000694 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000443 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000434 seconds
- Shape of reference tensor: (2, 2)
- Primary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0114579 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000170946 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0291698 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000648975 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000478029 seconds.
-
-FFC finished in 0.0716321 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/undocumented/projection-interpolation/cpp/CMakeLists.txt b/demo/undocumented/projection-interpolation/cpp/CMakeLists.txt
deleted file mode 100644
index c969664..0000000
--- a/demo/undocumented/projection-interpolation/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is automatically generated by running
-#
-# cmake/scripts/generate-cmakefiles
-#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
-
-project(demo_projection-interpolation)
-
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Set CMake behavior
-cmake_policy(SET CMP0004 OLD)
-
-# Get DOLFIN configuration data (DOLFINConfig.cmake must be in DOLFIN_CMAKE_CONFIG_PATH)
-find_package(DOLFIN)
-
-# Default build type (can be overridden by user)
-if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
- "Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
-endif()
-
-# Compiler definitions
-add_definitions(${DOLFIN_CXX_DEFINITIONS})
-
-# Add special DOLFIN compiler flags
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_CXX_FLAGS}")
-
-# Include directories
-include_directories(${DOLFIN_INCLUDE_DIRS})
-include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
-
-# Executable
-
-
-# Target libraries
-NOT_SET
diff --git a/demo/undocumented/refinement/cpp/CMakeLists.txt b/demo/undocumented/refinement/cpp/CMakeLists.txt
index 82305b6..0259f1f 100644
--- a/demo/undocumented/refinement/cpp/CMakeLists.txt
+++ b/demo/undocumented/refinement/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_refinement)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/smoothing/cpp/CMakeLists.txt b/demo/undocumented/smoothing/cpp/CMakeLists.txt
deleted file mode 100644
index f7c35ca..0000000
--- a/demo/undocumented/smoothing/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file is automatically generated by running
-#
-# cmake/scripts/generate-cmakefiles
-#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
-
-project(demo_smoothing)
-
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
-# Set CMake behavior
-cmake_policy(SET CMP0004 OLD)
-
-# Get DOLFIN configuration data (DOLFINConfig.cmake must be in DOLFIN_CMAKE_CONFIG_PATH)
-find_package(DOLFIN)
-
-# Default build type (can be overridden by user)
-if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
- "Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
-endif()
-
-# Compiler definitions
-add_definitions(${DOLFIN_CXX_DEFINITIONS})
-
-# Add special DOLFIN compiler flags
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_CXX_FLAGS}")
-
-# Include directories
-include_directories(${DOLFIN_INCLUDE_DIRS})
-include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
-
-# Executable
-
-
-# Target libraries
-NOT_SET
diff --git a/demo/undocumented/spatial-coordinates/cpp/CMakeLists.txt b/demo/undocumented/spatial-coordinates/cpp/CMakeLists.txt
index 1142d1d..be7c6b1 100644
--- a/demo/undocumented/spatial-coordinates/cpp/CMakeLists.txt
+++ b/demo/undocumented/spatial-coordinates/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_spatial-coordinates)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/spatial-coordinates/cpp/SpatialCoordinates.h b/demo/undocumented/spatial-coordinates/cpp/SpatialCoordinates.h
index 7364304..3ccb8f9 100644
--- a/demo/undocumented/spatial-coordinates/cpp/SpatialCoordinates.h
+++ b/demo/undocumented/spatial-coordinates/cpp/SpatialCoordinates.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2310,25 +2311,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2531,7 +2523,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2567,7 +2559,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2675,7 +2667,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Compute value(s)
for (unsigned int r = 0; r < 6; r++)
@@ -2885,7 +2877,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582063, 0.0544331053951817};
+ {0.0, -0.173205080756888, -0.1, 0.121716123890037, 0.0942809041582064, 0.0544331053951817};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -2900,8 +2892,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3036,7 +3028,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582064, 0.0544331053951818};
+ {0.0, 0.173205080756888, -0.1, 0.121716123890037, -0.0942809041582063, 0.0544331053951818};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3051,8 +3043,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3202,8 +3194,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3353,8 +3345,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3489,7 +3481,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[6] = \
- {0.471404520791032, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
+ {0.471404520791031, -0.23094010767585, 0.133333333333333, 0.0, -0.188561808316413, -0.163299316185545};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[6][6] = \
@@ -3504,8 +3496,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -3655,8 +3647,8 @@ public:
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711928, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025257, -0.91287092917528, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025257, -0.912870929175279, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
@@ -4078,6 +4070,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4166,6 +4182,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4273,6 +4374,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4376,6 +4501,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4497,6 +4719,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -4617,6 +4863,97 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -4661,6 +4998,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 49
@@ -4686,18 +5038,18 @@ public:
// Compute element tensor
A[0] = 0.5*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.500000000000002*G0_1_1;
- A[1] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_1_0;
- A[2] = 0.166666666666666*G0_0_1 + 0.166666666666666*G0_1_1;
+ A[1] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_1_0;
+ A[2] = 0.166666666666667*G0_0_1 + 0.166666666666666*G0_1_1;
A[3] = 0.0;
A[4] = -0.666666666666668*G0_0_1 - 0.666666666666668*G0_1_1;
A[5] = -0.666666666666668*G0_0_0 - 0.666666666666668*G0_1_0;
- A[6] = 0.166666666666668*G0_0_0 + 0.166666666666667*G0_0_1;
+ A[6] = 0.166666666666668*G0_0_0 + 0.166666666666666*G0_0_1;
A[7] = 0.5*G0_0_0;
A[8] = -0.166666666666666*G0_0_1;
A[9] = 0.666666666666664*G0_0_1;
A[10] = 0.0;
A[11] = -0.666666666666668*G0_0_0 - 0.666666666666667*G0_0_1;
- A[12] = 0.166666666666666*G0_1_0 + 0.166666666666666*G0_1_1;
+ A[12] = 0.166666666666667*G0_1_0 + 0.166666666666666*G0_1_1;
A[13] = -0.166666666666666*G0_1_0;
A[14] = 0.5*G0_1_1;
A[15] = 0.666666666666667*G0_1_0;
@@ -4711,7 +5063,7 @@ public:
A[23] = -0.666666666666665*G0_0_1 - 0.666666666666666*G0_1_0 - 1.33333333333332*G0_1_1;
A[24] = -0.666666666666668*G0_1_0 - 0.666666666666668*G0_1_1;
A[25] = 0.0;
- A[26] = -0.666666666666667*G0_0_1 - 0.666666666666665*G0_1_1;
+ A[26] = -0.666666666666667*G0_0_1 - 0.666666666666666*G0_1_1;
A[27] = -1.33333333333333*G0_0_0 - 0.666666666666656*G0_0_1 - 0.666666666666659*G0_1_0;
A[28] = 1.33333333333333*G0_0_0 + 0.666666666666659*G0_0_1 + 0.666666666666659*G0_1_0 + 1.33333333333333*G0_1_1;
A[29] = 0.666666666666665*G0_0_1 + 0.666666666666667*G0_1_0;
@@ -4720,7 +5072,7 @@ public:
A[32] = 0.0;
A[33] = -0.666666666666666*G0_0_1 - 0.666666666666665*G0_1_0 - 1.33333333333332*G0_1_1;
A[34] = 0.666666666666667*G0_0_1 + 0.666666666666665*G0_1_0;
- A[35] = 1.33333333333334*G0_0_0 + 0.666666666666668*G0_0_1 + 0.666666666666668*G0_1_0 + 1.33333333333333*G0_1_1;
+ A[35] = 1.33333333333334*G0_0_0 + 0.666666666666667*G0_0_1 + 0.666666666666667*G0_1_0 + 1.33333333333333*G0_1_1;
}
};
@@ -4751,6 +5103,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -4775,17 +5142,17 @@ public:
// Values of basis functions at quadrature points.
static const double FE0[12][6] = \
- {{-0.0551285669924841, 0.653307703047059, -0.0551285669924841, 0.220514267969936, 0.0159208949980358, 0.220514267969936},
- {-0.055128566992484, -0.055128566992484, 0.65330770304706, 0.220514267969936, 0.220514267969936, 0.0159208949980358},
- {0.65330770304706, -0.0551285669924841, -0.0551285669924841, 0.0159208949980358, 0.220514267969936, 0.220514267969936},
- {-0.124998982535098, 0.00143057951778876, -0.124998982535098, 0.499995930140389, 0.248575525271626, 0.499995930140391},
- {-0.124998982535098, -0.124998982535098, 0.00143057951778887, 0.499995930140389, 0.499995930140391, 0.248575525271626},
- {0.00143057951778986, -0.124998982535098, -0.124998982535098, 0.248575525271625, 0.49999593014039, 0.49999593014039},
- {-0.0474962571988001, 0.173768363654174, -0.117715163308429, 0.790160442765823, 0.0659747859186054, 0.135307828168627},
- {-0.117715163308429, 0.173768363654174, -0.0474962571988, 0.135307828168627, 0.0659747859186052, 0.790160442765823},
- {-0.0474962571988, -0.117715163308429, 0.173768363654174, 0.790160442765823, 0.135307828168627, 0.0659747859186053},
- {0.173768363654174, -0.117715163308429, -0.0474962571988, 0.0659747859186052, 0.135307828168627, 0.790160442765823},
- {-0.117715163308429, -0.0474962571988, 0.173768363654174, 0.135307828168627, 0.790160442765823, 0.0659747859186053},
+ {{-0.0551285669924841, 0.65330770304706, -0.0551285669924841, 0.220514267969936, 0.0159208949980357, 0.220514267969936},
+ {-0.055128566992484, -0.0551285669924841, 0.65330770304706, 0.220514267969936, 0.220514267969936, 0.015920894998036},
+ {0.65330770304706, -0.0551285669924841, -0.0551285669924841, 0.0159208949980359, 0.220514267969936, 0.220514267969936},
+ {-0.124998982535098, 0.00143057951778879, -0.124998982535098, 0.499995930140389, 0.248575525271626, 0.499995930140391},
+ {-0.124998982535098, -0.124998982535098, 0.00143057951778883, 0.499995930140389, 0.499995930140391, 0.248575525271626},
+ {0.00143057951778983, -0.124998982535098, -0.124998982535098, 0.248575525271625, 0.49999593014039, 0.49999593014039},
+ {-0.0474962571988, 0.173768363654174, -0.117715163308429, 0.790160442765823, 0.0659747859186053, 0.135307828168627},
+ {-0.117715163308429, 0.173768363654174, -0.0474962571988, 0.135307828168627, 0.0659747859186051, 0.790160442765823},
+ {-0.0474962571988, -0.117715163308429, 0.173768363654174, 0.790160442765823, 0.135307828168627, 0.0659747859186054},
+ {0.173768363654174, -0.117715163308429, -0.0474962571988, 0.0659747859186053, 0.135307828168627, 0.790160442765823},
+ {-0.117715163308429, -0.0474962571988001, 0.173768363654174, 0.135307828168627, 0.790160442765823, 0.0659747859186054},
{0.173768363654174, -0.0474962571988001, -0.117715163308429, 0.0659747859186054, 0.790160442765823, 0.135307828168627}};
static const double FEA12_f0[12][3] = \
@@ -4870,6 +5237,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 5
+ // quadrature_degree: 5
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -4910,7 +5292,7 @@ public:
static const double FE0_f0[3][3] = \
{{0.687298334620742, -0.0872983346207417, 0.4},
{0.0, 0.0, 1.0},
- {-0.0872983346207416, 0.687298334620742, 0.4}};
+ {-0.0872983346207417, 0.687298334620742, 0.4}};
// Array of non-zero columns
static const unsigned int nzc0[3] = {1, 2, 3};
@@ -5709,10 +6091,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -5853,10 +6235,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/spatial-coordinates/cpp/compile.log b/demo/undocumented/spatial-coordinates/cpp/compile.log
deleted file mode 100644
index c977257..0000000
--- a/demo/undocumented/spatial-coordinates/cpp/compile.log
+++ /dev/null
@@ -1,994 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form SpatialCoordinates
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal SpatialCoordinate.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
- Extracting monomial form representation from UFL form
- Monomial extraction failed: No handler defined for terminal SpatialCoordinate.
- Estimated cost of tensor representation: -1
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 5
- quadrature_degree: 5
-
-Compiler stage 1 finished in 0.150783 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000671 seconds
- Shape of reference tensor: (6, 6, 2, 2)
- Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {12: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.06308901, 0.06308901, 0.87382197, 0.24928675, 0.24928675,
- 0.50142651, 0.05314505, 0.31035245, 0.05314505, 0.6365025 ,
- 0.31035245, 0.6365025 ],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.87382197, 0.06308901, 0.06308901, 0.50142651, 0.24928675,
- 0.24928675, 0.6365025 , 0.6365025 , 0.31035245, 0.31035245,
- 0.05314505, 0.05314505],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0.06308901, 0.87382197, 0.06308901, 0.24928675, 0.50142651,
- 0.24928675, 0.31035245, 0.05314505, 0.6365025 , 0.05314505,
- 0.6365025 , 0.31035245],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0.24928675, 0.24928675,
- 0.50142651, 0.05314505, 0.31035245, 0.05314505, 0.6365025 ,
- 0.31035245, 0.6365025 ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0.50142651, 0.24928675,
- 0.24928675, 0.6365025 , 0.6365025 , 0.31035245, 0.31035245,
- 0.05314505, 0.05314505]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. , 0. , 0. , 0. ,
- 0. , 0. ],
- [ 0.06308901, 0.87382197, 0.06308901, 0.24928675, 0.50142651,
- 0.24928675, 0.31035245, 0.05314505, 0.6365025 , 0.05314505,
- 0.6365025 , 0.31035245]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {None: {(0, 0): array([[-0.05512857, -0.05512857, 0.6533077 , -0.12499898, -0.12499898,
- 0.00143058, -0.04749626, -0.11771516, -0.04749626, 0.17376836,
- -0.11771516, 0.17376836],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.00143058, -0.12499898,
- -0.12499898, 0.17376836, 0.17376836, -0.11771516, -0.11771516,
- -0.04749626, -0.04749626],
- [-0.05512857, 0.6533077 , -0.05512857, -0.12499898, 0.00143058,
- -0.12499898, -0.11771516, -0.04749626, 0.17376836, -0.04749626,
- 0.17376836, -0.11771516],
- [ 0.22051427, 0.22051427, 0.01592089, 0.49999593, 0.49999593,
- 0.24857553, 0.79016044, 0.13530783, 0.79016044, 0.06597479,
- 0.13530783, 0.06597479],
- [ 0.01592089, 0.22051427, 0.22051427, 0.24857553, 0.49999593,
- 0.49999593, 0.06597479, 0.06597479, 0.13530783, 0.13530783,
- 0.79016044, 0.79016044],
- [ 0.22051427, 0.01592089, 0.22051427, 0.49999593, 0.24857553,
- 0.49999593, 0.13530783, 0.79016044, 0.06597479, 0.79016044,
- 0.06597479, 0.13530783]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_C0': array([[ 0.06308901, 0.87382197, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0. , 0. ,
- 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.50142651, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.24928675, 0.50142651, 0. , 0. ,
- 0. ],
- [ 0.50142651, 0.24928675, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.6365025 , 0.31035245, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.6365025 , 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.31035245, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.31035245, 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.05314505, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.05314505, 0.31035245, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.06308901, 0.87382197,
- 0.06308901],
- [ 0. , 0. , 0. , 0.06308901, 0.06308901,
- 0.87382197],
- [ 0. , 0. , 0. , 0.87382197, 0.06308901,
- 0.06308901],
- [ 0. , 0. , 0. , 0.24928675, 0.50142651,
- 0.24928675],
- [ 0. , 0. , 0. , 0.24928675, 0.24928675,
- 0.50142651],
- [ 0. , 0. , 0. , 0.50142651, 0.24928675,
- 0.24928675],
- [ 0. , 0. , 0. , 0.05314505, 0.6365025 ,
- 0.31035245],
- [ 0. , 0. , 0. , 0.31035245, 0.6365025 ,
- 0.05314505],
- [ 0. , 0. , 0. , 0.05314505, 0.31035245,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.31035245,
- 0.05314505],
- [ 0. , 0. , 0. , 0.31035245, 0.05314505,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.05314505,
- 0.31035245]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- tables: {'FE1_C0': array([[ 0.06308901, 0.87382197, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.06308901, 0.06308901, 0.87382197, 0. , 0. ,
- 0. ],
- [ 0.87382197, 0.06308901, 0.06308901, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.50142651, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.24928675, 0.24928675, 0.50142651, 0. , 0. ,
- 0. ],
- [ 0.50142651, 0.24928675, 0.24928675, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.6365025 , 0.31035245, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.6365025 , 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.05314505, 0.31035245, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.31035245, 0.05314505, 0. , 0. ,
- 0. ],
- [ 0.31035245, 0.05314505, 0.6365025 , 0. , 0. ,
- 0. ],
- [ 0.6365025 , 0.05314505, 0.31035245, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.06308901, 0.87382197,
- 0.06308901],
- [ 0. , 0. , 0. , 0.06308901, 0.06308901,
- 0.87382197],
- [ 0. , 0. , 0. , 0.87382197, 0.06308901,
- 0.06308901],
- [ 0. , 0. , 0. , 0.24928675, 0.50142651,
- 0.24928675],
- [ 0. , 0. , 0. , 0.24928675, 0.24928675,
- 0.50142651],
- [ 0. , 0. , 0. , 0.50142651, 0.24928675,
- 0.24928675],
- [ 0. , 0. , 0. , 0.05314505, 0.6365025 ,
- 0.31035245],
- [ 0. , 0. , 0. , 0.31035245, 0.6365025 ,
- 0.05314505],
- [ 0. , 0. , 0. , 0.05314505, 0.31035245,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.31035245,
- 0.05314505],
- [ 0. , 0. , 0. , 0.31035245, 0.05314505,
- 0.6365025 ],
- [ 0. , 0. , 0. , 0.6365025 , 0.05314505,
- 0.31035245]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]])}
-
- name_map: {}
-
- inv_name_map: {'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0': 'FE0', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE1_C0': array([[ 0.06308901, 0.87382197, 0.06308901],
- [ 0.06308901, 0.06308901, 0.87382197],
- [ 0.87382197, 0.06308901, 0.06308901],
- [ 0.24928675, 0.50142651, 0.24928675],
- [ 0.24928675, 0.24928675, 0.50142651],
- [ 0.50142651, 0.24928675, 0.24928675],
- [ 0.05314505, 0.6365025 , 0.31035245],
- [ 0.31035245, 0.6365025 , 0.05314505],
- [ 0.05314505, 0.31035245, 0.6365025 ],
- [ 0.6365025 , 0.31035245, 0.05314505],
- [ 0.31035245, 0.05314505, 0.6365025 ],
- [ 0.6365025 , 0.05314505, 0.31035245]]), 'FE0': array([[-0.05512857, 0.6533077 , -0.05512857, 0.22051427, 0.01592089,
- 0.22051427],
- [-0.05512857, -0.05512857, 0.6533077 , 0.22051427, 0.22051427,
- 0.01592089],
- [ 0.6533077 , -0.05512857, -0.05512857, 0.01592089, 0.22051427,
- 0.22051427],
- [-0.12499898, 0.00143058, -0.12499898, 0.49999593, 0.24857553,
- 0.49999593],
- [-0.12499898, -0.12499898, 0.00143058, 0.49999593, 0.49999593,
- 0.24857553],
- [ 0.00143058, -0.12499898, -0.12499898, 0.24857553, 0.49999593,
- 0.49999593],
- [-0.04749626, 0.17376836, -0.11771516, 0.79016044, 0.06597479,
- 0.13530783],
- [-0.11771516, 0.17376836, -0.04749626, 0.13530783, 0.06597479,
- 0.79016044],
- [-0.04749626, -0.11771516, 0.17376836, 0.79016044, 0.13530783,
- 0.06597479],
- [ 0.17376836, -0.11771516, -0.04749626, 0.06597479, 0.13530783,
- 0.79016044],
- [-0.11771516, -0.04749626, 0.17376836, 0.13530783, 0.79016044,
- 0.06597479],
- [ 0.17376836, -0.04749626, -0.11771516, 0.06597479, 0.79016044,
- 0.13530783]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0': ('FE0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0_D01', (2, [0, 1]), False, False)}
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {3: {VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {0: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 1: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.87298335e-01, 5.00000000e-01, 1.12701665e-01]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 2.77555756e-17, 4.16333634e-17, 5.55111512e-17]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.00000000e-01, 8.87298335e-01]]])}, 2: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
- [ 0., 0., 0.]],
-
- [[ 1., 1., 1.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]],
-
- [[ 0., 0., 0.],
- [-1., -1., -1.]],
-
- [[ 0., 0., 0.],
- [ 1., 1., 1.]],
-
- [[ 0., 0., 0.],
- [ 0., 0., 0.]]]), (0, 0): array([[[ 0.88729833, 0.5 , 0.11270167],
- [ 0. , 0. , 0. ]],
-
- [[ 0.11270167, 0.5 , 0.88729833],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]],
-
- [[ 0. , 0. , 0. ],
- [ 0.88729833, 0.5 , 0.11270167]],
-
- [[ 0. , 0. , 0. ],
- [ 0.11270167, 0.5 , 0.88729833]],
-
- [[ 0. , 0. , 0. ],
- [ 0. , 0. , 0. ]]])}}}, FiniteElement('Lagrange', triangle, 2): {None: {0: {(0, 0): array([[ 1.12757026e-16, 4.16333634e-17, 4.16333634e-17],
- [ 6.87298335e-01, -9.71445147e-17, -8.72983346e-02],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ -4.85722573e-17, 1.38777878e-17, 5.55111512e-17],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]])}, 1: {(0, 0): array([[ 6.87298335e-01, 8.32667268e-17, -8.72983346e-02],
- [ 9.36750677e-17, 8.32667268e-17, 9.71445147e-17],
- [ -8.72983346e-02, 8.32667268e-17, 6.87298335e-01],
- [ -2.77555756e-17, 0.00000000e+00, 0.00000000e+00],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01],
- [ -1.23165367e-16, 0.00000000e+00, -6.93889390e-17]])}, 2: {(0, 0): array([[ 6.87298335e-01, 4.16333634e-17, -8.72983346e-02],
- [ -8.72983346e-02, 1.38777878e-17, 6.87298335e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -2.77555756e-17, -5.55111512e-17, -5.55111512e-17],
- [ 4.00000000e-01, 1.00000000e+00, 4.00000000e-01]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE1_f2_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE0_f0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE0_f1': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE0_f2': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE1_f1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f2_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE1_f1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- tables: {'FE0_f0': array([[ 1.12757026e-16, 6.87298335e-01, -8.72983346e-02,
- 4.00000000e-01, -4.85722573e-17, -1.23165367e-16],
- [ 4.16333634e-17, -9.71445147e-17, 8.32667268e-17,
- 1.00000000e+00, 1.38777878e-17, 0.00000000e+00],
- [ 4.16333634e-17, -8.72983346e-02, 6.87298335e-01,
- 4.00000000e-01, 5.55111512e-17, -6.93889390e-17]]), 'FE0_f1': array([[ 6.87298335e-01, 9.36750677e-17, -8.72983346e-02,
- -2.77555756e-17, 4.00000000e-01, -1.23165367e-16],
- [ 8.32667268e-17, 8.32667268e-17, 8.32667268e-17,
- 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
- [ -8.72983346e-02, 9.71445147e-17, 6.87298335e-01,
- 0.00000000e+00, 4.00000000e-01, -6.93889390e-17]]), 'FE0_f2': array([[ 6.87298335e-01, -8.72983346e-02, 0.00000000e+00,
- 0.00000000e+00, -2.77555756e-17, 4.00000000e-01],
- [ 4.16333634e-17, 1.38777878e-17, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 1.00000000e+00],
- [ -8.72983346e-02, 6.87298335e-01, 0.00000000e+00,
- 0.00000000e+00, -5.55111512e-17, 4.00000000e-01]]), 'FE1_f0_C0': array([[ 2.77555756e-17, 8.87298335e-01, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 4.16333634e-17, 5.00000000e-01, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.55111512e-17, 1.12701665e-01, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 2.77555756e-17, 8.87298335e-01, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 4.16333634e-17, 5.00000000e-01, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.55111512e-17, 1.12701665e-01, 8.87298335e-01]]), 'FE1_f0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_f2_C0': array([[ 0.88729833, 0.11270167, 0. , 0. , 0. ,
- 0. ],
- [ 0.5 , 0.5 , 0. , 0. , 0. ,
- 0. ],
- [ 0.11270167, 0.88729833, 0. , 0. , 0. ,
- 0. ]]), 'FE1_f0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE1_f1_C1': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 8.87298335e-01, 2.77555756e-17, 1.12701665e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 5.00000000e-01, 4.16333634e-17, 5.00000000e-01],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 1.12701665e-01, 5.55111512e-17, 8.87298335e-01]]), 'FE1_f2_C1': array([[ 0. , 0. , 0. , 0.88729833, 0.11270167,
- 0. ],
- [ 0. , 0. , 0. , 0.5 , 0.5 ,
- 0. ],
- [ 0. , 0. , 0. , 0.11270167, 0.88729833,
- 0. ]]), 'FE1_f0_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_f0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE1_f1_C0': array([[ 8.87298335e-01, 2.77555756e-17, 1.12701665e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 5.00000000e-01, 4.16333634e-17, 5.00000000e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.12701665e-01, 5.55111512e-17, 8.87298335e-01,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])}
-
- name_map: {'FE1_f0_C1_D10': ['FE1_f1_C1_D10', 'FE1_f2_C1_D10'], 'FE1_f0_C0_D01': ['FE1_f1_C0_D01', 'FE1_f2_C0_D01'], 'FE1_f0_C1_D01': ['FE1_f1_C1_D01', 'FE1_f2_C1_D01'], 'FE1_f0_C0_D10': ['FE1_f1_C0_D10', 'FE1_f2_C0_D10']}
-
- inv_name_map: {'FE0_f0': 'FE0_f0', 'FE1_f1_C0_D10': 'FE1_f0_C0_D10', 'FE0_f2': 'FE0_f2', 'FE1_f1_C0_D01': 'FE1_f0_C0_D01', 'FE1_f0_C0': 'FE1_f0_C0', 'FE1_f0_C1': 'FE1_f0_C1', 'FE1_f2_C1_D10': 'FE1_f0_C1_D10', 'FE1_f2_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1_D10': 'FE1_f0_C1_D10', 'FE1_f1_C0': 'FE1_f1_C0', 'FE1_f2_C0': 'FE1_f2_C0', 'FE1_f0_C1_D10': 'FE1_f0_C1_D10', 'FE1_f0_C1_D01': 'FE1_f0_C1_D01', 'FE1_f1_C1': 'FE1_f1_C1', 'FE1_f1_C1_D01': 'FE1_f0_C1_D01', 'FE1_f2_C1': 'FE1_f2_C1', 'FE1_f2 [...]
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_f0': array([[ 0.68729833, -0.08729833, 0.4 ],
- [ 0. , 0. , 1. ],
- [-0.08729833, 0.68729833, 0.4 ]]), 'FE1_f0_C0': array([[ 0.88729833, 0.11270167],
- [ 0.5 , 0.5 ],
- [ 0.11270167, 0.88729833]]), 'FE1_f0_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_f0': ('FE0_f0', (0, [1, 2, 3]), False, False), 'FE1_f1_C0_D10': ('FE1_f0_C0_D01', (5, [0, 1]), False, False), 'FE0_f2': ('FE0_f0', (2, [0, 1, 5]), False, False), 'FE1_f1_C0_D01': ('FE1_f0_C0_D01', (4, [0, 2]), False, False), 'FE1_f0_C0': ('FE1_f0_C0', (3, [1, 2]), False, False), 'FE1_f0_C1': ('FE1_f0_C0', (6, [4, 5]), False, False), 'FE1_f2_C1_D10': ('FE1_f0_C0_D01', (8, [3, 4]), False, False), 'FE1_f2_C1_D01': ('FE1_f0_C0_D01', (7, [3, 5]), False, False), 'FE1_f1_C1_D10': ('FE1_ [...]
- Transforming exterior facet integral 0
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 1
- Reusing element from cache
- Reusing element from cache
- Transforming exterior facet integral 2
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.111219 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
- Optimising expressions for facet integral 0
- Optimising expressions for facet integral 1
- Optimising expressions for facet integral 2
-
-Compiler stage 3 finished in 0.000763893 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Removing unused variable: facet_area
- Removing unused variable: n1
- Removing unused variable: n0
- Removing unused variable: direction
- Generating code for forms
-
-Compiler stage 4 finished in 0.156905 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00050807 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000612974 seconds.
-
-FFC finished in 0.421155 seconds.
-Output written to ./SpatialCoordinates.h.
diff --git a/demo/undocumented/submesh/cpp/CMakeLists.txt b/demo/undocumented/submesh/cpp/CMakeLists.txt
index ebb6997..a271037 100644
--- a/demo/undocumented/submesh/cpp/CMakeLists.txt
+++ b/demo/undocumented/submesh/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_submesh)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/sym-dirichlet-bc/cpp/CMakeLists.txt b/demo/undocumented/sym-dirichlet-bc/cpp/CMakeLists.txt
index ed42f22..f63a137 100644
--- a/demo/undocumented/sym-dirichlet-bc/cpp/CMakeLists.txt
+++ b/demo/undocumented/sym-dirichlet-bc/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_sym-dirichlet-bc)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/sym-dirichlet-bc/cpp/Poisson.h b/demo/undocumented/sym-dirichlet-bc/cpp/Poisson.h
index 5c0016e..51e75c4 100644
--- a/demo/undocumented/sym-dirichlet-bc/cpp/Poisson.h
+++ b/demo/undocumented/sym-dirichlet-bc/cpp/Poisson.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 0
+ // quadrature_degree: 0
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 11
@@ -2903,6 +3140,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -2960,6 +3212,21 @@ public:
std::size_t facet,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 10
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 9
@@ -3752,10 +4019,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3927,10 +4194,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3946,10 +4213,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/sym-dirichlet-bc/cpp/compile.log b/demo/undocumented/sym-dirichlet-bc/cpp/compile.log
deleted file mode 100644
index 45f0232..0000000
--- a/demo/undocumented/sym-dirichlet-bc/cpp/compile.log
+++ /dev/null
@@ -1,208 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Number of exterior_facet subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 2
- Coefficients: '[w_0, w_1]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.053472 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000534 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000467 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000747 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000663 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00067 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0111842 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000149965 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.073797 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000574112 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000458002 seconds.
-
-FFC finished in 0.139964 seconds.
-Output written to ./Poisson.h.
diff --git a/demo/undocumented/time-series/cpp/CMakeLists.txt b/demo/undocumented/time-series/cpp/CMakeLists.txt
index 4f78d58..eb3c042 100644
--- a/demo/undocumented/time-series/cpp/CMakeLists.txt
+++ b/demo/undocumented/time-series/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_time-series)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/timing/python/.gitignore b/demo/undocumented/timing/python/.gitignore
deleted file mode 100644
index 6722cd9..0000000
--- a/demo/undocumented/timing/python/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.xml
diff --git a/demo/undocumented/waveguide/cpp/CMakeLists.txt b/demo/undocumented/waveguide/cpp/CMakeLists.txt
index 39e93be..87d0c12 100644
--- a/demo/undocumented/waveguide/cpp/CMakeLists.txt
+++ b/demo/undocumented/waveguide/cpp/CMakeLists.txt
@@ -2,15 +2,12 @@
#
# cmake/scripts/generate-cmakefiles
#
-# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+# Require CMake 3.5
+cmake_minimum_required(VERSION 3.5)
set(PROJECT_NAME demo_waveguide)
project(${PROJECT_NAME})
-# Set verbose output while testing CMake
-#set(CMAKE_VERBOSE_MAKEFILE 1)
-
# Set CMake behavior
cmake_policy(SET CMP0004 NEW)
@@ -26,6 +23,15 @@ if (EXISTS ${DOLFIN_USE_FILE})
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug MinSizeRel Release RelWithDebInfo." FORCE)
endif()
+
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
else()
# Compiler definitions
add_definitions(${DOLFIN_CXX_DEFINITIONS})
@@ -33,6 +39,14 @@ else()
# Compiler flags
set(CMAKE_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
+ # Do not throw error for 'multi-line comments' (these are typical in
+ # rst which includes LaTeX)
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-Wno-comment" HAVE_NO_MULTLINE)
+ if (HAVE_NO_MULTLINE)
+ set(CMAKE_CXX_FLAGS "-Wno-comment ${CMAKE_CXX_FLAGS}")
+ endif()
+
# Include directories
include_directories(${DOLFIN_INCLUDE_DIRS})
include_directories(SYSTEM ${DOLFIN_3RD_PARTY_INCLUDE_DIRS})
diff --git a/demo/undocumented/waveguide/cpp/Forms.h b/demo/undocumented/waveguide/cpp/Forms.h
index 58c4173..e504b89 100644
--- a/demo/undocumented/waveguide/cpp/Forms.h
+++ b/demo/undocumented/waveguide/cpp/Forms.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2557,10 +2549,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.169533172561123, 0.0841793787126843, -0.11664236870396, 0.0, -0.146820034222103, 0.0729014804399754, -0.101015254455221};
+ {0.0, 0.0, 0.0, -0.169533172561123, 0.084179378712684, -0.11664236870396, 0.0, -0.146820034222104, 0.0729014804399754, -0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.321678327423669, -0.134687005940295, 0.0972019739199672, 0.260579710864614, -0.12987926104263, 0.0976879837895672, -0.0631345340345131};
+ {0.0, 0.0, 0.0, 0.321678327423669, -0.134687005940295, 0.0972019739199671, 0.260579710864614, -0.12987926104263, 0.0976879837895674, -0.0631345340345131};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2611,10 +2603,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.078246079643595, -0.168358757425368, 0.349927106111882, 0.0, 0.0677630927178938, -0.145802960879951, 0.303045763365663};
+ {0.0, 0.0, 0.0, 0.0782460796435951, -0.168358757425368, 0.349927106111882, 0.0, 0.0677630927178938, -0.145802960879951, 0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.16518616813648, 0.235702260395516, -0.272165526975909, -0.120267558860591, 0.146820034222104, -0.224536559755125, 0.176776695296637};
+ {0.0, 0.0, 0.0, -0.16518616813648, 0.235702260395516, -0.272165526975908, -0.120267558860591, 0.146820034222104, -0.224536559755125, 0.176776695296637};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2665,10 +2657,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.0391230398217976, -0.0841793787126843, -0.349927106111882, 0.0, -0.033881546358947, -0.0729014804399755, -0.303045763365663};
+ {0.0, 0.0, 0.0, -0.0391230398217976, -0.0841793787126842, -0.349927106111883, 0.0, -0.0338815463589469, -0.0729014804399754, -0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.0608580619450188, 0.0, 0.213844342623929, 0.0601337794302956, 0.0395284707521045, 0.112268279877563, -0.138895974875929};
+ {0.0, 0.0, 0.0, 0.0608580619450191, 0.0, 0.213844342623928, 0.0601337794302956, 0.0395284707521044, 0.112268279877562, -0.138895974875929};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2719,10 +2711,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126841, 0.116642368703961, 0.0, 0.146820034222103, 0.0729014804399755, 0.101015254455221};
+ {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126837, 0.11664236870396, 0.0, 0.146820034222103, 0.0729014804399754, 0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.491211499984792, 0.218866384652979, 0.213844342623928, -0.260579710864614, 0.0169407731794734, -0.0247865033495917, 0.0378807204207079};
+ {0.0, 0.0, 0.0, 0.491211499984792, 0.218866384652979, 0.213844342623928, -0.260579710864614, 0.0169407731794736, -0.0247865033495918, 0.037880720420708};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2773,10 +2765,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.0782460796435953, -0.168358757425368, -0.349927106111882, 0.0, -0.067763092717894, -0.145802960879951, -0.303045763365663};
+ {0.0, 0.0, 0.0, -0.0782460796435951, -0.168358757425368, -0.349927106111882, 0.0, -0.0677630927178939, -0.145802960879951, -0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.243432247780074, -0.404061017820884, -0.622092633087791, 0.120267558860591, 0.0790569415042094, 0.0787335988751738, -0.126269068069027};
+ {0.0, 0.0, 0.0, -0.243432247780073, -0.404061017820884, -0.622092633087791, 0.120267558860591, 0.0790569415042093, 0.0787335988751737, -0.126269068069027};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2827,10 +2819,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0391230398217974, -0.084179378712684, 0.349927106111882, 0.0, 0.0338815463589468, -0.0729014804399754, 0.303045763365663};
+ {0.0, 0.0, 0.0, 0.0391230398217974, -0.0841793787126839, 0.349927106111882, 0.0, 0.0338815463589468, -0.0729014804399752, 0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.0999811017668155, -0.0841793787126837, 0.563771448735811, -0.0601337794302957, 0.0734100171110521, -0.185169760317538, 0.164149788489734};
+ {0.0, 0.0, 0.0, 0.0999811017668154, -0.0841793787126839, 0.563771448735811, -0.0601337794302959, 0.0734100171110521, -0.185169760317538, 0.164149788489734};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2884,7 +2876,7 @@ public:
{0.0, 0.0, 0.0, 0.382536389368687, 0.303045763365663, 0.311046316543896, 0.0, -0.0903507902905252, -0.145802960879951, -0.202030508910442};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126839, 0.116642368703961, 0.160356745147454, 0.0677630927178938, 0.0320766513935894, -0.0757614408414161};
+ {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126841, 0.116642368703961, 0.160356745147455, 0.0677630927178937, 0.0320766513935895, -0.0757614408414161};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2935,10 +2927,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.765072778737375, 0.0, -0.155523158271948, 0.0, 0.18070158058105, 0.0, 0.101015254455221};
+ {0.0, 0.0, 0.0, -0.765072778737375, 0.0, -0.155523158271948, 0.0, 0.180701580581051, 0.0, 0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.382536389368687, 0.0673435029701476, -0.0777615791359738, -0.320713490294909, 0.0903507902905254, -0.0641533027871787, 0.0505076272276106};
+ {0.0, 0.0, 0.0, -0.382536389368688, 0.0673435029701481, -0.0777615791359741, -0.32071349029491, 0.0903507902905256, -0.0641533027871788, 0.0505076272276106};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -2989,7 +2981,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.382536389368687, -0.303045763365664, 0.311046316543896, 0.0, -0.090350790290525, 0.145802960879951, -0.202030508910442};
+ {0.0, 0.0, 0.0, 0.382536389368687, -0.303045763365664, 0.311046316543896, 0.0, -0.0903507902905251, 0.145802960879951, -0.202030508910442};
static const double coefficients1[10] = \
{0.0, 0.0, 0.0, 0.213003216807565, -0.21886638465298, 0.194403947839935, 0.160356745147455, -0.15811388300842, 0.177879612273541, -0.126269068069027};
@@ -3043,10 +3035,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {3.99999999999986, 0.0, 0.0, -0.368855556781646, -0.476190476190459, -1.64957219768459, 0.0, -0.31943828249996, -0.412393049421147, 0.571428571428549};
+ {4.0, 0.0, 0.0, -0.368855556781659, -0.476190476190476, -1.64957219768465, 0.0, -0.319438282499971, -0.41239304942116, 0.57142857142857};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.614759261302741, 0.476190476190461, -0.549857399228195, 0.566946709513821, 0.159719141249981, -0.453632354363262, 0.357142857142845};
+ {0.0, 0.0, 0.0, 0.614759261302762, 0.476190476190476, -0.549857399228214, 0.56694670951384, 0.159719141249985, -0.453632354363276, 0.357142857142857};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3097,10 +3089,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 3.99999999999986, 0.0, -0.677630927178917, 1.80795671491133, 0.0, 0.0, -0.586845597326944, -1.26269068069022, 0.0};
+ {0.0, 4, 0.0, -0.677630927178939, 1.80795671491139, 0.0, 0.0, -0.586845597326965, -1.26269068069026, 0.0};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 1.05409255338942, 1.16642368703957, -0.336717514850724, 1.04154761224408, 0.684653196881437, -0.580837713117501, 0.218704441319919};
+ {0.0, 0.0, 0.0, 1.05409255338946, 1.16642368703961, -0.336717514850734, 1.04154761224412, 0.684653196881458, -0.58083771311752, 0.218704441319926};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3151,10 +3143,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 3.99999999999986, 0.13041013273932, -0.841793787126808, 0.933138949631659, 0.0, 0.112938487863152, -0.72901480439973, -2.02030508910435};
+ {0.0, 0.0, 4.0, 0.130410132739326, -0.84179378712684, 0.933138949631686, 0.0, 0.112938487863157, -0.729014804399754, -2.02030508910442};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.347760353971518, 0.336717514850726, 1.3608276348795, -0.200445931434311, 0.621161683247338, 0.597792139607781, -0.883883476483157};
+ {0.0, 0.0, 0.0, -0.347760353971532, 0.33671751485074, 1.36082763487954, -0.200445931434319, 0.62116168324736, 0.597792139607799, -0.883883476483186};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3205,10 +3197,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0, 0.952380952380918, 0.0, 0.0, 0.0, 0.824786098842294, 0.0};
+ {0.0, 0.0, 0.0, 0.0, 0.952380952380951, 0.0, 0.0, 0.0, 0.824786098842321, 0.0};
static const double coefficients1[10] = \
- {3.99999999999986, 0.0, 0.0, -1.59837407938713, 0.476190476190459, -0.549857399228198, 0.0, -0.63887656499992, 0.412393049421147, -0.142857142857138};
+ {4, 0.0, 0.0, -1.59837407938719, 0.476190476190474, -0.549857399228216, 0.0, -0.638876564999942, 0.412393049421161, -0.142857142857142};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3259,10 +3251,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 1.35526185435783, 0.0, 0.0, 0.0, 1.17369119465389, 0.0, 0.0};
+ {0.0, 0.0, 0.0, 1.35526185435788, 0.0, 0.0, 0.0, 1.17369119465393, 0.0, 0.0};
static const double coefficients1[10] = \
- {0.0, 3.99999999999986, 0.0, 0.677630927178915, -0.524890659167806, 0.0, -2.08309522448817, 0.586845597326943, -0.101015254455218, 0.0};
+ {0.0, 4, 0.0, 0.677630927178938, -0.52489065916782, 0.0, -2.08309522448824, 0.586845597326966, -0.101015254455223, 0.0};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3313,10 +3305,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0, 1.68358757425362, 0.0, 0.0, 0.0, 1.45802960879946, 0.0};
+ {0.0, 0.0, 0.0, 0.0, 1.68358757425368, 0.0, 0.0, 0.0, 1.45802960879951, 0.0};
static const double coefficients1[10] = \
- {0.0, 0.0, 3.99999999999986, 0.825930840682368, 0.84179378712681, -1.78851632012734, 0.0, -1.12938487863153, 0.72901480439973, -0.252538136138043};
+ {0.0, 0.0, 4, 0.825930840682397, 0.841793787126839, -1.7885163201274, 0.0, -1.12938487863157, 0.729014804399755, -0.252538136138051};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -3508,10 +3500,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.169533172561123, 0.0841793787126843, -0.11664236870396, 0.0, -0.146820034222103, 0.0729014804399754, -0.101015254455221};
+ {0.0, 0.0, 0.0, -0.169533172561123, 0.084179378712684, -0.11664236870396, 0.0, -0.146820034222104, 0.0729014804399754, -0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.321678327423669, -0.134687005940295, 0.0972019739199672, 0.260579710864614, -0.12987926104263, 0.0976879837895672, -0.0631345340345131};
+ {0.0, 0.0, 0.0, 0.321678327423669, -0.134687005940295, 0.0972019739199671, 0.260579710864614, -0.12987926104263, 0.0976879837895674, -0.0631345340345131};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3519,24 +3511,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3701,10 +3693,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.078246079643595, -0.168358757425368, 0.349927106111882, 0.0, 0.0677630927178938, -0.145802960879951, 0.303045763365663};
+ {0.0, 0.0, 0.0, 0.0782460796435951, -0.168358757425368, 0.349927106111882, 0.0, 0.0677630927178938, -0.145802960879951, 0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.16518616813648, 0.235702260395516, -0.272165526975909, -0.120267558860591, 0.146820034222104, -0.224536559755125, 0.176776695296637};
+ {0.0, 0.0, 0.0, -0.16518616813648, 0.235702260395516, -0.272165526975908, -0.120267558860591, 0.146820034222104, -0.224536559755125, 0.176776695296637};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3712,24 +3704,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -3894,10 +3886,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.0391230398217976, -0.0841793787126843, -0.349927106111882, 0.0, -0.033881546358947, -0.0729014804399755, -0.303045763365663};
+ {0.0, 0.0, 0.0, -0.0391230398217976, -0.0841793787126842, -0.349927106111883, 0.0, -0.0338815463589469, -0.0729014804399754, -0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.0608580619450188, 0.0, 0.213844342623929, 0.0601337794302956, 0.0395284707521045, 0.112268279877563, -0.138895974875929};
+ {0.0, 0.0, 0.0, 0.0608580619450191, 0.0, 0.213844342623928, 0.0601337794302956, 0.0395284707521044, 0.112268279877562, -0.138895974875929};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -3905,24 +3897,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4087,10 +4079,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126841, 0.116642368703961, 0.0, 0.146820034222103, 0.0729014804399755, 0.101015254455221};
+ {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126837, 0.11664236870396, 0.0, 0.146820034222103, 0.0729014804399754, 0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.491211499984792, 0.218866384652979, 0.213844342623928, -0.260579710864614, 0.0169407731794734, -0.0247865033495917, 0.0378807204207079};
+ {0.0, 0.0, 0.0, 0.491211499984792, 0.218866384652979, 0.213844342623928, -0.260579710864614, 0.0169407731794736, -0.0247865033495918, 0.037880720420708};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4098,24 +4090,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4280,10 +4272,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.0782460796435953, -0.168358757425368, -0.349927106111882, 0.0, -0.067763092717894, -0.145802960879951, -0.303045763365663};
+ {0.0, 0.0, 0.0, -0.0782460796435951, -0.168358757425368, -0.349927106111882, 0.0, -0.0677630927178939, -0.145802960879951, -0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.243432247780074, -0.404061017820884, -0.622092633087791, 0.120267558860591, 0.0790569415042094, 0.0787335988751738, -0.126269068069027};
+ {0.0, 0.0, 0.0, -0.243432247780073, -0.404061017820884, -0.622092633087791, 0.120267558860591, 0.0790569415042093, 0.0787335988751737, -0.126269068069027};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4291,24 +4283,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4473,10 +4465,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0391230398217974, -0.084179378712684, 0.349927106111882, 0.0, 0.0338815463589468, -0.0729014804399754, 0.303045763365663};
+ {0.0, 0.0, 0.0, 0.0391230398217974, -0.0841793787126839, 0.349927106111882, 0.0, 0.0338815463589468, -0.0729014804399752, 0.303045763365663};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.0999811017668155, -0.0841793787126837, 0.563771448735811, -0.0601337794302957, 0.0734100171110521, -0.185169760317538, 0.164149788489734};
+ {0.0, 0.0, 0.0, 0.0999811017668154, -0.0841793787126839, 0.563771448735811, -0.0601337794302959, 0.0734100171110521, -0.185169760317538, 0.164149788489734};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4484,24 +4476,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4669,7 +4661,7 @@ public:
{0.0, 0.0, 0.0, 0.382536389368687, 0.303045763365663, 0.311046316543896, 0.0, -0.0903507902905252, -0.145802960879951, -0.202030508910442};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126839, 0.116642368703961, 0.160356745147454, 0.0677630927178938, 0.0320766513935894, -0.0757614408414161};
+ {0.0, 0.0, 0.0, 0.169533172561123, 0.0841793787126841, 0.116642368703961, 0.160356745147455, 0.0677630927178937, 0.0320766513935895, -0.0757614408414161};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4677,24 +4669,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -4859,10 +4851,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, -0.765072778737375, 0.0, -0.155523158271948, 0.0, 0.18070158058105, 0.0, 0.101015254455221};
+ {0.0, 0.0, 0.0, -0.765072778737375, 0.0, -0.155523158271948, 0.0, 0.180701580581051, 0.0, 0.101015254455221};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.382536389368687, 0.0673435029701476, -0.0777615791359738, -0.320713490294909, 0.0903507902905254, -0.0641533027871787, 0.0505076272276106};
+ {0.0, 0.0, 0.0, -0.382536389368688, 0.0673435029701481, -0.0777615791359741, -0.32071349029491, 0.0903507902905256, -0.0641533027871788, 0.0505076272276106};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4870,24 +4862,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5052,7 +5044,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.382536389368687, -0.303045763365664, 0.311046316543896, 0.0, -0.090350790290525, 0.145802960879951, -0.202030508910442};
+ {0.0, 0.0, 0.0, 0.382536389368687, -0.303045763365664, 0.311046316543896, 0.0, -0.0903507902905251, 0.145802960879951, -0.202030508910442};
static const double coefficients1[10] = \
{0.0, 0.0, 0.0, 0.213003216807565, -0.21886638465298, 0.194403947839935, 0.160356745147455, -0.15811388300842, 0.177879612273541, -0.126269068069027};
@@ -5063,24 +5055,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5245,10 +5237,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {3.99999999999986, 0.0, 0.0, -0.368855556781646, -0.476190476190459, -1.64957219768459, 0.0, -0.31943828249996, -0.412393049421147, 0.571428571428549};
+ {4.0, 0.0, 0.0, -0.368855556781659, -0.476190476190476, -1.64957219768465, 0.0, -0.319438282499971, -0.41239304942116, 0.57142857142857};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 0.614759261302741, 0.476190476190461, -0.549857399228195, 0.566946709513821, 0.159719141249981, -0.453632354363262, 0.357142857142845};
+ {0.0, 0.0, 0.0, 0.614759261302762, 0.476190476190476, -0.549857399228214, 0.56694670951384, 0.159719141249985, -0.453632354363276, 0.357142857142857};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5256,24 +5248,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5438,10 +5430,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 3.99999999999986, 0.0, -0.677630927178917, 1.80795671491133, 0.0, 0.0, -0.586845597326944, -1.26269068069022, 0.0};
+ {0.0, 4, 0.0, -0.677630927178939, 1.80795671491139, 0.0, 0.0, -0.586845597326965, -1.26269068069026, 0.0};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, 1.05409255338942, 1.16642368703957, -0.336717514850724, 1.04154761224408, 0.684653196881437, -0.580837713117501, 0.218704441319919};
+ {0.0, 0.0, 0.0, 1.05409255338946, 1.16642368703961, -0.336717514850734, 1.04154761224412, 0.684653196881458, -0.58083771311752, 0.218704441319926};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5449,24 +5441,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5631,10 +5623,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 3.99999999999986, 0.13041013273932, -0.841793787126808, 0.933138949631659, 0.0, 0.112938487863152, -0.72901480439973, -2.02030508910435};
+ {0.0, 0.0, 4.0, 0.130410132739326, -0.84179378712684, 0.933138949631686, 0.0, 0.112938487863157, -0.729014804399754, -2.02030508910442};
static const double coefficients1[10] = \
- {0.0, 0.0, 0.0, -0.347760353971518, 0.336717514850726, 1.3608276348795, -0.200445931434311, 0.621161683247338, 0.597792139607781, -0.883883476483157};
+ {0.0, 0.0, 0.0, -0.347760353971532, 0.33671751485074, 1.36082763487954, -0.200445931434319, 0.62116168324736, 0.597792139607799, -0.883883476483186};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5642,24 +5634,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -5824,10 +5816,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0, 0.952380952380918, 0.0, 0.0, 0.0, 0.824786098842294, 0.0};
+ {0.0, 0.0, 0.0, 0.0, 0.952380952380951, 0.0, 0.0, 0.0, 0.824786098842321, 0.0};
static const double coefficients1[10] = \
- {3.99999999999986, 0.0, 0.0, -1.59837407938713, 0.476190476190459, -0.549857399228198, 0.0, -0.63887656499992, 0.412393049421147, -0.142857142857138};
+ {4, 0.0, 0.0, -1.59837407938719, 0.476190476190474, -0.549857399228216, 0.0, -0.638876564999942, 0.412393049421161, -0.142857142857142};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5835,24 +5827,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6017,10 +6009,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 1.35526185435783, 0.0, 0.0, 0.0, 1.17369119465389, 0.0, 0.0};
+ {0.0, 0.0, 0.0, 1.35526185435788, 0.0, 0.0, 0.0, 1.17369119465393, 0.0, 0.0};
static const double coefficients1[10] = \
- {0.0, 3.99999999999986, 0.0, 0.677630927178915, -0.524890659167806, 0.0, -2.08309522448817, 0.586845597326943, -0.101015254455218, 0.0};
+ {0.0, 4, 0.0, 0.677630927178938, -0.52489065916782, 0.0, -2.08309522448824, 0.586845597326966, -0.101015254455223, 0.0};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6028,24 +6020,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6210,10 +6202,10 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.0, 0.0, 0.0, 0.0, 1.68358757425362, 0.0, 0.0, 0.0, 1.45802960879946, 0.0};
+ {0.0, 0.0, 0.0, 0.0, 1.68358757425368, 0.0, 0.0, 0.0, 1.45802960879951, 0.0};
static const double coefficients1[10] = \
- {0.0, 0.0, 3.99999999999986, 0.825930840682368, 0.84179378712681, -1.78851632012734, 0.0, -1.12938487863153, 0.72901480439973, -0.252538136138043};
+ {0.0, 0.0, 4, 0.825930840682397, 0.841793787126839, -1.7885163201274, 0.0, -1.12938487863157, 0.729014804399755, -0.252538136138051};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6221,24 +6213,24 @@ public:
{4.89897948556635, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 9.48683298050515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.99999999999999, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {4, 0.0, 7.07106781186547, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {5.29150262212919, -4.61061686781004e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
- {0.0, 4.38178046004134, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
- {3.46410161513775, 0.0, 7.83836717690618, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
+ {5.29150262212919, -4.45624681879437e-14, -2.99332590941916, 13.6626010212795, 0.0, 0.611010092660779, 0.0, 0.0, 0.0, 0.0},
+ {0.0, 4.38178046004133, 0.0, 0.0, 12.5219806739988, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {3.46410161513776, 0.0, 7.83836717690617, 0.0, 0.0, 8.40000000000001, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
static const double dmats1[10][10] = \
{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.44948974278318, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{4.24264068711929, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.58198889747162, 4.74341649025258, -0.912870929175281, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {1.99999999999992, 6.12372435695794, 3.53553390593274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.58198889747162, 4.74341649025258, -0.912870929175282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {1.99999999999991, 6.12372435695794, 3.53553390593273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{-2.30940107675849, 0.0, 8.16496580927727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.64575131106457, 5.18459255872625, -1.49666295470956, 6.83130051063972, -1.05830052442583, 0.305505046330388, 0.0, 0.0, 0.0, 0.0},
- {2.23606797749982, 2.19089023002068, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
- {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.6994845223857, 4.20000000000001, 0.0, 0.0, 0.0, 0.0},
- {5.00000000000002, 0.0, -2.82842712474623, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
+ {2.64575131106457, 5.18459255872625, -1.49666295470957, 6.83130051063972, -1.05830052442583, 0.305505046330387, 0.0, 0.0, 0.0, 0.0},
+ {2.23606797749982, 2.19089023002067, 2.52982212813469, 8.08290376865477, 6.26099033699941, -1.80739222823012, 0.0, 0.0, 0.0, 0.0},
+ {1.73205080756888, -5.09116882454314, 3.91918358845309, 0.0, 9.69948452238569, 4.2, 0.0, 0.0, 0.0, 0.0},
+ {5.00000000000003, 0.0, -2.82842712474624, 0.0, 0.0, 12.1243556529822, 0.0, 0.0, 0.0, 0.0}};
// Compute reference derivatives.
// Declare array of derivatives on FIAT element.
@@ -6467,8 +6459,7 @@ public:
y[0] = 0.75*coordinate_dofs[2] + 0.25*coordinate_dofs[4];
y[1] = 0.75*coordinate_dofs[3] + 0.25*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 1:
@@ -6476,8 +6467,7 @@ public:
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 2:
@@ -6485,8 +6475,7 @@ public:
y[0] = 0.25*coordinate_dofs[2] + 0.75*coordinate_dofs[4];
y[1] = 0.25*coordinate_dofs[3] + 0.75*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 3:
@@ -6494,8 +6483,7 @@ public:
y[0] = 0.75*coordinate_dofs[0] + 0.25*coordinate_dofs[4];
y[1] = 0.75*coordinate_dofs[1] + 0.25*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 4:
@@ -6503,8 +6491,7 @@ public:
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 5:
@@ -6512,8 +6499,7 @@ public:
y[0] = 0.25*coordinate_dofs[0] + 0.75*coordinate_dofs[4];
y[1] = 0.25*coordinate_dofs[1] + 0.75*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- return result;
+ return (J[1]*vals[0] + J[3]*vals[1]);
break;
}
case 6:
@@ -6521,8 +6507,7 @@ public:
y[0] = 0.75*coordinate_dofs[0] + 0.25*coordinate_dofs[2];
y[1] = 0.75*coordinate_dofs[1] + 0.25*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- return result;
+ return (J[0]*vals[0] + J[2]*vals[1]);
break;
}
case 7:
@@ -6530,8 +6515,7 @@ public:
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- return result;
+ return (J[0]*vals[0] + J[2]*vals[1]);
break;
}
case 8:
@@ -6539,8 +6523,7 @@ public:
y[0] = 0.25*coordinate_dofs[0] + 0.75*coordinate_dofs[2];
y[1] = 0.25*coordinate_dofs[1] + 0.75*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- return result;
+ return (J[0]*vals[0] + J[2]*vals[1]);
break;
}
case 9:
@@ -6580,7 +6563,7 @@ public:
result = 0.0;
double X_10[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.32431830458 [...]
int D_10[36][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
- double W_10[36][1] = {{-0.00971097319454}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.00098080 [...]
+ double W_10[36][1] = {{-0.00971097319453}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.00098080 [...]
double copy_10[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6612,7 +6595,7 @@ public:
result = 0.0;
double X_11[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.32431830458 [...]
int D_11[36][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
- double W_11[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444266}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.003640719 [...]
+ double W_11[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444265}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.003640719 [...]
double copy_11[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6676,7 +6659,7 @@ public:
result = 0.0;
double X_13[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.32431830458 [...]
int D_13[36][1] = {{1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}};
- double W_13[36][1] = {{-0.00971097319454}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.00098080 [...]
+ double W_13[36][1] = {{-0.00971097319453}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.00098080 [...]
double copy_13[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6708,7 +6691,7 @@ public:
result = 0.0;
double X_14[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.32431830458 [...]
int D_14[36][1] = {{1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}};
- double W_14[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444266}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.003640719 [...]
+ double W_14[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444265}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.003640719 [...]
double copy_14[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6759,48 +6742,39 @@ public:
y[0] = 0.75*coordinate_dofs[2] + 0.25*coordinate_dofs[4];
y[1] = 0.75*coordinate_dofs[3] + 0.25*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- values[0] = result;
+ values[0] = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.5*coordinate_dofs[2] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[3] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- values[1] = result;
+ values[1] = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.25*coordinate_dofs[2] + 0.75*coordinate_dofs[4];
y[1] = 0.25*coordinate_dofs[3] + 0.75*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
- values[2] = result;
+ values[2] = (-1.0)*(J[0]*vals[0] + J[2]*vals[1]) + (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.75*coordinate_dofs[0] + 0.25*coordinate_dofs[4];
y[1] = 0.75*coordinate_dofs[1] + 0.25*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- values[3] = result;
+ values[3] = (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[4];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- values[4] = result;
+ values[4] = (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.25*coordinate_dofs[0] + 0.75*coordinate_dofs[4];
y[1] = 0.25*coordinate_dofs[1] + 0.75*coordinate_dofs[5];
f.evaluate(vals, y, c);
- result = (J[1]*vals[0] + J[3]*vals[1]);
- values[5] = result;
+ values[5] = (J[1]*vals[0] + J[3]*vals[1]);
y[0] = 0.75*coordinate_dofs[0] + 0.25*coordinate_dofs[2];
y[1] = 0.75*coordinate_dofs[1] + 0.25*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- values[6] = result;
+ values[6] = (J[0]*vals[0] + J[2]*vals[1]);
y[0] = 0.5*coordinate_dofs[0] + 0.5*coordinate_dofs[2];
y[1] = 0.5*coordinate_dofs[1] + 0.5*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- values[7] = result;
+ values[7] = (J[0]*vals[0] + J[2]*vals[1]);
y[0] = 0.25*coordinate_dofs[0] + 0.75*coordinate_dofs[2];
y[1] = 0.25*coordinate_dofs[1] + 0.75*coordinate_dofs[3];
f.evaluate(vals, y, c);
- result = (J[0]*vals[0] + J[2]*vals[1]);
- values[8] = result;
+ values[8] = (J[0]*vals[0] + J[2]*vals[1]);
result = 0.0;
double X_9[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.324318304589, [...]
int D_9[36][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
@@ -6832,7 +6806,7 @@ public:
result = 0.0;
double X_10[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.324318304589, [...]
int D_10[36][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
- double W_10[36][1] = {{-0.00971097319454}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.0009808079 [...]
+ double W_10[36][1] = {{-0.00971097319453}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.0009808079 [...]
double copy_10[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6860,7 +6834,7 @@ public:
result = 0.0;
double X_11[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.324318304589, [...]
int D_11[36][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
- double W_11[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444266}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931 [...]
+ double W_11[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444265}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931 [...]
double copy_11[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6916,7 +6890,7 @@ public:
result = 0.0;
double X_13[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.324318304589, [...]
int D_13[36][1] = {{1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}};
- double W_13[36][1] = {{-0.00971097319454}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.0009808079 [...]
+ double W_13[36][1] = {{-0.00971097319453}, {-0.0159756941744}, {-0.0129148084988}, {-0.00602410954055}, {-0.00140335236045}, {-8.83197279225e-05}, {-0.014499997977}, {-0.0238542037517}, {-0.0192838239128}, {-0.0089949353583}, {-0.00209542400951}, {-0.000131875132445}, {-0.00678703358623}, {-0.0111654692844}, {-0.00902620543637}, {-0.00421027151037}, {-0.000980807938907}, {-6.17269708946e-05}, {0.00678703358623}, {0.0111654692844}, {0.00902620543637}, {0.00421027151037}, {0.0009808079 [...]
double copy_13[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6944,7 +6918,7 @@ public:
result = 0.0;
double X_14[36][2] = {{0.0327753666145, 0.0293164271598}, {0.0287653330126, 0.148078599668}, {0.022386872978, 0.336984690281}, {0.0149015633667, 0.558671518772}, {0.00779187470129, 0.76923386203}, {0.00246669715267, 0.92694567132}, {0.164429241595, 0.0293164271598}, {0.14431148695, 0.148078599668}, {0.112311681781, 0.336984690281}, {0.0747589734626, 0.558671518772}, {0.0390907007328, 0.76923386203}, {0.0123750604174, 0.92694567132}, {0.369529924372, 0.0293164271598}, {0.324318304589, [...]
int D_14[36][1] = {{1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}, {1}};
- double W_14[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444266}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931 [...]
+ double W_14[36][1] = {{-0.0056494841656}, {-0.00645290853773}, {0.000132112736967}, {0.00571336122195}, {0.00492388644484}, {0.00133303229957}, {-0.0118962371707}, {-0.0135880247038}, {0.000278192558146}, {0.0120307444265}, {0.010368330848}, {0.00280699404177}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931307}, {-0.015429623211}, {-0.0176239005959}, {0.0003608205091}, {0.0156040814239}, {0.0134479025608}, {0.00364071931 [...]
double copy_14[2];
// Loop over points
for (unsigned int r = 0; r < 36; r++)
@@ -6988,12 +6962,12 @@ public:
compute_jacobian_inverse_triangle_2d(K, detJ, J);
// Evaluate function and change variables
- vertex_values[0] = dof_values[3]*K[2]*3.0 + dof_values[4]*(K[2]*(-3.0)) + dof_values[5]*K[2] + dof_values[6]*K[0]*3.0 + dof_values[7]*(K[0]*(-3.0)) + dof_values[8]*K[0] + dof_values[11]*(K[2]*(1.1990408666e-14)) + dof_values[14]*(K[0]*(-1.07435785403e-14));
- vertex_values[2] = dof_values[0]*K[2]*3.0 + dof_values[1]*(K[2]*(-3.0)) + dof_values[2]*K[2] + dof_values[6]*(K[0] + K[2]) + dof_values[7]*(K[0]*(-3.0) + K[2]*(-3.0)) + dof_values[8]*(K[0]*3.0 + K[2]*3.0) + dof_values[9]*(K[2]*(-1.52100554374e-14)) + dof_values[10]*(K[2]*(-2.65343302885e-14)) + dof_values[11]*(K[2]*(2.44249065418e-14)) + dof_values[12]*(K[2]*(1.44051437445e-14)) + dof_values[14]*(K[0]*(1.10167927423e-14) + K[2]*(3.43058914609e-14));
- vertex_values[4] = dof_values[0]*(K[0]*(-1.0)) + dof_values[1]*K[0]*3.0 + dof_values[2]*(K[0]*(-3.0)) + dof_values[3]*(K[0] + K[2]) + dof_values[4]*(K[0]*(-3.0) + K[2]*(-3.0)) + dof_values[5]*(K[0]*3.0 + K[2]*3.0) + dof_values[9]*(K[0]*(-1.1990408666e-14)) + dof_values[11]*(K[0]*(2.13162820728e-14) + K[2]*(-1.06581410364e-14)) + dof_values[12]*(K[0]*(1.14203343109e-14)) + dof_values[14]*(K[0]*(2.54750955873e-14));
- vertex_values[1] = dof_values[3]*K[3]*3.0 + dof_values[4]*(K[3]*(-3.0)) + dof_values[5]*K[3] + dof_values[6]*K[1]*3.0 + dof_values[7]*(K[1]*(-3.0)) + dof_values[8]*K[1] + dof_values[11]*(K[3]*(1.1990408666e-14)) + dof_values[14]*(K[1]*(-1.07435785403e-14));
- vertex_values[3] = dof_values[0]*K[3]*3.0 + dof_values[1]*(K[3]*(-3.0)) + dof_values[2]*K[3] + dof_values[6]*(K[1] + K[3]) + dof_values[7]*(K[1]*(-3.0) + K[3]*(-3.0)) + dof_values[8]*(K[1]*3.0 + K[3]*3.0) + dof_values[9]*(K[3]*(-1.52100554374e-14)) + dof_values[10]*(K[3]*(-2.65343302885e-14)) + dof_values[11]*(K[3]*(2.44249065418e-14)) + dof_values[12]*(K[3]*(1.44051437445e-14)) + dof_values[14]*(K[1]*(1.10167927423e-14) + K[3]*(3.43058914609e-14));
- vertex_values[5] = dof_values[0]*(K[1]*(-1.0)) + dof_values[1]*K[1]*3.0 + dof_values[2]*(K[1]*(-3.0)) + dof_values[3]*(K[1] + K[3]) + dof_values[4]*(K[1]*(-3.0) + K[3]*(-3.0)) + dof_values[5]*(K[1]*3.0 + K[3]*3.0) + dof_values[9]*(K[1]*(-1.1990408666e-14)) + dof_values[11]*(K[1]*(2.13162820728e-14) + K[3]*(-1.06581410364e-14)) + dof_values[12]*(K[1]*(1.14203343109e-14)) + dof_values[14]*(K[1]*(2.54750955873e-14));
+ vertex_values[0] = dof_values[3]*K[2]*3.0 + dof_values[4]*(K[2]*(-3.0)) + dof_values[5]*K[2] + dof_values[6]*K[0]*3.0 + dof_values[7]*(K[0]*(-3.0)) + dof_values[8]*K[0] + dof_values[11]*(K[2]*(1.57651669497e-14));
+ vertex_values[2] = dof_values[0]*K[2]*3.0 + dof_values[1]*(K[2]*(-3.0)) + dof_values[2]*K[2] + dof_values[6]*(K[0] + K[2]) + dof_values[7]*(K[0]*(-3.0) + K[2]*(-3.0)) + dof_values[8]*(K[0]*3.0 + K[2]*3.0) + dof_values[12]*(K[2]*(1.42108547152e-14)) + dof_values[13]*(K[2]*(-2.39808173319e-14)) + dof_values[14]*(K[2]*(3.73034936274e-14));
+ vertex_values[4] = dof_values[0]*(K[0]*(-1.0)) + dof_values[1]*K[0]*3.0 + dof_values[2]*(K[0]*(-3.0)) + dof_values[3]*(K[0] + K[2]) + dof_values[4]*(K[0]*(-3.0) + K[2]*(-3.0)) + dof_values[5]*(K[0]*3.0 + K[2]*3.0) + dof_values[9]*(K[0]*(-1.06581410364e-14)) + dof_values[12]*(K[0]*(1.20778854552e-14)) + dof_values[13]*(K[0]*(-1.72425591149e-14)) + dof_values[14]*(K[0]*(2.06691514456e-14));
+ vertex_values[1] = dof_values[3]*K[3]*3.0 + dof_values[4]*(K[3]*(-3.0)) + dof_values[5]*K[3] + dof_values[6]*K[1]*3.0 + dof_values[7]*(K[1]*(-3.0)) + dof_values[8]*K[1] + dof_values[11]*(K[3]*(1.57651669497e-14));
+ vertex_values[3] = dof_values[0]*K[3]*3.0 + dof_values[1]*(K[3]*(-3.0)) + dof_values[2]*K[3] + dof_values[6]*(K[1] + K[3]) + dof_values[7]*(K[1]*(-3.0) + K[3]*(-3.0)) + dof_values[8]*(K[1]*3.0 + K[3]*3.0) + dof_values[12]*(K[3]*(1.42108547152e-14)) + dof_values[13]*(K[3]*(-2.39808173319e-14)) + dof_values[14]*(K[3]*(3.73034936274e-14));
+ vertex_values[5] = dof_values[0]*(K[1]*(-1.0)) + dof_values[1]*K[1]*3.0 + dof_values[2]*(K[1]*(-3.0)) + dof_values[3]*(K[1] + K[3]) + dof_values[4]*(K[1]*(-3.0) + K[3]*(-3.0)) + dof_values[5]*(K[1]*3.0 + K[3]*3.0) + dof_values[9]*(K[1]*(-1.06581410364e-14)) + dof_values[12]*(K[1]*(1.20778854552e-14)) + dof_values[13]*(K[1]*(-1.72425591149e-14)) + dof_values[14]*(K[1]*(2.06691514456e-14));
}
void tabulate_dof_coordinates(double * dof_coordinates,
@@ -7108,6 +7082,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7196,6 +7194,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7303,6 +7386,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7406,6 +7513,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7527,6 +7731,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 0;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 15;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7649,6 +7877,106 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+
+ break;
+ }
+ case 1:
+ {
+
+ break;
+ }
+ case 2:
+ {
+
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 3;
+ dofs[1] = 4;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 6;
+ dofs[1] = 7;
+ dofs[2] = 8;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ dofs[12] = 12;
+ dofs[13] = 13;
+ dofs[14] = 14;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7693,6 +8021,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'quadrature' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'quadrature'
+
// Compute Jacobian
double J[4];
compute_jacobian_triangle_2d(J, coordinate_dofs);
@@ -7717,20 +8060,20 @@ public:
// Values of basis functions at quadrature points.
static const double FE0_C0_D01[6][15] = \
- {{-2.84278477949184, 2.60133169408135, -0.632753871377718, 1.85982644165773, -0.635415018413128, 1.61571220921182, 2.32942687730161, -3.32302980327736, -5.80496552817115, 16.7566247559307, 28.2503375501111, -10.3125950058212, -5.56045205045065, 17.1175226659555, -9.82958337834074},
- {-1.79074768975489, 5.75744296329208, -10.10108767901, 4.75292843843425, -11.6818044606508, 7.13890693033065, -0.021689692394002, 0.104074179473834, -0.265803924839846, -16.8318933605097, 0.917612187043342, -25.93348252975, 16.7566247559308, 3.45115998442157, 29.6218074867925},
- {-0.730727158911757, 0.369744598943501, -1.15078897513995, 1.3815974724088, -1.67148522593758, 0.499918661642905, -11.562274986093, 6.6872894314358, -1.92358289948969, 14.9533198088331, -30.9705674032021, -19.4780023354879, 3.68187849877406, 6.7640427126909, 6.50870313497023},
- {0.565452740291985, -0.671420571424322, 2.08901867938574, -1.60411004260619, 2.74873517605273, -1.05036137707154, 1.90640810299339, -0.306199418639676, 0.748063316684344, -1.03300141506715, 15.1714233065577, 29.9298875179393, -5.87553297436219, -4.86317762376486, -10.3865730231417},
- {0.793731867204473, 0.0134168093131892, 0.0345065371732516, -0.976342443596814, 0.351804343471491, 0.148104039219088, -2.56551891256163, -1.543441746175, -2.01177024702696, 19.6926017532208, 9.24055761475929, -13.0772891857657, -1.03300141506724, -7.82861046966403, -1.82610576392334},
- {-0.957138495883974, -2.14608846111384, -0.00427037407145336, 2.74910419187173, -1.43784293086166, -1.7876953219163, 3.34906346933697, -2.09584669297285, 1.09505522467394, -15.4312459652902, 2.32121430766113, 18.0366977074507, 10.1368887622925, 18.6226537852274, 17.9196569598769}};
+ {{-2.84278477949184, 2.60133169408134, -0.63275387137772, 1.85982644165773, -0.635415018413127, 1.61571220921182, 2.3294268773016, -3.32302980327736, -5.80496552817115, 16.7566247559312, 28.250337550112, -10.3125950058216, -5.56045205045085, 17.1175226659561, -9.82958337834105},
+ {-1.79074768975489, 5.75744296329209, -10.10108767901, 4.75292843843423, -11.6818044606508, 7.13890693033065, -0.0216896923939998, 0.104074179473834, -0.265803924839833, -16.8318933605102, 0.917612187043368, -25.9334825297509, 16.7566247559313, 3.45115998442165, 29.6218074867935},
+ {-0.730727158911758, 0.369744598943503, -1.15078897513995, 1.3815974724088, -1.67148522593759, 0.499918661642909, -11.562274986093, 6.6872894314358, -1.9235828994897, 14.9533198088336, -30.9705674032031, -19.4780023354885, 3.68187849877417, 6.76404271269111, 6.5087031349704},
+ {0.565452740291985, -0.671420571424322, 2.08901867938574, -1.60411004260618, 2.74873517605272, -1.05036137707154, 1.90640810299339, -0.306199418639675, 0.748063316684348, -1.03300141506721, 15.1714233065582, 29.9298875179403, -5.87553297436238, -4.86317762376502, -10.386573023142},
+ {0.793731867204473, 0.013416809313187, 0.0345065371732498, -0.976342443596812, 0.351804343471489, 0.148104039219091, -2.56551891256163, -1.543441746175, -2.01177024702696, 19.6926017532215, 9.2405576147596, -13.0772891857662, -1.03300141506726, -7.82861046966431, -1.82610576392339},
+ {-0.957138495883979, -2.14608846111384, -0.00427037407144903, 2.74910419187172, -1.43784293086165, -1.7876953219163, 3.34906346933697, -2.09584669297284, 1.09505522467394, -15.4312459652908, 2.32121430766121, 18.0366977074513, 10.1368887622929, 18.6226537852281, 17.9196569598775}};
static const double FE0_C1_D10[6][15] = \
- {{10.10108767901, -5.7574429632921, 1.7907476897549, -0.0216896923939655, 0.104074179473834, -0.265803924839887, 4.75292843843424, -11.6818044606508, 7.13890693033065, 16.7566247559307, 27.3788177817851, -11.8221115243628, -16.8318933605096, -22.0002485858417, 13.7614167296771},
- {0.632753871377706, -2.60133169408132, 2.84278477949182, 2.32942687730165, -3.32302980327736, -5.80496552817115, 1.85982644165772, -0.63541501841312, 1.61571220921181, -5.56045205045061, 0.0460924187174552, 19.7390011677438, 16.7566247559306, 5.19419952107392, 29.6218074867923},
- {1.15078897513995, -0.369744598943472, 0.730727158911739, -11.562274986093, 6.6872894314358, -1.9235828994897, 1.3815974724088, -1.67148522593759, 0.499918661642887, 3.68187849877416, 9.01872361692117, 2.60348125398806, 14.9533198088331, -32.3537285391062, -17.0822969730473},
- {-0.0345065371732545, -0.0134168093131667, -0.793731867204488, -2.56551891256162, -1.543441746175, -2.01177024702697, -0.976342443596817, 0.351804343471491, 0.148104039219076, -1.03300141506717, -5.49575921638676, -5.86672266110032, 19.6926017532208, -6.70498584012899, 14.5412022323982},
- {-2.08901867938574, 0.671420571424334, -0.565452740291991, 1.90640810299341, -0.306199418639673, 0.748063316684322, -1.60411004260618, 2.74873517605271, -1.05036137707154, -5.87553297436212, -11.4266249081851, 0.981651146274372, -1.03300141506719, 33.505754576225, -1.82610576392324},
- {0.00427037407145088, 2.14608846111387, 0.957138495883958, 3.34906346933699, -2.09584669297285, 1.09505522467393, 2.74910419187172, -1.43784293086166, -1.78769532191632, 10.1368887622926, 24.8302050469698, 7.16786278395084, -15.4312459652903, 16.7808455688634, -7.0081182956628}};
+ {{10.10108767901, -5.75744296329211, 1.7907476897549, -0.0216896923939816, 0.104074179473843, -0.265803924839893, 4.75292843843425, -11.6818044606508, 7.13890693033066, 16.7566247559313, 27.3788177817861, -11.8221115243633, -16.8318933605101, -22.0002485858425, 13.7614167296776},
+ {0.6327538713777, -2.60133169408131, 2.84278477949182, 2.32942687730164, -3.32302980327735, -5.80496552817115, 1.85982644165772, -0.635415018413113, 1.61571220921181, -5.56045205045079, 0.0460924187174457, 19.7390011677444, 16.7566247559312, 5.19419952107411, 29.6218074867933},
+ {1.15078897513995, -0.369744598943476, 0.730727158911736, -11.562274986093, 6.6872894314358, -1.9235828994897, 1.3815974724088, -1.6714852259376, 0.499918661642889, 3.68187849877428, 9.01872361692145, 2.60348125398815, 14.9533198088336, -32.3537285391073, -17.0822969730478},
+ {-0.0345065371732557, -0.0134168093131655, -0.793731867204486, -2.56551891256162, -1.543441746175, -2.01177024702697, -0.976342443596815, 0.351804343471493, 0.148104039219073, -1.0330014150672, -5.49575921638694, -5.8667226611005, 19.6926017532215, -6.70498584012923, 14.5412022323987},
+ {-2.08901867938574, 0.671420571424334, -0.565452740291992, 1.9064081029934, -0.306199418639673, 0.748063316684323, -1.60411004260618, 2.74873517605272, -1.05036137707154, -5.87553297436232, -11.4266249081855, 0.981651146274408, -1.03300141506722, 33.5057545762261, -1.82610576392331},
+ {0.00427037407144659, 2.14608846111387, 0.95713849588396, 3.34906346933699, -2.09584669297284, 1.09505522467392, 2.74910419187172, -1.43784293086166, -1.78769532191632, 10.1368887622929, 24.8302050469707, 7.1678627839511, -15.4312459652908, 16.780845568864, -7.00811829566303}};
// Reset values in the element tensor.
for (unsigned int r = 0; r < 225; r++)
@@ -7799,6 +8142,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 6
+ // quadrature_degree: 6
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 777
@@ -7823,231 +8181,231 @@ public:
const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
// Compute element tensor
- A[0] = 0.0216269841269843*G0_0_0 - 0.0111607142857143*G0_0_1 - 0.0111607142857143*G0_1_0 + 0.0573412698412703*G0_1_1;
- A[1] = -0.0298611111111111*G0_0_0 + 0.00595238095238089*G0_0_1 + 0.00992063492063497*G0_1_0 - 0.0487103174603178*G0_1_1;
- A[2] = 0.0176587301587301*G0_0_0 - 0.00471230158730154*G0_0_1 - 0.00471230158730159*G0_1_0 + 0.0176587301587302*G0_1_1;
- A[3] = -0.0154265873015874*G0_0_0 - 0.0244791666666667*G0_0_1 + 0.00905257936507938*G0_1_0 + 0.0186011904761907*G0_1_1;
- A[4] = 0.0174603174603173*G0_0_0 + 0.0216765873015871*G0_0_1 - 0.00570436507936507*G0_1_0 - 0.0119047619047619*G0_1_1;
- A[5] = -0.0238591269841269*G0_0_0 - 0.0326636904761905*G0_0_1 + 0.00682043650793654*G0_1_0 + 0.0111607142857142*G0_1_1;
- A[6] = -0.0131448412698412*G0_0_0 - 0.00880456349206351*G0_0_1 + 0.0306795634920637*G0_1_0 + 0.0238591269841271*G0_1_1;
- A[7] = 0.027777777777778*G0_0_0 + 0.0141369047619048*G0_0_1 - 0.0727678571428578*G0_1_0 - 0.0611111111111116*G0_1_1;
- A[8] = -0.0205853174603176*G0_0_0 - 0.00706845238095234*G0_0_1 + 0.0582093253968257*G0_1_0 + 0.0511408730158734*G0_1_1;
- A[9] = 0.0434926790015489*G0_0_0 - 0.0231493291459878*G0_0_1 - 0.062433039211904*G0_1_0 + 0.0350747411302844*G0_1_1;
- A[10] = 0.0652955661583499*G0_0_0 - 0.051549131177644*G0_0_1 - 0.127154523571519*G0_1_0 + 0.0652955661583486*G0_1_1;
- A[11] = -0.0168650793650807*G0_0_0 - 0.00744047619047546*G0_0_1 + 0.0719246031746*G0_1_0 - 0.010912698412699*G0_1_1;
- A[12] = 0.0350747411302842*G0_0_0 + 0.128373552536837*G0_0_1 - 0.0119254119842966*G0_1_0 - 0.124866078423811*G0_1_1;
- A[13] = -0.100520805796406*G0_0_0 - 0.0631476856926132*G0_0_1 + 0.0708800553692599*G0_1_0 - 0.0850560664431105*G0_1_1;
- A[14] = 0.0620039682539667*G0_0_0 + 0.0959821428571382*G0_0_1 - 0.0210813492063486*G0_1_0 + 0.053075396825397*G0_1_1;
- A[15] = -0.0298611111111111*G0_0_0 + 0.00992063492063497*G0_0_1 + 0.00595238095238089*G0_1_0 - 0.0487103174603178*G0_1_1;
- A[16] = 0.0686507936507938*G0_0_0 - 0.0128968253968254*G0_0_1 - 0.0128968253968254*G0_1_0 + 0.0686507936507944*G0_1_1;
- A[17] = -0.0487103174603175*G0_0_0 + 0.00595238095238087*G0_0_1 + 0.00992063492063497*G0_1_0 - 0.0298611111111114*G0_1_1;
+ A[0] = 0.0216269841269843*G0_0_0 - 0.0111607142857143*G0_0_1 - 0.0111607142857143*G0_1_0 + 0.0573412698412704*G0_1_1;
+ A[1] = -0.0298611111111111*G0_0_0 + 0.00595238095238089*G0_0_1 + 0.00992063492063498*G0_1_0 - 0.0487103174603178*G0_1_1;
+ A[2] = 0.0176587301587301*G0_0_0 - 0.00471230158730155*G0_0_1 - 0.00471230158730158*G0_1_0 + 0.0176587301587302*G0_1_1;
+ A[3] = -0.0154265873015874*G0_0_0 - 0.0244791666666668*G0_0_1 + 0.00905257936507937*G0_1_0 + 0.0186011904761906*G0_1_1;
+ A[4] = 0.0174603174603174*G0_0_0 + 0.0216765873015871*G0_0_1 - 0.00570436507936506*G0_1_0 - 0.0119047619047618*G0_1_1;
+ A[5] = -0.0238591269841269*G0_0_0 - 0.0326636904761905*G0_0_1 + 0.00682043650793654*G0_1_0 + 0.0111607142857141*G0_1_1;
+ A[6] = -0.0131448412698413*G0_0_0 - 0.00880456349206354*G0_0_1 + 0.0306795634920637*G0_1_0 + 0.0238591269841271*G0_1_1;
+ A[7] = 0.027777777777778*G0_0_0 + 0.0141369047619049*G0_0_1 - 0.0727678571428578*G0_1_0 - 0.0611111111111117*G0_1_1;
+ A[8] = -0.0205853174603176*G0_0_0 - 0.00706845238095234*G0_0_1 + 0.0582093253968257*G0_1_0 + 0.0511408730158735*G0_1_1;
+ A[9] = 0.0434926790015507*G0_0_0 - 0.0231493291459886*G0_0_1 - 0.0624330392119065*G0_1_0 + 0.0350747411302857*G0_1_1;
+ A[10] = 0.0652955661583518*G0_0_0 - 0.051549131177646*G0_0_1 - 0.127154523571524*G0_1_0 + 0.0652955661583511*G0_1_1;
+ A[11] = -0.0168650793650812*G0_0_0 - 0.00744047619047573*G0_0_1 + 0.0719246031746028*G0_1_0 - 0.0109126984126999*G0_1_1;
+ A[12] = 0.0350747411302855*G0_0_0 + 0.128373552536842*G0_0_1 - 0.0119254119842972*G0_1_0 - 0.124866078423815*G0_1_1;
+ A[13] = -0.100520805796409*G0_0_0 - 0.0631476856926157*G0_0_1 + 0.0708800553692621*G0_1_0 - 0.0850560664431142*G0_1_1;
+ A[14] = 0.0620039682539688*G0_0_0 + 0.0959821428571413*G0_0_1 - 0.0210813492063495*G0_1_0 + 0.0530753968253992*G0_1_1;
+ A[15] = -0.0298611111111111*G0_0_0 + 0.00992063492063498*G0_0_1 + 0.00595238095238089*G0_1_0 - 0.0487103174603178*G0_1_1;
+ A[16] = 0.0686507936507939*G0_0_0 - 0.0128968253968255*G0_0_1 - 0.0128968253968255*G0_1_0 + 0.0686507936507943*G0_1_1;
+ A[17] = -0.0487103174603176*G0_0_0 + 0.00595238095238089*G0_0_1 + 0.00992063492063498*G0_1_0 - 0.0298611111111113*G0_1_1;
A[18] = 0.0174603174603174*G0_0_0 + 0.0231646825396825*G0_0_1 - 0.00421626984126976*G0_1_0 - 0.0104166666666667*G0_1_1;
- A[19] = -0.0438492063492063*G0_0_0 - 0.0532738095238095*G0_0_1 + 0.00942460317460318*G0_1_0 + 0.0178571428571429*G0_1_1;
- A[20] = 0.0611111111111113*G0_0_0 + 0.0752480158730162*G0_0_1 - 0.0116567460317461*G0_1_0 - 0.0252976190476191*G0_1_1;
- A[21] = 0.0104166666666666*G0_0_0 + 0.00421626984126973*G0_0_1 - 0.0231646825396826*G0_1_0 - 0.0174603174603175*G0_1_1;
- A[22] = -0.0178571428571429*G0_0_0 - 0.00942460317460317*G0_0_1 + 0.0532738095238099*G0_1_0 + 0.0438492063492066*G0_1_1;
- A[23] = 0.0252976190476192*G0_0_0 + 0.0116567460317461*G0_0_1 - 0.0752480158730165*G0_1_0 - 0.0611111111111117*G0_1_1;
- A[24] = -0.0785674201318339*G0_0_0 - 0.00982092751647953*G0_0_1 + 0.136089995585501*G0_1_0 + 0.0701494822605691*G0_1_1;
- A[25] = -0.0532674355502326*G0_0_0 - 0.00859152186294119*G0_0_1 + 0.183858567866929*G0_1_0 + 0.0841969142568198*G0_1_1;
- A[26] = -0.0049603174603145*G0_0_0 + 0.0198412698412682*G0_0_1 - 0.162698412698407*G0_1_0 - 0.102182539682537*G0_1_1;
- A[27] = -0.0701494822605685*G0_0_0 - 0.1360899955855*G0_0_1 + 0.00982092751647951*G0_1_0 + 0.0785674201318346*G0_1_1;
- A[28] = 0.0463942180598786*G0_0_0 + 0.0489716746187606*G0_0_1 - 0.0128872827944101*G0_1_0 + 0.0309294787065843*G0_1_1;
- A[29] = -0.124007936507933*G0_0_0 - 0.240575396825387*G0_0_1 + 0.0173611111111106*G0_1_0 + 0.0436507936507933*G0_1_1;
- A[30] = 0.0176587301587301*G0_0_0 - 0.00471230158730159*G0_0_1 - 0.00471230158730154*G0_1_0 + 0.0176587301587302*G0_1_1;
- A[31] = -0.0487103174603175*G0_0_0 + 0.00992063492063497*G0_0_1 + 0.00595238095238087*G0_1_0 - 0.0298611111111114*G0_1_1;
- A[32] = 0.0573412698412701*G0_0_0 - 0.0111607142857143*G0_0_1 - 0.0111607142857143*G0_1_0 + 0.0216269841269844*G0_1_1;
- A[33] = -0.0238591269841271*G0_0_0 - 0.0306795634920636*G0_0_1 + 0.00880456349206354*G0_1_0 + 0.0131448412698413*G0_1_1;
- A[34] = 0.0611111111111114*G0_0_0 + 0.0727678571428576*G0_0_1 - 0.0141369047619048*G0_1_0 - 0.0277777777777779*G0_1_1;
- A[35] = -0.0511408730158732*G0_0_0 - 0.0582093253968256*G0_0_1 + 0.00706845238095235*G0_1_0 + 0.0205853174603176*G0_1_1;
- A[36] = -0.0186011904761906*G0_0_0 - 0.00905257936507938*G0_0_1 + 0.0244791666666668*G0_1_0 + 0.0154265873015874*G0_1_1;
- A[37] = 0.011904761904762*G0_0_0 + 0.00570436507936506*G0_0_1 - 0.0216765873015873*G0_1_0 - 0.0174603174603174*G0_1_1;
- A[38] = -0.0111607142857143*G0_0_0 - 0.00682043650793651*G0_0_1 + 0.0326636904761907*G0_1_0 + 0.0238591269841271*G0_1_1;
- A[39] = 0.124866078423811*G0_0_0 + 0.0119254119842966*G0_0_1 - 0.128373552536838*G0_1_0 - 0.0350747411302846*G0_1_1;
- A[40] = -0.00343660874517758*G0_0_0 - 0.0171830437258811*G0_0_1 - 0.0515491311776426*G0_1_0 - 0.00343660874517666*G0_1_1;
- A[41] = 0.100198412698408*G0_0_0 - 0.071924603174601*G0_0_1 + 0.102678571428568*G0_1_0 + 0.118055555555553*G0_1_1;
- A[42] = -0.0350747411302849*G0_0_0 + 0.062433039211904*G0_0_1 + 0.0231493291459879*G0_1_0 - 0.0434926790015497*G0_1_1;
- A[43] = -0.0231971090299389*G0_0_0 + 0.0012887282794408*G0_0_1 + 0.0322182069860271*G0_1_0 - 0.018042195912174*G0_1_1;
- A[44] = -0.0620039682539678*G0_0_0 + 0.146081349206342*G0_0_1 + 0.0409226190476185*G0_1_0 - 0.0649801587301586*G0_1_1;
- A[45] = -0.0154265873015874*G0_0_0 + 0.00905257936507938*G0_0_1 - 0.0244791666666667*G0_1_0 + 0.0186011904761907*G0_1_1;
+ A[19] = -0.0438492063492064*G0_0_0 - 0.0532738095238097*G0_0_1 + 0.0094246031746032*G0_1_0 + 0.0178571428571429*G0_1_1;
+ A[20] = 0.0611111111111113*G0_0_0 + 0.0752480158730163*G0_0_1 - 0.0116567460317461*G0_1_0 - 0.0252976190476191*G0_1_1;
+ A[21] = 0.0104166666666667*G0_0_0 + 0.00421626984126976*G0_0_1 - 0.0231646825396826*G0_1_0 - 0.0174603174603175*G0_1_1;
+ A[22] = -0.017857142857143*G0_0_0 - 0.00942460317460322*G0_0_1 + 0.0532738095238099*G0_1_0 + 0.0438492063492066*G0_1_1;
+ A[23] = 0.0252976190476193*G0_0_0 + 0.0116567460317461*G0_0_1 - 0.0752480158730165*G0_1_0 - 0.0611111111111117*G0_1_1;
+ A[24] = -0.0785674201318373*G0_0_0 - 0.00982092751648001*G0_0_1 + 0.136089995585505*G0_1_0 + 0.0701494822605712*G0_1_1;
+ A[25] = -0.0532674355502346*G0_0_0 - 0.00859152186294132*G0_0_1 + 0.183858567866935*G0_1_0 + 0.0841969142568221*G0_1_1;
+ A[26] = -0.00496031746031483*G0_0_0 + 0.0198412698412691*G0_0_1 - 0.162698412698412*G0_1_0 - 0.10218253968254*G0_1_1;
+ A[27] = -0.0701494822605709*G0_0_0 - 0.136089995585505*G0_0_1 + 0.00982092751648001*G0_1_0 + 0.0785674201318371*G0_1_1;
+ A[28] = 0.0463942180598797*G0_0_0 + 0.0489716746187619*G0_0_1 - 0.0128872827944102*G0_1_0 + 0.0309294787065861*G0_1_1;
+ A[29] = -0.124007936507938*G0_0_0 - 0.240575396825396*G0_0_1 + 0.0173611111111113*G0_1_0 + 0.043650793650795*G0_1_1;
+ A[30] = 0.0176587301587301*G0_0_0 - 0.00471230158730158*G0_0_1 - 0.00471230158730155*G0_1_0 + 0.0176587301587302*G0_1_1;
+ A[31] = -0.0487103174603176*G0_0_0 + 0.00992063492063498*G0_0_1 + 0.00595238095238089*G0_1_0 - 0.0298611111111113*G0_1_1;
+ A[32] = 0.0573412698412702*G0_0_0 - 0.0111607142857143*G0_0_1 - 0.0111607142857143*G0_1_0 + 0.0216269841269844*G0_1_1;
+ A[33] = -0.023859126984127*G0_0_0 - 0.0306795634920637*G0_0_1 + 0.00880456349206353*G0_1_0 + 0.0131448412698413*G0_1_1;
+ A[34] = 0.0611111111111115*G0_0_0 + 0.0727678571428578*G0_0_1 - 0.0141369047619049*G0_1_0 - 0.027777777777778*G0_1_1;
+ A[35] = -0.0511408730158732*G0_0_0 - 0.0582093253968257*G0_0_1 + 0.00706845238095236*G0_1_0 + 0.0205853174603176*G0_1_1;
+ A[36] = -0.0186011904761907*G0_0_0 - 0.0090525793650794*G0_0_1 + 0.0244791666666669*G0_1_0 + 0.0154265873015875*G0_1_1;
+ A[37] = 0.011904761904762*G0_0_0 + 0.00570436507936508*G0_0_1 - 0.0216765873015873*G0_1_0 - 0.0174603174603175*G0_1_1;
+ A[38] = -0.0111607142857144*G0_0_0 - 0.00682043650793654*G0_0_1 + 0.0326636904761907*G0_1_0 + 0.0238591269841271*G0_1_1;
+ A[39] = 0.124866078423815*G0_0_0 + 0.0119254119842972*G0_0_1 - 0.128373552536842*G0_1_0 - 0.0350747411302856*G0_1_1;
+ A[40] = -0.00343660874517777*G0_0_0 - 0.0171830437258817*G0_0_1 - 0.0515491311776443*G0_1_0 - 0.00343660874517643*G0_1_1;
+ A[41] = 0.100198412698412*G0_0_0 - 0.0719246031746036*G0_0_1 + 0.102678571428572*G0_1_0 + 0.118055555555557*G0_1_1;
+ A[42] = -0.035074741130286*G0_0_0 + 0.0624330392119065*G0_0_1 + 0.0231493291459887*G0_1_0 - 0.0434926790015511*G0_1_1;
+ A[43] = -0.0231971090299393*G0_0_0 + 0.00128872827944079*G0_0_1 + 0.0322182069860282*G0_1_0 - 0.0180421959121749*G0_1_1;
+ A[44] = -0.0620039682539698*G0_0_0 + 0.146081349206348*G0_0_1 + 0.0409226190476199*G0_1_0 - 0.0649801587301603*G0_1_1;
+ A[45] = -0.0154265873015874*G0_0_0 + 0.00905257936507937*G0_0_1 - 0.0244791666666668*G0_1_0 + 0.0186011904761906*G0_1_1;
A[46] = 0.0174603174603174*G0_0_0 - 0.00421626984126976*G0_0_1 + 0.0231646825396825*G0_1_0 - 0.0104166666666667*G0_1_1;
- A[47] = -0.0238591269841271*G0_0_0 + 0.00880456349206354*G0_0_1 - 0.0306795634920636*G0_1_0 + 0.0131448412698413*G0_1_1;
- A[48] = 0.0216269841269843*G0_0_0 + 0.0327876984126987*G0_0_1 + 0.0327876984126987*G0_1_0 + 0.101289682539683*G0_1_1;
- A[49] = -0.0298611111111113*G0_0_0 - 0.0358134920634922*G0_0_1 - 0.0397817460317463*G0_1_0 - 0.0944444444444448*G0_1_1;
- A[50] = 0.0176587301587301*G0_0_0 + 0.0223710317460317*G0_0_1 + 0.0223710317460317*G0_1_0 + 0.0447420634920634*G0_1_1;
- A[51] = 0.0205853174603176*G0_0_0 + 0.0135168650793652*G0_0_1 + 0.0787946428571432*G0_1_0 + 0.0205853174603176*G0_1_1;
- A[52] = -0.027777777777778*G0_0_0 - 0.0136408730158731*G0_0_1 - 0.100545634920636*G0_1_0 - 0.0252976190476193*G0_1_1;
- A[53] = 0.0131448412698412*G0_0_0 + 0.00434027777777768*G0_0_1 + 0.0438244047619048*G0_1_0 + 0.0111607142857143*G0_1_1;
- A[54] = -0.0785674201318343*G0_0_0 + 0.0266568032590163*G0_0_1 - 0.152925871328036*G0_1_0 + 0.0420896893563414*G0_1_1;
- A[55] = -0.0352252396380562*G0_0_0 + 0.0794715772322013*G0_0_1 + 0.021049228564203*G0_1_0 + 0.115985545149699*G0_1_1;
- A[56] = -0.0451388888888867*G0_0_0 + 0.0434027777777767*G0_0_1 + 0.00570436507936481*G0_1_0 + 0.0520833333333316*G0_1_1;
- A[57] = 0.0350747411302847*G0_0_0 - 0.0932988114065537*G0_0_1 + 0.0470001531145815*G0_1_0 - 0.206239477846068*G0_1_1;
- A[58] = 0.100520805796406*G0_0_0 + 0.0373731201037923*G0_0_1 + 0.171400861165665*G0_1_0 + 0.193309241916163*G0_1_1;
- A[59] = 0.0620039682539675*G0_0_0 - 0.0339781746031718*G0_0_1 + 0.0830853174603163*G0_1_0 + 0.0401785714285732*G0_1_1;
- A[60] = 0.0174603174603173*G0_0_0 - 0.00570436507936507*G0_0_1 + 0.0216765873015871*G0_1_0 - 0.0119047619047619*G0_1_1;
- A[61] = -0.0438492063492063*G0_0_0 + 0.00942460317460318*G0_0_1 - 0.0532738095238095*G0_1_0 + 0.0178571428571429*G0_1_1;
- A[62] = 0.0611111111111114*G0_0_0 - 0.0141369047619048*G0_0_1 + 0.0727678571428576*G0_1_0 - 0.0277777777777779*G0_1_1;
- A[63] = -0.0298611111111113*G0_0_0 - 0.0397817460317463*G0_0_1 - 0.0358134920634922*G0_1_0 - 0.0944444444444448*G0_1_1;
- A[64] = 0.0686507936507941*G0_0_0 + 0.0815476190476196*G0_0_1 + 0.0815476190476196*G0_1_0 + 0.163095238095239*G0_1_1;
- A[65] = -0.0487103174603175*G0_0_0 - 0.0546626984126985*G0_0_1 - 0.0586309523809526*G0_1_0 - 0.0944444444444449*G0_1_1;
- A[66] = -0.0252976190476193*G0_0_0 - 0.0136408730158731*G0_0_1 - 0.100545634920636*G0_1_0 - 0.0277777777777779*G0_1_1;
- A[67] = 0.017857142857143*G0_0_0 + 0.00843253968253968*G0_0_1 + 0.0711309523809526*G0_1_0 + 0.0178571428571429*G0_1_1;
- A[68] = -0.0104166666666666*G0_0_0 - 0.00620039682539679*G0_0_1 - 0.033581349206349*G0_1_0 - 0.0119047619047618*G0_1_1;
- A[69] = 0.148716902392403*G0_0_0 + 0.00280597929042259*G0_0_1 + 0.294627825494385*G0_1_0;
- A[70] = -0.00687321749035419*G0_0_0 - 0.0472533702461735*G0_0_1 - 0.177844502562873*G0_1_0 - 0.103098262355288*G0_1_1;
- A[71] = 0.128968253968249*G0_0_0 - 0.0917658730158704*G0_0_1 - 0.0163690476190467*G0_1_0 - 0.178571428571424*G0_1_1;
- A[72] = -0.0701494822605693*G0_0_0 + 0.0659405133249319*G0_0_1 - 0.079970409777049*G0_1_0 + 0.134687005940288*G0_1_1;
- A[73] = -0.0463942180598787*G0_0_0 + 0.00257745655888145*G0_0_1 - 0.0592815008542884*G0_1_0 - 0.0412393049421134*G0_1_1;
- A[74] = -0.124007936507935*G0_0_0 + 0.116567460317454*G0_0_1 - 0.141369047619045*G0_1_0 + 0.142857142857138*G0_1_1;
- A[75] = -0.0238591269841269*G0_0_0 + 0.00682043650793654*G0_0_1 - 0.0326636904761905*G0_1_0 + 0.0111607142857142*G0_1_1;
- A[76] = 0.0611111111111113*G0_0_0 - 0.0116567460317461*G0_0_1 + 0.0752480158730162*G0_1_0 - 0.0252976190476191*G0_1_1;
- A[77] = -0.0511408730158732*G0_0_0 + 0.00706845238095235*G0_0_1 - 0.0582093253968256*G0_1_0 + 0.0205853174603176*G0_1_1;
- A[78] = 0.0176587301587301*G0_0_0 + 0.0223710317460317*G0_0_1 + 0.0223710317460317*G0_1_0 + 0.0447420634920634*G0_1_1;
- A[79] = -0.0487103174603175*G0_0_0 - 0.0586309523809526*G0_0_1 - 0.0546626984126985*G0_1_0 - 0.0944444444444449*G0_1_1;
- A[80] = 0.05734126984127*G0_0_0 + 0.0685019841269844*G0_0_1 + 0.0685019841269844*G0_1_0 + 0.101289682539683*G0_1_1;
- A[81] = 0.0111607142857143*G0_0_0 + 0.0043402777777777*G0_0_1 + 0.0438244047619049*G0_1_0 + 0.0131448412698412*G0_1_1;
- A[82] = -0.0119047619047619*G0_0_0 - 0.0062003968253968*G0_0_1 - 0.033581349206349*G0_1_0 - 0.0104166666666665*G0_1_1;
- A[83] = 0.0186011904761906*G0_0_0 + 0.00954861111111118*G0_0_1 + 0.0430803571428573*G0_1_0 + 0.0186011904761905*G0_1_1;
- A[84] = -0.0897913372935259*G0_0_0 - 0.0154328860973251*G0_0_1 - 0.195015560684377*G0_1_0 - 0.0420896893563413*G0_1_1;
- A[85] = -0.0266337177751162*G0_0_0 - 0.0107394023286764*G0_0_1 - 0.00730279358350018*G0_1_0 - 0.0128872827944117*G0_1_1;
- A[86] = -0.0381944444444409*G0_0_0 + 0.0359623015872999*G0_0_1 + 0.105406746031745*G0_1_0 + 0.126488095238092*G0_1_1;
- A[87] = -0.035074741130284*G0_0_0 - 0.0975077803421881*G0_0_1 - 0.0582240702762717*G0_1_0 - 0.164149788489726*G0_1_1;
- A[88] = 0.0231971090299388*G0_0_0 + 0.0244858373093799*G0_0_1 + 0.0554153160159658*G0_1_0 + 0.0747462402075818*G0_1_1;
- A[89] = -0.0620039682539664*G0_0_0 - 0.208085317460309*G0_0_1 - 0.102926587301585*G0_1_0 - 0.313988095238087*G0_1_1;
- A[90] = -0.0131448412698412*G0_0_0 + 0.0306795634920637*G0_0_1 - 0.00880456349206351*G0_1_0 + 0.0238591269841271*G0_1_1;
- A[91] = 0.0104166666666666*G0_0_0 - 0.0231646825396826*G0_0_1 + 0.00421626984126974*G0_1_0 - 0.0174603174603175*G0_1_1;
- A[92] = -0.0186011904761906*G0_0_0 + 0.0244791666666668*G0_0_1 - 0.00905257936507937*G0_1_0 + 0.0154265873015874*G0_1_1;
- A[93] = 0.0205853174603176*G0_0_0 + 0.0787946428571432*G0_0_1 + 0.0135168650793652*G0_1_0 + 0.0205853174603176*G0_1_1;
- A[94] = -0.0252976190476193*G0_0_0 - 0.100545634920636*G0_0_1 - 0.0136408730158731*G0_1_0 - 0.0277777777777779*G0_1_1;
- A[95] = 0.0111607142857143*G0_0_0 + 0.0438244047619049*G0_0_1 + 0.0043402777777777*G0_1_0 + 0.0131448412698412*G0_1_1;
- A[96] = 0.101289682539683*G0_0_0 + 0.0327876984126987*G0_0_1 + 0.0327876984126987*G0_1_0 + 0.0216269841269843*G0_1_1;
- A[97] = -0.0944444444444449*G0_0_0 - 0.0397817460317463*G0_0_1 - 0.0358134920634922*G0_1_0 - 0.0298611111111112*G0_1_1;
- A[98] = 0.0447420634920634*G0_0_0 + 0.0223710317460318*G0_0_1 + 0.0223710317460317*G0_1_0 + 0.0176587301587301*G0_1_1;
- A[99] = -0.206239477846067*G0_0_0 + 0.0470001531145812*G0_0_1 - 0.0932988114065536*G0_1_0 + 0.0350747411302844*G0_1_1;
- A[100] = 0.131450284502993*G0_0_0 + 0.157654426184961*G0_0_1 - 0.0107394023286737*G0_1_0 + 0.103957414541582*G0_1_1;
- A[101] = 0.147321428571423*G0_0_0 + 0.106894841269839*G0_0_1 + 0.0493551587301572*G0_1_0 + 0.0560515873015862*G0_1_1;
- A[102] = 0.0420896893563414*G0_0_0 - 0.152925871328035*G0_0_1 + 0.0266568032590163*G0_1_0 - 0.0785674201318341*G0_1_1;
- A[103] = 0.103098262355287*G0_0_0 + 0.0154647393532916*G0_0_1 + 0.0773236967664657*G0_1_0 - 0.0567040442954069*G0_1_1;
- A[104] = 0.0744047619047604*G0_0_0 + 0.0153769841269829*G0_0_1 + 0.0471230158730151*G0_1_0 - 0.00793650793650777*G0_1_1;
- A[105] = 0.027777777777778*G0_0_0 - 0.0727678571428578*G0_0_1 + 0.0141369047619048*G0_1_0 - 0.0611111111111116*G0_1_1;
- A[106] = -0.0178571428571429*G0_0_0 + 0.0532738095238099*G0_0_1 - 0.00942460317460317*G0_1_0 + 0.0438492063492066*G0_1_1;
- A[107] = 0.011904761904762*G0_0_0 - 0.0216765873015873*G0_0_1 + 0.00570436507936506*G0_1_0 - 0.0174603174603174*G0_1_1;
- A[108] = -0.027777777777778*G0_0_0 - 0.100545634920636*G0_0_1 - 0.0136408730158731*G0_1_0 - 0.0252976190476193*G0_1_1;
- A[109] = 0.017857142857143*G0_0_0 + 0.0711309523809526*G0_0_1 + 0.00843253968253968*G0_1_0 + 0.0178571428571429*G0_1_1;
- A[110] = -0.0119047619047619*G0_0_0 - 0.033581349206349*G0_0_1 - 0.0062003968253968*G0_1_0 - 0.0104166666666665*G0_1_1;
- A[111] = -0.0944444444444449*G0_0_0 - 0.0358134920634922*G0_0_1 - 0.0397817460317463*G0_1_0 - 0.0298611111111113*G0_1_1;
- A[112] = 0.163095238095239*G0_0_0 + 0.0815476190476197*G0_0_1 + 0.0815476190476197*G0_1_0 + 0.0686507936507941*G0_1_1;
- A[113] = -0.0944444444444449*G0_0_0 - 0.0586309523809528*G0_0_1 - 0.0546626984126985*G0_1_0 - 0.0487103174603177*G0_1_1;
- A[114] = 0.134687005940288*G0_0_0 - 0.0799704097770483*G0_0_1 + 0.0659405133249319*G0_1_0 - 0.0701494822605688*G0_1_1;
- A[115] = 0.103098262355288*G0_0_0 - 0.152069936974049*G0_0_1 + 0.102239110168991*G0_1_0 - 0.130591132316698*G0_1_1;
- A[116] = -0.107142857142853*G0_0_0 + 0.0193452380952387*G0_0_1 - 0.0560515873015849*G0_1_0 + 0.0218253968253971*G0_1_1;
- A[117] = 0.294627825494385*G0_0_1 + 0.00280597929042261*G0_1_0 + 0.148716902392403*G0_1_1;
- A[118] = -0.206196524710575*G0_0_0 - 0.103098262355287*G0_0_1 - 0.103098262355287*G0_1_0 + 0.10825317547305*G0_1_1;
- A[119] = -0.145833333333333*G0_0_1 + 0.00496031746031713*G0_1_0 - 0.0704365079365082*G0_1_1;
- A[120] = -0.0205853174603176*G0_0_0 + 0.0582093253968257*G0_0_1 - 0.00706845238095234*G0_1_0 + 0.0511408730158734*G0_1_1;
- A[121] = 0.0252976190476192*G0_0_0 - 0.0752480158730165*G0_0_1 + 0.0116567460317461*G0_1_0 - 0.0611111111111117*G0_1_1;
- A[122] = -0.0111607142857143*G0_0_0 + 0.0326636904761907*G0_0_1 - 0.00682043650793651*G0_1_0 + 0.0238591269841271*G0_1_1;
- A[123] = 0.0131448412698412*G0_0_0 + 0.0438244047619048*G0_0_1 + 0.00434027777777769*G0_1_0 + 0.0111607142857143*G0_1_1;
- A[124] = -0.0104166666666666*G0_0_0 - 0.033581349206349*G0_0_1 - 0.00620039682539679*G0_1_0 - 0.0119047619047618*G0_1_1;
- A[125] = 0.0186011904761906*G0_0_0 + 0.0430803571428573*G0_0_1 + 0.00954861111111118*G0_1_0 + 0.0186011904761905*G0_1_1;
- A[126] = 0.0447420634920634*G0_0_0 + 0.0223710317460317*G0_0_1 + 0.0223710317460318*G0_1_0 + 0.0176587301587301*G0_1_1;
- A[127] = -0.0944444444444449*G0_0_0 - 0.0546626984126985*G0_0_1 - 0.0586309523809528*G0_1_0 - 0.0487103174603177*G0_1_1;
+ A[47] = -0.023859126984127*G0_0_0 + 0.00880456349206353*G0_0_1 - 0.0306795634920637*G0_1_0 + 0.0131448412698413*G0_1_1;
+ A[48] = 0.0216269841269843*G0_0_0 + 0.0327876984126986*G0_0_1 + 0.0327876984126987*G0_1_0 + 0.101289682539683*G0_1_1;
+ A[49] = -0.0298611111111112*G0_0_0 - 0.0358134920634921*G0_0_1 - 0.0397817460317463*G0_1_0 - 0.0944444444444449*G0_1_1;
+ A[50] = 0.0176587301587301*G0_0_0 + 0.0223710317460316*G0_0_1 + 0.0223710317460318*G0_1_0 + 0.0447420634920635*G0_1_1;
+ A[51] = 0.0205853174603175*G0_0_0 + 0.0135168650793652*G0_0_1 + 0.0787946428571433*G0_1_0 + 0.0205853174603176*G0_1_1;
+ A[52] = -0.027777777777778*G0_0_0 - 0.0136408730158731*G0_0_1 - 0.100545634920636*G0_1_0 - 0.0252976190476192*G0_1_1;
+ A[53] = 0.0131448412698413*G0_0_0 + 0.00434027777777771*G0_0_1 + 0.0438244047619049*G0_1_0 + 0.0111607142857143*G0_1_1;
+ A[54] = -0.0785674201318367*G0_0_0 + 0.0266568032590171*G0_0_1 - 0.152925871328041*G0_1_0 + 0.0420896893563426*G0_1_1;
+ A[55] = -0.0352252396380577*G0_0_0 + 0.079471577232204*G0_0_1 + 0.0210492285642037*G0_1_0 + 0.115985545149703*G0_1_1;
+ A[56] = -0.0451388888888881*G0_0_0 + 0.043402777777778*G0_0_1 + 0.00570436507936437*G0_1_0 + 0.0520833333333335*G0_1_1;
+ A[57] = 0.0350747411302857*G0_0_0 - 0.0932988114065568*G0_0_1 + 0.0470001531145829*G0_1_0 - 0.206239477846075*G0_1_1;
+ A[58] = 0.100520805796409*G0_0_0 + 0.0373731201037936*G0_0_1 + 0.171400861165671*G0_1_0 + 0.193309241916169*G0_1_1;
+ A[59] = 0.0620039682539693*G0_0_0 - 0.0339781746031726*G0_0_1 + 0.0830853174603192*G0_1_0 + 0.0401785714285739*G0_1_1;
+ A[60] = 0.0174603174603174*G0_0_0 - 0.00570436507936506*G0_0_1 + 0.0216765873015871*G0_1_0 - 0.0119047619047618*G0_1_1;
+ A[61] = -0.0438492063492064*G0_0_0 + 0.00942460317460319*G0_0_1 - 0.0532738095238097*G0_1_0 + 0.0178571428571429*G0_1_1;
+ A[62] = 0.0611111111111115*G0_0_0 - 0.0141369047619049*G0_0_1 + 0.0727678571428578*G0_1_0 - 0.027777777777778*G0_1_1;
+ A[63] = -0.0298611111111112*G0_0_0 - 0.0397817460317463*G0_0_1 - 0.0358134920634921*G0_1_0 - 0.0944444444444449*G0_1_1;
+ A[64] = 0.0686507936507941*G0_0_0 + 0.0815476190476197*G0_0_1 + 0.0815476190476197*G0_1_0 + 0.163095238095239*G0_1_1;
+ A[65] = -0.0487103174603176*G0_0_0 - 0.0546626984126986*G0_0_1 - 0.0586309523809527*G0_1_0 - 0.094444444444445*G0_1_1;
+ A[66] = -0.0252976190476193*G0_0_0 - 0.0136408730158731*G0_0_1 - 0.100545634920636*G0_1_0 - 0.027777777777778*G0_1_1;
+ A[67] = 0.017857142857143*G0_0_0 + 0.00843253968253968*G0_0_1 + 0.0711309523809525*G0_1_0 + 0.0178571428571428*G0_1_1;
+ A[68] = -0.0104166666666667*G0_0_0 - 0.00620039682539683*G0_0_1 - 0.0335813492063491*G0_1_0 - 0.0119047619047619*G0_1_1;
+ A[69] = 0.148716902392409*G0_0_0 + 0.00280597929042294*G0_0_1 + 0.294627825494395*G0_1_0;
+ A[70] = -0.00687321749035424*G0_0_0 - 0.047253370246175*G0_0_1 - 0.177844502562879*G0_1_0 - 0.103098262355291*G0_1_1;
+ A[71] = 0.128968253968254*G0_0_0 - 0.0917658730158738*G0_0_1 - 0.0163690476190463*G0_1_0 - 0.17857142857143*G0_1_1;
+ A[72] = -0.0701494822605716*G0_0_0 + 0.0659405133249344*G0_0_1 - 0.0799704097770516*G0_1_0 + 0.134687005940292*G0_1_1;
+ A[73] = -0.0463942180598801*G0_0_0 + 0.00257745655888166*G0_0_1 - 0.0592815008542904*G0_1_0 - 0.0412393049421149*G0_1_1;
+ A[74] = -0.124007936507939*G0_0_0 + 0.116567460317458*G0_0_1 - 0.14136904761905*G0_1_0 + 0.142857142857144*G0_1_1;
+ A[75] = -0.0238591269841269*G0_0_0 + 0.00682043650793653*G0_0_1 - 0.0326636904761905*G0_1_0 + 0.0111607142857141*G0_1_1;
+ A[76] = 0.0611111111111113*G0_0_0 - 0.0116567460317461*G0_0_1 + 0.0752480158730163*G0_1_0 - 0.0252976190476191*G0_1_1;
+ A[77] = -0.0511408730158732*G0_0_0 + 0.00706845238095236*G0_0_1 - 0.0582093253968257*G0_1_0 + 0.0205853174603176*G0_1_1;
+ A[78] = 0.0176587301587301*G0_0_0 + 0.0223710317460318*G0_0_1 + 0.0223710317460316*G0_1_0 + 0.0447420634920635*G0_1_1;
+ A[79] = -0.0487103174603176*G0_0_0 - 0.0586309523809527*G0_0_1 - 0.0546626984126986*G0_1_0 - 0.094444444444445*G0_1_1;
+ A[80] = 0.0573412698412701*G0_0_0 + 0.0685019841269845*G0_0_1 + 0.0685019841269845*G0_1_0 + 0.101289682539683*G0_1_1;
+ A[81] = 0.0111607142857144*G0_0_0 + 0.00434027777777772*G0_0_1 + 0.043824404761905*G0_1_0 + 0.0131448412698412*G0_1_1;
+ A[82] = -0.011904761904762*G0_0_0 - 0.00620039682539683*G0_0_1 - 0.0335813492063491*G0_1_0 - 0.0104166666666665*G0_1_1;
+ A[83] = 0.0186011904761907*G0_0_0 + 0.00954861111111118*G0_0_1 + 0.0430803571428574*G0_1_0 + 0.0186011904761905*G0_1_1;
+ A[84] = -0.0897913372935292*G0_0_0 - 0.0154328860973257*G0_0_1 - 0.195015560684383*G0_1_0 - 0.042089689356343*G0_1_1;
+ A[85] = -0.0266337177751169*G0_0_0 - 0.0107394023286766*G0_0_1 - 0.00730279358350025*G0_1_0 - 0.012887282794412*G0_1_1;
+ A[86] = -0.0381944444444428*G0_0_0 + 0.0359623015873012*G0_0_1 + 0.105406746031748*G0_1_0 + 0.126488095238096*G0_1_1;
+ A[87] = -0.0350747411302852*G0_0_0 - 0.0975077803421915*G0_0_1 - 0.0582240702762738*G0_1_0 - 0.164149788489731*G0_1_1;
+ A[88] = 0.0231971090299391*G0_0_0 + 0.0244858373093807*G0_0_1 + 0.0554153160159671*G0_1_0 + 0.0747462402075845*G0_1_1;
+ A[89] = -0.0620039682539684*G0_0_0 - 0.208085317460316*G0_0_1 - 0.102926587301588*G0_1_0 - 0.313988095238097*G0_1_1;
+ A[90] = -0.0131448412698413*G0_0_0 + 0.0306795634920637*G0_0_1 - 0.00880456349206354*G0_1_0 + 0.0238591269841271*G0_1_1;
+ A[91] = 0.0104166666666667*G0_0_0 - 0.0231646825396826*G0_0_1 + 0.00421626984126976*G0_1_0 - 0.0174603174603175*G0_1_1;
+ A[92] = -0.0186011904761907*G0_0_0 + 0.0244791666666669*G0_0_1 - 0.0090525793650794*G0_1_0 + 0.0154265873015875*G0_1_1;
+ A[93] = 0.0205853174603176*G0_0_0 + 0.0787946428571433*G0_0_1 + 0.0135168650793652*G0_1_0 + 0.0205853174603176*G0_1_1;
+ A[94] = -0.0252976190476193*G0_0_0 - 0.100545634920636*G0_0_1 - 0.0136408730158731*G0_1_0 - 0.027777777777778*G0_1_1;
+ A[95] = 0.0111607142857144*G0_0_0 + 0.043824404761905*G0_0_1 + 0.00434027777777772*G0_1_0 + 0.0131448412698412*G0_1_1;
+ A[96] = 0.101289682539683*G0_0_0 + 0.0327876984126987*G0_0_1 + 0.0327876984126987*G0_1_0 + 0.0216269841269844*G0_1_1;
+ A[97] = -0.0944444444444448*G0_0_0 - 0.0397817460317463*G0_0_1 - 0.0358134920634922*G0_1_0 - 0.0298611111111113*G0_1_1;
+ A[98] = 0.0447420634920635*G0_0_0 + 0.0223710317460318*G0_0_1 + 0.0223710317460318*G0_1_0 + 0.0176587301587302*G0_1_1;
+ A[99] = -0.206239477846075*G0_0_0 + 0.0470001531145826*G0_0_1 - 0.093298811406557*G0_1_0 + 0.0350747411302856*G0_1_1;
+ A[100] = 0.131450284502998*G0_0_0 + 0.157654426184967*G0_0_1 - 0.0107394023286741*G0_1_0 + 0.103957414541586*G0_1_1;
+ A[101] = 0.147321428571428*G0_0_0 + 0.106894841269842*G0_0_1 + 0.049355158730159*G0_1_0 + 0.0560515873015881*G0_1_1;
+ A[102] = 0.0420896893563428*G0_0_0 - 0.152925871328041*G0_0_1 + 0.0266568032590171*G0_1_0 - 0.0785674201318369*G0_1_1;
+ A[103] = 0.103098262355291*G0_0_0 + 0.0154647393532925*G0_0_1 + 0.0773236967664685*G0_1_0 - 0.056704044295409*G0_1_1;
+ A[104] = 0.0744047619047633*G0_0_0 + 0.0153769841269832*G0_0_1 + 0.0471230158730168*G0_1_0 - 0.00793650793650768*G0_1_1;
+ A[105] = 0.027777777777778*G0_0_0 - 0.0727678571428578*G0_0_1 + 0.0141369047619049*G0_1_0 - 0.0611111111111117*G0_1_1;
+ A[106] = -0.017857142857143*G0_0_0 + 0.0532738095238099*G0_0_1 - 0.00942460317460322*G0_1_0 + 0.0438492063492066*G0_1_1;
+ A[107] = 0.011904761904762*G0_0_0 - 0.0216765873015873*G0_0_1 + 0.00570436507936508*G0_1_0 - 0.0174603174603175*G0_1_1;
+ A[108] = -0.027777777777778*G0_0_0 - 0.100545634920636*G0_0_1 - 0.0136408730158731*G0_1_0 - 0.0252976190476192*G0_1_1;
+ A[109] = 0.017857142857143*G0_0_0 + 0.0711309523809525*G0_0_1 + 0.00843253968253968*G0_1_0 + 0.0178571428571428*G0_1_1;
+ A[110] = -0.011904761904762*G0_0_0 - 0.0335813492063491*G0_0_1 - 0.00620039682539683*G0_1_0 - 0.0104166666666665*G0_1_1;
+ A[111] = -0.0944444444444448*G0_0_0 - 0.0358134920634922*G0_0_1 - 0.0397817460317463*G0_1_0 - 0.0298611111111113*G0_1_1;
+ A[112] = 0.163095238095239*G0_0_0 + 0.0815476190476198*G0_0_1 + 0.0815476190476198*G0_1_0 + 0.0686507936507943*G0_1_1;
+ A[113] = -0.0944444444444449*G0_0_0 - 0.0586309523809529*G0_0_1 - 0.0546626984126986*G0_1_0 - 0.0487103174603178*G0_1_1;
+ A[114] = 0.134687005940292*G0_0_0 - 0.079970409777051*G0_0_1 + 0.0659405133249344*G0_1_0 - 0.0701494822605712*G0_1_1;
+ A[115] = 0.103098262355291*G0_0_0 - 0.152069936974054*G0_0_1 + 0.102239110168994*G0_1_0 - 0.130591132316702*G0_1_1;
+ A[116] = -0.107142857142856*G0_0_0 + 0.0193452380952399*G0_0_1 - 0.056051587301587*G0_1_0 + 0.0218253968253983*G0_1_1;
+ A[117] = 0.294627825494395*G0_0_1 + 0.00280597929042299*G0_1_0 + 0.148716902392409*G0_1_1;
+ A[118] = -0.206196524710582*G0_0_0 - 0.10309826235529*G0_0_1 - 0.103098262355291*G0_1_0 + 0.108253175473054*G0_1_1;
+ A[119] = -0.145833333333337*G0_0_1 + 0.00496031746031752*G0_1_0 - 0.0704365079365106*G0_1_1;
+ A[120] = -0.0205853174603176*G0_0_0 + 0.0582093253968257*G0_0_1 - 0.00706845238095234*G0_1_0 + 0.0511408730158735*G0_1_1;
+ A[121] = 0.0252976190476193*G0_0_0 - 0.0752480158730165*G0_0_1 + 0.0116567460317461*G0_1_0 - 0.0611111111111117*G0_1_1;
+ A[122] = -0.0111607142857144*G0_0_0 + 0.0326636904761907*G0_0_1 - 0.00682043650793654*G0_1_0 + 0.0238591269841271*G0_1_1;
+ A[123] = 0.0131448412698413*G0_0_0 + 0.0438244047619049*G0_0_1 + 0.00434027777777771*G0_1_0 + 0.0111607142857143*G0_1_1;
+ A[124] = -0.0104166666666667*G0_0_0 - 0.0335813492063491*G0_0_1 - 0.00620039682539683*G0_1_0 - 0.0119047619047619*G0_1_1;
+ A[125] = 0.0186011904761907*G0_0_0 + 0.0430803571428574*G0_0_1 + 0.00954861111111119*G0_1_0 + 0.0186011904761905*G0_1_1;
+ A[126] = 0.0447420634920635*G0_0_0 + 0.0223710317460318*G0_0_1 + 0.0223710317460318*G0_1_0 + 0.0176587301587302*G0_1_1;
+ A[127] = -0.0944444444444449*G0_0_0 - 0.0546626984126987*G0_0_1 - 0.0586309523809529*G0_1_0 - 0.0487103174603178*G0_1_1;
A[128] = 0.101289682539683*G0_0_0 + 0.0685019841269847*G0_0_1 + 0.0685019841269847*G0_1_0 + 0.0573412698412704*G0_1_1;
- A[129] = -0.164149788489726*G0_0_0 - 0.0582240702762727*G0_0_1 - 0.0975077803421886*G0_1_0 - 0.0350747411302848*G0_1_1;
- A[130] = -0.234548546858281*G0_0_0 - 0.0614293813200277*G0_0_1 - 0.167964252420488*G0_1_0 - 0.0420984571284106*G0_1_1;
- A[131] = 0.221726190476183*G0_0_0 + 0.0994543650793625*G0_0_1 + 0.125248015873011*G0_1_0 + 0.0510912698412682*G0_1_1;
- A[132] = -0.0420896893563413*G0_0_0 - 0.195015560684376*G0_0_1 - 0.0154328860973251*G0_1_0 - 0.0897913372935261*G0_1_1;
- A[133] = 0.103098262355287*G0_0_0 + 0.0876335230019949*G0_0_1 + 0.0257745655888211*G0_1_0 - 0.0463942180598777*G0_1_1;
- A[134] = -0.0744047619047604*G0_0_0 - 0.0590277777777771*G0_0_1 - 0.0272817460317454*G0_1_0 - 0.00396825396825412*G0_1_1;
- A[135] = 0.0434926790015489*G0_0_0 - 0.0624330392119039*G0_0_1 - 0.0231493291459878*G0_1_0 + 0.0350747411302844*G0_1_1;
- A[136] = -0.0785674201318339*G0_0_0 + 0.136089995585501*G0_0_1 - 0.00982092751647953*G0_1_0 + 0.0701494822605691*G0_1_1;
- A[137] = 0.124866078423811*G0_0_0 - 0.128373552536838*G0_0_1 + 0.0119254119842966*G0_1_0 - 0.0350747411302846*G0_1_1;
- A[138] = -0.0785674201318343*G0_0_0 - 0.152925871328036*G0_0_1 + 0.0266568032590163*G0_1_0 + 0.0420896893563414*G0_1_1;
- A[139] = 0.148716902392403*G0_0_0 + 0.294627825494385*G0_0_1 + 0.00280597929042259*G0_1_0;
- A[140] = -0.0897913372935259*G0_0_0 - 0.195015560684377*G0_0_1 - 0.0154328860973251*G0_1_0 - 0.0420896893563413*G0_1_1;
- A[141] = -0.206239477846067*G0_0_0 - 0.0932988114065536*G0_0_1 + 0.0470001531145812*G0_1_0 + 0.0350747411302844*G0_1_1;
- A[142] = 0.134687005940288*G0_0_0 + 0.0659405133249319*G0_0_1 - 0.0799704097770483*G0_1_0 - 0.0701494822605688*G0_1_1;
- A[143] = -0.164149788489726*G0_0_0 - 0.0975077803421886*G0_0_1 - 0.0582240702762727*G0_1_0 - 0.0350747411302848*G0_1_1;
- A[144] = 4.92063492063457*G0_0_0 + 0.198412698412687*G0_0_1 + 0.198412698412687*G0_1_0 + 0.396825396825376*G0_1_1;
- A[145] = 0.0243004934799687*G0_0_0 - 0.0607512336999672*G0_0_1 + 0.230854688059913*G0_1_0 + 0.607512336999765*G0_1_1;
- A[146] = -0.519106168728172*G0_0_0 - 0.806719045996497*G0_0_1 - 0.301642773720431*G0_1_0 - 0.350747411302832*G0_1_1;
- A[147] = -0.198412698412691*G0_0_0 + 4.30555555555524*G0_0_1 + 0.0198412698412689*G0_1_0 - 0.198412698412688*G0_1_1;
- A[148] = -0.21870444131989*G0_0_0 - 0.0364507402199858*G0_0_1 + 0.255155181539901*G0_1_0 - 0.218704441319914*G0_1_1;
- A[149] = -0.350747411302835*G0_0_0 + 0.54015101340635*G0_0_1 + 0.0350747411302834*G0_1_0 + 0.322687618398611*G0_1_1;
- A[150] = 0.0652955661583499*G0_0_0 - 0.127154523571519*G0_0_1 - 0.051549131177644*G0_1_0 + 0.0652955661583486*G0_1_1;
- A[151] = -0.0532674355502326*G0_0_0 + 0.183858567866929*G0_0_1 - 0.00859152186294119*G0_1_0 + 0.0841969142568198*G0_1_1;
- A[152] = -0.00343660874517759*G0_0_0 - 0.0515491311776426*G0_0_1 - 0.0171830437258811*G0_1_0 - 0.00343660874517665*G0_1_1;
- A[153] = -0.0352252396380562*G0_0_0 + 0.0210492285642029*G0_0_1 + 0.0794715772322013*G0_1_0 + 0.115985545149699*G0_1_1;
- A[154] = -0.00687321749035419*G0_0_0 - 0.177844502562873*G0_0_1 - 0.0472533702461735*G0_1_0 - 0.103098262355288*G0_1_1;
- A[155] = -0.0266337177751162*G0_0_0 - 0.00730279358350017*G0_0_1 - 0.0107394023286764*G0_1_0 - 0.0128872827944117*G0_1_1;
- A[156] = 0.131450284502993*G0_0_0 - 0.0107394023286737*G0_0_1 + 0.157654426184961*G0_1_0 + 0.103957414541582*G0_1_1;
- A[157] = 0.103098262355288*G0_0_0 + 0.102239110168991*G0_0_1 - 0.152069936974049*G0_1_0 - 0.130591132316698*G0_1_1;
- A[158] = -0.234548546858281*G0_0_0 - 0.167964252420488*G0_0_1 - 0.0614293813200277*G0_1_0 - 0.0420984571284106*G0_1_1;
- A[159] = 0.0243004934799691*G0_0_0 + 0.230854688059914*G0_0_1 - 0.0607512336999671*G0_1_0 + 0.607512336999765*G0_1_1;
- A[160] = 5.41666666666634*G0_0_0 + 0.431547619047605*G0_0_1 + 0.431547619047605*G0_1_0 + 1.13095238095232*G0_1_1;
- A[161] = -0.189013480984689*G0_0_0 - 0.0687321749035171*G0_0_1 - 0.274928699614087*G0_1_0 - 0.189013480984688*G0_1_1;
- A[162] = 0.170103454359941*G0_0_0 + 0.449559129379812*G0_0_1 + 0.157953207619939*G0_1_0 - 0.413108389159829*G0_1_1;
- A[163] = -0.401785714285697*G0_0_0 + 3.59374999999975*G0_0_1 + 0.558035714285683*G0_1_0 - 0.401785714285688*G0_1_1;
- A[164] = 0.300703265202923*G0_0_0 + 0.176126198190276*G0_0_1 + 0.279224460545564*G0_1_0 + 0.30070326520292*G0_1_1;
- A[165] = -0.0168650793650807*G0_0_0 + 0.0719246031746*G0_0_1 - 0.00744047619047546*G0_1_0 - 0.010912698412699*G0_1_1;
- A[166] = -0.0049603174603145*G0_0_0 - 0.162698412698407*G0_0_1 + 0.0198412698412682*G0_1_0 - 0.102182539682537*G0_1_1;
- A[167] = 0.100198412698408*G0_0_0 + 0.102678571428568*G0_0_1 - 0.071924603174601*G0_1_0 + 0.118055555555553*G0_1_1;
- A[168] = -0.0451388888888868*G0_0_0 + 0.00570436507936479*G0_0_1 + 0.0434027777777767*G0_1_0 + 0.0520833333333316*G0_1_1;
- A[169] = 0.128968253968249*G0_0_0 - 0.0163690476190467*G0_0_1 - 0.0917658730158704*G0_1_0 - 0.178571428571424*G0_1_1;
- A[170] = -0.0381944444444409*G0_0_0 + 0.105406746031745*G0_0_1 + 0.0359623015872999*G0_1_0 + 0.126488095238092*G0_1_1;
- A[171] = 0.147321428571423*G0_0_0 + 0.0493551587301572*G0_0_1 + 0.106894841269839*G0_1_0 + 0.0560515873015862*G0_1_1;
- A[172] = -0.107142857142852*G0_0_0 - 0.0560515873015849*G0_0_1 + 0.0193452380952387*G0_1_0 + 0.0218253968253971*G0_1_1;
- A[173] = 0.221726190476183*G0_0_0 + 0.125248015873011*G0_0_1 + 0.0994543650793625*G0_1_0 + 0.0510912698412682*G0_1_1;
- A[174] = -0.519106168728172*G0_0_0 - 0.301642773720431*G0_0_1 - 0.806719045996497*G0_1_0 - 0.350747411302832*G0_1_1;
- A[175] = -0.189013480984688*G0_0_0 - 0.274928699614087*G0_0_1 - 0.0687321749035171*G0_1_0 - 0.189013480984688*G0_1_1;
- A[176] = 5.55555555555519*G0_0_0 + 0.590277777777742*G0_0_1 + 0.590277777777743*G0_1_0 + 0.912698412698366*G0_1_1;
- A[177] = -0.350747411302833*G0_0_0 - 0.301642773720428*G0_0_1 + 0.203433498555644*G0_1_0 - 0.0140298964520951*G0_1_1;
- A[178] = 0.0773236967664695*G0_0_0 + 0.167534676327341*G0_0_1 + 0.0644364139720519*G0_1_0 + 0.0773236967664695*G0_1_1;
- A[179] = -0.62003968253965*G0_0_0 + 3.39533730158706*G0_0_1 + 0.359623015872999*G0_1_0 - 0.620039682539656*G0_1_1;
- A[180] = 0.0350747411302842*G0_0_0 - 0.0119254119842966*G0_0_1 + 0.128373552536837*G0_1_0 - 0.124866078423811*G0_1_1;
- A[181] = -0.0701494822605685*G0_0_0 + 0.00982092751647951*G0_0_1 - 0.1360899955855*G0_1_0 + 0.0785674201318346*G0_1_1;
- A[182] = -0.0350747411302849*G0_0_0 + 0.0231493291459879*G0_0_1 + 0.062433039211904*G0_1_0 - 0.0434926790015497*G0_1_1;
- A[183] = 0.0350747411302847*G0_0_0 + 0.0470001531145815*G0_0_1 - 0.0932988114065537*G0_1_0 - 0.206239477846068*G0_1_1;
- A[184] = -0.0701494822605693*G0_0_0 - 0.079970409777049*G0_0_1 + 0.0659405133249319*G0_1_0 + 0.134687005940288*G0_1_1;
- A[185] = -0.035074741130284*G0_0_0 - 0.0582240702762717*G0_0_1 - 0.0975077803421881*G0_1_0 - 0.164149788489726*G0_1_1;
- A[186] = 0.0420896893563414*G0_0_0 + 0.0266568032590163*G0_0_1 - 0.152925871328035*G0_1_0 - 0.0785674201318341*G0_1_1;
- A[187] = 0.00280597929042261*G0_0_1 + 0.294627825494385*G0_1_0 + 0.148716902392403*G0_1_1;
- A[188] = -0.0420896893563413*G0_0_0 - 0.0154328860973251*G0_0_1 - 0.195015560684376*G0_1_0 - 0.0897913372935261*G0_1_1;
- A[189] = -0.198412698412691*G0_0_0 + 0.0198412698412689*G0_0_1 + 4.30555555555524*G0_1_0 - 0.198412698412688*G0_1_1;
- A[190] = 0.170103454359941*G0_0_0 + 0.157953207619939*G0_0_1 + 0.449559129379812*G0_1_0 - 0.413108389159829*G0_1_1;
- A[191] = -0.350747411302833*G0_0_0 + 0.203433498555644*G0_0_1 - 0.301642773720428*G0_1_0 - 0.0140298964520952*G0_1_1;
- A[192] = 0.396825396825376*G0_0_0 + 0.198412698412685*G0_0_1 + 0.198412698412685*G0_1_0 + 4.92063492063457*G0_1_1;
- A[193] = -0.145802960879936*G0_0_1 - 0.729014804399693*G0_1_0 - 0.437408882639822*G0_1_1;
- A[194] = 0.701494822605665*G0_0_0 + 0.35074741130283*G0_0_1 + 0.350747411302829*G0_1_0 + 0.280597929042239*G0_1_1;
- A[195] = -0.100520805796406*G0_0_0 + 0.0708800553692599*G0_0_1 - 0.0631476856926132*G0_1_0 - 0.0850560664431105*G0_1_1;
- A[196] = 0.0463942180598786*G0_0_0 - 0.0128872827944101*G0_0_1 + 0.0489716746187606*G0_1_0 + 0.0309294787065843*G0_1_1;
- A[197] = -0.0231971090299389*G0_0_0 + 0.0322182069860271*G0_0_1 + 0.00128872827944081*G0_1_0 - 0.018042195912174*G0_1_1;
- A[198] = 0.100520805796406*G0_0_0 + 0.171400861165665*G0_0_1 + 0.0373731201037923*G0_1_0 + 0.193309241916163*G0_1_1;
- A[199] = -0.0463942180598787*G0_0_0 - 0.0592815008542884*G0_0_1 + 0.00257745655888145*G0_1_0 - 0.0412393049421134*G0_1_1;
- A[200] = 0.0231971090299388*G0_0_0 + 0.0554153160159658*G0_0_1 + 0.0244858373093799*G0_1_0 + 0.0747462402075818*G0_1_1;
- A[201] = 0.103098262355287*G0_0_0 + 0.0773236967664657*G0_0_1 + 0.0154647393532916*G0_1_0 - 0.0567040442954069*G0_1_1;
- A[202] = -0.206196524710575*G0_0_0 - 0.103098262355287*G0_0_1 - 0.103098262355287*G0_1_0 + 0.10825317547305*G0_1_1;
- A[203] = 0.103098262355287*G0_0_0 + 0.0257745655888211*G0_0_1 + 0.0876335230019949*G0_1_0 - 0.0463942180598777*G0_1_1;
- A[204] = -0.21870444131989*G0_0_0 + 0.255155181539901*G0_0_1 - 0.0364507402199856*G0_1_0 - 0.218704441319914*G0_1_1;
- A[205] = -0.401785714285697*G0_0_0 + 0.558035714285683*G0_0_1 + 3.59374999999975*G0_1_0 - 0.401785714285688*G0_1_1;
- A[206] = 0.0773236967664696*G0_0_0 + 0.0644364139720519*G0_0_1 + 0.167534676327341*G0_1_0 + 0.0773236967664695*G0_1_1;
- A[207] = -0.729014804399693*G0_0_1 - 0.145802960879936*G0_1_0 - 0.437408882639822*G0_1_1;
- A[208] = 0.803571428571384*G0_0_0 + 0.401785714285689*G0_0_1 + 0.401785714285689*G0_1_0 + 5.35714285714249*G0_1_1;
- A[209] = -0.0515491311776319*G0_0_1 - 0.257745655888202*G0_1_0 - 0.15464739353292*G0_1_1;
- A[210] = 0.0620039682539667*G0_0_0 - 0.0210813492063486*G0_0_1 + 0.0959821428571382*G0_1_0 + 0.053075396825397*G0_1_1;
- A[211] = -0.124007936507933*G0_0_0 + 0.0173611111111106*G0_0_1 - 0.240575396825387*G0_1_0 + 0.0436507936507933*G0_1_1;
- A[212] = -0.0620039682539678*G0_0_0 + 0.0409226190476185*G0_0_1 + 0.146081349206342*G0_1_0 - 0.0649801587301586*G0_1_1;
- A[213] = 0.0620039682539675*G0_0_0 + 0.0830853174603163*G0_0_1 - 0.0339781746031718*G0_1_0 + 0.0401785714285732*G0_1_1;
- A[214] = -0.124007936507935*G0_0_0 - 0.141369047619045*G0_0_1 + 0.116567460317454*G0_1_0 + 0.142857142857138*G0_1_1;
- A[215] = -0.0620039682539664*G0_0_0 - 0.102926587301585*G0_0_1 - 0.208085317460309*G0_1_0 - 0.313988095238087*G0_1_1;
- A[216] = 0.0744047619047604*G0_0_0 + 0.0471230158730151*G0_0_1 + 0.0153769841269829*G0_1_0 - 0.00793650793650776*G0_1_1;
- A[217] = 0.00496031746031713*G0_0_1 - 0.145833333333333*G0_1_0 - 0.0704365079365082*G0_1_1;
- A[218] = -0.0744047619047604*G0_0_0 - 0.0272817460317454*G0_0_1 - 0.0590277777777771*G0_1_0 - 0.00396825396825412*G0_1_1;
- A[219] = -0.350747411302835*G0_0_0 + 0.0350747411302834*G0_0_1 + 0.54015101340635*G0_1_0 + 0.322687618398611*G0_1_1;
- A[220] = 0.300703265202923*G0_0_0 + 0.279224460545564*G0_0_1 + 0.176126198190276*G0_1_0 + 0.30070326520292*G0_1_1;
- A[221] = -0.62003968253965*G0_0_0 + 0.359623015872999*G0_0_1 + 3.39533730158706*G0_1_0 - 0.620039682539656*G0_1_1;
- A[222] = 0.701494822605665*G0_0_0 + 0.350747411302829*G0_0_1 + 0.350747411302829*G0_1_0 + 0.280597929042239*G0_1_1;
- A[223] = -0.257745655888202*G0_0_1 - 0.051549131177632*G0_1_0 - 0.154647393532921*G0_1_1;
- A[224] = 1.2400793650793*G0_0_0 + 0.620039682539645*G0_0_1 + 0.620039682539645*G0_1_0 + 5.61507936507903*G0_1_1;
+ A[129] = -0.164149788489732*G0_0_0 - 0.0582240702762745*G0_0_1 - 0.0975077803421918*G0_1_0 - 0.0350747411302857*G0_1_1;
+ A[130] = -0.234548546858288*G0_0_0 - 0.061429381320029*G0_0_1 - 0.167964252420494*G0_1_0 - 0.0420984571284114*G0_1_1;
+ A[131] = 0.221726190476191*G0_0_0 + 0.0994543650793655*G0_0_1 + 0.125248015873015*G0_1_0 + 0.0510912698412695*G0_1_1;
+ A[132] = -0.0420896893563428*G0_0_0 - 0.195015560684383*G0_0_1 - 0.0154328860973257*G0_1_0 - 0.0897913372935291*G0_1_1;
+ A[133] = 0.10309826235529*G0_0_0 + 0.087633523001998*G0_0_1 + 0.0257745655888217*G0_1_0 - 0.0463942180598797*G0_1_1;
+ A[134] = -0.0744047619047629*G0_0_0 - 0.0590277777777792*G0_0_1 - 0.0272817460317463*G0_1_0 - 0.00396825396825359*G0_1_1;
+ A[135] = 0.0434926790015507*G0_0_0 - 0.0624330392119065*G0_0_1 - 0.0231493291459886*G0_1_0 + 0.0350747411302857*G0_1_1;
+ A[136] = -0.0785674201318373*G0_0_0 + 0.136089995585505*G0_0_1 - 0.00982092751648001*G0_1_0 + 0.0701494822605712*G0_1_1;
+ A[137] = 0.124866078423815*G0_0_0 - 0.128373552536842*G0_0_1 + 0.0119254119842972*G0_1_0 - 0.0350747411302856*G0_1_1;
+ A[138] = -0.0785674201318367*G0_0_0 - 0.152925871328041*G0_0_1 + 0.0266568032590171*G0_1_0 + 0.0420896893563426*G0_1_1;
+ A[139] = 0.148716902392409*G0_0_0 + 0.294627825494395*G0_0_1 + 0.00280597929042294*G0_1_0;
+ A[140] = -0.0897913372935292*G0_0_0 - 0.195015560684383*G0_0_1 - 0.0154328860973257*G0_1_0 - 0.042089689356343*G0_1_1;
+ A[141] = -0.206239477846075*G0_0_0 - 0.093298811406557*G0_0_1 + 0.0470001531145826*G0_1_0 + 0.0350747411302856*G0_1_1;
+ A[142] = 0.134687005940292*G0_0_0 + 0.0659405133249344*G0_0_1 - 0.079970409777051*G0_1_0 - 0.0701494822605712*G0_1_1;
+ A[143] = -0.164149788489732*G0_0_0 - 0.0975077803421918*G0_0_1 - 0.0582240702762745*G0_1_0 - 0.0350747411302857*G0_1_1;
+ A[144] = 4.92063492063491*G0_0_0 + 0.198412698412701*G0_0_1 + 0.198412698412701*G0_1_0 + 0.396825396825403*G0_1_1;
+ A[145] = 0.0243004934799689*G0_0_0 - 0.0607512336999729*G0_0_1 + 0.230854688059929*G0_1_0 + 0.607512336999805*G0_1_1;
+ A[146] = -0.5191061687282*G0_0_0 - 0.806719045996552*G0_0_1 - 0.30164277372045*G0_1_0 - 0.350747411302856*G0_1_1;
+ A[147] = -0.198412698412704*G0_0_0 + 4.30555555555553*G0_0_1 + 0.0198412698412698*G0_1_0 - 0.198412698412701*G0_1_1;
+ A[148] = -0.218704441319908*G0_0_0 - 0.0364507402199894*G0_0_1 + 0.255155181539919*G0_1_0 - 0.218704441319928*G0_1_1;
+ A[149] = -0.350747411302858*G0_0_0 + 0.540151013406387*G0_0_1 + 0.0350747411302856*G0_1_0 + 0.322687618398635*G0_1_1;
+ A[150] = 0.0652955661583518*G0_0_0 - 0.127154523571524*G0_0_1 - 0.051549131177646*G0_1_0 + 0.0652955661583511*G0_1_1;
+ A[151] = -0.0532674355502346*G0_0_0 + 0.183858567866935*G0_0_1 - 0.00859152186294132*G0_1_0 + 0.0841969142568221*G0_1_1;
+ A[152] = -0.00343660874517777*G0_0_0 - 0.0515491311776443*G0_0_1 - 0.0171830437258817*G0_1_0 - 0.00343660874517642*G0_1_1;
+ A[153] = -0.0352252396380577*G0_0_0 + 0.0210492285642037*G0_0_1 + 0.079471577232204*G0_1_0 + 0.115985545149703*G0_1_1;
+ A[154] = -0.00687321749035424*G0_0_0 - 0.177844502562879*G0_0_1 - 0.047253370246175*G0_1_0 - 0.103098262355291*G0_1_1;
+ A[155] = -0.0266337177751169*G0_0_0 - 0.00730279358350025*G0_0_1 - 0.0107394023286766*G0_1_0 - 0.012887282794412*G0_1_1;
+ A[156] = 0.131450284502998*G0_0_0 - 0.0107394023286741*G0_0_1 + 0.157654426184967*G0_1_0 + 0.103957414541586*G0_1_1;
+ A[157] = 0.103098262355291*G0_0_0 + 0.102239110168994*G0_0_1 - 0.152069936974054*G0_1_0 - 0.130591132316702*G0_1_1;
+ A[158] = -0.234548546858288*G0_0_0 - 0.167964252420494*G0_0_1 - 0.061429381320029*G0_1_0 - 0.0420984571284114*G0_1_1;
+ A[159] = 0.0243004934799689*G0_0_0 + 0.230854688059928*G0_0_1 - 0.060751233699973*G0_1_0 + 0.607512336999805*G0_1_1;
+ A[160] = 5.4166666666667*G0_0_0 + 0.431547619047634*G0_0_1 + 0.431547619047634*G0_1_0 + 1.1309523809524*G0_1_1;
+ A[161] = -0.18901348098471*G0_0_0 - 0.0687321749035211*G0_0_1 - 0.274928699614104*G0_1_0 - 0.189013480984701*G0_1_1;
+ A[162] = 0.170103454359952*G0_0_0 + 0.449559129379841*G0_0_1 + 0.157953207619949*G0_1_0 - 0.41310838915986*G0_1_1;
+ A[163] = -0.401785714285718*G0_0_0 + 3.59374999999999*G0_0_1 + 0.558035714285724*G0_1_0 - 0.401785714285713*G0_1_1;
+ A[164] = 0.300703265202946*G0_0_0 + 0.176126198190287*G0_0_1 + 0.279224460545582*G0_1_0 + 0.300703265202941*G0_1_1;
+ A[165] = -0.0168650793650812*G0_0_0 + 0.0719246031746028*G0_0_1 - 0.00744047619047573*G0_1_0 - 0.0109126984126999*G0_1_1;
+ A[166] = -0.00496031746031483*G0_0_0 - 0.162698412698412*G0_0_1 + 0.0198412698412691*G0_1_0 - 0.10218253968254*G0_1_1;
+ A[167] = 0.100198412698412*G0_0_0 + 0.102678571428572*G0_0_1 - 0.0719246031746036*G0_1_0 + 0.118055555555557*G0_1_1;
+ A[168] = -0.0451388888888881*G0_0_0 + 0.0057043650793644*G0_0_1 + 0.043402777777778*G0_1_0 + 0.0520833333333335*G0_1_1;
+ A[169] = 0.128968253968254*G0_0_0 - 0.0163690476190463*G0_0_1 - 0.0917658730158738*G0_1_0 - 0.17857142857143*G0_1_1;
+ A[170] = -0.0381944444444428*G0_0_0 + 0.105406746031748*G0_0_1 + 0.0359623015873012*G0_1_0 + 0.126488095238096*G0_1_1;
+ A[171] = 0.147321428571428*G0_0_0 + 0.049355158730159*G0_0_1 + 0.106894841269842*G0_1_0 + 0.0560515873015881*G0_1_1;
+ A[172] = -0.107142857142856*G0_0_0 - 0.056051587301587*G0_0_1 + 0.0193452380952399*G0_1_0 + 0.0218253968253983*G0_1_1;
+ A[173] = 0.221726190476191*G0_0_0 + 0.125248015873015*G0_0_1 + 0.0994543650793655*G0_1_0 + 0.0510912698412695*G0_1_1;
+ A[174] = -0.5191061687282*G0_0_0 - 0.30164277372045*G0_0_1 - 0.806719045996552*G0_1_0 - 0.350747411302856*G0_1_1;
+ A[175] = -0.18901348098471*G0_0_0 - 0.274928699614105*G0_0_1 - 0.068732174903521*G0_1_0 - 0.189013480984701*G0_1_1;
+ A[176] = 5.55555555555557*G0_0_0 + 0.59027777777778*G0_0_1 + 0.59027777777778*G0_1_0 + 0.912698412698429*G0_1_1;
+ A[177] = -0.350747411302857*G0_0_0 - 0.301642773720444*G0_0_1 + 0.203433498555658*G0_1_0 - 0.0140298964520946*G0_1_1;
+ A[178] = 0.0773236967664745*G0_0_0 + 0.167534676327348*G0_0_1 + 0.064436413972056*G0_1_0 + 0.0773236967664743*G0_1_1;
+ A[179] = -0.620039682539693*G0_0_0 + 3.3953373015873*G0_0_1 + 0.359623015873024*G0_1_0 - 0.6200396825397*G0_1_1;
+ A[180] = 0.0350747411302855*G0_0_0 - 0.0119254119842972*G0_0_1 + 0.128373552536842*G0_1_0 - 0.124866078423815*G0_1_1;
+ A[181] = -0.0701494822605709*G0_0_0 + 0.00982092751648001*G0_0_1 - 0.136089995585505*G0_1_0 + 0.0785674201318371*G0_1_1;
+ A[182] = -0.035074741130286*G0_0_0 + 0.0231493291459887*G0_0_1 + 0.0624330392119065*G0_1_0 - 0.0434926790015511*G0_1_1;
+ A[183] = 0.0350747411302857*G0_0_0 + 0.0470001531145829*G0_0_1 - 0.0932988114065568*G0_1_0 - 0.206239477846075*G0_1_1;
+ A[184] = -0.0701494822605716*G0_0_0 - 0.0799704097770516*G0_0_1 + 0.0659405133249344*G0_1_0 + 0.134687005940292*G0_1_1;
+ A[185] = -0.0350747411302852*G0_0_0 - 0.0582240702762738*G0_0_1 - 0.0975077803421915*G0_1_0 - 0.164149788489731*G0_1_1;
+ A[186] = 0.0420896893563428*G0_0_0 + 0.0266568032590171*G0_0_1 - 0.152925871328041*G0_1_0 - 0.0785674201318369*G0_1_1;
+ A[187] = 0.00280597929042299*G0_0_1 + 0.294627825494395*G0_1_0 + 0.148716902392409*G0_1_1;
+ A[188] = -0.0420896893563428*G0_0_0 - 0.0154328860973257*G0_0_1 - 0.195015560684383*G0_1_0 - 0.0897913372935291*G0_1_1;
+ A[189] = -0.198412698412704*G0_0_0 + 0.0198412698412698*G0_0_1 + 4.30555555555553*G0_1_0 - 0.198412698412701*G0_1_1;
+ A[190] = 0.170103454359952*G0_0_0 + 0.157953207619949*G0_0_1 + 0.449559129379841*G0_1_0 - 0.41310838915986*G0_1_1;
+ A[191] = -0.350747411302857*G0_0_0 + 0.203433498555658*G0_0_1 - 0.301642773720444*G0_1_0 - 0.0140298964520949*G0_1_1;
+ A[192] = 0.396825396825403*G0_0_0 + 0.198412698412699*G0_0_1 + 0.198412698412699*G0_1_0 + 4.9206349206349*G0_1_1;
+ A[193] = -0.145802960879946*G0_0_1 - 0.729014804399745*G0_1_0 - 0.437408882639853*G0_1_1;
+ A[194] = 0.701494822605712*G0_0_0 + 0.350747411302854*G0_0_1 + 0.350747411302853*G0_1_0 + 0.280597929042256*G0_1_1;
+ A[195] = -0.100520805796409*G0_0_0 + 0.0708800553692621*G0_0_1 - 0.0631476856926157*G0_1_0 - 0.0850560664431142*G0_1_1;
+ A[196] = 0.0463942180598797*G0_0_0 - 0.0128872827944102*G0_0_1 + 0.0489716746187619*G0_1_0 + 0.0309294787065861*G0_1_1;
+ A[197] = -0.0231971090299394*G0_0_0 + 0.0322182069860282*G0_0_1 + 0.00128872827944079*G0_1_0 - 0.0180421959121749*G0_1_1;
+ A[198] = 0.100520805796409*G0_0_0 + 0.171400861165672*G0_0_1 + 0.0373731201037937*G0_1_0 + 0.193309241916169*G0_1_1;
+ A[199] = -0.0463942180598801*G0_0_0 - 0.0592815008542904*G0_0_1 + 0.00257745655888166*G0_1_0 - 0.0412393049421149*G0_1_1;
+ A[200] = 0.0231971090299391*G0_0_0 + 0.0554153160159671*G0_0_1 + 0.0244858373093807*G0_1_0 + 0.0747462402075845*G0_1_1;
+ A[201] = 0.10309826235529*G0_0_0 + 0.0773236967664685*G0_0_1 + 0.0154647393532925*G0_1_0 - 0.056704044295409*G0_1_1;
+ A[202] = -0.206196524710582*G0_0_0 - 0.103098262355291*G0_0_1 - 0.10309826235529*G0_1_0 + 0.108253175473054*G0_1_1;
+ A[203] = 0.10309826235529*G0_0_0 + 0.0257745655888217*G0_0_1 + 0.0876335230019981*G0_1_0 - 0.0463942180598797*G0_1_1;
+ A[204] = -0.218704441319908*G0_0_0 + 0.255155181539919*G0_0_1 - 0.0364507402199893*G0_1_0 - 0.218704441319928*G0_1_1;
+ A[205] = -0.401785714285718*G0_0_0 + 0.558035714285724*G0_0_1 + 3.59375*G0_1_0 - 0.401785714285713*G0_1_1;
+ A[206] = 0.0773236967664745*G0_0_0 + 0.064436413972056*G0_0_1 + 0.167534676327348*G0_1_0 + 0.0773236967664743*G0_1_1;
+ A[207] = -0.729014804399745*G0_0_1 - 0.145802960879946*G0_1_0 - 0.437408882639853*G0_1_1;
+ A[208] = 0.803571428571441*G0_0_0 + 0.401785714285722*G0_0_1 + 0.401785714285722*G0_1_0 + 5.35714285714287*G0_1_1;
+ A[209] = -0.0515491311776334*G0_0_1 - 0.257745655888216*G0_1_0 - 0.154647393532929*G0_1_1;
+ A[210] = 0.0620039682539688*G0_0_0 - 0.0210813492063495*G0_0_1 + 0.0959821428571413*G0_1_0 + 0.0530753968253992*G0_1_1;
+ A[211] = -0.124007936507938*G0_0_0 + 0.0173611111111113*G0_0_1 - 0.240575396825396*G0_1_0 + 0.043650793650795*G0_1_1;
+ A[212] = -0.0620039682539697*G0_0_0 + 0.0409226190476199*G0_0_1 + 0.146081349206348*G0_1_0 - 0.0649801587301603*G0_1_1;
+ A[213] = 0.0620039682539693*G0_0_0 + 0.0830853174603192*G0_0_1 - 0.0339781746031726*G0_1_0 + 0.0401785714285739*G0_1_1;
+ A[214] = -0.124007936507939*G0_0_0 - 0.14136904761905*G0_0_1 + 0.116567460317458*G0_1_0 + 0.142857142857144*G0_1_1;
+ A[215] = -0.0620039682539684*G0_0_0 - 0.102926587301588*G0_0_1 - 0.208085317460316*G0_1_0 - 0.313988095238097*G0_1_1;
+ A[216] = 0.0744047619047633*G0_0_0 + 0.0471230158730168*G0_0_1 + 0.0153769841269832*G0_1_0 - 0.00793650793650768*G0_1_1;
+ A[217] = 0.00496031746031752*G0_0_1 - 0.145833333333338*G0_1_0 - 0.0704365079365106*G0_1_1;
+ A[218] = -0.0744047619047629*G0_0_0 - 0.0272817460317463*G0_0_1 - 0.0590277777777792*G0_1_0 - 0.0039682539682536*G0_1_1;
+ A[219] = -0.350747411302858*G0_0_0 + 0.0350747411302856*G0_0_1 + 0.540151013406387*G0_1_0 + 0.322687618398635*G0_1_1;
+ A[220] = 0.300703265202947*G0_0_0 + 0.279224460545582*G0_0_1 + 0.176126198190287*G0_1_0 + 0.300703265202941*G0_1_1;
+ A[221] = -0.620039682539693*G0_0_0 + 0.359623015873024*G0_0_1 + 3.3953373015873*G0_1_0 - 0.6200396825397*G0_1_1;
+ A[222] = 0.701494822605712*G0_0_0 + 0.350747411302853*G0_0_1 + 0.350747411302854*G0_1_0 + 0.280597929042256*G0_1_1;
+ A[223] = -0.257745655888216*G0_0_1 - 0.0515491311776335*G0_1_0 - 0.15464739353293*G0_1_1;
+ A[224] = 1.24007936507938*G0_0_0 + 0.620039682539688*G0_0_1 + 0.620039682539688*G0_1_0 + 5.61507936507941*G0_1_1;
}
};
@@ -8726,10 +9084,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -8917,10 +9275,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/demo/undocumented/waveguide/cpp/compile.log b/demo/undocumented/waveguide/cpp/compile.log
deleted file mode 100644
index cc38575..0000000
--- a/demo/undocumented/waveguide/cpp/compile.log
+++ /dev/null
@@ -1,1146 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Forms
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'N1curl3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'N1curl3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 4
- representation: auto --> quadrature
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'N1curl3(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'N1curl3(?), Vector<2 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 6
- quadrature_degree: 6
-
-Compiler stage 1 finished in 0.426052 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing quadrature representation
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
-
- QG-utils, psi_tables:
- {6: {FiniteElement('Nedelec 1st kind H(curl)', triangle, 3): {None: {None: {(0, 1): array([[[ -2.84278478e+00, -1.79074769e+00, -7.30727159e-01,
- 5.65452740e-01, 7.93731867e-01, -9.57138496e-01],
- [ 2.96218075e+00, 1.32835210e-01, -4.64923234e-01,
- -1.82610576e-01, -3.01323357e-01, 1.05463175e+00]],
-
- [[ 2.60133169e+00, 5.75744296e+00, 3.69744599e-01,
- -6.71420571e-01, 1.34168093e-02, -2.14608846e+00],
- [ 5.92436150e+00, -9.29846468e-01, 2.65670419e-01,
- -3.65221153e-01, 2.10926350e+00, -6.02646715e-01]],
-
- [[ -6.32753871e-01, -1.01010877e+01, -1.15078898e+00,
- 2.08901868e+00, 3.45065372e-02, -4.27037407e-03],
- [ -2.96218075e+00, 1.46118731e+00, -1.12909928e+00,
- 1.82610576e-01, -3.31455693e+00, 2.56124854e+00]],
-
- [[ 1.85982644e+00, 4.75292844e+00, 1.38159747e+00,
- -1.60411004e+00, -9.76342444e-01, 2.74910419e+00],
- [ 2.44114232e-01, 4.25300978e+00, -5.75730946e+00,
- -5.53748666e-01, 8.11352878e-01, 2.60100015e+00]],
-
- [[ -6.35415018e-01, -1.16818045e+01, -1.67148523e+00,
- 2.74873518e+00, 3.51804343e-01, -1.43784293e+00],
- [ 1.08801856e-14, -1.00103192e+01, 1.00103192e+01,
- 2.44249065e-14, 1.78964727e+00, -1.78964727e+00]],
-
- [[ 1.61571221e+00, 7.13890693e+00, 4.99918662e-01,
- -1.05036138e+00, 1.48104039e-01, -1.78769532e+00],
- [ -2.44114232e-01, 5.75730946e+00, -4.25300978e+00,
- 5.53748666e-01, -2.60100015e+00, -8.11352878e-01]],
-
- [[ 2.32942688e+00, -2.16896924e-02, -1.15622750e+01,
- 1.90640810e+00, -2.56551891e+00, 3.34906347e+00],
- [ 2.96218075e+00, 1.12909928e+00, -1.46118731e+00,
- -1.82610576e-01, -2.56124854e+00, 3.31455693e+00]],
-
- [[ -3.32302980e+00, 1.04074179e-01, 6.68728943e+00,
- -3.06199419e-01, -1.54344175e+00, -2.09584669e+00],
- [ -5.92436150e+00, -2.65670419e-01, 9.29846468e-01,
- 3.65221153e-01, 6.02646715e-01, -2.10926350e+00]],
-
- [[ -5.80496553e+00, -2.65803925e-01, -1.92358290e+00,
- 7.48063317e-01, -2.01177025e+00, 1.09505522e+00],
- [ -2.96218075e+00, 4.64923234e-01, -1.32835210e-01,
- 1.82610576e-01, -1.05463175e+00, 3.01323357e-01]],
-
- [[ 1.67566248e+01, -1.68318934e+01, 1.49533198e+01,
- -1.03300142e+00, 1.96926018e+01, -1.54312460e+01],
- [ 3.35132495e+01, -1.87857355e+00, -1.87857355e+00,
- -2.06600283e+00, 4.26135579e+00, 4.26135579e+00]],
-
- [[ 2.82503376e+01, 9.17612187e-01, -3.09705674e+01,
- 1.51714233e+01, 9.24055761e+00, 2.32121431e+00],
- [ 5.13064756e+01, 2.30077332e+00, -8.05270663e+00,
- -3.16290796e+00, -5.21907365e+00, 1.82667578e+01]],
-
- [[ -1.03125950e+01, -2.59334825e+01, -1.94780023e+01,
- 2.99298875e+01, -1.30772892e+01, 1.80366977e+01],
- [ -2.96218075e+01, 1.06268168e+01, -7.30593654e+00,
- 1.82610576e+00, -2.41058686e+01, 1.65727847e+01]],
-
- [[ -5.56045205e+00, 1.67566248e+01, 3.68187850e+00,
- -5.87553297e+00, -1.03300142e+00, 1.01368888e+01],
- [ -1.67566248e+01, -1.87857355e+00, 3.75714710e+00,
- 1.03300142e+00, 4.26135579e+00, -8.52271158e+00]],
-
- [[ 1.71175227e+01, 3.45115998e+00, 6.76404271e+00,
- -4.86317762e+00, -7.82861047e+00, 1.86226538e+01],
- [ -2.30100456e+01, 4.32267975e+00, 7.77383974e+00,
- 6.90770636e+00, 1.28385721e+01, 5.00996158e+00]],
-
- [[ -9.82958338e+00, 2.96218075e+01, 6.50870313e+00,
- -1.03865730e+01, -1.82610576e+00, 1.79196570e+01],
- [ 1.93890469e+01, 2.17369257e+00, 1.21363333e+01,
- 8.31228685e+00, 3.42899934e+01, 1.16907416e+01]]]), (1, 0): array([[[ -1.46118731e+00, 2.96218075e+00, 1.12909928e+00,
- 3.31455693e+00, -1.82610576e-01, -2.56124854e+00],
- [ 1.01010877e+01, 6.32753871e-01, 1.15078898e+00,
- -3.45065372e-02, -2.08901868e+00, 4.27037407e-03]],
-
- [[ 9.29846468e-01, -5.92436150e+00, -2.65670419e-01,
- -2.10926350e+00, 3.65221153e-01, 6.02646715e-01],
- [ -5.75744296e+00, -2.60133169e+00, -3.69744599e-01,
- -1.34168093e-02, 6.71420571e-01, 2.14608846e+00]],
-
- [[ -1.32835210e-01, -2.96218075e+00, 4.64923234e-01,
- 3.01323357e-01, 1.82610576e-01, -1.05463175e+00],
- [ 1.79074769e+00, 2.84278478e+00, 7.30727159e-01,
- -7.93731867e-01, -5.65452740e-01, 9.57138496e-01]],
-
- [[ 1.12909928e+00, 2.96218075e+00, -1.46118731e+00,
- -2.56124854e+00, -1.82610576e-01, 3.31455693e+00],
- [ -2.16896924e-02, 2.32942688e+00, -1.15622750e+01,
- -2.56551891e+00, 1.90640810e+00, 3.34906347e+00]],
-
- [[ -2.65670419e-01, -5.92436150e+00, 9.29846468e-01,
- 6.02646715e-01, 3.65221153e-01, -2.10926350e+00],
- [ 1.04074179e-01, -3.32302980e+00, 6.68728943e+00,
- -1.54344175e+00, -3.06199419e-01, -2.09584669e+00]],
-
- [[ 4.64923234e-01, -2.96218075e+00, -1.32835210e-01,
- -1.05463175e+00, 1.82610576e-01, 3.01323357e-01],
- [ -2.65803925e-01, -5.80496553e+00, -1.92358290e+00,
- -2.01177025e+00, 7.48063317e-01, 1.09505522e+00]],
-
- [[ 4.25300978e+00, 2.44114232e-01, -5.75730946e+00,
- 8.11352878e-01, -5.53748666e-01, 2.60100015e+00],
- [ 4.75292844e+00, 1.85982644e+00, 1.38159747e+00,
- -9.76342444e-01, -1.60411004e+00, 2.74910419e+00]],
-
- [[ -1.00103192e+01, 4.28783482e-15, 1.00103192e+01,
- 1.78964727e+00, -3.12446896e-15, -1.78964727e+00],
- [ -1.16818045e+01, -6.35415018e-01, -1.67148523e+00,
- 3.51804343e-01, 2.74873518e+00, -1.43784293e+00]],
-
- [[ 5.75730946e+00, -2.44114232e-01, -4.25300978e+00,
- -2.60100015e+00, 5.53748666e-01, -8.11352878e-01],
- [ 7.13890693e+00, 1.61571221e+00, 4.99918662e-01,
- 1.48104039e-01, -1.05036138e+00, -1.78769532e+00]],
-
- [[ -1.87857355e+00, -1.67566248e+01, 3.75714710e+00,
- 4.26135579e+00, 1.03300142e+00, -8.52271158e+00],
- [ 1.67566248e+01, -5.56045205e+00, 3.68187850e+00,
- -1.03300142e+00, -5.87553297e+00, 1.01368888e+01]],
-
- [[ 4.04381286e+00, 5.28638436e+00, 1.43972928e+01,
- 3.61152914e+01, 1.06525048e+01, 1.26294600e+01],
- [ 2.73788178e+01, 4.60924187e-02, 9.01872362e+00,
- -5.49575922e+00, -1.14266249e+01, 2.48302050e+01]],
-
- [[ 2.65670419e+00, -2.96218075e+01, 6.64176049e-01,
- -6.02646715e+00, 1.82610576e+00, -1.50661679e+00],
- [ -1.18221115e+01, 1.97390012e+01, 2.60348125e+00,
- -5.86672266e+00, 9.81651146e-01, 7.16786278e+00]],
-
- [[ -1.87857355e+00, 3.35132495e+01, -1.87857355e+00,
- 4.26135579e+00, -2.06600283e+00, 4.26135579e+00],
- [ -1.68318934e+01, 1.67566248e+01, 1.49533198e+01,
- 1.96926018e+01, -1.03300142e+00, -1.54312460e+01]],
-
- [[ 1.03534800e+01, 1.37292131e-13, -1.03534800e+01,
- -2.34858314e+01, 3.00430313e-15, 2.34858314e+01],
- [ -2.20002486e+01, 5.19419952e+00, -3.23537285e+01,
- -6.70498584e+00, 3.35057546e+01, 1.67808456e+01]],
-
- [[ -3.32088024e+00, 5.92436150e+01, -3.32088024e+00,
- 7.53308394e+00, -3.65221153e+00, 7.53308394e+00],
- [ 1.37614167e+01, 2.96218075e+01, -1.70822970e+01,
- 1.45412022e+01, -1.82610576e+00, -7.00811830e+00]]]), (0, 0): array([[[ -2.25727001e-01, -1.61287863e-01, -1.05300034e-01,
- 1.56610831e-02, 8.37516399e-02, 1.42911998e-01],
- [ 6.07168080e-01, 1.26094480e-01, 2.46521447e-01,
- 1.35717240e-01, -3.72616214e-01, -2.45365299e-01]],
-
- [[ 3.32587646e-01, 5.96892706e-01, 9.17337129e-02,
- -1.75812247e-01, 1.03469560e-01, -4.30314077e-01],
- [ -5.96892706e-01, -3.32587646e-01, -9.17337129e-02,
- -1.03469560e-01, 1.75812247e-01, 4.30314077e-01]],
-
- [[ -1.26094480e-01, -6.07168080e-01, -2.46521447e-01,
- 3.72616214e-01, -1.35717240e-01, 2.45365299e-01],
- [ 1.61287863e-01, 2.25727001e-01, 1.05300034e-01,
- -8.37516399e-02, -1.56610831e-02, -1.42911998e-01]],
-
- [[ 1.05300034e-01, 1.61287863e-01, 2.25727001e-01,
- -1.42911998e-01, -8.37516399e-02, -1.56610831e-02],
- [ 3.51821481e-01, 2.87382344e-01, 8.32895081e-01,
- -3.88277298e-01, -4.56367854e-01, 1.20056157e-01]],
-
- [[ -9.17337129e-02, -5.96892706e-01, -3.32587646e-01,
- 4.30314077e-01, -1.03469560e-01, 1.75812247e-01],
- [ -1.83467426e-01, -9.29480352e-01, -9.29480352e-01,
- 8.60628155e-01, 7.23426869e-02, 7.23426869e-02]],
-
- [[ 2.46521447e-01, 6.07168080e-01, 1.26094480e-01,
- -2.45365299e-01, 1.35717240e-01, -3.72616214e-01],
- [ 3.51821481e-01, 8.32895081e-01, 2.87382344e-01,
- -3.88277298e-01, 1.20056157e-01, -4.56367854e-01]],
-
- [[ 2.87382344e-01, 3.51821481e-01, 8.32895081e-01,
- -4.56367854e-01, -3.88277298e-01, 1.20056157e-01],
- [ 1.61287863e-01, 1.05300034e-01, 2.25727001e-01,
- -8.37516399e-02, -1.42911998e-01, -1.56610831e-02]],
-
- [[ -9.29480352e-01, -1.83467426e-01, -9.29480352e-01,
- 7.23426869e-02, 8.60628155e-01, 7.23426869e-02],
- [ -5.96892706e-01, -9.17337129e-02, -3.32587646e-01,
- -1.03469560e-01, 4.30314077e-01, 1.75812247e-01]],
-
- [[ 8.32895081e-01, 3.51821481e-01, 2.87382344e-01,
- 1.20056157e-01, -3.88277298e-01, -4.56367854e-01],
- [ 6.07168080e-01, 2.46521447e-01, 1.26094480e-01,
- 1.35717240e-01, -2.45365299e-01, -3.72616214e-01]],
-
- [[ 2.23437001e+00, 8.71894414e-01, 1.55313221e+00,
- 4.17598615e+00, 2.73630639e+00, 3.45614627e+00],
- [ 1.36991113e-14, -6.81237797e-01, 6.81237797e-01,
- -1.97064587e-15, -7.19839880e-01, 7.19839880e-01]],
-
- [[ 2.89591927e+00, 1.77974702e-01, -3.79148362e+00,
- -4.21971734e+00, 5.58546202e-01, 4.01437944e+00],
- [ -1.77974702e-01, -5.95145951e-01, 1.49071029e+00,
- -5.58546202e-01, -9.99356303e-01, 1.20469420e+00]],
-
- [[ -1.87746726e+00, 6.20210589e+00, -3.08173692e+00,
- 1.79130134e+00, -2.92186826e+00, 5.18792192e-01],
- [ -3.08261226e-01, 1.37771630e+00, 1.73446640e-01,
- -9.67430400e-01, 8.14082413e-01, -4.58426739e-01]],
-
- [[ -6.81237797e-01, 1.77268277e-14, 6.81237797e-01,
- -7.19839880e-01, -6.75246453e-16, 7.19839880e-01],
- [ 8.71894414e-01, 2.23437001e+00, 1.55313221e+00,
- 2.73630639e+00, 4.17598615e+00, 3.45614627e+00]],
-
- [[ 8.95564343e-01, -3.55949404e-01, 8.95564343e-01,
- 2.05337899e-01, -1.11709240e+00, 2.05337899e-01],
- [ 5.46016861e+00, -1.77974702e-01, -4.56460427e+00,
- -2.25113904e+00, -5.58546202e-01, 2.45647694e+00]],
-
- [[ -1.20426966e+00, 3.32963584e-14, 1.20426966e+00,
- -1.27250915e+00, -8.16768684e-17, 1.27250915e+00],
- [ -2.94692233e+00, 3.44667329e+00, -1.74265267e+00,
- 1.94464933e+00, -4.55003309e+00, 3.21715848e+00]]])}}}, VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
- -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 8.88178420e-16, 8.88178420e-16, 8.88178420e-16,
- 8.88178420e-16, 8.88178420e-16, 8.88178420e-16]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
- 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1., -1., -1., -1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 1., 1., 1., 1., 1., 1.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [-1., -1., -1., -1., -1., -1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 1., 1., 1., 1., 1., 1.]],
-
- [[ 0., 0., 0., 0., 0., 0.],
- [ 0., 0., 0., 0., 0., 0.]]]), (0, 0): array([[[ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0. , 0. ,
- 0. ]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0.44594849, 0.44594849,
- 0.10810302]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0.10810302, 0.44594849,
- 0.44594849]],
-
- [[ 0. , 0. , 0. , 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.81684757, 0.09157621, 0.44594849, 0.10810302,
- 0.44594849]]])}}}}}
-
- QG-utils, psi_tables, flat_tables:
- {'FE0_C1_D01': array([[ 2.96218075e+00, 5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 1.08801856e-14, -2.44114232e-01,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 3.35132495e+01, 5.13064756e+01, -2.96218075e+01,
- -1.67566248e+01, -2.30100456e+01, 1.93890469e+01],
- [ 1.32835210e-01, -9.29846468e-01, 1.46118731e+00,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.87857355e+00, 2.30077332e+00, 1.06268168e+01,
- -1.87857355e+00, 4.32267975e+00, 2.17369257e+00],
- [ -4.64923234e-01, 2.65670419e-01, -1.12909928e+00,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -1.87857355e+00, -8.05270663e+00, -7.30593654e+00,
- 3.75714710e+00, 7.77383974e+00, 1.21363333e+01],
- [ -1.82610576e-01, -3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, 2.44249065e-14, 5.53748666e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -2.06600283e+00, -3.16290796e+00, 1.82610576e+00,
- 1.03300142e+00, 6.90770636e+00, 8.31228685e+00],
- [ -3.01323357e-01, 2.10926350e+00, -3.31455693e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 4.26135579e+00, -5.21907365e+00, -2.41058686e+01,
- 4.26135579e+00, 1.28385721e+01, 3.42899934e+01],
- [ 1.05463175e+00, -6.02646715e-01, 2.56124854e+00,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 4.26135579e+00, 1.82667578e+01, 1.65727847e+01,
- -8.52271158e+00, 5.00996158e+00, 1.16907416e+01]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C1_D10': array([[ 1.01010877e+01, -5.75744296e+00, 1.79074769e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- 1.67566248e+01, 2.73788178e+01, -1.18221115e+01,
- -1.68318934e+01, -2.20002486e+01, 1.37614167e+01],
- [ 6.32753871e-01, -2.60133169e+00, 2.84278478e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- -5.56045205e+00, 4.60924187e-02, 1.97390012e+01,
- 1.67566248e+01, 5.19419952e+00, 2.96218075e+01],
- [ 1.15078898e+00, -3.69744599e-01, 7.30727159e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- 3.68187850e+00, 9.01872362e+00, 2.60348125e+00,
- 1.49533198e+01, -3.23537285e+01, -1.70822970e+01],
- [ -3.45065372e-02, -1.34168093e-02, -7.93731867e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -1.03300142e+00, -5.49575922e+00, -5.86672266e+00,
- 1.96926018e+01, -6.70498584e+00, 1.45412022e+01],
- [ -2.08901868e+00, 6.71420571e-01, -5.65452740e-01,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- -5.87553297e+00, -1.14266249e+01, 9.81651146e-01,
- -1.03300142e+00, 3.35057546e+01, -1.82610576e+00],
- [ 4.27037407e-03, 2.14608846e+00, 9.57138496e-01,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 1.01368888e+01, 2.48302050e+01, 7.16786278e+00,
- -1.54312460e+01, 1.67808456e+01, -7.00811830e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_C0_D10': array([[ -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- -1.87857355e+00, 4.04381286e+00, 2.65670419e+00,
- -1.87857355e+00, 1.03534800e+01, -3.32088024e+00],
- [ 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 4.28783482e-15, -2.44114232e-01,
- -1.67566248e+01, 5.28638436e+00, -2.96218075e+01,
- 3.35132495e+01, 1.37292131e-13, 5.92436150e+01],
- [ 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- 3.75714710e+00, 1.43972928e+01, 6.64176049e-01,
- -1.87857355e+00, -1.03534800e+01, -3.32088024e+00],
- [ 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- 4.26135579e+00, 3.61152914e+01, -6.02646715e+00,
- 4.26135579e+00, -2.34858314e+01, 7.53308394e+00],
- [ -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, -3.12446896e-15, 5.53748666e-01,
- 1.03300142e+00, 1.06525048e+01, 1.82610576e+00,
- -2.06600283e+00, 3.00430313e-15, -3.65221153e+00],
- [ -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- -8.52271158e+00, 1.26294600e+01, -1.50661679e+00,
- 4.26135579e+00, 2.34858314e+01, 7.53308394e+00]]), 'FE0_C0_D01': array([[ -2.84278478e+00, 2.60133169e+00, -6.32753871e-01,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.67566248e+01, 2.82503376e+01, -1.03125950e+01,
- -5.56045205e+00, 1.71175227e+01, -9.82958338e+00],
- [ -1.79074769e+00, 5.75744296e+00, -1.01010877e+01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- -1.68318934e+01, 9.17612187e-01, -2.59334825e+01,
- 1.67566248e+01, 3.45115998e+00, 2.96218075e+01],
- [ -7.30727159e-01, 3.69744599e-01, -1.15078898e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.49533198e+01, -3.09705674e+01, -1.94780023e+01,
- 3.68187850e+00, 6.76404271e+00, 6.50870313e+00],
- [ 5.65452740e-01, -6.71420571e-01, 2.08901868e+00,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.03300142e+00, 1.51714233e+01, 2.99298875e+01,
- -5.87553297e+00, -4.86317762e+00, -1.03865730e+01],
- [ 7.93731867e-01, 1.34168093e-02, 3.45065372e-02,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- 1.96926018e+01, 9.24055761e+00, -1.30772892e+01,
- -1.03300142e+00, -7.82861047e+00, -1.82610576e+00],
- [ -9.57138496e-01, -2.14608846e+00, -4.27037407e-03,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- -1.54312460e+01, 2.32121431e+00, 1.80366977e+01,
- 1.01368888e+01, 1.86226538e+01, 1.79196570e+01]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C1': array([[ 6.07168080e-01, -5.96892706e-01, 1.61287863e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 1.36991113e-14, -1.77974702e-01, -3.08261226e-01,
- 8.71894414e-01, 5.46016861e+00, -2.94692233e+00],
- [ 1.26094480e-01, -3.32587646e-01, 2.25727001e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- -6.81237797e-01, -5.95145951e-01, 1.37771630e+00,
- 2.23437001e+00, -1.77974702e-01, 3.44667329e+00],
- [ 2.46521447e-01, -9.17337129e-02, 1.05300034e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 6.81237797e-01, 1.49071029e+00, 1.73446640e-01,
- 1.55313221e+00, -4.56460427e+00, -1.74265267e+00],
- [ 1.35717240e-01, -1.03469560e-01, -8.37516399e-02,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- -1.97064587e-15, -5.58546202e-01, -9.67430400e-01,
- 2.73630639e+00, -2.25113904e+00, 1.94464933e+00],
- [ -3.72616214e-01, 1.75812247e-01, -1.56610831e-02,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -7.19839880e-01, -9.99356303e-01, 8.14082413e-01,
- 4.17598615e+00, -5.58546202e-01, -4.55003309e+00],
- [ -2.45365299e-01, 4.30314077e-01, -1.42911998e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 7.19839880e-01, 1.20469420e+00, -4.58426739e-01,
- 3.45614627e+00, 2.45647694e+00, 3.21715848e+00]]), 'FE0_C0': array([[ -2.25727001e-01, 3.32587646e-01, -1.26094480e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 2.23437001e+00, 2.89591927e+00, -1.87746726e+00,
- -6.81237797e-01, 8.95564343e-01, -1.20426966e+00],
- [ -1.61287863e-01, 5.96892706e-01, -6.07168080e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 8.71894414e-01, 1.77974702e-01, 6.20210589e+00,
- 1.77268277e-14, -3.55949404e-01, 3.32963584e-14],
- [ -1.05300034e-01, 9.17337129e-02, -2.46521447e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 1.55313221e+00, -3.79148362e+00, -3.08173692e+00,
- 6.81237797e-01, 8.95564343e-01, 1.20426966e+00],
- [ 1.56610831e-02, -1.75812247e-01, 3.72616214e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- 4.17598615e+00, -4.21971734e+00, 1.79130134e+00,
- -7.19839880e-01, 2.05337899e-01, -1.27250915e+00],
- [ 8.37516399e-02, 1.03469560e-01, -1.35717240e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- 2.73630639e+00, 5.58546202e-01, -2.92186826e+00,
- -6.75246453e-16, -1.11709240e+00, -8.16768684e-17],
- [ 1.42911998e-01, -4.30314077e-01, 2.45365299e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- 3.45614627e+00, 4.01437944e+00, 5.18792192e-01,
- 7.19839880e-01, 2.05337899e-01, 1.27250915e+00]])}
-
- tables: {'FE0_C1_D01': array([[ 2.96218075e+00, 5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 1.08801856e-14, -2.44114232e-01,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 3.35132495e+01, 5.13064756e+01, -2.96218075e+01,
- -1.67566248e+01, -2.30100456e+01, 1.93890469e+01],
- [ 1.32835210e-01, -9.29846468e-01, 1.46118731e+00,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.87857355e+00, 2.30077332e+00, 1.06268168e+01,
- -1.87857355e+00, 4.32267975e+00, 2.17369257e+00],
- [ -4.64923234e-01, 2.65670419e-01, -1.12909928e+00,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -1.87857355e+00, -8.05270663e+00, -7.30593654e+00,
- 3.75714710e+00, 7.77383974e+00, 1.21363333e+01],
- [ -1.82610576e-01, -3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, 2.44249065e-14, 5.53748666e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -2.06600283e+00, -3.16290796e+00, 1.82610576e+00,
- 1.03300142e+00, 6.90770636e+00, 8.31228685e+00],
- [ -3.01323357e-01, 2.10926350e+00, -3.31455693e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 4.26135579e+00, -5.21907365e+00, -2.41058686e+01,
- 4.26135579e+00, 1.28385721e+01, 3.42899934e+01],
- [ 1.05463175e+00, -6.02646715e-01, 2.56124854e+00,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 4.26135579e+00, 1.82667578e+01, 1.65727847e+01,
- -8.52271158e+00, 5.00996158e+00, 1.16907416e+01]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.09157621, 0.09157621, 0.81684757, 0. , 0. ,
- 0. ],
- [ 0.81684757, 0.09157621, 0.09157621, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.10810302, 0.44594849, 0. , 0. ,
- 0. ],
- [ 0.44594849, 0.44594849, 0.10810302, 0. , 0. ,
- 0. ],
- [ 0.10810302, 0.44594849, 0.44594849, 0. , 0. ,
- 0. ]]), 'FE1_C1': array([[ 0. , 0. , 0. , 0.09157621, 0.81684757,
- 0.09157621],
- [ 0. , 0. , 0. , 0.09157621, 0.09157621,
- 0.81684757],
- [ 0. , 0. , 0. , 0.81684757, 0.09157621,
- 0.09157621],
- [ 0. , 0. , 0. , 0.44594849, 0.10810302,
- 0.44594849],
- [ 0. , 0. , 0. , 0.44594849, 0.44594849,
- 0.10810302],
- [ 0. , 0. , 0. , 0.10810302, 0.44594849,
- 0.44594849]]), 'FE0_C1_D10': array([[ 1.01010877e+01, -5.75744296e+00, 1.79074769e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- 1.67566248e+01, 2.73788178e+01, -1.18221115e+01,
- -1.68318934e+01, -2.20002486e+01, 1.37614167e+01],
- [ 6.32753871e-01, -2.60133169e+00, 2.84278478e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- -5.56045205e+00, 4.60924187e-02, 1.97390012e+01,
- 1.67566248e+01, 5.19419952e+00, 2.96218075e+01],
- [ 1.15078898e+00, -3.69744599e-01, 7.30727159e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- 3.68187850e+00, 9.01872362e+00, 2.60348125e+00,
- 1.49533198e+01, -3.23537285e+01, -1.70822970e+01],
- [ -3.45065372e-02, -1.34168093e-02, -7.93731867e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -1.03300142e+00, -5.49575922e+00, -5.86672266e+00,
- 1.96926018e+01, -6.70498584e+00, 1.45412022e+01],
- [ -2.08901868e+00, 6.71420571e-01, -5.65452740e-01,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- -5.87553297e+00, -1.14266249e+01, 9.81651146e-01,
- -1.03300142e+00, 3.35057546e+01, -1.82610576e+00],
- [ 4.27037407e-03, 2.14608846e+00, 9.57138496e-01,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 1.01368888e+01, 2.48302050e+01, 7.16786278e+00,
- -1.54312460e+01, 1.67808456e+01, -7.00811830e+00]]), 'FE1_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.],
- [ 0., 0., 0., -1., 1., 0.]]), 'FE0_C0_D10': array([[ -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- -1.87857355e+00, 4.04381286e+00, 2.65670419e+00,
- -1.87857355e+00, 1.03534800e+01, -3.32088024e+00],
- [ 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 4.28783482e-15, -2.44114232e-01,
- -1.67566248e+01, 5.28638436e+00, -2.96218075e+01,
- 3.35132495e+01, 1.37292131e-13, 5.92436150e+01],
- [ 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- 3.75714710e+00, 1.43972928e+01, 6.64176049e-01,
- -1.87857355e+00, -1.03534800e+01, -3.32088024e+00],
- [ 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- 4.26135579e+00, 3.61152914e+01, -6.02646715e+00,
- 4.26135579e+00, -2.34858314e+01, 7.53308394e+00],
- [ -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, -3.12446896e-15, 5.53748666e-01,
- 1.03300142e+00, 1.06525048e+01, 1.82610576e+00,
- -2.06600283e+00, 3.00430313e-15, -3.65221153e+00],
- [ -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- -8.52271158e+00, 1.26294600e+01, -1.50661679e+00,
- 4.26135579e+00, 2.34858314e+01, 7.53308394e+00]]), 'FE0_C0_D01': array([[ -2.84278478e+00, 2.60133169e+00, -6.32753871e-01,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.67566248e+01, 2.82503376e+01, -1.03125950e+01,
- -5.56045205e+00, 1.71175227e+01, -9.82958338e+00],
- [ -1.79074769e+00, 5.75744296e+00, -1.01010877e+01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- -1.68318934e+01, 9.17612187e-01, -2.59334825e+01,
- 1.67566248e+01, 3.45115998e+00, 2.96218075e+01],
- [ -7.30727159e-01, 3.69744599e-01, -1.15078898e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.49533198e+01, -3.09705674e+01, -1.94780023e+01,
- 3.68187850e+00, 6.76404271e+00, 6.50870313e+00],
- [ 5.65452740e-01, -6.71420571e-01, 2.08901868e+00,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.03300142e+00, 1.51714233e+01, 2.99298875e+01,
- -5.87553297e+00, -4.86317762e+00, -1.03865730e+01],
- [ 7.93731867e-01, 1.34168093e-02, 3.45065372e-02,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- 1.96926018e+01, 9.24055761e+00, -1.30772892e+01,
- -1.03300142e+00, -7.82861047e+00, -1.82610576e+00],
- [ -9.57138496e-01, -2.14608846e+00, -4.27037407e-03,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- -1.54312460e+01, 2.32121431e+00, 1.80366977e+01,
- 1.01368888e+01, 1.86226538e+01, 1.79196570e+01]]), 'FE1_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
- -1.00000000e+00, 8.88178420e-16, 1.00000000e+00]]), 'FE1_C0_D01': array([[ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ -1.00000000e+00, 8.88178420e-16, 1.00000000e+00,
- 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.],
- [-1., 1., 0., 0., 0., 0.]]), 'FE0_C1': array([[ 6.07168080e-01, -5.96892706e-01, 1.61287863e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 1.36991113e-14, -1.77974702e-01, -3.08261226e-01,
- 8.71894414e-01, 5.46016861e+00, -2.94692233e+00],
- [ 1.26094480e-01, -3.32587646e-01, 2.25727001e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- -6.81237797e-01, -5.95145951e-01, 1.37771630e+00,
- 2.23437001e+00, -1.77974702e-01, 3.44667329e+00],
- [ 2.46521447e-01, -9.17337129e-02, 1.05300034e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 6.81237797e-01, 1.49071029e+00, 1.73446640e-01,
- 1.55313221e+00, -4.56460427e+00, -1.74265267e+00],
- [ 1.35717240e-01, -1.03469560e-01, -8.37516399e-02,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- -1.97064587e-15, -5.58546202e-01, -9.67430400e-01,
- 2.73630639e+00, -2.25113904e+00, 1.94464933e+00],
- [ -3.72616214e-01, 1.75812247e-01, -1.56610831e-02,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -7.19839880e-01, -9.99356303e-01, 8.14082413e-01,
- 4.17598615e+00, -5.58546202e-01, -4.55003309e+00],
- [ -2.45365299e-01, 4.30314077e-01, -1.42911998e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 7.19839880e-01, 1.20469420e+00, -4.58426739e-01,
- 3.45614627e+00, 2.45647694e+00, 3.21715848e+00]]), 'FE0_C0': array([[ -2.25727001e-01, 3.32587646e-01, -1.26094480e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 2.23437001e+00, 2.89591927e+00, -1.87746726e+00,
- -6.81237797e-01, 8.95564343e-01, -1.20426966e+00],
- [ -1.61287863e-01, 5.96892706e-01, -6.07168080e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 8.71894414e-01, 1.77974702e-01, 6.20210589e+00,
- 1.77268277e-14, -3.55949404e-01, 3.32963584e-14],
- [ -1.05300034e-01, 9.17337129e-02, -2.46521447e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 1.55313221e+00, -3.79148362e+00, -3.08173692e+00,
- 6.81237797e-01, 8.95564343e-01, 1.20426966e+00],
- [ 1.56610831e-02, -1.75812247e-01, 3.72616214e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- 4.17598615e+00, -4.21971734e+00, 1.79130134e+00,
- -7.19839880e-01, 2.05337899e-01, -1.27250915e+00],
- [ 8.37516399e-02, 1.03469560e-01, -1.35717240e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- 2.73630639e+00, 5.58546202e-01, -2.92186826e+00,
- -6.75246453e-16, -1.11709240e+00, -8.16768684e-17],
- [ 1.42911998e-01, -4.30314077e-01, 2.45365299e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- 3.45614627e+00, 4.01437944e+00, 5.18792192e-01,
- 7.19839880e-01, 2.05337899e-01, 1.27250915e+00]])}
-
- name_map: {}
-
- inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1': 'FE1_C1', 'FE0_C1_D10': 'FE0_C1_D10', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE1_C1_D01': 'FE1_C1_D01', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
-
- QG-utils, psi_tables, unique_tables:
- {'FE0_C1_D01': array([[ 2.96218075e+00, 5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 1.08801856e-14, -2.44114232e-01,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 3.35132495e+01, 5.13064756e+01, -2.96218075e+01,
- -1.67566248e+01, -2.30100456e+01, 1.93890469e+01],
- [ 1.32835210e-01, -9.29846468e-01, 1.46118731e+00,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.87857355e+00, 2.30077332e+00, 1.06268168e+01,
- -1.87857355e+00, 4.32267975e+00, 2.17369257e+00],
- [ -4.64923234e-01, 2.65670419e-01, -1.12909928e+00,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -1.87857355e+00, -8.05270663e+00, -7.30593654e+00,
- 3.75714710e+00, 7.77383974e+00, 1.21363333e+01],
- [ -1.82610576e-01, -3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, 2.44249065e-14, 5.53748666e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -2.06600283e+00, -3.16290796e+00, 1.82610576e+00,
- 1.03300142e+00, 6.90770636e+00, 8.31228685e+00],
- [ -3.01323357e-01, 2.10926350e+00, -3.31455693e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 4.26135579e+00, -5.21907365e+00, -2.41058686e+01,
- 4.26135579e+00, 1.28385721e+01, 3.42899934e+01],
- [ 1.05463175e+00, -6.02646715e-01, 2.56124854e+00,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 4.26135579e+00, 1.82667578e+01, 1.65727847e+01,
- -8.52271158e+00, 5.00996158e+00, 1.16907416e+01]]), 'FE1_C0': array([[ 0.09157621, 0.81684757, 0.09157621],
- [ 0.09157621, 0.09157621, 0.81684757],
- [ 0.81684757, 0.09157621, 0.09157621],
- [ 0.44594849, 0.10810302, 0.44594849],
- [ 0.44594849, 0.44594849, 0.10810302],
- [ 0.10810302, 0.44594849, 0.44594849]]), 'FE0_C1_D10': array([[ 1.01010877e+01, -5.75744296e+00, 1.79074769e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- 1.67566248e+01, 2.73788178e+01, -1.18221115e+01,
- -1.68318934e+01, -2.20002486e+01, 1.37614167e+01],
- [ 6.32753871e-01, -2.60133169e+00, 2.84278478e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- -5.56045205e+00, 4.60924187e-02, 1.97390012e+01,
- 1.67566248e+01, 5.19419952e+00, 2.96218075e+01],
- [ 1.15078898e+00, -3.69744599e-01, 7.30727159e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- 3.68187850e+00, 9.01872362e+00, 2.60348125e+00,
- 1.49533198e+01, -3.23537285e+01, -1.70822970e+01],
- [ -3.45065372e-02, -1.34168093e-02, -7.93731867e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -1.03300142e+00, -5.49575922e+00, -5.86672266e+00,
- 1.96926018e+01, -6.70498584e+00, 1.45412022e+01],
- [ -2.08901868e+00, 6.71420571e-01, -5.65452740e-01,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- -5.87553297e+00, -1.14266249e+01, 9.81651146e-01,
- -1.03300142e+00, 3.35057546e+01, -1.82610576e+00],
- [ 4.27037407e-03, 2.14608846e+00, 9.57138496e-01,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 1.01368888e+01, 2.48302050e+01, 7.16786278e+00,
- -1.54312460e+01, 1.67808456e+01, -7.00811830e+00]]), 'FE0_C0_D10': array([[ -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- 4.25300978e+00, -1.00103192e+01, 5.75730946e+00,
- -1.87857355e+00, 4.04381286e+00, 2.65670419e+00,
- -1.87857355e+00, 1.03534800e+01, -3.32088024e+00],
- [ 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.96218075e+00, -5.92436150e+00, -2.96218075e+00,
- 2.44114232e-01, 0.00000000e+00, -2.44114232e-01,
- -1.67566248e+01, 5.28638436e+00, -2.96218075e+01,
- 3.35132495e+01, 1.37292131e-13, 5.92436150e+01],
- [ 1.12909928e+00, -2.65670419e-01, 4.64923234e-01,
- -1.46118731e+00, 9.29846468e-01, -1.32835210e-01,
- -5.75730946e+00, 1.00103192e+01, -4.25300978e+00,
- 3.75714710e+00, 1.43972928e+01, 6.64176049e-01,
- -1.87857355e+00, -1.03534800e+01, -3.32088024e+00],
- [ 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 8.11352878e-01, 1.78964727e+00, -2.60100015e+00,
- 4.26135579e+00, 3.61152914e+01, -6.02646715e+00,
- 4.26135579e+00, -2.34858314e+01, 7.53308394e+00],
- [ -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -1.82610576e-01, 3.65221153e-01, 1.82610576e-01,
- -5.53748666e-01, 0.00000000e+00, 5.53748666e-01,
- 1.03300142e+00, 1.06525048e+01, 1.82610576e+00,
- -2.06600283e+00, 0.00000000e+00, -3.65221153e+00],
- [ -2.56124854e+00, 6.02646715e-01, -1.05463175e+00,
- 3.31455693e+00, -2.10926350e+00, 3.01323357e-01,
- 2.60100015e+00, -1.78964727e+00, -8.11352878e-01,
- -8.52271158e+00, 1.26294600e+01, -1.50661679e+00,
- 4.26135579e+00, 2.34858314e+01, 7.53308394e+00]]), 'FE0_C0_D01': array([[ -2.84278478e+00, 2.60133169e+00, -6.32753871e-01,
- 1.85982644e+00, -6.35415018e-01, 1.61571221e+00,
- 2.32942688e+00, -3.32302980e+00, -5.80496553e+00,
- 1.67566248e+01, 2.82503376e+01, -1.03125950e+01,
- -5.56045205e+00, 1.71175227e+01, -9.82958338e+00],
- [ -1.79074769e+00, 5.75744296e+00, -1.01010877e+01,
- 4.75292844e+00, -1.16818045e+01, 7.13890693e+00,
- -2.16896924e-02, 1.04074179e-01, -2.65803925e-01,
- -1.68318934e+01, 9.17612187e-01, -2.59334825e+01,
- 1.67566248e+01, 3.45115998e+00, 2.96218075e+01],
- [ -7.30727159e-01, 3.69744599e-01, -1.15078898e+00,
- 1.38159747e+00, -1.67148523e+00, 4.99918662e-01,
- -1.15622750e+01, 6.68728943e+00, -1.92358290e+00,
- 1.49533198e+01, -3.09705674e+01, -1.94780023e+01,
- 3.68187850e+00, 6.76404271e+00, 6.50870313e+00],
- [ 5.65452740e-01, -6.71420571e-01, 2.08901868e+00,
- -1.60411004e+00, 2.74873518e+00, -1.05036138e+00,
- 1.90640810e+00, -3.06199419e-01, 7.48063317e-01,
- -1.03300142e+00, 1.51714233e+01, 2.99298875e+01,
- -5.87553297e+00, -4.86317762e+00, -1.03865730e+01],
- [ 7.93731867e-01, 1.34168093e-02, 3.45065372e-02,
- -9.76342444e-01, 3.51804343e-01, 1.48104039e-01,
- -2.56551891e+00, -1.54344175e+00, -2.01177025e+00,
- 1.96926018e+01, 9.24055761e+00, -1.30772892e+01,
- -1.03300142e+00, -7.82861047e+00, -1.82610576e+00],
- [ -9.57138496e-01, -2.14608846e+00, -4.27037407e-03,
- 2.74910419e+00, -1.43784293e+00, -1.78769532e+00,
- 3.34906347e+00, -2.09584669e+00, 1.09505522e+00,
- -1.54312460e+01, 2.32121431e+00, 1.80366977e+01,
- 1.01368888e+01, 1.86226538e+01, 1.79196570e+01]]), 'FE1_C0_D01': array([[-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.],
- [-1., 1.]]), 'FE0_C1': array([[ 6.07168080e-01, -5.96892706e-01, 1.61287863e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 1.36991113e-14, -1.77974702e-01, -3.08261226e-01,
- 8.71894414e-01, 5.46016861e+00, -2.94692233e+00],
- [ 1.26094480e-01, -3.32587646e-01, 2.25727001e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- -6.81237797e-01, -5.95145951e-01, 1.37771630e+00,
- 2.23437001e+00, -1.77974702e-01, 3.44667329e+00],
- [ 2.46521447e-01, -9.17337129e-02, 1.05300034e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 6.81237797e-01, 1.49071029e+00, 1.73446640e-01,
- 1.55313221e+00, -4.56460427e+00, -1.74265267e+00],
- [ 1.35717240e-01, -1.03469560e-01, -8.37516399e-02,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- 0.00000000e+00, -5.58546202e-01, -9.67430400e-01,
- 2.73630639e+00, -2.25113904e+00, 1.94464933e+00],
- [ -3.72616214e-01, 1.75812247e-01, -1.56610831e-02,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -7.19839880e-01, -9.99356303e-01, 8.14082413e-01,
- 4.17598615e+00, -5.58546202e-01, -4.55003309e+00],
- [ -2.45365299e-01, 4.30314077e-01, -1.42911998e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 7.19839880e-01, 1.20469420e+00, -4.58426739e-01,
- 3.45614627e+00, 2.45647694e+00, 3.21715848e+00]]), 'FE0_C0': array([[ -2.25727001e-01, 3.32587646e-01, -1.26094480e-01,
- 1.05300034e-01, -9.17337129e-02, 2.46521447e-01,
- 2.87382344e-01, -9.29480352e-01, 8.32895081e-01,
- 2.23437001e+00, 2.89591927e+00, -1.87746726e+00,
- -6.81237797e-01, 8.95564343e-01, -1.20426966e+00],
- [ -1.61287863e-01, 5.96892706e-01, -6.07168080e-01,
- 1.61287863e-01, -5.96892706e-01, 6.07168080e-01,
- 3.51821481e-01, -1.83467426e-01, 3.51821481e-01,
- 8.71894414e-01, 1.77974702e-01, 6.20210589e+00,
- 1.77268277e-14, -3.55949404e-01, 3.32963584e-14],
- [ -1.05300034e-01, 9.17337129e-02, -2.46521447e-01,
- 2.25727001e-01, -3.32587646e-01, 1.26094480e-01,
- 8.32895081e-01, -9.29480352e-01, 2.87382344e-01,
- 1.55313221e+00, -3.79148362e+00, -3.08173692e+00,
- 6.81237797e-01, 8.95564343e-01, 1.20426966e+00],
- [ 1.56610831e-02, -1.75812247e-01, 3.72616214e-01,
- -1.42911998e-01, 4.30314077e-01, -2.45365299e-01,
- -4.56367854e-01, 7.23426869e-02, 1.20056157e-01,
- 4.17598615e+00, -4.21971734e+00, 1.79130134e+00,
- -7.19839880e-01, 2.05337899e-01, -1.27250915e+00],
- [ 8.37516399e-02, 1.03469560e-01, -1.35717240e-01,
- -8.37516399e-02, -1.03469560e-01, 1.35717240e-01,
- -3.88277298e-01, 8.60628155e-01, -3.88277298e-01,
- 2.73630639e+00, 5.58546202e-01, -2.92186826e+00,
- 0.00000000e+00, -1.11709240e+00, 0.00000000e+00],
- [ 1.42911998e-01, -4.30314077e-01, 2.45365299e-01,
- -1.56610831e-02, 1.75812247e-01, -3.72616214e-01,
- 1.20056157e-01, 7.23426869e-02, -4.56367854e-01,
- 3.45614627e+00, 4.01437944e+00, 5.18792192e-01,
- 7.19839880e-01, 2.05337899e-01, 1.27250915e+00]])}
-
- QG-utils, psi_tables, name_map:
- {'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE1_C0': ('FE1_C0', (0, [0, 1, 2]), False, False), 'FE1_C1': ('FE1_C0', (3, [3, 4, 5]), False, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE1_C1_D10': ('FE1_C0_D01', (5, [3, 4]), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (), False, False), 'FE1_C1_D01': ('FE1_C0_D01', (4, [3, 5]), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (1, [0, 2]), False, False), 'FE1_C0_D10': ('FE1_C0 [...]
- Transforming cell integral
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 900 entries computed in 0.000904 seconds
- Shape of reference tensor: (15, 15, 2, 2)
- Primary multi index: rank = 2 dims = [15, 15] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [0, 10], [0, 11], [0, 12], [0, 13], [0, 14], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [1, 10], [1, 11], [1, 12], [1, 13], [1, 14], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [2, 10], [2, 11], [2, 12], [2, 13], [2, 14], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [...]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0947719 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
- Optimising expressions for cell integral
-
-Compiler stage 3 finished in 0.00343108 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Removing unused variable: circumradius
- Removing unused variable: v0v1
- Removing unused variable: v0v2
- Removing unused variable: v1v2
- Removing unused variable: volume
- Generating code for forms
-
-Compiler stage 4 finished in 0.34591 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000487089 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000730991 seconds.
-
-FFC finished in 0.871719 seconds.
-Output written to ./Forms.h.
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..932b798
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1 @@
+# Empty file
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 0c777d9..8549e1d 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -15,6 +15,95 @@
import sys
import os
+
+# Create demo CMakeLists.txt files
+current_dir = os.getcwd()
+os.chdir("../../")
+os.system('python ./cmake/scripts/generate-cmakefiles.py')
+os.chdir(current_dir)
+
+# Copy demo files into doc directory
+
+# Check that we can find pylint.py for converting foo.py.rst to foo.py
+pylit_parser = "../../utils/pylit/pylit.py"
+if os.path.isfile(pylit_parser):
+ pass
+else:
+ raise RuntimeError("Cannot find pylit.py")
+
+import shutil
+
+# Directories to scan
+subdirs = ["../../demo"]
+
+# Copy demo rst files into doc source tree, and generate .py files
+# from all .py.rst files
+
+# Create directory to copy demos into
+demo_dir = './demos'
+if not os.path.exists(demo_dir):
+ os.makedirs(demo_dir)
+
+topdir = os.getcwd()
+for subdir in subdirs:
+ for root, dirs, files in os.walk(subdir):
+
+ # Check for .py.rst files
+ #extensions = ['.py.rst', '.cpp.py']
+ rstfiles = [f for f in files if len(f) > 7 and (f[-7:] == ".py.rst" or
+ f[-8:] == ".cpp.rst" or
+ f[-8:] == ".ufl.rst")]
+ #print(files)
+ if len(rstfiles) == 0:
+ continue
+
+ # Check if we have Python or C++ code
+ cpp_files = [f for f in files if len(f) > 8 and (f[-8:] == ".cpp.rst" or f[-8:] == ".ufl.rst")]
+ py_files = [f for f in files if len(f) > 7 and f[-7:] == ".py.rst"]
+
+ if len(cpp_files) > 0 and len(py_files) > 0:
+ raise RuntimeError("Ooops, don't know how to handle directiries with C++ and Python demos")
+
+ # Copy files to doc directory, and run pylit on file if required
+ print("Converting rst files in in {} ...".format(root))
+ for f in files:
+ print(f)
+ if py_files:
+ # Copy files into documentation demo directory
+ shutil.copy(os.path.join(root, f), './demos/')
+
+ # If file is an rst file, run pylit on file
+ if f in rstfiles:
+ command = pylit_parser + " " + './demos/' + f
+ ret = os.system(command)
+ if not ret == 0:
+ raise RuntimeError("Unable to convert rst file to a .cpp/py ({})".format(f))
+ elif cpp_files:
+ # Trim cpp from path
+ demo_root = os.path.split(root)[0]
+
+ # Get demo name
+ demo_name = os.path.split(demo_root)[1]
+
+ # Copy files into documentation demo directory
+ print("Copy")
+ print(f)
+ print('./demos/' + demo_name)
+ demo_dir = './demos/' + demo_name + '/'
+ if not os.path.exists(demo_dir):
+ os.makedirs(demo_dir)
+ shutil.copy(os.path.join(root, f), demo_dir)
+
+ # If file is an rst file, run pylit on file
+ if f in rstfiles:
+ command = pylit_parser + " " + demo_dir + f
+ ret = os.system(command)
+ if not ret == 0:
+ raise RuntimeError("Unable to convert rst file to a .cpp/py ({})".format(f))
+
+ else:
+ raise RuntimeError("Ooops")
+
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -58,9 +147,9 @@ author = u'FEniCS Project'
# built documents.
#
# The short X.Y version.
-version = u'2016.1.0'
+version = u'2016.2.0'
# The full version, including alpha/beta/rc tags.
-release = u'2016.1.0'
+release = u'2016.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -355,3 +444,51 @@ epub_exclude_files = ['search.html']
# If false, no index is generated.
#epub_use_index = True
+
+
+# Hack to support avoid renaming download files with same names coming
+# from different directories (CMakeLists.txt, Makefile etc)
+
+# From Tormod Landet - see
+# https://github.com/sphinx-doc/sphinx/issues/2720)
+from sphinx.util import FilenameUniqDict
+from os import path
+def add_file(self, docname, newfile):
+ if newfile in self:
+ self[newfile][0].add(docname)
+ return self[newfile][1]
+ uniquename = path.basename(newfile)
+ i = 0
+ while uniquename in self._existing:
+ i += 1
+ uniquename = path.join('subdir%s' % i, path.basename(newfile))
+ self[newfile] = (set([docname]), uniquename)
+ self._existing.add(uniquename)
+ return uniquename
+FilenameUniqDict.add_file = add_file
+
+# Hack to support sub-directories within the download directory
+from sphinx.builders.html import StandaloneHTMLBuilder, ensuredir, copyfile
+from docutils.utils import relative_path
+from sphinx.util.console import brown
+def copy_download_files(self):
+ def to_relpath(f):
+ return relative_path(self.srcdir, f)
+ # copy downloadable files
+ if self.env.dlfiles:
+ ensuredir(path.join(self.outdir, '_downloads'))
+ for src in self.status_iterator(self.env.dlfiles, # self.app.status_iterator in master ...
+ 'copying downloadable files... ',
+ brown, len(self.env.dlfiles),
+ stringify_func=to_relpath):
+ dest = self.env.dlfiles[src][1]
+ subdirs, filename = os.path.split(dest)
+ if subdirs:
+ ensuredir(path.join(self.outdir, '_downloads', subdirs))
+ try:
+ copyfile(path.join(self.srcdir, src),
+ path.join(self.outdir, '_downloads', dest))
+ except Exception as err:
+ self.warn('cannot copy downloadable file %r: %s' %
+ (path.join(self.srcdir, src), err))
+StandaloneHTMLBuilder.copy_download_files = copy_download_files
diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst
new file mode 100644
index 0000000..ab9f994
--- /dev/null
+++ b/doc/source/contributing.rst
@@ -0,0 +1,57 @@
+============
+Contributing
+============
+
+This page provides guidance on how to contribute to DOLFIN.
+
+
+Adding a demo
+=============
+
+The below instructions are for adding a Python demo program to DOLFIN.
+DOLFIN demo programs are written in reStructuredText, and converted to
+Python/C++ code using ``pylit``. The process for C++ demos is similar.
+The documented demo programs are displayed at
+http://fenics-dolfin.readthedocs.io/.
+
+
+Creating the demo program
+-------------------------
+
+1. Create a directory for the demo under ``demo/documented/``,
+ e.g. ``demo/documented/foo/python/``.
+2. Write the demo in reStructuredText (rst), with the actual code in
+ 'code blocks' (see other demos for guidance). The demo file should
+ be named ``demo_foo-bar.py.rst``.
+3. Convert the rst file to to a Python file using ``pylit`` (pylit is
+ distributed with DOLFIN in ``utils/pylit``)
+
+ .. code-block:: ruby
+
+ ../../../../utils/pylit/pylit.py demo_foo-bar.py.rst
+
+ This will create a file ``demo_foo-bar.py``. Test that the Python
+ script can be run.
+
+
+Adding the demo to the documentation system
+-------------------------------------------
+
+1. Add the demo to the list in ``doc/source/demos.rst``.
+2. To check how the documentation will be displayed on the web, in
+ ``doc/`` run ``make html`` and open the file
+ ``doc/build/html/index.html`` in a browser.
+
+
+Make a pull request
+-------------------
+
+1. Create a git branch and add the ``demo_foo-bar.py.rst`` file to the
+ repository. Do not add the ``demo_foo-bar.py`` file.
+2. If there is no C++ version, edit ``test/regression/test.py`` to
+ indicate that there is no C++ version of the demo.
+3. Make a pull request at
+ https://bitbucket.org/fenics-project/dolfin/pull-requests/ for your
+ demo to be considered for addition to DOLFIN. Add the
+ ``demo_foo-bar.py.rst`` file to the repository, but do not add the
+ ``demo_foo-bar.py`` file.
diff --git a/doc/source/demos.rst b/doc/source/demos.rst
new file mode 100644
index 0000000..7ceef32
--- /dev/null
+++ b/doc/source/demos.rst
@@ -0,0 +1,139 @@
+.. DOLFIN API documentation
+
+Demo documentation
+==================
+
+*Under development*
+
+Using the Python interface
+--------------------------
+
+Introductory DOLFIN demos
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+These demos illustrate core DOLFIN/FEniCS usage and are a good way to
+begin learning FEniCS. We recommend that you go through these examples
+in the given order.
+
+1. Getting started: :ref:`Solving the Poisson equation
+ <demo_poisson_equation>`.
+
+2. Solving nonlinear PDEs: :ref:`Solving a nonlinear Poisson equation
+ <demo_nonlinear_poisson>`
+
+3. Using mixed elements: :ref:`Solving the Stokes equations
+ <demo_stokes_taylor_hood>`
+
+4. Using iterative linear solvers: :ref:`Solving the Stokes equations
+ more efficiently <demo_stokes_iterative>`
+
+More advanced DOLFIN demos
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+These examples typically demonstrate how to solve a certain PDE using
+more advanced techniques. We recommend that you take a look at these
+demos for tips and tricks on how to use more advanced or lower-level
+functionality and optimizations.
+
+* Implementing a nonlinear :ref:`hyperelasticity equation
+ <demo_hyperelasticity>`
+
+* Implementing a splitting method for solving the :ref:`incompressible
+ Navier-Stokes equations <demo_navier_stokes>`
+
+* Using a mixed formulation to solve the time-dependent, nonlinear
+ :ref:`Cahn-Hilliard equation <demo_cahn_hilliard>`
+
+* Computing eigenvalues of the :ref:`Maxwell eigenvalue problem
+ <demos/demo_maxwell-eigenvalues.py>`
+
+Demos illustrating specific features
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+How to
+
+* work with :ref:`built-in meshes <demo_built_in_meshes>`
+
+* define and store :ref:`subdomains <demo_subdomains>`
+
+* integrate over :ref:`subdomains <demo_subdomains_poisson>`
+
+* set :ref:`boundary conditions on non-trivial geometries <demo_bcs>`
+
+* solve :ref:`a basic eigenvalue problem <demo_eigenvalue>`
+
+* set :ref:`periodic boundary conditions <demo_periodic>`
+
+* :ref:`de-singularize a pure Neumann problem <demo_singular_poisson>`
+ by specifying the nullspace
+
+* :ref:`de-singularize a pure Neumann problem <demo_neumann_poisson>`
+ by adding a constraint
+
+* use :ref:`automated goal-oriented error control
+ <demo_auto_adaptive_poisson>`
+
+* specify a :ref:`Discontinuous Galerkin formulation <demo_biharmonic>`
+
+* work with :ref:`c++ expressions in Python programs
+ <demo_tensor_weighted_poisson>`
+
+* specify various finite element spaces
+
+ * :ref:`Brezzi-Douglas-Marini elements for mixed Poisson <demo_mixed_poisson>`
+ * :ref:`the Mini element for Stokes equations <demo_stokes_mini>`
+
+
+Working list of Python demos
+----------------------------
+
+* :doc:`demos/demo_poisson.py`
+* :doc:`demos/demo_eigenvalue.py`
+* :doc:`demos/demo_built-in-meshes.py`
+* :doc:`demos/demo_mixed-poisson.py`
+* :doc:`demos/demo_biharmonic.py`
+* :doc:`demos/demo_auto-adaptive-poisson.py`
+* :doc:`demos/demo_cahn-hilliard.py`
+* :doc:`demos/demo_maxwell-eigenvalues.py`
+* :doc:`demos/demo_built-in-meshes.py`
+* :doc:`demos/demo_hyperelasticity.py`
+* :doc:`demos/demo_nonlinear-poisson.py`
+* :doc:`demos/demo_nonmatching-interpolation.py`
+
+
+Using the C++ interface
+-----------------------
+
+* :doc:`demos/poisson/main.cpp`
+* :doc:`demos/eigenvalue/main.cpp`
+* :doc:`demos/built-in-meshes/main.cpp`
+* :doc:`demos/mixed-poisson/main.cpp`
+* :doc:`demos/biharmonic/main.cpp`
+* :doc:`demos/auto-adaptive-poisson/main.cpp`
+* :doc:`demos/nonmatching-interpolation/main.cpp`
+
+.. todo:: Fix the toctree
+
+.. toctree::
+ :maxdepth: 1
+
+ demo_poisson_equation
+ demo_nonlinear_poisson
+ demo_stokes_taylor_hood
+ demo_stokes_iterative
+ demo_hyperelasticity
+ demo_navier_stokes
+ demo_cahn_hilliard
+ demo_built_in_meshes
+ demo_subdomains
+ demo_subdomains_poisson
+ demo_bcs
+ demo_eigenvalue
+ demo_periodic
+ demo_singular_poisson
+ demo_neumann_poisson
+ demo_auto_adaptive_poisson
+ demo_biharmonic
+ demo_tensor_weighted_poisson
+ demo_mixed_poisson
+ demo_stokes_mini
diff --git a/doc/source/index.rst b/doc/source/index.rst
index e34685d..8fe0b8b 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -11,11 +11,13 @@ DOLFIN documentation
Contents:
.. toctree::
- :maxdepth: 2
+ :maxdepth: 1
installation
using
help
+ demos
+ contributing
api
developer
diff --git a/doc/source/installation.rst b/doc/source/installation.rst
index 2e76b7d..2d9ff4c 100644
--- a/doc/source/installation.rst
+++ b/doc/source/installation.rst
@@ -1,16 +1,79 @@
.. DOLFIN installation docs
-
+============
Installation
============
Quick start
------------
+===========
Building from source
---------------------
+====================
+
+
Dependencies
-^^^^^^^^^^^^
+------------
+
+DOLFIN requires a compiler that supports the C++11 standard.
+
+The required and optional DOLFIN dependencies are listed below.
+
+Required
+^^^^^^^^
+
+- Boost (http://www.boost.org), with the following compiled Boost
+ components
+
+ - filesystem
+ - iostreams
+ - program_options
+ - timer
+
+- CMake (https://cmake.org)
+- Eigen3 (http://eigen.tuxfamily.org)
+- FFC (https://bitbucket.org/fenics-project/ffc)
+- pkg-config (https://www.freedesktop.org/wiki/Software/pkg-config/)
+- zlib
+
+
+Required for Python interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Python (including header files)
+- SWIG (http://www.swig.org)
+- NumPy (http://www.numpy.org)
+- ply (https://github.com/dabeaz/ply)
+
+
+Optional
+^^^^^^^^
+
+- HDF5, with MPI support enabled
+- MPI
+- ParMETIS [1]_
+- PETSc (strongly recommended) [2]_
+- SCOTCH and PT-SCOTCH [1]_
+- SLEPc
+- Suitesparse [1]_
+- Trilinos
+- VTK
+
+
+Optional for the Python interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- petsc4py
+- slepc4py
+- mpi4py
+- Matplotlib
+
+.. [1] It is strongly recommended to use the PETSc build system to
+ download and configure and build these libraries.
+
+.. [2] Its is recommended to configuration with ParMETIS, PT-SCOTCH,
+ MUMPS and Hypre using the
+ ``--download-parmetis --download-ptscotch --download-suitesparse
+ --download-mumps --download-hypre``
diff --git a/dolfin/CMakeLists.txt b/dolfin/CMakeLists.txt
index 5059aa7..26bc21a 100644
--- a/dolfin/CMakeLists.txt
+++ b/dolfin/CMakeLists.txt
@@ -35,17 +35,35 @@ endforeach()
#------------------------------------------------------------------------------
# Install header files
+# Initialize lists
+set(DOLFIN_HEADERS)
+set(DOLFIN_SOURCES)
+
foreach(DIR ${DOLFIN_DIRS})
- file(GLOB _HEADERS ${DIR}/*.h)
- list(APPEND HEADERS ${_HEADERS})
- install(FILES ${_HEADERS} DESTINATION ${DOLFIN_INCLUDE_DIR}/dolfin/${DIR}
+ # Each subdirectory defines HEADERS and SOURCES
+ add_subdirectory(${DIR})
+ set(HEADERS_FULL_PATH)
+ foreach(HEADER_FILE ${HEADERS})
+ list(APPEND HEADERS_FULL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${DIR}/${HEADER_FILE})
+ endforeach()
+ install(FILES ${HEADERS_FULL_PATH} DESTINATION ${DOLFIN_INCLUDE_DIR}/dolfin/${DIR}
COMPONENT Development)
-
- file(GLOB _SOURCES ${DIR}/*.cpp)
- list(APPEND SOURCES ${_SOURCES})
+ list(APPEND DOLFIN_HEADERS ${HEADERS_FULL_PATH})
+ foreach(SOURCE_FILE ${SOURCES})
+ list(APPEND DOLFIN_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/${DIR}/${SOURCE_FILE})
+ endforeach()
endforeach()
#------------------------------------------------------------------------------
+# Define libraries
+
+add_library(dolfin ${DOLFIN_H} ${DOLFIN_HEADERS} ${DOLFIN_SOURCES})
+set_target_properties(dolfin PROPERTIES ${DOLFIN_LIBRARY_PROPERTIES})
+
+# Add dependency on the compile_ale_forms target
+add_dependencies(dolfin compile_ale_forms)
+
+#------------------------------------------------------------------------------
# Add include directories and libs of required packages
# NOTE: The include path for dependecies should be appended to
@@ -62,8 +80,12 @@ list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${EIGEN3_INCLUDE_DIR})
# Boost
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
-list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${Boost_LIBRARIES})
-list(APPEND APPEND DOLFIN_TARGET_LINK_LIBRARIES_DIRS ${Boost_LIBRARY_DIRS})
+foreach (BOOST_PACKAGE ${DOLFIN_BOOST_COMPONENTS_PUBLIC})
+ target_link_libraries(dolfin PUBLIC "Boost::${BOOST_PACKAGE}")
+endforeach()
+foreach (BOOST_PACKAGE ${DOLFIN_BOOST_COMPONENTS_PRIVATE})
+ target_link_libraries(dolfin PRIVATE "Boost::${BOOST_PACKAGE}")
+endforeach()
#------------------------------------------------------------------------------
@@ -72,8 +94,8 @@ if (DOLFIN_ENABLE_HDF5 AND HDF5_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_HDF5")
list(APPEND DOLFIN_CXX_DEFINITIONS ${HDF5_DEFINITIONS})
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${HDF5_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${HDF5_LIBRARIES})
list(APPEND DOLFIN_LINK_FLAGS ${HDF5_LINK_FLAGS})
+ target_link_libraries(dolfin PRIVATE ${HDF5_C_LIBRARIES})
endif()
# Trilinos
@@ -81,23 +103,26 @@ if (DOLFIN_ENABLE_TRILINOS AND DOLFIN_TRILINOS_PACKAGES_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_TRILINOS")
list(APPEND DOLFIN_CXX_DEFINITIONS ${DOLFIN_TRILINOS_DEFINITIONS})
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${Trilinos_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${DOLFIN_TRILINOS_LIBRARIES})
+ target_link_libraries(dolfin PUBLIC ${DOLFIN_TRILINOS_LIBRARIES})
endif()
# SLEPC
if (DOLFIN_ENABLE_PETSC AND DOLFIN_ENABLE_SLEPC AND SLEPC_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_SLEPC")
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${SLEPC_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${SLEPC_LIBRARIES})
+ target_link_libraries(dolfin PUBLIC ${SLEPC_LIBRARIES})
+ if (SLEPC_STATIC_LIBRARIES)
+ target_link_libraries(dolfin PRIVATE ${SLEPC_STATIC_LIBRARIES})
+ endif()
endif()
# PETSc
if (DOLFIN_ENABLE_PETSC AND PETSC_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_PETSC")
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${PETSC_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${PETSC_LIBRARIES})
- if (PETSC_CUSP_FOUND)
- list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_PETSC_CUSP")
+ target_link_libraries(dolfin PUBLIC ${PETSC_LIBRARIES})
+ if (PETSC_STATIC_LIBRARIES)
+ target_link_libraries(dolfin PRIVATE ${PETSC_STATIC_LIBRARIES})
endif()
endif()
@@ -117,52 +142,44 @@ endif()
if (DOLFIN_ENABLE_UMFPACK AND UMFPACK_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_UMFPACK")
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${UMFPACK_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${UMFPACK_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${UMFPACK_LIBRARIES})
endif()
# CHOLMOD
if (DOLFIN_ENABLE_CHOLMOD AND CHOLMOD_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_CHOLMOD")
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${CHOLMOD_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${CHOLMOD_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${CHOLMOD_LIBRARIES})
endif()
# SCOTCH
if (DOLFIN_ENABLE_SCOTCH AND SCOTCH_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_SCOTCH")
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${SCOTCH_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${SCOTCH_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${SCOTCH_LIBRARIES})
endif()
# ParMETIS
if (DOLFIN_ENABLE_PARMETIS AND PARMETIS_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_PARMETIS")
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${PARMETIS_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${PARMETIS_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${PARMETIS_LIBRARIES})
endif()
# ZLIB
if (DOLFIN_ENABLE_ZLIB AND ZLIB_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_ZLIB")
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${ZLIB_LIBRARIES})
-endif()
-
-# CppUnit
-if (DOLFIN_ENABLE_UNIT_TESTS AND CPPUNIT_FOUND)
- list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_CPPUNIT")
- list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${CPPUNIT_INCLUDE_DIRS})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${CPPUNIT_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${ZLIB_LIBRARIES})
endif()
# MPI
if (DOLFIN_ENABLE_MPI AND MPI_CXX_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_MPI")
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${MPI_CXX_INCLUDE_PATH})
- list(APPEND DOLFIN_TARGET_LINK_LIBRARIES ${MPI_CXX_LIBRARIES})
list(APPEND DOLFIN_DEP_INCLUDE_DIRECTORIES ${MPI_CXX_INCLUDE_PATH})
set(DOLFIN_CXX_FLAGS "${DOLFIN_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
-
+ target_link_libraries(dolfin PUBLIC ${MPI_CXX_LIBRARIES})
endif()
# OpenMP
@@ -182,17 +199,15 @@ if (DOLFIN_ENABLE_VTK AND VTK_FOUND)
list(APPEND DOLFIN_CXX_DEFINITIONS "-DHAS_VTK")
list(APPEND DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES ${VTK_INCLUDE_DIRS})
-
- # Append to EXTRA libraries, so they are not linked with demos (this
- # fails with VTK6 unless the vtk macros are also installed).
- list(APPEND DOLFIN_EXTRA_TARGET_LINK_LIBRARIES ${VTK_LIBRARIES})
+ target_link_libraries(dolfin PRIVATE ${VTK_LIBRARIES})
endif()
#------------------------------------------------------------------------------
# Set compiler flags, include directories and library dependencies
# Add compiler include directories
-include_directories(${DOLFIN_SOURCE_DIR} ${DOLFIN_DEP_INCLUDE_DIRECTORIES})
+include_directories(BEFORE ${DOLFIN_SOURCE_DIR})
+include_directories(${DOLFIN_DEP_INCLUDE_DIRECTORIES})
include_directories(SYSTEM ${DOLFIN_DEP_SYSTEM_INCLUDE_DIRECTORIES})
# Add CXX definitions
@@ -208,25 +223,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${DOLFIN_LINK_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${DOLFIN_LINK_FLAGS}")
-# Define libraries
-add_library(dolfin ${DOLFIN_H} ${HEADERS} ${SOURCES})
-set_target_properties(dolfin PROPERTIES ${DOLFIN_LIBRARY_PROPERTIES})
-
-# Strip leading and trailing whitespaces
-string(STRIP DOLFIN_TARGET_LINK_LIBRARIES "${DOLFIN_TARGET_LINK_LIBRARIES}")
-
-# Remove duplicate libraries
-if (DOLFIN_TARGET_LINK_LIBRARIES)
- list(REMOVE_DUPLICATES DOLFIN_TARGET_LINK_LIBRARIES)
-endif()
-if(DOLFIN_EXTRA_TARGET_LINK_LIBRARIES)
- list(REMOVE_DUPLICATES DOLFIN_EXTRA_TARGET_LINK_LIBRARIES)
-endif()
-
-# Add DOLFIN target libraries
-target_link_libraries(dolfin ${DOLFIN_TARGET_LINK_LIBRARIES}
- ${DOLFIN_EXTRA_TARGET_LINK_LIBRARIES})
-
#------------------------------------------------------------------------------
# SWIG
@@ -258,10 +254,8 @@ install(TARGETS dolfin EXPORT DOLFINTargets
LIBRARY DESTINATION ${DOLFIN_LIB_DIR} COMPONENT RuntimeLibraries
ARCHIVE DESTINATION ${DOLFIN_LIB_DIR} COMPONENT Development
)
-install(EXPORT DOLFINTargets
- DESTINATION ${DOLFIN_SHARE_DIR}/cmake
- COMPONENT Development
- )
+
+install(EXPORT DOLFINTargets DESTINATION ${DOLFIN_SHARE_DIR}/cmake)
#------------------------------------------------------------------------------
# Generate pkg-config file and install it
@@ -283,11 +277,14 @@ string(REPLACE ";" " " PKG_CXXFLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE ";" " " PKG_LINKFLAGS "${CMAKE_EXE_LINKER_FLAGS}")
string(REPLACE ";" " " PKG_DEFINITIONS "${DOLFIN_CXX_DEFINITIONS}")
+# Get link libraries
+get_target_property(DOLFIN_TARGET_LINK_LIBRARIES dolfin INTERFACE_LINK_LIBRARIES)
+
# Convert libraries to -L<libdir> -l<lib> form
foreach(_lib ${DOLFIN_TARGET_LINK_LIBRARIES})
# Add -Wl,option directives
if ("${_lib}" MATCHES "-Wl,[^ ]*")
- set(PKG_LINKFLAGS "${_lib} ${PKG_LINKFLAGS}")
+ set(PKG_LINKFLAGS "${_lib} ${PKG_LINKFLAGS}")
else()
string(REGEX REPLACE "(.?:?/[^ ]*)/lib([^ ]*)\\.(a|so|dylib|dll)" "-L\\1 -l\\2"
_linkflags
@@ -296,7 +293,7 @@ foreach(_lib ${DOLFIN_TARGET_LINK_LIBRARIES})
# Add libraries that matches the form -L<libdir> -l<lib>
if ("${_linkflags}" MATCHES "-L.+ -l.+")
- set(PKG_LINKFLAGS "${_linkflags} ${PKG_LINKFLAGS}")
+ set(PKG_LINKFLAGS "${_linkflags} ${PKG_LINKFLAGS}")
endif()
endif()
endforeach()
@@ -325,11 +322,6 @@ configure_file(${DOLFIN_CMAKE_DIR}/templates/DOLFINConfig.cmake.in
${CMAKE_BINARY_DIR}/dolfin/DOLFINConfig.cmake @ONLY)
configure_file(${DOLFIN_CMAKE_DIR}/templates/DOLFINConfigVersion.cmake.in
${CMAKE_BINARY_DIR}/dolfin/DOLFINConfigVersion.cmake @ONLY)
-# Keep dolfin-config{-version}.cmake for backwards compatability
-configure_file(${DOLFIN_CMAKE_DIR}/templates/dolfin-config.cmake.in
- ${CMAKE_BINARY_DIR}/dolfin/dolfin-config.cmake @ONLY)
-configure_file(${DOLFIN_CMAKE_DIR}/templates/dolfin-config-version.cmake.in
- ${CMAKE_BINARY_DIR}/dolfin/dolfin-config-version.cmake @ONLY)
configure_file(${DOLFIN_CMAKE_DIR}/templates/UseDOLFIN.cmake.in
${CMAKE_BINARY_DIR}/dolfin/UseDOLFIN.cmake @ONLY)
@@ -337,11 +329,9 @@ install(
FILES
${CMAKE_BINARY_DIR}/dolfin/DOLFINConfig.cmake
${CMAKE_BINARY_DIR}/dolfin/DOLFINConfigVersion.cmake
- ${CMAKE_BINARY_DIR}/dolfin/dolfin-config.cmake
- ${CMAKE_BINARY_DIR}/dolfin/dolfin-config-version.cmake
${CMAKE_BINARY_DIR}/dolfin/UseDOLFIN.cmake
- DESTINATION ${DOLFIN_SHARE_DIR}/cmake
- COMPONENT Development
- )
+ DESTINATION ${DOLFIN_SHARE_DIR}/cmake
+ COMPONENT Development
+ )
#------------------------------------------------------------------------------
diff --git a/dolfin/adaptivity/CMakeLists.txt b/dolfin/adaptivity/CMakeLists.txt
new file mode 100644
index 0000000..b22689e
--- /dev/null
+++ b/dolfin/adaptivity/CMakeLists.txt
@@ -0,0 +1,26 @@
+set(HEADERS
+ adapt.h
+ AdaptiveLinearVariationalSolver.h
+ AdaptiveNonlinearVariationalSolver.h
+ adaptivesolve.h
+ dolfin_adaptivity.h
+ ErrorControl.h
+ Extrapolation.h
+ GenericAdaptiveVariationalSolver.h
+ GoalFunctional.h
+ marking.h
+ TimeSeries.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ adapt.cpp
+ AdaptiveLinearVariationalSolver.cpp
+ AdaptiveNonlinearVariationalSolver.cpp
+ adaptivesolve.cpp
+ ErrorControl.cpp
+ Extrapolation.cpp
+ GenericAdaptiveVariationalSolver.cpp
+ GoalFunctional.cpp
+ marking.cpp
+ TimeSeries.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/adaptivity/ErrorControl.cpp b/dolfin/adaptivity/ErrorControl.cpp
index 068f552..88eb32e 100644
--- a/dolfin/adaptivity/ErrorControl.cpp
+++ b/dolfin/adaptivity/ErrorControl.cpp
@@ -195,11 +195,10 @@ void ErrorControl::compute_indicators(MeshFunction<double>& indicators,
}
else
{
- _R_dT = std::make_shared<SpecialFacetFunction>(f_e,
- f_e[0].value_dimension(0));
- dolfin_error("ErrorControl.cpp",
- "compute error indicators",
- "Not implemented for tensor-valued functions");
+ std::vector<std::size_t> value_shape;
+ for (std::size_t i = 0; i < f_e[0].value_rank(); ++i)
+ value_shape.push_back(f_e[0].value_dimension(i));
+ _R_dT = std::make_shared<SpecialFacetFunction>(f_e, value_shape);
}
// Compute residual representation
diff --git a/dolfin/ale/CMakeLists.txt b/dolfin/ale/CMakeLists.txt
new file mode 100644
index 0000000..0114e70
--- /dev/null
+++ b/dolfin/ale/CMakeLists.txt
@@ -0,0 +1,44 @@
+set(HEADERS
+ ALE.h
+ dolfin_ale.h
+ HarmonicSmoothing.h
+ MeshDisplacement.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ ALE.cpp
+ HarmonicSmoothing.cpp
+ MeshDisplacement.cpp
+ PARENT_SCOPE)
+
+# Add custom command for compiling Poisson1D.ufl
+add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Poisson1D.h
+ MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Poisson1D.ufl
+ DEPENDS ${UFC_INCLUDE_DIR}/ufc.h
+ COMMAND ${PYTHON_EXECUTABLE} -m ffc -l dolfin -O -r auto -o ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Poisson1D.ufl
+ COMMENT "Compiling form Poisson1D.ufl")
+
+# Add custom command for compiling Poisson2D.ufl
+add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Poisson2D.h
+ MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Poisson2D.ufl
+ DEPENDS ${UFC_INCLUDE_DIR}/ufc.h
+ COMMAND ${PYTHON_EXECUTABLE} -m ffc -l dolfin -O -r auto -o ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Poisson2D.ufl
+ COMMENT "Compiling form Poisson2D.ufl")
+
+# Add custom command for compiling Poisson3D.ufl
+add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/Poisson3D.h
+ MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Poisson3D.ufl
+ DEPENDS ${UFC_INCLUDE_DIR}/ufc.h
+ COMMAND ${PYTHON_EXECUTABLE} -m ffc -l dolfin -O -r auto -o ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Poisson3D.ufl
+ COMMENT "Compiling form Poisson3D.ufl")
+
+# Add custom target for compiling forms
+add_custom_target(compile_ale_forms DEPENDS
+ ${CMAKE_BINARY_DIR}/Poisson1D.h
+ ${CMAKE_BINARY_DIR}/Poisson2D.h
+ ${CMAKE_BINARY_DIR}/Poisson3D.h)
+
+# Tell CMake that Poisson*D.h won't be available until build time
+set_source_files_properties(${CMAKE_BINARY_DIR}/Poisson1D.h PROPERTIES GENERATED 1)
+set_source_files_properties(${CMAKE_BINARY_DIR}/Poisson2D.h PROPERTIES GENERATED 1)
+set_source_files_properties(${CMAKE_BINARY_DIR}/Poisson3D.h PROPERTIES GENERATED 1)
diff --git a/dolfin/ale/Poisson1D.h b/dolfin/ale/Poisson1D.h
deleted file mode 100644
index e7593a4..0000000
--- a/dolfin/ale/Poisson1D.h
+++ /dev/null
@@ -1,2263 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __POISSON1D_H
-#define __POISSON1D_H
-#include <stdexcept>
-#include <ufc.h>
-
-class poisson1d_finite_element_0: public ufc::finite_element
-{
-public:
-
- poisson1d_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson1d_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', interval, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::interval;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 1;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 1;
- }
-
- std::size_t space_dimension() const final override
- {
- return 2;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[1];
- compute_jacobian_interval_1d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[1];
- double detJ;
- compute_jacobian_inverse_interval_1d(K, detJ, J);
-
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (2.0*x[0] - coordinate_dofs[0] - coordinate_dofs[1]) / J[0];
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, -0.408248290463863};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 2; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, 0.408248290463863};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 2; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 2; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 1;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[1];
- compute_jacobian_interval_1d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[1];
- double detJ;
- compute_jacobian_inverse_interval_1d(K, detJ, J);
-
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (2.0*x[0] - coordinate_dofs[0] - coordinate_dofs[1]) / J[0];
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[1][1];
- for (unsigned int row = 0; row < 1; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 0)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[1][1] = {{K[0]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[1][1];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, -0.408248290463863};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[2][2] = \
- {{0.0, 0.0},
- {3.46410161513775, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- for (unsigned int tu = 0; tu < 2; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 2; s++)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, 0.408248290463863};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[2][2] = \
- {{0.0, 0.0},
- {3.46410161513775, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- for (unsigned int tu = 0; tu < 2; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 2; s++)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 1;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 2; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 2; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[1];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[1];
- y[0] = coordinate_dofs[0];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson1d_finite_element_0();
- }
-
-};
-
-
-class poisson1d_finite_element_1: public ufc::finite_element
-{
-public:
-
- poisson1d_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson1d_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', interval, 1), dim=1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::interval;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 1;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 1;
- }
-
- std::size_t space_dimension() const final override
- {
- return 2;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 1;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[1];
- compute_jacobian_interval_1d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[1];
- double detJ;
- compute_jacobian_inverse_interval_1d(K, detJ, J);
-
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (2.0*x[0] - coordinate_dofs[0] - coordinate_dofs[1]) / J[0];
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, -0.408248290463863};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 2; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, 0.408248290463863};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 2; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 2; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 1;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[1];
- compute_jacobian_interval_1d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[1];
- double detJ;
- compute_jacobian_inverse_interval_1d(K, detJ, J);
-
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (2.0*x[0] - coordinate_dofs[0] - coordinate_dofs[1]) / J[0];
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[1][1];
- for (unsigned int row = 0; row < 1; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 0)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[1][1] = {{K[0]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[1][1];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, -0.408248290463863};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[2][2] = \
- {{0.0, 0.0},
- {3.46410161513775, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- for (unsigned int tu = 0; tu < 2; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 2; s++)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[2] = {0.0, 0.0};
-
- // Declare helper variables
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = X;
- for (unsigned int r = 0; r < 2; r++)
- {
- basisvalues[r] *= std::sqrt((0.5 + r));
- } // end loop over 'r'
-
- // Table(s) of coefficients
- static const double coefficients0[2] = \
- {0.707106781186547, 0.408248290463863};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[2][2] = \
- {{0.0, 0.0},
- {3.46410161513775, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[2][2] = \
- {{1.0, 0.0},
- {0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- for (unsigned int u = 0; u < 2; u++)
- {
- for (unsigned int tu = 0; tu < 2; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 2; s++)
- {
- for (unsigned int t = 0; t < 2; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 1;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 2; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[1];
- for (unsigned int r = 0; r < 1; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 2; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[1];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[1];
- y[0] = coordinate_dofs[0];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 1;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson1d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson1d_finite_element_1();
- }
-
-};
-
-
-class poisson1d_dofmap_0: public ufc::dofmap
-{
-public:
-
- poisson1d_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson1d_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', interval, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 1;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 1)
- {
- throw std::runtime_error("d is larger than dimension (1)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 1)
- {
- throw std::runtime_error("i is larger than number of entities (1)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson1d_dofmap_0();
- }
-
-};
-
-
-class poisson1d_dofmap_1: public ufc::dofmap
-{
-public:
-
- poisson1d_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson1d_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', interval, 1), dim=1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 1;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 1;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 1)
- {
- throw std::runtime_error("d is larger than dimension (1)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 1)
- {
- throw std::runtime_error("i is larger than number of entities (1)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 1;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson1d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson1d_dofmap_1();
- }
-
-};
-
-
-class poisson1d_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- poisson1d_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~poisson1d_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 1
- // Number of operations (multiply-add pairs) for tensor contraction: 0
- // Total number of operations (multiply-add pairs): 4
-
- // Compute Jacobian
- double J[1];
- compute_jacobian_interval_1d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[1];
- double detJ;
- compute_jacobian_inverse_interval_1d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*K[0]*K[0];
-
- // Compute element tensor
- A[0] = G0_0_0;
- A[1] = -G0_0_0;
- A[2] = -G0_0_0;
- A[3] = G0_0_0;
- }
-
-};
-
-
-class poisson1d_form_0: public ufc::form
-{
-public:
-
- poisson1d_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~poisson1d_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "825d71b1dbe9f4b2b2034c524d971444868566dfe2b564717caf6e0c8ba8e6c22219fcffd7753906d2973f0948898f7f139a770142b0725596ec8594e85edfa6";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new poisson1d_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new poisson1d_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson1d_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson1d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson1d_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson1d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new poisson1d_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace Poisson1D
-{
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson1d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson1d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson1d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson1d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson1d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson1d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson1d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson1d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const poisson1d_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/dolfin/ale/Poisson2D.h b/dolfin/ale/Poisson2D.h
deleted file mode 100644
index 3894476..0000000
--- a/dolfin/ale/Poisson2D.h
+++ /dev/null
@@ -1,3357 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __POISSON2D_H
-#define __POISSON2D_H
-#include <stdexcept>
-#include <ufc.h>
-
-class poisson2d_finite_element_0: public ufc::finite_element
-{
-public:
-
- poisson2d_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson2d_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', triangle, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 3;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 3; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 3; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson2d_finite_element_0();
- }
-
-};
-
-
-class poisson2d_finite_element_1: public ufc::finite_element
-{
-public:
-
- poisson2d_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson2d_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::triangle;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 2;
- }
-
- std::size_t space_dimension() const final override
- {
- return 6;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 2;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 2;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 2;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 3; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[2] = {0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2; s++)
- {
- values[r*2 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 2*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[2] + coordinate_dofs[4];
- const double C1 = coordinate_dofs[3] + coordinate_dofs[5];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (J[1]*(C1 - 2.0*x[1]) + J[3]*(2.0*x[0] - C0)) / detJ;
- double Y = (J[0]*(2.0*x[1] - C1) + J[2]*(C0 - 2.0*x[0])) / detJ;
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[2][1];
- for (unsigned int row = 0; row < 2; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 1)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[2][2] = {{K[0], K[1]}, {K[2], K[3]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[2][2];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, -0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.288675134594813, -0.166666666666667};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[3] = {0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = (1.0 + Y + 2.0*X)/2.0;
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
- basisvalues[0] *= std::sqrt(0.5);
- basisvalues[2] *= std::sqrt(1.0);
- basisvalues[1] *= std::sqrt(3.0);
-
- // Table(s) of coefficients
- static const double coefficients0[3] = \
- {0.471404520791032, 0.0, 0.333333333333333};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[3][3] = \
- {{0.0, 0.0, 0.0},
- {4.89897948556635, 0.0, 0.0},
- {0.0, 0.0, 0.0}};
-
- static const double dmats1[3][3] = \
- {{0.0, 0.0, 0.0},
- {2.44948974278318, 0.0, 0.0},
- {4.24264068711928, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[2];
- for (unsigned int r = 0; r < 2; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[3][3] = \
- {{1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- for (unsigned int u = 0; u < 3; u++)
- {
- for (unsigned int tu = 0; tu < 3; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 3; s++)
- {
- for (unsigned int t = 0; t < 3; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 2;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 6; r++)
- {
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[4];
- for (unsigned int r = 0; r < 4; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 6; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 2*num_derivatives; s++)
- {
- values[r*2*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[2];
-
- // Declare variable for physical coordinates
- double y[2];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
- values[3] = vals[1];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[2] = dof_values[1];
- vertex_values[4] = dof_values[2];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[3];
- vertex_values[3] = dof_values[4];
- vertex_values[5] = dof_values[5];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[0];
- dof_coordinates[7] = coordinate_dofs[1];
- dof_coordinates[8] = coordinate_dofs[2];
- dof_coordinates[9] = coordinate_dofs[3];
- dof_coordinates[10] = coordinate_dofs[4];
- dof_coordinates[11] = coordinate_dofs[5];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 2;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson2d_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson2d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson2d_finite_element_1();
- }
-
-};
-
-
-class poisson2d_dofmap_0: public ufc::dofmap
-{
-public:
-
- poisson2d_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson2d_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', triangle, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 2;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson2d_dofmap_0();
- }
-
-};
-
-
-class poisson2d_dofmap_1: public ufc::dofmap
-{
-public:
-
- poisson2d_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson2d_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 2;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 2*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 6;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 2;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- dofs[3] = offset + entity_indices[0][0];
- dofs[4] = offset + entity_indices[0][1];
- dofs[5] = offset + entity_indices[0][2];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 4;
- dofs[3] = 5;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 2)
- {
- throw std::runtime_error("d is larger than dimension (2)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 2)
- {
- throw std::runtime_error("i is larger than number of entities (2)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 4;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 5;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 2;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson2d_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson2d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson2d_dofmap_1();
- }
-
-};
-
-
-class poisson2d_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- poisson2d_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~poisson2d_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 8
- // Number of operations (multiply-add pairs) for tensor contraction: 11
- // Total number of operations (multiply-add pairs): 22
-
- // Compute Jacobian
- double J[4];
- compute_jacobian_triangle_2d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[4];
- double detJ;
- compute_jacobian_inverse_triangle_2d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1]);
- const double G0_0_1 = det*(K[0]*K[2] + K[1]*K[3]);
- const double G0_1_0 = det*(K[2]*K[0] + K[3]*K[1]);
- const double G0_1_1 = det*(K[2]*K[2] + K[3]*K[3]);
-
- // Compute element tensor
- A[0] = 0.499999999999999*G0_0_0 + 0.5*G0_0_1 + 0.5*G0_1_0 + 0.5*G0_1_1;
- A[1] = -0.499999999999999*G0_0_0 - 0.5*G0_1_0;
- A[2] = -0.5*G0_0_1 - 0.5*G0_1_1;
- A[3] = -0.499999999999999*G0_0_0 - 0.5*G0_0_1;
- A[4] = 0.499999999999999*G0_0_0;
- A[5] = 0.5*G0_0_1;
- A[6] = -0.5*G0_1_0 - 0.5*G0_1_1;
- A[7] = 0.5*G0_1_0;
- A[8] = 0.5*G0_1_1;
- }
-
-};
-
-
-class poisson2d_form_0: public ufc::form
-{
-public:
-
- poisson2d_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~poisson2d_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "43feb4df5c0f918b8e0c704dcc3347e7ba836f6789fff2a5eab375cebd1a89b9c11ac8a2672ff5b2e765a36ff221d887ada9a5989db46716fbaeaeda07acdb99";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new poisson2d_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new poisson2d_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson2d_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson2d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson2d_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson2d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new poisson2d_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace Poisson2D
-{
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson2d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson2d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson2d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson2d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson2d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson2d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson2d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson2d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const poisson2d_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/dolfin/ale/Poisson3D.h b/dolfin/ale/Poisson3D.h
deleted file mode 100644
index 9982387..0000000
--- a/dolfin/ale/Poisson3D.h
+++ /dev/null
@@ -1,5242 +0,0 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
-//
-// This code was generated with the option '-l dolfin' and
-// contains DOLFIN-specific wrappers that depend on DOLFIN.
-//
-// This code was generated with the following parameters:
-//
-// convert_exceptions_to_warnings: False
-// cpp_optimize: True
-// cpp_optimize_flags: '-O2'
-// epsilon: 1e-14
-// error_control: False
-// form_postfix: True
-// format: 'dolfin'
-// optimize: True
-// precision: 15
-// quadrature_degree: -1
-// quadrature_rule: 'auto'
-// representation: 'auto'
-// split: False
-
-#ifndef __POISSON3D_H
-#define __POISSON3D_H
-#include <stdexcept>
-#include <ufc.h>
-
-class poisson3d_finite_element_0: public ufc::finite_element
-{
-public:
-
- poisson3d_finite_element_0() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson3d_finite_element_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FiniteElement('Lagrange', tetrahedron, 1)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::tetrahedron;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 3;
- }
-
- std::size_t space_dimension() const final override
- {
- return 4;
- }
-
- std::size_t value_rank() const final override
- {
- return 0;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t value_size() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 0;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- return 1;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 1;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Reset values
- *values = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- *values += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values = 0.0;
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 4; r++)
- {
- _evaluate_basis(r, &dof_values, x, coordinate_dofs, cell_orientation);
- values[r] = dof_values;
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[3][1];
- for (unsigned int row = 0; row < 3; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 2)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[3][3] = {{K[0], K[1], K[2]}, {K[3], K[4], K[5]}, {K[6], K[7], K[8]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[3][3];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 4; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 4; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[3];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[1];
-
- // Declare variable for physical coordinates
- double y[3];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[1] = dof_values[1];
- vertex_values[2] = dof_values[2];
- vertex_values[3] = dof_values[3];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[6];
- dof_coordinates[7] = coordinate_dofs[7];
- dof_coordinates[8] = coordinate_dofs[8];
- dof_coordinates[9] = coordinate_dofs[9];
- dof_coordinates[10] = coordinate_dofs[10];
- dof_coordinates[11] = coordinate_dofs[11];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 0;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson3d_finite_element_0();
- }
-
-};
-
-
-class poisson3d_finite_element_1: public ufc::finite_element
-{
-public:
-
- poisson3d_finite_element_1() : ufc::finite_element()
- {
- // Do nothing
- }
-
- ~poisson3d_finite_element_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3)";
- }
-
- ufc::shape cell_shape() const final override
- {
- return ufc::shape::tetrahedron;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t geometric_dimension() const final override
- {
- return 3;
- }
-
- std::size_t space_dimension() const final override
- {
- return 12;
- }
-
- std::size_t value_rank() const final override
- {
- return 1;
- }
-
- std::size_t value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t value_size() const final override
- {
- return 3;
- }
-
- std::size_t reference_value_rank() const final override
- {
- return 1;
- }
-
- std::size_t reference_value_dimension(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return 3;
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t reference_value_size() const final override
- {
- return 3;
- }
-
- std::size_t degree() const final override
- {
- return 1;
- }
-
- const char * family() const final override
- {
- return "Lagrange";
- }
-
- static void _evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Reset values
- values[0] = 0.0;
- values[1] = 0.0;
- values[2] = 0.0;
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[0] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[1] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Compute value(s)
- for (unsigned int r = 0; r < 4; r++)
- {
- values[2] += coefficients0[r]*basisvalues[r];
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis(std::size_t i,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Helper variable to hold values of a single dof.
- double dof_values[3] = {0.0, 0.0, 0.0};
-
- // Loop dofs and call evaluate_basis
- for (unsigned int r = 0; r < 12; r++)
- {
- _evaluate_basis(r, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3; s++)
- {
- values[r*3 + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_all(double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Reset values. Assuming that values is always an array.
- for (unsigned int r = 0; r < 3*num_derivatives; r++)
- {
- values[r] = 0.0;
- } // end loop over 'r'
-
- // Call evaluate_basis if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis(i, values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
-
- // Compute constants
- const double C0 = coordinate_dofs[9] + coordinate_dofs[6] + coordinate_dofs[3] - coordinate_dofs[0];
- const double C1 = coordinate_dofs[10] + coordinate_dofs[7] + coordinate_dofs[4] - coordinate_dofs[1];
- const double C2 = coordinate_dofs[11] + coordinate_dofs[8] + coordinate_dofs[5] - coordinate_dofs[2];
-
- // Compute subdeterminants
- const double d_00 = J[4]*J[8] - J[5]*J[7];
- const double d_01 = J[5]*J[6] - J[3]*J[8];
- const double d_02 = J[3]*J[7] - J[4]*J[6];
- const double d_10 = J[2]*J[7] - J[1]*J[8];
- const double d_11 = J[0]*J[8] - J[2]*J[6];
- const double d_12 = J[1]*J[6] - J[0]*J[7];
- const double d_20 = J[1]*J[5] - J[2]*J[4];
- const double d_21 = J[2]*J[3] - J[0]*J[5];
- const double d_22 = J[0]*J[4] - J[1]*J[3];
-
- // Get coordinates and map to the reference (FIAT) element
- double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
- double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
- double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
-
-
- // Declare two dimensional array that holds combinations of derivatives and initialise
- unsigned int combinations[3][1];
- for (unsigned int row = 0; row < 3; row++)
- {
- for (unsigned int col = 0; col < 1; col++)
- combinations[row][col] = 0;
- }
-
- // Generate combinations of derivatives
- for (unsigned int row = 1; row < num_derivatives; row++)
- {
- for (unsigned int num = 0; num < row; num++)
- {
- for (unsigned int col = n-1; col+1 > 0; col--)
- {
- if (combinations[row][col] + 1 > 2)
- combinations[row][col] = 0;
- else
- {
- combinations[row][col] += 1;
- break;
- }
- }
- }
- }
-
- // Compute inverse of Jacobian
- const double Jinv[3][3] = {{K[0], K[1], K[2]}, {K[3], K[4], K[5]}, {K[6], K[7], K[8]}};
-
- // Declare transformation matrix
- // Declare pointer to two dimensional array and initialise
- double transform[3][3];
- for (unsigned int j = 0; j < num_derivatives; j++)
- {
- for (unsigned int k = 0; k < num_derivatives; k++)
- transform[j][k] = 1;
- }
-
- // Construct transformation matrix
- for (unsigned int row = 0; row < num_derivatives; row++)
- {
- for (unsigned int col = 0; col < num_derivatives; col++)
- {
- for (unsigned int k = 0; k < n; k++)
- transform[row][col] *= Jinv[combinations[col][k]][combinations[row][k]];
- }
- }
- switch (i)
- {
- case 0:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 1:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 2:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 3:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 4:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 5:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 6:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 7:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 8:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, -0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 9:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.182574185835055, -0.105409255338946, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 10:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.210818510677892, -0.074535599249993};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- case 11:
- {
-
- // Array of basisvalues
- double basisvalues[4] = {0.0, 0.0, 0.0, 0.0};
-
- // Declare helper variables
- double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
-
- // Compute basisvalues
- basisvalues[0] = 1.0;
- basisvalues[1] = tmp0;
- basisvalues[2] = 0.5*(2.0 + 3.0*Y + Z)*basisvalues[0];
- basisvalues[3] = (2.0*Z + 1.0)*basisvalues[0];
- basisvalues[0] *= std::sqrt(0.75);
- basisvalues[3] *= std::sqrt(1.25);
- basisvalues[2] *= std::sqrt(2.5);
- basisvalues[1] *= std::sqrt(7.5);
-
- // Table(s) of coefficients
- static const double coefficients0[4] = \
- {0.288675134594813, 0.0, 0.0, 0.223606797749979};
-
- // Tables of derivatives of the polynomial base (transpose).
- static const double dmats0[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {6.32455532033676, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats1[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {5.47722557505166, 0.0, 0.0, 0.0},
- {0.0, 0.0, 0.0, 0.0}};
-
- static const double dmats2[4][4] = \
- {{0.0, 0.0, 0.0, 0.0},
- {3.16227766016838, 0.0, 0.0, 0.0},
- {1.82574185835055, 0.0, 0.0, 0.0},
- {5.16397779494322, 0.0, 0.0, 0.0}};
-
- // Compute reference derivatives.
- // Declare array of derivatives on FIAT element.
- double derivatives[3];
- for (unsigned int r = 0; r < 3; r++)
- {
- derivatives[r] = 0.0;
- } // end loop over 'r'
-
- // Declare derivative matrix (of polynomial basis).
- double dmats[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Declare (auxiliary) derivative matrix (of polynomial basis).
- double dmats_old[4][4] = \
- {{1.0, 0.0, 0.0, 0.0},
- {0.0, 1.0, 0.0, 0.0},
- {0.0, 0.0, 1.0, 0.0},
- {0.0, 0.0, 0.0, 1.0}};
-
- // Loop possible derivatives.
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- // Resetting dmats values to compute next derivative.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats[t][u] = 0.0;
- if (t == u)
- {
- dmats[t][u] = 1.0;
- }
-
- } // end loop over 'u'
- } // end loop over 't'
-
- // Looping derivative order to generate dmats.
- for (unsigned int s = 0; s < n; s++)
- {
- // Updating dmats_old with new values and resetting dmats.
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- dmats_old[t][u] = dmats[t][u];
- dmats[t][u] = 0.0;
- } // end loop over 'u'
- } // end loop over 't'
-
- // Update dmats using an inner product.
- if (combinations[r][s] == 0)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats0[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 1)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats1[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- if (combinations[r][s] == 2)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- for (unsigned int u = 0; u < 4; u++)
- {
- for (unsigned int tu = 0; tu < 4; tu++)
- {
- dmats[t][u] += dmats2[t][tu]*dmats_old[tu][u];
- } // end loop over 'tu'
- } // end loop over 'u'
- } // end loop over 't'
- }
-
- } // end loop over 's'
- for (unsigned int s = 0; s < 4; s++)
- {
- for (unsigned int t = 0; t < 4; t++)
- {
- derivatives[r] += coefficients0[s]*dmats[s][t]*basisvalues[t];
- } // end loop over 't'
- } // end loop over 's'
- } // end loop over 'r'
-
- // Transform derivatives back to physical element
- for (unsigned int r = 0; r < num_derivatives; r++)
- {
- for (unsigned int s = 0; s < num_derivatives; s++)
- {
- values[2*num_derivatives + r] += transform[r][s]*derivatives[s];
- } // end loop over 's'
- } // end loop over 'r'
- break;
- }
- }
-
- }
-
- void evaluate_basis_derivatives(std::size_t i,
- std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives(i, n, values, x, coordinate_dofs, cell_orientation);
- }
-
- static void _evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation)
- {
- // Call evaluate_basis_all if order of derivatives is equal to zero.
- if (n == 0)
- {
- _evaluate_basis_all(values, x, coordinate_dofs, cell_orientation);
- return ;
- }
-
- // Compute number of derivatives.
- unsigned int num_derivatives = 1;
- for (unsigned int r = 0; r < n; r++)
- {
- num_derivatives *= 3;
- } // end loop over 'r'
-
- // Set values equal to zero.
- for (unsigned int r = 0; r < 12; r++)
- {
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = 0.0;
- } // end loop over 's'
- } // end loop over 'r'
-
- // If order of derivatives is greater than the maximum polynomial degree, return zeros.
- if (n > 1)
- {
- return ;
- }
-
- // Helper variable to hold values of a single dof.
- double dof_values[9];
- for (unsigned int r = 0; r < 9; r++)
- {
- dof_values[r] = 0.0;
- } // end loop over 'r'
-
- // Loop dofs and call evaluate_basis_derivatives.
- for (unsigned int r = 0; r < 12; r++)
- {
- _evaluate_basis_derivatives(r, n, dof_values, x, coordinate_dofs, cell_orientation);
- for (unsigned int s = 0; s < 3*num_derivatives; s++)
- {
- values[r*3*num_derivatives + s] = dof_values[s];
- } // end loop over 's'
- } // end loop over 'r'
- }
-
- void evaluate_basis_derivatives_all(std::size_t n,
- double * values,
- const double * x,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- _evaluate_basis_derivatives_all(n, values, x, coordinate_dofs, cell_orientation);
- }
-
- double evaluate_dof(std::size_t i,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[3];
- switch (i)
- {
- case 0:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 1:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 2:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 3:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[0];
- break;
- }
- case 4:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 5:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 6:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 7:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[1];
- break;
- }
- case 8:
- {
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 9:
- {
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 10:
- {
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- case 11:
- {
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- return vals[2];
- break;
- }
- }
-
- return 0.0;
- }
-
- void evaluate_dofs(double * values,
- const ufc::function& f,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Declare variables for result of evaluation
- double vals[3];
-
- // Declare variable for physical coordinates
- double y[3];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
- values[8] = vals[2];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[9] = vals[2];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[10] = vals[2];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[11] = vals[2];
- }
-
- void interpolate_vertex_values(double * vertex_values,
- const double * dof_values,
- const double * coordinate_dofs,
- int cell_orientation,
- const ufc::cell& c) const final override
- {
- // Evaluate function and change variables
- vertex_values[0] = dof_values[0];
- vertex_values[3] = dof_values[1];
- vertex_values[6] = dof_values[2];
- vertex_values[9] = dof_values[3];
- // Evaluate function and change variables
- vertex_values[1] = dof_values[4];
- vertex_values[4] = dof_values[5];
- vertex_values[7] = dof_values[6];
- vertex_values[10] = dof_values[7];
- // Evaluate function and change variables
- vertex_values[2] = dof_values[8];
- vertex_values[5] = dof_values[9];
- vertex_values[8] = dof_values[10];
- vertex_values[11] = dof_values[11];
- }
-
- void tabulate_dof_coordinates(double * dof_coordinates,
- const double * coordinate_dofs) const final override
- {
- dof_coordinates[0] = coordinate_dofs[0];
- dof_coordinates[1] = coordinate_dofs[1];
- dof_coordinates[2] = coordinate_dofs[2];
- dof_coordinates[3] = coordinate_dofs[3];
- dof_coordinates[4] = coordinate_dofs[4];
- dof_coordinates[5] = coordinate_dofs[5];
- dof_coordinates[6] = coordinate_dofs[6];
- dof_coordinates[7] = coordinate_dofs[7];
- dof_coordinates[8] = coordinate_dofs[8];
- dof_coordinates[9] = coordinate_dofs[9];
- dof_coordinates[10] = coordinate_dofs[10];
- dof_coordinates[11] = coordinate_dofs[11];
- dof_coordinates[12] = coordinate_dofs[0];
- dof_coordinates[13] = coordinate_dofs[1];
- dof_coordinates[14] = coordinate_dofs[2];
- dof_coordinates[15] = coordinate_dofs[3];
- dof_coordinates[16] = coordinate_dofs[4];
- dof_coordinates[17] = coordinate_dofs[5];
- dof_coordinates[18] = coordinate_dofs[6];
- dof_coordinates[19] = coordinate_dofs[7];
- dof_coordinates[20] = coordinate_dofs[8];
- dof_coordinates[21] = coordinate_dofs[9];
- dof_coordinates[22] = coordinate_dofs[10];
- dof_coordinates[23] = coordinate_dofs[11];
- dof_coordinates[24] = coordinate_dofs[0];
- dof_coordinates[25] = coordinate_dofs[1];
- dof_coordinates[26] = coordinate_dofs[2];
- dof_coordinates[27] = coordinate_dofs[3];
- dof_coordinates[28] = coordinate_dofs[4];
- dof_coordinates[29] = coordinate_dofs[5];
- dof_coordinates[30] = coordinate_dofs[6];
- dof_coordinates[31] = coordinate_dofs[7];
- dof_coordinates[32] = coordinate_dofs[8];
- dof_coordinates[33] = coordinate_dofs[9];
- dof_coordinates[34] = coordinate_dofs[10];
- dof_coordinates[35] = coordinate_dofs[11];
- }
-
- std::size_t num_sub_elements() const final override
- {
- return 3;
- }
-
- ufc::finite_element * create_sub_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson3d_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson3d_finite_element_0();
- break;
- }
- case 2:
- {
- return new poisson3d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::finite_element * create() const final override
- {
- return new poisson3d_finite_element_1();
- }
-
-};
-
-
-class poisson3d_dofmap_0: public ufc::dofmap
-{
-public:
-
- poisson3d_dofmap_0() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson3d_dofmap_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for FiniteElement('Lagrange', tetrahedron, 1)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- case 3:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 4;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 3;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 1;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- case 3:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- dofs[0] = entity_indices[0][0];
- dofs[1] = entity_indices[0][1];
- dofs[2] = entity_indices[0][2];
- dofs[3] = entity_indices[0][3];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- break;
- }
- case 3:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 3)
- {
- throw std::runtime_error("i is larger than number of entities (3)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- break;
- }
- case 3:
- {
- dofs[0] = 3;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- case 3:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 0;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson3d_dofmap_0();
- }
-
-};
-
-
-class poisson3d_dofmap_1: public ufc::dofmap
-{
-public:
-
- poisson3d_dofmap_1() : ufc::dofmap()
- {
- // Do nothing
- }
-
- ~poisson3d_dofmap_1() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "FFC dofmap for VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3)";
- }
-
- bool needs_mesh_entities(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return true;
- break;
- }
- case 1:
- {
- return false;
- break;
- }
- case 2:
- {
- return false;
- break;
- }
- case 3:
- {
- return false;
- break;
- }
- }
-
- return false;
- }
-
- std::size_t topological_dimension() const final override
- {
- return 3;
- }
-
- std::size_t global_dimension(const std::vector<std::size_t>&
- num_global_entities) const final override
- {
- return 3*num_global_entities[0];
- }
-
- std::size_t num_element_dofs() const final override
- {
- return 12;
- }
-
- std::size_t num_facet_dofs() const final override
- {
- return 9;
- }
-
- std::size_t num_entity_dofs(std::size_t d) const final override
- {
- switch (d)
- {
- case 0:
- {
- return 3;
- break;
- }
- case 1:
- {
- return 0;
- break;
- }
- case 2:
- {
- return 0;
- break;
- }
- case 3:
- {
- return 0;
- break;
- }
- }
-
- return 0;
- }
-
- void tabulate_dofs(std::size_t * dofs,
- const std::vector<std::size_t>& num_global_entities,
- const std::vector<std::vector<std::size_t>>& entity_indices) const final override
- {
- unsigned int offset = 0;
- dofs[0] = offset + entity_indices[0][0];
- dofs[1] = offset + entity_indices[0][1];
- dofs[2] = offset + entity_indices[0][2];
- dofs[3] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[4] = offset + entity_indices[0][0];
- dofs[5] = offset + entity_indices[0][1];
- dofs[6] = offset + entity_indices[0][2];
- dofs[7] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- dofs[8] = offset + entity_indices[0][0];
- dofs[9] = offset + entity_indices[0][1];
- dofs[10] = offset + entity_indices[0][2];
- dofs[11] = offset + entity_indices[0][3];
- offset += num_global_entities[0];
- }
-
- void tabulate_facet_dofs(std::size_t * dofs,
- std::size_t facet) const final override
- {
- switch (facet)
- {
- case 0:
- {
- dofs[0] = 1;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 5;
- dofs[4] = 6;
- dofs[5] = 7;
- dofs[6] = 9;
- dofs[7] = 10;
- dofs[8] = 11;
- break;
- }
- case 1:
- {
- dofs[0] = 0;
- dofs[1] = 2;
- dofs[2] = 3;
- dofs[3] = 4;
- dofs[4] = 6;
- dofs[5] = 7;
- dofs[6] = 8;
- dofs[7] = 10;
- dofs[8] = 11;
- break;
- }
- case 2:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 3;
- dofs[3] = 4;
- dofs[4] = 5;
- dofs[5] = 7;
- dofs[6] = 8;
- dofs[7] = 9;
- dofs[8] = 11;
- break;
- }
- case 3:
- {
- dofs[0] = 0;
- dofs[1] = 1;
- dofs[2] = 2;
- dofs[3] = 4;
- dofs[4] = 5;
- dofs[5] = 6;
- dofs[6] = 8;
- dofs[7] = 9;
- dofs[8] = 10;
- break;
- }
- }
-
- }
-
- void tabulate_entity_dofs(std::size_t * dofs,
- std::size_t d, std::size_t i) const final override
- {
- if (d > 3)
- {
- throw std::runtime_error("d is larger than dimension (3)");
- }
-
- switch (d)
- {
- case 0:
- {
- if (i > 3)
- {
- throw std::runtime_error("i is larger than number of entities (3)");
- }
-
- switch (i)
- {
- case 0:
- {
- dofs[0] = 0;
- dofs[1] = 4;
- dofs[2] = 8;
- break;
- }
- case 1:
- {
- dofs[0] = 1;
- dofs[1] = 5;
- dofs[2] = 9;
- break;
- }
- case 2:
- {
- dofs[0] = 2;
- dofs[1] = 6;
- dofs[2] = 10;
- break;
- }
- case 3:
- {
- dofs[0] = 3;
- dofs[1] = 7;
- dofs[2] = 11;
- break;
- }
- }
-
- break;
- }
- case 1:
- {
-
- break;
- }
- case 2:
- {
-
- break;
- }
- case 3:
- {
-
- break;
- }
- }
-
- }
-
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson3d_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson3d_dofmap_0();
- break;
- }
- case 2:
- {
- return new poisson3d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create() const final override
- {
- return new poisson3d_dofmap_1();
- }
-
-};
-
-
-class poisson3d_cell_integral_0_otherwise: public ufc::cell_integral
-{
-public:
-
- poisson3d_cell_integral_0_otherwise() : ufc::cell_integral()
- {
-
- }
-
- ~poisson3d_cell_integral_0_otherwise() override
- {
-
- }
-
- const std::vector<bool> & enabled_coefficients() const final override
- {
- static const std::vector<bool> enabled({});
- return enabled;
- }
-
- void tabulate_tensor(double * A,
- const double * const * w,
- const double * coordinate_dofs,
- int cell_orientation) const final override
- {
- // Number of operations (multiply-add pairs) for Jacobian data: 3
- // Number of operations (multiply-add pairs) for geometry tensor: 27
- // Number of operations (multiply-add pairs) for tensor contraction: 28
- // Total number of operations (multiply-add pairs): 58
-
- // Compute Jacobian
- double J[9];
- compute_jacobian_tetrahedron_3d(J, coordinate_dofs);
-
- // Compute Jacobian inverse and determinant
- double K[9];
- double detJ;
- compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
-
- // Set scale factor
- const double det = std::abs(detJ);
-
- // Compute geometry tensor
- const double G0_0_0 = det*(K[0]*K[0] + K[1]*K[1] + K[2]*K[2]);
- const double G0_0_1 = det*(K[0]*K[3] + K[1]*K[4] + K[2]*K[5]);
- const double G0_0_2 = det*(K[0]*K[6] + K[1]*K[7] + K[2]*K[8]);
- const double G0_1_0 = det*(K[3]*K[0] + K[4]*K[1] + K[5]*K[2]);
- const double G0_1_1 = det*(K[3]*K[3] + K[4]*K[4] + K[5]*K[5]);
- const double G0_1_2 = det*(K[3]*K[6] + K[4]*K[7] + K[5]*K[8]);
- const double G0_2_0 = det*(K[6]*K[0] + K[7]*K[1] + K[8]*K[2]);
- const double G0_2_1 = det*(K[6]*K[3] + K[7]*K[4] + K[8]*K[5]);
- const double G0_2_2 = det*(K[6]*K[6] + K[7]*K[7] + K[8]*K[8]);
-
- // Compute element tensor
- A[0] = 0.166666666666667*G0_0_0 + 0.166666666666667*G0_0_1 + 0.166666666666667*G0_0_2 + 0.166666666666667*G0_1_0 + 0.166666666666667*G0_1_1 + 0.166666666666667*G0_1_2 + 0.166666666666667*G0_2_0 + 0.166666666666667*G0_2_1 + 0.166666666666667*G0_2_2;
- A[1] = -0.166666666666667*G0_0_0 - 0.166666666666667*G0_1_0 - 0.166666666666667*G0_2_0;
- A[2] = -0.166666666666667*G0_0_1 - 0.166666666666667*G0_1_1 - 0.166666666666667*G0_2_1;
- A[3] = -0.166666666666667*G0_0_2 - 0.166666666666667*G0_1_2 - 0.166666666666667*G0_2_2;
- A[4] = -0.166666666666667*G0_0_0 - 0.166666666666667*G0_0_1 - 0.166666666666667*G0_0_2;
- A[5] = 0.166666666666667*G0_0_0;
- A[6] = 0.166666666666667*G0_0_1;
- A[7] = 0.166666666666667*G0_0_2;
- A[8] = -0.166666666666667*G0_1_0 - 0.166666666666667*G0_1_1 - 0.166666666666667*G0_1_2;
- A[9] = 0.166666666666667*G0_1_0;
- A[10] = 0.166666666666667*G0_1_1;
- A[11] = 0.166666666666667*G0_1_2;
- A[12] = -0.166666666666667*G0_2_0 - 0.166666666666667*G0_2_1 - 0.166666666666667*G0_2_2;
- A[13] = 0.166666666666667*G0_2_0;
- A[14] = 0.166666666666667*G0_2_1;
- A[15] = 0.166666666666667*G0_2_2;
- }
-
-};
-
-
-class poisson3d_form_0: public ufc::form
-{
-public:
-
- poisson3d_form_0() : ufc::form()
- {
- // Do nothing
- }
-
- ~poisson3d_form_0() override
- {
- // Do nothing
- }
-
- const char * signature() const final override
- {
- return "189addc1337507b593b83849ffa1cefea9e7ba0b840b5af3bb4ed325cf87c935ed2d337a05c0528dfbcb3e32f08357e3ecbac8667972bf14678007bdaef7655d";
- }
-
- std::size_t rank() const final override
- {
- return 2;
- }
-
- std::size_t num_coefficients() const final override
- {
- return 0;
- }
-
- std::size_t original_coefficient_position(std::size_t i) const final override
- {
- static const std::vector<std::size_t> position({});
- return position[i];
- }
-
- ufc::finite_element * create_coordinate_finite_element() const final override
- {
- return new poisson3d_finite_element_1();
- }
-
- ufc::dofmap * create_coordinate_dofmap() const final override
- {
- return new poisson3d_dofmap_1();
- }
-
- ufc::coordinate_mapping * create_coordinate_mapping() const final override
- {
- return nullptr;
- }
-
- ufc::finite_element * create_finite_element(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson3d_finite_element_0();
- break;
- }
- case 1:
- {
- return new poisson3d_finite_element_0();
- break;
- }
- }
-
- return 0;
- }
-
- ufc::dofmap * create_dofmap(std::size_t i) const final override
- {
- switch (i)
- {
- case 0:
- {
- return new poisson3d_dofmap_0();
- break;
- }
- case 1:
- {
- return new poisson3d_dofmap_0();
- break;
- }
- }
-
- return 0;
- }
-
- std::size_t max_cell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_exterior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interior_facet_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_vertex_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_custom_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_cutcell_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_interface_subdomain_id() const final override
- {
- return 0;
- }
-
- std::size_t max_overlap_subdomain_id() const final override
- {
- return 0;
- }
-
- bool has_cell_integrals() const final override
- {
- return true;
- }
-
- bool has_exterior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_interior_facet_integrals() const final override
- {
- return false;
- }
-
- bool has_vertex_integrals() const final override
- {
- return false;
- }
-
- bool has_custom_integrals() const final override
- {
- return false;
- }
-
- bool has_cutcell_integrals() const final override
- {
- return false;
- }
-
- bool has_interface_integrals() const final override
- {
- return false;
- }
-
- bool has_overlap_integrals() const final override
- {
- return false;
- }
-
- ufc::cell_integral * create_cell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::exterior_facet_integral * create_exterior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_interior_facet_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_vertex_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_custom_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_cutcell_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_interface_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_overlap_integral(std::size_t subdomain_id) const final override
- {
- return 0;
- }
-
- ufc::cell_integral * create_default_cell_integral() const final override
- {
- return new poisson3d_cell_integral_0_otherwise();
- }
-
- ufc::exterior_facet_integral * create_default_exterior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::interior_facet_integral * create_default_interior_facet_integral() const final override
- {
- return 0;
- }
-
- ufc::vertex_integral * create_default_vertex_integral() const final override
- {
- return 0;
- }
-
- ufc::custom_integral * create_default_custom_integral() const final override
- {
- return 0;
- }
-
- ufc::cutcell_integral * create_default_cutcell_integral() const final override
- {
- return 0;
- }
-
- ufc::interface_integral * create_default_interface_integral() const final override
- {
- return 0;
- }
-
- ufc::overlap_integral * create_default_overlap_integral() const final override
- {
- return 0;
- }
-
-};
-
-// DOLFIN wrappers
-
-// Standard library includes
-#include <string>
-
-// DOLFIN includes
-#include <dolfin/common/NoDeleter.h>
-#include <dolfin/mesh/Mesh.h>
-#include <dolfin/mesh/MultiMesh.h>
-#include <dolfin/fem/FiniteElement.h>
-#include <dolfin/fem/DofMap.h>
-#include <dolfin/fem/Form.h>
-#include <dolfin/fem/MultiMeshForm.h>
-#include <dolfin/function/FunctionSpace.h>
-#include <dolfin/function/MultiMeshFunctionSpace.h>
-#include <dolfin/function/GenericFunction.h>
-#include <dolfin/function/CoefficientAssigner.h>
-#include <dolfin/function/MultiMeshCoefficientAssigner.h>
-#include <dolfin/adaptivity/ErrorControl.h>
-#include <dolfin/adaptivity/GoalFunctional.h>
-#include <dolfin/la/GenericVector.h>
-
-namespace Poisson3D
-{
-
-class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson3d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson3d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson3d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson3d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_FunctionSpace_1: public dolfin::FunctionSpace
-{
-public:
-
- // Constructor for standard function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson3d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson3d_dofmap_0>(), *mesh))
- {
- // Do nothing
- }
-
- // Constructor for constrained function space
- Form_a_FunctionSpace_1(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
- dolfin::FunctionSpace(mesh,
- std::make_shared<const dolfin::FiniteElement>(std::make_shared<poisson3d_finite_element_0>()),
- std::make_shared<const dolfin::DofMap>(std::make_shared<poisson3d_dofmap_0>(), *mesh, constrained_domain))
- {
- // Do nothing
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_0: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_0(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_0(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a_MultiMeshFunctionSpace_1: public dolfin::MultiMeshFunctionSpace
-{
-public:
-
- // Constructor for multimesh function space
- Form_a_MultiMeshFunctionSpace_1(std::shared_ptr<const dolfin::MultiMesh> multimesh): dolfin::MultiMeshFunctionSpace(multimesh)
- {
- // Create and add standard function spaces
- for (std::size_t part = 0; part < multimesh->num_parts(); part++)
- {
- std::shared_ptr<const dolfin::FunctionSpace> V(new Form_a_FunctionSpace_1(multimesh->part(part)));
- add(V);
- }
-
- // Build multimesh function space
- build();
- }
-
-};
-
-class Form_a: public dolfin::Form
-{
-public:
-
- // Constructor
- Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
- dolfin::Form(2, 0)
- {
- _function_spaces[0] = V0;
- _function_spaces[1] = V1;
-
- _ufc_form = std::make_shared<const poisson3d_form_0>();
- }
-
- // Destructor
- ~Form_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-class MultiMeshForm_a: public dolfin::MultiMeshForm
-{
-public:
-
- // Constructor
- MultiMeshForm_a(std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V1, std::shared_ptr<const dolfin::MultiMeshFunctionSpace> V0):
- dolfin::MultiMeshForm(V1, V0)
- {
- // Create and add standard forms
- std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
- for (std::size_t part = 0; part < num_parts; part++)
- {
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
-
- // Build multimesh form
- build();
-
- /// Assign coefficients
-
- }
-
- // Destructor
- ~MultiMeshForm_a()
- {}
-
- /// Return the number of the coefficient with this name
- virtual std::size_t coefficient_number(const std::string& name) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return 0;
- }
-
- /// Return the name of the coefficient with this number
- virtual std::string coefficient_name(std::size_t i) const
- {
-
- dolfin::dolfin_error("generated code for class Form",
- "access coefficient data",
- "There are no coefficients");
- return "unnamed";
- }
-
- // Typedefs
- typedef Form_a_FunctionSpace_0 TestSpace;
- typedef Form_a_FunctionSpace_1 TrialSpace;
- typedef Form_a_MultiMeshFunctionSpace_0 MultiMeshTestSpace;
- typedef Form_a_MultiMeshFunctionSpace_1 MultiMeshTrialSpace;
-
- // Coefficients
-};
-
-// Class typedefs
-typedef Form_a BilinearForm;
-typedef MultiMeshForm_a MultiMeshBilinearForm;
-typedef Form_a JacobianForm;
-typedef MultiMeshForm_a MultiMeshJacobianForm;
-typedef Form_a::TestSpace FunctionSpace;
-typedef Form_a::MultiMeshTestSpace MultiMeshFunctionSpace;
-
-}
-
-#endif
diff --git a/dolfin/ale/compile.log b/dolfin/ale/compile.log
deleted file mode 100644
index db82fd5..0000000
--- a/dolfin/ale/compile.log
+++ /dev/null
@@ -1,443 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson2D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.042064 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.000504 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.00598001 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000126123 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0667961 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000354052 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000407934 seconds.
-
-FFC finished in 0.116028 seconds.
-Output written to ./Poisson2D.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson1D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 1
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<1 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<1 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.0147171 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 4 entries computed in 0.000659 seconds
- Shape of reference tensor: (2, 2, 1, 1)
- Primary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [1, 1] indices = [[0, 0]]
- External multi index: rank = 1 dims = [1] indices = [[0]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.00458789 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000149012 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.0260348 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000383854 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000404119 seconds.
-
-FFC finished in 0.046602 seconds.
-Output written to ./Poisson1D.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Poisson3D
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<3 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 0
- quadrature_degree: 0
-
-Compiler stage 1 finished in 0.0624769 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 144 entries computed in 0.000613 seconds
- Shape of reference tensor: (4, 4, 3, 3)
- Primary multi index: rank = 2 dims = [4, 4] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [3, 0], [3, 1], [3, 2], [3, 3]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- External multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.00681496 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000151157 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.176386 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000404119 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000478983 seconds.
-
-FFC finished in 0.247039 seconds.
-Output written to ./Poisson3D.h.
diff --git a/dolfin/common/CMakeLists.txt b/dolfin/common/CMakeLists.txt
new file mode 100644
index 0000000..7ebf6d8
--- /dev/null
+++ b/dolfin/common/CMakeLists.txt
@@ -0,0 +1,34 @@
+set(HEADERS
+ Array.h
+ ArrayView.h
+ constants.h
+ defines.h
+ dolfin_common.h
+ dolfin_doc.h
+ Hierarchical.h
+ IndexSet.h
+ init.h
+ MPI.h
+ NoDeleter.h
+ RangedIndexSet.h
+ Set.h
+ SubSystemsManager.h
+ Timer.h
+ timing.h
+ types.h
+ UniqueIdGenerator.h
+ utils.h
+ Variable.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ defines.cpp
+ init.cpp
+ MPI.cpp
+ SubSystemsManager.cpp
+ Timer.cpp
+ timing.cpp
+ UniqueIdGenerator.cpp
+ utils.cpp
+ Variable.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/common/SubSystemsManager.cpp b/dolfin/common/SubSystemsManager.cpp
index 8151e95..342e04f 100644
--- a/dolfin/common/SubSystemsManager.cpp
+++ b/dolfin/common/SubSystemsManager.cpp
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 Garth N. Wells
+// Copyright (C) 2008-2016 Garth N. Wells, Anders Logg, Jan Blechta
//
// This file is part of DOLFIN.
//
@@ -14,11 +14,6 @@
//
// You should have received a copy of the GNU Lesser General Public License
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// Modified by Anders Logg 2008-2012
-//
-// First added: 2008-01-07
-// Last changed: 2013-02-03
#ifdef HAS_MPI
#define MPICH_IGNORE_CXX_SEEK 1
@@ -34,6 +29,8 @@
#include <slepc.h>
#endif
+#include <boost/algorithm/string/trim.hpp>
+
#include <dolfin/common/constants.h>
#include <dolfin/common/Timer.h>
#include <dolfin/parameter/GlobalParameters.h>
@@ -53,8 +50,8 @@ SubSystemsManager& SubSystemsManager::singleton()
return the_instance;
}
//-----------------------------------------------------------------------------
-SubSystemsManager::SubSystemsManager() : petsc_initialized(false),
- control_mpi(false)
+SubSystemsManager::SubSystemsManager() : petsc_err_msg(""),
+ petsc_initialized(false), control_mpi(false)
{
// Do nothing
}
@@ -201,6 +198,9 @@ void SubSystemsManager::init_petsc(int argc, char* argv[])
if (!use_petsc_signal_handler)
PetscPopSignalHandler();
+ // Use our own error handler so we can pretty print errors from PETSc
+ PetscPushErrorHandler(PetscDolfinErrorHandler, nullptr);
+
// Remember that PETSc has been initialized
singleton().petsc_initialized = true;
@@ -313,3 +313,34 @@ bool SubSystemsManager::mpi_finalized()
#endif
}
//-----------------------------------------------------------------------------
+#ifdef HAS_PETSC
+PetscErrorCode SubSystemsManager::PetscDolfinErrorHandler(
+ MPI_Comm comm, int line, const char *fun, const char *file,
+ PetscErrorCode n, PetscErrorType p, const char *mess, void *ctx)
+{
+ // Store message for printing later (by PETScObject::petsc_error)
+ // only if it's not empty message (passed by PETSc when repeating error)
+ std::string _mess = mess;
+ boost::algorithm::trim(_mess);
+ if (_mess != "")
+ singleton().petsc_err_msg = _mess;
+
+ // Fetch PETSc error description
+ const char* desc;
+ PetscErrorMessage(n, &desc, nullptr);
+
+ // Log detailed error info
+ log(TRACE,
+ "PetscDolfinErrorHandler: line '%d', function '%s', file '%s',\n"
+ " : error code '%d' (%s), message follows:",
+ line, fun, file, n, desc);
+ // NOTE: don't put _mess as variadic argument; it might get trimmed
+ log(TRACE, std::string(78, '-'));
+ log(TRACE, _mess);
+ log(TRACE, std::string(78, '-'));
+
+ // Continue with error handling
+ PetscFunctionReturn(n);
+}
+#endif
+//-----------------------------------------------------------------------------
diff --git a/dolfin/common/SubSystemsManager.h b/dolfin/common/SubSystemsManager.h
index c51ebdc..2218eb5 100644
--- a/dolfin/common/SubSystemsManager.h
+++ b/dolfin/common/SubSystemsManager.h
@@ -21,6 +21,12 @@
#ifndef __SUB_SYSTEMS_MANAGER_H
#define __SUB_SYSTEMS_MANAGER_H
+#include <string>
+
+#ifdef HAS_PETSC
+#include <petsc.h>
+#endif
+
namespace dolfin
{
@@ -70,13 +76,25 @@ namespace dolfin
/// finalised)
static bool mpi_finalized();
+#ifdef HAS_PETSC
+ /// PETSc error handler. Logs everything known to DOLFIN logging
+ /// system (with level TRACE) and stores the error message into
+ /// pests_err_msg member.
+ static PetscErrorCode PetscDolfinErrorHandler(
+ MPI_Comm comm, int line, const char *fun, const char *file,
+ PetscErrorCode n, PetscErrorType p, const char *mess, void *ctx);
+#endif
+
+ /// Last recorded PETSc error message
+ std::string petsc_err_msg;
+
private:
// Constructor (private)
SubSystemsManager();
// Copy constructor (private)
- SubSystemsManager(const SubSystemsManager& sub_sys_manager);
+ SubSystemsManager(const SubSystemsManager&);
// Destructor
~SubSystemsManager();
diff --git a/dolfin/common/utils.h b/dolfin/common/utils.h
index 8443c0f..291eac3 100644
--- a/dolfin/common/utils.h
+++ b/dolfin/common/utils.h
@@ -42,15 +42,28 @@ namespace dolfin
/// etc.
template<typename T>
std::string container_to_string(const T& x, std::string delimiter,
- int precision)
+ int precision, int linebreak=0)
{
std::stringstream s;
s.precision(precision);
if (!x.empty())
{
- s << *x.begin();
- for (auto it = x.begin() + 1; it != x.end(); ++it)
- s << delimiter << *it;
+ if (linebreak == 0)
+ {
+ s << *x.begin();
+ for (auto it = x.begin() + 1; it != x.end(); ++it)
+ s << delimiter << *it;
+ }
+ else
+ {
+ for (unsigned int i = 0 ; i != x.size(); ++i)
+ {
+ if ((i + 1)%linebreak == 0)
+ s << x[i] << std::endl;
+ else
+ s << x[i] << delimiter;
+ }
+ }
}
return s.str();
}
diff --git a/dolfin/fem/AssemblerBase.cpp b/dolfin/fem/AssemblerBase.cpp
index fb4c1db..72aed4b 100644
--- a/dolfin/fem/AssemblerBase.cpp
+++ b/dolfin/fem/AssemblerBase.cpp
@@ -221,14 +221,15 @@ You might have forgotten to specify the value dimension correctly in an Expressi
"assemble form",
"Geometric dimension of Mesh does not match value shape of coordinate element in form");
}
- /* TODO: Wanted to check this but we don't have degree() available in ufc::finite_element.
+
+ // Check that the coordinate element degree matches the mesh degree
if (coordinate_element->degree() != mesh.geometry().degree())
{
dolfin_error("AssemblerBase.cpp",
"assemble form",
"Mesh geometry degree does not match degree of coordinate element in form");
}
- */
+
switch (mesh.type().cell_type())
{
case CellType::interval:
diff --git a/dolfin/fem/CMakeLists.txt b/dolfin/fem/CMakeLists.txt
new file mode 100644
index 0000000..d4e1812
--- /dev/null
+++ b/dolfin/fem/CMakeLists.txt
@@ -0,0 +1,66 @@
+set(HEADERS
+ assemble.h
+ assemble_local.h
+ AssemblerBase.h
+ Assembler.h
+ BasisFunction.h
+ DirichletBC.h
+ DiscreteOperators.h
+ DofMapBuilder.h
+ DofMap.h
+ dolfin_fem.h
+ Equation.h
+ fem_utils.h
+ FiniteElement.h
+ Form.h
+ GenericDofMap.h
+ LinearTimeDependentProblem.h
+ LinearVariationalProblem.h
+ LinearVariationalSolver.h
+ LocalAssembler.h
+ LocalSolver.h
+ MultiMeshAssembler.h
+ MultiMeshDirichletBC.h
+ MultiMeshDofMap.h
+ MultiMeshForm.h
+ NonlinearVariationalProblem.h
+ NonlinearVariationalSolver.h
+ OpenMpAssembler.h
+ PointSource.h
+ solve.h
+ SparsityPatternBuilder.h
+ SystemAssembler.h
+ UFC.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ assemble.cpp
+ assemble_local.cpp
+ AssemblerBase.cpp
+ Assembler.cpp
+ DirichletBC.cpp
+ DiscreteOperators.cpp
+ DofMapBuilder.cpp
+ DofMap.cpp
+ Equation.cpp
+ fem_utils.cpp
+ FiniteElement.cpp
+ Form.cpp
+ LinearTimeDependentProblem.cpp
+ LinearVariationalProblem.cpp
+ LinearVariationalSolver.cpp
+ LocalAssembler.cpp
+ LocalSolver.cpp
+ MultiMeshAssembler.cpp
+ MultiMeshDirichletBC.cpp
+ MultiMeshDofMap.cpp
+ MultiMeshForm.cpp
+ NonlinearVariationalProblem.cpp
+ NonlinearVariationalSolver.cpp
+ OpenMpAssembler.cpp
+ PointSource.cpp
+ solve.cpp
+ SparsityPatternBuilder.cpp
+ SystemAssembler.cpp
+ UFC.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/fem/DirichletBC.cpp b/dolfin/fem/DirichletBC.cpp
index 83202f0..564f2c5 100644
--- a/dolfin/fem/DirichletBC.cpp
+++ b/dolfin/fem/DirichletBC.cpp
@@ -285,6 +285,9 @@ void DirichletBC::get_boundary_values(Map& boundary_values) const
//-----------------------------------------------------------------------------
void DirichletBC::zero(GenericMatrix& A) const
{
+ // Check arguments
+ check_arguments(&A, NULL, NULL);
+
// A map to hold the mapping from boundary dofs to boundary values
Map boundary_values;
@@ -312,6 +315,10 @@ void DirichletBC::zero_columns(GenericMatrix& A,
GenericVector& b,
double diag_val) const
{
+ // Check arguments
+ check_arguments(&A, &b, NULL);
+
+ // A map to hold the mapping from boundary dofs to boundary values
Map bv_map;
get_boundary_values(bv_map);
@@ -1137,22 +1144,23 @@ void DirichletBC::check_arguments(GenericMatrix* A, GenericVector* b,
dolfin_assert(_function_space);
// Check matrix and vector dimensions
- if (A && x && A->size(0) != x->size())
+ if (A && x && A->size(1) != x->size())
{
dolfin_error("BoundaryCondition.cpp",
"apply boundary condition",
- "Matrix dimension (%d rows) does not match vector dimension (%d) for application of boundary conditions",
- A->size(0), x->size());
+ "Matrix dimension (%d columns) does not match x vector dimension (%d) for application of boundary conditions",
+ A->size(1), x->size());
}
if (A && b && A->size(0) != b->size())
{
dolfin_error("BoundaryCondition.cpp",
"apply boundary condition",
- "Matrix dimension (%d rows) does not match vector dimension (%d) for application of boundary conditions",
+ "Matrix dimension (%d rows) does not match b vector dimension (%d) for application of boundary conditions",
A->size(0), b->size());
}
+ // This extra assumption should be needed only when x != NULL
if (x && b && x->size() != b->size())
{
dolfin_error("BoundaryCondition.cpp",
@@ -1161,7 +1169,9 @@ void DirichletBC::check_arguments(GenericMatrix* A, GenericVector* b,
x->size(), b->size());
}
- // Check dimension of function space
+ // Check dimension of function space is not "too big"
+ // NOTE: Keeping these primitive inequality tests because detailed range
+ // checks below may be turned off; needed for MultiMesh stuff
if (A && A->size(0) < _function_space->dim())
{
dolfin_error("BoundaryCondition.cpp",
@@ -1186,7 +1196,39 @@ void DirichletBC::check_arguments(GenericMatrix* A, GenericVector* b,
_function_space->dim(), b->size());
}
- // FIXME: Check case A.size() > _function_space->dim() for subspaces
+ // Check local range of tensors against function space
+ if (parameters["check_dofmap_range"])
+ {
+ std::pair<std::int64_t, std::int64_t> dofmap_range =
+ _function_space->dofmap()->ownership_range();
+
+ if (A && A->local_range(0) != dofmap_range)
+ {
+ dolfin_error("BoundaryCondition.cpp",
+ "apply boundary condition",
+ "Dofmap ownership range (%d,%d) does not match matrix local range (%d,%d)",
+ dofmap_range.first, dofmap_range.second,
+ A->local_range(0).first, A->local_range(0).second);
+ }
+
+ if (x && x->local_range() != dofmap_range)
+ {
+ dolfin_error("BoundaryCondition.cpp",
+ "apply boundary condition",
+ "Dofmap ownership range (%d,%d) does not match x vector local range (%d,%d)",
+ dofmap_range.first, dofmap_range.second,
+ x->local_range().first, x->local_range().second);
+ }
+
+ if (b && b->local_range() != dofmap_range)
+ {
+ dolfin_error("BoundaryCondition.cpp",
+ "apply boundary condition",
+ "Dofmap ownership range (%d,%d) does not match b vector local range (%d,%d)",
+ dofmap_range.first, dofmap_range.second,
+ b->local_range().first, b->local_range().second);
+ }
+ }
}
//-----------------------------------------------------------------------------
DirichletBC::LocalData::LocalData(const FunctionSpace& V)
diff --git a/dolfin/fem/DirichletBC.h b/dolfin/fem/DirichletBC.h
index 380b19a..33e261d 100644
--- a/dolfin/fem/DirichletBC.h
+++ b/dolfin/fem/DirichletBC.h
@@ -360,6 +360,7 @@ namespace dolfin
{
Parameters p("dirichlet_bc");
p.add("use_ident", true);
+ p.add("check_dofmap_range", true);
return p;
}
diff --git a/dolfin/fem/DofMap.cpp b/dolfin/fem/DofMap.cpp
index 6ae58e4..018a781 100644
--- a/dolfin/fem/DofMap.cpp
+++ b/dolfin/fem/DofMap.cpp
@@ -153,27 +153,6 @@ std::size_t DofMap::global_dimension() const
return _global_dimension;
}
//-----------------------------------------------------------------------------
-std::size_t DofMap::local_dimension(std::string type) const
-{
- deprecation("DofMap::local_dimension", "2016.1",
- "Please use dofmap::index_map()->size() instead.");
-
- if (type == "owned")
- return _index_map->size(IndexMap::MapSize::OWNED);
- else if (type == "unowned")
- return _index_map->size(IndexMap::MapSize::UNOWNED);
- else if (type == "all")
- return _index_map->size(IndexMap::MapSize::ALL);
- else
- {
- dolfin_error("DofMap.cpp",
- "get local dimension",
- "Unknown type %s", type.c_str());
- }
-
- return 0;
-}
-//-----------------------------------------------------------------------------
std::size_t DofMap::num_element_dofs(std::size_t cell_index) const
{
return _cell_dimension;
diff --git a/dolfin/fem/DofMap.h b/dolfin/fem/DofMap.h
index 31574b0..b7c8f98 100644
--- a/dolfin/fem/DofMap.h
+++ b/dolfin/fem/DofMap.h
@@ -111,18 +111,6 @@ namespace dolfin
/// The dimension of the global finite element function space.
std::size_t global_dimension() const;
- /// Return number of owned, unowned, or all dofs in the dofmap on
- /// this process
- ///
- /// *Arguments*
- /// type (std::string)
- /// Either "owned", "unowned", or "all"
- ///
- /// *Returns*
- /// std::size_t
- /// Number of local dofs.
- std::size_t local_dimension(std::string type) const;
-
/// Return the dimension of the local finite element function
/// space on a cell
///
diff --git a/dolfin/fem/DofMapBuilder.cpp b/dolfin/fem/DofMapBuilder.cpp
index 33f8d5f..1b5e6d5 100644
--- a/dolfin/fem/DofMapBuilder.cpp
+++ b/dolfin/fem/DofMapBuilder.cpp
@@ -404,7 +404,7 @@ std::size_t DofMapBuilder::build_constrained_vertex_indices(
const Mesh& mesh,
const std::map<unsigned int,
std::pair<unsigned int, unsigned int>>& slave_to_master_vertices,
- std::vector<std::size_t>& modified_vertex_indices_global)
+ std::vector<std::int64_t>& modified_vertex_indices_global)
{
// MPI communicator
const MPI_Comm mpi_comm = mesh.mpi_comm();
@@ -445,8 +445,8 @@ std::size_t DofMapBuilder::build_constrained_vertex_indices(
// Compute modified global vertex indices
std::size_t new_index = 0;
modified_vertex_indices_global
- = std::vector<std::size_t>(mesh.num_vertices(),
- std::numeric_limits<std::size_t>::max());
+ = std::vector<std::int64_t>(mesh.num_vertices(), -1);
+
for (VertexIterator vertex(mesh); !vertex.end(); ++vertex)
{
const std::size_t local_index = vertex->index();
@@ -1204,7 +1204,7 @@ DofMapBuilder::build_ufc_node_graph_constrained(
}
// Get constrained mesh entities
- std::vector<std::vector<std::size_t>> global_entity_indices;
+ std::vector<std::vector<std::int64_t>> global_entity_indices;
compute_constrained_mesh_indices(global_entity_indices,
num_mesh_entities_global,
required_mesh_entities,
@@ -1325,7 +1325,7 @@ DofMapBuilder::build_ufc_node_graph_constrained(
}
//-----------------------------------------------------------------------------
void DofMapBuilder::compute_constrained_mesh_indices(
- std::vector<std::vector<std::size_t>>& global_entity_indices,
+ std::vector<std::vector<std::int64_t>>& global_entity_indices,
std::vector<std::size_t>& num_mesh_entities_global,
const std::vector<bool>& needs_mesh_entities,
const Mesh& mesh,
@@ -1723,7 +1723,7 @@ void DofMapBuilder::get_cell_entities_global(const Cell& cell,
{
if (topology.have_global_indices(d)) // TODO: Check if this ever will be false in here
{
- const std::vector<std::size_t>& global_indices = topology.global_indices(d);
+ const auto& global_indices = topology.global_indices(d);
for (std::size_t i = 0; i < cell.num_entities(d); ++i)
entity_indices[d][i] = global_indices[cell.entities(d)[i]];
}
@@ -1747,7 +1747,7 @@ void DofMapBuilder::get_cell_entities_global(const Cell& cell,
//-----------------------------------------------------------------------------
void DofMapBuilder::get_cell_entities_global_constrained(const Cell& cell,
std::vector<std::vector<std::size_t>>& entity_indices,
- const std::vector<std::vector<std::size_t>>& global_entity_indices,
+ const std::vector<std::vector<std::int64_t>>& global_entity_indices,
const std::vector<bool>& needs_mesh_entities)
{
const std::size_t D = cell.mesh().topology().dim();
@@ -1763,7 +1763,7 @@ void DofMapBuilder::get_cell_entities_global_constrained(const Cell& cell,
}
if (!global_entity_indices[d].empty()) // TODO: Can this be false? If so the entity_indices array will contain garbage
{
- const std::vector<std::size_t>& global_indices = global_entity_indices[d];
+ const auto& global_indices = global_entity_indices[d];
for (std::size_t i = 0; i < cell.num_entities(d); ++i)
entity_indices[d][i] = global_indices[cell.entities(d)[i]];
}
diff --git a/dolfin/fem/DofMapBuilder.h b/dolfin/fem/DofMapBuilder.h
index 8cb75c6..b5b56f2 100644
--- a/dolfin/fem/DofMapBuilder.h
+++ b/dolfin/fem/DofMapBuilder.h
@@ -70,7 +70,7 @@ namespace dolfin
const Mesh& mesh,
const std::map<unsigned int, std::pair<unsigned int,
unsigned int>>& slave_to_master_vertices,
- std::vector<std::size_t>& modified_vertex_indices_global);
+ std::vector<std::int64_t>& modified_vertex_indices_global);
// Build simple local UFC-based dofmap data structure (does not
// account for master/slave constraints)
@@ -135,7 +135,7 @@ namespace dolfin
static std::size_t compute_blocksize(const ufc::dofmap& ufc_dofmap);
static void compute_constrained_mesh_indices(
- std::vector<std::vector<std::size_t>>& global_entity_indices,
+ std::vector<std::vector<std::int64_t>>& global_entity_indices,
std::vector<std::size_t>& num_mesh_entities_global,
const std::vector<bool>& needs_mesh_entities,
const Mesh& mesh,
@@ -194,7 +194,7 @@ namespace dolfin
static void get_cell_entities_global_constrained(const Cell& cell,
std::vector<std::vector<std::size_t>>& entity_indices,
- const std::vector<std::vector<std::size_t>>& global_entity_indices,
+ const std::vector<std::vector<std::int64_t>>& global_entity_indices,
const std::vector<bool>& needs_mesh_entities);
// Compute number of mesh entities for dimensions required by
diff --git a/dolfin/fem/GenericDofMap.h b/dolfin/fem/GenericDofMap.h
index 847e949..aca82cf 100644
--- a/dolfin/fem/GenericDofMap.h
+++ b/dolfin/fem/GenericDofMap.h
@@ -66,11 +66,6 @@ namespace dolfin
/// space
virtual std::size_t global_dimension() const = 0;
- /// Return number of owned (type="owned"), unowned
- /// (type="unowned"), or all (type="all") dofs in the map on this
- /// process
- virtual std::size_t local_dimension(std::string type) const = 0;
-
/// Return the dimension of the local finite element function
/// space on a cell (deprecated API)
std::size_t cell_dimension(std::size_t index) const
diff --git a/dolfin/fem/LinearVariationalProblem.cpp b/dolfin/fem/LinearVariationalProblem.cpp
index b51bdf4..b85fe2a 100644
--- a/dolfin/fem/LinearVariationalProblem.cpp
+++ b/dolfin/fem/LinearVariationalProblem.cpp
@@ -16,7 +16,9 @@
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
#include <dolfin/function/Function.h>
+#include <dolfin/function/FunctionSpace.h>
#include "Form.h"
+#include "DirichletBC.h"
#include "LinearVariationalProblem.h"
using namespace dolfin;
@@ -99,11 +101,28 @@ void LinearVariationalProblem::check_forms() const
// Check that function space of solution variable matches trial space
dolfin_assert(_a);
dolfin_assert(_u);
- if (!_u->in(*_a->function_space(1)))
+ const auto trial_space = _a->function_space(1);
+ dolfin_assert(trial_space);
+ if (!_u->in(*trial_space))
{
dolfin_error("LinearVariationalProblem.cpp",
"define linear variational problem a(u, v) = L(v) for all v",
"Expecting the solution variable u to be a member of the trial space");
}
+
+ // Check that function spaces of bcs are contained in trial space
+ for (const auto bc: _bcs)
+ {
+ dolfin_assert(bc);
+ const auto bc_space = bc->function_space();
+ dolfin_assert(bc_space);
+ if (!trial_space->contains(*bc_space))
+ {
+ dolfin_error("LinearVariationalProblem.cpp",
+ "define linear variational problem a(u, v) = L(v) for all v",
+ "Expecting the boundary conditions to to live on (a "
+ "subspace of) the trial space");
+ }
+ }
}
//-----------------------------------------------------------------------------
diff --git a/dolfin/fem/LocalSolver.cpp b/dolfin/fem/LocalSolver.cpp
index 8d6858a..4230a70 100644
--- a/dolfin/fem/LocalSolver.cpp
+++ b/dolfin/fem/LocalSolver.cpp
@@ -197,8 +197,9 @@ void LocalSolver::_solve_local(GenericVector& x, const GenericVector* global_b,
{
// Assemble local RHS vector
LocalAssembler::assemble(b_e, *ufc_L, coordinate_dofs, ufc_cell,
- *cell, cell_domains,
- exterior_facet_domains, interior_facet_domains);
+ *cell, _formL->cell_domains().get(),
+ _formL->exterior_facet_domains().get(),
+ _formL->interior_facet_domains().get());
}
if (use_cache)
diff --git a/dolfin/fem/MultiMeshDirichletBC.cpp b/dolfin/fem/MultiMeshDirichletBC.cpp
index b0d1cc1..abc5460 100644
--- a/dolfin/fem/MultiMeshDirichletBC.cpp
+++ b/dolfin/fem/MultiMeshDirichletBC.cpp
@@ -60,6 +60,9 @@ MultiMeshDirichletBC::MultiMeshDirichletBC(std::shared_ptr<const MultiMeshFuncti
method,
check_midpoint));
+ // HACK: function space dimension does not match tensor dimensions
+ bc->parameters["check_dofmap_range"] = false;
+
// Add to list
_bcs.push_back(bc);
}
@@ -84,6 +87,9 @@ MultiMeshDirichletBC::MultiMeshDirichletBC(std::shared_ptr<const MultiMeshFuncti
sub_domain,
method));
+ // HACK: function space dimension does not match tensor dimensions
+ bc->parameters["check_dofmap_range"] = false;
+
// Add to list. Note that in this case (as opposed to the case when the
// boundary conditions are specified in terms of a subdomain) we will only
// have a single boundary condition.
@@ -137,7 +143,7 @@ void MultiMeshDirichletBC::apply(GenericVector& b) const
// Set current part for subdomain wrapper
dolfin_assert(_sub_domain);
_sub_domain->set_current_part(part);
-
+
// Apply boundary condition
_bcs[part]->apply(b);
}
@@ -145,10 +151,10 @@ void MultiMeshDirichletBC::apply(GenericVector& b) const
else
{
dolfin_assert(_bcs.size() == 1);
-
+
// Apply the single boundary condition
_bcs[0]->apply(b);
- }
+ }
}
//-----------------------------------------------------------------------------
void MultiMeshDirichletBC::apply(GenericMatrix& A,
@@ -166,7 +172,7 @@ void MultiMeshDirichletBC::apply(GenericMatrix& A,
// Set current part for subdomain wrapper
dolfin_assert(_sub_domain);
_sub_domain->set_current_part(part);
-
+
// Apply boundary condition
_bcs[part]->apply(A, b);
}
@@ -195,7 +201,7 @@ void MultiMeshDirichletBC::apply(GenericVector& b,
// Set current part for subdomain wrapper
dolfin_assert(_sub_domain);
_sub_domain->set_current_part(part);
-
+
// Apply boundary condition
_bcs[part]->apply(b, x);
}
@@ -225,7 +231,7 @@ void MultiMeshDirichletBC::apply(GenericMatrix& A,
// Set current part for subdomain wrapper
dolfin_assert(_sub_domain);
_sub_domain->set_current_part(part);
-
+
// Apply boundary condition
_bcs[part]->apply(A, b, x);
}
@@ -233,7 +239,7 @@ void MultiMeshDirichletBC::apply(GenericMatrix& A,
else
{
dolfin_assert(_bcs.size() == 1);
-
+
// Apply the single boundary condition
_bcs[0]->apply(A, b, x);
}
diff --git a/dolfin/fem/NonlinearVariationalProblem.cpp b/dolfin/fem/NonlinearVariationalProblem.cpp
index 33d2678..b7b10e8 100644
--- a/dolfin/fem/NonlinearVariationalProblem.cpp
+++ b/dolfin/fem/NonlinearVariationalProblem.cpp
@@ -18,8 +18,10 @@
// Modified by Corrado Maurini, 2013.
#include <dolfin/function/Function.h>
+#include <dolfin/function/FunctionSpace.h>
#include <dolfin/la/GenericVector.h>
#include "Form.h"
+#include "DirichletBC.h"
#include "NonlinearVariationalProblem.h"
using namespace dolfin;
@@ -129,9 +131,9 @@ void NonlinearVariationalProblem::check_forms() const
if (_residual->rank() != 1)
{
dolfin_error("NonlinearVariationalProblem.cpp",
- "define nonlinear variational problem F(u; v) = 0 for all v",
- "Expecting the residual F to be a linear form (not rank %d)",
- _residual->rank());
+ "define nonlinear variational problem F(u; v) = 0 for all v",
+ "Expecting the residual F to be a linear form (not rank %d)",
+ _residual->rank());
}
// Check rank of Jacobian J
@@ -146,5 +148,23 @@ void NonlinearVariationalProblem::check_forms() const
// FIXME: Should we add a check here that matches the function space
// FIXME: of the solution variable u to a coefficient space for F?
dolfin_assert(_u);
+
+ // Check that function spaces of bcs are contained in trial space
+ dolfin_assert(_u);
+ const auto trial_space = _u->function_space();
+ dolfin_assert(trial_space);
+ for (const auto bc: _bcs)
+ {
+ dolfin_assert(bc);
+ const auto bc_space = bc->function_space();
+ dolfin_assert(bc_space);
+ if (!trial_space->contains(*bc_space))
+ {
+ dolfin_error("NonlinearVariationalProblem.cpp",
+ "define nonlinear variational problem F(u; v) = 0 for all v",
+ "Expecting the boundary conditions to to live on (a "
+ "subspace of) the trial space");
+ }
+ }
}
//-----------------------------------------------------------------------------
diff --git a/dolfin/fem/SystemAssembler.cpp b/dolfin/fem/SystemAssembler.cpp
index 931643d..a6cff76 100644
--- a/dolfin/fem/SystemAssembler.cpp
+++ b/dolfin/fem/SystemAssembler.cpp
@@ -117,33 +117,22 @@ _pick_one_meshfunction(std::string name,
{
if ((a && b) && a != b)
{
- warning("Bilinear and linear forms do not have same %s subdomains \
-in SystemAssembler. Taking %s subdomains from bilinear form",
- name.c_str(), name.c_str());
+ warning("Bilinear and linear forms do not have same %s subdomains in "
+ "SystemAssembler. Taking %s subdomains from bilinear form",
+ name.c_str(), name.c_str());
}
- return a ? a: b;
+ return a ? a : b;
}
//-----------------------------------------------------------------------------
bool SystemAssembler::check_functionspace_for_bc
(std::shared_ptr<const FunctionSpace> fs, std::size_t bc_index)
{
+ dolfin_assert(_bcs[bc_index]);
std::shared_ptr<const FunctionSpace> bc_function_space
= _bcs[bc_index]->function_space();
+ dolfin_assert(bc_function_space);
- if (*bc_function_space == *fs)
- return true;
- else
- {
- // Recursively check sub-spaces
- std::size_t num_sub_elements = fs->element()->num_sub_elements();
- for (std::size_t i = 0; i != num_sub_elements; ++i)
- {
- std::shared_ptr<const FunctionSpace> subspace = (*fs)[i];
- if (check_functionspace_for_bc(subspace, bc_index))
- return true;
- }
- }
- return false;
+ return fs->contains(*bc_function_space);
}
//-----------------------------------------------------------------------------
void SystemAssembler::assemble(GenericMatrix* A, GenericVector* b,
@@ -221,35 +210,45 @@ void SystemAssembler::assemble(GenericMatrix* A, GenericVector* b,
// Get Dirichlet dofs and values for local mesh
// Determine whether _a is bilinear in the same form
- std::size_t num_fs
- = (*_a->function_space(0) == *_a->function_space(1)) ? 1 : 2;
+ bool rectangular = (*_a->function_space(0) != *_a->function_space(1));
// Bin boundary conditions according to which form they apply to (if any)
- std::vector<DirichletBC::Map> boundary_values(num_fs);
+ std::vector<DirichletBC::Map> boundary_values(rectangular ? 2 : 1);
for (std::size_t i = 0; i < _bcs.size(); ++i)
{
// Match the FunctionSpace of the BC
// with the (possible sub-)FunctionSpace on each axis of _a.
- int axis = -1;
+ bool axis0 = check_functionspace_for_bc(_a->function_space(0), i);
+ bool axis1 = rectangular && check_functionspace_for_bc(_a->function_space(1), i);
- if (check_functionspace_for_bc(_a->function_space(0), i))
- axis = 0;
- else if (check_functionspace_for_bc(_a->function_space(1), i))
- axis = 1;
+ // Fetch bc on axis0
+ if (axis0)
+ {
+ log(TRACE, "System assembler: boundary condition %d applies to axis 0", i);
+ _bcs[i]->get_boundary_values(boundary_values[0]);
+ if (MPI::size(mesh.mpi_comm()) > 1 && _bcs[i]->method() != "pointwise")
+ _bcs[i]->gather(boundary_values[0]);
+ }
- // Found!
- if (axis != -1)
+ // Fetch bc on axis1
+ if (axis1)
{
- _bcs[i]->get_boundary_values(boundary_values[axis]);
+ log(TRACE, "System assembler: boundary condition %d applies to axis 1", i);
+ _bcs[i]->get_boundary_values(boundary_values[1]);
if (MPI::size(mesh.mpi_comm()) > 1 && _bcs[i]->method() != "pointwise")
- _bcs[i]->gather(boundary_values[axis]);
+ _bcs[i]->gather(boundary_values[1]);
}
+ if (!axis0 && !axis1)
+ {
+ log(TRACE, "System assembler: ignoring inapplicable boundary condition %d", i);
+ }
}
// Modify boundary values for incremental (typically nonlinear)
// problems
- // FIXME: not sure what happens when num_fs==2
+ // FIXME: not sure what happens when rectangular==true,
+ // should we raise "not implemented error" here?
if (x0)
{
dolfin_assert(x0->size()
@@ -852,7 +851,7 @@ void SystemAssembler::facet_wise_assembly(
}
}
//-----------------------------------------------------------------------------
-void SystemAssembler:: compute_exterior_facet_tensor(
+void SystemAssembler::compute_exterior_facet_tensor(
std::array<std::vector<double>, 2>& Ae,
std::array<UFC*, 2>& ufc,
ufc::cell& ufc_cell,
@@ -1059,6 +1058,17 @@ SystemAssembler::apply_bc(double* A, double* b,
}
else
{
+ // Possibly rectangular matrix with different spaces on axes
+ // FIXME: This won't work for forms on W x W.sub(0), which would contain
+ // diagonal. This is difficult to distinguish from form
+ // on V x Q which would by accident contain V bc and Q bc with
+ // same dof index, but that's not diagonal.
+ //
+ // Essentially we need to detect if _a->function_space(0) and
+ // _a->function_space(1) share the common super space (use
+ // FunctionSpace::_root_space_id). In that case dof ids are shared
+ // and matrix has diagonal. Otherwise it does not have diagonal.
+
// Loop over rows first
for (int i = 0; i < _matA.rows(); ++i)
{
diff --git a/dolfin/fem/assemble.cpp b/dolfin/fem/assemble.cpp
index 8b4a22b..e72ad92 100644
--- a/dolfin/fem/assemble.cpp
+++ b/dolfin/fem/assemble.cpp
@@ -25,6 +25,7 @@
#include <dolfin/la/Scalar.h>
#include "Form.h"
+#include "MultiMeshForm.h"
#include "Assembler.h"
#include "SystemAssembler.h"
#include "MultiMeshAssembler.h"
@@ -80,3 +81,18 @@ double dolfin::assemble(const Form& a)
return s.get_scalar_value();
}
//-----------------------------------------------------------------------------
+double dolfin::assemble_multimesh(const MultiMeshForm& a)
+{
+ if (a.rank() != 0)
+ {
+ dolfin_error("assemble.cpp",
+ "assemble MultiMeshForm",
+ "Expecting a scalar form but rank is %d",
+ a.rank());
+ }
+ Scalar s;
+ MultiMeshAssembler assembler;
+ assembler.assemble(s, a);
+ return s.get_scalar_value();
+}
+//-----------------------------------------------------------------------------
diff --git a/dolfin/fem/assemble.h b/dolfin/fem/assemble.h
index 34988fd..603fd88 100644
--- a/dolfin/fem/assemble.h
+++ b/dolfin/fem/assemble.h
@@ -65,6 +65,8 @@ namespace dolfin
/// Assemble scalar
double assemble(const Form& a);
+ /// Assemble scalar from multimesh form
+ double assemble_multimesh(const MultiMeshForm& a);
}
#endif
diff --git a/dolfin/fem/fem_utils.cpp b/dolfin/fem/fem_utils.cpp
index be314ea..29feba7 100644
--- a/dolfin/fem/fem_utils.cpp
+++ b/dolfin/fem/fem_utils.cpp
@@ -228,6 +228,8 @@ void _get_set_coordinates(MeshGeometry& geometry, Function& position,
for (std::size_t dim = 0; dim <= tdim; ++dim)
{
// Get local-to-global entity mapping
+ if (!coords_per_entity[dim])
+ continue;
global_entities = c->entities(dim);
for (std::size_t local_entity = 0;
diff --git a/dolfin/function/CMakeLists.txt b/dolfin/function/CMakeLists.txt
new file mode 100644
index 0000000..1175632
--- /dev/null
+++ b/dolfin/function/CMakeLists.txt
@@ -0,0 +1,38 @@
+set(HEADERS
+ assign.h
+ CoefficientAssigner.h
+ Constant.h
+ dolfin_function.h
+ Expression.h
+ FunctionAssigner.h
+ FunctionAXPY.h
+ Function.h
+ FunctionSpace.h
+ GenericFunction.h
+ LagrangeInterpolator.h
+ MultiMeshCoefficientAssigner.h
+ MultiMeshFunction.h
+ MultiMeshFunctionSpace.h
+ MultiMeshSubSpace.h
+ SpecialFacetFunction.h
+ SpecialFunctions.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ assign.cpp
+ CoefficientAssigner.cpp
+ Constant.cpp
+ Expression.cpp
+ FunctionAssigner.cpp
+ FunctionAXPY.cpp
+ Function.cpp
+ FunctionSpace.cpp
+ GenericFunction.cpp
+ LagrangeInterpolator.cpp
+ MultiMeshCoefficientAssigner.cpp
+ MultiMeshFunction.cpp
+ MultiMeshFunctionSpace.cpp
+ MultiMeshSubSpace.cpp
+ SpecialFacetFunction.cpp
+ SpecialFunctions.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/function/Function.cpp b/dolfin/function/Function.cpp
index 5fc7628..879ca93 100644
--- a/dolfin/function/Function.cpp
+++ b/dolfin/function/Function.cpp
@@ -28,6 +28,7 @@
#include <dolfin/common/Array.h>
#include <dolfin/common/Timer.h>
#include <dolfin/common/utils.h>
+#include <dolfin/common/NoDeleter.h>
#include <dolfin/fem/FiniteElement.h>
#include <dolfin/fem/GenericDofMap.h>
#include <dolfin/fem/DirichletBC.h>
@@ -217,34 +218,38 @@ Function& Function::operator[] (std::size_t i) const
}
}
//-----------------------------------------------------------------------------
-FunctionAXPY Function::operator+(const Function& other) const
+FunctionAXPY Function::operator+(std::shared_ptr<const Function> other) const
{
- return FunctionAXPY(*this, other, FunctionAXPY::Direction::ADD_ADD);
+ return FunctionAXPY(reference_to_no_delete_pointer(*this), other,
+ FunctionAXPY::Direction::ADD_ADD);
}
//-----------------------------------------------------------------------------
FunctionAXPY Function::operator+(const FunctionAXPY& axpy) const
{
- return FunctionAXPY(axpy, *this, FunctionAXPY::Direction::ADD_ADD);
+ return FunctionAXPY(axpy, reference_to_no_delete_pointer(*this),
+ FunctionAXPY::Direction::ADD_ADD);
}
//-----------------------------------------------------------------------------
-FunctionAXPY Function::operator-(const Function& other) const
+FunctionAXPY Function::operator-(std::shared_ptr<const Function> other) const
{
- return FunctionAXPY(*this, other, FunctionAXPY::Direction::ADD_SUB);
+ return FunctionAXPY(reference_to_no_delete_pointer(*this), other,
+ FunctionAXPY::Direction::ADD_SUB);
}
//-----------------------------------------------------------------------------
FunctionAXPY Function::operator-(const FunctionAXPY& axpy) const
{
- return FunctionAXPY(axpy, *this, FunctionAXPY::Direction::SUB_ADD);
+ return FunctionAXPY(axpy, reference_to_no_delete_pointer(*this),
+ FunctionAXPY::Direction::SUB_ADD);
}
//-----------------------------------------------------------------------------
FunctionAXPY Function::operator*(double scalar) const
{
- return FunctionAXPY(*this, scalar);
+ return FunctionAXPY(reference_to_no_delete_pointer(*this), scalar);
}
//-----------------------------------------------------------------------------
FunctionAXPY Function::operator/(double scalar) const
{
- return FunctionAXPY(*this, 1.0/scalar);
+ return FunctionAXPY(reference_to_no_delete_pointer(*this), 1.0/scalar);
}
//-----------------------------------------------------------------------------
void Function::operator=(const FunctionAXPY& axpy)
@@ -257,14 +262,20 @@ void Function::operator=(const FunctionAXPY& axpy)
}
// Make an initial assign and scale
+ dolfin_assert(axpy.pairs()[0].second);
*this = *(axpy.pairs()[0].second);
if (axpy.pairs()[0].first != 1.0)
*_vector *= axpy.pairs()[0].first;
// Start from item 2 and axpy
- std::vector<std::pair<double, const Function*>>::const_iterator it;
+ std::vector<std::pair<double, std::shared_ptr<const Function>>>
+ ::const_iterator it;
for (it = axpy.pairs().begin()+1; it != axpy.pairs().end(); it++)
+ {
+ dolfin_assert(it->second);
+ dolfin_assert(it->second->vector());
_vector->axpy(it->first, *(it->second->vector()));
+ }
}
//-----------------------------------------------------------------------------
std::shared_ptr<GenericVector> Function::vector()
diff --git a/dolfin/function/Function.h b/dolfin/function/Function.h
index d773ee8..a8970e9 100644
--- a/dolfin/function/Function.h
+++ b/dolfin/function/Function.h
@@ -151,7 +151,7 @@ namespace dolfin
/// *Returns*
/// _FunctionAXPY_
/// Return a linear combination of Functions
- FunctionAXPY operator+(const Function& other) const;
+ FunctionAXPY operator+(std::shared_ptr<const Function> other) const;
/// Add operator with other linear combination of functions
///
@@ -165,7 +165,7 @@ namespace dolfin
/// *Returns*
/// _FunctionAXPY_
/// Return a linear combination of Functions
- FunctionAXPY operator-(const Function& other) const;
+ FunctionAXPY operator-(std::shared_ptr<const Function> other) const;
/// Subtraction operator with other linear combination of functions
///
diff --git a/dolfin/function/FunctionAXPY.cpp b/dolfin/function/FunctionAXPY.cpp
index 489757e..8c4fd9c 100644
--- a/dolfin/function/FunctionAXPY.cpp
+++ b/dolfin/function/FunctionAXPY.cpp
@@ -26,9 +26,11 @@
using namespace dolfin;
//-----------------------------------------------------------------------------
-FunctionAXPY::FunctionAXPY(const Function& func, double scalar) : _pairs()
+FunctionAXPY::FunctionAXPY(std::shared_ptr<const Function> func, double scalar)
+ : _pairs()
{
- _pairs.push_back(std::make_pair(scalar, &func));
+ dolfin_assert(func);
+ _pairs.push_back(std::make_pair(scalar, func));
}
//-----------------------------------------------------------------------------
FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy, double scalar) : _pairs()
@@ -36,10 +38,15 @@ FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy, double scalar) : _pairs()
_register(axpy, scalar);
}
//-----------------------------------------------------------------------------
-FunctionAXPY::FunctionAXPY(const Function& func0, const Function& func1,
- Direction direction) : _pairs()
+FunctionAXPY::FunctionAXPY(std::shared_ptr<const Function> func0,
+ std::shared_ptr<const Function> func1,
+ Direction direction) : _pairs()
{
- if (!func0.in(*func1.function_space()))
+ dolfin_assert(func0);
+ dolfin_assert(func1);
+ dolfin_assert(func1->function_space());
+
+ if (!func0->in(*func1->function_space()))
{
dolfin_error("FunctionAXPY.cpp",
"Construct FunctionAXPY",
@@ -47,17 +54,21 @@ FunctionAXPY::FunctionAXPY(const Function& func0, const Function& func1,
}
const double scale0 = static_cast<int>(direction) % 2 == 0 ? 1.0 : -1.0;
- _pairs.push_back(std::make_pair(scale0, &func0));
+ _pairs.push_back(std::make_pair(scale0, func0));
const double scale1 = static_cast<int>(direction) < 2 ? 1.0 : -1.0;
- _pairs.push_back(std::make_pair(scale1, &func1));
+ _pairs.push_back(std::make_pair(scale1, func1));
}
//-----------------------------------------------------------------------------
-FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy, const Function& func,
- Direction direction) : _pairs()
+FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy,
+ std::shared_ptr<const Function> func,
+ Direction direction) : _pairs()
{
+ dolfin_assert(func);
+ dolfin_assert(func->function_space());
+
_register(axpy, static_cast<int>(direction) % 2 == 0 ? 1.0 : -1.0);
- if (_pairs.size()>0 && !_pairs[0].second->in(*func.function_space()))
+ if (_pairs.size()>0 && !_pairs[0].second->in(*func->function_space()))
{
dolfin_error("FunctionAXPY.cpp",
"Construct FunctionAXPY",
@@ -65,12 +76,12 @@ FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy, const Function& func,
}
const double scale = static_cast<int>(direction) < 2 ? 1.0 : -1.0;
- _pairs.push_back(std::make_pair(scale, &func));
+ _pairs.push_back(std::make_pair(scale, func));
}
//-----------------------------------------------------------------------------
FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy0,
const FunctionAXPY& axpy1,
- Direction direction) : _pairs()
+ Direction direction) : _pairs()
{
_register(axpy0, static_cast<int>(direction) % 2 == 0 ? 1.0 : -1.0);
_register(axpy1, static_cast<int>(direction) < 2 ? 1.0 : -1.0);
@@ -81,8 +92,9 @@ FunctionAXPY::FunctionAXPY(const FunctionAXPY& axpy) : _pairs(axpy._pairs)
// Do nothing
}
//-----------------------------------------------------------------------------
-FunctionAXPY::FunctionAXPY(std::vector<std::pair<double,
- const Function*>> pairs) : _pairs(pairs)
+FunctionAXPY::FunctionAXPY(
+ std::vector<std::pair<double, std::shared_ptr<const Function>>> pairs)
+ : _pairs(pairs)
{
// Do nothing
}
@@ -92,7 +104,7 @@ FunctionAXPY::~FunctionAXPY()
// Do nothing
}
//-----------------------------------------------------------------------------
-FunctionAXPY FunctionAXPY::operator+(const Function& func) const
+FunctionAXPY FunctionAXPY::operator+(std::shared_ptr<const Function> func) const
{
return FunctionAXPY(*this, func, Direction::ADD_ADD);
}
@@ -102,7 +114,7 @@ FunctionAXPY FunctionAXPY::operator+(const FunctionAXPY& axpy) const
return FunctionAXPY(*this, axpy, Direction::ADD_ADD);
}
//-----------------------------------------------------------------------------
-FunctionAXPY FunctionAXPY::operator-(const Function& func) const
+FunctionAXPY FunctionAXPY::operator-(std::shared_ptr<const Function> func) const
{
return FunctionAXPY(*this, func, Direction::ADD_SUB);
}
@@ -112,7 +124,7 @@ FunctionAXPY FunctionAXPY::operator-(const FunctionAXPY& axpy) const
return FunctionAXPY(*this, axpy, Direction::ADD_SUB);
}
//-----------------------------------------------------------------------------
-const std::vector<std::pair<double, const Function*>>&
+const std::vector<std::pair<double, std::shared_ptr<const Function>>>&
FunctionAXPY::pairs() const
{
return _pairs;
@@ -121,7 +133,9 @@ const std::vector<std::pair<double, const Function*>>&
void FunctionAXPY::_register(const FunctionAXPY& axpy, double scale)
{
if (_pairs.size() > 0 && axpy._pairs.size() > 0
- &&!_pairs[0].second->in(*axpy._pairs[0].second->function_space()))
+ && _pairs[0].second && axpy._pairs[0].second // nullptr checks
+ && axpy._pairs[0].second->function_space() // nullptr checks
+ && !_pairs[0].second->in(*axpy._pairs[0].second->function_space()))
{
dolfin_error("FunctionAXPY.cpp",
"Construct FunctionAXPY",
@@ -129,7 +143,10 @@ void FunctionAXPY::_register(const FunctionAXPY& axpy, double scale)
}
for (auto it = axpy.pairs().begin(); it != axpy.pairs().end(); it++)
+ {
+ dolfin_assert(it->second);
_pairs.push_back(std::make_pair(it->first*scale, it->second));
+ }
}
//-----------------------------------------------------------------------------
FunctionAXPY FunctionAXPY::operator*(double scale) const
diff --git a/dolfin/function/FunctionAXPY.h b/dolfin/function/FunctionAXPY.h
index 32d1a6c..bfcbcc0 100644
--- a/dolfin/function/FunctionAXPY.h
+++ b/dolfin/function/FunctionAXPY.h
@@ -29,9 +29,6 @@ namespace dolfin
class Function;
- // FIXME: Straighten out memory management in this class by
- // switching to smart pointers.
-
/// This class represents a linear combination of functions. It is
/// mostly used as an intermediate class for operations such as u =
/// 3*u0 + 4*u1; where the rhs generates an FunctionAXPY.
@@ -44,25 +41,29 @@ namespace dolfin
enum class Direction : int {ADD_ADD=0, SUB_ADD=1, ADD_SUB=2, SUB_SUB=3};
/// Constructor
- FunctionAXPY(const Function& func, double scalar);
+ FunctionAXPY(std::shared_ptr<const Function> func, double scalar);
/// Constructor
FunctionAXPY(const FunctionAXPY& axpy, double scalar);
/// Constructor
- FunctionAXPY(const Function& func0, const Function& func1,
+ FunctionAXPY(std::shared_ptr<const Function> func0,
+ std::shared_ptr<const Function> func1,
Direction direction);
/// Constructor
- FunctionAXPY(const FunctionAXPY& axpy, const Function& func,
+ FunctionAXPY(const FunctionAXPY& axpy,
+ std::shared_ptr<const Function> func,
Direction direction);
/// Constructor
- FunctionAXPY(const FunctionAXPY& axpy0, const FunctionAXPY& axpy1,
+ FunctionAXPY(const FunctionAXPY& axpy0,
+ const FunctionAXPY& axpy1,
Direction direction);
/// Constructor
- FunctionAXPY(std::vector<std::pair<double, const Function*> > pairs);
+ FunctionAXPY(
+ std::vector<std::pair<double, std::shared_ptr<const Function>>> pairs);
/// Copy constructor
FunctionAXPY(const FunctionAXPY& axpy);
@@ -71,13 +72,13 @@ namespace dolfin
~FunctionAXPY();
/// Addition operator
- FunctionAXPY operator+(const Function& func) const;
+ FunctionAXPY operator+(std::shared_ptr<const Function> func) const;
/// Addition operator
FunctionAXPY operator+(const FunctionAXPY& axpy) const;
/// Subtraction operator
- FunctionAXPY operator-(const Function& func) const;
+ FunctionAXPY operator-(std::shared_ptr<const Function> func) const;
/// Subtraction operator
FunctionAXPY operator-(const FunctionAXPY& axpy) const;
@@ -89,14 +90,15 @@ namespace dolfin
FunctionAXPY operator/(double scale) const;
/// Return the scalar and Function pairs
- const std::vector<std::pair<double, const Function*> >& pairs() const;
+ const std::vector<std::pair<double, std::shared_ptr<const Function>>>&
+ pairs() const;
private:
/// Register another AXPY object
void _register(const FunctionAXPY& axpy0, double scale);
- std::vector<std::pair<double, const Function*>> _pairs;
+ std::vector<std::pair<double, std::shared_ptr<const Function>>> _pairs;
};
diff --git a/dolfin/function/FunctionAssigner.cpp b/dolfin/function/FunctionAssigner.cpp
index 58dbe4c..9050876 100644
--- a/dolfin/function/FunctionAssigner.cpp
+++ b/dolfin/function/FunctionAssigner.cpp
@@ -32,8 +32,9 @@
using namespace dolfin;
//-----------------------------------------------------------------------------
-FunctionAssigner::FunctionAssigner(std::shared_ptr<const FunctionSpace> receiving_space,
- std::shared_ptr<const FunctionSpace> assigning_space)
+FunctionAssigner::FunctionAssigner(
+ std::shared_ptr<const FunctionSpace> receiving_space,
+ std::shared_ptr<const FunctionSpace> assigning_space)
: _receiving_spaces(1, receiving_space),_assigning_spaces(1, assigning_space),
_receiving_indices(1), _assigning_indices(1), _transfer(1)
{
@@ -62,9 +63,9 @@ FunctionAssigner::FunctionAssigner(
if (_assigning_spaces[0]->element()->num_sub_elements() != N)
{
dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "Expected the same number of sub spaces in the assigning " \
- "FunctionSpace as the number of receiving FunctionSpaces");
+ "create function assigner",
+ "Expected the same number of sub spaces in the assigning "
+ "FunctionSpace as the number of receiving FunctionSpaces");
}
// Collect assigning sub spaces
@@ -94,9 +95,9 @@ FunctionAssigner::FunctionAssigner(
if (_receiving_spaces[0]->element()->num_sub_elements()!=N)
{
dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "Expected the same number of sub spaces in the receiving "\
- "FunctionSpace as the number of assigning FunctionSpaces");
+ "create function assigner",
+ "Expected the same number of sub spaces in the receiving "
+ "FunctionSpace as the number of assigning FunctionSpaces");
}
// Collect receiving sub spaces
@@ -135,9 +136,9 @@ void FunctionAssigner::assign(
if (receiving_func->function_space()->element()->num_sub_elements() != N)
{
dolfin_error("FunctionAssigner.cpp",
- "assigning functions",
- "Expected the same number of sub functions in the receiving "\
- "Function as the number of assigning Functions");
+ "assigning functions",
+ "Expected the same number of sub functions in the receiving "
+ "Function as the number of assigning Functions");
}
// Collect receiving sub functions
@@ -162,9 +163,9 @@ FunctionAssigner::assign(std::vector<std::shared_ptr<Function>> receiving_funcs,
if (assigning_func->function_space()->element()->num_sub_elements() != N)
{
dolfin_error("FunctionAssigner.cpp",
- "assigning functions",
- "Expected the same number of sub functions in the assigning "\
- "Function as the number of receiving Functions");
+ "assigning functions",
+ "Expected the same number of sub functions in the assigning "
+ "Function as the number of receiving Functions");
}
// Collect receiving sub functions
@@ -191,22 +192,22 @@ void FunctionAssigner::_assign(
if (assigning_funcs.size() != N)
{
dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "Expected the same number of assigning (sub)functions as "
- "the number of assigning (sub)spaces.");
+ "assign functions",
+ "Expected the same number of assigning (sub)functions as "
+ "the number of assigning (sub)spaces.");
}
if (receiving_funcs.size() != N)
{
dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "Expected the same number of receiving (sub)functions as "
- "the number of receiving (sub)spaces.");
+ "assign functions",
+ "Expected the same number of receiving (sub)functions as "
+ "the number of receiving (sub)spaces.");
}
// Flag to determine if the receiving vector is the same
bool same_receiving_vector = true;
- const GenericVector* recieving_vector = receiving_funcs[0]->_vector.get();
+ const GenericVector* receiving_vector = receiving_funcs[0]->_vector.get();
// Iterate over the spaces and do the assignments
for (std::size_t i = 0; i < N; i++)
@@ -219,26 +220,28 @@ void FunctionAssigner::_assign(
// Check 1-1 assignment
if (_assigning_spaces.size() == 1)
{
- dolfin_assert(receiving_funcs[0]);
- if (!receiving_funcs[0]->in(*_receiving_spaces[0]))
- {
- dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "The receiving Function is not in the receiving FunctionSpaces");
- }
+ dolfin_assert(receiving_funcs[0]);
+ if (!receiving_funcs[0]->in(*_receiving_spaces[0]))
+ {
+ dolfin_error("FunctionAssigner.cpp",
+ "assign functions",
+ "The receiving Function is not in the receiving "
+ "FunctionSpaces");
+ }
}
// Check N-1 assignment
else
{
- dolfin_assert(receiving_funcs[i]);
- dolfin_assert((*_receiving_spaces[0])[i]);
- if (!receiving_funcs[i]->in(*(*_receiving_spaces[0])[i]))
- {
- dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "The receiving sub Functions are not in the receiving sub FunctionSpaces");
- }
+ dolfin_assert(receiving_funcs[i]);
+ dolfin_assert((*_receiving_spaces[0])[i]);
+ if (!receiving_funcs[i]->in(*(*_receiving_spaces[0])[i]))
+ {
+ dolfin_error("FunctionAssigner.cpp",
+ "assign functions",
+ "The receiving sub Functions are not in the receiving "
+ "sub FunctionSpaces");
+ }
}
}
else
@@ -246,9 +249,10 @@ void FunctionAssigner::_assign(
// Check 1-N assignment
if (!receiving_funcs[i]->in(*_receiving_spaces[i]))
{
- dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "The receiving Functions are not in the receiving FunctionSpaces");
+ dolfin_error("FunctionAssigner.cpp",
+ "assign functions",
+ "The receiving Functions are not in the receiving "
+ "FunctionSpaces");
}
}
@@ -259,26 +263,28 @@ void FunctionAssigner::_assign(
// Check 1-1 assignment
if (_receiving_spaces.size() == 1)
{
- dolfin_assert(assigning_funcs[0]);
- if (!assigning_funcs[0]->in(*_assigning_spaces[0]))
- {
- dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "The assigning Function is not in the assigning FunctionSpaces");
- }
+ dolfin_assert(assigning_funcs[0]);
+ if (!assigning_funcs[0]->in(*_assigning_spaces[0]))
+ {
+ dolfin_error("FunctionAssigner.cpp",
+ "assign functions",
+ "The assigning Function is not in the assigning "
+ "FunctionSpaces");
+ }
}
// Check 1-N assignment
else
{
- dolfin_assert(assigning_funcs[i]);
- dolfin_assert((*_assigning_spaces[0])[i]);
- if (!assigning_funcs[i]->in(*(*_assigning_spaces[0])[i]))
- {
- dolfin_error("FunctionAssigner.cpp",
- "assign functions",
- "The assigning sub Functions are not in the assigning sub FunctionSpaces");
- }
+ dolfin_assert(assigning_funcs[i]);
+ dolfin_assert((*_assigning_spaces[0])[i]);
+ if (!assigning_funcs[i]->in(*(*_assigning_spaces[0])[i]))
+ {
+ dolfin_error("FunctionAssigner.cpp",
+ "assign functions",
+ "The assigning sub Functions are not in the assigning "
+ "sub FunctionSpaces");
+ }
}
}
else
@@ -289,9 +295,10 @@ void FunctionAssigner::_assign(
// Check N-1 assignment
if (!assigning_funcs[i]->in(*_assigning_spaces[i]))
{
- dolfin_error("FunctionAssigner.cpp",
- "assign function",
- "The assigning Functions are not in the assigning FunctionSpaces");
+ dolfin_error("FunctionAssigner.cpp",
+ "assign function",
+ "The assigning Functions are not in the assigning "
+ "FunctionSpaces");
}
}
@@ -299,29 +306,32 @@ void FunctionAssigner::_assign(
if (i != 0)
{
dolfin_assert(receiving_funcs[i]->_vector);
- same_receiving_vector
- = (recieving_vector != receiving_funcs[i]->_vector.get())
- && same_receiving_vector;
+ same_receiving_vector = same_receiving_vector
+ && (receiving_vector == receiving_funcs[i]->_vector.get());
}
// Get assigning values
assigning_funcs[i]->_vector->get_local(&_transfer[i][0],
_transfer[i].size(),
- &_assigning_indices[i][0]);
+ &_assigning_indices[i][0]);
// Set receiving values
receiving_funcs[i]->_vector->set_local(&_transfer[i][0],
_transfer[i].size(),
&_receiving_indices[i][0]);
- // If not same receiving vector
- if (!same_receiving_vector)
- receiving_funcs[i]->_vector->apply("insert");
}
- // If same receiving vector
+ // Apply to common same vector or all of them
if (same_receiving_vector)
+ {
receiving_funcs[0]->_vector->apply("insert");
+ }
+ else
+ {
+ for (std::size_t i = 0; i < N; i++)
+ receiving_funcs[i]->_vector->apply("insert");
+ }
}
//-----------------------------------------------------------------------------
const Mesh& FunctionAssigner::_get_mesh() const
@@ -329,16 +339,18 @@ const Mesh& FunctionAssigner::_get_mesh() const
// Check for empty space vectors
if (_assigning_spaces.size() == 0)
{
- dolfin_error("FunctionAssigner.cpp",
+ dolfin_error("FunctionAssigner.cpp",
"create function assigner",
- "Expected at least one FunctionSpace for the assigning spaces");
+ "Expected at least one FunctionSpace "
+ "for the assigning spaces");
}
if (_receiving_spaces.size()==0)
{
dolfin_error("FunctionAssigner.cpp",
"create function assigner",
- "Expected at least one FunctionSpace for the receiving spaces");
+ "Expected at least one FunctionSpace "
+ "for the receiving spaces");
}
// Get mesh
@@ -355,8 +367,9 @@ const Mesh& FunctionAssigner::_get_mesh() const
if (&mesh != _assigning_spaces[i]->mesh().get())
{
dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "Expected all FunctionSpaces to be defined over the same Mesh");
+ "create function assigner",
+ "Expected all FunctionSpaces to be defined "
+ "over the same Mesh");
}
}
@@ -368,8 +381,9 @@ const Mesh& FunctionAssigner::_get_mesh() const
if (&mesh != _receiving_spaces[i]->mesh().get())
{
dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "Expected all FunctionSpaces to be defined over the same Mesh");
+ "create function assigner",
+ "Expected all FunctionSpaces to be defined "
+ "over the same Mesh");
}
}
@@ -398,11 +412,12 @@ void FunctionAssigner::_check_and_build_indices(
if (assigning_spaces[i]->dofmap()->num_entity_dofs(entity_dim)
!= receiving_spaces[i]->dofmap()->num_entity_dofs(entity_dim))
{
- dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "The assigning and receiving FunctionSpaces have incompatible"
- " number of entity dofs for entity %d and space no: %d",
- entity_dim, i);
+ dolfin_error("FunctionAssigner.cpp",
+ "create function assigner",
+ "The assigning and receiving FunctionSpaces have "
+ "incompatible number of entity dofs for entity %d "
+ "and space no: %d",
+ entity_dim, i);
}
}
}
@@ -450,19 +465,19 @@ void FunctionAssigner::_check_and_build_indices(
// Check that both spaces have the same number of dofs
if (assigning_cell_dofs.size() != receiving_cell_dofs.size())
{
- dolfin_error("FunctionAssigner.cpp",
- "create function assigner",
- "The receiving and assigning spaces do not have the same "
- "number of dofs per cell");
+ dolfin_error("FunctionAssigner.cpp",
+ "create function assigner",
+ "The receiving and assigning spaces do not have the same "
+ "number of dofs per cell");
}
// Iterate over the local dofs and collect on-process dofs
for (std::size_t j = 0; j < assigning_cell_dofs.size(); j++)
{
- const std::size_t assigning_dof = assigning_cell_dofs[j];
- const std::size_t receiving_dof = receiving_cell_dofs[j];
- if (assigning_dof < assigning_range && receiving_dof < receiving_range)
- receiving_assigning_map[receiving_dof] = assigning_dof;
+ const std::size_t assigning_dof = assigning_cell_dofs[j];
+ const std::size_t receiving_dof = receiving_cell_dofs[j];
+ if (assigning_dof < assigning_range && receiving_dof < receiving_range)
+ receiving_assigning_map[receiving_dof] = assigning_dof;
}
}
diff --git a/dolfin/function/FunctionSpace.cpp b/dolfin/function/FunctionSpace.cpp
index 9b66442..1860162 100644
--- a/dolfin/function/FunctionSpace.cpp
+++ b/dolfin/function/FunctionSpace.cpp
@@ -42,13 +42,13 @@ FunctionSpace::FunctionSpace(std::shared_ptr<const Mesh> mesh,
std::shared_ptr<const FiniteElement> element,
std::shared_ptr<const GenericDofMap> dofmap)
: Hierarchical<FunctionSpace>(*this),
- _mesh(mesh), _element(element), _dofmap(dofmap)
+ _mesh(mesh), _element(element), _dofmap(dofmap), _root_space_id(id())
{
// Do nothing
}
//-----------------------------------------------------------------------------
FunctionSpace::FunctionSpace(std::shared_ptr<const Mesh> mesh)
- : Hierarchical<FunctionSpace>(*this), _mesh(mesh)
+ : Hierarchical<FunctionSpace>(*this), _mesh(mesh), _root_space_id(id())
{
// Do nothing
}
@@ -81,6 +81,7 @@ const FunctionSpace& FunctionSpace::operator=(const FunctionSpace& V)
_component = V._component;
// Call assignment operator for base class
+ Variable::operator=(V);
Hierarchical<FunctionSpace>::operator=(V);
return *this;
@@ -291,10 +292,12 @@ FunctionSpace::extract_sub_space(const std::vector<std::size_t>& component) cons
std::shared_ptr<FunctionSpace>
new_sub_space(new FunctionSpace(_mesh, element, dofmap));
- // Set component
- new_sub_space->_component.resize(component.size());
- for (std::size_t i = 0; i < component.size(); i++)
- new_sub_space->_component[i] = component[i];
+ // Set root space id and component w.r.t. root
+ new_sub_space->_root_space_id = _root_space_id;
+ auto& new_component = new_sub_space->_component;
+ new_component.clear();
+ new_component.insert(new_component.end(), _component.begin(), _component.end());
+ new_component.insert(new_component.end(), component.begin(), component.end());
// Insert new sub space into cache
_subspaces.insert(std::pair<std::vector<std::size_t>,
@@ -461,3 +464,24 @@ void FunctionSpace::print_dofmap() const
}
}
//-----------------------------------------------------------------------------
+bool FunctionSpace::contains(const FunctionSpace& V) const
+{
+ // Is the root space same?
+ if (_root_space_id != V._root_space_id)
+ return false;
+
+ // Is V possibly our superspace?
+ if (_component.size() > V._component.size())
+ return false;
+
+ // Are our components same as leading components of V?
+ for (std::size_t i = 0; i < _component.size(); ++i)
+ {
+ if (_component[i] != V._component[i])
+ return false;
+ }
+
+ // Ok, V is really our subspace
+ return true;
+}
+//-----------------------------------------------------------------------------
diff --git a/dolfin/function/FunctionSpace.h b/dolfin/function/FunctionSpace.h
index 67df13c..ee040a5 100644
--- a/dolfin/function/FunctionSpace.h
+++ b/dolfin/function/FunctionSpace.h
@@ -212,6 +212,17 @@ namespace dolfin
std::shared_ptr<FunctionSpace>
extract_sub_space(const std::vector<std::size_t>& component) const;
+ /// Check whether V is subspace of this, or this itself
+ ///
+ /// *Arguments*
+ /// V (_FunctionSpace_)
+ /// The space to be tested for inclusion.
+ ///
+ /// *Returns*
+ /// bool
+ /// True if V is contained or equal to this.
+ bool contains(const FunctionSpace& V) const;
+
/// Collapse a subspace and return a new function space
///
/// *Returns*
@@ -256,11 +267,12 @@ namespace dolfin
bool has_element(const FiniteElement& element) const
{ return element.hash() == _element->hash(); }
- /// Return component
+ /// Return component w.r.t. to root superspace, i.e.
+ /// W.sub(1).sub(0) == [1, 0].
///
/// *Returns*
/// std::vector<std::size_t>
- /// The component (relative to superspace).
+ /// The component (w.r.t to root superspace).
std::vector<std::size_t> component() const;
/// Tabulate the coordinates of all dofs on this process. This
@@ -328,9 +340,12 @@ namespace dolfin
// The dofmap
std::shared_ptr<const GenericDofMap> _dofmap;
- // The component (for subspaces)
+ // The component w.r.t. to root space
std::vector<std::size_t> _component;
+ // The identifier of root space
+ std::size_t _root_space_id;
+
// Cache of subspaces
mutable std::map<std::vector<std::size_t>,
std::shared_ptr<FunctionSpace> > _subspaces;
diff --git a/dolfin/function/MultiMeshCoefficientAssigner.cpp b/dolfin/function/MultiMeshCoefficientAssigner.cpp
index 81ef35f..5711558 100644
--- a/dolfin/function/MultiMeshCoefficientAssigner.cpp
+++ b/dolfin/function/MultiMeshCoefficientAssigner.cpp
@@ -21,9 +21,11 @@
#include <memory>
#include <dolfin/common/NoDeleter.h>
#include <dolfin/function/GenericFunction.h>
+#include <dolfin/function/Function.h>
#include <dolfin/fem/Form.h>
#include <dolfin/fem/MultiMeshForm.h>
#include "MultiMeshCoefficientAssigner.h"
+#include "MultiMeshFunction.h"
using namespace dolfin;
@@ -51,3 +53,14 @@ void MultiMeshCoefficientAssigner::operator=
}
}
//-----------------------------------------------------------------------------
+void MultiMeshCoefficientAssigner::operator=
+(const MultiMeshFunction& coefficient)
+{
+ // Assign to all parts of form
+ for (std::size_t part = 0; part < _form.num_parts(); part++)
+ {
+ Form& a = const_cast<Form&>(*_form.part(part));
+ a.set_coefficient(_number, coefficient.part(part));
+ }
+}
+//-----------------------------------------------------------------------------
diff --git a/dolfin/function/MultiMeshCoefficientAssigner.h b/dolfin/function/MultiMeshCoefficientAssigner.h
index eff962d..111c89b 100644
--- a/dolfin/function/MultiMeshCoefficientAssigner.h
+++ b/dolfin/function/MultiMeshCoefficientAssigner.h
@@ -29,6 +29,7 @@ namespace dolfin
class MultiMeshForm;
class GenericFunction;
+ class MultiMeshFunction;
/// This class is used for assignment of multimesh coefficients to
/// forms, which allows magic like
@@ -56,6 +57,7 @@ namespace dolfin
/// Assign coefficient
void operator= (std::shared_ptr<const GenericFunction> coefficient);
+ void operator= (const MultiMeshFunction& coefficient);
private:
diff --git a/dolfin/function/MultiMeshFunction.cpp b/dolfin/function/MultiMeshFunction.cpp
index b1057bf..78c826e 100644
--- a/dolfin/function/MultiMeshFunction.cpp
+++ b/dolfin/function/MultiMeshFunction.cpp
@@ -30,6 +30,11 @@
using namespace dolfin;
//-----------------------------------------------------------------------------
+MultiMeshFunction::MultiMeshFunction() : Variable("u", "a function")
+{
+ // Do nothing
+}
+//-----------------------------------------------------------------------------
MultiMeshFunction::MultiMeshFunction(std::shared_ptr<const MultiMeshFunctionSpace> V)
: _function_space(V)
{
@@ -37,6 +42,20 @@ MultiMeshFunction::MultiMeshFunction(std::shared_ptr<const MultiMeshFunctionSpac
init_vector();
}
//-----------------------------------------------------------------------------
+MultiMeshFunction::MultiMeshFunction(std::shared_ptr<const MultiMeshFunctionSpace> V,
+ std::shared_ptr<GenericVector> x)
+ : _function_space(V), _vector(x)
+{
+ // We do not check for a subspace since this constructor is used for
+ // creating subfunctions
+
+ // Assertion uses '<=' to deal with sub-functions
+ dolfin_assert(x);
+ dolfin_assert(V);
+ dolfin_assert(V->dofmap());
+ dolfin_assert(V->dofmap()->global_dimension() <= x->size());
+}
+//-----------------------------------------------------------------------------
MultiMeshFunction::~MultiMeshFunction()
{
// Do nothing
diff --git a/dolfin/function/MultiMeshFunction.h b/dolfin/function/MultiMeshFunction.h
index 3d3a9fa..9c9de40 100644
--- a/dolfin/function/MultiMeshFunction.h
+++ b/dolfin/function/MultiMeshFunction.h
@@ -23,6 +23,7 @@
#include <memory>
#include <boost/ptr_container/ptr_map.hpp>
+#include <dolfin/common/Variable.h>
namespace dolfin
{
@@ -31,15 +32,19 @@ namespace dolfin
class MultiMeshFunctionSpace;
class GenericVector;
class Function;
+ class MultiMeshFunction;
/// This class represents a function on a cut and composite finite
/// element function space (MultiMesh) defined on one or more possibly
/// intersecting meshes.
- class MultiMeshFunction
+ class MultiMeshFunction : public Variable
{
public:
+ /// Constructor
+ MultiMeshFunction();
+
/// Create MultiMesh function on given MultiMesh function space
///
/// *Arguments*
@@ -47,6 +52,19 @@ namespace dolfin
/// The MultiMesh function space.
explicit MultiMeshFunction(std::shared_ptr<const MultiMeshFunctionSpace> V);
+ /// Create MultiMesh function on given MultiMesh function space with a given vector
+ /// (shared data)
+ ///
+ /// *Warning: This constructor is intended for internal library use only*
+ ///
+ /// *Arguments*
+ /// V (_MultiMeshFunctionSpace_)
+ /// The multimesh function space.
+ /// x (_GenericVector_)
+ /// The vector.
+ MultiMeshFunction(std::shared_ptr<const MultiMeshFunctionSpace> V,
+ std::shared_ptr<GenericVector> x);
+
/// Destructor
virtual ~MultiMeshFunction();
@@ -71,6 +89,16 @@ namespace dolfin
/// The vector of expansion coefficients (const).
std::shared_ptr<const GenericVector> vector() const;
+ /// Return shared pointer to multi mesh function space
+ ///
+ /// *Returns*
+ /// _MultiMeshFunctionSpace_
+ /// Return the shared pointer.
+ virtual std::shared_ptr<const MultiMeshFunctionSpace> function_space() const
+ {
+ return _function_space;
+ }
+
private:
// Initialize vector
diff --git a/dolfin/function/SpecialFacetFunction.cpp b/dolfin/function/SpecialFacetFunction.cpp
index b151e06..c4b5192 100644
--- a/dolfin/function/SpecialFacetFunction.cpp
+++ b/dolfin/function/SpecialFacetFunction.cpp
@@ -18,6 +18,8 @@
// First added: 2010-10-13
// Last changed: 2011-01-04
+#include <cstring>
+
#include <dolfin/common/Array.h>
#include <dolfin/function/Function.h>
#include "SpecialFacetFunction.h"
@@ -25,6 +27,13 @@
using namespace dolfin;
//-----------------------------------------------------------------------------
+SpecialFacetFunction::SpecialFacetFunction(std::vector<Function>& f_e,
+ std::vector<std::size_t> value_shape)
+ : Expression(value_shape), _f_e(f_e)
+{
+ // Do nothing
+}
+//-----------------------------------------------------------------------------
SpecialFacetFunction::SpecialFacetFunction(std::vector<Function>& f_e, std::size_t dim)
: Expression(dim), _f_e(f_e)
{
@@ -46,7 +55,7 @@ Function& SpecialFacetFunction::operator[] (std::size_t i) const
void SpecialFacetFunction::eval(Array<double>& values, const Array<double>& x,
const ufc::cell& cell) const
{
- values[0] = 0.0;
+ memset(values.data(), 0, values.size()*sizeof(double));
if (cell.local_facet >= 0)
_f_e[cell.local_facet].eval(values, x, cell);
}
diff --git a/dolfin/function/SpecialFacetFunction.h b/dolfin/function/SpecialFacetFunction.h
index 83508e6..5c23a55 100644
--- a/dolfin/function/SpecialFacetFunction.h
+++ b/dolfin/function/SpecialFacetFunction.h
@@ -60,6 +60,17 @@ namespace dolfin
/// The value-dimension of the Functions
SpecialFacetFunction(std::vector<Function>& f_e, std::size_t dim);
+ /// Create (tensor-valued) SpecialFacetFunction
+ ///
+ /// *Arguments*
+ /// f_e (std::vector<_Function_>)
+ /// Separate _Function_s for each facet
+ ///
+ /// value_shape (std::vector<std::size_t>)
+ /// The values-shape of the Functions
+ SpecialFacetFunction(std::vector<Function>& f_e,
+ std::vector<std::size_t> value_shape);
+
/// Evaluate SpecialFacetFunction (cf _Expression_.eval)
/// Evaluate function for given cell
void eval(Array<double>& values, const Array<double>& x,
diff --git a/dolfin/function/SpecialFunctions.cpp b/dolfin/function/SpecialFunctions.cpp
index 68d7b97..a6de4fe 100644
--- a/dolfin/function/SpecialFunctions.cpp
+++ b/dolfin/function/SpecialFunctions.cpp
@@ -31,7 +31,7 @@ using namespace dolfin;
//-----------------------------------------------------------------------------
MeshCoordinates::MeshCoordinates(std::shared_ptr<const Mesh> mesh)
- : Expression(_mesh->geometry().dim()), _mesh(mesh)
+ : Expression(mesh->geometry().dim()), _mesh(mesh)
{
// Do nothing
}
diff --git a/dolfin/generation/CMakeLists.txt b/dolfin/generation/CMakeLists.txt
new file mode 100644
index 0000000..de80d24
--- /dev/null
+++ b/dolfin/generation/CMakeLists.txt
@@ -0,0 +1,27 @@
+set(HEADERS
+ BoxMesh.h
+ dolfin_generation.h
+ IntervalMesh.h
+ RectangleMesh.h
+ SphericalShellMesh.h
+ UnitCubeMesh.h
+ UnitDiscMesh.h
+ UnitHexMesh.h
+ UnitIntervalMesh.h
+ UnitQuadMesh.h
+ UnitSquareMesh.h
+ UnitTetrahedronMesh.h
+ UnitTriangleMesh.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ BoxMesh.cpp
+ IntervalMesh.cpp
+ RectangleMesh.cpp
+ SphericalShellMesh.cpp
+ UnitDiscMesh.cpp
+ UnitHexMesh.cpp
+ UnitQuadMesh.cpp
+ UnitTetrahedronMesh.cpp
+ UnitTriangleMesh.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/geometry/CMakeLists.txt b/dolfin/geometry/CMakeLists.txt
new file mode 100644
index 0000000..2e0c397
--- /dev/null
+++ b/dolfin/geometry/CMakeLists.txt
@@ -0,0 +1,25 @@
+set(HEADERS
+ BoundingBoxTree1D.h
+ BoundingBoxTree2D.h
+ BoundingBoxTree3D.h
+ BoundingBoxTree.h
+ CollisionDetection.h
+ dolfin_geometry.h
+ GenericBoundingBoxTree.h
+ intersect.h
+ IntersectionTriangulation.h
+ MeshPointIntersection.h
+ Point.h
+ SimplexQuadrature.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ BoundingBoxTree.cpp
+ CollisionDetection.cpp
+ GenericBoundingBoxTree.cpp
+ intersect.cpp
+ IntersectionTriangulation.cpp
+ MeshPointIntersection.cpp
+ Point.cpp
+ SimplexQuadrature.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/graph/CMakeLists.txt b/dolfin/graph/CMakeLists.txt
new file mode 100644
index 0000000..f23f89b
--- /dev/null
+++ b/dolfin/graph/CMakeLists.txt
@@ -0,0 +1,21 @@
+set(HEADERS
+ BoostGraphColoring.h
+ BoostGraphOrdering.h
+ CSRGraph.h
+ dolfin_graph.h
+ GraphBuilder.h
+ GraphColoring.h
+ Graph.h
+ ParMETIS.h
+ SCOTCH.h
+ ZoltanInterface.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ BoostGraphOrdering.cpp
+ GraphBuilder.cpp
+ GraphColoring.cpp
+ ParMETIS.cpp
+ SCOTCH.cpp
+ ZoltanInterface.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/io/CMakeLists.txt b/dolfin/io/CMakeLists.txt
new file mode 100644
index 0000000..ee4de99
--- /dev/null
+++ b/dolfin/io/CMakeLists.txt
@@ -0,0 +1,55 @@
+set(HEADERS
+ base64.h
+ dolfin_io.h
+ Encoder.h
+ File.h
+ GenericFile.h
+ HDF5Attribute.h
+ HDF5File.h
+ HDF5Interface.h
+ HDF5Utility.h
+ RAWFile.h
+ SVGFile.h
+ VTKFile.h
+ VTKWriter.h
+ X3DFile.h
+ X3DOM.h
+ XDMFFile.h
+ XMLArray.h
+ XMLFile.h
+ XMLFunctionData.h
+ XMLMeshFunction.h
+ XMLMesh.h
+ XMLMeshValueCollection.h
+ XMLParameters.h
+ XMLTable.h
+ xmlutils.h
+ XMLVector.h
+ XYZFile.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ base64.cpp
+ File.cpp
+ GenericFile.cpp
+ HDF5Attribute.cpp
+ HDF5File.cpp
+ HDF5Interface.cpp
+ HDF5Utility.cpp
+ pugixml.cpp
+ RAWFile.cpp
+ SVGFile.cpp
+ VTKFile.cpp
+ VTKWriter.cpp
+ X3DFile.cpp
+ X3DOM.cpp
+ XDMFFile.cpp
+ XMLFile.cpp
+ XMLFunctionData.cpp
+ XMLMesh.cpp
+ XMLParameters.cpp
+ XMLTable.cpp
+ xmlutils.cpp
+ XMLVector.cpp
+ XYZFile.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/io/HDF5File.cpp b/dolfin/io/HDF5File.cpp
index 89601ff..af28bed 100644
--- a/dolfin/io/HDF5File.cpp
+++ b/dolfin/io/HDF5File.cpp
@@ -121,9 +121,6 @@ void HDF5File::write(const std::vector<Point>& points,
// Get number of points (global)
std::size_t num_points_global = MPI::sum(_mpi_comm, points.size());
- // Data set name
- const std::string coord_dataset = dataset_name + "/coordinates";
-
// Pack data
const std::size_t n = points.size();
std::vector<double> x(3*n);
@@ -132,13 +129,12 @@ void HDF5File::write(const std::vector<Point>& points,
x[3*i + j] = points[i][j];
// Write data to file
- // const bool chunking = parameters["chunking"];
std::vector<std::int64_t> global_size(2);
global_size[0] = num_points_global;
global_size[1] = 3;
const bool mpi_io = MPI::size(_mpi_comm) > 1 ? true : false;
- write_data(coord_dataset, x, global_size, mpi_io);
+ write_data(dataset_name, x, global_size, mpi_io);
}
//-----------------------------------------------------------------------------
void HDF5File::write(const std::vector<double>& values,
@@ -306,8 +302,7 @@ void HDF5File::write(const Mesh& mesh, std::size_t cell_dim,
std::vector<std::int64_t> topological_data;
topological_data.reserve(mesh.num_entities(cell_dim)*(num_cell_points));
- const std::vector<std::size_t>& global_vertices
- = mesh.topology().global_indices(0);
+ const auto& global_vertices = mesh.topology().global_indices(0);
// Permutation to VTK ordering
const std::vector<std::int8_t> perm = celltype->vtk_mapping();
@@ -367,13 +362,12 @@ void HDF5File::write(const Mesh& mesh, std::size_t cell_dim,
}
else
{
+ // If not already numbered, number entities of order cell_dim
+ DistributedMeshTools::number_entities(mesh, cell_dim);
+
// Drop duplicate topology for shared entities of less than mesh
// dimension
- // If not already numbered, number entities of order cell_dim so
- // we can get shared_entities
- DistributedMeshTools::number_entities(mesh, cell_dim);
-
const std::size_t mpi_rank = MPI::rank(_mpi_comm);
const std::map<std::int32_t, std::set<unsigned int>>& shared_entities
= mesh.topology().shared_entities(cell_dim);
@@ -438,7 +432,10 @@ void HDF5File::write(const Mesh& mesh, std::size_t cell_dim,
global_size[0] = MPI::sum(_mpi_comm,
topological_data.size()/num_cell_points);
global_size[1] = num_cell_points;
- dolfin_assert(global_size[0] == (std::int64_t) mesh.size_global(cell_dim));
+
+ const std::int64_t num_cells
+ = mpi_io ? mesh.size_global(cell_dim) : mesh.size(cell_dim);
+ dolfin_assert(global_size[0] == num_cells);
const bool mpi_io = MPI::size(_mpi_comm) > 1 ? true : false;
write_data(topology_dataset, topological_data, global_size, mpi_io);
@@ -447,9 +444,8 @@ void HDF5File::write(const Mesh& mesh, std::size_t cell_dim,
{
const std::string cell_index_dataset = name + "/cell_indices";
global_size.pop_back();
- const std::vector<std::size_t>& cell_index_ref
- = mesh.topology().global_indices(cell_dim);
- const std::vector<std::size_t> cells(cell_index_ref.begin(),
+ const auto& cell_index_ref = mesh.topology().global_indices(cell_dim);
+ const std::vector<std::int64_t> cells(cell_index_ref.begin(),
cell_index_ref.begin() + mesh.topology().ghost_offset(cell_dim));
const bool mpi_io = MPI::size(_mpi_comm) > 1 ? true : false;
write_data(cell_index_dataset, cells, global_size, mpi_io);
@@ -471,21 +467,6 @@ void HDF5File::write(const Mesh& mesh, std::size_t cell_dim,
HDF5Interface::add_attribute(_hdf5_file_id, topology_dataset,
"partition", partitions);
- // ---------- Markers
- for (std::size_t d = 0; d <= mesh.domains().max_dim(); d++)
- {
- const std::map<std::size_t, std::size_t>& domain
- = mesh.domains().markers(d);
- auto _mesh = reference_to_no_delete_pointer(mesh);
- MeshValueCollection<std::size_t> collection(_mesh, d);
- std::map<std::size_t, std::size_t>::const_iterator it;
- for (it = domain.begin(); it != domain.end(); ++it)
- collection.set_value(it->first, it->second);
- const std::string marker_dataset
- = name + "/domain_" + std::to_string(d);
- write_mesh_value_collection(collection, marker_dataset);
- }
-
}
}
//-----------------------------------------------------------------------------
@@ -1261,18 +1242,12 @@ void HDF5File::write_mesh_value_collection(const MeshValueCollection<T>& mesh_va
global_size[0] = MPI::sum(_mpi_comm, values.size());
global_size[1] = num_vertices_per_entity;
- // FIXME: this should throw an error, but is here because
- // "mesh domains" call write_mesh_value_collection with empty
- // datasets sometimes. Remove when mesh domains are removed.
- if (global_size[0] > 0)
- {
- write_data(name + "/topology", topology, global_size, mpi_io);
+ write_data(name + "/topology", topology, global_size, mpi_io);
- global_size[1] = 1;
- write_data(name + "/values", value_data, global_size, mpi_io);
- HDF5Interface::add_attribute(_hdf5_file_id, name, "dimension",
- mesh_values.dim());
- }
+ global_size[1] = 1;
+ write_data(name + "/values", value_data, global_size, mpi_io);
+ HDF5Interface::add_attribute(_hdf5_file_id, name, "dimension",
+ mesh_values.dim());
}
//-----------------------------------------------------------------------------
template <typename T>
@@ -1286,7 +1261,7 @@ void HDF5File::write_mesh_value_collection_old(
= mesh_values.values();
const Mesh& mesh = *mesh_values.mesh();
- const std::vector<std::size_t>& global_cell_index
+ const std::vector<std::int64_t>& global_cell_index
= mesh.topology().global_indices(mesh.topology().dim());
std::vector<T> data_values;
@@ -1591,8 +1566,8 @@ void HDF5File::read_mesh_value_collection_old(MeshValueCollection<T>& mesh_vc,
// Get global mapping to restore values
const Mesh& mesh = *mesh_vc.mesh();
- const std::vector<std::size_t>& global_cell_index
- = mesh.topology().global_indices(mesh.topology().dim());
+ const auto& global_cell_index =
+ mesh.topology().global_indices(mesh.topology().dim());
// Reference to actual map of MeshValueCollection
std::map<std::pair<std::size_t, std::size_t>, T>& mvc_map
@@ -1605,7 +1580,7 @@ void HDF5File::read_mesh_value_collection_old(MeshValueCollection<T>& mesh_vc,
// cells_data in general is not ordered, so we sort it
// keeping track of the indices
- std::vector<std::size_t> cells_data_index(cells_data.size());
+ std::vector<std::int64_t> cells_data_index(cells_data.size());
std::iota(cells_data_index.begin(), cells_data_index.end(), 0);
std::sort(cells_data_index.begin(), cells_data_index.end(),
[&cells_data](std::size_t i, size_t j)
@@ -1614,17 +1589,17 @@ void HDF5File::read_mesh_value_collection_old(MeshValueCollection<T>& mesh_vc,
// The implementation follows std::set_intersection, which we are
// not able to use here since we need the indices of the
// intersection, not just the values.
- std::vector<std::size_t>::const_iterator i = global_cell_index.begin();
- std::vector<std::size_t>::const_iterator j = cells_data_index.begin();
+ std::vector<std::int64_t>::const_iterator i = global_cell_index.begin();
+ std::vector<std::int64_t>::const_iterator j = cells_data_index.begin();
while (i!=global_cell_index.end() && j!=cells_data_index.end())
{
// Global cell index is less than the cell_data index read from
// file, if global cell index is larger than the cell_data index
// read from file, else global cell index is the same as the
// cell_data index read from file
- if (*i < cells_data[*j])
+ if (*i < (std::int64_t)cells_data[*j])
++i;
- else if (*i > cells_data[*j])
+ else if (*i > (std::int64_t)cells_data[*j])
++j;
else
{
@@ -1905,7 +1880,7 @@ void HDF5File::read(Mesh& input_mesh,
// FIXME: explain this more clearly.
// Reconstruct mesh_name from topology_name - needed for
- // cell_indices and domains
+ // cell_indices
std::string mesh_name = topology_path.substr(0, topology_path.rfind("/"));
// FIXME: Imrpove comment - it's unclear this is about
@@ -2017,8 +1992,7 @@ void HDF5File::read(Mesh& input_mesh,
t.stop();
// Build distributed mesh
- // FIXME: Why is the mesh built int HDF5Utility? This should be in
- // the mesh code.
+ // FIXME: Why is the mesh built into HDF5Utility? This should be in the mesh code.
if (MPI::size(_mpi_comm) == 1)
HDF5Utility::build_local_mesh(input_mesh, local_mesh_data);
else
@@ -2027,44 +2001,6 @@ void HDF5File::read(Mesh& input_mesh,
MeshPartitioning::build_distributed_mesh(input_mesh, local_mesh_data, ghost_mode);
}
- // ---- Markers ----
-
- // Check if we have any domains
- for (std::size_t d = 0; d <= input_mesh.topology().dim(); ++d)
- {
- const std::string marker_dataset = mesh_name + "/domain_" + std::to_string(d);
- if (!has_dataset(marker_dataset))
- continue;
-
- auto _mesh = reference_to_no_delete_pointer(input_mesh);
- MeshValueCollection<std::size_t> mvc(_mesh, d);
- read_mesh_value_collection(mvc, marker_dataset);
-
- // Get mesh value collection data
- const std::map<std::pair<std::size_t, std::size_t>, std::size_t>&
- values = mvc.values();
-
- // Get mesh domain data and fill
- std::map<std::size_t, std::size_t>& markers
- = input_mesh.domains().markers(d);
- if (d != input_mesh.topology().dim())
- {
- input_mesh.init(d);
- for (auto entry = values.begin(); entry != values.end(); ++entry)
- {
- const Cell cell(input_mesh, entry->first.first);
- const std::size_t entity_index
- = cell.entities(d)[entry->first.second];
- markers[entity_index] = entry->second;
- }
- }
- else
- {
- // Special case for cells
- for (auto entry = values.begin(); entry != values.end(); ++entry)
- markers[entry->first.first] = entry->second;
- }
- }
}
//-----------------------------------------------------------------------------
bool HDF5File::has_dataset(const std::string dataset_name) const
@@ -2086,5 +2022,17 @@ HDF5Attribute HDF5File::attributes(const std::string dataset_name)
return HDF5Attribute(_hdf5_file_id, dataset_name);
}
//-----------------------------------------------------------------------------
+void HDF5File::set_mpi_atomicity(bool atomic)
+{
+ dolfin_assert(_hdf5_file_id > 0);
+ HDF5Interface::set_mpi_atomicity(_hdf5_file_id, atomic);
+}
+//-----------------------------------------------------------------------------
+bool HDF5File::get_mpi_atomicity() const
+{
+ dolfin_assert(_hdf5_file_id > 0);
+ return HDF5Interface::get_mpi_atomicity(_hdf5_file_id);
+}
+//-----------------------------------------------------------------------------
#endif
diff --git a/dolfin/io/HDF5File.h b/dolfin/io/HDF5File.h
index b2ff2f3..31e0f0f 100644
--- a/dolfin/io/HDF5File.h
+++ b/dolfin/io/HDF5File.h
@@ -49,8 +49,8 @@ namespace dolfin
public:
- /// Constructor. file_mode should "a" (append), "w" (write) or "r"
- /// (read).
+ /// Constructor. file_mode should be "a" (append),
+ /// "w" (write) or "r" (read).
HDF5File(MPI_Comm comm, const std::string filename,
const std::string file_mode);
@@ -182,6 +182,12 @@ namespace dolfin
// Get/set attributes of an existing dataset
HDF5Attribute attributes(const std::string dataset_name);
+ /// Set the MPI atomicity
+ void set_mpi_atomicity(bool atomic);
+
+ /// Get the MPI atomicity
+ bool get_mpi_atomicity() const;
+
hid_t h5_id() const
{ return _hdf5_file_id; }
diff --git a/dolfin/io/HDF5Interface.cpp b/dolfin/io/HDF5Interface.cpp
index 4122198..5afad7f 100644
--- a/dolfin/io/HDF5Interface.cpp
+++ b/dolfin/io/HDF5Interface.cpp
@@ -438,5 +438,24 @@ HDF5Interface::dataset_list(const hid_t hdf5_file_handle,
return list_of_datasets;
}
//-----------------------------------------------------------------------------
+void HDF5Interface::set_mpi_atomicity(const hid_t hdf5_file_handle,
+ const bool atomic)
+{
+ herr_t status = H5Fset_mpi_atomicity(hdf5_file_handle, atomic);
+ if (status == HDF5_FAIL) dolfin_error("HDF5Interface.cpp",
+ "set MPI atomicity flag",
+ "Setting the MPI atomicity flag failed");
+}
+//-----------------------------------------------------------------------------
+bool HDF5Interface::get_mpi_atomicity(const hid_t hdf5_file_handle)
+{
+ hbool_t atomic;
+ herr_t status = H5Fget_mpi_atomicity(hdf5_file_handle, &atomic);
+ if (status == HDF5_FAIL) dolfin_error("HDF5Interface.cpp",
+ "get MPI atomicity flag",
+ "Getting the MPI atomicity flag failed");
+ return (bool) atomic;
+}
+//-----------------------------------------------------------------------------
#endif
diff --git a/dolfin/io/HDF5Interface.h b/dolfin/io/HDF5Interface.h
index 5527e44..4f36520 100644
--- a/dolfin/io/HDF5Interface.h
+++ b/dolfin/io/HDF5Interface.h
@@ -148,6 +148,21 @@ namespace dolfin
list_attributes(const hid_t hdf5_file_handle,
const std::string dataset_path);
+ /// Set MPI atomicity. See
+ /// https://support.hdfgroup.org/HDF5/doc/RM/RM_H5F.html#File-SetMpiAtomicity
+ /// and
+ /// https://www.open-mpi.org/doc/v2.0/man3/MPI_File_set_atomicity.3.php
+ /// Writes must be followed by an MPI_Barrier on the communicator before
+ /// any subsequent reads are guaranteed to return the same data.
+ static void set_mpi_atomicity(const hid_t hdf5_file_handle,
+ const bool atomic);
+
+ /// Get MPI atomicity. See
+ /// https://support.hdfgroup.org/HDF5/doc/RM/RM_H5F.html#File-GetMpiAtomicity
+ /// and
+ /// https://www.open-mpi.org/doc/v2.0/man3/MPI_File_get_atomicity.3.php
+ static bool get_mpi_atomicity(const hid_t hdf5_file_handle);
+
private:
static herr_t attribute_iteration_function(hid_t loc_id,
diff --git a/dolfin/io/X3DOM.cpp b/dolfin/io/X3DOM.cpp
index e762bcd..8886744 100644
--- a/dolfin/io/X3DOM.cpp
+++ b/dolfin/io/X3DOM.cpp
@@ -1,4 +1,5 @@
-// Copyright (C) 2016 Quang T. Ha, Chris Richardson and Garth N. Wells
+// Copyright (C) 2016 Quang T. Ha, Chris Richardson, Peter L. Scott
+// and Garth N. Wells
//
// This file is part of DOLFIN.
//
@@ -40,7 +41,6 @@ using namespace dolfin;
X3DOMParameters::X3DOMParameters()
: _representation(Representation::surface_with_edges),
_size({{500.0, 400.0}}),
- _show_viewpoints(false),
_diffuse_color({{1.0, 1.0, 1.0}}),
_emissive_color({{0.0, 0.0, 0.0}}),
_specular_color({{0.0, 0.0, 0.0}}),
@@ -49,7 +49,8 @@ X3DOMParameters::X3DOMParameters()
_shininess(0.5),
_transparency(0.0),
_color_map(default_color_map()),
- _show_x3d_stats(false)
+ _show_x3d_stats(false),
+ _menu_display(true)
{
// Do nothing
}
@@ -168,24 +169,24 @@ boost::multi_array<float, 2> X3DOMParameters::get_color_map_array() const
return _color_map;
}
//-----------------------------------------------------------------------------
-void X3DOMParameters::set_viewpoint_buttons(bool show)
+void X3DOMParameters::set_x3d_stats(bool show_stats)
{
- _show_viewpoints = show;
+ _show_x3d_stats = show_stats;
}
//-----------------------------------------------------------------------------
-bool X3DOMParameters::get_viewpoint_buttons() const
+bool X3DOMParameters::get_x3d_stats() const
{
- return _show_viewpoints;
+ return _show_x3d_stats;
}
//-----------------------------------------------------------------------------
-void X3DOMParameters::set_x3d_stats(bool show_stats)
+void X3DOMParameters::set_menu_display(bool show)
{
- _show_x3d_stats = show_stats;
+ _menu_display = show;
}
//-----------------------------------------------------------------------------
-bool X3DOMParameters::get_x3d_stats() const
+bool X3DOMParameters::get_menu_display() const
{
- return _show_x3d_stats;
+ return _menu_display;
}
//-----------------------------------------------------------------------------
void X3DOMParameters::check_rgb(std::array<double, 3>& rgb)
@@ -339,39 +340,9 @@ void X3DOM::html(pugi::xml_document& xml_doc, const Mesh& mesh,
// Add X3D XML data
add_x3dom_data(body_node, mesh, vertex_values, facet_values, parameters);
- // Add text mesh info to body node
- pugi::xml_node mesh_info_node = body_node.append_child("div");
- dolfin_assert(mesh_info_node);
- mesh_info_node.append_attribute("style")
- = "position: absolute; margin: 1%; text-align: left; font-size: 12px; color: black;";
- std::string data
- = "Number of vertices: " + std::to_string(mesh.num_vertices())
- + ", number of cells: " + std::to_string(mesh.num_cells());
- mesh_info_node.append_child(pugi::node_pcdata).set_value(data.c_str());
-
- // FIXME: adding viewpoint buttons here is fragile since to may
- // change in the X3 node. Need to bring the two closer in the code
- // (in the same function?) to keep consistency
-
- //Append viewpoint buttons to 'body' (HTML) node
- if (parameters.get_viewpoint_buttons())
- {
- // Add viewpoint control node to HTML (have to add as the first
- // element)
- pugi::xml_node viewpoint_control_node = body_node.prepend_child("div");
- dolfin_assert(viewpoint_control_node);
- viewpoint_control_node.append_child(pugi::node_pcdata);
-
- // Add attributes to viewpoint node
- viewpoint_control_node.append_attribute("id") = "camera_buttons";
- viewpoint_control_node.append_attribute("style")
- = "display: inline-flex; position: relative; margin: 1%";
-
- // Add viewpoints
- std::vector<std::string> viewpoints = {"front", "back", "left",
- "right", "top", "bottom"};
- for (auto viewpoint : viewpoints)
- add_viewpoint_control_option(viewpoint_control_node, viewpoint);
+ // Add the menu display if desired
+ if (parameters.get_menu_display()) {
+ add_menu_display(body_node, mesh, parameters);
}
}
//-----------------------------------------------------------------------------
@@ -401,24 +372,50 @@ pugi::xml_node X3DOM::add_html_preamble(pugi::xml_node& xml_node)
pugi::xml_node title_node = head_node.append_child("title");
dolfin_assert(title_node);
title_node.append_child(pugi::node_pcdata).set_value("FEniCS/DOLFIN X3DOM plot");
-
- // Add script node
- pugi::xml_node script_node = head_node.append_child("script");
- dolfin_assert(script_node);
- script_node.append_child(pugi::node_pcdata);
-
- // Set attributes for script node
- script_node.append_attribute("type") = "text/javascript";
- script_node.append_attribute("src") = "http://www.x3dom.org/download/x3dom.js";
-
- // Add link node
- pugi::xml_node link_node = head_node.append_child("link");
- dolfin_assert(link_node);
-
- // Set attributes for link node
- link_node.append_attribute("rel") = "stylesheet";
- link_node.append_attribute("type") = "text/css";
- link_node.append_attribute("href") = "http://www.x3dom.org/download/x3dom.css";
+ // Add x3dom script node
+ pugi::xml_node x3d_script_node = head_node.append_child("script");
+ dolfin_assert(x3d_script_node);
+ x3d_script_node.append_child(pugi::node_pcdata);
+
+ // Set attributes for x3dom script node
+ x3d_script_node.append_attribute("type") = "text/javascript";
+ x3d_script_node.append_attribute("src") = "http://www.x3dom.org/download/x3dom.js";
+
+ // add jquery script node
+ pugi::xml_node jquery_script_node = head_node.append_child("script");
+ dolfin_assert(jquery_script_node);
+ jquery_script_node.append_child(pugi::node_pcdata);
+
+ // set attriubtes for jquery script node
+ jquery_script_node.append_attribute("type") = "text/javascript";
+ jquery_script_node.append_attribute("src") = "https://code.jquery.com/jquery-3.1.0.js";
+
+ // add support script node
+ pugi::xml_node support_script_node = head_node.append_child("script");
+ dolfin_assert(support_script_node);
+ support_script_node.append_child(pugi::node_pcdata);
+
+ // set attributes for support script node
+ support_script_node.append_attribute("type") = "text/javascript";
+ support_script_node.append_attribute("src") = "https://rawgit.com/plscott/fenics-x3dom/master/x3dom_support.js";
+
+ // Add link node for x3dom
+ pugi::xml_node x3d_link_node = head_node.append_child("link");
+ dolfin_assert(x3d_link_node);
+
+ // Set attributes for x3dom link node
+ x3d_link_node.append_attribute("rel") = "stylesheet";
+ x3d_link_node.append_attribute("type") = "text/css";
+ x3d_link_node.append_attribute("href") = "http://www.x3dom.org/download/x3dom.css";
+
+ // Add link node for support
+ pugi::xml_node support_link_node = head_node.append_child("link");
+ dolfin_assert(support_link_node);
+
+ // Set attributes for support link node
+ support_link_node.append_attribute("rel") = "stylesheet";
+ support_link_node.append_attribute("type") = "text/css";
+ support_link_node.append_attribute("href") = "https://rawgit.com/plscott/fenics-x3dom/master/x3dom_support.css";
return html_node;
}
@@ -523,7 +520,7 @@ void X3DOM::add_x3dom_data(pugi::xml_node& xml_node, const Mesh& mesh,
// Add viewpoint(s)
const std::pair<Point, double> position = mesh_centre_and_distance(mesh);
add_viewpoint_nodes(scene_node, position.first, position.second,
- parameters.get_viewpoint_buttons());
+ parameters.get_menu_display());
// Add background color
pugi::xml_node background_node = scene_node.append_child("background");
@@ -585,9 +582,11 @@ void X3DOM::add_mesh_data(pugi::xml_node& xml_node, const Mesh& mesh,
// Append ??? attributes
//
- material_node.append_attribute("ambientIntensity") = parameters.get_ambient_intensity();
+ material_node.append_attribute("ambientIntensity")
+ = parameters.get_ambient_intensity();
material_node.append_attribute("shininess") = parameters.get_shininess();
- material_node.append_attribute("transparency") = parameters.get_transparency();
+ material_node.append_attribute("transparency")
+ = parameters.get_transparency();
// Add edges node
pugi::xml_node indexed_set_node = shape_node.append_child(x3d_type.c_str());
@@ -630,40 +629,36 @@ void X3DOM::add_mesh_data(pugi::xml_node& xml_node, const Mesh& mesh,
const double scale = (value_max == value_min) ? 1.0 : 255.0/(value_max - value_min);
- // Get colour map (256 RGB values)
- boost::multi_array<float, 2> cmap = parameters.get_color_map_array();
-
- // Add vertex colors
- std::stringstream color_values;
+ // Add metadata node to hold color map, vertex indices into
+ // color map, min/max val
+ pugi::xml_node metadata_node = indexed_set_node.append_child("metadata");
+ dolfin_assert(metadata_node);
+ metadata_node.append_child(pugi::node_pcdata);
+ metadata_node.append_attribute("min_value")
+ = std::to_string(value_min).c_str();
+ metadata_node.append_attribute("max_value")
+ = std::to_string(value_max).c_str();
+
+ // Add color map
+ std::vector<double> cmap = parameters.get_color_map();
+ std::stringstream cmap_values;
+ for (double i : cmap)
+ cmap_values << std::to_string(i) << " ";
+ metadata_node.append_attribute("color_map") = cmap_values.str().c_str();
+
+ // Add indices into color map
+ std::stringstream cmap_indices;
for (auto x : values_data)
{
const int cindex = scale*std::abs(x - value_min);
- dolfin_assert(cindex < (int)cmap.shape()[0]);
- auto color = cmap[cindex];
- dolfin_assert(color.shape()[0] == 3);
- color_values << color[0] << " " << color[1] << " " << color[2] << " ";
+ dolfin_assert(cindex < 256);
+ cmap_indices << std::to_string(cindex) << " ";
}
-
- pugi::xml_node color_node = indexed_set_node.append_child("color");
- dolfin_assert(color_node);
- color_node.append_child(pugi::node_pcdata);
- color_node.append_attribute("color") = color_values.str().c_str();
+ metadata_node.append_attribute("indices") = cmap_indices.str().c_str();
}
}
}
//-----------------------------------------------------------------------------
-void X3DOM::add_viewpoint_control_option(pugi::xml_node& viewpoint_control_node,
- std::string viewpoint_label)
-{
- dolfin_assert(viewpoint_control_node);
- pugi::xml_node viewpoint_buttons_node = viewpoint_control_node.append_child("button");
-
- const std::string one_click_str = "document.getElementById('" + viewpoint_label + "').setAttribute('set_bind','true');";
- viewpoint_buttons_node.append_attribute("onclick") = one_click_str.c_str();
- viewpoint_buttons_node.append_attribute("style") = "display: block; margin: 2%";
- viewpoint_buttons_node.append_child(pugi::node_pcdata).set_value(viewpoint_label.c_str());
-}
-//-----------------------------------------------------------------------------
void X3DOM::add_viewpoint_nodes(pugi::xml_node& xml_scene_node,
const Point p, double d,
bool show_viewpoint_buttons)
@@ -756,6 +751,279 @@ void X3DOM::add_viewpoint_node(pugi::xml_node& xml_scene_node,
viewpoint_node.append_attribute("zFar") = "-1";
}
//-----------------------------------------------------------------------------
+void X3DOM::add_menu_display(pugi::xml_node& xml_node, const Mesh& mesh,
+ const X3DOMParameters& parameters)
+{
+ // Append a div node to contain the menu display
+ pugi::xml_node menu = xml_node.append_child("div");
+ dolfin_assert(menu);
+ menu.append_child(pugi::node_pcdata);
+ menu.append_attribute("id") = "menu";
+
+ // Append a form node for the radio buttons to select sections
+ pugi::xml_node menu_items = menu.append_child("form");
+ dolfin_assert(menu_items);
+ menu_items.append_child(pugi::node_pcdata);
+ menu_items.append_attribute("id") = "menu-items";
+
+ // Append a div to hold the menu content
+ pugi::xml_node menu_content = menu.append_child("div");
+ dolfin_assert(menu_content);
+ menu_content.append_child(pugi::node_pcdata);
+ menu_content.append_attribute("id") = "menu-content";
+
+ // Add the options section: radio button and content
+ add_menu_tab_button(menu_items, "options", true);
+ pugi::xml_node options = create_menu_content_node(menu_content, "options",
+ true);
+ add_menu_options_tab(options);
+
+ // Add the summary section: radio button and content
+ add_menu_tab_button(menu_items, "summary", false);
+ pugi::xml_node summary = create_menu_content_node(menu_content, "summary",
+ false);
+ add_menu_summary_tab(summary, mesh);
+
+ // Add the color section: radio button and content
+ add_menu_tab_button(menu_items, "color", false);
+ pugi::xml_node color = create_menu_content_node(menu_content, "color",
+ false);
+ add_menu_color_tab(color);
+
+ // Add the warp section: radio button and content
+ add_menu_tab_button(menu_items, "warp", false);
+ pugi::xml_node warp = create_menu_content_node(menu_content, "warp", false);
+ add_menu_warp_tab(warp);
+
+ // Add the viewpoints section: radio button and content
+ add_menu_tab_button(menu_items, "viewpoints", false);
+ pugi::xml_node viewpoints = create_menu_content_node(menu_content,
+ "viewpoints", false);
+ add_menu_viewpoint_tab(viewpoints);
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_tab_button(pugi::xml_node& xml_node, std::string name,
+ bool checked)
+{
+ // Add an input node of type radio button to parent
+ pugi::xml_node button_node = xml_node.append_child("input");
+ dolfin_assert(button_node);
+
+ // Set attributes of the button, including type, id, and name
+ button_node.append_attribute("type") = "radio";
+ button_node.append_attribute("id") = ("button-" + name).c_str();
+ button_node.append_attribute("name") = "menu";
+
+ if (checked)
+ button_node.append_attribute("checked");
+
+ // Add label node for corresponding button
+ pugi::xml_node label_node = xml_node.append_child("label");
+ dolfin_assert(label_node);
+
+ // Add attributes and text
+ label_node.append_attribute("for") = ("button-" + name).c_str();
+ name[0] = toupper(name[0]);
+ label_node.append_child(pugi::node_pcdata).set_value(name.c_str());
+
+ if (!checked)
+ label_node.append_attribute("style") = "display: none;";
+}
+//-----------------------------------------------------------------------------
+pugi::xml_node X3DOM::create_menu_content_node(pugi::xml_node& xml_node,
+ std::string name, bool show)
+{
+ // Add a div to parent to hold content
+ pugi::xml_node content_node = xml_node.append_child("div");
+ dolfin_assert(content_node);
+ content_node.append_child(pugi::node_pcdata);
+
+ // Set attributes: id, for and (if needed) hidden
+ content_node.append_attribute("id") = ("content-" + name).c_str();
+ content_node.append_attribute("for") = ("button-" + name).c_str();
+
+ if (!show)
+ content_node.append_attribute("hidden");
+
+ return content_node;
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_options_tab(pugi::xml_node& xml_node)
+{
+ // Add a title for the options tab
+ pugi::xml_node span_node = xml_node.append_child("span");
+ dolfin_assert(span_node);
+ span_node.append_child(pugi::node_pcdata).set_value("Menu Options");
+ pugi::xml_node br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ // Add the different options: summary, color, warp, viewpoints
+ add_menu_options_option(xml_node, "summary");
+ br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ add_menu_options_option(xml_node, "color");
+ br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ add_menu_options_option(xml_node, "warp");
+ br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ add_menu_options_option(xml_node, "viewpoints");
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_options_option(pugi::xml_node& xml_node, std::string name)
+{
+ pugi::xml_node form_node = xml_node.append_child("form");
+ dolfin_assert(form_node);
+ form_node.append_child(pugi::node_pcdata);
+ form_node.append_attribute("class") = "options";
+
+ pugi::xml_node input_node = form_node.append_child("input");
+ dolfin_assert(input_node);
+ input_node.append_attribute("type") = "checkbox";
+ input_node.append_attribute("id") = ("select-" + name).c_str();
+
+ pugi::xml_node label_node = form_node.append_child("label");
+ dolfin_assert(label_node);
+ label_node.append_attribute("for") = ("select-" + name).c_str();
+ name[0] = toupper(name[0]);
+ label_node.append_child(pugi::node_pcdata).set_value(name.c_str());
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_summary_tab(pugi::xml_node& xml_node, const Mesh& mesh)
+{
+ // Compute the number of vertices and cells to add to the summary
+ // tab
+ std::string vertices_data = "Number of vertices: "
+ + std::to_string(mesh.num_vertices());
+ std::string cells_data = "Number of cells: "
+ + std::to_string(mesh.num_cells());
+
+ // Append to the parent node the data (with break in between)
+ xml_node.append_child(pugi::node_pcdata).set_value(vertices_data.c_str());
+ xml_node.append_child("br");
+ xml_node.append_child(pugi::node_pcdata).set_value(cells_data.c_str());
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_color_tab(pugi::xml_node& xml_node)
+{
+ // add a form node to hold a checkbox to toggle color on/off
+ pugi::xml_node form_node = xml_node.append_child("form");
+ dolfin_assert(form_node);
+
+ // add an input (checkbox) as well as label for toggling color
+ pugi::xml_node input_node = form_node.append_child("input");
+ dolfin_assert(input_node);
+ input_node.append_attribute("id") = "color-checkbox";
+ input_node.append_attribute("type") = "checkbox";
+ input_node.append_attribute("checked");
+
+ pugi::xml_node label_node = form_node.append_child("label");
+ dolfin_assert(label_node);
+ label_node.append_attribute("for") = "color-checkbox";
+ label_node.append_child(pugi::node_pcdata).set_value("Show Color");
+
+ // Add the color map title
+ xml_node.append_child(pugi::node_pcdata).set_value("Current Color Map:");
+ pugi::xml_node br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ // Add the minimum color value, the color-map span container, and
+ // max value
+ pugi::xml_node min_color_node = xml_node.append_child("span");
+ dolfin_assert(min_color_node);
+ min_color_node.append_child(pugi::node_pcdata);
+ min_color_node.append_attribute("id") = "min-color-value";
+
+ pugi::xml_node span_node = xml_node.append_child("span");
+ dolfin_assert(span_node);
+ span_node.append_child(pugi::node_pcdata);
+ span_node.append_attribute("id") = "color-map";
+
+ pugi::xml_node max_color_node = xml_node.append_child("span");
+ dolfin_assert(max_color_node);
+ max_color_node.append_child(pugi::node_pcdata);
+ max_color_node.append_attribute("id") = "max-color-value";
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_warp_tab(pugi::xml_node& xml_node)
+{
+ // Add a form node to hold a checkbox to toggle warp on/off
+ pugi::xml_node form_node = xml_node.append_child("form");
+ dolfin_assert(form_node);
+
+ // Add an input (checkbox) as well as a label for toggling warping
+ pugi::xml_node checkbox_node = form_node.append_child("input");
+ dolfin_assert(checkbox_node);
+ checkbox_node.append_attribute("id") = "warp-checkbox";
+ checkbox_node.append_attribute("type") = "checkbox";
+
+ pugi::xml_node label_node = form_node.append_child("label");
+ dolfin_assert(label_node);
+ label_node.append_attribute("for") = "warp-checkbox";
+ label_node.append_child(pugi::node_pcdata).set_value("Warp By Scalar");
+
+ pugi::xml_node br_node = form_node.append_child("br");
+ dolfin_assert(br_node);
+
+ // Add an input (slider) to adjust the warp factor
+ pugi::xml_node slider_node = form_node.append_child("input");
+ dolfin_assert(slider_node);
+ slider_node.append_attribute("id") = "warp-slider";
+ slider_node.append_attribute("type") = "range";
+ slider_node.append_attribute("min") = "0";
+ slider_node.append_attribute("max") = "5";
+ slider_node.append_attribute("step") = "0.01";
+ slider_node.append_attribute("value") = "1";
+ slider_node.append_attribute("disabled");
+
+ // Add a break and label for the slider
+ br_node = form_node.append_child("br");
+ dolfin_assert(br_node);
+
+ label_node = form_node.append_child("label");
+ dolfin_assert(label_node);
+ label_node.append_attribute("id") = "warp-slider-val";
+ label_node.append_attribute("for") = "warp-slider";
+ label_node.append_child(pugi::node_pcdata).set_value("1");
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_viewpoint_tab(pugi::xml_node& xml_node)
+{
+ // Add a title for the viewpoint buttons
+ pugi::xml_node span_node = xml_node.append_child("span");
+ dolfin_assert(span_node);
+ span_node.append_child(pugi::node_pcdata).set_value("Viewpoint Options");
+ pugi::xml_node br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ // Append the buttons for the different viewpoint options
+ add_menu_viewpoint_button(xml_node, "front");
+ add_menu_viewpoint_button(xml_node, "back");
+ add_menu_viewpoint_button(xml_node, "left");
+
+ br_node = xml_node.append_child("br");
+ dolfin_assert(br_node);
+
+ add_menu_viewpoint_button(xml_node, "right");
+ add_menu_viewpoint_button(xml_node, "top");
+ add_menu_viewpoint_button(xml_node, "bottom");
+}
+//-----------------------------------------------------------------------------
+void X3DOM::add_menu_viewpoint_button(pugi::xml_node& xml_node,
+ std::string name)
+{
+ // add a button node to the parent
+ pugi::xml_node button_node = xml_node.append_child("button");
+ dolfin_assert(button_node);
+
+ // set the text to be the name and the class to be viewpoint
+ button_node.append_attribute("class") = "viewpoint";
+ button_node.append_child(pugi::node_pcdata).set_value(name.c_str());
+}
+//-----------------------------------------------------------------------------
std::pair<Point, double> X3DOM::mesh_centre_and_distance(const Mesh& mesh)
{
// Get dimensions
diff --git a/dolfin/io/X3DOM.h b/dolfin/io/X3DOM.h
index ad592ae..6acae67 100644
--- a/dolfin/io/X3DOM.h
+++ b/dolfin/io/X3DOM.h
@@ -34,7 +34,8 @@
// - Add support for GenericFunction
// - Add support for MeshFunctions
// - Add support for DG1 Functions
-// - Add vector support (arrows) - including correct placement for RT0 etc. - advanced
+// - Add vector support (arrows) - including correct placement for RT0
+// etc. - advanced
// - Document all class methods below properly
namespace pugi
@@ -64,8 +65,8 @@ namespace dolfin
/// surface_with_edges)
void set_representation(Representation representation);
- /// Get the current representation of the object (wireframe, surface or
- /// surface_with_edges)
+ /// Get the current representation of the object (wireframe,
+ /// surface or surface_with_edges)
Representation get_representation() const;
/// Get the size of the viewport
@@ -85,6 +86,8 @@ namespace dolfin
/// Set the RGB specular color
void set_specular_color(std::array<double, 3> rgb);
+
+ /// Get the RGB specular color
std::array<double, 3> get_specular_color() const;
/// Set background RGB color
@@ -123,22 +126,22 @@ namespace dolfin
/// Get the color map as a boost::multi_array (256x3)
boost::multi_array<float, 2> get_color_map_array() const;
- /// Toggle viewpoint buttons
- void set_viewpoint_buttons(bool show);
-
- /// Get the viewpoint button state
- bool get_viewpoint_buttons() const;
-
/// Turn X3D 'statistics' window on/off
void set_x3d_stats(bool show);
// Get the state of the 'statistics' window
bool get_x3d_stats() const;
+ /// Toggle menu option
+ void set_menu_display(bool show);
+
+ /// Get the menu display state
+ bool get_menu_display() const;
+
private:
- // Check that RGB colors are valid. Throws error if value is
- // not invalid.
+ // Check that RGB colors are valid. Throws error if value is not
+ // invalid.
static void check_rgb(std::array<double, 3>& rgb);
// Check that value is valid. Throws error if value is not
@@ -154,9 +157,6 @@ namespace dolfin
// Dimensions of viewing area
std::array<double, 2> _size;
- // Toggle view point buttons
- bool _show_viewpoints;
-
// TODO: document
// RGB colours, see http://doc.x3dom.org/author/Shape/Material.html
std::array<double, 3> _diffuse_color, _emissive_color, _specular_color,
@@ -170,6 +170,9 @@ namespace dolfin
// Turn X3D stats on/off
bool _show_x3d_stats;
+
+ // Turn menu on/off
+ bool _menu_display;
};
// Forward declarations
@@ -178,7 +181,8 @@ namespace dolfin
class Point;
/// This class implements output of meshes to X3DOM XML or HTML5
- /// with X3DOM strings. The latter can be used for interactive visualisation
+ /// with X3DOM strings. The latter can be used for interactive
+ /// visualisation
///
/// Developer note: pugixml is used to created X3DOM and HTML5. By
/// using pugixml, we produce valid XML, but care must be taken that
@@ -271,9 +275,6 @@ namespace dolfin
const X3DOMParameters& parameters,
bool surface);
- // Add viewpoint control (HTML)
- static void add_viewpoint_control_option(pugi::xml_node& viewpoint_control,
- std::string viewpoint);
// Add a collection viewpoint nodes (X3D)
static void add_viewpoint_nodes(pugi::xml_node& xml_scene,
@@ -286,6 +287,42 @@ namespace dolfin
const Point p,
const double s);
+ // Add the menu display and the desired subsections
+ static void add_menu_display(pugi::xml_node& xml_node, const Mesh& mesh,
+ const X3DOMParameters& parameters);
+
+ // Add the button for a tab to be added to the menu
+ static void add_menu_tab_button(pugi::xml_node& xml_node, std::string name,
+ bool checked);
+
+ // Create a generic content node to hold specific menu content
+ static pugi::xml_node create_menu_content_node(pugi::xml_node& xml_node,
+ std::string name, bool show);
+
+ // Add the options tab in the menu display
+ static void add_menu_options_tab(pugi::xml_node& xml_node);
+
+ // Add an option to the options tab in menu display
+ static void add_menu_options_option(pugi::xml_node& xml_node,
+ std::string name);
+
+ // Add the summary tab in the menu display
+ static void add_menu_summary_tab(pugi::xml_node& xml_node,
+ const Mesh& mesh);
+
+ // Add the color tab in the menu display
+ static void add_menu_color_tab(pugi::xml_node& xml_node);
+
+ // Add the warp tab in the menu display
+ static void add_menu_warp_tab(pugi::xml_node& xml_node);
+
+ // Add the viewpoint tab in the menu display
+ static void add_menu_viewpoint_tab(pugi::xml_node& xml_node);
+
+ // Add a viewpoint button to the appropriate parent
+ static void add_menu_viewpoint_button(pugi::xml_node& xml_node,
+ std::string name);
+
// Get centre point of mesh bounds, and a reasonable viewpoint
// distance from it
static std::pair<Point, double> mesh_centre_and_distance(const Mesh& mesh);
diff --git a/dolfin/io/XDMFFile.cpp b/dolfin/io/XDMFFile.cpp
index 663ea70..f0195e8 100644
--- a/dolfin/io/XDMFFile.cpp
+++ b/dolfin/io/XDMFFile.cpp
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Chris N. Richardson and Garth N. Wells
+// Copyright (C) 2012-2016 Chris N. Richardson and Garth N. Wells
//
// This file is part of DOLFIN.
//
@@ -51,15 +51,14 @@
#include "HDF5File.h"
#include "HDF5Utility.h"
#include "XDMFFile.h"
-#include "XDMFxml.h"
#include "xmlutils.h"
using namespace dolfin;
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
XDMFFile::XDMFFile(MPI_Comm comm, const std::string filename)
- : _mpi_comm(comm), _hdf5_filemode(""), _current_mesh_name(""),
- _filename(filename), _counter(0), _xml(new XDMFxml(filename))
+ : _mpi_comm(comm), _filename(filename),
+ _counter(0), _xml_doc(new pugi::xml_document)
{
// Rewrite the mesh at every time step in a time series. Should be
// turned off if the mesh remains constant.
@@ -70,397 +69,362 @@ XDMFFile::XDMFFile(MPI_Comm comm, const std::string filename)
// HDF5 file whilst running, at some performance cost.
parameters.add("flush_output", false);
- // FIXME: This is only relevant to HDF5
- // HDF5 file restart interval. Use 0 to collect all output in one
- // file.
- parameters.add("multi_file", 0);
-
- // Whether to save multi-dataset files as time series, or flat
- parameters.add("time_series", true);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
XDMFFile::~XDMFFile()
{
// Do nothing
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const Mesh& mesh, Encoding encoding)
{
- write_new(mesh, encoding);
- return;
-
+ // Check that encoding is supported
check_encoding(encoding);
- // Output data name
- const std::string name = mesh.name();
-
- // Topological and geometric dimensions
- const std::size_t gdim = mesh.geometry().dim();
- const std::size_t cell_dim = mesh.topology().dim();
-
- // Make sure entities are numbered
- DistributedMeshTools::number_entities(mesh, cell_dim);
-
- // Get number of global cells and points
- const std::size_t num_global_cells = mesh.size_global(cell_dim);
- std::size_t num_total_points = 0;
- for (std::size_t i = 0; i <= mesh.topology().dim(); ++i)
- {
- num_total_points +=
- mesh.geometry().num_entity_coordinates(i)*mesh.size_global(i);
- }
-
- const std::string group_name = "/Mesh/" + name;
-
- // Write hdf5 file on all processes
- if (encoding == Encoding::HDF5)
- {
+ // Open a HDF5 file if using HDF5 encoding (truncate)
+ hid_t h5_id = -1;
#ifdef HAS_HDF5
- // Write mesh to HDF5 file
- // The XML below will obliterate any existing XDMF file
- if (_hdf5_filemode != "w")
- {
- // Create HDF5 file (truncate)
- _hdf5_file.reset(new HDF5File(mesh.mpi_comm(),
- get_hdf5_filename(_filename), "w"));
- _hdf5_filemode = "w";
- }
- _hdf5_file->write(mesh, cell_dim, group_name);
-#else
- dolfin_error("XDMFile.cpp", "write Mesh", "Need HDF5 support");
-#endif
- }
-
- // Write the XML meta description on process zero
- if (MPI::rank(mesh.mpi_comm()) == 0)
+ std::unique_ptr<HDF5File> h5_file;
+ if (encoding == Encoding::HDF5)
{
- dolfin_assert(_xml);
- _xml->init_mesh(name);
-
- // Write the topology
- std::string topology_xml_value;
+ // Open file
+ h5_file.reset(new HDF5File(mesh.mpi_comm(), get_hdf5_filename(_filename), "w"));
+ dolfin_assert(h5_file);
- if (encoding == Encoding::ASCII)
- topology_xml_value = generate_xdmf_ascii_mesh_topology_data(mesh);
- else if (encoding == Encoding::HDF5)
- {
- const boost::filesystem::path p(get_hdf5_filename(_filename));
- topology_xml_value = p.filename().string() + ":" + group_name
- + "/topology";
- }
+ // Get file handle
+ h5_id = h5_file->h5_id();
+ }
+#endif
- // Describe topological connectivity
- _xml->mesh_topology(mesh.type().cell_type(), mesh.geometry().degree(),
- num_global_cells, topology_xml_value,
- xdmf_format_str(encoding));
+ // Reset pugi doc
+ _xml_doc->reset();
- // Write the geometry
- std::string geometry_xml_value;
+ // Add XDMF node and version attribute
+ _xml_doc->append_child(pugi::node_doctype).set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
+ xdmf_node.append_attribute("Version") = "3.0";
+ xdmf_node.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
- if (encoding == Encoding::ASCII)
- geometry_xml_value = generate_xdmf_ascii_mesh_geometry_data(mesh);
- else if (encoding == Encoding::HDF5)
- {
- const boost::filesystem::path p(get_hdf5_filename(_filename));
- geometry_xml_value = p.filename().string() + ":" + group_name
- + "/coordinates";
- }
+ // Add domain node and add name attribute
+ pugi::xml_node domain_node = xdmf_node.append_child("Domain");
+ dolfin_assert(domain_node);
- // Describe geometric coordinates
- _xml->mesh_geometry(num_total_points, gdim, geometry_xml_value,
- xdmf_format_str(encoding));
+ // Add the mesh Grid to the domain
+ add_mesh(_mpi_comm, domain_node, h5_id, mesh, "/Mesh");
- _xml->write();
- }
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const Function& u, Encoding encoding)
{
- write(u, (double) _counter, encoding);
-}
-//----------------------------------------------------------------------------
-void XDMFFile::write(const Function& u, double time_step, Encoding encoding)
-{
- // FIXME: This function is too long. Breal up.
-
check_encoding(encoding);
- // Conditions for starting a new HDF5 file
-#ifdef HAS_HDF5
- if (encoding == Encoding::HDF5)
+ // If counter is non-zero, a time series has been saved before
+ if (_counter != 0)
{
- std::string hdf5_filename = get_hdf5_filename(_filename);
- const int mf_interval = parameters["multi_file"];
- if ((mf_interval != 0 and _counter % mf_interval == 0)
- or _hdf5_filemode != "w" )
- {
- if (mf_interval != 0)
- {
- std::stringstream s;
- s << std::setw(6) << std::setfill('0') << _counter;
- hdf5_filename += "_" + s.str();
- }
-
- // Create new HDF5 file (truncate),
- // closing any open file from a previous timestep
- _hdf5_file.reset(new HDF5File(_mpi_comm, hdf5_filename, "w"));
- _hdf5_filemode = "w";
- }
-
- dolfin_assert(_hdf5_file);
+ dolfin_error("XDMFFile.cpp",
+ "write Function to XDMF",
+ "Not writing a time series");
}
-#endif
- dolfin_assert(u.function_space()->mesh());
const Mesh& mesh = *u.function_space()->mesh();
- const std::size_t degree = mesh.geometry().degree();
- dolfin_assert(u.function_space()->dofmap());
- const GenericDofMap& dofmap = *u.function_space()->dofmap();
+ // Clear pugi doc
+ _xml_doc->reset();
- // Geometric and topological dimension
- const std::size_t gdim = mesh.geometry().dim();
- const std::size_t tdim = mesh.topology().dim();
-
- // Get some Function and cell information
- const std::size_t value_rank = u.value_rank();
- const std::size_t value_size = u.value_size();
-
- // For 2D vectors and tensors, pad out values with zeros to make 3D
- // (XDMF does not support 2D data)
- std::size_t padded_value_size = value_size;
- if (value_rank > 0)
+ // Open the HDF5 file if using HDF5 encoding (truncate)
+ hid_t h5_id = -1;
+#ifdef HAS_HDF5
+ std::unique_ptr<HDF5File> h5_file;
+ if (encoding == Encoding::HDF5)
{
- if (value_size == 2)
- padded_value_size = 3;
- if (value_size == 4)
- padded_value_size = 9;
+ // Open file
+ h5_file.reset(new HDF5File(mesh.mpi_comm(),
+ get_hdf5_filename(_filename), "w"));
+ dolfin_assert(h5_file);
+
+ // Get file handle
+ h5_id = h5_file->h5_id();
}
+#endif
- // Test for cell-centred data
- std::size_t cell_based_dim = 1;
- for (std::size_t i = 0; i < value_rank; i++)
- cell_based_dim *= tdim;
+ // Add XDMF node and version attribute
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
+ xdmf_node.append_attribute("Version") = "3.0";
- const bool vertex_data = !(dofmap.max_element_dofs() == cell_based_dim);
+ // Add domain node and add name attribute
+ pugi::xml_node domain_node = xdmf_node.append_child("Domain");
+ dolfin_assert(domain_node);
+
+ // Add the mesh Grid to the domain
+ add_mesh(_mpi_comm, domain_node, h5_id, mesh, "/Mesh");
+
+ pugi::xml_node grid_node = domain_node.child("Grid");
+ dolfin_assert(grid_node);
- // Get Function data at vertices/cell centres
+ // Get Function data values and shape
std::vector<double> data_values;
- if (vertex_data)
- get_point_data_values(data_values, padded_value_size, u);
+ bool cell_centred = has_cell_centred_data(u);
+
+ const int degree = mesh.geometry().degree();
+ if (cell_centred)
+ data_values = get_cell_data_values(u);
else
{
- dolfin_assert(u.function_space()->dofmap());
- dolfin_assert(u.vector());
+ if (degree == 1)
+ data_values = get_point_data_values(u);
+ else
+ data_values = get_p2_data_values(u);
+ }
- // Allocate memory for function values at cell centres
- const std::size_t num_local_cells = mesh.topology().ghost_offset(tdim);
- const std::size_t size = num_local_cells*value_size;
+ // Add attribute node
+ pugi::xml_node attribute_node = grid_node.append_child("Attribute");
+ dolfin_assert(attribute_node);
+ attribute_node.append_attribute("Name") = u.name().c_str();
+ attribute_node.append_attribute("AttributeType")
+ = rank_to_string(u.value_rank()).c_str();
+ attribute_node.append_attribute("Center") = cell_centred ? "Cell" : "Node";
- // Build lists of dofs and create map
- std::vector<dolfin::la_index> dof_set;
- std::vector<std::size_t> offset(size + 1);
- std::vector<std::size_t>::iterator cell_offset = offset.begin();
- for (CellIterator cell(mesh); !cell.end(); ++cell)
- {
- // Tabulate dofs
- const ArrayView<const dolfin::la_index> dofs
- = dofmap.cell_dofs(cell->index());
- for (std::size_t i = 0; i < dofmap.num_element_dofs(cell->index()); ++i)
- dof_set.push_back(dofs[i]);
-
- // Add local dimension to cell offset and increment
- *(cell_offset + 1) = *(cell_offset)
- + dofmap.num_element_dofs(cell->index());
- ++cell_offset;
- }
+ // Add attribute DataItem node and write data
+ std::int64_t width = get_padded_width(u);
+ dolfin_assert(data_values.size()%width == 0);
- // Get values
- data_values.resize(dof_set.size());
- dolfin_assert(u.vector());
- u.vector()->get_local(data_values.data(), dof_set.size(), dof_set.data());
+ const std::int64_t num_points = (degree == 2) ?
+ (mesh.size(0) + mesh.size(1)) : mesh.size_global(0);
+ const std::int64_t num_values = cell_centred ?
+ mesh.size_global(mesh.topology().dim()) : num_points;
- cell_offset = offset.begin();
- std::vector<double> _data_values(padded_value_size*num_local_cells, 0.0);
- std::size_t count = 0;
- if (value_rank == 1 && value_size == 2)
- {
- for (CellIterator cell(mesh); !cell.end(); ++cell)
- {
- _data_values[count++] = data_values[*cell_offset];
- _data_values[count++] = data_values[*cell_offset + 1];
- ++count;
- ++cell_offset;
- }
- }
- else if (value_rank == 2 && value_size == 4)
- {
- // Pad with 0.0 to 2D tensors to make them 3D
- for (CellIterator cell(mesh); !cell.end(); ++cell)
- {
- for (std::size_t i = 0; i < 2; i++)
- {
- _data_values[count++] = data_values[*cell_offset + 2*i];
- _data_values[count++] = data_values[*cell_offset + 2*i + 1];
- ++count;
- }
+ add_data_item(_mpi_comm, attribute_node, h5_id,
+ "/VisualisationVector/0", data_values, {num_values, width});
- count += 3;
- ++cell_offset;
- }
- }
- else
- {
- // Write all components
- for (CellIterator cell(mesh); !cell.end(); ++cell)
- {
- for (std::size_t i = 0; i < value_size; i++)
- _data_values[count++] = data_values[*cell_offset + i];
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::write(const Function& u, double time_step, Encoding encoding)
+{
+ check_encoding(encoding);
- ++cell_offset;
- }
- }
- data_values = _data_values;
+ const Mesh& mesh = *u.function_space()->mesh();
+
+ // Clear the pugi doc the first time
+ if (_counter == 0)
+ {
+ _xml_doc->reset();
+
+ // Create XDMF header
+ _xml_doc->append_child(pugi::node_doctype).set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
+ xdmf_node.append_attribute("Version") = "3.0";
+ xdmf_node.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
+ pugi::xml_node domain_node = xdmf_node.append_child("Domain");
+ dolfin_assert(domain_node);
+
+ // /Xdmf/Domain/Grid - actually a TimeSeries, not a spatial grid
+ pugi::xml_node timegrid_node = domain_node.append_child("Grid");
+ dolfin_assert(timegrid_node);
+ timegrid_node.append_attribute("Name") = "TimeSeries";
+ timegrid_node.append_attribute("GridType") = "Collection";
+ timegrid_node.append_attribute("CollectionType") = "Temporal";
+
+ // /Xdmf/Domain/Grid/Time
+ pugi::xml_node time_node = timegrid_node.append_child("Time");
+ dolfin_assert(time_node);
+ time_node.append_attribute("TimeType") = "List";
+ pugi::xml_node timedata_node = time_node.append_child("DataItem");
+ dolfin_assert(timedata_node);
+ timedata_node.append_attribute("Format") = "XML";
+ timedata_node.append_attribute("Dimensions") = "0";
+ timedata_node.append_child(pugi::node_pcdata);
}
- // FIXME: Below is messy. Should query HDF5 file writer for existing
- // mesh name
- // Write mesh to HDF5 file
- if (parameters["rewrite_function_mesh"] || _counter == 0)
+ hid_t h5_id = -1;
+#ifdef HAS_HDF5
+ // Open the HDF5 file for first time, if using HDF5 encoding
+ if (encoding == Encoding::HDF5)
{
- if (encoding == Encoding::HDF5)
+ // Truncate the file the first time
+ if (_counter == 0)
+ _hdf5_file.reset(new HDF5File(mesh.mpi_comm(),
+ get_hdf5_filename(_filename), "w"));
+ else if (parameters["flush_output"])
{
-#ifdef HAS_HDF5
- const std::string h5_mesh_name = "/Mesh/" + std::to_string(_counter);
- boost::filesystem::path p(get_hdf5_filename(_filename));
- _current_mesh_name = p.filename().string() + ":" + h5_mesh_name;
- _hdf5_file->write(mesh, h5_mesh_name);
-#endif
+ // Append to existing HDF5 file
+ dolfin_assert(!_hdf5_file);
+ _hdf5_file.reset(new HDF5File(mesh.mpi_comm(),
+ get_hdf5_filename(_filename), "a"));
}
- else if (encoding == Encoding::ASCII)
- _current_mesh_name = "/Xdmf/Domain/Grid";
+ dolfin_assert(_hdf5_file);
+ h5_id = _hdf5_file->h5_id();
}
+#endif
- const bool mpi_io = MPI::size(mesh.mpi_comm()) > 1 ? true : false;
- std::vector<std::int64_t> global_size(2);
- global_size[1] = padded_value_size;
+ pugi::xml_node xdmf_node = _xml_doc->child("Xdmf");
+ dolfin_assert(xdmf_node);
+ pugi::xml_node domain_node = xdmf_node.child("Domain");
+ dolfin_assert(domain_node);
- std::size_t num_global_points = mesh.size_global(0);
- const std::size_t num_global_cells = mesh.size_global(tdim);
- if (vertex_data)
+ // Look for existing TimeSeries and check name
+ pugi::xml_node timegrid_node = domain_node.first_child();
+ dolfin_assert(timegrid_node);
+ if (std::string(timegrid_node.attribute("Name").value()) != "TimeSeries")
{
- if (degree == 2)
- {
- dolfin_assert(!mpi_io);
- num_global_points = mesh.size(0) + mesh.size(1);
- global_size[0] = num_global_points;
- }
- else
- {
- // Remove duplicates for vertex-based data in parallel
- DistributedMeshTools::reorder_values_by_global_indices(mesh, data_values,
- padded_value_size);
- global_size[0] = num_global_points;
- }
+ dolfin_error("XDMFFile.cpp",
+ "add Function to XDMF",
+ "XDMF file does not contain a TimeSeries");
+ }
+
+ pugi::xml_node time_node = timegrid_node.child("Time");
+ dolfin_assert(time_node);
+
+ // Get existing number of timesteps, and values
+ pugi::xml_node timedata_node = time_node.child("DataItem");
+ dolfin_assert(timedata_node);
+ pugi::xml_attribute numsteps_attr = timedata_node.attribute("Dimensions");
+ dolfin_assert(numsteps_attr);
+ pugi::xml_node times_str_node = timedata_node.first_child();
+ dolfin_assert(times_str_node);
+ unsigned int numsteps = std::stoul(numsteps_attr.value());
+ dolfin_assert(numsteps == _counter);
+ std::string times_str(times_str_node.value());
+
+ // Add new values
+ times_str += " " + boost::str((boost::format("%g") % time_step));
+ ++numsteps;
+ numsteps_attr.set_value(numsteps);
+ times_str_node.set_value(times_str.c_str());
+
+ // Add the mesh Grid to the time Grid
+ if (_counter == 0 or parameters["rewrite_function_mesh"])
+ {
+ add_mesh(_mpi_comm, timegrid_node, h5_id, mesh,
+ "/Mesh/" + std::to_string(_counter));
}
else
- global_size[0] = num_global_cells;
+ {
+ // Make reference back to first Mesh of the time series
+ pugi::xml_node grid_node = timegrid_node.append_child("Grid");
+ dolfin_assert(grid_node);
+
+ // Add topology node (reference)
+ pugi::xml_node topology_node = grid_node.append_child("Topology");
+ dolfin_assert(topology_node);
+ topology_node.append_attribute("Reference") = "XML";
+ topology_node.append_child(pugi::node_pcdata)
+ .set_value("/Xdmf/Domain/Grid/Grid/Topology");
+
+ // Add geometry node (reference)
+ pugi::xml_node geometry_node = grid_node.append_child("Geometry");
+ dolfin_assert(geometry_node);
+ geometry_node.append_attribute("Reference") = "XML";
+ geometry_node.append_child(pugi::node_pcdata)
+ .set_value("/Xdmf/Domain/Grid/Grid/Geometry");
+ }
- // Save data values to HDF5 file. Vertex/cell values are saved in
- // the hdf5 group /VisualisationVector as distinct from /Vector
- // which is used for solution vectors.
+ pugi::xml_node grid_node = timegrid_node.last_child();
+ dolfin_assert(grid_node);
+
+ // Get Function data values and shape
+ std::vector<double> data_values;
+ bool cell_centred = has_cell_centred_data(u);
+
+ if (cell_centred)
+ data_values = get_cell_data_values(u);
+ else
+ data_values = get_point_data_values(u);
+
+ // Add attribute node
+ pugi::xml_node attribute_node = grid_node.append_child("Attribute");
+ dolfin_assert(attribute_node);
+ attribute_node.append_attribute("Name") = u.name().c_str();
+ attribute_node.append_attribute("AttributeType")
+ = rank_to_string(u.value_rank()).c_str();
+ attribute_node.append_attribute("Center") = cell_centred ? "Cell" : "Node";
+
+ // Add attribute DataItem node and write data
+ std::int64_t width = get_padded_width(u);
+ dolfin_assert(data_values.size()%width == 0);
+ std::int64_t num_values = cell_centred ?
+ mesh.size_global(mesh.topology().dim()) : mesh.size_global(0);
const std::string dataset_name = "/VisualisationVector/"
+ std::to_string(_counter);
-#ifdef HAS_HDF5
- if (encoding == Encoding::HDF5)
- {
- _hdf5_file->write_data(dataset_name, data_values, global_size, mpi_io);
+ add_data_item(_mpi_comm, attribute_node, h5_id,
+ dataset_name, data_values, {num_values, width});
- // Flush file. Improves chances of recovering data if
- // interrupted. Also makes file somewhat readable between writes.
- if (parameters["flush_output"])
- _hdf5_file->flush();
- }
-#endif
-
- // Write the XML meta description (see http://www.xdmf.org) on
- // process zero
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
- if (MPI::rank(mesh.mpi_comm()) == 0)
+#ifdef HAS_HDF5
+ // Close the HDF5 file if in "flush" mode
+ if (encoding == Encoding::HDF5 and parameters["flush_output"])
{
- dolfin_assert(_xml);
- _xml->init_timeseries(u.name(), time_step, _counter);
-
- if (encoding == Encoding::HDF5)
- {
- _xml->mesh_topology(mesh.type().cell_type(), degree,
- num_global_cells, _current_mesh_name + "/topology",
- xdmf_format_str(encoding));
- _xml->mesh_geometry(num_global_points, gdim,
- _current_mesh_name + "/coordinates",
- xdmf_format_str(encoding));
-
- boost::filesystem::path p(get_hdf5_filename(_filename));
- _xml->data_attribute(u.name(), value_rank, vertex_data,
- num_global_points, num_global_cells,
- padded_value_size,
- p.filename().string() + ":" + dataset_name,
- xdmf_format_str(encoding));
- }
- else if (encoding == Encoding::ASCII)
- {
- // Add the mesh topology and geometry to the xml data
- std::string topology_data = generate_xdmf_ascii_mesh_topology_data(mesh);
- std::string geometry_data = generate_xdmf_ascii_mesh_geometry_data(mesh);
-
- _xml->mesh_topology(mesh.type().cell_type(), degree,
- num_global_cells, topology_data,
- xdmf_format_str(encoding));
- _xml->mesh_geometry(num_global_points, gdim, geometry_data,
- xdmf_format_str(encoding));
-
- // Add the Function vertex data to the xml data
- _xml->data_attribute(u.name(), value_rank, vertex_data,
- num_global_points, num_global_cells,
- padded_value_size,
- generate_xdmf_ascii_data(data_values, "%.15e"),
- xdmf_format_str(encoding));
- }
- _xml->write();
+ dolfin_assert(_hdf5_file);
+ _hdf5_file.reset();
}
+#endif
- // Increment counter
++_counter;
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const MeshFunction<bool>& meshfunction, Encoding encoding)
{
- write_mesh_function(meshfunction, "%d", encoding);
+ write_mesh_function(meshfunction, encoding);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const MeshFunction<int>& meshfunction, Encoding encoding)
{
- write_mesh_function(meshfunction, "%d", encoding);
+ write_mesh_function(meshfunction, encoding);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const MeshFunction<std::size_t>& meshfunction,
Encoding encoding)
{
- write_mesh_function(meshfunction, "%d", encoding);
+ write_mesh_function(meshfunction, encoding);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::write(const MeshFunction<double>& meshfunction,
Encoding encoding)
{
- write_mesh_function(meshfunction, "%.15e", encoding);
+ write_mesh_function(meshfunction, encoding);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::write(const MeshValueCollection<bool>& mvc,
+ Encoding encoding)
+{
+ write_mesh_value_collection(mvc, encoding);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::write(const MeshValueCollection<int>& mvc,
+ Encoding encoding)
+{
+ write_mesh_value_collection(mvc, encoding);
}
//-----------------------------------------------------------------------------
void XDMFFile::write(const MeshValueCollection<std::size_t>& mvc,
Encoding encoding)
{
- //FIXME: make work with ASCII encoding or call dolfin_not_implemented()
+ write_mesh_value_collection(mvc, encoding);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::write(const MeshValueCollection<double>& mvc,
+ Encoding encoding)
+{
+ write_mesh_value_collection(mvc, encoding);
+}
+//-----------------------------------------------------------------------------
+template <typename T>
+void XDMFFile::write_mesh_value_collection(const MeshValueCollection<T>& mvc,
+ Encoding encoding)
+{
check_encoding(encoding);
// Provide some very basic functionality for saving
@@ -468,18 +432,8 @@ void XDMFFile::write(const MeshValueCollection<std::size_t>& mvc,
dolfin_assert(mvc.mesh());
std::shared_ptr<const Mesh> mesh = mvc.mesh();
-
-#ifdef HAS_HDF5
- if (encoding == Encoding::HDF5)
- {
- if (_hdf5_filemode != "w")
- {
- // Append to existing HDF5 File
- _hdf5_file.reset(new HDF5File(mesh->mpi_comm(), get_hdf5_filename(_filename), "a"));
- _hdf5_filemode = "w";
- }
- }
-#endif
+ const std::size_t tdim = mesh->topology().dim();
+ const std::size_t gdim = mesh->geometry().dim();
if (MPI::sum(mesh->mpi_comm(), mvc.size()) == 0)
{
@@ -488,350 +442,548 @@ void XDMFFile::write(const MeshValueCollection<std::size_t>& mvc,
"No values in MeshValueCollection");
}
- if (_current_mesh_name == "")
+ pugi::xml_node domain_node;
+ std::string hdf_filemode = "a";
+ if (_xml_doc->child("Xdmf").empty())
{
- dolfin_error("XDMFFile.cpp",
- "save MeshValueCollection",
- "A Mesh must be saved first");
+ // Reset pugi
+ _xml_doc->reset();
+ // Add XDMF node and version attribute
+ _xml_doc->append_child(pugi::node_doctype).set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
+ xdmf_node.append_attribute("Version") = "3.0";
+ xdmf_node.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
+
+ // Add domain node and add name attribute
+ domain_node = xdmf_node.append_child("Domain");
+ hdf_filemode = "w";
}
+ else
+ domain_node = _xml_doc->child("Xdmf").child("Domain");
- const std::size_t cell_dim = mvc.dim();
- CellType::Type cell_type = mesh->type().entity_type(cell_dim);
-
- const std::string dataset_name = "/MVC/" + mvc.name();
+ dolfin_assert(domain_node);
+ // Open a HDF5 file if using HDF5 encoding
+ hid_t h5_id = -1;
#ifdef HAS_HDF5
+ std::unique_ptr<HDF5File> h5_file;
if (encoding == Encoding::HDF5)
{
- // Use HDF5 function to output MeshValueCollection
- _hdf5_file->write(mvc, dataset_name);
+ // Open file
+ h5_file.reset(new HDF5File(mesh->mpi_comm(),
+ get_hdf5_filename(_filename), hdf_filemode));
+ dolfin_assert(h5_file);
+
+ // Get file handle
+ h5_id = h5_file->h5_id();
}
#endif
- bool time_series = parameters["time_series"];
+ // Check domain node for existing Mesh Grid and check it is compatible with
+ // this MeshValueCollection, or if none, add Mesh
- if (MPI::rank(mesh->mpi_comm()) == 0)
+ pugi::xml_node grid_node = domain_node.child("Grid");
+ if (grid_node.empty())
+ add_mesh(_mpi_comm, domain_node, h5_id, *mesh, "/Mesh");
+ else
{
- dolfin_assert(_xml);
- if (time_series)
- _xml->init_timeseries(mvc.name(), (double) _counter, _counter);
- else
- _xml->init_mesh(mvc.name());
-
- if (encoding == Encoding::HDF5)
+ // Check topology
+ pugi::xml_node topology_node = grid_node.child("Topology");
+ dolfin_assert(topology_node);
+ const std::int64_t ncells = mesh->topology().size_global(tdim);
+ pugi::xml_attribute num_cells_attr = topology_node.attribute("NumberOfElements");
+ dolfin_assert(num_cells_attr);
+ if (num_cells_attr.as_llong() != ncells)
{
- boost::filesystem::path p(get_hdf5_filename(_filename));
- const std::string dataset_ref = p.filename().string() + ":"
- + dataset_name;
-
- _xml->mesh_topology(cell_type, 1, mvc.size(), dataset_ref + "/topology",
- xdmf_format_str(encoding));
- _xml->mesh_geometry(mesh->size_global(0), mesh->geometry().dim(),
- _current_mesh_name + "/coordinates",
- xdmf_format_str(encoding));
- _xml->data_attribute(mvc.name(), 0, false, mesh->size_global(0),
- mvc.size(), 1, dataset_ref + "/values",
- xdmf_format_str(encoding));
+ dolfin_error("XDMFFile.cpp",
+ "add MeshValueCollection to file",
+ "Incompatible Mesh");
}
- else if (encoding == Encoding::ASCII)
+
+ // Check geometry
+ pugi::xml_node geometry_node = grid_node.child("Geometry");
+ dolfin_assert(geometry_node);
+ pugi::xml_node geometry_data_node = geometry_node.child("DataItem");
+ dolfin_assert(geometry_data_node);
+ const std::string dims_str = geometry_data_node.attribute("Dimensions").as_string();
+ std::vector<std::string> dims_list;
+ boost::split(dims_list, dims_str, boost::is_any_of(" "));
+ const std::int64_t npoints = mesh->size_global(0);
+ if (boost::lexical_cast<std::int64_t>(dims_list[0]) != npoints
+ or boost::lexical_cast<std::int64_t>(dims_list[1]) != (int)gdim)
{
- // FIXME: This will only reference the first mesh geometry
- _xml->mesh_geometry(mesh->size_global(0), mesh->geometry().dim(),
- _current_mesh_name + "/Geometry/DataItem",
- xdmf_format_str(encoding), true);
- write_ascii_mesh_value_collection(mvc, dataset_name);
+ dolfin_error("XDMFFile.cpp",
+ "add MeshValueCollection to file",
+ "Incompatible Mesh");
}
+ }
+
+ // Add new grid node, for MVC mesh
+ pugi::xml_node mvc_grid_node = domain_node.append_child("Grid");
+ dolfin_assert(mvc_grid_node);
+ mvc_grid_node.append_attribute("Name") = mvc.name().c_str();
+ mvc_grid_node.append_attribute("GridType") = "Uniform";
+
+ // Add topology node and attributes
+ const std::size_t cell_dim = mvc.dim();
+ const std::string vtk_cell_str
+ = vtk_cell_type_str(mesh->type().entity_type(cell_dim), mesh->geometry().degree());
+ const std::int64_t num_vertices_per_cell = mesh->type().num_vertices(cell_dim);
+
+ const std::map<std::pair<std::size_t, std::size_t>, T>& values
+ = mvc.values();
+ const std::int64_t num_cells = values.size();
+ const std::int64_t num_cells_global = MPI::sum(mesh->mpi_comm(), num_cells);
- _xml->write();
+ pugi::xml_node topology_node = mvc_grid_node.append_child("Topology");
+ dolfin_assert(topology_node);
+ topology_node.append_attribute("NumberOfElements")
+ = std::to_string(num_cells_global).c_str();
+ topology_node.append_attribute("TopologyType") = vtk_cell_str.c_str();
+ topology_node.append_attribute("NodesPerElement")
+ = std::to_string(num_vertices_per_cell).c_str();
+
+ std::vector<std::int32_t> topology_data;
+ std::vector<T> value_data;
+ topology_data.reserve(num_cells*num_vertices_per_cell);
+ value_data.reserve(num_cells);
+
+ mesh->init(tdim, cell_dim);
+ for (auto &p : values)
+ {
+ MeshEntity cell = Cell(*mesh, p.first.first);
+ if (cell_dim != tdim)
+ {
+ const unsigned int entity_local_idx = cell.entities(cell_dim)[p.first.second];
+ cell = MeshEntity(*mesh, cell_dim, entity_local_idx);
+ }
+ for (VertexIterator v(cell); !v.end(); ++v)
+ topology_data.push_back(v->global_index());
+ value_data.push_back(p.second);
}
+ const std::string mvc_dataset_name = "/MeshValueCollection/" + std::to_string(_counter);
+ const std::int64_t num_values = MPI::sum(mesh->mpi_comm(), value_data.size());
+ add_data_item(_mpi_comm, topology_node, h5_id, mvc_dataset_name + "/topology",
+ topology_data, {num_values, num_vertices_per_cell}, "UInt");
+
+ // Add geometry node (share with main Mesh)
+ pugi::xml_node geometry_node = mvc_grid_node.append_child("Geometry");
+ dolfin_assert(geometry_node);
+ geometry_node.append_attribute("Reference") = "XML";
+ geometry_node.append_child(pugi::node_pcdata)
+ .set_value("/Xdmf/Domain/Grid/Geometry");
+
+ // Add attribute node with values
+ pugi::xml_node attribute_node = mvc_grid_node.append_child("Attribute");
+ dolfin_assert(attribute_node);
+ attribute_node.append_attribute("Name") = mvc.name().c_str();
+ attribute_node.append_attribute("AttributeType") = "Scalar";
+ attribute_node.append_attribute("Center") = "Cell";
+
+ add_data_item(_mpi_comm, attribute_node, h5_id,
+ mvc_dataset_name + "/values", value_data, {num_values, 1});
+
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
+
++_counter;
}
//-----------------------------------------------------------------------------
-void XDMFFile::write(const std::vector<Point>& points, Encoding encoding)
+void XDMFFile::read(MeshValueCollection<bool>& mvc, std::string name)
{
- check_encoding(encoding);
+ // Bool is not really supported, so copy from int
+ MeshValueCollection<int> mvc_int(mvc.mesh());
+ read_mesh_value_collection(mvc_int, name);
- const std::string group_name = "/Points";
- // Get number of points (global)
- const std::size_t num_global_points = MPI::sum(_mpi_comm, points.size());
+ mvc.init(mvc.mesh(), mvc_int.dim());
+ for (const auto &p : mvc_int.values())
+ mvc.set_value(p.first.first, p.first.second, (bool)p.second);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::read(MeshValueCollection<int>& mvc, std::string name)
+{
+ read_mesh_value_collection(mvc, name);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::read(MeshValueCollection<std::size_t>& mvc, std::string name)
+{
+ read_mesh_value_collection(mvc, name);
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::read(MeshValueCollection<double>& mvc, std::string name)
+{
+ read_mesh_value_collection(mvc, name);
+}
+//-----------------------------------------------------------------------------
+template <typename T>
+void XDMFFile::read_mesh_value_collection
+(MeshValueCollection<T>& mvc, std::string name)
+{
+ // Load XML doc from file
+ pugi::xml_document xml_doc;
+ pugi::xml_parse_result result = xml_doc.load_file(_filename.c_str());
+ dolfin_assert(result);
- // Initialise HDF5 file
- if (encoding == Encoding::HDF5)
+ // Get XDMF node
+ pugi::xml_node xdmf_node = xml_doc.child("Xdmf");
+ dolfin_assert(xdmf_node);
+
+ // Get domain node
+ pugi::xml_node domain_node = xdmf_node.child("Domain");
+ dolfin_assert(domain_node);
+
+ // Check all Grid nodes for suitable dataset
+ pugi::xml_node grid_node;
+ for (pugi::xml_node node: domain_node.children("Grid"))
{
-#ifdef HAS_HDF5
- if (_hdf5_filemode != "w")
+ pugi::xml_node value_node = node.child("Attribute");
+ if (value_node and (name == "" or name == value_node.attribute("Name").as_string()))
+ {
+ grid_node = node;
+ break;
+ }
+ }
+
+ // Get MVC topology node
+ pugi::xml_node topology_node = grid_node.child("Topology");
+ dolfin_assert(topology_node);
+
+ // Get description of MVC cell type and dimension from topology node
+ auto cell_type_str = get_cell_type(topology_node);
+ dolfin_assert(cell_type_str.second == 1);
+ std::unique_ptr<CellType> cell_type(CellType::create(cell_type_str.first));
+ dolfin_assert(cell_type);
+ const int cell_dim = cell_type->dim();
+ const int num_verts_per_entity = cell_type->num_vertices();
+
+ // Read MVC topology
+ pugi::xml_node topology_data_node = topology_node.child("DataItem");
+ dolfin_assert(topology_data_node);
+ boost::filesystem::path xdmf_filename(_filename);
+ const boost::filesystem::path parent_path = xdmf_filename.parent_path();
+ std::vector<std::int32_t> topology_data
+ = get_dataset<std::int32_t>(_mpi_comm, topology_data_node, parent_path);
+
+ // Ensure MVC is clear, and initialised to correct cell dimension
+ std::shared_ptr<const Mesh> mesh = mvc.mesh();
+ dolfin_assert(mesh);
+ mvc.clear();
+ mvc.init(mesh, cell_dim);
+
+ // Read values associated with each MeshEntity described by topology
+ pugi::xml_node attribute_node = grid_node.child("Attribute");
+ dolfin_assert(attribute_node);
+ pugi::xml_node attribute_data_node = attribute_node.child("DataItem");
+ dolfin_assert(attribute_data_node);
+ std::vector<T> values_data
+ = get_dataset<T>(_mpi_comm, attribute_data_node, parent_path);
+
+ // Ensure the mesh dimension is initialised
+ mesh->init(cell_dim);
+ const std::size_t global_vertex_range = mesh->size_global(0);
+ const std::int32_t num_processes = MPI::size(_mpi_comm);
+
+ // Send entities to processes based on the lowest vertex index
+ std::vector<std::vector<std::int32_t>> send_entities(num_processes);
+ std::vector<std::vector<std::int32_t>> recv_entities(num_processes);
+
+ std::vector<std::int32_t> v(num_verts_per_entity);
+ for (MeshEntityIterator m(*mesh, cell_dim); !m.end(); ++m)
+ {
+ if (cell_dim == 0)
+ v[0] = m->global_index();
+ else
{
- // Create HDF5 file (truncate)
- _hdf5_file.reset(new HDF5File(_mpi_comm, get_hdf5_filename(_filename), "w"));
- _hdf5_filemode = "w";
+ for (VertexIterator vtx(*m); !vtx.end(); ++vtx)
+ v[vtx.pos()] = vtx->global_index();
+ std::sort(v.begin(), v.end());
}
- // Write HDF5 file
- _hdf5_file->write(points, group_name);
-#else
- dolfin_error("XDMFile.cpp", "write vector<Point>", "Need HDF5 support");
-#endif
+ std::size_t dest = MPI::index_owner(_mpi_comm,
+ v[0], global_vertex_range);
+ send_entities[dest].push_back(m->index());
+ send_entities[dest].insert(send_entities[dest].end(),
+ v.begin(), v.end());
}
- else if (encoding == Encoding::ASCII)
+ MPI::all_to_all(_mpi_comm, send_entities, recv_entities);
+
+ // Map from {entity vertex indices} to {process, local_index}
+ std::map<std::vector<std::int32_t>,
+ std::vector<std::int32_t>> entity_map;
+ for (std::int32_t i = 0; i != num_processes; ++i)
{
- // FIXME: Make ASCII output work
- dolfin_not_implemented();
+ for (auto it = recv_entities[i].begin(); it != recv_entities[i].end();
+ it += (num_verts_per_entity + 1))
+ {
+ std::copy(it + 1, it + num_verts_per_entity + 1, v.begin());
+ auto map_it = entity_map.insert({v, {i, *it}});
+ if (!map_it.second)
+ {
+ // Entry already exists, add to it
+ map_it.first->second.push_back(i);
+ map_it.first->second.push_back(*it);
+ }
+ }
}
- // The XML created below will obliterate any existing XDMF file
- write_point_xml(group_name, num_global_points, 0, encoding);
-}
-//----------------------------------------------------------------------------
-void XDMFFile::write(const std::vector<Point>& points,
- const std::vector<double>& values,
- Encoding encoding)
-{
- // FIXME: make ASCII output work
- check_encoding(encoding);
+ // Send data from MeshValueCollection to sorting process
+ std::vector<std::vector<T>> send_data(num_processes);
+ std::vector<std::vector<T>> recv_data(num_processes);
+ // Reset send/recv arrays
+ send_entities = std::vector<std::vector<std::int32_t>>(num_processes);
+ recv_entities = std::vector<std::vector<std::int32_t>>(num_processes);
- // Write clouds of points to XDMF/HDF5 with values
- dolfin_assert(points.size() == values.size());
+ std::int32_t i = 0;
+ for (auto it = topology_data.begin(); it != topology_data.end();
+ it += num_verts_per_entity)
+ {
+ std::partial_sort_copy(it, it + num_verts_per_entity,
+ v.begin(), v.end());
+ std::size_t dest = MPI::index_owner(_mpi_comm,
+ v[0], global_vertex_range);
+ send_entities[dest].insert(send_entities[dest].end(),
+ v.begin(), v.end());
+ send_data[dest].push_back(values_data[i]);
+ ++i;
+ }
- // Get number of points (global)
- const std::size_t num_global_points = MPI::sum(_mpi_comm, points.size());
- const std::string group_name = "/Points";
+ MPI::all_to_all(_mpi_comm, send_entities, recv_entities);
+ MPI::all_to_all(_mpi_comm, send_data, recv_data);
- if (encoding == Encoding::HDF5)
+ // Reset send arrays
+ send_data = std::vector<std::vector<T>>(num_processes);
+ send_entities = std::vector<std::vector<std::int32_t>>(num_processes);
+
+ // Locate entity in map, and send back to data to owning processes
+ for (std::int32_t i = 0; i != num_processes; ++i)
{
-#ifdef HAS_HDF5
- // Initialise HDF5 file
- if (_hdf5_filemode != "w")
+ dolfin_assert(recv_data[i].size()*num_verts_per_entity
+ == recv_entities[i].size());
+
+ for (std::size_t j = 0; j != recv_data[i].size(); ++j)
{
- // Create HDF5 file (truncate)
- _hdf5_file.reset(new HDF5File(_mpi_comm, get_hdf5_filename(_filename), "w"));
- _hdf5_filemode = "w";
+ auto it = recv_entities[i].begin() + j*num_verts_per_entity;
+ std::copy(it, it + num_verts_per_entity, v.begin());
+ auto map_it = entity_map.find(v);
+
+ if (map_it == entity_map.end())
+ {
+ dolfin_error("HDF5File.cpp",
+ "find entity in map",
+ "Error reading MeshValueCollection");
+ }
+ for (auto p = map_it->second.begin(); p != map_it->second.end(); p += 2)
+ {
+ const std::int32_t dest = *p;
+ dolfin_assert(dest < num_processes);
+ send_entities[dest].push_back(*(p + 1));
+ send_data[dest].push_back(recv_data[i][j]);
+ }
}
+ }
- // Write HDF5 file
- _hdf5_file->write(points, group_name);
+ // Send to owning processes and set in MeshValueCollection
+ MPI::all_to_all(_mpi_comm, send_entities, recv_entities);
+ MPI::all_to_all(_mpi_comm, send_data, recv_data);
- const std::string values_name = group_name + "/values";
- _hdf5_file->write(values, values_name);
-#else
- dolfin_error("XDMFile.cpp", "write vector<Point>", "Need HDF5 support");
-#endif
+ for (std::int32_t i = 0; i != num_processes; ++i)
+ {
+ dolfin_assert(recv_entities[i].size() == recv_data[i].size());
+ for (std::size_t j = 0; j != recv_data[i].size(); ++j)
+ {
+ mvc.set_value(recv_entities[i][j], recv_data[i][j]);
+ }
}
- // The XML created will obliterate any existing XDMF file
- write_point_xml(group_name, num_global_points, 1, encoding);
}
-//----------------------------------------------------------------------------
-void XDMFFile::read(Mesh& mesh, UseFilePartition use_file_partition)
+//-----------------------------------------------------------------------------
+void XDMFFile::write(const std::vector<Point>& points, Encoding encoding)
{
- read_new(mesh);
- return;
+ // Check that encoding is supported
+ check_encoding(encoding);
- // Parse XML file
- dolfin_assert(_xml);
- _xml->read();
+ // Open a HDF5 file if using HDF5 encoding (truncate)
+ hid_t h5_id = -1;
+#ifdef HAS_HDF5
+ std::unique_ptr<HDF5File> h5_file;
+ if (encoding == Encoding::HDF5)
+ {
+ // Open file
+ h5_file.reset(new HDF5File(_mpi_comm, get_hdf5_filename(_filename), "w"));
+ dolfin_assert(h5_file);
- // Get topology and geometry data
- const auto topology = _xml->get_topology();
- const auto geometry = _xml->get_geometry();
+ // Get file handle
+ h5_id = h5_file->h5_id();
+ }
+#endif
- // Create a cell type string (we need to catch the case where
- // TopologyType == "PolyLine")
- const std::string cell_type_str
- = (topology.cell_type == "polyline") ? "interval" : topology.cell_type;
+ // Create pugi doc
+ _xml_doc->reset();
+ // Add XDMF node and version attribute
+ _xml_doc->append_child(pugi::node_doctype)
+ .set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
- // Create a DOLFIN cell type from string
- std::unique_ptr<CellType> cell_type(CellType::create(cell_type_str));
- dolfin_assert(cell_type);
+ add_points(_mpi_comm, xdmf_node, h5_id, points);
- // Get geometric and toplogical dimensions
- const int gdim = geometry.dim;
- const int tdim = cell_type->dim();
- dolfin_assert(tdim <= gdim);
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::add_points(MPI_Comm comm, pugi::xml_node& xdmf_node,
+ hid_t h5_id, const std::vector<Point>& points)
+{
+ xdmf_node.append_attribute("Version") = "3.0";
+ xdmf_node.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
+ pugi::xml_node domain_node = xdmf_node.append_child("Domain");
+ dolfin_assert(domain_node);
- if (topology.format == "HDF")
- {
-#ifdef HAS_HDF5
- if (geometry.hdf5_filename != topology.hdf5_filename)
- {
- dolfin_error("XDMFFile.cpp",
- "read XDMF mesh",
- "Topology and geometry file names do not match");
- }
+ // Add a Grid to the domain
+ pugi::xml_node grid_node = domain_node.append_child("Grid");
+ dolfin_assert(grid_node);
+ grid_node.append_attribute("GridType") = "Uniform";
+ grid_node.append_attribute("Name") = "Point cloud";
- // Close any associated HDF5 which may be open
- _hdf5_file.reset();
+ pugi::xml_node topology_node = grid_node.append_child("Topology");
+ dolfin_assert(topology_node);
+ const std::size_t n = points.size();
+ const std::int64_t nglobal = MPI::sum(comm, n);
+ topology_node.append_attribute("NumberOfElements")
+ = std::to_string(nglobal).c_str();
+ topology_node.append_attribute("TopologyType") = "PolyVertex";
+ topology_node.append_attribute("NodesPerElement") = 1;
+
+ pugi::xml_node geometry_node = grid_node.append_child("Geometry");
+ dolfin_assert(geometry_node);
+ geometry_node.append_attribute("GeometryType") = "XYZ";
- // Prepend directory name of XDMF file...
- // FIXME: not robust - topo.hdf5_filename may already be an
- // absolute path
- boost::filesystem::path xdmf_path(_filename);
- boost::filesystem::path hdf5_path(topology.hdf5_filename);
- HDF5File mesh_file(_mpi_comm, (xdmf_path.parent_path() / hdf5_path).string(), "r");
-
- // Read the mesh from the associated HDF5 file
- mesh_file.read(mesh, topology.hdf5_dataset, geometry.hdf5_dataset,
- gdim, *cell_type,
- topology.num_cells,
- geometry.num_points,
- static_cast<bool>(use_file_partition));
-#else
- dolfin_error("XDMFile.cpp", "open Mesh file", "Need HDF5 support");
-#endif
- }
- else if (topology.format == "XML")
+ // Pack data
+ std::vector<double> x(3*n);
+ for (std::size_t i = 0; i < n; ++i)
+ for (std::size_t j = 0; j < 3; ++j)
+ x[3*i + j] = points[i][j];
+
+ const std::vector<std::int64_t> shape = {nglobal, 3};
+ add_data_item(comm, geometry_node, h5_id, "/Points/coordinates", x, shape);
+}
+//----------------------------------------------------------------------------
+void XDMFFile::write(const std::vector<Point>& points,
+ const std::vector<double>& values,
+ Encoding encoding)
+{
+ // Write clouds of points to XDMF/HDF5 with values
+ dolfin_assert(points.size() == values.size());
+
+ // Check that encoding is supported
+ check_encoding(encoding);
+
+ // Create pugi doc
+ _xml_doc->reset();
+
+ // Open a HDF5 file if using HDF5 encoding (truncate)
+ hid_t h5_id = -1;
+#ifdef HAS_HDF5
+ std::unique_ptr<HDF5File> h5_file;
+ if (encoding == Encoding::HDF5)
{
- if (MPI::rank(mesh.mpi_comm()) == 0)
- {
- MeshEditor editor;
- editor.open(mesh, cell_type_str, tdim, gdim);
-
- // Read geometry
- editor.init_vertices_global(geometry.num_points, geometry.num_points);
-
- const auto& g_data = geometry.data;
- std::istringstream iss(g_data);
- std::string data_line;
- std::vector<std::string> coords(gdim);
- Point p({0.0, 0.0, 0.0});
- std::size_t index = 0;
- while(std::getline(iss, data_line))
- {
- boost::split(coords, data_line, boost::is_any_of(" "));
- for (int j = 0; j < gdim; ++j)
- p[j] = std::stod(coords[j]);
- editor.add_vertex(index, p);
- ++index;
- }
+ // Open file
+ h5_file.reset(new HDF5File(_mpi_comm, get_hdf5_filename(_filename), "w"));
+ dolfin_assert(h5_file);
- if (geometry.num_points != index)
- {
- dolfin_error("XDMFFile.cpp",
- "parse mesh geometry points",
- (boost::format("number of points found in data (%d) does not match xdmf meta data (%d)")
- % index % geometry.num_points).str());
- }
+ // Get file handle
+ h5_id = h5_file->h5_id();
+ }
+#endif
- // Read topology
- editor.init_cells_global(topology.num_cells, topology.num_cells);
+ // Add XDMF node and version attribute
+ _xml_doc->append_child(pugi::node_doctype)
+ .set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
- const auto& t_data = topology.data;
- iss.clear();
- iss.str(t_data);
- index = 0;
- std::vector<std::string> splt_str_indices(topology.points_per_cell);
- std::vector<std::size_t> point_indices(topology.points_per_cell);
- while(std::getline(iss, data_line))
- {
- boost::split(splt_str_indices, data_line, boost::is_any_of(" "));
- for (std::size_t j = 0; j < topology.points_per_cell; ++j)
- point_indices[j] = std::stol(splt_str_indices[j]);
+ add_points(_mpi_comm, xdmf_node, h5_id, points);
- editor.add_cell(index, point_indices);
- ++index;
- }
+ // Add attribute node
+ pugi::xml_node domain_node = xdmf_node.child("Domain");
+ dolfin_assert(domain_node);
+ pugi::xml_node grid_node = domain_node.child("Grid");
+ dolfin_assert(grid_node);
+ pugi::xml_node attribute_node = grid_node.append_child("Attribute");
+ dolfin_assert(attribute_node);
+ attribute_node.append_attribute("Name") = "Point values";
+ attribute_node.append_attribute("AttributeType") = "Scalar";
+ attribute_node.append_attribute("Center") = "Node";
- if (topology.num_cells != index)
- {
- dolfin_error("XDMFFile.cpp",
- "parse mesh topology",
- (boost::format("number of cells found in data (%d) does not match xdmf meta data (%d)")
- % index % topology.num_cells).str());
- }
+ // Add attribute DataItem node and write data
+ std::int64_t num_values = MPI::sum(_mpi_comm, values.size());
+ add_data_item(_mpi_comm, attribute_node, h5_id,
+ "/Points/values", values, {num_values, 1});
- editor.close();
- }
- }
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
}
//----------------------------------------------------------------------------
-void XDMFFile::read(MeshFunction<bool>& meshfunction)
+void XDMFFile::read(MeshFunction<bool>& meshfunction, std::string name)
{
const std::shared_ptr<const Mesh> mesh = meshfunction.mesh();
dolfin_assert(mesh);
const std::size_t cell_dim = meshfunction.dim();
MeshFunction<std::size_t> mf(mesh, cell_dim);
- read_mesh_function(mf);
+ read_mesh_function(mf, name);
for (MeshEntityIterator cell(*mesh, cell_dim); !cell.end(); ++cell)
meshfunction[cell->index()] = (mf[cell->index()] == 1);
}
//----------------------------------------------------------------------------
-void XDMFFile::read(MeshFunction<int>& meshfunction)
+void XDMFFile::read(MeshFunction<int>& meshfunction, std::string name)
{
- read_mesh_function(meshfunction);
+ read_mesh_function(meshfunction, name);
}
//----------------------------------------------------------------------------
-void XDMFFile::read(MeshFunction<std::size_t>& meshfunction)
+void XDMFFile::read(MeshFunction<std::size_t>& meshfunction, std::string name)
{
- read_mesh_function(meshfunction);
+ read_mesh_function(meshfunction, name);
}
//----------------------------------------------------------------------------
-void XDMFFile::read(MeshFunction<double>& meshfunction)
+void XDMFFile::read(MeshFunction<double>& meshfunction, std::string name)
{
- read_mesh_function(meshfunction);
+ read_mesh_function(meshfunction, name);
}
//----------------------------------------------------------------------------
-void XDMFFile::write_new(const Mesh& mesh, Encoding encoding) const
+void XDMFFile::add_mesh(MPI_Comm comm, pugi::xml_node& xml_node,
+ hid_t h5_id, const Mesh& mesh,
+ const std::string path_prefix)
{
- // Check that encoding is supported
- check_encoding(encoding);
-
- // Create pugi doc
- pugi::xml_document xml_doc;
-
- // Add XDMF node and version attribute
- pugi::xml_node xdmf_node = xml_doc.append_child("Xdmf");
- dolfin_assert(xdmf_node);
- xdmf_node.append_attribute("Version") = "3.0";
-
- // Add domain node and add name attribute
- pugi::xml_node domain_node = xdmf_node.append_child("Domain");
- dolfin_assert(domain_node);
- domain_node.append_attribute("Name") = "Mesh produced by DOLFIN";
-
// Add grid node and attributes
- pugi::xml_node grid_node = domain_node.append_child("Grid");
+ pugi::xml_node grid_node = xml_node.append_child("Grid");
dolfin_assert(grid_node);
grid_node.append_attribute("Name") = mesh.name().c_str();
grid_node.append_attribute("GridType") = "Uniform";
- // Open a HDF5 file if using HDF5 encoding (truncate)
- hid_t h5_id = -1;
- #ifdef HAS_HDF5
- std::unique_ptr<HDF5File> h5_file;
- if (encoding == Encoding::HDF5)
- {
- // Open file
- h5_file.reset(new HDF5File(mesh.mpi_comm(), get_hdf5_filename(_filename), "w"));
- dolfin_assert(h5_file);
-
- // Get file handle
- h5_id = h5_file->h5_id();
- }
- #endif
-
- // Add topology node and attributes (including writa data)
+ // Add topology node and attributes (including writing data)
const int tdim = mesh.topology().dim();
- const std::int64_t num_global_cells = mesh.size_global(tdim) ;
+ const std::int64_t num_global_cells = mesh.size_global(tdim);
if (num_global_cells < 1e9)
- add_topology_data<std::int32_t>(_mpi_comm, grid_node, h5_id, "/Mesh", mesh);
+ add_topology_data<std::int32_t>(comm, grid_node, h5_id, path_prefix,
+ mesh, tdim);
else
- add_topology_data<std::int64_t>(_mpi_comm, grid_node, h5_id, "/Mesh", mesh);
-
- // Add geometry node and attributes (including writa data)
- add_geometry_data(_mpi_comm, grid_node, h5_id, "/Mesh", mesh);
+ add_topology_data<std::int64_t>(comm, grid_node, h5_id, path_prefix,
+ mesh, tdim);
- // Save XML file (on process 0 only)
- if (MPI::rank(_mpi_comm) == 0)
- xml_doc.save_file(_filename.c_str(), " ");
+ // Add geometry node and attributes (including writing data)
+ add_geometry_data(comm, grid_node, h5_id, path_prefix, mesh);
}
-//----------------------------------------------------------------------------
-void XDMFFile::read_new(Mesh& mesh) const
+//-----------------------------------------------------------------------------
+void XDMFFile::read(Mesh& mesh) const
{
- // FIXME: check for duplicated XML nodes
-
- // Extract parent filepath (required to HDF5 when XDMF stores relative path
+ // Extract parent filepath (required by HDF5 when XDMF stores relative path
// of the HDF5 files(s) and the XDMF is not opened from its own directory)
boost::filesystem::path xdmf_filename(_filename);
const boost::filesystem::path parent_path = xdmf_filename.parent_path();
@@ -839,7 +991,7 @@ void XDMFFile::read_new(Mesh& mesh) const
if (!boost::filesystem::exists(xdmf_filename))
{
dolfin_error("XDMFFile.cpp",
- "opening check that XDMF file",
+ "open XDMF file",
"XDMF file \"%s\" does not exist", _filename.c_str());
}
@@ -865,10 +1017,11 @@ void XDMFFile::read_new(Mesh& mesh) const
dolfin_assert(topology_node);
// Get cell type
- const std::string cell_type_str = get_cell_type(topology_node);
+ const auto cell_type_str = get_cell_type(topology_node);
+ const int degree = cell_type_str.second;
// Get toplogical dimensions
- std::unique_ptr<CellType> cell_type(CellType::create(cell_type_str));
+ std::unique_ptr<CellType> cell_type(CellType::create(cell_type_str.first));
dolfin_assert(cell_type);
const int tdim = cell_type->dim();
const std::int64_t num_cells_global = get_num_cells(topology_node);
@@ -908,10 +1061,19 @@ void XDMFFile::read_new(Mesh& mesh) const
if (MPI::size(_mpi_comm) == 1)
{
- build_mesh(mesh, cell_type_str, num_points_global, num_cells_global,
- cell_type->num_vertices(),
- tdim, gdim, topology_data_node, geometry_data_node,
- parent_path);
+ if (degree == 1)
+ {
+ build_mesh(mesh, *cell_type, num_points_global, num_cells_global,
+ tdim, gdim, topology_data_node, geometry_data_node,
+ parent_path);
+ }
+ else
+ {
+ dolfin_assert(degree == 2);
+ build_mesh_quadratic(mesh, *cell_type, num_points_global, num_cells_global,
+ tdim, gdim, topology_data_node, geometry_data_node,
+ parent_path);
+ }
}
else
{
@@ -919,7 +1081,7 @@ void XDMFFile::read_new(Mesh& mesh) const
LocalMeshData local_mesh_data(_mpi_comm);
build_local_mesh_data(local_mesh_data, *cell_type, num_points_global,
num_cells_global,
- cell_type->num_vertices(), tdim, gdim,
+ tdim, gdim,
topology_data_node, geometry_data_node,
parent_path);
local_mesh_data.check();
@@ -930,16 +1092,104 @@ void XDMFFile::read_new(Mesh& mesh) const
}
}
//----------------------------------------------------------------------------
-void XDMFFile::build_mesh(Mesh& mesh, std::string cell_type_str,
+void XDMFFile::build_mesh_quadratic(Mesh& mesh, const CellType& cell_type,
+ std::int64_t num_points, std::int64_t num_cells,
+ int tdim, int gdim,
+ const pugi::xml_node& topology_dataset_node,
+ const pugi::xml_node& geometry_dataset_node,
+ const boost::filesystem::path& relative_path)
+{
+
+ // Get the topology data
+ dolfin_assert(topology_dataset_node);
+ std::vector<std::int32_t> topology_data
+ = get_dataset<std::int32_t>(mesh.mpi_comm(), topology_dataset_node,
+ relative_path);
+ dolfin_assert(topology_data.size()%num_cells == 0);
+ const int num_points_per_cell = topology_data.size()/num_cells;
+ const int num_vertices_per_cell = cell_type.num_entities(0);
+ const int num_edges_per_cell = cell_type.num_entities(1);
+ dolfin_assert(num_points_per_cell == num_vertices_per_cell + num_edges_per_cell);
+
+ const boost::const_multi_array_ref<std::int32_t, 2>
+ topology_data_array(topology_data.data(),
+ boost::extents[num_cells][num_points_per_cell]);
+
+ // Get set of indices for vertices
+ dolfin::Set<std::int32_t> vertex_indices;
+ for(unsigned int i = 0; i < num_cells; ++i)
+ {
+ for (int j = 0; j < num_vertices_per_cell; ++j)
+ vertex_indices.insert(topology_data_array[i][j]);
+ }
+ vertex_indices.sort();
+
+ // Get the geometry data
+ dolfin_assert(geometry_dataset_node);
+ std::vector<double> geometry_data
+ = get_dataset<double>(mesh.mpi_comm(), geometry_dataset_node,
+ relative_path);
+
+ MeshEditor mesh_editor;
+ mesh_editor.open(mesh, cell_type.cell_type(), tdim, gdim, 2);
+
+ mesh_editor.init_vertices(vertex_indices.size());
+ int c = 0;
+ for (const auto &q : vertex_indices.set())
+ {
+ mesh_editor.add_vertex(c, Point(gdim, &geometry_data[q*gdim]));
+ ++c;
+ }
+
+ mesh_editor.init_cells(num_cells);
+ std::vector<unsigned int> pts(num_vertices_per_cell);
+ for(int i = 0; i < num_cells; ++i)
+ {
+ for (int j = 0; j < num_vertices_per_cell; ++j)
+ {
+ pts[j] = std::lower_bound(vertex_indices.set().begin(),
+ vertex_indices.set().end(),
+ topology_data_array[i][j])
+ - vertex_indices.set().begin();
+ }
+ mesh_editor.add_cell(i, pts);
+ }
+
+ std::vector<std::size_t> edge_mapping;
+ if (tdim == 1)
+ edge_mapping = {0};
+ else if (tdim == 2)
+ edge_mapping = {1, 2, 0};
+ else
+ edge_mapping = {5, 4, 1, 3, 2, 0};
+
+ mesh_editor.init_entities();
+ for(unsigned int i = 0; i < num_cells; ++i)
+ {
+ unsigned int j = 0;
+ for (EdgeIterator e(Cell(mesh, i)); !e.end(); ++e)
+ {
+ // fixme: permute j
+ const int32_t c = topology_data_array[i][num_vertices_per_cell + edge_mapping[j]];
+ Point p(gdim, &geometry_data[c*gdim]);
+ mesh_editor.add_entity_point(1, 0, e->index(), p);
+ ++j;
+ }
+ }
+ mesh_editor.close();
+
+}
+//-----------------------------------------------------------------------------
+void XDMFFile::build_mesh(Mesh& mesh, const CellType& cell_type,
std::int64_t num_points, std::int64_t num_cells,
- int num_points_per_cell,
int tdim, int gdim,
const pugi::xml_node& topology_dataset_node,
const pugi::xml_node& geometry_dataset_node,
const boost::filesystem::path& relative_path)
{
MeshEditor mesh_editor;
- mesh_editor.open(mesh, cell_type_str, tdim, gdim);
+
+ mesh_editor.open(mesh, cell_type.cell_type(), tdim, gdim);
// Get topology data vector and add to mesh
{
@@ -951,10 +1201,11 @@ void XDMFFile::build_mesh(Mesh& mesh, std::string cell_type_str,
// Check dims
- // Prepate mesh editor for addition of cells
+ // Prepare mesh editor for addition of cells
mesh_editor.init_cells_global(num_cells, num_cells);
// Prepare mesh editor for addition of cells, and add cell topology
+ const int num_points_per_cell = cell_type.num_vertices();
std::vector<std::size_t> cell_topology(num_points_per_cell);
for (std::int64_t i = 0; i < num_cells; ++i)
{
@@ -990,10 +1241,9 @@ void XDMFFile::build_mesh(Mesh& mesh, std::string cell_type_str,
void
XDMFFile::build_local_mesh_data(LocalMeshData& local_mesh_data,
const CellType& cell_type,
- const std::int64_t num_points_global,
- const std::int64_t num_cells_global,
- const int num_points_per_cell,
- const int tdim, const int gdim,
+ std::int64_t num_points_global,
+ std::int64_t num_cells_global,
+ int tdim, int gdim,
const pugi::xml_node& topology_dataset_node,
const pugi::xml_node& geometry_dataset_node,
const boost::filesystem::path& relative_path)
@@ -1072,35 +1322,47 @@ XDMFFile::build_local_mesh_data(LocalMeshData& local_mesh_data,
template<typename T>
void XDMFFile::add_topology_data(MPI_Comm comm, pugi::xml_node& xml_node,
hid_t h5_id, const std::string path_prefix,
- const Mesh& mesh)
+ const Mesh& mesh, int cell_dim)
{
- // Get topological dimension
- const int tdim = mesh.topology().dim();
-
// Get number of cells (global) and vertices per cell from mesh
- const std::int64_t num_cells = mesh.topology().size_global(tdim);
- const int num_vertices_per_cell = mesh.type().num_vertices(tdim);
+ const std::int64_t num_cells = mesh.topology().size_global(cell_dim);
+ int num_nodes_per_cell = mesh.type().num_vertices(cell_dim);
+ const int degree = mesh.geometry().degree();
+ if (degree == 2)
+ {
+ dolfin_assert(cell_dim == (int)mesh.topology().dim());
+ num_nodes_per_cell += mesh.type().num_entities(1);
+ }
// Get VTK string for cell type
const std::string vtk_cell_str
- = vtk_cell_type_str(mesh.type().entity_type(tdim), 1);
+ = vtk_cell_type_str(mesh.type().entity_type(cell_dim), degree);
pugi::xml_node topology_node = xml_node.append_child("Topology");
dolfin_assert(topology_node);
topology_node.append_attribute("NumberOfElements") = std::to_string(num_cells).c_str();
topology_node.append_attribute("TopologyType") = vtk_cell_str.c_str();
- topology_node.append_attribute("NodesPerElement") = num_vertices_per_cell;
+ topology_node.append_attribute("NodesPerElement") = num_nodes_per_cell;
// Compute packed topology data
- std::vector<T> topology_data = compute_topology_data<T>(mesh, tdim);
+ std::vector<T> topology_data;
+
+ dolfin_assert(degree == 1 or degree == 2);
+ if (degree == 1)
+ topology_data = compute_topology_data<T>(mesh, cell_dim);
+ else
+ topology_data = compute_quadratic_topology<T>(mesh);
// Add topology DataItem node
const std::string group_name = path_prefix + "/" + mesh.name();
const std::string h5_path = group_name + "/topology";
- const std::vector<std::int64_t> shape = {num_cells, num_vertices_per_cell};
- add_data_item(comm, topology_node, h5_id, h5_path, topology_data, shape);
+ const std::vector<std::int64_t> shape = {num_cells, num_nodes_per_cell};
+ const std::string number_type = "UInt";
+
+ add_data_item(comm, topology_node, h5_id, h5_path,
+ topology_data, shape, number_type);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void XDMFFile::add_geometry_data(MPI_Comm comm, pugi::xml_node& xml_node,
hid_t h5_id, const std::string path_prefix,
const Mesh& mesh)
@@ -1110,23 +1372,24 @@ void XDMFFile::add_geometry_data(MPI_Comm comm, pugi::xml_node& xml_node,
// Compute number of points (global) in mesh (equal to number of vertices
// for affine meshes)
- std::int64_t num_points = 0;
- for (std::size_t i = 0; i <= mesh.topology().dim(); ++i)
- {
- num_points +=
- mesh_geometry.num_entity_coordinates(i)*mesh.size_global(i);
- }
+ const int degree = mesh_geometry.degree();
+ dolfin_assert(degree == 1 or degree == 2);
+ const std::int64_t num_points
+ = (degree == 1) ? mesh.size_global(0) : (mesh.size(0) + mesh.size(1));
// Add geometry node and attributes
pugi::xml_node geometry_node = xml_node.append_child("Geometry");
dolfin_assert(geometry_node);
dolfin_assert(gdim > 0 and gdim <= 3);
- const std::string geometry_type = ( gdim == 1 or gdim == 2) ? "XY" : "XYZ";
+ const std::string geometry_type = (gdim == 3) ? "XYZ" : "XY";
geometry_node.append_attribute("GeometryType") = geometry_type.c_str();
// Pack geometry data
- std::vector<double> x
- = DistributedMeshTools::reorder_vertices_by_global_indices(mesh);
+ std::vector<double> x;
+ if (degree == 1)
+ x = DistributedMeshTools::reorder_vertices_by_global_indices(mesh);
+ else
+ x = mesh_geometry.x();
// XDMF does not support 1D, so handle as special case
if (gdim == 1)
@@ -1139,17 +1402,19 @@ void XDMFFile::add_geometry_data(MPI_Comm comm, pugi::xml_node& xml_node,
std::swap(x, _x);
}
- // Add geometry ad DataItem node
+ // Add geometry DataItem node
const std::string group_name = path_prefix + "/" + mesh.name();
const std::string h5_path = group_name + "/geometry";
const std::vector<std::int64_t> shape = {num_points, gdim};
+
add_data_item(comm, geometry_node, h5_id, h5_path, x, shape);
}
-//----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
template<typename T>
void XDMFFile::add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
hid_t h5_id, const std::string h5_path, const T& x,
- const std::vector<std::int64_t> shape)
+ const std::vector<std::int64_t> shape,
+ const std::string number_type)
{
// Add DataItem node
dolfin_assert(xml_node);
@@ -1160,15 +1425,21 @@ void XDMFFile::add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
data_item_node.append_attribute("Dimensions")
= container_to_string(shape, " ", 16).c_str();
+ // Set type for topology data (needed by XDMF to prevent default to float)
+ if (!number_type.empty())
+ data_item_node.append_attribute("NumberType") = number_type.c_str();
+
// Add format attribute
if (h5_id < 0)
{
data_item_node.append_attribute("Format") = "XML";
- data_item_node.append_child(pugi::node_pcdata).set_value(container_to_string(x, " ", 16).c_str());
+ dolfin_assert(shape.size() == 2);
+ data_item_node.append_child(pugi::node_pcdata)
+ .set_value(container_to_string(x, " ", 16, shape[1]).c_str());
}
else
{
- #ifdef HAS_HDF5
+#ifdef HAS_HDF5
data_item_node.append_attribute("Format") = "HDF";
// Get name of HDF5 file
@@ -1184,6 +1455,7 @@ void XDMFFile::add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
std::int64_t num_items_total = 1;
for (auto n : shape)
num_items_total *= n;
+
dolfin_assert(num_items_total == (std::int64_t) MPI::sum(comm, x.size()));
// Compute data offset and range of values
@@ -1197,18 +1469,69 @@ void XDMFFile::add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
const std::pair<std::int64_t, std::int64_t> local_range
= {offset, offset + local_shape0};
- const bool use_mpi_io = MPI::size(comm) == 1 ? false : true;
+ const bool use_mpi_io = (MPI::size(comm) > 1);
HDF5Interface::write_dataset(h5_id, h5_path, x, local_range, shape, use_mpi_io,
false);
- #else
+
+ // Add partitioning attribute to dataset
+ std::vector<std::size_t> partitions;
+ std::vector<std::size_t> offset_tmp(1, offset);
+ MPI::gather(comm, offset_tmp, partitions);
+ MPI::broadcast(comm, partitions);
+ HDF5Interface::add_attribute(h5_id, h5_path, "partition", partitions);
+
+#else
// Should never reach this point
dolfin_error("XDMFFile.cpp",
"add dataitem",
- "DOLFIN has not been configured with hdf5_dataset");
- #endif
+ "DOLFIN has not been configured with HDF5");
+#endif
}
}
//----------------------------------------------------------------------------
+std::set<unsigned int>
+XDMFFile::compute_nonlocal_entities(const Mesh& mesh, int cell_dim)
+{
+ // If not already numbered, number entities of
+ // order cell_dim so we can get shared_entities
+ DistributedMeshTools::number_entities(mesh, cell_dim);
+
+ const std::size_t mpi_rank = MPI::rank(mesh.mpi_comm());
+ const std::map<std::int32_t, std::set<unsigned int>>& shared_entities
+ = mesh.topology().shared_entities(cell_dim);
+
+ std::set<unsigned int> non_local_entities;
+
+ const std::size_t tdim = mesh.topology().dim();
+ bool ghosted
+ = (mesh.topology().size(tdim) > mesh.topology().ghost_offset(tdim));
+
+ if (!ghosted)
+ {
+ // No ghost cells - exclude shared entities
+ // which are on lower rank processes
+ for (const auto &e : shared_entities)
+ {
+ const unsigned int lowest_rank_owner = *(e.second.begin());
+ if (lowest_rank_owner < mpi_rank)
+ non_local_entities.insert(e.first);
+ }
+ }
+ else
+ {
+ // Iterate through ghost cells, adding non-ghost entities
+ // which are in lower rank process cells
+ for (MeshEntityIterator c(mesh, tdim, "ghost"); !c.end(); ++c)
+ {
+ const unsigned int cell_owner = c->owner();
+ for (MeshEntityIterator e(*c, cell_dim); !e.end(); ++e)
+ if (!e->is_ghost() && cell_owner < mpi_rank)
+ non_local_entities.insert(e->index());
+ }
+ }
+ return non_local_entities;
+}
+//-----------------------------------------------------------------------------
template<typename T>
std::vector<T> XDMFFile::compute_topology_data(const Mesh& mesh, int cell_dim)
{
@@ -1220,91 +1543,57 @@ std::vector<T> XDMFFile::compute_topology_data(const Mesh& mesh, int cell_dim)
// Get mesh communicator
MPI_Comm comm = mesh.mpi_comm();
- // Pack data
const std::vector<std::int8_t> perm = mesh.type().vtk_mapping();
- if (MPI::size(comm) == 1)
- {
- // Simple case when mesh is not distributed
- const std::vector<size_t>& global_vertices = mesh.topology().global_indices(0);
- for (MeshEntityIterator c(mesh, cell_dim); !c.end(); ++c)
- {
- const unsigned int* entities = c->entities(0);
- for (unsigned int i = 0; i != c->num_entities(0); ++i)
- topology_data.push_back(global_vertices[entities[perm[i]]]);
- }
- }
- else
+ const int tdim = mesh.topology().dim();
+ if (MPI::size(comm) == 1 or cell_dim == tdim)
{
- // If not already numbered, number entities of order tdim so
- // we can get shared_entities
- DistributedMeshTools::number_entities(mesh, cell_dim);
-
- // Check if mesh has ghost layers
- const MeshTopology& topology = mesh.topology();
- const bool ghosted = (topology.size(cell_dim) == topology.ghost_offset(cell_dim));
-
- // Get MPI rank
- const int mpi_rank = MPI::rank(comm);
-
- // Build set of entities that are on this process but which
- // should not be output by this process because they will be output
- // by another process.
- std::set<int> non_local_entities;
- if (!ghosted)
+ // Simple case when nothing is shared between processes
+ if (cell_dim == 0)
{
- // Get shared entities
- const std::map<std::int32_t, std::set<unsigned int>>& shared_entities
- = mesh.topology().shared_entities(cell_dim);
-
- // Iterate over shared entities, and add to exlcusion set
- // if there is a lower rank process with the entity
- for (auto e = shared_entities.begin(); e != shared_entities.end(); ++e)
- {
- const int lowest_rank_owner = *(e->second.begin());
- if (lowest_rank_owner < mpi_rank)
- non_local_entities.insert(e->first);
- }
+ for (VertexIterator v(mesh); !v.end(); ++v)
+ topology_data.push_back(v->global_index());
}
else
{
- // Iterate through ghost cells, adding non-ghost entities
- // which are in lower rank process cells to a set for
- // exclusion from output
- for (MeshEntityIterator c(mesh, cell_dim, "ghost"); !c.end(); ++c)
+ const auto& global_vertices
+ = mesh.topology().global_indices(0);
+ for (MeshEntityIterator c(mesh, cell_dim); !c.end(); ++c)
{
- const int cell_owner = c->owner();
- for (MeshEntityIterator e(*c, cell_dim); !e.end(); ++e)
- {
- if (!e->is_ghost() and cell_owner < mpi_rank)
- non_local_entities.insert(e->index());
- }
+ const unsigned int* entities = c->entities(0);
+ for (unsigned int i = 0; i != c->num_entities(0); ++i)
+ topology_data.push_back(global_vertices[entities[perm[i]]]);
}
}
+ }
+ else
+ {
+ std::set<unsigned int> non_local_entities
+ = compute_nonlocal_entities(mesh, cell_dim);
- // Generate topology data for this process, with special case
- // for mesh of points
- topology_data.reserve(mesh.num_entities(cell_dim)*(num_vertices_per_cell));
if (cell_dim == 0)
{
+ // Special case for mesh of points
for (VertexIterator v(mesh); !v.end(); ++v)
{
- if (non_local_entities.find(v->index()) == non_local_entities.end())
+ if (non_local_entities.find(v->index())
+ == non_local_entities.end())
topology_data.push_back(v->global_index());
}
}
else
{
// Local-to-global map for point indices
- const std::vector<std::size_t>& global_vertices
+ const auto& global_vertices
= mesh.topology().global_indices(0);
for (MeshEntityIterator e(mesh, cell_dim); !e.end(); ++e)
{
// If not excluded, add to topology
- if (non_local_entities.find(e->index()) == non_local_entities.end())
+ if (non_local_entities.find(e->index())
+ == non_local_entities.end())
{
for (unsigned int i = 0; i != e->num_entities(0); ++i)
{
- const int local_idx = e->entities(0)[perm[i]];
+ const unsigned int local_idx = e->entities(0)[perm[i]];
topology_data.push_back(global_vertices[local_idx]);
}
}
@@ -1314,20 +1603,120 @@ std::vector<T> XDMFFile::compute_topology_data(const Mesh& mesh, int cell_dim)
return topology_data;
}
+//-----------------------------------------------------------------------------
+template<typename T>
+std::vector<T> XDMFFile::compute_quadratic_topology(const Mesh& mesh)
+{
+ const MeshGeometry& geom = mesh.geometry();
+
+ if (geom.degree() != 2 or MPI::size(mesh.mpi_comm()) != 1)
+ {
+ dolfin_error("XDMFFile.cpp",
+ "create topology data",
+ "XDMF quadratic mesh only supported in serial");
+ }
+
+ const std::size_t tdim = mesh.topology().dim();
+ std::vector<std::size_t> edge_mapping;
+ if (tdim == 1)
+ edge_mapping = {0};
+ else if (tdim == 2)
+ edge_mapping = {2, 0, 1};
+ else
+ edge_mapping = {5, 2, 4, 3, 1, 0};
+
+ // Get number of points per cell
+ const CellType& celltype = mesh.type();
+ std::size_t npoint = celltype.num_entities(0) + celltype.num_entities(1);
+ std::vector<T> topology_data;
+ topology_data.reserve(npoint*mesh.size(tdim));
+
+ for (CellIterator c(mesh); !c.end(); ++c)
+ {
+ // Add indices for vertices and edges
+ for (unsigned int dim = 0; dim != 2; ++dim)
+ {
+ for (unsigned int i = 0; i != celltype.num_entities(dim); ++i)
+ {
+ std::size_t im = (dim == 0) ? i : edge_mapping[i];
+ const std::size_t entity_index
+ = (dim == tdim) ? c->index() : c->entities(dim)[im];
+ const std::size_t local_idx
+ = geom.get_entity_index(dim, 0, entity_index);
+ topology_data.push_back(local_idx);
+ }
+ }
+ }
+ return topology_data;
+}
+//-----------------------------------------------------------------------------
+template<typename T>
+std::vector<T> XDMFFile::compute_value_data(const MeshFunction<T>& meshfunction)
+{
+ // Create vector to store data
+ std::vector<T> value_data;
+ value_data.reserve(meshfunction.size());
+
+ // Get mesh communicator
+ const auto mesh = meshfunction.mesh();
+ MPI_Comm comm = mesh->mpi_comm();
+
+ const int tdim = mesh->topology().dim();
+ const int cell_dim = meshfunction.dim();
+
+ if (MPI::size(comm) == 1 or cell_dim == tdim)
+ {
+ // FIXME: fail with ghosts?
+ value_data.resize(meshfunction.size());
+ std::copy(meshfunction.values(),
+ meshfunction.values() + meshfunction.size(),
+ value_data.begin());
+ }
+ else
+ {
+ std::set<unsigned int> non_local_entities
+ = compute_nonlocal_entities(*mesh, cell_dim);
+
+ for (MeshEntityIterator e(*mesh, cell_dim); !e.end(); ++e)
+ {
+ if (non_local_entities.find(e->index())
+ == non_local_entities.end())
+ value_data.push_back(meshfunction[*e]);
+ }
+ }
+
+ return value_data;
+}
//----------------------------------------------------------------------------
-std::string XDMFFile::get_cell_type(const pugi::xml_node& topology_node)
+std::pair<std::string, int>
+XDMFFile::get_cell_type(const pugi::xml_node& topology_node)
{
dolfin_assert(topology_node);
pugi::xml_attribute type_attr = topology_node.attribute("TopologyType");
dolfin_assert(type_attr);
+ const std::map<std::string, std::pair<std::string, int>> xdmf_to_dolfin
+ = {
+ {"polyvertex", {"point", 1}},
+ {"polyline", {"interval", 1}},
+ {"edge_3", {"interval", 2}},
+ {"triangle", {"triangle", 1}},
+ {"tri_6", {"triangle", 2}},
+ {"tetrahedron", {"tetrahedron", 1}},
+ {"tet_10", {"tetrahedron", 2}}
+ };
+
// Convert XDMF cell type string to DOLFIN cell type string
std::string cell_type = type_attr.as_string();
boost::algorithm::to_lower(cell_type);
- if (cell_type == "polyline")
- cell_type = "interval";
-
- return cell_type;
+ auto it = xdmf_to_dolfin.find(cell_type);
+ if (it == xdmf_to_dolfin.end())
+ {
+ dolfin_error("XDMFFile.cpp",
+ "recognise cell type",
+ "Unknown value \"%s\"", cell_type.c_str());
+ }
+ return it->second;
}
//----------------------------------------------------------------------------
std::vector<std::int64_t>
@@ -1400,10 +1789,10 @@ std::vector<T> XDMFFile::get_dataset(MPI_Comm comm,
// FIXME: Need to sort out datasset dimensions - can't depend on
// HDF5 shape, and a Topology data item is not required to have a
// 'Dimensions' attribute since the dimensions can be determined
- // from the number of cells and the cell type (for topology, once
+ // from the number of cells and the cell type (for topology, one
// must supply cell type + (number of cells or dimensions).
//
- // A geometry data item must have 'Dimensions' attribute
+ // A geometry data item must have 'Dimensions' attribute.
dolfin_assert(dataset_node);
pugi::xml_attribute format_attr = dataset_node.attribute("Format");
@@ -1437,7 +1826,7 @@ std::vector<T> XDMFFile::get_dataset(MPI_Comm comm,
{
#ifdef HAS_HDF5
// Get file and data path
- auto paths = XDMFxml::get_hdf5_paths(dataset_node);
+ auto paths = get_hdf5_paths(dataset_node);
// Handle cases where file path is (a) absolute or (b) relative
boost::filesystem::path h5_filepath(paths[0]);
@@ -1530,68 +1919,264 @@ std::array<std::string, 2> XDMFFile::get_hdf5_paths(const pugi::xml_node& datait
dolfin_assert(dataitem_node);
xmlutils::check_node_name(dataitem_node, "DataItem");
- // Check that format is HDF
- pugi::xml_attribute format_attr = dataitem_node.attribute("Format");
- dolfin_assert(format_attr);
- const std::string format = format_attr.as_string();
- if (format.compare("HDF") != 0)
+ // Check that format is HDF
+ pugi::xml_attribute format_attr = dataitem_node.attribute("Format");
+ dolfin_assert(format_attr);
+ const std::string format = format_attr.as_string();
+ if (format.compare("HDF") != 0)
+ {
+ dolfin_error("XDMFFile.cpp",
+ "extracting HDF5 filename and data path",
+ "DataItem format \"%s\" is not \"HDF\"", format.c_str());
+ }
+
+ // Get path data
+ pugi::xml_node path_node = dataitem_node.first_child();
+ dolfin_assert(path_node);
+
+ // Create string from path and trim leading and trailing whitespace
+ std::string path = path_node.text().get();
+ boost::algorithm::trim(path);
+
+ // Split string into file path and HD5 internal path
+ std::vector<std::string> paths;
+ boost::split(paths, path, boost::is_any_of(":"));
+ dolfin_assert(paths.size() == 2);
+
+ return {{paths[0], paths[1]}};
+}
+//-----------------------------------------------------------------------------
+template<typename T>
+void XDMFFile::read_mesh_function(MeshFunction<T>& meshfunction,
+ std::string name)
+{
+ // Load XML doc from file
+ pugi::xml_document xml_doc;
+ pugi::xml_parse_result result = xml_doc.load_file(_filename.c_str());
+ dolfin_assert(result);
+
+ // Get XDMF node
+ pugi::xml_node xdmf_node = xml_doc.child("Xdmf");
+ dolfin_assert(xdmf_node);
+
+ // Get domain node
+ pugi::xml_node domain_node = xdmf_node.child("Domain");
+ dolfin_assert(domain_node);
+
+ // Check all top level Grid nodes for suitable dataset
+ pugi::xml_node grid_node;
+ for (pugi::xml_node node: domain_node.children("Grid"))
+ {
+ pugi::xml_node value_node = node.child("Attribute");
+ if (value_node and (name == "" or name == value_node.attribute("Name").as_string()))
+ {
+ grid_node = node;
+ break;
+ }
+ }
+
+ // Check if a TimeSeries (old format), in which case the Grid will be down one level
+ if (!grid_node)
+ {
+ pugi::xml_node grid_node1 = domain_node.child("Grid");
+ if (grid_node1)
+ {
+ for (pugi::xml_node node: grid_node1.children("Grid"))
+ {
+ pugi::xml_node value_node = node.child("Attribute");
+ if (value_node and (name == "" or name == value_node.attribute("Name").as_string()))
+ {
+ grid_node = node;
+ break;
+ }
+ }
+ }
+ }
+
+ // Still can't find it
+ if (!grid_node)
{
dolfin_error("XDMFFile.cpp",
- "extracting HDF5 filename and data path",
- "DataItem format \"%s\" is not \"HDF\"", format.c_str());
+ "open MeshFunction for reading",
+ "Mesh Grid with data Attribute not found in XDMF");
}
- // Get path data
- pugi::xml_node path_node = dataitem_node.first_child();
- dolfin_assert(path_node);
+ // Get topology node
+ pugi::xml_node topology_node = grid_node.child("Topology");
+ dolfin_assert(topology_node);
- // Create string from path and trim leading and trailing whitespace
- std::string path = path_node.text().get();
- boost::algorithm::trim(path);
+ // Get value node
+ pugi::xml_node value_node = grid_node.child("Attribute");
+ dolfin_assert(value_node);
- // Split string into file path and HD5 internal path
- std::vector<std::string> paths;
- boost::split(paths, path, boost::is_any_of(":"));
- dolfin_assert(paths.size() == 2);
+ // Get existing Mesh of MeshFunction
+ const auto mesh = meshfunction.mesh();
- return {{paths[0], paths[1]}};
+ // Get cell type and topology of MeshFunction (may be different from Mesh)
+ const auto cell_type_str = get_cell_type(topology_node);
+ dolfin_assert(cell_type_str.second == 1);
+ std::unique_ptr<CellType> cell_type(CellType::create(cell_type_str.first));
+ dolfin_assert(cell_type);
+ const unsigned int num_vertices_per_cell = cell_type->num_entities(0);
+ const unsigned int cell_dim = cell_type->dim();
+ dolfin_assert(cell_dim == meshfunction.dim());
+ const std::size_t num_entities_global = get_num_cells(topology_node);
+
+ // Ensure size_global(cell_dim) is set and check dataset matches
+ DistributedMeshTools::number_entities(*mesh, cell_dim);
+ dolfin_assert(mesh->size_global(cell_dim) == num_entities_global);
+
+ boost::filesystem::path xdmf_filename(_filename);
+ const boost::filesystem::path parent_path = xdmf_filename.parent_path();
+
+ // Get topology dataset
+ pugi::xml_node topology_data_node = topology_node.child("DataItem");
+ dolfin_assert(topology_data_node);
+ const auto topology_data = get_dataset<std::int64_t>(mesh->mpi_comm(),
+ topology_data_node,
+ parent_path);
+ dolfin_assert(topology_data.size() % num_vertices_per_cell == 0);
+
+ // Get value dataset
+ pugi::xml_node value_data_node = value_node.child("DataItem");
+ dolfin_assert(value_data_node);
+ std::vector<T> value_data
+ = get_dataset<T>(_mpi_comm, value_data_node, parent_path);
+
+ // Scatter/gather data across processes
+ remap_meshfunction_data(meshfunction, topology_data, value_data);
}
//-----------------------------------------------------------------------------
-template<typename T>
-void XDMFFile::read_mesh_function(MeshFunction<T>& meshfunction)
+template <typename T>
+void XDMFFile::remap_meshfunction_data(MeshFunction<T>& meshfunction,
+ const std::vector<std::int64_t>& topology_data,
+ const std::vector<T>& value_data)
{
- dolfin_assert(_xml);
- _xml->read();
+ // Send the read data to each process on the basis of the first
+ // vertex of the entity, since we do not know the global_index
+ const int cell_dim = meshfunction.dim();
+ const auto mesh = meshfunction.mesh();
+ // FIXME : get vertices_per_entity properly
+ const int vertices_per_entity = meshfunction.dim() + 1;
+ const MPI_Comm comm = mesh->mpi_comm();
+ const std::size_t num_processes = MPI::size(comm);
+
+ // Wrap topology data in boost array
+ dolfin_assert(topology_data.size()%vertices_per_entity == 0);
+ const std::size_t num_entities = topology_data.size()/vertices_per_entity;
+
+ // Send (sorted) entity topology and data to a post-office process
+ // determined by the lowest global vertex index of the entity
+ std::vector<std::vector<std::int64_t>> send_topology(num_processes);
+ std::vector<std::vector<T>> send_values(num_processes);
+ const std::size_t max_vertex = mesh->size_global(0);
+ for (std::size_t i = 0; i < num_entities ; ++i)
+ {
+ std::vector<std::int64_t>
+ cell_topology(topology_data.begin() + i*vertices_per_entity,
+ topology_data.begin() + (i + 1)*vertices_per_entity);
+ std::sort(cell_topology.begin(), cell_topology.end());
+
+ // Use first vertex to decide where to send this data
+ const std::size_t destination_process
+ = MPI::index_owner(comm, cell_topology.front(), max_vertex);
+
+ send_topology[destination_process]
+ .insert(send_topology[destination_process].end(),
+ cell_topology.begin(),
+ cell_topology.end());
+ send_values[destination_process].push_back(value_data[i]);
+ }
- Encoding encoding = get_file_encoding();
- check_encoding(encoding);
+ std::vector<std::vector<std::int64_t>> receive_topology(num_processes);
+ std::vector<std::vector<T>> receive_values(num_processes);
+ MPI::all_to_all(comm, send_topology, receive_topology);
+ MPI::all_to_all(comm, send_values, receive_values);
+
+ // Generate requests for data from remote processes, based on the
+ // first vertex of the MeshEntities which belong on this process
+ // Send our process number, and our local index, so it can come back
+ // directly to the right place
+ std::vector<std::vector<std::int64_t>> send_requests(num_processes);
+ const std::size_t rank = MPI::rank(comm);
+ for (MeshEntityIterator cell(*mesh, cell_dim, "all"); !cell.end(); ++cell)
+ {
+ std::vector<std::int64_t> cell_topology;
+ for (VertexIterator v(*cell); !v.end(); ++v)
+ cell_topology.push_back(v->global_index());
+ std::sort(cell_topology.begin(), cell_topology.end());
+
+ // Use first vertex to decide where to send this request
+ std::size_t send_to_process = MPI::index_owner(comm,
+ cell_topology.front(),
+ max_vertex);
+ // Map to this process and local index by appending to send data
+ cell_topology.push_back(cell->index());
+ cell_topology.push_back(rank);
+ send_requests[send_to_process].insert(send_requests[send_to_process].end(),
+ cell_topology.begin(),
+ cell_topology.end());
+ }
- if (encoding == Encoding::HDF5)
+ std::vector<std::vector<std::int64_t>> receive_requests(num_processes);
+ MPI::all_to_all(comm, send_requests, receive_requests);
+
+ // At this point, the data with its associated vertices is in
+ // receive_values and receive_topology and the final destinations
+ // are stored in receive_requests as
+ // [vertices][index][process][vertices][index][process]... Some
+ // data will have more than one destination
+
+ // Create a mapping from the topology vector to the desired data
+ std::map<std::vector<std::int64_t>, T> cell_to_data;
+
+ for (std::size_t i = 0; i < receive_values.size(); ++i)
{
-#ifdef HAS_HDF5
- const std::string data_name = _xml->dataname();
- if (_hdf5_filemode != "r")
+ dolfin_assert(receive_values[i].size()*vertices_per_entity
+ == receive_topology[i].size());
+ auto p = receive_topology[i].begin();
+ for (std::size_t j = 0; j < receive_values[i].size(); ++j)
{
- _hdf5_file.reset(new HDF5File(_mpi_comm, get_hdf5_filename(_filename), "r"));
- _hdf5_filemode = "r";
+ const std::vector<std::int64_t> cell(p, p + vertices_per_entity);
+ cell_to_data.insert({cell, receive_values[i][j]});
+ p += vertices_per_entity;
}
- dolfin_assert(_hdf5_file);
-
- // Try to read the meshfunction from the associated HDF5 file
- _hdf5_file->read(meshfunction, "/Mesh/" + data_name);
-#else
- dolfin_error("XDMFile.cpp", "open MeshFunction file", "Need HDF5 support");
-#endif
}
- else if (encoding == Encoding::ASCII)
+
+ // Clear vectors for reuse - now to send values and indices to final
+ // destination
+ send_topology = std::vector<std::vector<std::int64_t>>(num_processes);
+ send_values = std::vector<std::vector<T>>(num_processes);
+
+ // Go through requests, which are stacked as [vertex, vertex, ...]
+ // [index] [proc] etc. Use the vertices as the key for the map
+ // (above) to retrieve the data to send to proc
+ for (std::size_t i = 0; i < receive_requests.size(); ++i)
{
- std::vector<std::string> data_lines;
- const std::string data_set = _xml->get_first_data_set();
- boost::split(data_lines, data_set, boost::is_any_of("\n"));
+ for (auto p = receive_requests[i].begin();
+ p != receive_requests[i].end(); p += (vertices_per_entity + 2))
+ {
+ const std::vector<std::int64_t> cell(p, p + vertices_per_entity);
+ const std::size_t remote_index = *(p + vertices_per_entity);
+ const std::size_t send_to_proc = *(p + vertices_per_entity + 1);
+
+ const auto find_cell = cell_to_data.find(cell);
+ dolfin_assert(find_cell != cell_to_data.end());
+ send_values[send_to_proc].push_back(find_cell->second);
+ send_topology[send_to_proc].push_back(remote_index);
+ }
+ }
- const std::size_t n_lines = data_lines.size();
- for (std::size_t j = 0; j < n_lines; ++j)
- meshfunction[j] = boost::lexical_cast<T>(data_lines[j]);
+ MPI::all_to_all(comm, send_topology, receive_topology);
+ MPI::all_to_all(comm, send_values, receive_values);
+
+ // At this point, receive_topology should only list the local indices
+ // and received values should have the appropriate values for each
+ for (std::size_t i = 0; i < receive_values.size(); ++i)
+ {
+ dolfin_assert(receive_values[i].size() == receive_topology[i].size());
+ for (std::size_t j = 0; j < receive_values[i].size(); ++j)
+ meshfunction[receive_topology[i][j]] = receive_values[i][j];
}
}
//----------------------------------------------------------------------------
@@ -1611,270 +2196,367 @@ std::string XDMFFile::get_hdf5_filename(std::string xdmf_filename)
//----------------------------------------------------------------------------
template<typename T>
void XDMFFile::write_mesh_function(const MeshFunction<T>& meshfunction,
- std::string format, Encoding encoding)
+ Encoding encoding)
{
check_encoding(encoding);
+ if (meshfunction.size() == 0)
+ {
+ dolfin_error("XDMFFile.cpp",
+ "save empty MeshFunction",
+ "No values in MeshFunction");
+ }
+
// Get mesh
dolfin_assert(meshfunction.mesh());
std::shared_ptr<const Mesh> mesh = meshfunction.mesh();
+ // Check if _xml_doc already has data. If not, create an outer structure
+ // If it already has data, then we may append to it.
+
+ pugi::xml_node domain_node;
+ std::string hdf_filemode = "a";
+ if (_xml_doc->child("Xdmf").empty())
+ {
+ // Reset pugi
+ _xml_doc->reset();
+
+ // Add XDMF node and version attribute
+ _xml_doc->append_child(pugi::node_doctype).set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
+ pugi::xml_node xdmf_node = _xml_doc->append_child("Xdmf");
+ dolfin_assert(xdmf_node);
+ xdmf_node.append_attribute("Version") = "3.0";
+ xdmf_node.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
+
+ // Add domain node and add name attribute
+ domain_node = xdmf_node.append_child("Domain");
+ hdf_filemode = "w";
+ }
+ else
+ domain_node = _xml_doc->child("Xdmf").child("Domain");
+
+ dolfin_assert(domain_node);
+
+ // Open a HDF5 file if using HDF5 encoding
+ hid_t h5_id = -1;
#ifdef HAS_HDF5
+ std::unique_ptr<HDF5File> h5_file;
if (encoding == Encoding::HDF5)
{
- if (_hdf5_filemode != "w")
- {
- // Create HDF5 file (truncate)
- _hdf5_file.reset(new HDF5File(mesh->mpi_comm(), get_hdf5_filename(_filename), "w"));
- _hdf5_filemode = "w";
- }
+ // Open file
+ h5_file.reset(new HDF5File(mesh->mpi_comm(),
+ get_hdf5_filename(_filename), hdf_filemode));
+ dolfin_assert(h5_file);
+
+ // Get file handle
+ h5_id = h5_file->h5_id();
}
#endif
- if (meshfunction.size() == 0)
- {
- dolfin_error("XDMFFile.cpp",
- "save empty MeshFunction",
- "No values in MeshFunction");
- }
+ const std::string mf_name = "/MeshFunction/" + std::to_string(_counter);
+ // If adding a CellFunction to an existing Mesh, do not rewrite Mesh
+ // FIXME: do some checks on the existing Mesh to make sure it is the same
+ // as the meshfunction's mesh.
+ pugi::xml_node grid_node = domain_node.child("Grid");
const std::size_t cell_dim = meshfunction.dim();
- CellType::Type cell_type = mesh->type().entity_type(cell_dim);
+ const std::size_t tdim = mesh->topology().dim();
+ const bool grid_empty = grid_node.empty();
- if (encoding == Encoding::HDF5)
+ // Check existing Mesh for compatibility.
+ if (!grid_empty)
{
-#ifdef HAS_HDF5
- // Use HDF5 function to output MeshFunction
- const std::string h5_mesh_name = "/Mesh/" + std::to_string(_counter);
- boost::filesystem::path p(get_hdf5_filename(_filename));
- _current_mesh_name = p.filename().string() + ":" + h5_mesh_name;
- _hdf5_file->write(meshfunction, h5_mesh_name);
-#endif
+ pugi::xml_node topology_node = grid_node.child("Topology");
+ dolfin_assert(topology_node);
+ auto cell_type_str = get_cell_type(topology_node);
+ if (CellType::type2string(mesh->type().cell_type()) != cell_type_str.first)
+ {
+ dolfin_error("XDMFFile.cpp",
+ "add MeshFunction to XDMF",
+ "Incompatible Mesh type. Try writing the Mesh to XDMF first");
+ }
}
- else if (encoding == Encoding::ASCII)
- _current_mesh_name = "/Xdmf/Domain/Grid";
-
- // Saved MeshFunction values are in the /Mesh group
- const std::string dataset_name = _current_mesh_name + "/values";
- bool time_series = parameters["time_series"];
-
- if (MPI::rank(mesh->mpi_comm()) == 0)
+ if (grid_empty or cell_dim != tdim)
{
- dolfin_assert(_xml);
- const std::string meshfunction_name = meshfunction.name();
- if (time_series)
- _xml->init_timeseries(meshfunction_name, (double) _counter, _counter);
+ // Make new grid node
+ grid_node = domain_node.append_child("Grid");
+ dolfin_assert(grid_node);
+ grid_node.append_attribute("Name") = mesh->name().c_str();
+ grid_node.append_attribute("GridType") = "Uniform";
+
+ // Make sure entities are numbered - only needed for Edge in 3D in parallel
+ // FIXME: remove this once Edge in 3D in parallel works properly
+ DistributedMeshTools::number_entities(*mesh, cell_dim);
+
+ const std::int64_t num_global_cells = mesh->size_global(cell_dim);
+ if (num_global_cells < 1e9)
+ add_topology_data<std::int32_t>(_mpi_comm, grid_node, h5_id, mf_name,
+ *mesh, cell_dim);
else
- _xml->init_mesh(meshfunction_name);
+ add_topology_data<std::int64_t>(_mpi_comm, grid_node, h5_id, mf_name,
+ *mesh, cell_dim);
- if (encoding == Encoding::HDF5)
- {
- _xml->mesh_topology(cell_type, 1, mesh->size_global(cell_dim),
- _current_mesh_name + "/topology",
- xdmf_format_str(encoding));
- _xml->mesh_geometry(mesh->size_global(0), mesh->geometry().dim(),
- _current_mesh_name + "/coordinates",
- xdmf_format_str(encoding));
- _xml->data_attribute(meshfunction_name, 0, false, mesh->size_global(0),
- mesh->size_global(cell_dim), 1, dataset_name,
- xdmf_format_str(encoding));
- }
- else if (encoding == Encoding::ASCII)
+ // Add geometry node if none already, else link back to first existing Mesh
+ if (grid_empty)
+ add_geometry_data(_mpi_comm, grid_node, h5_id, mf_name, *mesh);
+ else
{
- // Add the mesh topology and geometry to the xml data
- _xml->mesh_topology(cell_type, 1, mesh->size_global(cell_dim),
- generate_xdmf_ascii_mesh_topology_data(*mesh,
- cell_dim),
- xdmf_format_str(encoding));
-
- _xml->mesh_geometry(mesh->size_global(0), mesh->geometry().dim(),
- generate_xdmf_ascii_mesh_geometry_data(*mesh),
- xdmf_format_str(encoding));
-
- // Note: we use boost::container::vector rather than std::vector
- // to avoid well known problem with std::vector<bool>
- // No duplicates - ignore ghost cells if present
- boost::container::vector<T>
- data_values(meshfunction.values(), meshfunction.values()
- + mesh->topology().ghost_offset(cell_dim));
-
- _xml->data_attribute(meshfunction_name, 0, false, mesh->size_global(0),
- mesh->size_global(cell_dim), 1,
- generate_xdmf_ascii_data(data_values, format),
- xdmf_format_str(encoding));
+ // Add geometry node (reference)
+ pugi::xml_node geometry_node = grid_node.append_child("Geometry");
+ dolfin_assert(geometry_node);
+ geometry_node.append_attribute("Reference") = "XML";
+ geometry_node.append_child(pugi::node_pcdata)
+ .set_value("/Xdmf/Domain/Grid/Geometry");
}
-
- _xml->write();
}
+ // Add attribute node with values
+ pugi::xml_node attribute_node = grid_node.append_child("Attribute");
+ dolfin_assert(attribute_node);
+ attribute_node.append_attribute("Name") = meshfunction.name().c_str();
+ attribute_node.append_attribute("AttributeType") = "Scalar";
+ attribute_node.append_attribute("Center") = "Cell";
+
+ const std::int64_t num_values = mesh->size_global(cell_dim);
+ // Add attribute DataItem node and write data
+
+ // Copy values to vector, removing duplicates
+ std::vector<T> values = compute_value_data(meshfunction);
+
+ add_data_item(_mpi_comm, attribute_node, h5_id,
+ mf_name +"/values", values, {num_values, 1});
+
+ // Save XML file (on process 0 only)
+ if (MPI::rank(_mpi_comm) == 0)
+ _xml_doc->save_file(_filename.c_str(), " ");
+
+ // Increment the counter, so we can save multiple MeshFunctions in one file
++_counter;
}
//-----------------------------------------------------------------------------
-void XDMFFile::write_point_xml(const std::string group_name,
- const std::size_t num_global_points,
- const unsigned int value_size,
- Encoding encoding)
+std::vector<double> XDMFFile::get_cell_data_values(const Function& u)
{
- // FIXME: move to XDMFxml.cpp
+ dolfin_assert(u.function_space()->dofmap());
+ dolfin_assert(u.vector());
- // Write the XML meta description on process zero
- if (MPI::rank(_mpi_comm) == 0)
- {
- dolfin_assert(_xml);
- _xml->init_mesh("Point cloud");
+ const auto mesh = u.function_space()->mesh();
+ const std::size_t value_size = u.value_size();
+ const std::size_t value_rank = u.value_rank();
- // Point topology, no connectivity data
- _xml->mesh_topology(CellType::Type::point, 0, num_global_points, "",
- xdmf_format_str(encoding));
+ // Allocate memory for function values at cell centres
+ const std::size_t tdim = mesh->topology().dim();
+ const std::size_t num_local_cells = mesh->topology().ghost_offset(tdim);
+ const std::size_t local_size = num_local_cells*value_size;
+
+ // Build lists of dofs and create map
+ std::vector<dolfin::la_index> dof_set;
+ dof_set.reserve(local_size);
+ const auto dofmap = u.function_space()->dofmap();
+ for (CellIterator cell(*mesh); !cell.end(); ++cell)
+ {
+ // Tabulate dofs
+ const ArrayView<const dolfin::la_index> dofs
+ = dofmap->cell_dofs(cell->index());
+ const std::size_t ndofs = dofmap->num_element_dofs(cell->index());
+ dolfin_assert(ndofs == value_size);
+ for (std::size_t i = 0; i < ndofs; ++i)
+ dof_set.push_back(dofs[i]);
+ }
- // Describe geometric coordinates
- // FIXME: assumes 3D
- boost::filesystem::path p(get_hdf5_filename(_filename));
- _xml->mesh_geometry(num_global_points, 3,
- p.filename().string() + ":/Points",
- xdmf_format_str(encoding));
+ // Get values
+ std::vector<double> data_values(dof_set.size());
+ dolfin_assert(u.vector());
+ u.vector()->get_local(data_values.data(), dof_set.size(), dof_set.data());
- if(value_size != 0)
+ if (value_rank == 1 && value_size == 2)
+ {
+ // Pad out data for 2D vector to 3D
+ data_values.resize(3*num_local_cells);
+ for (int j = (num_local_cells - 1); j >= 0; --j)
{
- dolfin_assert(value_size == 1 || value_size == 3);
- _xml->data_attribute("point_values", 0, true,
- num_global_points, num_global_points, value_size,
- p.filename().string() + ":" + group_name + "/values",
- xdmf_format_str(encoding));
+ double nd[3] = {data_values[j*2], data_values[j*2 + 1], 0};
+ std::copy(nd, nd + 3, &data_values[j*3]);
}
-
- _xml->write();
}
+ else if (value_rank == 2 && value_size == 4)
+ {
+ data_values.resize(9*num_local_cells);
+ for (int j = (num_local_cells - 1); j >= 0; --j)
+ {
+ double nd[9] = { data_values[j*4], data_values[j*4 + 1], 0,
+ data_values[j*4 + 2], data_values[j*4 + 3], 0,
+ 0, 0, 0 };
+ std::copy(nd, nd + 9, &data_values[j*9]);
+ }
+ }
+ return data_values;
}
-//----------------------------------------------------------------------------
-void XDMFFile::get_point_data_values(std::vector<double>& data_values,
- std::size_t width,
- const Function& u) const
+//-----------------------------------------------------------------------------
+std::int64_t XDMFFile::get_padded_width(const Function& u)
{
- const Mesh& mesh = *u.function_space()->mesh();
- const std::size_t value_size = u.value_size();
- const std::size_t value_rank = u.value_rank();
+ std::int64_t width = u.value_size();
+ std::int64_t rank = u.value_rank();
+ if (rank == 1 and width == 2)
+ return 3;
+ else if (rank == 2 and width == 4)
+ return 9;
+ return width;
+}
+//-----------------------------------------------------------------------------
+bool XDMFFile::has_cell_centred_data(const Function& u)
+{
+ // Test for cell-centred data
+ std::size_t cell_based_dim = 1;
+ for (std::size_t i = 0; i < u.value_rank(); i++)
+ cell_based_dim *= u.function_space()->mesh()->topology().dim();
+ return (u.function_space()->dofmap()->max_element_dofs() == cell_based_dim);
+}
+//-----------------------------------------------------------------------------
+std::vector<double> XDMFFile::get_point_data_values(const Function& u)
+{
+ const auto mesh = u.function_space()->mesh();
- if (mesh.geometry().degree() == 1)
- {
- u.compute_vertex_values(data_values, mesh);
- const std::size_t num_local_vertices = mesh.size(0);
+ std::vector<double> data_values;
+ dolfin_assert(mesh->geometry().degree() == 1);
+
+ u.compute_vertex_values(data_values, *mesh);
- if (value_rank > 0)
+ std::int64_t width = get_padded_width(u);
+
+ if (u.value_rank() > 0)
+ {
+ // Transpose vector/tensor data arrays
+ const std::size_t num_local_vertices = mesh->size(0);
+ const std::size_t value_size = u.value_size();
+ std::vector<double> _data_values(width*num_local_vertices, 0.0);
+ for (std::size_t i = 0; i < num_local_vertices; i++)
{
- std::vector<double> _data_values(width*num_local_vertices, 0.0);
- for (std::size_t i = 0; i < num_local_vertices; i++)
+ for (std::size_t j = 0; j < value_size; j++)
{
- for (std::size_t j = 0; j < value_size; j++)
- {
- std::size_t tensor_2d_offset = (j > 1 && value_size == 4) ? 1 : 0;
- _data_values[i*width + j + tensor_2d_offset]
- = data_values[i + j*num_local_vertices];
- }
+ std::size_t tensor_2d_offset = (j > 1 && value_size == 4) ? 1 : 0;
+ _data_values[i*width + j + tensor_2d_offset]
+ = data_values[i + j*num_local_vertices];
}
-
- data_values = _data_values;
}
+ data_values = _data_values;
}
- else if (mesh.geometry().degree() == 2)
+
+ // Remove duplicates for vertex-based data in parallel
+ if (MPI::size(mesh->mpi_comm()) > 1)
{
- const std::size_t num_local_points = mesh.size(0) + mesh.size(1);
- data_values.resize(width*num_local_points);
- std::vector<dolfin::la_index> data_dofs(data_values.size(), 0);
+ DistributedMeshTools::reorder_values_by_global_indices(*mesh,
+ data_values, width);
+ }
+
+ return data_values;
+}
+//-----------------------------------------------------------------------------
+std::vector<double> XDMFFile::get_p2_data_values(const Function& u)
+{
+ const auto mesh = u.function_space()->mesh();
+ dolfin_assert(mesh->geometry().degree() == 2);
- dolfin_assert(u.function_space()->dofmap());
- const GenericDofMap& dofmap = *u.function_space()->dofmap();
+ const std::size_t value_size = u.value_size();
+ const std::size_t value_rank = u.value_rank();
+ const std::size_t num_local_points = mesh->size(0) + mesh->size(1);
+ const std::size_t width = get_padded_width(u);
+ std::vector<double> data_values(width*num_local_points);
+ std::vector<dolfin::la_index> data_dofs(data_values.size(), 0);
+
+ dolfin_assert(u.function_space()->dofmap());
+ const auto dofmap = u.function_space()->dofmap();
- // Function can be P1 or P2
- if (dofmap.num_entity_dofs(1) == 0)
+ // Function can be P1 or P2
+ if (dofmap->num_entity_dofs(1) == 0)
+ {
+ // P1
+ for (CellIterator cell(*mesh); !cell.end(); ++cell)
{
- // P1
- for (CellIterator cell(mesh); !cell.end(); ++cell)
+ const ArrayView<const dolfin::la_index> dofs
+ = dofmap->cell_dofs(cell->index());
+ std::size_t c = 0;
+ for (std::size_t i = 0; i != value_size; ++i)
{
- const ArrayView<const dolfin::la_index> dofs
- = dofmap.cell_dofs(cell->index());
- std::size_t c = 0;
- for (std::size_t i = 0; i != value_size; ++i)
+ for (VertexIterator v(*cell); !v.end(); ++v)
{
- for (VertexIterator v(*cell); !v.end(); ++v)
- {
- const std::size_t v0 = v->index()*width;
- data_dofs[v0 + i] = dofs[c];
- ++c;
- }
+ const std::size_t v0 = v->index()*width;
+ data_dofs[v0 + i] = dofs[c];
+ ++c;
}
}
+ }
- // Get the values at the vertex points
- const GenericVector& uvec = *u.vector();
- uvec.get_local(data_values.data(), data_dofs.size(), data_dofs.data());
+ // Get the values at the vertex points
+ const GenericVector& uvec = *u.vector();
+ uvec.get_local(data_values.data(), data_dofs.size(), data_dofs.data());
- // Get midpoint values for Edge points
- for (EdgeIterator e(mesh); !e.end(); ++e)
- {
- const std::size_t v0 = e->entities(0)[0];
- const std::size_t v1 = e->entities(0)[1];
- const std::size_t e0 = (e->index() + mesh.size(0))*width;
- for (std::size_t i = 0; i != value_size; ++i)
- data_values[e0 + i] = (data_values[v0 + i] + data_values[v1 + i])/2.0;
- }
+ // Get midpoint values for Edge points
+ for (EdgeIterator e(*mesh); !e.end(); ++e)
+ {
+ const std::size_t v0 = e->entities(0)[0];
+ const std::size_t v1 = e->entities(0)[1];
+ const std::size_t e0 = (e->index() + mesh->size(0))*width;
+ for (std::size_t i = 0; i != value_size; ++i)
+ data_values[e0 + i] = (data_values[v0 + i] + data_values[v1 + i])/2.0;
}
- else if (dofmap.num_entity_dofs(0) == dofmap.num_entity_dofs(1))
+ }
+ else if (dofmap->num_entity_dofs(0) == dofmap->num_entity_dofs(1))
+ {
+ // P2
+ // Go over all cells inserting values
+ // FIXME: a lot of duplication here
+ for (CellIterator cell(*mesh); !cell.end(); ++cell)
{
- // P2
- // Go over all cells inserting values
- // FIXME: a lot of duplication here
- for (CellIterator cell(mesh); !cell.end(); ++cell)
+ const ArrayView<const dolfin::la_index> dofs
+ = dofmap->cell_dofs(cell->index());
+ std::size_t c = 0;
+ for (std::size_t i = 0; i != value_size; ++i)
{
- const ArrayView<const dolfin::la_index> dofs
- = dofmap.cell_dofs(cell->index());
- std::size_t c = 0;
- for (std::size_t i = 0; i != value_size; ++i)
+ for (VertexIterator v(*cell); !v.end(); ++v)
{
- for (VertexIterator v(*cell); !v.end(); ++v)
- {
- const std::size_t v0 = v->index()*width;
- data_dofs[v0 + i] = dofs[c];
- ++c;
- }
- for (EdgeIterator e(*cell); !e.end(); ++e)
- {
- const std::size_t e0 = (e->index() + mesh.size(0))*width;
- data_dofs[e0 + i] = dofs[c];
- ++c;
- }
+ const std::size_t v0 = v->index()*width;
+ data_dofs[v0 + i] = dofs[c];
+ ++c;
+ }
+ for (EdgeIterator e(*cell); !e.end(); ++e)
+ {
+ const std::size_t e0 = (e->index() + mesh->size(0))*width;
+ data_dofs[e0 + i] = dofs[c];
+ ++c;
}
}
-
- const GenericVector& uvec = *u.vector();
- uvec.get_local(data_values.data(), data_dofs.size(), data_dofs.data());
- }
- else
- {
- dolfin_error("XDMFFile.cpp",
- "get point values for Function",
- "Function appears not to be defined on a P1 or P2 type FunctionSpace");
}
- // Blank out empty values of 2D vector and tensor
- if (value_rank == 1 and value_size == 2)
- {
- for (std::size_t i = 0; i < data_values.size(); i += 3)
- data_values[i + 2] = 0.0;
- }
- else if (value_rank == 2 and value_size == 4)
+ const GenericVector& uvec = *u.vector();
+ uvec.get_local(data_values.data(), data_dofs.size(), data_dofs.data());
+ }
+ else
+ {
+ dolfin_error("XDMFFile.cpp",
+ "get point values for Function",
+ "Function appears not to be defined on a P1 or P2 type FunctionSpace");
+ }
+
+ // Blank out empty values of 2D vector and tensor
+ if (value_rank == 1 and value_size == 2)
+ {
+ for (std::size_t i = 0; i < data_values.size(); i += 3)
+ data_values[i + 2] = 0.0;
+ }
+ else if (value_rank == 2 and value_size == 4)
+ {
+ for (std::size_t i = 0; i < data_values.size(); i += 9)
{
- for (std::size_t i = 0; i < data_values.size(); i += 9)
- {
- data_values[i + 2] = 0.0;
- data_values[i + 5] = 0.0;
- data_values[i + 6] = 0.0;
- data_values[i + 7] = 0.0;
- data_values[i + 8] = 0.0;
- }
+ data_values[i + 2] = 0.0;
+ data_values[i + 5] = 0.0;
+ data_values[i + 6] = 0.0;
+ data_values[i + 7] = 0.0;
+ data_values[i + 8] = 0.0;
}
}
+
+ return data_values;
}
//----------------------------------------------------------------------------
void XDMFFile::check_encoding(Encoding encoding) const
@@ -1894,143 +2576,6 @@ void XDMFFile::check_encoding(Encoding encoding) const
}
}
//-----------------------------------------------------------------------------
-std::string XDMFFile::generate_xdmf_ascii_mesh_topology_data(const Mesh& mesh)
-{
- return generate_xdmf_ascii_mesh_topology_data(mesh, mesh.geometry().dim());
-}
-//-----------------------------------------------------------------------------
-std::string
-XDMFFile::generate_xdmf_ascii_mesh_topology_data(const Mesh& mesh,
- const std::size_t edim)
-{
- std::unique_ptr<CellType>
- celltype(CellType::create(mesh.type().entity_type(edim)));
-
- // Permutation to VTK ordering
- const std::vector<std::int8_t> perm = celltype->vtk_mapping();
-
- std::string topology_xml_value;
- topology_xml_value += "\n";
- if (edim == 0)
- {
- for (VertexIterator v(mesh); !v.end(); ++v)
- {
- topology_xml_value
- += boost::str(boost::format("%d") % v->global_index()) + "\n";
- }
- }
- else
- {
- for (MeshEntityIterator c(mesh, edim); !c.end(); ++c)
- {
- for (unsigned int i = 0; i != c->num_entities(0); ++i)
- {
- const std::size_t local_idx = c->entities(0)[perm[i]];
- topology_xml_value
- += boost::str(boost::format("%d") % local_idx) + " ";
- }
- topology_xml_value += "\n";
- }
- }
-
- return topology_xml_value;
-}
-//-----------------------------------------------------------------------------
-std::string XDMFFile::generate_xdmf_ascii_mesh_geometry_data(const Mesh& mesh)
-{
- const std::size_t gdim = mesh.geometry().dim();
- std::string geometry_xml_value;
- for (VertexIterator v(mesh); !v.end(); ++v)
- {
- geometry_xml_value += "\n";
- const double* p = v->x();
- for (size_t i = 0; i < gdim; ++i)
- geometry_xml_value += boost::str(boost::format("%.15e") % p[i]) + " ";
- }
- geometry_xml_value += "\n";
- return geometry_xml_value;
-}
-//-----------------------------------------------------------------------------
-template<typename T>
-std::string XDMFFile::generate_xdmf_ascii_data(const T& data,
- std::string format)
-{
- std::string data_str;
- data_str += "\n";
- for (std::size_t j = 0; j < data.size(); ++j)
- data_str += boost::str(boost::format(format) % data[j]) + "\n";
- return data_str;
-}
-//-----------------------------------------------------------------------------
-template<typename T>
-std::string XDMFFile::generate_xdmf_ascii_data(const T& data)
-{
- std::string data_str;
- data_str += "\n";
- for (std::size_t j = 0; j < data.size(); ++j)
- data_str += boost::lexical_cast<std::string>(data[j]) + "\n";
- return data_str;
-}
-//-----------------------------------------------------------------------------
-XDMFFile::Encoding XDMFFile::get_file_encoding() const
-{
- dolfin_assert(_xml);
- _xml->read();
- const std::string xml_encoding_attrib = _xml->data_encoding();
-
- return get_file_encoding(xml_encoding_attrib);
-}
-//-----------------------------------------------------------------------------
-XDMFFile::Encoding XDMFFile::get_file_encoding(std::string xml_encoding_attrib)
-{
- return (xml_encoding_attrib == "XML") ? Encoding::ASCII : Encoding::HDF5;
-}
-//-----------------------------------------------------------------------------
-template <typename T> void XDMFFile::write_ascii_mesh_value_collection(
- const MeshValueCollection<T>& mesh_values,
- const std::string name)
-{
- const std::size_t dim = mesh_values.dim();
- std::shared_ptr<const Mesh> mesh = mesh_values.mesh();
-
- const std::map<std::pair<std::size_t, std::size_t>, T>& values
- = mesh_values.values();
-
- CellType::Type cell_type = mesh->type().entity_type(dim);
- std::unique_ptr<CellType> entity_type(CellType::create(cell_type));
-
- std::vector<T> value_data;
- value_data.reserve(values.size());
- std::string topology;
- topology += "\n";
-
- const std::size_t tdim = mesh->topology().dim();
- mesh->init(tdim, dim);
- for (auto &p : values)
- {
- MeshEntity cell = Cell(*mesh, p.first.first);
- if (dim != tdim)
- {
- const unsigned int entity_local_idx = cell.entities(dim)[p.first.second];
- cell = MeshEntity(*mesh, dim, entity_local_idx);
- }
-
- for (VertexIterator v(cell); !v.end(); ++v)
- topology += boost::str(boost::format("%d") % v->global_index()) + " ";
-
- topology += "\n";
-
- dolfin_assert(_xml);
- _xml->mesh_topology(cell_type, 1, mesh_values.size(), topology,
- xdmf_format_str(Encoding::ASCII));
-
- _xml->data_attribute(mesh_values.name(), 0, false,
- mesh->size_global(0), mesh_values.size(),
- 1, generate_xdmf_ascii_data(value_data),
- xdmf_format_str(Encoding::ASCII));
- }
-}
-//-----------------------------------------------------------------------------
std::string XDMFFile::vtk_cell_type_str(CellType::Type cell_type, int order)
{
// FIXME: Move to CellType?
@@ -2064,7 +2609,7 @@ std::string XDMFFile::vtk_cell_type_str(CellType::Type cell_type, int order)
case 1:
return "Quadrilateral";
case 2:
- return "Qaud_8";
+ return "Quad_8";
}
case CellType::Type::tetrahedron:
switch (order)
@@ -2109,3 +2654,14 @@ std::vector<T> XDMFFile::string_to_vector(const std::vector<std::string>& x_str)
return data;
}
//-----------------------------------------------------------------------------
+std::string XDMFFile::rank_to_string(std::size_t value_rank)
+{
+ if (value_rank > 2)
+ dolfin_error("XDMFFile.cpp", "get rank string", "Out of range");
+ if (value_rank == 0)
+ return "Scalar";
+ else if (value_rank == 1)
+ return "Vector";
+ return "Tensor";
+}
+//-----------------------------------------------------------------------------
diff --git a/dolfin/io/XDMFFile.h b/dolfin/io/XDMFFile.h
index e083887..cacbbab 100644
--- a/dolfin/io/XDMFFile.h
+++ b/dolfin/io/XDMFFile.h
@@ -46,6 +46,7 @@ namespace boost
namespace pugi
{
class xml_node;
+ class xml_document;
}
namespace dolfin
@@ -78,9 +79,6 @@ namespace dolfin
/// File encoding type
enum class Encoding {HDF5, ASCII};
- /// Re-use any partition stored in file
- enum class UseFilePartition : bool {yes=true, no=false};
-
/// Constructor
XDMFFile(const std::string filename)
: XDMFFile(MPI_COMM_WORLD, filename) {}
@@ -150,7 +148,31 @@ namespace dolfin
/// HDF5 file, or storing the data inline as XML.
///
/// *Arguments*
- /// mvc (_MeshValueCollection<std::size_t>_)
+ /// mvc (_MeshValueCollection<bool>_)
+ /// A list of points to save.
+ /// encoding (_Encoding_)
+ /// Encoding to use: HDF5 or ASCII
+ ///
+ void write(const MeshValueCollection<bool>& mvc,
+ Encoding encoding=Encoding::HDF5);
+
+ /// Write out mesh value collection (subset) using an associated
+ /// HDF5 file, or storing the data inline as XML.
+ ///
+ /// *Arguments*
+ /// mvc (_MeshValueCollection<int>_)
+ /// A list of points to save.
+ /// encoding (_Encoding_)
+ /// Encoding to use: HDF5 or ASCII
+ ///
+ void write(const MeshValueCollection<int>& mvc,
+ Encoding encoding=Encoding::HDF5);
+
+ /// Write out mesh value collection (subset) using an associated
+ /// HDF5 file, or storing the data inline as XML.
+ ///
+ /// *Arguments*
+ /// mvc (_MeshValueCollection<int>_)
/// A list of points to save.
/// encoding (_Encoding_)
/// Encoding to use: HDF5 or ASCII
@@ -158,6 +180,18 @@ namespace dolfin
void write(const MeshValueCollection<std::size_t>& mvc,
Encoding encoding=Encoding::HDF5);
+ /// Write out mesh value collection (subset) using an associated
+ /// HDF5 file, or storing the data inline as XML.
+ ///
+ /// *Arguments*
+ /// mvc (_MeshValueCollection<double>_)
+ /// A list of points to save.
+ /// encoding (_Encoding_)
+ /// Encoding to use: HDF5 or ASCII
+ ///
+ void write(const MeshValueCollection<double>& mvc,
+ Encoding encoding=Encoding::HDF5);
+
/// Save a cloud of points to file using an associated HDF5 file,
/// or storing the data inline as XML.
///
@@ -185,60 +219,105 @@ namespace dolfin
const std::vector<double>& values,
Encoding encoding=Encoding::HDF5);
- /// Read in a mesh from the associated HDF5 file, optionally using
- /// stored partitioning, if possible when the same number of
- /// processes are being used.
+ /// Read in a mesh
///
/// *Arguments*
/// mesh (_Mesh_)
///
- /// use_partition_from_file (_UseFilePartition_)
- /// Use the existing partition information in HDF5 file
- ///
- void read(Mesh& mesh,
- UseFilePartition use_file_partition=UseFilePartition::no);
+ void read(Mesh& mesh) const;
/// Read first MeshFunction from file
- void read(MeshFunction<bool>& meshfunction);
- void read(MeshFunction<int>& meshfunction);
- void read(MeshFunction<std::size_t>& meshfunction);
- void read(MeshFunction<double>& meshfunction);
+ /// @param meshfunction
+ /// @param name
+ void read(MeshFunction<bool>& meshfunction, std::string name="");
- // Write mesh
- void write_new(const Mesh& mesh, Encoding encoding=Encoding::HDF5) const;
+ /// Read first MeshFunction from file
+ /// @param meshfunction
+ /// @param name
+ void read(MeshFunction<int>& meshfunction, std::string name="");
+
+ /// Read first MeshFunction from file
+ /// @param meshfunction
+ /// @param name
+ void read(MeshFunction<std::size_t>& meshfunction, std::string name="");
+
+ /// Read first MeshFunction from file
+ /// @param meshfunction
+ /// @param name
+ void read(MeshFunction<double>& meshfunction, std::string name="");
- // Read mesh
- void read_new(Mesh& mesh) const;
+ /// Read MeshValueCollection from file
+ void read(MeshValueCollection<bool>& mvc, std::string name="");
+
+ /// Read MeshValueCollection from file
+ void read(MeshValueCollection<int>& mvc, std::string name="");
+
+ /// Read MeshValueCollection from file
+ void read(MeshValueCollection<std::size_t>& mvc, std::string name="");
+
+ /// Read MeshValueCollection from file
+ void read(MeshValueCollection<double>& mvc, std::string name="");
private:
+ // Generic MVC writer
+ template <typename T>
+ void write_mesh_value_collection(const MeshValueCollection<T>& mvc,
+ Encoding encoding);
+
+ // Generic MVC reader
+ template <typename T>
+ void read_mesh_value_collection(MeshValueCollection<T>& mvc,
+ std::string name);
+
+ // Remap meshfunction data, scattering data to appropriate processes
+ template <typename T>
+ static void remap_meshfunction_data(MeshFunction<T>& meshfunction,
+ const std::vector<std::int64_t>& topology_data,
+ const std::vector<T>& value_data);
+
// Build mesh (serial)
- static void build_mesh(Mesh& mesh, std::string cell_type_str,
+ static void build_mesh(Mesh& mesh, const CellType& cell_type,
std::int64_t num_points, std::int64_t num_cells,
- int num_points_per_cell,
int tdim, int gdim,
const pugi::xml_node& topology_dataset_node,
const pugi::xml_node& geometry_dataset_node,
const boost::filesystem::path& parent_path);
- // Build local mesh data structure
- static void
- build_local_mesh_data (LocalMeshData& local_mesh_data,
- const CellType& cell_type,
- const std::int64_t num_points,
- const std::int64_t num_cells,
- const int num_points_per_cell,
- const int tdim, const int gdim,
+ // Build local mesh data structure
+ static void
+ build_local_mesh_data (LocalMeshData& local_mesh_data,
+ const CellType& cell_type,
+ std::int64_t num_points, std::int64_t num_cells,
+ int tdim, int gdim,
+ const pugi::xml_node& topology_dataset_node,
+ const pugi::xml_node& geometry_dataset_node,
+ const boost::filesystem::path& parent_path);
+
+ static void build_mesh_quadratic(Mesh& mesh, const CellType& cell_type,
+ std::int64_t num_points, std::int64_t num_cells,
+ int tdim, int gdim,
const pugi::xml_node& topology_dataset_node,
const pugi::xml_node& geometry_dataset_node,
- const boost::filesystem::path& parent_path);
+ const boost::filesystem::path& relative_path);
+
+
+
+ // Add mesh to XDMF xml_node (usually a Domain or Time Grid) and write data
+ static void add_mesh(MPI_Comm comm, pugi::xml_node& xml_node,
+ hid_t h5_id, const Mesh& mesh,
+ const std::string path_prefix);
+
+ // Add set of points to XDMF xml_node and write data
+ static void add_points(MPI_Comm comm, pugi::xml_node& xml_node,
+ hid_t h5_id, const std::vector<Point>& points);
// Add topology node to xml_node (includes writing data to XML or HDF5
// file)
template<typename T>
static void add_topology_data(MPI_Comm comm, pugi::xml_node& xml_node,
hid_t h5_id, const std::string path_prefix,
- const Mesh& mesh);
+ const Mesh& mesh, int tdim);
// Add geometry node and data to xml_node
static void add_geometry_data(MPI_Comm comm, pugi::xml_node& xml_node,
@@ -251,18 +330,33 @@ namespace dolfin
template<typename T>
static void add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
hid_t h5_id, const std::string h5_path, const T& x,
- const std::vector<std::int64_t> dimensions);
+ const std::vector<std::int64_t> dimensions,
+ const std::string number_type="");
+
+ // Calculate set of entities of dimension cell_dim which are duplicated
+ // on other processes and should not be output on this process
+ static std::set<unsigned int> compute_nonlocal_entities(const Mesh& mesh,
+ int cell_dim);
// Return topology data on this process as a flat vector
template<typename T>
static std::vector<T> compute_topology_data(const Mesh& mesh, int cell_dim);
+ // Return quadratic topology for Mesh of degree 2
+ template<typename T>
+ static std::vector<T> compute_quadratic_topology(const Mesh& mesh);
+
+ // Return data which is local
+ template<typename T>
+ std::vector<T> compute_value_data(const MeshFunction<T>& meshfunction);
+
// Get DOLFIN cell type string from XML topology node
- static std::string get_cell_type(const pugi::xml_node& topology_node);
+ static std::pair<std::string, int>
+ get_cell_type(const pugi::xml_node& topology_node);
// Get dimensions from an XML DataSet node
static std::vector<std::int64_t>
- get_dataset_shape(const pugi::xml_node& dataset_node);
+ get_dataset_shape(const pugi::xml_node& dataset_node);
// Get number of cells from an XML Topology node
static std::int64_t get_num_cells(const pugi::xml_node& topology_node);
@@ -274,29 +368,36 @@ namespace dolfin
const boost::filesystem::path& parent_path);
// Return (0) HDF5 filename and (1) path in HDF5 file from a DataItem node
- std::array<std::string, 2> get_hdf5_paths(const pugi::xml_node& dataitem_node);
+ static std::array<std::string, 2> get_hdf5_paths(const pugi::xml_node& dataitem_node);
static std::string get_hdf5_filename(std::string xdmf_filename);
// Generic MeshFunction reader
template<typename T>
- void read_mesh_function(MeshFunction<T>& meshfunction);
+ void read_mesh_function(MeshFunction<T>& meshfunction, std::string name="");
// Generic MeshFunction writer
template<typename T>
void write_mesh_function(const MeshFunction<T>& meshfunction,
- std::string format, Encoding encoding);
+ Encoding encoding);
+
+ // Get data width - normally the same as u.value_size(), but expand for 2D
+ // vector/tensor because XDMF presents everything as 3D
+ static std::int64_t get_padded_width(const Function& u);
- // Write XML description of point clouds, with value_size = 0, 1
- // or 3 (for either no point data, scalar, or vector)
- void write_point_xml(const std::string dataset_name,
- const std::size_t num_global_points,
- const unsigned int value_size, Encoding encoding);
+ // Returns true for DG0 Functions
+ static bool has_cell_centred_data(const Function& u);
// Get point data values for linear or quadratic mesh into
- // flattened 2D array in data_values with given width
- void get_point_data_values(std::vector<double>& data_values,
- std::size_t width, const Function& u) const;
+ // flattened 2D array
+ static std::vector<double> get_point_data_values(const Function& u);
+
+ // Get point data values collocated at P2 geometry points (vertices
+ // and edges) flattened as a 2D array
+ static std::vector<double> get_p2_data_values(const Function& u);
+
+ // Get cell data values as a flattened 2D array
+ static std::vector<double> get_cell_data_values(const Function& u);
// Check whether the requested encoding is supported
void check_encoding(Encoding encoding) const;
@@ -306,46 +407,6 @@ namespace dolfin
static std::string xdmf_format_str(Encoding encoding)
{ return (encoding == XDMFFile::Encoding::HDF5) ? "HDF" : "XML"; }
- // Generate the data string to insert in an xdmf file for the mesh
- // cell to node connectivity
- static std::string generate_xdmf_ascii_mesh_topology_data(const Mesh& mesh);
-
- // Generate the data string to insert in an xdmf file for the mesh
- // for the topology of entitiy dimension edim -> 0
- static std::string
- generate_xdmf_ascii_mesh_topology_data(const Mesh& mesh,
- const std::size_t edim);
-
- // Generate the data string to insert in an xdmf file for the mesh
- // point cloud
- static std::string generate_xdmf_ascii_mesh_geometry_data(const Mesh& mesh);
-
- // Generate a string of the vertex data numeric values contained
- // in the data argument which can then be inserted into an xdmf
- // file. The numeric data is formatted according to the format
- // argument. E.g:
- // generate_xdmf_ascii_data(data_values, "%.15e")
- template<typename T>
- static std::string generate_xdmf_ascii_data(const T& data,
- std::string format);
-
- // As XDMFFile::generate_xdmf_ascii_data, using
- // boost::lexical_cast to format the numeric data as a string.
- template<typename T>
- static std::string generate_xdmf_ascii_data(const T& data);
-
- // Determine the encoding of the data from the xml file.
- Encoding get_file_encoding() const;
-
- // Determine the encoding enumeration value from the xdmf format
- // string E.g. "XML" or "HDF" See XDMFFile::xdmf_format_str
- static Encoding get_file_encoding(std::string xdmf_format);
-
- // Write MVC to ascii string to store in XDMF XML file
- template <typename T>
- void write_ascii_mesh_value_collection(const MeshValueCollection<T>& mesh_values,
- std::string data_name);
-
static std::string vtk_cell_type_str(CellType::Type cell_type, int order);
// Return a string of the form "x y"
@@ -356,6 +417,9 @@ namespace dolfin
template <typename T>
static std::vector<T> string_to_vector(const std::vector<std::string>& x_str);
+ // Convert a value_rank to the XDMF string description (Scalar, Vector, Tensor)
+ static std::string rank_to_string(std::size_t value_rank);
+
// MPI communicator
MPI_Comm _mpi_comm;
@@ -364,23 +428,33 @@ namespace dolfin
std::unique_ptr<HDF5File> _hdf5_file;
#endif
- // HDF5 file mode (r/w)
- std::string _hdf5_filemode;
-
- // Most recent mesh name
- std::string _current_mesh_name;
-
// Cached filename
const std::string _filename;
// Counter for time series
std::size_t _counter;
- // The xml document of the XDMF file
- std::unique_ptr<XDMFxml> _xml;
+ // The XML document currently representing the XDMF
+ // which needs to be kept open for time series etc.
+ std::unique_ptr<pugi::xml_document> _xml_doc;
};
+ // Specialisation for std::vector<bool>, as HDF5 does not support it natively
+ template<> inline
+ void XDMFFile::add_data_item(MPI_Comm comm, pugi::xml_node& xml_node,
+ hid_t h5_id, const std::string h5_path,
+ const std::vector<bool>& x,
+ const std::vector<std::int64_t> shape,
+ const std::string number_type)
+ {
+ // HDF5 cannot accept 'bool' so copy to 'int'
+ std::vector<int> x_int(x.size());
+ for (std::size_t i = 0; i < x.size(); ++i)
+ x_int[i] = (int)x[i];
+ add_data_item(comm, xml_node, h5_id, h5_path, x_int, shape, number_type);
+ }
+
}
#endif
diff --git a/dolfin/io/XDMFxml.cpp b/dolfin/io/XDMFxml.cpp
deleted file mode 100644
index 3fd6e52..0000000
--- a/dolfin/io/XDMFxml.cpp
+++ /dev/null
@@ -1,539 +0,0 @@
-// Copyright (C) 2015 Chris N. Richardson
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include <boost/algorithm/string.hpp>
-#include <boost/filesystem.hpp>
-#include <boost/format.hpp>
-
-#include <dolfin/log/log.h>
-#include "XDMFxml.h"
-
-using namespace dolfin;
-
-//----------------------------------------------------------------------------
-XDMFxml::XDMFxml(std::string filename): _filename(filename),
- _is_this_first_write(true)
-{
- // Do nothing
-}
-//----------------------------------------------------------------------------
-XDMFxml::~XDMFxml()
-{
- // Do nothing
-}
-//-----------------------------------------------------------------------------
-void XDMFxml::write() const
-{
- // Write XML file
- xml_doc.save_file(_filename.c_str(), " ");
-}
-//-----------------------------------------------------------------------------
-void XDMFxml::read()
-{
- // Check that file exsist
- if (!boost::filesystem::exists(_filename))
- {
- dolfin_error("XDMFxml.cpp",
- "read XDMF file",
- "File does not exist");
- }
-
- // Load XML doc from file
- pugi::xml_parse_result result = xml_doc.load_file(_filename.c_str());
-
- // Check that file was successfully parsed
- if (!result)
- {
- dolfin_error("XDMFxml.cpp",
- "read mesh from XDMF/H5 files",
- "Error opening XML file");
- }
-}
-//-----------------------------------------------------------------------------
-XDMFxml::TopologyData XDMFxml::get_topology() const
-{
- // Topology - check format and get dataset name
- pugi::xml_node xdmf_topology
- = xml_doc.child("Xdmf").child("Domain")
- .child("Grid").child("Topology");
- pugi::xml_node xdmf_topology_data = xdmf_topology.child("DataItem");
-
- if (!xdmf_topology or !xdmf_topology_data)
- {
- dolfin_error("XDMFxml.cpp",
- "read mesh from XDMF/H5 files",
- "XML parsing error. XDMF file should contain only one mesh/dataset");
- }
-
- XDMFxml::TopologyData tdata;
- tdata.format = xdmf_topology_data.attribute("Format").value();
-
- // Usually, the DOLFIN CellType is just the lower case of the VTK name
- // FIXME: this will fail for 1D and quadratic topology
- tdata.cell_type = xdmf_topology.attribute("TopologyType").value();
- boost::to_lower(tdata.cell_type);
-
- std::string topology_dim(xdmf_topology_data.attribute("Dimensions").as_string());
- std::vector<std::string> topology_dim_vec;
- boost::split(topology_dim_vec, topology_dim, boost::is_any_of(" "));
-
- tdata.num_cells = std::stol(topology_dim_vec[0]);
- tdata.points_per_cell = std::stol(topology_dim_vec[1]);
-
- if (tdata.format == "XML")
- {
- tdata.data = xdmf_topology_data.first_child().value();
- boost::trim(tdata.data);
- }
- else if (tdata.format == "HDF")
- {
- // Get data paths
- std::array<std::string, 2> paths = get_hdf5_paths(xdmf_topology_data);
-
- // Store paths
- tdata.hdf5_filename = paths[0];
- tdata.hdf5_dataset = paths[1];
- }
- else
- {
- dolfin_error("XDMFxml.cpp",
- "get topology",
- "Unknown data format");
- }
-
- return tdata;
-}
-//-----------------------------------------------------------------------------
-XDMFxml::GeometryData XDMFxml::get_geometry() const
-{
- // Geometry - check format and get dataset name
- pugi::xml_node xdmf_geometry
- = xml_doc.child("Xdmf").child("Domain").child("Grid").child("Geometry");
- dolfin_assert(xdmf_geometry);
-
- pugi::xml_node xdmf_geometry_data = xdmf_geometry.child("DataItem");
- dolfin_assert(xdmf_geometry_data);
-
- GeometryData gdata;
-
- std::string geo_dim(xdmf_geometry_data.attribute("Dimensions").as_string());
- std::vector<std::string> geo_vec;
- boost::split(geo_vec, geo_dim, boost::is_any_of(" "));
-
- gdata.num_points = std::stol(geo_vec[0]);
- gdata.dim = std::stoul(geo_vec[1]);
-
- gdata.format = xdmf_geometry_data.attribute("Format").value();
-
- if (gdata.format == "XML")
- {
- gdata.data = xdmf_geometry_data.first_child().value();
- boost::trim(gdata.data);
- }
- else if (gdata.format == "HDF")
- {
- // Get data paths
- std::array<std::string, 2> paths = get_hdf5_paths(xdmf_geometry_data);
-
- // Store paths
- gdata.hdf5_filename = paths[0];
- gdata.hdf5_dataset = paths[1];
- }
- else
- {
- dolfin_error("XDMFxml.cpp",
- "get geometry",
- "Unknown data format");
- }
-
- return gdata;
-}
-//-----------------------------------------------------------------------------
-std::string XDMFxml::get_first_data_set() const
-{
- // Values - check format and get dataset name
- pugi::xml_node xdmf_values = xml_doc.child("Xdmf").child("Domain").
- child("Grid").child("Grid").child("Attribute").child("DataItem");
- dolfin_assert(xdmf_values);
-
- const std::string value_fmt(xdmf_values.attribute("Format").value());
-// dolfin_assert(value_fmt == "XML");
-
- std::string data_value(xdmf_values.first_child().value());
- boost::trim(data_value);
- return data_value;
-}
-//-----------------------------------------------------------------------------
-std::string XDMFxml::dataname() const
-{
- // Values - check format and get dataset name
- pugi::xml_node xdmf_values = xml_doc.child("Xdmf").child("Domain").
- child("Grid").child("Grid").child("Attribute").child("DataItem");
- dolfin_assert(xdmf_values);
-
- const std::string value_fmt(xdmf_values.attribute("Format").value());
- dolfin_assert(value_fmt == "HDF");
-
- const std::string value_ref(xdmf_values.first_child().value());
- std::vector<std::string> value_bits;
- boost::split(value_bits, value_ref, boost::is_any_of(":/"));
- dolfin_assert(value_bits.size() == 5);
- dolfin_assert(value_bits[2] == "Mesh");
- dolfin_assert(value_bits[4] == "values");
-
- return value_bits[3];
-}
-//-----------------------------------------------------------------------------
-std::string XDMFxml::data_encoding() const
-{
- // Values - check format and get dataset name
- pugi::xml_node xdmf_values = xml_doc.child("Xdmf").child("Domain").
- child("Grid").child("Grid").child("Attribute").child("DataItem");
- dolfin_assert(xdmf_values);
-
- const std::string value_fmt(xdmf_values.attribute("Format").value());
- return value_fmt;
-}
-//-----------------------------------------------------------------------------
-void XDMFxml::data_attribute(std::string name,
- std::size_t value_rank,
- bool vertex_data,
- std::size_t num_total_vertices,
- std::size_t num_global_cells,
- std::size_t padded_value_size,
- std::string dataset_name,
- std::string format)
-{
- // Grid/Attribute (Function value data)
- pugi::xml_node xdmf_values = xdmf_grid.append_child("Attribute");
- xdmf_values.append_attribute("Name") = name.c_str();
-
- dolfin_assert(value_rank < 3);
- // 1D Vector should be treated as a Scalar
- std::size_t apparent_value_rank = (padded_value_size == 1) ? 0 : value_rank;
- static std::vector<std::string> attrib_type
- = {"Scalar", "Vector", "Tensor"};
- xdmf_values.append_attribute("AttributeType")
- = attrib_type[apparent_value_rank].c_str();
-
- xdmf_values.append_attribute("Center") = (vertex_data ? "Node" : "Cell");
-
- pugi::xml_node xdmf_data = xdmf_values.append_child("DataItem");
- xdmf_data.append_attribute("Format") = format.c_str();
-
- const std::size_t num_total_entities
- = (vertex_data ? num_total_vertices : num_global_cells);
- const std::string s = std::to_string(num_total_entities) + " "
- + std::to_string(padded_value_size);
- xdmf_data.append_attribute("Dimensions") = s.c_str();
-
- xdmf_data.append_child(pugi::node_pcdata).set_value(dataset_name.c_str());
-}
-//-----------------------------------------------------------------------------
-pugi::xml_node XDMFxml::init_mesh(std::string name)
-{
- // If a new file, add a header
- header();
-
- pugi::xml_node xdmf_domain = xml_doc.child("Xdmf").child("Domain");
- dolfin_assert(xdmf_domain);
- xdmf_grid = xdmf_domain.append_child("Grid");
- xdmf_grid.append_attribute("Name") = name.c_str();
- xdmf_grid.append_attribute("GridType") = "Uniform";
- xdmf_grid.append_child("Topology");
- xdmf_grid.append_child("Geometry");
- return xdmf_grid;
-}
-//-----------------------------------------------------------------------------
-pugi::xml_node XDMFxml::init_timeseries(std::string name, double time_step,
- std::size_t counter)
- {
- // If a new file, add a header
- header();
-
- pugi::xml_node xdmf_domain = xml_doc.child("Xdmf").child("Domain");
- dolfin_assert(xdmf_domain);
-
- // Look for existing TimeSeries with same name
- pugi::xml_node xdmf_timegrid = xdmf_domain.first_child();
-
- // If not found, create a new TimeSeries
- pugi::xml_node xdmf_timedata;
- if (!xdmf_timegrid)
- {
- // /Xdmf/Domain/Grid - actually a TimeSeries, not a spatial grid
- xdmf_timegrid = xdmf_domain.append_child("Grid");
- xdmf_timegrid.append_attribute("Name") = "TimeSeries";
- xdmf_timegrid.append_attribute("GridType") = "Collection";
- xdmf_timegrid.append_attribute("CollectionType") = "Temporal";
-
- // /Xdmf/Domain/Grid/Time
- pugi::xml_node xdmf_time = xdmf_timegrid.append_child("Time");
- xdmf_time.append_attribute("TimeType") = "List";
- xdmf_timedata = xdmf_time.append_child("DataItem");
- xdmf_timedata.append_attribute("Format") = "XML";
- xdmf_timedata.append_attribute("Dimensions") = "0";
- xdmf_timedata.append_child(pugi::node_pcdata);
- }
-
- dolfin_assert(xdmf_timegrid);
-
- // Get time series node
- xdmf_timedata = xdmf_timegrid.child("Time").child("DataItem");
- dolfin_assert(xdmf_timedata);
-
- unsigned int last_count
- = std::stoul(xdmf_timedata.attribute("Dimensions").value());
-
- std::string times_str(xdmf_timedata.first_child().value());
- const std::string timestep_str
- = boost::str((boost::format("%g") % time_step));
- if (last_count != 0)
- {
- // Find last space character and last time stamp
- const std::size_t p = times_str.rfind(" ");
- dolfin_assert(p != std::string::npos);
- const std::string last_stamp(times_str.begin() + p + 1, times_str.end());
-
- if (timestep_str == last_stamp)
- {
- // Retrieve last "grid"
- xdmf_grid = xdmf_timegrid.last_child();
- return xdmf_grid;
- }
- }
-
- times_str += " " + timestep_str;
- ++last_count;
-
- xdmf_timedata.attribute("Dimensions").set_value(last_count);
- xdmf_timedata.first_child().set_value(times_str.c_str());
-
- // /Xdmf/Domain/Grid/Grid - the actual data for this timestep
- xdmf_grid = xdmf_timegrid.append_child("Grid");
- std::string s = "grid_" + std::to_string(last_count);
- xdmf_grid.append_attribute("Name") = s.c_str();
- xdmf_grid.append_attribute("GridType") = "Uniform";
-
- // Grid/Topology
- pugi::xml_node topology = xdmf_grid.child("Topology");
- if (!topology)
- xdmf_grid.append_child("Topology");
-
- // Grid/Geometry
- pugi::xml_node geometry = xdmf_grid.child("Geometry");
- if (!geometry)
- xdmf_grid.append_child("Geometry");
-
- return xdmf_grid;
- }
-//-----------------------------------------------------------------------------
-void XDMFxml::mesh_topology(const CellType::Type cell_type,
- const std::size_t cell_order,
- const std::size_t num_global_cells,
- const std::string xml_value_data,
- const std::string format)
-{
- pugi::xml_node xdmf_topology = xdmf_grid.child("Topology");
- pugi::xml_node xdmf_topology_data = xdmf_topology.child("DataItem");
-
- // Check if already has topology data, in which case ignore
- if (xdmf_topology_data)
- return;
-
- xdmf_topology.append_attribute("NumberOfElements")
- = (unsigned int) num_global_cells;
-
- std::unique_ptr<CellType> celltype(CellType::create(cell_type));
- std::size_t nodes_per_element = celltype->num_entities(0);
-
- // Cell type
- if (cell_type == CellType::Type::point)
- {
- xdmf_topology.append_attribute("TopologyType") = "PolyVertex";
- xdmf_topology.append_attribute("NodesPerElement") = "1";
- }
- else if (cell_type == CellType::Type::interval and cell_order == 1)
- {
- xdmf_topology.append_attribute("TopologyType") = "PolyLine";
- xdmf_topology.append_attribute("NodesPerElement") = "2";
- }
- else if (cell_type == CellType::Type::interval and cell_order == 2)
- {
- xdmf_topology.append_attribute("TopologyType") = "Edge_3";
- nodes_per_element = 3;
- }
- else if (cell_type == CellType::Type::triangle and cell_order == 1)
- xdmf_topology.append_attribute("TopologyType") = "Triangle";
- else if (cell_type == CellType::Type::triangle and cell_order == 2)
- {
- xdmf_topology.append_attribute("TopologyType") = "Tri_6";
- nodes_per_element = 6;
- }
- else if (cell_type == CellType::Type::quadrilateral and cell_order == 1)
- xdmf_topology.append_attribute("TopologyType") = "Quadrilateral";
- else if (cell_type == CellType::Type::tetrahedron and cell_order == 1)
- xdmf_topology.append_attribute("TopologyType") = "Tetrahedron";
- else if (cell_type == CellType::Type::tetrahedron and cell_order == 2)
- {
- xdmf_topology.append_attribute("TopologyType") = "Tet_10";
- nodes_per_element = 10;
- }
- else if (cell_type == CellType::Type::hexahedron and cell_order == 1)
- xdmf_topology.append_attribute("TopologyType") = "Hexahedron";
- else
- {
- dolfin_error("XDMFFile.cpp",
- "output mesh topology",
- "Invalid combination of cell type and order");
- }
-
- if (xml_value_data.size() > 0)
- {
- // Refer to all cells and dimensions
- xdmf_topology_data = xdmf_topology.append_child("DataItem");
- xdmf_topology_data.append_attribute("Format") = format.c_str();
- const std::string cell_dims = std::to_string(num_global_cells)
- + " " + std::to_string(nodes_per_element);
- xdmf_topology_data.append_attribute("Dimensions") = cell_dims.c_str();
-
- xdmf_topology_data.append_child(pugi::node_pcdata).set_value(xml_value_data.c_str());
- }
-}
-//----------------------------------------------------------------------------
-void XDMFxml::mesh_geometry(const std::size_t num_total_vertices,
- const std::size_t gdim,
- const std::string xml_value_data,
- const std::string format,
- const bool is_reference)
-{
- pugi::xml_node xdmf_geometry = xdmf_grid.child("Geometry");
- pugi::xml_node xdmf_geom_data = xdmf_geometry.child("DataItem");
-
- // Check if already has topology data, in which case ignore
- if (xdmf_geom_data)
- return;
-
- dolfin_assert(gdim > 0 && gdim <= 3);
- std::string geometry_type;
- if (gdim == 1)
- {
- // geometry "X" is not supported in XDMF
- geometry_type = "X_Y_Z";
- }
- else if (gdim == 2)
- geometry_type = "XY";
- else if (gdim == 3)
- geometry_type = "XYZ";
-
- xdmf_geometry.append_attribute("GeometryType") = geometry_type.c_str();
- xdmf_geom_data = xdmf_geometry.append_child("DataItem");
-
- if (is_reference)
- xdmf_geom_data.append_attribute("Reference") = format.c_str();
- else
- xdmf_geom_data.append_attribute("Format") = format.c_str();
- std::string geom_dim = std::to_string(num_total_vertices) + " "
- + std::to_string(gdim);
- xdmf_geom_data.append_attribute("Dimensions") = geom_dim.c_str();
-
- if (gdim == 1)
- {
- // FIXME: improve this workaround
-
- // When gdim==1, XDMF does not support a 1D geometry "X", so need
- // to provide some dummy Y and Z values. Using the "X_Y_Z"
- // geometry the Y and Z values can be supplied as separate
- // datasets, here in plain text (though it could be done in HDF5
- // too).
-
- // Cannot write HDF5 here, as we are only running on rank 0, and
- // will deadlock.
-
- std::string dummy_zeros;
- dummy_zeros.reserve(2*num_total_vertices);
- for (std::size_t i = 0; i < num_total_vertices; ++i)
- dummy_zeros += "0 ";
-
- pugi::xml_node xdmf_geom_1 = xdmf_geometry.append_child("DataItem");
- xdmf_geom_1.append_attribute("Format") = "XML";
- geom_dim = std::to_string(num_total_vertices) + " 1" ;
- xdmf_geom_1.append_attribute("Dimensions") = geom_dim.c_str();
- xdmf_geom_1.append_child(pugi::node_pcdata).set_value(dummy_zeros.c_str());
-
- pugi::xml_node xdmf_geom_2 = xdmf_geometry.append_child("DataItem");
- xdmf_geom_2.append_attribute("Format") = "XML";
- geom_dim = std::to_string(num_total_vertices) + " 1" ;
- xdmf_geom_2.append_attribute("Dimensions") = geom_dim.c_str();
- xdmf_geom_2.append_child(pugi::node_pcdata).set_value(dummy_zeros.c_str());
- }
-
- xdmf_geom_data.append_child(pugi::node_pcdata).set_value(xml_value_data.c_str());
-}
-//-----------------------------------------------------------------------------
-void XDMFxml::header()
-{
- dolfin_assert(xml_doc);
-
-// If a new file, add a header
- if (!boost::filesystem::exists(_filename) or _is_this_first_write)
- {
- xml_doc.append_child(pugi::node_doctype).set_value("Xdmf SYSTEM \"Xdmf.dtd\" []");
- pugi::xml_node xdmf = xml_doc.append_child("Xdmf");
- xdmf.append_attribute("Version") = "2.0";
- xdmf.append_attribute("xmlns:xi") = "http://www.w3.org/2001/XInclude";
- xdmf.append_child("Domain");
-
- write();
- _is_this_first_write = false;
- }
- else
- {
- // Read in existing XDMF file
- pugi::xml_parse_result result = xml_doc.load_file(_filename.c_str());
- if (!result)
- {
- dolfin_error("XDMFxml.cpp",
- "write data to XDMF file",
- "XML parsing error when reading from existing file");
- }
- }
-}
-//----------------------------------------------------------------------------
-std::array<std::string, 2> XDMFxml::get_hdf5_paths(const pugi::xml_node& xml_node)
-{
- dolfin_assert(xml_node);
-
- // Get path data
- pugi::xml_node path_node = xml_node.first_child();
- dolfin_assert(path_node);
-
- // Create string from path and trim leading and trailing whitespace
- std::string path = path_node.text().get();
- boost::algorithm::trim(path);
-
- // Split string into file path and HD5 internal path
- std::vector<std::string> paths;
- boost::split(paths, path, boost::is_any_of(":"));
- dolfin_assert(paths.size() == 2);
-
- return {{paths[0], paths[1]}};
-}
-//-----------------------------------------------------------------------------
diff --git a/dolfin/io/XDMFxml.h b/dolfin/io/XDMFxml.h
deleted file mode 100644
index dded602..0000000
--- a/dolfin/io/XDMFxml.h
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright (C) 2015 Chris N. Richardson
-//
-// This file is part of DOLFIN.
-//
-// DOLFIN is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// DOLFIN is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-
-#ifndef __DOLFIN_XDMFXML_H
-#define __DOLFIN_XDMFXML_H
-
-#include <array>
-#include <string>
-#include <vector>
-#include <dolfin/mesh/CellType.h>
-
-#include "pugixml.hpp"
-
-namespace dolfin
-{
-
- class XDMFxml
- {
- public:
-
- class TopologyData
- {
- public:
- std::string format;
- std::string hdf5_filename;
- std::string hdf5_dataset;
- std::string cell_type;
- std::size_t num_cells;
- std::size_t points_per_cell;
- std::string data;
- };
-
- class GeometryData
- {
- public:
- std::string format;
- std::string hdf5_filename;
- std::string hdf5_dataset;
- std::size_t num_points;
- std::size_t dim;
- std::string data;
- };
-
- /// Constructor
- XDMFxml(std::string filename);
-
- /// Destructor
- ~XDMFxml();
-
- /// Output to file
- void write() const;
-
- /// Read from a file
- void read();
-
- /// Get the (unique) Mesh topology name, split into three parts
- /// (file name, dataset name, CellType) from the current XML
- TopologyData get_topology() const;
-
- /// Get the (unique) Mesh geometry name, split into two parts
- /// (file name, dataset name) from the current XML
- GeometryData get_geometry() const;
-
- /// Get the (unique) dataset for a MeshFunction in current XML
- std::string get_first_data_set() const;
-
- /// Get the (unique) dataset name for a MeshFunction in current
- /// XML
- std::string dataname() const;
-
- /// Get the data encoding. "XML" or "HDF"
- std::string data_encoding() const;
-
- /// Add a data item to the current grid
- void data_attribute(std::string name,
- std::size_t value_rank,
- bool vertex_data,
- std::size_t num_total_vertices,
- std::size_t num_global_cells,
- std::size_t padded_value_size,
- std::string dataset_name,
- std::string format);
-
- /// Initalise XML for a Mesh-like single output returning the
- /// xdmf_grid node
- pugi::xml_node init_mesh(std::string name);
-
- /// Initialise XML for a TimeSeries-like output returning the
- /// xdmf_grid node
- pugi::xml_node init_timeseries(std::string name, double time_step,
- std::size_t counter);
-
- /// Attach topology to the current grid node
- void mesh_topology(const CellType::Type cell_type,
- const std::size_t cell_order,
- const std::size_t num_global_cells,
- const std::string xml_value_data,
- const std::string format);
-
- /// Attach geometry to the current grid node
- void mesh_geometry(const std::size_t num_total_vertices,
- const std::size_t gdim,
- const std::string xml_value_data,
- const std::string format,
- const bool is_reference=false);
-
- // Split HDF5 paths (file path and internal HDF5 path)
- static
- std::array<std::string, 2> get_hdf5_paths(const pugi::xml_node& xml_node);
-
- private:
-
- // Generate the XML header generic to all files
- void header();
-
-
- // The XML document
- pugi::xml_document xml_doc;
-
- // Current node for writing geometry, topology and data into
- pugi::xml_node xdmf_grid;
-
- // Filename
- std::string _filename;
-
- // This is to ensure that when the file is written for the first
- // time, it overwrites any existing file with the same name.
- bool _is_this_first_write;
- };
-}
-#endif
diff --git a/dolfin/io/XMLFile.cpp b/dolfin/io/XMLFile.cpp
index c370ed8..ee402b7 100644
--- a/dolfin/io/XMLFile.cpp
+++ b/dolfin/io/XMLFile.cpp
@@ -216,9 +216,19 @@ void XMLFile::operator<< (const Parameters& output)
//-----------------------------------------------------------------------------
void XMLFile::operator>> (Table& input)
{
- dolfin_error("XMLFile.cpp",
- "read table from XML file",
- "Not implemented");
+ if (MPI::size(_mpi_comm) > 1)
+ dolfin_error("XMLFile.cpp",
+ "read table into XML file",
+ "XMLTable is not colletive. Use separate XMLFile with "
+ "MPI_COMM_SELF on each process or single process only");
+
+ // Create XML doc and get DOLFIN node
+ pugi::xml_document xml_doc;
+ load_xml_doc(xml_doc);
+ const pugi::xml_node node = get_dolfin_xml_node(xml_doc);
+
+ // Read into Table 'input'
+ XMLTable::read(input, node);
}
//-----------------------------------------------------------------------------
void XMLFile::operator<< (const Table& output)
diff --git a/dolfin/io/XMLTable.cpp b/dolfin/io/XMLTable.cpp
index c8365cd..17ad1f0 100644
--- a/dolfin/io/XMLTable.cpp
+++ b/dolfin/io/XMLTable.cpp
@@ -64,3 +64,64 @@ void XMLTable::write(const Table& table, pugi::xml_node xml_node)
}
}
//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void XMLTable::read(Table& table, pugi::xml_node xml_node)
+{
+
+ // Check that we have a XML Table
+ const pugi::xml_node xml_table = xml_node.child("table");
+ if (!xml_table)
+ {
+ dolfin_error("XMLTable.cpp",
+ "read Table from XML file",
+ "Not a DOLFIN Table XML file");
+ }
+
+ // Check that there is only one root XML Table
+ if (xml_node.first_child().next_sibling())
+ {
+ dolfin_error("XMLTable.cpp",
+ "read table from XML file",
+ "Two tables are defined in XML file");
+ }
+
+ // Rename table in accordance with file input
+ const std::string name = xml_table.attribute("name").value();
+ table.rename(name, "");
+
+ // Iterate over rows
+ for (auto i = xml_table.begin(); i != xml_table.end(); ++i)
+ {
+
+ // Get row name
+ const std::string row = i->attribute("key").value();
+
+ // Iterate over columns
+ pugi::xml_node xml_row_node = *i;
+ for (auto j = xml_row_node.begin(); j != xml_row_node.end(); ++j)
+ {
+ // Get column name
+ const std::string col = j->attribute("key").value();
+
+ // Get type of value
+ const std::string type = j->attribute("type").value();
+
+ // Get value
+ const pugi::xml_attribute value = j->attribute("value");
+
+ // Set table entry
+ if (type == "double")
+ table.set(row, col, value.as_double());
+ else if (type == "int")
+ table.set(row, col, value.as_int());
+ else
+ {
+ dolfin_error("XMLTable.cpp",
+ "read Table from XML file",
+ "Not supported type (\"%s\") of table entry (\"%s\", \"%s\")",
+ type.c_str(), row.c_str(), col.c_str());
+ }
+ }
+ }
+
+}
diff --git a/dolfin/io/XMLTable.h b/dolfin/io/XMLTable.h
index b47028f..bfc02a8 100644
--- a/dolfin/io/XMLTable.h
+++ b/dolfin/io/XMLTable.h
@@ -38,6 +38,10 @@ namespace dolfin
/// Write the XML file
static void write(const Table& table, pugi::xml_node xml_node);
+ /// Read the XML file
+ static void read(Table& table, pugi::xml_node xml_node);
+
+
};
}
diff --git a/dolfin/la/CMakeLists.txt b/dolfin/la/CMakeLists.txt
new file mode 100644
index 0000000..9a5f46c
--- /dev/null
+++ b/dolfin/la/CMakeLists.txt
@@ -0,0 +1,98 @@
+set(HEADERS
+ Amesos2LUSolver.h
+ BelosKrylovSolver.h
+ BlockMatrix.h
+ BlockVector.h
+ CoordinateMatrix.h
+ DefaultFactory.h
+ dolfin_la.h
+ EigenFactory.h
+ EigenKrylovSolver.h
+ EigenLUSolver.h
+ EigenMatrix.h
+ EigenVector.h
+ GenericLinearAlgebraFactory.h
+ GenericLinearOperator.h
+ GenericLinearSolver.h
+ GenericLUSolver.h
+ GenericMatrix.h
+ GenericTensor.h
+ GenericVector.h
+ Ifpack2Preconditioner.h
+ IndexMap.h
+ KrylovSolver.h
+ LinearAlgebraObject.h
+ LinearOperator.h
+ LinearSolver.h
+ LUSolver.h
+ Matrix.h
+ MueluPreconditioner.h
+ PETScBaseMatrix.h
+ PETScFactory.h
+ PETScKrylovSolver.h
+ PETScLinearOperator.h
+ PETScLUSolver.h
+ PETScMatrix.h
+ PETScObject.h
+ PETScOptions.h
+ PETScPreconditioner.h
+ PETScUserPreconditioner.h
+ PETScVector.h
+ Scalar.h
+ SLEPcEigenSolver.h
+ solve.h
+ SparsityPattern.h
+ TensorLayout.h
+ test_nullspace.h
+ TpetraFactory.h
+ TpetraMatrix.h
+ TpetraVector.h
+ TrilinosParameters.h
+ TrilinosPreconditioner.h
+ Vector.h
+ VectorSpaceBasis.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ Amesos2LUSolver.cpp
+ BelosKrylovSolver.cpp
+ BlockMatrix.cpp
+ BlockVector.cpp
+ CoordinateMatrix.cpp
+ DefaultFactory.cpp
+ EigenFactory.cpp
+ EigenKrylovSolver.cpp
+ EigenLUSolver.cpp
+ EigenMatrix.cpp
+ EigenVector.cpp
+ GenericLinearSolver.cpp
+ GenericMatrix.cpp
+ Ifpack2Preconditioner.cpp
+ IndexMap.cpp
+ KrylovSolver.cpp
+ LinearOperator.cpp
+ LinearSolver.cpp
+ LUSolver.cpp
+ MueluPreconditioner.cpp
+ PETScBaseMatrix.cpp
+ PETScFactory.cpp
+ PETScKrylovSolver.cpp
+ PETScLinearOperator.cpp
+ PETScLUSolver.cpp
+ PETScMatrix.cpp
+ PETScObject.cpp
+ PETScOptions.cpp
+ PETScPreconditioner.cpp
+ PETScUserPreconditioner.cpp
+ PETScVector.cpp
+ SLEPcEigenSolver.cpp
+ solve.cpp
+ SparsityPattern.cpp
+ TensorLayout.cpp
+ test_nullspace.cpp
+ TpetraFactory.cpp
+ TpetraMatrix.cpp
+ TpetraVector.cpp
+ TrilinosParameters.cpp
+ VectorSpaceBasis.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/la/PETScKrylovSolver.cpp b/dolfin/la/PETScKrylovSolver.cpp
index 41a3ebf..1fb6e95 100644
--- a/dolfin/la/PETScKrylovSolver.cpp
+++ b/dolfin/la/PETScKrylovSolver.cpp
@@ -48,8 +48,11 @@ const std::map<std::string, const KSPType> PETScKrylovSolver::_methods
{"tfqmr", KSPTFQMR},
{"richardson", KSPRICHARDSON},
{"bicgstab", KSPBCGS},
+ #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 7 && PETSC_VERSION_RELEASE == 1
{"nash", KSPNASH},
- {"stcg", KSPSTCG} };
+ {"stcg", KSPSTCG}
+ #endif
+};
// Map from method string to description
const std::map<std::string, std::string>
@@ -415,6 +418,7 @@ void PETScKrylovSolver::set_norm_type(norm_type type)
break;
case norm_type::default_norm:
ksp_norm_type = KSP_NORM_DEFAULT;
+ break;
case norm_type::preconditioned:
ksp_norm_type = KSP_NORM_PRECONDITIONED;
break;
diff --git a/dolfin/la/PETScLUSolver.cpp b/dolfin/la/PETScLUSolver.cpp
index 266528c..61beb86 100644
--- a/dolfin/la/PETScLUSolver.cpp
+++ b/dolfin/la/PETScLUSolver.cpp
@@ -105,7 +105,7 @@ Parameters PETScLUSolver::default_parameters()
}
//-----------------------------------------------------------------------------
PETScLUSolver::PETScLUSolver(MPI_Comm comm, std::string method)
- : PETScLUSolver(MPI_COMM_WORLD, NULL, method)
+ : PETScLUSolver(comm, NULL, method)
{
// Do nothing
}
diff --git a/dolfin/la/PETScLinearOperator.cpp b/dolfin/la/PETScLinearOperator.cpp
index be37a9d..fdc2f24 100644
--- a/dolfin/la/PETScLinearOperator.cpp
+++ b/dolfin/la/PETScLinearOperator.cpp
@@ -142,6 +142,10 @@ void PETScLinearOperator::init_layout(const GenericVector& x,
ierr = MatSetType(_matA, MATSHELL);
if (ierr != 0) petsc_error(ierr, __FILE__, "MatSetType");
+ // Set-up matrix
+ ierr = MatSetUp(_matA);
+ if (ierr != 0) petsc_error(ierr, __FILE__, "MatSetUp");
+
// Set context
ierr = MatShellSetContext(_matA, (void*) this);
if (ierr != 0) petsc_error(ierr, __FILE__, "MatSetShellContext");
diff --git a/dolfin/la/PETScObject.cpp b/dolfin/la/PETScObject.cpp
new file mode 100644
index 0000000..f8274fe
--- /dev/null
+++ b/dolfin/la/PETScObject.cpp
@@ -0,0 +1,57 @@
+// Copyright (C) 2013-2016 Garth N. Wells, Jan Blechta
+//
+// This file is part of DOLFIN.
+//
+// DOLFIN is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// DOLFIN is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+
+#ifdef HAS_PETSC
+
+#include <petsc.h>
+
+#include <dolfin/common/SubSystemsManager.h>
+#include <dolfin/log/log.h>
+#include "PETScObject.h"
+
+using namespace dolfin;
+
+//-----------------------------------------------------------------------------
+void PETScObject::petsc_error(int error_code,
+ std::string filename,
+ std::string petsc_function)
+{
+ // Fetch PETSc error description
+ const char* desc;
+ PetscErrorMessage(error_code, &desc, nullptr);
+
+ // Fetch and clear PETSc error message
+ const std::string msg = SubSystemsManager::singleton().petsc_err_msg;
+ SubSystemsManager::singleton().petsc_err_msg = "";
+
+ // Log detailed error info
+ log(TRACE, "PETSc error in '%s', '%s'",
+ filename.c_str(), petsc_function.c_str());
+ log(TRACE, "PETSc error code '%d' (%s), message follows:", error_code, desc);
+ // NOTE: don't put msg as variadic argument; it might get trimmed
+ log(TRACE, std::string(78, '-'));
+ log(TRACE, msg);
+ log(TRACE, std::string(78, '-'));
+
+ // Raise exception with standard error message
+ dolfin_error(filename,
+ "successfully call PETSc function '" + petsc_function + "'",
+ "PETSc error code is: %d (%s)", error_code, desc);
+}
+//-----------------------------------------------------------------------------
+
+#endif
diff --git a/dolfin/la/PETScObject.h b/dolfin/la/PETScObject.h
index 0e4ca75..08df1d7 100644
--- a/dolfin/la/PETScObject.h
+++ b/dolfin/la/PETScObject.h
@@ -14,16 +14,14 @@
//
// You should have received a copy of the GNU Lesser General Public License
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2008-01-07
-// Last changed: 2011-01-24
#ifndef __PETSC_OBJECT_H
#define __PETSC_OBJECT_H
+#ifdef HAS_PETSC
+
#include <string>
#include <dolfin/common/SubSystemsManager.h>
-#include <dolfin/log/log.h>
namespace dolfin
{
@@ -45,15 +43,9 @@ namespace dolfin
/// Print error message for PETSc calls that return an error
static void petsc_error(int error_code,
std::string filename,
- std::string petsc_function)
- {
- dolfin_error(filename,
- "successfully call PETSc function '" + petsc_function + "'",
- "PETSc error code is: %d", error_code);
- }
-
+ std::string petsc_function);
};
-
}
#endif
+#endif
diff --git a/dolfin/la/PETScOptions.cpp b/dolfin/la/PETScOptions.cpp
index 7079bdf..583c7c3 100644
--- a/dolfin/la/PETScOptions.cpp
+++ b/dolfin/la/PETScOptions.cpp
@@ -14,9 +14,6 @@
//
// You should have received a copy of the GNU Lesser General Public License
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2013-08-12
-// Last changed:
#ifdef HAS_PETSC
@@ -53,6 +50,10 @@ void PETScOptions::set(std::string option, std::string value)
void PETScOptions::clear(std::string option)
{
SubSystemsManager::init_petsc();
+
+ if (option[0] != '-')
+ option = '-' + option;
+
PetscErrorCode ierr;
#if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 6 && PETSC_VERSION_RELEASE == 1
ierr = PetscOptionsClearValue(option.c_str());
@@ -60,14 +61,8 @@ void PETScOptions::clear(std::string option)
ierr = PetscOptionsClearValue(NULL, option.c_str());
#endif
if (ierr != 0)
- {
- dolfin_error("PETScOptions.cpp",
- "clear PETSc option/parameter '" + option + "'",
- "PETSc error code is: %d", ierr);
-
- }
+ PETScObject::petsc_error(ierr, __FILE__, "PetscOptionsClearValue");
}
//-----------------------------------------------------------------------------
-
#endif
diff --git a/dolfin/la/PETScOptions.h b/dolfin/la/PETScOptions.h
index 2403c03..b10a567 100644
--- a/dolfin/la/PETScOptions.h
+++ b/dolfin/la/PETScOptions.h
@@ -14,9 +14,6 @@
//
// You should have received a copy of the GNU Lesser General Public License
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-//
-// First added: 2013-08-12
-// Last changed:
#ifndef __DOLFIN_PETSC_OPTIONS_H
#define __DOLFIN_PETSC_OPTIONS_H
@@ -28,10 +25,10 @@
#include <petscoptions.h>
#include <dolfin/common/SubSystemsManager.h>
#include <dolfin/log/log.h>
+#include "PETScObject.h"
namespace dolfin
{
-
/// These class provides static functions that permit users to set
/// and retrieve PETSc options via the PETSc option/parameter
/// system. The option must not be prefixed by '-', e.g.
@@ -63,21 +60,19 @@ namespace dolfin
{
SubSystemsManager::init_petsc();
+ if (option[0] != '-')
+ option = '-' + option;
+
PetscErrorCode ierr;
- std::string _option = "-" + option;
#if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 6 && PETSC_VERSION_RELEASE == 1
- ierr = PetscOptionsSetValue(_option.c_str(),
+ ierr = PetscOptionsSetValue(option.c_str(),
boost::lexical_cast<std::string>(value).c_str());
#else
- ierr = PetscOptionsSetValue(NULL, _option.c_str(),
+ ierr = PetscOptionsSetValue(NULL, option.c_str(),
boost::lexical_cast<std::string>(value).c_str());
#endif
if (ierr != 0)
- {
- dolfin_error("PETScOptions.h",
- "set PETSc option/parameter '" + option + "'",
- "PETSc error code is: %d", ierr);
- }
+ PETScObject::petsc_error(ierr, __FILE__, "PetscOptionsSetValue");
}
/// Clear PETSc option
diff --git a/dolfin/log/CMakeLists.txt b/dolfin/log/CMakeLists.txt
new file mode 100644
index 0000000..675c313
--- /dev/null
+++ b/dolfin/log/CMakeLists.txt
@@ -0,0 +1,21 @@
+set(HEADERS
+ dolfin_log.h
+ Event.h
+ Logger.h
+ log.h
+ LogLevel.h
+ LogManager.h
+ LogStream.h
+ Progress.h
+ Table.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ Event.cpp
+ log.cpp
+ Logger.cpp
+ LogManager.cpp
+ LogStream.cpp
+ Progress.cpp
+ Table.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/math/CMakeLists.txt b/dolfin/math/CMakeLists.txt
new file mode 100644
index 0000000..206dc83
--- /dev/null
+++ b/dolfin/math/CMakeLists.txt
@@ -0,0 +1,12 @@
+set(HEADERS
+ basic.h
+ dolfin_math.h
+ Lagrange.h
+ Legendre.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ basic.cpp
+ Lagrange.cpp
+ Legendre.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/mesh/CMakeLists.txt b/dolfin/mesh/CMakeLists.txt
new file mode 100644
index 0000000..cd9a864
--- /dev/null
+++ b/dolfin/mesh/CMakeLists.txt
@@ -0,0 +1,91 @@
+set(HEADERS
+ BoundaryComputation.h
+ BoundaryMesh.h
+ Cell.h
+ CellType.h
+ DistributedMeshTools.h
+ dolfin_mesh.h
+ DomainBoundary.h
+ DynamicMeshEditor.h
+ Edge.h
+ Face.h
+ FacetCell.h
+ Facet.h
+ HexahedronCell.h
+ IntervalCell.h
+ LocalMeshData.h
+ LocalMeshValueCollection.h
+ MeshColoring.h
+ MeshConnectivity.h
+ MeshData.h
+ MeshDomains.h
+ MeshEditor.h
+ MeshEntity.h
+ MeshEntityIteratorBase.h
+ MeshEntityIterator.h
+ MeshFunction.h
+ MeshGeometry.h
+ Mesh.h
+ MeshHierarchy.h
+ MeshOrdering.h
+ MeshPartitioning.h
+ MeshQuality.h
+ MeshRelation.h
+ MeshRenumbering.h
+ MeshSmoothing.h
+ MeshTopology.h
+ MeshTransformation.h
+ MeshValueCollection.h
+ MultiMesh.h
+ PeriodicBoundaryComputation.h
+ PointCell.h
+ QuadrilateralCell.h
+ SubDomain.h
+ SubMesh.h
+ SubsetIterator.h
+ TetrahedronCell.h
+ TopologyComputation.h
+ TriangleCell.h
+ Vertex.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ BoundaryComputation.cpp
+ BoundaryMesh.cpp
+ CellType.cpp
+ DistributedMeshTools.cpp
+ DynamicMeshEditor.cpp
+ Edge.cpp
+ Face.cpp
+ FacetCell.cpp
+ Facet.cpp
+ HexahedronCell.cpp
+ IntervalCell.cpp
+ LocalMeshData.cpp
+ MeshColoring.cpp
+ MeshConnectivity.cpp
+ Mesh.cpp
+ MeshData.cpp
+ MeshDomains.cpp
+ MeshEditor.cpp
+ MeshEntity.cpp
+ MeshFunction.cpp
+ MeshGeometry.cpp
+ MeshHierarchy.cpp
+ MeshOrdering.cpp
+ MeshPartitioning.cpp
+ MeshQuality.cpp
+ MeshRenumbering.cpp
+ MeshSmoothing.cpp
+ MeshTopology.cpp
+ MeshTransformation.cpp
+ MultiMesh.cpp
+ PeriodicBoundaryComputation.cpp
+ PointCell.cpp
+ QuadrilateralCell.cpp
+ SubDomain.cpp
+ SubMesh.cpp
+ TetrahedronCell.cpp
+ TopologyComputation.cpp
+ TriangleCell.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/mesh/Cell.h b/dolfin/mesh/Cell.h
index 325079a..f2249c9 100644
--- a/dolfin/mesh/Cell.h
+++ b/dolfin/mesh/Cell.h
@@ -126,25 +126,6 @@ namespace dolfin
double h() const
{ return _mesh->type().h(*this); }
- /// Compute diameter of cell (deprecated)
- ///
- /// *Returns*
- /// double
- /// The diameter of the cell.
- ///
- /// *Example*
- /// .. code-block:: c++
- ///
- /// UnitSquareMesh mesh(1, 1);
- /// Cell cell(mesh, 0);
- /// info("%g", cell.diameter());
- ///
- /// output::
- ///
- /// 1.41421
- double diameter() const
- { return _mesh->type().diameter(*this); }
-
/// Compute circumradius of cell
///
/// *Returns*
@@ -289,9 +270,9 @@ namespace dolfin
/// Order entities locally
///
/// *Arguments*
- /// global_vertex_indices (_std::vector<std::size_t>_)
+ /// global_vertex_indices (_std::vector<std::int64_t>_)
/// The global vertex indices.
- void order(const std::vector<std::size_t>& local_to_global_vertex_indices)
+ void order(const std::vector<std::int64_t>& local_to_global_vertex_indices)
{ _mesh->type().order(*this, local_to_global_vertex_indices); }
/// Check if entities are ordered
@@ -303,7 +284,7 @@ namespace dolfin
/// *Returns*
/// bool
/// True iff ordered.
- bool ordered(const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ bool ordered(const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{ return _mesh->type().ordered(*this, local_to_global_vertex_indices); }
/// Check whether given point is contained in cell. This function is
@@ -455,7 +436,7 @@ namespace dolfin
ufc_cell.entity_indices[d].resize(num_entities(d));
if (topology.have_global_indices(d))
{
- const std::vector<std::size_t>& global_indices
+ const std::vector<std::int64_t>& global_indices
= topology.global_indices(d);
for (std::size_t i = 0; i < num_entities(d); ++i)
ufc_cell.entity_indices[d][i] = global_indices[entities(d)[i]];
diff --git a/dolfin/mesh/CellType.cpp b/dolfin/mesh/CellType.cpp
index 85dc38f..f9bc8b6 100644
--- a/dolfin/mesh/CellType.cpp
+++ b/dolfin/mesh/CellType.cpp
@@ -47,13 +47,13 @@ namespace dolfin
{
public:
- GlobalSort(const std::vector<std::size_t>& local_to_global_vertex_indices)
+ GlobalSort(const std::vector<std::int64_t>& local_to_global_vertex_indices)
: g(local_to_global_vertex_indices) {}
bool operator() (const std::size_t& l, const std::size_t& r)
{ return g[l] < g[r]; }
- const std::vector<std::size_t>& g;
+ const std::vector<std::int64_t>& g;
};
}
@@ -102,7 +102,9 @@ CellType* CellType::create(std::string type)
//-----------------------------------------------------------------------------
CellType::Type CellType::string2type(std::string type)
{
- if (type == "interval")
+ if (type == "point")
+ return point;
+ else if (type == "interval")
return interval;
else if (type == "triangle")
return triangle;
@@ -191,14 +193,6 @@ double CellType::h(const MeshEntity& entity) const
return h;
}
//-----------------------------------------------------------------------------
-double CellType::diameter(const MeshEntity& entity) const
-{
- deprecation("CellType::diameter()", "2016.1",
- "Use CellType::circumradius() or CellType::h() instead.");
-
- return 2.0*circumradius(entity);
-}
-//-----------------------------------------------------------------------------
double CellType::inradius(const Cell& cell) const
{
// Check cell type
@@ -242,7 +236,7 @@ double CellType::radius_ratio(const Cell& cell) const
return dim()*r/circumradius(cell);
}
//-----------------------------------------------------------------------------
-bool CellType::ordered(const Cell& cell, const std::vector<std::size_t>&
+bool CellType::ordered(const Cell& cell, const std::vector<std::int64_t>&
local_to_global_vertex_indices) const
{
// Get mesh topology
@@ -299,7 +293,7 @@ bool CellType::ordered(const Cell& cell, const std::vector<std::size_t>&
//-----------------------------------------------------------------------------
void CellType::sort_entities(std::size_t num_vertices,
unsigned int* local_vertices,
- const std::vector<std::size_t>&
+ const std::vector<std::int64_t>&
local_to_global_vertex_indices)
{
// Two cases here, either sort vertices directly (when running in
@@ -313,7 +307,7 @@ void CellType::sort_entities(std::size_t num_vertices,
//-----------------------------------------------------------------------------
bool CellType::increasing(std::size_t num_vertices,
const unsigned int* local_vertices,
- const std::vector<std::size_t>&
+ const std::vector<std::int64_t>&
local_to_global_vertex_indices)
{
// Two cases here, either check vertices directly (when running in serial)
@@ -329,7 +323,7 @@ bool CellType::increasing(std::size_t n0, const unsigned int* v0,
std::size_t n1, const unsigned int* v1,
std::size_t num_vertices,
const unsigned int* local_vertices,
- const std::vector<std::size_t>& local_to_global_vertex_indices)
+ const std::vector<std::int64_t>& local_to_global_vertex_indices)
{
dolfin_assert(n0 == n1);
dolfin_assert(num_vertices > n0);
diff --git a/dolfin/mesh/CellType.h b/dolfin/mesh/CellType.h
index 90f2ab1..16a8d90 100644
--- a/dolfin/mesh/CellType.h
+++ b/dolfin/mesh/CellType.h
@@ -110,9 +110,6 @@ namespace dolfin
/// Compute greatest distance between any two vertices
virtual double h(const MeshEntity& entity) const;
- /// Compute diameter of mesh entity (deprecated)
- double diameter(const MeshEntity& entity) const;
-
/// Compute circumradius of mesh entity
virtual double circumradius(const MeshEntity& entity) const = 0;
@@ -144,11 +141,11 @@ namespace dolfin
/// Order entities locally
virtual void order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const = 0;
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const = 0;
/// Check if entities are ordered
bool ordered(const Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const;
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
virtual bool collides(const Cell& cell, const Point& point) const = 0;
@@ -174,19 +171,19 @@ namespace dolfin
// Sort vertices based on global entity indices
static void sort_entities(std::size_t num_vertices,
unsigned int* vertices,
- const std::vector<std::size_t>& local_to_global_vertex_indices);
+ const std::vector<std::int64_t>& local_to_global_vertex_indices);
private:
// Check if list of vertices is increasing
static bool increasing(std::size_t num_vertices, const unsigned int* vertices,
- const std::vector<std::size_t>& local_to_global_vertex_indices);
+ const std::vector<std::int64_t>& local_to_global_vertex_indices);
// Check that <entity e0 with vertices v0> <= <entity e1 with vertices v1>
static bool increasing(std::size_t n0, const unsigned int* v0,
std::size_t n1, const unsigned int* v1,
std::size_t num_vertices, const unsigned int* vertices,
- const std::vector<std::size_t>& local_to_global_vertex_indices);
+ const std::vector<std::int64_t>& local_to_global_vertex_indices);
};
diff --git a/dolfin/mesh/DistributedMeshTools.cpp b/dolfin/mesh/DistributedMeshTools.cpp
index 1cb540e..e2cca26 100644
--- a/dolfin/mesh/DistributedMeshTools.cpp
+++ b/dolfin/mesh/DistributedMeshTools.cpp
@@ -68,7 +68,7 @@ void DistributedMeshTools::number_entities(const Mesh& mesh, std::size_t d)
shared_entities = _mesh.topology().shared_entities(d);
// Number entities
- std::vector<std::size_t> global_entity_indices;
+ std::vector<std::int64_t> global_entity_indices;
const std::map<unsigned int, std::pair<unsigned int, unsigned int>>
slave_entities;
const std::size_t num_global_entities = number_entities(mesh, slave_entities,
@@ -86,7 +86,7 @@ std::size_t DistributedMeshTools::number_entities(
const Mesh& mesh,
const std::map<unsigned int, std::pair<unsigned int,
unsigned int>>& slave_entities,
- std::vector<std::size_t>& global_entity_indices,
+ std::vector<std::int64_t>& global_entity_indices,
std::map<std::int32_t, std::set<unsigned int>>& shared_entities,
std::size_t d)
{
@@ -159,7 +159,7 @@ std::size_t DistributedMeshTools::number_entities(
}
// Get vertex global indices
- const std::vector<std::size_t>& global_vertex_indices
+ const std::vector<std::int64_t>& global_vertex_indices
= mesh.topology().global_indices(0);
// Get shared vertices (local index, [sharing processes])
@@ -195,10 +195,9 @@ std::size_t DistributedMeshTools::number_entities(
std::size_t offset = num_global_entities.second;
// Prepare list of global entity numbers. Check later that nothing
- // is equal to std::numeric_limits<std::size_t>::max()
+ // is equal to -1
global_entity_indices
- = std::vector<std::size_t>(mesh.size(d),
- std::numeric_limits<std::size_t>::max());
+ = std::vector<std::int64_t>(mesh.size(d), -1);
std::map<Entity, EntityData>::const_iterator it;
@@ -224,10 +223,9 @@ std::size_t DistributedMeshTools::number_entities(
{
// Get entity index
const unsigned int local_entity_index = it1->second.local_index;
- const std::size_t global_entity_index
+ const std::int64_t global_entity_index
= global_entity_indices[local_entity_index];
- dolfin_assert(global_entity_index
- != std::numeric_limits<std::size_t>::max());
+ dolfin_assert(global_entity_index != -1);
// Get entity processes (processes sharing the entity)
const std::vector<unsigned int>& entity_processes = it1->second.processes;
@@ -281,8 +279,8 @@ std::size_t DistributedMeshTools::number_entities(
}
const std::size_t local_entity_index = recv_entity->second.local_index;
- dolfin_assert(global_entity_indices[local_entity_index]
- == std::numeric_limits<std::size_t>::max());
+ dolfin_assert(global_entity_indices[local_entity_index] == -1);
+
global_entity_indices[local_entity_index] = global_index;
}
}
@@ -330,8 +328,7 @@ std::size_t DistributedMeshTools::number_entities(
// Sanity check
for (std::size_t i = 0; i < global_entity_indices.size(); ++i)
{
- dolfin_assert(global_entity_indices[i]
- != std::numeric_limits<std::size_t>::max());
+ dolfin_assert(global_entity_indices[i] != -1);
}
// Build shared_entities (global index, [sharing processes])
@@ -397,7 +394,7 @@ DistributedMeshTools::locate_off_process_entities(const std::vector<std::size_t>
}
// Get global cell entity indices on this process
- const std::vector<std::size_t> global_entity_indices
+ const std::vector<std::int64_t> global_entity_indices
= mesh.topology().global_indices(dim);
dolfin_assert(global_entity_indices.size() == mesh.num_cells());
@@ -540,7 +537,7 @@ std::unordered_map<unsigned int,
shared_entities = mesh.topology().shared_entities(d);
// Get local-to-global indices map
- const std::vector<std::size_t>& global_indices_map
+ const std::vector<std::int64_t>& global_indices_map
= mesh.topology().global_indices(d);
// Global-to-local map for each process
@@ -661,7 +658,7 @@ void DistributedMeshTools::compute_entity_ownership(
const MPI_Comm mpi_comm,
const std::map<std::vector<std::size_t>, unsigned int>& entities,
const std::map<std::int32_t, std::set<unsigned int>>& shared_vertices_local,
- const std::vector<std::size_t>& global_vertex_indices,
+ const std::vector<std::int64_t>& global_vertex_indices,
std::size_t d,
std::vector<std::size_t>& owned_entities,
std::array<std::map<Entity, EntityData>, 2>& shared_entities)
@@ -1174,7 +1171,7 @@ void DistributedMeshTools::reorder_values_by_global_indices(const Mesh& mesh,
boost::multi_array_ref<double, 2>
data_array(data.data(), boost::extents[mesh.num_vertices()][width]);
- std::vector<std::size_t> global_indices;
+ std::vector<std::int64_t> global_indices;
std::vector<double> reduced_data;
// Remove clashing data with multiple copies on different processes
@@ -1197,7 +1194,7 @@ void DistributedMeshTools::reorder_values_by_global_indices(const Mesh& mesh,
void DistributedMeshTools::reorder_values_by_global_indices(MPI_Comm mpi_comm,
std::vector<double>& values,
const std::size_t width,
- const std::vector<std::size_t>& global_indices)
+ const std::vector<std::int64_t>& global_indices)
{
// Number of items to redistribute
diff --git a/dolfin/mesh/DistributedMeshTools.h b/dolfin/mesh/DistributedMeshTools.h
index 87c114f..30f8cb2 100644
--- a/dolfin/mesh/DistributedMeshTools.h
+++ b/dolfin/mesh/DistributedMeshTools.h
@@ -51,7 +51,7 @@ namespace dolfin
const Mesh& mesh,
const std::map<unsigned int, std::pair<unsigned int,
unsigned int> >& slave_entities,
- std::vector<std::size_t>& global_entity_indices,
+ std::vector<std::int64_t>& global_entity_indices,
std::map<std::int32_t, std::set<unsigned int> >& shared_entities,
std::size_t d);
@@ -94,7 +94,7 @@ namespace dolfin
static void reorder_values_by_global_indices(MPI_Comm mpi_comm,
std::vector<double>& values,
const std::size_t width,
- const std::vector<std::size_t>& global_indices);
+ const std::vector<std::int64_t>& global_indices);
private:
@@ -136,7 +136,7 @@ namespace dolfin
const MPI_Comm mpi_comm,
const std::map<std::vector<std::size_t>, unsigned int>& entities,
const std::map<std::int32_t, std::set<unsigned int> >& shared_vertices_local,
- const std::vector<std::size_t>& global_vertex_indices,
+ const std::vector<std::int64_t>& global_vertex_indices,
std::size_t d,
std::vector<std::size_t>& owned_entities,
std::array<std::map<Entity, EntityData>, 2>& shared_entities);
diff --git a/dolfin/mesh/HexahedronCell.cpp b/dolfin/mesh/HexahedronCell.cpp
index 3d5d46d..c3af155 100644
--- a/dolfin/mesh/HexahedronCell.cpp
+++ b/dolfin/mesh/HexahedronCell.cpp
@@ -223,9 +223,10 @@ double HexahedronCell::facet_area(const Cell& cell, std::size_t facet) const
}
//-----------------------------------------------------------------------------
void HexahedronCell::order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{
// Not implemented
+ dolfin_not_implemented();
}
//-----------------------------------------------------------------------------
bool HexahedronCell::collides(const Cell& cell, const Point& point) const
diff --git a/dolfin/mesh/HexahedronCell.h b/dolfin/mesh/HexahedronCell.h
index be8a8bf..66e306b 100644
--- a/dolfin/mesh/HexahedronCell.h
+++ b/dolfin/mesh/HexahedronCell.h
@@ -74,7 +74,7 @@ namespace dolfin
/// Order entities locally
void order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const;
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
bool collides(const Cell& cell, const Point& point) const;
diff --git a/dolfin/mesh/IntervalCell.cpp b/dolfin/mesh/IntervalCell.cpp
index 5d2e2d4..57de710 100644
--- a/dolfin/mesh/IntervalCell.cpp
+++ b/dolfin/mesh/IntervalCell.cpp
@@ -222,7 +222,7 @@ double IntervalCell::facet_area(const Cell& cell, std::size_t facet) const
}
//-----------------------------------------------------------------------------
void IntervalCell::order(Cell& cell,
- const std::vector<std::size_t>&
+ const std::vector<std::int64_t>&
local_to_global_vertex_indices) const
{
// Sort i - j for i > j: 1 - 0
diff --git a/dolfin/mesh/IntervalCell.h b/dolfin/mesh/IntervalCell.h
index 3785a9c..4b5eb16 100644
--- a/dolfin/mesh/IntervalCell.h
+++ b/dolfin/mesh/IntervalCell.h
@@ -94,7 +94,7 @@ namespace dolfin
double facet_area(const Cell& cell, std::size_t facet) const;
/// Order entities locally
- void order(Cell& cell, const std::vector<std::size_t>&
+ void order(Cell& cell, const std::vector<std::int64_t>&
local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
diff --git a/dolfin/mesh/Mesh.cpp b/dolfin/mesh/Mesh.cpp
index de3bba5..bd4ca78 100644
--- a/dolfin/mesh/Mesh.cpp
+++ b/dolfin/mesh/Mesh.cpp
@@ -39,6 +39,7 @@
#include <dolfin/geometry/BoundingBoxTree.h>
#include "BoundaryMesh.h"
#include "Cell.h"
+#include "DistributedMeshTools.h"
#include "Facet.h"
#include "LocalMeshData.h"
#include "MeshColoring.h"
@@ -222,6 +223,12 @@ void Mesh::init() const
init(d0, d1);
}
//-----------------------------------------------------------------------------
+void Mesh::init_global(std::size_t dim) const
+{
+ init(dim);
+ DistributedMeshTools::number_entities(*this, dim);
+}
+//-----------------------------------------------------------------------------
void Mesh::clean()
{
const std::size_t D = topology().dim();
diff --git a/dolfin/mesh/Mesh.h b/dolfin/mesh/Mesh.h
index afdb7ac..e2b80cb 100644
--- a/dolfin/mesh/Mesh.h
+++ b/dolfin/mesh/Mesh.h
@@ -377,6 +377,9 @@ namespace dolfin
/// Compute all entities and connectivity.
void init() const;
+ /// Compute global indices for entity dimension dim
+ void init_global(std::size_t dim) const;
+
/// Clean out all auxiliary topology data. This clears all
/// topological data, except the connectivity between cells and
/// vertices.
diff --git a/dolfin/mesh/MeshEntity.h b/dolfin/mesh/MeshEntity.h
index f0c7078..0af53ec 100644
--- a/dolfin/mesh/MeshEntity.h
+++ b/dolfin/mesh/MeshEntity.h
@@ -129,8 +129,14 @@ namespace dolfin
/// The global index. Set to
/// std::numerical_limits<std::size_t>::max() if global index
/// has not been computed
- std::size_t global_index() const
- { return _mesh->topology().global_indices(_dim)[_local_index]; }
+ std::int64_t global_index() const
+ {
+ const std::vector<std::int64_t>& global_indices
+ = _mesh->topology().global_indices(_dim);
+ if (global_indices.empty())
+ return -1;
+ return global_indices[_local_index];
+ }
/// Return local number of incident mesh entities of given
/// topological dimension
@@ -171,7 +177,12 @@ namespace dolfin
/// std::size_t
/// The index for incident mesh entities of given dimension.
const unsigned int* entities(std::size_t dim) const
- { return _mesh->topology()(_dim, dim)(_local_index); }
+ {
+ const unsigned int* initialized_mesh_entities
+ = _mesh->topology()(_dim, dim)(_local_index);
+ dolfin_assert(initialized_mesh_entities);
+ return initialized_mesh_entities;
+ }
/// Return unique mesh ID
///
@@ -223,7 +234,7 @@ namespace dolfin
= _mesh->topology().shared_entities(_dim);
const auto map_it = sharing_map.find(_local_index);
if (map_it == sharing_map.end())
- return {};
+ return std::set<unsigned int>();
else
return map_it->second;
}
diff --git a/dolfin/mesh/MeshFunction.h b/dolfin/mesh/MeshFunction.h
index 069e021..8e393fc 100644
--- a/dolfin/mesh/MeshFunction.h
+++ b/dolfin/mesh/MeshFunction.h
@@ -374,7 +374,7 @@ namespace dolfin
: Variable("f", "unnamed MeshFunction"),
Hierarchical<MeshFunction<T>>(*this), _mesh(mesh), _dim(0), _size(0)
{
- File file(filename);
+ File file(mesh->mpi_comm(), filename);
file >> *this;
}
//---------------------------------------------------------------------------
diff --git a/dolfin/mesh/MeshGeometry.h b/dolfin/mesh/MeshGeometry.h
index 99819e9..8900f31 100644
--- a/dolfin/mesh/MeshGeometry.h
+++ b/dolfin/mesh/MeshGeometry.h
@@ -60,14 +60,6 @@ namespace dolfin
std::size_t degree() const
{ return _degree; }
- /// Return number of coordinates
- std::size_t size() const
- {
- deprecation("MeshGeometry::size()", "2016.1",
- "Use MeshGeometry::num_vertices() or MeshGeometry::num_points() instead.");
- return num_vertices();
- }
-
/// Return the number of vertex coordinates
std::size_t num_vertices() const
{
diff --git a/dolfin/mesh/MeshOrdering.cpp b/dolfin/mesh/MeshOrdering.cpp
index 604061b..44f2029 100644
--- a/dolfin/mesh/MeshOrdering.cpp
+++ b/dolfin/mesh/MeshOrdering.cpp
@@ -40,7 +40,7 @@ void MeshOrdering::order(Mesh& mesh)
// Get global vertex numbering
dolfin_assert(mesh.topology().have_global_indices(0));
- const std::vector<std::size_t>& local_to_global_vertex_indices
+ const auto& local_to_global_vertex_indices
= mesh.topology().global_indices(0);
// Skip ordering for dimension 0
@@ -64,7 +64,7 @@ bool MeshOrdering::ordered(const Mesh& mesh)
// Get global vertex numbering
dolfin_assert(mesh.topology().have_global_indices(0));
- const std::vector<std::size_t>& local_to_global_vertex_indices
+ const auto& local_to_global_vertex_indices
= mesh.topology().global_indices(0);
// Check if all cells are ordered
diff --git a/dolfin/mesh/MeshPartitioning.h b/dolfin/mesh/MeshPartitioning.h
index ccbf789..0c529c4 100644
--- a/dolfin/mesh/MeshPartitioning.h
+++ b/dolfin/mesh/MeshPartitioning.h
@@ -268,8 +268,7 @@ namespace dolfin
}
// Get global indices on local process
- const std::vector<std::size_t> global_entity_indices
- = mesh.topology().global_indices(D);
+ const auto& global_entity_indices = mesh.topology().global_indices(D);
// Add local (to this process) data to domain marker
std::vector<std::size_t> off_process_global_cell_entities;
diff --git a/dolfin/mesh/MeshTopology.cpp b/dolfin/mesh/MeshTopology.cpp
index 06cf1f8..cb6de76 100644
--- a/dolfin/mesh/MeshTopology.cpp
+++ b/dolfin/mesh/MeshTopology.cpp
@@ -161,7 +161,7 @@ void MeshTopology::init_global_indices(std::size_t dim, std::size_t size)
{
dolfin_assert(dim < _global_indices.size());
_global_indices[dim]
- = std::vector<std::size_t>(size, std::numeric_limits<std::size_t>::max());
+ = std::vector<std::int64_t>(size, -1);
}
//-----------------------------------------------------------------------------
dolfin::MeshConnectivity& MeshTopology::operator() (std::size_t d0,
diff --git a/dolfin/mesh/MeshTopology.h b/dolfin/mesh/MeshTopology.h
index cd78f95..364ab8e 100644
--- a/dolfin/mesh/MeshTopology.h
+++ b/dolfin/mesh/MeshTopology.h
@@ -93,7 +93,7 @@ namespace dolfin
/// Set global index for entity of dimension dim and with local
/// index
void set_global_index(std::size_t dim, std::size_t local_index,
- std::size_t global_index)
+ std::int64_t global_index)
{
dolfin_assert(dim < _global_indices.size());
dolfin_assert(local_index < _global_indices[dim].size());
@@ -102,7 +102,7 @@ namespace dolfin
/// Get local-to-global index map for entities of topological
/// dimension d
- const std::vector<std::size_t>& global_indices(std::size_t d) const
+ const std::vector<std::int64_t>& global_indices(std::size_t d) const
{
dolfin_assert(d < _global_indices.size());
return _global_indices[d];
@@ -182,7 +182,7 @@ namespace dolfin
std::vector<std::size_t> global_num_entities;
// Global indices for mesh entities (empty if not set)
- std::vector<std::vector<std::size_t> > _global_indices;
+ std::vector<std::vector<std::int64_t> > _global_indices;
// For entities of a given dimension d , maps each shared entity
// (local index) to a list of the processes sharing the vertex
diff --git a/dolfin/mesh/PointCell.cpp b/dolfin/mesh/PointCell.cpp
index cb8a540..d45fc42 100644
--- a/dolfin/mesh/PointCell.cpp
+++ b/dolfin/mesh/PointCell.cpp
@@ -145,7 +145,7 @@ double PointCell::facet_area(const Cell& cell, std::size_t facet) const
//-----------------------------------------------------------------------------
void PointCell::order(
Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{
dolfin_error("PointCell.cpp",
"order cell",
diff --git a/dolfin/mesh/PointCell.h b/dolfin/mesh/PointCell.h
index ac74cae..d9a789a 100644
--- a/dolfin/mesh/PointCell.h
+++ b/dolfin/mesh/PointCell.h
@@ -57,7 +57,7 @@ namespace dolfin
std::size_t dim, const unsigned int* v) const;
/// Order entities locally (connectivity 1-0, 2-0, 2-1)
- void order(Cell& cell, const std::vector<std::size_t>&
+ void order(Cell& cell, const std::vector<std::int64_t>&
local_to_global_vertex_indices) const;
/// Compute (generalized) volume (area) of triangle
diff --git a/dolfin/mesh/QuadrilateralCell.cpp b/dolfin/mesh/QuadrilateralCell.cpp
index b88c4df..4f80468 100644
--- a/dolfin/mesh/QuadrilateralCell.cpp
+++ b/dolfin/mesh/QuadrilateralCell.cpp
@@ -251,9 +251,10 @@ double QuadrilateralCell::facet_area(const Cell& cell, std::size_t facet) const
}
//-----------------------------------------------------------------------------
void QuadrilateralCell::order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{
// Not implemented
+ dolfin_not_implemented();
}
//-----------------------------------------------------------------------------
bool QuadrilateralCell::collides(const Cell& cell, const Point& point) const
diff --git a/dolfin/mesh/QuadrilateralCell.h b/dolfin/mesh/QuadrilateralCell.h
index db43a2e..cc8c60c 100644
--- a/dolfin/mesh/QuadrilateralCell.h
+++ b/dolfin/mesh/QuadrilateralCell.h
@@ -74,7 +74,7 @@ namespace dolfin
/// Order entities locally
void order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const;
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
bool collides(const Cell& cell, const Point& point) const;
diff --git a/dolfin/mesh/TetrahedronCell.cpp b/dolfin/mesh/TetrahedronCell.cpp
index a1d73af..92211c6 100644
--- a/dolfin/mesh/TetrahedronCell.cpp
+++ b/dolfin/mesh/TetrahedronCell.cpp
@@ -360,7 +360,7 @@ double TetrahedronCell::facet_area(const Cell& cell, std::size_t facet) const
//-----------------------------------------------------------------------------
void TetrahedronCell::order(
Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{
// Sort i - j for i > j: 1 - 0, 2 - 0, 2 - 1, 3 - 0, 3 - 1, 3 - 2
diff --git a/dolfin/mesh/TetrahedronCell.h b/dolfin/mesh/TetrahedronCell.h
index dc30f34..c744ac2 100644
--- a/dolfin/mesh/TetrahedronCell.h
+++ b/dolfin/mesh/TetrahedronCell.h
@@ -83,7 +83,7 @@ namespace dolfin
double facet_area(const Cell& cell, std::size_t facet) const;
/// Order entities locally
- void order(Cell& cell, const std::vector<std::size_t>&
+ void order(Cell& cell, const std::vector<std::int64_t>&
local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
diff --git a/dolfin/mesh/TopologyComputation.cpp b/dolfin/mesh/TopologyComputation.cpp
index fd890c5..8b645e5 100644
--- a/dolfin/mesh/TopologyComputation.cpp
+++ b/dolfin/mesh/TopologyComputation.cpp
@@ -201,7 +201,7 @@ std::size_t TopologyComputation::compute_entities_old(Mesh& mesh, std::size_t di
}
// Initialise connectivity data structure
- topology.init(dim, connectivity_ev.size(), connectivity_ev.size());
+ topology.init(dim, connectivity_ev.size(), 0);
// Initialise ghost entity offset
topology.init_ghost(dim, num_regular_entities);
@@ -470,8 +470,7 @@ std::int32_t TopologyComputation::compute_entities_by_key_matching(Mesh& mesh,
}
// Initialise connectivity data structure
- topology.init(dim, connectivity_ev.size() + connectivity_ev_ghost.size(),
- connectivity_ev.size() + connectivity_ev_ghost.size());
+ topology.init(dim, connectivity_ev.size() + connectivity_ev_ghost.size(), 0);
// Initialise ghost entity offset
topology.init_ghost(dim, connectivity_ev.size());
diff --git a/dolfin/mesh/TriangleCell.cpp b/dolfin/mesh/TriangleCell.cpp
index e1871ef..16fff54 100644
--- a/dolfin/mesh/TriangleCell.cpp
+++ b/dolfin/mesh/TriangleCell.cpp
@@ -386,7 +386,7 @@ double TriangleCell::facet_area(const Cell& cell, std::size_t facet) const
//-----------------------------------------------------------------------------
void TriangleCell::order(
Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const
{
// Sort i - j for i > j: 1 - 0, 2 - 0, 2 - 1
diff --git a/dolfin/mesh/TriangleCell.h b/dolfin/mesh/TriangleCell.h
index 0958c9f..2cf0f66 100644
--- a/dolfin/mesh/TriangleCell.h
+++ b/dolfin/mesh/TriangleCell.h
@@ -89,7 +89,7 @@ namespace dolfin
/// Order entities locally
void order(Cell& cell,
- const std::vector<std::size_t>& local_to_global_vertex_indices) const;
+ const std::vector<std::int64_t>& local_to_global_vertex_indices) const;
/// Check whether given point collides with cell
bool collides(const Cell& cell, const Point& point) const;
diff --git a/dolfin/multistage/CMakeLists.txt b/dolfin/multistage/CMakeLists.txt
new file mode 100644
index 0000000..8877126
--- /dev/null
+++ b/dolfin/multistage/CMakeLists.txt
@@ -0,0 +1,12 @@
+set(HEADERS
+ dolfin_multistage.h
+ MultiStageScheme.h
+ PointIntegralSolver.h
+ RKSolver.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ MultiStageScheme.cpp
+ PointIntegralSolver.cpp
+ RKSolver.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/multistage/MultiStageScheme.cpp b/dolfin/multistage/MultiStageScheme.cpp
index dc2be53..cf10aad 100644
--- a/dolfin/multistage/MultiStageScheme.cpp
+++ b/dolfin/multistage/MultiStageScheme.cpp
@@ -21,6 +21,8 @@
#include <sstream>
#include <memory>
#include <dolfin/log/log.h>
+#include <dolfin/function/FunctionSpace.h>
+#include <dolfin/fem/DirichletBC.h>
#include "MultiStageScheme.h"
@@ -104,9 +106,9 @@ bool MultiStageScheme::implicit(unsigned int stage) const
if (stage >= _stage_forms.size())
{
dolfin_error("MultiStageScheme.cpp",
- "querying if stage is implicit",
- "Expecting a stage less than the number of total stages in "
- "the scheme.");
+ "querying if stage is implicit",
+ "Expecting a stage less than the number of total stages in "
+ "the scheme.");
}
return _stage_forms[stage].size() == 2;
@@ -123,9 +125,9 @@ int MultiStageScheme::jacobian_index(unsigned int stage) const
if (stage >= _jacobian_indices.size())
{
dolfin_error("MultiStageScheme.cpp",
- "querying for jacobian index",
- "Expecting a stage less than the number of total stages in "
- "the scheme.");
+ "querying for jacobian index",
+ "Expecting a stage less than the number of total stages in "
+ "the scheme.");
}
return _jacobian_indices[stage];
@@ -147,9 +149,9 @@ void MultiStageScheme::_check_arguments()
if (_stage_solutions.size()!=_stage_forms.size())
{
dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the number of stage solutions to be the sames as "\
- "number of stage forms");
+ "construct MultiStageScheme",
+ "Expecting the number of stage solutions to be the sames as "
+ "number of stage forms");
}
// Check that the number of coefficients in last form is the same as
@@ -157,9 +159,9 @@ void MultiStageScheme::_check_arguments()
/*
if (_last_stage->num_coefficients() != _stage_forms.size())
dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the number of stage solutions to be the sames as " \
- "number of coefficients in the last form");
+ "construct MultiStageScheme",
+ "Expecting the number of stage solutions to be the sames as " \
+ "number of coefficients in the last form");
*/
// Check solution is in the same space as the last stage solution
@@ -167,8 +169,8 @@ void MultiStageScheme::_check_arguments()
_u->in(*_stage_solutions[_stage_solutions.size()-1]->function_space())))
{
dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting all solutions to be in the same FunctionSpace");
+ "construct MultiStageScheme",
+ "Expecting all solutions to be in the same FunctionSpace");
}
// Check number of passed stage forms
@@ -178,16 +180,16 @@ void MultiStageScheme::_check_arguments()
if (!_u->in(*_stage_solutions[i]->function_space()))
{
dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting all solutions to be in the same FunctionSpace");
+ "construct MultiStageScheme",
+ "Expecting all solutions to be in the same FunctionSpace");
}
// Check we have correct number of forms
if (_stage_forms[i].size()==0 or _stage_forms[i].size()>2)
{
dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting stage_forms to only include vectors of size 1 or 2");
+ "construct MultiStageScheme",
+ "Expecting stage_forms to only include vectors of size 1 or 2");
}
// Check if Scheme is implicit
@@ -198,28 +200,40 @@ void MultiStageScheme::_check_arguments()
// First form should be the linear (in testfunction) form
if (_stage_forms[i][0]->rank() != 1)
{
- dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the right-hand side of stage form %d to be a "\
- "linear form (not rank %d)", i, _stage_forms[i][0]->rank());
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the right-hand side of stage form %d to be a "
+ "linear form (not rank %d)", i, _stage_forms[i][0]->rank());
}
// Second form should be the bilinear form
if (_stage_forms[i][1]->rank() != 2)
{
- dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the left-hand side of stage form %d to be a "\
- "linear form (not rank %d)", i, _stage_forms[i][1]->rank());
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the left-hand side of stage form %d to be a "
+ "linear form (not rank %d)", i, _stage_forms[i][1]->rank());
}
// Check that function space of solution variable matches trial space
if (!_stage_solutions[i]->in(*_stage_forms[i][1]->function_space(1)))
{
- dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the stage solution %d to be a member of the "
- "trial space of stage form %d", i, i);
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the stage solution %d to be a member of the "
+ "trial space of stage form %d", i, i);
+ }
+
+ // Check that function spaces of bcs are contained in trial space
+ for (const auto bc: _bcs)
+ {
+ if (!_stage_forms[i][1]->function_space(1)->contains(*bc->function_space()))
+ {
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the boundary conditions to to live on (a "
+ "subspace of) the trial space");
+ }
}
}
else
@@ -227,19 +241,31 @@ void MultiStageScheme::_check_arguments()
// Check explicit stage form
if (_stage_forms[i][0]->rank() != 1)
{
- dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting stage form %d to be a linear form (not "\
- "rank %d)", i, _stage_forms[i][0]->rank());
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting stage form %d to be a linear form (not "
+ "rank %d)", i, _stage_forms[i][0]->rank());
}
// Check that function space of solution variable matches trial space
if (!_stage_solutions[i]->in(*_stage_forms[i][0]->function_space(0)))
{
- dolfin_error("MultiStageScheme.cpp",
- "construct MultiStageScheme",
- "Expecting the stage solution %d to be a member of the "
- "test space of stage form %d", i, i);
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the stage solution %d to be a member of the "
+ "test space of stage form %d", i, i);
+ }
+
+ // Check that function spaces of bcs are contained in trial space
+ for (const auto bc: _bcs)
+ {
+ if (!_stage_forms[i][0]->function_space(0)->contains(*bc->function_space()))
+ {
+ dolfin_error("MultiStageScheme.cpp",
+ "construct MultiStageScheme",
+ "Expecting the boundary conditions to to live on (a "
+ "subspace of) the trial space");
+ }
}
}
}
diff --git a/dolfin/nls/CMakeLists.txt b/dolfin/nls/CMakeLists.txt
new file mode 100644
index 0000000..b00ec5c
--- /dev/null
+++ b/dolfin/nls/CMakeLists.txt
@@ -0,0 +1,16 @@
+set(HEADERS
+ dolfin_nls.h
+ NewtonSolver.h
+ NonlinearProblem.h
+ OptimisationProblem.h
+ PETScSNESSolver.h
+ PETScTAOSolver.h
+ TAOLinearBoundSolver.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ NewtonSolver.cpp
+ PETScSNESSolver.cpp
+ PETScTAOSolver.cpp
+ TAOLinearBoundSolver.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/nls/PETScSNESSolver.cpp b/dolfin/nls/PETScSNESSolver.cpp
index 9dbc560..6802098 100644
--- a/dolfin/nls/PETScSNESSolver.cpp
+++ b/dolfin/nls/PETScSNESSolver.cpp
@@ -174,7 +174,7 @@ void PETScSNESSolver::init(NonlinearProblem& nonlinear_problem,
GenericVector& x)
{
Timer timer("SNES solver init");
- PETScMatrix A;
+ PETScMatrix A(this->mpi_comm());
// Set linear solver parameters
set_linear_solver_parameters();
@@ -386,7 +386,7 @@ PetscErrorCode PETScSNESSolver::FormFunction(SNES snes, Vec x, Vec f, void* ctx)
_x ->update_ghost_values();
// Compute F(u)
- PETScMatrix A;
+ PETScMatrix A(_x->mpi_comm());
nonlinear_problem->form(A, f_wrap, *_x);
nonlinear_problem->F(f_wrap, *_x);
@@ -430,7 +430,7 @@ PetscErrorCode PETScSNESSolver::FormJacobian(SNES snes, Vec x, Mat A, Mat P,
PETScVector x_wrap(x);
// Form Jacobian
- PETScVector f;
+ PETScVector f(x_wrap.mpi_comm());
nonlinear_problem->form(A_wrap, f, x_wrap);
nonlinear_problem->J(A_wrap, x_wrap);
@@ -492,14 +492,20 @@ void PETScSNESSolver::set_linear_solver_parameters()
Parameters krylov_parameters = parameters("krylov_solver");
- // Non-zero initial guess
- const bool nonzero_guess = krylov_parameters["nonzero_initial_guess"];
- if (nonzero_guess)
- KSPSetInitialGuessNonzero(ksp, PETSC_TRUE);
- else
- KSPSetInitialGuessNonzero(ksp, PETSC_FALSE);
+ // Set non-zero initial guess...
+ if (krylov_parameters["nonzero_initial_guess"].is_set())
+ {
+ const bool nonzero_guess = krylov_parameters["nonzero_initial_guess"];
+ if (nonzero_guess)
+ KSPSetInitialGuessNonzero(ksp, PETSC_TRUE);
+ else
+ KSPSetInitialGuessNonzero(ksp, PETSC_FALSE);
+ }
+ // ... otherwise use the default, what has been set before,
+ // or directly through PETSc API or parameter system
- if (krylov_parameters["monitor_convergence"])
+ if (krylov_parameters["monitor_convergence"].is_set()
+ && krylov_parameters["monitor_convergence"])
{
#if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 6 && PETSC_VERSION_RELEASE == 1
KSPMonitorSet(ksp, KSPMonitorTrueResidualNorm,
@@ -518,13 +524,20 @@ void PETScSNESSolver::set_linear_solver_parameters()
#endif
}
- // Set tolerances
- const int max_iters = krylov_parameters["maximum_iterations"];
- KSPSetTolerances(ksp,
- krylov_parameters["relative_tolerance"],
- krylov_parameters["absolute_tolerance"],
- krylov_parameters["divergence_limit"],
- max_iters);
+ // Check if a tolerance has been set
+ if (krylov_parameters["relative_tolerance"].is_set()
+ or krylov_parameters["absolute_tolerance"].is_set()
+ or krylov_parameters["divergence_limit"].is_set()
+ or krylov_parameters["maximum_iterations"].is_set())
+ {
+ // Set tolerances
+ const double rtol = krylov_parameters["relative_tolerance"].is_set() ? (double)krylov_parameters["relative_tolerance"] : PETSC_DEFAULT;
+ const double atol = krylov_parameters["absolute_tolerance"].is_set() ? (double)krylov_parameters["absolute_tolerance"] : PETSC_DEFAULT;
+ const double dtol = krylov_parameters["divergence_limit"].is_set() ? (double)krylov_parameters["divergence_limit"] : PETSC_DEFAULT;
+ const int max_it = krylov_parameters["maximum_iterations"].is_set() ? (int)krylov_parameters["maximum_iterations"] : PETSC_DEFAULT;
+ ierr = KSPSetTolerances(ksp, rtol, atol, dtol, max_it);
+ if (ierr != 0) petsc_error(ierr, __FILE__, "KSPSetTolerances");
+ }
}
else if (linear_solver == "lu"
|| PETScLUSolver::_methods.count(linear_solver) != 0)
diff --git a/dolfin/nls/TAOLinearBoundSolver.cpp b/dolfin/nls/TAOLinearBoundSolver.cpp
index 69f0c7b..b6259ab 100644
--- a/dolfin/nls/TAOLinearBoundSolver.cpp
+++ b/dolfin/nls/TAOLinearBoundSolver.cpp
@@ -47,8 +47,10 @@ const std::map<std::string, const KSPType> TAOLinearBoundSolver::_ksp_methods
{"minres", KSPMINRES},
{"tfqmr", KSPTFQMR},
{"richardson", KSPRICHARDSON},
+ #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR <= 7 && PETSC_VERSION_RELEASE == 1
{"nash", KSPNASH},
{"stcg", KSPSTCG},
+ #endif
{"bicgstab", KSPBCGS} };
//-----------------------------------------------------------------------------
// Mapping from method string to description
@@ -312,6 +314,7 @@ void TAOLinearBoundSolver::set_ksp(std::string ksp_type)
if (ierr != 0) petsc_error(ierr, __FILE__, "TaoGetKSP");
if (ksp)
{
+ dolfin_assert(_ksp_methods.find(ksp_type) != _ksp_methods.end());
ierr = KSPSetType(ksp, _ksp_methods.find(ksp_type)->second);
if (ierr != 0) petsc_error(ierr, __FILE__, "KSPSetType");
}
diff --git a/dolfin/parameter/CMakeLists.txt b/dolfin/parameter/CMakeLists.txt
new file mode 100644
index 0000000..fb02dec
--- /dev/null
+++ b/dolfin/parameter/CMakeLists.txt
@@ -0,0 +1,12 @@
+set(HEADERS
+ dolfin_parameter.h
+ GlobalParameters.h
+ Parameter.h
+ Parameters.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ GlobalParameters.cpp
+ Parameter.cpp
+ Parameters.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/plot/CMakeLists.txt b/dolfin/plot/CMakeLists.txt
new file mode 100644
index 0000000..df326b4
--- /dev/null
+++ b/dolfin/plot/CMakeLists.txt
@@ -0,0 +1,25 @@
+set(HEADERS
+ dolfin_plot.h
+ ExpressionWrapper.h
+ GenericVTKPlottable.h
+ plot.h
+ VTKPlottableDirichletBC.h
+ VTKPlottableGenericFunction1D.h
+ VTKPlottableGenericFunction.h
+ VTKPlottableMeshFunction.h
+ VTKPlottableMesh.h
+ VTKPlotter.h
+ VTKWindowOutputStage.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ ExpressionWrapper.cpp
+ plot.cpp
+ VTKPlottableDirichletBC.cpp
+ VTKPlottableGenericFunction1D.cpp
+ VTKPlottableGenericFunction.cpp
+ VTKPlottableMesh.cpp
+ VTKPlottableMeshFunction.cpp
+ VTKPlotter.cpp
+ VTKWindowOutputStage.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/plot/VTKPlotter.h b/dolfin/plot/VTKPlotter.h
index 18875b9..856898c 100644
--- a/dolfin/plot/VTKPlotter.h
+++ b/dolfin/plot/VTKPlotter.h
@@ -213,14 +213,6 @@ namespace dolfin
void plot(std::shared_ptr<const Variable>
variable=std::shared_ptr<const Variable>());
- // FIXME: Deprecated? What should it do?
- void update(std::shared_ptr<const Variable>
- variable=std::shared_ptr<const Variable>())
- {
- warning("VTKPlotter::update is deprecated, use ::plot instead");
- plot(variable);
- }
-
/// Make the current plot interactive
void interactive(bool enter_eventloop = true);
diff --git a/dolfin/refinement/CMakeLists.txt b/dolfin/refinement/CMakeLists.txt
new file mode 100644
index 0000000..7bc1ad6
--- /dev/null
+++ b/dolfin/refinement/CMakeLists.txt
@@ -0,0 +1,18 @@
+set(HEADERS
+ BisectionRefinement1D.h
+ dolfin_refinement.h
+ LocalMeshCoarsening.h
+ ParallelRefinement.h
+ PlazaRefinementND.h
+ refine.h
+ RegularCutRefinement.h
+ PARENT_SCOPE)
+
+set(SOURCES
+ BisectionRefinement1D.cpp
+ LocalMeshCoarsening.cpp
+ ParallelRefinement.cpp
+ PlazaRefinementND.cpp
+ refine.cpp
+ RegularCutRefinement.cpp
+ PARENT_SCOPE)
diff --git a/dolfin/refinement/LocalMeshCoarsening.cpp b/dolfin/refinement/LocalMeshCoarsening.cpp
index e98890a..c0bdae7 100644
--- a/dolfin/refinement/LocalMeshCoarsening.cpp
+++ b/dolfin/refinement/LocalMeshCoarsening.cpp
@@ -256,7 +256,7 @@ bool LocalMeshCoarsening::coarsen_cell(Mesh& mesh, Mesh& coarse_mesh,
// Find shortest edge of cell c
_collapse_edge = false;
- lmin = 1.0e10*cell.diameter();
+ lmin = 1.0e10*cell.circumradius();
for (EdgeIterator e(cell); !e.end(); ++e)
{
edge_vertex = e->entities(0);
@@ -401,7 +401,7 @@ bool LocalMeshCoarsening::coarsen_cell(Mesh& mesh, Mesh& coarse_mesh,
if(nid != -1)
{
Cell cn(coarse_mesh, nid);
- double qm = cn.volume() / cn.diameter();
+ double qm = cn.volume() / cn.circumradius();
if(qm < vol_tol)
{
warning("Cell quality too low");
diff --git a/dolfin/refinement/ParallelRefinement.cpp b/dolfin/refinement/ParallelRefinement.cpp
index 5abaf92..ffaff1a 100644
--- a/dolfin/refinement/ParallelRefinement.cpp
+++ b/dolfin/refinement/ParallelRefinement.cpp
@@ -237,7 +237,7 @@ void ParallelRefinement::create_new_vertices()
// Attach global indices to each vertex, old and new, and sort
// them across processes into this order
- std::vector<std::size_t> global_indices(_mesh.topology().global_indices(0));
+ std::vector<std::int64_t> global_indices(_mesh.topology().global_indices(0));
for (std::size_t i = 0; i < num_new_vertices; i++)
global_indices.push_back(i + global_offset);
diff --git a/dolfin/swig/CMakeLists.txt b/dolfin/swig/CMakeLists.txt
index 052c1c5..3a707c8 100644
--- a/dolfin/swig/CMakeLists.txt
+++ b/dolfin/swig/CMakeLists.txt
@@ -24,8 +24,7 @@ endif()
# Prevent clang emitting warnings for SWIG-generated code
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- set(CLANG_FLAGS "-Wno-logical-not-parentheses -Wno-logical-op-parentheses \
--Wno-tautological-constant-out-of-range-compare")
+ set(CLANG_FLAGS "-Wno-logical-not-parentheses -Wno-logical-op-parentheses -Wno-tautological-constant-out-of-range-compare")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CLANG_FLAGS}")
set(CMAKE_CXX_FLAGS_DEVELOPER "${CMAKE_CXX_FLAGS_DEVELOPER} ${CLANG_FLAGS}")
@@ -45,10 +44,10 @@ if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/modules)
message(STATUS "Generating SWIG interface.")
message(STATUS "--------------------------")
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface.py ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR})
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings.py ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR})
endif()
@@ -64,35 +63,35 @@ file(GLOB_RECURSE ORIGINAL_INTERFACE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.i)
# Target to copy all swig files from source to build directory
add_custom_target(copy_swig_files
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-swig-files ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/copy-swig-files.py ${CMAKE_BINARY_DIR}
DEPENDS ${ORIGINAL_INTERFACE_FILES}
)
# Target to generate all swig interface files
add_custom_target(generate_swig_files
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface ${CMAKE_BINARY_DIR}
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface.py ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings.py ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
COMMENT "Generating all SWIG interface files"
)
# Target to generate swig interface files
add_custom_target(generate_swig_interface
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-interface.py ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
COMMENT "Generating SWIG interface files"
)
# Target to generate swig docstring files
add_custom_target(generate_swig_docstrings
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings ${CMAKE_BINARY_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings.py ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
COMMENT "Generating SWIG docstring files from C++ headers"
)
# Target to generate swig docstring files with debug
add_custom_target(generate_swig_docstrings_with_debug
- COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings ${CMAKE_BINARY_DIR} DEBUG
+ COMMAND ${PYTHON_EXECUTABLE} ${DOLFIN_SOURCE_DIR}/cmake/scripts/generate-swig-docstrings.py ${CMAKE_BINARY_DIR} DEBUG
WORKING_DIRECTORY ${DOLFIN_SOURCE_DIR}
COMMENT "Generating SWIG docstring files from C++ headers (DEBUG modus)"
)
diff --git a/dolfin/swig/adaptivity/docstrings.i b/dolfin/swig/adaptivity/docstrings.i
index 86c51e1..efeced1 100644
--- a/dolfin/swig/adaptivity/docstrings.i
+++ b/dolfin/swig/adaptivity/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/ale/docstrings.i b/dolfin/swig/ale/docstrings.i
index f02389f..ecca804 100644
--- a/dolfin/swig/ale/docstrings.i
+++ b/dolfin/swig/ale/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/common/docstrings.i b/dolfin/swig/common/docstrings.i
index 41f12b7..3f59560 100644
--- a/dolfin/swig/common/docstrings.i
+++ b/dolfin/swig/common/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
@@ -946,3 +946,9 @@ Check if MPI has been finalized (returns true if MPI has been
finalised)
";
+%feature("docstring") dolfin::SubSystemsManager::PetscDolfinErrorHandler "
+PETSc error handler. Logs everything known to DOLFIN logging
+system (with level TRACE) and stores the error message into
+pests_err_msg member.
+";
+
diff --git a/dolfin/swig/common/pre.i b/dolfin/swig/common/pre.i
index d41de19..6f2a6de 100644
--- a/dolfin/swig/common/pre.i
+++ b/dolfin/swig/common/pre.i
@@ -73,6 +73,7 @@
%rename("%s", regextarget=1, fullname=1) "ufc::cell::~cell()$";
%rename("%s", regextarget=1, fullname=1) "ufc::dofmap::~dofmap()$";
%rename("%s", regextarget=1, fullname=1) "ufc::finite_element::~finite_element()*$";
+%rename("%s", regextarget=1, fullname=1) "ufc::coordinate_mapping::~coordinate_mapping()*$";
%rename("%s", regextarget=1, fullname=1) "ufc::form::~form()*$";
%rename("%s", regextarget=1, fullname=1) "ufc::function::~function()*$";
@@ -96,8 +97,9 @@
// Rename only the symbols we need to ufc_* 'namespace'
%rename(ufc_cell) ufc::cell;
-%rename(ufc_dofmap) ufc::dofmap;
%rename(ufc_finite_element) ufc::finite_element;
+%rename(ufc_dofmap) ufc::dofmap;
+%rename(ufc_coordinate_mapping) ufc::coordinate_mapping;
%rename(ufc_form) ufc::form;
%rename(ufc_function) ufc::function;
%include <ufc.h>
@@ -106,6 +108,7 @@
// void * to a new object, these functions will cast them into our
// swig wrapper type system and make them shared_ptrs in the process
// to manage their lifetime.
+// Note: assuming std::size_t == std::uint_ptr_t here, should rather use that one
%inline %{
std::shared_ptr<const ufc::finite_element> make_ufc_finite_element(void * element)
{
@@ -131,6 +134,18 @@ std::shared_ptr<const ufc::dofmap> make_ufc_dofmap(std::size_t dofmap)
return std::shared_ptr<const ufc::dofmap>(p);
}
+std::shared_ptr<const ufc::coordinate_mapping> make_ufc_coordinate_mapping(void * element)
+{
+ ufc::coordinate_mapping * p = static_cast<ufc::coordinate_mapping *>(element);
+ return std::shared_ptr<const ufc::coordinate_mapping>(p);
+}
+
+std::shared_ptr<const ufc::coordinate_mapping> make_ufc_coordinate_mapping(std::size_t element)
+{
+ ufc::coordinate_mapping * p = reinterpret_cast<ufc::coordinate_mapping *>(element);
+ return std::shared_ptr<const ufc::coordinate_mapping>(p);
+}
+
std::shared_ptr<const ufc::form> make_ufc_form(void * form)
{
ufc::form * p = static_cast<ufc::form *>(form);
@@ -198,3 +213,9 @@ std::shared_ptr<const ufc::form> make_ufc_form(std::size_t form)
// Ignores for Variable
//-----------------------------------------------------------------------------
%ignore dolfin::Variable::operator=;
+
+//-----------------------------------------------------------------------------
+// Ignores for SubSystemsManager
+//-----------------------------------------------------------------------------
+// Would not be useful from Python without further tweaking probably
+%ignore dolfin::SubSystemsManager::PetscDolfinErrorHandler;
diff --git a/dolfin/swig/fem/docstrings.i b/dolfin/swig/fem/docstrings.i
index a509e76..4c634c4 100644
--- a/dolfin/swig/fem/docstrings.i
+++ b/dolfin/swig/fem/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
@@ -38,12 +38,6 @@ Return the dimension of the global finite element function
space
";
-%feature("docstring") dolfin::GenericDofMap::local_dimension "
-Return number of owned (type=\"owned\"), unowned
-(type=\"unowned\"), or all (type=\"all\") dofs in the map on this
-process
-";
-
%feature("docstring") dolfin::GenericDofMap::cell_dimension "
Return the dimension of the local finite element function
space on a cell (deprecated API)
@@ -226,19 +220,6 @@ space
The dimension of the global finite element function space.
";
-%feature("docstring") dolfin::DofMap::local_dimension "
-Return number of owned, unowned, or all dofs in the dofmap on
-this process
-
-*Arguments*
- type (str)
- Either \"owned\", \"unowned\", or \"all\"
-
-*Returns*
- int
- Number of local dofs.
-";
-
%feature("docstring") dolfin::DofMap::num_element_dofs "
Return the dimension of the local finite element function
space on a cell
@@ -1142,7 +1123,15 @@ Apply (add) point source to right-hand side vector
";
%feature("docstring") dolfin::assemble_multimesh "
-Assemble tensor from multimesh form
+**Overloaded versions**
+
+* assemble_multimesh\ (A, a)
+
+ Assemble tensor from multimesh form
+
+* assemble_multimesh\ (a)
+
+ Assemble scalar from multimesh form
";
// Documentation extracted from: (module=fem, header=assemble_local.h)
diff --git a/dolfin/swig/function/docstrings.i b/dolfin/swig/function/docstrings.i
index 70f5cc6..5eef045 100644
--- a/dolfin/swig/function/docstrings.i
+++ b/dolfin/swig/function/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
@@ -846,6 +846,18 @@ Extract subspace for component
The subspace.
";
+%feature("docstring") dolfin::FunctionSpace::contains "
+Check whether V is subspace of this, or this itself
+
+*Arguments*
+ V (:py:class:`FunctionSpace`)
+ The space to be tested for inclusion.
+
+*Returns*
+ bool
+ True if V is contained or equal to this.
+";
+
%feature("docstring") dolfin::FunctionSpace::collapse "
**Overloaded versions**
@@ -896,11 +908,12 @@ Check if function space has given element
";
%feature("docstring") dolfin::FunctionSpace::component "
-Return component
+Return component w.r.t. to root superspace, i.e.
+ W.sub(1).sub(0) == [1, 0].
*Returns*
numpy.array(int)
- The component (relative to superspace).
+ The component (w.r.t to root superspace).
";
%feature("docstring") dolfin::FunctionSpace::tabulate_dof_coordinates "
@@ -1116,6 +1129,17 @@ Evaluate function
dim (int)
The value-dimension of the Functions
+
+* SpecialFacetFunction\ (f_e, value_shape)
+
+ Create (tensor-valued) SpecialFacetFunction
+
+ *Arguments*
+ f_e (list of :py:class:`Function`)
+ Separate _Function_s for each facet
+
+ value_shape (numpy.array(int))
+ The values-shape of the Functions
";
%feature("docstring") dolfin::SpecialFacetFunction::eval "
@@ -1142,11 +1166,32 @@ intersecting meshes.
";
%feature("docstring") dolfin::MultiMeshFunction::MultiMeshFunction "
-Create MultiMesh function on given MultiMesh function space
+**Overloaded versions**
-*Arguments*
- V (:py:class:`MultiMeshFunctionSpace`)
- The MultiMesh function space.
+* MultiMeshFunction\ ()
+
+ Constructor
+
+* MultiMeshFunction\ (V)
+
+ Create MultiMesh function on given MultiMesh function space
+
+ *Arguments*
+ V (:py:class:`MultiMeshFunctionSpace`)
+ The MultiMesh function space.
+
+* MultiMeshFunction\ (V, x)
+
+ Create MultiMesh function on given MultiMesh function space with a given vector
+ (shared data)
+
+ *Warning: This constructor is intended for internal library use only*
+
+ *Arguments*
+ V (:py:class:`MultiMeshFunctionSpace`)
+ The multimesh function space.
+ x (:py:class:`GenericVector`)
+ The vector.
";
%feature("docstring") dolfin::MultiMeshFunction::part "
@@ -1177,6 +1222,14 @@ Return function (part) number i
The vector of expansion coefficients (const).
";
+%feature("docstring") dolfin::MultiMeshFunction::function_space "
+Return shared pointer to multi mesh function space
+
+*Returns*
+ :py:class:`MultiMeshFunctionSpace`
+ Return the shared pointer.
+";
+
// Documentation extracted from: (module=function, header=MultiMeshFunctionSpace.h)
%feature("docstring") dolfin::MultiMeshFunctionSpace "
This class represents a function space on a multimesh. It may
diff --git a/dolfin/swig/function/post.i b/dolfin/swig/function/post.i
index 940110d..393d6a5 100644
--- a/dolfin/swig/function/post.i
+++ b/dolfin/swig/function/post.i
@@ -111,7 +111,7 @@ def compute_vertex_values(self, mesh=None):
*/
//-----------------------------------------------------------------------------
-// Extend Function interace
+// Extend Function interface
//-----------------------------------------------------------------------------
%extend dolfin::Function {
%pythoncode %{
@@ -159,3 +159,29 @@ def parent(self):
return Function(HierarchicalFunction._parent(self))
%}
}
+
+//-----------------------------------------------------------------------------
+// Extend MultiMeshFunction interface
+//-----------------------------------------------------------------------------
+%extend dolfin::MultiMeshFunction {
+%pythoncode %{
+
+def copy(self, deepcopy=False):
+ """
+ Return a copy of itself
+
+ *Arguments*
+ deepcopy (bool)
+ If false (default) the dof vector is shared.
+
+ *Returns*
+ _MultiMeshFunction_
+ The MultiMeshFunction
+
+ """
+ from dolfin.functions.multimeshfunction import MultiMeshFunction
+ if deepcopy:
+ return MultiMeshFunction(self.function_space(), self.vector().copy())
+ return MultiMeshFunction(self.function_space(), self.vector())
+%}
+}
diff --git a/dolfin/swig/function/pre.i b/dolfin/swig/function/pre.i
index 887de2a..d0d5b45 100644
--- a/dolfin/swig/function/pre.i
+++ b/dolfin/swig/function/pre.i
@@ -96,12 +96,13 @@
%feature("nodirector") dolfin::Expression::function_space;
//-----------------------------------------------------------------------------
-// Macro for defining an in typemap for a const std::vector<std::pair<double, TYPE*> >&
+// Macro for defining an in typemap for a const std::vector<std::pair<double,
+// shared_ptr<TYPE>>>&
// The typemaps takes a list of tuples of floats and TYPE
//
// TYPE : The Pointer type
//-----------------------------------------------------------------------------
-%define IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE)
+%define IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(TYPE)
//-----------------------------------------------------------------------------
// Make SWIG aware of the shared_ptr version of TYPE
@@ -110,40 +111,39 @@
//-----------------------------------------------------------------------------
// Run the macros for the combination of const and no const of
-// {const} std::vector<std::pair<double, {const} dolfin::TYPE *> >
+// {const} std::vector<std::pair<double, std::shared_ptr<{const} dolfin::TYPE>>>
//-----------------------------------------------------------------------------
-CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE,const)
-CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE,)
+CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(TYPE,const)
+CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(TYPE,)
%enddef
//-----------------------------------------------------------------------------
// Macro for defining in typemaps for
-// {const} std::vector<std::pair<double, {const} dolfin::TYPE *> >
+// {const} std::vector<std::pair<double, std::shared_ptr<{const} dolfin::TYPE>>>
// using a Python List of TYPE
//-----------------------------------------------------------------------------
-%define CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE,CONST)
+%define CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(TYPE,CONST)
//-----------------------------------------------------------------------------
// The typecheck
//-----------------------------------------------------------------------------
-%typecheck(SWIG_TYPECHECK_POINTER) std::vector<std::pair<double, CONST dolfin::TYPE *> >
+%typecheck(SWIG_TYPECHECK_POINTER) std::vector<std::pair<double, std::shared_ptr<CONST dolfin::TYPE> > >
{
$1 = PyList_Check($input) ? 1 : 0;
}
//-----------------------------------------------------------------------------
-// The {const} std::vector<std::pair<double, {const} dolfin::TYPE *> > typemap
+// The {const} std::vector<std::pair<double,
+// std::shared_ptr<{const} dolfin::TYPE>>> typemap
//-----------------------------------------------------------------------------
-%typemap (in) std::vector<std::pair<double, CONST dolfin::TYPE *> >
- (std::vector<std::pair<double, CONST dolfin::TYPE *> > tmp_vec,
- std::shared_ptr<dolfin::TYPE> tempshared,
- dolfin::TYPE* arg)
+%typemap (in) std::vector<std::pair<double, std::shared_ptr<CONST dolfin::TYPE> > >
+ (std::vector<std::pair<double, std::shared_ptr<CONST dolfin::TYPE> > > tmp_vec,
+ std::shared_ptr<dolfin::TYPE> tempshared)
{
-
- // CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE, CONST)
+ // CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(TYPE, CONST)
if (!PyList_Check($input))
- SWIG_exception(SWIG_TypeError, "list of TYPE expected");
+ SWIG_exception(SWIG_TypeError, "list of tuples of float and TYPE expected.");
int size = PyList_Size($input);
int res = 0;
@@ -158,43 +158,34 @@ CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE,)
py_item = PyList_GetItem($input, i);
// Check that it is a tuple with size 2 and first item is a float
- if (!PyTuple_Check(py_item) || PyTuple_Size(py_item) != 2 || \
- !PyFloat_Check(PyTuple_GetItem(py_item, 0)))
+ if (!PyTuple_Check(py_item) || PyTuple_Size(py_item) != 2 ||
+ !PyFloat_Check(PyTuple_GetItem(py_item, 0)))
SWIG_exception(SWIG_TypeError, "list of tuples of float and TYPE expected.");
// Get double value
value = PyFloat_AsDouble(PyTuple_GetItem(py_item, 0));
// Try convert the second tuple argument
- res = SWIG_ConvertPtr(PyTuple_GetItem(py_item, 1), \
- &itemp, $descriptor(dolfin::TYPE *), 0);
+ newmem = 0;
+ res = SWIG_ConvertPtrAndOwn(PyTuple_GetItem(py_item, 1), &itemp,
+ $descriptor(std::shared_ptr< dolfin::TYPE > *), 0, &newmem);
if (SWIG_IsOK(res))
{
- // We have the pointer and the value, push them back!
- tmp_vec.push_back(std::make_pair(value, reinterpret_cast<dolfin::TYPE *>(itemp)));
+ if (itemp)
+ {
+ // We have the pointer and the value, push them back!
+ tempshared = *reinterpret_cast<std::shared_ptr<dolfin::TYPE> * >(itemp);
+ tmp_vec.push_back(std::make_pair(value, tempshared));
+ }
+
+ // If we need to release memory
+ if (newmem & SWIG_CAST_NEW_MEMORY)
+ delete reinterpret_cast< std::shared_ptr< dolfin::TYPE > * >(itemp);
}
else
{
- // If failed with normal pointer conversion then try with shared_ptr conversion
- newmem = 0;
- res = SWIG_ConvertPtrAndOwn(PyTuple_GetItem(py_item, 1), &itemp, $descriptor(\
- std::shared_ptr< dolfin::TYPE > *), \
- 0, &newmem);
- if (SWIG_IsOK(res))
- {
- if (itemp)
- {
- tempshared = *(reinterpret_cast< std::shared_ptr<dolfin::TYPE> * >(itemp));
- tmp_vec.push_back(std::make_pair(value, tempshared.get()));
- }
-
- // If we need to release memory
- if (newmem & SWIG_CAST_NEW_MEMORY)
- delete reinterpret_cast< std::shared_ptr< dolfin::TYPE > * >(itemp);
- }
- else
- SWIG_exception(SWIG_TypeError, "list of tuples of float and TYPE expected. (Bad conversion)");
+ SWIG_exception(SWIG_TypeError, "list of tuples of float and TYPE expected. (Bad conversion)");
}
}
@@ -203,9 +194,9 @@ CONST_IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(TYPE,)
%enddef
//-----------------------------------------------------------------------------
-// Instantiate typemap
+// Instantiate typemap for FunctionAXPY interface
//-----------------------------------------------------------------------------
-IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_POINTER(Function)
+IN_TYPEMAPS_STD_VECTOR_OF_PAIRS_OF_DOUBLE_AND_SHARED_POINTER(Function)
//-----------------------------------------------------------------------------
// Instantiate Hierarchical FunctionSpace, Function template class
diff --git a/dolfin/swig/generation/docstrings.i b/dolfin/swig/generation/docstrings.i
index d2109b7..2da27cf 100644
--- a/dolfin/swig/generation/docstrings.i
+++ b/dolfin/swig/generation/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/geometry/docstrings.i b/dolfin/swig/geometry/docstrings.i
index b00f97a..d34d4df 100644
--- a/dolfin/swig/geometry/docstrings.i
+++ b/dolfin/swig/geometry/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/graph/docstrings.i b/dolfin/swig/graph/docstrings.i
index 86d57cf..c504891 100644
--- a/dolfin/swig/graph/docstrings.i
+++ b/dolfin/swig/graph/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/io/docstrings.i b/dolfin/swig/io/docstrings.i
index ec2bb8b..461ad04 100644
--- a/dolfin/swig/io/docstrings.i
+++ b/dolfin/swig/io/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
@@ -225,10 +225,6 @@ data.
File encoding type
";
-%feature("docstring") dolfin::XDMFFile::UseFilePartition "
-Re-use any partition stored in file
-";
-
%feature("docstring") dolfin::XDMFFile::XDMFFile "
**Overloaded versions**
@@ -302,7 +298,43 @@ Re-use any partition stored in file
HDF5 file, or storing the data inline as XML.
*Arguments*
- mvc (_MeshValueCollection<std::size_t>_)
+ mvc (_MeshValueCollection<bool>_)
+ A list of points to save.
+ encoding (_Encoding_)
+ Encoding to use: HDF5 or ASCII
+
+
+* write\ (mvc)
+
+ Write out mesh value collection (subset) using an associated
+ HDF5 file, or storing the data inline as XML.
+
+ *Arguments*
+ mvc (_MeshValueCollection<int>_)
+ A list of points to save.
+ encoding (_Encoding_)
+ Encoding to use: HDF5 or ASCII
+
+
+* write\ (mvc)
+
+ Write out mesh value collection (subset) using an associated
+ HDF5 file, or storing the data inline as XML.
+
+ *Arguments*
+ mvc (_MeshValueCollection<int>_)
+ A list of points to save.
+ encoding (_Encoding_)
+ Encoding to use: HDF5 or ASCII
+
+
+* write\ (mvc)
+
+ Write out mesh value collection (subset) using an associated
+ HDF5 file, or storing the data inline as XML.
+
+ *Arguments*
+ mvc (_MeshValueCollection<double>_)
A list of points to save.
encoding (_Encoding_)
Encoding to use: HDF5 or ASCII
@@ -340,26 +372,57 @@ Re-use any partition stored in file
* read\ (mesh)
- Read in a mesh from the associated HDF5 file, optionally using
- stored partitioning, if possible when the same number of
- processes are being used.
+ Read in a mesh
*Arguments*
mesh (:py:class:`Mesh`)
- use_partition_from_file (_UseFilePartition_)
- Use the existing partition information in HDF5 file
-
-* read\ (meshfunction)
+* read\ (meshfunction, name=\"\")
+
+ Read first MeshFunction from file
+ @param meshfunction
+ @param name
+
+* read\ (meshfunction, name=\"\")
Read first MeshFunction from file
+ @param meshfunction
+ @param name
+
+* read\ (meshfunction, name=\"\")
+
+ Read first MeshFunction from file
+ @param meshfunction
+ @param name
+
+* read\ (meshfunction, name=\"\")
+
+ Read first MeshFunction from file
+ @param meshfunction
+ @param name
+
+* read\ (mvc, name=\"\")
+
+ Read MeshValueCollection from file
+
+* read\ (mvc, name=\"\")
+
+ Read MeshValueCollection from file
+
+* read\ (mvc, name=\"\")
+
+ Read MeshValueCollection from file
+
+* read\ (mvc, name=\"\")
+
+ Read MeshValueCollection from file
";
// Documentation extracted from: (module=io, header=HDF5File.h)
%feature("docstring") dolfin::HDF5File::HDF5File "
-Constructor. file_mode should \"a\" (append), \"w\" (write) or \"r\"
-(read).
+Constructor. file_mode should be \"a\" (append),
+\"w\" (write) or \"r\" (read).
";
%feature("docstring") dolfin::HDF5File::close "
@@ -501,6 +564,14 @@ Flush buffered I/O to disk
Check if dataset exists in HDF5 file
";
+%feature("docstring") dolfin::HDF5File::set_mpi_atomicity "
+Set the MPI atomicity
+";
+
+%feature("docstring") dolfin::HDF5File::get_mpi_atomicity "
+Get the MPI atomicity
+";
+
// Documentation extracted from: (module=io, header=HDF5Attribute.h)
%feature("docstring") dolfin::HDF5Attribute "
HDF5Attribute gives access to the attributes of a dataset
@@ -605,8 +676,8 @@ surface_with_edges)
";
%feature("docstring") dolfin::X3DOMParameters::get_representation "
-Get the current representation of the object (wireframe, surface or
-surface_with_edges)
+Get the current representation of the object (wireframe,
+surface or surface_with_edges)
";
%feature("docstring") dolfin::X3DOMParameters::get_viewport_size "
@@ -633,6 +704,10 @@ Get the RGB emissive color
Set the RGB specular color
";
+%feature("docstring") dolfin::X3DOMParameters::get_specular_color "
+Get the RGB specular color
+";
+
%feature("docstring") dolfin::X3DOMParameters::set_background_color "
Set background RGB color
";
@@ -680,21 +755,22 @@ std::vector for Python compatibility via SWIG)
Get the color map as a boost::multi_array (256x3)
";
-%feature("docstring") dolfin::X3DOMParameters::set_viewpoint_buttons "
-Toggle viewpoint buttons
+%feature("docstring") dolfin::X3DOMParameters::set_x3d_stats "
+Turn X3D 'statistics' window on/off
";
-%feature("docstring") dolfin::X3DOMParameters::get_viewpoint_buttons "
-Get the viewpoint button state
+%feature("docstring") dolfin::X3DOMParameters::set_menu_display "
+Toggle menu option
";
-%feature("docstring") dolfin::X3DOMParameters::set_x3d_stats "
-Turn X3D 'statistics' window on/off
+%feature("docstring") dolfin::X3DOMParameters::get_menu_display "
+Get the menu display state
";
%feature("docstring") dolfin::X3DOM "
This class implements output of meshes to X3DOM XML or HTML5
-with X3DOM strings. The latter can be used for interactive visualisation
+with X3DOM strings. The latter can be used for interactive
+visualisation
Developer note: pugixml is used to created X3DOM and HTML5. By
using pugixml, we produce valid XML, but care must be taken that
diff --git a/dolfin/swig/io/post.i b/dolfin/swig/io/post.i
index 336eaf8..f96a0b3 100644
--- a/dolfin/swig/io/post.i
+++ b/dolfin/swig/io/post.i
@@ -116,7 +116,8 @@ def __exit__(self, type, value, traceback) :
{
%pythoncode %{
def set_color_map(self, colormap):
- if (isinstance(colormap, str)):
+ from six import string_types
+ if isinstance(colormap, string_types):
# If we are given a string, try to load the corresponding matplotlib cmap
try:
import matplotlib.cm
diff --git a/dolfin/swig/la/docstrings.i b/dolfin/swig/la/docstrings.i
index 79f733e..9f0c508 100644
--- a/dolfin/swig/la/docstrings.i
+++ b/dolfin/swig/la/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/la/post.i b/dolfin/swig/la/post.i
index 44844d1..ba7157f 100644
--- a/dolfin/swig/la/post.i
+++ b/dolfin/swig/la/post.i
@@ -414,7 +414,9 @@ def la_index_dtype():
def __rsub__(self, other):
"""x.__rsub__(y) <==> y-x"""
- return self.__sub__(other)
+ ret = self.__sub__(other)
+ ret.__imul__(-1.0)
+ return ret
def __rmul__(self, other):
"""x.__rmul__(y) <==> y*x"""
@@ -732,9 +734,11 @@ def la_index_dtype():
"""x.__radd__(y) <==> y+x"""
return self.__add__(other)
- def __rsub__(self,other):
+ def __rsub__(self, other):
"""x.__rsub__(y) <==> y-x"""
- return self.__sub__(other)
+ ret = self.__sub__(other)
+ ret.__imul__(-1.0)
+ return ret
def __rmul__(self,other):
"""x.__rmul__(y) <==> y*x"""
diff --git a/dolfin/swig/log/docstrings.i b/dolfin/swig/log/docstrings.i
index 2d3b1fe..b446d81 100644
--- a/dolfin/swig/log/docstrings.i
+++ b/dolfin/swig/log/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/math/docstrings.i b/dolfin/swig/math/docstrings.i
index e4f75b1..b4ced7e 100644
--- a/dolfin/swig/math/docstrings.i
+++ b/dolfin/swig/math/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/mesh/docstrings.i b/dolfin/swig/mesh/docstrings.i
index 6835407..d405ae7 100644
--- a/dolfin/swig/mesh/docstrings.i
+++ b/dolfin/swig/mesh/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
@@ -112,10 +112,6 @@ Compute (generalized) volume of mesh entity
Compute greatest distance between any two vertices
";
-%feature("docstring") dolfin::CellType::diameter "
-Compute diameter of mesh entity (deprecated)
-";
-
%feature("docstring") dolfin::CellType::circumradius "
Compute circumradius of mesh entity
";
@@ -360,10 +356,6 @@ Return Euclidean dimension of coordinate system
Return polynomial degree of coordinate field
";
-%feature("docstring") dolfin::MeshGeometry::size "
-Return number of coordinates
-";
-
%feature("docstring") dolfin::MeshGeometry::num_vertices "
Return the number of vertex coordinates
";
@@ -973,6 +965,10 @@ sharing of the bounding box tree data structure.
Compute all entities and connectivity.
";
+%feature("docstring") dolfin::Mesh::init_global "
+Compute global indices for entity dimension dim
+";
+
%feature("docstring") dolfin::Mesh::clean "
Clean out all auxiliary topology data. This clears all
topological data, except the connectivity between cells and
@@ -1902,19 +1898,6 @@ Compute greatest distance between any two vertices
No example code available for this function.
";
-%feature("docstring") dolfin::Cell::diameter "
-Compute diameter of cell (deprecated)
-
-*Returns*
- float
- The diameter of the cell.
-
-*Example*
- .. note::
-
- No example code available for this function.
-";
-
%feature("docstring") dolfin::Cell::circumradius "
Compute circumradius of cell
@@ -2034,7 +2017,7 @@ Compute the area/length of given facet with respect to the cell
Order entities locally
*Arguments*
- global_vertex_indices (numpy.array(int))
+ global_vertex_indices (_std::vector<std::int64_t>_)
The global vertex indices.
";
diff --git a/dolfin/swig/mesh/post.i b/dolfin/swig/mesh/post.i
index 6f9a975..77f8e7f 100644
--- a/dolfin/swig/mesh/post.i
+++ b/dolfin/swig/mesh/post.i
@@ -34,8 +34,13 @@
//-----------------------------------------------------------------------------
%extend dolfin::Point {
%pythoncode %{
-__truediv__ = __div__
-__itruediv__ = __idiv__
+try:
+ # Workaround for SWIG < 3.0.9
+ __truediv__ = __div__
+ __itruediv__ = __idiv__
+except NameError:
+ # SWIG >= 3.0.9
+ pass
%}
}
@@ -228,6 +233,8 @@ DECLARE_MESHFUNCTION(bool, Bool)
// Create docstrings to the MeshFunctions
%pythoncode
%{
+from six import string_types
+
_doc_string = MeshFunctionInt.__doc__
_doc_string += """
*Arguments*
@@ -248,7 +255,7 @@ _doc_string += """
class MeshFunction(object):
__doc__ = _doc_string
def __new__(cls, tp, *args):
- if not isinstance(tp, str):
+ if not isinstance(tp, string_types):
raise TypeError("expected a 'str' as first argument")
if tp == "int":
return MeshFunctionInt(*args)
@@ -264,9 +271,9 @@ class MeshFunction(object):
del _doc_string
def _new_closure(MeshType):
- assert(isinstance(MeshType, str))
+ assert isinstance(MeshType, string_types)
def new(cls, tp, mesh, value=0):
- if not isinstance(tp, str):
+ if not isinstance(tp, string_types):
raise TypeError("expected a 'str' as first argument")
if tp == "int":
return eval("%sInt(mesh, value)"%MeshType)
@@ -343,6 +350,8 @@ DECLARE_MESHVALUECOLLECTION(bool, Bool)
// Create docstrings to the MeshValueCollection
%pythoncode
%{
+from six import string_types
+
_meshvaluecollection_doc_string = MeshValueCollectionInt.__doc__
_meshvaluecollection_doc_string += """
*Arguments*
@@ -369,7 +378,7 @@ _meshvaluecollection_doc_string += """
class MeshValueCollection(object):
__doc__ = _meshvaluecollection_doc_string
def __new__(cls, tp, *args):
- if not isinstance(tp, str):
+ if not isinstance(tp, string_types):
raise TypeError("expected a 'str' as first argument")
if tp == "int":
return MeshValueCollectionInt(*args)
diff --git a/dolfin/swig/modules/common/CMakeLists.txt b/dolfin/swig/modules/common/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/common/CMakeLists.txt
+++ b/dolfin/swig/modules/common/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/common/dependencies.txt b/dolfin/swig/modules/common/dependencies.txt
index 2dc1249..5712488 100644
--- a/dolfin/swig/modules/common/dependencies.txt
+++ b/dolfin/swig/modules/common/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/swig/common/post.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/swig/common/pre.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/swig/defines.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/swig/exceptions.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/swig/forwarddeclarations.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/ [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/la/LinearAlgebraObject.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/swig/common/post.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/swig/common/pre.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/swig/defines.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/swig/exceptions.i;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/swig/fo [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/common/module.i b/dolfin/swig/modules/common/module.i
index 69f644b..ba119ff 100644
--- a/dolfin/swig/modules/common/module.i
+++ b/dolfin/swig/modules/common/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
@@ -28,6 +28,9 @@
// Include types from dependent modules
+// #include types from la submodule of module la
+#include "dolfin/la/LinearAlgebraObject.h"
+
// Include types from present module common
// #include types from common submodule
@@ -72,6 +75,8 @@ import_array();
// Typemaps, shared_ptr declarations, exceptions, version
%include "dolfin/swig/globalincludes.i"
+// %import types from submodule la of SWIG module la
+%include "dolfin/swig/la/pre.i"
// Turn on SWIG generated signature documentation and include doxygen
// generated docstrings
diff --git a/dolfin/swig/modules/fem/CMakeLists.txt b/dolfin/swig/modules/fem/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/fem/CMakeLists.txt
+++ b/dolfin/swig/modules/fem/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/fem/dependencies.txt b/dolfin/swig/modules/fem/dependencies.txt
index 8d28ce2..5bc7373 100644
--- a/dolfin/swig/modules/fem/dependencies.txt
+++ b/dolfin/swig/modules/fem/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/ArrayView.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/com [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/ArrayView.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/constant [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/fem/module.i b/dolfin/swig/modules/fem/module.i
index d60854c..ff7558a 100644
--- a/dolfin/swig/modules/fem/module.i
+++ b/dolfin/swig/modules/fem/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/modules/function/CMakeLists.txt b/dolfin/swig/modules/function/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/function/CMakeLists.txt
+++ b/dolfin/swig/modules/function/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/function/dependencies.txt b/dolfin/swig/modules/function/dependencies.txt
index 13f1f25..3a73a4b 100644
--- a/dolfin/swig/modules/function/dependencies.txt
+++ b/dolfin/swig/modules/function/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/types.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/f [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/types.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/fem/DofMap.h; [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/function/module.i b/dolfin/swig/modules/function/module.i
index b0af925..ceac9cf 100644
--- a/dolfin/swig/modules/function/module.i
+++ b/dolfin/swig/modules/function/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/modules/io/CMakeLists.txt b/dolfin/swig/modules/io/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/io/CMakeLists.txt
+++ b/dolfin/swig/modules/io/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/io/dependencies.txt b/dolfin/swig/modules/io/dependencies.txt
index e56788d..5d3a6a9 100644
--- a/dolfin/swig/modules/io/dependencies.txt
+++ b/dolfin/swig/modules/io/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/fem [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/fem/DofMap.h;/h [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/io/module.i b/dolfin/swig/modules/io/module.i
index 00ecc60..18be17e 100644
--- a/dolfin/swig/modules/io/module.i
+++ b/dolfin/swig/modules/io/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/modules/la/CMakeLists.txt b/dolfin/swig/modules/la/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/la/CMakeLists.txt
+++ b/dolfin/swig/modules/la/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/la/dependencies.txt b/dolfin/swig/modules/la/dependencies.txt
index c0d7a4c..8371dca 100644
--- a/dolfin/swig/modules/la/dependencies.txt
+++ b/dolfin/swig/modules/la/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/ArrayView.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/ArrayView.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/types.h;/ho [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/la/module.i b/dolfin/swig/modules/la/module.i
index d3e1839..068aa04 100644
--- a/dolfin/swig/modules/la/module.i
+++ b/dolfin/swig/modules/la/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/modules/mesh/CMakeLists.txt b/dolfin/swig/modules/mesh/CMakeLists.txt
index 62c5bd9..37a0a7b 100644
--- a/dolfin/swig/modules/mesh/CMakeLists.txt
+++ b/dolfin/swig/modules/mesh/CMakeLists.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by running
#
-# cmake/scripts/generate-swig-interface
+# python cmake/scripts/generate-swig-interface.py
#
# Automatic get the module name
get_filename_component(SWIG_MODULE_NAME ${CMAKE_CURRENT_BINARY_DIR} NAME)
@@ -47,13 +47,6 @@ set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
# when recompile
set(SWIG_MODULE_${SWIG_MODULE_NAME}_EXTRA_DEPS copy_swig_files ${DOLFIN_SWIG_DEPENDENCIES})
-# Work-around for bug in CMake 3.0.0 (see
-# http://www.cmake.org/Bug/view.php?id=14990)
-set(SWIG_MODULE_NAME_ORIG "${SWIG_MODULE_NAME}")
-if (${CMAKE_VERSION} MATCHES "3.0.0")
- set(SWIG_MODULE_NAME "_${SWIG_MODULE_NAME}")
-endif()
-
# Tell CMake to run SWIG on module.i and to link against libdolfin
swig_add_module(${SWIG_MODULE_NAME} python module.i)
swig_link_libraries(${SWIG_MODULE_NAME} dolfin ${PYTHON_LIBRARIES})
@@ -65,7 +58,7 @@ install(TARGETS
COMPONENT RuntimeLibraries
)
install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME_ORIG}.py
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_NAME}.py
DESTINATION ${DOLFIN_INSTALL_PYTHON_MODULE_DIR}/dolfin/cpp
COMPONENT RuntimeLibraries
)
diff --git a/dolfin/swig/modules/mesh/dependencies.txt b/dolfin/swig/modules/mesh/dependencies.txt
index cfcb115..8620792 100644
--- a/dolfin/swig/modules/mesh/dependencies.txt
+++ b/dolfin/swig/modules/mesh/dependencies.txt
@@ -1 +1 @@
-/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-2016.1.0/dolfin/fem [...]
\ No newline at end of file
+/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Array.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Hierarchical.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/MPI.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/Variable.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/common/constants.h;/home/johannr/dev/fenics/src/dolfin/release/dolfin-Change/dolfin/fem/DofMap.h;/h [...]
\ No newline at end of file
diff --git a/dolfin/swig/modules/mesh/module.i b/dolfin/swig/modules/mesh/module.i
index 7e9ec86..5168cd7 100644
--- a/dolfin/swig/modules/mesh/module.i
+++ b/dolfin/swig/modules/mesh/module.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Johan Hake
+// Copyright (C) 2012-2016 Johan Hake
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/multistage/docstrings.i b/dolfin/swig/multistage/docstrings.i
index badb7b3..6fbadde 100644
--- a/dolfin/swig/multistage/docstrings.i
+++ b/dolfin/swig/multistage/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/nls/docstrings.i b/dolfin/swig/nls/docstrings.i
index 720bb1a..c9cf367 100644
--- a/dolfin/swig/nls/docstrings.i
+++ b/dolfin/swig/nls/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/parameter/docstrings.i b/dolfin/swig/parameter/docstrings.i
index ff4cd1b..71fdac5 100644
--- a/dolfin/swig/parameter/docstrings.i
+++ b/dolfin/swig/parameter/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/parameter/post.i b/dolfin/swig/parameter/post.i
index 7382262..8e6baaa 100644
--- a/dolfin/swig/parameter/post.i
+++ b/dolfin/swig/parameter/post.i
@@ -202,7 +202,8 @@ def __setitem__(self, key, value):
return
if key not in self._get_parameter_keys():
raise KeyError("'%s' is not a parameter"%key)
- if not isinstance(value,(int,str,float,bool)) and (value is not None):
+ from six import string_types
+ if not isinstance(value, string_types + (int,float,bool)) and (value is not None):
raise TypeError("can only set 'int', 'bool', 'float' and 'str' for parameter %s" %key)
par = self._get_parameter(key)
if isinstance(value,bool):
@@ -326,25 +327,25 @@ def __new_Parameter_init__(self,*args,**kwargs):
Parameters(name, dim=(3, 0, 4), foo=("Foo", ["Foo", "Bar"])
create parameter set with given parameters and ranges
"""
+ from six import string_types
+ from numpy import isscalar
if len(args) == 0:
old_init(self, "parameters")
- elif len(args) == 1 and isinstance(args[0], (str,type(self))):
+ elif len(args) == 1 and isinstance(args[0], string_types + (type(self),)):
old_init(self, args[0])
else:
raise TypeError("expected a single optional argument of type 'str' or ''"%type(self).__name__)
if len(kwargs) == 0:
return
- from numpy import isscalar
- from six import iteritems
- for key, value in iteritems(kwargs):
+ for key, value in kwargs.items():
if isinstance(value,type(self)):
self.add(value)
elif isinstance(value,tuple):
if isscalar(value[0]) and len(value) == 3:
self.add(key, *value)
- elif isinstance(value[0], str) and len(value) == 2:
+ elif isinstance(value[0], string_types) and len(value) == 2:
if not isinstance(value[1], list):
raise TypeError("expected a list as second item of tuple, when first is a 'str'")
self.add(key, *value)
diff --git a/dolfin/swig/plot/docstrings.i b/dolfin/swig/plot/docstrings.i
index 529e80d..0a40274 100644
--- a/dolfin/swig/plot/docstrings.i
+++ b/dolfin/swig/plot/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/refinement/docstrings.i b/dolfin/swig/refinement/docstrings.i
index faaa423..bb67ab0 100644
--- a/dolfin/swig/refinement/docstrings.i
+++ b/dolfin/swig/refinement/docstrings.i
@@ -1,6 +1,6 @@
// Auto generated SWIG file for Python interface of DOLFIN
//
-// Copyright (C) 2012 Kristian B. Oelgaard
+// Copyright (C) 2012-2016 Kristian B. Oelgaard
//
// This file is part of DOLFIN.
//
diff --git a/dolfin/swig/shared_ptr_classes.i b/dolfin/swig/shared_ptr_classes.i
index cc74f82..38bd5d7 100644
--- a/dolfin/swig/shared_ptr_classes.i
+++ b/dolfin/swig/shared_ptr_classes.i
@@ -103,6 +103,7 @@
%shared_ptr(dolfin::MeshCoordinates)
%shared_ptr(dolfin::MultiMeshFunctionSpace)
%shared_ptr(dolfin::MultiMeshSubSpace)
+%shared_ptr(dolfin::MultiMeshFunction)
// geometry
%shared_ptr(dolfin::BoundingBoxTree)
diff --git a/dolfin/swig/typemaps/std_vector.i b/dolfin/swig/typemaps/std_vector.i
index 2cbc015..1a5ea64 100644
--- a/dolfin/swig/typemaps/std_vector.i
+++ b/dolfin/swig/typemaps/std_vector.i
@@ -725,6 +725,8 @@ OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(double, NPY_DOUBLE)
OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(int, NPY_INT)
OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(unsigned int, NPY_UINT)
OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(std::size_t, NPY_UINTP)
+OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(std::int64_t, NPY_INT64)
+
#if (DOLFIN_LA_INDEX_SIZE==4)
OUT_TYPEMAP_STD_VECTOR_OF_PRIMITIVES(dolfin::la_index, NPY_INT)
#else
diff --git a/site-packages/dolfin/common/plotting.py b/site-packages/dolfin/common/plotting.py
index 5260aaf..7dd3d14 100644
--- a/site-packages/dolfin/common/plotting.py
+++ b/site-packages/dolfin/common/plotting.py
@@ -110,8 +110,9 @@ def create_cg1_function_space(mesh, sh):
return V
def mplot_expression(ax, f, mesh, **kwargs):
- # TODO: Can probably avoid creating the function space here by restructuring
- # mplot_function a bit so it can handle Expression natively
+ # TODO: Can probably avoid creating the function space here by
+ # restructuring mplot_function a bit so it can handle Expression
+ # natively
V = create_cg1_function_space(mesh, f.ufl_shape)
g = dolfin.interpolate(f, V)
return mplot_function(ax, g, **kwargs)
@@ -121,7 +122,8 @@ def mplot_function(ax, f, **kwargs):
gdim = mesh.geometry().dim()
tdim = mesh.topology().dim()
- # Extract the function vector in a way that also works for subfunctions
+ # Extract the function vector in a way that also works for
+ # subfunctions
try:
fvec = f.vector()
except RuntimeError:
@@ -144,7 +146,8 @@ def mplot_function(ax, f, **kwargs):
# FIXME: Not tested, probably broken
xy = mesh.coordinates()
shade = kwargs.pop("shade", True)
- return ax.plot_trisurf(mesh2triang(mesh), xy[:,2], C, shade=shade, **kwargs)
+ return ax.plot_trisurf(mesh2triang(mesh), xy[:,2], C, shade=shade,
+ **kwargs)
elif gdim == 1 and tdim == 1:
x = mesh.coordinates()[:,0]
nv = len(x)
@@ -167,10 +170,14 @@ def mplot_function(ax, f, **kwargs):
# TODO: Handle DG1?
C = f.compute_vertex_values(mesh)
if gdim == 2 and tdim == 2:
- mode = kwargs.pop("mode", "color")
- if mode == "color":
- shading = kwargs.pop("shading", "flat")
- return ax.tripcolor(mesh2triang(mesh), C, shading=shading, **kwargs)
+ mode = kwargs.pop("mode", "contourf")
+ if mode == "contourf":
+ levels = kwargs.pop("levels", 40)
+ return ax.tricontourf(mesh2triang(mesh), C, levels, **kwargs)
+ elif mode == "color":
+ shading = kwargs.pop("shading", "gouraud")
+ return ax.tripcolor(mesh2triang(mesh), C, shading=shading,
+ **kwargs)
elif mode == "warp":
from matplotlib import cm
cmap = kwargs.pop("cmap", cm.jet)
@@ -261,8 +268,6 @@ def mplot_meshfunction(ax, obj, **kwargs):
triang = mesh2triang(mesh)
assert not kwargs.pop("facecolors", None), "Not expecting 'facecolors' in kwargs"
return ax.tripcolor(triang, facecolors=C, **kwargs)
- #elif tdim == 1 and d == 1:
- #elif d == 0: # vertices
else:
# Return gracefully to make regression test pass without vtk
cpp.warning('Matplotlib plotting backend does not support mesh '
@@ -273,7 +278,8 @@ def mplot_dirichletbc(ax, obj, **kwargs):
raise AttributeError("Matplotlib plotting backend doesn't handle DirichletBC.")
def _plot_matplotlib(obj, mesh, kwargs):
- if isinstance(obj, (cpp.MultiMesh, cpp.MultiMeshFunction, cpp.MultiMeshDirichletBC)):
+ if isinstance(obj, (cpp.MultiMesh, cpp.MultiMeshFunction,
+ cpp.MultiMeshDirichletBC)):
cpp.warning("Don't know how to plot type %s" % type(obj))
return
@@ -306,12 +312,6 @@ def _plot_matplotlib(obj, mesh, kwargs):
if vmax and not "vmax" in kwargs:
kwargs["vmax"] = vmax
- # Let's stays consistent and use mode='color' instead of 'surface'
- if kwargs.get("mode") == "surface":
- cpp.deprecation("plot kwarg mode='surface'", "2016.1",
- "Use mode='color' instead.")
- kwargs["mode"] = "color"
-
# Drop unsupported kwargs and inform user
_unsupported_kwargs = ["interactive", "rescale", "wireframe"]
for kw in _unsupported_kwargs:
@@ -357,11 +357,11 @@ def _plot_cpp(object, mesh, kwargs):
# Compatibility with book
plot_object.write_ps = _VTKPlotter_write_ps
- # Avoid premature deletion of plotted objects if they go out of scope
- # before the plot window is closed. The plotter itself is safe, since it's
- # created in the plot() C++ function, not directly from Python. But the
- # Python plotter proxy may disappear, so we can't store the references
- # there.
+ # Avoid premature deletion of plotted objects if they go out of
+ # scope before the plot window is closed. The plotter itself is
+ # safe, since it's created in the plot() C++ function, not
+ # directly from Python. But the Python plotter proxy may
+ # disappear, so we can't store the references there.
global _objects_referenced_from_plot_windows
_objects_referenced_from_plot_windows[plot_object.key()] = (object, mesh, p)
diff --git a/site-packages/dolfin/compilemodules/compilemodule.py b/site-packages/dolfin/compilemodules/compilemodule.py
index 889e3cd..181c71a 100644
--- a/site-packages/dolfin/compilemodules/compilemodule.py
+++ b/site-packages/dolfin/compilemodules/compilemodule.py
@@ -2,7 +2,7 @@
"""This module provides functionality to compile PyDOLFIN compatible
extension modules."""
-# Copyright (C) 2009 Johan Hake
+# Copyright (C) 2009-2016 Johan Hake
#
# This file is part of DOLFIN.
#
@@ -20,23 +20,21 @@ extension modules."""
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
#
# Modified by Johannes Ring, 2011
-# Modifie by Mikael Mortensen, 2014
-#
-# First added: 2009-08-15
-# Last changed: 2014-02-14
+# Modified by Mikael Mortensen, 2014
+# Modified by Martin Sandve Alnæs, 2016
import sys
-import os
import re
-import numpy
-import instant
import hashlib
-import types
+
+import instant
+from ufl.utils.sorting import canonicalize_metadata
from dolfin_utils.cppparser import *
# Import PyDOLFIN
import dolfin
import dolfin.cpp as cpp
+from dolfin.cpp import parameters
from dolfin.compilemodules.jit import mpi_jit_decorator
from dolfin.compilemodules.swigimportinfo import *
@@ -50,6 +48,9 @@ __all__ = ["compile_extension_module",
# version)
_interface_version = 3
+# Add max_signature_length to parameter system (don't need this in C++)
+cpp.parameters.add("max_signature_length", 0)
+
# A list of supported math builtins
_cpp_math_builtins = [
# <cmath> functions: from http://www.cplusplus.com/reference/cmath/
@@ -72,8 +73,8 @@ _math_dolfin = [
# functions from dolfin::math:
"sqr", "ipow", "rand", "near", "DOLFIN_EPS", "DOLFIN_PI", "pi"]
-_all_math = list(set(_math_builtins).difference(_cpp_math_builtins)) + \
- _math_dolfin + _cpp_math_builtins
+_all_math = (list(set(_math_builtins).difference(_cpp_math_builtins))
+ + _math_dolfin + _cpp_math_builtins)
math_header = """
// cmath functions
@@ -126,6 +127,7 @@ import_array();
%%shared_ptr(ufc::function)
%%shared_ptr(ufc::dofmap)
%%shared_ptr(ufc::finite_element)
+%%shared_ptr(ufc::coordinate_mapping)
%%shared_ptr(ufc::function)
%%shared_ptr(ufc::form)
%%ignore ufc::integral;
@@ -164,6 +166,7 @@ del tmp, get_swigversion
re_symbol = re.compile(r"(?:[a-zA-Z_]*::)*[\w\.]+")
re_number = re.compile("[-+]?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?")
+
def expression_to_code_fragments(expr, arguments, generic_function_members=None):
"A help function which extract a dict with code snippets from an expression"
@@ -227,6 +230,7 @@ def expression_to_code_fragments(expr, arguments, generic_function_members=None)
# Return the code fragments
return fragments, variables
+
def expect_list_of(argtype, arg, argname):
if arg is None:
return []
@@ -240,6 +244,7 @@ def expect_list_of(argtype, arg, argname):
"Provide a 'tuple' or 'list' with '%s', for the "\
"'%s' argument" % (argtype.__name__, argname))
+
def expect_arg(argtype, arg, argname):
# Check the type of the argument
if isinstance(arg, argtype):
@@ -250,6 +255,7 @@ def expect_arg(argtype, arg, argname):
"Provide a '%s', for the '%s' argument" % \
(argtype.__name__, argname))
+
def check_swig_version(compiled_module):
# Check swig version of compiled module
@@ -261,6 +267,7 @@ def check_swig_version(compiled_module):
"version: '%s' != '%s' " % \
(cpp.__swigversion__, compiled_module.swigversion))
+
@mpi_jit_decorator
def compile_extension_module(code, module_name="",
additional_declarations="",
@@ -289,7 +296,7 @@ def compile_extension_module(code, module_name="",
additional_system_headers :
System headers needed to compile the generated can be included
using this argument. The headers are passed using a list of 'str'
-
+
mpi_comm
An mpi communicator used to determine what processors
should compile the module. By default mpi_world_comm is
@@ -352,15 +359,20 @@ def compile_extension_module(code, module_name="",
code = "\n".join(codelines)
# Create unique module name for this application run
- if module_name is "":
- module_name = "dolfin_compile_code_%s" % \
- hashlib.sha1((repr(code) +
+ if not module_name:
+ module_signature = hashlib.sha1((repr(code) +
dolfin.__version__ +
str(_interface_version) +
+ sys.version +
additional_declarations +
str(additional_system_headers) +
- repr(instant_kwargs)).encode("utf-8")
- ).hexdigest()
+ repr(canonicalize_metadata(instant_kwargs))
+ ).encode("utf-8")
+ ).hexdigest()
+ max_signature_length = parameters["max_signature_length"]
+ if max_signature_length:
+ module_signature = module_signature[:max_signature_length]
+ module_name = "dolfin_%s" % module_signature
# Extract dolfin dependencies and class names
used_types, declared_types = parse_and_extract_type_info(code)
@@ -406,7 +418,7 @@ def compile_extension_module(code, module_name="",
for f in ["dolfin/common/constants.h", "dolfin/common/types.h"]:
if f not in dependencies["common"]:
dependencies["common"].append(f)
-
+
# Sort the dependencies
dependencies = sort_submodule_dependencies(dependencies, submodule_info)
@@ -414,7 +426,7 @@ def compile_extension_module(code, module_name="",
build_swig_import_info(dependencies, submodule_info, "dolfin.cpp.")
# Extract header info
- dolfin_system_headers = [header for header in file_dependencies \
+ dolfin_system_headers = [header for header in file_dependencies
if not "pre.i" in header]
# Check the handed import files
@@ -423,52 +435,41 @@ def compile_extension_module(code, module_name="",
# Check cache
compiled_module = instant.import_module(module_name)
- if compiled_module:
- # Check that the swig version of the compiled module is the same as
- # dolfin was compiled with
- check_swig_version(compiled_module)
- return compiled_module
+ if not compiled_module:
+ # Configure instant before building
+ sys.stdout.flush()
+ dolfin.info("Calling DOLFIN just-in-time (JIT) compiler, this may take some time.")
+
+ # Add various system headers
+ instant_kwargs["system_headers"] = ["cmath", "iostream","complex",
+ "stdexcept","numpy/arrayobject.h",
+ "memory",
+ "dolfin/common/types.h",
+ "dolfin/math/basic.h",
+ ] + instant_kwargs.get("system_headers", [])
+ instant_kwargs["system_headers"] += dolfin_system_headers
+ instant_kwargs["system_headers"] += additional_system_headers
+
+ # Add cmake packages
+ instant_kwargs["cmake_packages"] = ["DOLFIN"] + \
+ instant_kwargs.get("cmake_packages", [])
+ instant_kwargs["signature"] = module_name
+
+ # Add additional swig declarations
+ dolfin_import_statement = "\n".join(import_lines)
+ shared_ptr_declarations = extract_shared_ptr_declaration(
+ declared_types, used_dolfin_types, shared_ptr_classes)
+ additional_declarations = _additional_declarations % {
+ "additional_declarations": additional_declarations,
+ "shared_ptr_declarations": shared_ptr_declarations,
+ "dolfin_import_statement": dolfin_import_statement,
+ }
- sys.stdout.flush()
- dolfin.info("Calling DOLFIN just-in-time (JIT) compiler, this may take some time.")
-
- # Configure instant and add additional system headers
-
- # Add dolfin system headers
- instant_kwargs["system_headers"] = ["cmath", "iostream","complex",
- "stdexcept","numpy/arrayobject.h",
- "memory",
- "dolfin/common/types.h",
- "dolfin/math/basic.h"] + \
- instant_kwargs.get("system_headers", [])
- instant_kwargs["system_headers"] += dolfin_system_headers
-
- # Add user specified system headers
- instant_kwargs["system_headers"] += additional_system_headers
-
- # Add cmake packages
- instant_kwargs["cmake_packages"] = ["DOLFIN"] + \
- instant_kwargs.get("cmake_packages", [])
- instant_kwargs["signature"] = module_name
-
- declaration_strs = {"additional_declarations":""}
- declaration_strs["dolfin_import_statement"] = \
- "\n".join(import_lines)
-
- # Add any provided additional declarations
- if additional_declarations is not None:
- declaration_strs["additional_declarations"] += additional_declarations
-
- # Add any shared_ptr declarations
- declaration_strs["shared_ptr_declarations"] = \
- extract_shared_ptr_declaration(declared_types, used_dolfin_types, \
- shared_ptr_classes)
-
- # Compile extension module with instant
- compiled_module = instant.build_module(\
- code = code,
- additional_declarations = _additional_declarations % declaration_strs,
- **instant_kwargs)
+ # Compile extension module with instant
+ compiled_module = instant.build_module(
+ code=code,
+ additional_declarations=additional_declarations,
+ **instant_kwargs)
sys.stdout.flush()
@@ -478,6 +479,7 @@ def compile_extension_module(code, module_name="",
return compiled_module
+
def extract_shared_ptr_declaration(declared_types, used_dolfin_types, shared_ptr_classes):
" Extract any declaration for shared_ptr"
# Check if there are any classes that is derived from any of the
@@ -494,7 +496,6 @@ def extract_shared_ptr_declaration(declared_types, used_dolfin_types, shared_ptr
used_shared_ptr_types.extend(derived for derived, bases in list(declared_types.items())
if any(base in shared_ptr_classes for base in bases))
- shared_ptr_declarations = "\n".join([shared_ptr_format % derived \
+ shared_ptr_declarations = "\n".join([shared_ptr_format % derived
for derived in used_shared_ptr_types])
-
return shared_ptr_declarations
diff --git a/site-packages/dolfin/compilemodules/expressions.py b/site-packages/dolfin/compilemodules/expressions.py
index 0abe8a9..997a8bb 100644
--- a/site-packages/dolfin/compilemodules/expressions.py
+++ b/site-packages/dolfin/compilemodules/expressions.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"This module provides functionality for compilation of strings as dolfin Expressions."
-# Copyright (C) 2008-2008 Martin Sandve Alnæs
+# Copyright (C) 2008-2016 Martin Sandve Alnæs
#
# This file is part of DOLFIN.
#
@@ -19,17 +19,12 @@
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
#
# Modified by Johan Hake 2008-2009
-#
-# First added: 2008-06-04
-# Last changed: 2011-04-18
from __future__ import print_function
+from six import string_types
import re
-import types
import hashlib
-import instant
-# Import local compile_extension_module
from dolfin.compilemodules.compilemodule import (compile_extension_module,
expression_to_code_fragments,
math_header)
@@ -62,7 +57,7 @@ public:
def flatten_and_check_expression(expr):
# Convert expr to a flat tuple of strings
# and return value_shape and geometrical dimensions
- if isinstance(expr, str):
+ if isinstance(expr, string_types):
return (expr,), ()
elif isinstance(expr, (tuple,list)):
if all(isinstance(e,tuple) for e in expr):
@@ -70,7 +65,7 @@ def flatten_and_check_expression(expr):
expr = sum(expr, ())
else:
shape = (len(expr),)
- if all(isinstance(e,str) for e in expr):
+ if all(isinstance(e, string_types) for e in expr):
return expr, shape
raise TypeError("Wrong type of expressions. Provide a 'str', a 'tuple' of 'str' or a 'tuple' of 'tuple' of 'str': %s" % str(expr))
@@ -81,11 +76,11 @@ def expression_to_dolfin_expression(expr, generic_function_members):
expr, shape = flatten_and_check_expression(expr)
# Extract code fragments from the expr
- fragments, members = expression_to_code_fragments(\
+ fragments, members = expression_to_code_fragments(
expr, ["values","x"], generic_function_members)
# Generate code for value_rank
- value_shape_code = [" _value_shape.push_back(%d);" % value_dim \
+ value_shape_code = [" _value_shape.push_back(%d);" % value_dim
for value_dim in shape]
evalcode = []
@@ -109,13 +104,13 @@ def expression_to_dolfin_expression(expr, generic_function_members):
# Connect the code fragments using the expression template code
fragments["evalcode"] = "\n".join(evalcode)
- fragments["evalcode_cell"] = fragments["evalcode"].replace(\
+ fragments["evalcode_cell"] = fragments["evalcode"].replace(
"__array_, x", "__array_, x, cell")
fragments["value_shape"] = "\n".join(value_shape_code)
# Assign classname
- classname = "Expression_" + hashlib.sha1(fragments["evalcode"].\
- encode("utf-8")).hexdigest()
+ classname = "Expression_" + hashlib.sha1(
+ fragments["evalcode"].encode("utf-8")).hexdigest()
fragments["classname"] = classname
# Produce the C++ code for the expression class
@@ -123,7 +118,7 @@ def expression_to_dolfin_expression(expr, generic_function_members):
return classname, code, members
-def compile_expression_code(code, classnames=None, module_name=None, \
+def compile_expression_code(code, classnames=None, module_name=None,
additional_declarations=None, mpi_comm=None):
additional_declarations = additional_declarations or ""
@@ -141,14 +136,15 @@ def compile_expression_code(code, classnames=None, module_name=None, \
code = "%s\n%s"%(math_header, code)
# Compile the extension module
- compiled_module = compile_extension_module(\
- code, additional_declarations=additional_declarations, \
+ compiled_module = compile_extension_module(
+ code, additional_declarations=additional_declarations,
mpi_comm=mpi_comm)
# Get the compiled class
expression_classes = [getattr(compiled_module, name) for name in classnames]
return expression_classes
+
def compile_expressions(cppargs, generic_function_members=None,
mpi_comm=None):
"""
@@ -180,18 +176,18 @@ def compile_expressions(cppargs, generic_function_members=None,
# FIXME: Hook up this to a more general debug mechanism
assert(isinstance(cppargs, list))
- generic_function_members_list = generic_function_members or \
- [[] for i in range(len(cppargs))]
+ generic_function_members_list = (generic_function_members or
+ [[] for i in range(len(cppargs))])
# Collect code and classnames
code_snippets = []; classnames = []; all_members = []; additional_declarations = [];
for cpparg, generic_function_members in zip(cppargs, generic_function_members_list):
- assert(isinstance(cpparg, (str, tuple, list)))
+ assert(isinstance(cpparg, string_types + (tuple, list)))
# If the cpparg includes the word 'class' and 'Expression',
# assume it is a c++ code snippet
- if isinstance(cpparg, str) and "class" in cpparg and "Expression" in cpparg:
+ if isinstance(cpparg, string_types) and "class" in cpparg and "Expression" in cpparg:
# Assume that a code snippet is passed as cpparg
code = cpparg
@@ -204,31 +200,18 @@ def compile_expressions(cppargs, generic_function_members=None,
classname, code, members = \
expression_to_dolfin_expression(cpparg, generic_function_members)
- additional_declarations.extend("%%rename(%s) dolfin::%s::shared_%s;" % \
- (name, classname, name) for name in \
- generic_function_members)
+ additional_declarations.extend(
+ "%%rename(%s) dolfin::%s::shared_%s;" % (name, classname, name)
+ for name in generic_function_members)
all_members.append(members)
code_snippets.append(code)
classnames.append(classname)
- expression_classes = compile_expression_code("\n\n".join(\
- code_snippets), classnames, additional_declarations="\n".join(\
- additional_declarations),
- mpi_comm=mpi_comm)
+ expression_classes = compile_expression_code(
+ "\n\n".join(code_snippets), classnames,
+ additional_declarations="\n".join(additional_declarations),
+ mpi_comm=mpi_comm)
return expression_classes, all_members
-if __name__ == "__main__":
- cn1, code1 = expression_to_dolfin_expression("exp(alpha)",{'alpha':1.5})
- cn2, code2 = expression_to_dolfin_expression(("sin(x[0])", "cos(x[1])", "0.0"),{})
- cn3, code3 = expression_to_dolfin_expression((("sin(x[0])", "cos(x[1])"), ("0.0", "1.0")),{})
-
- print(code1)
- print(cn1)
-
- print(code2)
- print(cn2)
-
- print(code3)
- print(cn3)
diff --git a/site-packages/dolfin/compilemodules/jit.py b/site-packages/dolfin/compilemodules/jit.py
index f174faf..10fc357 100644
--- a/site-packages/dolfin/compilemodules/jit.py
+++ b/site-packages/dolfin/compilemodules/jit.py
@@ -2,7 +2,7 @@
"""This module defines a jit function that wraps the jit function for
the chosen form compiler."""
-# Copyright (C) 2008-2014 Johan Hake
+# Copyright (C) 2008-2016 Johan Hake
#
# This file is part of DOLFIN.
#
@@ -21,20 +21,23 @@ the chosen form compiler."""
#
# Modified by Anders Logg, 2008-2009.
# Modified by Garth N. Wells, 2011.
-# Modified by Martin Sandve Alnæs, 2014.
+# Modified by Martin Sandve Alnæs, 2014-2016.
from __future__ import print_function
__all__ = ["jit"]
from functools import wraps
+import sys
+import traceback
+
+import six
+import ufl
# Import SWIG-generated extension module (DOLFIN C++)
import dolfin.cpp as cpp
from dolfin.cpp import MPI, info, parameters, warning, info
-import ufl
-import six
def mpi_jit_decorator(local_jit, *args, **kwargs):
"""A decorator for jit compilation
@@ -119,9 +122,16 @@ def jit(ufl_object, form_compiler_parameters=None, mpi_comm=None):
p = ffc.default_parameters()
p.update(parameters["form_compiler"])
p.update(form_compiler_parameters or {})
-
+
# Execute!
- result = ffc.jit(ufl_object, parameters=p)
+ try:
+ result = ffc.jit(ufl_object, parameters=p)
+ except Exception as e:
+ tb_text = ''.join(traceback.format_exception(*sys.exc_info()))
+ cpp.dolfin_error("jit.py",
+ "perform just-in-time compilation of form",
+ "ffc.jit failed with message:\n%s" % (tb_text,))
+
if isinstance(ufl_object, ufl.Form):
compiled_form, module, prefix = result
compiled_form = cpp.make_ufc_form(compiled_form)
@@ -131,3 +141,7 @@ def jit(ufl_object, form_compiler_parameters=None, mpi_comm=None):
ufc_element = cpp.make_ufc_finite_element(ufc_element)
ufc_dofmap = cpp.make_ufc_dofmap(ufc_dofmap)
return ufc_element, ufc_dofmap
+ elif isinstance(ufl_object, ufl.Mesh):
+ ufc_coordinate_mapping = result
+ ufc_coordinate_mapping = cpp.make_ufc_coordinate_mapping(ufc_coordinate_mapping)
+ return ufc_coordinate_mapping
diff --git a/site-packages/dolfin/compilemodules/subdomains.py b/site-packages/dolfin/compilemodules/subdomains.py
index 206428d..790da9f 100644
--- a/site-packages/dolfin/compilemodules/subdomains.py
+++ b/site-packages/dolfin/compilemodules/subdomains.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"This module provides functionality for compilation of strings as dolfin SubDomains."
-# Copyright (C) 2008-2008 Martin Sandve Alnæs
+# Copyright (C) 2008-2016 Martin Sandve Alnæs
#
# This file is part of DOLFIN.
#
@@ -17,14 +17,10 @@
#
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# First added: 2008-07-01
-# Last changed: 2011-04-18
+from six import string_types
import re
-import os
import hashlib
-import instant
# Import local compile_extension_module
from dolfin.compilemodules.compilemodule import (compile_extension_module,
@@ -73,7 +69,7 @@ def expression_to_subdomain(cpparg, classname):
"""
# Assure we have a simple string expression
- assert isinstance(cpparg, str)
+ assert isinstance(cpparg, string_types)
# Extract code fragments from the expr and defaults
fragments, members = expression_to_code_fragments(\
@@ -136,17 +132,15 @@ def CompiledSubDomain(cppcode, mpi_comm=None, **kwargs):
"""
- if not isinstance(cppcode, str):
+ if not isinstance(cppcode, string_types):
raise TypeError("expected a 'str'")
- if isinstance(cppcode, str) and "class" in cppcode and \
+ if isinstance(cppcode, string_types) and "class" in cppcode and \
"SubDomain" in cppcode:
- members = []
- classname = re.findall(r"class[ ]+([\w]+).*", code)[0]
- code = cppcode
+ classname = re.findall(r"class[ ]+([\w]+).*", cppcode)[0]
+ code, members = cppcode, []
else:
-
classname = "CompiledSubDomain" + hashlib.sha1(cppcode.encode(\
"utf-8")).hexdigest()
code, members = expression_to_subdomain(cppcode, classname)
diff --git a/site-packages/dolfin/compilemodules/swigimportinfo.py b/site-packages/dolfin/compilemodules/swigimportinfo.py
index d15dddf..1a1454a 100644
--- a/site-packages/dolfin/compilemodules/swigimportinfo.py
+++ b/site-packages/dolfin/compilemodules/swigimportinfo.py
@@ -1,6 +1,6 @@
"""
-This module contains compiletime information about the dolfin python
-library, which can be utelized at runtime.
+This module contains compiletime information about the
+dolfin python library, which can be utilized at runtime.
The file is automatically generated by the generateswigcode.py script
in the dolfin/swig directory."""
@@ -11,246 +11,1593 @@ except ImportError:
from dolfin_utils.ordereddict import OrderedDict
# A list of shared_ptr declared classes in dolfin
-shared_ptr_classes = ['AdaptiveLinearVariationalSolver', 'AdaptiveNonlinearVariationalSolver', 'ErrorControl', 'Hierarchical<dolfin::ErrorControl>', 'GenericAdaptiveVariationalSolver', 'GoalFunctional', 'SpecialFacetFunction', 'TimeSeries', 'TimeSeriesHDF5', 'MeshDisplacement', 'Variable', 'Hierarchical<dolfin::Form>', 'GenericDofMap', 'DofMap', 'MultiMeshDofMap', 'Form', 'FiniteElement', 'BasisFunction', 'MultiStageScheme', 'Hierarchical<dolfin::LinearVariationalProblem>', 'Hierarchical [...]
+shared_ptr_classes = ['AdaptiveLinearVariationalSolver', 'AdaptiveNonlinearVariationalSolver', 'BasisFunction', 'BelosKrylovSolver', 'BoundaryMesh', 'BoundingBoxTree', 'Box', 'BoxMesh', 'CellFunction<std::size_t>', 'CholmodCholeskySolver', 'Constant', 'DirichletBC', 'DofMap', 'DomainBoundary', 'EdgeFunction<std::size_t>', 'EigenKrylovSolver', 'EigenLUSolver', 'EigenMatrix', 'EigenVector', 'ErrorControl', 'Expression', 'ExpressionWrapper', 'FaceFunction<std::size_t>', 'FacetArea', 'FacetF [...]
# An OrderedDict of all dolfin declared and its meta info
-dolfin_type_def = OrderedDict([\
-('ufc::function', {'header': 'ufc.h', 'submodule': '', 'derived': ['Function', 'MeshDisplacement', 'BasisFunction', 'GenericFunction', 'SpecialFacetFunction', 'MeshCoordinates', 'Constant', 'Expression', 'FacetArea'], 'bases': [], 'module': ''}),
-('la_index', {'header': 'dolfin/common/types.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('TimingClear', {'header': 'dolfin/common/timing.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('TimingType', {'header': 'dolfin/common/timing.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('Array', {'header': 'dolfin/common/Array.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('ArrayView', {'header': 'dolfin/common/ArrayView.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('IndexSet', {'header': 'dolfin/common/IndexSet.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('Set', {'header': 'dolfin/common/Set.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('Timer', {'header': 'dolfin/common/Timer.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('Variable', {'header': 'dolfin/common/Variable.h', 'submodule': 'common', 'derived': ['SphericalShellMesh', 'GenericDofMap', 'PETScVector', 'PETScLUSolver', 'EigenKrylovSolver', 'VTKPlotter', 'UnitIntervalMesh', 'GenericLinearOperator', 'FacetFunction', 'GenericTensor', 'FaceFunction', 'AdaptiveNonlinearVariationalSolver', 'UnitSquareMesh', 'BelosKrylovSolver', 'UnitHexMesh', 'XDMFFile', 'Scalar', 'LinearOperator', 'MeshCoordinates', 'Ifpack2Preconditioner', 'LinearVariationalSolver', ' [...]
-('Hierarchical', {'header': 'dolfin/common/Hierarchical.h', 'submodule': 'common', 'derived': ['SphericalShellMesh', 'UnitCubeMesh', 'BoundaryMesh', 'UnitQuadMesh', 'LinearVariationalProblem', 'GoalFunctional', 'ErrorControl', 'VertexFunction', 'DirichletBC', 'EdgeFunction', 'Function', 'Form', 'UnitIntervalMesh', 'UnitTriangleMesh', 'CellFunction', 'Mesh', 'BoxMesh', 'IntervalMesh', 'SubMesh', 'MeshFunction', 'FacetFunction', 'UnitTetrahedronMesh', 'FaceFunction', 'UnitSquareMesh', 'Uni [...]
-('MPI_Comm', {'header': 'dolfin/common/MPI.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('MPI', {'header': 'dolfin/common/MPI.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('MPIInfo', {'header': 'dolfin/common/MPI.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('SubSystemsManager', {'header': 'dolfin/common/SubSystemsManager.h', 'submodule': 'common', 'derived': [], 'bases': [], 'module': 'common'}),
-('IntParameter', {'header': 'dolfin/parameter/Parameter.h', 'submodule': 'parameter', 'derived': [], 'bases': ['Parameter'], 'module': 'common'}),
-('BoolParameter', {'header': 'dolfin/parameter/Parameter.h', 'submodule': 'parameter', 'derived': [], 'bases': ['Parameter'], 'module': 'common'}),
-('StringParameter', {'header': 'dolfin/parameter/Parameter.h', 'submodule': 'parameter', 'derived': [], 'bases': ['Parameter'], 'module': 'common'}),
-('Parameter', {'header': 'dolfin/parameter/Parameter.h', 'submodule': 'parameter', 'derived': ['IntParameter', 'BoolParameter', 'StringParameter', 'DoubleParameter'], 'bases': [], 'module': 'common'}),
-('DoubleParameter', {'header': 'dolfin/parameter/Parameter.h', 'submodule': 'parameter', 'derived': [], 'bases': ['Parameter'], 'module': 'common'}),
-('Parameters', {'header': 'dolfin/parameter/Parameters.h', 'submodule': 'parameter', 'derived': ['GlobalParameters'], 'bases': [], 'module': 'common'}),
-('GlobalParameters', {'header': 'dolfin/parameter/GlobalParameters.h', 'submodule': 'parameter', 'derived': [], 'bases': ['Parameters'], 'module': 'common'}),
-('Event', {'header': 'dolfin/log/Event.h', 'submodule': 'log', 'derived': [], 'bases': [], 'module': 'common'}),
-('Progress', {'header': 'dolfin/log/Progress.h', 'submodule': 'log', 'derived': [], 'bases': [], 'module': 'common'}),
-('Table', {'header': 'dolfin/log/Table.h', 'submodule': 'log', 'derived': [], 'bases': ['Variable'], 'module': 'common'}),
-('TableEntry', {'header': 'dolfin/log/Table.h', 'submodule': 'log', 'derived': [], 'bases': [], 'module': 'common'}),
-('CellType', {'header': 'dolfin/mesh/CellType.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshTopology', {'header': 'dolfin/mesh/MeshTopology.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshGeometry', {'header': 'dolfin/mesh/MeshGeometry.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshDomains', {'header': 'dolfin/mesh/MeshDomains.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshData', {'header': 'dolfin/mesh/MeshData.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable'], 'module': 'mesh'}),
-('Mesh', {'header': 'dolfin/mesh/Mesh.h', 'submodule': 'mesh', 'derived': ['SubMesh', 'SphericalShellMesh', 'UnitCubeMesh', 'BoundaryMesh', 'UnitTetrahedronMesh', 'UnitTriangleMesh', 'UnitQuadMesh', 'UnitSquareMesh', 'UnitHexMesh', 'BoxMesh', 'IntervalMesh', 'UnitIntervalMesh', 'UnitDiscMesh', 'RectangleMesh'], 'bases': ['Variable', 'Hierarchical'], 'module': 'mesh'}),
-('MeshEntity', {'header': 'dolfin/mesh/MeshEntity.h', 'submodule': 'mesh', 'derived': ['Cell', 'Vertex', 'Face', 'Facet', 'Edge', 'FacetCell'], 'bases': [], 'module': 'mesh'}),
-('MeshEntityIterator', {'header': 'dolfin/mesh/MeshEntityIterator.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshEntityIteratorBase', {'header': 'dolfin/mesh/MeshEntityIteratorBase.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('SubsetIterator', {'header': 'dolfin/mesh/SubsetIterator.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('VertexIterator', {'header': 'dolfin/mesh/Vertex.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('VertexFunction', {'header': 'dolfin/mesh/Vertex.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Hierarchical', 'MeshFunction'], 'module': 'mesh'}),
-('Vertex', {'header': 'dolfin/mesh/Vertex.h', 'submodule': 'mesh', 'derived': [], 'bases': ['MeshEntity'], 'module': 'mesh'}),
-('EdgeIterator', {'header': 'dolfin/mesh/Edge.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('Edge', {'header': 'dolfin/mesh/Edge.h', 'submodule': 'mesh', 'derived': [], 'bases': ['MeshEntity'], 'module': 'mesh'}),
-('EdgeFunction', {'header': 'dolfin/mesh/Edge.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Hierarchical', 'MeshFunction'], 'module': 'mesh'}),
-('FaceIterator', {'header': 'dolfin/mesh/Face.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('FaceFunction', {'header': 'dolfin/mesh/Face.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Hierarchical', 'MeshFunction'], 'module': 'mesh'}),
-('Face', {'header': 'dolfin/mesh/Face.h', 'submodule': 'mesh', 'derived': [], 'bases': ['MeshEntity'], 'module': 'mesh'}),
-('FacetIterator', {'header': 'dolfin/mesh/Facet.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('Facet', {'header': 'dolfin/mesh/Facet.h', 'submodule': 'mesh', 'derived': [], 'bases': ['MeshEntity'], 'module': 'mesh'}),
-('FacetFunction', {'header': 'dolfin/mesh/Facet.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Hierarchical', 'MeshFunction'], 'module': 'mesh'}),
-('CellIterator', {'header': 'dolfin/mesh/Cell.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('Cell', {'header': 'dolfin/mesh/Cell.h', 'submodule': 'mesh', 'derived': ['FacetCell'], 'bases': ['MeshEntity'], 'module': 'mesh'}),
-('CellFunction', {'header': 'dolfin/mesh/Cell.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Hierarchical', 'MeshFunction'], 'module': 'mesh'}),
-('FacetCell', {'header': 'dolfin/mesh/FacetCell.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Cell', 'MeshEntity'], 'module': 'mesh'}),
-('MeshConnectivity', {'header': 'dolfin/mesh/MeshConnectivity.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshEditor', {'header': 'dolfin/mesh/MeshEditor.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('DynamicMeshEditor', {'header': 'dolfin/mesh/DynamicMeshEditor.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('LocalMeshValueCollection', {'header': 'dolfin/mesh/LocalMeshValueCollection.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshFunction', {'header': 'dolfin/mesh/MeshFunction.h', 'submodule': 'mesh', 'derived': ['VertexFunction', 'FacetFunction', 'FaceFunction', 'CellFunction', 'EdgeFunction'], 'bases': ['Variable', 'Hierarchical'], 'module': 'mesh'}),
-('MeshValueCollection', {'header': 'dolfin/mesh/MeshValueCollection.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable'], 'module': 'mesh'}),
-('MeshColoring', {'header': 'dolfin/mesh/MeshColoring.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshRenumbering', {'header': 'dolfin/mesh/MeshRenumbering.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshTransformation', {'header': 'dolfin/mesh/MeshTransformation.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('LocalMeshData', {'header': 'dolfin/mesh/LocalMeshData.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable'], 'module': 'mesh'}),
-('SubDomain', {'header': 'dolfin/mesh/SubDomain.h', 'submodule': 'mesh', 'derived': ['DomainBoundary'], 'bases': [], 'module': 'mesh'}),
-('SubMesh', {'header': 'dolfin/mesh/SubMesh.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('DomainBoundary', {'header': 'dolfin/mesh/DomainBoundary.h', 'submodule': 'mesh', 'derived': [], 'bases': ['SubDomain'], 'module': 'mesh'}),
-('BoundaryMesh', {'header': 'dolfin/mesh/BoundaryMesh.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('PeriodicBoundaryComputation', {'header': 'dolfin/mesh/PeriodicBoundaryComputation.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshQuality', {'header': 'dolfin/mesh/MeshQuality.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('quadrature_rule', {'header': 'dolfin/mesh/MultiMesh.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MultiMesh', {'header': 'dolfin/mesh/MultiMesh.h', 'submodule': 'mesh', 'derived': [], 'bases': ['Variable'], 'module': 'mesh'}),
-('MeshHierarchy', {'header': 'dolfin/mesh/MeshHierarchy.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('MeshPartitioning', {'header': 'dolfin/mesh/MeshPartitioning.h', 'submodule': 'mesh', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('BoxMesh', {'header': 'dolfin/generation/BoxMesh.h', 'submodule': 'generation', 'derived': ['UnitCubeMesh'], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('IntervalMesh', {'header': 'dolfin/generation/IntervalMesh.h', 'submodule': 'generation', 'derived': ['UnitIntervalMesh'], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('RectangleMesh', {'header': 'dolfin/generation/RectangleMesh.h', 'submodule': 'generation', 'derived': ['UnitSquareMesh'], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitTetrahedronMesh', {'header': 'dolfin/generation/UnitTetrahedronMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitCubeMesh', {'header': 'dolfin/generation/UnitCubeMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical', 'BoxMesh'], 'module': 'mesh'}),
-('UnitIntervalMesh', {'header': 'dolfin/generation/UnitIntervalMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'IntervalMesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitTriangleMesh', {'header': 'dolfin/generation/UnitTriangleMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitSquareMesh', {'header': 'dolfin/generation/UnitSquareMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'RectangleMesh', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitQuadMesh', {'header': 'dolfin/generation/UnitQuadMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitHexMesh', {'header': 'dolfin/generation/UnitHexMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('UnitDiscMesh', {'header': 'dolfin/generation/UnitDiscMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('SphericalShellMesh', {'header': 'dolfin/generation/SphericalShellMesh.h', 'submodule': 'generation', 'derived': [], 'bases': ['Variable', 'Mesh', 'Hierarchical'], 'module': 'mesh'}),
-('Point', {'header': 'dolfin/geometry/Point.h', 'submodule': 'geometry', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('BoundingBoxTree', {'header': 'dolfin/geometry/BoundingBoxTree.h', 'submodule': 'geometry', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('GenericBoundingBoxTree', {'header': 'dolfin/geometry/GenericBoundingBoxTree.h', 'submodule': 'geometry', 'derived': ['BoundingBoxTree3D'], 'bases': [], 'module': 'mesh'}),
-('BoundingBoxTree3D', {'header': 'dolfin/geometry/BoundingBoxTree3D.h', 'submodule': 'geometry', 'derived': [], 'bases': ['GenericBoundingBoxTree'], 'module': 'mesh'}),
-('MeshPointIntersection', {'header': 'dolfin/geometry/MeshPointIntersection.h', 'submodule': 'geometry', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('graph_set_type', {'header': 'dolfin/graph/Graph.h', 'submodule': 'graph', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('Graph', {'header': 'dolfin/graph/Graph.h', 'submodule': 'graph', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('GraphBuilder', {'header': 'dolfin/graph/GraphBuilder.h', 'submodule': 'graph', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('BoostGraphOrdering', {'header': 'dolfin/graph/BoostGraphOrdering.h', 'submodule': 'graph', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('SCOTCH', {'header': 'dolfin/graph/SCOTCH.h', 'submodule': 'graph', 'derived': [], 'bases': [], 'module': 'mesh'}),
-('E', {'header': 'dolfin/la/LinearAlgebraObject.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('LinearAlgebraObject', {'header': 'dolfin/la/LinearAlgebraObject.h', 'submodule': 'la', 'derived': ['GenericVector', 'Matrix', 'EigenMatrix', 'GenericTensor', 'LinearOperator', 'PETScMatrix', 'PETScVector', 'GenericMatrix', 'Scalar', 'Vector', 'TpetraVector', 'TpetraMatrix', 'GenericLinearOperator', 'EigenVector', 'PETScLinearOperator'], 'bases': ['Variable'], 'module': 'la'}),
-('GenericLinearOperator', {'header': 'dolfin/la/GenericLinearOperator.h', 'submodule': 'la', 'derived': ['PETScLinearOperator', 'EigenMatrix', 'PETScMatrix', 'GenericMatrix', 'LinearOperator', 'TpetraMatrix', 'Matrix'], 'bases': ['Variable', 'LinearAlgebraObject'], 'module': 'la'}),
-('GenericTensor', {'header': 'dolfin/la/GenericTensor.h', 'submodule': 'la', 'derived': ['GenericVector', 'Matrix', 'EigenMatrix', 'PETScMatrix', 'PETScVector', 'GenericMatrix', 'Scalar', 'Vector', 'TpetraVector', 'TpetraMatrix', 'EigenVector'], 'bases': ['Variable', 'LinearAlgebraObject'], 'module': 'la'}),
-('GenericMatrix', {'header': 'dolfin/la/GenericMatrix.h', 'submodule': 'la', 'derived': ['EigenMatrix', 'TpetraMatrix', 'PETScMatrix', 'Matrix'], 'bases': ['Variable', 'GenericTensor', 'LinearAlgebraObject', 'GenericLinearOperator'], 'module': 'la'}),
-('GenericVector', {'header': 'dolfin/la/GenericVector.h', 'submodule': 'la', 'derived': ['Vector', 'TpetraVector', 'EigenVector', 'PETScVector'], 'bases': ['Variable', 'GenericTensor', 'LinearAlgebraObject'], 'module': 'la'}),
-('VectorSpaceBasis', {'header': 'dolfin/la/VectorSpaceBasis.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('GenericLinearSolver', {'header': 'dolfin/la/GenericLinearSolver.h', 'submodule': 'la', 'derived': ['GenericLUSolver', 'LinearSolver', 'EigenKrylovSolver', 'PETScKrylovSolver', 'PETScLUSolver', 'EigenLUSolver', 'LUSolver', 'BelosKrylovSolver', 'KrylovSolver'], 'bases': ['Variable'], 'module': 'la'}),
-('GenericLUSolver', {'header': 'dolfin/la/GenericLUSolver.h', 'submodule': 'la', 'derived': ['PETScLUSolver', 'EigenLUSolver', 'LUSolver'], 'bases': ['Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('PETScOptions', {'header': 'dolfin/la/PETScOptions.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('PETScObject', {'header': 'dolfin/la/PETScObject.h', 'submodule': 'la', 'derived': ['PETScUserPreconditioner', 'PETScLinearOperator', 'PETScPreconditioner', 'PETScMatrix', 'PETScKrylovSolver', 'PETScVector', 'PETScLUSolver', 'PETScSNESSolver', 'PETScTAOSolver', 'PETScBaseMatrix', 'TAOLinearBoundSolver', 'SLEPcEigenSolver'], 'bases': [], 'module': 'la'}),
-('PETScBaseMatrix', {'header': 'dolfin/la/PETScBaseMatrix.h', 'submodule': 'la', 'derived': ['PETScMatrix', 'PETScLinearOperator'], 'bases': ['Variable', 'PETScObject'], 'module': 'la'}),
-('EigenMatrix', {'header': 'dolfin/la/EigenMatrix.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericMatrix', 'LinearAlgebraObject', 'GenericLinearOperator', 'GenericTensor'], 'module': 'la'}),
-('PETScMatrix', {'header': 'dolfin/la/PETScMatrix.h', 'submodule': 'la', 'derived': [], 'bases': ['LinearAlgebraObject', 'GenericTensor', 'GenericLinearOperator', 'PETScObject', 'GenericMatrix', 'Variable', 'PETScBaseMatrix'], 'module': 'la'}),
-('PETScLinearOperator', {'header': 'dolfin/la/PETScLinearOperator.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'PETScBaseMatrix', 'LinearAlgebraObject', 'GenericLinearOperator', 'PETScObject'], 'module': 'la'}),
-('PETScPreconditioner', {'header': 'dolfin/la/PETScPreconditioner.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'PETScObject'], 'module': 'la'}),
-('TpetraMatrix', {'header': 'dolfin/la/TpetraMatrix.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericMatrix', 'LinearAlgebraObject', 'GenericLinearOperator', 'GenericTensor'], 'module': 'la'}),
-('EigenKrylovSolver', {'header': 'dolfin/la/EigenKrylovSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('EigenLUSolver', {'header': 'dolfin/la/EigenLUSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLUSolver', 'Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('PETScKrylovSolver', {'header': 'dolfin/la/PETScKrylovSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericLinearSolver', 'PETScObject'], 'module': 'la'}),
-('PETScLUSolver', {'header': 'dolfin/la/PETScLUSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLUSolver', 'Variable', 'GenericLinearSolver', 'PETScObject'], 'module': 'la'}),
-('BelosKrylovSolver', {'header': 'dolfin/la/BelosKrylovSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('TrilinosPreconditioner', {'header': 'dolfin/la/TrilinosPreconditioner.h', 'submodule': 'la', 'derived': ['Ifpack2Preconditioner', 'MueluPreconditioner'], 'bases': [], 'module': 'la'}),
-('MueluPreconditioner', {'header': 'dolfin/la/MueluPreconditioner.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'TrilinosPreconditioner'], 'module': 'la'}),
-('Ifpack2Preconditioner', {'header': 'dolfin/la/Ifpack2Preconditioner.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'TrilinosPreconditioner'], 'module': 'la'}),
-('CoordinateMatrix', {'header': 'dolfin/la/CoordinateMatrix.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('EigenVector', {'header': 'dolfin/la/EigenVector.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericTensor', 'GenericVector', 'LinearAlgebraObject'], 'module': 'la'}),
-('PETScVector', {'header': 'dolfin/la/PETScVector.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericTensor', 'GenericVector', 'LinearAlgebraObject', 'PETScObject'], 'module': 'la'}),
-('TpetraVector', {'header': 'dolfin/la/TpetraVector.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericTensor', 'GenericVector', 'LinearAlgebraObject'], 'module': 'la'}),
-('TensorLayout', {'header': 'dolfin/la/TensorLayout.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable'], 'module': 'la'}),
-('SparsityPattern', {'header': 'dolfin/la/SparsityPattern.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('IndexMap', {'header': 'dolfin/la/IndexMap.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('GenericLinearAlgebraFactory', {'header': 'dolfin/la/GenericLinearAlgebraFactory.h', 'submodule': 'la', 'derived': ['DefaultFactory', 'TpetraFactory', 'PETScFactory', 'EigenFactory'], 'bases': [], 'module': 'la'}),
-('DefaultFactory', {'header': 'dolfin/la/DefaultFactory.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLinearAlgebraFactory'], 'module': 'la'}),
-('EigenFactory', {'header': 'dolfin/la/EigenFactory.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLinearAlgebraFactory'], 'module': 'la'}),
-('PETScUserPreconditioner', {'header': 'dolfin/la/PETScUserPreconditioner.h', 'submodule': 'la', 'derived': [], 'bases': ['PETScObject'], 'module': 'la'}),
-('PETScFactory', {'header': 'dolfin/la/PETScFactory.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLinearAlgebraFactory'], 'module': 'la'}),
-('TpetraFactory', {'header': 'dolfin/la/TpetraFactory.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLinearAlgebraFactory'], 'module': 'la'}),
-('SLEPcEigenSolver', {'header': 'dolfin/la/SLEPcEigenSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'PETScObject'], 'module': 'la'}),
-('Vector', {'header': 'dolfin/la/Vector.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericTensor', 'GenericVector', 'LinearAlgebraObject'], 'module': 'la'}),
-('Matrix', {'header': 'dolfin/la/Matrix.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericMatrix', 'LinearAlgebraObject', 'GenericLinearOperator', 'GenericTensor'], 'module': 'la'}),
-('Scalar', {'header': 'dolfin/la/Scalar.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericTensor', 'LinearAlgebraObject'], 'module': 'la'}),
-('LinearSolver', {'header': 'dolfin/la/LinearSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('KrylovSolver', {'header': 'dolfin/la/KrylovSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('LUSolver', {'header': 'dolfin/la/LUSolver.h', 'submodule': 'la', 'derived': [], 'bases': ['GenericLUSolver', 'Variable', 'GenericLinearSolver'], 'module': 'la'}),
-('BlockVector', {'header': 'dolfin/la/BlockVector.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('BlockMatrix', {'header': 'dolfin/la/BlockMatrix.h', 'submodule': 'la', 'derived': [], 'bases': [], 'module': 'la'}),
-('LinearOperator', {'header': 'dolfin/la/LinearOperator.h', 'submodule': 'la', 'derived': [], 'bases': ['Variable', 'LinearAlgebraObject', 'GenericLinearOperator'], 'module': 'la'}),
-('NonlinearProblem', {'header': 'dolfin/nls/NonlinearProblem.h', 'submodule': 'nls', 'derived': ['OptimisationProblem'], 'bases': [], 'module': 'la'}),
-('NewtonSolver', {'header': 'dolfin/nls/NewtonSolver.h', 'submodule': 'nls', 'derived': [], 'bases': ['Variable'], 'module': 'la'}),
-('OptimisationProblem', {'header': 'dolfin/nls/OptimisationProblem.h', 'submodule': 'nls', 'derived': [], 'bases': ['NonlinearProblem'], 'module': 'la'}),
-('PETScSNESSolver', {'header': 'dolfin/nls/PETScSNESSolver.h', 'submodule': 'nls', 'derived': [], 'bases': ['PETScObject'], 'module': 'la'}),
-('PETScTAOSolver', {'header': 'dolfin/nls/PETScTAOSolver.h', 'submodule': 'nls', 'derived': [], 'bases': ['PETScObject'], 'module': 'la'}),
-('TAOLinearBoundSolver', {'header': 'dolfin/nls/TAOLinearBoundSolver.h', 'submodule': 'nls', 'derived': [], 'bases': ['Variable', 'PETScObject'], 'module': 'la'}),
-('GenericFunction', {'header': 'dolfin/function/GenericFunction.h', 'submodule': 'function', 'derived': ['Function', 'MeshDisplacement', 'Constant', 'SpecialFacetFunction', 'MeshCoordinates', 'Expression', 'FacetArea'], 'bases': ['Variable', 'ufc::function'], 'module': 'function'}),
-('Expression', {'header': 'dolfin/function/Expression.h', 'submodule': 'function', 'derived': ['MeshDisplacement', 'FacetArea', 'Constant', 'SpecialFacetFunction', 'MeshCoordinates'], 'bases': ['Variable', 'ufc::function', 'GenericFunction'], 'module': 'function'}),
-('FunctionAXPY', {'header': 'dolfin/function/FunctionAXPY.h', 'submodule': 'function', 'derived': [], 'bases': [], 'module': 'function'}),
-('Function', {'header': 'dolfin/function/Function.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Hierarchical', 'GenericFunction'], 'module': 'function'}),
-('FunctionSpace', {'header': 'dolfin/function/FunctionSpace.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'Hierarchical'], 'module': 'function'}),
-('Constant', {'header': 'dolfin/function/Constant.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Expression', 'GenericFunction'], 'module': 'function'}),
-('FacetArea', {'header': 'dolfin/function/SpecialFunctions.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Expression', 'GenericFunction'], 'module': 'function'}),
-('MeshCoordinates', {'header': 'dolfin/function/SpecialFunctions.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Expression', 'GenericFunction'], 'module': 'function'}),
-('SpecialFacetFunction', {'header': 'dolfin/function/SpecialFacetFunction.h', 'submodule': 'function', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Expression', 'GenericFunction'], 'module': 'function'}),
-('MultiMeshFunction', {'header': 'dolfin/function/MultiMeshFunction.h', 'submodule': 'function', 'derived': [], 'bases': [], 'module': 'function'}),
-('MultiMeshFunctionSpace', {'header': 'dolfin/function/MultiMeshFunctionSpace.h', 'submodule': 'function', 'derived': ['MultiMeshSubSpace'], 'bases': ['Variable'], 'module': 'function'}),
-('MultiMeshSubSpace', {'header': 'dolfin/function/MultiMeshSubSpace.h', 'submodule': 'function', 'derived': [], 'bases': ['MultiMeshFunctionSpace', 'Variable'], 'module': 'function'}),
-('FunctionAssigner', {'header': 'dolfin/function/FunctionAssigner.h', 'submodule': 'function', 'derived': [], 'bases': [], 'module': 'function'}),
-('LagrangeInterpolator', {'header': 'dolfin/function/LagrangeInterpolator.h', 'submodule': 'function', 'derived': [], 'bases': [], 'module': 'function'}),
-('Lagrange', {'header': 'dolfin/math/Lagrange.h', 'submodule': 'math', 'derived': [], 'bases': ['Variable'], 'module': 'function'}),
-('Legendre', {'header': 'dolfin/math/Legendre.h', 'submodule': 'math', 'derived': [], 'bases': [], 'module': 'function'}),
-('ALE', {'header': 'dolfin/ale/ALE.h', 'submodule': 'ale', 'derived': [], 'bases': [], 'module': 'function'}),
-('MeshDisplacement', {'header': 'dolfin/ale/MeshDisplacement.h', 'submodule': 'ale', 'derived': [], 'bases': ['Variable', 'ufc::function', 'Expression', 'GenericFunction'], 'module': 'function'}),
-('GenericDofMap', {'header': 'dolfin/fem/GenericDofMap.h', 'submodule': 'fem', 'derived': ['DofMap'], 'bases': ['Variable'], 'module': 'fem'}),
-('DofMap', {'header': 'dolfin/fem/DofMap.h', 'submodule': 'fem', 'derived': [], 'bases': ['Variable', 'GenericDofMap'], 'module': 'fem'}),
-('Equation', {'header': 'dolfin/fem/Equation.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('FiniteElement', {'header': 'dolfin/fem/FiniteElement.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('BasisFunction', {'header': 'dolfin/fem/BasisFunction.h', 'submodule': 'fem', 'derived': [], 'bases': ['ufc::function'], 'module': 'fem'}),
-('DiscreteOperators', {'header': 'dolfin/fem/DiscreteOperators.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('DirichletBC', {'header': 'dolfin/fem/DirichletBC.h', 'submodule': 'fem', 'derived': [], 'bases': ['Variable', 'Hierarchical'], 'module': 'fem'}),
-('PointSource', {'header': 'dolfin/fem/PointSource.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('LocalAssembler', {'header': 'dolfin/fem/LocalAssembler.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('LocalSolver', {'header': 'dolfin/fem/LocalSolver.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('Form', {'header': 'dolfin/fem/Form.h', 'submodule': 'fem', 'derived': ['GoalFunctional'], 'bases': ['Hierarchical'], 'module': 'fem'}),
-('AssemblerBase', {'header': 'dolfin/fem/AssemblerBase.h', 'submodule': 'fem', 'derived': ['SystemAssembler', 'MultiMeshAssembler', 'Assembler', 'OpenMpAssembler'], 'bases': [], 'module': 'fem'}),
-('Assembler', {'header': 'dolfin/fem/Assembler.h', 'submodule': 'fem', 'derived': [], 'bases': ['AssemblerBase'], 'module': 'fem'}),
-('SparsityPatternBuilder', {'header': 'dolfin/fem/SparsityPatternBuilder.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('SystemAssembler', {'header': 'dolfin/fem/SystemAssembler.h', 'submodule': 'fem', 'derived': [], 'bases': ['AssemblerBase'], 'module': 'fem'}),
-('LinearVariationalProblem', {'header': 'dolfin/fem/LinearVariationalProblem.h', 'submodule': 'fem', 'derived': [], 'bases': ['Hierarchical'], 'module': 'fem'}),
-('LinearVariationalSolver', {'header': 'dolfin/fem/LinearVariationalSolver.h', 'submodule': 'fem', 'derived': [], 'bases': ['Variable'], 'module': 'fem'}),
-('NonlinearVariationalProblem', {'header': 'dolfin/fem/NonlinearVariationalProblem.h', 'submodule': 'fem', 'derived': [], 'bases': ['Hierarchical'], 'module': 'fem'}),
-('NonlinearVariationalSolver', {'header': 'dolfin/fem/NonlinearVariationalSolver.h', 'submodule': 'fem', 'derived': [], 'bases': ['Variable'], 'module': 'fem'}),
-('MultiMeshAssembler', {'header': 'dolfin/fem/MultiMeshAssembler.h', 'submodule': 'fem', 'derived': [], 'bases': ['AssemblerBase'], 'module': 'fem'}),
-('MultiMeshDirichletBC', {'header': 'dolfin/fem/MultiMeshDirichletBC.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('MultiMeshDofMap', {'header': 'dolfin/fem/MultiMeshDofMap.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('MultiMeshForm', {'header': 'dolfin/fem/MultiMeshForm.h', 'submodule': 'fem', 'derived': [], 'bases': [], 'module': 'fem'}),
-('OpenMpAssembler', {'header': 'dolfin/fem/OpenMpAssembler.h', 'submodule': 'fem', 'derived': [], 'bases': ['AssemblerBase'], 'module': 'fem'}),
-('MultiStageScheme', {'header': 'dolfin/multistage/MultiStageScheme.h', 'submodule': 'multistage', 'derived': [], 'bases': ['Variable'], 'module': 'fem'}),
-('RKSolver', {'header': 'dolfin/multistage/RKSolver.h', 'submodule': 'multistage', 'derived': [], 'bases': [], 'module': 'fem'}),
-('PointIntegralSolver', {'header': 'dolfin/multistage/PointIntegralSolver.h', 'submodule': 'multistage', 'derived': [], 'bases': ['Variable'], 'module': 'fem'}),
-('GenericAdaptiveVariationalSolver', {'header': 'dolfin/adaptivity/GenericAdaptiveVariationalSolver.h', 'submodule': 'adaptivity', 'derived': ['AdaptiveLinearVariationalSolver', 'AdaptiveNonlinearVariationalSolver'], 'bases': ['Variable'], 'module': 'fem'}),
-('AdaptiveLinearVariationalSolver', {'header': 'dolfin/adaptivity/AdaptiveLinearVariationalSolver.h', 'submodule': 'adaptivity', 'derived': [], 'bases': ['Variable', 'GenericAdaptiveVariationalSolver'], 'module': 'fem'}),
-('AdaptiveNonlinearVariationalSolver', {'header': 'dolfin/adaptivity/AdaptiveNonlinearVariationalSolver.h', 'submodule': 'adaptivity', 'derived': [], 'bases': ['Variable', 'GenericAdaptiveVariationalSolver'], 'module': 'fem'}),
-('GoalFunctional', {'header': 'dolfin/adaptivity/GoalFunctional.h', 'submodule': 'adaptivity', 'derived': [], 'bases': ['Hierarchical', 'Form'], 'module': 'fem'}),
-('ErrorControl', {'header': 'dolfin/adaptivity/ErrorControl.h', 'submodule': 'adaptivity', 'derived': [], 'bases': ['Variable', 'Hierarchical'], 'module': 'fem'}),
-('Extrapolation', {'header': 'dolfin/adaptivity/Extrapolation.h', 'submodule': 'adaptivity', 'derived': [], 'bases': [], 'module': 'fem'}),
-('TimeSeries', {'header': 'dolfin/adaptivity/TimeSeries.h', 'submodule': 'adaptivity', 'derived': [], 'bases': ['Variable'], 'module': 'fem'}),
-('VTKPlotter', {'header': 'dolfin/plot/VTKPlotter.h', 'submodule': 'plot', 'derived': [], 'bases': ['Variable'], 'module': 'io'}),
-('GenericFile', {'header': 'dolfin/io/GenericFile.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),
-('File', {'header': 'dolfin/io/File.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),
-('hid_t', {'header': 'dolfin/io/XDMFFile.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),
-('XDMFFile', {'header': 'dolfin/io/XDMFFile.h', 'submodule': 'io', 'derived': [], 'bases': ['Variable'], 'module': 'io'}),
-('HDF5File', {'header': 'dolfin/io/HDF5File.h', 'submodule': 'io', 'derived': [], 'bases': ['Variable'], 'module': 'io'}),
-('HDF5Attribute', {'header': 'dolfin/io/HDF5Attribute.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),
-('X3DOM', {'header': 'dolfin/io/X3DOM.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),
-('X3DOMParameters', {'header': 'dolfin/io/X3DOM.h', 'submodule': 'io', 'derived': [], 'bases': [], 'module': 'io'}),])
+dolfin_type_def = OrderedDict([
+('ufc::function', dict([
+ ('bases', []),
+ ('derived', ['BasisFunction', 'Constant', 'Expression', 'FacetArea', 'Function', 'GenericFunction', 'MeshCoordinates', 'MeshDisplacement', 'SpecialFacetFunction']),
+ ('header', 'ufc.h'),
+ ('module', ''),
+ ('submodule', '')
+])),
+('la_index', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/types.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('TimingClear', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/timing.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('TimingType', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/timing.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('Array', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/Array.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('ArrayView', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/ArrayView.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('IndexSet', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/IndexSet.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('Set', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/Set.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('Timer', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/Timer.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('Variable', dict([
+ ('bases', []),
+ ('derived', ['AdaptiveLinearVariationalSolver', 'AdaptiveNonlinearVariationalSolver', 'BelosKrylovSolver', 'BoundaryMesh', 'BoxMesh', 'CellFunction', 'Constant', 'DirichletBC', 'DofMap', 'EdgeFunction', 'EigenKrylovSolver', 'EigenLUSolver', 'EigenMatrix', 'EigenVector', 'ErrorControl', 'Expression', 'FaceFunction', 'FacetArea', 'FacetFunction', 'Function', 'FunctionSpace', 'GenericAdaptiveVariationalSolver', 'GenericDofMap', 'GenericFunction', 'GenericLUSolver', 'GenericLinearOperator' [...]
+ ('header', 'dolfin/common/Variable.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('Hierarchical', dict([
+ ('bases', []),
+ ('derived', ['BoundaryMesh', 'BoxMesh', 'CellFunction', 'DirichletBC', 'EdgeFunction', 'ErrorControl', 'FaceFunction', 'FacetFunction', 'Form', 'Function', 'FunctionSpace', 'GoalFunctional', 'IntervalMesh', 'LinearVariationalProblem', 'Mesh', 'MeshFunction', 'NonlinearVariationalProblem', 'RectangleMesh', 'SphericalShellMesh', 'SubMesh', 'UnitCubeMesh', 'UnitDiscMesh', 'UnitHexMesh', 'UnitIntervalMesh', 'UnitQuadMesh', 'UnitSquareMesh', 'UnitTetrahedronMesh', 'UnitTriangleMesh', 'Verte [...]
+ ('header', 'dolfin/common/Hierarchical.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('MPI_Comm', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/MPI.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('MPI', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/MPI.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('MPIInfo', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/MPI.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('SubSystemsManager', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/common/SubSystemsManager.h'),
+ ('module', 'common'),
+ ('submodule', 'common')
+])),
+('BoolParameter', dict([
+ ('bases', ['Parameter']),
+ ('derived', []),
+ ('header', 'dolfin/parameter/Parameter.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('DoubleParameter', dict([
+ ('bases', ['Parameter']),
+ ('derived', []),
+ ('header', 'dolfin/parameter/Parameter.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('IntParameter', dict([
+ ('bases', ['Parameter']),
+ ('derived', []),
+ ('header', 'dolfin/parameter/Parameter.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('Parameter', dict([
+ ('bases', []),
+ ('derived', ['BoolParameter', 'DoubleParameter', 'IntParameter', 'StringParameter']),
+ ('header', 'dolfin/parameter/Parameter.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('StringParameter', dict([
+ ('bases', ['Parameter']),
+ ('derived', []),
+ ('header', 'dolfin/parameter/Parameter.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('Parameters', dict([
+ ('bases', []),
+ ('derived', ['GlobalParameters']),
+ ('header', 'dolfin/parameter/Parameters.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('GlobalParameters', dict([
+ ('bases', ['Parameters']),
+ ('derived', []),
+ ('header', 'dolfin/parameter/GlobalParameters.h'),
+ ('module', 'common'),
+ ('submodule', 'parameter')
+])),
+('Event', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/log/Event.h'),
+ ('module', 'common'),
+ ('submodule', 'log')
+])),
+('Progress', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/log/Progress.h'),
+ ('module', 'common'),
+ ('submodule', 'log')
+])),
+('Table', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/log/Table.h'),
+ ('module', 'common'),
+ ('submodule', 'log')
+])),
+('TableEntry', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/log/Table.h'),
+ ('module', 'common'),
+ ('submodule', 'log')
+])),
+('CellType', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/CellType.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshTopology', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshTopology.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshGeometry', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshGeometry.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshDomains', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshDomains.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshData', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshData.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Mesh', dict([
+ ('bases', ['Hierarchical', 'Variable']),
+ ('derived', ['BoundaryMesh', 'BoxMesh', 'IntervalMesh', 'RectangleMesh', 'SphericalShellMesh', 'SubMesh', 'UnitCubeMesh', 'UnitDiscMesh', 'UnitHexMesh', 'UnitIntervalMesh', 'UnitQuadMesh', 'UnitSquareMesh', 'UnitTetrahedronMesh', 'UnitTriangleMesh']),
+ ('header', 'dolfin/mesh/Mesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshEntity', dict([
+ ('bases', []),
+ ('derived', ['Cell', 'Edge', 'Face', 'Facet', 'FacetCell', 'Vertex']),
+ ('header', 'dolfin/mesh/MeshEntity.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshEntityIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshEntityIterator.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshEntityIteratorBase', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshEntityIteratorBase.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('SubsetIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/SubsetIterator.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('VertexIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Vertex.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Vertex', dict([
+ ('bases', ['MeshEntity']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Vertex.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('VertexFunction', dict([
+ ('bases', ['Hierarchical', 'MeshFunction', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Vertex.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('EdgeIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Edge.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Edge', dict([
+ ('bases', ['MeshEntity']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Edge.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('EdgeFunction', dict([
+ ('bases', ['Hierarchical', 'MeshFunction', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Edge.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('FaceIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Face.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Face', dict([
+ ('bases', ['MeshEntity']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Face.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('FaceFunction', dict([
+ ('bases', ['Hierarchical', 'MeshFunction', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Face.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('FacetIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Facet.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Facet', dict([
+ ('bases', ['MeshEntity']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Facet.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('FacetFunction', dict([
+ ('bases', ['Hierarchical', 'MeshFunction', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Facet.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('CellIterator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Cell.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('Cell', dict([
+ ('bases', ['MeshEntity']),
+ ('derived', ['FacetCell']),
+ ('header', 'dolfin/mesh/Cell.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('CellFunction', dict([
+ ('bases', ['Hierarchical', 'MeshFunction', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/Cell.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('FacetCell', dict([
+ ('bases', ['Cell', 'MeshEntity']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/FacetCell.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshConnectivity', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshConnectivity.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshEditor', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshEditor.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('DynamicMeshEditor', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/DynamicMeshEditor.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('LocalMeshValueCollection', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/LocalMeshValueCollection.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshFunction', dict([
+ ('bases', ['Hierarchical', 'Variable']),
+ ('derived', ['CellFunction', 'EdgeFunction', 'FaceFunction', 'FacetFunction', 'VertexFunction']),
+ ('header', 'dolfin/mesh/MeshFunction.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshValueCollection', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshValueCollection.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshColoring', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshColoring.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshRenumbering', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshRenumbering.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshTransformation', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshTransformation.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('LocalMeshData', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/LocalMeshData.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('SubDomain', dict([
+ ('bases', []),
+ ('derived', ['DomainBoundary']),
+ ('header', 'dolfin/mesh/SubDomain.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('SubMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/SubMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('DomainBoundary', dict([
+ ('bases', ['SubDomain']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/DomainBoundary.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('BoundaryMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/BoundaryMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('PeriodicBoundaryComputation', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/PeriodicBoundaryComputation.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshQuality', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshQuality.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('quadrature_rule', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MultiMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MultiMesh', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MultiMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshHierarchy', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshHierarchy.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('MeshPartitioning', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/mesh/MeshPartitioning.h'),
+ ('module', 'mesh'),
+ ('submodule', 'mesh')
+])),
+('BoxMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', ['UnitCubeMesh']),
+ ('header', 'dolfin/generation/BoxMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('IntervalMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', ['UnitIntervalMesh']),
+ ('header', 'dolfin/generation/IntervalMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('RectangleMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', ['UnitSquareMesh']),
+ ('header', 'dolfin/generation/RectangleMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitTetrahedronMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitTetrahedronMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitCubeMesh', dict([
+ ('bases', ['BoxMesh', 'Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitCubeMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitIntervalMesh', dict([
+ ('bases', ['Hierarchical', 'IntervalMesh', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitIntervalMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitTriangleMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitTriangleMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitSquareMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'RectangleMesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitSquareMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitQuadMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitQuadMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitHexMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitHexMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('UnitDiscMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/UnitDiscMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('SphericalShellMesh', dict([
+ ('bases', ['Hierarchical', 'Mesh', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/generation/SphericalShellMesh.h'),
+ ('module', 'mesh'),
+ ('submodule', 'generation')
+])),
+('Point', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/geometry/Point.h'),
+ ('module', 'mesh'),
+ ('submodule', 'geometry')
+])),
+('BoundingBoxTree', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/geometry/BoundingBoxTree.h'),
+ ('module', 'mesh'),
+ ('submodule', 'geometry')
+])),
+('GenericBoundingBoxTree', dict([
+ ('bases', []),
+ ('derived', ['BoundingBoxTree3D']),
+ ('header', 'dolfin/geometry/GenericBoundingBoxTree.h'),
+ ('module', 'mesh'),
+ ('submodule', 'geometry')
+])),
+('BoundingBoxTree3D', dict([
+ ('bases', ['GenericBoundingBoxTree']),
+ ('derived', []),
+ ('header', 'dolfin/geometry/BoundingBoxTree3D.h'),
+ ('module', 'mesh'),
+ ('submodule', 'geometry')
+])),
+('MeshPointIntersection', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/geometry/MeshPointIntersection.h'),
+ ('module', 'mesh'),
+ ('submodule', 'geometry')
+])),
+('Graph', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/graph/Graph.h'),
+ ('module', 'mesh'),
+ ('submodule', 'graph')
+])),
+('graph_set_type', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/graph/Graph.h'),
+ ('module', 'mesh'),
+ ('submodule', 'graph')
+])),
+('GraphBuilder', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/graph/GraphBuilder.h'),
+ ('module', 'mesh'),
+ ('submodule', 'graph')
+])),
+('BoostGraphOrdering', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/graph/BoostGraphOrdering.h'),
+ ('module', 'mesh'),
+ ('submodule', 'graph')
+])),
+('SCOTCH', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/graph/SCOTCH.h'),
+ ('module', 'mesh'),
+ ('submodule', 'graph')
+])),
+('E', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/LinearAlgebraObject.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('LinearAlgebraObject', dict([
+ ('bases', ['Variable']),
+ ('derived', ['EigenMatrix', 'EigenVector', 'GenericLinearOperator', 'GenericMatrix', 'GenericTensor', 'GenericVector', 'LinearOperator', 'Matrix', 'PETScLinearOperator', 'PETScMatrix', 'PETScVector', 'Scalar', 'TpetraMatrix', 'TpetraVector', 'Vector']),
+ ('header', 'dolfin/la/LinearAlgebraObject.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericLinearOperator', dict([
+ ('bases', ['LinearAlgebraObject', 'Variable']),
+ ('derived', ['EigenMatrix', 'GenericMatrix', 'LinearOperator', 'Matrix', 'PETScLinearOperator', 'PETScMatrix', 'TpetraMatrix']),
+ ('header', 'dolfin/la/GenericLinearOperator.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericTensor', dict([
+ ('bases', ['LinearAlgebraObject', 'Variable']),
+ ('derived', ['EigenMatrix', 'EigenVector', 'GenericMatrix', 'GenericVector', 'Matrix', 'PETScMatrix', 'PETScVector', 'Scalar', 'TpetraMatrix', 'TpetraVector', 'Vector']),
+ ('header', 'dolfin/la/GenericTensor.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericMatrix', dict([
+ ('bases', ['GenericLinearOperator', 'GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', ['EigenMatrix', 'Matrix', 'PETScMatrix', 'TpetraMatrix']),
+ ('header', 'dolfin/la/GenericMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericVector', dict([
+ ('bases', ['GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', ['EigenVector', 'PETScVector', 'TpetraVector', 'Vector']),
+ ('header', 'dolfin/la/GenericVector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('VectorSpaceBasis', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/VectorSpaceBasis.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericLinearSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', ['BelosKrylovSolver', 'EigenKrylovSolver', 'EigenLUSolver', 'GenericLUSolver', 'KrylovSolver', 'LUSolver', 'LinearSolver', 'PETScKrylovSolver', 'PETScLUSolver']),
+ ('header', 'dolfin/la/GenericLinearSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericLUSolver', dict([
+ ('bases', ['GenericLinearSolver', 'Variable']),
+ ('derived', ['EigenLUSolver', 'LUSolver', 'PETScLUSolver']),
+ ('header', 'dolfin/la/GenericLUSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScOptions', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScOptions.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScObject', dict([
+ ('bases', []),
+ ('derived', ['PETScBaseMatrix', 'PETScKrylovSolver', 'PETScLUSolver', 'PETScLinearOperator', 'PETScMatrix', 'PETScPreconditioner', 'PETScSNESSolver', 'PETScTAOSolver', 'PETScUserPreconditioner', 'PETScVector', 'SLEPcEigenSolver', 'TAOLinearBoundSolver']),
+ ('header', 'dolfin/la/PETScObject.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScBaseMatrix', dict([
+ ('bases', ['PETScObject', 'Variable']),
+ ('derived', ['PETScLinearOperator', 'PETScMatrix']),
+ ('header', 'dolfin/la/PETScBaseMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('EigenMatrix', dict([
+ ('bases', ['GenericLinearOperator', 'GenericMatrix', 'GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/EigenMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScMatrix', dict([
+ ('bases', ['GenericLinearOperator', 'GenericMatrix', 'GenericTensor', 'LinearAlgebraObject', 'PETScBaseMatrix', 'PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScLinearOperator', dict([
+ ('bases', ['GenericLinearOperator', 'LinearAlgebraObject', 'PETScBaseMatrix', 'PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScLinearOperator.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScPreconditioner', dict([
+ ('bases', ['PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScPreconditioner.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('TpetraMatrix', dict([
+ ('bases', ['GenericLinearOperator', 'GenericMatrix', 'GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/TpetraMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('EigenKrylovSolver', dict([
+ ('bases', ['GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/EigenKrylovSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('EigenLUSolver', dict([
+ ('bases', ['GenericLUSolver', 'GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/EigenLUSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScKrylovSolver', dict([
+ ('bases', ['GenericLinearSolver', 'PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScKrylovSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScLUSolver', dict([
+ ('bases', ['GenericLUSolver', 'GenericLinearSolver', 'PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScLUSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('BelosKrylovSolver', dict([
+ ('bases', ['GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/BelosKrylovSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('TrilinosPreconditioner', dict([
+ ('bases', []),
+ ('derived', ['Ifpack2Preconditioner', 'MueluPreconditioner']),
+ ('header', 'dolfin/la/TrilinosPreconditioner.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('MueluPreconditioner', dict([
+ ('bases', ['TrilinosPreconditioner', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/MueluPreconditioner.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('Ifpack2Preconditioner', dict([
+ ('bases', ['TrilinosPreconditioner', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/Ifpack2Preconditioner.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('CoordinateMatrix', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/CoordinateMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('EigenVector', dict([
+ ('bases', ['GenericTensor', 'GenericVector', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/EigenVector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScVector', dict([
+ ('bases', ['GenericTensor', 'GenericVector', 'LinearAlgebraObject', 'PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScVector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('TpetraVector', dict([
+ ('bases', ['GenericTensor', 'GenericVector', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/TpetraVector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('TensorLayout', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/TensorLayout.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('SparsityPattern', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/SparsityPattern.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('IndexMap', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/IndexMap.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('GenericLinearAlgebraFactory', dict([
+ ('bases', []),
+ ('derived', ['DefaultFactory', 'EigenFactory', 'PETScFactory', 'TpetraFactory']),
+ ('header', 'dolfin/la/GenericLinearAlgebraFactory.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('DefaultFactory', dict([
+ ('bases', ['GenericLinearAlgebraFactory']),
+ ('derived', []),
+ ('header', 'dolfin/la/DefaultFactory.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('EigenFactory', dict([
+ ('bases', ['GenericLinearAlgebraFactory']),
+ ('derived', []),
+ ('header', 'dolfin/la/EigenFactory.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScUserPreconditioner', dict([
+ ('bases', ['PETScObject']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScUserPreconditioner.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('PETScFactory', dict([
+ ('bases', ['GenericLinearAlgebraFactory']),
+ ('derived', []),
+ ('header', 'dolfin/la/PETScFactory.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('TpetraFactory', dict([
+ ('bases', ['GenericLinearAlgebraFactory']),
+ ('derived', []),
+ ('header', 'dolfin/la/TpetraFactory.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('SLEPcEigenSolver', dict([
+ ('bases', ['PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/SLEPcEigenSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('Vector', dict([
+ ('bases', ['GenericTensor', 'GenericVector', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/Vector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('Matrix', dict([
+ ('bases', ['GenericLinearOperator', 'GenericMatrix', 'GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/Matrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('Scalar', dict([
+ ('bases', ['GenericTensor', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/Scalar.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('LinearSolver', dict([
+ ('bases', ['GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/LinearSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('KrylovSolver', dict([
+ ('bases', ['GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/KrylovSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('LUSolver', dict([
+ ('bases', ['GenericLUSolver', 'GenericLinearSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/LUSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('BlockVector', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/BlockVector.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('BlockMatrix', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/la/BlockMatrix.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('LinearOperator', dict([
+ ('bases', ['GenericLinearOperator', 'LinearAlgebraObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/la/LinearOperator.h'),
+ ('module', 'la'),
+ ('submodule', 'la')
+])),
+('NonlinearProblem', dict([
+ ('bases', []),
+ ('derived', ['OptimisationProblem']),
+ ('header', 'dolfin/nls/NonlinearProblem.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('NewtonSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/nls/NewtonSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('OptimisationProblem', dict([
+ ('bases', ['NonlinearProblem']),
+ ('derived', []),
+ ('header', 'dolfin/nls/OptimisationProblem.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('PETScSNESSolver', dict([
+ ('bases', ['PETScObject']),
+ ('derived', []),
+ ('header', 'dolfin/nls/PETScSNESSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('PETScTAOSolver', dict([
+ ('bases', ['PETScObject']),
+ ('derived', []),
+ ('header', 'dolfin/nls/PETScTAOSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('TAOLinearBoundSolver', dict([
+ ('bases', ['PETScObject', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/nls/TAOLinearBoundSolver.h'),
+ ('module', 'la'),
+ ('submodule', 'nls')
+])),
+('GenericFunction', dict([
+ ('bases', ['Variable', 'ufc::function']),
+ ('derived', ['Constant', 'Expression', 'FacetArea', 'Function', 'MeshCoordinates', 'MeshDisplacement', 'SpecialFacetFunction']),
+ ('header', 'dolfin/function/GenericFunction.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('Expression', dict([
+ ('bases', ['GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', ['Constant', 'FacetArea', 'MeshCoordinates', 'MeshDisplacement', 'SpecialFacetFunction']),
+ ('header', 'dolfin/function/Expression.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('FunctionAXPY', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/function/FunctionAXPY.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('Function', dict([
+ ('bases', ['GenericFunction', 'Hierarchical', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/function/Function.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('FunctionSpace', dict([
+ ('bases', ['Hierarchical', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/function/FunctionSpace.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('Constant', dict([
+ ('bases', ['Expression', 'GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/function/Constant.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('FacetArea', dict([
+ ('bases', ['Expression', 'GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/function/SpecialFunctions.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('MeshCoordinates', dict([
+ ('bases', ['Expression', 'GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/function/SpecialFunctions.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('SpecialFacetFunction', dict([
+ ('bases', ['Expression', 'GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/function/SpecialFacetFunction.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('MultiMeshFunction', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/function/MultiMeshFunction.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('MultiMeshFunctionSpace', dict([
+ ('bases', ['Variable']),
+ ('derived', ['MultiMeshSubSpace']),
+ ('header', 'dolfin/function/MultiMeshFunctionSpace.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('MultiMeshSubSpace', dict([
+ ('bases', ['MultiMeshFunctionSpace', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/function/MultiMeshSubSpace.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('FunctionAssigner', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/function/FunctionAssigner.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('LagrangeInterpolator', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/function/LagrangeInterpolator.h'),
+ ('module', 'function'),
+ ('submodule', 'function')
+])),
+('Lagrange', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/math/Lagrange.h'),
+ ('module', 'function'),
+ ('submodule', 'math')
+])),
+('Legendre', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/math/Legendre.h'),
+ ('module', 'function'),
+ ('submodule', 'math')
+])),
+('ALE', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/ale/ALE.h'),
+ ('module', 'function'),
+ ('submodule', 'ale')
+])),
+('MeshDisplacement', dict([
+ ('bases', ['Expression', 'GenericFunction', 'Variable', 'ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/ale/MeshDisplacement.h'),
+ ('module', 'function'),
+ ('submodule', 'ale')
+])),
+('GenericDofMap', dict([
+ ('bases', ['Variable']),
+ ('derived', ['DofMap']),
+ ('header', 'dolfin/fem/GenericDofMap.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('DofMap', dict([
+ ('bases', ['GenericDofMap', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/fem/DofMap.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('Equation', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/Equation.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('FiniteElement', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/FiniteElement.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('BasisFunction', dict([
+ ('bases', ['ufc::function']),
+ ('derived', []),
+ ('header', 'dolfin/fem/BasisFunction.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('DiscreteOperators', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/DiscreteOperators.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('DirichletBC', dict([
+ ('bases', ['Hierarchical', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/fem/DirichletBC.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('PointSource', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/PointSource.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('LocalAssembler', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/LocalAssembler.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('LocalSolver', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/LocalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('Form', dict([
+ ('bases', ['Hierarchical']),
+ ('derived', ['GoalFunctional']),
+ ('header', 'dolfin/fem/Form.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('AssemblerBase', dict([
+ ('bases', []),
+ ('derived', ['Assembler', 'MultiMeshAssembler', 'OpenMpAssembler', 'SystemAssembler']),
+ ('header', 'dolfin/fem/AssemblerBase.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('Assembler', dict([
+ ('bases', ['AssemblerBase']),
+ ('derived', []),
+ ('header', 'dolfin/fem/Assembler.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('SparsityPatternBuilder', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/SparsityPatternBuilder.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('SystemAssembler', dict([
+ ('bases', ['AssemblerBase']),
+ ('derived', []),
+ ('header', 'dolfin/fem/SystemAssembler.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('LinearVariationalProblem', dict([
+ ('bases', ['Hierarchical']),
+ ('derived', []),
+ ('header', 'dolfin/fem/LinearVariationalProblem.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('LinearVariationalSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/fem/LinearVariationalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('NonlinearVariationalProblem', dict([
+ ('bases', ['Hierarchical']),
+ ('derived', []),
+ ('header', 'dolfin/fem/NonlinearVariationalProblem.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('NonlinearVariationalSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/fem/NonlinearVariationalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('MultiMeshAssembler', dict([
+ ('bases', ['AssemblerBase']),
+ ('derived', []),
+ ('header', 'dolfin/fem/MultiMeshAssembler.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('MultiMeshDirichletBC', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/MultiMeshDirichletBC.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('MultiMeshDofMap', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/MultiMeshDofMap.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('MultiMeshForm', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/fem/MultiMeshForm.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('OpenMpAssembler', dict([
+ ('bases', ['AssemblerBase']),
+ ('derived', []),
+ ('header', 'dolfin/fem/OpenMpAssembler.h'),
+ ('module', 'fem'),
+ ('submodule', 'fem')
+])),
+('MultiStageScheme', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/multistage/MultiStageScheme.h'),
+ ('module', 'fem'),
+ ('submodule', 'multistage')
+])),
+('RKSolver', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/multistage/RKSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'multistage')
+])),
+('PointIntegralSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/multistage/PointIntegralSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'multistage')
+])),
+('GenericAdaptiveVariationalSolver', dict([
+ ('bases', ['Variable']),
+ ('derived', ['AdaptiveLinearVariationalSolver', 'AdaptiveNonlinearVariationalSolver']),
+ ('header', 'dolfin/adaptivity/GenericAdaptiveVariationalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('AdaptiveLinearVariationalSolver', dict([
+ ('bases', ['GenericAdaptiveVariationalSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/AdaptiveLinearVariationalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('AdaptiveNonlinearVariationalSolver', dict([
+ ('bases', ['GenericAdaptiveVariationalSolver', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/AdaptiveNonlinearVariationalSolver.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('GoalFunctional', dict([
+ ('bases', ['Form', 'Hierarchical']),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/GoalFunctional.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('ErrorControl', dict([
+ ('bases', ['Hierarchical', 'Variable']),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/ErrorControl.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('Extrapolation', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/Extrapolation.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('TimeSeries', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/adaptivity/TimeSeries.h'),
+ ('module', 'fem'),
+ ('submodule', 'adaptivity')
+])),
+('VTKPlotter', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/plot/VTKPlotter.h'),
+ ('module', 'io'),
+ ('submodule', 'plot')
+])),
+('GenericFile', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/GenericFile.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('File', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/File.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('hid_t', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/XDMFFile.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('XDMFFile', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/io/XDMFFile.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('HDF5File', dict([
+ ('bases', ['Variable']),
+ ('derived', []),
+ ('header', 'dolfin/io/HDF5File.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('HDF5Attribute', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/HDF5Attribute.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('X3DOM', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/X3DOM.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+])),
+('X3DOMParameters', dict([
+ ('bases', []),
+ ('derived', []),
+ ('header', 'dolfin/io/X3DOM.h'),
+ ('module', 'io'),
+ ('submodule', 'io')
+]))
+])
# A map between modules and its submodules
-module_to_submodules = OrderedDict([\
+module_to_submodules = OrderedDict([
('common', ['common', 'parameter', 'log']),
('mesh', ['mesh', 'generation', 'geometry', 'refinement', 'graph']),
('la', ['la', 'nls']),
('function', ['function', 'math', 'ale']),
('fem', ['fem', 'multistage', 'adaptivity']),
-('io', ['plot', 'io']),])
+('io', ['plot', 'io'])
+])
# A reverse map between submodules and modules
-submodule_info = OrderedDict([\
-('common', {'headers': ['dolfin/common/init.h', 'dolfin/common/defines.h', 'dolfin/common/version.h', 'dolfin/common/types.h', 'dolfin/common/constants.h', 'dolfin/common/timing.h', 'dolfin/common/Array.h', 'dolfin/common/ArrayView.h', 'dolfin/common/IndexSet.h', 'dolfin/common/Set.h', 'dolfin/common/Timer.h', 'dolfin/common/Variable.h', 'dolfin/common/Hierarchical.h', 'dolfin/common/MPI.h', 'dolfin/common/SubSystemsManager.h'], 'has_post': True, 'module': 'common', 'has_pre': True}),
-('parameter', {'headers': ['dolfin/parameter/Parameter.h', 'dolfin/parameter/Parameters.h', 'dolfin/parameter/GlobalParameters.h'], 'has_post': True, 'module': 'common', 'has_pre': True}),
-('log', {'headers': ['dolfin/log/log.h', 'dolfin/log/Event.h', 'dolfin/log/Progress.h', 'dolfin/log/Table.h', 'dolfin/log/LogLevel.h'], 'has_post': True, 'module': 'common', 'has_pre': True}),
-('mesh', {'headers': ['dolfin/mesh/CellType.h', 'dolfin/mesh/MeshTopology.h', 'dolfin/mesh/MeshGeometry.h', 'dolfin/mesh/MeshDomains.h', 'dolfin/mesh/MeshData.h', 'dolfin/mesh/Mesh.h', 'dolfin/mesh/MeshEntity.h', 'dolfin/mesh/MeshEntityIterator.h', 'dolfin/mesh/MeshEntityIteratorBase.h', 'dolfin/mesh/SubsetIterator.h', 'dolfin/mesh/Vertex.h', 'dolfin/mesh/Edge.h', 'dolfin/mesh/Face.h', 'dolfin/mesh/Facet.h', 'dolfin/mesh/Cell.h', 'dolfin/mesh/FacetCell.h', 'dolfin/mesh/MeshConnectivity.h [...]
-('generation', {'headers': ['dolfin/generation/BoxMesh.h', 'dolfin/generation/IntervalMesh.h', 'dolfin/generation/RectangleMesh.h', 'dolfin/generation/UnitTetrahedronMesh.h', 'dolfin/generation/UnitCubeMesh.h', 'dolfin/generation/UnitIntervalMesh.h', 'dolfin/generation/UnitTriangleMesh.h', 'dolfin/generation/UnitSquareMesh.h', 'dolfin/generation/UnitQuadMesh.h', 'dolfin/generation/UnitHexMesh.h', 'dolfin/generation/UnitDiscMesh.h', 'dolfin/generation/SphericalShellMesh.h'], 'has_post': T [...]
-('geometry', {'headers': ['dolfin/geometry/Point.h', 'dolfin/geometry/BoundingBoxTree.h', 'dolfin/geometry/GenericBoundingBoxTree.h', 'dolfin/geometry/BoundingBoxTree3D.h', 'dolfin/geometry/MeshPointIntersection.h', 'dolfin/geometry/intersect.h'], 'has_post': True, 'module': 'mesh', 'has_pre': True}),
-('refinement', {'headers': ['dolfin/refinement/refine.h'], 'has_post': False, 'module': 'mesh', 'has_pre': False}),
-('graph', {'headers': ['dolfin/graph/Graph.h', 'dolfin/graph/GraphBuilder.h', 'dolfin/graph/BoostGraphOrdering.h', 'dolfin/graph/SCOTCH.h'], 'has_post': True, 'module': 'mesh', 'has_pre': True}),
-('la', {'headers': ['dolfin/la/LinearAlgebraObject.h', 'dolfin/la/GenericLinearOperator.h', 'dolfin/la/GenericTensor.h', 'dolfin/la/GenericMatrix.h', 'dolfin/la/GenericVector.h', 'dolfin/la/VectorSpaceBasis.h', 'dolfin/la/GenericLinearSolver.h', 'dolfin/la/GenericLUSolver.h', 'dolfin/la/PETScOptions.h', 'dolfin/la/PETScObject.h', 'dolfin/la/PETScBaseMatrix.h', 'dolfin/la/EigenMatrix.h', 'dolfin/la/PETScMatrix.h', 'dolfin/la/PETScLinearOperator.h', 'dolfin/la/PETScPreconditioner.h', 'dolf [...]
-('nls', {'headers': ['dolfin/nls/NonlinearProblem.h', 'dolfin/nls/NewtonSolver.h', 'dolfin/nls/OptimisationProblem.h', 'dolfin/nls/PETScSNESSolver.h', 'dolfin/nls/PETScTAOSolver.h', 'dolfin/nls/TAOLinearBoundSolver.h'], 'has_post': False, 'module': 'la', 'has_pre': True}),
-('function', {'headers': ['dolfin/function/GenericFunction.h', 'dolfin/function/Expression.h', 'dolfin/function/FunctionAXPY.h', 'dolfin/function/Function.h', 'dolfin/function/FunctionSpace.h', 'dolfin/function/Constant.h', 'dolfin/function/SpecialFunctions.h', 'dolfin/function/SpecialFacetFunction.h', 'dolfin/function/MultiMeshFunction.h', 'dolfin/function/MultiMeshFunctionSpace.h', 'dolfin/function/MultiMeshSubSpace.h', 'dolfin/function/FunctionAssigner.h', 'dolfin/function/assign.h', [...]
-('math', {'headers': ['dolfin/math/basic.h', 'dolfin/math/Lagrange.h', 'dolfin/math/Legendre.h'], 'has_post': False, 'module': 'function', 'has_pre': False}),
-('ale', {'headers': ['dolfin/ale/ALE.h', 'dolfin/ale/MeshDisplacement.h'], 'has_post': False, 'module': 'function', 'has_pre': True}),
-('fem', {'headers': ['dolfin/fem/GenericDofMap.h', 'dolfin/fem/DofMap.h', 'dolfin/fem/fem_utils.h', 'dolfin/fem/Equation.h', 'dolfin/fem/FiniteElement.h', 'dolfin/fem/BasisFunction.h', 'dolfin/fem/DiscreteOperators.h', 'dolfin/fem/DirichletBC.h', 'dolfin/fem/PointSource.h', 'dolfin/fem/assemble.h', 'dolfin/fem/assemble_local.h', 'dolfin/fem/LocalAssembler.h', 'dolfin/fem/LocalSolver.h', 'dolfin/fem/solve.h', 'dolfin/fem/Form.h', 'dolfin/fem/AssemblerBase.h', 'dolfin/fem/Assembler.h', 'do [...]
-('multistage', {'headers': ['dolfin/multistage/MultiStageScheme.h', 'dolfin/multistage/RKSolver.h', 'dolfin/multistage/PointIntegralSolver.h'], 'has_post': False, 'module': 'fem', 'has_pre': True}),
-('adaptivity', {'headers': ['dolfin/adaptivity/GenericAdaptiveVariationalSolver.h', 'dolfin/adaptivity/AdaptiveLinearVariationalSolver.h', 'dolfin/adaptivity/AdaptiveNonlinearVariationalSolver.h', 'dolfin/adaptivity/GoalFunctional.h', 'dolfin/adaptivity/ErrorControl.h', 'dolfin/adaptivity/Extrapolation.h', 'dolfin/adaptivity/TimeSeries.h', 'dolfin/adaptivity/adapt.h', 'dolfin/adaptivity/marking.h', 'dolfin/adaptivity/adaptivesolve.h'], 'has_post': True, 'module': 'fem', 'has_pre': True}),
-('plot', {'headers': ['dolfin/plot/plot.h', 'dolfin/plot/VTKPlotter.h'], 'has_post': False, 'module': 'io', 'has_pre': True}),
-('io', {'headers': ['dolfin/io/GenericFile.h', 'dolfin/io/File.h', 'dolfin/io/XDMFFile.h', 'dolfin/io/HDF5File.h', 'dolfin/io/HDF5Attribute.h', 'dolfin/io/X3DOM.h'], 'has_post': True, 'module': 'io', 'has_pre': True}),])
+submodule_info = OrderedDict([
+('common', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/common/init.h', 'dolfin/common/defines.h', 'dolfin/common/version.h', 'dolfin/common/types.h', 'dolfin/common/constants.h', 'dolfin/common/timing.h', 'dolfin/common/Array.h', 'dolfin/common/ArrayView.h', 'dolfin/common/IndexSet.h', 'dolfin/common/Set.h', 'dolfin/common/Timer.h', 'dolfin/common/Variable.h', 'dolfin/common/Hierarchical.h', 'dolfin/common/MPI.h', 'dolfin/common/SubSystemsManager.h']),
+ ('module', 'common')
+])),
+('parameter', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/parameter/Parameter.h', 'dolfin/parameter/Parameters.h', 'dolfin/parameter/GlobalParameters.h']),
+ ('module', 'common')
+])),
+('log', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/log/log.h', 'dolfin/log/Event.h', 'dolfin/log/Progress.h', 'dolfin/log/Table.h', 'dolfin/log/LogLevel.h']),
+ ('module', 'common')
+])),
+('mesh', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/mesh/CellType.h', 'dolfin/mesh/MeshTopology.h', 'dolfin/mesh/MeshGeometry.h', 'dolfin/mesh/MeshDomains.h', 'dolfin/mesh/MeshData.h', 'dolfin/mesh/Mesh.h', 'dolfin/mesh/MeshEntity.h', 'dolfin/mesh/MeshEntityIterator.h', 'dolfin/mesh/MeshEntityIteratorBase.h', 'dolfin/mesh/SubsetIterator.h', 'dolfin/mesh/Vertex.h', 'dolfin/mesh/Edge.h', 'dolfin/mesh/Face.h', 'dolfin/mesh/Facet.h', 'dolfin/mesh/Cell.h', 'dolfin/mesh/FacetCell.h', 'dolfin/mesh/MeshConnectivity.h', 'dol [...]
+ ('module', 'mesh')
+])),
+('generation', dict([
+ ('has_post', True),
+ ('has_pre', False),
+ ('headers', ['dolfin/generation/BoxMesh.h', 'dolfin/generation/IntervalMesh.h', 'dolfin/generation/RectangleMesh.h', 'dolfin/generation/UnitTetrahedronMesh.h', 'dolfin/generation/UnitCubeMesh.h', 'dolfin/generation/UnitIntervalMesh.h', 'dolfin/generation/UnitTriangleMesh.h', 'dolfin/generation/UnitSquareMesh.h', 'dolfin/generation/UnitQuadMesh.h', 'dolfin/generation/UnitHexMesh.h', 'dolfin/generation/UnitDiscMesh.h', 'dolfin/generation/SphericalShellMesh.h']),
+ ('module', 'mesh')
+])),
+('geometry', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/geometry/Point.h', 'dolfin/geometry/BoundingBoxTree.h', 'dolfin/geometry/GenericBoundingBoxTree.h', 'dolfin/geometry/BoundingBoxTree3D.h', 'dolfin/geometry/MeshPointIntersection.h', 'dolfin/geometry/intersect.h']),
+ ('module', 'mesh')
+])),
+('refinement', dict([
+ ('has_post', False),
+ ('has_pre', False),
+ ('headers', ['dolfin/refinement/refine.h']),
+ ('module', 'mesh')
+])),
+('graph', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/graph/Graph.h', 'dolfin/graph/GraphBuilder.h', 'dolfin/graph/BoostGraphOrdering.h', 'dolfin/graph/SCOTCH.h']),
+ ('module', 'mesh')
+])),
+('la', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/la/LinearAlgebraObject.h', 'dolfin/la/GenericLinearOperator.h', 'dolfin/la/GenericTensor.h', 'dolfin/la/GenericMatrix.h', 'dolfin/la/GenericVector.h', 'dolfin/la/VectorSpaceBasis.h', 'dolfin/la/GenericLinearSolver.h', 'dolfin/la/GenericLUSolver.h', 'dolfin/la/PETScOptions.h', 'dolfin/la/PETScObject.h', 'dolfin/la/PETScBaseMatrix.h', 'dolfin/la/EigenMatrix.h', 'dolfin/la/PETScMatrix.h', 'dolfin/la/PETScLinearOperator.h', 'dolfin/la/PETScPreconditioner.h', 'dolfin/la [...]
+ ('module', 'la')
+])),
+('nls', dict([
+ ('has_post', False),
+ ('has_pre', True),
+ ('headers', ['dolfin/nls/NonlinearProblem.h', 'dolfin/nls/NewtonSolver.h', 'dolfin/nls/OptimisationProblem.h', 'dolfin/nls/PETScSNESSolver.h', 'dolfin/nls/PETScTAOSolver.h', 'dolfin/nls/TAOLinearBoundSolver.h']),
+ ('module', 'la')
+])),
+('function', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/function/GenericFunction.h', 'dolfin/function/Expression.h', 'dolfin/function/FunctionAXPY.h', 'dolfin/function/Function.h', 'dolfin/function/FunctionSpace.h', 'dolfin/function/Constant.h', 'dolfin/function/SpecialFunctions.h', 'dolfin/function/SpecialFacetFunction.h', 'dolfin/function/MultiMeshFunction.h', 'dolfin/function/MultiMeshFunctionSpace.h', 'dolfin/function/MultiMeshSubSpace.h', 'dolfin/function/FunctionAssigner.h', 'dolfin/function/assign.h', 'dolfin/fun [...]
+ ('module', 'function')
+])),
+('math', dict([
+ ('has_post', False),
+ ('has_pre', False),
+ ('headers', ['dolfin/math/basic.h', 'dolfin/math/Lagrange.h', 'dolfin/math/Legendre.h']),
+ ('module', 'function')
+])),
+('ale', dict([
+ ('has_post', False),
+ ('has_pre', True),
+ ('headers', ['dolfin/ale/ALE.h', 'dolfin/ale/MeshDisplacement.h']),
+ ('module', 'function')
+])),
+('fem', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/fem/GenericDofMap.h', 'dolfin/fem/DofMap.h', 'dolfin/fem/fem_utils.h', 'dolfin/fem/Equation.h', 'dolfin/fem/FiniteElement.h', 'dolfin/fem/BasisFunction.h', 'dolfin/fem/DiscreteOperators.h', 'dolfin/fem/DirichletBC.h', 'dolfin/fem/PointSource.h', 'dolfin/fem/assemble.h', 'dolfin/fem/assemble_local.h', 'dolfin/fem/LocalAssembler.h', 'dolfin/fem/LocalSolver.h', 'dolfin/fem/solve.h', 'dolfin/fem/Form.h', 'dolfin/fem/AssemblerBase.h', 'dolfin/fem/Assembler.h', 'dolfin/f [...]
+ ('module', 'fem')
+])),
+('multistage', dict([
+ ('has_post', False),
+ ('has_pre', True),
+ ('headers', ['dolfin/multistage/MultiStageScheme.h', 'dolfin/multistage/RKSolver.h', 'dolfin/multistage/PointIntegralSolver.h']),
+ ('module', 'fem')
+])),
+('adaptivity', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/adaptivity/GenericAdaptiveVariationalSolver.h', 'dolfin/adaptivity/AdaptiveLinearVariationalSolver.h', 'dolfin/adaptivity/AdaptiveNonlinearVariationalSolver.h', 'dolfin/adaptivity/GoalFunctional.h', 'dolfin/adaptivity/ErrorControl.h', 'dolfin/adaptivity/Extrapolation.h', 'dolfin/adaptivity/TimeSeries.h', 'dolfin/adaptivity/adapt.h', 'dolfin/adaptivity/marking.h', 'dolfin/adaptivity/adaptivesolve.h']),
+ ('module', 'fem')
+])),
+('plot', dict([
+ ('has_post', False),
+ ('has_pre', True),
+ ('headers', ['dolfin/plot/plot.h', 'dolfin/plot/VTKPlotter.h']),
+ ('module', 'io')
+])),
+('io', dict([
+ ('has_post', True),
+ ('has_pre', True),
+ ('headers', ['dolfin/io/GenericFile.h', 'dolfin/io/File.h', 'dolfin/io/XDMFFile.h', 'dolfin/io/HDF5File.h', 'dolfin/io/HDF5Attribute.h', 'dolfin/io/X3DOM.h']),
+ ('module', 'io')
+]))
+])
diff --git a/site-packages/dolfin/deprecation.py b/site-packages/dolfin/deprecation.py
index 0dc2888..6d9f07d 100644
--- a/site-packages/dolfin/deprecation.py
+++ b/site-packages/dolfin/deprecation.py
@@ -21,17 +21,4 @@
import dolfin.cpp as cpp
-#--- Deprecation of down_cast ---
-
-def _down_cast(self):
- cpp.warning("foo.down_cast() is deprecated, please use as_backend_type(foo).")
- return cpp.as_backend_type(self)
-
-cpp.Matrix.down_cast = _down_cast
-cpp.Vector.down_cast = _down_cast
-
-def down_cast(foo):
- cpp.warning("down_cast(foo) is deprecated, please use as_backend_type(foo).")
- return cpp.as_backend_type(foo)
-
#--- Deprecation of ... etc. ---
diff --git a/site-packages/dolfin/fem/assembling.py b/site-packages/dolfin/fem/assembling.py
index ce1f90d..ffe6ea5 100644
--- a/site-packages/dolfin/fem/assembling.py
+++ b/site-packages/dolfin/fem/assembling.py
@@ -42,6 +42,7 @@ import dolfin.cpp as cpp
# Local imports
from dolfin.fem.form import *
+from dolfin.functions.multimeshfunction import *
from dolfin.common import parameters
__all__ = ["assemble", "assemble_system", "assemble_multimesh",
@@ -231,19 +232,32 @@ def assemble_multimesh(form,
form_compiler_parameters["no-evaluate_basis_derivatives"] = False
# Extract arguments and multimesh function space
+ coefficients = form.coefficients()
arguments = form.arguments()
+ # Extract rank
+ rank = len(arguments)
+
# Extract multimesh function spaces for arguments
V_multi = [v._V_multi for v in arguments]
- # Extract number of parts and rank
- num_parts = V_multi[0].num_parts() # check only first
- rank = len(arguments)
+ # Exstract number of parts, the multimesh and create the multimesh form
+ if rank > 0:
+ num_parts = V_multi[0].num_parts()
+ multimesh_form = cpp.MultiMeshForm(*V_multi)
+ multimesh = V_multi[0].multimesh()
+ else:
+ for coeff in coefficients:
+ # Only create these variables once
+ if isinstance(coeff, MultiMeshFunction):
+ multimesh = coeff.function_space().multimesh()
+ num_parts = coeff.function_space().num_parts()
+ multimesh_form = cpp.MultiMeshForm(multimesh)
+ break
+ # Developer note: This won't work for assemble_multimesh(Constant(1)*dX)
# Build multimesh DOLFIN form
- multimesh_form = cpp.MultiMeshForm(*V_multi)
for part in range(num_parts):
-
# Extract standard function spaces for all arguments on
# current part
function_spaces = [V_multi[i].part(part) for i in range(rank)]
@@ -253,7 +267,20 @@ def assemble_multimesh(form,
form_compiler_parameters,
function_spaces)
- # Add standard form to multimesh form
+ # Setting coefficients for the multimesh form
+ for i in range(len(coefficients)):
+ if isinstance(coefficients[i], MultiMeshFunction):
+ coeff = coefficients[i].part(part)
+ else:
+ coeff = coefficients[i]
+ # Developer note: This may be done more elegantly by modifiying
+ # _create_dolfin_form
+ dolfin_form.set_coefficient(i, coeff)
+ dolfin_form.coefficients[i] = coeff
+
+ # Add standard mesh to the standard form and the
+ # standard form to the multimesh form
+ dolfin_form.set_mesh(multimesh.part(part))
multimesh_form.add(dolfin_form)
# Build multimesh form
diff --git a/site-packages/dolfin/fem/bcs.py b/site-packages/dolfin/fem/bcs.py
index 983c78e..5a77ee2 100644
--- a/site-packages/dolfin/fem/bcs.py
+++ b/site-packages/dolfin/fem/bcs.py
@@ -23,6 +23,8 @@
import types
+from six import string_types
+
import dolfin.cpp as cpp
from dolfin.functions.constant import Constant
from dolfin.compilemodules.subdomains import CompiledSubDomain
@@ -101,7 +103,7 @@ class DirichletBC(cpp.DirichletBC):
args = args[:2] + (sub_domain,) + args[3:]
# Special case for sub domain specified as a string
- if len(args) >= 3 and isinstance(args[2], str):
+ if len(args) >= 3 and isinstance(args[2], string_types):
sub_domain = CompiledSubDomain(args[2], mpi_comm=mpi_comm)
args = args[:2] + (sub_domain,) + args[3:]
diff --git a/site-packages/dolfin/fem/form.py b/site-packages/dolfin/fem/form.py
index dcf1ea8..b81d3f1 100644
--- a/site-packages/dolfin/fem/form.py
+++ b/site-packages/dolfin/fem/form.py
@@ -26,11 +26,7 @@ into a cpp.Form (dolfin::Form)."""
# Import SWIG-generated extension module (DOLFIN C++)
import dolfin.cpp as cpp
-# Import ufl and ufc
import ufl
-import ufc
-
-# Import JIT compiler
from dolfin.compilemodules.jit import jit
from dolfin.cpp import deprecation
@@ -89,9 +85,13 @@ class Form(cpp.Form):
"Expecting to find a Mesh in the form.")
# Jit the module, this will take some time...
- self._compiled_form, module, prefix \
- = jit(form, form_compiler_parameters,
- mpi_comm=mesh.mpi_comm())
+ jit_result = jit(form, form_compiler_parameters,
+ mpi_comm=mesh.mpi_comm())
+ if jit_result is None:
+ cpp.dolfin_error("form.py",
+ "creating dolfin.Form",
+ "jit failure.")
+ self._compiled_form, module, prefix = jit_result
# Extract function spaces of form arguments
if function_spaces is None:
@@ -125,21 +125,25 @@ class Form(cpp.Form):
self.coefficients.append(original_coefficients[j])
# Type checking coefficients
- if not all(isinstance(c, cpp.GenericFunction)
+ if not all( isinstance(c, (cpp.GenericFunction, cpp.MultiMeshFunction))
for c in self.coefficients):
+ # Developer note:
+ # The form accepts a MultiMeshFunction but does not set the
+ # correct coefficients. This is done in assemble_multimesh
+ # at the moment
coefficient_error = "Error while extracting coefficients. "
raise TypeError(coefficient_error +
"Either provide a dict of cpp.GenericFunctions, " +
"or use Function to define your form.")
for i in range(self.num_coefficients()):
- self.set_coefficient(i, self.coefficients[i])
+ if isinstance(self.coefficients[i], cpp.GenericFunction):
+ self.set_coefficient(i, self.coefficients[i])
# Attach mesh (because function spaces and coefficients may be
# empty lists)
if not function_spaces:
self.set_mesh(mesh)
-
# Type checking subdomain data
# Delete None entries
for k in list(self.subdomains.keys()):
diff --git a/site-packages/dolfin/fem/formmanipulations.py b/site-packages/dolfin/fem/formmanipulations.py
index 50f3f6b..a0dd042 100644
--- a/site-packages/dolfin/fem/formmanipulations.py
+++ b/site-packages/dolfin/fem/formmanipulations.py
@@ -21,10 +21,10 @@
# Modified by Jan Blechta 2015
import ufl
-from ufl.algorithms import elementtransformations
+import ufl.algorithms.elementtransformations
import dolfin.cpp as cpp
-from dolfin import FunctionSpace, Function, Argument
+from dolfin import FunctionSpace, Function, Argument, MultiMeshFunction
__all__ = ["derivative", "adjoint", "increase_order", "tear"]
@@ -50,6 +50,10 @@ def adjoint(form, reordered_arguments=None):
# (NB: Order does not matter anymore here because number is absolute)
v_1 = Argument(arguments[1].function_space(), arguments[0].number(), arguments[0].part())
v_0 = Argument(arguments[0].function_space(), arguments[1].number(), arguments[1].part())
+ # Also copy the extended part of the argument for MultiMesh-functionality
+ if hasattr(arguments[0], '_V_multi'):
+ v_1._V_multi = arguments[1]._V_multi
+ v_0._V_multi = arguments[0]._V_multi
# Call ufl.adjoint with swapped arguments as new arguments
return ufl.adjoint(form, reordered_arguments=(v_1, v_0))
@@ -70,29 +74,14 @@ def derivative(form, u, du=None, coefficient_derivatives=None):
"parts, please supply one")
part = None
- if isinstance(u, Function):
+ if isinstance(u, (Function, MultiMeshFunction)):
V = u.function_space()
du = Argument(V, number, part)
-
elif isinstance(u, (list,tuple)) and all(isinstance(w, Function) for w in u):
- cpp.deprecation("derivative of form w.r.t. a tuple of Coefficients",
- "2016.1",
- "Take derivative w.r.t. a single Coefficient on "
- "a mixed space instead.")
-
- # Get mesh
- mesh = u[0].function_space().mesh()
- if not all(mesh.id() == v.function_space().mesh().id() for v in u):
- cpp.dolfin_error("formmanipulation.py",
- "compute derivative of form",
- "Don't know how to compute derivative with "
- "respect to Coefficients on different meshes yet")
-
- # Build mixed element, space and argument
- element = ufl.MixedElement([v.function_space().ufl_element() for v in u])
- V = FunctionSpace(mesh, element)
- du = ufl.split(Argument(V, number, part))
-
+ cpp.dolfin_error("formmanipulation.py",
+ "take derivative of form w.r.t. a tuple of Coefficients",
+ "Take derivative w.r.t. a single Coefficient on "\
+ "a mixed space instead.")
else:
cpp.dolfin_error("formmanipulation.py",
"compute derivative of form w.r.t. '%s'" % u,
@@ -114,7 +103,7 @@ def increase_order(V):
higher polynomial degree
"""
mesh = V.mesh()
- element = elementtransformations.increase_order(V.ufl_element())
+ element = ufl.algorithms.elementtransformations.increase_order(V.ufl_element())
constrained_domain = V.dofmap().constrained_domain
return FunctionSpace(mesh, element, constrained_domain=constrained_domain)
@@ -125,7 +114,7 @@ def change_regularity(V, family):
are the families supported by the form compiler
"""
mesh = V.mesh()
- element = elementtransformations.change_regularity(V.ufl_element(), family)
+ element = ufl.algorithms.elementtransformations.change_regularity(V.ufl_element(), family)
constrained_domain = V.dofmap().constrained_domain
return FunctionSpace(mesh, element, constrained_domain=constrained_domain)
diff --git a/site-packages/dolfin/fem/norms.py b/site-packages/dolfin/fem/norms.py
index 4b3fcf2..7a9bbc7 100644
--- a/site-packages/dolfin/fem/norms.py
+++ b/site-packages/dolfin/fem/norms.py
@@ -21,6 +21,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+from six import string_types
import ufl
from ufl import inner, grad, div, curl, dx, FiniteElement, VectorElement, Coefficient
from math import sqrt
@@ -99,7 +100,7 @@ def norm(v, norm_type="L2", mesh=None):
"expected a GenericVector or GenericFunction")
# Check arguments
- if not isinstance(norm_type, str):
+ if not isinstance(norm_type, string_types):
cpp.dolfin_error("norms.py",
"compute norm",
"Norm type must be a string, not " +
diff --git a/site-packages/dolfin/fem/projection.py b/site-packages/dolfin/fem/projection.py
index 3cbb6be..14f2474 100644
--- a/site-packages/dolfin/fem/projection.py
+++ b/site-packages/dolfin/fem/projection.py
@@ -30,6 +30,7 @@ import dolfin.cpp as cpp
# Local imports
from dolfin.functions.function import *
+from dolfin.functions.multimeshfunction import *
from dolfin.functions.expression import *
from dolfin.functions.functionspace import *
from dolfin.fem.assembling import *
@@ -84,6 +85,7 @@ def project(v, V=None, bcs=None, mesh=None,
# Create function space based on Expression element if trying
# to project an Expression
if isinstance(v, Expression):
+ # FIXME: Add handling of cpp.MultiMesh
if mesh is not None and isinstance(mesh, cpp.Mesh):
V = FunctionSpace(mesh, v.ufl_element())
else:
@@ -95,12 +97,35 @@ def project(v, V=None, bcs=None, mesh=None,
V = _extract_function_space(v, mesh)
# Check arguments
- if not isinstance(V, FunctionSpace):
+ if not isinstance(V, (FunctionSpace, cpp.MultiMeshFunctionSpace)):
cpp.dolfin_error("projection.py",
"compute projection",
- "Illegal function space for projection, not a FunctionSpace: " +
+ "Illegal function space for projection, not a FunctionSpace or MultiMeshFunctionSpace: " +
str(v))
+ # Projection into a MultiMeshFunctionSpace
+ if isinstance(V, cpp.MultiMeshFunctionSpace):
+
+ # Create the measuresum of uncut and cut-cells
+ dX = ufl.dx() + ufl.dC()
+
+ # Define variational problem for projection
+ w = TestFunction(V)
+ Pv = TrialFunction(V)
+ a = ufl.inner(w, Pv)*dX
+ L = ufl.inner(w, v)*dX
+
+ # Assemble linear system
+ A = assemble_multimesh(a, form_compiler_parameters=form_compiler_parameters)
+ b = assemble_multimesh(L, form_compiler_parameters=form_compiler_parameters)
+
+ # Solve linear system for projection
+ if function is None:
+ function = MultiMeshFunction(V)
+ cpp.la_solve(A, function.vector(), b, solver_type, preconditioner_type)
+
+ return function
+
# Ensure we have a mesh and attach to measure
if mesh is None:
mesh = V.mesh()
diff --git a/site-packages/dolfin/functions/__init__.py b/site-packages/dolfin/functions/__init__.py
index fa51560..fa56565 100644
--- a/site-packages/dolfin/functions/__init__.py
+++ b/site-packages/dolfin/functions/__init__.py
@@ -1,12 +1,14 @@
# -*- coding: utf-8 -*-
"""The function module of dolfin"""
+from dolfin.functions import multimeshfunction
from dolfin.functions import functionspace
from dolfin.functions import function
from dolfin.functions import constant
from dolfin.functions import expression
from dolfin.functions import specialfunctions
+from .multimeshfunction import *
from .functionspace import *
from .function import *
from .constant import *
@@ -18,4 +20,5 @@ from .specialfunctions import *
# NOTE: purpose.
__all__ = functionspace.__all__ + function.__all__ + constant.__all__ + \
- expression.__all__ + specialfunctions.__all__
+ expression.__all__ + specialfunctions.__all__ + \
+ multimeshfunction.__all__
diff --git a/site-packages/dolfin/functions/expression.py b/site-packages/dolfin/functions/expression.py
index 22f44fb..ac9a378 100644
--- a/site-packages/dolfin/functions/expression.py
+++ b/site-packages/dolfin/functions/expression.py
@@ -68,6 +68,7 @@ __all__ = ["Expression"]
# Python imports
import types
from six import add_metaclass # Requires newer six version than some buildbots have
+from six import string_types
# Import UFL and SWIG-generated extension module (DOLFIN C++)
import ufl
@@ -206,7 +207,7 @@ def create_python_derived_expression_class(class_name, user_bases, user_dict):
"""
# Check args
- assert isinstance(class_name, str)
+ assert isinstance(class_name, string_types)
assert isinstance(user_bases, list)
assert isinstance(user_dict, dict)
@@ -314,7 +315,7 @@ class ExpressionMetaClass(type):
def __new__(mcs, class_name, bases, dict_):
"""Returns a new Expression class"""
- assert isinstance(class_name, str), "Expecting a 'str'"
+ assert isinstance(class_name, string_types), "Expecting a 'str'"
assert isinstance(bases, tuple), "Expecting a 'tuple'"
assert isinstance(dict_, dict), "Expecting a 'dict'"
@@ -617,9 +618,9 @@ class Expression(object):
.. code-block:: python
class MyExpression1(Expression):
- def __init__(self, mesh, domain):
- self._mesh = mesh
- self._domain = domain
+ def __init__(self, **kwargs):
+ self._mesh = kwargs["mesh"]
+ self._domain = kwargs["domain"]
def eval(self, values, x):
...
@@ -771,7 +772,7 @@ class Expression(object):
raise TypeError("expected at least 1 argument")
# Test for ufl restriction
- if len(args) == 1 and isinstance(args[0], str):
+ if len(args) == 1 and isinstance(args[0], string_types):
if args[0] in ('+', '-'):
return ufl.Coefficient.__call__(self, *args)
@@ -851,18 +852,15 @@ def _check_cppcode(cppcode):
"Check that cppcode makes sense"
# Check that we get a string expression or nested expression
- if not isinstance(cppcode, (str, tuple, list)):
+ if not isinstance(cppcode, string_types + (tuple, list)):
raise TypeError("Please provide a 'str', 'tuple' or 'list' for "\
"the 'cppcode' argument.")
-def _auto_select_element_from_shape(shape, degree=None, cell=None):
+def _auto_select_element_from_shape(shape, degree, cell=None):
"Automatically select an appropriate element from cppcode."
-
- if degree is None:
- cpp.deprecation("Automatic determination of degree for Expressions",
- "2016.1",
- "Specify the polynomial degree for interpolation of Expression, or provide a FiniteElement")
+ if not isinstance(degree, int):
+ raise TypeError("Expression needs an integer argument 'degree' if no 'element' is provided.")
# Default element, change to quadrature when working
if degree == 0:
diff --git a/site-packages/dolfin/functions/function.py b/site-packages/dolfin/functions/function.py
index 7943a34..51f09b0 100644
--- a/site-packages/dolfin/functions/function.py
+++ b/site-packages/dolfin/functions/function.py
@@ -24,6 +24,7 @@
__all__ = ["Function", "TestFunction", "TrialFunction", "Argument",
"TestFunctions", "TrialFunctions"]
+from six import string_types
import types
# Import UFL and SWIG-generated extension module (DOLFIN C++)
@@ -257,11 +258,8 @@ class Function(ufl.Coefficient, cpp.Function):
if isinstance(args[0], Function):
other = args[0]
if len(args) == 1:
- # NOTE: Turn this into error when removing deprecation
- # warning
- cpp.deprecation("Function copy constructor", "2016.1",
- "Use 'Function.copy(deepcopy=True)' for copying.")
- self.__init_copy_constructor(other)
+ # Copy constructor used to be here
+ raise RuntimeError("Use 'Function.copy(deepcopy=True)' for copying.")
elif len(args) == 2:
i = args[1]
if not isinstance(i, int):
@@ -302,10 +300,6 @@ class Function(ufl.Coefficient, cpp.Function):
name = kwargs.get("name") or "f_%d" % self.count()
self.rename(name, "a Function")
- def __init_copy_constructor(self, other):
- cpp.Function.__init__(self, other)
- ufl.Coefficient.__init__(self, other.ufl_function_space(), count=self.id())
-
def __init_from_cpp_function(self, other):
# Assign all the members (including 'this' pointer to SWIG wraper)
# NOTE: This in fact performs assignment of C++ context
@@ -548,7 +542,7 @@ class Function(ufl.Coefficient, cpp.Function):
raise TypeError("expected at least 1 argument")
# Test for ufl restriction
- if len(args) == 1 and isinstance(args[0], str):
+ if len(args) == 1 and isinstance(args[0], string_types):
if args[0] in ('+', '-'):
return ufl.Coefficient.__call__(self, *args)
diff --git a/site-packages/dolfin/functions/functionspace.py b/site-packages/dolfin/functions/functionspace.py
index 6ca8099..350c26e 100644
--- a/site-packages/dolfin/functions/functionspace.py
+++ b/site-packages/dolfin/functions/functionspace.py
@@ -21,18 +21,11 @@ elements.
#
# You should have received a copy of the GNU Lesser General Public License
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Anders Logg 2008, 2015
-# Modified by Martin Sandve Alnæs 2008-2015
-# Modified by Kent-Andre Mardal 2009
-# Modified by Marie E. Rognes 2012
-# Modified by Jan Blechta 2015
-
-__all__ = ["FunctionSpace", "EnrichedFunctionSpace", "MixedFunctionSpace",
- "VectorFunctionSpace", "TensorFunctionSpace",
- "FunctionSpaceFromCpp", "FunctionSpaceBase",
+
+__all__ = ["FunctionSpace", "VectorFunctionSpace", "TensorFunctionSpace",
"MultiMeshFunctionSpace"]
+from six import string_types
import numpy
# Import UFL and SWIG-generated extension module (DOLFIN C++)
@@ -238,7 +231,7 @@ class FunctionSpace(ufl.FunctionSpace, cpp.FunctionSpace):
def _init_convenience(self, mesh, family, degree, form_degree=None,
constrained_domain=None, restriction=None):
# Check arguments
- if not isinstance(family, str):
+ if not isinstance(family, string_types):
cpp.dolfin_error("functionspace.py",
"create function space",
"Illegal argument for finite element family, not a string: " + str(family))
@@ -296,24 +289,10 @@ class FunctionSpace(ufl.FunctionSpace, cpp.FunctionSpace):
"Return the UFL cell."
return self.ufl_domain().ufl_cell()
- def cell(self):
- "Return the UFL cell."
- cpp.deprecation("'FunctionSpace.cell()'", "2016.1",
- "Use 'FunctionSpace.ufl_cell()' instead.")
- return self.ufl_cell()
-
def dolfin_element(self):
"Return the DOLFIN element."
return self.element()
- def __add__(self, other):
- "Create enriched function space."
- return EnrichedFunctionSpace((self, other))
-
- def __mul__(self, other):
- "Create mixed function space."
- return MixedFunctionSpace((self, other))
-
def __str__(self):
"Pretty-print."
return "<Function space of dimension %d (%s)>" % \
@@ -405,107 +384,6 @@ class FunctionSpace(ufl.FunctionSpace, cpp.FunctionSpace):
return V
-def FunctionSpaceFromCpp(cppV):
- cpp.deprecation("'FunctionSpaceFromCpp'", "2016.1",
- "Use 'FunctionSpace(cppV)' instead.")
- return FunctionSpace(cppV)
-
-
-def FunctionSpaceBase(mesh, element, constrained_domain=None):
- cpp.deprecation("'FunctionSpaceBase'", "2016.1",
- "Use 'FunctionSpace(...)' instead.")
- return FunctionSpace(mesh, element, constrained_domain=None)
-
-
-def EnrichedFunctionSpace(spaces):
- """
- Create enriched finite element function space.
-
- *Arguments*
- spaces
- a list (or tuple) of :py:class:`FunctionSpaces
- <dolfin.functions.functionspace.FunctionSpace>`.
-
- *Usage*
- The function space may be created by
-
- .. code-block:: python
-
- V = EnrichedFunctionSpace(spaces)
-
- """
- cpp.deprecation("'EnrichedFunctionSpace'", "2016.1",
- "Use 'FunctionSpace(mesh, EnrichedElement(...))'.")
-
- # Check arguments
- if not len(spaces) > 0:
- cpp.dolfin_error("functionspace.py",
- "create enriched function space",
- "Need at least one subspace")
- if not all(isinstance(V, FunctionSpace) for V in spaces):
- cpp.dolfin_error("functionspace.py",
- "create enriched function space",
- "Invalid subspaces: " + str(spaces))
-
- # Get common mesh and constrained_domain, must all be the same
- mesh, constrained_domain = _get_common_mesh_and_constrained_domain(spaces)
-
- # Create element
- element = ufl.EnrichedElement(*[V.ufl_element() for V in spaces])
-
- return FunctionSpace(mesh, element,
- constrained_domain=constrained_domain)
-
-
-def MixedFunctionSpace(spaces):
- """
- Create mixed finite element function space.
-
- *Arguments*
- spaces
- a list (or tuple) of :py:class:`FunctionSpaces
- <dolfin.functions.functionspace.FunctionSpace>`.
-
- *Examples of usage*
- The function space may be created by
-
- .. code-block:: python
-
- V = MixedFunctionSpace(spaces)
-
- ``spaces`` may consist of multiple occurances of the same space:
-
- .. code-block:: python
-
- P1 = FunctionSpace(mesh, "CG", 1)
- P2v = VectorFunctionSpace(mesh, "Lagrange", 2)
-
- ME = MixedFunctionSpace([P2v, P1, P1, P1])
-
- """
- cpp.deprecation("'MixedFunctionSpace'", "2016.1",
- "Use 'FunctionSpace(mesh, MixedElement(...))'.")
-
- # Check arguments
- if not len(spaces) > 0:
- cpp.dolfin_error("functionspace.py",
- "create mixed function space",
- "Need at least one subspace")
- if not all(isinstance(V, FunctionSpace) for V in spaces):
- cpp.dolfin_error("functionspace.py",
- "create mixed function space",
- "Invalid subspaces: " + str(spaces))
-
- # Get common mesh and constrained_domain, must all be the same
- mesh, constrained_domain = _get_common_mesh_and_constrained_domain(spaces)
-
- # Create UFL element
- element = ufl.MixedElement(*[V.ufl_element() for V in spaces])
-
- return FunctionSpace(mesh, element,
- constrained_domain=constrained_domain)
-
-
def VectorFunctionSpace(mesh, family, degree, dim=None, form_degree=None,
constrained_domain=None, restriction=None):
"""Create vector-valued finite element function space.
@@ -616,10 +494,6 @@ def MultiMeshFunctionSpace(multimesh, family, degree=None):
element = FiniteElement("Lagrange", triangle, 1)
V = MultiMeshFunctionSpace(mesh, element)
-
- Note: Multimesh function spaces does currently not support
- function space algebra. For this reason, mixed function spaces
- and the like must be created via a finite element.
"""
# Check arguments
diff --git a/site-packages/dolfin/functions/multimeshfunction.py b/site-packages/dolfin/functions/multimeshfunction.py
new file mode 100644
index 0000000..6ff8917
--- /dev/null
+++ b/site-packages/dolfin/functions/multimeshfunction.py
@@ -0,0 +1,126 @@
+# -*- coding: utf-8 -*-
+"""This module handles the MultiMeshFunction class in Python.
+"""
+# Copyright (C) 2016 Jørgen Schartum Dokken
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+#
+
+__all__ = ["MultiMeshFunction"]
+
+# Import UFL and SWIG-generated extension module (DOLFIN C++)
+import ufl
+import dolfin.cpp as cpp
+
+from dolfin.functions.functionspace import MultiMeshFunctionSpace
+
+class MultiMeshFunction(ufl.Coefficient, cpp.MultiMeshFunction):
+ """This class represents a multimeshfunction
+ :math:`u_h=(u_{h,1}\cross \dots u_{h,N}` in a finite
+ element multimeshfunction space
+ :math:`V_h=V_{h,1}\cross \dots V_{h,N}`, given by
+
+ .. math::
+
+ u_{h,j}= \sum_{i=1}^n U_i \phi_{i,j},
+
+ where :math:`\{\phi_{i,j}\}_{i=1}^n` is a basis for :math:`V_{h,j}`,
+ and :math:`U` is a vector of expansion coefficients for
+ :math:`u_h`.
+
+ *Arguments*
+ There is a maximum of two arguments. The first argument must be a
+ :py:class:`MultiMeshFunctionSpace
+ <dolfin.cpp.function.MultiMeshFunctionSpace>`.
+
+ The second argument must be a GenericVector and is intended for library
+ use only.
+
+ *Examples*
+ Create a MultiMeshFunction:
+
+ - from a :py:class:`MultiMeshFunctionSpace
+ <dolfin.cpp.function.MultiMeshFunctionSpace>` ``V``
+
+ .. code-block:: python
+
+ f = MultiMeshFunction(V)
+
+
+ - from a :py:class:`MultiMeshFunctionSpace
+ <dolfin.cpp.function.MultiMeshFunctionSpace>` ``V`` and a
+ :py:class:`GenericVector <dolfin.cpp.GenericVector>` ``v``
+
+ *Warning: this constructor is intended for internal libray use only.*
+
+ .. code-block:: python
+
+ g = MultiMeshFunction(V, v)
+
+ """
+
+ def __init__(self, *args, **kwargs):
+ """Initialize MultiMeshFunction."""
+ # Initial quick check for valid arguments (other checks
+ # sprinkled below)
+ if len(args) == 0:
+ raise TypeError("expected 1 or more arguments")
+ # Type switch on argument types
+ if isinstance(args[0], MultiMeshFunction):
+ other = args[0]
+ if len(args) == 1:
+ # Copy constructor used to be here
+ raise RuntimeError("Use 'MultiMeshFunction.copy(deepcopy=True)' for copying.")
+ else:
+ raise NotImplementedError
+ elif isinstance(args[0], cpp.MultiMeshFunction):
+ raise NotImplementedError
+ elif isinstance(args[0], cpp.MultiMeshFunctionSpace):
+ V = args[0]
+ # If initialising from a FunctionSpace
+ if len(args) == 1:
+ # If passing only the FunctionSpace
+ self.__init_from_multimeshfunction_space(V)
+ elif len(args) == 2:
+ other = args[1]
+ if isinstance(other, cpp.MultiMeshFunction):
+ raise NotImplementedError
+ else:
+ self.__init_from_function_space_and_function(V, other)
+ else:
+ raise TypeError("too many arguments")
+
+ # Keep a reference of the functionspace with additional attributes
+ self._V = V
+ else:
+ raise TypeError("expected a MultiMeshFunctionSpace or a MultiMeshFunction as argument 1")
+
+
+ def __init_from_multimeshfunction_space(self, V):
+ cpp.MultiMeshFunction.__init__(self, V)
+ ufl.Coefficient.__init__(self, V._parts[0].ufl_function_space(),
+ count=self.id())
+
+ def __init_from_function_space_and_function(self, V, other):
+ cpp.MultiMeshFunction.__init__(self, V, other)
+ ufl.Coefficient.__init__(self, V._parts[0].ufl_function_space(),
+ count=self.id())
+
+ def function_space(self):
+ return self._V
+
+ def assign(self, rhs):
+ self.vector()[:]= rhs.vector()[:]
diff --git a/site-packages/dolfin/importhandler/__init__.py b/site-packages/dolfin/importhandler/__init__.py
index 6bf6e33..0441772 100644
--- a/site-packages/dolfin/importhandler/__init__.py
+++ b/site-packages/dolfin/importhandler/__init__.py
@@ -34,7 +34,7 @@ if "linux" in sys.platform:
sys.setdlopenflags(RTLD_NOW | RTLD_GLOBAL)
# Check for runtime dependencies
-runtime_dependencies = ["ufl", "ffc", "ufc", "ply.lex"]
+runtime_dependencies = ["ufl", "ffc", "ply.lex"]
for dep in runtime_dependencies:
try:
diff --git a/site-packages/dolfin_utils/cppparser/utils.py b/site-packages/dolfin_utils/cppparser/utils.py
index dded3dd..e5be3eb 100644
--- a/site-packages/dolfin_utils/cppparser/utils.py
+++ b/site-packages/dolfin_utils/cppparser/utils.py
@@ -107,9 +107,9 @@ def parse_and_extract_type_info(code):
# Collect used types from the code
used_types = set()
-
+
# Iterate over typedefs and collect types
- for typedef in cppheader.typedefs:
+ for typedef in sorted(cppheader.typedefs):
if "dolfin::" in typedef:
typedef = typedef.replace("dolfin::", "")
@@ -128,8 +128,8 @@ def parse_and_extract_type_info(code):
used_types.update(strip_templates(argument["type"]))
# Iterate over class and collect info
- for class_name, class_repr in list(cppheader.classes.items()):
-
+ for class_name, class_repr in sorted(cppheader.classes.items()):
+
# Check if class is private
if class_repr["parent"] is not None:
continue
@@ -143,7 +143,7 @@ def parse_and_extract_type_info(code):
bases.difference_update([class_name])
# Register the class
- declared_types[class_name] = list(bases)
+ declared_types[class_name] = sorted(bases)
# Iterate over public properties
for prop in class_repr["properties"]["public"]:
diff --git a/site-packages/dolfin_utils/pjobs/pjobs.py b/site-packages/dolfin_utils/pjobs/pjobs.py
index d810b20..67abe91 100644
--- a/site-packages/dolfin_utils/pjobs/pjobs.py
+++ b/site-packages/dolfin_utils/pjobs/pjobs.py
@@ -22,6 +22,9 @@
# Modified Johannes Ring 2013
from __future__ import print_function
+
+from six import string_types
+
import torque
import sge
import slurm
@@ -35,7 +38,7 @@ def check_mem_argument(mem, backend):
else:
allowed_mem_suffices = ["kb","mb","gb"]
if not mem is None:
- assert isinstance(mem,str)
+ assert isinstance(mem, string_types)
match = re.match("(\d+)(\w+)", mem)
if not match:
return False
@@ -132,9 +135,9 @@ def submit(jobs, nodes=1, ppn=1, walltime=3, mem=None, vmem=None, name="myjob",
Set the name of the actuall submitter.
Available backends: 'torque' (default), 'sge' and 'slurm'
"""
- if isinstance(jobs, str):
+ if isinstance(jobs, string_types):
jobs = [jobs]
- assert all(isinstance(job, str) for job in jobs)
+ assert all(isinstance(job, string_types) for job in jobs)
assert isinstance(nodes, int)
assert isinstance(ppn, int)
assert isinstance(walltime, (int, float))
@@ -142,9 +145,9 @@ def submit(jobs, nodes=1, ppn=1, walltime=3, mem=None, vmem=None, name="myjob",
raise TypeError("Wrong format of mem attribute, see docstring")
if not check_mem_argument(vmem, backend):
raise TypeError("Wrong format of vmem attribute, see docstring")
- assert isinstance(name, (str, list, tuple))
- assert isinstance(workdir, str)
- assert email is None or isinstance(email, str)
+ assert isinstance(name, string_types + (list, tuple))
+ assert isinstance(workdir, string_types)
+ assert email is None or isinstance(email, string_types)
if serial is None:
# Get environment variable to toggle serial behaviour
serial = bool(os.environ.get("PJOBS_SERIAL", False))
@@ -153,11 +156,11 @@ def submit(jobs, nodes=1, ppn=1, walltime=3, mem=None, vmem=None, name="myjob",
# Check queue and PE
queue = queue or ""
parallel_environment = parallel_environment or ""
- assert isinstance(queue, str)
- assert isinstance(parallel_environment, str)
+ assert isinstance(queue, string_types)
+ assert isinstance(parallel_environment, string_types)
# Check backend
- assert isinstance(backend, str)
+ assert isinstance(backend, string_types)
assert (backend in ["torque", "sge", "slurm"])
# Shared setup
@@ -178,7 +181,7 @@ def submit(jobs, nodes=1, ppn=1, walltime=3, mem=None, vmem=None, name="myjob",
workdir = os.path.abspath(workdir)
# Define range of names if only a single name is provided
- if isinstance(name, str):
+ if isinstance(name, string_types):
names = ["%s_%d" % (name, k) for k in range(len(jobs))]
else:
names = name
diff --git a/site-packages/dolfin_utils/test/skips.py b/site-packages/dolfin_utils/test/skips.py
index ddd9483..44b5300 100644
--- a/site-packages/dolfin_utils/test/skips.py
+++ b/site-packages/dolfin_utils/test/skips.py
@@ -46,3 +46,20 @@ skip_in_serial = pytest.mark.skipif(MPI.size(mpi_comm_world()) <= 1,
# Skips with respect to linear algebra index type
skip_64bit_int = pytest.mark.skipif(cpp.common.sizeof_la_index() == 8,
reason="This test does not work with 64-bit linear algebra indices.")
+
+# This should be moved to dolfin.cpp.common (Jan Blechta to fix)
+has_debug = compile_extension_module(
+"""bool has_debug() {
+#ifdef DEBUG
+return true;
+#else
+return false;
+#endif
+}
+""").has_debug
+
+# Skips with respect to build type
+skip_in_debug = pytest.mark.skipif(has_debug(),
+ reason="This test does not work in debug mode.")
+skip_in_release = pytest.mark.skipif(not has_debug(),
+ reason="This test does not work in release mode.")
diff --git a/test/codingstyle/test_coding_style.py.in b/test/codingstyle/test_coding_style.py.in
index e00420a..ff2d3a5 100755
--- a/test/codingstyle/test_coding_style.py.in
+++ b/test/codingstyle/test_coding_style.py.in
@@ -98,7 +98,7 @@ def raise_exception(code, filename):
"specialfunctions.py", "function.py",
"ordereddict.py", "abaqus.py", "sge.py", "pjobs.py",
"generatepythonrst.py", "CppHeaderParser.py",
- "subdomains.py", "plotting.py"]
+ "subdomains.py", "plotting.py", "multimeshfunction.py"]
if filename in exceptions:
return True
diff --git a/test/data/README b/test/data/README
index bbb8f02..f2a73f5 100644
--- a/test/data/README
+++ b/test/data/README
@@ -1 +1,4 @@
-This is where the download script puts meshes used by unit tests.
+This directory contains data files used by the unit tests. Note that
+the files are not gzipped (no .gz extension). This is to prevent the
+files from being handled by Git LFS which otherwise handles .xml.gz
+files for this repository (as configured in .gitattributes).
diff --git a/test/data/aneurysm.xml b/test/data/aneurysm.xml
new file mode 100644
index 0000000..a74c9f9
--- /dev/null
+++ b/test/data/aneurysm.xml
@@ -0,0 +1,85368 @@
+<?xml version="1.0"?>
+<dolfin xmlns:dolfin="http://www.fenicsproject.org">
+ <mesh celltype="tetrahedron" dim="3">
+ <vertices size="7031">
+ <vertex index="0" x="55.5757" y="51.2446" z="9.00918" />
+ <vertex index="1" x="55.8542" y="50.6492" z="8.64836" />
+ <vertex index="2" x="55.6502" y="50.6052" z="9.50664" />
+ <vertex index="3" x="56.4216" y="48.365" z="13.1658" />
+ <vertex index="4" x="57.023" y="48.3246" z="12.9075" />
+ <vertex index="5" x="56.9756" y="48.144" z="13.5406" />
+ <vertex index="6" x="55.6356" y="49.9376" z="16.7285" />
+ <vertex index="7" x="55.6514" y="50.1146" z="16.0771" />
+ <vertex index="8" x="55.2207" y="49.4045" z="16.3561" />
+ <vertex index="9" x="54.9844" y="45.3036" z="28.1111" />
+ <vertex index="10" x="54.7886" y="44.7352" z="27.8464" />
+ <vertex index="11" x="54.4809" y="44.7275" z="28.3512" />
+ <vertex index="12" x="54.0287" y="46.5608" z="31.1909" />
+ <vertex index="13" x="54.8977" y="46.7393" z="31.5244" />
+ <vertex index="14" x="54.8514" y="46.5937" z="30.7084" />
+ <vertex index="15" x="52.4829" y="42.1756" z="31.9527" />
+ <vertex index="16" x="52.6712" y="41.9883" z="31.5178" />
+ <vertex index="17" x="52.7787" y="41.6374" z="31.9576" />
+ <vertex index="18" x="52.1864" y="42.2545" z="31.5724" />
+ <vertex index="19" x="52.1819" y="42.5174" z="31.8392" />
+ <vertex index="20" x="57.429" y="42.5318" z="31.4695" />
+ <vertex index="21" x="57.0935" y="42.1345" z="31.0705" />
+ <vertex index="22" x="57.4407" y="42.6728" z="30.998" />
+ <vertex index="23" x="57.6954" y="42.7206" z="31.4733" />
+ <vertex index="24" x="50.1088" y="43.8551" z="32.1487" />
+ <vertex index="25" x="49.2846" y="43.625" z="32.069" />
+ <vertex index="26" x="49.7212" y="43.5633" z="32.8553" />
+ <vertex index="27" x="56.7571" y="45.8722" z="32.5907" />
+ <vertex index="28" x="56.9842" y="45.6164" z="32.4393" />
+ <vertex index="29" x="56.9411" y="45.7723" z="32.1676" />
+ <vertex index="30" x="57.3211" y="45.6925" z="32.4094" />
+ <vertex index="31" x="57.2531" y="45.4804" z="32.5716" />
+ <vertex index="32" x="51.969" y="42.8336" z="32.766" />
+ <vertex index="33" x="52.0342" y="43.4024" z="32.4993" />
+ <vertex index="34" x="52.0906" y="43.0497" z="32.2211" />
+ <vertex index="35" x="56.9152" y="45.5344" z="32.6904" />
+ <vertex index="36" x="56.9388" y="45.3424" z="32.8986" />
+ <vertex index="37" x="57.1737" y="45.3328" z="32.6618" />
+ <vertex index="38" x="57.222" y="45.2113" z="32.7746" />
+ <vertex index="39" x="57.3719" y="45.3536" z="32.7789" />
+ <vertex index="40" x="57.0449" y="45.0796" z="32.9648" />
+ <vertex index="41" x="59.4395" y="43.7721" z="32.7925" />
+ <vertex index="42" x="59.6914" y="44.014" z="33.5236" />
+ <vertex index="43" x="59.4049" y="43.2526" z="33.4851" />
+ <vertex index="44" x="57.6642" y="43.7879" z="33.0318" />
+ <vertex index="45" x="57.854" y="43.5557" z="32.9573" />
+ <vertex index="46" x="57.9638" y="43.6646" z="33.2676" />
+ <vertex index="47" x="56.9987" y="44.9524" z="33.23" />
+ <vertex index="48" x="57.3012" y="44.9014" z="33.0093" />
+ <vertex index="49" x="57.8054" y="44.0047" z="33.2454" />
+ <vertex index="50" x="57.6412" y="44.4976" z="33.2293" />
+ <vertex index="51" x="57.493" y="44.7123" z="33.1453" />
+ <vertex index="52" x="57.2947" y="44.4357" z="33.1962" />
+ <vertex index="53" x="57.8012" y="44.7635" z="33.5236" />
+ <vertex index="54" x="57.1001" y="44.6816" z="33.2534" />
+ <vertex index="55" x="56.916" y="45.2505" z="33.273" />
+ <vertex index="56" x="57.8521" y="44.3098" z="33.4584" />
+ <vertex index="57" x="56.9853" y="44.8987" z="33.668" />
+ <vertex index="58" x="58.1712" y="42.987" z="34.284" />
+ <vertex index="59" x="58.2823" y="42.9169" z="33.5895" />
+ <vertex index="60" x="59.2508" y="42.8219" z="34.3044" />
+ <vertex index="61" x="57.6299" y="45.2982" z="34.8699" />
+ <vertex index="62" x="58.0674" y="45.7089" z="35.6429" />
+ <vertex index="63" x="58.5657" y="45.7752" z="34.9687" />
+ <vertex index="64" x="45.7975" y="39.8988" z="37.7109" />
+ <vertex index="65" x="46.2034" y="39.5908" z="36.9007" />
+ <vertex index="66" x="45.9476" y="39.2426" z="37.5751" />
+ <vertex index="67" x="45.5012" y="39.2966" z="38.318" />
+ <vertex index="68" x="46.0942" y="40.5202" z="39.5459" />
+ <vertex index="69" x="46.7603" y="40.5533" z="39.9368" />
+ <vertex index="70" x="46.6709" y="40.8891" z="39.1361" />
+ <vertex index="71" x="46.8789" y="40.1227" z="40.6469" />
+ <vertex index="72" x="47.4924" y="40.1947" z="40.1375" />
+ <vertex index="73" x="56.7311" y="44.2606" z="40.2252" />
+ <vertex index="74" x="57.3133" y="44.7105" z="39.9994" />
+ <vertex index="75" x="56.8766" y="44.3895" z="39.5791" />
+ <vertex index="76" x="59.1586" y="44.1099" z="40.4376" />
+ <vertex index="77" x="59.2951" y="43.4396" z="40.9733" />
+ <vertex index="78" x="59.5205" y="43.3597" z="40.1836" />
+ <vertex index="79" x="44.1793" y="39.1274" z="43.2336" />
+ <vertex index="80" x="44.2954" y="39.2811" z="42.446" />
+ <vertex index="81" x="43.645" y="39.022" z="42.7477" />
+ <vertex index="82" x="55.853" y="41.7179" z="42.2583" />
+ <vertex index="83" x="55.4338" y="42.1047" z="42.9449" />
+ <vertex index="84" x="55.6953" y="42.5125" z="42.2018" />
+ <vertex index="85" x="42.6904" y="38.7208" z="44.9211" />
+ <vertex index="86" x="43.0151" y="38.4855" z="45.552" />
+ <vertex index="87" x="43.485" y="38.6658" z="44.8662" />
+ <vertex index="88" x="39.2876" y="37.3603" z="45.7612" />
+ <vertex index="89" x="39.8978" y="36.6711" z="45.3073" />
+ <vertex index="90" x="39.3373" y="36.4501" z="45.9413" />
+ <vertex index="91" x="55.4861" y="40.3931" z="45.3783" />
+ <vertex index="92" x="55.9716" y="40.1122" z="45.5809" />
+ <vertex index="93" x="55.5074" y="40.0865" z="46.0421" />
+ <vertex index="94" x="54.9032" y="42.2426" z="47.9588" />
+ <vertex index="95" x="55.4331" y="42.6754" z="47.3232" />
+ <vertex index="96" x="54.8505" y="42.2064" z="47.035" />
+ <vertex index="97" x="54.7609" y="39.8091" z="48.213" />
+ <vertex index="98" x="55.4829" y="39.3864" z="48.0994" />
+ <vertex index="99" x="55.0258" y="39.3214" z="48.8752" />
+ <vertex index="100" x="58.9694" y="53.1755" z="6.65022" />
+ <vertex index="101" x="58.6899" y="53.3319" z="7.37455" />
+ <vertex index="102" x="59.0533" y="52.6375" z="7.22394" />
+ <vertex index="103" x="56.6435" y="50.4295" z="7.44773" />
+ <vertex index="104" x="56.8755" y="50.6288" z="6.63127" />
+ <vertex index="105" x="57.3782" y="50.3429" z="7.15154" />
+ <vertex index="106" x="58.4833" y="53.7662" z="6.84286" />
+ <vertex index="107" x="56.1887" y="53.1505" z="8.28951" />
+ <vertex index="108" x="55.7017" y="52.408" z="8.08805" />
+ <vertex index="109" x="55.8042" y="52.4982" z="8.90254" />
+ <vertex index="110" x="55.6305" y="51.2587" z="8.24527" />
+ <vertex index="111" x="56.5758" y="52.8172" z="10.1089" />
+ <vertex index="112" x="56.0678" y="52.3261" z="10.4302" />
+ <vertex index="113" x="56.4715" y="52.4537" z="10.933" />
+ <vertex index="114" x="56.3324" y="48.1282" z="13.9323" />
+ <vertex index="115" x="55.7707" y="48.6473" z="13.5851" />
+ <vertex index="116" x="57.0303" y="47.9015" z="14.3308" />
+ <vertex index="117" x="56.7086" y="47.6183" z="15.1187" />
+ <vertex index="118" x="56.3063" y="47.8654" z="14.6074" />
+ <vertex index="119" x="57.5285" y="47.4615" z="16.441" />
+ <vertex index="120" x="57.1496" y="47.4372" z="15.7697" />
+ <vertex index="121" x="57.8086" y="47.8606" z="15.8085" />
+ <vertex index="122" x="57.9323" y="49.4868" z="16.9601" />
+ <vertex index="123" x="57.8294" y="50.0045" z="16.3042" />
+ <vertex index="124" x="57.4688" y="50.0324" z="16.8677" />
+ <vertex index="125" x="57.2911" y="47.0852" z="17.096" />
+ <vertex index="126" x="57.8432" y="47.6647" z="17.1139" />
+ <vertex index="127" x="57.6224" y="47.206" z="17.8391" />
+ <vertex index="128" x="56.0411" y="43.7248" z="25.9003" />
+ <vertex index="129" x="56.5674" y="44.0705" z="25.2995" />
+ <vertex index="130" x="56.7859" y="43.966" z="26.1282" />
+ <vertex index="131" x="56.3536" y="46.7864" z="25.4338" />
+ <vertex index="132" x="55.5129" y="46.7517" z="25.3618" />
+ <vertex index="133" x="55.9103" y="46.5955" z="26.1194" />
+ <vertex index="134" x="54.6495" y="44.1683" z="28.0072" />
+ <vertex index="135" x="54.0593" y="44.0004" z="28.4536" />
+ <vertex index="136" x="53.8516" y="44.8595" z="28.7723" />
+ <vertex index="137" x="54.4236" y="45.7096" z="29.7461" />
+ <vertex index="138" x="53.7837" y="45.6766" z="30.1989" />
+ <vertex index="139" x="54.1712" y="46.2515" z="30.2557" />
+ <vertex index="140" x="52.1317" y="41.8818" z="31.1268" />
+ <vertex index="141" x="52.8378" y="41.8098" z="30.9196" />
+ <vertex index="142" x="52.2377" y="42.524" z="32.336" />
+ <vertex index="143" x="52.6749" y="41.168" z="32.4209" />
+ <vertex index="144" x="52.1864" y="41.4123" z="32.9467" />
+ <vertex index="145" x="52.3914" y="41.8472" z="32.4185" />
+ <vertex index="146" x="58.0887" y="43.2284" z="32.9916" />
+ <vertex index="147" x="58.2579" y="42.8257" z="32.3557" />
+ <vertex index="148" x="58.9717" y="43.0354" z="32.8083" />
+ <vertex index="149" x="57.3868" y="45.1467" z="32.9256" />
+ <vertex index="150" x="56.8444" y="45.7251" z="33.1199" />
+ <vertex index="151" x="52.6453" y="40.7549" z="33.0508" />
+ <vertex index="152" x="57.6011" y="45.0288" z="33.1654" />
+ <vertex index="153" x="57.3404" y="43.9707" z="33.2001" />
+ <vertex index="154" x="57.2182" y="44.1876" z="33.3224" />
+ <vertex index="155" x="57.1518" y="43.9173" z="33.6913" />
+ <vertex index="156" x="57.5337" y="44.2509" z="33.1628" />
+ <vertex index="157" x="57.7124" y="45.342" z="33.5625" />
+ <vertex index="158" x="58.4009" y="45.4973" z="37.0389" />
+ <vertex index="159" x="57.7142" y="45.3852" z="36.7449" />
+ <vertex index="160" x="57.744" y="45.2856" z="37.4565" />
+ <vertex index="161" x="57.5463" y="42.3892" z="38.1657" />
+ <vertex index="162" x="58.1765" y="41.8158" z="38.7626" />
+ <vertex index="163" x="57.2772" y="42.2205" z="38.9293" />
+ <vertex index="164" x="48.2727" y="39.1783" z="39.5261" />
+ <vertex index="165" x="48.5673" y="39.5838" z="38.945" />
+ <vertex index="166" x="48.1378" y="40.0867" z="39.5075" />
+ <vertex index="167" x="56.9355" y="42.6998" z="39.2061" />
+ <vertex index="168" x="56.9305" y="42.1562" z="39.647" />
+ <vertex index="169" x="56.5569" y="42.931" z="39.8359" />
+ <vertex index="170" x="47.9374" y="39.543" z="40.219" />
+ <vertex index="171" x="56.5061" y="42.1248" z="40.4293" />
+ <vertex index="172" x="56.042" y="42.082" z="41.3711" />
+ <vertex index="173" x="56.1055" y="42.9025" z="40.7395" />
+ <vertex index="174" x="43.7996" y="37.3022" z="41.6626" />
+ <vertex index="175" x="43.509" y="38.1599" z="41.7133" />
+ <vertex index="176" x="44.1276" y="37.8109" z="40.9938" />
+ <vertex index="177" x="56.4116" y="41.3878" z="41.8043" />
+ <vertex index="178" x="42.9527" y="38.1061" z="42.4236" />
+ <vertex index="179" x="43.2111" y="37.4231" z="42.1559" />
+ <vertex index="180" x="42.637" y="37.4552" z="42.6845" />
+ <vertex index="181" x="42.6484" y="35.9478" z="45.4583" />
+ <vertex index="182" x="43.1653" y="36.0281" z="44.7957" />
+ <vertex index="183" x="43.5392" y="36.2931" z="45.3306" />
+ <vertex index="184" x="40.8687" y="35.6346" z="46.7947" />
+ <vertex index="185" x="40.6538" y="35.6933" z="47.4681" />
+ <vertex index="186" x="39.9948" y="35.624" z="46.8608" />
+ <vertex index="187" x="55.1292" y="47.283" z="22.7239" />
+ <vertex index="188" x="54.8577" y="46.9558" z="22.045" />
+ <vertex index="189" x="54.8344" y="46.5711" z="22.8585" />
+ <vertex index="190" x="55.391" y="44.4057" z="24.3054" />
+ <vertex index="191" x="56.1489" y="44.1172" z="24.6217" />
+ <vertex index="192" x="55.6713" y="43.988" z="25.1677" />
+ <vertex index="193" x="55.2487" y="42.6408" z="46.4464" />
+ <vertex index="194" x="59.7503" y="43.261" z="34.9114" />
+ <vertex index="195" x="59.3241" y="42.6866" z="35.1617" />
+ <vertex index="196" x="58.6789" y="52.1078" z="3.97119" />
+ <vertex index="197" x="59.0241" y="52.5803" z="4.18448" />
+ <vertex index="198" x="58.7455" y="51.9651" z="4.47102" />
+ <vertex index="199" x="58.2064" y="49.9027" z="15.6105" />
+ <vertex index="200" x="58.2253" y="49.2792" z="16.2138" />
+ <vertex index="201" x="48.0132" y="41.9823" z="32.5275" />
+ <vertex index="202" x="48.3426" y="42.6525" z="32.435" />
+ <vertex index="203" x="48.4082" y="41.882" z="31.936" />
+ <vertex index="204" x="56.1957" y="39.9557" z="46.1291" />
+ <vertex index="205" x="48.8108" y="42.8488" z="34.2552" />
+ <vertex index="206" x="48.0409" y="42.5766" z="34.0253" />
+ <vertex index="207" x="48.347" y="42.5183" z="34.8646" />
+ <vertex index="208" x="55.811" y="49.0929" z="19.2265" />
+ <vertex index="209" x="56.4251" y="49.2485" z="19.2517" />
+ <vertex index="210" x="56.0309" y="49.3753" z="18.7616" />
+ <vertex index="211" x="56.1376" y="48.4803" z="20.9785" />
+ <vertex index="212" x="56.8304" y="48.2338" z="21.3164" />
+ <vertex index="213" x="56.7914" y="48.5772" z="20.5533" />
+ <vertex index="214" x="54.8247" y="44.3704" z="27.3607" />
+ <vertex index="215" x="54.9714" y="43.7802" z="27.7562" />
+ <vertex index="216" x="53.2247" y="41.5898" z="31.4995" />
+ <vertex index="217" x="57.714" y="43.5125" z="36.1831" />
+ <vertex index="218" x="57.9199" y="42.9339" z="35.7352" />
+ <vertex index="219" x="57.8297" y="42.7705" z="36.5232" />
+ <vertex index="220" x="58.8393" y="41.9868" z="40.2619" />
+ <vertex index="221" x="58.9209" y="42.1527" z="41.1861" />
+ <vertex index="222" x="58.3972" y="41.6151" z="41.0302" />
+ <vertex index="223" x="58.0042" y="41.3309" z="41.8258" />
+ <vertex index="224" x="58.5732" y="41.8169" z="41.6714" />
+ <vertex index="225" x="58.5393" y="41.7632" z="42.3496" />
+ <vertex index="226" x="55.9825" y="39.5883" z="47.4325" />
+ <vertex index="227" x="56.3039" y="39.4648" z="48.1417" />
+ <vertex index="228" x="56.1486" y="49.02" z="19.6839" />
+ <vertex index="229" x="56.4555" y="40.3483" z="33.6335" />
+ <vertex index="230" x="56.7455" y="40.6401" z="32.8837" />
+ <vertex index="231" x="57.1187" y="40.8354" z="33.6035" />
+ <vertex index="232" x="55.7732" y="53.5929" z="5.32908" />
+ <vertex index="233" x="55.6182" y="53.4233" z="4.58441" />
+ <vertex index="234" x="55.6006" y="52.8434" z="5.10102" />
+ <vertex index="235" x="57.5459" y="54.5262" z="5.84774" />
+ <vertex index="236" x="57.8738" y="54.7209" z="5.16375" />
+ <vertex index="237" x="56.8883" y="54.664" z="5.14267" />
+ <vertex index="238" x="57.8134" y="54.0523" z="7.04383" />
+ <vertex index="239" x="58.2228" y="53.7615" z="7.40963" />
+ <vertex index="240" x="58.2191" y="52.904" z="9.65475" />
+ <vertex index="241" x="58.2635" y="53.225" z="8.75217" />
+ <vertex index="242" x="57.5533" y="53.3173" z="9.21244" />
+ <vertex index="243" x="57.391" y="53.0411" z="9.98814" />
+ <vertex index="244" x="56.2758" y="50.5932" z="15.8609" />
+ <vertex index="245" x="56.2214" y="50.3032" z="16.5909" />
+ <vertex index="246" x="57.0768" y="50.4873" z="16.3146" />
+ <vertex index="247" x="57.3551" y="48.0946" z="20.7269" />
+ <vertex index="248" x="57.3305" y="48.5192" z="19.9934" />
+ <vertex index="249" x="56.716" y="46.8911" z="24.707" />
+ <vertex index="250" x="57.0856" y="46.3493" z="25.3516" />
+ <vertex index="251" x="57.3046" y="46.2869" z="24.5543" />
+ <vertex index="252" x="57.032" y="46.9215" z="23.9821" />
+ <vertex index="253" x="55.5692" y="46.5738" z="31.06" />
+ <vertex index="254" x="55.4915" y="46.3626" z="30.4263" />
+ <vertex index="255" x="56.9521" y="45.5082" z="33.7462" />
+ <vertex index="256" x="53.3725" y="41.5446" z="40.046" />
+ <vertex index="257" x="52.75" y="41.0015" z="39.8402" />
+ <vertex index="258" x="53.4596" y="40.5489" z="39.8895" />
+ <vertex index="259" x="54.16" y="41.0864" z="40.0724" />
+ <vertex index="260" x="45.655" y="39.7161" z="41.7016" />
+ <vertex index="261" x="45.5538" y="39.9517" z="40.9235" />
+ <vertex index="262" x="44.9813" y="39.6341" z="41.3175" />
+ <vertex index="263" x="42.2588" y="38.6069" z="45.6124" />
+ <vertex index="264" x="42.5501" y="38.3254" z="46.2267" />
+ <vertex index="265" x="43.0666" y="36.4579" z="46.2378" />
+ <vertex index="266" x="43.8938" y="36.9565" z="45.8076" />
+ <vertex index="267" x="43.3589" y="37.3302" z="46.3552" />
+ <vertex index="268" x="42.8145" y="37.0638" z="46.8305" />
+ <vertex index="269" x="56.9963" y="50.8271" z="15.4918" />
+ <vertex index="270" x="56.1035" y="48.1242" z="21.8798" />
+ <vertex index="271" x="51.9595" y="42.8091" z="31.8808" />
+ <vertex index="272" x="51.5597" y="43.1616" z="31.9265" />
+ <vertex index="273" x="51.5838" y="42.7623" z="31.9406" />
+ <vertex index="274" x="51.8396" y="42.5094" z="31.7388" />
+ <vertex index="275" x="47.9294" y="42.3439" z="33.1698" />
+ <vertex index="276" x="48.4563" y="42.9761" z="33.377" />
+ <vertex index="277" x="52.7494" y="40.4429" z="33.7579" />
+ <vertex index="278" x="52.2032" y="41.0578" z="33.6527" />
+ <vertex index="279" x="49.5678" y="40.2692" z="34.3142" />
+ <vertex index="280" x="49.5192" y="40.3997" z="33.5617" />
+ <vertex index="281" x="50.0567" y="40.787" z="33.9828" />
+ <vertex index="282" x="50.1435" y="42.1206" z="34.1472" />
+ <vertex index="283" x="50.1161" y="41.37" z="34.4088" />
+ <vertex index="284" x="50.497" y="41.4553" z="33.6537" />
+ <vertex index="285" x="58.6781" y="42.4286" z="34.8748" />
+ <vertex index="286" x="58.8649" y="42.3378" z="35.451" />
+ <vertex index="287" x="58.2569" y="42.4681" z="35.4008" />
+ <vertex index="288" x="55.944" y="45.6973" z="37.0706" />
+ <vertex index="289" x="55.2013" y="46.217" z="36.8552" />
+ <vertex index="290" x="55.3156" y="45.9205" z="37.6304" />
+ <vertex index="291" x="41.2473" y="35.7621" z="45.539" />
+ <vertex index="292" x="41.8883" y="35.8351" z="45.0694" />
+ <vertex index="293" x="41.8945" y="35.7563" z="45.7398" />
+ <vertex index="294" x="41.4237" y="35.6773" z="46.3002" />
+ <vertex index="295" x="55.6694" y="52.6984" z="4.25444" />
+ <vertex index="296" x="57.7757" y="43.4035" z="32.7002" />
+ <vertex index="297" x="57.3976" y="43.2169" z="32.809" />
+ <vertex index="298" x="57.6251" y="43.2781" z="32.5005" />
+ <vertex index="299" x="57.8647" y="43.0979" z="32.3603" />
+ <vertex index="300" x="54.5661" y="46.2615" z="37.4324" />
+ <vertex index="301" x="57.1522" y="41.5906" z="40.2619" />
+ <vertex index="302" x="57.6214" y="41.694" z="39.5174" />
+ <vertex index="303" x="58.0424" y="41.5337" z="40.2572" />
+ <vertex index="304" x="57.8336" y="48.2158" z="14.3949" />
+ <vertex index="305" x="58.0866" y="48.362" z="15.1661" />
+ <vertex index="306" x="57.4799" y="47.8112" z="15.078" />
+ <vertex index="307" x="57.1609" y="45.4821" z="27.3147" />
+ <vertex index="308" x="56.9702" y="45.899" z="26.7204" />
+ <vertex index="309" x="56.6364" y="45.9602" z="27.4179" />
+ <vertex index="310" x="57.5437" y="42.7193" z="33.0338" />
+ <vertex index="311" x="57.3386" y="43.2003" z="33.2594" />
+ <vertex index="312" x="42.187" y="35.9704" z="46.3454" />
+ <vertex index="313" x="55.9045" y="54.0293" z="4.85871" />
+ <vertex index="314" x="57.5635" y="48.3556" z="13.1712" />
+ <vertex index="315" x="55.1459" y="48.5264" z="16.2292" />
+ <vertex index="316" x="55.5915" y="47.7512" z="16.1227" />
+ <vertex index="317" x="55.1296" y="47.9851" z="16.8536" />
+ <vertex index="318" x="51.6574" y="41.6626" z="30.5929" />
+ <vertex index="319" x="52.2908" y="41.7852" z="30.4235" />
+ <vertex index="320" x="51.4867" y="42.4066" z="31.9641" />
+ <vertex index="321" x="51.4089" y="41.8642" z="31.8667" />
+ <vertex index="322" x="51.7425" y="42.1147" z="31.5605" />
+ <vertex index="323" x="51.8669" y="43.3773" z="31.9237" />
+ <vertex index="324" x="59.7426" y="43.5469" z="34.1478" />
+ <vertex index="325" x="58.3995" y="42.1504" z="36.9505" />
+ <vertex index="326" x="58.4693" y="42.2916" z="36.0563" />
+ <vertex index="327" x="59.1853" y="42.3735" z="36.6133" />
+ <vertex index="328" x="44.4175" y="37.6976" z="45.2744" />
+ <vertex index="329" x="44.9204" y="38.1188" z="44.5478" />
+ <vertex index="330" x="44.2312" y="38.4301" z="44.7874" />
+ <vertex index="331" x="41.7803" y="38.5024" z="46.2378" />
+ <vertex index="332" x="42.0219" y="38.1089" z="46.8673" />
+ <vertex index="333" x="55.0353" y="47.887" z="20.5138" />
+ <vertex index="334" x="55.4431" y="48.105" z="21.2034" />
+ <vertex index="335" x="55.5407" y="48.4735" z="20.444" />
+ <vertex index="336" x="59.8323" y="44.2998" z="37.5702" />
+ <vertex index="337" x="59.5813" y="44.4303" z="38.3783" />
+ <vertex index="338" x="59.8756" y="43.7116" z="38.1833" />
+ <vertex index="339" x="59.9582" y="43.4914" z="37.3936" />
+ <vertex index="340" x="55.73" y="47.7693" z="22.6671" />
+ <vertex index="341" x="56.4728" y="47.8057" z="22.685" />
+ <vertex index="342" x="44.975" y="39.4842" z="42.09" />
+ <vertex index="343" x="54.9786" y="46.1923" z="29.9659" />
+ <vertex index="344" x="55.1587" y="45.7215" z="29.4208" />
+ <vertex index="345" x="56.3955" y="43.0896" z="46.0878" />
+ <vertex index="346" x="56.711" y="42.8623" z="46.778" />
+ <vertex index="347" x="57.1254" y="42.9084" z="46.0976" />
+ <vertex index="348" x="55.5635" y="42.9158" z="39.9188" />
+ <vertex index="349" x="54.8416" y="42.4821" z="40.3262" />
+ <vertex index="350" x="55.4234" y="42.0975" z="40.0638" />
+ <vertex index="351" x="57.2241" y="40.7505" z="49.1529" />
+ <vertex index="352" x="56.5543" y="40.7254" z="49.1765" />
+ <vertex index="353" x="57.0764" y="40.0252" z="48.9684" />
+ <vertex index="354" x="56.3511" y="47.3873" z="15.8436" />
+ <vertex index="355" x="51.1341" y="41.8902" z="30.0863" />
+ <vertex index="356" x="51.0119" y="41.5255" z="30.7555" />
+ <vertex index="357" x="52.2587" y="40.6937" z="34.4476" />
+ <vertex index="358" x="51.7604" y="41.4121" z="34.2222" />
+ <vertex index="359" x="46.3033" y="39.9408" z="41.1917" />
+ <vertex index="360" x="57.6223" y="43.516" z="44.118" />
+ <vertex index="361" x="56.8871" y="43.655" z="44.2305" />
+ <vertex index="362" x="57.2485" y="43.3986" z="44.8281" />
+ <vertex index="363" x="56.5255" y="53.9773" z="6.67594" />
+ <vertex index="364" x="55.9445" y="53.3746" z="6.69784" />
+ <vertex index="365" x="56.3532" y="53.5805" z="7.41629" />
+ <vertex index="366" x="55.8387" y="52.9033" z="7.42171" />
+ <vertex index="367" x="58.4623" y="50.411" z="8.24964" />
+ <vertex index="368" x="57.8458" y="49.9403" z="8.46699" />
+ <vertex index="369" x="57.9475" y="50.2689" z="7.7007" />
+ <vertex index="370" x="56.2027" y="46.6077" z="17.9106" />
+ <vertex index="371" x="55.9657" y="46.3937" z="18.68" />
+ <vertex index="372" x="55.4467" y="46.9451" z="18.2455" />
+ <vertex index="373" x="59.0062" y="43.4375" z="32.0908" />
+ <vertex index="374" x="48.2104" y="42.0243" z="36.3263" />
+ <vertex index="375" x="48.7094" y="42.2078" z="35.6338" />
+ <vertex index="376" x="47.8856" y="42.2166" z="35.483" />
+ <vertex index="377" x="45.6721" y="40.0897" z="38.5013" />
+ <vertex index="378" x="55.5108" y="41.4" z="39.7376" />
+ <vertex index="379" x="55.9241" y="42.122" z="39.5537" />
+ <vertex index="380" x="54.8703" y="47.0981" z="20.5147" />
+ <vertex index="381" x="54.9446" y="47.437" z="21.2639" />
+ <vertex index="382" x="57.0192" y="49.761" z="8.8643" />
+ <vertex index="383" x="56.45" y="50.2366" z="8.28847" />
+ <vertex index="384" x="57.1983" y="50.0783" z="7.95768" />
+ <vertex index="385" x="56.7421" y="41.5225" z="41.0367" />
+ <vertex index="386" x="43.2381" y="38.026" z="46.0661" />
+ <vertex index="387" x="56.0761" y="53.8048" z="6.0159" />
+ <vertex index="388" x="58.7228" y="52.6366" z="8.95934" />
+ <vertex index="389" x="55.0462" y="48.7947" z="17.0152" />
+ <vertex index="390" x="55.4358" y="49.506" z="17.2277" />
+ <vertex index="391" x="52.9698" y="40.1759" z="34.4313" />
+ <vertex index="392" x="48.7712" y="39.5794" z="37.6766" />
+ <vertex index="393" x="48.7435" y="39.9217" z="38.3461" />
+ <vertex index="394" x="48.5243" y="39.2165" z="38.3055" />
+ <vertex index="395" x="59.404" y="42.6045" z="39.7919" />
+ <vertex index="396" x="59.6756" y="43.2859" z="39.3811" />
+ <vertex index="397" x="44.3893" y="39.2787" z="41.6476" />
+ <vertex index="398" x="43.8479" y="38.8661" z="41.9996" />
+ <vertex index="399" x="56.1345" y="43.2698" z="45.4115" />
+ <vertex index="400" x="55.6186" y="43.028" z="45.2267" />
+ <vertex index="401" x="55.7072" y="42.9875" z="45.9091" />
+ <vertex index="402" x="58.8064" y="52.8595" z="8.09725" />
+ <vertex index="403" x="59.0953" y="52.0755" z="7.8045" />
+ <vertex index="404" x="57.9012" y="52.7161" z="10.5524" />
+ <vertex index="405" x="57.771" y="47.8529" z="20.0888" />
+ <vertex index="406" x="56.7077" y="48.9546" z="19.8535" />
+ <vertex index="407" x="54.7739" y="46.3777" z="23.6373" />
+ <vertex index="408" x="54.7846" y="46.3365" z="24.3801" />
+ <vertex index="409" x="54.9993" y="46.7496" z="24.0172" />
+ <vertex index="410" x="55.0494" y="46.9599" z="23.4359" />
+ <vertex index="411" x="59.15" y="42.2461" z="37.4882" />
+ <vertex index="412" x="46.0078" y="40.5489" z="38.0102" />
+ <vertex index="413" x="43.365" y="38.5875" z="42.3547" />
+ <vertex index="414" x="55.3049" y="41.6825" z="43.7063" />
+ <vertex index="415" x="55.1893" y="41.2966" z="44.4924" />
+ <vertex index="416" x="55.105" y="42.1126" z="44.529" />
+ <vertex index="417" x="48.9823" y="41.8456" z="31.3678" />
+ <vertex index="418" x="49.5322" y="41.2488" z="31.4177" />
+ <vertex index="419" x="48.8819" y="41.2901" z="31.9303" />
+ <vertex index="420" x="56.8322" y="47.1581" z="16.4562" />
+ <vertex index="421" x="55.3874" y="50.175" z="12.1265" />
+ <vertex index="422" x="55.5269" y="49.5008" z="12.3604" />
+ <vertex index="423" x="55.2865" y="50.2051" z="12.8409" />
+ <vertex index="424" x="56.379" y="53.7011" z="4.70712" />
+ <vertex index="425" x="59.0584" y="51.5074" z="8.45865" />
+ <vertex index="426" x="58.9666" y="51.3334" z="7.62035" />
+ <vertex index="427" x="56.1961" y="50.0969" z="9.0937" />
+ <vertex index="428" x="58.7311" y="50.7533" z="12.552" />
+ <vertex index="429" x="58.7028" y="50.001" z="13.075" />
+ <vertex index="430" x="58.7462" y="50.0313" z="12.3569" />
+ <vertex index="431" x="55.5582" y="47.4289" z="23.3612" />
+ <vertex index="432" x="54.0735" y="42.8767" z="40.3334" />
+ <vertex index="433" x="54.8202" y="43.3583" z="40.2325" />
+ <vertex index="434" x="56.9138" y="40.4468" z="44.8425" />
+ <vertex index="435" x="57.1843" y="40.6609" z="44.0704" />
+ <vertex index="436" x="57.6319" y="40.9204" z="44.724" />
+ <vertex index="437" x="57.3757" y="40.6645" z="45.5992" />
+ <vertex index="438" x="57.831" y="44.4285" z="41.2271" />
+ <vertex index="439" x="57.9301" y="44.6774" z="40.4819" />
+ <vertex index="440" x="57.2375" y="44.5195" z="40.7642" />
+ <vertex index="441" x="57.1378" y="44.2902" z="41.4998" />
+ <vertex index="442" x="56.9788" y="41.4269" z="49.3422" />
+ <vertex index="443" x="47.6044" y="42.2135" z="34.6161" />
+ <vertex index="444" x="46.0649" y="40.2433" z="40.3518" />
+ <vertex index="445" x="55.955" y="47.82" z="15.2558" />
+ <vertex index="446" x="55.0956" y="46.2452" z="25.9912" />
+ <vertex index="447" x="50.5074" y="42.3554" z="33.5143" />
+ <vertex index="448" x="49.9971" y="42.6852" z="33.8128" />
+ <vertex index="449" x="44.0924" y="38.6695" z="41.2655" />
+ <vertex index="450" x="40.9495" y="38.5557" z="46.0862" />
+ <vertex index="451" x="41.2476" y="38.4008" z="46.8825" />
+ <vertex index="452" x="58.026" y="42.9954" z="34.9869" />
+ <vertex index="453" x="52.7516" y="40.2042" z="39.484" />
+ <vertex index="454" x="53.508" y="39.8214" z="39.2193" />
+ <vertex index="455" x="59.308" y="42.6765" z="40.6664" />
+ <vertex index="456" x="44.0013" y="38.9138" z="44.1081" />
+ <vertex index="457" x="56.61" y="40.1945" z="45.5378" />
+ <vertex index="458" x="51.9871" y="42.1404" z="32.8588" />
+ <vertex index="459" x="56.6692" y="48.556" z="12.4002" />
+ <vertex index="460" x="57.5056" y="48.586" z="12.3685" />
+ <vertex index="461" x="59.9218" y="44.022" z="34.7427" />
+ <vertex index="462" x="53.1971" y="40.5668" z="32.5262" />
+ <vertex index="463" x="53.2374" y="41.0411" z="31.9402" />
+ <vertex index="464" x="55.2367" y="43.6985" z="27.2382" />
+ <vertex index="465" x="55.4464" y="43.3069" z="27.8901" />
+ <vertex index="466" x="54.8223" y="43.4117" z="28.3156" />
+ <vertex index="467" x="59.7312" y="43.8973" z="38.937" />
+ <vertex index="468" x="59.538" y="43.9785" z="39.6811" />
+ <vertex index="469" x="54.8468" y="41.6031" z="40.1766" />
+ <vertex index="470" x="51.9344" y="43.7245" z="31.8502" />
+ <vertex index="471" x="50.0315" y="40.7798" z="32.5702" />
+ <vertex index="472" x="49.5007" y="40.8401" z="32.1367" />
+ <vertex index="473" x="50.3252" y="41.0457" z="31.9254" />
+ <vertex index="474" x="52.1224" y="40.6526" z="39.4857" />
+ <vertex index="475" x="56.6246" y="49.5282" z="18.6175" />
+ <vertex index="476" x="50.4453" y="43.4672" z="35.9743" />
+ <vertex index="477" x="50.389" y="43.0398" z="36.7142" />
+ <vertex index="478" x="50.4578" y="43.8964" z="36.7545" />
+ <vertex index="479" x="55.649" y="48.7845" z="19.7731" />
+ <vertex index="480" x="54.855" y="45.1618" z="27.3856" />
+ <vertex index="481" x="59.476" y="44.6338" z="32.9858" />
+ <vertex index="482" x="57.9643" y="43.9143" z="33.6969" />
+ <vertex index="483" x="53.2118" y="40.1967" z="33.1768" />
+ <vertex index="484" x="45.3694" y="36.7867" z="42.51" />
+ <vertex index="485" x="45.5865" y="37.0274" z="43.0648" />
+ <vertex index="486" x="45.0451" y="36.6561" z="43.1991" />
+ <vertex index="487" x="55.9468" y="52.4232" z="9.73088" />
+ <vertex index="488" x="57.0163" y="45.1077" z="23.1146" />
+ <vertex index="489" x="57.3468" y="45.5529" z="23.4463" />
+ <vertex index="490" x="57.0219" y="44.8534" z="23.8363" />
+ <vertex index="491" x="45.0048" y="37.2063" z="44.5285" />
+ <vertex index="492" x="45.5493" y="37.8125" z="44.0179" />
+ <vertex index="493" x="46.4751" y="39.3316" z="41.9319" />
+ <vertex index="494" x="59.4911" y="42.6597" z="38.9291" />
+ <vertex index="495" x="57.8362" y="42.3369" z="33.6701" />
+ <vertex index="496" x="57.6878" y="41.4329" z="33.6031" />
+ <vertex index="497" x="57.7817" y="41.9569" z="32.8738" />
+ <vertex index="498" x="56.34" y="52.138" z="11.7783" />
+ <vertex index="499" x="56.9454" y="52.4727" z="11.3665" />
+ <vertex index="500" x="55.2132" y="46.785" z="24.6143" />
+ <vertex index="501" x="54.9415" y="46.3441" z="25.1203" />
+ <vertex index="502" x="57.4478" y="41.7173" z="32.2666" />
+ <vertex index="503" x="57.53" y="42.3927" z="32.4069" />
+ <vertex index="504" x="57.0709" y="44.4092" z="33.5572" />
+ <vertex index="505" x="55.305" y="48.6668" z="19.1654" />
+ <vertex index="506" x="53.5994" y="41.6287" z="30.8589" />
+ <vertex index="507" x="53.086" y="41.8099" z="30.1405" />
+ <vertex index="508" x="55.7038" y="39.7871" z="46.7214" />
+ <vertex index="509" x="55.0045" y="40.1733" z="46.6965" />
+ <vertex index="510" x="57.078" y="53.9734" z="7.25275" />
+ <vertex index="511" x="57.8498" y="44.3478" z="34.0346" />
+ <vertex index="512" x="46.9122" y="41.5877" z="36.6134" />
+ <vertex index="513" x="47.4044" y="41.9524" z="36.1078" />
+ <vertex index="514" x="46.8738" y="41.57" z="35.8864" />
+ <vertex index="515" x="56.8835" y="40.2206" z="46.2517" />
+ <vertex index="516" x="56.4519" y="39.8472" z="46.826" />
+ <vertex index="517" x="55.6254" y="52.5844" z="6.61423" />
+ <vertex index="518" x="58.4796" y="43.1283" z="31.5145" />
+ <vertex index="519" x="55.1795" y="39.7517" z="47.4203" />
+ <vertex index="520" x="56.7445" y="47.4125" z="23.3437" />
+ <vertex index="521" x="57.3033" y="46.8992" z="23.2801" />
+ <vertex index="522" x="57.4655" y="40.9269" z="43.2533" />
+ <vertex index="523" x="57.3938" y="41.0032" z="42.3957" />
+ <vertex index="524" x="58.0337" y="41.3146" z="42.7292" />
+ <vertex index="525" x="57.8995" y="43.0186" z="44.666" />
+ <vertex index="526" x="58.0951" y="54.2045" z="6.3754" />
+ <vertex index="527" x="58.0627" y="45.8514" z="34.2572" />
+ <vertex index="528" x="58.4797" y="45.8676" z="33.5649" />
+ <vertex index="529" x="56.9424" y="53.168" z="9.48251" />
+ <vertex index="530" x="57.5582" y="44.9576" z="35.5917" />
+ <vertex index="531" x="57.657" y="44.2391" z="35.829" />
+ <vertex index="532" x="57.4813" y="44.7922" z="36.3147" />
+ <vertex index="533" x="54.2664" y="40.2358" z="39.5923" />
+ <vertex index="534" x="55.8884" y="39.1466" z="48.7903" />
+ <vertex index="535" x="57.979" y="42.7771" z="31.8149" />
+ <vertex index="536" x="58.9094" y="42.2911" z="41.9688" />
+ <vertex index="537" x="59.161" y="42.8434" z="41.4932" />
+ <vertex index="538" x="47.6215" y="39.1298" z="40.8506" />
+ <vertex index="539" x="47.8811" y="38.5813" z="40.1053" />
+ <vertex index="540" x="55.4912" y="51.2493" z="10.9326" />
+ <vertex index="541" x="55.6303" y="51.7702" z="10.2208" />
+ <vertex index="542" x="55.4822" y="50.956" z="10.2264" />
+ <vertex index="543" x="46.94" y="39.0704" z="36.5772" />
+ <vertex index="544" x="47.3641" y="39.2749" z="35.9702" />
+ <vertex index="545" x="47.9276" y="39.0273" z="36.5127" />
+ <vertex index="546" x="54.0379" y="39.636" z="35.3736" />
+ <vertex index="547" x="54.5311" y="39.5945" z="34.5363" />
+ <vertex index="548" x="55.0471" y="39.6566" z="35.2619" />
+ <vertex index="549" x="51.8668" y="39.9841" z="36.7581" />
+ <vertex index="550" x="51.8523" y="40.1422" z="35.9298" />
+ <vertex index="551" x="52.5189" y="39.7495" z="36.2822" />
+ <vertex index="552" x="53.3503" y="39.4148" z="37.4337" />
+ <vertex index="553" x="52.5578" y="39.6128" z="37.0917" />
+ <vertex index="554" x="53.2426" y="39.5317" z="36.6393" />
+ <vertex index="555" x="53.478" y="39.4867" z="38.3324" />
+ <vertex index="556" x="54.3214" y="39.7436" z="38.7479" />
+ <vertex index="557" x="58.8276" y="50.9212" z="8.12337" />
+ <vertex index="558" x="58.5524" y="50.7121" z="7.56826" />
+ <vertex index="559" x="55.0199" y="47.2336" z="19.0484" />
+ <vertex index="560" x="54.9384" y="47.7072" z="18.3106" />
+ <vertex index="561" x="59.1784" y="44.4043" z="32.0767" />
+ <vertex index="562" x="57.4702" y="43.5098" z="32.9294" />
+ <vertex index="563" x="56.2358" y="42.7612" z="47.464" />
+ <vertex index="564" x="56.9811" y="42.4197" z="47.3924" />
+ <vertex index="565" x="54.5454" y="40.4058" z="47.5331" />
+ <vertex index="566" x="55.3401" y="48.3539" z="15.4295" />
+ <vertex index="567" x="55.656" y="48.3654" z="14.5165" />
+ <vertex index="568" x="57.5713" y="45.3488" z="33.0491" />
+ <vertex index="569" x="57.5389" y="42.9553" z="45.4073" />
+ <vertex index="570" x="57.3157" y="45.2153" z="26.5876" />
+ <vertex index="571" x="56.7252" y="54.3062" z="5.95626" />
+ <vertex index="572" x="57.4956" y="45.5732" z="32.7581" />
+ <vertex index="573" x="44.6641" y="38.6425" z="44.2284" />
+ <vertex index="574" x="56.6851" y="49.3155" z="10.2908" />
+ <vertex index="575" x="56.4954" y="49.6612" z="9.63697" />
+ <vertex index="576" x="57.2376" y="49.4486" z="9.68711" />
+ <vertex index="577" x="47.6149" y="41.942" z="33.7858" />
+ <vertex index="578" x="48.814" y="40.4409" z="33.2352" />
+ <vertex index="579" x="48.8879" y="40.0992" z="33.9397" />
+ <vertex index="580" x="56.6949" y="39.8302" z="47.555" />
+ <vertex index="581" x="57.0749" y="40.2395" z="47.0062" />
+ <vertex index="582" x="57.2428" y="40.3224" z="47.7363" />
+ <vertex index="583" x="50.5679" y="43.349" z="32.6667" />
+ <vertex index="584" x="50.9807" y="43.6429" z="32.0832" />
+ <vertex index="585" x="55.378" y="43.7169" z="39.9155" />
+ <vertex index="586" x="54.8448" y="44.2164" z="40.0679" />
+ <vertex index="587" x="55.7412" y="42.6133" z="48.1644" />
+ <vertex index="588" x="49.713" y="43.9207" z="31.2888" />
+ <vertex index="589" x="49.0478" y="43.2194" z="31.3634" />
+ <vertex index="590" x="55.5197" y="46.2507" z="26.8072" />
+ <vertex index="591" x="55.9236" y="46.1454" z="27.4791" />
+ <vertex index="592" x="56.3209" y="46.3215" z="26.8095" />
+ <vertex index="593" x="53.8167" y="45.3663" z="29.475" />
+ <vertex index="594" x="56.1583" y="48.816" z="20.2456" />
+ <vertex index="595" x="42.5133" y="35.9636" z="44.5997" />
+ <vertex index="596" x="41.8712" y="36.0776" z="44.4311" />
+ <vertex index="597" x="54.9413" y="42.6917" z="28.8768" />
+ <vertex index="598" x="55.5866" y="42.9054" z="28.5663" />
+ <vertex index="599" x="55.7229" y="42.4668" z="29.2081" />
+ <vertex index="600" x="56.0537" y="47.1874" z="16.5879" />
+ <vertex index="601" x="58.4331" y="50.1643" z="8.98808" />
+ <vertex index="602" x="58.8134" y="50.7864" z="8.77401" />
+ <vertex index="603" x="55.6006" y="42.8965" z="42.9879" />
+ <vertex index="604" x="55.9291" y="43.222" z="42.3125" />
+ <vertex index="605" x="55.0041" y="40.2344" z="39.1129" />
+ <vertex index="606" x="46.7164" y="39.6791" z="36.0807" />
+ <vertex index="607" x="59.6651" y="42.8318" z="38.0344" />
+ <vertex index="608" x="59.0423" y="42.1808" z="38.3839" />
+ <vertex index="609" x="56.5192" y="46.8563" z="17.1544" />
+ <vertex index="610" x="57.7065" y="41.329" z="46.8269" />
+ <vertex index="611" x="57.5655" y="41.3859" z="47.4463" />
+ <vertex index="612" x="57.4791" y="40.8019" z="47.2442" />
+ <vertex index="613" x="58.2682" y="52.2306" z="11.0864" />
+ <vertex index="614" x="58.5374" y="52.3372" z="10.2995" />
+ <vertex index="615" x="47.0338" y="39.5747" z="41.1812" />
+ <vertex index="616" x="44.7728" y="38.9656" z="43.6271" />
+ <vertex index="617" x="45.2503" y="38.5217" z="43.8802" />
+ <vertex index="618" x="54.7459" y="45.8469" z="25.4767" />
+ <vertex index="619" x="54.7044" y="45.4724" z="26.0492" />
+ <vertex index="620" x="45.1994" y="36.9494" z="41.1584" />
+ <vertex index="621" x="45.9428" y="37.0502" z="41.0233" />
+ <vertex index="622" x="45.6684" y="36.9162" z="41.7839" />
+ <vertex index="623" x="55.5063" y="40.7529" z="39.3427" />
+ <vertex index="624" x="54.9329" y="40.8169" z="39.7771" />
+ <vertex index="625" x="57.5014" y="46.8186" z="22.5974" />
+ <vertex index="626" x="57.6058" y="46.7276" z="22.0163" />
+ <vertex index="627" x="57.4325" y="47.298" z="22.0772" />
+ <vertex index="628" x="47.7817" y="41.6067" z="33.0367" />
+ <vertex index="629" x="47.5508" y="41.129" z="33.6516" />
+ <vertex index="630" x="56.6267" y="44.1103" z="40.9709" />
+ <vertex index="631" x="55.6773" y="53.1095" z="5.92535" />
+ <vertex index="632" x="57.2878" y="54.2419" z="6.54347" />
+ <vertex index="633" x="45.6473" y="39.3476" z="42.4805" />
+ <vertex index="634" x="48.6494" y="42.5662" z="31.5969" />
+ <vertex index="635" x="48.2862" y="41.3618" z="32.4488" />
+ <vertex index="636" x="51.5503" y="41.1799" z="39.2856" />
+ <vertex index="637" x="52.2217" y="41.4518" z="39.656" />
+ <vertex index="638" x="51.7053" y="42.0686" z="39.3898" />
+ <vertex index="639" x="45.3454" y="37.0814" z="43.7164" />
+ <vertex index="640" x="50.4857" y="44.0899" z="31.6512" />
+ <vertex index="641" x="50.6103" y="44.3226" z="30.8882" />
+ <vertex index="642" x="57.2923" y="45.7459" z="25.9796" />
+ <vertex index="643" x="57.4437" y="45.4631" z="25.1051" />
+ <vertex index="644" x="57.3742" y="44.7122" z="37.0424" />
+ <vertex index="645" x="42.7339" y="37.7425" z="46.6808" />
+ <vertex index="646" x="42.1581" y="37.3567" z="47.3412" />
+ <vertex index="647" x="57.3902" y="47.7078" z="21.4416" />
+ <vertex index="648" x="55.4276" y="42.8345" z="44.5856" />
+ <vertex index="649" x="55.153" y="42.5617" z="45.4601" />
+ <vertex index="650" x="50.8736" y="44.7963" z="36.7686" />
+ <vertex index="651" x="50.6121" y="44.2849" z="36.0223" />
+ <vertex index="652" x="57.4385" y="49.7379" z="17.5022" />
+ <vertex index="653" x="57.8961" y="49.0243" z="17.7319" />
+ <vertex index="654" x="55.2295" y="45.8053" z="27.4643" />
+ <vertex index="655" x="56.6123" y="39.5041" z="48.8519" />
+ <vertex index="656" x="56.2005" y="40.0131" z="49.0046" />
+ <vertex index="657" x="55.8959" y="42.9558" z="46.7142" />
+ <vertex index="658" x="49.4553" y="43.2133" z="30.7491" />
+ <vertex index="659" x="49.1169" y="42.5275" z="30.9046" />
+ <vertex index="660" x="51.4159" y="44.151" z="33.345" />
+ <vertex index="661" x="51.9155" y="44.0388" z="32.5913" />
+ <vertex index="662" x="51.5862" y="43.3224" z="33.1571" />
+ <vertex index="663" x="57.6926" y="45.4451" z="36.1359" />
+ <vertex index="664" x="54.9914" y="40.5819" z="45.9888" />
+ <vertex index="665" x="51.1161" y="44.1716" z="31.6027" />
+ <vertex index="666" x="57.3441" y="41.2317" z="32.8919" />
+ <vertex index="667" x="58.9288" y="43.0352" z="42.2949" />
+ <vertex index="668" x="58.7908" y="42.3966" z="42.7597" />
+ <vertex index="669" x="56.839" y="43.2642" z="45.4777" />
+ <vertex index="670" x="57.3967" y="45.5241" z="24.2145" />
+ <vertex index="671" x="50.6998" y="44.1646" z="30.032" />
+ <vertex index="672" x="50.0712" y="43.5949" z="30.2208" />
+ <vertex index="673" x="58.0165" y="48.0433" z="17.9471" />
+ <vertex index="674" x="55.7919" y="45.9309" z="29.9349" />
+ <vertex index="675" x="56.0469" y="46.1295" z="30.6747" />
+ <vertex index="676" x="52.2198" y="42.7937" z="39.5266" />
+ <vertex index="677" x="52.4833" y="42.1264" z="39.6982" />
+ <vertex index="678" x="56.2603" y="43.0616" z="28.2223" />
+ <vertex index="679" x="56.3679" y="42.8294" z="29.0383" />
+ <vertex index="680" x="56.9789" y="46.7226" z="17.8085" />
+ <vertex index="681" x="54.9879" y="44.1854" z="26.6194" />
+ <vertex index="682" x="55.5965" y="43.6321" z="26.5888" />
+ <vertex index="683" x="57.4266" y="44.6271" z="28.0382" />
+ <vertex index="684" x="57.4613" y="43.9627" z="28.3662" />
+ <vertex index="685" x="57.2216" y="44.0207" z="27.5902" />
+ <vertex index="686" x="57.3151" y="44.7068" z="27.2286" />
+ <vertex index="687" x="46.1225" y="40.4255" z="37.249" />
+ <vertex index="688" x="50.8947" y="41.8837" z="32.9883" />
+ <vertex index="689" x="47.6429" y="41.7975" z="36.9441" />
+ <vertex index="690" x="59.342" y="44.4753" z="39.1343" />
+ <vertex index="691" x="42.8642" y="38.7996" z="43.6707" />
+ <vertex index="692" x="42.489" y="38.5398" z="43.4701" />
+ <vertex index="693" x="42.3262" y="38.6732" z="44.1755" />
+ <vertex index="694" x="57.3523" y="46.7302" z="18.5136" />
+ <vertex index="695" x="56.7646" y="43.6071" z="27.2584" />
+ <vertex index="696" x="57.0328" y="44.004" z="26.8619" />
+ <vertex index="697" x="55.3255" y="42.508" z="43.7546" />
+ <vertex index="698" x="56.0656" y="43.5277" z="43.0103" />
+ <vertex index="699" x="48.4981" y="40.2339" z="38.8649" />
+ <vertex index="700" x="56.2368" y="41.1557" z="42.4945" />
+ <vertex index="701" x="56.779" y="41.0312" z="42.2047" />
+ <vertex index="702" x="47.2838" y="41.5218" z="34.3619" />
+ <vertex index="703" x="41.4391" y="38.2044" z="44.3505" />
+ <vertex index="704" x="41.8921" y="38.631" z="44.9955" />
+ <vertex index="705" x="58.5478" y="49.891" z="13.9394" />
+ <vertex index="706" x="58.4816" y="49.2456" z="13.4292" />
+ <vertex index="707" x="52.5353" y="39.9883" z="35.5278" />
+ <vertex index="708" x="55.9804" y="50.0306" z="9.7452" />
+ <vertex index="709" x="54.595" y="41.5759" z="46.7981" />
+ <vertex index="710" x="54.5879" y="41.7819" z="47.4509" />
+ <vertex index="711" x="57.2205" y="45.3244" z="29.3106" />
+ <vertex index="712" x="57.7779" y="44.7424" z="29.6141" />
+ <vertex index="713" x="57.5647" y="44.6773" z="28.8147" />
+ <vertex index="714" x="41.1754" y="36.1297" z="44.7656" />
+ <vertex index="715" x="50.1132" y="40.7299" z="33.2399" />
+ <vertex index="716" x="57.1311" y="40.9927" z="34.9216" />
+ <vertex index="717" x="56.9157" y="40.9348" z="35.6317" />
+ <vertex index="718" x="56.5617" y="40.4608" z="35.0469" />
+ <vertex index="719" x="58.1973" y="48.5042" z="15.9934" />
+ <vertex index="720" x="57.9024" y="43.6723" z="34.4122" />
+ <vertex index="721" x="57.8176" y="43.6383" z="35.3395" />
+ <vertex index="722" x="54.1703" y="43.0943" z="28.74" />
+ <vertex index="723" x="47.1551" y="41.7567" z="35.2096" />
+ <vertex index="724" x="46.0272" y="40.6417" z="38.7836" />
+ <vertex index="725" x="46.4942" y="41.0533" z="38.2963" />
+ <vertex index="726" x="43.8092" y="36.2466" z="44.476" />
+ <vertex index="727" x="57.5097" y="44.0941" z="36.6511" />
+ <vertex index="728" x="58.3474" y="49.1419" z="15.3843" />
+ <vertex index="729" x="55.6743" y="52.2575" z="5.72001" />
+ <vertex index="730" x="54.7753" y="45.8054" z="23.1758" />
+ <vertex index="731" x="55.0519" y="46.7878" z="19.7939" />
+ <vertex index="732" x="55.0917" y="46.3548" z="20.5478" />
+ <vertex index="733" x="57.9456" y="42.9066" z="31.1389" />
+ <vertex index="734" x="57.6212" y="42.9055" z="30.4148" />
+ <vertex index="735" x="58.2265" y="43.497" z="30.681" />
+ <vertex index="736" x="47.4245" y="39.7466" z="40.6517" />
+ <vertex index="737" x="43.7916" y="37.681" z="45.8551" />
+ <vertex index="738" x="51.1723" y="42.8914" z="32.2712" />
+ <vertex index="739" x="56.8749" y="44.0579" z="38.9812" />
+ <vertex index="740" x="56.6047" y="43.7703" z="39.643" />
+ <vertex index="741" x="57.7717" y="48.3121" z="19.3675" />
+ <vertex index="742" x="57.1056" y="47.4075" z="22.709" />
+ <vertex index="743" x="56.838" y="45.8685" z="31.6441" />
+ <vertex index="744" x="56.2327" y="46.2515" z="31.3842" />
+ <vertex index="745" x="56.4114" y="46.2329" z="32.178" />
+ <vertex index="746" x="57.6082" y="45.1469" z="38.2127" />
+ <vertex index="747" x="58.5024" y="45.2983" z="37.8999" />
+ <vertex index="748" x="51.5182" y="41.0037" z="34.8909" />
+ <vertex index="749" x="57.5931" y="52.5004" z="11.2975" />
+ <vertex index="750" x="53.3685" y="39.9436" z="33.823" />
+ <vertex index="751" x="47.4891" y="38.3421" z="40.8851" />
+ <vertex index="752" x="48.0536" y="39.3749" z="35.6792" />
+ <vertex index="753" x="56.3525" y="43.6209" z="40.4065" />
+ <vertex index="754" x="57.3753" y="49.4128" z="18.3011" />
+ <vertex index="755" x="57.8426" y="48.6912" z="18.5914" />
+ <vertex index="756" x="57.681" y="44.0084" z="29.2228" />
+ <vertex index="757" x="45.8908" y="37.5413" z="43.3056" />
+ <vertex index="758" x="57.1492" y="41.1434" z="41.6762" />
+ <vertex index="759" x="58.2374" y="43.0991" z="43.8866" />
+ <vertex index="760" x="57.9741" y="43.6502" z="43.3559" />
+ <vertex index="761" x="54.2913" y="39.5581" z="37.7207" />
+ <vertex index="762" x="53.6569" y="39.7334" z="34.5162" />
+ <vertex index="763" x="53.1623" y="39.9132" z="35.1026" />
+ <vertex index="764" x="44.4202" y="36.4649" z="43.2454" />
+ <vertex index="765" x="44.6611" y="36.5687" z="42.6042" />
+ <vertex index="766" x="56.3392" y="43.7727" z="42.3316" />
+ <vertex index="767" x="48.1679" y="40.898" z="33.0627" />
+ <vertex index="768" x="44.9428" y="36.7517" z="41.8911" />
+ <vertex index="769" x="56.2742" y="45.9526" z="28.09" />
+ <vertex index="770" x="58.0546" y="44.1296" z="30.0435" />
+ <vertex index="771" x="58.0733" y="44.8514" z="30.3602" />
+ <vertex index="772" x="57.7109" y="44.2251" z="41.9936" />
+ <vertex index="773" x="58.4167" y="44.1298" z="41.6019" />
+ <vertex index="774" x="56.1291" y="43.5324" z="41.813" />
+ <vertex index="775" x="57.714" y="44.984" z="34.1803" />
+ <vertex index="776" x="51.094" y="41.0019" z="38.6111" />
+ <vertex index="777" x="51.6405" y="40.4382" z="38.8969" />
+ <vertex index="778" x="59.5981" y="44.8519" z="36.8438" />
+ <vertex index="779" x="59.9045" y="44.3744" z="36.096" />
+ <vertex index="780" x="59.5071" y="45.0894" z="35.9061" />
+ <vertex index="781" x="56.2608" y="45.2094" z="21.774" />
+ <vertex index="782" x="55.4831" y="45.3842" z="21.9165" />
+ <vertex index="783" x="55.7947" y="45.5276" z="21.1521" />
+ <vertex index="784" x="57.5211" y="41.9411" z="47.1638" />
+ <vertex index="785" x="56.8722" y="43.3229" z="39.102" />
+ <vertex index="786" x="57.5746" y="42.7439" z="31.9243" />
+ <vertex index="787" x="57.3987" y="42.199" z="31.7923" />
+ <vertex index="788" x="55.9517" y="44.9552" z="22.5487" />
+ <vertex index="789" x="57.2211" y="49.0289" z="19.1768" />
+ <vertex index="790" x="53.3169" y="45.6039" z="30.7697" />
+ <vertex index="791" x="53.2439" y="46.1365" z="31.2822" />
+ <vertex index="792" x="53.5939" y="46.0959" z="30.662" />
+ <vertex index="793" x="54.5935" y="41.884" z="48.7731" />
+ <vertex index="794" x="54.2874" y="41.4387" z="49.4665" />
+ <vertex index="795" x="54.8927" y="42.0824" z="49.6089" />
+ <vertex index="796" x="38.9659" y="38.2913" z="47.0372" />
+ <vertex index="797" x="39.3319" y="37.7573" z="47.1425" />
+ <vertex index="798" x="39.4352" y="38.5345" z="47.5482" />
+ <vertex index="799" x="57.263" y="43.6259" z="33.2909" />
+ <vertex index="800" x="51.547" y="41.6239" z="31.2455" />
+ <vertex index="801" x="38.6513" y="37.6098" z="46.4846" />
+ <vertex index="802" x="47.2502" y="38.8733" z="41.5274" />
+ <vertex index="803" x="53.7446" y="46.4108" z="37.1895" />
+ <vertex index="804" x="53.888" y="46.1715" z="37.9977" />
+ <vertex index="805" x="55.2105" y="45.2284" z="22.7762" />
+ <vertex index="806" x="57.1838" y="45.9632" z="20.9036" />
+ <vertex index="807" x="56.5399" y="45.5244" z="21.021" />
+ <vertex index="808" x="56.7108" y="45.8124" z="20.2745" />
+ <vertex index="809" x="55.8866" y="39.9795" z="35.1562" />
+ <vertex index="810" x="56.1684" y="40.1363" z="34.391" />
+ <vertex index="811" x="56.5437" y="43.4401" z="44.8324" />
+ <vertex index="812" x="52.965" y="46.3691" z="36.9176" />
+ <vertex index="813" x="53.048" y="46.236" z="37.7146" />
+ <vertex index="814" x="50.9195" y="44.3983" z="34.8334" />
+ <vertex index="815" x="50.8207" y="43.7296" z="34.573" />
+ <vertex index="816" x="50.6129" y="43.9162" z="35.307" />
+ <vertex index="817" x="59.3423" y="45.3032" z="34.9649" />
+ <vertex index="818" x="59.825" y="44.5731" z="35.2893" />
+ <vertex index="819" x="59.7447" y="44.7074" z="34.5013" />
+ <vertex index="820" x="59.9666" y="43.7615" z="35.5589" />
+ <vertex index="821" x="45.4017" y="39.7372" z="39.1193" />
+ <vertex index="822" x="45.6842" y="40.2657" z="39.1368" />
+ <vertex index="823" x="53.2294" y="39.68" z="35.8537" />
+ <vertex index="824" x="53.9496" y="39.5899" z="36.2899" />
+ <vertex index="825" x="59.7662" y="43.2667" z="38.7019" />
+ <vertex index="826" x="48.0425" y="40.3879" z="33.7927" />
+ <vertex index="827" x="54.5675" y="45.3361" z="28.9333" />
+ <vertex index="828" x="56.4649" y="42.4049" z="29.701" />
+ <vertex index="829" x="55.8898" y="41.9053" z="29.7146" />
+ <vertex index="830" x="55.9358" y="42.9905" z="41.586" />
+ <vertex index="831" x="57.469" y="46.2478" z="23.7773" />
+ <vertex index="832" x="52.277" y="42.0862" z="29.7693" />
+ <vertex index="833" x="57.3228" y="44.8671" z="39.118" />
+ <vertex index="834" x="57.088" y="44.4089" z="38.2704" />
+ <vertex index="835" x="48.9072" y="43.3472" z="32.7441" />
+ <vertex index="836" x="58.8183" y="43.8767" z="31.3653" />
+ <vertex index="837" x="56.8376" y="40.5947" z="34.3188" />
+ <vertex index="838" x="42.9897" y="38.6509" z="43.001" />
+ <vertex index="839" x="58.9096" y="45.6649" z="34.2222" />
+ <vertex index="840" x="56.2333" y="51.3641" z="13.7501" />
+ <vertex index="841" x="55.63" y="51.0326" z="13.217" />
+ <vertex index="842" x="55.6918" y="50.8031" z="14.1066" />
+ <vertex index="843" x="57.3471" y="44.9571" z="25.8374" />
+ <vertex index="844" x="57.0705" y="45.6155" z="21.7962" />
+ <vertex index="845" x="56.717" y="45.1013" z="22.4936" />
+ <vertex index="846" x="59.8306" y="44.21" z="34.1259" />
+ <vertex index="847" x="47.1276" y="38.0761" z="41.534" />
+ <vertex index="848" x="58.3208" y="42.0036" z="37.7969" />
+ <vertex index="849" x="59.9976" y="43.7717" z="36.2294" />
+ <vertex index="850" x="41.508" y="35.9777" z="47.1343" />
+ <vertex index="851" x="53.0205" y="42.0824" z="39.8473" />
+ <vertex index="852" x="52.7811" y="41.6434" z="39.8106" />
+ <vertex index="853" x="53.8863" y="39.5107" z="36.9786" />
+ <vertex index="854" x="39.351" y="35.9683" z="46.4345" />
+ <vertex index="855" x="39.0609" y="36.3085" z="46.3174" />
+ <vertex index="856" x="50.6876" y="42.3731" z="38.1293" />
+ <vertex index="857" x="50.4277" y="42.633" z="37.421" />
+ <vertex index="858" x="50.6474" y="41.7603" z="37.4327" />
+ <vertex index="859" x="55.7302" y="40.7073" z="49.2088" />
+ <vertex index="860" x="56.9428" y="41.0985" z="32.2008" />
+ <vertex index="861" x="51.3092" y="40.5241" z="36.4467" />
+ <vertex index="862" x="52.5884" y="43.8416" z="28.7603" />
+ <vertex index="863" x="51.971" y="43.3811" z="28.9809" />
+ <vertex index="864" x="51.8397" y="44.1726" z="29.0956" />
+ <vertex index="865" x="46.6234" y="40.366" z="35.6346" />
+ <vertex index="866" x="46.2955" y="40.3806" z="36.4379" />
+ <vertex index="867" x="46.5589" y="41.0516" z="36.134" />
+ <vertex index="868" x="57.0658" y="44.376" z="25.7561" />
+ <vertex index="869" x="57.1399" y="44.631" z="25.1711" />
+ <vertex index="870" x="52.4734" y="44.6463" z="29.1168" />
+ <vertex index="871" x="53.2327" y="44.3459" z="28.704" />
+ <vertex index="872" x="54.9346" y="47.5537" z="19.7817" />
+ <vertex index="873" x="55.0954" y="42.1612" z="29.4599" />
+ <vertex index="874" x="39.2914" y="37.0277" z="46.8113" />
+ <vertex index="875" x="57.8435" y="41.1657" z="43.9651" />
+ <vertex index="876" x="55.844" y="45.4856" z="37.7916" />
+ <vertex index="877" x="55.8825" y="51.971" z="11.0293" />
+ <vertex index="878" x="57.9782" y="52.1265" z="11.8597" />
+ <vertex index="879" x="58.3851" y="51.5696" z="12.2743" />
+ <vertex index="880" x="58.4905" y="51.7787" z="11.5557" />
+ <vertex index="881" x="51.2064" y="44.9435" z="34.4392" />
+ <vertex index="882" x="51.0933" y="44.9903" z="35.1669" />
+ <vertex index="883" x="52.6414" y="39.5701" z="37.9419" />
+ <vertex index="884" x="58.4539" y="41.7894" z="43.1139" />
+ <vertex index="885" x="56.7181" y="46.3699" z="26.1014" />
+ <vertex index="886" x="51.1791" y="41.7329" z="34.6962" />
+ <vertex index="887" x="51.4302" y="42.1149" z="34.0193" />
+ <vertex index="888" x="57.5028" y="46.2019" z="23.0287" />
+ <vertex index="889" x="44.5398" y="39.1736" z="40.8778" />
+ <vertex index="890" x="50.5899" y="43.0625" z="35.1097" />
+ <vertex index="891" x="54.8944" y="46.0077" z="22.1593" />
+ <vertex index="892" x="42.0645" y="37.5247" z="43.2271" />
+ <vertex index="893" x="42.4665" y="36.8534" z="43.1581" />
+ <vertex index="894" x="50.7159" y="44.2614" z="37.5809" />
+ <vertex index="895" x="50.7782" y="43.6597" z="38.2085" />
+ <vertex index="896" x="51.274" y="44.4613" z="38.4098" />
+ <vertex index="897" x="44.7806" y="37.3842" z="40.6618" />
+ <vertex index="898" x="44.583" y="37.912" z="40.3644" />
+ <vertex index="899" x="57.7023" y="42.5832" z="37.3521" />
+ <vertex index="900" x="58.3666" y="43.7872" z="42.4537" />
+ <vertex index="901" x="59.9666" y="44.0425" z="36.7972" />
+ <vertex index="902" x="54.4252" y="41.5733" z="48.0449" />
+ <vertex index="903" x="54.2738" y="41.1725" z="48.6618" />
+ <vertex index="904" x="55.6076" y="52.1218" z="7.34312" />
+ <vertex index="905" x="55.6779" y="51.4605" z="11.7197" />
+ <vertex index="906" x="51.0813" y="42.2737" z="38.7967" />
+ <vertex index="907" x="51.1775" y="41.638" z="38.933" />
+ <vertex index="908" x="54.041" y="43.8173" z="40.2767" />
+ <vertex index="909" x="54.0838" y="44.6863" z="39.937" />
+ <vertex index="910" x="53.2357" y="44.164" z="39.8668" />
+ <vertex index="911" x="57.4389" y="49.2228" z="10.3758" />
+ <vertex index="912" x="55.543" y="46.1562" z="19.9255" />
+ <vertex index="913" x="55.4448" y="46.5834" z="19.1491" />
+ <vertex index="914" x="40.4751" y="38.5216" z="46.8394" />
+ <vertex index="915" x="57.8335" y="49.7146" z="9.24467" />
+ <vertex index="916" x="58.7979" y="50.373" z="11.7471" />
+ <vertex index="917" x="58.6051" y="49.6511" z="11.862" />
+ <vertex index="918" x="47.3908" y="41.2097" z="38.5442" />
+ <vertex index="919" x="51.1401" y="43.5706" z="33.8736" />
+ <vertex index="920" x="47.3454" y="40.7353" z="34.2755" />
+ <vertex index="921" x="42.3174" y="36.5134" z="47.0039" />
+ <vertex index="922" x="41.7148" y="36.6729" z="47.6556" />
+ <vertex index="923" x="52.7531" y="43.0294" z="28.9513" />
+ <vertex index="924" x="52.1104" y="42.6397" z="29.2483" />
+ <vertex index="925" x="56.368" y="40.4559" z="44.2592" />
+ <vertex index="926" x="56.6178" y="40.6643" z="43.4981" />
+ <vertex index="927" x="39.7122" y="38.4833" z="46.865" />
+ <vertex index="928" x="57.0831" y="51.583" z="3.7402" />
+ <vertex index="929" x="56.5422" y="51.5455" z="4.59766" />
+ <vertex index="930" x="56.1472" y="52.0708" z="3.96663" />
+ <vertex index="931" x="43.4523" y="38.9794" z="43.5039" />
+ <vertex index="932" x="52.8946" y="42.6824" z="39.7946" />
+ <vertex index="933" x="56.0162" y="45.7137" z="20.4387" />
+ <vertex index="934" x="49.2971" y="40.4996" z="36.4926" />
+ <vertex index="935" x="48.9951" y="40.8987" z="37.145" />
+ <vertex index="936" x="49.0828" y="40.038" z="37.1026" />
+ <vertex index="937" x="41.1251" y="38.4871" z="45.2186" />
+ <vertex index="938" x="57.2282" y="44.5016" z="26.3983" />
+ <vertex index="939" x="53.5491" y="42.7099" z="29.0666" />
+ <vertex index="940" x="53.3915" y="43.4861" z="28.7339" />
+ <vertex index="941" x="50.9298" y="42.4678" z="34.5073" />
+ <vertex index="942" x="58.1197" y="51.7125" z="3.79409" />
+ <vertex index="943" x="57.8618" y="52.2888" z="4.05751" />
+ <vertex index="944" x="46.8623" y="38.5359" z="42.2214" />
+ <vertex index="945" x="57.8433" y="45.4528" z="30.7369" />
+ <vertex index="946" x="57.5505" y="45.3011" z="30.0715" />
+ <vertex index="947" x="57.2042" y="45.7232" z="30.5126" />
+ <vertex index="948" x="57.2034" y="52.2855" z="11.9827" />
+ <vertex index="949" x="57.6158" y="51.9203" z="12.7446" />
+ <vertex index="950" x="52.3353" y="46.0879" z="37.3135" />
+ <vertex index="951" x="57.161" y="42.8959" z="38.5944" />
+ <vertex index="952" x="56.8399" y="50.1535" z="17.1031" />
+ <vertex index="953" x="57.2754" y="43.9987" z="37.5376" />
+ <vertex index="954" x="51.4444" y="44.5521" z="31.0854" />
+ <vertex index="955" x="55.4235" y="45.5443" z="38.3267" />
+ <vertex index="956" x="53.7328" y="42.1095" z="29.6212" />
+ <vertex index="957" x="54.3292" y="42.4295" z="29.2441" />
+ <vertex index="958" x="54.5112" y="41.9529" z="29.8302" />
+ <vertex index="959" x="54.8923" y="44.9751" z="39.5667" />
+ <vertex index="960" x="43.1585" y="36.1066" z="44.0912" />
+ <vertex index="961" x="48.6775" y="39.4803" z="36.1338" />
+ <vertex index="962" x="55.2174" y="41.5869" z="29.962" />
+ <vertex index="963" x="55.9912" y="41.4209" z="30.3722" />
+ <vertex index="964" x="55.2891" y="41.0579" z="30.6374" />
+ <vertex index="965" x="57.3841" y="42.9153" z="32.5042" />
+ <vertex index="966" x="53.8509" y="40.4874" z="32.1121" />
+ <vertex index="967" x="54.6041" y="40.8481" z="46.7186" />
+ <vertex index="968" x="42.3285" y="36.3197" z="43.8356" />
+ <vertex index="969" x="41.8458" y="36.9505" z="43.6275" />
+ <vertex index="970" x="51.089" y="44.2879" z="34.0961" />
+ <vertex index="971" x="59.3217" y="44.9277" z="37.7673" />
+ <vertex index="972" x="50.2112" y="43.0157" z="33.2815" />
+ <vertex index="973" x="54.4328" y="39.9007" z="49.0546" />
+ <vertex index="974" x="55.3562" y="39.9635" z="49.0296" />
+ <vertex index="975" x="58.4771" y="52.7843" z="4.27989" />
+ <vertex index="976" x="56.2994" y="50.8907" z="15.1475" />
+ <vertex index="977" x="57.1378" y="52.7417" z="10.7402" />
+ <vertex index="978" x="56.9212" y="39.89" z="48.2777" />
+ <vertex index="979" x="55.1504" y="39.8727" z="37.4386" />
+ <vertex index="980" x="55.8239" y="40.2206" z="37.1965" />
+ <vertex index="981" x="55.7578" y="40.239" z="37.9281" />
+ <vertex index="982" x="57.0839" y="43.6289" z="38.379" />
+ <vertex index="983" x="55.2154" y="45.9174" z="21.2697" />
+ <vertex index="984" x="51.235" y="42.2188" z="32.421" />
+ <vertex index="985" x="57.2962" y="41.2708" z="48.6291" />
+ <vertex index="986" x="47.2933" y="38.6139" z="37.1961" />
+ <vertex index="987" x="56.088" y="49.9922" z="17.2871" />
+ <vertex index="988" x="52.1352" y="44.1327" z="31.8221" />
+ <vertex index="989" x="50.6212" y="42.6592" z="29.7548" />
+ <vertex index="990" x="49.7626" y="42.6028" z="30.3222" />
+ <vertex index="991" x="45.0952" y="38.9628" z="39.2503" />
+ <vertex index="992" x="44.1797" y="36.7233" z="42.0322" />
+ <vertex index="993" x="51.3992" y="43.689" z="29.2222" />
+ <vertex index="994" x="51.3551" y="43.0322" z="29.2996" />
+ <vertex index="995" x="49.8947" y="40.7525" z="34.6135" />
+ <vertex index="996" x="46.1877" y="38.8068" z="42.7458" />
+ <vertex index="997" x="59.0703" y="51.8325" z="6.99993" />
+ <vertex index="998" x="50.4363" y="43.4198" z="37.4618" />
+ <vertex index="999" x="55.1293" y="49.0217" z="15.7029" />
+ <vertex index="1000" x="55.1698" y="48.2751" z="19.7982" />
+ <vertex index="1001" x="48.0857" y="40.7279" z="38.8991" />
+ <vertex index="1002" x="56.591" y="42.4054" z="48.145" />
+ <vertex index="1003" x="57.7207" y="44.4395" z="34.8924" />
+ <vertex index="1004" x="39.9127" y="35.9851" z="45.9483" />
+ <vertex index="1005" x="55.7169" y="50.3952" z="15.3513" />
+ <vertex index="1006" x="55.2897" y="49.7225" z="15.5233" />
+ <vertex index="1007" x="57.0434" y="52.5385" z="4.17502" />
+ <vertex index="1008" x="57.7753" y="53.0205" z="4.39076" />
+ <vertex index="1009" x="57.0656" y="53.3436" z="4.54117" />
+ <vertex index="1010" x="44.4631" y="37.0862" z="41.3469" />
+ <vertex index="1011" x="44.614" y="36.555" z="43.998" />
+ <vertex index="1012" x="53.9235" y="40.9936" z="31.4421" />
+ <vertex index="1013" x="51.6142" y="45.4637" z="34.1064" />
+ <vertex index="1014" x="51.418" y="44.8804" z="33.6638" />
+ <vertex index="1015" x="57.5499" y="43.3538" z="37.0134" />
+ <vertex index="1016" x="57.6108" y="51.5345" z="13.6026" />
+ <vertex index="1017" x="56.8744" y="51.7446" z="13.3614" />
+ <vertex index="1018" x="56.9251" y="51.4409" z="14.0771" />
+ <vertex index="1019" x="51.7575" y="44.7827" z="32.9027" />
+ <vertex index="1020" x="51.9234" y="39.8899" z="37.5837" />
+ <vertex index="1021" x="58.892" y="50.7294" z="10.9615" />
+ <vertex index="1022" x="58.6703" y="49.9336" z="11.1012" />
+ <vertex index="1023" x="58.7063" y="50.266" z="10.3234" />
+ <vertex index="1024" x="58.2229" y="49.5134" z="10.5189" />
+ <vertex index="1025" x="58.5824" y="43.1322" z="43.0987" />
+ <vertex index="1026" x="55.4869" y="49.1041" z="18.596" />
+ <vertex index="1027" x="57.085" y="41.586" z="31.5975" />
+ <vertex index="1028" x="56.4952" y="41.0647" z="31.5193" />
+ <vertex index="1029" x="43.7241" y="38.2112" z="45.4346" />
+ <vertex index="1030" x="58.9963" y="44.9055" z="38.5817" />
+ <vertex index="1031" x="59.013" y="45.2724" z="37.2206" />
+ <vertex index="1032" x="58.7507" y="52.3835" z="9.59861" />
+ <vertex index="1033" x="44.302" y="36.74" z="44.953" />
+ <vertex index="1034" x="58.7877" y="51.1641" z="11.6639" />
+ <vertex index="1035" x="56.2011" y="50.9362" z="6.97041" />
+ <vertex index="1036" x="55.0356" y="46.7587" z="34.0892" />
+ <vertex index="1037" x="55.0853" y="46.8373" z="33.2147" />
+ <vertex index="1038" x="54.4081" y="46.8185" z="33.61" />
+ <vertex index="1039" x="58.2383" y="51.3147" z="13.1099" />
+ <vertex index="1040" x="48.2046" y="39.6653" z="34.9488" />
+ <vertex index="1041" x="48.7995" y="39.7337" z="35.3998" />
+ <vertex index="1042" x="56.6847" y="51.9832" z="12.6228" />
+ <vertex index="1043" x="51.2331" y="44.9957" z="37.6178" />
+ <vertex index="1044" x="55.2824" y="47.6936" z="21.9806" />
+ <vertex index="1045" x="57.3127" y="40.5152" z="48.4584" />
+ <vertex index="1046" x="53.4904" y="46.5401" z="32.0088" />
+ <vertex index="1047" x="52.7102" y="46.0001" z="32.0688" />
+ <vertex index="1048" x="54.7088" y="45.9677" z="38.2017" />
+ <vertex index="1049" x="54.8394" y="45.5418" z="38.9188" />
+ <vertex index="1050" x="58.9599" y="51.046" z="10.149" />
+ <vertex index="1051" x="58.8164" y="51.6417" z="10.8299" />
+ <vertex index="1052" x="56.2868" y="51.1235" z="14.4508" />
+ <vertex index="1053" x="57.595" y="41.2979" z="40.986" />
+ <vertex index="1054" x="58.2274" y="45.1356" z="38.8452" />
+ <vertex index="1055" x="56.6923" y="45.8793" z="30.955" />
+ <vertex index="1056" x="56.5447" y="45.8317" z="30.2641" />
+ <vertex index="1057" x="59.022" y="51.2785" z="9.32712" />
+ <vertex index="1058" x="58.7799" y="50.555" z="9.54126" />
+ <vertex index="1059" x="57.2884" y="45.5705" z="22.689" />
+ <vertex index="1060" x="57.9851" y="47.9604" z="16.453" />
+ <vertex index="1061" x="55.8739" y="43.6066" z="39.4221" />
+ <vertex index="1062" x="55.5331" y="44.3538" z="39.5446" />
+ <vertex index="1063" x="59.9574" y="43.3535" z="36.6464" />
+ <vertex index="1064" x="50.8907" y="41.6727" z="38.2943" />
+ <vertex index="1065" x="56.058" y="41.122" z="30.9575" />
+ <vertex index="1066" x="56.6231" y="41.4699" z="30.9343" />
+ <vertex index="1067" x="57.1969" y="43.8168" z="43.5402" />
+ <vertex index="1068" x="56.4751" y="43.6934" z="43.6599" />
+ <vertex index="1069" x="57.9762" y="47.9723" z="18.7928" />
+ <vertex index="1070" x="55.8202" y="43.2254" z="43.858" />
+ <vertex index="1071" x="55.6774" y="46.6784" z="31.8526" />
+ <vertex index="1072" x="55.7913" y="46.7026" z="32.6967" />
+ <vertex index="1073" x="59.1362" y="53.3082" z="4.51502" />
+ <vertex index="1074" x="52.201" y="44.6736" z="32.2042" />
+ <vertex index="1075" x="52.1639" y="45.3818" z="32.506" />
+ <vertex index="1076" x="43.8507" y="36.2811" z="43.6462" />
+ <vertex index="1077" x="50.5645" y="43.0169" z="37.9967" />
+ <vertex index="1078" x="52.0023" y="39.8586" z="38.4257" />
+ <vertex index="1079" x="58.0337" y="44.9177" z="39.6912" />
+ <vertex index="1080" x="58.5636" y="42.4233" z="43.5357" />
+ <vertex index="1081" x="55.0277" y="48.5078" z="18.4476" />
+ <vertex index="1082" x="40.6509" y="35.6775" z="46.1187" />
+ <vertex index="1083" x="59.6888" y="42.7969" z="37.0829" />
+ <vertex index="1084" x="48.9132" y="40.3797" z="37.7969" />
+ <vertex index="1085" x="56.2371" y="51.6109" z="13.1144" />
+ <vertex index="1086" x="41.532" y="37.6148" z="43.7713" />
+ <vertex index="1087" x="42.0066" y="38.1463" z="43.6403" />
+ <vertex index="1088" x="48.3464" y="38.9919" z="38.8841" />
+ <vertex index="1089" x="49.3972" y="43.1635" z="33.6336" />
+ <vertex index="1090" x="50.9259" y="40.9956" z="37.7769" />
+ <vertex index="1091" x="52.7148" y="43.4232" z="39.6561" />
+ <vertex index="1092" x="54.8751" y="40.6808" z="49.2403" />
+ <vertex index="1093" x="56.5517" y="41.1172" z="37.8543" />
+ <vertex index="1094" x="56.5277" y="41.5492" z="38.3498" />
+ <vertex index="1095" x="56.2175" y="40.8234" z="38.2865" />
+ <vertex index="1096" x="55.9842" y="40.2205" z="32.8864" />
+ <vertex index="1097" x="55.0171" y="46.8609" z="32.361" />
+ <vertex index="1098" x="55.456" y="50.5919" z="10.7535" />
+ <vertex index="1099" x="56.3167" y="54.3987" z="5.02477" />
+ <vertex index="1100" x="56.3217" y="52.9559" z="4.3684" />
+ <vertex index="1101" x="56.1521" y="42.3414" z="48.8732" />
+ <vertex index="1102" x="55.3114" y="42.3804" z="48.8639" />
+ <vertex index="1103" x="55.7557" y="42.2567" z="49.616" />
+ <vertex index="1104" x="43.8492" y="36.4877" z="42.7861" />
+ <vertex index="1105" x="58.0936" y="43.4192" z="33.7138" />
+ <vertex index="1106" x="51.7015" y="44.1501" z="31.5914" />
+ <vertex index="1107" x="58.3698" y="48.9935" z="14.3942" />
+ <vertex index="1108" x="55.3251" y="39.904" z="36.6709" />
+ <vertex index="1109" x="57.3401" y="42.4503" z="35.626" />
+ <vertex index="1110" x="57.1788" y="43.3431" z="35.3506" />
+ <vertex index="1111" x="57.0653" y="43.1613" z="36.2081" />
+ <vertex index="1112" x="59.1131" y="45.3524" z="33.4365" />
+ <vertex index="1113" x="46.48" y="38.8915" z="37.2814" />
+ <vertex index="1114" x="56.8526" y="41.9319" z="48.7753" />
+ <vertex index="1115" x="56.494" y="41.9381" z="49.4988" />
+ <vertex index="1116" x="40.0821" y="38.4129" z="46.2055" />
+ <vertex index="1117" x="40.6646" y="37.9401" z="44.8387" />
+ <vertex index="1118" x="40.9765" y="37.5111" z="44.2603" />
+ <vertex index="1119" x="40.3968" y="37.1833" z="44.7271" />
+ <vertex index="1120" x="48.1436" y="41.0938" z="38.3095" />
+ <vertex index="1121" x="57.5033" y="44.0417" z="42.7909" />
+ <vertex index="1122" x="50.8581" y="42.6732" z="32.9202" />
+ <vertex index="1123" x="51.8521" y="45.4411" z="33.3397" />
+ <vertex index="1124" x="52.3637" y="46.0189" z="33.0771" />
+ <vertex index="1125" x="56.9597" y="51.1456" z="14.7705" />
+ <vertex index="1126" x="57.3716" y="43.1401" z="37.837" />
+ <vertex index="1127" x="46.0553" y="37.2579" z="42.4874" />
+ <vertex index="1128" x="46.3535" y="37.193" z="41.6368" />
+ <vertex index="1129" x="56.7332" y="43.896" z="42.9416" />
+ <vertex index="1130" x="56.9721" y="44.1016" z="42.2206" />
+ <vertex index="1131" x="40.7542" y="37.7214" z="48.3779" />
+ <vertex index="1132" x="40.7091" y="38.2851" z="47.5388" />
+ <vertex index="1133" x="40.1274" y="38.3116" z="48.0662" />
+ <vertex index="1134" x="49.7467" y="41.9324" z="34.7591" />
+ <vertex index="1135" x="53.2078" y="45.3092" z="30.0587" />
+ <vertex index="1136" x="52.6936" y="45.0857" z="30.7844" />
+ <vertex index="1137" x="57.8683" y="49.4816" z="9.87801" />
+ <vertex index="1138" x="42.4743" y="38.1046" z="43.035" />
+ <vertex index="1139" x="58.2288" y="51.3867" z="4.75575" />
+ <vertex index="1140" x="57.4074" y="51.2642" z="4.513" />
+ <vertex index="1141" x="57.7094" y="47.4066" z="20.7971" />
+ <vertex index="1142" x="57.4389" y="40.7071" z="46.4969" />
+ <vertex index="1143" x="51.3531" y="40.3062" z="38.1" />
+ <vertex index="1144" x="58.4322" y="54.2422" z="5.65897" />
+ <vertex index="1145" x="58.755" y="54.1417" z="4.89601" />
+ <vertex index="1146" x="49.4697" y="40.6109" z="32.863" />
+ <vertex index="1147" x="46.9607" y="37.8366" z="39.1693" />
+ <vertex index="1148" x="47.5342" y="38.0129" z="39.5346" />
+ <vertex index="1149" x="47.0508" y="37.7576" z="39.7728" />
+ <vertex index="1150" x="43.1017" y="36.3528" z="43.3064" />
+ <vertex index="1151" x="51.5053" y="42.8933" z="39.1529" />
+ <vertex index="1152" x="47.4837" y="40.7314" z="39.4472" />
+ <vertex index="1153" x="56.6837" y="42.9898" z="37.8305" />
+ <vertex index="1154" x="56.4296" y="43.5997" z="38.2605" />
+ <vertex index="1155" x="56.4365" y="42.9065" z="38.549" />
+ <vertex index="1156" x="56.0673" y="49.7355" z="10.2818" />
+ <vertex index="1157" x="43.1392" y="38.8526" z="44.2169" />
+ <vertex index="1158" x="40.3843" y="38.2499" z="45.5203" />
+ <vertex index="1159" x="39.9846" y="37.6297" z="45.24" />
+ <vertex index="1160" x="56.3122" y="40.3568" z="35.8017" />
+ <vertex index="1161" x="57.2567" y="41.8212" z="47.9566" />
+ <vertex index="1162" x="56.9783" y="41.6309" z="36.9561" />
+ <vertex index="1163" x="56.937" y="42.3472" z="37.4053" />
+ <vertex index="1164" x="56.771" y="41.6565" z="37.6782" />
+ <vertex index="1165" x="43.5913" y="36.9069" z="42.2157" />
+ <vertex index="1166" x="55.5929" y="39.8911" z="35.9257" />
+ <vertex index="1167" x="48.5558" y="40.6179" z="38.3707" />
+ <vertex index="1168" x="56.9363" y="47.8366" z="22.0506" />
+ <vertex index="1169" x="54.5604" y="39.6729" z="36.8589" />
+ <vertex index="1170" x="54.7591" y="39.6664" z="36.0686" />
+ <vertex index="1171" x="49.5268" y="40.8659" z="35.7738" />
+ <vertex index="1172" x="49.8067" y="41.1614" z="35.0783" />
+ <vertex index="1173" x="49.3877" y="41.7265" z="35.4662" />
+ <vertex index="1174" x="59.0221" y="53.5476" z="5.36439" />
+ <vertex index="1175" x="48.8089" y="40.8336" z="32.5611" />
+ <vertex index="1176" x="54.1429" y="45.3516" z="39.3856" />
+ <vertex index="1177" x="47.3075" y="39.7442" z="35.3305" />
+ <vertex index="1178" x="57.6377" y="50.8353" z="14.9782" />
+ <vertex index="1179" x="58.3777" y="41.7186" z="39.5971" />
+ <vertex index="1180" x="58.9699" y="42.065" z="39.2847" />
+ <vertex index="1181" x="57.7031" y="45.705" z="33.1311" />
+ <vertex index="1182" x="58.9945" y="45.3932" z="36.5125" />
+ <vertex index="1183" x="43.1038" y="36.8498" z="42.6477" />
+ <vertex index="1184" x="46.6974" y="38.3867" z="37.7836" />
+ <vertex index="1185" x="46.9495" y="41.4684" z="37.5632" />
+ <vertex index="1186" x="46.3219" y="40.9691" z="37.6039" />
+ <vertex index="1187" x="55.6468" y="50.2792" z="10.2269" />
+ <vertex index="1188" x="56.1445" y="49.4139" z="10.9586" />
+ <vertex index="1189" x="57.1907" y="41.6066" z="36.1278" />
+ <vertex index="1190" x="56.7149" y="40.8422" z="36.4997" />
+ <vertex index="1191" x="41.6024" y="38.5912" z="45.6363" />
+ <vertex index="1192" x="58.2198" y="49.3079" z="11.3659" />
+ <vertex index="1193" x="47.6474" y="40.0685" z="34.5335" />
+ <vertex index="1194" x="54.0497" y="45.8418" z="38.7551" />
+ <vertex index="1195" x="53.5268" y="45.5252" z="39.1443" />
+ <vertex index="1196" x="56.203" y="49.0343" z="11.7829" />
+ <vertex index="1197" x="55.6187" y="49.7041" z="11.5759" />
+ <vertex index="1198" x="49.5856" y="42.5761" z="34.3023" />
+ <vertex index="1199" x="57.1507" y="42.392" z="36.5831" />
+ <vertex index="1200" x="51.3317" y="43.6518" z="38.8627" />
+ <vertex index="1201" x="50.8917" y="42.9861" z="38.6063" />
+ <vertex index="1202" x="58.9384" y="51.8087" z="9.89654" />
+ <vertex index="1203" x="47.485" y="38.325" z="37.979" />
+ <vertex index="1204" x="46.8566" y="38.0456" z="38.4434" />
+ <vertex index="1205" x="54.1778" y="40.6239" z="49.2567" />
+ <vertex index="1206" x="53.9983" y="41.7362" z="30.2627" />
+ <vertex index="1207" x="58.9877" y="51.9928" z="9.12324" />
+ <vertex index="1208" x="57.7577" y="47.0375" z="20.0477" />
+ <vertex index="1209" x="55.6003" y="51.8656" z="9.36509" />
+ <vertex index="1210" x="59.1262" y="52.9497" z="5.8759" />
+ <vertex index="1211" x="59.1095" y="52.6105" z="5.04765" />
+ <vertex index="1212" x="55.7771" y="47.0167" z="17.3452" />
+ <vertex index="1213" x="52.2084" y="40.093" z="39.0779" />
+ <vertex index="1214" x="52.3341" y="45.8149" z="38.0656" />
+ <vertex index="1215" x="50.4105" y="42.2196" z="36.7021" />
+ <vertex index="1216" x="56.4263" y="44.3336" z="37.9554" />
+ <vertex index="1217" x="56.648" y="43.6965" z="37.4999" />
+ <vertex index="1218" x="46.4416" y="41.0318" z="36.9216" />
+ <vertex index="1219" x="57.7601" y="41.9152" z="46.4443" />
+ <vertex index="1220" x="56.0276" y="44.9967" z="38.275" />
+ <vertex index="1221" x="57.925" y="41.3855" z="45.3354" />
+ <vertex index="1222" x="48.4491" y="41.5244" z="37.0785" />
+ <vertex index="1223" x="48.5535" y="41.0577" z="37.7738" />
+ <vertex index="1224" x="50.437" y="42.6192" z="35.9504" />
+ <vertex index="1225" x="56.1304" y="44.2206" z="38.807" />
+ <vertex index="1226" x="58.1775" y="48.5572" z="16.9353" />
+ <vertex index="1227" x="57.8689" y="47.5347" z="19.3739" />
+ <vertex index="1228" x="56.6842" y="46.3875" z="18.5059" />
+ <vertex index="1229" x="56.4222" y="46.1391" z="19.157" />
+ <vertex index="1230" x="39.8397" y="36.3853" z="47.033" />
+ <vertex index="1231" x="55.5671" y="45.8473" z="28.0979" />
+ <vertex index="1232" x="55.345" y="45.5977" z="28.7184" />
+ <vertex index="1233" x="55.9056" y="45.8358" z="28.5882" />
+ <vertex index="1234" x="51.0624" y="41.495" z="32.3191" />
+ <vertex index="1235" x="50.6479" y="41.1198" z="32.8193" />
+ <vertex index="1236" x="57.7913" y="41.2773" z="46.0924" />
+ <vertex index="1237" x="51.7416" y="45.2321" z="38.23" />
+ <vertex index="1238" x="52.3363" y="45.3634" z="38.7289" />
+ <vertex index="1239" x="55.2779" y="41.4318" z="49.4201" />
+ <vertex index="1240" x="56.6556" y="44.4195" z="37.1727" />
+ <vertex index="1241" x="56.8394" y="43.7907" z="36.7106" />
+ <vertex index="1242" x="56.8008" y="44.5168" z="36.3876" />
+ <vertex index="1243" x="55.5237" y="51.2913" z="9.66912" />
+ <vertex index="1244" x="57.094" y="48.7766" z="11.6819" />
+ <vertex index="1245" x="45.6925" y="38.4796" z="38.635" />
+ <vertex index="1246" x="46.0592" y="38.7197" z="37.943" />
+ <vertex index="1247" x="46.2676" y="38.2594" z="38.3135" />
+ <vertex index="1248" x="57.3731" y="45.7964" z="31.2071" />
+ <vertex index="1249" x="57.5061" y="45.8626" z="31.9545" />
+ <vertex index="1250" x="58.1084" y="45.6287" z="31.4458" />
+ <vertex index="1251" x="45.8753" y="38.3138" z="43.4027" />
+ <vertex index="1252" x="46.4248" y="38.0119" z="42.8366" />
+ <vertex index="1253" x="56.5244" y="43.9601" z="41.6761" />
+ <vertex index="1254" x="55.2034" y="49.1121" z="14.9575" />
+ <vertex index="1255" x="55.5976" y="51.8495" z="8.59484" />
+ <vertex index="1256" x="54.2947" y="46.7236" z="34.3241" />
+ <vertex index="1257" x="57.7292" y="41.8573" z="34.3184" />
+ <vertex index="1258" x="57.6777" y="43.4131" z="29.7861" />
+ <vertex index="1259" x="57.0648" y="42.8644" z="29.6798" />
+ <vertex index="1260" x="57.1595" y="43.2405" z="28.8402" />
+ <vertex index="1261" x="56.9921" y="45.1191" z="34.3547" />
+ <vertex index="1262" x="57.0718" y="44.3896" z="34.2434" />
+ <vertex index="1263" x="55.8879" y="46.604" z="33.6641" />
+ <vertex index="1264" x="58.6907" y="51.1143" z="6.90275" />
+ <vertex index="1265" x="58.8649" y="51.5744" z="6.12331" />
+ <vertex index="1266" x="46.591" y="37.2919" z="40.9171" />
+ <vertex index="1267" x="47.3666" y="37.9394" z="40.2444" />
+ <vertex index="1268" x="58.0756" y="50.376" z="15.1067" />
+ <vertex index="1269" x="58.4155" y="49.8503" z="14.8318" />
+ <vertex index="1270" x="45.4616" y="38.9022" z="43.1912" />
+ <vertex index="1271" x="49.1604" y="42.3915" z="34.9498" />
+ <vertex index="1272" x="57.0524" y="42.4917" z="30.3618" />
+ <vertex index="1273" x="39.7729" y="38.0142" z="45.7531" />
+ <vertex index="1274" x="52.0094" y="43.5273" z="39.3123" />
+ <vertex index="1275" x="56.1303" y="41.416" z="49.3776" />
+ <vertex index="1276" x="51.7633" y="45.5952" z="37.5395" />
+ <vertex index="1277" x="51.3207" y="40.4018" z="37.2615" />
+ <vertex index="1278" x="56.4918" y="46.3387" z="32.979" />
+ <vertex index="1279" x="56.3458" y="52.9784" z="9.23932" />
+ <vertex index="1280" x="55.9364" y="48.8479" z="12.7292" />
+ <vertex index="1281" x="48.7276" y="43.1473" z="31.9984" />
+ <vertex index="1282" x="55.8098" y="51.6478" z="6.50213" />
+ <vertex index="1283" x="44.902" y="39.2859" z="42.877" />
+ <vertex index="1284" x="53.4861" y="42.407" z="40.0304" />
+ <vertex index="1285" x="57.8186" y="47.3448" z="18.6209" />
+ <vertex index="1286" x="56.1894" y="43.565" z="41.1828" />
+ <vertex index="1287" x="59.716" y="43.0242" z="35.6358" />
+ <vertex index="1288" x="49.6155" y="41.8555" z="30.8178" />
+ <vertex index="1289" x="46.2151" y="37.2907" z="40.3147" />
+ <vertex index="1290" x="49.0265" y="41.4638" z="36.3286" />
+ <vertex index="1291" x="55.3363" y="50.0769" z="14.6553" />
+ <vertex index="1292" x="55.4826" y="50.879" z="12.3288" />
+ <vertex index="1293" x="56.7564" y="45.8121" z="34.3877" />
+ <vertex index="1294" x="56.832" y="45.3849" z="35.159" />
+ <vertex index="1295" x="58.2816" y="50.9082" z="6.26929" />
+ <vertex index="1296" x="41.4456" y="37.923" z="47.5462" />
+ <vertex index="1297" x="56.078" y="41.2738" z="39.0606" />
+ <vertex index="1298" x="59.9184" y="43.3336" z="36.0708" />
+ <vertex index="1299" x="59.675" y="42.8549" z="36.3151" />
+ <vertex index="1300" x="56.8425" y="49.0307" z="10.993" />
+ <vertex index="1301" x="57.0575" y="46.3323" z="19.1738" />
+ <vertex index="1302" x="56.9752" y="44.7183" z="34.8873" />
+ <vertex index="1303" x="56.1213" y="42.8765" z="39.2349" />
+ <vertex index="1304" x="56.3854" y="42.1761" z="38.8561" />
+ <vertex index="1305" x="46.8297" y="37.5498" z="41.4331" />
+ <vertex index="1306" x="47.1142" y="37.7311" z="40.8937" />
+ <vertex index="1307" x="58.5386" y="49.4289" z="12.6036" />
+ <vertex index="1308" x="55.7228" y="51.3833" z="7.45247" />
+ <vertex index="1309" x="59.637" y="44.7262" z="33.7708" />
+ <vertex index="1310" x="50.9616" y="41.3742" z="35.4043" />
+ <vertex index="1311" x="52.5438" y="45.191" z="31.7366" />
+ <vertex index="1312" x="52.157" y="44.5519" z="31.3118" />
+ <vertex index="1313" x="57.9466" y="41.867" z="45.8264" />
+ <vertex index="1314" x="52.4966" y="45.1326" z="29.8817" />
+ <vertex index="1315" x="51.8057" y="44.7325" z="29.6634" />
+ <vertex index="1316" x="51.9399" y="44.891" z="30.544" />
+ <vertex index="1317" x="51.2193" y="44.6397" z="30.2911" />
+ <vertex index="1318" x="58.1782" y="49.0637" z="12.0987" />
+ <vertex index="1319" x="55.8887" y="49.5996" z="18.0639" />
+ <vertex index="1320" x="59.2728" y="42.5207" z="35.8697" />
+ <vertex index="1321" x="55.0666" y="39.9286" z="38.29" />
+ <vertex index="1322" x="57.5866" y="46.8386" z="19.282" />
+ <vertex index="1323" x="45.485" y="37.1964" z="40.4148" />
+ <vertex index="1324" x="45.7941" y="37.5399" z="39.7337" />
+ <vertex index="1325" x="57.5134" y="46.182" z="22.2845" />
+ <vertex index="1326" x="54.3262" y="40.4628" z="48.4443" />
+ <vertex index="1327" x="47.0196" y="41.1495" z="34.7946" />
+ <vertex index="1328" x="46.7679" y="41.0988" z="35.3934" />
+ <vertex index="1329" x="55.3732" y="49.3865" z="13.2058" />
+ <vertex index="1330" x="53.3789" y="43.2312" z="40.0395" />
+ <vertex index="1331" x="51.8563" y="44.8578" z="38.7731" />
+ <vertex index="1332" x="52.4735" y="44.1468" z="39.4906" />
+ <vertex index="1333" x="52.8515" y="44.7002" z="39.5341" />
+ <vertex index="1334" x="52.3234" y="44.8061" z="39.2046" />
+ <vertex index="1335" x="57.6807" y="50.4749" z="15.6578" />
+ <vertex index="1336" x="49.5296" y="40.3154" z="35.1443" />
+ <vertex index="1337" x="51.3503" y="45.4608" z="36.37" />
+ <vertex index="1338" x="51.9928" y="46.0097" z="36.0386" />
+ <vertex index="1339" x="51.4581" y="45.4836" z="35.5877" />
+ <vertex index="1340" x="51.9325" y="45.9235" z="35.1623" />
+ <vertex index="1341" x="58.304" y="45.6188" z="36.3113" />
+ <vertex index="1342" x="58.7616" y="53.7074" z="6.14247" />
+ <vertex index="1343" x="58.3171" y="41.7482" z="43.8223" />
+ <vertex index="1344" x="58.0328" y="41.3847" z="43.3787" />
+ <vertex index="1345" x="52.9115" y="42.3237" z="29.3918" />
+ <vertex index="1346" x="54.9153" y="45.7138" z="26.7655" />
+ <vertex index="1347" x="58.0347" y="48.5823" z="13.6703" />
+ <vertex index="1348" x="56.7722" y="40.8405" z="42.7941" />
+ <vertex index="1349" x="56.33" y="46.1252" z="34.9726" />
+ <vertex index="1350" x="55.6875" y="46.3371" z="35.4595" />
+ <vertex index="1351" x="56.3199" y="45.8532" z="35.7427" />
+ <vertex index="1352" x="56.9012" y="43.0673" z="37.0471" />
+ <vertex index="1353" x="58.2224" y="50.6309" z="14.3926" />
+ <vertex index="1354" x="52.5855" y="40.2517" z="34.9445" />
+ <vertex index="1355" x="51.9899" y="40.4248" z="35.2033" />
+ <vertex index="1356" x="57.4427" y="41.013" z="47.9257" />
+ <vertex index="1357" x="54.3932" y="46.4621" z="36.6129" />
+ <vertex index="1358" x="58.2723" y="53.5221" z="7.98987" />
+ <vertex index="1359" x="54.9847" y="44.4952" z="25.1832" />
+ <vertex index="1360" x="58.0734" y="42.2818" z="45.2041" />
+ <vertex index="1361" x="58.323" y="42.3799" z="44.3143" />
+ <vertex index="1362" x="58.8469" y="45.5665" z="35.7236" />
+ <vertex index="1363" x="45.5817" y="40.1054" z="39.7237" />
+ <vertex index="1364" x="57.5084" y="46.3195" z="21.5547" />
+ <vertex index="1365" x="54.2483" y="46.7908" z="32.0815" />
+ <vertex index="1366" x="56.9303" y="44.6418" z="35.5845" />
+ <vertex index="1367" x="56.2947" y="46.3059" z="34.2795" />
+ <vertex index="1368" x="56.6294" y="46.1511" z="33.7171" />
+ <vertex index="1369" x="56.2276" y="54.1856" z="5.40721" />
+ <vertex index="1370" x="56.7614" y="46.0453" z="19.6569" />
+ <vertex index="1371" x="54.9638" y="48.0109" z="19.1015" />
+ <vertex index="1372" x="58.9225" y="43.5871" z="41.705" />
+ <vertex index="1373" x="45.1112" y="37.7192" z="40.0383" />
+ <vertex index="1374" x="57.603" y="50.6302" z="6.42953" />
+ <vertex index="1375" x="57.1848" y="50.8087" z="5.87698" />
+ <vertex index="1376" x="41.5475" y="36.5118" z="44.1045" />
+ <vertex index="1377" x="41.3132" y="37.0539" z="43.9558" />
+ <vertex index="1378" x="56.9008" y="53.3883" z="8.80005" />
+ <vertex index="1379" x="55.4488" y="50.5787" z="11.486" />
+ <vertex index="1380" x="57.5155" y="42.1417" z="34.8738" />
+ <vertex index="1381" x="57.4909" y="41.5076" z="34.7798" />
+ <vertex index="1382" x="58.4091" y="45.0405" z="31.0426" />
+ <vertex index="1383" x="56.2269" y="43.4494" z="38.8737" />
+ <vertex index="1384" x="55.7413" y="40.7199" z="31.3947" />
+ <vertex index="1385" x="50.292" y="41.3258" z="31.0256" />
+ <vertex index="1386" x="57.7045" y="42.4517" z="45.9725" />
+ <vertex index="1387" x="57.6604" y="53.8357" z="7.70993" />
+ <vertex index="1388" x="58.1508" y="41.592" z="44.577" />
+ <vertex index="1389" x="58.7042" y="45.1566" z="31.7509" />
+ <vertex index="1390" x="58.803" y="44.5852" z="31.369" />
+ <vertex index="1391" x="56.6422" y="41.0575" z="37.2768" />
+ <vertex index="1392" x="56.3137" y="40.58" z="37.0217" />
+ <vertex index="1393" x="56.7183" y="45.2365" z="36.0526" />
+ <vertex index="1394" x="58.3207" y="51.1922" z="5.54069" />
+ <vertex index="1395" x="57.6471" y="51.0297" z="5.2541" />
+ <vertex index="1396" x="57.314" y="46.2957" z="20.0019" />
+ <vertex index="1397" x="56.4553" y="51.0484" z="6.08424" />
+ <vertex index="1398" x="58.1134" y="48.8153" z="12.8765" />
+ <vertex index="1399" x="53.8266" y="46.732" z="33.2883" />
+ <vertex index="1400" x="54.389" y="46.8285" z="32.8601" />
+ <vertex index="1401" x="53.8079" y="46.7138" z="32.6314" />
+ <vertex index="1402" x="56.1413" y="51.549" z="5.4673" />
+ <vertex index="1403" x="56.8596" y="51.1259" z="5.26264" />
+ <vertex index="1404" x="52.9133" y="45.5934" z="31.3383" />
+ <vertex index="1405" x="44.7873" y="38.3379" z="39.873" />
+ <vertex index="1406" x="44.7905" y="39.0641" z="40.1247" />
+ <vertex index="1407" x="48.7183" y="39.3629" z="36.9015" />
+ <vertex index="1408" x="56.9411" y="53.6728" z="8.00944" />
+ <vertex index="1409" x="48.9128" y="39.9226" z="34.668" />
+ <vertex index="1410" x="57.3027" y="44.7384" z="37.682" />
+ <vertex index="1411" x="40.5415" y="36.5279" z="44.866" />
+ <vertex index="1412" x="40.9399" y="36.7865" z="44.3846" />
+ <vertex index="1413" x="50.8248" y="43.5821" z="29.5824" />
+ <vertex index="1414" x="54.729" y="41.284" z="46.0162" />
+ <vertex index="1415" x="54.9037" y="41.7169" z="45.3015" />
+ <vertex index="1416" x="55.0759" y="40.9545" z="45.2712" />
+ <vertex index="1417" x="59.0081" y="52.2361" z="8.4924" />
+ <vertex index="1418" x="50.9758" y="44.9586" z="35.892" />
+ <vertex index="1419" x="48.028" y="38.5196" z="39.2047" />
+ <vertex index="1420" x="56.4871" y="44.7273" z="23.1625" />
+ <vertex index="1421" x="48.3474" y="39.9092" z="34.3202" />
+ <vertex index="1422" x="53.1314" y="45.8648" z="38.5865" />
+ <vertex index="1423" x="56.7576" y="44.4417" z="24.5619" />
+ <vertex index="1424" x="56.2539" y="44.3893" z="23.9426" />
+ <vertex index="1425" x="56.6444" y="42.2791" z="38.1248" />
+ <vertex index="1426" x="59.1194" y="52.4065" z="6.42313" />
+ <vertex index="1427" x="55.9587" y="51.5689" z="12.4861" />
+ <vertex index="1428" x="50.3538" y="41.8932" z="30.3284" />
+ <vertex index="1429" x="57.353" y="42.8501" z="34.7968" />
+ <vertex index="1430" x="56.2613" y="40.6299" z="37.5989" />
+ <vertex index="1431" x="48.0988" y="38.5903" z="38.4299" />
+ <vertex index="1432" x="48.2068" y="38.8012" z="37.5284" />
+ <vertex index="1433" x="49.0406" y="39.8579" z="36.5106" />
+ <vertex index="1434" x="51.5055" y="45.4676" z="34.8347" />
+ <vertex index="1435" x="51.8939" y="45.8112" z="34.5218" />
+ <vertex index="1436" x="57.8236" y="50.847" z="5.83866" />
+ <vertex index="1437" x="59.4004" y="45.1926" z="34.1701" />
+ <vertex index="1438" x="55.5205" y="47.4416" z="16.8576" />
+ <vertex index="1439" x="56.135" y="40.2706" z="45.0029" />
+ <vertex index="1440" x="54.102" y="39.6857" z="33.8324" />
+ <vertex index="1441" x="53.7727" y="39.8975" z="33.3244" />
+ <vertex index="1442" x="55.2367" y="44.0061" z="25.8747" />
+ <vertex index="1443" x="56.587" y="45.7093" z="28.7543" />
+ <vertex index="1444" x="55.7751" y="40.9377" z="43.7712" />
+ <vertex index="1445" x="56.4068" y="43.5873" z="26.6623" />
+ <vertex index="1446" x="54.8524" y="46.6025" z="21.283" />
+ <vertex index="1447" x="49.2351" y="40.063" z="35.9243" />
+ <vertex index="1448" x="57.7132" y="45.8935" z="32.5874" />
+ <vertex index="1449" x="58.3226" y="45.7043" z="32.1722" />
+ <vertex index="1450" x="55.8078" y="50.7126" z="14.7584" />
+ <vertex index="1451" x="51.5101" y="43.6982" z="31.8106" />
+ <vertex index="1452" x="57.6005" y="53.5931" z="8.44079" />
+ <vertex index="1453" x="51.5297" y="42.3221" z="29.6189" />
+ <vertex index="1454" x="51.778" y="41.8867" z="30.0481" />
+ <vertex index="1455" x="53.1384" y="45.0841" z="29.2208" />
+ <vertex index="1456" x="56.1357" y="47.6301" z="23.2298" />
+ <vertex index="1457" x="56.2096" y="47.3558" z="23.9599" />
+ <vertex index="1458" x="56.6327" y="41.9061" z="30.2902" />
+ <vertex index="1459" x="53.4321" y="45.0052" z="39.5867" />
+ <vertex index="1460" x="41.0351" y="36.2705" z="48.037" />
+ <vertex index="1461" x="41.364" y="36.8128" z="48.0448" />
+ <vertex index="1462" x="41.4455" y="37.2659" z="47.9186" />
+ <vertex index="1463" x="58.504" y="44.3829" z="40.8639" />
+ <vertex index="1464" x="53.1342" y="46.5433" z="32.9496" />
+ <vertex index="1465" x="40.3384" y="37.4722" z="47.9116" />
+ <vertex index="1466" x="41.0439" y="37.0346" z="48.3543" />
+ <vertex index="1467" x="57.0563" y="54.0997" z="4.88514" />
+ <vertex index="1468" x="56.0381" y="40.2594" z="36.5268" />
+ <vertex index="1469" x="57.2178" y="44.9285" z="24.566" />
+ <vertex index="1470" x="52.9053" y="45.2659" z="39.1974" />
+ <vertex index="1471" x="57.5143" y="48.1488" z="13.8028" />
+ <vertex index="1472" x="55.8838" y="47.0768" z="24.7247" />
+ <vertex index="1473" x="47.0115" y="40.4516" z="34.8994" />
+ <vertex index="1474" x="51.3666" y="45.3725" z="37.0431" />
+ <vertex index="1475" x="57.5782" y="42.5411" z="34.2714" />
+ <vertex index="1476" x="55.6632" y="40.4656" z="38.7061" />
+ <vertex index="1477" x="58.496" y="50.6439" z="13.4913" />
+ <vertex index="1478" x="58.0853" y="51.1106" z="13.7988" />
+ <vertex index="1479" x="56.0282" y="50.7644" z="7.82513" />
+ <vertex index="1480" x="55.0257" y="46.431" z="36.0114" />
+ <vertex index="1481" x="55.7868" y="46.0958" z="36.276" />
+ <vertex index="1482" x="54.4848" y="40.4946" z="31.8642" />
+ <vertex index="1483" x="54.509" y="40.1465" z="32.4668" />
+ <vertex index="1484" x="54.1799" y="46.5947" z="35.7731" />
+ <vertex index="1485" x="57.4084" y="41.1275" z="34.2774" />
+ <vertex index="1486" x="50.6937" y="42.1407" z="35.2451" />
+ <vertex index="1487" x="57.2069" y="43.5747" z="34.451" />
+ <vertex index="1488" x="57.0526" y="44.0937" z="35.0717" />
+ <vertex index="1489" x="40.5278" y="36.036" z="45.3762" />
+ <vertex index="1490" x="57.6339" y="46.6194" z="20.8054" />
+ <vertex index="1491" x="58.3923" y="53.4067" z="4.56343" />
+ <vertex index="1492" x="59.121" y="44.4577" z="39.7744" />
+ <vertex index="1493" x="55.6356" y="49.9924" z="10.8677" />
+ <vertex index="1494" x="53.9182" y="46.7206" z="33.8789" />
+ <vertex index="1495" x="50.897" y="41.0356" z="36.9599" />
+ <vertex index="1496" x="51.813" y="45.8451" z="36.8448" />
+ <vertex index="1497" x="57.2762" y="45.1571" z="27.8158" />
+ <vertex index="1498" x="45.4468" y="39.9621" z="40.2773" />
+ <vertex index="1499" x="45.1992" y="39.5901" z="39.8319" />
+ <vertex index="1500" x="56.1831" y="40.9243" z="43.0813" />
+ <vertex index="1501" x="51.8855" y="41.7815" z="33.5201" />
+ <vertex index="1502" x="53.3893" y="46.6308" z="33.8251" />
+ <vertex index="1503" x="57.8197" y="53.7869" z="4.73917" />
+ <vertex index="1504" x="54.8244" y="42.0378" z="46.1681" />
+ <vertex index="1505" x="46.1842" y="37.8707" z="38.9736" />
+ <vertex index="1506" x="53.8125" y="40.1154" z="32.7525" />
+ <vertex index="1507" x="55.2962" y="40.3183" z="32.1136" />
+ <vertex index="1508" x="55.7345" y="41.3737" z="43.0094" />
+ <vertex index="1509" x="57.0281" y="45.6171" z="29.9343" />
+ <vertex index="1510" x="57.5284" y="42.9036" z="33.7035" />
+ <vertex index="1511" x="57.3963" y="43.0557" z="34.2015" />
+ <vertex index="1512" x="55.2072" y="47.4893" z="17.5132" />
+ <vertex index="1513" x="57.348" y="42.4641" z="46.6677" />
+ <vertex index="1514" x="53.9066" y="46.6677" z="34.9604" />
+ <vertex index="1515" x="53.7119" y="46.6764" z="34.3374" />
+ <vertex index="1516" x="53.1169" y="46.5524" z="34.6505" />
+ <vertex index="1517" x="50.6483" y="41.5695" z="36.6594" />
+ <vertex index="1518" x="54.3797" y="41.2651" z="30.7891" />
+ <vertex index="1519" x="55.7054" y="39.9396" z="33.6849" />
+ <vertex index="1520" x="54.6449" y="45.7808" z="24.8251" />
+ <vertex index="1521" x="45.395" y="38.1001" z="39.3691" />
+ <vertex index="1522" x="54.384" y="39.8594" z="33.1678" />
+ <vertex index="1523" x="55.15" y="39.9577" z="32.9965" />
+ <vertex index="1524" x="57.207" y="45.2188" z="28.4597" />
+ <vertex index="1525" x="54.1007" y="41.9909" z="40.2655" />
+ <vertex index="1526" x="54.7553" y="45.0649" z="24.5371" />
+ <vertex index="1527" x="55.6026" y="51.8039" z="7.94623" />
+ <vertex index="1528" x="56.0791" y="43.3368" z="27.3563" />
+ <vertex index="1529" x="40.1035" y="38.4984" z="47.3824" />
+ <vertex index="1530" x="51.2376" y="42.8378" z="33.8533" />
+ <vertex index="1531" x="50.8796" y="43.1251" z="34.347" />
+ <vertex index="1532" x="55.496" y="45.8967" z="20.6533" />
+ <vertex index="1533" x="58.4757" y="44.3357" z="30.7696" />
+ <vertex index="1534" x="55.6645" y="44.6521" z="23.3588" />
+ <vertex index="1535" x="58.6163" y="44.6255" z="40.1343" />
+ <vertex index="1536" x="55.2308" y="49.0055" z="17.8363" />
+ <vertex index="1537" x="57.643" y="47.0166" z="21.4626" />
+ <vertex index="1538" x="56.212" y="45.9277" z="19.7662" />
+ <vertex index="1539" x="46.6834" y="37.697" z="42.0627" />
+ <vertex index="1540" x="58.7595" y="44.8239" z="39.3816" />
+ <vertex index="1541" x="56.265" y="40.5709" z="32.1278" />
+ <vertex index="1542" x="55.2938" y="49.2681" z="14.0992" />
+ <vertex index="1543" x="55.535" y="45.0069" z="38.9546" />
+ <vertex index="1544" x="39.8137" y="37.8577" z="47.6066" />
+ <vertex index="1545" x="51.3496" y="40.7033" z="35.6467" />
+ <vertex index="1546" x="55.4064" y="39.74" z="34.4619" />
+ <vertex index="1547" x="56.3218" y="45.0599" z="37.5511" />
+ <vertex index="1548" x="57.6205" y="51.1936" z="14.3009" />
+ <vertex index="1549" x="56.9832" y="43.9207" z="35.8925" />
+ <vertex index="1550" x="52.3584" y="46.1829" z="36.665" />
+ <vertex index="1551" x="54.9759" y="45.0774" z="23.6707" />
+ <vertex index="1552" x="54.6637" y="45.7263" z="24.0183" />
+ <vertex index="1553" x="50.7903" y="44.5272" z="35.4356" />
+ <vertex index="1554" x="55.3062" y="50.1536" z="13.6976" />
+ <vertex index="1555" x="58.9741" y="45.2462" z="32.526" />
+ <vertex index="1556" x="55.5939" y="40.6468" z="44.6525" />
+ <vertex index="1557" x="58.9091" y="43.9796" z="41.1474" />
+ <vertex index="1558" x="56.311" y="43.4919" z="44.2654" />
+ <vertex index="1559" x="50.6039" y="41.8132" z="36.0117" />
+ <vertex index="1560" x="39.2714" y="36.4809" z="46.5723" />
+ <vertex index="1561" x="56.7313" y="49.8743" z="17.8603" />
+ <vertex index="1562" x="59.0842" y="52.2523" z="5.72804" />
+ <vertex index="1563" x="58.7921" y="51.7853" z="5.25474" />
+ <vertex index="1564" x="45.0046" y="39.6391" z="40.5284" />
+ <vertex index="1565" x="38.8132" y="36.7066" z="46.261" />
+ <vertex index="1566" x="54.4375" y="41.1962" z="47.4166" />
+ <vertex index="1567" x="44.3815" y="38.5165" z="40.5327" />
+ <vertex index="1568" x="57.6254" y="49.0521" z="11.0745" />
+ <vertex index="1569" x="57.7492" y="48.8899" z="11.6865" />
+ <vertex index="1570" x="55.885" y="46.2035" z="19.3149" />
+ <vertex index="1571" x="39.3503" y="38.1475" z="46.2892" />
+ <vertex index="1572" x="58.3752" y="49.9045" z="9.72985" />
+ <vertex index="1573" x="56.5082" y="45.6983" z="29.5634" />
+ <vertex index="1574" x="52.3645" y="46.1888" z="34.5824" />
+ <vertex index="1575" x="52.7095" y="46.368" z="33.8311" />
+ <vertex index="1576" x="52.1036" y="45.9217" z="33.9067" />
+ <vertex index="1577" x="47.9044" y="41.4978" z="37.7583" />
+ <vertex index="1578" x="47.5376" y="38.1246" z="38.76" />
+ <vertex index="1579" x="51.2322" y="44.2309" z="29.5683" />
+ <vertex index="1580" x="54.3373" y="40.9624" z="48.0165" />
+ <vertex index="1581" x="51.8326" y="44.2572" z="39.0632" />
+ <vertex index="1582" x="55.8796" y="52.0938" z="4.8272" />
+ <vertex index="1583" x="56.8952" y="45.6159" z="27.9894" />
+ <vertex index="1584" x="56.3059" y="45.6425" z="36.4124" />
+ <vertex index="1585" x="52.7344" y="39.7076" z="38.7889" />
+ <vertex index="1586" x="54.8419" y="40.7242" z="31.3245" />
+ <vertex index="1587" x="56.5542" y="45.1535" z="36.8149" />
+ <vertex index="1588" x="58.4897" y="45.7592" z="32.8824" />
+ <vertex index="1589" x="51.0065" y="41.3339" z="31.5019" />
+ <vertex index="1590" x="55.6951" y="46.5298" z="34.5984" />
+ <vertex index="1591" x="54.8373" y="46.6324" z="35.0394" />
+ <vertex index="1592" x="54.9004" y="39.7161" z="33.7616" />
+ <vertex index="1593" x="39.8445" y="37.2008" z="47.3676" />
+ <vertex index="1594" x="46.5184" y="37.5908" z="39.69" />
+ <vertex index="1595" x="54.7164" y="44.9271" z="26.6968" />
+ <vertex index="1596" x="57.2979" y="43.3744" z="33.7685" />
+ <vertex index="1597" x="54.9411" y="48.2542" z="17.6476" />
+ <vertex index="1598" x="55.4315" y="47.1386" z="24.0341" />
+ <vertex index="1599" x="50.8886" y="41.1272" z="36.1805" />
+ <vertex index="1600" x="54.6699" y="41.5075" z="30.2818" />
+ <vertex index="1601" x="55.8817" y="45.7087" z="29.1643" />
+ <vertex index="1602" x="51.7" y="42.5145" z="33.3783" />
+ <vertex index="1603" x="58.1068" y="50.5935" z="6.97247" />
+ <vertex index="1604" x="54.6282" y="45.2119" z="25.3295" />
+ <vertex index="1605" x="55.9341" y="43.2779" z="44.7005" />
+ <vertex index="1606" x="57.3339" y="41.5804" z="35.3476" />
+ <vertex index="1607" x="53.3468" y="46.5456" z="35.5601" />
+ <vertex index="1608" x="53.5676" y="46.5212" z="36.3777" />
+ <vertex index="1609" x="52.7781" y="46.3916" z="36.1716" />
+ <vertex index="1610" x="56.8851" y="43.4398" z="27.901" />
+ <vertex index="1611" x="40.4598" y="36.6792" z="47.697" />
+ <vertex index="1612" x="46.8313" y="37.5505" z="40.2912" />
+ <vertex index="1613" x="54.7529" y="44.6814" z="25.9625" />
+ <vertex index="1614" x="52.5565" y="46.3414" z="35.3713" />
+ <vertex index="1615" x="55.658" y="51.2549" z="9.01664" />
+ <vertex index="1616" x="55.9216" y="50.6944" z="8.66721" />
+ <vertex index="1617" x="55.7254" y="50.6369" z="9.52313" />
+ <vertex index="1618" x="56.4511" y="48.4385" z="13.1918" />
+ <vertex index="1619" x="57.0228" y="48.4037" z="12.9336" />
+ <vertex index="1620" x="56.9757" y="48.2237" z="13.5649" />
+ <vertex index="1621" x="55.6897" y="49.8775" z="16.7085" />
+ <vertex index="1622" x="55.7081" y="50.056" z="16.0603" />
+ <vertex index="1623" x="55.298" y="49.374" z="16.3497" />
+ <vertex index="1624" x="55.0489" y="45.2514" z="28.1183" />
+ <vertex index="1625" x="54.8674" y="44.7173" z="27.8668" />
+ <vertex index="1626" x="54.5369" y="44.6959" z="28.4042" />
+ <vertex index="1627" x="54.0553" y="46.485" z="31.2134" />
+ <vertex index="1628" x="54.8962" y="46.6572" z="31.5387" />
+ <vertex index="1629" x="54.8523" y="46.5152" z="30.7362" />
+ <vertex index="1630" x="52.551" y="42.2234" z="31.9563" />
+ <vertex index="1631" x="52.7143" y="42.0591" z="31.5091" />
+ <vertex index="1632" x="52.8392" y="41.6788" z="31.9972" />
+ <vertex index="1633" x="52.2073" y="42.3152" z="31.5193" />
+ <vertex index="1634" x="52.2324" y="42.5687" z="31.7974" />
+ <vertex index="1635" x="57.3629" y="42.5811" z="31.4815" />
+ <vertex index="1636" x="57.0252" y="42.1741" z="31.0972" />
+ <vertex index="1637" x="57.3887" y="42.7357" z="31.0147" />
+ <vertex index="1638" x="57.6595" y="42.7956" z="31.4784" />
+ <vertex index="1639" x="50.1099" y="43.7787" z="32.1154" />
+ <vertex index="1640" x="49.3257" y="43.5526" z="32.0655" />
+ <vertex index="1641" x="49.7188" y="43.4882" z="32.8192" />
+ <vertex index="1642" x="56.6887" y="45.8252" z="32.5836" />
+ <vertex index="1643" x="56.9532" y="45.5516" z="32.3969" />
+ <vertex index="1644" x="56.9124" y="45.6971" z="32.1463" />
+ <vertex index="1645" x="57.3495" y="45.6258" z="32.3683" />
+ <vertex index="1646" x="57.2713" y="45.4253" z="32.5118" />
+ <vertex index="1647" x="52.0433" y="42.8463" z="32.8015" />
+ <vertex index="1648" x="52.1164" y="43.4107" z="32.5108" />
+ <vertex index="1649" x="52.1675" y="43.0659" z="32.1935" />
+ <vertex index="1650" x="56.8548" y="45.4881" z="32.6564" />
+ <vertex index="1651" x="56.8717" y="45.3048" z="32.8667" />
+ <vertex index="1652" x="57.1636" y="45.2793" z="32.5988" />
+ <vertex index="1653" x="57.2225" y="45.1554" z="32.7128" />
+ <vertex index="1654" x="57.4215" y="45.3139" z="32.725" />
+ <vertex index="1655" x="56.9998" y="45.0309" z="32.9144" />
+ <vertex index="1656" x="59.3637" y="43.7931" z="32.82" />
+ <vertex index="1657" x="59.6111" y="44.0202" z="33.5453" />
+ <vertex index="1658" x="59.3451" y="43.307" z="33.5052" />
+ <vertex index="1659" x="57.6682" y="43.8296" z="32.9598" />
+ <vertex index="1660" x="57.8922" y="43.6079" z="32.9048" />
+ <vertex index="1661" x="58.0336" y="43.699" z="33.2378" />
+ <vertex index="1662" x="56.9284" y="44.9182" z="33.2011" />
+ <vertex index="1663" x="57.298" y="44.8595" z="32.9373" />
+ <vertex index="1664" x="57.8576" y="44.0313" z="33.186" />
+ <vertex index="1665" x="57.6851" y="44.5029" z="33.1587" />
+ <vertex index="1666" x="57.5209" y="44.6958" z="33.0686" />
+ <vertex index="1667" x="57.2624" y="44.4226" z="33.1205" />
+ <vertex index="1668" x="57.8796" y="44.774" z="33.4974" />
+ <vertex index="1669" x="57.0417" y="44.6513" z="33.2022" />
+ <vertex index="1670" x="56.8346" y="45.233" z="33.2682" />
+ <vertex index="1671" x="57.9264" y="44.3236" z="33.4233" />
+ <vertex index="1672" x="56.9031" y="44.8848" z="33.6661" />
+ <vertex index="1673" x="58.2306" y="43.0426" z="34.3019" />
+ <vertex index="1674" x="58.3131" y="42.9936" z="33.6003" />
+ <vertex index="1675" x="59.214" y="42.8932" z="34.3272" />
+ <vertex index="1676" x="57.7037" y="45.2595" z="34.8723" />
+ <vertex index="1677" x="58.0996" y="45.6321" z="35.6402" />
+ <vertex index="1678" x="58.5574" y="45.6927" z="34.961" />
+ <vertex index="1679" x="45.8744" y="39.8854" z="37.7401" />
+ <vertex index="1680" x="46.2723" y="39.6152" z="36.9406" />
+ <vertex index="1681" x="46.0133" y="39.2726" z="37.6166" />
+ <vertex index="1682" x="45.5769" y="39.3028" z="38.3523" />
+ <vertex index="1683" x="46.1329" y="40.4492" z="39.5257" />
+ <vertex index="1684" x="46.7608" y="40.4793" z="39.8986" />
+ <vertex index="1685" x="46.6906" y="40.8129" z="39.1087" />
+ <vertex index="1686" x="46.8573" y="40.0558" z="40.6021" />
+ <vertex index="1687" x="47.4521" y="40.1387" z="40.0908" />
+ <vertex index="1688" x="56.7939" y="44.2058" z="40.2263" />
+ <vertex index="1689" x="57.3467" y="44.6354" z="39.9856" />
+ <vertex index="1690" x="56.944" y="44.3412" z="39.5871" />
+ <vertex index="1691" x="59.0978" y="44.0604" z="40.4093" />
+ <vertex index="1692" x="59.2182" y="43.4207" z="40.9475" />
+ <vertex index="1693" x="59.4397" y="43.3567" z="40.1635" />
+ <vertex index="1694" x="44.1888" y="39.0463" z="43.2171" />
+ <vertex index="1695" x="44.3245" y="39.203" z="42.4443" />
+ <vertex index="1696" x="43.6838" y="38.9496" z="42.7615" />
+ <vertex index="1697" x="55.9203" y="41.7558" z="42.2895" />
+ <vertex index="1698" x="55.5131" y="42.1121" z="42.9693" />
+ <vertex index="1699" x="55.7748" y="42.5061" z="42.2261" />
+ <vertex index="1700" x="42.6916" y="38.6385" z="44.9078" />
+ <vertex index="1701" x="42.9918" y="38.4129" z="45.5183" />
+ <vertex index="1702" x="43.4688" y="38.5908" z="44.8336" />
+ <vertex index="1703" x="39.3433" y="37.3468" z="45.8217" />
+ <vertex index="1704" x="39.95" y="36.6988" z="45.366" />
+ <vertex index="1705" x="39.3853" y="36.4885" z="45.9975" />
+ <vertex index="1706" x="55.5309" y="40.4568" z="45.4081" />
+ <vertex index="1707" x="55.9826" y="40.1908" z="45.6063" />
+ <vertex index="1708" x="55.541" y="40.1578" z="46.0693" />
+ <vertex index="1709" x="54.9587" y="42.1806" z="47.9543" />
+ <vertex index="1710" x="55.4684" y="42.6008" z="47.3113" />
+ <vertex index="1711" x="54.9176" y="42.1571" z="47.037" />
+ <vertex index="1712" x="54.8196" y="39.8639" z="48.2352" />
+ <vertex index="1713" x="55.5004" y="39.4636" z="48.1252" />
+ <vertex index="1714" x="55.0589" y="39.3925" z="48.847" />
+ <vertex index="1715" x="58.8939" y="53.1429" z="6.63688" />
+ <vertex index="1716" x="58.6251" y="53.2832" z="7.35478" />
+ <vertex index="1717" x="58.9727" y="52.6187" z="7.21459" />
+ <vertex index="1718" x="56.6787" y="50.5004" z="7.47373" />
+ <vertex index="1719" x="56.9012" y="50.7033" z="6.65812" />
+ <vertex index="1720" x="57.3777" y="50.4214" z="7.17946" />
+ <vertex index="1721" x="58.4302" y="53.7056" z="6.82136" />
+ <vertex index="1722" x="56.2448" y="53.0915" z="8.27165" />
+ <vertex index="1723" x="55.7804" y="52.3812" z="8.08243" />
+ <vertex index="1724" x="55.8762" y="52.4577" z="8.89194" />
+ <vertex index="1725" x="55.7101" y="51.2811" z="8.25536" />
+ <vertex index="1726" x="56.6109" y="52.746" z="10.0835" />
+ <vertex index="1727" x="56.1247" y="52.268" z="10.4121" />
+ <vertex index="1728" x="56.5089" y="52.3831" z="10.9094" />
+ <vertex index="1729" x="56.3613" y="48.2016" z="13.9592" />
+ <vertex index="1730" x="55.8287" y="48.7029" z="13.6074" />
+ <vertex index="1731" x="57.0208" y="47.9806" z="14.3551" />
+ <vertex index="1732" x="56.7119" y="47.6969" z="15.1464" />
+ <vertex index="1733" x="56.3331" y="47.9393" z="14.6352" />
+ <vertex index="1734" x="57.4792" y="47.5266" z="16.4579" />
+ <vertex index="1735" x="57.125" y="47.513" z="15.7938" />
+ <vertex index="1736" x="57.749" y="47.9171" z="15.8227" />
+ <vertex index="1737" x="57.8637" y="49.4471" z="16.9342" />
+ <vertex index="1738" x="57.7713" y="49.9522" z="16.2754" />
+ <vertex index="1739" x="57.426" y="49.9684" z="16.8358" />
+ <vertex index="1740" x="57.2497" y="47.1543" z="17.1172" />
+ <vertex index="1741" x="57.7731" y="47.7093" z="17.1204" />
+ <vertex index="1742" x="57.5583" y="47.2578" z="17.8518" />
+ <vertex index="1743" x="56.038" y="43.8047" z="25.9235" />
+ <vertex index="1744" x="56.5302" y="44.1418" z="25.321" />
+ <vertex index="1745" x="56.7347" y="44.0291" z="26.1466" />
+ <vertex index="1746" x="56.334" y="46.7102" z="25.4064" />
+ <vertex index="1747" x="55.5449" y="46.6789" z="25.3369" />
+ <vertex index="1748" x="55.9168" y="46.5169" z="26.0924" />
+ <vertex index="1749" x="54.718" y="44.1795" z="28.0534" />
+ <vertex index="1750" x="54.0928" y="44.0054" z="28.5298" />
+ <vertex index="1751" x="53.8778" y="44.8125" z="28.8359" />
+ <vertex index="1752" x="54.4506" y="45.648" z="29.7953" />
+ <vertex index="1753" x="53.8291" y="45.6222" z="30.2428" />
+ <vertex index="1754" x="54.2028" y="46.1915" z="30.3041" />
+ <vertex index="1755" x="52.1205" y="41.9576" z="31.0942" />
+ <vertex index="1756" x="52.8537" y="41.8916" z="30.9164" />
+ <vertex index="1757" x="52.3142" y="42.554" z="32.3501" />
+ <vertex index="1758" x="52.7331" y="41.2091" z="32.4641" />
+ <vertex index="1759" x="52.255" y="41.4471" z="32.9788" />
+ <vertex index="1760" x="52.4587" y="41.8732" z="32.4602" />
+ <vertex index="1761" x="58.1459" y="43.2843" z="32.9683" />
+ <vertex index="1762" x="58.2504" y="42.9083" z="32.3471" />
+ <vertex index="1763" x="58.9377" y="43.1105" z="32.8208" />
+ <vertex index="1764" x="57.425" y="45.1071" z="32.863" />
+ <vertex index="1765" x="56.766" y="45.6969" z="33.1203" />
+ <vertex index="1766" x="52.7028" y="40.809" z="33.0776" />
+ <vertex index="1767" x="57.6653" y="45.0169" z="33.1136" />
+ <vertex index="1768" x="57.2952" y="43.9779" z="33.1304" />
+ <vertex index="1769" x="57.1553" y="44.1759" z="33.2691" />
+ <vertex index="1770" x="57.0712" y="43.9018" z="33.6768" />
+ <vertex index="1771" x="57.5431" y="44.2545" z="33.08" />
+ <vertex index="1772" x="57.7901" y="45.3176" z="33.5448" />
+ <vertex index="1773" x="58.3973" y="45.4154" z="37.0241" />
+ <vertex index="1774" x="57.7679" y="45.3219" z="36.7368" />
+ <vertex index="1775" x="57.7886" y="45.2156" z="37.4488" />
+ <vertex index="1776" x="57.6067" y="42.4398" z="38.1928" />
+ <vertex index="1777" x="58.1797" y="41.8965" z="38.7832" />
+ <vertex index="1778" x="57.3349" y="42.2699" z="38.9636" />
+ <vertex index="1779" x="48.1959" y="39.1933" z="39.4975" />
+ <vertex index="1780" x="48.4889" y="39.5924" z="38.9182" />
+ <vertex index="1781" x="48.0754" y="40.0531" z="39.4636" />
+ <vertex index="1782" x="57.0077" y="42.7222" z="39.2413" />
+ <vertex index="1783" x="56.9919" y="42.2001" z="39.6823" />
+ <vertex index="1784" x="56.6314" y="42.9431" z="39.8714" />
+ <vertex index="1785" x="47.869" y="39.5228" z="40.1759" />
+ <vertex index="1786" x="56.5704" y="42.1643" z="40.4646" />
+ <vertex index="1787" x="56.1135" y="42.1121" z="41.4015" />
+ <vertex index="1788" x="56.1842" y="42.9025" z="40.7668" />
+ <vertex index="1789" x="43.8488" y="37.3426" z="41.7164" />
+ <vertex index="1790" x="43.573" y="38.1435" z="41.7641" />
+ <vertex index="1791" x="44.1904" y="37.8326" z="41.0441" />
+ <vertex index="1792" x="56.4561" y="41.4503" z="41.8368" />
+ <vertex index="1793" x="43.0146" y="38.0809" z="42.4732" />
+ <vertex index="1794" x="43.2668" y="37.4465" z="42.2134" />
+ <vertex index="1795" x="42.6945" y="37.4665" z="42.7438" />
+ <vertex index="1796" x="42.6236" y="36.0268" z="45.4485" />
+ <vertex index="1797" x="43.1436" y="36.1086" z="44.7939" />
+ <vertex index="1798" x="43.4974" y="36.3604" z="45.3047" />
+ <vertex index="1799" x="40.8559" y="35.7166" z="46.787" />
+ <vertex index="1800" x="40.6725" y="35.7559" z="47.4163" />
+ <vertex index="1801" x="40.026" y="35.7" z="46.8469" />
+ <vertex index="1802" x="55.1934" y="47.2323" z="22.7078" />
+ <vertex index="1803" x="54.9382" y="46.9351" z="22.039" />
+ <vertex index="1804" x="54.9158" y="46.553" z="22.8577" />
+ <vertex index="1805" x="55.4305" y="44.4744" z="24.3314" />
+ <vertex index="1806" x="56.1386" y="44.1957" z="24.6478" />
+ <vertex index="1807" x="55.6919" y="44.0653" z="25.1912" />
+ <vertex index="1808" x="55.3029" y="42.5775" z="46.4428" />
+ <vertex index="1809" x="59.677" y="43.2988" z="34.9235" />
+ <vertex index="1810" x="59.2725" y="42.7502" z="35.1767" />
+ <vertex index="1811" x="58.6455" y="52.1075" z="4.04755" />
+ <vertex index="1812" x="58.96" y="52.5854" z="4.23749" />
+ <vertex index="1813" x="58.6808" y="52.0145" z="4.48911" />
+ <vertex index="1814" x="58.134" y="49.8691" z="15.5869" />
+ <vertex index="1815" x="58.1453" y="49.2634" z="16.1965" />
+ <vertex index="1816" x="48.0867" y="41.9763" z="32.5663" />
+ <vertex index="1817" x="48.4128" y="42.6138" z="32.4579" />
+ <vertex index="1818" x="48.4739" y="41.8956" z="31.9855" />
+ <vertex index="1819" x="56.1859" y="40.0358" z="46.1501" />
+ <vertex index="1820" x="48.8173" y="42.7727" z="34.2219" />
+ <vertex index="1821" x="48.0926" y="42.5115" z="34.0199" />
+ <vertex index="1822" x="48.3629" y="42.4407" z="34.8387" />
+ <vertex index="1823" x="55.8477" y="49.0234" z="19.1988" />
+ <vertex index="1824" x="56.4266" y="49.1721" z="19.2185" />
+ <vertex index="1825" x="56.0571" y="49.3018" z="18.7323" />
+ <vertex index="1826" x="56.1469" y="48.4042" z="20.9459" />
+ <vertex index="1827" x="56.7982" y="48.1636" z="21.285" />
+ <vertex index="1828" x="56.7642" y="48.5062" z="20.5194" />
+ <vertex index="1829" x="54.9049" y="44.389" z="27.3736" />
+ <vertex index="1830" x="55.033" y="43.8253" z="27.7898" />
+ <vertex index="1831" x="53.2707" y="41.6512" z="31.5319" />
+ <vertex index="1832" x="57.7942" y="43.529" z="36.1985" />
+ <vertex index="1833" x="57.9944" y="42.9696" z="35.7461" />
+ <vertex index="1834" x="57.8992" y="42.8128" z="36.5412" />
+ <vertex index="1835" x="58.7841" y="42.0492" z="40.2601" />
+ <vertex index="1836" x="58.853" y="42.2003" z="41.1782" />
+ <vertex index="1837" x="58.3504" y="41.6839" z="41.0331" />
+ <vertex index="1838" x="57.9646" y="41.404" z="41.8321" />
+ <vertex index="1839" x="58.5128" y="41.8743" z="41.6686" />
+ <vertex index="1840" x="58.4746" y="41.8155" z="42.3448" />
+ <vertex index="1841" x="55.9747" y="39.6681" z="47.455" />
+ <vertex index="1842" x="56.2728" y="39.5396" z="48.1615" />
+ <vertex index="1843" x="56.1649" y="48.9443" z="19.653" />
+ <vertex index="1844" x="56.4115" y="40.4187" z="33.6406" />
+ <vertex index="1845" x="56.6963" y="40.7051" z="32.9006" />
+ <vertex index="1846" x="57.0629" y="40.897" z="33.6096" />
+ <vertex index="1847" x="55.8481" y="53.5592" z="5.31507" />
+ <vertex index="1848" x="55.6752" y="53.3885" z="4.63435" />
+ <vertex index="1849" x="55.6838" y="52.8477" z="5.10064" />
+ <vertex index="1850" x="57.5408" y="54.4478" z="5.81989" />
+ <vertex index="1851" x="57.8577" y="54.6478" z="5.20046" />
+ <vertex index="1852" x="56.9104" y="54.5844" z="5.15357" />
+ <vertex index="1853" x="57.7952" y="53.9754" z="7.01738" />
+ <vertex index="1854" x="58.1825" y="53.6928" z="7.38501" />
+ <vertex index="1855" x="58.1756" y="52.8378" z="9.62897" />
+ <vertex index="1856" x="58.2184" y="53.1596" z="8.72687" />
+ <vertex index="1857" x="57.5438" y="53.2395" z="9.18404" />
+ <vertex index="1858" x="57.3881" y="52.9633" z="9.95862" />
+ <vertex index="1859" x="56.3028" y="50.5196" z="15.8326" />
+ <vertex index="1860" x="56.2458" y="50.2283" z="16.5637" />
+ <vertex index="1861" x="57.0589" y="50.4127" z="16.2822" />
+ <vertex index="1862" x="57.2968" y="48.042" z="20.6991" />
+ <vertex index="1863" x="57.2784" y="48.4618" z="19.9629" />
+ <vertex index="1864" x="56.6755" y="46.8227" z="24.682" />
+ <vertex index="1865" x="57.0229" y="46.2979" z="25.332" />
+ <vertex index="1866" x="57.2295" y="46.2541" z="24.5393" />
+ <vertex index="1867" x="56.9756" y="46.8652" z="23.9577" />
+ <vertex index="1868" x="55.5414" y="46.4979" z="31.0805" />
+ <vertex index="1869" x="55.4657" y="46.2915" z="30.4612" />
+ <vertex index="1870" x="56.8714" y="45.4878" z="33.7473" />
+ <vertex index="1871" x="53.3955" y="41.5476" z="39.9659" />
+ <vertex index="1872" x="52.776" y="41.0152" z="39.7622" />
+ <vertex index="1873" x="53.4676" y="40.5857" z="39.8152" />
+ <vertex index="1874" x="54.157" y="41.1142" z="39.9939" />
+ <vertex index="1875" x="45.6576" y="39.6392" z="41.6697" />
+ <vertex index="1876" x="45.5817" y="39.8749" z="40.907" />
+ <vertex index="1877" x="45.0206" y="39.5609" z="41.3116" />
+ <vertex index="1878" x="42.2528" y="38.5256" z="45.5952" />
+ <vertex index="1879" x="42.5224" y="38.2582" z="46.1861" />
+ <vertex index="1880" x="43.0182" y="36.5083" z="46.1926" />
+ <vertex index="1881" x="43.834" y="36.9822" z="45.7555" />
+ <vertex index="1882" x="43.3043" y="37.3232" z="46.2926" />
+ <vertex index="1883" x="42.7602" y="37.0716" z="46.7677" />
+ <vertex index="1884" x="56.9867" y="50.751" z="15.459" />
+ <vertex index="1885" x="56.1113" y="48.0464" z="21.8508" />
+ <vertex index="1886" x="51.9943" y="42.8455" z="31.8144" />
+ <vertex index="1887" x="51.549" y="43.1513" z="31.8445" />
+ <vertex index="1888" x="51.5464" y="42.7725" z="31.8668" />
+ <vertex index="1889" x="51.8247" y="42.5468" z="31.6658" />
+ <vertex index="1890" x="48.0011" y="42.3048" z="33.1863" />
+ <vertex index="1891" x="48.5025" y="42.9072" z="33.3696" />
+ <vertex index="1892" x="52.8037" y="40.5045" z="33.7726" />
+ <vertex index="1893" x="52.2685" y="41.105" z="33.6738" />
+ <vertex index="1894" x="49.5184" y="40.3362" z="34.3182" />
+ <vertex index="1895" x="49.489" y="40.4751" z="33.5801" />
+ <vertex index="1896" x="49.99" y="40.8355" z="33.971" />
+ <vertex index="1897" x="50.0806" y="42.0928" z="34.1001" />
+ <vertex index="1898" x="50.0408" y="41.3741" z="34.3732" />
+ <vertex index="1899" x="50.4233" y="41.4748" z="33.6201" />
+ <vertex index="1900" x="58.6894" y="42.5062" z="34.9031" />
+ <vertex index="1901" x="58.8489" y="42.4188" z="35.4617" />
+ <vertex index="1902" x="58.3047" y="42.5347" z="35.4156" />
+ <vertex index="1903" x="55.8931" y="45.6361" z="37.046" />
+ <vertex index="1904" x="55.1713" y="46.1417" z="36.8357" />
+ <vertex index="1905" x="55.2782" y="45.8506" z="37.6047" />
+ <vertex index="1906" x="41.2559" y="35.842" z="45.5608" />
+ <vertex index="1907" x="41.8897" y="35.9161" z="45.089" />
+ <vertex index="1908" x="41.879" y="35.8382" z="45.74" />
+ <vertex index="1909" x="41.4083" y="35.7589" z="46.2939" />
+ <vertex index="1910" x="55.7351" y="52.7" z="4.30564" />
+ <vertex index="1911" x="57.7863" y="43.4699" z="32.651" />
+ <vertex index="1912" x="57.3222" y="43.2429" z="32.7848" />
+ <vertex index="1913" x="57.592" y="43.3342" z="32.4485" />
+ <vertex index="1914" x="57.878" y="43.1643" z="32.3117" />
+ <vertex index="1915" x="54.5485" y="46.1831" z="37.4105" />
+ <vertex index="1916" x="57.1847" y="41.6618" z="40.2905" />
+ <vertex index="1917" x="57.6437" y="41.77" z="39.5435" />
+ <vertex index="1918" x="58.0239" y="41.6138" z="40.2711" />
+ <vertex index="1919" x="57.7814" y="48.2794" z="14.4086" />
+ <vertex index="1920" x="58.0167" y="48.4066" z="15.1736" />
+ <vertex index="1921" x="57.4416" y="47.8821" z="15.0993" />
+ <vertex index="1922" x="57.0888" y="45.4414" z="27.3051" />
+ <vertex index="1923" x="56.909" y="45.8457" z="26.7014" />
+ <vertex index="1924" x="56.5947" y="45.8909" z="27.3981" />
+ <vertex index="1925" x="57.4662" y="42.6907" z="33.0445" />
+ <vertex index="1926" x="57.2576" y="43.1824" z="33.2513" />
+ <vertex index="1927" x="42.152" y="36.0412" z="46.3187" />
+ <vertex index="1928" x="55.9595" y="53.9731" z="4.88626" />
+ <vertex index="1929" x="57.5319" y="48.4297" z="13.1925" />
+ <vertex index="1930" x="55.227" y="48.5414" z="16.2412" />
+ <vertex index="1931" x="55.6487" y="47.8056" z="16.1494" />
+ <vertex index="1932" x="55.2051" y="48.0135" z="16.8743" />
+ <vertex index="1933" x="51.6434" y="41.7434" z="30.608" />
+ <vertex index="1934" x="52.2865" y="41.8674" z="30.4362" />
+ <vertex index="1935" x="51.4263" y="42.4193" z="31.9082" />
+ <vertex index="1936" x="51.3424" y="41.9015" z="31.833" />
+ <vertex index="1937" x="51.7011" y="42.159" z="31.5033" />
+ <vertex index="1938" x="51.9153" y="43.3613" z="31.8578" />
+ <vertex index="1939" x="59.6659" y="43.5751" z="34.1643" />
+ <vertex index="1940" x="58.4183" y="42.23" z="36.9665" />
+ <vertex index="1941" x="58.4907" y="42.3716" z="36.0655" />
+ <vertex index="1942" x="59.1463" y="42.4466" z="36.6225" />
+ <vertex index="1943" x="44.3586" y="37.6819" z="45.2175" />
+ <vertex index="1944" x="44.868" y="38.0854" z="44.4924" />
+ <vertex index="1945" x="44.1973" y="38.371" z="44.7394" />
+ <vertex index="1946" x="41.7689" y="38.4232" z="46.2145" />
+ <vertex index="1947" x="41.988" y="38.0491" z="46.8201" />
+ <vertex index="1948" x="55.1089" y="47.8494" z="20.5032" />
+ <vertex index="1949" x="55.4915" y="48.0417" z="21.1789" />
+ <vertex index="1950" x="55.5867" y="48.4085" z="20.4193" />
+ <vertex index="1951" x="59.7557" y="44.269" z="37.559" />
+ <vertex index="1952" x="59.5133" y="44.3852" z="38.3619" />
+ <vertex index="1953" x="59.7931" y="43.7073" z="38.1724" />
+ <vertex index="1954" x="59.8759" y="43.5024" z="37.3868" />
+ <vertex index="1955" x="55.758" y="47.695" z="22.6418" />
+ <vertex index="1956" x="56.4531" y="47.73" z="22.6563" />
+ <vertex index="1957" x="44.9912" y="39.4043" z="42.0727" />
+ <vertex index="1958" x="54.9796" y="46.1262" z="30.0167" />
+ <vertex index="1959" x="55.1703" y="45.6469" z="29.4562" />
+ <vertex index="1960" x="56.3936" y="43.0093" z="46.0656" />
+ <vertex index="1961" x="56.6838" y="42.7878" z="46.7524" />
+ <vertex index="1962" x="57.0879" y="42.8398" z="46.0688" />
+ <vertex index="1963" x="55.5112" y="42.9082" z="39.8544" />
+ <vertex index="1964" x="54.8234" y="42.4836" z="40.2449" />
+ <vertex index="1965" x="55.3783" y="42.1084" z="39.9946" />
+ <vertex index="1966" x="57.1625" y="40.7616" z="49.0979" />
+ <vertex index="1967" x="56.5507" y="40.7467" z="49.096" />
+ <vertex index="1968" x="57.0273" y="40.065" z="48.9141" />
+ <vertex index="1969" x="56.3703" y="47.4629" z="15.873" />
+ <vertex index="1970" x="51.1446" y="41.9541" z="30.1386" />
+ <vertex index="1971" x="51.0026" y="41.6026" z="30.7856" />
+ <vertex index="1972" x="52.3094" y="40.7533" z="34.4762" />
+ <vertex index="1973" x="51.8217" y="41.4549" z="34.2591" />
+ <vertex index="1974" x="46.2925" y="39.8682" z="41.1523" />
+ <vertex index="1975" x="57.5873" y="43.446" z="44.0893" />
+ <vertex index="1976" x="56.8892" y="43.5747" z="44.2084" />
+ <vertex index="1977" x="57.2227" y="43.3248" z="44.7992" />
+ <vertex index="1978" x="56.5665" y="53.9088" z="6.65219" />
+ <vertex index="1979" x="56.0131" y="53.3304" z="6.68096" />
+ <vertex index="1980" x="56.4031" y="53.5176" z="7.39379" />
+ <vertex index="1981" x="55.9126" y="52.8667" z="7.40939" />
+ <vertex index="1982" x="58.4061" y="50.47" z="8.26707" />
+ <vertex index="1983" x="57.8201" y="50.0156" z="8.49182" />
+ <vertex index="1984" x="57.9183" y="50.3426" z="7.72651" />
+ <vertex index="1985" x="56.2197" y="46.6841" z="17.9392" />
+ <vertex index="1986" x="55.9943" y="46.4667" z="18.7081" />
+ <vertex index="1987" x="55.5033" y="47.0022" z="18.2677" />
+ <vertex index="1988" x="58.9407" y="43.4793" z="32.1209" />
+ <vertex index="1989" x="48.1975" y="41.948" z="36.2954" />
+ <vertex index="1990" x="48.6851" y="42.137" z="35.5973" />
+ <vertex index="1991" x="47.911" y="42.1391" z="35.466" />
+ <vertex index="1992" x="45.7462" y="40.0542" z="38.5155" />
+ <vertex index="1993" x="55.4619" y="41.4285" z="39.6764" />
+ <vertex index="1994" x="55.8599" y="42.1298" z="39.5011" />
+ <vertex index="1995" x="54.9534" y="47.1011" z="20.5205" />
+ <vertex index="1996" x="55.0216" y="47.4065" z="21.2546" />
+ <vertex index="1997" x="57.034" y="49.8379" z="8.89277" />
+ <vertex index="1998" x="56.4922" y="50.3038" z="8.31393" />
+ <vertex index="1999" x="57.207" y="50.1563" z="7.98586" />
+ <vertex index="2000" x="56.7833" y="41.5887" z="41.0662" />
+ <vertex index="2001" x="43.1959" y="37.9764" z="46.014" />
+ <vertex index="2002" x="56.1376" y="53.7519" z="5.99663" />
+ <vertex index="2003" x="58.655" y="52.5914" z="8.94182" />
+ <vertex index="2004" x="55.1278" y="48.7776" z="17.0166" />
+ <vertex index="2005" x="55.4991" y="49.4551" z="17.2089" />
+ <vertex index="2006" x="53.0156" y="40.2442" z="34.4448" />
+ <vertex index="2007" x="48.696" y="39.6132" z="37.6648" />
+ <vertex index="2008" x="48.6633" y="39.9246" z="38.3239" />
+ <vertex index="2009" x="48.4501" y="39.254" z="38.2994" />
+ <vertex index="2010" x="59.3307" y="42.6431" z="39.783" />
+ <vertex index="2011" x="59.5941" y="43.2964" z="39.3674" />
+ <vertex index="2012" x="44.4397" y="39.2133" z="41.6591" />
+ <vertex index="2013" x="43.903" y="38.8102" z="42.0278" />
+ <vertex index="2014" x="56.155" y="43.1909" z="45.3945" />
+ <vertex index="2015" x="55.6682" y="42.9613" z="45.2209" />
+ <vertex index="2016" x="55.7442" y="42.9137" z="45.8978" />
+ <vertex index="2017" x="58.7355" y="52.8188" z="8.08078" />
+ <vertex index="2018" x="59.0122" y="52.0702" z="7.80087" />
+ <vertex index="2019" x="57.8712" y="52.6442" z="10.5228" />
+ <vertex index="2020" x="57.6935" y="47.8289" z="20.0698" />
+ <vertex index="2021" x="56.6894" y="48.8806" z="19.8198" />
+ <vertex index="2022" x="54.8537" y="46.3535" z="23.6373" />
+ <vertex index="2023" x="54.8594" y="46.3008" z="24.3715" />
+ <vertex index="2024" x="55.0642" y="46.6991" z="24.0044" />
+ <vertex index="2025" x="55.1155" y="46.9106" z="23.4237" />
+ <vertex index="2026" x="59.1086" y="42.3183" z="37.4928" />
+ <vertex index="2027" x="46.0775" y="40.5042" z="38.0194" />
+ <vertex index="2028" x="43.42" y="38.5369" z="42.3914" />
+ <vertex index="2029" x="55.3823" y="41.7034" z="43.729" />
+ <vertex index="2030" x="55.2633" y="41.3255" z="44.5178" />
+ <vertex index="2031" x="55.1858" y="42.0986" z="44.5438" />
+ <vertex index="2032" x="49.0367" y="41.8777" z="31.4221" />
+ <vertex index="2033" x="49.5578" y="41.3126" z="31.4648" />
+ <vertex index="2034" x="48.9253" y="41.3422" z="31.9788" />
+ <vertex index="2035" x="56.8203" y="47.2359" z="16.4836" />
+ <vertex index="2036" x="55.4697" y="50.1818" z="12.138" />
+ <vertex index="2037" x="55.599" y="49.5381" z="12.3791" />
+ <vertex index="2038" x="55.3696" y="50.2" z="12.8455" />
+ <vertex index="2039" x="56.3793" y="53.6666" z="4.78298" />
+ <vertex index="2040" x="58.976" y="51.5194" z="8.45839" />
+ <vertex index="2041" x="58.8898" y="51.3643" z="7.62952" />
+ <vertex index="2042" x="56.2474" y="50.1574" z="9.11919" />
+ <vertex index="2043" x="58.6515" y="50.7343" z="12.5362" />
+ <vertex index="2044" x="58.6204" y="50.0077" z="13.0649" />
+ <vertex index="2045" x="58.6643" y="50.0466" z="12.3551" />
+ <vertex index="2046" x="55.5947" y="47.3584" z="23.3358" />
+ <vertex index="2047" x="54.0887" y="42.8768" z="40.2514" />
+ <vertex index="2048" x="54.7975" y="43.3481" z="40.153" />
+ <vertex index="2049" x="56.8834" y="40.5234" z="44.8548" />
+ <vertex index="2050" x="57.1507" y="40.7363" z="44.0819" />
+ <vertex index="2051" x="57.5744" y="40.9806" z="44.7248" />
+ <vertex index="2052" x="57.3186" y="40.7251" z="45.6023" />
+ <vertex index="2053" x="57.8239" y="44.3494" z="41.2018" />
+ <vertex index="2054" x="57.9254" y="44.5981" z="40.4566" />
+ <vertex index="2055" x="57.2647" y="44.4428" z="40.7463" />
+ <vertex index="2056" x="57.1612" y="44.212" z="41.4826" />
+ <vertex index="2057" x="56.9326" y="41.4172" z="49.2735" />
+ <vertex index="2058" x="47.6617" y="42.153" z="34.6176" />
+ <vertex index="2059" x="46.0869" y="40.1668" z="40.3272" />
+ <vertex index="2060" x="55.9971" y="47.8871" z="15.2819" />
+ <vertex index="2061" x="55.1535" y="46.1889" z="25.9706" />
+ <vertex index="2062" x="50.4439" y="42.3308" z="33.4662" />
+ <vertex index="2063" x="49.9512" y="42.6352" z="33.7644" />
+ <vertex index="2064" x="44.1598" y="38.6361" z="41.3013" />
+ <vertex index="2065" x="40.9572" y="38.4727" z="46.0883" />
+ <vertex index="2066" x="41.2286" y="38.3245" z="46.8549" />
+ <vertex index="2067" x="58.0978" y="43.034" z="35.004" />
+ <vertex index="2068" x="52.7737" y="40.2558" z="39.4224" />
+ <vertex index="2069" x="53.5083" y="39.8907" z="39.173" />
+ <vertex index="2070" x="59.2309" y="42.7047" z="40.6521" />
+ <vertex index="2071" x="43.9928" y="38.8363" z="44.0789" />
+ <vertex index="2072" x="56.5845" y="40.2721" z="45.5545" />
+ <vertex index="2073" x="52.0597" y="42.1583" z="32.8954" />
+ <vertex index="2074" x="56.689" y="48.6313" z="12.4299" />
+ <vertex index="2075" x="57.4818" y="48.6619" z="12.3932" />
+ <vertex index="2076" x="59.8389" y="44.0219" z="34.7505" />
+ <vertex index="2077" x="53.2405" y="40.6256" z="32.5663" />
+ <vertex index="2078" x="53.2836" y="41.0896" z="31.9898" />
+ <vertex index="2079" x="55.2902" y="43.7589" z="27.2594" />
+ <vertex index="2080" x="55.4766" y="43.3767" z="27.9241" />
+ <vertex index="2081" x="54.859" y="43.4597" z="28.373" />
+ <vertex index="2082" x="59.6518" y="43.8769" z="38.9219" />
+ <vertex index="2083" x="59.464" y="43.9469" z="39.6594" />
+ <vertex index="2084" x="54.8265" y="41.6267" z="40.0993" />
+ <vertex index="2085" x="51.9959" y="43.6989" z="31.8001" />
+ <vertex index="2086" x="50.0051" y="40.8571" z="32.5864" />
+ <vertex index="2087" x="49.5088" y="40.9152" z="32.1719" />
+ <vertex index="2088" x="50.301" y="41.1232" z="31.9442" />
+ <vertex index="2089" x="52.1611" y="40.6842" z="39.419" />
+ <vertex index="2090" x="56.619" y="49.4524" z="18.5833" />
+ <vertex index="2091" x="50.5276" y="43.459" z="35.9837" />
+ <vertex index="2092" x="50.4723" y="43.038" z="36.7146" />
+ <vertex index="2093" x="50.5384" y="43.8754" z="36.7518" />
+ <vertex index="2094" x="55.6931" y="48.7182" z="19.7485" />
+ <vertex index="2095" x="54.9349" y="45.1401" z="27.3758" />
+ <vertex index="2096" x="59.3999" y="44.6095" z="33.0095" />
+ <vertex index="2097" x="58.0451" y="43.934" z="33.6912" />
+ <vertex index="2098" x="53.255" y="40.2633" z="33.2022" />
+ <vertex index="2099" x="45.3342" y="36.8622" z="42.509" />
+ <vertex index="2100" x="45.5325" y="37.0875" z="43.0444" />
+ <vertex index="2101" x="45.0071" y="36.7298" z="43.1906" />
+ <vertex index="2102" x="56.0104" y="52.3721" z="9.71413" />
+ <vertex index="2103" x="56.9579" y="45.1641" z="23.1334" />
+ <vertex index="2104" x="57.2693" y="45.583" z="23.4523" />
+ <vertex index="2105" x="56.9621" y="44.9088" z="23.8535" />
+ <vertex index="2106" x="44.9424" y="37.2353" z="44.4814" />
+ <vertex index="2107" x="45.4828" y="37.8126" z="43.9676" />
+ <vertex index="2108" x="46.4366" y="39.2751" z="41.8842" />
+ <vertex index="2109" x="59.4202" y="42.7032" z="38.9244" />
+ <vertex index="2110" x="57.7547" y="42.3198" z="33.6664" />
+ <vertex index="2111" x="57.6136" y="41.4706" z="33.6057" />
+ <vertex index="2112" x="57.7014" y="41.9646" z="32.8947" />
+ <vertex index="2113" x="56.3803" y="52.0689" z="11.7548" />
+ <vertex index="2114" x="56.9599" y="52.3955" z="11.3387" />
+ <vertex index="2115" x="55.2648" y="46.7227" z="24.5942" />
+ <vertex index="2116" x="55.0076" y="46.2959" z="25.1044" />
+ <vertex index="2117" x="57.3751" y="41.747" z="32.2945" />
+ <vertex index="2118" x="57.448" y="42.3858" z="32.42" />
+ <vertex index="2119" x="56.9925" y="44.3923" z="33.5346" />
+ <vertex index="2120" x="55.3689" y="48.6167" z="19.1466" />
+ <vertex index="2121" x="53.6274" y="41.7024" z="30.886" />
+ <vertex index="2122" x="53.0916" y="41.8881" z="30.1688" />
+ <vertex index="2123" x="55.7182" y="39.8656" z="46.7454" />
+ <vertex index="2124" x="55.0599" y="40.23" z="46.7221" />
+ <vertex index="2125" x="57.0941" y="53.8963" z="7.22555" />
+ <vertex index="2126" x="57.9316" y="44.3625" z="34.0407" />
+ <vertex index="2127" x="46.9649" y="41.5236" z="36.6068" />
+ <vertex index="2128" x="47.4383" y="41.877" z="36.0975" />
+ <vertex index="2129" x="46.9384" y="41.5179" z="35.8938" />
+ <vertex index="2130" x="56.8386" y="40.2898" z="46.2636" />
+ <vertex index="2131" x="56.4226" y="39.9232" z="46.8437" />
+ <vertex index="2132" x="55.7082" y="52.5754" z="6.61041" />
+ <vertex index="2133" x="58.4259" y="43.1862" z="31.5413" />
+ <vertex index="2134" x="55.2191" y="39.8208" z="47.445" />
+ <vertex index="2135" x="56.7056" y="47.3448" z="23.3145" />
+ <vertex index="2136" x="57.2329" y="46.8593" z="23.2604" />
+ <vertex index="2137" x="57.4289" y="41.0013" z="43.2617" />
+ <vertex index="2138" x="57.3733" y="41.0827" z="42.4102" />
+ <vertex index="2139" x="57.983" y="41.3807" z="42.728" />
+ <vertex index="2140" x="57.8401" y="42.969" z="44.635" />
+ <vertex index="2141" x="58.0623" y="54.1323" z="6.34985" />
+ <vertex index="2142" x="58.103" y="45.7785" z="34.255" />
+ <vertex index="2143" x="58.4744" y="45.7845" z="33.565" />
+ <vertex index="2144" x="56.962" y="53.0915" z="9.4557" />
+ <vertex index="2145" x="57.64" y="44.9437" z="35.5999" />
+ <vertex index="2146" x="57.7383" y="44.2528" z="35.8414" />
+ <vertex index="2147" x="57.5638" y="44.7834" z="36.3227" />
+ <vertex index="2148" x="54.2485" y="40.2922" z="39.5336" />
+ <vertex index="2149" x="55.8789" y="39.2171" z="48.7469" />
+ <vertex index="2150" x="57.9607" y="42.8581" z="31.8088" />
+ <vertex index="2151" x="58.8336" y="42.3237" z="41.9566" />
+ <vertex index="2152" x="59.0807" y="42.8518" z="41.4723" />
+ <vertex index="2153" x="47.5523" y="39.1159" z="40.8062" />
+ <vertex index="2154" x="47.808" y="38.6132" z="40.081" />
+ <vertex index="2155" x="55.572" y="51.2293" z="10.9278" />
+ <vertex index="2156" x="55.707" y="51.7385" z="10.2137" />
+ <vertex index="2157" x="55.5652" y="50.9587" z="10.2337" />
+ <vertex index="2158" x="46.9724" y="39.1343" z="36.6198" />
+ <vertex index="2159" x="47.3856" y="39.3442" z="36.0112" />
+ <vertex index="2160" x="47.9098" y="39.1032" z="36.542" />
+ <vertex index="2161" x="54.0456" y="39.7189" z="35.3772" />
+ <vertex index="2162" x="54.5303" y="39.6778" z="34.54" />
+ <vertex index="2163" x="55.0301" y="39.738" z="35.2582" />
+ <vertex index="2164" x="51.9123" y="40.0533" z="36.7671" />
+ <vertex index="2165" x="51.8965" y="40.2093" z="35.9518" />
+ <vertex index="2166" x="52.5456" y="39.8266" z="36.2991" />
+ <vertex index="2167" x="53.3536" y="39.498" z="37.436" />
+ <vertex index="2168" x="52.5846" y="39.6914" z="37.0987" />
+ <vertex index="2169" x="53.2502" y="39.6137" z="36.6518" />
+ <vertex index="2170" x="53.477" y="39.5683" z="38.3154" />
+ <vertex index="2171" x="54.2987" y="39.8186" z="38.7194" />
+ <vertex index="2172" x="58.7556" y="50.962" z="8.13273" />
+ <vertex index="2173" x="58.4944" y="50.7687" z="7.58751" />
+ <vertex index="2174" x="55.0975" y="47.2615" z="19.0606" />
+ <vertex index="2175" x="55.0195" y="47.7249" z="18.3178" />
+ <vertex index="2176" x="59.1025" y="44.3933" z="32.1094" />
+ <vertex index="2177" x="57.4222" y="43.5495" z="32.8741" />
+ <vertex index="2178" x="56.2232" y="42.6823" z="47.4405" />
+ <vertex index="2179" x="56.9325" y="42.3584" z="47.3636" />
+ <vertex index="2180" x="54.6189" y="40.4396" z="47.553" />
+ <vertex index="2181" x="55.4118" y="48.3922" z="15.4481" />
+ <vertex index="2182" x="55.7164" y="48.4177" z="14.5403" />
+ <vertex index="2183" x="57.6416" y="45.3272" z="33.01" />
+ <vertex index="2184" x="57.4887" y="42.8962" z="45.3768" />
+ <vertex index="2185" x="57.2335" y="45.2034" z="26.5804" />
+ <vertex index="2186" x="56.7577" y="54.2338" z="5.93075" />
+ <vertex index="2187" x="57.5553" y="45.5308" z="32.7182" />
+ <vertex index="2188" x="44.6315" y="38.5809" z="44.1826" />
+ <vertex index="2189" x="56.7123" y="49.3896" z="10.3174" />
+ <vertex index="2190" x="56.5328" y="49.7304" z="9.66438" />
+ <vertex index="2191" x="57.2393" y="49.5267" z="9.71612" />
+ <vertex index="2192" x="47.6898" y="41.9116" z="33.8059" />
+ <vertex index="2193" x="48.8263" y="40.5139" z="33.2735" />
+ <vertex index="2194" x="48.8789" y="40.1762" z="33.9702" />
+ <vertex index="2195" x="56.6496" y="39.8987" z="47.5691" />
+ <vertex index="2196" x="57.0168" y="40.2986" z="47.0154" />
+ <vertex index="2197" x="57.1723" y="40.3668" z="47.7387" />
+ <vertex index="2198" x="50.5266" y="43.2962" z="32.6172" />
+ <vertex index="2199" x="50.9511" y="43.5957" z="32.0212" />
+ <vertex index="2200" x="55.3305" y="43.7004" z="39.8491" />
+ <vertex index="2201" x="54.8187" y="44.1874" z="39.9942" />
+ <vertex index="2202" x="55.7481" y="42.5325" z="48.1453" />
+ <vertex index="2203" x="49.7583" y="43.8514" z="31.2987" />
+ <vertex index="2204" x="49.1116" y="43.1771" z="31.3961" />
+ <vertex index="2205" x="55.5528" y="46.1784" z="26.7823" />
+ <vertex index="2206" x="55.9316" y="46.0661" z="27.4549" />
+ <vertex index="2207" x="56.2998" y="46.2451" z="26.7839" />
+ <vertex index="2208" x="53.8424" y="45.2957" z="29.5111" />
+ <vertex index="2209" x="56.1701" y="48.7401" z="20.2132" />
+ <vertex index="2210" x="42.5109" y="36.0447" z="44.6189" />
+ <vertex index="2211" x="41.8896" y="36.1489" z="44.4702" />
+ <vertex index="2212" x="54.9488" y="42.7503" z="28.9357" />
+ <vertex index="2213" x="55.5905" y="42.9756" z="28.611" />
+ <vertex index="2214" x="55.707" y="42.5277" z="29.2627" />
+ <vertex index="2215" x="56.0832" y="47.2589" z="16.6189" />
+ <vertex index="2216" x="58.3758" y="50.2227" z="9.00426" />
+ <vertex index="2217" x="58.7397" y="50.8244" z="8.78169" />
+ <vertex index="2218" x="55.6748" y="42.8607" z="43.0001" />
+ <vertex index="2219" x="56.0017" y="43.1821" z="42.3221" />
+ <vertex index="2220" x="54.968" y="40.2977" z="39.0724" />
+ <vertex index="2221" x="46.7739" y="39.722" z="36.123" />
+ <vertex index="2222" x="59.5923" y="42.872" z="38.0294" />
+ <vertex index="2223" x="58.9969" y="42.2506" z="38.3873" />
+ <vertex index="2224" x="56.5203" y="46.9342" z="17.1838" />
+ <vertex index="2225" x="57.6252" y="41.3404" z="46.8126" />
+ <vertex index="2226" x="57.4852" y="41.3822" z="47.4246" />
+ <vertex index="2227" x="57.4023" y="40.8338" z="47.2386" />
+ <vertex index="2228" x="58.217" y="52.1705" z="11.0597" />
+ <vertex index="2229" x="58.4766" y="52.2857" z="10.275" />
+ <vertex index="2230" x="46.989" y="39.5249" z="41.1316" />
+ <vertex index="2231" x="44.7511" y="38.8939" z="43.5905" />
+ <vertex index="2232" x="45.204" y="38.4719" z="43.832" />
+ <vertex index="2233" x="54.8233" y="45.8185" z="25.4646" />
+ <vertex index="2234" x="54.7854" y="45.4557" z="26.0394" />
+ <vertex index="2235" x="45.2069" y="37.028" z="41.185" />
+ <vertex index="2236" x="45.9244" y="37.1304" z="41.0367" />
+ <vertex index="2237" x="45.6422" y="36.9952" z="41.7861" />
+ <vertex index="2238" x="55.4583" y="40.8003" z="39.2938" />
+ <vertex index="2239" x="54.9031" y="40.8602" z="39.7124" />
+ <vertex index="2240" x="57.4221" y="46.7985" z="22.5816" />
+ <vertex index="2241" x="57.5228" y="46.7261" z="22.0087" />
+ <vertex index="2242" x="57.3612" y="47.2601" z="22.0567" />
+ <vertex index="2243" x="47.8564" y="41.6143" z="33.0728" />
+ <vertex index="2244" x="47.622" y="41.1476" z="33.6906" />
+ <vertex index="2245" x="56.6827" y="44.0487" z="40.9667" />
+ <vertex index="2246" x="55.7574" y="53.088" z="5.91642" />
+ <vertex index="2247" x="57.295" y="54.1636" z="6.51605" />
+ <vertex index="2248" x="45.628" y="39.277" z="42.4405" />
+ <vertex index="2249" x="48.7206" y="42.5537" z="31.6385" />
+ <vertex index="2250" x="48.3433" y="41.401" z="32.4951" />
+ <vertex index="2251" x="51.6033" y="41.1961" z="39.2233" />
+ <vertex index="2252" x="52.2536" y="41.4532" z="39.579" />
+ <vertex index="2253" x="51.7499" y="42.0634" z="39.3195" />
+ <vertex index="2254" x="45.2866" y="37.1322" z="43.6861" />
+ <vertex index="2255" x="50.4946" y="44.0149" z="31.6161" />
+ <vertex index="2256" x="50.6467" y="44.2478" z="30.8844" />
+ <vertex index="2257" x="57.2162" y="45.7155" z="25.9644" />
+ <vertex index="2258" x="57.3604" y="45.4652" z="25.1032" />
+ <vertex index="2259" x="57.4545" y="44.6919" z="37.0515" />
+ <vertex index="2260" x="42.6884" y="37.7048" z="46.622" />
+ <vertex index="2261" x="42.1065" y="37.3409" z="47.2777" />
+ <vertex index="2262" x="57.325" y="47.6618" z="21.4176" />
+ <vertex index="2263" x="55.4933" y="42.7834" z="44.5902" />
+ <vertex index="2264" x="55.2217" y="42.5147" z="45.4637" />
+ <vertex index="2265" x="50.9441" y="44.7525" z="36.761" />
+ <vertex index="2266" x="50.69" y="44.2559" z="36.0283" />
+ <vertex index="2267" x="57.3929" y="49.6754" z="17.4713" />
+ <vertex index="2268" x="57.8229" y="48.991" z="17.7103" />
+ <vertex index="2269" x="55.285" y="45.7466" z="27.4438" />
+ <vertex index="2270" x="56.5705" y="39.5675" z="48.8176" />
+ <vertex index="2271" x="56.1969" y="40.0343" z="48.9241" />
+ <vertex index="2272" x="55.9114" y="42.8754" z="46.6987" />
+ <vertex index="2273" x="49.5161" y="43.1833" z="30.7975" />
+ <vertex index="2274" x="49.1795" y="42.5304" z="30.9596" />
+ <vertex index="2275" x="51.4888" y="44.1456" z="33.3851" />
+ <vertex index="2276" x="51.992" y="44.0326" z="32.6237" />
+ <vertex index="2277" x="51.6554" y="43.3341" z="33.2021" />
+ <vertex index="2278" x="57.7539" y="45.3888" z="36.1345" />
+ <vertex index="2279" x="55.0564" y="40.626" z="46.0167" />
+ <vertex index="2280" x="51.1171" y="44.1083" z="31.5484" />
+ <vertex index="2281" x="57.2813" y="41.2828" z="32.9118" />
+ <vertex index="2282" x="58.8512" y="43.0195" z="42.2689" />
+ <vertex index="2283" x="58.7115" y="42.4125" z="42.7396" />
+ <vertex index="2284" x="56.8241" y="43.1868" z="45.4507" />
+ <vertex index="2285" x="57.3151" y="45.5406" z="24.2181" />
+ <vertex index="2286" x="50.7517" y="44.112" z="30.0705" />
+ <vertex index="2287" x="50.1274" y="43.5609" z="30.2721" />
+ <vertex index="2288" x="57.934" y="48.0548" z="17.9439" />
+ <vertex index="2289" x="55.7732" y="45.8561" z="29.9666" />
+ <vertex index="2290" x="56.0101" y="46.0588" z="30.699" />
+ <vertex index="2291" x="52.2529" y="42.784" z="39.4508" />
+ <vertex index="2292" x="52.5098" y="42.1206" z="39.6194" />
+ <vertex index="2293" x="56.2468" y="43.1387" z="28.2508" />
+ <vertex index="2294" x="56.3409" y="42.8993" z="29.0747" />
+ <vertex index="2295" x="56.9495" y="46.7967" z="17.8327" />
+ <vertex index="2296" x="55.0572" y="44.2309" z="26.6277" />
+ <vertex index="2297" x="55.6266" y="43.7075" z="26.6074" />
+ <vertex index="2298" x="57.3447" y="44.6179" z="28.0504" />
+ <vertex index="2299" x="57.385" y="43.9878" z="28.3884" />
+ <vertex index="2300" x="57.1487" y="44.0552" z="27.6108" />
+ <vertex index="2301" x="57.2321" y="44.7108" z="27.2352" />
+ <vertex index="2302" x="46.1996" y="40.4012" z="37.2693" />
+ <vertex index="2303" x="50.8218" y="41.8941" z="32.9493" />
+ <vertex index="2304" x="47.6498" y="41.7184" z="36.9188" />
+ <vertex index="2305" x="59.2823" y="44.4202" z="39.1159" />
+ <vertex index="2306" x="42.8937" y="38.7227" z="43.6833" />
+ <vertex index="2307" x="42.5372" y="38.4799" z="43.5024" />
+ <vertex index="2308" x="42.3588" y="38.5979" z="44.1899" />
+ <vertex index="2309" x="57.2988" y="46.7918" z="18.5308" />
+ <vertex index="2310" x="56.7179" y="43.6725" z="27.2801" />
+ <vertex index="2311" x="56.967" y="44.0523" z="26.8784" />
+ <vertex index="2312" x="55.4037" y="42.4816" z="43.7663" />
+ <vertex index="2313" x="56.1211" y="43.4656" z="43.0088" />
+ <vertex index="2314" x="48.4286" y="40.2065" z="38.828" />
+ <vertex index="2315" x="56.2801" y="41.22" z="42.525" />
+ <vertex index="2316" x="56.7968" y="41.1079" z="42.232" />
+ <vertex index="2317" x="47.3597" y="41.5016" z="34.3897" />
+ <vertex index="2318" x="41.484" y="38.1474" z="44.3914" />
+ <vertex index="2319" x="41.9092" y="38.5497" z="45.0024" />
+ <vertex index="2320" x="58.4658" y="49.8876" z="13.9252" />
+ <vertex index="2321" x="58.4055" y="49.2796" z="13.4291" />
+ <vertex index="2322" x="52.5651" y="40.0607" z="35.5564" />
+ <vertex index="2323" x="56.0393" y="50.0849" z="9.76813" />
+ <vertex index="2324" x="54.6754" y="41.5583" z="46.8111" />
+ <vertex index="2325" x="54.6634" y="41.7473" z="47.4576" />
+ <vertex index="2326" x="57.1671" y="45.2622" z="29.3255" />
+ <vertex index="2327" x="57.7054" y="44.7132" z="29.643" />
+ <vertex index="2328" x="57.4864" y="44.6547" z="28.832" />
+ <vertex index="2329" x="41.2062" y="36.1927" z="44.8106" />
+ <vertex index="2330" x="50.0661" y="40.7986" z="33.239" />
+ <vertex index="2331" x="57.0669" y="41.0432" z="34.9049" />
+ <vertex index="2332" x="56.8499" y="40.9842" z="35.6187" />
+ <vertex index="2333" x="56.5083" y="40.5242" z="35.0382" />
+ <vertex index="2334" x="58.1178" y="48.529" z="15.994" />
+ <vertex index="2335" x="57.9826" y="43.6921" z="34.4236" />
+ <vertex index="2336" x="57.8986" y="43.6551" z="35.3498" />
+ <vertex index="2337" x="54.187" y="43.1355" z="28.8106" />
+ <vertex index="2338" x="47.2191" y="41.7047" z="35.2213" />
+ <vertex index="2339" x="46.0827" y="40.5796" z="38.7784" />
+ <vertex index="2340" x="46.5377" y="40.9836" z="38.2827" />
+ <vertex index="2341" x="43.7764" y="36.3228" z="44.4681" />
+ <vertex index="2342" x="57.5902" y="44.1054" z="36.6693" />
+ <vertex index="2343" x="58.2648" y="49.1495" z="15.3764" />
+ <vertex index="2344" x="55.7546" y="52.2788" z="5.72621" />
+ <vertex index="2345" x="54.8559" y="45.8215" z="23.1894" />
+ <vertex index="2346" x="55.1258" y="46.8222" z="19.8113" />
+ <vertex index="2347" x="55.1607" y="46.3975" z="20.567" />
+ <vertex index="2348" x="57.9013" y="42.9737" z="31.1605" />
+ <vertex index="2349" x="57.5688" y="42.9645" z="30.4416" />
+ <vertex index="2350" x="58.1615" y="43.5324" z="30.7193" />
+ <vertex index="2351" x="47.3754" y="39.7015" z="40.6017" />
+ <vertex index="2352" x="43.7386" y="37.6531" z="45.7971" />
+ <vertex index="2353" x="51.1133" y="42.873" z="32.2153" />
+ <vertex index="2354" x="56.9534" y="44.0403" z="39.003" />
+ <vertex index="2355" x="56.683" y="43.7546" z="39.6668" />
+ <vertex index="2356" x="57.6986" y="48.2791" z="19.3449" />
+ <vertex index="2357" x="57.0492" y="47.3518" z="22.6835" />
+ <vertex index="2358" x="56.8103" y="45.7899" z="31.6458" />
+ <vertex index="2359" x="56.1888" y="46.1822" z="31.3986" />
+ <vertex index="2360" x="56.3599" y="46.1677" z="32.1842" />
+ <vertex index="2361" x="57.6515" y="45.076" z="38.206" />
+ <vertex index="2362" x="58.4885" y="45.2182" z="37.8818" />
+ <vertex index="2363" x="51.5729" y="41.0525" z="34.9304" />
+ <vertex index="2364" x="57.5757" y="52.4246" z="11.2675" />
+ <vertex index="2365" x="53.4082" y="40.0159" z="33.8351" />
+ <vertex index="2366" x="47.4158" y="38.3706" z="40.8576" />
+ <vertex index="2367" x="48.0445" y="39.4513" z="35.7113" />
+ <vertex index="2368" x="56.4291" y="43.5938" z="40.425" />
+ <vertex index="2369" x="57.3296" y="49.3506" z="18.2696" />
+ <vertex index="2370" x="57.7697" y="48.6564" z="18.5709" />
+ <vertex index="2371" x="57.6035" y="44.0236" z="29.2496" />
+ <vertex index="2372" x="45.8247" y="37.5739" z="43.2667" />
+ <vertex index="2373" x="57.1558" y="41.223" z="41.6998" />
+ <vertex index="2374" x="58.1721" y="43.0578" z="43.8555" />
+ <vertex index="2375" x="57.9326" y="43.5843" z="43.3262" />
+ <vertex index="2376" x="54.2701" y="39.6386" z="37.7161" />
+ <vertex index="2377" x="53.6852" y="39.8116" z="34.5219" />
+ <vertex index="2378" x="53.1927" y="39.9886" z="35.1209" />
+ <vertex index="2379" x="44.4012" y="36.5459" z="43.2512" />
+ <vertex index="2380" x="44.6479" y="36.65" z="42.6169" />
+ <vertex index="2381" x="56.3918" y="43.7082" z="42.3274" />
+ <vertex index="2382" x="48.2171" y="40.9481" z="33.1075" />
+ <vertex index="2383" x="44.9378" y="36.8321" z="41.9124" />
+ <vertex index="2384" x="56.2588" y="45.8729" z="28.0711" />
+ <vertex index="2385" x="57.9803" y="44.1345" z="30.0809" />
+ <vertex index="2386" x="58.007" y="44.8183" z="30.3985" />
+ <vertex index="2387" x="57.7011" y="44.1457" z="41.9704" />
+ <vertex index="2388" x="58.3789" y="44.0617" z="41.5724" />
+ <vertex index="2389" x="56.1988" y="43.487" z="41.8164" />
+ <vertex index="2390" x="57.7971" y="44.9825" z="34.1864" />
+ <vertex index="2391" x="51.1656" y="41.0288" z="38.578" />
+ <vertex index="2392" x="51.6947" y="40.4848" z="38.8541" />
+ <vertex index="2393" x="59.533" y="44.8007" z="36.8348" />
+ <vertex index="2394" x="59.8253" y="44.3485" z="36.0951" />
+ <vertex index="2395" x="59.4456" y="45.0334" z="35.9012" />
+ <vertex index="2396" x="56.2546" y="45.2877" z="21.8021" />
+ <vertex index="2397" x="55.5261" y="45.4502" z="21.9435" />
+ <vertex index="2398" x="55.8228" y="45.6011" z="21.1794" />
+ <vertex index="2399" x="57.4491" y="41.9083" z="47.1376" />
+ <vertex index="2400" x="56.9484" y="43.3323" z="39.1342" />
+ <vertex index="2401" x="57.5141" y="42.7988" z="31.9078" />
+ <vertex index="2402" x="57.3218" y="42.2225" z="31.8141" />
+ <vertex index="2403" x="55.9632" y="45.0316" z="22.58" />
+ <vertex index="2404" x="57.1793" y="48.9647" z="19.144" />
+ <vertex index="2405" x="53.3747" y="45.5557" z="30.8056" />
+ <vertex index="2406" x="53.2997" y="46.0844" z="31.3157" />
+ <vertex index="2407" x="53.6479" y="46.048" z="30.7036" />
+ <vertex index="2408" x="54.6579" y="41.8311" z="48.7715" />
+ <vertex index="2409" x="54.3419" y="41.4285" z="49.4043" />
+ <vertex index="2410" x="54.928" y="42.0341" z="49.5509" />
+ <vertex index="2411" x="39.0313" y="38.2412" z="47.0245" />
+ <vertex index="2412" x="39.3845" y="37.7816" z="47.0826" />
+ <vertex index="2413" x="39.4821" y="38.4876" z="47.4978" />
+ <vertex index="2414" x="57.1876" y="43.6267" z="33.2554" />
+ <vertex index="2415" x="51.506" y="41.694" z="31.227" />
+ <vertex index="2416" x="38.734" y="37.6034" z="46.4763" />
+ <vertex index="2417" x="47.1824" y="38.857" z="41.4818" />
+ <vertex index="2418" x="53.7446" y="46.3292" z="37.1724" />
+ <vertex index="2419" x="53.8846" y="46.0933" z="37.9689" />
+ <vertex index="2420" x="55.266" y="45.2846" z="22.8027" />
+ <vertex index="2421" x="57.1265" y="46.0221" z="20.9174" />
+ <vertex index="2422" x="56.5196" y="45.6015" z="21.0453" />
+ <vertex index="2423" x="56.6843" y="45.8877" z="20.2981" />
+ <vertex index="2424" x="55.8458" y="40.0521" z="35.1515" />
+ <vertex index="2425" x="56.1251" y="40.2075" z="34.3915" />
+ <vertex index="2426" x="56.5539" y="43.3596" z="44.8133" />
+ <vertex index="2427" x="52.9841" y="46.2889" z="36.906" />
+ <vertex index="2428" x="53.0646" y="46.1582" z="37.6898" />
+ <vertex index="2429" x="50.9956" y="44.372" z="34.8548" />
+ <vertex index="2430" x="50.8981" y="43.7188" z="34.602" />
+ <vertex index="2431" x="50.6922" y="43.8986" z="35.3258" />
+ <vertex index="2432" x="59.2841" y="45.2435" z="34.963" />
+ <vertex index="2433" x="59.7474" y="44.5428" z="35.2907" />
+ <vertex index="2434" x="59.6686" y="44.674" z="34.5068" />
+ <vertex index="2435" x="59.8838" y="43.7689" z="35.5654" />
+ <vertex index="2436" x="45.4765" y="39.7032" z="39.1331" />
+ <vertex index="2437" x="45.749" y="40.2133" z="39.1368" />
+ <vertex index="2438" x="53.2444" y="39.7601" z="35.8713" />
+ <vertex index="2439" x="53.9449" y="39.6729" z="36.2963" />
+ <vertex index="2440" x="59.6852" y="43.2835" z="38.6923" />
+ <vertex index="2441" x="48.0801" y="40.4465" z="33.8385" />
+ <vertex index="2442" x="54.6004" y="45.2689" z="28.9701" />
+ <vertex index="2443" x="56.4224" y="42.4582" z="29.7491" />
+ <vertex index="2444" x="55.8672" y="41.961" z="29.7723" />
+ <vertex index="2445" x="56.0158" y="42.9728" z="41.6016" />
+ <vertex index="2446" x="57.3873" y="46.2346" z="23.7674" />
+ <vertex index="2447" x="52.2818" y="42.1533" z="29.8185" />
+ <vertex index="2448" x="57.3723" y="44.8002" z="39.1137" />
+ <vertex index="2449" x="57.1667" y="44.3846" z="38.2837" />
+ <vertex index="2450" x="48.9511" y="43.2772" z="32.7333" />
+ <vertex index="2451" x="58.7469" y="43.8934" z="31.4048" />
+ <vertex index="2452" x="56.7849" y="40.6591" z="34.3146" />
+ <vertex index="2453" x="43.0369" y="38.5896" z="43.032" />
+ <vertex index="2454" x="58.8676" y="45.5929" z="34.2235" />
+ <vertex index="2455" x="56.2714" y="51.295" z="13.7235" />
+ <vertex index="2456" x="55.6971" y="50.9851" z="13.2035" />
+ <vertex index="2457" x="55.7533" y="50.7495" z="14.0894" />
+ <vertex index="2458" x="57.2656" y="44.9746" z="25.8384" />
+ <vertex index="2459" x="57.0146" y="45.6746" z="21.8145" />
+ <vertex index="2460" x="56.6797" y="45.1709" z="22.5202" />
+ <vertex index="2461" x="59.7488" y="44.2034" z="34.1403" />
+ <vertex index="2462" x="47.056" y="38.1054" z="41.5029" />
+ <vertex index="2463" x="58.3334" y="42.0844" z="37.8128" />
+ <vertex index="2464" x="59.9143" y="43.7727" z="36.2311" />
+ <vertex index="2465" x="41.4697" y="36.0429" z="47.0994" />
+ <vertex index="2466" x="53.0481" y="42.0778" z="39.7688" />
+ <vertex index="2467" x="52.8068" y="41.6377" z="39.7315" />
+ <vertex index="2468" x="53.875" y="39.593" z="36.9859" />
+ <vertex index="2469" x="39.4105" y="36.0256" z="46.4228" />
+ <vertex index="2470" x="39.1287" y="36.3566" z="46.3115" />
+ <vertex index="2471" x="50.7637" y="42.3853" z="38.0977" />
+ <vertex index="2472" x="50.5093" y="42.6416" z="37.4062" />
+ <vertex index="2473" x="50.7262" y="41.7841" z="37.4195" />
+ <vertex index="2474" x="55.7266" y="40.7285" z="49.1283" />
+ <vertex index="2475" x="56.8867" y="41.1538" z="32.2279" />
+ <vertex index="2476" x="51.3705" y="40.5797" z="36.457" />
+ <vertex index="2477" x="52.6074" y="43.8384" z="28.8414" />
+ <vertex index="2478" x="51.996" y="43.3942" z="29.0593" />
+ <vertex index="2479" x="51.8747" y="44.1427" z="29.165" />
+ <vertex index="2480" x="46.6968" y="40.3816" z="35.6708" />
+ <vertex index="2481" x="46.3745" y="40.3764" z="36.4643" />
+ <vertex index="2482" x="46.6348" y="41.0207" z="36.1491" />
+ <vertex index="2483" x="56.9994" y="44.4247" z="25.7696" />
+ <vertex index="2484" x="57.0716" y="44.677" z="25.1839" />
+ <vertex index="2485" x="52.5022" y="44.5968" z="29.1773" />
+ <vertex index="2486" x="53.2534" y="44.3233" z="28.7815" />
+ <vertex index="2487" x="55.0177" y="47.5473" z="19.7835" />
+ <vertex index="2488" x="55.099" y="42.2207" z="29.5182" />
+ <vertex index="2489" x="39.344" y="37.052" z="46.7514" />
+ <vertex index="2490" x="57.7849" y="41.2248" z="43.9671" />
+ <vertex index="2491" x="55.7913" y="45.4276" z="37.7632" />
+ <vertex index="2492" x="55.9453" y="51.9185" z="11.0138" />
+ <vertex index="2493" x="57.9385" y="52.0591" z="11.8307" />
+ <vertex index="2494" x="58.3239" y="51.5194" z="12.2482" />
+ <vertex index="2495" x="58.4272" y="51.7299" z="11.5319" />
+ <vertex index="2496" x="51.2793" y="44.9072" z="34.4567" />
+ <vertex index="2497" x="51.1632" y="44.9466" z="35.1792" />
+ <vertex index="2498" x="52.6646" y="39.6499" z="37.9358" />
+ <vertex index="2499" x="58.3845" y="41.8339" z="43.102" />
+ <vertex index="2500" x="56.6745" y="46.3034" z="26.0765" />
+ <vertex index="2501" x="51.2423" y="41.7688" z="34.7368" />
+ <vertex index="2502" x="51.4943" y="42.1473" z="34.0616" />
+ <vertex index="2503" x="57.4198" y="46.207" z="23.0245" />
+ <vertex index="2504" x="44.6047" y="39.1262" z="40.8999" />
+ <vertex index="2505" x="50.6697" y="43.0654" z="35.1336" />
+ <vertex index="2506" x="54.9718" y="46.0352" z="22.1737" />
+ <vertex index="2507" x="42.123" y="37.5228" z="43.2864" />
+ <vertex index="2508" x="42.5122" y="36.8963" z="43.2129" />
+ <vertex index="2509" x="50.7883" y="44.2272" z="37.5576" />
+ <vertex index="2510" x="50.8481" y="43.6386" z="38.1682" />
+ <vertex index="2511" x="51.3347" y="44.4258" z="38.3651" />
+ <vertex index="2512" x="44.8215" y="37.4412" z="40.7068" />
+ <vertex index="2513" x="44.6422" y="37.9434" z="40.414" />
+ <vertex index="2514" x="57.7678" y="42.63" z="37.3736" />
+ <vertex index="2515" x="58.3176" y="43.7266" z="42.4243" />
+ <vertex index="2516" x="59.8847" y="44.0276" z="36.7928" />
+ <vertex index="2517" x="54.5027" y="41.5434" z="48.0514" />
+ <vertex index="2518" x="54.3555" y="41.1576" z="48.6692" />
+ <vertex index="2519" x="55.6909" y="52.1193" z="7.34514" />
+ <vertex index="2520" x="55.75" y="51.4206" z="11.7072" />
+ <vertex index="2521" x="51.1472" y="42.276" z="38.7458" />
+ <vertex index="2522" x="51.2449" y="41.6421" z="38.8841" />
+ <vertex index="2523" x="54.052" y="43.8012" z="40.1957" />
+ <vertex index="2524" x="54.0882" y="44.6451" z="39.8647" />
+ <vertex index="2525" x="53.2674" y="44.1452" z="39.792" />
+ <vertex index="2526" x="57.4276" y="49.3017" z="10.4002" />
+ <vertex index="2527" x="55.5896" y="46.22" z="19.952" />
+ <vertex index="2528" x="55.5005" y="46.6403" z="19.1736" />
+ <vertex index="2529" x="40.4712" y="38.4386" z="46.833" />
+ <vertex index="2530" x="57.8059" y="49.789" z="9.27032" />
+ <vertex index="2531" x="58.7153" y="50.3836" z="11.7444" />
+ <vertex index="2532" x="58.5316" y="49.6896" z="11.8696" />
+ <vertex index="2533" x="47.3864" y="41.1338" z="38.5101" />
+ <vertex index="2534" x="51.2135" y="43.5714" z="33.913" />
+ <vertex index="2535" x="47.4119" y="40.7594" z="34.3196" />
+ <vertex index="2536" x="42.2684" y="36.5535" z="46.9497" />
+ <vertex index="2537" x="41.6593" y="36.6978" z="47.5986" />
+ <vertex index="2538" x="52.7626" y="43.0624" z="29.0272" />
+ <vertex index="2539" x="52.125" y="42.6838" z="29.3174" />
+ <vertex index="2540" x="56.3767" y="40.5353" z="44.2831" />
+ <vertex index="2541" x="56.623" y="40.7447" z="43.5193" />
+ <vertex index="2542" x="39.7265" y="38.4024" z="46.8791" />
+ <vertex index="2543" x="57.0975" y="51.611" z="3.81734" />
+ <vertex index="2544" x="56.5847" y="51.6129" z="4.62198" />
+ <vertex index="2545" x="56.1876" y="52.0868" z="4.0377" />
+ <vertex index="2546" x="43.4738" y="38.8989" z="43.5029" />
+ <vertex index="2547" x="52.9257" y="42.6796" z="39.7173" />
+ <vertex index="2548" x="56.0331" y="45.7904" z="20.4667" />
+ <vertex index="2549" x="49.2166" y="40.5048" z="36.4717" />
+ <vertex index="2550" x="48.9236" y="40.8676" z="37.1156" />
+ <vertex index="2551" x="49.0036" y="40.0583" z="37.0865" />
+ <vertex index="2552" x="41.1526" y="38.4118" z="45.2417" />
+ <vertex index="2553" x="57.1512" y="44.5328" z="26.4049" />
+ <vertex index="2554" x="53.555" y="42.7568" z="29.1352" />
+ <vertex index="2555" x="53.4042" y="43.5076" z="28.8134" />
+ <vertex index="2556" x="51.0004" y="42.4904" z="34.5454" />
+ <vertex index="2557" x="58.0888" y="51.7594" z="3.85565" />
+ <vertex index="2558" x="57.8622" y="52.2543" z="4.13336" />
+ <vertex index="2559" x="46.7947" y="38.5262" z="42.1736" />
+ <vertex index="2560" x="57.7966" y="45.3918" z="30.7691" />
+ <vertex index="2561" x="57.4976" y="45.2435" z="30.1002" />
+ <vertex index="2562" x="57.1747" y="45.6478" z="30.5324" />
+ <vertex index="2563" x="57.2032" y="52.2076" z="11.9531" />
+ <vertex index="2564" x="57.5905" y="51.8473" z="12.7134" />
+ <vertex index="2565" x="52.3723" y="46.0154" z="37.2958" />
+ <vertex index="2566" x="57.2352" y="42.9182" z="38.6253" />
+ <vertex index="2567" x="56.83" y="50.0776" z="17.0701" />
+ <vertex index="2568" x="57.3559" y="44.0049" z="37.5584" />
+ <vertex index="2569" x="51.4634" y="44.4795" z="31.0493" />
+ <vertex index="2570" x="55.3797" y="45.4826" z="38.2917" />
+ <vertex index="2571" x="53.7349" y="42.1754" z="29.6722" />
+ <vertex index="2572" x="54.3359" y="42.4886" z="29.3024" />
+ <vertex index="2573" x="54.523" y="42.0169" z="29.8823" />
+ <vertex index="2574" x="54.863" y="44.9239" z="39.5078" />
+ <vertex index="2575" x="43.1527" y="36.1879" z="44.1087" />
+ <vertex index="2576" x="48.6296" y="39.547" z="36.1479" />
+ <vertex index="2577" x="55.2225" y="41.6491" z="30.0173" />
+ <vertex index="2578" x="55.9635" y="41.4854" z="30.4171" />
+ <vertex index="2579" x="55.2895" y="41.1277" z="30.683" />
+ <vertex index="2580" x="57.3071" y="42.9302" z="32.4762" />
+ <vertex index="2581" x="53.8773" y="40.5522" z="32.1573" />
+ <vertex index="2582" x="54.6821" y="40.8683" z="46.74" />
+ <vertex index="2583" x="42.3535" y="36.3854" z="43.8804" />
+ <vertex index="2584" x="41.8931" y="36.9809" z="43.689" />
+ <vertex index="2585" x="51.1656" y="44.2717" z="34.1246" />
+ <vertex index="2586" x="59.2688" y="44.8657" z="37.7498" />
+ <vertex index="2587" x="50.1695" y="42.9637" z="33.2315" />
+ <vertex index="2588" x="54.4827" y="39.9468" z="49.0062" />
+ <vertex index="2589" x="55.3526" y="39.9848" z="48.9491" />
+ <vertex index="2590" x="58.4774" y="52.7498" z="4.35575" />
+ <vertex index="2591" x="56.328" y="50.8179" z="15.1188" />
+ <vertex index="2592" x="57.1456" y="52.664" z="10.711" />
+ <vertex index="2593" x="56.8605" y="39.9466" z="48.2854" />
+ <vertex index="2594" x="55.1168" y="39.9488" z="37.4338" />
+ <vertex index="2595" x="55.7779" y="40.2896" z="37.1883" />
+ <vertex index="2596" x="55.7095" y="40.3052" z="37.9132" />
+ <vertex index="2597" x="57.1627" y="43.6389" z="38.4043" />
+ <vertex index="2598" x="55.2763" y="45.9701" z="21.2908" />
+ <vertex index="2599" x="51.1618" y="42.2225" z="32.3814" />
+ <vertex index="2600" x="57.2178" y="41.251" z="48.6089" />
+ <vertex index="2601" x="47.2946" y="38.688" z="37.2342" />
+ <vertex index="2602" x="56.1171" y="49.9197" z="17.258" />
+ <vertex index="2603" x="52.2069" y="44.0959" z="31.8007" />
+ <vertex index="2604" x="50.6592" y="42.6827" z="29.8252" />
+ <vertex index="2605" x="49.8132" y="42.6141" z="30.3875" />
+ <vertex index="2606" x="45.1703" y="38.9605" z="39.2862" />
+ <vertex index="2607" x="44.1986" y="36.7949" z="42.0703" />
+ <vertex index="2608" x="51.4402" y="43.6792" z="29.2941" />
+ <vertex index="2609" x="51.3877" y="43.0531" z="29.3734" />
+ <vertex index="2610" x="49.8211" y="40.7856" z="34.5929" />
+ <vertex index="2611" x="46.1395" y="38.7631" z="42.6938" />
+ <vertex index="2612" x="58.9892" y="51.8506" z="7.00515" />
+ <vertex index="2613" x="50.5172" y="43.4083" z="37.4453" />
+ <vertex index="2614" x="55.2125" y="49.0213" z="15.7077" />
+ <vertex index="2615" x="55.2396" y="48.2315" z="19.785" />
+ <vertex index="2616" x="48.0401" y="40.6723" z="38.857" />
+ <vertex index="2617" x="56.5519" y="42.3364" z="48.1195" />
+ <vertex index="2618" x="57.8025" y="44.4522" z="34.9017" />
+ <vertex index="2619" x="39.9462" y="36.0493" z="45.9896" />
+ <vertex index="2620" x="55.7743" y="50.338" z="15.3314" />
+ <vertex index="2621" x="55.3665" y="49.6906" z="15.5175" />
+ <vertex index="2622" x="57.0437" y="52.5039" z="4.25088" />
+ <vertex index="2623" x="57.7757" y="52.986" z="4.46661" />
+ <vertex index="2624" x="57.0659" y="53.3091" z="4.61702" />
+ <vertex index="2625" x="44.4948" y="37.1494" z="41.3911" />
+ <vertex index="2626" x="44.5725" y="36.6254" z="43.9818" />
+ <vertex index="2627" x="53.9574" y="41.0537" z="31.4889" />
+ <vertex index="2628" x="51.6787" y="45.4134" z="34.1222" />
+ <vertex index="2629" x="51.4907" y="44.8517" z="33.6929" />
+ <vertex index="2630" x="57.6285" y="43.3728" z="37.0337" />
+ <vertex index="2631" x="57.5816" y="51.4635" z="13.5703" />
+ <vertex index="2632" x="56.8834" y="51.6679" z="13.3303" />
+ <vertex index="2633" x="56.9286" y="51.3644" z="14.0444" />
+ <vertex index="2634" x="51.8287" y="44.7654" z="32.9425" />
+ <vertex index="2635" x="51.9667" y="39.9611" z="37.586" />
+ <vertex index="2636" x="58.8093" y="50.7386" z="10.9584" />
+ <vertex index="2637" x="58.5962" y="49.9707" z="11.1099" />
+ <vertex index="2638" x="58.6318" y="50.3023" z="10.3317" />
+ <vertex index="2639" x="58.1717" y="49.5767" z="10.5364" />
+ <vertex index="2640" x="58.5115" y="43.0999" z="43.0691" />
+ <vertex index="2641" x="55.5421" y="49.0454" z="18.5751" />
+ <vertex index="2642" x="57.0208" y="41.6289" z="31.6288" />
+ <vertex index="2643" x="56.4504" y="41.1264" z="31.5528" />
+ <vertex index="2644" x="43.6852" y="38.1545" z="45.3875" />
+ <vertex index="2645" x="58.9538" y="44.8364" z="38.5628" />
+ <vertex index="2646" x="58.9743" y="45.2001" z="37.2059" />
+ <vertex index="2647" x="58.6819" y="52.34" z="9.5808" />
+ <vertex index="2648" x="44.2468" y="36.7906" z="44.9165" />
+ <vertex index="2649" x="58.7088" y="51.1425" z="11.6481" />
+ <vertex index="2650" x="56.2564" y="50.994" z="6.9937" />
+ <vertex index="2651" x="55.0261" y="46.6765" z="34.0787" />
+ <vertex index="2652" x="55.0763" y="46.7546" z="33.2102" />
+ <vertex index="2653" x="54.4146" y="46.7356" z="33.6043" />
+ <vertex index="2654" x="58.1798" y="51.2619" z="13.0829" />
+ <vertex index="2655" x="48.2052" y="39.743" z="34.9789" />
+ <vertex index="2656" x="48.7593" y="39.8053" z="35.4142" />
+ <vertex index="2657" x="56.7068" y="51.9075" z="12.5959" />
+ <vertex index="2658" x="51.2958" y="44.9468" z="37.5928" />
+ <vertex index="2659" x="55.3385" y="47.6349" z="21.9616" />
+ <vertex index="2660" x="57.2329" y="40.5381" z="48.4513" />
+ <vertex index="2661" x="53.5256" y="46.4663" z="32.025" />
+ <vertex index="2662" x="52.7708" y="45.9506" z="32.0974" />
+ <vertex index="2663" x="54.6852" y="45.8942" z="38.1703" />
+ <vertex index="2664" x="54.8107" y="45.4774" z="38.8744" />
+ <vertex index="2665" x="58.8773" y="51.0563" z="10.1453" />
+ <vertex index="2666" x="58.7403" y="51.6122" z="10.8126" />
+ <vertex index="2667" x="56.3194" y="51.0513" z="14.4249" />
+ <vertex index="2668" x="57.5894" y="41.3791" z="41.0037" />
+ <vertex index="2669" x="58.2219" y="45.0546" z="38.8264" />
+ <vertex index="2670" x="56.6651" y="45.8014" z="30.9661" />
+ <vertex index="2671" x="56.522" y="45.7534" z="30.2812" />
+ <vertex index="2672" x="58.9395" y="51.2899" z="9.32568" />
+ <vertex index="2673" x="58.7054" y="50.5917" z="9.54813" />
+ <vertex index="2674" x="57.2184" y="45.6139" z="22.7016" />
+ <vertex index="2675" x="57.9135" y="48.0027" z="16.4583" />
+ <vertex index="2676" x="55.8087" y="43.5919" z="39.3724" />
+ <vertex index="2677" x="55.4796" y="44.3216" z="39.4894" />
+ <vertex index="2678" x="59.8769" y="43.3751" z="36.6466" />
+ <vertex index="2679" x="50.9682" y="41.6856" z="38.2665" />
+ <vertex index="2680" x="56.0262" y="41.1888" z="30.9958" />
+ <vertex index="2681" x="56.5718" y="41.5253" z="30.9695" />
+ <vertex index="2682" x="57.1918" y="43.7368" z="43.5174" />
+ <vertex index="2683" x="56.5047" y="43.6167" z="43.6461" />
+ <vertex index="2684" x="57.8934" y="47.9713" z="18.7833" />
+ <vertex index="2685" x="55.8771" y="43.1646" z="43.8561" />
+ <vertex index="2686" x="55.6476" y="46.6013" z="31.8632" />
+ <vertex index="2687" x="55.7609" y="46.6251" z="32.6994" />
+ <vertex index="2688" x="59.0798" y="53.2769" z="4.56787" />
+ <vertex index="2689" x="52.2779" y="44.6548" z="32.2301" />
+ <vertex index="2690" x="52.2335" y="45.352" z="32.5408" />
+ <vertex index="2691" x="43.8351" y="36.3622" z="43.6573" />
+ <vertex index="2692" x="50.6418" y="43.0147" z="37.9658" />
+ <vertex index="2693" x="52.0432" y="39.9284" z="38.4056" />
+ <vertex index="2694" x="58.0319" y="44.8372" z="39.6694" />
+ <vertex index="2695" x="58.484" y="42.426" z="43.5113" />
+ <vertex index="2696" x="55.1047" y="48.4772" z="18.438" />
+ <vertex index="2697" x="40.6619" y="35.7578" z="46.1379" />
+ <vertex index="2698" x="59.6205" y="42.8447" z="37.0835" />
+ <vertex index="2699" x="48.8354" y="40.3683" z="37.7695" />
+ <vertex index="2700" x="56.2784" y="51.5425" z="13.0909" />
+ <vertex index="2701" x="41.5877" y="37.5988" z="43.8312" />
+ <vertex index="2702" x="42.061" y="38.1012" z="43.6845" />
+ <vertex index="2703" x="48.273" y="39.0298" z="38.8732" />
+ <vertex index="2704" x="49.3895" y="43.091" z="33.5931" />
+ <vertex index="2705" x="51.0021" y="41.0283" z="37.7683" />
+ <vertex index="2706" x="52.7512" y="43.4165" z="39.5814" />
+ <vertex index="2707" x="54.8714" y="40.7021" z="49.1598" />
+ <vertex index="2708" x="56.4796" y="41.1534" z="37.8333" />
+ <vertex index="2709" x="56.4525" y="41.5681" z="38.3191" />
+ <vertex index="2710" x="56.154" y="40.8699" z="38.2591" />
+ <vertex index="2711" x="55.9539" y="40.2955" z="32.9062" />
+ <vertex index="2712" x="55.0112" y="46.778" z="32.366" />
+ <vertex index="2713" x="55.5382" y="50.6041" z="10.7603" />
+ <vertex index="2714" x="56.3431" y="54.3367" z="5.07371" />
+ <vertex index="2715" x="56.322" y="52.9214" z="4.44425" />
+ <vertex index="2716" x="56.127" y="42.2655" z="48.8498" />
+ <vertex index="2717" x="55.3356" y="42.3018" z="48.8503" />
+ <vertex index="2718" x="55.7477" y="42.2163" z="49.5435" />
+ <vertex index="2719" x="43.8579" y="36.5653" z="42.8152" />
+ <vertex index="2720" x="58.1727" y="43.4453" z="33.7149" />
+ <vertex index="2721" x="51.7158" y="44.1005" z="31.5259" />
+ <vertex index="2722" x="58.2918" y="49.0228" z="14.3936" />
+ <vertex index="2723" x="55.2932" y="39.9805" z="36.6628" />
+ <vertex index="2724" x="57.2585" y="42.4423" z="35.6109" />
+ <vertex index="2725" x="57.098" y="43.3257" z="35.3401" />
+ <vertex index="2726" x="56.9852" y="43.1449" z="36.192" />
+ <vertex index="2727" x="59.0533" y="45.2961" z="33.4506" />
+ <vertex index="2728" x="46.5234" y="38.9468" z="37.3261" />
+ <vertex index="2729" x="56.795" y="41.8775" z="48.7496" />
+ <vertex index="2730" x="56.4555" y="41.8996" z="49.4358" />
+ <vertex index="2731" x="40.1046" y="38.3363" z="46.2292" />
+ <vertex index="2732" x="40.7132" y="37.8944" z="44.8886" />
+ <vertex index="2733" x="41.0325" y="37.4948" z="44.3199" />
+ <vertex index="2734" x="40.4528" y="37.1834" z="44.7889" />
+ <vertex index="2735" x="48.1031" y="41.0318" z="38.2711" />
+ <vertex index="2736" x="57.4939" y="43.9623" z="42.7675" />
+ <vertex index="2737" x="50.7947" y="42.647" z="32.8729" />
+ <vertex index="2738" x="51.9192" y="45.3985" z="33.3647" />
+ <vertex index="2739" x="52.4217" y="45.9616" z="33.0942" />
+ <vertex index="2740" x="56.9564" y="51.0691" z="14.7377" />
+ <vertex index="2741" x="57.4482" y="43.1621" z="37.8616" />
+ <vertex index="2742" x="46.0017" y="37.3175" z="42.4646" />
+ <vertex index="2743" x="46.3098" y="37.2628" z="41.6245" />
+ <vertex index="2744" x="56.7585" y="43.8178" z="42.9275" />
+ <vertex index="2745" x="56.9954" y="44.0229" z="42.2061" />
+ <vertex index="2746" x="40.7364" y="37.6905" z="48.3026" />
+ <vertex index="2747" x="40.6822" y="38.2125" z="47.5079" />
+ <vertex index="2748" x="40.1507" y="38.2723" z="47.9965" />
+ <vertex index="2749" x="49.6854" y="41.8983" z="34.7143" />
+ <vertex index="2750" x="53.2402" y="45.2345" z="30.0761" />
+ <vertex index="2751" x="52.7411" y="45.0174" z="30.7885" />
+ <vertex index="2752" x="57.8377" y="49.5551" z="9.90263" />
+ <vertex index="2753" x="42.5322" y="38.071" z="43.0845" />
+ <vertex index="2754" x="58.1887" y="51.4554" z="4.78041" />
+ <vertex index="2755" x="57.4095" y="51.3423" z="4.54202" />
+ <vertex index="2756" x="57.629" y="47.3914" z="20.7814" />
+ <vertex index="2757" x="57.3712" y="40.7556" z="46.4974" />
+ <vertex index="2758" x="51.4149" y="40.3609" z="38.0883" />
+ <vertex index="2759" x="58.3824" y="54.1788" z="5.6377" />
+ <vertex index="2760" x="58.7126" y="54.0848" z="4.93979" />
+ <vertex index="2761" x="49.4619" y="40.6899" z="32.8884" />
+ <vertex index="2762" x="46.9409" y="37.915" z="39.1896" />
+ <vertex index="2763" x="47.4846" y="38.0799" z="39.536" />
+ <vertex index="2764" x="47.0157" y="37.8324" z="39.7835" />
+ <vertex index="2765" x="43.1189" y="36.4255" z="43.3434" />
+ <vertex index="2766" x="51.5528" y="42.8837" z="39.0852" />
+ <vertex index="2767" x="47.4586" y="40.6642" z="39.4048" />
+ <vertex index="2768" x="56.6057" y="42.9774" z="37.804" />
+ <vertex index="2769" x="56.3518" y="43.5871" z="38.2335" />
+ <vertex index="2770" x="56.3595" y="42.8971" z="38.5184" />
+ <vertex index="2771" x="56.1217" y="49.7943" z="10.3045" />
+ <vertex index="2772" x="43.1493" y="38.7706" z="44.2059" />
+ <vertex index="2773" x="40.4204" y="38.184" z="45.5565" />
+ <vertex index="2774" x="40.0375" y="37.6005" z="45.2974" />
+ <vertex index="2775" x="56.2599" y="40.421" z="35.7924" />
+ <vertex index="2776" x="57.1873" y="41.783" z="47.9306" />
+ <vertex index="2777" x="56.9005" y="41.6524" z="36.9354" />
+ <vertex index="2778" x="56.8577" y="42.3447" z="37.3799" />
+ <vertex index="2779" x="56.6931" y="41.6735" z="37.6541" />
+ <vertex index="2780" x="43.6299" y="36.9633" z="42.2634" />
+ <vertex index="2781" x="55.558" y="39.9662" z="35.9165" />
+ <vertex index="2782" x="48.4905" y="40.5799" z="38.3357" />
+ <vertex index="2783" x="56.8941" y="47.7706" z="22.0221" />
+ <vertex index="2784" x="54.5397" y="39.7537" z="36.8592" />
+ <vertex index="2785" x="54.7441" y="39.7483" z="36.0641" />
+ <vertex index="2786" x="49.4487" y="40.8656" z="35.7447" />
+ <vertex index="2787" x="49.7311" y="41.1603" z="35.0431" />
+ <vertex index="2788" x="49.3267" y="41.6874" z="35.4251" />
+ <vertex index="2789" x="58.9451" y="53.5174" z="5.35457" />
+ <vertex index="2790" x="48.8385" y="40.8993" z="32.6031" />
+ <vertex index="2791" x="54.1386" y="45.2918" z="39.3277" />
+ <vertex index="2792" x="47.3469" y="39.8041" z="35.373" />
+ <vertex index="2793" x="57.599" y="50.7691" z="14.9455" />
+ <vertex index="2794" x="58.3517" y="41.7972" z="39.6068" />
+ <vertex index="2795" x="58.9196" y="42.1313" z="39.2881" />
+ <vertex index="2796" x="57.7537" y="45.6442" z="33.1048" />
+ <vertex index="2797" x="58.957" y="45.3196" z="36.5018" />
+ <vertex index="2798" x="43.1433" y="36.9017" z="42.6996" />
+ <vertex index="2799" x="46.7186" y="38.4559" z="37.825" />
+ <vertex index="2800" x="46.9837" y="41.3941" z="37.5473" />
+ <vertex index="2801" x="46.3863" y="40.9163" z="37.6073" />
+ <vertex index="2802" x="55.7199" y="50.3153" z="10.2443" />
+ <vertex index="2803" x="56.1939" y="49.4767" z="10.9823" />
+ <vertex index="2804" x="57.1123" y="41.6293" z="36.111" />
+ <vertex index="2805" x="56.6499" y="40.8924" z="36.4854" />
+ <vertex index="2806" x="41.6077" y="38.5081" z="45.6328" />
+ <vertex index="2807" x="58.1658" y="49.369" z="11.3833" />
+ <vertex index="2808" x="47.6881" y="40.1269" z="34.5768" />
+ <vertex index="2809" x="54.0442" y="45.7702" z="38.7128" />
+ <vertex index="2810" x="53.5381" y="45.4637" z="39.0892" />
+ <vertex index="2811" x="56.2465" y="49.1004" z="11.8092" />
+ <vertex index="2812" x="55.69" y="49.7428" z="11.5948" />
+ <vertex index="2813" x="49.5464" y="42.5195" z="34.2554" />
+ <vertex index="2814" x="57.0697" y="42.3873" z="36.5641" />
+ <vertex index="2815" x="51.3853" y="43.6326" z="38.8019" />
+ <vertex index="2816" x="50.9577" y="42.9808" z="38.5558" />
+ <vertex index="2817" x="58.859" y="51.7874" z="9.88306" />
+ <vertex index="2818" x="47.4619" y="38.4006" z="38.0055" />
+ <vertex index="2819" x="46.8547" y="38.1227" z="38.475" />
+ <vertex index="2820" x="54.2487" y="40.6411" z="49.2163" />
+ <vertex index="2821" x="54.0125" y="41.808" z="30.3025" />
+ <vertex index="2822" x="58.9072" y="51.9732" z="9.11402" />
+ <vertex index="2823" x="57.6773" y="47.0592" z="20.0474" />
+ <vertex index="2824" x="55.6808" y="51.8443" z="9.36165" />
+ <vertex index="2825" x="59.0441" y="52.9367" z="5.87096" />
+ <vertex index="2826" x="59.0277" y="52.6254" z="5.05287" />
+ <vertex index="2827" x="55.8183" y="47.084" z="17.3719" />
+ <vertex index="2828" x="52.2449" y="40.1514" z="39.031" />
+ <vertex index="2829" x="52.3731" y="45.749" z="38.0327" />
+ <vertex index="2830" x="50.4921" y="42.2363" z="36.7017" />
+ <vertex index="2831" x="56.3499" y="44.3144" z="37.9282" />
+ <vertex index="2832" x="56.5689" y="43.6839" z="37.4769" />
+ <vertex index="2833" x="46.5114" y="40.9868" z="36.9286" />
+ <vertex index="2834" x="57.6822" y="41.8973" z="46.4208" />
+ <vertex index="2835" x="55.9652" y="44.9536" z="38.2403" />
+ <vertex index="2836" x="57.8488" y="41.4176" z="45.3255" />
+ <vertex index="2837" x="48.4085" y="41.4595" z="37.0457" />
+ <vertex index="2838" x="48.4972" y="41.0058" z="37.7409" />
+ <vertex index="2839" x="50.519" y="42.6272" z="35.9628" />
+ <vertex index="2840" x="56.0602" y="44.1969" z="38.769" />
+ <vertex index="2841" x="58.0949" y="48.5625" z="16.9253" />
+ <vertex index="2842" x="57.7865" y="47.5456" z="19.3681" />
+ <vertex index="2843" x="56.6688" y="46.4649" z="18.5325" />
+ <vertex index="2844" x="56.4194" y="46.2176" z="19.1848" />
+ <vertex index="2845" x="39.8924" y="36.4096" z="46.9731" />
+ <vertex index="2846" x="55.6013" y="45.7735" z="28.0797" />
+ <vertex index="2847" x="55.376" y="45.5204" z="28.721" />
+ <vertex index="2848" x="55.9157" y="45.7552" z="28.5698" />
+ <vertex index="2849" x="50.9971" y="41.543" z="32.2995" />
+ <vertex index="2850" x="50.5878" y="41.1765" z="32.8088" />
+ <vertex index="2851" x="57.7132" y="41.3047" z="46.0822" />
+ <vertex index="2852" x="51.7954" y="45.1799" z="38.1936" />
+ <vertex index="2853" x="52.3764" y="45.3084" z="38.6809" />
+ <vertex index="2854" x="55.2743" y="41.453" z="49.3396" />
+ <vertex index="2855" x="56.5768" y="44.4031" z="37.151" />
+ <vertex index="2856" x="56.7591" y="43.7776" z="36.6926" />
+ <vertex index="2857" x="56.7205" y="44.502" z="36.3711" />
+ <vertex index="2858" x="55.607" y="51.2893" z="9.67287" />
+ <vertex index="2859" x="57.0965" y="48.8551" z="11.7096" />
+ <vertex index="2860" x="45.7478" y="38.5243" z="38.6784" />
+ <vertex index="2861" x="46.1114" y="38.7679" z="37.9866" />
+ <vertex index="2862" x="46.3014" y="38.3231" z="38.3554" />
+ <vertex index="2863" x="57.3538" y="45.7163" z="31.2201" />
+ <vertex index="2864" x="57.504" y="45.7793" z="31.9528" />
+ <vertex index="2865" x="58.0673" y="45.5604" z="31.4703" />
+ <vertex index="2866" x="45.8158" y="38.2881" z="43.3503" />
+ <vertex index="2867" x="46.3579" y="38.0248" z="42.7886" />
+ <vertex index="2868" x="56.5751" y="43.8942" z="41.6711" />
+ <vertex index="2869" x="55.2855" y="49.1205" z="14.9685" />
+ <vertex index="2870" x="55.6804" y="51.8396" z="8.59489" />
+ <vertex index="2871" x="54.2986" y="46.6407" z="34.3161" />
+ <vertex index="2872" x="57.6487" y="41.8662" z="34.2988" />
+ <vertex index="2873" x="57.6127" y="43.4538" z="29.8188" />
+ <vertex index="2874" x="57.0185" y="42.9255" z="29.7125" />
+ <vertex index="2875" x="57.1066" y="43.2993" z="28.8664" />
+ <vertex index="2876" x="56.9103" y="45.1044" z="34.3492" />
+ <vertex index="2877" x="56.9895" y="44.3772" z="34.2407" />
+ <vertex index="2878" x="55.8568" y="46.5272" z="33.6557" />
+ <vertex index="2879" x="58.6264" y="51.1647" z="6.91905" />
+ <vertex index="2880" x="58.7938" y="51.6158" z="6.13629" />
+ <vertex index="2881" x="46.5492" y="37.3639" z="40.9217" />
+ <vertex index="2882" x="47.3089" y="37.9992" z="40.2385" />
+ <vertex index="2883" x="58.0133" y="50.3278" z="15.0794" />
+ <vertex index="2884" x="58.3351" y="49.8349" z="14.8161" />
+ <vertex index="2885" x="45.4265" y="38.8421" z="43.1454" />
+ <vertex index="2886" x="49.1273" y="42.3274" z="34.9081" />
+ <vertex index="2887" x="56.996" y="42.5452" z="30.3918" />
+ <vertex index="2888" x="39.8165" y="37.9607" z="45.7999" />
+ <vertex index="2889" x="52.0493" y="43.5154" z="39.2401" />
+ <vertex index="2890" x="56.1267" y="41.4373" z="49.2971" />
+ <vertex index="2891" x="51.8163" y="45.5353" z="37.5161" />
+ <vertex index="2892" x="51.3826" y="40.4574" z="37.2659" />
+ <vertex index="2893" x="56.4341" y="46.2787" z="32.9818" />
+ <vertex index="2894" x="56.3925" y="52.9128" z="9.21785" />
+ <vertex index="2895" x="55.989" y="48.9076" z="12.7542" />
+ <vertex index="2896" x="48.7924" y="43.0977" z="32.0155" />
+ <vertex index="2897" x="55.8839" y="51.683" z="6.51655" />
+ <vertex index="2898" x="44.8974" y="39.2078" z="42.8482" />
+ <vertex index="2899" x="53.5183" y="42.4081" z="39.9535" />
+ <vertex index="2900" x="57.7429" y="47.3793" z="18.6259" />
+ <vertex index="2901" x="56.2624" y="43.5258" z="41.1915" />
+ <vertex index="2902" x="59.6463" y="43.0687" z="35.6461" />
+ <vertex index="2903" x="49.6565" y="41.8985" z="30.8762" />
+ <vertex index="2904" x="46.1977" y="37.3681" z="40.3403" />
+ <vertex index="2905" x="48.9664" y="41.4185" z="36.2928" />
+ <vertex index="2906" x="55.4137" y="50.0467" z="14.6479" />
+ <vertex index="2907" x="55.5609" y="50.8507" z="12.3266" />
+ <vertex index="2908" x="56.6863" y="45.7688" z="34.3751" />
+ <vertex index="2909" x="56.7564" y="45.3527" z="35.1452" />
+ <vertex index="2910" x="58.2378" y="50.9759" z="6.2905" />
+ <vertex index="2911" x="41.4043" y="37.8703" z="47.4965" />
+ <vertex index="2912" x="56.0133" y="41.304" z="39.0176" />
+ <vertex index="2913" x="59.8399" y="43.3606" z="36.0777" />
+ <vertex index="2914" x="59.6088" y="42.9051" z="36.321" />
+ <vertex index="2915" x="56.8588" y="49.1082" z="11.0188" />
+ <vertex index="2916" x="57.0163" y="46.4017" z="19.1946" />
+ <vertex index="2917" x="56.8931" y="44.7064" z="34.8792" />
+ <vertex index="2918" x="56.0509" y="42.8688" z="39.1909" />
+ <vertex index="2919" x="56.3109" y="42.1788" z="38.8189" />
+ <vertex index="2920" x="46.7698" y="37.6049" z="41.4151" />
+ <vertex index="2921" x="47.0523" y="37.786" z="40.8843" />
+ <vertex index="2922" x="58.4648" y="49.4674" z="12.6075" />
+ <vertex index="2923" x="55.799" y="51.4135" z="7.46745" />
+ <vertex index="2924" x="59.5616" y="44.6947" z="33.7872" />
+ <vertex index="2925" x="51.0298" y="41.4127" z="35.4327" />
+ <vertex index="2926" x="52.6143" y="45.1546" z="31.7621" />
+ <vertex index="2927" x="52.2071" y="44.4912" z="31.2844" />
+ <vertex index="2928" x="57.8658" y="41.8646" z="45.8065" />
+ <vertex index="2929" x="52.5247" y="45.0557" z="29.8974" />
+ <vertex index="2930" x="51.842" y="44.6661" z="29.6983" />
+ <vertex index="2931" x="51.9676" y="44.8138" z="30.5296" />
+ <vertex index="2932" x="51.2574" y="44.5665" z="30.3026" />
+ <vertex index="2933" x="58.1231" y="49.1244" z="12.1135" />
+ <vertex index="2934" x="55.9261" y="49.53" z="18.0374" />
+ <vertex index="2935" x="59.2272" y="42.5901" z="35.8768" />
+ <vertex index="2936" x="55.0305" y="40.0014" z="38.2713" />
+ <vertex index="2937" x="57.5173" y="46.8839" z="19.2914" />
+ <vertex index="2938" x="45.4991" y="37.2696" z="40.452" />
+ <vertex index="2939" x="45.8116" y="37.6097" z="39.7758" />
+ <vertex index="2940" x="57.4333" y="46.205" z="22.2868" />
+ <vertex index="2941" x="54.4054" y="40.4841" z="48.4591" />
+ <vertex index="2942" x="47.095" y="41.1383" z="34.8284" />
+ <vertex index="2943" x="46.8443" y="41.0794" z="35.4205" />
+ <vertex index="2944" x="55.4502" y="49.4155" z="13.2192" />
+ <vertex index="2945" x="53.4147" y="43.2291" z="39.9643" />
+ <vertex index="2946" x="51.9078" y="44.8173" z="38.7216" />
+ <vertex index="2947" x="52.5129" y="44.1328" z="39.4185" />
+ <vertex index="2948" x="52.8835" y="44.6691" z="39.4637" />
+ <vertex index="2949" x="52.3652" y="44.7708" z="39.1417" />
+ <vertex index="2950" x="57.635" y="50.4126" z="15.6266" />
+ <vertex index="2951" x="49.4631" y="40.3643" z="35.1328" />
+ <vertex index="2952" x="51.4112" y="45.404" z="36.3689" />
+ <vertex index="2953" x="52.0402" y="45.9412" z="36.0385" />
+ <vertex index="2954" x="51.5188" y="45.4267" z="35.5932" />
+ <vertex index="2955" x="51.9855" y="45.8594" z="35.167" />
+ <vertex index="2956" x="58.3062" y="45.5365" z="36.2985" />
+ <vertex index="2957" x="58.6957" y="53.6594" z="6.1252" />
+ <vertex index="2958" x="58.2434" y="41.7854" z="43.8111" />
+ <vertex index="2959" x="57.9747" y="41.4443" z="43.3754" />
+ <vertex index="2960" x="52.9167" y="42.3817" z="29.4515" />
+ <vertex index="2961" x="54.9862" y="45.6739" z="26.7473" />
+ <vertex index="2962" x="57.9754" y="48.6396" z="13.6818" />
+ <vertex index="2963" x="56.7787" y="40.9206" z="42.8164" />
+ <vertex index="2964" x="56.2785" y="46.0624" z="34.954" />
+ <vertex index="2965" x="55.6554" y="46.2622" z="35.4418" />
+ <vertex index="2966" x="56.2641" y="45.7943" z="35.7238" />
+ <vertex index="2967" x="56.822" y="43.0516" z="37.0265" />
+ <vertex index="2968" x="58.1568" y="50.587" z="14.366" />
+ <vertex index="2969" x="52.6228" y="40.32" z="34.9741" />
+ <vertex index="2970" x="52.0315" y="40.4882" z="35.2379" />
+ <vertex index="2971" x="57.3607" y="41.0184" z="47.9121" />
+ <vertex index="2972" x="54.3821" y="46.3806" z="36.5992" />
+ <vertex index="2973" x="58.2286" y="53.4559" z="7.96423" />
+ <vertex index="2974" x="55.0488" y="44.546" z="25.1994" />
+ <vertex index="2975" x="57.9954" y="42.2651" z="45.1798" />
+ <vertex index="2976" x="58.2437" y="42.372" z="44.2897" />
+ <vertex index="2977" x="58.815" y="45.4901" z="35.7144" />
+ <vertex index="2978" x="45.6402" y="40.0463" z="39.7193" />
+ <vertex index="2979" x="57.4314" y="46.3513" z="21.5589" />
+ <vertex index="2980" x="54.2626" y="46.7093" z="32.0912" />
+ <vertex index="2981" x="56.8489" y="44.6278" z="35.5735" />
+ <vertex index="2982" x="56.248" y="46.2382" z="34.266" />
+ <vertex index="2983" x="56.5666" y="46.0967" z="33.7108" />
+ <vertex index="2984" x="56.2808" y="54.1259" z="5.38406" />
+ <vertex index="2985" x="56.7344" y="46.1203" z="19.6811" />
+ <vertex index="2986" x="55.0452" y="47.9943" z="19.095" />
+ <vertex index="2987" x="58.8554" y="43.5485" z="41.6742" />
+ <vertex index="2988" x="45.1545" y="37.7702" z="40.0881" />
+ <vertex index="2989" x="57.5928" y="50.7088" z="6.45531" />
+ <vertex index="2990" x="57.1969" y="50.8865" z="5.90427" />
+ <vertex index="2991" x="41.5858" y="36.5596" z="44.1611" />
+ <vertex index="2992" x="41.3641" y="37.071" z="44.0195" />
+ <vertex index="2993" x="56.9239" y="53.3122" z="8.77488" />
+ <vertex index="2994" x="55.5321" y="50.5791" z="11.489" />
+ <vertex index="2995" x="57.4354" y="42.1355" z="34.8516" />
+ <vertex index="2996" x="57.4156" y="41.5345" z="34.7564" />
+ <vertex index="2997" x="58.3462" y="45.0016" z="31.0809" />
+ <vertex index="2998" x="56.1524" y="43.4376" z="38.8384" />
+ <vertex index="2999" x="55.7208" y="40.7914" z="31.4323" />
+ <vertex index="3000" x="50.2972" y="41.3984" z="31.0662" />
+ <vertex index="3001" x="57.6385" y="42.4096" z="45.944" />
+ <vertex index="3002" x="57.6497" y="53.758" z="7.68175" />
+ <vertex index="3003" x="58.0749" y="41.6242" z="44.5649" />
+ <vertex index="3004" x="58.6402" y="45.1119" z="31.78" />
+ <vertex index="3005" x="58.7315" y="44.5661" z="31.4073" />
+ <vertex index="3006" x="56.5716" y="41.0985" z="37.26" />
+ <vertex index="3007" x="56.2566" y="40.6393" z="37.0088" />
+ <vertex index="3008" x="56.6443" y="45.2021" z="36.0355" />
+ <vertex index="3009" x="58.275" y="51.2579" z="5.56404" />
+ <vertex index="3010" x="57.6365" y="51.1074" z="5.28226" />
+ <vertex index="3011" x="57.2555" y="46.3531" z="20.0166" />
+ <vertex index="3012" x="56.5016" y="51.1135" z="6.10794" />
+ <vertex index="3013" x="58.0567" y="48.8748" z="12.8901" />
+ <vertex index="3014" x="53.8432" y="46.6503" z="33.2877" />
+ <vertex index="3015" x="54.3981" y="46.7456" z="32.8602" />
+ <vertex index="3016" x="53.8283" y="46.6332" z="32.6361" />
+ <vertex index="3017" x="56.2005" y="51.6043" z="5.48693" />
+ <vertex index="3018" x="56.8881" y="51.1993" z="5.2898" />
+ <vertex index="3019" x="52.9772" y="45.5521" z="31.3723" />
+ <vertex index="3020" x="44.8535" y="38.3545" z="39.9208" />
+ <vertex index="3021" x="44.8617" y="39.0334" z="40.1554" />
+ <vertex index="3022" x="48.6568" y="39.4189" z="36.9063" />
+ <vertex index="3023" x="56.9636" y="53.5971" z="7.98299" />
+ <vertex index="3024" x="48.8832" y="39.9991" z="34.6825" />
+ <vertex index="3025" x="57.3783" y="44.7045" z="37.6911" />
+ <vertex index="3026" x="40.5876" y="36.568" z="44.9226" />
+ <vertex index="3027" x="40.9897" y="36.8155" z="44.4448" />
+ <vertex index="3028" x="50.8738" y="43.5677" z="29.6482" />
+ <vertex index="3029" x="54.8091" y="41.2913" z="46.0378" />
+ <vertex index="3030" x="54.9849" y="41.7129" z="45.3202" />
+ <vertex index="3031" x="55.1465" y="40.9896" z="45.2983" />
+ <vertex index="3032" x="58.9283" y="52.2143" z="8.48238" />
+ <vertex index="3033" x="51.0449" y="44.9124" z="35.8973" />
+ <vertex index="3034" x="47.9617" y="38.5697" z="39.1979" />
+ <vertex index="3035" x="56.4626" y="44.8018" z="23.1908" />
+ <vertex index="3036" x="48.3549" y="39.9839" z="34.3564" />
+ <vertex index="3037" x="53.1496" y="45.7953" z="38.5443" />
+ <vertex index="3038" x="56.7096" y="44.5066" z="24.5824" />
+ <vertex index="3039" x="56.2388" y="44.4666" z="23.97" />
+ <vertex index="3040" x="56.5663" y="42.2778" z="38.0957" />
+ <vertex index="3041" x="59.0362" y="52.4102" z="6.42184" />
+ <vertex index="3042" x="56.0159" y="51.5107" z="12.4691" />
+ <vertex index="3043" x="50.3793" y="41.9463" z="30.3873" />
+ <vertex index="3044" x="57.2736" y="42.8286" z="34.7837" />
+ <vertex index="3045" x="56.2009" y="40.6857" z="37.5855" />
+ <vertex index="3046" x="48.0399" y="38.649" z="38.4352" />
+ <vertex index="3047" x="48.1565" y="38.8662" z="37.5419" />
+ <vertex index="3048" x="48.9692" y="39.9008" z="36.5077" />
+ <vertex index="3049" x="51.5683" y="45.4135" z="34.8431" />
+ <vertex index="3050" x="51.9496" y="45.7498" z="34.5297" />
+ <vertex index="3051" x="57.8037" y="50.9236" z="5.86483" />
+ <vertex index="3052" x="59.3359" y="45.1404" z="34.1781" />
+ <vertex index="3053" x="55.5759" y="47.4974" z="16.8852" />
+ <vertex index="3054" x="56.1445" y="40.3495" z="45.0278" />
+ <vertex index="3055" x="54.1147" y="39.7667" z="33.8472" />
+ <vertex index="3056" x="53.796" y="39.9738" z="33.3487" />
+ <vertex index="3057" x="55.2872" y="44.0705" z="25.8907" />
+ <vertex index="3058" x="56.5565" y="45.6323" z="28.745" />
+ <vertex index="3059" x="55.8256" y="40.998" z="43.7988" />
+ <vertex index="3060" x="56.3802" y="43.6632" z="26.6841" />
+ <vertex index="3061" x="54.934" y="46.6171" z="21.2912" />
+ <vertex index="3062" x="49.1655" y="40.1085" z="35.9182" />
+ <vertex index="3063" x="57.7344" y="45.8142" z="32.573" />
+ <vertex index="3064" x="58.2846" y="45.6322" z="32.1894" />
+ <vertex index="3065" x="55.8623" y="50.653" z="14.7377" />
+ <vertex index="3066" x="51.5038" y="43.6673" z="31.7334" />
+ <vertex index="3067" x="57.5909" y="53.5152" z="8.41274" />
+ <vertex index="3068" x="51.5455" y="42.3727" z="29.6832" />
+ <vertex index="3069" x="51.7773" y="41.9579" z="30.0914" />
+ <vertex index="3070" x="53.1616" y="45.0184" z="29.2665" />
+ <vertex index="3071" x="56.1359" y="47.5524" z="23.1996" />
+ <vertex index="3072" x="56.2016" y="47.2781" z="23.9306" />
+ <vertex index="3073" x="56.5798" y="41.9554" z="30.3315" />
+ <vertex index="3074" x="53.4507" y="44.9603" z="39.5189" />
+ <vertex index="3075" x="41.0187" y="36.3161" z="47.9693" />
+ <vertex index="3076" x="41.3082" y="36.8256" z="47.9843" />
+ <vertex index="3077" x="41.3896" y="37.2506" z="47.8588" />
+ <vertex index="3078" x="58.4709" y="44.3118" z="40.8355" />
+ <vertex index="3079" x="53.169" y="46.4681" z="32.9579" />
+ <vertex index="3080" x="40.391" y="37.4965" z="47.8517" />
+ <vertex index="3081" x="41.044" y="37.0513" z="48.2726" />
+ <vertex index="3082" x="57.0566" y="54.0652" z="4.96099" />
+ <vertex index="3083" x="55.9907" y="40.327" z="36.5156" />
+ <vertex index="3084" x="57.1462" y="44.9695" z="24.5777" />
+ <vertex index="3085" x="52.9333" y="45.2138" z="39.1387" />
+ <vertex index="3086" x="57.4825" y="48.2234" z="13.822" />
+ <vertex index="3087" x="55.8944" y="46.9987" z="24.6976" />
+ <vertex index="3088" x="47.0791" y="40.4768" z="34.941" />
+ <vertex index="3089" x="51.4275" y="45.3176" z="37.0283" />
+ <vertex index="3090" x="57.5013" y="42.5153" z="34.2523" />
+ <vertex index="3091" x="55.6124" y="40.5237" z="38.6745" />
+ <vertex index="3092" x="58.4212" y="50.6147" z="13.469" />
+ <vertex index="3093" x="58.03" y="51.0554" z="13.7697" />
+ <vertex index="3094" x="56.0886" y="50.8176" z="7.84643" />
+ <vertex index="3095" x="55.0053" y="46.3514" z="35.9971" />
+ <vertex index="3096" x="55.7462" y="46.0257" z="36.2564" />
+ <vertex index="3097" x="54.4983" y="40.5648" z="31.907" />
+ <vertex index="3098" x="54.515" y="40.221" z="32.5036" />
+ <vertex index="3099" x="54.1771" y="46.512" z="35.7635" />
+ <vertex index="3100" x="57.3417" y="41.1764" z="34.2668" />
+ <vertex index="3101" x="50.769" y="42.1638" z="35.2725" />
+ <vertex index="3102" x="57.1262" y="43.555" z="34.445" />
+ <vertex index="3103" x="56.9708" y="44.0799" z="35.0639" />
+ <vertex index="3104" x="40.5609" y="36.0996" z="45.4187" />
+ <vertex index="3105" x="57.5558" y="46.6483" z="20.8065" />
+ <vertex index="3106" x="58.3927" y="53.3722" z="4.63929" />
+ <vertex index="3107" x="59.069" y="44.3974" z="39.75" />
+ <vertex index="3108" x="55.7075" y="50.0314" z="10.8831" />
+ <vertex index="3109" x="53.9303" y="46.6382" z="33.8742" />
+ <vertex index="3110" x="50.97" y="41.0759" z="36.9609" />
+ <vertex index="3111" x="51.8634" y="45.7795" z="36.8344" />
+ <vertex index="3112" x="57.1999" y="45.1237" z="27.8142" />
+ <vertex index="3113" x="45.4958" y="39.8947" z="40.2766" />
+ <vertex index="3114" x="45.2675" y="39.5454" z="39.8486" />
+ <vertex index="3115" x="56.2207" y="40.9939" z="43.1076" />
+ <vertex index="3116" x="51.9571" y="41.8125" z="33.5492" />
+ <vertex index="3117" x="53.4103" y="46.5501" z="33.8244" />
+ <vertex index="3118" x="57.8201" y="53.7524" z="4.81503" />
+ <vertex index="3119" x="54.9012" y="42.0067" z="46.1777" />
+ <vertex index="3120" x="46.2034" y="37.9418" z="39.0125" />
+ <vertex index="3121" x="53.8353" y="40.1872" z="32.788" />
+ <vertex index="3122" x="55.2879" y="40.3942" z="32.1472" />
+ <vertex index="3123" x="55.7975" y="41.4203" z="43.0378" />
+ <vertex index="3124" x="56.9946" y="45.5439" z="29.9557" />
+ <vertex index="3125" x="57.4534" y="42.8674" z="33.7011" />
+ <vertex index="3126" x="57.3188" y="43.0269" z="34.191" />
+ <vertex index="3127" x="55.2753" y="47.5331" z="17.5328" />
+ <vertex index="3128" x="57.2912" y="42.4105" z="46.6386" />
+ <vertex index="3129" x="53.9127" y="46.5849" z="34.9541" />
+ <vertex index="3130" x="53.7234" y="46.5939" z="34.3338" />
+ <vertex index="3131" x="53.141" y="46.4726" z="34.6488" />
+ <vertex index="3132" x="50.7253" y="41.6013" z="36.6597" />
+ <vertex index="3133" x="54.4062" y="41.3307" z="30.8331" />
+ <vertex index="3134" x="55.6752" y="40.0163" z="33.6971" />
+ <vertex index="3135" x="54.7271" y="45.7676" z="24.8218" />
+ <vertex index="3136" x="45.445" y="38.1461" z="39.4173" />
+ <vertex index="3137" x="54.3882" y="39.938" z="33.1952" />
+ <vertex index="3138" x="55.1377" y="40.0361" z="33.0219" />
+ <vertex index="3139" x="57.1398" y="45.1696" z="28.461" />
+ <vertex index="3140" x="54.1131" y="42.0007" z="40.1837" />
+ <vertex index="3141" x="54.831" y="45.0971" z="24.5505" />
+ <vertex index="3142" x="55.6859" y="51.8044" z="7.94935" />
+ <vertex index="3143" x="56.0776" y="43.4164" z="27.3808" />
+ <vertex index="3144" x="40.0927" y="38.4166" z="47.3709" />
+ <vertex index="3145" x="51.3054" y="42.8561" z="33.8981" />
+ <vertex index="3146" x="50.9541" y="43.1307" z="34.3839" />
+ <vertex index="3147" x="55.5433" y="45.9605" z="20.6783" />
+ <vertex index="3148" x="58.4051" y="44.33" z="30.8134" />
+ <vertex index="3149" x="55.6901" y="44.7252" z="23.3895" />
+ <vertex index="3150" x="58.5845" y="44.5536" z="40.1067" />
+ <vertex index="3151" x="55.3008" y="48.9618" z="17.8245" />
+ <vertex index="3152" x="57.5607" y="47.0097" z="21.4518" />
+ <vertex index="3153" x="56.2208" y="46.0058" z="19.794" />
+ <vertex index="3154" x="46.6192" y="37.7392" z="42.0306" />
+ <vertex index="3155" x="58.7249" y="44.7513" z="39.3597" />
+ <vertex index="3156" x="56.2285" y="40.64" z="32.1567" />
+ <vertex index="3157" x="55.3743" y="49.2869" z="14.1093" />
+ <vertex index="3158" x="55.4839" y="44.958" z="38.9105" />
+ <vertex index="3159" x="39.8663" y="37.882" z="47.5467" />
+ <vertex index="3160" x="51.4078" y="40.7573" z="35.672" />
+ <vertex index="3161" x="55.3804" y="39.8191" z="34.4655" />
+ <vertex index="3162" x="56.2538" y="45.0202" z="37.5237" />
+ <vertex index="3163" x="57.5871" y="51.1253" z="14.2668" />
+ <vertex index="3164" x="56.9021" y="43.9072" z="35.879" />
+ <vertex index="3165" x="52.3938" y="46.1078" z="36.6581" />
+ <vertex index="3166" x="55.0419" y="45.1233" z="23.6925" />
+ <vertex index="3167" x="54.7465" y="45.731" z="24.0261" />
+ <vertex index="3168" x="50.8651" y="44.4938" z="35.4506" />
+ <vertex index="3169" x="55.3878" y="50.1369" z="13.6942" />
+ <vertex index="3170" x="58.9111" y="45.1966" z="32.5487" />
+ <vertex index="3171" x="55.6423" y="40.7079" z="44.682" />
+ <vertex index="3172" x="58.8528" y="43.9262" z="41.1169" />
+ <vertex index="3173" x="56.3419" y="43.4157" z="44.2523" />
+ <vertex index="3174" x="50.6814" y="41.8404" z="36.0253" />
+ <vertex index="3175" x="39.3241" y="36.5052" z="46.5124" />
+ <vertex index="3176" x="56.7241" y="49.7981" z="17.8273" />
+ <vertex index="3177" x="59.0036" y="52.2726" z="5.73413" />
+ <vertex index="3178" x="58.7243" y="51.8308" z="5.27112" />
+ <vertex index="3179" x="45.0622" y="39.5798" z="40.5392" />
+ <vertex index="3180" x="38.8908" y="36.737" z="46.2597" />
+ <vertex index="3181" x="54.5196" y="41.1913" z="47.4305" />
+ <vertex index="3182" x="44.4539" y="38.5048" z="40.5722" />
+ <vertex index="3183" x="57.6022" y="49.1283" z="11.0991" />
+ <vertex index="3184" x="57.717" y="48.9631" z="11.7099" />
+ <vertex index="3185" x="55.9167" y="46.2755" z="19.3424" />
+ <vertex index="3186" x="39.391" y="38.0872" z="46.3298" />
+ <vertex index="3187" x="58.3171" y="49.9617" z="9.74701" />
+ <vertex index="3188" x="56.4867" y="45.6188" z="29.5758" />
+ <vertex index="3189" x="52.4098" y="46.119" z="34.5871" />
+ <vertex index="3190" x="52.7504" y="46.2956" z="33.8353" />
+ <vertex index="3191" x="52.1597" y="45.861" z="33.9175" />
+ <vertex index="3192" x="47.8845" y="41.4232" z="37.7269" />
+ <vertex index="3193" x="47.4994" y="38.1971" z="38.7749" />
+ <vertex index="3194" x="51.2782" y="44.1861" z="29.6214" />
+ <vertex index="3195" x="54.4196" y="40.9639" z="48.0296" />
+ <vertex index="3196" x="51.8816" y="44.2348" z="38.9996" />
+ <vertex index="3197" x="55.949" y="52.1376" z="4.84162" />
+ <vertex index="3198" x="56.8404" y="45.5544" z="27.9769" />
+ <vertex index="3199" x="56.2481" y="45.5865" z="36.3908" />
+ <vertex index="3200" x="52.7538" y="39.782" z="38.7567" />
+ <vertex index="3201" x="54.8542" y="40.7954" z="31.366" />
+ <vertex index="3202" x="56.4831" y="45.1166" z="36.7918" />
+ <vertex index="3203" x="58.4592" y="45.6819" z="32.8893" />
+ <vertex index="3204" x="50.9686" y="41.4081" z="31.5041" />
+ <vertex index="3205" x="55.6677" y="46.4526" z="34.5834" />
+ <vertex index="3206" x="54.8267" y="46.5506" z="35.0271" />
+ <vertex index="3207" x="54.89" y="39.7973" z="33.7773" />
+ <vertex index="3208" x="39.8972" y="37.2251" z="47.3077" />
+ <vertex index="3209" x="46.5022" y="37.6684" z="39.7159" />
+ <vertex index="3210" x="54.7995" y="44.9307" z="26.6907" />
+ <vertex index="3211" x="57.219" y="43.3477" z="33.7658" />
+ <vertex index="3212" x="55.0242" y="48.2522" z="17.6532" />
+ <vertex index="3213" x="55.4721" y="47.0692" z="24.0122" />
+ <vertex index="3214" x="50.9595" y="41.1694" z="36.1922" />
+ <vertex index="3215" x="54.6908" y="41.5717" z="30.3307" />
+ <vertex index="3216" x="55.8841" y="45.6255" z="29.1687" />
+ <vertex index="3217" x="51.7699" y="42.5358" z="33.4184" />
+ <vertex index="3218" x="58.0705" y="50.6646" z="6.99663" />
+ <vertex index="3219" x="54.711" y="45.2219" z="25.3304" />
+ <vertex index="3220" x="55.9741" y="43.2051" z="44.694" />
+ <vertex index="3221" x="57.2565" y="41.6041" z="35.3277" />
+ <vertex index="3222" x="53.361" y="46.4636" z="35.5548" />
+ <vertex index="3223" x="53.5742" y="46.4386" z="36.3688" />
+ <vertex index="3224" x="52.8037" y="46.3125" z="36.1667" />
+ <vertex index="3225" x="56.8374" y="43.5027" z="27.9277" />
+ <vertex index="3226" x="40.5124" y="36.7035" z="47.6371" />
+ <vertex index="3227" x="46.7909" y="37.6223" z="40.3038" />
+ <vertex index="3228" x="54.831" y="44.7105" z="25.9659" />
+ <vertex index="3229" x="52.5914" y="46.2657" z="35.3712" />
+ <vertex index="3230" x="55.8227" y="51.2756" z="9.03158" />
+ <vertex index="3231" x="56.0565" y="50.7847" z="8.70491" />
+ <vertex index="3232" x="55.876" y="50.7004" z="9.5561" />
+ <vertex index="3233" x="56.5101" y="48.5854" z="13.2437" />
+ <vertex index="3234" x="57.0223" y="48.562" z="12.9859" />
+ <vertex index="3235" x="56.976" y="48.3831" z="13.6134" />
+ <vertex index="3236" x="55.798" y="49.7573" z="16.6683" />
+ <vertex index="3237" x="55.8216" y="49.9386" z="16.0268" />
+ <vertex index="3238" x="55.4526" y="49.3131" z="16.3369" />
+ <vertex index="3239" x="55.1779" y="45.1469" z="28.1326" />
+ <vertex index="3240" x="55.025" y="44.6814" z="27.9074" />
+ <vertex index="3241" x="54.649" y="44.6327" z="28.5101" />
+ <vertex index="3242" x="54.1086" y="46.3336" z="31.2583" />
+ <vertex index="3243" x="54.8931" y="46.493" z="31.5672" />
+ <vertex index="3244" x="54.8541" y="46.3581" z="30.7918" />
+ <vertex index="3245" x="52.6873" y="42.3191" z="31.9635" />
+ <vertex index="3246" x="52.8006" y="42.2006" z="31.4917" />
+ <vertex index="3247" x="52.9601" y="41.7617" z="32.0765" />
+ <vertex index="3248" x="52.249" y="42.4367" z="31.413" />
+ <vertex index="3249" x="52.3335" y="42.6715" z="31.7136" />
+ <vertex index="3250" x="57.2307" y="42.6797" z="31.5055" />
+ <vertex index="3251" x="56.8887" y="42.2535" z="31.1506" />
+ <vertex index="3252" x="57.2846" y="42.8615" z="31.0482" />
+ <vertex index="3253" x="57.5875" y="42.9456" z="31.4885" />
+ <vertex index="3254" x="50.1123" y="43.626" z="32.0487" />
+ <vertex index="3255" x="49.4079" y="43.4078" z="32.0585" />
+ <vertex index="3256" x="49.7141" y="43.3381" z="32.747" />
+ <vertex index="3257" x="56.5518" y="45.7311" z="32.5696" />
+ <vertex index="3258" x="56.8913" y="45.4222" z="32.3121" />
+ <vertex index="3259" x="56.8549" y="45.5465" z="32.1037" />
+ <vertex index="3260" x="57.4062" y="45.4923" z="32.2863" />
+ <vertex index="3261" x="57.3076" y="45.3152" z="32.3921" />
+ <vertex index="3262" x="52.1919" y="42.8718" z="32.8727" />
+ <vertex index="3263" x="52.2806" y="43.4273" z="32.5338" />
+ <vertex index="3264" x="52.3213" y="43.0985" z="32.1381" />
+ <vertex index="3265" x="56.734" y="45.3955" z="32.5885" />
+ <vertex index="3266" x="56.7373" y="45.2295" z="32.803" />
+ <vertex index="3267" x="57.1432" y="45.1723" z="32.4726" />
+ <vertex index="3268" x="57.2235" y="45.0435" z="32.5893" />
+ <vertex index="3269" x="57.5207" y="45.2344" z="32.6172" />
+ <vertex index="3270" x="56.9095" y="44.9337" z="32.8135" />
+ <vertex index="3271" x="59.2121" y="43.8351" z="32.875" />
+ <vertex index="3272" x="59.4507" y="44.0327" z="33.5887" />
+ <vertex index="3273" x="59.2254" y="43.4159" z="33.5454" />
+ <vertex index="3274" x="57.6761" y="43.9129" z="32.8156" />
+ <vertex index="3275" x="57.9688" y="43.7122" z="32.7998" />
+ <vertex index="3276" x="58.1732" y="43.7678" z="33.1782" />
+ <vertex index="3277" x="56.7879" y="44.8498" z="33.1432" />
+ <vertex index="3278" x="57.2916" y="44.7758" z="32.7933" />
+ <vertex index="3279" x="57.9618" y="44.0843" z="33.0673" />
+ <vertex index="3280" x="57.773" y="44.5135" z="33.0174" />
+ <vertex index="3281" x="57.5769" y="44.6629" z="32.9151" />
+ <vertex index="3282" x="57.1978" y="44.3965" z="32.9691" />
+ <vertex index="3283" x="58.0365" y="44.795" z="33.445" />
+ <vertex index="3284" x="56.9251" y="44.5908" z="33.0996" />
+ <vertex index="3285" x="56.672" y="45.1981" z="33.2585" />
+ <vertex index="3286" x="58.075" y="44.3513" z="33.353" />
+ <vertex index="3287" x="56.7388" y="44.8572" z="33.6625" />
+ <vertex index="3288" x="58.3493" y="43.1539" z="34.3378" />
+ <vertex index="3289" x="58.3747" y="43.1469" z="33.6218" />
+ <vertex index="3290" x="59.1404" y="43.0356" z="34.3727" />
+ <vertex index="3291" x="57.8512" y="45.1822" z="34.8772" />
+ <vertex index="3292" x="58.164" y="45.4785" z="35.6348" />
+ <vertex index="3293" x="58.541" y="45.5275" z="34.9456" />
+ <vertex index="3294" x="46.0282" y="39.8587" z="37.7986" />
+ <vertex index="3295" x="46.4103" y="39.6639" z="37.0204" />
+ <vertex index="3296" x="46.1448" y="39.3327" z="37.6996" />
+ <vertex index="3297" x="45.7283" y="39.3152" z="38.421" />
+ <vertex index="3298" x="46.2104" y="40.3073" z="39.4854" />
+ <vertex index="3299" x="46.7619" y="40.3312" z="39.8221" />
+ <vertex index="3300" x="46.7301" y="40.6605" z="39.0538" />
+ <vertex index="3301" x="46.8142" y="39.9221" z="40.5125" />
+ <vertex index="3302" x="47.3715" y="40.0268" z="39.9973" />
+ <vertex index="3303" x="56.9194" y="44.0962" z="40.2287" />
+ <vertex index="3304" x="57.4136" y="44.4853" z="39.9581" />
+ <vertex index="3305" x="57.0789" y="44.2446" z="39.603" />
+ <vertex index="3306" x="58.9762" y="43.9614" z="40.3528" />
+ <vertex index="3307" x="59.0643" y="43.383" z="40.8958" />
+ <vertex index="3308" x="59.2781" y="43.3508" z="40.1233" />
+ <vertex index="3309" x="44.2077" y="38.884" z="43.184" />
+ <vertex index="3310" x="44.3826" y="39.0468" z="42.4409" />
+ <vertex index="3311" x="43.7615" y="38.8047" z="42.7892" />
+ <vertex index="3312" x="56.055" y="41.8316" z="42.352" />
+ <vertex index="3313" x="55.6717" y="42.1269" z="43.0182" />
+ <vertex index="3314" x="55.9337" y="42.4932" z="42.2746" />
+ <vertex index="3315" x="42.6941" y="38.474" z="44.8812" />
+ <vertex index="3316" x="42.9453" y="38.2678" z="45.4508" />
+ <vertex index="3317" x="43.4364" y="38.4409" z="44.7684" />
+ <vertex index="3318" x="39.4548" y="37.3196" z="45.9426" />
+ <vertex index="3319" x="40.0544" y="36.7543" z="45.4835" />
+ <vertex index="3320" x="39.4815" y="36.5653" z="46.1099" />
+ <vertex index="3321" x="55.6204" y="40.5842" z="45.4676" />
+ <vertex index="3322" x="56.0046" y="40.3481" z="45.6569" />
+ <vertex index="3323" x="55.608" y="40.3004" z="46.1235" />
+ <vertex index="3324" x="55.0696" y="42.0565" z="47.9453" />
+ <vertex index="3325" x="55.5389" y="42.4517" z="47.2874" />
+ <vertex index="3326" x="55.0518" y="42.0584" z="47.041" />
+ <vertex index="3327" x="54.9371" y="39.9735" z="48.2796" />
+ <vertex index="3328" x="55.5354" y="39.6182" z="48.1769" />
+ <vertex index="3329" x="55.1251" y="39.5347" z="48.7906" />
+ <vertex index="3330" x="58.7429" y="53.0776" z="6.61019" />
+ <vertex index="3331" x="58.4957" y="53.186" z="7.31522" />
+ <vertex index="3332" x="58.8114" y="52.581" z="7.19588" />
+ <vertex index="3333" x="56.7491" y="50.6423" z="7.52572" />
+ <vertex index="3334" x="56.9526" y="50.8525" z="6.71181" />
+ <vertex index="3335" x="57.3767" y="50.5785" z="7.2353" />
+ <vertex index="3336" x="58.324" y="53.5846" z="6.77835" />
+ <vertex index="3337" x="56.357" y="52.9736" z="8.23593" />
+ <vertex index="3338" x="55.9379" y="52.3277" z="8.07121" />
+ <vertex index="3339" x="56.0203" y="52.3766" z="8.87074" />
+ <vertex index="3340" x="55.8694" y="51.3258" z="8.27553" />
+ <vertex index="3341" x="56.681" y="52.6036" z="10.0326" />
+ <vertex index="3342" x="56.2385" y="52.1517" z="10.376" />
+ <vertex index="3343" x="56.5836" y="52.2418" z="10.8621" />
+ <vertex index="3344" x="56.4191" y="48.3484" z="14.0128" />
+ <vertex index="3345" x="55.9446" y="48.8141" z="13.652" />
+ <vertex index="3346" x="57.0018" y="48.139" z="14.4036" />
+ <vertex index="3347" x="56.7185" y="47.8539" z="15.2017" />
+ <vertex index="3348" x="56.3867" y="48.087" z="14.6908" />
+ <vertex index="3349" x="57.3806" y="47.6566" z="16.4916" />
+ <vertex index="3350" x="57.0759" y="47.6648" z="15.8421" />
+ <vertex index="3351" x="57.6297" y="48.03" z="15.8511" />
+ <vertex index="3352" x="57.7265" y="49.3678" z="16.8826" />
+ <vertex index="3353" x="57.655" y="49.8477" z="16.2177" />
+ <vertex index="3354" x="57.3402" y="49.8406" z="16.7719" />
+ <vertex index="3355" x="57.1669" y="47.2926" z="17.1595" />
+ <vertex index="3356" x="57.6329" y="47.7985" z="17.1334" />
+ <vertex index="3357" x="57.4302" y="47.3614" z="17.8771" />
+ <vertex index="3358" x="56.0316" y="43.9647" z="25.9699" />
+ <vertex index="3359" x="56.4557" y="44.2846" z="25.3642" />
+ <vertex index="3360" x="56.6323" y="44.1554" z="26.1834" />
+ <vertex index="3361" x="56.2948" y="46.5577" z="25.3518" />
+ <vertex index="3362" x="55.6089" y="46.5332" z="25.2872" />
+ <vertex index="3363" x="55.9299" y="46.3598" z="26.0384" />
+ <vertex index="3364" x="54.855" y="44.2018" z="28.1456" />
+ <vertex index="3365" x="54.1598" y="44.0154" z="28.6821" />
+ <vertex index="3366" x="53.9302" y="44.7183" z="28.9631" />
+ <vertex index="3367" x="54.5046" y="45.5247" z="29.8936" />
+ <vertex index="3368" x="53.9198" y="45.5134" z="30.3306" />
+ <vertex index="3369" x="54.266" y="46.0715" z="30.401" />
+ <vertex index="3370" x="52.0981" y="42.1094" z="31.029" />
+ <vertex index="3371" x="52.8855" y="42.0551" z="30.9101" />
+ <vertex index="3372" x="52.4672" y="42.6139" z="32.3783" />
+ <vertex index="3373" x="52.8495" y="41.2914" z="32.5505" />
+ <vertex index="3374" x="52.3922" y="41.5168" z="33.043" />
+ <vertex index="3375" x="52.5933" y="41.9253" z="32.5436" />
+ <vertex index="3376" x="58.2605" y="43.396" z="32.9216" />
+ <vertex index="3377" x="58.2354" y="43.0734" z="32.33" />
+ <vertex index="3378" x="58.8697" y="43.2606" z="32.8457" />
+ <vertex index="3379" x="57.5014" y="45.0279" z="32.7379" />
+ <vertex index="3380" x="56.6092" y="45.6403" z="33.121" />
+ <vertex index="3381" x="52.8177" y="40.9172" z="33.1312" />
+ <vertex index="3382" x="57.7939" y="44.9931" z="33.0102" />
+ <vertex index="3383" x="57.2049" y="43.9922" z="32.9911" />
+ <vertex index="3384" x="57.0294" y="44.1525" z="33.1623" />
+ <vertex index="3385" x="56.91" y="43.8708" z="33.648" />
+ <vertex index="3386" x="57.5619" y="44.2616" z="32.9146" />
+ <vertex index="3387" x="57.9455" y="45.2689" z="33.5093" />
+ <vertex index="3388" x="58.39" y="45.2515" z="36.9945" />
+ <vertex index="3389" x="57.8752" y="45.1954" z="36.7207" />
+ <vertex index="3390" x="57.8778" y="45.0757" z="37.4333" />
+ <vertex index="3391" x="57.7276" y="42.541" z="38.2469" />
+ <vertex index="3392" x="58.1862" y="42.0579" z="38.8243" />
+ <vertex index="3393" x="57.4503" y="42.3687" z="39.0322" />
+ <vertex index="3394" x="48.0423" y="39.2234" z="39.4402" />
+ <vertex index="3395" x="48.3321" y="39.6096" z="38.8645" />
+ <vertex index="3396" x="47.9506" y="39.986" z="39.3759" />
+ <vertex index="3397" x="57.152" y="42.7669" z="39.3118" />
+ <vertex index="3398" x="57.1148" y="42.2879" z="39.7528" />
+ <vertex index="3399" x="56.7803" y="42.9672" z="39.9422" />
+ <vertex index="3400" x="47.7323" y="39.4826" z="40.0895" />
+ <vertex index="3401" x="56.6991" y="42.2433" z="40.5351" />
+ <vertex index="3402" x="56.2564" y="42.1724" z="41.4624" />
+ <vertex index="3403" x="56.3417" y="42.9024" z="40.8215" />
+ <vertex index="3404" x="43.9473" y="37.4235" z="41.8238" />
+ <vertex index="3405" x="43.701" y="38.1106" z="41.8657" />
+ <vertex index="3406" x="44.3161" y="37.8761" z="41.1446" />
+ <vertex index="3407" x="56.5451" y="41.5753" z="41.9017" />
+ <vertex index="3408" x="43.1385" y="38.0303" z="42.5726" />
+ <vertex index="3409" x="43.378" y="37.4934" z="42.3283" />
+ <vertex index="3410" x="42.8096" y="37.489" z="42.8622" />
+ <vertex index="3411" x="42.5738" y="36.1846" z="45.429" />
+ <vertex index="3412" x="43.1002" y="36.2694" z="44.7904" />
+ <vertex index="3413" x="43.4139" y="36.4949" z="45.2528" />
+ <vertex index="3414" x="40.8303" y="35.8805" z="46.7716" />
+ <vertex index="3415" x="40.71" y="35.881" z="47.3127" />
+ <vertex index="3416" x="40.0884" y="35.852" z="46.819" />
+ <vertex index="3417" x="55.3216" y="47.1308" z="22.6757" />
+ <vertex index="3418" x="55.0993" y="46.8937" z="22.0272" />
+ <vertex index="3419" x="55.0784" y="46.5167" z="22.8561" />
+ <vertex index="3420" x="55.5095" y="44.6117" z="24.3832" />
+ <vertex index="3421" x="56.1179" y="44.3526" z="24.7001" />
+ <vertex index="3422" x="55.7331" y="44.2198" z="25.2382" />
+ <vertex index="3423" x="55.4112" y="42.4511" z="46.4356" />
+ <vertex index="3424" x="59.5304" y="43.3743" z="34.9478" />
+ <vertex index="3425" x="59.1692" y="42.8776" z="35.2066" />
+ <vertex index="3426" x="58.5788" y="52.1069" z="4.20027" />
+ <vertex index="3427" x="58.8318" y="52.5956" z="4.34351" />
+ <vertex index="3428" x="58.5515" y="52.1131" z="4.5253" />
+ <vertex index="3429" x="57.989" y="49.8017" z="15.5395" />
+ <vertex index="3430" x="57.9854" y="49.2316" z="16.162" />
+ <vertex index="3431" x="48.2338" y="41.9641" z="32.6438" />
+ <vertex index="3432" x="48.553" y="42.5363" z="32.5037" />
+ <vertex index="3433" x="48.6052" y="41.9229" z="32.0844" />
+ <vertex index="3434" x="56.1664" y="40.1959" z="46.1921" />
+ <vertex index="3435" x="48.8301" y="42.6206" z="34.1551" />
+ <vertex index="3436" x="48.1961" y="42.3813" z="34.009" />
+ <vertex index="3437" x="48.3945" y="42.2855" z="34.787" />
+ <vertex index="3438" x="55.921" y="48.8844" z="19.1433" />
+ <vertex index="3439" x="56.4298" y="49.0192" z="19.1521" />
+ <vertex index="3440" x="56.1093" y="49.1548" z="18.6736" />
+ <vertex index="3441" x="56.1655" y="48.2519" z="20.8808" />
+ <vertex index="3442" x="56.7337" y="48.0232" z="21.2224" />
+ <vertex index="3443" x="56.7097" y="48.364" z="20.4516" />
+ <vertex index="3444" x="55.0653" y="44.4263" z="27.3993" />
+ <vertex index="3445" x="55.1561" y="43.9154" z="27.8568" />
+ <vertex index="3446" x="53.3628" y="41.7741" z="31.5968" />
+ <vertex index="3447" x="57.9547" y="43.5618" z="36.2293" />
+ <vertex index="3448" x="58.1434" y="43.041" z="35.768" />
+ <vertex index="3449" x="58.0382" y="42.8973" z="36.5774" />
+ <vertex index="3450" x="58.6736" y="42.1739" z="40.2564" />
+ <vertex index="3451" x="58.7171" y="42.2955" z="41.1625" />
+ <vertex index="3452" x="58.2567" y="41.8217" z="41.0389" />
+ <vertex index="3453" x="57.8854" y="41.5501" z="41.8448" />
+ <vertex index="3454" x="58.3919" y="41.9889" z="41.6629" />
+ <vertex index="3455" x="58.3453" y="41.9202" z="42.3351" />
+ <vertex index="3456" x="55.959" y="39.8279" z="47.4999" />
+ <vertex index="3457" x="56.2107" y="39.6891" z="48.2009" />
+ <vertex index="3458" x="56.1974" y="48.793" z="19.5913" />
+ <vertex index="3459" x="56.3235" y="40.5596" z="33.6547" />
+ <vertex index="3460" x="56.5978" y="40.8353" z="32.9345" />
+ <vertex index="3461" x="56.9514" y="41.0202" z="33.6218" />
+ <vertex index="3462" x="55.9979" y="53.4917" z="5.28706" />
+ <vertex index="3463" x="55.7891" y="53.3191" z="4.73423" />
+ <vertex index="3464" x="55.8502" y="52.8562" z="5.09988" />
+ <vertex index="3465" x="57.5306" y="54.291" z="5.76418" />
+ <vertex index="3466" x="57.8253" y="54.5017" z="5.27388" />
+ <vertex index="3467" x="56.9548" y="54.4253" z="5.17537" />
+ <vertex index="3468" x="57.7587" y="53.8216" z="6.96447" />
+ <vertex index="3469" x="58.1021" y="53.5554" z="7.33577" />
+ <vertex index="3470" x="58.0885" y="52.7054" z="9.57741" />
+ <vertex index="3471" x="58.1283" y="53.0289" z="8.67626" />
+ <vertex index="3472" x="57.5248" y="53.084" z="9.12726" />
+ <vertex index="3473" x="57.3823" y="52.8075" z="9.89958" />
+ <vertex index="3474" x="56.3566" y="50.3724" z="15.776" />
+ <vertex index="3475" x="56.2948" y="50.0785" z="16.5094" />
+ <vertex index="3476" x="57.0232" y="50.2634" z="16.2173" />
+ <vertex index="3477" x="57.18" y="47.9367" z="20.6437" />
+ <vertex index="3478" x="57.1742" y="48.347" z="19.9018" />
+ <vertex index="3479" x="56.5944" y="46.6859" z="24.632" />
+ <vertex index="3480" x="56.8977" y="46.1952" z="25.2928" />
+ <vertex index="3481" x="57.0792" y="46.1886" z="24.5094" />
+ <vertex index="3482" x="56.8629" y="46.7526" z="23.9089" />
+ <vertex index="3483" x="55.4859" y="46.3463" z="31.1215" />
+ <vertex index="3484" x="55.4139" y="46.1492" z="30.5309" />
+ <vertex index="3485" x="56.7098" y="45.4468" z="33.7494" />
+ <vertex index="3486" x="53.4414" y="41.5535" z="39.8058" />
+ <vertex index="3487" x="52.828" y="41.0427" z="39.6063" />
+ <vertex index="3488" x="53.4836" y="40.6593" z="39.6665" />
+ <vertex index="3489" x="54.1509" y="41.1697" z="39.8369" />
+ <vertex index="3490" x="45.6627" y="39.4854" z="41.6057" />
+ <vertex index="3491" x="45.6375" y="39.7214" z="40.874" />
+ <vertex index="3492" x="45.0994" y="39.4144" z="41.2996" />
+ <vertex index="3493" x="42.2409" y="38.363" z="45.5606" />
+ <vertex index="3494" x="42.4669" y="38.1237" z="46.1048" />
+ <vertex index="3495" x="42.9212" y="36.6092" z="46.102" />
+ <vertex index="3496" x="43.7145" y="37.0337" z="45.6514" />
+ <vertex index="3497" x="43.1952" y="37.3093" z="46.1674" />
+ <vertex index="3498" x="42.6517" y="37.0871" z="46.6422" />
+ <vertex index="3499" x="56.9677" y="50.599" z="15.3936" />
+ <vertex index="3500" x="56.1269" y="47.891" z="21.7929" />
+ <vertex index="3501" x="52.064" y="42.9184" z="31.6817" />
+ <vertex index="3502" x="51.5276" y="43.1306" z="31.6805" />
+ <vertex index="3503" x="51.4716" y="42.7928" z="31.7192" />
+ <vertex index="3504" x="51.795" y="42.6217" z="31.5199" />
+ <vertex index="3505" x="48.1447" y="42.2268" z="33.2193" />
+ <vertex index="3506" x="48.595" y="42.7693" z="33.3548" />
+ <vertex index="3507" x="52.9122" y="40.6275" z="33.802" />
+ <vertex index="3508" x="52.3991" y="41.1995" z="33.716" />
+ <vertex index="3509" x="49.4197" y="40.4703" z="34.3263" />
+ <vertex index="3510" x="49.4287" y="40.6261" z="33.617" />
+ <vertex index="3511" x="49.8565" y="40.9325" z="33.9473" />
+ <vertex index="3512" x="49.9549" y="42.0371" z="34.0059" />
+ <vertex index="3513" x="49.8903" y="41.3821" z="34.302" />
+ <vertex index="3514" x="50.2759" y="41.5136" z="33.5528" />
+ <vertex index="3515" x="58.712" y="42.6613" z="34.9596" />
+ <vertex index="3516" x="58.8168" y="42.581" z="35.4831" />
+ <vertex index="3517" x="58.4003" y="42.668" z="35.4451" />
+ <vertex index="3518" x="55.7911" y="45.5138" z="36.9969" />
+ <vertex index="3519" x="55.1115" y="45.9911" z="36.7968" />
+ <vertex index="3520" x="55.2033" y="45.7108" z="37.5534" />
+ <vertex index="3521" x="41.2732" y="36.0019" z="45.6045" />
+ <vertex index="3522" x="41.8926" y="36.078" z="45.1282" />
+ <vertex index="3523" x="41.8481" y="36.002" z="45.7402" />
+ <vertex index="3524" x="41.3776" y="35.9223" z="46.2814" />
+ <vertex index="3525" x="55.8666" y="52.7031" z="4.40802" />
+ <vertex index="3526" x="57.8075" y="43.6028" z="32.5527" />
+ <vertex index="3527" x="57.1714" y="43.2948" z="32.7363" />
+ <vertex index="3528" x="57.5258" y="43.4464" z="32.3446" />
+ <vertex index="3529" x="57.9047" y="43.297" z="32.2146" />
+ <vertex index="3530" x="54.5134" y="46.0262" z="37.3666" />
+ <vertex index="3531" x="57.2498" y="41.8042" z="40.3477" />
+ <vertex index="3532" x="57.6881" y="41.9219" z="39.5957" />
+ <vertex index="3533" x="57.9867" y="41.7739" z="40.2988" />
+ <vertex index="3534" x="57.6772" y="48.4065" z="14.4359" />
+ <vertex index="3535" x="57.8767" y="48.4959" z="15.1887" />
+ <vertex index="3536" x="57.3651" y="48.0239" z="15.1418" />
+ <vertex index="3537" x="56.9447" y="45.3601" z="27.286" />
+ <vertex index="3538" x="56.7867" y="45.7391" z="26.6634" />
+ <vertex index="3539" x="56.5114" y="45.7521" z="27.3583" />
+ <vertex index="3540" x="57.3111" y="42.6334" z="33.0657" />
+ <vertex index="3541" x="57.0956" y="43.1466" z="33.2351" />
+ <vertex index="3542" x="42.0821" y="36.1828" z="46.2654" />
+ <vertex index="3543" x="56.0695" y="53.8607" z="4.94136" />
+ <vertex index="3544" x="57.4688" y="48.578" z="13.2349" />
+ <vertex index="3545" x="55.3891" y="48.5713" z="16.2654" />
+ <vertex index="3546" x="55.7631" y="47.9145" z="16.2028" />
+ <vertex index="3547" x="55.3562" y="48.0702" z="16.9159" />
+ <vertex index="3548" x="51.6154" y="41.9049" z="30.6382" />
+ <vertex index="3549" x="52.278" y="42.0319" z="30.4616" />
+ <vertex index="3550" x="51.3055" y="42.4449" z="31.7962" />
+ <vertex index="3551" x="51.2096" y="41.976" z="31.7655" />
+ <vertex index="3552" x="51.6185" y="42.2476" z="31.3888" />
+ <vertex index="3553" x="52.012" y="43.3293" z="31.7259" />
+ <vertex index="3554" x="59.5126" y="43.6316" z="34.1971" />
+ <vertex index="3555" x="58.4558" y="42.3892" z="36.9984" />
+ <vertex index="3556" x="58.5333" y="42.5317" z="36.084" />
+ <vertex index="3557" x="59.0683" y="42.5927" z="36.6409" />
+ <vertex index="3558" x="44.2409" y="37.6505" z="45.1038" />
+ <vertex index="3559" x="44.763" y="38.0184" z="44.3816" />
+ <vertex index="3560" x="44.1296" y="38.2528" z="44.6435" />
+ <vertex index="3561" x="41.7463" y="38.2649" z="46.1677" />
+ <vertex index="3562" x="41.9203" y="37.9297" z="46.7257" />
+ <vertex index="3563" x="55.2561" y="47.7742" z="20.4819" />
+ <vertex index="3564" x="55.5882" y="47.9151" z="21.13" />
+ <vertex index="3565" x="55.6786" y="48.2786" z="20.3699" />
+ <vertex index="3566" x="59.6026" y="44.2072" z="37.5366" />
+ <vertex index="3567" x="59.3771" y="44.2949" z="38.329" />
+ <vertex index="3568" x="59.6281" y="43.6986" z="38.1506" />
+ <vertex index="3569" x="59.7112" y="43.5244" z="37.3733" />
+ <vertex index="3570" x="55.8141" y="47.5465" z="22.5912" />
+ <vertex index="3571" x="56.4136" y="47.5786" z="22.599" />
+ <vertex index="3572" x="45.0237" y="39.2445" z="42.0382" />
+ <vertex index="3573" x="54.9817" y="45.9941" z="30.1183" />
+ <vertex index="3574" x="55.1934" y="45.4977" z="29.5268" />
+ <vertex index="3575" x="56.3899" y="42.8487" z="46.0213" />
+ <vertex index="3576" x="56.6295" y="42.6388" z="46.7012" />
+ <vertex index="3577" x="57.0129" y="42.7025" z="46.0114" />
+ <vertex index="3578" x="55.4066" y="42.893" z="39.7256" />
+ <vertex index="3579" x="54.7869" y="42.4867" z="40.0823" />
+ <vertex index="3580" x="55.2879" y="42.1303" z="39.8563" />
+ <vertex index="3581" x="57.0392" y="40.784" z="48.9879" />
+ <vertex index="3582" x="56.5435" y="40.7891" z="48.9349" />
+ <vertex index="3583" x="56.9292" y="40.1446" z="48.8055" />
+ <vertex index="3584" x="56.4087" y="47.614" z="15.9317" />
+ <vertex index="3585" x="51.1658" y="42.082" z="30.2433" />
+ <vertex index="3586" x="50.9842" y="41.7569" z="30.846" />
+ <vertex index="3587" x="52.4108" y="40.8725" z="34.5335" />
+ <vertex index="3588" x="51.9441" y="41.5406" z="34.3329" />
+ <vertex index="3589" x="46.2709" y="39.723" z="41.0735" />
+ <vertex index="3590" x="57.5171" y="43.3061" z="44.032" />
+ <vertex index="3591" x="56.8934" y="43.4141" z="44.1643" />
+ <vertex index="3592" x="57.1712" y="43.1772" z="44.7415" />
+ <vertex index="3593" x="56.6484" y="53.7716" z="6.6047" />
+ <vertex index="3594" x="56.1504" y="53.2421" z="6.64721" />
+ <vertex index="3595" x="56.5027" y="53.3918" z="7.3488" />
+ <vertex index="3596" x="56.0602" y="52.7934" z="7.38477" />
+ <vertex index="3597" x="58.2937" y="50.588" z="8.30195" />
+ <vertex index="3598" x="57.7687" y="50.1662" z="8.54148" />
+ <vertex index="3599" x="57.86" y="50.4899" z="7.77813" />
+ <vertex index="3600" x="56.2536" y="46.8369" z="17.9965" />
+ <vertex index="3601" x="56.0516" y="46.6128" z="18.7643" />
+ <vertex index="3602" x="55.6164" y="47.1162" z="18.312" />
+ <vertex index="3603" x="58.8098" y="43.563" z="32.1812" />
+ <vertex index="3604" x="48.1719" y="41.7953" z="36.2337" />
+ <vertex index="3605" x="48.6364" y="41.9953" z="35.5242" />
+ <vertex index="3606" x="47.9617" y="41.984" z="35.432" />
+ <vertex index="3607" x="45.8942" y="39.9832" z="38.544" />
+ <vertex index="3608" x="55.3641" y="41.4854" z="39.554" />
+ <vertex index="3609" x="55.7315" y="42.1454" z="39.396" />
+ <vertex index="3610" x="55.1195" y="47.107" z="20.5322" />
+ <vertex index="3611" x="55.1756" y="47.3455" z="21.2361" />
+ <vertex index="3612" x="57.0637" y="49.9917" z="8.94973" />
+ <vertex index="3613" x="56.5765" y="50.4382" z="8.36483" />
+ <vertex index="3614" x="57.2243" y="50.3122" z="8.04221" />
+ <vertex index="3615" x="56.8655" y="41.7212" z="41.1251" />
+ <vertex index="3616" x="43.1117" y="37.8773" z="45.9098" />
+ <vertex index="3617" x="56.2604" y="53.6461" z="5.95808" />
+ <vertex index="3618" x="58.5194" y="52.5011" z="8.90678" />
+ <vertex index="3619" x="55.2908" y="48.7432" z="17.0193" />
+ <vertex index="3620" x="55.6257" y="49.3534" z="17.1714" />
+ <vertex index="3621" x="53.1071" y="40.3809" z="34.4717" />
+ <vertex index="3622" x="48.5455" y="39.6808" z="37.6411" />
+ <vertex index="3623" x="48.5027" y="39.9302" z="38.2796" />
+ <vertex index="3624" x="48.3018" y="39.3291" z="38.2873" />
+ <vertex index="3625" x="59.184" y="42.7201" z="39.7652" />
+ <vertex index="3626" x="59.431" y="43.3174" z="39.34" />
+ <vertex index="3627" x="44.5406" y="39.0826" z="41.6821" />
+ <vertex index="3628" x="44.0131" y="38.6985" z="42.0841" />
+ <vertex index="3629" x="56.196" y="43.033" z="45.3603" />
+ <vertex index="3630" x="55.7675" y="42.828" z="45.2092" />
+ <vertex index="3631" x="55.8183" y="42.7661" z="45.8752" />
+ <vertex index="3632" x="58.5939" y="52.7373" z="8.04782" />
+ <vertex index="3633" x="58.8461" y="52.0596" z="7.79362" />
+ <vertex index="3634" x="57.8113" y="52.5004" z="10.4636" />
+ <vertex index="3635" x="57.5384" y="47.7811" z="20.0317" />
+ <vertex index="3636" x="56.6528" y="48.7326" z="19.7524" />
+ <vertex index="3637" x="55.0132" y="46.3053" z="23.6372" />
+ <vertex index="3638" x="55.009" y="46.2294" z="24.3543" />
+ <vertex index="3639" x="55.1942" y="46.5979" z="23.9786" />
+ <vertex index="3640" x="55.2475" y="46.8119" z="23.3992" />
+ <vertex index="3641" x="59.0258" y="42.4627" z="37.5018" />
+ <vertex index="3642" x="46.217" y="40.4149" z="38.0377" />
+ <vertex index="3643" x="43.5301" y="38.4357" z="42.465" />
+ <vertex index="3644" x="55.537" y="41.7453" z="43.7746" />
+ <vertex index="3645" x="55.4112" y="41.3832" z="44.5685" />
+ <vertex index="3646" x="55.3474" y="42.0705" z="44.5733" />
+ <vertex index="3647" x="49.1456" y="41.942" z="31.5307" />
+ <vertex index="3648" x="49.6092" y="41.4401" z="31.559" />
+ <vertex index="3649" x="49.0119" y="41.4464" z="32.0758" />
+ <vertex index="3650" x="56.7963" y="47.3914" z="16.5384" />
+ <vertex index="3651" x="55.6342" y="50.1954" z="12.1612" />
+ <vertex index="3652" x="55.7433" y="49.6127" z="12.4165" />
+ <vertex index="3653" x="55.5357" y="50.1898" z="12.8546" />
+ <vertex index="3654" x="56.3801" y="53.5976" z="4.93468" />
+ <vertex index="3655" x="58.8111" y="51.5435" z="8.45788" />
+ <vertex index="3656" x="58.7361" y="51.4261" z="7.64787" />
+ <vertex index="3657" x="56.3502" y="50.2784" z="9.17018" />
+ <vertex index="3658" x="58.4923" y="50.6964" z="12.5045" />
+ <vertex index="3659" x="58.4555" y="50.0212" z="13.0448" />
+ <vertex index="3660" x="58.5005" y="50.0772" z="12.3515" />
+ <vertex index="3661" x="55.6677" y="47.2175" z="23.285" />
+ <vertex index="3662" x="54.1191" y="42.8771" z="40.0876" />
+ <vertex index="3663" x="54.7522" y="43.3277" z="39.9939" />
+ <vertex index="3664" x="56.8225" y="40.6766" z="44.8793" />
+ <vertex index="3665" x="57.0836" y="40.887" z="44.105" />
+ <vertex index="3666" x="57.4593" y="41.1012" z="44.7265" />
+ <vertex index="3667" x="57.2044" y="40.8464" z="45.6086" />
+ <vertex index="3668" x="57.8097" y="44.1913" z="41.1511" />
+ <vertex index="3669" x="57.916" y="44.4396" z="40.4061" />
+ <vertex index="3670" x="57.3189" y="44.2893" z="40.7103" />
+ <vertex index="3671" x="57.2079" y="44.0558" z="41.4482" />
+ <vertex index="3672" x="56.8404" y="41.3977" z="49.136" />
+ <vertex index="3673" x="47.7763" y="42.032" z="34.6204" />
+ <vertex index="3674" x="46.1309" y="40.0137" z="40.2781" />
+ <vertex index="3675" x="56.0814" y="48.0211" z="15.334" />
+ <vertex index="3676" x="55.2694" y="46.0764" z="25.9294" />
+ <vertex index="3677" x="50.3169" y="42.2816" z="33.3702" />
+ <vertex index="3678" x="49.8594" y="42.5354" z="33.6675" />
+ <vertex index="3679" x="44.2946" y="38.5691" z="41.3728" />
+ <vertex index="3680" x="40.9727" y="38.3068" z="46.0924" />
+ <vertex index="3681" x="41.1905" y="38.1719" z="46.7996" />
+ <vertex index="3682" x="58.2415" y="43.1113" z="35.0381" />
+ <vertex index="3683" x="52.8179" y="40.3589" z="39.2991" />
+ <vertex index="3684" x="53.5088" y="40.0293" z="39.0804" />
+ <vertex index="3685" x="59.0767" y="42.761" z="40.6235" />
+ <vertex index="3686" x="43.9756" y="38.6811" z="44.0205" />
+ <vertex index="3687" x="56.5336" y="40.4272" z="45.588" />
+ <vertex index="3688" x="52.2051" y="42.194" z="32.9688" />
+ <vertex index="3689" x="56.7286" y="48.7819" z="12.4893" />
+ <vertex index="3690" x="57.4342" y="48.8137" z="12.4428" />
+ <vertex index="3691" x="59.673" y="44.0217" z="34.7662" />
+ <vertex index="3692" x="53.3274" y="40.743" z="32.6465" />
+ <vertex index="3693" x="53.376" y="41.1866" z="32.0889" />
+ <vertex index="3694" x="55.3971" y="43.8796" z="27.3017" />
+ <vertex index="3695" x="55.537" y="43.5164" z="27.9921" />
+ <vertex index="3696" x="54.9324" y="43.5557" z="28.4877" />
+ <vertex index="3697" x="59.4931" y="43.836" z="38.8917" />
+ <vertex index="3698" x="59.3161" y="43.8837" z="39.6158" />
+ <vertex index="3699" x="54.7861" y="41.6741" z="39.9447" />
+ <vertex index="3700" x="52.1189" y="43.6476" z="31.7001" />
+ <vertex index="3701" x="49.9522" y="41.0118" z="32.6188" />
+ <vertex index="3702" x="49.525" y="41.0654" z="32.2423" />
+ <vertex index="3703" x="50.2528" y="41.2783" z="31.9818" />
+ <vertex index="3704" x="52.2385" y="40.7475" z="39.2857" />
+ <vertex index="3705" x="56.6079" y="49.3009" z="18.5148" />
+ <vertex index="3706" x="50.6924" y="43.4425" z="36.0024" />
+ <vertex index="3707" x="50.6389" y="43.0345" z="36.7153" />
+ <vertex index="3708" x="50.6996" y="43.8335" z="36.7463" />
+ <vertex index="3709" x="55.7812" y="48.5856" z="19.6992" />
+ <vertex index="3710" x="55.0945" y="45.0965" z="27.3561" />
+ <vertex index="3711" x="59.2478" y="44.5608" z="33.0571" />
+ <vertex index="3712" x="58.2066" y="43.9736" z="33.6797" />
+ <vertex index="3713" x="53.3413" y="40.3966" z="33.2529" />
+ <vertex index="3714" x="45.2637" y="37.0132" z="42.507" />
+ <vertex index="3715" x="45.4245" y="37.2077" z="43.0036" />
+ <vertex index="3716" x="44.931" y="36.8771" z="43.1737" />
+ <vertex index="3717" x="56.1377" y="52.2698" z="9.68065" />
+ <vertex index="3718" x="56.8412" y="45.2769" z="23.1712" />
+ <vertex index="3719" x="57.1143" y="45.6431" z="23.4644" />
+ <vertex index="3720" x="56.8425" y="45.0197" z="23.8878" />
+ <vertex index="3721" x="44.8177" y="37.2934" z="44.3874" />
+ <vertex index="3722" x="45.3499" y="37.8128" z="43.867" />
+ <vertex index="3723" x="46.3595" y="39.1623" z="41.7888" />
+ <vertex index="3724" x="59.2784" y="42.7903" z="38.9151" />
+ <vertex index="3725" x="57.5918" y="42.2855" z="33.659" />
+ <vertex index="3726" x="57.4651" y="41.5461" z="33.611" />
+ <vertex index="3727" x="57.5408" y="41.9801" z="32.9365" />
+ <vertex index="3728" x="56.461" y="51.9309" z="11.7078" />
+ <vertex index="3729" x="56.9888" y="52.241" z="11.2831" />
+ <vertex index="3730" x="55.3679" y="46.5981" z="24.5538" />
+ <vertex index="3731" x="55.1398" y="46.1996" z="25.0725" />
+ <vertex index="3732" x="57.2298" y="41.8065" z="32.3504" />
+ <vertex index="3733" x="57.284" y="42.372" z="32.4462" />
+ <vertex index="3734" x="56.8358" y="44.3584" z="33.4893" />
+ <vertex index="3735" x="55.4966" y="48.5164" z="19.1088" />
+ <vertex index="3736" x="53.6835" y="41.8497" z="30.9402" />
+ <vertex index="3737" x="53.1029" y="42.0444" z="30.2255" />
+ <vertex index="3738" x="55.7468" y="40.0226" z="46.7935" />
+ <vertex index="3739" x="55.1709" y="40.3434" z="46.7731" />
+ <vertex index="3740" x="57.1262" y="53.7421" z="7.17114" />
+ <vertex index="3741" x="58.0952" y="44.3918" z="34.0531" />
+ <vertex index="3742" x="47.0704" y="41.3952" z="36.5936" />
+ <vertex index="3743" x="47.5061" y="41.7262" z="36.0768" />
+ <vertex index="3744" x="47.0678" y="41.4138" z="35.9086" />
+ <vertex index="3745" x="56.7487" y="40.4281" z="46.2875" />
+ <vertex index="3746" x="56.3638" y="40.0752" z="46.8789" />
+ <vertex index="3747" x="55.8737" y="52.5573" z="6.60276" />
+ <vertex index="3748" x="58.3186" y="43.302" z="31.5947" />
+ <vertex index="3749" x="55.2984" y="39.9588" z="47.4945" />
+ <vertex index="3750" x="56.6279" y="47.2094" z="23.2562" />
+ <vertex index="3751" x="57.0921" y="46.7793" z="23.2209" />
+ <vertex index="3752" x="57.3557" y="41.1501" z="43.2784" />
+ <vertex index="3753" x="57.3323" y="41.2416" z="42.4392" />
+ <vertex index="3754" x="57.8815" y="41.5128" z="42.7258" />
+ <vertex index="3755" x="57.7214" y="42.8699" z="44.5729" />
+ <vertex index="3756" x="57.9967" y="53.9879" z="6.29875" />
+ <vertex index="3757" x="58.1836" y="45.6327" z="34.2505" />
+ <vertex index="3758" x="58.4637" y="45.6181" z="33.565" />
+ <vertex index="3759" x="57.0011" y="52.9386" z="9.40207" />
+ <vertex index="3760" x="57.8035" y="44.9159" z="35.6164" />
+ <vertex index="3761" x="57.9008" y="44.2801" z="35.8663" />
+ <vertex index="3762" x="57.7288" y="44.7658" z="36.3386" />
+ <vertex index="3763" x="54.2127" y="40.4049" z="39.4162" />
+ <vertex index="3764" x="55.86" y="39.3581" z="48.6601" />
+ <vertex index="3765" x="57.9242" y="43.0203" z="31.7964" />
+ <vertex index="3766" x="58.6822" y="42.3888" z="41.9321" />
+ <vertex index="3767" x="58.9203" y="42.8685" z="41.4305" />
+ <vertex index="3768" x="47.414" y="39.0882" z="40.7175" />
+ <vertex index="3769" x="47.6618" y="38.6768" z="40.0325" />
+ <vertex index="3770" x="55.7335" y="51.1892" z="10.9183" />
+ <vertex index="3771" x="55.8605" y="51.6753" z="10.1993" />
+ <vertex index="3772" x="55.7311" y="50.9643" z="10.2483" />
+ <vertex index="3773" x="47.0373" y="39.262" z="36.705" />
+ <vertex index="3774" x="47.4287" y="39.4828" z="36.093" />
+ <vertex index="3775" x="47.8741" y="39.2551" z="36.6008" />
+ <vertex index="3776" x="54.061" y="39.8847" z="35.3844" />
+ <vertex index="3777" x="54.5286" y="39.8443" z="34.5474" />
+ <vertex index="3778" x="54.9959" y="39.901" z="35.2507" />
+ <vertex index="3779" x="52.0033" y="40.1918" z="36.7851" />
+ <vertex index="3780" x="51.985" y="40.3435" z="35.9958" />
+ <vertex index="3781" x="52.599" y="39.9809" z="36.3329" />
+ <vertex index="3782" x="53.3601" y="39.6645" z="37.4404" />
+ <vertex index="3783" x="52.638" y="39.8486" z="37.1129" />
+ <vertex index="3784" x="53.2655" y="39.7778" z="36.6769" />
+ <vertex index="3785" x="53.4749" y="39.7314" z="38.2813" />
+ <vertex index="3786" x="54.2535" y="39.9686" z="38.6626" />
+ <vertex index="3787" x="58.6115" y="51.0436" z="8.15145" />
+ <vertex index="3788" x="58.3783" y="50.8819" z="7.62601" />
+ <vertex index="3789" x="55.2526" y="47.3172" z="19.0849" />
+ <vertex index="3790" x="55.1817" y="47.7603" z="18.332" />
+ <vertex index="3791" x="58.9508" y="44.3712" z="32.1747" />
+ <vertex index="3792" x="57.3261" y="43.629" z="32.7635" />
+ <vertex index="3793" x="56.1979" y="42.5244" z="47.3934" />
+ <vertex index="3794" x="56.8353" y="42.2358" z="47.306" />
+ <vertex index="3795" x="54.7659" y="40.5072" z="47.593" />
+ <vertex index="3796" x="55.5551" y="48.4687" z="15.4854" />
+ <vertex index="3797" x="55.8372" y="48.5223" z="14.5879" />
+ <vertex index="3798" x="57.7824" y="45.284" z="32.9319" />
+ <vertex index="3799" x="57.3883" y="42.7779" z="45.3158" />
+ <vertex index="3800" x="57.0692" y="45.1796" z="26.566" />
+ <vertex index="3801" x="56.8227" y="54.0891" z="5.87973" />
+ <vertex index="3802" x="57.6746" y="45.4459" z="32.6386" />
+ <vertex index="3803" x="44.5665" y="38.4578" z="44.091" />
+ <vertex index="3804" x="56.7667" y="49.5378" z="10.3708" />
+ <vertex index="3805" x="56.6075" y="49.869" z="9.71921" />
+ <vertex index="3806" x="57.2428" y="49.6828" z="9.77416" />
+ <vertex index="3807" x="47.8396" y="41.8507" z="33.8462" />
+ <vertex index="3808" x="48.8508" y="40.6599" z="33.35" />
+ <vertex index="3809" x="48.861" y="40.3303" z="34.0313" />
+ <vertex index="3810" x="56.5592" y="40.0358" z="47.5974" />
+ <vertex index="3811" x="56.9008" y="40.4168" z="47.0339" />
+ <vertex index="3812" x="57.0313" y="40.4555" z="47.7436" />
+ <vertex index="3813" x="50.444" y="43.1907" z="32.5181" />
+ <vertex index="3814" x="50.8918" y="43.5014" z="31.8972" />
+ <vertex index="3815" x="55.2356" y="43.6673" z="39.7162" />
+ <vertex index="3816" x="54.7665" y="44.1295" z="39.8469" />
+ <vertex index="3817" x="55.7619" y="42.3708" z="48.1072" />
+ <vertex index="3818" x="49.8488" y="43.7129" z="31.3185" />
+ <vertex index="3819" x="49.2392" y="43.0923" z="31.4617" />
+ <vertex index="3820" x="55.6189" y="46.0338" z="26.7324" />
+ <vertex index="3821" x="55.9475" y="45.9074" z="27.4064" />
+ <vertex index="3822" x="56.2575" y="46.0922" z="26.7327" />
+ <vertex index="3823" x="53.8937" y="45.1545" z="29.5833" />
+ <vertex index="3824" x="56.1936" y="48.5883" z="20.1485" />
+ <vertex index="3825" x="42.506" y="36.2068" z="44.6573" />
+ <vertex index="3826" x="41.9264" y="36.2915" z="44.5483" />
+ <vertex index="3827" x="54.9639" y="42.8673" z="29.0534" />
+ <vertex index="3828" x="55.5984" y="43.116" z="28.7006" />
+ <vertex index="3829" x="55.6752" y="42.6495" z="29.3719" />
+ <vertex index="3830" x="56.1421" y="47.4019" z="16.6809" />
+ <vertex index="3831" x="58.2614" y="50.3395" z="9.03662" />
+ <vertex index="3832" x="58.5922" y="50.9005" z="8.79706" />
+ <vertex index="3833" x="55.8234" y="42.7892" z="43.0245" />
+ <vertex index="3834" x="56.1468" y="43.1024" z="42.3411" />
+ <vertex index="3835" x="54.8959" y="40.4242" z="38.9914" />
+ <vertex index="3836" x="46.889" y="39.8077" z="36.2078" />
+ <vertex index="3837" x="59.4467" y="42.9525" z="38.0194" />
+ <vertex index="3838" x="58.9062" y="42.3903" z="38.3942" />
+ <vertex index="3839" x="56.5224" y="47.0902" z="17.2426" />
+ <vertex index="3840" x="57.4626" y="41.363" z="46.7838" />
+ <vertex index="3841" x="57.3244" y="41.3748" z="47.3812" />
+ <vertex index="3842" x="57.2487" y="40.8975" z="47.2274" />
+ <vertex index="3843" x="58.1146" y="52.0503" z="11.0063" />
+ <vertex index="3844" x="58.3552" y="52.1826" z="10.2261" />
+ <vertex index="3845" x="46.8995" y="39.4252" z="41.0325" />
+ <vertex index="3846" x="44.7077" y="38.7505" z="43.5174" />
+ <vertex index="3847" x="45.1114" y="38.3722" z="43.7358" />
+ <vertex index="3848" x="54.978" y="45.7616" z="25.4404" />
+ <vertex index="3849" x="54.9475" y="45.4222" z="26.0197" />
+ <vertex index="3850" x="45.222" y="37.1852" z="41.2384" />
+ <vertex index="3851" x="45.8878" y="37.2908" z="41.0635" />
+ <vertex index="3852" x="45.5897" y="37.1534" z="41.7903" />
+ <vertex index="3853" x="55.3622" y="40.8949" z="39.1959" />
+ <vertex index="3854" x="54.8435" y="40.9467" z="39.583" />
+ <vertex index="3855" x="57.2635" y="46.7583" z="22.5501" />
+ <vertex index="3856" x="57.3568" y="46.7232" z="21.9937" />
+ <vertex index="3857" x="57.2186" y="47.1842" z="22.0156" />
+ <vertex index="3858" x="48.0059" y="41.6297" z="33.145" />
+ <vertex index="3859" x="47.7646" y="41.1848" z="33.7686" />
+ <vertex index="3860" x="56.7946" y="43.9255" z="40.9583" />
+ <vertex index="3861" x="55.9174" y="53.0451" z="5.89854" />
+ <vertex index="3862" x="57.3094" y="54.0068" z="6.46121" />
+ <vertex index="3863" x="45.5894" y="39.136" z="42.3606" />
+ <vertex index="3864" x="48.8629" y="42.5287" z="31.7215" />
+ <vertex index="3865" x="48.4574" y="41.4794" z="32.5878" />
+ <vertex index="3866" x="51.7093" y="41.2286" z="39.0989" />
+ <vertex index="3867" x="52.3174" y="41.4559" z="39.4251" />
+ <vertex index="3868" x="51.839" y="42.0529" z="39.1791" />
+ <vertex index="3869" x="45.169" y="37.2336" z="43.6255" />
+ <vertex index="3870" x="50.5125" y="43.8649" z="31.5458" />
+ <vertex index="3871" x="50.7195" y="44.098" z="30.8768" />
+ <vertex index="3872" x="57.0641" y="45.6547" z="25.9341" />
+ <vertex index="3873" x="57.1939" y="45.4695" z="25.0995" />
+ <vertex index="3874" x="57.6151" y="44.6512" z="37.0698" />
+ <vertex index="3875" x="42.5974" y="37.6294" z="46.5045" />
+ <vertex index="3876" x="42.0033" y="37.3092" z="47.1507" />
+ <vertex index="3877" x="57.1947" y="47.5696" z="21.3694" />
+ <vertex index="3878" x="55.6247" y="42.6813" z="44.5993" />
+ <vertex index="3879" x="55.3591" y="42.4207" z="45.4709" />
+ <vertex index="3880" x="51.085" y="44.6648" z="36.7457" />
+ <vertex index="3881" x="50.8458" y="44.1979" z="36.0401" />
+ <vertex index="3882" x="57.3018" y="49.5503" z="17.4094" />
+ <vertex index="3883" x="57.6763" y="48.9244" z="17.6671" />
+ <vertex index="3884" x="55.3959" y="45.6292" z="27.4028" />
+ <vertex index="3885" x="56.4868" y="39.6942" z="48.7489" />
+ <vertex index="3886" x="56.1897" y="40.0768" z="48.7631" />
+ <vertex index="3887" x="55.9423" y="42.7146" z="46.6676" />
+ <vertex index="3888" x="49.6378" y="43.1234" z="30.8944" />
+ <vertex index="3889" x="49.3046" y="42.5361" z="31.0695" />
+ <vertex index="3890" x="51.6345" y="44.1348" z="33.4653" />
+ <vertex index="3891" x="52.1451" y="44.0203" z="32.6885" />
+ <vertex index="3892" x="51.7937" y="43.3573" z="33.2922" />
+ <vertex index="3893" x="57.8767" y="45.2761" z="36.1316" />
+ <vertex index="3894" x="55.1864" y="40.714" z="46.0726" />
+ <vertex index="3895" x="51.1193" y="43.9818" z="31.4399" />
+ <vertex index="3896" x="57.1557" y="41.3849" z="32.9515" />
+ <vertex index="3897" x="58.696" y="42.9881" z="42.217" />
+ <vertex index="3898" x="58.553" y="42.4443" z="42.6993" />
+ <vertex index="3899" x="56.7943" y="43.032" z="45.3966" />
+ <vertex index="3900" x="57.1518" y="45.5734" z="24.2254" />
+ <vertex index="3901" x="50.8556" y="44.0069" z="30.1475" />
+ <vertex index="3902" x="50.2397" y="43.4927" z="30.3746" />
+ <vertex index="3903" x="57.7691" y="48.0777" z="17.9373" />
+ <vertex index="3904" x="55.7359" y="45.7066" z="30.0301" />
+ <vertex index="3905" x="55.9363" y="45.9174" z="30.7475" />
+ <vertex index="3906" x="52.3192" y="42.7645" z="39.2991" />
+ <vertex index="3907" x="52.5629" y="42.109" z="39.4618" />
+ <vertex index="3908" x="56.2196" y="43.293" z="28.3078" />
+ <vertex index="3909" x="56.2869" y="43.0392" z="29.1476" />
+ <vertex index="3910" x="56.8906" y="46.9449" z="17.8812" />
+ <vertex index="3911" x="55.1958" y="44.322" z="26.6444" />
+ <vertex index="3912" x="55.6868" y="43.8584" z="26.6445" />
+ <vertex index="3913" x="57.1808" y="44.5995" z="28.0749" />
+ <vertex index="3914" x="57.2323" y="44.0378" z="28.4327" />
+ <vertex index="3915" x="57.0027" y="44.1243" z="27.6521" />
+ <vertex index="3916" x="57.0662" y="44.7188" z="27.2484" />
+ <vertex index="3917" x="46.3538" y="40.3525" z="37.3097" />
+ <vertex index="3918" x="50.676" y="41.9151" z="32.8713" />
+ <vertex index="3919" x="47.6637" y="41.5601" z="36.8684" />
+ <vertex index="3920" x="59.1629" y="44.3099" z="39.079" />
+ <vertex index="3921" x="42.9527" y="38.5688" z="43.7084" />
+ <vertex index="3922" x="42.6336" y="38.3602" z="43.5669" />
+ <vertex index="3923" x="42.424" y="38.4472" z="44.2188" />
+ <vertex index="3924" x="57.192" y="46.915" z="18.5652" />
+ <vertex index="3925" x="56.6244" y="43.8035" z="27.3236" />
+ <vertex index="3926" x="56.8354" y="44.1491" z="26.9113" />
+ <vertex index="3927" x="55.56" y="42.4288" z="43.7899" />
+ <vertex index="3928" x="56.2321" y="43.3413" z="43.0057" />
+ <vertex index="3929" x="48.2896" y="40.1516" z="38.7542" />
+ <vertex index="3930" x="56.3667" y="41.3487" z="42.586" />
+ <vertex index="3931" x="56.8322" y="41.2613" z="42.2867" />
+ <vertex index="3932" x="47.5116" y="41.4614" z="34.4452" />
+ <vertex index="3933" x="41.5739" y="38.0332" z="44.4731" />
+ <vertex index="3934" x="41.9434" y="38.3872" z="45.0163" />
+ <vertex index="3935" x="58.3016" y="49.8808" z="13.8969" />
+ <vertex index="3936" x="58.2534" y="49.3477" z="13.429" />
+ <vertex index="3937" x="52.6245" y="40.2054" z="35.6137" />
+ <vertex index="3938" x="56.1572" y="50.1935" z="9.814" />
+ <vertex index="3939" x="54.8362" y="41.523" z="46.8369" />
+ <vertex index="3940" x="54.8144" y="41.6781" z="47.471" />
+ <vertex index="3941" x="57.0602" y="45.1379" z="29.3553" />
+ <vertex index="3942" x="57.5604" y="44.6548" z="29.7009" />
+ <vertex index="3943" x="57.3297" y="44.6095" z="28.8666" />
+ <vertex index="3944" x="41.2677" y="36.3188" z="44.9007" />
+ <vertex index="3945" x="49.9718" y="40.936" z="33.2374" />
+ <vertex index="3946" x="56.9386" y="41.1441" z="34.8715" />
+ <vertex index="3947" x="56.7181" y="41.0829" z="35.5927" />
+ <vertex index="3948" x="56.4015" y="40.651" z="35.021" />
+ <vertex index="3949" x="57.9586" y="48.5785" z="15.9953" />
+ <vertex index="3950" x="58.1429" y="43.7316" z="34.4462" />
+ <vertex index="3951" x="58.0605" y="43.6886" z="35.3706" />
+ <vertex index="3952" x="54.2202" y="43.2178" z="28.9517" />
+ <vertex index="3953" x="47.3472" y="41.6006" z="35.2446" />
+ <vertex index="3954" x="46.1935" y="40.4556" z="38.7682" />
+ <vertex index="3955" x="46.6246" y="40.844" z="38.2555" />
+ <vertex index="3956" x="43.7109" y="36.4752" z="44.4524" />
+ <vertex index="3957" x="57.7513" y="44.1281" z="36.7057" />
+ <vertex index="3958" x="58.0995" y="49.1646" z="15.3605" />
+ <vertex index="3959" x="55.9153" y="52.3215" z="5.73859" />
+ <vertex index="3960" x="55.0171" y="45.8537" z="23.2167" />
+ <vertex index="3961" x="55.2735" y="46.8911" z="19.8461" />
+ <vertex index="3962" x="55.2986" y="46.4829" z="20.6052" />
+ <vertex index="3963" x="57.8126" y="43.108" z="31.2039" />
+ <vertex index="3964" x="57.4641" y="43.0826" z="30.495" />
+ <vertex index="3965" x="58.0315" y="43.6032" z="30.7958" />
+ <vertex index="3966" x="47.2772" y="39.6112" z="40.5018" />
+ <vertex index="3967" x="43.6328" y="37.5974" z="45.681" />
+ <vertex index="3968" x="50.9952" y="42.8362" z="32.1036" />
+ <vertex index="3969" x="57.1103" y="44.005" z="39.0467" />
+ <vertex index="3970" x="56.8396" y="43.7231" z="39.7145" />
+ <vertex index="3971" x="57.5524" y="48.213" z="19.2996" />
+ <vertex index="3972" x="56.9364" y="47.2402" z="22.6325" />
+ <vertex index="3973" x="56.7551" y="45.6327" z="31.6492" />
+ <vertex index="3974" x="56.101" y="46.0435" z="31.4276" />
+ <vertex index="3975" x="56.257" y="46.0372" z="32.1965" />
+ <vertex index="3976" x="57.7381" y="44.9342" z="38.1928" />
+ <vertex index="3977" x="58.4607" y="45.0579" z="37.8456" />
+ <vertex index="3978" x="51.6825" y="41.1502" z="35.0094" />
+ <vertex index="3979" x="57.541" y="52.2731" z="11.2076" />
+ <vertex index="3980" x="53.4875" y="40.1604" z="33.8595" />
+ <vertex index="3981" x="47.2691" y="38.4277" z="40.8026" />
+ <vertex index="3982" x="48.0263" y="39.604" z="35.7756" />
+ <vertex index="3983" x="56.5823" y="43.5397" z="40.4619" />
+ <vertex index="3984" x="57.2384" y="49.2262" z="18.2065" />
+ <vertex index="3985" x="57.6239" y="48.5867" z="18.53" />
+ <vertex index="3986" x="57.4486" y="44.054" z="29.3031" />
+ <vertex index="3987" x="45.6925" y="37.6391" z="43.1888" />
+ <vertex index="3988" x="57.1692" y="41.3823" z="41.747" />
+ <vertex index="3989" x="58.0414" y="42.975" z="43.7934" />
+ <vertex index="3990" x="57.8497" y="43.4525" z="43.2668" />
+ <vertex index="3991" x="54.2279" y="39.7995" z="37.707" />
+ <vertex index="3992" x="53.7418" y="39.968" z="34.5333" />
+ <vertex index="3993" x="53.2535" y="40.1394" z="35.1576" />
+ <vertex index="3994" x="44.3633" y="36.7078" z="43.2628" />
+ <vertex index="3995" x="44.6214" y="36.8125" z="42.6422" />
+ <vertex index="3996" x="56.497" y="43.5792" z="42.3191" />
+ <vertex index="3997" x="48.3154" y="41.0485" z="33.1972" />
+ <vertex index="3998" x="44.9278" y="36.9929" z="41.9549" />
+ <vertex index="3999" x="56.2279" y="45.7136" z="28.0333" />
+ <vertex index="4000" x="57.8317" y="44.1443" z="30.1557" />
+ <vertex index="4001" x="57.8746" y="44.7523" z="30.4751" />
+ <vertex index="4002" x="57.6814" y="43.9868" z="41.924" />
+ <vertex index="4003" x="58.3032" y="43.9255" z="41.5132" />
+ <vertex index="4004" x="56.3384" y="43.3961" z="41.8233" />
+ <vertex index="4005" x="57.9633" y="44.9795" z="34.1987" />
+ <vertex index="4006" x="51.3089" y="41.0825" z="38.5118" />
+ <vertex index="4007" x="51.8031" y="40.5781" z="38.7686" />
+ <vertex index="4008" x="59.4027" y="44.6984" z="36.8168" />
+ <vertex index="4009" x="59.6669" y="44.2966" z="36.0933" />
+ <vertex index="4010" x="59.3225" y="44.9215" z="35.8913" />
+ <vertex index="4011" x="56.2422" y="45.4441" z="21.8582" />
+ <vertex index="4012" x="55.6123" y="45.5823" z="21.9974" />
+ <vertex index="4013" x="55.879" y="45.7482" z="21.2341" />
+ <vertex index="4014" x="57.305" y="41.8428" z="47.0854" />
+ <vertex index="4015" x="57.101" y="43.3511" z="39.1987" />
+ <vertex index="4016" x="57.393" y="42.9085" z="31.8748" />
+ <vertex index="4017" x="57.1679" y="42.2694" z="31.8577" />
+ <vertex index="4018" x="55.9862" y="45.1844" z="22.6425" />
+ <vertex index="4019" x="57.0956" y="48.8363" z="19.0784" />
+ <vertex index="4020" x="53.4902" y="45.4593" z="30.8772" />
+ <vertex index="4021" x="53.4111" y="45.9802" z="31.3828" />
+ <vertex index="4022" x="53.7559" y="45.9521" z="30.7869" />
+ <vertex index="4023" x="54.7867" y="41.7254" z="48.7685" />
+ <vertex index="4024" x="54.4508" y="41.408" z="49.2798" />
+ <vertex index="4025" x="54.9988" y="41.9376" z="49.4349" />
+ <vertex index="4026" x="39.162" y="38.141" z="46.9992" />
+ <vertex index="4027" x="39.4898" y="37.8301" z="46.9629" />
+ <vertex index="4028" x="39.5761" y="38.3937" z="47.3972" />
+ <vertex index="4029" x="57.0369" y="43.6283" z="33.1843" />
+ <vertex index="4030" x="51.4241" y="41.8344" z="31.1898" />
+ <vertex index="4031" x="38.8993" y="37.5907" z="46.4598" />
+ <vertex index="4032" x="47.0467" y="38.8245" z="41.3906" />
+ <vertex index="4033" x="53.7446" y="46.1661" z="37.1381" />
+ <vertex index="4034" x="53.8778" y="45.937" z="37.9114" />
+ <vertex index="4035" x="55.377" y="45.397" z="22.8558" />
+ <vertex index="4036" x="57.0118" y="46.1398" z="20.9448" />
+ <vertex index="4037" x="56.4789" y="45.7556" z="21.0939" />
+ <vertex index="4038" x="56.6312" y="46.0385" z="20.3454" />
+ <vertex index="4039" x="55.7643" y="40.1971" z="35.1421" />
+ <vertex index="4040" x="56.0385" y="40.3498" z="34.3924" />
+ <vertex index="4041" x="56.5744" y="43.1987" z="44.7749" />
+ <vertex index="4042" x="53.0225" y="46.1284" z="36.8828" />
+ <vertex index="4043" x="53.0976" y="46.0026" z="37.6402" />
+ <vertex index="4044" x="51.1479" y="44.3194" z="34.8975" />
+ <vertex index="4045" x="51.0528" y="43.6973" z="34.66" />
+ <vertex index="4046" x="50.8507" y="43.8634" z="35.3634" />
+ <vertex index="4047" x="59.1678" y="45.1242" z="34.9591" />
+ <vertex index="4048" x="59.5922" y="44.482" z="35.2934" />
+ <vertex index="4049" x="59.5163" y="44.6071" z="34.5178" />
+ <vertex index="4050" x="59.7183" y="43.7836" z="35.5785" />
+ <vertex index="4051" x="45.6261" y="39.6351" z="39.1608" />
+ <vertex index="4052" x="45.8785" y="40.1084" z="39.1368" />
+ <vertex index="4053" x="53.2744" y="39.9203" z="35.9063" />
+ <vertex index="4054" x="53.9357" y="39.8388" z="36.309" />
+ <vertex index="4055" x="59.5231" y="43.317" z="38.673" />
+ <vertex index="4056" x="48.1554" y="40.5637" z="33.93" />
+ <vertex index="4057" x="54.6661" y="45.1347" z="29.0437" />
+ <vertex index="4058" x="56.3376" y="42.5647" z="29.8451" />
+ <vertex index="4059" x="55.8218" y="42.0724" z="29.8877" />
+ <vertex index="4060" x="56.1757" y="42.9375" z="41.6327" />
+ <vertex index="4061" x="57.224" y="46.2081" z="23.7474" />
+ <vertex index="4062" x="52.2912" y="42.2875" z="29.9169" />
+ <vertex index="4063" x="57.4712" y="44.6663" z="39.105" />
+ <vertex index="4064" x="57.3239" y="44.3361" z="38.3102" />
+ <vertex index="4065" x="49.039" y="43.1372" z="32.7116" />
+ <vertex index="4066" x="58.604" y="43.927" z="31.4838" />
+ <vertex index="4067" x="56.6793" y="40.7878" z="34.306" />
+ <vertex index="4068" x="43.1314" y="38.467" z="43.0938" />
+ <vertex index="4069" x="58.7836" y="45.449" z="34.2262" />
+ <vertex index="4070" x="56.3477" y="51.1566" z="13.6704" />
+ <vertex index="4071" x="55.8314" y="50.8901" z="13.1766" />
+ <vertex index="4072" x="55.8762" y="50.6424" z="14.0551" />
+ <vertex index="4073" x="57.1027" y="45.0098" z="25.8403" />
+ <vertex index="4074" x="56.9029" y="45.7927" z="21.8512" />
+ <vertex index="4075" x="56.6052" y="45.3102" z="22.5734" />
+ <vertex index="4076" x="59.5852" y="44.1903" z="34.1691" />
+ <vertex index="4077" x="46.9129" y="38.1639" z="41.4408" />
+ <vertex index="4078" x="58.3586" y="42.246" z="37.8447" />
+ <vertex index="4079" x="59.7477" y="43.7745" z="36.2346" />
+ <vertex index="4080" x="41.3929" y="36.1734" z="47.0297" />
+ <vertex index="4081" x="53.1034" y="42.0684" z="39.6119" />
+ <vertex index="4082" x="52.8582" y="41.6262" z="39.5734" />
+ <vertex index="4083" x="53.8525" y="39.7575" z="37.0006" />
+ <vertex index="4084" x="39.5293" y="36.14" z="46.3993" />
+ <vertex index="4085" x="39.2644" y="36.4527" z="46.2997" />
+ <vertex index="4086" x="50.916" y="42.4097" z="38.0344" />
+ <vertex index="4087" x="50.6724" y="42.6587" z="37.3766" />
+ <vertex index="4088" x="50.8838" y="41.8315" z="37.3932" />
+ <vertex index="4089" x="55.7193" y="40.7709" z="48.9673" />
+ <vertex index="4090" x="56.7743" y="41.2644" z="32.2821" />
+ <vertex index="4091" x="51.4929" y="40.6909" z="36.4777" />
+ <vertex index="4092" x="52.6453" y="43.832" z="29.0036" />
+ <vertex index="4093" x="52.046" y="43.4204" z="29.2161" />
+ <vertex index="4094" x="51.9448" y="44.0827" z="29.3038" />
+ <vertex index="4095" x="46.8438" y="40.4126" z="35.743" />
+ <vertex index="4096" x="46.5324" y="40.368" z="36.517" />
+ <vertex index="4097" x="46.7866" y="40.9589" z="36.1794" />
+ <vertex index="4098" x="56.8668" y="44.5219" z="25.7964" />
+ <vertex index="4099" x="56.9351" y="44.769" z="25.2095" />
+ <vertex index="4100" x="52.5596" y="44.4977" z="29.2984" />
+ <vertex index="4101" x="53.295" y="44.2781" z="28.9364" />
+ <vertex index="4102" x="55.1838" y="47.5345" z="19.7869" />
+ <vertex index="4103" x="55.1062" y="42.3396" z="29.6348" />
+ <vertex index="4104" x="39.4493" y="37.1005" z="46.6317" />
+ <vertex index="4105" x="57.6675" y="41.3431" z="43.971" />
+ <vertex index="4106" x="55.6859" y="45.3117" z="37.7064" />
+ <vertex index="4107" x="56.071" y="51.8135" z="10.9828" />
+ <vertex index="4108" x="57.8592" y="51.9245" z="11.7728" />
+ <vertex index="4109" x="58.2014" y="51.419" z="12.1962" />
+ <vertex index="4110" x="58.3006" y="51.6325" z="11.4844" />
+ <vertex index="4111" x="51.4251" y="44.8345" z="34.4917" />
+ <vertex index="4112" x="51.303" y="44.8592" z="35.2038" />
+ <vertex index="4113" x="52.711" y="39.8095" z="37.9237" />
+ <vertex index="4114" x="58.2456" y="41.9229" z="43.0783" />
+ <vertex index="4115" x="56.5872" y="46.1704" z="26.0267" />
+ <vertex index="4116" x="51.3689" y="41.8406" z="34.8181" />
+ <vertex index="4117" x="51.6225" y="42.2119" z="34.1463" />
+ <vertex index="4118" x="57.2536" y="46.2172" z="23.016" />
+ <vertex index="4119" x="44.7344" y="39.0313" z="40.9441" />
+ <vertex index="4120" x="50.8293" y="43.0712" z="35.1813" />
+ <vertex index="4121" x="55.1265" y="46.0901" z="22.2023" />
+ <vertex index="4122" x="42.24" y="37.5191" z="43.405" />
+ <vertex index="4123" x="42.6036" y="36.9821" z="43.3227" />
+ <vertex index="4124" x="50.9331" y="44.1589" z="37.5111" />
+ <vertex index="4125" x="50.9878" y="43.5964" z="38.0876" />
+ <vertex index="4126" x="51.4561" y="44.3548" z="38.2756" />
+ <vertex index="4127" x="44.9033" y="37.555" z="40.797" />
+ <vertex index="4128" x="44.7605" y="38.0063" z="40.5131" />
+ <vertex index="4129" x="57.8988" y="42.7236" z="37.4166" />
+ <vertex index="4130" x="58.2196" y="43.6052" z="42.3656" />
+ <vertex index="4131" x="59.721" y="43.9978" z="36.7839" />
+ <vertex index="4132" x="54.6577" y="41.4835" z="48.0645" />
+ <vertex index="4133" x="54.5188" y="41.1278" z="48.6839" />
+ <vertex index="4134" x="55.8574" y="52.1141" z="7.34918" />
+ <vertex index="4135" x="55.8941" y="51.3408" z="11.6822" />
+ <vertex index="4136" x="51.279" y="42.2805" z="38.6439" />
+ <vertex index="4137" x="51.3796" y="41.6504" z="38.7864" />
+ <vertex index="4138" x="54.074" y="43.7691" z="40.0337" />
+ <vertex index="4139" x="54.0971" y="44.5626" z="39.7201" />
+ <vertex index="4140" x="53.3309" y="44.1075" z="39.6426" />
+ <vertex index="4141" x="57.405" y="49.4594" z="10.4489" />
+ <vertex index="4142" x="55.6829" y="46.3475" z="20.0052" />
+ <vertex index="4143" x="55.6118" y="46.7543" z="19.2226" />
+ <vertex index="4144" x="40.4634" y="38.2727" z="46.8203" />
+ <vertex index="4145" x="57.7507" y="49.9376" z="9.32162" />
+ <vertex index="4146" x="58.55" y="50.4047" z="11.7388" />
+ <vertex index="4147" x="58.3846" y="49.7666" z="11.885" />
+ <vertex index="4148" x="47.3775" y="40.982" z="38.4419" />
+ <vertex index="4149" x="51.3603" y="43.5729" z="33.9918" />
+ <vertex index="4150" x="47.5449" y="40.8077" z="34.4077" />
+ <vertex index="4151" x="42.1705" y="36.6337" z="46.8413" />
+ <vertex index="4152" x="41.5482" y="36.7474" z="47.4846" />
+ <vertex index="4153" x="52.7817" y="43.1284" z="29.179" />
+ <vertex index="4154" x="52.1542" y="42.772" z="29.4558" />
+ <vertex index="4155" x="56.394" y="40.694" z="44.3308" />
+ <vertex index="4156" x="56.6335" y="40.9056" z="43.5617" />
+ <vertex index="4157" x="39.7551" y="38.2407" z="46.9073" />
+ <vertex index="4158" x="57.1262" y="51.6671" z="3.97164" />
+ <vertex index="4159" x="56.6697" y="51.7478" z="4.67061" />
+ <vertex index="4160" x="56.2686" y="52.1188" z="4.17984" />
+ <vertex index="4161" x="43.5169" y="38.7379" z="43.5009" />
+ <vertex index="4162" x="52.9877" y="42.6739" z="39.5628" />
+ <vertex index="4163" x="56.0667" y="45.9437" z="20.5227" />
+ <vertex index="4164" x="49.0556" y="40.5154" z="36.4301" />
+ <vertex index="4165" x="48.7806" y="40.8054" z="37.0568" />
+ <vertex index="4166" x="48.8452" y="40.0989" z="37.0542" />
+ <vertex index="4167" x="41.2076" y="38.2614" z="45.2877" />
+ <vertex index="4168" x="56.9972" y="44.5951" z="26.4181" />
+ <vertex index="4169" x="53.5668" y="42.8505" z="29.2725" />
+ <vertex index="4170" x="53.4297" y="43.5507" z="28.9724" />
+ <vertex index="4171" x="51.1416" y="42.5356" z="34.6215" />
+ <vertex index="4172" x="58.027" y="51.8532" z="3.97876" />
+ <vertex index="4173" x="57.8629" y="52.1853" z="4.28507" />
+ <vertex index="4174" x="46.6595" y="38.5069" z="42.0779" />
+ <vertex index="4175" x="57.7032" y="45.2696" z="30.8333" />
+ <vertex index="4176" x="57.3916" y="45.1283" z="30.1575" />
+ <vertex index="4177" x="57.1157" y="45.4971" z="30.572" />
+ <vertex index="4178" x="57.2028" y="52.0518" z="11.8939" />
+ <vertex index="4179" x="57.5398" y="51.7013" z="12.6511" />
+ <vertex index="4180" x="52.4463" y="45.8703" z="37.2604" />
+ <vertex index="4181" x="57.3835" y="42.9626" z="38.687" />
+ <vertex index="4182" x="56.8101" y="49.9258" z="17.0041" />
+ <vertex index="4183" x="57.5168" y="44.0172" z="37.5999" />
+ <vertex index="4184" x="51.5015" y="44.3342" z="30.977" />
+ <vertex index="4185" x="55.2921" y="45.3591" z="38.2219" />
+ <vertex index="4186" x="53.739" y="42.3072" z="29.7742" />
+ <vertex index="4187" x="54.3493" y="42.6069" z="29.4191" />
+ <vertex index="4188" x="54.5466" y="42.1449" z="29.9864" />
+ <vertex index="4189" x="54.8043" y="44.8216" z="39.39" />
+ <vertex index="4190" x="43.1412" y="36.3504" z="44.1438" />
+ <vertex index="4191" x="48.5338" y="39.6805" z="36.1762" />
+ <vertex index="4192" x="55.2326" y="41.7733" z="30.128" />
+ <vertex index="4193" x="55.9081" y="41.6144" z="30.5069" />
+ <vertex index="4194" x="55.2902" y="41.2672" z="30.7741" />
+ <vertex index="4195" x="57.153" y="42.96" z="32.4201" />
+ <vertex index="4196" x="53.9302" y="40.6819" z="32.2477" />
+ <vertex index="4197" x="54.8381" y="40.9086" z="46.7828" />
+ <vertex index="4198" x="42.4033" y="36.5168" z="43.9699" />
+ <vertex index="4199" x="41.9877" y="37.0416" z="43.812" />
+ <vertex index="4200" x="51.3188" y="44.2393" z="34.1816" />
+ <vertex index="4201" x="59.1629" y="44.7419" z="37.7147" />
+ <vertex index="4202" x="50.0863" y="42.8596" z="33.1315" />
+ <vertex index="4203" x="54.5824" y="40.039" z="48.9096" />
+ <vertex index="4204" x="55.3453" y="40.0272" z="48.7881" />
+ <vertex index="4205" x="58.4782" y="52.6808" z="4.50745" />
+ <vertex index="4206" x="56.3853" y="50.6722" z="15.0614" />
+ <vertex index="4207" x="57.1614" y="52.5088" z="10.6525" />
+ <vertex index="4208" x="56.7392" y="40.0598" z="48.301" />
+ <vertex index="4209" x="55.0495" y="40.101" z="37.4241" />
+ <vertex index="4210" x="55.6861" y="40.4277" z="37.1719" />
+ <vertex index="4211" x="55.6128" y="40.4377" z="37.8833" />
+ <vertex index="4212" x="57.3203" y="43.6587" z="38.4548" />
+ <vertex index="4213" x="55.3983" y="46.0755" z="21.3331" />
+ <vertex index="4214" x="51.0153" y="42.23" z="32.3022" />
+ <vertex index="4215" x="57.061" y="41.2115" z="48.5685" />
+ <vertex index="4216" x="47.2974" y="38.8362" z="37.3104" />
+ <vertex index="4217" x="56.1753" y="49.7748" z="17.1998" />
+ <vertex index="4218" x="52.3503" y="44.0224" z="31.758" />
+ <vertex index="4219" x="50.7353" y="42.7296" z="29.9658" />
+ <vertex index="4220" x="49.9142" y="42.6366" z="30.5181" />
+ <vertex index="4221" x="45.3207" y="38.9561" z="39.3581" />
+ <vertex index="4222" x="44.2366" y="36.9382" z="42.1465" />
+ <vertex index="4223" x="51.5221" y="43.6597" z="29.4379" />
+ <vertex index="4224" x="51.4528" y="43.0947" z="29.5211" />
+ <vertex index="4225" x="49.6738" y="40.8518" z="34.5515" />
+ <vertex index="4226" x="46.0431" y="38.6757" z="42.5896" />
+ <vertex index="4227" x="58.8268" y="51.887" z="7.01559" />
+ <vertex index="4228" x="50.6789" y="43.3853" z="37.4121" />
+ <vertex index="4229" x="55.3789" y="49.0206" z="15.7172" />
+ <vertex index="4230" x="55.3793" y="48.1444" z="19.7587" />
+ <vertex index="4231" x="47.9491" y="40.5609" z="38.7729" />
+ <vertex index="4232" x="56.4737" y="42.1983" z="48.0685" />
+ <vertex index="4233" x="57.9662" y="44.4774" z="34.9204" />
+ <vertex index="4234" x="40.0131" y="36.1777" z="46.0721" />
+ <vertex index="4235" x="55.8889" y="50.2238" z="15.2916" />
+ <vertex index="4236" x="55.52" y="49.6269" z="15.506" />
+ <vertex index="4237" x="57.0445" y="52.4349" z="4.40258" />
+ <vertex index="4238" x="57.7764" y="52.917" z="4.61832" />
+ <vertex index="4239" x="57.0667" y="53.2401" z="4.76873" />
+ <vertex index="4240" x="44.5583" y="37.2757" z="41.4793" />
+ <vertex index="4241" x="44.4896" y="36.7663" z="43.9493" />
+ <vertex index="4242" x="54.0251" y="41.1738" z="31.5824" />
+ <vertex index="4243" x="51.8078" y="45.3128" z="34.1538" />
+ <vertex index="4244" x="51.636" y="44.7943" z="33.751" />
+ <vertex index="4245" x="57.7855" y="43.411" z="37.0744" />
+ <vertex index="4246" x="57.5233" y="51.3214" z="13.5056" />
+ <vertex index="4247" x="56.9016" y="51.5143" z="13.2682" />
+ <vertex index="4248" x="56.9354" y="51.2112" z="13.979" />
+ <vertex index="4249" x="51.9709" y="44.7307" z="33.0221" />
+ <vertex index="4250" x="52.0532" y="40.1035" z="37.5904" />
+ <vertex index="4251" x="58.6437" y="50.7569" z="10.9524" />
+ <vertex index="4252" x="58.448" y="50.045" z="11.1273" />
+ <vertex index="4253" x="58.4828" y="50.3751" z="10.3485" />
+ <vertex index="4254" x="58.0692" y="49.7034" z="10.5714" />
+ <vertex index="4255" x="58.3697" y="43.0354" z="43.01" />
+ <vertex index="4256" x="55.6527" y="48.9278" z="18.5333" />
+ <vertex index="4257" x="56.8923" y="41.7147" z="31.6914" />
+ <vertex index="4258" x="56.3606" y="41.2498" z="31.6198" />
+ <vertex index="4259" x="43.6075" y="38.0411" z="45.2933" />
+ <vertex index="4260" x="58.8688" y="44.6982" z="38.5249" />
+ <vertex index="4261" x="58.897" y="45.0555" z="37.1764" />
+ <vertex index="4262" x="58.5443" y="52.253" z="9.54517" />
+ <vertex index="4263" x="44.1363" y="36.8919" z="44.8435" />
+ <vertex index="4264" x="58.5509" y="51.0994" z="11.6165" />
+ <vertex index="4265" x="56.367" y="51.1097" z="7.0403" />
+ <vertex index="4266" x="55.0071" y="46.5123" z="34.0578" />
+ <vertex index="4267" x="55.0585" y="46.5891" z="33.2013" />
+ <vertex index="4268" x="54.4276" y="46.5698" z="33.5929" />
+ <vertex index="4269" x="58.0628" y="51.1562" z="13.0289" />
+ <vertex index="4270" x="48.2062" y="39.8984" z="35.039" />
+ <vertex index="4271" x="48.6789" y="39.9484" z="35.443" />
+ <vertex index="4272" x="56.751" y="51.7561" z="12.542" />
+ <vertex index="4273" x="51.4211" y="44.8489" z="37.5429" />
+ <vertex index="4274" x="55.4506" y="47.5176" z="21.9237" />
+ <vertex index="4275" x="57.0733" y="40.5841" z="48.437" />
+ <vertex index="4276" x="53.596" y="46.3188" z="32.0575" />
+ <vertex index="4277" x="52.892" y="45.8516" z="32.1547" />
+ <vertex index="4278" x="54.6381" y="45.7471" z="38.1076" />
+ <vertex index="4279" x="54.7533" y="45.3485" z="38.7856" />
+ <vertex index="4280" x="58.7121" y="51.0768" z="10.1377" />
+ <vertex index="4281" x="58.5883" y="51.5534" z="10.778" />
+ <vertex index="4282" x="56.3846" y="50.9069" z="14.3731" />
+ <vertex index="4283" x="57.5781" y="41.5416" z="41.0391" />
+ <vertex index="4284" x="58.2108" y="44.8925" z="38.7889" />
+ <vertex index="4285" x="56.6107" y="45.6454" z="30.9884" />
+ <vertex index="4286" x="56.4767" y="45.5967" z="30.3156" />
+ <vertex index="4287" x="58.7744" y="51.3126" z="9.3228" />
+ <vertex index="4288" x="58.5564" y="50.6651" z="9.56186" />
+ <vertex index="4289" x="57.0783" y="45.7007" z="22.7266" />
+ <vertex index="4290" x="57.7703" y="48.0873" z="16.469" />
+ <vertex index="4291" x="55.6781" y="43.5625" z="39.273" />
+ <vertex index="4292" x="55.3727" y="44.2572" z="39.379" />
+ <vertex index="4293" x="59.716" y="43.4184" z="36.647" />
+ <vertex index="4294" x="51.1232" y="41.7114" z="38.211" />
+ <vertex index="4295" x="55.9626" y="41.3224" z="31.0726" />
+ <vertex index="4296" x="56.4691" y="41.6361" z="31.0399" />
+ <vertex index="4297" x="57.1814" y="43.5768" z="43.4718" />
+ <vertex index="4298" x="56.5641" y="43.4635" z="43.6185" />
+ <vertex index="4299" x="57.7278" y="47.9692" z="18.7643" />
+ <vertex index="4300" x="55.9909" y="43.0429" z="43.8522" />
+ <vertex index="4301" x="55.5879" y="46.4471" z="31.8845" />
+ <vertex index="4302" x="55.7" y="46.4701" z="32.7046" />
+ <vertex index="4303" x="58.9672" y="53.2143" z="4.67358" />
+ <vertex index="4304" x="52.4318" y="44.6171" z="32.2819" />
+ <vertex index="4305" x="52.3728" y="45.2924" z="32.6103" />
+ <vertex index="4306" x="43.8039" y="36.5244" z="43.6796" />
+ <vertex index="4307" x="50.7965" y="43.0104" z="37.9038" />
+ <vertex index="4308" x="52.1248" y="40.0681" z="38.3654" />
+ <vertex index="4309" x="58.0283" y="44.6764" z="39.6259" />
+ <vertex index="4310" x="58.3246" y="42.4314" z="43.4627" />
+ <vertex index="4311" x="55.2585" y="48.4161" z="18.4188" />
+ <vertex index="4312" x="40.6841" y="35.9185" z="46.1761" />
+ <vertex index="4313" x="59.4839" y="42.9402" z="37.0848" />
+ <vertex index="4314" x="48.6796" y="40.3454" z="37.7146" />
+ <vertex index="4315" x="56.3611" y="51.4056" z="13.0437" />
+ <vertex index="4316" x="41.6992" y="37.567" z="43.9509" />
+ <vertex index="4317" x="42.1698" y="38.0111" z="43.7729" />
+ <vertex index="4318" x="48.1262" y="39.1056" z="38.8515" />
+ <vertex index="4319" x="49.3739" y="42.9462" z="33.5122" />
+ <vertex index="4320" x="51.1544" y="41.0937" z="37.7512" />
+ <vertex index="4321" x="52.8239" y="43.403" z="39.432" />
+ <vertex index="4322" x="54.8642" y="40.7445" z="48.9988" />
+ <vertex index="4323" x="56.3355" y="41.2257" z="37.7912" />
+ <vertex index="4324" x="56.3023" y="41.606" z="38.2577" />
+ <vertex index="4325" x="56.0269" y="40.9628" z="38.2044" />
+ <vertex index="4326" x="55.8933" y="40.4456" z="32.946" />
+ <vertex index="4327" x="54.9995" y="46.612" z="32.3758" />
+ <vertex index="4328" x="55.7025" y="50.6285" z="10.7737" />
+ <vertex index="4329" x="56.3958" y="54.2125" z="5.17158" />
+ <vertex index="4330" x="56.3228" y="52.8524" z="4.59596" />
+ <vertex index="4331" x="56.0768" y="42.1136" z="48.8029" />
+ <vertex index="4332" x="55.384" y="42.1447" z="48.8231" />
+ <vertex index="4333" x="55.7317" y="42.1355" z="49.3986" />
+ <vertex index="4334" x="43.8754" y="36.7205" z="42.8733" />
+ <vertex index="4335" x="58.331" y="43.4976" z="33.717" />
+ <vertex index="4336" x="51.7442" y="44.0013" z="31.395" />
+ <vertex index="4337" x="58.1358" y="49.0813" z="14.3926" />
+ <vertex index="4338" x="55.2293" y="40.1336" z="36.6465" />
+ <vertex index="4339" x="57.0954" y="42.4264" z="35.5807" />
+ <vertex index="4340" x="56.9363" y="43.2908" z="35.3191" />
+ <vertex index="4341" x="56.825" y="43.1121" z="36.1598" />
+ <vertex index="4342" x="58.9336" y="45.1836" z="33.4788" />
+ <vertex index="4343" x="46.6104" y="39.0573" z="37.4156" />
+ <vertex index="4344" x="56.6797" y="41.7686" z="48.6982" />
+ <vertex index="4345" x="56.3783" y="41.8226" z="49.3097" />
+ <vertex index="4346" x="40.1495" y="38.1829" z="46.2765" />
+ <vertex index="4347" x="40.8105" y="37.8029" z="44.9883" />
+ <vertex index="4348" x="41.1443" y="37.4621" z="44.4391" />
+ <vertex index="4349" x="40.5647" y="37.1837" z="44.9123" />
+ <vertex index="4350" x="48.0222" y="40.9079" z="38.1944" />
+ <vertex index="4351" x="57.4752" y="43.8035" z="42.7206" />
+ <vertex index="4352" x="50.6679" y="42.5946" z="32.7783" />
+ <vertex index="4353" x="52.0534" y="45.3132" z="33.4146" />
+ <vertex index="4354" x="52.5378" y="45.8469" z="33.1284" />
+ <vertex index="4355" x="56.9498" y="50.9161" z="14.6719" />
+ <vertex index="4356" x="57.6013" y="43.2061" z="37.9107" />
+ <vertex index="4357" x="45.8945" y="37.4367" z="42.4191" />
+ <vertex index="4358" x="46.2225" y="37.4026" z="41.5999" />
+ <vertex index="4359" x="56.809" y="43.6616" z="42.8993" />
+ <vertex index="4360" x="57.0421" y="43.8656" z="42.1771" />
+ <vertex index="4361" x="40.7008" y="37.6286" z="48.152" />
+ <vertex index="4362" x="40.6285" y="38.0673" z="47.4462" />
+ <vertex index="4363" x="40.1974" y="38.1939" z="47.857" />
+ <vertex index="4364" x="49.5626" y="41.83" z="34.6245" />
+ <vertex index="4365" x="53.3049" y="45.0849" z="30.1108" />
+ <vertex index="4366" x="52.8363" y="44.8808" z="30.7967" />
+ <vertex index="4367" x="57.7765" y="49.7021" z="9.95187" />
+ <vertex index="4368" x="42.648" y="38.0037" z="43.1837" />
+ <vertex index="4369" x="58.1084" y="51.5929" z="4.82971" />
+ <vertex index="4370" x="57.4138" y="51.4984" z="4.60008" />
+ <vertex index="4371" x="57.4681" y="47.3611" z="20.7501" />
+ <vertex index="4372" x="57.2357" y="40.8527" z="46.4984" />
+ <vertex index="4373" x="51.5385" y="40.4703" z="38.0649" />
+ <vertex index="4374" x="58.2829" y="54.052" z="5.59514" />
+ <vertex index="4375" x="58.6277" y="53.9712" z="5.02735" />
+ <vertex index="4376" x="49.4463" y="40.8479" z="32.9392" />
+ <vertex index="4377" x="46.9012" y="38.0716" z="39.2304" />
+ <vertex index="4378" x="47.3855" y="38.2138" z="39.5388" />
+ <vertex index="4379" x="46.9453" y="37.982" z="39.8048" />
+ <vertex index="4380" x="43.1534" y="36.5708" z="43.4173" />
+ <vertex index="4381" x="51.648" y="42.8644" z="38.9497" />
+ <vertex index="4382" x="47.4084" y="40.5297" z="39.3201" />
+ <vertex index="4383" x="56.4496" y="42.9526" z="37.751" />
+ <vertex index="4384" x="56.1961" y="43.562" z="38.1794" />
+ <vertex index="4385" x="56.2056" y="42.8783" z="38.4574" />
+ <vertex index="4386" x="56.2305" y="49.9121" z="10.3499" />
+ <vertex index="4387" x="43.1693" y="38.6066" z="44.1838" />
+ <vertex index="4388" x="40.4925" y="38.0523" z="45.6288" />
+ <vertex index="4389" x="40.1433" y="37.5421" z="45.4122" />
+ <vertex index="4390" x="56.1554" y="40.5495" z="35.7738" />
+ <vertex index="4391" x="57.0486" y="41.7067" z="47.8787" />
+ <vertex index="4392" x="56.7448" y="41.6952" z="36.8939" />
+ <vertex index="4393" x="56.699" y="42.3398" z="37.329" />
+ <vertex index="4394" x="56.5372" y="41.7076" z="37.606" />
+ <vertex index="4395" x="43.707" y="37.0761" z="42.3588" />
+ <vertex index="4396" x="55.4881" y="40.1164" z="35.8981" />
+ <vertex index="4397" x="48.3599" y="40.5037" z="38.2655" />
+ <vertex index="4398" x="56.8097" y="47.6387" z="21.9651" />
+ <vertex index="4399" x="54.4982" y="39.9151" z="36.8599" />
+ <vertex index="4400" x="54.7142" y="39.912" z="36.055" />
+ <vertex index="4401" x="49.2926" y="40.865" z="35.6864" />
+ <vertex index="4402" x="49.5801" y="41.1579" z="34.9727" />
+ <vertex index="4403" x="49.2046" y="41.6091" z="35.3429" />
+ <vertex index="4404" x="58.791" y="53.4571" z="5.33493" />
+ <vertex index="4405" x="48.8976" y="41.0305" z="32.687" />
+ <vertex index="4406" x="54.1301" y="45.1723" z="39.2118" />
+ <vertex index="4407" x="47.4258" y="39.9239" z="35.4579" />
+ <vertex index="4408" x="57.5217" y="50.6367" z="14.8801" />
+ <vertex index="4409" x="58.2998" y="41.9544" z="39.6262" />
+ <vertex index="4410" x="58.8189" y="42.264" z="39.2949" />
+ <vertex index="4411" x="57.8548" y="45.5226" z="33.0522" />
+ <vertex index="4412" x="58.8818" y="45.1724" z="36.4804" />
+ <vertex index="4413" x="43.2222" y="37.0055" z="42.8034" />
+ <vertex index="4414" x="46.7608" y="38.5944" z="37.9076" />
+ <vertex index="4415" x="47.0522" y="41.2456" z="37.5153" />
+ <vertex index="4416" x="46.515" y="40.8106" z="37.6141" />
+ <vertex index="4417" x="55.8659" y="50.3877" z="10.2791" />
+ <vertex index="4418" x="56.2927" y="49.6022" z="11.0298" />
+ <vertex index="4419" x="56.9555" y="41.6747" z="36.0774" />
+ <vertex index="4420" x="56.52" y="40.9928" z="36.4567" />
+ <vertex index="4421" x="41.6184" y="38.3419" z="45.6258" />
+ <vertex index="4422" x="58.0578" y="49.4911" z="11.4181" />
+ <vertex index="4423" x="47.7695" y="40.2437" z="34.6634" />
+ <vertex index="4424" x="54.0333" y="45.6271" z="38.6281" />
+ <vertex index="4425" x="53.5608" y="45.3406" z="38.9791" />
+ <vertex index="4426" x="56.3335" y="49.2324" z="11.8617" />
+ <vertex index="4427" x="55.8327" y="49.8202" z="11.6326" />
+ <vertex index="4428" x="49.468" y="42.4062" z="34.1616" />
+ <vertex index="4429" x="56.9077" y="42.378" z="36.5261" />
+ <vertex index="4430" x="51.4925" y="43.5942" z="38.6801" />
+ <vertex index="4431" x="51.0899" y="42.9703" z="38.4548" />
+ <vertex index="4432" x="58.7001" y="51.7448" z="9.85609" />
+ <vertex index="4433" x="47.4157" y="38.5517" z="38.0585" />
+ <vertex index="4434" x="46.8511" y="38.2769" z="38.5382" />
+ <vertex index="4435" x="54.3904" y="40.6756" z="49.1356" />
+ <vertex index="4436" x="54.0409" y="41.9517" z="30.3819" />
+ <vertex index="4437" x="58.7463" y="51.9338" z="9.09557" />
+ <vertex index="4438" x="57.5163" y="47.1024" z="20.0469" />
+ <vertex index="4439" x="55.8418" y="51.8019" z="9.35477" />
+ <vertex index="4440" x="58.8798" y="52.9107" z="5.86106" />
+ <vertex index="4441" x="58.8641" y="52.6553" z="5.06331" />
+ <vertex index="4442" x="55.9008" y="47.2187" z="17.4252" />
+ <vertex index="4443" x="52.318" y="40.2683" z="38.9373" />
+ <vertex index="4444" x="52.451" y="45.6173" z="37.9667" />
+ <vertex index="4445" x="50.6554" y="42.2698" z="36.701" />
+ <vertex index="4446" x="56.1972" y="44.2758" z="37.8737" />
+ <vertex index="4447" x="56.4107" y="43.6586" z="37.431" />
+ <vertex index="4448" x="46.651" y="40.8969" z="36.9427" />
+ <vertex index="4449" x="57.5264" y="41.8613" z="46.374" />
+ <vertex index="4450" x="55.8404" y="44.8676" z="38.171" />
+ <vertex index="4451" x="57.6963" y="41.4819" z="45.3056" />
+ <vertex index="4452" x="48.3272" y="41.3296" z="36.98" />
+ <vertex index="4453" x="48.3848" y="40.9018" z="37.6751" />
+ <vertex index="4454" x="50.683" y="42.6431" z="35.9877" />
+ <vertex index="4455" x="55.9197" y="44.1494" z="38.6929" />
+ <vertex index="4456" x="57.9298" y="48.573" z="16.9052" />
+ <vertex index="4457" x="57.6217" y="47.5673" z="19.3563" />
+ <vertex index="4458" x="56.6382" y="46.6198" z="18.5858" />
+ <vertex index="4459" x="56.414" y="46.3746" z="19.2406" />
+ <vertex index="4460" x="39.9976" y="36.4581" z="46.8533" />
+ <vertex index="4461" x="55.6695" y="45.6259" z="28.0434" />
+ <vertex index="4462" x="55.4381" y="45.3658" z="28.726" />
+ <vertex index="4463" x="55.9359" y="45.5939" z="28.533" />
+ <vertex index="4464" x="50.8666" y="41.6389" z="32.2604" />
+ <vertex index="4465" x="50.4676" y="41.29" z="32.7877" />
+ <vertex index="4466" x="57.5571" y="41.3595" z="46.0617" />
+ <vertex index="4467" x="51.9029" y="45.0755" z="38.1208" />
+ <vertex index="4468" x="52.4565" y="45.1983" z="38.5848" />
+ <vertex index="4469" x="55.2671" y="41.4955" z="49.1786" />
+ <vertex index="4470" x="56.4193" y="44.3705" z="37.1075" />
+ <vertex index="4471" x="56.5985" y="43.7514" z="36.6566" />
+ <vertex index="4472" x="56.5599" y="44.4723" z="36.3381" />
+ <vertex index="4473" x="55.7734" y="51.2853" z="9.68038" />
+ <vertex index="4474" x="57.1014" y="49.0122" z="11.7651" />
+ <vertex index="4475" x="45.8585" y="38.6137" z="38.7652" />
+ <vertex index="4476" x="46.2158" y="38.8643" z="38.0736" />
+ <vertex index="4477" x="46.3688" y="38.4503" z="38.4393" />
+ <vertex index="4478" x="57.3154" y="45.5563" z="31.246" />
+ <vertex index="4479" x="57.4999" y="45.6128" z="31.9492" />
+ <vertex index="4480" x="57.9853" y="45.4239" z="31.5194" />
+ <vertex index="4481" x="45.6968" y="38.2366" z="43.2456" />
+ <vertex index="4482" x="46.2241" y="38.0506" z="42.6927" />
+ <vertex index="4483" x="56.6765" y="43.7623" z="41.6609" />
+ <vertex index="4484" x="55.4499" y="49.1375" z="14.9905" />
+ <vertex index="4485" x="55.8459" y="51.8198" z="8.59499" />
+ <vertex index="4486" x="54.3064" y="46.475" z="34.3001" />
+ <vertex index="4487" x="57.4877" y="41.8842" z="34.2596" />
+ <vertex index="4488" x="57.4828" y="43.5351" z="29.8842" />
+ <vertex index="4489" x="56.9259" y="43.0476" z="29.778" />
+ <vertex index="4490" x="57.0007" y="43.4169" z="28.9188" />
+ <vertex index="4491" x="56.7466" y="45.075" z="34.3382" />
+ <vertex index="4492" x="56.8247" y="44.3525" z="34.2353" />
+ <vertex index="4493" x="55.7944" y="46.3735" z="33.6389" />
+ <vertex index="4494" x="58.4979" y="51.2657" z="6.95164" />
+ <vertex index="4495" x="58.6515" y="51.6987" z="6.16225" />
+ <vertex index="4496" x="46.4658" y="37.5078" z="40.931" />
+ <vertex index="4497" x="47.1934" y="38.1188" z="40.2268" />
+ <vertex index="4498" x="57.8888" y="50.2315" z="15.0248" />
+ <vertex index="4499" x="58.1743" y="49.8041" z="14.7846" />
+ <vertex index="4500" x="45.3562" y="38.7218" z="43.0539" />
+ <vertex index="4501" x="49.061" y="42.1992" z="34.8247" />
+ <vertex index="4502" x="56.8831" y="42.6521" z="30.4518" />
+ <vertex index="4503" x="39.9036" y="37.8537" z="45.8933" />
+ <vertex index="4504" x="52.129" y="43.4917" z="39.0956" />
+ <vertex index="4505" x="56.1194" y="41.4797" z="49.136" />
+ <vertex index="4506" x="51.9222" y="45.4154" z="37.4694" />
+ <vertex index="4507" x="51.5064" y="40.5687" z="37.2747" />
+ <vertex index="4508" x="56.3188" y="46.1585" z="32.9874" />
+ <vertex index="4509" x="56.4858" y="52.7815" z="9.17491" />
+ <vertex index="4510" x="56.0942" y="49.0269" z="12.804" />
+ <vertex index="4511" x="48.9218" y="42.9984" z="32.0496" />
+ <vertex index="4512" x="56.0321" y="51.7535" z="6.54539" />
+ <vertex index="4513" x="44.8883" y="39.0517" z="42.7906" />
+ <vertex index="4514" x="53.5826" y="42.4101" z="39.7998" />
+ <vertex index="4515" x="57.5915" y="47.4483" z="18.636" />
+ <vertex index="4516" x="56.4084" y="43.4473" z="41.2088" />
+ <vertex index="4517" x="59.5069" y="43.1577" z="35.6667" />
+ <vertex index="4518" x="49.7387" y="41.9844" z="30.993" />
+ <vertex index="4519" x="46.1629" y="37.5229" z="40.3914" />
+ <vertex index="4520" x="48.8462" y="41.3279" z="36.2213" />
+ <vertex index="4521" x="55.5683" y="49.9865" z="14.633" />
+ <vertex index="4522" x="55.7175" y="50.7939" z="12.3222" />
+ <vertex index="4523" x="56.5461" y="45.6823" z="34.3497" />
+ <vertex index="4524" x="56.6051" y="45.2884" z="35.1175" />
+ <vertex index="4525" x="58.1502" y="51.1112" z="6.33291" />
+ <vertex index="4526" x="41.3218" y="37.7649" z="47.3972" />
+ <vertex index="4527" x="55.884" y="41.3643" z="38.9315" />
+ <vertex index="4528" x="59.6828" y="43.4147" z="36.0914" />
+ <vertex index="4529" x="59.4762" y="43.0054" z="36.3329" />
+ <vertex index="4530" x="56.8916" y="49.2633" z="11.0703" />
+ <vertex index="4531" x="56.9339" y="46.5404" z="19.2361" />
+ <vertex index="4532" x="56.729" y="44.6827" z="34.8631" />
+ <vertex index="4533" x="55.9102" y="42.8534" z="39.103" />
+ <vertex index="4534" x="56.1619" y="42.1842" z="38.7445" />
+ <vertex index="4535" x="46.65" y="37.715" z="41.3792" />
+ <vertex index="4536" x="46.9285" y="37.896" z="40.8657" />
+ <vertex index="4537" x="58.3172" y="49.5444" z="12.6155" />
+ <vertex index="4538" x="55.9514" y="51.4739" z="7.49741" />
+ <vertex index="4539" x="59.4108" y="44.6316" z="33.8199" />
+ <vertex index="4540" x="51.1663" y="41.4898" z="35.4894" />
+ <vertex index="4541" x="52.7554" y="45.0818" z="31.8131" />
+ <vertex index="4542" x="52.3072" y="44.3698" z="31.2295" />
+ <vertex index="4543" x="57.704" y="41.8599" z="45.7667" />
+ <vertex index="4544" x="52.5809" y="44.9019" z="29.9289" />
+ <vertex index="4545" x="51.9147" y="44.5334" z="29.7681" />
+ <vertex index="4546" x="52.023" y="44.6592" z="30.5009" />
+ <vertex index="4547" x="51.3335" y="44.42" z="30.3256" />
+ <vertex index="4548" x="58.0129" y="49.2459" z="12.1432" />
+ <vertex index="4549" x="56.0009" y="49.3908" z="17.9843" />
+ <vertex index="4550" x="59.136" y="42.7289" z="35.891" />
+ <vertex index="4551" x="54.9583" y="40.1468" z="38.2339" />
+ <vertex index="4552" x="57.3787" y="46.9746" z="19.31" />
+ <vertex index="4553" x="45.5275" y="37.416" z="40.5264" />
+ <vertex index="4554" x="45.8465" y="37.7493" z="39.8598" />
+ <vertex index="4555" x="57.2732" y="46.2509" z="22.2914" />
+ <vertex index="4556" x="54.5638" y="40.5268" z="48.4887" />
+ <vertex index="4557" x="47.2456" y="41.1158" z="34.8961" />
+ <vertex index="4558" x="46.9971" y="41.0407" z="35.4747" />
+ <vertex index="4559" x="55.6042" y="49.4735" z="13.2458" />
+ <vertex index="4560" x="53.4862" y="43.2248" z="39.8138" />
+ <vertex index="4561" x="52.0108" y="44.7363" z="38.6185" />
+ <vertex index="4562" x="52.5916" y="44.1047" z="39.2742" />
+ <vertex index="4563" x="52.9475" y="44.6067" z="39.323" />
+ <vertex index="4564" x="52.4486" y="44.7001" z="39.0159" />
+ <vertex index="4565" x="57.5435" y="50.288" z="15.5644" />
+ <vertex index="4566" x="49.3302" y="40.4622" z="35.1098" />
+ <vertex index="4567" x="51.5331" y="45.2904" z="36.3666" />
+ <vertex index="4568" x="52.1349" y="45.8041" z="36.0383" />
+ <vertex index="4569" x="51.6402" y="45.313" z="35.6042" />
+ <vertex index="4570" x="52.0917" y="45.7313" z="35.1764" />
+ <vertex index="4571" x="58.3106" y="45.3718" z="36.2728" />
+ <vertex index="4572" x="58.564" y="53.5633" z="6.09065" />
+ <vertex index="4573" x="58.096" y="41.8597" z="43.7885" />
+ <vertex index="4574" x="57.8586" y="41.5637" z="43.3688" />
+ <vertex index="4575" x="52.927" y="42.4977" z="29.5707" />
+ <vertex index="4576" x="55.1278" y="45.5941" z="26.7107" />
+ <vertex index="4577" x="57.8568" y="48.7544" z="13.7049" />
+ <vertex index="4578" x="56.7918" y="41.0806" z="42.861" />
+ <vertex index="4579" x="56.1755" y="45.9367" z="34.9168" />
+ <vertex index="4580" x="55.5912" y="46.1126" z="35.4063" />
+ <vertex index="4581" x="56.1524" y="45.6765" z="35.686" />
+ <vertex index="4582" x="56.6636" y="43.0203" z="36.9851" />
+ <vertex index="4583" x="58.0256" y="50.499" z="14.3128" />
+ <vertex index="4584" x="52.6974" y="40.4568" z="35.0333" />
+ <vertex index="4585" x="52.1146" y="40.615" z="35.3071" />
+ <vertex index="4586" x="57.1967" y="41.0294" z="47.8848" />
+ <vertex index="4587" x="54.3598" y="46.2177" z="36.5718" />
+ <vertex index="4588" x="58.1413" y="53.3236" z="7.91294" />
+ <vertex index="4589" x="55.1768" y="44.6477" z="25.2317" />
+ <vertex index="4590" x="57.8396" y="42.2317" z="45.1312" />
+ <vertex index="4591" x="58.0852" y="42.3564" z="44.2406" />
+ <vertex index="4592" x="58.7512" y="45.3372" z="35.6962" />
+ <vertex index="4593" x="45.7573" y="39.928" z="39.7103" />
+ <vertex index="4594" x="57.2776" y="46.4148" z="21.5673" />
+ <vertex index="4595" x="54.2911" y="46.5462" z="32.1104" />
+ <vertex index="4596" x="56.6861" y="44.5998" z="35.5514" />
+ <vertex index="4597" x="56.1546" y="46.1029" z="34.239" />
+ <vertex index="4598" x="56.441" y="45.9879" z="33.6983" />
+ <vertex index="4599" x="56.3873" y="54.0063" z="5.33777" />
+ <vertex index="4600" x="56.6804" y="46.2703" z="19.7297" />
+ <vertex index="4601" x="55.208" y="47.9612" z="19.0818" />
+ <vertex index="4602" x="58.7211" y="43.4713" z="41.6127" />
+ <vertex index="4603" x="45.241" y="37.8722" z="40.1875" />
+ <vertex index="4604" x="57.5725" y="50.8659" z="6.50686" />
+ <vertex index="4605" x="57.2212" y="51.0421" z="5.95885" />
+ <vertex index="4606" x="41.6623" y="36.6551" z="44.2742" />
+ <vertex index="4607" x="41.466" y="37.105" z="44.1469" />
+ <vertex index="4608" x="56.97" y="53.1602" z="8.72452" />
+ <vertex index="4609" x="55.6986" y="50.58" z="11.4949" />
+ <vertex index="4610" x="57.2752" y="42.1231" z="34.8073" />
+ <vertex index="4611" x="57.265" y="41.5884" z="34.7096" />
+ <vertex index="4612" x="58.2204" y="44.9236" z="31.1575" />
+ <vertex index="4613" x="56.0032" y="43.414" z="38.7678" />
+ <vertex index="4614" x="55.6798" y="40.9344" z="31.5075" />
+ <vertex index="4615" x="50.3077" y="41.5437" z="31.1472" />
+ <vertex index="4616" x="57.5065" y="42.3254" z="45.8871" />
+ <vertex index="4617" x="57.6284" y="53.6026" z="7.62539" />
+ <vertex index="4618" x="57.923" y="41.6885" z="44.5409" />
+ <vertex index="4619" x="58.5123" y="45.0224" z="31.8383" />
+ <vertex index="4620" x="58.5886" y="44.5279" z="31.484" />
+ <vertex index="4621" x="56.4304" y="41.1804" z="37.2264" />
+ <vertex index="4622" x="56.1425" y="40.758" z="36.983" />
+ <vertex index="4623" x="56.4964" y="45.1334" z="36.0011" />
+ <vertex index="4624" x="58.1837" y="51.3892" z="5.61074" />
+ <vertex index="4625" x="57.6155" y="51.2628" z="5.33857" />
+ <vertex index="4626" x="57.1384" y="46.4681" z="20.0461" />
+ <vertex index="4627" x="56.5942" y="51.2437" z="6.15534" />
+ <vertex index="4628" x="57.9433" y="48.994" z="12.9174" />
+ <vertex index="4629" x="53.8763" y="46.487" z="33.2865" />
+ <vertex index="4630" x="54.4164" y="46.58" z="32.8604" />
+ <vertex index="4631" x="53.8693" y="46.4719" z="32.6454" />
+ <vertex index="4632" x="56.3187" y="51.715" z="5.5262" />
+ <vertex index="4633" x="56.9451" y="51.3462" z="5.34412" />
+ <vertex index="4634" x="53.1051" y="45.4696" z="31.4402" />
+ <vertex index="4635" x="44.986" y="38.3878" z="40.0163" />
+ <vertex index="4636" x="45.0039" y="38.9719" z="40.2168" />
+ <vertex index="4637" x="48.5339" y="39.5311" z="36.9159" />
+ <vertex index="4638" x="57.0088" y="53.4456" z="7.9301" />
+ <vertex index="4639" x="48.8239" y="40.1521" z="34.7116" />
+ <vertex index="4640" x="57.5295" y="44.6368" z="37.7094" />
+ <vertex index="4641" x="40.68" y="36.6481" z="45.0359" />
+ <vertex index="4642" x="41.0894" y="36.8733" z="44.5652" />
+ <vertex index="4643" x="50.9719" y="43.5389" z="29.7798" />
+ <vertex index="4644" x="54.9694" y="41.3058" z="46.0809" />
+ <vertex index="4645" x="55.1471" y="41.705" z="45.3574" />
+ <vertex index="4646" x="55.2876" y="41.0598" z="45.3525" />
+ <vertex index="4647" x="58.7687" y="52.1707" z="8.46233" />
+ <vertex index="4648" x="51.1832" y="44.82" z="35.9078" />
+ <vertex index="4649" x="47.8291" y="38.6698" z="39.1843" />
+ <vertex index="4650" x="56.4136" y="44.9508" z="23.2472" />
+ <vertex index="4651" x="48.3699" y="40.1333" z="34.4288" />
+ <vertex index="4652" x="53.1861" y="45.6564" z="38.4598" />
+ <vertex index="4653" x="56.6136" y="44.6366" z="24.6234" />
+ <vertex index="4654" x="56.2084" y="44.621" z="24.0248" />
+ <vertex index="4655" x="56.4101" y="42.275" z="38.0375" />
+ <vertex index="4656" x="58.8697" y="52.4177" z="6.41926" />
+ <vertex index="4657" x="56.1303" y="51.3943" z="12.4352" />
+ <vertex index="4658" x="50.4304" y="42.0524" z="30.5053" />
+ <vertex index="4659" x="57.1147" y="42.7855" z="34.7573" />
+ <vertex index="4660" x="56.08" y="40.7973" z="37.5587" />
+ <vertex index="4661" x="47.9221" y="38.7663" z="38.4457" />
+ <vertex index="4662" x="48.0559" y="38.9963" z="37.569" />
+ <vertex index="4663" x="48.8265" y="39.9866" z="36.5018" />
+ <vertex index="4664" x="51.6939" y="45.3052" z="34.8598" />
+ <vertex index="4665" x="52.0612" y="45.6269" z="34.5457" />
+ <vertex index="4666" x="57.7639" y="51.0767" z="5.91718" />
+ <vertex index="4667" x="59.207" y="45.0361" z="34.1943" />
+ <vertex index="4668" x="55.6866" y="47.6091" z="16.9403" />
+ <vertex index="4669" x="56.1637" y="40.5074" z="45.0775" />
+ <vertex index="4670" x="54.1402" y="39.9287" z="33.8768" />
+ <vertex index="4671" x="53.8425" y="40.1263" z="33.3972" />
+ <vertex index="4672" x="55.388" y="44.1992" z="25.9227" />
+ <vertex index="4673" x="56.4956" y="45.4783" z="28.7264" />
+ <vertex index="4674" x="55.9267" y="41.1185" z="43.854" />
+ <vertex index="4675" x="56.327" y="43.815" z="26.7277" />
+ <vertex index="4676" x="55.0973" y="46.6464" z="21.3077" />
+ <vertex index="4677" x="49.0265" y="40.1996" z="35.9061" />
+ <vertex index="4678" x="57.7769" y="45.6557" z="32.5442" />
+ <vertex index="4679" x="58.2088" y="45.4878" z="32.2239" />
+ <vertex index="4680" x="55.9713" y="50.534" z="14.6963" />
+ <vertex index="4681" x="51.4913" y="43.6054" z="31.5792" />
+ <vertex index="4682" x="57.5718" y="53.3594" z="8.35665" />
+ <vertex index="4683" x="51.577" y="42.4739" z="29.8118" />
+ <vertex index="4684" x="51.7758" y="42.1003" z="30.178" />
+ <vertex index="4685" x="53.208" y="44.8869" z="29.3578" />
+ <vertex index="4686" x="56.1363" y="47.397" z="23.1393" />
+ <vertex index="4687" x="56.1855" y="47.1229" z="23.872" />
+ <vertex index="4688" x="56.4738" y="42.054" z="30.4142" />
+ <vertex index="4689" x="53.4879" y="44.8707" z="39.3834" />
+ <vertex index="4690" x="40.9857" y="36.4075" z="47.8338" />
+ <vertex index="4691" x="41.1965" y="36.8513" z="47.8632" />
+ <vertex index="4692" x="41.2777" y="37.2199" z="47.7391" />
+ <vertex index="4693" x="58.4047" y="44.1698" z="40.7787" />
+ <vertex index="4694" x="53.2386" y="46.3175" z="32.9746" />
+ <vertex index="4695" x="40.4963" y="37.545" z="47.7319" />
+ <vertex index="4696" x="41.0443" y="37.0848" z="48.1094" />
+ <vertex index="4697" x="57.0574" y="53.9961" z="5.1127" />
+ <vertex index="4698" x="55.8957" y="40.4621" z="36.4933" />
+ <vertex index="4699" x="57.0029" y="45.0515" z="24.6009" />
+ <vertex index="4700" x="52.9894" y="45.1096" z="39.0213" />
+ <vertex index="4701" x="57.419" y="48.3726" z="13.8606" />
+ <vertex index="4702" x="55.9155" y="46.8425" z="24.6434" />
+ <vertex index="4703" x="47.2143" y="40.5274" z="35.0243" />
+ <vertex index="4704" x="51.5493" y="45.2077" z="36.9986" />
+ <vertex index="4705" x="57.3475" y="42.4638" z="34.2141" />
+ <vertex index="4706" x="55.5108" y="40.6397" z="38.6114" />
+ <vertex index="4707" x="58.2716" y="50.5563" z="13.4244" />
+ <vertex index="4708" x="57.9194" y="50.9451" z="13.7116" />
+ <vertex index="4709" x="56.2096" y="50.9241" z="7.88902" />
+ <vertex index="4710" x="54.9646" y="46.1923" z="35.9685" />
+ <vertex index="4711" x="55.665" y="45.8856" z="36.2172" />
+ <vertex index="4712" x="54.5255" y="40.7052" z="31.9927" />
+ <vertex index="4713" x="54.5272" y="40.3701" z="32.5771" />
+ <vertex index="4714" x="54.1716" y="46.3465" z="35.7444" />
+ <vertex index="4715" x="57.2084" y="41.2742" z="34.2456" />
+ <vertex index="4716" x="50.9194" y="42.21" z="35.3273" />
+ <vertex index="4717" x="56.9647" y="43.5157" z="34.4329" />
+ <vertex index="4718" x="56.8071" y="44.0521" z="35.0484" />
+ <vertex index="4719" x="40.6273" y="36.2267" z="45.5037" />
+ <vertex index="4720" x="57.3994" y="46.7061" z="20.8088" />
+ <vertex index="4721" x="58.3934" y="53.3032" z="4.79099" />
+ <vertex index="4722" x="58.965" y="44.2766" z="39.7012" />
+ <vertex index="4723" x="55.8515" y="50.1095" z="10.9139" />
+ <vertex index="4724" x="53.9547" y="46.4736" z="33.8649" />
+ <vertex index="4725" x="51.1159" y="41.1564" z="36.9628" />
+ <vertex index="4726" x="51.9641" y="45.6483" z="36.8137" />
+ <vertex index="4727" x="57.0472" y="45.057" z="27.8112" />
+ <vertex index="4728" x="45.5936" y="39.7597" z="40.2752" />
+ <vertex index="4729" x="45.4043" y="39.4562" z="39.8821" />
+ <vertex index="4730" x="56.2959" y="41.1329" z="43.1604" />
+ <vertex index="4731" x="52.1005" y="41.8745" z="33.6073" />
+ <vertex index="4732" x="53.4522" y="46.3888" z="33.8229" />
+ <vertex index="4733" x="57.8208" y="53.6834" z="4.96673" />
+ <vertex index="4734" x="55.0546" y="41.9446" z="46.197" />
+ <vertex index="4735" x="46.2419" y="38.0841" z="39.0905" />
+ <vertex index="4736" x="53.8809" y="40.3309" z="32.8591" />
+ <vertex index="4737" x="55.2711" y="40.5458" z="32.2143" />
+ <vertex index="4738" x="55.9235" y="41.5134" z="43.0946" />
+ <vertex index="4739" x="56.9277" y="45.3973" z="29.9984" />
+ <vertex index="4740" x="57.3034" y="42.7949" z="33.6962" />
+ <vertex index="4741" x="57.1637" y="42.9694" z="34.1701" />
+ <vertex index="4742" x="55.4116" y="47.6207" z="17.5719" />
+ <vertex index="4743" x="57.1775" y="42.3034" z="46.5805" />
+ <vertex index="4744" x="53.925" y="46.4191" z="34.9413" />
+ <vertex index="4745" x="53.7463" y="46.429" z="34.3266" />
+ <vertex index="4746" x="53.1893" y="46.3131" z="34.6456" />
+ <vertex index="4747" x="50.8792" y="41.6651" z="36.6603" />
+ <vertex index="4748" x="54.4593" y="41.4619" z="30.9212" />
+ <vertex index="4749" x="55.6149" y="40.1698" z="33.7214" />
+ <vertex index="4750" x="54.8915" y="45.7411" z="24.8151" />
+ <vertex index="4751" x="45.545" y="38.2381" z="39.5138" />
+ <vertex index="4752" x="54.3965" y="40.0951" z="33.25" />
+ <vertex index="4753" x="55.1132" y="40.1929" z="33.0728" />
+ <vertex index="4754" x="57.0053" y="45.0712" z="28.4638" />
+ <vertex index="4755" x="54.1379" y="42.0203" z="40.02" />
+ <vertex index="4756" x="54.9823" y="45.1617" z="24.5773" />
+ <vertex index="4757" x="55.8525" y="51.8055" z="7.95558" />
+ <vertex index="4758" x="56.0747" y="43.5756" z="27.4299" />
+ <vertex index="4759" x="40.0709" y="38.253" z="47.3479" />
+ <vertex index="4760" x="51.4411" y="42.8927" z="33.9877" />
+ <vertex index="4761" x="51.1032" y="43.1417" z="34.4576" />
+ <vertex index="4762" x="55.638" y="46.0883" z="20.7284" />
+ <vertex index="4763" x="58.2638" y="44.3185" z="30.9011" />
+ <vertex index="4764" x="55.7413" y="44.8714" z="23.451" />
+ <vertex index="4765" x="58.5207" y="44.4099" z="40.0515" />
+ <vertex index="4766" x="55.4408" y="48.8744" z="17.8009" />
+ <vertex index="4767" x="57.396" y="46.9959" z="21.4302" />
+ <vertex index="4768" x="56.2386" y="46.1619" z="19.8495" />
+ <vertex index="4769" x="46.4907" y="37.8237" z="41.9663" />
+ <vertex index="4770" x="58.6556" y="44.6062" z="39.316" />
+ <vertex index="4771" x="56.1554" y="40.7782" z="32.2145" />
+ <vertex index="4772" x="55.5354" y="49.3247" z="14.1297" />
+ <vertex index="4773" x="55.3818" y="44.8603" z="38.8223" />
+ <vertex index="4774" x="39.9715" y="37.9305" z="47.4269" />
+ <vertex index="4775" x="51.5241" y="40.8654" z="35.7227" />
+ <vertex index="4776" x="55.3284" y="39.9773" z="34.4727" />
+ <vertex index="4777" x="56.1179" y="44.9408" z="37.469" />
+ <vertex index="4778" x="57.5202" y="50.9887" z="14.1986" />
+ <vertex index="4779" x="56.7399" y="43.8801" z="35.8519" />
+ <vertex index="4780" x="52.4648" y="45.9577" z="36.6442" />
+ <vertex index="4781" x="55.1739" y="45.2152" z="23.7362" />
+ <vertex index="4782" x="54.9122" y="45.7405" z="24.0417" />
+ <vertex index="4783" x="51.0148" y="44.4269" z="35.4805" />
+ <vertex index="4784" x="55.5509" y="50.1033" z="13.6873" />
+ <vertex index="4785" x="58.7851" y="45.0975" z="32.5941" />
+ <vertex index="4786" x="55.7391" y="40.8301" z="44.7408" />
+ <vertex index="4787" x="58.7402" y="43.8195" z="41.056" />
+ <vertex index="4788" x="56.4039" y="43.2632" z="44.226" />
+ <vertex index="4789" x="50.8365" y="41.8949" z="36.0527" />
+ <vertex index="4790" x="39.4293" y="36.5537" z="46.3926" />
+ <vertex index="4791" x="56.7096" y="49.6457" z="17.7615" />
+ <vertex index="4792" x="58.8424" y="52.313" z="5.7463" />
+ <vertex index="4793" x="58.5885" y="51.9218" z="5.30387" />
+ <vertex index="4794" x="45.1772" y="39.4612" z="40.5609" />
+ <vertex index="4795" x="39.0459" y="36.7979" z="46.2571" />
+ <vertex index="4796" x="54.6836" y="41.1815" z="47.4584" />
+ <vertex index="4797" x="44.5987" y="38.4813" z="40.6512" />
+ <vertex index="4798" x="57.5559" y="49.2806" z="11.1483" />
+ <vertex index="4799" x="57.6525" y="49.1096" z="11.7566" />
+ <vertex index="4800" x="55.9801" y="46.4195" z="19.3973" />
+ <vertex index="4801" x="39.4724" y="37.9666" z="46.411" />
+ <vertex index="4802" x="58.2007" y="50.076" z="9.78134" />
+ <vertex index="4803" x="56.4437" y="45.4596" z="29.6005" />
+ <vertex index="4804" x="52.5004" y="45.9795" z="34.5965" />
+ <vertex index="4805" x="52.8324" y="46.1507" z="33.8436" />
+ <vertex index="4806" x="52.2717" y="45.7396" z="33.9392" />
+ <vertex index="4807" x="47.8447" y="41.2741" z="37.6639" />
+ <vertex index="4808" x="47.423" y="38.3422" z="38.8047" />
+ <vertex index="4809" x="51.3704" y="44.0966" z="29.7275" />
+ <vertex index="4810" x="54.5842" y="40.9668" z="48.0559" />
+ <vertex index="4811" x="51.9795" y="44.19" z="38.8724" />
+ <vertex index="4812" x="56.0879" y="52.2251" z="4.87045" />
+ <vertex index="4813" x="56.7308" y="45.4313" z="27.9519" />
+ <vertex index="4814" x="56.1325" y="45.4744" z="36.3477" />
+ <vertex index="4815" x="52.7925" y="39.9308" z="38.6923" />
+ <vertex index="4816" x="54.8789" y="40.9377" z="31.4492" />
+ <vertex index="4817" x="56.341" y="45.0429" z="36.7456" />
+ <vertex index="4818" x="58.3984" y="45.5274" z="32.9031" />
+ <vertex index="4819" x="50.8928" y="41.5565" z="31.5086" />
+ <vertex index="4820" x="55.6129" y="46.2981" z="34.5533" />
+ <vertex index="4821" x="54.8057" y="46.3871" z="35.0026" />
+ <vertex index="4822" x="54.869" y="39.9596" z="33.8087" />
+ <vertex index="4823" x="40.0024" y="37.2736" z="47.1879" />
+ <vertex index="4824" x="46.4698" y="37.8234" z="39.7677" />
+ <vertex index="4825" x="54.9655" y="44.9378" z="26.6785" />
+ <vertex index="4826" x="57.0612" y="43.2942" z="33.7603" />
+ <vertex index="4827" x="55.1904" y="48.248" z="17.6642" />
+ <vertex index="4828" x="55.5533" y="46.9305" z="23.9684" />
+ <vertex index="4829" x="51.1013" y="41.2539" z="36.2155" />
+ <vertex index="4830" x="54.7326" y="41.7001" z="30.4283" />
+ <vertex index="4831" x="55.889" y="45.4592" z="29.1774" />
+ <vertex index="4832" x="51.9097" y="42.5785" z="33.4985" />
+ <vertex index="4833" x="57.9981" y="50.8067" z="7.04497" />
+ <vertex index="4834" x="54.8764" y="45.2419" z="25.3322" />
+ <vertex index="4835" x="56.0542" y="43.0595" z="44.6812" />
+ <vertex index="4836" x="57.1018" y="41.6515" z="35.2877" />
+ <vertex index="4837" x="53.3895" y="46.2998" z="35.5443" />
+ <vertex index="4838" x="53.5875" y="46.2734" z="36.3511" />
+ <vertex index="4839" x="52.855" y="46.1542" z="36.157" />
+ <vertex index="4840" x="56.742" y="43.6285" z="27.981" />
+ <vertex index="4841" x="40.6177" y="36.752" z="47.5173" />
+ <vertex index="4842" x="46.7101" y="37.7659" z="40.3289" />
+ <vertex index="4843" x="54.987" y="44.7686" z="25.9727" />
+ <vertex index="4844" x="52.6612" y="46.1144" z="35.3709" />
+ <vertex index="4845" x="54.7862" y="43.7741" z="32.2262" />
+ <vertex index="4846" x="57.2933" y="44.3582" z="31.6273" />
+ <vertex index="4847" x="53.6764" y="42.8452" z="36.5398" />
+ <vertex index="4848" x="55.9542" y="44.686" z="31.892" />
+ <vertex index="4849" x="53.7395" y="43.9994" z="34.4758" />
+ <vertex index="4850" x="55.0955" y="42.3521" z="33.8517" />
+ <vertex index="4851" x="52.2754" y="43.3232" z="30.544" />
+ <vertex index="4852" x="55.3869" y="44.5516" z="33.277" />
+ <vertex index="4853" x="56.8361" y="44.5674" z="32.1727" />
+ <vertex index="4854" x="53.7109" y="41.5883" z="37.9161" />
+ <vertex index="4855" x="57.8124" y="44.7487" z="32.0713" />
+ <vertex index="4856" x="55.9116" y="45.1671" z="32.5958" />
+ <vertex index="4857" x="56.4128" y="43.8557" z="32.5577" />
+ <vertex index="4858" x="54.9634" y="44.3903" z="35.6547" />
+ <vertex index="4859" x="50.7769" y="43.0067" z="31.0483" />
+ <vertex index="4860" x="52.4904" y="43.2378" z="35.4091" />
+ <vertex index="4861" x="53.1705" y="43.9357" z="37.7093" />
+ <vertex index="4862" x="55.135" y="42.0369" z="36.6142" />
+ <vertex index="4863" x="53.6063" y="43.3114" z="31.6706" />
+ <vertex index="4864" x="53.9587" y="45.0705" z="33.5373" />
+ <vertex index="4865" x="57.1271" y="45.0316" z="31.8556" />
+ <vertex index="4866" x="55.9947" y="43.3093" z="31.3422" />
+ <vertex index="4867" x="54.4596" y="43.0363" z="38.2645" />
+ <vertex index="4868" x="57.3549" y="51.6871" z="8.5462" />
+ <vertex index="4869" x="57.2407" y="51.1119" z="10.1451" />
+ <vertex index="4870" x="43.2274" y="37.5883" z="43.9497" />
+ <vertex index="4871" x="57.001" y="49.8049" z="13.4693" />
+ <vertex index="4872" x="57.428" y="52.4248" z="6.23164" />
+ <vertex index="4873" x="53.7863" y="41.7656" z="35.2154" />
+ <vertex index="4874" x="53.72" y="42.9276" z="33.3033" />
+ <vertex index="4875" x="56.4551" y="45.0565" z="32.0256" />
+ <vertex index="4876" x="56.1896" y="44.3746" z="33.0765" />
+ <vertex index="4877" x="56.1682" y="41.4617" z="46.0819" />
+ <vertex index="4878" x="55.9386" y="41.1171" z="47.4384" />
+ <vertex index="4879" x="56.3481" y="47.717" z="19.1608" />
+ <vertex index="4880" x="57.1546" y="50.4543" z="12.0836" />
+ <vertex index="4881" x="58.8317" y="43.8395" z="35.9477" />
+ <vertex index="4882" x="52.1923" y="42.4834" z="36.8517" />
+ <vertex index="4883" x="55.8027" y="42.3556" z="32.5461" />
+ <vertex index="4884" x="54.8311" y="44.1457" z="37.1712" />
+ <vertex index="4885" x="53.3176" y="44.7021" z="36.3812" />
+ <vertex index="4886" x="56.1757" y="44.1954" z="30.2267" />
+ <vertex index="4887" x="56.2919" y="47.0336" z="20.8267" />
+ <vertex index="4888" x="58.2799" y="44.0723" z="32.2369" />
+ <vertex index="4889" x="56.0611" y="45.91" z="23.7647" />
+ <vertex index="4890" x="57.4042" y="42.7526" z="41.7454" />
+ <vertex index="4891" x="56.9217" y="42.2734" z="43.7574" />
+ <vertex index="4892" x="52.6669" y="43.2503" z="31.2681" />
+ <vertex index="4893" x="46.851" y="39.4047" z="39.0014" />
+ <vertex index="4894" x="54.3736" y="45.1222" z="31.9973" />
+ <vertex index="4895" x="54.1407" y="41.4281" z="33.6043" />
+ <vertex index="4896" x="56.4864" y="48.1779" z="18.0295" />
+ <vertex index="4897" x="56.2894" y="46.6539" z="22.0142" />
+ <vertex index="4898" x="39.9866" y="36.8727" z="46.3621" />
+ <vertex index="4899" x="46.3501" y="38.8854" z="40.1679" />
+ <vertex index="4900" x="47.3944" y="39.9657" z="37.8055" />
+ <vertex index="4901" x="41.9972" y="37.2386" z="45.2312" />
+ <vertex index="4902" x="57.8717" y="43.0633" z="40.5886" />
+ <vertex index="4903" x="56.1972" y="41.9713" z="34.2387" />
+ <vertex index="4904" x="56.0239" y="43.2806" z="33.4016" />
+ <vertex index="4905" x="54.576" y="44.0287" z="30.5604" />
+ <vertex index="4906" x="57.172" y="44.825" z="32.2263" />
+ <vertex index="4907" x="56.5099" y="41.9587" z="45.1053" />
+ <vertex index="4908" x="57.0038" y="49.3828" z="14.8126" />
+ <vertex index="4909" x="56.6539" y="48.865" z="16.3001" />
+ <vertex index="4910" x="45.8051" y="38.4404" z="41.0814" />
+ <vertex index="4911" x="52.9804" y="44.8769" z="34.9501" />
+ <vertex index="4912" x="57.9816" y="44.991" z="32.513" />
+ <vertex index="4913" x="54.7748" y="42.7177" z="31.3235" />
+ <vertex index="4914" x="55.8258" y="44.381" z="28.5367" />
+ <vertex index="4915" x="58.317" y="43.3817" z="39.4868" />
+ <vertex index="4916" x="47.7969" y="40.4274" z="36.5747" />
+ <vertex index="4917" x="55.4719" y="45.0954" z="34.3728" />
+ <vertex index="4918" x="52.4026" y="41.5614" z="37.9731" />
+ <vertex index="4919" x="57.0311" y="42.2752" z="42.6632" />
+ <vertex index="4920" x="44.0732" y="37.7598" z="43.1192" />
+ <vertex index="4921" x="56.0331" y="45.205" z="26.052" />
+ <vertex index="4922" x="56.9559" y="43.5593" z="31.4734" />
+ <vertex index="4923" x="51.5454" y="42.7772" z="30.6938" />
+ <vertex index="4924" x="55.2789" y="41.586" z="37.6369" />
+ <vertex index="4925" x="57.5414" y="45.1231" z="32.0413" />
+ <vertex index="4926" x="55.0924" y="45.0568" z="30.9996" />
+ <vertex index="4927" x="56.0649" y="45.5582" z="24.9199" />
+ <vertex index="4928" x="53.1285" y="42.3013" z="38.5303" />
+ <vertex index="4929" x="57.8152" y="44.4535" z="32.5012" />
+ <vertex index="4930" x="53.3754" y="43.9598" z="32.7249" />
+ <vertex index="4931" x="56.7706" y="50.7162" z="11.0727" />
+ <vertex index="4932" x="56.1188" y="44.6933" z="27.6152" />
+ <vertex index="4933" x="48.7766" y="41.2602" z="34.3873" />
+ <vertex index="4934" x="56.8317" y="51.9884" z="7.67494" />
+ <vertex index="4935" x="51.967" y="43.4715" z="31.0948" />
+ <vertex index="4936" x="53.6417" y="41.0079" z="36.7667" />
+ <vertex index="4937" x="55.8182" y="45.3868" z="33.4609" />
+ <vertex index="4938" x="52.2405" y="44.1482" z="36.8685" />
+ <vertex index="4939" x="54.1199" y="45.4408" z="34.5356" />
+ <vertex index="4940" x="57.6159" y="52.6487" z="7.22432" />
+ <vertex index="4941" x="41.115" y="37.2163" z="45.8167" />
+ <vertex index="4942" x="58.5204" y="43.6539" z="38.4634" />
+ <vertex index="4943" x="52.0855" y="44.2322" z="35.6653" />
+ <vertex index="4944" x="53.9902" y="42.0785" z="32.5402" />
+ <vertex index="4945" x="56.4123" y="47.0782" z="19.7197" />
+ <vertex index="4946" x="49.7983" y="42.4483" z="32.1743" />
+ <vertex index="4947" x="45.006" y="38.1115" z="42.1577" />
+ <vertex index="4948" x="48.1313" y="40.8874" z="35.482" />
+ <vertex index="4949" x="52.5099" y="43.9129" z="34.3189" />
+ <vertex index="4950" x="54.6243" y="41.6302" z="38.6533" />
+ <vertex index="4951" x="56.8188" y="44.1712" z="32.6784" />
+ <vertex index="4952" x="50.4613" y="42.3867" z="31.5775" />
+ <vertex index="4953" x="53.9717" y="44.539" z="38.2676" />
+ <vertex index="4954" x="52.8993" y="41.3056" z="35.7755" />
+ <vertex index="4955" x="52.9445" y="42.6018" z="34.3332" />
+ <vertex index="4956" x="56.3822" y="45.0647" z="32.5094" />
+ <vertex index="4957" x="58.575" y="44.3979" z="32.8214" />
+ <vertex index="4958" x="56.1313" y="46.4777" z="22.9275" />
+ <vertex index="4959" x="56.9328" y="44.8955" z="32.4687" />
+ <vertex index="4960" x="49.0656" y="42" z="33.0837" />
+ <vertex index="4961" x="55.5817" y="43.3201" z="34.8111" />
+ <vertex index="4962" x="55.7461" y="42.2821" z="31.4838" />
+ <vertex index="4963" x="55.2393" y="41.5492" z="35.2481" />
+ <vertex index="4964" x="56.3897" y="43.0497" z="32.7053" />
+ <vertex index="4965" x="56.403" y="48.2778" z="17.0518" />
+ <vertex index="4966" x="53.4485" y="41.2607" z="38.837" />
+ <vertex index="4967" x="56.587" y="41.3741" z="46.9098" />
+ <vertex index="4968" x="55.4542" y="41.1045" z="48.1854" />
+ <vertex index="4969" x="58.7711" y="43.6604" z="36.9521" />
+ <vertex index="4970" x="51.8611" y="43.0808" z="37.6971" />
+ <vertex index="4971" x="53.6294" y="44.4925" z="31.468" />
+ <vertex index="4972" x="57.6271" y="43.6218" z="31.6282" />
+ <vertex index="4973" x="56.9333" y="43.6467" z="32.2716" />
+ <vertex index="4974" x="56.5312" y="44.604" z="32.788" />
+ <vertex index="4975" x="42.9602" y="37.3445" z="44.9868" />
+ <vertex index="4976" x="55.3879" y="43.2176" z="30.3497" />
+ <vertex index="4977" x="57.07" y="49.1389" z="13.9978" />
+ <vertex index="4978" x="53.3834" y="42.7644" z="32.387" />
+ <vertex index="4979" x="57.791" y="51.5905" z="9.44959" />
+ <vertex index="4980" x="56.4621" y="42.6533" z="33.7902" />
+ <vertex index="4981" x="56.6398" y="42.9915" z="31.8633" />
+ <vertex index="4982" x="51.3208" y="42.9329" z="31.1908" />
+ <vertex index="4983" x="56.6977" y="53.0606" z="5.5171" />
+ <vertex index="4984" x="53.5987" y="42.8937" z="30.6738" />
+ <vertex index="4985" x="56.7708" y="51.4279" z="9.31822" />
+ <vertex index="4986" x="54.295" y="45.6226" z="32.8196" />
+ <vertex index="4987" x="54.8632" y="41.3973" z="32.7768" />
+ <vertex index="4988" x="47.4968" y="39.8435" z="38.6478" />
+ <vertex index="4989" x="57.6205" y="44.9456" z="32.3775" />
+ <vertex index="4990" x="57.3186" y="51.4024" z="11.2755" />
+ <vertex index="4991" x="56.3386" y="45.4091" z="32.7765" />
+ <vertex index="4992" x="57.649" y="44.0045" z="32.1118" />
+ <vertex index="4993" x="53.1968" y="43.9102" z="30.0988" />
+ <vertex index="4994" x="55.436" y="44.773" z="36.4394" />
+ <vertex index="4995" x="58.0041" y="52.7187" z="5.52635" />
+ <vertex index="4996" x="53.1216" y="42.1232" z="33.3755" />
+ <vertex index="4997" x="56.1435" y="44.0951" z="33.8501" />
+ <vertex index="4998" x="56.8868" y="41.7843" z="45.8402" />
+ <vertex index="4999" x="56.8759" y="50.6093" z="12.9789" />
+ <vertex index="5000" x="59.1784" y="43.5974" z="36.3991" />
+ <vertex index="5001" x="52.9584" y="43.6098" z="32.1154" />
+ <vertex index="5002" x="41.948" y="37.1735" z="46.1124" />
+ <vertex index="5003" x="44.9043" y="37.8828" z="42.973" />
+ <vertex index="5004" x="52.9291" y="44.6436" z="33.5872" />
+ <vertex index="5005" x="55.5022" y="43.2178" z="36.1321" />
+ <vertex index="5006" x="54.9721" y="44.1215" z="29.4838" />
+ <vertex index="5007" x="58.6594" y="44.5683" z="33.6751" />
+ <vertex index="5008" x="55.8195" y="44.2952" z="35.1103" />
+ <vertex index="5009" x="52.296" y="44.2593" z="37.8556" />
+ <vertex index="5010" x="55.8481" y="41.5231" z="36.6622" />
+ <vertex index="5011" x="56.8189" y="45.1731" z="32.0316" />
+ <vertex index="5012" x="56.6657" y="45.0556" z="31.4433" />
+ <vertex index="5013" x="57.282" y="49.6449" z="12.2986" />
+ <vertex index="5014" x="56.5743" y="42.0686" z="32.9064" />
+ <vertex index="5015" x="52.7232" y="43.6408" z="33.3764" />
+ <vertex index="5016" x="57.7723" y="51.6751" z="7.51291" />
+ <vertex index="5017" x="58.7275" y="43.2263" z="35.5396" />
+ <vertex index="5018" x="58.8105" y="43.9113" z="34.1343" />
+ <vertex index="5019" x="53.0918" y="44.4199" z="38.4589" />
+ <vertex index="5020" x="55.1263" y="43.6643" z="38.5089" />
+ <vertex index="5021" x="46.7296" y="39.6517" z="38.2091" />
+ <vertex index="5022" x="56.2885" y="49.0714" z="15.4479" />
+ <vertex index="5023" x="54.3087" y="45.3984" z="31.1724" />
+ <vertex index="5024" x="57.5376" y="50.205" z="11.1451" />
+ <vertex index="5025" x="54.3868" y="45.751" z="33.7966" />
+ <vertex index="5026" x="51.901" y="43.4215" z="34.758" />
+ <vertex index="5027" x="55.3787" y="43.1138" z="37.2957" />
+ <vertex index="5028" x="42.8694" y="38.0703" z="44.0468" />
+ <vertex index="5029" x="56.7242" y="44.7624" z="30.5018" />
+ <vertex index="5030" x="52.5155" y="43.3395" z="31.7404" />
+ <vertex index="5031" x="56.5449" y="42.4499" z="44.4571" />
+ <vertex index="5032" x="56.689" y="50.1119" z="14.4859" />
+ <vertex index="5033" x="45.0747" y="38.1992" z="41.1982" />
+ <vertex index="5034" x="57.6515" y="43.706" z="39.8452" />
+ <vertex index="5035" x="54.8989" y="42.454" z="39.0479" />
+ <vertex index="5036" x="52.1083" y="42.1617" z="35.667" />
+ <vertex index="5037" x="52.4339" y="41.2736" z="36.8439" />
+ <vertex index="5038" x="57.3484" y="45.0285" z="32.3297" />
+ <vertex index="5039" x="57.3298" y="50.2995" z="10.3372" />
+ <vertex index="5040" x="55.9454" y="40.8725" z="46.636" />
+ <vertex index="5041" x="58.1975" y="45.1297" z="32.878" />
+ <vertex index="5042" x="52.7396" y="40.7531" z="38.2715" />
+ <vertex index="5043" x="44.0869" y="37.7913" z="43.9514" />
+ <vertex index="5044" x="56.0153" y="45.1958" z="26.9177" />
+ <vertex index="5045" x="49.2671" y="41.5053" z="33.7414" />
+ <vertex index="5046" x="56.5547" y="45.3632" z="32.1912" />
+ <vertex index="5047" x="55.9023" y="45.4795" z="31.9714" />
+ <vertex index="5048" x="58.5079" y="44.4724" z="36.7289" />
+ <vertex index="5049" x="57.262" y="49.2621" z="13.0363" />
+ <vertex index="5050" x="57.4901" y="51.6493" z="6.39655" />
+ <vertex index="5051" x="52.5346" y="45.1094" z="36.409" />
+ <vertex index="5052" x="56.4022" y="41.7039" z="43.6741" />
+ <vertex index="5053" x="55.0215" y="41.0141" z="34.1664" />
+ <vertex index="5054" x="56.3367" y="48.3687" z="18.757" />
+ <vertex index="5055" x="46.8226" y="39.4566" z="39.8573" />
+ <vertex index="5056" x="42.2917" y="36.9627" z="44.5813" />
+ <vertex index="5057" x="52.5733" y="45.0572" z="34.2674" />
+ <vertex index="5058" x="40.8485" y="36.7249" z="46.5041" />
+ <vertex index="5059" x="56.5383" y="44.5302" z="33.2492" />
+ <vertex index="5060" x="56.0011" y="44.7402" z="33.636" />
+ <vertex index="5061" x="56.1572" y="41.0166" z="45.5492" />
+ <vertex index="5062" x="53.0819" y="42.8306" z="31.6654" />
+ <vertex index="5063" x="55.0548" y="42.4613" z="30.5748" />
+ <vertex index="5064" x="57.8979" y="42.7025" z="39.617" />
+ <vertex index="5065" x="54.6651" y="41.0528" z="36.232" />
+ <vertex index="5066" x="40.5001" y="37.4697" z="46.2524" />
+ <vertex index="5067" x="49.6774" y="41.7732" z="32.6045" />
+ <vertex index="5068" x="51.2856" y="43.5458" z="30.6593" />
+ <vertex index="5069" x="57.1286" y="45.1924" z="32.1437" />
+ <vertex index="5070" x="43.1195" y="38.0434" z="43.5223" />
+ <vertex index="5071" x="57.4697" y="49.9213" z="14.4082" />
+ <vertex index="5072" x="56.9606" y="47.9164" z="18.5999" />
+ <vertex index="5073" x="57.2575" y="52.1175" z="5.16349" />
+ <vertex index="5074" x="45.5388" y="37.9959" z="42.6167" />
+ <vertex index="5075" x="56.2005" y="41.4372" z="44.5257" />
+ <vertex index="5076" x="58.0704" y="44.1492" z="39.0327" />
+ <vertex index="5077" x="58.5999" y="44.71" z="34.5442" />
+ <vertex index="5078" x="56.8618" y="46.842" z="21.6677" />
+ <vertex index="5079" x="58.417" y="44.7599" z="35.9333" />
+ <vertex index="5080" x="56.7323" y="44.1381" z="29.0174" />
+ <vertex index="5081" x="56.9351" y="44.7538" z="29.872" />
+ <vertex index="5082" x="40.0775" y="37.7117" z="46.716" />
+ <vertex index="5083" x="57.5976" y="50.8881" z="8.37142" />
+ <vertex index="5084" x="57.4692" y="52.3213" z="9.29278" />
+ <vertex index="5085" x="56.6688" y="49.1573" z="17.1382" />
+ <vertex index="5086" x="55.507" y="46.2551" z="23.243" />
+ <vertex index="5087" x="44.5518" y="37.5334" z="42.103" />
+ <vertex index="5088" x="57.7112" y="50.3954" z="12.7683" />
+ <vertex index="5089" x="56.5459" y="45.3605" z="25.4708" />
+ <vertex index="5090" x="40.7704" y="37.3451" z="47.0189" />
+ <vertex index="5091" x="56.229" y="47.9887" z="20.3184" />
+ <vertex index="5092" x="46.6058" y="38.673" z="39.0517" />
+ <vertex index="5093" x="57.4793" y="52.5529" z="8.49867" />
+ <vertex index="5094" x="52.5005" y="42.6583" z="30.7642" />
+ <vertex index="5095" x="56.1056" y="43.9428" z="28.0394" />
+ <vertex index="5096" x="56.7025" y="43.0765" z="42.6598" />
+ <vertex index="5097" x="58.0641" y="44.2368" z="38.103" />
+ <vertex index="5098" x="50.9383" y="42.0586" z="31.2988" />
+ <vertex index="5099" x="41.0791" y="36.9243" z="47.3672" />
+ <vertex index="5100" x="57.4302" y="42.9201" z="43.4515" />
+ <vertex index="5101" x="46.9718" y="38.6888" z="39.8662" />
+ <vertex index="5102" x="56.8951" y="49.823" z="15.5644" />
+ <vertex index="5103" x="58.3886" y="44.9493" z="35.2705" />
+ <vertex index="5104" x="46.1751" y="38.2096" z="40.2685" />
+ <vertex index="5105" x="56.2904" y="45.5198" z="23.0557" />
+ <vertex index="5106" x="53.9044" y="44.0427" z="29.5186" />
+ <vertex index="5107" x="57.6942" y="43.4086" z="41.349" />
+ <vertex index="5108" x="55.7687" y="47.6748" z="18.7366" />
+ <vertex index="5109" x="57.7552" y="42.183" z="43.3718" />
+ <vertex index="5110" x="57.7085" y="43.0721" z="42.6049" />
+ <vertex index="5111" x="56.4363" y="49.9927" z="12.1716" />
+ <vertex index="5112" x="57.7786" y="50.6839" z="9.54065" />
+ <vertex index="5113" x="56.8692" y="48.5343" z="14.9979" />
+ <vertex index="5114" x="57.3774" y="42.3107" z="40.9529" />
+ <vertex index="5115" x="56.6728" y="44.2288" z="28.1896" />
+ <vertex index="5116" x="58.4306" y="45.1087" z="33.5339" />
+ <vertex index="5117" x="56.8051" y="49.609" z="16.3722" />
+ <vertex index="5118" x="58.384" y="44.7001" z="37.3201" />
+ <vertex index="5119" x="56.3081" y="50.7825" z="10.0268" />
+ <vertex index="5120" x="58.2686" y="42.9458" z="37.9946" />
+ <vertex index="5121" x="56.256" y="45.0995" z="28.2522" />
+ <vertex index="5122" x="55.6966" y="47.3135" z="20.2024" />
+ <vertex index="5123" x="56.4248" y="46.329" z="20.8564" />
+ <vertex index="5124" x="57.2961" y="43.581" z="40.568" />
+ <vertex index="5125" x="48.3285" y="41.4738" z="33.6758" />
+ <vertex index="5126" x="56.8961" y="42.0135" z="33.8001" />
+ <vertex index="5127" x="54.2007" y="43.284" z="39.3263" />
+ <vertex index="5128" x="57.3969" y="44.469" z="32.7095" />
+ <vertex index="5129" x="50.396" y="43.0396" z="31.8582" />
+ <vertex index="5130" x="57.7135" y="53.5286" z="5.7287" />
+ <vertex index="5131" x="42.9217" y="36.9627" z="43.9291" />
+ <vertex index="5132" x="41.1892" y="37.2806" z="45.0608" />
+ <vertex index="5133" x="56.9857" y="44.5849" z="32.7404" />
+ <vertex index="5134" x="56.094" y="40.4645" z="48.077" />
+ <vertex index="5135" x="57.4686" y="42.2193" z="44.5392" />
+ <vertex index="5136" x="48.9211" y="41.0184" z="35.1248" />
+ <vertex index="5137" x="58.669" y="43.7655" z="32.9377" />
+ <vertex index="5138" x="56.071" y="44.4142" z="26.4947" />
+ <vertex index="5139" x="58.1282" y="51.4956" z="10.2226" />
+ <vertex index="5140" x="56.9193" y="43.3037" z="41.9786" />
+ <vertex index="5141" x="47.9746" y="41.4592" z="34.9696" />
+ <vertex index="5142" x="47.1329" y="40.0317" z="36.9511" />
+ <vertex index="5143" x="58.8484" y="43.3889" z="34.8822" />
+ <vertex index="5144" x="57.4775" y="44.1833" z="30.8703" />
+ <vertex index="5145" x="57.9354" y="44.4124" z="31.4698" />
+ <vertex index="5146" x="52.5748" y="42.941" z="30.0138" />
+ <vertex index="5147" x="51.9615" y="43.3832" z="29.9153" />
+ <vertex index="5148" x="53.8279" y="40.6234" z="38.0651" />
+ <vertex index="5149" x="54.3364" y="45.2619" z="35.9833" />
+ <vertex index="5150" x="55.3277" y="45.2472" z="35.6286" />
+ <vertex index="5151" x="50.8725" y="43.4851" z="31.3329" />
+ <vertex index="5152" x="51.5864" y="43.352" z="35.6864" />
+ <vertex index="5153" x="53.3305" y="45.362" z="32.8632" />
+ <vertex index="5154" x="57.5501" y="44.9777" z="31.3803" />
+ <vertex index="5155" x="55.6743" y="43.8271" z="32.0222" />
+ <vertex index="5156" x="56.5458" y="42.9032" z="31.0609" />
+ <vertex index="5157" x="54.3251" y="42.3667" z="37.349" />
+ <vertex index="5158" x="56.6575" y="51.2775" z="8.46763" />
+ <vertex index="5159" x="58.1121" y="51.8099" z="8.66546" />
+ <vertex index="5160" x="56.9569" y="51.8327" z="10.2989" />
+ <vertex index="5161" x="43.161" y="37.3054" z="43.3725" />
+ <vertex index="5162" x="43.6305" y="37.6523" z="44.616" />
+ <vertex index="5163" x="56.3473" y="49.4156" z="13.4101" />
+ <vertex index="5164" x="56.6957" y="52.0585" z="6.16986" />
+ <vertex index="5165" x="57.3636" y="53.1794" z="6.5946" />
+ <vertex index="5166" x="53.3909" y="41.0003" z="35.0303" />
+ <vertex index="5167" x="53.7332" y="43.0285" z="35.2883" />
+ <vertex index="5168" x="54.7217" y="43.5748" z="33.7714" />
+ <vertex index="5169" x="56.5147" y="43.9608" z="33.2639" />
+ <vertex index="5170" x="55.6291" y="44.4501" z="32.5512" />
+ <vertex index="5171" x="56.7464" y="41.0835" z="46.0685" />
+ <vertex index="5172" x="55.6748" y="41.7256" z="46.6583" />
+ <vertex index="5173" x="55.7607" y="42.0462" z="45.9453" />
+ <vertex index="5174" x="55.5927" y="41.201" z="45.9134" />
+ <vertex index="5175" x="56.3161" y="40.584" z="47.3066" />
+ <vertex index="5176" x="55.3149" y="41.2862" z="47.2477" />
+ <vertex index="5177" x="56.2659" y="41.7864" z="47.4818" />
+ <vertex index="5178" x="56.4355" y="41.2195" z="48.0627" />
+ <vertex index="5179" x="56.7233" y="47.1576" z="19.01" />
+ <vertex index="5180" x="56.3437" y="48.1469" z="19.6712" />
+ <vertex index="5181" x="56.9772" y="47.8361" z="19.457" />
+ <vertex index="5182" x="55.7988" y="47.9964" z="19.3077" />
+ <vertex index="5183" x="57.8865" y="50.7258" z="12.0071" />
+ <vertex index="5184" x="56.4417" y="50.8164" z="11.9632" />
+ <vertex index="5185" x="57.1857" y="51.2626" z="12.0709" />
+ <vertex index="5186" x="59.283" y="43.6088" z="35.813" />
+ <vertex index="5187" x="59.0167" y="44.0134" z="35.2489" />
+ <vertex index="5188" x="51.3934" y="42.3958" z="37.0599" />
+ <vertex index="5189" x="56.0113" y="41.5929" z="32.2911" />
+ <vertex index="5190" x="54.0502" y="43.4333" z="37.3557" />
+ <vertex index="5191" x="54.9441" y="44.8903" z="37.5889" />
+ <vertex index="5192" x="55.6235" y="44.3131" z="37.2909" />
+ <vertex index="5193" x="54.1319" y="43.8812" z="36.2838" />
+ <vertex index="5194" x="53.4238" y="45.4845" z="35.9373" />
+ <vertex index="5195" x="53.3961" y="45.2972" z="37.1006" />
+ <vertex index="5196" x="55.733" y="44.844" z="29.8039" />
+ <vertex index="5197" x="56.157" y="43.3988" z="29.9136" />
+ <vertex index="5198" x="55.9118" y="46.6236" z="20.5278" />
+ <vertex index="5199" x="56.7789" y="47.4706" z="20.8719" />
+ <vertex index="5200" x="55.9153" y="47.312" z="21.393" />
+ <vertex index="5201" x="57.9384" y="44.0068" z="32.4888" />
+ <vertex index="5202" x="58.2369" y="43.6743" z="32.4411" />
+ <vertex index="5203" x="56.6211" y="45.6197" z="23.8712" />
+ <vertex index="5204" x="55.8374" y="45.2684" z="24.0777" />
+ <vertex index="5205" x="55.4737" y="46.0272" z="23.9731" />
+ <vertex index="5206" x="56.5148" y="46.2281" z="24.1459" />
+ <vertex index="5207" x="57.8184" y="42.2369" z="41.9897" />
+ <vertex index="5208" x="56.8275" y="42.885" z="41.345" />
+ <vertex index="5209" x="56.9542" y="42.1642" z="41.7129" />
+ <vertex index="5210" x="58.1441" y="42.7381" z="41.4741" />
+ <vertex index="5211" x="57.2578" y="41.7197" z="43.6072" />
+ <vertex index="5212" x="56.7427" y="42.8853" z="43.8329" />
+ <vertex index="5213" x="56.2446" y="42.4376" z="43.5167" />
+ <vertex index="5214" x="52.339" y="42.8945" z="31.284" />
+ <vertex index="5215" x="46.6003" y="40.0137" z="39.0414" />
+ <vertex index="5216" x="47.4376" y="39.0965" z="38.8094" />
+ <vertex index="5217" x="46.2027" y="39.4823" z="38.8604" />
+ <vertex index="5218" x="46.7662" y="39.006" z="38.4529" />
+ <vertex index="5219" x="47.2706" y="39.8486" z="39.3331" />
+ <vertex index="5220" x="54.1555" y="45.8407" z="31.8433" />
+ <vertex index="5221" x="54.4675" y="44.5356" z="32.8296" />
+ <vertex index="5222" x="53.6179" y="40.8988" z="33.7487" />
+ <vertex index="5223" x="53.9723" y="41.1102" z="32.9054" />
+ <vertex index="5224" x="56.0624" y="48.7127" z="18.0317" />
+ <vertex index="5225" x="55.9944" y="47.6483" z="17.9998" />
+ <vertex index="5226" x="56.7917" y="47.6289" z="17.6754" />
+ <vertex index="5227" x="57.1341" y="48.5305" z="17.9792" />
+ <vertex index="5228" x="55.7376" y="46.9795" z="22.1826" />
+ <vertex index="5229" x="55.7312" y="46.2584" z="21.9113" />
+ <vertex index="5230" x="56.3813" y="45.9908" z="22.3522" />
+ <vertex index="5231" x="56.8321" y="46.6088" z="22.2" />
+ <vertex index="5232" x="46.463" y="39.3839" z="40.5603" />
+ <vertex index="5233" x="46.0395" y="39.412" z="39.9696" />
+ <vertex index="5234" x="45.6599" y="38.7853" z="39.9743" />
+ <vertex index="5235" x="47.4559" y="39.2502" z="37.8803" />
+ <vertex index="5236" x="47.6074" y="40.4056" z="38.2386" />
+ <vertex index="5237" x="47.9864" y="39.7643" z="37.9404" />
+ <vertex index="5238" x="46.7976" y="40.241" z="37.7822" />
+ <vertex index="5239" x="41.9219" y="37.8545" z="45.3584" />
+ <vertex index="5240" x="41.7687" y="36.6888" z="45.0155" />
+ <vertex index="5241" x="41.7742" y="37.4247" z="44.637" />
+ <vertex index="5242" x="58.1089" y="42.3916" z="40.6351" />
+ <vertex index="5243" x="58.4702" y="43.4598" z="40.4873" />
+ <vertex index="5244" x="56.6108" y="41.8588" z="34.811" />
+ <vertex index="5245" x="56.5621" y="41.4166" z="34.0374" />
+ <vertex index="5246" x="55.7472" y="41.5607" z="33.3583" />
+ <vertex index="5247" x="56.5943" y="43.353" z="33.4288" />
+ <vertex index="5248" x="54.306" y="44.7615" z="30.2179" />
+ <vertex index="5249" x="57.4168" y="44.6987" z="31.8806" />
+ <vertex index="5250" x="56.9779" y="41.4019" z="45.1889" />
+ <vertex index="5251" x="56.175" y="42.3864" z="45.475" />
+ <vertex index="5252" x="55.8078" y="41.7633" z="45.0505" />
+ <vertex index="5253" x="56.88" y="42.3805" z="45.4515" />
+ <vertex index="5254" x="57.433" y="49.7592" z="15.1659" />
+ <vertex index="5255" x="56.1945" y="49.2749" z="14.6393" />
+ <vertex index="5256" x="57.2804" y="48.5366" z="16.2112" />
+ <vertex index="5257" x="56.6806" y="48.3024" z="15.8032" />
+ <vertex index="5258" x="56.1452" y="49.3437" z="16.2174" />
+ <vertex index="5259" x="45.9671" y="37.8775" z="40.8662" />
+ <vertex index="5260" x="45.3622" y="38.8483" z="40.7756" />
+ <vertex index="5261" x="45.9236" y="39.1232" z="41.0756" />
+ <vertex index="5262" x="45.3937" y="38.7977" z="41.5806" />
+ <vertex index="5263" x="46.0941" y="38.031" z="41.495" />
+ <vertex index="5264" x="46.5327" y="38.5467" z="40.9137" />
+ <vertex index="5265" x="52.731" y="45.5114" z="35.0459" />
+ <vertex index="5266" x="57.8983" y="44.7446" z="32.7666" />
+ <vertex index="5267" x="57.809" y="45.1836" z="32.6555" />
+ <vertex index="5268" x="54.4472" y="43.5908" z="31.3753" />
+ <vertex index="5269" x="54.715" y="41.8499" z="31.794" />
+ <vertex index="5270" x="54.3414" y="42.1915" z="31.021" />
+ <vertex index="5271" x="56.0199" y="43.7318" z="28.9174" />
+ <vertex index="5272" x="55.2608" y="44.6632" z="28.9649" />
+ <vertex index="5273" x="55.3585" y="43.9954" z="28.4318" />
+ <vertex index="5274" x="58.7576" y="43.8229" z="39.2675" />
+ <vertex index="5275" x="58.8443" y="43.0456" z="39.3212" />
+ <vertex index="5276" x="58.5837" y="43.802" z="39.8803" />
+ <vertex index="5277" x="58.1926" y="42.8845" z="38.838" />
+ <vertex index="5278" x="48.2184" y="39.9754" z="36.6207" />
+ <vertex index="5279" x="47.1744" y="40.4028" z="36.3264" />
+ <vertex index="5280" x="48.1196" y="40.7028" z="37.093" />
+ <vertex index="5281" x="47.6572" y="41.0839" z="36.3409" />
+ <vertex index="5282" x="47.6731" y="40.0826" z="36.0377" />
+ <vertex index="5283" x="47.3792" y="40.8626" z="36.9864" />
+ <vertex index="5284" x="55.5112" y="45.6416" z="34.8549" />
+ <vertex index="5285" x="56.1183" y="45.1991" z="34.6219" />
+ <vertex index="5286" x="51.7237" y="41.3912" z="38.0361" />
+ <vertex index="5287" x="52.214" y="41.6144" z="38.6982" />
+ <vertex index="5288" x="56.6933" y="41.8323" z="42.4284" />
+ <vertex index="5289" x="57.2706" y="41.7052" z="42.9164" />
+ <vertex index="5290" x="43.8582" y="37.1644" z="43.4099" />
+ <vertex index="5291" x="43.8909" y="38.3494" z="43.1919" />
+ <vertex index="5292" x="44.1816" y="37.2615" z="42.7393" />
+ <vertex index="5293" x="43.7258" y="37.8859" z="42.6362" />
+ <vertex index="5294" x="44.5274" y="38.0887" z="43.5141" />
+ <vertex index="5295" x="56.636" y="45.2685" z="26.1417" />
+ <vertex index="5296" x="55.4411" y="45.1037" z="26.2797" />
+ <vertex index="5297" x="55.5376" y="45.5012" z="25.7073" />
+ <vertex index="5298" x="55.6956" y="44.7532" z="25.6649" />
+ <vertex index="5299" x="57.1624" y="43.1382" z="31.4118" />
+ <vertex index="5300" x="56.3124" y="44.1874" z="31.1669" />
+ <vertex index="5301" x="51.8733" y="42.3672" z="30.6248" />
+ <vertex index="5302" x="51.2051" y="42.303" z="30.7908" />
+ <vertex index="5303" x="55.5822" y="41.5286" z="38.293" />
+ <vertex index="5304" x="55.5632" y="41.0538" z="37.7967" />
+ <vertex index="5305" x="54.6445" y="40.8997" z="37.6987" />
+ <vertex index="5306" x="55.9051" y="41.7106" z="37.7547" />
+ <vertex index="5307" x="55.3553" y="42.4876" z="38.0844" />
+ <vertex index="5308" x="57.6038" y="45.2533" z="32.3175" />
+ <vertex index="5309" x="55.0493" y="44.5325" z="31.7628" />
+ <vertex index="5310" x="55.5054" y="45.6148" z="31.2797" />
+ <vertex index="5311" x="55.4446" y="45.4746" z="30.5973" />
+ <vertex index="5312" x="56.0071" y="46.2184" z="24.8564" />
+ <vertex index="5313" x="55.4635" y="45.664" z="25.0575" />
+ <vertex index="5314" x="55.7766" y="44.9132" z="24.9654" />
+ <vertex index="5315" x="52.9036" y="42.925" z="38.8676" />
+ <vertex index="5316" x="53.0221" y="42.2642" z="37.4754" />
+ <vertex index="5317" x="52.9726" y="42.3174" z="39.0963" />
+ <vertex index="5318" x="53.8088" y="42.043" z="39.0297" />
+ <vertex index="5319" x="58.2841" y="44.6077" z="32.2877" />
+ <vertex index="5320" x="57.8845" y="44.2773" z="32.7907" />
+ <vertex index="5321" x="56.1863" y="50.565" z="11.1343" />
+ <vertex index="5322" x="56.7318" y="50.0832" z="10.7955" />
+ <vertex index="5323" x="56.3508" y="51.2338" z="11.1935" />
+ <vertex index="5324" x="55.5254" y="44.7557" z="27.5901" />
+ <vertex index="5325" x="56.6033" y="44.951" z="27.4767" />
+ <vertex index="5326" x="56.2606" y="44.2925" z="27.1423" />
+ <vertex index="5327" x="55.9112" y="45.2916" z="27.5597" />
+ <vertex index="5328" x="48.661" y="41.656" z="34.9319" />
+ <vertex index="5329" x="48.9649" y="40.9276" z="33.8983" />
+ <vertex index="5330" x="48.6345" y="40.6771" z="34.4742" />
+ <vertex index="5331" x="48.7193" y="41.9443" z="34.275" />
+ <vertex index="5332" x="48.1104" y="41.1687" z="34.3465" />
+ <vertex index="5333" x="56.5583" y="52.2958" z="6.96734" />
+ <vertex index="5334" x="56.6581" y="52.2546" z="8.40691" />
+ <vertex index="5335" x="56.2873" y="51.8966" z="7.62376" />
+ <vertex index="5336" x="56.7735" y="52.7454" z="7.64265" />
+ <vertex index="5337" x="56.6918" y="51.3208" z="7.60594" />
+ <vertex index="5338" x="52.5206" y="43.8099" z="30.932" />
+ <vertex index="5339" x="51.8405" y="43.1357" z="31.3613" />
+ <vertex index="5340" x="53.4936" y="40.4043" z="36.3969" />
+ <vertex index="5341" x="53.2169" y="40.4321" z="37.1761" />
+ <vertex index="5342" x="55.4264" y="45.9423" z="33.1547" />
+ <vertex index="5343" x="55.5135" y="45.7895" z="34.0133" />
+ <vertex index="5344" x="56.0969" y="45.5696" z="33.9635" />
+ <vertex index="5345" x="51.5591" y="44.2519" z="37.1319" />
+ <vertex index="5346" x="52.8351" y="43.2969" z="36.9573" />
+ <vertex index="5347" x="51.7663" y="44.5323" z="36.362" />
+ <vertex index="5348" x="53.5412" y="44.8323" z="34.2739" />
+ <vertex index="5349" x="54.5851" y="44.5596" z="34.2065" />
+ <vertex index="5350" x="54.0738" y="46.015" z="34.5582" />
+ <vertex index="5351" x="54.3932" y="45.7238" z="35.2567" />
+ <vertex index="5352" x="53.5323" y="45.6625" z="35.0558" />
+ <vertex index="5353" x="53.3931" y="45.6482" z="34.1927" />
+ <vertex index="5354" x="57.9745" y="53.0174" z="7.4648" />
+ <vertex index="5355" x="58.2122" y="52.7268" z="6.88226" />
+ <vertex index="5356" x="57.2292" y="53.1417" z="7.39901" />
+ <vertex index="5357" x="41.1401" y="36.6379" z="45.5053" />
+ <vertex index="5358" x="41.3145" y="37.716" z="46.2744" />
+ <vertex index="5359" x="59.1074" y="43.7711" z="38.4379" />
+ <vertex index="5360" x="51.7116" y="44.7099" z="35.6282" />
+ <vertex index="5361" x="53.1122" y="44.0582" z="35.585" />
+ <vertex index="5362" x="51.5241" y="43.9855" z="35.3616" />
+ <vertex index="5363" x="54.3449" y="42.2734" z="33.3506" />
+ <vertex index="5364" x="53.5764" y="41.7716" z="32.185" />
+ <vertex index="5365" x="54.3384" y="42.9106" z="32.1727" />
+ <vertex index="5366" x="56.341" y="46.6053" z="19.6577" />
+ <vertex index="5367" x="56.1555" y="46.9385" z="19.2256" />
+ <vertex index="5368" x="50.071" y="42.3156" z="32.7595" />
+ <vertex index="5369" x="49.779" y="42.0674" z="31.6416" />
+ <vertex index="5370" x="49.2092" y="42.1665" z="32.1415" />
+ <vertex index="5371" x="49.3882" y="42.7132" z="31.8687" />
+ <vertex index="5372" x="45.1369" y="38.7008" z="42.3323" />
+ <vertex index="5373" x="44.5852" y="38.508" z="41.9221" />
+ <vertex index="5374" x="45.3162" y="37.5602" z="42.1917" />
+ <vertex index="5375" x="48.472" y="40.4704" z="35.1389" />
+ <vertex index="5376" x="47.5548" y="40.8886" z="35.3469" />
+ <vertex index="5377" x="48.6011" y="40.7383" z="35.963" />
+ <vertex index="5378" x="52.0328" y="43.7064" z="33.8499" />
+ <vertex index="5379" x="52.0142" y="44.4524" z="34.2786" />
+ <vertex index="5380" x="54.7554" y="41.5381" z="39.2966" />
+ <vertex index="5381" x="54.947" y="41.0256" z="38.6663" />
+ <vertex index="5382" x="56.8955" y="44.3248" z="32.9391" />
+ <vertex index="5383" x="56.9009" y="43.7491" z="32.7813" />
+ <vertex index="5384" x="50.8962" y="42.7555" z="31.5471" />
+ <vertex index="5385" x="50.8497" y="42.2894" z="31.8506" />
+ <vertex index="5386" x="50.2926" y="41.9788" z="32.102" />
+ <vertex index="5387" x="50.3742" y="42.5132" z="30.9519" />
+ <vertex index="5388" x="54.236" y="45.0199" z="38.5985" />
+ <vertex index="5389" x="53.8432" y="44.2309" z="39.0156" />
+ <vertex index="5390" x="53.6862" y="45.221" z="38.0855" />
+ <vertex index="5391" x="53.6254" y="41.8738" z="36.2206" />
+ <vertex index="5392" x="52.4207" y="41.3105" z="35.1694" />
+ <vertex index="5393" x="52.2204" y="41.0396" z="35.9045" />
+ <vertex index="5394" x="52.6483" y="40.8083" z="35.5286" />
+ <vertex index="5395" x="52.3572" y="42.1534" z="34.2474" />
+ <vertex index="5396" x="56.0554" y="44.981" z="32.2141" />
+ <vertex index="5397" x="55.3352" y="45.0673" z="32.164" />
+ <vertex index="5398" x="58.3918" y="44.1453" z="33.13" />
+ <vertex index="5399" x="56.5164" y="46.61" z="23.4053" />
+ <vertex index="5400" x="56.6327" y="46.7811" z="22.8485" />
+ <vertex index="5401" x="55.8848" y="46.9939" z="22.7845" />
+ <vertex index="5402" x="56.599" y="44.8355" z="32.2985" />
+ <vertex index="5403" x="56.2942" y="44.3321" z="32.2249" />
+ <vertex index="5404" x="56.6682" y="44.9844" z="32.6163" />
+ <vertex index="5405" x="56.3685" y="44.9932" z="32.9585" />
+ <vertex index="5406" x="57.1916" y="44.7582" z="32.5146" />
+ <vertex index="5407" x="57.2574" y="44.3526" z="32.2635" />
+ <vertex index="5408" x="48.7867" y="41.9261" z="32.6092" />
+ <vertex index="5409" x="49.2761" y="42.3311" z="33.5709" />
+ <vertex index="5410" x="48.529" y="41.8325" z="33.1041" />
+ <vertex index="5411" x="56.3345" y="43.4699" z="34.8732" />
+ <vertex index="5412" x="56.0666" y="41.7642" z="31.4787" />
+ <vertex index="5413" x="56.2271" y="42.2676" z="31.0074" />
+ <vertex index="5414" x="55.5384" y="41.8414" z="31.0205" />
+ <vertex index="5415" x="55.4444" y="40.825" z="35.5251" />
+ <vertex index="5416" x="55.4651" y="42.3556" z="34.7521" />
+ <vertex index="5417" x="56.2901" y="47.6801" z="17.2313" />
+ <vertex index="5418" x="56.4526" y="47.9444" z="16.4929" />
+ <vertex index="5419" x="55.8475" y="48.4916" z="16.7463" />
+ <vertex index="5420" x="56.9533" y="47.8993" z="16.9545" />
+ <vertex index="5421" x="53.0715" y="41.5994" z="38.294" />
+ <vertex index="5422" x="53.3406" y="41.6786" z="39.2386" />
+ <vertex index="5423" x="52.8016" y="41.303" z="38.993" />
+ <vertex index="5424" x="56.9682" y="41.7282" z="46.5872" />
+ <vertex index="5425" x="56.7437" y="41.1664" z="47.4775" />
+ <vertex index="5426" x="54.959" y="41.1717" z="48.3804" />
+ <vertex index="5427" x="55.1949" y="41.5024" z="47.8632" />
+ <vertex index="5428" x="55.0845" y="40.9398" z="47.7839" />
+ <vertex index="5429" x="55.6687" y="41.5595" z="48.6379" />
+ <vertex index="5430" x="55.2112" y="40.5475" z="48.4198" />
+ <vertex index="5431" x="59.0345" y="43.3026" z="37.5302" />
+ <vertex index="5432" x="58.6182" y="43.02" z="36.8743" />
+ <vertex index="5433" x="51.6992" y="43.7275" z="37.9933" />
+ <vertex index="5434" x="51.3547" y="43.1597" z="37.9725" />
+ <vertex index="5435" x="52.0634" y="43.1859" z="38.4128" />
+ <vertex index="5436" x="51.4527" y="43.3664" z="36.9394" />
+ <vertex index="5437" x="53.5513" y="45.0959" z="32.0222" />
+ <vertex index="5438" x="53.5875" y="44.7062" z="30.7246" />
+ <vertex index="5439" x="53.9584" y="43.9839" z="32.0859" />
+ <vertex index="5440" x="53.0023" y="44.3763" z="31.8606" />
+ <vertex index="5441" x="57.977" y="43.4495" z="31.8159" />
+ <vertex index="5442" x="57.1703" y="43.2842" z="32.0691" />
+ <vertex index="5443" x="56.78" y="44.0526" z="31.8186" />
+ <vertex index="5444" x="56.7677" y="43.2438" z="32.4779" />
+ <vertex index="5445" x="56.4188" y="44.2064" z="32.7764" />
+ <vertex index="5446" x="55.8791" y="43.9683" z="32.7823" />
+ <vertex index="5447" x="43.309" y="36.8687" z="44.7491" />
+ <vertex index="5448" x="42.618" y="36.9252" z="45.4991" />
+ <vertex index="5449" x="43.1474" y="37.2448" z="45.5608" />
+ <vertex index="5450" x="55.1865" y="43.0362" z="29.6998" />
+ <vertex index="5451" x="55.7128" y="42.7179" z="30.0393" />
+ <vertex index="5452" x="57.3458" y="48.8495" z="13.6628" />
+ <vertex index="5453" x="57.1899" y="48.6657" z="14.2927" />
+ <vertex index="5454" x="52.9797" y="42.3529" z="32.4652" />
+ <vertex index="5455" x="52.8582" y="43.0762" z="32.7459" />
+ <vertex index="5456" x="58.1539" y="51.898" z="9.77037" />
+ <vertex index="5457" x="56.8531" y="42.6645" z="33.3881" />
+ <vertex index="5458" x="56.0781" y="42.5917" z="33.176" />
+ <vertex index="5459" x="56.9311" y="42.5781" z="33.956" />
+ <vertex index="5460" x="56.4666" y="42.5846" z="34.5093" />
+ <vertex index="5461" x="55.7044" y="42.8947" z="34.0869" />
+ <vertex index="5462" x="56.5835" y="43.1562" z="34.1168" />
+ <vertex index="5463" x="56.8197" y="42.5663" z="32.1893" />
+ <vertex index="5464" x="56.7181" y="42.4964" z="31.6214" />
+ <vertex index="5465" x="55.8815" y="42.87" z="31.9711" />
+ <vertex index="5466" x="51.3374" y="42.5624" z="31.3921" />
+ <vertex index="5467" x="56.5178" y="53.0799" z="6.13904" />
+ <vertex index="5468" x="56.5365" y="52.379" z="5.39914" />
+ <vertex index="5469" x="56.8111" y="53.6365" z="5.50596" />
+ <vertex index="5470" x="53.9512" y="43.0752" z="29.9585" />
+ <vertex index="5471" x="56.3087" y="51.6562" z="8.9737" />
+ <vertex index="5472" x="56.268" y="51.1182" z="9.39413" />
+ <vertex index="5473" x="56.9293" y="50.7526" z="8.97675" />
+ <vertex index="5474" x="54.6468" y="46.0484" z="33.2159" />
+ <vertex index="5475" x="54.1364" y="46.1235" z="32.9714" />
+ <vertex index="5476" x="54.6083" y="46.0853" z="32.4644" />
+ <vertex index="5477" x="55.0254" y="41.2136" z="32.0988" />
+ <vertex index="5478" x="54.6717" y="40.793" z="33.1833" />
+ <vertex index="5479" x="47.8962" y="39.5007" z="38.5827" />
+ <vertex index="5480" x="57.5476" y="44.7417" z="32.6093" />
+ <vertex index="5481" x="57.9715" y="51.0495" z="11.1344" />
+ <vertex index="5482" x="56.084" y="45.7067" z="33.133" />
+ <vertex index="5483" x="57.9482" y="44.3292" z="32.0987" />
+ <vertex index="5484" x="57.7931" y="43.6586" z="32.1768" />
+ <vertex index="5485" x="57.3223" y="43.8436" z="32.3712" />
+ <vertex index="5486" x="53.0423" y="43.6474" z="29.5061" />
+ <vertex index="5487" x="52.9991" y="44.4328" z="29.7704" />
+ <vertex index="5488" x="53.6491" y="43.7841" z="30.8862" />
+ <vertex index="5489" x="55.9904" y="44.5087" z="36.6432" />
+ <vertex index="5490" x="58.3474" y="52.5932" z="6.068" />
+ <vertex index="5491" x="58.307" y="52.7946" z="5.044" />
+ <vertex index="5492" x="52.9231" y="41.4945" z="33.4383" />
+ <vertex index="5493" x="53.4507" y="41.7563" z="34.2345" />
+ <vertex index="5494" x="53.5427" y="42.3978" z="32.9283" />
+ <vertex index="5495" x="52.6056" y="42.6059" z="33.3799" />
+ <vertex index="5496" x="56.6628" y="42.2266" z="46.2272" />
+ <vertex index="5497" x="56.8565" y="51.1827" z="12.7481" />
+ <vertex index="5498" x="56.7504" y="50.4922" z="13.7398" />
+ <vertex index="5499" x="56.2076" y="50.4472" z="12.7361" />
+ <vertex index="5500" x="59.2342" y="43.3831" z="36.8947" />
+ <vertex index="5501" x="59.1064" y="44.1453" z="36.7138" />
+ <vertex index="5502" x="58.5594" y="43.4782" z="36.3869" />
+ <vertex index="5503" x="53.577" y="43.4223" z="32.3478" />
+ <vertex index="5504" x="52.7533" y="43.8301" z="32.6771" />
+ <vertex index="5505" x="44.9661" y="37.4008" z="43.1713" />
+ <vertex index="5506" x="44.6412" y="38.4724" z="42.9374" />
+ <vertex index="5507" x="53.7293" y="44.1685" z="33.5603" />
+ <vertex index="5508" x="52.5626" y="44.9837" z="33.1595" />
+ <vertex index="5509" x="55.1409" y="43.9619" z="36.3848" />
+ <vertex index="5510" x="56.1585" y="43.1867" z="36.4713" />
+ <vertex index="5511" x="56.021" y="42.2691" z="35.8474" />
+ <vertex index="5512" x="55.3486" y="44.0484" z="30.2312" />
+ <vertex index="5513" x="55.2193" y="43.5341" z="29.1481" />
+ <vertex index="5514" x="58.4546" y="44.6423" z="33.2326" />
+ <vertex index="5515" x="56.1968" y="44.8035" z="35.195" />
+ <vertex index="5516" x="56.2956" y="44.2146" z="34.6351" />
+ <vertex index="5517" x="56.0827" y="44.238" z="35.8097" />
+ <vertex index="5518" x="55.3951" y="43.7174" z="35.4975" />
+ <vertex index="5519" x="52.4157" y="44.7602" z="38.171" />
+ <vertex index="5520" x="52.6279" y="44.8874" z="37.3103" />
+ <vertex index="5521" x="56.1877" y="41.7191" z="37.1174" />
+ <vertex index="5522" x="56.2077" y="41.5125" z="35.9799" />
+ <vertex index="5523" x="55.5357" y="40.9454" z="36.7791" />
+ <vertex index="5524" x="56.4907" y="44.5742" z="31.71" />
+ <vertex index="5525" x="57.1568" y="49.7198" z="11.5796" />
+ <vertex index="5526" x="57.883" y="49.89" z="12.2784" />
+ <vertex index="5527" x="56.5236" y="41.4586" z="33.2644" />
+ <vertex index="5528" x="53.2028" y="43.4123" z="34.0856" />
+ <vertex index="5529" x="52.345" y="44.2548" z="33.416" />
+ <vertex index="5530" x="58.3602" y="51.8831" z="7.43638" />
+ <vertex index="5531" x="58.1702" y="51.398" z="7.8989" />
+ <vertex index="5532" x="57.6784" y="51.048" z="7.53706" />
+ <vertex index="5533" x="58.5116" y="44.2131" z="33.94" />
+ <vertex index="5534" x="59.2116" y="43.9702" z="34.4907" />
+ <vertex index="5535" x="59.0482" y="44.2587" z="33.8287" />
+ <vertex index="5536" x="53.3017" y="44.6697" z="38.9042" />
+ <vertex index="5537" x="52.8159" y="44.3626" z="38.8895" />
+ <vertex index="5538" x="52.7666" y="43.6446" z="38.455" />
+ <vertex index="5539" x="55.1146" y="43.7609" z="39.1183" />
+ <vertex index="5540" x="55.3271" y="44.3449" z="38.2908" />
+ <vertex index="5541" x="55.4006" y="43.1644" z="38.8324" />
+ <vertex index="5542" x="46.6678" y="39.6539" z="37.5884" />
+ <vertex index="5543" x="46.6794" y="40.2404" z="38.4291" />
+ <vertex index="5544" x="56.0453" y="48.6516" z="15.98" />
+ <vertex index="5545" x="56.1584" y="49.6944" z="15.5369" />
+ <vertex index="5546" x="53.7422" y="45.4406" z="31.4632" />
+ <vertex index="5547" x="54.5451" y="45.4879" z="30.5568" />
+ <vertex index="5548" x="57.3127" y="50.7523" z="11.4885" />
+ <vertex index="5549" x="57.9945" y="50.0896" z="11.5383" />
+ <vertex index="5550" x="54.7839" y="45.1521" z="33.3368" />
+ <vertex index="5551" x="54.1585" y="46.133" z="33.5347" />
+ <vertex index="5552" x="52.3958" y="43.9008" z="35.0637" />
+ <vertex index="5553" x="51.4611" y="42.9832" z="34.9947" />
+ <vertex index="5554" x="52.64" y="43.232" z="34.6539" />
+ <vertex index="5555" x="51.6164" y="43.9728" z="34.6653" />
+ <vertex index="5556" x="54.8401" y="43.5508" z="37.7432" />
+ <vertex index="5557" x="56.002" y="42.6584" z="37.184" />
+ <vertex index="5558" x="55.9009" y="43.3032" z="37.6502" />
+ <vertex index="5559" x="43.0197" y="37.9307" z="44.6792" />
+ <vertex index="5560" x="57.2449" y="44.9421" z="30.6885" />
+ <vertex index="5561" x="56.4299" y="45.0492" z="30.0513" />
+ <vertex index="5562" x="52.8955" y="43.7992" z="31.5066" />
+ <vertex index="5563" x="52.2728" y="43.3815" z="31.3859" />
+ <vertex index="5564" x="56.392" y="42.6887" z="44.951" />
+ <vertex index="5565" x="56.8419" y="42.9106" z="44.3865" />
+ <vertex index="5566" x="55.9496" y="42.1783" z="44.2836" />
+ <vertex index="5567" x="56.1719" y="49.9483" z="14.8031" />
+ <vertex index="5568" x="45.268" y="37.9677" z="40.733" />
+ <vertex index="5569" x="54.5782" y="42.1598" z="39.5463" />
+ <vertex index="5570" x="55.5234" y="42.3901" z="38.804" />
+ <vertex index="5571" x="55.1684" y="41.9829" z="39.2921" />
+ <vertex index="5572" x="52.8156" y="42.6562" z="36.1215" />
+ <vertex index="5573" x="51.5298" y="42.0189" z="35.4177" />
+ <vertex index="5574" x="51.6461" y="41.9089" z="36.3498" />
+ <vertex index="5575" x="51.9658" y="40.8287" z="36.8988" />
+ <vertex index="5576" x="57.5157" y="50.2018" z="9.78958" />
+ <vertex index="5577" x="57.9044" y="50.324" z="10.6285" />
+ <vertex index="5578" x="55.9861" y="40.7277" z="46.0842" />
+ <vertex index="5579" x="55.6629" y="40.5735" z="47.1632" />
+ <vertex index="5580" x="55.3742" y="41.1123" z="46.5228" />
+ <vertex index="5581" x="56.5421" y="40.7972" z="46.724" />
+ <vertex index="5582" x="52.7989" y="40.4845" z="38.7564" />
+ <vertex index="5583" x="52.2722" y="40.5778" z="38.4908" />
+ <vertex index="5584" x="55.9791" y="45.617" z="26.4883" />
+ <vertex index="5585" x="49.3194" y="41.422" z="34.3052" />
+ <vertex index="5586" x="48.9002" y="41.2892" z="33.2685" />
+ <vertex index="5587" x="56.4402" y="45.3714" z="32.4826" />
+ <vertex index="5588" x="56.0072" y="45.6632" z="32.4625" />
+ <vertex index="5589" x="55.2995" y="45.8478" z="32.2536" />
+ <vertex index="5590" x="56.1154" y="45.1309" z="31.5734" />
+ <vertex index="5591" x="58.337" y="44.0657" z="36.2735" />
+ <vertex index="5592" x="58.2415" y="44.8748" z="36.4802" />
+ <vertex index="5593" x="57.0675" y="49.2042" z="12.5326" />
+ <vertex index="5594" x="57.8099" y="49.6312" z="13.0297" />
+ <vertex index="5595" x="57.8271" y="51.3375" z="6.79801" />
+ <vertex index="5596" x="57.2611" y="51.9951" z="7.04057" />
+ <vertex index="5597" x="57.3272" y="51.653" z="5.76889" />
+ <vertex index="5598" x="52.4956" y="45.4337" z="36.8854" />
+ <vertex index="5599" x="52.6321" y="44.3527" z="36.2178" />
+ <vertex index="5600" x="52.0027" y="45.0888" z="36.6499" />
+ <vertex index="5601" x="56.5079" y="41.7027" z="43.0684" />
+ <vertex index="5602" x="54.9507" y="41.5872" z="33.5758" />
+ <vertex index="5603" x="54.4872" y="41.8248" z="34.4773" />
+ <vertex index="5604" x="54.8302" y="40.3923" z="34.3152" />
+ <vertex index="5605" x="54.505" y="41.007" z="34.969" />
+ <vertex index="5606" x="55.44" y="40.6811" z="34.6815" />
+ <vertex index="5607" x="55.7199" y="40.8647" z="33.962" />
+ <vertex index="5608" x="56.2753" y="48.5727" z="19.1797" />
+ <vertex index="5609" x="42.3297" y="37.4945" z="44.172" />
+ <vertex index="5610" x="52.101" y="45.0724" z="34.5607" />
+ <vertex index="5611" x="41.4919" y="36.8306" z="46.7828" />
+ <vertex index="5612" x="40.3604" y="36.4538" z="46.4209" />
+ <vertex index="5613" x="56.2224" y="44.3759" z="33.5176" />
+ <vertex index="5614" x="55.7133" y="44.021" z="33.3913" />
+ <vertex index="5615" x="55.1842" y="43.3578" z="32.9753" />
+ <vertex index="5616" x="55.8108" y="44.9179" z="33.1137" />
+ <vertex index="5617" x="55.4211" y="44.9794" z="33.7482" />
+ <vertex index="5618" x="56.3604" y="44.9108" z="33.419" />
+ <vertex index="5619" x="56.416" y="41.5587" z="45.5433" />
+ <vertex index="5620" x="53.2795" y="43.1469" z="31.1561" />
+ <vertex index="5621" x="53.2628" y="42.2994" z="31.8423" />
+ <vertex index="5622" x="52.6598" y="42.9468" z="31.5919" />
+ <vertex index="5623" x="52.8509" y="43.0888" z="32.0716" />
+ <vertex index="5624" x="54.5747" y="43.172" z="30.6225" />
+ <vertex index="5625" x="55.4705" y="42.8451" z="31.0694" />
+ <vertex index="5626" x="55.5953" y="42.1584" z="30.4678" />
+ <vertex index="5627" x="57.9895" y="43.1985" z="39.9884" />
+ <vertex index="5628" x="57.3647" y="42.8252" z="39.8753" />
+ <vertex index="5629" x="57.6999" y="43.2629" z="39.3922" />
+ <vertex index="5630" x="54.5425" y="41.9471" z="35.8269" />
+ <vertex index="5631" x="54.6597" y="40.4305" z="36.4698" />
+ <vertex index="5632" x="55.3212" y="41.4886" z="36.0501" />
+ <vertex index="5633" x="40.5421" y="36.8831" z="45.9275" />
+ <vertex index="5634" x="40.6359" y="37.5039" z="45.6987" />
+ <vertex index="5635" x="49.6909" y="41.3548" z="32.9834" />
+ <vertex index="5636" x="51.585" y="43.2285" z="30.8939" />
+ <vertex index="5637" x="51.3364" y="43.7363" z="30.144" />
+ <vertex index="5638" x="51.008" y="43.0141" z="30.4601" />
+ <vertex index="5639" x="51.6402" y="43.8351" z="30.911" />
+ <vertex index="5640" x="57.3689" y="45.2814" z="32.1455" />
+ <vertex index="5641" x="42.7266" y="37.6549" z="43.6774" />
+ <vertex index="5642" x="43.4498" y="38.1276" z="43.9981" />
+ <vertex index="5643" x="43.6445" y="37.7468" z="43.5436" />
+ <vertex index="5644" x="56.9712" y="49.6388" z="14.2867" />
+ <vertex index="5645" x="57.5214" y="49.2775" z="14.4396" />
+ <vertex index="5646" x="57.6253" y="50.2193" z="13.7038" />
+ <vertex index="5647" x="57.2394" y="50.4798" z="14.368" />
+ <vertex index="5648" x="57.2974" y="52.6871" z="5.58513" />
+ <vertex index="5649" x="57.836" y="51.878" z="5.35104" />
+ <vertex index="5650" x="57.6772" y="51.9765" z="4.7914" />
+ <vertex index="5651" x="56.5871" y="41.2611" z="44.0706" />
+ <vertex index="5652" x="56.207" y="41.075" z="44.9762" />
+ <vertex index="5653" x="57.5969" y="44.0662" z="39.3784" />
+ <vertex index="5654" x="58.42" y="44.7868" z="34.0713" />
+ <vertex index="5655" x="56.5749" y="44.8202" z="28.959" />
+ <vertex index="5656" x="56.966" y="44.0389" z="30.2423" />
+ <vertex index="5657" x="40.3095" y="37.1889" z="46.7128" />
+ <vertex index="5658" x="39.9394" y="37.4227" z="46.2534" />
+ <vertex index="5659" x="58.0159" y="50.8003" z="8.77165" />
+ <vertex index="5660" x="57.2717" y="51.7518" z="9.15541" />
+ <vertex index="5661" x="56.8343" y="52.305" z="9.46627" />
+ <vertex index="5662" x="58.0571" y="52.2442" z="9.19285" />
+ <vertex index="5663" x="56.1408" y="49.274" z="16.8408" />
+ <vertex index="5664" x="57.162" y="49.3202" z="16.9102" />
+ <vertex index="5665" x="55.579" y="46.5329" z="23.6584" />
+ <vertex index="5666" x="55.6155" y="46.2512" z="22.601" />
+ <vertex index="5667" x="44.712" y="37.9221" z="41.6331" />
+ <vertex index="5668" x="57.1452" y="50.1564" z="12.6368" />
+ <vertex index="5669" x="57.6087" y="50.7972" z="13.2116" />
+ <vertex index="5670" x="56.4825" y="44.8134" z="25.525" />
+ <vertex index="5671" x="56.1499" y="45.9171" z="25.5589" />
+ <vertex index="5672" x="56.6415" y="45.423" z="24.8889" />
+ <vertex index="5673" x="40.7641" y="37.8007" z="46.6542" />
+ <vertex index="5674" x="56.061" y="47.6271" z="20.815" />
+ <vertex index="5675" x="46.3342" y="38.4711" z="39.6355" />
+ <vertex index="5676" x="57.4871" y="52.2653" z="7.82978" />
+ <vertex index="5677" x="57.0038" y="52.5629" z="8.90336" />
+ <vertex index="5678" x="53.0877" y="42.5487" z="30.5897" />
+ <vertex index="5679" x="56.3884" y="42.4802" z="42.7881" />
+ <vertex index="5680" x="58.2498" y="43.8692" z="37.4643" />
+ <vertex index="5681" x="58.7586" y="44.2444" z="38.0008" />
+ <vertex index="5682" x="58.4559" y="44.2512" z="38.5707" />
+ <vertex index="5683" x="57.9204" y="43.8085" z="38.5326" />
+ <vertex index="5684" x="56.8799" y="43.0938" z="43.2459" />
+ <vertex index="5685" x="57.363" y="42.6638" z="44.0571" />
+ <vertex index="5686" x="46.7904" y="39.0472" z="39.4511" />
+ <vertex index="5687" x="47.0397" y="38.5745" z="39.3483" />
+ <vertex index="5688" x="56.692" y="50.1483" z="15.0927" />
+ <vertex index="5689" x="46.7137" y="38.4496" z="40.3456" />
+ <vertex index="5690" x="56.0117" y="45.9941" z="23.2035" />
+ <vertex index="5691" x="56.7056" y="45.9661" z="23.1375" />
+ <vertex index="5692" x="54.4101" y="44.3329" z="29.2058" />
+ <vertex index="5693" x="58.1049" y="43.6821" z="40.99" />
+ <vertex index="5694" x="57.0755" y="43.4683" z="41.2796" />
+ <vertex index="5695" x="56.3479" y="47.7871" z="18.5077" />
+ <vertex index="5696" x="55.7693" y="48.2564" z="18.6592" />
+ <vertex index="5697" x="57.2037" y="42.3994" z="43.2332" />
+ <vertex index="5698" x="57.1886" y="42.8065" z="42.3447" />
+ <vertex index="5699" x="57.9566" y="42.5609" z="42.8973" />
+ <vertex index="5700" x="57.8794" y="43.184" z="41.9598" />
+ <vertex index="5701" x="57.2118" y="43.3058" z="42.731" />
+ <vertex index="5702" x="57.3237" y="51.1443" z="9.50298" />
+ <vertex index="5703" x="58.1837" y="51.1173" z="9.35089" />
+ <vertex index="5704" x="57.054" y="49.0728" z="15.514" />
+ <vertex index="5705" x="56.1846" y="44.4856" z="28.1259" />
+ <vertex index="5706" x="58.0746" y="44.4009" z="37.018" />
+ <vertex index="5707" x="56.8199" y="50.6975" z="10.4224" />
+ <vertex index="5708" x="56.131" y="50.7671" z="10.5149" />
+ <vertex index="5709" x="56.6755" y="50.4723" z="9.64972" />
+ <vertex index="5710" x="58.8501" y="43.0691" z="38.3329" />
+ <vertex index="5711" x="56.0763" y="45.1135" z="28.7808" />
+ <vertex index="5712" x="56.6869" y="44.8063" z="28.1214" />
+ <vertex index="5713" x="56.3257" y="47.3611" z="20.2826" />
+ <vertex index="5714" x="55.7038" y="47.2573" z="19.5807" />
+ <vertex index="5715" x="55.7708" y="47.8426" z="20.0268" />
+ <vertex index="5716" x="56.822" y="46.7773" z="21.0445" />
+ <vertex index="5717" x="56.5351" y="46.2745" z="21.517" />
+ <vertex index="5718" x="56.583" y="46.7021" z="20.3285" />
+ <vertex index="5719" x="55.9214" y="46.3535" z="21.1963" />
+ <vertex index="5720" x="57.5931" y="43.9891" z="40.325" />
+ <vertex index="5721" x="57.1969" y="43.6935" z="40.0791" />
+ <vertex index="5722" x="56.9492" y="41.761" z="34.2894" />
+ <vertex index="5723" x="57.0356" y="41.8921" z="33.2359" />
+ <vertex index="5724" x="54.6654" y="42.8499" z="39.5339" />
+ <vertex index="5725" x="53.6145" y="42.8376" z="39.1838" />
+ <vertex index="5726" x="57.182" y="44.1776" z="32.6796" />
+ <vertex index="5727" x="57.562" y="44.1611" z="32.5391" />
+ <vertex index="5728" x="50.3332" y="42.6568" z="32.2994" />
+ <vertex index="5729" x="50.1781" y="43.155" z="31.2559" />
+ <vertex index="5730" x="57.9883" y="53.3423" z="6.28268" />
+ <vertex index="5731" x="58.2" y="53.5008" z="5.38727" />
+ <vertex index="5732" x="43.5796" y="37.0241" z="44.0779" />
+ <vertex index="5733" x="56.5165" y="40.5546" z="48.4297" />
+ <vertex index="5734" x="49.1741" y="41.0172" z="34.6523" />
+ <vertex index="5735" x="58.6017" y="43.8015" z="33.4299" />
+ <vertex index="5736" x="58.0934" y="50.8472" z="10.0985" />
+ <vertex index="5737" x="56.5334" y="42.9479" z="42.0189" />
+ <vertex index="5738" x="48.3064" y="41.4773" z="35.4876" />
+ <vertex index="5739" x="58.6246" y="43.5654" z="34.4594" />
+ <vertex index="5740" x="57.3156" y="43.924" z="31.3119" />
+ <vertex index="5741" x="57.666" y="44.0833" z="31.6549" />
+ <vertex index="5742" x="52.5889" y="43.6193" z="30.0202" />
+ <vertex index="5743" x="51.8518" y="43.8845" z="29.7856" />
+ <vertex index="5744" x="51.5289" y="43.0007" z="30.1226" />
+ <vertex index="5745" x="54.0622" y="41.2104" z="38.4379" />
+ <vertex index="5746" x="53.8835" y="40.5835" z="38.7908" />
+ <vertex index="5747" x="53.2035" y="40.3087" z="37.9838" />
+ <vertex index="5748" x="53.9581" y="44.6831" z="35.2172" />
+ <vertex index="5749" x="54.4986" y="45.4215" z="36.7884" />
+ <vertex index="5750" x="55.2133" y="44.7712" z="35.0276" />
+ <vertex index="5751" x="54.9143" y="44.9295" z="36.0493" />
+ <vertex index="5752" x="55.5873" y="45.2902" z="36.1704" />
+ <vertex index="5753" x="51.2578" y="43.0308" z="36.2844" />
+ <vertex index="5754" x="52.9518" y="45.0025" z="32.4466" />
+ <vertex index="5755" x="53.3176" y="45.7806" z="33.4538" />
+ <vertex index="5756" x="53.7105" y="45.8158" z="32.5126" />
+ <vertex index="5757" x="57.8516" y="45.0353" z="31.7182" />
+ <vertex index="5758" x="57.5244" y="44.5147" z="31.2262" />
+ <vertex index="5759" x="57.0871" y="44.7734" z="31.4204" />
+ <vertex index="5760" x="56.5132" y="43.2739" z="31.4355" />
+ <vertex index="5761" x="56.5779" y="43.6029" z="30.7432" />
+ <vertex index="5762" x="53.8647" y="42.4277" z="38.0845" />
+ <vertex index="5763" x="54.5089" y="41.7513" z="37.8537" />
+ <vertex index="5764" x="54.6697" y="42.9189" z="36.5932" />
+ <vertex index="5765" x="56.3091" y="51.693" z="8.28271" />
+ <vertex index="5766" x="57.0092" y="50.8417" z="8.23973" />
+ <vertex index="5767" x="57.6454" y="52.1024" z="8.80031" />
+ <vertex index="5768" x="58.1193" y="52.4122" z="8.38245" />
+ <vertex index="5769" x="56.5115" y="51.7262" z="10.6349" />
+ <vertex index="5770" x="57.5358" y="51.5605" z="10.6147" />
+ <vertex index="5771" x="57.0643" y="51.9972" z="10.8045" />
+ <vertex index="5772" x="56.6476" y="51.3494" z="9.96556" />
+ <vertex index="5773" x="57.5013" y="52.1197" z="9.9633" />
+ <vertex index="5774" x="43.2677" y="37.7614" z="43.054" />
+ <vertex index="5775" x="43.4788" y="37.5104" z="45.143" />
+ <vertex index="5776" x="56.5416" y="48.9379" z="13.7497" />
+ <vertex index="5777" x="56.3298" y="49.6729" z="12.7718" />
+ <vertex index="5778" x="56.1459" y="49.7841" z="14.0531" />
+ <vertex index="5779" x="57.8597" y="53.2478" z="6.89951" />
+ <vertex index="5780" x="57.0264" y="53.5082" z="6.12729" />
+ <vertex index="5781" x="53.8718" y="40.4717" z="35.0233" />
+ <vertex index="5782" x="54.5491" y="43.4272" z="34.7847" />
+ <vertex index="5783" x="56.0398" y="44.6937" z="32.7152" />
+ <vertex index="5784" x="56.1153" y="41.3964" z="46.6262" />
+ <vertex index="5785" x="56.2153" y="42.1084" z="46.8454" />
+ <vertex index="5786" x="56.5173" y="40.5198" z="47.7811" />
+ <vertex index="5787" x="55.5848" y="41.839" z="47.2562" />
+ <vertex index="5788" x="55.9467" y="40.984" z="47.9721" />
+ <vertex index="5789" x="56.5062" y="41.2449" z="48.6155" />
+ <vertex index="5790" x="56.6747" y="47.2061" z="18.3968" />
+ <vertex index="5791" x="56.7675" y="47.9159" z="20.043" />
+ <vertex index="5792" x="56.6657" y="47.4282" z="19.4425" />
+ <vertex index="5793" x="56.8267" y="47.6527" z="19.0103" />
+ <vertex index="5794" x="57.0242" y="48.2603" z="19.0634" />
+ <vertex index="5795" x="58.0734" y="50.3935" z="12.3784" />
+ <vertex index="5796" x="56.6914" y="50.2855" z="11.6035" />
+ <vertex index="5797" x="57.4406" y="51.6002" z="11.7517" />
+ <vertex index="5798" x="57.4641" y="50.8528" z="12.4375" />
+ <vertex index="5799" x="59.2696" y="43.9991" z="36.1207" />
+ <vertex index="5800" x="58.9513" y="43.2294" z="36.049" />
+ <vertex index="5801" x="59.1525" y="43.4613" z="35.3159" />
+ <vertex index="5802" x="58.8683" y="44.5964" z="35.0931" />
+ <vertex index="5803" x="58.5932" y="43.749" z="35.4665" />
+ <vertex index="5804" x="58.9335" y="44.4356" z="35.7275" />
+ <vertex index="5805" x="51.9949" y="42.238" z="37.6464" />
+ <vertex index="5806" x="51.4246" y="41.7369" z="37.026" />
+ <vertex index="5807" x="55.9799" y="41.1164" z="32.7938" />
+ <vertex index="5808" x="56.5909" y="41.89" z="32.2436" />
+ <vertex index="5809" x="53.9243" y="44.3738" z="37.3342" />
+ <vertex index="5810" x="53.8636" y="43.6735" z="38.178" />
+ <vertex index="5811" x="55.1644" y="44.6786" z="37.0188" />
+ <vertex index="5812" x="55.9957" y="43.87" z="36.9402" />
+ <vertex index="5813" x="55.6166" y="44.7475" z="37.6604" />
+ <vertex index="5814" x="53.9807" y="45.8114" z="36.085" />
+ <vertex index="5815" x="52.7451" y="45.5669" z="35.7959" />
+ <vertex index="5816" x="54.0024" y="45.5487" z="37.3429" />
+ <vertex index="5817" x="53.1443" y="45.3178" z="36.5009" />
+ <vertex index="5818" x="55.6804" y="47.133" z="20.7956" />
+ <vertex index="5819" x="56.627" y="47.3625" z="21.4528" />
+ <vertex index="5820" x="58.3351" y="43.7302" z="32.7901" />
+ <vertex index="5821" x="56.2092" y="45.6985" z="24.331" />
+ <vertex index="5822" x="55.995" y="45.3842" z="23.5337" />
+ <vertex index="5823" x="55.3973" y="45.5733" z="24.3827" />
+ <vertex index="5824" x="55.8265" y="46.4524" z="24.1999" />
+ <vertex index="5825" x="58.2136" y="42.6242" z="42.2327" />
+ <vertex index="5826" x="57.4123" y="42.8977" z="41.1444" />
+ <vertex index="5827" x="56.9263" y="43.1202" z="40.7737" />
+ <vertex index="5828" x="57.492" y="42.2311" z="41.5133" />
+ <vertex index="5829" x="58.4904" y="42.8742" z="40.9206" />
+ <vertex index="5830" x="57.579" y="41.9141" z="44.0541" />
+ <vertex index="5831" x="56.3327" y="42.7681" z="44.1165" />
+ <vertex index="5832" x="52.6605" y="42.5519" z="31.2009" />
+ <vertex index="5833" x="52.042" y="42.9336" z="30.8353" />
+ <vertex index="5834" x="46.5487" y="39.8666" z="39.5835" />
+ <vertex index="5835" x="46.9538" y="39.8259" z="38.6731" />
+ <vertex index="5836" x="46.3282" y="39.3151" z="38.3576" />
+ <vertex index="5837" x="47.0455" y="38.7013" z="38.7718" />
+ <vertex index="5838" x="47.3279" y="39.5591" z="39.7657" />
+ <vertex index="5839" x="54.6086" y="45.936" z="31.3852" />
+ <vertex index="5840" x="55.0499" y="44.103" z="32.8168" />
+ <vertex index="5841" x="53.6909" y="44.6596" z="32.9164" />
+ <vertex index="5842" x="53.706" y="40.5783" z="34.3088" />
+ <vertex index="5843" x="53.82" y="40.6665" z="33.2918" />
+ <vertex index="5844" x="54.2992" y="41.6942" z="33.0031" />
+ <vertex index="5845" x="53.4496" y="41.3462" z="32.6796" />
+ <vertex index="5846" x="54.2823" y="41.4174" z="32.2685" />
+ <vertex index="5847" x="56.5504" y="48.6659" z="17.5764" />
+ <vertex index="5848" x="56.0784" y="48.6987" z="18.515" />
+ <vertex index="5849" x="55.9602" y="48.198" z="17.579" />
+ <vertex index="5850" x="57.1969" y="47.8989" z="18.0398" />
+ <vertex index="5851" x="56.7989" y="48.436" z="18.4303" />
+ <vertex index="5852" x="55.8463" y="46.7729" z="21.6353" />
+ <vertex index="5853" x="56.5796" y="47.1397" z="22.1755" />
+ <vertex index="5854" x="46.9571" y="39.137" z="40.3403" />
+ <vertex index="5855" x="46.4503" y="39.652" z="40.1343" />
+ <vertex index="5856" x="45.9814" y="39.0999" z="39.3724" />
+ <vertex index="5857" x="45.6149" y="39.2078" z="40.3318" />
+ <vertex index="5858" x="47.4823" y="38.9864" z="38.3146" />
+ <vertex index="5859" x="46.8822" y="39.1784" z="37.9124" />
+ <vertex index="5860" x="47.9982" y="40.4685" z="37.7966" />
+ <vertex index="5861" x="47.8552" y="40.146" z="38.5545" />
+ <vertex index="5862" x="47.7241" y="39.5763" z="37.2938" />
+ <vertex index="5863" x="46.8956" y="40.527" z="37.2998" />
+ <vertex index="5864" x="41.6481" y="37.4309" z="45.6703" />
+ <vertex index="5865" x="42.5301" y="37.7877" z="45.5591" />
+ <vertex index="5866" x="42.0724" y="36.5129" z="45.5077" />
+ <vertex index="5867" x="42.3764" y="37.5532" z="44.8193" />
+ <vertex index="5868" x="41.9406" y="37.8905" z="44.8292" />
+ <vertex index="5869" x="41.8884" y="37.0625" z="44.3552" />
+ <vertex index="5870" x="41.5073" y="37.0325" z="44.7754" />
+ <vertex index="5871" x="58.1943" y="42.3304" z="41.1486" />
+ <vertex index="5872" x="58.6814" y="43.1041" z="39.9677" />
+ <vertex index="5873" x="56.3262" y="41.3173" z="35.0959" />
+ <vertex index="5874" x="55.9909" y="41.8494" z="32.8605" />
+ <vertex index="5875" x="56.3036" y="43.5205" z="32.9865" />
+ <vertex index="5876" x="56.2543" y="43.6833" z="33.5885" />
+ <vertex index="5877" x="55.6517" y="43.592" z="33.9554" />
+ <vertex index="5878" x="53.7204" y="44.576" z="29.9104" />
+ <vertex index="5879" x="54.4449" y="44.1723" z="29.9094" />
+ <vertex index="5880" x="54.4297" y="44.6637" z="30.9726" />
+ <vertex index="5881" x="54.9613" y="44.8195" z="29.8138" />
+ <vertex index="5882" x="57.0591" y="44.6835" z="31.9155" />
+ <vertex index="5883" x="57.4653" y="44.8107" z="32.1566" />
+ <vertex index="5884" x="57.3172" y="41.9044" z="45.053" />
+ <vertex index="5885" x="56.153" y="42.3854" z="45.9955" />
+ <vertex index="5886" x="55.6579" y="41.6407" z="45.5747" />
+ <vertex index="5887" x="57.0874" y="49.9121" z="14.7848" />
+ <vertex index="5888" x="56.5878" y="49.0273" z="14.9667" />
+ <vertex index="5889" x="57" y="48.6007" z="16.8563" />
+ <vertex index="5890" x="57.252" y="48.4609" z="15.5842" />
+ <vertex index="5891" x="56.3976" y="48.51" z="15.3386" />
+ <vertex index="5892" x="56.6224" y="49.369" z="15.851" />
+ <vertex index="5893" x="55.8691" y="49.2725" z="15.7449" />
+ <vertex index="5894" x="45.5081" y="37.7469" z="41.2802" />
+ <vertex index="5895" x="46.4453" y="38.0212" z="41.012" />
+ <vertex index="5896" x="45.3376" y="38.5968" z="40.3278" />
+ <vertex index="5897" x="45.9877" y="38.7644" z="41.5469" />
+ <vertex index="5898" x="45.6663" y="38.2929" z="41.9903" />
+ <vertex index="5899" x="46.0519" y="38.7456" z="40.6496" />
+ <vertex index="5900" x="52.5482" y="45.4703" z="34.5692" />
+ <vertex index="5901" x="58.1237" y="44.8063" z="33.0713" />
+ <vertex index="5902" x="54.0845" y="42.964" z="31.2266" />
+ <vertex index="5903" x="55.1516" y="43.3385" z="31.6617" />
+ <vertex index="5904" x="55.4031" y="41.9564" z="32.0598" />
+ <vertex index="5905" x="53.8581" y="42.3734" z="30.7448" />
+ <vertex index="5906" x="54.572" y="42.2119" z="30.5271" />
+ <vertex index="5907" x="56.4908" y="43.6318" z="29.3824" />
+ <vertex index="5908" x="56.2842" y="44.0632" z="28.5543" />
+ <vertex index="5909" x="55.5104" y="44.8528" z="28.4895" />
+ <vertex index="5910" x="55.853" y="44.354" z="29.2701" />
+ <vertex index="5911" x="55.325" y="44.3262" z="28.0689" />
+ <vertex index="5912" x="58.3055" y="43.6387" z="38.9848" />
+ <vertex index="5913" x="59.0651" y="43.4805" z="38.9496" />
+ <vertex index="5914" x="58.2712" y="43.9112" z="39.4639" />
+ <vertex index="5915" x="58.1855" y="43.9324" z="40.2899" />
+ <vertex index="5916" x="58.4036" y="42.6678" z="39.3336" />
+ <vertex index="5917" x="48.4552" y="40.5504" z="36.5912" />
+ <vertex index="5918" x="48.2651" y="40.1255" z="37.2958" />
+ <vertex index="5919" x="47.3005" y="40.8917" z="35.9366" />
+ <vertex index="5920" x="47.6118" y="39.833" z="36.6054" />
+ <vertex index="5921" x="47.9343" y="40.6411" z="36.0124" />
+ <vertex index="5922" x="47.6334" y="40.327" z="37.1626" />
+ <vertex index="5923" x="47.1957" y="40.8959" z="36.4983" />
+ <vertex index="5924" x="55.9225" y="45.6911" z="34.5049" />
+ <vertex index="5925" x="51.689" y="41.936" z="38.3307" />
+ <vertex index="5926" x="52.0562" y="40.8339" z="37.6872" />
+ <vertex index="5927" x="57.3235" y="41.8693" z="42.23" />
+ <vertex index="5928" x="57.036" y="41.5642" z="42.5552" />
+ <vertex index="5929" x="44.417" y="37.8057" z="42.6249" />
+ <vertex index="5930" x="43.6189" y="37.3786" z="42.8031" />
+ <vertex index="5931" x="44.0494" y="38.3432" z="42.6544" />
+ <vertex index="5932" x="45.0218" y="37.9278" z="43.4787" />
+ <vertex index="5933" x="44.1837" y="38.2673" z="43.831" />
+ <vertex index="5934" x="56.5052" y="44.914" z="26.6436" />
+ <vertex index="5935" x="55.8982" y="44.9175" z="26.4792" />
+ <vertex index="5936" x="55.9853" y="45.217" z="25.4754" />
+ <vertex index="5937" x="57.4345" y="43.2674" z="31.6863" />
+ <vertex index="5938" x="51.5608" y="42.5154" z="30.2907" />
+ <vertex index="5939" x="52.2036" y="42.6635" z="30.3046" />
+ <vertex index="5940" x="51.7632" y="42.5495" z="31.0505" />
+ <vertex index="5941" x="53.9481" y="41.0445" z="37.4531" />
+ <vertex index="5942" x="55.1821" y="40.7194" z="37.4187" />
+ <vertex index="5943" x="54.7298" y="41.398" z="37.0104" />
+ <vertex index="5944" x="55.9549" y="41.2955" z="37.4294" />
+ <vertex index="5945" x="54.8286" y="42.7981" z="37.6721" />
+ <vertex index="5946" x="55.8194" y="42.1004" z="38.2319" />
+ <vertex index="5947" x="54.6683" y="42.3161" z="38.3434" />
+ <vertex index="5948" x="55.9341" y="42.6628" z="37.9417" />
+ <vertex index="5949" x="57.8607" y="45.0777" z="32.1665" />
+ <vertex index="5950" x="55.2268" y="44.1757" z="32.2067" />
+ <vertex index="5951" x="55.6238" y="44.2365" z="31.4154" />
+ <vertex index="5952" x="55.1545" y="45.9218" z="30.971" />
+ <vertex index="5953" x="55.3524" y="45.242" z="30.049" />
+ <vertex index="5954" x="56.0836" y="45.2257" z="30.7722" />
+ <vertex index="5955" x="55.5021" y="46.0641" z="24.6651" />
+ <vertex index="5956" x="55.4402" y="45.1093" z="25.3441" />
+ <vertex index="5957" x="56.1959" y="45.0847" z="24.5457" />
+ <vertex index="5958" x="53.0374" y="41.4152" z="37.4263" />
+ <vertex index="5959" x="53.6309" y="42.7567" z="37.33" />
+ <vertex index="5960" x="52.3903" y="42.4258" z="38.6281" />
+ <vertex index="5961" x="53.4517" y="42.3076" z="39.3045" />
+ <vertex index="5962" x="58.4413" y="44.8063" z="32.6674" />
+ <vertex index="5963" x="58.2085" y="44.6404" z="31.8055" />
+ <vertex index="5964" x="57.6696" y="44.4398" z="32.7344" />
+ <vertex index="5965" x="58.033" y="44.0103" z="32.7794" />
+ <vertex index="5966" x="58.1762" y="44.4958" z="32.6472" />
+ <vertex index="5967" x="57.1527" y="50.4193" z="10.833" />
+ <vertex index="5968" x="56.798" y="50.0977" z="10.2183" />
+ <vertex index="5969" x="56.6751" y="51.3427" z="11.7177" />
+ <vertex index="5970" x="55.7672" y="44.2123" z="27.6295" />
+ <vertex index="5971" x="55.5091" y="44.832" z="26.9695" />
+ <vertex index="5972" x="56.4638" y="45.2988" z="27.1334" />
+ <vertex index="5973" x="56.2545" y="44.8022" z="27.136" />
+ <vertex index="5974" x="56.2468" y="44.0259" z="27.5661" />
+ <vertex index="5975" x="55.8319" y="44.9641" z="27.9671" />
+ <vertex index="5976" x="48.4333" y="41.1328" z="34.8353" />
+ <vertex index="5977" x="48.2505" y="41.7111" z="34.5254" />
+ <vertex index="5978" x="57.1196" y="52.597" z="6.79056" />
+ <vertex index="5979" x="56.4659" y="52.3522" z="7.89213" />
+ <vertex index="5980" x="56.6412" y="51.7292" z="7.16258" />
+ <vertex index="5981" x="57.0114" y="51.5586" z="8.06324" />
+ <vertex index="5982" x="51.5959" y="42.8871" z="31.4045" />
+ <vertex index="5983" x="54.0182" y="40.3005" z="36.7288" />
+ <vertex index="5984" x="52.9708" y="40.9445" z="36.4318" />
+ <vertex index="5985" x="52.6679" y="40.3546" z="37.5442" />
+ <vertex index="5986" x="53.7272" y="40.2126" z="37.5476" />
+ <vertex index="5987" x="52.6319" y="40.4691" z="36.8162" />
+ <vertex index="5988" x="55.7255" y="45.8764" z="33.5599" />
+ <vertex index="5989" x="54.8457" y="45.8358" z="34.436" />
+ <vertex index="5990" x="55.9625" y="45.044" z="34.1059" />
+ <vertex index="5991" x="53.0722" y="44.0941" z="36.8965" />
+ <vertex index="5992" x="52.5165" y="42.8185" z="37.4406" />
+ <vertex index="5993" x="52.2797" y="43.4743" z="36.2606" />
+ <vertex index="5994" x="52.3243" y="43.6267" z="37.4238" />
+ <vertex index="5995" x="53.086" y="44.3148" z="34.5026" />
+ <vertex index="5996" x="54.38" y="45.1449" z="34.0225" />
+ <vertex index="5997" x="54.711" y="44.2882" z="33.5068" />
+ <vertex index="5998" x="54.1409" y="46.0714" z="34.0754" />
+ <vertex index="5999" x="54.8111" y="45.6148" z="35.7324" />
+ <vertex index="6000" x="53.1882" y="45.2644" z="35.3984" />
+ <vertex index="6001" x="53.9032" y="45.3745" z="35.5087" />
+ <vertex index="6002" x="53.5683" y="45.2964" z="34.6132" />
+ <vertex index="6003" x="53.5546" y="45.935" z="34.6048" />
+ <vertex index="6004" x="53.1061" y="45.1449" z="33.9338" />
+ <vertex index="6005" x="57.737" y="52.8602" z="8.02028" />
+ <vertex index="6006" x="57.6847" y="52.7088" z="6.65836" />
+ <vertex index="6007" x="58.2881" y="52.0849" z="6.61715" />
+ <vertex index="6008" x="40.7811" y="37.0496" z="45.4057" />
+ <vertex index="6009" x="41.4893" y="36.4446" z="45.9745" />
+ <vertex index="6010" x="41.8709" y="37.7201" z="46.2084" />
+ <vertex index="6011" x="41.0078" y="37.2509" z="46.3709" />
+ <vertex index="6012" x="51.4105" y="44.2764" z="35.8907" />
+ <vertex index="6013" x="52.1838" y="45.0579" z="35.272" />
+ <vertex index="6014" x="53.4995" y="43.4338" z="35.9775" />
+ <vertex index="6015" x="54.0383" y="41.8515" z="31.6847" />
+ <vertex index="6016" x="54.1709" y="42.696" z="32.8188" />
+ <vertex index="6017" x="56.11" y="46.5687" z="20.0856" />
+ <vertex index="6018" x="56.6006" y="46.852" z="19.3522" />
+ <vertex index="6019" x="49.3968" y="42.5286" z="32.7508" />
+ <vertex index="6020" x="49.5637" y="41.7301" z="32.0476" />
+ <vertex index="6021" x="49.8474" y="43.0209" z="32.062" />
+ <vertex index="6022" x="45.0856" y="38.2798" z="42.6609" />
+ <vertex index="6023" x="45.062" y="38.3911" z="41.7011" />
+ <vertex index="6024" x="44.8876" y="37.4553" z="42.5749" />
+ <vertex index="6025" x="48.1175" y="40.2003" z="35.5871" />
+ <vertex index="6026" x="48.1958" y="40.5329" z="34.7065" />
+ <vertex index="6027" x="47.7612" y="40.9816" z="34.8636" />
+ <vertex index="6028" x="47.7599" y="41.2676" z="35.7728" />
+ <vertex index="6029" x="51.8254" y="43.282" z="34.195" />
+ <vertex index="6030" x="52.5954" y="44.4723" z="34.0757" />
+ <vertex index="6031" x="52.1304" y="44.9003" z="33.9754" />
+ <vertex index="6032" x="54.2979" y="41.0421" z="39.1804" />
+ <vertex index="6033" x="54.4752" y="40.6419" z="38.3245" />
+ <vertex index="6034" x="54.9701" y="41.4156" z="38.1654" />
+ <vertex index="6035" x="56.7037" y="44.235" z="33.2032" />
+ <vertex index="6036" x="56.8129" y="43.8839" z="33.094" />
+ <vertex index="6037" x="50.8774" y="42.5179" z="31.105" />
+ <vertex index="6038" x="50.2145" y="41.8179" z="32.6104" />
+ <vertex index="6039" x="49.8652" y="42.5002" z="31.25" />
+ <vertex index="6040" x="54.6999" y="45.1023" z="38.1519" />
+ <vertex index="6041" x="54.4716" y="44.2527" z="39.255" />
+ <vertex index="6042" x="53.5561" y="43.5876" z="39.1893" />
+ <vertex index="6043" x="53.3993" y="44.6086" z="37.834" />
+ <vertex index="6044" x="53.7348" y="41.1448" z="35.7952" />
+ <vertex index="6045" x="52.8291" y="41.0022" z="34.9065" />
+ <vertex index="6046" x="52.9088" y="42.1261" z="35.1555" />
+ <vertex index="6047" x="52.4178" y="41.7166" z="36.2141" />
+ <vertex index="6048" x="51.8114" y="41.4362" z="35.5833" />
+ <vertex index="6049" x="53.1177" y="40.6363" z="35.3224" />
+ <vertex index="6050" x="52.66" y="41.5064" z="34.3093" />
+ <vertex index="6051" x="52.1142" y="41.9618" z="34.9376" />
+ <vertex index="6052" x="55.7154" y="45.218" z="32.2338" />
+ <vertex index="6053" x="55.3298" y="45.401" z="32.7062" />
+ <vertex index="6054" x="54.9359" y="45.1806" z="31.6387" />
+ <vertex index="6055" x="54.794" y="44.749" z="32.315" />
+ <vertex index="6056" x="55.6613" y="44.7618" z="32.2266" />
+ <vertex index="6057" x="58.4381" y="44.2658" z="33.5161" />
+ <vertex index="6058" x="58.1528" y="44.381" z="33.0045" />
+ <vertex index="6059" x="56.0815" y="46.8837" z="23.2676" />
+ <vertex index="6060" x="56.2983" y="44.6998" z="32.0833" />
+ <vertex index="6061" x="56.7351" y="44.6332" z="32.5258" />
+ <vertex index="6062" x="55.8165" y="44.2822" z="32.1315" />
+ <vertex index="6063" x="56.718" y="45.1717" z="32.3735" />
+ <vertex index="6064" x="56.6296" y="44.866" z="32.891" />
+ <vertex index="6065" x="57.4952" y="44.3261" z="31.9575" />
+ <vertex index="6066" x="57.0197" y="44.4966" z="32.4303" />
+ <vertex index="6067" x="49.1781" y="41.5301" z="32.7658" />
+ <vertex index="6068" x="49.7423" y="42.1157" z="33.2366" />
+ <vertex index="6069" x="49.1743" y="41.9859" z="33.9792" />
+ <vertex index="6070" x="48.583" y="42.0331" z="33.6824" />
+ <vertex index="6071" x="56.2309" y="42.6561" z="30.4827" />
+ <vertex index="6072" x="56.0418" y="42.7369" z="31.2873" />
+ <vertex index="6073" x="55.1134" y="42.1666" z="31.3895" />
+ <vertex index="6074" x="55.5811" y="41.484" z="31.4511" />
+ <vertex index="6075" x="55.5165" y="41.5858" z="34.479" />
+ <vertex index="6076" x="56.7892" y="48.34" z="16.334" />
+ <vertex index="6077" x="56.0709" y="47.9412" z="16.8421" />
+ <vertex index="6078" x="57.2557" y="48.1676" z="16.6007" />
+ <vertex index="6079" x="52.7513" y="42.1033" z="38.0418" />
+ <vertex index="6080" x="53.6327" y="41.7545" z="38.5091" />
+ <vertex index="6081" x="52.6086" y="41.2886" z="38.4357" />
+ <vertex index="6082" x="52.7658" y="41.8646" z="38.7475" />
+ <vertex index="6083" x="53.3371" y="41.0079" z="38.2487" />
+ <vertex index="6084" x="56.8057" y="41.8014" z="47.0564" />
+ <vertex index="6085" x="56.9984" y="41.2455" z="46.6739" />
+ <vertex index="6086" x="55.8291" y="41.705" z="47.9947" />
+ <vertex index="6087" x="55.6457" y="40.1746" z="48.3108" />
+ <vertex index="6088" x="59.206" y="43.8271" z="37.3169" />
+ <vertex index="6089" x="58.5855" y="42.8887" z="37.4726" />
+ <vertex index="6090" x="51.1578" y="43.0164" z="37.4192" />
+ <vertex index="6091" x="51.4736" y="42.6005" z="38.1692" />
+ <vertex index="6092" x="51.7871" y="42.8733" z="37.116" />
+ <vertex index="6093" x="51.6861" y="43.8887" z="36.5699" />
+ <vertex index="6094" x="51.3912" y="43.7338" z="37.4455" />
+ <vertex index="6095" x="53.074" y="44.2121" z="30.7325" />
+ <vertex index="6096" x="53.9678" y="45.1431" z="30.7764" />
+ <vertex index="6097" x="54.1645" y="43.4344" z="31.8995" />
+ <vertex index="6098" x="54.5088" y="44.1425" z="31.7446" />
+ <vertex index="6099" x="53.9776" y="44.6179" z="31.9917" />
+ <vertex index="6100" x="53.3756" y="44.0215" z="32.1415" />
+ <vertex index="6101" x="57.2055" y="43.7363" z="31.8653" />
+ <vertex index="6102" x="56.7696" y="43.4402" z="31.8854" />
+ <vertex index="6103" x="56.1804" y="43.9969" z="31.7297" />
+ <vertex index="6104" x="56.7008" y="44.1481" z="32.248" />
+ <vertex index="6105" x="55.9488" y="43.4311" z="32.4426" />
+ <vertex index="6106" x="55.7218" y="44.3551" z="33.0058" />
+ <vertex index="6107" x="42.8456" y="37.0856" z="44.4859" />
+ <vertex index="6108" x="42.2858" y="36.8074" z="45.0947" />
+ <vertex index="6109" x="42.5209" y="37.0409" z="46.0691" />
+ <vertex index="6110" x="54.602" y="43.2006" z="29.4745" />
+ <vertex index="6111" x="54.8235" y="42.6891" z="30.0534" />
+ <vertex index="6112" x="57.2387" y="49.3476" z="13.5504" />
+ <vertex index="6113" x="57.4273" y="48.8002" z="14.8635" />
+ <vertex index="6114" x="52.7608" y="42.2472" z="32.9678" />
+ <vertex index="6115" x="53.4993" y="42.2452" z="32.4168" />
+ <vertex index="6116" x="53.3016" y="43.4189" z="33.1165" />
+ <vertex index="6117" x="56.519" y="42.2194" z="33.4421" />
+ <vertex index="6118" x="56.8487" y="42.8311" z="32.8778" />
+ <vertex index="6119" x="56.7322" y="42.9964" z="33.6711" />
+ <vertex index="6120" x="56.3156" y="42.5033" z="32.6859" />
+ <vertex index="6121" x="55.7802" y="42.1947" z="33.6967" />
+ <vertex index="6122" x="56.3609" y="42.9923" z="33.1918" />
+ <vertex index="6123" x="56.5673" y="42.262" z="34.0783" />
+ <vertex index="6124" x="56.0742" y="42.1951" z="34.8182" />
+ <vertex index="6125" x="56.577" y="42.9292" z="34.9938" />
+ <vertex index="6126" x="55.981" y="42.8141" z="33.6447" />
+ <vertex index="6127" x="56.0541" y="43.0271" z="34.5658" />
+ <vertex index="6128" x="56.0733" y="42.4947" z="34.1403" />
+ <vertex index="6129" x="56.5276" y="42.9005" z="32.2964" />
+ <vertex index="6130" x="56.267" y="42.2458" z="31.5296" />
+ <vertex index="6131" x="56.8425" y="42.8397" z="31.3779" />
+ <vertex index="6132" x="56.7584" y="53.1748" z="6.69547" />
+ <vertex index="6133" x="56.4539" y="52.5508" z="6.42758" />
+ <vertex index="6134" x="56.3911" y="52.8294" z="5.13375" />
+ <vertex index="6135" x="53.2505" y="43.1869" z="30.1092" />
+ <vertex index="6136" x="56.3827" y="51.7866" z="9.51884" />
+ <vertex index="6137" x="56.8071" y="51.7828" z="8.70759" />
+ <vertex index="6138" x="57.0788" y="51.2918" z="8.85508" />
+ <vertex index="6139" x="54.9739" y="45.9681" z="33.746" />
+ <vertex index="6140" x="54.4094" y="45.6016" z="32.2761" />
+ <vertex index="6141" x="54.4843" y="40.959" z="32.6443" />
+ <vertex index="6142" x="55.0858" y="40.5765" z="33.6632" />
+ <vertex index="6143" x="47.7643" y="39.3896" z="39.0552" />
+ <vertex index="6144" x="57.3972" y="44.5609" z="32.4255" />
+ <vertex index="6145" x="57.7354" y="44.9264" z="32.6569" />
+ <vertex index="6146" x="57.9885" y="51.1954" z="11.6907" />
+ <vertex index="6147" x="57.8361" y="51.5926" z="11.1725" />
+ <vertex index="6148" x="56.3095" y="45.3698" z="33.1819" />
+ <vertex index="6149" x="53.6163" y="43.407" z="29.55" />
+ <vertex index="6150" x="53.8773" y="43.8482" z="31.4731" />
+ <vertex index="6151" x="58.3074" y="52.27" z="5.62432" />
+ <vertex index="6152" x="58.3357" y="53.1115" z="5.80133" />
+ <vertex index="6153" x="53.555" y="41.3871" z="33.3221" />
+ <vertex index="6154" x="52.6861" y="41.9514" z="33.7713" />
+ <vertex index="6155" x="53.761" y="42.0213" z="33.6579" />
+ <vertex index="6156" x="53.6908" y="42.4264" z="34.6939" />
+ <vertex index="6157" x="53.3459" y="42.9036" z="32.9105" />
+ <vertex index="6158" x="52.5516" y="43.1356" z="33.2096" />
+ <vertex index="6159" x="53.2008" y="42.722" z="33.7057" />
+ <vertex index="6160" x="56.7714" y="50.7157" z="12.4235" />
+ <vertex index="6161" x="56.9705" y="50.9559" z="13.4477" />
+ <vertex index="6162" x="56.3716" y="50.4046" z="14.1365" />
+ <vertex index="6163" x="56.3781" y="50.6793" z="13.3074" />
+ <vertex index="6164" x="56.122" y="50.4392" z="12.1963" />
+ <vertex index="6165" x="53.7938" y="42.9839" z="32.0806" />
+ <vertex index="6166" x="54.1892" y="43.7225" z="32.8726" />
+ <vertex index="6167" x="52.9697" y="44.1809" z="33.1573" />
+ <vertex index="6168" x="53.1254" y="43.4862" z="32.5863" />
+ <vertex index="6169" x="44.5181" y="37.1675" z="43.1092" />
+ <vertex index="6170" x="54.2347" y="44.0051" z="33.9979" />
+ <vertex index="6171" x="53.5121" y="44.7076" z="33.692" />
+ <vertex index="6172" x="56.1663" y="43.325" z="35.6629" />
+ <vertex index="6173" x="55.5508" y="42.7945" z="35.4354" />
+ <vertex index="6174" x="56.3937" y="42.6349" z="36.229" />
+ <vertex index="6175" x="56.5485" y="42.0169" z="35.4802" />
+ <vertex index="6176" x="55.8431" y="43.6722" z="30.4074" />
+ <vertex index="6177" x="55.5348" y="43.5742" z="29.8232" />
+ <vertex index="6178" x="54.9549" y="44.0144" z="28.8858" />
+ <vertex index="6179" x="55.8428" y="45.3154" z="35.2764" />
+ <vertex index="6180" x="56.3956" y="43.705" z="34.3116" />
+ <vertex index="6181" x="56.3508" y="44.7307" z="34.4769" />
+ <vertex index="6182" x="55.5445" y="44.2926" z="34.3523" />
+ <vertex index="6183" x="55.6442" y="44.2507" z="36.2228" />
+ <vertex index="6184" x="56.0897" y="44.7332" z="36.1155" />
+ <vertex index="6185" x="56.2117" y="43.7314" z="36.1604" />
+ <vertex index="6186" x="55.6922" y="44.7104" z="35.5937" />
+ <vertex index="6187" x="56.262" y="43.9056" z="35.3135" />
+ <vertex index="6188" x="54.7061" y="43.6931" z="35.8205" />
+ <vertex index="6189" x="52.2497" y="44.2895" z="38.4033" />
+ <vertex index="6190" x="53.0126" y="45.0479" z="38.2483" />
+ <vertex index="6191" x="52.1344" y="44.797" z="37.6412" />
+ <vertex index="6192" x="52.8825" y="45.45" z="37.4301" />
+ <vertex index="6193" x="55.5485" y="41.9038" z="37.1182" />
+ <vertex index="6194" x="55.2656" y="40.7078" z="36.1855" />
+ <vertex index="6195" x="55.8603" y="41.0458" z="36.24" />
+ <vertex index="6196" x="57.18" y="49.7666" z="10.9973" />
+ <vertex index="6197" x="56.8387" y="49.4702" z="11.9833" />
+ <vertex index="6198" x="57.4676" y="50.0198" z="11.931" />
+ <vertex index="6199" x="57.6575" y="49.558" z="11.9791" />
+ <vertex index="6200" x="56.8676" y="41.5265" z="33.6396" />
+ <vertex index="6201" x="56.2119" y="41.7482" z="33.6842" />
+ <vertex index="6202" x="52.582" y="43.4012" z="33.9483" />
+ <vertex index="6203" x="58.1502" y="52.4454" z="7.40957" />
+ <vertex index="6204" x="57.8263" y="51.4156" z="8.35949" />
+ <vertex index="6205" x="57.1337" y="51.0311" z="7.44098" />
+ <vertex index="6206" x="58.845" y="44.388" z="34.2603" />
+ <vertex index="6207" x="53.8098" y="44.8637" z="38.8985" />
+ <vertex index="6208" x="54.6516" y="43.6521" z="39.4928" />
+ <vertex index="6209" x="55.1417" y="44.3039" z="37.6928" />
+ <vertex index="6210" x="55.652" y="43.8301" z="38.2469" />
+ <vertex index="6211" x="55.0198" y="44.3341" z="38.8514" />
+ <vertex index="6212" x="55.1095" y="43.0638" z="38.2595" />
+ <vertex index="6213" x="54.7164" y="43.2434" z="38.8702" />
+ <vertex index="6214" x="46.381" y="39.8794" z="38.6101" />
+ <vertex index="6215" x="55.9394" y="49.3754" z="15.1296" />
+ <vertex index="6216" x="54.0642" y="45.8242" z="31.3346" />
+ <vertex index="6217" x="53.9508" y="45.386" z="31.9191" />
+ <vertex index="6218" x="53.4751" y="44.9904" z="31.2162" />
+ <vertex index="6219" x="58.1015" y="50.6393" z="11.4954" />
+ <vertex index="6220" x="54.3153" y="45.4447" z="33.3423" />
+ <vertex index="6221" x="52.5445" y="43.8067" z="35.6643" />
+ <vertex index="6222" x="52.631" y="44.4627" z="35.3475" />
+ <vertex index="6223" x="52.0014" y="43.5508" z="35.3218" />
+ <vertex index="6224" x="51.9486" y="42.8049" z="35.457" />
+ <vertex index="6225" x="51.7274" y="42.7068" z="34.5065" />
+ <vertex index="6226" x="51.4324" y="43.5394" z="35.0382" />
+ <vertex index="6227" x="53.3338" y="43.0739" z="34.6994" />
+ <vertex index="6228" x="52.9941" y="43.584" z="35.1138" />
+ <vertex index="6229" x="51.7336" y="44.457" z="35.0264" />
+ <vertex index="6230" x="55.3099" y="43.7527" z="37.3503" />
+ <vertex index="6231" x="56.3365" y="42.2612" z="36.8015" />
+ <vertex index="6232" x="56.1544" y="42.1765" z="37.4901" />
+ <vertex index="6233" x="55.4582" y="42.7071" z="36.6748" />
+ <vertex index="6234" x="55.9207" y="43.2513" z="37.0363" />
+ <vertex index="6235" x="56.7769" y="45.1273" z="30.9096" />
+ <vertex index="6236" x="53.088" y="43.3501" z="31.6841" />
+ <vertex index="6237" x="56.8196" y="42.3592" z="44.9143" />
+ <vertex index="6238" x="56.0987" y="42.589" z="44.5801" />
+ <vertex index="6239" x="56.4777" y="41.891" z="44.2419" />
+ <vertex index="6240" x="56.1673" y="41.9361" z="44.7016" />
+ <vertex index="6241" x="45.7012" y="38.0131" z="40.4218" />
+ <vertex index="6242" x="54.1381" y="41.6953" z="39.4624" />
+ <vertex index="6243" x="54.4095" y="42.1043" z="38.9658" />
+ <vertex index="6244" x="55.6399" y="42.819" z="38.4489" />
+ <vertex index="6245" x="55.0822" y="42.005" z="38.7049" />
+ <vertex index="6246" x="52.9092" y="42.5865" z="36.8365" />
+ <vertex index="6247" x="53.5266" y="42.5409" z="35.848" />
+ <vertex index="6248" x="51.75" y="41.2651" z="36.2989" />
+ <vertex index="6249" x="51.1935" y="42.1304" z="36.6038" />
+ <vertex index="6250" x="51.3193" y="42.3792" z="35.9663" />
+ <vertex index="6251" x="57.3763" y="50.3777" z="9.25275" />
+ <vertex index="6252" x="57.5485" y="50.6843" z="10.0287" />
+ <vertex index="6253" x="58.009" y="50.223" z="11.0817" />
+ <vertex index="6254" x="55.711" y="40.316" z="47.6749" />
+ <vertex index="6255" x="55.3087" y="40.8708" z="46.9611" />
+ <vertex index="6256" x="52.4889" y="40.9028" z="38.8469" />
+ <vertex index="6257" x="51.965" y="41.0981" z="38.5064" />
+ <vertex index="6258" x="49.3871" y="41.1124" z="33.3996" />
+ <vertex index="6259" x="56.172" y="45.3464" z="32.2096" />
+ <vertex index="6260" x="55.9507" y="45.4952" z="32.8209" />
+ <vertex index="6261" x="55.5794" y="45.8948" z="31.7649" />
+ <vertex index="6262" x="55.6147" y="45.9519" z="32.6627" />
+ <vertex index="6263" x="55.5476" y="45.1722" z="31.6419" />
+ <vertex index="6264" x="55.945" y="45.5836" z="31.4943" />
+ <vertex index="6265" x="56.468" y="45.3266" z="31.7006" />
+ <vertex index="6266" x="56.0755" y="44.6317" z="31.3668" />
+ <vertex index="6267" x="57.9342" y="50.1475" z="13.2258" />
+ <vertex index="6268" x="57.294" y="51.2721" z="6.73146" />
+ <vertex index="6269" x="57.8376" y="51.6192" z="5.97115" />
+ <vertex index="6270" x="52.6094" y="44.6207" z="36.7637" />
+ <vertex index="6271" x="52.2114" y="44.7426" z="35.9893" />
+ <vertex index="6272" x="51.6938" y="44.7039" z="36.8688" />
+ <vertex index="6273" x="52.182" y="45.1021" z="37.141" />
+ <vertex index="6274" x="56.6495" y="41.3727" z="43.4059" />
+ <vertex index="6275" x="54.6319" y="41.0901" z="33.7092" />
+ <vertex index="6276" x="55.1051" y="42.1792" z="32.9913" />
+ <vertex index="6277" x="55.2683" y="41.1039" z="33.229" />
+ <vertex index="6278" x="54.4766" y="41.9059" z="33.8493" />
+ <vertex index="6279" x="54.3237" y="42.7687" z="34.1235" />
+ <vertex index="6280" x="54.8225" y="41.1091" z="35.5675" />
+ <vertex index="6281" x="53.9253" y="41.3295" z="34.624" />
+ <vertex index="6282" x="55.8371" y="40.7735" z="35.0977" />
+ <vertex index="6283" x="55.0727" y="41.1817" z="34.7683" />
+ <vertex index="6284" x="54.886" y="40.4761" z="34.9608" />
+ <vertex index="6285" x="56.1183" y="41.1305" z="33.5826" />
+ <vertex index="6286" x="55.8116" y="44.3407" z="33.6846" />
+ <vertex index="6287" x="55.2466" y="44.0729" z="33.8284" />
+ <vertex index="6288" x="56.0863" y="43.9583" z="33.1689" />
+ <vertex index="6289" x="55.6761" y="43.5658" z="33.0912" />
+ <vertex index="6290" x="55.1718" y="43.0313" z="33.619" />
+ <vertex index="6291" x="55.144" y="42.8183" z="32.3468" />
+ <vertex index="6292" x="55.3096" y="45.0847" z="33.2296" />
+ <vertex index="6293" x="55.7306" y="44.9988" z="33.4965" />
+ <vertex index="6294" x="56.256" y="44.7148" z="33.1444" />
+ <vertex index="6295" x="52.9029" y="43.3586" z="30.6799" />
+ <vertex index="6296" x="53.024" y="42.6244" z="32.0839" />
+ <vertex index="6297" x="53.3479" y="42.4393" z="31.1967" />
+ <vertex index="6298" x="52.9447" y="42.944" z="31.2914" />
+ <vertex index="6299" x="54.2224" y="43.6174" z="30.8187" />
+ <vertex index="6300" x="55.0734" y="42.9829" z="30.7253" />
+ <vertex index="6301" x="55.2923" y="43.6948" z="30.9607" />
+ <vertex index="6302" x="55.5211" y="42.7317" z="30.5439" />
+ <vertex index="6303" x="55.4242" y="42.3436" z="30.9266" />
+ <vertex index="6304" x="55.1475" y="41.9413" z="30.6675" />
+ <vertex index="6305" x="57.916" y="42.6715" z="40.1822" />
+ <vertex index="6306" x="57.5018" y="43.2168" z="40.2236" />
+ <vertex index="6307" x="54.7865" y="42.1809" z="35.1142" />
+ <vertex index="6308" x="54.3222" y="42.0429" z="36.6035" />
+ <vertex index="6309" x="54.1824" y="40.4091" z="35.8988" />
+ <vertex index="6310" x="55.2563" y="41.4539" z="36.6417" />
+ <vertex index="6311" x="54.7869" y="41.6471" z="36.2989" />
+ <vertex index="6312" x="55.6567" y="41.9746" z="36.2678" />
+ <vertex index="6313" x="55.7343" y="41.3768" z="35.592" />
+ <vertex index="6314" x="41.1497" y="37.7018" z="45.4771" />
+ <vertex index="6315" x="51.1441" y="43.176" z="30.8626" />
+ <vertex index="6316" x="51.4698" y="43.3102" z="31.2859" />
+ <vertex index="6317" x="51.7568" y="43.4246" z="30.417" />
+ <vertex index="6318" x="52.0801" y="43.933" z="31.0646" />
+ <vertex index="6319" x="52.1521" y="43.998" z="30.3885" />
+ <vertex index="6320" x="43.5607" y="38.2527" z="43.5389" />
+ <vertex index="6321" x="56.6891" y="49.1723" z="14.4035" />
+ <vertex index="6322" x="57.2294" y="49.9429" z="13.9319" />
+ <vertex index="6323" x="57.1697" y="50.3418" z="13.386" />
+ <vertex index="6324" x="57.6172" y="52.5884" z="5.0907" />
+ <vertex index="6325" x="57.232" y="53.2559" z="5.582" />
+ <vertex index="6326" x="56.7916" y="52.5938" z="5.90426" />
+ <vertex index="6327" x="57.6842" y="52.2841" z="5.73314" />
+ <vertex index="6328" x="56.7567" y="41.2335" z="44.6512" />
+ <vertex index="6329" x="57.1224" y="41.4556" z="44.0938" />
+ <vertex index="6330" x="56.166" y="44.959" z="29.3899" />
+ <vertex index="6331" x="56.8477" y="44.2365" z="30.8322" />
+ <vertex index="6332" x="57.1942" y="44.5389" z="30.312" />
+ <vertex index="6333" x="56.9142" y="44.1705" z="29.6241" />
+ <vertex index="6334" x="57.0405" y="51.7962" z="9.70658" />
+ <vertex index="6335" x="58.2477" y="51.7333" z="9.18807" />
+ <vertex index="6336" x="56.4142" y="48.783" z="16.8031" />
+ <vertex index="6337" x="57.3307" y="49.4345" z="16.3948" />
+ <vertex index="6338" x="57.1676" y="48.9825" z="17.3865" />
+ <vertex index="6339" x="55.9376" y="45.7668" z="22.6602" />
+ <vertex index="6340" x="44.2638" y="38.027" z="41.9901" />
+ <vertex index="6341" x="57.4109" y="50.7285" z="13.7233" />
+ <vertex index="6342" x="56.1674" y="44.65" z="25.9783" />
+ <vertex index="6343" x="56.443" y="45.9424" z="25.0798" />
+ <vertex index="6344" x="55.7483" y="46.0393" z="25.2626" />
+ <vertex index="6345" x="55.8552" y="45.8245" z="26.0037" />
+ <vertex index="6346" x="56.4829" y="44.9453" z="25.0215" />
+ <vertex index="6347" x="45.8968" y="38.348" z="39.8652" />
+ <vertex index="6348" x="57.1842" y="52.1399" z="8.27648" />
+ <vertex index="6349" x="56.9611" y="52.7263" z="8.36734" />
+ <vertex index="6350" x="56.5479" y="52.2616" z="8.99411" />
+ <vertex index="6351" x="57.9686" y="44.3333" z="37.5676" />
+ <vertex index="6352" x="58.7034" y="44.1941" z="37.2296" />
+ <vertex index="6353" x="58.5421" y="43.4898" z="37.8628" />
+ <vertex index="6354" x="58.847" y="44.0173" z="38.8029" />
+ <vertex index="6355" x="57.8143" y="43.3223" z="38.828" />
+ <vertex index="6356" x="57.257" y="42.6763" z="44.5494" />
+ <vertex index="6357" x="57.7253" y="42.5788" z="43.7006" />
+ <vertex index="6358" x="46.425" y="39.1706" z="39.7663" />
+ <vertex index="6359" x="46.7696" y="38.3598" z="39.6362" />
+ <vertex index="6360" x="56.5725" y="49.5827" z="15.1458" />
+ <vertex index="6361" x="56.067" y="46.3843" z="23.5462" />
+ <vertex index="6362" x="56.7035" y="46.1063" z="23.657" />
+ <vertex index="6363" x="56.8256" y="46.1997" z="22.6353" />
+ <vertex index="6364" x="58.2227" y="43.4032" z="41.4309" />
+ <vertex index="6365" x="56.215" y="47.303" z="18.7861" />
+ <vertex index="6366" x="56.0873" y="47.9895" z="18.88" />
+ <vertex index="6367" x="55.9432" y="48.1823" z="18.1384" />
+ <vertex index="6368" x="56.9723" y="42.7202" z="42.9088" />
+ <vertex index="6369" x="56.94" y="41.9433" z="43.2509" />
+ <vertex index="6370" x="57.6735" y="42.551" z="42.4218" />
+ <vertex index="6371" x="57.7617" y="42.0445" z="42.8338" />
+ <vertex index="6372" x="57.4279" y="43.4937" z="41.8358" />
+ <vertex index="6373" x="57.6903" y="51.1784" z="9.05976" />
+ <vertex index="6374" x="58.2231" y="51.3024" z="8.83747" />
+ <vertex index="6375" x="57.4126" y="49.527" z="15.7428" />
+ <vertex index="6376" x="58.2316" y="43.8596" z="36.8857" />
+ <vertex index="6377" x="58.1626" y="44.2335" z="36.6304" />
+ <vertex index="6378" x="56.1917" y="51.2513" z="10.2757" />
+ <vertex index="6379" x="56.3548" y="50.384" z="10.3076" />
+ <vertex index="6380" x="56.5417" y="51.0564" z="10.7183" />
+ <vertex index="6381" x="56.5411" y="44.4759" z="27.7743" />
+ <vertex index="6382" x="56.1515" y="47.3729" z="19.4384" />
+ <vertex index="6383" x="55.9907" y="46.9044" z="19.6544" />
+ <vertex index="6384" x="56.2467" y="47.6932" z="19.8962" />
+ <vertex index="6385" x="56.1993" y="45.9878" z="21.8377" />
+ <vertex index="6386" x="56.7629" y="46.7319" z="19.8732" />
+ <vertex index="6387" x="56.9479" y="47.2245" z="20.3085" />
+ <vertex index="6388" x="56.3277" y="46.7103" z="21.2639" />
+ <vertex index="6389" x="56.9442" y="42.3275" z="33.0621" />
+ <vertex index="6390" x="55.1327" y="42.9139" z="39.2459" />
+ <vertex index="6391" x="54.1227" y="42.5682" z="39.5593" />
+ <vertex index="6392" x="57.6869" y="44.2765" z="32.2711" />
+ <vertex index="6393" x="50.4727" y="42.796" z="31.3419" />
+ <vertex index="6394" x="57.5507" y="52.9914" z="6.04708" />
+ <vertex index="6395" x="57.7226" y="53.1684" z="5.25253" />
+ <vertex index="6396" x="44.1122" y="37.2097" z="43.9322" />
+ <vertex index="6397" x="58.9915" y="43.8003" z="33.7063" />
+ <vertex index="6398" x="58.1676" y="50.822" z="10.6571" />
+ <vertex index="6399" x="57.7362" y="51.242" z="9.89661" />
+ <vertex index="6400" x="56.6641" y="43.1542" z="41.6526" />
+ <vertex index="6401" x="56.7007" y="42.6258" z="42.395" />
+ <vertex index="6402" x="56.9348" y="42.6344" z="41.928" />
+ <vertex index="6403" x="57.4635" y="43.4646" z="31.1832" />
+ <vertex index="6404" x="57.8271" y="43.8627" z="31.2053" />
+ <vertex index="6405" x="58.1711" y="44.0423" z="31.7361" />
+ <vertex index="6406" x="52.6256" y="44.0255" z="29.617" />
+ <vertex index="6407" x="54.0507" y="44.5637" z="34.5818" />
+ <vertex index="6408" x="54.2563" y="44.5156" z="35.8916" />
+ <vertex index="6409" x="53.8682" y="43.8543" z="35.2898" />
+ <vertex index="6410" x="54.6718" y="45.4197" z="37.3913" />
+ <vertex index="6411" x="54.9445" y="45.3802" z="35.0964" />
+ <vertex index="6412" x="55.2307" y="44.1848" z="35.1574" />
+ <vertex index="6413" x="55.7455" y="44.7749" z="34.7809" />
+ <vertex index="6414" x="55.2106" y="45.3354" z="36.7196" />
+ <vertex index="6415" x="51.1776" y="42.8751" z="36.8305" />
+ <vertex index="6416" x="53.2488" y="45.4568" z="32.3202" />
+ <vertex index="6417" x="52.9723" y="44.3806" z="32.4833" />
+ <vertex index="6418" x="52.9122" y="45.4295" z="33.2499" />
+ <vertex index="6419" x="53.8052" y="45.6073" z="33.7581" />
+ <vertex index="6420" x="53.6488" y="46.0386" z="33.1413" />
+ <vertex index="6421" x="53.8807" y="45.1953" z="32.5688" />
+ <vertex index="6422" x="57.7551" y="44.6629" z="31.7002" />
+ <vertex index="6423" x="57.085" y="45.2245" z="31.449" />
+ <vertex index="6424" x="56.6456" y="44.5878" z="31.2109" />
+ <vertex index="6425" x="56.8441" y="43.2981" z="31.0681" />
+ <vertex index="6426" x="56.3176" y="43.6741" z="31.1801" />
+ <vertex index="6427" x="56.6" y="43.1801" z="30.2893" />
+ <vertex index="6428" x="53.6858" y="42.5199" z="38.664" />
+ <vertex index="6429" x="53.2451" y="43.03" z="38.0808" />
+ <vertex index="6430" x="54.1333" y="43.3303" z="36.6863" />
+ <vertex index="6431" x="55.168" y="43.3644" z="36.7028" />
+ <vertex index="6432" x="57.7524" y="51.9773" z="8.24998" />
+ <vertex index="6433" x="58.3429" y="51.9217" z="8.12673" />
+ <vertex index="6434" x="57.1966" y="51.0579" z="10.7679" />
+ <vertex index="6435" x="56.7963" y="51.5942" z="11.1199" />
+ <vertex index="6436" x="56.731" y="50.9887" z="9.59757" />
+ <vertex index="6437" x="57.8452" y="51.9527" z="10.3683" />
+ <vertex index="6438" x="56.7757" y="49.0825" z="13.2577" />
+ <vertex index="6439" x="56.9046" y="49.6694" z="12.8348" />
+ <vertex index="6440" x="56.0293" y="49.9651" z="13.2691" />
+ <vertex index="6441" x="56.5893" y="49.4719" z="13.9122" />
+ <vertex index="6442" x="55.0269" y="42.9178" z="34.456" />
+ <vertex index="6443" x="55.6328" y="44.8537" z="32.7195" />
+ <vertex index="6444" x="56.0558" y="44.2935" z="32.5742" />
+ <vertex index="6445" x="56.3327" y="44.7075" z="32.5052" />
+ <vertex index="6446" x="55.7021" y="41.246" z="46.9033" />
+ <vertex index="6447" x="56.4533" y="41.7683" z="46.425" />
+ <vertex index="6448" x="56.0298" y="40.8236" z="48.5031" />
+ <vertex index="6449" x="56.6822" y="47.4347" z="19.9412" />
+ <vertex index="6450" x="57.2888" y="47.844" z="18.9723" />
+ <vertex index="6451" x="56.5496" y="48.1655" z="19.1509" />
+ <vertex index="6452" x="56.7125" y="49.8415" z="11.2854" />
+ <vertex index="6453" x="58.9492" y="43.1818" z="36.5425" />
+ <vertex index="6454" x="58.5812" y="43.8806" z="34.9214" />
+ <vertex index="6455" x="58.8299" y="44.2969" z="36.2445" />
+ <vertex index="6456" x="52.457" y="41.9049" z="37.1986" />
+ <vertex index="6457" x="51.4635" y="41.8678" z="37.6816" />
+ <vertex index="6458" x="51.8716" y="42.0849" z="37.1087" />
+ <vertex index="6459" x="56.4211" y="41.4834" z="32.691" />
+ <vertex index="6460" x="55.4578" y="41.3862" z="32.5387" />
+ <vertex index="6461" x="54.3608" y="43.9589" z="37.5798" />
+ <vertex index="6462" x="53.9507" y="44.888" z="36.7684" />
+ <vertex index="6463" x="53.606" y="44.1185" z="38.4801" />
+ <vertex index="6464" x="53.7597" y="43.8795" z="37.6268" />
+ <vertex index="6465" x="53.9024" y="43.0683" z="37.8962" />
+ <vertex index="6466" x="54.5088" y="43.6892" z="38.2913" />
+ <vertex index="6467" x="53.9347" y="43.2062" z="38.6883" />
+ <vertex index="6468" x="55.7" y="44.9279" z="36.9494" />
+ <vertex index="6469" x="54.8828" y="44.5093" z="36.4981" />
+ <vertex index="6470" x="53.9605" y="45.7474" z="36.7148" />
+ <vertex index="6471" x="53.4827" y="45.549" z="37.6327" />
+ <vertex index="6472" x="52.922" y="45.1256" z="36.9407" />
+ <vertex index="6473" x="53.0032" y="45.037" z="35.9721" />
+ <vertex index="6474" x="52.7239" y="45.6062" z="36.3313" />
+ <vertex index="6475" x="56.6627" y="45.4309" z="24.362" />
+ <vertex index="6476" x="55.5591" y="45.564" z="23.7529" />
+ <vertex index="6477" x="55.4459" y="45.2458" z="24.7687" />
+ <vertex index="6478" x="58.5731" y="43.3617" z="40.9627" />
+ <vertex index="6479" x="52.1884" y="42.5976" z="31.0335" />
+ <vertex index="6480" x="52.2089" y="43.1801" z="31.0706" />
+ <vertex index="6481" x="46.2227" y="39.7845" z="39.2367" />
+ <vertex index="6482" x="47.0916" y="40.2331" z="38.9994" />
+ <vertex index="6483" x="46.2659" y="38.9611" z="38.7546" />
+ <vertex index="6484" x="47.2792" y="39.2549" z="39.311" />
+ <vertex index="6485" x="54.5019" y="45.4958" z="31.6511" />
+ <vertex index="6486" x="54.8403" y="46.0228" z="31.9232" />
+ <vertex index="6487" x="55.4001" y="43.7055" z="32.5394" />
+ <vertex index="6488" x="54.1196" y="44.5434" z="33.3126" />
+ <vertex index="6489" x="53.1325" y="44.8292" z="33.0544" />
+ <vertex index="6490" x="54.2525" y="40.3991" z="34.5397" />
+ <vertex index="6491" x="53.9593" y="40.4514" z="33.8315" />
+ <vertex index="6492" x="53.9421" y="42.0795" z="33.0673" />
+ <vertex index="6493" x="53.1119" y="41.7668" z="32.6001" />
+ <vertex index="6494" x="53.9242" y="41.5704" z="32.6565" />
+ <vertex index="6495" x="54.6482" y="41.9522" z="32.458" />
+ <vertex index="6496" x="56.8679" y="48.1911" z="17.6038" />
+ <vertex index="6497" x="56.7364" y="48.959" z="18.0525" />
+ <vertex index="6498" x="55.9545" y="48.8514" z="17.4101" />
+ <vertex index="6499" x="56.7413" y="47.7033" z="18.1839" />
+ <vertex index="6500" x="56.1942" y="47.1351" z="21.8095" />
+ <vertex index="6501" x="47.1702" y="39.1262" z="39.9079" />
+ <vertex index="6502" x="46.7315" y="39.005" z="40.785" />
+ <vertex index="6503" x="47.1434" y="39.3876" z="38.4273" />
+ <vertex index="6504" x="47.2043" y="39.5519" z="37.4877" />
+ <vertex index="6505" x="47.3081" y="40.5584" z="37.7382" />
+ <vertex index="6506" x="41.5349" y="37.0147" z="45.3621" />
+ <vertex index="6507" x="43.0346" y="37.7383" z="45.3603" />
+ <vertex index="6508" x="42.1784" y="37.4146" z="45.6987" />
+ <vertex index="6509" x="42.6341" y="37.9655" z="45.0581" />
+ <vertex index="6510" x="42.511" y="37.9515" z="44.4552" />
+ <vertex index="6511" x="57.898" y="42.7435" z="41.0074" />
+ <vertex index="6512" x="58.3666" y="42.9273" z="40.3853" />
+ <vertex index="6513" x="56.2671" y="41.475" z="34.5373" />
+ <vertex index="6514" x="56.5821" y="43.5214" z="32.6988" />
+ <vertex index="6515" x="56.5132" y="43.9986" z="33.6803" />
+ <vertex index="6516" x="56.2991" y="43.2626" z="33.7706" />
+ <vertex index="6517" x="53.2708" y="44.5297" z="30.2728" />
+ <vertex index="6518" x="54.2311" y="44.6794" z="29.6428" />
+ <vertex index="6519" x="53.9571" y="44.2367" z="30.4317" />
+ <vertex index="6520" x="54.3417" y="43.5689" z="30.1516" />
+ <vertex index="6521" x="54.9231" y="44.621" z="30.4923" />
+ <vertex index="6522" x="55.3603" y="44.4105" z="29.7886" />
+ <vertex index="6523" x="54.7132" y="45.121" z="30.1923" />
+ <vertex index="6524" x="57.0614" y="44.2952" z="31.9328" />
+ <vertex index="6525" x="57.2817" y="41.6963" z="45.5223" />
+ <vertex index="6526" x="55.7662" y="41.2571" z="45.2181" />
+ <vertex index="6527" x="57.3197" y="49.5953" z="14.6304" />
+ <vertex index="6528" x="57.5124" y="48.9161" z="15.8362" />
+ <vertex index="6529" x="45.137" y="37.5526" z="41.6573" />
+ <vertex index="6530" x="46.4538" y="38.3679" z="41.3804" />
+ <vertex index="6531" x="46.5083" y="38.1032" z="40.5651" />
+ <vertex index="6532" x="45.7127" y="37.7458" z="41.8181" />
+ <vertex index="6533" x="45.5218" y="38.2378" z="41.4822" />
+ <vertex index="6534" x="54.4385" y="42.7146" z="30.8913" />
+ <vertex index="6535" x="55.6807" y="43.3388" z="31.7844" />
+ <vertex index="6536" x="55.3307" y="42.7256" z="31.6813" />
+ <vertex index="6537" x="55.7601" y="42.3513" z="32.0135" />
+ <vertex index="6538" x="55.6493" y="41.8792" z="32.492" />
+ <vertex index="6539" x="54.6511" y="41.8835" z="30.8516" />
+ <vertex index="6540" x="54.1503" y="42.5547" z="30.2294" />
+ <vertex index="6541" x="56.5237" y="43.8479" z="29.9195" />
+ <vertex index="6542" x="58.6088" y="43.2309" z="38.7927" />
+ <vertex index="6543" x="48.4489" y="40.1962" z="36.2058" />
+ <vertex index="6544" x="48.243" y="41.0312" z="36.3265" />
+ <vertex index="6545" x="51.9373" y="41.3801" z="37.2978" />
+ <vertex index="6546" x="44.5646" y="38.2938" z="42.4255" />
+ <vertex index="6547" x="44.0722" y="37.5551" z="42.3172" />
+ <vertex index="6548" x="44.6228" y="37.5045" z="43.666" />
+ <vertex index="6549" x="57.5156" y="43.5042" z="31.9704" />
+ <vertex index="6550" x="54.1879" y="41.2923" z="37.8965" />
+ <vertex index="6551" x="54.0552" y="41.7227" z="37.3231" />
+ <vertex index="6552" x="55.1179" y="40.7307" z="38.0024" />
+ <vertex index="6553" x="54.5997" y="40.5184" z="37.1441" />
+ <vertex index="6554" x="54.8391" y="41.9608" z="37.3279" />
+ <vertex index="6555" x="54.9338" y="40.8917" z="36.7495" />
+ <vertex index="6556" x="55.6489" y="40.9089" z="37.3206" />
+ <vertex index="6557" x="54.6627" y="43.2263" z="37.1865" />
+ <vertex index="6558" x="55.0356" y="41.9895" z="38.004" />
+ <vertex index="6559" x="55.521" y="42.5849" z="37.5233" />
+ <vertex index="6560" x="55.1869" y="43.7629" z="31.9256" />
+ <vertex index="6561" x="54.8109" y="45.5129" z="31.0222" />
+ <vertex index="6562" x="56.3395" y="45.2925" z="31.1768" />
+ <vertex index="6563" x="56.1505" y="44.5989" z="30.7139" />
+ <vertex index="6564" x="55.609" y="45.1752" z="31.0025" />
+ <vertex index="6565" x="55.9022" y="45.1932" z="30.2278" />
+ <vertex index="6566" x="53.2072" y="41.8234" z="37.787" />
+ <vertex index="6567" x="52.6417" y="41.0413" z="37.7284" />
+ <vertex index="6568" x="53.3932" y="40.9746" z="37.2919" />
+ <vertex index="6569" x="53.5046" y="43.3168" z="36.9841" />
+ <vertex index="6570" x="52.2466" y="41.9999" z="38.2895" />
+ <vertex index="6571" x="53.3332" y="42.0422" z="38.9092" />
+ <vertex index="6572" x="58.3968" y="44.0935" z="32.6235" />
+ <vertex index="6573" x="57.5588" y="50.7262" z="11.0098" />
+ <vertex index="6574" x="55.7443" y="44.3285" z="26.9372" />
+ <vertex index="6575" x="55.8303" y="44.6632" z="27.2555" />
+ <vertex index="6576" x="51.8976" y="42.8105" z="31.2425" />
+ <vertex index="6577" x="53.1851" y="41.5799" z="36.7275" />
+ <vertex index="6578" x="52.5752" y="40.5704" z="36.121" />
+ <vertex index="6579" x="52.3731" y="40.5032" z="37.9683" />
+ <vertex index="6580" x="54.2812" y="40.4084" z="37.716" />
+ <vertex index="6581" x="52.4102" y="40.7655" z="37.2477" />
+ <vertex index="6582" x="55.0267" y="45.3859" z="34.0299" />
+ <vertex index="6583" x="56.3409" y="44.9306" z="33.8755" />
+ <vertex index="6584" x="55.6789" y="45.3624" z="33.9089" />
+ <vertex index="6585" x="52.65" y="44.2583" z="37.3344" />
+ <vertex index="6586" x="53.713" y="44.2369" z="36.6954" />
+ <vertex index="6587" x="53.2309" y="44.0503" z="36.2457" />
+ <vertex index="6588" x="52.2674" y="42.6915" z="38.0336" />
+ <vertex index="6589" x="52.4823" y="42.9597" z="36.5604" />
+ <vertex index="6590" x="52.65" y="43.8505" z="36.5462" />
+ <vertex index="6591" x="52.3118" y="43.6705" z="38.0391" />
+ <vertex index="6592" x="52.4893" y="44.4218" z="34.7052" />
+ <vertex index="6593" x="53.3902" y="44.3794" z="35.0825" />
+ <vertex index="6594" x="53.132" y="44.0571" z="33.872" />
+ <vertex index="6595" x="54.4864" y="45.5697" z="34.2392" />
+ <vertex index="6596" x="54.9096" y="44.5145" z="33.0905" />
+ <vertex index="6597" x="54.9904" y="44.7298" z="33.575" />
+ <vertex index="6598" x="53.6604" y="46.0302" z="34.0692" />
+ <vertex index="6599" x="54.5742" y="45.7351" z="36.2763" />
+ <vertex index="6600" x="54.243" y="45.182" z="35.0583" />
+ <vertex index="6601" x="53.0847" y="45.5488" z="34.6319" />
+ <vertex index="6602" x="52.5985" y="45.0775" z="33.7093" />
+ <vertex index="6603" x="52.7513" y="45.5286" z="34.0717" />
+ <vertex index="6604" x="57.68" y="52.1288" z="6.66218" />
+ <vertex index="6605" x="41.983" y="36.6475" z="46.0183" />
+ <vertex index="6606" x="40.9362" y="36.4978" z="46.0037" />
+ <vertex index="6607" x="41.6452" y="37.3992" z="46.6634" />
+ <vertex index="6608" x="41.5475" y="37.9092" z="45.8725" />
+ <vertex index="6609" x="40.8462" y="37.4274" z="46.0401" />
+ <vertex index="6610" x="41.4535" y="36.9398" z="46.2344" />
+ <vertex index="6611" x="53.1235" y="43.1411" z="36.4064" />
+ <vertex index="6612" x="54.3989" y="42.3348" z="31.6088" />
+ <vertex index="6613" x="54.4366" y="42.9941" z="33.431" />
+ <vertex index="6614" x="49.8595" y="42.8134" z="32.5998" />
+ <vertex index="6615" x="44.9634" y="38.7062" z="41.2901" />
+ <vertex index="6616" x="53.0951" y="44.6317" z="34.0846" />
+ <vertex index="6617" x="53.7311" y="40.936" z="39.2231" />
+ <vertex index="6618" x="49.7581" y="42.9511" z="31.5317" />
+ <vertex index="6619" x="54.2331" y="45.3652" z="37.8711" />
+ <vertex index="6620" x="54.0553" y="43.8578" z="39.4382" />
+ <vertex index="6621" x="53.0274" y="43.8008" z="38.9805" />
+ <vertex index="6622" x="53.3535" y="44.3295" z="37.3362" />
+ <vertex index="6623" x="53.9521" y="44.8143" z="37.7374" />
+ <vertex index="6624" x="52.8637" y="44.3877" z="37.9204" />
+ <vertex index="6625" x="54.0647" y="41.3631" z="36.3574" />
+ <vertex index="6626" x="53.3635" y="41.4235" z="35.4361" />
+ <vertex index="6627" x="53.9962" y="41.6907" z="35.7783" />
+ <vertex index="6628" x="53.961" y="41.0332" z="35.2412" />
+ <vertex index="6629" x="53.3322" y="41.3532" z="36.1859" />
+ <vertex index="6630" x="53.2455" y="41.1004" z="34.3552" />
+ <vertex index="6631" x="52.5761" y="41.7778" z="35.5425" />
+ <vertex index="6632" x="52.5872" y="42.5892" z="35.5033" />
+ <vertex index="6633" x="53.1458" y="41.5924" z="34.8151" />
+ <vertex index="6634" x="52.2884" y="42.3332" z="36.2467" />
+ <vertex index="6635" x="53.1052" y="40.7713" z="35.8905" />
+ <vertex index="6636" x="52.4213" y="42.5802" z="34.8029" />
+ <vertex index="6637" x="55.4292" y="45.4897" z="31.9727" />
+ <vertex index="6638" x="55.5899" y="45.5818" z="32.4195" />
+ <vertex index="6639" x="54.977" y="45.6145" z="33.0858" />
+ <vertex index="6640" x="54.809" y="44.7552" z="31.3393" />
+ <vertex index="6641" x="55.2109" y="44.6296" z="32.177" />
+ <vertex index="6642" x="54.8517" y="45.2222" z="32.1383" />
+ <vertex index="6643" x="54.7181" y="44.8403" z="31.8666" />
+ <vertex index="6644" x="54.696" y="44.246" z="32.4494" />
+ <vertex index="6645" x="54.6157" y="45.1157" z="32.759" />
+ <vertex index="6646" x="58.8553" y="44.3613" z="33.275" />
+ <vertex index="6647" x="55.6414" y="46.7146" z="23.1141" />
+ <vertex index="6648" x="56.0874" y="43.912" z="32.2257" />
+ <vertex index="6649" x="55.5245" y="44.4883" z="31.8115" />
+ <vertex index="6650" x="49.3301" y="41.5977" z="33.2458" />
+ <vertex index="6651" x="49.7625" y="41.7078" z="33.6074" />
+ <vertex index="6652" x="56.1075" y="43.2022" z="30.7442" />
+ <vertex index="6653" x="55.0448" y="41.4485" z="31.5948" />
+ <vertex index="6654" x="55.076" y="42.0241" z="34.387" />
+ <vertex index="6655" x="55.4223" y="41.3935" z="33.9089" />
+ <vertex index="6656" x="53.953" y="41.5091" z="38.9068" />
+ <vertex index="6657" x="54.175" y="41.761" z="38.3207" />
+ <vertex index="6658" x="52.9215" y="41.866" z="39.183" />
+ <vertex index="6659" x="53.4441" y="40.4972" z="38.4536" />
+ <vertex index="6660" x="52.994" y="41.0169" z="38.6215" />
+ <vertex index="6661" x="56.8733" y="41.0702" z="47.063" />
+ <vertex index="6662" x="55.622" y="41.4732" z="47.5994" />
+ <vertex index="6663" x="55.6505" y="40.6518" z="48.1852" />
+ <vertex index="6664" x="59.1362" y="43.7423" z="37.8728" />
+ <vertex index="6665" x="51.1817" y="42.7424" z="37.82" />
+ <vertex index="6666" x="51.8447" y="43.091" z="36.5214" />
+ <vertex index="6667" x="52.2756" y="43.1804" z="37.0566" />
+ <vertex index="6668" x="52.1148" y="44.0853" z="36.2281" />
+ <vertex index="6669" x="51.2733" y="43.651" z="36.1505" />
+ <vertex index="6670" x="51.7357" y="43.7746" z="37.0676" />
+ <vertex index="6671" x="54.4463" y="43.0316" z="31.642" />
+ <vertex index="6672" x="54.6762" y="43.4669" z="31.8234" />
+ <vertex index="6673" x="54.623" y="44.1226" z="31.1535" />
+ <vertex index="6674" x="54.084" y="44.9475" z="31.5003" />
+ <vertex index="6675" x="54.0034" y="44.3712" z="32.5186" />
+ <vertex index="6676" x="56.4878" y="43.5263" z="32.2419" />
+ <vertex index="6677" x="57.0015" y="44.163" z="32.3968" />
+ <vertex index="6678" x="55.902" y="42.8919" z="32.5166" />
+ <vertex index="6679" x="55.7854" y="44.5808" z="33.3343" />
+ <vertex index="6680" x="42.7356" y="36.6717" z="44.821" />
+ <vertex index="6681" x="54.363" y="43.7247" z="29.2651" />
+ <vertex index="6682" x="54.8543" y="43.2678" z="30.1197" />
+ <vertex index="6683" x="57.763" y="49.6358" z="13.6317" />
+ <vertex index="6684" x="57.5415" y="49.2053" z="15.2488" />
+ <vertex index="6685" x="53.7695" y="42.2111" z="31.9638" />
+ <vertex index="6686" x="53.7831" y="42.5908" z="32.5699" />
+ <vertex index="6687" x="53.7031" y="43.5035" z="33.6476" />
+ <vertex index="6688" x="56.0561" y="42.1034" z="33.288" />
+ <vertex index="6689" x="55.9946" y="43.1629" z="32.9427" />
+ <vertex index="6690" x="56.5263" y="42.5825" z="33.0818" />
+ <vertex index="6691" x="56.7136" y="43.1807" z="33.0657" />
+ <vertex index="6692" x="56.9043" y="42.3925" z="34.4073" />
+ <vertex index="6693" x="55.6561" y="42.0668" z="35.3245" />
+ <vertex index="6694" x="55.5014" y="42.6292" z="33.6933" />
+ <vertex index="6695" x="55.6425" y="42.1282" z="34.2528" />
+ <vertex index="6696" x="56.3177" y="42.5919" z="31.9365" />
+ <vertex index="6697" x="56.1639" y="41.9588" z="31.9525" />
+ <vertex index="6698" x="56.9758" y="52.7558" z="5.0945" />
+ <vertex index="6699" x="53.7269" y="43.4228" z="30.4038" />
+ <vertex index="6700" x="53.4692" y="42.6494" z="30.161" />
+ <vertex index="6701" x="56.5032" y="51.8538" z="10.0289" />
+ <vertex index="6702" x="54.6274" y="46.0726" z="34.0712" />
+ <vertex index="6703" x="54.8865" y="45.6316" z="32.5156" />
+ <vertex index="6704" x="55.0352" y="40.909" z="32.567" />
+ <vertex index="6705" x="56.1216" y="45.0674" z="33.2051" />
+ <vertex index="6706" x="56.2335" y="45.2968" z="33.6252" />
+ <vertex index="6707" x="53.9889" y="44.2575" z="31.0437" />
+ <vertex index="6708" x="53.3799" y="44.0277" z="31.5982" />
+ <vertex index="6709" x="58.1764" y="52.2396" z="5.06967" />
+ <vertex index="6710" x="53.3114" y="41.3714" z="33.8374" />
+ <vertex index="6711" x="52.9345" y="42.0203" z="34.2941" />
+ <vertex index="6712" x="53.9753" y="42.099" z="34.2416" />
+ <vertex index="6713" x="53.7775" y="43.2645" z="32.8526" />
+ <vertex index="6714" x="53.0876" y="42.6054" z="33.2269" />
+ <vertex index="6715" x="53.531" y="42.4281" z="33.442" />
+ <vertex index="6716" x="53.0515" y="43.2416" z="33.5794" />
+ <vertex index="6717" x="54.0695" y="43.2918" z="32.3805" />
+ <vertex index="6718" x="54.7072" y="43.7655" z="33.1921" />
+ <vertex index="6719" x="53.8221" y="43.8173" z="32.5412" />
+ <vertex index="6720" x="53.8266" y="44.1253" z="33.0112" />
+ <vertex index="6721" x="53.4072" y="43.9125" z="33.242" />
+ <vertex index="6722" x="54.8208" y="43.9216" z="34.3709" />
+ <vertex index="6723" x="53.8245" y="44.3865" z="34.0729" />
+ <vertex index="6724" x="53.4138" y="45.2187" z="33.4597" />
+ <vertex index="6725" x="56.0216" y="43.0546" z="35.1564" />
+ <vertex index="6726" x="55.0366" y="43.1992" z="35.2165" />
+ <vertex index="6727" x="55.0478" y="42.5403" z="36.0008" />
+ <vertex index="6728" x="56.403" y="42.7248" z="35.5855" />
+ <vertex index="6729" x="56.1819" y="43.9577" z="30.7038" />
+ <vertex index="6730" x="55.8256" y="43.2084" z="29.4683" />
+ <vertex index="6731" x="55.9956" y="43.8801" z="29.6018" />
+ <vertex index="6732" x="55.9001" y="43.7782" z="34.6217" />
+ <vertex index="6733" x="56.0457" y="44.533" z="34.1083" />
+ <vertex index="6734" x="55.0999" y="44.6545" z="34.4663" />
+ <vertex index="6735" x="55.6778" y="43.6953" z="36.4574" />
+ <vertex index="6736" x="52.226" y="43.7546" z="38.5991" />
+ <vertex index="6737" x="53.1549" y="44.9646" z="37.4793" />
+ <vertex index="6738" x="52.6535" y="45.1196" z="37.8168" />
+ <vertex index="6739" x="56.9844" y="50.0393" z="11.9005" />
+ <vertex index="6740" x="52.6769" y="42.8428" z="33.8925" />
+ <vertex index="6741" x="52.1703" y="43.0857" z="33.6609" />
+ <vertex index="6742" x="58.128" y="51.0466" z="8.23993" />
+ <vertex index="6743" x="57.2027" y="51.6033" z="7.45944" />
+ <vertex index="6744" x="53.472" y="44.9742" z="38.504" />
+ <vertex index="6745" x="54.6468" y="44.4102" z="38.1681" />
+ <vertex index="6746" x="55.7932" y="43.8882" z="37.6717" />
+ <vertex index="6747" x="55.3904" y="43.4344" z="37.9044" />
+ <vertex index="6748" x="55.1429" y="42.7321" z="38.67" />
+ <vertex index="6749" x="54.5743" y="43.7873" z="38.9472" />
+ <vertex index="6750" x="52.3145" y="42.9572" z="35.9282" />
+ <vertex index="6751" x="51.7486" y="42.4269" z="35.0365" />
+ <vertex index="6752" x="53.517" y="42.7568" z="34.2191" />
+ <vertex index="6753" x="53.2869" y="42.6222" z="35.128" />
+ <vertex index="6754" x="52.9869" y="43.4129" z="35.681" />
+ <vertex index="6755" x="53.0217" y="43.7317" z="34.5451" />
+ <vertex index="6756" x="56.462" y="42.0162" z="36.2431" />
+ <vertex index="6757" x="54.983" y="42.683" z="37.0785" />
+ <vertex index="6758" x="55.9848" y="42.4304" z="45.0275" />
+ <vertex index="6759" x="56.9451" y="42.0748" z="44.4624" />
+ <vertex index="6760" x="56.4581" y="42.3062" z="43.9551" />
+ <vertex index="6761" x="54.4082" y="42.6811" z="38.7605" />
+ <vertex index="6762" x="55.6402" y="43.3361" z="38.4053" />
+ <vertex index="6763" x="55.311" y="41.4692" z="38.8176" />
+ <vertex index="6764" x="53.5312" y="42.2077" z="36.8613" />
+ <vertex index="6765" x="54.133" y="43.0018" z="35.943" />
+ <vertex index="6766" x="54.1186" y="42.4027" z="35.4157" />
+ <vertex index="6767" x="52.0441" y="41.619" z="36.6259" />
+ <vertex index="6768" x="51.6397" y="41.2672" z="36.8376" />
+ <vertex index="6769" x="51.6789" y="42.4815" z="36.5358" />
+ <vertex index="6770" x="51.36" y="42.8141" z="35.5587" />
+ <vertex index="6771" x="57.1727" y="50.6585" z="9.65466" />
+ <vertex index="6772" x="55.5585" y="40.8093" z="47.6146" />
+ <vertex index="6773" x="55.5715" y="45.5072" z="33.0873" />
+ <vertex index="6774" x="55.2375" y="44.9143" z="31.7786" />
+ <vertex index="6775" x="55.86" y="45.0905" z="31.8807" />
+ <vertex index="6776" x="56.9393" y="51.7365" z="6.60944" />
+ <vertex index="6777" x="58.0692" y="52.11" z="6.10373" />
+ <vertex index="6778" x="51.6767" y="44.2976" z="36.7163" />
+ <vertex index="6779" x="54.484" y="41.2735" z="33.246" />
+ <vertex index="6780" x="54.8421" y="42.0982" z="33.4523" />
+ <vertex index="6781" x="55.2427" y="41.6483" z="33.1024" />
+ <vertex index="6782" x="54.3953" y="41.4116" z="34.1062" />
+ <vertex index="6783" x="54.5724" y="42.4255" z="33.8048" />
+ <vertex index="6784" x="54.2835" y="43.4018" z="34.2037" />
+ <vertex index="6785" x="54.9029" y="40.4431" z="35.6755" />
+ <vertex index="6786" x="54.3213" y="41.5812" z="35.0043" />
+ <vertex index="6787" x="55.7392" y="41.353" z="34.9836" />
+ <vertex index="6788" x="55.7688" y="40.887" z="33.2416" />
+ <vertex index="6789" x="55.2027" y="44.0677" z="33.3114" />
+ <vertex index="6790" x="55.4246" y="44.5214" z="33.9318" />
+ <vertex index="6791" x="55.6371" y="43.1776" z="33.6891" />
+ <vertex index="6792" x="55.2413" y="43.5771" z="33.5878" />
+ <vertex index="6793" x="55.2588" y="42.293" z="32.4732" />
+ <vertex index="6794" x="54.7192" y="43.2387" z="32.5602" />
+ <vertex index="6795" x="53.4352" y="42.7464" z="31.9369" />
+ <vertex index="6796" x="53.8605" y="42.2349" z="31.3117" />
+ <vertex index="6797" x="54.79" y="43.2346" z="31.1279" />
+ <vertex index="6798" x="54.9969" y="43.4827" z="30.5808" />
+ <vertex index="6799" x="55.4835" y="43.3234" z="31.2655" />
+ <vertex index="6800" x="55.1973" y="42.6515" z="30.8784" />
+ <vertex index="6801" x="57.3735" y="42.413" z="40.3401" />
+ <vertex index="6802" x="58.377" y="42.6541" z="39.8827" />
+ <vertex index="6803" x="57.3735" y="42.8822" z="40.6152" />
+ <vertex index="6804" x="54.3497" y="42.4332" z="34.6901" />
+ <vertex index="6805" x="54.1807" y="42.6083" z="36.8015" />
+ <vertex index="6806" x="54.0747" y="42.3043" z="36.0756" />
+ <vertex index="6807" x="54.1712" y="40.7573" z="36.3805" />
+ <vertex index="6808" x="54.2951" y="40.9728" z="35.7843" />
+ <vertex index="6809" x="54.3998" y="40.3927" z="35.3255" />
+ <vertex index="6810" x="53.6655" y="40.5636" z="35.5981" />
+ <vertex index="6811" x="51.3387" y="43.7086" z="31.1905" />
+ <vertex index="6812" x="51.6425" y="44.0262" z="30.4354" />
+ <vertex index="6813" x="56.5461" y="49.6317" z="14.5627" />
+ <vertex index="6814" x="56.3521" y="48.7438" z="14.5419" />
+ <vertex index="6815" x="56.6434" y="50.1899" z="13.2842" />
+ <vertex index="6816" x="57.3651" y="41.6708" z="44.5482" />
+ <vertex index="6817" x="56.235" y="44.5737" z="29.8044" />
+ <vertex index="6818" x="55.6166" y="44.9754" z="29.2693" />
+ <vertex index="6819" x="57.1323" y="43.7518" z="30.7118" />
+ <vertex index="6820" x="57.0871" y="44.3587" z="31.211" />
+ <vertex index="6821" x="56.8853" y="44.6315" z="29.3528" />
+ <vertex index="6822" x="57.3267" y="48.9279" z="16.5791" />
+ <vertex index="6823" x="55.5863" y="45.8224" z="23.0091" />
+ <vertex index="6824" x="56.6188" y="44.7715" z="26.1479" />
+ <vertex index="6825" x="56.617" y="45.9346" z="24.5774" />
+ <vertex index="6826" x="56.3528" y="45.7113" z="26.1305" />
+ <vertex index="6827" x="57.9795" y="43.6651" z="37.9552" />
+ <vertex index="6828" x="46.5982" y="38.1787" z="40.0082" />
+ <vertex index="6829" x="55.806" y="46.2308" z="23.8302" />
+ <vertex index="6830" x="56.7285" y="42.5982" z="43.3654" />
+ <vertex index="6831" x="57.453" y="50.7393" z="8.86522" />
+ <vertex index="6832" x="58.0004" y="51.4176" z="9.15244" />
+ <vertex index="6833" x="56.0565" y="47.2488" z="19.9384" />
+ <vertex index="6834" x="56.777" y="42.4349" z="32.6374" />
+ <vertex index="6835" x="58.7873" y="44.1076" z="33.5827" />
+ <vertex index="6836" x="57.709" y="51.0582" z="10.4439" />
+ <vertex index="6837" x="57.1022" y="43.0668" z="41.6468" />
+ <vertex index="6838" x="58.1561" y="43.7519" z="32.0199" />
+ <vertex index="6839" x="54.4351" y="44.9745" z="34.5565" />
+ <vertex index="6840" x="53.5796" y="44.5275" z="35.7698" />
+ <vertex index="6841" x="54.3035" y="43.359" z="35.4034" />
+ <vertex index="6842" x="54.4341" y="44.1157" z="35.427" />
+ <vertex index="6843" x="53.8865" y="43.43" z="34.7812" />
+ <vertex index="6844" x="54.595" y="44.8945" z="37.0855" />
+ <vertex index="6845" x="55.113" y="45.4104" z="34.5972" />
+ <vertex index="6846" x="54.5638" y="45.5654" z="34.7864" />
+ <vertex index="6847" x="53.4083" y="44.5798" z="32.1909" />
+ <vertex index="6848" x="53.8597" y="45.1716" z="34.039" />
+ <vertex index="6849" x="53.797" y="45.5711" z="32.9647" />
+ <vertex index="6850" x="55.8718" y="43.7976" z="31.383" />
+ <vertex index="6851" x="53.2819" y="42.4473" z="37.9762" />
+ <vertex index="6852" x="53.2821" y="43.6058" z="38.18" />
+ <vertex index="6853" x="53.0927" y="42.8419" z="37.5467" />
+ <vertex index="6854" x="52.7877" y="42.737" z="38.3177" />
+ <vertex index="6855" x="54.6125" y="43.7632" z="36.6988" />
+ <vertex index="6856" x="54.9122" y="43.2651" z="36.1765" />
+ <vertex index="6857" x="58.0131" y="52.2569" z="7.88439" />
+ <vertex index="6858" x="56.8903" y="51.3404" z="10.4554" />
+ <vertex index="6859" x="57.9467" y="51.714" z="10.7453" />
+ <vertex index="6860" x="57.093" y="50.0157" z="13.0712" />
+ <vertex index="6861" x="56.5957" y="50.0016" z="13.8726" />
+ <vertex index="6862" x="54.7673" y="43.0709" z="33.9931" />
+ <vertex index="6863" x="55.2856" y="43.2293" z="34.1043" />
+ <vertex index="6864" x="55.1495" y="44.9412" z="32.6136" />
+ <vertex index="6865" x="55.9979" y="44.6274" z="32.3427" />
+ <vertex index="6866" x="58.5313" y="44.5998" z="36.3173" />
+ <vertex index="6867" x="55.5223" y="41.4239" z="31.9942" />
+ <vertex index="6868" x="53.7909" y="45.0556" z="36.1934" />
+ <vertex index="6869" x="53.3898" y="43.2001" z="38.8199" />
+ <vertex index="6870" x="55.3692" y="45.0926" z="37.3357" />
+ <vertex index="6871" x="54.3941" y="44.8239" z="36.3794" />
+ <vertex index="6872" x="53.4038" y="45.7394" z="36.7595" />
+ <vertex index="6873" x="56.355" y="45.1842" z="24.0097" />
+ <vertex index="6874" x="54.9584" y="45.6697" z="31.6035" />
+ <vertex index="6875" x="55.4524" y="43.9274" z="32.932" />
+ <vertex index="6876" x="55.5766" y="43.2955" z="32.7099" />
+ <vertex index="6877" x="54.2382" y="44.0513" z="33.4699" />
+ <vertex index="6878" x="54.1431" y="44.9395" z="32.9563" />
+ <vertex index="6879" x="54.4333" y="44.8573" z="33.589" />
+ <vertex index="6880" x="53.3914" y="44.4457" z="33.2705" />
+ <vertex index="6881" x="54.4102" y="40.7094" z="34.0805" />
+ <vertex index="6882" x="54.3779" y="42.2274" z="32.841" />
+ <vertex index="6883" x="53.9159" y="42.5306" z="33.1679" />
+ <vertex index="6884" x="53.5545" y="41.9129" z="32.7916" />
+ <vertex index="6885" x="54.2539" y="41.9082" z="32.141" />
+ <vertex index="6886" x="47.7094" y="40.7901" z="37.4456" />
+ <vertex index="6887" x="58.1053" y="43.19" z="41.003" />
+ <vertex index="6888" x="56.1915" y="41.0358" z="34.2035" />
+ <vertex index="6889" x="56.6169" y="43.6401" z="33.6665" />
+ <vertex index="6890" x="55.0938" y="44.1443" z="30.7106" />
+ <vertex index="6891" x="55.5211" y="44.63" z="30.342" />
+ <vertex index="6892" x="56.1754" y="43.2456" z="31.8083" />
+ <vertex index="6893" x="54.9939" y="42.3321" z="31.9238" />
+ <vertex index="6894" x="53.7755" y="42.2106" z="37.5323" />
+ <vertex index="6895" x="54.3701" y="43.0843" z="37.6212" />
+ <vertex index="6896" x="55.4989" y="41.868" z="37.9587" />
+ <vertex index="6897" x="55.3169" y="43.3052" z="32.1842" />
+ <vertex index="6898" x="55.5626" y="44.7533" z="31.3188" />
+ <vertex index="6899" x="53.7881" y="40.6014" z="37.1451" />
+ <vertex index="6900" x="53.1476" y="40.8154" z="37.7637" />
+ <vertex index="6901" x="52.9523" y="41.1013" z="36.9697" />
+ <vertex index="6902" x="53.511" y="43.3533" z="37.5679" />
+ <vertex index="6903" x="52.743" y="42.0136" z="36.6554" />
+ <vertex index="6904" x="52.2793" y="40.915" z="36.4452" />
+ <vertex index="6905" x="52.1215" y="40.8502" z="38.1465" />
+ <vertex index="6906" x="54.6647" y="45.3782" z="33.7308" />
+ <vertex index="6907" x="55.1332" y="45.2998" z="33.5931" />
+ <vertex index="6908" x="52.7635" y="43.7709" z="37.1734" />
+ <vertex index="6909" x="53.619" y="43.6726" z="36.5148" />
+ <vertex index="6910" x="51.9118" y="42.3497" z="38.1445" />
+ <vertex index="6911" x="52.5814" y="43.4029" z="36.5942" />
+ <vertex index="6912" x="52.823" y="43.3957" z="37.7598" />
+ <vertex index="6913" x="55.2854" y="44.4875" z="32.8417" />
+ <vertex index="6914" x="53.7069" y="46.0372" z="33.6046" />
+ <vertex index="6915" x="55.078" y="45.5099" z="36.2087" />
+ <vertex index="6916" x="54.6939" y="44.872" z="35.3609" />
+ <vertex index="6917" x="53.0704" y="45.0478" z="34.455" />
+ <vertex index="6918" x="57.9901" y="51.8266" z="7.01876" />
+ <vertex index="6919" x="41.4776" y="37.9756" z="45.4559" />
+ <vertex index="6920" x="54.9285" y="42.7844" z="33.0843" />
+ <vertex index="6921" x="53.1775" y="44.6364" z="36.9117" />
+ <vertex index="6922" x="53.7702" y="41.5839" z="36.8221" />
+ <vertex index="6923" x="53.3535" y="42.0235" z="35.5663" />
+ <vertex index="6924" x="54.4042" y="41.4934" z="36.0048" />
+ <vertex index="6925" x="53.6823" y="41.5122" z="36.0035" />
+ <vertex index="6926" x="52.6004" y="41.7115" z="34.8251" />
+ <vertex index="6927" x="52.2537" y="42.9125" z="34.3497" />
+ <vertex index="6928" x="55.0208" y="46.0893" z="32.8211" />
+ <vertex index="6929" x="54.3319" y="43.8943" z="32.4172" />
+ <vertex index="6930" x="54.2899" y="44.847" z="32.4409" />
+ <vertex index="6931" x="54.9911" y="45.2001" z="32.9589" />
+ <vertex index="6932" x="49.188" y="41.8959" z="33.5438" />
+ <vertex index="6933" x="56.4272" y="43.304" z="31.0008" />
+ <vertex index="6934" x="55.404" y="41.8382" z="33.6367" />
+ <vertex index="6935" x="54.9435" y="41.5578" z="34.1257" />
+ <vertex index="6936" x="53.746" y="41.4154" z="39.347" />
+ <vertex index="6937" x="54.1552" y="42.2679" z="38.5147" />
+ <vertex index="6938" x="53.2016" y="40.7398" z="39.0876" />
+ <vertex index="6939" x="52.5609" y="42.834" z="36.9893" />
+ <vertex index="6940" x="51.87" y="43.7662" z="37.5372" />
+ <vertex index="6941" x="54.0906" y="42.6982" z="31.7838" />
+ <vertex index="6942" x="54.8991" y="42.9392" z="31.8958" />
+ <vertex index="6943" x="54.9228" y="43.766" z="31.4805" />
+ <vertex index="6944" x="55.1105" y="44.3145" z="31.275" />
+ <vertex index="6945" x="54.5207" y="45.0712" z="31.4914" />
+ <vertex index="6946" x="54.687" y="43.6979" z="29.7254" />
+ <vertex index="6947" x="54.2228" y="42.4806" z="32.3803" />
+ <vertex index="6948" x="53.6118" y="43.89" z="33.9836" />
+ <vertex index="6949" x="53.9985" y="43.0483" z="33.7694" />
+ <vertex index="6950" x="55.5756" y="42.3653" z="33.2129" />
+ <vertex index="6951" x="55.1137" y="42.0288" z="35.6128" />
+ <vertex index="6952" x="56.2037" y="42.1303" z="32.4014" />
+ <vertex index="6953" x="53.8496" y="43.7049" z="29.9485" />
+ <vertex index="6954" x="54.5832" y="46.1342" z="33.6403" />
+ <vertex index="6955" x="56.0964" y="45.1903" z="32.8849" />
+ <vertex index="6956" x="53.079" y="44.418" z="31.2812" />
+ <vertex index="6957" x="53.8262" y="41.3681" z="34.0695" />
+ <vertex index="6958" x="53.2866" y="42.155" z="33.8968" />
+ <vertex index="6959" x="54.3039" y="43.2015" z="32.9513" />
+ <vertex index="6960" x="54.8366" y="43.2965" z="33.3423" />
+ <vertex index="6961" x="54.5288" y="44.0609" z="32.859" />
+ <vertex index="6962" x="53.8123" y="43.6334" z="33.1819" />
+ <vertex index="6963" x="54.3142" y="44.0113" z="34.7369" />
+ <vertex index="6964" x="55.095" y="43.6796" z="34.853" />
+ <vertex index="6965" x="55.6055" y="42.5352" z="36.145" />
+ <vertex index="6966" x="55.85" y="44.259" z="30.9547" />
+ <vertex index="6967" x="54.9345" y="44.8896" z="34.051" />
+ <vertex index="6968" x="55.9014" y="44.0762" z="36.55" />
+ <vertex index="6969" x="54.4653" y="44.5415" z="37.6189" />
+ <vertex index="6970" x="54.375" y="44.4477" z="38.6987" />
+ <vertex index="6971" x="52.4821" y="43.3847" z="35.8509" />
+ <vertex index="6972" x="51.7513" y="42.7857" z="36.0186" />
+ <vertex index="6973" x="54.0769" y="42.4656" z="39.0701" />
+ <vertex index="6974" x="53.2658" y="42.3335" z="36.3424" />
+ <vertex index="6975" x="54.6562" y="42.4552" z="35.596" />
+ <vertex index="6976" x="55.6299" y="45.213" z="32.8502" />
+ <vertex index="6977" x="55.1504" y="41.7986" z="32.6135" />
+ <vertex index="6978" x="54.7778" y="41.8123" z="33.0528" />
+ <vertex index="6979" x="54.028" y="42.4972" z="33.744" />
+ <vertex index="6980" x="55.6207" y="43.1185" z="33.2234" />
+ <vertex index="6981" x="54.94" y="43.6524" z="32.6792" />
+ <vertex index="6982" x="54.0881" y="42.5437" z="31.0957" />
+ <vertex index="6983" x="54.2268" y="41.0985" z="36.8727" />
+ <vertex index="6984" x="56.8938" y="43.8542" z="31.108" />
+ <vertex index="6985" x="57.961" y="43.2583" z="38.3113" />
+ <vertex index="6986" x="56.4778" y="42.8849" z="43.0536" />
+ <vertex index="6987" x="53.7331" y="43.9629" z="35.855" />
+ <vertex index="6988" x="54.5242" y="42.8829" z="35.0767" />
+ <vertex index="6989" x="54.3241" y="44.3714" z="36.8334" />
+ <vertex index="6990" x="54.9483" y="45.8844" z="34.9489" />
+ <vertex index="6991" x="53.971" y="45.7524" z="33.3522" />
+ <vertex index="6992" x="55.791" y="43.5656" z="30.9291" />
+ <vertex index="6993" x="57.7771" y="52.5673" z="7.64488" />
+ <vertex index="6994" x="56.2197" y="50.2956" z="13.6391" />
+ <vertex index="6995" x="54.5707" y="43.0863" z="34.438" />
+ <vertex index="6996" x="53.5955" y="43.455" z="38.4893" />
+ <vertex index="6997" x="54.2386" y="43.5018" z="33.5157" />
+ <vertex index="6998" x="54.5528" y="40.4743" z="33.6096" />
+ <vertex index="6999" x="54.8076" y="42.3757" z="32.6519" />
+ <vertex index="7000" x="55.9348" y="41.4188" z="33.9702" />
+ <vertex index="7001" x="56.173" y="41.0009" z="34.7181" />
+ <vertex index="7002" x="54.7524" y="44.3967" z="30.8323" />
+ <vertex index="7003" x="55.8755" y="44.5079" z="30.0797" />
+ <vertex index="7004" x="55.3284" y="44.606" z="30.8389" />
+ <vertex index="7005" x="54.7696" y="45.7064" z="33.4605" />
+ <vertex index="7006" x="55.2959" y="45.7228" z="33.5337" />
+ <vertex index="7007" x="54.6962" y="44.5652" z="34.8707" />
+ <vertex index="7008" x="57.7512" y="51.7278" z="6.70167" />
+ <vertex index="7009" x="55.2834" y="42.9249" z="32.7934" />
+ <vertex index="7010" x="53.4066" y="41.7794" z="37.2058" />
+ <vertex index="7011" x="52.9629" y="41.8635" z="35.9987" />
+ <vertex index="7012" x="54.6797" y="45.822" z="32.847" />
+ <vertex index="7013" x="52.6773" y="42.4422" z="37.2154" />
+ <vertex index="7014" x="55.2714" y="44.1898" z="31.6474" />
+ <vertex index="7015" x="53.5176" y="43.1019" z="33.8664" />
+ <vertex index="7016" x="55.1499" y="42.4928" z="33.3955" />
+ <vertex index="7017" x="55.7188" y="42.668" z="32.8851" />
+ <vertex index="7018" x="55.9019" y="44.9604" z="32.8232" />
+ <vertex index="7019" x="54.1327" y="44.0147" z="38.4935" />
+ <vertex index="7020" x="55.801" y="45.2591" z="33.1435" />
+ <vertex index="7021" x="54.6165" y="43.4809" z="32.892" />
+ <vertex index="7022" x="56.7127" y="44.177" z="31.3353" />
+ <vertex index="7023" x="54.0477" y="43.9043" z="37.025" />
+ <vertex index="7024" x="57.2888" y="52.7334" z="7.71678" />
+ <vertex index="7025" x="54.6218" y="42.8052" z="32.7241" />
+ <vertex index="7026" x="54.6773" y="42.5608" z="32.2183" />
+ <vertex index="7027" x="55.7737" y="40.9457" z="34.4412" />
+ <vertex index="7028" x="55.8273" y="44.3238" z="30.4993" />
+ <vertex index="7029" x="52.594" y="42.1975" z="35.8486" />
+ <vertex index="7030" x="54.3858" y="43.5837" z="37.0665" />
+ </vertices>
+ <cells size="37548">
+ <tetrahedron index="0" v0="2" v1="1615" v2="1616" v3="1617" />
+ <tetrahedron index="1" v0="1" v1="2" v2="1615" v3="1616" />
+ <tetrahedron index="2" v0="0" v1="1" v2="2" v3="1615" />
+ <tetrahedron index="3" v0="3" v1="4" v2="5" v3="1618" />
+ <tetrahedron index="4" v0="4" v1="5" v2="1618" v3="1619" />
+ <tetrahedron index="5" v0="5" v1="1618" v2="1619" v3="1620" />
+ <tetrahedron index="6" v0="6" v1="7" v2="8" v3="1621" />
+ <tetrahedron index="7" v0="7" v1="8" v2="1621" v3="1622" />
+ <tetrahedron index="8" v0="8" v1="1621" v2="1622" v3="1623" />
+ <tetrahedron index="9" v0="9" v1="10" v2="11" v3="1624" />
+ <tetrahedron index="10" v0="10" v1="11" v2="1624" v3="1625" />
+ <tetrahedron index="11" v0="11" v1="1624" v2="1625" v3="1626" />
+ <tetrahedron index="12" v0="12" v1="13" v2="14" v3="1627" />
+ <tetrahedron index="13" v0="13" v1="14" v2="1627" v3="1628" />
+ <tetrahedron index="14" v0="14" v1="1627" v2="1628" v3="1629" />
+ <tetrahedron index="15" v0="15" v1="16" v2="17" v3="1630" />
+ <tetrahedron index="16" v0="16" v1="17" v2="1630" v3="1631" />
+ <tetrahedron index="17" v0="17" v1="1630" v2="1631" v3="1632" />
+ <tetrahedron index="18" v0="19" v1="1630" v2="1633" v3="1634" />
+ <tetrahedron index="19" v0="18" v1="19" v2="1630" v3="1633" />
+ <tetrahedron index="20" v0="15" v1="18" v2="19" v3="1630" />
+ <tetrahedron index="21" v0="20" v1="21" v2="22" v3="1635" />
+ <tetrahedron index="22" v0="21" v1="22" v2="1635" v3="1636" />
+ <tetrahedron index="23" v0="22" v1="1635" v2="1636" v3="1637" />
+ <tetrahedron index="24" v0="23" v1="1635" v2="1637" v3="1638" />
+ <tetrahedron index="25" v0="22" v1="23" v2="1635" v3="1637" />
+ <tetrahedron index="26" v0="20" v1="22" v2="23" v3="1635" />
+ <tetrahedron index="27" v0="24" v1="25" v2="26" v3="1639" />
+ <tetrahedron index="28" v0="25" v1="26" v2="1639" v3="1640" />
+ <tetrahedron index="29" v0="26" v1="1639" v2="1640" v3="1641" />
+ <tetrahedron index="30" v0="27" v1="28" v2="29" v3="1642" />
+ <tetrahedron index="31" v0="28" v1="29" v2="1642" v3="1643" />
+ <tetrahedron index="32" v0="29" v1="1642" v2="1643" v3="1644" />
+ <tetrahedron index="33" v0="28" v1="30" v2="31" v3="1643" />
+ <tetrahedron index="34" v0="30" v1="31" v2="1643" v3="1645" />
+ <tetrahedron index="35" v0="31" v1="1643" v2="1645" v3="1646" />
+ <tetrahedron index="36" v0="32" v1="33" v2="34" v3="1647" />
+ <tetrahedron index="37" v0="33" v1="34" v2="1647" v3="1648" />
+ <tetrahedron index="38" v0="34" v1="1647" v2="1648" v3="1649" />
+ <tetrahedron index="39" v0="35" v1="36" v2="37" v3="1650" />
+ <tetrahedron index="40" v0="36" v1="37" v2="1650" v3="1651" />
+ <tetrahedron index="41" v0="37" v1="1650" v2="1651" v3="1652" />
+ <tetrahedron index="42" v0="36" v1="37" v2="38" v3="1651" />
+ <tetrahedron index="43" v0="37" v1="38" v2="1651" v3="1652" />
+ <tetrahedron index="44" v0="38" v1="1651" v2="1652" v3="1653" />
+ <tetrahedron index="45" v0="37" v1="38" v2="39" v3="1652" />
+ <tetrahedron index="46" v0="38" v1="39" v2="1652" v3="1653" />
+ <tetrahedron index="47" v0="39" v1="1652" v2="1653" v3="1654" />
+ <tetrahedron index="48" v0="40" v1="1651" v2="1653" v3="1655" />
+ <tetrahedron index="49" v0="38" v1="40" v2="1651" v3="1653" />
+ <tetrahedron index="50" v0="36" v1="38" v2="40" v3="1651" />
+ <tetrahedron index="51" v0="41" v1="42" v2="43" v3="1656" />
+ <tetrahedron index="52" v0="42" v1="43" v2="1656" v3="1657" />
+ <tetrahedron index="53" v0="43" v1="1656" v2="1657" v3="1658" />
+ <tetrahedron index="54" v0="44" v1="45" v2="46" v3="1659" />
+ <tetrahedron index="55" v0="45" v1="46" v2="1659" v3="1660" />
+ <tetrahedron index="56" v0="46" v1="1659" v2="1660" v3="1661" />
+ <tetrahedron index="57" v0="40" v1="47" v2="48" v3="1655" />
+ <tetrahedron index="58" v0="47" v1="48" v2="1655" v3="1662" />
+ <tetrahedron index="59" v0="48" v1="1655" v2="1662" v3="1663" />
+ <tetrahedron index="60" v0="44" v1="46" v2="49" v3="1659" />
+ <tetrahedron index="61" v0="46" v1="49" v2="1659" v3="1661" />
+ <tetrahedron index="62" v0="49" v1="1659" v2="1661" v3="1664" />
+ <tetrahedron index="63" v0="50" v1="51" v2="52" v3="1665" />
+ <tetrahedron index="64" v0="51" v1="52" v2="1665" v3="1666" />
+ <tetrahedron index="65" v0="52" v1="1665" v2="1666" v3="1667" />
+ <tetrahedron index="66" v0="53" v1="1665" v2="1666" v3="1668" />
+ <tetrahedron index="67" v0="51" v1="53" v2="1665" v3="1666" />
+ <tetrahedron index="68" v0="50" v1="51" v2="53" v3="1665" />
+ <tetrahedron index="69" v0="48" v1="51" v2="54" v3="1663" />
+ <tetrahedron index="70" v0="51" v1="54" v2="1663" v3="1666" />
+ <tetrahedron index="71" v0="54" v1="1663" v2="1666" v3="1669" />
+ <tetrahedron index="72" v0="47" v1="48" v2="54" v3="1662" />
+ <tetrahedron index="73" v0="48" v1="54" v2="1662" v3="1663" />
+ <tetrahedron index="74" v0="54" v1="1662" v2="1663" v3="1669" />
+ <tetrahedron index="75" v0="40" v1="47" v2="55" v3="1655" />
+ <tetrahedron index="76" v0="47" v1="55" v2="1655" v3="1662" />
+ <tetrahedron index="77" v0="55" v1="1655" v2="1662" v3="1670" />
+ <tetrahedron index="78" v0="50" v1="53" v2="56" v3="1665" />
+ <tetrahedron index="79" v0="53" v1="56" v2="1665" v3="1668" />
+ <tetrahedron index="80" v0="56" v1="1665" v2="1668" v3="1671" />
+ <tetrahedron index="81" v0="47" v1="55" v2="57" v3="1662" />
+ <tetrahedron index="82" v0="55" v1="57" v2="1662" v3="1670" />
+ <tetrahedron index="83" v0="57" v1="1662" v2="1670" v3="1672" />
+ <tetrahedron index="84" v0="58" v1="59" v2="60" v3="1673" />
+ <tetrahedron index="85" v0="59" v1="60" v2="1673" v3="1674" />
+ <tetrahedron index="86" v0="60" v1="1673" v2="1674" v3="1675" />
+ <tetrahedron index="87" v0="61" v1="62" v2="63" v3="1676" />
+ <tetrahedron index="88" v0="62" v1="63" v2="1676" v3="1677" />
+ <tetrahedron index="89" v0="63" v1="1676" v2="1677" v3="1678" />
+ <tetrahedron index="90" v0="64" v1="65" v2="66" v3="1679" />
+ <tetrahedron index="91" v0="65" v1="66" v2="1679" v3="1680" />
+ <tetrahedron index="92" v0="66" v1="1679" v2="1680" v3="1681" />
+ <tetrahedron index="93" v0="64" v1="66" v2="67" v3="1679" />
+ <tetrahedron index="94" v0="66" v1="67" v2="1679" v3="1681" />
+ <tetrahedron index="95" v0="67" v1="1679" v2="1681" v3="1682" />
+ <tetrahedron index="96" v0="68" v1="69" v2="70" v3="1683" />
+ <tetrahedron index="97" v0="69" v1="70" v2="1683" v3="1684" />
+ <tetrahedron index="98" v0="70" v1="1683" v2="1684" v3="1685" />
+ <tetrahedron index="99" v0="72" v1="1684" v2="1686" v3="1687" />
+ <tetrahedron index="100" v0="71" v1="72" v2="1684" v3="1686" />
+ <tetrahedron index="101" v0="69" v1="71" v2="72" v3="1684" />
+ <tetrahedron index="102" v0="73" v1="74" v2="75" v3="1688" />
+ <tetrahedron index="103" v0="74" v1="75" v2="1688" v3="1689" />
+ <tetrahedron index="104" v0="75" v1="1688" v2="1689" v3="1690" />
+ <tetrahedron index="105" v0="76" v1="77" v2="78" v3="1691" />
+ <tetrahedron index="106" v0="77" v1="78" v2="1691" v3="1692" />
+ <tetrahedron index="107" v0="78" v1="1691" v2="1692" v3="1693" />
+ <tetrahedron index="108" v0="79" v1="80" v2="81" v3="1694" />
+ <tetrahedron index="109" v0="80" v1="81" v2="1694" v3="1695" />
+ <tetrahedron index="110" v0="81" v1="1694" v2="1695" v3="1696" />
+ <tetrahedron index="111" v0="82" v1="83" v2="84" v3="1697" />
+ <tetrahedron index="112" v0="83" v1="84" v2="1697" v3="1698" />
+ <tetrahedron index="113" v0="84" v1="1697" v2="1698" v3="1699" />
+ <tetrahedron index="114" v0="85" v1="86" v2="87" v3="1700" />
+ <tetrahedron index="115" v0="86" v1="87" v2="1700" v3="1701" />
+ <tetrahedron index="116" v0="87" v1="1700" v2="1701" v3="1702" />
+ <tetrahedron index="117" v0="88" v1="89" v2="90" v3="1703" />
+ <tetrahedron index="118" v0="89" v1="90" v2="1703" v3="1704" />
+ <tetrahedron index="119" v0="90" v1="1703" v2="1704" v3="1705" />
+ <tetrahedron index="120" v0="91" v1="92" v2="93" v3="1706" />
+ <tetrahedron index="121" v0="92" v1="93" v2="1706" v3="1707" />
+ <tetrahedron index="122" v0="93" v1="1706" v2="1707" v3="1708" />
+ <tetrahedron index="123" v0="94" v1="95" v2="96" v3="1709" />
+ <tetrahedron index="124" v0="95" v1="96" v2="1709" v3="1710" />
+ <tetrahedron index="125" v0="96" v1="1709" v2="1710" v3="1711" />
+ <tetrahedron index="126" v0="97" v1="98" v2="99" v3="1712" />
+ <tetrahedron index="127" v0="98" v1="99" v2="1712" v3="1713" />
+ <tetrahedron index="128" v0="99" v1="1712" v2="1713" v3="1714" />
+ <tetrahedron index="129" v0="100" v1="101" v2="102" v3="1715" />
+ <tetrahedron index="130" v0="101" v1="102" v2="1715" v3="1716" />
+ <tetrahedron index="131" v0="102" v1="1715" v2="1716" v3="1717" />
+ <tetrahedron index="132" v0="103" v1="104" v2="105" v3="1718" />
+ <tetrahedron index="133" v0="104" v1="105" v2="1718" v3="1719" />
+ <tetrahedron index="134" v0="105" v1="1718" v2="1719" v3="1720" />
+ <tetrahedron index="135" v0="100" v1="101" v2="106" v3="1715" />
+ <tetrahedron index="136" v0="101" v1="106" v2="1715" v3="1716" />
+ <tetrahedron index="137" v0="106" v1="1715" v2="1716" v3="1721" />
+ <tetrahedron index="138" v0="107" v1="108" v2="109" v3="1722" />
+ <tetrahedron index="139" v0="108" v1="109" v2="1722" v3="1723" />
+ <tetrahedron index="140" v0="109" v1="1722" v2="1723" v3="1724" />
+ <tetrahedron index="141" v0="0" v1="1" v2="110" v3="1615" />
+ <tetrahedron index="142" v0="1" v1="110" v2="1615" v3="1616" />
+ <tetrahedron index="143" v0="110" v1="1615" v2="1616" v3="1725" />
+ <tetrahedron index="144" v0="111" v1="112" v2="113" v3="1726" />
+ <tetrahedron index="145" v0="112" v1="113" v2="1726" v3="1727" />
+ <tetrahedron index="146" v0="113" v1="1726" v2="1727" v3="1728" />
+ <tetrahedron index="147" v0="3" v1="114" v2="115" v3="1618" />
+ <tetrahedron index="148" v0="114" v1="115" v2="1618" v3="1729" />
+ <tetrahedron index="149" v0="115" v1="1618" v2="1729" v3="1730" />
+ <tetrahedron index="150" v0="116" v1="117" v2="118" v3="1731" />
+ <tetrahedron index="151" v0="117" v1="118" v2="1731" v3="1732" />
+ <tetrahedron index="152" v0="118" v1="1731" v2="1732" v3="1733" />
+ <tetrahedron index="153" v0="119" v1="120" v2="121" v3="1734" />
+ <tetrahedron index="154" v0="120" v1="121" v2="1734" v3="1735" />
+ <tetrahedron index="155" v0="121" v1="1734" v2="1735" v3="1736" />
+ <tetrahedron index="156" v0="122" v1="123" v2="124" v3="1737" />
+ <tetrahedron index="157" v0="123" v1="124" v2="1737" v3="1738" />
+ <tetrahedron index="158" v0="124" v1="1737" v2="1738" v3="1739" />
+ <tetrahedron index="159" v0="125" v1="126" v2="127" v3="1740" />
+ <tetrahedron index="160" v0="126" v1="127" v2="1740" v3="1741" />
+ <tetrahedron index="161" v0="127" v1="1740" v2="1741" v3="1742" />
+ <tetrahedron index="162" v0="128" v1="129" v2="130" v3="1743" />
+ <tetrahedron index="163" v0="129" v1="130" v2="1743" v3="1744" />
+ <tetrahedron index="164" v0="130" v1="1743" v2="1744" v3="1745" />
+ <tetrahedron index="165" v0="131" v1="132" v2="133" v3="1746" />
+ <tetrahedron index="166" v0="132" v1="133" v2="1746" v3="1747" />
+ <tetrahedron index="167" v0="133" v1="1746" v2="1747" v3="1748" />
+ <tetrahedron index="168" v0="10" v1="11" v2="134" v3="1625" />
+ <tetrahedron index="169" v0="11" v1="134" v2="1625" v3="1626" />
+ <tetrahedron index="170" v0="134" v1="1625" v2="1626" v3="1749" />
+ <tetrahedron index="171" v0="11" v1="135" v2="136" v3="1626" />
+ <tetrahedron index="172" v0="135" v1="136" v2="1626" v3="1750" />
+ <tetrahedron index="173" v0="136" v1="1626" v2="1750" v3="1751" />
+ <tetrahedron index="174" v0="137" v1="138" v2="139" v3="1752" />
+ <tetrahedron index="175" v0="138" v1="139" v2="1752" v3="1753" />
+ <tetrahedron index="176" v0="139" v1="1752" v2="1753" v3="1754" />
+ <tetrahedron index="177" v0="16" v1="140" v2="141" v3="1631" />
+ <tetrahedron index="178" v0="140" v1="141" v2="1631" v3="1755" />
+ <tetrahedron index="179" v0="141" v1="1631" v2="1755" v3="1756" />
+ <tetrahedron index="180" v0="15" v1="19" v2="142" v3="1630" />
+ <tetrahedron index="181" v0="19" v1="142" v2="1630" v3="1634" />
+ <tetrahedron index="182" v0="142" v1="1630" v2="1634" v3="1757" />
+ <tetrahedron index="183" v0="143" v1="144" v2="145" v3="1758" />
+ <tetrahedron index="184" v0="144" v1="145" v2="1758" v3="1759" />
+ <tetrahedron index="185" v0="145" v1="1758" v2="1759" v3="1760" />
+ <tetrahedron index="186" v0="146" v1="147" v2="148" v3="1761" />
+ <tetrahedron index="187" v0="147" v1="148" v2="1761" v3="1762" />
+ <tetrahedron index="188" v0="148" v1="1761" v2="1762" v3="1763" />
+ <tetrahedron index="189" v0="31" v1="37" v2="39" v3="1646" />
+ <tetrahedron index="190" v0="37" v1="39" v2="1646" v3="1652" />
+ <tetrahedron index="191" v0="39" v1="1646" v2="1652" v3="1654" />
+ <tetrahedron index="192" v0="41" v1="43" v2="148" v3="1656" />
+ <tetrahedron index="193" v0="43" v1="148" v2="1656" v3="1658" />
+ <tetrahedron index="194" v0="148" v1="1656" v2="1658" v3="1763" />
+ <tetrahedron index="195" v0="40" v1="48" v2="149" v3="1655" />
+ <tetrahedron index="196" v0="48" v1="149" v2="1655" v3="1663" />
+ <tetrahedron index="197" v0="149" v1="1655" v2="1663" v3="1764" />
+ <tetrahedron index="198" v0="38" v1="40" v2="149" v3="1653" />
+ <tetrahedron index="199" v0="40" v1="149" v2="1653" v3="1655" />
+ <tetrahedron index="200" v0="149" v1="1653" v2="1655" v3="1764" />
+ <tetrahedron index="201" v0="35" v1="36" v2="150" v3="1650" />
+ <tetrahedron index="202" v0="36" v1="150" v2="1650" v3="1651" />
+ <tetrahedron index="203" v0="150" v1="1650" v2="1651" v3="1765" />
+ <tetrahedron index="204" v0="143" v1="144" v2="151" v3="1758" />
+ <tetrahedron index="205" v0="144" v1="151" v2="1758" v3="1759" />
+ <tetrahedron index="206" v0="151" v1="1758" v2="1759" v3="1766" />
+ <tetrahedron index="207" v0="48" v1="149" v2="152" v3="1663" />
+ <tetrahedron index="208" v0="149" v1="152" v2="1663" v3="1764" />
+ <tetrahedron index="209" v0="152" v1="1663" v2="1764" v3="1767" />
+ <tetrahedron index="210" v0="153" v1="154" v2="155" v3="1768" />
+ <tetrahedron index="211" v0="154" v1="155" v2="1768" v3="1769" />
+ <tetrahedron index="212" v0="155" v1="1768" v2="1769" v3="1770" />
+ <tetrahedron index="213" v0="153" v1="154" v2="156" v3="1768" />
+ <tetrahedron index="214" v0="154" v1="156" v2="1768" v3="1769" />
+ <tetrahedron index="215" v0="156" v1="1768" v2="1769" v3="1771" />
+ <tetrahedron index="216" v0="36" v1="40" v2="55" v3="1651" />
+ <tetrahedron index="217" v0="40" v1="55" v2="1651" v3="1655" />
+ <tetrahedron index="218" v0="55" v1="1651" v2="1655" v3="1670" />
+ <tetrahedron index="219" v0="36" v1="55" v2="150" v3="1651" />
+ <tetrahedron index="220" v0="55" v1="150" v2="1651" v3="1670" />
+ <tetrahedron index="221" v0="150" v1="1651" v2="1670" v3="1765" />
+ <tetrahedron index="222" v0="53" v1="152" v2="157" v3="1668" />
+ <tetrahedron index="223" v0="152" v1="157" v2="1668" v3="1767" />
+ <tetrahedron index="224" v0="157" v1="1668" v2="1767" v3="1772" />
+ <tetrahedron index="225" v0="158" v1="159" v2="160" v3="1773" />
+ <tetrahedron index="226" v0="159" v1="160" v2="1773" v3="1774" />
+ <tetrahedron index="227" v0="160" v1="1773" v2="1774" v3="1775" />
+ <tetrahedron index="228" v0="161" v1="162" v2="163" v3="1776" />
+ <tetrahedron index="229" v0="162" v1="163" v2="1776" v3="1777" />
+ <tetrahedron index="230" v0="163" v1="1776" v2="1777" v3="1778" />
+ <tetrahedron index="231" v0="164" v1="165" v2="166" v3="1779" />
+ <tetrahedron index="232" v0="165" v1="166" v2="1779" v3="1780" />
+ <tetrahedron index="233" v0="166" v1="1779" v2="1780" v3="1781" />
+ <tetrahedron index="234" v0="167" v1="168" v2="169" v3="1782" />
+ <tetrahedron index="235" v0="168" v1="169" v2="1782" v3="1783" />
+ <tetrahedron index="236" v0="169" v1="1782" v2="1783" v3="1784" />
+ <tetrahedron index="237" v0="164" v1="166" v2="170" v3="1779" />
+ <tetrahedron index="238" v0="166" v1="170" v2="1779" v3="1781" />
+ <tetrahedron index="239" v0="170" v1="1779" v2="1781" v3="1785" />
+ <tetrahedron index="240" v0="72" v1="166" v2="170" v3="1687" />
+ <tetrahedron index="241" v0="166" v1="170" v2="1687" v3="1781" />
+ <tetrahedron index="242" v0="170" v1="1687" v2="1781" v3="1785" />
+ <tetrahedron index="243" v0="171" v1="172" v2="173" v3="1786" />
+ <tetrahedron index="244" v0="172" v1="173" v2="1786" v3="1787" />
+ <tetrahedron index="245" v0="173" v1="1786" v2="1787" v3="1788" />
+ <tetrahedron index="246" v0="174" v1="175" v2="176" v3="1789" />
+ <tetrahedron index="247" v0="175" v1="176" v2="1789" v3="1790" />
+ <tetrahedron index="248" v0="176" v1="1789" v2="1790" v3="1791" />
+ <tetrahedron index="249" v0="82" v1="172" v2="177" v3="1697" />
+ <tetrahedron index="250" v0="172" v1="177" v2="1697" v3="1787" />
+ <tetrahedron index="251" v0="177" v1="1697" v2="1787" v3="1792" />
+ <tetrahedron index="252" v0="178" v1="179" v2="180" v3="1793" />
+ <tetrahedron index="253" v0="179" v1="180" v2="1793" v3="1794" />
+ <tetrahedron index="254" v0="180" v1="1793" v2="1794" v3="1795" />
+ <tetrahedron index="255" v0="181" v1="182" v2="183" v3="1796" />
+ <tetrahedron index="256" v0="182" v1="183" v2="1796" v3="1797" />
+ <tetrahedron index="257" v0="183" v1="1796" v2="1797" v3="1798" />
+ <tetrahedron index="258" v0="184" v1="185" v2="186" v3="1799" />
+ <tetrahedron index="259" v0="185" v1="186" v2="1799" v3="1800" />
+ <tetrahedron index="260" v0="186" v1="1799" v2="1800" v3="1801" />
+ <tetrahedron index="261" v0="187" v1="188" v2="189" v3="1802" />
+ <tetrahedron index="262" v0="188" v1="189" v2="1802" v3="1803" />
+ <tetrahedron index="263" v0="189" v1="1802" v2="1803" v3="1804" />
+ <tetrahedron index="264" v0="190" v1="191" v2="192" v3="1805" />
+ <tetrahedron index="265" v0="191" v1="192" v2="1805" v3="1806" />
+ <tetrahedron index="266" v0="192" v1="1805" v2="1806" v3="1807" />
+ <tetrahedron index="267" v0="47" v1="54" v2="57" v3="1662" />
+ <tetrahedron index="268" v0="54" v1="57" v2="1662" v3="1669" />
+ <tetrahedron index="269" v0="57" v1="1662" v2="1669" v3="1672" />
+ <tetrahedron index="270" v0="95" v1="96" v2="193" v3="1710" />
+ <tetrahedron index="271" v0="96" v1="193" v2="1710" v3="1711" />
+ <tetrahedron index="272" v0="193" v1="1710" v2="1711" v3="1808" />
+ <tetrahedron index="273" v0="60" v1="194" v2="195" v3="1675" />
+ <tetrahedron index="274" v0="194" v1="195" v2="1675" v3="1809" />
+ <tetrahedron index="275" v0="195" v1="1675" v2="1809" v3="1810" />
+ <tetrahedron index="276" v0="196" v1="197" v2="198" v3="1811" />
+ <tetrahedron index="277" v0="197" v1="198" v2="1811" v3="1812" />
+ <tetrahedron index="278" v0="198" v1="1811" v2="1812" v3="1813" />
+ <tetrahedron index="279" v0="123" v1="199" v2="200" v3="1738" />
+ <tetrahedron index="280" v0="199" v1="200" v2="1738" v3="1814" />
+ <tetrahedron index="281" v0="200" v1="1738" v2="1814" v3="1815" />
+ <tetrahedron index="282" v0="201" v1="202" v2="203" v3="1816" />
+ <tetrahedron index="283" v0="202" v1="203" v2="1816" v3="1817" />
+ <tetrahedron index="284" v0="203" v1="1816" v2="1817" v3="1818" />
+ <tetrahedron index="285" v0="92" v1="93" v2="204" v3="1707" />
+ <tetrahedron index="286" v0="93" v1="204" v2="1707" v3="1708" />
+ <tetrahedron index="287" v0="204" v1="1707" v2="1708" v3="1819" />
+ <tetrahedron index="288" v0="205" v1="206" v2="207" v3="1820" />
+ <tetrahedron index="289" v0="206" v1="207" v2="1820" v3="1821" />
+ <tetrahedron index="290" v0="207" v1="1820" v2="1821" v3="1822" />
+ <tetrahedron index="291" v0="208" v1="209" v2="210" v3="1823" />
+ <tetrahedron index="292" v0="209" v1="210" v2="1823" v3="1824" />
+ <tetrahedron index="293" v0="210" v1="1823" v2="1824" v3="1825" />
+ <tetrahedron index="294" v0="211" v1="212" v2="213" v3="1826" />
+ <tetrahedron index="295" v0="212" v1="213" v2="1826" v3="1827" />
+ <tetrahedron index="296" v0="213" v1="1826" v2="1827" v3="1828" />
+ <tetrahedron index="297" v0="134" v1="214" v2="215" v3="1749" />
+ <tetrahedron index="298" v0="214" v1="215" v2="1749" v3="1829" />
+ <tetrahedron index="299" v0="215" v1="1749" v2="1829" v3="1830" />
+ <tetrahedron index="300" v0="15" v1="16" v2="18" v3="1630" />
+ <tetrahedron index="301" v0="16" v1="18" v2="1630" v3="1631" />
+ <tetrahedron index="302" v0="18" v1="1630" v2="1631" v3="1633" />
+ <tetrahedron index="303" v0="16" v1="17" v2="216" v3="1631" />
+ <tetrahedron index="304" v0="17" v1="216" v2="1631" v3="1632" />
+ <tetrahedron index="305" v0="216" v1="1631" v2="1632" v3="1831" />
+ <tetrahedron index="306" v0="217" v1="218" v2="219" v3="1832" />
+ <tetrahedron index="307" v0="218" v1="219" v2="1832" v3="1833" />
+ <tetrahedron index="308" v0="219" v1="1832" v2="1833" v3="1834" />
+ <tetrahedron index="309" v0="220" v1="221" v2="222" v3="1835" />
+ <tetrahedron index="310" v0="221" v1="222" v2="1835" v3="1836" />
+ <tetrahedron index="311" v0="222" v1="1835" v2="1836" v3="1837" />
+ <tetrahedron index="312" v0="223" v1="224" v2="225" v3="1838" />
+ <tetrahedron index="313" v0="224" v1="225" v2="1838" v3="1839" />
+ <tetrahedron index="314" v0="225" v1="1838" v2="1839" v3="1840" />
+ <tetrahedron index="315" v0="98" v1="226" v2="227" v3="1713" />
+ <tetrahedron index="316" v0="226" v1="227" v2="1713" v3="1841" />
+ <tetrahedron index="317" v0="227" v1="1713" v2="1841" v3="1842" />
+ <tetrahedron index="318" v0="208" v1="209" v2="228" v3="1823" />
+ <tetrahedron index="319" v0="209" v1="228" v2="1823" v3="1824" />
+ <tetrahedron index="320" v0="228" v1="1823" v2="1824" v3="1843" />
+ <tetrahedron index="321" v0="229" v1="230" v2="231" v3="1844" />
+ <tetrahedron index="322" v0="230" v1="231" v2="1844" v3="1845" />
+ <tetrahedron index="323" v0="231" v1="1844" v2="1845" v3="1846" />
+ <tetrahedron index="324" v0="232" v1="233" v2="234" v3="1847" />
+ <tetrahedron index="325" v0="233" v1="234" v2="1847" v3="1848" />
+ <tetrahedron index="326" v0="234" v1="1847" v2="1848" v3="1849" />
+ <tetrahedron index="327" v0="235" v1="236" v2="237" v3="1850" />
+ <tetrahedron index="328" v0="236" v1="237" v2="1850" v3="1851" />
+ <tetrahedron index="329" v0="237" v1="1850" v2="1851" v3="1852" />
+ <tetrahedron index="330" v0="106" v1="238" v2="239" v3="1721" />
+ <tetrahedron index="331" v0="238" v1="239" v2="1721" v3="1853" />
+ <tetrahedron index="332" v0="239" v1="1721" v2="1853" v3="1854" />
+ <tetrahedron index="333" v0="101" v1="106" v2="239" v3="1716" />
+ <tetrahedron index="334" v0="106" v1="239" v2="1716" v3="1721" />
+ <tetrahedron index="335" v0="239" v1="1716" v2="1721" v3="1854" />
+ <tetrahedron index="336" v0="240" v1="241" v2="242" v3="1855" />
+ <tetrahedron index="337" v0="241" v1="242" v2="1855" v3="1856" />
+ <tetrahedron index="338" v0="242" v1="1855" v2="1856" v3="1857" />
+ <tetrahedron index="339" v0="240" v1="242" v2="243" v3="1855" />
+ <tetrahedron index="340" v0="242" v1="243" v2="1855" v3="1857" />
+ <tetrahedron index="341" v0="243" v1="1855" v2="1857" v3="1858" />
+ <tetrahedron index="342" v0="244" v1="245" v2="246" v3="1859" />
+ <tetrahedron index="343" v0="245" v1="246" v2="1859" v3="1860" />
+ <tetrahedron index="344" v0="246" v1="1859" v2="1860" v3="1861" />
+ <tetrahedron index="345" v0="213" v1="247" v2="248" v3="1828" />
+ <tetrahedron index="346" v0="247" v1="248" v2="1828" v3="1862" />
+ <tetrahedron index="347" v0="248" v1="1828" v2="1862" v3="1863" />
+ <tetrahedron index="348" v0="249" v1="250" v2="251" v3="1864" />
+ <tetrahedron index="349" v0="250" v1="251" v2="1864" v3="1865" />
+ <tetrahedron index="350" v0="251" v1="1864" v2="1865" v3="1866" />
+ <tetrahedron index="351" v0="249" v1="251" v2="252" v3="1864" />
+ <tetrahedron index="352" v0="251" v1="252" v2="1864" v3="1866" />
+ <tetrahedron index="353" v0="252" v1="1864" v2="1866" v3="1867" />
+ <tetrahedron index="354" v0="14" v1="253" v2="254" v3="1629" />
+ <tetrahedron index="355" v0="253" v1="254" v2="1629" v3="1868" />
+ <tetrahedron index="356" v0="254" v1="1629" v2="1868" v3="1869" />
+ <tetrahedron index="357" v0="15" v1="17" v2="145" v3="1630" />
+ <tetrahedron index="358" v0="17" v1="145" v2="1630" v3="1632" />
+ <tetrahedron index="359" v0="145" v1="1630" v2="1632" v3="1760" />
+ <tetrahedron index="360" v0="15" v1="142" v2="145" v3="1630" />
+ <tetrahedron index="361" v0="142" v1="145" v2="1630" v3="1757" />
+ <tetrahedron index="362" v0="145" v1="1630" v2="1757" v3="1760" />
+ <tetrahedron index="363" v0="31" v1="35" v2="37" v3="1646" />
+ <tetrahedron index="364" v0="35" v1="37" v2="1646" v3="1650" />
+ <tetrahedron index="365" v0="37" v1="1646" v2="1650" v3="1652" />
+ <tetrahedron index="366" v0="28" v1="31" v2="35" v3="1643" />
+ <tetrahedron index="367" v0="31" v1="35" v2="1643" v3="1646" />
+ <tetrahedron index="368" v0="35" v1="1643" v2="1646" v3="1650" />
+ <tetrahedron index="369" v0="27" v1="28" v2="35" v3="1642" />
+ <tetrahedron index="370" v0="28" v1="35" v2="1642" v3="1643" />
+ <tetrahedron index="371" v0="35" v1="1642" v2="1643" v3="1650" />
+ <tetrahedron index="372" v0="50" v1="52" v2="156" v3="1665" />
+ <tetrahedron index="373" v0="52" v1="156" v2="1665" v3="1667" />
+ <tetrahedron index="374" v0="156" v1="1665" v2="1667" v3="1771" />
+ <tetrahedron index="375" v0="55" v1="150" v2="255" v3="1670" />
+ <tetrahedron index="376" v0="150" v1="255" v2="1670" v3="1765" />
+ <tetrahedron index="377" v0="255" v1="1670" v2="1765" v3="1870" />
+ <tetrahedron index="378" v0="256" v1="257" v2="258" v3="1871" />
+ <tetrahedron index="379" v0="257" v1="258" v2="1871" v3="1872" />
+ <tetrahedron index="380" v0="258" v1="1871" v2="1872" v3="1873" />
+ <tetrahedron index="381" v0="256" v1="258" v2="259" v3="1871" />
+ <tetrahedron index="382" v0="258" v1="259" v2="1871" v3="1873" />
+ <tetrahedron index="383" v0="259" v1="1871" v2="1873" v3="1874" />
+ <tetrahedron index="384" v0="260" v1="261" v2="262" v3="1875" />
+ <tetrahedron index="385" v0="261" v1="262" v2="1875" v3="1876" />
+ <tetrahedron index="386" v0="262" v1="1875" v2="1876" v3="1877" />
+ <tetrahedron index="387" v0="82" v1="84" v2="172" v3="1697" />
+ <tetrahedron index="388" v0="84" v1="172" v2="1697" v3="1699" />
+ <tetrahedron index="389" v0="172" v1="1697" v2="1699" v3="1787" />
+ <tetrahedron index="390" v0="86" v1="263" v2="264" v3="1701" />
+ <tetrahedron index="391" v0="263" v1="264" v2="1701" v3="1878" />
+ <tetrahedron index="392" v0="264" v1="1701" v2="1878" v3="1879" />
+ <tetrahedron index="393" v0="265" v1="266" v2="267" v3="1880" />
+ <tetrahedron index="394" v0="266" v1="267" v2="1880" v3="1881" />
+ <tetrahedron index="395" v0="267" v1="1880" v2="1881" v3="1882" />
+ <tetrahedron index="396" v0="265" v1="267" v2="268" v3="1880" />
+ <tetrahedron index="397" v0="267" v1="268" v2="1880" v3="1882" />
+ <tetrahedron index="398" v0="268" v1="1880" v2="1882" v3="1883" />
+ <tetrahedron index="399" v0="244" v1="246" v2="269" v3="1859" />
+ <tetrahedron index="400" v0="246" v1="269" v2="1859" v3="1861" />
+ <tetrahedron index="401" v0="269" v1="1859" v2="1861" v3="1884" />
+ <tetrahedron index="402" v0="211" v1="212" v2="270" v3="1826" />
+ <tetrahedron index="403" v0="212" v1="270" v2="1826" v3="1827" />
+ <tetrahedron index="404" v0="270" v1="1826" v2="1827" v3="1885" />
+ <tetrahedron index="405" v0="16" v1="141" v2="216" v3="1631" />
+ <tetrahedron index="406" v0="141" v1="216" v2="1631" v3="1756" />
+ <tetrahedron index="407" v0="216" v1="1631" v2="1756" v3="1831" />
+ <tetrahedron index="408" v0="271" v1="272" v2="273" v3="1886" />
+ <tetrahedron index="409" v0="272" v1="273" v2="1886" v3="1887" />
+ <tetrahedron index="410" v0="273" v1="1886" v2="1887" v3="1888" />
+ <tetrahedron index="411" v0="271" v1="273" v2="274" v3="1886" />
+ <tetrahedron index="412" v0="273" v1="274" v2="1886" v3="1888" />
+ <tetrahedron index="413" v0="274" v1="1886" v2="1888" v3="1889" />
+ <tetrahedron index="414" v0="17" v1="143" v2="145" v3="1632" />
+ <tetrahedron index="415" v0="143" v1="145" v2="1632" v3="1758" />
+ <tetrahedron index="416" v0="145" v1="1632" v2="1758" v3="1760" />
+ <tetrahedron index="417" v0="206" v1="275" v2="276" v3="1821" />
+ <tetrahedron index="418" v0="275" v1="276" v2="1821" v3="1890" />
+ <tetrahedron index="419" v0="276" v1="1821" v2="1890" v3="1891" />
+ <tetrahedron index="420" v0="151" v1="277" v2="278" v3="1766" />
+ <tetrahedron index="421" v0="277" v1="278" v2="1766" v3="1892" />
+ <tetrahedron index="422" v0="278" v1="1766" v2="1892" v3="1893" />
+ <tetrahedron index="423" v0="144" v1="151" v2="278" v3="1759" />
+ <tetrahedron index="424" v0="151" v1="278" v2="1759" v3="1766" />
+ <tetrahedron index="425" v0="278" v1="1759" v2="1766" v3="1893" />
+ <tetrahedron index="426" v0="279" v1="280" v2="281" v3="1894" />
+ <tetrahedron index="427" v0="280" v1="281" v2="1894" v3="1895" />
+ <tetrahedron index="428" v0="281" v1="1894" v2="1895" v3="1896" />
+ <tetrahedron index="429" v0="282" v1="283" v2="284" v3="1897" />
+ <tetrahedron index="430" v0="283" v1="284" v2="1897" v3="1898" />
+ <tetrahedron index="431" v0="284" v1="1897" v2="1898" v3="1899" />
+ <tetrahedron index="432" v0="285" v1="286" v2="287" v3="1900" />
+ <tetrahedron index="433" v0="286" v1="287" v2="1900" v3="1901" />
+ <tetrahedron index="434" v0="287" v1="1900" v2="1901" v3="1902" />
+ <tetrahedron index="435" v0="288" v1="289" v2="290" v3="1903" />
+ <tetrahedron index="436" v0="289" v1="290" v2="1903" v3="1904" />
+ <tetrahedron index="437" v0="290" v1="1903" v2="1904" v3="1905" />
+ <tetrahedron index="438" v0="291" v1="292" v2="293" v3="1906" />
+ <tetrahedron index="439" v0="292" v1="293" v2="1906" v3="1907" />
+ <tetrahedron index="440" v0="293" v1="1906" v2="1907" v3="1908" />
+ <tetrahedron index="441" v0="291" v1="293" v2="294" v3="1906" />
+ <tetrahedron index="442" v0="293" v1="294" v2="1906" v3="1908" />
+ <tetrahedron index="443" v0="294" v1="1906" v2="1908" v3="1909" />
+ <tetrahedron index="444" v0="12" v1="14" v2="139" v3="1627" />
+ <tetrahedron index="445" v0="14" v1="139" v2="1627" v3="1629" />
+ <tetrahedron index="446" v0="139" v1="1627" v2="1629" v3="1754" />
+ <tetrahedron index="447" v0="233" v1="234" v2="295" v3="1848" />
+ <tetrahedron index="448" v0="234" v1="295" v2="1848" v3="1849" />
+ <tetrahedron index="449" v0="295" v1="1848" v2="1849" v3="1910" />
+ <tetrahedron index="450" v0="296" v1="297" v2="298" v3="1911" />
+ <tetrahedron index="451" v0="297" v1="298" v2="1911" v3="1912" />
+ <tetrahedron index="452" v0="298" v1="1911" v2="1912" v3="1913" />
+ <tetrahedron index="453" v0="296" v1="298" v2="299" v3="1911" />
+ <tetrahedron index="454" v0="298" v1="299" v2="1911" v3="1913" />
+ <tetrahedron index="455" v0="299" v1="1911" v2="1913" v3="1914" />
+ <tetrahedron index="456" v0="27" v1="35" v2="150" v3="1642" />
+ <tetrahedron index="457" v0="35" v1="150" v2="1642" v3="1650" />
+ <tetrahedron index="458" v0="150" v1="1642" v2="1650" v3="1765" />
+ <tetrahedron index="459" v0="289" v1="290" v2="300" v3="1904" />
+ <tetrahedron index="460" v0="290" v1="300" v2="1904" v3="1905" />
+ <tetrahedron index="461" v0="300" v1="1904" v2="1905" v3="1915" />
+ <tetrahedron index="462" v0="301" v1="302" v2="303" v3="1916" />
+ <tetrahedron index="463" v0="302" v1="303" v2="1916" v3="1917" />
+ <tetrahedron index="464" v0="303" v1="1916" v2="1917" v3="1918" />
+ <tetrahedron index="465" v0="304" v1="305" v2="306" v3="1919" />
+ <tetrahedron index="466" v0="305" v1="306" v2="1919" v3="1920" />
+ <tetrahedron index="467" v0="306" v1="1919" v2="1920" v3="1921" />
+ <tetrahedron index="468" v0="307" v1="308" v2="309" v3="1922" />
+ <tetrahedron index="469" v0="308" v1="309" v2="1922" v3="1923" />
+ <tetrahedron index="470" v0="309" v1="1922" v2="1923" v3="1924" />
+ <tetrahedron index="471" v0="297" v1="310" v2="311" v3="1912" />
+ <tetrahedron index="472" v0="310" v1="311" v2="1912" v3="1925" />
+ <tetrahedron index="473" v0="311" v1="1912" v2="1925" v3="1926" />
+ <tetrahedron index="474" v0="181" v1="293" v2="312" v3="1796" />
+ <tetrahedron index="475" v0="293" v1="312" v2="1796" v3="1908" />
+ <tetrahedron index="476" v0="312" v1="1796" v2="1908" v3="1927" />
+ <tetrahedron index="477" v0="232" v1="233" v2="313" v3="1847" />
+ <tetrahedron index="478" v0="233" v1="313" v2="1847" v3="1848" />
+ <tetrahedron index="479" v0="313" v1="1847" v2="1848" v3="1928" />
+ <tetrahedron index="480" v0="4" v1="5" v2="314" v3="1619" />
+ <tetrahedron index="481" v0="5" v1="314" v2="1619" v3="1620" />
+ <tetrahedron index="482" v0="314" v1="1619" v2="1620" v3="1929" />
+ <tetrahedron index="483" v0="315" v1="316" v2="317" v3="1930" />
+ <tetrahedron index="484" v0="316" v1="317" v2="1930" v3="1931" />
+ <tetrahedron index="485" v0="317" v1="1930" v2="1931" v3="1932" />
+ <tetrahedron index="486" v0="140" v1="318" v2="319" v3="1755" />
+ <tetrahedron index="487" v0="318" v1="319" v2="1755" v3="1933" />
+ <tetrahedron index="488" v0="319" v1="1755" v2="1933" v3="1934" />
+ <tetrahedron index="489" v0="320" v1="321" v2="322" v3="1935" />
+ <tetrahedron index="490" v0="321" v1="322" v2="1935" v3="1936" />
+ <tetrahedron index="491" v0="322" v1="1935" v2="1936" v3="1937" />
+ <tetrahedron index="492" v0="33" v1="34" v2="323" v3="1648" />
+ <tetrahedron index="493" v0="34" v1="323" v2="1648" v3="1649" />
+ <tetrahedron index="494" v0="323" v1="1648" v2="1649" v3="1938" />
+ <tetrahedron index="495" v0="60" v1="194" v2="324" v3="1675" />
+ <tetrahedron index="496" v0="194" v1="324" v2="1675" v3="1809" />
+ <tetrahedron index="497" v0="324" v1="1675" v2="1809" v3="1939" />
+ <tetrahedron index="498" v0="219" v1="325" v2="326" v3="1834" />
+ <tetrahedron index="499" v0="325" v1="326" v2="1834" v3="1940" />
+ <tetrahedron index="500" v0="326" v1="1834" v2="1940" v3="1941" />
+ <tetrahedron index="501" v0="325" v1="326" v2="327" v3="1940" />
+ <tetrahedron index="502" v0="326" v1="327" v2="1940" v3="1941" />
+ <tetrahedron index="503" v0="327" v1="1940" v2="1941" v3="1942" />
+ <tetrahedron index="504" v0="220" v1="222" v2="303" v3="1835" />
+ <tetrahedron index="505" v0="222" v1="303" v2="1835" v3="1837" />
+ <tetrahedron index="506" v0="303" v1="1835" v2="1837" v3="1918" />
+ <tetrahedron index="507" v0="328" v1="329" v2="330" v3="1943" />
+ <tetrahedron index="508" v0="329" v1="330" v2="1943" v3="1944" />
+ <tetrahedron index="509" v0="330" v1="1943" v2="1944" v3="1945" />
+ <tetrahedron index="510" v0="85" v1="86" v2="263" v3="1700" />
+ <tetrahedron index="511" v0="86" v1="263" v2="1700" v3="1701" />
+ <tetrahedron index="512" v0="263" v1="1700" v2="1701" v3="1878" />
+ <tetrahedron index="513" v0="263" v1="264" v2="331" v3="1878" />
+ <tetrahedron index="514" v0="264" v1="331" v2="1878" v3="1879" />
+ <tetrahedron index="515" v0="331" v1="1878" v2="1879" v3="1946" />
+ <tetrahedron index="516" v0="264" v1="331" v2="332" v3="1879" />
+ <tetrahedron index="517" v0="331" v1="332" v2="1879" v3="1946" />
+ <tetrahedron index="518" v0="332" v1="1879" v2="1946" v3="1947" />
+ <tetrahedron index="519" v0="333" v1="334" v2="335" v3="1948" />
+ <tetrahedron index="520" v0="334" v1="335" v2="1948" v3="1949" />
+ <tetrahedron index="521" v0="335" v1="1948" v2="1949" v3="1950" />
+ <tetrahedron index="522" v0="51" v1="53" v2="152" v3="1666" />
+ <tetrahedron index="523" v0="53" v1="152" v2="1666" v3="1668" />
+ <tetrahedron index="524" v0="152" v1="1666" v2="1668" v3="1767" />
+ <tetrahedron index="525" v0="48" v1="51" v2="152" v3="1663" />
+ <tetrahedron index="526" v0="51" v1="152" v2="1663" v3="1666" />
+ <tetrahedron index="527" v0="152" v1="1663" v2="1666" v3="1767" />
+ <tetrahedron index="528" v0="336" v1="337" v2="338" v3="1951" />
+ <tetrahedron index="529" v0="337" v1="338" v2="1951" v3="1952" />
+ <tetrahedron index="530" v0="338" v1="1951" v2="1952" v3="1953" />
+ <tetrahedron index="531" v0="336" v1="338" v2="339" v3="1951" />
+ <tetrahedron index="532" v0="338" v1="339" v2="1951" v3="1953" />
+ <tetrahedron index="533" v0="339" v1="1951" v2="1953" v3="1954" />
+ <tetrahedron index="534" v0="270" v1="340" v2="341" v3="1885" />
+ <tetrahedron index="535" v0="340" v1="341" v2="1885" v3="1955" />
+ <tetrahedron index="536" v0="341" v1="1885" v2="1955" v3="1956" />
+ <tetrahedron index="537" v0="260" v1="262" v2="342" v3="1875" />
+ <tetrahedron index="538" v0="262" v1="342" v2="1875" v3="1877" />
+ <tetrahedron index="539" v0="342" v1="1875" v2="1877" v3="1957" />
+ <tetrahedron index="540" v0="137" v1="343" v2="344" v3="1752" />
+ <tetrahedron index="541" v0="343" v1="344" v2="1752" v3="1958" />
+ <tetrahedron index="542" v0="344" v1="1752" v2="1958" v3="1959" />
+ <tetrahedron index="543" v0="345" v1="346" v2="347" v3="1960" />
+ <tetrahedron index="544" v0="346" v1="347" v2="1960" v3="1961" />
+ <tetrahedron index="545" v0="347" v1="1960" v2="1961" v3="1962" />
+ <tetrahedron index="546" v0="348" v1="349" v2="350" v3="1963" />
+ <tetrahedron index="547" v0="349" v1="350" v2="1963" v3="1964" />
+ <tetrahedron index="548" v0="350" v1="1963" v2="1964" v3="1965" />
+ <tetrahedron index="549" v0="351" v1="352" v2="353" v3="1966" />
+ <tetrahedron index="550" v0="352" v1="353" v2="1966" v3="1967" />
+ <tetrahedron index="551" v0="353" v1="1966" v2="1967" v3="1968" />
+ <tetrahedron index="552" v0="3" v1="5" v2="114" v3="1618" />
+ <tetrahedron index="553" v0="5" v1="114" v2="1618" v3="1620" />
+ <tetrahedron index="554" v0="114" v1="1618" v2="1620" v3="1729" />
+ <tetrahedron index="555" v0="117" v1="120" v2="354" v3="1732" />
+ <tetrahedron index="556" v0="120" v1="354" v2="1732" v3="1735" />
+ <tetrahedron index="557" v0="354" v1="1732" v2="1735" v3="1969" />
+ <tetrahedron index="558" v0="318" v1="355" v2="356" v3="1933" />
+ <tetrahedron index="559" v0="355" v1="356" v2="1933" v3="1970" />
+ <tetrahedron index="560" v0="356" v1="1933" v2="1970" v3="1971" />
+ <tetrahedron index="561" v0="278" v1="357" v2="358" v3="1893" />
+ <tetrahedron index="562" v0="357" v1="358" v2="1893" v3="1972" />
+ <tetrahedron index="563" v0="358" v1="1893" v2="1972" v3="1973" />
+ <tetrahedron index="564" v0="260" v1="261" v2="359" v3="1875" />
+ <tetrahedron index="565" v0="261" v1="359" v2="1875" v3="1876" />
+ <tetrahedron index="566" v0="359" v1="1875" v2="1876" v3="1974" />
+ <tetrahedron index="567" v0="360" v1="361" v2="362" v3="1975" />
+ <tetrahedron index="568" v0="361" v1="362" v2="1975" v3="1976" />
+ <tetrahedron index="569" v0="362" v1="1975" v2="1976" v3="1977" />
+ <tetrahedron index="570" v0="363" v1="364" v2="365" v3="1978" />
+ <tetrahedron index="571" v0="364" v1="365" v2="1978" v3="1979" />
+ <tetrahedron index="572" v0="365" v1="1978" v2="1979" v3="1980" />
+ <tetrahedron index="573" v0="364" v1="365" v2="366" v3="1979" />
+ <tetrahedron index="574" v0="365" v1="366" v2="1979" v3="1980" />
+ <tetrahedron index="575" v0="366" v1="1979" v2="1980" v3="1981" />
+ <tetrahedron index="576" v0="367" v1="368" v2="369" v3="1982" />
+ <tetrahedron index="577" v0="368" v1="369" v2="1982" v3="1983" />
+ <tetrahedron index="578" v0="369" v1="1982" v2="1983" v3="1984" />
+ <tetrahedron index="579" v0="370" v1="371" v2="372" v3="1985" />
+ <tetrahedron index="580" v0="371" v1="372" v2="1985" v3="1986" />
+ <tetrahedron index="581" v0="372" v1="1985" v2="1986" v3="1987" />
+ <tetrahedron index="582" v0="41" v1="148" v2="373" v3="1656" />
+ <tetrahedron index="583" v0="148" v1="373" v2="1656" v3="1763" />
+ <tetrahedron index="584" v0="373" v1="1656" v2="1763" v3="1988" />
+ <tetrahedron index="585" v0="374" v1="375" v2="376" v3="1989" />
+ <tetrahedron index="586" v0="375" v1="376" v2="1989" v3="1990" />
+ <tetrahedron index="587" v0="376" v1="1989" v2="1990" v3="1991" />
+ <tetrahedron index="588" v0="64" v1="67" v2="377" v3="1679" />
+ <tetrahedron index="589" v0="67" v1="377" v2="1679" v3="1682" />
+ <tetrahedron index="590" v0="377" v1="1679" v2="1682" v3="1992" />
+ <tetrahedron index="591" v0="350" v1="378" v2="379" v3="1965" />
+ <tetrahedron index="592" v0="378" v1="379" v2="1965" v3="1993" />
+ <tetrahedron index="593" v0="379" v1="1965" v2="1993" v3="1994" />
+ <tetrahedron index="594" v0="333" v1="380" v2="381" v3="1948" />
+ <tetrahedron index="595" v0="380" v1="381" v2="1948" v3="1995" />
+ <tetrahedron index="596" v0="381" v1="1948" v2="1995" v3="1996" />
+ <tetrahedron index="597" v0="382" v1="383" v2="384" v3="1997" />
+ <tetrahedron index="598" v0="383" v1="384" v2="1997" v3="1998" />
+ <tetrahedron index="599" v0="384" v1="1997" v2="1998" v3="1999" />
+ <tetrahedron index="600" v0="117" v1="120" v2="306" v3="1732" />
+ <tetrahedron index="601" v0="120" v1="306" v2="1732" v3="1735" />
+ <tetrahedron index="602" v0="306" v1="1732" v2="1735" v3="1921" />
+ <tetrahedron index="603" v0="171" v1="301" v2="385" v3="1786" />
+ <tetrahedron index="604" v0="301" v1="385" v2="1786" v3="1916" />
+ <tetrahedron index="605" v0="385" v1="1786" v2="1916" v3="2000" />
+ <tetrahedron index="606" v0="86" v1="264" v2="386" v3="1701" />
+ <tetrahedron index="607" v0="264" v1="386" v2="1701" v3="1879" />
+ <tetrahedron index="608" v0="386" v1="1701" v2="1879" v3="2001" />
+ <tetrahedron index="609" v0="363" v1="364" v2="387" v3="1978" />
+ <tetrahedron index="610" v0="364" v1="387" v2="1978" v3="1979" />
+ <tetrahedron index="611" v0="387" v1="1978" v2="1979" v3="2002" />
+ <tetrahedron index="612" v0="240" v1="241" v2="388" v3="1855" />
+ <tetrahedron index="613" v0="241" v1="388" v2="1855" v3="1856" />
+ <tetrahedron index="614" v0="388" v1="1855" v2="1856" v3="2003" />
+ <tetrahedron index="615" v0="8" v1="389" v2="390" v3="1623" />
+ <tetrahedron index="616" v0="389" v1="390" v2="1623" v3="2004" />
+ <tetrahedron index="617" v0="390" v1="1623" v2="2004" v3="2005" />
+ <tetrahedron index="618" v0="6" v1="8" v2="390" v3="1621" />
+ <tetrahedron index="619" v0="8" v1="390" v2="1621" v3="1623" />
+ <tetrahedron index="620" v0="390" v1="1621" v2="1623" v3="2005" />
+ <tetrahedron index="621" v0="277" v1="357" v2="391" v3="1892" />
+ <tetrahedron index="622" v0="357" v1="391" v2="1892" v3="1972" />
+ <tetrahedron index="623" v0="391" v1="1892" v2="1972" v3="2006" />
+ <tetrahedron index="624" v0="277" v1="278" v2="357" v3="1892" />
+ <tetrahedron index="625" v0="278" v1="357" v2="1892" v3="1893" />
+ <tetrahedron index="626" v0="357" v1="1892" v2="1893" v3="1972" />
+ <tetrahedron index="627" v0="392" v1="393" v2="394" v3="2007" />
+ <tetrahedron index="628" v0="393" v1="394" v2="2007" v3="2008" />
+ <tetrahedron index="629" v0="394" v1="2007" v2="2008" v3="2009" />
+ <tetrahedron index="630" v0="78" v1="395" v2="396" v3="1693" />
+ <tetrahedron index="631" v0="395" v1="396" v2="1693" v3="2010" />
+ <tetrahedron index="632" v0="396" v1="1693" v2="2010" v3="2011" />
+ <tetrahedron index="633" v0="80" v1="342" v2="397" v3="1695" />
+ <tetrahedron index="634" v0="342" v1="397" v2="1695" v3="1957" />
+ <tetrahedron index="635" v0="397" v1="1695" v2="1957" v3="2012" />
+ <tetrahedron index="636" v0="262" v1="342" v2="397" v3="1877" />
+ <tetrahedron index="637" v0="342" v1="397" v2="1877" v3="1957" />
+ <tetrahedron index="638" v0="397" v1="1877" v2="1957" v3="2012" />
+ <tetrahedron index="639" v0="80" v1="397" v2="398" v3="1695" />
+ <tetrahedron index="640" v0="397" v1="398" v2="1695" v3="2012" />
+ <tetrahedron index="641" v0="398" v1="1695" v2="2012" v3="2013" />
+ <tetrahedron index="642" v0="80" v1="81" v2="398" v3="1695" />
+ <tetrahedron index="643" v0="81" v1="398" v2="1695" v3="1696" />
+ <tetrahedron index="644" v0="398" v1="1695" v2="1696" v3="2013" />
+ <tetrahedron index="645" v0="399" v1="400" v2="401" v3="2014" />
+ <tetrahedron index="646" v0="400" v1="401" v2="2014" v3="2015" />
+ <tetrahedron index="647" v0="401" v1="2014" v2="2015" v3="2016" />
+ <tetrahedron index="648" v0="345" v1="399" v2="401" v3="1960" />
+ <tetrahedron index="649" v0="399" v1="401" v2="1960" v3="2014" />
+ <tetrahedron index="650" v0="401" v1="1960" v2="2014" v3="2016" />
+ <tetrahedron index="651" v0="102" v1="402" v2="403" v3="1717" />
+ <tetrahedron index="652" v0="402" v1="403" v2="1717" v3="2017" />
+ <tetrahedron index="653" v0="403" v1="1717" v2="2017" v3="2018" />
+ <tetrahedron index="654" v0="101" v1="102" v2="402" v3="1716" />
+ <tetrahedron index="655" v0="102" v1="402" v2="1716" v3="1717" />
+ <tetrahedron index="656" v0="402" v1="1716" v2="1717" v3="2017" />
+ <tetrahedron index="657" v0="240" v1="243" v2="404" v3="1855" />
+ <tetrahedron index="658" v0="243" v1="404" v2="1855" v3="1858" />
+ <tetrahedron index="659" v0="404" v1="1855" v2="1858" v3="2019" />
+ <tetrahedron index="660" v0="247" v1="248" v2="405" v3="1862" />
+ <tetrahedron index="661" v0="248" v1="405" v2="1862" v3="1863" />
+ <tetrahedron index="662" v0="405" v1="1862" v2="1863" v3="2020" />
+ <tetrahedron index="663" v0="213" v1="248" v2="406" v3="1828" />
+ <tetrahedron index="664" v0="248" v1="406" v2="1828" v3="1863" />
+ <tetrahedron index="665" v0="406" v1="1828" v2="1863" v3="2021" />
+ <tetrahedron index="666" v0="211" v1="270" v2="334" v3="1826" />
+ <tetrahedron index="667" v0="270" v1="334" v2="1826" v3="1885" />
+ <tetrahedron index="668" v0="334" v1="1826" v2="1885" v3="1949" />
+ <tetrahedron index="669" v0="407" v1="408" v2="409" v3="2022" />
+ <tetrahedron index="670" v0="408" v1="409" v2="2022" v3="2023" />
+ <tetrahedron index="671" v0="409" v1="2022" v2="2023" v3="2024" />
+ <tetrahedron index="672" v0="407" v1="409" v2="410" v3="2022" />
+ <tetrahedron index="673" v0="409" v1="410" v2="2022" v3="2024" />
+ <tetrahedron index="674" v0="410" v1="2022" v2="2024" v3="2025" />
+ <tetrahedron index="675" v0="14" v1="254" v2="343" v3="1629" />
+ <tetrahedron index="676" v0="254" v1="343" v2="1629" v3="1869" />
+ <tetrahedron index="677" v0="343" v1="1629" v2="1869" v3="1958" />
+ <tetrahedron index="678" v0="137" v1="139" v2="343" v3="1752" />
+ <tetrahedron index="679" v0="139" v1="343" v2="1752" v3="1754" />
+ <tetrahedron index="680" v0="343" v1="1752" v2="1754" v3="1958" />
+ <tetrahedron index="681" v0="14" v1="139" v2="343" v3="1629" />
+ <tetrahedron index="682" v0="139" v1="343" v2="1629" v3="1754" />
+ <tetrahedron index="683" v0="343" v1="1629" v2="1754" v3="1958" />
+ <tetrahedron index="684" v0="205" v1="206" v2="276" v3="1820" />
+ <tetrahedron index="685" v0="206" v1="276" v2="1820" v3="1821" />
+ <tetrahedron index="686" v0="276" v1="1820" v2="1821" v3="1891" />
+ <tetrahedron index="687" v0="325" v1="327" v2="411" v3="1940" />
+ <tetrahedron index="688" v0="327" v1="411" v2="1940" v3="1942" />
+ <tetrahedron index="689" v0="411" v1="1940" v2="1942" v3="2026" />
+ <tetrahedron index="690" v0="64" v1="377" v2="412" v3="1679" />
+ <tetrahedron index="691" v0="377" v1="412" v2="1679" v3="1992" />
+ <tetrahedron index="692" v0="412" v1="1679" v2="1992" v3="2027" />
+ <tetrahedron index="693" v0="171" v1="172" v2="385" v3="1786" />
+ <tetrahedron index="694" v0="172" v1="385" v2="1786" v3="1787" />
+ <tetrahedron index="695" v0="385" v1="1786" v2="1787" v3="2000" />
+ <tetrahedron index="696" v0="172" v1="177" v2="385" v3="1787" />
+ <tetrahedron index="697" v0="177" v1="385" v2="1787" v3="1792" />
+ <tetrahedron index="698" v0="385" v1="1787" v2="1792" v3="2000" />
+ <tetrahedron index="699" v0="175" v1="398" v2="413" v3="1790" />
+ <tetrahedron index="700" v0="398" v1="413" v2="1790" v3="2013" />
+ <tetrahedron index="701" v0="413" v1="1790" v2="2013" v3="2028" />
+ <tetrahedron index="702" v0="175" v1="178" v2="179" v3="1790" />
+ <tetrahedron index="703" v0="178" v1="179" v2="1790" v3="1793" />
+ <tetrahedron index="704" v0="179" v1="1790" v2="1793" v3="1794" />
+ <tetrahedron index="705" v0="414" v1="415" v2="416" v3="2029" />
+ <tetrahedron index="706" v0="415" v1="416" v2="2029" v3="2030" />
+ <tetrahedron index="707" v0="416" v1="2029" v2="2030" v3="2031" />
+ <tetrahedron index="708" v0="417" v1="418" v2="419" v3="2032" />
+ <tetrahedron index="709" v0="418" v1="419" v2="2032" v3="2033" />
+ <tetrahedron index="710" v0="419" v1="2032" v2="2033" v3="2034" />
+ <tetrahedron index="711" v0="203" v1="417" v2="419" v3="1818" />
+ <tetrahedron index="712" v0="417" v1="419" v2="1818" v3="2032" />
+ <tetrahedron index="713" v0="419" v1="1818" v2="2032" v3="2034" />
+ <tetrahedron index="714" v0="119" v1="125" v2="420" v3="1734" />
+ <tetrahedron index="715" v0="125" v1="420" v2="1734" v3="1740" />
+ <tetrahedron index="716" v0="420" v1="1734" v2="1740" v3="2035" />
+ <tetrahedron index="717" v0="119" v1="120" v2="420" v3="1734" />
+ <tetrahedron index="718" v0="120" v1="420" v2="1734" v3="1735" />
+ <tetrahedron index="719" v0="420" v1="1734" v2="1735" v3="2035" />
+ <tetrahedron index="720" v0="421" v1="422" v2="423" v3="2036" />
+ <tetrahedron index="721" v0="422" v1="423" v2="2036" v3="2037" />
+ <tetrahedron index="722" v0="423" v1="2036" v2="2037" v3="2038" />
+ <tetrahedron index="723" v0="233" v1="313" v2="424" v3="1848" />
+ <tetrahedron index="724" v0="313" v1="424" v2="1848" v3="1928" />
+ <tetrahedron index="725" v0="424" v1="1848" v2="1928" v3="2039" />
+ <tetrahedron index="726" v0="403" v1="425" v2="426" v3="2018" />
+ <tetrahedron index="727" v0="425" v1="426" v2="2018" v3="2040" />
+ <tetrahedron index="728" v0="426" v1="2018" v2="2040" v3="2041" />
+ <tetrahedron index="729" v0="1" v1="2" v2="427" v3="1616" />
+ <tetrahedron index="730" v0="2" v1="427" v2="1616" v3="1617" />
+ <tetrahedron index="731" v0="427" v1="1616" v2="1617" v3="2042" />
+ <tetrahedron index="732" v0="428" v1="429" v2="430" v3="2043" />
+ <tetrahedron index="733" v0="429" v1="430" v2="2043" v3="2044" />
+ <tetrahedron index="734" v0="430" v1="2043" v2="2044" v3="2045" />
+ <tetrahedron index="735" v0="187" v1="340" v2="431" v3="1802" />
+ <tetrahedron index="736" v0="340" v1="431" v2="1802" v3="1955" />
+ <tetrahedron index="737" v0="431" v1="1802" v2="1955" v3="2046" />
+ <tetrahedron index="738" v0="349" v1="432" v2="433" v3="1964" />
+ <tetrahedron index="739" v0="432" v1="433" v2="1964" v3="2047" />
+ <tetrahedron index="740" v0="433" v1="1964" v2="2047" v3="2048" />
+ <tetrahedron index="741" v0="434" v1="435" v2="436" v3="2049" />
+ <tetrahedron index="742" v0="435" v1="436" v2="2049" v3="2050" />
+ <tetrahedron index="743" v0="436" v1="2049" v2="2050" v3="2051" />
+ <tetrahedron index="744" v0="434" v1="436" v2="437" v3="2049" />
+ <tetrahedron index="745" v0="436" v1="437" v2="2049" v3="2051" />
+ <tetrahedron index="746" v0="437" v1="2049" v2="2051" v3="2052" />
+ <tetrahedron index="747" v0="438" v1="439" v2="440" v3="2053" />
+ <tetrahedron index="748" v0="439" v1="440" v2="2053" v3="2054" />
+ <tetrahedron index="749" v0="440" v1="2053" v2="2054" v3="2055" />
+ <tetrahedron index="750" v0="438" v1="440" v2="441" v3="2053" />
+ <tetrahedron index="751" v0="440" v1="441" v2="2053" v3="2055" />
+ <tetrahedron index="752" v0="441" v1="2053" v2="2055" v3="2056" />
+ <tetrahedron index="753" v0="6" v1="7" v2="245" v3="1621" />
+ <tetrahedron index="754" v0="7" v1="245" v2="1621" v3="1622" />
+ <tetrahedron index="755" v0="245" v1="1621" v2="1622" v3="1860" />
+ <tetrahedron index="756" v0="7" v1="244" v2="245" v3="1622" />
+ <tetrahedron index="757" v0="244" v1="245" v2="1622" v3="1859" />
+ <tetrahedron index="758" v0="245" v1="1622" v2="1859" v3="1860" />
+ <tetrahedron index="759" v0="351" v1="352" v2="442" v3="1966" />
+ <tetrahedron index="760" v0="352" v1="442" v2="1966" v3="1967" />
+ <tetrahedron index="761" v0="442" v1="1966" v2="1967" v3="2057" />
+ <tetrahedron index="762" v0="120" v1="354" v2="420" v3="1735" />
+ <tetrahedron index="763" v0="354" v1="420" v2="1735" v3="1969" />
+ <tetrahedron index="764" v0="420" v1="1735" v2="1969" v3="2035" />
+ <tetrahedron index="765" v0="211" v1="334" v2="335" v3="1826" />
+ <tetrahedron index="766" v0="334" v1="335" v2="1826" v3="1949" />
+ <tetrahedron index="767" v0="335" v1="1826" v2="1949" v3="1950" />
+ <tetrahedron index="768" v0="273" v1="274" v2="320" v3="1888" />
+ <tetrahedron index="769" v0="274" v1="320" v2="1888" v3="1889" />
+ <tetrahedron index="770" v0="320" v1="1888" v2="1889" v3="1935" />
+ <tetrahedron index="771" v0="206" v1="207" v2="443" v3="1821" />
+ <tetrahedron index="772" v0="207" v1="443" v2="1821" v3="1822" />
+ <tetrahedron index="773" v0="443" v1="1821" v2="1822" v3="2058" />
+ <tetrahedron index="774" v0="69" v1="71" v2="444" v3="1684" />
+ <tetrahedron index="775" v0="71" v1="444" v2="1684" v3="1686" />
+ <tetrahedron index="776" v0="444" v1="1684" v2="1686" v3="2059" />
+ <tetrahedron index="777" v0="117" v1="354" v2="445" v3="1732" />
+ <tetrahedron index="778" v0="354" v1="445" v2="1732" v3="1969" />
+ <tetrahedron index="779" v0="445" v1="1732" v2="1969" v3="2060" />
+ <tetrahedron index="780" v0="132" v1="133" v2="446" v3="1747" />
+ <tetrahedron index="781" v0="133" v1="446" v2="1747" v3="1748" />
+ <tetrahedron index="782" v0="446" v1="1747" v2="1748" v3="2061" />
+ <tetrahedron index="783" v0="282" v1="447" v2="448" v3="1897" />
+ <tetrahedron index="784" v0="447" v1="448" v2="1897" v3="2062" />
+ <tetrahedron index="785" v0="448" v1="1897" v2="2062" v3="2063" />
+ <tetrahedron index="786" v0="175" v1="398" v2="449" v3="1790" />
+ <tetrahedron index="787" v0="398" v1="449" v2="1790" v3="2013" />
+ <tetrahedron index="788" v0="449" v1="1790" v2="2013" v3="2064" />
+ <tetrahedron index="789" v0="175" v1="176" v2="449" v3="1790" />
+ <tetrahedron index="790" v0="176" v1="449" v2="1790" v3="1791" />
+ <tetrahedron index="791" v0="449" v1="1790" v2="1791" v3="2064" />
+ <tetrahedron index="792" v0="331" v1="450" v2="451" v3="1946" />
+ <tetrahedron index="793" v0="450" v1="451" v2="1946" v3="2065" />
+ <tetrahedron index="794" v0="451" v1="1946" v2="2065" v3="2066" />
+ <tetrahedron index="795" v0="120" v1="121" v2="306" v3="1735" />
+ <tetrahedron index="796" v0="121" v1="306" v2="1735" v3="1736" />
+ <tetrahedron index="797" v0="306" v1="1735" v2="1736" v3="1921" />
+ <tetrahedron index="798" v0="103" v1="105" v2="384" v3="1718" />
+ <tetrahedron index="799" v0="105" v1="384" v2="1718" v3="1720" />
+ <tetrahedron index="800" v0="384" v1="1718" v2="1720" v3="1999" />
+ <tetrahedron index="801" v0="285" v1="287" v2="452" v3="1900" />
+ <tetrahedron index="802" v0="287" v1="452" v2="1900" v3="1902" />
+ <tetrahedron index="803" v0="452" v1="1900" v2="1902" v3="2067" />
+ <tetrahedron index="804" v0="258" v1="453" v2="454" v3="1873" />
+ <tetrahedron index="805" v0="453" v1="454" v2="1873" v3="2068" />
+ <tetrahedron index="806" v0="454" v1="1873" v2="2068" v3="2069" />
+ <tetrahedron index="807" v0="78" v1="395" v2="455" v3="1693" />
+ <tetrahedron index="808" v0="395" v1="455" v2="1693" v3="2010" />
+ <tetrahedron index="809" v0="455" v1="1693" v2="2010" v3="2070" />
+ <tetrahedron index="810" v0="87" v1="330" v2="456" v3="1702" />
+ <tetrahedron index="811" v0="330" v1="456" v2="1702" v3="1945" />
+ <tetrahedron index="812" v0="456" v1="1702" v2="1945" v3="2071" />
+ <tetrahedron index="813" v0="220" v1="221" v2="455" v3="1835" />
+ <tetrahedron index="814" v0="221" v1="455" v2="1835" v3="1836" />
+ <tetrahedron index="815" v0="455" v1="1835" v2="1836" v3="2070" />
+ <tetrahedron index="816" v0="92" v1="204" v2="457" v3="1707" />
+ <tetrahedron index="817" v0="204" v1="457" v2="1707" v3="1819" />
+ <tetrahedron index="818" v0="457" v1="1707" v2="1819" v3="2072" />
+ <tetrahedron index="819" v0="1" v1="383" v2="427" v3="1616" />
+ <tetrahedron index="820" v0="383" v1="427" v2="1616" v3="1998" />
+ <tetrahedron index="821" v0="427" v1="1616" v2="1998" v3="2042" />
+ <tetrahedron index="822" v0="116" v1="117" v2="306" v3="1731" />
+ <tetrahedron index="823" v0="117" v1="306" v2="1731" v3="1732" />
+ <tetrahedron index="824" v0="306" v1="1731" v2="1732" v3="1921" />
+ <tetrahedron index="825" v0="144" v1="145" v2="458" v3="1759" />
+ <tetrahedron index="826" v0="145" v1="458" v2="1759" v3="1760" />
+ <tetrahedron index="827" v0="458" v1="1759" v2="1760" v3="2073" />
+ <tetrahedron index="828" v0="4" v1="459" v2="460" v3="1619" />
+ <tetrahedron index="829" v0="459" v1="460" v2="1619" v3="2074" />
+ <tetrahedron index="830" v0="460" v1="1619" v2="2074" v3="2075" />
+ <tetrahedron index="831" v0="123" v1="124" v2="246" v3="1738" />
+ <tetrahedron index="832" v0="124" v1="246" v2="1738" v3="1739" />
+ <tetrahedron index="833" v0="246" v1="1738" v2="1739" v3="1861" />
+ <tetrahedron index="834" v0="194" v1="324" v2="461" v3="1809" />
+ <tetrahedron index="835" v0="324" v1="461" v2="1809" v3="1939" />
+ <tetrahedron index="836" v0="461" v1="1809" v2="1939" v3="2076" />
+ <tetrahedron index="837" v0="103" v1="383" v2="384" v3="1718" />
+ <tetrahedron index="838" v0="383" v1="384" v2="1718" v3="1998" />
+ <tetrahedron index="839" v0="384" v1="1718" v2="1998" v3="1999" />
+ <tetrahedron index="840" v0="143" v1="462" v2="463" v3="1758" />
+ <tetrahedron index="841" v0="462" v1="463" v2="1758" v3="2077" />
+ <tetrahedron index="842" v0="463" v1="1758" v2="2077" v3="2078" />
+ <tetrahedron index="843" v0="215" v1="464" v2="465" v3="1830" />
+ <tetrahedron index="844" v0="464" v1="465" v2="1830" v3="2079" />
+ <tetrahedron index="845" v0="465" v1="1830" v2="2079" v3="2080" />
+ <tetrahedron index="846" v0="134" v1="215" v2="466" v3="1749" />
+ <tetrahedron index="847" v0="215" v1="466" v2="1749" v3="1830" />
+ <tetrahedron index="848" v0="466" v1="1749" v2="1830" v3="2081" />
+ <tetrahedron index="849" v0="396" v1="467" v2="468" v3="2011" />
+ <tetrahedron index="850" v0="467" v1="468" v2="2011" v3="2082" />
+ <tetrahedron index="851" v0="468" v1="2011" v2="2082" v3="2083" />
+ <tetrahedron index="852" v0="350" v1="378" v2="469" v3="1965" />
+ <tetrahedron index="853" v0="378" v1="469" v2="1965" v3="1993" />
+ <tetrahedron index="854" v0="469" v1="1965" v2="1993" v3="2084" />
+ <tetrahedron index="855" v0="33" v1="323" v2="470" v3="1648" />
+ <tetrahedron index="856" v0="323" v1="470" v2="1648" v3="1938" />
+ <tetrahedron index="857" v0="470" v1="1648" v2="1938" v3="2085" />
+ <tetrahedron index="858" v0="471" v1="472" v2="473" v3="2086" />
+ <tetrahedron index="859" v0="472" v1="473" v2="2086" v3="2087" />
+ <tetrahedron index="860" v0="473" v1="2086" v2="2087" v3="2088" />
+ <tetrahedron index="861" v0="348" v1="350" v2="379" v3="1963" />
+ <tetrahedron index="862" v0="350" v1="379" v2="1963" v3="1965" />
+ <tetrahedron index="863" v0="379" v1="1963" v2="1965" v3="1994" />
+ <tetrahedron index="864" v0="77" v1="78" v2="455" v3="1692" />
+ <tetrahedron index="865" v0="78" v1="455" v2="1692" v3="1693" />
+ <tetrahedron index="866" v0="455" v1="1692" v2="1693" v3="2070" />
+ <tetrahedron index="867" v0="257" v1="258" v2="453" v3="1872" />
+ <tetrahedron index="868" v0="258" v1="453" v2="1872" v3="1873" />
+ <tetrahedron index="869" v0="453" v1="1872" v2="1873" v3="2068" />
+ <tetrahedron index="870" v0="257" v1="453" v2="474" v3="1872" />
+ <tetrahedron index="871" v0="453" v1="474" v2="1872" v3="2068" />
+ <tetrahedron index="872" v0="474" v1="1872" v2="2068" v3="2089" />
+ <tetrahedron index="873" v0="209" v1="210" v2="475" v3="1824" />
+ <tetrahedron index="874" v0="210" v1="475" v2="1824" v3="1825" />
+ <tetrahedron index="875" v0="475" v1="1824" v2="1825" v3="2090" />
+ <tetrahedron index="876" v0="476" v1="477" v2="478" v3="2091" />
+ <tetrahedron index="877" v0="477" v1="478" v2="2091" v3="2092" />
+ <tetrahedron index="878" v0="478" v1="2091" v2="2092" v3="2093" />
+ <tetrahedron index="879" v0="122" v1="123" v2="200" v3="1737" />
+ <tetrahedron index="880" v0="123" v1="200" v2="1737" v3="1738" />
+ <tetrahedron index="881" v0="200" v1="1737" v2="1738" v3="1815" />
+ <tetrahedron index="882" v0="208" v1="228" v2="479" v3="1823" />
+ <tetrahedron index="883" v0="228" v1="479" v2="1823" v3="1843" />
+ <tetrahedron index="884" v0="479" v1="1823" v2="1843" v3="2094" />
+ <tetrahedron index="885" v0="10" v1="134" v2="214" v3="1625" />
+ <tetrahedron index="886" v0="134" v1="214" v2="1625" v3="1749" />
+ <tetrahedron index="887" v0="214" v1="1625" v2="1749" v3="1829" />
+ <tetrahedron index="888" v0="9" v1="10" v2="480" v3="1624" />
+ <tetrahedron index="889" v0="10" v1="480" v2="1624" v3="1625" />
+ <tetrahedron index="890" v0="480" v1="1624" v2="1625" v3="2095" />
+ <tetrahedron index="891" v0="146" v1="147" v2="299" v3="1761" />
+ <tetrahedron index="892" v0="147" v1="299" v2="1761" v3="1762" />
+ <tetrahedron index="893" v0="299" v1="1761" v2="1762" v3="1914" />
+ <tetrahedron index="894" v0="41" v1="42" v2="481" v3="1656" />
+ <tetrahedron index="895" v0="42" v1="481" v2="1656" v3="1657" />
+ <tetrahedron index="896" v0="481" v1="1656" v2="1657" v3="2096" />
+ <tetrahedron index="897" v0="46" v1="49" v2="482" v3="1661" />
+ <tetrahedron index="898" v0="49" v1="482" v2="1661" v3="1664" />
+ <tetrahedron index="899" v0="482" v1="1661" v2="1664" v3="2097" />
+ <tetrahedron index="900" v0="151" v1="277" v2="483" v3="1766" />
+ <tetrahedron index="901" v0="277" v1="483" v2="1766" v3="1892" />
+ <tetrahedron index="902" v0="483" v1="1766" v2="1892" v3="2098" />
+ <tetrahedron index="903" v0="337" v1="338" v2="467" v3="1952" />
+ <tetrahedron index="904" v0="338" v1="467" v2="1952" v3="1953" />
+ <tetrahedron index="905" v0="467" v1="1952" v2="1953" v3="2082" />
+ <tetrahedron index="906" v0="484" v1="485" v2="486" v3="2099" />
+ <tetrahedron index="907" v0="485" v1="486" v2="2099" v3="2100" />
+ <tetrahedron index="908" v0="486" v1="2099" v2="2100" v3="2101" />
+ <tetrahedron index="909" v0="111" v1="112" v2="487" v3="1726" />
+ <tetrahedron index="910" v0="112" v1="487" v2="1726" v3="1727" />
+ <tetrahedron index="911" v0="487" v1="1726" v2="1727" v3="2102" />
+ <tetrahedron index="912" v0="212" v1="213" v2="247" v3="1827" />
+ <tetrahedron index="913" v0="213" v1="247" v2="1827" v3="1828" />
+ <tetrahedron index="914" v0="247" v1="1827" v2="1828" v3="1862" />
+ <tetrahedron index="915" v0="488" v1="489" v2="490" v3="2103" />
+ <tetrahedron index="916" v0="489" v1="490" v2="2103" v3="2104" />
+ <tetrahedron index="917" v0="490" v1="2103" v2="2104" v3="2105" />
+ <tetrahedron index="918" v0="329" v1="491" v2="492" v3="1944" />
+ <tetrahedron index="919" v0="491" v1="492" v2="1944" v3="2106" />
+ <tetrahedron index="920" v0="492" v1="1944" v2="2106" v3="2107" />
+ <tetrahedron index="921" v0="17" v1="143" v2="463" v3="1632" />
+ <tetrahedron index="922" v0="143" v1="463" v2="1632" v3="1758" />
+ <tetrahedron index="923" v0="463" v1="1632" v2="1758" v3="2078" />
+ <tetrahedron index="924" v0="17" v1="216" v2="463" v3="1632" />
+ <tetrahedron index="925" v0="216" v1="463" v2="1632" v3="1831" />
+ <tetrahedron index="926" v0="463" v1="1632" v2="1831" v3="2078" />
+ <tetrahedron index="927" v0="260" v1="359" v2="493" v3="1875" />
+ <tetrahedron index="928" v0="359" v1="493" v2="1875" v3="1974" />
+ <tetrahedron index="929" v0="493" v1="1875" v2="1974" v3="2108" />
+ <tetrahedron index="930" v0="395" v1="396" v2="494" v3="2010" />
+ <tetrahedron index="931" v0="396" v1="494" v2="2010" v3="2011" />
+ <tetrahedron index="932" v0="494" v1="2010" v2="2011" v3="2109" />
+ <tetrahedron index="933" v0="495" v1="496" v2="497" v3="2110" />
+ <tetrahedron index="934" v0="496" v1="497" v2="2110" v3="2111" />
+ <tetrahedron index="935" v0="497" v1="2110" v2="2111" v3="2112" />
+ <tetrahedron index="936" v0="113" v1="498" v2="499" v3="1728" />
+ <tetrahedron index="937" v0="498" v1="499" v2="1728" v3="2113" />
+ <tetrahedron index="938" v0="499" v1="1728" v2="2113" v3="2114" />
+ <tetrahedron index="939" v0="132" v1="500" v2="501" v3="1747" />
+ <tetrahedron index="940" v0="500" v1="501" v2="1747" v3="2115" />
+ <tetrahedron index="941" v0="501" v1="1747" v2="2115" v3="2116" />
+ <tetrahedron index="942" v0="497" v1="502" v2="503" v3="2112" />
+ <tetrahedron index="943" v0="502" v1="503" v2="2112" v3="2117" />
+ <tetrahedron index="944" v0="503" v1="2112" v2="2117" v3="2118" />
+ <tetrahedron index="945" v0="52" v1="154" v2="504" v3="1667" />
+ <tetrahedron index="946" v0="154" v1="504" v2="1667" v3="1769" />
+ <tetrahedron index="947" v0="504" v1="1667" v2="1769" v3="2119" />
+ <tetrahedron index="948" v0="52" v1="154" v2="156" v3="1667" />
+ <tetrahedron index="949" v0="154" v1="156" v2="1667" v3="1769" />
+ <tetrahedron index="950" v0="156" v1="1667" v2="1769" v3="1771" />
+ <tetrahedron index="951" v0="208" v1="479" v2="505" v3="1823" />
+ <tetrahedron index="952" v0="479" v1="505" v2="1823" v3="2094" />
+ <tetrahedron index="953" v0="505" v1="1823" v2="2094" v3="2120" />
+ <tetrahedron index="954" v0="141" v1="216" v2="506" v3="1756" />
+ <tetrahedron index="955" v0="216" v1="506" v2="1756" v3="1831" />
+ <tetrahedron index="956" v0="506" v1="1756" v2="1831" v3="2121" />
+ <tetrahedron index="957" v0="141" v1="506" v2="507" v3="1756" />
+ <tetrahedron index="958" v0="506" v1="507" v2="1756" v3="2121" />
+ <tetrahedron index="959" v0="507" v1="1756" v2="2121" v3="2122" />
+ <tetrahedron index="960" v0="142" v1="145" v2="458" v3="1757" />
+ <tetrahedron index="961" v0="145" v1="458" v2="1757" v3="1760" />
+ <tetrahedron index="962" v0="458" v1="1757" v2="1760" v3="2073" />
+ <tetrahedron index="963" v0="32" v1="142" v2="458" v3="1647" />
+ <tetrahedron index="964" v0="142" v1="458" v2="1647" v3="1757" />
+ <tetrahedron index="965" v0="458" v1="1647" v2="1757" v3="2073" />
+ <tetrahedron index="966" v0="93" v1="508" v2="509" v3="1708" />
+ <tetrahedron index="967" v0="508" v1="509" v2="1708" v3="2123" />
+ <tetrahedron index="968" v0="509" v1="1708" v2="2123" v3="2124" />
+ <tetrahedron index="969" v0="363" v1="365" v2="510" v3="1978" />
+ <tetrahedron index="970" v0="365" v1="510" v2="1978" v3="1980" />
+ <tetrahedron index="971" v0="510" v1="1978" v2="1980" v3="2125" />
+ <tetrahedron index="972" v0="53" v1="56" v2="511" v3="1668" />
+ <tetrahedron index="973" v0="56" v1="511" v2="1668" v3="1671" />
+ <tetrahedron index="974" v0="511" v1="1668" v2="1671" v3="2126" />
+ <tetrahedron index="975" v0="512" v1="513" v2="514" v3="2127" />
+ <tetrahedron index="976" v0="513" v1="514" v2="2127" v3="2128" />
+ <tetrahedron index="977" v0="514" v1="2127" v2="2128" v3="2129" />
+ <tetrahedron index="978" v0="204" v1="457" v2="515" v3="1819" />
+ <tetrahedron index="979" v0="457" v1="515" v2="1819" v3="2072" />
+ <tetrahedron index="980" v0="515" v1="1819" v2="2072" v3="2130" />
+ <tetrahedron index="981" v0="204" v1="515" v2="516" v3="1819" />
+ <tetrahedron index="982" v0="515" v1="516" v2="1819" v3="2130" />
+ <tetrahedron index="983" v0="516" v1="1819" v2="2130" v3="2131" />
+ <tetrahedron index="984" v0="364" v1="366" v2="517" v3="1979" />
+ <tetrahedron index="985" v0="366" v1="517" v2="1979" v3="1981" />
+ <tetrahedron index="986" v0="517" v1="1979" v2="1981" v3="2132" />
+ <tetrahedron index="987" v0="147" v1="373" v2="518" v3="1762" />
+ <tetrahedron index="988" v0="373" v1="518" v2="1762" v3="1988" />
+ <tetrahedron index="989" v0="518" v1="1762" v2="1988" v3="2133" />
+ <tetrahedron index="990" v0="147" v1="148" v2="373" v3="1762" />
+ <tetrahedron index="991" v0="148" v1="373" v2="1762" v3="1763" />
+ <tetrahedron index="992" v0="373" v1="1762" v2="1763" v3="1988" />
+ <tetrahedron index="993" v0="98" v1="226" v2="519" v3="1713" />
+ <tetrahedron index="994" v0="226" v1="519" v2="1713" v3="1841" />
+ <tetrahedron index="995" v0="519" v1="1713" v2="1841" v3="2134" />
+ <tetrahedron index="996" v0="252" v1="520" v2="521" v3="1867" />
+ <tetrahedron index="997" v0="520" v1="521" v2="1867" v3="2135" />
+ <tetrahedron index="998" v0="521" v1="1867" v2="2135" v3="2136" />
+ <tetrahedron index="999" v0="522" v1="523" v2="524" v3="2137" />
+ <tetrahedron index="1000" v0="523" v1="524" v2="2137" v3="2138" />
+ <tetrahedron index="1001" v0="524" v1="2137" v2="2138" v3="2139" />
+ <tetrahedron index="1002" v0="360" v1="362" v2="525" v3="1975" />
+ <tetrahedron index="1003" v0="362" v1="525" v2="1975" v3="1977" />
+ <tetrahedron index="1004" v0="525" v1="1975" v2="1977" v3="2140" />
+ <tetrahedron index="1005" v0="106" v1="238" v2="526" v3="1721" />
+ <tetrahedron index="1006" v0="238" v1="526" v2="1721" v3="1853" />
+ <tetrahedron index="1007" v0="526" v1="1721" v2="1853" v3="2141" />
+ <tetrahedron index="1008" v0="34" v1="271" v2="272" v3="1649" />
+ <tetrahedron index="1009" v0="271" v1="272" v2="1649" v3="1886" />
+ <tetrahedron index="1010" v0="272" v1="1649" v2="1886" v3="1887" />
+ <tetrahedron index="1011" v0="157" v1="527" v2="528" v3="1772" />
+ <tetrahedron index="1012" v0="527" v1="528" v2="1772" v3="2142" />
+ <tetrahedron index="1013" v0="528" v1="1772" v2="2142" v3="2143" />
+ <tetrahedron index="1014" v0="242" v1="243" v2="529" v3="1857" />
+ <tetrahedron index="1015" v0="243" v1="529" v2="1857" v3="1858" />
+ <tetrahedron index="1016" v0="529" v1="1857" v2="1858" v3="2144" />
+ <tetrahedron index="1017" v0="530" v1="531" v2="532" v3="2145" />
+ <tetrahedron index="1018" v0="531" v1="532" v2="2145" v3="2146" />
+ <tetrahedron index="1019" v0="532" v1="2145" v2="2146" v3="2147" />
+ <tetrahedron index="1020" v0="258" v1="259" v2="533" v3="1873" />
+ <tetrahedron index="1021" v0="259" v1="533" v2="1873" v3="1874" />
+ <tetrahedron index="1022" v0="533" v1="1873" v2="1874" v3="2148" />
+ <tetrahedron index="1023" v0="98" v1="227" v2="534" v3="1713" />
+ <tetrahedron index="1024" v0="227" v1="534" v2="1713" v3="1842" />
+ <tetrahedron index="1025" v0="534" v1="1713" v2="1842" v3="2149" />
+ <tetrahedron index="1026" v0="98" v1="99" v2="534" v3="1713" />
+ <tetrahedron index="1027" v0="99" v1="534" v2="1713" v3="1714" />
+ <tetrahedron index="1028" v0="534" v1="1713" v2="1714" v3="2149" />
+ <tetrahedron index="1029" v0="147" v1="518" v2="535" v3="1762" />
+ <tetrahedron index="1030" v0="518" v1="535" v2="1762" v3="2133" />
+ <tetrahedron index="1031" v0="535" v1="1762" v2="2133" v3="2150" />
+ <tetrahedron index="1032" v0="221" v1="536" v2="537" v3="1836" />
+ <tetrahedron index="1033" v0="536" v1="537" v2="1836" v3="2151" />
+ <tetrahedron index="1034" v0="537" v1="1836" v2="2151" v3="2152" />
+ <tetrahedron index="1035" v0="170" v1="538" v2="539" v3="1785" />
+ <tetrahedron index="1036" v0="538" v1="539" v2="1785" v3="2153" />
+ <tetrahedron index="1037" v0="539" v1="1785" v2="2153" v3="2154" />
+ <tetrahedron index="1038" v0="540" v1="541" v2="542" v3="2155" />
+ <tetrahedron index="1039" v0="541" v1="542" v2="2155" v3="2156" />
+ <tetrahedron index="1040" v0="542" v1="2155" v2="2156" v3="2157" />
+ <tetrahedron index="1041" v0="543" v1="544" v2="545" v3="2158" />
+ <tetrahedron index="1042" v0="544" v1="545" v2="2158" v3="2159" />
+ <tetrahedron index="1043" v0="545" v1="2158" v2="2159" v3="2160" />
+ <tetrahedron index="1044" v0="546" v1="547" v2="548" v3="2161" />
+ <tetrahedron index="1045" v0="547" v1="548" v2="2161" v3="2162" />
+ <tetrahedron index="1046" v0="548" v1="2161" v2="2162" v3="2163" />
+ <tetrahedron index="1047" v0="549" v1="550" v2="551" v3="2164" />
+ <tetrahedron index="1048" v0="550" v1="551" v2="2164" v3="2165" />
+ <tetrahedron index="1049" v0="551" v1="2164" v2="2165" v3="2166" />
+ <tetrahedron index="1050" v0="552" v1="553" v2="554" v3="2167" />
+ <tetrahedron index="1051" v0="553" v1="554" v2="2167" v3="2168" />
+ <tetrahedron index="1052" v0="554" v1="2167" v2="2168" v3="2169" />
+ <tetrahedron index="1053" v0="454" v1="555" v2="556" v3="2069" />
+ <tetrahedron index="1054" v0="555" v1="556" v2="2069" v3="2170" />
+ <tetrahedron index="1055" v0="556" v1="2069" v2="2170" v3="2171" />
+ <tetrahedron index="1056" v0="425" v1="426" v2="557" v3="2040" />
+ <tetrahedron index="1057" v0="426" v1="557" v2="2040" v3="2041" />
+ <tetrahedron index="1058" v0="557" v1="2040" v2="2041" v3="2172" />
+ <tetrahedron index="1059" v0="426" v1="557" v2="558" v3="2041" />
+ <tetrahedron index="1060" v0="557" v1="558" v2="2041" v3="2172" />
+ <tetrahedron index="1061" v0="558" v1="2041" v2="2172" v3="2173" />
+ <tetrahedron index="1062" v0="372" v1="559" v2="560" v3="1987" />
+ <tetrahedron index="1063" v0="559" v1="560" v2="1987" v3="2174" />
+ <tetrahedron index="1064" v0="560" v1="1987" v2="2174" v3="2175" />
+ <tetrahedron index="1065" v0="41" v1="373" v2="561" v3="1656" />
+ <tetrahedron index="1066" v0="373" v1="561" v2="1656" v3="1988" />
+ <tetrahedron index="1067" v0="561" v1="1656" v2="1988" v3="2176" />
+ <tetrahedron index="1068" v0="41" v1="481" v2="561" v3="1656" />
+ <tetrahedron index="1069" v0="481" v1="561" v2="1656" v3="2096" />
+ <tetrahedron index="1070" v0="561" v1="1656" v2="2096" v3="2176" />
+ <tetrahedron index="1071" v0="44" v1="45" v2="562" v3="1659" />
+ <tetrahedron index="1072" v0="45" v1="562" v2="1659" v3="1660" />
+ <tetrahedron index="1073" v0="562" v1="1659" v2="1660" v3="2177" />
+ <tetrahedron index="1074" v0="218" v1="219" v2="326" v3="1833" />
+ <tetrahedron index="1075" v0="219" v1="326" v2="1833" v3="1834" />
+ <tetrahedron index="1076" v0="326" v1="1833" v2="1834" v3="1941" />
+ <tetrahedron index="1077" v0="162" v1="163" v2="302" v3="1777" />
+ <tetrahedron index="1078" v0="163" v1="302" v2="1777" v3="1778" />
+ <tetrahedron index="1079" v0="302" v1="1777" v2="1778" v3="1917" />
+ <tetrahedron index="1080" v0="346" v1="563" v2="564" v3="1961" />
+ <tetrahedron index="1081" v0="563" v1="564" v2="1961" v3="2178" />
+ <tetrahedron index="1082" v0="564" v1="1961" v2="2178" v3="2179" />
+ <tetrahedron index="1083" v0="97" v1="519" v2="565" v3="1712" />
+ <tetrahedron index="1084" v0="519" v1="565" v2="1712" v3="2134" />
+ <tetrahedron index="1085" v0="565" v1="1712" v2="2134" v3="2180" />
+ <tetrahedron index="1086" v0="97" v1="98" v2="519" v3="1712" />
+ <tetrahedron index="1087" v0="98" v1="519" v2="1712" v3="1713" />
+ <tetrahedron index="1088" v0="519" v1="1712" v2="1713" v3="2134" />
+ <tetrahedron index="1089" v0="3" v1="4" v2="459" v3="1618" />
+ <tetrahedron index="1090" v0="4" v1="459" v2="1618" v3="1619" />
+ <tetrahedron index="1091" v0="459" v1="1618" v2="1619" v3="2074" />
+ <tetrahedron index="1092" v0="445" v1="566" v2="567" v3="2060" />
+ <tetrahedron index="1093" v0="566" v1="567" v2="2060" v3="2181" />
+ <tetrahedron index="1094" v0="567" v1="2060" v2="2181" v3="2182" />
+ <tetrahedron index="1095" v0="316" v1="354" v2="445" v3="1931" />
+ <tetrahedron index="1096" v0="354" v1="445" v2="1931" v3="1969" />
+ <tetrahedron index="1097" v0="445" v1="1931" v2="1969" v3="2060" />
+ <tetrahedron index="1098" v0="11" v1="134" v2="135" v3="1626" />
+ <tetrahedron index="1099" v0="134" v1="135" v2="1626" v3="1749" />
+ <tetrahedron index="1100" v0="135" v1="1626" v2="1749" v3="1750" />
+ <tetrahedron index="1101" v0="152" v1="157" v2="568" v3="1767" />
+ <tetrahedron index="1102" v0="157" v1="568" v2="1767" v3="1772" />
+ <tetrahedron index="1103" v0="568" v1="1767" v2="1772" v3="2183" />
+ <tetrahedron index="1104" v0="362" v1="525" v2="569" v3="1977" />
+ <tetrahedron index="1105" v0="525" v1="569" v2="1977" v3="2140" />
+ <tetrahedron index="1106" v0="569" v1="1977" v2="2140" v3="2184" />
+ <tetrahedron index="1107" v0="307" v1="308" v2="570" v3="1922" />
+ <tetrahedron index="1108" v0="308" v1="570" v2="1922" v3="1923" />
+ <tetrahedron index="1109" v0="570" v1="1922" v2="1923" v3="2185" />
+ <tetrahedron index="1110" v0="235" v1="237" v2="571" v3="1850" />
+ <tetrahedron index="1111" v0="237" v1="571" v2="1850" v3="1852" />
+ <tetrahedron index="1112" v0="571" v1="1850" v2="1852" v3="2186" />
+ <tetrahedron index="1113" v0="187" v1="410" v2="431" v3="1802" />
+ <tetrahedron index="1114" v0="410" v1="431" v2="1802" v3="2025" />
+ <tetrahedron index="1115" v0="431" v1="1802" v2="2025" v3="2046" />
+ <tetrahedron index="1116" v0="187" v1="189" v2="410" v3="1802" />
+ <tetrahedron index="1117" v0="189" v1="410" v2="1802" v3="1804" />
+ <tetrahedron index="1118" v0="410" v1="1802" v2="1804" v3="2025" />
+ <tetrahedron index="1119" v0="286" v1="287" v2="326" v3="1901" />
+ <tetrahedron index="1120" v0="287" v1="326" v2="1901" v3="1902" />
+ <tetrahedron index="1121" v0="326" v1="1901" v2="1902" v3="1941" />
+ <tetrahedron index="1122" v0="218" v1="287" v2="326" v3="1833" />
+ <tetrahedron index="1123" v0="287" v1="326" v2="1833" v3="1902" />
+ <tetrahedron index="1124" v0="326" v1="1833" v2="1902" v3="1941" />
+ <tetrahedron index="1125" v0="30" v1="31" v2="572" v3="1645" />
+ <tetrahedron index="1126" v0="31" v1="572" v2="1645" v3="1646" />
+ <tetrahedron index="1127" v0="572" v1="1645" v2="1646" v3="2187" />
+ <tetrahedron index="1128" v0="31" v1="39" v2="572" v3="1646" />
+ <tetrahedron index="1129" v0="39" v1="572" v2="1646" v3="1654" />
+ <tetrahedron index="1130" v0="572" v1="1646" v2="1654" v3="2187" />
+ <tetrahedron index="1131" v0="329" v1="330" v2="573" v3="1944" />
+ <tetrahedron index="1132" v0="330" v1="573" v2="1944" v3="1945" />
+ <tetrahedron index="1133" v0="573" v1="1944" v2="1945" v3="2188" />
+ <tetrahedron index="1134" v0="574" v1="575" v2="576" v3="2189" />
+ <tetrahedron index="1135" v0="575" v1="576" v2="2189" v3="2190" />
+ <tetrahedron index="1136" v0="576" v1="2189" v2="2190" v3="2191" />
+ <tetrahedron index="1137" v0="68" v1="69" v2="444" v3="1683" />
+ <tetrahedron index="1138" v0="69" v1="444" v2="1683" v3="1684" />
+ <tetrahedron index="1139" v0="444" v1="1683" v2="1684" v3="2059" />
+ <tetrahedron index="1140" v0="140" v1="141" v2="319" v3="1755" />
+ <tetrahedron index="1141" v0="141" v1="319" v2="1755" v3="1756" />
+ <tetrahedron index="1142" v0="319" v1="1755" v2="1756" v3="1934" />
+ <tetrahedron index="1143" v0="206" v1="443" v2="577" v3="1821" />
+ <tetrahedron index="1144" v0="443" v1="577" v2="1821" v3="2058" />
+ <tetrahedron index="1145" v0="577" v1="1821" v2="2058" v3="2192" />
+ <tetrahedron index="1146" v0="280" v1="578" v2="579" v3="1895" />
+ <tetrahedron index="1147" v0="578" v1="579" v2="1895" v3="2193" />
+ <tetrahedron index="1148" v0="579" v1="1895" v2="2193" v3="2194" />
+ <tetrahedron index="1149" v0="580" v1="581" v2="582" v3="2195" />
+ <tetrahedron index="1150" v0="581" v1="582" v2="2195" v3="2196" />
+ <tetrahedron index="1151" v0="582" v1="2195" v2="2196" v3="2197" />
+ <tetrahedron index="1152" v0="24" v1="583" v2="584" v3="1639" />
+ <tetrahedron index="1153" v0="583" v1="584" v2="1639" v3="2198" />
+ <tetrahedron index="1154" v0="584" v1="1639" v2="2198" v3="2199" />
+ <tetrahedron index="1155" v0="24" v1="26" v2="583" v3="1639" />
+ <tetrahedron index="1156" v0="26" v1="583" v2="1639" v3="1641" />
+ <tetrahedron index="1157" v0="583" v1="1639" v2="1641" v3="2198" />
+ <tetrahedron index="1158" v0="433" v1="585" v2="586" v3="2048" />
+ <tetrahedron index="1159" v0="585" v1="586" v2="2048" v3="2200" />
+ <tetrahedron index="1160" v0="586" v1="2048" v2="2200" v3="2201" />
+ <tetrahedron index="1161" v0="146" v1="296" v2="299" v3="1761" />
+ <tetrahedron index="1162" v0="296" v1="299" v2="1761" v3="1911" />
+ <tetrahedron index="1163" v0="299" v1="1761" v2="1911" v3="1914" />
+ <tetrahedron index="1164" v0="95" v1="563" v2="587" v3="1710" />
+ <tetrahedron index="1165" v0="563" v1="587" v2="1710" v3="2178" />
+ <tetrahedron index="1166" v0="587" v1="1710" v2="2178" v3="2202" />
+ <tetrahedron index="1167" v0="418" v1="419" v2="472" v3="2033" />
+ <tetrahedron index="1168" v0="419" v1="472" v2="2033" v3="2034" />
+ <tetrahedron index="1169" v0="472" v1="2033" v2="2034" v3="2087" />
+ <tetrahedron index="1170" v0="195" v1="285" v2="286" v3="1810" />
+ <tetrahedron index="1171" v0="285" v1="286" v2="1810" v3="1900" />
+ <tetrahedron index="1172" v0="286" v1="1810" v2="1900" v3="1901" />
+ <tetrahedron index="1173" v0="58" v1="285" v2="452" v3="1673" />
+ <tetrahedron index="1174" v0="285" v1="452" v2="1673" v3="1900" />
+ <tetrahedron index="1175" v0="452" v1="1673" v2="1900" v3="2067" />
+ <tetrahedron index="1176" v0="25" v1="588" v2="589" v3="1640" />
+ <tetrahedron index="1177" v0="588" v1="589" v2="1640" v3="2203" />
+ <tetrahedron index="1178" v0="589" v1="1640" v2="2203" v3="2204" />
+ <tetrahedron index="1179" v0="590" v1="591" v2="592" v3="2205" />
+ <tetrahedron index="1180" v0="591" v1="592" v2="2205" v3="2206" />
+ <tetrahedron index="1181" v0="592" v1="2205" v2="2206" v3="2207" />
+ <tetrahedron index="1182" v0="165" v1="393" v2="394" v3="1780" />
+ <tetrahedron index="1183" v0="393" v1="394" v2="1780" v3="2008" />
+ <tetrahedron index="1184" v0="394" v1="1780" v2="2008" v3="2009" />
+ <tetrahedron index="1185" v0="168" v1="301" v2="302" v3="1783" />
+ <tetrahedron index="1186" v0="301" v1="302" v2="1783" v3="1916" />
+ <tetrahedron index="1187" v0="302" v1="1783" v2="1916" v3="1917" />
+ <tetrahedron index="1188" v0="137" v1="138" v2="593" v3="1752" />
+ <tetrahedron index="1189" v0="138" v1="593" v2="1752" v3="1753" />
+ <tetrahedron index="1190" v0="593" v1="1752" v2="1753" v3="2208" />
+ <tetrahedron index="1191" v0="119" v1="125" v2="126" v3="1734" />
+ <tetrahedron index="1192" v0="125" v1="126" v2="1734" v3="1740" />
+ <tetrahedron index="1193" v0="126" v1="1734" v2="1740" v3="1741" />
+ <tetrahedron index="1194" v0="211" v1="213" v2="594" v3="1826" />
+ <tetrahedron index="1195" v0="213" v1="594" v2="1826" v3="1828" />
+ <tetrahedron index="1196" v0="594" v1="1826" v2="1828" v3="2209" />
+ <tetrahedron index="1197" v0="211" v1="335" v2="594" v3="1826" />
+ <tetrahedron index="1198" v0="335" v1="594" v2="1826" v3="1950" />
+ <tetrahedron index="1199" v0="594" v1="1826" v2="1950" v3="2209" />
+ <tetrahedron index="1200" v0="292" v1="595" v2="596" v3="1907" />
+ <tetrahedron index="1201" v0="595" v1="596" v2="1907" v3="2210" />
+ <tetrahedron index="1202" v0="596" v1="1907" v2="2210" v3="2211" />
+ <tetrahedron index="1203" v0="597" v1="598" v2="599" v3="2212" />
+ <tetrahedron index="1204" v0="598" v1="599" v2="2212" v3="2213" />
+ <tetrahedron index="1205" v0="599" v1="2212" v2="2213" v3="2214" />
+ <tetrahedron index="1206" v0="316" v1="354" v2="600" v3="1931" />
+ <tetrahedron index="1207" v0="354" v1="600" v2="1931" v3="1969" />
+ <tetrahedron index="1208" v0="600" v1="1931" v2="1969" v3="2215" />
+ <tetrahedron index="1209" v0="367" v1="601" v2="602" v3="1982" />
+ <tetrahedron index="1210" v0="601" v1="602" v2="1982" v3="2216" />
+ <tetrahedron index="1211" v0="602" v1="1982" v2="2216" v3="2217" />
+ <tetrahedron index="1212" v0="367" v1="557" v2="602" v3="1982" />
+ <tetrahedron index="1213" v0="557" v1="602" v2="1982" v3="2172" />
+ <tetrahedron index="1214" v0="602" v1="1982" v2="2172" v3="2217" />
+ <tetrahedron index="1215" v0="83" v1="84" v2="603" v3="1698" />
+ <tetrahedron index="1216" v0="84" v1="603" v2="1698" v3="1699" />
+ <tetrahedron index="1217" v0="603" v1="1698" v2="1699" v3="2218" />
+ <tetrahedron index="1218" v0="84" v1="603" v2="604" v3="1699" />
+ <tetrahedron index="1219" v0="603" v1="604" v2="1699" v3="2218" />
+ <tetrahedron index="1220" v0="604" v1="1699" v2="2218" v3="2219" />
+ <tetrahedron index="1221" v0="533" v1="556" v2="605" v3="2148" />
+ <tetrahedron index="1222" v0="556" v1="605" v2="2148" v3="2171" />
+ <tetrahedron index="1223" v0="605" v1="2148" v2="2171" v3="2220" />
+ <tetrahedron index="1224" v0="543" v1="544" v2="606" v3="2158" />
+ <tetrahedron index="1225" v0="544" v1="606" v2="2158" v3="2159" />
+ <tetrahedron index="1226" v0="606" v1="2158" v2="2159" v3="2221" />
+ <tetrahedron index="1227" v0="411" v1="607" v2="608" v3="2026" />
+ <tetrahedron index="1228" v0="607" v1="608" v2="2026" v3="2222" />
+ <tetrahedron index="1229" v0="608" v1="2026" v2="2222" v3="2223" />
+ <tetrahedron index="1230" v0="494" v1="607" v2="608" v3="2109" />
+ <tetrahedron index="1231" v0="607" v1="608" v2="2109" v3="2222" />
+ <tetrahedron index="1232" v0="608" v1="2109" v2="2222" v3="2223" />
+ <tetrahedron index="1233" v0="125" v1="420" v2="609" v3="1740" />
+ <tetrahedron index="1234" v0="420" v1="609" v2="1740" v3="2035" />
+ <tetrahedron index="1235" v0="609" v1="1740" v2="2035" v3="2224" />
+ <tetrahedron index="1236" v0="610" v1="611" v2="612" v3="2225" />
+ <tetrahedron index="1237" v0="611" v1="612" v2="2225" v3="2226" />
+ <tetrahedron index="1238" v0="612" v1="2225" v2="2226" v3="2227" />
+ <tetrahedron index="1239" v0="404" v1="613" v2="614" v3="2019" />
+ <tetrahedron index="1240" v0="613" v1="614" v2="2019" v3="2228" />
+ <tetrahedron index="1241" v0="614" v1="2019" v2="2228" v3="2229" />
+ <tetrahedron index="1242" v0="359" v1="493" v2="615" v3="1974" />
+ <tetrahedron index="1243" v0="493" v1="615" v2="1974" v3="2108" />
+ <tetrahedron index="1244" v0="615" v1="1974" v2="2108" v3="2230" />
+ <tetrahedron index="1245" v0="71" v1="359" v2="615" v3="1686" />
+ <tetrahedron index="1246" v0="359" v1="615" v2="1686" v3="1974" />
+ <tetrahedron index="1247" v0="615" v1="1686" v2="1974" v3="2230" />
+ <tetrahedron index="1248" v0="573" v1="616" v2="617" v3="2188" />
+ <tetrahedron index="1249" v0="616" v1="617" v2="2188" v3="2231" />
+ <tetrahedron index="1250" v0="617" v1="2188" v2="2231" v3="2232" />
+ <tetrahedron index="1251" v0="446" v1="618" v2="619" v3="2061" />
+ <tetrahedron index="1252" v0="618" v1="619" v2="2061" v3="2233" />
+ <tetrahedron index="1253" v0="619" v1="2061" v2="2233" v3="2234" />
+ <tetrahedron index="1254" v0="620" v1="621" v2="622" v3="2235" />
+ <tetrahedron index="1255" v0="621" v1="622" v2="2235" v3="2236" />
+ <tetrahedron index="1256" v0="622" v1="2235" v2="2236" v3="2237" />
+ <tetrahedron index="1257" v0="605" v1="623" v2="624" v3="2220" />
+ <tetrahedron index="1258" v0="623" v1="624" v2="2220" v3="2238" />
+ <tetrahedron index="1259" v0="624" v1="2220" v2="2238" v3="2239" />
+ <tetrahedron index="1260" v0="625" v1="626" v2="627" v3="2240" />
+ <tetrahedron index="1261" v0="626" v1="627" v2="2240" v3="2241" />
+ <tetrahedron index="1262" v0="627" v1="2240" v2="2241" v3="2242" />
+ <tetrahedron index="1263" v0="577" v1="628" v2="629" v3="2192" />
+ <tetrahedron index="1264" v0="628" v1="629" v2="2192" v3="2243" />
+ <tetrahedron index="1265" v0="629" v1="2192" v2="2243" v3="2244" />
+ <tetrahedron index="1266" v0="169" v1="171" v2="173" v3="1784" />
+ <tetrahedron index="1267" v0="171" v1="173" v2="1784" v3="1786" />
+ <tetrahedron index="1268" v0="173" v1="1784" v2="1786" v3="1788" />
+ <tetrahedron index="1269" v0="73" v1="440" v2="630" v3="1688" />
+ <tetrahedron index="1270" v0="440" v1="630" v2="1688" v3="2055" />
+ <tetrahedron index="1271" v0="630" v1="1688" v2="2055" v3="2245" />
+ <tetrahedron index="1272" v0="232" v1="234" v2="631" v3="1847" />
+ <tetrahedron index="1273" v0="234" v1="631" v2="1847" v3="1849" />
+ <tetrahedron index="1274" v0="631" v1="1847" v2="1849" v3="2246" />
+ <tetrahedron index="1275" v0="363" v1="571" v2="632" v3="1978" />
+ <tetrahedron index="1276" v0="571" v1="632" v2="1978" v3="2186" />
+ <tetrahedron index="1277" v0="632" v1="1978" v2="2186" v3="2247" />
+ <tetrahedron index="1278" v0="235" v1="571" v2="632" v3="1850" />
+ <tetrahedron index="1279" v0="571" v1="632" v2="1850" v3="2186" />
+ <tetrahedron index="1280" v0="632" v1="1850" v2="2186" v3="2247" />
+ <tetrahedron index="1281" v0="260" v1="493" v2="633" v3="1875" />
+ <tetrahedron index="1282" v0="493" v1="633" v2="1875" v3="2108" />
+ <tetrahedron index="1283" v0="633" v1="1875" v2="2108" v3="2248" />
+ <tetrahedron index="1284" v0="203" v1="417" v2="634" v3="1818" />
+ <tetrahedron index="1285" v0="417" v1="634" v2="1818" v3="2032" />
+ <tetrahedron index="1286" v0="634" v1="1818" v2="2032" v3="2249" />
+ <tetrahedron index="1287" v0="201" v1="628" v2="635" v3="1816" />
+ <tetrahedron index="1288" v0="628" v1="635" v2="1816" v3="2243" />
+ <tetrahedron index="1289" v0="635" v1="1816" v2="2243" v3="2250" />
+ <tetrahedron index="1290" v0="374" v1="376" v2="513" v3="1989" />
+ <tetrahedron index="1291" v0="376" v1="513" v2="1989" v3="1991" />
+ <tetrahedron index="1292" v0="513" v1="1989" v2="1991" v3="2128" />
+ <tetrahedron index="1293" v0="636" v1="637" v2="638" v3="2251" />
+ <tetrahedron index="1294" v0="637" v1="638" v2="2251" v3="2252" />
+ <tetrahedron index="1295" v0="638" v1="2251" v2="2252" v3="2253" />
+ <tetrahedron index="1296" v0="204" v1="508" v2="516" v3="1819" />
+ <tetrahedron index="1297" v0="508" v1="516" v2="1819" v3="2123" />
+ <tetrahedron index="1298" v0="516" v1="1819" v2="2123" v3="2131" />
+ <tetrahedron index="1299" v0="93" v1="204" v2="508" v3="1708" />
+ <tetrahedron index="1300" v0="204" v1="508" v2="1708" v3="1819" />
+ <tetrahedron index="1301" v0="508" v1="1708" v2="1819" v3="2123" />
+ <tetrahedron index="1302" v0="491" v1="492" v2="639" v3="2106" />
+ <tetrahedron index="1303" v0="492" v1="639" v2="2106" v3="2107" />
+ <tetrahedron index="1304" v0="639" v1="2106" v2="2107" v3="2254" />
+ <tetrahedron index="1305" v0="588" v1="640" v2="641" v3="2203" />
+ <tetrahedron index="1306" v0="640" v1="641" v2="2203" v3="2255" />
+ <tetrahedron index="1307" v0="641" v1="2203" v2="2255" v3="2256" />
+ <tetrahedron index="1308" v0="508" v1="509" v2="519" v3="2123" />
+ <tetrahedron index="1309" v0="509" v1="519" v2="2123" v3="2124" />
+ <tetrahedron index="1310" v0="519" v1="2123" v2="2124" v3="2134" />
+ <tetrahedron index="1311" v0="250" v1="642" v2="643" v3="1865" />
+ <tetrahedron index="1312" v0="642" v1="643" v2="1865" v3="2257" />
+ <tetrahedron index="1313" v0="643" v1="1865" v2="2257" v3="2258" />
+ <tetrahedron index="1314" v0="159" v1="532" v2="644" v3="1774" />
+ <tetrahedron index="1315" v0="532" v1="644" v2="1774" v3="2147" />
+ <tetrahedron index="1316" v0="644" v1="1774" v2="2147" v3="2259" />
+ <tetrahedron index="1317" v0="267" v1="268" v2="645" v3="1882" />
+ <tetrahedron index="1318" v0="268" v1="645" v2="1882" v3="1883" />
+ <tetrahedron index="1319" v0="645" v1="1882" v2="1883" v3="2260" />
+ <tetrahedron index="1320" v0="268" v1="645" v2="646" v3="1883" />
+ <tetrahedron index="1321" v0="645" v1="646" v2="1883" v3="2260" />
+ <tetrahedron index="1322" v0="646" v1="1883" v2="2260" v3="2261" />
+ <tetrahedron index="1323" v0="212" v1="247" v2="647" v3="1827" />
+ <tetrahedron index="1324" v0="247" v1="647" v2="1827" v3="1862" />
+ <tetrahedron index="1325" v0="647" v1="1827" v2="1862" v3="2262" />
+ <tetrahedron index="1326" v0="400" v1="648" v2="649" v3="2015" />
+ <tetrahedron index="1327" v0="648" v1="649" v2="2015" v3="2263" />
+ <tetrahedron index="1328" v0="649" v1="2015" v2="2263" v3="2264" />
+ <tetrahedron index="1329" v0="478" v1="650" v2="651" v3="2093" />
+ <tetrahedron index="1330" v0="650" v1="651" v2="2093" v3="2265" />
+ <tetrahedron index="1331" v0="651" v1="2093" v2="2265" v3="2266" />
+ <tetrahedron index="1332" v0="122" v1="652" v2="653" v3="1737" />
+ <tetrahedron index="1333" v0="652" v1="653" v2="1737" v3="2267" />
+ <tetrahedron index="1334" v0="653" v1="1737" v2="2267" v3="2268" />
+ <tetrahedron index="1335" v0="114" v1="115" v2="567" v3="1729" />
+ <tetrahedron index="1336" v0="115" v1="567" v2="1729" v3="1730" />
+ <tetrahedron index="1337" v0="567" v1="1729" v2="1730" v3="2182" />
+ <tetrahedron index="1338" v0="590" v1="591" v2="654" v3="2205" />
+ <tetrahedron index="1339" v0="591" v1="654" v2="2205" v3="2206" />
+ <tetrahedron index="1340" v0="654" v1="2205" v2="2206" v3="2269" />
+ <tetrahedron index="1341" v0="534" v1="655" v2="656" v3="2149" />
+ <tetrahedron index="1342" v0="655" v1="656" v2="2149" v3="2270" />
+ <tetrahedron index="1343" v0="656" v1="2149" v2="2270" v3="2271" />
+ <tetrahedron index="1344" v0="95" v1="563" v2="657" v3="1710" />
+ <tetrahedron index="1345" v0="563" v1="657" v2="1710" v3="2178" />
+ <tetrahedron index="1346" v0="657" v1="1710" v2="2178" v3="2272" />
+ <tetrahedron index="1347" v0="95" v1="193" v2="657" v3="1710" />
+ <tetrahedron index="1348" v0="193" v1="657" v2="1710" v3="1808" />
+ <tetrahedron index="1349" v0="657" v1="1710" v2="1808" v3="2272" />
+ <tetrahedron index="1350" v0="588" v1="589" v2="658" v3="2203" />
+ <tetrahedron index="1351" v0="589" v1="658" v2="2203" v3="2204" />
+ <tetrahedron index="1352" v0="658" v1="2203" v2="2204" v3="2273" />
+ <tetrahedron index="1353" v0="589" v1="658" v2="659" v3="2204" />
+ <tetrahedron index="1354" v0="658" v1="659" v2="2204" v3="2273" />
+ <tetrahedron index="1355" v0="659" v1="2204" v2="2273" v3="2274" />
+ <tetrahedron index="1356" v0="660" v1="661" v2="662" v3="2275" />
+ <tetrahedron index="1357" v0="661" v1="662" v2="2275" v3="2276" />
+ <tetrahedron index="1358" v0="662" v1="2275" v2="2276" v3="2277" />
+ <tetrahedron index="1359" v0="61" v1="62" v2="530" v3="1676" />
+ <tetrahedron index="1360" v0="62" v1="530" v2="1676" v3="1677" />
+ <tetrahedron index="1361" v0="530" v1="1676" v2="1677" v3="2145" />
+ <tetrahedron index="1362" v0="62" v1="530" v2="663" v3="1677" />
+ <tetrahedron index="1363" v0="530" v1="663" v2="1677" v3="2145" />
+ <tetrahedron index="1364" v0="663" v1="1677" v2="2145" v3="2278" />
+ <tetrahedron index="1365" v0="93" v1="509" v2="664" v3="1708" />
+ <tetrahedron index="1366" v0="509" v1="664" v2="1708" v3="2124" />
+ <tetrahedron index="1367" v0="664" v1="1708" v2="2124" v3="2279" />
+ <tetrahedron index="1368" v0="584" v1="640" v2="665" v3="2199" />
+ <tetrahedron index="1369" v0="640" v1="665" v2="2199" v3="2255" />
+ <tetrahedron index="1370" v0="665" v1="2199" v2="2255" v3="2280" />
+ <tetrahedron index="1371" v0="24" v1="584" v2="640" v3="1639" />
+ <tetrahedron index="1372" v0="584" v1="640" v2="1639" v3="2199" />
+ <tetrahedron index="1373" v0="640" v1="1639" v2="2199" v3="2255" />
+ <tetrahedron index="1374" v0="230" v1="231" v2="666" v3="1845" />
+ <tetrahedron index="1375" v0="231" v1="666" v2="1845" v3="1846" />
+ <tetrahedron index="1376" v0="666" v1="1845" v2="1846" v3="2281" />
+ <tetrahedron index="1377" v0="61" v1="63" v2="527" v3="1676" />
+ <tetrahedron index="1378" v0="63" v1="527" v2="1676" v3="1678" />
+ <tetrahedron index="1379" v0="527" v1="1676" v2="1678" v3="2142" />
+ <tetrahedron index="1380" v0="536" v1="667" v2="668" v3="2151" />
+ <tetrahedron index="1381" v0="667" v1="668" v2="2151" v3="2282" />
+ <tetrahedron index="1382" v0="668" v1="2151" v2="2282" v3="2283" />
+ <tetrahedron index="1383" v0="466" v1="597" v2="598" v3="2081" />
+ <tetrahedron index="1384" v0="597" v1="598" v2="2081" v3="2212" />
+ <tetrahedron index="1385" v0="598" v1="2081" v2="2212" v3="2213" />
+ <tetrahedron index="1386" v0="362" v1="569" v2="669" v3="1977" />
+ <tetrahedron index="1387" v0="569" v1="669" v2="1977" v3="2184" />
+ <tetrahedron index="1388" v0="669" v1="1977" v2="2184" v3="2284" />
+ <tetrahedron index="1389" v0="581" v1="582" v2="612" v3="2196" />
+ <tetrahedron index="1390" v0="582" v1="612" v2="2196" v3="2197" />
+ <tetrahedron index="1391" v0="612" v1="2196" v2="2197" v3="2227" />
+ <tetrahedron index="1392" v0="250" v1="251" v2="643" v3="1865" />
+ <tetrahedron index="1393" v0="251" v1="643" v2="1865" v3="1866" />
+ <tetrahedron index="1394" v0="643" v1="1865" v2="1866" v3="2258" />
+ <tetrahedron index="1395" v0="251" v1="643" v2="670" v3="1866" />
+ <tetrahedron index="1396" v0="643" v1="670" v2="1866" v3="2258" />
+ <tetrahedron index="1397" v0="670" v1="1866" v2="2258" v3="2285" />
+ <tetrahedron index="1398" v0="641" v1="671" v2="672" v3="2256" />
+ <tetrahedron index="1399" v0="671" v1="672" v2="2256" v3="2286" />
+ <tetrahedron index="1400" v0="672" v1="2256" v2="2286" v3="2287" />
+ <tetrahedron index="1401" v0="126" v1="127" v2="673" v3="1741" />
+ <tetrahedron index="1402" v0="127" v1="673" v2="1741" v3="1742" />
+ <tetrahedron index="1403" v0="673" v1="1741" v2="1742" v3="2288" />
+ <tetrahedron index="1404" v0="213" v1="406" v2="594" v3="1828" />
+ <tetrahedron index="1405" v0="406" v1="594" v2="1828" v3="2021" />
+ <tetrahedron index="1406" v0="594" v1="1828" v2="2021" v3="2209" />
+ <tetrahedron index="1407" v0="228" v1="406" v2="594" v3="1843" />
+ <tetrahedron index="1408" v0="406" v1="594" v2="1843" v3="2021" />
+ <tetrahedron index="1409" v0="594" v1="1843" v2="2021" v3="2209" />
+ <tetrahedron index="1410" v0="254" v1="674" v2="675" v3="1869" />
+ <tetrahedron index="1411" v0="674" v1="675" v2="1869" v3="2289" />
+ <tetrahedron index="1412" v0="675" v1="1869" v2="2289" v3="2290" />
+ <tetrahedron index="1413" v0="638" v1="676" v2="677" v3="2253" />
+ <tetrahedron index="1414" v0="676" v1="677" v2="2253" v3="2291" />
+ <tetrahedron index="1415" v0="677" v1="2253" v2="2291" v3="2292" />
+ <tetrahedron index="1416" v0="598" v1="678" v2="679" v3="2213" />
+ <tetrahedron index="1417" v0="678" v1="679" v2="2213" v3="2293" />
+ <tetrahedron index="1418" v0="679" v1="2213" v2="2293" v3="2294" />
+ <tetrahedron index="1419" v0="598" v1="599" v2="679" v3="2213" />
+ <tetrahedron index="1420" v0="599" v1="679" v2="2213" v3="2214" />
+ <tetrahedron index="1421" v0="679" v1="2213" v2="2214" v3="2294" />
+ <tetrahedron index="1422" v0="370" v1="609" v2="680" v3="1985" />
+ <tetrahedron index="1423" v0="609" v1="680" v2="1985" v3="2224" />
+ <tetrahedron index="1424" v0="680" v1="1985" v2="2224" v3="2295" />
+ <tetrahedron index="1425" v0="125" v1="609" v2="680" v3="1740" />
+ <tetrahedron index="1426" v0="609" v1="680" v2="1740" v3="2224" />
+ <tetrahedron index="1427" v0="680" v1="1740" v2="2224" v3="2295" />
+ <tetrahedron index="1428" v0="464" v1="681" v2="682" v3="2079" />
+ <tetrahedron index="1429" v0="681" v1="682" v2="2079" v3="2296" />
+ <tetrahedron index="1430" v0="682" v1="2079" v2="2296" v3="2297" />
+ <tetrahedron index="1431" v0="683" v1="684" v2="685" v3="2298" />
+ <tetrahedron index="1432" v0="684" v1="685" v2="2298" v3="2299" />
+ <tetrahedron index="1433" v0="685" v1="2298" v2="2299" v3="2300" />
+ <tetrahedron index="1434" v0="683" v1="685" v2="686" v3="2298" />
+ <tetrahedron index="1435" v0="685" v1="686" v2="2298" v3="2300" />
+ <tetrahedron index="1436" v0="686" v1="2298" v2="2300" v3="2301" />
+ <tetrahedron index="1437" v0="64" v1="65" v2="687" v3="1679" />
+ <tetrahedron index="1438" v0="65" v1="687" v2="1679" v3="1680" />
+ <tetrahedron index="1439" v0="687" v1="1679" v2="1680" v3="2302" />
+ <tetrahedron index="1440" v0="232" v1="387" v2="631" v3="1847" />
+ <tetrahedron index="1441" v0="387" v1="631" v2="1847" v3="2002" />
+ <tetrahedron index="1442" v0="631" v1="1847" v2="2002" v3="2246" />
+ <tetrahedron index="1443" v0="364" v1="387" v2="631" v3="1979" />
+ <tetrahedron index="1444" v0="387" v1="631" v2="1979" v3="2002" />
+ <tetrahedron index="1445" v0="631" v1="1979" v2="2002" v3="2246" />
+ <tetrahedron index="1446" v0="282" v1="284" v2="447" v3="1897" />
+ <tetrahedron index="1447" v0="284" v1="447" v2="1897" v3="1899" />
+ <tetrahedron index="1448" v0="447" v1="1897" v2="1899" v3="2062" />
+ <tetrahedron index="1449" v0="284" v1="447" v2="688" v3="1899" />
+ <tetrahedron index="1450" v0="447" v1="688" v2="1899" v3="2062" />
+ <tetrahedron index="1451" v0="688" v1="1899" v2="2062" v3="2303" />
+ <tetrahedron index="1452" v0="374" v1="513" v2="689" v3="1989" />
+ <tetrahedron index="1453" v0="513" v1="689" v2="1989" v3="2128" />
+ <tetrahedron index="1454" v0="689" v1="1989" v2="2128" v3="2304" />
+ <tetrahedron index="1455" v0="512" v1="513" v2="689" v3="2127" />
+ <tetrahedron index="1456" v0="513" v1="689" v2="2127" v3="2128" />
+ <tetrahedron index="1457" v0="689" v1="2127" v2="2128" v3="2304" />
+ <tetrahedron index="1458" v0="337" v1="467" v2="690" v3="1952" />
+ <tetrahedron index="1459" v0="467" v1="690" v2="1952" v3="2082" />
+ <tetrahedron index="1460" v0="690" v1="1952" v2="2082" v3="2305" />
+ <tetrahedron index="1461" v0="691" v1="692" v2="693" v3="2306" />
+ <tetrahedron index="1462" v0="692" v1="693" v2="2306" v3="2307" />
+ <tetrahedron index="1463" v0="693" v1="2306" v2="2307" v3="2308" />
+ <tetrahedron index="1464" v0="125" v1="127" v2="680" v3="1740" />
+ <tetrahedron index="1465" v0="127" v1="680" v2="1740" v3="1742" />
+ <tetrahedron index="1466" v0="680" v1="1740" v2="1742" v3="2295" />
+ <tetrahedron index="1467" v0="127" v1="680" v2="694" v3="1742" />
+ <tetrahedron index="1468" v0="680" v1="694" v2="1742" v3="2295" />
+ <tetrahedron index="1469" v0="694" v1="1742" v2="2295" v3="2309" />
+ <tetrahedron index="1470" v0="345" v1="401" v2="657" v3="1960" />
+ <tetrahedron index="1471" v0="401" v1="657" v2="1960" v3="2016" />
+ <tetrahedron index="1472" v0="657" v1="1960" v2="2016" v3="2272" />
+ <tetrahedron index="1473" v0="193" v1="401" v2="657" v3="1808" />
+ <tetrahedron index="1474" v0="401" v1="657" v2="1808" v3="2016" />
+ <tetrahedron index="1475" v0="657" v1="1808" v2="2016" v3="2272" />
+ <tetrahedron index="1476" v0="685" v1="695" v2="696" v3="2300" />
+ <tetrahedron index="1477" v0="695" v1="696" v2="2300" v3="2310" />
+ <tetrahedron index="1478" v0="696" v1="2300" v2="2310" v3="2311" />
+ <tetrahedron index="1479" v0="264" v1="386" v2="645" v3="1879" />
+ <tetrahedron index="1480" v0="386" v1="645" v2="1879" v3="2001" />
+ <tetrahedron index="1481" v0="645" v1="1879" v2="2001" v3="2260" />
+ <tetrahedron index="1482" v0="267" v1="386" v2="645" v3="1882" />
+ <tetrahedron index="1483" v0="386" v1="645" v2="1882" v3="2001" />
+ <tetrahedron index="1484" v0="645" v1="1882" v2="2001" v3="2260" />
+ <tetrahedron index="1485" v0="122" v1="124" v2="652" v3="1737" />
+ <tetrahedron index="1486" v0="124" v1="652" v2="1737" v3="1739" />
+ <tetrahedron index="1487" v0="652" v1="1737" v2="1739" v3="2267" />
+ <tetrahedron index="1488" v0="83" v1="603" v2="697" v3="1698" />
+ <tetrahedron index="1489" v0="603" v1="697" v2="1698" v3="2218" />
+ <tetrahedron index="1490" v0="697" v1="1698" v2="2218" v3="2312" />
+ <tetrahedron index="1491" v0="603" v1="604" v2="698" v3="2218" />
+ <tetrahedron index="1492" v0="604" v1="698" v2="2218" v3="2219" />
+ <tetrahedron index="1493" v0="698" v1="2218" v2="2219" v3="2313" />
+ <tetrahedron index="1494" v0="533" v1="605" v2="624" v3="2148" />
+ <tetrahedron index="1495" v0="605" v1="624" v2="2148" v3="2220" />
+ <tetrahedron index="1496" v0="624" v1="2148" v2="2220" v3="2239" />
+ <tetrahedron index="1497" v0="259" v1="533" v2="624" v3="1874" />
+ <tetrahedron index="1498" v0="533" v1="624" v2="1874" v3="2148" />
+ <tetrahedron index="1499" v0="624" v1="1874" v2="2148" v3="2239" />
+ <tetrahedron index="1500" v0="165" v1="166" v2="699" v3="1780" />
+ <tetrahedron index="1501" v0="166" v1="699" v2="1780" v3="1781" />
+ <tetrahedron index="1502" v0="699" v1="1780" v2="1781" v3="2314" />
+ <tetrahedron index="1503" v0="165" v1="393" v2="699" v3="1780" />
+ <tetrahedron index="1504" v0="393" v1="699" v2="1780" v3="2008" />
+ <tetrahedron index="1505" v0="699" v1="1780" v2="2008" v3="2314" />
+ <tetrahedron index="1506" v0="174" v1="175" v2="179" v3="1789" />
+ <tetrahedron index="1507" v0="175" v1="179" v2="1789" v3="1790" />
+ <tetrahedron index="1508" v0="179" v1="1789" v2="1790" v3="1794" />
+ <tetrahedron index="1509" v0="82" v1="177" v2="700" v3="1697" />
+ <tetrahedron index="1510" v0="177" v1="700" v2="1697" v3="1792" />
+ <tetrahedron index="1511" v0="700" v1="1697" v2="1792" v3="2315" />
+ <tetrahedron index="1512" v0="177" v1="700" v2="701" v3="1792" />
+ <tetrahedron index="1513" v0="700" v1="701" v2="1792" v3="2315" />
+ <tetrahedron index="1514" v0="701" v1="1792" v2="2315" v3="2316" />
+ <tetrahedron index="1515" v0="443" v1="577" v2="702" v3="2058" />
+ <tetrahedron index="1516" v0="577" v1="702" v2="2058" v3="2192" />
+ <tetrahedron index="1517" v0="702" v1="2058" v2="2192" v3="2317" />
+ <tetrahedron index="1518" v0="693" v1="703" v2="704" v3="2308" />
+ <tetrahedron index="1519" v0="703" v1="704" v2="2308" v3="2318" />
+ <tetrahedron index="1520" v0="704" v1="2308" v2="2318" v3="2319" />
+ <tetrahedron index="1521" v0="345" v1="346" v2="657" v3="1960" />
+ <tetrahedron index="1522" v0="346" v1="657" v2="1960" v3="1961" />
+ <tetrahedron index="1523" v0="657" v1="1960" v2="1961" v3="2272" />
+ <tetrahedron index="1524" v0="346" v1="563" v2="657" v3="1961" />
+ <tetrahedron index="1525" v0="563" v1="657" v2="1961" v3="2178" />
+ <tetrahedron index="1526" v0="657" v1="1961" v2="2178" v3="2272" />
+ <tetrahedron index="1527" v0="429" v1="705" v2="706" v3="2044" />
+ <tetrahedron index="1528" v0="705" v1="706" v2="2044" v3="2320" />
+ <tetrahedron index="1529" v0="706" v1="2044" v2="2320" v3="2321" />
+ <tetrahedron index="1530" v0="550" v1="551" v2="707" v3="2165" />
+ <tetrahedron index="1531" v0="551" v1="707" v2="2165" v3="2166" />
+ <tetrahedron index="1532" v0="707" v1="2165" v2="2166" v3="2322" />
+ <tetrahedron index="1533" v0="238" v1="510" v2="632" v3="1853" />
+ <tetrahedron index="1534" v0="510" v1="632" v2="1853" v3="2125" />
+ <tetrahedron index="1535" v0="632" v1="1853" v2="2125" v3="2247" />
+ <tetrahedron index="1536" v0="363" v1="510" v2="632" v3="1978" />
+ <tetrahedron index="1537" v0="510" v1="632" v2="1978" v3="2125" />
+ <tetrahedron index="1538" v0="632" v1="1978" v2="2125" v3="2247" />
+ <tetrahedron index="1539" v0="2" v1="427" v2="708" v3="1617" />
+ <tetrahedron index="1540" v0="427" v1="708" v2="1617" v3="2042" />
+ <tetrahedron index="1541" v0="708" v1="1617" v2="2042" v3="2323" />
+ <tetrahedron index="1542" v0="427" v1="575" v2="708" v3="2042" />
+ <tetrahedron index="1543" v0="575" v1="708" v2="2042" v3="2190" />
+ <tetrahedron index="1544" v0="708" v1="2042" v2="2190" v3="2323" />
+ <tetrahedron index="1545" v0="348" v1="349" v2="433" v3="1963" />
+ <tetrahedron index="1546" v0="349" v1="433" v2="1963" v3="1964" />
+ <tetrahedron index="1547" v0="433" v1="1963" v2="1964" v3="2048" />
+ <tetrahedron index="1548" v0="96" v1="709" v2="710" v3="1711" />
+ <tetrahedron index="1549" v0="709" v1="710" v2="1711" v3="2324" />
+ <tetrahedron index="1550" v0="710" v1="1711" v2="2324" v3="2325" />
+ <tetrahedron index="1551" v0="711" v1="712" v2="713" v3="2326" />
+ <tetrahedron index="1552" v0="712" v1="713" v2="2326" v3="2327" />
+ <tetrahedron index="1553" v0="713" v1="2326" v2="2327" v3="2328" />
+ <tetrahedron index="1554" v0="330" v1="456" v2="573" v3="1945" />
+ <tetrahedron index="1555" v0="456" v1="573" v2="1945" v3="2071" />
+ <tetrahedron index="1556" v0="573" v1="1945" v2="2071" v3="2188" />
+ <tetrahedron index="1557" v0="456" v1="573" v2="616" v3="2071" />
+ <tetrahedron index="1558" v0="573" v1="616" v2="2071" v3="2188" />
+ <tetrahedron index="1559" v0="616" v1="2071" v2="2188" v3="2231" />
+ <tetrahedron index="1560" v0="292" v1="596" v2="714" v3="1907" />
+ <tetrahedron index="1561" v0="596" v1="714" v2="1907" v3="2211" />
+ <tetrahedron index="1562" v0="714" v1="1907" v2="2211" v3="2329" />
+ <tetrahedron index="1563" v0="291" v1="292" v2="714" v3="1906" />
+ <tetrahedron index="1564" v0="292" v1="714" v2="1906" v3="1907" />
+ <tetrahedron index="1565" v0="714" v1="1906" v2="1907" v3="2329" />
+ <tetrahedron index="1566" v0="515" v1="516" v2="581" v3="2130" />
+ <tetrahedron index="1567" v0="516" v1="581" v2="2130" v3="2131" />
+ <tetrahedron index="1568" v0="581" v1="2130" v2="2131" v3="2196" />
+ <tetrahedron index="1569" v0="516" v1="580" v2="581" v3="2131" />
+ <tetrahedron index="1570" v0="580" v1="581" v2="2131" v3="2195" />
+ <tetrahedron index="1571" v0="581" v1="2131" v2="2195" v3="2196" />
+ <tetrahedron index="1572" v0="226" v1="227" v2="580" v3="1841" />
+ <tetrahedron index="1573" v0="227" v1="580" v2="1841" v3="1842" />
+ <tetrahedron index="1574" v0="580" v1="1841" v2="1842" v3="2195" />
+ <tetrahedron index="1575" v0="226" v1="516" v2="580" v3="1841" />
+ <tetrahedron index="1576" v0="516" v1="580" v2="1841" v3="2131" />
+ <tetrahedron index="1577" v0="580" v1="1841" v2="2131" v3="2195" />
+ <tetrahedron index="1578" v0="201" v1="202" v2="275" v3="1816" />
+ <tetrahedron index="1579" v0="202" v1="275" v2="1816" v3="1817" />
+ <tetrahedron index="1580" v0="275" v1="1816" v2="1817" v3="1890" />
+ <tetrahedron index="1581" v0="280" v1="281" v2="715" v3="1895" />
+ <tetrahedron index="1582" v0="281" v1="715" v2="1895" v3="1896" />
+ <tetrahedron index="1583" v0="715" v1="1895" v2="1896" v3="2330" />
+ <tetrahedron index="1584" v0="716" v1="717" v2="718" v3="2331" />
+ <tetrahedron index="1585" v0="717" v1="718" v2="2331" v3="2332" />
+ <tetrahedron index="1586" v0="718" v1="2331" v2="2332" v3="2333" />
+ <tetrahedron index="1587" v0="121" v1="305" v2="306" v3="1736" />
+ <tetrahedron index="1588" v0="305" v1="306" v2="1736" v3="1920" />
+ <tetrahedron index="1589" v0="306" v1="1736" v2="1920" v3="1921" />
+ <tetrahedron index="1590" v0="121" v1="305" v2="719" v3="1736" />
+ <tetrahedron index="1591" v0="305" v1="719" v2="1736" v3="1920" />
+ <tetrahedron index="1592" v0="719" v1="1736" v2="1920" v3="2334" />
+ <tetrahedron index="1593" v0="452" v1="720" v2="721" v3="2067" />
+ <tetrahedron index="1594" v0="720" v1="721" v2="2067" v3="2335" />
+ <tetrahedron index="1595" v0="721" v1="2067" v2="2335" v3="2336" />
+ <tetrahedron index="1596" v0="135" v1="466" v2="722" v3="1750" />
+ <tetrahedron index="1597" v0="466" v1="722" v2="1750" v3="2081" />
+ <tetrahedron index="1598" v0="722" v1="1750" v2="2081" v3="2337" />
+ <tetrahedron index="1599" v0="378" v1="623" v2="624" v3="1993" />
+ <tetrahedron index="1600" v0="623" v1="624" v2="1993" v3="2238" />
+ <tetrahedron index="1601" v0="624" v1="1993" v2="2238" v3="2239" />
+ <tetrahedron index="1602" v0="206" v1="275" v2="577" v3="1821" />
+ <tetrahedron index="1603" v0="275" v1="577" v2="1821" v3="1890" />
+ <tetrahedron index="1604" v0="577" v1="1821" v2="1890" v3="2192" />
+ <tetrahedron index="1605" v0="168" v1="171" v2="301" v3="1783" />
+ <tetrahedron index="1606" v0="171" v1="301" v2="1783" v3="1786" />
+ <tetrahedron index="1607" v0="301" v1="1783" v2="1786" v3="1916" />
+ <tetrahedron index="1608" v0="513" v1="514" v2="723" v3="2128" />
+ <tetrahedron index="1609" v0="514" v1="723" v2="2128" v3="2129" />
+ <tetrahedron index="1610" v0="723" v1="2128" v2="2129" v3="2338" />
+ <tetrahedron index="1611" v0="376" v1="513" v2="723" v3="1991" />
+ <tetrahedron index="1612" v0="513" v1="723" v2="1991" v3="2128" />
+ <tetrahedron index="1613" v0="723" v1="1991" v2="2128" v3="2338" />
+ <tetrahedron index="1614" v0="240" v1="404" v2="614" v3="1855" />
+ <tetrahedron index="1615" v0="404" v1="614" v2="1855" v3="2019" />
+ <tetrahedron index="1616" v0="614" v1="1855" v2="2019" v3="2229" />
+ <tetrahedron index="1617" v0="68" v1="70" v2="724" v3="1683" />
+ <tetrahedron index="1618" v0="70" v1="724" v2="1683" v3="1685" />
+ <tetrahedron index="1619" v0="724" v1="1683" v2="1685" v3="2339" />
+ <tetrahedron index="1620" v0="70" v1="724" v2="725" v3="1685" />
+ <tetrahedron index="1621" v0="724" v1="725" v2="1685" v3="2339" />
+ <tetrahedron index="1622" v0="725" v1="1685" v2="2339" v3="2340" />
+ <tetrahedron index="1623" v0="332" v1="645" v2="646" v3="1947" />
+ <tetrahedron index="1624" v0="645" v1="646" v2="1947" v3="2260" />
+ <tetrahedron index="1625" v0="646" v1="1947" v2="2260" v3="2261" />
+ <tetrahedron index="1626" v0="264" v1="332" v2="645" v3="1879" />
+ <tetrahedron index="1627" v0="332" v1="645" v2="1879" v3="1947" />
+ <tetrahedron index="1628" v0="645" v1="1879" v2="1947" v3="2260" />
+ <tetrahedron index="1629" v0="182" v1="183" v2="726" v3="1797" />
+ <tetrahedron index="1630" v0="183" v1="726" v2="1797" v3="1798" />
+ <tetrahedron index="1631" v0="726" v1="1797" v2="1798" v3="2341" />
+ <tetrahedron index="1632" v0="532" v1="644" v2="727" v3="2147" />
+ <tetrahedron index="1633" v0="644" v1="727" v2="2147" v3="2259" />
+ <tetrahedron index="1634" v0="727" v1="2147" v2="2259" v3="2342" />
+ <tetrahedron index="1635" v0="531" v1="532" v2="727" v3="2146" />
+ <tetrahedron index="1636" v0="532" v1="727" v2="2146" v3="2147" />
+ <tetrahedron index="1637" v0="727" v1="2146" v2="2147" v3="2342" />
+ <tetrahedron index="1638" v0="305" v1="719" v2="728" v3="1920" />
+ <tetrahedron index="1639" v0="719" v1="728" v2="1920" v3="2334" />
+ <tetrahedron index="1640" v0="728" v1="1920" v2="2334" v3="2343" />
+ <tetrahedron index="1641" v0="517" v1="631" v2="729" v3="2132" />
+ <tetrahedron index="1642" v0="631" v1="729" v2="2132" v3="2246" />
+ <tetrahedron index="1643" v0="729" v1="2132" v2="2246" v3="2344" />
+ <tetrahedron index="1644" v0="364" v1="517" v2="631" v3="1979" />
+ <tetrahedron index="1645" v0="517" v1="631" v2="1979" v3="2132" />
+ <tetrahedron index="1646" v0="631" v1="1979" v2="2132" v3="2246" />
+ <tetrahedron index="1647" v0="418" v1="472" v2="473" v3="2033" />
+ <tetrahedron index="1648" v0="472" v1="473" v2="2033" v3="2087" />
+ <tetrahedron index="1649" v0="473" v1="2033" v2="2087" v3="2088" />
+ <tetrahedron index="1650" v0="189" v1="407" v2="730" v3="1804" />
+ <tetrahedron index="1651" v0="407" v1="730" v2="1804" v3="2022" />
+ <tetrahedron index="1652" v0="730" v1="1804" v2="2022" v3="2345" />
+ <tetrahedron index="1653" v0="189" v1="407" v2="410" v3="1804" />
+ <tetrahedron index="1654" v0="407" v1="410" v2="1804" v3="2022" />
+ <tetrahedron index="1655" v0="410" v1="1804" v2="2022" v3="2025" />
+ <tetrahedron index="1656" v0="380" v1="731" v2="732" v3="1995" />
+ <tetrahedron index="1657" v0="731" v1="732" v2="1995" v3="2346" />
+ <tetrahedron index="1658" v0="732" v1="1995" v2="2346" v3="2347" />
+ <tetrahedron index="1659" v0="434" v1="437" v2="457" v3="2049" />
+ <tetrahedron index="1660" v0="437" v1="457" v2="2049" v3="2052" />
+ <tetrahedron index="1661" v0="457" v1="2049" v2="2052" v3="2072" />
+ <tetrahedron index="1662" v0="437" v1="457" v2="515" v3="2052" />
+ <tetrahedron index="1663" v0="457" v1="515" v2="2052" v3="2072" />
+ <tetrahedron index="1664" v0="515" v1="2052" v2="2072" v3="2130" />
+ <tetrahedron index="1665" v0="260" v1="342" v2="633" v3="1875" />
+ <tetrahedron index="1666" v0="342" v1="633" v2="1875" v3="1957" />
+ <tetrahedron index="1667" v0="633" v1="1875" v2="1957" v3="2248" />
+ <tetrahedron index="1668" v0="733" v1="734" v2="735" v3="2348" />
+ <tetrahedron index="1669" v0="734" v1="735" v2="2348" v3="2349" />
+ <tetrahedron index="1670" v0="735" v1="2348" v2="2349" v3="2350" />
+ <tetrahedron index="1671" v0="518" v1="733" v2="735" v3="2133" />
+ <tetrahedron index="1672" v0="733" v1="735" v2="2133" v3="2348" />
+ <tetrahedron index="1673" v0="735" v1="2133" v2="2348" v3="2350" />
+ <tetrahedron index="1674" v0="163" v1="167" v2="168" v3="1778" />
+ <tetrahedron index="1675" v0="167" v1="168" v2="1778" v3="1782" />
+ <tetrahedron index="1676" v0="168" v1="1778" v2="1782" v3="1783" />
+ <tetrahedron index="1677" v0="163" v1="168" v2="302" v3="1778" />
+ <tetrahedron index="1678" v0="168" v1="302" v2="1778" v3="1783" />
+ <tetrahedron index="1679" v0="302" v1="1778" v2="1783" v3="1917" />
+ <tetrahedron index="1680" v0="538" v1="615" v2="736" v3="2153" />
+ <tetrahedron index="1681" v0="615" v1="736" v2="2153" v3="2230" />
+ <tetrahedron index="1682" v0="736" v1="2153" v2="2230" v3="2351" />
+ <tetrahedron index="1683" v0="266" v1="267" v2="737" v3="1881" />
+ <tetrahedron index="1684" v0="267" v1="737" v2="1881" v3="1882" />
+ <tetrahedron index="1685" v0="737" v1="1881" v2="1882" v3="2352" />
+ <tetrahedron index="1686" v0="267" v1="386" v2="737" v3="1882" />
+ <tetrahedron index="1687" v0="386" v1="737" v2="1882" v3="2001" />
+ <tetrahedron index="1688" v0="737" v1="1882" v2="2001" v3="2352" />
+ <tetrahedron index="1689" v0="583" v1="584" v2="738" v3="2198" />
+ <tetrahedron index="1690" v0="584" v1="738" v2="2198" v3="2199" />
+ <tetrahedron index="1691" v0="738" v1="2198" v2="2199" v3="2353" />
+ <tetrahedron index="1692" v0="75" v1="739" v2="740" v3="1690" />
+ <tetrahedron index="1693" v0="739" v1="740" v2="1690" v3="2354" />
+ <tetrahedron index="1694" v0="740" v1="1690" v2="2354" v3="2355" />
+ <tetrahedron index="1695" v0="73" v1="75" v2="740" v3="1688" />
+ <tetrahedron index="1696" v0="75" v1="740" v2="1688" v3="1690" />
+ <tetrahedron index="1697" v0="740" v1="1688" v2="1690" v3="2355" />
+ <tetrahedron index="1698" v0="248" v1="405" v2="741" v3="1863" />
+ <tetrahedron index="1699" v0="405" v1="741" v2="1863" v3="2020" />
+ <tetrahedron index="1700" v0="741" v1="1863" v2="2020" v3="2356" />
+ <tetrahedron index="1701" v0="520" v1="521" v2="742" v3="2135" />
+ <tetrahedron index="1702" v0="521" v1="742" v2="2135" v3="2136" />
+ <tetrahedron index="1703" v0="742" v1="2135" v2="2136" v3="2357" />
+ <tetrahedron index="1704" v0="521" v1="625" v2="742" v3="2136" />
+ <tetrahedron index="1705" v0="625" v1="742" v2="2136" v3="2240" />
+ <tetrahedron index="1706" v0="742" v1="2136" v2="2240" v3="2357" />
+ <tetrahedron index="1707" v0="743" v1="744" v2="745" v3="2358" />
+ <tetrahedron index="1708" v0="744" v1="745" v2="2358" v3="2359" />
+ <tetrahedron index="1709" v0="745" v1="2358" v2="2359" v3="2360" />
+ <tetrahedron index="1710" v0="530" v1="532" v2="663" v3="2145" />
+ <tetrahedron index="1711" v0="532" v1="663" v2="2145" v3="2147" />
+ <tetrahedron index="1712" v0="663" v1="2145" v2="2147" v3="2278" />
+ <tetrahedron index="1713" v0="159" v1="532" v2="663" v3="1774" />
+ <tetrahedron index="1714" v0="532" v1="663" v2="1774" v3="2147" />
+ <tetrahedron index="1715" v0="663" v1="1774" v2="2147" v3="2278" />
+ <tetrahedron index="1716" v0="33" v1="661" v2="662" v3="1648" />
+ <tetrahedron index="1717" v0="661" v1="662" v2="1648" v3="2276" />
+ <tetrahedron index="1718" v0="662" v1="1648" v2="2276" v3="2277" />
+ <tetrahedron index="1719" v0="454" v1="533" v2="556" v3="2069" />
+ <tetrahedron index="1720" v0="533" v1="556" v2="2069" v3="2148" />
+ <tetrahedron index="1721" v0="556" v1="2069" v2="2148" v3="2171" />
+ <tetrahedron index="1722" v0="258" v1="454" v2="533" v3="1873" />
+ <tetrahedron index="1723" v0="454" v1="533" v2="1873" v3="2069" />
+ <tetrahedron index="1724" v0="533" v1="1873" v2="2069" v3="2148" />
+ <tetrahedron index="1725" v0="223" v1="523" v2="524" v3="1838" />
+ <tetrahedron index="1726" v0="523" v1="524" v2="1838" v3="2138" />
+ <tetrahedron index="1727" v0="524" v1="1838" v2="2138" v3="2139" />
+ <tetrahedron index="1728" v0="223" v1="225" v2="524" v3="1838" />
+ <tetrahedron index="1729" v0="225" v1="524" v2="1838" v3="1840" />
+ <tetrahedron index="1730" v0="524" v1="1838" v2="1840" v3="2139" />
+ <tetrahedron index="1731" v0="160" v1="746" v2="747" v3="1775" />
+ <tetrahedron index="1732" v0="746" v1="747" v2="1775" v3="2361" />
+ <tetrahedron index="1733" v0="747" v1="1775" v2="2361" v3="2362" />
+ <tetrahedron index="1734" v0="357" v1="358" v2="748" v3="1972" />
+ <tetrahedron index="1735" v0="358" v1="748" v2="1972" v3="1973" />
+ <tetrahedron index="1736" v0="748" v1="1972" v2="1973" v3="2363" />
+ <tetrahedron index="1737" v0="400" v1="401" v2="649" v3="2015" />
+ <tetrahedron index="1738" v0="401" v1="649" v2="2015" v3="2016" />
+ <tetrahedron index="1739" v0="649" v1="2015" v2="2016" v3="2264" />
+ <tetrahedron index="1740" v0="416" v1="648" v2="697" v3="2031" />
+ <tetrahedron index="1741" v0="648" v1="697" v2="2031" v3="2263" />
+ <tetrahedron index="1742" v0="697" v1="2031" v2="2263" v3="2312" />
+ <tetrahedron index="1743" v0="404" v1="613" v2="749" v3="2019" />
+ <tetrahedron index="1744" v0="613" v1="749" v2="2019" v3="2228" />
+ <tetrahedron index="1745" v0="749" v1="2019" v2="2228" v3="2364" />
+ <tetrahedron index="1746" v0="277" v1="483" v2="750" v3="1892" />
+ <tetrahedron index="1747" v0="483" v1="750" v2="1892" v3="2098" />
+ <tetrahedron index="1748" v0="750" v1="1892" v2="2098" v3="2365" />
+ <tetrahedron index="1749" v0="77" v1="455" v2="537" v3="1692" />
+ <tetrahedron index="1750" v0="455" v1="537" v2="1692" v3="2070" />
+ <tetrahedron index="1751" v0="537" v1="1692" v2="2070" v3="2152" />
+ <tetrahedron index="1752" v0="221" v1="455" v2="537" v3="1836" />
+ <tetrahedron index="1753" v0="455" v1="537" v2="1836" v3="2070" />
+ <tetrahedron index="1754" v0="537" v1="1836" v2="2070" v3="2152" />
+ <tetrahedron index="1755" v0="538" v1="539" v2="751" v3="2153" />
+ <tetrahedron index="1756" v0="539" v1="751" v2="2153" v3="2154" />
+ <tetrahedron index="1757" v0="751" v1="2153" v2="2154" v3="2366" />
+ <tetrahedron index="1758" v0="544" v1="545" v2="752" v3="2159" />
+ <tetrahedron index="1759" v0="545" v1="752" v2="2159" v3="2160" />
+ <tetrahedron index="1760" v0="752" v1="2159" v2="2160" v3="2367" />
+ <tetrahedron index="1761" v0="73" v1="740" v2="753" v3="1688" />
+ <tetrahedron index="1762" v0="740" v1="753" v2="1688" v3="2355" />
+ <tetrahedron index="1763" v0="753" v1="1688" v2="2355" v3="2368" />
+ <tetrahedron index="1764" v0="653" v1="754" v2="755" v3="2268" />
+ <tetrahedron index="1765" v0="754" v1="755" v2="2268" v3="2369" />
+ <tetrahedron index="1766" v0="755" v1="2268" v2="2369" v3="2370" />
+ <tetrahedron index="1767" v0="652" v1="653" v2="754" v3="2267" />
+ <tetrahedron index="1768" v0="653" v1="754" v2="2267" v3="2268" />
+ <tetrahedron index="1769" v0="754" v1="2267" v2="2268" v3="2369" />
+ <tetrahedron index="1770" v0="712" v1="713" v2="756" v3="2327" />
+ <tetrahedron index="1771" v0="713" v1="756" v2="2327" v3="2328" />
+ <tetrahedron index="1772" v0="756" v1="2327" v2="2328" v3="2371" />
+ <tetrahedron index="1773" v0="118" v1="445" v2="567" v3="1733" />
+ <tetrahedron index="1774" v0="445" v1="567" v2="1733" v3="2060" />
+ <tetrahedron index="1775" v0="567" v1="1733" v2="2060" v3="2182" />
+ <tetrahedron index="1776" v0="238" v1="526" v2="632" v3="1853" />
+ <tetrahedron index="1777" v0="526" v1="632" v2="1853" v3="2141" />
+ <tetrahedron index="1778" v0="632" v1="1853" v2="2141" v3="2247" />
+ <tetrahedron index="1779" v0="235" v1="526" v2="632" v3="1850" />
+ <tetrahedron index="1780" v0="526" v1="632" v2="1850" v3="2141" />
+ <tetrahedron index="1781" v0="632" v1="1850" v2="2141" v3="2247" />
+ <tetrahedron index="1782" v0="492" v1="639" v2="757" v3="2107" />
+ <tetrahedron index="1783" v0="639" v1="757" v2="2107" v3="2254" />
+ <tetrahedron index="1784" v0="757" v1="2107" v2="2254" v3="2372" />
+ <tetrahedron index="1785" v0="177" v1="385" v2="758" v3="1792" />
+ <tetrahedron index="1786" v0="385" v1="758" v2="1792" v3="2000" />
+ <tetrahedron index="1787" v0="758" v1="1792" v2="2000" v3="2373" />
+ <tetrahedron index="1788" v0="223" v1="523" v2="758" v3="1838" />
+ <tetrahedron index="1789" v0="523" v1="758" v2="1838" v3="2138" />
+ <tetrahedron index="1790" v0="758" v1="1838" v2="2138" v3="2373" />
+ <tetrahedron index="1791" v0="360" v1="525" v2="759" v3="1975" />
+ <tetrahedron index="1792" v0="525" v1="759" v2="1975" v3="2140" />
+ <tetrahedron index="1793" v0="759" v1="1975" v2="2140" v3="2374" />
+ <tetrahedron index="1794" v0="360" v1="759" v2="760" v3="1975" />
+ <tetrahedron index="1795" v0="759" v1="760" v2="1975" v3="2374" />
+ <tetrahedron index="1796" v0="760" v1="1975" v2="2374" v3="2375" />
+ <tetrahedron index="1797" v0="382" v1="427" v2="575" v3="1997" />
+ <tetrahedron index="1798" v0="427" v1="575" v2="1997" v3="2042" />
+ <tetrahedron index="1799" v0="575" v1="1997" v2="2042" v3="2190" />
+ <tetrahedron index="1800" v0="382" v1="383" v2="427" v3="1997" />
+ <tetrahedron index="1801" v0="383" v1="427" v2="1997" v3="1998" />
+ <tetrahedron index="1802" v0="427" v1="1997" v2="1998" v3="2042" />
+ <tetrahedron index="1803" v0="114" v1="118" v2="567" v3="1729" />
+ <tetrahedron index="1804" v0="118" v1="567" v2="1729" v3="1733" />
+ <tetrahedron index="1805" v0="567" v1="1729" v2="1733" v3="2182" />
+ <tetrahedron index="1806" v0="555" v1="556" v2="761" v3="2170" />
+ <tetrahedron index="1807" v0="556" v1="761" v2="2170" v3="2171" />
+ <tetrahedron index="1808" v0="761" v1="2170" v2="2171" v3="2376" />
+ <tetrahedron index="1809" v0="552" v1="555" v2="761" v3="2167" />
+ <tetrahedron index="1810" v0="555" v1="761" v2="2167" v3="2170" />
+ <tetrahedron index="1811" v0="761" v1="2167" v2="2170" v3="2376" />
+ <tetrahedron index="1812" v0="546" v1="547" v2="762" v3="2161" />
+ <tetrahedron index="1813" v0="547" v1="762" v2="2161" v3="2162" />
+ <tetrahedron index="1814" v0="762" v1="2161" v2="2162" v3="2377" />
+ <tetrahedron index="1815" v0="546" v1="762" v2="763" v3="2161" />
+ <tetrahedron index="1816" v0="762" v1="763" v2="2161" v3="2377" />
+ <tetrahedron index="1817" v0="763" v1="2161" v2="2377" v3="2378" />
+ <tetrahedron index="1818" v0="486" v1="764" v2="765" v3="2101" />
+ <tetrahedron index="1819" v0="764" v1="765" v2="2101" v3="2379" />
+ <tetrahedron index="1820" v0="765" v1="2101" v2="2379" v3="2380" />
+ <tetrahedron index="1821" v0="484" v1="486" v2="765" v3="2099" />
+ <tetrahedron index="1822" v0="486" v1="765" v2="2099" v3="2101" />
+ <tetrahedron index="1823" v0="765" v1="2099" v2="2101" v3="2380" />
+ <tetrahedron index="1824" v0="604" v1="698" v2="766" v3="2219" />
+ <tetrahedron index="1825" v0="698" v1="766" v2="2219" v3="2313" />
+ <tetrahedron index="1826" v0="766" v1="2219" v2="2313" v3="2381" />
+ <tetrahedron index="1827" v0="628" v1="635" v2="767" v3="2243" />
+ <tetrahedron index="1828" v0="635" v1="767" v2="2243" v3="2250" />
+ <tetrahedron index="1829" v0="767" v1="2243" v2="2250" v3="2382" />
+ <tetrahedron index="1830" v0="484" v1="765" v2="768" v3="2099" />
+ <tetrahedron index="1831" v0="765" v1="768" v2="2099" v3="2380" />
+ <tetrahedron index="1832" v0="768" v1="2099" v2="2380" v3="2383" />
+ <tetrahedron index="1833" v0="476" v1="478" v2="651" v3="2091" />
+ <tetrahedron index="1834" v0="478" v1="651" v2="2091" v3="2093" />
+ <tetrahedron index="1835" v0="651" v1="2091" v2="2093" v3="2266" />
+ <tetrahedron index="1836" v0="345" v1="399" v2="669" v3="1960" />
+ <tetrahedron index="1837" v0="399" v1="669" v2="1960" v3="2014" />
+ <tetrahedron index="1838" v0="669" v1="1960" v2="2014" v3="2284" />
+ <tetrahedron index="1839" v0="345" v1="347" v2="669" v3="1960" />
+ <tetrahedron index="1840" v0="347" v1="669" v2="1960" v3="1962" />
+ <tetrahedron index="1841" v0="669" v1="1960" v2="1962" v3="2284" />
+ <tetrahedron index="1842" v0="309" v1="591" v2="592" v3="1924" />
+ <tetrahedron index="1843" v0="591" v1="592" v2="1924" v3="2206" />
+ <tetrahedron index="1844" v0="592" v1="1924" v2="2206" v3="2207" />
+ <tetrahedron index="1845" v0="309" v1="591" v2="769" v3="1924" />
+ <tetrahedron index="1846" v0="591" v1="769" v2="1924" v3="2206" />
+ <tetrahedron index="1847" v0="769" v1="1924" v2="2206" v3="2384" />
+ <tetrahedron index="1848" v0="536" v1="537" v2="667" v3="2151" />
+ <tetrahedron index="1849" v0="537" v1="667" v2="2151" v3="2152" />
+ <tetrahedron index="1850" v0="667" v1="2151" v2="2152" v3="2282" />
+ <tetrahedron index="1851" v0="712" v1="770" v2="771" v3="2327" />
+ <tetrahedron index="1852" v0="770" v1="771" v2="2327" v3="2385" />
+ <tetrahedron index="1853" v0="771" v1="2327" v2="2385" v3="2386" />
+ <tetrahedron index="1854" v0="32" v1="34" v2="142" v3="1647" />
+ <tetrahedron index="1855" v0="34" v1="142" v2="1647" v3="1649" />
+ <tetrahedron index="1856" v0="142" v1="1647" v2="1649" v3="1757" />
+ <tetrahedron index="1857" v0="203" v1="419" v2="635" v3="1818" />
+ <tetrahedron index="1858" v0="419" v1="635" v2="1818" v3="2034" />
+ <tetrahedron index="1859" v0="635" v1="1818" v2="2034" v3="2250" />
+ <tetrahedron index="1860" v0="201" v1="203" v2="635" v3="1816" />
+ <tetrahedron index="1861" v0="203" v1="635" v2="1816" v3="1818" />
+ <tetrahedron index="1862" v0="635" v1="1816" v2="1818" v3="2250" />
+ <tetrahedron index="1863" v0="226" v1="508" v2="516" v3="1841" />
+ <tetrahedron index="1864" v0="508" v1="516" v2="1841" v3="2123" />
+ <tetrahedron index="1865" v0="516" v1="1841" v2="2123" v3="2131" />
+ <tetrahedron index="1866" v0="226" v1="508" v2="519" v3="1841" />
+ <tetrahedron index="1867" v0="508" v1="519" v2="1841" v3="2123" />
+ <tetrahedron index="1868" v0="519" v1="1841" v2="2123" v3="2134" />
+ <tetrahedron index="1869" v0="438" v1="772" v2="773" v3="2053" />
+ <tetrahedron index="1870" v0="772" v1="773" v2="2053" v3="2387" />
+ <tetrahedron index="1871" v0="773" v1="2053" v2="2387" v3="2388" />
+ <tetrahedron index="1872" v0="604" v1="766" v2="774" v3="2219" />
+ <tetrahedron index="1873" v0="766" v1="774" v2="2219" v3="2381" />
+ <tetrahedron index="1874" v0="774" v1="2219" v2="2381" v3="2389" />
+ <tetrahedron index="1875" v0="157" v1="527" v2="775" v3="1772" />
+ <tetrahedron index="1876" v0="527" v1="775" v2="1772" v3="2142" />
+ <tetrahedron index="1877" v0="775" v1="1772" v2="2142" v3="2390" />
+ <tetrahedron index="1878" v0="168" v1="169" v2="171" v3="1783" />
+ <tetrahedron index="1879" v0="169" v1="171" v2="1783" v3="1784" />
+ <tetrahedron index="1880" v0="171" v1="1783" v2="1784" v3="1786" />
+ <tetrahedron index="1881" v0="117" v1="118" v2="445" v3="1732" />
+ <tetrahedron index="1882" v0="118" v1="445" v2="1732" v3="1733" />
+ <tetrahedron index="1883" v0="445" v1="1732" v2="1733" v3="2060" />
+ <tetrahedron index="1884" v0="308" v1="309" v2="592" v3="1923" />
+ <tetrahedron index="1885" v0="309" v1="592" v2="1923" v3="1924" />
+ <tetrahedron index="1886" v0="592" v1="1923" v2="1924" v3="2207" />
+ <tetrahedron index="1887" v0="636" v1="776" v2="777" v3="2251" />
+ <tetrahedron index="1888" v0="776" v1="777" v2="2251" v3="2391" />
+ <tetrahedron index="1889" v0="777" v1="2251" v2="2391" v3="2392" />
+ <tetrahedron index="1890" v0="778" v1="779" v2="780" v3="2393" />
+ <tetrahedron index="1891" v0="779" v1="780" v2="2393" v3="2394" />
+ <tetrahedron index="1892" v0="780" v1="2393" v2="2394" v3="2395" />
+ <tetrahedron index="1893" v0="183" v1="265" v2="266" v3="1798" />
+ <tetrahedron index="1894" v0="265" v1="266" v2="1798" v3="1880" />
+ <tetrahedron index="1895" v0="266" v1="1798" v2="1880" v3="1881" />
+ <tetrahedron index="1896" v0="781" v1="782" v2="783" v3="2396" />
+ <tetrahedron index="1897" v0="782" v1="783" v2="2396" v3="2397" />
+ <tetrahedron index="1898" v0="783" v1="2396" v2="2397" v3="2398" />
+ <tetrahedron index="1899" v0="610" v1="611" v2="784" v3="2225" />
+ <tetrahedron index="1900" v0="611" v1="784" v2="2225" v3="2226" />
+ <tetrahedron index="1901" v0="784" v1="2225" v2="2226" v3="2399" />
+ <tetrahedron index="1902" v0="85" v1="693" v2="704" v3="1700" />
+ <tetrahedron index="1903" v0="693" v1="704" v2="1700" v3="2308" />
+ <tetrahedron index="1904" v0="704" v1="1700" v2="2308" v3="2319" />
+ <tetrahedron index="1905" v0="739" v1="740" v2="785" v3="2354" />
+ <tetrahedron index="1906" v0="740" v1="785" v2="2354" v3="2355" />
+ <tetrahedron index="1907" v0="785" v1="2354" v2="2355" v3="2400" />
+ <tetrahedron index="1908" v0="134" v1="135" v2="466" v3="1749" />
+ <tetrahedron index="1909" v0="135" v1="466" v2="1749" v3="1750" />
+ <tetrahedron index="1910" v0="466" v1="1749" v2="1750" v3="2081" />
+ <tetrahedron index="1911" v0="637" v1="638" v2="677" v3="2252" />
+ <tetrahedron index="1912" v0="638" v1="677" v2="2252" v3="2253" />
+ <tetrahedron index="1913" v0="677" v1="2252" v2="2253" v3="2292" />
+ <tetrahedron index="1914" v0="20" v1="786" v2="787" v3="1635" />
+ <tetrahedron index="1915" v0="786" v1="787" v2="1635" v3="2401" />
+ <tetrahedron index="1916" v0="787" v1="1635" v2="2401" v3="2402" />
+ <tetrahedron index="1917" v0="73" v1="74" v2="440" v3="1688" />
+ <tetrahedron index="1918" v0="74" v1="440" v2="1688" v3="1689" />
+ <tetrahedron index="1919" v0="440" v1="1688" v2="1689" v3="2055" />
+ <tetrahedron index="1920" v0="781" v1="782" v2="788" v3="2396" />
+ <tetrahedron index="1921" v0="782" v1="788" v2="2396" v3="2397" />
+ <tetrahedron index="1922" v0="788" v1="2396" v2="2397" v3="2403" />
+ <tetrahedron index="1923" v0="248" v1="741" v2="789" v3="1863" />
+ <tetrahedron index="1924" v0="741" v1="789" v2="1863" v3="2356" />
+ <tetrahedron index="1925" v0="789" v1="1863" v2="2356" v3="2404" />
+ <tetrahedron index="1926" v0="248" v1="406" v2="789" v3="1863" />
+ <tetrahedron index="1927" v0="406" v1="789" v2="1863" v3="2021" />
+ <tetrahedron index="1928" v0="789" v1="1863" v2="2021" v3="2404" />
+ <tetrahedron index="1929" v0="790" v1="791" v2="792" v3="2405" />
+ <tetrahedron index="1930" v0="791" v1="792" v2="2405" v3="2406" />
+ <tetrahedron index="1931" v0="792" v1="2405" v2="2406" v3="2407" />
+ <tetrahedron index="1932" v0="138" v1="790" v2="792" v3="1753" />
+ <tetrahedron index="1933" v0="790" v1="792" v2="1753" v3="2405" />
+ <tetrahedron index="1934" v0="792" v1="1753" v2="2405" v3="2407" />
+ <tetrahedron index="1935" v0="793" v1="794" v2="795" v3="2408" />
+ <tetrahedron index="1936" v0="794" v1="795" v2="2408" v3="2409" />
+ <tetrahedron index="1937" v0="795" v1="2408" v2="2409" v3="2410" />
+ <tetrahedron index="1938" v0="796" v1="797" v2="798" v3="2411" />
+ <tetrahedron index="1939" v0="797" v1="798" v2="2411" v3="2412" />
+ <tetrahedron index="1940" v0="798" v1="2411" v2="2412" v3="2413" />
+ <tetrahedron index="1941" v0="153" v1="155" v2="799" v3="1768" />
+ <tetrahedron index="1942" v0="155" v1="799" v2="1768" v3="1770" />
+ <tetrahedron index="1943" v0="799" v1="1768" v2="1770" v3="2414" />
+ <tetrahedron index="1944" v0="318" v1="356" v2="800" v3="1933" />
+ <tetrahedron index="1945" v0="356" v1="800" v2="1933" v3="1971" />
+ <tetrahedron index="1946" v0="800" v1="1933" v2="1971" v3="2415" />
+ <tetrahedron index="1947" v0="207" v1="375" v2="376" v3="1822" />
+ <tetrahedron index="1948" v0="375" v1="376" v2="1822" v3="1990" />
+ <tetrahedron index="1949" v0="376" v1="1822" v2="1990" v3="1991" />
+ <tetrahedron index="1950" v0="114" v1="116" v2="118" v3="1729" />
+ <tetrahedron index="1951" v0="116" v1="118" v2="1729" v3="1731" />
+ <tetrahedron index="1952" v0="118" v1="1729" v2="1731" v3="1733" />
+ <tetrahedron index="1953" v0="5" v1="114" v2="116" v3="1620" />
+ <tetrahedron index="1954" v0="114" v1="116" v2="1620" v3="1729" />
+ <tetrahedron index="1955" v0="116" v1="1620" v2="1729" v3="1731" />
+ <tetrahedron index="1956" v0="796" v1="797" v2="801" v3="2411" />
+ <tetrahedron index="1957" v0="797" v1="801" v2="2411" v3="2412" />
+ <tetrahedron index="1958" v0="801" v1="2411" v2="2412" v3="2416" />
+ <tetrahedron index="1959" v0="538" v1="615" v2="802" v3="2153" />
+ <tetrahedron index="1960" v0="615" v1="802" v2="2153" v3="2230" />
+ <tetrahedron index="1961" v0="802" v1="2153" v2="2230" v3="2417" />
+ <tetrahedron index="1962" v0="300" v1="803" v2="804" v3="1915" />
+ <tetrahedron index="1963" v0="803" v1="804" v2="1915" v3="2418" />
+ <tetrahedron index="1964" v0="804" v1="1915" v2="2418" v3="2419" />
+ <tetrahedron index="1965" v0="782" v1="788" v2="805" v3="2397" />
+ <tetrahedron index="1966" v0="788" v1="805" v2="2397" v3="2403" />
+ <tetrahedron index="1967" v0="805" v1="2397" v2="2403" v3="2420" />
+ <tetrahedron index="1968" v0="806" v1="807" v2="808" v3="2421" />
+ <tetrahedron index="1969" v0="807" v1="808" v2="2421" v3="2422" />
+ <tetrahedron index="1970" v0="808" v1="2421" v2="2422" v3="2423" />
+ <tetrahedron index="1971" v0="718" v1="809" v2="810" v3="2333" />
+ <tetrahedron index="1972" v0="809" v1="810" v2="2333" v3="2424" />
+ <tetrahedron index="1973" v0="810" v1="2333" v2="2424" v3="2425" />
+ <tetrahedron index="1974" v0="399" v1="669" v2="811" v3="2014" />
+ <tetrahedron index="1975" v0="669" v1="811" v2="2014" v3="2284" />
+ <tetrahedron index="1976" v0="811" v1="2014" v2="2284" v3="2426" />
+ <tetrahedron index="1977" v0="803" v1="812" v2="813" v3="2418" />
+ <tetrahedron index="1978" v0="812" v1="813" v2="2418" v3="2427" />
+ <tetrahedron index="1979" v0="813" v1="2418" v2="2427" v3="2428" />
+ <tetrahedron index="1980" v0="362" v1="669" v2="811" v3="1977" />
+ <tetrahedron index="1981" v0="669" v1="811" v2="1977" v3="2284" />
+ <tetrahedron index="1982" v0="811" v1="1977" v2="2284" v3="2426" />
+ <tetrahedron index="1983" v0="814" v1="815" v2="816" v3="2429" />
+ <tetrahedron index="1984" v0="815" v1="816" v2="2429" v3="2430" />
+ <tetrahedron index="1985" v0="816" v1="2429" v2="2430" v3="2431" />
+ <tetrahedron index="1986" v0="354" v1="420" v2="600" v3="1969" />
+ <tetrahedron index="1987" v0="420" v1="600" v2="1969" v3="2035" />
+ <tetrahedron index="1988" v0="600" v1="1969" v2="2035" v3="2215" />
+ <tetrahedron index="1989" v0="466" v1="597" v2="722" v3="2081" />
+ <tetrahedron index="1990" v0="597" v1="722" v2="2081" v3="2212" />
+ <tetrahedron index="1991" v0="722" v1="2081" v2="2212" v3="2337" />
+ <tetrahedron index="1992" v0="170" v1="538" v2="736" v3="1785" />
+ <tetrahedron index="1993" v0="538" v1="736" v2="1785" v3="2153" />
+ <tetrahedron index="1994" v0="736" v1="1785" v2="2153" v3="2351" />
+ <tetrahedron index="1995" v0="817" v1="818" v2="819" v3="2432" />
+ <tetrahedron index="1996" v0="818" v1="819" v2="2432" v3="2433" />
+ <tetrahedron index="1997" v0="819" v1="2432" v2="2433" v3="2434" />
+ <tetrahedron index="1998" v0="194" v1="461" v2="820" v3="1809" />
+ <tetrahedron index="1999" v0="461" v1="820" v2="1809" v3="2076" />
+ <tetrahedron index="2000" v0="820" v1="1809" v2="2076" v3="2435" />
+ <tetrahedron index="2001" v0="377" v1="821" v2="822" v3="1992" />
+ <tetrahedron index="2002" v0="821" v1="822" v2="1992" v3="2436" />
+ <tetrahedron index="2003" v0="822" v1="1992" v2="2436" v3="2437" />
+ <tetrahedron index="2004" v0="554" v1="823" v2="824" v3="2169" />
+ <tetrahedron index="2005" v0="823" v1="824" v2="2169" v3="2438" />
+ <tetrahedron index="2006" v0="824" v1="2169" v2="2438" v3="2439" />
+ <tetrahedron index="2007" v0="338" v1="467" v2="825" v3="1953" />
+ <tetrahedron index="2008" v0="467" v1="825" v2="1953" v3="2082" />
+ <tetrahedron index="2009" v0="825" v1="1953" v2="2082" v3="2440" />
+ <tetrahedron index="2010" v0="578" v1="767" v2="826" v3="2193" />
+ <tetrahedron index="2011" v0="767" v1="826" v2="2193" v3="2382" />
+ <tetrahedron index="2012" v0="826" v1="2193" v2="2382" v3="2441" />
+ <tetrahedron index="2013" v0="137" v1="593" v2="827" v3="1752" />
+ <tetrahedron index="2014" v0="593" v1="827" v2="1752" v3="2208" />
+ <tetrahedron index="2015" v0="827" v1="1752" v2="2208" v3="2442" />
+ <tetrahedron index="2016" v0="599" v1="679" v2="828" v3="2214" />
+ <tetrahedron index="2017" v0="679" v1="828" v2="2214" v3="2294" />
+ <tetrahedron index="2018" v0="828" v1="2214" v2="2294" v3="2443" />
+ <tetrahedron index="2019" v0="599" v1="828" v2="829" v3="2214" />
+ <tetrahedron index="2020" v0="828" v1="829" v2="2214" v3="2443" />
+ <tetrahedron index="2021" v0="829" v1="2214" v2="2443" v3="2444" />
+ <tetrahedron index="2022" v0="629" v1="767" v2="826" v3="2244" />
+ <tetrahedron index="2023" v0="767" v1="826" v2="2244" v3="2382" />
+ <tetrahedron index="2024" v0="826" v1="2244" v2="2382" v3="2441" />
+ <tetrahedron index="2025" v0="84" v1="172" v2="830" v3="1699" />
+ <tetrahedron index="2026" v0="172" v1="830" v2="1699" v3="1787" />
+ <tetrahedron index="2027" v0="830" v1="1699" v2="1787" v3="2445" />
+ <tetrahedron index="2028" v0="251" v1="670" v2="831" v3="1866" />
+ <tetrahedron index="2029" v0="670" v1="831" v2="1866" v3="2285" />
+ <tetrahedron index="2030" v0="831" v1="1866" v2="2285" v3="2446" />
+ <tetrahedron index="2031" v0="44" v1="562" v2="799" v3="1659" />
+ <tetrahedron index="2032" v0="562" v1="799" v2="1659" v3="2177" />
+ <tetrahedron index="2033" v0="799" v1="1659" v2="2177" v3="2414" />
+ <tetrahedron index="2034" v0="141" v1="319" v2="507" v3="1756" />
+ <tetrahedron index="2035" v0="319" v1="507" v2="1756" v3="1934" />
+ <tetrahedron index="2036" v0="507" v1="1756" v2="1934" v3="2122" />
+ <tetrahedron index="2037" v0="319" v1="507" v2="832" v3="1934" />
+ <tetrahedron index="2038" v0="507" v1="832" v2="1934" v3="2122" />
+ <tetrahedron index="2039" v0="832" v1="1934" v2="2122" v3="2447" />
+ <tetrahedron index="2040" v0="24" v1="588" v2="640" v3="1639" />
+ <tetrahedron index="2041" v0="588" v1="640" v2="1639" v3="2203" />
+ <tetrahedron index="2042" v0="640" v1="1639" v2="2203" v3="2255" />
+ <tetrahedron index="2043" v0="24" v1="25" v2="588" v3="1639" />
+ <tetrahedron index="2044" v0="25" v1="588" v2="1639" v3="1640" />
+ <tetrahedron index="2045" v0="588" v1="1639" v2="1640" v3="2203" />
+ <tetrahedron index="2046" v0="75" v1="739" v2="833" v3="1690" />
+ <tetrahedron index="2047" v0="739" v1="833" v2="1690" v3="2354" />
+ <tetrahedron index="2048" v0="833" v1="1690" v2="2354" v3="2448" />
+ <tetrahedron index="2049" v0="739" v1="833" v2="834" v3="2354" />
+ <tetrahedron index="2050" v0="833" v1="834" v2="2354" v3="2448" />
+ <tetrahedron index="2051" v0="834" v1="2354" v2="2448" v3="2449" />
+ <tetrahedron index="2052" v0="25" v1="26" v2="835" v3="1640" />
+ <tetrahedron index="2053" v0="26" v1="835" v2="1640" v3="1641" />
+ <tetrahedron index="2054" v0="835" v1="1640" v2="1641" v3="2450" />
+ <tetrahedron index="2055" v0="373" v1="518" v2="836" v3="1988" />
+ <tetrahedron index="2056" v0="518" v1="836" v2="1988" v3="2133" />
+ <tetrahedron index="2057" v0="836" v1="1988" v2="2133" v3="2451" />
+ <tetrahedron index="2058" v0="397" v1="398" v2="449" v3="2012" />
+ <tetrahedron index="2059" v0="398" v1="449" v2="2012" v3="2013" />
+ <tetrahedron index="2060" v0="449" v1="2012" v2="2013" v3="2064" />
+ <tetrahedron index="2061" v0="133" v1="590" v2="592" v3="1748" />
+ <tetrahedron index="2062" v0="590" v1="592" v2="1748" v3="2205" />
+ <tetrahedron index="2063" v0="592" v1="1748" v2="2205" v3="2207" />
+ <tetrahedron index="2064" v0="133" v1="446" v2="590" v3="1748" />
+ <tetrahedron index="2065" v0="446" v1="590" v2="1748" v3="2061" />
+ <tetrahedron index="2066" v0="590" v1="1748" v2="2061" v3="2205" />
+ <tetrahedron index="2067" v0="181" v1="183" v2="265" v3="1796" />
+ <tetrahedron index="2068" v0="183" v1="265" v2="1796" v3="1798" />
+ <tetrahedron index="2069" v0="265" v1="1796" v2="1798" v3="1880" />
+ <tetrahedron index="2070" v0="181" v1="265" v2="312" v3="1796" />
+ <tetrahedron index="2071" v0="265" v1="312" v2="1796" v3="1880" />
+ <tetrahedron index="2072" v0="312" v1="1796" v2="1880" v3="1927" />
+ <tetrahedron index="2073" v0="254" v1="343" v2="674" v3="1869" />
+ <tetrahedron index="2074" v0="343" v1="674" v2="1869" v3="1958" />
+ <tetrahedron index="2075" v0="674" v1="1869" v2="1958" v3="2289" />
+ <tetrahedron index="2076" v0="625" v1="627" v2="742" v3="2240" />
+ <tetrahedron index="2077" v0="627" v1="742" v2="2240" v3="2242" />
+ <tetrahedron index="2078" v0="742" v1="2240" v2="2242" v3="2357" />
+ <tetrahedron index="2079" v0="229" v1="231" v2="837" v3="1844" />
+ <tetrahedron index="2080" v0="231" v1="837" v2="1844" v3="1846" />
+ <tetrahedron index="2081" v0="837" v1="1844" v2="1846" v3="2452" />
+ <tetrahedron index="2082" v0="209" v1="406" v2="789" v3="1824" />
+ <tetrahedron index="2083" v0="406" v1="789" v2="1824" v3="2021" />
+ <tetrahedron index="2084" v0="789" v1="1824" v2="2021" v3="2404" />
+ <tetrahedron index="2085" v0="209" v1="228" v2="406" v3="1824" />
+ <tetrahedron index="2086" v0="228" v1="406" v2="1824" v3="1843" />
+ <tetrahedron index="2087" v0="406" v1="1824" v2="1843" v3="2021" />
+ <tetrahedron index="2088" v0="279" v1="280" v2="579" v3="1894" />
+ <tetrahedron index="2089" v0="280" v1="579" v2="1894" v3="1895" />
+ <tetrahedron index="2090" v0="579" v1="1894" v2="1895" v3="2194" />
+ <tetrahedron index="2091" v0="691" v1="692" v2="838" v3="2306" />
+ <tetrahedron index="2092" v0="692" v1="838" v2="2306" v3="2307" />
+ <tetrahedron index="2093" v0="838" v1="2306" v2="2307" v3="2453" />
+ <tetrahedron index="2094" v0="308" v1="570" v2="642" v3="1923" />
+ <tetrahedron index="2095" v0="570" v1="642" v2="1923" v3="2185" />
+ <tetrahedron index="2096" v0="642" v1="1923" v2="2185" v3="2257" />
+ <tetrahedron index="2097" v0="225" v1="536" v2="668" v3="1840" />
+ <tetrahedron index="2098" v0="536" v1="668" v2="1840" v3="2151" />
+ <tetrahedron index="2099" v0="668" v1="1840" v2="2151" v3="2283" />
+ <tetrahedron index="2100" v0="63" v1="817" v2="839" v3="1678" />
+ <tetrahedron index="2101" v0="817" v1="839" v2="1678" v3="2432" />
+ <tetrahedron index="2102" v0="839" v1="1678" v2="2432" v3="2454" />
+ <tetrahedron index="2103" v0="328" v1="329" v2="491" v3="1943" />
+ <tetrahedron index="2104" v0="329" v1="491" v2="1943" v3="1944" />
+ <tetrahedron index="2105" v0="491" v1="1943" v2="1944" v3="2106" />
+ <tetrahedron index="2106" v0="840" v1="841" v2="842" v3="2455" />
+ <tetrahedron index="2107" v0="841" v1="842" v2="2455" v3="2456" />
+ <tetrahedron index="2108" v0="842" v1="2455" v2="2456" v3="2457" />
+ <tetrahedron index="2109" v0="316" v1="445" v2="566" v3="1931" />
+ <tetrahedron index="2110" v0="445" v1="566" v2="1931" v3="2060" />
+ <tetrahedron index="2111" v0="566" v1="1931" v2="2060" v3="2181" />
+ <tetrahedron index="2112" v0="18" v1="19" v2="274" v3="1633" />
+ <tetrahedron index="2113" v0="19" v1="274" v2="1633" v3="1634" />
+ <tetrahedron index="2114" v0="274" v1="1633" v2="1634" v3="1889" />
+ <tetrahedron index="2115" v0="241" v1="388" v2="402" v3="1856" />
+ <tetrahedron index="2116" v0="388" v1="402" v2="1856" v3="2003" />
+ <tetrahedron index="2117" v0="402" v1="1856" v2="2003" v3="2017" />
+ <tetrahedron index="2118" v0="642" v1="643" v2="843" v3="2257" />
+ <tetrahedron index="2119" v0="643" v1="843" v2="2257" v3="2258" />
+ <tetrahedron index="2120" v0="843" v1="2257" v2="2258" v3="2458" />
+ <tetrahedron index="2121" v0="376" v1="443" v2="723" v3="1991" />
+ <tetrahedron index="2122" v0="443" v1="723" v2="1991" v3="2058" />
+ <tetrahedron index="2123" v0="723" v1="1991" v2="2058" v3="2338" />
+ <tetrahedron index="2124" v0="207" v1="376" v2="443" v3="1822" />
+ <tetrahedron index="2125" v0="376" v1="443" v2="1822" v3="1991" />
+ <tetrahedron index="2126" v0="443" v1="1822" v2="1991" v3="2058" />
+ <tetrahedron index="2127" v0="368" v1="369" v2="384" v3="1983" />
+ <tetrahedron index="2128" v0="369" v1="384" v2="1983" v3="1984" />
+ <tetrahedron index="2129" v0="384" v1="1983" v2="1984" v3="1999" />
+ <tetrahedron index="2130" v0="105" v1="369" v2="384" v3="1720" />
+ <tetrahedron index="2131" v0="369" v1="384" v2="1720" v3="1984" />
+ <tetrahedron index="2132" v0="384" v1="1720" v2="1984" v3="1999" />
+ <tetrahedron index="2133" v0="23" v1="535" v2="786" v3="1638" />
+ <tetrahedron index="2134" v0="535" v1="786" v2="1638" v3="2150" />
+ <tetrahedron index="2135" v0="786" v1="1638" v2="2150" v3="2401" />
+ <tetrahedron index="2136" v0="518" v1="735" v2="836" v3="2133" />
+ <tetrahedron index="2137" v0="735" v1="836" v2="2133" v3="2350" />
+ <tetrahedron index="2138" v0="836" v1="2133" v2="2350" v3="2451" />
+ <tetrahedron index="2139" v0="781" v1="844" v2="845" v3="2396" />
+ <tetrahedron index="2140" v0="844" v1="845" v2="2396" v3="2459" />
+ <tetrahedron index="2141" v0="845" v1="2396" v2="2459" v3="2460" />
+ <tetrahedron index="2142" v0="324" v1="461" v2="846" v3="1939" />
+ <tetrahedron index="2143" v0="461" v1="846" v2="1939" v3="2076" />
+ <tetrahedron index="2144" v0="846" v1="1939" v2="2076" v3="2461" />
+ <tetrahedron index="2145" v0="751" v1="802" v2="847" v3="2366" />
+ <tetrahedron index="2146" v0="802" v1="847" v2="2366" v3="2417" />
+ <tetrahedron index="2147" v0="847" v1="2366" v2="2417" v3="2462" />
+ <tetrahedron index="2148" v0="325" v1="411" v2="848" v3="1940" />
+ <tetrahedron index="2149" v0="411" v1="848" v2="1940" v3="2026" />
+ <tetrahedron index="2150" v0="848" v1="1940" v2="2026" v3="2463" />
+ <tetrahedron index="2151" v0="779" v1="820" v2="849" v3="2394" />
+ <tetrahedron index="2152" v0="820" v1="849" v2="2394" v3="2435" />
+ <tetrahedron index="2153" v0="849" v1="2394" v2="2435" v3="2464" />
+ <tetrahedron index="2154" v0="184" v1="185" v2="850" v3="1799" />
+ <tetrahedron index="2155" v0="185" v1="850" v2="1799" v3="1800" />
+ <tetrahedron index="2156" v0="850" v1="1799" v2="1800" v3="2465" />
+ <tetrahedron index="2157" v0="256" v1="851" v2="852" v3="1871" />
+ <tetrahedron index="2158" v0="851" v1="852" v2="1871" v3="2466" />
+ <tetrahedron index="2159" v0="852" v1="1871" v2="2466" v3="2467" />
+ <tetrahedron index="2160" v0="552" v1="554" v2="853" v3="2167" />
+ <tetrahedron index="2161" v0="554" v1="853" v2="2167" v3="2169" />
+ <tetrahedron index="2162" v0="853" v1="2167" v2="2169" v3="2468" />
+ <tetrahedron index="2163" v0="474" v1="636" v2="777" v3="2089" />
+ <tetrahedron index="2164" v0="636" v1="777" v2="2089" v3="2251" />
+ <tetrahedron index="2165" v0="777" v1="2089" v2="2251" v3="2392" />
+ <tetrahedron index="2166" v0="90" v1="854" v2="855" v3="1705" />
+ <tetrahedron index="2167" v0="854" v1="855" v2="1705" v3="2469" />
+ <tetrahedron index="2168" v0="855" v1="1705" v2="2469" v3="2470" />
+ <tetrahedron index="2169" v0="856" v1="857" v2="858" v3="2471" />
+ <tetrahedron index="2170" v0="857" v1="858" v2="2471" v3="2472" />
+ <tetrahedron index="2171" v0="858" v1="2471" v2="2472" v3="2473" />
+ <tetrahedron index="2172" v0="352" v1="656" v2="859" v3="1967" />
+ <tetrahedron index="2173" v0="656" v1="859" v2="1967" v3="2271" />
+ <tetrahedron index="2174" v0="859" v1="1967" v2="2271" v3="2474" />
+ <tetrahedron index="2175" v0="230" v1="666" v2="860" v3="1845" />
+ <tetrahedron index="2176" v0="666" v1="860" v2="1845" v3="2281" />
+ <tetrahedron index="2177" v0="860" v1="1845" v2="2281" v3="2475" />
+ <tetrahedron index="2178" v0="549" v1="550" v2="861" v3="2164" />
+ <tetrahedron index="2179" v0="550" v1="861" v2="2164" v3="2165" />
+ <tetrahedron index="2180" v0="861" v1="2164" v2="2165" v3="2476" />
+ <tetrahedron index="2181" v0="494" v1="607" v2="825" v3="2109" />
+ <tetrahedron index="2182" v0="607" v1="825" v2="2109" v3="2222" />
+ <tetrahedron index="2183" v0="825" v1="2109" v2="2222" v3="2440" />
+ <tetrahedron index="2184" v0="862" v1="863" v2="864" v3="2477" />
+ <tetrahedron index="2185" v0="863" v1="864" v2="2477" v3="2478" />
+ <tetrahedron index="2186" v0="864" v1="2477" v2="2478" v3="2479" />
+ <tetrahedron index="2187" v0="637" v1="677" v2="852" v3="2252" />
+ <tetrahedron index="2188" v0="677" v1="852" v2="2252" v3="2292" />
+ <tetrahedron index="2189" v0="852" v1="2252" v2="2292" v3="2467" />
+ <tetrahedron index="2190" v0="71" v1="615" v2="736" v3="1686" />
+ <tetrahedron index="2191" v0="615" v1="736" v2="1686" v3="2230" />
+ <tetrahedron index="2192" v0="736" v1="1686" v2="2230" v3="2351" />
+ <tetrahedron index="2193" v0="865" v1="866" v2="867" v3="2480" />
+ <tetrahedron index="2194" v0="866" v1="867" v2="2480" v3="2481" />
+ <tetrahedron index="2195" v0="867" v1="2480" v2="2481" v3="2482" />
+ <tetrahedron index="2196" v0="843" v1="868" v2="869" v3="2458" />
+ <tetrahedron index="2197" v0="868" v1="869" v2="2458" v3="2483" />
+ <tetrahedron index="2198" v0="869" v1="2458" v2="2483" v3="2484" />
+ <tetrahedron index="2199" v0="862" v1="870" v2="871" v3="2477" />
+ <tetrahedron index="2200" v0="870" v1="871" v2="2477" v3="2485" />
+ <tetrahedron index="2201" v0="871" v1="2477" v2="2485" v3="2486" />
+ <tetrahedron index="2202" v0="380" v1="731" v2="872" v3="1995" />
+ <tetrahedron index="2203" v0="731" v1="872" v2="1995" v3="2346" />
+ <tetrahedron index="2204" v0="872" v1="1995" v2="2346" v3="2487" />
+ <tetrahedron index="2205" v0="597" v1="599" v2="873" v3="2212" />
+ <tetrahedron index="2206" v0="599" v1="873" v2="2212" v3="2214" />
+ <tetrahedron index="2207" v0="873" v1="2212" v2="2214" v3="2488" />
+ <tetrahedron index="2208" v0="797" v1="801" v2="874" v3="2412" />
+ <tetrahedron index="2209" v0="801" v1="874" v2="2412" v3="2416" />
+ <tetrahedron index="2210" v0="874" v1="2412" v2="2416" v3="2489" />
+ <tetrahedron index="2211" v0="435" v1="436" v2="875" v3="2050" />
+ <tetrahedron index="2212" v0="436" v1="875" v2="2050" v3="2051" />
+ <tetrahedron index="2213" v0="875" v1="2050" v2="2051" v3="2490" />
+ <tetrahedron index="2214" v0="288" v1="290" v2="876" v3="1903" />
+ <tetrahedron index="2215" v0="290" v1="876" v2="1903" v3="1905" />
+ <tetrahedron index="2216" v0="876" v1="1903" v2="1905" v3="2491" />
+ <tetrahedron index="2217" v0="112" v1="113" v2="877" v3="1727" />
+ <tetrahedron index="2218" v0="113" v1="877" v2="1727" v3="1728" />
+ <tetrahedron index="2219" v0="877" v1="1727" v2="1728" v3="2492" />
+ <tetrahedron index="2220" v0="613" v1="749" v2="878" v3="2228" />
+ <tetrahedron index="2221" v0="749" v1="878" v2="2228" v3="2364" />
+ <tetrahedron index="2222" v0="878" v1="2228" v2="2364" v3="2493" />
+ <tetrahedron index="2223" v0="878" v1="879" v2="880" v3="2493" />
+ <tetrahedron index="2224" v0="879" v1="880" v2="2493" v3="2494" />
+ <tetrahedron index="2225" v0="880" v1="2493" v2="2494" v3="2495" />
+ <tetrahedron index="2226" v0="814" v1="881" v2="882" v3="2429" />
+ <tetrahedron index="2227" v0="881" v1="882" v2="2429" v3="2496" />
+ <tetrahedron index="2228" v0="882" v1="2429" v2="2496" v3="2497" />
+ <tetrahedron index="2229" v0="552" v1="555" v2="883" v3="2167" />
+ <tetrahedron index="2230" v0="555" v1="883" v2="2167" v3="2170" />
+ <tetrahedron index="2231" v0="883" v1="2167" v2="2170" v3="2498" />
+ <tetrahedron index="2232" v0="225" v1="668" v2="884" v3="1840" />
+ <tetrahedron index="2233" v0="668" v1="884" v2="1840" v3="2283" />
+ <tetrahedron index="2234" v0="884" v1="1840" v2="2283" v3="2499" />
+ <tetrahedron index="2235" v0="779" v1="818" v2="820" v3="2394" />
+ <tetrahedron index="2236" v0="818" v1="820" v2="2394" v3="2433" />
+ <tetrahedron index="2237" v0="820" v1="2394" v2="2433" v3="2435" />
+ <tetrahedron index="2238" v0="308" v1="592" v2="885" v3="1923" />
+ <tetrahedron index="2239" v0="592" v1="885" v2="1923" v3="2207" />
+ <tetrahedron index="2240" v0="885" v1="1923" v2="2207" v3="2500" />
+ <tetrahedron index="2241" v0="133" v1="592" v2="885" v3="1748" />
+ <tetrahedron index="2242" v0="592" v1="885" v2="1748" v3="2207" />
+ <tetrahedron index="2243" v0="885" v1="1748" v2="2207" v3="2500" />
+ <tetrahedron index="2244" v0="217" v1="531" v2="727" v3="1832" />
+ <tetrahedron index="2245" v0="531" v1="727" v2="1832" v3="2146" />
+ <tetrahedron index="2246" v0="727" v1="1832" v2="2146" v3="2342" />
+ <tetrahedron index="2247" v0="707" v1="763" v2="823" v3="2322" />
+ <tetrahedron index="2248" v0="763" v1="823" v2="2322" v3="2378" />
+ <tetrahedron index="2249" v0="823" v1="2322" v2="2378" v3="2438" />
+ <tetrahedron index="2250" v0="358" v1="886" v2="887" v3="1973" />
+ <tetrahedron index="2251" v0="886" v1="887" v2="1973" v3="2501" />
+ <tetrahedron index="2252" v0="887" v1="1973" v2="2501" v3="2502" />
+ <tetrahedron index="2253" v0="628" v1="629" v2="767" v3="2243" />
+ <tetrahedron index="2254" v0="629" v1="767" v2="2243" v3="2244" />
+ <tetrahedron index="2255" v0="767" v1="2243" v2="2244" v3="2382" />
+ <tetrahedron index="2256" v0="84" v1="604" v2="830" v3="1699" />
+ <tetrahedron index="2257" v0="604" v1="830" v2="1699" v3="2219" />
+ <tetrahedron index="2258" v0="830" v1="1699" v2="2219" v3="2445" />
+ <tetrahedron index="2259" v0="521" v1="831" v2="888" v3="2136" />
+ <tetrahedron index="2260" v0="831" v1="888" v2="2136" v3="2446" />
+ <tetrahedron index="2261" v0="888" v1="2136" v2="2446" v3="2503" />
+ <tetrahedron index="2262" v0="397" v1="449" v2="889" v3="2012" />
+ <tetrahedron index="2263" v0="449" v1="889" v2="2012" v3="2064" />
+ <tetrahedron index="2264" v0="889" v1="2012" v2="2064" v3="2504" />
+ <tetrahedron index="2265" v0="815" v1="816" v2="890" v3="2430" />
+ <tetrahedron index="2266" v0="816" v1="890" v2="2430" v3="2431" />
+ <tetrahedron index="2267" v0="890" v1="2430" v2="2431" v3="2505" />
+ <tetrahedron index="2268" v0="189" v1="730" v2="891" v3="1804" />
+ <tetrahedron index="2269" v0="730" v1="891" v2="1804" v3="2345" />
+ <tetrahedron index="2270" v0="891" v1="1804" v2="2345" v3="2506" />
+ <tetrahedron index="2271" v0="180" v1="892" v2="893" v3="1795" />
+ <tetrahedron index="2272" v0="892" v1="893" v2="1795" v3="2507" />
+ <tetrahedron index="2273" v0="893" v1="1795" v2="2507" v3="2508" />
+ <tetrahedron index="2274" v0="894" v1="895" v2="896" v3="2509" />
+ <tetrahedron index="2275" v0="895" v1="896" v2="2509" v3="2510" />
+ <tetrahedron index="2276" v0="896" v1="2509" v2="2510" v3="2511" />
+ <tetrahedron index="2277" v0="746" v1="833" v2="834" v3="2361" />
+ <tetrahedron index="2278" v0="833" v1="834" v2="2361" v3="2448" />
+ <tetrahedron index="2279" v0="834" v1="2361" v2="2448" v3="2449" />
+ <tetrahedron index="2280" v0="176" v1="897" v2="898" v3="1791" />
+ <tetrahedron index="2281" v0="897" v1="898" v2="1791" v3="2512" />
+ <tetrahedron index="2282" v0="898" v1="1791" v2="2512" v3="2513" />
+ <tetrahedron index="2283" v0="188" v1="189" v2="891" v3="1803" />
+ <tetrahedron index="2284" v0="189" v1="891" v2="1803" v3="1804" />
+ <tetrahedron index="2285" v0="891" v1="1803" v2="1804" v3="2506" />
+ <tetrahedron index="2286" v0="85" v1="263" v2="704" v3="1700" />
+ <tetrahedron index="2287" v0="263" v1="704" v2="1700" v3="1878" />
+ <tetrahedron index="2288" v0="704" v1="1700" v2="1878" v3="2319" />
+ <tetrahedron index="2289" v0="162" v1="608" v2="848" v3="1777" />
+ <tetrahedron index="2290" v0="608" v1="848" v2="1777" v3="2223" />
+ <tetrahedron index="2291" v0="848" v1="1777" v2="2223" v3="2463" />
+ <tetrahedron index="2292" v0="411" v1="608" v2="848" v3="2026" />
+ <tetrahedron index="2293" v0="608" v1="848" v2="2026" v3="2223" />
+ <tetrahedron index="2294" v0="848" v1="2026" v2="2223" v3="2463" />
+ <tetrahedron index="2295" v0="161" v1="848" v2="899" v3="1776" />
+ <tetrahedron index="2296" v0="848" v1="899" v2="1776" v3="2463" />
+ <tetrahedron index="2297" v0="899" v1="1776" v2="2463" v3="2514" />
+ <tetrahedron index="2298" v0="161" v1="162" v2="848" v3="1776" />
+ <tetrahedron index="2299" v0="162" v1="848" v2="1776" v3="1777" />
+ <tetrahedron index="2300" v0="848" v1="1776" v2="1777" v3="2463" />
+ <tetrahedron index="2301" v0="772" v1="773" v2="900" v3="2387" />
+ <tetrahedron index="2302" v0="773" v1="900" v2="2387" v3="2388" />
+ <tetrahedron index="2303" v0="900" v1="2387" v2="2388" v3="2515" />
+ <tetrahedron index="2304" v0="336" v1="778" v2="901" v3="1951" />
+ <tetrahedron index="2305" v0="778" v1="901" v2="1951" v3="2393" />
+ <tetrahedron index="2306" v0="901" v1="1951" v2="2393" v3="2516" />
+ <tetrahedron index="2307" v0="778" v1="779" v2="901" v3="2393" />
+ <tetrahedron index="2308" v0="779" v1="901" v2="2393" v3="2394" />
+ <tetrahedron index="2309" v0="901" v1="2393" v2="2394" v3="2516" />
+ <tetrahedron index="2310" v0="793" v1="902" v2="903" v3="2408" />
+ <tetrahedron index="2311" v0="902" v1="903" v2="2408" v3="2517" />
+ <tetrahedron index="2312" v0="903" v1="2408" v2="2517" v3="2518" />
+ <tetrahedron index="2313" v0="108" v1="366" v2="904" v3="1723" />
+ <tetrahedron index="2314" v0="366" v1="904" v2="1723" v3="1981" />
+ <tetrahedron index="2315" v0="904" v1="1723" v2="1981" v3="2519" />
+ <tetrahedron index="2316" v0="366" v1="517" v2="904" v3="1981" />
+ <tetrahedron index="2317" v0="517" v1="904" v2="1981" v3="2132" />
+ <tetrahedron index="2318" v0="904" v1="1981" v2="2132" v3="2519" />
+ <tetrahedron index="2319" v0="113" v1="498" v2="877" v3="1728" />
+ <tetrahedron index="2320" v0="498" v1="877" v2="1728" v3="2113" />
+ <tetrahedron index="2321" v0="877" v1="1728" v2="2113" v3="2492" />
+ <tetrahedron index="2322" v0="498" v1="877" v2="905" v3="2113" />
+ <tetrahedron index="2323" v0="877" v1="905" v2="2113" v3="2492" />
+ <tetrahedron index="2324" v0="905" v1="2113" v2="2492" v3="2520" />
+ <tetrahedron index="2325" v0="638" v1="906" v2="907" v3="2253" />
+ <tetrahedron index="2326" v0="906" v1="907" v2="2253" v3="2521" />
+ <tetrahedron index="2327" v0="907" v1="2253" v2="2521" v3="2522" />
+ <tetrahedron index="2328" v0="779" v1="780" v2="818" v3="2394" />
+ <tetrahedron index="2329" v0="780" v1="818" v2="2394" v3="2395" />
+ <tetrahedron index="2330" v0="818" v1="2394" v2="2395" v3="2433" />
+ <tetrahedron index="2331" v0="780" v1="817" v2="818" v3="2395" />
+ <tetrahedron index="2332" v0="817" v1="818" v2="2395" v3="2432" />
+ <tetrahedron index="2333" v0="818" v1="2395" v2="2432" v3="2433" />
+ <tetrahedron index="2334" v0="604" v1="774" v2="830" v3="2219" />
+ <tetrahedron index="2335" v0="774" v1="830" v2="2219" v3="2389" />
+ <tetrahedron index="2336" v0="830" v1="2219" v2="2389" v3="2445" />
+ <tetrahedron index="2337" v0="586" v1="908" v2="909" v3="2201" />
+ <tetrahedron index="2338" v0="908" v1="909" v2="2201" v3="2523" />
+ <tetrahedron index="2339" v0="909" v1="2201" v2="2523" v3="2524" />
+ <tetrahedron index="2340" v0="908" v1="909" v2="910" v3="2523" />
+ <tetrahedron index="2341" v0="909" v1="910" v2="2523" v3="2524" />
+ <tetrahedron index="2342" v0="910" v1="2523" v2="2524" v3="2525" />
+ <tetrahedron index="2343" v0="574" v1="576" v2="911" v3="2189" />
+ <tetrahedron index="2344" v0="576" v1="911" v2="2189" v3="2191" />
+ <tetrahedron index="2345" v0="911" v1="2189" v2="2191" v3="2526" />
+ <tetrahedron index="2346" v0="731" v1="912" v2="913" v3="2346" />
+ <tetrahedron index="2347" v0="912" v1="913" v2="2346" v3="2527" />
+ <tetrahedron index="2348" v0="913" v1="2346" v2="2527" v3="2528" />
+ <tetrahedron index="2349" v0="450" v1="451" v2="914" v3="2065" />
+ <tetrahedron index="2350" v0="451" v1="914" v2="2065" v3="2066" />
+ <tetrahedron index="2351" v0="914" v1="2065" v2="2066" v3="2529" />
+ <tetrahedron index="2352" v0="368" v1="601" v2="915" v3="1983" />
+ <tetrahedron index="2353" v0="601" v1="915" v2="1983" v3="2216" />
+ <tetrahedron index="2354" v0="915" v1="1983" v2="2216" v3="2530" />
+ <tetrahedron index="2355" v0="367" v1="368" v2="601" v3="1982" />
+ <tetrahedron index="2356" v0="368" v1="601" v2="1982" v3="1983" />
+ <tetrahedron index="2357" v0="601" v1="1982" v2="1983" v3="2216" />
+ <tetrahedron index="2358" v0="430" v1="916" v2="917" v3="2045" />
+ <tetrahedron index="2359" v0="916" v1="917" v2="2045" v3="2531" />
+ <tetrahedron index="2360" v0="917" v1="2045" v2="2531" v3="2532" />
+ <tetrahedron index="2361" v0="256" v1="257" v2="852" v3="1871" />
+ <tetrahedron index="2362" v0="257" v1="852" v2="1871" v3="1872" />
+ <tetrahedron index="2363" v0="852" v1="1871" v2="1872" v3="2467" />
+ <tetrahedron index="2364" v0="257" v1="637" v2="852" v3="1872" />
+ <tetrahedron index="2365" v0="637" v1="852" v2="1872" v3="2252" />
+ <tetrahedron index="2366" v0="852" v1="1872" v2="2252" v3="2467" />
+ <tetrahedron index="2367" v0="521" v1="625" v2="888" v3="2136" />
+ <tetrahedron index="2368" v0="625" v1="888" v2="2136" v3="2240" />
+ <tetrahedron index="2369" v0="888" v1="2136" v2="2240" v3="2503" />
+ <tetrahedron index="2370" v0="65" v1="687" v2="866" v3="1680" />
+ <tetrahedron index="2371" v0="687" v1="866" v2="1680" v3="2302" />
+ <tetrahedron index="2372" v0="866" v1="1680" v2="2302" v3="2481" />
+ <tetrahedron index="2373" v0="172" v1="173" v2="830" v3="1787" />
+ <tetrahedron index="2374" v0="173" v1="830" v2="1787" v3="1788" />
+ <tetrahedron index="2375" v0="830" v1="1787" v2="1788" v3="2445" />
+ <tetrahedron index="2376" v0="70" v1="725" v2="918" v3="1685" />
+ <tetrahedron index="2377" v0="725" v1="918" v2="1685" v3="2340" />
+ <tetrahedron index="2378" v0="918" v1="1685" v2="2340" v3="2533" />
+ <tetrahedron index="2379" v0="209" v1="475" v2="789" v3="1824" />
+ <tetrahedron index="2380" v0="475" v1="789" v2="1824" v3="2090" />
+ <tetrahedron index="2381" v0="789" v1="1824" v2="2090" v3="2404" />
+ <tetrahedron index="2382" v0="475" v1="754" v2="789" v3="2090" />
+ <tetrahedron index="2383" v0="754" v1="789" v2="2090" v3="2369" />
+ <tetrahedron index="2384" v0="789" v1="2090" v2="2369" v3="2404" />
+ <tetrahedron index="2385" v0="251" v1="252" v2="831" v3="1866" />
+ <tetrahedron index="2386" v0="252" v1="831" v2="1866" v3="1867" />
+ <tetrahedron index="2387" v0="831" v1="1866" v2="1867" v3="2446" />
+ <tetrahedron index="2388" v0="252" v1="521" v2="831" v3="1867" />
+ <tetrahedron index="2389" v0="521" v1="831" v2="1867" v3="2136" />
+ <tetrahedron index="2390" v0="831" v1="1867" v2="2136" v3="2446" />
+ <tetrahedron index="2391" v0="660" v1="662" v2="919" v3="2275" />
+ <tetrahedron index="2392" v0="662" v1="919" v2="2275" v3="2277" />
+ <tetrahedron index="2393" v0="919" v1="2275" v2="2277" v3="2534" />
+ <tetrahedron index="2394" v0="577" v1="629" v2="702" v3="2192" />
+ <tetrahedron index="2395" v0="629" v1="702" v2="2192" v3="2244" />
+ <tetrahedron index="2396" v0="702" v1="2192" v2="2244" v3="2317" />
+ <tetrahedron index="2397" v0="629" v1="702" v2="920" v3="2244" />
+ <tetrahedron index="2398" v0="702" v1="920" v2="2244" v3="2317" />
+ <tetrahedron index="2399" v0="920" v1="2244" v2="2317" v3="2535" />
+ <tetrahedron index="2400" v0="107" v1="365" v2="366" v3="1722" />
+ <tetrahedron index="2401" v0="365" v1="366" v2="1722" v3="1980" />
+ <tetrahedron index="2402" v0="366" v1="1722" v2="1980" v3="1981" />
+ <tetrahedron index="2403" v0="107" v1="108" v2="366" v3="1722" />
+ <tetrahedron index="2404" v0="108" v1="366" v2="1722" v3="1723" />
+ <tetrahedron index="2405" v0="366" v1="1722" v2="1723" v3="1981" />
+ <tetrahedron index="2406" v0="850" v1="921" v2="922" v3="2465" />
+ <tetrahedron index="2407" v0="921" v1="922" v2="2465" v3="2536" />
+ <tetrahedron index="2408" v0="922" v1="2465" v2="2536" v3="2537" />
+ <tetrahedron index="2409" v0="540" v1="541" v2="877" v3="2155" />
+ <tetrahedron index="2410" v0="541" v1="877" v2="2155" v3="2156" />
+ <tetrahedron index="2411" v0="877" v1="2155" v2="2156" v3="2492" />
+ <tetrahedron index="2412" v0="112" v1="541" v2="877" v3="1727" />
+ <tetrahedron index="2413" v0="541" v1="877" v2="1727" v3="2156" />
+ <tetrahedron index="2414" v0="877" v1="1727" v2="2156" v3="2492" />
+ <tetrahedron index="2415" v0="368" v1="382" v2="384" v3="1983" />
+ <tetrahedron index="2416" v0="382" v1="384" v2="1983" v3="1997" />
+ <tetrahedron index="2417" v0="384" v1="1983" v2="1997" v3="1999" />
+ <tetrahedron index="2418" v0="368" v1="382" v2="915" v3="1983" />
+ <tetrahedron index="2419" v0="382" v1="915" v2="1983" v3="1997" />
+ <tetrahedron index="2420" v0="915" v1="1983" v2="1997" v3="2530" />
+ <tetrahedron index="2421" v0="863" v1="923" v2="924" v3="2478" />
+ <tetrahedron index="2422" v0="923" v1="924" v2="2478" v3="2538" />
+ <tetrahedron index="2423" v0="924" v1="2478" v2="2538" v3="2539" />
+ <tetrahedron index="2424" v0="862" v1="863" v2="923" v3="2477" />
+ <tetrahedron index="2425" v0="863" v1="923" v2="2477" v3="2478" />
+ <tetrahedron index="2426" v0="923" v1="2477" v2="2478" v3="2538" />
+ <tetrahedron index="2427" v0="434" v1="435" v2="925" v3="2049" />
+ <tetrahedron index="2428" v0="435" v1="925" v2="2049" v3="2050" />
+ <tetrahedron index="2429" v0="925" v1="2049" v2="2050" v3="2540" />
+ <tetrahedron index="2430" v0="435" v1="925" v2="926" v3="2050" />
+ <tetrahedron index="2431" v0="925" v1="926" v2="2050" v3="2540" />
+ <tetrahedron index="2432" v0="926" v1="2050" v2="2540" v3="2541" />
+ <tetrahedron index="2433" v0="796" v1="798" v2="927" v3="2411" />
+ <tetrahedron index="2434" v0="798" v1="927" v2="2411" v3="2413" />
+ <tetrahedron index="2435" v0="927" v1="2411" v2="2413" v3="2542" />
+ <tetrahedron index="2436" v0="928" v1="929" v2="930" v3="2543" />
+ <tetrahedron index="2437" v0="929" v1="930" v2="2543" v3="2544" />
+ <tetrahedron index="2438" v0="930" v1="2543" v2="2544" v3="2545" />
+ <tetrahedron index="2439" v0="32" v1="33" v2="662" v3="1647" />
+ <tetrahedron index="2440" v0="33" v1="662" v2="1647" v3="1648" />
+ <tetrahedron index="2441" v0="662" v1="1647" v2="1648" v3="2277" />
+ <tetrahedron index="2442" v0="79" v1="81" v2="931" v3="1694" />
+ <tetrahedron index="2443" v0="81" v1="931" v2="1694" v3="1696" />
+ <tetrahedron index="2444" v0="931" v1="1694" v2="1696" v3="2546" />
+ <tetrahedron index="2445" v0="476" v1="651" v2="816" v3="2091" />
+ <tetrahedron index="2446" v0="651" v1="816" v2="2091" v3="2266" />
+ <tetrahedron index="2447" v0="816" v1="2091" v2="2266" v3="2431" />
+ <tetrahedron index="2448" v0="676" v1="677" v2="932" v3="2291" />
+ <tetrahedron index="2449" v0="677" v1="932" v2="2291" v3="2292" />
+ <tetrahedron index="2450" v0="932" v1="2291" v2="2292" v3="2547" />
+ <tetrahedron index="2451" v0="783" v1="807" v2="933" v3="2398" />
+ <tetrahedron index="2452" v0="807" v1="933" v2="2398" v3="2422" />
+ <tetrahedron index="2453" v0="933" v1="2398" v2="2422" v3="2548" />
+ <tetrahedron index="2454" v0="934" v1="935" v2="936" v3="2549" />
+ <tetrahedron index="2455" v0="935" v1="936" v2="2549" v3="2550" />
+ <tetrahedron index="2456" v0="936" v1="2549" v2="2550" v3="2551" />
+ <tetrahedron index="2457" v0="461" v1="818" v2="819" v3="2076" />
+ <tetrahedron index="2458" v0="818" v1="819" v2="2076" v3="2433" />
+ <tetrahedron index="2459" v0="819" v1="2076" v2="2433" v3="2434" />
+ <tetrahedron index="2460" v0="461" v1="818" v2="820" v3="2076" />
+ <tetrahedron index="2461" v0="818" v1="820" v2="2076" v3="2433" />
+ <tetrahedron index="2462" v0="820" v1="2076" v2="2433" v3="2435" />
+ <tetrahedron index="2463" v0="703" v1="704" v2="937" v3="2318" />
+ <tetrahedron index="2464" v0="704" v1="937" v2="2318" v3="2319" />
+ <tetrahedron index="2465" v0="937" v1="2318" v2="2319" v3="2552" />
+ <tetrahedron index="2466" v0="225" v1="524" v2="884" v3="1840" />
+ <tetrahedron index="2467" v0="524" v1="884" v2="1840" v3="2139" />
+ <tetrahedron index="2468" v0="884" v1="1840" v2="2139" v3="2499" />
+ <tetrahedron index="2469" v0="843" v1="868" v2="938" v3="2458" />
+ <tetrahedron index="2470" v0="868" v1="938" v2="2458" v3="2483" />
+ <tetrahedron index="2471" v0="938" v1="2458" v2="2483" v3="2553" />
+ <tetrahedron index="2472" v0="169" v1="173" v2="753" v3="1784" />
+ <tetrahedron index="2473" v0="173" v1="753" v2="1784" v3="1788" />
+ <tetrahedron index="2474" v0="753" v1="1784" v2="1788" v3="2368" />
+ <tetrahedron index="2475" v0="722" v1="939" v2="940" v3="2337" />
+ <tetrahedron index="2476" v0="939" v1="940" v2="2337" v3="2554" />
+ <tetrahedron index="2477" v0="940" v1="2337" v2="2554" v3="2555" />
+ <tetrahedron index="2478" v0="391" v1="762" v2="763" v3="2006" />
+ <tetrahedron index="2479" v0="762" v1="763" v2="2006" v3="2377" />
+ <tetrahedron index="2480" v0="763" v1="2006" v2="2377" v3="2378" />
+ <tetrahedron index="2481" v0="886" v1="887" v2="941" v3="2501" />
+ <tetrahedron index="2482" v0="887" v1="941" v2="2501" v3="2502" />
+ <tetrahedron index="2483" v0="941" v1="2501" v2="2502" v3="2556" />
+ <tetrahedron index="2484" v0="234" v1="631" v2="729" v3="1849" />
+ <tetrahedron index="2485" v0="631" v1="729" v2="1849" v3="2246" />
+ <tetrahedron index="2486" v0="729" v1="1849" v2="2246" v3="2344" />
+ <tetrahedron index="2487" v0="928" v1="942" v2="943" v3="2543" />
+ <tetrahedron index="2488" v0="942" v1="943" v2="2543" v3="2557" />
+ <tetrahedron index="2489" v0="943" v1="2543" v2="2557" v3="2558" />
+ <tetrahedron index="2490" v0="74" v1="439" v2="440" v3="1689" />
+ <tetrahedron index="2491" v0="439" v1="440" v2="1689" v3="2054" />
+ <tetrahedron index="2492" v0="440" v1="1689" v2="2054" v3="2055" />
+ <tetrahedron index="2493" v0="138" v1="139" v2="792" v3="1753" />
+ <tetrahedron index="2494" v0="139" v1="792" v2="1753" v3="1754" />
+ <tetrahedron index="2495" v0="792" v1="1753" v2="1754" v3="2407" />
+ <tetrahedron index="2496" v0="12" v1="139" v2="792" v3="1627" />
+ <tetrahedron index="2497" v0="139" v1="792" v2="1627" v3="1754" />
+ <tetrahedron index="2498" v0="792" v1="1627" v2="1754" v3="2407" />
+ <tetrahedron index="2499" v0="599" v1="829" v2="873" v3="2214" />
+ <tetrahedron index="2500" v0="829" v1="873" v2="2214" v3="2444" />
+ <tetrahedron index="2501" v0="873" v1="2214" v2="2444" v3="2488" />
+ <tetrahedron index="2502" v0="196" v1="942" v2="943" v3="1811" />
+ <tetrahedron index="2503" v0="942" v1="943" v2="1811" v3="2557" />
+ <tetrahedron index="2504" v0="943" v1="1811" v2="2557" v3="2558" />
+ <tetrahedron index="2505" v0="493" v1="802" v2="944" v3="2108" />
+ <tetrahedron index="2506" v0="802" v1="944" v2="2108" v3="2417" />
+ <tetrahedron index="2507" v0="944" v1="2108" v2="2417" v3="2559" />
+ <tetrahedron index="2508" v0="493" v1="615" v2="802" v3="2108" />
+ <tetrahedron index="2509" v0="615" v1="802" v2="2108" v3="2230" />
+ <tetrahedron index="2510" v0="802" v1="2108" v2="2230" v3="2417" />
+ <tetrahedron index="2511" v0="945" v1="946" v2="947" v3="2560" />
+ <tetrahedron index="2512" v0="946" v1="947" v2="2560" v3="2561" />
+ <tetrahedron index="2513" v0="947" v1="2560" v2="2561" v3="2562" />
+ <tetrahedron index="2514" v0="878" v1="948" v2="949" v3="2493" />
+ <tetrahedron index="2515" v0="948" v1="949" v2="2493" v3="2563" />
+ <tetrahedron index="2516" v0="949" v1="2493" v2="2563" v3="2564" />
+ <tetrahedron index="2517" v0="749" v1="878" v2="948" v3="2364" />
+ <tetrahedron index="2518" v0="878" v1="948" v2="2364" v3="2493" />
+ <tetrahedron index="2519" v0="948" v1="2364" v2="2493" v3="2563" />
+ <tetrahedron index="2520" v0="781" v1="788" v2="845" v3="2396" />
+ <tetrahedron index="2521" v0="788" v1="845" v2="2396" v3="2403" />
+ <tetrahedron index="2522" v0="845" v1="2396" v2="2403" v3="2460" />
+ <tetrahedron index="2523" v0="812" v1="813" v2="950" v3="2427" />
+ <tetrahedron index="2524" v0="813" v1="950" v2="2427" v3="2428" />
+ <tetrahedron index="2525" v0="950" v1="2427" v2="2428" v3="2565" />
+ <tetrahedron index="2526" v0="613" v1="878" v2="880" v3="2228" />
+ <tetrahedron index="2527" v0="878" v1="880" v2="2228" v3="2493" />
+ <tetrahedron index="2528" v0="880" v1="2228" v2="2493" v3="2495" />
+ <tetrahedron index="2529" v0="718" v1="810" v2="837" v3="2333" />
+ <tetrahedron index="2530" v0="810" v1="837" v2="2333" v3="2425" />
+ <tetrahedron index="2531" v0="837" v1="2333" v2="2425" v3="2452" />
+ <tetrahedron index="2532" v0="716" v1="718" v2="837" v3="2331" />
+ <tetrahedron index="2533" v0="718" v1="837" v2="2331" v3="2333" />
+ <tetrahedron index="2534" v0="837" v1="2331" v2="2333" v3="2452" />
+ <tetrahedron index="2535" v0="71" v1="72" v2="736" v3="1686" />
+ <tetrahedron index="2536" v0="72" v1="736" v2="1686" v3="1687" />
+ <tetrahedron index="2537" v0="736" v1="1686" v2="1687" v3="2351" />
+ <tetrahedron index="2538" v0="72" v1="170" v2="736" v3="1687" />
+ <tetrahedron index="2539" v0="170" v1="736" v2="1687" v3="1785" />
+ <tetrahedron index="2540" v0="736" v1="1687" v2="1785" v3="2351" />
+ <tetrahedron index="2541" v0="161" v1="163" v2="951" v3="1776" />
+ <tetrahedron index="2542" v0="163" v1="951" v2="1776" v3="1778" />
+ <tetrahedron index="2543" v0="951" v1="1776" v2="1778" v3="2566" />
+ <tetrahedron index="2544" v0="546" v1="823" v2="824" v3="2161" />
+ <tetrahedron index="2545" v0="823" v1="824" v2="2161" v3="2438" />
+ <tetrahedron index="2546" v0="824" v1="2161" v2="2438" v3="2439" />
+ <tetrahedron index="2547" v0="546" v1="763" v2="823" v3="2161" />
+ <tetrahedron index="2548" v0="763" v1="823" v2="2161" v3="2378" />
+ <tetrahedron index="2549" v0="823" v1="2161" v2="2378" v3="2438" />
+ <tetrahedron index="2550" v0="217" v1="218" v2="721" v3="1832" />
+ <tetrahedron index="2551" v0="218" v1="721" v2="1832" v3="1833" />
+ <tetrahedron index="2552" v0="721" v1="1832" v2="1833" v3="2336" />
+ <tetrahedron index="2553" v0="217" v1="531" v2="721" v3="1832" />
+ <tetrahedron index="2554" v0="531" v1="721" v2="1832" v3="2146" />
+ <tetrahedron index="2555" v0="721" v1="1832" v2="2146" v3="2336" />
+ <tetrahedron index="2556" v0="245" v1="246" v2="952" v3="1860" />
+ <tetrahedron index="2557" v0="246" v1="952" v2="1860" v3="1861" />
+ <tetrahedron index="2558" v0="952" v1="1860" v2="1861" v3="2567" />
+ <tetrahedron index="2559" v0="124" v1="246" v2="952" v3="1739" />
+ <tetrahedron index="2560" v0="246" v1="952" v2="1739" v3="1861" />
+ <tetrahedron index="2561" v0="952" v1="1739" v2="1861" v3="2567" />
+ <tetrahedron index="2562" v0="367" v1="369" v2="558" v3="1982" />
+ <tetrahedron index="2563" v0="369" v1="558" v2="1982" v3="1984" />
+ <tetrahedron index="2564" v0="558" v1="1982" v2="1984" v3="2173" />
+ <tetrahedron index="2565" v0="367" v1="557" v2="558" v3="1982" />
+ <tetrahedron index="2566" v0="557" v1="558" v2="1982" v3="2172" />
+ <tetrahedron index="2567" v0="558" v1="1982" v2="2172" v3="2173" />
+ <tetrahedron index="2568" v0="396" v1="494" v2="825" v3="2011" />
+ <tetrahedron index="2569" v0="494" v1="825" v2="2011" v3="2109" />
+ <tetrahedron index="2570" v0="825" v1="2011" v2="2109" v3="2440" />
+ <tetrahedron index="2571" v0="396" v1="467" v2="825" v3="2011" />
+ <tetrahedron index="2572" v0="467" v1="825" v2="2011" v3="2082" />
+ <tetrahedron index="2573" v0="825" v1="2011" v2="2082" v3="2440" />
+ <tetrahedron index="2574" v0="358" v1="748" v2="886" v3="1973" />
+ <tetrahedron index="2575" v0="748" v1="886" v2="1973" v3="2363" />
+ <tetrahedron index="2576" v0="886" v1="1973" v2="2363" v3="2501" />
+ <tetrahedron index="2577" v0="644" v1="727" v2="953" v3="2259" />
+ <tetrahedron index="2578" v0="727" v1="953" v2="2259" v3="2342" />
+ <tetrahedron index="2579" v0="953" v1="2259" v2="2342" v3="2568" />
+ <tetrahedron index="2580" v0="476" v1="816" v2="890" v3="2091" />
+ <tetrahedron index="2581" v0="816" v1="890" v2="2091" v3="2431" />
+ <tetrahedron index="2582" v0="890" v1="2091" v2="2431" v3="2505" />
+ <tetrahedron index="2583" v0="629" v1="826" v2="920" v3="2244" />
+ <tetrahedron index="2584" v0="826" v1="920" v2="2244" v3="2441" />
+ <tetrahedron index="2585" v0="920" v1="2244" v2="2441" v3="2535" />
+ <tetrahedron index="2586" v0="425" v1="557" v2="602" v3="2040" />
+ <tetrahedron index="2587" v0="557" v1="602" v2="2040" v3="2172" />
+ <tetrahedron index="2588" v0="602" v1="2040" v2="2172" v3="2217" />
+ <tetrahedron index="2589" v0="489" v1="670" v2="831" v3="2104" />
+ <tetrahedron index="2590" v0="670" v1="831" v2="2104" v3="2285" />
+ <tetrahedron index="2591" v0="831" v1="2104" v2="2285" v3="2446" />
+ <tetrahedron index="2592" v0="489" v1="831" v2="888" v3="2104" />
+ <tetrahedron index="2593" v0="831" v1="888" v2="2104" v3="2446" />
+ <tetrahedron index="2594" v0="888" v1="2104" v2="2446" v3="2503" />
+ <tetrahedron index="2595" v0="641" v1="665" v2="954" v3="2256" />
+ <tetrahedron index="2596" v0="665" v1="954" v2="2256" v3="2280" />
+ <tetrahedron index="2597" v0="954" v1="2256" v2="2280" v3="2569" />
+ <tetrahedron index="2598" v0="257" v1="474" v2="637" v3="1872" />
+ <tetrahedron index="2599" v0="474" v1="637" v2="1872" v3="2089" />
+ <tetrahedron index="2600" v0="637" v1="1872" v2="2089" v3="2252" />
+ <tetrahedron index="2601" v0="474" v1="636" v2="637" v3="2089" />
+ <tetrahedron index="2602" v0="636" v1="637" v2="2089" v3="2251" />
+ <tetrahedron index="2603" v0="637" v1="2089" v2="2251" v3="2252" />
+ <tetrahedron index="2604" v0="782" v1="805" v2="891" v3="2397" />
+ <tetrahedron index="2605" v0="805" v1="891" v2="2397" v3="2420" />
+ <tetrahedron index="2606" v0="891" v1="2397" v2="2420" v3="2506" />
+ <tetrahedron index="2607" v0="730" v1="805" v2="891" v3="2345" />
+ <tetrahedron index="2608" v0="805" v1="891" v2="2345" v3="2420" />
+ <tetrahedron index="2609" v0="891" v1="2345" v2="2420" v3="2506" />
+ <tetrahedron index="2610" v0="111" v1="243" v2="529" v3="1726" />
+ <tetrahedron index="2611" v0="243" v1="529" v2="1726" v3="1858" />
+ <tetrahedron index="2612" v0="529" v1="1726" v2="1858" v3="2144" />
+ <tetrahedron index="2613" v0="551" v1="707" v2="823" v3="2166" />
+ <tetrahedron index="2614" v0="707" v1="823" v2="2166" v3="2322" />
+ <tetrahedron index="2615" v0="823" v1="2166" v2="2322" v3="2438" />
+ <tetrahedron index="2616" v0="551" v1="554" v2="823" v3="2166" />
+ <tetrahedron index="2617" v0="554" v1="823" v2="2166" v3="2169" />
+ <tetrahedron index="2618" v0="823" v1="2166" v2="2169" v3="2438" />
+ <tetrahedron index="2619" v0="290" v1="876" v2="955" v3="1905" />
+ <tetrahedron index="2620" v0="876" v1="955" v2="1905" v3="2491" />
+ <tetrahedron index="2621" v0="955" v1="1905" v2="2491" v3="2570" />
+ <tetrahedron index="2622" v0="956" v1="957" v2="958" v3="2571" />
+ <tetrahedron index="2623" v0="957" v1="958" v2="2571" v3="2572" />
+ <tetrahedron index="2624" v0="958" v1="2571" v2="2572" v3="2573" />
+ <tetrahedron index="2625" v0="586" v1="909" v2="959" v3="2201" />
+ <tetrahedron index="2626" v0="909" v1="959" v2="2201" v3="2524" />
+ <tetrahedron index="2627" v0="959" v1="2201" v2="2524" v3="2574" />
+ <tetrahedron index="2628" v0="478" v1="650" v2="894" v3="2093" />
+ <tetrahedron index="2629" v0="650" v1="894" v2="2093" v3="2265" />
+ <tetrahedron index="2630" v0="894" v1="2093" v2="2265" v3="2509" />
+ <tetrahedron index="2631" v0="503" v1="786" v2="787" v3="2118" />
+ <tetrahedron index="2632" v0="786" v1="787" v2="2118" v3="2401" />
+ <tetrahedron index="2633" v0="787" v1="2118" v2="2401" v3="2402" />
+ <tetrahedron index="2634" v0="167" v1="785" v2="951" v3="1782" />
+ <tetrahedron index="2635" v0="785" v1="951" v2="1782" v3="2400" />
+ <tetrahedron index="2636" v0="951" v1="1782" v2="2400" v3="2566" />
+ <tetrahedron index="2637" v0="163" v1="167" v2="951" v3="1778" />
+ <tetrahedron index="2638" v0="167" v1="951" v2="1778" v3="1782" />
+ <tetrahedron index="2639" v0="951" v1="1778" v2="1782" v3="2566" />
+ <tetrahedron index="2640" v0="361" v1="362" v2="811" v3="1976" />
+ <tetrahedron index="2641" v0="362" v1="811" v2="1976" v3="1977" />
+ <tetrahedron index="2642" v0="811" v1="1976" v2="1977" v3="2426" />
+ <tetrahedron index="2643" v0="420" v1="600" v2="609" v3="2035" />
+ <tetrahedron index="2644" v0="600" v1="609" v2="2035" v3="2215" />
+ <tetrahedron index="2645" v0="609" v1="2035" v2="2215" v3="2224" />
+ <tetrahedron index="2646" v0="311" v1="562" v2="799" v3="1926" />
+ <tetrahedron index="2647" v0="562" v1="799" v2="1926" v3="2177" />
+ <tetrahedron index="2648" v0="799" v1="1926" v2="2177" v3="2414" />
+ <tetrahedron index="2649" v0="297" v1="311" v2="562" v3="1912" />
+ <tetrahedron index="2650" v0="311" v1="562" v2="1912" v3="1926" />
+ <tetrahedron index="2651" v0="562" v1="1912" v2="1926" v3="2177" />
+ <tetrahedron index="2652" v0="551" v1="553" v2="554" v3="2166" />
+ <tetrahedron index="2653" v0="553" v1="554" v2="2166" v3="2168" />
+ <tetrahedron index="2654" v0="554" v1="2166" v2="2168" v3="2169" />
+ <tetrahedron index="2655" v0="549" v1="551" v2="553" v3="2164" />
+ <tetrahedron index="2656" v0="551" v1="553" v2="2164" v3="2166" />
+ <tetrahedron index="2657" v0="553" v1="2164" v2="2166" v3="2168" />
+ <tetrahedron index="2658" v0="552" v1="553" v2="883" v3="2167" />
+ <tetrahedron index="2659" v0="553" v1="883" v2="2167" v3="2168" />
+ <tetrahedron index="2660" v0="883" v1="2167" v2="2168" v3="2498" />
+ <tetrahedron index="2661" v0="363" v1="387" v2="571" v3="1978" />
+ <tetrahedron index="2662" v0="387" v1="571" v2="1978" v3="2002" />
+ <tetrahedron index="2663" v0="571" v1="1978" v2="2002" v3="2186" />
+ <tetrahedron index="2664" v0="42" v1="43" v2="324" v3="1657" />
+ <tetrahedron index="2665" v0="43" v1="324" v2="1657" v3="1658" />
+ <tetrahedron index="2666" v0="324" v1="1657" v2="1658" v3="1939" />
+ <tetrahedron index="2667" v0="182" v1="726" v2="960" v3="1797" />
+ <tetrahedron index="2668" v0="726" v1="960" v2="1797" v3="2341" />
+ <tetrahedron index="2669" v0="960" v1="1797" v2="2341" v3="2575" />
+ <tetrahedron index="2670" v0="154" v1="155" v2="504" v3="1769" />
+ <tetrahedron index="2671" v0="155" v1="504" v2="1769" v3="1770" />
+ <tetrahedron index="2672" v0="504" v1="1769" v2="1770" v3="2119" />
+ <tetrahedron index="2673" v0="545" v1="752" v2="961" v3="2160" />
+ <tetrahedron index="2674" v0="752" v1="961" v2="2160" v3="2367" />
+ <tetrahedron index="2675" v0="961" v1="2160" v2="2367" v3="2576" />
+ <tetrahedron index="2676" v0="962" v1="963" v2="964" v3="2577" />
+ <tetrahedron index="2677" v0="963" v1="964" v2="2577" v3="2578" />
+ <tetrahedron index="2678" v0="964" v1="2577" v2="2578" v3="2579" />
+ <tetrahedron index="2679" v0="923" v1="939" v2="940" v3="2538" />
+ <tetrahedron index="2680" v0="939" v1="940" v2="2538" v3="2554" />
+ <tetrahedron index="2681" v0="940" v1="2538" v2="2554" v3="2555" />
+ <tetrahedron index="2682" v0="497" v1="502" v2="666" v3="2112" />
+ <tetrahedron index="2683" v0="502" v1="666" v2="2112" v3="2117" />
+ <tetrahedron index="2684" v0="666" v1="2112" v2="2117" v3="2281" />
+ <tetrahedron index="2685" v0="227" v1="534" v2="655" v3="1842" />
+ <tetrahedron index="2686" v0="534" v1="655" v2="1842" v3="2149" />
+ <tetrahedron index="2687" v0="655" v1="1842" v2="2149" v3="2270" />
+ <tetrahedron index="2688" v0="20" v1="23" v2="786" v3="1635" />
+ <tetrahedron index="2689" v0="23" v1="786" v2="1635" v3="1638" />
+ <tetrahedron index="2690" v0="786" v1="1635" v2="1638" v3="2401" />
+ <tetrahedron index="2691" v0="298" v1="299" v2="965" v3="1913" />
+ <tetrahedron index="2692" v0="299" v1="965" v2="1913" v3="1914" />
+ <tetrahedron index="2693" v0="965" v1="1913" v2="1914" v3="2580" />
+ <tetrahedron index="2694" v0="462" v1="463" v2="966" v3="2077" />
+ <tetrahedron index="2695" v0="463" v1="966" v2="2077" v3="2078" />
+ <tetrahedron index="2696" v0="966" v1="2077" v2="2078" v3="2581" />
+ <tetrahedron index="2697" v0="147" v1="299" v2="535" v3="1762" />
+ <tetrahedron index="2698" v0="299" v1="535" v2="1762" v3="1914" />
+ <tetrahedron index="2699" v0="535" v1="1762" v2="1914" v3="2150" />
+ <tetrahedron index="2700" v0="509" v1="664" v2="967" v3="2124" />
+ <tetrahedron index="2701" v0="664" v1="967" v2="2124" v3="2279" />
+ <tetrahedron index="2702" v0="967" v1="2124" v2="2279" v3="2582" />
+ <tetrahedron index="2703" v0="893" v1="968" v2="969" v3="2508" />
+ <tetrahedron index="2704" v0="968" v1="969" v2="2508" v3="2583" />
+ <tetrahedron index="2705" v0="969" v1="2508" v2="2583" v3="2584" />
+ <tetrahedron index="2706" v0="352" v1="353" v2="656" v3="1967" />
+ <tetrahedron index="2707" v0="353" v1="656" v2="1967" v3="1968" />
+ <tetrahedron index="2708" v0="656" v1="1967" v2="1968" v3="2271" />
+ <tetrahedron index="2709" v0="353" v1="655" v2="656" v3="1968" />
+ <tetrahedron index="2710" v0="655" v1="656" v2="1968" v3="2270" />
+ <tetrahedron index="2711" v0="656" v1="1968" v2="2270" v3="2271" />
+ <tetrahedron index="2712" v0="814" v1="881" v2="970" v3="2429" />
+ <tetrahedron index="2713" v0="881" v1="970" v2="2429" v3="2496" />
+ <tetrahedron index="2714" v0="970" v1="2429" v2="2496" v3="2585" />
+ <tetrahedron index="2715" v0="336" v1="337" v2="971" v3="1951" />
+ <tetrahedron index="2716" v0="337" v1="971" v2="1951" v3="1952" />
+ <tetrahedron index="2717" v0="971" v1="1951" v2="1952" v3="2586" />
+ <tetrahedron index="2718" v0="26" v1="583" v2="972" v3="1641" />
+ <tetrahedron index="2719" v0="583" v1="972" v2="1641" v3="2198" />
+ <tetrahedron index="2720" v0="972" v1="1641" v2="2198" v3="2587" />
+ <tetrahedron index="2721" v0="99" v1="973" v2="974" v3="1714" />
+ <tetrahedron index="2722" v0="973" v1="974" v2="1714" v3="2588" />
+ <tetrahedron index="2723" v0="974" v1="1714" v2="2588" v3="2589" />
+ <tetrahedron index="2724" v0="196" v1="197" v2="975" v3="1811" />
+ <tetrahedron index="2725" v0="197" v1="975" v2="1811" v3="1812" />
+ <tetrahedron index="2726" v0="975" v1="1811" v2="1812" v3="2590" />
+ <tetrahedron index="2727" v0="244" v1="269" v2="976" v3="1859" />
+ <tetrahedron index="2728" v0="269" v1="976" v2="1859" v3="1884" />
+ <tetrahedron index="2729" v0="976" v1="1859" v2="1884" v3="2591" />
+ <tetrahedron index="2730" v0="312" v1="850" v2="921" v3="1927" />
+ <tetrahedron index="2731" v0="850" v1="921" v2="1927" v3="2465" />
+ <tetrahedron index="2732" v0="921" v1="1927" v2="2465" v3="2536" />
+ <tetrahedron index="2733" v0="111" v1="113" v2="977" v3="1726" />
+ <tetrahedron index="2734" v0="113" v1="977" v2="1726" v3="1728" />
+ <tetrahedron index="2735" v0="977" v1="1726" v2="1728" v3="2592" />
+ <tetrahedron index="2736" v0="580" v1="582" v2="978" v3="2195" />
+ <tetrahedron index="2737" v0="582" v1="978" v2="2195" v3="2197" />
+ <tetrahedron index="2738" v0="978" v1="2195" v2="2197" v3="2593" />
+ <tetrahedron index="2739" v0="979" v1="980" v2="981" v3="2594" />
+ <tetrahedron index="2740" v0="980" v1="981" v2="2594" v3="2595" />
+ <tetrahedron index="2741" v0="981" v1="2594" v2="2595" v3="2596" />
+ <tetrahedron index="2742" v0="785" v1="951" v2="982" v3="2400" />
+ <tetrahedron index="2743" v0="951" v1="982" v2="2400" v3="2566" />
+ <tetrahedron index="2744" v0="982" v1="2400" v2="2566" v3="2597" />
+ <tetrahedron index="2745" v0="782" v1="783" v2="983" v3="2397" />
+ <tetrahedron index="2746" v0="783" v1="983" v2="2397" v3="2398" />
+ <tetrahedron index="2747" v0="983" v1="2397" v2="2398" v3="2598" />
+ <tetrahedron index="2748" v0="782" v1="891" v2="983" v3="2397" />
+ <tetrahedron index="2749" v0="891" v1="983" v2="2397" v3="2506" />
+ <tetrahedron index="2750" v0="983" v1="2397" v2="2506" v3="2598" />
+ <tetrahedron index="2751" v0="320" v1="321" v2="984" v3="1935" />
+ <tetrahedron index="2752" v0="321" v1="984" v2="1935" v3="1936" />
+ <tetrahedron index="2753" v0="984" v1="1935" v2="1936" v3="2599" />
+ <tetrahedron index="2754" v0="559" v1="731" v2="872" v3="2174" />
+ <tetrahedron index="2755" v0="731" v1="872" v2="2174" v3="2346" />
+ <tetrahedron index="2756" v0="872" v1="2174" v2="2346" v3="2487" />
+ <tetrahedron index="2757" v0="559" v1="731" v2="913" v3="2174" />
+ <tetrahedron index="2758" v0="731" v1="913" v2="2174" v3="2346" />
+ <tetrahedron index="2759" v0="913" v1="2174" v2="2346" v3="2528" />
+ <tetrahedron index="2760" v0="164" v1="170" v2="539" v3="1779" />
+ <tetrahedron index="2761" v0="170" v1="539" v2="1779" v3="1785" />
+ <tetrahedron index="2762" v0="539" v1="1779" v2="1785" v3="2154" />
+ <tetrahedron index="2763" v0="55" v1="57" v2="255" v3="1670" />
+ <tetrahedron index="2764" v0="57" v1="255" v2="1670" v3="1672" />
+ <tetrahedron index="2765" v0="255" v1="1670" v2="1672" v3="1870" />
+ <tetrahedron index="2766" v0="351" v1="442" v2="985" v3="1966" />
+ <tetrahedron index="2767" v0="442" v1="985" v2="1966" v3="2057" />
+ <tetrahedron index="2768" v0="985" v1="1966" v2="2057" v3="2600" />
+ <tetrahedron index="2769" v0="45" v1="146" v2="296" v3="1660" />
+ <tetrahedron index="2770" v0="146" v1="296" v2="1660" v3="1761" />
+ <tetrahedron index="2771" v0="296" v1="1660" v2="1761" v3="1911" />
+ <tetrahedron index="2772" v0="45" v1="46" v2="146" v3="1660" />
+ <tetrahedron index="2773" v0="46" v1="146" v2="1660" v3="1661" />
+ <tetrahedron index="2774" v0="146" v1="1660" v2="1661" v3="1761" />
+ <tetrahedron index="2775" v0="807" v1="808" v2="933" v3="2422" />
+ <tetrahedron index="2776" v0="808" v1="933" v2="2422" v3="2423" />
+ <tetrahedron index="2777" v0="933" v1="2422" v2="2423" v3="2548" />
+ <tetrahedron index="2778" v0="543" v1="545" v2="986" v3="2158" />
+ <tetrahedron index="2779" v0="545" v1="986" v2="2158" v3="2160" />
+ <tetrahedron index="2780" v0="986" v1="2158" v2="2160" v3="2601" />
+ <tetrahedron index="2781" v0="414" v1="416" v2="697" v3="2029" />
+ <tetrahedron index="2782" v0="416" v1="697" v2="2029" v3="2031" />
+ <tetrahedron index="2783" v0="697" v1="2029" v2="2031" v3="2312" />
+ <tetrahedron index="2784" v0="83" v1="414" v2="697" v3="1698" />
+ <tetrahedron index="2785" v0="414" v1="697" v2="1698" v3="2029" />
+ <tetrahedron index="2786" v0="697" v1="1698" v2="2029" v3="2312" />
+ <tetrahedron index="2787" v0="218" v1="452" v2="721" v3="1833" />
+ <tetrahedron index="2788" v0="452" v1="721" v2="1833" v3="2067" />
+ <tetrahedron index="2789" v0="721" v1="1833" v2="2067" v3="2336" />
+ <tetrahedron index="2790" v0="218" v1="287" v2="452" v3="1833" />
+ <tetrahedron index="2791" v0="287" v1="452" v2="1833" v3="1902" />
+ <tetrahedron index="2792" v0="452" v1="1833" v2="1902" v3="2067" />
+ <tetrahedron index="2793" v0="245" v1="952" v2="987" v3="1860" />
+ <tetrahedron index="2794" v0="952" v1="987" v2="1860" v3="2567" />
+ <tetrahedron index="2795" v0="987" v1="1860" v2="2567" v3="2602" />
+ <tetrahedron index="2796" v0="6" v1="245" v2="987" v3="1621" />
+ <tetrahedron index="2797" v0="245" v1="987" v2="1621" v3="1860" />
+ <tetrahedron index="2798" v0="987" v1="1621" v2="1860" v3="2602" />
+ <tetrahedron index="2799" v0="266" v1="328" v2="737" v3="1881" />
+ <tetrahedron index="2800" v0="328" v1="737" v2="1881" v3="1943" />
+ <tetrahedron index="2801" v0="737" v1="1881" v2="1943" v3="2352" />
+ <tetrahedron index="2802" v0="862" v1="864" v2="870" v3="2477" />
+ <tetrahedron index="2803" v0="864" v1="870" v2="2477" v3="2479" />
+ <tetrahedron index="2804" v0="870" v1="2477" v2="2479" v3="2485" />
+ <tetrahedron index="2805" v0="470" v1="661" v2="988" v3="2085" />
+ <tetrahedron index="2806" v0="661" v1="988" v2="2085" v3="2276" />
+ <tetrahedron index="2807" v0="988" v1="2085" v2="2276" v3="2603" />
+ <tetrahedron index="2808" v0="33" v1="470" v2="661" v3="1648" />
+ <tetrahedron index="2809" v0="470" v1="661" v2="1648" v3="2085" />
+ <tetrahedron index="2810" v0="661" v1="1648" v2="2085" v3="2276" />
+ <tetrahedron index="2811" v0="672" v1="989" v2="990" v3="2287" />
+ <tetrahedron index="2812" v0="989" v1="990" v2="2287" v3="2604" />
+ <tetrahedron index="2813" v0="990" v1="2287" v2="2604" v3="2605" />
+ <tetrahedron index="2814" v0="265" v1="268" v2="921" v3="1880" />
+ <tetrahedron index="2815" v0="268" v1="921" v2="1880" v3="1883" />
+ <tetrahedron index="2816" v0="921" v1="1880" v2="1883" v3="2536" />
+ <tetrahedron index="2817" v0="265" v1="312" v2="921" v3="1880" />
+ <tetrahedron index="2818" v0="312" v1="921" v2="1880" v3="1927" />
+ <tetrahedron index="2819" v0="921" v1="1880" v2="1927" v3="2536" />
+ <tetrahedron index="2820" v0="606" v1="865" v2="866" v3="2221" />
+ <tetrahedron index="2821" v0="865" v1="866" v2="2221" v3="2480" />
+ <tetrahedron index="2822" v0="866" v1="2221" v2="2480" v3="2481" />
+ <tetrahedron index="2823" v0="67" v1="377" v2="821" v3="1682" />
+ <tetrahedron index="2824" v0="377" v1="821" v2="1682" v3="1992" />
+ <tetrahedron index="2825" v0="821" v1="1682" v2="1992" v3="2436" />
+ <tetrahedron index="2826" v0="67" v1="821" v2="991" v3="1682" />
+ <tetrahedron index="2827" v0="821" v1="991" v2="1682" v3="2436" />
+ <tetrahedron index="2828" v0="991" v1="1682" v2="2436" v3="2606" />
+ <tetrahedron index="2829" v0="338" v1="607" v2="825" v3="1953" />
+ <tetrahedron index="2830" v0="607" v1="825" v2="1953" v3="2222" />
+ <tetrahedron index="2831" v0="825" v1="1953" v2="2222" v3="2440" />
+ <tetrahedron index="2832" v0="201" v1="275" v2="628" v3="1816" />
+ <tetrahedron index="2833" v0="275" v1="628" v2="1816" v3="1890" />
+ <tetrahedron index="2834" v0="628" v1="1816" v2="1890" v3="2243" />
+ <tetrahedron index="2835" v0="275" v1="577" v2="628" v3="1890" />
+ <tetrahedron index="2836" v0="577" v1="628" v2="1890" v3="2192" />
+ <tetrahedron index="2837" v0="628" v1="1890" v2="2192" v3="2243" />
+ <tetrahedron index="2838" v0="765" v1="768" v2="992" v3="2380" />
+ <tetrahedron index="2839" v0="768" v1="992" v2="2380" v3="2383" />
+ <tetrahedron index="2840" v0="992" v1="2380" v2="2383" v3="2607" />
+ <tetrahedron index="2841" v0="570" v1="642" v2="843" v3="2185" />
+ <tetrahedron index="2842" v0="642" v1="843" v2="2185" v3="2257" />
+ <tetrahedron index="2843" v0="843" v1="2185" v2="2257" v3="2458" />
+ <tetrahedron index="2844" v0="570" v1="843" v2="938" v3="2185" />
+ <tetrahedron index="2845" v0="843" v1="938" v2="2185" v3="2458" />
+ <tetrahedron index="2846" v0="938" v1="2185" v2="2458" v3="2553" />
+ <tetrahedron index="2847" v0="489" v1="490" v2="670" v3="2104" />
+ <tetrahedron index="2848" v0="490" v1="670" v2="2104" v3="2105" />
+ <tetrahedron index="2849" v0="670" v1="2104" v2="2105" v3="2285" />
+ <tetrahedron index="2850" v0="863" v1="864" v2="993" v3="2478" />
+ <tetrahedron index="2851" v0="864" v1="993" v2="2478" v3="2479" />
+ <tetrahedron index="2852" v0="993" v1="2478" v2="2479" v3="2608" />
+ <tetrahedron index="2853" v0="863" v1="993" v2="994" v3="2478" />
+ <tetrahedron index="2854" v0="993" v1="994" v2="2478" v3="2608" />
+ <tetrahedron index="2855" v0="994" v1="2478" v2="2608" v3="2609" />
+ <tetrahedron index="2856" v0="781" v1="807" v2="844" v3="2396" />
+ <tetrahedron index="2857" v0="807" v1="844" v2="2396" v3="2422" />
+ <tetrahedron index="2858" v0="844" v1="2396" v2="2422" v3="2459" />
+ <tetrahedron index="2859" v0="781" v1="783" v2="807" v3="2396" />
+ <tetrahedron index="2860" v0="783" v1="807" v2="2396" v3="2398" />
+ <tetrahedron index="2861" v0="807" v1="2396" v2="2398" v3="2422" />
+ <tetrahedron index="2862" v0="296" v1="297" v2="562" v3="1911" />
+ <tetrahedron index="2863" v0="297" v1="562" v2="1911" v3="1912" />
+ <tetrahedron index="2864" v0="562" v1="1911" v2="1912" v3="2177" />
+ <tetrahedron index="2865" v0="45" v1="296" v2="562" v3="1660" />
+ <tetrahedron index="2866" v0="296" v1="562" v2="1660" v3="1911" />
+ <tetrahedron index="2867" v0="562" v1="1660" v2="1911" v3="2177" />
+ <tetrahedron index="2868" v0="279" v1="281" v2="995" v3="1894" />
+ <tetrahedron index="2869" v0="281" v1="995" v2="1894" v3="1896" />
+ <tetrahedron index="2870" v0="995" v1="1894" v2="1896" v3="2610" />
+ <tetrahedron index="2871" v0="281" v1="283" v2="995" v3="1896" />
+ <tetrahedron index="2872" v0="283" v1="995" v2="1896" v3="1898" />
+ <tetrahedron index="2873" v0="995" v1="1896" v2="1898" v3="2610" />
+ <tetrahedron index="2874" v0="754" v1="755" v2="789" v3="2369" />
+ <tetrahedron index="2875" v0="755" v1="789" v2="2369" v3="2370" />
+ <tetrahedron index="2876" v0="789" v1="2369" v2="2370" v3="2404" />
+ <tetrahedron index="2877" v0="741" v1="755" v2="789" v3="2356" />
+ <tetrahedron index="2878" v0="755" v1="789" v2="2356" v3="2370" />
+ <tetrahedron index="2879" v0="789" v1="2356" v2="2370" v3="2404" />
+ <tetrahedron index="2880" v0="493" v1="944" v2="996" v3="2108" />
+ <tetrahedron index="2881" v0="944" v1="996" v2="2108" v3="2559" />
+ <tetrahedron index="2882" v0="996" v1="2108" v2="2559" v3="2611" />
+ <tetrahedron index="2883" v0="493" v1="633" v2="996" v3="2108" />
+ <tetrahedron index="2884" v0="633" v1="996" v2="2108" v3="2248" />
+ <tetrahedron index="2885" v0="996" v1="2108" v2="2248" v3="2611" />
+ <tetrahedron index="2886" v0="403" v1="426" v2="997" v3="2018" />
+ <tetrahedron index="2887" v0="426" v1="997" v2="2018" v3="2041" />
+ <tetrahedron index="2888" v0="997" v1="2018" v2="2041" v3="2612" />
+ <tetrahedron index="2889" v0="102" v1="403" v2="997" v3="1717" />
+ <tetrahedron index="2890" v0="403" v1="997" v2="1717" v3="2018" />
+ <tetrahedron index="2891" v0="997" v1="1717" v2="2018" v3="2612" />
+ <tetrahedron index="2892" v0="478" v1="894" v2="998" v3="2093" />
+ <tetrahedron index="2893" v0="894" v1="998" v2="2093" v3="2509" />
+ <tetrahedron index="2894" v0="998" v1="2093" v2="2509" v3="2613" />
+ <tetrahedron index="2895" v0="184" v1="294" v2="850" v3="1799" />
+ <tetrahedron index="2896" v0="294" v1="850" v2="1799" v3="1909" />
+ <tetrahedron index="2897" v0="850" v1="1799" v2="1909" v3="2465" />
+ <tetrahedron index="2898" v0="8" v1="315" v2="999" v3="1623" />
+ <tetrahedron index="2899" v0="315" v1="999" v2="1623" v3="1930" />
+ <tetrahedron index="2900" v0="999" v1="1623" v2="1930" v3="2614" />
+ <tetrahedron index="2901" v0="333" v1="335" v2="1000" v3="1948" />
+ <tetrahedron index="2902" v0="335" v1="1000" v2="1948" v3="1950" />
+ <tetrahedron index="2903" v0="1000" v1="1948" v2="1950" v3="2615" />
+ <tetrahedron index="2904" v0="166" v1="699" v2="1001" v3="1781" />
+ <tetrahedron index="2905" v0="699" v1="1001" v2="1781" v3="2314" />
+ <tetrahedron index="2906" v0="1001" v1="1781" v2="2314" v3="2616" />
+ <tetrahedron index="2907" v0="563" v1="587" v2="1002" v3="2178" />
+ <tetrahedron index="2908" v0="587" v1="1002" v2="2178" v3="2202" />
+ <tetrahedron index="2909" v0="1002" v1="2178" v2="2202" v3="2617" />
+ <tetrahedron index="2910" v0="530" v1="531" v2="1003" v3="2145" />
+ <tetrahedron index="2911" v0="531" v1="1003" v2="2145" v3="2146" />
+ <tetrahedron index="2912" v0="1003" v1="2145" v2="2146" v3="2618" />
+ <tetrahedron index="2913" v0="531" v1="721" v2="1003" v3="2146" />
+ <tetrahedron index="2914" v0="721" v1="1003" v2="2146" v3="2336" />
+ <tetrahedron index="2915" v0="1003" v1="2146" v2="2336" v3="2618" />
+ <tetrahedron index="2916" v0="90" v1="854" v2="1004" v3="1705" />
+ <tetrahedron index="2917" v0="854" v1="1004" v2="1705" v3="2469" />
+ <tetrahedron index="2918" v0="1004" v1="1705" v2="2469" v3="2619" />
+ <tetrahedron index="2919" v0="660" v1="919" v2="970" v3="2275" />
+ <tetrahedron index="2920" v0="919" v1="970" v2="2275" v3="2534" />
+ <tetrahedron index="2921" v0="970" v1="2275" v2="2534" v3="2585" />
+ <tetrahedron index="2922" v0="7" v1="244" v2="1005" v3="1622" />
+ <tetrahedron index="2923" v0="244" v1="1005" v2="1622" v3="1859" />
+ <tetrahedron index="2924" v0="1005" v1="1622" v2="1859" v3="2620" />
+ <tetrahedron index="2925" v0="7" v1="1005" v2="1006" v3="1622" />
+ <tetrahedron index="2926" v0="1005" v1="1006" v2="1622" v3="2620" />
+ <tetrahedron index="2927" v0="1006" v1="1622" v2="2620" v3="2621" />
+ <tetrahedron index="2928" v0="943" v1="1007" v2="1008" v3="2558" />
+ <tetrahedron index="2929" v0="1007" v1="1008" v2="2558" v3="2622" />
+ <tetrahedron index="2930" v0="1008" v1="2558" v2="2622" v3="2623" />
+ <tetrahedron index="2931" v0="1007" v1="1008" v2="1009" v3="2622" />
+ <tetrahedron index="2932" v0="1008" v1="1009" v2="2622" v3="2623" />
+ <tetrahedron index="2933" v0="1009" v1="2622" v2="2623" v3="2624" />
+ <tetrahedron index="2934" v0="447" v1="448" v2="972" v3="2062" />
+ <tetrahedron index="2935" v0="448" v1="972" v2="2062" v3="2063" />
+ <tetrahedron index="2936" v0="972" v1="2062" v2="2063" v3="2587" />
+ <tetrahedron index="2937" v0="620" v1="768" v2="1010" v3="2235" />
+ <tetrahedron index="2938" v0="768" v1="1010" v2="2235" v3="2383" />
+ <tetrahedron index="2939" v0="1010" v1="2235" v2="2383" v3="2625" />
+ <tetrahedron index="2940" v0="491" v1="639" v2="1011" v3="2106" />
+ <tetrahedron index="2941" v0="639" v1="1011" v2="2106" v3="2254" />
+ <tetrahedron index="2942" v0="1011" v1="2106" v2="2254" v3="2626" />
+ <tetrahedron index="2943" v0="486" v1="639" v2="1011" v3="2101" />
+ <tetrahedron index="2944" v0="639" v1="1011" v2="2101" v3="2254" />
+ <tetrahedron index="2945" v0="1011" v1="2101" v2="2254" v3="2626" />
+ <tetrahedron index="2946" v0="463" v1="966" v2="1012" v3="2078" />
+ <tetrahedron index="2947" v0="966" v1="1012" v2="2078" v3="2581" />
+ <tetrahedron index="2948" v0="1012" v1="2078" v2="2581" v3="2627" />
+ <tetrahedron index="2949" v0="881" v1="1013" v2="1014" v3="2496" />
+ <tetrahedron index="2950" v0="1013" v1="1014" v2="2496" v3="2628" />
+ <tetrahedron index="2951" v0="1014" v1="2496" v2="2628" v3="2629" />
+ <tetrahedron index="2952" v0="727" v1="953" v2="1015" v3="2342" />
+ <tetrahedron index="2953" v0="953" v1="1015" v2="2342" v3="2568" />
+ <tetrahedron index="2954" v0="1015" v1="2342" v2="2568" v3="2630" />
+ <tetrahedron index="2955" v0="1016" v1="1017" v2="1018" v3="2631" />
+ <tetrahedron index="2956" v0="1017" v1="1018" v2="2631" v3="2632" />
+ <tetrahedron index="2957" v0="1018" v1="2631" v2="2632" v3="2633" />
+ <tetrahedron index="2958" v0="840" v1="1017" v2="1018" v3="2455" />
+ <tetrahedron index="2959" v0="1017" v1="1018" v2="2455" v3="2632" />
+ <tetrahedron index="2960" v0="1018" v1="2455" v2="2632" v3="2633" />
+ <tetrahedron index="2961" v0="660" v1="661" v2="1019" v3="2275" />
+ <tetrahedron index="2962" v0="661" v1="1019" v2="2275" v3="2276" />
+ <tetrahedron index="2963" v0="1019" v1="2275" v2="2276" v3="2634" />
+ <tetrahedron index="2964" v0="553" v1="883" v2="1020" v3="2168" />
+ <tetrahedron index="2965" v0="883" v1="1020" v2="2168" v3="2498" />
+ <tetrahedron index="2966" v0="1020" v1="2168" v2="2498" v3="2635" />
+ <tetrahedron index="2967" v0="549" v1="553" v2="1020" v3="2164" />
+ <tetrahedron index="2968" v0="553" v1="1020" v2="2164" v3="2168" />
+ <tetrahedron index="2969" v0="1020" v1="2164" v2="2168" v3="2635" />
+ <tetrahedron index="2970" v0="1021" v1="1022" v2="1023" v3="2636" />
+ <tetrahedron index="2971" v0="1022" v1="1023" v2="2636" v3="2637" />
+ <tetrahedron index="2972" v0="1023" v1="2636" v2="2637" v3="2638" />
+ <tetrahedron index="2973" v0="1022" v1="1023" v2="1024" v3="2637" />
+ <tetrahedron index="2974" v0="1023" v1="1024" v2="2637" v3="2638" />
+ <tetrahedron index="2975" v0="1024" v1="2637" v2="2638" v3="2639" />
+ <tetrahedron index="2976" v0="760" v1="900" v2="1025" v3="2375" />
+ <tetrahedron index="2977" v0="900" v1="1025" v2="2375" v3="2515" />
+ <tetrahedron index="2978" v0="1025" v1="2375" v2="2515" v3="2640" />
+ <tetrahedron index="2979" v0="208" v1="505" v2="1026" v3="1823" />
+ <tetrahedron index="2980" v0="505" v1="1026" v2="1823" v3="2120" />
+ <tetrahedron index="2981" v0="1026" v1="1823" v2="2120" v3="2641" />
+ <tetrahedron index="2982" v0="860" v1="1027" v2="1028" v3="2475" />
+ <tetrahedron index="2983" v0="1027" v1="1028" v2="2475" v3="2642" />
+ <tetrahedron index="2984" v0="1028" v1="2475" v2="2642" v3="2643" />
+ <tetrahedron index="2985" v0="86" v1="87" v2="1029" v3="1701" />
+ <tetrahedron index="2986" v0="87" v1="1029" v2="1701" v3="1702" />
+ <tetrahedron index="2987" v0="1029" v1="1701" v2="1702" v3="2644" />
+ <tetrahedron index="2988" v0="87" v1="330" v2="1029" v3="1702" />
+ <tetrahedron index="2989" v0="330" v1="1029" v2="1702" v3="1945" />
+ <tetrahedron index="2990" v0="1029" v1="1702" v2="1945" v3="2644" />
+ <tetrahedron index="2991" v0="337" v1="690" v2="1030" v3="1952" />
+ <tetrahedron index="2992" v0="690" v1="1030" v2="1952" v3="2305" />
+ <tetrahedron index="2993" v0="1030" v1="1952" v2="2305" v3="2645" />
+ <tetrahedron index="2994" v0="747" v1="971" v2="1031" v3="2362" />
+ <tetrahedron index="2995" v0="971" v1="1031" v2="2362" v3="2586" />
+ <tetrahedron index="2996" v0="1031" v1="2362" v2="2586" v3="2646" />
+ <tetrahedron index="2997" v0="240" v1="388" v2="1032" v3="1855" />
+ <tetrahedron index="2998" v0="388" v1="1032" v2="1855" v3="2003" />
+ <tetrahedron index="2999" v0="1032" v1="1855" v2="2003" v3="2647" />
+ <tetrahedron index="3000" v0="135" v1="136" v2="871" v3="1750" />
+ <tetrahedron index="3001" v0="136" v1="871" v2="1750" v3="1751" />
+ <tetrahedron index="3002" v0="871" v1="1750" v2="1751" v3="2486" />
+ <tetrahedron index="3003" v0="169" v1="740" v2="753" v3="1784" />
+ <tetrahedron index="3004" v0="740" v1="753" v2="1784" v3="2355" />
+ <tetrahedron index="3005" v0="753" v1="1784" v2="2355" v3="2368" />
+ <tetrahedron index="3006" v0="183" v1="726" v2="1033" v3="1798" />
+ <tetrahedron index="3007" v0="726" v1="1033" v2="1798" v3="2341" />
+ <tetrahedron index="3008" v0="1033" v1="1798" v2="2341" v3="2648" />
+ <tetrahedron index="3009" v0="183" v1="266" v2="1033" v3="1798" />
+ <tetrahedron index="3010" v0="266" v1="1033" v2="1798" v3="1881" />
+ <tetrahedron index="3011" v0="1033" v1="1798" v2="1881" v3="2648" />
+ <tetrahedron index="3012" v0="916" v1="1021" v2="1034" v3="2531" />
+ <tetrahedron index="3013" v0="1021" v1="1034" v2="2531" v3="2636" />
+ <tetrahedron index="3014" v0="1034" v1="2531" v2="2636" v3="2649" />
+ <tetrahedron index="3015" v0="103" v1="104" v2="1035" v3="1718" />
+ <tetrahedron index="3016" v0="104" v1="1035" v2="1718" v3="1719" />
+ <tetrahedron index="3017" v0="1035" v1="1718" v2="1719" v3="2650" />
+ <tetrahedron index="3018" v0="1036" v1="1037" v2="1038" v3="2651" />
+ <tetrahedron index="3019" v0="1037" v1="1038" v2="2651" v3="2652" />
+ <tetrahedron index="3020" v0="1038" v1="2651" v2="2652" v3="2653" />
+ <tetrahedron index="3021" v0="428" v1="879" v2="1039" v3="2043" />
+ <tetrahedron index="3022" v0="879" v1="1039" v2="2043" v3="2494" />
+ <tetrahedron index="3023" v0="1039" v1="2043" v2="2494" v3="2654" />
+ <tetrahedron index="3024" v0="752" v1="1040" v2="1041" v3="2367" />
+ <tetrahedron index="3025" v0="1040" v1="1041" v2="2367" v3="2655" />
+ <tetrahedron index="3026" v0="1041" v1="2367" v2="2655" v3="2656" />
+ <tetrahedron index="3027" v0="948" v1="949" v2="1042" v3="2563" />
+ <tetrahedron index="3028" v0="949" v1="1042" v2="2563" v3="2564" />
+ <tetrahedron index="3029" v0="1042" v1="2563" v2="2564" v3="2657" />
+ <tetrahedron index="3030" v0="894" v1="896" v2="1043" v3="2509" />
+ <tetrahedron index="3031" v0="896" v1="1043" v2="2509" v3="2511" />
+ <tetrahedron index="3032" v0="1043" v1="2509" v2="2511" v3="2658" />
+ <tetrahedron index="3033" v0="650" v1="894" v2="1043" v3="2265" />
+ <tetrahedron index="3034" v0="894" v1="1043" v2="2265" v3="2509" />
+ <tetrahedron index="3035" v0="1043" v1="2265" v2="2509" v3="2658" />
+ <tetrahedron index="3036" v0="187" v1="340" v2="1044" v3="1802" />
+ <tetrahedron index="3037" v0="340" v1="1044" v2="1802" v3="1955" />
+ <tetrahedron index="3038" v0="1044" v1="1802" v2="1955" v3="2659" />
+ <tetrahedron index="3039" v0="351" v1="353" v2="1045" v3="1966" />
+ <tetrahedron index="3040" v0="353" v1="1045" v2="1966" v3="1968" />
+ <tetrahedron index="3041" v0="1045" v1="1966" v2="1968" v3="2660" />
+ <tetrahedron index="3042" v0="791" v1="1046" v2="1047" v3="2406" />
+ <tetrahedron index="3043" v0="1046" v1="1047" v2="2406" v3="2661" />
+ <tetrahedron index="3044" v0="1047" v1="2406" v2="2661" v3="2662" />
+ <tetrahedron index="3045" v0="290" v1="955" v2="1048" v3="1905" />
+ <tetrahedron index="3046" v0="955" v1="1048" v2="1905" v3="2570" />
+ <tetrahedron index="3047" v0="1048" v1="1905" v2="2570" v3="2663" />
+ <tetrahedron index="3048" v0="955" v1="1048" v2="1049" v3="2570" />
+ <tetrahedron index="3049" v0="1048" v1="1049" v2="2570" v3="2663" />
+ <tetrahedron index="3050" v0="1049" v1="2570" v2="2663" v3="2664" />
+ <tetrahedron index="3051" v0="1021" v1="1050" v2="1051" v3="2636" />
+ <tetrahedron index="3052" v0="1050" v1="1051" v2="2636" v3="2665" />
+ <tetrahedron index="3053" v0="1051" v1="2636" v2="2665" v3="2666" />
+ <tetrahedron index="3054" v0="1021" v1="1034" v2="1051" v3="2636" />
+ <tetrahedron index="3055" v0="1034" v1="1051" v2="2636" v3="2649" />
+ <tetrahedron index="3056" v0="1051" v1="2636" v2="2649" v3="2666" />
+ <tetrahedron index="3057" v0="840" v1="1018" v2="1052" v3="2455" />
+ <tetrahedron index="3058" v0="1018" v1="1052" v2="2455" v3="2633" />
+ <tetrahedron index="3059" v0="1052" v1="2455" v2="2633" v3="2667" />
+ <tetrahedron index="3060" v0="301" v1="385" v2="1053" v3="1916" />
+ <tetrahedron index="3061" v0="385" v1="1053" v2="1916" v3="2000" />
+ <tetrahedron index="3062" v0="1053" v1="1916" v2="2000" v3="2668" />
+ <tetrahedron index="3063" v0="385" v1="758" v2="1053" v3="2000" />
+ <tetrahedron index="3064" v0="758" v1="1053" v2="2000" v3="2373" />
+ <tetrahedron index="3065" v0="1053" v1="2000" v2="2373" v3="2668" />
+ <tetrahedron index="3066" v0="404" v1="749" v2="977" v3="2019" />
+ <tetrahedron index="3067" v0="749" v1="977" v2="2019" v3="2364" />
+ <tetrahedron index="3068" v0="977" v1="2019" v2="2364" v3="2592" />
+ <tetrahedron index="3069" v0="353" v1="655" v2="978" v3="1968" />
+ <tetrahedron index="3070" v0="655" v1="978" v2="1968" v3="2270" />
+ <tetrahedron index="3071" v0="978" v1="1968" v2="2270" v3="2593" />
+ <tetrahedron index="3072" v0="746" v1="747" v2="1054" v3="2361" />
+ <tetrahedron index="3073" v0="747" v1="1054" v2="2361" v3="2362" />
+ <tetrahedron index="3074" v0="1054" v1="2361" v2="2362" v3="2669" />
+ <tetrahedron index="3075" v0="747" v1="1030" v2="1054" v3="2362" />
+ <tetrahedron index="3076" v0="1030" v1="1054" v2="2362" v3="2645" />
+ <tetrahedron index="3077" v0="1054" v1="2362" v2="2645" v3="2669" />
+ <tetrahedron index="3078" v0="675" v1="1055" v2="1056" v3="2290" />
+ <tetrahedron index="3079" v0="1055" v1="1056" v2="2290" v3="2670" />
+ <tetrahedron index="3080" v0="1056" v1="2290" v2="2670" v3="2671" />
+ <tetrahedron index="3081" v0="834" v1="953" v2="982" v3="2449" />
+ <tetrahedron index="3082" v0="953" v1="982" v2="2449" v3="2568" />
+ <tetrahedron index="3083" v0="982" v1="2449" v2="2568" v3="2597" />
+ <tetrahedron index="3084" v0="602" v1="1057" v2="1058" v3="2217" />
+ <tetrahedron index="3085" v0="1057" v1="1058" v2="2217" v3="2672" />
+ <tetrahedron index="3086" v0="1058" v1="2217" v2="2672" v3="2673" />
+ <tetrahedron index="3087" v0="844" v1="845" v2="1059" v3="2459" />
+ <tetrahedron index="3088" v0="845" v1="1059" v2="2459" v3="2460" />
+ <tetrahedron index="3089" v0="1059" v1="2459" v2="2460" v3="2674" />
+ <tetrahedron index="3090" v0="488" v1="845" v2="1059" v3="2103" />
+ <tetrahedron index="3091" v0="845" v1="1059" v2="2103" v3="2460" />
+ <tetrahedron index="3092" v0="1059" v1="2103" v2="2460" v3="2674" />
+ <tetrahedron index="3093" v0="174" v1="176" v2="1010" v3="1789" />
+ <tetrahedron index="3094" v0="176" v1="1010" v2="1789" v3="1791" />
+ <tetrahedron index="3095" v0="1010" v1="1789" v2="1791" v3="2625" />
+ <tetrahedron index="3096" v0="140" v1="318" v2="800" v3="1755" />
+ <tetrahedron index="3097" v0="318" v1="800" v2="1755" v3="1933" />
+ <tetrahedron index="3098" v0="800" v1="1755" v2="1933" v3="2415" />
+ <tetrahedron index="3099" v0="310" v1="503" v2="965" v3="1925" />
+ <tetrahedron index="3100" v0="503" v1="965" v2="1925" v3="2118" />
+ <tetrahedron index="3101" v0="965" v1="1925" v2="2118" v3="2580" />
+ <tetrahedron index="3102" v0="503" v1="786" v2="965" v3="2118" />
+ <tetrahedron index="3103" v0="786" v1="965" v2="2118" v3="2401" />
+ <tetrahedron index="3104" v0="965" v1="2118" v2="2401" v3="2580" />
+ <tetrahedron index="3105" v0="61" v1="527" v2="775" v3="1676" />
+ <tetrahedron index="3106" v0="527" v1="775" v2="1676" v3="2142" />
+ <tetrahedron index="3107" v0="775" v1="1676" v2="2142" v3="2390" />
+ <tetrahedron index="3108" v0="477" v1="478" v2="998" v3="2092" />
+ <tetrahedron index="3109" v0="478" v1="998" v2="2092" v3="2093" />
+ <tetrahedron index="3110" v0="998" v1="2092" v2="2093" v3="2613" />
+ <tetrahedron index="3111" v0="119" v1="121" v2="1060" v3="1734" />
+ <tetrahedron index="3112" v0="121" v1="1060" v2="1734" v3="1736" />
+ <tetrahedron index="3113" v0="1060" v1="1734" v2="1736" v3="2675" />
+ <tetrahedron index="3114" v0="119" v1="126" v2="1060" v3="1734" />
+ <tetrahedron index="3115" v0="126" v1="1060" v2="1734" v3="1741" />
+ <tetrahedron index="3116" v0="1060" v1="1734" v2="1741" v3="2675" />
+ <tetrahedron index="3117" v0="216" v1="463" v2="1012" v3="1831" />
+ <tetrahedron index="3118" v0="463" v1="1012" v2="1831" v3="2078" />
+ <tetrahedron index="3119" v0="1012" v1="1831" v2="2078" v3="2627" />
+ <tetrahedron index="3120" v0="585" v1="1061" v2="1062" v3="2200" />
+ <tetrahedron index="3121" v0="1061" v1="1062" v2="2200" v3="2676" />
+ <tetrahedron index="3122" v0="1062" v1="2200" v2="2676" v3="2677" />
+ <tetrahedron index="3123" v0="335" v1="479" v2="1000" v3="1950" />
+ <tetrahedron index="3124" v0="479" v1="1000" v2="1950" v3="2094" />
+ <tetrahedron index="3125" v0="1000" v1="1950" v2="2094" v3="2615" />
+ <tetrahedron index="3126" v0="78" v1="396" v2="468" v3="1693" />
+ <tetrahedron index="3127" v0="396" v1="468" v2="1693" v3="2011" />
+ <tetrahedron index="3128" v0="468" v1="1693" v2="2011" v3="2083" />
+ <tetrahedron index="3129" v0="76" v1="78" v2="468" v3="1691" />
+ <tetrahedron index="3130" v0="78" v1="468" v2="1691" v3="1693" />
+ <tetrahedron index="3131" v0="468" v1="1691" v2="1693" v3="2083" />
+ <tetrahedron index="3132" v0="336" v1="339" v2="901" v3="1951" />
+ <tetrahedron index="3133" v0="339" v1="901" v2="1951" v3="1954" />
+ <tetrahedron index="3134" v0="901" v1="1951" v2="1954" v3="2516" />
+ <tetrahedron index="3135" v0="339" v1="901" v2="1063" v3="1954" />
+ <tetrahedron index="3136" v0="901" v1="1063" v2="1954" v3="2516" />
+ <tetrahedron index="3137" v0="1063" v1="1954" v2="2516" v3="2678" />
+ <tetrahedron index="3138" v0="511" v1="775" v2="1003" v3="2126" />
+ <tetrahedron index="3139" v0="775" v1="1003" v2="2126" v3="2390" />
+ <tetrahedron index="3140" v0="1003" v1="2126" v2="2390" v3="2618" />
+ <tetrahedron index="3141" v0="277" v1="391" v2="750" v3="1892" />
+ <tetrahedron index="3142" v0="391" v1="750" v2="1892" v3="2006" />
+ <tetrahedron index="3143" v0="750" v1="1892" v2="2006" v3="2365" />
+ <tetrahedron index="3144" v0="391" v1="750" v2="762" v3="2006" />
+ <tetrahedron index="3145" v0="750" v1="762" v2="2006" v3="2365" />
+ <tetrahedron index="3146" v0="762" v1="2006" v2="2365" v3="2377" />
+ <tetrahedron index="3147" v0="488" v1="489" v2="1059" v3="2103" />
+ <tetrahedron index="3148" v0="489" v1="1059" v2="2103" v3="2104" />
+ <tetrahedron index="3149" v0="1059" v1="2103" v2="2104" v3="2674" />
+ <tetrahedron index="3150" v0="856" v1="906" v2="1064" v3="2471" />
+ <tetrahedron index="3151" v0="906" v1="1064" v2="2471" v3="2521" />
+ <tetrahedron index="3152" v0="1064" v1="2471" v2="2521" v3="2679" />
+ <tetrahedron index="3153" v0="906" v1="907" v2="1064" v3="2521" />
+ <tetrahedron index="3154" v0="907" v1="1064" v2="2521" v3="2522" />
+ <tetrahedron index="3155" v0="1064" v1="2521" v2="2522" v3="2679" />
+ <tetrahedron index="3156" v0="1028" v1="1065" v2="1066" v3="2643" />
+ <tetrahedron index="3157" v0="1065" v1="1066" v2="2643" v3="2680" />
+ <tetrahedron index="3158" v0="1066" v1="2643" v2="2680" v3="2681" />
+ <tetrahedron index="3159" v0="1027" v1="1028" v2="1066" v3="2642" />
+ <tetrahedron index="3160" v0="1028" v1="1066" v2="2642" v3="2643" />
+ <tetrahedron index="3161" v0="1066" v1="2642" v2="2643" v3="2681" />
+ <tetrahedron index="3162" v0="361" v1="1067" v2="1068" v3="1976" />
+ <tetrahedron index="3163" v0="1067" v1="1068" v2="1976" v3="2682" />
+ <tetrahedron index="3164" v0="1068" v1="1976" v2="2682" v3="2683" />
+ <tetrahedron index="3165" v0="815" v1="919" v2="970" v3="2430" />
+ <tetrahedron index="3166" v0="919" v1="970" v2="2430" v3="2534" />
+ <tetrahedron index="3167" v0="970" v1="2430" v2="2534" v3="2585" />
+ <tetrahedron index="3168" v0="814" v1="815" v2="970" v3="2429" />
+ <tetrahedron index="3169" v0="815" v1="970" v2="2429" v3="2430" />
+ <tetrahedron index="3170" v0="970" v1="2429" v2="2430" v3="2585" />
+ <tetrahedron index="3171" v0="428" v1="430" v2="916" v3="2043" />
+ <tetrahedron index="3172" v0="430" v1="916" v2="2043" v3="2045" />
+ <tetrahedron index="3173" v0="916" v1="2043" v2="2045" v3="2531" />
+ <tetrahedron index="3174" v0="428" v1="916" v2="1034" v3="2043" />
+ <tetrahedron index="3175" v0="916" v1="1034" v2="2043" v3="2531" />
+ <tetrahedron index="3176" v0="1034" v1="2043" v2="2531" v3="2649" />
+ <tetrahedron index="3177" v0="741" v1="755" v2="1069" v3="2356" />
+ <tetrahedron index="3178" v0="755" v1="1069" v2="2356" v3="2370" />
+ <tetrahedron index="3179" v0="1069" v1="2356" v2="2370" v3="2684" />
+ <tetrahedron index="3180" v0="673" v1="755" v2="1069" v3="2288" />
+ <tetrahedron index="3181" v0="755" v1="1069" v2="2288" v3="2370" />
+ <tetrahedron index="3182" v0="1069" v1="2288" v2="2370" v3="2684" />
+ <tetrahedron index="3183" v0="244" v1="976" v2="1005" v3="1859" />
+ <tetrahedron index="3184" v0="976" v1="1005" v2="1859" v3="2591" />
+ <tetrahedron index="3185" v0="1005" v1="1859" v2="2591" v3="2620" />
+ <tetrahedron index="3186" v0="603" v1="697" v2="1070" v3="2218" />
+ <tetrahedron index="3187" v0="697" v1="1070" v2="2218" v3="2312" />
+ <tetrahedron index="3188" v0="1070" v1="2218" v2="2312" v3="2685" />
+ <tetrahedron index="3189" v0="603" v1="698" v2="1070" v3="2218" />
+ <tetrahedron index="3190" v0="698" v1="1070" v2="2218" v3="2313" />
+ <tetrahedron index="3191" v0="1070" v1="2218" v2="2313" v3="2685" />
+ <tetrahedron index="3192" v0="417" v1="634" v2="659" v3="2032" />
+ <tetrahedron index="3193" v0="634" v1="659" v2="2032" v3="2249" />
+ <tetrahedron index="3194" v0="659" v1="2032" v2="2249" v3="2274" />
+ <tetrahedron index="3195" v0="228" v1="479" v2="594" v3="1843" />
+ <tetrahedron index="3196" v0="479" v1="594" v2="1843" v3="2094" />
+ <tetrahedron index="3197" v0="594" v1="1843" v2="2094" v3="2209" />
+ <tetrahedron index="3198" v0="335" v1="479" v2="594" v3="1950" />
+ <tetrahedron index="3199" v0="479" v1="594" v2="1950" v3="2094" />
+ <tetrahedron index="3200" v0="594" v1="1950" v2="2094" v3="2209" />
+ <tetrahedron index="3201" v0="928" v1="943" v2="1007" v3="2543" />
+ <tetrahedron index="3202" v0="943" v1="1007" v2="2543" v3="2558" />
+ <tetrahedron index="3203" v0="1007" v1="2543" v2="2558" v3="2622" />
+ <tetrahedron index="3204" v0="928" v1="930" v2="1007" v3="2543" />
+ <tetrahedron index="3205" v0="930" v1="1007" v2="2543" v3="2545" />
+ <tetrahedron index="3206" v0="1007" v1="2543" v2="2545" v3="2622" />
+ <tetrahedron index="3207" v0="744" v1="745" v2="1071" v3="2359" />
+ <tetrahedron index="3208" v0="745" v1="1071" v2="2359" v3="2360" />
+ <tetrahedron index="3209" v0="1071" v1="2359" v2="2360" v3="2686" />
+ <tetrahedron index="3210" v0="745" v1="1071" v2="1072" v3="2360" />
+ <tetrahedron index="3211" v0="1071" v1="1072" v2="2360" v3="2686" />
+ <tetrahedron index="3212" v0="1072" v1="2360" v2="2686" v3="2687" />
+ <tetrahedron index="3213" v0="534" v1="656" v2="974" v3="2149" />
+ <tetrahedron index="3214" v0="656" v1="974" v2="2149" v3="2271" />
+ <tetrahedron index="3215" v0="974" v1="2149" v2="2271" v3="2589" />
+ <tetrahedron index="3216" v0="99" v1="534" v2="974" v3="1714" />
+ <tetrahedron index="3217" v0="534" v1="974" v2="1714" v3="2149" />
+ <tetrahedron index="3218" v0="974" v1="1714" v2="2149" v3="2589" />
+ <tetrahedron index="3219" v0="484" v1="622" v2="768" v3="2099" />
+ <tetrahedron index="3220" v0="622" v1="768" v2="2099" v3="2237" />
+ <tetrahedron index="3221" v0="768" v1="2099" v2="2237" v3="2383" />
+ <tetrahedron index="3222" v0="620" v1="622" v2="768" v3="2235" />
+ <tetrahedron index="3223" v0="622" v1="768" v2="2235" v3="2237" />
+ <tetrahedron index="3224" v0="768" v1="2235" v2="2237" v3="2383" />
+ <tetrahedron index="3225" v0="491" v1="1011" v2="1033" v3="2106" />
+ <tetrahedron index="3226" v0="1011" v1="1033" v2="2106" v3="2626" />
+ <tetrahedron index="3227" v0="1033" v1="2106" v2="2626" v3="2648" />
+ <tetrahedron index="3228" v0="726" v1="1011" v2="1033" v3="2341" />
+ <tetrahedron index="3229" v0="1011" v1="1033" v2="2341" v3="2626" />
+ <tetrahedron index="3230" v0="1033" v1="2341" v2="2626" v3="2648" />
+ <tetrahedron index="3231" v0="540" v1="877" v2="905" v3="2155" />
+ <tetrahedron index="3232" v0="877" v1="905" v2="2155" v3="2492" />
+ <tetrahedron index="3233" v0="905" v1="2155" v2="2492" v3="2520" />
+ <tetrahedron index="3234" v0="840" v1="842" v2="1052" v3="2455" />
+ <tetrahedron index="3235" v0="842" v1="1052" v2="2455" v3="2457" />
+ <tetrahedron index="3236" v0="1052" v1="2455" v2="2457" v3="2667" />
+ <tetrahedron index="3237" v0="197" v1="975" v2="1073" v3="1812" />
+ <tetrahedron index="3238" v0="975" v1="1073" v2="1812" v3="2590" />
+ <tetrahedron index="3239" v0="1073" v1="1812" v2="2590" v3="2688" />
+ <tetrahedron index="3240" v0="217" v1="727" v2="1015" v3="1832" />
+ <tetrahedron index="3241" v0="727" v1="1015" v2="1832" v3="2342" />
+ <tetrahedron index="3242" v0="1015" v1="1832" v2="2342" v3="2630" />
+ <tetrahedron index="3243" v0="217" v1="219" v2="1015" v3="1832" />
+ <tetrahedron index="3244" v0="219" v1="1015" v2="1832" v3="1834" />
+ <tetrahedron index="3245" v0="1015" v1="1832" v2="1834" v3="2630" />
+ <tetrahedron index="3246" v0="949" v1="1016" v2="1017" v3="2564" />
+ <tetrahedron index="3247" v0="1016" v1="1017" v2="2564" v3="2631" />
+ <tetrahedron index="3248" v0="1017" v1="2564" v2="2631" v3="2632" />
+ <tetrahedron index="3249" v0="949" v1="1017" v2="1042" v3="2564" />
+ <tetrahedron index="3250" v0="1017" v1="1042" v2="2564" v3="2632" />
+ <tetrahedron index="3251" v0="1042" v1="2564" v2="2632" v3="2657" />
+ <tetrahedron index="3252" v0="660" v1="1014" v2="1019" v3="2275" />
+ <tetrahedron index="3253" v0="1014" v1="1019" v2="2275" v3="2629" />
+ <tetrahedron index="3254" v0="1019" v1="2275" v2="2629" v3="2634" />
+ <tetrahedron index="3255" v0="1019" v1="1074" v2="1075" v3="2634" />
+ <tetrahedron index="3256" v0="1074" v1="1075" v2="2634" v3="2689" />
+ <tetrahedron index="3257" v0="1075" v1="2634" v2="2689" v3="2690" />
+ <tetrahedron index="3258" v0="315" v1="316" v2="566" v3="1930" />
+ <tetrahedron index="3259" v0="316" v1="566" v2="1930" v3="1931" />
+ <tetrahedron index="3260" v0="566" v1="1930" v2="1931" v3="2181" />
+ <tetrahedron index="3261" v0="315" v1="566" v2="999" v3="1930" />
+ <tetrahedron index="3262" v0="566" v1="999" v2="1930" v3="2181" />
+ <tetrahedron index="3263" v0="999" v1="1930" v2="2181" v3="2614" />
+ <tetrahedron index="3264" v0="726" v1="1011" v2="1076" v3="2341" />
+ <tetrahedron index="3265" v0="1011" v1="1076" v2="2341" v3="2626" />
+ <tetrahedron index="3266" v0="1076" v1="2341" v2="2626" v3="2691" />
+ <tetrahedron index="3267" v0="486" v1="764" v2="1011" v3="2101" />
+ <tetrahedron index="3268" v0="764" v1="1011" v2="2101" v3="2379" />
+ <tetrahedron index="3269" v0="1011" v1="2101" v2="2379" v3="2626" />
+ <tetrahedron index="3270" v0="856" v1="857" v2="1077" v3="2471" />
+ <tetrahedron index="3271" v0="857" v1="1077" v2="2471" v3="2472" />
+ <tetrahedron index="3272" v0="1077" v1="2471" v2="2472" v3="2692" />
+ <tetrahedron index="3273" v0="111" v1="243" v2="977" v3="1726" />
+ <tetrahedron index="3274" v0="243" v1="977" v2="1726" v3="1858" />
+ <tetrahedron index="3275" v0="977" v1="1726" v2="1858" v3="2592" />
+ <tetrahedron index="3276" v0="243" v1="404" v2="977" v3="1858" />
+ <tetrahedron index="3277" v0="404" v1="977" v2="1858" v3="2019" />
+ <tetrahedron index="3278" v0="977" v1="1858" v2="2019" v3="2592" />
+ <tetrahedron index="3279" v0="883" v1="1020" v2="1078" v3="2498" />
+ <tetrahedron index="3280" v0="1020" v1="1078" v2="2498" v3="2635" />
+ <tetrahedron index="3281" v0="1078" v1="2498" v2="2635" v3="2693" />
+ <tetrahedron index="3282" v0="752" v1="961" v2="1041" v3="2367" />
+ <tetrahedron index="3283" v0="961" v1="1041" v2="2367" v3="2576" />
+ <tetrahedron index="3284" v0="1041" v1="2367" v2="2576" v3="2656" />
+ <tetrahedron index="3285" v0="325" v1="848" v2="899" v3="1940" />
+ <tetrahedron index="3286" v0="848" v1="899" v2="1940" v3="2463" />
+ <tetrahedron index="3287" v0="899" v1="1940" v2="2463" v3="2514" />
+ <tetrahedron index="3288" v0="219" v1="325" v2="899" v3="1834" />
+ <tetrahedron index="3289" v0="325" v1="899" v2="1834" v3="1940" />
+ <tetrahedron index="3290" v0="899" v1="1834" v2="1940" v3="2514" />
+ <tetrahedron index="3291" v0="916" v1="1021" v2="1022" v3="2531" />
+ <tetrahedron index="3292" v0="1021" v1="1022" v2="2531" v3="2636" />
+ <tetrahedron index="3293" v0="1022" v1="2531" v2="2636" v3="2637" />
+ <tetrahedron index="3294" v0="916" v1="917" v2="1022" v3="2531" />
+ <tetrahedron index="3295" v0="917" v1="1022" v2="2531" v3="2532" />
+ <tetrahedron index="3296" v0="1022" v1="2531" v2="2532" v3="2637" />
+ <tetrahedron index="3297" v0="74" v1="439" v2="1079" v3="1689" />
+ <tetrahedron index="3298" v0="439" v1="1079" v2="1689" v3="2054" />
+ <tetrahedron index="3299" v0="1079" v1="1689" v2="2054" v3="2694" />
+ <tetrahedron index="3300" v0="759" v1="760" v2="1025" v3="2374" />
+ <tetrahedron index="3301" v0="760" v1="1025" v2="2374" v3="2375" />
+ <tetrahedron index="3302" v0="1025" v1="2374" v2="2375" v3="2640" />
+ <tetrahedron index="3303" v0="759" v1="1025" v2="1080" v3="2374" />
+ <tetrahedron index="3304" v0="1025" v1="1080" v2="2374" v3="2640" />
+ <tetrahedron index="3305" v0="1080" v1="2374" v2="2640" v3="2695" />
+ <tetrahedron index="3306" v0="505" v1="1026" v2="1081" v3="2120" />
+ <tetrahedron index="3307" v0="1026" v1="1081" v2="2120" v3="2641" />
+ <tetrahedron index="3308" v0="1081" v1="2120" v2="2641" v3="2696" />
+ <tetrahedron index="3309" v0="496" v1="497" v2="666" v3="2111" />
+ <tetrahedron index="3310" v0="497" v1="666" v2="2111" v3="2112" />
+ <tetrahedron index="3311" v0="666" v1="2111" v2="2112" v3="2281" />
+ <tetrahedron index="3312" v0="231" v1="496" v2="666" v3="1846" />
+ <tetrahedron index="3313" v0="496" v1="666" v2="1846" v3="2111" />
+ <tetrahedron index="3314" v0="666" v1="1846" v2="2111" v3="2281" />
+ <tetrahedron index="3315" v0="726" v1="960" v2="1076" v3="2341" />
+ <tetrahedron index="3316" v0="960" v1="1076" v2="2341" v3="2575" />
+ <tetrahedron index="3317" v0="1076" v1="2341" v2="2575" v3="2691" />
+ <tetrahedron index="3318" v0="86" v1="386" v2="1029" v3="1701" />
+ <tetrahedron index="3319" v0="386" v1="1029" v2="1701" v3="2001" />
+ <tetrahedron index="3320" v0="1029" v1="1701" v2="2001" v3="2644" />
+ <tetrahedron index="3321" v0="386" v1="737" v2="1029" v3="2001" />
+ <tetrahedron index="3322" v0="737" v1="1029" v2="2001" v3="2352" />
+ <tetrahedron index="3323" v0="1029" v1="2001" v2="2352" v3="2644" />
+ <tetrahedron index="3324" v0="328" v1="737" v2="1029" v3="1943" />
+ <tetrahedron index="3325" v0="737" v1="1029" v2="1943" v3="2352" />
+ <tetrahedron index="3326" v0="1029" v1="1943" v2="2352" v3="2644" />
+ <tetrahedron index="3327" v0="328" v1="330" v2="1029" v3="1943" />
+ <tetrahedron index="3328" v0="330" v1="1029" v2="1943" v3="1945" />
+ <tetrahedron index="3329" v0="1029" v1="1943" v2="1945" v3="2644" />
+ <tetrahedron index="3330" v0="337" v1="971" v2="1030" v3="1952" />
+ <tetrahedron index="3331" v0="971" v1="1030" v2="1952" v3="2586" />
+ <tetrahedron index="3332" v0="1030" v1="1952" v2="2586" v3="2645" />
+ <tetrahedron index="3333" v0="747" v1="971" v2="1030" v3="2362" />
+ <tetrahedron index="3334" v0="971" v1="1030" v2="2362" v3="2586" />
+ <tetrahedron index="3335" v0="1030" v1="2362" v2="2586" v3="2645" />
+ <tetrahedron index="3336" v0="227" v1="580" v2="978" v3="1842" />
+ <tetrahedron index="3337" v0="580" v1="978" v2="1842" v3="2195" />
+ <tetrahedron index="3338" v0="978" v1="1842" v2="2195" v3="2593" />
+ <tetrahedron index="3339" v0="227" v1="655" v2="978" v3="1842" />
+ <tetrahedron index="3340" v0="655" v1="978" v2="1842" v3="2270" />
+ <tetrahedron index="3341" v0="978" v1="1842" v2="2270" v3="2593" />
+ <tetrahedron index="3342" v0="489" v1="888" v2="1059" v3="2104" />
+ <tetrahedron index="3343" v0="888" v1="1059" v2="2104" v3="2503" />
+ <tetrahedron index="3344" v0="1059" v1="2104" v2="2503" v3="2674" />
+ <tetrahedron index="3345" v0="538" v1="751" v2="802" v3="2153" />
+ <tetrahedron index="3346" v0="751" v1="802" v2="2153" v3="2366" />
+ <tetrahedron index="3347" v0="802" v1="2153" v2="2366" v3="2417" />
+ <tetrahedron index="3348" v0="554" v1="824" v2="853" v3="2169" />
+ <tetrahedron index="3349" v0="824" v1="853" v2="2169" v3="2439" />
+ <tetrahedron index="3350" v0="853" v1="2169" v2="2439" v3="2468" />
+ <tetrahedron index="3351" v0="648" v1="697" v2="1070" v3="2263" />
+ <tetrahedron index="3352" v0="697" v1="1070" v2="2263" v3="2312" />
+ <tetrahedron index="3353" v0="1070" v1="2263" v2="2312" v3="2685" />
+ <tetrahedron index="3354" v0="208" v1="210" v2="1026" v3="1823" />
+ <tetrahedron index="3355" v0="210" v1="1026" v2="1823" v3="1825" />
+ <tetrahedron index="3356" v0="1026" v1="1823" v2="1825" v3="2641" />
+ <tetrahedron index="3357" v0="291" v1="294" v2="1082" v3="1906" />
+ <tetrahedron index="3358" v0="294" v1="1082" v2="1906" v3="1909" />
+ <tetrahedron index="3359" v0="1082" v1="1906" v2="1909" v3="2697" />
+ <tetrahedron index="3360" v0="184" v1="294" v2="1082" v3="1799" />
+ <tetrahedron index="3361" v0="294" v1="1082" v2="1799" v3="1909" />
+ <tetrahedron index="3362" v0="1082" v1="1799" v2="1909" v3="2697" />
+ <tetrahedron index="3363" v0="338" v1="339" v2="607" v3="1953" />
+ <tetrahedron index="3364" v0="339" v1="607" v2="1953" v3="1954" />
+ <tetrahedron index="3365" v0="607" v1="1953" v2="1954" v3="2222" />
+ <tetrahedron index="3366" v0="339" v1="607" v2="1083" v3="1954" />
+ <tetrahedron index="3367" v0="607" v1="1083" v2="1954" v3="2222" />
+ <tetrahedron index="3368" v0="1083" v1="1954" v2="2222" v3="2698" />
+ <tetrahedron index="3369" v0="502" v1="666" v2="860" v3="2117" />
+ <tetrahedron index="3370" v0="666" v1="860" v2="2117" v3="2281" />
+ <tetrahedron index="3371" v0="860" v1="2117" v2="2281" v3="2475" />
+ <tetrahedron index="3372" v0="502" v1="860" v2="1027" v3="2117" />
+ <tetrahedron index="3373" v0="860" v1="1027" v2="2117" v3="2475" />
+ <tetrahedron index="3374" v0="1027" v1="2117" v2="2475" v3="2642" />
+ <tetrahedron index="3375" v0="879" v1="880" v2="1034" v3="2494" />
+ <tetrahedron index="3376" v0="880" v1="1034" v2="2494" v3="2495" />
+ <tetrahedron index="3377" v0="1034" v1="2494" v2="2495" v3="2649" />
+ <tetrahedron index="3378" v0="428" v1="879" v2="1034" v3="2043" />
+ <tetrahedron index="3379" v0="879" v1="1034" v2="2043" v3="2494" />
+ <tetrahedron index="3380" v0="1034" v1="2043" v2="2494" v3="2649" />
+ <tetrahedron index="3381" v0="935" v1="936" v2="1084" v3="2550" />
+ <tetrahedron index="3382" v0="936" v1="1084" v2="2550" v3="2551" />
+ <tetrahedron index="3383" v0="1084" v1="2550" v2="2551" v3="2699" />
+ <tetrahedron index="3384" v0="963" v1="964" v2="1065" v3="2578" />
+ <tetrahedron index="3385" v0="964" v1="1065" v2="2578" v3="2579" />
+ <tetrahedron index="3386" v0="1065" v1="2578" v2="2579" v3="2680" />
+ <tetrahedron index="3387" v0="223" v1="758" v2="1053" v3="1838" />
+ <tetrahedron index="3388" v0="758" v1="1053" v2="1838" v3="2373" />
+ <tetrahedron index="3389" v0="1053" v1="1838" v2="2373" v3="2668" />
+ <tetrahedron index="3390" v0="222" v1="223" v2="1053" v3="1837" />
+ <tetrahedron index="3391" v0="223" v1="1053" v2="1837" v3="1838" />
+ <tetrahedron index="3392" v0="1053" v1="1837" v2="1838" v3="2668" />
+ <tetrahedron index="3393" v0="880" v1="1034" v2="1051" v3="2495" />
+ <tetrahedron index="3394" v0="1034" v1="1051" v2="2495" v3="2649" />
+ <tetrahedron index="3395" v0="1051" v1="2495" v2="2649" v3="2666" />
+ <tetrahedron index="3396" v0="613" v1="880" v2="1051" v3="2228" />
+ <tetrahedron index="3397" v0="880" v1="1051" v2="2228" v3="2495" />
+ <tetrahedron index="3398" v0="1051" v1="2228" v2="2495" v3="2666" />
+ <tetrahedron index="3399" v0="840" v1="841" v2="1085" v3="2455" />
+ <tetrahedron index="3400" v0="841" v1="1085" v2="2455" v3="2456" />
+ <tetrahedron index="3401" v0="1085" v1="2455" v2="2456" v3="2700" />
+ <tetrahedron index="3402" v0="949" v1="1016" v2="1039" v3="2564" />
+ <tetrahedron index="3403" v0="1016" v1="1039" v2="2564" v3="2631" />
+ <tetrahedron index="3404" v0="1039" v1="2564" v2="2631" v3="2654" />
+ <tetrahedron index="3405" v0="300" v1="804" v2="1048" v3="1915" />
+ <tetrahedron index="3406" v0="804" v1="1048" v2="1915" v3="2419" />
+ <tetrahedron index="3407" v0="1048" v1="1915" v2="2419" v3="2663" />
+ <tetrahedron index="3408" v0="290" v1="300" v2="1048" v3="1905" />
+ <tetrahedron index="3409" v0="300" v1="1048" v2="1905" v3="1915" />
+ <tetrahedron index="3410" v0="1048" v1="1905" v2="1915" v3="2663" />
+ <tetrahedron index="3411" v0="892" v1="1086" v2="1087" v3="2507" />
+ <tetrahedron index="3412" v0="1086" v1="1087" v2="2507" v3="2701" />
+ <tetrahedron index="3413" v0="1087" v1="2507" v2="2701" v3="2702" />
+ <tetrahedron index="3414" v0="164" v1="165" v2="1088" v3="1779" />
+ <tetrahedron index="3415" v0="165" v1="1088" v2="1779" v3="1780" />
+ <tetrahedron index="3416" v0="1088" v1="1779" v2="1780" v3="2703" />
+ <tetrahedron index="3417" v0="563" v1="564" v2="1002" v3="2178" />
+ <tetrahedron index="3418" v0="564" v1="1002" v2="2178" v3="2179" />
+ <tetrahedron index="3419" v0="1002" v1="2178" v2="2179" v3="2617" />
+ <tetrahedron index="3420" v0="360" v1="760" v2="1067" v3="1975" />
+ <tetrahedron index="3421" v0="760" v1="1067" v2="1975" v3="2375" />
+ <tetrahedron index="3422" v0="1067" v1="1975" v2="2375" v3="2682" />
+ <tetrahedron index="3423" v0="360" v1="361" v2="1067" v3="1975" />
+ <tetrahedron index="3424" v0="361" v1="1067" v2="1975" v3="1976" />
+ <tetrahedron index="3425" v0="1067" v1="1975" v2="1976" v3="2682" />
+ <tetrahedron index="3426" v0="778" v1="971" v2="1031" v3="2393" />
+ <tetrahedron index="3427" v0="971" v1="1031" v2="2393" v3="2586" />
+ <tetrahedron index="3428" v0="1031" v1="2393" v2="2586" v3="2646" />
+ <tetrahedron index="3429" v0="336" v1="778" v2="971" v3="1951" />
+ <tetrahedron index="3430" v0="778" v1="971" v2="1951" v3="2393" />
+ <tetrahedron index="3431" v0="971" v1="1951" v2="2393" v3="2586" />
+ <tetrahedron index="3432" v0="739" v1="834" v2="982" v3="2354" />
+ <tetrahedron index="3433" v0="834" v1="982" v2="2354" v3="2449" />
+ <tetrahedron index="3434" v0="982" v1="2354" v2="2449" v3="2597" />
+ <tetrahedron index="3435" v0="739" v1="785" v2="982" v3="2354" />
+ <tetrahedron index="3436" v0="785" v1="982" v2="2354" v3="2400" />
+ <tetrahedron index="3437" v0="982" v1="2354" v2="2400" v3="2597" />
+ <tetrahedron index="3438" v0="26" v1="972" v2="1089" v3="1641" />
+ <tetrahedron index="3439" v0="972" v1="1089" v2="1641" v3="2587" />
+ <tetrahedron index="3440" v0="1089" v1="1641" v2="2587" v3="2704" />
+ <tetrahedron index="3441" v0="121" v1="719" v2="1060" v3="1736" />
+ <tetrahedron index="3442" v0="719" v1="1060" v2="1736" v3="2334" />
+ <tetrahedron index="3443" v0="1060" v1="1736" v2="2334" v3="2675" />
+ <tetrahedron index="3444" v0="858" v1="1064" v2="1090" v3="2473" />
+ <tetrahedron index="3445" v0="1064" v1="1090" v2="2473" v3="2679" />
+ <tetrahedron index="3446" v0="1090" v1="2473" v2="2679" v3="2705" />
+ <tetrahedron index="3447" v0="856" v1="858" v2="1064" v3="2471" />
+ <tetrahedron index="3448" v0="858" v1="1064" v2="2471" v3="2473" />
+ <tetrahedron index="3449" v0="1064" v1="2471" v2="2473" v3="2679" />
+ <tetrahedron index="3450" v0="222" v1="303" v2="1053" v3="1837" />
+ <tetrahedron index="3451" v0="303" v1="1053" v2="1837" v3="1918" />
+ <tetrahedron index="3452" v0="1053" v1="1837" v2="1918" v3="2668" />
+ <tetrahedron index="3453" v0="301" v1="303" v2="1053" v3="1916" />
+ <tetrahedron index="3454" v0="303" v1="1053" v2="1916" v3="1918" />
+ <tetrahedron index="3455" v0="1053" v1="1916" v2="1918" v3="2668" />
+ <tetrahedron index="3456" v0="943" v1="975" v2="1008" v3="2558" />
+ <tetrahedron index="3457" v0="975" v1="1008" v2="2558" v3="2590" />
+ <tetrahedron index="3458" v0="1008" v1="2558" v2="2590" v3="2623" />
+ <tetrahedron index="3459" v0="196" v1="943" v2="975" v3="1811" />
+ <tetrahedron index="3460" v0="943" v1="975" v2="1811" v3="2558" />
+ <tetrahedron index="3461" v0="975" v1="1811" v2="2558" v3="2590" />
+ <tetrahedron index="3462" v0="676" v1="932" v2="1091" v3="2291" />
+ <tetrahedron index="3463" v0="932" v1="1091" v2="2291" v3="2547" />
+ <tetrahedron index="3464" v0="1091" v1="2291" v2="2547" v3="2706" />
+ <tetrahedron index="3465" v0="973" v1="974" v2="1092" v3="2588" />
+ <tetrahedron index="3466" v0="974" v1="1092" v2="2588" v3="2589" />
+ <tetrahedron index="3467" v0="1092" v1="2588" v2="2589" v3="2707" />
+ <tetrahedron index="3468" v0="294" v1="312" v2="850" v3="1909" />
+ <tetrahedron index="3469" v0="312" v1="850" v2="1909" v3="1927" />
+ <tetrahedron index="3470" v0="850" v1="1909" v2="1927" v3="2465" />
+ <tetrahedron index="3471" v0="293" v1="294" v2="312" v3="1908" />
+ <tetrahedron index="3472" v0="294" v1="312" v2="1908" v3="1909" />
+ <tetrahedron index="3473" v0="312" v1="1908" v2="1909" v3="1927" />
+ <tetrahedron index="3474" v0="833" v1="1054" v2="1079" v3="2448" />
+ <tetrahedron index="3475" v0="1054" v1="1079" v2="2448" v3="2669" />
+ <tetrahedron index="3476" v0="1079" v1="2448" v2="2669" v3="2694" />
+ <tetrahedron index="3477" v0="746" v1="833" v2="1054" v3="2361" />
+ <tetrahedron index="3478" v0="833" v1="1054" v2="2361" v3="2448" />
+ <tetrahedron index="3479" v0="1054" v1="2361" v2="2448" v3="2669" />
+ <tetrahedron index="3480" v0="1050" v1="1057" v2="1058" v3="2665" />
+ <tetrahedron index="3481" v0="1057" v1="1058" v2="2665" v3="2672" />
+ <tetrahedron index="3482" v0="1058" v1="2665" v2="2672" v3="2673" />
+ <tetrahedron index="3483" v0="8" v1="315" v2="389" v3="1623" />
+ <tetrahedron index="3484" v0="315" v1="389" v2="1623" v3="1930" />
+ <tetrahedron index="3485" v0="389" v1="1623" v2="1930" v3="2004" />
+ <tetrahedron index="3486" v0="315" v1="317" v2="389" v3="1930" />
+ <tetrahedron index="3487" v0="317" v1="389" v2="1930" v3="1932" />
+ <tetrahedron index="3488" v0="389" v1="1930" v2="1932" v3="2004" />
+ <tetrahedron index="3489" v0="620" v1="897" v2="1010" v3="2235" />
+ <tetrahedron index="3490" v0="897" v1="1010" v2="2235" v3="2512" />
+ <tetrahedron index="3491" v0="1010" v1="2235" v2="2512" v3="2625" />
+ <tetrahedron index="3492" v0="176" v1="897" v2="1010" v3="1791" />
+ <tetrahedron index="3493" v0="897" v1="1010" v2="1791" v3="2512" />
+ <tetrahedron index="3494" v0="1010" v1="1791" v2="2512" v3="2625" />
+ <tetrahedron index="3495" v0="892" v1="893" v2="969" v3="2507" />
+ <tetrahedron index="3496" v0="893" v1="969" v2="2507" v3="2508" />
+ <tetrahedron index="3497" v0="969" v1="2507" v2="2508" v3="2584" />
+ <tetrahedron index="3498" v0="892" v1="969" v2="1086" v3="2507" />
+ <tetrahedron index="3499" v0="969" v1="1086" v2="2507" v3="2584" />
+ <tetrahedron index="3500" v0="1086" v1="2507" v2="2584" v3="2701" />
+ <tetrahedron index="3501" v0="1093" v1="1094" v2="1095" v3="2708" />
+ <tetrahedron index="3502" v0="1094" v1="1095" v2="2708" v3="2709" />
+ <tetrahedron index="3503" v0="1095" v1="2708" v2="2709" v3="2710" />
+ <tetrahedron index="3504" v0="881" v1="970" v2="1014" v3="2496" />
+ <tetrahedron index="3505" v0="970" v1="1014" v2="2496" v3="2585" />
+ <tetrahedron index="3506" v0="1014" v1="2496" v2="2585" v3="2629" />
+ <tetrahedron index="3507" v0="660" v1="970" v2="1014" v3="2275" />
+ <tetrahedron index="3508" v0="970" v1="1014" v2="2275" v3="2585" />
+ <tetrahedron index="3509" v0="1014" v1="2275" v2="2585" v3="2629" />
+ <tetrahedron index="3510" v0="698" v1="1068" v2="1070" v3="2313" />
+ <tetrahedron index="3511" v0="1068" v1="1070" v2="2313" v3="2683" />
+ <tetrahedron index="3512" v0="1070" v1="2313" v2="2683" v3="2685" />
+ <tetrahedron index="3513" v0="229" v1="230" v2="1096" v3="1844" />
+ <tetrahedron index="3514" v0="230" v1="1096" v2="1844" v3="1845" />
+ <tetrahedron index="3515" v0="1096" v1="1844" v2="1845" v3="2711" />
+ <tetrahedron index="3516" v0="1037" v1="1072" v2="1097" v3="2652" />
+ <tetrahedron index="3517" v0="1072" v1="1097" v2="2652" v3="2687" />
+ <tetrahedron index="3518" v0="1097" v1="2652" v2="2687" v3="2712" />
+ <tetrahedron index="3519" v0="540" v1="542" v2="1098" v3="2155" />
+ <tetrahedron index="3520" v0="542" v1="1098" v2="2155" v3="2157" />
+ <tetrahedron index="3521" v0="1098" v1="2155" v2="2157" v3="2713" />
+ <tetrahedron index="3522" v0="313" v1="424" v2="1099" v3="1928" />
+ <tetrahedron index="3523" v0="424" v1="1099" v2="1928" v3="2039" />
+ <tetrahedron index="3524" v0="1099" v1="1928" v2="2039" v3="2714" />
+ <tetrahedron index="3525" v0="1007" v1="1009" v2="1100" v3="2622" />
+ <tetrahedron index="3526" v0="1009" v1="1100" v2="2622" v3="2624" />
+ <tetrahedron index="3527" v0="1100" v1="2622" v2="2624" v3="2715" />
+ <tetrahedron index="3528" v0="879" v1="949" v2="1039" v3="2494" />
+ <tetrahedron index="3529" v0="949" v1="1039" v2="2494" v3="2564" />
+ <tetrahedron index="3530" v0="1039" v1="2494" v2="2564" v3="2654" />
+ <tetrahedron index="3531" v0="878" v1="879" v2="949" v3="2493" />
+ <tetrahedron index="3532" v0="879" v1="949" v2="2493" v3="2494" />
+ <tetrahedron index="3533" v0="949" v1="2493" v2="2494" v3="2564" />
+ <tetrahedron index="3534" v0="353" v1="978" v2="1045" v3="1968" />
+ <tetrahedron index="3535" v0="978" v1="1045" v2="1968" v3="2593" />
+ <tetrahedron index="3536" v0="1045" v1="1968" v2="2593" v3="2660" />
+ <tetrahedron index="3537" v0="582" v1="978" v2="1045" v3="2197" />
+ <tetrahedron index="3538" v0="978" v1="1045" v2="2197" v3="2593" />
+ <tetrahedron index="3539" v0="1045" v1="2197" v2="2593" v3="2660" />
+ <tetrahedron index="3540" v0="174" v1="992" v2="1010" v3="1789" />
+ <tetrahedron index="3541" v0="992" v1="1010" v2="1789" v3="2607" />
+ <tetrahedron index="3542" v0="1010" v1="1789" v2="2607" v3="2625" />
+ <tetrahedron index="3543" v0="768" v1="992" v2="1010" v3="2383" />
+ <tetrahedron index="3544" v0="992" v1="1010" v2="2383" v3="2607" />
+ <tetrahedron index="3545" v0="1010" v1="2383" v2="2607" v3="2625" />
+ <tetrahedron index="3546" v0="587" v1="1002" v2="1101" v3="2202" />
+ <tetrahedron index="3547" v0="1002" v1="1101" v2="2202" v3="2617" />
+ <tetrahedron index="3548" v0="1101" v1="2202" v2="2617" v3="2716" />
+ <tetrahedron index="3549" v0="49" v1="56" v2="482" v3="1664" />
+ <tetrahedron index="3550" v0="56" v1="482" v2="1664" v3="1671" />
+ <tetrahedron index="3551" v0="482" v1="1664" v2="1671" v3="2097" />
+ <tetrahedron index="3552" v0="328" v1="491" v2="1033" v3="1943" />
+ <tetrahedron index="3553" v0="491" v1="1033" v2="1943" v3="2106" />
+ <tetrahedron index="3554" v0="1033" v1="1943" v2="2106" v3="2648" />
+ <tetrahedron index="3555" v0="266" v1="328" v2="1033" v3="1881" />
+ <tetrahedron index="3556" v0="328" v1="1033" v2="1881" v3="1943" />
+ <tetrahedron index="3557" v0="1033" v1="1881" v2="1943" v3="2648" />
+ <tetrahedron index="3558" v0="793" v1="795" v2="1102" v3="2408" />
+ <tetrahedron index="3559" v0="795" v1="1102" v2="2408" v3="2410" />
+ <tetrahedron index="3560" v0="1102" v1="2408" v2="2410" v3="2717" />
+ <tetrahedron index="3561" v0="795" v1="1102" v2="1103" v3="2410" />
+ <tetrahedron index="3562" v0="1102" v1="1103" v2="2410" v3="2717" />
+ <tetrahedron index="3563" v0="1103" v1="2410" v2="2717" v3="2718" />
+ <tetrahedron index="3564" v0="765" v1="992" v2="1104" v3="2380" />
+ <tetrahedron index="3565" v0="992" v1="1104" v2="2380" v3="2607" />
+ <tetrahedron index="3566" v0="1104" v1="2380" v2="2607" v3="2719" />
+ <tetrahedron index="3567" v0="20" v1="21" v2="787" v3="1635" />
+ <tetrahedron index="3568" v0="21" v1="787" v2="1635" v3="1636" />
+ <tetrahedron index="3569" v0="787" v1="1635" v2="1636" v3="2402" />
+ <tetrahedron index="3570" v0="21" v1="787" v2="1027" v3="1636" />
+ <tetrahedron index="3571" v0="787" v1="1027" v2="1636" v3="2402" />
+ <tetrahedron index="3572" v0="1027" v1="1636" v2="2402" v3="2642" />
+ <tetrahedron index="3573" v0="667" v1="900" v2="1025" v3="2282" />
+ <tetrahedron index="3574" v0="900" v1="1025" v2="2282" v3="2515" />
+ <tetrahedron index="3575" v0="1025" v1="2282" v2="2515" v3="2640" />
+ <tetrahedron index="3576" v0="667" v1="668" v2="1025" v3="2282" />
+ <tetrahedron index="3577" v0="668" v1="1025" v2="2282" v3="2283" />
+ <tetrahedron index="3578" v0="1025" v1="2282" v2="2283" v3="2640" />
+ <tetrahedron index="3579" v0="613" v1="614" v2="1051" v3="2228" />
+ <tetrahedron index="3580" v0="614" v1="1051" v2="2228" v3="2229" />
+ <tetrahedron index="3581" v0="1051" v1="2228" v2="2229" v3="2666" />
+ <tetrahedron index="3582" v0="502" v1="503" v2="787" v3="2117" />
+ <tetrahedron index="3583" v0="503" v1="787" v2="2117" v3="2118" />
+ <tetrahedron index="3584" v0="787" v1="2117" v2="2118" v3="2402" />
+ <tetrahedron index="3585" v0="502" v1="787" v2="1027" v3="2117" />
+ <tetrahedron index="3586" v0="787" v1="1027" v2="2117" v3="2402" />
+ <tetrahedron index="3587" v0="1027" v1="2117" v2="2402" v3="2642" />
+ <tetrahedron index="3588" v0="482" v1="720" v2="1105" v3="2097" />
+ <tetrahedron index="3589" v0="720" v1="1105" v2="2097" v3="2335" />
+ <tetrahedron index="3590" v0="1105" v1="2097" v2="2335" v3="2720" />
+ <tetrahedron index="3591" v0="1071" v1="1072" v2="1097" v3="2686" />
+ <tetrahedron index="3592" v0="1072" v1="1097" v2="2686" v3="2687" />
+ <tetrahedron index="3593" v0="1097" v1="2686" v2="2687" v3="2712" />
+ <tetrahedron index="3594" v0="665" v1="954" v2="1106" v3="2280" />
+ <tetrahedron index="3595" v0="954" v1="1106" v2="2280" v3="2569" />
+ <tetrahedron index="3596" v0="1106" v1="2280" v2="2569" v3="2721" />
+ <tetrahedron index="3597" v0="199" v1="200" v2="728" v3="1814" />
+ <tetrahedron index="3598" v0="200" v1="728" v2="1814" v3="1815" />
+ <tetrahedron index="3599" v0="728" v1="1814" v2="1815" v3="2343" />
+ <tetrahedron index="3600" v0="305" v1="728" v2="1107" v3="1920" />
+ <tetrahedron index="3601" v0="728" v1="1107" v2="1920" v3="2343" />
+ <tetrahedron index="3602" v0="1107" v1="1920" v2="2343" v3="2722" />
+ <tetrahedron index="3603" v0="44" v1="153" v2="799" v3="1659" />
+ <tetrahedron index="3604" v0="153" v1="799" v2="1659" v3="1768" />
+ <tetrahedron index="3605" v0="799" v1="1659" v2="1768" v3="2414" />
+ <tetrahedron index="3606" v0="498" v1="948" v2="1042" v3="2113" />
+ <tetrahedron index="3607" v0="948" v1="1042" v2="2113" v3="2563" />
+ <tetrahedron index="3608" v0="1042" v1="2113" v2="2563" v3="2657" />
+ <tetrahedron index="3609" v0="219" v1="899" v2="1015" v3="1834" />
+ <tetrahedron index="3610" v0="899" v1="1015" v2="1834" v3="2514" />
+ <tetrahedron index="3611" v0="1015" v1="1834" v2="2514" v3="2630" />
+ <tetrahedron index="3612" v0="979" v1="980" v2="1108" v3="2594" />
+ <tetrahedron index="3613" v0="980" v1="1108" v2="2594" v3="2595" />
+ <tetrahedron index="3614" v0="1108" v1="2594" v2="2595" v3="2723" />
+ <tetrahedron index="3615" v0="1109" v1="1110" v2="1111" v3="2724" />
+ <tetrahedron index="3616" v0="1110" v1="1111" v2="2724" v3="2725" />
+ <tetrahedron index="3617" v0="1111" v1="2724" v2="2725" v3="2726" />
+ <tetrahedron index="3618" v0="528" v1="839" v2="1112" v3="2143" />
+ <tetrahedron index="3619" v0="839" v1="1112" v2="2143" v3="2454" />
+ <tetrahedron index="3620" v0="1112" v1="2143" v2="2454" v3="2727" />
+ <tetrahedron index="3621" v0="149" v1="152" v2="568" v3="1764" />
+ <tetrahedron index="3622" v0="152" v1="568" v2="1764" v3="1767" />
+ <tetrahedron index="3623" v0="568" v1="1764" v2="1767" v3="2183" />
+ <tetrahedron index="3624" v0="49" v1="153" v2="156" v3="1664" />
+ <tetrahedron index="3625" v0="153" v1="156" v2="1664" v3="1768" />
+ <tetrahedron index="3626" v0="156" v1="1664" v2="1768" v3="1771" />
+ <tetrahedron index="3627" v0="44" v1="49" v2="153" v3="1659" />
+ <tetrahedron index="3628" v0="49" v1="153" v2="1659" v3="1664" />
+ <tetrahedron index="3629" v0="153" v1="1659" v2="1664" v3="1768" />
+ <tetrahedron index="3630" v0="50" v1="56" v2="156" v3="1665" />
+ <tetrahedron index="3631" v0="56" v1="156" v2="1665" v3="1671" />
+ <tetrahedron index="3632" v0="156" v1="1665" v2="1671" v3="1771" />
+ <tetrahedron index="3633" v0="49" v1="56" v2="156" v3="1664" />
+ <tetrahedron index="3634" v0="56" v1="156" v2="1664" v3="1671" />
+ <tetrahedron index="3635" v0="156" v1="1664" v2="1671" v3="1771" />
+ <tetrahedron index="3636" v0="65" v1="66" v2="1113" v3="1680" />
+ <tetrahedron index="3637" v0="66" v1="1113" v2="1680" v3="1681" />
+ <tetrahedron index="3638" v0="1113" v1="1680" v2="1681" v3="2728" />
+ <tetrahedron index="3639" v0="442" v1="985" v2="1114" v3="2057" />
+ <tetrahedron index="3640" v0="985" v1="1114" v2="2057" v3="2600" />
+ <tetrahedron index="3641" v0="1114" v1="2057" v2="2600" v3="2729" />
+ <tetrahedron index="3642" v0="442" v1="1114" v2="1115" v3="2057" />
+ <tetrahedron index="3643" v0="1114" v1="1115" v2="2057" v3="2729" />
+ <tetrahedron index="3644" v0="1115" v1="2057" v2="2729" v3="2730" />
+ <tetrahedron index="3645" v0="914" v1="927" v2="1116" v3="2529" />
+ <tetrahedron index="3646" v0="927" v1="1116" v2="2529" v3="2542" />
+ <tetrahedron index="3647" v0="1116" v1="2529" v2="2542" v3="2731" />
+ <tetrahedron index="3648" v0="1117" v1="1118" v2="1119" v3="2732" />
+ <tetrahedron index="3649" v0="1118" v1="1119" v2="2732" v3="2733" />
+ <tetrahedron index="3650" v0="1119" v1="2732" v2="2733" v3="2734" />
+ <tetrahedron index="3651" v0="43" v1="60" v2="324" v3="1658" />
+ <tetrahedron index="3652" v0="60" v1="324" v2="1658" v3="1675" />
+ <tetrahedron index="3653" v0="324" v1="1658" v2="1675" v3="1939" />
+ <tetrahedron index="3654" v0="587" v1="1101" v2="1102" v3="2202" />
+ <tetrahedron index="3655" v0="1101" v1="1102" v2="2202" v3="2716" />
+ <tetrahedron index="3656" v0="1102" v1="2202" v2="2716" v3="2717" />
+ <tetrahedron index="3657" v0="918" v1="1001" v2="1120" v3="2533" />
+ <tetrahedron index="3658" v0="1001" v1="1120" v2="2533" v3="2616" />
+ <tetrahedron index="3659" v0="1120" v1="2533" v2="2616" v3="2735" />
+ <tetrahedron index="3660" v0="760" v1="1067" v2="1121" v3="2375" />
+ <tetrahedron index="3661" v0="1067" v1="1121" v2="2375" v3="2682" />
+ <tetrahedron index="3662" v0="1121" v1="2375" v2="2682" v3="2736" />
+ <tetrahedron index="3663" v0="19" v1="271" v2="274" v3="1634" />
+ <tetrahedron index="3664" v0="271" v1="274" v2="1634" v3="1886" />
+ <tetrahedron index="3665" v0="274" v1="1634" v2="1886" v3="1889" />
+ <tetrahedron index="3666" v0="583" v1="738" v2="1122" v3="2198" />
+ <tetrahedron index="3667" v0="738" v1="1122" v2="2198" v3="2353" />
+ <tetrahedron index="3668" v0="1122" v1="2198" v2="2353" v3="2737" />
+ <tetrahedron index="3669" v0="1075" v1="1123" v2="1124" v3="2690" />
+ <tetrahedron index="3670" v0="1123" v1="1124" v2="2690" v3="2738" />
+ <tetrahedron index="3671" v0="1124" v1="2690" v2="2738" v3="2739" />
+ <tetrahedron index="3672" v0="1018" v1="1052" v2="1125" v3="2633" />
+ <tetrahedron index="3673" v0="1052" v1="1125" v2="2633" v3="2667" />
+ <tetrahedron index="3674" v0="1125" v1="2633" v2="2667" v3="2740" />
+ <tetrahedron index="3675" v0="899" v1="1015" v2="1126" v3="2514" />
+ <tetrahedron index="3676" v0="1015" v1="1126" v2="2514" v3="2630" />
+ <tetrahedron index="3677" v0="1126" v1="2514" v2="2630" v3="2741" />
+ <tetrahedron index="3678" v0="622" v1="1127" v2="1128" v3="2237" />
+ <tetrahedron index="3679" v0="1127" v1="1128" v2="2237" v3="2742" />
+ <tetrahedron index="3680" v0="1128" v1="2237" v2="2742" v3="2743" />
+ <tetrahedron index="3681" v0="766" v1="1129" v2="1130" v3="2381" />
+ <tetrahedron index="3682" v0="1129" v1="1130" v2="2381" v3="2744" />
+ <tetrahedron index="3683" v0="1130" v1="2381" v2="2744" v3="2745" />
+ <tetrahedron index="3684" v0="1131" v1="1132" v2="1133" v3="2746" />
+ <tetrahedron index="3685" v0="1132" v1="1133" v2="2746" v3="2747" />
+ <tetrahedron index="3686" v0="1133" v1="2746" v2="2747" v3="2748" />
+ <tetrahedron index="3687" v0="18" v1="274" v2="322" v3="1633" />
+ <tetrahedron index="3688" v0="274" v1="322" v2="1633" v3="1889" />
+ <tetrahedron index="3689" v0="322" v1="1633" v2="1889" v3="1937" />
+ <tetrahedron index="3690" v0="274" v1="320" v2="322" v3="1889" />
+ <tetrahedron index="3691" v0="320" v1="322" v2="1889" v3="1935" />
+ <tetrahedron index="3692" v0="322" v1="1889" v2="1935" v3="1937" />
+ <tetrahedron index="3693" v0="570" v1="686" v2="938" v3="2185" />
+ <tetrahedron index="3694" v0="686" v1="938" v2="2185" v3="2301" />
+ <tetrahedron index="3695" v0="938" v1="2185" v2="2301" v3="2553" />
+ <tetrahedron index="3696" v0="307" v1="570" v2="686" v3="1922" />
+ <tetrahedron index="3697" v0="570" v1="686" v2="1922" v3="2185" />
+ <tetrahedron index="3698" v0="686" v1="1922" v2="2185" v3="2301" />
+ <tetrahedron index="3699" v0="692" v1="693" v2="1087" v3="2307" />
+ <tetrahedron index="3700" v0="693" v1="1087" v2="2307" v3="2308" />
+ <tetrahedron index="3701" v0="1087" v1="2307" v2="2308" v3="2702" />
+ <tetrahedron index="3702" v0="693" v1="703" v2="1087" v3="2308" />
+ <tetrahedron index="3703" v0="703" v1="1087" v2="2308" v3="2318" />
+ <tetrahedron index="3704" v0="1087" v1="2308" v2="2318" v3="2702" />
+ <tetrahedron index="3705" v0="65" v1="543" v2="606" v3="1680" />
+ <tetrahedron index="3706" v0="543" v1="606" v2="1680" v3="2158" />
+ <tetrahedron index="3707" v0="606" v1="1680" v2="2158" v3="2221" />
+ <tetrahedron index="3708" v0="65" v1="606" v2="866" v3="1680" />
+ <tetrahedron index="3709" v0="606" v1="866" v2="1680" v3="2221" />
+ <tetrahedron index="3710" v0="866" v1="1680" v2="2221" v3="2481" />
+ <tetrahedron index="3711" v0="281" v1="283" v2="284" v3="1896" />
+ <tetrahedron index="3712" v0="283" v1="284" v2="1896" v3="1898" />
+ <tetrahedron index="3713" v0="284" v1="1896" v2="1898" v3="1899" />
+ <tetrahedron index="3714" v0="281" v1="284" v2="715" v3="1896" />
+ <tetrahedron index="3715" v0="284" v1="715" v2="1896" v3="1899" />
+ <tetrahedron index="3716" v0="715" v1="1896" v2="1899" v3="2330" />
+ <tetrahedron index="3717" v0="282" v1="283" v2="1134" v3="1897" />
+ <tetrahedron index="3718" v0="283" v1="1134" v2="1897" v3="1898" />
+ <tetrahedron index="3719" v0="1134" v1="1897" v2="1898" v3="2749" />
+ <tetrahedron index="3720" v0="790" v1="1135" v2="1136" v3="2405" />
+ <tetrahedron index="3721" v0="1135" v1="1136" v2="2405" v3="2750" />
+ <tetrahedron index="3722" v0="1136" v1="2405" v2="2750" v3="2751" />
+ <tetrahedron index="3723" v0="138" v1="790" v2="1135" v3="1753" />
+ <tetrahedron index="3724" v0="790" v1="1135" v2="1753" v3="2405" />
+ <tetrahedron index="3725" v0="1135" v1="1753" v2="2405" v3="2750" />
+ <tetrahedron index="3726" v0="54" v1="57" v2="504" v3="1669" />
+ <tetrahedron index="3727" v0="57" v1="504" v2="1669" v3="1672" />
+ <tetrahedron index="3728" v0="504" v1="1669" v2="1672" v3="2119" />
+ <tetrahedron index="3729" v0="589" v1="634" v2="659" v3="2204" />
+ <tetrahedron index="3730" v0="634" v1="659" v2="2204" v3="2249" />
+ <tetrahedron index="3731" v0="659" v1="2204" v2="2249" v3="2274" />
+ <tetrahedron index="3732" v0="74" v1="75" v2="833" v3="1689" />
+ <tetrahedron index="3733" v0="75" v1="833" v2="1689" v3="1690" />
+ <tetrahedron index="3734" v0="833" v1="1689" v2="1690" v3="2448" />
+ <tetrahedron index="3735" v0="74" v1="833" v2="1079" v3="1689" />
+ <tetrahedron index="3736" v0="833" v1="1079" v2="1689" v3="2448" />
+ <tetrahedron index="3737" v0="1079" v1="1689" v2="2448" v3="2694" />
+ <tetrahedron index="3738" v0="720" v1="721" v2="1003" v3="2335" />
+ <tetrahedron index="3739" v0="721" v1="1003" v2="2335" v3="2336" />
+ <tetrahedron index="3740" v0="1003" v1="2335" v2="2336" v3="2618" />
+ <tetrahedron index="3741" v0="511" v1="720" v2="1003" v3="2126" />
+ <tetrahedron index="3742" v0="720" v1="1003" v2="2126" v3="2335" />
+ <tetrahedron index="3743" v0="1003" v1="2126" v2="2335" v3="2618" />
+ <tetrahedron index="3744" v0="576" v1="915" v2="1137" v3="2191" />
+ <tetrahedron index="3745" v0="915" v1="1137" v2="2191" v3="2530" />
+ <tetrahedron index="3746" v0="1137" v1="2191" v2="2530" v3="2752" />
+ <tetrahedron index="3747" v0="200" v1="719" v2="728" v3="1815" />
+ <tetrahedron index="3748" v0="719" v1="728" v2="1815" v3="2334" />
+ <tetrahedron index="3749" v0="728" v1="1815" v2="2334" v3="2343" />
+ <tetrahedron index="3750" v0="63" v1="527" v2="839" v3="1678" />
+ <tetrahedron index="3751" v0="527" v1="839" v2="1678" v3="2142" />
+ <tetrahedron index="3752" v0="839" v1="1678" v2="2142" v3="2454" />
+ <tetrahedron index="3753" v0="527" v1="528" v2="839" v3="2142" />
+ <tetrahedron index="3754" v0="528" v1="839" v2="2142" v3="2143" />
+ <tetrahedron index="3755" v0="839" v1="2142" v2="2143" v3="2454" />
+ <tetrahedron index="3756" v0="13" v1="14" v2="253" v3="1628" />
+ <tetrahedron index="3757" v0="14" v1="253" v2="1628" v3="1629" />
+ <tetrahedron index="3758" v0="253" v1="1628" v2="1629" v3="1868" />
+ <tetrahedron index="3759" v0="180" v1="892" v2="1138" v3="1795" />
+ <tetrahedron index="3760" v0="892" v1="1138" v2="1795" v3="2507" />
+ <tetrahedron index="3761" v0="1138" v1="1795" v2="2507" v3="2753" />
+ <tetrahedron index="3762" v0="178" v1="180" v2="1138" v3="1793" />
+ <tetrahedron index="3763" v0="180" v1="1138" v2="1793" v3="1795" />
+ <tetrahedron index="3764" v0="1138" v1="1793" v2="1795" v3="2753" />
+ <tetrahedron index="3765" v0="13" v1="253" v2="1071" v3="1628" />
+ <tetrahedron index="3766" v0="253" v1="1071" v2="1628" v3="1868" />
+ <tetrahedron index="3767" v0="1071" v1="1628" v2="1868" v3="2686" />
+ <tetrahedron index="3768" v0="942" v1="1139" v2="1140" v3="2557" />
+ <tetrahedron index="3769" v0="1139" v1="1140" v2="2557" v3="2754" />
+ <tetrahedron index="3770" v0="1140" v1="2557" v2="2754" v3="2755" />
+ <tetrahedron index="3771" v0="247" v1="405" v2="1141" v3="1862" />
+ <tetrahedron index="3772" v0="405" v1="1141" v2="1862" v3="2020" />
+ <tetrahedron index="3773" v0="1141" v1="1862" v2="2020" v3="2756" />
+ <tetrahedron index="3774" v0="515" v1="581" v2="1142" v3="2130" />
+ <tetrahedron index="3775" v0="581" v1="1142" v2="2130" v3="2196" />
+ <tetrahedron index="3776" v0="1142" v1="2130" v2="2196" v3="2757" />
+ <tetrahedron index="3777" v0="581" v1="612" v2="1142" v3="2196" />
+ <tetrahedron index="3778" v0="612" v1="1142" v2="2196" v3="2227" />
+ <tetrahedron index="3779" v0="1142" v1="2196" v2="2227" v3="2757" />
+ <tetrahedron index="3780" v0="764" v1="1011" v2="1076" v3="2379" />
+ <tetrahedron index="3781" v0="1011" v1="1076" v2="2379" v3="2626" />
+ <tetrahedron index="3782" v0="1076" v1="2379" v2="2626" v3="2691" />
+ <tetrahedron index="3783" v0="776" v1="1064" v2="1090" v3="2391" />
+ <tetrahedron index="3784" v0="1064" v1="1090" v2="2391" v3="2679" />
+ <tetrahedron index="3785" v0="1090" v1="2391" v2="2679" v3="2705" />
+ <tetrahedron index="3786" v0="777" v1="1078" v2="1143" v3="2392" />
+ <tetrahedron index="3787" v0="1078" v1="1143" v2="2392" v3="2693" />
+ <tetrahedron index="3788" v0="1143" v1="2392" v2="2693" v3="2758" />
+ <tetrahedron index="3789" v0="1020" v1="1078" v2="1143" v3="2635" />
+ <tetrahedron index="3790" v0="1078" v1="1143" v2="2635" v3="2693" />
+ <tetrahedron index="3791" v0="1143" v1="2635" v2="2693" v3="2758" />
+ <tetrahedron index="3792" v0="236" v1="1144" v2="1145" v3="1851" />
+ <tetrahedron index="3793" v0="1144" v1="1145" v2="1851" v3="2759" />
+ <tetrahedron index="3794" v0="1145" v1="1851" v2="2759" v3="2760" />
+ <tetrahedron index="3795" v0="471" v1="472" v2="1146" v3="2086" />
+ <tetrahedron index="3796" v0="472" v1="1146" v2="2086" v3="2087" />
+ <tetrahedron index="3797" v0="1146" v1="2086" v2="2087" v3="2761" />
+ <tetrahedron index="3798" v0="1147" v1="1148" v2="1149" v3="2762" />
+ <tetrahedron index="3799" v0="1148" v1="1149" v2="2762" v3="2763" />
+ <tetrahedron index="3800" v0="1149" v1="2762" v2="2763" v3="2764" />
+ <tetrahedron index="3801" v0="512" v1="514" v2="867" v3="2127" />
+ <tetrahedron index="3802" v0="514" v1="867" v2="2127" v3="2129" />
+ <tetrahedron index="3803" v0="867" v1="2127" v2="2129" v3="2482" />
+ <tetrahedron index="3804" v0="636" v1="638" v2="907" v3="2251" />
+ <tetrahedron index="3805" v0="638" v1="907" v2="2251" v3="2253" />
+ <tetrahedron index="3806" v0="907" v1="2251" v2="2253" v3="2522" />
+ <tetrahedron index="3807" v0="1076" v1="1104" v2="1150" v3="2691" />
+ <tetrahedron index="3808" v0="1104" v1="1150" v2="2691" v3="2719" />
+ <tetrahedron index="3809" v0="1150" v1="2691" v2="2719" v3="2765" />
+ <tetrahedron index="3810" v0="447" v1="688" v2="1122" v3="2062" />
+ <tetrahedron index="3811" v0="688" v1="1122" v2="2062" v3="2303" />
+ <tetrahedron index="3812" v0="1122" v1="2062" v2="2303" v3="2737" />
+ <tetrahedron index="3813" v0="711" v1="712" v2="946" v3="2326" />
+ <tetrahedron index="3814" v0="712" v1="946" v2="2326" v3="2327" />
+ <tetrahedron index="3815" v0="946" v1="2326" v2="2327" v3="2561" />
+ <tetrahedron index="3816" v0="638" v1="676" v2="1151" v3="2253" />
+ <tetrahedron index="3817" v0="676" v1="1151" v2="2253" v3="2291" />
+ <tetrahedron index="3818" v0="1151" v1="2253" v2="2291" v3="2766" />
+ <tetrahedron index="3819" v0="638" v1="906" v2="1151" v3="2253" />
+ <tetrahedron index="3820" v0="906" v1="1151" v2="2253" v3="2521" />
+ <tetrahedron index="3821" v0="1151" v1="2253" v2="2521" v3="2766" />
+ <tetrahedron index="3822" v0="69" v1="72" v2="1152" v3="1684" />
+ <tetrahedron index="3823" v0="72" v1="1152" v2="1684" v3="1687" />
+ <tetrahedron index="3824" v0="1152" v1="1684" v2="1687" v3="2767" />
+ <tetrahedron index="3825" v0="69" v1="70" v2="1152" v3="1684" />
+ <tetrahedron index="3826" v0="70" v1="1152" v2="1684" v3="1685" />
+ <tetrahedron index="3827" v0="1152" v1="1684" v2="1685" v3="2767" />
+ <tetrahedron index="3828" v0="1153" v1="1154" v2="1155" v3="2768" />
+ <tetrahedron index="3829" v0="1154" v1="1155" v2="2768" v3="2769" />
+ <tetrahedron index="3830" v0="1155" v1="2768" v2="2769" v3="2770" />
+ <tetrahedron index="3831" v0="574" v1="575" v2="1156" v3="2189" />
+ <tetrahedron index="3832" v0="575" v1="1156" v2="2189" v3="2190" />
+ <tetrahedron index="3833" v0="1156" v1="2189" v2="2190" v3="2771" />
+ <tetrahedron index="3834" v0="575" v1="708" v2="1156" v3="2190" />
+ <tetrahedron index="3835" v0="708" v1="1156" v2="2190" v3="2323" />
+ <tetrahedron index="3836" v0="1156" v1="2190" v2="2323" v3="2771" />
+ <tetrahedron index="3837" v0="87" v1="456" v2="1157" v3="1702" />
+ <tetrahedron index="3838" v0="456" v1="1157" v2="1702" v3="2071" />
+ <tetrahedron index="3839" v0="1157" v1="1702" v2="2071" v3="2772" />
+ <tetrahedron index="3840" v0="85" v1="87" v2="1157" v3="1700" />
+ <tetrahedron index="3841" v0="87" v1="1157" v2="1700" v3="1702" />
+ <tetrahedron index="3842" v0="1157" v1="1700" v2="1702" v3="2772" />
+ <tetrahedron index="3843" v0="937" v1="1117" v2="1158" v3="2552" />
+ <tetrahedron index="3844" v0="1117" v1="1158" v2="2552" v3="2732" />
+ <tetrahedron index="3845" v0="1158" v1="2552" v2="2732" v3="2773" />
+ <tetrahedron index="3846" v0="1117" v1="1158" v2="1159" v3="2732" />
+ <tetrahedron index="3847" v0="1158" v1="1159" v2="2732" v3="2773" />
+ <tetrahedron index="3848" v0="1159" v1="2732" v2="2773" v3="2774" />
+ <tetrahedron index="3849" v0="233" v1="295" v2="1100" v3="1848" />
+ <tetrahedron index="3850" v0="295" v1="1100" v2="1848" v3="1910" />
+ <tetrahedron index="3851" v0="1100" v1="1848" v2="1910" v3="2715" />
+ <tetrahedron index="3852" v0="718" v1="809" v2="1160" v3="2333" />
+ <tetrahedron index="3853" v0="809" v1="1160" v2="2333" v3="2424" />
+ <tetrahedron index="3854" v0="1160" v1="2333" v2="2424" v3="2775" />
+ <tetrahedron index="3855" v0="564" v1="1002" v2="1161" v3="2179" />
+ <tetrahedron index="3856" v0="1002" v1="1161" v2="2179" v3="2617" />
+ <tetrahedron index="3857" v0="1161" v1="2179" v2="2617" v3="2776" />
+ <tetrahedron index="3858" v0="564" v1="784" v2="1161" v3="2179" />
+ <tetrahedron index="3859" v0="784" v1="1161" v2="2179" v3="2399" />
+ <tetrahedron index="3860" v0="1161" v1="2179" v2="2399" v3="2776" />
+ <tetrahedron index="3861" v0="1162" v1="1163" v2="1164" v3="2777" />
+ <tetrahedron index="3862" v0="1163" v1="1164" v2="2777" v3="2778" />
+ <tetrahedron index="3863" v0="1164" v1="2777" v2="2778" v3="2779" />
+ <tetrahedron index="3864" v0="992" v1="1104" v2="1165" v3="2607" />
+ <tetrahedron index="3865" v0="1104" v1="1165" v2="2607" v3="2719" />
+ <tetrahedron index="3866" v0="1165" v1="2607" v2="2719" v3="2780" />
+ <tetrahedron index="3867" v0="548" v1="809" v2="1166" v3="2163" />
+ <tetrahedron index="3868" v0="809" v1="1166" v2="2163" v3="2424" />
+ <tetrahedron index="3869" v0="1166" v1="2163" v2="2424" v3="2781" />
+ <tetrahedron index="3870" v0="393" v1="699" v2="1167" v3="2008" />
+ <tetrahedron index="3871" v0="699" v1="1167" v2="2008" v3="2314" />
+ <tetrahedron index="3872" v0="1167" v1="2008" v2="2314" v3="2782" />
+ <tetrahedron index="3873" v0="65" v1="543" v2="1113" v3="1680" />
+ <tetrahedron index="3874" v0="543" v1="1113" v2="1680" v3="2158" />
+ <tetrahedron index="3875" v0="1113" v1="1680" v2="2158" v3="2728" />
+ <tetrahedron index="3876" v0="270" v1="341" v2="1168" v3="1885" />
+ <tetrahedron index="3877" v0="341" v1="1168" v2="1885" v3="1956" />
+ <tetrahedron index="3878" v0="1168" v1="1885" v2="1956" v3="2783" />
+ <tetrahedron index="3879" v0="212" v1="270" v2="1168" v3="1827" />
+ <tetrahedron index="3880" v0="270" v1="1168" v2="1827" v3="1885" />
+ <tetrahedron index="3881" v0="1168" v1="1827" v2="1885" v3="2783" />
+ <tetrahedron index="3882" v0="22" v1="733" v2="734" v3="1637" />
+ <tetrahedron index="3883" v0="733" v1="734" v2="1637" v3="2348" />
+ <tetrahedron index="3884" v0="734" v1="1637" v2="2348" v3="2349" />
+ <tetrahedron index="3885" v0="1108" v1="1169" v2="1170" v3="2723" />
+ <tetrahedron index="3886" v0="1169" v1="1170" v2="2723" v3="2784" />
+ <tetrahedron index="3887" v0="1170" v1="2723" v2="2784" v3="2785" />
+ <tetrahedron index="3888" v0="1171" v1="1172" v2="1173" v3="2786" />
+ <tetrahedron index="3889" v0="1172" v1="1173" v2="2786" v3="2787" />
+ <tetrahedron index="3890" v0="1173" v1="2786" v2="2787" v3="2788" />
+ <tetrahedron index="3891" v0="1134" v1="1172" v2="1173" v3="2749" />
+ <tetrahedron index="3892" v0="1172" v1="1173" v2="2749" v3="2787" />
+ <tetrahedron index="3893" v0="1173" v1="2749" v2="2787" v3="2788" />
+ <tetrahedron index="3894" v0="1073" v1="1145" v2="1174" v3="2688" />
+ <tetrahedron index="3895" v0="1145" v1="1174" v2="2688" v3="2760" />
+ <tetrahedron index="3896" v0="1174" v1="2688" v2="2760" v3="2789" />
+ <tetrahedron index="3897" v0="215" v1="465" v2="466" v3="1830" />
+ <tetrahedron index="3898" v0="465" v1="466" v2="1830" v3="2080" />
+ <tetrahedron index="3899" v0="466" v1="1830" v2="2080" v3="2081" />
+ <tetrahedron index="3900" v0="578" v1="767" v2="1175" v3="2193" />
+ <tetrahedron index="3901" v0="767" v1="1175" v2="2193" v3="2382" />
+ <tetrahedron index="3902" v0="1175" v1="2193" v2="2382" v3="2790" />
+ <tetrahedron index="3903" v0="578" v1="1146" v2="1175" v3="2193" />
+ <tetrahedron index="3904" v0="1146" v1="1175" v2="2193" v3="2761" />
+ <tetrahedron index="3905" v0="1175" v1="2193" v2="2761" v3="2790" />
+ <tetrahedron index="3906" v0="959" v1="1049" v2="1176" v3="2574" />
+ <tetrahedron index="3907" v0="1049" v1="1176" v2="2574" v3="2664" />
+ <tetrahedron index="3908" v0="1176" v1="2574" v2="2664" v3="2791" />
+ <tetrahedron index="3909" v0="544" v1="606" v2="1177" v3="2159" />
+ <tetrahedron index="3910" v0="606" v1="1177" v2="2159" v3="2221" />
+ <tetrahedron index="3911" v0="1177" v1="2159" v2="2221" v3="2792" />
+ <tetrahedron index="3912" v0="772" v1="1121" v2="1130" v3="2387" />
+ <tetrahedron index="3913" v0="1121" v1="1130" v2="2387" v3="2736" />
+ <tetrahedron index="3914" v0="1130" v1="2387" v2="2736" v3="2745" />
+ <tetrahedron index="3915" v0="499" v1="749" v2="948" v3="2114" />
+ <tetrahedron index="3916" v0="749" v1="948" v2="2114" v3="2364" />
+ <tetrahedron index="3917" v0="948" v1="2114" v2="2364" v3="2563" />
+ <tetrahedron index="3918" v0="498" v1="499" v2="948" v3="2113" />
+ <tetrahedron index="3919" v0="499" v1="948" v2="2113" v3="2114" />
+ <tetrahedron index="3920" v0="948" v1="2113" v2="2114" v3="2563" />
+ <tetrahedron index="3921" v0="269" v1="1125" v2="1178" v3="1884" />
+ <tetrahedron index="3922" v0="1125" v1="1178" v2="1884" v3="2740" />
+ <tetrahedron index="3923" v0="1178" v1="1884" v2="2740" v3="2793" />
+ <tetrahedron index="3924" v0="951" v1="982" v2="1126" v3="2566" />
+ <tetrahedron index="3925" v0="982" v1="1126" v2="2566" v3="2597" />
+ <tetrahedron index="3926" v0="1126" v1="2566" v2="2597" v3="2741" />
+ <tetrahedron index="3927" v0="1067" v1="1068" v2="1129" v3="2682" />
+ <tetrahedron index="3928" v0="1068" v1="1129" v2="2682" v3="2683" />
+ <tetrahedron index="3929" v0="1129" v1="2682" v2="2683" v3="2744" />
+ <tetrahedron index="3930" v0="34" v1="142" v2="271" v3="1649" />
+ <tetrahedron index="3931" v0="142" v1="271" v2="1649" v3="1757" />
+ <tetrahedron index="3932" v0="271" v1="1649" v2="1757" v3="1886" />
+ <tetrahedron index="3933" v0="19" v1="142" v2="271" v3="1634" />
+ <tetrahedron index="3934" v0="142" v1="271" v2="1634" v3="1757" />
+ <tetrahedron index="3935" v0="271" v1="1634" v2="1757" v3="1886" />
+ <tetrahedron index="3936" v0="892" v1="1087" v2="1138" v3="2507" />
+ <tetrahedron index="3937" v0="1087" v1="1138" v2="2507" v3="2702" />
+ <tetrahedron index="3938" v0="1138" v1="2507" v2="2702" v3="2753" />
+ <tetrahedron index="3939" v0="692" v1="1087" v2="1138" v3="2307" />
+ <tetrahedron index="3940" v0="1087" v1="1138" v2="2307" v3="2702" />
+ <tetrahedron index="3941" v0="1138" v1="2307" v2="2702" v3="2753" />
+ <tetrahedron index="3942" v0="692" v1="838" v2="1138" v3="2307" />
+ <tetrahedron index="3943" v0="838" v1="1138" v2="2307" v3="2453" />
+ <tetrahedron index="3944" v0="1138" v1="2307" v2="2453" v3="2753" />
+ <tetrahedron index="3945" v0="178" v1="838" v2="1138" v3="1793" />
+ <tetrahedron index="3946" v0="838" v1="1138" v2="1793" v3="2453" />
+ <tetrahedron index="3947" v0="1138" v1="1793" v2="2453" v3="2753" />
+ <tetrahedron index="3948" v0="250" v1="642" v2="885" v3="1865" />
+ <tetrahedron index="3949" v0="642" v1="885" v2="1865" v3="2257" />
+ <tetrahedron index="3950" v0="885" v1="1865" v2="2257" v3="2500" />
+ <tetrahedron index="3951" v0="308" v1="642" v2="885" v3="1923" />
+ <tetrahedron index="3952" v0="642" v1="885" v2="1923" v3="2257" />
+ <tetrahedron index="3953" v0="885" v1="1923" v2="2257" v3="2500" />
+ <tetrahedron index="3954" v0="116" v1="304" v2="306" v3="1731" />
+ <tetrahedron index="3955" v0="304" v1="306" v2="1731" v3="1919" />
+ <tetrahedron index="3956" v0="306" v1="1731" v2="1919" v3="1921" />
+ <tetrahedron index="3957" v0="220" v1="1179" v2="1180" v3="1835" />
+ <tetrahedron index="3958" v0="1179" v1="1180" v2="1835" v3="2794" />
+ <tetrahedron index="3959" v0="1180" v1="1835" v2="2794" v3="2795" />
+ <tetrahedron index="3960" v0="247" v1="647" v2="1141" v3="1862" />
+ <tetrahedron index="3961" v0="647" v1="1141" v2="1862" v3="2262" />
+ <tetrahedron index="3962" v0="1141" v1="1862" v2="2262" v3="2756" />
+ <tetrahedron index="3963" v0="764" v1="765" v2="1104" v3="2379" />
+ <tetrahedron index="3964" v0="765" v1="1104" v2="2379" v3="2380" />
+ <tetrahedron index="3965" v0="1104" v1="2379" v2="2380" v3="2719" />
+ <tetrahedron index="3966" v0="764" v1="1076" v2="1104" v3="2379" />
+ <tetrahedron index="3967" v0="1076" v1="1104" v2="2379" v3="2691" />
+ <tetrahedron index="3968" v0="1104" v1="2379" v2="2691" v3="2719" />
+ <tetrahedron index="3969" v0="157" v1="528" v2="1181" v3="1772" />
+ <tetrahedron index="3970" v0="528" v1="1181" v2="1772" v3="2143" />
+ <tetrahedron index="3971" v0="1181" v1="1772" v2="2143" v3="2796" />
+ <tetrahedron index="3972" v0="157" v1="568" v2="1181" v3="1772" />
+ <tetrahedron index="3973" v0="568" v1="1181" v2="1772" v3="2183" />
+ <tetrahedron index="3974" v0="1181" v1="1772" v2="2183" v3="2796" />
+ <tetrahedron index="3975" v0="94" v1="95" v2="587" v3="1709" />
+ <tetrahedron index="3976" v0="95" v1="587" v2="1709" v3="1710" />
+ <tetrahedron index="3977" v0="587" v1="1709" v2="1710" v3="2202" />
+ <tetrahedron index="3978" v0="94" v1="587" v2="1102" v3="1709" />
+ <tetrahedron index="3979" v0="587" v1="1102" v2="1709" v3="2202" />
+ <tetrahedron index="3980" v0="1102" v1="1709" v2="2202" v3="2717" />
+ <tetrahedron index="3981" v0="610" v1="612" v2="1142" v3="2225" />
+ <tetrahedron index="3982" v0="612" v1="1142" v2="2225" v3="2227" />
+ <tetrahedron index="3983" v0="1142" v1="2225" v2="2227" v3="2757" />
+ <tetrahedron index="3984" v0="437" v1="515" v2="1142" v3="2052" />
+ <tetrahedron index="3985" v0="515" v1="1142" v2="2052" v3="2130" />
+ <tetrahedron index="3986" v0="1142" v1="2052" v2="2130" v3="2757" />
+ <tetrahedron index="3987" v0="467" v1="468" v2="690" v3="2082" />
+ <tetrahedron index="3988" v0="468" v1="690" v2="2082" v3="2083" />
+ <tetrahedron index="3989" v0="690" v1="2082" v2="2083" v3="2305" />
+ <tetrahedron index="3990" v0="88" v1="89" v2="1159" v3="1703" />
+ <tetrahedron index="3991" v0="89" v1="1159" v2="1703" v3="1704" />
+ <tetrahedron index="3992" v0="1159" v1="1703" v2="1704" v3="2774" />
+ <tetrahedron index="3993" v0="698" v1="1068" v2="1129" v3="2313" />
+ <tetrahedron index="3994" v0="1068" v1="1129" v2="2313" v3="2683" />
+ <tetrahedron index="3995" v0="1129" v1="2313" v2="2683" v3="2744" />
+ <tetrahedron index="3996" v0="698" v1="766" v2="1129" v3="2313" />
+ <tetrahedron index="3997" v0="766" v1="1129" v2="2313" v3="2381" />
+ <tetrahedron index="3998" v0="1129" v1="2313" v2="2381" v3="2744" />
+ <tetrahedron index="3999" v0="778" v1="1031" v2="1182" v3="2393" />
+ <tetrahedron index="4000" v0="1031" v1="1182" v2="2393" v3="2646" />
+ <tetrahedron index="4001" v0="1182" v1="2393" v2="2646" v3="2797" />
+ <tetrahedron index="4002" v0="778" v1="780" v2="1182" v3="2393" />
+ <tetrahedron index="4003" v0="780" v1="1182" v2="2393" v3="2395" />
+ <tetrahedron index="4004" v0="1182" v1="2393" v2="2395" v3="2797" />
+ <tetrahedron index="4005" v0="688" v1="984" v2="1122" v3="2303" />
+ <tetrahedron index="4006" v0="984" v1="1122" v2="2303" v3="2599" />
+ <tetrahedron index="4007" v0="1122" v1="2303" v2="2599" v3="2737" />
+ <tetrahedron index="4008" v0="776" v1="777" v2="1143" v3="2391" />
+ <tetrahedron index="4009" v0="777" v1="1143" v2="2391" v3="2392" />
+ <tetrahedron index="4010" v0="1143" v1="2391" v2="2392" v3="2758" />
+ <tetrahedron index="4011" v0="776" v1="1090" v2="1143" v3="2391" />
+ <tetrahedron index="4012" v0="1090" v1="1143" v2="2391" v3="2705" />
+ <tetrahedron index="4013" v0="1143" v1="2391" v2="2705" v3="2758" />
+ <tetrahedron index="4014" v0="544" v1="752" v2="1177" v3="2159" />
+ <tetrahedron index="4015" v0="752" v1="1177" v2="2159" v3="2367" />
+ <tetrahedron index="4016" v0="1177" v1="2159" v2="2367" v3="2792" />
+ <tetrahedron index="4017" v0="752" v1="1040" v2="1177" v3="2367" />
+ <tetrahedron index="4018" v0="1040" v1="1177" v2="2367" v3="2655" />
+ <tetrahedron index="4019" v0="1177" v1="2367" v2="2655" v3="2792" />
+ <tetrahedron index="4020" v0="280" v1="578" v2="1146" v3="1895" />
+ <tetrahedron index="4021" v0="578" v1="1146" v2="1895" v3="2193" />
+ <tetrahedron index="4022" v0="1146" v1="1895" v2="2193" v3="2761" />
+ <tetrahedron index="4023" v0="419" v1="472" v2="1175" v3="2034" />
+ <tetrahedron index="4024" v0="472" v1="1175" v2="2034" v3="2087" />
+ <tetrahedron index="4025" v0="1175" v1="2034" v2="2087" v3="2790" />
+ <tetrahedron index="4026" v0="472" v1="1146" v2="1175" v3="2087" />
+ <tetrahedron index="4027" v0="1146" v1="1175" v2="2087" v3="2761" />
+ <tetrahedron index="4028" v0="1175" v1="2087" v2="2761" v3="2790" />
+ <tetrahedron index="4029" v0="862" v1="871" v2="940" v3="2477" />
+ <tetrahedron index="4030" v0="871" v1="940" v2="2477" v3="2486" />
+ <tetrahedron index="4031" v0="940" v1="2477" v2="2486" v3="2555" />
+ <tetrahedron index="4032" v0="862" v1="923" v2="940" v3="2477" />
+ <tetrahedron index="4033" v0="923" v1="940" v2="2477" v3="2538" />
+ <tetrahedron index="4034" v0="940" v1="2477" v2="2538" v3="2555" />
+ <tetrahedron index="4035" v0="13" v1="1071" v2="1097" v3="1628" />
+ <tetrahedron index="4036" v0="1071" v1="1097" v2="1628" v3="2686" />
+ <tetrahedron index="4037" v0="1097" v1="1628" v2="2686" v3="2712" />
+ <tetrahedron index="4038" v0="960" v1="1076" v2="1150" v3="2575" />
+ <tetrahedron index="4039" v0="1076" v1="1150" v2="2575" v3="2691" />
+ <tetrahedron index="4040" v0="1150" v1="2575" v2="2691" v3="2765" />
+ <tetrahedron index="4041" v0="960" v1="968" v2="1150" v3="2575" />
+ <tetrahedron index="4042" v0="968" v1="1150" v2="2575" v3="2583" />
+ <tetrahedron index="4043" v0="1150" v1="2575" v2="2583" v3="2765" />
+ <tetrahedron index="4044" v0="893" v1="1150" v2="1183" v3="2508" />
+ <tetrahedron index="4045" v0="1150" v1="1183" v2="2508" v3="2765" />
+ <tetrahedron index="4046" v0="1183" v1="2508" v2="2765" v3="2798" />
+ <tetrahedron index="4047" v0="893" v1="968" v2="1150" v3="2508" />
+ <tetrahedron index="4048" v0="968" v1="1150" v2="2508" v3="2583" />
+ <tetrahedron index="4049" v0="1150" v1="2508" v2="2583" v3="2765" />
+ <tetrahedron index="4050" v0="253" v1="254" v2="675" v3="1868" />
+ <tetrahedron index="4051" v0="254" v1="675" v2="1868" v3="1869" />
+ <tetrahedron index="4052" v0="675" v1="1868" v2="1869" v3="2290" />
+ <tetrahedron index="4053" v0="803" v1="804" v2="813" v3="2418" />
+ <tetrahedron index="4054" v0="804" v1="813" v2="2418" v3="2419" />
+ <tetrahedron index="4055" v0="813" v1="2418" v2="2419" v3="2428" />
+ <tetrahedron index="4056" v0="986" v1="1113" v2="1184" v3="2601" />
+ <tetrahedron index="4057" v0="1113" v1="1184" v2="2601" v3="2728" />
+ <tetrahedron index="4058" v0="1184" v1="2601" v2="2728" v3="2799" />
+ <tetrahedron index="4059" v0="543" v1="986" v2="1113" v3="2158" />
+ <tetrahedron index="4060" v0="986" v1="1113" v2="2158" v3="2601" />
+ <tetrahedron index="4061" v0="1113" v1="2158" v2="2601" v3="2728" />
+ <tetrahedron index="4062" v0="295" v1="930" v2="1100" v3="1910" />
+ <tetrahedron index="4063" v0="930" v1="1100" v2="1910" v3="2545" />
+ <tetrahedron index="4064" v0="1100" v1="1910" v2="2545" v3="2715" />
+ <tetrahedron index="4065" v0="930" v1="1007" v2="1100" v3="2545" />
+ <tetrahedron index="4066" v0="1007" v1="1100" v2="2545" v3="2622" />
+ <tetrahedron index="4067" v0="1100" v1="2545" v2="2622" v3="2715" />
+ <tetrahedron index="4068" v0="725" v1="1185" v2="1186" v3="2340" />
+ <tetrahedron index="4069" v0="1185" v1="1186" v2="2340" v3="2800" />
+ <tetrahedron index="4070" v0="1186" v1="2340" v2="2800" v3="2801" />
+ <tetrahedron index="4071" v0="703" v1="1117" v2="1118" v3="2318" />
+ <tetrahedron index="4072" v0="1117" v1="1118" v2="2318" v3="2732" />
+ <tetrahedron index="4073" v0="1118" v1="2318" v2="2732" v3="2733" />
+ <tetrahedron index="4074" v0="703" v1="937" v2="1117" v3="2318" />
+ <tetrahedron index="4075" v0="937" v1="1117" v2="2318" v3="2552" />
+ <tetrahedron index="4076" v0="1117" v1="2318" v2="2552" v3="2732" />
+ <tetrahedron index="4077" v0="542" v1="1098" v2="1187" v3="2157" />
+ <tetrahedron index="4078" v0="1098" v1="1187" v2="2157" v3="2713" />
+ <tetrahedron index="4079" v0="1187" v1="2157" v2="2713" v3="2802" />
+ <tetrahedron index="4080" v0="894" v1="895" v2="998" v3="2509" />
+ <tetrahedron index="4081" v0="895" v1="998" v2="2509" v3="2510" />
+ <tetrahedron index="4082" v0="998" v1="2509" v2="2510" v3="2613" />
+ <tetrahedron index="4083" v0="895" v1="998" v2="1077" v3="2510" />
+ <tetrahedron index="4084" v0="998" v1="1077" v2="2510" v3="2613" />
+ <tetrahedron index="4085" v0="1077" v1="2510" v2="2613" v3="2692" />
+ <tetrahedron index="4086" v0="166" v1="1001" v2="1152" v3="1781" />
+ <tetrahedron index="4087" v0="1001" v1="1152" v2="1781" v3="2616" />
+ <tetrahedron index="4088" v0="1152" v1="1781" v2="2616" v3="2767" />
+ <tetrahedron index="4089" v0="72" v1="166" v2="1152" v3="1687" />
+ <tetrahedron index="4090" v0="166" v1="1152" v2="1687" v3="1781" />
+ <tetrahedron index="4091" v0="1152" v1="1687" v2="1781" v3="2767" />
+ <tetrahedron index="4092" v0="574" v1="1156" v2="1188" v3="2189" />
+ <tetrahedron index="4093" v0="1156" v1="1188" v2="2189" v3="2771" />
+ <tetrahedron index="4094" v0="1188" v1="2189" v2="2771" v3="2803" />
+ <tetrahedron index="4095" v0="708" v1="1156" v2="1187" v3="2323" />
+ <tetrahedron index="4096" v0="1156" v1="1187" v2="2323" v3="2771" />
+ <tetrahedron index="4097" v0="1187" v1="2323" v2="2771" v3="2802" />
+ <tetrahedron index="4098" v0="717" v1="1189" v2="1190" v3="2332" />
+ <tetrahedron index="4099" v0="1189" v1="1190" v2="2332" v3="2804" />
+ <tetrahedron index="4100" v0="1190" v1="2332" v2="2804" v3="2805" />
+ <tetrahedron index="4101" v0="456" v1="931" v2="1157" v3="2071" />
+ <tetrahedron index="4102" v0="931" v1="1157" v2="2071" v3="2546" />
+ <tetrahedron index="4103" v0="1157" v1="2071" v2="2546" v3="2772" />
+ <tetrahedron index="4104" v0="691" v1="931" v2="1157" v3="2306" />
+ <tetrahedron index="4105" v0="931" v1="1157" v2="2306" v3="2546" />
+ <tetrahedron index="4106" v0="1157" v1="2306" v2="2546" v3="2772" />
+ <tetrahedron index="4107" v0="691" v1="693" v2="1157" v3="2306" />
+ <tetrahedron index="4108" v0="693" v1="1157" v2="2306" v3="2308" />
+ <tetrahedron index="4109" v0="1157" v1="2306" v2="2308" v3="2772" />
+ <tetrahedron index="4110" v0="85" v1="693" v2="1157" v3="1700" />
+ <tetrahedron index="4111" v0="693" v1="1157" v2="1700" v3="2308" />
+ <tetrahedron index="4112" v0="1157" v1="1700" v2="2308" v3="2772" />
+ <tetrahedron index="4113" v0="161" v1="951" v2="1126" v3="1776" />
+ <tetrahedron index="4114" v0="951" v1="1126" v2="1776" v3="2566" />
+ <tetrahedron index="4115" v0="1126" v1="1776" v2="2566" v3="2741" />
+ <tetrahedron index="4116" v0="161" v1="899" v2="1126" v3="1776" />
+ <tetrahedron index="4117" v0="899" v1="1126" v2="1776" v3="2514" />
+ <tetrahedron index="4118" v0="1126" v1="1776" v2="2514" v3="2741" />
+ <tetrahedron index="4119" v0="450" v1="937" v2="1191" v3="2065" />
+ <tetrahedron index="4120" v0="937" v1="1191" v2="2065" v3="2552" />
+ <tetrahedron index="4121" v0="1191" v1="2065" v2="2552" v3="2806" />
+ <tetrahedron index="4122" v0="656" v1="859" v2="974" v3="2271" />
+ <tetrahedron index="4123" v0="859" v1="974" v2="2271" v3="2474" />
+ <tetrahedron index="4124" v0="974" v1="2271" v2="2474" v3="2589" />
+ <tetrahedron index="4125" v0="859" v1="974" v2="1092" v3="2474" />
+ <tetrahedron index="4126" v0="974" v1="1092" v2="2474" v3="2589" />
+ <tetrahedron index="4127" v0="1092" v1="2474" v2="2589" v3="2707" />
+ <tetrahedron index="4128" v0="636" v1="776" v2="907" v3="2251" />
+ <tetrahedron index="4129" v0="776" v1="907" v2="2251" v3="2391" />
+ <tetrahedron index="4130" v0="907" v1="2251" v2="2391" v3="2522" />
+ <tetrahedron index="4131" v0="776" v1="907" v2="1064" v3="2391" />
+ <tetrahedron index="4132" v0="907" v1="1064" v2="2391" v3="2522" />
+ <tetrahedron index="4133" v0="1064" v1="2391" v2="2522" v3="2679" />
+ <tetrahedron index="4134" v0="917" v1="1022" v2="1192" v3="2532" />
+ <tetrahedron index="4135" v0="1022" v1="1192" v2="2532" v3="2637" />
+ <tetrahedron index="4136" v0="1192" v1="2532" v2="2637" v3="2807" />
+ <tetrahedron index="4137" v0="1022" v1="1024" v2="1192" v3="2637" />
+ <tetrahedron index="4138" v0="1024" v1="1192" v2="2637" v3="2639" />
+ <tetrahedron index="4139" v0="1192" v1="2637" v2="2639" v3="2807" />
+ <tetrahedron index="4140" v0="918" v1="1001" v2="1152" v3="2533" />
+ <tetrahedron index="4141" v0="1001" v1="1152" v2="2533" v3="2616" />
+ <tetrahedron index="4142" v0="1152" v1="2533" v2="2616" v3="2767" />
+ <tetrahedron index="4143" v0="70" v1="918" v2="1152" v3="1685" />
+ <tetrahedron index="4144" v0="918" v1="1152" v2="1685" v3="2533" />
+ <tetrahedron index="4145" v0="1152" v1="1685" v2="2533" v3="2767" />
+ <tetrahedron index="4146" v0="233" v1="424" v2="1100" v3="1848" />
+ <tetrahedron index="4147" v0="424" v1="1100" v2="1848" v3="2039" />
+ <tetrahedron index="4148" v0="1100" v1="1848" v2="2039" v3="2715" />
+ <tetrahedron index="4149" v0="424" v1="1009" v2="1100" v3="2039" />
+ <tetrahedron index="4150" v0="1009" v1="1100" v2="2039" v3="2624" />
+ <tetrahedron index="4151" v0="1100" v1="2039" v2="2624" v3="2715" />
+ <tetrahedron index="4152" v0="717" v1="718" v2="1160" v3="2332" />
+ <tetrahedron index="4153" v0="718" v1="1160" v2="2332" v3="2333" />
+ <tetrahedron index="4154" v0="1160" v1="2332" v2="2333" v3="2775" />
+ <tetrahedron index="4155" v0="717" v1="1160" v2="1190" v3="2332" />
+ <tetrahedron index="4156" v0="1160" v1="1190" v2="2332" v3="2775" />
+ <tetrahedron index="4157" v0="1190" v1="2332" v2="2775" v3="2805" />
+ <tetrahedron index="4158" v0="1040" v1="1177" v2="1193" v3="2655" />
+ <tetrahedron index="4159" v0="1177" v1="1193" v2="2655" v3="2792" />
+ <tetrahedron index="4160" v0="1193" v1="2655" v2="2792" v3="2808" />
+ <tetrahedron index="4161" v0="1176" v1="1194" v2="1195" v3="2791" />
+ <tetrahedron index="4162" v0="1194" v1="1195" v2="2791" v3="2809" />
+ <tetrahedron index="4163" v0="1195" v1="2791" v2="2809" v3="2810" />
+ <tetrahedron index="4164" v0="1049" v1="1176" v2="1194" v3="2664" />
+ <tetrahedron index="4165" v0="1176" v1="1194" v2="2664" v3="2791" />
+ <tetrahedron index="4166" v0="1194" v1="2664" v2="2791" v3="2809" />
+ <tetrahedron index="4167" v0="738" v1="984" v2="1122" v3="2353" />
+ <tetrahedron index="4168" v0="984" v1="1122" v2="2353" v3="2599" />
+ <tetrahedron index="4169" v0="1122" v1="2353" v2="2599" v3="2737" />
+ <tetrahedron index="4170" v0="1188" v1="1196" v2="1197" v3="2803" />
+ <tetrahedron index="4171" v0="1196" v1="1197" v2="2803" v3="2811" />
+ <tetrahedron index="4172" v0="1197" v1="2803" v2="2811" v3="2812" />
+ <tetrahedron index="4173" v0="1002" v1="1114" v2="1161" v3="2617" />
+ <tetrahedron index="4174" v0="1114" v1="1161" v2="2617" v3="2729" />
+ <tetrahedron index="4175" v0="1161" v1="2617" v2="2729" v3="2776" />
+ <tetrahedron index="4176" v0="985" v1="1114" v2="1161" v3="2600" />
+ <tetrahedron index="4177" v0="1114" v1="1161" v2="2600" v3="2729" />
+ <tetrahedron index="4178" v0="1161" v1="2600" v2="2729" v3="2776" />
+ <tetrahedron index="4179" v0="448" v1="1089" v2="1198" v3="2063" />
+ <tetrahedron index="4180" v0="1089" v1="1198" v2="2063" v3="2704" />
+ <tetrahedron index="4181" v0="1198" v1="2063" v2="2704" v3="2813" />
+ <tetrahedron index="4182" v0="448" v1="972" v2="1089" v3="2063" />
+ <tetrahedron index="4183" v0="972" v1="1089" v2="2063" v3="2587" />
+ <tetrahedron index="4184" v0="1089" v1="2063" v2="2587" v3="2704" />
+ <tetrahedron index="4185" v0="1109" v1="1189" v2="1199" v3="2724" />
+ <tetrahedron index="4186" v0="1189" v1="1199" v2="2724" v3="2804" />
+ <tetrahedron index="4187" v0="1199" v1="2724" v2="2804" v3="2814" />
+ <tetrahedron index="4188" v0="1151" v1="1200" v2="1201" v3="2766" />
+ <tetrahedron index="4189" v0="1200" v1="1201" v2="2766" v3="2815" />
+ <tetrahedron index="4190" v0="1201" v1="2766" v2="2815" v3="2816" />
+ <tetrahedron index="4191" v0="906" v1="1151" v2="1201" v3="2521" />
+ <tetrahedron index="4192" v0="1151" v1="1201" v2="2521" v3="2766" />
+ <tetrahedron index="4193" v0="1201" v1="2521" v2="2766" v3="2816" />
+ <tetrahedron index="4194" v0="392" v1="936" v2="1084" v3="2007" />
+ <tetrahedron index="4195" v0="936" v1="1084" v2="2007" v3="2551" />
+ <tetrahedron index="4196" v0="1084" v1="2007" v2="2551" v3="2699" />
+ <tetrahedron index="4197" v0="392" v1="393" v2="1084" v3="2007" />
+ <tetrahedron index="4198" v0="393" v1="1084" v2="2007" v3="2008" />
+ <tetrahedron index="4199" v0="1084" v1="2007" v2="2008" v3="2699" />
+ <tetrahedron index="4200" v0="1050" v1="1051" v2="1202" v3="2665" />
+ <tetrahedron index="4201" v0="1051" v1="1202" v2="2665" v3="2666" />
+ <tetrahedron index="4202" v0="1202" v1="2665" v2="2666" v3="2817" />
+ <tetrahedron index="4203" v0="614" v1="1051" v2="1202" v3="2229" />
+ <tetrahedron index="4204" v0="1051" v1="1202" v2="2229" v3="2666" />
+ <tetrahedron index="4205" v0="1202" v1="2229" v2="2666" v3="2817" />
+ <tetrahedron index="4206" v0="393" v1="1084" v2="1167" v3="2008" />
+ <tetrahedron index="4207" v0="1084" v1="1167" v2="2008" v3="2699" />
+ <tetrahedron index="4208" v0="1167" v1="2008" v2="2699" v3="2782" />
+ <tetrahedron index="4209" v0="986" v1="1184" v2="1203" v3="2601" />
+ <tetrahedron index="4210" v0="1184" v1="1203" v2="2601" v3="2799" />
+ <tetrahedron index="4211" v0="1203" v1="2601" v2="2799" v3="2818" />
+ <tetrahedron index="4212" v0="1184" v1="1203" v2="1204" v3="2799" />
+ <tetrahedron index="4213" v0="1203" v1="1204" v2="2799" v3="2818" />
+ <tetrahedron index="4214" v0="1204" v1="2799" v2="2818" v3="2819" />
+ <tetrahedron index="4215" v0="793" v1="794" v2="903" v3="2408" />
+ <tetrahedron index="4216" v0="794" v1="903" v2="2408" v3="2409" />
+ <tetrahedron index="4217" v0="903" v1="2408" v2="2409" v3="2518" />
+ <tetrahedron index="4218" v0="794" v1="903" v2="1205" v3="2409" />
+ <tetrahedron index="4219" v0="903" v1="1205" v2="2409" v3="2518" />
+ <tetrahedron index="4220" v0="1205" v1="2409" v2="2518" v3="2820" />
+ <tetrahedron index="4221" v0="507" v1="956" v2="1206" v3="2122" />
+ <tetrahedron index="4222" v0="956" v1="1206" v2="2122" v3="2571" />
+ <tetrahedron index="4223" v0="1206" v1="2122" v2="2571" v3="2821" />
+ <tetrahedron index="4224" v0="506" v1="507" v2="1206" v3="2121" />
+ <tetrahedron index="4225" v0="507" v1="1206" v2="2121" v3="2122" />
+ <tetrahedron index="4226" v0="1206" v1="2121" v2="2122" v3="2821" />
+ <tetrahedron index="4227" v0="94" v1="793" v2="1102" v3="1709" />
+ <tetrahedron index="4228" v0="793" v1="1102" v2="1709" v3="2408" />
+ <tetrahedron index="4229" v0="1102" v1="1709" v2="2408" v3="2717" />
+ <tetrahedron index="4230" v0="94" v1="793" v2="902" v3="1709" />
+ <tetrahedron index="4231" v0="793" v1="902" v2="1709" v3="2408" />
+ <tetrahedron index="4232" v0="902" v1="1709" v2="2408" v3="2517" />
+ <tetrahedron index="4233" v0="135" v1="722" v2="940" v3="1750" />
+ <tetrahedron index="4234" v0="722" v1="940" v2="1750" v3="2337" />
+ <tetrahedron index="4235" v0="940" v1="1750" v2="2337" v3="2555" />
+ <tetrahedron index="4236" v0="135" v1="871" v2="940" v3="1750" />
+ <tetrahedron index="4237" v0="871" v1="940" v2="1750" v3="2486" />
+ <tetrahedron index="4238" v0="940" v1="1750" v2="2486" v3="2555" />
+ <tetrahedron index="4239" v0="425" v1="1057" v2="1207" v3="2040" />
+ <tetrahedron index="4240" v0="1057" v1="1207" v2="2040" v3="2672" />
+ <tetrahedron index="4241" v0="1207" v1="2040" v2="2672" v3="2822" />
+ <tetrahedron index="4242" v0="425" v1="602" v2="1057" v3="2040" />
+ <tetrahedron index="4243" v0="602" v1="1057" v2="2040" v3="2217" />
+ <tetrahedron index="4244" v0="1057" v1="2040" v2="2217" v3="2672" />
+ <tetrahedron index="4245" v0="627" v1="742" v2="1168" v3="2242" />
+ <tetrahedron index="4246" v0="742" v1="1168" v2="2242" v3="2357" />
+ <tetrahedron index="4247" v0="1168" v1="2242" v2="2357" v3="2783" />
+ <tetrahedron index="4248" v0="341" v1="742" v2="1168" v3="1956" />
+ <tetrahedron index="4249" v0="742" v1="1168" v2="1956" v3="2357" />
+ <tetrahedron index="4250" v0="1168" v1="1956" v2="2357" v3="2783" />
+ <tetrahedron index="4251" v0="627" v1="647" v2="1168" v3="2242" />
+ <tetrahedron index="4252" v0="647" v1="1168" v2="2242" v3="2262" />
+ <tetrahedron index="4253" v0="1168" v1="2242" v2="2262" v3="2783" />
+ <tetrahedron index="4254" v0="212" v1="647" v2="1168" v3="1827" />
+ <tetrahedron index="4255" v0="647" v1="1168" v2="1827" v3="2262" />
+ <tetrahedron index="4256" v0="1168" v1="1827" v2="2262" v3="2783" />
+ <tetrahedron index="4257" v0="58" v1="59" v2="1105" v3="1673" />
+ <tetrahedron index="4258" v0="59" v1="1105" v2="1673" v3="1674" />
+ <tetrahedron index="4259" v0="1105" v1="1673" v2="1674" v3="2720" />
+ <tetrahedron index="4260" v0="405" v1="1141" v2="1208" v3="2020" />
+ <tetrahedron index="4261" v0="1141" v1="1208" v2="2020" v3="2756" />
+ <tetrahedron index="4262" v0="1208" v1="2020" v2="2756" v3="2823" />
+ <tetrahedron index="4263" v0="450" v1="914" v2="1116" v3="2065" />
+ <tetrahedron index="4264" v0="914" v1="1116" v2="2065" v3="2529" />
+ <tetrahedron index="4265" v0="1116" v1="2065" v2="2529" v3="2731" />
+ <tetrahedron index="4266" v0="546" v1="548" v2="1170" v3="2161" />
+ <tetrahedron index="4267" v0="548" v1="1170" v2="2161" v3="2163" />
+ <tetrahedron index="4268" v0="1170" v1="2161" v2="2163" v3="2785" />
+ <tetrahedron index="4269" v0="546" v1="824" v2="1170" v3="2161" />
+ <tetrahedron index="4270" v0="824" v1="1170" v2="2161" v3="2439" />
+ <tetrahedron index="4271" v0="1170" v1="2161" v2="2439" v3="2785" />
+ <tetrahedron index="4272" v0="174" v1="992" v2="1165" v3="1789" />
+ <tetrahedron index="4273" v0="992" v1="1165" v2="1789" v3="2607" />
+ <tetrahedron index="4274" v0="1165" v1="1789" v2="2607" v3="2780" />
+ <tetrahedron index="4275" v0="174" v1="179" v2="1165" v3="1789" />
+ <tetrahedron index="4276" v0="179" v1="1165" v2="1789" v3="1794" />
+ <tetrahedron index="4277" v0="1165" v1="1789" v2="1794" v3="2780" />
+ <tetrahedron index="4278" v0="712" v1="771" v2="946" v3="2327" />
+ <tetrahedron index="4279" v0="771" v1="946" v2="2327" v3="2386" />
+ <tetrahedron index="4280" v0="946" v1="2327" v2="2386" v3="2561" />
+ <tetrahedron index="4281" v0="909" v1="959" v2="1176" v3="2524" />
+ <tetrahedron index="4282" v0="959" v1="1176" v2="2524" v3="2574" />
+ <tetrahedron index="4283" v0="1176" v1="2524" v2="2574" v3="2791" />
+ <tetrahedron index="4284" v0="43" v1="59" v2="60" v3="1658" />
+ <tetrahedron index="4285" v0="59" v1="60" v2="1658" v3="1674" />
+ <tetrahedron index="4286" v0="60" v1="1658" v2="1674" v3="1675" />
+ <tetrahedron index="4287" v0="43" v1="59" v2="148" v3="1658" />
+ <tetrahedron index="4288" v0="59" v1="148" v2="1658" v3="1674" />
+ <tetrahedron index="4289" v0="148" v1="1658" v2="1674" v3="1763" />
+ <tetrahedron index="4290" v0="283" v1="995" v2="1172" v3="1898" />
+ <tetrahedron index="4291" v0="995" v1="1172" v2="1898" v3="2610" />
+ <tetrahedron index="4292" v0="1172" v1="1898" v2="2610" v3="2787" />
+ <tetrahedron index="4293" v0="283" v1="1134" v2="1172" v3="1898" />
+ <tetrahedron index="4294" v0="1134" v1="1172" v2="1898" v3="2749" />
+ <tetrahedron index="4295" v0="1172" v1="1898" v2="2749" v3="2787" />
+ <tetrahedron index="4296" v0="1101" v1="1103" v2="1115" v3="2716" />
+ <tetrahedron index="4297" v0="1103" v1="1115" v2="2716" v3="2718" />
+ <tetrahedron index="4298" v0="1115" v1="2716" v2="2718" v3="2730" />
+ <tetrahedron index="4299" v0="1101" v1="1102" v2="1103" v3="2716" />
+ <tetrahedron index="4300" v0="1102" v1="1103" v2="2716" v3="2717" />
+ <tetrahedron index="4301" v0="1103" v1="2716" v2="2717" v3="2718" />
+ <tetrahedron index="4302" v0="772" v1="900" v2="1121" v3="2387" />
+ <tetrahedron index="4303" v0="900" v1="1121" v2="2387" v3="2515" />
+ <tetrahedron index="4304" v0="1121" v1="2387" v2="2515" v3="2736" />
+ <tetrahedron index="4305" v0="760" v1="900" v2="1121" v3="2375" />
+ <tetrahedron index="4306" v0="900" v1="1121" v2="2375" v3="2515" />
+ <tetrahedron index="4307" v0="1121" v1="2375" v2="2515" v3="2736" />
+ <tetrahedron index="4308" v0="1144" v1="1145" v2="1174" v3="2759" />
+ <tetrahedron index="4309" v0="1145" v1="1174" v2="2759" v3="2760" />
+ <tetrahedron index="4310" v0="1174" v1="2759" v2="2760" v3="2789" />
+ <tetrahedron index="4311" v0="677" v1="851" v2="932" v3="2292" />
+ <tetrahedron index="4312" v0="851" v1="932" v2="2292" v3="2466" />
+ <tetrahedron index="4313" v0="932" v1="2292" v2="2466" v3="2547" />
+ <tetrahedron index="4314" v0="677" v1="851" v2="852" v3="2292" />
+ <tetrahedron index="4315" v0="851" v1="852" v2="2292" v3="2466" />
+ <tetrahedron index="4316" v0="852" v1="2292" v2="2466" v3="2467" />
+ <tetrahedron index="4317" v0="109" v1="487" v2="1209" v3="1724" />
+ <tetrahedron index="4318" v0="487" v1="1209" v2="1724" v3="2102" />
+ <tetrahedron index="4319" v0="1209" v1="1724" v2="2102" v3="2824" />
+ <tetrahedron index="4320" v0="635" v1="767" v2="1175" v3="2250" />
+ <tetrahedron index="4321" v0="767" v1="1175" v2="2250" v3="2382" />
+ <tetrahedron index="4322" v0="1175" v1="2250" v2="2382" v3="2790" />
+ <tetrahedron index="4323" v0="419" v1="635" v2="1175" v3="2034" />
+ <tetrahedron index="4324" v0="635" v1="1175" v2="2034" v3="2250" />
+ <tetrahedron index="4325" v0="1175" v1="2034" v2="2250" v3="2790" />
+ <tetrahedron index="4326" v0="1108" v1="1166" v2="1170" v3="2723" />
+ <tetrahedron index="4327" v0="1166" v1="1170" v2="2723" v3="2781" />
+ <tetrahedron index="4328" v0="1170" v1="2723" v2="2781" v3="2785" />
+ <tetrahedron index="4329" v0="548" v1="1166" v2="1170" v3="2163" />
+ <tetrahedron index="4330" v0="1166" v1="1170" v2="2163" v3="2781" />
+ <tetrahedron index="4331" v0="1170" v1="2163" v2="2781" v3="2785" />
+ <tetrahedron index="4332" v0="1013" v1="1014" v2="1123" v3="2628" />
+ <tetrahedron index="4333" v0="1014" v1="1123" v2="2628" v3="2629" />
+ <tetrahedron index="4334" v0="1123" v1="2628" v2="2629" v3="2738" />
+ <tetrahedron index="4335" v0="269" v1="976" v2="1125" v3="1884" />
+ <tetrahedron index="4336" v0="976" v1="1125" v2="1884" v3="2591" />
+ <tetrahedron index="4337" v0="1125" v1="1884" v2="2591" v3="2740" />
+ <tetrahedron index="4338" v0="976" v1="1052" v2="1125" v3="2591" />
+ <tetrahedron index="4339" v0="1052" v1="1125" v2="2591" v3="2667" />
+ <tetrahedron index="4340" v0="1125" v1="2591" v2="2667" v3="2740" />
+ <tetrahedron index="4341" v0="447" v1="972" v2="1122" v3="2062" />
+ <tetrahedron index="4342" v0="972" v1="1122" v2="2062" v3="2587" />
+ <tetrahedron index="4343" v0="1122" v1="2062" v2="2587" v3="2737" />
+ <tetrahedron index="4344" v0="583" v1="972" v2="1122" v3="2198" />
+ <tetrahedron index="4345" v0="972" v1="1122" v2="2198" v3="2587" />
+ <tetrahedron index="4346" v0="1122" v1="2198" v2="2587" v3="2737" />
+ <tetrahedron index="4347" v0="113" v1="499" v2="977" v3="1728" />
+ <tetrahedron index="4348" v0="499" v1="977" v2="1728" v3="2114" />
+ <tetrahedron index="4349" v0="977" v1="1728" v2="2114" v3="2592" />
+ <tetrahedron index="4350" v0="499" v1="749" v2="977" v3="2114" />
+ <tetrahedron index="4351" v0="749" v1="977" v2="2114" v3="2364" />
+ <tetrahedron index="4352" v0="977" v1="2114" v2="2364" v3="2592" />
+ <tetrahedron index="4353" v0="1014" v1="1019" v2="1123" v3="2629" />
+ <tetrahedron index="4354" v0="1019" v1="1123" v2="2629" v3="2634" />
+ <tetrahedron index="4355" v0="1123" v1="2629" v2="2634" v3="2738" />
+ <tetrahedron index="4356" v0="1019" v1="1075" v2="1123" v3="2634" />
+ <tetrahedron index="4357" v0="1075" v1="1123" v2="2634" v3="2690" />
+ <tetrahedron index="4358" v0="1123" v1="2634" v2="2690" v3="2738" />
+ <tetrahedron index="4359" v0="804" v1="1048" v2="1194" v3="2419" />
+ <tetrahedron index="4360" v0="1048" v1="1194" v2="2419" v3="2663" />
+ <tetrahedron index="4361" v0="1194" v1="2419" v2="2663" v3="2809" />
+ <tetrahedron index="4362" v0="1048" v1="1049" v2="1194" v3="2663" />
+ <tetrahedron index="4363" v0="1049" v1="1194" v2="2663" v3="2664" />
+ <tetrahedron index="4364" v0="1194" v1="2663" v2="2664" v3="2809" />
+ <tetrahedron index="4365" v0="1174" v1="1210" v2="1211" v3="2789" />
+ <tetrahedron index="4366" v0="1210" v1="1211" v2="2789" v3="2825" />
+ <tetrahedron index="4367" v0="1211" v1="2789" v2="2825" v3="2826" />
+ <tetrahedron index="4368" v0="370" v1="372" v2="1212" v3="1985" />
+ <tetrahedron index="4369" v0="372" v1="1212" v2="1985" v3="1987" />
+ <tetrahedron index="4370" v0="1212" v1="1985" v2="1987" v3="2827" />
+ <tetrahedron index="4371" v0="953" v1="1015" v2="1126" v3="2568" />
+ <tetrahedron index="4372" v0="1015" v1="1126" v2="2568" v3="2630" />
+ <tetrahedron index="4373" v0="1126" v1="2568" v2="2630" v3="2741" />
+ <tetrahedron index="4374" v0="953" v1="982" v2="1126" v3="2568" />
+ <tetrahedron index="4375" v0="982" v1="1126" v2="2568" v3="2597" />
+ <tetrahedron index="4376" v0="1126" v1="2568" v2="2597" v3="2741" />
+ <tetrahedron index="4377" v0="826" v1="920" v2="1193" v3="2441" />
+ <tetrahedron index="4378" v0="920" v1="1193" v2="2441" v3="2535" />
+ <tetrahedron index="4379" v0="1193" v1="2441" v2="2535" v3="2808" />
+ <tetrahedron index="4380" v0="777" v1="1078" v2="1213" v3="2392" />
+ <tetrahedron index="4381" v0="1078" v1="1213" v2="2392" v3="2693" />
+ <tetrahedron index="4382" v0="1213" v1="2392" v2="2693" v3="2828" />
+ <tetrahedron index="4383" v0="813" v1="950" v2="1214" v3="2428" />
+ <tetrahedron index="4384" v0="950" v1="1214" v2="2428" v3="2565" />
+ <tetrahedron index="4385" v0="1214" v1="2428" v2="2565" v3="2829" />
+ <tetrahedron index="4386" v0="477" v1="857" v2="1215" v3="2092" />
+ <tetrahedron index="4387" v0="857" v1="1215" v2="2092" v3="2472" />
+ <tetrahedron index="4388" v0="1215" v1="2092" v2="2472" v3="2830" />
+ <tetrahedron index="4389" v0="857" v1="998" v2="1077" v3="2472" />
+ <tetrahedron index="4390" v0="998" v1="1077" v2="2472" v3="2613" />
+ <tetrahedron index="4391" v0="1077" v1="2472" v2="2613" v3="2692" />
+ <tetrahedron index="4392" v0="477" v1="857" v2="998" v3="2092" />
+ <tetrahedron index="4393" v0="857" v1="998" v2="2092" v3="2472" />
+ <tetrahedron index="4394" v0="998" v1="2092" v2="2472" v3="2613" />
+ <tetrahedron index="4395" v0="1154" v1="1216" v2="1217" v3="2769" />
+ <tetrahedron index="4396" v0="1216" v1="1217" v2="2769" v3="2831" />
+ <tetrahedron index="4397" v0="1217" v1="2769" v2="2831" v3="2832" />
+ <tetrahedron index="4398" v0="809" v1="1160" v2="1166" v3="2424" />
+ <tetrahedron index="4399" v0="1160" v1="1166" v2="2424" v3="2775" />
+ <tetrahedron index="4400" v0="1166" v1="2424" v2="2775" v3="2781" />
+ <tetrahedron index="4401" v0="253" v1="675" v2="744" v3="1868" />
+ <tetrahedron index="4402" v0="675" v1="744" v2="1868" v3="2290" />
+ <tetrahedron index="4403" v0="744" v1="1868" v2="2290" v3="2359" />
+ <tetrahedron index="4404" v0="253" v1="744" v2="1071" v3="1868" />
+ <tetrahedron index="4405" v0="744" v1="1071" v2="1868" v3="2359" />
+ <tetrahedron index="4406" v0="1071" v1="1868" v2="2359" v3="2686" />
+ <tetrahedron index="4407" v0="1050" v1="1057" v2="1202" v3="2665" />
+ <tetrahedron index="4408" v0="1057" v1="1202" v2="2665" v3="2672" />
+ <tetrahedron index="4409" v0="1202" v1="2665" v2="2672" v3="2817" />
+ <tetrahedron index="4410" v0="1057" v1="1202" v2="1207" v3="2672" />
+ <tetrahedron index="4411" v0="1202" v1="1207" v2="2672" v3="2817" />
+ <tetrahedron index="4412" v0="1207" v1="2672" v2="2817" v3="2822" />
+ <tetrahedron index="4413" v0="1101" v1="1114" v2="1115" v3="2716" />
+ <tetrahedron index="4414" v0="1114" v1="1115" v2="2716" v3="2729" />
+ <tetrahedron index="4415" v0="1115" v1="2716" v2="2729" v3="2730" />
+ <tetrahedron index="4416" v0="1002" v1="1101" v2="1114" v3="2617" />
+ <tetrahedron index="4417" v0="1101" v1="1114" v2="2617" v3="2716" />
+ <tetrahedron index="4418" v0="1114" v1="2617" v2="2716" v3="2729" />
+ <tetrahedron index="4419" v0="1121" v1="1129" v2="1130" v3="2736" />
+ <tetrahedron index="4420" v0="1129" v1="1130" v2="2736" v3="2744" />
+ <tetrahedron index="4421" v0="1130" v1="2736" v2="2744" v3="2745" />
+ <tetrahedron index="4422" v0="1067" v1="1121" v2="1129" v3="2682" />
+ <tetrahedron index="4423" v0="1121" v1="1129" v2="2682" v3="2736" />
+ <tetrahedron index="4424" v0="1129" v1="2682" v2="2736" v3="2744" />
+ <tetrahedron index="4425" v0="186" v1="854" v2="1004" v3="1801" />
+ <tetrahedron index="4426" v0="854" v1="1004" v2="1801" v3="2469" />
+ <tetrahedron index="4427" v0="1004" v1="1801" v2="2469" v3="2619" />
+ <tetrahedron index="4428" v0="611" v1="784" v2="1161" v3="2226" />
+ <tetrahedron index="4429" v0="784" v1="1161" v2="2226" v3="2399" />
+ <tetrahedron index="4430" v0="1161" v1="2226" v2="2399" v3="2776" />
+ <tetrahedron index="4431" v0="512" v1="867" v2="1218" v3="2127" />
+ <tetrahedron index="4432" v0="867" v1="1218" v2="2127" v3="2482" />
+ <tetrahedron index="4433" v0="1218" v1="2127" v2="2482" v3="2833" />
+ <tetrahedron index="4434" v0="743" v1="744" v2="1055" v3="2358" />
+ <tetrahedron index="4435" v0="744" v1="1055" v2="2358" v3="2359" />
+ <tetrahedron index="4436" v0="1055" v1="2358" v2="2359" v3="2670" />
+ <tetrahedron index="4437" v0="675" v1="744" v2="1055" v3="2290" />
+ <tetrahedron index="4438" v0="744" v1="1055" v2="2290" v3="2359" />
+ <tetrahedron index="4439" v0="1055" v1="2290" v2="2359" v3="2670" />
+ <tetrahedron index="4440" v0="89" v1="1119" v2="1159" v3="1704" />
+ <tetrahedron index="4441" v0="1119" v1="1159" v2="1704" v3="2734" />
+ <tetrahedron index="4442" v0="1159" v1="1704" v2="2734" v3="2774" />
+ <tetrahedron index="4443" v0="1117" v1="1119" v2="1159" v3="2732" />
+ <tetrahedron index="4444" v0="1119" v1="1159" v2="2732" v3="2734" />
+ <tetrahedron index="4445" v0="1159" v1="2732" v2="2734" v3="2774" />
+ <tetrahedron index="4446" v0="610" v1="784" v2="1219" v3="2225" />
+ <tetrahedron index="4447" v0="784" v1="1219" v2="2225" v3="2399" />
+ <tetrahedron index="4448" v0="1219" v1="2225" v2="2399" v3="2834" />
+ <tetrahedron index="4449" v0="39" v1="568" v2="572" v3="1654" />
+ <tetrahedron index="4450" v0="568" v1="572" v2="1654" v3="2183" />
+ <tetrahedron index="4451" v0="572" v1="1654" v2="2183" v3="2187" />
+ <tetrahedron index="4452" v0="6" v1="390" v2="987" v3="1621" />
+ <tetrahedron index="4453" v0="390" v1="987" v2="1621" v3="2005" />
+ <tetrahedron index="4454" v0="987" v1="1621" v2="2005" v3="2602" />
+ <tetrahedron index="4455" v0="202" v1="203" v2="634" v3="1817" />
+ <tetrahedron index="4456" v0="203" v1="634" v2="1817" v3="1818" />
+ <tetrahedron index="4457" v0="634" v1="1817" v2="1818" v3="2249" />
+ <tetrahedron index="4458" v0="876" v1="955" v2="1220" v3="2491" />
+ <tetrahedron index="4459" v0="955" v1="1220" v2="2491" v3="2570" />
+ <tetrahedron index="4460" v0="1220" v1="2491" v2="2570" v3="2835" />
+ <tetrahedron index="4461" v0="621" v1="622" v2="1128" v3="2236" />
+ <tetrahedron index="4462" v0="622" v1="1128" v2="2236" v3="2237" />
+ <tetrahedron index="4463" v0="1128" v1="2236" v2="2237" v3="2743" />
+ <tetrahedron index="4464" v0="436" v1="437" v2="1221" v3="2051" />
+ <tetrahedron index="4465" v0="437" v1="1221" v2="2051" v3="2052" />
+ <tetrahedron index="4466" v0="1221" v1="2051" v2="2052" v3="2836" />
+ <tetrahedron index="4467" v0="653" v1="673" v2="755" v3="2268" />
+ <tetrahedron index="4468" v0="673" v1="755" v2="2268" v3="2288" />
+ <tetrahedron index="4469" v0="755" v1="2268" v2="2288" v3="2370" />
+ <tetrahedron index="4470" v0="935" v1="1222" v2="1223" v3="2550" />
+ <tetrahedron index="4471" v0="1222" v1="1223" v2="2550" v3="2837" />
+ <tetrahedron index="4472" v0="1223" v1="2550" v2="2837" v3="2838" />
+ <tetrahedron index="4473" v0="197" v1="198" v2="1211" v3="1812" />
+ <tetrahedron index="4474" v0="198" v1="1211" v2="1812" v3="1813" />
+ <tetrahedron index="4475" v0="1211" v1="1812" v2="1813" v3="2826" />
+ <tetrahedron index="4476" v0="477" v1="1215" v2="1224" v3="2092" />
+ <tetrahedron index="4477" v0="1215" v1="1224" v2="2092" v3="2830" />
+ <tetrahedron index="4478" v0="1224" v1="2092" v2="2830" v3="2839" />
+ <tetrahedron index="4479" v0="1154" v1="1216" v2="1225" v3="2769" />
+ <tetrahedron index="4480" v0="1216" v1="1225" v2="2769" v3="2831" />
+ <tetrahedron index="4481" v0="1225" v1="2769" v2="2831" v3="2840" />
+ <tetrahedron index="4482" v0="653" v1="673" v2="1226" v3="2268" />
+ <tetrahedron index="4483" v0="673" v1="1226" v2="2268" v3="2288" />
+ <tetrahedron index="4484" v0="1226" v1="2268" v2="2288" v3="2841" />
+ <tetrahedron index="4485" v0="405" v1="1208" v2="1227" v3="2020" />
+ <tetrahedron index="4486" v0="1208" v1="1227" v2="2020" v3="2823" />
+ <tetrahedron index="4487" v0="1227" v1="2020" v2="2823" v3="2842" />
+ <tetrahedron index="4488" v0="371" v1="1228" v2="1229" v3="1986" />
+ <tetrahedron index="4489" v0="1228" v1="1229" v2="1986" v3="2843" />
+ <tetrahedron index="4490" v0="1229" v1="1986" v2="2843" v3="2844" />
+ <tetrahedron index="4491" v0="186" v1="854" v2="1230" v3="1801" />
+ <tetrahedron index="4492" v0="854" v1="1230" v2="1801" v3="2469" />
+ <tetrahedron index="4493" v0="1230" v1="1801" v2="2469" v3="2845" />
+ <tetrahedron index="4494" v0="405" v1="741" v2="1227" v3="2020" />
+ <tetrahedron index="4495" v0="741" v1="1227" v2="2020" v3="2356" />
+ <tetrahedron index="4496" v0="1227" v1="2020" v2="2356" v3="2842" />
+ <tetrahedron index="4497" v0="1231" v1="1232" v2="1233" v3="2846" />
+ <tetrahedron index="4498" v0="1232" v1="1233" v2="2846" v3="2847" />
+ <tetrahedron index="4499" v0="1233" v1="2846" v2="2847" v3="2848" />
+ <tetrahedron index="4500" v0="9" v1="480" v2="654" v3="1624" />
+ <tetrahedron index="4501" v0="480" v1="654" v2="1624" v3="2095" />
+ <tetrahedron index="4502" v0="654" v1="1624" v2="2095" v3="2269" />
+ <tetrahedron index="4503" v0="321" v1="984" v2="1234" v3="1936" />
+ <tetrahedron index="4504" v0="984" v1="1234" v2="1936" v3="2599" />
+ <tetrahedron index="4505" v0="1234" v1="1936" v2="2599" v3="2849" />
+ <tetrahedron index="4506" v0="688" v1="984" v2="1234" v3="2303" />
+ <tetrahedron index="4507" v0="984" v1="1234" v2="2303" v3="2599" />
+ <tetrahedron index="4508" v0="1234" v1="2303" v2="2599" v3="2849" />
+ <tetrahedron index="4509" v0="688" v1="1234" v2="1235" v3="2303" />
+ <tetrahedron index="4510" v0="1234" v1="1235" v2="2303" v3="2849" />
+ <tetrahedron index="4511" v0="1235" v1="2303" v2="2849" v3="2850" />
+ <tetrahedron index="4512" v0="610" v1="1219" v2="1236" v3="2225" />
+ <tetrahedron index="4513" v0="1219" v1="1236" v2="2225" v3="2834" />
+ <tetrahedron index="4514" v0="1236" v1="2225" v2="2834" v3="2851" />
+ <tetrahedron index="4515" v0="1214" v1="1237" v2="1238" v3="2829" />
+ <tetrahedron index="4516" v0="1237" v1="1238" v2="2829" v3="2852" />
+ <tetrahedron index="4517" v0="1238" v1="2829" v2="2852" v3="2853" />
+ <tetrahedron index="4518" v0="421" v1="422" v2="1197" v3="2036" />
+ <tetrahedron index="4519" v0="422" v1="1197" v2="2036" v3="2037" />
+ <tetrahedron index="4520" v0="1197" v1="2036" v2="2037" v3="2812" />
+ <tetrahedron index="4521" v0="422" v1="1196" v2="1197" v3="2037" />
+ <tetrahedron index="4522" v0="1196" v1="1197" v2="2037" v3="2811" />
+ <tetrahedron index="4523" v0="1197" v1="2037" v2="2811" v3="2812" />
+ <tetrahedron index="4524" v0="39" v1="149" v2="568" v3="1654" />
+ <tetrahedron index="4525" v0="149" v1="568" v2="1654" v3="1764" />
+ <tetrahedron index="4526" v0="568" v1="1654" v2="1764" v3="2183" />
+ <tetrahedron index="4527" v0="38" v1="39" v2="149" v3="1653" />
+ <tetrahedron index="4528" v0="39" v1="149" v2="1653" v3="1654" />
+ <tetrahedron index="4529" v0="149" v1="1653" v2="1654" v3="1764" />
+ <tetrahedron index="4530" v0="794" v1="1092" v2="1239" v3="2409" />
+ <tetrahedron index="4531" v0="1092" v1="1239" v2="2409" v3="2707" />
+ <tetrahedron index="4532" v0="1239" v1="2409" v2="2707" v3="2854" />
+ <tetrahedron index="4533" v0="167" v1="169" v2="785" v3="1782" />
+ <tetrahedron index="4534" v0="169" v1="785" v2="1782" v3="1784" />
+ <tetrahedron index="4535" v0="785" v1="1782" v2="1784" v3="2400" />
+ <tetrahedron index="4536" v0="169" v1="740" v2="785" v3="1784" />
+ <tetrahedron index="4537" v0="740" v1="785" v2="1784" v3="2355" />
+ <tetrahedron index="4538" v0="785" v1="1784" v2="2355" v3="2400" />
+ <tetrahedron index="4539" v0="435" v1="522" v2="875" v3="2050" />
+ <tetrahedron index="4540" v0="522" v1="875" v2="2050" v3="2137" />
+ <tetrahedron index="4541" v0="875" v1="2050" v2="2137" v3="2490" />
+ <tetrahedron index="4542" v0="1240" v1="1241" v2="1242" v3="2855" />
+ <tetrahedron index="4543" v0="1241" v1="1242" v2="2855" v3="2856" />
+ <tetrahedron index="4544" v0="1242" v1="2855" v2="2856" v3="2857" />
+ <tetrahedron index="4545" v0="465" v1="466" v2="598" v3="2080" />
+ <tetrahedron index="4546" v0="466" v1="598" v2="2080" v3="2081" />
+ <tetrahedron index="4547" v0="598" v1="2080" v2="2081" v3="2213" />
+ <tetrahedron index="4548" v0="465" v1="598" v2="678" v3="2080" />
+ <tetrahedron index="4549" v0="598" v1="678" v2="2080" v3="2213" />
+ <tetrahedron index="4550" v0="678" v1="2080" v2="2213" v3="2293" />
+ <tetrahedron index="4551" v0="541" v1="542" v2="1243" v3="2156" />
+ <tetrahedron index="4552" v0="542" v1="1243" v2="2156" v3="2157" />
+ <tetrahedron index="4553" v0="1243" v1="2156" v2="2157" v3="2858" />
+ <tetrahedron index="4554" v0="928" v1="929" v2="1140" v3="2543" />
+ <tetrahedron index="4555" v0="929" v1="1140" v2="2543" v3="2544" />
+ <tetrahedron index="4556" v0="1140" v1="2543" v2="2544" v3="2755" />
+ <tetrahedron index="4557" v0="928" v1="942" v2="1140" v3="2543" />
+ <tetrahedron index="4558" v0="942" v1="1140" v2="2543" v3="2557" />
+ <tetrahedron index="4559" v0="1140" v1="2543" v2="2557" v3="2755" />
+ <tetrahedron index="4560" v0="459" v1="460" v2="1244" v3="2074" />
+ <tetrahedron index="4561" v0="460" v1="1244" v2="2074" v3="2075" />
+ <tetrahedron index="4562" v0="1244" v1="2074" v2="2075" v3="2859" />
+ <tetrahedron index="4563" v0="459" v1="1196" v2="1244" v3="2074" />
+ <tetrahedron index="4564" v0="1196" v1="1244" v2="2074" v3="2811" />
+ <tetrahedron index="4565" v0="1244" v1="2074" v2="2811" v3="2859" />
+ <tetrahedron index="4566" v0="1245" v1="1246" v2="1247" v3="2860" />
+ <tetrahedron index="4567" v0="1246" v1="1247" v2="2860" v3="2861" />
+ <tetrahedron index="4568" v0="1247" v1="2860" v2="2861" v3="2862" />
+ <tetrahedron index="4569" v0="725" v1="918" v2="1185" v3="2340" />
+ <tetrahedron index="4570" v0="918" v1="1185" v2="2340" v3="2533" />
+ <tetrahedron index="4571" v0="1185" v1="2340" v2="2533" v3="2800" />
+ <tetrahedron index="4572" v0="34" v1="272" v2="323" v3="1649" />
+ <tetrahedron index="4573" v0="272" v1="323" v2="1649" v3="1887" />
+ <tetrahedron index="4574" v0="323" v1="1649" v2="1887" v3="1938" />
+ <tetrahedron index="4575" v0="479" v1="505" v2="1000" v3="2094" />
+ <tetrahedron index="4576" v0="505" v1="1000" v2="2094" v3="2120" />
+ <tetrahedron index="4577" v0="1000" v1="2094" v2="2120" v3="2615" />
+ <tetrahedron index="4578" v0="1248" v1="1249" v2="1250" v3="2863" />
+ <tetrahedron index="4579" v0="1249" v1="1250" v2="2863" v3="2864" />
+ <tetrahedron index="4580" v0="1250" v1="2863" v2="2864" v3="2865" />
+ <tetrahedron index="4581" v0="205" v1="1089" v2="1198" v3="1820" />
+ <tetrahedron index="4582" v0="1089" v1="1198" v2="1820" v3="2704" />
+ <tetrahedron index="4583" v0="1198" v1="1820" v2="2704" v3="2813" />
+ <tetrahedron index="4584" v0="518" v1="535" v2="733" v3="2133" />
+ <tetrahedron index="4585" v0="535" v1="733" v2="2133" v3="2150" />
+ <tetrahedron index="4586" v0="733" v1="2133" v2="2150" v3="2348" />
+ <tetrahedron index="4587" v0="23" v1="535" v2="733" v3="1638" />
+ <tetrahedron index="4588" v0="535" v1="733" v2="1638" v3="2150" />
+ <tetrahedron index="4589" v0="733" v1="1638" v2="2150" v3="2348" />
+ <tetrahedron index="4590" v0="794" v1="1092" v2="1205" v3="2409" />
+ <tetrahedron index="4591" v0="1092" v1="1205" v2="2409" v3="2707" />
+ <tetrahedron index="4592" v0="1205" v1="2409" v2="2707" v3="2820" />
+ <tetrahedron index="4593" v0="973" v1="1092" v2="1205" v3="2588" />
+ <tetrahedron index="4594" v0="1092" v1="1205" v2="2588" v3="2707" />
+ <tetrahedron index="4595" v0="1205" v1="2588" v2="2707" v3="2820" />
+ <tetrahedron index="4596" v0="996" v1="1251" v2="1252" v3="2611" />
+ <tetrahedron index="4597" v0="1251" v1="1252" v2="2611" v3="2866" />
+ <tetrahedron index="4598" v0="1252" v1="2611" v2="2866" v3="2867" />
+ <tetrahedron index="4599" v0="576" v1="911" v2="1137" v3="2191" />
+ <tetrahedron index="4600" v0="911" v1="1137" v2="2191" v3="2526" />
+ <tetrahedron index="4601" v0="1137" v1="2191" v2="2526" v3="2752" />
+ <tetrahedron index="4602" v0="911" v1="1024" v2="1137" v3="2526" />
+ <tetrahedron index="4603" v0="1024" v1="1137" v2="2526" v3="2639" />
+ <tetrahedron index="4604" v0="1137" v1="2526" v2="2639" v3="2752" />
+ <tetrahedron index="4605" v0="382" v1="576" v2="915" v3="1997" />
+ <tetrahedron index="4606" v0="576" v1="915" v2="1997" v3="2191" />
+ <tetrahedron index="4607" v0="915" v1="1997" v2="2191" v3="2530" />
+ <tetrahedron index="4608" v0="382" v1="575" v2="576" v3="1997" />
+ <tetrahedron index="4609" v0="575" v1="576" v2="1997" v3="2190" />
+ <tetrahedron index="4610" v0="576" v1="1997" v2="2190" v3="2191" />
+ <tetrahedron index="4611" v0="441" v1="1130" v2="1253" v3="2056" />
+ <tetrahedron index="4612" v0="1130" v1="1253" v2="2056" v3="2745" />
+ <tetrahedron index="4613" v0="1253" v1="2056" v2="2745" v3="2868" />
+ <tetrahedron index="4614" v0="999" v1="1006" v2="1254" v3="2614" />
+ <tetrahedron index="4615" v0="1006" v1="1254" v2="2614" v3="2621" />
+ <tetrahedron index="4616" v0="1254" v1="2614" v2="2621" v3="2869" />
+ <tetrahedron index="4617" v0="566" v1="999" v2="1254" v3="2181" />
+ <tetrahedron index="4618" v0="999" v1="1254" v2="2181" v3="2614" />
+ <tetrahedron index="4619" v0="1254" v1="2181" v2="2614" v3="2869" />
+ <tetrahedron index="4620" v0="471" v1="715" v2="1235" v3="2086" />
+ <tetrahedron index="4621" v0="715" v1="1235" v2="2086" v3="2330" />
+ <tetrahedron index="4622" v0="1235" v1="2086" v2="2330" v3="2850" />
+ <tetrahedron index="4623" v0="109" v1="1209" v2="1255" v3="1724" />
+ <tetrahedron index="4624" v0="1209" v1="1255" v2="1724" v3="2824" />
+ <tetrahedron index="4625" v0="1255" v1="1724" v2="2824" v3="2870" />
+ <tetrahedron index="4626" v0="0" v1="1209" v2="1255" v3="1615" />
+ <tetrahedron index="4627" v0="1209" v1="1255" v2="1615" v3="2824" />
+ <tetrahedron index="4628" v0="1255" v1="1615" v2="2824" v3="2870" />
+ <tetrahedron index="4629" v0="1036" v1="1038" v2="1256" v3="2651" />
+ <tetrahedron index="4630" v0="1038" v1="1256" v2="2651" v3="2653" />
+ <tetrahedron index="4631" v0="1256" v1="2651" v2="2653" v3="2871" />
+ <tetrahedron index="4632" v0="495" v1="496" v2="1257" v3="2110" />
+ <tetrahedron index="4633" v0="496" v1="1257" v2="2110" v3="2111" />
+ <tetrahedron index="4634" v0="1257" v1="2110" v2="2111" v3="2872" />
+ <tetrahedron index="4635" v0="1258" v1="1259" v2="1260" v3="2873" />
+ <tetrahedron index="4636" v0="1259" v1="1260" v2="2873" v3="2874" />
+ <tetrahedron index="4637" v0="1260" v1="2873" v2="2874" v3="2875" />
+ <tetrahedron index="4638" v0="57" v1="255" v2="1261" v3="1672" />
+ <tetrahedron index="4639" v0="255" v1="1261" v2="1672" v3="1870" />
+ <tetrahedron index="4640" v0="1261" v1="1672" v2="1870" v3="2876" />
+ <tetrahedron index="4641" v0="57" v1="1261" v2="1262" v3="1672" />
+ <tetrahedron index="4642" v0="1261" v1="1262" v2="1672" v3="2876" />
+ <tetrahedron index="4643" v0="1262" v1="1672" v2="2876" v3="2877" />
+ <tetrahedron index="4644" v0="1037" v1="1072" v2="1263" v3="2652" />
+ <tetrahedron index="4645" v0="1072" v1="1263" v2="2652" v3="2687" />
+ <tetrahedron index="4646" v0="1263" v1="2652" v2="2687" v3="2878" />
+ <tetrahedron index="4647" v0="426" v1="997" v2="1264" v3="2041" />
+ <tetrahedron index="4648" v0="997" v1="1264" v2="2041" v3="2612" />
+ <tetrahedron index="4649" v0="1264" v1="2041" v2="2612" v3="2879" />
+ <tetrahedron index="4650" v0="997" v1="1264" v2="1265" v3="2612" />
+ <tetrahedron index="4651" v0="1264" v1="1265" v2="2612" v3="2879" />
+ <tetrahedron index="4652" v0="1265" v1="2612" v2="2879" v3="2880" />
+ <tetrahedron index="4653" v0="621" v1="1128" v2="1266" v3="2236" />
+ <tetrahedron index="4654" v0="1128" v1="1266" v2="2236" v3="2743" />
+ <tetrahedron index="4655" v0="1266" v1="2236" v2="2743" v3="2881" />
+ <tetrahedron index="4656" v0="1148" v1="1149" v2="1267" v3="2763" />
+ <tetrahedron index="4657" v0="1149" v1="1267" v2="2763" v3="2764" />
+ <tetrahedron index="4658" v0="1267" v1="2763" v2="2764" v3="2882" />
+ <tetrahedron index="4659" v0="896" v1="1043" v2="1237" v3="2511" />
+ <tetrahedron index="4660" v0="1043" v1="1237" v2="2511" v3="2658" />
+ <tetrahedron index="4661" v0="1237" v1="2511" v2="2658" v3="2852" />
+ <tetrahedron index="4662" v0="199" v1="1268" v2="1269" v3="1814" />
+ <tetrahedron index="4663" v0="1268" v1="1269" v2="1814" v3="2883" />
+ <tetrahedron index="4664" v0="1269" v1="1814" v2="2883" v3="2884" />
+ <tetrahedron index="4665" v0="617" v1="1251" v2="1270" v3="2232" />
+ <tetrahedron index="4666" v0="1251" v1="1270" v2="2232" v3="2866" />
+ <tetrahedron index="4667" v0="1270" v1="2232" v2="2866" v3="2885" />
+ <tetrahedron index="4668" v0="1134" v1="1173" v2="1271" v3="2749" />
+ <tetrahedron index="4669" v0="1173" v1="1271" v2="2749" v3="2788" />
+ <tetrahedron index="4670" v0="1271" v1="2749" v2="2788" v3="2886" />
+ <tetrahedron index="4671" v0="22" v1="734" v2="1272" v3="1637" />
+ <tetrahedron index="4672" v0="734" v1="1272" v2="1637" v3="2349" />
+ <tetrahedron index="4673" v0="1272" v1="1637" v2="2349" v3="2887" />
+ <tetrahedron index="4674" v0="88" v1="1159" v2="1273" v3="1703" />
+ <tetrahedron index="4675" v0="1159" v1="1273" v2="1703" v3="2774" />
+ <tetrahedron index="4676" v0="1273" v1="1703" v2="2774" v3="2888" />
+ <tetrahedron index="4677" v0="676" v1="1151" v2="1274" v3="2291" />
+ <tetrahedron index="4678" v0="1151" v1="1274" v2="2291" v3="2766" />
+ <tetrahedron index="4679" v0="1274" v1="2291" v2="2766" v3="2889" />
+ <tetrahedron index="4680" v0="1151" v1="1200" v2="1274" v3="2766" />
+ <tetrahedron index="4681" v0="1200" v1="1274" v2="2766" v3="2815" />
+ <tetrahedron index="4682" v0="1274" v1="2766" v2="2815" v3="2889" />
+ <tetrahedron index="4683" v0="352" v1="859" v2="1275" v3="1967" />
+ <tetrahedron index="4684" v0="859" v1="1275" v2="1967" v3="2474" />
+ <tetrahedron index="4685" v0="1275" v1="1967" v2="2474" v3="2890" />
+ <tetrahedron index="4686" v0="263" v1="331" v2="1191" v3="1878" />
+ <tetrahedron index="4687" v0="331" v1="1191" v2="1878" v3="1946" />
+ <tetrahedron index="4688" v0="1191" v1="1878" v2="1946" v3="2806" />
+ <tetrahedron index="4689" v0="331" v1="450" v2="1191" v3="1946" />
+ <tetrahedron index="4690" v0="450" v1="1191" v2="1946" v3="2065" />
+ <tetrahedron index="4691" v0="1191" v1="1946" v2="2065" v3="2806" />
+ <tetrahedron index="4692" v0="950" v1="1214" v2="1276" v3="2565" />
+ <tetrahedron index="4693" v0="1214" v1="1276" v2="2565" v3="2829" />
+ <tetrahedron index="4694" v0="1276" v1="2565" v2="2829" v3="2891" />
+ <tetrahedron index="4695" v0="1090" v1="1143" v2="1277" v3="2705" />
+ <tetrahedron index="4696" v0="1143" v1="1277" v2="2705" v3="2758" />
+ <tetrahedron index="4697" v0="1277" v1="2705" v2="2758" v3="2892" />
+ <tetrahedron index="4698" v0="1020" v1="1143" v2="1277" v3="2635" />
+ <tetrahedron index="4699" v0="1143" v1="1277" v2="2635" v3="2758" />
+ <tetrahedron index="4700" v0="1277" v1="2635" v2="2758" v3="2892" />
+ <tetrahedron index="4701" v0="745" v1="1072" v2="1278" v3="2360" />
+ <tetrahedron index="4702" v0="1072" v1="1278" v2="2360" v3="2687" />
+ <tetrahedron index="4703" v0="1278" v1="2360" v2="2687" v3="2893" />
+ <tetrahedron index="4704" v0="27" v1="745" v2="1278" v3="1642" />
+ <tetrahedron index="4705" v0="745" v1="1278" v2="1642" v3="2360" />
+ <tetrahedron index="4706" v0="1278" v1="1642" v2="2360" v3="2893" />
+ <tetrahedron index="4707" v0="687" v1="1186" v2="1218" v3="2302" />
+ <tetrahedron index="4708" v0="1186" v1="1218" v2="2302" v3="2801" />
+ <tetrahedron index="4709" v0="1218" v1="2302" v2="2801" v3="2833" />
+ <tetrahedron index="4710" v0="109" v1="487" v2="1279" v3="1724" />
+ <tetrahedron index="4711" v0="487" v1="1279" v2="1724" v3="2102" />
+ <tetrahedron index="4712" v0="1279" v1="1724" v2="2102" v3="2894" />
+ <tetrahedron index="4713" v0="107" v1="109" v2="1279" v3="1722" />
+ <tetrahedron index="4714" v0="109" v1="1279" v2="1722" v3="1724" />
+ <tetrahedron index="4715" v0="1279" v1="1722" v2="1724" v3="2894" />
+ <tetrahedron index="4716" v0="459" v1="1196" v2="1280" v3="2074" />
+ <tetrahedron index="4717" v0="1196" v1="1280" v2="2074" v3="2811" />
+ <tetrahedron index="4718" v0="1280" v1="2074" v2="2811" v3="2895" />
+ <tetrahedron index="4719" v0="422" v1="1196" v2="1280" v3="2037" />
+ <tetrahedron index="4720" v0="1196" v1="1280" v2="2037" v3="2811" />
+ <tetrahedron index="4721" v0="1280" v1="2037" v2="2811" v3="2895" />
+ <tetrahedron index="4722" v0="589" v1="634" v2="1281" v3="2204" />
+ <tetrahedron index="4723" v0="634" v1="1281" v2="2204" v3="2249" />
+ <tetrahedron index="4724" v0="1281" v1="2204" v2="2249" v3="2896" />
+ <tetrahedron index="4725" v0="680" v1="694" v2="1228" v3="2295" />
+ <tetrahedron index="4726" v0="694" v1="1228" v2="2295" v3="2309" />
+ <tetrahedron index="4727" v0="1228" v1="2295" v2="2309" v3="2843" />
+ <tetrahedron index="4728" v0="517" v1="904" v2="1282" v3="2132" />
+ <tetrahedron index="4729" v0="904" v1="1282" v2="2132" v3="2519" />
+ <tetrahedron index="4730" v0="1282" v1="2132" v2="2519" v3="2897" />
+ <tetrahedron index="4731" v0="591" v1="654" v2="1231" v3="2206" />
+ <tetrahedron index="4732" v0="654" v1="1231" v2="2206" v3="2269" />
+ <tetrahedron index="4733" v0="1231" v1="2206" v2="2269" v3="2846" />
+ <tetrahedron index="4734" v0="342" v1="633" v2="1283" v3="1957" />
+ <tetrahedron index="4735" v0="633" v1="1283" v2="1957" v3="2248" />
+ <tetrahedron index="4736" v0="1283" v1="1957" v2="2248" v3="2898" />
+ <tetrahedron index="4737" v0="437" v1="1221" v2="1236" v3="2052" />
+ <tetrahedron index="4738" v0="1221" v1="1236" v2="2052" v3="2836" />
+ <tetrahedron index="4739" v0="1236" v1="2052" v2="2836" v3="2851" />
+ <tetrahedron index="4740" v0="851" v1="932" v2="1284" v3="2466" />
+ <tetrahedron index="4741" v0="932" v1="1284" v2="2466" v3="2547" />
+ <tetrahedron index="4742" v0="1284" v1="2466" v2="2547" v3="2899" />
+ <tetrahedron index="4743" v0="127" v1="694" v2="1285" v3="1742" />
+ <tetrahedron index="4744" v0="694" v1="1285" v2="1742" v3="2309" />
+ <tetrahedron index="4745" v0="1285" v1="1742" v2="2309" v3="2900" />
+ <tetrahedron index="4746" v0="173" v1="753" v2="1286" v3="1788" />
+ <tetrahedron index="4747" v0="753" v1="1286" v2="1788" v3="2368" />
+ <tetrahedron index="4748" v0="1286" v1="1788" v2="2368" v3="2901" />
+ <tetrahedron index="4749" v0="194" v1="195" v2="1287" v3="1809" />
+ <tetrahedron index="4750" v0="195" v1="1287" v2="1809" v3="1810" />
+ <tetrahedron index="4751" v0="1287" v1="1809" v2="1810" v3="2902" />
+ <tetrahedron index="4752" v0="162" v1="302" v2="1179" v3="1777" />
+ <tetrahedron index="4753" v0="302" v1="1179" v2="1777" v3="1917" />
+ <tetrahedron index="4754" v0="1179" v1="1777" v2="1917" v3="2794" />
+ <tetrahedron index="4755" v0="417" v1="418" v2="1288" v3="2032" />
+ <tetrahedron index="4756" v0="418" v1="1288" v2="2032" v3="2033" />
+ <tetrahedron index="4757" v0="1288" v1="2032" v2="2033" v3="2903" />
+ <tetrahedron index="4758" v0="205" v1="207" v2="1271" v3="1820" />
+ <tetrahedron index="4759" v0="207" v1="1271" v2="1820" v3="1822" />
+ <tetrahedron index="4760" v0="1271" v1="1820" v2="1822" v3="2886" />
+ <tetrahedron index="4761" v0="621" v1="1266" v2="1289" v3="2236" />
+ <tetrahedron index="4762" v0="1266" v1="1289" v2="2236" v3="2881" />
+ <tetrahedron index="4763" v0="1289" v1="2236" v2="2881" v3="2904" />
+ <tetrahedron index="4764" v0="374" v1="1222" v2="1290" v3="1989" />
+ <tetrahedron index="4765" v0="1222" v1="1290" v2="1989" v3="2837" />
+ <tetrahedron index="4766" v0="1290" v1="1989" v2="2837" v3="2905" />
+ <tetrahedron index="4767" v0="374" v1="375" v2="1290" v3="1989" />
+ <tetrahedron index="4768" v0="375" v1="1290" v2="1989" v3="1990" />
+ <tetrahedron index="4769" v0="1290" v1="1989" v2="1990" v3="2905" />
+ <tetrahedron index="4770" v0="734" v1="1259" v2="1272" v3="2349" />
+ <tetrahedron index="4771" v0="1259" v1="1272" v2="2349" v3="2874" />
+ <tetrahedron index="4772" v0="1272" v1="2349" v2="2874" v3="2887" />
+ <tetrahedron index="4773" v0="734" v1="1258" v2="1259" v3="2349" />
+ <tetrahedron index="4774" v0="1258" v1="1259" v2="2349" v3="2873" />
+ <tetrahedron index="4775" v0="1259" v1="2349" v2="2873" v3="2874" />
+ <tetrahedron index="4776" v0="417" v1="659" v2="1288" v3="2032" />
+ <tetrahedron index="4777" v0="659" v1="1288" v2="2032" v3="2274" />
+ <tetrahedron index="4778" v0="1288" v1="2032" v2="2274" v3="2903" />
+ <tetrahedron index="4779" v0="539" v1="751" v2="1267" v3="2154" />
+ <tetrahedron index="4780" v0="751" v1="1267" v2="2154" v3="2366" />
+ <tetrahedron index="4781" v0="1267" v1="2154" v2="2366" v3="2882" />
+ <tetrahedron index="4782" v0="539" v1="1148" v2="1267" v3="2154" />
+ <tetrahedron index="4783" v0="1148" v1="1267" v2="2154" v3="2763" />
+ <tetrahedron index="4784" v0="1267" v1="2154" v2="2763" v3="2882" />
+ <tetrahedron index="4785" v0="1006" v1="1254" v2="1291" v3="2621" />
+ <tetrahedron index="4786" v0="1254" v1="1291" v2="2621" v3="2869" />
+ <tetrahedron index="4787" v0="1291" v1="2621" v2="2869" v3="2906" />
+ <tetrahedron index="4788" v0="566" v1="567" v2="1254" v3="2181" />
+ <tetrahedron index="4789" v0="567" v1="1254" v2="2181" v3="2182" />
+ <tetrahedron index="4790" v0="1254" v1="2181" v2="2182" v3="2869" />
+ <tetrahedron index="4791" v0="471" v1="473" v2="1235" v3="2086" />
+ <tetrahedron index="4792" v0="473" v1="1235" v2="2086" v3="2088" />
+ <tetrahedron index="4793" v0="1235" v1="2086" v2="2088" v3="2850" />
+ <tetrahedron index="4794" v0="473" v1="1234" v2="1235" v3="2088" />
+ <tetrahedron index="4795" v0="1234" v1="1235" v2="2088" v3="2849" />
+ <tetrahedron index="4796" v0="1235" v1="2088" v2="2849" v3="2850" />
+ <tetrahedron index="4797" v0="108" v1="109" v2="1255" v3="1723" />
+ <tetrahedron index="4798" v0="109" v1="1255" v2="1723" v3="1724" />
+ <tetrahedron index="4799" v0="1255" v1="1723" v2="1724" v3="2870" />
+ <tetrahedron index="4800" v0="0" v1="110" v2="1255" v3="1615" />
+ <tetrahedron index="4801" v0="110" v1="1255" v2="1615" v3="1725" />
+ <tetrahedron index="4802" v0="1255" v1="1615" v2="1725" v3="2870" />
+ <tetrahedron index="4803" v0="438" v1="441" v2="772" v3="2053" />
+ <tetrahedron index="4804" v0="441" v1="772" v2="2053" v3="2056" />
+ <tetrahedron index="4805" v0="772" v1="2053" v2="2056" v3="2387" />
+ <tetrahedron index="4806" v0="441" v1="772" v2="1130" v3="2056" />
+ <tetrahedron index="4807" v0="772" v1="1130" v2="2056" v3="2387" />
+ <tetrahedron index="4808" v0="1130" v1="2056" v2="2387" v3="2745" />
+ <tetrahedron index="4809" v0="421" v1="423" v2="1292" v3="2036" />
+ <tetrahedron index="4810" v0="423" v1="1292" v2="2036" v3="2038" />
+ <tetrahedron index="4811" v0="1292" v1="2036" v2="2038" v3="2907" />
+ <tetrahedron index="4812" v0="423" v1="841" v2="1292" v3="2038" />
+ <tetrahedron index="4813" v0="841" v1="1292" v2="2038" v3="2456" />
+ <tetrahedron index="4814" v0="1292" v1="2038" v2="2456" v3="2907" />
+ <tetrahedron index="4815" v0="591" v1="769" v2="1231" v3="2206" />
+ <tetrahedron index="4816" v0="769" v1="1231" v2="2206" v3="2384" />
+ <tetrahedron index="4817" v0="1231" v1="2206" v2="2384" v3="2846" />
+ <tetrahedron index="4818" v0="769" v1="1231" v2="1233" v3="2384" />
+ <tetrahedron index="4819" v0="1231" v1="1233" v2="2384" v3="2846" />
+ <tetrahedron index="4820" v0="1233" v1="2384" v2="2846" v3="2848" />
+ <tetrahedron index="4821" v0="111" v1="529" v2="1279" v3="1726" />
+ <tetrahedron index="4822" v0="529" v1="1279" v2="1726" v3="2144" />
+ <tetrahedron index="4823" v0="1279" v1="1726" v2="2144" v3="2894" />
+ <tetrahedron index="4824" v0="111" v1="487" v2="1279" v3="1726" />
+ <tetrahedron index="4825" v0="487" v1="1279" v2="1726" v3="2102" />
+ <tetrahedron index="4826" v0="1279" v1="1726" v2="2102" v3="2894" />
+ <tetrahedron index="4827" v0="494" v1="608" v2="1180" v3="2109" />
+ <tetrahedron index="4828" v0="608" v1="1180" v2="2109" v3="2223" />
+ <tetrahedron index="4829" v0="1180" v1="2109" v2="2223" v3="2795" />
+ <tetrahedron index="4830" v0="255" v1="1261" v2="1293" v3="1870" />
+ <tetrahedron index="4831" v0="1261" v1="1293" v2="1870" v3="2876" />
+ <tetrahedron index="4832" v0="1293" v1="1870" v2="2876" v3="2908" />
+ <tetrahedron index="4833" v0="1261" v1="1293" v2="1294" v3="2876" />
+ <tetrahedron index="4834" v0="1293" v1="1294" v2="2876" v3="2908" />
+ <tetrahedron index="4835" v0="1294" v1="2876" v2="2908" v3="2909" />
+ <tetrahedron index="4836" v0="194" v1="820" v2="1287" v3="1809" />
+ <tetrahedron index="4837" v0="820" v1="1287" v2="1809" v3="2435" />
+ <tetrahedron index="4838" v0="1287" v1="1809" v2="2435" v3="2902" />
+ <tetrahedron index="4839" v0="426" v1="558" v2="1264" v3="2041" />
+ <tetrahedron index="4840" v0="558" v1="1264" v2="2041" v3="2173" />
+ <tetrahedron index="4841" v0="1264" v1="2041" v2="2173" v3="2879" />
+ <tetrahedron index="4842" v0="856" v1="906" v2="1201" v3="2471" />
+ <tetrahedron index="4843" v0="906" v1="1201" v2="2471" v3="2521" />
+ <tetrahedron index="4844" v0="1201" v1="2471" v2="2521" v3="2816" />
+ <tetrahedron index="4845" v0="856" v1="1077" v2="1201" v3="2471" />
+ <tetrahedron index="4846" v0="1077" v1="1201" v2="2471" v3="2692" />
+ <tetrahedron index="4847" v0="1201" v1="2471" v2="2692" v3="2816" />
+ <tetrahedron index="4848" v0="661" v1="1019" v2="1074" v3="2276" />
+ <tetrahedron index="4849" v0="1019" v1="1074" v2="2276" v3="2634" />
+ <tetrahedron index="4850" v0="1074" v1="2276" v2="2634" v3="2689" />
+ <tetrahedron index="4851" v0="661" v1="988" v2="1074" v3="2276" />
+ <tetrahedron index="4852" v0="988" v1="1074" v2="2276" v3="2603" />
+ <tetrahedron index="4853" v0="1074" v1="2276" v2="2603" v3="2689" />
+ <tetrahedron index="4854" v0="512" v1="1185" v2="1218" v3="2127" />
+ <tetrahedron index="4855" v0="1185" v1="1218" v2="2127" v3="2800" />
+ <tetrahedron index="4856" v0="1218" v1="2127" v2="2800" v3="2833" />
+ <tetrahedron index="4857" v0="1185" v1="1186" v2="1218" v3="2800" />
+ <tetrahedron index="4858" v0="1186" v1="1218" v2="2800" v3="2801" />
+ <tetrahedron index="4859" v0="1218" v1="2800" v2="2801" v3="2833" />
+ <tetrahedron index="4860" v0="1264" v1="1265" v2="1295" v3="2879" />
+ <tetrahedron index="4861" v0="1265" v1="1295" v2="2879" v3="2880" />
+ <tetrahedron index="4862" v0="1295" v1="2879" v2="2880" v3="2910" />
+ <tetrahedron index="4863" v0="331" v1="332" v2="451" v3="1946" />
+ <tetrahedron index="4864" v0="332" v1="451" v2="1946" v3="1947" />
+ <tetrahedron index="4865" v0="451" v1="1946" v2="1947" v3="2066" />
+ <tetrahedron index="4866" v0="332" v1="451" v2="1296" v3="1947" />
+ <tetrahedron index="4867" v0="451" v1="1296" v2="1947" v3="2066" />
+ <tetrahedron index="4868" v0="1296" v1="1947" v2="2066" v3="2911" />
+ <tetrahedron index="4869" v0="1094" v1="1095" v2="1297" v3="2709" />
+ <tetrahedron index="4870" v0="1095" v1="1297" v2="2709" v3="2710" />
+ <tetrahedron index="4871" v0="1297" v1="2709" v2="2710" v3="2912" />
+ <tetrahedron index="4872" v0="1063" v1="1298" v2="1299" v3="2678" />
+ <tetrahedron index="4873" v0="1298" v1="1299" v2="2678" v3="2913" />
+ <tetrahedron index="4874" v0="1299" v1="2678" v2="2913" v3="2914" />
+ <tetrahedron index="4875" v0="704" v1="937" v2="1191" v3="2319" />
+ <tetrahedron index="4876" v0="937" v1="1191" v2="2319" v3="2552" />
+ <tetrahedron index="4877" v0="1191" v1="2319" v2="2552" v3="2806" />
+ <tetrahedron index="4878" v0="263" v1="704" v2="1191" v3="1878" />
+ <tetrahedron index="4879" v0="704" v1="1191" v2="1878" v3="2319" />
+ <tetrahedron index="4880" v0="1191" v1="1878" v2="2319" v3="2806" />
+ <tetrahedron index="4881" v0="794" v1="795" v2="1239" v3="2409" />
+ <tetrahedron index="4882" v0="795" v1="1239" v2="2409" v3="2410" />
+ <tetrahedron index="4883" v0="1239" v1="2409" v2="2410" v3="2854" />
+ <tetrahedron index="4884" v0="795" v1="1103" v2="1239" v3="2410" />
+ <tetrahedron index="4885" v0="1103" v1="1239" v2="2410" v3="2718" />
+ <tetrahedron index="4886" v0="1239" v1="2410" v2="2718" v3="2854" />
+ <tetrahedron index="4887" v0="442" v1="1115" v2="1275" v3="2057" />
+ <tetrahedron index="4888" v0="1115" v1="1275" v2="2057" v3="2730" />
+ <tetrahedron index="4889" v0="1275" v1="2057" v2="2730" v3="2890" />
+ <tetrahedron index="4890" v0="352" v1="442" v2="1275" v3="1967" />
+ <tetrahedron index="4891" v0="442" v1="1275" v2="1967" v3="2057" />
+ <tetrahedron index="4892" v0="1275" v1="1967" v2="2057" v3="2890" />
+ <tetrahedron index="4893" v0="549" v1="1020" v2="1277" v3="2164" />
+ <tetrahedron index="4894" v0="1020" v1="1277" v2="2164" v3="2635" />
+ <tetrahedron index="4895" v0="1277" v1="2164" v2="2635" v3="2892" />
+ <tetrahedron index="4896" v0="549" v1="861" v2="1277" v3="2164" />
+ <tetrahedron index="4897" v0="861" v1="1277" v2="2164" v3="2476" />
+ <tetrahedron index="4898" v0="1277" v1="2164" v2="2476" v3="2892" />
+ <tetrahedron index="4899" v0="27" v1="150" v2="1278" v3="1642" />
+ <tetrahedron index="4900" v0="150" v1="1278" v2="1642" v3="1765" />
+ <tetrahedron index="4901" v0="1278" v1="1642" v2="1765" v3="2893" />
+ <tetrahedron index="4902" v0="574" v1="1188" v2="1300" v3="2189" />
+ <tetrahedron index="4903" v0="1188" v1="1300" v2="2189" v3="2803" />
+ <tetrahedron index="4904" v0="1300" v1="2189" v2="2803" v3="2915" />
+ <tetrahedron index="4905" v0="375" v1="1173" v2="1271" v3="1990" />
+ <tetrahedron index="4906" v0="1173" v1="1271" v2="1990" v3="2788" />
+ <tetrahedron index="4907" v0="1271" v1="1990" v2="2788" v3="2886" />
+ <tetrahedron index="4908" v0="207" v1="375" v2="1271" v3="1822" />
+ <tetrahedron index="4909" v0="375" v1="1271" v2="1822" v3="1990" />
+ <tetrahedron index="4910" v0="1271" v1="1822" v2="1990" v3="2886" />
+ <tetrahedron index="4911" v0="1228" v1="1229" v2="1301" v3="2843" />
+ <tetrahedron index="4912" v0="1229" v1="1301" v2="2843" v3="2844" />
+ <tetrahedron index="4913" v0="1301" v1="2843" v2="2844" v3="2916" />
+ <tetrahedron index="4914" v0="694" v1="1228" v2="1301" v3="2309" />
+ <tetrahedron index="4915" v0="1228" v1="1301" v2="2309" v3="2843" />
+ <tetrahedron index="4916" v0="1301" v1="2309" v2="2843" v3="2916" />
+ <tetrahedron index="4917" v0="1261" v1="1294" v2="1302" v3="2876" />
+ <tetrahedron index="4918" v0="1294" v1="1302" v2="2876" v3="2909" />
+ <tetrahedron index="4919" v0="1302" v1="2876" v2="2909" v3="2917" />
+ <tetrahedron index="4920" v0="1261" v1="1262" v2="1302" v3="2876" />
+ <tetrahedron index="4921" v0="1262" v1="1302" v2="2876" v3="2877" />
+ <tetrahedron index="4922" v0="1302" v1="2876" v2="2877" v3="2917" />
+ <tetrahedron index="4923" v0="934" v1="1171" v2="1290" v3="2549" />
+ <tetrahedron index="4924" v0="1171" v1="1290" v2="2549" v3="2786" />
+ <tetrahedron index="4925" v0="1290" v1="2549" v2="2786" v3="2905" />
+ <tetrahedron index="4926" v0="996" v1="1251" v2="1270" v3="2611" />
+ <tetrahedron index="4927" v0="1251" v1="1270" v2="2611" v3="2866" />
+ <tetrahedron index="4928" v0="1270" v1="2611" v2="2866" v3="2885" />
+ <tetrahedron index="4929" v0="633" v1="996" v2="1270" v3="2248" />
+ <tetrahedron index="4930" v0="996" v1="1270" v2="2248" v3="2611" />
+ <tetrahedron index="4931" v0="1270" v1="2248" v2="2611" v3="2885" />
+ <tetrahedron index="4932" v0="1216" v1="1217" v2="1240" v3="2831" />
+ <tetrahedron index="4933" v0="1217" v1="1240" v2="2831" v3="2832" />
+ <tetrahedron index="4934" v0="1240" v1="2831" v2="2832" v3="2855" />
+ <tetrahedron index="4935" v0="1217" v1="1240" v2="1241" v3="2832" />
+ <tetrahedron index="4936" v0="1240" v1="1241" v2="2832" v3="2855" />
+ <tetrahedron index="4937" v0="1241" v1="2832" v2="2855" v3="2856" />
+ <tetrahedron index="4938" v0="379" v1="1303" v2="1304" v3="1994" />
+ <tetrahedron index="4939" v0="1303" v1="1304" v2="1994" v3="2918" />
+ <tetrahedron index="4940" v0="1304" v1="1994" v2="2918" v3="2919" />
+ <tetrahedron index="4941" v0="1128" v1="1266" v2="1305" v3="2743" />
+ <tetrahedron index="4942" v0="1266" v1="1305" v2="2743" v3="2881" />
+ <tetrahedron index="4943" v0="1305" v1="2743" v2="2881" v3="2920" />
+ <tetrahedron index="4944" v0="1266" v1="1305" v2="1306" v3="2881" />
+ <tetrahedron index="4945" v0="1305" v1="1306" v2="2881" v3="2920" />
+ <tetrahedron index="4946" v0="1306" v1="2881" v2="2920" v3="2921" />
+ <tetrahedron index="4947" v0="229" v1="810" v2="837" v3="1844" />
+ <tetrahedron index="4948" v0="810" v1="837" v2="1844" v3="2425" />
+ <tetrahedron index="4949" v0="837" v1="1844" v2="2425" v3="2452" />
+ <tetrahedron index="4950" v0="673" v1="1069" v2="1285" v3="2288" />
+ <tetrahedron index="4951" v0="1069" v1="1285" v2="2288" v3="2684" />
+ <tetrahedron index="4952" v0="1285" v1="2288" v2="2684" v3="2900" />
+ <tetrahedron index="4953" v0="127" v1="673" v2="1285" v3="1742" />
+ <tetrahedron index="4954" v0="673" v1="1285" v2="1742" v3="2288" />
+ <tetrahedron index="4955" v0="1285" v1="1742" v2="2288" v3="2900" />
+ <tetrahedron index="4956" v0="676" v1="1091" v2="1274" v3="2291" />
+ <tetrahedron index="4957" v0="1091" v1="1274" v2="2291" v3="2706" />
+ <tetrahedron index="4958" v0="1274" v1="2291" v2="2706" v3="2889" />
+ <tetrahedron index="4959" v0="126" v1="1060" v2="1226" v3="1741" />
+ <tetrahedron index="4960" v0="1060" v1="1226" v2="1741" v3="2675" />
+ <tetrahedron index="4961" v0="1226" v1="1741" v2="2675" v3="2841" />
+ <tetrahedron index="4962" v0="126" v1="673" v2="1226" v3="1741" />
+ <tetrahedron index="4963" v0="673" v1="1226" v2="1741" v3="2288" />
+ <tetrahedron index="4964" v0="1226" v1="1741" v2="2288" v3="2841" />
+ <tetrahedron index="4965" v0="1153" v1="1154" v2="1217" v3="2768" />
+ <tetrahedron index="4966" v0="1154" v1="1217" v2="2768" v3="2769" />
+ <tetrahedron index="4967" v0="1217" v1="2768" v2="2769" v3="2832" />
+ <tetrahedron index="4968" v0="1072" v1="1263" v2="1278" v3="2687" />
+ <tetrahedron index="4969" v0="1263" v1="1278" v2="2687" v3="2878" />
+ <tetrahedron index="4970" v0="1278" v1="2687" v2="2878" v3="2893" />
+ <tetrahedron index="4971" v0="895" v1="1077" v2="1201" v3="2510" />
+ <tetrahedron index="4972" v0="1077" v1="1201" v2="2510" v3="2692" />
+ <tetrahedron index="4973" v0="1201" v1="2510" v2="2692" v3="2816" />
+ <tetrahedron index="4974" v0="895" v1="1200" v2="1201" v3="2510" />
+ <tetrahedron index="4975" v0="1200" v1="1201" v2="2510" v3="2815" />
+ <tetrahedron index="4976" v0="1201" v1="2510" v2="2815" v3="2816" />
+ <tetrahedron index="4977" v0="429" v1="706" v2="1307" v3="2044" />
+ <tetrahedron index="4978" v0="706" v1="1307" v2="2044" v3="2321" />
+ <tetrahedron index="4979" v0="1307" v1="2044" v2="2321" v3="2922" />
+ <tetrahedron index="4980" v0="429" v1="430" v2="1307" v3="2044" />
+ <tetrahedron index="4981" v0="430" v1="1307" v2="2044" v3="2045" />
+ <tetrahedron index="4982" v0="1307" v1="2044" v2="2045" v3="2922" />
+ <tetrahedron index="4983" v0="370" v1="680" v2="1228" v3="1985" />
+ <tetrahedron index="4984" v0="680" v1="1228" v2="1985" v3="2295" />
+ <tetrahedron index="4985" v0="1228" v1="1985" v2="2295" v3="2843" />
+ <tetrahedron index="4986" v0="370" v1="371" v2="1228" v3="1985" />
+ <tetrahedron index="4987" v0="371" v1="1228" v2="1985" v3="1986" />
+ <tetrahedron index="4988" v0="1228" v1="1985" v2="1986" v3="2843" />
+ <tetrahedron index="4989" v0="3" v1="459" v2="1280" v3="1618" />
+ <tetrahedron index="4990" v0="459" v1="1280" v2="1618" v3="2074" />
+ <tetrahedron index="4991" v0="1280" v1="1618" v2="2074" v3="2895" />
+ <tetrahedron index="4992" v0="3" v1="115" v2="1280" v3="1618" />
+ <tetrahedron index="4993" v0="115" v1="1280" v2="1618" v3="1730" />
+ <tetrahedron index="4994" v0="1280" v1="1618" v2="1730" v3="2895" />
+ <tetrahedron index="4995" v0="476" v1="890" v2="1224" v3="2091" />
+ <tetrahedron index="4996" v0="890" v1="1224" v2="2091" v3="2505" />
+ <tetrahedron index="4997" v0="1224" v1="2091" v2="2505" v3="2839" />
+ <tetrahedron index="4998" v0="476" v1="477" v2="1224" v3="2091" />
+ <tetrahedron index="4999" v0="477" v1="1224" v2="2091" v3="2092" />
+ <tetrahedron index="5000" v0="1224" v1="2091" v2="2092" v3="2839" />
+ <tetrahedron index="5001" v0="122" v1="653" v2="1226" v3="1737" />
+ <tetrahedron index="5002" v0="653" v1="1226" v2="1737" v3="2268" />
+ <tetrahedron index="5003" v0="1226" v1="1737" v2="2268" v3="2841" />
+ <tetrahedron index="5004" v0="122" v1="200" v2="1226" v3="1737" />
+ <tetrahedron index="5005" v0="200" v1="1226" v2="1737" v3="1815" />
+ <tetrahedron index="5006" v0="1226" v1="1737" v2="1815" v3="2841" />
+ <tetrahedron index="5007" v0="904" v1="1282" v2="1308" v3="2519" />
+ <tetrahedron index="5008" v0="1282" v1="1308" v2="2519" v3="2897" />
+ <tetrahedron index="5009" v0="1308" v1="2519" v2="2897" v3="2923" />
+ <tetrahedron index="5010" v0="1035" v1="1282" v2="1308" v3="2650" />
+ <tetrahedron index="5011" v0="1282" v1="1308" v2="2650" v3="2897" />
+ <tetrahedron index="5012" v0="1308" v1="2650" v2="2897" v3="2923" />
+ <tetrahedron index="5013" v0="42" v1="481" v2="1309" v3="1657" />
+ <tetrahedron index="5014" v0="481" v1="1309" v2="1657" v3="2096" />
+ <tetrahedron index="5015" v0="1309" v1="1657" v2="2096" v3="2924" />
+ <tetrahedron index="5016" v0="741" v1="1069" v2="1227" v3="2356" />
+ <tetrahedron index="5017" v0="1069" v1="1227" v2="2356" v3="2684" />
+ <tetrahedron index="5018" v0="1227" v1="2356" v2="2684" v3="2842" />
+ <tetrahedron index="5019" v0="1069" v1="1227" v2="1285" v3="2684" />
+ <tetrahedron index="5020" v0="1227" v1="1285" v2="2684" v3="2842" />
+ <tetrahedron index="5021" v0="1285" v1="2684" v2="2842" v3="2900" />
+ <tetrahedron index="5022" v0="766" v1="774" v2="1253" v3="2381" />
+ <tetrahedron index="5023" v0="774" v1="1253" v2="2381" v3="2389" />
+ <tetrahedron index="5024" v0="1253" v1="2381" v2="2389" v3="2868" />
+ <tetrahedron index="5025" v0="766" v1="1130" v2="1253" v3="2381" />
+ <tetrahedron index="5026" v0="1130" v1="1253" v2="2381" v3="2745" />
+ <tetrahedron index="5027" v0="1253" v1="2381" v2="2745" v3="2868" />
+ <tetrahedron index="5028" v0="9" v1="1231" v2="1232" v3="1624" />
+ <tetrahedron index="5029" v0="1231" v1="1232" v2="1624" v3="2846" />
+ <tetrahedron index="5030" v0="1232" v1="1624" v2="2846" v3="2847" />
+ <tetrahedron index="5031" v0="9" v1="654" v2="1231" v3="1624" />
+ <tetrahedron index="5032" v0="654" v1="1231" v2="1624" v3="2269" />
+ <tetrahedron index="5033" v0="1231" v1="1624" v2="2269" v3="2846" />
+ <tetrahedron index="5034" v0="748" v1="886" v2="1310" v3="2363" />
+ <tetrahedron index="5035" v0="886" v1="1310" v2="2363" v3="2501" />
+ <tetrahedron index="5036" v0="1310" v1="2363" v2="2501" v3="2925" />
+ <tetrahedron index="5037" v0="80" v1="342" v2="1283" v3="1695" />
+ <tetrahedron index="5038" v0="342" v1="1283" v2="1695" v3="1957" />
+ <tetrahedron index="5039" v0="1283" v1="1695" v2="1957" v3="2898" />
+ <tetrahedron index="5040" v0="79" v1="80" v2="1283" v3="1694" />
+ <tetrahedron index="5041" v0="80" v1="1283" v2="1694" v3="1695" />
+ <tetrahedron index="5042" v0="1283" v1="1694" v2="1695" v3="2898" />
+ <tetrahedron index="5043" v0="284" v1="715" v2="1235" v3="1899" />
+ <tetrahedron index="5044" v0="715" v1="1235" v2="1899" v3="2330" />
+ <tetrahedron index="5045" v0="1235" v1="1899" v2="2330" v3="2850" />
+ <tetrahedron index="5046" v0="284" v1="688" v2="1235" v3="1899" />
+ <tetrahedron index="5047" v0="688" v1="1235" v2="1899" v3="2303" />
+ <tetrahedron index="5048" v0="1235" v1="1899" v2="2303" v3="2850" />
+ <tetrahedron index="5049" v0="1074" v1="1311" v2="1312" v3="2689" />
+ <tetrahedron index="5050" v0="1311" v1="1312" v2="2689" v3="2926" />
+ <tetrahedron index="5051" v0="1312" v1="2689" v2="2926" v3="2927" />
+ <tetrahedron index="5052" v0="375" v1="1173" v2="1290" v3="1990" />
+ <tetrahedron index="5053" v0="1173" v1="1290" v2="1990" v3="2788" />
+ <tetrahedron index="5054" v0="1290" v1="1990" v2="2788" v3="2905" />
+ <tetrahedron index="5055" v0="1171" v1="1173" v2="1290" v3="2786" />
+ <tetrahedron index="5056" v0="1173" v1="1290" v2="2786" v3="2788" />
+ <tetrahedron index="5057" v0="1290" v1="2786" v2="2788" v3="2905" />
+ <tetrahedron index="5058" v0="200" v1="719" v2="1226" v3="1815" />
+ <tetrahedron index="5059" v0="719" v1="1226" v2="1815" v3="2334" />
+ <tetrahedron index="5060" v0="1226" v1="1815" v2="2334" v3="2841" />
+ <tetrahedron index="5061" v0="719" v1="1060" v2="1226" v3="2334" />
+ <tetrahedron index="5062" v0="1060" v1="1226" v2="2334" v3="2675" />
+ <tetrahedron index="5063" v0="1226" v1="2334" v2="2675" v3="2841" />
+ <tetrahedron index="5064" v0="774" v1="830" v2="1286" v3="2389" />
+ <tetrahedron index="5065" v0="830" v1="1286" v2="2389" v3="2445" />
+ <tetrahedron index="5066" v0="1286" v1="2389" v2="2445" v3="2901" />
+ <tetrahedron index="5067" v0="173" v1="830" v2="1286" v3="1788" />
+ <tetrahedron index="5068" v0="830" v1="1286" v2="1788" v3="2445" />
+ <tetrahedron index="5069" v0="1286" v1="1788" v2="2445" v3="2901" />
+ <tetrahedron index="5070" v0="866" v1="867" v2="1218" v3="2481" />
+ <tetrahedron index="5071" v0="867" v1="1218" v2="2481" v3="2482" />
+ <tetrahedron index="5072" v0="1218" v1="2481" v2="2482" v3="2833" />
+ <tetrahedron index="5073" v0="687" v1="866" v2="1218" v3="2302" />
+ <tetrahedron index="5074" v0="866" v1="1218" v2="2302" v3="2481" />
+ <tetrahedron index="5075" v0="1218" v1="2302" v2="2481" v3="2833" />
+ <tetrahedron index="5076" v0="1219" v1="1236" v2="1313" v3="2834" />
+ <tetrahedron index="5077" v0="1236" v1="1313" v2="2834" v3="2851" />
+ <tetrahedron index="5078" v0="1313" v1="2834" v2="2851" v3="2928" />
+ <tetrahedron index="5079" v0="1221" v1="1236" v2="1313" v3="2836" />
+ <tetrahedron index="5080" v0="1236" v1="1313" v2="2836" v3="2851" />
+ <tetrahedron index="5081" v0="1313" v1="2836" v2="2851" v3="2928" />
+ <tetrahedron index="5082" v0="1314" v1="1315" v2="1316" v3="2929" />
+ <tetrahedron index="5083" v0="1315" v1="1316" v2="2929" v3="2930" />
+ <tetrahedron index="5084" v0="1316" v1="2929" v2="2930" v3="2931" />
+ <tetrahedron index="5085" v0="954" v1="1316" v2="1317" v3="2569" />
+ <tetrahedron index="5086" v0="1316" v1="1317" v2="2569" v3="2931" />
+ <tetrahedron index="5087" v0="1317" v1="2569" v2="2931" v3="2932" />
+ <tetrahedron index="5088" v0="205" v1="1198" v2="1271" v3="1820" />
+ <tetrahedron index="5089" v0="1198" v1="1271" v2="1820" v3="2813" />
+ <tetrahedron index="5090" v0="1271" v1="1820" v2="2813" v3="2886" />
+ <tetrahedron index="5091" v0="437" v1="1142" v2="1236" v3="2052" />
+ <tetrahedron index="5092" v0="1142" v1="1236" v2="2052" v3="2757" />
+ <tetrahedron index="5093" v0="1236" v1="2052" v2="2757" v3="2851" />
+ <tetrahedron index="5094" v0="610" v1="1142" v2="1236" v3="2225" />
+ <tetrahedron index="5095" v0="1142" v1="1236" v2="2225" v3="2757" />
+ <tetrahedron index="5096" v0="1236" v1="2225" v2="2757" v3="2851" />
+ <tetrahedron index="5097" v0="430" v1="917" v2="1307" v3="2045" />
+ <tetrahedron index="5098" v0="917" v1="1307" v2="2045" v3="2532" />
+ <tetrahedron index="5099" v0="1307" v1="2045" v2="2532" v3="2922" />
+ <tetrahedron index="5100" v0="917" v1="1307" v2="1318" v3="2532" />
+ <tetrahedron index="5101" v0="1307" v1="1318" v2="2532" v3="2922" />
+ <tetrahedron index="5102" v0="1318" v1="2532" v2="2922" v3="2933" />
+ <tetrahedron index="5103" v0="210" v1="1026" v2="1319" v3="1825" />
+ <tetrahedron index="5104" v0="1026" v1="1319" v2="1825" v3="2641" />
+ <tetrahedron index="5105" v0="1319" v1="1825" v2="2641" v3="2934" />
+ <tetrahedron index="5106" v0="0" v1="1209" v2="1243" v3="1615" />
+ <tetrahedron index="5107" v0="1209" v1="1243" v2="1615" v3="2824" />
+ <tetrahedron index="5108" v0="1243" v1="1615" v2="2824" v3="2858" />
+ <tetrahedron index="5109" v0="443" v1="702" v2="723" v3="2058" />
+ <tetrahedron index="5110" v0="702" v1="723" v2="2058" v3="2317" />
+ <tetrahedron index="5111" v0="723" v1="2058" v2="2317" v3="2338" />
+ <tetrahedron index="5112" v0="451" v1="914" v2="1132" v3="2066" />
+ <tetrahedron index="5113" v0="914" v1="1132" v2="2066" v3="2529" />
+ <tetrahedron index="5114" v0="1132" v1="2066" v2="2529" v3="2747" />
+ <tetrahedron index="5115" v0="451" v1="1132" v2="1296" v3="2066" />
+ <tetrahedron index="5116" v0="1132" v1="1296" v2="2066" v3="2747" />
+ <tetrahedron index="5117" v0="1296" v1="2066" v2="2747" v3="2911" />
+ <tetrahedron index="5118" v0="1214" v1="1237" v2="1276" v3="2829" />
+ <tetrahedron index="5119" v0="1237" v1="1276" v2="2829" v3="2852" />
+ <tetrahedron index="5120" v0="1276" v1="2829" v2="2852" v3="2891" />
+ <tetrahedron index="5121" v0="1043" v1="1237" v2="1276" v3="2658" />
+ <tetrahedron index="5122" v0="1237" v1="1276" v2="2658" v3="2852" />
+ <tetrahedron index="5123" v0="1276" v1="2658" v2="2852" v3="2891" />
+ <tetrahedron index="5124" v0="517" v1="729" v2="1282" v3="2132" />
+ <tetrahedron index="5125" v0="729" v1="1282" v2="2132" v3="2344" />
+ <tetrahedron index="5126" v0="1282" v1="2132" v2="2344" v3="2897" />
+ <tetrahedron index="5127" v0="1109" v1="1111" v2="1199" v3="2724" />
+ <tetrahedron index="5128" v0="1111" v1="1199" v2="2724" v3="2726" />
+ <tetrahedron index="5129" v0="1199" v1="2724" v2="2726" v3="2814" />
+ <tetrahedron index="5130" v0="21" v1="22" v2="1272" v3="1636" />
+ <tetrahedron index="5131" v0="22" v1="1272" v2="1636" v3="1637" />
+ <tetrahedron index="5132" v0="1272" v1="1636" v2="1637" v3="2887" />
+ <tetrahedron index="5133" v0="859" v1="1239" v2="1275" v3="2474" />
+ <tetrahedron index="5134" v0="1239" v1="1275" v2="2474" v3="2854" />
+ <tetrahedron index="5135" v0="1275" v1="2474" v2="2854" v3="2890" />
+ <tetrahedron index="5136" v0="859" v1="1092" v2="1239" v3="2474" />
+ <tetrahedron index="5137" v0="1092" v1="1239" v2="2474" v3="2707" />
+ <tetrahedron index="5138" v0="1239" v1="2474" v2="2707" v3="2854" />
+ <tetrahedron index="5139" v0="0" v1="2" v2="1243" v3="1615" />
+ <tetrahedron index="5140" v0="2" v1="1243" v2="1615" v3="1617" />
+ <tetrahedron index="5141" v0="1243" v1="1615" v2="1617" v3="2858" />
+ <tetrahedron index="5142" v0="1103" v1="1239" v2="1275" v3="2718" />
+ <tetrahedron index="5143" v0="1239" v1="1275" v2="2718" v3="2854" />
+ <tetrahedron index="5144" v0="1275" v1="2718" v2="2854" v3="2890" />
+ <tetrahedron index="5145" v0="1103" v1="1115" v2="1275" v3="2718" />
+ <tetrahedron index="5146" v0="1115" v1="1275" v2="2718" v3="2730" />
+ <tetrahedron index="5147" v0="1275" v1="2718" v2="2730" v3="2890" />
+ <tetrahedron index="5148" v0="216" v1="506" v2="1012" v3="1831" />
+ <tetrahedron index="5149" v0="506" v1="1012" v2="1831" v3="2121" />
+ <tetrahedron index="5150" v0="1012" v1="1831" v2="2121" v3="2627" />
+ <tetrahedron index="5151" v0="679" v1="828" v2="1259" v3="2294" />
+ <tetrahedron index="5152" v0="828" v1="1259" v2="2294" v3="2443" />
+ <tetrahedron index="5153" v0="1259" v1="2294" v2="2443" v3="2874" />
+ <tetrahedron index="5154" v0="828" v1="1259" v2="1272" v3="2443" />
+ <tetrahedron index="5155" v0="1259" v1="1272" v2="2443" v3="2874" />
+ <tetrahedron index="5156" v0="1272" v1="2443" v2="2874" v3="2887" />
+ <tetrahedron index="5157" v0="944" v1="996" v2="1252" v3="2559" />
+ <tetrahedron index="5158" v0="996" v1="1252" v2="2559" v3="2611" />
+ <tetrahedron index="5159" v0="1252" v1="2559" v2="2611" v3="2867" />
+ <tetrahedron index="5160" v0="302" v1="303" v2="1179" v3="1917" />
+ <tetrahedron index="5161" v0="303" v1="1179" v2="1917" v3="1918" />
+ <tetrahedron index="5162" v0="1179" v1="1917" v2="1918" v3="2794" />
+ <tetrahedron index="5163" v0="220" v1="303" v2="1179" v3="1835" />
+ <tetrahedron index="5164" v0="303" v1="1179" v2="1835" v3="1918" />
+ <tetrahedron index="5165" v0="1179" v1="1835" v2="1918" v3="2794" />
+ <tetrahedron index="5166" v0="988" v1="1074" v2="1312" v3="2603" />
+ <tetrahedron index="5167" v0="1074" v1="1312" v2="2603" v3="2689" />
+ <tetrahedron index="5168" v0="1312" v1="2603" v2="2689" v3="2927" />
+ <tetrahedron index="5169" v0="484" v1="622" v2="1127" v3="2099" />
+ <tetrahedron index="5170" v0="622" v1="1127" v2="2099" v3="2237" />
+ <tetrahedron index="5171" v0="1127" v1="2099" v2="2237" v3="2742" />
+ <tetrahedron index="5172" v0="679" v1="1259" v2="1260" v3="2294" />
+ <tetrahedron index="5173" v0="1259" v1="1260" v2="2294" v3="2874" />
+ <tetrahedron index="5174" v0="1260" v1="2294" v2="2874" v3="2875" />
+ <tetrahedron index="5175" v0="22" v1="23" v2="733" v3="1637" />
+ <tetrahedron index="5176" v0="23" v1="733" v2="1637" v3="1638" />
+ <tetrahedron index="5177" v0="733" v1="1637" v2="1638" v3="2348" />
+ <tetrahedron index="5178" v0="327" v1="1299" v2="1320" v3="1942" />
+ <tetrahedron index="5179" v0="1299" v1="1320" v2="1942" v3="2914" />
+ <tetrahedron index="5180" v0="1320" v1="1942" v2="2914" v3="2935" />
+ <tetrahedron index="5181" v0="751" v1="1267" v2="1306" v3="2366" />
+ <tetrahedron index="5182" v0="1267" v1="1306" v2="2366" v3="2882" />
+ <tetrahedron index="5183" v0="1306" v1="2366" v2="2882" v3="2921" />
+ <tetrahedron index="5184" v0="633" v1="1270" v2="1283" v3="2248" />
+ <tetrahedron index="5185" v0="1270" v1="1283" v2="2248" v3="2885" />
+ <tetrahedron index="5186" v0="1283" v1="2248" v2="2885" v3="2898" />
+ <tetrahedron index="5187" v0="21" v1="1027" v2="1066" v3="1636" />
+ <tetrahedron index="5188" v0="1027" v1="1066" v2="1636" v3="2642" />
+ <tetrahedron index="5189" v0="1066" v1="1636" v2="2642" v3="2681" />
+ <tetrahedron index="5190" v0="895" v1="896" v2="1200" v3="2510" />
+ <tetrahedron index="5191" v0="896" v1="1200" v2="2510" v3="2511" />
+ <tetrahedron index="5192" v0="1200" v1="2510" v2="2511" v3="2815" />
+ <tetrahedron index="5193" v0="1131" v1="1132" v2="1296" v3="2746" />
+ <tetrahedron index="5194" v0="1132" v1="1296" v2="2746" v3="2747" />
+ <tetrahedron index="5195" v0="1296" v1="2746" v2="2747" v3="2911" />
+ <tetrahedron index="5196" v0="658" v1="659" v2="990" v3="2273" />
+ <tetrahedron index="5197" v0="659" v1="990" v2="2273" v3="2274" />
+ <tetrahedron index="5198" v0="990" v1="2273" v2="2274" v3="2605" />
+ <tetrahedron index="5199" v0="556" v1="605" v2="1321" v3="2171" />
+ <tetrahedron index="5200" v0="605" v1="1321" v2="2171" v3="2220" />
+ <tetrahedron index="5201" v0="1321" v1="2171" v2="2220" v3="2936" />
+ <tetrahedron index="5202" v0="374" v1="689" v2="1222" v3="1989" />
+ <tetrahedron index="5203" v0="689" v1="1222" v2="1989" v3="2304" />
+ <tetrahedron index="5204" v0="1222" v1="1989" v2="2304" v3="2837" />
+ <tetrahedron index="5205" v0="694" v1="1301" v2="1322" v3="2309" />
+ <tetrahedron index="5206" v0="1301" v1="1322" v2="2309" v3="2916" />
+ <tetrahedron index="5207" v0="1322" v1="2309" v2="2916" v3="2937" />
+ <tetrahedron index="5208" v0="79" v1="616" v2="1283" v3="1694" />
+ <tetrahedron index="5209" v0="616" v1="1283" v2="1694" v3="2231" />
+ <tetrahedron index="5210" v0="1283" v1="1694" v2="2231" v3="2898" />
+ <tetrahedron index="5211" v0="1289" v1="1323" v2="1324" v3="2904" />
+ <tetrahedron index="5212" v0="1323" v1="1324" v2="2904" v3="2938" />
+ <tetrahedron index="5213" v0="1324" v1="2904" v2="2938" v3="2939" />
+ <tetrahedron index="5214" v0="888" v1="1059" v2="1325" v3="2503" />
+ <tetrahedron index="5215" v0="1059" v1="1325" v2="2503" v3="2674" />
+ <tetrahedron index="5216" v0="1325" v1="2503" v2="2674" v3="2940" />
+ <tetrahedron index="5217" v0="973" v1="1205" v2="1326" v3="2588" />
+ <tetrahedron index="5218" v0="1205" v1="1326" v2="2588" v3="2820" />
+ <tetrahedron index="5219" v0="1326" v1="2588" v2="2820" v3="2941" />
+ <tetrahedron index="5220" v0="1094" v1="1297" v2="1304" v3="2709" />
+ <tetrahedron index="5221" v0="1297" v1="1304" v2="2709" v3="2912" />
+ <tetrahedron index="5222" v0="1304" v1="2709" v2="2912" v3="2919" />
+ <tetrahedron index="5223" v0="723" v1="1327" v2="1328" v3="2338" />
+ <tetrahedron index="5224" v0="1327" v1="1328" v2="2338" v3="2942" />
+ <tetrahedron index="5225" v0="1328" v1="2338" v2="2942" v3="2943" />
+ <tetrahedron index="5226" v0="115" v1="1280" v2="1329" v3="1730" />
+ <tetrahedron index="5227" v0="1280" v1="1329" v2="1730" v3="2895" />
+ <tetrahedron index="5228" v0="1329" v1="1730" v2="2895" v3="2944" />
+ <tetrahedron index="5229" v0="422" v1="1280" v2="1329" v3="2037" />
+ <tetrahedron index="5230" v0="1280" v1="1329" v2="2037" v3="2895" />
+ <tetrahedron index="5231" v0="1329" v1="2037" v2="2895" v3="2944" />
+ <tetrahedron index="5232" v0="932" v1="1284" v2="1330" v3="2547" />
+ <tetrahedron index="5233" v0="1284" v1="1330" v2="2547" v3="2899" />
+ <tetrahedron index="5234" v0="1330" v1="2547" v2="2899" v3="2945" />
+ <tetrahedron index="5235" v0="25" v1="589" v2="1281" v3="1640" />
+ <tetrahedron index="5236" v0="589" v1="1281" v2="1640" v3="2204" />
+ <tetrahedron index="5237" v0="1281" v1="1640" v2="2204" v3="2896" />
+ <tetrahedron index="5238" v0="896" v1="1237" v2="1331" v3="2511" />
+ <tetrahedron index="5239" v0="1237" v1="1331" v2="2511" v3="2852" />
+ <tetrahedron index="5240" v0="1331" v1="2511" v2="2852" v3="2946" />
+ <tetrahedron index="5241" v0="1332" v1="1333" v2="1334" v3="2947" />
+ <tetrahedron index="5242" v0="1333" v1="1334" v2="2947" v3="2948" />
+ <tetrahedron index="5243" v0="1334" v1="2947" v2="2948" v3="2949" />
+ <tetrahedron index="5244" v0="2" v1="542" v2="1243" v3="1617" />
+ <tetrahedron index="5245" v0="542" v1="1243" v2="1617" v3="2157" />
+ <tetrahedron index="5246" v0="1243" v1="1617" v2="2157" v3="2858" />
+ <tetrahedron index="5247" v0="2" v1="542" v2="1187" v3="1617" />
+ <tetrahedron index="5248" v0="542" v1="1187" v2="1617" v3="2157" />
+ <tetrahedron index="5249" v0="1187" v1="1617" v2="2157" v3="2802" />
+ <tetrahedron index="5250" v0="269" v1="1178" v2="1335" v3="1884" />
+ <tetrahedron index="5251" v0="1178" v1="1335" v2="1884" v3="2793" />
+ <tetrahedron index="5252" v0="1335" v1="1884" v2="2793" v3="2950" />
+ <tetrahedron index="5253" v0="705" v1="706" v2="1107" v3="2320" />
+ <tetrahedron index="5254" v0="706" v1="1107" v2="2320" v3="2321" />
+ <tetrahedron index="5255" v0="1107" v1="2320" v2="2321" v3="2722" />
+ <tetrahedron index="5256" v0="11" v1="136" v2="827" v3="1626" />
+ <tetrahedron index="5257" v0="136" v1="827" v2="1626" v3="1751" />
+ <tetrahedron index="5258" v0="827" v1="1626" v2="1751" v3="2442" />
+ <tetrahedron index="5259" v0="79" v1="456" v2="931" v3="1694" />
+ <tetrahedron index="5260" v0="456" v1="931" v2="1694" v3="2071" />
+ <tetrahedron index="5261" v0="931" v1="1694" v2="2071" v3="2546" />
+ <tetrahedron index="5262" v0="79" v1="456" v2="616" v3="1694" />
+ <tetrahedron index="5263" v0="456" v1="616" v2="1694" v3="2071" />
+ <tetrahedron index="5264" v0="616" v1="1694" v2="2071" v3="2231" />
+ <tetrahedron index="5265" v0="343" v1="344" v2="674" v3="1958" />
+ <tetrahedron index="5266" v0="344" v1="674" v2="1958" v3="1959" />
+ <tetrahedron index="5267" v0="674" v1="1958" v2="1959" v3="2289" />
+ <tetrahedron index="5268" v0="81" v1="838" v2="931" v3="1696" />
+ <tetrahedron index="5269" v0="838" v1="931" v2="1696" v3="2453" />
+ <tetrahedron index="5270" v0="931" v1="1696" v2="2453" v3="2546" />
+ <tetrahedron index="5271" v0="691" v1="838" v2="931" v3="2306" />
+ <tetrahedron index="5272" v0="838" v1="931" v2="2306" v3="2453" />
+ <tetrahedron index="5273" v0="931" v1="2306" v2="2453" v3="2546" />
+ <tetrahedron index="5274" v0="492" v1="617" v2="1251" v3="2107" />
+ <tetrahedron index="5275" v0="617" v1="1251" v2="2107" v3="2232" />
+ <tetrahedron index="5276" v0="1251" v1="2107" v2="2232" v3="2866" />
+ <tetrahedron index="5277" v0="492" v1="757" v2="1251" v3="2107" />
+ <tetrahedron index="5278" v0="757" v1="1251" v2="2107" v3="2372" />
+ <tetrahedron index="5279" v0="1251" v1="2107" v2="2372" v3="2866" />
+ <tetrahedron index="5280" v0="28" v1="29" v2="30" v3="1643" />
+ <tetrahedron index="5281" v0="29" v1="30" v2="1643" v3="1644" />
+ <tetrahedron index="5282" v0="30" v1="1643" v2="1644" v3="1645" />
+ <tetrahedron index="5283" v0="1073" v1="1174" v2="1211" v3="2688" />
+ <tetrahedron index="5284" v0="1174" v1="1211" v2="2688" v3="2789" />
+ <tetrahedron index="5285" v0="1211" v1="2688" v2="2789" v3="2826" />
+ <tetrahedron index="5286" v0="197" v1="1073" v2="1211" v3="1812" />
+ <tetrahedron index="5287" v0="1073" v1="1211" v2="1812" v3="2688" />
+ <tetrahedron index="5288" v0="1211" v1="1812" v2="2688" v3="2826" />
+ <tetrahedron index="5289" v0="1171" v1="1172" v2="1336" v3="2786" />
+ <tetrahedron index="5290" v0="1172" v1="1336" v2="2786" v3="2787" />
+ <tetrahedron index="5291" v0="1336" v1="2786" v2="2787" v3="2951" />
+ <tetrahedron index="5292" v0="995" v1="1172" v2="1336" v3="2610" />
+ <tetrahedron index="5293" v0="1172" v1="1336" v2="2610" v3="2787" />
+ <tetrahedron index="5294" v0="1336" v1="2610" v2="2787" v3="2951" />
+ <tetrahedron index="5295" v0="917" v1="1192" v2="1318" v3="2532" />
+ <tetrahedron index="5296" v0="1192" v1="1318" v2="2532" v3="2807" />
+ <tetrahedron index="5297" v0="1318" v1="2532" v2="2807" v3="2933" />
+ <tetrahedron index="5298" v0="351" v1="985" v2="1045" v3="1966" />
+ <tetrahedron index="5299" v0="985" v1="1045" v2="1966" v3="2600" />
+ <tetrahedron index="5300" v0="1045" v1="1966" v2="2600" v3="2660" />
+ <tetrahedron index="5301" v0="131" v1="133" v2="885" v3="1746" />
+ <tetrahedron index="5302" v0="133" v1="885" v2="1746" v3="1748" />
+ <tetrahedron index="5303" v0="885" v1="1746" v2="1748" v3="2500" />
+ <tetrahedron index="5304" v0="1337" v1="1338" v2="1339" v3="2952" />
+ <tetrahedron index="5305" v0="1338" v1="1339" v2="2952" v3="2953" />
+ <tetrahedron index="5306" v0="1339" v1="2952" v2="2953" v3="2954" />
+ <tetrahedron index="5307" v0="1338" v1="1339" v2="1340" v3="2953" />
+ <tetrahedron index="5308" v0="1339" v1="1340" v2="2953" v3="2954" />
+ <tetrahedron index="5309" v0="1340" v1="2953" v2="2954" v3="2955" />
+ <tetrahedron index="5310" v0="412" v1="725" v2="1186" v3="2027" />
+ <tetrahedron index="5311" v0="725" v1="1186" v2="2027" v3="2340" />
+ <tetrahedron index="5312" v0="1186" v1="2027" v2="2340" v3="2801" />
+ <tetrahedron index="5313" v0="62" v1="663" v2="1341" v3="1677" />
+ <tetrahedron index="5314" v0="663" v1="1341" v2="1677" v3="2278" />
+ <tetrahedron index="5315" v0="1341" v1="1677" v2="2278" v3="2956" />
+ <tetrahedron index="5316" v0="979" v1="981" v2="1321" v3="2594" />
+ <tetrahedron index="5317" v0="981" v1="1321" v2="2594" v3="2596" />
+ <tetrahedron index="5318" v0="1321" v1="2594" v2="2596" v3="2936" />
+ <tetrahedron index="5319" v0="100" v1="1210" v2="1342" v3="1715" />
+ <tetrahedron index="5320" v0="1210" v1="1342" v2="1715" v3="2825" />
+ <tetrahedron index="5321" v0="1342" v1="1715" v2="2825" v3="2957" />
+ <tetrahedron index="5322" v0="100" v1="106" v2="1342" v3="1715" />
+ <tetrahedron index="5323" v0="106" v1="1342" v2="1715" v3="1721" />
+ <tetrahedron index="5324" v0="1342" v1="1715" v2="1721" v3="2957" />
+ <tetrahedron index="5325" v0="884" v1="1343" v2="1344" v3="2499" />
+ <tetrahedron index="5326" v0="1343" v1="1344" v2="2499" v3="2958" />
+ <tetrahedron index="5327" v0="1344" v1="2499" v2="2958" v3="2959" />
+ <tetrahedron index="5328" v0="524" v1="884" v2="1344" v3="2139" />
+ <tetrahedron index="5329" v0="884" v1="1344" v2="2139" v3="2499" />
+ <tetrahedron index="5330" v0="1344" v1="2139" v2="2499" v3="2959" />
+ <tetrahedron index="5331" v0="939" v1="956" v2="1345" v3="2554" />
+ <tetrahedron index="5332" v0="956" v1="1345" v2="2554" v3="2571" />
+ <tetrahedron index="5333" v0="1345" v1="2554" v2="2571" v3="2960" />
+ <tetrahedron index="5334" v0="923" v1="939" v2="1345" v3="2538" />
+ <tetrahedron index="5335" v0="939" v1="1345" v2="2538" v3="2554" />
+ <tetrahedron index="5336" v0="1345" v1="2538" v2="2554" v3="2960" />
+ <tetrahedron index="5337" v0="849" v1="901" v2="1063" v3="2464" />
+ <tetrahedron index="5338" v0="901" v1="1063" v2="2464" v3="2516" />
+ <tetrahedron index="5339" v0="1063" v1="2464" v2="2516" v3="2678" />
+ <tetrahedron index="5340" v0="779" v1="849" v2="901" v3="2394" />
+ <tetrahedron index="5341" v0="849" v1="901" v2="2394" v3="2464" />
+ <tetrahedron index="5342" v0="901" v1="2394" v2="2464" v3="2516" />
+ <tetrahedron index="5343" v0="620" v1="897" v2="1323" v3="2235" />
+ <tetrahedron index="5344" v0="897" v1="1323" v2="2235" v3="2512" />
+ <tetrahedron index="5345" v0="1323" v1="2235" v2="2512" v3="2938" />
+ <tetrahedron index="5346" v0="480" v1="654" v2="1346" v3="2095" />
+ <tetrahedron index="5347" v0="654" v1="1346" v2="2095" v3="2269" />
+ <tetrahedron index="5348" v0="1346" v1="2095" v2="2269" v3="2961" />
+ <tetrahedron index="5349" v0="614" v1="1032" v2="1202" v3="2229" />
+ <tetrahedron index="5350" v0="1032" v1="1202" v2="2229" v3="2647" />
+ <tetrahedron index="5351" v0="1202" v1="2229" v2="2647" v3="2817" />
+ <tetrahedron index="5352" v0="240" v1="614" v2="1032" v3="1855" />
+ <tetrahedron index="5353" v0="614" v1="1032" v2="1855" v3="2229" />
+ <tetrahedron index="5354" v0="1032" v1="1855" v2="2229" v3="2647" />
+ <tetrahedron index="5355" v0="706" v1="1107" v2="1347" v3="2321" />
+ <tetrahedron index="5356" v0="1107" v1="1347" v2="2321" v3="2722" />
+ <tetrahedron index="5357" v0="1347" v1="2321" v2="2722" v3="2962" />
+ <tetrahedron index="5358" v0="378" v1="623" v2="1297" v3="1993" />
+ <tetrahedron index="5359" v0="623" v1="1297" v2="1993" v3="2238" />
+ <tetrahedron index="5360" v0="1297" v1="1993" v2="2238" v3="2912" />
+ <tetrahedron index="5361" v0="522" v1="523" v2="1348" v3="2137" />
+ <tetrahedron index="5362" v0="523" v1="1348" v2="2137" v3="2138" />
+ <tetrahedron index="5363" v0="1348" v1="2137" v2="2138" v3="2963" />
+ <tetrahedron index="5364" v0="1349" v1="1350" v2="1351" v3="2964" />
+ <tetrahedron index="5365" v0="1350" v1="1351" v2="2964" v3="2965" />
+ <tetrahedron index="5366" v0="1351" v1="2964" v2="2965" v3="2966" />
+ <tetrahedron index="5367" v0="1217" v1="1241" v2="1352" v3="2832" />
+ <tetrahedron index="5368" v0="1241" v1="1352" v2="2832" v3="2856" />
+ <tetrahedron index="5369" v0="1352" v1="2832" v2="2856" v3="2967" />
+ <tetrahedron index="5370" v0="1111" v1="1241" v2="1352" v3="2726" />
+ <tetrahedron index="5371" v0="1241" v1="1352" v2="2726" v3="2856" />
+ <tetrahedron index="5372" v0="1352" v1="2726" v2="2856" v3="2967" />
+ <tetrahedron index="5373" v0="1162" v1="1189" v2="1199" v3="2777" />
+ <tetrahedron index="5374" v0="1189" v1="1199" v2="2777" v3="2804" />
+ <tetrahedron index="5375" v0="1199" v1="2777" v2="2804" v3="2814" />
+ <tetrahedron index="5376" v0="705" v1="1269" v2="1353" v3="2320" />
+ <tetrahedron index="5377" v0="1269" v1="1353" v2="2320" v3="2884" />
+ <tetrahedron index="5378" v0="1353" v1="2320" v2="2884" v3="2968" />
+ <tetrahedron index="5379" v0="705" v1="1107" v2="1269" v3="2320" />
+ <tetrahedron index="5380" v0="1107" v1="1269" v2="2320" v3="2722" />
+ <tetrahedron index="5381" v0="1269" v1="2320" v2="2722" v3="2884" />
+ <tetrahedron index="5382" v0="707" v1="1354" v2="1355" v3="2322" />
+ <tetrahedron index="5383" v0="1354" v1="1355" v2="2322" v3="2969" />
+ <tetrahedron index="5384" v0="1355" v1="2322" v2="2969" v3="2970" />
+ <tetrahedron index="5385" v0="123" v1="199" v2="1335" v3="1738" />
+ <tetrahedron index="5386" v0="199" v1="1335" v2="1738" v3="1814" />
+ <tetrahedron index="5387" v0="1335" v1="1738" v2="1814" v3="2950" />
+ <tetrahedron index="5388" v0="1178" v1="1268" v2="1353" v3="2793" />
+ <tetrahedron index="5389" v0="1268" v1="1353" v2="2793" v3="2883" />
+ <tetrahedron index="5390" v0="1353" v1="2793" v2="2883" v3="2968" />
+ <tetrahedron index="5391" v0="1268" v1="1269" v2="1353" v3="2883" />
+ <tetrahedron index="5392" v0="1269" v1="1353" v2="2883" v3="2884" />
+ <tetrahedron index="5393" v0="1353" v1="2883" v2="2884" v3="2968" />
+ <tetrahedron index="5394" v0="702" v1="920" v2="1327" v3="2317" />
+ <tetrahedron index="5395" v0="920" v1="1327" v2="2317" v3="2535" />
+ <tetrahedron index="5396" v0="1327" v1="2317" v2="2535" v3="2942" />
+ <tetrahedron index="5397" v0="702" v1="723" v2="1327" v3="2317" />
+ <tetrahedron index="5398" v0="723" v1="1327" v2="2317" v3="2338" />
+ <tetrahedron index="5399" v0="1327" v1="2317" v2="2338" v3="2942" />
+ <tetrahedron index="5400" v0="582" v1="1045" v2="1356" v3="2197" />
+ <tetrahedron index="5401" v0="1045" v1="1356" v2="2197" v3="2660" />
+ <tetrahedron index="5402" v0="1356" v1="2197" v2="2660" v3="2971" />
+ <tetrahedron index="5403" v0="985" v1="1045" v2="1356" v3="2600" />
+ <tetrahedron index="5404" v0="1045" v1="1356" v2="2600" v3="2660" />
+ <tetrahedron index="5405" v0="1356" v1="2600" v2="2660" v3="2971" />
+ <tetrahedron index="5406" v0="289" v1="300" v2="1357" v3="1904" />
+ <tetrahedron index="5407" v0="300" v1="1357" v2="1904" v3="1915" />
+ <tetrahedron index="5408" v0="1357" v1="1904" v2="1915" v3="2972" />
+ <tetrahedron index="5409" v0="241" v1="402" v2="1358" v3="1856" />
+ <tetrahedron index="5410" v0="402" v1="1358" v2="1856" v3="2017" />
+ <tetrahedron index="5411" v0="1358" v1="1856" v2="2017" v3="2973" />
+ <tetrahedron index="5412" v0="485" v1="757" v2="1127" v3="2100" />
+ <tetrahedron index="5413" v0="757" v1="1127" v2="2100" v3="2372" />
+ <tetrahedron index="5414" v0="1127" v1="2100" v2="2372" v3="2742" />
+ <tetrahedron index="5415" v0="484" v1="485" v2="1127" v3="2099" />
+ <tetrahedron index="5416" v0="485" v1="1127" v2="2099" v3="2100" />
+ <tetrahedron index="5417" v0="1127" v1="2099" v2="2100" v3="2742" />
+ <tetrahedron index="5418" v0="190" v1="192" v2="1359" v3="1805" />
+ <tetrahedron index="5419" v0="192" v1="1359" v2="1805" v3="1807" />
+ <tetrahedron index="5420" v0="1359" v1="1805" v2="1807" v3="2974" />
+ <tetrahedron index="5421" v0="525" v1="1360" v2="1361" v3="2140" />
+ <tetrahedron index="5422" v0="1360" v1="1361" v2="2140" v3="2975" />
+ <tetrahedron index="5423" v0="1361" v1="2140" v2="2975" v3="2976" />
+ <tetrahedron index="5424" v0="525" v1="759" v2="1361" v3="2140" />
+ <tetrahedron index="5425" v0="759" v1="1361" v2="2140" v3="2374" />
+ <tetrahedron index="5426" v0="1361" v1="2140" v2="2374" v3="2976" />
+ <tetrahedron index="5427" v0="780" v1="817" v2="1362" v3="2395" />
+ <tetrahedron index="5428" v0="817" v1="1362" v2="2395" v3="2432" />
+ <tetrahedron index="5429" v0="1362" v1="2395" v2="2432" v3="2977" />
+ <tetrahedron index="5430" v0="68" v1="822" v2="1363" v3="1683" />
+ <tetrahedron index="5431" v0="822" v1="1363" v2="1683" v3="2437" />
+ <tetrahedron index="5432" v0="1363" v1="1683" v2="2437" v3="2978" />
+ <tetrahedron index="5433" v0="884" v1="1080" v2="1343" v3="2499" />
+ <tetrahedron index="5434" v0="1080" v1="1343" v2="2499" v3="2695" />
+ <tetrahedron index="5435" v0="1343" v1="2499" v2="2695" v3="2958" />
+ <tetrahedron index="5436" v0="1208" v1="1227" v2="1322" v3="2823" />
+ <tetrahedron index="5437" v0="1227" v1="1322" v2="2823" v3="2842" />
+ <tetrahedron index="5438" v0="1322" v1="2823" v2="2842" v3="2937" />
+ <tetrahedron index="5439" v0="626" v1="1325" v2="1364" v3="2241" />
+ <tetrahedron index="5440" v0="1325" v1="1364" v2="2241" v3="2940" />
+ <tetrahedron index="5441" v0="1364" v1="2241" v2="2940" v3="2979" />
+ <tetrahedron index="5442" v0="13" v1="1097" v2="1365" v3="1628" />
+ <tetrahedron index="5443" v0="1097" v1="1365" v2="1628" v3="2712" />
+ <tetrahedron index="5444" v0="1365" v1="1628" v2="2712" v3="2980" />
+ <tetrahedron index="5445" v0="865" v1="867" v2="1328" v3="2480" />
+ <tetrahedron index="5446" v0="867" v1="1328" v2="2480" v3="2482" />
+ <tetrahedron index="5447" v0="1328" v1="2480" v2="2482" v3="2943" />
+ <tetrahedron index="5448" v0="1294" v1="1302" v2="1366" v3="2909" />
+ <tetrahedron index="5449" v0="1302" v1="1366" v2="2909" v3="2917" />
+ <tetrahedron index="5450" v0="1366" v1="2909" v2="2917" v3="2981" />
+ <tetrahedron index="5451" v0="112" v1="487" v2="541" v3="1727" />
+ <tetrahedron index="5452" v0="487" v1="541" v2="1727" v3="2102" />
+ <tetrahedron index="5453" v0="541" v1="1727" v2="2102" v3="2156" />
+ <tetrahedron index="5454" v0="202" v1="634" v2="1281" v3="1817" />
+ <tetrahedron index="5455" v0="634" v1="1281" v2="1817" v3="2249" />
+ <tetrahedron index="5456" v0="1281" v1="1817" v2="2249" v3="2896" />
+ <tetrahedron index="5457" v0="1091" v1="1274" v2="1332" v3="2706" />
+ <tetrahedron index="5458" v0="1274" v1="1332" v2="2706" v3="2889" />
+ <tetrahedron index="5459" v0="1332" v1="2706" v2="2889" v3="2947" />
+ <tetrahedron index="5460" v0="1263" v1="1367" v2="1368" v3="2878" />
+ <tetrahedron index="5461" v0="1367" v1="1368" v2="2878" v3="2982" />
+ <tetrahedron index="5462" v0="1368" v1="2878" v2="2982" v3="2983" />
+ <tetrahedron index="5463" v0="1263" v1="1278" v2="1368" v3="2878" />
+ <tetrahedron index="5464" v0="1278" v1="1368" v2="2878" v3="2893" />
+ <tetrahedron index="5465" v0="1368" v1="2878" v2="2893" v3="2983" />
+ <tetrahedron index="5466" v0="232" v1="313" v2="1369" v3="1847" />
+ <tetrahedron index="5467" v0="313" v1="1369" v2="1847" v3="1928" />
+ <tetrahedron index="5468" v0="1369" v1="1847" v2="1928" v3="2984" />
+ <tetrahedron index="5469" v0="1229" v1="1301" v2="1370" v3="2844" />
+ <tetrahedron index="5470" v0="1301" v1="1370" v2="2844" v3="2916" />
+ <tetrahedron index="5471" v0="1370" v1="2844" v2="2916" v3="2985" />
+ <tetrahedron index="5472" v0="802" v1="847" v2="944" v3="2417" />
+ <tetrahedron index="5473" v0="847" v1="944" v2="2417" v3="2462" />
+ <tetrahedron index="5474" v0="944" v1="2417" v2="2462" v3="2559" />
+ <tetrahedron index="5475" v0="908" v1="910" v2="1330" v3="2523" />
+ <tetrahedron index="5476" v0="910" v1="1330" v2="2523" v3="2525" />
+ <tetrahedron index="5477" v0="1330" v1="2523" v2="2525" v3="2945" />
+ <tetrahedron index="5478" v0="559" v1="872" v2="1371" v3="2174" />
+ <tetrahedron index="5479" v0="872" v1="1371" v2="2174" v3="2487" />
+ <tetrahedron index="5480" v0="1371" v1="2174" v2="2487" v3="2986" />
+ <tetrahedron index="5481" v0="559" v1="560" v2="1371" v3="2174" />
+ <tetrahedron index="5482" v0="560" v1="1371" v2="2174" v3="2175" />
+ <tetrahedron index="5483" v0="1371" v1="2174" v2="2175" v3="2986" />
+ <tetrahedron index="5484" v0="101" v1="239" v2="1358" v3="1716" />
+ <tetrahedron index="5485" v0="239" v1="1358" v2="1716" v3="1854" />
+ <tetrahedron index="5486" v0="1358" v1="1716" v2="1854" v3="2973" />
+ <tetrahedron index="5487" v0="101" v1="402" v2="1358" v3="1716" />
+ <tetrahedron index="5488" v0="402" v1="1358" v2="1716" v3="2017" />
+ <tetrahedron index="5489" v0="1358" v1="1716" v2="2017" v3="2973" />
+ <tetrahedron index="5490" v0="537" v1="667" v2="1372" v3="2152" />
+ <tetrahedron index="5491" v0="667" v1="1372" v2="2152" v3="2282" />
+ <tetrahedron index="5492" v0="1372" v1="2152" v2="2282" v3="2987" />
+ <tetrahedron index="5493" v0="658" v1="672" v2="990" v3="2273" />
+ <tetrahedron index="5494" v0="672" v1="990" v2="2273" v3="2287" />
+ <tetrahedron index="5495" v0="990" v1="2273" v2="2287" v3="2605" />
+ <tetrahedron index="5496" v0="64" v1="412" v2="687" v3="1679" />
+ <tetrahedron index="5497" v0="412" v1="687" v2="1679" v3="2027" />
+ <tetrahedron index="5498" v0="687" v1="1679" v2="2027" v3="2302" />
+ <tetrahedron index="5499" v0="412" v1="687" v2="1186" v3="2027" />
+ <tetrahedron index="5500" v0="687" v1="1186" v2="2027" v3="2302" />
+ <tetrahedron index="5501" v0="1186" v1="2027" v2="2302" v3="2801" />
+ <tetrahedron index="5502" v0="1323" v1="1324" v2="1373" v3="2938" />
+ <tetrahedron index="5503" v0="1324" v1="1373" v2="2938" v3="2939" />
+ <tetrahedron index="5504" v0="1373" v1="2938" v2="2939" v3="2988" />
+ <tetrahedron index="5505" v0="897" v1="1323" v2="1373" v3="2512" />
+ <tetrahedron index="5506" v0="1323" v1="1373" v2="2512" v3="2938" />
+ <tetrahedron index="5507" v0="1373" v1="2512" v2="2938" v3="2988" />
+ <tetrahedron index="5508" v0="106" v1="526" v2="1342" v3="1721" />
+ <tetrahedron index="5509" v0="526" v1="1342" v2="1721" v3="2141" />
+ <tetrahedron index="5510" v0="1342" v1="1721" v2="2141" v3="2957" />
+ <tetrahedron index="5511" v0="526" v1="1144" v2="1342" v3="2141" />
+ <tetrahedron index="5512" v0="1144" v1="1342" v2="2141" v3="2759" />
+ <tetrahedron index="5513" v0="1342" v1="2141" v2="2759" v3="2957" />
+ <tetrahedron index="5514" v0="1174" v1="1210" v2="1342" v3="2789" />
+ <tetrahedron index="5515" v0="1210" v1="1342" v2="2789" v3="2825" />
+ <tetrahedron index="5516" v0="1342" v1="2789" v2="2825" v3="2957" />
+ <tetrahedron index="5517" v0="1144" v1="1174" v2="1342" v3="2759" />
+ <tetrahedron index="5518" v0="1174" v1="1342" v2="2759" v3="2789" />
+ <tetrahedron index="5519" v0="1342" v1="2759" v2="2789" v3="2957" />
+ <tetrahedron index="5520" v0="104" v1="105" v2="1374" v3="1719" />
+ <tetrahedron index="5521" v0="105" v1="1374" v2="1719" v3="1720" />
+ <tetrahedron index="5522" v0="1374" v1="1719" v2="1720" v3="2989" />
+ <tetrahedron index="5523" v0="104" v1="1374" v2="1375" v3="1719" />
+ <tetrahedron index="5524" v0="1374" v1="1375" v2="1719" v3="2989" />
+ <tetrahedron index="5525" v0="1375" v1="1719" v2="2989" v3="2990" />
+ <tetrahedron index="5526" v0="507" v1="956" v2="1345" v3="2122" />
+ <tetrahedron index="5527" v0="956" v1="1345" v2="2122" v3="2571" />
+ <tetrahedron index="5528" v0="1345" v1="2122" v2="2571" v3="2960" />
+ <tetrahedron index="5529" v0="507" v1="832" v2="1345" v3="2122" />
+ <tetrahedron index="5530" v0="832" v1="1345" v2="2122" v3="2447" />
+ <tetrahedron index="5531" v0="1345" v1="2122" v2="2447" v3="2960" />
+ <tetrahedron index="5532" v0="849" v1="1063" v2="1298" v3="2464" />
+ <tetrahedron index="5533" v0="1063" v1="1298" v2="2464" v3="2678" />
+ <tetrahedron index="5534" v0="1298" v1="2464" v2="2678" v3="2913" />
+ <tetrahedron index="5535" v0="129" v1="868" v2="869" v3="1744" />
+ <tetrahedron index="5536" v0="868" v1="869" v2="1744" v3="2483" />
+ <tetrahedron index="5537" v0="869" v1="1744" v2="2483" v3="2484" />
+ <tetrahedron index="5538" v0="129" v1="130" v2="868" v3="1744" />
+ <tetrahedron index="5539" v0="130" v1="868" v2="1744" v3="1745" />
+ <tetrahedron index="5540" v0="868" v1="1744" v2="1745" v3="2483" />
+ <tetrahedron index="5541" v0="300" v1="803" v2="1357" v3="1915" />
+ <tetrahedron index="5542" v0="803" v1="1357" v2="1915" v3="2418" />
+ <tetrahedron index="5543" v0="1357" v1="1915" v2="2418" v3="2972" />
+ <tetrahedron index="5544" v0="590" v1="654" v2="1346" v3="2205" />
+ <tetrahedron index="5545" v0="654" v1="1346" v2="2205" v3="2269" />
+ <tetrahedron index="5546" v0="1346" v1="2205" v2="2269" v3="2961" />
+ <tetrahedron index="5547" v0="969" v1="1376" v2="1377" v3="2584" />
+ <tetrahedron index="5548" v0="1376" v1="1377" v2="2584" v3="2991" />
+ <tetrahedron index="5549" v0="1377" v1="2584" v2="2991" v3="2992" />
+ <tetrahedron index="5550" v0="969" v1="1086" v2="1377" v3="2584" />
+ <tetrahedron index="5551" v0="1086" v1="1377" v2="2584" v3="2701" />
+ <tetrahedron index="5552" v0="1377" v1="2584" v2="2701" v3="2992" />
+ <tetrahedron index="5553" v0="1032" v1="1202" v2="1207" v3="2647" />
+ <tetrahedron index="5554" v0="1202" v1="1207" v2="2647" v3="2817" />
+ <tetrahedron index="5555" v0="1207" v1="2647" v2="2817" v3="2822" />
+ <tetrahedron index="5556" v0="388" v1="1032" v2="1207" v3="2003" />
+ <tetrahedron index="5557" v0="1032" v1="1207" v2="2003" v3="2647" />
+ <tetrahedron index="5558" v0="1207" v1="2003" v2="2647" v3="2822" />
+ <tetrahedron index="5559" v0="242" v1="529" v2="1378" v3="1857" />
+ <tetrahedron index="5560" v0="529" v1="1378" v2="1857" v3="2144" />
+ <tetrahedron index="5561" v0="1378" v1="1857" v2="2144" v3="2993" />
+ <tetrahedron index="5562" v0="540" v1="905" v2="1379" v3="2155" />
+ <tetrahedron index="5563" v0="905" v1="1379" v2="2155" v3="2520" />
+ <tetrahedron index="5564" v0="1379" v1="2155" v2="2520" v3="2994" />
+ <tetrahedron index="5565" v0="905" v1="1292" v2="1379" v3="2520" />
+ <tetrahedron index="5566" v0="1292" v1="1379" v2="2520" v3="2907" />
+ <tetrahedron index="5567" v0="1379" v1="2520" v2="2907" v3="2994" />
+ <tetrahedron index="5568" v0="450" v1="937" v2="1158" v3="2065" />
+ <tetrahedron index="5569" v0="937" v1="1158" v2="2065" v3="2552" />
+ <tetrahedron index="5570" v0="1158" v1="2065" v2="2552" v3="2773" />
+ <tetrahedron index="5571" v0="450" v1="1116" v2="1158" v3="2065" />
+ <tetrahedron index="5572" v0="1116" v1="1158" v2="2065" v3="2731" />
+ <tetrahedron index="5573" v0="1158" v1="2065" v2="2731" v3="2773" />
+ <tetrahedron index="5574" v0="625" v1="888" v2="1325" v3="2240" />
+ <tetrahedron index="5575" v0="888" v1="1325" v2="2240" v3="2503" />
+ <tetrahedron index="5576" v0="1325" v1="2240" v2="2503" v3="2940" />
+ <tetrahedron index="5577" v0="625" v1="626" v2="1325" v3="2240" />
+ <tetrahedron index="5578" v0="626" v1="1325" v2="2240" v3="2241" />
+ <tetrahedron index="5579" v0="1325" v1="2240" v2="2241" v3="2940" />
+ <tetrahedron index="5580" v0="1153" v1="1217" v2="1352" v3="2768" />
+ <tetrahedron index="5581" v0="1217" v1="1352" v2="2768" v3="2832" />
+ <tetrahedron index="5582" v0="1352" v1="2768" v2="2832" v3="2967" />
+ <tetrahedron index="5583" v0="1153" v1="1163" v2="1352" v3="2768" />
+ <tetrahedron index="5584" v0="1163" v1="1352" v2="2768" v3="2778" />
+ <tetrahedron index="5585" v0="1352" v1="2768" v2="2778" v3="2967" />
+ <tetrahedron index="5586" v0="1257" v1="1380" v2="1381" v3="2872" />
+ <tetrahedron index="5587" v0="1380" v1="1381" v2="2872" v3="2995" />
+ <tetrahedron index="5588" v0="1381" v1="2872" v2="2995" v3="2996" />
+ <tetrahedron index="5589" v0="370" v1="609" v2="1212" v3="1985" />
+ <tetrahedron index="5590" v0="609" v1="1212" v2="1985" v3="2224" />
+ <tetrahedron index="5591" v0="1212" v1="1985" v2="2224" v3="2827" />
+ <tetrahedron index="5592" v0="600" v1="609" v2="1212" v3="2215" />
+ <tetrahedron index="5593" v0="609" v1="1212" v2="2215" v3="2224" />
+ <tetrahedron index="5594" v0="1212" v1="2215" v2="2224" v3="2827" />
+ <tetrahedron index="5595" v0="1162" v1="1163" v2="1199" v3="2777" />
+ <tetrahedron index="5596" v0="1163" v1="1199" v2="2777" v3="2778" />
+ <tetrahedron index="5597" v0="1199" v1="2777" v2="2778" v3="2814" />
+ <tetrahedron index="5598" v0="771" v1="945" v2="946" v3="2386" />
+ <tetrahedron index="5599" v0="945" v1="946" v2="2386" v3="2560" />
+ <tetrahedron index="5600" v0="946" v1="2386" v2="2560" v3="2561" />
+ <tetrahedron index="5601" v0="771" v1="945" v2="1382" v3="2386" />
+ <tetrahedron index="5602" v0="945" v1="1382" v2="2386" v3="2560" />
+ <tetrahedron index="5603" v0="1382" v1="2386" v2="2560" v3="2997" />
+ <tetrahedron index="5604" v0="985" v1="1161" v2="1356" v3="2600" />
+ <tetrahedron index="5605" v0="1161" v1="1356" v2="2600" v3="2776" />
+ <tetrahedron index="5606" v0="1356" v1="2600" v2="2776" v3="2971" />
+ <tetrahedron index="5607" v0="611" v1="1161" v2="1356" v3="2226" />
+ <tetrahedron index="5608" v0="1161" v1="1356" v2="2226" v3="2776" />
+ <tetrahedron index="5609" v0="1356" v1="2226" v2="2776" v3="2971" />
+ <tetrahedron index="5610" v0="505" v1="1000" v2="1371" v3="2120" />
+ <tetrahedron index="5611" v0="1000" v1="1371" v2="2120" v3="2615" />
+ <tetrahedron index="5612" v0="1371" v1="2120" v2="2615" v3="2986" />
+ <tetrahedron index="5613" v0="872" v1="1000" v2="1371" v3="2487" />
+ <tetrahedron index="5614" v0="1000" v1="1371" v2="2487" v3="2615" />
+ <tetrahedron index="5615" v0="1371" v1="2487" v2="2615" v3="2986" />
+ <tetrahedron index="5616" v0="844" v1="1325" v2="1364" v3="2459" />
+ <tetrahedron index="5617" v0="1325" v1="1364" v2="2459" v3="2940" />
+ <tetrahedron index="5618" v0="1364" v1="2459" v2="2940" v3="2979" />
+ <tetrahedron index="5619" v0="844" v1="1059" v2="1325" v3="2459" />
+ <tetrahedron index="5620" v0="1059" v1="1325" v2="2459" v3="2674" />
+ <tetrahedron index="5621" v0="1325" v1="2459" v2="2674" v3="2940" />
+ <tetrahedron index="5622" v0="1154" v1="1225" v2="1383" v3="2769" />
+ <tetrahedron index="5623" v0="1225" v1="1383" v2="2769" v3="2840" />
+ <tetrahedron index="5624" v0="1383" v1="2769" v2="2840" v3="2998" />
+ <tetrahedron index="5625" v0="751" v1="847" v2="1306" v3="2366" />
+ <tetrahedron index="5626" v0="847" v1="1306" v2="2366" v3="2462" />
+ <tetrahedron index="5627" v0="1306" v1="2366" v2="2462" v3="2921" />
+ <tetrahedron index="5628" v0="847" v1="1305" v2="1306" v3="2462" />
+ <tetrahedron index="5629" v0="1305" v1="1306" v2="2462" v3="2920" />
+ <tetrahedron index="5630" v0="1306" v1="2462" v2="2920" v3="2921" />
+ <tetrahedron index="5631" v0="1163" v1="1199" v2="1352" v3="2778" />
+ <tetrahedron index="5632" v0="1199" v1="1352" v2="2778" v3="2814" />
+ <tetrahedron index="5633" v0="1352" v1="2778" v2="2814" v3="2967" />
+ <tetrahedron index="5634" v0="1111" v1="1199" v2="1352" v3="2726" />
+ <tetrahedron index="5635" v0="1199" v1="1352" v2="2726" v3="2814" />
+ <tetrahedron index="5636" v0="1352" v1="2726" v2="2814" v3="2967" />
+ <tetrahedron index="5637" v0="199" v1="1268" v2="1335" v3="1814" />
+ <tetrahedron index="5638" v0="1268" v1="1335" v2="1814" v3="2883" />
+ <tetrahedron index="5639" v0="1335" v1="1814" v2="2883" v3="2950" />
+ <tetrahedron index="5640" v0="1178" v1="1268" v2="1335" v3="2793" />
+ <tetrahedron index="5641" v0="1268" v1="1335" v2="2793" v3="2883" />
+ <tetrahedron index="5642" v0="1335" v1="2793" v2="2883" v3="2950" />
+ <tetrahedron index="5643" v0="348" v1="379" v2="1303" v3="1963" />
+ <tetrahedron index="5644" v0="379" v1="1303" v2="1963" v3="1994" />
+ <tetrahedron index="5645" v0="1303" v1="1963" v2="1994" v3="2918" />
+ <tetrahedron index="5646" v0="348" v1="1061" v2="1303" v3="1963" />
+ <tetrahedron index="5647" v0="1061" v1="1303" v2="1963" v3="2676" />
+ <tetrahedron index="5648" v0="1303" v1="1963" v2="2676" v3="2918" />
+ <tetrahedron index="5649" v0="162" v1="608" v2="1180" v3="1777" />
+ <tetrahedron index="5650" v0="608" v1="1180" v2="1777" v3="2223" />
+ <tetrahedron index="5651" v0="1180" v1="1777" v2="2223" v3="2795" />
+ <tetrahedron index="5652" v0="162" v1="1179" v2="1180" v3="1777" />
+ <tetrahedron index="5653" v0="1179" v1="1180" v2="1777" v3="2794" />
+ <tetrahedron index="5654" v0="1180" v1="1777" v2="2794" v3="2795" />
+ <tetrahedron index="5655" v0="1116" v1="1158" v2="1273" v3="2731" />
+ <tetrahedron index="5656" v0="1158" v1="1273" v2="2731" v3="2773" />
+ <tetrahedron index="5657" v0="1273" v1="2731" v2="2773" v3="2888" />
+ <tetrahedron index="5658" v0="1158" v1="1159" v2="1273" v3="2773" />
+ <tetrahedron index="5659" v0="1159" v1="1273" v2="2773" v3="2774" />
+ <tetrahedron index="5660" v0="1273" v1="2773" v2="2774" v3="2888" />
+ <tetrahedron index="5661" v0="255" v1="1293" v2="1368" v3="1870" />
+ <tetrahedron index="5662" v0="1293" v1="1368" v2="1870" v3="2908" />
+ <tetrahedron index="5663" v0="1368" v1="1870" v2="2908" v3="2983" />
+ <tetrahedron index="5664" v0="1293" v1="1367" v2="1368" v3="2908" />
+ <tetrahedron index="5665" v0="1367" v1="1368" v2="2908" v3="2982" />
+ <tetrahedron index="5666" v0="1368" v1="2908" v2="2982" v3="2983" />
+ <tetrahedron index="5667" v0="728" v1="1107" v2="1269" v3="2343" />
+ <tetrahedron index="5668" v0="1107" v1="1269" v2="2343" v3="2722" />
+ <tetrahedron index="5669" v0="1269" v1="2343" v2="2722" v3="2884" />
+ <tetrahedron index="5670" v0="199" v1="728" v2="1269" v3="1814" />
+ <tetrahedron index="5671" v0="728" v1="1269" v2="1814" v3="2343" />
+ <tetrahedron index="5672" v0="1269" v1="1814" v2="2343" v3="2884" />
+ <tetrahedron index="5673" v0="1028" v1="1065" v2="1384" v3="2643" />
+ <tetrahedron index="5674" v0="1065" v1="1384" v2="2643" v3="2680" />
+ <tetrahedron index="5675" v0="1384" v1="2643" v2="2680" v3="2999" />
+ <tetrahedron index="5676" v0="395" v1="494" v2="1180" v3="2010" />
+ <tetrahedron index="5677" v0="494" v1="1180" v2="2010" v3="2109" />
+ <tetrahedron index="5678" v0="1180" v1="2010" v2="2109" v3="2795" />
+ <tetrahedron index="5679" v0="910" v1="1332" v2="1333" v3="2525" />
+ <tetrahedron index="5680" v0="1332" v1="1333" v2="2525" v3="2947" />
+ <tetrahedron index="5681" v0="1333" v1="2525" v2="2947" v3="2948" />
+ <tetrahedron index="5682" v0="910" v1="1091" v2="1332" v3="2525" />
+ <tetrahedron index="5683" v0="1091" v1="1332" v2="2525" v3="2706" />
+ <tetrahedron index="5684" v0="1332" v1="2525" v2="2706" v3="2947" />
+ <tetrahedron index="5685" v0="2" v1="708" v2="1187" v3="1617" />
+ <tetrahedron index="5686" v0="708" v1="1187" v2="1617" v3="2323" />
+ <tetrahedron index="5687" v0="1187" v1="1617" v2="2323" v3="2802" />
+ <tetrahedron index="5688" v0="1155" v1="1303" v2="1304" v3="2770" />
+ <tetrahedron index="5689" v0="1303" v1="1304" v2="2770" v3="2918" />
+ <tetrahedron index="5690" v0="1304" v1="2770" v2="2918" v3="2919" />
+ <tetrahedron index="5691" v0="1134" v1="1198" v2="1271" v3="2749" />
+ <tetrahedron index="5692" v0="1198" v1="1271" v2="2749" v3="2813" />
+ <tetrahedron index="5693" v0="1271" v1="2749" v2="2813" v3="2886" />
+ <tetrahedron index="5694" v0="979" v1="1108" v2="1169" v3="2594" />
+ <tetrahedron index="5695" v0="1108" v1="1169" v2="2594" v3="2723" />
+ <tetrahedron index="5696" v0="1169" v1="2594" v2="2723" v3="2784" />
+ <tetrahedron index="5697" v0="150" v1="1278" v2="1368" v3="1765" />
+ <tetrahedron index="5698" v0="1278" v1="1368" v2="1765" v3="2893" />
+ <tetrahedron index="5699" v0="1368" v1="1765" v2="2893" v3="2983" />
+ <tetrahedron index="5700" v0="150" v1="255" v2="1368" v3="1765" />
+ <tetrahedron index="5701" v0="255" v1="1368" v2="1765" v3="1870" />
+ <tetrahedron index="5702" v0="1368" v1="1765" v2="1870" v3="2983" />
+ <tetrahedron index="5703" v0="582" v1="612" v2="1356" v3="2197" />
+ <tetrahedron index="5704" v0="612" v1="1356" v2="2197" v3="2227" />
+ <tetrahedron index="5705" v0="1356" v1="2197" v2="2227" v3="2971" />
+ <tetrahedron index="5706" v0="611" v1="612" v2="1356" v3="2226" />
+ <tetrahedron index="5707" v0="612" v1="1356" v2="2226" v3="2227" />
+ <tetrahedron index="5708" v0="1356" v1="2226" v2="2227" v3="2971" />
+ <tetrahedron index="5709" v0="550" v1="707" v2="1355" v3="2165" />
+ <tetrahedron index="5710" v0="707" v1="1355" v2="2165" v3="2322" />
+ <tetrahedron index="5711" v0="1355" v1="2165" v2="2322" v3="2970" />
+ <tetrahedron index="5712" v0="418" v1="1288" v2="1385" v3="2033" />
+ <tetrahedron index="5713" v0="1288" v1="1385" v2="2033" v3="2903" />
+ <tetrahedron index="5714" v0="1385" v1="2033" v2="2903" v3="3000" />
+ <tetrahedron index="5715" v0="9" v1="11" v2="827" v3="1624" />
+ <tetrahedron index="5716" v0="11" v1="827" v2="1624" v3="1626" />
+ <tetrahedron index="5717" v0="827" v1="1624" v2="1626" v3="2442" />
+ <tetrahedron index="5718" v0="9" v1="827" v2="1232" v3="1624" />
+ <tetrahedron index="5719" v0="827" v1="1232" v2="1624" v3="2442" />
+ <tetrahedron index="5720" v0="1232" v1="1624" v2="2442" v3="2847" />
+ <tetrahedron index="5721" v0="1219" v1="1313" v2="1386" v3="2834" />
+ <tetrahedron index="5722" v0="1313" v1="1386" v2="2834" v3="2928" />
+ <tetrahedron index="5723" v0="1386" v1="2834" v2="2928" v3="3001" />
+ <tetrahedron index="5724" v0="1313" v1="1360" v2="1386" v3="2928" />
+ <tetrahedron index="5725" v0="1360" v1="1386" v2="2928" v3="2975" />
+ <tetrahedron index="5726" v0="1386" v1="2928" v2="2975" v3="3001" />
+ <tetrahedron index="5727" v0="945" v1="1250" v2="1382" v3="2560" />
+ <tetrahedron index="5728" v0="1250" v1="1382" v2="2560" v3="2865" />
+ <tetrahedron index="5729" v0="1382" v1="2560" v2="2865" v3="2997" />
+ <tetrahedron index="5730" v0="421" v1="1292" v2="1379" v3="2036" />
+ <tetrahedron index="5731" v0="1292" v1="1379" v2="2036" v3="2907" />
+ <tetrahedron index="5732" v0="1379" v1="2036" v2="2907" v3="2994" />
+ <tetrahedron index="5733" v0="12" v1="1046" v2="1365" v3="1627" />
+ <tetrahedron index="5734" v0="1046" v1="1365" v2="1627" v3="2661" />
+ <tetrahedron index="5735" v0="1365" v1="1627" v2="2661" v3="2980" />
+ <tetrahedron index="5736" v0="12" v1="13" v2="1365" v3="1627" />
+ <tetrahedron index="5737" v0="13" v1="1365" v2="1627" v3="1628" />
+ <tetrahedron index="5738" v0="1365" v1="1627" v2="1628" v3="2980" />
+ <tetrahedron index="5739" v0="238" v1="510" v2="1387" v3="1853" />
+ <tetrahedron index="5740" v0="510" v1="1387" v2="1853" v3="2125" />
+ <tetrahedron index="5741" v0="1387" v1="1853" v2="2125" v3="3002" />
+ <tetrahedron index="5742" v0="238" v1="239" v2="1387" v3="1853" />
+ <tetrahedron index="5743" v0="239" v1="1387" v2="1853" v3="1854" />
+ <tetrahedron index="5744" v0="1387" v1="1853" v2="1854" v3="3002" />
+ <tetrahedron index="5745" v0="485" v1="639" v2="757" v3="2100" />
+ <tetrahedron index="5746" v0="639" v1="757" v2="2100" v3="2254" />
+ <tetrahedron index="5747" v0="757" v1="2100" v2="2254" v3="2372" />
+ <tetrahedron index="5748" v0="485" v1="486" v2="639" v3="2100" />
+ <tetrahedron index="5749" v0="486" v1="639" v2="2100" v3="2101" />
+ <tetrahedron index="5750" v0="639" v1="2100" v2="2101" v3="2254" />
+ <tetrahedron index="5751" v0="412" v1="724" v2="725" v3="2027" />
+ <tetrahedron index="5752" v0="724" v1="725" v2="2027" v3="2339" />
+ <tetrahedron index="5753" v0="725" v1="2027" v2="2339" v3="2340" />
+ <tetrahedron index="5754" v0="377" v1="412" v2="724" v3="1992" />
+ <tetrahedron index="5755" v0="412" v1="724" v2="1992" v3="2027" />
+ <tetrahedron index="5756" v0="724" v1="1992" v2="2027" v3="2339" />
+ <tetrahedron index="5757" v0="761" v1="979" v2="1321" v3="2376" />
+ <tetrahedron index="5758" v0="979" v1="1321" v2="2376" v3="2594" />
+ <tetrahedron index="5759" v0="1321" v1="2376" v2="2594" v3="2936" />
+ <tetrahedron index="5760" v0="556" v1="761" v2="1321" v3="2171" />
+ <tetrahedron index="5761" v0="761" v1="1321" v2="2171" v3="2376" />
+ <tetrahedron index="5762" v0="1321" v1="2171" v2="2376" v3="2936" />
+ <tetrahedron index="5763" v0="1360" v1="1361" v2="1388" v3="2975" />
+ <tetrahedron index="5764" v0="1361" v1="1388" v2="2975" v3="2976" />
+ <tetrahedron index="5765" v0="1388" v1="2975" v2="2976" v3="3003" />
+ <tetrahedron index="5766" v0="1343" v1="1361" v2="1388" v3="2958" />
+ <tetrahedron index="5767" v0="1361" v1="1388" v2="2958" v3="2976" />
+ <tetrahedron index="5768" v0="1388" v1="2958" v2="2976" v3="3003" />
+ <tetrahedron index="5769" v0="432" v1="908" v2="1330" v3="2047" />
+ <tetrahedron index="5770" v0="908" v1="1330" v2="2047" v3="2523" />
+ <tetrahedron index="5771" v0="1330" v1="2047" v2="2523" v3="2945" />
+ <tetrahedron index="5772" v0="432" v1="1284" v2="1330" v3="2047" />
+ <tetrahedron index="5773" v0="1284" v1="1330" v2="2047" v3="2899" />
+ <tetrahedron index="5774" v0="1330" v1="2047" v2="2899" v3="2945" />
+ <tetrahedron index="5775" v0="180" v1="893" v2="1183" v3="1795" />
+ <tetrahedron index="5776" v0="893" v1="1183" v2="1795" v3="2508" />
+ <tetrahedron index="5777" v0="1183" v1="1795" v2="2508" v3="2798" />
+ <tetrahedron index="5778" v0="68" v1="724" v2="822" v3="1683" />
+ <tetrahedron index="5779" v0="724" v1="822" v2="1683" v3="2339" />
+ <tetrahedron index="5780" v0="822" v1="1683" v2="2339" v3="2437" />
+ <tetrahedron index="5781" v0="377" v1="724" v2="822" v3="1992" />
+ <tetrahedron index="5782" v0="724" v1="822" v2="1992" v3="2339" />
+ <tetrahedron index="5783" v0="822" v1="1992" v2="2339" v3="2437" />
+ <tetrahedron index="5784" v0="620" v1="621" v2="1323" v3="2235" />
+ <tetrahedron index="5785" v0="621" v1="1323" v2="2235" v3="2236" />
+ <tetrahedron index="5786" v0="1323" v1="2235" v2="2236" v3="2938" />
+ <tetrahedron index="5787" v0="621" v1="1289" v2="1323" v3="2236" />
+ <tetrahedron index="5788" v0="1289" v1="1323" v2="2236" v3="2904" />
+ <tetrahedron index="5789" v0="1323" v1="2236" v2="2904" v3="2938" />
+ <tetrahedron index="5790" v0="840" v1="1017" v2="1085" v3="2455" />
+ <tetrahedron index="5791" v0="1017" v1="1085" v2="2455" v3="2632" />
+ <tetrahedron index="5792" v0="1085" v1="2455" v2="2632" v3="2700" />
+ <tetrahedron index="5793" v0="1017" v1="1042" v2="1085" v3="2632" />
+ <tetrahedron index="5794" v0="1042" v1="1085" v2="2632" v3="2657" />
+ <tetrahedron index="5795" v0="1085" v1="2632" v2="2657" v3="2700" />
+ <tetrahedron index="5796" v0="1250" v1="1382" v2="1389" v3="2865" />
+ <tetrahedron index="5797" v0="1382" v1="1389" v2="2865" v3="2997" />
+ <tetrahedron index="5798" v0="1389" v1="2865" v2="2997" v3="3004" />
+ <tetrahedron index="5799" v0="561" v1="1389" v2="1390" v3="2176" />
+ <tetrahedron index="5800" v0="1389" v1="1390" v2="2176" v3="3004" />
+ <tetrahedron index="5801" v0="1390" v1="2176" v2="3004" v3="3005" />
+ <tetrahedron index="5802" v0="514" v1="723" v2="1328" v3="2129" />
+ <tetrahedron index="5803" v0="723" v1="1328" v2="2129" v3="2338" />
+ <tetrahedron index="5804" v0="1328" v1="2129" v2="2338" v3="2943" />
+ <tetrahedron index="5805" v0="514" v1="867" v2="1328" v3="2129" />
+ <tetrahedron index="5806" v0="867" v1="1328" v2="2129" v3="2482" />
+ <tetrahedron index="5807" v0="1328" v1="2129" v2="2482" v3="2943" />
+ <tetrahedron index="5808" v0="1190" v1="1391" v2="1392" v3="2805" />
+ <tetrahedron index="5809" v0="1391" v1="1392" v2="2805" v3="3006" />
+ <tetrahedron index="5810" v0="1392" v1="2805" v2="3006" v3="3007" />
+ <tetrahedron index="5811" v0="1242" v1="1366" v2="1393" v3="2857" />
+ <tetrahedron index="5812" v0="1366" v1="1393" v2="2857" v3="2981" />
+ <tetrahedron index="5813" v0="1393" v1="2857" v2="2981" v3="3008" />
+ <tetrahedron index="5814" v0="1294" v1="1366" v2="1393" v3="2909" />
+ <tetrahedron index="5815" v0="1366" v1="1393" v2="2909" v3="2981" />
+ <tetrahedron index="5816" v0="1393" v1="2909" v2="2981" v3="3008" />
+ <tetrahedron index="5817" v0="378" v1="379" v2="1297" v3="1993" />
+ <tetrahedron index="5818" v0="379" v1="1297" v2="1993" v3="1994" />
+ <tetrahedron index="5819" v0="1297" v1="1993" v2="1994" v3="2912" />
+ <tetrahedron index="5820" v0="379" v1="1297" v2="1304" v3="1994" />
+ <tetrahedron index="5821" v0="1297" v1="1304" v2="1994" v3="2912" />
+ <tetrahedron index="5822" v0="1304" v1="1994" v2="2912" v3="2919" />
+ <tetrahedron index="5823" v0="560" v1="1081" v2="1371" v3="2175" />
+ <tetrahedron index="5824" v0="1081" v1="1371" v2="2175" v3="2696" />
+ <tetrahedron index="5825" v0="1371" v1="2175" v2="2696" v3="2986" />
+ <tetrahedron index="5826" v0="505" v1="1081" v2="1371" v3="2120" />
+ <tetrahedron index="5827" v0="1081" v1="1371" v2="2120" v3="2696" />
+ <tetrahedron index="5828" v0="1371" v1="2120" v2="2696" v3="2986" />
+ <tetrahedron index="5829" v0="694" v1="1285" v2="1322" v3="2309" />
+ <tetrahedron index="5830" v0="1285" v1="1322" v2="2309" v3="2900" />
+ <tetrahedron index="5831" v0="1322" v1="2309" v2="2900" v3="2937" />
+ <tetrahedron index="5832" v0="1227" v1="1285" v2="1322" v3="2842" />
+ <tetrahedron index="5833" v0="1285" v1="1322" v2="2842" v3="2900" />
+ <tetrahedron index="5834" v0="1322" v1="2842" v2="2900" v3="2937" />
+ <tetrahedron index="5835" v0="541" v1="1209" v2="1243" v3="2156" />
+ <tetrahedron index="5836" v0="1209" v1="1243" v2="2156" v3="2824" />
+ <tetrahedron index="5837" v0="1243" v1="2156" v2="2824" v3="2858" />
+ <tetrahedron index="5838" v0="487" v1="541" v2="1209" v3="2102" />
+ <tetrahedron index="5839" v0="541" v1="1209" v2="2102" v3="2156" />
+ <tetrahedron index="5840" v0="1209" v1="2102" v2="2156" v3="2824" />
+ <tetrahedron index="5841" v0="25" v1="835" v2="1281" v3="1640" />
+ <tetrahedron index="5842" v0="835" v1="1281" v2="1640" v3="2450" />
+ <tetrahedron index="5843" v0="1281" v1="1640" v2="2450" v3="2896" />
+ <tetrahedron index="5844" v0="529" v1="1279" v2="1378" v3="2144" />
+ <tetrahedron index="5845" v0="1279" v1="1378" v2="2144" v3="2894" />
+ <tetrahedron index="5846" v0="1378" v1="2144" v2="2894" v3="2993" />
+ <tetrahedron index="5847" v0="107" v1="1279" v2="1378" v3="1722" />
+ <tetrahedron index="5848" v0="1279" v1="1378" v2="1722" v3="2894" />
+ <tetrahedron index="5849" v0="1378" v1="1722" v2="2894" v3="2993" />
+ <tetrahedron index="5850" v0="1139" v1="1394" v2="1395" v3="2754" />
+ <tetrahedron index="5851" v0="1394" v1="1395" v2="2754" v3="3009" />
+ <tetrahedron index="5852" v0="1395" v1="2754" v2="3009" v3="3010" />
+ <tetrahedron index="5853" v0="1139" v1="1140" v2="1395" v3="2754" />
+ <tetrahedron index="5854" v0="1140" v1="1395" v2="2754" v3="2755" />
+ <tetrahedron index="5855" v0="1395" v1="2754" v2="2755" v3="3010" />
+ <tetrahedron index="5856" v0="1162" v1="1189" v2="1190" v3="2777" />
+ <tetrahedron index="5857" v0="1189" v1="1190" v2="2777" v3="2804" />
+ <tetrahedron index="5858" v0="1190" v1="2777" v2="2804" v3="2805" />
+ <tetrahedron index="5859" v0="1162" v1="1190" v2="1391" v3="2777" />
+ <tetrahedron index="5860" v0="1190" v1="1391" v2="2777" v3="2805" />
+ <tetrahedron index="5861" v0="1391" v1="2777" v2="2805" v3="3006" />
+ <tetrahedron index="5862" v0="123" v1="246" v2="1335" v3="1738" />
+ <tetrahedron index="5863" v0="246" v1="1335" v2="1738" v3="1861" />
+ <tetrahedron index="5864" v0="1335" v1="1738" v2="1861" v3="2950" />
+ <tetrahedron index="5865" v0="246" v1="269" v2="1335" v3="1861" />
+ <tetrahedron index="5866" v0="269" v1="1335" v2="1861" v3="1884" />
+ <tetrahedron index="5867" v0="1335" v1="1861" v2="1884" v3="2950" />
+ <tetrahedron index="5868" v0="1301" v1="1370" v2="1396" v3="2916" />
+ <tetrahedron index="5869" v0="1370" v1="1396" v2="2916" v3="2985" />
+ <tetrahedron index="5870" v0="1396" v1="2916" v2="2985" v3="3011" />
+ <tetrahedron index="5871" v0="808" v1="1370" v2="1396" v3="2423" />
+ <tetrahedron index="5872" v0="1370" v1="1396" v2="2423" v3="2985" />
+ <tetrahedron index="5873" v0="1396" v1="2423" v2="2985" v3="3011" />
+ <tetrahedron index="5874" v0="932" v1="1091" v2="1330" v3="2547" />
+ <tetrahedron index="5875" v0="1091" v1="1330" v2="2547" v3="2706" />
+ <tetrahedron index="5876" v0="1330" v1="2547" v2="2706" v3="2945" />
+ <tetrahedron index="5877" v0="910" v1="1091" v2="1330" v3="2525" />
+ <tetrahedron index="5878" v0="1091" v1="1330" v2="2525" v3="2706" />
+ <tetrahedron index="5879" v0="1330" v1="2525" v2="2706" v3="2945" />
+ <tetrahedron index="5880" v0="104" v1="1035" v2="1397" v3="1719" />
+ <tetrahedron index="5881" v0="1035" v1="1397" v2="1719" v3="2650" />
+ <tetrahedron index="5882" v0="1397" v1="1719" v2="2650" v3="3012" />
+ <tetrahedron index="5883" v0="104" v1="1375" v2="1397" v3="1719" />
+ <tetrahedron index="5884" v0="1375" v1="1397" v2="1719" v3="2990" />
+ <tetrahedron index="5885" v0="1397" v1="1719" v2="2990" v3="3012" />
+ <tetrahedron index="5886" v0="659" v1="990" v2="1288" v3="2274" />
+ <tetrahedron index="5887" v0="990" v1="1288" v2="2274" v3="2605" />
+ <tetrahedron index="5888" v0="1288" v1="2274" v2="2605" v3="2903" />
+ <tetrahedron index="5889" v0="706" v1="1347" v2="1398" v3="2321" />
+ <tetrahedron index="5890" v0="1347" v1="1398" v2="2321" v3="2962" />
+ <tetrahedron index="5891" v0="1398" v1="2321" v2="2962" v3="3013" />
+ <tetrahedron index="5892" v0="757" v1="1127" v2="1252" v3="2372" />
+ <tetrahedron index="5893" v0="1127" v1="1252" v2="2372" v3="2742" />
+ <tetrahedron index="5894" v0="1252" v1="2372" v2="2742" v3="2867" />
+ <tetrahedron index="5895" v0="757" v1="1251" v2="1252" v3="2372" />
+ <tetrahedron index="5896" v0="1251" v1="1252" v2="2372" v3="2866" />
+ <tetrahedron index="5897" v0="1252" v1="2372" v2="2866" v3="2867" />
+ <tetrahedron index="5898" v0="1080" v1="1343" v2="1361" v3="2695" />
+ <tetrahedron index="5899" v0="1343" v1="1361" v2="2695" v3="2958" />
+ <tetrahedron index="5900" v0="1361" v1="2695" v2="2958" v3="2976" />
+ <tetrahedron index="5901" v0="759" v1="1080" v2="1361" v3="2374" />
+ <tetrahedron index="5902" v0="1080" v1="1361" v2="2374" v3="2695" />
+ <tetrahedron index="5903" v0="1361" v1="2374" v2="2695" v3="2976" />
+ <tetrahedron index="5904" v0="668" v1="1025" v2="1080" v3="2283" />
+ <tetrahedron index="5905" v0="1025" v1="1080" v2="2283" v3="2640" />
+ <tetrahedron index="5906" v0="1080" v1="2283" v2="2640" v3="2695" />
+ <tetrahedron index="5907" v0="668" v1="884" v2="1080" v3="2283" />
+ <tetrahedron index="5908" v0="884" v1="1080" v2="2283" v3="2499" />
+ <tetrahedron index="5909" v0="1080" v1="2283" v2="2499" v3="2695" />
+ <tetrahedron index="5910" v0="1399" v1="1400" v2="1401" v3="3014" />
+ <tetrahedron index="5911" v0="1400" v1="1401" v2="3014" v3="3015" />
+ <tetrahedron index="5912" v0="1401" v1="3014" v2="3015" v3="3016" />
+ <tetrahedron index="5913" v0="1086" v1="1118" v2="1377" v3="2701" />
+ <tetrahedron index="5914" v0="1118" v1="1377" v2="2701" v3="2733" />
+ <tetrahedron index="5915" v0="1377" v1="2701" v2="2733" v3="2992" />
+ <tetrahedron index="5916" v0="136" v1="593" v2="827" v3="1751" />
+ <tetrahedron index="5917" v0="593" v1="827" v2="1751" v3="2208" />
+ <tetrahedron index="5918" v0="827" v1="1751" v2="2208" v3="2442" />
+ <tetrahedron index="5919" v0="929" v1="1402" v2="1403" v3="2544" />
+ <tetrahedron index="5920" v0="1402" v1="1403" v2="2544" v3="3017" />
+ <tetrahedron index="5921" v0="1403" v1="2544" v2="3017" v3="3018" />
+ <tetrahedron index="5922" v0="964" v1="1065" v2="1384" v3="2579" />
+ <tetrahedron index="5923" v0="1065" v1="1384" v2="2579" v3="2680" />
+ <tetrahedron index="5924" v0="1384" v1="2579" v2="2680" v3="2999" />
+ <tetrahedron index="5925" v0="1047" v1="1311" v2="1404" v3="2662" />
+ <tetrahedron index="5926" v0="1311" v1="1404" v2="2662" v3="2926" />
+ <tetrahedron index="5927" v0="1404" v1="2662" v2="2926" v3="3019" />
+ <tetrahedron index="5928" v0="91" v1="93" v2="664" v3="1706" />
+ <tetrahedron index="5929" v0="93" v1="664" v2="1706" v3="1708" />
+ <tetrahedron index="5930" v0="664" v1="1706" v2="1708" v3="2279" />
+ <tetrahedron index="5931" v0="991" v1="1405" v2="1406" v3="2606" />
+ <tetrahedron index="5932" v0="1405" v1="1406" v2="2606" v3="3020" />
+ <tetrahedron index="5933" v0="1406" v1="2606" v2="3020" v3="3021" />
+ <tetrahedron index="5934" v0="857" v1="858" v2="1215" v3="2472" />
+ <tetrahedron index="5935" v0="858" v1="1215" v2="2472" v3="2473" />
+ <tetrahedron index="5936" v0="1215" v1="2472" v2="2473" v3="2830" />
+ <tetrahedron index="5937" v0="138" v1="593" v2="1135" v3="1753" />
+ <tetrahedron index="5938" v0="593" v1="1135" v2="1753" v3="2208" />
+ <tetrahedron index="5939" v0="1135" v1="1753" v2="2208" v3="2750" />
+ <tetrahedron index="5940" v0="392" v1="936" v2="1407" v3="2007" />
+ <tetrahedron index="5941" v0="936" v1="1407" v2="2007" v3="2551" />
+ <tetrahedron index="5942" v0="1407" v1="2007" v2="2551" v3="3022" />
+ <tetrahedron index="5943" v0="643" v1="843" v2="869" v3="2258" />
+ <tetrahedron index="5944" v0="843" v1="869" v2="2258" v3="2458" />
+ <tetrahedron index="5945" v0="869" v1="2258" v2="2458" v3="2484" />
+ <tetrahedron index="5946" v0="820" v1="849" v2="1298" v3="2435" />
+ <tetrahedron index="5947" v0="849" v1="1298" v2="2435" v3="2464" />
+ <tetrahedron index="5948" v0="1298" v1="2435" v2="2464" v3="2913" />
+ <tetrahedron index="5949" v0="107" v1="1378" v2="1408" v3="1722" />
+ <tetrahedron index="5950" v0="1378" v1="1408" v2="1722" v3="2993" />
+ <tetrahedron index="5951" v0="1408" v1="1722" v2="2993" v3="3023" />
+ <tetrahedron index="5952" v0="107" v1="365" v2="1408" v3="1722" />
+ <tetrahedron index="5953" v0="365" v1="1408" v2="1722" v3="1980" />
+ <tetrahedron index="5954" v0="1408" v1="1722" v2="1980" v3="3023" />
+ <tetrahedron index="5955" v0="1040" v1="1041" v2="1409" v3="2655" />
+ <tetrahedron index="5956" v0="1041" v1="1409" v2="2655" v3="2656" />
+ <tetrahedron index="5957" v0="1409" v1="2655" v2="2656" v3="3024" />
+ <tetrahedron index="5958" v0="422" v1="423" v2="1329" v3="2037" />
+ <tetrahedron index="5959" v0="423" v1="1329" v2="2037" v3="2038" />
+ <tetrahedron index="5960" v0="1329" v1="2037" v2="2038" v3="2944" />
+ <tetrahedron index="5961" v0="746" v1="834" v2="1410" v3="2361" />
+ <tetrahedron index="5962" v0="834" v1="1410" v2="2361" v3="2449" />
+ <tetrahedron index="5963" v0="1410" v1="2361" v2="2449" v3="3025" />
+ <tetrahedron index="5964" v0="89" v1="1119" v2="1411" v3="1704" />
+ <tetrahedron index="5965" v0="1119" v1="1411" v2="1704" v3="2734" />
+ <tetrahedron index="5966" v0="1411" v1="1704" v2="2734" v3="3026" />
+ <tetrahedron index="5967" v0="1119" v1="1411" v2="1412" v3="2734" />
+ <tetrahedron index="5968" v0="1411" v1="1412" v2="2734" v3="3026" />
+ <tetrahedron index="5969" v0="1412" v1="2734" v2="3026" v3="3027" />
+ <tetrahedron index="5970" v0="993" v1="994" v2="1413" v3="2608" />
+ <tetrahedron index="5971" v0="994" v1="1413" v2="2608" v3="2609" />
+ <tetrahedron index="5972" v0="1413" v1="2608" v2="2609" v3="3028" />
+ <tetrahedron index="5973" v0="1414" v1="1415" v2="1416" v3="3029" />
+ <tetrahedron index="5974" v0="1415" v1="1416" v2="3029" v3="3030" />
+ <tetrahedron index="5975" v0="1416" v1="3029" v2="3030" v3="3031" />
+ <tetrahedron index="5976" v0="402" v1="403" v2="1417" v3="2017" />
+ <tetrahedron index="5977" v0="403" v1="1417" v2="2017" v3="2018" />
+ <tetrahedron index="5978" v0="1417" v1="2017" v2="2018" v3="3032" />
+ <tetrahedron index="5979" v0="1337" v1="1339" v2="1418" v3="2952" />
+ <tetrahedron index="5980" v0="1339" v1="1418" v2="2952" v3="2954" />
+ <tetrahedron index="5981" v0="1418" v1="2952" v2="2954" v3="3033" />
+ <tetrahedron index="5982" v0="164" v1="539" v2="1419" v3="1779" />
+ <tetrahedron index="5983" v0="539" v1="1419" v2="1779" v3="2154" />
+ <tetrahedron index="5984" v0="1419" v1="1779" v2="2154" v3="3034" />
+ <tetrahedron index="5985" v0="164" v1="1088" v2="1419" v3="1779" />
+ <tetrahedron index="5986" v0="1088" v1="1419" v2="1779" v3="2703" />
+ <tetrahedron index="5987" v0="1419" v1="1779" v2="2703" v3="3034" />
+ <tetrahedron index="5988" v0="488" v1="490" v2="1420" v3="2103" />
+ <tetrahedron index="5989" v0="490" v1="1420" v2="2103" v3="2105" />
+ <tetrahedron index="5990" v0="1420" v1="2103" v2="2105" v3="3035" />
+ <tetrahedron index="5991" v0="826" v1="1193" v2="1421" v3="2441" />
+ <tetrahedron index="5992" v0="1193" v1="1421" v2="2441" v3="2808" />
+ <tetrahedron index="5993" v0="1421" v1="2441" v2="2808" v3="3036" />
+ <tetrahedron index="5994" v0="1194" v1="1195" v2="1422" v3="2809" />
+ <tetrahedron index="5995" v0="1195" v1="1422" v2="2809" v3="2810" />
+ <tetrahedron index="5996" v0="1422" v1="2809" v2="2810" v3="3037" />
+ <tetrahedron index="5997" v0="191" v1="1423" v2="1424" v3="1806" />
+ <tetrahedron index="5998" v0="1423" v1="1424" v2="1806" v3="3038" />
+ <tetrahedron index="5999" v0="1424" v1="1806" v2="3038" v3="3039" />
+ <tetrahedron index="6000" v0="1153" v1="1163" v2="1425" v3="2768" />
+ <tetrahedron index="6001" v0="1163" v1="1425" v2="2768" v3="2778" />
+ <tetrahedron index="6002" v0="1425" v1="2768" v2="2778" v3="3040" />
+ <tetrahedron index="6003" v0="100" v1="1210" v2="1426" v3="1715" />
+ <tetrahedron index="6004" v0="1210" v1="1426" v2="1715" v3="2825" />
+ <tetrahedron index="6005" v0="1426" v1="1715" v2="2825" v3="3041" />
+ <tetrahedron index="6006" v0="945" v1="1248" v2="1250" v3="2560" />
+ <tetrahedron index="6007" v0="1248" v1="1250" v2="2560" v3="2863" />
+ <tetrahedron index="6008" v0="1250" v1="2560" v2="2863" v3="2865" />
+ <tetrahedron index="6009" v0="945" v1="947" v2="1248" v3="2560" />
+ <tetrahedron index="6010" v0="947" v1="1248" v2="2560" v3="2562" />
+ <tetrahedron index="6011" v0="1248" v1="2560" v2="2562" v3="2863" />
+ <tetrahedron index="6012" v0="1042" v1="1085" v2="1427" v3="2657" />
+ <tetrahedron index="6013" v0="1085" v1="1427" v2="2657" v3="2700" />
+ <tetrahedron index="6014" v0="1427" v1="2657" v2="2700" v3="3042" />
+ <tetrahedron index="6015" v0="990" v1="1288" v2="1428" v3="2605" />
+ <tetrahedron index="6016" v0="1288" v1="1428" v2="2605" v3="2903" />
+ <tetrahedron index="6017" v0="1428" v1="2605" v2="2903" v3="3043" />
+ <tetrahedron index="6018" v0="1109" v1="1110" v2="1429" v3="2724" />
+ <tetrahedron index="6019" v0="1110" v1="1429" v2="2724" v3="2725" />
+ <tetrahedron index="6020" v0="1429" v1="2724" v2="2725" v3="3044" />
+ <tetrahedron index="6021" v0="1391" v1="1392" v2="1430" v3="3006" />
+ <tetrahedron index="6022" v0="1392" v1="1430" v2="3006" v3="3007" />
+ <tetrahedron index="6023" v0="1430" v1="3006" v2="3007" v3="3045" />
+ <tetrahedron index="6024" v0="1203" v1="1431" v2="1432" v3="2818" />
+ <tetrahedron index="6025" v0="1431" v1="1432" v2="2818" v3="3046" />
+ <tetrahedron index="6026" v0="1432" v1="2818" v2="3046" v3="3047" />
+ <tetrahedron index="6027" v0="936" v1="1407" v2="1433" v3="2551" />
+ <tetrahedron index="6028" v0="1407" v1="1433" v2="2551" v3="3022" />
+ <tetrahedron index="6029" v0="1433" v1="2551" v2="3022" v3="3048" />
+ <tetrahedron index="6030" v0="1013" v1="1434" v2="1435" v3="2628" />
+ <tetrahedron index="6031" v0="1434" v1="1435" v2="2628" v3="3049" />
+ <tetrahedron index="6032" v0="1435" v1="2628" v2="3049" v3="3050" />
+ <tetrahedron index="6033" v0="1374" v1="1375" v2="1436" v3="2989" />
+ <tetrahedron index="6034" v0="1375" v1="1436" v2="2989" v3="2990" />
+ <tetrahedron index="6035" v0="1436" v1="2989" v2="2990" v3="3051" />
+ <tetrahedron index="6036" v0="1375" v1="1395" v2="1436" v3="2990" />
+ <tetrahedron index="6037" v0="1395" v1="1436" v2="2990" v3="3010" />
+ <tetrahedron index="6038" v0="1436" v1="2990" v2="3010" v3="3051" />
+ <tetrahedron index="6039" v0="4" v1="314" v2="460" v3="1619" />
+ <tetrahedron index="6040" v0="314" v1="460" v2="1619" v3="1929" />
+ <tetrahedron index="6041" v0="460" v1="1619" v2="1929" v3="2075" />
+ <tetrahedron index="6042" v0="839" v1="1112" v2="1437" v3="2454" />
+ <tetrahedron index="6043" v0="1112" v1="1437" v2="2454" v3="2727" />
+ <tetrahedron index="6044" v0="1437" v1="2454" v2="2727" v3="3052" />
+ <tetrahedron index="6045" v0="316" v1="317" v2="1438" v3="1931" />
+ <tetrahedron index="6046" v0="317" v1="1438" v2="1931" v3="1932" />
+ <tetrahedron index="6047" v0="1438" v1="1931" v2="1932" v3="3053" />
+ <tetrahedron index="6048" v0="92" v1="457" v2="1439" v3="1707" />
+ <tetrahedron index="6049" v0="457" v1="1439" v2="1707" v3="2072" />
+ <tetrahedron index="6050" v0="1439" v1="1707" v2="2072" v3="3054" />
+ <tetrahedron index="6051" v0="750" v1="1440" v2="1441" v3="2365" />
+ <tetrahedron index="6052" v0="1440" v1="1441" v2="2365" v3="3055" />
+ <tetrahedron index="6053" v0="1441" v1="2365" v2="3055" v3="3056" />
+ <tetrahedron index="6054" v0="272" v1="273" v2="738" v3="1887" />
+ <tetrahedron index="6055" v0="273" v1="738" v2="1887" v3="1888" />
+ <tetrahedron index="6056" v0="738" v1="1887" v2="1888" v3="2353" />
+ <tetrahedron index="6057" v0="220" v1="395" v2="1180" v3="1835" />
+ <tetrahedron index="6058" v0="395" v1="1180" v2="1835" v3="2010" />
+ <tetrahedron index="6059" v0="1180" v1="1835" v2="2010" v3="2795" />
+ <tetrahedron index="6060" v0="220" v1="395" v2="455" v3="1835" />
+ <tetrahedron index="6061" v0="395" v1="455" v2="1835" v3="2010" />
+ <tetrahedron index="6062" v0="455" v1="1835" v2="2010" v3="2070" />
+ <tetrahedron index="6063" v0="192" v1="1359" v2="1442" v3="1807" />
+ <tetrahedron index="6064" v0="1359" v1="1442" v2="1807" v3="2974" />
+ <tetrahedron index="6065" v0="1442" v1="1807" v2="2974" v3="3057" />
+ <tetrahedron index="6066" v0="373" v1="561" v2="836" v3="1988" />
+ <tetrahedron index="6067" v0="561" v1="836" v2="1988" v3="2176" />
+ <tetrahedron index="6068" v0="836" v1="1988" v2="2176" v3="2451" />
+ <tetrahedron index="6069" v0="344" v1="827" v2="1232" v3="1959" />
+ <tetrahedron index="6070" v0="827" v1="1232" v2="1959" v3="2442" />
+ <tetrahedron index="6071" v0="1232" v1="1959" v2="2442" v3="2847" />
+ <tetrahedron index="6072" v0="137" v1="344" v2="827" v3="1752" />
+ <tetrahedron index="6073" v0="344" v1="827" v2="1752" v3="1959" />
+ <tetrahedron index="6074" v0="827" v1="1752" v2="1959" v3="2442" />
+ <tetrahedron index="6075" v0="769" v1="1233" v2="1443" v3="2384" />
+ <tetrahedron index="6076" v0="1233" v1="1443" v2="2384" v3="2848" />
+ <tetrahedron index="6077" v0="1443" v1="2384" v2="2848" v3="3058" />
+ <tetrahedron index="6078" v0="925" v1="926" v2="1444" v3="2540" />
+ <tetrahedron index="6079" v0="926" v1="1444" v2="2540" v3="2541" />
+ <tetrahedron index="6080" v0="1444" v1="2540" v2="2541" v3="3059" />
+ <tetrahedron index="6081" v0="130" v1="696" v2="1445" v3="1745" />
+ <tetrahedron index="6082" v0="696" v1="1445" v2="1745" v3="2311" />
+ <tetrahedron index="6083" v0="1445" v1="1745" v2="2311" v3="3060" />
+ <tetrahedron index="6084" v0="695" v1="696" v2="1445" v3="2310" />
+ <tetrahedron index="6085" v0="696" v1="1445" v2="2310" v3="2311" />
+ <tetrahedron index="6086" v0="1445" v1="2310" v2="2311" v3="3060" />
+ <tetrahedron index="6087" v0="596" v1="714" v2="1376" v3="2211" />
+ <tetrahedron index="6088" v0="714" v1="1376" v2="2211" v3="2329" />
+ <tetrahedron index="6089" v0="1376" v1="2211" v2="2329" v3="2991" />
+ <tetrahedron index="6090" v0="12" v1="791" v2="1046" v3="1627" />
+ <tetrahedron index="6091" v0="791" v1="1046" v2="1627" v3="2406" />
+ <tetrahedron index="6092" v0="1046" v1="1627" v2="2406" v3="2661" />
+ <tetrahedron index="6093" v0="12" v1="791" v2="792" v3="1627" />
+ <tetrahedron index="6094" v0="791" v1="792" v2="1627" v3="2406" />
+ <tetrahedron index="6095" v0="792" v1="1627" v2="2406" v3="2407" />
+ <tetrahedron index="6096" v0="188" v1="381" v2="1446" v3="1803" />
+ <tetrahedron index="6097" v0="381" v1="1446" v2="1803" v3="1996" />
+ <tetrahedron index="6098" v0="1446" v1="1803" v2="1996" v3="3061" />
+ <tetrahedron index="6099" v0="1041" v1="1336" v2="1447" v3="2656" />
+ <tetrahedron index="6100" v0="1336" v1="1447" v2="2656" v3="2951" />
+ <tetrahedron index="6101" v0="1447" v1="2656" v2="2951" v3="3062" />
+ <tetrahedron index="6102" v0="1041" v1="1336" v2="1409" v3="2656" />
+ <tetrahedron index="6103" v0="1336" v1="1409" v2="2656" v3="2951" />
+ <tetrahedron index="6104" v0="1409" v1="2656" v2="2951" v3="3024" />
+ <tetrahedron index="6105" v0="270" v1="334" v2="1044" v3="1885" />
+ <tetrahedron index="6106" v0="334" v1="1044" v2="1885" v3="1949" />
+ <tetrahedron index="6107" v0="1044" v1="1885" v2="1949" v3="2659" />
+ <tetrahedron index="6108" v0="270" v1="340" v2="1044" v3="1885" />
+ <tetrahedron index="6109" v0="340" v1="1044" v2="1885" v3="1955" />
+ <tetrahedron index="6110" v0="1044" v1="1885" v2="1955" v3="2659" />
+ <tetrahedron index="6111" v0="743" v1="1055" v2="1248" v3="2358" />
+ <tetrahedron index="6112" v0="1055" v1="1248" v2="2358" v3="2670" />
+ <tetrahedron index="6113" v0="1248" v1="2358" v2="2670" v3="2863" />
+ <tetrahedron index="6114" v0="870" v1="1314" v2="1315" v3="2485" />
+ <tetrahedron index="6115" v0="1314" v1="1315" v2="2485" v3="2929" />
+ <tetrahedron index="6116" v0="1315" v1="2485" v2="2929" v3="2930" />
+ <tetrahedron index="6117" v0="864" v1="870" v2="1315" v3="2479" />
+ <tetrahedron index="6118" v0="870" v1="1315" v2="2479" v3="2485" />
+ <tetrahedron index="6119" v0="1315" v1="2479" v2="2485" v3="2930" />
+ <tetrahedron index="6120" v0="30" v1="572" v2="1448" v3="1645" />
+ <tetrahedron index="6121" v0="572" v1="1448" v2="1645" v3="2187" />
+ <tetrahedron index="6122" v0="1448" v1="1645" v2="2187" v3="3063" />
+ <tetrahedron index="6123" v0="30" v1="1249" v2="1448" v3="1645" />
+ <tetrahedron index="6124" v0="1249" v1="1448" v2="1645" v3="2864" />
+ <tetrahedron index="6125" v0="1448" v1="1645" v2="2864" v3="3063" />
+ <tetrahedron index="6126" v0="470" v1="988" v2="1106" v3="2085" />
+ <tetrahedron index="6127" v0="988" v1="1106" v2="2085" v3="2603" />
+ <tetrahedron index="6128" v0="1106" v1="2085" v2="2603" v3="2721" />
+ <tetrahedron index="6129" v0="1250" v1="1389" v2="1449" v3="2865" />
+ <tetrahedron index="6130" v0="1389" v1="1449" v2="2865" v3="3004" />
+ <tetrahedron index="6131" v0="1449" v1="2865" v2="3004" v3="3064" />
+ <tetrahedron index="6132" v0="1036" v1="1037" v2="1263" v3="2651" />
+ <tetrahedron index="6133" v0="1037" v1="1263" v2="2651" v3="2652" />
+ <tetrahedron index="6134" v0="1263" v1="2651" v2="2652" v3="2878" />
+ <tetrahedron index="6135" v0="1136" v1="1312" v2="1316" v3="2751" />
+ <tetrahedron index="6136" v0="1312" v1="1316" v2="2751" v3="2927" />
+ <tetrahedron index="6137" v0="1316" v1="2751" v2="2927" v3="2931" />
+ <tetrahedron index="6138" v0="954" v1="1312" v2="1316" v3="2569" />
+ <tetrahedron index="6139" v0="1312" v1="1316" v2="2569" v3="2927" />
+ <tetrahedron index="6140" v0="1316" v1="2569" v2="2927" v3="2931" />
+ <tetrahedron index="6141" v0="97" v1="99" v2="973" v3="1712" />
+ <tetrahedron index="6142" v0="99" v1="973" v2="1712" v3="1714" />
+ <tetrahedron index="6143" v0="973" v1="1712" v2="1714" v3="2588" />
+ <tetrahedron index="6144" v0="1005" v1="1291" v2="1450" v3="2620" />
+ <tetrahedron index="6145" v0="1291" v1="1450" v2="2620" v3="2906" />
+ <tetrahedron index="6146" v0="1450" v1="2620" v2="2906" v3="3065" />
+ <tetrahedron index="6147" v0="584" v1="665" v2="1451" v3="2199" />
+ <tetrahedron index="6148" v0="665" v1="1451" v2="2199" v3="2280" />
+ <tetrahedron index="6149" v0="1451" v1="2199" v2="2280" v3="3066" />
+ <tetrahedron index="6150" v0="665" v1="1106" v2="1451" v3="2280" />
+ <tetrahedron index="6151" v0="1106" v1="1451" v2="2280" v3="2721" />
+ <tetrahedron index="6152" v0="1451" v1="2280" v2="2721" v3="3066" />
+ <tetrahedron index="6153" v0="214" v1="464" v2="681" v3="1829" />
+ <tetrahedron index="6154" v0="464" v1="681" v2="1829" v3="2079" />
+ <tetrahedron index="6155" v0="681" v1="1829" v2="2079" v3="2296" />
+ <tetrahedron index="6156" v0="214" v1="215" v2="464" v3="1829" />
+ <tetrahedron index="6157" v0="215" v1="464" v2="1829" v3="1830" />
+ <tetrahedron index="6158" v0="464" v1="1829" v2="1830" v3="2079" />
+ <tetrahedron index="6159" v0="446" v1="501" v2="618" v3="2061" />
+ <tetrahedron index="6160" v0="501" v1="618" v2="2061" v3="2116" />
+ <tetrahedron index="6161" v0="618" v1="2061" v2="2116" v3="2233" />
+ <tetrahedron index="6162" v0="132" v1="446" v2="501" v3="1747" />
+ <tetrahedron index="6163" v0="446" v1="501" v2="1747" v3="2061" />
+ <tetrahedron index="6164" v0="501" v1="1747" v2="2061" v3="2116" />
+ <tetrahedron index="6165" v0="29" v1="30" v2="1249" v3="1644" />
+ <tetrahedron index="6166" v0="30" v1="1249" v2="1644" v3="1645" />
+ <tetrahedron index="6167" v0="1249" v1="1644" v2="1645" v3="2864" />
+ <tetrahedron index="6168" v0="326" v1="327" v2="1320" v3="1941" />
+ <tetrahedron index="6169" v0="327" v1="1320" v2="1941" v3="1942" />
+ <tetrahedron index="6170" v0="1320" v1="1941" v2="1942" v3="2935" />
+ <tetrahedron index="6171" v0="286" v1="326" v2="1320" v3="1901" />
+ <tetrahedron index="6172" v0="326" v1="1320" v2="1901" v3="1941" />
+ <tetrahedron index="6173" v0="1320" v1="1901" v2="1941" v3="2935" />
+ <tetrahedron index="6174" v0="712" v1="756" v2="770" v3="2327" />
+ <tetrahedron index="6175" v0="756" v1="770" v2="2327" v3="2371" />
+ <tetrahedron index="6176" v0="770" v1="2327" v2="2371" v3="2385" />
+ <tetrahedron index="6177" v0="756" v1="770" v2="1258" v3="2371" />
+ <tetrahedron index="6178" v0="770" v1="1258" v2="2371" v3="2385" />
+ <tetrahedron index="6179" v0="1258" v1="2371" v2="2385" v3="2873" />
+ <tetrahedron index="6180" v0="181" v1="292" v2="293" v3="1796" />
+ <tetrahedron index="6181" v0="292" v1="293" v2="1796" v3="1907" />
+ <tetrahedron index="6182" v0="293" v1="1796" v2="1907" v3="1908" />
+ <tetrahedron index="6183" v0="241" v1="242" v2="1452" v3="1856" />
+ <tetrahedron index="6184" v0="242" v1="1452" v2="1856" v3="1857" />
+ <tetrahedron index="6185" v0="1452" v1="1856" v2="1857" v3="3067" />
+ <tetrahedron index="6186" v0="242" v1="1378" v2="1452" v3="1857" />
+ <tetrahedron index="6187" v0="1378" v1="1452" v2="1857" v3="2993" />
+ <tetrahedron index="6188" v0="1452" v1="1857" v2="2993" v3="3067" />
+ <tetrahedron index="6189" v0="355" v1="1453" v2="1454" v3="1970" />
+ <tetrahedron index="6190" v0="1453" v1="1454" v2="1970" v3="3068" />
+ <tetrahedron index="6191" v0="1454" v1="1970" v2="3068" v3="3069" />
+ <tetrahedron index="6192" v0="318" v1="355" v2="1454" v3="1933" />
+ <tetrahedron index="6193" v0="355" v1="1454" v2="1933" v3="1970" />
+ <tetrahedron index="6194" v0="1454" v1="1933" v2="1970" v3="3069" />
+ <tetrahedron index="6195" v0="870" v1="1314" v2="1455" v3="2485" />
+ <tetrahedron index="6196" v0="1314" v1="1455" v2="2485" v3="2929" />
+ <tetrahedron index="6197" v0="1455" v1="2485" v2="2929" v3="3070" />
+ <tetrahedron index="6198" v0="870" v1="871" v2="1455" v3="2485" />
+ <tetrahedron index="6199" v0="871" v1="1455" v2="2485" v3="2486" />
+ <tetrahedron index="6200" v0="1455" v1="2485" v2="2486" v3="3070" />
+ <tetrahedron index="6201" v0="882" v1="1339" v2="1418" v3="2497" />
+ <tetrahedron index="6202" v0="1339" v1="1418" v2="2497" v3="2954" />
+ <tetrahedron index="6203" v0="1418" v1="2497" v2="2954" v3="3033" />
+ <tetrahedron index="6204" v0="520" v1="1456" v2="1457" v3="2135" />
+ <tetrahedron index="6205" v0="1456" v1="1457" v2="2135" v3="3071" />
+ <tetrahedron index="6206" v0="1457" v1="2135" v2="3071" v3="3072" />
+ <tetrahedron index="6207" v0="431" v1="1456" v2="1457" v3="2046" />
+ <tetrahedron index="6208" v0="1456" v1="1457" v2="2046" v3="3071" />
+ <tetrahedron index="6209" v0="1457" v1="2046" v2="3071" v3="3072" />
+ <tetrahedron index="6210" v0="828" v1="1272" v2="1458" v3="2443" />
+ <tetrahedron index="6211" v0="1272" v1="1458" v2="2443" v3="2887" />
+ <tetrahedron index="6212" v0="1458" v1="2443" v2="2887" v3="3073" />
+ <tetrahedron index="6213" v0="828" v1="829" v2="1458" v3="2443" />
+ <tetrahedron index="6214" v0="829" v1="1458" v2="2443" v3="2444" />
+ <tetrahedron index="6215" v0="1458" v1="2443" v2="2444" v3="3073" />
+ <tetrahedron index="6216" v0="327" v1="1083" v2="1299" v3="1942" />
+ <tetrahedron index="6217" v0="1083" v1="1299" v2="1942" v3="2698" />
+ <tetrahedron index="6218" v0="1299" v1="1942" v2="2698" v3="2914" />
+ <tetrahedron index="6219" v0="1176" v1="1195" v2="1459" v3="2791" />
+ <tetrahedron index="6220" v0="1195" v1="1459" v2="2791" v3="2810" />
+ <tetrahedron index="6221" v0="1459" v1="2791" v2="2810" v3="3074" />
+ <tetrahedron index="6222" v0="909" v1="1176" v2="1459" v3="2524" />
+ <tetrahedron index="6223" v0="1176" v1="1459" v2="2524" v3="2791" />
+ <tetrahedron index="6224" v0="1459" v1="2524" v2="2791" v3="3074" />
+ <tetrahedron index="6225" v0="986" v1="1203" v2="1432" v3="2601" />
+ <tetrahedron index="6226" v0="1203" v1="1432" v2="2601" v3="2818" />
+ <tetrahedron index="6227" v0="1432" v1="2601" v2="2818" v3="3047" />
+ <tetrahedron index="6228" v0="922" v1="1460" v2="1461" v3="2537" />
+ <tetrahedron index="6229" v0="1460" v1="1461" v2="2537" v3="3075" />
+ <tetrahedron index="6230" v0="1461" v1="2537" v2="3075" v3="3076" />
+ <tetrahedron index="6231" v0="922" v1="1461" v2="1462" v3="2537" />
+ <tetrahedron index="6232" v0="1461" v1="1462" v2="2537" v3="3076" />
+ <tetrahedron index="6233" v0="1462" v1="2537" v2="3076" v3="3077" />
+ <tetrahedron index="6234" v0="438" v1="439" v2="1463" v3="2053" />
+ <tetrahedron index="6235" v0="439" v1="1463" v2="2053" v3="2054" />
+ <tetrahedron index="6236" v0="1463" v1="2053" v2="2054" v3="3078" />
+ <tetrahedron index="6237" v0="1047" v1="1124" v2="1464" v3="2662" />
+ <tetrahedron index="6238" v0="1124" v1="1464" v2="2662" v3="2739" />
+ <tetrahedron index="6239" v0="1464" v1="2662" v2="2739" v3="3079" />
+ <tetrahedron index="6240" v0="1046" v1="1047" v2="1464" v3="2661" />
+ <tetrahedron index="6241" v0="1047" v1="1464" v2="2661" v3="2662" />
+ <tetrahedron index="6242" v0="1464" v1="2661" v2="2662" v3="3079" />
+ <tetrahedron index="6243" v0="1094" v1="1304" v2="1425" v3="2709" />
+ <tetrahedron index="6244" v0="1304" v1="1425" v2="2709" v3="2919" />
+ <tetrahedron index="6245" v0="1425" v1="2709" v2="2919" v3="3040" />
+ <tetrahedron index="6246" v0="1131" v1="1465" v2="1466" v3="2746" />
+ <tetrahedron index="6247" v0="1465" v1="1466" v2="2746" v3="3080" />
+ <tetrahedron index="6248" v0="1466" v1="2746" v2="3080" v3="3081" />
+ <tetrahedron index="6249" v0="66" v1="67" v2="1246" v3="1681" />
+ <tetrahedron index="6250" v0="67" v1="1246" v2="1681" v3="1682" />
+ <tetrahedron index="6251" v0="1246" v1="1681" v2="1682" v3="2861" />
+ <tetrahedron index="6252" v0="237" v1="1099" v2="1467" v3="1852" />
+ <tetrahedron index="6253" v0="1099" v1="1467" v2="1852" v3="2714" />
+ <tetrahedron index="6254" v0="1467" v1="1852" v2="2714" v3="3082" />
+ <tetrahedron index="6255" v0="424" v1="1099" v2="1467" v3="2039" />
+ <tetrahedron index="6256" v0="1099" v1="1467" v2="2039" v3="2714" />
+ <tetrahedron index="6257" v0="1467" v1="2039" v2="2714" v3="3082" />
+ <tetrahedron index="6258" v0="1160" v1="1166" v2="1468" v3="2775" />
+ <tetrahedron index="6259" v0="1166" v1="1468" v2="2775" v3="2781" />
+ <tetrahedron index="6260" v0="1468" v1="2775" v2="2781" v3="3083" />
+ <tetrahedron index="6261" v0="1108" v1="1166" v2="1468" v3="2723" />
+ <tetrahedron index="6262" v0="1166" v1="1468" v2="2723" v3="2781" />
+ <tetrahedron index="6263" v0="1468" v1="2723" v2="2781" v3="3083" />
+ <tetrahedron index="6264" v0="490" v1="670" v2="1469" v3="2105" />
+ <tetrahedron index="6265" v0="670" v1="1469" v2="2105" v3="2285" />
+ <tetrahedron index="6266" v0="1469" v1="2105" v2="2285" v3="3084" />
+ <tetrahedron index="6267" v0="820" v1="1287" v2="1298" v3="2435" />
+ <tetrahedron index="6268" v0="1287" v1="1298" v2="2435" v3="2902" />
+ <tetrahedron index="6269" v0="1298" v1="2435" v2="2902" v3="2913" />
+ <tetrahedron index="6270" v0="905" v1="1292" v2="1427" v3="2520" />
+ <tetrahedron index="6271" v0="1292" v1="1427" v2="2520" v3="2907" />
+ <tetrahedron index="6272" v0="1427" v1="2520" v2="2907" v3="3042" />
+ <tetrahedron index="6273" v0="1333" v1="1334" v2="1470" v3="2948" />
+ <tetrahedron index="6274" v0="1334" v1="1470" v2="2948" v3="2949" />
+ <tetrahedron index="6275" v0="1470" v1="2948" v2="2949" v3="3085" />
+ <tetrahedron index="6276" v0="1238" v1="1334" v2="1470" v3="2853" />
+ <tetrahedron index="6277" v0="1334" v1="1470" v2="2853" v3="2949" />
+ <tetrahedron index="6278" v0="1470" v1="2853" v2="2949" v3="3085" />
+ <tetrahedron index="6279" v0="236" v1="237" v2="1467" v3="1851" />
+ <tetrahedron index="6280" v0="237" v1="1467" v2="1851" v3="1852" />
+ <tetrahedron index="6281" v0="1467" v1="1851" v2="1852" v3="3082" />
+ <tetrahedron index="6282" v0="116" v1="304" v2="1471" v3="1731" />
+ <tetrahedron index="6283" v0="304" v1="1471" v2="1731" v3="1919" />
+ <tetrahedron index="6284" v0="1471" v1="1731" v2="1919" v3="3086" />
+ <tetrahedron index="6285" v0="813" v1="1214" v2="1422" v3="2428" />
+ <tetrahedron index="6286" v0="1214" v1="1422" v2="2428" v3="2829" />
+ <tetrahedron index="6287" v0="1422" v1="2428" v2="2829" v3="3037" />
+ <tetrahedron index="6288" v0="981" v1="1095" v2="1430" v3="2596" />
+ <tetrahedron index="6289" v0="1095" v1="1430" v2="2596" v3="2710" />
+ <tetrahedron index="6290" v0="1430" v1="2596" v2="2710" v3="3045" />
+ <tetrahedron index="6291" v0="1184" v1="1204" v2="1247" v3="2799" />
+ <tetrahedron index="6292" v0="1204" v1="1247" v2="2799" v3="2819" />
+ <tetrahedron index="6293" v0="1247" v1="2799" v2="2819" v3="2862" />
+ <tetrahedron index="6294" v0="1184" v1="1246" v2="1247" v3="2799" />
+ <tetrahedron index="6295" v0="1246" v1="1247" v2="2799" v3="2861" />
+ <tetrahedron index="6296" v0="1247" v1="2799" v2="2861" v3="2862" />
+ <tetrahedron index="6297" v0="131" v1="249" v2="1472" v3="1746" />
+ <tetrahedron index="6298" v0="249" v1="1472" v2="1746" v3="1864" />
+ <tetrahedron index="6299" v0="1472" v1="1746" v2="1864" v3="3087" />
+ <tetrahedron index="6300" v0="131" v1="132" v2="1472" v3="1746" />
+ <tetrahedron index="6301" v0="132" v1="1472" v2="1746" v3="1747" />
+ <tetrahedron index="6302" v0="1472" v1="1746" v2="1747" v3="3087" />
+ <tetrahedron index="6303" v0="865" v1="1177" v2="1473" v3="2480" />
+ <tetrahedron index="6304" v0="1177" v1="1473" v2="2480" v3="2792" />
+ <tetrahedron index="6305" v0="1473" v1="2480" v2="2792" v3="3088" />
+ <tetrahedron index="6306" v0="650" v1="1337" v2="1474" v3="2265" />
+ <tetrahedron index="6307" v0="1337" v1="1474" v2="2265" v3="2952" />
+ <tetrahedron index="6308" v0="1474" v1="2265" v2="2952" v3="3089" />
+ <tetrahedron index="6309" v0="819" v1="1309" v2="1437" v3="2434" />
+ <tetrahedron index="6310" v0="1309" v1="1437" v2="2434" v3="2924" />
+ <tetrahedron index="6311" v0="1437" v1="2434" v2="2924" v3="3052" />
+ <tetrahedron index="6312" v0="495" v1="1257" v2="1475" v3="2110" />
+ <tetrahedron index="6313" v0="1257" v1="1475" v2="2110" v3="2872" />
+ <tetrahedron index="6314" v0="1475" v1="2110" v2="2872" v3="3090" />
+ <tetrahedron index="6315" v0="1257" v1="1380" v2="1475" v3="2872" />
+ <tetrahedron index="6316" v0="1380" v1="1475" v2="2872" v3="2995" />
+ <tetrahedron index="6317" v0="1475" v1="2872" v2="2995" v3="3090" />
+ <tetrahedron index="6318" v0="981" v1="1095" v2="1476" v3="2596" />
+ <tetrahedron index="6319" v0="1095" v1="1476" v2="2596" v3="2710" />
+ <tetrahedron index="6320" v0="1476" v1="2596" v2="2710" v3="3091" />
+ <tetrahedron index="6321" v0="981" v1="1321" v2="1476" v3="2596" />
+ <tetrahedron index="6322" v0="1321" v1="1476" v2="2596" v3="2936" />
+ <tetrahedron index="6323" v0="1476" v1="2596" v2="2936" v3="3091" />
+ <tetrahedron index="6324" v0="1353" v1="1477" v2="1478" v3="2968" />
+ <tetrahedron index="6325" v0="1477" v1="1478" v2="2968" v3="3092" />
+ <tetrahedron index="6326" v0="1478" v1="2968" v2="3092" v3="3093" />
+ <tetrahedron index="6327" v0="103" v1="383" v2="1479" v3="1718" />
+ <tetrahedron index="6328" v0="383" v1="1479" v2="1718" v3="1998" />
+ <tetrahedron index="6329" v0="1479" v1="1718" v2="1998" v3="3094" />
+ <tetrahedron index="6330" v0="62" v1="1341" v2="1362" v3="1677" />
+ <tetrahedron index="6331" v0="1341" v1="1362" v2="1677" v3="2956" />
+ <tetrahedron index="6332" v0="1362" v1="1677" v2="2956" v3="2977" />
+ <tetrahedron index="6333" v0="1350" v1="1480" v2="1481" v3="2965" />
+ <tetrahedron index="6334" v0="1480" v1="1481" v2="2965" v3="3095" />
+ <tetrahedron index="6335" v0="1481" v1="2965" v2="3095" v3="3096" />
+ <tetrahedron index="6336" v0="966" v1="1482" v2="1483" v3="2581" />
+ <tetrahedron index="6337" v0="1482" v1="1483" v2="2581" v3="3097" />
+ <tetrahedron index="6338" v0="1483" v1="2581" v2="3097" v3="3098" />
+ <tetrahedron index="6339" v0="1357" v1="1480" v2="1484" v3="2972" />
+ <tetrahedron index="6340" v0="1480" v1="1484" v2="2972" v3="3095" />
+ <tetrahedron index="6341" v0="1484" v1="2972" v2="3095" v3="3099" />
+ <tetrahedron index="6342" v0="231" v1="496" v2="1485" v3="1846" />
+ <tetrahedron index="6343" v0="496" v1="1485" v2="1846" v3="2111" />
+ <tetrahedron index="6344" v0="1485" v1="1846" v2="2111" v3="3100" />
+ <tetrahedron index="6345" v0="231" v1="837" v2="1485" v3="1846" />
+ <tetrahedron index="6346" v0="837" v1="1485" v2="1846" v3="2452" />
+ <tetrahedron index="6347" v0="1485" v1="1846" v2="2452" v3="3100" />
+ <tetrahedron index="6348" v0="1375" v1="1397" v2="1403" v3="2990" />
+ <tetrahedron index="6349" v0="1397" v1="1403" v2="2990" v3="3012" />
+ <tetrahedron index="6350" v0="1403" v1="2990" v2="3012" v3="3018" />
+ <tetrahedron index="6351" v0="1375" v1="1395" v2="1403" v3="2990" />
+ <tetrahedron index="6352" v0="1395" v1="1403" v2="2990" v3="3010" />
+ <tetrahedron index="6353" v0="1403" v1="2990" v2="3010" v3="3018" />
+ <tetrahedron index="6354" v0="460" v1="1318" v2="1398" v3="2075" />
+ <tetrahedron index="6355" v0="1318" v1="1398" v2="2075" v3="2933" />
+ <tetrahedron index="6356" v0="1398" v1="2075" v2="2933" v3="3013" />
+ <tetrahedron index="6357" v0="886" v1="941" v2="1486" v3="2501" />
+ <tetrahedron index="6358" v0="941" v1="1486" v2="2501" v3="2556" />
+ <tetrahedron index="6359" v0="1486" v1="2501" v2="2556" v3="3101" />
+ <tetrahedron index="6360" v0="890" v1="941" v2="1486" v3="2505" />
+ <tetrahedron index="6361" v0="941" v1="1486" v2="2505" v3="2556" />
+ <tetrahedron index="6362" v0="1486" v1="2505" v2="2556" v3="3101" />
+ <tetrahedron index="6363" v0="1110" v1="1487" v2="1488" v3="2725" />
+ <tetrahedron index="6364" v0="1487" v1="1488" v2="2725" v3="3102" />
+ <tetrahedron index="6365" v0="1488" v1="2725" v2="3102" v3="3103" />
+ <tetrahedron index="6366" v0="160" v1="746" v2="1410" v3="1775" />
+ <tetrahedron index="6367" v0="746" v1="1410" v2="1775" v3="2361" />
+ <tetrahedron index="6368" v0="1410" v1="1775" v2="2361" v3="3025" />
+ <tetrahedron index="6369" v0="89" v1="1411" v2="1489" v3="1704" />
+ <tetrahedron index="6370" v0="1411" v1="1489" v2="1704" v3="3026" />
+ <tetrahedron index="6371" v0="1489" v1="1704" v2="3026" v3="3104" />
+ <tetrahedron index="6372" v0="671" v1="672" v2="1413" v3="2286" />
+ <tetrahedron index="6373" v0="672" v1="1413" v2="2286" v3="2287" />
+ <tetrahedron index="6374" v0="1413" v1="2286" v2="2287" v3="3028" />
+ <tetrahedron index="6375" v0="672" v1="989" v2="1413" v3="2287" />
+ <tetrahedron index="6376" v0="989" v1="1413" v2="2287" v3="2604" />
+ <tetrahedron index="6377" v0="1413" v1="2287" v2="2604" v3="3028" />
+ <tetrahedron index="6378" v0="388" v1="1207" v2="1417" v3="2003" />
+ <tetrahedron index="6379" v0="1207" v1="1417" v2="2003" v3="2822" />
+ <tetrahedron index="6380" v0="1417" v1="2003" v2="2822" v3="3032" />
+ <tetrahedron index="6381" v0="388" v1="402" v2="1417" v3="2003" />
+ <tetrahedron index="6382" v0="402" v1="1417" v2="2003" v3="2017" />
+ <tetrahedron index="6383" v0="1417" v1="2003" v2="2017" v3="3032" />
+ <tetrahedron index="6384" v0="806" v1="1364" v2="1490" v3="2421" />
+ <tetrahedron index="6385" v0="1364" v1="1490" v2="2421" v3="2979" />
+ <tetrahedron index="6386" v0="1490" v1="2421" v2="2979" v3="3105" />
+ <tetrahedron index="6387" v0="539" v1="1148" v2="1419" v3="2154" />
+ <tetrahedron index="6388" v0="1148" v1="1419" v2="2154" v3="2763" />
+ <tetrahedron index="6389" v0="1419" v1="2154" v2="2763" v3="3034" />
+ <tetrahedron index="6390" v0="975" v1="1073" v2="1491" v3="2590" />
+ <tetrahedron index="6391" v0="1073" v1="1491" v2="2590" v3="2688" />
+ <tetrahedron index="6392" v0="1491" v1="2590" v2="2688" v3="3106" />
+ <tetrahedron index="6393" v0="76" v1="468" v2="1492" v3="1691" />
+ <tetrahedron index="6394" v0="468" v1="1492" v2="1691" v3="2083" />
+ <tetrahedron index="6395" v0="1492" v1="1691" v2="2083" v3="3107" />
+ <tetrahedron index="6396" v0="1156" v1="1187" v2="1493" v3="2771" />
+ <tetrahedron index="6397" v0="1187" v1="1493" v2="2771" v3="2802" />
+ <tetrahedron index="6398" v0="1493" v1="2771" v2="2802" v3="3108" />
+ <tetrahedron index="6399" v0="869" v1="1423" v2="1469" v3="2484" />
+ <tetrahedron index="6400" v0="1423" v1="1469" v2="2484" v3="3038" />
+ <tetrahedron index="6401" v0="1469" v1="2484" v2="3038" v3="3084" />
+ <tetrahedron index="6402" v0="997" v1="1265" v2="1426" v3="2612" />
+ <tetrahedron index="6403" v0="1265" v1="1426" v2="2612" v3="2880" />
+ <tetrahedron index="6404" v0="1426" v1="2612" v2="2880" v3="3041" />
+ <tetrahedron index="6405" v0="1038" v1="1399" v2="1494" v3="2653" />
+ <tetrahedron index="6406" v0="1399" v1="1494" v2="2653" v3="3014" />
+ <tetrahedron index="6407" v0="1494" v1="2653" v2="3014" v3="3109" />
+ <tetrahedron index="6408" v0="355" v1="356" v2="1428" v3="1970" />
+ <tetrahedron index="6409" v0="356" v1="1428" v2="1970" v3="1971" />
+ <tetrahedron index="6410" v0="1428" v1="1970" v2="1971" v3="3043" />
+ <tetrahedron index="6411" v0="1109" v1="1380" v2="1429" v3="2724" />
+ <tetrahedron index="6412" v0="1380" v1="1429" v2="2724" v3="2995" />
+ <tetrahedron index="6413" v0="1429" v1="2724" v2="2995" v3="3044" />
+ <tetrahedron index="6414" v0="861" v1="1277" v2="1495" v3="2476" />
+ <tetrahedron index="6415" v0="1277" v1="1495" v2="2476" v3="2892" />
+ <tetrahedron index="6416" v0="1495" v1="2476" v2="2892" v3="3110" />
+ <tetrahedron index="6417" v0="1337" v1="1338" v2="1496" v3="2952" />
+ <tetrahedron index="6418" v0="1338" v1="1496" v2="2952" v3="2953" />
+ <tetrahedron index="6419" v0="1496" v1="2952" v2="2953" v3="3111" />
+ <tetrahedron index="6420" v0="600" v1="1212" v2="1438" v3="2215" />
+ <tetrahedron index="6421" v0="1212" v1="1438" v2="2215" v3="2827" />
+ <tetrahedron index="6422" v0="1438" v1="2215" v2="2827" v3="3053" />
+ <tetrahedron index="6423" v0="316" v1="600" v2="1438" v3="1931" />
+ <tetrahedron index="6424" v0="600" v1="1438" v2="1931" v3="2215" />
+ <tetrahedron index="6425" v0="1438" v1="1931" v2="2215" v3="3053" />
+ <tetrahedron index="6426" v0="1397" v1="1402" v2="1403" v3="3012" />
+ <tetrahedron index="6427" v0="1402" v1="1403" v2="3012" v3="3017" />
+ <tetrahedron index="6428" v0="1403" v1="3012" v2="3017" v3="3018" />
+ <tetrahedron index="6429" v0="683" v1="686" v2="1497" v3="2298" />
+ <tetrahedron index="6430" v0="686" v1="1497" v2="2298" v3="2301" />
+ <tetrahedron index="6431" v0="1497" v1="2298" v2="2301" v3="3112" />
+ <tetrahedron index="6432" v0="307" v1="686" v2="1497" v3="1922" />
+ <tetrahedron index="6433" v0="686" v1="1497" v2="1922" v3="2301" />
+ <tetrahedron index="6434" v0="1497" v1="1922" v2="2301" v3="3112" />
+ <tetrahedron index="6435" v0="318" v1="319" v2="1454" v3="1933" />
+ <tetrahedron index="6436" v0="319" v1="1454" v2="1933" v3="1934" />
+ <tetrahedron index="6437" v0="1454" v1="1933" v2="1934" v3="3069" />
+ <tetrahedron index="6438" v0="319" v1="832" v2="1454" v3="1934" />
+ <tetrahedron index="6439" v0="832" v1="1454" v2="1934" v3="2447" />
+ <tetrahedron index="6440" v0="1454" v1="1934" v2="2447" v3="3069" />
+ <tetrahedron index="6441" v0="1363" v1="1498" v2="1499" v3="2978" />
+ <tetrahedron index="6442" v0="1498" v1="1499" v2="2978" v3="3113" />
+ <tetrahedron index="6443" v0="1499" v1="2978" v2="3113" v3="3114" />
+ <tetrahedron index="6444" v0="241" v1="1358" v2="1452" v3="1856" />
+ <tetrahedron index="6445" v0="1358" v1="1452" v2="1856" v3="2973" />
+ <tetrahedron index="6446" v0="1452" v1="1856" v2="2973" v3="3067" />
+ <tetrahedron index="6447" v0="1047" v1="1075" v2="1311" v3="2662" />
+ <tetrahedron index="6448" v0="1075" v1="1311" v2="2662" v3="2690" />
+ <tetrahedron index="6449" v0="1311" v1="2662" v2="2690" v3="2926" />
+ <tetrahedron index="6450" v0="1074" v1="1075" v2="1311" v3="2689" />
+ <tetrahedron index="6451" v0="1075" v1="1311" v2="2689" v3="2690" />
+ <tetrahedron index="6452" v0="1311" v1="2689" v2="2690" v3="2926" />
+ <tetrahedron index="6453" v0="347" v1="569" v2="1386" v3="1962" />
+ <tetrahedron index="6454" v0="569" v1="1386" v2="1962" v3="2184" />
+ <tetrahedron index="6455" v0="1386" v1="1962" v2="2184" v3="3001" />
+ <tetrahedron index="6456" v0="347" v1="569" v2="669" v3="1962" />
+ <tetrahedron index="6457" v0="569" v1="669" v2="1962" v3="2184" />
+ <tetrahedron index="6458" v0="669" v1="1962" v2="2184" v3="2284" />
+ <tetrahedron index="6459" v0="863" v1="924" v2="994" v3="2478" />
+ <tetrahedron index="6460" v0="924" v1="994" v2="2478" v3="2539" />
+ <tetrahedron index="6461" v0="994" v1="2478" v2="2539" v3="2609" />
+ <tetrahedron index="6462" v0="924" v1="994" v2="1453" v3="2539" />
+ <tetrahedron index="6463" v0="994" v1="1453" v2="2539" v3="2609" />
+ <tetrahedron index="6464" v0="1453" v1="2539" v2="2609" v3="3068" />
+ <tetrahedron index="6465" v0="403" v1="425" v2="1417" v3="2018" />
+ <tetrahedron index="6466" v0="425" v1="1417" v2="2018" v3="2040" />
+ <tetrahedron index="6467" v0="1417" v1="2018" v2="2040" v3="3032" />
+ <tetrahedron index="6468" v0="425" v1="1207" v2="1417" v3="2040" />
+ <tetrahedron index="6469" v0="1207" v1="1417" v2="2040" v3="2822" />
+ <tetrahedron index="6470" v0="1417" v1="2040" v2="2822" v3="3032" />
+ <tetrahedron index="6471" v0="829" v1="963" v2="1458" v3="2444" />
+ <tetrahedron index="6472" v0="963" v1="1458" v2="2444" v3="2578" />
+ <tetrahedron index="6473" v0="1458" v1="2444" v2="2578" v3="3073" />
+ <tetrahedron index="6474" v0="438" v1="773" v2="1463" v3="2053" />
+ <tetrahedron index="6475" v0="773" v1="1463" v2="2053" v3="2388" />
+ <tetrahedron index="6476" v0="1463" v1="2053" v2="2388" v3="3078" />
+ <tetrahedron index="6477" v0="440" v1="441" v2="630" v3="2055" />
+ <tetrahedron index="6478" v0="441" v1="630" v2="2055" v3="2056" />
+ <tetrahedron index="6479" v0="630" v1="2055" v2="2056" v3="2245" />
+ <tetrahedron index="6480" v0="441" v1="630" v2="1253" v3="2056" />
+ <tetrahedron index="6481" v0="630" v1="1253" v2="2056" v3="2245" />
+ <tetrahedron index="6482" v0="1253" v1="2056" v2="2245" v3="2868" />
+ <tetrahedron index="6483" v0="909" v1="910" v2="1459" v3="2524" />
+ <tetrahedron index="6484" v0="910" v1="1459" v2="2524" v3="2525" />
+ <tetrahedron index="6485" v0="1459" v1="2524" v2="2525" v3="3074" />
+ <tetrahedron index="6486" v0="910" v1="1333" v2="1459" v3="2525" />
+ <tetrahedron index="6487" v0="1333" v1="1459" v2="2525" v3="2948" />
+ <tetrahedron index="6488" v0="1459" v1="2525" v2="2948" v3="3074" />
+ <tetrahedron index="6489" v0="340" v1="341" v2="1456" v3="1955" />
+ <tetrahedron index="6490" v0="341" v1="1456" v2="1955" v3="1956" />
+ <tetrahedron index="6491" v0="1456" v1="1955" v2="1956" v3="3071" />
+ <tetrahedron index="6492" v0="340" v1="431" v2="1456" v3="1955" />
+ <tetrahedron index="6493" v0="431" v1="1456" v2="1955" v3="2046" />
+ <tetrahedron index="6494" v0="1456" v1="1955" v2="2046" v3="3071" />
+ <tetrahedron index="6495" v0="1135" v1="1314" v2="1455" v3="2750" />
+ <tetrahedron index="6496" v0="1314" v1="1455" v2="2750" v3="2929" />
+ <tetrahedron index="6497" v0="1455" v1="2750" v2="2929" v3="3070" />
+ <tetrahedron index="6498" v0="593" v1="1135" v2="1455" v3="2208" />
+ <tetrahedron index="6499" v0="1135" v1="1455" v2="2208" v3="2750" />
+ <tetrahedron index="6500" v0="1455" v1="2208" v2="2750" v3="3070" />
+ <tetrahedron index="6501" v0="365" v1="510" v2="1408" v3="1980" />
+ <tetrahedron index="6502" v0="510" v1="1408" v2="1980" v3="2125" />
+ <tetrahedron index="6503" v0="1408" v1="1980" v2="2125" v3="3023" />
+ <tetrahedron index="6504" v0="510" v1="1387" v2="1408" v3="2125" />
+ <tetrahedron index="6505" v0="1387" v1="1408" v2="2125" v3="3002" />
+ <tetrahedron index="6506" v0="1408" v1="2125" v2="3002" v3="3023" />
+ <tetrahedron index="6507" v0="834" v1="953" v2="1410" v3="2449" />
+ <tetrahedron index="6508" v0="953" v1="1410" v2="2449" v3="2568" />
+ <tetrahedron index="6509" v0="1410" v1="2449" v2="2568" v3="3025" />
+ <tetrahedron index="6510" v0="644" v1="953" v2="1410" v3="2259" />
+ <tetrahedron index="6511" v0="953" v1="1410" v2="2259" v3="2568" />
+ <tetrahedron index="6512" v0="1410" v1="2259" v2="2568" v3="3025" />
+ <tetrahedron index="6513" v0="355" v1="989" v2="1453" v3="1970" />
+ <tetrahedron index="6514" v0="989" v1="1453" v2="1970" v3="2604" />
+ <tetrahedron index="6515" v0="1453" v1="1970" v2="2604" v3="3068" />
+ <tetrahedron index="6516" v0="339" v1="1063" v2="1083" v3="1954" />
+ <tetrahedron index="6517" v0="1063" v1="1083" v2="1954" v3="2678" />
+ <tetrahedron index="6518" v0="1083" v1="1954" v2="2678" v3="2698" />
+ <tetrahedron index="6519" v0="1063" v1="1083" v2="1299" v3="2678" />
+ <tetrahedron index="6520" v0="1083" v1="1299" v2="2678" v3="2698" />
+ <tetrahedron index="6521" v0="1299" v1="2678" v2="2698" v3="2914" />
+ <tetrahedron index="6522" v0="1295" v1="1394" v2="1436" v3="2910" />
+ <tetrahedron index="6523" v0="1394" v1="1436" v2="2910" v3="3009" />
+ <tetrahedron index="6524" v0="1436" v1="2910" v2="3009" v3="3051" />
+ <tetrahedron index="6525" v0="1394" v1="1395" v2="1436" v3="3009" />
+ <tetrahedron index="6526" v0="1395" v1="1436" v2="3009" v3="3010" />
+ <tetrahedron index="6527" v0="1436" v1="3009" v2="3010" v3="3051" />
+ <tetrahedron index="6528" v0="926" v1="1444" v2="1500" v3="2541" />
+ <tetrahedron index="6529" v0="1444" v1="1500" v2="2541" v3="3059" />
+ <tetrahedron index="6530" v0="1500" v1="2541" v2="3059" v3="3115" />
+ <tetrahedron index="6531" v0="601" v1="602" v2="1058" v3="2216" />
+ <tetrahedron index="6532" v0="602" v1="1058" v2="2216" v3="2217" />
+ <tetrahedron index="6533" v0="1058" v1="2216" v2="2217" v3="2673" />
+ <tetrahedron index="6534" v0="540" v1="1098" v2="1379" v3="2155" />
+ <tetrahedron index="6535" v0="1098" v1="1379" v2="2155" v3="2713" />
+ <tetrahedron index="6536" v0="1379" v1="2155" v2="2713" v3="2994" />
+ <tetrahedron index="6537" v0="1195" v1="1459" v2="1470" v3="2810" />
+ <tetrahedron index="6538" v0="1459" v1="1470" v2="2810" v3="3074" />
+ <tetrahedron index="6539" v0="1470" v1="2810" v2="3074" v3="3085" />
+ <tetrahedron index="6540" v0="1333" v1="1459" v2="1470" v3="2948" />
+ <tetrahedron index="6541" v0="1459" v1="1470" v2="2948" v3="3074" />
+ <tetrahedron index="6542" v0="1470" v1="2948" v2="3074" v3="3085" />
+ <tetrahedron index="6543" v0="57" v1="504" v2="1262" v3="1672" />
+ <tetrahedron index="6544" v0="504" v1="1262" v2="1672" v3="2119" />
+ <tetrahedron index="6545" v0="1262" v1="1672" v2="2119" v3="2877" />
+ <tetrahedron index="6546" v0="1214" v1="1238" v2="1422" v3="2829" />
+ <tetrahedron index="6547" v0="1238" v1="1422" v2="2829" v3="2853" />
+ <tetrahedron index="6548" v0="1422" v1="2829" v2="2853" v3="3037" />
+ <tetrahedron index="6549" v0="545" v1="986" v2="1432" v3="2160" />
+ <tetrahedron index="6550" v0="986" v1="1432" v2="2160" v3="2601" />
+ <tetrahedron index="6551" v0="1432" v1="2160" v2="2601" v3="3047" />
+ <tetrahedron index="6552" v0="545" v1="1407" v2="1432" v3="2160" />
+ <tetrahedron index="6553" v0="1407" v1="1432" v2="2160" v3="3022" />
+ <tetrahedron index="6554" v0="1432" v1="2160" v2="3022" v3="3047" />
+ <tetrahedron index="6555" v0="144" v1="458" v2="1501" v3="1759" />
+ <tetrahedron index="6556" v0="458" v1="1501" v2="1759" v3="2073" />
+ <tetrahedron index="6557" v0="1501" v1="1759" v2="2073" v3="3116" />
+ <tetrahedron index="6558" v0="158" v1="1031" v2="1182" v3="1773" />
+ <tetrahedron index="6559" v0="1031" v1="1182" v2="1773" v3="2646" />
+ <tetrahedron index="6560" v0="1182" v1="1773" v2="2646" v3="2797" />
+ <tetrahedron index="6561" v0="158" v1="1182" v2="1341" v3="1773" />
+ <tetrahedron index="6562" v0="1182" v1="1341" v2="1773" v3="2797" />
+ <tetrahedron index="6563" v0="1341" v1="1773" v2="2797" v3="2956" />
+ <tetrahedron index="6564" v0="1399" v1="1464" v2="1502" v3="3014" />
+ <tetrahedron index="6565" v0="1464" v1="1502" v2="3014" v3="3079" />
+ <tetrahedron index="6566" v0="1502" v1="3014" v2="3079" v3="3117" />
+ <tetrahedron index="6567" v0="304" v1="305" v2="1107" v3="1919" />
+ <tetrahedron index="6568" v0="305" v1="1107" v2="1919" v3="1920" />
+ <tetrahedron index="6569" v0="1107" v1="1919" v2="1920" v3="2722" />
+ <tetrahedron index="6570" v0="304" v1="1107" v2="1347" v3="1919" />
+ <tetrahedron index="6571" v0="1107" v1="1347" v2="1919" v3="2722" />
+ <tetrahedron index="6572" v0="1347" v1="1919" v2="2722" v3="2962" />
+ <tetrahedron index="6573" v0="394" v1="1088" v2="1431" v3="2009" />
+ <tetrahedron index="6574" v0="1088" v1="1431" v2="2009" v3="2703" />
+ <tetrahedron index="6575" v0="1431" v1="2009" v2="2703" v3="3046" />
+ <tetrahedron index="6576" v0="165" v1="394" v2="1088" v3="1780" />
+ <tetrahedron index="6577" v0="394" v1="1088" v2="1780" v3="2009" />
+ <tetrahedron index="6578" v0="1088" v1="1780" v2="2009" v3="2703" />
+ <tetrahedron index="6579" v0="1163" v1="1164" v2="1425" v3="2778" />
+ <tetrahedron index="6580" v0="1164" v1="1425" v2="2778" v3="2779" />
+ <tetrahedron index="6581" v0="1425" v1="2778" v2="2779" v3="3040" />
+ <tetrahedron index="6582" v0="155" v1="504" v2="1262" v3="1770" />
+ <tetrahedron index="6583" v0="504" v1="1262" v2="1770" v3="2119" />
+ <tetrahedron index="6584" v0="1262" v1="1770" v2="2119" v3="2877" />
+ <tetrahedron index="6585" v0="1288" v1="1385" v2="1428" v3="2903" />
+ <tetrahedron index="6586" v0="1385" v1="1428" v2="2903" v3="3000" />
+ <tetrahedron index="6587" v0="1428" v1="2903" v2="3000" v3="3043" />
+ <tetrahedron index="6588" v0="356" v1="1385" v2="1428" v3="1971" />
+ <tetrahedron index="6589" v0="1385" v1="1428" v2="1971" v3="3000" />
+ <tetrahedron index="6590" v0="1428" v1="1971" v2="3000" v3="3043" />
+ <tetrahedron index="6591" v0="291" v1="1082" v2="1489" v3="1906" />
+ <tetrahedron index="6592" v0="1082" v1="1489" v2="1906" v3="2697" />
+ <tetrahedron index="6593" v0="1489" v1="1906" v2="2697" v3="3104" />
+ <tetrahedron index="6594" v0="1004" v1="1082" v2="1489" v3="2619" />
+ <tetrahedron index="6595" v0="1082" v1="1489" v2="2619" v3="2697" />
+ <tetrahedron index="6596" v0="1489" v1="2619" v2="2697" v3="3104" />
+ <tetrahedron index="6597" v0="1009" v1="1467" v2="1503" v3="2624" />
+ <tetrahedron index="6598" v0="1467" v1="1503" v2="2624" v3="3082" />
+ <tetrahedron index="6599" v0="1503" v1="2624" v2="3082" v3="3118" />
+ <tetrahedron index="6600" v0="424" v1="1009" v2="1467" v3="2039" />
+ <tetrahedron index="6601" v0="1009" v1="1467" v2="2039" v3="2624" />
+ <tetrahedron index="6602" v0="1467" v1="2039" v2="2624" v3="3082" />
+ <tetrahedron index="6603" v0="1160" v1="1190" v2="1468" v3="2775" />
+ <tetrahedron index="6604" v0="1190" v1="1468" v2="2775" v3="2805" />
+ <tetrahedron index="6605" v0="1468" v1="2775" v2="2805" v3="3083" />
+ <tetrahedron index="6606" v0="1190" v1="1392" v2="1468" v3="2805" />
+ <tetrahedron index="6607" v0="1392" v1="1468" v2="2805" v3="3007" />
+ <tetrahedron index="6608" v0="1468" v1="2805" v2="3007" v3="3083" />
+ <tetrahedron index="6609" v0="643" v1="670" v2="1469" v3="2258" />
+ <tetrahedron index="6610" v0="670" v1="1469" v2="2258" v3="2285" />
+ <tetrahedron index="6611" v0="1469" v1="2258" v2="2285" v3="3084" />
+ <tetrahedron index="6612" v0="643" v1="869" v2="1469" v3="2258" />
+ <tetrahedron index="6613" v0="869" v1="1469" v2="2258" v3="2484" />
+ <tetrahedron index="6614" v0="1469" v1="2258" v2="2484" v3="3084" />
+ <tetrahedron index="6615" v0="709" v1="1414" v2="1504" v3="2324" />
+ <tetrahedron index="6616" v0="1414" v1="1504" v2="2324" v3="3029" />
+ <tetrahedron index="6617" v0="1504" v1="2324" v2="3029" v3="3119" />
+ <tetrahedron index="6618" v0="841" v1="1292" v2="1427" v3="2456" />
+ <tetrahedron index="6619" v0="1292" v1="1427" v2="2456" v3="2907" />
+ <tetrahedron index="6620" v0="1427" v1="2456" v2="2907" v3="3042" />
+ <tetrahedron index="6621" v0="841" v1="1085" v2="1427" v3="2456" />
+ <tetrahedron index="6622" v0="1085" v1="1427" v2="2456" v3="2700" />
+ <tetrahedron index="6623" v0="1427" v1="2456" v2="2700" v3="3042" />
+ <tetrahedron index="6624" v0="525" v1="569" v2="1360" v3="2140" />
+ <tetrahedron index="6625" v0="569" v1="1360" v2="2140" v3="2184" />
+ <tetrahedron index="6626" v0="1360" v1="2140" v2="2184" v3="2975" />
+ <tetrahedron index="6627" v0="569" v1="1360" v2="1386" v3="2184" />
+ <tetrahedron index="6628" v0="1360" v1="1386" v2="2184" v3="2975" />
+ <tetrahedron index="6629" v0="1386" v1="2184" v2="2975" v3="3001" />
+ <tetrahedron index="6630" v0="474" v1="777" v2="1213" v3="2089" />
+ <tetrahedron index="6631" v0="777" v1="1213" v2="2089" v3="2392" />
+ <tetrahedron index="6632" v0="1213" v1="2089" v2="2392" v3="2828" />
+ <tetrahedron index="6633" v0="453" v1="474" v2="1213" v3="2068" />
+ <tetrahedron index="6634" v0="474" v1="1213" v2="2068" v3="2089" />
+ <tetrahedron index="6635" v0="1213" v1="2068" v2="2089" v3="2828" />
+ <tetrahedron index="6636" v0="950" v1="1276" v2="1496" v3="2565" />
+ <tetrahedron index="6637" v0="1276" v1="1496" v2="2565" v3="2891" />
+ <tetrahedron index="6638" v0="1496" v1="2565" v2="2891" v3="3111" />
+ <tetrahedron index="6639" v0="980" v1="981" v2="1430" v3="2595" />
+ <tetrahedron index="6640" v0="981" v1="1430" v2="2595" v3="2596" />
+ <tetrahedron index="6641" v0="1430" v1="2595" v2="2596" v3="3045" />
+ <tetrahedron index="6642" v0="980" v1="1392" v2="1430" v3="2595" />
+ <tetrahedron index="6643" v0="1392" v1="1430" v2="2595" v3="3007" />
+ <tetrahedron index="6644" v0="1430" v1="2595" v2="3007" v3="3045" />
+ <tetrahedron index="6645" v0="966" v1="1012" v2="1482" v3="2581" />
+ <tetrahedron index="6646" v0="1012" v1="1482" v2="2581" v3="2627" />
+ <tetrahedron index="6647" v0="1482" v1="2581" v2="2627" v3="3097" />
+ <tetrahedron index="6648" v0="1245" v1="1247" v2="1505" v3="2860" />
+ <tetrahedron index="6649" v0="1247" v1="1505" v2="2860" v3="2862" />
+ <tetrahedron index="6650" v0="1505" v1="2860" v2="2862" v3="3120" />
+ <tetrahedron index="6651" v0="483" v1="1441" v2="1506" v3="2098" />
+ <tetrahedron index="6652" v0="1441" v1="1506" v2="2098" v3="3056" />
+ <tetrahedron index="6653" v0="1506" v1="2098" v2="3056" v3="3121" />
+ <tetrahedron index="6654" v0="716" v1="837" v2="1485" v3="2331" />
+ <tetrahedron index="6655" v0="837" v1="1485" v2="2331" v3="2452" />
+ <tetrahedron index="6656" v0="1485" v1="2331" v2="2452" v3="3100" />
+ <tetrahedron index="6657" v0="716" v1="1381" v2="1485" v3="2331" />
+ <tetrahedron index="6658" v0="1381" v1="1485" v2="2331" v3="2996" />
+ <tetrahedron index="6659" v0="1485" v1="2331" v2="2996" v3="3100" />
+ <tetrahedron index="6660" v0="1482" v1="1483" v2="1507" v3="3097" />
+ <tetrahedron index="6661" v0="1483" v1="1507" v2="3097" v3="3098" />
+ <tetrahedron index="6662" v0="1507" v1="3097" v2="3098" v3="3122" />
+ <tetrahedron index="6663" v0="886" v1="1310" v2="1486" v3="2501" />
+ <tetrahedron index="6664" v0="1310" v1="1486" v2="2501" v3="2925" />
+ <tetrahedron index="6665" v0="1486" v1="2501" v2="2925" v3="3101" />
+ <tetrahedron index="6666" v0="132" v1="500" v2="1472" v3="1747" />
+ <tetrahedron index="6667" v0="500" v1="1472" v2="1747" v3="2115" />
+ <tetrahedron index="6668" v0="1472" v1="1747" v2="2115" v3="3087" />
+ <tetrahedron index="6669" v0="1414" v1="1415" v2="1504" v3="3029" />
+ <tetrahedron index="6670" v0="1415" v1="1504" v2="3029" v3="3030" />
+ <tetrahedron index="6671" v0="1504" v1="3029" v2="3030" v3="3119" />
+ <tetrahedron index="6672" v0="649" v1="1415" v2="1504" v3="2264" />
+ <tetrahedron index="6673" v0="1415" v1="1504" v2="2264" v3="3030" />
+ <tetrahedron index="6674" v0="1504" v1="2264" v2="3030" v3="3119" />
+ <tetrahedron index="6675" v0="714" v1="1411" v2="1412" v3="2329" />
+ <tetrahedron index="6676" v0="1411" v1="1412" v2="2329" v3="3026" />
+ <tetrahedron index="6677" v0="1412" v1="2329" v2="3026" v3="3027" />
+ <tetrahedron index="6678" v0="1444" v1="1500" v2="1508" v3="3059" />
+ <tetrahedron index="6679" v0="1500" v1="1508" v2="3059" v3="3115" />
+ <tetrahedron index="6680" v0="1508" v1="3059" v2="3115" v3="3123" />
+ <tetrahedron index="6681" v0="946" v1="947" v2="1509" v3="2561" />
+ <tetrahedron index="6682" v0="947" v1="1509" v2="2561" v3="2562" />
+ <tetrahedron index="6683" v0="1509" v1="2561" v2="2562" v3="3124" />
+ <tetrahedron index="6684" v0="711" v1="946" v2="1509" v3="2326" />
+ <tetrahedron index="6685" v0="946" v1="1509" v2="2326" v3="2561" />
+ <tetrahedron index="6686" v0="1509" v1="2326" v2="2561" v3="3124" />
+ <tetrahedron index="6687" v0="706" v1="1307" v2="1398" v3="2321" />
+ <tetrahedron index="6688" v0="1307" v1="1398" v2="2321" v3="2922" />
+ <tetrahedron index="6689" v0="1398" v1="2321" v2="2922" v3="3013" />
+ <tetrahedron index="6690" v0="1307" v1="1318" v2="1398" v3="2922" />
+ <tetrahedron index="6691" v0="1318" v1="1398" v2="2922" v3="2933" />
+ <tetrahedron index="6692" v0="1398" v1="2922" v2="2933" v3="3013" />
+ <tetrahedron index="6693" v0="1475" v1="1510" v2="1511" v3="3090" />
+ <tetrahedron index="6694" v0="1510" v1="1511" v2="3090" v3="3125" />
+ <tetrahedron index="6695" v0="1511" v1="3090" v2="3125" v3="3126" />
+ <tetrahedron index="6696" v0="495" v1="1475" v2="1510" v3="2110" />
+ <tetrahedron index="6697" v0="1475" v1="1510" v2="2110" v3="3090" />
+ <tetrahedron index="6698" v0="1510" v1="2110" v2="3090" v3="3125" />
+ <tetrahedron index="6699" v0="1095" v1="1297" v2="1476" v3="2710" />
+ <tetrahedron index="6700" v0="1297" v1="1476" v2="2710" v3="2912" />
+ <tetrahedron index="6701" v0="1476" v1="2710" v2="2912" v3="3091" />
+ <tetrahedron index="6702" v0="623" v1="1297" v2="1476" v3="2238" />
+ <tetrahedron index="6703" v0="1297" v1="1476" v2="2238" v3="2912" />
+ <tetrahedron index="6704" v0="1476" v1="2238" v2="2912" v3="3091" />
+ <tetrahedron index="6705" v0="1257" v1="1381" v2="1485" v3="2872" />
+ <tetrahedron index="6706" v0="1381" v1="1485" v2="2872" v3="2996" />
+ <tetrahedron index="6707" v0="1485" v1="2872" v2="2996" v3="3100" />
+ <tetrahedron index="6708" v0="496" v1="1257" v2="1485" v3="2111" />
+ <tetrahedron index="6709" v0="1257" v1="1485" v2="2111" v3="2872" />
+ <tetrahedron index="6710" v0="1485" v1="2111" v2="2872" v3="3100" />
+ <tetrahedron index="6711" v0="317" v1="1438" v2="1512" v3="1932" />
+ <tetrahedron index="6712" v0="1438" v1="1512" v2="1932" v3="3053" />
+ <tetrahedron index="6713" v0="1512" v1="1932" v2="3053" v3="3127" />
+ <tetrahedron index="6714" v0="1212" v1="1438" v2="1512" v3="2827" />
+ <tetrahedron index="6715" v0="1438" v1="1512" v2="2827" v3="3053" />
+ <tetrahedron index="6716" v0="1512" v1="2827" v2="3053" v3="3127" />
+ <tetrahedron index="6717" v0="91" v1="92" v2="1439" v3="1706" />
+ <tetrahedron index="6718" v0="92" v1="1439" v2="1706" v3="1707" />
+ <tetrahedron index="6719" v0="1439" v1="1706" v2="1707" v3="3054" />
+ <tetrahedron index="6720" v0="903" v1="1205" v2="1326" v3="2518" />
+ <tetrahedron index="6721" v0="1205" v1="1326" v2="2518" v3="2820" />
+ <tetrahedron index="6722" v0="1326" v1="2518" v2="2820" v3="2941" />
+ <tetrahedron index="6723" v0="1140" v1="1395" v2="1403" v3="2755" />
+ <tetrahedron index="6724" v0="1395" v1="1403" v2="2755" v3="3010" />
+ <tetrahedron index="6725" v0="1403" v1="2755" v2="3010" v3="3018" />
+ <tetrahedron index="6726" v0="929" v1="1140" v2="1403" v3="2544" />
+ <tetrahedron index="6727" v0="1140" v1="1403" v2="2544" v3="2755" />
+ <tetrahedron index="6728" v0="1403" v1="2544" v2="2755" v3="3018" />
+ <tetrahedron index="6729" v0="522" v1="524" v2="1344" v3="2137" />
+ <tetrahedron index="6730" v0="524" v1="1344" v2="2137" v3="2139" />
+ <tetrahedron index="6731" v0="1344" v1="2137" v2="2139" v3="2959" />
+ <tetrahedron index="6732" v0="522" v1="875" v2="1344" v3="2137" />
+ <tetrahedron index="6733" v0="875" v1="1344" v2="2137" v3="2490" />
+ <tetrahedron index="6734" v0="1344" v1="2137" v2="2490" v3="2959" />
+ <tetrahedron index="6735" v0="605" v1="623" v2="1476" v3="2220" />
+ <tetrahedron index="6736" v0="623" v1="1476" v2="2220" v3="2238" />
+ <tetrahedron index="6737" v0="1476" v1="2220" v2="2238" v3="3091" />
+ <tetrahedron index="6738" v0="605" v1="1321" v2="1476" v3="2220" />
+ <tetrahedron index="6739" v0="1321" v1="1476" v2="2220" v3="2936" />
+ <tetrahedron index="6740" v0="1476" v1="2220" v2="2936" v3="3091" />
+ <tetrahedron index="6741" v0="1387" v1="1408" v2="1452" v3="3002" />
+ <tetrahedron index="6742" v0="1408" v1="1452" v2="3002" v3="3023" />
+ <tetrahedron index="6743" v0="1452" v1="3002" v2="3023" v3="3067" />
+ <tetrahedron index="6744" v0="1378" v1="1408" v2="1452" v3="2993" />
+ <tetrahedron index="6745" v0="1408" v1="1452" v2="2993" v3="3023" />
+ <tetrahedron index="6746" v0="1452" v1="2993" v2="3023" v3="3067" />
+ <tetrahedron index="6747" v0="435" v1="522" v2="926" v3="2050" />
+ <tetrahedron index="6748" v0="522" v1="926" v2="2050" v3="2137" />
+ <tetrahedron index="6749" v0="926" v1="2050" v2="2137" v3="2541" />
+ <tetrahedron index="6750" v0="522" v1="926" v2="1348" v3="2137" />
+ <tetrahedron index="6751" v0="926" v1="1348" v2="2137" v3="2541" />
+ <tetrahedron index="6752" v0="1348" v1="2137" v2="2541" v3="2963" />
+ <tetrahedron index="6753" v0="289" v1="1480" v2="1481" v3="1904" />
+ <tetrahedron index="6754" v0="1480" v1="1481" v2="1904" v3="3095" />
+ <tetrahedron index="6755" v0="1481" v1="1904" v2="3095" v3="3096" />
+ <tetrahedron index="6756" v0="1380" v1="1429" v2="1475" v3="2995" />
+ <tetrahedron index="6757" v0="1429" v1="1475" v2="2995" v3="3044" />
+ <tetrahedron index="6758" v0="1475" v1="2995" v2="3044" v3="3090" />
+ <tetrahedron index="6759" v0="980" v1="1392" v2="1468" v3="2595" />
+ <tetrahedron index="6760" v0="1392" v1="1468" v2="2595" v3="3007" />
+ <tetrahedron index="6761" v0="1468" v1="2595" v2="3007" v3="3083" />
+ <tetrahedron index="6762" v0="980" v1="1108" v2="1468" v3="2595" />
+ <tetrahedron index="6763" v0="1108" v1="1468" v2="2595" v3="2723" />
+ <tetrahedron index="6764" v0="1468" v1="2595" v2="2723" v3="3083" />
+ <tetrahedron index="6765" v0="289" v1="1357" v2="1480" v3="1904" />
+ <tetrahedron index="6766" v0="1357" v1="1480" v2="1904" v3="2972" />
+ <tetrahedron index="6767" v0="1480" v1="1904" v2="2972" v3="3095" />
+ <tetrahedron index="6768" v0="890" v1="1224" v2="1486" v3="2505" />
+ <tetrahedron index="6769" v0="1224" v1="1486" v2="2505" v3="2839" />
+ <tetrahedron index="6770" v0="1486" v1="2505" v2="2839" v3="3101" />
+ <tetrahedron index="6771" v0="202" v1="835" v2="1281" v3="1817" />
+ <tetrahedron index="6772" v0="835" v1="1281" v2="1817" v3="2450" />
+ <tetrahedron index="6773" v0="1281" v1="1817" v2="2450" v3="2896" />
+ <tetrahedron index="6774" v0="186" v1="1004" v2="1082" v3="1801" />
+ <tetrahedron index="6775" v0="1004" v1="1082" v2="1801" v3="2619" />
+ <tetrahedron index="6776" v0="1082" v1="1801" v2="2619" v3="2697" />
+ <tetrahedron index="6777" v0="184" v1="186" v2="1082" v3="1799" />
+ <tetrahedron index="6778" v0="186" v1="1082" v2="1799" v3="1801" />
+ <tetrahedron index="6779" v0="1082" v1="1799" v2="1801" v3="2697" />
+ <tetrahedron index="6780" v0="784" v1="1219" v2="1513" v3="2399" />
+ <tetrahedron index="6781" v0="1219" v1="1513" v2="2399" v3="2834" />
+ <tetrahedron index="6782" v0="1513" v1="2399" v2="2834" v3="3128" />
+ <tetrahedron index="6783" v0="1110" v1="1429" v2="1487" v3="2725" />
+ <tetrahedron index="6784" v0="1429" v1="1487" v2="2725" v3="3044" />
+ <tetrahedron index="6785" v0="1487" v1="2725" v2="3044" v3="3102" />
+ <tetrahedron index="6786" v0="392" v1="1407" v2="1432" v3="2007" />
+ <tetrahedron index="6787" v0="1407" v1="1432" v2="2007" v3="3022" />
+ <tetrahedron index="6788" v0="1432" v1="2007" v2="3022" v3="3047" />
+ <tetrahedron index="6789" v0="129" v1="191" v2="1423" v3="1744" />
+ <tetrahedron index="6790" v0="191" v1="1423" v2="1744" v3="1806" />
+ <tetrahedron index="6791" v0="1423" v1="1744" v2="1806" v3="3038" />
+ <tetrahedron index="6792" v0="129" v1="869" v2="1423" v3="1744" />
+ <tetrahedron index="6793" v0="869" v1="1423" v2="1744" v3="2484" />
+ <tetrahedron index="6794" v0="1423" v1="1744" v2="2484" v3="3038" />
+ <tetrahedron index="6795" v0="1514" v1="1515" v2="1516" v3="3129" />
+ <tetrahedron index="6796" v0="1515" v1="1516" v2="3129" v3="3130" />
+ <tetrahedron index="6797" v0="1516" v1="3129" v2="3130" v3="3131" />
+ <tetrahedron index="6798" v0="182" v1="595" v2="960" v3="1797" />
+ <tetrahedron index="6799" v0="595" v1="960" v2="1797" v3="2210" />
+ <tetrahedron index="6800" v0="960" v1="1797" v2="2210" v3="2575" />
+ <tetrahedron index="6801" v0="102" v1="997" v2="1426" v3="1717" />
+ <tetrahedron index="6802" v0="997" v1="1426" v2="1717" v3="2612" />
+ <tetrahedron index="6803" v0="1426" v1="1717" v2="2612" v3="3041" />
+ <tetrahedron index="6804" v0="100" v1="102" v2="1426" v3="1715" />
+ <tetrahedron index="6805" v0="102" v1="1426" v2="1715" v3="1717" />
+ <tetrahedron index="6806" v0="1426" v1="1715" v2="1717" v3="3041" />
+ <tetrahedron index="6807" v0="136" v1="871" v2="1455" v3="1751" />
+ <tetrahedron index="6808" v0="871" v1="1455" v2="1751" v3="2486" />
+ <tetrahedron index="6809" v0="1455" v1="1751" v2="2486" v3="3070" />
+ <tetrahedron index="6810" v0="136" v1="593" v2="1455" v3="1751" />
+ <tetrahedron index="6811" v0="593" v1="1455" v2="1751" v3="2208" />
+ <tetrahedron index="6812" v0="1455" v1="1751" v2="2208" v3="3070" />
+ <tetrahedron index="6813" v0="488" v1="845" v2="1420" v3="2103" />
+ <tetrahedron index="6814" v0="845" v1="1420" v2="2103" v3="2460" />
+ <tetrahedron index="6815" v0="1420" v1="2103" v2="2460" v3="3035" />
+ <tetrahedron index="6816" v0="788" v1="845" v2="1420" v3="2403" />
+ <tetrahedron index="6817" v0="845" v1="1420" v2="2403" v3="2460" />
+ <tetrahedron index="6818" v0="1420" v1="2403" v2="2460" v3="3035" />
+ <tetrahedron index="6819" v0="806" v1="844" v2="1364" v3="2421" />
+ <tetrahedron index="6820" v0="844" v1="1364" v2="2421" v3="2459" />
+ <tetrahedron index="6821" v0="1364" v1="2421" v2="2459" v3="2979" />
+ <tetrahedron index="6822" v0="806" v1="807" v2="844" v3="2421" />
+ <tetrahedron index="6823" v0="807" v1="844" v2="2421" v3="2422" />
+ <tetrahedron index="6824" v0="844" v1="2421" v2="2422" v3="2459" />
+ <tetrahedron index="6825" v0="750" v1="762" v2="1440" v3="2365" />
+ <tetrahedron index="6826" v0="762" v1="1440" v2="2365" v3="2377" />
+ <tetrahedron index="6827" v0="1440" v1="2365" v2="2377" v3="3055" />
+ <tetrahedron index="6828" v0="547" v1="762" v2="1440" v3="2162" />
+ <tetrahedron index="6829" v0="762" v1="1440" v2="2162" v3="2377" />
+ <tetrahedron index="6830" v0="1440" v1="2162" v2="2377" v3="3055" />
+ <tetrahedron index="6831" v0="411" v1="607" v2="1083" v3="2026" />
+ <tetrahedron index="6832" v0="607" v1="1083" v2="2026" v3="2222" />
+ <tetrahedron index="6833" v0="1083" v1="2026" v2="2222" v3="2698" />
+ <tetrahedron index="6834" v0="327" v1="411" v2="1083" v3="1942" />
+ <tetrahedron index="6835" v0="411" v1="1083" v2="1942" v3="2026" />
+ <tetrahedron index="6836" v0="1083" v1="1942" v2="2026" v3="2698" />
+ <tetrahedron index="6837" v0="975" v1="1008" v2="1491" v3="2590" />
+ <tetrahedron index="6838" v0="1008" v1="1491" v2="2590" v3="2623" />
+ <tetrahedron index="6839" v0="1491" v1="2590" v2="2623" v3="3106" />
+ <tetrahedron index="6840" v0="1073" v1="1145" v2="1491" v3="2688" />
+ <tetrahedron index="6841" v0="1145" v1="1491" v2="2688" v3="2760" />
+ <tetrahedron index="6842" v0="1491" v1="2688" v2="2760" v3="3106" />
+ <tetrahedron index="6843" v0="490" v1="1420" v2="1424" v3="2105" />
+ <tetrahedron index="6844" v0="1420" v1="1424" v2="2105" v3="3035" />
+ <tetrahedron index="6845" v0="1424" v1="2105" v2="3035" v3="3039" />
+ <tetrahedron index="6846" v0="1040" v1="1193" v2="1421" v3="2655" />
+ <tetrahedron index="6847" v0="1193" v1="1421" v2="2655" v3="2808" />
+ <tetrahedron index="6848" v0="1421" v1="2655" v2="2808" v3="3036" />
+ <tetrahedron index="6849" v0="1040" v1="1409" v2="1421" v3="2655" />
+ <tetrahedron index="6850" v0="1409" v1="1421" v2="2655" v3="3024" />
+ <tetrahedron index="6851" v0="1421" v1="2655" v2="3024" v3="3036" />
+ <tetrahedron index="6852" v0="804" v1="813" v2="1422" v3="2419" />
+ <tetrahedron index="6853" v0="813" v1="1422" v2="2419" v3="2428" />
+ <tetrahedron index="6854" v0="1422" v1="2419" v2="2428" v3="3037" />
+ <tetrahedron index="6855" v0="804" v1="1194" v2="1422" v3="2419" />
+ <tetrahedron index="6856" v0="1194" v1="1422" v2="2419" v3="2809" />
+ <tetrahedron index="6857" v0="1422" v1="2419" v2="2809" v3="3037" />
+ <tetrahedron index="6858" v0="468" v1="690" v2="1492" v3="2083" />
+ <tetrahedron index="6859" v0="690" v1="1492" v2="2083" v3="2305" />
+ <tetrahedron index="6860" v0="1492" v1="2083" v2="2305" v3="3107" />
+ <tetrahedron index="6861" v0="1188" v1="1197" v2="1493" v3="2803" />
+ <tetrahedron index="6862" v0="1197" v1="1493" v2="2803" v3="2812" />
+ <tetrahedron index="6863" v0="1493" v1="2803" v2="2812" v3="3108" />
+ <tetrahedron index="6864" v0="1156" v1="1188" v2="1493" v3="2771" />
+ <tetrahedron index="6865" v0="1188" v1="1493" v2="2771" v3="2803" />
+ <tetrahedron index="6866" v0="1493" v1="2771" v2="2803" v3="3108" />
+ <tetrahedron index="6867" v0="630" v1="753" v2="1286" v3="2245" />
+ <tetrahedron index="6868" v0="753" v1="1286" v2="2245" v3="2368" />
+ <tetrahedron index="6869" v0="1286" v1="2245" v2="2368" v3="2901" />
+ <tetrahedron index="6870" v0="73" v1="630" v2="753" v3="1688" />
+ <tetrahedron index="6871" v0="630" v1="753" v2="1688" v3="2245" />
+ <tetrahedron index="6872" v0="753" v1="1688" v2="2245" v3="2368" />
+ <tetrahedron index="6873" v0="490" v1="1423" v2="1424" v3="2105" />
+ <tetrahedron index="6874" v0="1423" v1="1424" v2="2105" v3="3038" />
+ <tetrahedron index="6875" v0="1424" v1="2105" v2="3038" v3="3039" />
+ <tetrahedron index="6876" v0="490" v1="1423" v2="1469" v3="2105" />
+ <tetrahedron index="6877" v0="1423" v1="1469" v2="2105" v3="3038" />
+ <tetrahedron index="6878" v0="1469" v1="2105" v2="3038" v3="3084" />
+ <tetrahedron index="6879" v0="858" v1="1090" v2="1495" v3="2473" />
+ <tetrahedron index="6880" v0="1090" v1="1495" v2="2473" v3="2705" />
+ <tetrahedron index="6881" v0="1495" v1="2473" v2="2705" v3="3110" />
+ <tetrahedron index="6882" v0="1090" v1="1277" v2="1495" v3="2705" />
+ <tetrahedron index="6883" v0="1277" v1="1495" v2="2705" v3="2892" />
+ <tetrahedron index="6884" v0="1495" v1="2705" v2="2892" v3="3110" />
+ <tetrahedron index="6885" v0="1155" v1="1304" v2="1425" v3="2770" />
+ <tetrahedron index="6886" v0="1304" v1="1425" v2="2770" v3="2919" />
+ <tetrahedron index="6887" v0="1425" v1="2770" v2="2919" v3="3040" />
+ <tetrahedron index="6888" v0="1153" v1="1155" v2="1425" v3="2768" />
+ <tetrahedron index="6889" v0="1155" v1="1425" v2="2768" v3="2770" />
+ <tetrahedron index="6890" v0="1425" v1="2768" v2="2770" v3="3040" />
+ <tetrahedron index="6891" v0="664" v1="1414" v2="1416" v3="2279" />
+ <tetrahedron index="6892" v0="1414" v1="1416" v2="2279" v3="3029" />
+ <tetrahedron index="6893" v0="1416" v1="2279" v2="3029" v3="3031" />
+ <tetrahedron index="6894" v0="91" v1="664" v2="1416" v3="1706" />
+ <tetrahedron index="6895" v0="664" v1="1416" v2="1706" v3="2279" />
+ <tetrahedron index="6896" v0="1416" v1="1706" v2="2279" v3="3031" />
+ <tetrahedron index="6897" v0="498" v1="905" v2="1427" v3="2113" />
+ <tetrahedron index="6898" v0="905" v1="1427" v2="2113" v3="2520" />
+ <tetrahedron index="6899" v0="1427" v1="2113" v2="2520" v3="3042" />
+ <tetrahedron index="6900" v0="498" v1="1042" v2="1427" v3="2113" />
+ <tetrahedron index="6901" v0="1042" v1="1427" v2="2113" v3="2657" />
+ <tetrahedron index="6902" v0="1427" v1="2113" v2="2657" v3="3042" />
+ <tetrahedron index="6903" v0="1399" v1="1494" v2="1502" v3="3014" />
+ <tetrahedron index="6904" v0="1494" v1="1502" v2="3014" v3="3109" />
+ <tetrahedron index="6905" v0="1502" v1="3014" v2="3109" v3="3117" />
+ <tetrahedron index="6906" v0="1494" v1="1502" v2="1515" v3="3109" />
+ <tetrahedron index="6907" v0="1502" v1="1515" v2="3109" v3="3117" />
+ <tetrahedron index="6908" v0="1515" v1="3109" v2="3117" v3="3130" />
+ <tetrahedron index="6909" v0="989" v1="990" v2="1428" v3="2604" />
+ <tetrahedron index="6910" v0="990" v1="1428" v2="2604" v3="2605" />
+ <tetrahedron index="6911" v0="1428" v1="2604" v2="2605" v3="3043" />
+ <tetrahedron index="6912" v0="355" v1="989" v2="1428" v3="1970" />
+ <tetrahedron index="6913" v0="989" v1="1428" v2="1970" v3="2604" />
+ <tetrahedron index="6914" v0="1428" v1="1970" v2="2604" v3="3043" />
+ <tetrahedron index="6915" v0="858" v1="1215" v2="1517" v3="2473" />
+ <tetrahedron index="6916" v0="1215" v1="1517" v2="2473" v3="2830" />
+ <tetrahedron index="6917" v0="1517" v1="2473" v2="2830" v3="3132" />
+ <tetrahedron index="6918" v0="858" v1="1495" v2="1517" v3="2473" />
+ <tetrahedron index="6919" v0="1495" v1="1517" v2="2473" v3="3110" />
+ <tetrahedron index="6920" v0="1517" v1="2473" v2="3110" v3="3132" />
+ <tetrahedron index="6921" v0="1093" v1="1095" v2="1430" v3="2708" />
+ <tetrahedron index="6922" v0="1095" v1="1430" v2="2708" v3="2710" />
+ <tetrahedron index="6923" v0="1430" v1="2708" v2="2710" v3="3045" />
+ <tetrahedron index="6924" v0="1093" v1="1391" v2="1430" v3="2708" />
+ <tetrahedron index="6925" v0="1391" v1="1430" v2="2708" v3="3006" />
+ <tetrahedron index="6926" v0="1430" v1="2708" v2="3006" v3="3045" />
+ <tetrahedron index="6927" v0="1131" v1="1133" v2="1465" v3="2746" />
+ <tetrahedron index="6928" v0="1133" v1="1465" v2="2746" v3="2748" />
+ <tetrahedron index="6929" v0="1465" v1="2746" v2="2748" v3="3080" />
+ <tetrahedron index="6930" v0="96" v1="193" v2="1504" v3="1711" />
+ <tetrahedron index="6931" v0="193" v1="1504" v2="1711" v3="1808" />
+ <tetrahedron index="6932" v0="1504" v1="1711" v2="1808" v3="3119" />
+ <tetrahedron index="6933" v0="96" v1="709" v2="1504" v3="1711" />
+ <tetrahedron index="6934" v0="709" v1="1504" v2="1711" v3="2324" />
+ <tetrahedron index="6935" v0="1504" v1="1711" v2="2324" v3="3119" />
+ <tetrahedron index="6936" v0="1038" v1="1256" v2="1494" v3="2653" />
+ <tetrahedron index="6937" v0="1256" v1="1494" v2="2653" v3="2871" />
+ <tetrahedron index="6938" v0="1494" v1="2653" v2="2871" v3="3109" />
+ <tetrahedron index="6939" v0="1256" v1="1514" v2="1515" v3="2871" />
+ <tetrahedron index="6940" v0="1514" v1="1515" v2="2871" v3="3129" />
+ <tetrahedron index="6941" v0="1515" v1="2871" v2="3129" v3="3130" />
+ <tetrahedron index="6942" v0="1256" v1="1494" v2="1515" v3="2871" />
+ <tetrahedron index="6943" v0="1494" v1="1515" v2="2871" v3="3109" />
+ <tetrahedron index="6944" v0="1515" v1="2871" v2="3109" v3="3130" />
+ <tetrahedron index="6945" v0="1399" v1="1401" v2="1464" v3="3014" />
+ <tetrahedron index="6946" v0="1401" v1="1464" v2="3014" v3="3016" />
+ <tetrahedron index="6947" v0="1464" v1="3014" v2="3016" v3="3079" />
+ <tetrahedron index="6948" v0="506" v1="1012" v2="1518" v3="2121" />
+ <tetrahedron index="6949" v0="1012" v1="1518" v2="2121" v3="2627" />
+ <tetrahedron index="6950" v0="1518" v1="2121" v2="2627" v3="3133" />
+ <tetrahedron index="6951" v0="506" v1="1206" v2="1518" v3="2121" />
+ <tetrahedron index="6952" v0="1206" v1="1518" v2="2121" v3="2821" />
+ <tetrahedron index="6953" v0="1518" v1="2121" v2="2821" v3="3133" />
+ <tetrahedron index="6954" v0="229" v1="810" v2="1519" v3="1844" />
+ <tetrahedron index="6955" v0="810" v1="1519" v2="1844" v3="2425" />
+ <tetrahedron index="6956" v0="1519" v1="1844" v2="2425" v3="3134" />
+ <tetrahedron index="6957" v0="817" v1="819" v2="1437" v3="2432" />
+ <tetrahedron index="6958" v0="819" v1="1437" v2="2432" v3="2434" />
+ <tetrahedron index="6959" v0="1437" v1="2432" v2="2434" v3="3052" />
+ <tetrahedron index="6960" v0="817" v1="839" v2="1437" v3="2432" />
+ <tetrahedron index="6961" v0="839" v1="1437" v2="2432" v3="2454" />
+ <tetrahedron index="6962" v0="1437" v1="2432" v2="2454" v3="3052" />
+ <tetrahedron index="6963" v0="923" v1="924" v2="1345" v3="2538" />
+ <tetrahedron index="6964" v0="924" v1="1345" v2="2538" v3="2539" />
+ <tetrahedron index="6965" v0="1345" v1="2538" v2="2539" v3="2960" />
+ <tetrahedron index="6966" v0="832" v1="924" v2="1345" v3="2447" />
+ <tetrahedron index="6967" v0="924" v1="1345" v2="2447" v3="2539" />
+ <tetrahedron index="6968" v0="1345" v1="2447" v2="2539" v3="2960" />
+ <tetrahedron index="6969" v0="63" v1="817" v2="1362" v3="1678" />
+ <tetrahedron index="6970" v0="817" v1="1362" v2="1678" v3="2432" />
+ <tetrahedron index="6971" v0="1362" v1="1678" v2="2432" v3="2977" />
+ <tetrahedron index="6972" v0="62" v1="63" v2="1362" v3="1677" />
+ <tetrahedron index="6973" v0="63" v1="1362" v2="1677" v3="1678" />
+ <tetrahedron index="6974" v0="1362" v1="1677" v2="1678" v3="2977" />
+ <tetrahedron index="6975" v0="434" v1="457" v2="1439" v3="2049" />
+ <tetrahedron index="6976" v0="457" v1="1439" v2="2049" v3="2072" />
+ <tetrahedron index="6977" v0="1439" v1="2049" v2="2072" v3="3054" />
+ <tetrahedron index="6978" v0="434" v1="925" v2="1439" v3="2049" />
+ <tetrahedron index="6979" v0="925" v1="1439" v2="2049" v3="2540" />
+ <tetrahedron index="6980" v0="1439" v1="2049" v2="2540" v3="3054" />
+ <tetrahedron index="6981" v0="501" v1="618" v2="1520" v3="2116" />
+ <tetrahedron index="6982" v0="618" v1="1520" v2="2116" v3="2233" />
+ <tetrahedron index="6983" v0="1520" v1="2116" v2="2233" v3="3135" />
+ <tetrahedron index="6984" v0="483" v1="750" v2="1441" v3="2098" />
+ <tetrahedron index="6985" v0="750" v1="1441" v2="2098" v3="2365" />
+ <tetrahedron index="6986" v0="1441" v1="2098" v2="2365" v3="3056" />
+ <tetrahedron index="6987" v0="947" v1="1055" v2="1248" v3="2562" />
+ <tetrahedron index="6988" v0="1055" v1="1248" v2="2562" v3="2670" />
+ <tetrahedron index="6989" v0="1248" v1="2562" v2="2670" v3="2863" />
+ <tetrahedron index="6990" v0="181" v1="292" v2="595" v3="1796" />
+ <tetrahedron index="6991" v0="292" v1="595" v2="1796" v3="1907" />
+ <tetrahedron index="6992" v0="595" v1="1796" v2="1907" v3="2210" />
+ <tetrahedron index="6993" v0="181" v1="182" v2="595" v3="1796" />
+ <tetrahedron index="6994" v0="182" v1="595" v2="1796" v3="1797" />
+ <tetrahedron index="6995" v0="595" v1="1796" v2="1797" v3="2210" />
+ <tetrahedron index="6996" v0="394" v1="1431" v2="1432" v3="2009" />
+ <tetrahedron index="6997" v0="1431" v1="1432" v2="2009" v3="3046" />
+ <tetrahedron index="6998" v0="1432" v1="2009" v2="3046" v3="3047" />
+ <tetrahedron index="6999" v0="392" v1="394" v2="1432" v3="2007" />
+ <tetrahedron index="7000" v0="394" v1="1432" v2="2007" v3="2009" />
+ <tetrahedron index="7001" v0="1432" v1="2007" v2="2009" v3="3047" />
+ <tetrahedron index="7002" v0="956" v1="958" v2="1206" v3="2571" />
+ <tetrahedron index="7003" v0="958" v1="1206" v2="2571" v3="2573" />
+ <tetrahedron index="7004" v0="1206" v1="2571" v2="2573" v3="2821" />
+ <tetrahedron index="7005" v0="1098" v1="1187" v2="1493" v3="2713" />
+ <tetrahedron index="7006" v0="1187" v1="1493" v2="2713" v3="2802" />
+ <tetrahedron index="7007" v0="1493" v1="2713" v2="2802" v3="3108" />
+ <tetrahedron index="7008" v0="1195" v1="1422" v2="1470" v3="2810" />
+ <tetrahedron index="7009" v0="1422" v1="1470" v2="2810" v3="3037" />
+ <tetrahedron index="7010" v0="1470" v1="2810" v2="3037" v3="3085" />
+ <tetrahedron index="7011" v0="1238" v1="1422" v2="1470" v3="2853" />
+ <tetrahedron index="7012" v0="1422" v1="1470" v2="2853" v3="3037" />
+ <tetrahedron index="7013" v0="1470" v1="2853" v2="3037" v3="3085" />
+ <tetrahedron index="7014" v0="780" v1="1182" v2="1362" v3="2395" />
+ <tetrahedron index="7015" v0="1182" v1="1362" v2="2395" v3="2797" />
+ <tetrahedron index="7016" v0="1362" v1="2395" v2="2797" v3="2977" />
+ <tetrahedron index="7017" v0="1182" v1="1341" v2="1362" v3="2797" />
+ <tetrahedron index="7018" v0="1341" v1="1362" v2="2797" v3="2956" />
+ <tetrahedron index="7019" v0="1362" v1="2797" v2="2956" v3="2977" />
+ <tetrahedron index="7020" v0="1324" v1="1373" v2="1521" v3="2939" />
+ <tetrahedron index="7021" v0="1373" v1="1521" v2="2939" v3="2988" />
+ <tetrahedron index="7022" v0="1521" v1="2939" v2="2988" v3="3136" />
+ <tetrahedron index="7023" v0="1295" v1="1374" v2="1436" v3="2910" />
+ <tetrahedron index="7024" v0="1374" v1="1436" v2="2910" v3="2989" />
+ <tetrahedron index="7025" v0="1436" v1="2910" v2="2989" v3="3051" />
+ <tetrahedron index="7026" v0="1483" v1="1522" v2="1523" v3="3098" />
+ <tetrahedron index="7027" v0="1522" v1="1523" v2="3098" v3="3137" />
+ <tetrahedron index="7028" v0="1523" v1="3098" v2="3137" v3="3138" />
+ <tetrahedron index="7029" v0="314" v1="1347" v2="1398" v3="1929" />
+ <tetrahedron index="7030" v0="1347" v1="1398" v2="1929" v3="2962" />
+ <tetrahedron index="7031" v0="1398" v1="1929" v2="2962" v3="3013" />
+ <tetrahedron index="7032" v0="314" v1="460" v2="1398" v3="1929" />
+ <tetrahedron index="7033" v0="460" v1="1398" v2="1929" v3="2075" />
+ <tetrahedron index="7034" v0="1398" v1="1929" v2="2075" v3="3013" />
+ <tetrahedron index="7035" v0="568" v1="572" v2="1181" v3="2183" />
+ <tetrahedron index="7036" v0="572" v1="1181" v2="2183" v3="2187" />
+ <tetrahedron index="7037" v0="1181" v1="2183" v2="2187" v3="2796" />
+ <tetrahedron index="7038" v0="572" v1="1181" v2="1448" v3="2187" />
+ <tetrahedron index="7039" v0="1181" v1="1448" v2="2187" v3="2796" />
+ <tetrahedron index="7040" v0="1448" v1="2187" v2="2796" v3="3063" />
+ <tetrahedron index="7041" v0="646" v1="922" v2="1462" v3="2261" />
+ <tetrahedron index="7042" v0="922" v1="1462" v2="2261" v3="2537" />
+ <tetrahedron index="7043" v0="1462" v1="2261" v2="2537" v3="3077" />
+ <tetrahedron index="7044" v0="1047" v1="1075" v2="1124" v3="2662" />
+ <tetrahedron index="7045" v0="1075" v1="1124" v2="2662" v3="2690" />
+ <tetrahedron index="7046" v0="1124" v1="2662" v2="2690" v3="2739" />
+ <tetrahedron index="7047" v0="190" v1="191" v2="1424" v3="1805" />
+ <tetrahedron index="7048" v0="191" v1="1424" v2="1805" v3="1806" />
+ <tetrahedron index="7049" v0="1424" v1="1805" v2="1806" v3="3039" />
+ <tetrahedron index="7050" v0="552" v1="761" v2="853" v3="2167" />
+ <tetrahedron index="7051" v0="761" v1="853" v2="2167" v3="2376" />
+ <tetrahedron index="7052" v0="853" v1="2167" v2="2376" v3="2468" />
+ <tetrahedron index="7053" v0="414" v1="415" v2="1444" v3="2029" />
+ <tetrahedron index="7054" v0="415" v1="1444" v2="2029" v3="2030" />
+ <tetrahedron index="7055" v0="1444" v1="2029" v2="2030" v3="3059" />
+ <tetrahedron index="7056" v0="512" v1="689" v2="1185" v3="2127" />
+ <tetrahedron index="7057" v0="689" v1="1185" v2="2127" v3="2304" />
+ <tetrahedron index="7058" v0="1185" v1="2127" v2="2304" v3="2800" />
+ <tetrahedron index="7059" v0="711" v1="713" v2="1524" v3="2326" />
+ <tetrahedron index="7060" v0="713" v1="1524" v2="2326" v3="2328" />
+ <tetrahedron index="7061" v0="1524" v1="2326" v2="2328" v3="3139" />
+ <tetrahedron index="7062" v0="711" v1="1443" v2="1524" v3="2326" />
+ <tetrahedron index="7063" v0="1443" v1="1524" v2="2326" v3="3058" />
+ <tetrahedron index="7064" v0="1524" v1="2326" v2="3058" v3="3139" />
+ <tetrahedron index="7065" v0="731" v1="732" v2="912" v3="2346" />
+ <tetrahedron index="7066" v0="732" v1="912" v2="2346" v3="2347" />
+ <tetrahedron index="7067" v0="912" v1="2346" v2="2347" v3="2527" />
+ <tetrahedron index="7068" v0="256" v1="259" v2="1525" v3="1871" />
+ <tetrahedron index="7069" v0="259" v1="1525" v2="1871" v3="1874" />
+ <tetrahedron index="7070" v0="1525" v1="1871" v2="1874" v3="3140" />
+ <tetrahedron index="7071" v0="1005" v1="1006" v2="1291" v3="2620" />
+ <tetrahedron index="7072" v0="1006" v1="1291" v2="2620" v3="2621" />
+ <tetrahedron index="7073" v0="1291" v1="2620" v2="2621" v3="2906" />
+ <tetrahedron index="7074" v0="1136" v1="1311" v2="1312" v3="2751" />
+ <tetrahedron index="7075" v0="1311" v1="1312" v2="2751" v3="2926" />
+ <tetrahedron index="7076" v0="1312" v1="2751" v2="2926" v3="2927" />
+ <tetrahedron index="7077" v0="1061" v1="1062" v2="1225" v3="2676" />
+ <tetrahedron index="7078" v0="1062" v1="1225" v2="2676" v3="2677" />
+ <tetrahedron index="7079" v0="1225" v1="2676" v2="2677" v3="2840" />
+ <tetrahedron index="7080" v0="640" v1="641" v2="665" v3="2255" />
+ <tetrahedron index="7081" v0="641" v1="665" v2="2255" v3="2256" />
+ <tetrahedron index="7082" v0="665" v1="2255" v2="2256" v3="2280" />
+ <tetrahedron index="7083" v0="606" v1="865" v2="1177" v3="2221" />
+ <tetrahedron index="7084" v0="865" v1="1177" v2="2221" v3="2480" />
+ <tetrahedron index="7085" v0="1177" v1="2221" v2="2480" v3="2792" />
+ <tetrahedron index="7086" v0="390" v1="987" v2="1319" v3="2005" />
+ <tetrahedron index="7087" v0="987" v1="1319" v2="2005" v3="2602" />
+ <tetrahedron index="7088" v0="1319" v1="2005" v2="2602" v3="2934" />
+ <tetrahedron index="7089" v0="190" v1="1359" v2="1526" v3="1805" />
+ <tetrahedron index="7090" v0="1359" v1="1526" v2="1805" v3="2974" />
+ <tetrahedron index="7091" v0="1526" v1="1805" v2="2974" v3="3141" />
+ <tetrahedron index="7092" v0="1171" v1="1336" v2="1447" v3="2786" />
+ <tetrahedron index="7093" v0="1336" v1="1447" v2="2786" v3="2951" />
+ <tetrahedron index="7094" v0="1447" v1="2786" v2="2951" v3="3062" />
+ <tetrahedron index="7095" v0="934" v1="936" v2="1433" v3="2549" />
+ <tetrahedron index="7096" v0="936" v1="1433" v2="2549" v3="2551" />
+ <tetrahedron index="7097" v0="1433" v1="2549" v2="2551" v3="3048" />
+ <tetrahedron index="7098" v0="26" v1="835" v2="1089" v3="1641" />
+ <tetrahedron index="7099" v0="835" v1="1089" v2="1641" v3="2450" />
+ <tetrahedron index="7100" v0="1089" v1="1641" v2="2450" v3="2704" />
+ <tetrahedron index="7101" v0="185" v1="186" v2="1230" v3="1800" />
+ <tetrahedron index="7102" v0="186" v1="1230" v2="1800" v3="1801" />
+ <tetrahedron index="7103" v0="1230" v1="1800" v2="1801" v3="2845" />
+ <tetrahedron index="7104" v0="1265" v1="1295" v2="1394" v3="2880" />
+ <tetrahedron index="7105" v0="1295" v1="1394" v2="2880" v3="2910" />
+ <tetrahedron index="7106" v0="1394" v1="2880" v2="2910" v3="3009" />
+ <tetrahedron index="7107" v0="310" v1="311" v2="1510" v3="1925" />
+ <tetrahedron index="7108" v0="311" v1="1510" v2="1925" v3="1926" />
+ <tetrahedron index="7109" v0="1510" v1="1925" v2="1926" v3="3125" />
+ <tetrahedron index="7110" v0="904" v1="1308" v2="1527" v3="2519" />
+ <tetrahedron index="7111" v0="1308" v1="1527" v2="2519" v3="2923" />
+ <tetrahedron index="7112" v0="1527" v1="2519" v2="2923" v3="3142" />
+ <tetrahedron index="7113" v0="465" v1="678" v2="1528" v3="2080" />
+ <tetrahedron index="7114" v0="678" v1="1528" v2="2080" v3="2293" />
+ <tetrahedron index="7115" v0="1528" v1="2080" v2="2293" v3="3143" />
+ <tetrahedron index="7116" v0="798" v1="1133" v2="1529" v3="2413" />
+ <tetrahedron index="7117" v0="1133" v1="1529" v2="2413" v3="2748" />
+ <tetrahedron index="7118" v0="1529" v1="2413" v2="2748" v3="3144" />
+ <tetrahedron index="7119" v0="919" v1="1530" v2="1531" v3="2534" />
+ <tetrahedron index="7120" v0="1530" v1="1531" v2="2534" v3="3145" />
+ <tetrahedron index="7121" v0="1531" v1="2534" v2="3145" v3="3146" />
+ <tetrahedron index="7122" v0="815" v1="919" v2="1531" v3="2430" />
+ <tetrahedron index="7123" v0="919" v1="1531" v2="2430" v3="2534" />
+ <tetrahedron index="7124" v0="1531" v1="2430" v2="2534" v3="3146" />
+ <tetrahedron index="7125" v0="561" v1="836" v2="1390" v3="2176" />
+ <tetrahedron index="7126" v0="836" v1="1390" v2="2176" v3="2451" />
+ <tetrahedron index="7127" v0="1390" v1="2176" v2="2451" v3="3005" />
+ <tetrahedron index="7128" v0="912" v1="933" v2="1532" v3="2527" />
+ <tetrahedron index="7129" v0="933" v1="1532" v2="2527" v3="2548" />
+ <tetrahedron index="7130" v0="1532" v1="2527" v2="2548" v3="3147" />
+ <tetrahedron index="7131" v0="771" v1="1382" v2="1533" v3="2386" />
+ <tetrahedron index="7132" v0="1382" v1="1533" v2="2386" v3="2997" />
+ <tetrahedron index="7133" v0="1533" v1="2386" v2="2997" v3="3148" />
+ <tetrahedron index="7134" v0="798" v1="927" v2="1529" v3="2413" />
+ <tetrahedron index="7135" v0="927" v1="1529" v2="2413" v3="2542" />
+ <tetrahedron index="7136" v0="1529" v1="2413" v2="2542" v3="3144" />
+ <tetrahedron index="7137" v0="595" v1="960" v2="968" v3="2210" />
+ <tetrahedron index="7138" v0="960" v1="968" v2="2210" v3="2575" />
+ <tetrahedron index="7139" v0="968" v1="2210" v2="2575" v3="2583" />
+ <tetrahedron index="7140" v0="595" v1="596" v2="968" v3="2210" />
+ <tetrahedron index="7141" v0="596" v1="968" v2="2210" v3="2211" />
+ <tetrahedron index="7142" v0="968" v1="2210" v2="2211" v3="2583" />
+ <tetrahedron index="7143" v0="190" v1="1424" v2="1534" v3="1805" />
+ <tetrahedron index="7144" v0="1424" v1="1534" v2="1805" v3="3039" />
+ <tetrahedron index="7145" v0="1534" v1="1805" v2="3039" v3="3149" />
+ <tetrahedron index="7146" v0="81" v1="398" v2="413" v3="1696" />
+ <tetrahedron index="7147" v0="398" v1="413" v2="1696" v3="2013" />
+ <tetrahedron index="7148" v0="413" v1="1696" v2="2013" v3="2028" />
+ <tetrahedron index="7149" v0="939" v1="956" v2="957" v3="2554" />
+ <tetrahedron index="7150" v0="956" v1="957" v2="2554" v3="2571" />
+ <tetrahedron index="7151" v0="957" v1="2554" v2="2571" v3="2572" />
+ <tetrahedron index="7152" v0="439" v1="1463" v2="1535" v3="2054" />
+ <tetrahedron index="7153" v0="1463" v1="1535" v2="2054" v3="3078" />
+ <tetrahedron index="7154" v0="1535" v1="2054" v2="3078" v3="3150" />
+ <tetrahedron index="7155" v0="439" v1="1079" v2="1535" v3="2054" />
+ <tetrahedron index="7156" v0="1079" v1="1535" v2="2054" v3="2694" />
+ <tetrahedron index="7157" v0="1535" v1="2054" v2="2694" v3="3150" />
+ <tetrahedron index="7158" v0="389" v1="390" v2="1536" v3="2004" />
+ <tetrahedron index="7159" v0="390" v1="1536" v2="2004" v3="2005" />
+ <tetrahedron index="7160" v0="1536" v1="2004" v2="2005" v3="3151" />
+ <tetrahedron index="7161" v0="626" v1="1364" v2="1537" v3="2241" />
+ <tetrahedron index="7162" v0="1364" v1="1537" v2="2241" v3="2979" />
+ <tetrahedron index="7163" v0="1537" v1="2241" v2="2979" v3="3152" />
+ <tetrahedron index="7164" v0="1229" v1="1370" v2="1538" v3="2844" />
+ <tetrahedron index="7165" v0="1370" v1="1538" v2="2844" v3="2985" />
+ <tetrahedron index="7166" v0="1538" v1="2844" v2="2985" v3="3153" />
+ <tetrahedron index="7167" v0="1128" v1="1305" v2="1539" v3="2743" />
+ <tetrahedron index="7168" v0="1305" v1="1539" v2="2743" v3="2920" />
+ <tetrahedron index="7169" v0="1539" v1="2743" v2="2920" v3="3154" />
+ <tetrahedron index="7170" v0="690" v1="1492" v2="1540" v3="2305" />
+ <tetrahedron index="7171" v0="1492" v1="1540" v2="2305" v3="3107" />
+ <tetrahedron index="7172" v0="1540" v1="2305" v2="3107" v3="3155" />
+ <tetrahedron index="7173" v0="1028" v1="1384" v2="1541" v3="2643" />
+ <tetrahedron index="7174" v0="1384" v1="1541" v2="2643" v3="2999" />
+ <tetrahedron index="7175" v0="1541" v1="2643" v2="2999" v3="3156" />
+ <tetrahedron index="7176" v0="115" v1="1329" v2="1542" v3="1730" />
+ <tetrahedron index="7177" v0="1329" v1="1542" v2="1730" v3="2944" />
+ <tetrahedron index="7178" v0="1542" v1="1730" v2="2944" v3="3157" />
+ <tetrahedron index="7179" v0="1062" v1="1225" v2="1543" v3="2677" />
+ <tetrahedron index="7180" v0="1225" v1="1543" v2="2677" v3="2840" />
+ <tetrahedron index="7181" v0="1543" v1="2677" v2="2840" v3="3158" />
+ <tetrahedron index="7182" v0="1133" v1="1465" v2="1544" v3="2748" />
+ <tetrahedron index="7183" v0="1465" v1="1544" v2="2748" v3="3080" />
+ <tetrahedron index="7184" v0="1544" v1="2748" v2="3080" v3="3159" />
+ <tetrahedron index="7185" v0="798" v1="1133" v2="1544" v3="2413" />
+ <tetrahedron index="7186" v0="1133" v1="1544" v2="2413" v3="2748" />
+ <tetrahedron index="7187" v0="1544" v1="2413" v2="2748" v3="3159" />
+ <tetrahedron index="7188" v0="272" v1="323" v2="1451" v3="1887" />
+ <tetrahedron index="7189" v0="323" v1="1451" v2="1887" v3="1938" />
+ <tetrahedron index="7190" v0="1451" v1="1887" v2="1938" v3="3066" />
+ <tetrahedron index="7191" v0="550" v1="861" v2="1545" v3="2165" />
+ <tetrahedron index="7192" v0="861" v1="1545" v2="2165" v3="2476" />
+ <tetrahedron index="7193" v0="1545" v1="2165" v2="2476" v3="3160" />
+ <tetrahedron index="7194" v0="547" v1="548" v2="1546" v3="2162" />
+ <tetrahedron index="7195" v0="548" v1="1546" v2="2162" v3="2163" />
+ <tetrahedron index="7196" v0="1546" v1="2162" v2="2163" v3="3161" />
+ <tetrahedron index="7197" v0="1216" v1="1240" v2="1547" v3="2831" />
+ <tetrahedron index="7198" v0="1240" v1="1547" v2="2831" v3="2855" />
+ <tetrahedron index="7199" v0="1547" v1="2831" v2="2855" v3="3162" />
+ <tetrahedron index="7200" v0="1098" v1="1379" v2="1493" v3="2713" />
+ <tetrahedron index="7201" v0="1379" v1="1493" v2="2713" v3="2994" />
+ <tetrahedron index="7202" v0="1493" v1="2713" v2="2994" v3="3108" />
+ <tetrahedron index="7203" v0="976" v1="1005" v2="1450" v3="2591" />
+ <tetrahedron index="7204" v0="1005" v1="1450" v2="2591" v3="2620" />
+ <tetrahedron index="7205" v0="1450" v1="2591" v2="2620" v3="3065" />
+ <tetrahedron index="7206" v0="1038" v1="1399" v2="1400" v3="2653" />
+ <tetrahedron index="7207" v0="1399" v1="1400" v2="2653" v3="3014" />
+ <tetrahedron index="7208" v0="1400" v1="2653" v2="3014" v3="3015" />
+ <tetrahedron index="7209" v0="1016" v1="1018" v2="1548" v3="2631" />
+ <tetrahedron index="7210" v0="1018" v1="1548" v2="2631" v3="2633" />
+ <tetrahedron index="7211" v0="1548" v1="2631" v2="2633" v3="3163" />
+ <tetrahedron index="7212" v0="1242" v1="1366" v2="1549" v3="2857" />
+ <tetrahedron index="7213" v0="1366" v1="1549" v2="2857" v3="2981" />
+ <tetrahedron index="7214" v0="1549" v1="2857" v2="2981" v3="3164" />
+ <tetrahedron index="7215" v0="313" v1="1099" v2="1369" v3="1928" />
+ <tetrahedron index="7216" v0="1099" v1="1369" v2="1928" v3="2714" />
+ <tetrahedron index="7217" v0="1369" v1="1928" v2="2714" v3="2984" />
+ <tetrahedron index="7218" v0="812" v1="950" v2="1550" v3="2427" />
+ <tetrahedron index="7219" v0="950" v1="1550" v2="2427" v3="2565" />
+ <tetrahedron index="7220" v0="1550" v1="2427" v2="2565" v3="3165" />
+ <tetrahedron index="7221" v0="950" v1="1496" v2="1550" v3="2565" />
+ <tetrahedron index="7222" v0="1496" v1="1550" v2="2565" v3="3111" />
+ <tetrahedron index="7223" v0="1550" v1="2565" v2="3111" v3="3165" />
+ <tetrahedron index="7224" v0="190" v1="1526" v2="1551" v3="1805" />
+ <tetrahedron index="7225" v0="1526" v1="1551" v2="1805" v3="3141" />
+ <tetrahedron index="7226" v0="1551" v1="1805" v2="3141" v3="3166" />
+ <tetrahedron index="7227" v0="730" v1="1551" v2="1552" v3="2345" />
+ <tetrahedron index="7228" v0="1551" v1="1552" v2="2345" v3="3166" />
+ <tetrahedron index="7229" v0="1552" v1="2345" v2="3166" v3="3167" />
+ <tetrahedron index="7230" v0="814" v1="816" v2="1553" v3="2429" />
+ <tetrahedron index="7231" v0="816" v1="1553" v2="2429" v3="2431" />
+ <tetrahedron index="7232" v0="1553" v1="2429" v2="2431" v3="3168" />
+ <tetrahedron index="7233" v0="814" v1="882" v2="1553" v3="2429" />
+ <tetrahedron index="7234" v0="882" v1="1553" v2="2429" v3="2497" />
+ <tetrahedron index="7235" v0="1553" v1="2429" v2="2497" v3="3168" />
+ <tetrahedron index="7236" v0="596" v1="968" v2="1376" v3="2211" />
+ <tetrahedron index="7237" v0="968" v1="1376" v2="2211" v3="2583" />
+ <tetrahedron index="7238" v0="1376" v1="2211" v2="2583" v3="2991" />
+ <tetrahedron index="7239" v0="968" v1="969" v2="1376" v3="2583" />
+ <tetrahedron index="7240" v0="969" v1="1376" v2="2583" v3="2584" />
+ <tetrahedron index="7241" v0="1376" v1="2583" v2="2584" v3="2991" />
+ <tetrahedron index="7242" v0="842" v1="1291" v2="1554" v3="2457" />
+ <tetrahedron index="7243" v0="1291" v1="1554" v2="2457" v3="2906" />
+ <tetrahedron index="7244" v0="1554" v1="2457" v2="2906" v3="3169" />
+ <tetrahedron index="7245" v0="1337" v1="1474" v2="1496" v3="2952" />
+ <tetrahedron index="7246" v0="1474" v1="1496" v2="2952" v3="3089" />
+ <tetrahedron index="7247" v0="1496" v1="2952" v2="3089" v3="3111" />
+ <tetrahedron index="7248" v0="407" v1="730" v2="1552" v3="2022" />
+ <tetrahedron index="7249" v0="730" v1="1552" v2="2022" v3="2345" />
+ <tetrahedron index="7250" v0="1552" v1="2022" v2="2345" v3="3167" />
+ <tetrahedron index="7251" v0="1389" v1="1449" v2="1555" v3="3004" />
+ <tetrahedron index="7252" v0="1449" v1="1555" v2="3004" v3="3064" />
+ <tetrahedron index="7253" v0="1555" v1="3004" v2="3064" v3="3170" />
+ <tetrahedron index="7254" v0="415" v1="1444" v2="1556" v3="2030" />
+ <tetrahedron index="7255" v0="1444" v1="1556" v2="2030" v3="3059" />
+ <tetrahedron index="7256" v0="1556" v1="2030" v2="3059" v3="3171" />
+ <tetrahedron index="7257" v0="773" v1="1463" v2="1557" v3="2388" />
+ <tetrahedron index="7258" v0="1463" v1="1557" v2="2388" v3="3078" />
+ <tetrahedron index="7259" v0="1557" v1="2388" v2="3078" v3="3172" />
+ <tetrahedron index="7260" v0="881" v1="1013" v2="1434" v3="2496" />
+ <tetrahedron index="7261" v0="1013" v1="1434" v2="2496" v3="2628" />
+ <tetrahedron index="7262" v0="1434" v1="2496" v2="2628" v3="3049" />
+ <tetrahedron index="7263" v0="361" v1="1068" v2="1558" v3="1976" />
+ <tetrahedron index="7264" v0="1068" v1="1558" v2="1976" v3="2683" />
+ <tetrahedron index="7265" v0="1558" v1="1976" v2="2683" v3="3173" />
+ <tetrahedron index="7266" v0="361" v1="811" v2="1558" v3="1976" />
+ <tetrahedron index="7267" v0="811" v1="1558" v2="1976" v3="2426" />
+ <tetrahedron index="7268" v0="1558" v1="1976" v2="2426" v3="3173" />
+ <tetrahedron index="7269" v0="1215" v1="1517" v2="1559" v3="2830" />
+ <tetrahedron index="7270" v0="1517" v1="1559" v2="2830" v3="3132" />
+ <tetrahedron index="7271" v0="1559" v1="2830" v2="3132" v3="3174" />
+ <tetrahedron index="7272" v0="481" v1="1112" v2="1309" v3="2096" />
+ <tetrahedron index="7273" v0="1112" v1="1309" v2="2096" v3="2727" />
+ <tetrahedron index="7274" v0="1309" v1="2096" v2="2727" v3="2924" />
+ <tetrahedron index="7275" v0="1112" v1="1309" v2="1437" v3="2727" />
+ <tetrahedron index="7276" v0="1309" v1="1437" v2="2727" v3="2924" />
+ <tetrahedron index="7277" v0="1437" v1="2727" v2="2924" v3="3052" />
+ <tetrahedron index="7278" v0="874" v1="1230" v2="1560" v3="2489" />
+ <tetrahedron index="7279" v0="1230" v1="1560" v2="2489" v3="2845" />
+ <tetrahedron index="7280" v0="1560" v1="2489" v2="2845" v3="3175" />
+ <tetrahedron index="7281" v0="236" v1="1467" v2="1503" v3="1851" />
+ <tetrahedron index="7282" v0="1467" v1="1503" v2="1851" v3="3082" />
+ <tetrahedron index="7283" v0="1503" v1="1851" v2="3082" v3="3118" />
+ <tetrahedron index="7284" v0="304" v1="1347" v2="1471" v3="1919" />
+ <tetrahedron index="7285" v0="1347" v1="1471" v2="1919" v3="2962" />
+ <tetrahedron index="7286" v0="1471" v1="1919" v2="2962" v3="3086" />
+ <tetrahedron index="7287" v0="252" v1="520" v2="1457" v3="1867" />
+ <tetrahedron index="7288" v0="520" v1="1457" v2="1867" v3="2135" />
+ <tetrahedron index="7289" v0="1457" v1="1867" v2="2135" v3="3072" />
+ <tetrahedron index="7290" v0="320" v1="738" v2="984" v3="1935" />
+ <tetrahedron index="7291" v0="738" v1="984" v2="1935" v3="2353" />
+ <tetrahedron index="7292" v0="984" v1="1935" v2="2353" v3="2599" />
+ <tetrahedron index="7293" v0="273" v1="320" v2="738" v3="1888" />
+ <tetrahedron index="7294" v0="320" v1="738" v2="1888" v3="1935" />
+ <tetrahedron index="7295" v0="738" v1="1888" v2="1935" v3="2353" />
+ <tetrahedron index="7296" v0="67" v1="991" v2="1245" v3="1682" />
+ <tetrahedron index="7297" v0="991" v1="1245" v2="1682" v3="2606" />
+ <tetrahedron index="7298" v0="1245" v1="1682" v2="2606" v3="2860" />
+ <tetrahedron index="7299" v0="67" v1="1245" v2="1246" v3="1682" />
+ <tetrahedron index="7300" v0="1245" v1="1246" v2="1682" v3="2860" />
+ <tetrahedron index="7301" v0="1246" v1="1682" v2="2860" v3="2861" />
+ <tetrahedron index="7302" v0="588" v1="641" v2="672" v3="2203" />
+ <tetrahedron index="7303" v0="641" v1="672" v2="2203" v3="2256" />
+ <tetrahedron index="7304" v0="672" v1="2203" v2="2256" v3="2287" />
+ <tetrahedron index="7305" v0="588" v1="658" v2="672" v3="2203" />
+ <tetrahedron index="7306" v0="658" v1="672" v2="2203" v3="2273" />
+ <tetrahedron index="7307" v0="672" v1="2203" v2="2273" v3="2287" />
+ <tetrahedron index="7308" v0="268" v1="646" v2="921" v3="1883" />
+ <tetrahedron index="7309" v0="646" v1="921" v2="1883" v3="2261" />
+ <tetrahedron index="7310" v0="921" v1="1883" v2="2261" v3="2536" />
+ <tetrahedron index="7311" v0="646" v1="921" v2="922" v3="2261" />
+ <tetrahedron index="7312" v0="921" v1="922" v2="2261" v3="2536" />
+ <tetrahedron index="7313" v0="922" v1="2261" v2="2536" v3="2537" />
+ <tetrahedron index="7314" v0="279" v1="995" v2="1336" v3="1894" />
+ <tetrahedron index="7315" v0="995" v1="1336" v2="1894" v3="2610" />
+ <tetrahedron index="7316" v0="1336" v1="1894" v2="2610" v3="2951" />
+ <tetrahedron index="7317" v0="279" v1="1336" v2="1409" v3="1894" />
+ <tetrahedron index="7318" v0="1336" v1="1409" v2="1894" v3="2951" />
+ <tetrahedron index="7319" v0="1409" v1="1894" v2="2951" v3="3024" />
+ <tetrahedron index="7320" v0="436" v1="875" v2="1388" v3="2051" />
+ <tetrahedron index="7321" v0="875" v1="1388" v2="2051" v3="2490" />
+ <tetrahedron index="7322" v0="1388" v1="2051" v2="2490" v3="3003" />
+ <tetrahedron index="7323" v0="436" v1="1221" v2="1388" v3="2051" />
+ <tetrahedron index="7324" v0="1221" v1="1388" v2="2051" v3="2836" />
+ <tetrahedron index="7325" v0="1388" v1="2051" v2="2836" v3="3003" />
+ <tetrahedron index="7326" v0="158" v1="747" v2="1031" v3="1773" />
+ <tetrahedron index="7327" v0="747" v1="1031" v2="1773" v3="2362" />
+ <tetrahedron index="7328" v0="1031" v1="1773" v2="2362" v3="2646" />
+ <tetrahedron index="7329" v0="158" v1="160" v2="747" v3="1773" />
+ <tetrahedron index="7330" v0="160" v1="747" v2="1773" v3="1775" />
+ <tetrahedron index="7331" v0="747" v1="1773" v2="1775" v3="2362" />
+ <tetrahedron index="7332" v0="128" v1="129" v2="192" v3="1743" />
+ <tetrahedron index="7333" v0="129" v1="192" v2="1743" v3="1744" />
+ <tetrahedron index="7334" v0="192" v1="1743" v2="1744" v3="1807" />
+ <tetrahedron index="7335" v0="129" v1="191" v2="192" v3="1744" />
+ <tetrahedron index="7336" v0="191" v1="192" v2="1744" v3="1806" />
+ <tetrahedron index="7337" v0="192" v1="1744" v2="1806" v3="1807" />
+ <tetrahedron index="7338" v0="59" v1="146" v2="1105" v3="1674" />
+ <tetrahedron index="7339" v0="146" v1="1105" v2="1674" v3="1761" />
+ <tetrahedron index="7340" v0="1105" v1="1674" v2="1761" v3="2720" />
+ <tetrahedron index="7341" v0="59" v1="146" v2="148" v3="1674" />
+ <tetrahedron index="7342" v0="146" v1="148" v2="1674" v3="1761" />
+ <tetrahedron index="7343" v0="148" v1="1674" v2="1761" v3="1763" />
+ <tetrahedron index="7344" v0="1208" v1="1396" v2="1490" v3="2823" />
+ <tetrahedron index="7345" v0="1396" v1="1490" v2="2823" v3="3011" />
+ <tetrahedron index="7346" v0="1490" v1="2823" v2="3011" v3="3105" />
+ <tetrahedron index="7347" v0="1141" v1="1208" v2="1490" v3="2756" />
+ <tetrahedron index="7348" v0="1208" v1="1490" v2="2756" v3="2823" />
+ <tetrahedron index="7349" v0="1490" v1="2756" v2="2823" v3="3105" />
+ <tetrahedron index="7350" v0="1001" v1="1120" v2="1167" v3="2616" />
+ <tetrahedron index="7351" v0="1120" v1="1167" v2="2616" v3="2735" />
+ <tetrahedron index="7352" v0="1167" v1="2616" v2="2735" v3="2782" />
+ <tetrahedron index="7353" v0="699" v1="1001" v2="1167" v3="2314" />
+ <tetrahedron index="7354" v0="1001" v1="1167" v2="2314" v3="2616" />
+ <tetrahedron index="7355" v0="1167" v1="2314" v2="2616" v3="2782" />
+ <tetrahedron index="7356" v0="685" v1="686" v2="696" v3="2300" />
+ <tetrahedron index="7357" v0="686" v1="696" v2="2300" v3="2301" />
+ <tetrahedron index="7358" v0="696" v1="2300" v2="2301" v3="2311" />
+ <tetrahedron index="7359" v0="686" v1="696" v2="938" v3="2301" />
+ <tetrahedron index="7360" v0="696" v1="938" v2="2301" v3="2311" />
+ <tetrahedron index="7361" v0="938" v1="2301" v2="2311" v3="2553" />
+ <tetrahedron index="7362" v0="187" v1="188" v2="1044" v3="1802" />
+ <tetrahedron index="7363" v0="188" v1="1044" v2="1802" v3="1803" />
+ <tetrahedron index="7364" v0="1044" v1="1802" v2="1803" v3="2659" />
+ <tetrahedron index="7365" v0="188" v1="381" v2="1044" v3="1803" />
+ <tetrahedron index="7366" v0="381" v1="1044" v2="1803" v3="1996" />
+ <tetrahedron index="7367" v0="1044" v1="1803" v2="1996" v3="2659" />
+ <tetrahedron index="7368" v0="29" v1="743" v2="745" v3="1644" />
+ <tetrahedron index="7369" v0="743" v1="745" v2="1644" v3="2358" />
+ <tetrahedron index="7370" v0="745" v1="1644" v2="2358" v3="2360" />
+ <tetrahedron index="7371" v0="27" v1="29" v2="745" v3="1642" />
+ <tetrahedron index="7372" v0="29" v1="745" v2="1642" v3="1644" />
+ <tetrahedron index="7373" v0="745" v1="1642" v2="1644" v3="2360" />
+ <tetrahedron index="7374" v0="10" v1="214" v2="480" v3="1625" />
+ <tetrahedron index="7375" v0="214" v1="480" v2="1625" v3="1829" />
+ <tetrahedron index="7376" v0="480" v1="1625" v2="1829" v3="2095" />
+ <tetrahedron index="7377" v0="128" v1="682" v2="1445" v3="1743" />
+ <tetrahedron index="7378" v0="682" v1="1445" v2="1743" v3="2297" />
+ <tetrahedron index="7379" v0="1445" v1="1743" v2="2297" v3="3060" />
+ <tetrahedron index="7380" v0="128" v1="130" v2="1445" v3="1743" />
+ <tetrahedron index="7381" v0="130" v1="1445" v2="1743" v3="1745" />
+ <tetrahedron index="7382" v0="1445" v1="1743" v2="1745" v3="3060" />
+ <tetrahedron index="7383" v0="987" v1="1319" v2="1561" v3="2602" />
+ <tetrahedron index="7384" v0="1319" v1="1561" v2="2602" v3="2934" />
+ <tetrahedron index="7385" v0="1561" v1="2602" v2="2934" v3="3176" />
+ <tetrahedron index="7386" v0="952" v1="987" v2="1561" v3="2567" />
+ <tetrahedron index="7387" v0="987" v1="1561" v2="2567" v3="2602" />
+ <tetrahedron index="7388" v0="1561" v1="2567" v2="2602" v3="3176" />
+ <tetrahedron index="7389" v0="185" v1="850" v2="1460" v3="1800" />
+ <tetrahedron index="7390" v0="850" v1="1460" v2="1800" v3="2465" />
+ <tetrahedron index="7391" v0="1460" v1="1800" v2="2465" v3="3075" />
+ <tetrahedron index="7392" v0="850" v1="922" v2="1460" v3="2465" />
+ <tetrahedron index="7393" v0="922" v1="1460" v2="2465" v3="2537" />
+ <tetrahedron index="7394" v0="1460" v1="2465" v2="2537" v3="3075" />
+ <tetrahedron index="7395" v0="349" v1="432" v2="1525" v3="1964" />
+ <tetrahedron index="7396" v0="432" v1="1525" v2="1964" v3="2047" />
+ <tetrahedron index="7397" v0="1525" v1="1964" v2="2047" v3="3140" />
+ <tetrahedron index="7398" v0="432" v1="1284" v2="1525" v3="2047" />
+ <tetrahedron index="7399" v0="1284" v1="1525" v2="2047" v3="2899" />
+ <tetrahedron index="7400" v0="1525" v1="2047" v2="2899" v3="3140" />
+ <tetrahedron index="7401" v0="433" v1="586" v2="908" v3="2048" />
+ <tetrahedron index="7402" v0="586" v1="908" v2="2048" v3="2201" />
+ <tetrahedron index="7403" v0="908" v1="2048" v2="2201" v3="2523" />
+ <tetrahedron index="7404" v0="432" v1="433" v2="908" v3="2047" />
+ <tetrahedron index="7405" v0="433" v1="908" v2="2047" v3="2048" />
+ <tetrahedron index="7406" v0="908" v1="2047" v2="2048" v3="2523" />
+ <tetrahedron index="7407" v0="415" v1="1415" v2="1416" v3="2030" />
+ <tetrahedron index="7408" v0="1415" v1="1416" v2="2030" v3="3030" />
+ <tetrahedron index="7409" v0="1416" v1="2030" v2="3030" v3="3031" />
+ <tetrahedron index="7410" v0="415" v1="416" v2="1415" v3="2030" />
+ <tetrahedron index="7411" v0="416" v1="1415" v2="2030" v3="2031" />
+ <tetrahedron index="7412" v0="1415" v1="2030" v2="2031" v3="3030" />
+ <tetrahedron index="7413" v0="140" v1="322" v2="800" v3="1755" />
+ <tetrahedron index="7414" v0="322" v1="800" v2="1755" v3="1937" />
+ <tetrahedron index="7415" v0="800" v1="1755" v2="1937" v3="2415" />
+ <tetrahedron index="7416" v0="321" v1="322" v2="800" v3="1936" />
+ <tetrahedron index="7417" v0="322" v1="800" v2="1936" v3="1937" />
+ <tetrahedron index="7418" v0="800" v1="1936" v2="1937" v3="2415" />
+ <tetrahedron index="7419" v0="8" v1="999" v2="1006" v3="1623" />
+ <tetrahedron index="7420" v0="999" v1="1006" v2="1623" v3="2614" />
+ <tetrahedron index="7421" v0="1006" v1="1623" v2="2614" v3="2621" />
+ <tetrahedron index="7422" v0="7" v1="8" v2="1006" v3="1622" />
+ <tetrahedron index="7423" v0="8" v1="1006" v2="1622" v3="1623" />
+ <tetrahedron index="7424" v0="1006" v1="1622" v2="1623" v3="2621" />
+ <tetrahedron index="7425" v0="756" v1="1258" v2="1260" v3="2371" />
+ <tetrahedron index="7426" v0="1258" v1="1260" v2="2371" v3="2873" />
+ <tetrahedron index="7427" v0="1260" v1="2371" v2="2873" v3="2875" />
+ <tetrahedron index="7428" v0="684" v1="756" v2="1260" v3="2299" />
+ <tetrahedron index="7429" v0="756" v1="1260" v2="2299" v3="2371" />
+ <tetrahedron index="7430" v0="1260" v1="2299" v2="2371" v3="2875" />
+ <tetrahedron index="7431" v0="954" v1="1106" v2="1312" v3="2569" />
+ <tetrahedron index="7432" v0="1106" v1="1312" v2="2569" v3="2721" />
+ <tetrahedron index="7433" v0="1312" v1="2569" v2="2721" v3="2927" />
+ <tetrahedron index="7434" v0="988" v1="1106" v2="1312" v3="2603" />
+ <tetrahedron index="7435" v0="1106" v1="1312" v2="2603" v3="2721" />
+ <tetrahedron index="7436" v0="1312" v1="2603" v2="2721" v3="2927" />
+ <tetrahedron index="7437" v0="652" v1="754" v2="1561" v3="2267" />
+ <tetrahedron index="7438" v0="754" v1="1561" v2="2267" v3="2369" />
+ <tetrahedron index="7439" v0="1561" v1="2267" v2="2369" v3="3176" />
+ <tetrahedron index="7440" v0="475" v1="754" v2="1561" v3="2090" />
+ <tetrahedron index="7441" v0="754" v1="1561" v2="2090" v3="2369" />
+ <tetrahedron index="7442" v0="1561" v1="2090" v2="2369" v3="3176" />
+ <tetrahedron index="7443" v0="714" v1="1411" v2="1489" v3="2329" />
+ <tetrahedron index="7444" v0="1411" v1="1489" v2="2329" v3="3026" />
+ <tetrahedron index="7445" v0="1489" v1="2329" v2="3026" v3="3104" />
+ <tetrahedron index="7446" v0="291" v1="714" v2="1489" v3="1906" />
+ <tetrahedron index="7447" v0="714" v1="1489" v2="1906" v3="2329" />
+ <tetrahedron index="7448" v0="1489" v1="1906" v2="2329" v3="3104" />
+ <tetrahedron index="7449" v0="1204" v1="1247" v2="1505" v3="2819" />
+ <tetrahedron index="7450" v0="1247" v1="1505" v2="2819" v3="2862" />
+ <tetrahedron index="7451" v0="1505" v1="2819" v2="2862" v3="3120" />
+ <tetrahedron index="7452" v0="1147" v1="1204" v2="1505" v3="2762" />
+ <tetrahedron index="7453" v0="1204" v1="1505" v2="2762" v3="2819" />
+ <tetrahedron index="7454" v0="1505" v1="2762" v2="2819" v3="3120" />
+ <tetrahedron index="7455" v0="1265" v1="1426" v2="1562" v3="2880" />
+ <tetrahedron index="7456" v0="1426" v1="1562" v2="2880" v3="3041" />
+ <tetrahedron index="7457" v0="1562" v1="2880" v2="3041" v3="3177" />
+ <tetrahedron index="7458" v0="198" v1="1211" v2="1563" v3="1813" />
+ <tetrahedron index="7459" v0="1211" v1="1563" v2="1813" v3="2826" />
+ <tetrahedron index="7460" v0="1563" v1="1813" v2="2826" v3="3178" />
+ <tetrahedron index="7461" v0="1035" v1="1282" v2="1397" v3="2650" />
+ <tetrahedron index="7462" v0="1282" v1="1397" v2="2650" v3="2897" />
+ <tetrahedron index="7463" v0="1397" v1="2650" v2="2897" v3="3012" />
+ <tetrahedron index="7464" v0="195" v1="1287" v2="1320" v3="1810" />
+ <tetrahedron index="7465" v0="1287" v1="1320" v2="1810" v3="2902" />
+ <tetrahedron index="7466" v0="1320" v1="1810" v2="2902" v3="2935" />
+ <tetrahedron index="7467" v0="195" v1="286" v2="1320" v3="1810" />
+ <tetrahedron index="7468" v0="286" v1="1320" v2="1810" v3="1901" />
+ <tetrahedron index="7469" v0="1320" v1="1810" v2="1901" v3="2935" />
+ <tetrahedron index="7470" v0="821" v1="1363" v2="1499" v3="2436" />
+ <tetrahedron index="7471" v0="1363" v1="1499" v2="2436" v3="2978" />
+ <tetrahedron index="7472" v0="1499" v1="2436" v2="2978" v3="3114" />
+ <tetrahedron index="7473" v0="821" v1="822" v2="1363" v3="2436" />
+ <tetrahedron index="7474" v0="822" v1="1363" v2="2436" v3="2437" />
+ <tetrahedron index="7475" v0="1363" v1="2436" v2="2437" v3="2978" />
+ <tetrahedron index="7476" v0="1131" v1="1296" v2="1462" v3="2746" />
+ <tetrahedron index="7477" v0="1296" v1="1462" v2="2746" v3="2911" />
+ <tetrahedron index="7478" v0="1462" v1="2746" v2="2911" v3="3077" />
+ <tetrahedron index="7479" v0="1131" v1="1462" v2="1466" v3="2746" />
+ <tetrahedron index="7480" v0="1462" v1="1466" v2="2746" v3="3077" />
+ <tetrahedron index="7481" v0="1466" v1="2746" v2="3077" v3="3081" />
+ <tetrahedron index="7482" v0="297" v1="310" v2="965" v3="1912" />
+ <tetrahedron index="7483" v0="310" v1="965" v2="1912" v3="1925" />
+ <tetrahedron index="7484" v0="965" v1="1912" v2="1925" v3="2580" />
+ <tetrahedron index="7485" v0="297" v1="298" v2="965" v3="1912" />
+ <tetrahedron index="7486" v0="298" v1="965" v2="1912" v3="1913" />
+ <tetrahedron index="7487" v0="965" v1="1912" v2="1913" v3="2580" />
+ <tetrahedron index="7488" v0="299" v1="535" v2="786" v3="1914" />
+ <tetrahedron index="7489" v0="535" v1="786" v2="1914" v3="2150" />
+ <tetrahedron index="7490" v0="786" v1="1914" v2="2150" v3="2401" />
+ <tetrahedron index="7491" v0="299" v1="786" v2="965" v3="1914" />
+ <tetrahedron index="7492" v0="786" v1="965" v2="1914" v3="2401" />
+ <tetrahedron index="7493" v0="965" v1="1914" v2="2401" v3="2580" />
+ <tetrahedron index="7494" v0="989" v1="994" v2="1413" v3="2604" />
+ <tetrahedron index="7495" v0="994" v1="1413" v2="2604" v3="2609" />
+ <tetrahedron index="7496" v0="1413" v1="2604" v2="2609" v3="3028" />
+ <tetrahedron index="7497" v0="989" v1="994" v2="1453" v3="2604" />
+ <tetrahedron index="7498" v0="994" v1="1453" v2="2604" v3="2609" />
+ <tetrahedron index="7499" v0="1453" v1="2604" v2="2609" v3="3068" />
+ <tetrahedron index="7500" v0="159" v1="160" v2="644" v3="1774" />
+ <tetrahedron index="7501" v0="160" v1="644" v2="1774" v3="1775" />
+ <tetrahedron index="7502" v0="644" v1="1774" v2="1775" v3="2259" />
+ <tetrahedron index="7503" v0="160" v1="644" v2="1410" v3="1775" />
+ <tetrahedron index="7504" v0="644" v1="1410" v2="1775" v3="2259" />
+ <tetrahedron index="7505" v0="1410" v1="1775" v2="2259" v3="3025" />
+ <tetrahedron index="7506" v0="21" v1="1066" v2="1458" v3="1636" />
+ <tetrahedron index="7507" v0="1066" v1="1458" v2="1636" v3="2681" />
+ <tetrahedron index="7508" v0="1458" v1="1636" v2="2681" v3="3073" />
+ <tetrahedron index="7509" v0="21" v1="1272" v2="1458" v3="1636" />
+ <tetrahedron index="7510" v0="1272" v1="1458" v2="1636" v3="2887" />
+ <tetrahedron index="7511" v0="1458" v1="1636" v2="2887" v3="3073" />
+ <tetrahedron index="7512" v0="60" v1="195" v2="285" v3="1675" />
+ <tetrahedron index="7513" v0="195" v1="285" v2="1675" v3="1810" />
+ <tetrahedron index="7514" v0="285" v1="1675" v2="1810" v3="1900" />
+ <tetrahedron index="7515" v0="58" v1="60" v2="285" v3="1673" />
+ <tetrahedron index="7516" v0="60" v1="285" v2="1673" v3="1675" />
+ <tetrahedron index="7517" v0="285" v1="1673" v2="1675" v3="1900" />
+ <tetrahedron index="7518" v0="262" v1="397" v2="889" v3="1877" />
+ <tetrahedron index="7519" v0="397" v1="889" v2="1877" v3="2012" />
+ <tetrahedron index="7520" v0="889" v1="1877" v2="2012" v3="2504" />
+ <tetrahedron index="7521" v0="262" v1="889" v2="1564" v3="1877" />
+ <tetrahedron index="7522" v0="889" v1="1564" v2="1877" v3="2504" />
+ <tetrahedron index="7523" v0="1564" v1="1877" v2="2504" v3="3179" />
+ <tetrahedron index="7524" v0="88" v1="801" v2="1565" v3="1703" />
+ <tetrahedron index="7525" v0="801" v1="1565" v2="1703" v3="2416" />
+ <tetrahedron index="7526" v0="1565" v1="1703" v2="2416" v3="3180" />
+ <tetrahedron index="7527" v0="801" v1="874" v2="1565" v3="2416" />
+ <tetrahedron index="7528" v0="874" v1="1565" v2="2416" v3="2489" />
+ <tetrahedron index="7529" v0="1565" v1="2416" v2="2489" v3="3180" />
+ <tetrahedron index="7530" v0="221" v1="222" v2="224" v3="1836" />
+ <tetrahedron index="7531" v0="222" v1="224" v2="1836" v3="1837" />
+ <tetrahedron index="7532" v0="224" v1="1836" v2="1837" v3="1839" />
+ <tetrahedron index="7533" v0="222" v1="223" v2="224" v3="1837" />
+ <tetrahedron index="7534" v0="223" v1="224" v2="1837" v3="1838" />
+ <tetrahedron index="7535" v0="224" v1="1837" v2="1838" v3="1839" />
+ <tetrahedron index="7536" v0="259" v1="469" v2="1525" v3="1874" />
+ <tetrahedron index="7537" v0="469" v1="1525" v2="1874" v3="2084" />
+ <tetrahedron index="7538" v0="1525" v1="1874" v2="2084" v3="3140" />
+ <tetrahedron index="7539" v0="710" v1="902" v2="1566" v3="2325" />
+ <tetrahedron index="7540" v0="902" v1="1566" v2="2325" v3="2517" />
+ <tetrahedron index="7541" v0="1566" v1="2325" v2="2517" v3="3181" />
+ <tetrahedron index="7542" v0="898" v1="1405" v2="1567" v3="2513" />
+ <tetrahedron index="7543" v0="1405" v1="1567" v2="2513" v3="3020" />
+ <tetrahedron index="7544" v0="1567" v1="2513" v2="3020" v3="3182" />
+ <tetrahedron index="7545" v0="449" v1="889" v2="1567" v3="2064" />
+ <tetrahedron index="7546" v0="889" v1="1567" v2="2064" v3="2504" />
+ <tetrahedron index="7547" v0="1567" v1="2064" v2="2504" v3="3182" />
+ <tetrahedron index="7548" v0="1244" v1="1568" v2="1569" v3="2859" />
+ <tetrahedron index="7549" v0="1568" v1="1569" v2="2859" v3="3183" />
+ <tetrahedron index="7550" v0="1569" v1="2859" v2="3183" v3="3184" />
+ <tetrahedron index="7551" v0="912" v1="913" v2="1570" v3="2527" />
+ <tetrahedron index="7552" v0="913" v1="1570" v2="2527" v3="2528" />
+ <tetrahedron index="7553" v0="1570" v1="2527" v2="2528" v3="3185" />
+ <tetrahedron index="7554" v0="597" v1="873" v2="957" v3="2212" />
+ <tetrahedron index="7555" v0="873" v1="957" v2="2212" v3="2488" />
+ <tetrahedron index="7556" v0="957" v1="2212" v2="2488" v3="2572" />
+ <tetrahedron index="7557" v0="565" v1="967" v2="1566" v3="2180" />
+ <tetrahedron index="7558" v0="967" v1="1566" v2="2180" v3="2582" />
+ <tetrahedron index="7559" v0="1566" v1="2180" v2="2582" v3="3181" />
+ <tetrahedron index="7560" v0="796" v1="927" v2="1571" v3="2411" />
+ <tetrahedron index="7561" v0="927" v1="1571" v2="2411" v3="2542" />
+ <tetrahedron index="7562" v0="1571" v1="2411" v2="2542" v3="3186" />
+ <tetrahedron index="7563" v0="796" v1="801" v2="1571" v3="2411" />
+ <tetrahedron index="7564" v0="801" v1="1571" v2="2411" v3="2416" />
+ <tetrahedron index="7565" v0="1571" v1="2411" v2="2416" v3="3186" />
+ <tetrahedron index="7566" v0="1023" v1="1058" v2="1572" v3="2638" />
+ <tetrahedron index="7567" v0="1058" v1="1572" v2="2638" v3="2673" />
+ <tetrahedron index="7568" v0="1572" v1="2638" v2="2673" v3="3187" />
+ <tetrahedron index="7569" v0="1056" v1="1509" v2="1573" v3="2671" />
+ <tetrahedron index="7570" v0="1509" v1="1573" v2="2671" v3="3124" />
+ <tetrahedron index="7571" v0="1573" v1="2671" v2="3124" v3="3188" />
+ <tetrahedron index="7572" v0="790" v1="791" v2="1404" v3="2405" />
+ <tetrahedron index="7573" v0="791" v1="1404" v2="2405" v3="2406" />
+ <tetrahedron index="7574" v0="1404" v1="2405" v2="2406" v3="3019" />
+ <tetrahedron index="7575" v0="791" v1="1047" v2="1404" v3="2406" />
+ <tetrahedron index="7576" v0="1047" v1="1404" v2="2406" v3="2662" />
+ <tetrahedron index="7577" v0="1404" v1="2406" v2="2662" v3="3019" />
+ <tetrahedron index="7578" v0="1574" v1="1575" v2="1576" v3="3189" />
+ <tetrahedron index="7579" v0="1575" v1="1576" v2="3189" v3="3190" />
+ <tetrahedron index="7580" v0="1576" v1="3189" v2="3190" v3="3191" />
+ <tetrahedron index="7581" v0="689" v1="1185" v2="1577" v3="2304" />
+ <tetrahedron index="7582" v0="1185" v1="1577" v2="2304" v3="2800" />
+ <tetrahedron index="7583" v0="1577" v1="2304" v2="2800" v3="3192" />
+ <tetrahedron index="7584" v0="689" v1="1222" v2="1577" v3="2304" />
+ <tetrahedron index="7585" v0="1222" v1="1577" v2="2304" v3="2837" />
+ <tetrahedron index="7586" v0="1577" v1="2304" v2="2837" v3="3192" />
+ <tetrahedron index="7587" v0="230" v1="1096" v2="1541" v3="1845" />
+ <tetrahedron index="7588" v0="1096" v1="1541" v2="1845" v3="2711" />
+ <tetrahedron index="7589" v0="1541" v1="1845" v2="2711" v3="3156" />
+ <tetrahedron index="7590" v0="647" v1="1141" v2="1537" v3="2262" />
+ <tetrahedron index="7591" v0="1141" v1="1537" v2="2262" v3="2756" />
+ <tetrahedron index="7592" v0="1537" v1="2262" v2="2756" v3="3152" />
+ <tetrahedron index="7593" v0="1054" v1="1079" v2="1540" v3="2669" />
+ <tetrahedron index="7594" v0="1079" v1="1540" v2="2669" v3="2694" />
+ <tetrahedron index="7595" v0="1540" v1="2669" v2="2694" v3="3155" />
+ <tetrahedron index="7596" v0="1013" v1="1123" v2="1576" v3="2628" />
+ <tetrahedron index="7597" v0="1123" v1="1576" v2="2628" v3="2738" />
+ <tetrahedron index="7598" v0="1576" v1="2628" v2="2738" v3="3191" />
+ <tetrahedron index="7599" v0="1216" v1="1220" v2="1225" v3="2831" />
+ <tetrahedron index="7600" v0="1220" v1="1225" v2="2831" v3="2835" />
+ <tetrahedron index="7601" v0="1225" v1="2831" v2="2835" v3="2840" />
+ <tetrahedron index="7602" v0="1120" v1="1167" v2="1223" v3="2735" />
+ <tetrahedron index="7603" v0="1167" v1="1223" v2="2735" v3="2782" />
+ <tetrahedron index="7604" v0="1223" v1="2735" v2="2782" v3="2838" />
+ <tetrahedron index="7605" v0="955" v1="1049" v2="1543" v3="2570" />
+ <tetrahedron index="7606" v0="1049" v1="1543" v2="2570" v3="2664" />
+ <tetrahedron index="7607" v0="1543" v1="2570" v2="2664" v3="3158" />
+ <tetrahedron index="7608" v0="1147" v1="1204" v2="1578" v3="2762" />
+ <tetrahedron index="7609" v0="1204" v1="1578" v2="2762" v3="2819" />
+ <tetrahedron index="7610" v0="1578" v1="2762" v2="2819" v3="3193" />
+ <tetrahedron index="7611" v0="1147" v1="1148" v2="1578" v3="2762" />
+ <tetrahedron index="7612" v0="1148" v1="1578" v2="2762" v3="2763" />
+ <tetrahedron index="7613" v0="1578" v1="2762" v2="2763" v3="3193" />
+ <tetrahedron index="7614" v0="1254" v1="1291" v2="1542" v3="2869" />
+ <tetrahedron index="7615" v0="1291" v1="1542" v2="2869" v3="2906" />
+ <tetrahedron index="7616" v0="1542" v1="2869" v2="2906" v3="3157" />
+ <tetrahedron index="7617" v0="1244" v1="1300" v2="1568" v3="2859" />
+ <tetrahedron index="7618" v0="1300" v1="1568" v2="2859" v3="2915" />
+ <tetrahedron index="7619" v0="1568" v1="2859" v2="2915" v3="3183" />
+ <tetrahedron index="7620" v0="42" v1="846" v2="1309" v3="1657" />
+ <tetrahedron index="7621" v0="846" v1="1309" v2="1657" v3="2461" />
+ <tetrahedron index="7622" v0="1309" v1="1657" v2="2461" v3="2924" />
+ <tetrahedron index="7623" v0="42" v1="324" v2="846" v3="1657" />
+ <tetrahedron index="7624" v0="324" v1="846" v2="1657" v3="1939" />
+ <tetrahedron index="7625" v0="846" v1="1657" v2="1939" v3="2461" />
+ <tetrahedron index="7626" v0="671" v1="1317" v2="1579" v3="2286" />
+ <tetrahedron index="7627" v0="1317" v1="1579" v2="2286" v3="2932" />
+ <tetrahedron index="7628" v0="1579" v1="2286" v2="2932" v3="3194" />
+ <tetrahedron index="7629" v0="565" v1="1326" v2="1580" v3="2180" />
+ <tetrahedron index="7630" v0="1326" v1="1580" v2="2180" v3="2941" />
+ <tetrahedron index="7631" v0="1580" v1="2180" v2="2941" v3="3195" />
+ <tetrahedron index="7632" v0="1110" v1="1111" v2="1549" v3="2725" />
+ <tetrahedron index="7633" v0="1111" v1="1549" v2="2725" v3="2726" />
+ <tetrahedron index="7634" v0="1549" v1="2725" v2="2726" v3="3164" />
+ <tetrahedron index="7635" v0="1331" v1="1334" v2="1581" v3="2946" />
+ <tetrahedron index="7636" v0="1334" v1="1581" v2="2946" v3="2949" />
+ <tetrahedron index="7637" v0="1581" v1="2946" v2="2949" v3="3196" />
+ <tetrahedron index="7638" v0="1302" v1="1366" v2="1488" v3="2917" />
+ <tetrahedron index="7639" v0="1366" v1="1488" v2="2917" v3="2981" />
+ <tetrahedron index="7640" v0="1488" v1="2917" v2="2981" v3="3103" />
+ <tetrahedron index="7641" v0="295" v1="930" v2="1582" v3="1910" />
+ <tetrahedron index="7642" v0="930" v1="1582" v2="1910" v3="2545" />
+ <tetrahedron index="7643" v0="1582" v1="1910" v2="2545" v3="3197" />
+ <tetrahedron index="7644" v0="234" v1="295" v2="1582" v3="1849" />
+ <tetrahedron index="7645" v0="295" v1="1582" v2="1849" v3="1910" />
+ <tetrahedron index="7646" v0="1582" v1="1849" v2="1910" v3="3197" />
+ <tetrahedron index="7647" v0="769" v1="1443" v2="1583" v3="2384" />
+ <tetrahedron index="7648" v0="1443" v1="1583" v2="2384" v3="3058" />
+ <tetrahedron index="7649" v0="1583" v1="2384" v2="3058" v3="3198" />
+ <tetrahedron index="7650" v0="309" v1="769" v2="1583" v3="1924" />
+ <tetrahedron index="7651" v0="769" v1="1583" v2="1924" v3="2384" />
+ <tetrahedron index="7652" v0="1583" v1="1924" v2="2384" v3="3198" />
+ <tetrahedron index="7653" v0="1192" v1="1318" v2="1569" v3="2807" />
+ <tetrahedron index="7654" v0="1318" v1="1569" v2="2807" v3="2933" />
+ <tetrahedron index="7655" v0="1569" v1="2807" v2="2933" v3="3184" />
+ <tetrahedron index="7656" v0="1192" v1="1568" v2="1569" v3="2807" />
+ <tetrahedron index="7657" v0="1568" v1="1569" v2="2807" v3="3183" />
+ <tetrahedron index="7658" v0="1569" v1="2807" v2="3183" v3="3184" />
+ <tetrahedron index="7659" v0="1178" v1="1353" v2="1548" v3="2793" />
+ <tetrahedron index="7660" v0="1353" v1="1548" v2="2793" v3="2968" />
+ <tetrahedron index="7661" v0="1548" v1="2793" v2="2968" v3="3163" />
+ <tetrahedron index="7662" v0="1294" v1="1351" v2="1393" v3="2909" />
+ <tetrahedron index="7663" v0="1351" v1="1393" v2="2909" v3="2966" />
+ <tetrahedron index="7664" v0="1393" v1="2909" v2="2966" v3="3008" />
+ <tetrahedron index="7665" v0="1351" v1="1393" v2="1584" v3="2966" />
+ <tetrahedron index="7666" v0="1393" v1="1584" v2="2966" v3="3008" />
+ <tetrahedron index="7667" v0="1584" v1="2966" v2="3008" v3="3199" />
+ <tetrahedron index="7668" v0="357" v1="748" v2="1355" v3="1972" />
+ <tetrahedron index="7669" v0="748" v1="1355" v2="1972" v3="2363" />
+ <tetrahedron index="7670" v0="1355" v1="1972" v2="2363" v3="2970" />
+ <tetrahedron index="7671" v0="1024" v1="1137" v2="1572" v3="2639" />
+ <tetrahedron index="7672" v0="1137" v1="1572" v2="2639" v3="2752" />
+ <tetrahedron index="7673" v0="1572" v1="2639" v2="2752" v3="3187" />
+ <tetrahedron index="7674" v0="1023" v1="1024" v2="1572" v3="2638" />
+ <tetrahedron index="7675" v0="1024" v1="1572" v2="2638" v3="2639" />
+ <tetrahedron index="7676" v0="1572" v1="2638" v2="2639" v3="3187" />
+ <tetrahedron index="7677" v0="454" v1="555" v2="1585" v3="2069" />
+ <tetrahedron index="7678" v0="555" v1="1585" v2="2069" v3="2170" />
+ <tetrahedron index="7679" v0="1585" v1="2069" v2="2170" v3="3200" />
+ <tetrahedron index="7680" v0="555" v1="883" v2="1585" v3="2170" />
+ <tetrahedron index="7681" v0="883" v1="1585" v2="2170" v3="2498" />
+ <tetrahedron index="7682" v0="1585" v1="2170" v2="2498" v3="3200" />
+ <tetrahedron index="7683" v0="966" v1="1483" v2="1506" v3="2581" />
+ <tetrahedron index="7684" v0="1483" v1="1506" v2="2581" v3="3098" />
+ <tetrahedron index="7685" v0="1506" v1="2581" v2="3098" v3="3121" />
+ <tetrahedron index="7686" v0="964" v1="1384" v2="1586" v3="2579" />
+ <tetrahedron index="7687" v0="1384" v1="1586" v2="2579" v3="2999" />
+ <tetrahedron index="7688" v0="1586" v1="2579" v2="2999" v3="3201" />
+ <tetrahedron index="7689" v0="964" v1="1518" v2="1586" v3="2579" />
+ <tetrahedron index="7690" v0="1518" v1="1586" v2="2579" v3="3133" />
+ <tetrahedron index="7691" v0="1586" v1="2579" v2="3133" v3="3201" />
+ <tetrahedron index="7692" v0="1240" v1="1242" v2="1587" v3="2855" />
+ <tetrahedron index="7693" v0="1242" v1="1587" v2="2855" v3="2857" />
+ <tetrahedron index="7694" v0="1587" v1="2855" v2="2857" v3="3202" />
+ <tetrahedron index="7695" v0="1240" v1="1547" v2="1587" v3="2855" />
+ <tetrahedron index="7696" v0="1547" v1="1587" v2="2855" v3="3162" />
+ <tetrahedron index="7697" v0="1587" v1="2855" v2="3162" v3="3202" />
+ <tetrahedron index="7698" v0="1382" v1="1389" v2="1390" v3="2997" />
+ <tetrahedron index="7699" v0="1389" v1="1390" v2="2997" v3="3004" />
+ <tetrahedron index="7700" v0="1390" v1="2997" v2="3004" v3="3005" />
+ <tetrahedron index="7701" v0="1097" v1="1365" v2="1400" v3="2712" />
+ <tetrahedron index="7702" v0="1365" v1="1400" v2="2712" v3="2980" />
+ <tetrahedron index="7703" v0="1400" v1="2712" v2="2980" v3="3015" />
+ <tetrahedron index="7704" v0="528" v1="1112" v2="1588" v3="2143" />
+ <tetrahedron index="7705" v0="1112" v1="1588" v2="2143" v3="2727" />
+ <tetrahedron index="7706" v0="1588" v1="2143" v2="2727" v3="3203" />
+ <tetrahedron index="7707" v0="528" v1="1181" v2="1588" v3="2143" />
+ <tetrahedron index="7708" v0="1181" v1="1588" v2="2143" v3="2796" />
+ <tetrahedron index="7709" v0="1588" v1="2143" v2="2796" v3="3203" />
+ <tetrahedron index="7710" v0="991" v1="1405" v2="1521" v3="2606" />
+ <tetrahedron index="7711" v0="1405" v1="1521" v2="2606" v3="3020" />
+ <tetrahedron index="7712" v0="1521" v1="2606" v2="3020" v3="3136" />
+ <tetrahedron index="7713" v0="1373" v1="1405" v2="1521" v3="2988" />
+ <tetrahedron index="7714" v0="1405" v1="1521" v2="2988" v3="3020" />
+ <tetrahedron index="7715" v0="1521" v1="2988" v2="3020" v3="3136" />
+ <tetrahedron index="7716" v0="1339" v1="1340" v2="1434" v3="2954" />
+ <tetrahedron index="7717" v0="1340" v1="1434" v2="2954" v3="2955" />
+ <tetrahedron index="7718" v0="1434" v1="2954" v2="2955" v3="3049" />
+ <tetrahedron index="7719" v0="681" v1="682" v2="1442" v3="2296" />
+ <tetrahedron index="7720" v0="682" v1="1442" v2="2296" v3="2297" />
+ <tetrahedron index="7721" v0="1442" v1="2296" v2="2297" v3="3057" />
+ <tetrahedron index="7722" v0="732" v1="983" v2="1446" v3="2347" />
+ <tetrahedron index="7723" v0="983" v1="1446" v2="2347" v3="2598" />
+ <tetrahedron index="7724" v0="1446" v1="2347" v2="2598" v3="3061" />
+ <tetrahedron index="7725" v0="842" v1="1291" v2="1450" v3="2457" />
+ <tetrahedron index="7726" v0="1291" v1="1450" v2="2457" v3="2906" />
+ <tetrahedron index="7727" v0="1450" v1="2457" v2="2906" v3="3065" />
+ <tetrahedron index="7728" v0="473" v1="1234" v2="1589" v3="2088" />
+ <tetrahedron index="7729" v0="1234" v1="1589" v2="2088" v3="2849" />
+ <tetrahedron index="7730" v0="1589" v1="2088" v2="2849" v3="3204" />
+ <tetrahedron index="7731" v0="1460" v1="1461" v2="1466" v3="3075" />
+ <tetrahedron index="7732" v0="1461" v1="1466" v2="3075" v3="3076" />
+ <tetrahedron index="7733" v0="1466" v1="3075" v2="3076" v3="3081" />
+ <tetrahedron index="7734" v0="1461" v1="1462" v2="1466" v3="3076" />
+ <tetrahedron index="7735" v0="1462" v1="1466" v2="3076" v3="3077" />
+ <tetrahedron index="7736" v0="1466" v1="3076" v2="3077" v3="3081" />
+ <tetrahedron index="7737" v0="83" v1="414" v2="1508" v3="1698" />
+ <tetrahedron index="7738" v0="414" v1="1508" v2="1698" v3="2029" />
+ <tetrahedron index="7739" v0="1508" v1="1698" v2="2029" v3="3123" />
+ <tetrahedron index="7740" v0="414" v1="1444" v2="1508" v3="2029" />
+ <tetrahedron index="7741" v0="1444" v1="1508" v2="2029" v3="3059" />
+ <tetrahedron index="7742" v0="1508" v1="2029" v2="3059" v3="3123" />
+ <tetrahedron index="7743" v0="1177" v1="1193" v2="1473" v3="2792" />
+ <tetrahedron index="7744" v0="1193" v1="1473" v2="2792" v3="2808" />
+ <tetrahedron index="7745" v0="1473" v1="2792" v2="2808" v3="3088" />
+ <tetrahedron index="7746" v0="1350" v1="1590" v2="1591" v3="2965" />
+ <tetrahedron index="7747" v0="1590" v1="1591" v2="2965" v3="3205" />
+ <tetrahedron index="7748" v0="1591" v1="2965" v2="3205" v3="3206" />
+ <tetrahedron index="7749" v0="429" v1="705" v2="1477" v3="2044" />
+ <tetrahedron index="7750" v0="705" v1="1477" v2="2044" v3="2320" />
+ <tetrahedron index="7751" v0="1477" v1="2044" v2="2320" v3="3092" />
+ <tetrahedron index="7752" v0="705" v1="1353" v2="1477" v3="2320" />
+ <tetrahedron index="7753" v0="1353" v1="1477" v2="2320" v3="2968" />
+ <tetrahedron index="7754" v0="1477" v1="2320" v2="2968" v3="3092" />
+ <tetrahedron index="7755" v0="1" v1="110" v2="1479" v3="1616" />
+ <tetrahedron index="7756" v0="110" v1="1479" v2="1616" v3="1725" />
+ <tetrahedron index="7757" v0="1479" v1="1616" v2="1725" v3="3094" />
+ <tetrahedron index="7758" v0="1" v1="383" v2="1479" v3="1616" />
+ <tetrahedron index="7759" v0="383" v1="1479" v2="1616" v3="1998" />
+ <tetrahedron index="7760" v0="1479" v1="1616" v2="1998" v3="3094" />
+ <tetrahedron index="7761" v0="1200" v1="1274" v2="1581" v3="2815" />
+ <tetrahedron index="7762" v0="1274" v1="1581" v2="2815" v3="2889" />
+ <tetrahedron index="7763" v0="1581" v1="2815" v2="2889" v3="3196" />
+ <tetrahedron index="7764" v0="1293" v1="1294" v2="1349" v3="2908" />
+ <tetrahedron index="7765" v0="1294" v1="1349" v2="2908" v3="2909" />
+ <tetrahedron index="7766" v0="1349" v1="2908" v2="2909" v3="2964" />
+ <tetrahedron index="7767" v0="1294" v1="1349" v2="1351" v3="2909" />
+ <tetrahedron index="7768" v0="1349" v1="1351" v2="2909" v3="2964" />
+ <tetrahedron index="7769" v0="1351" v1="2909" v2="2964" v3="2966" />
+ <tetrahedron index="7770" v0="547" v1="1440" v2="1592" v3="2162" />
+ <tetrahedron index="7771" v0="1440" v1="1592" v2="2162" v3="3055" />
+ <tetrahedron index="7772" v0="1592" v1="2162" v2="3055" v3="3207" />
+ <tetrahedron index="7773" v0="547" v1="1546" v2="1592" v3="2162" />
+ <tetrahedron index="7774" v0="1546" v1="1592" v2="2162" v3="3161" />
+ <tetrahedron index="7775" v0="1592" v1="2162" v2="3161" v3="3207" />
+ <tetrahedron index="7776" v0="902" v1="903" v2="1580" v3="2517" />
+ <tetrahedron index="7777" v0="903" v1="1580" v2="2517" v3="2518" />
+ <tetrahedron index="7778" v0="1580" v1="2517" v2="2518" v3="3195" />
+ <tetrahedron index="7779" v0="903" v1="1326" v2="1580" v3="2518" />
+ <tetrahedron index="7780" v0="1326" v1="1580" v2="2518" v3="2941" />
+ <tetrahedron index="7781" v0="1580" v1="2518" v2="2941" v3="3195" />
+ <tetrahedron index="7782" v0="1340" v1="1435" v2="1574" v3="2955" />
+ <tetrahedron index="7783" v0="1435" v1="1574" v2="2955" v3="3050" />
+ <tetrahedron index="7784" v0="1574" v1="2955" v2="3050" v3="3189" />
+ <tetrahedron index="7785" v0="1340" v1="1434" v2="1435" v3="2955" />
+ <tetrahedron index="7786" v0="1434" v1="1435" v2="2955" v3="3049" />
+ <tetrahedron index="7787" v0="1435" v1="2955" v2="3049" v3="3050" />
+ <tetrahedron index="7788" v0="874" v1="1230" v2="1593" v3="2489" />
+ <tetrahedron index="7789" v0="1230" v1="1593" v2="2489" v3="2845" />
+ <tetrahedron index="7790" v0="1593" v1="2489" v2="2845" v3="3208" />
+ <tetrahedron index="7791" v0="797" v1="874" v2="1593" v3="2412" />
+ <tetrahedron index="7792" v0="874" v1="1593" v2="2412" v3="2489" />
+ <tetrahedron index="7793" v0="1593" v1="2412" v2="2489" v3="3208" />
+ <tetrahedron index="7794" v0="1289" v1="1324" v2="1594" v3="2904" />
+ <tetrahedron index="7795" v0="1324" v1="1594" v2="2904" v3="2939" />
+ <tetrahedron index="7796" v0="1594" v1="2904" v2="2939" v3="3209" />
+ <tetrahedron index="7797" v0="700" v1="1500" v2="1508" v3="2315" />
+ <tetrahedron index="7798" v0="1500" v1="1508" v2="2315" v3="3115" />
+ <tetrahedron index="7799" v0="1508" v1="2315" v2="3115" v3="3123" />
+ <tetrahedron index="7800" v0="358" v1="887" v2="1501" v3="1973" />
+ <tetrahedron index="7801" v0="887" v1="1501" v2="1973" v3="2502" />
+ <tetrahedron index="7802" v0="1501" v1="1973" v2="2502" v3="3116" />
+ <tetrahedron index="7803" v0="480" v1="1346" v2="1595" v3="2095" />
+ <tetrahedron index="7804" v0="1346" v1="1595" v2="2095" v3="2961" />
+ <tetrahedron index="7805" v0="1595" v1="2095" v2="2961" v3="3210" />
+ <tetrahedron index="7806" v0="214" v1="480" v2="1595" v3="1829" />
+ <tetrahedron index="7807" v0="480" v1="1595" v2="1829" v3="2095" />
+ <tetrahedron index="7808" v0="1595" v1="1829" v2="2095" v3="3210" />
+ <tetrahedron index="7809" v0="1487" v1="1511" v2="1596" v3="3102" />
+ <tetrahedron index="7810" v0="1511" v1="1596" v2="3102" v3="3126" />
+ <tetrahedron index="7811" v0="1596" v1="3102" v2="3126" v3="3211" />
+ <tetrahedron index="7812" v0="317" v1="1512" v2="1597" v3="1932" />
+ <tetrahedron index="7813" v0="1512" v1="1597" v2="1932" v3="3127" />
+ <tetrahedron index="7814" v0="1597" v1="1932" v2="3127" v3="3212" />
+ <tetrahedron index="7815" v0="410" v1="431" v2="1598" v3="2025" />
+ <tetrahedron index="7816" v0="431" v1="1598" v2="2025" v3="2046" />
+ <tetrahedron index="7817" v0="1598" v1="2025" v2="2046" v3="3213" />
+ <tetrahedron index="7818" v0="431" v1="1457" v2="1598" v3="2046" />
+ <tetrahedron index="7819" v0="1457" v1="1598" v2="2046" v3="3072" />
+ <tetrahedron index="7820" v0="1598" v1="2046" v2="3072" v3="3213" />
+ <tetrahedron index="7821" v0="1365" v1="1400" v2="1401" v3="2980" />
+ <tetrahedron index="7822" v0="1400" v1="1401" v2="2980" v3="3015" />
+ <tetrahedron index="7823" v0="1401" v1="2980" v2="3015" v3="3016" />
+ <tetrahedron index="7824" v0="1519" v1="1523" v2="1592" v3="3134" />
+ <tetrahedron index="7825" v0="1523" v1="1592" v2="3134" v3="3138" />
+ <tetrahedron index="7826" v0="1592" v1="3134" v2="3138" v3="3207" />
+ <tetrahedron index="7827" v0="861" v1="1545" v2="1599" v3="2476" />
+ <tetrahedron index="7828" v0="1545" v1="1599" v2="2476" v3="3160" />
+ <tetrahedron index="7829" v0="1599" v1="2476" v2="3160" v3="3214" />
+ <tetrahedron index="7830" v0="1016" v1="1039" v2="1478" v3="2631" />
+ <tetrahedron index="7831" v0="1039" v1="1478" v2="2631" v3="2654" />
+ <tetrahedron index="7832" v0="1478" v1="2631" v2="2654" v3="3093" />
+ <tetrahedron index="7833" v0="1039" v1="1477" v2="1478" v3="2654" />
+ <tetrahedron index="7834" v0="1477" v1="1478" v2="2654" v3="3092" />
+ <tetrahedron index="7835" v0="1478" v1="2654" v2="3092" v3="3093" />
+ <tetrahedron index="7836" v0="371" v1="1229" v2="1570" v3="1986" />
+ <tetrahedron index="7837" v0="1229" v1="1570" v2="1986" v3="2844" />
+ <tetrahedron index="7838" v0="1570" v1="1986" v2="2844" v3="3185" />
+ <tetrahedron index="7839" v0="371" v1="913" v2="1570" v3="1986" />
+ <tetrahedron index="7840" v0="913" v1="1570" v2="1986" v3="2528" />
+ <tetrahedron index="7841" v0="1570" v1="1986" v2="2528" v3="3185" />
+ <tetrahedron index="7842" v0="1206" v1="1518" v2="1600" v3="2821" />
+ <tetrahedron index="7843" v0="1518" v1="1600" v2="2821" v3="3133" />
+ <tetrahedron index="7844" v0="1600" v1="2821" v2="3133" v3="3215" />
+ <tetrahedron index="7845" v0="873" v1="957" v2="958" v3="2488" />
+ <tetrahedron index="7846" v0="957" v1="958" v2="2488" v3="2572" />
+ <tetrahedron index="7847" v0="958" v1="2488" v2="2572" v3="2573" />
+ <tetrahedron index="7848" v0="1440" v1="1441" v2="1522" v3="3055" />
+ <tetrahedron index="7849" v0="1441" v1="1522" v2="3055" v3="3056" />
+ <tetrahedron index="7850" v0="1522" v1="3055" v2="3056" v3="3137" />
+ <tetrahedron index="7851" v0="344" v1="1232" v2="1601" v3="1959" />
+ <tetrahedron index="7852" v0="1232" v1="1601" v2="1959" v3="2847" />
+ <tetrahedron index="7853" v0="1601" v1="1959" v2="2847" v3="3216" />
+ <tetrahedron index="7854" v0="1232" v1="1233" v2="1601" v3="2847" />
+ <tetrahedron index="7855" v0="1233" v1="1601" v2="2847" v3="2848" />
+ <tetrahedron index="7856" v0="1601" v1="2847" v2="2848" v3="3216" />
+ <tetrahedron index="7857" v0="110" v1="1255" v2="1527" v3="1725" />
+ <tetrahedron index="7858" v0="1255" v1="1527" v2="1725" v3="2870" />
+ <tetrahedron index="7859" v0="1527" v1="1725" v2="2870" v3="3142" />
+ <tetrahedron index="7860" v0="110" v1="1308" v2="1527" v3="1725" />
+ <tetrahedron index="7861" v0="1308" v1="1527" v2="1725" v3="2923" />
+ <tetrahedron index="7862" v0="1527" v1="1725" v2="2923" v3="3142" />
+ <tetrahedron index="7863" v0="695" v1="1445" v2="1528" v3="2310" />
+ <tetrahedron index="7864" v0="1445" v1="1528" v2="2310" v3="3060" />
+ <tetrahedron index="7865" v0="1528" v1="2310" v2="3060" v3="3143" />
+ <tetrahedron index="7866" v0="887" v1="941" v2="1530" v3="2502" />
+ <tetrahedron index="7867" v0="941" v1="1530" v2="2502" v3="2556" />
+ <tetrahedron index="7868" v0="1530" v1="2502" v2="2556" v3="3145" />
+ <tetrahedron index="7869" v0="887" v1="1530" v2="1602" v3="2502" />
+ <tetrahedron index="7870" v0="1530" v1="1602" v2="2502" v3="3145" />
+ <tetrahedron index="7871" v0="1602" v1="2502" v2="3145" v3="3217" />
+ <tetrahedron index="7872" v0="941" v1="1530" v2="1531" v3="2556" />
+ <tetrahedron index="7873" v0="1530" v1="1531" v2="2556" v3="3145" />
+ <tetrahedron index="7874" v0="1531" v1="2556" v2="3145" v3="3146" />
+ <tetrahedron index="7875" v0="732" v1="912" v2="1532" v3="2347" />
+ <tetrahedron index="7876" v0="912" v1="1532" v2="2347" v3="2527" />
+ <tetrahedron index="7877" v0="1532" v1="2347" v2="2527" v3="3147" />
+ <tetrahedron index="7878" v0="732" v1="983" v2="1532" v3="2347" />
+ <tetrahedron index="7879" v0="983" v1="1532" v2="2347" v3="2598" />
+ <tetrahedron index="7880" v0="1532" v1="2347" v2="2598" v3="3147" />
+ <tetrahedron index="7881" v0="735" v1="836" v2="1533" v3="2350" />
+ <tetrahedron index="7882" v0="836" v1="1533" v2="2350" v3="2451" />
+ <tetrahedron index="7883" v0="1533" v1="2350" v2="2451" v3="3148" />
+ <tetrahedron index="7884" v0="1132" v1="1133" v2="1529" v3="2747" />
+ <tetrahedron index="7885" v0="1133" v1="1529" v2="2747" v3="2748" />
+ <tetrahedron index="7886" v0="1529" v1="2747" v2="2748" v3="3144" />
+ <tetrahedron index="7887" v0="369" v1="558" v2="1603" v3="1984" />
+ <tetrahedron index="7888" v0="558" v1="1603" v2="1984" v3="2173" />
+ <tetrahedron index="7889" v0="1603" v1="1984" v2="2173" v3="3218" />
+ <tetrahedron index="7890" v0="558" v1="1264" v2="1603" v3="2173" />
+ <tetrahedron index="7891" v0="1264" v1="1603" v2="2173" v3="2879" />
+ <tetrahedron index="7892" v0="1603" v1="2173" v2="2879" v3="3218" />
+ <tetrahedron index="7893" v0="32" v1="662" v2="1602" v3="1647" />
+ <tetrahedron index="7894" v0="662" v1="1602" v2="1647" v3="2277" />
+ <tetrahedron index="7895" v0="1602" v1="1647" v2="2277" v3="3217" />
+ <tetrahedron index="7896" v0="788" v1="805" v2="1534" v3="2403" />
+ <tetrahedron index="7897" v0="805" v1="1534" v2="2403" v3="2420" />
+ <tetrahedron index="7898" v0="1534" v1="2403" v2="2420" v3="3149" />
+ <tetrahedron index="7899" v0="618" v1="619" v2="1604" v3="2233" />
+ <tetrahedron index="7900" v0="619" v1="1604" v2="2233" v3="2234" />
+ <tetrahedron index="7901" v0="1604" v1="2233" v2="2234" v3="3219" />
+ <tetrahedron index="7902" v0="175" v1="178" v2="413" v3="1790" />
+ <tetrahedron index="7903" v0="178" v1="413" v2="1790" v3="1793" />
+ <tetrahedron index="7904" v0="413" v1="1790" v2="1793" v3="2028" />
+ <tetrahedron index="7905" v0="400" v1="648" v2="1605" v3="2015" />
+ <tetrahedron index="7906" v0="648" v1="1605" v2="2015" v3="2263" />
+ <tetrahedron index="7907" v0="1605" v1="2015" v2="2263" v3="3220" />
+ <tetrahedron index="7908" v0="648" v1="1070" v2="1605" v3="2263" />
+ <tetrahedron index="7909" v0="1070" v1="1605" v2="2263" v3="2685" />
+ <tetrahedron index="7910" v0="1605" v1="2263" v2="2685" v3="3220" />
+ <tetrahedron index="7911" v0="1380" v1="1381" v2="1606" v3="2995" />
+ <tetrahedron index="7912" v0="1381" v1="1606" v2="2995" v3="2996" />
+ <tetrahedron index="7913" v0="1606" v1="2995" v2="2996" v3="3221" />
+ <tetrahedron index="7914" v0="716" v1="1381" v2="1606" v3="2331" />
+ <tetrahedron index="7915" v0="1381" v1="1606" v2="2331" v3="2996" />
+ <tetrahedron index="7916" v0="1606" v1="2331" v2="2996" v3="3221" />
+ <tetrahedron index="7917" v0="1026" v1="1081" v2="1536" v3="2641" />
+ <tetrahedron index="7918" v0="1081" v1="1536" v2="2641" v3="2696" />
+ <tetrahedron index="7919" v0="1536" v1="2641" v2="2696" v3="3151" />
+ <tetrahedron index="7920" v0="912" v1="933" v2="1538" v3="2527" />
+ <tetrahedron index="7921" v0="933" v1="1538" v2="2527" v3="2548" />
+ <tetrahedron index="7922" v0="1538" v1="2527" v2="2548" v3="3153" />
+ <tetrahedron index="7923" v0="944" v1="1252" v2="1539" v3="2559" />
+ <tetrahedron index="7924" v0="1252" v1="1539" v2="2559" v3="2867" />
+ <tetrahedron index="7925" v0="1539" v1="2559" v2="2867" v3="3154" />
+ <tetrahedron index="7926" v0="560" v1="1081" v2="1597" v3="2175" />
+ <tetrahedron index="7927" v0="1081" v1="1597" v2="2175" v3="2696" />
+ <tetrahedron index="7928" v0="1597" v1="2175" v2="2696" v3="3212" />
+ <tetrahedron index="7929" v0="560" v1="1512" v2="1597" v3="2175" />
+ <tetrahedron index="7930" v0="1512" v1="1597" v2="2175" v3="3127" />
+ <tetrahedron index="7931" v0="1597" v1="2175" v2="3127" v3="3212" />
+ <tetrahedron index="7932" v0="797" v1="798" v2="1544" v3="2412" />
+ <tetrahedron index="7933" v0="798" v1="1544" v2="2412" v3="2413" />
+ <tetrahedron index="7934" v0="1544" v1="2412" v2="2413" v3="3159" />
+ <tetrahedron index="7935" v0="523" v1="701" v2="758" v3="2138" />
+ <tetrahedron index="7936" v0="701" v1="758" v2="2138" v3="2316" />
+ <tetrahedron index="7937" v0="758" v1="2138" v2="2316" v3="2373" />
+ <tetrahedron index="7938" v0="177" v1="701" v2="758" v3="1792" />
+ <tetrahedron index="7939" v0="701" v1="758" v2="1792" v3="2316" />
+ <tetrahedron index="7940" v0="758" v1="1792" v2="2316" v3="2373" />
+ <tetrahedron index="7941" v0="1265" v1="1394" v2="1563" v3="2880" />
+ <tetrahedron index="7942" v0="1394" v1="1563" v2="2880" v3="3009" />
+ <tetrahedron index="7943" v0="1563" v1="2880" v2="3009" v3="3178" />
+ <tetrahedron index="7944" v0="1265" v1="1562" v2="1563" v3="2880" />
+ <tetrahedron index="7945" v0="1562" v1="1563" v2="2880" v3="3177" />
+ <tetrahedron index="7946" v0="1563" v1="2880" v2="3177" v3="3178" />
+ <tetrahedron index="7947" v0="232" v1="387" v2="1369" v3="1847" />
+ <tetrahedron index="7948" v0="387" v1="1369" v2="1847" v3="2002" />
+ <tetrahedron index="7949" v0="1369" v1="1847" v2="2002" v3="2984" />
+ <tetrahedron index="7950" v0="1484" v1="1514" v2="1607" v3="3099" />
+ <tetrahedron index="7951" v0="1514" v1="1607" v2="3099" v3="3129" />
+ <tetrahedron index="7952" v0="1607" v1="3099" v2="3129" v3="3222" />
+ <tetrahedron index="7953" v0="1484" v1="1607" v2="1608" v3="3099" />
+ <tetrahedron index="7954" v0="1607" v1="1608" v2="3099" v3="3222" />
+ <tetrahedron index="7955" v0="1608" v1="3099" v2="3222" v3="3223" />
+ <tetrahedron index="7956" v0="812" v1="1550" v2="1609" v3="2427" />
+ <tetrahedron index="7957" v0="1550" v1="1609" v2="2427" v3="3165" />
+ <tetrahedron index="7958" v0="1609" v1="2427" v2="3165" v3="3224" />
+ <tetrahedron index="7959" v0="730" v1="805" v2="1551" v3="2345" />
+ <tetrahedron index="7960" v0="805" v1="1551" v2="2345" v3="2420" />
+ <tetrahedron index="7961" v0="1551" v1="2345" v2="2420" v3="3166" />
+ <tetrahedron index="7962" v0="651" v1="816" v2="1553" v3="2266" />
+ <tetrahedron index="7963" v0="816" v1="1553" v2="2266" v3="2431" />
+ <tetrahedron index="7964" v0="1553" v1="2266" v2="2431" v3="3168" />
+ <tetrahedron index="7965" v0="684" v1="1260" v2="1610" v3="2299" />
+ <tetrahedron index="7966" v0="1260" v1="1610" v2="2299" v3="2875" />
+ <tetrahedron index="7967" v0="1610" v1="2299" v2="2875" v3="3225" />
+ <tetrahedron index="7968" v0="423" v1="1329" v2="1554" v3="2038" />
+ <tetrahedron index="7969" v0="1329" v1="1554" v2="2038" v3="2944" />
+ <tetrahedron index="7970" v0="1554" v1="2038" v2="2944" v3="3169" />
+ <tetrahedron index="7971" v0="1465" v1="1466" v2="1611" v3="3080" />
+ <tetrahedron index="7972" v0="1466" v1="1611" v2="3080" v3="3081" />
+ <tetrahedron index="7973" v0="1611" v1="3080" v2="3081" v3="3226" />
+ <tetrahedron index="7974" v0="1460" v1="1466" v2="1611" v3="3075" />
+ <tetrahedron index="7975" v0="1466" v1="1611" v2="3075" v3="3081" />
+ <tetrahedron index="7976" v0="1611" v1="3075" v2="3081" v3="3226" />
+ <tetrahedron index="7977" v0="650" v1="1043" v2="1474" v3="2265" />
+ <tetrahedron index="7978" v0="1043" v1="1474" v2="2265" v3="2658" />
+ <tetrahedron index="7979" v0="1474" v1="2265" v2="2658" v3="3089" />
+ <tetrahedron index="7980" v0="803" v1="812" v2="1608" v3="2418" />
+ <tetrahedron index="7981" v0="812" v1="1608" v2="2418" v3="2427" />
+ <tetrahedron index="7982" v0="1608" v1="2418" v2="2427" v3="3223" />
+ <tetrahedron index="7983" v0="1526" v1="1551" v2="1552" v3="3141" />
+ <tetrahedron index="7984" v0="1551" v1="1552" v2="3141" v3="3166" />
+ <tetrahedron index="7985" v0="1552" v1="3141" v2="3166" v3="3167" />
+ <tetrahedron index="7986" v0="481" v1="1112" v2="1555" v3="2096" />
+ <tetrahedron index="7987" v0="1112" v1="1555" v2="2096" v3="2727" />
+ <tetrahedron index="7988" v0="1555" v1="2096" v2="2727" v3="3170" />
+ <tetrahedron index="7989" v0="925" v1="1439" v2="1556" v3="2540" />
+ <tetrahedron index="7990" v0="1439" v1="1556" v2="2540" v3="3054" />
+ <tetrahedron index="7991" v0="1556" v1="2540" v2="3054" v3="3171" />
+ <tetrahedron index="7992" v0="925" v1="1444" v2="1556" v3="2540" />
+ <tetrahedron index="7993" v0="1444" v1="1556" v2="2540" v3="3059" />
+ <tetrahedron index="7994" v0="1556" v1="2540" v2="3059" v3="3171" />
+ <tetrahedron index="7995" v0="773" v1="1372" v2="1557" v3="2388" />
+ <tetrahedron index="7996" v0="1372" v1="1557" v2="2388" v3="2987" />
+ <tetrahedron index="7997" v0="1557" v1="2388" v2="2987" v3="3172" />
+ <tetrahedron index="7998" v0="77" v1="537" v2="1372" v3="1692" />
+ <tetrahedron index="7999" v0="537" v1="1372" v2="1692" v3="2152" />
+ <tetrahedron index="8000" v0="1372" v1="1692" v2="2152" v3="2987" />
+ <tetrahedron index="8001" v0="77" v1="1372" v2="1557" v3="1692" />
+ <tetrahedron index="8002" v0="1372" v1="1557" v2="1692" v3="2987" />
+ <tetrahedron index="8003" v0="1557" v1="1692" v2="2987" v3="3172" />
+ <tetrahedron index="8004" v0="346" v1="347" v2="1513" v3="1961" />
+ <tetrahedron index="8005" v0="347" v1="1513" v2="1961" v3="1962" />
+ <tetrahedron index="8006" v0="1513" v1="1961" v2="1962" v3="3128" />
+ <tetrahedron index="8007" v0="1068" v1="1070" v2="1558" v3="2683" />
+ <tetrahedron index="8008" v0="1070" v1="1558" v2="2683" v3="2685" />
+ <tetrahedron index="8009" v0="1558" v1="2683" v2="2685" v3="3173" />
+ <tetrahedron index="8010" v0="1310" v1="1486" v2="1559" v3="2925" />
+ <tetrahedron index="8011" v0="1486" v1="1559" v2="2925" v3="3101" />
+ <tetrahedron index="8012" v0="1559" v1="2925" v2="3101" v3="3174" />
+ <tetrahedron index="8013" v0="1061" v1="1303" v2="1383" v3="2676" />
+ <tetrahedron index="8014" v0="1303" v1="1383" v2="2676" v3="2918" />
+ <tetrahedron index="8015" v0="1383" v1="2676" v2="2918" v3="2998" />
+ <tetrahedron index="8016" v0="1061" v1="1225" v2="1383" v3="2676" />
+ <tetrahedron index="8017" v0="1225" v1="1383" v2="2676" v3="2840" />
+ <tetrahedron index="8018" v0="1383" v1="2676" v2="2840" v3="2998" />
+ <tetrahedron index="8019" v0="357" v1="391" v2="1354" v3="1972" />
+ <tetrahedron index="8020" v0="391" v1="1354" v2="1972" v3="2006" />
+ <tetrahedron index="8021" v0="1354" v1="1972" v2="2006" v3="2969" />
+ <tetrahedron index="8022" v0="357" v1="1354" v2="1355" v3="1972" />
+ <tetrahedron index="8023" v0="1354" v1="1355" v2="1972" v3="2969" />
+ <tetrahedron index="8024" v0="1355" v1="1972" v2="2969" v3="2970" />
+ <tetrahedron index="8025" v0="1149" v1="1267" v2="1612" v3="2764" />
+ <tetrahedron index="8026" v0="1267" v1="1612" v2="2764" v3="2882" />
+ <tetrahedron index="8027" v0="1612" v1="2764" v2="2882" v3="3227" />
+ <tetrahedron index="8028" v0="1149" v1="1594" v2="1612" v3="2764" />
+ <tetrahedron index="8029" v0="1594" v1="1612" v2="2764" v3="3209" />
+ <tetrahedron index="8030" v0="1612" v1="2764" v2="3209" v3="3227" />
+ <tetrahedron index="8031" v0="854" v1="1230" v2="1560" v3="2469" />
+ <tetrahedron index="8032" v0="1230" v1="1560" v2="2469" v3="2845" />
+ <tetrahedron index="8033" v0="1560" v1="2469" v2="2845" v3="3175" />
+ <tetrahedron index="8034" v0="854" v1="855" v2="1560" v3="2469" />
+ <tetrahedron index="8035" v0="855" v1="1560" v2="2469" v3="2470" />
+ <tetrahedron index="8036" v0="1560" v1="2469" v2="2470" v3="3175" />
+ <tetrahedron index="8037" v0="5" v1="116" v2="1471" v3="1620" />
+ <tetrahedron index="8038" v0="116" v1="1471" v2="1620" v3="1731" />
+ <tetrahedron index="8039" v0="1471" v1="1620" v2="1731" v3="3086" />
+ <tetrahedron index="8040" v0="1211" v1="1562" v2="1563" v3="2826" />
+ <tetrahedron index="8041" v0="1562" v1="1563" v2="2826" v3="3177" />
+ <tetrahedron index="8042" v0="1563" v1="2826" v2="3177" v3="3178" />
+ <tetrahedron index="8043" v0="1498" v1="1499" v2="1564" v3="3113" />
+ <tetrahedron index="8044" v0="1499" v1="1564" v2="3113" v3="3114" />
+ <tetrahedron index="8045" v0="1564" v1="3113" v2="3114" v3="3179" />
+ <tetrahedron index="8046" v0="224" v1="225" v2="536" v3="1839" />
+ <tetrahedron index="8047" v0="225" v1="536" v2="1839" v3="1840" />
+ <tetrahedron index="8048" v0="536" v1="1839" v2="1840" v3="2151" />
+ <tetrahedron index="8049" v0="221" v1="224" v2="536" v3="1836" />
+ <tetrahedron index="8050" v0="224" v1="536" v2="1836" v3="1839" />
+ <tetrahedron index="8051" v0="536" v1="1836" v2="1839" v3="2151" />
+ <tetrahedron index="8052" v0="143" v1="151" v2="462" v3="1758" />
+ <tetrahedron index="8053" v0="151" v1="462" v2="1758" v3="1766" />
+ <tetrahedron index="8054" v0="462" v1="1758" v2="1766" v3="2077" />
+ <tetrahedron index="8055" v0="151" v1="462" v2="483" v3="1766" />
+ <tetrahedron index="8056" v0="462" v1="483" v2="1766" v3="2077" />
+ <tetrahedron index="8057" v0="483" v1="1766" v2="2077" v3="2098" />
+ <tetrahedron index="8058" v0="71" v1="359" v2="444" v3="1686" />
+ <tetrahedron index="8059" v0="359" v1="444" v2="1686" v3="1974" />
+ <tetrahedron index="8060" v0="444" v1="1686" v2="1974" v3="2059" />
+ <tetrahedron index="8061" v0="261" v1="359" v2="444" v3="1876" />
+ <tetrahedron index="8062" v0="359" v1="444" v2="1876" v3="1974" />
+ <tetrahedron index="8063" v0="444" v1="1876" v2="1974" v3="2059" />
+ <tetrahedron index="8064" v0="378" v1="469" v2="624" v3="1993" />
+ <tetrahedron index="8065" v0="469" v1="624" v2="1993" v3="2084" />
+ <tetrahedron index="8066" v0="624" v1="1993" v2="2084" v3="2239" />
+ <tetrahedron index="8067" v0="259" v1="469" v2="624" v3="1874" />
+ <tetrahedron index="8068" v0="469" v1="624" v2="1874" v3="2084" />
+ <tetrahedron index="8069" v0="624" v1="1874" v2="2084" v3="2239" />
+ <tetrahedron index="8070" v0="829" v1="962" v2="963" v3="2444" />
+ <tetrahedron index="8071" v0="962" v1="963" v2="2444" v3="2577" />
+ <tetrahedron index="8072" v0="963" v1="2444" v2="2577" v3="2578" />
+ <tetrahedron index="8073" v0="829" v1="873" v2="962" v3="2444" />
+ <tetrahedron index="8074" v0="873" v1="962" v2="2444" v3="2488" />
+ <tetrahedron index="8075" v0="962" v1="2444" v2="2488" v3="2577" />
+ <tetrahedron index="8076" v0="889" v1="1406" v2="1567" v3="2504" />
+ <tetrahedron index="8077" v0="1406" v1="1567" v2="2504" v3="3021" />
+ <tetrahedron index="8078" v0="1567" v1="2504" v2="3021" v3="3182" />
+ <tetrahedron index="8079" v0="1405" v1="1406" v2="1567" v3="3020" />
+ <tetrahedron index="8080" v0="1406" v1="1567" v2="3020" v3="3021" />
+ <tetrahedron index="8081" v0="1567" v1="3020" v2="3021" v3="3182" />
+ <tetrahedron index="8082" v0="176" v1="449" v2="1567" v3="1791" />
+ <tetrahedron index="8083" v0="449" v1="1567" v2="1791" v3="2064" />
+ <tetrahedron index="8084" v0="1567" v1="1791" v2="2064" v3="3182" />
+ <tetrahedron index="8085" v0="176" v1="898" v2="1567" v3="1791" />
+ <tetrahedron index="8086" v0="898" v1="1567" v2="1791" v3="2513" />
+ <tetrahedron index="8087" v0="1567" v1="1791" v2="2513" v3="3182" />
+ <tetrahedron index="8088" v0="578" v1="579" v2="826" v3="2193" />
+ <tetrahedron index="8089" v0="579" v1="826" v2="2193" v3="2194" />
+ <tetrahedron index="8090" v0="826" v1="2193" v2="2194" v3="2441" />
+ <tetrahedron index="8091" v0="579" v1="826" v2="1421" v3="2194" />
+ <tetrahedron index="8092" v0="826" v1="1421" v2="2194" v3="2441" />
+ <tetrahedron index="8093" v0="1421" v1="2194" v2="2441" v3="3036" />
+ <tetrahedron index="8094" v0="927" v1="1116" v2="1571" v3="2542" />
+ <tetrahedron index="8095" v0="1116" v1="1571" v2="2542" v3="2731" />
+ <tetrahedron index="8096" v0="1571" v1="2542" v2="2731" v3="3186" />
+ <tetrahedron index="8097" v0="1116" v1="1273" v2="1571" v3="2731" />
+ <tetrahedron index="8098" v0="1273" v1="1571" v2="2731" v3="2888" />
+ <tetrahedron index="8099" v0="1571" v1="2731" v2="2888" v3="3186" />
+ <tetrahedron index="8100" v0="88" v1="1273" v2="1571" v3="1703" />
+ <tetrahedron index="8101" v0="1273" v1="1571" v2="1703" v3="2888" />
+ <tetrahedron index="8102" v0="1571" v1="1703" v2="2888" v3="3186" />
+ <tetrahedron index="8103" v0="88" v1="801" v2="1571" v3="1703" />
+ <tetrahedron index="8104" v0="801" v1="1571" v2="1703" v3="2416" />
+ <tetrahedron index="8105" v0="1571" v1="1703" v2="2416" v3="3186" />
+ <tetrahedron index="8106" v0="709" v1="967" v2="1566" v3="2324" />
+ <tetrahedron index="8107" v0="967" v1="1566" v2="2324" v3="2582" />
+ <tetrahedron index="8108" v0="1566" v1="2324" v2="2582" v3="3181" />
+ <tetrahedron index="8109" v0="709" v1="710" v2="1566" v3="2324" />
+ <tetrahedron index="8110" v0="710" v1="1566" v2="2324" v3="2325" />
+ <tetrahedron index="8111" v0="1566" v1="2324" v2="2325" v3="3181" />
+ <tetrahedron index="8112" v0="961" v1="1041" v2="1447" v3="2576" />
+ <tetrahedron index="8113" v0="1041" v1="1447" v2="2576" v3="2656" />
+ <tetrahedron index="8114" v0="1447" v1="2576" v2="2656" v3="3062" />
+ <tetrahedron index="8115" v0="961" v1="1433" v2="1447" v3="2576" />
+ <tetrahedron index="8116" v0="1433" v1="1447" v2="2576" v3="3048" />
+ <tetrahedron index="8117" v0="1447" v1="2576" v2="3048" v3="3062" />
+ <tetrahedron index="8118" v0="1008" v1="1009" v2="1503" v3="2623" />
+ <tetrahedron index="8119" v0="1009" v1="1503" v2="2623" v3="2624" />
+ <tetrahedron index="8120" v0="1503" v1="2623" v2="2624" v3="3118" />
+ <tetrahedron index="8121" v0="1008" v1="1491" v2="1503" v3="2623" />
+ <tetrahedron index="8122" v0="1491" v1="1503" v2="2623" v3="3106" />
+ <tetrahedron index="8123" v0="1503" v1="2623" v2="3106" v3="3118" />
+ <tetrahedron index="8124" v0="674" v1="675" v2="1056" v3="2289" />
+ <tetrahedron index="8125" v0="675" v1="1056" v2="2289" v3="2290" />
+ <tetrahedron index="8126" v0="1056" v1="2289" v2="2290" v3="2671" />
+ <tetrahedron index="8127" v0="674" v1="1056" v2="1573" v3="2289" />
+ <tetrahedron index="8128" v0="1056" v1="1573" v2="2289" v3="2671" />
+ <tetrahedron index="8129" v0="1573" v1="2289" v2="2671" v3="3188" />
+ <tetrahedron index="8130" v0="1181" v1="1448" v2="1588" v3="2796" />
+ <tetrahedron index="8131" v0="1448" v1="1588" v2="2796" v3="3063" />
+ <tetrahedron index="8132" v0="1588" v1="2796" v2="3063" v3="3203" />
+ <tetrahedron index="8133" v0="1448" v1="1449" v2="1588" v3="3063" />
+ <tetrahedron index="8134" v0="1449" v1="1588" v2="3063" v3="3064" />
+ <tetrahedron index="8135" v0="1588" v1="3063" v2="3064" v3="3203" />
+ <tetrahedron index="8136" v0="1123" v1="1124" v2="1576" v3="2738" />
+ <tetrahedron index="8137" v0="1124" v1="1576" v2="2738" v3="2739" />
+ <tetrahedron index="8138" v0="1576" v1="2738" v2="2739" v3="3191" />
+ <tetrahedron index="8139" v0="1124" v1="1575" v2="1576" v3="2739" />
+ <tetrahedron index="8140" v0="1575" v1="1576" v2="2739" v3="3190" />
+ <tetrahedron index="8141" v0="1576" v1="2739" v2="3190" v3="3191" />
+ <tetrahedron index="8142" v0="641" v1="954" v2="1317" v3="2256" />
+ <tetrahedron index="8143" v0="954" v1="1317" v2="2256" v3="2569" />
+ <tetrahedron index="8144" v0="1317" v1="2256" v2="2569" v3="2932" />
+ <tetrahedron index="8145" v0="641" v1="671" v2="1317" v3="2256" />
+ <tetrahedron index="8146" v0="671" v1="1317" v2="2256" v3="2286" />
+ <tetrahedron index="8147" v0="1317" v1="2256" v2="2286" v3="2932" />
+ <tetrahedron index="8148" v0="626" v1="627" v2="1537" v3="2241" />
+ <tetrahedron index="8149" v0="627" v1="1537" v2="2241" v3="2242" />
+ <tetrahedron index="8150" v0="1537" v1="2241" v2="2242" v3="3152" />
+ <tetrahedron index="8151" v0="627" v1="647" v2="1537" v3="2242" />
+ <tetrahedron index="8152" v0="647" v1="1537" v2="2242" v3="2262" />
+ <tetrahedron index="8153" v0="1537" v1="2242" v2="2262" v3="3152" />
+ <tetrahedron index="8154" v0="993" v1="1413" v2="1579" v3="2608" />
+ <tetrahedron index="8155" v0="1413" v1="1579" v2="2608" v3="3028" />
+ <tetrahedron index="8156" v0="1579" v1="2608" v2="3028" v3="3194" />
+ <tetrahedron index="8157" v0="671" v1="1413" v2="1579" v3="2286" />
+ <tetrahedron index="8158" v0="1413" v1="1579" v2="2286" v3="3028" />
+ <tetrahedron index="8159" v0="1579" v1="2286" v2="3028" v3="3194" />
+ <tetrahedron index="8160" v0="1096" v1="1507" v2="1541" v3="2711" />
+ <tetrahedron index="8161" v0="1507" v1="1541" v2="2711" v3="3122" />
+ <tetrahedron index="8162" v0="1541" v1="2711" v2="3122" v3="3156" />
+ <tetrahedron index="8163" v0="1384" v1="1507" v2="1541" v3="2999" />
+ <tetrahedron index="8164" v0="1507" v1="1541" v2="2999" v3="3122" />
+ <tetrahedron index="8165" v0="1541" v1="2999" v2="3122" v3="3156" />
+ <tetrahedron index="8166" v0="214" v1="681" v2="1595" v3="1829" />
+ <tetrahedron index="8167" v0="681" v1="1595" v2="1829" v3="2296" />
+ <tetrahedron index="8168" v0="1595" v1="1829" v2="2296" v3="3210" />
+ <tetrahedron index="8169" v0="681" v1="1595" v2="1613" v3="2296" />
+ <tetrahedron index="8170" v0="1595" v1="1613" v2="2296" v3="3210" />
+ <tetrahedron index="8171" v0="1613" v1="2296" v2="3210" v3="3228" />
+ <tetrahedron index="8172" v0="128" v1="682" v2="1442" v3="1743" />
+ <tetrahedron index="8173" v0="682" v1="1442" v2="1743" v3="2297" />
+ <tetrahedron index="8174" v0="1442" v1="1743" v2="2297" v3="3057" />
+ <tetrahedron index="8175" v0="128" v1="192" v2="1442" v3="1743" />
+ <tetrahedron index="8176" v0="192" v1="1442" v2="1743" v3="1807" />
+ <tetrahedron index="8177" v0="1442" v1="1743" v2="1807" v3="3057" />
+ <tetrahedron index="8178" v0="1079" v1="1535" v2="1540" v3="2694" />
+ <tetrahedron index="8179" v0="1535" v1="1540" v2="2694" v3="3150" />
+ <tetrahedron index="8180" v0="1540" v1="2694" v2="3150" v3="3155" />
+ <tetrahedron index="8181" v0="1492" v1="1535" v2="1540" v3="3107" />
+ <tetrahedron index="8182" v0="1535" v1="1540" v2="3107" v3="3150" />
+ <tetrahedron index="8183" v0="1540" v1="3107" v2="3150" v3="3155" />
+ <tetrahedron index="8184" v0="1013" v1="1435" v2="1576" v3="2628" />
+ <tetrahedron index="8185" v0="1435" v1="1576" v2="2628" v3="3050" />
+ <tetrahedron index="8186" v0="1576" v1="2628" v2="3050" v3="3191" />
+ <tetrahedron index="8187" v0="1435" v1="1574" v2="1576" v3="3050" />
+ <tetrahedron index="8188" v0="1574" v1="1576" v2="3050" v3="3189" />
+ <tetrahedron index="8189" v0="1576" v1="3050" v2="3189" v3="3191" />
+ <tetrahedron index="8190" v0="935" v1="1084" v2="1223" v3="2550" />
+ <tetrahedron index="8191" v0="1084" v1="1223" v2="2550" v3="2699" />
+ <tetrahedron index="8192" v0="1223" v1="2550" v2="2699" v3="2838" />
+ <tetrahedron index="8193" v0="1084" v1="1167" v2="1223" v3="2699" />
+ <tetrahedron index="8194" v0="1167" v1="1223" v2="2699" v3="2782" />
+ <tetrahedron index="8195" v0="1223" v1="2699" v2="2782" v3="2838" />
+ <tetrahedron index="8196" v0="889" v1="1406" v2="1564" v3="2504" />
+ <tetrahedron index="8197" v0="1406" v1="1564" v2="2504" v3="3021" />
+ <tetrahedron index="8198" v0="1564" v1="2504" v2="3021" v3="3179" />
+ <tetrahedron index="8199" v0="1406" v1="1499" v2="1564" v3="3021" />
+ <tetrahedron index="8200" v0="1499" v1="1564" v2="3021" v3="3114" />
+ <tetrahedron index="8201" v0="1564" v1="3021" v2="3114" v3="3179" />
+ <tetrahedron index="8202" v0="959" v1="1049" v2="1543" v3="2574" />
+ <tetrahedron index="8203" v0="1049" v1="1543" v2="2574" v3="2664" />
+ <tetrahedron index="8204" v0="1543" v1="2574" v2="2664" v3="3158" />
+ <tetrahedron index="8205" v0="959" v1="1062" v2="1543" v3="2574" />
+ <tetrahedron index="8206" v0="1062" v1="1543" v2="2574" v3="2677" />
+ <tetrahedron index="8207" v0="1543" v1="2574" v2="2677" v3="3158" />
+ <tetrahedron index="8208" v0="408" v1="501" v2="1520" v3="2023" />
+ <tetrahedron index="8209" v0="501" v1="1520" v2="2023" v3="2116" />
+ <tetrahedron index="8210" v0="1520" v1="2023" v2="2116" v3="3135" />
+ <tetrahedron index="8211" v0="684" v1="685" v2="1610" v3="2299" />
+ <tetrahedron index="8212" v0="685" v1="1610" v2="2299" v3="2300" />
+ <tetrahedron index="8213" v0="1610" v1="2299" v2="2300" v3="3225" />
+ <tetrahedron index="8214" v0="685" v1="695" v2="1610" v3="2300" />
+ <tetrahedron index="8215" v0="695" v1="1610" v2="2300" v3="2310" />
+ <tetrahedron index="8216" v0="1610" v1="2300" v2="2310" v3="3225" />
+ <tetrahedron index="8217" v0="1203" v1="1204" v2="1578" v3="2818" />
+ <tetrahedron index="8218" v0="1204" v1="1578" v2="2818" v3="2819" />
+ <tetrahedron index="8219" v0="1578" v1="2818" v2="2819" v3="3193" />
+ <tetrahedron index="8220" v0="1203" v1="1431" v2="1578" v3="2818" />
+ <tetrahedron index="8221" v0="1431" v1="1578" v2="2818" v3="3046" />
+ <tetrahedron index="8222" v0="1578" v1="2818" v2="3046" v3="3193" />
+ <tetrahedron index="8223" v0="1148" v1="1419" v2="1578" v3="2763" />
+ <tetrahedron index="8224" v0="1419" v1="1578" v2="2763" v3="3034" />
+ <tetrahedron index="8225" v0="1578" v1="2763" v2="3034" v3="3193" />
+ <tetrahedron index="8226" v0="461" v1="819" v2="846" v3="2076" />
+ <tetrahedron index="8227" v0="819" v1="846" v2="2076" v3="2434" />
+ <tetrahedron index="8228" v0="846" v1="2076" v2="2434" v3="2461" />
+ <tetrahedron index="8229" v0="819" v1="846" v2="1309" v3="2434" />
+ <tetrahedron index="8230" v0="846" v1="1309" v2="2434" v3="2461" />
+ <tetrahedron index="8231" v0="1309" v1="2434" v2="2461" v3="2924" />
+ <tetrahedron index="8232" v0="1291" v1="1542" v2="1554" v3="2906" />
+ <tetrahedron index="8233" v0="1542" v1="1554" v2="2906" v3="3157" />
+ <tetrahedron index="8234" v0="1554" v1="2906" v2="3157" v3="3169" />
+ <tetrahedron index="8235" v0="1329" v1="1542" v2="1554" v3="2944" />
+ <tetrahedron index="8236" v0="1542" v1="1554" v2="2944" v3="3157" />
+ <tetrahedron index="8237" v0="1554" v1="2944" v2="3157" v3="3169" />
+ <tetrahedron index="8238" v0="1315" v1="1316" v2="1317" v3="2930" />
+ <tetrahedron index="8239" v0="1316" v1="1317" v2="2930" v3="2931" />
+ <tetrahedron index="8240" v0="1317" v1="2930" v2="2931" v3="2932" />
+ <tetrahedron index="8241" v0="1315" v1="1317" v2="1579" v3="2930" />
+ <tetrahedron index="8242" v0="1317" v1="1579" v2="2930" v3="2932" />
+ <tetrahedron index="8243" v0="1579" v1="2930" v2="2932" v3="3194" />
+ <tetrahedron index="8244" v0="390" v1="1319" v2="1536" v3="2005" />
+ <tetrahedron index="8245" v0="1319" v1="1536" v2="2005" v3="2934" />
+ <tetrahedron index="8246" v0="1536" v1="2005" v2="2934" v3="3151" />
+ <tetrahedron index="8247" v0="1026" v1="1319" v2="1536" v3="2641" />
+ <tetrahedron index="8248" v0="1319" v1="1536" v2="2641" v3="2934" />
+ <tetrahedron index="8249" v0="1536" v1="2641" v2="2934" v3="3151" />
+ <tetrahedron index="8250" v0="1110" v1="1488" v2="1549" v3="2725" />
+ <tetrahedron index="8251" v0="1488" v1="1549" v2="2725" v3="3103" />
+ <tetrahedron index="8252" v0="1549" v1="2725" v2="3103" v3="3164" />
+ <tetrahedron index="8253" v0="1366" v1="1488" v2="1549" v3="2981" />
+ <tetrahedron index="8254" v0="1488" v1="1549" v2="2981" v3="3103" />
+ <tetrahedron index="8255" v0="1549" v1="2981" v2="3103" v3="3164" />
+ <tetrahedron index="8256" v0="929" v1="1402" v2="1582" v3="2544" />
+ <tetrahedron index="8257" v0="1402" v1="1582" v2="2544" v3="3017" />
+ <tetrahedron index="8258" v0="1582" v1="2544" v2="3017" v3="3197" />
+ <tetrahedron index="8259" v0="929" v1="930" v2="1582" v3="2544" />
+ <tetrahedron index="8260" v0="930" v1="1582" v2="2544" v3="2545" />
+ <tetrahedron index="8261" v0="1582" v1="2544" v2="2545" v3="3197" />
+ <tetrahedron index="8262" v0="1443" v1="1524" v2="1583" v3="3058" />
+ <tetrahedron index="8263" v0="1524" v1="1583" v2="3058" v3="3139" />
+ <tetrahedron index="8264" v0="1583" v1="3058" v2="3139" v3="3198" />
+ <tetrahedron index="8265" v0="1497" v1="1524" v2="1583" v3="3112" />
+ <tetrahedron index="8266" v0="1524" v1="1583" v2="3112" v3="3139" />
+ <tetrahedron index="8267" v0="1583" v1="3112" v2="3139" v3="3198" />
+ <tetrahedron index="8268" v0="674" v1="1573" v2="1601" v3="2289" />
+ <tetrahedron index="8269" v0="1573" v1="1601" v2="2289" v3="3188" />
+ <tetrahedron index="8270" v0="1601" v1="2289" v2="3188" v3="3216" />
+ <tetrahedron index="8271" v0="344" v1="674" v2="1601" v3="1959" />
+ <tetrahedron index="8272" v0="674" v1="1601" v2="1959" v3="2289" />
+ <tetrahedron index="8273" v0="1601" v1="1959" v2="2289" v3="3216" />
+ <tetrahedron index="8274" v0="460" v1="1318" v2="1569" v3="2075" />
+ <tetrahedron index="8275" v0="1318" v1="1569" v2="2075" v3="2933" />
+ <tetrahedron index="8276" v0="1569" v1="2075" v2="2933" v3="3184" />
+ <tetrahedron index="8277" v0="460" v1="1244" v2="1569" v3="2075" />
+ <tetrahedron index="8278" v0="1244" v1="1569" v2="2075" v3="2859" />
+ <tetrahedron index="8279" v0="1569" v1="2075" v2="2859" v3="3184" />
+ <tetrahedron index="8280" v0="1353" v1="1478" v2="1548" v3="2968" />
+ <tetrahedron index="8281" v0="1478" v1="1548" v2="2968" v3="3093" />
+ <tetrahedron index="8282" v0="1548" v1="2968" v2="3093" v3="3163" />
+ <tetrahedron index="8283" v0="1016" v1="1478" v2="1548" v3="2631" />
+ <tetrahedron index="8284" v0="1478" v1="1548" v2="2631" v3="3093" />
+ <tetrahedron index="8285" v0="1548" v1="2631" v2="3093" v3="3163" />
+ <tetrahedron index="8286" v0="601" v1="1058" v2="1572" v3="2216" />
+ <tetrahedron index="8287" v0="1058" v1="1572" v2="2216" v3="2673" />
+ <tetrahedron index="8288" v0="1572" v1="2216" v2="2673" v3="3187" />
+ <tetrahedron index="8289" v0="453" v1="454" v2="1585" v3="2068" />
+ <tetrahedron index="8290" v0="454" v1="1585" v2="2068" v3="2069" />
+ <tetrahedron index="8291" v0="1585" v1="2068" v2="2069" v3="3200" />
+ <tetrahedron index="8292" v0="453" v1="1213" v2="1585" v3="2068" />
+ <tetrahedron index="8293" v0="1213" v1="1585" v2="2068" v3="2828" />
+ <tetrahedron index="8294" v0="1585" v1="2068" v2="2828" v3="3200" />
+ <tetrahedron index="8295" v0="1078" v1="1213" v2="1585" v3="2693" />
+ <tetrahedron index="8296" v0="1213" v1="1585" v2="2693" v3="2828" />
+ <tetrahedron index="8297" v0="1585" v1="2693" v2="2828" v3="3200" />
+ <tetrahedron index="8298" v0="883" v1="1078" v2="1585" v3="2498" />
+ <tetrahedron index="8299" v0="1078" v1="1585" v2="2498" v3="2693" />
+ <tetrahedron index="8300" v0="1585" v1="2498" v2="2693" v3="3200" />
+ <tetrahedron index="8301" v0="824" v1="1169" v2="1170" v3="2439" />
+ <tetrahedron index="8302" v0="1169" v1="1170" v2="2439" v3="2784" />
+ <tetrahedron index="8303" v0="1170" v1="2439" v2="2784" v3="2785" />
+ <tetrahedron index="8304" v0="824" v1="853" v2="1169" v3="2439" />
+ <tetrahedron index="8305" v0="853" v1="1169" v2="2439" v3="2468" />
+ <tetrahedron index="8306" v0="1169" v1="2439" v2="2468" v3="2784" />
+ <tetrahedron index="8307" v0="276" v1="835" v2="1089" v3="1891" />
+ <tetrahedron index="8308" v0="835" v1="1089" v2="1891" v3="2450" />
+ <tetrahedron index="8309" v0="1089" v1="1891" v2="2450" v3="2704" />
+ <tetrahedron index="8310" v0="205" v1="276" v2="1089" v3="1820" />
+ <tetrahedron index="8311" v0="276" v1="1089" v2="1820" v3="1891" />
+ <tetrahedron index="8312" v0="1089" v1="1820" v2="1891" v3="2704" />
+ <tetrahedron index="8313" v0="108" v1="904" v2="1527" v3="1723" />
+ <tetrahedron index="8314" v0="904" v1="1527" v2="1723" v3="2519" />
+ <tetrahedron index="8315" v0="1527" v1="1723" v2="2519" v3="3142" />
+ <tetrahedron index="8316" v0="108" v1="1255" v2="1527" v3="1723" />
+ <tetrahedron index="8317" v0="1255" v1="1527" v2="1723" v3="2870" />
+ <tetrahedron index="8318" v0="1527" v1="1723" v2="2870" v3="3142" />
+ <tetrahedron index="8319" v0="1021" v1="1023" v2="1050" v3="2636" />
+ <tetrahedron index="8320" v0="1023" v1="1050" v2="2636" v3="2638" />
+ <tetrahedron index="8321" v0="1050" v1="2636" v2="2638" v3="2665" />
+ <tetrahedron index="8322" v0="1023" v1="1050" v2="1058" v3="2638" />
+ <tetrahedron index="8323" v0="1050" v1="1058" v2="2638" v3="2665" />
+ <tetrahedron index="8324" v0="1058" v1="2638" v2="2665" v3="2673" />
+ <tetrahedron index="8325" v0="1384" v1="1507" v2="1586" v3="2999" />
+ <tetrahedron index="8326" v0="1507" v1="1586" v2="2999" v3="3122" />
+ <tetrahedron index="8327" v0="1586" v1="2999" v2="3122" v3="3201" />
+ <tetrahedron index="8328" v0="1482" v1="1507" v2="1586" v3="3097" />
+ <tetrahedron index="8329" v0="1507" v1="1586" v2="3097" v3="3122" />
+ <tetrahedron index="8330" v0="1586" v1="3097" v2="3122" v3="3201" />
+ <tetrahedron index="8331" v0="288" v1="1584" v2="1587" v3="1903" />
+ <tetrahedron index="8332" v0="1584" v1="1587" v2="1903" v3="3199" />
+ <tetrahedron index="8333" v0="1587" v1="1903" v2="3199" v3="3202" />
+ <tetrahedron index="8334" v0="1242" v1="1393" v2="1587" v3="2857" />
+ <tetrahedron index="8335" v0="1393" v1="1587" v2="2857" v3="3008" />
+ <tetrahedron index="8336" v0="1587" v1="2857" v2="3008" v3="3202" />
+ <tetrahedron index="8337" v0="1393" v1="1584" v2="1587" v3="3008" />
+ <tetrahedron index="8338" v0="1584" v1="1587" v2="3008" v3="3199" />
+ <tetrahedron index="8339" v0="1587" v1="3008" v2="3199" v3="3202" />
+ <tetrahedron index="8340" v0="1118" v1="1377" v2="1412" v3="2733" />
+ <tetrahedron index="8341" v0="1377" v1="1412" v2="2733" v3="2992" />
+ <tetrahedron index="8342" v0="1412" v1="2733" v2="2992" v3="3027" />
+ <tetrahedron index="8343" v0="1118" v1="1119" v2="1412" v3="2733" />
+ <tetrahedron index="8344" v0="1119" v1="1412" v2="2733" v3="2734" />
+ <tetrahedron index="8345" v0="1412" v1="2733" v2="2734" v3="3027" />
+ <tetrahedron index="8346" v0="1359" v1="1604" v2="1613" v3="2974" />
+ <tetrahedron index="8347" v0="1604" v1="1613" v2="2974" v3="3219" />
+ <tetrahedron index="8348" v0="1613" v1="2974" v2="3219" v3="3228" />
+ <tetrahedron index="8349" v0="1359" v1="1526" v2="1604" v3="2974" />
+ <tetrahedron index="8350" v0="1526" v1="1604" v2="2974" v3="3141" />
+ <tetrahedron index="8351" v0="1604" v1="2974" v2="3141" v3="3219" />
+ <tetrahedron index="8352" v0="1112" v1="1555" v2="1588" v3="2727" />
+ <tetrahedron index="8353" v0="1555" v1="1588" v2="2727" v3="3170" />
+ <tetrahedron index="8354" v0="1588" v1="2727" v2="3170" v3="3203" />
+ <tetrahedron index="8355" v0="1449" v1="1555" v2="1588" v3="3064" />
+ <tetrahedron index="8356" v0="1555" v1="1588" v2="3064" v3="3170" />
+ <tetrahedron index="8357" v0="1588" v1="3064" v2="3170" v3="3203" />
+ <tetrahedron index="8358" v0="1359" v1="1442" v2="1613" v3="2974" />
+ <tetrahedron index="8359" v0="1442" v1="1613" v2="2974" v3="3057" />
+ <tetrahedron index="8360" v0="1613" v1="2974" v2="3057" v3="3228" />
+ <tetrahedron index="8361" v0="681" v1="1442" v2="1613" v3="2296" />
+ <tetrahedron index="8362" v0="1442" v1="1613" v2="2296" v3="3057" />
+ <tetrahedron index="8363" v0="1613" v1="2296" v2="3057" v3="3228" />
+ <tetrahedron index="8364" v0="991" v1="1245" v2="1521" v3="2606" />
+ <tetrahedron index="8365" v0="1245" v1="1521" v2="2606" v3="2860" />
+ <tetrahedron index="8366" v0="1521" v1="2606" v2="2860" v3="3136" />
+ <tetrahedron index="8367" v0="1210" v1="1426" v2="1562" v3="2825" />
+ <tetrahedron index="8368" v0="1426" v1="1562" v2="2825" v3="3041" />
+ <tetrahedron index="8369" v0="1562" v1="2825" v2="3041" v3="3177" />
+ <tetrahedron index="8370" v0="1210" v1="1211" v2="1562" v3="2825" />
+ <tetrahedron index="8371" v0="1211" v1="1562" v2="2825" v3="2826" />
+ <tetrahedron index="8372" v0="1562" v1="2825" v2="2826" v3="3177" />
+ <tetrahedron index="8373" v0="714" v1="1376" v2="1412" v3="2329" />
+ <tetrahedron index="8374" v0="1376" v1="1412" v2="2329" v3="2991" />
+ <tetrahedron index="8375" v0="1412" v1="2329" v2="2991" v3="3027" />
+ <tetrahedron index="8376" v0="1376" v1="1377" v2="1412" v3="2991" />
+ <tetrahedron index="8377" v0="1377" v1="1412" v2="2991" v3="2992" />
+ <tetrahedron index="8378" v0="1412" v1="2991" v2="2992" v3="3027" />
+ <tetrahedron index="8379" v0="1036" v1="1263" v2="1590" v3="2651" />
+ <tetrahedron index="8380" v0="1263" v1="1590" v2="2651" v3="2878" />
+ <tetrahedron index="8381" v0="1590" v1="2651" v2="2878" v3="3205" />
+ <tetrahedron index="8382" v0="1263" v1="1367" v2="1590" v3="2878" />
+ <tetrahedron index="8383" v0="1367" v1="1590" v2="2878" v3="2982" />
+ <tetrahedron index="8384" v0="1590" v1="2878" v2="2982" v3="3205" />
+ <tetrahedron index="8385" v0="97" v1="973" v2="1326" v3="1712" />
+ <tetrahedron index="8386" v0="973" v1="1326" v2="1712" v3="2588" />
+ <tetrahedron index="8387" v0="1326" v1="1712" v2="2588" v3="2941" />
+ <tetrahedron index="8388" v0="97" v1="565" v2="1326" v3="1712" />
+ <tetrahedron index="8389" v0="565" v1="1326" v2="1712" v3="2180" />
+ <tetrahedron index="8390" v0="1326" v1="1712" v2="2180" v3="2941" />
+ <tetrahedron index="8391" v0="683" v1="1497" v2="1524" v3="2298" />
+ <tetrahedron index="8392" v0="1497" v1="1524" v2="2298" v3="3112" />
+ <tetrahedron index="8393" v0="1524" v1="2298" v2="3112" v3="3139" />
+ <tetrahedron index="8394" v0="683" v1="713" v2="1524" v3="2298" />
+ <tetrahedron index="8395" v0="713" v1="1524" v2="2298" v3="2328" />
+ <tetrahedron index="8396" v0="1524" v1="2298" v2="2328" v3="3139" />
+ <tetrahedron index="8397" v0="82" v1="83" v2="1508" v3="1697" />
+ <tetrahedron index="8398" v0="83" v1="1508" v2="1697" v3="1698" />
+ <tetrahedron index="8399" v0="1508" v1="1697" v2="1698" v3="3123" />
+ <tetrahedron index="8400" v0="82" v1="700" v2="1508" v3="1697" />
+ <tetrahedron index="8401" v0="700" v1="1508" v2="1697" v3="2315" />
+ <tetrahedron index="8402" v0="1508" v1="1697" v2="2315" v3="3123" />
+ <tetrahedron index="8403" v0="428" v1="429" v2="1477" v3="2043" />
+ <tetrahedron index="8404" v0="429" v1="1477" v2="2043" v3="2044" />
+ <tetrahedron index="8405" v0="1477" v1="2043" v2="2044" v3="3092" />
+ <tetrahedron index="8406" v0="428" v1="1039" v2="1477" v3="2043" />
+ <tetrahedron index="8407" v0="1039" v1="1477" v2="2043" v3="2654" />
+ <tetrahedron index="8408" v0="1477" v1="2043" v2="2654" v3="3092" />
+ <tetrahedron index="8409" v0="110" v1="1308" v2="1479" v3="1725" />
+ <tetrahedron index="8410" v0="1308" v1="1479" v2="1725" v3="2923" />
+ <tetrahedron index="8411" v0="1479" v1="1725" v2="2923" v3="3094" />
+ <tetrahedron index="8412" v0="761" v1="853" v2="1169" v3="2376" />
+ <tetrahedron index="8413" v0="853" v1="1169" v2="2376" v3="2468" />
+ <tetrahedron index="8414" v0="1169" v1="2376" v2="2468" v3="2784" />
+ <tetrahedron index="8415" v0="761" v1="979" v2="1169" v3="2376" />
+ <tetrahedron index="8416" v0="979" v1="1169" v2="2376" v3="2594" />
+ <tetrahedron index="8417" v0="1169" v1="2376" v2="2594" v3="2784" />
+ <tetrahedron index="8418" v0="1274" v1="1332" v2="1581" v3="2889" />
+ <tetrahedron index="8419" v0="1332" v1="1581" v2="2889" v3="2947" />
+ <tetrahedron index="8420" v0="1581" v1="2889" v2="2947" v3="3196" />
+ <tetrahedron index="8421" v0="1332" v1="1334" v2="1581" v3="2947" />
+ <tetrahedron index="8422" v0="1334" v1="1581" v2="2947" v3="2949" />
+ <tetrahedron index="8423" v0="1581" v1="2947" v2="2949" v3="3196" />
+ <tetrahedron index="8424" v0="185" v1="1460" v2="1611" v3="1800" />
+ <tetrahedron index="8425" v0="1460" v1="1611" v2="1800" v3="3075" />
+ <tetrahedron index="8426" v0="1611" v1="1800" v2="3075" v3="3226" />
+ <tetrahedron index="8427" v0="185" v1="1230" v2="1611" v3="1800" />
+ <tetrahedron index="8428" v0="1230" v1="1611" v2="1800" v3="2845" />
+ <tetrahedron index="8429" v0="1611" v1="1800" v2="2845" v3="3226" />
+ <tetrahedron index="8430" v0="1350" v1="1480" v2="1591" v3="2965" />
+ <tetrahedron index="8431" v0="1480" v1="1591" v2="2965" v3="3095" />
+ <tetrahedron index="8432" v0="1591" v1="2965" v2="3095" v3="3206" />
+ <tetrahedron index="8433" v0="1480" v1="1484" v2="1591" v3="3095" />
+ <tetrahedron index="8434" v0="1484" v1="1591" v2="3095" v3="3099" />
+ <tetrahedron index="8435" v0="1591" v1="3095" v2="3099" v3="3206" />
+ <tetrahedron index="8436" v0="1293" v1="1349" v2="1367" v3="2908" />
+ <tetrahedron index="8437" v0="1349" v1="1367" v2="2908" v3="2964" />
+ <tetrahedron index="8438" v0="1367" v1="2908" v2="2964" v3="2982" />
+ <tetrahedron index="8439" v0="500" v1="1472" v2="1598" v3="2115" />
+ <tetrahedron index="8440" v0="1472" v1="1598" v2="2115" v3="3087" />
+ <tetrahedron index="8441" v0="1598" v1="2115" v2="3087" v3="3213" />
+ <tetrahedron index="8442" v0="1457" v1="1472" v2="1598" v3="3072" />
+ <tetrahedron index="8443" v0="1472" v1="1598" v2="3072" v3="3087" />
+ <tetrahedron index="8444" v0="1598" v1="3072" v2="3087" v3="3213" />
+ <tetrahedron index="8445" v0="1440" v1="1522" v2="1592" v3="3055" />
+ <tetrahedron index="8446" v0="1522" v1="1592" v2="3055" v3="3137" />
+ <tetrahedron index="8447" v0="1592" v1="3055" v2="3137" v3="3207" />
+ <tetrahedron index="8448" v0="1522" v1="1523" v2="1592" v3="3137" />
+ <tetrahedron index="8449" v0="1523" v1="1592" v2="3137" v3="3138" />
+ <tetrahedron index="8450" v0="1592" v1="3137" v2="3138" v3="3207" />
+ <tetrahedron index="8451" v0="1420" v1="1424" v2="1534" v3="3035" />
+ <tetrahedron index="8452" v0="1424" v1="1534" v2="3035" v3="3039" />
+ <tetrahedron index="8453" v0="1534" v1="3035" v2="3039" v3="3149" />
+ <tetrahedron index="8454" v0="788" v1="1420" v2="1534" v3="2403" />
+ <tetrahedron index="8455" v0="1420" v1="1534" v2="2403" v3="3035" />
+ <tetrahedron index="8456" v0="1534" v1="2403" v2="3035" v3="3149" />
+ <tetrahedron index="8457" v0="76" v1="1492" v2="1535" v3="1691" />
+ <tetrahedron index="8458" v0="1492" v1="1535" v2="1691" v3="3107" />
+ <tetrahedron index="8459" v0="1535" v1="1691" v2="3107" v3="3150" />
+ <tetrahedron index="8460" v0="76" v1="1463" v2="1535" v3="1691" />
+ <tetrahedron index="8461" v0="1463" v1="1535" v2="1691" v3="3078" />
+ <tetrahedron index="8462" v0="1535" v1="1691" v2="3078" v3="3150" />
+ <tetrahedron index="8463" v0="1012" v1="1518" v2="1586" v3="2627" />
+ <tetrahedron index="8464" v0="1518" v1="1586" v2="2627" v3="3133" />
+ <tetrahedron index="8465" v0="1586" v1="2627" v2="3133" v3="3201" />
+ <tetrahedron index="8466" v0="1012" v1="1482" v2="1586" v3="2627" />
+ <tetrahedron index="8467" v0="1482" v1="1586" v2="2627" v3="3097" />
+ <tetrahedron index="8468" v0="1586" v1="2627" v2="3097" v3="3201" />
+ <tetrahedron index="8469" v0="1230" v1="1593" v2="1611" v3="2845" />
+ <tetrahedron index="8470" v0="1593" v1="1611" v2="2845" v3="3208" />
+ <tetrahedron index="8471" v0="1611" v1="2845" v2="3208" v3="3226" />
+ <tetrahedron index="8472" v0="1465" v1="1593" v2="1611" v3="3080" />
+ <tetrahedron index="8473" v0="1593" v1="1611" v2="3080" v3="3208" />
+ <tetrahedron index="8474" v0="1611" v1="3080" v2="3208" v3="3226" />
+ <tetrahedron index="8475" v0="1324" v1="1505" v2="1594" v3="2939" />
+ <tetrahedron index="8476" v0="1505" v1="1594" v2="2939" v3="3120" />
+ <tetrahedron index="8477" v0="1594" v1="2939" v2="3120" v3="3209" />
+ <tetrahedron index="8478" v0="32" v1="458" v2="1602" v3="1647" />
+ <tetrahedron index="8479" v0="458" v1="1602" v2="1647" v3="2073" />
+ <tetrahedron index="8480" v0="1602" v1="1647" v2="2073" v3="3217" />
+ <tetrahedron index="8481" v0="307" v1="1497" v2="1583" v3="1922" />
+ <tetrahedron index="8482" v0="1497" v1="1583" v2="1922" v3="3112" />
+ <tetrahedron index="8483" v0="1583" v1="1922" v2="3112" v3="3198" />
+ <tetrahedron index="8484" v0="307" v1="309" v2="1583" v3="1922" />
+ <tetrahedron index="8485" v0="309" v1="1583" v2="1922" v3="1924" />
+ <tetrahedron index="8486" v0="1583" v1="1922" v2="1924" v3="3198" />
+ <tetrahedron index="8487" v0="1162" v1="1164" v2="1391" v3="2777" />
+ <tetrahedron index="8488" v0="1164" v1="1391" v2="2777" v3="2779" />
+ <tetrahedron index="8489" v0="1391" v1="2777" v2="2779" v3="3006" />
+ <tetrahedron index="8490" v0="1093" v1="1164" v2="1391" v3="2708" />
+ <tetrahedron index="8491" v0="1164" v1="1391" v2="2708" v3="2779" />
+ <tetrahedron index="8492" v0="1391" v1="2708" v2="2779" v3="3006" />
+ <tetrahedron index="8493" v0="926" v1="1348" v2="1500" v3="2541" />
+ <tetrahedron index="8494" v0="1348" v1="1500" v2="2541" v3="2963" />
+ <tetrahedron index="8495" v0="1500" v1="2541" v2="2963" v3="3115" />
+ <tetrahedron index="8496" v0="700" v1="1348" v2="1500" v3="2315" />
+ <tetrahedron index="8497" v0="1348" v1="1500" v2="2315" v3="2963" />
+ <tetrahedron index="8498" v0="1500" v1="2315" v2="2963" v3="3115" />
+ <tetrahedron index="8499" v0="155" v1="799" v2="1596" v3="1770" />
+ <tetrahedron index="8500" v0="799" v1="1596" v2="1770" v3="2414" />
+ <tetrahedron index="8501" v0="1596" v1="1770" v2="2414" v3="3211" />
+ <tetrahedron index="8502" v0="619" v1="1346" v2="1595" v3="2234" />
+ <tetrahedron index="8503" v0="1346" v1="1595" v2="2234" v3="2961" />
+ <tetrahedron index="8504" v0="1595" v1="2234" v2="2961" v3="3210" />
+ <tetrahedron index="8505" v0="1350" v1="1351" v2="1481" v3="2965" />
+ <tetrahedron index="8506" v0="1351" v1="1481" v2="2965" v3="2966" />
+ <tetrahedron index="8507" v0="1481" v1="2965" v2="2966" v3="3096" />
+ <tetrahedron index="8508" v0="1351" v1="1481" v2="1584" v3="2966" />
+ <tetrahedron index="8509" v0="1481" v1="1584" v2="2966" v3="3096" />
+ <tetrahedron index="8510" v0="1584" v1="2966" v2="3096" v3="3199" />
+ <tetrahedron index="8511" v0="1036" v1="1256" v2="1591" v3="2651" />
+ <tetrahedron index="8512" v0="1256" v1="1591" v2="2651" v3="2871" />
+ <tetrahedron index="8513" v0="1591" v1="2651" v2="2871" v3="3206" />
+ <tetrahedron index="8514" v0="1036" v1="1590" v2="1591" v3="2651" />
+ <tetrahedron index="8515" v0="1590" v1="1591" v2="2651" v3="3205" />
+ <tetrahedron index="8516" v0="1591" v1="2651" v2="3205" v3="3206" />
+ <tetrahedron index="8517" v0="1266" v1="1289" v2="1612" v3="2881" />
+ <tetrahedron index="8518" v0="1289" v1="1612" v2="2881" v3="2904" />
+ <tetrahedron index="8519" v0="1612" v1="2881" v2="2904" v3="3227" />
+ <tetrahedron index="8520" v0="1289" v1="1594" v2="1612" v3="2904" />
+ <tetrahedron index="8521" v0="1594" v1="1612" v2="2904" v3="3209" />
+ <tetrahedron index="8522" v0="1612" v1="2904" v2="3209" v3="3227" />
+ <tetrahedron index="8523" v0="896" v1="1200" v2="1581" v3="2511" />
+ <tetrahedron index="8524" v0="1200" v1="1581" v2="2511" v3="2815" />
+ <tetrahedron index="8525" v0="1581" v1="2511" v2="2815" v3="3196" />
+ <tetrahedron index="8526" v0="896" v1="1331" v2="1581" v3="2511" />
+ <tetrahedron index="8527" v0="1331" v1="1581" v2="2511" v3="2946" />
+ <tetrahedron index="8528" v0="1581" v1="2511" v2="2946" v3="3196" />
+ <tetrahedron index="8529" v0="1104" v1="1150" v2="1183" v3="2719" />
+ <tetrahedron index="8530" v0="1150" v1="1183" v2="2719" v3="2765" />
+ <tetrahedron index="8531" v0="1183" v1="2719" v2="2765" v3="2798" />
+ <tetrahedron index="8532" v0="1104" v1="1165" v2="1183" v3="2719" />
+ <tetrahedron index="8533" v0="1165" v1="1183" v2="2719" v3="2780" />
+ <tetrahedron index="8534" v0="1183" v1="2719" v2="2780" v3="2798" />
+ <tetrahedron index="8535" v0="288" v1="1481" v2="1584" v3="1903" />
+ <tetrahedron index="8536" v0="1481" v1="1584" v2="1903" v3="3096" />
+ <tetrahedron index="8537" v0="1584" v1="1903" v2="3096" v3="3199" />
+ <tetrahedron index="8538" v0="288" v1="289" v2="1481" v3="1903" />
+ <tetrahedron index="8539" v0="289" v1="1481" v2="1903" v3="1904" />
+ <tetrahedron index="8540" v0="1481" v1="1903" v2="1904" v3="3096" />
+ <tetrahedron index="8541" v0="1429" v1="1475" v2="1511" v3="3044" />
+ <tetrahedron index="8542" v0="1475" v1="1511" v2="3044" v3="3090" />
+ <tetrahedron index="8543" v0="1511" v1="3044" v2="3090" v3="3126" />
+ <tetrahedron index="8544" v0="1429" v1="1487" v2="1511" v3="3044" />
+ <tetrahedron index="8545" v0="1487" v1="1511" v2="3044" v3="3102" />
+ <tetrahedron index="8546" v0="1511" v1="3044" v2="3102" v3="3126" />
+ <tetrahedron index="8547" v0="371" v1="372" v2="913" v3="1986" />
+ <tetrahedron index="8548" v0="372" v1="913" v2="1986" v3="1987" />
+ <tetrahedron index="8549" v0="913" v1="1986" v2="1987" v3="2528" />
+ <tetrahedron index="8550" v0="372" v1="559" v2="913" v3="1987" />
+ <tetrahedron index="8551" v0="559" v1="913" v2="1987" v3="2174" />
+ <tetrahedron index="8552" v0="913" v1="1987" v2="2174" v3="2528" />
+ <tetrahedron index="8553" v0="179" v1="1165" v2="1183" v3="1794" />
+ <tetrahedron index="8554" v0="1165" v1="1183" v2="1794" v3="2780" />
+ <tetrahedron index="8555" v0="1183" v1="1794" v2="2780" v3="2798" />
+ <tetrahedron index="8556" v0="179" v1="180" v2="1183" v3="1794" />
+ <tetrahedron index="8557" v0="180" v1="1183" v2="1794" v3="1795" />
+ <tetrahedron index="8558" v0="1183" v1="1794" v2="1795" v3="2798" />
+ <tetrahedron index="8559" v0="897" v1="898" v2="1373" v3="2512" />
+ <tetrahedron index="8560" v0="898" v1="1373" v2="2512" v3="2513" />
+ <tetrahedron index="8561" v0="1373" v1="2512" v2="2513" v3="2988" />
+ <tetrahedron index="8562" v0="898" v1="1373" v2="1405" v3="2513" />
+ <tetrahedron index="8563" v0="1373" v1="1405" v2="2513" v3="2988" />
+ <tetrahedron index="8564" v0="1405" v1="2513" v2="2988" v3="3020" />
+ <tetrahedron index="8565" v0="409" v1="500" v2="1598" v3="2024" />
+ <tetrahedron index="8566" v0="500" v1="1598" v2="2024" v3="2115" />
+ <tetrahedron index="8567" v0="1598" v1="2024" v2="2115" v3="3213" />
+ <tetrahedron index="8568" v0="409" v1="410" v2="1598" v3="2024" />
+ <tetrahedron index="8569" v0="410" v1="1598" v2="2024" v3="2025" />
+ <tetrahedron index="8570" v0="1598" v1="2024" v2="2025" v3="3213" />
+ <tetrahedron index="8571" v0="650" v1="1337" v2="1418" v3="2265" />
+ <tetrahedron index="8572" v0="1337" v1="1418" v2="2265" v3="2952" />
+ <tetrahedron index="8573" v0="1418" v1="2265" v2="2952" v3="3033" />
+ <tetrahedron index="8574" v0="650" v1="651" v2="1418" v3="2265" />
+ <tetrahedron index="8575" v0="651" v1="1418" v2="2265" v3="2266" />
+ <tetrahedron index="8576" v0="1418" v1="2265" v2="2266" v3="3033" />
+ <tetrahedron index="8577" v0="1338" v1="1496" v2="1550" v3="2953" />
+ <tetrahedron index="8578" v0="1496" v1="1550" v2="2953" v3="3111" />
+ <tetrahedron index="8579" v0="1550" v1="2953" v2="3111" v3="3165" />
+ <tetrahedron index="8580" v0="1338" v1="1550" v2="1609" v3="2953" />
+ <tetrahedron index="8581" v0="1550" v1="1609" v2="2953" v3="3165" />
+ <tetrahedron index="8582" v0="1609" v1="2953" v2="3165" v3="3224" />
+ <tetrahedron index="8583" v0="1046" v1="1401" v2="1464" v3="2661" />
+ <tetrahedron index="8584" v0="1401" v1="1464" v2="2661" v3="3016" />
+ <tetrahedron index="8585" v0="1464" v1="2661" v2="3016" v3="3079" />
+ <tetrahedron index="8586" v0="1046" v1="1365" v2="1401" v3="2661" />
+ <tetrahedron index="8587" v0="1365" v1="1401" v2="2661" v3="2980" />
+ <tetrahedron index="8588" v0="1401" v1="2661" v2="2980" v3="3016" />
+ <tetrahedron index="8589" v0="1517" v1="1559" v2="1599" v3="3132" />
+ <tetrahedron index="8590" v0="1559" v1="1599" v2="3132" v3="3174" />
+ <tetrahedron index="8591" v0="1599" v1="3132" v2="3174" v3="3214" />
+ <tetrahedron index="8592" v0="1310" v1="1559" v2="1599" v3="2925" />
+ <tetrahedron index="8593" v0="1559" v1="1599" v2="2925" v3="3174" />
+ <tetrahedron index="8594" v0="1599" v1="2925" v2="3174" v3="3214" />
+ <tetrahedron index="8595" v0="1229" v1="1538" v2="1570" v3="2844" />
+ <tetrahedron index="8596" v0="1538" v1="1570" v2="2844" v3="3153" />
+ <tetrahedron index="8597" v0="1570" v1="2844" v2="3153" v3="3185" />
+ <tetrahedron index="8598" v0="912" v1="1538" v2="1570" v3="2527" />
+ <tetrahedron index="8599" v0="1538" v1="1570" v2="2527" v3="3153" />
+ <tetrahedron index="8600" v0="1570" v1="2527" v2="3153" v3="3185" />
+ <tetrahedron index="8601" v0="964" v1="1518" v2="1600" v3="2579" />
+ <tetrahedron index="8602" v0="1518" v1="1600" v2="2579" v3="3133" />
+ <tetrahedron index="8603" v0="1600" v1="2579" v2="3133" v3="3215" />
+ <tetrahedron index="8604" v0="962" v1="964" v2="1600" v3="2577" />
+ <tetrahedron index="8605" v0="964" v1="1600" v2="2577" v3="2579" />
+ <tetrahedron index="8606" v0="1600" v1="2577" v2="2579" v3="3215" />
+ <tetrahedron index="8607" v0="958" v1="1206" v2="1600" v3="2573" />
+ <tetrahedron index="8608" v0="1206" v1="1600" v2="2573" v3="2821" />
+ <tetrahedron index="8609" v0="1600" v1="2573" v2="2821" v3="3215" />
+ <tetrahedron index="8610" v0="1237" v1="1238" v2="1331" v3="2852" />
+ <tetrahedron index="8611" v0="1238" v1="1331" v2="2852" v3="2853" />
+ <tetrahedron index="8612" v0="1331" v1="2852" v2="2853" v3="2946" />
+ <tetrahedron index="8613" v0="1238" v1="1331" v2="1334" v3="2853" />
+ <tetrahedron index="8614" v0="1331" v1="1334" v2="2853" v3="2946" />
+ <tetrahedron index="8615" v0="1334" v1="2853" v2="2946" v3="2949" />
+ <tetrahedron index="8616" v0="234" v1="729" v2="1582" v3="1849" />
+ <tetrahedron index="8617" v0="729" v1="1582" v2="1849" v3="2344" />
+ <tetrahedron index="8618" v0="1582" v1="1849" v2="2344" v3="3197" />
+ <tetrahedron index="8619" v0="729" v1="1402" v2="1582" v3="2344" />
+ <tetrahedron index="8620" v0="1402" v1="1582" v2="2344" v3="3017" />
+ <tetrahedron index="8621" v0="1582" v1="2344" v2="3017" v3="3197" />
+ <tetrahedron index="8622" v0="229" v1="1096" v2="1519" v3="1844" />
+ <tetrahedron index="8623" v0="1096" v1="1519" v2="1844" v3="2711" />
+ <tetrahedron index="8624" v0="1519" v1="1844" v2="2711" v3="3134" />
+ <tetrahedron index="8625" v0="1096" v1="1519" v2="1523" v3="2711" />
+ <tetrahedron index="8626" v0="1519" v1="1523" v2="2711" v3="3134" />
+ <tetrahedron index="8627" v0="1523" v1="2711" v2="3134" v3="3138" />
+ <tetrahedron index="8628" v0="1443" v1="1573" v2="1601" v3="3058" />
+ <tetrahedron index="8629" v0="1573" v1="1601" v2="3058" v3="3188" />
+ <tetrahedron index="8630" v0="1601" v1="3058" v2="3188" v3="3216" />
+ <tetrahedron index="8631" v0="1233" v1="1443" v2="1601" v3="2848" />
+ <tetrahedron index="8632" v0="1443" v1="1601" v2="2848" v3="3058" />
+ <tetrahedron index="8633" v0="1601" v1="2848" v2="3058" v3="3216" />
+ <tetrahedron index="8634" v0="1465" v1="1544" v2="1593" v3="3080" />
+ <tetrahedron index="8635" v0="1544" v1="1593" v2="3080" v3="3159" />
+ <tetrahedron index="8636" v0="1593" v1="3080" v2="3159" v3="3208" />
+ <tetrahedron index="8637" v0="797" v1="1544" v2="1593" v3="2412" />
+ <tetrahedron index="8638" v0="1544" v1="1593" v2="2412" v3="3159" />
+ <tetrahedron index="8639" v0="1593" v1="2412" v2="3159" v3="3208" />
+ <tetrahedron index="8640" v0="1520" v1="1526" v2="1604" v3="3135" />
+ <tetrahedron index="8641" v0="1526" v1="1604" v2="3135" v3="3141" />
+ <tetrahedron index="8642" v0="1604" v1="3135" v2="3141" v3="3219" />
+ <tetrahedron index="8643" v0="618" v1="1520" v2="1604" v3="2233" />
+ <tetrahedron index="8644" v0="1520" v1="1604" v2="2233" v3="3135" />
+ <tetrahedron index="8645" v0="1604" v1="2233" v2="3135" v3="3219" />
+ <tetrahedron index="8646" v0="561" v1="1389" v2="1555" v3="2176" />
+ <tetrahedron index="8647" v0="1389" v1="1555" v2="2176" v3="3004" />
+ <tetrahedron index="8648" v0="1555" v1="2176" v2="3004" v3="3170" />
+ <tetrahedron index="8649" v0="481" v1="561" v2="1555" v3="2096" />
+ <tetrahedron index="8650" v0="561" v1="1555" v2="2096" v3="2176" />
+ <tetrahedron index="8651" v0="1555" v1="2096" v2="2176" v3="3170" />
+ <tetrahedron index="8652" v0="372" v1="560" v2="1512" v3="1987" />
+ <tetrahedron index="8653" v0="560" v1="1512" v2="1987" v3="2175" />
+ <tetrahedron index="8654" v0="1512" v1="1987" v2="2175" v3="3127" />
+ <tetrahedron index="8655" v0="372" v1="1212" v2="1512" v3="1987" />
+ <tetrahedron index="8656" v0="1212" v1="1512" v2="1987" v3="2827" />
+ <tetrahedron index="8657" v0="1512" v1="1987" v2="2827" v3="3127" />
+ <tetrahedron index="8658" v0="579" v1="1409" v2="1421" v3="2194" />
+ <tetrahedron index="8659" v0="1409" v1="1421" v2="2194" v3="3024" />
+ <tetrahedron index="8660" v0="1421" v1="2194" v2="3024" v3="3036" />
+ <tetrahedron index="8661" v0="279" v1="579" v2="1409" v3="1894" />
+ <tetrahedron index="8662" v0="579" v1="1409" v2="1894" v3="2194" />
+ <tetrahedron index="8663" v0="1409" v1="1894" v2="2194" v3="3024" />
+ <tetrahedron index="8664" v0="278" v1="358" v2="1501" v3="1893" />
+ <tetrahedron index="8665" v0="358" v1="1501" v2="1893" v3="1973" />
+ <tetrahedron index="8666" v0="1501" v1="1893" v2="1973" v3="3116" />
+ <tetrahedron index="8667" v0="144" v1="278" v2="1501" v3="1759" />
+ <tetrahedron index="8668" v0="278" v1="1501" v2="1759" v3="1893" />
+ <tetrahedron index="8669" v0="1501" v1="1759" v2="1893" v3="3116" />
+ <tetrahedron index="8670" v0="464" v1="465" v2="1528" v3="2079" />
+ <tetrahedron index="8671" v0="465" v1="1528" v2="2079" v3="2080" />
+ <tetrahedron index="8672" v0="1528" v1="2079" v2="2080" v3="3143" />
+ <tetrahedron index="8673" v0="783" v1="983" v2="1532" v3="2398" />
+ <tetrahedron index="8674" v0="983" v1="1532" v2="2398" v3="2598" />
+ <tetrahedron index="8675" v0="1532" v1="2398" v2="2598" v3="3147" />
+ <tetrahedron index="8676" v0="783" v1="933" v2="1532" v3="2398" />
+ <tetrahedron index="8677" v0="933" v1="1532" v2="2398" v3="2548" />
+ <tetrahedron index="8678" v0="1532" v1="2398" v2="2548" v3="3147" />
+ <tetrahedron index="8679" v0="717" v1="1189" v2="1606" v3="2332" />
+ <tetrahedron index="8680" v0="1189" v1="1606" v2="2332" v3="2804" />
+ <tetrahedron index="8681" v0="1606" v1="2332" v2="2804" v3="3221" />
+ <tetrahedron index="8682" v0="716" v1="717" v2="1606" v3="2331" />
+ <tetrahedron index="8683" v0="717" v1="1606" v2="2331" v3="2332" />
+ <tetrahedron index="8684" v0="1606" v1="2331" v2="2332" v3="3221" />
+ <tetrahedron index="8685" v0="105" v1="1374" v2="1603" v3="1720" />
+ <tetrahedron index="8686" v0="1374" v1="1603" v2="1720" v3="2989" />
+ <tetrahedron index="8687" v0="1603" v1="1720" v2="2989" v3="3218" />
+ <tetrahedron index="8688" v0="105" v1="369" v2="1603" v3="1720" />
+ <tetrahedron index="8689" v0="369" v1="1603" v2="1720" v3="1984" />
+ <tetrahedron index="8690" v0="1603" v1="1720" v2="1984" v3="3218" />
+ <tetrahedron index="8691" v0="470" v1="1106" v2="1451" v3="2085" />
+ <tetrahedron index="8692" v0="1106" v1="1451" v2="2085" v3="2721" />
+ <tetrahedron index="8693" v0="1451" v1="2085" v2="2721" v3="3066" />
+ <tetrahedron index="8694" v0="323" v1="470" v2="1451" v3="1938" />
+ <tetrahedron index="8695" v0="470" v1="1451" v2="1938" v3="2085" />
+ <tetrahedron index="8696" v0="1451" v1="1938" v2="2085" v3="3066" />
+ <tetrahedron index="8697" v0="399" v1="811" v2="1605" v3="2014" />
+ <tetrahedron index="8698" v0="811" v1="1605" v2="2014" v3="2426" />
+ <tetrahedron index="8699" v0="1605" v1="2014" v2="2426" v3="3220" />
+ <tetrahedron index="8700" v0="399" v1="400" v2="1605" v3="2014" />
+ <tetrahedron index="8701" v0="400" v1="1605" v2="2014" v3="2015" />
+ <tetrahedron index="8702" v0="1605" v1="2014" v2="2015" v3="3220" />
+ <tetrahedron index="8703" v0="261" v1="444" v2="1498" v3="1876" />
+ <tetrahedron index="8704" v0="444" v1="1498" v2="1876" v3="2059" />
+ <tetrahedron index="8705" v0="1498" v1="1876" v2="2059" v3="3113" />
+ <tetrahedron index="8706" v0="1382" v1="1390" v2="1533" v3="2997" />
+ <tetrahedron index="8707" v0="1390" v1="1533" v2="2997" v3="3005" />
+ <tetrahedron index="8708" v0="1533" v1="2997" v2="3005" v3="3148" />
+ <tetrahedron index="8709" v0="836" v1="1390" v2="1533" v3="2451" />
+ <tetrahedron index="8710" v0="1390" v1="1533" v2="2451" v3="3005" />
+ <tetrahedron index="8711" v0="1533" v1="2451" v2="3005" v3="3148" />
+ <tetrahedron index="8712" v0="81" v1="413" v2="838" v3="1696" />
+ <tetrahedron index="8713" v0="413" v1="838" v2="1696" v3="2028" />
+ <tetrahedron index="8714" v0="838" v1="1696" v2="2028" v3="2453" />
+ <tetrahedron index="8715" v0="178" v1="413" v2="838" v3="1793" />
+ <tetrahedron index="8716" v0="413" v1="838" v2="1793" v3="2028" />
+ <tetrahedron index="8717" v0="838" v1="1793" v2="2028" v3="2453" />
+ <tetrahedron index="8718" v0="597" v1="722" v2="957" v3="2212" />
+ <tetrahedron index="8719" v0="722" v1="957" v2="2212" v3="2337" />
+ <tetrahedron index="8720" v0="957" v1="2212" v2="2337" v3="2572" />
+ <tetrahedron index="8721" v0="722" v1="939" v2="957" v3="2337" />
+ <tetrahedron index="8722" v0="939" v1="957" v2="2337" v3="2554" />
+ <tetrahedron index="8723" v0="957" v1="2337" v2="2554" v3="2572" />
+ <tetrahedron index="8724" v0="808" v1="933" v2="1538" v3="2423" />
+ <tetrahedron index="8725" v0="933" v1="1538" v2="2423" v3="2548" />
+ <tetrahedron index="8726" v0="1538" v1="2423" v2="2548" v3="3153" />
+ <tetrahedron index="8727" v0="808" v1="1370" v2="1538" v3="2423" />
+ <tetrahedron index="8728" v0="1370" v1="1538" v2="2423" v3="2985" />
+ <tetrahedron index="8729" v0="1538" v1="2423" v2="2985" v3="3153" />
+ <tetrahedron index="8730" v0="1109" v1="1380" v2="1606" v3="2724" />
+ <tetrahedron index="8731" v0="1380" v1="1606" v2="2724" v3="2995" />
+ <tetrahedron index="8732" v0="1606" v1="2724" v2="2995" v3="3221" />
+ <tetrahedron index="8733" v0="1109" v1="1189" v2="1606" v3="2724" />
+ <tetrahedron index="8734" v0="1189" v1="1606" v2="2724" v3="2804" />
+ <tetrahedron index="8735" v0="1606" v1="2724" v2="2804" v3="3221" />
+ <tetrahedron index="8736" v0="811" v1="1558" v2="1605" v3="2426" />
+ <tetrahedron index="8737" v0="1558" v1="1605" v2="2426" v3="3173" />
+ <tetrahedron index="8738" v0="1605" v1="2426" v2="3173" v3="3220" />
+ <tetrahedron index="8739" v0="1070" v1="1558" v2="1605" v3="2685" />
+ <tetrahedron index="8740" v0="1558" v1="1605" v2="2685" v3="3173" />
+ <tetrahedron index="8741" v0="1605" v1="2685" v2="3173" v3="3220" />
+ <tetrahedron index="8742" v0="1141" v1="1490" v2="1537" v3="2756" />
+ <tetrahedron index="8743" v0="1490" v1="1537" v2="2756" v3="3105" />
+ <tetrahedron index="8744" v0="1537" v1="2756" v2="3105" v3="3152" />
+ <tetrahedron index="8745" v0="1364" v1="1490" v2="1537" v3="2979" />
+ <tetrahedron index="8746" v0="1490" v1="1537" v2="2979" v3="3105" />
+ <tetrahedron index="8747" v0="1537" v1="2979" v2="3105" v3="3152" />
+ <tetrahedron index="8748" v0="947" v1="1056" v2="1509" v3="2562" />
+ <tetrahedron index="8749" v0="1056" v1="1509" v2="2562" v3="2671" />
+ <tetrahedron index="8750" v0="1509" v1="2562" v2="2671" v3="3124" />
+ <tetrahedron index="8751" v0="947" v1="1055" v2="1056" v3="2562" />
+ <tetrahedron index="8752" v0="1055" v1="1056" v2="2562" v3="2670" />
+ <tetrahedron index="8753" v0="1056" v1="2562" v2="2670" v3="2671" />
+ <tetrahedron index="8754" v0="421" v1="1197" v2="1379" v3="2036" />
+ <tetrahedron index="8755" v0="1197" v1="1379" v2="2036" v3="2812" />
+ <tetrahedron index="8756" v0="1379" v1="2036" v2="2812" v3="2994" />
+ <tetrahedron index="8757" v0="1197" v1="1379" v2="1493" v3="2812" />
+ <tetrahedron index="8758" v0="1379" v1="1493" v2="2812" v3="2994" />
+ <tetrahedron index="8759" v0="1493" v1="2812" v2="2994" v3="3108" />
+ <tetrahedron index="8760" v0="1127" v1="1128" v2="1539" v3="2742" />
+ <tetrahedron index="8761" v0="1128" v1="1539" v2="2742" v3="2743" />
+ <tetrahedron index="8762" v0="1539" v1="2742" v2="2743" v3="3154" />
+ <tetrahedron index="8763" v0="1127" v1="1252" v2="1539" v3="2742" />
+ <tetrahedron index="8764" v0="1252" v1="1539" v2="2742" v3="2867" />
+ <tetrahedron index="8765" v0="1539" v1="2742" v2="2867" v3="3154" />
+ <tetrahedron index="8766" v0="1030" v1="1054" v2="1540" v3="2645" />
+ <tetrahedron index="8767" v0="1054" v1="1540" v2="2645" v3="2669" />
+ <tetrahedron index="8768" v0="1540" v1="2645" v2="2669" v3="3155" />
+ <tetrahedron index="8769" v0="690" v1="1030" v2="1540" v3="2305" />
+ <tetrahedron index="8770" v0="1030" v1="1540" v2="2305" v3="2645" />
+ <tetrahedron index="8771" v0="1540" v1="2305" v2="2645" v3="3155" />
+ <tetrahedron index="8772" v0="230" v1="860" v2="1541" v3="1845" />
+ <tetrahedron index="8773" v0="860" v1="1541" v2="1845" v3="2475" />
+ <tetrahedron index="8774" v0="1541" v1="1845" v2="2475" v3="3156" />
+ <tetrahedron index="8775" v0="860" v1="1028" v2="1541" v3="2475" />
+ <tetrahedron index="8776" v0="1028" v1="1541" v2="2475" v3="2643" />
+ <tetrahedron index="8777" v0="1541" v1="2475" v2="2643" v3="3156" />
+ <tetrahedron index="8778" v0="567" v1="1254" v2="1542" v3="2182" />
+ <tetrahedron index="8779" v0="1254" v1="1542" v2="2182" v3="2869" />
+ <tetrahedron index="8780" v0="1542" v1="2182" v2="2869" v3="3157" />
+ <tetrahedron index="8781" v0="115" v1="567" v2="1542" v3="1730" />
+ <tetrahedron index="8782" v0="567" v1="1542" v2="1730" v3="2182" />
+ <tetrahedron index="8783" v0="1542" v1="1730" v2="2182" v3="3157" />
+ <tetrahedron index="8784" v0="91" v1="1439" v2="1556" v3="1706" />
+ <tetrahedron index="8785" v0="1439" v1="1556" v2="1706" v3="3054" />
+ <tetrahedron index="8786" v0="1556" v1="1706" v2="3054" v3="3171" />
+ <tetrahedron index="8787" v0="76" v1="1463" v2="1557" v3="1691" />
+ <tetrahedron index="8788" v0="1463" v1="1557" v2="1691" v3="3078" />
+ <tetrahedron index="8789" v0="1557" v1="1691" v2="3078" v3="3172" />
+ <tetrahedron index="8790" v0="76" v1="77" v2="1557" v3="1691" />
+ <tetrahedron index="8791" v0="77" v1="1557" v2="1691" v3="1692" />
+ <tetrahedron index="8792" v0="1557" v1="1691" v2="1692" v3="3172" />
+ <tetrahedron index="8793" v0="317" v1="389" v2="1597" v3="1932" />
+ <tetrahedron index="8794" v0="389" v1="1597" v2="1932" v3="2004" />
+ <tetrahedron index="8795" v0="1597" v1="1932" v2="2004" v3="3212" />
+ <tetrahedron index="8796" v0="1120" v1="1223" v2="1577" v3="2735" />
+ <tetrahedron index="8797" v0="1223" v1="1577" v2="2735" v3="2838" />
+ <tetrahedron index="8798" v0="1577" v1="2735" v2="2838" v3="3192" />
+ <tetrahedron index="8799" v0="1222" v1="1223" v2="1577" v3="2837" />
+ <tetrahedron index="8800" v0="1223" v1="1577" v2="2837" v3="2838" />
+ <tetrahedron index="8801" v0="1577" v1="2837" v2="2838" v3="3192" />
+ <tetrahedron index="8802" v0="1607" v1="1609" v2="1614" v3="3222" />
+ <tetrahedron index="8803" v0="1609" v1="1614" v2="3222" v3="3224" />
+ <tetrahedron index="8804" v0="1614" v1="3222" v2="3224" v3="3229" />
+ <tetrahedron index="8805" v0="548" v1="809" v2="1546" v3="2163" />
+ <tetrahedron index="8806" v0="809" v1="1546" v2="2163" v3="2424" />
+ <tetrahedron index="8807" v0="1546" v1="2163" v2="2424" v3="3161" />
+ <tetrahedron index="8808" v0="809" v1="810" v2="1546" v3="2424" />
+ <tetrahedron index="8809" v0="810" v1="1546" v2="2424" v3="2425" />
+ <tetrahedron index="8810" v0="1546" v1="2424" v2="2425" v3="3161" />
+ <tetrahedron index="8811" v0="700" v1="701" v2="1348" v3="2315" />
+ <tetrahedron index="8812" v0="701" v1="1348" v2="2315" v3="2316" />
+ <tetrahedron index="8813" v0="1348" v1="2315" v2="2316" v3="2963" />
+ <tetrahedron index="8814" v0="523" v1="701" v2="1348" v3="2138" />
+ <tetrahedron index="8815" v0="701" v1="1348" v2="2138" v3="2316" />
+ <tetrahedron index="8816" v0="1348" v1="2138" v2="2316" v3="2963" />
+ <tetrahedron index="8817" v0="748" v1="1310" v2="1545" v3="2363" />
+ <tetrahedron index="8818" v0="1310" v1="1545" v2="2363" v3="2925" />
+ <tetrahedron index="8819" v0="1545" v1="2363" v2="2925" v3="3160" />
+ <tetrahedron index="8820" v0="1310" v1="1545" v2="1599" v3="2925" />
+ <tetrahedron index="8821" v0="1545" v1="1599" v2="2925" v3="3160" />
+ <tetrahedron index="8822" v0="1599" v1="2925" v2="3160" v3="3214" />
+ <tetrahedron index="8823" v0="810" v1="1519" v2="1546" v3="2425" />
+ <tetrahedron index="8824" v0="1519" v1="1546" v2="2425" v3="3134" />
+ <tetrahedron index="8825" v0="1546" v1="2425" v2="3134" v3="3161" />
+ <tetrahedron index="8826" v0="1519" v1="1546" v2="1592" v3="3134" />
+ <tetrahedron index="8827" v0="1546" v1="1592" v2="3134" v3="3161" />
+ <tetrahedron index="8828" v0="1592" v1="3134" v2="3161" v3="3207" />
+ <tetrahedron index="8829" v0="1224" v1="1486" v2="1559" v3="2839" />
+ <tetrahedron index="8830" v0="1486" v1="1559" v2="2839" v3="3101" />
+ <tetrahedron index="8831" v0="1559" v1="2839" v2="3101" v3="3174" />
+ <tetrahedron index="8832" v0="1215" v1="1224" v2="1559" v3="2830" />
+ <tetrahedron index="8833" v0="1224" v1="1559" v2="2830" v3="2839" />
+ <tetrahedron index="8834" v0="1559" v1="2830" v2="2839" v3="3174" />
+ <tetrahedron index="8835" v0="842" v1="1052" v2="1450" v3="2457" />
+ <tetrahedron index="8836" v0="1052" v1="1450" v2="2457" v3="2667" />
+ <tetrahedron index="8837" v0="1450" v1="2457" v2="2667" v3="3065" />
+ <tetrahedron index="8838" v0="976" v1="1052" v2="1450" v3="2591" />
+ <tetrahedron index="8839" v0="1052" v1="1450" v2="2591" v3="2667" />
+ <tetrahedron index="8840" v0="1450" v1="2591" v2="2667" v3="3065" />
+ <tetrahedron index="8841" v0="1037" v1="1097" v2="1400" v3="2652" />
+ <tetrahedron index="8842" v0="1097" v1="1400" v2="2652" v3="2712" />
+ <tetrahedron index="8843" v0="1400" v1="2652" v2="2712" v3="3015" />
+ <tetrahedron index="8844" v0="1037" v1="1038" v2="1400" v3="2652" />
+ <tetrahedron index="8845" v0="1038" v1="1400" v2="2652" v3="2653" />
+ <tetrahedron index="8846" v0="1400" v1="2652" v2="2653" v3="3015" />
+ <tetrahedron index="8847" v0="1139" v1="1394" v2="1563" v3="2754" />
+ <tetrahedron index="8848" v0="1394" v1="1563" v2="2754" v3="3009" />
+ <tetrahedron index="8849" v0="1563" v1="2754" v2="3009" v3="3178" />
+ <tetrahedron index="8850" v0="198" v1="1139" v2="1563" v3="1813" />
+ <tetrahedron index="8851" v0="1139" v1="1563" v2="1813" v3="2754" />
+ <tetrahedron index="8852" v0="1563" v1="1813" v2="2754" v3="3178" />
+ <tetrahedron index="8853" v0="1125" v1="1178" v2="1548" v3="2740" />
+ <tetrahedron index="8854" v0="1178" v1="1548" v2="2740" v3="2793" />
+ <tetrahedron index="8855" v0="1548" v1="2740" v2="2793" v3="3163" />
+ <tetrahedron index="8856" v0="1018" v1="1125" v2="1548" v3="2633" />
+ <tetrahedron index="8857" v0="1125" v1="1548" v2="2633" v3="2740" />
+ <tetrahedron index="8858" v0="1548" v1="2633" v2="2740" v3="3163" />
+ <tetrahedron index="8859" v0="1111" v1="1241" v2="1549" v3="2726" />
+ <tetrahedron index="8860" v0="1241" v1="1549" v2="2726" v3="2856" />
+ <tetrahedron index="8861" v0="1549" v1="2726" v2="2856" v3="3164" />
+ <tetrahedron index="8862" v0="1241" v1="1242" v2="1549" v3="2856" />
+ <tetrahedron index="8863" v0="1242" v1="1549" v2="2856" v3="2857" />
+ <tetrahedron index="8864" v0="1549" v1="2856" v2="2857" v3="3164" />
+ <tetrahedron index="8865" v0="387" v1="571" v2="1369" v3="2002" />
+ <tetrahedron index="8866" v0="571" v1="1369" v2="2002" v3="2186" />
+ <tetrahedron index="8867" v0="1369" v1="2002" v2="2186" v3="2984" />
+ <tetrahedron index="8868" v0="812" v1="1608" v2="1609" v3="2427" />
+ <tetrahedron index="8869" v0="1608" v1="1609" v2="2427" v3="3223" />
+ <tetrahedron index="8870" v0="1609" v1="2427" v2="3223" v3="3224" />
+ <tetrahedron index="8871" v0="1607" v1="1608" v2="1609" v3="3222" />
+ <tetrahedron index="8872" v0="1608" v1="1609" v2="3222" v3="3223" />
+ <tetrahedron index="8873" v0="1609" v1="3222" v2="3223" v3="3224" />
+ <tetrahedron index="8874" v0="678" v1="1528" v2="1610" v3="2293" />
+ <tetrahedron index="8875" v0="1528" v1="1610" v2="2293" v3="3143" />
+ <tetrahedron index="8876" v0="1610" v1="2293" v2="3143" v3="3225" />
+ <tetrahedron index="8877" v0="695" v1="1528" v2="1610" v3="2310" />
+ <tetrahedron index="8878" v0="1528" v1="1610" v2="2310" v3="3143" />
+ <tetrahedron index="8879" v0="1610" v1="2310" v2="3143" v3="3225" />
+ <tetrahedron index="8880" v0="1276" v1="1474" v2="1496" v3="2891" />
+ <tetrahedron index="8881" v0="1474" v1="1496" v2="2891" v3="3089" />
+ <tetrahedron index="8882" v0="1496" v1="2891" v2="3089" v3="3111" />
+ <tetrahedron index="8883" v0="1043" v1="1276" v2="1474" v3="2658" />
+ <tetrahedron index="8884" v0="1276" v1="1474" v2="2658" v3="2891" />
+ <tetrahedron index="8885" v0="1474" v1="2658" v2="2891" v3="3089" />
+ <tetrahedron index="8886" v0="1357" v1="1484" v2="1608" v3="2972" />
+ <tetrahedron index="8887" v0="1484" v1="1608" v2="2972" v3="3099" />
+ <tetrahedron index="8888" v0="1608" v1="2972" v2="3099" v3="3223" />
+ <tetrahedron index="8889" v0="803" v1="1357" v2="1608" v3="2418" />
+ <tetrahedron index="8890" v0="1357" v1="1608" v2="2418" v3="2972" />
+ <tetrahedron index="8891" v0="1608" v1="2418" v2="2972" v3="3223" />
+ <tetrahedron index="8892" v0="407" v1="408" v2="1552" v3="2022" />
+ <tetrahedron index="8893" v0="408" v1="1552" v2="2022" v3="2023" />
+ <tetrahedron index="8894" v0="1552" v1="2022" v2="2023" v3="3167" />
+ <tetrahedron index="8895" v0="882" v1="1339" v2="1434" v3="2497" />
+ <tetrahedron index="8896" v0="1339" v1="1434" v2="2497" v3="2954" />
+ <tetrahedron index="8897" v0="1434" v1="2497" v2="2954" v3="3049" />
+ <tetrahedron index="8898" v0="881" v1="882" v2="1434" v3="2496" />
+ <tetrahedron index="8899" v0="882" v1="1434" v2="2496" v3="2497" />
+ <tetrahedron index="8900" v0="1434" v1="2496" v2="2497" v3="3049" />
+ <tetrahedron index="8901" v0="564" v1="784" v2="1513" v3="2179" />
+ <tetrahedron index="8902" v0="784" v1="1513" v2="2179" v3="2399" />
+ <tetrahedron index="8903" v0="1513" v1="2179" v2="2399" v3="3128" />
+ <tetrahedron index="8904" v0="346" v1="564" v2="1513" v3="1961" />
+ <tetrahedron index="8905" v0="564" v1="1513" v2="1961" v3="2179" />
+ <tetrahedron index="8906" v0="1513" v1="1961" v2="2179" v3="3128" />
+ <tetrahedron index="8907" v0="1155" v1="1303" v2="1383" v3="2770" />
+ <tetrahedron index="8908" v0="1303" v1="1383" v2="2770" v3="2918" />
+ <tetrahedron index="8909" v0="1383" v1="2770" v2="2918" v3="2998" />
+ <tetrahedron index="8910" v0="1154" v1="1155" v2="1383" v3="2769" />
+ <tetrahedron index="8911" v0="1155" v1="1383" v2="2769" v3="2770" />
+ <tetrahedron index="8912" v0="1383" v1="2769" v2="2770" v3="2998" />
+ <tetrahedron index="8913" v0="391" v1="763" v2="1354" v3="2006" />
+ <tetrahedron index="8914" v0="763" v1="1354" v2="2006" v3="2378" />
+ <tetrahedron index="8915" v0="1354" v1="2006" v2="2378" v3="2969" />
+ <tetrahedron index="8916" v0="707" v1="763" v2="1354" v3="2322" />
+ <tetrahedron index="8917" v0="763" v1="1354" v2="2322" v3="2378" />
+ <tetrahedron index="8918" v0="1354" v1="2322" v2="2378" v3="2969" />
+ <tetrahedron index="8919" v0="1267" v1="1306" v2="1612" v3="2882" />
+ <tetrahedron index="8920" v0="1306" v1="1612" v2="2882" v3="2921" />
+ <tetrahedron index="8921" v0="1612" v1="2882" v2="2921" v3="3227" />
+ <tetrahedron index="8922" v0="1266" v1="1306" v2="1612" v3="2881" />
+ <tetrahedron index="8923" v0="1306" v1="1612" v2="2881" v3="2921" />
+ <tetrahedron index="8924" v0="1612" v1="2881" v2="2921" v3="3227" />
+ <tetrahedron index="8925" v0="1262" v1="1302" v2="1488" v3="2877" />
+ <tetrahedron index="8926" v0="1302" v1="1488" v2="2877" v3="2917" />
+ <tetrahedron index="8927" v0="1488" v1="2877" v2="2917" v3="3103" />
+ <tetrahedron index="8928" v0="1262" v1="1487" v2="1488" v3="2877" />
+ <tetrahedron index="8929" v0="1487" v1="1488" v2="2877" v3="3102" />
+ <tetrahedron index="8930" v0="1488" v1="2877" v2="3102" v3="3103" />
+ <tetrahedron index="8931" v0="920" v1="1193" v2="1473" v3="2535" />
+ <tetrahedron index="8932" v0="1193" v1="1473" v2="2535" v3="2808" />
+ <tetrahedron index="8933" v0="1473" v1="2535" v2="2808" v3="3088" />
+ <tetrahedron index="8934" v0="920" v1="1327" v2="1473" v3="2535" />
+ <tetrahedron index="8935" v0="1327" v1="1473" v2="2535" v3="2942" />
+ <tetrahedron index="8936" v0="1473" v1="2535" v2="2942" v3="3088" />
+ <tetrahedron index="8937" v0="1145" v1="1491" v2="1503" v3="2760" />
+ <tetrahedron index="8938" v0="1491" v1="1503" v2="2760" v3="3106" />
+ <tetrahedron index="8939" v0="1503" v1="2760" v2="3106" v3="3118" />
+ <tetrahedron index="8940" v0="236" v1="1145" v2="1503" v3="1851" />
+ <tetrahedron index="8941" v0="1145" v1="1503" v2="1851" v3="2760" />
+ <tetrahedron index="8942" v0="1503" v1="1851" v2="2760" v3="3118" />
+ <tetrahedron index="8943" v0="314" v1="1347" v2="1471" v3="1929" />
+ <tetrahedron index="8944" v0="1347" v1="1471" v2="1929" v3="2962" />
+ <tetrahedron index="8945" v0="1471" v1="1929" v2="2962" v3="3086" />
+ <tetrahedron index="8946" v0="5" v1="314" v2="1471" v3="1620" />
+ <tetrahedron index="8947" v0="314" v1="1471" v2="1620" v3="1929" />
+ <tetrahedron index="8948" v0="1471" v1="1620" v2="1929" v3="3086" />
+ <tetrahedron index="8949" v0="1510" v1="1511" v2="1596" v3="3125" />
+ <tetrahedron index="8950" v0="1511" v1="1596" v2="3125" v3="3126" />
+ <tetrahedron index="8951" v0="1596" v1="3125" v2="3126" v3="3211" />
+ <tetrahedron index="8952" v0="408" v1="1520" v2="1552" v3="2023" />
+ <tetrahedron index="8953" v0="1520" v1="1552" v2="2023" v3="3135" />
+ <tetrahedron index="8954" v0="1552" v1="2023" v2="3135" v3="3167" />
+ <tetrahedron index="8955" v0="1520" v1="1526" v2="1552" v3="3135" />
+ <tetrahedron index="8956" v0="1526" v1="1552" v2="3135" v3="3141" />
+ <tetrahedron index="8957" v0="1552" v1="3135" v2="3141" v3="3167" />
+ <tetrahedron index="8958" v0="462" v1="966" v2="1506" v3="2077" />
+ <tetrahedron index="8959" v0="966" v1="1506" v2="2077" v3="2581" />
+ <tetrahedron index="8960" v0="1506" v1="2077" v2="2581" v3="3121" />
+ <tetrahedron index="8961" v0="462" v1="483" v2="1506" v3="2077" />
+ <tetrahedron index="8962" v0="483" v1="1506" v2="2077" v3="2098" />
+ <tetrahedron index="8963" v0="1506" v1="2077" v2="2098" v3="3121" />
+ <tetrahedron index="8964" v0="1216" v1="1220" v2="1547" v3="2831" />
+ <tetrahedron index="8965" v0="1220" v1="1547" v2="2831" v3="2835" />
+ <tetrahedron index="8966" v0="1547" v1="2831" v2="2835" v3="3162" />
+ <tetrahedron index="8967" v0="876" v1="1220" v2="1547" v3="2491" />
+ <tetrahedron index="8968" v0="1220" v1="1547" v2="2491" v3="2835" />
+ <tetrahedron index="8969" v0="1547" v1="2491" v2="2835" v3="3162" />
+ <tetrahedron index="8970" v0="550" v1="1355" v2="1545" v3="2165" />
+ <tetrahedron index="8971" v0="1355" v1="1545" v2="2165" v3="2970" />
+ <tetrahedron index="8972" v0="1545" v1="2165" v2="2970" v3="3160" />
+ <tetrahedron index="8973" v0="748" v1="1355" v2="1545" v3="2363" />
+ <tetrahedron index="8974" v0="1355" v1="1545" v2="2363" v3="2970" />
+ <tetrahedron index="8975" v0="1545" v1="2363" v2="2970" v3="3160" />
+ <tetrahedron index="8976" v0="882" v1="1418" v2="1553" v3="2497" />
+ <tetrahedron index="8977" v0="1418" v1="1553" v2="2497" v3="3033" />
+ <tetrahedron index="8978" v0="1553" v1="2497" v2="3033" v3="3168" />
+ <tetrahedron index="8979" v0="651" v1="1418" v2="1553" v3="2266" />
+ <tetrahedron index="8980" v0="1418" v1="1553" v2="2266" v3="3033" />
+ <tetrahedron index="8981" v0="1553" v1="2266" v2="3033" v3="3168" />
+ <tetrahedron index="8982" v0="887" v1="1501" v2="1602" v3="2502" />
+ <tetrahedron index="8983" v0="1501" v1="1602" v2="2502" v3="3116" />
+ <tetrahedron index="8984" v0="1602" v1="2502" v2="3116" v3="3217" />
+ <tetrahedron index="8985" v0="458" v1="1501" v2="1602" v3="2073" />
+ <tetrahedron index="8986" v0="1501" v1="1602" v2="2073" v3="3116" />
+ <tetrahedron index="8987" v0="1602" v1="2073" v2="3116" v3="3217" />
+ <tetrahedron index="8988" v0="1516" v1="1607" v2="1614" v3="3131" />
+ <tetrahedron index="8989" v0="1607" v1="1614" v2="3131" v3="3222" />
+ <tetrahedron index="8990" v0="1614" v1="3131" v2="3222" v3="3229" />
+ <tetrahedron index="8991" v0="1514" v1="1516" v2="1607" v3="3129" />
+ <tetrahedron index="8992" v0="1516" v1="1607" v2="3129" v3="3131" />
+ <tetrahedron index="8993" v0="1607" v1="3129" v2="3131" v3="3222" />
+ <tetrahedron index="8994" v0="190" v1="1534" v2="1551" v3="1805" />
+ <tetrahedron index="8995" v0="1534" v1="1551" v2="1805" v3="3149" />
+ <tetrahedron index="8996" v0="1551" v1="1805" v2="3149" v3="3166" />
+ <tetrahedron index="8997" v0="805" v1="1534" v2="1551" v3="2420" />
+ <tetrahedron index="8998" v0="1534" v1="1551" v2="2420" v3="3149" />
+ <tetrahedron index="8999" v0="1551" v1="2420" v2="3149" v3="3166" />
+ <tetrahedron index="9000" v0="288" v1="1547" v2="1587" v3="1903" />
+ <tetrahedron index="9001" v0="1547" v1="1587" v2="1903" v3="3162" />
+ <tetrahedron index="9002" v0="1587" v1="1903" v2="3162" v3="3202" />
+ <tetrahedron index="9003" v0="288" v1="876" v2="1547" v3="1903" />
+ <tetrahedron index="9004" v0="876" v1="1547" v2="1903" v3="2491" />
+ <tetrahedron index="9005" v0="1547" v1="1903" v2="2491" v3="3162" />
+ <tetrahedron index="9006" v0="94" v1="96" v2="710" v3="1709" />
+ <tetrahedron index="9007" v0="96" v1="710" v2="1709" v3="1711" />
+ <tetrahedron index="9008" v0="710" v1="1709" v2="1711" v3="2325" />
+ <tetrahedron index="9009" v0="94" v1="710" v2="902" v3="1709" />
+ <tetrahedron index="9010" v0="710" v1="902" v2="1709" v3="2325" />
+ <tetrahedron index="9011" v0="902" v1="1709" v2="2325" v3="2517" />
+ <tetrahedron index="9012" v0="565" v1="1566" v2="1580" v3="2180" />
+ <tetrahedron index="9013" v0="1566" v1="1580" v2="2180" v3="3181" />
+ <tetrahedron index="9014" v0="1580" v1="2180" v2="3181" v3="3195" />
+ <tetrahedron index="9015" v0="902" v1="1566" v2="1580" v3="2517" />
+ <tetrahedron index="9016" v0="1566" v1="1580" v2="2517" v3="3181" />
+ <tetrahedron index="9017" v0="1580" v1="2517" v2="3181" v3="3195" />
+ <tetrahedron index="9018" v0="1136" v1="1311" v2="1404" v3="2751" />
+ <tetrahedron index="9019" v0="1311" v1="1404" v2="2751" v3="2926" />
+ <tetrahedron index="9020" v0="1404" v1="2751" v2="2926" v3="3019" />
+ <tetrahedron index="9021" v0="790" v1="1136" v2="1404" v3="2405" />
+ <tetrahedron index="9022" v0="1136" v1="1404" v2="2405" v3="2751" />
+ <tetrahedron index="9023" v0="1404" v1="2405" v2="2751" v3="3019" />
+ <tetrahedron index="9024" v0="934" v1="1433" v2="1447" v3="2549" />
+ <tetrahedron index="9025" v0="1433" v1="1447" v2="2549" v3="3048" />
+ <tetrahedron index="9026" v0="1447" v1="2549" v2="3048" v3="3062" />
+ <tetrahedron index="9027" v0="934" v1="1171" v2="1447" v3="2549" />
+ <tetrahedron index="9028" v0="1171" v1="1447" v2="2549" v3="2786" />
+ <tetrahedron index="9029" v0="1447" v1="2549" v2="2786" v3="3062" />
+ <tetrahedron index="9030" v0="444" v1="1363" v2="1498" v3="2059" />
+ <tetrahedron index="9031" v0="1363" v1="1498" v2="2059" v3="2978" />
+ <tetrahedron index="9032" v0="1498" v1="2059" v2="2978" v3="3113" />
+ <tetrahedron index="9033" v0="68" v1="444" v2="1363" v3="1683" />
+ <tetrahedron index="9034" v0="444" v1="1363" v2="1683" v3="2059" />
+ <tetrahedron index="9035" v0="1363" v1="1683" v2="2059" v3="2978" />
+ <tetrahedron index="9036" v0="914" v1="927" v2="1529" v3="2529" />
+ <tetrahedron index="9037" v0="927" v1="1529" v2="2529" v3="2542" />
+ <tetrahedron index="9038" v0="1529" v1="2529" v2="2542" v3="3144" />
+ <tetrahedron index="9039" v0="914" v1="1132" v2="1529" v3="2529" />
+ <tetrahedron index="9040" v0="1132" v1="1529" v2="2529" v3="2747" />
+ <tetrahedron index="9041" v0="1529" v1="2529" v2="2747" v3="3144" />
+ <tetrahedron index="9042" v0="955" v1="1220" v2="1543" v3="2570" />
+ <tetrahedron index="9043" v0="1220" v1="1543" v2="2570" v3="2835" />
+ <tetrahedron index="9044" v0="1543" v1="2570" v2="2835" v3="3158" />
+ <tetrahedron index="9045" v0="1220" v1="1225" v2="1543" v3="2835" />
+ <tetrahedron index="9046" v0="1225" v1="1543" v2="2835" v3="2840" />
+ <tetrahedron index="9047" v0="1543" v1="2835" v2="2840" v3="3158" />
+ <tetrahedron index="9048" v0="961" v1="1407" v2="1433" v3="2576" />
+ <tetrahedron index="9049" v0="1407" v1="1433" v2="2576" v3="3022" />
+ <tetrahedron index="9050" v0="1433" v1="2576" v2="3022" v3="3048" />
+ <tetrahedron index="9051" v0="545" v1="961" v2="1407" v3="2160" />
+ <tetrahedron index="9052" v0="961" v1="1407" v2="2160" v3="2576" />
+ <tetrahedron index="9053" v0="1407" v1="2160" v2="2576" v3="3022" />
+ <tetrahedron index="9054" v0="1295" v1="1374" v2="1603" v3="2910" />
+ <tetrahedron index="9055" v0="1374" v1="1603" v2="2910" v3="2989" />
+ <tetrahedron index="9056" v0="1603" v1="2910" v2="2989" v3="3218" />
+ <tetrahedron index="9057" v0="1264" v1="1295" v2="1603" v3="2879" />
+ <tetrahedron index="9058" v0="1295" v1="1603" v2="2879" v3="2910" />
+ <tetrahedron index="9059" v0="1603" v1="2879" v2="2910" v3="3218" />
+ <tetrahedron index="9060" v0="272" v1="584" v2="738" v3="1887" />
+ <tetrahedron index="9061" v0="584" v1="738" v2="1887" v3="2199" />
+ <tetrahedron index="9062" v0="738" v1="1887" v2="2199" v3="2353" />
+ <tetrahedron index="9063" v0="272" v1="584" v2="1451" v3="1887" />
+ <tetrahedron index="9064" v0="584" v1="1451" v2="1887" v3="2199" />
+ <tetrahedron index="9065" v0="1451" v1="1887" v2="2199" v3="3066" />
+ <tetrahedron index="9066" v0="88" v1="90" v2="1565" v3="1703" />
+ <tetrahedron index="9067" v0="90" v1="1565" v2="1703" v3="1705" />
+ <tetrahedron index="9068" v0="1565" v1="1703" v2="1705" v3="3180" />
+ <tetrahedron index="9069" v0="90" v1="855" v2="1565" v3="1705" />
+ <tetrahedron index="9070" v0="855" v1="1565" v2="1705" v3="2470" />
+ <tetrahedron index="9071" v0="1565" v1="1705" v2="2470" v3="3180" />
+ <tetrahedron index="9072" v0="89" v1="1004" v2="1489" v3="1704" />
+ <tetrahedron index="9073" v0="1004" v1="1489" v2="1704" v3="2619" />
+ <tetrahedron index="9074" v0="1489" v1="1704" v2="2619" v3="3104" />
+ <tetrahedron index="9075" v0="89" v1="90" v2="1004" v3="1704" />
+ <tetrahedron index="9076" v0="90" v1="1004" v2="1704" v3="1705" />
+ <tetrahedron index="9077" v0="1004" v1="1704" v2="1705" v3="2619" />
+ <tetrahedron index="9078" v0="29" v1="743" v2="1249" v3="1644" />
+ <tetrahedron index="9079" v0="743" v1="1249" v2="1644" v3="2358" />
+ <tetrahedron index="9080" v0="1249" v1="1644" v2="2358" v3="2864" />
+ <tetrahedron index="9081" v0="743" v1="1248" v2="1249" v3="2358" />
+ <tetrahedron index="9082" v0="1248" v1="1249" v2="2358" v3="2863" />
+ <tetrahedron index="9083" v0="1249" v1="2358" v2="2863" v3="2864" />
+ <tetrahedron index="9084" v0="683" v1="684" v2="713" v3="2298" />
+ <tetrahedron index="9085" v0="684" v1="713" v2="2298" v3="2299" />
+ <tetrahedron index="9086" v0="713" v1="2298" v2="2299" v3="2328" />
+ <tetrahedron index="9087" v0="684" v1="713" v2="756" v3="2299" />
+ <tetrahedron index="9088" v0="713" v1="756" v2="2299" v3="2328" />
+ <tetrahedron index="9089" v0="756" v1="2299" v2="2328" v3="2371" />
+ <tetrahedron index="9090" v0="682" v1="1445" v2="1528" v3="2297" />
+ <tetrahedron index="9091" v0="1445" v1="1528" v2="2297" v3="3060" />
+ <tetrahedron index="9092" v0="1528" v1="2297" v2="3060" v3="3143" />
+ <tetrahedron index="9093" v0="464" v1="682" v2="1528" v3="2079" />
+ <tetrahedron index="9094" v0="682" v1="1528" v2="2079" v3="2297" />
+ <tetrahedron index="9095" v0="1528" v1="2079" v2="2297" v3="3143" />
+ <tetrahedron index="9096" v0="380" v1="732" v2="1446" v3="1995" />
+ <tetrahedron index="9097" v0="732" v1="1446" v2="1995" v3="2347" />
+ <tetrahedron index="9098" v0="1446" v1="1995" v2="2347" v3="3061" />
+ <tetrahedron index="9099" v0="380" v1="381" v2="1446" v3="1995" />
+ <tetrahedron index="9100" v0="381" v1="1446" v2="1995" v3="1996" />
+ <tetrahedron index="9101" v0="1446" v1="1995" v2="1996" v3="3061" />
+ <tetrahedron index="9102" v0="332" v1="646" v2="1296" v3="1947" />
+ <tetrahedron index="9103" v0="646" v1="1296" v2="1947" v3="2261" />
+ <tetrahedron index="9104" v0="1296" v1="1947" v2="2261" v3="2911" />
+ <tetrahedron index="9105" v0="646" v1="1296" v2="1462" v3="2261" />
+ <tetrahedron index="9106" v0="1296" v1="1462" v2="2261" v3="2911" />
+ <tetrahedron index="9107" v0="1462" v1="2261" v2="2911" v3="3077" />
+ <tetrahedron index="9108" v0="855" v1="1560" v2="1565" v3="2470" />
+ <tetrahedron index="9109" v0="1560" v1="1565" v2="2470" v3="3175" />
+ <tetrahedron index="9110" v0="1565" v1="2470" v2="3175" v3="3180" />
+ <tetrahedron index="9111" v0="874" v1="1560" v2="1565" v3="2489" />
+ <tetrahedron index="9112" v0="1560" v1="1565" v2="2489" v3="3175" />
+ <tetrahedron index="9113" v0="1565" v1="2489" v2="3175" v3="3180" />
+ <tetrahedron index="9114" v0="815" v1="890" v2="1531" v3="2430" />
+ <tetrahedron index="9115" v0="890" v1="1531" v2="2430" v3="2505" />
+ <tetrahedron index="9116" v0="1531" v1="2430" v2="2505" v3="3146" />
+ <tetrahedron index="9117" v0="890" v1="941" v2="1531" v3="2505" />
+ <tetrahedron index="9118" v0="941" v1="1531" v2="2505" v3="2556" />
+ <tetrahedron index="9119" v0="1531" v1="2505" v2="2556" v3="3146" />
+ <tetrahedron index="9120" v0="188" v1="891" v2="1446" v3="1803" />
+ <tetrahedron index="9121" v0="891" v1="1446" v2="1803" v3="2506" />
+ <tetrahedron index="9122" v0="1446" v1="1803" v2="2506" v3="3061" />
+ <tetrahedron index="9123" v0="891" v1="983" v2="1446" v3="2506" />
+ <tetrahedron index="9124" v0="983" v1="1446" v2="2506" v3="2598" />
+ <tetrahedron index="9125" v0="1446" v1="2506" v2="2598" v3="3061" />
+ <tetrahedron index="9126" v0="911" v1="1300" v2="1568" v3="2526" />
+ <tetrahedron index="9127" v0="1300" v1="1568" v2="2526" v3="2915" />
+ <tetrahedron index="9128" v0="1568" v1="2526" v2="2915" v3="3183" />
+ <tetrahedron index="9129" v0="574" v1="911" v2="1300" v3="2189" />
+ <tetrahedron index="9130" v0="911" v1="1300" v2="2189" v3="2526" />
+ <tetrahedron index="9131" v0="1300" v1="2189" v2="2526" v3="2915" />
+ <tetrahedron index="9132" v0="664" v1="967" v2="1414" v3="2279" />
+ <tetrahedron index="9133" v0="967" v1="1414" v2="2279" v3="2582" />
+ <tetrahedron index="9134" v0="1414" v1="2279" v2="2582" v3="3029" />
+ <tetrahedron index="9135" v0="709" v1="967" v2="1414" v3="2324" />
+ <tetrahedron index="9136" v0="967" v1="1414" v2="2324" v3="2582" />
+ <tetrahedron index="9137" v0="1414" v1="2324" v2="2582" v3="3029" />
+ <tetrahedron index="9138" v0="356" v1="800" v2="1589" v3="1971" />
+ <tetrahedron index="9139" v0="800" v1="1589" v2="1971" v3="2415" />
+ <tetrahedron index="9140" v0="1589" v1="1971" v2="2415" v3="3204" />
+ <tetrahedron index="9141" v0="356" v1="1385" v2="1589" v3="1971" />
+ <tetrahedron index="9142" v0="1385" v1="1589" v2="1971" v3="3000" />
+ <tetrahedron index="9143" v0="1589" v1="1971" v2="3000" v3="3204" />
+ <tetrahedron index="9144" v0="1188" v1="1196" v2="1300" v3="2803" />
+ <tetrahedron index="9145" v0="1196" v1="1300" v2="2803" v3="2811" />
+ <tetrahedron index="9146" v0="1300" v1="2803" v2="2811" v3="2915" />
+ <tetrahedron index="9147" v0="1196" v1="1244" v2="1300" v3="2811" />
+ <tetrahedron index="9148" v0="1244" v1="1300" v2="2811" v3="2859" />
+ <tetrahedron index="9149" v0="1300" v1="2811" v2="2859" v3="2915" />
+ <tetrahedron index="9150" v0="333" v1="872" v2="1000" v3="1948" />
+ <tetrahedron index="9151" v0="872" v1="1000" v2="1948" v3="2487" />
+ <tetrahedron index="9152" v0="1000" v1="1948" v2="2487" v3="2615" />
+ <tetrahedron index="9153" v0="333" v1="380" v2="872" v3="1948" />
+ <tetrahedron index="9154" v0="380" v1="872" v2="1948" v3="1995" />
+ <tetrahedron index="9155" v0="872" v1="1948" v2="1995" v3="2487" />
+ <tetrahedron index="9156" v0="509" v1="565" v2="967" v3="2124" />
+ <tetrahedron index="9157" v0="565" v1="967" v2="2124" v3="2180" />
+ <tetrahedron index="9158" v0="967" v1="2124" v2="2180" v3="2582" />
+ <tetrahedron index="9159" v0="509" v1="519" v2="565" v3="2124" />
+ <tetrahedron index="9160" v0="519" v1="565" v2="2124" v3="2134" />
+ <tetrahedron index="9161" v0="565" v1="2124" v2="2134" v3="2180" />
+ <tetrahedron index="9162" v0="1464" v1="1502" v2="1575" v3="3079" />
+ <tetrahedron index="9163" v0="1502" v1="1575" v2="3079" v3="3117" />
+ <tetrahedron index="9164" v0="1575" v1="3079" v2="3117" v3="3190" />
+ <tetrahedron index="9165" v0="1124" v1="1464" v2="1575" v3="2739" />
+ <tetrahedron index="9166" v0="1464" v1="1575" v2="2739" v3="3079" />
+ <tetrahedron index="9167" v0="1575" v1="2739" v2="3079" v3="3190" />
+ <tetrahedron index="9168" v0="911" v1="1024" v2="1568" v3="2526" />
+ <tetrahedron index="9169" v0="1024" v1="1568" v2="2526" v3="2639" />
+ <tetrahedron index="9170" v0="1568" v1="2526" v2="2639" v3="3183" />
+ <tetrahedron index="9171" v0="1024" v1="1192" v2="1568" v3="2639" />
+ <tetrahedron index="9172" v0="1192" v1="1568" v2="2639" v3="2807" />
+ <tetrahedron index="9173" v0="1568" v1="2639" v2="2807" v3="3183" />
+ <tetrahedron index="9174" v0="918" v1="1185" v2="1577" v3="2533" />
+ <tetrahedron index="9175" v0="1185" v1="1577" v2="2533" v3="2800" />
+ <tetrahedron index="9176" v0="1577" v1="2533" v2="2800" v3="3192" />
+ <tetrahedron index="9177" v0="918" v1="1120" v2="1577" v3="2533" />
+ <tetrahedron index="9178" v0="1120" v1="1577" v2="2533" v3="2735" />
+ <tetrahedron index="9179" v0="1577" v1="2533" v2="2735" v3="3192" />
+ <tetrahedron index="9180" v0="864" v1="993" v2="1579" v3="2479" />
+ <tetrahedron index="9181" v0="993" v1="1579" v2="2479" v3="2608" />
+ <tetrahedron index="9182" v0="1579" v1="2479" v2="2608" v3="3194" />
+ <tetrahedron index="9183" v0="864" v1="1315" v2="1579" v3="2479" />
+ <tetrahedron index="9184" v0="1315" v1="1579" v2="2479" v3="2930" />
+ <tetrahedron index="9185" v0="1579" v1="2479" v2="2930" v3="3194" />
+ <tetrahedron index="9186" v0="408" v1="409" v2="500" v3="2023" />
+ <tetrahedron index="9187" v0="409" v1="500" v2="2023" v3="2024" />
+ <tetrahedron index="9188" v0="500" v1="2023" v2="2024" v3="2115" />
+ <tetrahedron index="9189" v0="408" v1="500" v2="501" v3="2023" />
+ <tetrahedron index="9190" v0="500" v1="501" v2="2023" v3="2115" />
+ <tetrahedron index="9191" v0="501" v1="2023" v2="2115" v3="2116" />
+ <tetrahedron index="9192" v0="991" v1="1406" v2="1499" v3="2606" />
+ <tetrahedron index="9193" v0="1406" v1="1499" v2="2606" v3="3021" />
+ <tetrahedron index="9194" v0="1499" v1="2606" v2="3021" v3="3114" />
+ <tetrahedron index="9195" v0="821" v1="991" v2="1499" v3="2436" />
+ <tetrahedron index="9196" v0="991" v1="1499" v2="2436" v3="2606" />
+ <tetrahedron index="9197" v0="1499" v1="2436" v2="2606" v3="3114" />
+ <tetrahedron index="9198" v0="1113" v1="1184" v2="1246" v3="2728" />
+ <tetrahedron index="9199" v0="1184" v1="1246" v2="2728" v3="2799" />
+ <tetrahedron index="9200" v0="1246" v1="2728" v2="2799" v3="2861" />
+ <tetrahedron index="9201" v0="66" v1="1113" v2="1246" v3="1681" />
+ <tetrahedron index="9202" v0="1113" v1="1246" v2="1681" v3="2728" />
+ <tetrahedron index="9203" v0="1246" v1="1681" v2="2728" v3="2861" />
+ <tetrahedron index="9204" v0="256" v1="851" v2="1284" v3="1871" />
+ <tetrahedron index="9205" v0="851" v1="1284" v2="1871" v3="2466" />
+ <tetrahedron index="9206" v0="1284" v1="1871" v2="2466" v3="2899" />
+ <tetrahedron index="9207" v0="256" v1="1284" v2="1525" v3="1871" />
+ <tetrahedron index="9208" v0="1284" v1="1525" v2="1871" v3="2899" />
+ <tetrahedron index="9209" v0="1525" v1="1871" v2="2899" v3="3140" />
+ <tetrahedron index="9210" v0="847" v1="1305" v2="1539" v3="2462" />
+ <tetrahedron index="9211" v0="1305" v1="1539" v2="2462" v3="2920" />
+ <tetrahedron index="9212" v0="1539" v1="2462" v2="2920" v3="3154" />
+ <tetrahedron index="9213" v0="847" v1="944" v2="1539" v3="2462" />
+ <tetrahedron index="9214" v0="944" v1="1539" v2="2462" v3="2559" />
+ <tetrahedron index="9215" v0="1539" v1="2462" v2="2559" v3="3154" />
+ <tetrahedron index="9216" v0="321" v1="1234" v2="1589" v3="1936" />
+ <tetrahedron index="9217" v0="1234" v1="1589" v2="1936" v3="2849" />
+ <tetrahedron index="9218" v0="1589" v1="1936" v2="2849" v3="3204" />
+ <tetrahedron index="9219" v0="321" v1="800" v2="1589" v3="1936" />
+ <tetrahedron index="9220" v0="800" v1="1589" v2="1936" v3="2415" />
+ <tetrahedron index="9221" v0="1589" v1="1936" v2="2415" v3="3204" />
+ <tetrahedron index="9222" v0="334" v1="381" v2="1044" v3="1949" />
+ <tetrahedron index="9223" v0="381" v1="1044" v2="1949" v3="1996" />
+ <tetrahedron index="9224" v0="1044" v1="1949" v2="1996" v3="2659" />
+ <tetrahedron index="9225" v0="333" v1="334" v2="381" v3="1948" />
+ <tetrahedron index="9226" v0="334" v1="381" v2="1948" v3="1949" />
+ <tetrahedron index="9227" v0="381" v1="1948" v2="1949" v3="1996" />
+ <tetrahedron index="9228" v0="1147" v1="1149" v2="1594" v3="2762" />
+ <tetrahedron index="9229" v0="1149" v1="1594" v2="2762" v3="2764" />
+ <tetrahedron index="9230" v0="1594" v1="2762" v2="2764" v3="3209" />
+ <tetrahedron index="9231" v0="1147" v1="1505" v2="1594" v3="2762" />
+ <tetrahedron index="9232" v0="1505" v1="1594" v2="2762" v3="3120" />
+ <tetrahedron index="9233" v0="1594" v1="2762" v2="3120" v3="3209" />
+ <tetrahedron index="9234" v0="1327" v1="1328" v2="1473" v3="2942" />
+ <tetrahedron index="9235" v0="1328" v1="1473" v2="2942" v3="2943" />
+ <tetrahedron index="9236" v0="1473" v1="2942" v2="2943" v3="3088" />
+ <tetrahedron index="9237" v0="865" v1="1328" v2="1473" v3="2480" />
+ <tetrahedron index="9238" v0="1328" v1="1473" v2="2480" v3="2943" />
+ <tetrahedron index="9239" v0="1473" v1="2480" v2="2943" v3="3088" />
+ <tetrahedron index="9240" v0="1483" v1="1506" v2="1522" v3="3098" />
+ <tetrahedron index="9241" v0="1506" v1="1522" v2="3098" v3="3121" />
+ <tetrahedron index="9242" v0="1522" v1="3098" v2="3121" v3="3137" />
+ <tetrahedron index="9243" v0="1441" v1="1506" v2="1522" v3="3056" />
+ <tetrahedron index="9244" v0="1506" v1="1522" v2="3056" v3="3121" />
+ <tetrahedron index="9245" v0="1522" v1="3056" v2="3121" v3="3137" />
+ <tetrahedron index="9246" v0="1221" v1="1313" v2="1360" v3="2836" />
+ <tetrahedron index="9247" v0="1313" v1="1360" v2="2836" v3="2928" />
+ <tetrahedron index="9248" v0="1360" v1="2836" v2="2928" v3="2975" />
+ <tetrahedron index="9249" v0="1221" v1="1360" v2="1388" v3="2836" />
+ <tetrahedron index="9250" v0="1360" v1="1388" v2="2836" v3="2975" />
+ <tetrahedron index="9251" v0="1388" v1="2836" v2="2975" v3="3003" />
+ <tetrahedron index="9252" v0="130" v1="868" v2="938" v3="1745" />
+ <tetrahedron index="9253" v0="868" v1="938" v2="1745" v3="2483" />
+ <tetrahedron index="9254" v0="938" v1="1745" v2="2483" v3="2553" />
+ <tetrahedron index="9255" v0="130" v1="696" v2="938" v3="1745" />
+ <tetrahedron index="9256" v0="696" v1="938" v2="1745" v3="2311" />
+ <tetrahedron index="9257" v0="938" v1="1745" v2="2311" v3="2553" />
+ <tetrahedron index="9258" v0="703" v1="1086" v2="1118" v3="2318" />
+ <tetrahedron index="9259" v0="1086" v1="1118" v2="2318" v3="2701" />
+ <tetrahedron index="9260" v0="1118" v1="2318" v2="2701" v3="2733" />
+ <tetrahedron index="9261" v0="703" v1="1086" v2="1087" v3="2318" />
+ <tetrahedron index="9262" v0="1086" v1="1087" v2="2318" v3="2701" />
+ <tetrahedron index="9263" v0="1087" v1="2318" v2="2701" v3="2702" />
+ <tetrahedron index="9264" v0="1287" v1="1299" v2="1320" v3="2902" />
+ <tetrahedron index="9265" v0="1299" v1="1320" v2="2902" v3="2914" />
+ <tetrahedron index="9266" v0="1320" v1="2902" v2="2914" v3="2935" />
+ <tetrahedron index="9267" v0="1287" v1="1298" v2="1299" v3="2902" />
+ <tetrahedron index="9268" v0="1298" v1="1299" v2="2902" v3="2913" />
+ <tetrahedron index="9269" v0="1299" v1="2902" v2="2913" v3="2914" />
+ <tetrahedron index="9270" v0="806" v1="1396" v2="1490" v3="2421" />
+ <tetrahedron index="9271" v0="1396" v1="1490" v2="2421" v3="3011" />
+ <tetrahedron index="9272" v0="1490" v1="2421" v2="3011" v3="3105" />
+ <tetrahedron index="9273" v0="806" v1="808" v2="1396" v3="2421" />
+ <tetrahedron index="9274" v0="808" v1="1396" v2="2421" v3="2423" />
+ <tetrahedron index="9275" v0="1396" v1="2421" v2="2423" v3="3011" />
+ <tetrahedron index="9276" v0="601" v1="915" v2="1572" v3="2216" />
+ <tetrahedron index="9277" v0="915" v1="1572" v2="2216" v3="2530" />
+ <tetrahedron index="9278" v0="1572" v1="2216" v2="2530" v3="3187" />
+ <tetrahedron index="9279" v0="915" v1="1137" v2="1572" v3="2530" />
+ <tetrahedron index="9280" v0="1137" v1="1572" v2="2530" v3="2752" />
+ <tetrahedron index="9281" v0="1572" v1="2530" v2="2752" v3="3187" />
+ <tetrahedron index="9282" v0="159" v1="663" v2="1341" v3="1774" />
+ <tetrahedron index="9283" v0="663" v1="1341" v2="1774" v3="2278" />
+ <tetrahedron index="9284" v0="1341" v1="1774" v2="2278" v3="2956" />
+ <tetrahedron index="9285" v0="158" v1="159" v2="1341" v3="1773" />
+ <tetrahedron index="9286" v0="159" v1="1341" v2="1773" v3="1774" />
+ <tetrahedron index="9287" v0="1341" v1="1773" v2="1774" v3="2956" />
+ <tetrahedron index="9288" v0="349" v1="469" v2="1525" v3="1964" />
+ <tetrahedron index="9289" v0="469" v1="1525" v2="1964" v3="2084" />
+ <tetrahedron index="9290" v0="1525" v1="1964" v2="2084" v3="3140" />
+ <tetrahedron index="9291" v0="349" v1="350" v2="469" v3="1964" />
+ <tetrahedron index="9292" v0="350" v1="469" v2="1964" v3="1965" />
+ <tetrahedron index="9293" v0="469" v1="1964" v2="1965" v3="2084" />
+ <tetrahedron index="9294" v0="935" v1="1222" v2="1290" v3="2550" />
+ <tetrahedron index="9295" v0="1222" v1="1290" v2="2550" v3="2837" />
+ <tetrahedron index="9296" v0="1290" v1="2550" v2="2837" v3="2905" />
+ <tetrahedron index="9297" v0="934" v1="935" v2="1290" v3="2549" />
+ <tetrahedron index="9298" v0="935" v1="1290" v2="2549" v3="2550" />
+ <tetrahedron index="9299" v0="1290" v1="2549" v2="2550" v3="2905" />
+ <tetrahedron index="9300" v0="18" v1="140" v2="322" v3="1633" />
+ <tetrahedron index="9301" v0="140" v1="322" v2="1633" v3="1755" />
+ <tetrahedron index="9302" v0="322" v1="1633" v2="1755" v3="1937" />
+ <tetrahedron index="9303" v0="16" v1="18" v2="140" v3="1631" />
+ <tetrahedron index="9304" v0="18" v1="140" v2="1631" v3="1633" />
+ <tetrahedron index="9305" v0="140" v1="1631" v2="1633" v3="1755" />
+ <tetrahedron index="9306" v0="416" v1="648" v2="649" v3="2031" />
+ <tetrahedron index="9307" v0="648" v1="649" v2="2031" v3="2263" />
+ <tetrahedron index="9308" v0="649" v1="2031" v2="2263" v3="2264" />
+ <tetrahedron index="9309" v0="416" v1="649" v2="1415" v3="2031" />
+ <tetrahedron index="9310" v0="649" v1="1415" v2="2031" v3="2264" />
+ <tetrahedron index="9311" v0="1415" v1="2031" v2="2264" v3="3030" />
+ <tetrahedron index="9312" v0="348" v1="585" v2="1061" v3="1963" />
+ <tetrahedron index="9313" v0="585" v1="1061" v2="1963" v3="2200" />
+ <tetrahedron index="9314" v0="1061" v1="1963" v2="2200" v3="2676" />
+ <tetrahedron index="9315" v0="348" v1="433" v2="585" v3="1963" />
+ <tetrahedron index="9316" v0="433" v1="585" v2="1963" v3="2048" />
+ <tetrahedron index="9317" v0="585" v1="1963" v2="2048" v3="2200" />
+ <tetrahedron index="9318" v0="1208" v1="1322" v2="1396" v3="2823" />
+ <tetrahedron index="9319" v0="1322" v1="1396" v2="2823" v3="2937" />
+ <tetrahedron index="9320" v0="1396" v1="2823" v2="2937" v3="3011" />
+ <tetrahedron index="9321" v0="1301" v1="1322" v2="1396" v3="2916" />
+ <tetrahedron index="9322" v0="1322" v1="1396" v2="2916" v3="2937" />
+ <tetrahedron index="9323" v0="1396" v1="2916" v2="2937" v3="3011" />
+ <tetrahedron index="9324" v0="237" v1="1099" v2="1369" v3="1852" />
+ <tetrahedron index="9325" v0="1099" v1="1369" v2="1852" v3="2714" />
+ <tetrahedron index="9326" v0="1369" v1="1852" v2="2714" v3="2984" />
+ <tetrahedron index="9327" v0="237" v1="571" v2="1369" v3="1852" />
+ <tetrahedron index="9328" v0="571" v1="1369" v2="1852" v3="2186" />
+ <tetrahedron index="9329" v0="1369" v1="1852" v2="2186" v3="2984" />
+ <tetrahedron index="9330" v0="210" v1="475" v2="1319" v3="1825" />
+ <tetrahedron index="9331" v0="475" v1="1319" v2="1825" v3="2090" />
+ <tetrahedron index="9332" v0="1319" v1="1825" v2="2090" v3="2934" />
+ <tetrahedron index="9333" v0="475" v1="1319" v2="1561" v3="2090" />
+ <tetrahedron index="9334" v0="1319" v1="1561" v2="2090" v3="2934" />
+ <tetrahedron index="9335" v0="1561" v1="2090" v2="2934" v3="3176" />
+ <tetrahedron index="9336" v0="124" v1="652" v2="952" v3="1739" />
+ <tetrahedron index="9337" v0="652" v1="952" v2="1739" v3="2267" />
+ <tetrahedron index="9338" v0="952" v1="1739" v2="2267" v3="2567" />
+ <tetrahedron index="9339" v0="652" v1="952" v2="1561" v3="2267" />
+ <tetrahedron index="9340" v0="952" v1="1561" v2="2267" v3="2567" />
+ <tetrahedron index="9341" v0="1561" v1="2267" v2="2567" v3="3176" />
+ <tetrahedron index="9342" v0="310" v1="495" v2="1510" v3="1925" />
+ <tetrahedron index="9343" v0="495" v1="1510" v2="1925" v3="2110" />
+ <tetrahedron index="9344" v0="1510" v1="1925" v2="2110" v3="3125" />
+ <tetrahedron index="9345" v0="196" v1="198" v2="942" v3="1811" />
+ <tetrahedron index="9346" v0="198" v1="942" v2="1811" v3="1813" />
+ <tetrahedron index="9347" v0="942" v1="1811" v2="1813" v3="2557" />
+ <tetrahedron index="9348" v0="198" v1="942" v2="1139" v3="1813" />
+ <tetrahedron index="9349" v0="942" v1="1139" v2="1813" v3="2557" />
+ <tetrahedron index="9350" v0="1139" v1="1813" v2="2557" v3="2754" />
+ <tetrahedron index="9351" v0="46" v1="146" v2="1105" v3="1661" />
+ <tetrahedron index="9352" v0="146" v1="1105" v2="1661" v3="1761" />
+ <tetrahedron index="9353" v0="1105" v1="1661" v2="1761" v3="2720" />
+ <tetrahedron index="9354" v0="46" v1="482" v2="1105" v3="1661" />
+ <tetrahedron index="9355" v0="482" v1="1105" v2="1661" v3="2097" />
+ <tetrahedron index="9356" v0="1105" v1="1661" v2="2097" v3="2720" />
+ <tetrahedron index="9357" v0="56" v1="482" v2="511" v3="1671" />
+ <tetrahedron index="9358" v0="482" v1="511" v2="1671" v3="2097" />
+ <tetrahedron index="9359" v0="511" v1="1671" v2="2097" v3="2126" />
+ <tetrahedron index="9360" v0="482" v1="511" v2="720" v3="2097" />
+ <tetrahedron index="9361" v0="511" v1="720" v2="2097" v3="2126" />
+ <tetrahedron index="9362" v0="720" v1="2097" v2="2126" v3="2335" />
+ <tetrahedron index="9363" v0="58" v1="452" v2="720" v3="1673" />
+ <tetrahedron index="9364" v0="452" v1="720" v2="1673" v3="2067" />
+ <tetrahedron index="9365" v0="720" v1="1673" v2="2067" v3="2335" />
+ <tetrahedron index="9366" v0="58" v1="720" v2="1105" v3="1673" />
+ <tetrahedron index="9367" v0="720" v1="1105" v2="1673" v3="2335" />
+ <tetrahedron index="9368" v0="1105" v1="1673" v2="2335" v3="2720" />
+ <tetrahedron index="9369" v0="1096" v1="1507" v2="1523" v3="2711" />
+ <tetrahedron index="9370" v0="1507" v1="1523" v2="2711" v3="3122" />
+ <tetrahedron index="9371" v0="1523" v1="2711" v2="3122" v3="3138" />
+ <tetrahedron index="9372" v0="1483" v1="1507" v2="1523" v3="3098" />
+ <tetrahedron index="9373" v0="1507" v1="1523" v2="3098" v3="3122" />
+ <tetrahedron index="9374" v0="1523" v1="3098" v2="3122" v3="3138" />
+ <tetrahedron index="9375" v0="1324" v1="1505" v2="1521" v3="2939" />
+ <tetrahedron index="9376" v0="1505" v1="1521" v2="2939" v3="3120" />
+ <tetrahedron index="9377" v0="1521" v1="2939" v2="3120" v3="3136" />
+ <tetrahedron index="9378" v0="1245" v1="1505" v2="1521" v3="2860" />
+ <tetrahedron index="9379" v0="1505" v1="1521" v2="2860" v3="3120" />
+ <tetrahedron index="9380" v0="1521" v1="2860" v2="3120" v3="3136" />
+ <tetrahedron index="9381" v0="415" v1="1416" v2="1556" v3="2030" />
+ <tetrahedron index="9382" v0="1416" v1="1556" v2="2030" v3="3031" />
+ <tetrahedron index="9383" v0="1556" v1="2030" v2="3031" v3="3171" />
+ <tetrahedron index="9384" v0="91" v1="1416" v2="1556" v3="1706" />
+ <tetrahedron index="9385" v0="1416" v1="1556" v2="1706" v3="3031" />
+ <tetrahedron index="9386" v0="1556" v1="1706" v2="3031" v3="3171" />
+ <tetrahedron index="9387" v0="1340" v1="1574" v2="1614" v3="2955" />
+ <tetrahedron index="9388" v0="1574" v1="1614" v2="2955" v3="3189" />
+ <tetrahedron index="9389" v0="1614" v1="2955" v2="3189" v3="3229" />
+ <tetrahedron index="9390" v0="1516" v1="1574" v2="1614" v3="3131" />
+ <tetrahedron index="9391" v0="1574" v1="1614" v2="3131" v3="3189" />
+ <tetrahedron index="9392" v0="1614" v1="3131" v2="3189" v3="3229" />
+ <tetrahedron index="9393" v0="1282" v1="1397" v2="1402" v3="2897" />
+ <tetrahedron index="9394" v0="1397" v1="1402" v2="2897" v3="3012" />
+ <tetrahedron index="9395" v0="1402" v1="2897" v2="3012" v3="3017" />
+ <tetrahedron index="9396" v0="729" v1="1282" v2="1402" v3="2344" />
+ <tetrahedron index="9397" v0="1282" v1="1402" v2="2344" v3="2897" />
+ <tetrahedron index="9398" v0="1402" v1="2344" v2="2897" v3="3017" />
+ <tetrahedron index="9399" v0="832" v1="924" v2="1453" v3="2447" />
+ <tetrahedron index="9400" v0="924" v1="1453" v2="2447" v3="2539" />
+ <tetrahedron index="9401" v0="1453" v1="2447" v2="2539" v3="3068" />
+ <tetrahedron index="9402" v0="832" v1="1453" v2="1454" v3="2447" />
+ <tetrahedron index="9403" v0="1453" v1="1454" v2="2447" v3="3068" />
+ <tetrahedron index="9404" v0="1454" v1="2447" v2="3068" v3="3069" />
+ <tetrahedron index="9405" v0="261" v1="262" v2="1564" v3="1876" />
+ <tetrahedron index="9406" v0="262" v1="1564" v2="1876" v3="1877" />
+ <tetrahedron index="9407" v0="1564" v1="1876" v2="1877" v3="3179" />
+ <tetrahedron index="9408" v0="261" v1="1498" v2="1564" v3="1876" />
+ <tetrahedron index="9409" v0="1498" v1="1564" v2="1876" v3="3113" />
+ <tetrahedron index="9410" v0="1564" v1="1876" v2="3113" v3="3179" />
+ <tetrahedron index="9411" v0="341" v1="520" v2="742" v3="1956" />
+ <tetrahedron index="9412" v0="520" v1="742" v2="1956" v3="2135" />
+ <tetrahedron index="9413" v0="742" v1="1956" v2="2135" v3="2357" />
+ <tetrahedron index="9414" v0="341" v1="520" v2="1456" v3="1956" />
+ <tetrahedron index="9415" v0="520" v1="1456" v2="1956" v3="2135" />
+ <tetrahedron index="9416" v0="1456" v1="1956" v2="2135" v3="3071" />
+ <tetrahedron index="9417" v0="963" v1="1066" v2="1458" v3="2578" />
+ <tetrahedron index="9418" v0="1066" v1="1458" v2="2578" v3="2681" />
+ <tetrahedron index="9419" v0="1458" v1="2578" v2="2681" v3="3073" />
+ <tetrahedron index="9420" v0="963" v1="1065" v2="1066" v3="2578" />
+ <tetrahedron index="9421" v0="1065" v1="1066" v2="2578" v3="2680" />
+ <tetrahedron index="9422" v0="1066" v1="2578" v2="2680" v3="2681" />
+ <tetrahedron index="9423" v0="711" v1="1443" v2="1573" v3="2326" />
+ <tetrahedron index="9424" v0="1443" v1="1573" v2="2326" v3="3058" />
+ <tetrahedron index="9425" v0="1573" v1="2326" v2="3058" v3="3188" />
+ <tetrahedron index="9426" v0="711" v1="1509" v2="1573" v3="2326" />
+ <tetrahedron index="9427" v0="1509" v1="1573" v2="2326" v3="3124" />
+ <tetrahedron index="9428" v0="1573" v1="2326" v2="3124" v3="3188" />
+ <tetrahedron index="9429" v0="1502" v1="1515" v2="1516" v3="3117" />
+ <tetrahedron index="9430" v0="1515" v1="1516" v2="3117" v3="3130" />
+ <tetrahedron index="9431" v0="1516" v1="3117" v2="3130" v3="3131" />
+ <tetrahedron index="9432" v0="875" v1="1343" v2="1344" v3="2490" />
+ <tetrahedron index="9433" v0="1343" v1="1344" v2="2490" v3="2958" />
+ <tetrahedron index="9434" v0="1344" v1="2490" v2="2958" v3="2959" />
+ <tetrahedron index="9435" v0="875" v1="1343" v2="1388" v3="2490" />
+ <tetrahedron index="9436" v0="1343" v1="1388" v2="2490" v3="2958" />
+ <tetrahedron index="9437" v0="1388" v1="2490" v2="2958" v3="3003" />
+ <tetrahedron index="9438" v0="202" v1="275" v2="276" v3="1817" />
+ <tetrahedron index="9439" v0="275" v1="276" v2="1817" v3="1890" />
+ <tetrahedron index="9440" v0="276" v1="1817" v2="1890" v3="1891" />
+ <tetrahedron index="9441" v0="202" v1="276" v2="835" v3="1817" />
+ <tetrahedron index="9442" v0="276" v1="835" v2="1817" v3="1891" />
+ <tetrahedron index="9443" v0="835" v1="1817" v2="1891" v3="2450" />
+ <tetrahedron index="9444" v0="1338" v1="1609" v2="1614" v3="2953" />
+ <tetrahedron index="9445" v0="1609" v1="1614" v2="2953" v3="3224" />
+ <tetrahedron index="9446" v0="1614" v1="2953" v2="3224" v3="3229" />
+ <tetrahedron index="9447" v0="1338" v1="1340" v2="1614" v3="2953" />
+ <tetrahedron index="9448" v0="1340" v1="1614" v2="2953" v3="2955" />
+ <tetrahedron index="9449" v0="1614" v1="2953" v2="2955" v3="3229" />
+ <tetrahedron index="9450" v0="586" v1="959" v2="1062" v3="2201" />
+ <tetrahedron index="9451" v0="959" v1="1062" v2="2201" v3="2574" />
+ <tetrahedron index="9452" v0="1062" v1="2201" v2="2574" v3="2677" />
+ <tetrahedron index="9453" v0="585" v1="586" v2="1062" v3="2200" />
+ <tetrahedron index="9454" v0="586" v1="1062" v2="2200" v3="2201" />
+ <tetrahedron index="9455" v0="1062" v1="2200" v2="2201" v3="2677" />
+ <tetrahedron index="9456" v0="423" v1="841" v2="1554" v3="2038" />
+ <tetrahedron index="9457" v0="841" v1="1554" v2="2038" v3="2456" />
+ <tetrahedron index="9458" v0="1554" v1="2038" v2="2456" v3="3169" />
+ <tetrahedron index="9459" v0="841" v1="842" v2="1554" v3="2456" />
+ <tetrahedron index="9460" v0="842" v1="1554" v2="2456" v3="2457" />
+ <tetrahedron index="9461" v0="1554" v1="2456" v2="2457" v3="3169" />
+ <tetrahedron index="9462" v0="667" v1="900" v2="1372" v3="2282" />
+ <tetrahedron index="9463" v0="900" v1="1372" v2="2282" v3="2515" />
+ <tetrahedron index="9464" v0="1372" v1="2282" v2="2515" v3="2987" />
+ <tetrahedron index="9465" v0="773" v1="900" v2="1372" v3="2388" />
+ <tetrahedron index="9466" v0="900" v1="1372" v2="2388" v3="2515" />
+ <tetrahedron index="9467" v0="1372" v1="2388" v2="2515" v3="2987" />
+ <tetrahedron index="9468" v0="770" v1="771" v2="1533" v3="2385" />
+ <tetrahedron index="9469" v0="771" v1="1533" v2="2385" v3="2386" />
+ <tetrahedron index="9470" v0="1533" v1="2385" v2="2386" v3="3148" />
+ <tetrahedron index="9471" v0="735" v1="770" v2="1533" v3="2350" />
+ <tetrahedron index="9472" v0="770" v1="1533" v2="2350" v3="2385" />
+ <tetrahedron index="9473" v0="1533" v1="2350" v2="2385" v3="3148" />
+ <tetrahedron index="9474" v0="103" v1="1035" v2="1479" v3="1718" />
+ <tetrahedron index="9475" v0="1035" v1="1479" v2="1718" v3="2650" />
+ <tetrahedron index="9476" v0="1479" v1="1718" v2="2650" v3="3094" />
+ <tetrahedron index="9477" v0="1035" v1="1308" v2="1479" v3="2650" />
+ <tetrahedron index="9478" v0="1308" v1="1479" v2="2650" v3="2923" />
+ <tetrahedron index="9479" v0="1479" v1="2650" v2="2923" v3="3094" />
+ <tetrahedron index="9480" v0="1495" v1="1517" v2="1599" v3="3110" />
+ <tetrahedron index="9481" v0="1517" v1="1599" v2="3110" v3="3132" />
+ <tetrahedron index="9482" v0="1599" v1="3110" v2="3132" v3="3214" />
+ <tetrahedron index="9483" v0="861" v1="1495" v2="1599" v3="2476" />
+ <tetrahedron index="9484" v0="1495" v1="1599" v2="2476" v3="3110" />
+ <tetrahedron index="9485" v0="1599" v1="2476" v2="3110" v3="3214" />
+ <tetrahedron index="9486" v0="347" v1="1386" v2="1513" v3="1962" />
+ <tetrahedron index="9487" v0="1386" v1="1513" v2="1962" v3="3001" />
+ <tetrahedron index="9488" v0="1513" v1="1962" v2="3001" v3="3128" />
+ <tetrahedron index="9489" v0="1219" v1="1386" v2="1513" v3="2834" />
+ <tetrahedron index="9490" v0="1386" v1="1513" v2="2834" v3="3001" />
+ <tetrahedron index="9491" v0="1513" v1="2834" v2="3001" v3="3128" />
+ <tetrahedron index="9492" v0="1093" v1="1094" v2="1164" v3="2708" />
+ <tetrahedron index="9493" v0="1094" v1="1164" v2="2708" v3="2709" />
+ <tetrahedron index="9494" v0="1164" v1="2708" v2="2709" v3="2779" />
+ <tetrahedron index="9495" v0="1094" v1="1164" v2="1425" v3="2709" />
+ <tetrahedron index="9496" v0="1164" v1="1425" v2="2709" v3="2779" />
+ <tetrahedron index="9497" v0="1425" v1="2709" v2="2779" v3="3040" />
+ <tetrahedron index="9498" v0="389" v1="1536" v2="1597" v3="2004" />
+ <tetrahedron index="9499" v0="1536" v1="1597" v2="2004" v3="3151" />
+ <tetrahedron index="9500" v0="1597" v1="2004" v2="3151" v3="3212" />
+ <tetrahedron index="9501" v0="1081" v1="1536" v2="1597" v3="2696" />
+ <tetrahedron index="9502" v0="1536" v1="1597" v2="2696" v3="3151" />
+ <tetrahedron index="9503" v0="1597" v1="2696" v2="3151" v3="3212" />
+ <tetrahedron index="9504" v0="1249" v1="1250" v2="1449" v3="2864" />
+ <tetrahedron index="9505" v0="1250" v1="1449" v2="2864" v3="2865" />
+ <tetrahedron index="9506" v0="1449" v1="2864" v2="2865" v3="3064" />
+ <tetrahedron index="9507" v0="1249" v1="1448" v2="1449" v3="2864" />
+ <tetrahedron index="9508" v0="1448" v1="1449" v2="2864" v3="3063" />
+ <tetrahedron index="9509" v0="1449" v1="2864" v2="3063" v3="3064" />
+ <tetrahedron index="9510" v0="311" v1="799" v2="1596" v3="1926" />
+ <tetrahedron index="9511" v0="799" v1="1596" v2="1926" v3="2414" />
+ <tetrahedron index="9512" v0="1596" v1="1926" v2="2414" v3="3211" />
+ <tetrahedron index="9513" v0="311" v1="1510" v2="1596" v3="1926" />
+ <tetrahedron index="9514" v0="1510" v1="1596" v2="1926" v3="3125" />
+ <tetrahedron index="9515" v0="1596" v1="1926" v2="3125" v3="3211" />
+ <tetrahedron index="9516" v0="1135" v1="1136" v2="1314" v3="2750" />
+ <tetrahedron index="9517" v0="1136" v1="1314" v2="2750" v3="2751" />
+ <tetrahedron index="9518" v0="1314" v1="2750" v2="2751" v3="2929" />
+ <tetrahedron index="9519" v0="1136" v1="1314" v2="1316" v3="2751" />
+ <tetrahedron index="9520" v0="1314" v1="1316" v2="2751" v3="2929" />
+ <tetrahedron index="9521" v0="1316" v1="2751" v2="2929" v3="2931" />
+ <tetrahedron index="9522" v0="131" v1="249" v2="250" v3="1746" />
+ <tetrahedron index="9523" v0="249" v1="250" v2="1746" v3="1864" />
+ <tetrahedron index="9524" v0="250" v1="1746" v2="1864" v3="1865" />
+ <tetrahedron index="9525" v0="131" v1="250" v2="885" v3="1746" />
+ <tetrahedron index="9526" v0="250" v1="885" v2="1746" v3="1865" />
+ <tetrahedron index="9527" v0="885" v1="1746" v2="1865" v3="2500" />
+ <tetrahedron index="9528" v0="616" v1="1270" v2="1283" v3="2231" />
+ <tetrahedron index="9529" v0="1270" v1="1283" v2="2231" v3="2885" />
+ <tetrahedron index="9530" v0="1283" v1="2231" v2="2885" v3="2898" />
+ <tetrahedron index="9531" v0="616" v1="617" v2="1270" v3="2231" />
+ <tetrahedron index="9532" v0="617" v1="1270" v2="2231" v3="2232" />
+ <tetrahedron index="9533" v0="1270" v1="2231" v2="2232" v3="2885" />
+ <tetrahedron index="9534" v0="282" v1="448" v2="1198" v3="1897" />
+ <tetrahedron index="9535" v0="448" v1="1198" v2="1897" v3="2063" />
+ <tetrahedron index="9536" v0="1198" v1="1897" v2="2063" v3="2813" />
+ <tetrahedron index="9537" v0="282" v1="1134" v2="1198" v3="1897" />
+ <tetrahedron index="9538" v0="1134" v1="1198" v2="1897" v3="2749" />
+ <tetrahedron index="9539" v0="1198" v1="1897" v2="2749" v3="2813" />
+ <tetrahedron index="9540" v0="235" v1="526" v2="1144" v3="1850" />
+ <tetrahedron index="9541" v0="526" v1="1144" v2="1850" v3="2141" />
+ <tetrahedron index="9542" v0="1144" v1="1850" v2="2141" v3="2759" />
+ <tetrahedron index="9543" v0="235" v1="236" v2="1144" v3="1850" />
+ <tetrahedron index="9544" v0="236" v1="1144" v2="1850" v3="1851" />
+ <tetrahedron index="9545" v0="1144" v1="1850" v2="1851" v3="2759" />
+ <tetrahedron index="9546" v0="280" v1="715" v2="1146" v3="1895" />
+ <tetrahedron index="9547" v0="715" v1="1146" v2="1895" v3="2330" />
+ <tetrahedron index="9548" v0="1146" v1="1895" v2="2330" v3="2761" />
+ <tetrahedron index="9549" v0="471" v1="715" v2="1146" v3="2086" />
+ <tetrahedron index="9550" v0="715" v1="1146" v2="2086" v3="2330" />
+ <tetrahedron index="9551" v0="1146" v1="2086" v2="2330" v3="2761" />
+ <tetrahedron index="9552" v0="52" v1="54" v2="504" v3="1667" />
+ <tetrahedron index="9553" v0="54" v1="504" v2="1667" v3="1669" />
+ <tetrahedron index="9554" v0="504" v1="1667" v2="1669" v3="2119" />
+ <tetrahedron index="9555" v0="51" v1="52" v2="54" v3="1666" />
+ <tetrahedron index="9556" v0="52" v1="54" v2="1666" v3="1667" />
+ <tetrahedron index="9557" v0="54" v1="1666" v2="1667" v3="1669" />
+ <tetrahedron index="9558" v0="329" v1="573" v2="617" v3="1944" />
+ <tetrahedron index="9559" v0="573" v1="617" v2="1944" v3="2188" />
+ <tetrahedron index="9560" v0="617" v1="1944" v2="2188" v3="2232" />
+ <tetrahedron index="9561" v0="329" v1="492" v2="617" v3="1944" />
+ <tetrahedron index="9562" v0="492" v1="617" v2="1944" v3="2107" />
+ <tetrahedron index="9563" v0="617" v1="1944" v2="2107" v3="2232" />
+ <tetrahedron index="9564" v0="1484" v1="1514" v2="1591" v3="3099" />
+ <tetrahedron index="9565" v0="1514" v1="1591" v2="3099" v3="3129" />
+ <tetrahedron index="9566" v0="1591" v1="3099" v2="3129" v3="3206" />
+ <tetrahedron index="9567" v0="1256" v1="1514" v2="1591" v3="2871" />
+ <tetrahedron index="9568" v0="1514" v1="1591" v2="2871" v3="3129" />
+ <tetrahedron index="9569" v0="1591" v1="2871" v2="3129" v3="3206" />
+ <tetrahedron index="9570" v0="193" v1="401" v2="649" v3="1808" />
+ <tetrahedron index="9571" v0="401" v1="649" v2="1808" v3="2016" />
+ <tetrahedron index="9572" v0="649" v1="1808" v2="2016" v3="2264" />
+ <tetrahedron index="9573" v0="193" v1="649" v2="1504" v3="1808" />
+ <tetrahedron index="9574" v0="649" v1="1504" v2="1808" v3="2264" />
+ <tetrahedron index="9575" v0="1504" v1="1808" v2="2264" v3="3119" />
+ <tetrahedron index="9576" v0="239" v1="1358" v2="1387" v3="1854" />
+ <tetrahedron index="9577" v0="1358" v1="1387" v2="1854" v3="2973" />
+ <tetrahedron index="9578" v0="1387" v1="1854" v2="2973" v3="3002" />
+ <tetrahedron index="9579" v0="1358" v1="1387" v2="1452" v3="2973" />
+ <tetrahedron index="9580" v0="1387" v1="1452" v2="2973" v3="3002" />
+ <tetrahedron index="9581" v0="1452" v1="2973" v2="3002" v3="3067" />
+ <tetrahedron index="9582" v0="774" v1="1253" v2="1286" v3="2389" />
+ <tetrahedron index="9583" v0="1253" v1="1286" v2="2389" v3="2868" />
+ <tetrahedron index="9584" v0="1286" v1="2389" v2="2868" v3="2901" />
+ <tetrahedron index="9585" v0="630" v1="1253" v2="1286" v3="2245" />
+ <tetrahedron index="9586" v0="1253" v1="1286" v2="2245" v3="2868" />
+ <tetrahedron index="9587" v0="1286" v1="2245" v2="2868" v3="2901" />
+ <tetrahedron index="9588" v0="958" v1="962" v2="1600" v3="2573" />
+ <tetrahedron index="9589" v0="962" v1="1600" v2="2573" v3="2577" />
+ <tetrahedron index="9590" v0="1600" v1="2573" v2="2577" v3="3215" />
+ <tetrahedron index="9591" v0="873" v1="958" v2="962" v3="2488" />
+ <tetrahedron index="9592" v0="958" v1="962" v2="2488" v3="2573" />
+ <tetrahedron index="9593" v0="962" v1="2488" v2="2573" v3="2577" />
+ <tetrahedron index="9594" v0="1516" v1="1574" v2="1575" v3="3131" />
+ <tetrahedron index="9595" v0="1574" v1="1575" v2="3131" v3="3189" />
+ <tetrahedron index="9596" v0="1575" v1="3131" v2="3189" v3="3190" />
+ <tetrahedron index="9597" v0="1502" v1="1516" v2="1575" v3="3117" />
+ <tetrahedron index="9598" v0="1516" v1="1575" v2="3117" v3="3131" />
+ <tetrahedron index="9599" v0="1575" v1="3117" v2="3131" v3="3190" />
+ <tetrahedron index="9600" v0="1349" v1="1350" v2="1590" v3="2964" />
+ <tetrahedron index="9601" v0="1350" v1="1590" v2="2964" v3="2965" />
+ <tetrahedron index="9602" v0="1590" v1="2964" v2="2965" v3="3205" />
+ <tetrahedron index="9603" v0="1349" v1="1367" v2="1590" v3="2964" />
+ <tetrahedron index="9604" v0="1367" v1="1590" v2="2964" v3="2982" />
+ <tetrahedron index="9605" v0="1590" v1="2964" v2="2982" v3="3205" />
+ <tetrahedron index="9606" v0="678" v1="1260" v2="1610" v3="2293" />
+ <tetrahedron index="9607" v0="1260" v1="1610" v2="2293" v3="2875" />
+ <tetrahedron index="9608" v0="1610" v1="2293" v2="2875" v3="3225" />
+ <tetrahedron index="9609" v0="678" v1="679" v2="1260" v3="2293" />
+ <tetrahedron index="9610" v0="679" v1="1260" v2="2293" v3="2294" />
+ <tetrahedron index="9611" v0="1260" v1="2293" v2="2294" v3="2875" />
+ <tetrahedron index="9612" v0="155" v1="1262" v2="1487" v3="1770" />
+ <tetrahedron index="9613" v0="1262" v1="1487" v2="1770" v3="2877" />
+ <tetrahedron index="9614" v0="1487" v1="1770" v2="2877" v3="3102" />
+ <tetrahedron index="9615" v0="155" v1="1487" v2="1596" v3="1770" />
+ <tetrahedron index="9616" v0="1487" v1="1596" v2="1770" v3="3102" />
+ <tetrahedron index="9617" v0="1596" v1="1770" v2="3102" v3="3211" />
+ <tetrahedron index="9618" v0="1419" v1="1431" v2="1578" v3="3034" />
+ <tetrahedron index="9619" v0="1431" v1="1578" v2="3034" v3="3046" />
+ <tetrahedron index="9620" v0="1578" v1="3034" v2="3046" v3="3193" />
+ <tetrahedron index="9621" v0="1088" v1="1419" v2="1431" v3="2703" />
+ <tetrahedron index="9622" v0="1419" v1="1431" v2="2703" v3="3034" />
+ <tetrahedron index="9623" v0="1431" v1="2703" v2="3034" v3="3046" />
+ <tetrahedron index="9624" v0="662" v1="1530" v2="1602" v3="2277" />
+ <tetrahedron index="9625" v0="1530" v1="1602" v2="2277" v3="3145" />
+ <tetrahedron index="9626" v0="1602" v1="2277" v2="3145" v3="3217" />
+ <tetrahedron index="9627" v0="662" v1="919" v2="1530" v3="2277" />
+ <tetrahedron index="9628" v0="919" v1="1530" v2="2277" v3="2534" />
+ <tetrahedron index="9629" v0="1530" v1="2277" v2="2534" v3="3145" />
+ <tetrahedron index="9630" v0="619" v1="1595" v2="1613" v3="2234" />
+ <tetrahedron index="9631" v0="1595" v1="1613" v2="2234" v3="3210" />
+ <tetrahedron index="9632" v0="1613" v1="2234" v2="3210" v3="3228" />
+ <tetrahedron index="9633" v0="619" v1="1604" v2="1613" v3="2234" />
+ <tetrahedron index="9634" v0="1604" v1="1613" v2="2234" v3="3219" />
+ <tetrahedron index="9635" v0="1613" v1="2234" v2="3219" v3="3228" />
+ <tetrahedron index="9636" v0="310" v1="497" v2="503" v3="1925" />
+ <tetrahedron index="9637" v0="497" v1="503" v2="1925" v3="2112" />
+ <tetrahedron index="9638" v0="503" v1="1925" v2="2112" v3="2118" />
+ <tetrahedron index="9639" v0="310" v1="495" v2="497" v3="1925" />
+ <tetrahedron index="9640" v0="495" v1="497" v2="1925" v3="2110" />
+ <tetrahedron index="9641" v0="497" v1="1925" v2="2110" v3="2112" />
+ <tetrahedron index="9642" v0="53" v1="157" v2="775" v3="1668" />
+ <tetrahedron index="9643" v0="157" v1="775" v2="1668" v3="1772" />
+ <tetrahedron index="9644" v0="775" v1="1668" v2="1772" v3="2390" />
+ <tetrahedron index="9645" v0="53" v1="511" v2="775" v3="1668" />
+ <tetrahedron index="9646" v0="511" v1="775" v2="1668" v3="2126" />
+ <tetrahedron index="9647" v0="775" v1="1668" v2="2126" v3="2390" />
+ <tetrahedron index="9648" v0="735" v1="770" v2="1258" v3="2350" />
+ <tetrahedron index="9649" v0="770" v1="1258" v2="2350" v3="2385" />
+ <tetrahedron index="9650" v0="1258" v1="2350" v2="2385" v3="2873" />
+ <tetrahedron index="9651" v0="734" v1="735" v2="1258" v3="2349" />
+ <tetrahedron index="9652" v0="735" v1="1258" v2="2349" v3="2350" />
+ <tetrahedron index="9653" v0="1258" v1="2349" v2="2350" v3="2873" />
+ <tetrahedron index="9654" v0="249" v1="252" v2="1457" v3="1864" />
+ <tetrahedron index="9655" v0="252" v1="1457" v2="1864" v3="1867" />
+ <tetrahedron index="9656" v0="1457" v1="1864" v2="1867" v3="3072" />
+ <tetrahedron index="9657" v0="249" v1="1457" v2="1472" v3="1864" />
+ <tetrahedron index="9658" v0="1457" v1="1472" v2="1864" v3="3072" />
+ <tetrahedron index="9659" v0="1472" v1="1864" v2="3072" v3="3087" />
+ <tetrahedron index="9660" v0="61" v1="775" v2="1003" v3="1676" />
+ <tetrahedron index="9661" v0="775" v1="1003" v2="1676" v3="2390" />
+ <tetrahedron index="9662" v0="1003" v1="1676" v2="2390" v3="2618" />
+ <tetrahedron index="9663" v0="61" v1="530" v2="1003" v3="1676" />
+ <tetrahedron index="9664" v0="530" v1="1003" v2="1676" v3="2145" />
+ <tetrahedron index="9665" v0="1003" v1="1676" v2="2145" v3="2618" />
+ <tetrahedron index="9666" v0="446" v1="619" v2="1346" v3="2061" />
+ <tetrahedron index="9667" v0="619" v1="1346" v2="2061" v3="2234" />
+ <tetrahedron index="9668" v0="1346" v1="2061" v2="2234" v3="2961" />
+ <tetrahedron index="9669" v0="446" v1="590" v2="1346" v3="2061" />
+ <tetrahedron index="9670" v0="590" v1="1346" v2="2061" v3="2205" />
+ <tetrahedron index="9671" v0="1346" v1="2061" v2="2205" v3="2961" />
+ <tetrahedron index="9672" v0="473" v1="1385" v2="1589" v3="2088" />
+ <tetrahedron index="9673" v0="1385" v1="1589" v2="2088" v3="3000" />
+ <tetrahedron index="9674" v0="1589" v1="2088" v2="3000" v3="3204" />
+ <tetrahedron index="9675" v0="418" v1="473" v2="1385" v3="2033" />
+ <tetrahedron index="9676" v0="473" v1="1385" v2="2033" v3="2088" />
+ <tetrahedron index="9677" v0="1385" v1="2033" v2="2088" v3="3000" />
+ <tetrahedron index="9678" v0="1615" v1="1616" v2="1617" v3="3230" />
+ <tetrahedron index="9679" v0="1616" v1="1617" v2="3230" v3="3231" />
+ <tetrahedron index="9680" v0="1617" v1="3230" v2="3231" v3="3232" />
+ <tetrahedron index="9681" v0="1618" v1="1619" v2="1620" v3="3233" />
+ <tetrahedron index="9682" v0="1619" v1="1620" v2="3233" v3="3234" />
+ <tetrahedron index="9683" v0="1620" v1="3233" v2="3234" v3="3235" />
+ <tetrahedron index="9684" v0="1621" v1="1622" v2="1623" v3="3236" />
+ <tetrahedron index="9685" v0="1622" v1="1623" v2="3236" v3="3237" />
+ <tetrahedron index="9686" v0="1623" v1="3236" v2="3237" v3="3238" />
+ <tetrahedron index="9687" v0="1624" v1="1625" v2="1626" v3="3239" />
+ <tetrahedron index="9688" v0="1625" v1="1626" v2="3239" v3="3240" />
+ <tetrahedron index="9689" v0="1626" v1="3239" v2="3240" v3="3241" />
+ <tetrahedron index="9690" v0="1627" v1="1628" v2="1629" v3="3242" />
+ <tetrahedron index="9691" v0="1628" v1="1629" v2="3242" v3="3243" />
+ <tetrahedron index="9692" v0="1629" v1="3242" v2="3243" v3="3244" />
+ <tetrahedron index="9693" v0="1630" v1="1631" v2="1632" v3="3245" />
+ <tetrahedron index="9694" v0="1631" v1="1632" v2="3245" v3="3246" />
+ <tetrahedron index="9695" v0="1632" v1="3245" v2="3246" v3="3247" />
+ <tetrahedron index="9696" v0="1630" v1="1633" v2="1634" v3="3245" />
+ <tetrahedron index="9697" v0="1633" v1="1634" v2="3245" v3="3248" />
+ <tetrahedron index="9698" v0="1634" v1="3245" v2="3248" v3="3249" />
+ <tetrahedron index="9699" v0="1635" v1="1636" v2="1637" v3="3250" />
+ <tetrahedron index="9700" v0="1636" v1="1637" v2="3250" v3="3251" />
+ <tetrahedron index="9701" v0="1637" v1="3250" v2="3251" v3="3252" />
+ <tetrahedron index="9702" v0="1635" v1="1637" v2="1638" v3="3250" />
+ <tetrahedron index="9703" v0="1637" v1="1638" v2="3250" v3="3252" />
+ <tetrahedron index="9704" v0="1638" v1="3250" v2="3252" v3="3253" />
+ <tetrahedron index="9705" v0="1639" v1="1640" v2="1641" v3="3254" />
+ <tetrahedron index="9706" v0="1640" v1="1641" v2="3254" v3="3255" />
+ <tetrahedron index="9707" v0="1641" v1="3254" v2="3255" v3="3256" />
+ <tetrahedron index="9708" v0="1642" v1="1643" v2="1644" v3="3257" />
+ <tetrahedron index="9709" v0="1643" v1="1644" v2="3257" v3="3258" />
+ <tetrahedron index="9710" v0="1644" v1="3257" v2="3258" v3="3259" />
+ <tetrahedron index="9711" v0="1643" v1="1645" v2="1646" v3="3258" />
+ <tetrahedron index="9712" v0="1645" v1="1646" v2="3258" v3="3260" />
+ <tetrahedron index="9713" v0="1646" v1="3258" v2="3260" v3="3261" />
+ <tetrahedron index="9714" v0="1647" v1="1648" v2="1649" v3="3262" />
+ <tetrahedron index="9715" v0="1648" v1="1649" v2="3262" v3="3263" />
+ <tetrahedron index="9716" v0="1649" v1="3262" v2="3263" v3="3264" />
+ <tetrahedron index="9717" v0="1650" v1="1651" v2="1652" v3="3265" />
+ <tetrahedron index="9718" v0="1651" v1="1652" v2="3265" v3="3266" />
+ <tetrahedron index="9719" v0="1652" v1="3265" v2="3266" v3="3267" />
+ <tetrahedron index="9720" v0="1651" v1="1652" v2="1653" v3="3266" />
+ <tetrahedron index="9721" v0="1652" v1="1653" v2="3266" v3="3267" />
+ <tetrahedron index="9722" v0="1653" v1="3266" v2="3267" v3="3268" />
+ <tetrahedron index="9723" v0="1652" v1="1653" v2="1654" v3="3267" />
+ <tetrahedron index="9724" v0="1653" v1="1654" v2="3267" v3="3268" />
+ <tetrahedron index="9725" v0="1654" v1="3267" v2="3268" v3="3269" />
+ <tetrahedron index="9726" v0="1651" v1="1653" v2="1655" v3="3266" />
+ <tetrahedron index="9727" v0="1653" v1="1655" v2="3266" v3="3268" />
+ <tetrahedron index="9728" v0="1655" v1="3266" v2="3268" v3="3270" />
+ <tetrahedron index="9729" v0="1656" v1="1657" v2="1658" v3="3271" />
+ <tetrahedron index="9730" v0="1657" v1="1658" v2="3271" v3="3272" />
+ <tetrahedron index="9731" v0="1658" v1="3271" v2="3272" v3="3273" />
+ <tetrahedron index="9732" v0="1659" v1="1660" v2="1661" v3="3274" />
+ <tetrahedron index="9733" v0="1660" v1="1661" v2="3274" v3="3275" />
+ <tetrahedron index="9734" v0="1661" v1="3274" v2="3275" v3="3276" />
+ <tetrahedron index="9735" v0="1655" v1="1662" v2="1663" v3="3270" />
+ <tetrahedron index="9736" v0="1662" v1="1663" v2="3270" v3="3277" />
+ <tetrahedron index="9737" v0="1663" v1="3270" v2="3277" v3="3278" />
+ <tetrahedron index="9738" v0="1659" v1="1661" v2="1664" v3="3274" />
+ <tetrahedron index="9739" v0="1661" v1="1664" v2="3274" v3="3276" />
+ <tetrahedron index="9740" v0="1664" v1="3274" v2="3276" v3="3279" />
+ <tetrahedron index="9741" v0="1665" v1="1666" v2="1667" v3="3280" />
+ <tetrahedron index="9742" v0="1666" v1="1667" v2="3280" v3="3281" />
+ <tetrahedron index="9743" v0="1667" v1="3280" v2="3281" v3="3282" />
+ <tetrahedron index="9744" v0="1665" v1="1666" v2="1668" v3="3280" />
+ <tetrahedron index="9745" v0="1666" v1="1668" v2="3280" v3="3281" />
+ <tetrahedron index="9746" v0="1668" v1="3280" v2="3281" v3="3283" />
+ <tetrahedron index="9747" v0="1663" v1="1666" v2="1669" v3="3278" />
+ <tetrahedron index="9748" v0="1666" v1="1669" v2="3278" v3="3281" />
+ <tetrahedron index="9749" v0="1669" v1="3278" v2="3281" v3="3284" />
+ <tetrahedron index="9750" v0="1662" v1="1663" v2="1669" v3="3277" />
+ <tetrahedron index="9751" v0="1663" v1="1669" v2="3277" v3="3278" />
+ <tetrahedron index="9752" v0="1669" v1="3277" v2="3278" v3="3284" />
+ <tetrahedron index="9753" v0="1655" v1="1662" v2="1670" v3="3270" />
+ <tetrahedron index="9754" v0="1662" v1="1670" v2="3270" v3="3277" />
+ <tetrahedron index="9755" v0="1670" v1="3270" v2="3277" v3="3285" />
+ <tetrahedron index="9756" v0="1665" v1="1668" v2="1671" v3="3280" />
+ <tetrahedron index="9757" v0="1668" v1="1671" v2="3280" v3="3283" />
+ <tetrahedron index="9758" v0="1671" v1="3280" v2="3283" v3="3286" />
+ <tetrahedron index="9759" v0="1662" v1="1670" v2="1672" v3="3277" />
+ <tetrahedron index="9760" v0="1670" v1="1672" v2="3277" v3="3285" />
+ <tetrahedron index="9761" v0="1672" v1="3277" v2="3285" v3="3287" />
+ <tetrahedron index="9762" v0="1673" v1="1674" v2="1675" v3="3288" />
+ <tetrahedron index="9763" v0="1674" v1="1675" v2="3288" v3="3289" />
+ <tetrahedron index="9764" v0="1675" v1="3288" v2="3289" v3="3290" />
+ <tetrahedron index="9765" v0="1676" v1="1677" v2="1678" v3="3291" />
+ <tetrahedron index="9766" v0="1677" v1="1678" v2="3291" v3="3292" />
+ <tetrahedron index="9767" v0="1678" v1="3291" v2="3292" v3="3293" />
+ <tetrahedron index="9768" v0="1679" v1="1680" v2="1681" v3="3294" />
+ <tetrahedron index="9769" v0="1680" v1="1681" v2="3294" v3="3295" />
+ <tetrahedron index="9770" v0="1681" v1="3294" v2="3295" v3="3296" />
+ <tetrahedron index="9771" v0="1679" v1="1681" v2="1682" v3="3294" />
+ <tetrahedron index="9772" v0="1681" v1="1682" v2="3294" v3="3296" />
+ <tetrahedron index="9773" v0="1682" v1="3294" v2="3296" v3="3297" />
+ <tetrahedron index="9774" v0="1683" v1="1684" v2="1685" v3="3298" />
+ <tetrahedron index="9775" v0="1684" v1="1685" v2="3298" v3="3299" />
+ <tetrahedron index="9776" v0="1685" v1="3298" v2="3299" v3="3300" />
+ <tetrahedron index="9777" v0="1684" v1="1686" v2="1687" v3="3299" />
+ <tetrahedron index="9778" v0="1686" v1="1687" v2="3299" v3="3301" />
+ <tetrahedron index="9779" v0="1687" v1="3299" v2="3301" v3="3302" />
+ <tetrahedron index="9780" v0="1688" v1="1689" v2="1690" v3="3303" />
+ <tetrahedron index="9781" v0="1689" v1="1690" v2="3303" v3="3304" />
+ <tetrahedron index="9782" v0="1690" v1="3303" v2="3304" v3="3305" />
+ <tetrahedron index="9783" v0="1691" v1="1692" v2="1693" v3="3306" />
+ <tetrahedron index="9784" v0="1692" v1="1693" v2="3306" v3="3307" />
+ <tetrahedron index="9785" v0="1693" v1="3306" v2="3307" v3="3308" />
+ <tetrahedron index="9786" v0="1694" v1="1695" v2="1696" v3="3309" />
+ <tetrahedron index="9787" v0="1695" v1="1696" v2="3309" v3="3310" />
+ <tetrahedron index="9788" v0="1696" v1="3309" v2="3310" v3="3311" />
+ <tetrahedron index="9789" v0="1697" v1="1698" v2="1699" v3="3312" />
+ <tetrahedron index="9790" v0="1698" v1="1699" v2="3312" v3="3313" />
+ <tetrahedron index="9791" v0="1699" v1="3312" v2="3313" v3="3314" />
+ <tetrahedron index="9792" v0="1700" v1="1701" v2="1702" v3="3315" />
+ <tetrahedron index="9793" v0="1701" v1="1702" v2="3315" v3="3316" />
+ <tetrahedron index="9794" v0="1702" v1="3315" v2="3316" v3="3317" />
+ <tetrahedron index="9795" v0="1703" v1="1704" v2="1705" v3="3318" />
+ <tetrahedron index="9796" v0="1704" v1="1705" v2="3318" v3="3319" />
+ <tetrahedron index="9797" v0="1705" v1="3318" v2="3319" v3="3320" />
+ <tetrahedron index="9798" v0="1706" v1="1707" v2="1708" v3="3321" />
+ <tetrahedron index="9799" v0="1707" v1="1708" v2="3321" v3="3322" />
+ <tetrahedron index="9800" v0="1708" v1="3321" v2="3322" v3="3323" />
+ <tetrahedron index="9801" v0="1709" v1="1710" v2="1711" v3="3324" />
+ <tetrahedron index="9802" v0="1710" v1="1711" v2="3324" v3="3325" />
+ <tetrahedron index="9803" v0="1711" v1="3324" v2="3325" v3="3326" />
+ <tetrahedron index="9804" v0="1712" v1="1713" v2="1714" v3="3327" />
+ <tetrahedron index="9805" v0="1713" v1="1714" v2="3327" v3="3328" />
+ <tetrahedron index="9806" v0="1714" v1="3327" v2="3328" v3="3329" />
+ <tetrahedron index="9807" v0="1715" v1="1716" v2="1717" v3="3330" />
+ <tetrahedron index="9808" v0="1716" v1="1717" v2="3330" v3="3331" />
+ <tetrahedron index="9809" v0="1717" v1="3330" v2="3331" v3="3332" />
+ <tetrahedron index="9810" v0="1718" v1="1719" v2="1720" v3="3333" />
+ <tetrahedron index="9811" v0="1719" v1="1720" v2="3333" v3="3334" />
+ <tetrahedron index="9812" v0="1720" v1="3333" v2="3334" v3="3335" />
+ <tetrahedron index="9813" v0="1715" v1="1716" v2="1721" v3="3330" />
+ <tetrahedron index="9814" v0="1716" v1="1721" v2="3330" v3="3331" />
+ <tetrahedron index="9815" v0="1721" v1="3330" v2="3331" v3="3336" />
+ <tetrahedron index="9816" v0="1722" v1="1723" v2="1724" v3="3337" />
+ <tetrahedron index="9817" v0="1723" v1="1724" v2="3337" v3="3338" />
+ <tetrahedron index="9818" v0="1724" v1="3337" v2="3338" v3="3339" />
+ <tetrahedron index="9819" v0="1615" v1="1616" v2="1725" v3="3230" />
+ <tetrahedron index="9820" v0="1616" v1="1725" v2="3230" v3="3231" />
+ <tetrahedron index="9821" v0="1725" v1="3230" v2="3231" v3="3340" />
+ <tetrahedron index="9822" v0="1726" v1="1727" v2="1728" v3="3341" />
+ <tetrahedron index="9823" v0="1727" v1="1728" v2="3341" v3="3342" />
+ <tetrahedron index="9824" v0="1728" v1="3341" v2="3342" v3="3343" />
+ <tetrahedron index="9825" v0="1618" v1="1729" v2="1730" v3="3233" />
+ <tetrahedron index="9826" v0="1729" v1="1730" v2="3233" v3="3344" />
+ <tetrahedron index="9827" v0="1730" v1="3233" v2="3344" v3="3345" />
+ <tetrahedron index="9828" v0="1731" v1="1732" v2="1733" v3="3346" />
+ <tetrahedron index="9829" v0="1732" v1="1733" v2="3346" v3="3347" />
+ <tetrahedron index="9830" v0="1733" v1="3346" v2="3347" v3="3348" />
+ <tetrahedron index="9831" v0="1734" v1="1735" v2="1736" v3="3349" />
+ <tetrahedron index="9832" v0="1735" v1="1736" v2="3349" v3="3350" />
+ <tetrahedron index="9833" v0="1736" v1="3349" v2="3350" v3="3351" />
+ <tetrahedron index="9834" v0="1737" v1="1738" v2="1739" v3="3352" />
+ <tetrahedron index="9835" v0="1738" v1="1739" v2="3352" v3="3353" />
+ <tetrahedron index="9836" v0="1739" v1="3352" v2="3353" v3="3354" />
+ <tetrahedron index="9837" v0="1740" v1="1741" v2="1742" v3="3355" />
+ <tetrahedron index="9838" v0="1741" v1="1742" v2="3355" v3="3356" />
+ <tetrahedron index="9839" v0="1742" v1="3355" v2="3356" v3="3357" />
+ <tetrahedron index="9840" v0="1743" v1="1744" v2="1745" v3="3358" />
+ <tetrahedron index="9841" v0="1744" v1="1745" v2="3358" v3="3359" />
+ <tetrahedron index="9842" v0="1745" v1="3358" v2="3359" v3="3360" />
+ <tetrahedron index="9843" v0="1746" v1="1747" v2="1748" v3="3361" />
+ <tetrahedron index="9844" v0="1747" v1="1748" v2="3361" v3="3362" />
+ <tetrahedron index="9845" v0="1748" v1="3361" v2="3362" v3="3363" />
+ <tetrahedron index="9846" v0="1625" v1="1626" v2="1749" v3="3240" />
+ <tetrahedron index="9847" v0="1626" v1="1749" v2="3240" v3="3241" />
+ <tetrahedron index="9848" v0="1749" v1="3240" v2="3241" v3="3364" />
+ <tetrahedron index="9849" v0="1626" v1="1750" v2="1751" v3="3241" />
+ <tetrahedron index="9850" v0="1750" v1="1751" v2="3241" v3="3365" />
+ <tetrahedron index="9851" v0="1751" v1="3241" v2="3365" v3="3366" />
+ <tetrahedron index="9852" v0="1752" v1="1753" v2="1754" v3="3367" />
+ <tetrahedron index="9853" v0="1753" v1="1754" v2="3367" v3="3368" />
+ <tetrahedron index="9854" v0="1754" v1="3367" v2="3368" v3="3369" />
+ <tetrahedron index="9855" v0="1631" v1="1755" v2="1756" v3="3246" />
+ <tetrahedron index="9856" v0="1755" v1="1756" v2="3246" v3="3370" />
+ <tetrahedron index="9857" v0="1756" v1="3246" v2="3370" v3="3371" />
+ <tetrahedron index="9858" v0="1630" v1="1634" v2="1757" v3="3245" />
+ <tetrahedron index="9859" v0="1634" v1="1757" v2="3245" v3="3249" />
+ <tetrahedron index="9860" v0="1757" v1="3245" v2="3249" v3="3372" />
+ <tetrahedron index="9861" v0="1758" v1="1759" v2="1760" v3="3373" />
+ <tetrahedron index="9862" v0="1759" v1="1760" v2="3373" v3="3374" />
+ <tetrahedron index="9863" v0="1760" v1="3373" v2="3374" v3="3375" />
+ <tetrahedron index="9864" v0="1761" v1="1762" v2="1763" v3="3376" />
+ <tetrahedron index="9865" v0="1762" v1="1763" v2="3376" v3="3377" />
+ <tetrahedron index="9866" v0="1763" v1="3376" v2="3377" v3="3378" />
+ <tetrahedron index="9867" v0="1646" v1="1652" v2="1654" v3="3261" />
+ <tetrahedron index="9868" v0="1652" v1="1654" v2="3261" v3="3267" />
+ <tetrahedron index="9869" v0="1654" v1="3261" v2="3267" v3="3269" />
+ <tetrahedron index="9870" v0="1656" v1="1658" v2="1763" v3="3271" />
+ <tetrahedron index="9871" v0="1658" v1="1763" v2="3271" v3="3273" />
+ <tetrahedron index="9872" v0="1763" v1="3271" v2="3273" v3="3378" />
+ <tetrahedron index="9873" v0="1655" v1="1663" v2="1764" v3="3270" />
+ <tetrahedron index="9874" v0="1663" v1="1764" v2="3270" v3="3278" />
+ <tetrahedron index="9875" v0="1764" v1="3270" v2="3278" v3="3379" />
+ <tetrahedron index="9876" v0="1653" v1="1655" v2="1764" v3="3268" />
+ <tetrahedron index="9877" v0="1655" v1="1764" v2="3268" v3="3270" />
+ <tetrahedron index="9878" v0="1764" v1="3268" v2="3270" v3="3379" />
+ <tetrahedron index="9879" v0="1650" v1="1651" v2="1765" v3="3265" />
+ <tetrahedron index="9880" v0="1651" v1="1765" v2="3265" v3="3266" />
+ <tetrahedron index="9881" v0="1765" v1="3265" v2="3266" v3="3380" />
+ <tetrahedron index="9882" v0="1758" v1="1759" v2="1766" v3="3373" />
+ <tetrahedron index="9883" v0="1759" v1="1766" v2="3373" v3="3374" />
+ <tetrahedron index="9884" v0="1766" v1="3373" v2="3374" v3="3381" />
+ <tetrahedron index="9885" v0="1663" v1="1764" v2="1767" v3="3278" />
+ <tetrahedron index="9886" v0="1764" v1="1767" v2="3278" v3="3379" />
+ <tetrahedron index="9887" v0="1767" v1="3278" v2="3379" v3="3382" />
+ <tetrahedron index="9888" v0="1768" v1="1769" v2="1770" v3="3383" />
+ <tetrahedron index="9889" v0="1769" v1="1770" v2="3383" v3="3384" />
+ <tetrahedron index="9890" v0="1770" v1="3383" v2="3384" v3="3385" />
+ <tetrahedron index="9891" v0="1768" v1="1769" v2="1771" v3="3383" />
+ <tetrahedron index="9892" v0="1769" v1="1771" v2="3383" v3="3384" />
+ <tetrahedron index="9893" v0="1771" v1="3383" v2="3384" v3="3386" />
+ <tetrahedron index="9894" v0="1651" v1="1655" v2="1670" v3="3266" />
+ <tetrahedron index="9895" v0="1655" v1="1670" v2="3266" v3="3270" />
+ <tetrahedron index="9896" v0="1670" v1="3266" v2="3270" v3="3285" />
+ <tetrahedron index="9897" v0="1651" v1="1670" v2="1765" v3="3266" />
+ <tetrahedron index="9898" v0="1670" v1="1765" v2="3266" v3="3285" />
+ <tetrahedron index="9899" v0="1765" v1="3266" v2="3285" v3="3380" />
+ <tetrahedron index="9900" v0="1668" v1="1767" v2="1772" v3="3283" />
+ <tetrahedron index="9901" v0="1767" v1="1772" v2="3283" v3="3382" />
+ <tetrahedron index="9902" v0="1772" v1="3283" v2="3382" v3="3387" />
+ <tetrahedron index="9903" v0="1773" v1="1774" v2="1775" v3="3388" />
+ <tetrahedron index="9904" v0="1774" v1="1775" v2="3388" v3="3389" />
+ <tetrahedron index="9905" v0="1775" v1="3388" v2="3389" v3="3390" />
+ <tetrahedron index="9906" v0="1776" v1="1777" v2="1778" v3="3391" />
+ <tetrahedron index="9907" v0="1777" v1="1778" v2="3391" v3="3392" />
+ <tetrahedron index="9908" v0="1778" v1="3391" v2="3392" v3="3393" />
+ <tetrahedron index="9909" v0="1779" v1="1780" v2="1781" v3="3394" />
+ <tetrahedron index="9910" v0="1780" v1="1781" v2="3394" v3="3395" />
+ <tetrahedron index="9911" v0="1781" v1="3394" v2="3395" v3="3396" />
+ <tetrahedron index="9912" v0="1782" v1="1783" v2="1784" v3="3397" />
+ <tetrahedron index="9913" v0="1783" v1="1784" v2="3397" v3="3398" />
+ <tetrahedron index="9914" v0="1784" v1="3397" v2="3398" v3="3399" />
+ <tetrahedron index="9915" v0="1779" v1="1781" v2="1785" v3="3394" />
+ <tetrahedron index="9916" v0="1781" v1="1785" v2="3394" v3="3396" />
+ <tetrahedron index="9917" v0="1785" v1="3394" v2="3396" v3="3400" />
+ <tetrahedron index="9918" v0="1687" v1="1781" v2="1785" v3="3302" />
+ <tetrahedron index="9919" v0="1781" v1="1785" v2="3302" v3="3396" />
+ <tetrahedron index="9920" v0="1785" v1="3302" v2="3396" v3="3400" />
+ <tetrahedron index="9921" v0="1786" v1="1787" v2="1788" v3="3401" />
+ <tetrahedron index="9922" v0="1787" v1="1788" v2="3401" v3="3402" />
+ <tetrahedron index="9923" v0="1788" v1="3401" v2="3402" v3="3403" />
+ <tetrahedron index="9924" v0="1789" v1="1790" v2="1791" v3="3404" />
+ <tetrahedron index="9925" v0="1790" v1="1791" v2="3404" v3="3405" />
+ <tetrahedron index="9926" v0="1791" v1="3404" v2="3405" v3="3406" />
+ <tetrahedron index="9927" v0="1697" v1="1787" v2="1792" v3="3312" />
+ <tetrahedron index="9928" v0="1787" v1="1792" v2="3312" v3="3402" />
+ <tetrahedron index="9929" v0="1792" v1="3312" v2="3402" v3="3407" />
+ <tetrahedron index="9930" v0="1793" v1="1794" v2="1795" v3="3408" />
+ <tetrahedron index="9931" v0="1794" v1="1795" v2="3408" v3="3409" />
+ <tetrahedron index="9932" v0="1795" v1="3408" v2="3409" v3="3410" />
+ <tetrahedron index="9933" v0="1796" v1="1797" v2="1798" v3="3411" />
+ <tetrahedron index="9934" v0="1797" v1="1798" v2="3411" v3="3412" />
+ <tetrahedron index="9935" v0="1798" v1="3411" v2="3412" v3="3413" />
+ <tetrahedron index="9936" v0="1799" v1="1800" v2="1801" v3="3414" />
+ <tetrahedron index="9937" v0="1800" v1="1801" v2="3414" v3="3415" />
+ <tetrahedron index="9938" v0="1801" v1="3414" v2="3415" v3="3416" />
+ <tetrahedron index="9939" v0="1802" v1="1803" v2="1804" v3="3417" />
+ <tetrahedron index="9940" v0="1803" v1="1804" v2="3417" v3="3418" />
+ <tetrahedron index="9941" v0="1804" v1="3417" v2="3418" v3="3419" />
+ <tetrahedron index="9942" v0="1805" v1="1806" v2="1807" v3="3420" />
+ <tetrahedron index="9943" v0="1806" v1="1807" v2="3420" v3="3421" />
+ <tetrahedron index="9944" v0="1807" v1="3420" v2="3421" v3="3422" />
+ <tetrahedron index="9945" v0="1662" v1="1669" v2="1672" v3="3277" />
+ <tetrahedron index="9946" v0="1669" v1="1672" v2="3277" v3="3284" />
+ <tetrahedron index="9947" v0="1672" v1="3277" v2="3284" v3="3287" />
+ <tetrahedron index="9948" v0="1710" v1="1711" v2="1808" v3="3325" />
+ <tetrahedron index="9949" v0="1711" v1="1808" v2="3325" v3="3326" />
+ <tetrahedron index="9950" v0="1808" v1="3325" v2="3326" v3="3423" />
+ <tetrahedron index="9951" v0="1675" v1="1809" v2="1810" v3="3290" />
+ <tetrahedron index="9952" v0="1809" v1="1810" v2="3290" v3="3424" />
+ <tetrahedron index="9953" v0="1810" v1="3290" v2="3424" v3="3425" />
+ <tetrahedron index="9954" v0="1811" v1="1812" v2="1813" v3="3426" />
+ <tetrahedron index="9955" v0="1812" v1="1813" v2="3426" v3="3427" />
+ <tetrahedron index="9956" v0="1813" v1="3426" v2="3427" v3="3428" />
+ <tetrahedron index="9957" v0="1738" v1="1814" v2="1815" v3="3353" />
+ <tetrahedron index="9958" v0="1814" v1="1815" v2="3353" v3="3429" />
+ <tetrahedron index="9959" v0="1815" v1="3353" v2="3429" v3="3430" />
+ <tetrahedron index="9960" v0="1816" v1="1817" v2="1818" v3="3431" />
+ <tetrahedron index="9961" v0="1817" v1="1818" v2="3431" v3="3432" />
+ <tetrahedron index="9962" v0="1818" v1="3431" v2="3432" v3="3433" />
+ <tetrahedron index="9963" v0="1707" v1="1708" v2="1819" v3="3322" />
+ <tetrahedron index="9964" v0="1708" v1="1819" v2="3322" v3="3323" />
+ <tetrahedron index="9965" v0="1819" v1="3322" v2="3323" v3="3434" />
+ <tetrahedron index="9966" v0="1820" v1="1821" v2="1822" v3="3435" />
+ <tetrahedron index="9967" v0="1821" v1="1822" v2="3435" v3="3436" />
+ <tetrahedron index="9968" v0="1822" v1="3435" v2="3436" v3="3437" />
+ <tetrahedron index="9969" v0="1823" v1="1824" v2="1825" v3="3438" />
+ <tetrahedron index="9970" v0="1824" v1="1825" v2="3438" v3="3439" />
+ <tetrahedron index="9971" v0="1825" v1="3438" v2="3439" v3="3440" />
+ <tetrahedron index="9972" v0="1826" v1="1827" v2="1828" v3="3441" />
+ <tetrahedron index="9973" v0="1827" v1="1828" v2="3441" v3="3442" />
+ <tetrahedron index="9974" v0="1828" v1="3441" v2="3442" v3="3443" />
+ <tetrahedron index="9975" v0="1749" v1="1829" v2="1830" v3="3364" />
+ <tetrahedron index="9976" v0="1829" v1="1830" v2="3364" v3="3444" />
+ <tetrahedron index="9977" v0="1830" v1="3364" v2="3444" v3="3445" />
+ <tetrahedron index="9978" v0="1630" v1="1631" v2="1633" v3="3245" />
+ <tetrahedron index="9979" v0="1631" v1="1633" v2="3245" v3="3246" />
+ <tetrahedron index="9980" v0="1633" v1="3245" v2="3246" v3="3248" />
+ <tetrahedron index="9981" v0="1631" v1="1632" v2="1831" v3="3246" />
+ <tetrahedron index="9982" v0="1632" v1="1831" v2="3246" v3="3247" />
+ <tetrahedron index="9983" v0="1831" v1="3246" v2="3247" v3="3446" />
+ <tetrahedron index="9984" v0="1832" v1="1833" v2="1834" v3="3447" />
+ <tetrahedron index="9985" v0="1833" v1="1834" v2="3447" v3="3448" />
+ <tetrahedron index="9986" v0="1834" v1="3447" v2="3448" v3="3449" />
+ <tetrahedron index="9987" v0="1835" v1="1836" v2="1837" v3="3450" />
+ <tetrahedron index="9988" v0="1836" v1="1837" v2="3450" v3="3451" />
+ <tetrahedron index="9989" v0="1837" v1="3450" v2="3451" v3="3452" />
+ <tetrahedron index="9990" v0="1838" v1="1839" v2="1840" v3="3453" />
+ <tetrahedron index="9991" v0="1839" v1="1840" v2="3453" v3="3454" />
+ <tetrahedron index="9992" v0="1840" v1="3453" v2="3454" v3="3455" />
+ <tetrahedron index="9993" v0="1713" v1="1841" v2="1842" v3="3328" />
+ <tetrahedron index="9994" v0="1841" v1="1842" v2="3328" v3="3456" />
+ <tetrahedron index="9995" v0="1842" v1="3328" v2="3456" v3="3457" />
+ <tetrahedron index="9996" v0="1823" v1="1824" v2="1843" v3="3438" />
+ <tetrahedron index="9997" v0="1824" v1="1843" v2="3438" v3="3439" />
+ <tetrahedron index="9998" v0="1843" v1="3438" v2="3439" v3="3458" />
+ <tetrahedron index="9999" v0="1844" v1="1845" v2="1846" v3="3459" />
+ <tetrahedron index="10000" v0="1845" v1="1846" v2="3459" v3="3460" />
+ <tetrahedron index="10001" v0="1846" v1="3459" v2="3460" v3="3461" />
+ <tetrahedron index="10002" v0="1847" v1="1848" v2="1849" v3="3462" />
+ <tetrahedron index="10003" v0="1848" v1="1849" v2="3462" v3="3463" />
+ <tetrahedron index="10004" v0="1849" v1="3462" v2="3463" v3="3464" />
+ <tetrahedron index="10005" v0="1850" v1="1851" v2="1852" v3="3465" />
+ <tetrahedron index="10006" v0="1851" v1="1852" v2="3465" v3="3466" />
+ <tetrahedron index="10007" v0="1852" v1="3465" v2="3466" v3="3467" />
+ <tetrahedron index="10008" v0="1721" v1="1853" v2="1854" v3="3336" />
+ <tetrahedron index="10009" v0="1853" v1="1854" v2="3336" v3="3468" />
+ <tetrahedron index="10010" v0="1854" v1="3336" v2="3468" v3="3469" />
+ <tetrahedron index="10011" v0="1716" v1="1721" v2="1854" v3="3331" />
+ <tetrahedron index="10012" v0="1721" v1="1854" v2="3331" v3="3336" />
+ <tetrahedron index="10013" v0="1854" v1="3331" v2="3336" v3="3469" />
+ <tetrahedron index="10014" v0="1855" v1="1856" v2="1857" v3="3470" />
+ <tetrahedron index="10015" v0="1856" v1="1857" v2="3470" v3="3471" />
+ <tetrahedron index="10016" v0="1857" v1="3470" v2="3471" v3="3472" />
+ <tetrahedron index="10017" v0="1855" v1="1857" v2="1858" v3="3470" />
+ <tetrahedron index="10018" v0="1857" v1="1858" v2="3470" v3="3472" />
+ <tetrahedron index="10019" v0="1858" v1="3470" v2="3472" v3="3473" />
+ <tetrahedron index="10020" v0="1859" v1="1860" v2="1861" v3="3474" />
+ <tetrahedron index="10021" v0="1860" v1="1861" v2="3474" v3="3475" />
+ <tetrahedron index="10022" v0="1861" v1="3474" v2="3475" v3="3476" />
+ <tetrahedron index="10023" v0="1828" v1="1862" v2="1863" v3="3443" />
+ <tetrahedron index="10024" v0="1862" v1="1863" v2="3443" v3="3477" />
+ <tetrahedron index="10025" v0="1863" v1="3443" v2="3477" v3="3478" />
+ <tetrahedron index="10026" v0="1864" v1="1865" v2="1866" v3="3479" />
+ <tetrahedron index="10027" v0="1865" v1="1866" v2="3479" v3="3480" />
+ <tetrahedron index="10028" v0="1866" v1="3479" v2="3480" v3="3481" />
+ <tetrahedron index="10029" v0="1864" v1="1866" v2="1867" v3="3479" />
+ <tetrahedron index="10030" v0="1866" v1="1867" v2="3479" v3="3481" />
+ <tetrahedron index="10031" v0="1867" v1="3479" v2="3481" v3="3482" />
+ <tetrahedron index="10032" v0="1629" v1="1868" v2="1869" v3="3244" />
+ <tetrahedron index="10033" v0="1868" v1="1869" v2="3244" v3="3483" />
+ <tetrahedron index="10034" v0="1869" v1="3244" v2="3483" v3="3484" />
+ <tetrahedron index="10035" v0="1630" v1="1632" v2="1760" v3="3245" />
+ <tetrahedron index="10036" v0="1632" v1="1760" v2="3245" v3="3247" />
+ <tetrahedron index="10037" v0="1760" v1="3245" v2="3247" v3="3375" />
+ <tetrahedron index="10038" v0="1630" v1="1757" v2="1760" v3="3245" />
+ <tetrahedron index="10039" v0="1757" v1="1760" v2="3245" v3="3372" />
+ <tetrahedron index="10040" v0="1760" v1="3245" v2="3372" v3="3375" />
+ <tetrahedron index="10041" v0="1646" v1="1650" v2="1652" v3="3261" />
+ <tetrahedron index="10042" v0="1650" v1="1652" v2="3261" v3="3265" />
+ <tetrahedron index="10043" v0="1652" v1="3261" v2="3265" v3="3267" />
+ <tetrahedron index="10044" v0="1643" v1="1646" v2="1650" v3="3258" />
+ <tetrahedron index="10045" v0="1646" v1="1650" v2="3258" v3="3261" />
+ <tetrahedron index="10046" v0="1650" v1="3258" v2="3261" v3="3265" />
+ <tetrahedron index="10047" v0="1642" v1="1643" v2="1650" v3="3257" />
+ <tetrahedron index="10048" v0="1643" v1="1650" v2="3257" v3="3258" />
+ <tetrahedron index="10049" v0="1650" v1="3257" v2="3258" v3="3265" />
+ <tetrahedron index="10050" v0="1665" v1="1667" v2="1771" v3="3280" />
+ <tetrahedron index="10051" v0="1667" v1="1771" v2="3280" v3="3282" />
+ <tetrahedron index="10052" v0="1771" v1="3280" v2="3282" v3="3386" />
+ <tetrahedron index="10053" v0="1670" v1="1765" v2="1870" v3="3285" />
+ <tetrahedron index="10054" v0="1765" v1="1870" v2="3285" v3="3380" />
+ <tetrahedron index="10055" v0="1870" v1="3285" v2="3380" v3="3485" />
+ <tetrahedron index="10056" v0="1871" v1="1872" v2="1873" v3="3486" />
+ <tetrahedron index="10057" v0="1872" v1="1873" v2="3486" v3="3487" />
+ <tetrahedron index="10058" v0="1873" v1="3486" v2="3487" v3="3488" />
+ <tetrahedron index="10059" v0="1871" v1="1873" v2="1874" v3="3486" />
+ <tetrahedron index="10060" v0="1873" v1="1874" v2="3486" v3="3488" />
+ <tetrahedron index="10061" v0="1874" v1="3486" v2="3488" v3="3489" />
+ <tetrahedron index="10062" v0="1875" v1="1876" v2="1877" v3="3490" />
+ <tetrahedron index="10063" v0="1876" v1="1877" v2="3490" v3="3491" />
+ <tetrahedron index="10064" v0="1877" v1="3490" v2="3491" v3="3492" />
+ <tetrahedron index="10065" v0="1697" v1="1699" v2="1787" v3="3312" />
+ <tetrahedron index="10066" v0="1699" v1="1787" v2="3312" v3="3314" />
+ <tetrahedron index="10067" v0="1787" v1="3312" v2="3314" v3="3402" />
+ <tetrahedron index="10068" v0="1701" v1="1878" v2="1879" v3="3316" />
+ <tetrahedron index="10069" v0="1878" v1="1879" v2="3316" v3="3493" />
+ <tetrahedron index="10070" v0="1879" v1="3316" v2="3493" v3="3494" />
+ <tetrahedron index="10071" v0="1880" v1="1881" v2="1882" v3="3495" />
+ <tetrahedron index="10072" v0="1881" v1="1882" v2="3495" v3="3496" />
+ <tetrahedron index="10073" v0="1882" v1="3495" v2="3496" v3="3497" />
+ <tetrahedron index="10074" v0="1880" v1="1882" v2="1883" v3="3495" />
+ <tetrahedron index="10075" v0="1882" v1="1883" v2="3495" v3="3497" />
+ <tetrahedron index="10076" v0="1883" v1="3495" v2="3497" v3="3498" />
+ <tetrahedron index="10077" v0="1859" v1="1861" v2="1884" v3="3474" />
+ <tetrahedron index="10078" v0="1861" v1="1884" v2="3474" v3="3476" />
+ <tetrahedron index="10079" v0="1884" v1="3474" v2="3476" v3="3499" />
+ <tetrahedron index="10080" v0="1826" v1="1827" v2="1885" v3="3441" />
+ <tetrahedron index="10081" v0="1827" v1="1885" v2="3441" v3="3442" />
+ <tetrahedron index="10082" v0="1885" v1="3441" v2="3442" v3="3500" />
+ <tetrahedron index="10083" v0="1631" v1="1756" v2="1831" v3="3246" />
+ <tetrahedron index="10084" v0="1756" v1="1831" v2="3246" v3="3371" />
+ <tetrahedron index="10085" v0="1831" v1="3246" v2="3371" v3="3446" />
+ <tetrahedron index="10086" v0="1886" v1="1887" v2="1888" v3="3501" />
+ <tetrahedron index="10087" v0="1887" v1="1888" v2="3501" v3="3502" />
+ <tetrahedron index="10088" v0="1888" v1="3501" v2="3502" v3="3503" />
+ <tetrahedron index="10089" v0="1886" v1="1888" v2="1889" v3="3501" />
+ <tetrahedron index="10090" v0="1888" v1="1889" v2="3501" v3="3503" />
+ <tetrahedron index="10091" v0="1889" v1="3501" v2="3503" v3="3504" />
+ <tetrahedron index="10092" v0="1632" v1="1758" v2="1760" v3="3247" />
+ <tetrahedron index="10093" v0="1758" v1="1760" v2="3247" v3="3373" />
+ <tetrahedron index="10094" v0="1760" v1="3247" v2="3373" v3="3375" />
+ <tetrahedron index="10095" v0="1821" v1="1890" v2="1891" v3="3436" />
+ <tetrahedron index="10096" v0="1890" v1="1891" v2="3436" v3="3505" />
+ <tetrahedron index="10097" v0="1891" v1="3436" v2="3505" v3="3506" />
+ <tetrahedron index="10098" v0="1766" v1="1892" v2="1893" v3="3381" />
+ <tetrahedron index="10099" v0="1892" v1="1893" v2="3381" v3="3507" />
+ <tetrahedron index="10100" v0="1893" v1="3381" v2="3507" v3="3508" />
+ <tetrahedron index="10101" v0="1759" v1="1766" v2="1893" v3="3374" />
+ <tetrahedron index="10102" v0="1766" v1="1893" v2="3374" v3="3381" />
+ <tetrahedron index="10103" v0="1893" v1="3374" v2="3381" v3="3508" />
+ <tetrahedron index="10104" v0="1894" v1="1895" v2="1896" v3="3509" />
+ <tetrahedron index="10105" v0="1895" v1="1896" v2="3509" v3="3510" />
+ <tetrahedron index="10106" v0="1896" v1="3509" v2="3510" v3="3511" />
+ <tetrahedron index="10107" v0="1897" v1="1898" v2="1899" v3="3512" />
+ <tetrahedron index="10108" v0="1898" v1="1899" v2="3512" v3="3513" />
+ <tetrahedron index="10109" v0="1899" v1="3512" v2="3513" v3="3514" />
+ <tetrahedron index="10110" v0="1900" v1="1901" v2="1902" v3="3515" />
+ <tetrahedron index="10111" v0="1901" v1="1902" v2="3515" v3="3516" />
+ <tetrahedron index="10112" v0="1902" v1="3515" v2="3516" v3="3517" />
+ <tetrahedron index="10113" v0="1903" v1="1904" v2="1905" v3="3518" />
+ <tetrahedron index="10114" v0="1904" v1="1905" v2="3518" v3="3519" />
+ <tetrahedron index="10115" v0="1905" v1="3518" v2="3519" v3="3520" />
+ <tetrahedron index="10116" v0="1906" v1="1907" v2="1908" v3="3521" />
+ <tetrahedron index="10117" v0="1907" v1="1908" v2="3521" v3="3522" />
+ <tetrahedron index="10118" v0="1908" v1="3521" v2="3522" v3="3523" />
+ <tetrahedron index="10119" v0="1906" v1="1908" v2="1909" v3="3521" />
+ <tetrahedron index="10120" v0="1908" v1="1909" v2="3521" v3="3523" />
+ <tetrahedron index="10121" v0="1909" v1="3521" v2="3523" v3="3524" />
+ <tetrahedron index="10122" v0="1627" v1="1629" v2="1754" v3="3242" />
+ <tetrahedron index="10123" v0="1629" v1="1754" v2="3242" v3="3244" />
+ <tetrahedron index="10124" v0="1754" v1="3242" v2="3244" v3="3369" />
+ <tetrahedron index="10125" v0="1848" v1="1849" v2="1910" v3="3463" />
+ <tetrahedron index="10126" v0="1849" v1="1910" v2="3463" v3="3464" />
+ <tetrahedron index="10127" v0="1910" v1="3463" v2="3464" v3="3525" />
+ <tetrahedron index="10128" v0="1911" v1="1912" v2="1913" v3="3526" />
+ <tetrahedron index="10129" v0="1912" v1="1913" v2="3526" v3="3527" />
+ <tetrahedron index="10130" v0="1913" v1="3526" v2="3527" v3="3528" />
+ <tetrahedron index="10131" v0="1911" v1="1913" v2="1914" v3="3526" />
+ <tetrahedron index="10132" v0="1913" v1="1914" v2="3526" v3="3528" />
+ <tetrahedron index="10133" v0="1914" v1="3526" v2="3528" v3="3529" />
+ <tetrahedron index="10134" v0="1642" v1="1650" v2="1765" v3="3257" />
+ <tetrahedron index="10135" v0="1650" v1="1765" v2="3257" v3="3265" />
+ <tetrahedron index="10136" v0="1765" v1="3257" v2="3265" v3="3380" />
+ <tetrahedron index="10137" v0="1904" v1="1905" v2="1915" v3="3519" />
+ <tetrahedron index="10138" v0="1905" v1="1915" v2="3519" v3="3520" />
+ <tetrahedron index="10139" v0="1915" v1="3519" v2="3520" v3="3530" />
+ <tetrahedron index="10140" v0="1916" v1="1917" v2="1918" v3="3531" />
+ <tetrahedron index="10141" v0="1917" v1="1918" v2="3531" v3="3532" />
+ <tetrahedron index="10142" v0="1918" v1="3531" v2="3532" v3="3533" />
+ <tetrahedron index="10143" v0="1919" v1="1920" v2="1921" v3="3534" />
+ <tetrahedron index="10144" v0="1920" v1="1921" v2="3534" v3="3535" />
+ <tetrahedron index="10145" v0="1921" v1="3534" v2="3535" v3="3536" />
+ <tetrahedron index="10146" v0="1922" v1="1923" v2="1924" v3="3537" />
+ <tetrahedron index="10147" v0="1923" v1="1924" v2="3537" v3="3538" />
+ <tetrahedron index="10148" v0="1924" v1="3537" v2="3538" v3="3539" />
+ <tetrahedron index="10149" v0="1912" v1="1925" v2="1926" v3="3527" />
+ <tetrahedron index="10150" v0="1925" v1="1926" v2="3527" v3="3540" />
+ <tetrahedron index="10151" v0="1926" v1="3527" v2="3540" v3="3541" />
+ <tetrahedron index="10152" v0="1796" v1="1908" v2="1927" v3="3411" />
+ <tetrahedron index="10153" v0="1908" v1="1927" v2="3411" v3="3523" />
+ <tetrahedron index="10154" v0="1927" v1="3411" v2="3523" v3="3542" />
+ <tetrahedron index="10155" v0="1847" v1="1848" v2="1928" v3="3462" />
+ <tetrahedron index="10156" v0="1848" v1="1928" v2="3462" v3="3463" />
+ <tetrahedron index="10157" v0="1928" v1="3462" v2="3463" v3="3543" />
+ <tetrahedron index="10158" v0="1619" v1="1620" v2="1929" v3="3234" />
+ <tetrahedron index="10159" v0="1620" v1="1929" v2="3234" v3="3235" />
+ <tetrahedron index="10160" v0="1929" v1="3234" v2="3235" v3="3544" />
+ <tetrahedron index="10161" v0="1930" v1="1931" v2="1932" v3="3545" />
+ <tetrahedron index="10162" v0="1931" v1="1932" v2="3545" v3="3546" />
+ <tetrahedron index="10163" v0="1932" v1="3545" v2="3546" v3="3547" />
+ <tetrahedron index="10164" v0="1755" v1="1933" v2="1934" v3="3370" />
+ <tetrahedron index="10165" v0="1933" v1="1934" v2="3370" v3="3548" />
+ <tetrahedron index="10166" v0="1934" v1="3370" v2="3548" v3="3549" />
+ <tetrahedron index="10167" v0="1935" v1="1936" v2="1937" v3="3550" />
+ <tetrahedron index="10168" v0="1936" v1="1937" v2="3550" v3="3551" />
+ <tetrahedron index="10169" v0="1937" v1="3550" v2="3551" v3="3552" />
+ <tetrahedron index="10170" v0="1648" v1="1649" v2="1938" v3="3263" />
+ <tetrahedron index="10171" v0="1649" v1="1938" v2="3263" v3="3264" />
+ <tetrahedron index="10172" v0="1938" v1="3263" v2="3264" v3="3553" />
+ <tetrahedron index="10173" v0="1675" v1="1809" v2="1939" v3="3290" />
+ <tetrahedron index="10174" v0="1809" v1="1939" v2="3290" v3="3424" />
+ <tetrahedron index="10175" v0="1939" v1="3290" v2="3424" v3="3554" />
+ <tetrahedron index="10176" v0="1834" v1="1940" v2="1941" v3="3449" />
+ <tetrahedron index="10177" v0="1940" v1="1941" v2="3449" v3="3555" />
+ <tetrahedron index="10178" v0="1941" v1="3449" v2="3555" v3="3556" />
+ <tetrahedron index="10179" v0="1940" v1="1941" v2="1942" v3="3555" />
+ <tetrahedron index="10180" v0="1941" v1="1942" v2="3555" v3="3556" />
+ <tetrahedron index="10181" v0="1942" v1="3555" v2="3556" v3="3557" />
+ <tetrahedron index="10182" v0="1835" v1="1837" v2="1918" v3="3450" />
+ <tetrahedron index="10183" v0="1837" v1="1918" v2="3450" v3="3452" />
+ <tetrahedron index="10184" v0="1918" v1="3450" v2="3452" v3="3533" />
+ <tetrahedron index="10185" v0="1943" v1="1944" v2="1945" v3="3558" />
+ <tetrahedron index="10186" v0="1944" v1="1945" v2="3558" v3="3559" />
+ <tetrahedron index="10187" v0="1945" v1="3558" v2="3559" v3="3560" />
+ <tetrahedron index="10188" v0="1700" v1="1701" v2="1878" v3="3315" />
+ <tetrahedron index="10189" v0="1701" v1="1878" v2="3315" v3="3316" />
+ <tetrahedron index="10190" v0="1878" v1="3315" v2="3316" v3="3493" />
+ <tetrahedron index="10191" v0="1878" v1="1879" v2="1946" v3="3493" />
+ <tetrahedron index="10192" v0="1879" v1="1946" v2="3493" v3="3494" />
+ <tetrahedron index="10193" v0="1946" v1="3493" v2="3494" v3="3561" />
+ <tetrahedron index="10194" v0="1879" v1="1946" v2="1947" v3="3494" />
+ <tetrahedron index="10195" v0="1946" v1="1947" v2="3494" v3="3561" />
+ <tetrahedron index="10196" v0="1947" v1="3494" v2="3561" v3="3562" />
+ <tetrahedron index="10197" v0="1948" v1="1949" v2="1950" v3="3563" />
+ <tetrahedron index="10198" v0="1949" v1="1950" v2="3563" v3="3564" />
+ <tetrahedron index="10199" v0="1950" v1="3563" v2="3564" v3="3565" />
+ <tetrahedron index="10200" v0="1666" v1="1668" v2="1767" v3="3281" />
+ <tetrahedron index="10201" v0="1668" v1="1767" v2="3281" v3="3283" />
+ <tetrahedron index="10202" v0="1767" v1="3281" v2="3283" v3="3382" />
+ <tetrahedron index="10203" v0="1663" v1="1666" v2="1767" v3="3278" />
+ <tetrahedron index="10204" v0="1666" v1="1767" v2="3278" v3="3281" />
+ <tetrahedron index="10205" v0="1767" v1="3278" v2="3281" v3="3382" />
+ <tetrahedron index="10206" v0="1951" v1="1952" v2="1953" v3="3566" />
+ <tetrahedron index="10207" v0="1952" v1="1953" v2="3566" v3="3567" />
+ <tetrahedron index="10208" v0="1953" v1="3566" v2="3567" v3="3568" />
+ <tetrahedron index="10209" v0="1951" v1="1953" v2="1954" v3="3566" />
+ <tetrahedron index="10210" v0="1953" v1="1954" v2="3566" v3="3568" />
+ <tetrahedron index="10211" v0="1954" v1="3566" v2="3568" v3="3569" />
+ <tetrahedron index="10212" v0="1885" v1="1955" v2="1956" v3="3500" />
+ <tetrahedron index="10213" v0="1955" v1="1956" v2="3500" v3="3570" />
+ <tetrahedron index="10214" v0="1956" v1="3500" v2="3570" v3="3571" />
+ <tetrahedron index="10215" v0="1875" v1="1877" v2="1957" v3="3490" />
+ <tetrahedron index="10216" v0="1877" v1="1957" v2="3490" v3="3492" />
+ <tetrahedron index="10217" v0="1957" v1="3490" v2="3492" v3="3572" />
+ <tetrahedron index="10218" v0="1752" v1="1958" v2="1959" v3="3367" />
+ <tetrahedron index="10219" v0="1958" v1="1959" v2="3367" v3="3573" />
+ <tetrahedron index="10220" v0="1959" v1="3367" v2="3573" v3="3574" />
+ <tetrahedron index="10221" v0="1960" v1="1961" v2="1962" v3="3575" />
+ <tetrahedron index="10222" v0="1961" v1="1962" v2="3575" v3="3576" />
+ <tetrahedron index="10223" v0="1962" v1="3575" v2="3576" v3="3577" />
+ <tetrahedron index="10224" v0="1963" v1="1964" v2="1965" v3="3578" />
+ <tetrahedron index="10225" v0="1964" v1="1965" v2="3578" v3="3579" />
+ <tetrahedron index="10226" v0="1965" v1="3578" v2="3579" v3="3580" />
+ <tetrahedron index="10227" v0="1966" v1="1967" v2="1968" v3="3581" />
+ <tetrahedron index="10228" v0="1967" v1="1968" v2="3581" v3="3582" />
+ <tetrahedron index="10229" v0="1968" v1="3581" v2="3582" v3="3583" />
+ <tetrahedron index="10230" v0="1618" v1="1620" v2="1729" v3="3233" />
+ <tetrahedron index="10231" v0="1620" v1="1729" v2="3233" v3="3235" />
+ <tetrahedron index="10232" v0="1729" v1="3233" v2="3235" v3="3344" />
+ <tetrahedron index="10233" v0="1732" v1="1735" v2="1969" v3="3347" />
+ <tetrahedron index="10234" v0="1735" v1="1969" v2="3347" v3="3350" />
+ <tetrahedron index="10235" v0="1969" v1="3347" v2="3350" v3="3584" />
+ <tetrahedron index="10236" v0="1933" v1="1970" v2="1971" v3="3548" />
+ <tetrahedron index="10237" v0="1970" v1="1971" v2="3548" v3="3585" />
+ <tetrahedron index="10238" v0="1971" v1="3548" v2="3585" v3="3586" />
+ <tetrahedron index="10239" v0="1893" v1="1972" v2="1973" v3="3508" />
+ <tetrahedron index="10240" v0="1972" v1="1973" v2="3508" v3="3587" />
+ <tetrahedron index="10241" v0="1973" v1="3508" v2="3587" v3="3588" />
+ <tetrahedron index="10242" v0="1875" v1="1876" v2="1974" v3="3490" />
+ <tetrahedron index="10243" v0="1876" v1="1974" v2="3490" v3="3491" />
+ <tetrahedron index="10244" v0="1974" v1="3490" v2="3491" v3="3589" />
+ <tetrahedron index="10245" v0="1975" v1="1976" v2="1977" v3="3590" />
+ <tetrahedron index="10246" v0="1976" v1="1977" v2="3590" v3="3591" />
+ <tetrahedron index="10247" v0="1977" v1="3590" v2="3591" v3="3592" />
+ <tetrahedron index="10248" v0="1978" v1="1979" v2="1980" v3="3593" />
+ <tetrahedron index="10249" v0="1979" v1="1980" v2="3593" v3="3594" />
+ <tetrahedron index="10250" v0="1980" v1="3593" v2="3594" v3="3595" />
+ <tetrahedron index="10251" v0="1979" v1="1980" v2="1981" v3="3594" />
+ <tetrahedron index="10252" v0="1980" v1="1981" v2="3594" v3="3595" />
+ <tetrahedron index="10253" v0="1981" v1="3594" v2="3595" v3="3596" />
+ <tetrahedron index="10254" v0="1982" v1="1983" v2="1984" v3="3597" />
+ <tetrahedron index="10255" v0="1983" v1="1984" v2="3597" v3="3598" />
+ <tetrahedron index="10256" v0="1984" v1="3597" v2="3598" v3="3599" />
+ <tetrahedron index="10257" v0="1985" v1="1986" v2="1987" v3="3600" />
+ <tetrahedron index="10258" v0="1986" v1="1987" v2="3600" v3="3601" />
+ <tetrahedron index="10259" v0="1987" v1="3600" v2="3601" v3="3602" />
+ <tetrahedron index="10260" v0="1656" v1="1763" v2="1988" v3="3271" />
+ <tetrahedron index="10261" v0="1763" v1="1988" v2="3271" v3="3378" />
+ <tetrahedron index="10262" v0="1988" v1="3271" v2="3378" v3="3603" />
+ <tetrahedron index="10263" v0="1989" v1="1990" v2="1991" v3="3604" />
+ <tetrahedron index="10264" v0="1990" v1="1991" v2="3604" v3="3605" />
+ <tetrahedron index="10265" v0="1991" v1="3604" v2="3605" v3="3606" />
+ <tetrahedron index="10266" v0="1679" v1="1682" v2="1992" v3="3294" />
+ <tetrahedron index="10267" v0="1682" v1="1992" v2="3294" v3="3297" />
+ <tetrahedron index="10268" v0="1992" v1="3294" v2="3297" v3="3607" />
+ <tetrahedron index="10269" v0="1965" v1="1993" v2="1994" v3="3580" />
+ <tetrahedron index="10270" v0="1993" v1="1994" v2="3580" v3="3608" />
+ <tetrahedron index="10271" v0="1994" v1="3580" v2="3608" v3="3609" />
+ <tetrahedron index="10272" v0="1948" v1="1995" v2="1996" v3="3563" />
+ <tetrahedron index="10273" v0="1995" v1="1996" v2="3563" v3="3610" />
+ <tetrahedron index="10274" v0="1996" v1="3563" v2="3610" v3="3611" />
+ <tetrahedron index="10275" v0="1997" v1="1998" v2="1999" v3="3612" />
+ <tetrahedron index="10276" v0="1998" v1="1999" v2="3612" v3="3613" />
+ <tetrahedron index="10277" v0="1999" v1="3612" v2="3613" v3="3614" />
+ <tetrahedron index="10278" v0="1732" v1="1735" v2="1921" v3="3347" />
+ <tetrahedron index="10279" v0="1735" v1="1921" v2="3347" v3="3350" />
+ <tetrahedron index="10280" v0="1921" v1="3347" v2="3350" v3="3536" />
+ <tetrahedron index="10281" v0="1786" v1="1916" v2="2000" v3="3401" />
+ <tetrahedron index="10282" v0="1916" v1="2000" v2="3401" v3="3531" />
+ <tetrahedron index="10283" v0="2000" v1="3401" v2="3531" v3="3615" />
+ <tetrahedron index="10284" v0="1701" v1="1879" v2="2001" v3="3316" />
+ <tetrahedron index="10285" v0="1879" v1="2001" v2="3316" v3="3494" />
+ <tetrahedron index="10286" v0="2001" v1="3316" v2="3494" v3="3616" />
+ <tetrahedron index="10287" v0="1978" v1="1979" v2="2002" v3="3593" />
+ <tetrahedron index="10288" v0="1979" v1="2002" v2="3593" v3="3594" />
+ <tetrahedron index="10289" v0="2002" v1="3593" v2="3594" v3="3617" />
+ <tetrahedron index="10290" v0="1855" v1="1856" v2="2003" v3="3470" />
+ <tetrahedron index="10291" v0="1856" v1="2003" v2="3470" v3="3471" />
+ <tetrahedron index="10292" v0="2003" v1="3470" v2="3471" v3="3618" />
+ <tetrahedron index="10293" v0="1623" v1="2004" v2="2005" v3="3238" />
+ <tetrahedron index="10294" v0="2004" v1="2005" v2="3238" v3="3619" />
+ <tetrahedron index="10295" v0="2005" v1="3238" v2="3619" v3="3620" />
+ <tetrahedron index="10296" v0="1621" v1="1623" v2="2005" v3="3236" />
+ <tetrahedron index="10297" v0="1623" v1="2005" v2="3236" v3="3238" />
+ <tetrahedron index="10298" v0="2005" v1="3236" v2="3238" v3="3620" />
+ <tetrahedron index="10299" v0="1892" v1="1972" v2="2006" v3="3507" />
+ <tetrahedron index="10300" v0="1972" v1="2006" v2="3507" v3="3587" />
+ <tetrahedron index="10301" v0="2006" v1="3507" v2="3587" v3="3621" />
+ <tetrahedron index="10302" v0="1892" v1="1893" v2="1972" v3="3507" />
+ <tetrahedron index="10303" v0="1893" v1="1972" v2="3507" v3="3508" />
+ <tetrahedron index="10304" v0="1972" v1="3507" v2="3508" v3="3587" />
+ <tetrahedron index="10305" v0="2007" v1="2008" v2="2009" v3="3622" />
+ <tetrahedron index="10306" v0="2008" v1="2009" v2="3622" v3="3623" />
+ <tetrahedron index="10307" v0="2009" v1="3622" v2="3623" v3="3624" />
+ <tetrahedron index="10308" v0="1693" v1="2010" v2="2011" v3="3308" />
+ <tetrahedron index="10309" v0="2010" v1="2011" v2="3308" v3="3625" />
+ <tetrahedron index="10310" v0="2011" v1="3308" v2="3625" v3="3626" />
+ <tetrahedron index="10311" v0="1695" v1="1957" v2="2012" v3="3310" />
+ <tetrahedron index="10312" v0="1957" v1="2012" v2="3310" v3="3572" />
+ <tetrahedron index="10313" v0="2012" v1="3310" v2="3572" v3="3627" />
+ <tetrahedron index="10314" v0="1877" v1="1957" v2="2012" v3="3492" />
+ <tetrahedron index="10315" v0="1957" v1="2012" v2="3492" v3="3572" />
+ <tetrahedron index="10316" v0="2012" v1="3492" v2="3572" v3="3627" />
+ <tetrahedron index="10317" v0="1695" v1="2012" v2="2013" v3="3310" />
+ <tetrahedron index="10318" v0="2012" v1="2013" v2="3310" v3="3627" />
+ <tetrahedron index="10319" v0="2013" v1="3310" v2="3627" v3="3628" />
+ <tetrahedron index="10320" v0="1695" v1="1696" v2="2013" v3="3310" />
+ <tetrahedron index="10321" v0="1696" v1="2013" v2="3310" v3="3311" />
+ <tetrahedron index="10322" v0="2013" v1="3310" v2="3311" v3="3628" />
+ <tetrahedron index="10323" v0="2014" v1="2015" v2="2016" v3="3629" />
+ <tetrahedron index="10324" v0="2015" v1="2016" v2="3629" v3="3630" />
+ <tetrahedron index="10325" v0="2016" v1="3629" v2="3630" v3="3631" />
+ <tetrahedron index="10326" v0="1960" v1="2014" v2="2016" v3="3575" />
+ <tetrahedron index="10327" v0="2014" v1="2016" v2="3575" v3="3629" />
+ <tetrahedron index="10328" v0="2016" v1="3575" v2="3629" v3="3631" />
+ <tetrahedron index="10329" v0="1717" v1="2017" v2="2018" v3="3332" />
+ <tetrahedron index="10330" v0="2017" v1="2018" v2="3332" v3="3632" />
+ <tetrahedron index="10331" v0="2018" v1="3332" v2="3632" v3="3633" />
+ <tetrahedron index="10332" v0="1716" v1="1717" v2="2017" v3="3331" />
+ <tetrahedron index="10333" v0="1717" v1="2017" v2="3331" v3="3332" />
+ <tetrahedron index="10334" v0="2017" v1="3331" v2="3332" v3="3632" />
+ <tetrahedron index="10335" v0="1855" v1="1858" v2="2019" v3="3470" />
+ <tetrahedron index="10336" v0="1858" v1="2019" v2="3470" v3="3473" />
+ <tetrahedron index="10337" v0="2019" v1="3470" v2="3473" v3="3634" />
+ <tetrahedron index="10338" v0="1862" v1="1863" v2="2020" v3="3477" />
+ <tetrahedron index="10339" v0="1863" v1="2020" v2="3477" v3="3478" />
+ <tetrahedron index="10340" v0="2020" v1="3477" v2="3478" v3="3635" />
+ <tetrahedron index="10341" v0="1828" v1="1863" v2="2021" v3="3443" />
+ <tetrahedron index="10342" v0="1863" v1="2021" v2="3443" v3="3478" />
+ <tetrahedron index="10343" v0="2021" v1="3443" v2="3478" v3="3636" />
+ <tetrahedron index="10344" v0="1826" v1="1885" v2="1949" v3="3441" />
+ <tetrahedron index="10345" v0="1885" v1="1949" v2="3441" v3="3500" />
+ <tetrahedron index="10346" v0="1949" v1="3441" v2="3500" v3="3564" />
+ <tetrahedron index="10347" v0="2022" v1="2023" v2="2024" v3="3637" />
+ <tetrahedron index="10348" v0="2023" v1="2024" v2="3637" v3="3638" />
+ <tetrahedron index="10349" v0="2024" v1="3637" v2="3638" v3="3639" />
+ <tetrahedron index="10350" v0="2022" v1="2024" v2="2025" v3="3637" />
+ <tetrahedron index="10351" v0="2024" v1="2025" v2="3637" v3="3639" />
+ <tetrahedron index="10352" v0="2025" v1="3637" v2="3639" v3="3640" />
+ <tetrahedron index="10353" v0="1629" v1="1869" v2="1958" v3="3244" />
+ <tetrahedron index="10354" v0="1869" v1="1958" v2="3244" v3="3484" />
+ <tetrahedron index="10355" v0="1958" v1="3244" v2="3484" v3="3573" />
+ <tetrahedron index="10356" v0="1752" v1="1754" v2="1958" v3="3367" />
+ <tetrahedron index="10357" v0="1754" v1="1958" v2="3367" v3="3369" />
+ <tetrahedron index="10358" v0="1958" v1="3367" v2="3369" v3="3573" />
+ <tetrahedron index="10359" v0="1629" v1="1754" v2="1958" v3="3244" />
+ <tetrahedron index="10360" v0="1754" v1="1958" v2="3244" v3="3369" />
+ <tetrahedron index="10361" v0="1958" v1="3244" v2="3369" v3="3573" />
+ <tetrahedron index="10362" v0="1820" v1="1821" v2="1891" v3="3435" />
+ <tetrahedron index="10363" v0="1821" v1="1891" v2="3435" v3="3436" />
+ <tetrahedron index="10364" v0="1891" v1="3435" v2="3436" v3="3506" />
+ <tetrahedron index="10365" v0="1940" v1="1942" v2="2026" v3="3555" />
+ <tetrahedron index="10366" v0="1942" v1="2026" v2="3555" v3="3557" />
+ <tetrahedron index="10367" v0="2026" v1="3555" v2="3557" v3="3641" />
+ <tetrahedron index="10368" v0="1679" v1="1992" v2="2027" v3="3294" />
+ <tetrahedron index="10369" v0="1992" v1="2027" v2="3294" v3="3607" />
+ <tetrahedron index="10370" v0="2027" v1="3294" v2="3607" v3="3642" />
+ <tetrahedron index="10371" v0="1786" v1="1787" v2="2000" v3="3401" />
+ <tetrahedron index="10372" v0="1787" v1="2000" v2="3401" v3="3402" />
+ <tetrahedron index="10373" v0="2000" v1="3401" v2="3402" v3="3615" />
+ <tetrahedron index="10374" v0="1787" v1="1792" v2="2000" v3="3402" />
+ <tetrahedron index="10375" v0="1792" v1="2000" v2="3402" v3="3407" />
+ <tetrahedron index="10376" v0="2000" v1="3402" v2="3407" v3="3615" />
+ <tetrahedron index="10377" v0="1790" v1="2013" v2="2028" v3="3405" />
+ <tetrahedron index="10378" v0="2013" v1="2028" v2="3405" v3="3628" />
+ <tetrahedron index="10379" v0="2028" v1="3405" v2="3628" v3="3643" />
+ <tetrahedron index="10380" v0="1790" v1="1793" v2="1794" v3="3405" />
+ <tetrahedron index="10381" v0="1793" v1="1794" v2="3405" v3="3408" />
+ <tetrahedron index="10382" v0="1794" v1="3405" v2="3408" v3="3409" />
+ <tetrahedron index="10383" v0="2029" v1="2030" v2="2031" v3="3644" />
+ <tetrahedron index="10384" v0="2030" v1="2031" v2="3644" v3="3645" />
+ <tetrahedron index="10385" v0="2031" v1="3644" v2="3645" v3="3646" />
+ <tetrahedron index="10386" v0="2032" v1="2033" v2="2034" v3="3647" />
+ <tetrahedron index="10387" v0="2033" v1="2034" v2="3647" v3="3648" />
+ <tetrahedron index="10388" v0="2034" v1="3647" v2="3648" v3="3649" />
+ <tetrahedron index="10389" v0="1818" v1="2032" v2="2034" v3="3433" />
+ <tetrahedron index="10390" v0="2032" v1="2034" v2="3433" v3="3647" />
+ <tetrahedron index="10391" v0="2034" v1="3433" v2="3647" v3="3649" />
+ <tetrahedron index="10392" v0="1734" v1="1740" v2="2035" v3="3349" />
+ <tetrahedron index="10393" v0="1740" v1="2035" v2="3349" v3="3355" />
+ <tetrahedron index="10394" v0="2035" v1="3349" v2="3355" v3="3650" />
+ <tetrahedron index="10395" v0="1734" v1="1735" v2="2035" v3="3349" />
+ <tetrahedron index="10396" v0="1735" v1="2035" v2="3349" v3="3350" />
+ <tetrahedron index="10397" v0="2035" v1="3349" v2="3350" v3="3650" />
+ <tetrahedron index="10398" v0="2036" v1="2037" v2="2038" v3="3651" />
+ <tetrahedron index="10399" v0="2037" v1="2038" v2="3651" v3="3652" />
+ <tetrahedron index="10400" v0="2038" v1="3651" v2="3652" v3="3653" />
+ <tetrahedron index="10401" v0="1848" v1="1928" v2="2039" v3="3463" />
+ <tetrahedron index="10402" v0="1928" v1="2039" v2="3463" v3="3543" />
+ <tetrahedron index="10403" v0="2039" v1="3463" v2="3543" v3="3654" />
+ <tetrahedron index="10404" v0="2018" v1="2040" v2="2041" v3="3633" />
+ <tetrahedron index="10405" v0="2040" v1="2041" v2="3633" v3="3655" />
+ <tetrahedron index="10406" v0="2041" v1="3633" v2="3655" v3="3656" />
+ <tetrahedron index="10407" v0="1616" v1="1617" v2="2042" v3="3231" />
+ <tetrahedron index="10408" v0="1617" v1="2042" v2="3231" v3="3232" />
+ <tetrahedron index="10409" v0="2042" v1="3231" v2="3232" v3="3657" />
+ <tetrahedron index="10410" v0="2043" v1="2044" v2="2045" v3="3658" />
+ <tetrahedron index="10411" v0="2044" v1="2045" v2="3658" v3="3659" />
+ <tetrahedron index="10412" v0="2045" v1="3658" v2="3659" v3="3660" />
+ <tetrahedron index="10413" v0="1802" v1="1955" v2="2046" v3="3417" />
+ <tetrahedron index="10414" v0="1955" v1="2046" v2="3417" v3="3570" />
+ <tetrahedron index="10415" v0="2046" v1="3417" v2="3570" v3="3661" />
+ <tetrahedron index="10416" v0="1964" v1="2047" v2="2048" v3="3579" />
+ <tetrahedron index="10417" v0="2047" v1="2048" v2="3579" v3="3662" />
+ <tetrahedron index="10418" v0="2048" v1="3579" v2="3662" v3="3663" />
+ <tetrahedron index="10419" v0="2049" v1="2050" v2="2051" v3="3664" />
+ <tetrahedron index="10420" v0="2050" v1="2051" v2="3664" v3="3665" />
+ <tetrahedron index="10421" v0="2051" v1="3664" v2="3665" v3="3666" />
+ <tetrahedron index="10422" v0="2049" v1="2051" v2="2052" v3="3664" />
+ <tetrahedron index="10423" v0="2051" v1="2052" v2="3664" v3="3666" />
+ <tetrahedron index="10424" v0="2052" v1="3664" v2="3666" v3="3667" />
+ <tetrahedron index="10425" v0="2053" v1="2054" v2="2055" v3="3668" />
+ <tetrahedron index="10426" v0="2054" v1="2055" v2="3668" v3="3669" />
+ <tetrahedron index="10427" v0="2055" v1="3668" v2="3669" v3="3670" />
+ <tetrahedron index="10428" v0="2053" v1="2055" v2="2056" v3="3668" />
+ <tetrahedron index="10429" v0="2055" v1="2056" v2="3668" v3="3670" />
+ <tetrahedron index="10430" v0="2056" v1="3668" v2="3670" v3="3671" />
+ <tetrahedron index="10431" v0="1621" v1="1622" v2="1860" v3="3236" />
+ <tetrahedron index="10432" v0="1622" v1="1860" v2="3236" v3="3237" />
+ <tetrahedron index="10433" v0="1860" v1="3236" v2="3237" v3="3475" />
+ <tetrahedron index="10434" v0="1622" v1="1859" v2="1860" v3="3237" />
+ <tetrahedron index="10435" v0="1859" v1="1860" v2="3237" v3="3474" />
+ <tetrahedron index="10436" v0="1860" v1="3237" v2="3474" v3="3475" />
+ <tetrahedron index="10437" v0="1966" v1="1967" v2="2057" v3="3581" />
+ <tetrahedron index="10438" v0="1967" v1="2057" v2="3581" v3="3582" />
+ <tetrahedron index="10439" v0="2057" v1="3581" v2="3582" v3="3672" />
+ <tetrahedron index="10440" v0="1735" v1="1969" v2="2035" v3="3350" />
+ <tetrahedron index="10441" v0="1969" v1="2035" v2="3350" v3="3584" />
+ <tetrahedron index="10442" v0="2035" v1="3350" v2="3584" v3="3650" />
+ <tetrahedron index="10443" v0="1826" v1="1949" v2="1950" v3="3441" />
+ <tetrahedron index="10444" v0="1949" v1="1950" v2="3441" v3="3564" />
+ <tetrahedron index="10445" v0="1950" v1="3441" v2="3564" v3="3565" />
+ <tetrahedron index="10446" v0="1888" v1="1889" v2="1935" v3="3503" />
+ <tetrahedron index="10447" v0="1889" v1="1935" v2="3503" v3="3504" />
+ <tetrahedron index="10448" v0="1935" v1="3503" v2="3504" v3="3550" />
+ <tetrahedron index="10449" v0="1821" v1="1822" v2="2058" v3="3436" />
+ <tetrahedron index="10450" v0="1822" v1="2058" v2="3436" v3="3437" />
+ <tetrahedron index="10451" v0="2058" v1="3436" v2="3437" v3="3673" />
+ <tetrahedron index="10452" v0="1684" v1="1686" v2="2059" v3="3299" />
+ <tetrahedron index="10453" v0="1686" v1="2059" v2="3299" v3="3301" />
+ <tetrahedron index="10454" v0="2059" v1="3299" v2="3301" v3="3674" />
+ <tetrahedron index="10455" v0="1732" v1="1969" v2="2060" v3="3347" />
+ <tetrahedron index="10456" v0="1969" v1="2060" v2="3347" v3="3584" />
+ <tetrahedron index="10457" v0="2060" v1="3347" v2="3584" v3="3675" />
+ <tetrahedron index="10458" v0="1747" v1="1748" v2="2061" v3="3362" />
+ <tetrahedron index="10459" v0="1748" v1="2061" v2="3362" v3="3363" />
+ <tetrahedron index="10460" v0="2061" v1="3362" v2="3363" v3="3676" />
+ <tetrahedron index="10461" v0="1897" v1="2062" v2="2063" v3="3512" />
+ <tetrahedron index="10462" v0="2062" v1="2063" v2="3512" v3="3677" />
+ <tetrahedron index="10463" v0="2063" v1="3512" v2="3677" v3="3678" />
+ <tetrahedron index="10464" v0="1790" v1="2013" v2="2064" v3="3405" />
+ <tetrahedron index="10465" v0="2013" v1="2064" v2="3405" v3="3628" />
+ <tetrahedron index="10466" v0="2064" v1="3405" v2="3628" v3="3679" />
+ <tetrahedron index="10467" v0="1790" v1="1791" v2="2064" v3="3405" />
+ <tetrahedron index="10468" v0="1791" v1="2064" v2="3405" v3="3406" />
+ <tetrahedron index="10469" v0="2064" v1="3405" v2="3406" v3="3679" />
+ <tetrahedron index="10470" v0="1946" v1="2065" v2="2066" v3="3561" />
+ <tetrahedron index="10471" v0="2065" v1="2066" v2="3561" v3="3680" />
+ <tetrahedron index="10472" v0="2066" v1="3561" v2="3680" v3="3681" />
+ <tetrahedron index="10473" v0="1735" v1="1736" v2="1921" v3="3350" />
+ <tetrahedron index="10474" v0="1736" v1="1921" v2="3350" v3="3351" />
+ <tetrahedron index="10475" v0="1921" v1="3350" v2="3351" v3="3536" />
+ <tetrahedron index="10476" v0="1718" v1="1720" v2="1999" v3="3333" />
+ <tetrahedron index="10477" v0="1720" v1="1999" v2="3333" v3="3335" />
+ <tetrahedron index="10478" v0="1999" v1="3333" v2="3335" v3="3614" />
+ <tetrahedron index="10479" v0="1900" v1="1902" v2="2067" v3="3515" />
+ <tetrahedron index="10480" v0="1902" v1="2067" v2="3515" v3="3517" />
+ <tetrahedron index="10481" v0="2067" v1="3515" v2="3517" v3="3682" />
+ <tetrahedron index="10482" v0="1873" v1="2068" v2="2069" v3="3488" />
+ <tetrahedron index="10483" v0="2068" v1="2069" v2="3488" v3="3683" />
+ <tetrahedron index="10484" v0="2069" v1="3488" v2="3683" v3="3684" />
+ <tetrahedron index="10485" v0="1693" v1="2010" v2="2070" v3="3308" />
+ <tetrahedron index="10486" v0="2010" v1="2070" v2="3308" v3="3625" />
+ <tetrahedron index="10487" v0="2070" v1="3308" v2="3625" v3="3685" />
+ <tetrahedron index="10488" v0="1702" v1="1945" v2="2071" v3="3317" />
+ <tetrahedron index="10489" v0="1945" v1="2071" v2="3317" v3="3560" />
+ <tetrahedron index="10490" v0="2071" v1="3317" v2="3560" v3="3686" />
+ <tetrahedron index="10491" v0="1835" v1="1836" v2="2070" v3="3450" />
+ <tetrahedron index="10492" v0="1836" v1="2070" v2="3450" v3="3451" />
+ <tetrahedron index="10493" v0="2070" v1="3450" v2="3451" v3="3685" />
+ <tetrahedron index="10494" v0="1707" v1="1819" v2="2072" v3="3322" />
+ <tetrahedron index="10495" v0="1819" v1="2072" v2="3322" v3="3434" />
+ <tetrahedron index="10496" v0="2072" v1="3322" v2="3434" v3="3687" />
+ <tetrahedron index="10497" v0="1616" v1="1998" v2="2042" v3="3231" />
+ <tetrahedron index="10498" v0="1998" v1="2042" v2="3231" v3="3613" />
+ <tetrahedron index="10499" v0="2042" v1="3231" v2="3613" v3="3657" />
+ <tetrahedron index="10500" v0="1731" v1="1732" v2="1921" v3="3346" />
+ <tetrahedron index="10501" v0="1732" v1="1921" v2="3346" v3="3347" />
+ <tetrahedron index="10502" v0="1921" v1="3346" v2="3347" v3="3536" />
+ <tetrahedron index="10503" v0="1759" v1="1760" v2="2073" v3="3374" />
+ <tetrahedron index="10504" v0="1760" v1="2073" v2="3374" v3="3375" />
+ <tetrahedron index="10505" v0="2073" v1="3374" v2="3375" v3="3688" />
+ <tetrahedron index="10506" v0="1619" v1="2074" v2="2075" v3="3234" />
+ <tetrahedron index="10507" v0="2074" v1="2075" v2="3234" v3="3689" />
+ <tetrahedron index="10508" v0="2075" v1="3234" v2="3689" v3="3690" />
+ <tetrahedron index="10509" v0="1738" v1="1739" v2="1861" v3="3353" />
+ <tetrahedron index="10510" v0="1739" v1="1861" v2="3353" v3="3354" />
+ <tetrahedron index="10511" v0="1861" v1="3353" v2="3354" v3="3476" />
+ <tetrahedron index="10512" v0="1809" v1="1939" v2="2076" v3="3424" />
+ <tetrahedron index="10513" v0="1939" v1="2076" v2="3424" v3="3554" />
+ <tetrahedron index="10514" v0="2076" v1="3424" v2="3554" v3="3691" />
+ <tetrahedron index="10515" v0="1718" v1="1998" v2="1999" v3="3333" />
+ <tetrahedron index="10516" v0="1998" v1="1999" v2="3333" v3="3613" />
+ <tetrahedron index="10517" v0="1999" v1="3333" v2="3613" v3="3614" />
+ <tetrahedron index="10518" v0="1758" v1="2077" v2="2078" v3="3373" />
+ <tetrahedron index="10519" v0="2077" v1="2078" v2="3373" v3="3692" />
+ <tetrahedron index="10520" v0="2078" v1="3373" v2="3692" v3="3693" />
+ <tetrahedron index="10521" v0="1830" v1="2079" v2="2080" v3="3445" />
+ <tetrahedron index="10522" v0="2079" v1="2080" v2="3445" v3="3694" />
+ <tetrahedron index="10523" v0="2080" v1="3445" v2="3694" v3="3695" />
+ <tetrahedron index="10524" v0="1749" v1="1830" v2="2081" v3="3364" />
+ <tetrahedron index="10525" v0="1830" v1="2081" v2="3364" v3="3445" />
+ <tetrahedron index="10526" v0="2081" v1="3364" v2="3445" v3="3696" />
+ <tetrahedron index="10527" v0="2011" v1="2082" v2="2083" v3="3626" />
+ <tetrahedron index="10528" v0="2082" v1="2083" v2="3626" v3="3697" />
+ <tetrahedron index="10529" v0="2083" v1="3626" v2="3697" v3="3698" />
+ <tetrahedron index="10530" v0="1965" v1="1993" v2="2084" v3="3580" />
+ <tetrahedron index="10531" v0="1993" v1="2084" v2="3580" v3="3608" />
+ <tetrahedron index="10532" v0="2084" v1="3580" v2="3608" v3="3699" />
+ <tetrahedron index="10533" v0="1648" v1="1938" v2="2085" v3="3263" />
+ <tetrahedron index="10534" v0="1938" v1="2085" v2="3263" v3="3553" />
+ <tetrahedron index="10535" v0="2085" v1="3263" v2="3553" v3="3700" />
+ <tetrahedron index="10536" v0="2086" v1="2087" v2="2088" v3="3701" />
+ <tetrahedron index="10537" v0="2087" v1="2088" v2="3701" v3="3702" />
+ <tetrahedron index="10538" v0="2088" v1="3701" v2="3702" v3="3703" />
+ <tetrahedron index="10539" v0="1963" v1="1965" v2="1994" v3="3578" />
+ <tetrahedron index="10540" v0="1965" v1="1994" v2="3578" v3="3580" />
+ <tetrahedron index="10541" v0="1994" v1="3578" v2="3580" v3="3609" />
+ <tetrahedron index="10542" v0="1692" v1="1693" v2="2070" v3="3307" />
+ <tetrahedron index="10543" v0="1693" v1="2070" v2="3307" v3="3308" />
+ <tetrahedron index="10544" v0="2070" v1="3307" v2="3308" v3="3685" />
+ <tetrahedron index="10545" v0="1872" v1="1873" v2="2068" v3="3487" />
+ <tetrahedron index="10546" v0="1873" v1="2068" v2="3487" v3="3488" />
+ <tetrahedron index="10547" v0="2068" v1="3487" v2="3488" v3="3683" />
+ <tetrahedron index="10548" v0="1872" v1="2068" v2="2089" v3="3487" />
+ <tetrahedron index="10549" v0="2068" v1="2089" v2="3487" v3="3683" />
+ <tetrahedron index="10550" v0="2089" v1="3487" v2="3683" v3="3704" />
+ <tetrahedron index="10551" v0="1824" v1="1825" v2="2090" v3="3439" />
+ <tetrahedron index="10552" v0="1825" v1="2090" v2="3439" v3="3440" />
+ <tetrahedron index="10553" v0="2090" v1="3439" v2="3440" v3="3705" />
+ <tetrahedron index="10554" v0="2091" v1="2092" v2="2093" v3="3706" />
+ <tetrahedron index="10555" v0="2092" v1="2093" v2="3706" v3="3707" />
+ <tetrahedron index="10556" v0="2093" v1="3706" v2="3707" v3="3708" />
+ <tetrahedron index="10557" v0="1737" v1="1738" v2="1815" v3="3352" />
+ <tetrahedron index="10558" v0="1738" v1="1815" v2="3352" v3="3353" />
+ <tetrahedron index="10559" v0="1815" v1="3352" v2="3353" v3="3430" />
+ <tetrahedron index="10560" v0="1823" v1="1843" v2="2094" v3="3438" />
+ <tetrahedron index="10561" v0="1843" v1="2094" v2="3438" v3="3458" />
+ <tetrahedron index="10562" v0="2094" v1="3438" v2="3458" v3="3709" />
+ <tetrahedron index="10563" v0="1625" v1="1749" v2="1829" v3="3240" />
+ <tetrahedron index="10564" v0="1749" v1="1829" v2="3240" v3="3364" />
+ <tetrahedron index="10565" v0="1829" v1="3240" v2="3364" v3="3444" />
+ <tetrahedron index="10566" v0="1624" v1="1625" v2="2095" v3="3239" />
+ <tetrahedron index="10567" v0="1625" v1="2095" v2="3239" v3="3240" />
+ <tetrahedron index="10568" v0="2095" v1="3239" v2="3240" v3="3710" />
+ <tetrahedron index="10569" v0="1761" v1="1762" v2="1914" v3="3376" />
+ <tetrahedron index="10570" v0="1762" v1="1914" v2="3376" v3="3377" />
+ <tetrahedron index="10571" v0="1914" v1="3376" v2="3377" v3="3529" />
+ <tetrahedron index="10572" v0="1656" v1="1657" v2="2096" v3="3271" />
+ <tetrahedron index="10573" v0="1657" v1="2096" v2="3271" v3="3272" />
+ <tetrahedron index="10574" v0="2096" v1="3271" v2="3272" v3="3711" />
+ <tetrahedron index="10575" v0="1661" v1="1664" v2="2097" v3="3276" />
+ <tetrahedron index="10576" v0="1664" v1="2097" v2="3276" v3="3279" />
+ <tetrahedron index="10577" v0="2097" v1="3276" v2="3279" v3="3712" />
+ <tetrahedron index="10578" v0="1766" v1="1892" v2="2098" v3="3381" />
+ <tetrahedron index="10579" v0="1892" v1="2098" v2="3381" v3="3507" />
+ <tetrahedron index="10580" v0="2098" v1="3381" v2="3507" v3="3713" />
+ <tetrahedron index="10581" v0="1952" v1="1953" v2="2082" v3="3567" />
+ <tetrahedron index="10582" v0="1953" v1="2082" v2="3567" v3="3568" />
+ <tetrahedron index="10583" v0="2082" v1="3567" v2="3568" v3="3697" />
+ <tetrahedron index="10584" v0="2099" v1="2100" v2="2101" v3="3714" />
+ <tetrahedron index="10585" v0="2100" v1="2101" v2="3714" v3="3715" />
+ <tetrahedron index="10586" v0="2101" v1="3714" v2="3715" v3="3716" />
+ <tetrahedron index="10587" v0="1726" v1="1727" v2="2102" v3="3341" />
+ <tetrahedron index="10588" v0="1727" v1="2102" v2="3341" v3="3342" />
+ <tetrahedron index="10589" v0="2102" v1="3341" v2="3342" v3="3717" />
+ <tetrahedron index="10590" v0="1827" v1="1828" v2="1862" v3="3442" />
+ <tetrahedron index="10591" v0="1828" v1="1862" v2="3442" v3="3443" />
+ <tetrahedron index="10592" v0="1862" v1="3442" v2="3443" v3="3477" />
+ <tetrahedron index="10593" v0="2103" v1="2104" v2="2105" v3="3718" />
+ <tetrahedron index="10594" v0="2104" v1="2105" v2="3718" v3="3719" />
+ <tetrahedron index="10595" v0="2105" v1="3718" v2="3719" v3="3720" />
+ <tetrahedron index="10596" v0="1944" v1="2106" v2="2107" v3="3559" />
+ <tetrahedron index="10597" v0="2106" v1="2107" v2="3559" v3="3721" />
+ <tetrahedron index="10598" v0="2107" v1="3559" v2="3721" v3="3722" />
+ <tetrahedron index="10599" v0="1632" v1="1758" v2="2078" v3="3247" />
+ <tetrahedron index="10600" v0="1758" v1="2078" v2="3247" v3="3373" />
+ <tetrahedron index="10601" v0="2078" v1="3247" v2="3373" v3="3693" />
+ <tetrahedron index="10602" v0="1632" v1="1831" v2="2078" v3="3247" />
+ <tetrahedron index="10603" v0="1831" v1="2078" v2="3247" v3="3446" />
+ <tetrahedron index="10604" v0="2078" v1="3247" v2="3446" v3="3693" />
+ <tetrahedron index="10605" v0="1875" v1="1974" v2="2108" v3="3490" />
+ <tetrahedron index="10606" v0="1974" v1="2108" v2="3490" v3="3589" />
+ <tetrahedron index="10607" v0="2108" v1="3490" v2="3589" v3="3723" />
+ <tetrahedron index="10608" v0="2010" v1="2011" v2="2109" v3="3625" />
+ <tetrahedron index="10609" v0="2011" v1="2109" v2="3625" v3="3626" />
+ <tetrahedron index="10610" v0="2109" v1="3625" v2="3626" v3="3724" />
+ <tetrahedron index="10611" v0="2110" v1="2111" v2="2112" v3="3725" />
+ <tetrahedron index="10612" v0="2111" v1="2112" v2="3725" v3="3726" />
+ <tetrahedron index="10613" v0="2112" v1="3725" v2="3726" v3="3727" />
+ <tetrahedron index="10614" v0="1728" v1="2113" v2="2114" v3="3343" />
+ <tetrahedron index="10615" v0="2113" v1="2114" v2="3343" v3="3728" />
+ <tetrahedron index="10616" v0="2114" v1="3343" v2="3728" v3="3729" />
+ <tetrahedron index="10617" v0="1747" v1="2115" v2="2116" v3="3362" />
+ <tetrahedron index="10618" v0="2115" v1="2116" v2="3362" v3="3730" />
+ <tetrahedron index="10619" v0="2116" v1="3362" v2="3730" v3="3731" />
+ <tetrahedron index="10620" v0="2112" v1="2117" v2="2118" v3="3727" />
+ <tetrahedron index="10621" v0="2117" v1="2118" v2="3727" v3="3732" />
+ <tetrahedron index="10622" v0="2118" v1="3727" v2="3732" v3="3733" />
+ <tetrahedron index="10623" v0="1667" v1="1769" v2="2119" v3="3282" />
+ <tetrahedron index="10624" v0="1769" v1="2119" v2="3282" v3="3384" />
+ <tetrahedron index="10625" v0="2119" v1="3282" v2="3384" v3="3734" />
+ <tetrahedron index="10626" v0="1667" v1="1769" v2="1771" v3="3282" />
+ <tetrahedron index="10627" v0="1769" v1="1771" v2="3282" v3="3384" />
+ <tetrahedron index="10628" v0="1771" v1="3282" v2="3384" v3="3386" />
+ <tetrahedron index="10629" v0="1823" v1="2094" v2="2120" v3="3438" />
+ <tetrahedron index="10630" v0="2094" v1="2120" v2="3438" v3="3709" />
+ <tetrahedron index="10631" v0="2120" v1="3438" v2="3709" v3="3735" />
+ <tetrahedron index="10632" v0="1756" v1="1831" v2="2121" v3="3371" />
+ <tetrahedron index="10633" v0="1831" v1="2121" v2="3371" v3="3446" />
+ <tetrahedron index="10634" v0="2121" v1="3371" v2="3446" v3="3736" />
+ <tetrahedron index="10635" v0="1756" v1="2121" v2="2122" v3="3371" />
+ <tetrahedron index="10636" v0="2121" v1="2122" v2="3371" v3="3736" />
+ <tetrahedron index="10637" v0="2122" v1="3371" v2="3736" v3="3737" />
+ <tetrahedron index="10638" v0="1757" v1="1760" v2="2073" v3="3372" />
+ <tetrahedron index="10639" v0="1760" v1="2073" v2="3372" v3="3375" />
+ <tetrahedron index="10640" v0="2073" v1="3372" v2="3375" v3="3688" />
+ <tetrahedron index="10641" v0="1647" v1="1757" v2="2073" v3="3262" />
+ <tetrahedron index="10642" v0="1757" v1="2073" v2="3262" v3="3372" />
+ <tetrahedron index="10643" v0="2073" v1="3262" v2="3372" v3="3688" />
+ <tetrahedron index="10644" v0="1708" v1="2123" v2="2124" v3="3323" />
+ <tetrahedron index="10645" v0="2123" v1="2124" v2="3323" v3="3738" />
+ <tetrahedron index="10646" v0="2124" v1="3323" v2="3738" v3="3739" />
+ <tetrahedron index="10647" v0="1978" v1="1980" v2="2125" v3="3593" />
+ <tetrahedron index="10648" v0="1980" v1="2125" v2="3593" v3="3595" />
+ <tetrahedron index="10649" v0="2125" v1="3593" v2="3595" v3="3740" />
+ <tetrahedron index="10650" v0="1668" v1="1671" v2="2126" v3="3283" />
+ <tetrahedron index="10651" v0="1671" v1="2126" v2="3283" v3="3286" />
+ <tetrahedron index="10652" v0="2126" v1="3283" v2="3286" v3="3741" />
+ <tetrahedron index="10653" v0="2127" v1="2128" v2="2129" v3="3742" />
+ <tetrahedron index="10654" v0="2128" v1="2129" v2="3742" v3="3743" />
+ <tetrahedron index="10655" v0="2129" v1="3742" v2="3743" v3="3744" />
+ <tetrahedron index="10656" v0="1819" v1="2072" v2="2130" v3="3434" />
+ <tetrahedron index="10657" v0="2072" v1="2130" v2="3434" v3="3687" />
+ <tetrahedron index="10658" v0="2130" v1="3434" v2="3687" v3="3745" />
+ <tetrahedron index="10659" v0="1819" v1="2130" v2="2131" v3="3434" />
+ <tetrahedron index="10660" v0="2130" v1="2131" v2="3434" v3="3745" />
+ <tetrahedron index="10661" v0="2131" v1="3434" v2="3745" v3="3746" />
+ <tetrahedron index="10662" v0="1979" v1="1981" v2="2132" v3="3594" />
+ <tetrahedron index="10663" v0="1981" v1="2132" v2="3594" v3="3596" />
+ <tetrahedron index="10664" v0="2132" v1="3594" v2="3596" v3="3747" />
+ <tetrahedron index="10665" v0="1762" v1="1988" v2="2133" v3="3377" />
+ <tetrahedron index="10666" v0="1988" v1="2133" v2="3377" v3="3603" />
+ <tetrahedron index="10667" v0="2133" v1="3377" v2="3603" v3="3748" />
+ <tetrahedron index="10668" v0="1762" v1="1763" v2="1988" v3="3377" />
+ <tetrahedron index="10669" v0="1763" v1="1988" v2="3377" v3="3378" />
+ <tetrahedron index="10670" v0="1988" v1="3377" v2="3378" v3="3603" />
+ <tetrahedron index="10671" v0="1713" v1="1841" v2="2134" v3="3328" />
+ <tetrahedron index="10672" v0="1841" v1="2134" v2="3328" v3="3456" />
+ <tetrahedron index="10673" v0="2134" v1="3328" v2="3456" v3="3749" />
+ <tetrahedron index="10674" v0="1867" v1="2135" v2="2136" v3="3482" />
+ <tetrahedron index="10675" v0="2135" v1="2136" v2="3482" v3="3750" />
+ <tetrahedron index="10676" v0="2136" v1="3482" v2="3750" v3="3751" />
+ <tetrahedron index="10677" v0="2137" v1="2138" v2="2139" v3="3752" />
+ <tetrahedron index="10678" v0="2138" v1="2139" v2="3752" v3="3753" />
+ <tetrahedron index="10679" v0="2139" v1="3752" v2="3753" v3="3754" />
+ <tetrahedron index="10680" v0="1975" v1="1977" v2="2140" v3="3590" />
+ <tetrahedron index="10681" v0="1977" v1="2140" v2="3590" v3="3592" />
+ <tetrahedron index="10682" v0="2140" v1="3590" v2="3592" v3="3755" />
+ <tetrahedron index="10683" v0="1721" v1="1853" v2="2141" v3="3336" />
+ <tetrahedron index="10684" v0="1853" v1="2141" v2="3336" v3="3468" />
+ <tetrahedron index="10685" v0="2141" v1="3336" v2="3468" v3="3756" />
+ <tetrahedron index="10686" v0="1649" v1="1886" v2="1887" v3="3264" />
+ <tetrahedron index="10687" v0="1886" v1="1887" v2="3264" v3="3501" />
+ <tetrahedron index="10688" v0="1887" v1="3264" v2="3501" v3="3502" />
+ <tetrahedron index="10689" v0="1772" v1="2142" v2="2143" v3="3387" />
+ <tetrahedron index="10690" v0="2142" v1="2143" v2="3387" v3="3757" />
+ <tetrahedron index="10691" v0="2143" v1="3387" v2="3757" v3="3758" />
+ <tetrahedron index="10692" v0="1857" v1="1858" v2="2144" v3="3472" />
+ <tetrahedron index="10693" v0="1858" v1="2144" v2="3472" v3="3473" />
+ <tetrahedron index="10694" v0="2144" v1="3472" v2="3473" v3="3759" />
+ <tetrahedron index="10695" v0="2145" v1="2146" v2="2147" v3="3760" />
+ <tetrahedron index="10696" v0="2146" v1="2147" v2="3760" v3="3761" />
+ <tetrahedron index="10697" v0="2147" v1="3760" v2="3761" v3="3762" />
+ <tetrahedron index="10698" v0="1873" v1="1874" v2="2148" v3="3488" />
+ <tetrahedron index="10699" v0="1874" v1="2148" v2="3488" v3="3489" />
+ <tetrahedron index="10700" v0="2148" v1="3488" v2="3489" v3="3763" />
+ <tetrahedron index="10701" v0="1713" v1="1842" v2="2149" v3="3328" />
+ <tetrahedron index="10702" v0="1842" v1="2149" v2="3328" v3="3457" />
+ <tetrahedron index="10703" v0="2149" v1="3328" v2="3457" v3="3764" />
+ <tetrahedron index="10704" v0="1713" v1="1714" v2="2149" v3="3328" />
+ <tetrahedron index="10705" v0="1714" v1="2149" v2="3328" v3="3329" />
+ <tetrahedron index="10706" v0="2149" v1="3328" v2="3329" v3="3764" />
+ <tetrahedron index="10707" v0="1762" v1="2133" v2="2150" v3="3377" />
+ <tetrahedron index="10708" v0="2133" v1="2150" v2="3377" v3="3748" />
+ <tetrahedron index="10709" v0="2150" v1="3377" v2="3748" v3="3765" />
+ <tetrahedron index="10710" v0="1836" v1="2151" v2="2152" v3="3451" />
+ <tetrahedron index="10711" v0="2151" v1="2152" v2="3451" v3="3766" />
+ <tetrahedron index="10712" v0="2152" v1="3451" v2="3766" v3="3767" />
+ <tetrahedron index="10713" v0="1785" v1="2153" v2="2154" v3="3400" />
+ <tetrahedron index="10714" v0="2153" v1="2154" v2="3400" v3="3768" />
+ <tetrahedron index="10715" v0="2154" v1="3400" v2="3768" v3="3769" />
+ <tetrahedron index="10716" v0="2155" v1="2156" v2="2157" v3="3770" />
+ <tetrahedron index="10717" v0="2156" v1="2157" v2="3770" v3="3771" />
+ <tetrahedron index="10718" v0="2157" v1="3770" v2="3771" v3="3772" />
+ <tetrahedron index="10719" v0="2158" v1="2159" v2="2160" v3="3773" />
+ <tetrahedron index="10720" v0="2159" v1="2160" v2="3773" v3="3774" />
+ <tetrahedron index="10721" v0="2160" v1="3773" v2="3774" v3="3775" />
+ <tetrahedron index="10722" v0="2161" v1="2162" v2="2163" v3="3776" />
+ <tetrahedron index="10723" v0="2162" v1="2163" v2="3776" v3="3777" />
+ <tetrahedron index="10724" v0="2163" v1="3776" v2="3777" v3="3778" />
+ <tetrahedron index="10725" v0="2164" v1="2165" v2="2166" v3="3779" />
+ <tetrahedron index="10726" v0="2165" v1="2166" v2="3779" v3="3780" />
+ <tetrahedron index="10727" v0="2166" v1="3779" v2="3780" v3="3781" />
+ <tetrahedron index="10728" v0="2167" v1="2168" v2="2169" v3="3782" />
+ <tetrahedron index="10729" v0="2168" v1="2169" v2="3782" v3="3783" />
+ <tetrahedron index="10730" v0="2169" v1="3782" v2="3783" v3="3784" />
+ <tetrahedron index="10731" v0="2069" v1="2170" v2="2171" v3="3684" />
+ <tetrahedron index="10732" v0="2170" v1="2171" v2="3684" v3="3785" />
+ <tetrahedron index="10733" v0="2171" v1="3684" v2="3785" v3="3786" />
+ <tetrahedron index="10734" v0="2040" v1="2041" v2="2172" v3="3655" />
+ <tetrahedron index="10735" v0="2041" v1="2172" v2="3655" v3="3656" />
+ <tetrahedron index="10736" v0="2172" v1="3655" v2="3656" v3="3787" />
+ <tetrahedron index="10737" v0="2041" v1="2172" v2="2173" v3="3656" />
+ <tetrahedron index="10738" v0="2172" v1="2173" v2="3656" v3="3787" />
+ <tetrahedron index="10739" v0="2173" v1="3656" v2="3787" v3="3788" />
+ <tetrahedron index="10740" v0="1987" v1="2174" v2="2175" v3="3602" />
+ <tetrahedron index="10741" v0="2174" v1="2175" v2="3602" v3="3789" />
+ <tetrahedron index="10742" v0="2175" v1="3602" v2="3789" v3="3790" />
+ <tetrahedron index="10743" v0="1656" v1="1988" v2="2176" v3="3271" />
+ <tetrahedron index="10744" v0="1988" v1="2176" v2="3271" v3="3603" />
+ <tetrahedron index="10745" v0="2176" v1="3271" v2="3603" v3="3791" />
+ <tetrahedron index="10746" v0="1656" v1="2096" v2="2176" v3="3271" />
+ <tetrahedron index="10747" v0="2096" v1="2176" v2="3271" v3="3711" />
+ <tetrahedron index="10748" v0="2176" v1="3271" v2="3711" v3="3791" />
+ <tetrahedron index="10749" v0="1659" v1="1660" v2="2177" v3="3274" />
+ <tetrahedron index="10750" v0="1660" v1="2177" v2="3274" v3="3275" />
+ <tetrahedron index="10751" v0="2177" v1="3274" v2="3275" v3="3792" />
+ <tetrahedron index="10752" v0="1833" v1="1834" v2="1941" v3="3448" />
+ <tetrahedron index="10753" v0="1834" v1="1941" v2="3448" v3="3449" />
+ <tetrahedron index="10754" v0="1941" v1="3448" v2="3449" v3="3556" />
+ <tetrahedron index="10755" v0="1777" v1="1778" v2="1917" v3="3392" />
+ <tetrahedron index="10756" v0="1778" v1="1917" v2="3392" v3="3393" />
+ <tetrahedron index="10757" v0="1917" v1="3392" v2="3393" v3="3532" />
+ <tetrahedron index="10758" v0="1961" v1="2178" v2="2179" v3="3576" />
+ <tetrahedron index="10759" v0="2178" v1="2179" v2="3576" v3="3793" />
+ <tetrahedron index="10760" v0="2179" v1="3576" v2="3793" v3="3794" />
+ <tetrahedron index="10761" v0="1712" v1="2134" v2="2180" v3="3327" />
+ <tetrahedron index="10762" v0="2134" v1="2180" v2="3327" v3="3749" />
+ <tetrahedron index="10763" v0="2180" v1="3327" v2="3749" v3="3795" />
+ <tetrahedron index="10764" v0="1712" v1="1713" v2="2134" v3="3327" />
+ <tetrahedron index="10765" v0="1713" v1="2134" v2="3327" v3="3328" />
+ <tetrahedron index="10766" v0="2134" v1="3327" v2="3328" v3="3749" />
+ <tetrahedron index="10767" v0="1618" v1="1619" v2="2074" v3="3233" />
+ <tetrahedron index="10768" v0="1619" v1="2074" v2="3233" v3="3234" />
+ <tetrahedron index="10769" v0="2074" v1="3233" v2="3234" v3="3689" />
+ <tetrahedron index="10770" v0="2060" v1="2181" v2="2182" v3="3675" />
+ <tetrahedron index="10771" v0="2181" v1="2182" v2="3675" v3="3796" />
+ <tetrahedron index="10772" v0="2182" v1="3675" v2="3796" v3="3797" />
+ <tetrahedron index="10773" v0="1931" v1="1969" v2="2060" v3="3546" />
+ <tetrahedron index="10774" v0="1969" v1="2060" v2="3546" v3="3584" />
+ <tetrahedron index="10775" v0="2060" v1="3546" v2="3584" v3="3675" />
+ <tetrahedron index="10776" v0="1626" v1="1749" v2="1750" v3="3241" />
+ <tetrahedron index="10777" v0="1749" v1="1750" v2="3241" v3="3364" />
+ <tetrahedron index="10778" v0="1750" v1="3241" v2="3364" v3="3365" />
+ <tetrahedron index="10779" v0="1767" v1="1772" v2="2183" v3="3382" />
+ <tetrahedron index="10780" v0="1772" v1="2183" v2="3382" v3="3387" />
+ <tetrahedron index="10781" v0="2183" v1="3382" v2="3387" v3="3798" />
+ <tetrahedron index="10782" v0="1977" v1="2140" v2="2184" v3="3592" />
+ <tetrahedron index="10783" v0="2140" v1="2184" v2="3592" v3="3755" />
+ <tetrahedron index="10784" v0="2184" v1="3592" v2="3755" v3="3799" />
+ <tetrahedron index="10785" v0="1922" v1="1923" v2="2185" v3="3537" />
+ <tetrahedron index="10786" v0="1923" v1="2185" v2="3537" v3="3538" />
+ <tetrahedron index="10787" v0="2185" v1="3537" v2="3538" v3="3800" />
+ <tetrahedron index="10788" v0="1850" v1="1852" v2="2186" v3="3465" />
+ <tetrahedron index="10789" v0="1852" v1="2186" v2="3465" v3="3467" />
+ <tetrahedron index="10790" v0="2186" v1="3465" v2="3467" v3="3801" />
+ <tetrahedron index="10791" v0="1802" v1="2025" v2="2046" v3="3417" />
+ <tetrahedron index="10792" v0="2025" v1="2046" v2="3417" v3="3640" />
+ <tetrahedron index="10793" v0="2046" v1="3417" v2="3640" v3="3661" />
+ <tetrahedron index="10794" v0="1802" v1="1804" v2="2025" v3="3417" />
+ <tetrahedron index="10795" v0="1804" v1="2025" v2="3417" v3="3419" />
+ <tetrahedron index="10796" v0="2025" v1="3417" v2="3419" v3="3640" />
+ <tetrahedron index="10797" v0="1901" v1="1902" v2="1941" v3="3516" />
+ <tetrahedron index="10798" v0="1902" v1="1941" v2="3516" v3="3517" />
+ <tetrahedron index="10799" v0="1941" v1="3516" v2="3517" v3="3556" />
+ <tetrahedron index="10800" v0="1833" v1="1902" v2="1941" v3="3448" />
+ <tetrahedron index="10801" v0="1902" v1="1941" v2="3448" v3="3517" />
+ <tetrahedron index="10802" v0="1941" v1="3448" v2="3517" v3="3556" />
+ <tetrahedron index="10803" v0="1645" v1="1646" v2="2187" v3="3260" />
+ <tetrahedron index="10804" v0="1646" v1="2187" v2="3260" v3="3261" />
+ <tetrahedron index="10805" v0="2187" v1="3260" v2="3261" v3="3802" />
+ <tetrahedron index="10806" v0="1646" v1="1654" v2="2187" v3="3261" />
+ <tetrahedron index="10807" v0="1654" v1="2187" v2="3261" v3="3269" />
+ <tetrahedron index="10808" v0="2187" v1="3261" v2="3269" v3="3802" />
+ <tetrahedron index="10809" v0="1944" v1="1945" v2="2188" v3="3559" />
+ <tetrahedron index="10810" v0="1945" v1="2188" v2="3559" v3="3560" />
+ <tetrahedron index="10811" v0="2188" v1="3559" v2="3560" v3="3803" />
+ <tetrahedron index="10812" v0="2189" v1="2190" v2="2191" v3="3804" />
+ <tetrahedron index="10813" v0="2190" v1="2191" v2="3804" v3="3805" />
+ <tetrahedron index="10814" v0="2191" v1="3804" v2="3805" v3="3806" />
+ <tetrahedron index="10815" v0="1683" v1="1684" v2="2059" v3="3298" />
+ <tetrahedron index="10816" v0="1684" v1="2059" v2="3298" v3="3299" />
+ <tetrahedron index="10817" v0="2059" v1="3298" v2="3299" v3="3674" />
+ <tetrahedron index="10818" v0="1755" v1="1756" v2="1934" v3="3370" />
+ <tetrahedron index="10819" v0="1756" v1="1934" v2="3370" v3="3371" />
+ <tetrahedron index="10820" v0="1934" v1="3370" v2="3371" v3="3549" />
+ <tetrahedron index="10821" v0="1821" v1="2058" v2="2192" v3="3436" />
+ <tetrahedron index="10822" v0="2058" v1="2192" v2="3436" v3="3673" />
+ <tetrahedron index="10823" v0="2192" v1="3436" v2="3673" v3="3807" />
+ <tetrahedron index="10824" v0="1895" v1="2193" v2="2194" v3="3510" />
+ <tetrahedron index="10825" v0="2193" v1="2194" v2="3510" v3="3808" />
+ <tetrahedron index="10826" v0="2194" v1="3510" v2="3808" v3="3809" />
+ <tetrahedron index="10827" v0="2195" v1="2196" v2="2197" v3="3810" />
+ <tetrahedron index="10828" v0="2196" v1="2197" v2="3810" v3="3811" />
+ <tetrahedron index="10829" v0="2197" v1="3810" v2="3811" v3="3812" />
+ <tetrahedron index="10830" v0="1639" v1="2198" v2="2199" v3="3254" />
+ <tetrahedron index="10831" v0="2198" v1="2199" v2="3254" v3="3813" />
+ <tetrahedron index="10832" v0="2199" v1="3254" v2="3813" v3="3814" />
+ <tetrahedron index="10833" v0="1639" v1="1641" v2="2198" v3="3254" />
+ <tetrahedron index="10834" v0="1641" v1="2198" v2="3254" v3="3256" />
+ <tetrahedron index="10835" v0="2198" v1="3254" v2="3256" v3="3813" />
+ <tetrahedron index="10836" v0="2048" v1="2200" v2="2201" v3="3663" />
+ <tetrahedron index="10837" v0="2200" v1="2201" v2="3663" v3="3815" />
+ <tetrahedron index="10838" v0="2201" v1="3663" v2="3815" v3="3816" />
+ <tetrahedron index="10839" v0="1761" v1="1911" v2="1914" v3="3376" />
+ <tetrahedron index="10840" v0="1911" v1="1914" v2="3376" v3="3526" />
+ <tetrahedron index="10841" v0="1914" v1="3376" v2="3526" v3="3529" />
+ <tetrahedron index="10842" v0="1710" v1="2178" v2="2202" v3="3325" />
+ <tetrahedron index="10843" v0="2178" v1="2202" v2="3325" v3="3793" />
+ <tetrahedron index="10844" v0="2202" v1="3325" v2="3793" v3="3817" />
+ <tetrahedron index="10845" v0="2033" v1="2034" v2="2087" v3="3648" />
+ <tetrahedron index="10846" v0="2034" v1="2087" v2="3648" v3="3649" />
+ <tetrahedron index="10847" v0="2087" v1="3648" v2="3649" v3="3702" />
+ <tetrahedron index="10848" v0="1810" v1="1900" v2="1901" v3="3425" />
+ <tetrahedron index="10849" v0="1900" v1="1901" v2="3425" v3="3515" />
+ <tetrahedron index="10850" v0="1901" v1="3425" v2="3515" v3="3516" />
+ <tetrahedron index="10851" v0="1673" v1="1900" v2="2067" v3="3288" />
+ <tetrahedron index="10852" v0="1900" v1="2067" v2="3288" v3="3515" />
+ <tetrahedron index="10853" v0="2067" v1="3288" v2="3515" v3="3682" />
+ <tetrahedron index="10854" v0="1640" v1="2203" v2="2204" v3="3255" />
+ <tetrahedron index="10855" v0="2203" v1="2204" v2="3255" v3="3818" />
+ <tetrahedron index="10856" v0="2204" v1="3255" v2="3818" v3="3819" />
+ <tetrahedron index="10857" v0="2205" v1="2206" v2="2207" v3="3820" />
+ <tetrahedron index="10858" v0="2206" v1="2207" v2="3820" v3="3821" />
+ <tetrahedron index="10859" v0="2207" v1="3820" v2="3821" v3="3822" />
+ <tetrahedron index="10860" v0="1780" v1="2008" v2="2009" v3="3395" />
+ <tetrahedron index="10861" v0="2008" v1="2009" v2="3395" v3="3623" />
+ <tetrahedron index="10862" v0="2009" v1="3395" v2="3623" v3="3624" />
+ <tetrahedron index="10863" v0="1783" v1="1916" v2="1917" v3="3398" />
+ <tetrahedron index="10864" v0="1916" v1="1917" v2="3398" v3="3531" />
+ <tetrahedron index="10865" v0="1917" v1="3398" v2="3531" v3="3532" />
+ <tetrahedron index="10866" v0="1752" v1="1753" v2="2208" v3="3367" />
+ <tetrahedron index="10867" v0="1753" v1="2208" v2="3367" v3="3368" />
+ <tetrahedron index="10868" v0="2208" v1="3367" v2="3368" v3="3823" />
+ <tetrahedron index="10869" v0="1734" v1="1740" v2="1741" v3="3349" />
+ <tetrahedron index="10870" v0="1740" v1="1741" v2="3349" v3="3355" />
+ <tetrahedron index="10871" v0="1741" v1="3349" v2="3355" v3="3356" />
+ <tetrahedron index="10872" v0="1826" v1="1828" v2="2209" v3="3441" />
+ <tetrahedron index="10873" v0="1828" v1="2209" v2="3441" v3="3443" />
+ <tetrahedron index="10874" v0="2209" v1="3441" v2="3443" v3="3824" />
+ <tetrahedron index="10875" v0="1826" v1="1950" v2="2209" v3="3441" />
+ <tetrahedron index="10876" v0="1950" v1="2209" v2="3441" v3="3565" />
+ <tetrahedron index="10877" v0="2209" v1="3441" v2="3565" v3="3824" />
+ <tetrahedron index="10878" v0="1907" v1="2210" v2="2211" v3="3522" />
+ <tetrahedron index="10879" v0="2210" v1="2211" v2="3522" v3="3825" />
+ <tetrahedron index="10880" v0="2211" v1="3522" v2="3825" v3="3826" />
+ <tetrahedron index="10881" v0="2212" v1="2213" v2="2214" v3="3827" />
+ <tetrahedron index="10882" v0="2213" v1="2214" v2="3827" v3="3828" />
+ <tetrahedron index="10883" v0="2214" v1="3827" v2="3828" v3="3829" />
+ <tetrahedron index="10884" v0="1931" v1="1969" v2="2215" v3="3546" />
+ <tetrahedron index="10885" v0="1969" v1="2215" v2="3546" v3="3584" />
+ <tetrahedron index="10886" v0="2215" v1="3546" v2="3584" v3="3830" />
+ <tetrahedron index="10887" v0="1982" v1="2216" v2="2217" v3="3597" />
+ <tetrahedron index="10888" v0="2216" v1="2217" v2="3597" v3="3831" />
+ <tetrahedron index="10889" v0="2217" v1="3597" v2="3831" v3="3832" />
+ <tetrahedron index="10890" v0="1982" v1="2172" v2="2217" v3="3597" />
+ <tetrahedron index="10891" v0="2172" v1="2217" v2="3597" v3="3787" />
+ <tetrahedron index="10892" v0="2217" v1="3597" v2="3787" v3="3832" />
+ <tetrahedron index="10893" v0="1698" v1="1699" v2="2218" v3="3313" />
+ <tetrahedron index="10894" v0="1699" v1="2218" v2="3313" v3="3314" />
+ <tetrahedron index="10895" v0="2218" v1="3313" v2="3314" v3="3833" />
+ <tetrahedron index="10896" v0="1699" v1="2218" v2="2219" v3="3314" />
+ <tetrahedron index="10897" v0="2218" v1="2219" v2="3314" v3="3833" />
+ <tetrahedron index="10898" v0="2219" v1="3314" v2="3833" v3="3834" />
+ <tetrahedron index="10899" v0="2148" v1="2171" v2="2220" v3="3763" />
+ <tetrahedron index="10900" v0="2171" v1="2220" v2="3763" v3="3786" />
+ <tetrahedron index="10901" v0="2220" v1="3763" v2="3786" v3="3835" />
+ <tetrahedron index="10902" v0="2158" v1="2159" v2="2221" v3="3773" />
+ <tetrahedron index="10903" v0="2159" v1="2221" v2="3773" v3="3774" />
+ <tetrahedron index="10904" v0="2221" v1="3773" v2="3774" v3="3836" />
+ <tetrahedron index="10905" v0="2026" v1="2222" v2="2223" v3="3641" />
+ <tetrahedron index="10906" v0="2222" v1="2223" v2="3641" v3="3837" />
+ <tetrahedron index="10907" v0="2223" v1="3641" v2="3837" v3="3838" />
+ <tetrahedron index="10908" v0="2109" v1="2222" v2="2223" v3="3724" />
+ <tetrahedron index="10909" v0="2222" v1="2223" v2="3724" v3="3837" />
+ <tetrahedron index="10910" v0="2223" v1="3724" v2="3837" v3="3838" />
+ <tetrahedron index="10911" v0="1740" v1="2035" v2="2224" v3="3355" />
+ <tetrahedron index="10912" v0="2035" v1="2224" v2="3355" v3="3650" />
+ <tetrahedron index="10913" v0="2224" v1="3355" v2="3650" v3="3839" />
+ <tetrahedron index="10914" v0="2225" v1="2226" v2="2227" v3="3840" />
+ <tetrahedron index="10915" v0="2226" v1="2227" v2="3840" v3="3841" />
+ <tetrahedron index="10916" v0="2227" v1="3840" v2="3841" v3="3842" />
+ <tetrahedron index="10917" v0="2019" v1="2228" v2="2229" v3="3634" />
+ <tetrahedron index="10918" v0="2228" v1="2229" v2="3634" v3="3843" />
+ <tetrahedron index="10919" v0="2229" v1="3634" v2="3843" v3="3844" />
+ <tetrahedron index="10920" v0="1974" v1="2108" v2="2230" v3="3589" />
+ <tetrahedron index="10921" v0="2108" v1="2230" v2="3589" v3="3723" />
+ <tetrahedron index="10922" v0="2230" v1="3589" v2="3723" v3="3845" />
+ <tetrahedron index="10923" v0="1686" v1="1974" v2="2230" v3="3301" />
+ <tetrahedron index="10924" v0="1974" v1="2230" v2="3301" v3="3589" />
+ <tetrahedron index="10925" v0="2230" v1="3301" v2="3589" v3="3845" />
+ <tetrahedron index="10926" v0="2188" v1="2231" v2="2232" v3="3803" />
+ <tetrahedron index="10927" v0="2231" v1="2232" v2="3803" v3="3846" />
+ <tetrahedron index="10928" v0="2232" v1="3803" v2="3846" v3="3847" />
+ <tetrahedron index="10929" v0="2061" v1="2233" v2="2234" v3="3676" />
+ <tetrahedron index="10930" v0="2233" v1="2234" v2="3676" v3="3848" />
+ <tetrahedron index="10931" v0="2234" v1="3676" v2="3848" v3="3849" />
+ <tetrahedron index="10932" v0="2235" v1="2236" v2="2237" v3="3850" />
+ <tetrahedron index="10933" v0="2236" v1="2237" v2="3850" v3="3851" />
+ <tetrahedron index="10934" v0="2237" v1="3850" v2="3851" v3="3852" />
+ <tetrahedron index="10935" v0="2220" v1="2238" v2="2239" v3="3835" />
+ <tetrahedron index="10936" v0="2238" v1="2239" v2="3835" v3="3853" />
+ <tetrahedron index="10937" v0="2239" v1="3835" v2="3853" v3="3854" />
+ <tetrahedron index="10938" v0="2240" v1="2241" v2="2242" v3="3855" />
+ <tetrahedron index="10939" v0="2241" v1="2242" v2="3855" v3="3856" />
+ <tetrahedron index="10940" v0="2242" v1="3855" v2="3856" v3="3857" />
+ <tetrahedron index="10941" v0="2192" v1="2243" v2="2244" v3="3807" />
+ <tetrahedron index="10942" v0="2243" v1="2244" v2="3807" v3="3858" />
+ <tetrahedron index="10943" v0="2244" v1="3807" v2="3858" v3="3859" />
+ <tetrahedron index="10944" v0="1784" v1="1786" v2="1788" v3="3399" />
+ <tetrahedron index="10945" v0="1786" v1="1788" v2="3399" v3="3401" />
+ <tetrahedron index="10946" v0="1788" v1="3399" v2="3401" v3="3403" />
+ <tetrahedron index="10947" v0="1688" v1="2055" v2="2245" v3="3303" />
+ <tetrahedron index="10948" v0="2055" v1="2245" v2="3303" v3="3670" />
+ <tetrahedron index="10949" v0="2245" v1="3303" v2="3670" v3="3860" />
+ <tetrahedron index="10950" v0="1847" v1="1849" v2="2246" v3="3462" />
+ <tetrahedron index="10951" v0="1849" v1="2246" v2="3462" v3="3464" />
+ <tetrahedron index="10952" v0="2246" v1="3462" v2="3464" v3="3861" />
+ <tetrahedron index="10953" v0="1978" v1="2186" v2="2247" v3="3593" />
+ <tetrahedron index="10954" v0="2186" v1="2247" v2="3593" v3="3801" />
+ <tetrahedron index="10955" v0="2247" v1="3593" v2="3801" v3="3862" />
+ <tetrahedron index="10956" v0="1850" v1="2186" v2="2247" v3="3465" />
+ <tetrahedron index="10957" v0="2186" v1="2247" v2="3465" v3="3801" />
+ <tetrahedron index="10958" v0="2247" v1="3465" v2="3801" v3="3862" />
+ <tetrahedron index="10959" v0="1875" v1="2108" v2="2248" v3="3490" />
+ <tetrahedron index="10960" v0="2108" v1="2248" v2="3490" v3="3723" />
+ <tetrahedron index="10961" v0="2248" v1="3490" v2="3723" v3="3863" />
+ <tetrahedron index="10962" v0="1818" v1="2032" v2="2249" v3="3433" />
+ <tetrahedron index="10963" v0="2032" v1="2249" v2="3433" v3="3647" />
+ <tetrahedron index="10964" v0="2249" v1="3433" v2="3647" v3="3864" />
+ <tetrahedron index="10965" v0="1816" v1="2243" v2="2250" v3="3431" />
+ <tetrahedron index="10966" v0="2243" v1="2250" v2="3431" v3="3858" />
+ <tetrahedron index="10967" v0="2250" v1="3431" v2="3858" v3="3865" />
+ <tetrahedron index="10968" v0="1989" v1="1991" v2="2128" v3="3604" />
+ <tetrahedron index="10969" v0="1991" v1="2128" v2="3604" v3="3606" />
+ <tetrahedron index="10970" v0="2128" v1="3604" v2="3606" v3="3743" />
+ <tetrahedron index="10971" v0="2251" v1="2252" v2="2253" v3="3866" />
+ <tetrahedron index="10972" v0="2252" v1="2253" v2="3866" v3="3867" />
+ <tetrahedron index="10973" v0="2253" v1="3866" v2="3867" v3="3868" />
+ <tetrahedron index="10974" v0="1819" v1="2123" v2="2131" v3="3434" />
+ <tetrahedron index="10975" v0="2123" v1="2131" v2="3434" v3="3738" />
+ <tetrahedron index="10976" v0="2131" v1="3434" v2="3738" v3="3746" />
+ <tetrahedron index="10977" v0="1708" v1="1819" v2="2123" v3="3323" />
+ <tetrahedron index="10978" v0="1819" v1="2123" v2="3323" v3="3434" />
+ <tetrahedron index="10979" v0="2123" v1="3323" v2="3434" v3="3738" />
+ <tetrahedron index="10980" v0="2106" v1="2107" v2="2254" v3="3721" />
+ <tetrahedron index="10981" v0="2107" v1="2254" v2="3721" v3="3722" />
+ <tetrahedron index="10982" v0="2254" v1="3721" v2="3722" v3="3869" />
+ <tetrahedron index="10983" v0="2203" v1="2255" v2="2256" v3="3818" />
+ <tetrahedron index="10984" v0="2255" v1="2256" v2="3818" v3="3870" />
+ <tetrahedron index="10985" v0="2256" v1="3818" v2="3870" v3="3871" />
+ <tetrahedron index="10986" v0="2123" v1="2124" v2="2134" v3="3738" />
+ <tetrahedron index="10987" v0="2124" v1="2134" v2="3738" v3="3739" />
+ <tetrahedron index="10988" v0="2134" v1="3738" v2="3739" v3="3749" />
+ <tetrahedron index="10989" v0="1865" v1="2257" v2="2258" v3="3480" />
+ <tetrahedron index="10990" v0="2257" v1="2258" v2="3480" v3="3872" />
+ <tetrahedron index="10991" v0="2258" v1="3480" v2="3872" v3="3873" />
+ <tetrahedron index="10992" v0="1774" v1="2147" v2="2259" v3="3389" />
+ <tetrahedron index="10993" v0="2147" v1="2259" v2="3389" v3="3762" />
+ <tetrahedron index="10994" v0="2259" v1="3389" v2="3762" v3="3874" />
+ <tetrahedron index="10995" v0="1882" v1="1883" v2="2260" v3="3497" />
+ <tetrahedron index="10996" v0="1883" v1="2260" v2="3497" v3="3498" />
+ <tetrahedron index="10997" v0="2260" v1="3497" v2="3498" v3="3875" />
+ <tetrahedron index="10998" v0="1883" v1="2260" v2="2261" v3="3498" />
+ <tetrahedron index="10999" v0="2260" v1="2261" v2="3498" v3="3875" />
+ <tetrahedron index="11000" v0="2261" v1="3498" v2="3875" v3="3876" />
+ <tetrahedron index="11001" v0="1827" v1="1862" v2="2262" v3="3442" />
+ <tetrahedron index="11002" v0="1862" v1="2262" v2="3442" v3="3477" />
+ <tetrahedron index="11003" v0="2262" v1="3442" v2="3477" v3="3877" />
+ <tetrahedron index="11004" v0="2015" v1="2263" v2="2264" v3="3630" />
+ <tetrahedron index="11005" v0="2263" v1="2264" v2="3630" v3="3878" />
+ <tetrahedron index="11006" v0="2264" v1="3630" v2="3878" v3="3879" />
+ <tetrahedron index="11007" v0="2093" v1="2265" v2="2266" v3="3708" />
+ <tetrahedron index="11008" v0="2265" v1="2266" v2="3708" v3="3880" />
+ <tetrahedron index="11009" v0="2266" v1="3708" v2="3880" v3="3881" />
+ <tetrahedron index="11010" v0="1737" v1="2267" v2="2268" v3="3352" />
+ <tetrahedron index="11011" v0="2267" v1="2268" v2="3352" v3="3882" />
+ <tetrahedron index="11012" v0="2268" v1="3352" v2="3882" v3="3883" />
+ <tetrahedron index="11013" v0="1729" v1="1730" v2="2182" v3="3344" />
+ <tetrahedron index="11014" v0="1730" v1="2182" v2="3344" v3="3345" />
+ <tetrahedron index="11015" v0="2182" v1="3344" v2="3345" v3="3797" />
+ <tetrahedron index="11016" v0="2205" v1="2206" v2="2269" v3="3820" />
+ <tetrahedron index="11017" v0="2206" v1="2269" v2="3820" v3="3821" />
+ <tetrahedron index="11018" v0="2269" v1="3820" v2="3821" v3="3884" />
+ <tetrahedron index="11019" v0="2149" v1="2270" v2="2271" v3="3764" />
+ <tetrahedron index="11020" v0="2270" v1="2271" v2="3764" v3="3885" />
+ <tetrahedron index="11021" v0="2271" v1="3764" v2="3885" v3="3886" />
+ <tetrahedron index="11022" v0="1710" v1="2178" v2="2272" v3="3325" />
+ <tetrahedron index="11023" v0="2178" v1="2272" v2="3325" v3="3793" />
+ <tetrahedron index="11024" v0="2272" v1="3325" v2="3793" v3="3887" />
+ <tetrahedron index="11025" v0="1710" v1="1808" v2="2272" v3="3325" />
+ <tetrahedron index="11026" v0="1808" v1="2272" v2="3325" v3="3423" />
+ <tetrahedron index="11027" v0="2272" v1="3325" v2="3423" v3="3887" />
+ <tetrahedron index="11028" v0="2203" v1="2204" v2="2273" v3="3818" />
+ <tetrahedron index="11029" v0="2204" v1="2273" v2="3818" v3="3819" />
+ <tetrahedron index="11030" v0="2273" v1="3818" v2="3819" v3="3888" />
+ <tetrahedron index="11031" v0="2204" v1="2273" v2="2274" v3="3819" />
+ <tetrahedron index="11032" v0="2273" v1="2274" v2="3819" v3="3888" />
+ <tetrahedron index="11033" v0="2274" v1="3819" v2="3888" v3="3889" />
+ <tetrahedron index="11034" v0="2275" v1="2276" v2="2277" v3="3890" />
+ <tetrahedron index="11035" v0="2276" v1="2277" v2="3890" v3="3891" />
+ <tetrahedron index="11036" v0="2277" v1="3890" v2="3891" v3="3892" />
+ <tetrahedron index="11037" v0="1676" v1="1677" v2="2145" v3="3291" />
+ <tetrahedron index="11038" v0="1677" v1="2145" v2="3291" v3="3292" />
+ <tetrahedron index="11039" v0="2145" v1="3291" v2="3292" v3="3760" />
+ <tetrahedron index="11040" v0="1677" v1="2145" v2="2278" v3="3292" />
+ <tetrahedron index="11041" v0="2145" v1="2278" v2="3292" v3="3760" />
+ <tetrahedron index="11042" v0="2278" v1="3292" v2="3760" v3="3893" />
+ <tetrahedron index="11043" v0="1708" v1="2124" v2="2279" v3="3323" />
+ <tetrahedron index="11044" v0="2124" v1="2279" v2="3323" v3="3739" />
+ <tetrahedron index="11045" v0="2279" v1="3323" v2="3739" v3="3894" />
+ <tetrahedron index="11046" v0="2199" v1="2255" v2="2280" v3="3814" />
+ <tetrahedron index="11047" v0="2255" v1="2280" v2="3814" v3="3870" />
+ <tetrahedron index="11048" v0="2280" v1="3814" v2="3870" v3="3895" />
+ <tetrahedron index="11049" v0="1639" v1="2199" v2="2255" v3="3254" />
+ <tetrahedron index="11050" v0="2199" v1="2255" v2="3254" v3="3814" />
+ <tetrahedron index="11051" v0="2255" v1="3254" v2="3814" v3="3870" />
+ <tetrahedron index="11052" v0="1845" v1="1846" v2="2281" v3="3460" />
+ <tetrahedron index="11053" v0="1846" v1="2281" v2="3460" v3="3461" />
+ <tetrahedron index="11054" v0="2281" v1="3460" v2="3461" v3="3896" />
+ <tetrahedron index="11055" v0="1676" v1="1678" v2="2142" v3="3291" />
+ <tetrahedron index="11056" v0="1678" v1="2142" v2="3291" v3="3293" />
+ <tetrahedron index="11057" v0="2142" v1="3291" v2="3293" v3="3757" />
+ <tetrahedron index="11058" v0="2151" v1="2282" v2="2283" v3="3766" />
+ <tetrahedron index="11059" v0="2282" v1="2283" v2="3766" v3="3897" />
+ <tetrahedron index="11060" v0="2283" v1="3766" v2="3897" v3="3898" />
+ <tetrahedron index="11061" v0="2081" v1="2212" v2="2213" v3="3696" />
+ <tetrahedron index="11062" v0="2212" v1="2213" v2="3696" v3="3827" />
+ <tetrahedron index="11063" v0="2213" v1="3696" v2="3827" v3="3828" />
+ <tetrahedron index="11064" v0="1977" v1="2184" v2="2284" v3="3592" />
+ <tetrahedron index="11065" v0="2184" v1="2284" v2="3592" v3="3799" />
+ <tetrahedron index="11066" v0="2284" v1="3592" v2="3799" v3="3899" />
+ <tetrahedron index="11067" v0="2196" v1="2197" v2="2227" v3="3811" />
+ <tetrahedron index="11068" v0="2197" v1="2227" v2="3811" v3="3812" />
+ <tetrahedron index="11069" v0="2227" v1="3811" v2="3812" v3="3842" />
+ <tetrahedron index="11070" v0="1865" v1="1866" v2="2258" v3="3480" />
+ <tetrahedron index="11071" v0="1866" v1="2258" v2="3480" v3="3481" />
+ <tetrahedron index="11072" v0="2258" v1="3480" v2="3481" v3="3873" />
+ <tetrahedron index="11073" v0="1866" v1="2258" v2="2285" v3="3481" />
+ <tetrahedron index="11074" v0="2258" v1="2285" v2="3481" v3="3873" />
+ <tetrahedron index="11075" v0="2285" v1="3481" v2="3873" v3="3900" />
+ <tetrahedron index="11076" v0="2256" v1="2286" v2="2287" v3="3871" />
+ <tetrahedron index="11077" v0="2286" v1="2287" v2="3871" v3="3901" />
+ <tetrahedron index="11078" v0="2287" v1="3871" v2="3901" v3="3902" />
+ <tetrahedron index="11079" v0="1741" v1="1742" v2="2288" v3="3356" />
+ <tetrahedron index="11080" v0="1742" v1="2288" v2="3356" v3="3357" />
+ <tetrahedron index="11081" v0="2288" v1="3356" v2="3357" v3="3903" />
+ <tetrahedron index="11082" v0="1828" v1="2021" v2="2209" v3="3443" />
+ <tetrahedron index="11083" v0="2021" v1="2209" v2="3443" v3="3636" />
+ <tetrahedron index="11084" v0="2209" v1="3443" v2="3636" v3="3824" />
+ <tetrahedron index="11085" v0="1843" v1="2021" v2="2209" v3="3458" />
+ <tetrahedron index="11086" v0="2021" v1="2209" v2="3458" v3="3636" />
+ <tetrahedron index="11087" v0="2209" v1="3458" v2="3636" v3="3824" />
+ <tetrahedron index="11088" v0="1869" v1="2289" v2="2290" v3="3484" />
+ <tetrahedron index="11089" v0="2289" v1="2290" v2="3484" v3="3904" />
+ <tetrahedron index="11090" v0="2290" v1="3484" v2="3904" v3="3905" />
+ <tetrahedron index="11091" v0="2253" v1="2291" v2="2292" v3="3868" />
+ <tetrahedron index="11092" v0="2291" v1="2292" v2="3868" v3="3906" />
+ <tetrahedron index="11093" v0="2292" v1="3868" v2="3906" v3="3907" />
+ <tetrahedron index="11094" v0="2213" v1="2293" v2="2294" v3="3828" />
+ <tetrahedron index="11095" v0="2293" v1="2294" v2="3828" v3="3908" />
+ <tetrahedron index="11096" v0="2294" v1="3828" v2="3908" v3="3909" />
+ <tetrahedron index="11097" v0="2213" v1="2214" v2="2294" v3="3828" />
+ <tetrahedron index="11098" v0="2214" v1="2294" v2="3828" v3="3829" />
+ <tetrahedron index="11099" v0="2294" v1="3828" v2="3829" v3="3909" />
+ <tetrahedron index="11100" v0="1985" v1="2224" v2="2295" v3="3600" />
+ <tetrahedron index="11101" v0="2224" v1="2295" v2="3600" v3="3839" />
+ <tetrahedron index="11102" v0="2295" v1="3600" v2="3839" v3="3910" />
+ <tetrahedron index="11103" v0="1740" v1="2224" v2="2295" v3="3355" />
+ <tetrahedron index="11104" v0="2224" v1="2295" v2="3355" v3="3839" />
+ <tetrahedron index="11105" v0="2295" v1="3355" v2="3839" v3="3910" />
+ <tetrahedron index="11106" v0="2079" v1="2296" v2="2297" v3="3694" />
+ <tetrahedron index="11107" v0="2296" v1="2297" v2="3694" v3="3911" />
+ <tetrahedron index="11108" v0="2297" v1="3694" v2="3911" v3="3912" />
+ <tetrahedron index="11109" v0="2298" v1="2299" v2="2300" v3="3913" />
+ <tetrahedron index="11110" v0="2299" v1="2300" v2="3913" v3="3914" />
+ <tetrahedron index="11111" v0="2300" v1="3913" v2="3914" v3="3915" />
+ <tetrahedron index="11112" v0="2298" v1="2300" v2="2301" v3="3913" />
+ <tetrahedron index="11113" v0="2300" v1="2301" v2="3913" v3="3915" />
+ <tetrahedron index="11114" v0="2301" v1="3913" v2="3915" v3="3916" />
+ <tetrahedron index="11115" v0="1679" v1="1680" v2="2302" v3="3294" />
+ <tetrahedron index="11116" v0="1680" v1="2302" v2="3294" v3="3295" />
+ <tetrahedron index="11117" v0="2302" v1="3294" v2="3295" v3="3917" />
+ <tetrahedron index="11118" v0="1847" v1="2002" v2="2246" v3="3462" />
+ <tetrahedron index="11119" v0="2002" v1="2246" v2="3462" v3="3617" />
+ <tetrahedron index="11120" v0="2246" v1="3462" v2="3617" v3="3861" />
+ <tetrahedron index="11121" v0="1979" v1="2002" v2="2246" v3="3594" />
+ <tetrahedron index="11122" v0="2002" v1="2246" v2="3594" v3="3617" />
+ <tetrahedron index="11123" v0="2246" v1="3594" v2="3617" v3="3861" />
+ <tetrahedron index="11124" v0="1897" v1="1899" v2="2062" v3="3512" />
+ <tetrahedron index="11125" v0="1899" v1="2062" v2="3512" v3="3514" />
+ <tetrahedron index="11126" v0="2062" v1="3512" v2="3514" v3="3677" />
+ <tetrahedron index="11127" v0="1899" v1="2062" v2="2303" v3="3514" />
+ <tetrahedron index="11128" v0="2062" v1="2303" v2="3514" v3="3677" />
+ <tetrahedron index="11129" v0="2303" v1="3514" v2="3677" v3="3918" />
+ <tetrahedron index="11130" v0="1989" v1="2128" v2="2304" v3="3604" />
+ <tetrahedron index="11131" v0="2128" v1="2304" v2="3604" v3="3743" />
+ <tetrahedron index="11132" v0="2304" v1="3604" v2="3743" v3="3919" />
+ <tetrahedron index="11133" v0="2127" v1="2128" v2="2304" v3="3742" />
+ <tetrahedron index="11134" v0="2128" v1="2304" v2="3742" v3="3743" />
+ <tetrahedron index="11135" v0="2304" v1="3742" v2="3743" v3="3919" />
+ <tetrahedron index="11136" v0="1952" v1="2082" v2="2305" v3="3567" />
+ <tetrahedron index="11137" v0="2082" v1="2305" v2="3567" v3="3697" />
+ <tetrahedron index="11138" v0="2305" v1="3567" v2="3697" v3="3920" />
+ <tetrahedron index="11139" v0="2306" v1="2307" v2="2308" v3="3921" />
+ <tetrahedron index="11140" v0="2307" v1="2308" v2="3921" v3="3922" />
+ <tetrahedron index="11141" v0="2308" v1="3921" v2="3922" v3="3923" />
+ <tetrahedron index="11142" v0="1740" v1="1742" v2="2295" v3="3355" />
+ <tetrahedron index="11143" v0="1742" v1="2295" v2="3355" v3="3357" />
+ <tetrahedron index="11144" v0="2295" v1="3355" v2="3357" v3="3910" />
+ <tetrahedron index="11145" v0="1742" v1="2295" v2="2309" v3="3357" />
+ <tetrahedron index="11146" v0="2295" v1="2309" v2="3357" v3="3910" />
+ <tetrahedron index="11147" v0="2309" v1="3357" v2="3910" v3="3924" />
+ <tetrahedron index="11148" v0="1960" v1="2016" v2="2272" v3="3575" />
+ <tetrahedron index="11149" v0="2016" v1="2272" v2="3575" v3="3631" />
+ <tetrahedron index="11150" v0="2272" v1="3575" v2="3631" v3="3887" />
+ <tetrahedron index="11151" v0="1808" v1="2016" v2="2272" v3="3423" />
+ <tetrahedron index="11152" v0="2016" v1="2272" v2="3423" v3="3631" />
+ <tetrahedron index="11153" v0="2272" v1="3423" v2="3631" v3="3887" />
+ <tetrahedron index="11154" v0="2300" v1="2310" v2="2311" v3="3915" />
+ <tetrahedron index="11155" v0="2310" v1="2311" v2="3915" v3="3925" />
+ <tetrahedron index="11156" v0="2311" v1="3915" v2="3925" v3="3926" />
+ <tetrahedron index="11157" v0="1879" v1="2001" v2="2260" v3="3494" />
+ <tetrahedron index="11158" v0="2001" v1="2260" v2="3494" v3="3616" />
+ <tetrahedron index="11159" v0="2260" v1="3494" v2="3616" v3="3875" />
+ <tetrahedron index="11160" v0="1882" v1="2001" v2="2260" v3="3497" />
+ <tetrahedron index="11161" v0="2001" v1="2260" v2="3497" v3="3616" />
+ <tetrahedron index="11162" v0="2260" v1="3497" v2="3616" v3="3875" />
+ <tetrahedron index="11163" v0="1737" v1="1739" v2="2267" v3="3352" />
+ <tetrahedron index="11164" v0="1739" v1="2267" v2="3352" v3="3354" />
+ <tetrahedron index="11165" v0="2267" v1="3352" v2="3354" v3="3882" />
+ <tetrahedron index="11166" v0="1698" v1="2218" v2="2312" v3="3313" />
+ <tetrahedron index="11167" v0="2218" v1="2312" v2="3313" v3="3833" />
+ <tetrahedron index="11168" v0="2312" v1="3313" v2="3833" v3="3927" />
+ <tetrahedron index="11169" v0="2218" v1="2219" v2="2313" v3="3833" />
+ <tetrahedron index="11170" v0="2219" v1="2313" v2="3833" v3="3834" />
+ <tetrahedron index="11171" v0="2313" v1="3833" v2="3834" v3="3928" />
+ <tetrahedron index="11172" v0="2148" v1="2220" v2="2239" v3="3763" />
+ <tetrahedron index="11173" v0="2220" v1="2239" v2="3763" v3="3835" />
+ <tetrahedron index="11174" v0="2239" v1="3763" v2="3835" v3="3854" />
+ <tetrahedron index="11175" v0="1874" v1="2148" v2="2239" v3="3489" />
+ <tetrahedron index="11176" v0="2148" v1="2239" v2="3489" v3="3763" />
+ <tetrahedron index="11177" v0="2239" v1="3489" v2="3763" v3="3854" />
+ <tetrahedron index="11178" v0="1780" v1="1781" v2="2314" v3="3395" />
+ <tetrahedron index="11179" v0="1781" v1="2314" v2="3395" v3="3396" />
+ <tetrahedron index="11180" v0="2314" v1="3395" v2="3396" v3="3929" />
+ <tetrahedron index="11181" v0="1780" v1="2008" v2="2314" v3="3395" />
+ <tetrahedron index="11182" v0="2008" v1="2314" v2="3395" v3="3623" />
+ <tetrahedron index="11183" v0="2314" v1="3395" v2="3623" v3="3929" />
+ <tetrahedron index="11184" v0="1789" v1="1790" v2="1794" v3="3404" />
+ <tetrahedron index="11185" v0="1790" v1="1794" v2="3404" v3="3405" />
+ <tetrahedron index="11186" v0="1794" v1="3404" v2="3405" v3="3409" />
+ <tetrahedron index="11187" v0="1697" v1="1792" v2="2315" v3="3312" />
+ <tetrahedron index="11188" v0="1792" v1="2315" v2="3312" v3="3407" />
+ <tetrahedron index="11189" v0="2315" v1="3312" v2="3407" v3="3930" />
+ <tetrahedron index="11190" v0="1792" v1="2315" v2="2316" v3="3407" />
+ <tetrahedron index="11191" v0="2315" v1="2316" v2="3407" v3="3930" />
+ <tetrahedron index="11192" v0="2316" v1="3407" v2="3930" v3="3931" />
+ <tetrahedron index="11193" v0="2058" v1="2192" v2="2317" v3="3673" />
+ <tetrahedron index="11194" v0="2192" v1="2317" v2="3673" v3="3807" />
+ <tetrahedron index="11195" v0="2317" v1="3673" v2="3807" v3="3932" />
+ <tetrahedron index="11196" v0="2308" v1="2318" v2="2319" v3="3923" />
+ <tetrahedron index="11197" v0="2318" v1="2319" v2="3923" v3="3933" />
+ <tetrahedron index="11198" v0="2319" v1="3923" v2="3933" v3="3934" />
+ <tetrahedron index="11199" v0="1960" v1="1961" v2="2272" v3="3575" />
+ <tetrahedron index="11200" v0="1961" v1="2272" v2="3575" v3="3576" />
+ <tetrahedron index="11201" v0="2272" v1="3575" v2="3576" v3="3887" />
+ <tetrahedron index="11202" v0="1961" v1="2178" v2="2272" v3="3576" />
+ <tetrahedron index="11203" v0="2178" v1="2272" v2="3576" v3="3793" />
+ <tetrahedron index="11204" v0="2272" v1="3576" v2="3793" v3="3887" />
+ <tetrahedron index="11205" v0="2044" v1="2320" v2="2321" v3="3659" />
+ <tetrahedron index="11206" v0="2320" v1="2321" v2="3659" v3="3935" />
+ <tetrahedron index="11207" v0="2321" v1="3659" v2="3935" v3="3936" />
+ <tetrahedron index="11208" v0="2165" v1="2166" v2="2322" v3="3780" />
+ <tetrahedron index="11209" v0="2166" v1="2322" v2="3780" v3="3781" />
+ <tetrahedron index="11210" v0="2322" v1="3780" v2="3781" v3="3937" />
+ <tetrahedron index="11211" v0="1853" v1="2125" v2="2247" v3="3468" />
+ <tetrahedron index="11212" v0="2125" v1="2247" v2="3468" v3="3740" />
+ <tetrahedron index="11213" v0="2247" v1="3468" v2="3740" v3="3862" />
+ <tetrahedron index="11214" v0="1978" v1="2125" v2="2247" v3="3593" />
+ <tetrahedron index="11215" v0="2125" v1="2247" v2="3593" v3="3740" />
+ <tetrahedron index="11216" v0="2247" v1="3593" v2="3740" v3="3862" />
+ <tetrahedron index="11217" v0="1617" v1="2042" v2="2323" v3="3232" />
+ <tetrahedron index="11218" v0="2042" v1="2323" v2="3232" v3="3657" />
+ <tetrahedron index="11219" v0="2323" v1="3232" v2="3657" v3="3938" />
+ <tetrahedron index="11220" v0="2042" v1="2190" v2="2323" v3="3657" />
+ <tetrahedron index="11221" v0="2190" v1="2323" v2="3657" v3="3805" />
+ <tetrahedron index="11222" v0="2323" v1="3657" v2="3805" v3="3938" />
+ <tetrahedron index="11223" v0="1963" v1="1964" v2="2048" v3="3578" />
+ <tetrahedron index="11224" v0="1964" v1="2048" v2="3578" v3="3579" />
+ <tetrahedron index="11225" v0="2048" v1="3578" v2="3579" v3="3663" />
+ <tetrahedron index="11226" v0="1711" v1="2324" v2="2325" v3="3326" />
+ <tetrahedron index="11227" v0="2324" v1="2325" v2="3326" v3="3939" />
+ <tetrahedron index="11228" v0="2325" v1="3326" v2="3939" v3="3940" />
+ <tetrahedron index="11229" v0="2326" v1="2327" v2="2328" v3="3941" />
+ <tetrahedron index="11230" v0="2327" v1="2328" v2="3941" v3="3942" />
+ <tetrahedron index="11231" v0="2328" v1="3941" v2="3942" v3="3943" />
+ <tetrahedron index="11232" v0="1945" v1="2071" v2="2188" v3="3560" />
+ <tetrahedron index="11233" v0="2071" v1="2188" v2="3560" v3="3686" />
+ <tetrahedron index="11234" v0="2188" v1="3560" v2="3686" v3="3803" />
+ <tetrahedron index="11235" v0="2071" v1="2188" v2="2231" v3="3686" />
+ <tetrahedron index="11236" v0="2188" v1="2231" v2="3686" v3="3803" />
+ <tetrahedron index="11237" v0="2231" v1="3686" v2="3803" v3="3846" />
+ <tetrahedron index="11238" v0="1907" v1="2211" v2="2329" v3="3522" />
+ <tetrahedron index="11239" v0="2211" v1="2329" v2="3522" v3="3826" />
+ <tetrahedron index="11240" v0="2329" v1="3522" v2="3826" v3="3944" />
+ <tetrahedron index="11241" v0="1906" v1="1907" v2="2329" v3="3521" />
+ <tetrahedron index="11242" v0="1907" v1="2329" v2="3521" v3="3522" />
+ <tetrahedron index="11243" v0="2329" v1="3521" v2="3522" v3="3944" />
+ <tetrahedron index="11244" v0="2130" v1="2131" v2="2196" v3="3745" />
+ <tetrahedron index="11245" v0="2131" v1="2196" v2="3745" v3="3746" />
+ <tetrahedron index="11246" v0="2196" v1="3745" v2="3746" v3="3811" />
+ <tetrahedron index="11247" v0="2131" v1="2195" v2="2196" v3="3746" />
+ <tetrahedron index="11248" v0="2195" v1="2196" v2="3746" v3="3810" />
+ <tetrahedron index="11249" v0="2196" v1="3746" v2="3810" v3="3811" />
+ <tetrahedron index="11250" v0="1841" v1="1842" v2="2195" v3="3456" />
+ <tetrahedron index="11251" v0="1842" v1="2195" v2="3456" v3="3457" />
+ <tetrahedron index="11252" v0="2195" v1="3456" v2="3457" v3="3810" />
+ <tetrahedron index="11253" v0="1841" v1="2131" v2="2195" v3="3456" />
+ <tetrahedron index="11254" v0="2131" v1="2195" v2="3456" v3="3746" />
+ <tetrahedron index="11255" v0="2195" v1="3456" v2="3746" v3="3810" />
+ <tetrahedron index="11256" v0="1816" v1="1817" v2="1890" v3="3431" />
+ <tetrahedron index="11257" v0="1817" v1="1890" v2="3431" v3="3432" />
+ <tetrahedron index="11258" v0="1890" v1="3431" v2="3432" v3="3505" />
+ <tetrahedron index="11259" v0="1895" v1="1896" v2="2330" v3="3510" />
+ <tetrahedron index="11260" v0="1896" v1="2330" v2="3510" v3="3511" />
+ <tetrahedron index="11261" v0="2330" v1="3510" v2="3511" v3="3945" />
+ <tetrahedron index="11262" v0="2331" v1="2332" v2="2333" v3="3946" />
+ <tetrahedron index="11263" v0="2332" v1="2333" v2="3946" v3="3947" />
+ <tetrahedron index="11264" v0="2333" v1="3946" v2="3947" v3="3948" />
+ <tetrahedron index="11265" v0="1736" v1="1920" v2="1921" v3="3351" />
+ <tetrahedron index="11266" v0="1920" v1="1921" v2="3351" v3="3535" />
+ <tetrahedron index="11267" v0="1921" v1="3351" v2="3535" v3="3536" />
+ <tetrahedron index="11268" v0="1736" v1="1920" v2="2334" v3="3351" />
+ <tetrahedron index="11269" v0="1920" v1="2334" v2="3351" v3="3535" />
+ <tetrahedron index="11270" v0="2334" v1="3351" v2="3535" v3="3949" />
+ <tetrahedron index="11271" v0="2067" v1="2335" v2="2336" v3="3682" />
+ <tetrahedron index="11272" v0="2335" v1="2336" v2="3682" v3="3950" />
+ <tetrahedron index="11273" v0="2336" v1="3682" v2="3950" v3="3951" />
+ <tetrahedron index="11274" v0="1750" v1="2081" v2="2337" v3="3365" />
+ <tetrahedron index="11275" v0="2081" v1="2337" v2="3365" v3="3696" />
+ <tetrahedron index="11276" v0="2337" v1="3365" v2="3696" v3="3952" />
+ <tetrahedron index="11277" v0="1993" v1="2238" v2="2239" v3="3608" />
+ <tetrahedron index="11278" v0="2238" v1="2239" v2="3608" v3="3853" />
+ <tetrahedron index="11279" v0="2239" v1="3608" v2="3853" v3="3854" />
+ <tetrahedron index="11280" v0="1821" v1="1890" v2="2192" v3="3436" />
+ <tetrahedron index="11281" v0="1890" v1="2192" v2="3436" v3="3505" />
+ <tetrahedron index="11282" v0="2192" v1="3436" v2="3505" v3="3807" />
+ <tetrahedron index="11283" v0="1783" v1="1786" v2="1916" v3="3398" />
+ <tetrahedron index="11284" v0="1786" v1="1916" v2="3398" v3="3401" />
+ <tetrahedron index="11285" v0="1916" v1="3398" v2="3401" v3="3531" />
+ <tetrahedron index="11286" v0="2128" v1="2129" v2="2338" v3="3743" />
+ <tetrahedron index="11287" v0="2129" v1="2338" v2="3743" v3="3744" />
+ <tetrahedron index="11288" v0="2338" v1="3743" v2="3744" v3="3953" />
+ <tetrahedron index="11289" v0="1991" v1="2128" v2="2338" v3="3606" />
+ <tetrahedron index="11290" v0="2128" v1="2338" v2="3606" v3="3743" />
+ <tetrahedron index="11291" v0="2338" v1="3606" v2="3743" v3="3953" />
+ <tetrahedron index="11292" v0="1855" v1="2019" v2="2229" v3="3470" />
+ <tetrahedron index="11293" v0="2019" v1="2229" v2="3470" v3="3634" />
+ <tetrahedron index="11294" v0="2229" v1="3470" v2="3634" v3="3844" />
+ <tetrahedron index="11295" v0="1683" v1="1685" v2="2339" v3="3298" />
+ <tetrahedron index="11296" v0="1685" v1="2339" v2="3298" v3="3300" />
+ <tetrahedron index="11297" v0="2339" v1="3298" v2="3300" v3="3954" />
+ <tetrahedron index="11298" v0="1685" v1="2339" v2="2340" v3="3300" />
+ <tetrahedron index="11299" v0="2339" v1="2340" v2="3300" v3="3954" />
+ <tetrahedron index="11300" v0="2340" v1="3300" v2="3954" v3="3955" />
+ <tetrahedron index="11301" v0="1947" v1="2260" v2="2261" v3="3562" />
+ <tetrahedron index="11302" v0="2260" v1="2261" v2="3562" v3="3875" />
+ <tetrahedron index="11303" v0="2261" v1="3562" v2="3875" v3="3876" />
+ <tetrahedron index="11304" v0="1879" v1="1947" v2="2260" v3="3494" />
+ <tetrahedron index="11305" v0="1947" v1="2260" v2="3494" v3="3562" />
+ <tetrahedron index="11306" v0="2260" v1="3494" v2="3562" v3="3875" />
+ <tetrahedron index="11307" v0="1797" v1="1798" v2="2341" v3="3412" />
+ <tetrahedron index="11308" v0="1798" v1="2341" v2="3412" v3="3413" />
+ <tetrahedron index="11309" v0="2341" v1="3412" v2="3413" v3="3956" />
+ <tetrahedron index="11310" v0="2147" v1="2259" v2="2342" v3="3762" />
+ <tetrahedron index="11311" v0="2259" v1="2342" v2="3762" v3="3874" />
+ <tetrahedron index="11312" v0="2342" v1="3762" v2="3874" v3="3957" />
+ <tetrahedron index="11313" v0="2146" v1="2147" v2="2342" v3="3761" />
+ <tetrahedron index="11314" v0="2147" v1="2342" v2="3761" v3="3762" />
+ <tetrahedron index="11315" v0="2342" v1="3761" v2="3762" v3="3957" />
+ <tetrahedron index="11316" v0="1920" v1="2334" v2="2343" v3="3535" />
+ <tetrahedron index="11317" v0="2334" v1="2343" v2="3535" v3="3949" />
+ <tetrahedron index="11318" v0="2343" v1="3535" v2="3949" v3="3958" />
+ <tetrahedron index="11319" v0="2132" v1="2246" v2="2344" v3="3747" />
+ <tetrahedron index="11320" v0="2246" v1="2344" v2="3747" v3="3861" />
+ <tetrahedron index="11321" v0="2344" v1="3747" v2="3861" v3="3959" />
+ <tetrahedron index="11322" v0="1979" v1="2132" v2="2246" v3="3594" />
+ <tetrahedron index="11323" v0="2132" v1="2246" v2="3594" v3="3747" />
+ <tetrahedron index="11324" v0="2246" v1="3594" v2="3747" v3="3861" />
+ <tetrahedron index="11325" v0="2033" v1="2087" v2="2088" v3="3648" />
+ <tetrahedron index="11326" v0="2087" v1="2088" v2="3648" v3="3702" />
+ <tetrahedron index="11327" v0="2088" v1="3648" v2="3702" v3="3703" />
+ <tetrahedron index="11328" v0="1804" v1="2022" v2="2345" v3="3419" />
+ <tetrahedron index="11329" v0="2022" v1="2345" v2="3419" v3="3637" />
+ <tetrahedron index="11330" v0="2345" v1="3419" v2="3637" v3="3960" />
+ <tetrahedron index="11331" v0="1804" v1="2022" v2="2025" v3="3419" />
+ <tetrahedron index="11332" v0="2022" v1="2025" v2="3419" v3="3637" />
+ <tetrahedron index="11333" v0="2025" v1="3419" v2="3637" v3="3640" />
+ <tetrahedron index="11334" v0="1995" v1="2346" v2="2347" v3="3610" />
+ <tetrahedron index="11335" v0="2346" v1="2347" v2="3610" v3="3961" />
+ <tetrahedron index="11336" v0="2347" v1="3610" v2="3961" v3="3962" />
+ <tetrahedron index="11337" v0="2049" v1="2052" v2="2072" v3="3664" />
+ <tetrahedron index="11338" v0="2052" v1="2072" v2="3664" v3="3667" />
+ <tetrahedron index="11339" v0="2072" v1="3664" v2="3667" v3="3687" />
+ <tetrahedron index="11340" v0="2052" v1="2072" v2="2130" v3="3667" />
+ <tetrahedron index="11341" v0="2072" v1="2130" v2="3667" v3="3687" />
+ <tetrahedron index="11342" v0="2130" v1="3667" v2="3687" v3="3745" />
+ <tetrahedron index="11343" v0="1875" v1="1957" v2="2248" v3="3490" />
+ <tetrahedron index="11344" v0="1957" v1="2248" v2="3490" v3="3572" />
+ <tetrahedron index="11345" v0="2248" v1="3490" v2="3572" v3="3863" />
+ <tetrahedron index="11346" v0="2348" v1="2349" v2="2350" v3="3963" />
+ <tetrahedron index="11347" v0="2349" v1="2350" v2="3963" v3="3964" />
+ <tetrahedron index="11348" v0="2350" v1="3963" v2="3964" v3="3965" />
+ <tetrahedron index="11349" v0="2133" v1="2348" v2="2350" v3="3748" />
+ <tetrahedron index="11350" v0="2348" v1="2350" v2="3748" v3="3963" />
+ <tetrahedron index="11351" v0="2350" v1="3748" v2="3963" v3="3965" />
+ <tetrahedron index="11352" v0="1778" v1="1782" v2="1783" v3="3393" />
+ <tetrahedron index="11353" v0="1782" v1="1783" v2="3393" v3="3397" />
+ <tetrahedron index="11354" v0="1783" v1="3393" v2="3397" v3="3398" />
+ <tetrahedron index="11355" v0="1778" v1="1783" v2="1917" v3="3393" />
+ <tetrahedron index="11356" v0="1783" v1="1917" v2="3393" v3="3398" />
+ <tetrahedron index="11357" v0="1917" v1="3393" v2="3398" v3="3532" />
+ <tetrahedron index="11358" v0="2153" v1="2230" v2="2351" v3="3768" />
+ <tetrahedron index="11359" v0="2230" v1="2351" v2="3768" v3="3845" />
+ <tetrahedron index="11360" v0="2351" v1="3768" v2="3845" v3="3966" />
+ <tetrahedron index="11361" v0="1881" v1="1882" v2="2352" v3="3496" />
+ <tetrahedron index="11362" v0="1882" v1="2352" v2="3496" v3="3497" />
+ <tetrahedron index="11363" v0="2352" v1="3496" v2="3497" v3="3967" />
+ <tetrahedron index="11364" v0="1882" v1="2001" v2="2352" v3="3497" />
+ <tetrahedron index="11365" v0="2001" v1="2352" v2="3497" v3="3616" />
+ <tetrahedron index="11366" v0="2352" v1="3497" v2="3616" v3="3967" />
+ <tetrahedron index="11367" v0="2198" v1="2199" v2="2353" v3="3813" />
+ <tetrahedron index="11368" v0="2199" v1="2353" v2="3813" v3="3814" />
+ <tetrahedron index="11369" v0="2353" v1="3813" v2="3814" v3="3968" />
+ <tetrahedron index="11370" v0="1690" v1="2354" v2="2355" v3="3305" />
+ <tetrahedron index="11371" v0="2354" v1="2355" v2="3305" v3="3969" />
+ <tetrahedron index="11372" v0="2355" v1="3305" v2="3969" v3="3970" />
+ <tetrahedron index="11373" v0="1688" v1="1690" v2="2355" v3="3303" />
+ <tetrahedron index="11374" v0="1690" v1="2355" v2="3303" v3="3305" />
+ <tetrahedron index="11375" v0="2355" v1="3303" v2="3305" v3="3970" />
+ <tetrahedron index="11376" v0="1863" v1="2020" v2="2356" v3="3478" />
+ <tetrahedron index="11377" v0="2020" v1="2356" v2="3478" v3="3635" />
+ <tetrahedron index="11378" v0="2356" v1="3478" v2="3635" v3="3971" />
+ <tetrahedron index="11379" v0="2135" v1="2136" v2="2357" v3="3750" />
+ <tetrahedron index="11380" v0="2136" v1="2357" v2="3750" v3="3751" />
+ <tetrahedron index="11381" v0="2357" v1="3750" v2="3751" v3="3972" />
+ <tetrahedron index="11382" v0="2136" v1="2240" v2="2357" v3="3751" />
+ <tetrahedron index="11383" v0="2240" v1="2357" v2="3751" v3="3855" />
+ <tetrahedron index="11384" v0="2357" v1="3751" v2="3855" v3="3972" />
+ <tetrahedron index="11385" v0="2358" v1="2359" v2="2360" v3="3973" />
+ <tetrahedron index="11386" v0="2359" v1="2360" v2="3973" v3="3974" />
+ <tetrahedron index="11387" v0="2360" v1="3973" v2="3974" v3="3975" />
+ <tetrahedron index="11388" v0="2145" v1="2147" v2="2278" v3="3760" />
+ <tetrahedron index="11389" v0="2147" v1="2278" v2="3760" v3="3762" />
+ <tetrahedron index="11390" v0="2278" v1="3760" v2="3762" v3="3893" />
+ <tetrahedron index="11391" v0="1774" v1="2147" v2="2278" v3="3389" />
+ <tetrahedron index="11392" v0="2147" v1="2278" v2="3389" v3="3762" />
+ <tetrahedron index="11393" v0="2278" v1="3389" v2="3762" v3="3893" />
+ <tetrahedron index="11394" v0="1648" v1="2276" v2="2277" v3="3263" />
+ <tetrahedron index="11395" v0="2276" v1="2277" v2="3263" v3="3891" />
+ <tetrahedron index="11396" v0="2277" v1="3263" v2="3891" v3="3892" />
+ <tetrahedron index="11397" v0="2069" v1="2148" v2="2171" v3="3684" />
+ <tetrahedron index="11398" v0="2148" v1="2171" v2="3684" v3="3763" />
+ <tetrahedron index="11399" v0="2171" v1="3684" v2="3763" v3="3786" />
+ <tetrahedron index="11400" v0="1873" v1="2069" v2="2148" v3="3488" />
+ <tetrahedron index="11401" v0="2069" v1="2148" v2="3488" v3="3684" />
+ <tetrahedron index="11402" v0="2148" v1="3488" v2="3684" v3="3763" />
+ <tetrahedron index="11403" v0="1838" v1="2138" v2="2139" v3="3453" />
+ <tetrahedron index="11404" v0="2138" v1="2139" v2="3453" v3="3753" />
+ <tetrahedron index="11405" v0="2139" v1="3453" v2="3753" v3="3754" />
+ <tetrahedron index="11406" v0="1838" v1="1840" v2="2139" v3="3453" />
+ <tetrahedron index="11407" v0="1840" v1="2139" v2="3453" v3="3455" />
+ <tetrahedron index="11408" v0="2139" v1="3453" v2="3455" v3="3754" />
+ <tetrahedron index="11409" v0="1775" v1="2361" v2="2362" v3="3390" />
+ <tetrahedron index="11410" v0="2361" v1="2362" v2="3390" v3="3976" />
+ <tetrahedron index="11411" v0="2362" v1="3390" v2="3976" v3="3977" />
+ <tetrahedron index="11412" v0="1972" v1="1973" v2="2363" v3="3587" />
+ <tetrahedron index="11413" v0="1973" v1="2363" v2="3587" v3="3588" />
+ <tetrahedron index="11414" v0="2363" v1="3587" v2="3588" v3="3978" />
+ <tetrahedron index="11415" v0="2015" v1="2016" v2="2264" v3="3630" />
+ <tetrahedron index="11416" v0="2016" v1="2264" v2="3630" v3="3631" />
+ <tetrahedron index="11417" v0="2264" v1="3630" v2="3631" v3="3879" />
+ <tetrahedron index="11418" v0="2031" v1="2263" v2="2312" v3="3646" />
+ <tetrahedron index="11419" v0="2263" v1="2312" v2="3646" v3="3878" />
+ <tetrahedron index="11420" v0="2312" v1="3646" v2="3878" v3="3927" />
+ <tetrahedron index="11421" v0="2019" v1="2228" v2="2364" v3="3634" />
+ <tetrahedron index="11422" v0="2228" v1="2364" v2="3634" v3="3843" />
+ <tetrahedron index="11423" v0="2364" v1="3634" v2="3843" v3="3979" />
+ <tetrahedron index="11424" v0="1892" v1="2098" v2="2365" v3="3507" />
+ <tetrahedron index="11425" v0="2098" v1="2365" v2="3507" v3="3713" />
+ <tetrahedron index="11426" v0="2365" v1="3507" v2="3713" v3="3980" />
+ <tetrahedron index="11427" v0="1692" v1="2070" v2="2152" v3="3307" />
+ <tetrahedron index="11428" v0="2070" v1="2152" v2="3307" v3="3685" />
+ <tetrahedron index="11429" v0="2152" v1="3307" v2="3685" v3="3767" />
+ <tetrahedron index="11430" v0="1836" v1="2070" v2="2152" v3="3451" />
+ <tetrahedron index="11431" v0="2070" v1="2152" v2="3451" v3="3685" />
+ <tetrahedron index="11432" v0="2152" v1="3451" v2="3685" v3="3767" />
+ <tetrahedron index="11433" v0="2153" v1="2154" v2="2366" v3="3768" />
+ <tetrahedron index="11434" v0="2154" v1="2366" v2="3768" v3="3769" />
+ <tetrahedron index="11435" v0="2366" v1="3768" v2="3769" v3="3981" />
+ <tetrahedron index="11436" v0="2159" v1="2160" v2="2367" v3="3774" />
+ <tetrahedron index="11437" v0="2160" v1="2367" v2="3774" v3="3775" />
+ <tetrahedron index="11438" v0="2367" v1="3774" v2="3775" v3="3982" />
+ <tetrahedron index="11439" v0="1688" v1="2355" v2="2368" v3="3303" />
+ <tetrahedron index="11440" v0="2355" v1="2368" v2="3303" v3="3970" />
+ <tetrahedron index="11441" v0="2368" v1="3303" v2="3970" v3="3983" />
+ <tetrahedron index="11442" v0="2268" v1="2369" v2="2370" v3="3883" />
+ <tetrahedron index="11443" v0="2369" v1="2370" v2="3883" v3="3984" />
+ <tetrahedron index="11444" v0="2370" v1="3883" v2="3984" v3="3985" />
+ <tetrahedron index="11445" v0="2267" v1="2268" v2="2369" v3="3882" />
+ <tetrahedron index="11446" v0="2268" v1="2369" v2="3882" v3="3883" />
+ <tetrahedron index="11447" v0="2369" v1="3882" v2="3883" v3="3984" />
+ <tetrahedron index="11448" v0="2327" v1="2328" v2="2371" v3="3942" />
+ <tetrahedron index="11449" v0="2328" v1="2371" v2="3942" v3="3943" />
+ <tetrahedron index="11450" v0="2371" v1="3942" v2="3943" v3="3986" />
+ <tetrahedron index="11451" v0="1733" v1="2060" v2="2182" v3="3348" />
+ <tetrahedron index="11452" v0="2060" v1="2182" v2="3348" v3="3675" />
+ <tetrahedron index="11453" v0="2182" v1="3348" v2="3675" v3="3797" />
+ <tetrahedron index="11454" v0="1853" v1="2141" v2="2247" v3="3468" />
+ <tetrahedron index="11455" v0="2141" v1="2247" v2="3468" v3="3756" />
+ <tetrahedron index="11456" v0="2247" v1="3468" v2="3756" v3="3862" />
+ <tetrahedron index="11457" v0="1850" v1="2141" v2="2247" v3="3465" />
+ <tetrahedron index="11458" v0="2141" v1="2247" v2="3465" v3="3756" />
+ <tetrahedron index="11459" v0="2247" v1="3465" v2="3756" v3="3862" />
+ <tetrahedron index="11460" v0="2107" v1="2254" v2="2372" v3="3722" />
+ <tetrahedron index="11461" v0="2254" v1="2372" v2="3722" v3="3869" />
+ <tetrahedron index="11462" v0="2372" v1="3722" v2="3869" v3="3987" />
+ <tetrahedron index="11463" v0="1792" v1="2000" v2="2373" v3="3407" />
+ <tetrahedron index="11464" v0="2000" v1="2373" v2="3407" v3="3615" />
+ <tetrahedron index="11465" v0="2373" v1="3407" v2="3615" v3="3988" />
+ <tetrahedron index="11466" v0="1838" v1="2138" v2="2373" v3="3453" />
+ <tetrahedron index="11467" v0="2138" v1="2373" v2="3453" v3="3753" />
+ <tetrahedron index="11468" v0="2373" v1="3453" v2="3753" v3="3988" />
+ <tetrahedron index="11469" v0="1975" v1="2140" v2="2374" v3="3590" />
+ <tetrahedron index="11470" v0="2140" v1="2374" v2="3590" v3="3755" />
+ <tetrahedron index="11471" v0="2374" v1="3590" v2="3755" v3="3989" />
+ <tetrahedron index="11472" v0="1975" v1="2374" v2="2375" v3="3590" />
+ <tetrahedron index="11473" v0="2374" v1="2375" v2="3590" v3="3989" />
+ <tetrahedron index="11474" v0="2375" v1="3590" v2="3989" v3="3990" />
+ <tetrahedron index="11475" v0="1997" v1="2042" v2="2190" v3="3612" />
+ <tetrahedron index="11476" v0="2042" v1="2190" v2="3612" v3="3657" />
+ <tetrahedron index="11477" v0="2190" v1="3612" v2="3657" v3="3805" />
+ <tetrahedron index="11478" v0="1997" v1="1998" v2="2042" v3="3612" />
+ <tetrahedron index="11479" v0="1998" v1="2042" v2="3612" v3="3613" />
+ <tetrahedron index="11480" v0="2042" v1="3612" v2="3613" v3="3657" />
+ <tetrahedron index="11481" v0="1729" v1="1733" v2="2182" v3="3344" />
+ <tetrahedron index="11482" v0="1733" v1="2182" v2="3344" v3="3348" />
+ <tetrahedron index="11483" v0="2182" v1="3344" v2="3348" v3="3797" />
+ <tetrahedron index="11484" v0="2170" v1="2171" v2="2376" v3="3785" />
+ <tetrahedron index="11485" v0="2171" v1="2376" v2="3785" v3="3786" />
+ <tetrahedron index="11486" v0="2376" v1="3785" v2="3786" v3="3991" />
+ <tetrahedron index="11487" v0="2167" v1="2170" v2="2376" v3="3782" />
+ <tetrahedron index="11488" v0="2170" v1="2376" v2="3782" v3="3785" />
+ <tetrahedron index="11489" v0="2376" v1="3782" v2="3785" v3="3991" />
+ <tetrahedron index="11490" v0="2161" v1="2162" v2="2377" v3="3776" />
+ <tetrahedron index="11491" v0="2162" v1="2377" v2="3776" v3="3777" />
+ <tetrahedron index="11492" v0="2377" v1="3776" v2="3777" v3="3992" />
+ <tetrahedron index="11493" v0="2161" v1="2377" v2="2378" v3="3776" />
+ <tetrahedron index="11494" v0="2377" v1="2378" v2="3776" v3="3992" />
+ <tetrahedron index="11495" v0="2378" v1="3776" v2="3992" v3="3993" />
+ <tetrahedron index="11496" v0="2101" v1="2379" v2="2380" v3="3716" />
+ <tetrahedron index="11497" v0="2379" v1="2380" v2="3716" v3="3994" />
+ <tetrahedron index="11498" v0="2380" v1="3716" v2="3994" v3="3995" />
+ <tetrahedron index="11499" v0="2099" v1="2101" v2="2380" v3="3714" />
+ <tetrahedron index="11500" v0="2101" v1="2380" v2="3714" v3="3716" />
+ <tetrahedron index="11501" v0="2380" v1="3714" v2="3716" v3="3995" />
+ <tetrahedron index="11502" v0="2219" v1="2313" v2="2381" v3="3834" />
+ <tetrahedron index="11503" v0="2313" v1="2381" v2="3834" v3="3928" />
+ <tetrahedron index="11504" v0="2381" v1="3834" v2="3928" v3="3996" />
+ <tetrahedron index="11505" v0="2243" v1="2250" v2="2382" v3="3858" />
+ <tetrahedron index="11506" v0="2250" v1="2382" v2="3858" v3="3865" />
+ <tetrahedron index="11507" v0="2382" v1="3858" v2="3865" v3="3997" />
+ <tetrahedron index="11508" v0="2099" v1="2380" v2="2383" v3="3714" />
+ <tetrahedron index="11509" v0="2380" v1="2383" v2="3714" v3="3995" />
+ <tetrahedron index="11510" v0="2383" v1="3714" v2="3995" v3="3998" />
+ <tetrahedron index="11511" v0="2091" v1="2093" v2="2266" v3="3706" />
+ <tetrahedron index="11512" v0="2093" v1="2266" v2="3706" v3="3708" />
+ <tetrahedron index="11513" v0="2266" v1="3706" v2="3708" v3="3881" />
+ <tetrahedron index="11514" v0="1960" v1="2014" v2="2284" v3="3575" />
+ <tetrahedron index="11515" v0="2014" v1="2284" v2="3575" v3="3629" />
+ <tetrahedron index="11516" v0="2284" v1="3575" v2="3629" v3="3899" />
+ <tetrahedron index="11517" v0="1960" v1="1962" v2="2284" v3="3575" />
+ <tetrahedron index="11518" v0="1962" v1="2284" v2="3575" v3="3577" />
+ <tetrahedron index="11519" v0="2284" v1="3575" v2="3577" v3="3899" />
+ <tetrahedron index="11520" v0="1924" v1="2206" v2="2207" v3="3539" />
+ <tetrahedron index="11521" v0="2206" v1="2207" v2="3539" v3="3821" />
+ <tetrahedron index="11522" v0="2207" v1="3539" v2="3821" v3="3822" />
+ <tetrahedron index="11523" v0="1924" v1="2206" v2="2384" v3="3539" />
+ <tetrahedron index="11524" v0="2206" v1="2384" v2="3539" v3="3821" />
+ <tetrahedron index="11525" v0="2384" v1="3539" v2="3821" v3="3999" />
+ <tetrahedron index="11526" v0="2151" v1="2152" v2="2282" v3="3766" />
+ <tetrahedron index="11527" v0="2152" v1="2282" v2="3766" v3="3767" />
+ <tetrahedron index="11528" v0="2282" v1="3766" v2="3767" v3="3897" />
+ <tetrahedron index="11529" v0="2327" v1="2385" v2="2386" v3="3942" />
+ <tetrahedron index="11530" v0="2385" v1="2386" v2="3942" v3="4000" />
+ <tetrahedron index="11531" v0="2386" v1="3942" v2="4000" v3="4001" />
+ <tetrahedron index="11532" v0="1647" v1="1649" v2="1757" v3="3262" />
+ <tetrahedron index="11533" v0="1649" v1="1757" v2="3262" v3="3264" />
+ <tetrahedron index="11534" v0="1757" v1="3262" v2="3264" v3="3372" />
+ <tetrahedron index="11535" v0="1818" v1="2034" v2="2250" v3="3433" />
+ <tetrahedron index="11536" v0="2034" v1="2250" v2="3433" v3="3649" />
+ <tetrahedron index="11537" v0="2250" v1="3433" v2="3649" v3="3865" />
+ <tetrahedron index="11538" v0="1816" v1="1818" v2="2250" v3="3431" />
+ <tetrahedron index="11539" v0="1818" v1="2250" v2="3431" v3="3433" />
+ <tetrahedron index="11540" v0="2250" v1="3431" v2="3433" v3="3865" />
+ <tetrahedron index="11541" v0="1841" v1="2123" v2="2131" v3="3456" />
+ <tetrahedron index="11542" v0="2123" v1="2131" v2="3456" v3="3738" />
+ <tetrahedron index="11543" v0="2131" v1="3456" v2="3738" v3="3746" />
+ <tetrahedron index="11544" v0="1841" v1="2123" v2="2134" v3="3456" />
+ <tetrahedron index="11545" v0="2123" v1="2134" v2="3456" v3="3738" />
+ <tetrahedron index="11546" v0="2134" v1="3456" v2="3738" v3="3749" />
+ <tetrahedron index="11547" v0="2053" v1="2387" v2="2388" v3="3668" />
+ <tetrahedron index="11548" v0="2387" v1="2388" v2="3668" v3="4002" />
+ <tetrahedron index="11549" v0="2388" v1="3668" v2="4002" v3="4003" />
+ <tetrahedron index="11550" v0="2219" v1="2381" v2="2389" v3="3834" />
+ <tetrahedron index="11551" v0="2381" v1="2389" v2="3834" v3="3996" />
+ <tetrahedron index="11552" v0="2389" v1="3834" v2="3996" v3="4004" />
+ <tetrahedron index="11553" v0="1772" v1="2142" v2="2390" v3="3387" />
+ <tetrahedron index="11554" v0="2142" v1="2390" v2="3387" v3="3757" />
+ <tetrahedron index="11555" v0="2390" v1="3387" v2="3757" v3="4005" />
+ <tetrahedron index="11556" v0="1783" v1="1784" v2="1786" v3="3398" />
+ <tetrahedron index="11557" v0="1784" v1="1786" v2="3398" v3="3399" />
+ <tetrahedron index="11558" v0="1786" v1="3398" v2="3399" v3="3401" />
+ <tetrahedron index="11559" v0="1732" v1="1733" v2="2060" v3="3347" />
+ <tetrahedron index="11560" v0="1733" v1="2060" v2="3347" v3="3348" />
+ <tetrahedron index="11561" v0="2060" v1="3347" v2="3348" v3="3675" />
+ <tetrahedron index="11562" v0="1923" v1="1924" v2="2207" v3="3538" />
+ <tetrahedron index="11563" v0="1924" v1="2207" v2="3538" v3="3539" />
+ <tetrahedron index="11564" v0="2207" v1="3538" v2="3539" v3="3822" />
+ <tetrahedron index="11565" v0="2251" v1="2391" v2="2392" v3="3866" />
+ <tetrahedron index="11566" v0="2391" v1="2392" v2="3866" v3="4006" />
+ <tetrahedron index="11567" v0="2392" v1="3866" v2="4006" v3="4007" />
+ <tetrahedron index="11568" v0="2393" v1="2394" v2="2395" v3="4008" />
+ <tetrahedron index="11569" v0="2394" v1="2395" v2="4008" v3="4009" />
+ <tetrahedron index="11570" v0="2395" v1="4008" v2="4009" v3="4010" />
+ <tetrahedron index="11571" v0="1798" v1="1880" v2="1881" v3="3413" />
+ <tetrahedron index="11572" v0="1880" v1="1881" v2="3413" v3="3495" />
+ <tetrahedron index="11573" v0="1881" v1="3413" v2="3495" v3="3496" />
+ <tetrahedron index="11574" v0="2396" v1="2397" v2="2398" v3="4011" />
+ <tetrahedron index="11575" v0="2397" v1="2398" v2="4011" v3="4012" />
+ <tetrahedron index="11576" v0="2398" v1="4011" v2="4012" v3="4013" />
+ <tetrahedron index="11577" v0="2225" v1="2226" v2="2399" v3="3840" />
+ <tetrahedron index="11578" v0="2226" v1="2399" v2="3840" v3="3841" />
+ <tetrahedron index="11579" v0="2399" v1="3840" v2="3841" v3="4014" />
+ <tetrahedron index="11580" v0="1700" v1="2308" v2="2319" v3="3315" />
+ <tetrahedron index="11581" v0="2308" v1="2319" v2="3315" v3="3923" />
+ <tetrahedron index="11582" v0="2319" v1="3315" v2="3923" v3="3934" />
+ <tetrahedron index="11583" v0="2354" v1="2355" v2="2400" v3="3969" />
+ <tetrahedron index="11584" v0="2355" v1="2400" v2="3969" v3="3970" />
+ <tetrahedron index="11585" v0="2400" v1="3969" v2="3970" v3="4015" />
+ <tetrahedron index="11586" v0="1749" v1="1750" v2="2081" v3="3364" />
+ <tetrahedron index="11587" v0="1750" v1="2081" v2="3364" v3="3365" />
+ <tetrahedron index="11588" v0="2081" v1="3364" v2="3365" v3="3696" />
+ <tetrahedron index="11589" v0="2252" v1="2253" v2="2292" v3="3867" />
+ <tetrahedron index="11590" v0="2253" v1="2292" v2="3867" v3="3868" />
+ <tetrahedron index="11591" v0="2292" v1="3867" v2="3868" v3="3907" />
+ <tetrahedron index="11592" v0="1635" v1="2401" v2="2402" v3="3250" />
+ <tetrahedron index="11593" v0="2401" v1="2402" v2="3250" v3="4016" />
+ <tetrahedron index="11594" v0="2402" v1="3250" v2="4016" v3="4017" />
+ <tetrahedron index="11595" v0="1688" v1="1689" v2="2055" v3="3303" />
+ <tetrahedron index="11596" v0="1689" v1="2055" v2="3303" v3="3304" />
+ <tetrahedron index="11597" v0="2055" v1="3303" v2="3304" v3="3670" />
+ <tetrahedron index="11598" v0="2396" v1="2397" v2="2403" v3="4011" />
+ <tetrahedron index="11599" v0="2397" v1="2403" v2="4011" v3="4012" />
+ <tetrahedron index="11600" v0="2403" v1="4011" v2="4012" v3="4018" />
+ <tetrahedron index="11601" v0="1863" v1="2356" v2="2404" v3="3478" />
+ <tetrahedron index="11602" v0="2356" v1="2404" v2="3478" v3="3971" />
+ <tetrahedron index="11603" v0="2404" v1="3478" v2="3971" v3="4019" />
+ <tetrahedron index="11604" v0="1863" v1="2021" v2="2404" v3="3478" />
+ <tetrahedron index="11605" v0="2021" v1="2404" v2="3478" v3="3636" />
+ <tetrahedron index="11606" v0="2404" v1="3478" v2="3636" v3="4019" />
+ <tetrahedron index="11607" v0="2405" v1="2406" v2="2407" v3="4020" />
+ <tetrahedron index="11608" v0="2406" v1="2407" v2="4020" v3="4021" />
+ <tetrahedron index="11609" v0="2407" v1="4020" v2="4021" v3="4022" />
+ <tetrahedron index="11610" v0="1753" v1="2405" v2="2407" v3="3368" />
+ <tetrahedron index="11611" v0="2405" v1="2407" v2="3368" v3="4020" />
+ <tetrahedron index="11612" v0="2407" v1="3368" v2="4020" v3="4022" />
+ <tetrahedron index="11613" v0="2408" v1="2409" v2="2410" v3="4023" />
+ <tetrahedron index="11614" v0="2409" v1="2410" v2="4023" v3="4024" />
+ <tetrahedron index="11615" v0="2410" v1="4023" v2="4024" v3="4025" />
+ <tetrahedron index="11616" v0="2411" v1="2412" v2="2413" v3="4026" />
+ <tetrahedron index="11617" v0="2412" v1="2413" v2="4026" v3="4027" />
+ <tetrahedron index="11618" v0="2413" v1="4026" v2="4027" v3="4028" />
+ <tetrahedron index="11619" v0="1768" v1="1770" v2="2414" v3="3383" />
+ <tetrahedron index="11620" v0="1770" v1="2414" v2="3383" v3="3385" />
+ <tetrahedron index="11621" v0="2414" v1="3383" v2="3385" v3="4029" />
+ <tetrahedron index="11622" v0="1933" v1="1971" v2="2415" v3="3548" />
+ <tetrahedron index="11623" v0="1971" v1="2415" v2="3548" v3="3586" />
+ <tetrahedron index="11624" v0="2415" v1="3548" v2="3586" v3="4030" />
+ <tetrahedron index="11625" v0="1822" v1="1990" v2="1991" v3="3437" />
+ <tetrahedron index="11626" v0="1990" v1="1991" v2="3437" v3="3605" />
+ <tetrahedron index="11627" v0="1991" v1="3437" v2="3605" v3="3606" />
+ <tetrahedron index="11628" v0="1729" v1="1731" v2="1733" v3="3344" />
+ <tetrahedron index="11629" v0="1731" v1="1733" v2="3344" v3="3346" />
+ <tetrahedron index="11630" v0="1733" v1="3344" v2="3346" v3="3348" />
+ <tetrahedron index="11631" v0="1620" v1="1729" v2="1731" v3="3235" />
+ <tetrahedron index="11632" v0="1729" v1="1731" v2="3235" v3="3344" />
+ <tetrahedron index="11633" v0="1731" v1="3235" v2="3344" v3="3346" />
+ <tetrahedron index="11634" v0="2411" v1="2412" v2="2416" v3="4026" />
+ <tetrahedron index="11635" v0="2412" v1="2416" v2="4026" v3="4027" />
+ <tetrahedron index="11636" v0="2416" v1="4026" v2="4027" v3="4031" />
+ <tetrahedron index="11637" v0="2153" v1="2230" v2="2417" v3="3768" />
+ <tetrahedron index="11638" v0="2230" v1="2417" v2="3768" v3="3845" />
+ <tetrahedron index="11639" v0="2417" v1="3768" v2="3845" v3="4032" />
+ <tetrahedron index="11640" v0="1915" v1="2418" v2="2419" v3="3530" />
+ <tetrahedron index="11641" v0="2418" v1="2419" v2="3530" v3="4033" />
+ <tetrahedron index="11642" v0="2419" v1="3530" v2="4033" v3="4034" />
+ <tetrahedron index="11643" v0="2397" v1="2403" v2="2420" v3="4012" />
+ <tetrahedron index="11644" v0="2403" v1="2420" v2="4012" v3="4018" />
+ <tetrahedron index="11645" v0="2420" v1="4012" v2="4018" v3="4035" />
+ <tetrahedron index="11646" v0="2421" v1="2422" v2="2423" v3="4036" />
+ <tetrahedron index="11647" v0="2422" v1="2423" v2="4036" v3="4037" />
+ <tetrahedron index="11648" v0="2423" v1="4036" v2="4037" v3="4038" />
+ <tetrahedron index="11649" v0="2333" v1="2424" v2="2425" v3="3948" />
+ <tetrahedron index="11650" v0="2424" v1="2425" v2="3948" v3="4039" />
+ <tetrahedron index="11651" v0="2425" v1="3948" v2="4039" v3="4040" />
+ <tetrahedron index="11652" v0="2014" v1="2284" v2="2426" v3="3629" />
+ <tetrahedron index="11653" v0="2284" v1="2426" v2="3629" v3="3899" />
+ <tetrahedron index="11654" v0="2426" v1="3629" v2="3899" v3="4041" />
+ <tetrahedron index="11655" v0="2418" v1="2427" v2="2428" v3="4033" />
+ <tetrahedron index="11656" v0="2427" v1="2428" v2="4033" v3="4042" />
+ <tetrahedron index="11657" v0="2428" v1="4033" v2="4042" v3="4043" />
+ <tetrahedron index="11658" v0="1977" v1="2284" v2="2426" v3="3592" />
+ <tetrahedron index="11659" v0="2284" v1="2426" v2="3592" v3="3899" />
+ <tetrahedron index="11660" v0="2426" v1="3592" v2="3899" v3="4041" />
+ <tetrahedron index="11661" v0="2429" v1="2430" v2="2431" v3="4044" />
+ <tetrahedron index="11662" v0="2430" v1="2431" v2="4044" v3="4045" />
+ <tetrahedron index="11663" v0="2431" v1="4044" v2="4045" v3="4046" />
+ <tetrahedron index="11664" v0="1969" v1="2035" v2="2215" v3="3584" />
+ <tetrahedron index="11665" v0="2035" v1="2215" v2="3584" v3="3650" />
+ <tetrahedron index="11666" v0="2215" v1="3584" v2="3650" v3="3830" />
+ <tetrahedron index="11667" v0="2081" v1="2212" v2="2337" v3="3696" />
+ <tetrahedron index="11668" v0="2212" v1="2337" v2="3696" v3="3827" />
+ <tetrahedron index="11669" v0="2337" v1="3696" v2="3827" v3="3952" />
+ <tetrahedron index="11670" v0="1785" v1="2153" v2="2351" v3="3400" />
+ <tetrahedron index="11671" v0="2153" v1="2351" v2="3400" v3="3768" />
+ <tetrahedron index="11672" v0="2351" v1="3400" v2="3768" v3="3966" />
+ <tetrahedron index="11673" v0="2432" v1="2433" v2="2434" v3="4047" />
+ <tetrahedron index="11674" v0="2433" v1="2434" v2="4047" v3="4048" />
+ <tetrahedron index="11675" v0="2434" v1="4047" v2="4048" v3="4049" />
+ <tetrahedron index="11676" v0="1809" v1="2076" v2="2435" v3="3424" />
+ <tetrahedron index="11677" v0="2076" v1="2435" v2="3424" v3="3691" />
+ <tetrahedron index="11678" v0="2435" v1="3424" v2="3691" v3="4050" />
+ <tetrahedron index="11679" v0="1992" v1="2436" v2="2437" v3="3607" />
+ <tetrahedron index="11680" v0="2436" v1="2437" v2="3607" v3="4051" />
+ <tetrahedron index="11681" v0="2437" v1="3607" v2="4051" v3="4052" />
+ <tetrahedron index="11682" v0="2169" v1="2438" v2="2439" v3="3784" />
+ <tetrahedron index="11683" v0="2438" v1="2439" v2="3784" v3="4053" />
+ <tetrahedron index="11684" v0="2439" v1="3784" v2="4053" v3="4054" />
+ <tetrahedron index="11685" v0="1953" v1="2082" v2="2440" v3="3568" />
+ <tetrahedron index="11686" v0="2082" v1="2440" v2="3568" v3="3697" />
+ <tetrahedron index="11687" v0="2440" v1="3568" v2="3697" v3="4055" />
+ <tetrahedron index="11688" v0="2193" v1="2382" v2="2441" v3="3808" />
+ <tetrahedron index="11689" v0="2382" v1="2441" v2="3808" v3="3997" />
+ <tetrahedron index="11690" v0="2441" v1="3808" v2="3997" v3="4056" />
+ <tetrahedron index="11691" v0="1752" v1="2208" v2="2442" v3="3367" />
+ <tetrahedron index="11692" v0="2208" v1="2442" v2="3367" v3="3823" />
+ <tetrahedron index="11693" v0="2442" v1="3367" v2="3823" v3="4057" />
+ <tetrahedron index="11694" v0="2214" v1="2294" v2="2443" v3="3829" />
+ <tetrahedron index="11695" v0="2294" v1="2443" v2="3829" v3="3909" />
+ <tetrahedron index="11696" v0="2443" v1="3829" v2="3909" v3="4058" />
+ <tetrahedron index="11697" v0="2214" v1="2443" v2="2444" v3="3829" />
+ <tetrahedron index="11698" v0="2443" v1="2444" v2="3829" v3="4058" />
+ <tetrahedron index="11699" v0="2444" v1="3829" v2="4058" v3="4059" />
+ <tetrahedron index="11700" v0="2244" v1="2382" v2="2441" v3="3859" />
+ <tetrahedron index="11701" v0="2382" v1="2441" v2="3859" v3="3997" />
+ <tetrahedron index="11702" v0="2441" v1="3859" v2="3997" v3="4056" />
+ <tetrahedron index="11703" v0="1699" v1="1787" v2="2445" v3="3314" />
+ <tetrahedron index="11704" v0="1787" v1="2445" v2="3314" v3="3402" />
+ <tetrahedron index="11705" v0="2445" v1="3314" v2="3402" v3="4060" />
+ <tetrahedron index="11706" v0="1866" v1="2285" v2="2446" v3="3481" />
+ <tetrahedron index="11707" v0="2285" v1="2446" v2="3481" v3="3900" />
+ <tetrahedron index="11708" v0="2446" v1="3481" v2="3900" v3="4061" />
+ <tetrahedron index="11709" v0="1659" v1="2177" v2="2414" v3="3274" />
+ <tetrahedron index="11710" v0="2177" v1="2414" v2="3274" v3="3792" />
+ <tetrahedron index="11711" v0="2414" v1="3274" v2="3792" v3="4029" />
+ <tetrahedron index="11712" v0="1756" v1="1934" v2="2122" v3="3371" />
+ <tetrahedron index="11713" v0="1934" v1="2122" v2="3371" v3="3549" />
+ <tetrahedron index="11714" v0="2122" v1="3371" v2="3549" v3="3737" />
+ <tetrahedron index="11715" v0="1934" v1="2122" v2="2447" v3="3549" />
+ <tetrahedron index="11716" v0="2122" v1="2447" v2="3549" v3="3737" />
+ <tetrahedron index="11717" v0="2447" v1="3549" v2="3737" v3="4062" />
+ <tetrahedron index="11718" v0="1639" v1="2203" v2="2255" v3="3254" />
+ <tetrahedron index="11719" v0="2203" v1="2255" v2="3254" v3="3818" />
+ <tetrahedron index="11720" v0="2255" v1="3254" v2="3818" v3="3870" />
+ <tetrahedron index="11721" v0="1639" v1="1640" v2="2203" v3="3254" />
+ <tetrahedron index="11722" v0="1640" v1="2203" v2="3254" v3="3255" />
+ <tetrahedron index="11723" v0="2203" v1="3254" v2="3255" v3="3818" />
+ <tetrahedron index="11724" v0="1690" v1="2354" v2="2448" v3="3305" />
+ <tetrahedron index="11725" v0="2354" v1="2448" v2="3305" v3="3969" />
+ <tetrahedron index="11726" v0="2448" v1="3305" v2="3969" v3="4063" />
+ <tetrahedron index="11727" v0="2354" v1="2448" v2="2449" v3="3969" />
+ <tetrahedron index="11728" v0="2448" v1="2449" v2="3969" v3="4063" />
+ <tetrahedron index="11729" v0="2449" v1="3969" v2="4063" v3="4064" />
+ <tetrahedron index="11730" v0="1640" v1="1641" v2="2450" v3="3255" />
+ <tetrahedron index="11731" v0="1641" v1="2450" v2="3255" v3="3256" />
+ <tetrahedron index="11732" v0="2450" v1="3255" v2="3256" v3="4065" />
+ <tetrahedron index="11733" v0="1988" v1="2133" v2="2451" v3="3603" />
+ <tetrahedron index="11734" v0="2133" v1="2451" v2="3603" v3="3748" />
+ <tetrahedron index="11735" v0="2451" v1="3603" v2="3748" v3="4066" />
+ <tetrahedron index="11736" v0="2012" v1="2013" v2="2064" v3="3627" />
+ <tetrahedron index="11737" v0="2013" v1="2064" v2="3627" v3="3628" />
+ <tetrahedron index="11738" v0="2064" v1="3627" v2="3628" v3="3679" />
+ <tetrahedron index="11739" v0="1748" v1="2205" v2="2207" v3="3363" />
+ <tetrahedron index="11740" v0="2205" v1="2207" v2="3363" v3="3820" />
+ <tetrahedron index="11741" v0="2207" v1="3363" v2="3820" v3="3822" />
+ <tetrahedron index="11742" v0="1748" v1="2061" v2="2205" v3="3363" />
+ <tetrahedron index="11743" v0="2061" v1="2205" v2="3363" v3="3676" />
+ <tetrahedron index="11744" v0="2205" v1="3363" v2="3676" v3="3820" />
+ <tetrahedron index="11745" v0="1796" v1="1798" v2="1880" v3="3411" />
+ <tetrahedron index="11746" v0="1798" v1="1880" v2="3411" v3="3413" />
+ <tetrahedron index="11747" v0="1880" v1="3411" v2="3413" v3="3495" />
+ <tetrahedron index="11748" v0="1796" v1="1880" v2="1927" v3="3411" />
+ <tetrahedron index="11749" v0="1880" v1="1927" v2="3411" v3="3495" />
+ <tetrahedron index="11750" v0="1927" v1="3411" v2="3495" v3="3542" />
+ <tetrahedron index="11751" v0="1869" v1="1958" v2="2289" v3="3484" />
+ <tetrahedron index="11752" v0="1958" v1="2289" v2="3484" v3="3573" />
+ <tetrahedron index="11753" v0="2289" v1="3484" v2="3573" v3="3904" />
+ <tetrahedron index="11754" v0="2240" v1="2242" v2="2357" v3="3855" />
+ <tetrahedron index="11755" v0="2242" v1="2357" v2="3855" v3="3857" />
+ <tetrahedron index="11756" v0="2357" v1="3855" v2="3857" v3="3972" />
+ <tetrahedron index="11757" v0="1844" v1="1846" v2="2452" v3="3459" />
+ <tetrahedron index="11758" v0="1846" v1="2452" v2="3459" v3="3461" />
+ <tetrahedron index="11759" v0="2452" v1="3459" v2="3461" v3="4067" />
+ <tetrahedron index="11760" v0="1824" v1="2021" v2="2404" v3="3439" />
+ <tetrahedron index="11761" v0="2021" v1="2404" v2="3439" v3="3636" />
+ <tetrahedron index="11762" v0="2404" v1="3439" v2="3636" v3="4019" />
+ <tetrahedron index="11763" v0="1824" v1="1843" v2="2021" v3="3439" />
+ <tetrahedron index="11764" v0="1843" v1="2021" v2="3439" v3="3458" />
+ <tetrahedron index="11765" v0="2021" v1="3439" v2="3458" v3="3636" />
+ <tetrahedron index="11766" v0="1894" v1="1895" v2="2194" v3="3509" />
+ <tetrahedron index="11767" v0="1895" v1="2194" v2="3509" v3="3510" />
+ <tetrahedron index="11768" v0="2194" v1="3509" v2="3510" v3="3809" />
+ <tetrahedron index="11769" v0="2306" v1="2307" v2="2453" v3="3921" />
+ <tetrahedron index="11770" v0="2307" v1="2453" v2="3921" v3="3922" />
+ <tetrahedron index="11771" v0="2453" v1="3921" v2="3922" v3="4068" />
+ <tetrahedron index="11772" v0="1923" v1="2185" v2="2257" v3="3538" />
+ <tetrahedron index="11773" v0="2185" v1="2257" v2="3538" v3="3800" />
+ <tetrahedron index="11774" v0="2257" v1="3538" v2="3800" v3="3872" />
+ <tetrahedron index="11775" v0="1840" v1="2151" v2="2283" v3="3455" />
+ <tetrahedron index="11776" v0="2151" v1="2283" v2="3455" v3="3766" />
+ <tetrahedron index="11777" v0="2283" v1="3455" v2="3766" v3="3898" />
+ <tetrahedron index="11778" v0="1678" v1="2432" v2="2454" v3="3293" />
+ <tetrahedron index="11779" v0="2432" v1="2454" v2="3293" v3="4047" />
+ <tetrahedron index="11780" v0="2454" v1="3293" v2="4047" v3="4069" />
+ <tetrahedron index="11781" v0="1943" v1="1944" v2="2106" v3="3558" />
+ <tetrahedron index="11782" v0="1944" v1="2106" v2="3558" v3="3559" />
+ <tetrahedron index="11783" v0="2106" v1="3558" v2="3559" v3="3721" />
+ <tetrahedron index="11784" v0="2455" v1="2456" v2="2457" v3="4070" />
+ <tetrahedron index="11785" v0="2456" v1="2457" v2="4070" v3="4071" />
+ <tetrahedron index="11786" v0="2457" v1="4070" v2="4071" v3="4072" />
+ <tetrahedron index="11787" v0="1931" v1="2060" v2="2181" v3="3546" />
+ <tetrahedron index="11788" v0="2060" v1="2181" v2="3546" v3="3675" />
+ <tetrahedron index="11789" v0="2181" v1="3546" v2="3675" v3="3796" />
+ <tetrahedron index="11790" v0="1633" v1="1634" v2="1889" v3="3248" />
+ <tetrahedron index="11791" v0="1634" v1="1889" v2="3248" v3="3249" />
+ <tetrahedron index="11792" v0="1889" v1="3248" v2="3249" v3="3504" />
+ <tetrahedron index="11793" v0="1856" v1="2003" v2="2017" v3="3471" />
+ <tetrahedron index="11794" v0="2003" v1="2017" v2="3471" v3="3618" />
+ <tetrahedron index="11795" v0="2017" v1="3471" v2="3618" v3="3632" />
+ <tetrahedron index="11796" v0="2257" v1="2258" v2="2458" v3="3872" />
+ <tetrahedron index="11797" v0="2258" v1="2458" v2="3872" v3="3873" />
+ <tetrahedron index="11798" v0="2458" v1="3872" v2="3873" v3="4073" />
+ <tetrahedron index="11799" v0="1991" v1="2058" v2="2338" v3="3606" />
+ <tetrahedron index="11800" v0="2058" v1="2338" v2="3606" v3="3673" />
+ <tetrahedron index="11801" v0="2338" v1="3606" v2="3673" v3="3953" />
+ <tetrahedron index="11802" v0="1822" v1="1991" v2="2058" v3="3437" />
+ <tetrahedron index="11803" v0="1991" v1="2058" v2="3437" v3="3606" />
+ <tetrahedron index="11804" v0="2058" v1="3437" v2="3606" v3="3673" />
+ <tetrahedron index="11805" v0="1983" v1="1984" v2="1999" v3="3598" />
+ <tetrahedron index="11806" v0="1984" v1="1999" v2="3598" v3="3599" />
+ <tetrahedron index="11807" v0="1999" v1="3598" v2="3599" v3="3614" />
+ <tetrahedron index="11808" v0="1720" v1="1984" v2="1999" v3="3335" />
+ <tetrahedron index="11809" v0="1984" v1="1999" v2="3335" v3="3599" />
+ <tetrahedron index="11810" v0="1999" v1="3335" v2="3599" v3="3614" />
+ <tetrahedron index="11811" v0="1638" v1="2150" v2="2401" v3="3253" />
+ <tetrahedron index="11812" v0="2150" v1="2401" v2="3253" v3="3765" />
+ <tetrahedron index="11813" v0="2401" v1="3253" v2="3765" v3="4016" />
+ <tetrahedron index="11814" v0="2133" v1="2350" v2="2451" v3="3748" />
+ <tetrahedron index="11815" v0="2350" v1="2451" v2="3748" v3="3965" />
+ <tetrahedron index="11816" v0="2451" v1="3748" v2="3965" v3="4066" />
+ <tetrahedron index="11817" v0="2396" v1="2459" v2="2460" v3="4011" />
+ <tetrahedron index="11818" v0="2459" v1="2460" v2="4011" v3="4074" />
+ <tetrahedron index="11819" v0="2460" v1="4011" v2="4074" v3="4075" />
+ <tetrahedron index="11820" v0="1939" v1="2076" v2="2461" v3="3554" />
+ <tetrahedron index="11821" v0="2076" v1="2461" v2="3554" v3="3691" />
+ <tetrahedron index="11822" v0="2461" v1="3554" v2="3691" v3="4076" />
+ <tetrahedron index="11823" v0="2366" v1="2417" v2="2462" v3="3981" />
+ <tetrahedron index="11824" v0="2417" v1="2462" v2="3981" v3="4032" />
+ <tetrahedron index="11825" v0="2462" v1="3981" v2="4032" v3="4077" />
+ <tetrahedron index="11826" v0="1940" v1="2026" v2="2463" v3="3555" />
+ <tetrahedron index="11827" v0="2026" v1="2463" v2="3555" v3="3641" />
+ <tetrahedron index="11828" v0="2463" v1="3555" v2="3641" v3="4078" />
+ <tetrahedron index="11829" v0="2394" v1="2435" v2="2464" v3="4009" />
+ <tetrahedron index="11830" v0="2435" v1="2464" v2="4009" v3="4050" />
+ <tetrahedron index="11831" v0="2464" v1="4009" v2="4050" v3="4079" />
+ <tetrahedron index="11832" v0="1799" v1="1800" v2="2465" v3="3414" />
+ <tetrahedron index="11833" v0="1800" v1="2465" v2="3414" v3="3415" />
+ <tetrahedron index="11834" v0="2465" v1="3414" v2="3415" v3="4080" />
+ <tetrahedron index="11835" v0="1871" v1="2466" v2="2467" v3="3486" />
+ <tetrahedron index="11836" v0="2466" v1="2467" v2="3486" v3="4081" />
+ <tetrahedron index="11837" v0="2467" v1="3486" v2="4081" v3="4082" />
+ <tetrahedron index="11838" v0="2167" v1="2169" v2="2468" v3="3782" />
+ <tetrahedron index="11839" v0="2169" v1="2468" v2="3782" v3="3784" />
+ <tetrahedron index="11840" v0="2468" v1="3782" v2="3784" v3="4083" />
+ <tetrahedron index="11841" v0="2089" v1="2251" v2="2392" v3="3704" />
+ <tetrahedron index="11842" v0="2251" v1="2392" v2="3704" v3="3866" />
+ <tetrahedron index="11843" v0="2392" v1="3704" v2="3866" v3="4007" />
+ <tetrahedron index="11844" v0="1705" v1="2469" v2="2470" v3="3320" />
+ <tetrahedron index="11845" v0="2469" v1="2470" v2="3320" v3="4084" />
+ <tetrahedron index="11846" v0="2470" v1="3320" v2="4084" v3="4085" />
+ <tetrahedron index="11847" v0="2471" v1="2472" v2="2473" v3="4086" />
+ <tetrahedron index="11848" v0="2472" v1="2473" v2="4086" v3="4087" />
+ <tetrahedron index="11849" v0="2473" v1="4086" v2="4087" v3="4088" />
+ <tetrahedron index="11850" v0="1967" v1="2271" v2="2474" v3="3582" />
+ <tetrahedron index="11851" v0="2271" v1="2474" v2="3582" v3="3886" />
+ <tetrahedron index="11852" v0="2474" v1="3582" v2="3886" v3="4089" />
+ <tetrahedron index="11853" v0="1845" v1="2281" v2="2475" v3="3460" />
+ <tetrahedron index="11854" v0="2281" v1="2475" v2="3460" v3="3896" />
+ <tetrahedron index="11855" v0="2475" v1="3460" v2="3896" v3="4090" />
+ <tetrahedron index="11856" v0="2164" v1="2165" v2="2476" v3="3779" />
+ <tetrahedron index="11857" v0="2165" v1="2476" v2="3779" v3="3780" />
+ <tetrahedron index="11858" v0="2476" v1="3779" v2="3780" v3="4091" />
+ <tetrahedron index="11859" v0="2109" v1="2222" v2="2440" v3="3724" />
+ <tetrahedron index="11860" v0="2222" v1="2440" v2="3724" v3="3837" />
+ <tetrahedron index="11861" v0="2440" v1="3724" v2="3837" v3="4055" />
+ <tetrahedron index="11862" v0="2477" v1="2478" v2="2479" v3="4092" />
+ <tetrahedron index="11863" v0="2478" v1="2479" v2="4092" v3="4093" />
+ <tetrahedron index="11864" v0="2479" v1="4092" v2="4093" v3="4094" />
+ <tetrahedron index="11865" v0="2252" v1="2292" v2="2467" v3="3867" />
+ <tetrahedron index="11866" v0="2292" v1="2467" v2="3867" v3="3907" />
+ <tetrahedron index="11867" v0="2467" v1="3867" v2="3907" v3="4082" />
+ <tetrahedron index="11868" v0="1686" v1="2230" v2="2351" v3="3301" />
+ <tetrahedron index="11869" v0="2230" v1="2351" v2="3301" v3="3845" />
+ <tetrahedron index="11870" v0="2351" v1="3301" v2="3845" v3="3966" />
+ <tetrahedron index="11871" v0="2480" v1="2481" v2="2482" v3="4095" />
+ <tetrahedron index="11872" v0="2481" v1="2482" v2="4095" v3="4096" />
+ <tetrahedron index="11873" v0="2482" v1="4095" v2="4096" v3="4097" />
+ <tetrahedron index="11874" v0="2458" v1="2483" v2="2484" v3="4073" />
+ <tetrahedron index="11875" v0="2483" v1="2484" v2="4073" v3="4098" />
+ <tetrahedron index="11876" v0="2484" v1="4073" v2="4098" v3="4099" />
+ <tetrahedron index="11877" v0="2477" v1="2485" v2="2486" v3="4092" />
+ <tetrahedron index="11878" v0="2485" v1="2486" v2="4092" v3="4100" />
+ <tetrahedron index="11879" v0="2486" v1="4092" v2="4100" v3="4101" />
+ <tetrahedron index="11880" v0="1995" v1="2346" v2="2487" v3="3610" />
+ <tetrahedron index="11881" v0="2346" v1="2487" v2="3610" v3="3961" />
+ <tetrahedron index="11882" v0="2487" v1="3610" v2="3961" v3="4102" />
+ <tetrahedron index="11883" v0="2212" v1="2214" v2="2488" v3="3827" />
+ <tetrahedron index="11884" v0="2214" v1="2488" v2="3827" v3="3829" />
+ <tetrahedron index="11885" v0="2488" v1="3827" v2="3829" v3="4103" />
+ <tetrahedron index="11886" v0="2412" v1="2416" v2="2489" v3="4027" />
+ <tetrahedron index="11887" v0="2416" v1="2489" v2="4027" v3="4031" />
+ <tetrahedron index="11888" v0="2489" v1="4027" v2="4031" v3="4104" />
+ <tetrahedron index="11889" v0="2050" v1="2051" v2="2490" v3="3665" />
+ <tetrahedron index="11890" v0="2051" v1="2490" v2="3665" v3="3666" />
+ <tetrahedron index="11891" v0="2490" v1="3665" v2="3666" v3="4105" />
+ <tetrahedron index="11892" v0="1903" v1="1905" v2="2491" v3="3518" />
+ <tetrahedron index="11893" v0="1905" v1="2491" v2="3518" v3="3520" />
+ <tetrahedron index="11894" v0="2491" v1="3518" v2="3520" v3="4106" />
+ <tetrahedron index="11895" v0="1727" v1="1728" v2="2492" v3="3342" />
+ <tetrahedron index="11896" v0="1728" v1="2492" v2="3342" v3="3343" />
+ <tetrahedron index="11897" v0="2492" v1="3342" v2="3343" v3="4107" />
+ <tetrahedron index="11898" v0="2228" v1="2364" v2="2493" v3="3843" />
+ <tetrahedron index="11899" v0="2364" v1="2493" v2="3843" v3="3979" />
+ <tetrahedron index="11900" v0="2493" v1="3843" v2="3979" v3="4108" />
+ <tetrahedron index="11901" v0="2493" v1="2494" v2="2495" v3="4108" />
+ <tetrahedron index="11902" v0="2494" v1="2495" v2="4108" v3="4109" />
+ <tetrahedron index="11903" v0="2495" v1="4108" v2="4109" v3="4110" />
+ <tetrahedron index="11904" v0="2429" v1="2496" v2="2497" v3="4044" />
+ <tetrahedron index="11905" v0="2496" v1="2497" v2="4044" v3="4111" />
+ <tetrahedron index="11906" v0="2497" v1="4044" v2="4111" v3="4112" />
+ <tetrahedron index="11907" v0="2167" v1="2170" v2="2498" v3="3782" />
+ <tetrahedron index="11908" v0="2170" v1="2498" v2="3782" v3="3785" />
+ <tetrahedron index="11909" v0="2498" v1="3782" v2="3785" v3="4113" />
+ <tetrahedron index="11910" v0="1840" v1="2283" v2="2499" v3="3455" />
+ <tetrahedron index="11911" v0="2283" v1="2499" v2="3455" v3="3898" />
+ <tetrahedron index="11912" v0="2499" v1="3455" v2="3898" v3="4114" />
+ <tetrahedron index="11913" v0="2394" v1="2433" v2="2435" v3="4009" />
+ <tetrahedron index="11914" v0="2433" v1="2435" v2="4009" v3="4048" />
+ <tetrahedron index="11915" v0="2435" v1="4009" v2="4048" v3="4050" />
+ <tetrahedron index="11916" v0="1923" v1="2207" v2="2500" v3="3538" />
+ <tetrahedron index="11917" v0="2207" v1="2500" v2="3538" v3="3822" />
+ <tetrahedron index="11918" v0="2500" v1="3538" v2="3822" v3="4115" />
+ <tetrahedron index="11919" v0="1748" v1="2207" v2="2500" v3="3363" />
+ <tetrahedron index="11920" v0="2207" v1="2500" v2="3363" v3="3822" />
+ <tetrahedron index="11921" v0="2500" v1="3363" v2="3822" v3="4115" />
+ <tetrahedron index="11922" v0="1832" v1="2146" v2="2342" v3="3447" />
+ <tetrahedron index="11923" v0="2146" v1="2342" v2="3447" v3="3761" />
+ <tetrahedron index="11924" v0="2342" v1="3447" v2="3761" v3="3957" />
+ <tetrahedron index="11925" v0="2322" v1="2378" v2="2438" v3="3937" />
+ <tetrahedron index="11926" v0="2378" v1="2438" v2="3937" v3="3993" />
+ <tetrahedron index="11927" v0="2438" v1="3937" v2="3993" v3="4053" />
+ <tetrahedron index="11928" v0="1973" v1="2501" v2="2502" v3="3588" />
+ <tetrahedron index="11929" v0="2501" v1="2502" v2="3588" v3="4116" />
+ <tetrahedron index="11930" v0="2502" v1="3588" v2="4116" v3="4117" />
+ <tetrahedron index="11931" v0="2243" v1="2244" v2="2382" v3="3858" />
+ <tetrahedron index="11932" v0="2244" v1="2382" v2="3858" v3="3859" />
+ <tetrahedron index="11933" v0="2382" v1="3858" v2="3859" v3="3997" />
+ <tetrahedron index="11934" v0="1699" v1="2219" v2="2445" v3="3314" />
+ <tetrahedron index="11935" v0="2219" v1="2445" v2="3314" v3="3834" />
+ <tetrahedron index="11936" v0="2445" v1="3314" v2="3834" v3="4060" />
+ <tetrahedron index="11937" v0="2136" v1="2446" v2="2503" v3="3751" />
+ <tetrahedron index="11938" v0="2446" v1="2503" v2="3751" v3="4061" />
+ <tetrahedron index="11939" v0="2503" v1="3751" v2="4061" v3="4118" />
+ <tetrahedron index="11940" v0="2012" v1="2064" v2="2504" v3="3627" />
+ <tetrahedron index="11941" v0="2064" v1="2504" v2="3627" v3="3679" />
+ <tetrahedron index="11942" v0="2504" v1="3627" v2="3679" v3="4119" />
+ <tetrahedron index="11943" v0="2430" v1="2431" v2="2505" v3="4045" />
+ <tetrahedron index="11944" v0="2431" v1="2505" v2="4045" v3="4046" />
+ <tetrahedron index="11945" v0="2505" v1="4045" v2="4046" v3="4120" />
+ <tetrahedron index="11946" v0="1804" v1="2345" v2="2506" v3="3419" />
+ <tetrahedron index="11947" v0="2345" v1="2506" v2="3419" v3="3960" />
+ <tetrahedron index="11948" v0="2506" v1="3419" v2="3960" v3="4121" />
+ <tetrahedron index="11949" v0="1795" v1="2507" v2="2508" v3="3410" />
+ <tetrahedron index="11950" v0="2507" v1="2508" v2="3410" v3="4122" />
+ <tetrahedron index="11951" v0="2508" v1="3410" v2="4122" v3="4123" />
+ <tetrahedron index="11952" v0="2509" v1="2510" v2="2511" v3="4124" />
+ <tetrahedron index="11953" v0="2510" v1="2511" v2="4124" v3="4125" />
+ <tetrahedron index="11954" v0="2511" v1="4124" v2="4125" v3="4126" />
+ <tetrahedron index="11955" v0="2361" v1="2448" v2="2449" v3="3976" />
+ <tetrahedron index="11956" v0="2448" v1="2449" v2="3976" v3="4063" />
+ <tetrahedron index="11957" v0="2449" v1="3976" v2="4063" v3="4064" />
+ <tetrahedron index="11958" v0="1791" v1="2512" v2="2513" v3="3406" />
+ <tetrahedron index="11959" v0="2512" v1="2513" v2="3406" v3="4127" />
+ <tetrahedron index="11960" v0="2513" v1="3406" v2="4127" v3="4128" />
+ <tetrahedron index="11961" v0="1803" v1="1804" v2="2506" v3="3418" />
+ <tetrahedron index="11962" v0="1804" v1="2506" v2="3418" v3="3419" />
+ <tetrahedron index="11963" v0="2506" v1="3418" v2="3419" v3="4121" />
+ <tetrahedron index="11964" v0="1700" v1="1878" v2="2319" v3="3315" />
+ <tetrahedron index="11965" v0="1878" v1="2319" v2="3315" v3="3493" />
+ <tetrahedron index="11966" v0="2319" v1="3315" v2="3493" v3="3934" />
+ <tetrahedron index="11967" v0="1777" v1="2223" v2="2463" v3="3392" />
+ <tetrahedron index="11968" v0="2223" v1="2463" v2="3392" v3="3838" />
+ <tetrahedron index="11969" v0="2463" v1="3392" v2="3838" v3="4078" />
+ <tetrahedron index="11970" v0="2026" v1="2223" v2="2463" v3="3641" />
+ <tetrahedron index="11971" v0="2223" v1="2463" v2="3641" v3="3838" />
+ <tetrahedron index="11972" v0="2463" v1="3641" v2="3838" v3="4078" />
+ <tetrahedron index="11973" v0="1776" v1="2463" v2="2514" v3="3391" />
+ <tetrahedron index="11974" v0="2463" v1="2514" v2="3391" v3="4078" />
+ <tetrahedron index="11975" v0="2514" v1="3391" v2="4078" v3="4129" />
+ <tetrahedron index="11976" v0="1776" v1="1777" v2="2463" v3="3391" />
+ <tetrahedron index="11977" v0="1777" v1="2463" v2="3391" v3="3392" />
+ <tetrahedron index="11978" v0="2463" v1="3391" v2="3392" v3="4078" />
+ <tetrahedron index="11979" v0="2387" v1="2388" v2="2515" v3="4002" />
+ <tetrahedron index="11980" v0="2388" v1="2515" v2="4002" v3="4003" />
+ <tetrahedron index="11981" v0="2515" v1="4002" v2="4003" v3="4130" />
+ <tetrahedron index="11982" v0="1951" v1="2393" v2="2516" v3="3566" />
+ <tetrahedron index="11983" v0="2393" v1="2516" v2="3566" v3="4008" />
+ <tetrahedron index="11984" v0="2516" v1="3566" v2="4008" v3="4131" />
+ <tetrahedron index="11985" v0="2393" v1="2394" v2="2516" v3="4008" />
+ <tetrahedron index="11986" v0="2394" v1="2516" v2="4008" v3="4009" />
+ <tetrahedron index="11987" v0="2516" v1="4008" v2="4009" v3="4131" />
+ <tetrahedron index="11988" v0="2408" v1="2517" v2="2518" v3="4023" />
+ <tetrahedron index="11989" v0="2517" v1="2518" v2="4023" v3="4132" />
+ <tetrahedron index="11990" v0="2518" v1="4023" v2="4132" v3="4133" />
+ <tetrahedron index="11991" v0="1723" v1="1981" v2="2519" v3="3338" />
+ <tetrahedron index="11992" v0="1981" v1="2519" v2="3338" v3="3596" />
+ <tetrahedron index="11993" v0="2519" v1="3338" v2="3596" v3="4134" />
+ <tetrahedron index="11994" v0="1981" v1="2132" v2="2519" v3="3596" />
+ <tetrahedron index="11995" v0="2132" v1="2519" v2="3596" v3="3747" />
+ <tetrahedron index="11996" v0="2519" v1="3596" v2="3747" v3="4134" />
+ <tetrahedron index="11997" v0="1728" v1="2113" v2="2492" v3="3343" />
+ <tetrahedron index="11998" v0="2113" v1="2492" v2="3343" v3="3728" />
+ <tetrahedron index="11999" v0="2492" v1="3343" v2="3728" v3="4107" />
+ <tetrahedron index="12000" v0="2113" v1="2492" v2="2520" v3="3728" />
+ <tetrahedron index="12001" v0="2492" v1="2520" v2="3728" v3="4107" />
+ <tetrahedron index="12002" v0="2520" v1="3728" v2="4107" v3="4135" />
+ <tetrahedron index="12003" v0="2253" v1="2521" v2="2522" v3="3868" />
+ <tetrahedron index="12004" v0="2521" v1="2522" v2="3868" v3="4136" />
+ <tetrahedron index="12005" v0="2522" v1="3868" v2="4136" v3="4137" />
+ <tetrahedron index="12006" v0="2394" v1="2395" v2="2433" v3="4009" />
+ <tetrahedron index="12007" v0="2395" v1="2433" v2="4009" v3="4010" />
+ <tetrahedron index="12008" v0="2433" v1="4009" v2="4010" v3="4048" />
+ <tetrahedron index="12009" v0="2395" v1="2432" v2="2433" v3="4010" />
+ <tetrahedron index="12010" v0="2432" v1="2433" v2="4010" v3="4047" />
+ <tetrahedron index="12011" v0="2433" v1="4010" v2="4047" v3="4048" />
+ <tetrahedron index="12012" v0="2219" v1="2389" v2="2445" v3="3834" />
+ <tetrahedron index="12013" v0="2389" v1="2445" v2="3834" v3="4004" />
+ <tetrahedron index="12014" v0="2445" v1="3834" v2="4004" v3="4060" />
+ <tetrahedron index="12015" v0="2201" v1="2523" v2="2524" v3="3816" />
+ <tetrahedron index="12016" v0="2523" v1="2524" v2="3816" v3="4138" />
+ <tetrahedron index="12017" v0="2524" v1="3816" v2="4138" v3="4139" />
+ <tetrahedron index="12018" v0="2523" v1="2524" v2="2525" v3="4138" />
+ <tetrahedron index="12019" v0="2524" v1="2525" v2="4138" v3="4139" />
+ <tetrahedron index="12020" v0="2525" v1="4138" v2="4139" v3="4140" />
+ <tetrahedron index="12021" v0="2189" v1="2191" v2="2526" v3="3804" />
+ <tetrahedron index="12022" v0="2191" v1="2526" v2="3804" v3="3806" />
+ <tetrahedron index="12023" v0="2526" v1="3804" v2="3806" v3="4141" />
+ <tetrahedron index="12024" v0="2346" v1="2527" v2="2528" v3="3961" />
+ <tetrahedron index="12025" v0="2527" v1="2528" v2="3961" v3="4142" />
+ <tetrahedron index="12026" v0="2528" v1="3961" v2="4142" v3="4143" />
+ <tetrahedron index="12027" v0="2065" v1="2066" v2="2529" v3="3680" />
+ <tetrahedron index="12028" v0="2066" v1="2529" v2="3680" v3="3681" />
+ <tetrahedron index="12029" v0="2529" v1="3680" v2="3681" v3="4144" />
+ <tetrahedron index="12030" v0="1983" v1="2216" v2="2530" v3="3598" />
+ <tetrahedron index="12031" v0="2216" v1="2530" v2="3598" v3="3831" />
+ <tetrahedron index="12032" v0="2530" v1="3598" v2="3831" v3="4145" />
+ <tetrahedron index="12033" v0="1982" v1="1983" v2="2216" v3="3597" />
+ <tetrahedron index="12034" v0="1983" v1="2216" v2="3597" v3="3598" />
+ <tetrahedron index="12035" v0="2216" v1="3597" v2="3598" v3="3831" />
+ <tetrahedron index="12036" v0="2045" v1="2531" v2="2532" v3="3660" />
+ <tetrahedron index="12037" v0="2531" v1="2532" v2="3660" v3="4146" />
+ <tetrahedron index="12038" v0="2532" v1="3660" v2="4146" v3="4147" />
+ <tetrahedron index="12039" v0="1871" v1="1872" v2="2467" v3="3486" />
+ <tetrahedron index="12040" v0="1872" v1="2467" v2="3486" v3="3487" />
+ <tetrahedron index="12041" v0="2467" v1="3486" v2="3487" v3="4082" />
+ <tetrahedron index="12042" v0="1872" v1="2252" v2="2467" v3="3487" />
+ <tetrahedron index="12043" v0="2252" v1="2467" v2="3487" v3="3867" />
+ <tetrahedron index="12044" v0="2467" v1="3487" v2="3867" v3="4082" />
+ <tetrahedron index="12045" v0="2136" v1="2240" v2="2503" v3="3751" />
+ <tetrahedron index="12046" v0="2240" v1="2503" v2="3751" v3="3855" />
+ <tetrahedron index="12047" v0="2503" v1="3751" v2="3855" v3="4118" />
+ <tetrahedron index="12048" v0="1680" v1="2302" v2="2481" v3="3295" />
+ <tetrahedron index="12049" v0="2302" v1="2481" v2="3295" v3="3917" />
+ <tetrahedron index="12050" v0="2481" v1="3295" v2="3917" v3="4096" />
+ <tetrahedron index="12051" v0="1787" v1="1788" v2="2445" v3="3402" />
+ <tetrahedron index="12052" v0="1788" v1="2445" v2="3402" v3="3403" />
+ <tetrahedron index="12053" v0="2445" v1="3402" v2="3403" v3="4060" />
+ <tetrahedron index="12054" v0="1685" v1="2340" v2="2533" v3="3300" />
+ <tetrahedron index="12055" v0="2340" v1="2533" v2="3300" v3="3955" />
+ <tetrahedron index="12056" v0="2533" v1="3300" v2="3955" v3="4148" />
+ <tetrahedron index="12057" v0="1824" v1="2090" v2="2404" v3="3439" />
+ <tetrahedron index="12058" v0="2090" v1="2404" v2="3439" v3="3705" />
+ <tetrahedron index="12059" v0="2404" v1="3439" v2="3705" v3="4019" />
+ <tetrahedron index="12060" v0="2090" v1="2369" v2="2404" v3="3705" />
+ <tetrahedron index="12061" v0="2369" v1="2404" v2="3705" v3="3984" />
+ <tetrahedron index="12062" v0="2404" v1="3705" v2="3984" v3="4019" />
+ <tetrahedron index="12063" v0="1866" v1="1867" v2="2446" v3="3481" />
+ <tetrahedron index="12064" v0="1867" v1="2446" v2="3481" v3="3482" />
+ <tetrahedron index="12065" v0="2446" v1="3481" v2="3482" v3="4061" />
+ <tetrahedron index="12066" v0="1867" v1="2136" v2="2446" v3="3482" />
+ <tetrahedron index="12067" v0="2136" v1="2446" v2="3482" v3="3751" />
+ <tetrahedron index="12068" v0="2446" v1="3482" v2="3751" v3="4061" />
+ <tetrahedron index="12069" v0="2275" v1="2277" v2="2534" v3="3890" />
+ <tetrahedron index="12070" v0="2277" v1="2534" v2="3890" v3="3892" />
+ <tetrahedron index="12071" v0="2534" v1="3890" v2="3892" v3="4149" />
+ <tetrahedron index="12072" v0="2192" v1="2244" v2="2317" v3="3807" />
+ <tetrahedron index="12073" v0="2244" v1="2317" v2="3807" v3="3859" />
+ <tetrahedron index="12074" v0="2317" v1="3807" v2="3859" v3="3932" />
+ <tetrahedron index="12075" v0="2244" v1="2317" v2="2535" v3="3859" />
+ <tetrahedron index="12076" v0="2317" v1="2535" v2="3859" v3="3932" />
+ <tetrahedron index="12077" v0="2535" v1="3859" v2="3932" v3="4150" />
+ <tetrahedron index="12078" v0="1722" v1="1980" v2="1981" v3="3337" />
+ <tetrahedron index="12079" v0="1980" v1="1981" v2="3337" v3="3595" />
+ <tetrahedron index="12080" v0="1981" v1="3337" v2="3595" v3="3596" />
+ <tetrahedron index="12081" v0="1722" v1="1723" v2="1981" v3="3337" />
+ <tetrahedron index="12082" v0="1723" v1="1981" v2="3337" v3="3338" />
+ <tetrahedron index="12083" v0="1981" v1="3337" v2="3338" v3="3596" />
+ <tetrahedron index="12084" v0="2465" v1="2536" v2="2537" v3="4080" />
+ <tetrahedron index="12085" v0="2536" v1="2537" v2="4080" v3="4151" />
+ <tetrahedron index="12086" v0="2537" v1="4080" v2="4151" v3="4152" />
+ <tetrahedron index="12087" v0="2155" v1="2156" v2="2492" v3="3770" />
+ <tetrahedron index="12088" v0="2156" v1="2492" v2="3770" v3="3771" />
+ <tetrahedron index="12089" v0="2492" v1="3770" v2="3771" v3="4107" />
+ <tetrahedron index="12090" v0="1727" v1="2156" v2="2492" v3="3342" />
+ <tetrahedron index="12091" v0="2156" v1="2492" v2="3342" v3="3771" />
+ <tetrahedron index="12092" v0="2492" v1="3342" v2="3771" v3="4107" />
+ <tetrahedron index="12093" v0="1983" v1="1997" v2="1999" v3="3598" />
+ <tetrahedron index="12094" v0="1997" v1="1999" v2="3598" v3="3612" />
+ <tetrahedron index="12095" v0="1999" v1="3598" v2="3612" v3="3614" />
+ <tetrahedron index="12096" v0="1983" v1="1997" v2="2530" v3="3598" />
+ <tetrahedron index="12097" v0="1997" v1="2530" v2="3598" v3="3612" />
+ <tetrahedron index="12098" v0="2530" v1="3598" v2="3612" v3="4145" />
+ <tetrahedron index="12099" v0="2478" v1="2538" v2="2539" v3="4093" />
+ <tetrahedron index="12100" v0="2538" v1="2539" v2="4093" v3="4153" />
+ <tetrahedron index="12101" v0="2539" v1="4093" v2="4153" v3="4154" />
+ <tetrahedron index="12102" v0="2477" v1="2478" v2="2538" v3="4092" />
+ <tetrahedron index="12103" v0="2478" v1="2538" v2="4092" v3="4093" />
+ <tetrahedron index="12104" v0="2538" v1="4092" v2="4093" v3="4153" />
+ <tetrahedron index="12105" v0="2049" v1="2050" v2="2540" v3="3664" />
+ <tetrahedron index="12106" v0="2050" v1="2540" v2="3664" v3="3665" />
+ <tetrahedron index="12107" v0="2540" v1="3664" v2="3665" v3="4155" />
+ <tetrahedron index="12108" v0="2050" v1="2540" v2="2541" v3="3665" />
+ <tetrahedron index="12109" v0="2540" v1="2541" v2="3665" v3="4155" />
+ <tetrahedron index="12110" v0="2541" v1="3665" v2="4155" v3="4156" />
+ <tetrahedron index="12111" v0="2411" v1="2413" v2="2542" v3="4026" />
+ <tetrahedron index="12112" v0="2413" v1="2542" v2="4026" v3="4028" />
+ <tetrahedron index="12113" v0="2542" v1="4026" v2="4028" v3="4157" />
+ <tetrahedron index="12114" v0="2543" v1="2544" v2="2545" v3="4158" />
+ <tetrahedron index="12115" v0="2544" v1="2545" v2="4158" v3="4159" />
+ <tetrahedron index="12116" v0="2545" v1="4158" v2="4159" v3="4160" />
+ <tetrahedron index="12117" v0="1647" v1="1648" v2="2277" v3="3262" />
+ <tetrahedron index="12118" v0="1648" v1="2277" v2="3262" v3="3263" />
+ <tetrahedron index="12119" v0="2277" v1="3262" v2="3263" v3="3892" />
+ <tetrahedron index="12120" v0="1694" v1="1696" v2="2546" v3="3309" />
+ <tetrahedron index="12121" v0="1696" v1="2546" v2="3309" v3="3311" />
+ <tetrahedron index="12122" v0="2546" v1="3309" v2="3311" v3="4161" />
+ <tetrahedron index="12123" v0="2091" v1="2266" v2="2431" v3="3706" />
+ <tetrahedron index="12124" v0="2266" v1="2431" v2="3706" v3="3881" />
+ <tetrahedron index="12125" v0="2431" v1="3706" v2="3881" v3="4046" />
+ <tetrahedron index="12126" v0="2291" v1="2292" v2="2547" v3="3906" />
+ <tetrahedron index="12127" v0="2292" v1="2547" v2="3906" v3="3907" />
+ <tetrahedron index="12128" v0="2547" v1="3906" v2="3907" v3="4162" />
+ <tetrahedron index="12129" v0="2398" v1="2422" v2="2548" v3="4013" />
+ <tetrahedron index="12130" v0="2422" v1="2548" v2="4013" v3="4037" />
+ <tetrahedron index="12131" v0="2548" v1="4013" v2="4037" v3="4163" />
+ <tetrahedron index="12132" v0="2549" v1="2550" v2="2551" v3="4164" />
+ <tetrahedron index="12133" v0="2550" v1="2551" v2="4164" v3="4165" />
+ <tetrahedron index="12134" v0="2551" v1="4164" v2="4165" v3="4166" />
+ <tetrahedron index="12135" v0="2076" v1="2433" v2="2434" v3="3691" />
+ <tetrahedron index="12136" v0="2433" v1="2434" v2="3691" v3="4048" />
+ <tetrahedron index="12137" v0="2434" v1="3691" v2="4048" v3="4049" />
+ <tetrahedron index="12138" v0="2076" v1="2433" v2="2435" v3="3691" />
+ <tetrahedron index="12139" v0="2433" v1="2435" v2="3691" v3="4048" />
+ <tetrahedron index="12140" v0="2435" v1="3691" v2="4048" v3="4050" />
+ <tetrahedron index="12141" v0="2318" v1="2319" v2="2552" v3="3933" />
+ <tetrahedron index="12142" v0="2319" v1="2552" v2="3933" v3="3934" />
+ <tetrahedron index="12143" v0="2552" v1="3933" v2="3934" v3="4167" />
+ <tetrahedron index="12144" v0="1840" v1="2139" v2="2499" v3="3455" />
+ <tetrahedron index="12145" v0="2139" v1="2499" v2="3455" v3="3754" />
+ <tetrahedron index="12146" v0="2499" v1="3455" v2="3754" v3="4114" />
+ <tetrahedron index="12147" v0="2458" v1="2483" v2="2553" v3="4073" />
+ <tetrahedron index="12148" v0="2483" v1="2553" v2="4073" v3="4098" />
+ <tetrahedron index="12149" v0="2553" v1="4073" v2="4098" v3="4168" />
+ <tetrahedron index="12150" v0="1784" v1="1788" v2="2368" v3="3399" />
+ <tetrahedron index="12151" v0="1788" v1="2368" v2="3399" v3="3403" />
+ <tetrahedron index="12152" v0="2368" v1="3399" v2="3403" v3="3983" />
+ <tetrahedron index="12153" v0="2337" v1="2554" v2="2555" v3="3952" />
+ <tetrahedron index="12154" v0="2554" v1="2555" v2="3952" v3="4169" />
+ <tetrahedron index="12155" v0="2555" v1="3952" v2="4169" v3="4170" />
+ <tetrahedron index="12156" v0="2006" v1="2377" v2="2378" v3="3621" />
+ <tetrahedron index="12157" v0="2377" v1="2378" v2="3621" v3="3992" />
+ <tetrahedron index="12158" v0="2378" v1="3621" v2="3992" v3="3993" />
+ <tetrahedron index="12159" v0="2501" v1="2502" v2="2556" v3="4116" />
+ <tetrahedron index="12160" v0="2502" v1="2556" v2="4116" v3="4117" />
+ <tetrahedron index="12161" v0="2556" v1="4116" v2="4117" v3="4171" />
+ <tetrahedron index="12162" v0="1849" v1="2246" v2="2344" v3="3464" />
+ <tetrahedron index="12163" v0="2246" v1="2344" v2="3464" v3="3861" />
+ <tetrahedron index="12164" v0="2344" v1="3464" v2="3861" v3="3959" />
+ <tetrahedron index="12165" v0="2543" v1="2557" v2="2558" v3="4158" />
+ <tetrahedron index="12166" v0="2557" v1="2558" v2="4158" v3="4172" />
+ <tetrahedron index="12167" v0="2558" v1="4158" v2="4172" v3="4173" />
+ <tetrahedron index="12168" v0="1689" v1="2054" v2="2055" v3="3304" />
+ <tetrahedron index="12169" v0="2054" v1="2055" v2="3304" v3="3669" />
+ <tetrahedron index="12170" v0="2055" v1="3304" v2="3669" v3="3670" />
+ <tetrahedron index="12171" v0="1753" v1="1754" v2="2407" v3="3368" />
+ <tetrahedron index="12172" v0="1754" v1="2407" v2="3368" v3="3369" />
+ <tetrahedron index="12173" v0="2407" v1="3368" v2="3369" v3="4022" />
+ <tetrahedron index="12174" v0="1627" v1="1754" v2="2407" v3="3242" />
+ <tetrahedron index="12175" v0="1754" v1="2407" v2="3242" v3="3369" />
+ <tetrahedron index="12176" v0="2407" v1="3242" v2="3369" v3="4022" />
+ <tetrahedron index="12177" v0="2214" v1="2444" v2="2488" v3="3829" />
+ <tetrahedron index="12178" v0="2444" v1="2488" v2="3829" v3="4059" />
+ <tetrahedron index="12179" v0="2488" v1="3829" v2="4059" v3="4103" />
+ <tetrahedron index="12180" v0="1811" v1="2557" v2="2558" v3="3426" />
+ <tetrahedron index="12181" v0="2557" v1="2558" v2="3426" v3="4172" />
+ <tetrahedron index="12182" v0="2558" v1="3426" v2="4172" v3="4173" />
+ <tetrahedron index="12183" v0="2108" v1="2417" v2="2559" v3="3723" />
+ <tetrahedron index="12184" v0="2417" v1="2559" v2="3723" v3="4032" />
+ <tetrahedron index="12185" v0="2559" v1="3723" v2="4032" v3="4174" />
+ <tetrahedron index="12186" v0="2108" v1="2230" v2="2417" v3="3723" />
+ <tetrahedron index="12187" v0="2230" v1="2417" v2="3723" v3="3845" />
+ <tetrahedron index="12188" v0="2417" v1="3723" v2="3845" v3="4032" />
+ <tetrahedron index="12189" v0="2560" v1="2561" v2="2562" v3="4175" />
+ <tetrahedron index="12190" v0="2561" v1="2562" v2="4175" v3="4176" />
+ <tetrahedron index="12191" v0="2562" v1="4175" v2="4176" v3="4177" />
+ <tetrahedron index="12192" v0="2493" v1="2563" v2="2564" v3="4108" />
+ <tetrahedron index="12193" v0="2563" v1="2564" v2="4108" v3="4178" />
+ <tetrahedron index="12194" v0="2564" v1="4108" v2="4178" v3="4179" />
+ <tetrahedron index="12195" v0="2364" v1="2493" v2="2563" v3="3979" />
+ <tetrahedron index="12196" v0="2493" v1="2563" v2="3979" v3="4108" />
+ <tetrahedron index="12197" v0="2563" v1="3979" v2="4108" v3="4178" />
+ <tetrahedron index="12198" v0="2396" v1="2403" v2="2460" v3="4011" />
+ <tetrahedron index="12199" v0="2403" v1="2460" v2="4011" v3="4018" />
+ <tetrahedron index="12200" v0="2460" v1="4011" v2="4018" v3="4075" />
+ <tetrahedron index="12201" v0="2427" v1="2428" v2="2565" v3="4042" />
+ <tetrahedron index="12202" v0="2428" v1="2565" v2="4042" v3="4043" />
+ <tetrahedron index="12203" v0="2565" v1="4042" v2="4043" v3="4180" />
+ <tetrahedron index="12204" v0="2228" v1="2493" v2="2495" v3="3843" />
+ <tetrahedron index="12205" v0="2493" v1="2495" v2="3843" v3="4108" />
+ <tetrahedron index="12206" v0="2495" v1="3843" v2="4108" v3="4110" />
+ <tetrahedron index="12207" v0="2333" v1="2425" v2="2452" v3="3948" />
+ <tetrahedron index="12208" v0="2425" v1="2452" v2="3948" v3="4040" />
+ <tetrahedron index="12209" v0="2452" v1="3948" v2="4040" v3="4067" />
+ <tetrahedron index="12210" v0="2331" v1="2333" v2="2452" v3="3946" />
+ <tetrahedron index="12211" v0="2333" v1="2452" v2="3946" v3="3948" />
+ <tetrahedron index="12212" v0="2452" v1="3946" v2="3948" v3="4067" />
+ <tetrahedron index="12213" v0="1686" v1="1687" v2="2351" v3="3301" />
+ <tetrahedron index="12214" v0="1687" v1="2351" v2="3301" v3="3302" />
+ <tetrahedron index="12215" v0="2351" v1="3301" v2="3302" v3="3966" />
+ <tetrahedron index="12216" v0="1687" v1="1785" v2="2351" v3="3302" />
+ <tetrahedron index="12217" v0="1785" v1="2351" v2="3302" v3="3400" />
+ <tetrahedron index="12218" v0="2351" v1="3302" v2="3400" v3="3966" />
+ <tetrahedron index="12219" v0="1776" v1="1778" v2="2566" v3="3391" />
+ <tetrahedron index="12220" v0="1778" v1="2566" v2="3391" v3="3393" />
+ <tetrahedron index="12221" v0="2566" v1="3391" v2="3393" v3="4181" />
+ <tetrahedron index="12222" v0="2161" v1="2438" v2="2439" v3="3776" />
+ <tetrahedron index="12223" v0="2438" v1="2439" v2="3776" v3="4053" />
+ <tetrahedron index="12224" v0="2439" v1="3776" v2="4053" v3="4054" />
+ <tetrahedron index="12225" v0="2161" v1="2378" v2="2438" v3="3776" />
+ <tetrahedron index="12226" v0="2378" v1="2438" v2="3776" v3="3993" />
+ <tetrahedron index="12227" v0="2438" v1="3776" v2="3993" v3="4053" />
+ <tetrahedron index="12228" v0="1832" v1="1833" v2="2336" v3="3447" />
+ <tetrahedron index="12229" v0="1833" v1="2336" v2="3447" v3="3448" />
+ <tetrahedron index="12230" v0="2336" v1="3447" v2="3448" v3="3951" />
+ <tetrahedron index="12231" v0="1832" v1="2146" v2="2336" v3="3447" />
+ <tetrahedron index="12232" v0="2146" v1="2336" v2="3447" v3="3761" />
+ <tetrahedron index="12233" v0="2336" v1="3447" v2="3761" v3="3951" />
+ <tetrahedron index="12234" v0="1860" v1="1861" v2="2567" v3="3475" />
+ <tetrahedron index="12235" v0="1861" v1="2567" v2="3475" v3="3476" />
+ <tetrahedron index="12236" v0="2567" v1="3475" v2="3476" v3="4182" />
+ <tetrahedron index="12237" v0="1739" v1="1861" v2="2567" v3="3354" />
+ <tetrahedron index="12238" v0="1861" v1="2567" v2="3354" v3="3476" />
+ <tetrahedron index="12239" v0="2567" v1="3354" v2="3476" v3="4182" />
+ <tetrahedron index="12240" v0="1982" v1="1984" v2="2173" v3="3597" />
+ <tetrahedron index="12241" v0="1984" v1="2173" v2="3597" v3="3599" />
+ <tetrahedron index="12242" v0="2173" v1="3597" v2="3599" v3="3788" />
+ <tetrahedron index="12243" v0="1982" v1="2172" v2="2173" v3="3597" />
+ <tetrahedron index="12244" v0="2172" v1="2173" v2="3597" v3="3787" />
+ <tetrahedron index="12245" v0="2173" v1="3597" v2="3787" v3="3788" />
+ <tetrahedron index="12246" v0="2011" v1="2109" v2="2440" v3="3626" />
+ <tetrahedron index="12247" v0="2109" v1="2440" v2="3626" v3="3724" />
+ <tetrahedron index="12248" v0="2440" v1="3626" v2="3724" v3="4055" />
+ <tetrahedron index="12249" v0="2011" v1="2082" v2="2440" v3="3626" />
+ <tetrahedron index="12250" v0="2082" v1="2440" v2="3626" v3="3697" />
+ <tetrahedron index="12251" v0="2440" v1="3626" v2="3697" v3="4055" />
+ <tetrahedron index="12252" v0="1973" v1="2363" v2="2501" v3="3588" />
+ <tetrahedron index="12253" v0="2363" v1="2501" v2="3588" v3="3978" />
+ <tetrahedron index="12254" v0="2501" v1="3588" v2="3978" v3="4116" />
+ <tetrahedron index="12255" v0="2259" v1="2342" v2="2568" v3="3874" />
+ <tetrahedron index="12256" v0="2342" v1="2568" v2="3874" v3="3957" />
+ <tetrahedron index="12257" v0="2568" v1="3874" v2="3957" v3="4183" />
+ <tetrahedron index="12258" v0="2091" v1="2431" v2="2505" v3="3706" />
+ <tetrahedron index="12259" v0="2431" v1="2505" v2="3706" v3="4046" />
+ <tetrahedron index="12260" v0="2505" v1="3706" v2="4046" v3="4120" />
+ <tetrahedron index="12261" v0="2244" v1="2441" v2="2535" v3="3859" />
+ <tetrahedron index="12262" v0="2441" v1="2535" v2="3859" v3="4056" />
+ <tetrahedron index="12263" v0="2535" v1="3859" v2="4056" v3="4150" />
+ <tetrahedron index="12264" v0="2040" v1="2172" v2="2217" v3="3655" />
+ <tetrahedron index="12265" v0="2172" v1="2217" v2="3655" v3="3787" />
+ <tetrahedron index="12266" v0="2217" v1="3655" v2="3787" v3="3832" />
+ <tetrahedron index="12267" v0="2104" v1="2285" v2="2446" v3="3719" />
+ <tetrahedron index="12268" v0="2285" v1="2446" v2="3719" v3="3900" />
+ <tetrahedron index="12269" v0="2446" v1="3719" v2="3900" v3="4061" />
+ <tetrahedron index="12270" v0="2104" v1="2446" v2="2503" v3="3719" />
+ <tetrahedron index="12271" v0="2446" v1="2503" v2="3719" v3="4061" />
+ <tetrahedron index="12272" v0="2503" v1="3719" v2="4061" v3="4118" />
+ <tetrahedron index="12273" v0="2256" v1="2280" v2="2569" v3="3871" />
+ <tetrahedron index="12274" v0="2280" v1="2569" v2="3871" v3="3895" />
+ <tetrahedron index="12275" v0="2569" v1="3871" v2="3895" v3="4184" />
+ <tetrahedron index="12276" v0="1872" v1="2089" v2="2252" v3="3487" />
+ <tetrahedron index="12277" v0="2089" v1="2252" v2="3487" v3="3704" />
+ <tetrahedron index="12278" v0="2252" v1="3487" v2="3704" v3="3867" />
+ <tetrahedron index="12279" v0="2089" v1="2251" v2="2252" v3="3704" />
+ <tetrahedron index="12280" v0="2251" v1="2252" v2="3704" v3="3866" />
+ <tetrahedron index="12281" v0="2252" v1="3704" v2="3866" v3="3867" />
+ <tetrahedron index="12282" v0="2397" v1="2420" v2="2506" v3="4012" />
+ <tetrahedron index="12283" v0="2420" v1="2506" v2="4012" v3="4035" />
+ <tetrahedron index="12284" v0="2506" v1="4012" v2="4035" v3="4121" />
+ <tetrahedron index="12285" v0="2345" v1="2420" v2="2506" v3="3960" />
+ <tetrahedron index="12286" v0="2420" v1="2506" v2="3960" v3="4035" />
+ <tetrahedron index="12287" v0="2506" v1="3960" v2="4035" v3="4121" />
+ <tetrahedron index="12288" v0="1726" v1="1858" v2="2144" v3="3341" />
+ <tetrahedron index="12289" v0="1858" v1="2144" v2="3341" v3="3473" />
+ <tetrahedron index="12290" v0="2144" v1="3341" v2="3473" v3="3759" />
+ <tetrahedron index="12291" v0="2166" v1="2322" v2="2438" v3="3781" />
+ <tetrahedron index="12292" v0="2322" v1="2438" v2="3781" v3="3937" />
+ <tetrahedron index="12293" v0="2438" v1="3781" v2="3937" v3="4053" />
+ <tetrahedron index="12294" v0="2166" v1="2169" v2="2438" v3="3781" />
+ <tetrahedron index="12295" v0="2169" v1="2438" v2="3781" v3="3784" />
+ <tetrahedron index="12296" v0="2438" v1="3781" v2="3784" v3="4053" />
+ <tetrahedron index="12297" v0="1905" v1="2491" v2="2570" v3="3520" />
+ <tetrahedron index="12298" v0="2491" v1="2570" v2="3520" v3="4106" />
+ <tetrahedron index="12299" v0="2570" v1="3520" v2="4106" v3="4185" />
+ <tetrahedron index="12300" v0="2571" v1="2572" v2="2573" v3="4186" />
+ <tetrahedron index="12301" v0="2572" v1="2573" v2="4186" v3="4187" />
+ <tetrahedron index="12302" v0="2573" v1="4186" v2="4187" v3="4188" />
+ <tetrahedron index="12303" v0="2201" v1="2524" v2="2574" v3="3816" />
+ <tetrahedron index="12304" v0="2524" v1="2574" v2="3816" v3="4139" />
+ <tetrahedron index="12305" v0="2574" v1="3816" v2="4139" v3="4189" />
+ <tetrahedron index="12306" v0="2093" v1="2265" v2="2509" v3="3708" />
+ <tetrahedron index="12307" v0="2265" v1="2509" v2="3708" v3="3880" />
+ <tetrahedron index="12308" v0="2509" v1="3708" v2="3880" v3="4124" />
+ <tetrahedron index="12309" v0="2118" v1="2401" v2="2402" v3="3733" />
+ <tetrahedron index="12310" v0="2401" v1="2402" v2="3733" v3="4016" />
+ <tetrahedron index="12311" v0="2402" v1="3733" v2="4016" v3="4017" />
+ <tetrahedron index="12312" v0="1782" v1="2400" v2="2566" v3="3397" />
+ <tetrahedron index="12313" v0="2400" v1="2566" v2="3397" v3="4015" />
+ <tetrahedron index="12314" v0="2566" v1="3397" v2="4015" v3="4181" />
+ <tetrahedron index="12315" v0="1778" v1="1782" v2="2566" v3="3393" />
+ <tetrahedron index="12316" v0="1782" v1="2566" v2="3393" v3="3397" />
+ <tetrahedron index="12317" v0="2566" v1="3393" v2="3397" v3="4181" />
+ <tetrahedron index="12318" v0="1976" v1="1977" v2="2426" v3="3591" />
+ <tetrahedron index="12319" v0="1977" v1="2426" v2="3591" v3="3592" />
+ <tetrahedron index="12320" v0="2426" v1="3591" v2="3592" v3="4041" />
+ <tetrahedron index="12321" v0="2035" v1="2215" v2="2224" v3="3650" />
+ <tetrahedron index="12322" v0="2215" v1="2224" v2="3650" v3="3830" />
+ <tetrahedron index="12323" v0="2224" v1="3650" v2="3830" v3="3839" />
+ <tetrahedron index="12324" v0="1926" v1="2177" v2="2414" v3="3541" />
+ <tetrahedron index="12325" v0="2177" v1="2414" v2="3541" v3="3792" />
+ <tetrahedron index="12326" v0="2414" v1="3541" v2="3792" v3="4029" />
+ <tetrahedron index="12327" v0="1912" v1="1926" v2="2177" v3="3527" />
+ <tetrahedron index="12328" v0="1926" v1="2177" v2="3527" v3="3541" />
+ <tetrahedron index="12329" v0="2177" v1="3527" v2="3541" v3="3792" />
+ <tetrahedron index="12330" v0="2166" v1="2168" v2="2169" v3="3781" />
+ <tetrahedron index="12331" v0="2168" v1="2169" v2="3781" v3="3783" />
+ <tetrahedron index="12332" v0="2169" v1="3781" v2="3783" v3="3784" />
+ <tetrahedron index="12333" v0="2164" v1="2166" v2="2168" v3="3779" />
+ <tetrahedron index="12334" v0="2166" v1="2168" v2="3779" v3="3781" />
+ <tetrahedron index="12335" v0="2168" v1="3779" v2="3781" v3="3783" />
+ <tetrahedron index="12336" v0="2167" v1="2168" v2="2498" v3="3782" />
+ <tetrahedron index="12337" v0="2168" v1="2498" v2="3782" v3="3783" />
+ <tetrahedron index="12338" v0="2498" v1="3782" v2="3783" v3="4113" />
+ <tetrahedron index="12339" v0="1978" v1="2002" v2="2186" v3="3593" />
+ <tetrahedron index="12340" v0="2002" v1="2186" v2="3593" v3="3617" />
+ <tetrahedron index="12341" v0="2186" v1="3593" v2="3617" v3="3801" />
+ <tetrahedron index="12342" v0="1657" v1="1658" v2="1939" v3="3272" />
+ <tetrahedron index="12343" v0="1658" v1="1939" v2="3272" v3="3273" />
+ <tetrahedron index="12344" v0="1939" v1="3272" v2="3273" v3="3554" />
+ <tetrahedron index="12345" v0="1797" v1="2341" v2="2575" v3="3412" />
+ <tetrahedron index="12346" v0="2341" v1="2575" v2="3412" v3="3956" />
+ <tetrahedron index="12347" v0="2575" v1="3412" v2="3956" v3="4190" />
+ <tetrahedron index="12348" v0="1769" v1="1770" v2="2119" v3="3384" />
+ <tetrahedron index="12349" v0="1770" v1="2119" v2="3384" v3="3385" />
+ <tetrahedron index="12350" v0="2119" v1="3384" v2="3385" v3="3734" />
+ <tetrahedron index="12351" v0="2160" v1="2367" v2="2576" v3="3775" />
+ <tetrahedron index="12352" v0="2367" v1="2576" v2="3775" v3="3982" />
+ <tetrahedron index="12353" v0="2576" v1="3775" v2="3982" v3="4191" />
+ <tetrahedron index="12354" v0="2577" v1="2578" v2="2579" v3="4192" />
+ <tetrahedron index="12355" v0="2578" v1="2579" v2="4192" v3="4193" />
+ <tetrahedron index="12356" v0="2579" v1="4192" v2="4193" v3="4194" />
+ <tetrahedron index="12357" v0="2538" v1="2554" v2="2555" v3="4153" />
+ <tetrahedron index="12358" v0="2554" v1="2555" v2="4153" v3="4169" />
+ <tetrahedron index="12359" v0="2555" v1="4153" v2="4169" v3="4170" />
+ <tetrahedron index="12360" v0="2112" v1="2117" v2="2281" v3="3727" />
+ <tetrahedron index="12361" v0="2117" v1="2281" v2="3727" v3="3732" />
+ <tetrahedron index="12362" v0="2281" v1="3727" v2="3732" v3="3896" />
+ <tetrahedron index="12363" v0="1842" v1="2149" v2="2270" v3="3457" />
+ <tetrahedron index="12364" v0="2149" v1="2270" v2="3457" v3="3764" />
+ <tetrahedron index="12365" v0="2270" v1="3457" v2="3764" v3="3885" />
+ <tetrahedron index="12366" v0="1635" v1="1638" v2="2401" v3="3250" />
+ <tetrahedron index="12367" v0="1638" v1="2401" v2="3250" v3="3253" />
+ <tetrahedron index="12368" v0="2401" v1="3250" v2="3253" v3="4016" />
+ <tetrahedron index="12369" v0="1913" v1="1914" v2="2580" v3="3528" />
+ <tetrahedron index="12370" v0="1914" v1="2580" v2="3528" v3="3529" />
+ <tetrahedron index="12371" v0="2580" v1="3528" v2="3529" v3="4195" />
+ <tetrahedron index="12372" v0="2077" v1="2078" v2="2581" v3="3692" />
+ <tetrahedron index="12373" v0="2078" v1="2581" v2="3692" v3="3693" />
+ <tetrahedron index="12374" v0="2581" v1="3692" v2="3693" v3="4196" />
+ <tetrahedron index="12375" v0="1762" v1="1914" v2="2150" v3="3377" />
+ <tetrahedron index="12376" v0="1914" v1="2150" v2="3377" v3="3529" />
+ <tetrahedron index="12377" v0="2150" v1="3377" v2="3529" v3="3765" />
+ <tetrahedron index="12378" v0="2124" v1="2279" v2="2582" v3="3739" />
+ <tetrahedron index="12379" v0="2279" v1="2582" v2="3739" v3="3894" />
+ <tetrahedron index="12380" v0="2582" v1="3739" v2="3894" v3="4197" />
+ <tetrahedron index="12381" v0="2508" v1="2583" v2="2584" v3="4123" />
+ <tetrahedron index="12382" v0="2583" v1="2584" v2="4123" v3="4198" />
+ <tetrahedron index="12383" v0="2584" v1="4123" v2="4198" v3="4199" />
+ <tetrahedron index="12384" v0="1967" v1="1968" v2="2271" v3="3582" />
+ <tetrahedron index="12385" v0="1968" v1="2271" v2="3582" v3="3583" />
+ <tetrahedron index="12386" v0="2271" v1="3582" v2="3583" v3="3886" />
+ <tetrahedron index="12387" v0="1968" v1="2270" v2="2271" v3="3583" />
+ <tetrahedron index="12388" v0="2270" v1="2271" v2="3583" v3="3885" />
+ <tetrahedron index="12389" v0="2271" v1="3583" v2="3885" v3="3886" />
+ <tetrahedron index="12390" v0="2429" v1="2496" v2="2585" v3="4044" />
+ <tetrahedron index="12391" v0="2496" v1="2585" v2="4044" v3="4111" />
+ <tetrahedron index="12392" v0="2585" v1="4044" v2="4111" v3="4200" />
+ <tetrahedron index="12393" v0="1951" v1="1952" v2="2586" v3="3566" />
+ <tetrahedron index="12394" v0="1952" v1="2586" v2="3566" v3="3567" />
+ <tetrahedron index="12395" v0="2586" v1="3566" v2="3567" v3="4201" />
+ <tetrahedron index="12396" v0="1641" v1="2198" v2="2587" v3="3256" />
+ <tetrahedron index="12397" v0="2198" v1="2587" v2="3256" v3="3813" />
+ <tetrahedron index="12398" v0="2587" v1="3256" v2="3813" v3="4202" />
+ <tetrahedron index="12399" v0="1714" v1="2588" v2="2589" v3="3329" />
+ <tetrahedron index="12400" v0="2588" v1="2589" v2="3329" v3="4203" />
+ <tetrahedron index="12401" v0="2589" v1="3329" v2="4203" v3="4204" />
+ <tetrahedron index="12402" v0="1811" v1="1812" v2="2590" v3="3426" />
+ <tetrahedron index="12403" v0="1812" v1="2590" v2="3426" v3="3427" />
+ <tetrahedron index="12404" v0="2590" v1="3426" v2="3427" v3="4205" />
+ <tetrahedron index="12405" v0="1859" v1="1884" v2="2591" v3="3474" />
+ <tetrahedron index="12406" v0="1884" v1="2591" v2="3474" v3="3499" />
+ <tetrahedron index="12407" v0="2591" v1="3474" v2="3499" v3="4206" />
+ <tetrahedron index="12408" v0="1927" v1="2465" v2="2536" v3="3542" />
+ <tetrahedron index="12409" v0="2465" v1="2536" v2="3542" v3="4080" />
+ <tetrahedron index="12410" v0="2536" v1="3542" v2="4080" v3="4151" />
+ <tetrahedron index="12411" v0="1726" v1="1728" v2="2592" v3="3341" />
+ <tetrahedron index="12412" v0="1728" v1="2592" v2="3341" v3="3343" />
+ <tetrahedron index="12413" v0="2592" v1="3341" v2="3343" v3="4207" />
+ <tetrahedron index="12414" v0="2195" v1="2197" v2="2593" v3="3810" />
+ <tetrahedron index="12415" v0="2197" v1="2593" v2="3810" v3="3812" />
+ <tetrahedron index="12416" v0="2593" v1="3810" v2="3812" v3="4208" />
+ <tetrahedron index="12417" v0="2594" v1="2595" v2="2596" v3="4209" />
+ <tetrahedron index="12418" v0="2595" v1="2596" v2="4209" v3="4210" />
+ <tetrahedron index="12419" v0="2596" v1="4209" v2="4210" v3="4211" />
+ <tetrahedron index="12420" v0="2400" v1="2566" v2="2597" v3="4015" />
+ <tetrahedron index="12421" v0="2566" v1="2597" v2="4015" v3="4181" />
+ <tetrahedron index="12422" v0="2597" v1="4015" v2="4181" v3="4212" />
+ <tetrahedron index="12423" v0="2397" v1="2398" v2="2598" v3="4012" />
+ <tetrahedron index="12424" v0="2398" v1="2598" v2="4012" v3="4013" />
+ <tetrahedron index="12425" v0="2598" v1="4012" v2="4013" v3="4213" />
+ <tetrahedron index="12426" v0="2397" v1="2506" v2="2598" v3="4012" />
+ <tetrahedron index="12427" v0="2506" v1="2598" v2="4012" v3="4121" />
+ <tetrahedron index="12428" v0="2598" v1="4012" v2="4121" v3="4213" />
+ <tetrahedron index="12429" v0="1935" v1="1936" v2="2599" v3="3550" />
+ <tetrahedron index="12430" v0="1936" v1="2599" v2="3550" v3="3551" />
+ <tetrahedron index="12431" v0="2599" v1="3550" v2="3551" v3="4214" />
+ <tetrahedron index="12432" v0="2174" v1="2346" v2="2487" v3="3789" />
+ <tetrahedron index="12433" v0="2346" v1="2487" v2="3789" v3="3961" />
+ <tetrahedron index="12434" v0="2487" v1="3789" v2="3961" v3="4102" />
+ <tetrahedron index="12435" v0="2174" v1="2346" v2="2528" v3="3789" />
+ <tetrahedron index="12436" v0="2346" v1="2528" v2="3789" v3="3961" />
+ <tetrahedron index="12437" v0="2528" v1="3789" v2="3961" v3="4143" />
+ <tetrahedron index="12438" v0="1779" v1="1785" v2="2154" v3="3394" />
+ <tetrahedron index="12439" v0="1785" v1="2154" v2="3394" v3="3400" />
+ <tetrahedron index="12440" v0="2154" v1="3394" v2="3400" v3="3769" />
+ <tetrahedron index="12441" v0="1670" v1="1672" v2="1870" v3="3285" />
+ <tetrahedron index="12442" v0="1672" v1="1870" v2="3285" v3="3287" />
+ <tetrahedron index="12443" v0="1870" v1="3285" v2="3287" v3="3485" />
+ <tetrahedron index="12444" v0="1966" v1="2057" v2="2600" v3="3581" />
+ <tetrahedron index="12445" v0="2057" v1="2600" v2="3581" v3="3672" />
+ <tetrahedron index="12446" v0="2600" v1="3581" v2="3672" v3="4215" />
+ <tetrahedron index="12447" v0="1660" v1="1761" v2="1911" v3="3275" />
+ <tetrahedron index="12448" v0="1761" v1="1911" v2="3275" v3="3376" />
+ <tetrahedron index="12449" v0="1911" v1="3275" v2="3376" v3="3526" />
+ <tetrahedron index="12450" v0="1660" v1="1661" v2="1761" v3="3275" />
+ <tetrahedron index="12451" v0="1661" v1="1761" v2="3275" v3="3276" />
+ <tetrahedron index="12452" v0="1761" v1="3275" v2="3276" v3="3376" />
+ <tetrahedron index="12453" v0="2422" v1="2423" v2="2548" v3="4037" />
+ <tetrahedron index="12454" v0="2423" v1="2548" v2="4037" v3="4038" />
+ <tetrahedron index="12455" v0="2548" v1="4037" v2="4038" v3="4163" />
+ <tetrahedron index="12456" v0="2158" v1="2160" v2="2601" v3="3773" />
+ <tetrahedron index="12457" v0="2160" v1="2601" v2="3773" v3="3775" />
+ <tetrahedron index="12458" v0="2601" v1="3773" v2="3775" v3="4216" />
+ <tetrahedron index="12459" v0="2029" v1="2031" v2="2312" v3="3644" />
+ <tetrahedron index="12460" v0="2031" v1="2312" v2="3644" v3="3646" />
+ <tetrahedron index="12461" v0="2312" v1="3644" v2="3646" v3="3927" />
+ <tetrahedron index="12462" v0="1698" v1="2029" v2="2312" v3="3313" />
+ <tetrahedron index="12463" v0="2029" v1="2312" v2="3313" v3="3644" />
+ <tetrahedron index="12464" v0="2312" v1="3313" v2="3644" v3="3927" />
+ <tetrahedron index="12465" v0="1833" v1="2067" v2="2336" v3="3448" />
+ <tetrahedron index="12466" v0="2067" v1="2336" v2="3448" v3="3682" />
+ <tetrahedron index="12467" v0="2336" v1="3448" v2="3682" v3="3951" />
+ <tetrahedron index="12468" v0="1833" v1="1902" v2="2067" v3="3448" />
+ <tetrahedron index="12469" v0="1902" v1="2067" v2="3448" v3="3517" />
+ <tetrahedron index="12470" v0="2067" v1="3448" v2="3517" v3="3682" />
+ <tetrahedron index="12471" v0="1860" v1="2567" v2="2602" v3="3475" />
+ <tetrahedron index="12472" v0="2567" v1="2602" v2="3475" v3="4182" />
+ <tetrahedron index="12473" v0="2602" v1="3475" v2="4182" v3="4217" />
+ <tetrahedron index="12474" v0="1621" v1="1860" v2="2602" v3="3236" />
+ <tetrahedron index="12475" v0="1860" v1="2602" v2="3236" v3="3475" />
+ <tetrahedron index="12476" v0="2602" v1="3236" v2="3475" v3="4217" />
+ <tetrahedron index="12477" v0="1881" v1="1943" v2="2352" v3="3496" />
+ <tetrahedron index="12478" v0="1943" v1="2352" v2="3496" v3="3558" />
+ <tetrahedron index="12479" v0="2352" v1="3496" v2="3558" v3="3967" />
+ <tetrahedron index="12480" v0="2477" v1="2479" v2="2485" v3="4092" />
+ <tetrahedron index="12481" v0="2479" v1="2485" v2="4092" v3="4094" />
+ <tetrahedron index="12482" v0="2485" v1="4092" v2="4094" v3="4100" />
+ <tetrahedron index="12483" v0="2085" v1="2276" v2="2603" v3="3700" />
+ <tetrahedron index="12484" v0="2276" v1="2603" v2="3700" v3="3891" />
+ <tetrahedron index="12485" v0="2603" v1="3700" v2="3891" v3="4218" />
+ <tetrahedron index="12486" v0="1648" v1="2085" v2="2276" v3="3263" />
+ <tetrahedron index="12487" v0="2085" v1="2276" v2="3263" v3="3700" />
+ <tetrahedron index="12488" v0="2276" v1="3263" v2="3700" v3="3891" />
+ <tetrahedron index="12489" v0="2287" v1="2604" v2="2605" v3="3902" />
+ <tetrahedron index="12490" v0="2604" v1="2605" v2="3902" v3="4219" />
+ <tetrahedron index="12491" v0="2605" v1="3902" v2="4219" v3="4220" />
+ <tetrahedron index="12492" v0="1880" v1="1883" v2="2536" v3="3495" />
+ <tetrahedron index="12493" v0="1883" v1="2536" v2="3495" v3="3498" />
+ <tetrahedron index="12494" v0="2536" v1="3495" v2="3498" v3="4151" />
+ <tetrahedron index="12495" v0="1880" v1="1927" v2="2536" v3="3495" />
+ <tetrahedron index="12496" v0="1927" v1="2536" v2="3495" v3="3542" />
+ <tetrahedron index="12497" v0="2536" v1="3495" v2="3542" v3="4151" />
+ <tetrahedron index="12498" v0="2221" v1="2480" v2="2481" v3="3836" />
+ <tetrahedron index="12499" v0="2480" v1="2481" v2="3836" v3="4095" />
+ <tetrahedron index="12500" v0="2481" v1="3836" v2="4095" v3="4096" />
+ <tetrahedron index="12501" v0="1682" v1="1992" v2="2436" v3="3297" />
+ <tetrahedron index="12502" v0="1992" v1="2436" v2="3297" v3="3607" />
+ <tetrahedron index="12503" v0="2436" v1="3297" v2="3607" v3="4051" />
+ <tetrahedron index="12504" v0="1682" v1="2436" v2="2606" v3="3297" />
+ <tetrahedron index="12505" v0="2436" v1="2606" v2="3297" v3="4051" />
+ <tetrahedron index="12506" v0="2606" v1="3297" v2="4051" v3="4221" />
+ <tetrahedron index="12507" v0="1953" v1="2222" v2="2440" v3="3568" />
+ <tetrahedron index="12508" v0="2222" v1="2440" v2="3568" v3="3837" />
+ <tetrahedron index="12509" v0="2440" v1="3568" v2="3837" v3="4055" />
+ <tetrahedron index="12510" v0="1816" v1="1890" v2="2243" v3="3431" />
+ <tetrahedron index="12511" v0="1890" v1="2243" v2="3431" v3="3505" />
+ <tetrahedron index="12512" v0="2243" v1="3431" v2="3505" v3="3858" />
+ <tetrahedron index="12513" v0="1890" v1="2192" v2="2243" v3="3505" />
+ <tetrahedron index="12514" v0="2192" v1="2243" v2="3505" v3="3807" />
+ <tetrahedron index="12515" v0="2243" v1="3505" v2="3807" v3="3858" />
+ <tetrahedron index="12516" v0="2380" v1="2383" v2="2607" v3="3995" />
+ <tetrahedron index="12517" v0="2383" v1="2607" v2="3995" v3="3998" />
+ <tetrahedron index="12518" v0="2607" v1="3995" v2="3998" v3="4222" />
+ <tetrahedron index="12519" v0="2185" v1="2257" v2="2458" v3="3800" />
+ <tetrahedron index="12520" v0="2257" v1="2458" v2="3800" v3="3872" />
+ <tetrahedron index="12521" v0="2458" v1="3800" v2="3872" v3="4073" />
+ <tetrahedron index="12522" v0="2185" v1="2458" v2="2553" v3="3800" />
+ <tetrahedron index="12523" v0="2458" v1="2553" v2="3800" v3="4073" />
+ <tetrahedron index="12524" v0="2553" v1="3800" v2="4073" v3="4168" />
+ <tetrahedron index="12525" v0="2104" v1="2105" v2="2285" v3="3719" />
+ <tetrahedron index="12526" v0="2105" v1="2285" v2="3719" v3="3720" />
+ <tetrahedron index="12527" v0="2285" v1="3719" v2="3720" v3="3900" />
+ <tetrahedron index="12528" v0="2478" v1="2479" v2="2608" v3="4093" />
+ <tetrahedron index="12529" v0="2479" v1="2608" v2="4093" v3="4094" />
+ <tetrahedron index="12530" v0="2608" v1="4093" v2="4094" v3="4223" />
+ <tetrahedron index="12531" v0="2478" v1="2608" v2="2609" v3="4093" />
+ <tetrahedron index="12532" v0="2608" v1="2609" v2="4093" v3="4223" />
+ <tetrahedron index="12533" v0="2609" v1="4093" v2="4223" v3="4224" />
+ <tetrahedron index="12534" v0="2396" v1="2422" v2="2459" v3="4011" />
+ <tetrahedron index="12535" v0="2422" v1="2459" v2="4011" v3="4037" />
+ <tetrahedron index="12536" v0="2459" v1="4011" v2="4037" v3="4074" />
+ <tetrahedron index="12537" v0="2396" v1="2398" v2="2422" v3="4011" />
+ <tetrahedron index="12538" v0="2398" v1="2422" v2="4011" v3="4013" />
+ <tetrahedron index="12539" v0="2422" v1="4011" v2="4013" v3="4037" />
+ <tetrahedron index="12540" v0="1911" v1="1912" v2="2177" v3="3526" />
+ <tetrahedron index="12541" v0="1912" v1="2177" v2="3526" v3="3527" />
+ <tetrahedron index="12542" v0="2177" v1="3526" v2="3527" v3="3792" />
+ <tetrahedron index="12543" v0="1660" v1="1911" v2="2177" v3="3275" />
+ <tetrahedron index="12544" v0="1911" v1="2177" v2="3275" v3="3526" />
+ <tetrahedron index="12545" v0="2177" v1="3275" v2="3526" v3="3792" />
+ <tetrahedron index="12546" v0="1894" v1="1896" v2="2610" v3="3509" />
+ <tetrahedron index="12547" v0="1896" v1="2610" v2="3509" v3="3511" />
+ <tetrahedron index="12548" v0="2610" v1="3509" v2="3511" v3="4225" />
+ <tetrahedron index="12549" v0="1896" v1="1898" v2="2610" v3="3511" />
+ <tetrahedron index="12550" v0="1898" v1="2610" v2="3511" v3="3513" />
+ <tetrahedron index="12551" v0="2610" v1="3511" v2="3513" v3="4225" />
+ <tetrahedron index="12552" v0="2369" v1="2370" v2="2404" v3="3984" />
+ <tetrahedron index="12553" v0="2370" v1="2404" v2="3984" v3="3985" />
+ <tetrahedron index="12554" v0="2404" v1="3984" v2="3985" v3="4019" />
+ <tetrahedron index="12555" v0="2356" v1="2370" v2="2404" v3="3971" />
+ <tetrahedron index="12556" v0="2370" v1="2404" v2="3971" v3="3985" />
+ <tetrahedron index="12557" v0="2404" v1="3971" v2="3985" v3="4019" />
+ <tetrahedron index="12558" v0="2108" v1="2559" v2="2611" v3="3723" />
+ <tetrahedron index="12559" v0="2559" v1="2611" v2="3723" v3="4174" />
+ <tetrahedron index="12560" v0="2611" v1="3723" v2="4174" v3="4226" />
+ <tetrahedron index="12561" v0="2108" v1="2248" v2="2611" v3="3723" />
+ <tetrahedron index="12562" v0="2248" v1="2611" v2="3723" v3="3863" />
+ <tetrahedron index="12563" v0="2611" v1="3723" v2="3863" v3="4226" />
+ <tetrahedron index="12564" v0="2018" v1="2041" v2="2612" v3="3633" />
+ <tetrahedron index="12565" v0="2041" v1="2612" v2="3633" v3="3656" />
+ <tetrahedron index="12566" v0="2612" v1="3633" v2="3656" v3="4227" />
+ <tetrahedron index="12567" v0="1717" v1="2018" v2="2612" v3="3332" />
+ <tetrahedron index="12568" v0="2018" v1="2612" v2="3332" v3="3633" />
+ <tetrahedron index="12569" v0="2612" v1="3332" v2="3633" v3="4227" />
+ <tetrahedron index="12570" v0="2093" v1="2509" v2="2613" v3="3708" />
+ <tetrahedron index="12571" v0="2509" v1="2613" v2="3708" v3="4124" />
+ <tetrahedron index="12572" v0="2613" v1="3708" v2="4124" v3="4228" />
+ <tetrahedron index="12573" v0="1799" v1="1909" v2="2465" v3="3414" />
+ <tetrahedron index="12574" v0="1909" v1="2465" v2="3414" v3="3524" />
+ <tetrahedron index="12575" v0="2465" v1="3414" v2="3524" v3="4080" />
+ <tetrahedron index="12576" v0="1623" v1="1930" v2="2614" v3="3238" />
+ <tetrahedron index="12577" v0="1930" v1="2614" v2="3238" v3="3545" />
+ <tetrahedron index="12578" v0="2614" v1="3238" v2="3545" v3="4229" />
+ <tetrahedron index="12579" v0="1948" v1="1950" v2="2615" v3="3563" />
+ <tetrahedron index="12580" v0="1950" v1="2615" v2="3563" v3="3565" />
+ <tetrahedron index="12581" v0="2615" v1="3563" v2="3565" v3="4230" />
+ <tetrahedron index="12582" v0="1781" v1="2314" v2="2616" v3="3396" />
+ <tetrahedron index="12583" v0="2314" v1="2616" v2="3396" v3="3929" />
+ <tetrahedron index="12584" v0="2616" v1="3396" v2="3929" v3="4231" />
+ <tetrahedron index="12585" v0="2178" v1="2202" v2="2617" v3="3793" />
+ <tetrahedron index="12586" v0="2202" v1="2617" v2="3793" v3="3817" />
+ <tetrahedron index="12587" v0="2617" v1="3793" v2="3817" v3="4232" />
+ <tetrahedron index="12588" v0="2145" v1="2146" v2="2618" v3="3760" />
+ <tetrahedron index="12589" v0="2146" v1="2618" v2="3760" v3="3761" />
+ <tetrahedron index="12590" v0="2618" v1="3760" v2="3761" v3="4233" />
+ <tetrahedron index="12591" v0="2146" v1="2336" v2="2618" v3="3761" />
+ <tetrahedron index="12592" v0="2336" v1="2618" v2="3761" v3="3951" />
+ <tetrahedron index="12593" v0="2618" v1="3761" v2="3951" v3="4233" />
+ <tetrahedron index="12594" v0="1705" v1="2469" v2="2619" v3="3320" />
+ <tetrahedron index="12595" v0="2469" v1="2619" v2="3320" v3="4084" />
+ <tetrahedron index="12596" v0="2619" v1="3320" v2="4084" v3="4234" />
+ <tetrahedron index="12597" v0="2275" v1="2534" v2="2585" v3="3890" />
+ <tetrahedron index="12598" v0="2534" v1="2585" v2="3890" v3="4149" />
+ <tetrahedron index="12599" v0="2585" v1="3890" v2="4149" v3="4200" />
+ <tetrahedron index="12600" v0="1622" v1="1859" v2="2620" v3="3237" />
+ <tetrahedron index="12601" v0="1859" v1="2620" v2="3237" v3="3474" />
+ <tetrahedron index="12602" v0="2620" v1="3237" v2="3474" v3="4235" />
+ <tetrahedron index="12603" v0="1622" v1="2620" v2="2621" v3="3237" />
+ <tetrahedron index="12604" v0="2620" v1="2621" v2="3237" v3="4235" />
+ <tetrahedron index="12605" v0="2621" v1="3237" v2="4235" v3="4236" />
+ <tetrahedron index="12606" v0="2558" v1="2622" v2="2623" v3="4173" />
+ <tetrahedron index="12607" v0="2622" v1="2623" v2="4173" v3="4237" />
+ <tetrahedron index="12608" v0="2623" v1="4173" v2="4237" v3="4238" />
+ <tetrahedron index="12609" v0="2622" v1="2623" v2="2624" v3="4237" />
+ <tetrahedron index="12610" v0="2623" v1="2624" v2="4237" v3="4238" />
+ <tetrahedron index="12611" v0="2624" v1="4237" v2="4238" v3="4239" />
+ <tetrahedron index="12612" v0="2062" v1="2063" v2="2587" v3="3677" />
+ <tetrahedron index="12613" v0="2063" v1="2587" v2="3677" v3="3678" />
+ <tetrahedron index="12614" v0="2587" v1="3677" v2="3678" v3="4202" />
+ <tetrahedron index="12615" v0="2235" v1="2383" v2="2625" v3="3850" />
+ <tetrahedron index="12616" v0="2383" v1="2625" v2="3850" v3="3998" />
+ <tetrahedron index="12617" v0="2625" v1="3850" v2="3998" v3="4240" />
+ <tetrahedron index="12618" v0="2106" v1="2254" v2="2626" v3="3721" />
+ <tetrahedron index="12619" v0="2254" v1="2626" v2="3721" v3="3869" />
+ <tetrahedron index="12620" v0="2626" v1="3721" v2="3869" v3="4241" />
+ <tetrahedron index="12621" v0="2101" v1="2254" v2="2626" v3="3716" />
+ <tetrahedron index="12622" v0="2254" v1="2626" v2="3716" v3="3869" />
+ <tetrahedron index="12623" v0="2626" v1="3716" v2="3869" v3="4241" />
+ <tetrahedron index="12624" v0="2078" v1="2581" v2="2627" v3="3693" />
+ <tetrahedron index="12625" v0="2581" v1="2627" v2="3693" v3="4196" />
+ <tetrahedron index="12626" v0="2627" v1="3693" v2="4196" v3="4242" />
+ <tetrahedron index="12627" v0="2496" v1="2628" v2="2629" v3="4111" />
+ <tetrahedron index="12628" v0="2628" v1="2629" v2="4111" v3="4243" />
+ <tetrahedron index="12629" v0="2629" v1="4111" v2="4243" v3="4244" />
+ <tetrahedron index="12630" v0="2342" v1="2568" v2="2630" v3="3957" />
+ <tetrahedron index="12631" v0="2568" v1="2630" v2="3957" v3="4183" />
+ <tetrahedron index="12632" v0="2630" v1="3957" v2="4183" v3="4245" />
+ <tetrahedron index="12633" v0="2631" v1="2632" v2="2633" v3="4246" />
+ <tetrahedron index="12634" v0="2632" v1="2633" v2="4246" v3="4247" />
+ <tetrahedron index="12635" v0="2633" v1="4246" v2="4247" v3="4248" />
+ <tetrahedron index="12636" v0="2455" v1="2632" v2="2633" v3="4070" />
+ <tetrahedron index="12637" v0="2632" v1="2633" v2="4070" v3="4247" />
+ <tetrahedron index="12638" v0="2633" v1="4070" v2="4247" v3="4248" />
+ <tetrahedron index="12639" v0="2275" v1="2276" v2="2634" v3="3890" />
+ <tetrahedron index="12640" v0="2276" v1="2634" v2="3890" v3="3891" />
+ <tetrahedron index="12641" v0="2634" v1="3890" v2="3891" v3="4249" />
+ <tetrahedron index="12642" v0="2168" v1="2498" v2="2635" v3="3783" />
+ <tetrahedron index="12643" v0="2498" v1="2635" v2="3783" v3="4113" />
+ <tetrahedron index="12644" v0="2635" v1="3783" v2="4113" v3="4250" />
+ <tetrahedron index="12645" v0="2164" v1="2168" v2="2635" v3="3779" />
+ <tetrahedron index="12646" v0="2168" v1="2635" v2="3779" v3="3783" />
+ <tetrahedron index="12647" v0="2635" v1="3779" v2="3783" v3="4250" />
+ <tetrahedron index="12648" v0="2636" v1="2637" v2="2638" v3="4251" />
+ <tetrahedron index="12649" v0="2637" v1="2638" v2="4251" v3="4252" />
+ <tetrahedron index="12650" v0="2638" v1="4251" v2="4252" v3="4253" />
+ <tetrahedron index="12651" v0="2637" v1="2638" v2="2639" v3="4252" />
+ <tetrahedron index="12652" v0="2638" v1="2639" v2="4252" v3="4253" />
+ <tetrahedron index="12653" v0="2639" v1="4252" v2="4253" v3="4254" />
+ <tetrahedron index="12654" v0="2375" v1="2515" v2="2640" v3="3990" />
+ <tetrahedron index="12655" v0="2515" v1="2640" v2="3990" v3="4130" />
+ <tetrahedron index="12656" v0="2640" v1="3990" v2="4130" v3="4255" />
+ <tetrahedron index="12657" v0="1823" v1="2120" v2="2641" v3="3438" />
+ <tetrahedron index="12658" v0="2120" v1="2641" v2="3438" v3="3735" />
+ <tetrahedron index="12659" v0="2641" v1="3438" v2="3735" v3="4256" />
+ <tetrahedron index="12660" v0="2475" v1="2642" v2="2643" v3="4090" />
+ <tetrahedron index="12661" v0="2642" v1="2643" v2="4090" v3="4257" />
+ <tetrahedron index="12662" v0="2643" v1="4090" v2="4257" v3="4258" />
+ <tetrahedron index="12663" v0="1701" v1="1702" v2="2644" v3="3316" />
+ <tetrahedron index="12664" v0="1702" v1="2644" v2="3316" v3="3317" />
+ <tetrahedron index="12665" v0="2644" v1="3316" v2="3317" v3="4259" />
+ <tetrahedron index="12666" v0="1702" v1="1945" v2="2644" v3="3317" />
+ <tetrahedron index="12667" v0="1945" v1="2644" v2="3317" v3="3560" />
+ <tetrahedron index="12668" v0="2644" v1="3317" v2="3560" v3="4259" />
+ <tetrahedron index="12669" v0="1952" v1="2305" v2="2645" v3="3567" />
+ <tetrahedron index="12670" v0="2305" v1="2645" v2="3567" v3="3920" />
+ <tetrahedron index="12671" v0="2645" v1="3567" v2="3920" v3="4260" />
+ <tetrahedron index="12672" v0="2362" v1="2586" v2="2646" v3="3977" />
+ <tetrahedron index="12673" v0="2586" v1="2646" v2="3977" v3="4201" />
+ <tetrahedron index="12674" v0="2646" v1="3977" v2="4201" v3="4261" />
+ <tetrahedron index="12675" v0="1855" v1="2003" v2="2647" v3="3470" />
+ <tetrahedron index="12676" v0="2003" v1="2647" v2="3470" v3="3618" />
+ <tetrahedron index="12677" v0="2647" v1="3470" v2="3618" v3="4262" />
+ <tetrahedron index="12678" v0="1750" v1="1751" v2="2486" v3="3365" />
+ <tetrahedron index="12679" v0="1751" v1="2486" v2="3365" v3="3366" />
+ <tetrahedron index="12680" v0="2486" v1="3365" v2="3366" v3="4101" />
+ <tetrahedron index="12681" v0="1784" v1="2355" v2="2368" v3="3399" />
+ <tetrahedron index="12682" v0="2355" v1="2368" v2="3399" v3="3970" />
+ <tetrahedron index="12683" v0="2368" v1="3399" v2="3970" v3="3983" />
+ <tetrahedron index="12684" v0="1798" v1="2341" v2="2648" v3="3413" />
+ <tetrahedron index="12685" v0="2341" v1="2648" v2="3413" v3="3956" />
+ <tetrahedron index="12686" v0="2648" v1="3413" v2="3956" v3="4263" />
+ <tetrahedron index="12687" v0="1798" v1="1881" v2="2648" v3="3413" />
+ <tetrahedron index="12688" v0="1881" v1="2648" v2="3413" v3="3496" />
+ <tetrahedron index="12689" v0="2648" v1="3413" v2="3496" v3="4263" />
+ <tetrahedron index="12690" v0="2531" v1="2636" v2="2649" v3="4146" />
+ <tetrahedron index="12691" v0="2636" v1="2649" v2="4146" v3="4251" />
+ <tetrahedron index="12692" v0="2649" v1="4146" v2="4251" v3="4264" />
+ <tetrahedron index="12693" v0="1718" v1="1719" v2="2650" v3="3333" />
+ <tetrahedron index="12694" v0="1719" v1="2650" v2="3333" v3="3334" />
+ <tetrahedron index="12695" v0="2650" v1="3333" v2="3334" v3="4265" />
+ <tetrahedron index="12696" v0="2651" v1="2652" v2="2653" v3="4266" />
+ <tetrahedron index="12697" v0="2652" v1="2653" v2="4266" v3="4267" />
+ <tetrahedron index="12698" v0="2653" v1="4266" v2="4267" v3="4268" />
+ <tetrahedron index="12699" v0="2043" v1="2494" v2="2654" v3="3658" />
+ <tetrahedron index="12700" v0="2494" v1="2654" v2="3658" v3="4109" />
+ <tetrahedron index="12701" v0="2654" v1="3658" v2="4109" v3="4269" />
+ <tetrahedron index="12702" v0="2367" v1="2655" v2="2656" v3="3982" />
+ <tetrahedron index="12703" v0="2655" v1="2656" v2="3982" v3="4270" />
+ <tetrahedron index="12704" v0="2656" v1="3982" v2="4270" v3="4271" />
+ <tetrahedron index="12705" v0="2563" v1="2564" v2="2657" v3="4178" />
+ <tetrahedron index="12706" v0="2564" v1="2657" v2="4178" v3="4179" />
+ <tetrahedron index="12707" v0="2657" v1="4178" v2="4179" v3="4272" />
+ <tetrahedron index="12708" v0="2509" v1="2511" v2="2658" v3="4124" />
+ <tetrahedron index="12709" v0="2511" v1="2658" v2="4124" v3="4126" />
+ <tetrahedron index="12710" v0="2658" v1="4124" v2="4126" v3="4273" />
+ <tetrahedron index="12711" v0="2265" v1="2509" v2="2658" v3="3880" />
+ <tetrahedron index="12712" v0="2509" v1="2658" v2="3880" v3="4124" />
+ <tetrahedron index="12713" v0="2658" v1="3880" v2="4124" v3="4273" />
+ <tetrahedron index="12714" v0="1802" v1="1955" v2="2659" v3="3417" />
+ <tetrahedron index="12715" v0="1955" v1="2659" v2="3417" v3="3570" />
+ <tetrahedron index="12716" v0="2659" v1="3417" v2="3570" v3="4274" />
+ <tetrahedron index="12717" v0="1966" v1="1968" v2="2660" v3="3581" />
+ <tetrahedron index="12718" v0="1968" v1="2660" v2="3581" v3="3583" />
+ <tetrahedron index="12719" v0="2660" v1="3581" v2="3583" v3="4275" />
+ <tetrahedron index="12720" v0="2406" v1="2661" v2="2662" v3="4021" />
+ <tetrahedron index="12721" v0="2661" v1="2662" v2="4021" v3="4276" />
+ <tetrahedron index="12722" v0="2662" v1="4021" v2="4276" v3="4277" />
+ <tetrahedron index="12723" v0="1905" v1="2570" v2="2663" v3="3520" />
+ <tetrahedron index="12724" v0="2570" v1="2663" v2="3520" v3="4185" />
+ <tetrahedron index="12725" v0="2663" v1="3520" v2="4185" v3="4278" />
+ <tetrahedron index="12726" v0="2570" v1="2663" v2="2664" v3="4185" />
+ <tetrahedron index="12727" v0="2663" v1="2664" v2="4185" v3="4278" />
+ <tetrahedron index="12728" v0="2664" v1="4185" v2="4278" v3="4279" />
+ <tetrahedron index="12729" v0="2636" v1="2665" v2="2666" v3="4251" />
+ <tetrahedron index="12730" v0="2665" v1="2666" v2="4251" v3="4280" />
+ <tetrahedron index="12731" v0="2666" v1="4251" v2="4280" v3="4281" />
+ <tetrahedron index="12732" v0="2636" v1="2649" v2="2666" v3="4251" />
+ <tetrahedron index="12733" v0="2649" v1="2666" v2="4251" v3="4264" />
+ <tetrahedron index="12734" v0="2666" v1="4251" v2="4264" v3="4281" />
+ <tetrahedron index="12735" v0="2455" v1="2633" v2="2667" v3="4070" />
+ <tetrahedron index="12736" v0="2633" v1="2667" v2="4070" v3="4248" />
+ <tetrahedron index="12737" v0="2667" v1="4070" v2="4248" v3="4282" />
+ <tetrahedron index="12738" v0="1916" v1="2000" v2="2668" v3="3531" />
+ <tetrahedron index="12739" v0="2000" v1="2668" v2="3531" v3="3615" />
+ <tetrahedron index="12740" v0="2668" v1="3531" v2="3615" v3="4283" />
+ <tetrahedron index="12741" v0="2000" v1="2373" v2="2668" v3="3615" />
+ <tetrahedron index="12742" v0="2373" v1="2668" v2="3615" v3="3988" />
+ <tetrahedron index="12743" v0="2668" v1="3615" v2="3988" v3="4283" />
+ <tetrahedron index="12744" v0="2019" v1="2364" v2="2592" v3="3634" />
+ <tetrahedron index="12745" v0="2364" v1="2592" v2="3634" v3="3979" />
+ <tetrahedron index="12746" v0="2592" v1="3634" v2="3979" v3="4207" />
+ <tetrahedron index="12747" v0="1968" v1="2270" v2="2593" v3="3583" />
+ <tetrahedron index="12748" v0="2270" v1="2593" v2="3583" v3="3885" />
+ <tetrahedron index="12749" v0="2593" v1="3583" v2="3885" v3="4208" />
+ <tetrahedron index="12750" v0="2361" v1="2362" v2="2669" v3="3976" />
+ <tetrahedron index="12751" v0="2362" v1="2669" v2="3976" v3="3977" />
+ <tetrahedron index="12752" v0="2669" v1="3976" v2="3977" v3="4284" />
+ <tetrahedron index="12753" v0="2362" v1="2645" v2="2669" v3="3977" />
+ <tetrahedron index="12754" v0="2645" v1="2669" v2="3977" v3="4260" />
+ <tetrahedron index="12755" v0="2669" v1="3977" v2="4260" v3="4284" />
+ <tetrahedron index="12756" v0="2290" v1="2670" v2="2671" v3="3905" />
+ <tetrahedron index="12757" v0="2670" v1="2671" v2="3905" v3="4285" />
+ <tetrahedron index="12758" v0="2671" v1="3905" v2="4285" v3="4286" />
+ <tetrahedron index="12759" v0="2449" v1="2568" v2="2597" v3="4064" />
+ <tetrahedron index="12760" v0="2568" v1="2597" v2="4064" v3="4183" />
+ <tetrahedron index="12761" v0="2597" v1="4064" v2="4183" v3="4212" />
+ <tetrahedron index="12762" v0="2217" v1="2672" v2="2673" v3="3832" />
+ <tetrahedron index="12763" v0="2672" v1="2673" v2="3832" v3="4287" />
+ <tetrahedron index="12764" v0="2673" v1="3832" v2="4287" v3="4288" />
+ <tetrahedron index="12765" v0="2459" v1="2460" v2="2674" v3="4074" />
+ <tetrahedron index="12766" v0="2460" v1="2674" v2="4074" v3="4075" />
+ <tetrahedron index="12767" v0="2674" v1="4074" v2="4075" v3="4289" />
+ <tetrahedron index="12768" v0="2103" v1="2460" v2="2674" v3="3718" />
+ <tetrahedron index="12769" v0="2460" v1="2674" v2="3718" v3="4075" />
+ <tetrahedron index="12770" v0="2674" v1="3718" v2="4075" v3="4289" />
+ <tetrahedron index="12771" v0="1789" v1="1791" v2="2625" v3="3404" />
+ <tetrahedron index="12772" v0="1791" v1="2625" v2="3404" v3="3406" />
+ <tetrahedron index="12773" v0="2625" v1="3404" v2="3406" v3="4240" />
+ <tetrahedron index="12774" v0="1755" v1="1933" v2="2415" v3="3370" />
+ <tetrahedron index="12775" v0="1933" v1="2415" v2="3370" v3="3548" />
+ <tetrahedron index="12776" v0="2415" v1="3370" v2="3548" v3="4030" />
+ <tetrahedron index="12777" v0="1925" v1="2118" v2="2580" v3="3540" />
+ <tetrahedron index="12778" v0="2118" v1="2580" v2="3540" v3="3733" />
+ <tetrahedron index="12779" v0="2580" v1="3540" v2="3733" v3="4195" />
+ <tetrahedron index="12780" v0="2118" v1="2401" v2="2580" v3="3733" />
+ <tetrahedron index="12781" v0="2401" v1="2580" v2="3733" v3="4016" />
+ <tetrahedron index="12782" v0="2580" v1="3733" v2="4016" v3="4195" />
+ <tetrahedron index="12783" v0="1676" v1="2142" v2="2390" v3="3291" />
+ <tetrahedron index="12784" v0="2142" v1="2390" v2="3291" v3="3757" />
+ <tetrahedron index="12785" v0="2390" v1="3291" v2="3757" v3="4005" />
+ <tetrahedron index="12786" v0="2092" v1="2093" v2="2613" v3="3707" />
+ <tetrahedron index="12787" v0="2093" v1="2613" v2="3707" v3="3708" />
+ <tetrahedron index="12788" v0="2613" v1="3707" v2="3708" v3="4228" />
+ <tetrahedron index="12789" v0="1734" v1="1736" v2="2675" v3="3349" />
+ <tetrahedron index="12790" v0="1736" v1="2675" v2="3349" v3="3351" />
+ <tetrahedron index="12791" v0="2675" v1="3349" v2="3351" v3="4290" />
+ <tetrahedron index="12792" v0="1734" v1="1741" v2="2675" v3="3349" />
+ <tetrahedron index="12793" v0="1741" v1="2675" v2="3349" v3="3356" />
+ <tetrahedron index="12794" v0="2675" v1="3349" v2="3356" v3="4290" />
+ <tetrahedron index="12795" v0="1831" v1="2078" v2="2627" v3="3446" />
+ <tetrahedron index="12796" v0="2078" v1="2627" v2="3446" v3="3693" />
+ <tetrahedron index="12797" v0="2627" v1="3446" v2="3693" v3="4242" />
+ <tetrahedron index="12798" v0="2200" v1="2676" v2="2677" v3="3815" />
+ <tetrahedron index="12799" v0="2676" v1="2677" v2="3815" v3="4291" />
+ <tetrahedron index="12800" v0="2677" v1="3815" v2="4291" v3="4292" />
+ <tetrahedron index="12801" v0="1950" v1="2094" v2="2615" v3="3565" />
+ <tetrahedron index="12802" v0="2094" v1="2615" v2="3565" v3="3709" />
+ <tetrahedron index="12803" v0="2615" v1="3565" v2="3709" v3="4230" />
+ <tetrahedron index="12804" v0="1693" v1="2011" v2="2083" v3="3308" />
+ <tetrahedron index="12805" v0="2011" v1="2083" v2="3308" v3="3626" />
+ <tetrahedron index="12806" v0="2083" v1="3308" v2="3626" v3="3698" />
+ <tetrahedron index="12807" v0="1691" v1="1693" v2="2083" v3="3306" />
+ <tetrahedron index="12808" v0="1693" v1="2083" v2="3306" v3="3308" />
+ <tetrahedron index="12809" v0="2083" v1="3306" v2="3308" v3="3698" />
+ <tetrahedron index="12810" v0="1951" v1="1954" v2="2516" v3="3566" />
+ <tetrahedron index="12811" v0="1954" v1="2516" v2="3566" v3="3569" />
+ <tetrahedron index="12812" v0="2516" v1="3566" v2="3569" v3="4131" />
+ <tetrahedron index="12813" v0="1954" v1="2516" v2="2678" v3="3569" />
+ <tetrahedron index="12814" v0="2516" v1="2678" v2="3569" v3="4131" />
+ <tetrahedron index="12815" v0="2678" v1="3569" v2="4131" v3="4293" />
+ <tetrahedron index="12816" v0="2126" v1="2390" v2="2618" v3="3741" />
+ <tetrahedron index="12817" v0="2390" v1="2618" v2="3741" v3="4005" />
+ <tetrahedron index="12818" v0="2618" v1="3741" v2="4005" v3="4233" />
+ <tetrahedron index="12819" v0="1892" v1="2006" v2="2365" v3="3507" />
+ <tetrahedron index="12820" v0="2006" v1="2365" v2="3507" v3="3621" />
+ <tetrahedron index="12821" v0="2365" v1="3507" v2="3621" v3="3980" />
+ <tetrahedron index="12822" v0="2006" v1="2365" v2="2377" v3="3621" />
+ <tetrahedron index="12823" v0="2365" v1="2377" v2="3621" v3="3980" />
+ <tetrahedron index="12824" v0="2377" v1="3621" v2="3980" v3="3992" />
+ <tetrahedron index="12825" v0="2103" v1="2104" v2="2674" v3="3718" />
+ <tetrahedron index="12826" v0="2104" v1="2674" v2="3718" v3="3719" />
+ <tetrahedron index="12827" v0="2674" v1="3718" v2="3719" v3="4289" />
+ <tetrahedron index="12828" v0="2471" v1="2521" v2="2679" v3="4086" />
+ <tetrahedron index="12829" v0="2521" v1="2679" v2="4086" v3="4136" />
+ <tetrahedron index="12830" v0="2679" v1="4086" v2="4136" v3="4294" />
+ <tetrahedron index="12831" v0="2521" v1="2522" v2="2679" v3="4136" />
+ <tetrahedron index="12832" v0="2522" v1="2679" v2="4136" v3="4137" />
+ <tetrahedron index="12833" v0="2679" v1="4136" v2="4137" v3="4294" />
+ <tetrahedron index="12834" v0="2643" v1="2680" v2="2681" v3="4258" />
+ <tetrahedron index="12835" v0="2680" v1="2681" v2="4258" v3="4295" />
+ <tetrahedron index="12836" v0="2681" v1="4258" v2="4295" v3="4296" />
+ <tetrahedron index="12837" v0="2642" v1="2643" v2="2681" v3="4257" />
+ <tetrahedron index="12838" v0="2643" v1="2681" v2="4257" v3="4258" />
+ <tetrahedron index="12839" v0="2681" v1="4257" v2="4258" v3="4296" />
+ <tetrahedron index="12840" v0="1976" v1="2682" v2="2683" v3="3591" />
+ <tetrahedron index="12841" v0="2682" v1="2683" v2="3591" v3="4297" />
+ <tetrahedron index="12842" v0="2683" v1="3591" v2="4297" v3="4298" />
+ <tetrahedron index="12843" v0="2430" v1="2534" v2="2585" v3="4045" />
+ <tetrahedron index="12844" v0="2534" v1="2585" v2="4045" v3="4149" />
+ <tetrahedron index="12845" v0="2585" v1="4045" v2="4149" v3="4200" />
+ <tetrahedron index="12846" v0="2429" v1="2430" v2="2585" v3="4044" />
+ <tetrahedron index="12847" v0="2430" v1="2585" v2="4044" v3="4045" />
+ <tetrahedron index="12848" v0="2585" v1="4044" v2="4045" v3="4200" />
+ <tetrahedron index="12849" v0="2043" v1="2045" v2="2531" v3="3658" />
+ <tetrahedron index="12850" v0="2045" v1="2531" v2="3658" v3="3660" />
+ <tetrahedron index="12851" v0="2531" v1="3658" v2="3660" v3="4146" />
+ <tetrahedron index="12852" v0="2043" v1="2531" v2="2649" v3="3658" />
+ <tetrahedron index="12853" v0="2531" v1="2649" v2="3658" v3="4146" />
+ <tetrahedron index="12854" v0="2649" v1="3658" v2="4146" v3="4264" />
+ <tetrahedron index="12855" v0="2356" v1="2370" v2="2684" v3="3971" />
+ <tetrahedron index="12856" v0="2370" v1="2684" v2="3971" v3="3985" />
+ <tetrahedron index="12857" v0="2684" v1="3971" v2="3985" v3="4299" />
+ <tetrahedron index="12858" v0="2288" v1="2370" v2="2684" v3="3903" />
+ <tetrahedron index="12859" v0="2370" v1="2684" v2="3903" v3="3985" />
+ <tetrahedron index="12860" v0="2684" v1="3903" v2="3985" v3="4299" />
+ <tetrahedron index="12861" v0="1859" v1="2591" v2="2620" v3="3474" />
+ <tetrahedron index="12862" v0="2591" v1="2620" v2="3474" v3="4206" />
+ <tetrahedron index="12863" v0="2620" v1="3474" v2="4206" v3="4235" />
+ <tetrahedron index="12864" v0="2218" v1="2312" v2="2685" v3="3833" />
+ <tetrahedron index="12865" v0="2312" v1="2685" v2="3833" v3="3927" />
+ <tetrahedron index="12866" v0="2685" v1="3833" v2="3927" v3="4300" />
+ <tetrahedron index="12867" v0="2218" v1="2313" v2="2685" v3="3833" />
+ <tetrahedron index="12868" v0="2313" v1="2685" v2="3833" v3="3928" />
+ <tetrahedron index="12869" v0="2685" v1="3833" v2="3928" v3="4300" />
+ <tetrahedron index="12870" v0="2032" v1="2249" v2="2274" v3="3647" />
+ <tetrahedron index="12871" v0="2249" v1="2274" v2="3647" v3="3864" />
+ <tetrahedron index="12872" v0="2274" v1="3647" v2="3864" v3="3889" />
+ <tetrahedron index="12873" v0="1843" v1="2094" v2="2209" v3="3458" />
+ <tetrahedron index="12874" v0="2094" v1="2209" v2="3458" v3="3709" />
+ <tetrahedron index="12875" v0="2209" v1="3458" v2="3709" v3="3824" />
+ <tetrahedron index="12876" v0="1950" v1="2094" v2="2209" v3="3565" />
+ <tetrahedron index="12877" v0="2094" v1="2209" v2="3565" v3="3709" />
+ <tetrahedron index="12878" v0="2209" v1="3565" v2="3709" v3="3824" />
+ <tetrahedron index="12879" v0="2543" v1="2558" v2="2622" v3="4158" />
+ <tetrahedron index="12880" v0="2558" v1="2622" v2="4158" v3="4173" />
+ <tetrahedron index="12881" v0="2622" v1="4158" v2="4173" v3="4237" />
+ <tetrahedron index="12882" v0="2543" v1="2545" v2="2622" v3="4158" />
+ <tetrahedron index="12883" v0="2545" v1="2622" v2="4158" v3="4160" />
+ <tetrahedron index="12884" v0="2622" v1="4158" v2="4160" v3="4237" />
+ <tetrahedron index="12885" v0="2359" v1="2360" v2="2686" v3="3974" />
+ <tetrahedron index="12886" v0="2360" v1="2686" v2="3974" v3="3975" />
+ <tetrahedron index="12887" v0="2686" v1="3974" v2="3975" v3="4301" />
+ <tetrahedron index="12888" v0="2360" v1="2686" v2="2687" v3="3975" />
+ <tetrahedron index="12889" v0="2686" v1="2687" v2="3975" v3="4301" />
+ <tetrahedron index="12890" v0="2687" v1="3975" v2="4301" v3="4302" />
+ <tetrahedron index="12891" v0="2149" v1="2271" v2="2589" v3="3764" />
+ <tetrahedron index="12892" v0="2271" v1="2589" v2="3764" v3="3886" />
+ <tetrahedron index="12893" v0="2589" v1="3764" v2="3886" v3="4204" />
+ <tetrahedron index="12894" v0="1714" v1="2149" v2="2589" v3="3329" />
+ <tetrahedron index="12895" v0="2149" v1="2589" v2="3329" v3="3764" />
+ <tetrahedron index="12896" v0="2589" v1="3329" v2="3764" v3="4204" />
+ <tetrahedron index="12897" v0="2099" v1="2237" v2="2383" v3="3714" />
+ <tetrahedron index="12898" v0="2237" v1="2383" v2="3714" v3="3852" />
+ <tetrahedron index="12899" v0="2383" v1="3714" v2="3852" v3="3998" />
+ <tetrahedron index="12900" v0="2235" v1="2237" v2="2383" v3="3850" />
+ <tetrahedron index="12901" v0="2237" v1="2383" v2="3850" v3="3852" />
+ <tetrahedron index="12902" v0="2383" v1="3850" v2="3852" v3="3998" />
+ <tetrahedron index="12903" v0="2106" v1="2626" v2="2648" v3="3721" />
+ <tetrahedron index="12904" v0="2626" v1="2648" v2="3721" v3="4241" />
+ <tetrahedron index="12905" v0="2648" v1="3721" v2="4241" v3="4263" />
+ <tetrahedron index="12906" v0="2341" v1="2626" v2="2648" v3="3956" />
+ <tetrahedron index="12907" v0="2626" v1="2648" v2="3956" v3="4241" />
+ <tetrahedron index="12908" v0="2648" v1="3956" v2="4241" v3="4263" />
+ <tetrahedron index="12909" v0="2155" v1="2492" v2="2520" v3="3770" />
+ <tetrahedron index="12910" v0="2492" v1="2520" v2="3770" v3="4107" />
+ <tetrahedron index="12911" v0="2520" v1="3770" v2="4107" v3="4135" />
+ <tetrahedron index="12912" v0="2455" v1="2457" v2="2667" v3="4070" />
+ <tetrahedron index="12913" v0="2457" v1="2667" v2="4070" v3="4072" />
+ <tetrahedron index="12914" v0="2667" v1="4070" v2="4072" v3="4282" />
+ <tetrahedron index="12915" v0="1812" v1="2590" v2="2688" v3="3427" />
+ <tetrahedron index="12916" v0="2590" v1="2688" v2="3427" v3="4205" />
+ <tetrahedron index="12917" v0="2688" v1="3427" v2="4205" v3="4303" />
+ <tetrahedron index="12918" v0="1832" v1="2342" v2="2630" v3="3447" />
+ <tetrahedron index="12919" v0="2342" v1="2630" v2="3447" v3="3957" />
+ <tetrahedron index="12920" v0="2630" v1="3447" v2="3957" v3="4245" />
+ <tetrahedron index="12921" v0="1832" v1="1834" v2="2630" v3="3447" />
+ <tetrahedron index="12922" v0="1834" v1="2630" v2="3447" v3="3449" />
+ <tetrahedron index="12923" v0="2630" v1="3447" v2="3449" v3="4245" />
+ <tetrahedron index="12924" v0="2564" v1="2631" v2="2632" v3="4179" />
+ <tetrahedron index="12925" v0="2631" v1="2632" v2="4179" v3="4246" />
+ <tetrahedron index="12926" v0="2632" v1="4179" v2="4246" v3="4247" />
+ <tetrahedron index="12927" v0="2564" v1="2632" v2="2657" v3="4179" />
+ <tetrahedron index="12928" v0="2632" v1="2657" v2="4179" v3="4247" />
+ <tetrahedron index="12929" v0="2657" v1="4179" v2="4247" v3="4272" />
+ <tetrahedron index="12930" v0="2275" v1="2629" v2="2634" v3="3890" />
+ <tetrahedron index="12931" v0="2629" v1="2634" v2="3890" v3="4244" />
+ <tetrahedron index="12932" v0="2634" v1="3890" v2="4244" v3="4249" />
+ <tetrahedron index="12933" v0="2634" v1="2689" v2="2690" v3="4249" />
+ <tetrahedron index="12934" v0="2689" v1="2690" v2="4249" v3="4304" />
+ <tetrahedron index="12935" v0="2690" v1="4249" v2="4304" v3="4305" />
+ <tetrahedron index="12936" v0="1930" v1="1931" v2="2181" v3="3545" />
+ <tetrahedron index="12937" v0="1931" v1="2181" v2="3545" v3="3546" />
+ <tetrahedron index="12938" v0="2181" v1="3545" v2="3546" v3="3796" />
+ <tetrahedron index="12939" v0="1930" v1="2181" v2="2614" v3="3545" />
+ <tetrahedron index="12940" v0="2181" v1="2614" v2="3545" v3="3796" />
+ <tetrahedron index="12941" v0="2614" v1="3545" v2="3796" v3="4229" />
+ <tetrahedron index="12942" v0="2341" v1="2626" v2="2691" v3="3956" />
+ <tetrahedron index="12943" v0="2626" v1="2691" v2="3956" v3="4241" />
+ <tetrahedron index="12944" v0="2691" v1="3956" v2="4241" v3="4306" />
+ <tetrahedron index="12945" v0="2101" v1="2379" v2="2626" v3="3716" />
+ <tetrahedron index="12946" v0="2379" v1="2626" v2="3716" v3="3994" />
+ <tetrahedron index="12947" v0="2626" v1="3716" v2="3994" v3="4241" />
+ <tetrahedron index="12948" v0="2471" v1="2472" v2="2692" v3="4086" />
+ <tetrahedron index="12949" v0="2472" v1="2692" v2="4086" v3="4087" />
+ <tetrahedron index="12950" v0="2692" v1="4086" v2="4087" v3="4307" />
+ <tetrahedron index="12951" v0="1726" v1="1858" v2="2592" v3="3341" />
+ <tetrahedron index="12952" v0="1858" v1="2592" v2="3341" v3="3473" />
+ <tetrahedron index="12953" v0="2592" v1="3341" v2="3473" v3="4207" />
+ <tetrahedron index="12954" v0="1858" v1="2019" v2="2592" v3="3473" />
+ <tetrahedron index="12955" v0="2019" v1="2592" v2="3473" v3="3634" />
+ <tetrahedron index="12956" v0="2592" v1="3473" v2="3634" v3="4207" />
+ <tetrahedron index="12957" v0="2498" v1="2635" v2="2693" v3="4113" />
+ <tetrahedron index="12958" v0="2635" v1="2693" v2="4113" v3="4250" />
+ <tetrahedron index="12959" v0="2693" v1="4113" v2="4250" v3="4308" />
+ <tetrahedron index="12960" v0="2367" v1="2576" v2="2656" v3="3982" />
+ <tetrahedron index="12961" v0="2576" v1="2656" v2="3982" v3="4191" />
+ <tetrahedron index="12962" v0="2656" v1="3982" v2="4191" v3="4271" />
+ <tetrahedron index="12963" v0="1940" v1="2463" v2="2514" v3="3555" />
+ <tetrahedron index="12964" v0="2463" v1="2514" v2="3555" v3="4078" />
+ <tetrahedron index="12965" v0="2514" v1="3555" v2="4078" v3="4129" />
+ <tetrahedron index="12966" v0="1834" v1="1940" v2="2514" v3="3449" />
+ <tetrahedron index="12967" v0="1940" v1="2514" v2="3449" v3="3555" />
+ <tetrahedron index="12968" v0="2514" v1="3449" v2="3555" v3="4129" />
+ <tetrahedron index="12969" v0="2531" v1="2636" v2="2637" v3="4146" />
+ <tetrahedron index="12970" v0="2636" v1="2637" v2="4146" v3="4251" />
+ <tetrahedron index="12971" v0="2637" v1="4146" v2="4251" v3="4252" />
+ <tetrahedron index="12972" v0="2531" v1="2532" v2="2637" v3="4146" />
+ <tetrahedron index="12973" v0="2532" v1="2637" v2="4146" v3="4147" />
+ <tetrahedron index="12974" v0="2637" v1="4146" v2="4147" v3="4252" />
+ <tetrahedron index="12975" v0="1689" v1="2054" v2="2694" v3="3304" />
+ <tetrahedron index="12976" v0="2054" v1="2694" v2="3304" v3="3669" />
+ <tetrahedron index="12977" v0="2694" v1="3304" v2="3669" v3="4309" />
+ <tetrahedron index="12978" v0="2374" v1="2375" v2="2640" v3="3989" />
+ <tetrahedron index="12979" v0="2375" v1="2640" v2="3989" v3="3990" />
+ <tetrahedron index="12980" v0="2640" v1="3989" v2="3990" v3="4255" />
+ <tetrahedron index="12981" v0="2374" v1="2640" v2="2695" v3="3989" />
+ <tetrahedron index="12982" v0="2640" v1="2695" v2="3989" v3="4255" />
+ <tetrahedron index="12983" v0="2695" v1="3989" v2="4255" v3="4310" />
+ <tetrahedron index="12984" v0="2120" v1="2641" v2="2696" v3="3735" />
+ <tetrahedron index="12985" v0="2641" v1="2696" v2="3735" v3="4256" />
+ <tetrahedron index="12986" v0="2696" v1="3735" v2="4256" v3="4311" />
+ <tetrahedron index="12987" v0="2111" v1="2112" v2="2281" v3="3726" />
+ <tetrahedron index="12988" v0="2112" v1="2281" v2="3726" v3="3727" />
+ <tetrahedron index="12989" v0="2281" v1="3726" v2="3727" v3="3896" />
+ <tetrahedron index="12990" v0="1846" v1="2111" v2="2281" v3="3461" />
+ <tetrahedron index="12991" v0="2111" v1="2281" v2="3461" v3="3726" />
+ <tetrahedron index="12992" v0="2281" v1="3461" v2="3726" v3="3896" />
+ <tetrahedron index="12993" v0="2341" v1="2575" v2="2691" v3="3956" />
+ <tetrahedron index="12994" v0="2575" v1="2691" v2="3956" v3="4190" />
+ <tetrahedron index="12995" v0="2691" v1="3956" v2="4190" v3="4306" />
+ <tetrahedron index="12996" v0="1701" v1="2001" v2="2644" v3="3316" />
+ <tetrahedron index="12997" v0="2001" v1="2644" v2="3316" v3="3616" />
+ <tetrahedron index="12998" v0="2644" v1="3316" v2="3616" v3="4259" />
+ <tetrahedron index="12999" v0="2001" v1="2352" v2="2644" v3="3616" />
+ <tetrahedron index="13000" v0="2352" v1="2644" v2="3616" v3="3967" />
+ <tetrahedron index="13001" v0="2644" v1="3616" v2="3967" v3="4259" />
+ <tetrahedron index="13002" v0="1943" v1="2352" v2="2644" v3="3558" />
+ <tetrahedron index="13003" v0="2352" v1="2644" v2="3558" v3="3967" />
+ <tetrahedron index="13004" v0="2644" v1="3558" v2="3967" v3="4259" />
+ <tetrahedron index="13005" v0="1943" v1="1945" v2="2644" v3="3558" />
+ <tetrahedron index="13006" v0="1945" v1="2644" v2="3558" v3="3560" />
+ <tetrahedron index="13007" v0="2644" v1="3558" v2="3560" v3="4259" />
+ <tetrahedron index="13008" v0="1952" v1="2586" v2="2645" v3="3567" />
+ <tetrahedron index="13009" v0="2586" v1="2645" v2="3567" v3="4201" />
+ <tetrahedron index="13010" v0="2645" v1="3567" v2="4201" v3="4260" />
+ <tetrahedron index="13011" v0="2362" v1="2586" v2="2645" v3="3977" />
+ <tetrahedron index="13012" v0="2586" v1="2645" v2="3977" v3="4201" />
+ <tetrahedron index="13013" v0="2645" v1="3977" v2="4201" v3="4260" />
+ <tetrahedron index="13014" v0="1842" v1="2195" v2="2593" v3="3457" />
+ <tetrahedron index="13015" v0="2195" v1="2593" v2="3457" v3="3810" />
+ <tetrahedron index="13016" v0="2593" v1="3457" v2="3810" v3="4208" />
+ <tetrahedron index="13017" v0="1842" v1="2270" v2="2593" v3="3457" />
+ <tetrahedron index="13018" v0="2270" v1="2593" v2="3457" v3="3885" />
+ <tetrahedron index="13019" v0="2593" v1="3457" v2="3885" v3="4208" />
+ <tetrahedron index="13020" v0="2104" v1="2503" v2="2674" v3="3719" />
+ <tetrahedron index="13021" v0="2503" v1="2674" v2="3719" v3="4118" />
+ <tetrahedron index="13022" v0="2674" v1="3719" v2="4118" v3="4289" />
+ <tetrahedron index="13023" v0="2153" v1="2366" v2="2417" v3="3768" />
+ <tetrahedron index="13024" v0="2366" v1="2417" v2="3768" v3="3981" />
+ <tetrahedron index="13025" v0="2417" v1="3768" v2="3981" v3="4032" />
+ <tetrahedron index="13026" v0="2169" v1="2439" v2="2468" v3="3784" />
+ <tetrahedron index="13027" v0="2439" v1="2468" v2="3784" v3="4054" />
+ <tetrahedron index="13028" v0="2468" v1="3784" v2="4054" v3="4083" />
+ <tetrahedron index="13029" v0="2263" v1="2312" v2="2685" v3="3878" />
+ <tetrahedron index="13030" v0="2312" v1="2685" v2="3878" v3="3927" />
+ <tetrahedron index="13031" v0="2685" v1="3878" v2="3927" v3="4300" />
+ <tetrahedron index="13032" v0="1823" v1="1825" v2="2641" v3="3438" />
+ <tetrahedron index="13033" v0="1825" v1="2641" v2="3438" v3="3440" />
+ <tetrahedron index="13034" v0="2641" v1="3438" v2="3440" v3="4256" />
+ <tetrahedron index="13035" v0="1906" v1="1909" v2="2697" v3="3521" />
+ <tetrahedron index="13036" v0="1909" v1="2697" v2="3521" v3="3524" />
+ <tetrahedron index="13037" v0="2697" v1="3521" v2="3524" v3="4312" />
+ <tetrahedron index="13038" v0="1799" v1="1909" v2="2697" v3="3414" />
+ <tetrahedron index="13039" v0="1909" v1="2697" v2="3414" v3="3524" />
+ <tetrahedron index="13040" v0="2697" v1="3414" v2="3524" v3="4312" />
+ <tetrahedron index="13041" v0="1953" v1="1954" v2="2222" v3="3568" />
+ <tetrahedron index="13042" v0="1954" v1="2222" v2="3568" v3="3569" />
+ <tetrahedron index="13043" v0="2222" v1="3568" v2="3569" v3="3837" />
+ <tetrahedron index="13044" v0="1954" v1="2222" v2="2698" v3="3569" />
+ <tetrahedron index="13045" v0="2222" v1="2698" v2="3569" v3="3837" />
+ <tetrahedron index="13046" v0="2698" v1="3569" v2="3837" v3="4313" />
+ <tetrahedron index="13047" v0="2117" v1="2281" v2="2475" v3="3732" />
+ <tetrahedron index="13048" v0="2281" v1="2475" v2="3732" v3="3896" />
+ <tetrahedron index="13049" v0="2475" v1="3732" v2="3896" v3="4090" />
+ <tetrahedron index="13050" v0="2117" v1="2475" v2="2642" v3="3732" />
+ <tetrahedron index="13051" v0="2475" v1="2642" v2="3732" v3="4090" />
+ <tetrahedron index="13052" v0="2642" v1="3732" v2="4090" v3="4257" />
+ <tetrahedron index="13053" v0="2494" v1="2495" v2="2649" v3="4109" />
+ <tetrahedron index="13054" v0="2495" v1="2649" v2="4109" v3="4110" />
+ <tetrahedron index="13055" v0="2649" v1="4109" v2="4110" v3="4264" />
+ <tetrahedron index="13056" v0="2043" v1="2494" v2="2649" v3="3658" />
+ <tetrahedron index="13057" v0="2494" v1="2649" v2="3658" v3="4109" />
+ <tetrahedron index="13058" v0="2649" v1="3658" v2="4109" v3="4264" />
+ <tetrahedron index="13059" v0="2550" v1="2551" v2="2699" v3="4165" />
+ <tetrahedron index="13060" v0="2551" v1="2699" v2="4165" v3="4166" />
+ <tetrahedron index="13061" v0="2699" v1="4165" v2="4166" v3="4314" />
+ <tetrahedron index="13062" v0="2578" v1="2579" v2="2680" v3="4193" />
+ <tetrahedron index="13063" v0="2579" v1="2680" v2="4193" v3="4194" />
+ <tetrahedron index="13064" v0="2680" v1="4193" v2="4194" v3="4295" />
+ <tetrahedron index="13065" v0="1838" v1="2373" v2="2668" v3="3453" />
+ <tetrahedron index="13066" v0="2373" v1="2668" v2="3453" v3="3988" />
+ <tetrahedron index="13067" v0="2668" v1="3453" v2="3988" v3="4283" />
+ <tetrahedron index="13068" v0="1837" v1="1838" v2="2668" v3="3452" />
+ <tetrahedron index="13069" v0="1838" v1="2668" v2="3452" v3="3453" />
+ <tetrahedron index="13070" v0="2668" v1="3452" v2="3453" v3="4283" />
+ <tetrahedron index="13071" v0="2495" v1="2649" v2="2666" v3="4110" />
+ <tetrahedron index="13072" v0="2649" v1="2666" v2="4110" v3="4264" />
+ <tetrahedron index="13073" v0="2666" v1="4110" v2="4264" v3="4281" />
+ <tetrahedron index="13074" v0="2228" v1="2495" v2="2666" v3="3843" />
+ <tetrahedron index="13075" v0="2495" v1="2666" v2="3843" v3="4110" />
+ <tetrahedron index="13076" v0="2666" v1="3843" v2="4110" v3="4281" />
+ <tetrahedron index="13077" v0="2455" v1="2456" v2="2700" v3="4070" />
+ <tetrahedron index="13078" v0="2456" v1="2700" v2="4070" v3="4071" />
+ <tetrahedron index="13079" v0="2700" v1="4070" v2="4071" v3="4315" />
+ <tetrahedron index="13080" v0="2564" v1="2631" v2="2654" v3="4179" />
+ <tetrahedron index="13081" v0="2631" v1="2654" v2="4179" v3="4246" />
+ <tetrahedron index="13082" v0="2654" v1="4179" v2="4246" v3="4269" />
+ <tetrahedron index="13083" v0="1915" v1="2419" v2="2663" v3="3530" />
+ <tetrahedron index="13084" v0="2419" v1="2663" v2="3530" v3="4034" />
+ <tetrahedron index="13085" v0="2663" v1="3530" v2="4034" v3="4278" />
+ <tetrahedron index="13086" v0="1905" v1="1915" v2="2663" v3="3520" />
+ <tetrahedron index="13087" v0="1915" v1="2663" v2="3520" v3="3530" />
+ <tetrahedron index="13088" v0="2663" v1="3520" v2="3530" v3="4278" />
+ <tetrahedron index="13089" v0="2507" v1="2701" v2="2702" v3="4122" />
+ <tetrahedron index="13090" v0="2701" v1="2702" v2="4122" v3="4316" />
+ <tetrahedron index="13091" v0="2702" v1="4122" v2="4316" v3="4317" />
+ <tetrahedron index="13092" v0="1779" v1="1780" v2="2703" v3="3394" />
+ <tetrahedron index="13093" v0="1780" v1="2703" v2="3394" v3="3395" />
+ <tetrahedron index="13094" v0="2703" v1="3394" v2="3395" v3="4318" />
+ <tetrahedron index="13095" v0="2178" v1="2179" v2="2617" v3="3793" />
+ <tetrahedron index="13096" v0="2179" v1="2617" v2="3793" v3="3794" />
+ <tetrahedron index="13097" v0="2617" v1="3793" v2="3794" v3="4232" />
+ <tetrahedron index="13098" v0="1975" v1="2375" v2="2682" v3="3590" />
+ <tetrahedron index="13099" v0="2375" v1="2682" v2="3590" v3="3990" />
+ <tetrahedron index="13100" v0="2682" v1="3590" v2="3990" v3="4297" />
+ <tetrahedron index="13101" v0="1975" v1="1976" v2="2682" v3="3590" />
+ <tetrahedron index="13102" v0="1976" v1="2682" v2="3590" v3="3591" />
+ <tetrahedron index="13103" v0="2682" v1="3590" v2="3591" v3="4297" />
+ <tetrahedron index="13104" v0="2393" v1="2586" v2="2646" v3="4008" />
+ <tetrahedron index="13105" v0="2586" v1="2646" v2="4008" v3="4201" />
+ <tetrahedron index="13106" v0="2646" v1="4008" v2="4201" v3="4261" />
+ <tetrahedron index="13107" v0="1951" v1="2393" v2="2586" v3="3566" />
+ <tetrahedron index="13108" v0="2393" v1="2586" v2="3566" v3="4008" />
+ <tetrahedron index="13109" v0="2586" v1="3566" v2="4008" v3="4201" />
+ <tetrahedron index="13110" v0="2354" v1="2449" v2="2597" v3="3969" />
+ <tetrahedron index="13111" v0="2449" v1="2597" v2="3969" v3="4064" />
+ <tetrahedron index="13112" v0="2597" v1="3969" v2="4064" v3="4212" />
+ <tetrahedron index="13113" v0="2354" v1="2400" v2="2597" v3="3969" />
+ <tetrahedron index="13114" v0="2400" v1="2597" v2="3969" v3="4015" />
+ <tetrahedron index="13115" v0="2597" v1="3969" v2="4015" v3="4212" />
+ <tetrahedron index="13116" v0="1641" v1="2587" v2="2704" v3="3256" />
+ <tetrahedron index="13117" v0="2587" v1="2704" v2="3256" v3="4202" />
+ <tetrahedron index="13118" v0="2704" v1="3256" v2="4202" v3="4319" />
+ <tetrahedron index="13119" v0="1736" v1="2334" v2="2675" v3="3351" />
+ <tetrahedron index="13120" v0="2334" v1="2675" v2="3351" v3="3949" />
+ <tetrahedron index="13121" v0="2675" v1="3351" v2="3949" v3="4290" />
+ <tetrahedron index="13122" v0="2473" v1="2679" v2="2705" v3="4088" />
+ <tetrahedron index="13123" v0="2679" v1="2705" v2="4088" v3="4294" />
+ <tetrahedron index="13124" v0="2705" v1="4088" v2="4294" v3="4320" />
+ <tetrahedron index="13125" v0="2471" v1="2473" v2="2679" v3="4086" />
+ <tetrahedron index="13126" v0="2473" v1="2679" v2="4086" v3="4088" />
+ <tetrahedron index="13127" v0="2679" v1="4086" v2="4088" v3="4294" />
+ <tetrahedron index="13128" v0="1837" v1="1918" v2="2668" v3="3452" />
+ <tetrahedron index="13129" v0="1918" v1="2668" v2="3452" v3="3533" />
+ <tetrahedron index="13130" v0="2668" v1="3452" v2="3533" v3="4283" />
+ <tetrahedron index="13131" v0="1916" v1="1918" v2="2668" v3="3531" />
+ <tetrahedron index="13132" v0="1918" v1="2668" v2="3531" v3="3533" />
+ <tetrahedron index="13133" v0="2668" v1="3531" v2="3533" v3="4283" />
+ <tetrahedron index="13134" v0="2558" v1="2590" v2="2623" v3="4173" />
+ <tetrahedron index="13135" v0="2590" v1="2623" v2="4173" v3="4205" />
+ <tetrahedron index="13136" v0="2623" v1="4173" v2="4205" v3="4238" />
+ <tetrahedron index="13137" v0="1811" v1="2558" v2="2590" v3="3426" />
+ <tetrahedron index="13138" v0="2558" v1="2590" v2="3426" v3="4173" />
+ <tetrahedron index="13139" v0="2590" v1="3426" v2="4173" v3="4205" />
+ <tetrahedron index="13140" v0="2291" v1="2547" v2="2706" v3="3906" />
+ <tetrahedron index="13141" v0="2547" v1="2706" v2="3906" v3="4162" />
+ <tetrahedron index="13142" v0="2706" v1="3906" v2="4162" v3="4321" />
+ <tetrahedron index="13143" v0="2588" v1="2589" v2="2707" v3="4203" />
+ <tetrahedron index="13144" v0="2589" v1="2707" v2="4203" v3="4204" />
+ <tetrahedron index="13145" v0="2707" v1="4203" v2="4204" v3="4322" />
+ <tetrahedron index="13146" v0="1909" v1="1927" v2="2465" v3="3524" />
+ <tetrahedron index="13147" v0="1927" v1="2465" v2="3524" v3="3542" />
+ <tetrahedron index="13148" v0="2465" v1="3524" v2="3542" v3="4080" />
+ <tetrahedron index="13149" v0="1908" v1="1909" v2="1927" v3="3523" />
+ <tetrahedron index="13150" v0="1909" v1="1927" v2="3523" v3="3524" />
+ <tetrahedron index="13151" v0="1927" v1="3523" v2="3524" v3="3542" />
+ <tetrahedron index="13152" v0="2448" v1="2669" v2="2694" v3="4063" />
+ <tetrahedron index="13153" v0="2669" v1="2694" v2="4063" v3="4284" />
+ <tetrahedron index="13154" v0="2694" v1="4063" v2="4284" v3="4309" />
+ <tetrahedron index="13155" v0="2361" v1="2448" v2="2669" v3="3976" />
+ <tetrahedron index="13156" v0="2448" v1="2669" v2="3976" v3="4063" />
+ <tetrahedron index="13157" v0="2669" v1="3976" v2="4063" v3="4284" />
+ <tetrahedron index="13158" v0="2665" v1="2672" v2="2673" v3="4280" />
+ <tetrahedron index="13159" v0="2672" v1="2673" v2="4280" v3="4287" />
+ <tetrahedron index="13160" v0="2673" v1="4280" v2="4287" v3="4288" />
+ <tetrahedron index="13161" v0="1623" v1="1930" v2="2004" v3="3238" />
+ <tetrahedron index="13162" v0="1930" v1="2004" v2="3238" v3="3545" />
+ <tetrahedron index="13163" v0="2004" v1="3238" v2="3545" v3="3619" />
+ <tetrahedron index="13164" v0="1930" v1="1932" v2="2004" v3="3545" />
+ <tetrahedron index="13165" v0="1932" v1="2004" v2="3545" v3="3547" />
+ <tetrahedron index="13166" v0="2004" v1="3545" v2="3547" v3="3619" />
+ <tetrahedron index="13167" v0="2235" v1="2512" v2="2625" v3="3850" />
+ <tetrahedron index="13168" v0="2512" v1="2625" v2="3850" v3="4127" />
+ <tetrahedron index="13169" v0="2625" v1="3850" v2="4127" v3="4240" />
+ <tetrahedron index="13170" v0="1791" v1="2512" v2="2625" v3="3406" />
+ <tetrahedron index="13171" v0="2512" v1="2625" v2="3406" v3="4127" />
+ <tetrahedron index="13172" v0="2625" v1="3406" v2="4127" v3="4240" />
+ <tetrahedron index="13173" v0="2507" v1="2508" v2="2584" v3="4122" />
+ <tetrahedron index="13174" v0="2508" v1="2584" v2="4122" v3="4123" />
+ <tetrahedron index="13175" v0="2584" v1="4122" v2="4123" v3="4199" />
+ <tetrahedron index="13176" v0="2507" v1="2584" v2="2701" v3="4122" />
+ <tetrahedron index="13177" v0="2584" v1="2701" v2="4122" v3="4199" />
+ <tetrahedron index="13178" v0="2701" v1="4122" v2="4199" v3="4316" />
+ <tetrahedron index="13179" v0="2708" v1="2709" v2="2710" v3="4323" />
+ <tetrahedron index="13180" v0="2709" v1="2710" v2="4323" v3="4324" />
+ <tetrahedron index="13181" v0="2710" v1="4323" v2="4324" v3="4325" />
+ <tetrahedron index="13182" v0="2496" v1="2585" v2="2629" v3="4111" />
+ <tetrahedron index="13183" v0="2585" v1="2629" v2="4111" v3="4200" />
+ <tetrahedron index="13184" v0="2629" v1="4111" v2="4200" v3="4244" />
+ <tetrahedron index="13185" v0="2275" v1="2585" v2="2629" v3="3890" />
+ <tetrahedron index="13186" v0="2585" v1="2629" v2="3890" v3="4200" />
+ <tetrahedron index="13187" v0="2629" v1="3890" v2="4200" v3="4244" />
+ <tetrahedron index="13188" v0="2313" v1="2683" v2="2685" v3="3928" />
+ <tetrahedron index="13189" v0="2683" v1="2685" v2="3928" v3="4298" />
+ <tetrahedron index="13190" v0="2685" v1="3928" v2="4298" v3="4300" />
+ <tetrahedron index="13191" v0="1844" v1="1845" v2="2711" v3="3459" />
+ <tetrahedron index="13192" v0="1845" v1="2711" v2="3459" v3="3460" />
+ <tetrahedron index="13193" v0="2711" v1="3459" v2="3460" v3="4326" />
+ <tetrahedron index="13194" v0="2652" v1="2687" v2="2712" v3="4267" />
+ <tetrahedron index="13195" v0="2687" v1="2712" v2="4267" v3="4302" />
+ <tetrahedron index="13196" v0="2712" v1="4267" v2="4302" v3="4327" />
+ <tetrahedron index="13197" v0="2155" v1="2157" v2="2713" v3="3770" />
+ <tetrahedron index="13198" v0="2157" v1="2713" v2="3770" v3="3772" />
+ <tetrahedron index="13199" v0="2713" v1="3770" v2="3772" v3="4328" />
+ <tetrahedron index="13200" v0="1928" v1="2039" v2="2714" v3="3543" />
+ <tetrahedron index="13201" v0="2039" v1="2714" v2="3543" v3="3654" />
+ <tetrahedron index="13202" v0="2714" v1="3543" v2="3654" v3="4329" />
+ <tetrahedron index="13203" v0="2622" v1="2624" v2="2715" v3="4237" />
+ <tetrahedron index="13204" v0="2624" v1="2715" v2="4237" v3="4239" />
+ <tetrahedron index="13205" v0="2715" v1="4237" v2="4239" v3="4330" />
+ <tetrahedron index="13206" v0="2494" v1="2564" v2="2654" v3="4109" />
+ <tetrahedron index="13207" v0="2564" v1="2654" v2="4109" v3="4179" />
+ <tetrahedron index="13208" v0="2654" v1="4109" v2="4179" v3="4269" />
+ <tetrahedron index="13209" v0="2493" v1="2494" v2="2564" v3="4108" />
+ <tetrahedron index="13210" v0="2494" v1="2564" v2="4108" v3="4109" />
+ <tetrahedron index="13211" v0="2564" v1="4108" v2="4109" v3="4179" />
+ <tetrahedron index="13212" v0="1968" v1="2593" v2="2660" v3="3583" />
+ <tetrahedron index="13213" v0="2593" v1="2660" v2="3583" v3="4208" />
+ <tetrahedron index="13214" v0="2660" v1="3583" v2="4208" v3="4275" />
+ <tetrahedron index="13215" v0="2197" v1="2593" v2="2660" v3="3812" />
+ <tetrahedron index="13216" v0="2593" v1="2660" v2="3812" v3="4208" />
+ <tetrahedron index="13217" v0="2660" v1="3812" v2="4208" v3="4275" />
+ <tetrahedron index="13218" v0="1789" v1="2607" v2="2625" v3="3404" />
+ <tetrahedron index="13219" v0="2607" v1="2625" v2="3404" v3="4222" />
+ <tetrahedron index="13220" v0="2625" v1="3404" v2="4222" v3="4240" />
+ <tetrahedron index="13221" v0="2383" v1="2607" v2="2625" v3="3998" />
+ <tetrahedron index="13222" v0="2607" v1="2625" v2="3998" v3="4222" />
+ <tetrahedron index="13223" v0="2625" v1="3998" v2="4222" v3="4240" />
+ <tetrahedron index="13224" v0="2202" v1="2617" v2="2716" v3="3817" />
+ <tetrahedron index="13225" v0="2617" v1="2716" v2="3817" v3="4232" />
+ <tetrahedron index="13226" v0="2716" v1="3817" v2="4232" v3="4331" />
+ <tetrahedron index="13227" v0="1664" v1="1671" v2="2097" v3="3279" />
+ <tetrahedron index="13228" v0="1671" v1="2097" v2="3279" v3="3286" />
+ <tetrahedron index="13229" v0="2097" v1="3279" v2="3286" v3="3712" />
+ <tetrahedron index="13230" v0="1943" v1="2106" v2="2648" v3="3558" />
+ <tetrahedron index="13231" v0="2106" v1="2648" v2="3558" v3="3721" />
+ <tetrahedron index="13232" v0="2648" v1="3558" v2="3721" v3="4263" />
+ <tetrahedron index="13233" v0="1881" v1="1943" v2="2648" v3="3496" />
+ <tetrahedron index="13234" v0="1943" v1="2648" v2="3496" v3="3558" />
+ <tetrahedron index="13235" v0="2648" v1="3496" v2="3558" v3="4263" />
+ <tetrahedron index="13236" v0="2408" v1="2410" v2="2717" v3="4023" />
+ <tetrahedron index="13237" v0="2410" v1="2717" v2="4023" v3="4025" />
+ <tetrahedron index="13238" v0="2717" v1="4023" v2="4025" v3="4332" />
+ <tetrahedron index="13239" v0="2410" v1="2717" v2="2718" v3="4025" />
+ <tetrahedron index="13240" v0="2717" v1="2718" v2="4025" v3="4332" />
+ <tetrahedron index="13241" v0="2718" v1="4025" v2="4332" v3="4333" />
+ <tetrahedron index="13242" v0="2380" v1="2607" v2="2719" v3="3995" />
+ <tetrahedron index="13243" v0="2607" v1="2719" v2="3995" v3="4222" />
+ <tetrahedron index="13244" v0="2719" v1="3995" v2="4222" v3="4334" />
+ <tetrahedron index="13245" v0="1635" v1="1636" v2="2402" v3="3250" />
+ <tetrahedron index="13246" v0="1636" v1="2402" v2="3250" v3="3251" />
+ <tetrahedron index="13247" v0="2402" v1="3250" v2="3251" v3="4017" />
+ <tetrahedron index="13248" v0="1636" v1="2402" v2="2642" v3="3251" />
+ <tetrahedron index="13249" v0="2402" v1="2642" v2="3251" v3="4017" />
+ <tetrahedron index="13250" v0="2642" v1="3251" v2="4017" v3="4257" />
+ <tetrahedron index="13251" v0="2282" v1="2515" v2="2640" v3="3897" />
+ <tetrahedron index="13252" v0="2515" v1="2640" v2="3897" v3="4130" />
+ <tetrahedron index="13253" v0="2640" v1="3897" v2="4130" v3="4255" />
+ <tetrahedron index="13254" v0="2282" v1="2283" v2="2640" v3="3897" />
+ <tetrahedron index="13255" v0="2283" v1="2640" v2="3897" v3="3898" />
+ <tetrahedron index="13256" v0="2640" v1="3897" v2="3898" v3="4255" />
+ <tetrahedron index="13257" v0="2228" v1="2229" v2="2666" v3="3843" />
+ <tetrahedron index="13258" v0="2229" v1="2666" v2="3843" v3="3844" />
+ <tetrahedron index="13259" v0="2666" v1="3843" v2="3844" v3="4281" />
+ <tetrahedron index="13260" v0="2117" v1="2118" v2="2402" v3="3732" />
+ <tetrahedron index="13261" v0="2118" v1="2402" v2="3732" v3="3733" />
+ <tetrahedron index="13262" v0="2402" v1="3732" v2="3733" v3="4017" />
+ <tetrahedron index="13263" v0="2117" v1="2402" v2="2642" v3="3732" />
+ <tetrahedron index="13264" v0="2402" v1="2642" v2="3732" v3="4017" />
+ <tetrahedron index="13265" v0="2642" v1="3732" v2="4017" v3="4257" />
+ <tetrahedron index="13266" v0="2097" v1="2335" v2="2720" v3="3712" />
+ <tetrahedron index="13267" v0="2335" v1="2720" v2="3712" v3="3950" />
+ <tetrahedron index="13268" v0="2720" v1="3712" v2="3950" v3="4335" />
+ <tetrahedron index="13269" v0="2686" v1="2687" v2="2712" v3="4301" />
+ <tetrahedron index="13270" v0="2687" v1="2712" v2="4301" v3="4302" />
+ <tetrahedron index="13271" v0="2712" v1="4301" v2="4302" v3="4327" />
+ <tetrahedron index="13272" v0="2280" v1="2569" v2="2721" v3="3895" />
+ <tetrahedron index="13273" v0="2569" v1="2721" v2="3895" v3="4184" />
+ <tetrahedron index="13274" v0="2721" v1="3895" v2="4184" v3="4336" />
+ <tetrahedron index="13275" v0="1814" v1="1815" v2="2343" v3="3429" />
+ <tetrahedron index="13276" v0="1815" v1="2343" v2="3429" v3="3430" />
+ <tetrahedron index="13277" v0="2343" v1="3429" v2="3430" v3="3958" />
+ <tetrahedron index="13278" v0="1920" v1="2343" v2="2722" v3="3535" />
+ <tetrahedron index="13279" v0="2343" v1="2722" v2="3535" v3="3958" />
+ <tetrahedron index="13280" v0="2722" v1="3535" v2="3958" v3="4337" />
+ <tetrahedron index="13281" v0="1659" v1="1768" v2="2414" v3="3274" />
+ <tetrahedron index="13282" v0="1768" v1="2414" v2="3274" v3="3383" />
+ <tetrahedron index="13283" v0="2414" v1="3274" v2="3383" v3="4029" />
+ <tetrahedron index="13284" v0="2113" v1="2563" v2="2657" v3="3728" />
+ <tetrahedron index="13285" v0="2563" v1="2657" v2="3728" v3="4178" />
+ <tetrahedron index="13286" v0="2657" v1="3728" v2="4178" v3="4272" />
+ <tetrahedron index="13287" v0="1834" v1="2514" v2="2630" v3="3449" />
+ <tetrahedron index="13288" v0="2514" v1="2630" v2="3449" v3="4129" />
+ <tetrahedron index="13289" v0="2630" v1="3449" v2="4129" v3="4245" />
+ <tetrahedron index="13290" v0="2594" v1="2595" v2="2723" v3="4209" />
+ <tetrahedron index="13291" v0="2595" v1="2723" v2="4209" v3="4210" />
+ <tetrahedron index="13292" v0="2723" v1="4209" v2="4210" v3="4338" />
+ <tetrahedron index="13293" v0="2724" v1="2725" v2="2726" v3="4339" />
+ <tetrahedron index="13294" v0="2725" v1="2726" v2="4339" v3="4340" />
+ <tetrahedron index="13295" v0="2726" v1="4339" v2="4340" v3="4341" />
+ <tetrahedron index="13296" v0="2143" v1="2454" v2="2727" v3="3758" />
+ <tetrahedron index="13297" v0="2454" v1="2727" v2="3758" v3="4069" />
+ <tetrahedron index="13298" v0="2727" v1="3758" v2="4069" v3="4342" />
+ <tetrahedron index="13299" v0="1764" v1="1767" v2="2183" v3="3379" />
+ <tetrahedron index="13300" v0="1767" v1="2183" v2="3379" v3="3382" />
+ <tetrahedron index="13301" v0="2183" v1="3379" v2="3382" v3="3798" />
+ <tetrahedron index="13302" v0="1664" v1="1768" v2="1771" v3="3279" />
+ <tetrahedron index="13303" v0="1768" v1="1771" v2="3279" v3="3383" />
+ <tetrahedron index="13304" v0="1771" v1="3279" v2="3383" v3="3386" />
+ <tetrahedron index="13305" v0="1659" v1="1664" v2="1768" v3="3274" />
+ <tetrahedron index="13306" v0="1664" v1="1768" v2="3274" v3="3279" />
+ <tetrahedron index="13307" v0="1768" v1="3274" v2="3279" v3="3383" />
+ <tetrahedron index="13308" v0="1665" v1="1671" v2="1771" v3="3280" />
+ <tetrahedron index="13309" v0="1671" v1="1771" v2="3280" v3="3286" />
+ <tetrahedron index="13310" v0="1771" v1="3280" v2="3286" v3="3386" />
+ <tetrahedron index="13311" v0="1664" v1="1671" v2="1771" v3="3279" />
+ <tetrahedron index="13312" v0="1671" v1="1771" v2="3279" v3="3286" />
+ <tetrahedron index="13313" v0="1771" v1="3279" v2="3286" v3="3386" />
+ <tetrahedron index="13314" v0="1680" v1="1681" v2="2728" v3="3295" />
+ <tetrahedron index="13315" v0="1681" v1="2728" v2="3295" v3="3296" />
+ <tetrahedron index="13316" v0="2728" v1="3295" v2="3296" v3="4343" />
+ <tetrahedron index="13317" v0="2057" v1="2600" v2="2729" v3="3672" />
+ <tetrahedron index="13318" v0="2600" v1="2729" v2="3672" v3="4215" />
+ <tetrahedron index="13319" v0="2729" v1="3672" v2="4215" v3="4344" />
+ <tetrahedron index="13320" v0="2057" v1="2729" v2="2730" v3="3672" />
+ <tetrahedron index="13321" v0="2729" v1="2730" v2="3672" v3="4344" />
+ <tetrahedron index="13322" v0="2730" v1="3672" v2="4344" v3="4345" />
+ <tetrahedron index="13323" v0="2529" v1="2542" v2="2731" v3="4144" />
+ <tetrahedron index="13324" v0="2542" v1="2731" v2="4144" v3="4157" />
+ <tetrahedron index="13325" v0="2731" v1="4144" v2="4157" v3="4346" />
+ <tetrahedron index="13326" v0="2732" v1="2733" v2="2734" v3="4347" />
+ <tetrahedron index="13327" v0="2733" v1="2734" v2="4347" v3="4348" />
+ <tetrahedron index="13328" v0="2734" v1="4347" v2="4348" v3="4349" />
+ <tetrahedron index="13329" v0="1658" v1="1675" v2="1939" v3="3273" />
+ <tetrahedron index="13330" v0="1675" v1="1939" v2="3273" v3="3290" />
+ <tetrahedron index="13331" v0="1939" v1="3273" v2="3290" v3="3554" />
+ <tetrahedron index="13332" v0="2202" v1="2716" v2="2717" v3="3817" />
+ <tetrahedron index="13333" v0="2716" v1="2717" v2="3817" v3="4331" />
+ <tetrahedron index="13334" v0="2717" v1="3817" v2="4331" v3="4332" />
+ <tetrahedron index="13335" v0="2533" v1="2616" v2="2735" v3="4148" />
+ <tetrahedron index="13336" v0="2616" v1="2735" v2="4148" v3="4231" />
+ <tetrahedron index="13337" v0="2735" v1="4148" v2="4231" v3="4350" />
+ <tetrahedron index="13338" v0="2375" v1="2682" v2="2736" v3="3990" />
+ <tetrahedron index="13339" v0="2682" v1="2736" v2="3990" v3="4297" />
+ <tetrahedron index="13340" v0="2736" v1="3990" v2="4297" v3="4351" />
+ <tetrahedron index="13341" v0="1634" v1="1886" v2="1889" v3="3249" />
+ <tetrahedron index="13342" v0="1886" v1="1889" v2="3249" v3="3501" />
+ <tetrahedron index="13343" v0="1889" v1="3249" v2="3501" v3="3504" />
+ <tetrahedron index="13344" v0="2198" v1="2353" v2="2737" v3="3813" />
+ <tetrahedron index="13345" v0="2353" v1="2737" v2="3813" v3="3968" />
+ <tetrahedron index="13346" v0="2737" v1="3813" v2="3968" v3="4352" />
+ <tetrahedron index="13347" v0="2690" v1="2738" v2="2739" v3="4305" />
+ <tetrahedron index="13348" v0="2738" v1="2739" v2="4305" v3="4353" />
+ <tetrahedron index="13349" v0="2739" v1="4305" v2="4353" v3="4354" />
+ <tetrahedron index="13350" v0="2633" v1="2667" v2="2740" v3="4248" />
+ <tetrahedron index="13351" v0="2667" v1="2740" v2="4248" v3="4282" />
+ <tetrahedron index="13352" v0="2740" v1="4248" v2="4282" v3="4355" />
+ <tetrahedron index="13353" v0="2514" v1="2630" v2="2741" v3="4129" />
+ <tetrahedron index="13354" v0="2630" v1="2741" v2="4129" v3="4245" />
+ <tetrahedron index="13355" v0="2741" v1="4129" v2="4245" v3="4356" />
+ <tetrahedron index="13356" v0="2237" v1="2742" v2="2743" v3="3852" />
+ <tetrahedron index="13357" v0="2742" v1="2743" v2="3852" v3="4357" />
+ <tetrahedron index="13358" v0="2743" v1="3852" v2="4357" v3="4358" />
+ <tetrahedron index="13359" v0="2381" v1="2744" v2="2745" v3="3996" />
+ <tetrahedron index="13360" v0="2744" v1="2745" v2="3996" v3="4359" />
+ <tetrahedron index="13361" v0="2745" v1="3996" v2="4359" v3="4360" />
+ <tetrahedron index="13362" v0="2746" v1="2747" v2="2748" v3="4361" />
+ <tetrahedron index="13363" v0="2747" v1="2748" v2="4361" v3="4362" />
+ <tetrahedron index="13364" v0="2748" v1="4361" v2="4362" v3="4363" />
+ <tetrahedron index="13365" v0="1633" v1="1889" v2="1937" v3="3248" />
+ <tetrahedron index="13366" v0="1889" v1="1937" v2="3248" v3="3504" />
+ <tetrahedron index="13367" v0="1937" v1="3248" v2="3504" v3="3552" />
+ <tetrahedron index="13368" v0="1889" v1="1935" v2="1937" v3="3504" />
+ <tetrahedron index="13369" v0="1935" v1="1937" v2="3504" v3="3550" />
+ <tetrahedron index="13370" v0="1937" v1="3504" v2="3550" v3="3552" />
+ <tetrahedron index="13371" v0="2185" v1="2301" v2="2553" v3="3800" />
+ <tetrahedron index="13372" v0="2301" v1="2553" v2="3800" v3="3916" />
+ <tetrahedron index="13373" v0="2553" v1="3800" v2="3916" v3="4168" />
+ <tetrahedron index="13374" v0="1922" v1="2185" v2="2301" v3="3537" />
+ <tetrahedron index="13375" v0="2185" v1="2301" v2="3537" v3="3800" />
+ <tetrahedron index="13376" v0="2301" v1="3537" v2="3800" v3="3916" />
+ <tetrahedron index="13377" v0="2307" v1="2308" v2="2702" v3="3922" />
+ <tetrahedron index="13378" v0="2308" v1="2702" v2="3922" v3="3923" />
+ <tetrahedron index="13379" v0="2702" v1="3922" v2="3923" v3="4317" />
+ <tetrahedron index="13380" v0="2308" v1="2318" v2="2702" v3="3923" />
+ <tetrahedron index="13381" v0="2318" v1="2702" v2="3923" v3="3933" />
+ <tetrahedron index="13382" v0="2702" v1="3923" v2="3933" v3="4317" />
+ <tetrahedron index="13383" v0="1680" v1="2158" v2="2221" v3="3295" />
+ <tetrahedron index="13384" v0="2158" v1="2221" v2="3295" v3="3773" />
+ <tetrahedron index="13385" v0="2221" v1="3295" v2="3773" v3="3836" />
+ <tetrahedron index="13386" v0="1680" v1="2221" v2="2481" v3="3295" />
+ <tetrahedron index="13387" v0="2221" v1="2481" v2="3295" v3="3836" />
+ <tetrahedron index="13388" v0="2481" v1="3295" v2="3836" v3="4096" />
+ <tetrahedron index="13389" v0="1896" v1="1898" v2="1899" v3="3511" />
+ <tetrahedron index="13390" v0="1898" v1="1899" v2="3511" v3="3513" />
+ <tetrahedron index="13391" v0="1899" v1="3511" v2="3513" v3="3514" />
+ <tetrahedron index="13392" v0="1896" v1="1899" v2="2330" v3="3511" />
+ <tetrahedron index="13393" v0="1899" v1="2330" v2="3511" v3="3514" />
+ <tetrahedron index="13394" v0="2330" v1="3511" v2="3514" v3="3945" />
+ <tetrahedron index="13395" v0="1897" v1="1898" v2="2749" v3="3512" />
+ <tetrahedron index="13396" v0="1898" v1="2749" v2="3512" v3="3513" />
+ <tetrahedron index="13397" v0="2749" v1="3512" v2="3513" v3="4364" />
+ <tetrahedron index="13398" v0="2405" v1="2750" v2="2751" v3="4020" />
+ <tetrahedron index="13399" v0="2750" v1="2751" v2="4020" v3="4365" />
+ <tetrahedron index="13400" v0="2751" v1="4020" v2="4365" v3="4366" />
+ <tetrahedron index="13401" v0="1753" v1="2405" v2="2750" v3="3368" />
+ <tetrahedron index="13402" v0="2405" v1="2750" v2="3368" v3="4020" />
+ <tetrahedron index="13403" v0="2750" v1="3368" v2="4020" v3="4365" />
+ <tetrahedron index="13404" v0="1669" v1="1672" v2="2119" v3="3284" />
+ <tetrahedron index="13405" v0="1672" v1="2119" v2="3284" v3="3287" />
+ <tetrahedron index="13406" v0="2119" v1="3284" v2="3287" v3="3734" />
+ <tetrahedron index="13407" v0="2204" v1="2249" v2="2274" v3="3819" />
+ <tetrahedron index="13408" v0="2249" v1="2274" v2="3819" v3="3864" />
+ <tetrahedron index="13409" v0="2274" v1="3819" v2="3864" v3="3889" />
+ <tetrahedron index="13410" v0="1689" v1="1690" v2="2448" v3="3304" />
+ <tetrahedron index="13411" v0="1690" v1="2448" v2="3304" v3="3305" />
+ <tetrahedron index="13412" v0="2448" v1="3304" v2="3305" v3="4063" />
+ <tetrahedron index="13413" v0="1689" v1="2448" v2="2694" v3="3304" />
+ <tetrahedron index="13414" v0="2448" v1="2694" v2="3304" v3="4063" />
+ <tetrahedron index="13415" v0="2694" v1="3304" v2="4063" v3="4309" />
+ <tetrahedron index="13416" v0="2335" v1="2336" v2="2618" v3="3950" />
+ <tetrahedron index="13417" v0="2336" v1="2618" v2="3950" v3="3951" />
+ <tetrahedron index="13418" v0="2618" v1="3950" v2="3951" v3="4233" />
+ <tetrahedron index="13419" v0="2126" v1="2335" v2="2618" v3="3741" />
+ <tetrahedron index="13420" v0="2335" v1="2618" v2="3741" v3="3950" />
+ <tetrahedron index="13421" v0="2618" v1="3741" v2="3950" v3="4233" />
+ <tetrahedron index="13422" v0="2191" v1="2530" v2="2752" v3="3806" />
+ <tetrahedron index="13423" v0="2530" v1="2752" v2="3806" v3="4145" />
+ <tetrahedron index="13424" v0="2752" v1="3806" v2="4145" v3="4367" />
+ <tetrahedron index="13425" v0="1815" v1="2334" v2="2343" v3="3430" />
+ <tetrahedron index="13426" v0="2334" v1="2343" v2="3430" v3="3949" />
+ <tetrahedron index="13427" v0="2343" v1="3430" v2="3949" v3="3958" />
+ <tetrahedron index="13428" v0="1678" v1="2142" v2="2454" v3="3293" />
+ <tetrahedron index="13429" v0="2142" v1="2454" v2="3293" v3="3757" />
+ <tetrahedron index="13430" v0="2454" v1="3293" v2="3757" v3="4069" />
+ <tetrahedron index="13431" v0="2142" v1="2143" v2="2454" v3="3757" />
+ <tetrahedron index="13432" v0="2143" v1="2454" v2="3757" v3="3758" />
+ <tetrahedron index="13433" v0="2454" v1="3757" v2="3758" v3="4069" />
+ <tetrahedron index="13434" v0="1628" v1="1629" v2="1868" v3="3243" />
+ <tetrahedron index="13435" v0="1629" v1="1868" v2="3243" v3="3244" />
+ <tetrahedron index="13436" v0="1868" v1="3243" v2="3244" v3="3483" />
+ <tetrahedron index="13437" v0="1795" v1="2507" v2="2753" v3="3410" />
+ <tetrahedron index="13438" v0="2507" v1="2753" v2="3410" v3="4122" />
+ <tetrahedron index="13439" v0="2753" v1="3410" v2="4122" v3="4368" />
+ <tetrahedron index="13440" v0="1793" v1="1795" v2="2753" v3="3408" />
+ <tetrahedron index="13441" v0="1795" v1="2753" v2="3408" v3="3410" />
+ <tetrahedron index="13442" v0="2753" v1="3408" v2="3410" v3="4368" />
+ <tetrahedron index="13443" v0="1628" v1="1868" v2="2686" v3="3243" />
+ <tetrahedron index="13444" v0="1868" v1="2686" v2="3243" v3="3483" />
+ <tetrahedron index="13445" v0="2686" v1="3243" v2="3483" v3="4301" />
+ <tetrahedron index="13446" v0="2557" v1="2754" v2="2755" v3="4172" />
+ <tetrahedron index="13447" v0="2754" v1="2755" v2="4172" v3="4369" />
+ <tetrahedron index="13448" v0="2755" v1="4172" v2="4369" v3="4370" />
+ <tetrahedron index="13449" v0="1862" v1="2020" v2="2756" v3="3477" />
+ <tetrahedron index="13450" v0="2020" v1="2756" v2="3477" v3="3635" />
+ <tetrahedron index="13451" v0="2756" v1="3477" v2="3635" v3="4371" />
+ <tetrahedron index="13452" v0="2130" v1="2196" v2="2757" v3="3745" />
+ <tetrahedron index="13453" v0="2196" v1="2757" v2="3745" v3="3811" />
+ <tetrahedron index="13454" v0="2757" v1="3745" v2="3811" v3="4372" />
+ <tetrahedron index="13455" v0="2196" v1="2227" v2="2757" v3="3811" />
+ <tetrahedron index="13456" v0="2227" v1="2757" v2="3811" v3="3842" />
+ <tetrahedron index="13457" v0="2757" v1="3811" v2="3842" v3="4372" />
+ <tetrahedron index="13458" v0="2379" v1="2626" v2="2691" v3="3994" />
+ <tetrahedron index="13459" v0="2626" v1="2691" v2="3994" v3="4241" />
+ <tetrahedron index="13460" v0="2691" v1="3994" v2="4241" v3="4306" />
+ <tetrahedron index="13461" v0="2391" v1="2679" v2="2705" v3="4006" />
+ <tetrahedron index="13462" v0="2679" v1="2705" v2="4006" v3="4294" />
+ <tetrahedron index="13463" v0="2705" v1="4006" v2="4294" v3="4320" />
+ <tetrahedron index="13464" v0="2392" v1="2693" v2="2758" v3="4007" />
+ <tetrahedron index="13465" v0="2693" v1="2758" v2="4007" v3="4308" />
+ <tetrahedron index="13466" v0="2758" v1="4007" v2="4308" v3="4373" />
+ <tetrahedron index="13467" v0="2635" v1="2693" v2="2758" v3="4250" />
+ <tetrahedron index="13468" v0="2693" v1="2758" v2="4250" v3="4308" />
+ <tetrahedron index="13469" v0="2758" v1="4250" v2="4308" v3="4373" />
+ <tetrahedron index="13470" v0="1851" v1="2759" v2="2760" v3="3466" />
+ <tetrahedron index="13471" v0="2759" v1="2760" v2="3466" v3="4374" />
+ <tetrahedron index="13472" v0="2760" v1="3466" v2="4374" v3="4375" />
+ <tetrahedron index="13473" v0="2086" v1="2087" v2="2761" v3="3701" />
+ <tetrahedron index="13474" v0="2087" v1="2761" v2="3701" v3="3702" />
+ <tetrahedron index="13475" v0="2761" v1="3701" v2="3702" v3="4376" />
+ <tetrahedron index="13476" v0="2762" v1="2763" v2="2764" v3="4377" />
+ <tetrahedron index="13477" v0="2763" v1="2764" v2="4377" v3="4378" />
+ <tetrahedron index="13478" v0="2764" v1="4377" v2="4378" v3="4379" />
+ <tetrahedron index="13479" v0="2127" v1="2129" v2="2482" v3="3742" />
+ <tetrahedron index="13480" v0="2129" v1="2482" v2="3742" v3="3744" />
+ <tetrahedron index="13481" v0="2482" v1="3742" v2="3744" v3="4097" />
+ <tetrahedron index="13482" v0="2251" v1="2253" v2="2522" v3="3866" />
+ <tetrahedron index="13483" v0="2253" v1="2522" v2="3866" v3="3868" />
+ <tetrahedron index="13484" v0="2522" v1="3866" v2="3868" v3="4137" />
+ <tetrahedron index="13485" v0="2691" v1="2719" v2="2765" v3="4306" />
+ <tetrahedron index="13486" v0="2719" v1="2765" v2="4306" v3="4334" />
+ <tetrahedron index="13487" v0="2765" v1="4306" v2="4334" v3="4380" />
+ <tetrahedron index="13488" v0="2062" v1="2303" v2="2737" v3="3677" />
+ <tetrahedron index="13489" v0="2303" v1="2737" v2="3677" v3="3918" />
+ <tetrahedron index="13490" v0="2737" v1="3677" v2="3918" v3="4352" />
+ <tetrahedron index="13491" v0="2326" v1="2327" v2="2561" v3="3941" />
+ <tetrahedron index="13492" v0="2327" v1="2561" v2="3941" v3="3942" />
+ <tetrahedron index="13493" v0="2561" v1="3941" v2="3942" v3="4176" />
+ <tetrahedron index="13494" v0="2253" v1="2291" v2="2766" v3="3868" />
+ <tetrahedron index="13495" v0="2291" v1="2766" v2="3868" v3="3906" />
+ <tetrahedron index="13496" v0="2766" v1="3868" v2="3906" v3="4381" />
+ <tetrahedron index="13497" v0="2253" v1="2521" v2="2766" v3="3868" />
+ <tetrahedron index="13498" v0="2521" v1="2766" v2="3868" v3="4136" />
+ <tetrahedron index="13499" v0="2766" v1="3868" v2="4136" v3="4381" />
+ <tetrahedron index="13500" v0="1684" v1="1687" v2="2767" v3="3299" />
+ <tetrahedron index="13501" v0="1687" v1="2767" v2="3299" v3="3302" />
+ <tetrahedron index="13502" v0="2767" v1="3299" v2="3302" v3="4382" />
+ <tetrahedron index="13503" v0="1684" v1="1685" v2="2767" v3="3299" />
+ <tetrahedron index="13504" v0="1685" v1="2767" v2="3299" v3="3300" />
+ <tetrahedron index="13505" v0="2767" v1="3299" v2="3300" v3="4382" />
+ <tetrahedron index="13506" v0="2768" v1="2769" v2="2770" v3="4383" />
+ <tetrahedron index="13507" v0="2769" v1="2770" v2="4383" v3="4384" />
+ <tetrahedron index="13508" v0="2770" v1="4383" v2="4384" v3="4385" />
+ <tetrahedron index="13509" v0="2189" v1="2190" v2="2771" v3="3804" />
+ <tetrahedron index="13510" v0="2190" v1="2771" v2="3804" v3="3805" />
+ <tetrahedron index="13511" v0="2771" v1="3804" v2="3805" v3="4386" />
+ <tetrahedron index="13512" v0="2190" v1="2323" v2="2771" v3="3805" />
+ <tetrahedron index="13513" v0="2323" v1="2771" v2="3805" v3="3938" />
+ <tetrahedron index="13514" v0="2771" v1="3805" v2="3938" v3="4386" />
+ <tetrahedron index="13515" v0="1702" v1="2071" v2="2772" v3="3317" />
+ <tetrahedron index="13516" v0="2071" v1="2772" v2="3317" v3="3686" />
+ <tetrahedron index="13517" v0="2772" v1="3317" v2="3686" v3="4387" />
+ <tetrahedron index="13518" v0="1700" v1="1702" v2="2772" v3="3315" />
+ <tetrahedron index="13519" v0="1702" v1="2772" v2="3315" v3="3317" />
+ <tetrahedron index="13520" v0="2772" v1="3315" v2="3317" v3="4387" />
+ <tetrahedron index="13521" v0="2552" v1="2732" v2="2773" v3="4167" />
+ <tetrahedron index="13522" v0="2732" v1="2773" v2="4167" v3="4347" />
+ <tetrahedron index="13523" v0="2773" v1="4167" v2="4347" v3="4388" />
+ <tetrahedron index="13524" v0="2732" v1="2773" v2="2774" v3="4347" />
+ <tetrahedron index="13525" v0="2773" v1="2774" v2="4347" v3="4388" />
+ <tetrahedron index="13526" v0="2774" v1="4347" v2="4388" v3="4389" />
+ <tetrahedron index="13527" v0="1848" v1="1910" v2="2715" v3="3463" />
+ <tetrahedron index="13528" v0="1910" v1="2715" v2="3463" v3="3525" />
+ <tetrahedron index="13529" v0="2715" v1="3463" v2="3525" v3="4330" />
+ <tetrahedron index="13530" v0="2333" v1="2424" v2="2775" v3="3948" />
+ <tetrahedron index="13531" v0="2424" v1="2775" v2="3948" v3="4039" />
+ <tetrahedron index="13532" v0="2775" v1="3948" v2="4039" v3="4390" />
+ <tetrahedron index="13533" v0="2179" v1="2617" v2="2776" v3="3794" />
+ <tetrahedron index="13534" v0="2617" v1="2776" v2="3794" v3="4232" />
+ <tetrahedron index="13535" v0="2776" v1="3794" v2="4232" v3="4391" />
+ <tetrahedron index="13536" v0="2179" v1="2399" v2="2776" v3="3794" />
+ <tetrahedron index="13537" v0="2399" v1="2776" v2="3794" v3="4014" />
+ <tetrahedron index="13538" v0="2776" v1="3794" v2="4014" v3="4391" />
+ <tetrahedron index="13539" v0="2777" v1="2778" v2="2779" v3="4392" />
+ <tetrahedron index="13540" v0="2778" v1="2779" v2="4392" v3="4393" />
+ <tetrahedron index="13541" v0="2779" v1="4392" v2="4393" v3="4394" />
+ <tetrahedron index="13542" v0="2607" v1="2719" v2="2780" v3="4222" />
+ <tetrahedron index="13543" v0="2719" v1="2780" v2="4222" v3="4334" />
+ <tetrahedron index="13544" v0="2780" v1="4222" v2="4334" v3="4395" />
+ <tetrahedron index="13545" v0="2163" v1="2424" v2="2781" v3="3778" />
+ <tetrahedron index="13546" v0="2424" v1="2781" v2="3778" v3="4039" />
+ <tetrahedron index="13547" v0="2781" v1="3778" v2="4039" v3="4396" />
+ <tetrahedron index="13548" v0="2008" v1="2314" v2="2782" v3="3623" />
+ <tetrahedron index="13549" v0="2314" v1="2782" v2="3623" v3="3929" />
+ <tetrahedron index="13550" v0="2782" v1="3623" v2="3929" v3="4397" />
+ <tetrahedron index="13551" v0="1680" v1="2158" v2="2728" v3="3295" />
+ <tetrahedron index="13552" v0="2158" v1="2728" v2="3295" v3="3773" />
+ <tetrahedron index="13553" v0="2728" v1="3295" v2="3773" v3="4343" />
+ <tetrahedron index="13554" v0="1885" v1="1956" v2="2783" v3="3500" />
+ <tetrahedron index="13555" v0="1956" v1="2783" v2="3500" v3="3571" />
+ <tetrahedron index="13556" v0="2783" v1="3500" v2="3571" v3="4398" />
+ <tetrahedron index="13557" v0="1827" v1="1885" v2="2783" v3="3442" />
+ <tetrahedron index="13558" v0="1885" v1="2783" v2="3442" v3="3500" />
+ <tetrahedron index="13559" v0="2783" v1="3442" v2="3500" v3="4398" />
+ <tetrahedron index="13560" v0="1637" v1="2348" v2="2349" v3="3252" />
+ <tetrahedron index="13561" v0="2348" v1="2349" v2="3252" v3="3963" />
+ <tetrahedron index="13562" v0="2349" v1="3252" v2="3963" v3="3964" />
+ <tetrahedron index="13563" v0="2723" v1="2784" v2="2785" v3="4338" />
+ <tetrahedron index="13564" v0="2784" v1="2785" v2="4338" v3="4399" />
+ <tetrahedron index="13565" v0="2785" v1="4338" v2="4399" v3="4400" />
+ <tetrahedron index="13566" v0="2786" v1="2787" v2="2788" v3="4401" />
+ <tetrahedron index="13567" v0="2787" v1="2788" v2="4401" v3="4402" />
+ <tetrahedron index="13568" v0="2788" v1="4401" v2="4402" v3="4403" />
+ <tetrahedron index="13569" v0="2749" v1="2787" v2="2788" v3="4364" />
+ <tetrahedron index="13570" v0="2787" v1="2788" v2="4364" v3="4402" />
+ <tetrahedron index="13571" v0="2788" v1="4364" v2="4402" v3="4403" />
+ <tetrahedron index="13572" v0="2688" v1="2760" v2="2789" v3="4303" />
+ <tetrahedron index="13573" v0="2760" v1="2789" v2="4303" v3="4375" />
+ <tetrahedron index="13574" v0="2789" v1="4303" v2="4375" v3="4404" />
+ <tetrahedron index="13575" v0="1830" v1="2080" v2="2081" v3="3445" />
+ <tetrahedron index="13576" v0="2080" v1="2081" v2="3445" v3="3695" />
+ <tetrahedron index="13577" v0="2081" v1="3445" v2="3695" v3="3696" />
+ <tetrahedron index="13578" v0="2193" v1="2382" v2="2790" v3="3808" />
+ <tetrahedron index="13579" v0="2382" v1="2790" v2="3808" v3="3997" />
+ <tetrahedron index="13580" v0="2790" v1="3808" v2="3997" v3="4405" />
+ <tetrahedron index="13581" v0="2193" v1="2761" v2="2790" v3="3808" />
+ <tetrahedron index="13582" v0="2761" v1="2790" v2="3808" v3="4376" />
+ <tetrahedron index="13583" v0="2790" v1="3808" v2="4376" v3="4405" />
+ <tetrahedron index="13584" v0="2574" v1="2664" v2="2791" v3="4189" />
+ <tetrahedron index="13585" v0="2664" v1="2791" v2="4189" v3="4279" />
+ <tetrahedron index="13586" v0="2791" v1="4189" v2="4279" v3="4406" />
+ <tetrahedron index="13587" v0="2159" v1="2221" v2="2792" v3="3774" />
+ <tetrahedron index="13588" v0="2221" v1="2792" v2="3774" v3="3836" />
+ <tetrahedron index="13589" v0="2792" v1="3774" v2="3836" v3="4407" />
+ <tetrahedron index="13590" v0="2387" v1="2736" v2="2745" v3="4002" />
+ <tetrahedron index="13591" v0="2736" v1="2745" v2="4002" v3="4351" />
+ <tetrahedron index="13592" v0="2745" v1="4002" v2="4351" v3="4360" />
+ <tetrahedron index="13593" v0="2114" v1="2364" v2="2563" v3="3729" />
+ <tetrahedron index="13594" v0="2364" v1="2563" v2="3729" v3="3979" />
+ <tetrahedron index="13595" v0="2563" v1="3729" v2="3979" v3="4178" />
+ <tetrahedron index="13596" v0="2113" v1="2114" v2="2563" v3="3728" />
+ <tetrahedron index="13597" v0="2114" v1="2563" v2="3728" v3="3729" />
+ <tetrahedron index="13598" v0="2563" v1="3728" v2="3729" v3="4178" />
+ <tetrahedron index="13599" v0="1884" v1="2740" v2="2793" v3="3499" />
+ <tetrahedron index="13600" v0="2740" v1="2793" v2="3499" v3="4355" />
+ <tetrahedron index="13601" v0="2793" v1="3499" v2="4355" v3="4408" />
+ <tetrahedron index="13602" v0="2566" v1="2597" v2="2741" v3="4181" />
+ <tetrahedron index="13603" v0="2597" v1="2741" v2="4181" v3="4212" />
+ <tetrahedron index="13604" v0="2741" v1="4181" v2="4212" v3="4356" />
+ <tetrahedron index="13605" v0="2682" v1="2683" v2="2744" v3="4297" />
+ <tetrahedron index="13606" v0="2683" v1="2744" v2="4297" v3="4298" />
+ <tetrahedron index="13607" v0="2744" v1="4297" v2="4298" v3="4359" />
+ <tetrahedron index="13608" v0="1649" v1="1757" v2="1886" v3="3264" />
+ <tetrahedron index="13609" v0="1757" v1="1886" v2="3264" v3="3372" />
+ <tetrahedron index="13610" v0="1886" v1="3264" v2="3372" v3="3501" />
+ <tetrahedron index="13611" v0="1634" v1="1757" v2="1886" v3="3249" />
+ <tetrahedron index="13612" v0="1757" v1="1886" v2="3249" v3="3372" />
+ <tetrahedron index="13613" v0="1886" v1="3249" v2="3372" v3="3501" />
+ <tetrahedron index="13614" v0="2507" v1="2702" v2="2753" v3="4122" />
+ <tetrahedron index="13615" v0="2702" v1="2753" v2="4122" v3="4317" />
+ <tetrahedron index="13616" v0="2753" v1="4122" v2="4317" v3="4368" />
+ <tetrahedron index="13617" v0="2307" v1="2702" v2="2753" v3="3922" />
+ <tetrahedron index="13618" v0="2702" v1="2753" v2="3922" v3="4317" />
+ <tetrahedron index="13619" v0="2753" v1="3922" v2="4317" v3="4368" />
+ <tetrahedron index="13620" v0="2307" v1="2453" v2="2753" v3="3922" />
+ <tetrahedron index="13621" v0="2453" v1="2753" v2="3922" v3="4068" />
+ <tetrahedron index="13622" v0="2753" v1="3922" v2="4068" v3="4368" />
+ <tetrahedron index="13623" v0="1793" v1="2453" v2="2753" v3="3408" />
+ <tetrahedron index="13624" v0="2453" v1="2753" v2="3408" v3="4068" />
+ <tetrahedron index="13625" v0="2753" v1="3408" v2="4068" v3="4368" />
+ <tetrahedron index="13626" v0="1865" v1="2257" v2="2500" v3="3480" />
+ <tetrahedron index="13627" v0="2257" v1="2500" v2="3480" v3="3872" />
+ <tetrahedron index="13628" v0="2500" v1="3480" v2="3872" v3="4115" />
+ <tetrahedron index="13629" v0="1923" v1="2257" v2="2500" v3="3538" />
+ <tetrahedron index="13630" v0="2257" v1="2500" v2="3538" v3="3872" />
+ <tetrahedron index="13631" v0="2500" v1="3538" v2="3872" v3="4115" />
+ <tetrahedron index="13632" v0="1731" v1="1919" v2="1921" v3="3346" />
+ <tetrahedron index="13633" v0="1919" v1="1921" v2="3346" v3="3534" />
+ <tetrahedron index="13634" v0="1921" v1="3346" v2="3534" v3="3536" />
+ <tetrahedron index="13635" v0="1835" v1="2794" v2="2795" v3="3450" />
+ <tetrahedron index="13636" v0="2794" v1="2795" v2="3450" v3="4409" />
+ <tetrahedron index="13637" v0="2795" v1="3450" v2="4409" v3="4410" />
+ <tetrahedron index="13638" v0="1862" v1="2262" v2="2756" v3="3477" />
+ <tetrahedron index="13639" v0="2262" v1="2756" v2="3477" v3="3877" />
+ <tetrahedron index="13640" v0="2756" v1="3477" v2="3877" v3="4371" />
+ <tetrahedron index="13641" v0="2379" v1="2380" v2="2719" v3="3994" />
+ <tetrahedron index="13642" v0="2380" v1="2719" v2="3994" v3="3995" />
+ <tetrahedron index="13643" v0="2719" v1="3994" v2="3995" v3="4334" />
+ <tetrahedron index="13644" v0="2379" v1="2691" v2="2719" v3="3994" />
+ <tetrahedron index="13645" v0="2691" v1="2719" v2="3994" v3="4306" />
+ <tetrahedron index="13646" v0="2719" v1="3994" v2="4306" v3="4334" />
+ <tetrahedron index="13647" v0="1772" v1="2143" v2="2796" v3="3387" />
+ <tetrahedron index="13648" v0="2143" v1="2796" v2="3387" v3="3758" />
+ <tetrahedron index="13649" v0="2796" v1="3387" v2="3758" v3="4411" />
+ <tetrahedron index="13650" v0="1772" v1="2183" v2="2796" v3="3387" />
+ <tetrahedron index="13651" v0="2183" v1="2796" v2="3387" v3="3798" />
+ <tetrahedron index="13652" v0="2796" v1="3387" v2="3798" v3="4411" />
+ <tetrahedron index="13653" v0="1709" v1="1710" v2="2202" v3="3324" />
+ <tetrahedron index="13654" v0="1710" v1="2202" v2="3324" v3="3325" />
+ <tetrahedron index="13655" v0="2202" v1="3324" v2="3325" v3="3817" />
+ <tetrahedron index="13656" v0="1709" v1="2202" v2="2717" v3="3324" />
+ <tetrahedron index="13657" v0="2202" v1="2717" v2="3324" v3="3817" />
+ <tetrahedron index="13658" v0="2717" v1="3324" v2="3817" v3="4332" />
+ <tetrahedron index="13659" v0="2225" v1="2227" v2="2757" v3="3840" />
+ <tetrahedron index="13660" v0="2227" v1="2757" v2="3840" v3="3842" />
+ <tetrahedron index="13661" v0="2757" v1="3840" v2="3842" v3="4372" />
+ <tetrahedron index="13662" v0="2052" v1="2130" v2="2757" v3="3667" />
+ <tetrahedron index="13663" v0="2130" v1="2757" v2="3667" v3="3745" />
+ <tetrahedron index="13664" v0="2757" v1="3667" v2="3745" v3="4372" />
+ <tetrahedron index="13665" v0="2082" v1="2083" v2="2305" v3="3697" />
+ <tetrahedron index="13666" v0="2083" v1="2305" v2="3697" v3="3698" />
+ <tetrahedron index="13667" v0="2305" v1="3697" v2="3698" v3="3920" />
+ <tetrahedron index="13668" v0="1703" v1="1704" v2="2774" v3="3318" />
+ <tetrahedron index="13669" v0="1704" v1="2774" v2="3318" v3="3319" />
+ <tetrahedron index="13670" v0="2774" v1="3318" v2="3319" v3="4389" />
+ <tetrahedron index="13671" v0="2313" v1="2683" v2="2744" v3="3928" />
+ <tetrahedron index="13672" v0="2683" v1="2744" v2="3928" v3="4298" />
+ <tetrahedron index="13673" v0="2744" v1="3928" v2="4298" v3="4359" />
+ <tetrahedron index="13674" v0="2313" v1="2381" v2="2744" v3="3928" />
+ <tetrahedron index="13675" v0="2381" v1="2744" v2="3928" v3="3996" />
+ <tetrahedron index="13676" v0="2744" v1="3928" v2="3996" v3="4359" />
+ <tetrahedron index="13677" v0="2393" v1="2646" v2="2797" v3="4008" />
+ <tetrahedron index="13678" v0="2646" v1="2797" v2="4008" v3="4261" />
+ <tetrahedron index="13679" v0="2797" v1="4008" v2="4261" v3="4412" />
+ <tetrahedron index="13680" v0="2393" v1="2395" v2="2797" v3="4008" />
+ <tetrahedron index="13681" v0="2395" v1="2797" v2="4008" v3="4010" />
+ <tetrahedron index="13682" v0="2797" v1="4008" v2="4010" v3="4412" />
+ <tetrahedron index="13683" v0="2303" v1="2599" v2="2737" v3="3918" />
+ <tetrahedron index="13684" v0="2599" v1="2737" v2="3918" v3="4214" />
+ <tetrahedron index="13685" v0="2737" v1="3918" v2="4214" v3="4352" />
+ <tetrahedron index="13686" v0="2391" v1="2392" v2="2758" v3="4006" />
+ <tetrahedron index="13687" v0="2392" v1="2758" v2="4006" v3="4007" />
+ <tetrahedron index="13688" v0="2758" v1="4006" v2="4007" v3="4373" />
+ <tetrahedron index="13689" v0="2391" v1="2705" v2="2758" v3="4006" />
+ <tetrahedron index="13690" v0="2705" v1="2758" v2="4006" v3="4320" />
+ <tetrahedron index="13691" v0="2758" v1="4006" v2="4320" v3="4373" />
+ <tetrahedron index="13692" v0="2159" v1="2367" v2="2792" v3="3774" />
+ <tetrahedron index="13693" v0="2367" v1="2792" v2="3774" v3="3982" />
+ <tetrahedron index="13694" v0="2792" v1="3774" v2="3982" v3="4407" />
+ <tetrahedron index="13695" v0="2367" v1="2655" v2="2792" v3="3982" />
+ <tetrahedron index="13696" v0="2655" v1="2792" v2="3982" v3="4270" />
+ <tetrahedron index="13697" v0="2792" v1="3982" v2="4270" v3="4407" />
+ <tetrahedron index="13698" v0="1895" v1="2193" v2="2761" v3="3510" />
+ <tetrahedron index="13699" v0="2193" v1="2761" v2="3510" v3="3808" />
+ <tetrahedron index="13700" v0="2761" v1="3510" v2="3808" v3="4376" />
+ <tetrahedron index="13701" v0="2034" v1="2087" v2="2790" v3="3649" />
+ <tetrahedron index="13702" v0="2087" v1="2790" v2="3649" v3="3702" />
+ <tetrahedron index="13703" v0="2790" v1="3649" v2="3702" v3="4405" />
+ <tetrahedron index="13704" v0="2087" v1="2761" v2="2790" v3="3702" />
+ <tetrahedron index="13705" v0="2761" v1="2790" v2="3702" v3="4376" />
+ <tetrahedron index="13706" v0="2790" v1="3702" v2="4376" v3="4405" />
+ <tetrahedron index="13707" v0="2477" v1="2486" v2="2555" v3="4092" />
+ <tetrahedron index="13708" v0="2486" v1="2555" v2="4092" v3="4101" />
+ <tetrahedron index="13709" v0="2555" v1="4092" v2="4101" v3="4170" />
+ <tetrahedron index="13710" v0="2477" v1="2538" v2="2555" v3="4092" />
+ <tetrahedron index="13711" v0="2538" v1="2555" v2="4092" v3="4153" />
+ <tetrahedron index="13712" v0="2555" v1="4092" v2="4153" v3="4170" />
+ <tetrahedron index="13713" v0="1628" v1="2686" v2="2712" v3="3243" />
+ <tetrahedron index="13714" v0="2686" v1="2712" v2="3243" v3="4301" />
+ <tetrahedron index="13715" v0="2712" v1="3243" v2="4301" v3="4327" />
+ <tetrahedron index="13716" v0="2575" v1="2691" v2="2765" v3="4190" />
+ <tetrahedron index="13717" v0="2691" v1="2765" v2="4190" v3="4306" />
+ <tetrahedron index="13718" v0="2765" v1="4190" v2="4306" v3="4380" />
+ <tetrahedron index="13719" v0="2575" v1="2583" v2="2765" v3="4190" />
+ <tetrahedron index="13720" v0="2583" v1="2765" v2="4190" v3="4198" />
+ <tetrahedron index="13721" v0="2765" v1="4190" v2="4198" v3="4380" />
+ <tetrahedron index="13722" v0="2508" v1="2765" v2="2798" v3="4123" />
+ <tetrahedron index="13723" v0="2765" v1="2798" v2="4123" v3="4380" />
+ <tetrahedron index="13724" v0="2798" v1="4123" v2="4380" v3="4413" />
+ <tetrahedron index="13725" v0="2508" v1="2583" v2="2765" v3="4123" />
+ <tetrahedron index="13726" v0="2583" v1="2765" v2="4123" v3="4198" />
+ <tetrahedron index="13727" v0="2765" v1="4123" v2="4198" v3="4380" />
+ <tetrahedron index="13728" v0="1868" v1="1869" v2="2290" v3="3483" />
+ <tetrahedron index="13729" v0="1869" v1="2290" v2="3483" v3="3484" />
+ <tetrahedron index="13730" v0="2290" v1="3483" v2="3484" v3="3905" />
+ <tetrahedron index="13731" v0="2418" v1="2419" v2="2428" v3="4033" />
+ <tetrahedron index="13732" v0="2419" v1="2428" v2="4033" v3="4034" />
+ <tetrahedron index="13733" v0="2428" v1="4033" v2="4034" v3="4043" />
+ <tetrahedron index="13734" v0="2601" v1="2728" v2="2799" v3="4216" />
+ <tetrahedron index="13735" v0="2728" v1="2799" v2="4216" v3="4343" />
+ <tetrahedron index="13736" v0="2799" v1="4216" v2="4343" v3="4414" />
+ <tetrahedron index="13737" v0="2158" v1="2601" v2="2728" v3="3773" />
+ <tetrahedron index="13738" v0="2601" v1="2728" v2="3773" v3="4216" />
+ <tetrahedron index="13739" v0="2728" v1="3773" v2="4216" v3="4343" />
+ <tetrahedron index="13740" v0="1910" v1="2545" v2="2715" v3="3525" />
+ <tetrahedron index="13741" v0="2545" v1="2715" v2="3525" v3="4160" />
+ <tetrahedron index="13742" v0="2715" v1="3525" v2="4160" v3="4330" />
+ <tetrahedron index="13743" v0="2545" v1="2622" v2="2715" v3="4160" />
+ <tetrahedron index="13744" v0="2622" v1="2715" v2="4160" v3="4237" />
+ <tetrahedron index="13745" v0="2715" v1="4160" v2="4237" v3="4330" />
+ <tetrahedron index="13746" v0="2340" v1="2800" v2="2801" v3="3955" />
+ <tetrahedron index="13747" v0="2800" v1="2801" v2="3955" v3="4415" />
+ <tetrahedron index="13748" v0="2801" v1="3955" v2="4415" v3="4416" />
+ <tetrahedron index="13749" v0="2318" v1="2732" v2="2733" v3="3933" />
+ <tetrahedron index="13750" v0="2732" v1="2733" v2="3933" v3="4347" />
+ <tetrahedron index="13751" v0="2733" v1="3933" v2="4347" v3="4348" />
+ <tetrahedron index="13752" v0="2318" v1="2552" v2="2732" v3="3933" />
+ <tetrahedron index="13753" v0="2552" v1="2732" v2="3933" v3="4167" />
+ <tetrahedron index="13754" v0="2732" v1="3933" v2="4167" v3="4347" />
+ <tetrahedron index="13755" v0="2157" v1="2713" v2="2802" v3="3772" />
+ <tetrahedron index="13756" v0="2713" v1="2802" v2="3772" v3="4328" />
+ <tetrahedron index="13757" v0="2802" v1="3772" v2="4328" v3="4417" />
+ <tetrahedron index="13758" v0="2509" v1="2510" v2="2613" v3="4124" />
+ <tetrahedron index="13759" v0="2510" v1="2613" v2="4124" v3="4125" />
+ <tetrahedron index="13760" v0="2613" v1="4124" v2="4125" v3="4228" />
+ <tetrahedron index="13761" v0="2510" v1="2613" v2="2692" v3="4125" />
+ <tetrahedron index="13762" v0="2613" v1="2692" v2="4125" v3="4228" />
+ <tetrahedron index="13763" v0="2692" v1="4125" v2="4228" v3="4307" />
+ <tetrahedron index="13764" v0="1781" v1="2616" v2="2767" v3="3396" />
+ <tetrahedron index="13765" v0="2616" v1="2767" v2="3396" v3="4231" />
+ <tetrahedron index="13766" v0="2767" v1="3396" v2="4231" v3="4382" />
+ <tetrahedron index="13767" v0="1687" v1="1781" v2="2767" v3="3302" />
+ <tetrahedron index="13768" v0="1781" v1="2767" v2="3302" v3="3396" />
+ <tetrahedron index="13769" v0="2767" v1="3302" v2="3396" v3="4382" />
+ <tetrahedron index="13770" v0="2189" v1="2771" v2="2803" v3="3804" />
+ <tetrahedron index="13771" v0="2771" v1="2803" v2="3804" v3="4386" />
+ <tetrahedron index="13772" v0="2803" v1="3804" v2="4386" v3="4418" />
+ <tetrahedron index="13773" v0="2323" v1="2771" v2="2802" v3="3938" />
+ <tetrahedron index="13774" v0="2771" v1="2802" v2="3938" v3="4386" />
+ <tetrahedron index="13775" v0="2802" v1="3938" v2="4386" v3="4417" />
+ <tetrahedron index="13776" v0="2332" v1="2804" v2="2805" v3="3947" />
+ <tetrahedron index="13777" v0="2804" v1="2805" v2="3947" v3="4419" />
+ <tetrahedron index="13778" v0="2805" v1="3947" v2="4419" v3="4420" />
+ <tetrahedron index="13779" v0="2071" v1="2546" v2="2772" v3="3686" />
+ <tetrahedron index="13780" v0="2546" v1="2772" v2="3686" v3="4161" />
+ <tetrahedron index="13781" v0="2772" v1="3686" v2="4161" v3="4387" />
+ <tetrahedron index="13782" v0="2306" v1="2546" v2="2772" v3="3921" />
+ <tetrahedron index="13783" v0="2546" v1="2772" v2="3921" v3="4161" />
+ <tetrahedron index="13784" v0="2772" v1="3921" v2="4161" v3="4387" />
+ <tetrahedron index="13785" v0="2306" v1="2308" v2="2772" v3="3921" />
+ <tetrahedron index="13786" v0="2308" v1="2772" v2="3921" v3="3923" />
+ <tetrahedron index="13787" v0="2772" v1="3921" v2="3923" v3="4387" />
+ <tetrahedron index="13788" v0="1700" v1="2308" v2="2772" v3="3315" />
+ <tetrahedron index="13789" v0="2308" v1="2772" v2="3315" v3="3923" />
+ <tetrahedron index="13790" v0="2772" v1="3315" v2="3923" v3="4387" />
+ <tetrahedron index="13791" v0="1776" v1="2566" v2="2741" v3="3391" />
+ <tetrahedron index="13792" v0="2566" v1="2741" v2="3391" v3="4181" />
+ <tetrahedron index="13793" v0="2741" v1="3391" v2="4181" v3="4356" />
+ <tetrahedron index="13794" v0="1776" v1="2514" v2="2741" v3="3391" />
+ <tetrahedron index="13795" v0="2514" v1="2741" v2="3391" v3="4129" />
+ <tetrahedron index="13796" v0="2741" v1="3391" v2="4129" v3="4356" />
+ <tetrahedron index="13797" v0="2065" v1="2552" v2="2806" v3="3680" />
+ <tetrahedron index="13798" v0="2552" v1="2806" v2="3680" v3="4167" />
+ <tetrahedron index="13799" v0="2806" v1="3680" v2="4167" v3="4421" />
+ <tetrahedron index="13800" v0="2271" v1="2474" v2="2589" v3="3886" />
+ <tetrahedron index="13801" v0="2474" v1="2589" v2="3886" v3="4089" />
+ <tetrahedron index="13802" v0="2589" v1="3886" v2="4089" v3="4204" />
+ <tetrahedron index="13803" v0="2474" v1="2589" v2="2707" v3="4089" />
+ <tetrahedron index="13804" v0="2589" v1="2707" v2="4089" v3="4204" />
+ <tetrahedron index="13805" v0="2707" v1="4089" v2="4204" v3="4322" />
+ <tetrahedron index="13806" v0="2251" v1="2391" v2="2522" v3="3866" />
+ <tetrahedron index="13807" v0="2391" v1="2522" v2="3866" v3="4006" />
+ <tetrahedron index="13808" v0="2522" v1="3866" v2="4006" v3="4137" />
+ <tetrahedron index="13809" v0="2391" v1="2522" v2="2679" v3="4006" />
+ <tetrahedron index="13810" v0="2522" v1="2679" v2="4006" v3="4137" />
+ <tetrahedron index="13811" v0="2679" v1="4006" v2="4137" v3="4294" />
+ <tetrahedron index="13812" v0="2532" v1="2637" v2="2807" v3="4147" />
+ <tetrahedron index="13813" v0="2637" v1="2807" v2="4147" v3="4252" />
+ <tetrahedron index="13814" v0="2807" v1="4147" v2="4252" v3="4422" />
+ <tetrahedron index="13815" v0="2637" v1="2639" v2="2807" v3="4252" />
+ <tetrahedron index="13816" v0="2639" v1="2807" v2="4252" v3="4254" />
+ <tetrahedron index="13817" v0="2807" v1="4252" v2="4254" v3="4422" />
+ <tetrahedron index="13818" v0="2533" v1="2616" v2="2767" v3="4148" />
+ <tetrahedron index="13819" v0="2616" v1="2767" v2="4148" v3="4231" />
+ <tetrahedron index="13820" v0="2767" v1="4148" v2="4231" v3="4382" />
+ <tetrahedron index="13821" v0="1685" v1="2533" v2="2767" v3="3300" />
+ <tetrahedron index="13822" v0="2533" v1="2767" v2="3300" v3="4148" />
+ <tetrahedron index="13823" v0="2767" v1="3300" v2="4148" v3="4382" />
+ <tetrahedron index="13824" v0="1848" v1="2039" v2="2715" v3="3463" />
+ <tetrahedron index="13825" v0="2039" v1="2715" v2="3463" v3="3654" />
+ <tetrahedron index="13826" v0="2715" v1="3463" v2="3654" v3="4330" />
+ <tetrahedron index="13827" v0="2039" v1="2624" v2="2715" v3="3654" />
+ <tetrahedron index="13828" v0="2624" v1="2715" v2="3654" v3="4239" />
+ <tetrahedron index="13829" v0="2715" v1="3654" v2="4239" v3="4330" />
+ <tetrahedron index="13830" v0="2332" v1="2333" v2="2775" v3="3947" />
+ <tetrahedron index="13831" v0="2333" v1="2775" v2="3947" v3="3948" />
+ <tetrahedron index="13832" v0="2775" v1="3947" v2="3948" v3="4390" />
+ <tetrahedron index="13833" v0="2332" v1="2775" v2="2805" v3="3947" />
+ <tetrahedron index="13834" v0="2775" v1="2805" v2="3947" v3="4390" />
+ <tetrahedron index="13835" v0="2805" v1="3947" v2="4390" v3="4420" />
+ <tetrahedron index="13836" v0="2655" v1="2792" v2="2808" v3="4270" />
+ <tetrahedron index="13837" v0="2792" v1="2808" v2="4270" v3="4407" />
+ <tetrahedron index="13838" v0="2808" v1="4270" v2="4407" v3="4423" />
+ <tetrahedron index="13839" v0="2791" v1="2809" v2="2810" v3="4406" />
+ <tetrahedron index="13840" v0="2809" v1="2810" v2="4406" v3="4424" />
+ <tetrahedron index="13841" v0="2810" v1="4406" v2="4424" v3="4425" />
+ <tetrahedron index="13842" v0="2664" v1="2791" v2="2809" v3="4279" />
+ <tetrahedron index="13843" v0="2791" v1="2809" v2="4279" v3="4406" />
+ <tetrahedron index="13844" v0="2809" v1="4279" v2="4406" v3="4424" />
+ <tetrahedron index="13845" v0="2353" v1="2599" v2="2737" v3="3968" />
+ <tetrahedron index="13846" v0="2599" v1="2737" v2="3968" v3="4214" />
+ <tetrahedron index="13847" v0="2737" v1="3968" v2="4214" v3="4352" />
+ <tetrahedron index="13848" v0="2803" v1="2811" v2="2812" v3="4418" />
+ <tetrahedron index="13849" v0="2811" v1="2812" v2="4418" v3="4426" />
+ <tetrahedron index="13850" v0="2812" v1="4418" v2="4426" v3="4427" />
+ <tetrahedron index="13851" v0="2617" v1="2729" v2="2776" v3="4232" />
+ <tetrahedron index="13852" v0="2729" v1="2776" v2="4232" v3="4344" />
+ <tetrahedron index="13853" v0="2776" v1="4232" v2="4344" v3="4391" />
+ <tetrahedron index="13854" v0="2600" v1="2729" v2="2776" v3="4215" />
+ <tetrahedron index="13855" v0="2729" v1="2776" v2="4215" v3="4344" />
+ <tetrahedron index="13856" v0="2776" v1="4215" v2="4344" v3="4391" />
+ <tetrahedron index="13857" v0="2063" v1="2704" v2="2813" v3="3678" />
+ <tetrahedron index="13858" v0="2704" v1="2813" v2="3678" v3="4319" />
+ <tetrahedron index="13859" v0="2813" v1="3678" v2="4319" v3="4428" />
+ <tetrahedron index="13860" v0="2063" v1="2587" v2="2704" v3="3678" />
+ <tetrahedron index="13861" v0="2587" v1="2704" v2="3678" v3="4202" />
+ <tetrahedron index="13862" v0="2704" v1="3678" v2="4202" v3="4319" />
+ <tetrahedron index="13863" v0="2724" v1="2804" v2="2814" v3="4339" />
+ <tetrahedron index="13864" v0="2804" v1="2814" v2="4339" v3="4419" />
+ <tetrahedron index="13865" v0="2814" v1="4339" v2="4419" v3="4429" />
+ <tetrahedron index="13866" v0="2766" v1="2815" v2="2816" v3="4381" />
+ <tetrahedron index="13867" v0="2815" v1="2816" v2="4381" v3="4430" />
+ <tetrahedron index="13868" v0="2816" v1="4381" v2="4430" v3="4431" />
+ <tetrahedron index="13869" v0="2521" v1="2766" v2="2816" v3="4136" />
+ <tetrahedron index="13870" v0="2766" v1="2816" v2="4136" v3="4381" />
+ <tetrahedron index="13871" v0="2816" v1="4136" v2="4381" v3="4431" />
+ <tetrahedron index="13872" v0="2007" v1="2551" v2="2699" v3="3622" />
+ <tetrahedron index="13873" v0="2551" v1="2699" v2="3622" v3="4166" />
+ <tetrahedron index="13874" v0="2699" v1="3622" v2="4166" v3="4314" />
+ <tetrahedron index="13875" v0="2007" v1="2008" v2="2699" v3="3622" />
+ <tetrahedron index="13876" v0="2008" v1="2699" v2="3622" v3="3623" />
+ <tetrahedron index="13877" v0="2699" v1="3622" v2="3623" v3="4314" />
+ <tetrahedron index="13878" v0="2665" v1="2666" v2="2817" v3="4280" />
+ <tetrahedron index="13879" v0="2666" v1="2817" v2="4280" v3="4281" />
+ <tetrahedron index="13880" v0="2817" v1="4280" v2="4281" v3="4432" />
+ <tetrahedron index="13881" v0="2229" v1="2666" v2="2817" v3="3844" />
+ <tetrahedron index="13882" v0="2666" v1="2817" v2="3844" v3="4281" />
+ <tetrahedron index="13883" v0="2817" v1="3844" v2="4281" v3="4432" />
+ <tetrahedron index="13884" v0="2008" v1="2699" v2="2782" v3="3623" />
+ <tetrahedron index="13885" v0="2699" v1="2782" v2="3623" v3="4314" />
+ <tetrahedron index="13886" v0="2782" v1="3623" v2="4314" v3="4397" />
+ <tetrahedron index="13887" v0="2601" v1="2799" v2="2818" v3="4216" />
+ <tetrahedron index="13888" v0="2799" v1="2818" v2="4216" v3="4414" />
+ <tetrahedron index="13889" v0="2818" v1="4216" v2="4414" v3="4433" />
+ <tetrahedron index="13890" v0="2799" v1="2818" v2="2819" v3="4414" />
+ <tetrahedron index="13891" v0="2818" v1="2819" v2="4414" v3="4433" />
+ <tetrahedron index="13892" v0="2819" v1="4414" v2="4433" v3="4434" />
+ <tetrahedron index="13893" v0="2408" v1="2409" v2="2518" v3="4023" />
+ <tetrahedron index="13894" v0="2409" v1="2518" v2="4023" v3="4024" />
+ <tetrahedron index="13895" v0="2518" v1="4023" v2="4024" v3="4133" />
+ <tetrahedron index="13896" v0="2409" v1="2518" v2="2820" v3="4024" />
+ <tetrahedron index="13897" v0="2518" v1="2820" v2="4024" v3="4133" />
+ <tetrahedron index="13898" v0="2820" v1="4024" v2="4133" v3="4435" />
+ <tetrahedron index="13899" v0="2122" v1="2571" v2="2821" v3="3737" />
+ <tetrahedron index="13900" v0="2571" v1="2821" v2="3737" v3="4186" />
+ <tetrahedron index="13901" v0="2821" v1="3737" v2="4186" v3="4436" />
+ <tetrahedron index="13902" v0="2121" v1="2122" v2="2821" v3="3736" />
+ <tetrahedron index="13903" v0="2122" v1="2821" v2="3736" v3="3737" />
+ <tetrahedron index="13904" v0="2821" v1="3736" v2="3737" v3="4436" />
+ <tetrahedron index="13905" v0="1709" v1="2408" v2="2717" v3="3324" />
+ <tetrahedron index="13906" v0="2408" v1="2717" v2="3324" v3="4023" />
+ <tetrahedron index="13907" v0="2717" v1="3324" v2="4023" v3="4332" />
+ <tetrahedron index="13908" v0="1709" v1="2408" v2="2517" v3="3324" />
+ <tetrahedron index="13909" v0="2408" v1="2517" v2="3324" v3="4023" />
+ <tetrahedron index="13910" v0="2517" v1="3324" v2="4023" v3="4132" />
+ <tetrahedron index="13911" v0="1750" v1="2337" v2="2555" v3="3365" />
+ <tetrahedron index="13912" v0="2337" v1="2555" v2="3365" v3="3952" />
+ <tetrahedron index="13913" v0="2555" v1="3365" v2="3952" v3="4170" />
+ <tetrahedron index="13914" v0="1750" v1="2486" v2="2555" v3="3365" />
+ <tetrahedron index="13915" v0="2486" v1="2555" v2="3365" v3="4101" />
+ <tetrahedron index="13916" v0="2555" v1="3365" v2="4101" v3="4170" />
+ <tetrahedron index="13917" v0="2040" v1="2672" v2="2822" v3="3655" />
+ <tetrahedron index="13918" v0="2672" v1="2822" v2="3655" v3="4287" />
+ <tetrahedron index="13919" v0="2822" v1="3655" v2="4287" v3="4437" />
+ <tetrahedron index="13920" v0="2040" v1="2217" v2="2672" v3="3655" />
+ <tetrahedron index="13921" v0="2217" v1="2672" v2="3655" v3="3832" />
+ <tetrahedron index="13922" v0="2672" v1="3655" v2="3832" v3="4287" />
+ <tetrahedron index="13923" v0="2242" v1="2357" v2="2783" v3="3857" />
+ <tetrahedron index="13924" v0="2357" v1="2783" v2="3857" v3="3972" />
+ <tetrahedron index="13925" v0="2783" v1="3857" v2="3972" v3="4398" />
+ <tetrahedron index="13926" v0="1956" v1="2357" v2="2783" v3="3571" />
+ <tetrahedron index="13927" v0="2357" v1="2783" v2="3571" v3="3972" />
+ <tetrahedron index="13928" v0="2783" v1="3571" v2="3972" v3="4398" />
+ <tetrahedron index="13929" v0="2242" v1="2262" v2="2783" v3="3857" />
+ <tetrahedron index="13930" v0="2262" v1="2783" v2="3857" v3="3877" />
+ <tetrahedron index="13931" v0="2783" v1="3857" v2="3877" v3="4398" />
+ <tetrahedron index="13932" v0="1827" v1="2262" v2="2783" v3="3442" />
+ <tetrahedron index="13933" v0="2262" v1="2783" v2="3442" v3="3877" />
+ <tetrahedron index="13934" v0="2783" v1="3442" v2="3877" v3="4398" />
+ <tetrahedron index="13935" v0="1673" v1="1674" v2="2720" v3="3288" />
+ <tetrahedron index="13936" v0="1674" v1="2720" v2="3288" v3="3289" />
+ <tetrahedron index="13937" v0="2720" v1="3288" v2="3289" v3="4335" />
+ <tetrahedron index="13938" v0="2020" v1="2756" v2="2823" v3="3635" />
+ <tetrahedron index="13939" v0="2756" v1="2823" v2="3635" v3="4371" />
+ <tetrahedron index="13940" v0="2823" v1="3635" v2="4371" v3="4438" />
+ <tetrahedron index="13941" v0="2065" v1="2529" v2="2731" v3="3680" />
+ <tetrahedron index="13942" v0="2529" v1="2731" v2="3680" v3="4144" />
+ <tetrahedron index="13943" v0="2731" v1="3680" v2="4144" v3="4346" />
+ <tetrahedron index="13944" v0="2161" v1="2163" v2="2785" v3="3776" />
+ <tetrahedron index="13945" v0="2163" v1="2785" v2="3776" v3="3778" />
+ <tetrahedron index="13946" v0="2785" v1="3776" v2="3778" v3="4400" />
+ <tetrahedron index="13947" v0="2161" v1="2439" v2="2785" v3="3776" />
+ <tetrahedron index="13948" v0="2439" v1="2785" v2="3776" v3="4054" />
+ <tetrahedron index="13949" v0="2785" v1="3776" v2="4054" v3="4400" />
+ <tetrahedron index="13950" v0="1789" v1="2607" v2="2780" v3="3404" />
+ <tetrahedron index="13951" v0="2607" v1="2780" v2="3404" v3="4222" />
+ <tetrahedron index="13952" v0="2780" v1="3404" v2="4222" v3="4395" />
+ <tetrahedron index="13953" v0="1789" v1="1794" v2="2780" v3="3404" />
+ <tetrahedron index="13954" v0="1794" v1="2780" v2="3404" v3="3409" />
+ <tetrahedron index="13955" v0="2780" v1="3404" v2="3409" v3="4395" />
+ <tetrahedron index="13956" v0="2327" v1="2386" v2="2561" v3="3942" />
+ <tetrahedron index="13957" v0="2386" v1="2561" v2="3942" v3="4001" />
+ <tetrahedron index="13958" v0="2561" v1="3942" v2="4001" v3="4176" />
+ <tetrahedron index="13959" v0="2524" v1="2574" v2="2791" v3="4139" />
+ <tetrahedron index="13960" v0="2574" v1="2791" v2="4139" v3="4189" />
+ <tetrahedron index="13961" v0="2791" v1="4139" v2="4189" v3="4406" />
+ <tetrahedron index="13962" v0="1658" v1="1674" v2="1675" v3="3273" />
+ <tetrahedron index="13963" v0="1674" v1="1675" v2="3273" v3="3289" />
+ <tetrahedron index="13964" v0="1675" v1="3273" v2="3289" v3="3290" />
+ <tetrahedron index="13965" v0="1658" v1="1674" v2="1763" v3="3273" />
+ <tetrahedron index="13966" v0="1674" v1="1763" v2="3273" v3="3289" />
+ <tetrahedron index="13967" v0="1763" v1="3273" v2="3289" v3="3378" />
+ <tetrahedron index="13968" v0="1898" v1="2610" v2="2787" v3="3513" />
+ <tetrahedron index="13969" v0="2610" v1="2787" v2="3513" v3="4225" />
+ <tetrahedron index="13970" v0="2787" v1="3513" v2="4225" v3="4402" />
+ <tetrahedron index="13971" v0="1898" v1="2749" v2="2787" v3="3513" />
+ <tetrahedron index="13972" v0="2749" v1="2787" v2="3513" v3="4364" />
+ <tetrahedron index="13973" v0="2787" v1="3513" v2="4364" v3="4402" />
+ <tetrahedron index="13974" v0="2716" v1="2718" v2="2730" v3="4331" />
+ <tetrahedron index="13975" v0="2718" v1="2730" v2="4331" v3="4333" />
+ <tetrahedron index="13976" v0="2730" v1="4331" v2="4333" v3="4345" />
+ <tetrahedron index="13977" v0="2716" v1="2717" v2="2718" v3="4331" />
+ <tetrahedron index="13978" v0="2717" v1="2718" v2="4331" v3="4332" />
+ <tetrahedron index="13979" v0="2718" v1="4331" v2="4332" v3="4333" />
+ <tetrahedron index="13980" v0="2387" v1="2515" v2="2736" v3="4002" />
+ <tetrahedron index="13981" v0="2515" v1="2736" v2="4002" v3="4130" />
+ <tetrahedron index="13982" v0="2736" v1="4002" v2="4130" v3="4351" />
+ <tetrahedron index="13983" v0="2375" v1="2515" v2="2736" v3="3990" />
+ <tetrahedron index="13984" v0="2515" v1="2736" v2="3990" v3="4130" />
+ <tetrahedron index="13985" v0="2736" v1="3990" v2="4130" v3="4351" />
+ <tetrahedron index="13986" v0="2759" v1="2760" v2="2789" v3="4374" />
+ <tetrahedron index="13987" v0="2760" v1="2789" v2="4374" v3="4375" />
+ <tetrahedron index="13988" v0="2789" v1="4374" v2="4375" v3="4404" />
+ <tetrahedron index="13989" v0="2292" v1="2466" v2="2547" v3="3907" />
+ <tetrahedron index="13990" v0="2466" v1="2547" v2="3907" v3="4081" />
+ <tetrahedron index="13991" v0="2547" v1="3907" v2="4081" v3="4162" />
+ <tetrahedron index="13992" v0="2292" v1="2466" v2="2467" v3="3907" />
+ <tetrahedron index="13993" v0="2466" v1="2467" v2="3907" v3="4081" />
+ <tetrahedron index="13994" v0="2467" v1="3907" v2="4081" v3="4082" />
+ <tetrahedron index="13995" v0="1724" v1="2102" v2="2824" v3="3339" />
+ <tetrahedron index="13996" v0="2102" v1="2824" v2="3339" v3="3717" />
+ <tetrahedron index="13997" v0="2824" v1="3339" v2="3717" v3="4439" />
+ <tetrahedron index="13998" v0="2250" v1="2382" v2="2790" v3="3865" />
+ <tetrahedron index="13999" v0="2382" v1="2790" v2="3865" v3="3997" />
+ <tetrahedron index="14000" v0="2790" v1="3865" v2="3997" v3="4405" />
+ <tetrahedron index="14001" v0="2034" v1="2250" v2="2790" v3="3649" />
+ <tetrahedron index="14002" v0="2250" v1="2790" v2="3649" v3="3865" />
+ <tetrahedron index="14003" v0="2790" v1="3649" v2="3865" v3="4405" />
+ <tetrahedron index="14004" v0="2723" v1="2781" v2="2785" v3="4338" />
+ <tetrahedron index="14005" v0="2781" v1="2785" v2="4338" v3="4396" />
+ <tetrahedron index="14006" v0="2785" v1="4338" v2="4396" v3="4400" />
+ <tetrahedron index="14007" v0="2163" v1="2781" v2="2785" v3="3778" />
+ <tetrahedron index="14008" v0="2781" v1="2785" v2="3778" v3="4396" />
+ <tetrahedron index="14009" v0="2785" v1="3778" v2="4396" v3="4400" />
+ <tetrahedron index="14010" v0="2628" v1="2629" v2="2738" v3="4243" />
+ <tetrahedron index="14011" v0="2629" v1="2738" v2="4243" v3="4244" />
+ <tetrahedron index="14012" v0="2738" v1="4243" v2="4244" v3="4353" />
+ <tetrahedron index="14013" v0="1884" v1="2591" v2="2740" v3="3499" />
+ <tetrahedron index="14014" v0="2591" v1="2740" v2="3499" v3="4206" />
+ <tetrahedron index="14015" v0="2740" v1="3499" v2="4206" v3="4355" />
+ <tetrahedron index="14016" v0="2591" v1="2667" v2="2740" v3="4206" />
+ <tetrahedron index="14017" v0="2667" v1="2740" v2="4206" v3="4282" />
+ <tetrahedron index="14018" v0="2740" v1="4206" v2="4282" v3="4355" />
+ <tetrahedron index="14019" v0="2062" v1="2587" v2="2737" v3="3677" />
+ <tetrahedron index="14020" v0="2587" v1="2737" v2="3677" v3="4202" />
+ <tetrahedron index="14021" v0="2737" v1="3677" v2="4202" v3="4352" />
+ <tetrahedron index="14022" v0="2198" v1="2587" v2="2737" v3="3813" />
+ <tetrahedron index="14023" v0="2587" v1="2737" v2="3813" v3="4202" />
+ <tetrahedron index="14024" v0="2737" v1="3813" v2="4202" v3="4352" />
+ <tetrahedron index="14025" v0="1728" v1="2114" v2="2592" v3="3343" />
+ <tetrahedron index="14026" v0="2114" v1="2592" v2="3343" v3="3729" />
+ <tetrahedron index="14027" v0="2592" v1="3343" v2="3729" v3="4207" />
+ <tetrahedron index="14028" v0="2114" v1="2364" v2="2592" v3="3729" />
+ <tetrahedron index="14029" v0="2364" v1="2592" v2="3729" v3="3979" />
+ <tetrahedron index="14030" v0="2592" v1="3729" v2="3979" v3="4207" />
+ <tetrahedron index="14031" v0="2629" v1="2634" v2="2738" v3="4244" />
+ <tetrahedron index="14032" v0="2634" v1="2738" v2="4244" v3="4249" />
+ <tetrahedron index="14033" v0="2738" v1="4244" v2="4249" v3="4353" />
+ <tetrahedron index="14034" v0="2634" v1="2690" v2="2738" v3="4249" />
+ <tetrahedron index="14035" v0="2690" v1="2738" v2="4249" v3="4305" />
+ <tetrahedron index="14036" v0="2738" v1="4249" v2="4305" v3="4353" />
+ <tetrahedron index="14037" v0="2419" v1="2663" v2="2809" v3="4034" />
+ <tetrahedron index="14038" v0="2663" v1="2809" v2="4034" v3="4278" />
+ <tetrahedron index="14039" v0="2809" v1="4034" v2="4278" v3="4424" />
+ <tetrahedron index="14040" v0="2663" v1="2664" v2="2809" v3="4278" />
+ <tetrahedron index="14041" v0="2664" v1="2809" v2="4278" v3="4279" />
+ <tetrahedron index="14042" v0="2809" v1="4278" v2="4279" v3="4424" />
+ <tetrahedron index="14043" v0="2789" v1="2825" v2="2826" v3="4404" />
+ <tetrahedron index="14044" v0="2825" v1="2826" v2="4404" v3="4440" />
+ <tetrahedron index="14045" v0="2826" v1="4404" v2="4440" v3="4441" />
+ <tetrahedron index="14046" v0="1985" v1="1987" v2="2827" v3="3600" />
+ <tetrahedron index="14047" v0="1987" v1="2827" v2="3600" v3="3602" />
+ <tetrahedron index="14048" v0="2827" v1="3600" v2="3602" v3="4442" />
+ <tetrahedron index="14049" v0="2568" v1="2630" v2="2741" v3="4183" />
+ <tetrahedron index="14050" v0="2630" v1="2741" v2="4183" v3="4245" />
+ <tetrahedron index="14051" v0="2741" v1="4183" v2="4245" v3="4356" />
+ <tetrahedron index="14052" v0="2568" v1="2597" v2="2741" v3="4183" />
+ <tetrahedron index="14053" v0="2597" v1="2741" v2="4183" v3="4212" />
+ <tetrahedron index="14054" v0="2741" v1="4183" v2="4212" v3="4356" />
+ <tetrahedron index="14055" v0="2441" v1="2535" v2="2808" v3="4056" />
+ <tetrahedron index="14056" v0="2535" v1="2808" v2="4056" v3="4150" />
+ <tetrahedron index="14057" v0="2808" v1="4056" v2="4150" v3="4423" />
+ <tetrahedron index="14058" v0="2392" v1="2693" v2="2828" v3="4007" />
+ <tetrahedron index="14059" v0="2693" v1="2828" v2="4007" v3="4308" />
+ <tetrahedron index="14060" v0="2828" v1="4007" v2="4308" v3="4443" />
+ <tetrahedron index="14061" v0="2428" v1="2565" v2="2829" v3="4043" />
+ <tetrahedron index="14062" v0="2565" v1="2829" v2="4043" v3="4180" />
+ <tetrahedron index="14063" v0="2829" v1="4043" v2="4180" v3="4444" />
+ <tetrahedron index="14064" v0="2092" v1="2472" v2="2830" v3="3707" />
+ <tetrahedron index="14065" v0="2472" v1="2830" v2="3707" v3="4087" />
+ <tetrahedron index="14066" v0="2830" v1="3707" v2="4087" v3="4445" />
+ <tetrahedron index="14067" v0="2472" v1="2613" v2="2692" v3="4087" />
+ <tetrahedron index="14068" v0="2613" v1="2692" v2="4087" v3="4228" />
+ <tetrahedron index="14069" v0="2692" v1="4087" v2="4228" v3="4307" />
+ <tetrahedron index="14070" v0="2092" v1="2472" v2="2613" v3="3707" />
+ <tetrahedron index="14071" v0="2472" v1="2613" v2="3707" v3="4087" />
+ <tetrahedron index="14072" v0="2613" v1="3707" v2="4087" v3="4228" />
+ <tetrahedron index="14073" v0="2769" v1="2831" v2="2832" v3="4384" />
+ <tetrahedron index="14074" v0="2831" v1="2832" v2="4384" v3="4446" />
+ <tetrahedron index="14075" v0="2832" v1="4384" v2="4446" v3="4447" />
+ <tetrahedron index="14076" v0="2424" v1="2775" v2="2781" v3="4039" />
+ <tetrahedron index="14077" v0="2775" v1="2781" v2="4039" v3="4390" />
+ <tetrahedron index="14078" v0="2781" v1="4039" v2="4390" v3="4396" />
+ <tetrahedron index="14079" v0="1868" v1="2290" v2="2359" v3="3483" />
+ <tetrahedron index="14080" v0="2290" v1="2359" v2="3483" v3="3905" />
+ <tetrahedron index="14081" v0="2359" v1="3483" v2="3905" v3="3974" />
+ <tetrahedron index="14082" v0="1868" v1="2359" v2="2686" v3="3483" />
+ <tetrahedron index="14083" v0="2359" v1="2686" v2="3483" v3="3974" />
+ <tetrahedron index="14084" v0="2686" v1="3483" v2="3974" v3="4301" />
+ <tetrahedron index="14085" v0="2665" v1="2672" v2="2817" v3="4280" />
+ <tetrahedron index="14086" v0="2672" v1="2817" v2="4280" v3="4287" />
+ <tetrahedron index="14087" v0="2817" v1="4280" v2="4287" v3="4432" />
+ <tetrahedron index="14088" v0="2672" v1="2817" v2="2822" v3="4287" />
+ <tetrahedron index="14089" v0="2817" v1="2822" v2="4287" v3="4432" />
+ <tetrahedron index="14090" v0="2822" v1="4287" v2="4432" v3="4437" />
+ <tetrahedron index="14091" v0="2716" v1="2729" v2="2730" v3="4331" />
+ <tetrahedron index="14092" v0="2729" v1="2730" v2="4331" v3="4344" />
+ <tetrahedron index="14093" v0="2730" v1="4331" v2="4344" v3="4345" />
+ <tetrahedron index="14094" v0="2617" v1="2716" v2="2729" v3="4232" />
+ <tetrahedron index="14095" v0="2716" v1="2729" v2="4232" v3="4331" />
+ <tetrahedron index="14096" v0="2729" v1="4232" v2="4331" v3="4344" />
+ <tetrahedron index="14097" v0="2736" v1="2744" v2="2745" v3="4351" />
+ <tetrahedron index="14098" v0="2744" v1="2745" v2="4351" v3="4359" />
+ <tetrahedron index="14099" v0="2745" v1="4351" v2="4359" v3="4360" />
+ <tetrahedron index="14100" v0="2682" v1="2736" v2="2744" v3="4297" />
+ <tetrahedron index="14101" v0="2736" v1="2744" v2="4297" v3="4351" />
+ <tetrahedron index="14102" v0="2744" v1="4297" v2="4351" v3="4359" />
+ <tetrahedron index="14103" v0="1801" v1="2469" v2="2619" v3="3416" />
+ <tetrahedron index="14104" v0="2469" v1="2619" v2="3416" v3="4084" />
+ <tetrahedron index="14105" v0="2619" v1="3416" v2="4084" v3="4234" />
+ <tetrahedron index="14106" v0="2226" v1="2399" v2="2776" v3="3841" />
+ <tetrahedron index="14107" v0="2399" v1="2776" v2="3841" v3="4014" />
+ <tetrahedron index="14108" v0="2776" v1="3841" v2="4014" v3="4391" />
+ <tetrahedron index="14109" v0="2127" v1="2482" v2="2833" v3="3742" />
+ <tetrahedron index="14110" v0="2482" v1="2833" v2="3742" v3="4097" />
+ <tetrahedron index="14111" v0="2833" v1="3742" v2="4097" v3="4448" />
+ <tetrahedron index="14112" v0="2358" v1="2359" v2="2670" v3="3973" />
+ <tetrahedron index="14113" v0="2359" v1="2670" v2="3973" v3="3974" />
+ <tetrahedron index="14114" v0="2670" v1="3973" v2="3974" v3="4285" />
+ <tetrahedron index="14115" v0="2290" v1="2359" v2="2670" v3="3905" />
+ <tetrahedron index="14116" v0="2359" v1="2670" v2="3905" v3="3974" />
+ <tetrahedron index="14117" v0="2670" v1="3905" v2="3974" v3="4285" />
+ <tetrahedron index="14118" v0="1704" v1="2734" v2="2774" v3="3319" />
+ <tetrahedron index="14119" v0="2734" v1="2774" v2="3319" v3="4349" />
+ <tetrahedron index="14120" v0="2774" v1="3319" v2="4349" v3="4389" />
+ <tetrahedron index="14121" v0="2732" v1="2734" v2="2774" v3="4347" />
+ <tetrahedron index="14122" v0="2734" v1="2774" v2="4347" v3="4349" />
+ <tetrahedron index="14123" v0="2774" v1="4347" v2="4349" v3="4389" />
+ <tetrahedron index="14124" v0="2225" v1="2399" v2="2834" v3="3840" />
+ <tetrahedron index="14125" v0="2399" v1="2834" v2="3840" v3="4014" />
+ <tetrahedron index="14126" v0="2834" v1="3840" v2="4014" v3="4449" />
+ <tetrahedron index="14127" v0="1654" v1="2183" v2="2187" v3="3269" />
+ <tetrahedron index="14128" v0="2183" v1="2187" v2="3269" v3="3798" />
+ <tetrahedron index="14129" v0="2187" v1="3269" v2="3798" v3="3802" />
+ <tetrahedron index="14130" v0="1621" v1="2005" v2="2602" v3="3236" />
+ <tetrahedron index="14131" v0="2005" v1="2602" v2="3236" v3="3620" />
+ <tetrahedron index="14132" v0="2602" v1="3236" v2="3620" v3="4217" />
+ <tetrahedron index="14133" v0="1817" v1="1818" v2="2249" v3="3432" />
+ <tetrahedron index="14134" v0="1818" v1="2249" v2="3432" v3="3433" />
+ <tetrahedron index="14135" v0="2249" v1="3432" v2="3433" v3="3864" />
+ <tetrahedron index="14136" v0="2491" v1="2570" v2="2835" v3="4106" />
+ <tetrahedron index="14137" v0="2570" v1="2835" v2="4106" v3="4185" />
+ <tetrahedron index="14138" v0="2835" v1="4106" v2="4185" v3="4450" />
+ <tetrahedron index="14139" v0="2236" v1="2237" v2="2743" v3="3851" />
+ <tetrahedron index="14140" v0="2237" v1="2743" v2="3851" v3="3852" />
+ <tetrahedron index="14141" v0="2743" v1="3851" v2="3852" v3="4358" />
+ <tetrahedron index="14142" v0="2051" v1="2052" v2="2836" v3="3666" />
+ <tetrahedron index="14143" v0="2052" v1="2836" v2="3666" v3="3667" />
+ <tetrahedron index="14144" v0="2836" v1="3666" v2="3667" v3="4451" />
+ <tetrahedron index="14145" v0="2268" v1="2288" v2="2370" v3="3883" />
+ <tetrahedron index="14146" v0="2288" v1="2370" v2="3883" v3="3903" />
+ <tetrahedron index="14147" v0="2370" v1="3883" v2="3903" v3="3985" />
+ <tetrahedron index="14148" v0="2550" v1="2837" v2="2838" v3="4165" />
+ <tetrahedron index="14149" v0="2837" v1="2838" v2="4165" v3="4452" />
+ <tetrahedron index="14150" v0="2838" v1="4165" v2="4452" v3="4453" />
+ <tetrahedron index="14151" v0="1812" v1="1813" v2="2826" v3="3427" />
+ <tetrahedron index="14152" v0="1813" v1="2826" v2="3427" v3="3428" />
+ <tetrahedron index="14153" v0="2826" v1="3427" v2="3428" v3="4441" />
+ <tetrahedron index="14154" v0="2092" v1="2830" v2="2839" v3="3707" />
+ <tetrahedron index="14155" v0="2830" v1="2839" v2="3707" v3="4445" />
+ <tetrahedron index="14156" v0="2839" v1="3707" v2="4445" v3="4454" />
+ <tetrahedron index="14157" v0="2769" v1="2831" v2="2840" v3="4384" />
+ <tetrahedron index="14158" v0="2831" v1="2840" v2="4384" v3="4446" />
+ <tetrahedron index="14159" v0="2840" v1="4384" v2="4446" v3="4455" />
+ <tetrahedron index="14160" v0="2268" v1="2288" v2="2841" v3="3883" />
+ <tetrahedron index="14161" v0="2288" v1="2841" v2="3883" v3="3903" />
+ <tetrahedron index="14162" v0="2841" v1="3883" v2="3903" v3="4456" />
+ <tetrahedron index="14163" v0="2020" v1="2823" v2="2842" v3="3635" />
+ <tetrahedron index="14164" v0="2823" v1="2842" v2="3635" v3="4438" />
+ <tetrahedron index="14165" v0="2842" v1="3635" v2="4438" v3="4457" />
+ <tetrahedron index="14166" v0="1986" v1="2843" v2="2844" v3="3601" />
+ <tetrahedron index="14167" v0="2843" v1="2844" v2="3601" v3="4458" />
+ <tetrahedron index="14168" v0="2844" v1="3601" v2="4458" v3="4459" />
+ <tetrahedron index="14169" v0="1801" v1="2469" v2="2845" v3="3416" />
+ <tetrahedron index="14170" v0="2469" v1="2845" v2="3416" v3="4084" />
+ <tetrahedron index="14171" v0="2845" v1="3416" v2="4084" v3="4460" />
+ <tetrahedron index="14172" v0="2020" v1="2356" v2="2842" v3="3635" />
+ <tetrahedron index="14173" v0="2356" v1="2842" v2="3635" v3="3971" />
+ <tetrahedron index="14174" v0="2842" v1="3635" v2="3971" v3="4457" />
+ <tetrahedron index="14175" v0="2846" v1="2847" v2="2848" v3="4461" />
+ <tetrahedron index="14176" v0="2847" v1="2848" v2="4461" v3="4462" />
+ <tetrahedron index="14177" v0="2848" v1="4461" v2="4462" v3="4463" />
+ <tetrahedron index="14178" v0="1624" v1="2095" v2="2269" v3="3239" />
+ <tetrahedron index="14179" v0="2095" v1="2269" v2="3239" v3="3710" />
+ <tetrahedron index="14180" v0="2269" v1="3239" v2="3710" v3="3884" />
+ <tetrahedron index="14181" v0="1936" v1="2599" v2="2849" v3="3551" />
+ <tetrahedron index="14182" v0="2599" v1="2849" v2="3551" v3="4214" />
+ <tetrahedron index="14183" v0="2849" v1="3551" v2="4214" v3="4464" />
+ <tetrahedron index="14184" v0="2303" v1="2599" v2="2849" v3="3918" />
+ <tetrahedron index="14185" v0="2599" v1="2849" v2="3918" v3="4214" />
+ <tetrahedron index="14186" v0="2849" v1="3918" v2="4214" v3="4464" />
+ <tetrahedron index="14187" v0="2303" v1="2849" v2="2850" v3="3918" />
+ <tetrahedron index="14188" v0="2849" v1="2850" v2="3918" v3="4464" />
+ <tetrahedron index="14189" v0="2850" v1="3918" v2="4464" v3="4465" />
+ <tetrahedron index="14190" v0="2225" v1="2834" v2="2851" v3="3840" />
+ <tetrahedron index="14191" v0="2834" v1="2851" v2="3840" v3="4449" />
+ <tetrahedron index="14192" v0="2851" v1="3840" v2="4449" v3="4466" />
+ <tetrahedron index="14193" v0="2829" v1="2852" v2="2853" v3="4444" />
+ <tetrahedron index="14194" v0="2852" v1="2853" v2="4444" v3="4467" />
+ <tetrahedron index="14195" v0="2853" v1="4444" v2="4467" v3="4468" />
+ <tetrahedron index="14196" v0="2036" v1="2037" v2="2812" v3="3651" />
+ <tetrahedron index="14197" v0="2037" v1="2812" v2="3651" v3="3652" />
+ <tetrahedron index="14198" v0="2812" v1="3651" v2="3652" v3="4427" />
+ <tetrahedron index="14199" v0="2037" v1="2811" v2="2812" v3="3652" />
+ <tetrahedron index="14200" v0="2811" v1="2812" v2="3652" v3="4426" />
+ <tetrahedron index="14201" v0="2812" v1="3652" v2="4426" v3="4427" />
+ <tetrahedron index="14202" v0="1654" v1="1764" v2="2183" v3="3269" />
+ <tetrahedron index="14203" v0="1764" v1="2183" v2="3269" v3="3379" />
+ <tetrahedron index="14204" v0="2183" v1="3269" v2="3379" v3="3798" />
+ <tetrahedron index="14205" v0="1653" v1="1654" v2="1764" v3="3268" />
+ <tetrahedron index="14206" v0="1654" v1="1764" v2="3268" v3="3269" />
+ <tetrahedron index="14207" v0="1764" v1="3268" v2="3269" v3="3379" />
+ <tetrahedron index="14208" v0="2409" v1="2707" v2="2854" v3="4024" />
+ <tetrahedron index="14209" v0="2707" v1="2854" v2="4024" v3="4322" />
+ <tetrahedron index="14210" v0="2854" v1="4024" v2="4322" v3="4469" />
+ <tetrahedron index="14211" v0="1782" v1="1784" v2="2400" v3="3397" />
+ <tetrahedron index="14212" v0="1784" v1="2400" v2="3397" v3="3399" />
+ <tetrahedron index="14213" v0="2400" v1="3397" v2="3399" v3="4015" />
+ <tetrahedron index="14214" v0="1784" v1="2355" v2="2400" v3="3399" />
+ <tetrahedron index="14215" v0="2355" v1="2400" v2="3399" v3="3970" />
+ <tetrahedron index="14216" v0="2400" v1="3399" v2="3970" v3="4015" />
+ <tetrahedron index="14217" v0="2050" v1="2137" v2="2490" v3="3665" />
+ <tetrahedron index="14218" v0="2137" v1="2490" v2="3665" v3="3752" />
+ <tetrahedron index="14219" v0="2490" v1="3665" v2="3752" v3="4105" />
+ <tetrahedron index="14220" v0="2855" v1="2856" v2="2857" v3="4470" />
+ <tetrahedron index="14221" v0="2856" v1="2857" v2="4470" v3="4471" />
+ <tetrahedron index="14222" v0="2857" v1="4470" v2="4471" v3="4472" />
+ <tetrahedron index="14223" v0="2080" v1="2081" v2="2213" v3="3695" />
+ <tetrahedron index="14224" v0="2081" v1="2213" v2="3695" v3="3696" />
+ <tetrahedron index="14225" v0="2213" v1="3695" v2="3696" v3="3828" />
+ <tetrahedron index="14226" v0="2080" v1="2213" v2="2293" v3="3695" />
+ <tetrahedron index="14227" v0="2213" v1="2293" v2="3695" v3="3828" />
+ <tetrahedron index="14228" v0="2293" v1="3695" v2="3828" v3="3908" />
+ <tetrahedron index="14229" v0="2156" v1="2157" v2="2858" v3="3771" />
+ <tetrahedron index="14230" v0="2157" v1="2858" v2="3771" v3="3772" />
+ <tetrahedron index="14231" v0="2858" v1="3771" v2="3772" v3="4473" />
+ <tetrahedron index="14232" v0="2543" v1="2544" v2="2755" v3="4158" />
+ <tetrahedron index="14233" v0="2544" v1="2755" v2="4158" v3="4159" />
+ <tetrahedron index="14234" v0="2755" v1="4158" v2="4159" v3="4370" />
+ <tetrahedron index="14235" v0="2543" v1="2557" v2="2755" v3="4158" />
+ <tetrahedron index="14236" v0="2557" v1="2755" v2="4158" v3="4172" />
+ <tetrahedron index="14237" v0="2755" v1="4158" v2="4172" v3="4370" />
+ <tetrahedron index="14238" v0="2074" v1="2075" v2="2859" v3="3689" />
+ <tetrahedron index="14239" v0="2075" v1="2859" v2="3689" v3="3690" />
+ <tetrahedron index="14240" v0="2859" v1="3689" v2="3690" v3="4474" />
+ <tetrahedron index="14241" v0="2074" v1="2811" v2="2859" v3="3689" />
+ <tetrahedron index="14242" v0="2811" v1="2859" v2="3689" v3="4426" />
+ <tetrahedron index="14243" v0="2859" v1="3689" v2="4426" v3="4474" />
+ <tetrahedron index="14244" v0="2860" v1="2861" v2="2862" v3="4475" />
+ <tetrahedron index="14245" v0="2861" v1="2862" v2="4475" v3="4476" />
+ <tetrahedron index="14246" v0="2862" v1="4475" v2="4476" v3="4477" />
+ <tetrahedron index="14247" v0="2340" v1="2533" v2="2800" v3="3955" />
+ <tetrahedron index="14248" v0="2533" v1="2800" v2="3955" v3="4148" />
+ <tetrahedron index="14249" v0="2800" v1="3955" v2="4148" v3="4415" />
+ <tetrahedron index="14250" v0="1649" v1="1887" v2="1938" v3="3264" />
+ <tetrahedron index="14251" v0="1887" v1="1938" v2="3264" v3="3502" />
+ <tetrahedron index="14252" v0="1938" v1="3264" v2="3502" v3="3553" />
+ <tetrahedron index="14253" v0="2094" v1="2120" v2="2615" v3="3709" />
+ <tetrahedron index="14254" v0="2120" v1="2615" v2="3709" v3="3735" />
+ <tetrahedron index="14255" v0="2615" v1="3709" v2="3735" v3="4230" />
+ <tetrahedron index="14256" v0="2863" v1="2864" v2="2865" v3="4478" />
+ <tetrahedron index="14257" v0="2864" v1="2865" v2="4478" v3="4479" />
+ <tetrahedron index="14258" v0="2865" v1="4478" v2="4479" v3="4480" />
+ <tetrahedron index="14259" v0="1820" v1="2704" v2="2813" v3="3435" />
+ <tetrahedron index="14260" v0="2704" v1="2813" v2="3435" v3="4319" />
+ <tetrahedron index="14261" v0="2813" v1="3435" v2="4319" v3="4428" />
+ <tetrahedron index="14262" v0="2133" v1="2150" v2="2348" v3="3748" />
+ <tetrahedron index="14263" v0="2150" v1="2348" v2="3748" v3="3765" />
+ <tetrahedron index="14264" v0="2348" v1="3748" v2="3765" v3="3963" />
+ <tetrahedron index="14265" v0="1638" v1="2150" v2="2348" v3="3253" />
+ <tetrahedron index="14266" v0="2150" v1="2348" v2="3253" v3="3765" />
+ <tetrahedron index="14267" v0="2348" v1="3253" v2="3765" v3="3963" />
+ <tetrahedron index="14268" v0="2409" v1="2707" v2="2820" v3="4024" />
+ <tetrahedron index="14269" v0="2707" v1="2820" v2="4024" v3="4322" />
+ <tetrahedron index="14270" v0="2820" v1="4024" v2="4322" v3="4435" />
+ <tetrahedron index="14271" v0="2588" v1="2707" v2="2820" v3="4203" />
+ <tetrahedron index="14272" v0="2707" v1="2820" v2="4203" v3="4322" />
+ <tetrahedron index="14273" v0="2820" v1="4203" v2="4322" v3="4435" />
+ <tetrahedron index="14274" v0="2611" v1="2866" v2="2867" v3="4226" />
+ <tetrahedron index="14275" v0="2866" v1="2867" v2="4226" v3="4481" />
+ <tetrahedron index="14276" v0="2867" v1="4226" v2="4481" v3="4482" />
+ <tetrahedron index="14277" v0="2191" v1="2526" v2="2752" v3="3806" />
+ <tetrahedron index="14278" v0="2526" v1="2752" v2="3806" v3="4141" />
+ <tetrahedron index="14279" v0="2752" v1="3806" v2="4141" v3="4367" />
+ <tetrahedron index="14280" v0="2526" v1="2639" v2="2752" v3="4141" />
+ <tetrahedron index="14281" v0="2639" v1="2752" v2="4141" v3="4254" />
+ <tetrahedron index="14282" v0="2752" v1="4141" v2="4254" v3="4367" />
+ <tetrahedron index="14283" v0="1997" v1="2191" v2="2530" v3="3612" />
+ <tetrahedron index="14284" v0="2191" v1="2530" v2="3612" v3="3806" />
+ <tetrahedron index="14285" v0="2530" v1="3612" v2="3806" v3="4145" />
+ <tetrahedron index="14286" v0="1997" v1="2190" v2="2191" v3="3612" />
+ <tetrahedron index="14287" v0="2190" v1="2191" v2="3612" v3="3805" />
+ <tetrahedron index="14288" v0="2191" v1="3612" v2="3805" v3="3806" />
+ <tetrahedron index="14289" v0="2056" v1="2745" v2="2868" v3="3671" />
+ <tetrahedron index="14290" v0="2745" v1="2868" v2="3671" v3="4360" />
+ <tetrahedron index="14291" v0="2868" v1="3671" v2="4360" v3="4483" />
+ <tetrahedron index="14292" v0="2614" v1="2621" v2="2869" v3="4229" />
+ <tetrahedron index="14293" v0="2621" v1="2869" v2="4229" v3="4236" />
+ <tetrahedron index="14294" v0="2869" v1="4229" v2="4236" v3="4484" />
+ <tetrahedron index="14295" v0="2181" v1="2614" v2="2869" v3="3796" />
+ <tetrahedron index="14296" v0="2614" v1="2869" v2="3796" v3="4229" />
+ <tetrahedron index="14297" v0="2869" v1="3796" v2="4229" v3="4484" />
+ <tetrahedron index="14298" v0="2086" v1="2330" v2="2850" v3="3701" />
+ <tetrahedron index="14299" v0="2330" v1="2850" v2="3701" v3="3945" />
+ <tetrahedron index="14300" v0="2850" v1="3701" v2="3945" v3="4465" />
+ <tetrahedron index="14301" v0="1724" v1="2824" v2="2870" v3="3339" />
+ <tetrahedron index="14302" v0="2824" v1="2870" v2="3339" v3="4439" />
+ <tetrahedron index="14303" v0="2870" v1="3339" v2="4439" v3="4485" />
+ <tetrahedron index="14304" v0="1615" v1="2824" v2="2870" v3="3230" />
+ <tetrahedron index="14305" v0="2824" v1="2870" v2="3230" v3="4439" />
+ <tetrahedron index="14306" v0="2870" v1="3230" v2="4439" v3="4485" />
+ <tetrahedron index="14307" v0="2651" v1="2653" v2="2871" v3="4266" />
+ <tetrahedron index="14308" v0="2653" v1="2871" v2="4266" v3="4268" />
+ <tetrahedron index="14309" v0="2871" v1="4266" v2="4268" v3="4486" />
+ <tetrahedron index="14310" v0="2110" v1="2111" v2="2872" v3="3725" />
+ <tetrahedron index="14311" v0="2111" v1="2872" v2="3725" v3="3726" />
+ <tetrahedron index="14312" v0="2872" v1="3725" v2="3726" v3="4487" />
+ <tetrahedron index="14313" v0="2873" v1="2874" v2="2875" v3="4488" />
+ <tetrahedron index="14314" v0="2874" v1="2875" v2="4488" v3="4489" />
+ <tetrahedron index="14315" v0="2875" v1="4488" v2="4489" v3="4490" />
+ <tetrahedron index="14316" v0="1672" v1="1870" v2="2876" v3="3287" />
+ <tetrahedron index="14317" v0="1870" v1="2876" v2="3287" v3="3485" />
+ <tetrahedron index="14318" v0="2876" v1="3287" v2="3485" v3="4491" />
+ <tetrahedron index="14319" v0="1672" v1="2876" v2="2877" v3="3287" />
+ <tetrahedron index="14320" v0="2876" v1="2877" v2="3287" v3="4491" />
+ <tetrahedron index="14321" v0="2877" v1="3287" v2="4491" v3="4492" />
+ <tetrahedron index="14322" v0="2652" v1="2687" v2="2878" v3="4267" />
+ <tetrahedron index="14323" v0="2687" v1="2878" v2="4267" v3="4302" />
+ <tetrahedron index="14324" v0="2878" v1="4267" v2="4302" v3="4493" />
+ <tetrahedron index="14325" v0="2041" v1="2612" v2="2879" v3="3656" />
+ <tetrahedron index="14326" v0="2612" v1="2879" v2="3656" v3="4227" />
+ <tetrahedron index="14327" v0="2879" v1="3656" v2="4227" v3="4494" />
+ <tetrahedron index="14328" v0="2612" v1="2879" v2="2880" v3="4227" />
+ <tetrahedron index="14329" v0="2879" v1="2880" v2="4227" v3="4494" />
+ <tetrahedron index="14330" v0="2880" v1="4227" v2="4494" v3="4495" />
+ <tetrahedron index="14331" v0="2236" v1="2743" v2="2881" v3="3851" />
+ <tetrahedron index="14332" v0="2743" v1="2881" v2="3851" v3="4358" />
+ <tetrahedron index="14333" v0="2881" v1="3851" v2="4358" v3="4496" />
+ <tetrahedron index="14334" v0="2763" v1="2764" v2="2882" v3="4378" />
+ <tetrahedron index="14335" v0="2764" v1="2882" v2="4378" v3="4379" />
+ <tetrahedron index="14336" v0="2882" v1="4378" v2="4379" v3="4497" />
+ <tetrahedron index="14337" v0="2511" v1="2658" v2="2852" v3="4126" />
+ <tetrahedron index="14338" v0="2658" v1="2852" v2="4126" v3="4273" />
+ <tetrahedron index="14339" v0="2852" v1="4126" v2="4273" v3="4467" />
+ <tetrahedron index="14340" v0="1814" v1="2883" v2="2884" v3="3429" />
+ <tetrahedron index="14341" v0="2883" v1="2884" v2="3429" v3="4498" />
+ <tetrahedron index="14342" v0="2884" v1="3429" v2="4498" v3="4499" />
+ <tetrahedron index="14343" v0="2232" v1="2866" v2="2885" v3="3847" />
+ <tetrahedron index="14344" v0="2866" v1="2885" v2="3847" v3="4481" />
+ <tetrahedron index="14345" v0="2885" v1="3847" v2="4481" v3="4500" />
+ <tetrahedron index="14346" v0="2749" v1="2788" v2="2886" v3="4364" />
+ <tetrahedron index="14347" v0="2788" v1="2886" v2="4364" v3="4403" />
+ <tetrahedron index="14348" v0="2886" v1="4364" v2="4403" v3="4501" />
+ <tetrahedron index="14349" v0="1637" v1="2349" v2="2887" v3="3252" />
+ <tetrahedron index="14350" v0="2349" v1="2887" v2="3252" v3="3964" />
+ <tetrahedron index="14351" v0="2887" v1="3252" v2="3964" v3="4502" />
+ <tetrahedron index="14352" v0="1703" v1="2774" v2="2888" v3="3318" />
+ <tetrahedron index="14353" v0="2774" v1="2888" v2="3318" v3="4389" />
+ <tetrahedron index="14354" v0="2888" v1="3318" v2="4389" v3="4503" />
+ <tetrahedron index="14355" v0="2291" v1="2766" v2="2889" v3="3906" />
+ <tetrahedron index="14356" v0="2766" v1="2889" v2="3906" v3="4381" />
+ <tetrahedron index="14357" v0="2889" v1="3906" v2="4381" v3="4504" />
+ <tetrahedron index="14358" v0="2766" v1="2815" v2="2889" v3="4381" />
+ <tetrahedron index="14359" v0="2815" v1="2889" v2="4381" v3="4430" />
+ <tetrahedron index="14360" v0="2889" v1="4381" v2="4430" v3="4504" />
+ <tetrahedron index="14361" v0="1967" v1="2474" v2="2890" v3="3582" />
+ <tetrahedron index="14362" v0="2474" v1="2890" v2="3582" v3="4089" />
+ <tetrahedron index="14363" v0="2890" v1="3582" v2="4089" v3="4505" />
+ <tetrahedron index="14364" v0="1878" v1="1946" v2="2806" v3="3493" />
+ <tetrahedron index="14365" v0="1946" v1="2806" v2="3493" v3="3561" />
+ <tetrahedron index="14366" v0="2806" v1="3493" v2="3561" v3="4421" />
+ <tetrahedron index="14367" v0="1946" v1="2065" v2="2806" v3="3561" />
+ <tetrahedron index="14368" v0="2065" v1="2806" v2="3561" v3="3680" />
+ <tetrahedron index="14369" v0="2806" v1="3561" v2="3680" v3="4421" />
+ <tetrahedron index="14370" v0="2565" v1="2829" v2="2891" v3="4180" />
+ <tetrahedron index="14371" v0="2829" v1="2891" v2="4180" v3="4444" />
+ <tetrahedron index="14372" v0="2891" v1="4180" v2="4444" v3="4506" />
+ <tetrahedron index="14373" v0="2705" v1="2758" v2="2892" v3="4320" />
+ <tetrahedron index="14374" v0="2758" v1="2892" v2="4320" v3="4373" />
+ <tetrahedron index="14375" v0="2892" v1="4320" v2="4373" v3="4507" />
+ <tetrahedron index="14376" v0="2635" v1="2758" v2="2892" v3="4250" />
+ <tetrahedron index="14377" v0="2758" v1="2892" v2="4250" v3="4373" />
+ <tetrahedron index="14378" v0="2892" v1="4250" v2="4373" v3="4507" />
+ <tetrahedron index="14379" v0="2360" v1="2687" v2="2893" v3="3975" />
+ <tetrahedron index="14380" v0="2687" v1="2893" v2="3975" v3="4302" />
+ <tetrahedron index="14381" v0="2893" v1="3975" v2="4302" v3="4508" />
+ <tetrahedron index="14382" v0="1642" v1="2360" v2="2893" v3="3257" />
+ <tetrahedron index="14383" v0="2360" v1="2893" v2="3257" v3="3975" />
+ <tetrahedron index="14384" v0="2893" v1="3257" v2="3975" v3="4508" />
+ <tetrahedron index="14385" v0="2302" v1="2801" v2="2833" v3="3917" />
+ <tetrahedron index="14386" v0="2801" v1="2833" v2="3917" v3="4416" />
+ <tetrahedron index="14387" v0="2833" v1="3917" v2="4416" v3="4448" />
+ <tetrahedron index="14388" v0="1724" v1="2102" v2="2894" v3="3339" />
+ <tetrahedron index="14389" v0="2102" v1="2894" v2="3339" v3="3717" />
+ <tetrahedron index="14390" v0="2894" v1="3339" v2="3717" v3="4509" />
+ <tetrahedron index="14391" v0="1722" v1="1724" v2="2894" v3="3337" />
+ <tetrahedron index="14392" v0="1724" v1="2894" v2="3337" v3="3339" />
+ <tetrahedron index="14393" v0="2894" v1="3337" v2="3339" v3="4509" />
+ <tetrahedron index="14394" v0="2074" v1="2811" v2="2895" v3="3689" />
+ <tetrahedron index="14395" v0="2811" v1="2895" v2="3689" v3="4426" />
+ <tetrahedron index="14396" v0="2895" v1="3689" v2="4426" v3="4510" />
+ <tetrahedron index="14397" v0="2037" v1="2811" v2="2895" v3="3652" />
+ <tetrahedron index="14398" v0="2811" v1="2895" v2="3652" v3="4426" />
+ <tetrahedron index="14399" v0="2895" v1="3652" v2="4426" v3="4510" />
+ <tetrahedron index="14400" v0="2204" v1="2249" v2="2896" v3="3819" />
+ <tetrahedron index="14401" v0="2249" v1="2896" v2="3819" v3="3864" />
+ <tetrahedron index="14402" v0="2896" v1="3819" v2="3864" v3="4511" />
+ <tetrahedron index="14403" v0="2295" v1="2309" v2="2843" v3="3910" />
+ <tetrahedron index="14404" v0="2309" v1="2843" v2="3910" v3="3924" />
+ <tetrahedron index="14405" v0="2843" v1="3910" v2="3924" v3="4458" />
+ <tetrahedron index="14406" v0="2132" v1="2519" v2="2897" v3="3747" />
+ <tetrahedron index="14407" v0="2519" v1="2897" v2="3747" v3="4134" />
+ <tetrahedron index="14408" v0="2897" v1="3747" v2="4134" v3="4512" />
+ <tetrahedron index="14409" v0="2206" v1="2269" v2="2846" v3="3821" />
+ <tetrahedron index="14410" v0="2269" v1="2846" v2="3821" v3="3884" />
+ <tetrahedron index="14411" v0="2846" v1="3821" v2="3884" v3="4461" />
+ <tetrahedron index="14412" v0="1957" v1="2248" v2="2898" v3="3572" />
+ <tetrahedron index="14413" v0="2248" v1="2898" v2="3572" v3="3863" />
+ <tetrahedron index="14414" v0="2898" v1="3572" v2="3863" v3="4513" />
+ <tetrahedron index="14415" v0="2052" v1="2836" v2="2851" v3="3667" />
+ <tetrahedron index="14416" v0="2836" v1="2851" v2="3667" v3="4451" />
+ <tetrahedron index="14417" v0="2851" v1="3667" v2="4451" v3="4466" />
+ <tetrahedron index="14418" v0="2466" v1="2547" v2="2899" v3="4081" />
+ <tetrahedron index="14419" v0="2547" v1="2899" v2="4081" v3="4162" />
+ <tetrahedron index="14420" v0="2899" v1="4081" v2="4162" v3="4514" />
+ <tetrahedron index="14421" v0="1742" v1="2309" v2="2900" v3="3357" />
+ <tetrahedron index="14422" v0="2309" v1="2900" v2="3357" v3="3924" />
+ <tetrahedron index="14423" v0="2900" v1="3357" v2="3924" v3="4515" />
+ <tetrahedron index="14424" v0="1788" v1="2368" v2="2901" v3="3403" />
+ <tetrahedron index="14425" v0="2368" v1="2901" v2="3403" v3="3983" />
+ <tetrahedron index="14426" v0="2901" v1="3403" v2="3983" v3="4516" />
+ <tetrahedron index="14427" v0="1809" v1="1810" v2="2902" v3="3424" />
+ <tetrahedron index="14428" v0="1810" v1="2902" v2="3424" v3="3425" />
+ <tetrahedron index="14429" v0="2902" v1="3424" v2="3425" v3="4517" />
+ <tetrahedron index="14430" v0="1777" v1="1917" v2="2794" v3="3392" />
+ <tetrahedron index="14431" v0="1917" v1="2794" v2="3392" v3="3532" />
+ <tetrahedron index="14432" v0="2794" v1="3392" v2="3532" v3="4409" />
+ <tetrahedron index="14433" v0="2032" v1="2033" v2="2903" v3="3647" />
+ <tetrahedron index="14434" v0="2033" v1="2903" v2="3647" v3="3648" />
+ <tetrahedron index="14435" v0="2903" v1="3647" v2="3648" v3="4518" />
+ <tetrahedron index="14436" v0="1820" v1="1822" v2="2886" v3="3435" />
+ <tetrahedron index="14437" v0="1822" v1="2886" v2="3435" v3="3437" />
+ <tetrahedron index="14438" v0="2886" v1="3435" v2="3437" v3="4501" />
+ <tetrahedron index="14439" v0="2236" v1="2881" v2="2904" v3="3851" />
+ <tetrahedron index="14440" v0="2881" v1="2904" v2="3851" v3="4496" />
+ <tetrahedron index="14441" v0="2904" v1="3851" v2="4496" v3="4519" />
+ <tetrahedron index="14442" v0="1989" v1="2837" v2="2905" v3="3604" />
+ <tetrahedron index="14443" v0="2837" v1="2905" v2="3604" v3="4452" />
+ <tetrahedron index="14444" v0="2905" v1="3604" v2="4452" v3="4520" />
+ <tetrahedron index="14445" v0="1989" v1="1990" v2="2905" v3="3604" />
+ <tetrahedron index="14446" v0="1990" v1="2905" v2="3604" v3="3605" />
+ <tetrahedron index="14447" v0="2905" v1="3604" v2="3605" v3="4520" />
+ <tetrahedron index="14448" v0="2349" v1="2874" v2="2887" v3="3964" />
+ <tetrahedron index="14449" v0="2874" v1="2887" v2="3964" v3="4489" />
+ <tetrahedron index="14450" v0="2887" v1="3964" v2="4489" v3="4502" />
+ <tetrahedron index="14451" v0="2349" v1="2873" v2="2874" v3="3964" />
+ <tetrahedron index="14452" v0="2873" v1="2874" v2="3964" v3="4488" />
+ <tetrahedron index="14453" v0="2874" v1="3964" v2="4488" v3="4489" />
+ <tetrahedron index="14454" v0="2032" v1="2274" v2="2903" v3="3647" />
+ <tetrahedron index="14455" v0="2274" v1="2903" v2="3647" v3="3889" />
+ <tetrahedron index="14456" v0="2903" v1="3647" v2="3889" v3="4518" />
+ <tetrahedron index="14457" v0="2154" v1="2366" v2="2882" v3="3769" />
+ <tetrahedron index="14458" v0="2366" v1="2882" v2="3769" v3="3981" />
+ <tetrahedron index="14459" v0="2882" v1="3769" v2="3981" v3="4497" />
+ <tetrahedron index="14460" v0="2154" v1="2763" v2="2882" v3="3769" />
+ <tetrahedron index="14461" v0="2763" v1="2882" v2="3769" v3="4378" />
+ <tetrahedron index="14462" v0="2882" v1="3769" v2="4378" v3="4497" />
+ <tetrahedron index="14463" v0="2621" v1="2869" v2="2906" v3="4236" />
+ <tetrahedron index="14464" v0="2869" v1="2906" v2="4236" v3="4484" />
+ <tetrahedron index="14465" v0="2906" v1="4236" v2="4484" v3="4521" />
+ <tetrahedron index="14466" v0="2181" v1="2182" v2="2869" v3="3796" />
+ <tetrahedron index="14467" v0="2182" v1="2869" v2="3796" v3="3797" />
+ <tetrahedron index="14468" v0="2869" v1="3796" v2="3797" v3="4484" />
+ <tetrahedron index="14469" v0="2086" v1="2088" v2="2850" v3="3701" />
+ <tetrahedron index="14470" v0="2088" v1="2850" v2="3701" v3="3703" />
+ <tetrahedron index="14471" v0="2850" v1="3701" v2="3703" v3="4465" />
+ <tetrahedron index="14472" v0="2088" v1="2849" v2="2850" v3="3703" />
+ <tetrahedron index="14473" v0="2849" v1="2850" v2="3703" v3="4464" />
+ <tetrahedron index="14474" v0="2850" v1="3703" v2="4464" v3="4465" />
+ <tetrahedron index="14475" v0="1723" v1="1724" v2="2870" v3="3338" />
+ <tetrahedron index="14476" v0="1724" v1="2870" v2="3338" v3="3339" />
+ <tetrahedron index="14477" v0="2870" v1="3338" v2="3339" v3="4485" />
+ <tetrahedron index="14478" v0="1615" v1="1725" v2="2870" v3="3230" />
+ <tetrahedron index="14479" v0="1725" v1="2870" v2="3230" v3="3340" />
+ <tetrahedron index="14480" v0="2870" v1="3230" v2="3340" v3="4485" />
+ <tetrahedron index="14481" v0="2053" v1="2056" v2="2387" v3="3668" />
+ <tetrahedron index="14482" v0="2056" v1="2387" v2="3668" v3="3671" />
+ <tetrahedron index="14483" v0="2387" v1="3668" v2="3671" v3="4002" />
+ <tetrahedron index="14484" v0="2056" v1="2387" v2="2745" v3="3671" />
+ <tetrahedron index="14485" v0="2387" v1="2745" v2="3671" v3="4002" />
+ <tetrahedron index="14486" v0="2745" v1="3671" v2="4002" v3="4360" />
+ <tetrahedron index="14487" v0="2036" v1="2038" v2="2907" v3="3651" />
+ <tetrahedron index="14488" v0="2038" v1="2907" v2="3651" v3="3653" />
+ <tetrahedron index="14489" v0="2907" v1="3651" v2="3653" v3="4522" />
+ <tetrahedron index="14490" v0="2038" v1="2456" v2="2907" v3="3653" />
+ <tetrahedron index="14491" v0="2456" v1="2907" v2="3653" v3="4071" />
+ <tetrahedron index="14492" v0="2907" v1="3653" v2="4071" v3="4522" />
+ <tetrahedron index="14493" v0="2206" v1="2384" v2="2846" v3="3821" />
+ <tetrahedron index="14494" v0="2384" v1="2846" v2="3821" v3="3999" />
+ <tetrahedron index="14495" v0="2846" v1="3821" v2="3999" v3="4461" />
+ <tetrahedron index="14496" v0="2384" v1="2846" v2="2848" v3="3999" />
+ <tetrahedron index="14497" v0="2846" v1="2848" v2="3999" v3="4461" />
+ <tetrahedron index="14498" v0="2848" v1="3999" v2="4461" v3="4463" />
+ <tetrahedron index="14499" v0="1726" v1="2144" v2="2894" v3="3341" />
+ <tetrahedron index="14500" v0="2144" v1="2894" v2="3341" v3="3759" />
+ <tetrahedron index="14501" v0="2894" v1="3341" v2="3759" v3="4509" />
+ <tetrahedron index="14502" v0="1726" v1="2102" v2="2894" v3="3341" />
+ <tetrahedron index="14503" v0="2102" v1="2894" v2="3341" v3="3717" />
+ <tetrahedron index="14504" v0="2894" v1="3341" v2="3717" v3="4509" />
+ <tetrahedron index="14505" v0="2109" v1="2223" v2="2795" v3="3724" />
+ <tetrahedron index="14506" v0="2223" v1="2795" v2="3724" v3="3838" />
+ <tetrahedron index="14507" v0="2795" v1="3724" v2="3838" v3="4410" />
+ <tetrahedron index="14508" v0="1870" v1="2876" v2="2908" v3="3485" />
+ <tetrahedron index="14509" v0="2876" v1="2908" v2="3485" v3="4491" />
+ <tetrahedron index="14510" v0="2908" v1="3485" v2="4491" v3="4523" />
+ <tetrahedron index="14511" v0="2876" v1="2908" v2="2909" v3="4491" />
+ <tetrahedron index="14512" v0="2908" v1="2909" v2="4491" v3="4523" />
+ <tetrahedron index="14513" v0="2909" v1="4491" v2="4523" v3="4524" />
+ <tetrahedron index="14514" v0="1809" v1="2435" v2="2902" v3="3424" />
+ <tetrahedron index="14515" v0="2435" v1="2902" v2="3424" v3="4050" />
+ <tetrahedron index="14516" v0="2902" v1="3424" v2="4050" v3="4517" />
+ <tetrahedron index="14517" v0="2041" v1="2173" v2="2879" v3="3656" />
+ <tetrahedron index="14518" v0="2173" v1="2879" v2="3656" v3="3788" />
+ <tetrahedron index="14519" v0="2879" v1="3656" v2="3788" v3="4494" />
+ <tetrahedron index="14520" v0="2471" v1="2521" v2="2816" v3="4086" />
+ <tetrahedron index="14521" v0="2521" v1="2816" v2="4086" v3="4136" />
+ <tetrahedron index="14522" v0="2816" v1="4086" v2="4136" v3="4431" />
+ <tetrahedron index="14523" v0="2471" v1="2692" v2="2816" v3="4086" />
+ <tetrahedron index="14524" v0="2692" v1="2816" v2="4086" v3="4307" />
+ <tetrahedron index="14525" v0="2816" v1="4086" v2="4307" v3="4431" />
+ <tetrahedron index="14526" v0="2276" v1="2634" v2="2689" v3="3891" />
+ <tetrahedron index="14527" v0="2634" v1="2689" v2="3891" v3="4249" />
+ <tetrahedron index="14528" v0="2689" v1="3891" v2="4249" v3="4304" />
+ <tetrahedron index="14529" v0="2276" v1="2603" v2="2689" v3="3891" />
+ <tetrahedron index="14530" v0="2603" v1="2689" v2="3891" v3="4218" />
+ <tetrahedron index="14531" v0="2689" v1="3891" v2="4218" v3="4304" />
+ <tetrahedron index="14532" v0="2127" v1="2800" v2="2833" v3="3742" />
+ <tetrahedron index="14533" v0="2800" v1="2833" v2="3742" v3="4415" />
+ <tetrahedron index="14534" v0="2833" v1="3742" v2="4415" v3="4448" />
+ <tetrahedron index="14535" v0="2800" v1="2801" v2="2833" v3="4415" />
+ <tetrahedron index="14536" v0="2801" v1="2833" v2="4415" v3="4416" />
+ <tetrahedron index="14537" v0="2833" v1="4415" v2="4416" v3="4448" />
+ <tetrahedron index="14538" v0="2879" v1="2880" v2="2910" v3="4494" />
+ <tetrahedron index="14539" v0="2880" v1="2910" v2="4494" v3="4495" />
+ <tetrahedron index="14540" v0="2910" v1="4494" v2="4495" v3="4525" />
+ <tetrahedron index="14541" v0="1946" v1="1947" v2="2066" v3="3561" />
+ <tetrahedron index="14542" v0="1947" v1="2066" v2="3561" v3="3562" />
+ <tetrahedron index="14543" v0="2066" v1="3561" v2="3562" v3="3681" />
+ <tetrahedron index="14544" v0="1947" v1="2066" v2="2911" v3="3562" />
+ <tetrahedron index="14545" v0="2066" v1="2911" v2="3562" v3="3681" />
+ <tetrahedron index="14546" v0="2911" v1="3562" v2="3681" v3="4526" />
+ <tetrahedron index="14547" v0="2709" v1="2710" v2="2912" v3="4324" />
+ <tetrahedron index="14548" v0="2710" v1="2912" v2="4324" v3="4325" />
+ <tetrahedron index="14549" v0="2912" v1="4324" v2="4325" v3="4527" />
+ <tetrahedron index="14550" v0="2678" v1="2913" v2="2914" v3="4293" />
+ <tetrahedron index="14551" v0="2913" v1="2914" v2="4293" v3="4528" />
+ <tetrahedron index="14552" v0="2914" v1="4293" v2="4528" v3="4529" />
+ <tetrahedron index="14553" v0="2319" v1="2552" v2="2806" v3="3934" />
+ <tetrahedron index="14554" v0="2552" v1="2806" v2="3934" v3="4167" />
+ <tetrahedron index="14555" v0="2806" v1="3934" v2="4167" v3="4421" />
+ <tetrahedron index="14556" v0="1878" v1="2319" v2="2806" v3="3493" />
+ <tetrahedron index="14557" v0="2319" v1="2806" v2="3493" v3="3934" />
+ <tetrahedron index="14558" v0="2806" v1="3493" v2="3934" v3="4421" />
+ <tetrahedron index="14559" v0="2409" v1="2410" v2="2854" v3="4024" />
+ <tetrahedron index="14560" v0="2410" v1="2854" v2="4024" v3="4025" />
+ <tetrahedron index="14561" v0="2854" v1="4024" v2="4025" v3="4469" />
+ <tetrahedron index="14562" v0="2410" v1="2718" v2="2854" v3="4025" />
+ <tetrahedron index="14563" v0="2718" v1="2854" v2="4025" v3="4333" />
+ <tetrahedron index="14564" v0="2854" v1="4025" v2="4333" v3="4469" />
+ <tetrahedron index="14565" v0="2057" v1="2730" v2="2890" v3="3672" />
+ <tetrahedron index="14566" v0="2730" v1="2890" v2="3672" v3="4345" />
+ <tetrahedron index="14567" v0="2890" v1="3672" v2="4345" v3="4505" />
+ <tetrahedron index="14568" v0="1967" v1="2057" v2="2890" v3="3582" />
+ <tetrahedron index="14569" v0="2057" v1="2890" v2="3582" v3="3672" />
+ <tetrahedron index="14570" v0="2890" v1="3582" v2="3672" v3="4505" />
+ <tetrahedron index="14571" v0="2164" v1="2635" v2="2892" v3="3779" />
+ <tetrahedron index="14572" v0="2635" v1="2892" v2="3779" v3="4250" />
+ <tetrahedron index="14573" v0="2892" v1="3779" v2="4250" v3="4507" />
+ <tetrahedron index="14574" v0="2164" v1="2476" v2="2892" v3="3779" />
+ <tetrahedron index="14575" v0="2476" v1="2892" v2="3779" v3="4091" />
+ <tetrahedron index="14576" v0="2892" v1="3779" v2="4091" v3="4507" />
+ <tetrahedron index="14577" v0="1642" v1="1765" v2="2893" v3="3257" />
+ <tetrahedron index="14578" v0="1765" v1="2893" v2="3257" v3="3380" />
+ <tetrahedron index="14579" v0="2893" v1="3257" v2="3380" v3="4508" />
+ <tetrahedron index="14580" v0="2189" v1="2803" v2="2915" v3="3804" />
+ <tetrahedron index="14581" v0="2803" v1="2915" v2="3804" v3="4418" />
+ <tetrahedron index="14582" v0="2915" v1="3804" v2="4418" v3="4530" />
+ <tetrahedron index="14583" v0="1990" v1="2788" v2="2886" v3="3605" />
+ <tetrahedron index="14584" v0="2788" v1="2886" v2="3605" v3="4403" />
+ <tetrahedron index="14585" v0="2886" v1="3605" v2="4403" v3="4501" />
+ <tetrahedron index="14586" v0="1822" v1="1990" v2="2886" v3="3437" />
+ <tetrahedron index="14587" v0="1990" v1="2886" v2="3437" v3="3605" />
+ <tetrahedron index="14588" v0="2886" v1="3437" v2="3605" v3="4501" />
+ <tetrahedron index="14589" v0="2843" v1="2844" v2="2916" v3="4458" />
+ <tetrahedron index="14590" v0="2844" v1="2916" v2="4458" v3="4459" />
+ <tetrahedron index="14591" v0="2916" v1="4458" v2="4459" v3="4531" />
+ <tetrahedron index="14592" v0="2309" v1="2843" v2="2916" v3="3924" />
+ <tetrahedron index="14593" v0="2843" v1="2916" v2="3924" v3="4458" />
+ <tetrahedron index="14594" v0="2916" v1="3924" v2="4458" v3="4531" />
+ <tetrahedron index="14595" v0="2876" v1="2909" v2="2917" v3="4491" />
+ <tetrahedron index="14596" v0="2909" v1="2917" v2="4491" v3="4524" />
+ <tetrahedron index="14597" v0="2917" v1="4491" v2="4524" v3="4532" />
+ <tetrahedron index="14598" v0="2876" v1="2877" v2="2917" v3="4491" />
+ <tetrahedron index="14599" v0="2877" v1="2917" v2="4491" v3="4492" />
+ <tetrahedron index="14600" v0="2917" v1="4491" v2="4492" v3="4532" />
+ <tetrahedron index="14601" v0="2549" v1="2786" v2="2905" v3="4164" />
+ <tetrahedron index="14602" v0="2786" v1="2905" v2="4164" v3="4401" />
+ <tetrahedron index="14603" v0="2905" v1="4164" v2="4401" v3="4520" />
+ <tetrahedron index="14604" v0="2611" v1="2866" v2="2885" v3="4226" />
+ <tetrahedron index="14605" v0="2866" v1="2885" v2="4226" v3="4481" />
+ <tetrahedron index="14606" v0="2885" v1="4226" v2="4481" v3="4500" />
+ <tetrahedron index="14607" v0="2248" v1="2611" v2="2885" v3="3863" />
+ <tetrahedron index="14608" v0="2611" v1="2885" v2="3863" v3="4226" />
+ <tetrahedron index="14609" v0="2885" v1="3863" v2="4226" v3="4500" />
+ <tetrahedron index="14610" v0="2831" v1="2832" v2="2855" v3="4446" />
+ <tetrahedron index="14611" v0="2832" v1="2855" v2="4446" v3="4447" />
+ <tetrahedron index="14612" v0="2855" v1="4446" v2="4447" v3="4470" />
+ <tetrahedron index="14613" v0="2832" v1="2855" v2="2856" v3="4447" />
+ <tetrahedron index="14614" v0="2855" v1="2856" v2="4447" v3="4470" />
+ <tetrahedron index="14615" v0="2856" v1="4447" v2="4470" v3="4471" />
+ <tetrahedron index="14616" v0="1994" v1="2918" v2="2919" v3="3609" />
+ <tetrahedron index="14617" v0="2918" v1="2919" v2="3609" v3="4533" />
+ <tetrahedron index="14618" v0="2919" v1="3609" v2="4533" v3="4534" />
+ <tetrahedron index="14619" v0="2743" v1="2881" v2="2920" v3="4358" />
+ <tetrahedron index="14620" v0="2881" v1="2920" v2="4358" v3="4496" />
+ <tetrahedron index="14621" v0="2920" v1="4358" v2="4496" v3="4535" />
+ <tetrahedron index="14622" v0="2881" v1="2920" v2="2921" v3="4496" />
+ <tetrahedron index="14623" v0="2920" v1="2921" v2="4496" v3="4535" />
+ <tetrahedron index="14624" v0="2921" v1="4496" v2="4535" v3="4536" />
+ <tetrahedron index="14625" v0="1844" v1="2425" v2="2452" v3="3459" />
+ <tetrahedron index="14626" v0="2425" v1="2452" v2="3459" v3="4040" />
+ <tetrahedron index="14627" v0="2452" v1="3459" v2="4040" v3="4067" />
+ <tetrahedron index="14628" v0="2288" v1="2684" v2="2900" v3="3903" />
+ <tetrahedron index="14629" v0="2684" v1="2900" v2="3903" v3="4299" />
+ <tetrahedron index="14630" v0="2900" v1="3903" v2="4299" v3="4515" />
+ <tetrahedron index="14631" v0="1742" v1="2288" v2="2900" v3="3357" />
+ <tetrahedron index="14632" v0="2288" v1="2900" v2="3357" v3="3903" />
+ <tetrahedron index="14633" v0="2900" v1="3357" v2="3903" v3="4515" />
+ <tetrahedron index="14634" v0="2291" v1="2706" v2="2889" v3="3906" />
+ <tetrahedron index="14635" v0="2706" v1="2889" v2="3906" v3="4321" />
+ <tetrahedron index="14636" v0="2889" v1="3906" v2="4321" v3="4504" />
+ <tetrahedron index="14637" v0="1741" v1="2675" v2="2841" v3="3356" />
+ <tetrahedron index="14638" v0="2675" v1="2841" v2="3356" v3="4290" />
+ <tetrahedron index="14639" v0="2841" v1="3356" v2="4290" v3="4456" />
+ <tetrahedron index="14640" v0="1741" v1="2288" v2="2841" v3="3356" />
+ <tetrahedron index="14641" v0="2288" v1="2841" v2="3356" v3="3903" />
+ <tetrahedron index="14642" v0="2841" v1="3356" v2="3903" v3="4456" />
+ <tetrahedron index="14643" v0="2768" v1="2769" v2="2832" v3="4383" />
+ <tetrahedron index="14644" v0="2769" v1="2832" v2="4383" v3="4384" />
+ <tetrahedron index="14645" v0="2832" v1="4383" v2="4384" v3="4447" />
+ <tetrahedron index="14646" v0="2687" v1="2878" v2="2893" v3="4302" />
+ <tetrahedron index="14647" v0="2878" v1="2893" v2="4302" v3="4493" />
+ <tetrahedron index="14648" v0="2893" v1="4302" v2="4493" v3="4508" />
+ <tetrahedron index="14649" v0="2510" v1="2692" v2="2816" v3="4125" />
+ <tetrahedron index="14650" v0="2692" v1="2816" v2="4125" v3="4307" />
+ <tetrahedron index="14651" v0="2816" v1="4125" v2="4307" v3="4431" />
+ <tetrahedron index="14652" v0="2510" v1="2815" v2="2816" v3="4125" />
+ <tetrahedron index="14653" v0="2815" v1="2816" v2="4125" v3="4430" />
+ <tetrahedron index="14654" v0="2816" v1="4125" v2="4430" v3="4431" />
+ <tetrahedron index="14655" v0="2044" v1="2321" v2="2922" v3="3659" />
+ <tetrahedron index="14656" v0="2321" v1="2922" v2="3659" v3="3936" />
+ <tetrahedron index="14657" v0="2922" v1="3659" v2="3936" v3="4537" />
+ <tetrahedron index="14658" v0="2044" v1="2045" v2="2922" v3="3659" />
+ <tetrahedron index="14659" v0="2045" v1="2922" v2="3659" v3="3660" />
+ <tetrahedron index="14660" v0="2922" v1="3659" v2="3660" v3="4537" />
+ <tetrahedron index="14661" v0="1985" v1="2295" v2="2843" v3="3600" />
+ <tetrahedron index="14662" v0="2295" v1="2843" v2="3600" v3="3910" />
+ <tetrahedron index="14663" v0="2843" v1="3600" v2="3910" v3="4458" />
+ <tetrahedron index="14664" v0="1985" v1="1986" v2="2843" v3="3600" />
+ <tetrahedron index="14665" v0="1986" v1="2843" v2="3600" v3="3601" />
+ <tetrahedron index="14666" v0="2843" v1="3600" v2="3601" v3="4458" />
+ <tetrahedron index="14667" v0="1618" v1="2074" v2="2895" v3="3233" />
+ <tetrahedron index="14668" v0="2074" v1="2895" v2="3233" v3="3689" />
+ <tetrahedron index="14669" v0="2895" v1="3233" v2="3689" v3="4510" />
+ <tetrahedron index="14670" v0="1618" v1="1730" v2="2895" v3="3233" />
+ <tetrahedron index="14671" v0="1730" v1="2895" v2="3233" v3="3345" />
+ <tetrahedron index="14672" v0="2895" v1="3233" v2="3345" v3="4510" />
+ <tetrahedron index="14673" v0="2091" v1="2505" v2="2839" v3="3706" />
+ <tetrahedron index="14674" v0="2505" v1="2839" v2="3706" v3="4120" />
+ <tetrahedron index="14675" v0="2839" v1="3706" v2="4120" v3="4454" />
+ <tetrahedron index="14676" v0="2091" v1="2092" v2="2839" v3="3706" />
+ <tetrahedron index="14677" v0="2092" v1="2839" v2="3706" v3="3707" />
+ <tetrahedron index="14678" v0="2839" v1="3706" v2="3707" v3="4454" />
+ <tetrahedron index="14679" v0="1737" v1="2268" v2="2841" v3="3352" />
+ <tetrahedron index="14680" v0="2268" v1="2841" v2="3352" v3="3883" />
+ <tetrahedron index="14681" v0="2841" v1="3352" v2="3883" v3="4456" />
+ <tetrahedron index="14682" v0="1737" v1="1815" v2="2841" v3="3352" />
+ <tetrahedron index="14683" v0="1815" v1="2841" v2="3352" v3="3430" />
+ <tetrahedron index="14684" v0="2841" v1="3352" v2="3430" v3="4456" />
+ <tetrahedron index="14685" v0="2519" v1="2897" v2="2923" v3="4134" />
+ <tetrahedron index="14686" v0="2897" v1="2923" v2="4134" v3="4512" />
+ <tetrahedron index="14687" v0="2923" v1="4134" v2="4512" v3="4538" />
+ <tetrahedron index="14688" v0="2650" v1="2897" v2="2923" v3="4265" />
+ <tetrahedron index="14689" v0="2897" v1="2923" v2="4265" v3="4512" />
+ <tetrahedron index="14690" v0="2923" v1="4265" v2="4512" v3="4538" />
+ <tetrahedron index="14691" v0="1657" v1="2096" v2="2924" v3="3272" />
+ <tetrahedron index="14692" v0="2096" v1="2924" v2="3272" v3="3711" />
+ <tetrahedron index="14693" v0="2924" v1="3272" v2="3711" v3="4539" />
+ <tetrahedron index="14694" v0="2356" v1="2684" v2="2842" v3="3971" />
+ <tetrahedron index="14695" v0="2684" v1="2842" v2="3971" v3="4299" />
+ <tetrahedron index="14696" v0="2842" v1="3971" v2="4299" v3="4457" />
+ <tetrahedron index="14697" v0="2684" v1="2842" v2="2900" v3="4299" />
+ <tetrahedron index="14698" v0="2842" v1="2900" v2="4299" v3="4457" />
+ <tetrahedron index="14699" v0="2900" v1="4299" v2="4457" v3="4515" />
+ <tetrahedron index="14700" v0="2381" v1="2389" v2="2868" v3="3996" />
+ <tetrahedron index="14701" v0="2389" v1="2868" v2="3996" v3="4004" />
+ <tetrahedron index="14702" v0="2868" v1="3996" v2="4004" v3="4483" />
+ <tetrahedron index="14703" v0="2381" v1="2745" v2="2868" v3="3996" />
+ <tetrahedron index="14704" v0="2745" v1="2868" v2="3996" v3="4360" />
+ <tetrahedron index="14705" v0="2868" v1="3996" v2="4360" v3="4483" />
+ <tetrahedron index="14706" v0="1624" v1="2846" v2="2847" v3="3239" />
+ <tetrahedron index="14707" v0="2846" v1="2847" v2="3239" v3="4461" />
+ <tetrahedron index="14708" v0="2847" v1="3239" v2="4461" v3="4462" />
+ <tetrahedron index="14709" v0="1624" v1="2269" v2="2846" v3="3239" />
+ <tetrahedron index="14710" v0="2269" v1="2846" v2="3239" v3="3884" />
+ <tetrahedron index="14711" v0="2846" v1="3239" v2="3884" v3="4461" />
+ <tetrahedron index="14712" v0="2363" v1="2501" v2="2925" v3="3978" />
+ <tetrahedron index="14713" v0="2501" v1="2925" v2="3978" v3="4116" />
+ <tetrahedron index="14714" v0="2925" v1="3978" v2="4116" v3="4540" />
+ <tetrahedron index="14715" v0="1695" v1="1957" v2="2898" v3="3310" />
+ <tetrahedron index="14716" v0="1957" v1="2898" v2="3310" v3="3572" />
+ <tetrahedron index="14717" v0="2898" v1="3310" v2="3572" v3="4513" />
+ <tetrahedron index="14718" v0="1694" v1="1695" v2="2898" v3="3309" />
+ <tetrahedron index="14719" v0="1695" v1="2898" v2="3309" v3="3310" />
+ <tetrahedron index="14720" v0="2898" v1="3309" v2="3310" v3="4513" />
+ <tetrahedron index="14721" v0="1899" v1="2330" v2="2850" v3="3514" />
+ <tetrahedron index="14722" v0="2330" v1="2850" v2="3514" v3="3945" />
+ <tetrahedron index="14723" v0="2850" v1="3514" v2="3945" v3="4465" />
+ <tetrahedron index="14724" v0="1899" v1="2303" v2="2850" v3="3514" />
+ <tetrahedron index="14725" v0="2303" v1="2850" v2="3514" v3="3918" />
+ <tetrahedron index="14726" v0="2850" v1="3514" v2="3918" v3="4465" />
+ <tetrahedron index="14727" v0="2689" v1="2926" v2="2927" v3="4304" />
+ <tetrahedron index="14728" v0="2926" v1="2927" v2="4304" v3="4541" />
+ <tetrahedron index="14729" v0="2927" v1="4304" v2="4541" v3="4542" />
+ <tetrahedron index="14730" v0="1990" v1="2788" v2="2905" v3="3605" />
+ <tetrahedron index="14731" v0="2788" v1="2905" v2="3605" v3="4403" />
+ <tetrahedron index="14732" v0="2905" v1="3605" v2="4403" v3="4520" />
+ <tetrahedron index="14733" v0="2786" v1="2788" v2="2905" v3="4401" />
+ <tetrahedron index="14734" v0="2788" v1="2905" v2="4401" v3="4403" />
+ <tetrahedron index="14735" v0="2905" v1="4401" v2="4403" v3="4520" />
+ <tetrahedron index="14736" v0="1815" v1="2334" v2="2841" v3="3430" />
+ <tetrahedron index="14737" v0="2334" v1="2841" v2="3430" v3="3949" />
+ <tetrahedron index="14738" v0="2841" v1="3430" v2="3949" v3="4456" />
+ <tetrahedron index="14739" v0="2334" v1="2675" v2="2841" v3="3949" />
+ <tetrahedron index="14740" v0="2675" v1="2841" v2="3949" v3="4290" />
+ <tetrahedron index="14741" v0="2841" v1="3949" v2="4290" v3="4456" />
+ <tetrahedron index="14742" v0="2389" v1="2445" v2="2901" v3="4004" />
+ <tetrahedron index="14743" v0="2445" v1="2901" v2="4004" v3="4060" />
+ <tetrahedron index="14744" v0="2901" v1="4004" v2="4060" v3="4516" />
+ <tetrahedron index="14745" v0="1788" v1="2445" v2="2901" v3="3403" />
+ <tetrahedron index="14746" v0="2445" v1="2901" v2="3403" v3="4060" />
+ <tetrahedron index="14747" v0="2901" v1="3403" v2="4060" v3="4516" />
+ <tetrahedron index="14748" v0="2481" v1="2482" v2="2833" v3="4096" />
+ <tetrahedron index="14749" v0="2482" v1="2833" v2="4096" v3="4097" />
+ <tetrahedron index="14750" v0="2833" v1="4096" v2="4097" v3="4448" />
+ <tetrahedron index="14751" v0="2302" v1="2481" v2="2833" v3="3917" />
+ <tetrahedron index="14752" v0="2481" v1="2833" v2="3917" v3="4096" />
+ <tetrahedron index="14753" v0="2833" v1="3917" v2="4096" v3="4448" />
+ <tetrahedron index="14754" v0="2834" v1="2851" v2="2928" v3="4449" />
+ <tetrahedron index="14755" v0="2851" v1="2928" v2="4449" v3="4466" />
+ <tetrahedron index="14756" v0="2928" v1="4449" v2="4466" v3="4543" />
+ <tetrahedron index="14757" v0="2836" v1="2851" v2="2928" v3="4451" />
+ <tetrahedron index="14758" v0="2851" v1="2928" v2="4451" v3="4466" />
+ <tetrahedron index="14759" v0="2928" v1="4451" v2="4466" v3="4543" />
+ <tetrahedron index="14760" v0="2929" v1="2930" v2="2931" v3="4544" />
+ <tetrahedron index="14761" v0="2930" v1="2931" v2="4544" v3="4545" />
+ <tetrahedron index="14762" v0="2931" v1="4544" v2="4545" v3="4546" />
+ <tetrahedron index="14763" v0="2569" v1="2931" v2="2932" v3="4184" />
+ <tetrahedron index="14764" v0="2931" v1="2932" v2="4184" v3="4546" />
+ <tetrahedron index="14765" v0="2932" v1="4184" v2="4546" v3="4547" />
+ <tetrahedron index="14766" v0="1820" v1="2813" v2="2886" v3="3435" />
+ <tetrahedron index="14767" v0="2813" v1="2886" v2="3435" v3="4428" />
+ <tetrahedron index="14768" v0="2886" v1="3435" v2="4428" v3="4501" />
+ <tetrahedron index="14769" v0="2052" v1="2757" v2="2851" v3="3667" />
+ <tetrahedron index="14770" v0="2757" v1="2851" v2="3667" v3="4372" />
+ <tetrahedron index="14771" v0="2851" v1="3667" v2="4372" v3="4466" />
+ <tetrahedron index="14772" v0="2225" v1="2757" v2="2851" v3="3840" />
+ <tetrahedron index="14773" v0="2757" v1="2851" v2="3840" v3="4372" />
+ <tetrahedron index="14774" v0="2851" v1="3840" v2="4372" v3="4466" />
+ <tetrahedron index="14775" v0="2045" v1="2532" v2="2922" v3="3660" />
+ <tetrahedron index="14776" v0="2532" v1="2922" v2="3660" v3="4147" />
+ <tetrahedron index="14777" v0="2922" v1="3660" v2="4147" v3="4537" />
+ <tetrahedron index="14778" v0="2532" v1="2922" v2="2933" v3="4147" />
+ <tetrahedron index="14779" v0="2922" v1="2933" v2="4147" v3="4537" />
+ <tetrahedron index="14780" v0="2933" v1="4147" v2="4537" v3="4548" />
+ <tetrahedron index="14781" v0="1825" v1="2641" v2="2934" v3="3440" />
+ <tetrahedron index="14782" v0="2641" v1="2934" v2="3440" v3="4256" />
+ <tetrahedron index="14783" v0="2934" v1="3440" v2="4256" v3="4549" />
+ <tetrahedron index="14784" v0="1615" v1="2824" v2="2858" v3="3230" />
+ <tetrahedron index="14785" v0="2824" v1="2858" v2="3230" v3="4439" />
+ <tetrahedron index="14786" v0="2858" v1="3230" v2="4439" v3="4473" />
+ <tetrahedron index="14787" v0="2058" v1="2317" v2="2338" v3="3673" />
+ <tetrahedron index="14788" v0="2317" v1="2338" v2="3673" v3="3932" />
+ <tetrahedron index="14789" v0="2338" v1="3673" v2="3932" v3="3953" />
+ <tetrahedron index="14790" v0="2066" v1="2529" v2="2747" v3="3681" />
+ <tetrahedron index="14791" v0="2529" v1="2747" v2="3681" v3="4144" />
+ <tetrahedron index="14792" v0="2747" v1="3681" v2="4144" v3="4362" />
+ <tetrahedron index="14793" v0="2066" v1="2747" v2="2911" v3="3681" />
+ <tetrahedron index="14794" v0="2747" v1="2911" v2="3681" v3="4362" />
+ <tetrahedron index="14795" v0="2911" v1="3681" v2="4362" v3="4526" />
+ <tetrahedron index="14796" v0="2829" v1="2852" v2="2891" v3="4444" />
+ <tetrahedron index="14797" v0="2852" v1="2891" v2="4444" v3="4467" />
+ <tetrahedron index="14798" v0="2891" v1="4444" v2="4467" v3="4506" />
+ <tetrahedron index="14799" v0="2658" v1="2852" v2="2891" v3="4273" />
+ <tetrahedron index="14800" v0="2852" v1="2891" v2="4273" v3="4467" />
+ <tetrahedron index="14801" v0="2891" v1="4273" v2="4467" v3="4506" />
+ <tetrahedron index="14802" v0="2132" v1="2344" v2="2897" v3="3747" />
+ <tetrahedron index="14803" v0="2344" v1="2897" v2="3747" v3="3959" />
+ <tetrahedron index="14804" v0="2897" v1="3747" v2="3959" v3="4512" />
+ <tetrahedron index="14805" v0="2724" v1="2726" v2="2814" v3="4339" />
+ <tetrahedron index="14806" v0="2726" v1="2814" v2="4339" v3="4341" />
+ <tetrahedron index="14807" v0="2814" v1="4339" v2="4341" v3="4429" />
+ <tetrahedron index="14808" v0="1636" v1="1637" v2="2887" v3="3251" />
+ <tetrahedron index="14809" v0="1637" v1="2887" v2="3251" v3="3252" />
+ <tetrahedron index="14810" v0="2887" v1="3251" v2="3252" v3="4502" />
+ <tetrahedron index="14811" v0="2474" v1="2854" v2="2890" v3="4089" />
+ <tetrahedron index="14812" v0="2854" v1="2890" v2="4089" v3="4469" />
+ <tetrahedron index="14813" v0="2890" v1="4089" v2="4469" v3="4505" />
+ <tetrahedron index="14814" v0="2474" v1="2707" v2="2854" v3="4089" />
+ <tetrahedron index="14815" v0="2707" v1="2854" v2="4089" v3="4322" />
+ <tetrahedron index="14816" v0="2854" v1="4089" v2="4322" v3="4469" />
+ <tetrahedron index="14817" v0="1615" v1="1617" v2="2858" v3="3230" />
+ <tetrahedron index="14818" v0="1617" v1="2858" v2="3230" v3="3232" />
+ <tetrahedron index="14819" v0="2858" v1="3230" v2="3232" v3="4473" />
+ <tetrahedron index="14820" v0="2718" v1="2854" v2="2890" v3="4333" />
+ <tetrahedron index="14821" v0="2854" v1="2890" v2="4333" v3="4469" />
+ <tetrahedron index="14822" v0="2890" v1="4333" v2="4469" v3="4505" />
+ <tetrahedron index="14823" v0="2718" v1="2730" v2="2890" v3="4333" />
+ <tetrahedron index="14824" v0="2730" v1="2890" v2="4333" v3="4345" />
+ <tetrahedron index="14825" v0="2890" v1="4333" v2="4345" v3="4505" />
+ <tetrahedron index="14826" v0="1831" v1="2121" v2="2627" v3="3446" />
+ <tetrahedron index="14827" v0="2121" v1="2627" v2="3446" v3="3736" />
+ <tetrahedron index="14828" v0="2627" v1="3446" v2="3736" v3="4242" />
+ <tetrahedron index="14829" v0="2294" v1="2443" v2="2874" v3="3909" />
+ <tetrahedron index="14830" v0="2443" v1="2874" v2="3909" v3="4058" />
+ <tetrahedron index="14831" v0="2874" v1="3909" v2="4058" v3="4489" />
+ <tetrahedron index="14832" v0="2443" v1="2874" v2="2887" v3="4058" />
+ <tetrahedron index="14833" v0="2874" v1="2887" v2="4058" v3="4489" />
+ <tetrahedron index="14834" v0="2887" v1="4058" v2="4489" v3="4502" />
+ <tetrahedron index="14835" v0="2559" v1="2611" v2="2867" v3="4174" />
+ <tetrahedron index="14836" v0="2611" v1="2867" v2="4174" v3="4226" />
+ <tetrahedron index="14837" v0="2867" v1="4174" v2="4226" v3="4482" />
+ <tetrahedron index="14838" v0="1917" v1="1918" v2="2794" v3="3532" />
+ <tetrahedron index="14839" v0="1918" v1="2794" v2="3532" v3="3533" />
+ <tetrahedron index="14840" v0="2794" v1="3532" v2="3533" v3="4409" />
+ <tetrahedron index="14841" v0="1835" v1="1918" v2="2794" v3="3450" />
+ <tetrahedron index="14842" v0="1918" v1="2794" v2="3450" v3="3533" />
+ <tetrahedron index="14843" v0="2794" v1="3450" v2="3533" v3="4409" />
+ <tetrahedron index="14844" v0="2603" v1="2689" v2="2927" v3="4218" />
+ <tetrahedron index="14845" v0="2689" v1="2927" v2="4218" v3="4304" />
+ <tetrahedron index="14846" v0="2927" v1="4218" v2="4304" v3="4542" />
+ <tetrahedron index="14847" v0="2099" v1="2237" v2="2742" v3="3714" />
+ <tetrahedron index="14848" v0="2237" v1="2742" v2="3714" v3="3852" />
+ <tetrahedron index="14849" v0="2742" v1="3714" v2="3852" v3="4357" />
+ <tetrahedron index="14850" v0="2294" v1="2874" v2="2875" v3="3909" />
+ <tetrahedron index="14851" v0="2874" v1="2875" v2="3909" v3="4489" />
+ <tetrahedron index="14852" v0="2875" v1="3909" v2="4489" v3="4490" />
+ <tetrahedron index="14853" v0="1637" v1="1638" v2="2348" v3="3252" />
+ <tetrahedron index="14854" v0="1638" v1="2348" v2="3252" v3="3253" />
+ <tetrahedron index="14855" v0="2348" v1="3252" v2="3253" v3="3963" />
+ <tetrahedron index="14856" v0="1942" v1="2914" v2="2935" v3="3557" />
+ <tetrahedron index="14857" v0="2914" v1="2935" v2="3557" v3="4529" />
+ <tetrahedron index="14858" v0="2935" v1="3557" v2="4529" v3="4550" />
+ <tetrahedron index="14859" v0="2366" v1="2882" v2="2921" v3="3981" />
+ <tetrahedron index="14860" v0="2882" v1="2921" v2="3981" v3="4497" />
+ <tetrahedron index="14861" v0="2921" v1="3981" v2="4497" v3="4536" />
+ <tetrahedron index="14862" v0="2248" v1="2885" v2="2898" v3="3863" />
+ <tetrahedron index="14863" v0="2885" v1="2898" v2="3863" v3="4500" />
+ <tetrahedron index="14864" v0="2898" v1="3863" v2="4500" v3="4513" />
+ <tetrahedron index="14865" v0="1636" v1="2642" v2="2681" v3="3251" />
+ <tetrahedron index="14866" v0="2642" v1="2681" v2="3251" v3="4257" />
+ <tetrahedron index="14867" v0="2681" v1="3251" v2="4257" v3="4296" />
+ <tetrahedron index="14868" v0="2510" v1="2511" v2="2815" v3="4125" />
+ <tetrahedron index="14869" v0="2511" v1="2815" v2="4125" v3="4126" />
+ <tetrahedron index="14870" v0="2815" v1="4125" v2="4126" v3="4430" />
+ <tetrahedron index="14871" v0="2746" v1="2747" v2="2911" v3="4361" />
+ <tetrahedron index="14872" v0="2747" v1="2911" v2="4361" v3="4362" />
+ <tetrahedron index="14873" v0="2911" v1="4361" v2="4362" v3="4526" />
+ <tetrahedron index="14874" v0="2273" v1="2274" v2="2605" v3="3888" />
+ <tetrahedron index="14875" v0="2274" v1="2605" v2="3888" v3="3889" />
+ <tetrahedron index="14876" v0="2605" v1="3888" v2="3889" v3="4220" />
+ <tetrahedron index="14877" v0="2171" v1="2220" v2="2936" v3="3786" />
+ <tetrahedron index="14878" v0="2220" v1="2936" v2="3786" v3="3835" />
+ <tetrahedron index="14879" v0="2936" v1="3786" v2="3835" v3="4551" />
+ <tetrahedron index="14880" v0="1989" v1="2304" v2="2837" v3="3604" />
+ <tetrahedron index="14881" v0="2304" v1="2837" v2="3604" v3="3919" />
+ <tetrahedron index="14882" v0="2837" v1="3604" v2="3919" v3="4452" />
+ <tetrahedron index="14883" v0="2309" v1="2916" v2="2937" v3="3924" />
+ <tetrahedron index="14884" v0="2916" v1="2937" v2="3924" v3="4531" />
+ <tetrahedron index="14885" v0="2937" v1="3924" v2="4531" v3="4552" />
+ <tetrahedron index="14886" v0="1694" v1="2231" v2="2898" v3="3309" />
+ <tetrahedron index="14887" v0="2231" v1="2898" v2="3309" v3="3846" />
+ <tetrahedron index="14888" v0="2898" v1="3309" v2="3846" v3="4513" />
+ <tetrahedron index="14889" v0="2904" v1="2938" v2="2939" v3="4519" />
+ <tetrahedron index="14890" v0="2938" v1="2939" v2="4519" v3="4553" />
+ <tetrahedron index="14891" v0="2939" v1="4519" v2="4553" v3="4554" />
+ <tetrahedron index="14892" v0="2503" v1="2674" v2="2940" v3="4118" />
+ <tetrahedron index="14893" v0="2674" v1="2940" v2="4118" v3="4289" />
+ <tetrahedron index="14894" v0="2940" v1="4118" v2="4289" v3="4555" />
+ <tetrahedron index="14895" v0="2588" v1="2820" v2="2941" v3="4203" />
+ <tetrahedron index="14896" v0="2820" v1="2941" v2="4203" v3="4435" />
+ <tetrahedron index="14897" v0="2941" v1="4203" v2="4435" v3="4556" />
+ <tetrahedron index="14898" v0="2709" v1="2912" v2="2919" v3="4324" />
+ <tetrahedron index="14899" v0="2912" v1="2919" v2="4324" v3="4527" />
+ <tetrahedron index="14900" v0="2919" v1="4324" v2="4527" v3="4534" />
+ <tetrahedron index="14901" v0="2338" v1="2942" v2="2943" v3="3953" />
+ <tetrahedron index="14902" v0="2942" v1="2943" v2="3953" v3="4557" />
+ <tetrahedron index="14903" v0="2943" v1="3953" v2="4557" v3="4558" />
+ <tetrahedron index="14904" v0="1730" v1="2895" v2="2944" v3="3345" />
+ <tetrahedron index="14905" v0="2895" v1="2944" v2="3345" v3="4510" />
+ <tetrahedron index="14906" v0="2944" v1="3345" v2="4510" v3="4559" />
+ <tetrahedron index="14907" v0="2037" v1="2895" v2="2944" v3="3652" />
+ <tetrahedron index="14908" v0="2895" v1="2944" v2="3652" v3="4510" />
+ <tetrahedron index="14909" v0="2944" v1="3652" v2="4510" v3="4559" />
+ <tetrahedron index="14910" v0="2547" v1="2899" v2="2945" v3="4162" />
+ <tetrahedron index="14911" v0="2899" v1="2945" v2="4162" v3="4514" />
+ <tetrahedron index="14912" v0="2945" v1="4162" v2="4514" v3="4560" />
+ <tetrahedron index="14913" v0="1640" v1="2204" v2="2896" v3="3255" />
+ <tetrahedron index="14914" v0="2204" v1="2896" v2="3255" v3="3819" />
+ <tetrahedron index="14915" v0="2896" v1="3255" v2="3819" v3="4511" />
+ <tetrahedron index="14916" v0="2511" v1="2852" v2="2946" v3="4126" />
+ <tetrahedron index="14917" v0="2852" v1="2946" v2="4126" v3="4467" />
+ <tetrahedron index="14918" v0="2946" v1="4126" v2="4467" v3="4561" />
+ <tetrahedron index="14919" v0="2947" v1="2948" v2="2949" v3="4562" />
+ <tetrahedron index="14920" v0="2948" v1="2949" v2="4562" v3="4563" />
+ <tetrahedron index="14921" v0="2949" v1="4562" v2="4563" v3="4564" />
+ <tetrahedron index="14922" v0="1617" v1="2157" v2="2858" v3="3232" />
+ <tetrahedron index="14923" v0="2157" v1="2858" v2="3232" v3="3772" />
+ <tetrahedron index="14924" v0="2858" v1="3232" v2="3772" v3="4473" />
+ <tetrahedron index="14925" v0="1617" v1="2157" v2="2802" v3="3232" />
+ <tetrahedron index="14926" v0="2157" v1="2802" v2="3232" v3="3772" />
+ <tetrahedron index="14927" v0="2802" v1="3232" v2="3772" v3="4417" />
+ <tetrahedron index="14928" v0="1884" v1="2793" v2="2950" v3="3499" />
+ <tetrahedron index="14929" v0="2793" v1="2950" v2="3499" v3="4408" />
+ <tetrahedron index="14930" v0="2950" v1="3499" v2="4408" v3="4565" />
+ <tetrahedron index="14931" v0="2320" v1="2321" v2="2722" v3="3935" />
+ <tetrahedron index="14932" v0="2321" v1="2722" v2="3935" v3="3936" />
+ <tetrahedron index="14933" v0="2722" v1="3935" v2="3936" v3="4337" />
+ <tetrahedron index="14934" v0="1626" v1="1751" v2="2442" v3="3241" />
+ <tetrahedron index="14935" v0="1751" v1="2442" v2="3241" v3="3366" />
+ <tetrahedron index="14936" v0="2442" v1="3241" v2="3366" v3="4057" />
+ <tetrahedron index="14937" v0="1694" v1="2071" v2="2546" v3="3309" />
+ <tetrahedron index="14938" v0="2071" v1="2546" v2="3309" v3="3686" />
+ <tetrahedron index="14939" v0="2546" v1="3309" v2="3686" v3="4161" />
+ <tetrahedron index="14940" v0="1694" v1="2071" v2="2231" v3="3309" />
+ <tetrahedron index="14941" v0="2071" v1="2231" v2="3309" v3="3686" />
+ <tetrahedron index="14942" v0="2231" v1="3309" v2="3686" v3="3846" />
+ <tetrahedron index="14943" v0="1958" v1="1959" v2="2289" v3="3573" />
+ <tetrahedron index="14944" v0="1959" v1="2289" v2="3573" v3="3574" />
+ <tetrahedron index="14945" v0="2289" v1="3573" v2="3574" v3="3904" />
+ <tetrahedron index="14946" v0="1696" v1="2453" v2="2546" v3="3311" />
+ <tetrahedron index="14947" v0="2453" v1="2546" v2="3311" v3="4068" />
+ <tetrahedron index="14948" v0="2546" v1="3311" v2="4068" v3="4161" />
+ <tetrahedron index="14949" v0="2306" v1="2453" v2="2546" v3="3921" />
+ <tetrahedron index="14950" v0="2453" v1="2546" v2="3921" v3="4068" />
+ <tetrahedron index="14951" v0="2546" v1="3921" v2="4068" v3="4161" />
+ <tetrahedron index="14952" v0="2107" v1="2232" v2="2866" v3="3722" />
+ <tetrahedron index="14953" v0="2232" v1="2866" v2="3722" v3="3847" />
+ <tetrahedron index="14954" v0="2866" v1="3722" v2="3847" v3="4481" />
+ <tetrahedron index="14955" v0="2107" v1="2372" v2="2866" v3="3722" />
+ <tetrahedron index="14956" v0="2372" v1="2866" v2="3722" v3="3987" />
+ <tetrahedron index="14957" v0="2866" v1="3722" v2="3987" v3="4481" />
+ <tetrahedron index="14958" v0="1643" v1="1644" v2="1645" v3="3258" />
+ <tetrahedron index="14959" v0="1644" v1="1645" v2="3258" v3="3259" />
+ <tetrahedron index="14960" v0="1645" v1="3258" v2="3259" v3="3260" />
+ <tetrahedron index="14961" v0="2688" v1="2789" v2="2826" v3="4303" />
+ <tetrahedron index="14962" v0="2789" v1="2826" v2="4303" v3="4404" />
+ <tetrahedron index="14963" v0="2826" v1="4303" v2="4404" v3="4441" />
+ <tetrahedron index="14964" v0="1812" v1="2688" v2="2826" v3="3427" />
+ <tetrahedron index="14965" v0="2688" v1="2826" v2="3427" v3="4303" />
+ <tetrahedron index="14966" v0="2826" v1="3427" v2="4303" v3="4441" />
+ <tetrahedron index="14967" v0="2786" v1="2787" v2="2951" v3="4401" />
+ <tetrahedron index="14968" v0="2787" v1="2951" v2="4401" v3="4402" />
+ <tetrahedron index="14969" v0="2951" v1="4401" v2="4402" v3="4566" />
+ <tetrahedron index="14970" v0="2610" v1="2787" v2="2951" v3="4225" />
+ <tetrahedron index="14971" v0="2787" v1="2951" v2="4225" v3="4402" />
+ <tetrahedron index="14972" v0="2951" v1="4225" v2="4402" v3="4566" />
+ <tetrahedron index="14973" v0="2532" v1="2807" v2="2933" v3="4147" />
+ <tetrahedron index="14974" v0="2807" v1="2933" v2="4147" v3="4422" />
+ <tetrahedron index="14975" v0="2933" v1="4147" v2="4422" v3="4548" />
+ <tetrahedron index="14976" v0="1966" v1="2600" v2="2660" v3="3581" />
+ <tetrahedron index="14977" v0="2600" v1="2660" v2="3581" v3="4215" />
+ <tetrahedron index="14978" v0="2660" v1="3581" v2="4215" v3="4275" />
+ <tetrahedron index="14979" v0="1746" v1="1748" v2="2500" v3="3361" />
+ <tetrahedron index="14980" v0="1748" v1="2500" v2="3361" v3="3363" />
+ <tetrahedron index="14981" v0="2500" v1="3361" v2="3363" v3="4115" />
+ <tetrahedron index="14982" v0="2952" v1="2953" v2="2954" v3="4567" />
+ <tetrahedron index="14983" v0="2953" v1="2954" v2="4567" v3="4568" />
+ <tetrahedron index="14984" v0="2954" v1="4567" v2="4568" v3="4569" />
+ <tetrahedron index="14985" v0="2953" v1="2954" v2="2955" v3="4568" />
+ <tetrahedron index="14986" v0="2954" v1="2955" v2="4568" v3="4569" />
+ <tetrahedron index="14987" v0="2955" v1="4568" v2="4569" v3="4570" />
+ <tetrahedron index="14988" v0="2027" v1="2340" v2="2801" v3="3642" />
+ <tetrahedron index="14989" v0="2340" v1="2801" v2="3642" v3="3955" />
+ <tetrahedron index="14990" v0="2801" v1="3642" v2="3955" v3="4416" />
+ <tetrahedron index="14991" v0="1677" v1="2278" v2="2956" v3="3292" />
+ <tetrahedron index="14992" v0="2278" v1="2956" v2="3292" v3="3893" />
+ <tetrahedron index="14993" v0="2956" v1="3292" v2="3893" v3="4571" />
+ <tetrahedron index="14994" v0="2594" v1="2596" v2="2936" v3="4209" />
+ <tetrahedron index="14995" v0="2596" v1="2936" v2="4209" v3="4211" />
+ <tetrahedron index="14996" v0="2936" v1="4209" v2="4211" v3="4551" />
+ <tetrahedron index="14997" v0="1715" v1="2825" v2="2957" v3="3330" />
+ <tetrahedron index="14998" v0="2825" v1="2957" v2="3330" v3="4440" />
+ <tetrahedron index="14999" v0="2957" v1="3330" v2="4440" v3="4572" />
+ <tetrahedron index="15000" v0="1715" v1="1721" v2="2957" v3="3330" />
+ <tetrahedron index="15001" v0="1721" v1="2957" v2="3330" v3="3336" />
+ <tetrahedron index="15002" v0="2957" v1="3330" v2="3336" v3="4572" />
+ <tetrahedron index="15003" v0="2499" v1="2958" v2="2959" v3="4114" />
+ <tetrahedron index="15004" v0="2958" v1="2959" v2="4114" v3="4573" />
+ <tetrahedron index="15005" v0="2959" v1="4114" v2="4573" v3="4574" />
+ <tetrahedron index="15006" v0="2139" v1="2499" v2="2959" v3="3754" />
+ <tetrahedron index="15007" v0="2499" v1="2959" v2="3754" v3="4114" />
+ <tetrahedron index="15008" v0="2959" v1="3754" v2="4114" v3="4574" />
+ <tetrahedron index="15009" v0="2554" v1="2571" v2="2960" v3="4169" />
+ <tetrahedron index="15010" v0="2571" v1="2960" v2="4169" v3="4186" />
+ <tetrahedron index="15011" v0="2960" v1="4169" v2="4186" v3="4575" />
+ <tetrahedron index="15012" v0="2538" v1="2554" v2="2960" v3="4153" />
+ <tetrahedron index="15013" v0="2554" v1="2960" v2="4153" v3="4169" />
+ <tetrahedron index="15014" v0="2960" v1="4153" v2="4169" v3="4575" />
+ <tetrahedron index="15015" v0="2464" v1="2516" v2="2678" v3="4079" />
+ <tetrahedron index="15016" v0="2516" v1="2678" v2="4079" v3="4131" />
+ <tetrahedron index="15017" v0="2678" v1="4079" v2="4131" v3="4293" />
+ <tetrahedron index="15018" v0="2394" v1="2464" v2="2516" v3="4009" />
+ <tetrahedron index="15019" v0="2464" v1="2516" v2="4009" v3="4079" />
+ <tetrahedron index="15020" v0="2516" v1="4009" v2="4079" v3="4131" />
+ <tetrahedron index="15021" v0="2235" v1="2512" v2="2938" v3="3850" />
+ <tetrahedron index="15022" v0="2512" v1="2938" v2="3850" v3="4127" />
+ <tetrahedron index="15023" v0="2938" v1="3850" v2="4127" v3="4553" />
+ <tetrahedron index="15024" v0="2095" v1="2269" v2="2961" v3="3710" />
+ <tetrahedron index="15025" v0="2269" v1="2961" v2="3710" v3="3884" />
+ <tetrahedron index="15026" v0="2961" v1="3710" v2="3884" v3="4576" />
+ <tetrahedron index="15027" v0="2229" v1="2647" v2="2817" v3="3844" />
+ <tetrahedron index="15028" v0="2647" v1="2817" v2="3844" v3="4262" />
+ <tetrahedron index="15029" v0="2817" v1="3844" v2="4262" v3="4432" />
+ <tetrahedron index="15030" v0="1855" v1="2229" v2="2647" v3="3470" />
+ <tetrahedron index="15031" v0="2229" v1="2647" v2="3470" v3="3844" />
+ <tetrahedron index="15032" v0="2647" v1="3470" v2="3844" v3="4262" />
+ <tetrahedron index="15033" v0="2321" v1="2722" v2="2962" v3="3936" />
+ <tetrahedron index="15034" v0="2722" v1="2962" v2="3936" v3="4337" />
+ <tetrahedron index="15035" v0="2962" v1="3936" v2="4337" v3="4577" />
+ <tetrahedron index="15036" v0="1993" v1="2238" v2="2912" v3="3608" />
+ <tetrahedron index="15037" v0="2238" v1="2912" v2="3608" v3="3853" />
+ <tetrahedron index="15038" v0="2912" v1="3608" v2="3853" v3="4527" />
+ <tetrahedron index="15039" v0="2137" v1="2138" v2="2963" v3="3752" />
+ <tetrahedron index="15040" v0="2138" v1="2963" v2="3752" v3="3753" />
+ <tetrahedron index="15041" v0="2963" v1="3752" v2="3753" v3="4578" />
+ <tetrahedron index="15042" v0="2964" v1="2965" v2="2966" v3="4579" />
+ <tetrahedron index="15043" v0="2965" v1="2966" v2="4579" v3="4580" />
+ <tetrahedron index="15044" v0="2966" v1="4579" v2="4580" v3="4581" />
+ <tetrahedron index="15045" v0="2832" v1="2856" v2="2967" v3="4447" />
+ <tetrahedron index="15046" v0="2856" v1="2967" v2="4447" v3="4471" />
+ <tetrahedron index="15047" v0="2967" v1="4447" v2="4471" v3="4582" />
+ <tetrahedron index="15048" v0="2726" v1="2856" v2="2967" v3="4341" />
+ <tetrahedron index="15049" v0="2856" v1="2967" v2="4341" v3="4471" />
+ <tetrahedron index="15050" v0="2967" v1="4341" v2="4471" v3="4582" />
+ <tetrahedron index="15051" v0="2777" v1="2804" v2="2814" v3="4392" />
+ <tetrahedron index="15052" v0="2804" v1="2814" v2="4392" v3="4419" />
+ <tetrahedron index="15053" v0="2814" v1="4392" v2="4419" v3="4429" />
+ <tetrahedron index="15054" v0="2320" v1="2884" v2="2968" v3="3935" />
+ <tetrahedron index="15055" v0="2884" v1="2968" v2="3935" v3="4499" />
+ <tetrahedron index="15056" v0="2968" v1="3935" v2="4499" v3="4583" />
+ <tetrahedron index="15057" v0="2320" v1="2722" v2="2884" v3="3935" />
+ <tetrahedron index="15058" v0="2722" v1="2884" v2="3935" v3="4337" />
+ <tetrahedron index="15059" v0="2884" v1="3935" v2="4337" v3="4499" />
+ <tetrahedron index="15060" v0="2322" v1="2969" v2="2970" v3="3937" />
+ <tetrahedron index="15061" v0="2969" v1="2970" v2="3937" v3="4584" />
+ <tetrahedron index="15062" v0="2970" v1="3937" v2="4584" v3="4585" />
+ <tetrahedron index="15063" v0="1738" v1="1814" v2="2950" v3="3353" />
+ <tetrahedron index="15064" v0="1814" v1="2950" v2="3353" v3="3429" />
+ <tetrahedron index="15065" v0="2950" v1="3353" v2="3429" v3="4565" />
+ <tetrahedron index="15066" v0="2793" v1="2883" v2="2968" v3="4408" />
+ <tetrahedron index="15067" v0="2883" v1="2968" v2="4408" v3="4498" />
+ <tetrahedron index="15068" v0="2968" v1="4408" v2="4498" v3="4583" />
+ <tetrahedron index="15069" v0="2883" v1="2884" v2="2968" v3="4498" />
+ <tetrahedron index="15070" v0="2884" v1="2968" v2="4498" v3="4499" />
+ <tetrahedron index="15071" v0="2968" v1="4498" v2="4499" v3="4583" />
+ <tetrahedron index="15072" v0="2317" v1="2535" v2="2942" v3="3932" />
+ <tetrahedron index="15073" v0="2535" v1="2942" v2="3932" v3="4150" />
+ <tetrahedron index="15074" v0="2942" v1="3932" v2="4150" v3="4557" />
+ <tetrahedron index="15075" v0="2317" v1="2338" v2="2942" v3="3932" />
+ <tetrahedron index="15076" v0="2338" v1="2942" v2="3932" v3="3953" />
+ <tetrahedron index="15077" v0="2942" v1="3932" v2="3953" v3="4557" />
+ <tetrahedron index="15078" v0="2197" v1="2660" v2="2971" v3="3812" />
+ <tetrahedron index="15079" v0="2660" v1="2971" v2="3812" v3="4275" />
+ <tetrahedron index="15080" v0="2971" v1="3812" v2="4275" v3="4586" />
+ <tetrahedron index="15081" v0="2600" v1="2660" v2="2971" v3="4215" />
+ <tetrahedron index="15082" v0="2660" v1="2971" v2="4215" v3="4275" />
+ <tetrahedron index="15083" v0="2971" v1="4215" v2="4275" v3="4586" />
+ <tetrahedron index="15084" v0="1904" v1="1915" v2="2972" v3="3519" />
+ <tetrahedron index="15085" v0="1915" v1="2972" v2="3519" v3="3530" />
+ <tetrahedron index="15086" v0="2972" v1="3519" v2="3530" v3="4587" />
+ <tetrahedron index="15087" v0="1856" v1="2017" v2="2973" v3="3471" />
+ <tetrahedron index="15088" v0="2017" v1="2973" v2="3471" v3="3632" />
+ <tetrahedron index="15089" v0="2973" v1="3471" v2="3632" v3="4588" />
+ <tetrahedron index="15090" v0="2100" v1="2372" v2="2742" v3="3715" />
+ <tetrahedron index="15091" v0="2372" v1="2742" v2="3715" v3="3987" />
+ <tetrahedron index="15092" v0="2742" v1="3715" v2="3987" v3="4357" />
+ <tetrahedron index="15093" v0="2099" v1="2100" v2="2742" v3="3714" />
+ <tetrahedron index="15094" v0="2100" v1="2742" v2="3714" v3="3715" />
+ <tetrahedron index="15095" v0="2742" v1="3714" v2="3715" v3="4357" />
+ <tetrahedron index="15096" v0="1805" v1="1807" v2="2974" v3="3420" />
+ <tetrahedron index="15097" v0="1807" v1="2974" v2="3420" v3="3422" />
+ <tetrahedron index="15098" v0="2974" v1="3420" v2="3422" v3="4589" />
+ <tetrahedron index="15099" v0="2140" v1="2975" v2="2976" v3="3755" />
+ <tetrahedron index="15100" v0="2975" v1="2976" v2="3755" v3="4590" />
+ <tetrahedron index="15101" v0="2976" v1="3755" v2="4590" v3="4591" />
+ <tetrahedron index="15102" v0="2140" v1="2374" v2="2976" v3="3755" />
+ <tetrahedron index="15103" v0="2374" v1="2976" v2="3755" v3="3989" />
+ <tetrahedron index="15104" v0="2976" v1="3755" v2="3989" v3="4591" />
+ <tetrahedron index="15105" v0="2395" v1="2432" v2="2977" v3="4010" />
+ <tetrahedron index="15106" v0="2432" v1="2977" v2="4010" v3="4047" />
+ <tetrahedron index="15107" v0="2977" v1="4010" v2="4047" v3="4592" />
+ <tetrahedron index="15108" v0="1683" v1="2437" v2="2978" v3="3298" />
+ <tetrahedron index="15109" v0="2437" v1="2978" v2="3298" v3="4052" />
+ <tetrahedron index="15110" v0="2978" v1="3298" v2="4052" v3="4593" />
+ <tetrahedron index="15111" v0="2499" v1="2695" v2="2958" v3="4114" />
+ <tetrahedron index="15112" v0="2695" v1="2958" v2="4114" v3="4310" />
+ <tetrahedron index="15113" v0="2958" v1="4114" v2="4310" v3="4573" />
+ <tetrahedron index="15114" v0="2823" v1="2842" v2="2937" v3="4438" />
+ <tetrahedron index="15115" v0="2842" v1="2937" v2="4438" v3="4457" />
+ <tetrahedron index="15116" v0="2937" v1="4438" v2="4457" v3="4552" />
+ <tetrahedron index="15117" v0="2241" v1="2940" v2="2979" v3="3856" />
+ <tetrahedron index="15118" v0="2940" v1="2979" v2="3856" v3="4555" />
+ <tetrahedron index="15119" v0="2979" v1="3856" v2="4555" v3="4594" />
+ <tetrahedron index="15120" v0="1628" v1="2712" v2="2980" v3="3243" />
+ <tetrahedron index="15121" v0="2712" v1="2980" v2="3243" v3="4327" />
+ <tetrahedron index="15122" v0="2980" v1="3243" v2="4327" v3="4595" />
+ <tetrahedron index="15123" v0="2480" v1="2482" v2="2943" v3="4095" />
+ <tetrahedron index="15124" v0="2482" v1="2943" v2="4095" v3="4097" />
+ <tetrahedron index="15125" v0="2943" v1="4095" v2="4097" v3="4558" />
+ <tetrahedron index="15126" v0="2909" v1="2917" v2="2981" v3="4524" />
+ <tetrahedron index="15127" v0="2917" v1="2981" v2="4524" v3="4532" />
+ <tetrahedron index="15128" v0="2981" v1="4524" v2="4532" v3="4596" />
+ <tetrahedron index="15129" v0="1727" v1="2102" v2="2156" v3="3342" />
+ <tetrahedron index="15130" v0="2102" v1="2156" v2="3342" v3="3717" />
+ <tetrahedron index="15131" v0="2156" v1="3342" v2="3717" v3="3771" />
+ <tetrahedron index="15132" v0="1817" v1="2249" v2="2896" v3="3432" />
+ <tetrahedron index="15133" v0="2249" v1="2896" v2="3432" v3="3864" />
+ <tetrahedron index="15134" v0="2896" v1="3432" v2="3864" v3="4511" />
+ <tetrahedron index="15135" v0="2706" v1="2889" v2="2947" v3="4321" />
+ <tetrahedron index="15136" v0="2889" v1="2947" v2="4321" v3="4504" />
+ <tetrahedron index="15137" v0="2947" v1="4321" v2="4504" v3="4562" />
+ <tetrahedron index="15138" v0="2878" v1="2982" v2="2983" v3="4493" />
+ <tetrahedron index="15139" v0="2982" v1="2983" v2="4493" v3="4597" />
+ <tetrahedron index="15140" v0="2983" v1="4493" v2="4597" v3="4598" />
+ <tetrahedron index="15141" v0="2878" v1="2893" v2="2983" v3="4493" />
+ <tetrahedron index="15142" v0="2893" v1="2983" v2="4493" v3="4508" />
+ <tetrahedron index="15143" v0="2983" v1="4493" v2="4508" v3="4598" />
+ <tetrahedron index="15144" v0="1847" v1="1928" v2="2984" v3="3462" />
+ <tetrahedron index="15145" v0="1928" v1="2984" v2="3462" v3="3543" />
+ <tetrahedron index="15146" v0="2984" v1="3462" v2="3543" v3="4599" />
+ <tetrahedron index="15147" v0="2844" v1="2916" v2="2985" v3="4459" />
+ <tetrahedron index="15148" v0="2916" v1="2985" v2="4459" v3="4531" />
+ <tetrahedron index="15149" v0="2985" v1="4459" v2="4531" v3="4600" />
+ <tetrahedron index="15150" v0="2417" v1="2462" v2="2559" v3="4032" />
+ <tetrahedron index="15151" v0="2462" v1="2559" v2="4032" v3="4077" />
+ <tetrahedron index="15152" v0="2559" v1="4032" v2="4077" v3="4174" />
+ <tetrahedron index="15153" v0="2523" v1="2525" v2="2945" v3="4138" />
+ <tetrahedron index="15154" v0="2525" v1="2945" v2="4138" v3="4140" />
+ <tetrahedron index="15155" v0="2945" v1="4138" v2="4140" v3="4560" />
+ <tetrahedron index="15156" v0="2174" v1="2487" v2="2986" v3="3789" />
+ <tetrahedron index="15157" v0="2487" v1="2986" v2="3789" v3="4102" />
+ <tetrahedron index="15158" v0="2986" v1="3789" v2="4102" v3="4601" />
+ <tetrahedron index="15159" v0="2174" v1="2175" v2="2986" v3="3789" />
+ <tetrahedron index="15160" v0="2175" v1="2986" v2="3789" v3="3790" />
+ <tetrahedron index="15161" v0="2986" v1="3789" v2="3790" v3="4601" />
+ <tetrahedron index="15162" v0="1716" v1="1854" v2="2973" v3="3331" />
+ <tetrahedron index="15163" v0="1854" v1="2973" v2="3331" v3="3469" />
+ <tetrahedron index="15164" v0="2973" v1="3331" v2="3469" v3="4588" />
+ <tetrahedron index="15165" v0="1716" v1="2017" v2="2973" v3="3331" />
+ <tetrahedron index="15166" v0="2017" v1="2973" v2="3331" v3="3632" />
+ <tetrahedron index="15167" v0="2973" v1="3331" v2="3632" v3="4588" />
+ <tetrahedron index="15168" v0="2152" v1="2282" v2="2987" v3="3767" />
+ <tetrahedron index="15169" v0="2282" v1="2987" v2="3767" v3="3897" />
+ <tetrahedron index="15170" v0="2987" v1="3767" v2="3897" v3="4602" />
+ <tetrahedron index="15171" v0="2273" v1="2287" v2="2605" v3="3888" />
+ <tetrahedron index="15172" v0="2287" v1="2605" v2="3888" v3="3902" />
+ <tetrahedron index="15173" v0="2605" v1="3888" v2="3902" v3="4220" />
+ <tetrahedron index="15174" v0="1679" v1="2027" v2="2302" v3="3294" />
+ <tetrahedron index="15175" v0="2027" v1="2302" v2="3294" v3="3642" />
+ <tetrahedron index="15176" v0="2302" v1="3294" v2="3642" v3="3917" />
+ <tetrahedron index="15177" v0="2027" v1="2302" v2="2801" v3="3642" />
+ <tetrahedron index="15178" v0="2302" v1="2801" v2="3642" v3="3917" />
+ <tetrahedron index="15179" v0="2801" v1="3642" v2="3917" v3="4416" />
+ <tetrahedron index="15180" v0="2938" v1="2939" v2="2988" v3="4553" />
+ <tetrahedron index="15181" v0="2939" v1="2988" v2="4553" v3="4554" />
+ <tetrahedron index="15182" v0="2988" v1="4553" v2="4554" v3="4603" />
+ <tetrahedron index="15183" v0="2512" v1="2938" v2="2988" v3="4127" />
+ <tetrahedron index="15184" v0="2938" v1="2988" v2="4127" v3="4553" />
+ <tetrahedron index="15185" v0="2988" v1="4127" v2="4553" v3="4603" />
+ <tetrahedron index="15186" v0="1721" v1="2141" v2="2957" v3="3336" />
+ <tetrahedron index="15187" v0="2141" v1="2957" v2="3336" v3="3756" />
+ <tetrahedron index="15188" v0="2957" v1="3336" v2="3756" v3="4572" />
+ <tetrahedron index="15189" v0="2141" v1="2759" v2="2957" v3="3756" />
+ <tetrahedron index="15190" v0="2759" v1="2957" v2="3756" v3="4374" />
+ <tetrahedron index="15191" v0="2957" v1="3756" v2="4374" v3="4572" />
+ <tetrahedron index="15192" v0="2789" v1="2825" v2="2957" v3="4404" />
+ <tetrahedron index="15193" v0="2825" v1="2957" v2="4404" v3="4440" />
+ <tetrahedron index="15194" v0="2957" v1="4404" v2="4440" v3="4572" />
+ <tetrahedron index="15195" v0="2759" v1="2789" v2="2957" v3="4374" />
+ <tetrahedron index="15196" v0="2789" v1="2957" v2="4374" v3="4404" />
+ <tetrahedron index="15197" v0="2957" v1="4374" v2="4404" v3="4572" />
+ <tetrahedron index="15198" v0="1719" v1="1720" v2="2989" v3="3334" />
+ <tetrahedron index="15199" v0="1720" v1="2989" v2="3334" v3="3335" />
+ <tetrahedron index="15200" v0="2989" v1="3334" v2="3335" v3="4604" />
+ <tetrahedron index="15201" v0="1719" v1="2989" v2="2990" v3="3334" />
+ <tetrahedron index="15202" v0="2989" v1="2990" v2="3334" v3="4604" />
+ <tetrahedron index="15203" v0="2990" v1="3334" v2="4604" v3="4605" />
+ <tetrahedron index="15204" v0="2122" v1="2571" v2="2960" v3="3737" />
+ <tetrahedron index="15205" v0="2571" v1="2960" v2="3737" v3="4186" />
+ <tetrahedron index="15206" v0="2960" v1="3737" v2="4186" v3="4575" />
+ <tetrahedron index="15207" v0="2122" v1="2447" v2="2960" v3="3737" />
+ <tetrahedron index="15208" v0="2447" v1="2960" v2="3737" v3="4062" />
+ <tetrahedron index="15209" v0="2960" v1="3737" v2="4062" v3="4575" />
+ <tetrahedron index="15210" v0="2464" v1="2678" v2="2913" v3="4079" />
+ <tetrahedron index="15211" v0="2678" v1="2913" v2="4079" v3="4293" />
+ <tetrahedron index="15212" v0="2913" v1="4079" v2="4293" v3="4528" />
+ <tetrahedron index="15213" v0="1744" v1="2483" v2="2484" v3="3359" />
+ <tetrahedron index="15214" v0="2483" v1="2484" v2="3359" v3="4098" />
+ <tetrahedron index="15215" v0="2484" v1="3359" v2="4098" v3="4099" />
+ <tetrahedron index="15216" v0="1744" v1="1745" v2="2483" v3="3359" />
+ <tetrahedron index="15217" v0="1745" v1="2483" v2="3359" v3="3360" />
+ <tetrahedron index="15218" v0="2483" v1="3359" v2="3360" v3="4098" />
+ <tetrahedron index="15219" v0="1915" v1="2418" v2="2972" v3="3530" />
+ <tetrahedron index="15220" v0="2418" v1="2972" v2="3530" v3="4033" />
+ <tetrahedron index="15221" v0="2972" v1="3530" v2="4033" v3="4587" />
+ <tetrahedron index="15222" v0="2205" v1="2269" v2="2961" v3="3820" />
+ <tetrahedron index="15223" v0="2269" v1="2961" v2="3820" v3="3884" />
+ <tetrahedron index="15224" v0="2961" v1="3820" v2="3884" v3="4576" />
+ <tetrahedron index="15225" v0="2584" v1="2991" v2="2992" v3="4199" />
+ <tetrahedron index="15226" v0="2991" v1="2992" v2="4199" v3="4606" />
+ <tetrahedron index="15227" v0="2992" v1="4199" v2="4606" v3="4607" />
+ <tetrahedron index="15228" v0="2584" v1="2701" v2="2992" v3="4199" />
+ <tetrahedron index="15229" v0="2701" v1="2992" v2="4199" v3="4316" />
+ <tetrahedron index="15230" v0="2992" v1="4199" v2="4316" v3="4607" />
+ <tetrahedron index="15231" v0="2647" v1="2817" v2="2822" v3="4262" />
+ <tetrahedron index="15232" v0="2817" v1="2822" v2="4262" v3="4432" />
+ <tetrahedron index="15233" v0="2822" v1="4262" v2="4432" v3="4437" />
+ <tetrahedron index="15234" v0="2003" v1="2647" v2="2822" v3="3618" />
+ <tetrahedron index="15235" v0="2647" v1="2822" v2="3618" v3="4262" />
+ <tetrahedron index="15236" v0="2822" v1="3618" v2="4262" v3="4437" />
+ <tetrahedron index="15237" v0="1857" v1="2144" v2="2993" v3="3472" />
+ <tetrahedron index="15238" v0="2144" v1="2993" v2="3472" v3="3759" />
+ <tetrahedron index="15239" v0="2993" v1="3472" v2="3759" v3="4608" />
+ <tetrahedron index="15240" v0="2155" v1="2520" v2="2994" v3="3770" />
+ <tetrahedron index="15241" v0="2520" v1="2994" v2="3770" v3="4135" />
+ <tetrahedron index="15242" v0="2994" v1="3770" v2="4135" v3="4609" />
+ <tetrahedron index="15243" v0="2520" v1="2907" v2="2994" v3="4135" />
+ <tetrahedron index="15244" v0="2907" v1="2994" v2="4135" v3="4522" />
+ <tetrahedron index="15245" v0="2994" v1="4135" v2="4522" v3="4609" />
+ <tetrahedron index="15246" v0="2065" v1="2552" v2="2773" v3="3680" />
+ <tetrahedron index="15247" v0="2552" v1="2773" v2="3680" v3="4167" />
+ <tetrahedron index="15248" v0="2773" v1="3680" v2="4167" v3="4388" />
+ <tetrahedron index="15249" v0="2065" v1="2731" v2="2773" v3="3680" />
+ <tetrahedron index="15250" v0="2731" v1="2773" v2="3680" v3="4346" />
+ <tetrahedron index="15251" v0="2773" v1="3680" v2="4346" v3="4388" />
+ <tetrahedron index="15252" v0="2240" v1="2503" v2="2940" v3="3855" />
+ <tetrahedron index="15253" v0="2503" v1="2940" v2="3855" v3="4118" />
+ <tetrahedron index="15254" v0="2940" v1="3855" v2="4118" v3="4555" />
+ <tetrahedron index="15255" v0="2240" v1="2241" v2="2940" v3="3855" />
+ <tetrahedron index="15256" v0="2241" v1="2940" v2="3855" v3="3856" />
+ <tetrahedron index="15257" v0="2940" v1="3855" v2="3856" v3="4555" />
+ <tetrahedron index="15258" v0="2768" v1="2832" v2="2967" v3="4383" />
+ <tetrahedron index="15259" v0="2832" v1="2967" v2="4383" v3="4447" />
+ <tetrahedron index="15260" v0="2967" v1="4383" v2="4447" v3="4582" />
+ <tetrahedron index="15261" v0="2768" v1="2778" v2="2967" v3="4383" />
+ <tetrahedron index="15262" v0="2778" v1="2967" v2="4383" v3="4393" />
+ <tetrahedron index="15263" v0="2967" v1="4383" v2="4393" v3="4582" />
+ <tetrahedron index="15264" v0="2872" v1="2995" v2="2996" v3="4487" />
+ <tetrahedron index="15265" v0="2995" v1="2996" v2="4487" v3="4610" />
+ <tetrahedron index="15266" v0="2996" v1="4487" v2="4610" v3="4611" />
+ <tetrahedron index="15267" v0="1985" v1="2224" v2="2827" v3="3600" />
+ <tetrahedron index="15268" v0="2224" v1="2827" v2="3600" v3="3839" />
+ <tetrahedron index="15269" v0="2827" v1="3600" v2="3839" v3="4442" />
+ <tetrahedron index="15270" v0="2215" v1="2224" v2="2827" v3="3830" />
+ <tetrahedron index="15271" v0="2224" v1="2827" v2="3830" v3="3839" />
+ <tetrahedron index="15272" v0="2827" v1="3830" v2="3839" v3="4442" />
+ <tetrahedron index="15273" v0="2777" v1="2778" v2="2814" v3="4392" />
+ <tetrahedron index="15274" v0="2778" v1="2814" v2="4392" v3="4393" />
+ <tetrahedron index="15275" v0="2814" v1="4392" v2="4393" v3="4429" />
+ <tetrahedron index="15276" v0="2386" v1="2560" v2="2561" v3="4001" />
+ <tetrahedron index="15277" v0="2560" v1="2561" v2="4001" v3="4175" />
+ <tetrahedron index="15278" v0="2561" v1="4001" v2="4175" v3="4176" />
+ <tetrahedron index="15279" v0="2386" v1="2560" v2="2997" v3="4001" />
+ <tetrahedron index="15280" v0="2560" v1="2997" v2="4001" v3="4175" />
+ <tetrahedron index="15281" v0="2997" v1="4001" v2="4175" v3="4612" />
+ <tetrahedron index="15282" v0="2600" v1="2776" v2="2971" v3="4215" />
+ <tetrahedron index="15283" v0="2776" v1="2971" v2="4215" v3="4391" />
+ <tetrahedron index="15284" v0="2971" v1="4215" v2="4391" v3="4586" />
+ <tetrahedron index="15285" v0="2226" v1="2776" v2="2971" v3="3841" />
+ <tetrahedron index="15286" v0="2776" v1="2971" v2="3841" v3="4391" />
+ <tetrahedron index="15287" v0="2971" v1="3841" v2="4391" v3="4586" />
+ <tetrahedron index="15288" v0="2120" v1="2615" v2="2986" v3="3735" />
+ <tetrahedron index="15289" v0="2615" v1="2986" v2="3735" v3="4230" />
+ <tetrahedron index="15290" v0="2986" v1="3735" v2="4230" v3="4601" />
+ <tetrahedron index="15291" v0="2487" v1="2615" v2="2986" v3="4102" />
+ <tetrahedron index="15292" v0="2615" v1="2986" v2="4102" v3="4230" />
+ <tetrahedron index="15293" v0="2986" v1="4102" v2="4230" v3="4601" />
+ <tetrahedron index="15294" v0="2459" v1="2940" v2="2979" v3="4074" />
+ <tetrahedron index="15295" v0="2940" v1="2979" v2="4074" v3="4555" />
+ <tetrahedron index="15296" v0="2979" v1="4074" v2="4555" v3="4594" />
+ <tetrahedron index="15297" v0="2459" v1="2674" v2="2940" v3="4074" />
+ <tetrahedron index="15298" v0="2674" v1="2940" v2="4074" v3="4289" />
+ <tetrahedron index="15299" v0="2940" v1="4074" v2="4289" v3="4555" />
+ <tetrahedron index="15300" v0="2769" v1="2840" v2="2998" v3="4384" />
+ <tetrahedron index="15301" v0="2840" v1="2998" v2="4384" v3="4455" />
+ <tetrahedron index="15302" v0="2998" v1="4384" v2="4455" v3="4613" />
+ <tetrahedron index="15303" v0="2366" v1="2462" v2="2921" v3="3981" />
+ <tetrahedron index="15304" v0="2462" v1="2921" v2="3981" v3="4077" />
+ <tetrahedron index="15305" v0="2921" v1="3981" v2="4077" v3="4536" />
+ <tetrahedron index="15306" v0="2462" v1="2920" v2="2921" v3="4077" />
+ <tetrahedron index="15307" v0="2920" v1="2921" v2="4077" v3="4535" />
+ <tetrahedron index="15308" v0="2921" v1="4077" v2="4535" v3="4536" />
+ <tetrahedron index="15309" v0="2778" v1="2814" v2="2967" v3="4393" />
+ <tetrahedron index="15310" v0="2814" v1="2967" v2="4393" v3="4429" />
+ <tetrahedron index="15311" v0="2967" v1="4393" v2="4429" v3="4582" />
+ <tetrahedron index="15312" v0="2726" v1="2814" v2="2967" v3="4341" />
+ <tetrahedron index="15313" v0="2814" v1="2967" v2="4341" v3="4429" />
+ <tetrahedron index="15314" v0="2967" v1="4341" v2="4429" v3="4582" />
+ <tetrahedron index="15315" v0="1814" v1="2883" v2="2950" v3="3429" />
+ <tetrahedron index="15316" v0="2883" v1="2950" v2="3429" v3="4498" />
+ <tetrahedron index="15317" v0="2950" v1="3429" v2="4498" v3="4565" />
+ <tetrahedron index="15318" v0="2793" v1="2883" v2="2950" v3="4408" />
+ <tetrahedron index="15319" v0="2883" v1="2950" v2="4408" v3="4498" />
+ <tetrahedron index="15320" v0="2950" v1="4408" v2="4498" v3="4565" />
+ <tetrahedron index="15321" v0="1963" v1="1994" v2="2918" v3="3578" />
+ <tetrahedron index="15322" v0="1994" v1="2918" v2="3578" v3="3609" />
+ <tetrahedron index="15323" v0="2918" v1="3578" v2="3609" v3="4533" />
+ <tetrahedron index="15324" v0="1963" v1="2676" v2="2918" v3="3578" />
+ <tetrahedron index="15325" v0="2676" v1="2918" v2="3578" v3="4291" />
+ <tetrahedron index="15326" v0="2918" v1="3578" v2="4291" v3="4533" />
+ <tetrahedron index="15327" v0="1777" v1="2223" v2="2795" v3="3392" />
+ <tetrahedron index="15328" v0="2223" v1="2795" v2="3392" v3="3838" />
+ <tetrahedron index="15329" v0="2795" v1="3392" v2="3838" v3="4410" />
+ <tetrahedron index="15330" v0="1777" v1="2794" v2="2795" v3="3392" />
+ <tetrahedron index="15331" v0="2794" v1="2795" v2="3392" v3="4409" />
+ <tetrahedron index="15332" v0="2795" v1="3392" v2="4409" v3="4410" />
+ <tetrahedron index="15333" v0="2731" v1="2773" v2="2888" v3="4346" />
+ <tetrahedron index="15334" v0="2773" v1="2888" v2="4346" v3="4388" />
+ <tetrahedron index="15335" v0="2888" v1="4346" v2="4388" v3="4503" />
+ <tetrahedron index="15336" v0="2773" v1="2774" v2="2888" v3="4388" />
+ <tetrahedron index="15337" v0="2774" v1="2888" v2="4388" v3="4389" />
+ <tetrahedron index="15338" v0="2888" v1="4388" v2="4389" v3="4503" />
+ <tetrahedron index="15339" v0="1870" v1="2908" v2="2983" v3="3485" />
+ <tetrahedron index="15340" v0="2908" v1="2983" v2="3485" v3="4523" />
+ <tetrahedron index="15341" v0="2983" v1="3485" v2="4523" v3="4598" />
+ <tetrahedron index="15342" v0="2908" v1="2982" v2="2983" v3="4523" />
+ <tetrahedron index="15343" v0="2982" v1="2983" v2="4523" v3="4597" />
+ <tetrahedron index="15344" v0="2983" v1="4523" v2="4597" v3="4598" />
+ <tetrahedron index="15345" v0="2343" v1="2722" v2="2884" v3="3958" />
+ <tetrahedron index="15346" v0="2722" v1="2884" v2="3958" v3="4337" />
+ <tetrahedron index="15347" v0="2884" v1="3958" v2="4337" v3="4499" />
+ <tetrahedron index="15348" v0="1814" v1="2343" v2="2884" v3="3429" />
+ <tetrahedron index="15349" v0="2343" v1="2884" v2="3429" v3="3958" />
+ <tetrahedron index="15350" v0="2884" v1="3429" v2="3958" v3="4499" />
+ <tetrahedron index="15351" v0="2643" v1="2680" v2="2999" v3="4258" />
+ <tetrahedron index="15352" v0="2680" v1="2999" v2="4258" v3="4295" />
+ <tetrahedron index="15353" v0="2999" v1="4258" v2="4295" v3="4614" />
+ <tetrahedron index="15354" v0="2010" v1="2109" v2="2795" v3="3625" />
+ <tetrahedron index="15355" v0="2109" v1="2795" v2="3625" v3="3724" />
+ <tetrahedron index="15356" v0="2795" v1="3625" v2="3724" v3="4410" />
+ <tetrahedron index="15357" v0="2525" v1="2947" v2="2948" v3="4140" />
+ <tetrahedron index="15358" v0="2947" v1="2948" v2="4140" v3="4562" />
+ <tetrahedron index="15359" v0="2948" v1="4140" v2="4562" v3="4563" />
+ <tetrahedron index="15360" v0="2525" v1="2706" v2="2947" v3="4140" />
+ <tetrahedron index="15361" v0="2706" v1="2947" v2="4140" v3="4321" />
+ <tetrahedron index="15362" v0="2947" v1="4140" v2="4321" v3="4562" />
+ <tetrahedron index="15363" v0="1617" v1="2323" v2="2802" v3="3232" />
+ <tetrahedron index="15364" v0="2323" v1="2802" v2="3232" v3="3938" />
+ <tetrahedron index="15365" v0="2802" v1="3232" v2="3938" v3="4417" />
+ <tetrahedron index="15366" v0="2770" v1="2918" v2="2919" v3="4385" />
+ <tetrahedron index="15367" v0="2918" v1="2919" v2="4385" v3="4533" />
+ <tetrahedron index="15368" v0="2919" v1="4385" v2="4533" v3="4534" />
+ <tetrahedron index="15369" v0="2749" v1="2813" v2="2886" v3="4364" />
+ <tetrahedron index="15370" v0="2813" v1="2886" v2="4364" v3="4428" />
+ <tetrahedron index="15371" v0="2886" v1="4364" v2="4428" v3="4501" />
+ <tetrahedron index="15372" v0="2594" v1="2723" v2="2784" v3="4209" />
+ <tetrahedron index="15373" v0="2723" v1="2784" v2="4209" v3="4338" />
+ <tetrahedron index="15374" v0="2784" v1="4209" v2="4338" v3="4399" />
+ <tetrahedron index="15375" v0="1765" v1="2893" v2="2983" v3="3380" />
+ <tetrahedron index="15376" v0="2893" v1="2983" v2="3380" v3="4508" />
+ <tetrahedron index="15377" v0="2983" v1="3380" v2="4508" v3="4598" />
+ <tetrahedron index="15378" v0="1765" v1="1870" v2="2983" v3="3380" />
+ <tetrahedron index="15379" v0="1870" v1="2983" v2="3380" v3="3485" />
+ <tetrahedron index="15380" v0="2983" v1="3380" v2="3485" v3="4598" />
+ <tetrahedron index="15381" v0="2197" v1="2227" v2="2971" v3="3812" />
+ <tetrahedron index="15382" v0="2227" v1="2971" v2="3812" v3="3842" />
+ <tetrahedron index="15383" v0="2971" v1="3812" v2="3842" v3="4586" />
+ <tetrahedron index="15384" v0="2226" v1="2227" v2="2971" v3="3841" />
+ <tetrahedron index="15385" v0="2227" v1="2971" v2="3841" v3="3842" />
+ <tetrahedron index="15386" v0="2971" v1="3841" v2="3842" v3="4586" />
+ <tetrahedron index="15387" v0="2165" v1="2322" v2="2970" v3="3780" />
+ <tetrahedron index="15388" v0="2322" v1="2970" v2="3780" v3="3937" />
+ <tetrahedron index="15389" v0="2970" v1="3780" v2="3937" v3="4585" />
+ <tetrahedron index="15390" v0="2033" v1="2903" v2="3000" v3="3648" />
+ <tetrahedron index="15391" v0="2903" v1="3000" v2="3648" v3="4518" />
+ <tetrahedron index="15392" v0="3000" v1="3648" v2="4518" v3="4615" />
+ <tetrahedron index="15393" v0="1624" v1="1626" v2="2442" v3="3239" />
+ <tetrahedron index="15394" v0="1626" v1="2442" v2="3239" v3="3241" />
+ <tetrahedron index="15395" v0="2442" v1="3239" v2="3241" v3="4057" />
+ <tetrahedron index="15396" v0="1624" v1="2442" v2="2847" v3="3239" />
+ <tetrahedron index="15397" v0="2442" v1="2847" v2="3239" v3="4057" />
+ <tetrahedron index="15398" v0="2847" v1="3239" v2="4057" v3="4462" />
+ <tetrahedron index="15399" v0="2834" v1="2928" v2="3001" v3="4449" />
+ <tetrahedron index="15400" v0="2928" v1="3001" v2="4449" v3="4543" />
+ <tetrahedron index="15401" v0="3001" v1="4449" v2="4543" v3="4616" />
+ <tetrahedron index="15402" v0="2928" v1="2975" v2="3001" v3="4543" />
+ <tetrahedron index="15403" v0="2975" v1="3001" v2="4543" v3="4590" />
+ <tetrahedron index="15404" v0="3001" v1="4543" v2="4590" v3="4616" />
+ <tetrahedron index="15405" v0="2560" v1="2865" v2="2997" v3="4175" />
+ <tetrahedron index="15406" v0="2865" v1="2997" v2="4175" v3="4480" />
+ <tetrahedron index="15407" v0="2997" v1="4175" v2="4480" v3="4612" />
+ <tetrahedron index="15408" v0="2036" v1="2907" v2="2994" v3="3651" />
+ <tetrahedron index="15409" v0="2907" v1="2994" v2="3651" v3="4522" />
+ <tetrahedron index="15410" v0="2994" v1="3651" v2="4522" v3="4609" />
+ <tetrahedron index="15411" v0="1627" v1="2661" v2="2980" v3="3242" />
+ <tetrahedron index="15412" v0="2661" v1="2980" v2="3242" v3="4276" />
+ <tetrahedron index="15413" v0="2980" v1="3242" v2="4276" v3="4595" />
+ <tetrahedron index="15414" v0="1627" v1="1628" v2="2980" v3="3242" />
+ <tetrahedron index="15415" v0="1628" v1="2980" v2="3242" v3="3243" />
+ <tetrahedron index="15416" v0="2980" v1="3242" v2="3243" v3="4595" />
+ <tetrahedron index="15417" v0="1853" v1="2125" v2="3002" v3="3468" />
+ <tetrahedron index="15418" v0="2125" v1="3002" v2="3468" v3="3740" />
+ <tetrahedron index="15419" v0="3002" v1="3468" v2="3740" v3="4617" />
+ <tetrahedron index="15420" v0="1853" v1="1854" v2="3002" v3="3468" />
+ <tetrahedron index="15421" v0="1854" v1="3002" v2="3468" v3="3469" />
+ <tetrahedron index="15422" v0="3002" v1="3468" v2="3469" v3="4617" />
+ <tetrahedron index="15423" v0="2100" v1="2254" v2="2372" v3="3715" />
+ <tetrahedron index="15424" v0="2254" v1="2372" v2="3715" v3="3869" />
+ <tetrahedron index="15425" v0="2372" v1="3715" v2="3869" v3="3987" />
+ <tetrahedron index="15426" v0="2100" v1="2101" v2="2254" v3="3715" />
+ <tetrahedron index="15427" v0="2101" v1="2254" v2="3715" v3="3716" />
+ <tetrahedron index="15428" v0="2254" v1="3715" v2="3716" v3="3869" />
+ <tetrahedron index="15429" v0="2027" v1="2339" v2="2340" v3="3642" />
+ <tetrahedron index="15430" v0="2339" v1="2340" v2="3642" v3="3954" />
+ <tetrahedron index="15431" v0="2340" v1="3642" v2="3954" v3="3955" />
+ <tetrahedron index="15432" v0="1992" v1="2027" v2="2339" v3="3607" />
+ <tetrahedron index="15433" v0="2027" v1="2339" v2="3607" v3="3642" />
+ <tetrahedron index="15434" v0="2339" v1="3607" v2="3642" v3="3954" />
+ <tetrahedron index="15435" v0="2376" v1="2594" v2="2936" v3="3991" />
+ <tetrahedron index="15436" v0="2594" v1="2936" v2="3991" v3="4209" />
+ <tetrahedron index="15437" v0="2936" v1="3991" v2="4209" v3="4551" />
+ <tetrahedron index="15438" v0="2171" v1="2376" v2="2936" v3="3786" />
+ <tetrahedron index="15439" v0="2376" v1="2936" v2="3786" v3="3991" />
+ <tetrahedron index="15440" v0="2936" v1="3786" v2="3991" v3="4551" />
+ <tetrahedron index="15441" v0="2975" v1="2976" v2="3003" v3="4590" />
+ <tetrahedron index="15442" v0="2976" v1="3003" v2="4590" v3="4591" />
+ <tetrahedron index="15443" v0="3003" v1="4590" v2="4591" v3="4618" />
+ <tetrahedron index="15444" v0="2958" v1="2976" v2="3003" v3="4573" />
+ <tetrahedron index="15445" v0="2976" v1="3003" v2="4573" v3="4591" />
+ <tetrahedron index="15446" v0="3003" v1="4573" v2="4591" v3="4618" />
+ <tetrahedron index="15447" v0="2047" v1="2523" v2="2945" v3="3662" />
+ <tetrahedron index="15448" v0="2523" v1="2945" v2="3662" v3="4138" />
+ <tetrahedron index="15449" v0="2945" v1="3662" v2="4138" v3="4560" />
+ <tetrahedron index="15450" v0="2047" v1="2899" v2="2945" v3="3662" />
+ <tetrahedron index="15451" v0="2899" v1="2945" v2="3662" v3="4514" />
+ <tetrahedron index="15452" v0="2945" v1="3662" v2="4514" v3="4560" />
+ <tetrahedron index="15453" v0="1795" v1="2508" v2="2798" v3="3410" />
+ <tetrahedron index="15454" v0="2508" v1="2798" v2="3410" v3="4123" />
+ <tetrahedron index="15455" v0="2798" v1="3410" v2="4123" v3="4413" />
+ <tetrahedron index="15456" v0="1683" v1="2339" v2="2437" v3="3298" />
+ <tetrahedron index="15457" v0="2339" v1="2437" v2="3298" v3="3954" />
+ <tetrahedron index="15458" v0="2437" v1="3298" v2="3954" v3="4052" />
+ <tetrahedron index="15459" v0="1992" v1="2339" v2="2437" v3="3607" />
+ <tetrahedron index="15460" v0="2339" v1="2437" v2="3607" v3="3954" />
+ <tetrahedron index="15461" v0="2437" v1="3607" v2="3954" v3="4052" />
+ <tetrahedron index="15462" v0="2235" v1="2236" v2="2938" v3="3850" />
+ <tetrahedron index="15463" v0="2236" v1="2938" v2="3850" v3="3851" />
+ <tetrahedron index="15464" v0="2938" v1="3850" v2="3851" v3="4553" />
+ <tetrahedron index="15465" v0="2236" v1="2904" v2="2938" v3="3851" />
+ <tetrahedron index="15466" v0="2904" v1="2938" v2="3851" v3="4519" />
+ <tetrahedron index="15467" v0="2938" v1="3851" v2="4519" v3="4553" />
+ <tetrahedron index="15468" v0="2455" v1="2632" v2="2700" v3="4070" />
+ <tetrahedron index="15469" v0="2632" v1="2700" v2="4070" v3="4247" />
+ <tetrahedron index="15470" v0="2700" v1="4070" v2="4247" v3="4315" />
+ <tetrahedron index="15471" v0="2632" v1="2657" v2="2700" v3="4247" />
+ <tetrahedron index="15472" v0="2657" v1="2700" v2="4247" v3="4272" />
+ <tetrahedron index="15473" v0="2700" v1="4247" v2="4272" v3="4315" />
+ <tetrahedron index="15474" v0="2865" v1="2997" v2="3004" v3="4480" />
+ <tetrahedron index="15475" v0="2997" v1="3004" v2="4480" v3="4612" />
+ <tetrahedron index="15476" v0="3004" v1="4480" v2="4612" v3="4619" />
+ <tetrahedron index="15477" v0="2176" v1="3004" v2="3005" v3="3791" />
+ <tetrahedron index="15478" v0="3004" v1="3005" v2="3791" v3="4619" />
+ <tetrahedron index="15479" v0="3005" v1="3791" v2="4619" v3="4620" />
+ <tetrahedron index="15480" v0="2129" v1="2338" v2="2943" v3="3744" />
+ <tetrahedron index="15481" v0="2338" v1="2943" v2="3744" v3="3953" />
+ <tetrahedron index="15482" v0="2943" v1="3744" v2="3953" v3="4558" />
+ <tetrahedron index="15483" v0="2129" v1="2482" v2="2943" v3="3744" />
+ <tetrahedron index="15484" v0="2482" v1="2943" v2="3744" v3="4097" />
+ <tetrahedron index="15485" v0="2943" v1="3744" v2="4097" v3="4558" />
+ <tetrahedron index="15486" v0="2805" v1="3006" v2="3007" v3="4420" />
+ <tetrahedron index="15487" v0="3006" v1="3007" v2="4420" v3="4621" />
+ <tetrahedron index="15488" v0="3007" v1="4420" v2="4621" v3="4622" />
+ <tetrahedron index="15489" v0="2857" v1="2981" v2="3008" v3="4472" />
+ <tetrahedron index="15490" v0="2981" v1="3008" v2="4472" v3="4596" />
+ <tetrahedron index="15491" v0="3008" v1="4472" v2="4596" v3="4623" />
+ <tetrahedron index="15492" v0="2909" v1="2981" v2="3008" v3="4524" />
+ <tetrahedron index="15493" v0="2981" v1="3008" v2="4524" v3="4596" />
+ <tetrahedron index="15494" v0="3008" v1="4524" v2="4596" v3="4623" />
+ <tetrahedron index="15495" v0="1993" v1="1994" v2="2912" v3="3608" />
+ <tetrahedron index="15496" v0="1994" v1="2912" v2="3608" v3="3609" />
+ <tetrahedron index="15497" v0="2912" v1="3608" v2="3609" v3="4527" />
+ <tetrahedron index="15498" v0="1994" v1="2912" v2="2919" v3="3609" />
+ <tetrahedron index="15499" v0="2912" v1="2919" v2="3609" v3="4527" />
+ <tetrahedron index="15500" v0="2919" v1="3609" v2="4527" v3="4534" />
+ <tetrahedron index="15501" v0="2175" v1="2696" v2="2986" v3="3790" />
+ <tetrahedron index="15502" v0="2696" v1="2986" v2="3790" v3="4311" />
+ <tetrahedron index="15503" v0="2986" v1="3790" v2="4311" v3="4601" />
+ <tetrahedron index="15504" v0="2120" v1="2696" v2="2986" v3="3735" />
+ <tetrahedron index="15505" v0="2696" v1="2986" v2="3735" v3="4311" />
+ <tetrahedron index="15506" v0="2986" v1="3735" v2="4311" v3="4601" />
+ <tetrahedron index="15507" v0="2309" v1="2900" v2="2937" v3="3924" />
+ <tetrahedron index="15508" v0="2900" v1="2937" v2="3924" v3="4515" />
+ <tetrahedron index="15509" v0="2937" v1="3924" v2="4515" v3="4552" />
+ <tetrahedron index="15510" v0="2842" v1="2900" v2="2937" v3="4457" />
+ <tetrahedron index="15511" v0="2900" v1="2937" v2="4457" v3="4515" />
+ <tetrahedron index="15512" v0="2937" v1="4457" v2="4515" v3="4552" />
+ <tetrahedron index="15513" v0="2156" v1="2824" v2="2858" v3="3771" />
+ <tetrahedron index="15514" v0="2824" v1="2858" v2="3771" v3="4439" />
+ <tetrahedron index="15515" v0="2858" v1="3771" v2="4439" v3="4473" />
+ <tetrahedron index="15516" v0="2102" v1="2156" v2="2824" v3="3717" />
+ <tetrahedron index="15517" v0="2156" v1="2824" v2="3717" v3="3771" />
+ <tetrahedron index="15518" v0="2824" v1="3717" v2="3771" v3="4439" />
+ <tetrahedron index="15519" v0="1640" v1="2450" v2="2896" v3="3255" />
+ <tetrahedron index="15520" v0="2450" v1="2896" v2="3255" v3="4065" />
+ <tetrahedron index="15521" v0="2896" v1="3255" v2="4065" v3="4511" />
+ <tetrahedron index="15522" v0="2144" v1="2894" v2="2993" v3="3759" />
+ <tetrahedron index="15523" v0="2894" v1="2993" v2="3759" v3="4509" />
+ <tetrahedron index="15524" v0="2993" v1="3759" v2="4509" v3="4608" />
+ <tetrahedron index="15525" v0="1722" v1="2894" v2="2993" v3="3337" />
+ <tetrahedron index="15526" v0="2894" v1="2993" v2="3337" v3="4509" />
+ <tetrahedron index="15527" v0="2993" v1="3337" v2="4509" v3="4608" />
+ <tetrahedron index="15528" v0="2754" v1="3009" v2="3010" v3="4369" />
+ <tetrahedron index="15529" v0="3009" v1="3010" v2="4369" v3="4624" />
+ <tetrahedron index="15530" v0="3010" v1="4369" v2="4624" v3="4625" />
+ <tetrahedron index="15531" v0="2754" v1="2755" v2="3010" v3="4369" />
+ <tetrahedron index="15532" v0="2755" v1="3010" v2="4369" v3="4370" />
+ <tetrahedron index="15533" v0="3010" v1="4369" v2="4370" v3="4625" />
+ <tetrahedron index="15534" v0="2777" v1="2804" v2="2805" v3="4392" />
+ <tetrahedron index="15535" v0="2804" v1="2805" v2="4392" v3="4419" />
+ <tetrahedron index="15536" v0="2805" v1="4392" v2="4419" v3="4420" />
+ <tetrahedron index="15537" v0="2777" v1="2805" v2="3006" v3="4392" />
+ <tetrahedron index="15538" v0="2805" v1="3006" v2="4392" v3="4420" />
+ <tetrahedron index="15539" v0="3006" v1="4392" v2="4420" v3="4621" />
+ <tetrahedron index="15540" v0="1738" v1="1861" v2="2950" v3="3353" />
+ <tetrahedron index="15541" v0="1861" v1="2950" v2="3353" v3="3476" />
+ <tetrahedron index="15542" v0="2950" v1="3353" v2="3476" v3="4565" />
+ <tetrahedron index="15543" v0="1861" v1="1884" v2="2950" v3="3476" />
+ <tetrahedron index="15544" v0="1884" v1="2950" v2="3476" v3="3499" />
+ <tetrahedron index="15545" v0="2950" v1="3476" v2="3499" v3="4565" />
+ <tetrahedron index="15546" v0="2916" v1="2985" v2="3011" v3="4531" />
+ <tetrahedron index="15547" v0="2985" v1="3011" v2="4531" v3="4600" />
+ <tetrahedron index="15548" v0="3011" v1="4531" v2="4600" v3="4626" />
+ <tetrahedron index="15549" v0="2423" v1="2985" v2="3011" v3="4038" />
+ <tetrahedron index="15550" v0="2985" v1="3011" v2="4038" v3="4600" />
+ <tetrahedron index="15551" v0="3011" v1="4038" v2="4600" v3="4626" />
+ <tetrahedron index="15552" v0="2547" v1="2706" v2="2945" v3="4162" />
+ <tetrahedron index="15553" v0="2706" v1="2945" v2="4162" v3="4321" />
+ <tetrahedron index="15554" v0="2945" v1="4162" v2="4321" v3="4560" />
+ <tetrahedron index="15555" v0="2525" v1="2706" v2="2945" v3="4140" />
+ <tetrahedron index="15556" v0="2706" v1="2945" v2="4140" v3="4321" />
+ <tetrahedron index="15557" v0="2945" v1="4140" v2="4321" v3="4560" />
+ <tetrahedron index="15558" v0="1719" v1="2650" v2="3012" v3="3334" />
+ <tetrahedron index="15559" v0="2650" v1="3012" v2="3334" v3="4265" />
+ <tetrahedron index="15560" v0="3012" v1="3334" v2="4265" v3="4627" />
+ <tetrahedron index="15561" v0="1719" v1="2990" v2="3012" v3="3334" />
+ <tetrahedron index="15562" v0="2990" v1="3012" v2="3334" v3="4605" />
+ <tetrahedron index="15563" v0="3012" v1="3334" v2="4605" v3="4627" />
+ <tetrahedron index="15564" v0="2274" v1="2605" v2="2903" v3="3889" />
+ <tetrahedron index="15565" v0="2605" v1="2903" v2="3889" v3="4220" />
+ <tetrahedron index="15566" v0="2903" v1="3889" v2="4220" v3="4518" />
+ <tetrahedron index="15567" v0="2321" v1="2962" v2="3013" v3="3936" />
+ <tetrahedron index="15568" v0="2962" v1="3013" v2="3936" v3="4577" />
+ <tetrahedron index="15569" v0="3013" v1="3936" v2="4577" v3="4628" />
+ <tetrahedron index="15570" v0="2372" v1="2742" v2="2867" v3="3987" />
+ <tetrahedron index="15571" v0="2742" v1="2867" v2="3987" v3="4357" />
+ <tetrahedron index="15572" v0="2867" v1="3987" v2="4357" v3="4482" />
+ <tetrahedron index="15573" v0="2372" v1="2866" v2="2867" v3="3987" />
+ <tetrahedron index="15574" v0="2866" v1="2867" v2="3987" v3="4481" />
+ <tetrahedron index="15575" v0="2867" v1="3987" v2="4481" v3="4482" />
+ <tetrahedron index="15576" v0="2695" v1="2958" v2="2976" v3="4310" />
+ <tetrahedron index="15577" v0="2958" v1="2976" v2="4310" v3="4573" />
+ <tetrahedron index="15578" v0="2976" v1="4310" v2="4573" v3="4591" />
+ <tetrahedron index="15579" v0="2374" v1="2695" v2="2976" v3="3989" />
+ <tetrahedron index="15580" v0="2695" v1="2976" v2="3989" v3="4310" />
+ <tetrahedron index="15581" v0="2976" v1="3989" v2="4310" v3="4591" />
+ <tetrahedron index="15582" v0="2283" v1="2640" v2="2695" v3="3898" />
+ <tetrahedron index="15583" v0="2640" v1="2695" v2="3898" v3="4255" />
+ <tetrahedron index="15584" v0="2695" v1="3898" v2="4255" v3="4310" />
+ <tetrahedron index="15585" v0="2283" v1="2499" v2="2695" v3="3898" />
+ <tetrahedron index="15586" v0="2499" v1="2695" v2="3898" v3="4114" />
+ <tetrahedron index="15587" v0="2695" v1="3898" v2="4114" v3="4310" />
+ <tetrahedron index="15588" v0="3014" v1="3015" v2="3016" v3="4629" />
+ <tetrahedron index="15589" v0="3015" v1="3016" v2="4629" v3="4630" />
+ <tetrahedron index="15590" v0="3016" v1="4629" v2="4630" v3="4631" />
+ <tetrahedron index="15591" v0="2701" v1="2733" v2="2992" v3="4316" />
+ <tetrahedron index="15592" v0="2733" v1="2992" v2="4316" v3="4348" />
+ <tetrahedron index="15593" v0="2992" v1="4316" v2="4348" v3="4607" />
+ <tetrahedron index="15594" v0="1751" v1="2208" v2="2442" v3="3366" />
+ <tetrahedron index="15595" v0="2208" v1="2442" v2="3366" v3="3823" />
+ <tetrahedron index="15596" v0="2442" v1="3366" v2="3823" v3="4057" />
+ <tetrahedron index="15597" v0="2544" v1="3017" v2="3018" v3="4159" />
+ <tetrahedron index="15598" v0="3017" v1="3018" v2="4159" v3="4632" />
+ <tetrahedron index="15599" v0="3018" v1="4159" v2="4632" v3="4633" />
+ <tetrahedron index="15600" v0="2579" v1="2680" v2="2999" v3="4194" />
+ <tetrahedron index="15601" v0="2680" v1="2999" v2="4194" v3="4295" />
+ <tetrahedron index="15602" v0="2999" v1="4194" v2="4295" v3="4614" />
+ <tetrahedron index="15603" v0="2662" v1="2926" v2="3019" v3="4277" />
+ <tetrahedron index="15604" v0="2926" v1="3019" v2="4277" v3="4541" />
+ <tetrahedron index="15605" v0="3019" v1="4277" v2="4541" v3="4634" />
+ <tetrahedron index="15606" v0="1706" v1="1708" v2="2279" v3="3321" />
+ <tetrahedron index="15607" v0="1708" v1="2279" v2="3321" v3="3323" />
+ <tetrahedron index="15608" v0="2279" v1="3321" v2="3323" v3="3894" />
+ <tetrahedron index="15609" v0="2606" v1="3020" v2="3021" v3="4221" />
+ <tetrahedron index="15610" v0="3020" v1="3021" v2="4221" v3="4635" />
+ <tetrahedron index="15611" v0="3021" v1="4221" v2="4635" v3="4636" />
+ <tetrahedron index="15612" v0="2472" v1="2473" v2="2830" v3="4087" />
+ <tetrahedron index="15613" v0="2473" v1="2830" v2="4087" v3="4088" />
+ <tetrahedron index="15614" v0="2830" v1="4087" v2="4088" v3="4445" />
+ <tetrahedron index="15615" v0="1753" v1="2208" v2="2750" v3="3368" />
+ <tetrahedron index="15616" v0="2208" v1="2750" v2="3368" v3="3823" />
+ <tetrahedron index="15617" v0="2750" v1="3368" v2="3823" v3="4365" />
+ <tetrahedron index="15618" v0="2007" v1="2551" v2="3022" v3="3622" />
+ <tetrahedron index="15619" v0="2551" v1="3022" v2="3622" v3="4166" />
+ <tetrahedron index="15620" v0="3022" v1="3622" v2="4166" v3="4637" />
+ <tetrahedron index="15621" v0="2258" v1="2458" v2="2484" v3="3873" />
+ <tetrahedron index="15622" v0="2458" v1="2484" v2="3873" v3="4073" />
+ <tetrahedron index="15623" v0="2484" v1="3873" v2="4073" v3="4099" />
+ <tetrahedron index="15624" v0="2435" v1="2464" v2="2913" v3="4050" />
+ <tetrahedron index="15625" v0="2464" v1="2913" v2="4050" v3="4079" />
+ <tetrahedron index="15626" v0="2913" v1="4050" v2="4079" v3="4528" />
+ <tetrahedron index="15627" v0="1722" v1="2993" v2="3023" v3="3337" />
+ <tetrahedron index="15628" v0="2993" v1="3023" v2="3337" v3="4608" />
+ <tetrahedron index="15629" v0="3023" v1="3337" v2="4608" v3="4638" />
+ <tetrahedron index="15630" v0="1722" v1="1980" v2="3023" v3="3337" />
+ <tetrahedron index="15631" v0="1980" v1="3023" v2="3337" v3="3595" />
+ <tetrahedron index="15632" v0="3023" v1="3337" v2="3595" v3="4638" />
+ <tetrahedron index="15633" v0="2655" v1="2656" v2="3024" v3="4270" />
+ <tetrahedron index="15634" v0="2656" v1="3024" v2="4270" v3="4271" />
+ <tetrahedron index="15635" v0="3024" v1="4270" v2="4271" v3="4639" />
+ <tetrahedron index="15636" v0="2037" v1="2038" v2="2944" v3="3652" />
+ <tetrahedron index="15637" v0="2038" v1="2944" v2="3652" v3="3653" />
+ <tetrahedron index="15638" v0="2944" v1="3652" v2="3653" v3="4559" />
+ <tetrahedron index="15639" v0="2361" v1="2449" v2="3025" v3="3976" />
+ <tetrahedron index="15640" v0="2449" v1="3025" v2="3976" v3="4064" />
+ <tetrahedron index="15641" v0="3025" v1="3976" v2="4064" v3="4640" />
+ <tetrahedron index="15642" v0="1704" v1="2734" v2="3026" v3="3319" />
+ <tetrahedron index="15643" v0="2734" v1="3026" v2="3319" v3="4349" />
+ <tetrahedron index="15644" v0="3026" v1="3319" v2="4349" v3="4641" />
+ <tetrahedron index="15645" v0="2734" v1="3026" v2="3027" v3="4349" />
+ <tetrahedron index="15646" v0="3026" v1="3027" v2="4349" v3="4641" />
+ <tetrahedron index="15647" v0="3027" v1="4349" v2="4641" v3="4642" />
+ <tetrahedron index="15648" v0="2608" v1="2609" v2="3028" v3="4223" />
+ <tetrahedron index="15649" v0="2609" v1="3028" v2="4223" v3="4224" />
+ <tetrahedron index="15650" v0="3028" v1="4223" v2="4224" v3="4643" />
+ <tetrahedron index="15651" v0="3029" v1="3030" v2="3031" v3="4644" />
+ <tetrahedron index="15652" v0="3030" v1="3031" v2="4644" v3="4645" />
+ <tetrahedron index="15653" v0="3031" v1="4644" v2="4645" v3="4646" />
+ <tetrahedron index="15654" v0="2017" v1="2018" v2="3032" v3="3632" />
+ <tetrahedron index="15655" v0="2018" v1="3032" v2="3632" v3="3633" />
+ <tetrahedron index="15656" v0="3032" v1="3632" v2="3633" v3="4647" />
+ <tetrahedron index="15657" v0="2952" v1="2954" v2="3033" v3="4567" />
+ <tetrahedron index="15658" v0="2954" v1="3033" v2="4567" v3="4569" />
+ <tetrahedron index="15659" v0="3033" v1="4567" v2="4569" v3="4648" />
+ <tetrahedron index="15660" v0="1779" v1="2154" v2="3034" v3="3394" />
+ <tetrahedron index="15661" v0="2154" v1="3034" v2="3394" v3="3769" />
+ <tetrahedron index="15662" v0="3034" v1="3394" v2="3769" v3="4649" />
+ <tetrahedron index="15663" v0="1779" v1="2703" v2="3034" v3="3394" />
+ <tetrahedron index="15664" v0="2703" v1="3034" v2="3394" v3="4318" />
+ <tetrahedron index="15665" v0="3034" v1="3394" v2="4318" v3="4649" />
+ <tetrahedron index="15666" v0="2103" v1="2105" v2="3035" v3="3718" />
+ <tetrahedron index="15667" v0="2105" v1="3035" v2="3718" v3="3720" />
+ <tetrahedron index="15668" v0="3035" v1="3718" v2="3720" v3="4650" />
+ <tetrahedron index="15669" v0="2441" v1="2808" v2="3036" v3="4056" />
+ <tetrahedron index="15670" v0="2808" v1="3036" v2="4056" v3="4423" />
+ <tetrahedron index="15671" v0="3036" v1="4056" v2="4423" v3="4651" />
+ <tetrahedron index="15672" v0="2809" v1="2810" v2="3037" v3="4424" />
+ <tetrahedron index="15673" v0="2810" v1="3037" v2="4424" v3="4425" />
+ <tetrahedron index="15674" v0="3037" v1="4424" v2="4425" v3="4652" />
+ <tetrahedron index="15675" v0="1806" v1="3038" v2="3039" v3="3421" />
+ <tetrahedron index="15676" v0="3038" v1="3039" v2="3421" v3="4653" />
+ <tetrahedron index="15677" v0="3039" v1="3421" v2="4653" v3="4654" />
+ <tetrahedron index="15678" v0="2768" v1="2778" v2="3040" v3="4383" />
+ <tetrahedron index="15679" v0="2778" v1="3040" v2="4383" v3="4393" />
+ <tetrahedron index="15680" v0="3040" v1="4383" v2="4393" v3="4655" />
+ <tetrahedron index="15681" v0="1715" v1="2825" v2="3041" v3="3330" />
+ <tetrahedron index="15682" v0="2825" v1="3041" v2="3330" v3="4440" />
+ <tetrahedron index="15683" v0="3041" v1="3330" v2="4440" v3="4656" />
+ <tetrahedron index="15684" v0="2560" v1="2863" v2="2865" v3="4175" />
+ <tetrahedron index="15685" v0="2863" v1="2865" v2="4175" v3="4478" />
+ <tetrahedron index="15686" v0="2865" v1="4175" v2="4478" v3="4480" />
+ <tetrahedron index="15687" v0="2560" v1="2562" v2="2863" v3="4175" />
+ <tetrahedron index="15688" v0="2562" v1="2863" v2="4175" v3="4177" />
+ <tetrahedron index="15689" v0="2863" v1="4175" v2="4177" v3="4478" />
+ <tetrahedron index="15690" v0="2657" v1="2700" v2="3042" v3="4272" />
+ <tetrahedron index="15691" v0="2700" v1="3042" v2="4272" v3="4315" />
+ <tetrahedron index="15692" v0="3042" v1="4272" v2="4315" v3="4657" />
+ <tetrahedron index="15693" v0="2605" v1="2903" v2="3043" v3="4220" />
+ <tetrahedron index="15694" v0="2903" v1="3043" v2="4220" v3="4518" />
+ <tetrahedron index="15695" v0="3043" v1="4220" v2="4518" v3="4658" />
+ <tetrahedron index="15696" v0="2724" v1="2725" v2="3044" v3="4339" />
+ <tetrahedron index="15697" v0="2725" v1="3044" v2="4339" v3="4340" />
+ <tetrahedron index="15698" v0="3044" v1="4339" v2="4340" v3="4659" />
+ <tetrahedron index="15699" v0="3006" v1="3007" v2="3045" v3="4621" />
+ <tetrahedron index="15700" v0="3007" v1="3045" v2="4621" v3="4622" />
+ <tetrahedron index="15701" v0="3045" v1="4621" v2="4622" v3="4660" />
+ <tetrahedron index="15702" v0="2818" v1="3046" v2="3047" v3="4433" />
+ <tetrahedron index="15703" v0="3046" v1="3047" v2="4433" v3="4661" />
+ <tetrahedron index="15704" v0="3047" v1="4433" v2="4661" v3="4662" />
+ <tetrahedron index="15705" v0="2551" v1="3022" v2="3048" v3="4166" />
+ <tetrahedron index="15706" v0="3022" v1="3048" v2="4166" v3="4637" />
+ <tetrahedron index="15707" v0="3048" v1="4166" v2="4637" v3="4663" />
+ <tetrahedron index="15708" v0="2628" v1="3049" v2="3050" v3="4243" />
+ <tetrahedron index="15709" v0="3049" v1="3050" v2="4243" v3="4664" />
+ <tetrahedron index="15710" v0="3050" v1="4243" v2="4664" v3="4665" />
+ <tetrahedron index="15711" v0="2989" v1="2990" v2="3051" v3="4604" />
+ <tetrahedron index="15712" v0="2990" v1="3051" v2="4604" v3="4605" />
+ <tetrahedron index="15713" v0="3051" v1="4604" v2="4605" v3="4666" />
+ <tetrahedron index="15714" v0="2990" v1="3010" v2="3051" v3="4605" />
+ <tetrahedron index="15715" v0="3010" v1="3051" v2="4605" v3="4625" />
+ <tetrahedron index="15716" v0="3051" v1="4605" v2="4625" v3="4666" />
+ <tetrahedron index="15717" v0="1619" v1="1929" v2="2075" v3="3234" />
+ <tetrahedron index="15718" v0="1929" v1="2075" v2="3234" v3="3544" />
+ <tetrahedron index="15719" v0="2075" v1="3234" v2="3544" v3="3690" />
+ <tetrahedron index="15720" v0="2454" v1="2727" v2="3052" v3="4069" />
+ <tetrahedron index="15721" v0="2727" v1="3052" v2="4069" v3="4342" />
+ <tetrahedron index="15722" v0="3052" v1="4069" v2="4342" v3="4667" />
+ <tetrahedron index="15723" v0="1931" v1="1932" v2="3053" v3="3546" />
+ <tetrahedron index="15724" v0="1932" v1="3053" v2="3546" v3="3547" />
+ <tetrahedron index="15725" v0="3053" v1="3546" v2="3547" v3="4668" />
+ <tetrahedron index="15726" v0="1707" v1="2072" v2="3054" v3="3322" />
+ <tetrahedron index="15727" v0="2072" v1="3054" v2="3322" v3="3687" />
+ <tetrahedron index="15728" v0="3054" v1="3322" v2="3687" v3="4669" />
+ <tetrahedron index="15729" v0="2365" v1="3055" v2="3056" v3="3980" />
+ <tetrahedron index="15730" v0="3055" v1="3056" v2="3980" v3="4670" />
+ <tetrahedron index="15731" v0="3056" v1="3980" v2="4670" v3="4671" />
+ <tetrahedron index="15732" v0="1887" v1="1888" v2="2353" v3="3502" />
+ <tetrahedron index="15733" v0="1888" v1="2353" v2="3502" v3="3503" />
+ <tetrahedron index="15734" v0="2353" v1="3502" v2="3503" v3="3968" />
+ <tetrahedron index="15735" v0="1835" v1="2010" v2="2795" v3="3450" />
+ <tetrahedron index="15736" v0="2010" v1="2795" v2="3450" v3="3625" />
+ <tetrahedron index="15737" v0="2795" v1="3450" v2="3625" v3="4410" />
+ <tetrahedron index="15738" v0="1835" v1="2010" v2="2070" v3="3450" />
+ <tetrahedron index="15739" v0="2010" v1="2070" v2="3450" v3="3625" />
+ <tetrahedron index="15740" v0="2070" v1="3450" v2="3625" v3="3685" />
+ <tetrahedron index="15741" v0="1807" v1="2974" v2="3057" v3="3422" />
+ <tetrahedron index="15742" v0="2974" v1="3057" v2="3422" v3="4589" />
+ <tetrahedron index="15743" v0="3057" v1="3422" v2="4589" v3="4672" />
+ <tetrahedron index="15744" v0="1988" v1="2176" v2="2451" v3="3603" />
+ <tetrahedron index="15745" v0="2176" v1="2451" v2="3603" v3="3791" />
+ <tetrahedron index="15746" v0="2451" v1="3603" v2="3791" v3="4066" />
+ <tetrahedron index="15747" v0="1959" v1="2442" v2="2847" v3="3574" />
+ <tetrahedron index="15748" v0="2442" v1="2847" v2="3574" v3="4057" />
+ <tetrahedron index="15749" v0="2847" v1="3574" v2="4057" v3="4462" />
+ <tetrahedron index="15750" v0="1752" v1="1959" v2="2442" v3="3367" />
+ <tetrahedron index="15751" v0="1959" v1="2442" v2="3367" v3="3574" />
+ <tetrahedron index="15752" v0="2442" v1="3367" v2="3574" v3="4057" />
+ <tetrahedron index="15753" v0="2384" v1="2848" v2="3058" v3="3999" />
+ <tetrahedron index="15754" v0="2848" v1="3058" v2="3999" v3="4463" />
+ <tetrahedron index="15755" v0="3058" v1="3999" v2="4463" v3="4673" />
+ <tetrahedron index="15756" v0="2540" v1="2541" v2="3059" v3="4155" />
+ <tetrahedron index="15757" v0="2541" v1="3059" v2="4155" v3="4156" />
+ <tetrahedron index="15758" v0="3059" v1="4155" v2="4156" v3="4674" />
+ <tetrahedron index="15759" v0="1745" v1="2311" v2="3060" v3="3360" />
+ <tetrahedron index="15760" v0="2311" v1="3060" v2="3360" v3="3926" />
+ <tetrahedron index="15761" v0="3060" v1="3360" v2="3926" v3="4675" />
+ <tetrahedron index="15762" v0="2310" v1="2311" v2="3060" v3="3925" />
+ <tetrahedron index="15763" v0="2311" v1="3060" v2="3925" v3="3926" />
+ <tetrahedron index="15764" v0="3060" v1="3925" v2="3926" v3="4675" />
+ <tetrahedron index="15765" v0="2211" v1="2329" v2="2991" v3="3826" />
+ <tetrahedron index="15766" v0="2329" v1="2991" v2="3826" v3="3944" />
+ <tetrahedron index="15767" v0="2991" v1="3826" v2="3944" v3="4606" />
+ <tetrahedron index="15768" v0="1627" v1="2406" v2="2661" v3="3242" />
+ <tetrahedron index="15769" v0="2406" v1="2661" v2="3242" v3="4021" />
+ <tetrahedron index="15770" v0="2661" v1="3242" v2="4021" v3="4276" />
+ <tetrahedron index="15771" v0="1627" v1="2406" v2="2407" v3="3242" />
+ <tetrahedron index="15772" v0="2406" v1="2407" v2="3242" v3="4021" />
+ <tetrahedron index="15773" v0="2407" v1="3242" v2="4021" v3="4022" />
+ <tetrahedron index="15774" v0="1803" v1="1996" v2="3061" v3="3418" />
+ <tetrahedron index="15775" v0="1996" v1="3061" v2="3418" v3="3611" />
+ <tetrahedron index="15776" v0="3061" v1="3418" v2="3611" v3="4676" />
+ <tetrahedron index="15777" v0="2656" v1="2951" v2="3062" v3="4271" />
+ <tetrahedron index="15778" v0="2951" v1="3062" v2="4271" v3="4566" />
+ <tetrahedron index="15779" v0="3062" v1="4271" v2="4566" v3="4677" />
+ <tetrahedron index="15780" v0="2656" v1="2951" v2="3024" v3="4271" />
+ <tetrahedron index="15781" v0="2951" v1="3024" v2="4271" v3="4566" />
+ <tetrahedron index="15782" v0="3024" v1="4271" v2="4566" v3="4639" />
+ <tetrahedron index="15783" v0="1885" v1="1949" v2="2659" v3="3500" />
+ <tetrahedron index="15784" v0="1949" v1="2659" v2="3500" v3="3564" />
+ <tetrahedron index="15785" v0="2659" v1="3500" v2="3564" v3="4274" />
+ <tetrahedron index="15786" v0="1885" v1="1955" v2="2659" v3="3500" />
+ <tetrahedron index="15787" v0="1955" v1="2659" v2="3500" v3="3570" />
+ <tetrahedron index="15788" v0="2659" v1="3500" v2="3570" v3="4274" />
+ <tetrahedron index="15789" v0="2358" v1="2670" v2="2863" v3="3973" />
+ <tetrahedron index="15790" v0="2670" v1="2863" v2="3973" v3="4285" />
+ <tetrahedron index="15791" v0="2863" v1="3973" v2="4285" v3="4478" />
+ <tetrahedron index="15792" v0="2485" v1="2929" v2="2930" v3="4100" />
+ <tetrahedron index="15793" v0="2929" v1="2930" v2="4100" v3="4544" />
+ <tetrahedron index="15794" v0="2930" v1="4100" v2="4544" v3="4545" />
+ <tetrahedron index="15795" v0="2479" v1="2485" v2="2930" v3="4094" />
+ <tetrahedron index="15796" v0="2485" v1="2930" v2="4094" v3="4100" />
+ <tetrahedron index="15797" v0="2930" v1="4094" v2="4100" v3="4545" />
+ <tetrahedron index="15798" v0="1645" v1="2187" v2="3063" v3="3260" />
+ <tetrahedron index="15799" v0="2187" v1="3063" v2="3260" v3="3802" />
+ <tetrahedron index="15800" v0="3063" v1="3260" v2="3802" v3="4678" />
+ <tetrahedron index="15801" v0="1645" v1="2864" v2="3063" v3="3260" />
+ <tetrahedron index="15802" v0="2864" v1="3063" v2="3260" v3="4479" />
+ <tetrahedron index="15803" v0="3063" v1="3260" v2="4479" v3="4678" />
+ <tetrahedron index="15804" v0="2085" v1="2603" v2="2721" v3="3700" />
+ <tetrahedron index="15805" v0="2603" v1="2721" v2="3700" v3="4218" />
+ <tetrahedron index="15806" v0="2721" v1="3700" v2="4218" v3="4336" />
+ <tetrahedron index="15807" v0="2865" v1="3004" v2="3064" v3="4480" />
+ <tetrahedron index="15808" v0="3004" v1="3064" v2="4480" v3="4619" />
+ <tetrahedron index="15809" v0="3064" v1="4480" v2="4619" v3="4679" />
+ <tetrahedron index="15810" v0="2651" v1="2652" v2="2878" v3="4266" />
+ <tetrahedron index="15811" v0="2652" v1="2878" v2="4266" v3="4267" />
+ <tetrahedron index="15812" v0="2878" v1="4266" v2="4267" v3="4493" />
+ <tetrahedron index="15813" v0="2751" v1="2927" v2="2931" v3="4366" />
+ <tetrahedron index="15814" v0="2927" v1="2931" v2="4366" v3="4542" />
+ <tetrahedron index="15815" v0="2931" v1="4366" v2="4542" v3="4546" />
+ <tetrahedron index="15816" v0="2569" v1="2927" v2="2931" v3="4184" />
+ <tetrahedron index="15817" v0="2927" v1="2931" v2="4184" v3="4542" />
+ <tetrahedron index="15818" v0="2931" v1="4184" v2="4542" v3="4546" />
+ <tetrahedron index="15819" v0="1712" v1="1714" v2="2588" v3="3327" />
+ <tetrahedron index="15820" v0="1714" v1="2588" v2="3327" v3="3329" />
+ <tetrahedron index="15821" v0="2588" v1="3327" v2="3329" v3="4203" />
+ <tetrahedron index="15822" v0="2620" v1="2906" v2="3065" v3="4235" />
+ <tetrahedron index="15823" v0="2906" v1="3065" v2="4235" v3="4521" />
+ <tetrahedron index="15824" v0="3065" v1="4235" v2="4521" v3="4680" />
+ <tetrahedron index="15825" v0="2199" v1="2280" v2="3066" v3="3814" />
+ <tetrahedron index="15826" v0="2280" v1="3066" v2="3814" v3="3895" />
+ <tetrahedron index="15827" v0="3066" v1="3814" v2="3895" v3="4681" />
+ <tetrahedron index="15828" v0="2280" v1="2721" v2="3066" v3="3895" />
+ <tetrahedron index="15829" v0="2721" v1="3066" v2="3895" v3="4336" />
+ <tetrahedron index="15830" v0="3066" v1="3895" v2="4336" v3="4681" />
+ <tetrahedron index="15831" v0="1829" v1="2079" v2="2296" v3="3444" />
+ <tetrahedron index="15832" v0="2079" v1="2296" v2="3444" v3="3694" />
+ <tetrahedron index="15833" v0="2296" v1="3444" v2="3694" v3="3911" />
+ <tetrahedron index="15834" v0="1829" v1="1830" v2="2079" v3="3444" />
+ <tetrahedron index="15835" v0="1830" v1="2079" v2="3444" v3="3445" />
+ <tetrahedron index="15836" v0="2079" v1="3444" v2="3445" v3="3694" />
+ <tetrahedron index="15837" v0="2061" v1="2116" v2="2233" v3="3676" />
+ <tetrahedron index="15838" v0="2116" v1="2233" v2="3676" v3="3731" />
+ <tetrahedron index="15839" v0="2233" v1="3676" v2="3731" v3="3848" />
+ <tetrahedron index="15840" v0="1747" v1="2061" v2="2116" v3="3362" />
+ <tetrahedron index="15841" v0="2061" v1="2116" v2="3362" v3="3676" />
+ <tetrahedron index="15842" v0="2116" v1="3362" v2="3676" v3="3731" />
+ <tetrahedron index="15843" v0="1644" v1="1645" v2="2864" v3="3259" />
+ <tetrahedron index="15844" v0="1645" v1="2864" v2="3259" v3="3260" />
+ <tetrahedron index="15845" v0="2864" v1="3259" v2="3260" v3="4479" />
+ <tetrahedron index="15846" v0="1941" v1="1942" v2="2935" v3="3556" />
+ <tetrahedron index="15847" v0="1942" v1="2935" v2="3556" v3="3557" />
+ <tetrahedron index="15848" v0="2935" v1="3556" v2="3557" v3="4550" />
+ <tetrahedron index="15849" v0="1901" v1="1941" v2="2935" v3="3516" />
+ <tetrahedron index="15850" v0="1941" v1="2935" v2="3516" v3="3556" />
+ <tetrahedron index="15851" v0="2935" v1="3516" v2="3556" v3="4550" />
+ <tetrahedron index="15852" v0="2327" v1="2371" v2="2385" v3="3942" />
+ <tetrahedron index="15853" v0="2371" v1="2385" v2="3942" v3="3986" />
+ <tetrahedron index="15854" v0="2385" v1="3942" v2="3986" v3="4000" />
+ <tetrahedron index="15855" v0="2371" v1="2385" v2="2873" v3="3986" />
+ <tetrahedron index="15856" v0="2385" v1="2873" v2="3986" v3="4000" />
+ <tetrahedron index="15857" v0="2873" v1="3986" v2="4000" v3="4488" />
+ <tetrahedron index="15858" v0="1796" v1="1907" v2="1908" v3="3411" />
+ <tetrahedron index="15859" v0="1907" v1="1908" v2="3411" v3="3522" />
+ <tetrahedron index="15860" v0="1908" v1="3411" v2="3522" v3="3523" />
+ <tetrahedron index="15861" v0="1856" v1="1857" v2="3067" v3="3471" />
+ <tetrahedron index="15862" v0="1857" v1="3067" v2="3471" v3="3472" />
+ <tetrahedron index="15863" v0="3067" v1="3471" v2="3472" v3="4682" />
+ <tetrahedron index="15864" v0="1857" v1="2993" v2="3067" v3="3472" />
+ <tetrahedron index="15865" v0="2993" v1="3067" v2="3472" v3="4608" />
+ <tetrahedron index="15866" v0="3067" v1="3472" v2="4608" v3="4682" />
+ <tetrahedron index="15867" v0="1970" v1="3068" v2="3069" v3="3585" />
+ <tetrahedron index="15868" v0="3068" v1="3069" v2="3585" v3="4683" />
+ <tetrahedron index="15869" v0="3069" v1="3585" v2="4683" v3="4684" />
+ <tetrahedron index="15870" v0="1933" v1="1970" v2="3069" v3="3548" />
+ <tetrahedron index="15871" v0="1970" v1="3069" v2="3548" v3="3585" />
+ <tetrahedron index="15872" v0="3069" v1="3548" v2="3585" v3="4684" />
+ <tetrahedron index="15873" v0="2485" v1="2929" v2="3070" v3="4100" />
+ <tetrahedron index="15874" v0="2929" v1="3070" v2="4100" v3="4544" />
+ <tetrahedron index="15875" v0="3070" v1="4100" v2="4544" v3="4685" />
+ <tetrahedron index="15876" v0="2485" v1="2486" v2="3070" v3="4100" />
+ <tetrahedron index="15877" v0="2486" v1="3070" v2="4100" v3="4101" />
+ <tetrahedron index="15878" v0="3070" v1="4100" v2="4101" v3="4685" />
+ <tetrahedron index="15879" v0="2497" v1="2954" v2="3033" v3="4112" />
+ <tetrahedron index="15880" v0="2954" v1="3033" v2="4112" v3="4569" />
+ <tetrahedron index="15881" v0="3033" v1="4112" v2="4569" v3="4648" />
+ <tetrahedron index="15882" v0="2135" v1="3071" v2="3072" v3="3750" />
+ <tetrahedron index="15883" v0="3071" v1="3072" v2="3750" v3="4686" />
+ <tetrahedron index="15884" v0="3072" v1="3750" v2="4686" v3="4687" />
+ <tetrahedron index="15885" v0="2046" v1="3071" v2="3072" v3="3661" />
+ <tetrahedron index="15886" v0="3071" v1="3072" v2="3661" v3="4686" />
+ <tetrahedron index="15887" v0="3072" v1="3661" v2="4686" v3="4687" />
+ <tetrahedron index="15888" v0="2443" v1="2887" v2="3073" v3="4058" />
+ <tetrahedron index="15889" v0="2887" v1="3073" v2="4058" v3="4502" />
+ <tetrahedron index="15890" v0="3073" v1="4058" v2="4502" v3="4688" />
+ <tetrahedron index="15891" v0="2443" v1="2444" v2="3073" v3="4058" />
+ <tetrahedron index="15892" v0="2444" v1="3073" v2="4058" v3="4059" />
+ <tetrahedron index="15893" v0="3073" v1="4058" v2="4059" v3="4688" />
+ <tetrahedron index="15894" v0="1942" v1="2698" v2="2914" v3="3557" />
+ <tetrahedron index="15895" v0="2698" v1="2914" v2="3557" v3="4313" />
+ <tetrahedron index="15896" v0="2914" v1="3557" v2="4313" v3="4529" />
+ <tetrahedron index="15897" v0="2791" v1="2810" v2="3074" v3="4406" />
+ <tetrahedron index="15898" v0="2810" v1="3074" v2="4406" v3="4425" />
+ <tetrahedron index="15899" v0="3074" v1="4406" v2="4425" v3="4689" />
+ <tetrahedron index="15900" v0="2524" v1="2791" v2="3074" v3="4139" />
+ <tetrahedron index="15901" v0="2791" v1="3074" v2="4139" v3="4406" />
+ <tetrahedron index="15902" v0="3074" v1="4139" v2="4406" v3="4689" />
+ <tetrahedron index="15903" v0="2601" v1="2818" v2="3047" v3="4216" />
+ <tetrahedron index="15904" v0="2818" v1="3047" v2="4216" v3="4433" />
+ <tetrahedron index="15905" v0="3047" v1="4216" v2="4433" v3="4662" />
+ <tetrahedron index="15906" v0="2537" v1="3075" v2="3076" v3="4152" />
+ <tetrahedron index="15907" v0="3075" v1="3076" v2="4152" v3="4690" />
+ <tetrahedron index="15908" v0="3076" v1="4152" v2="4690" v3="4691" />
+ <tetrahedron index="15909" v0="2537" v1="3076" v2="3077" v3="4152" />
+ <tetrahedron index="15910" v0="3076" v1="3077" v2="4152" v3="4691" />
+ <tetrahedron index="15911" v0="3077" v1="4152" v2="4691" v3="4692" />
+ <tetrahedron index="15912" v0="2053" v1="2054" v2="3078" v3="3668" />
+ <tetrahedron index="15913" v0="2054" v1="3078" v2="3668" v3="3669" />
+ <tetrahedron index="15914" v0="3078" v1="3668" v2="3669" v3="4693" />
+ <tetrahedron index="15915" v0="2662" v1="2739" v2="3079" v3="4277" />
+ <tetrahedron index="15916" v0="2739" v1="3079" v2="4277" v3="4354" />
+ <tetrahedron index="15917" v0="3079" v1="4277" v2="4354" v3="4694" />
+ <tetrahedron index="15918" v0="2661" v1="2662" v2="3079" v3="4276" />
+ <tetrahedron index="15919" v0="2662" v1="3079" v2="4276" v3="4277" />
+ <tetrahedron index="15920" v0="3079" v1="4276" v2="4277" v3="4694" />
+ <tetrahedron index="15921" v0="2709" v1="2919" v2="3040" v3="4324" />
+ <tetrahedron index="15922" v0="2919" v1="3040" v2="4324" v3="4534" />
+ <tetrahedron index="15923" v0="3040" v1="4324" v2="4534" v3="4655" />
+ <tetrahedron index="15924" v0="2746" v1="3080" v2="3081" v3="4361" />
+ <tetrahedron index="15925" v0="3080" v1="3081" v2="4361" v3="4695" />
+ <tetrahedron index="15926" v0="3081" v1="4361" v2="4695" v3="4696" />
+ <tetrahedron index="15927" v0="1681" v1="1682" v2="2861" v3="3296" />
+ <tetrahedron index="15928" v0="1682" v1="2861" v2="3296" v3="3297" />
+ <tetrahedron index="15929" v0="2861" v1="3296" v2="3297" v3="4476" />
+ <tetrahedron index="15930" v0="1852" v1="2714" v2="3082" v3="3467" />
+ <tetrahedron index="15931" v0="2714" v1="3082" v2="3467" v3="4329" />
+ <tetrahedron index="15932" v0="3082" v1="3467" v2="4329" v3="4697" />
+ <tetrahedron index="15933" v0="2039" v1="2714" v2="3082" v3="3654" />
+ <tetrahedron index="15934" v0="2714" v1="3082" v2="3654" v3="4329" />
+ <tetrahedron index="15935" v0="3082" v1="3654" v2="4329" v3="4697" />
+ <tetrahedron index="15936" v0="2775" v1="2781" v2="3083" v3="4390" />
+ <tetrahedron index="15937" v0="2781" v1="3083" v2="4390" v3="4396" />
+ <tetrahedron index="15938" v0="3083" v1="4390" v2="4396" v3="4698" />
+ <tetrahedron index="15939" v0="2723" v1="2781" v2="3083" v3="4338" />
+ <tetrahedron index="15940" v0="2781" v1="3083" v2="4338" v3="4396" />
+ <tetrahedron index="15941" v0="3083" v1="4338" v2="4396" v3="4698" />
+ <tetrahedron index="15942" v0="2105" v1="2285" v2="3084" v3="3720" />
+ <tetrahedron index="15943" v0="2285" v1="3084" v2="3720" v3="3900" />
+ <tetrahedron index="15944" v0="3084" v1="3720" v2="3900" v3="4699" />
+ <tetrahedron index="15945" v0="2435" v1="2902" v2="2913" v3="4050" />
+ <tetrahedron index="15946" v0="2902" v1="2913" v2="4050" v3="4517" />
+ <tetrahedron index="15947" v0="2913" v1="4050" v2="4517" v3="4528" />
+ <tetrahedron index="15948" v0="2520" v1="2907" v2="3042" v3="4135" />
+ <tetrahedron index="15949" v0="2907" v1="3042" v2="4135" v3="4522" />
+ <tetrahedron index="15950" v0="3042" v1="4135" v2="4522" v3="4657" />
+ <tetrahedron index="15951" v0="2948" v1="2949" v2="3085" v3="4563" />
+ <tetrahedron index="15952" v0="2949" v1="3085" v2="4563" v3="4564" />
+ <tetrahedron index="15953" v0="3085" v1="4563" v2="4564" v3="4700" />
+ <tetrahedron index="15954" v0="2853" v1="2949" v2="3085" v3="4468" />
+ <tetrahedron index="15955" v0="2949" v1="3085" v2="4468" v3="4564" />
+ <tetrahedron index="15956" v0="3085" v1="4468" v2="4564" v3="4700" />
+ <tetrahedron index="15957" v0="1851" v1="1852" v2="3082" v3="3466" />
+ <tetrahedron index="15958" v0="1852" v1="3082" v2="3466" v3="3467" />
+ <tetrahedron index="15959" v0="3082" v1="3466" v2="3467" v3="4697" />
+ <tetrahedron index="15960" v0="1731" v1="1919" v2="3086" v3="3346" />
+ <tetrahedron index="15961" v0="1919" v1="3086" v2="3346" v3="3534" />
+ <tetrahedron index="15962" v0="3086" v1="3346" v2="3534" v3="4701" />
+ <tetrahedron index="15963" v0="2428" v1="2829" v2="3037" v3="4043" />
+ <tetrahedron index="15964" v0="2829" v1="3037" v2="4043" v3="4444" />
+ <tetrahedron index="15965" v0="3037" v1="4043" v2="4444" v3="4652" />
+ <tetrahedron index="15966" v0="2596" v1="2710" v2="3045" v3="4211" />
+ <tetrahedron index="15967" v0="2710" v1="3045" v2="4211" v3="4325" />
+ <tetrahedron index="15968" v0="3045" v1="4211" v2="4325" v3="4660" />
+ <tetrahedron index="15969" v0="2799" v1="2819" v2="2862" v3="4414" />
+ <tetrahedron index="15970" v0="2819" v1="2862" v2="4414" v3="4434" />
+ <tetrahedron index="15971" v0="2862" v1="4414" v2="4434" v3="4477" />
+ <tetrahedron index="15972" v0="2799" v1="2861" v2="2862" v3="4414" />
+ <tetrahedron index="15973" v0="2861" v1="2862" v2="4414" v3="4476" />
+ <tetrahedron index="15974" v0="2862" v1="4414" v2="4476" v3="4477" />
+ <tetrahedron index="15975" v0="1746" v1="1864" v2="3087" v3="3361" />
+ <tetrahedron index="15976" v0="1864" v1="3087" v2="3361" v3="3479" />
+ <tetrahedron index="15977" v0="3087" v1="3361" v2="3479" v3="4702" />
+ <tetrahedron index="15978" v0="1746" v1="1747" v2="3087" v3="3361" />
+ <tetrahedron index="15979" v0="1747" v1="3087" v2="3361" v3="3362" />
+ <tetrahedron index="15980" v0="3087" v1="3361" v2="3362" v3="4702" />
+ <tetrahedron index="15981" v0="2480" v1="2792" v2="3088" v3="4095" />
+ <tetrahedron index="15982" v0="2792" v1="3088" v2="4095" v3="4407" />
+ <tetrahedron index="15983" v0="3088" v1="4095" v2="4407" v3="4703" />
+ <tetrahedron index="15984" v0="2265" v1="2952" v2="3089" v3="3880" />
+ <tetrahedron index="15985" v0="2952" v1="3089" v2="3880" v3="4567" />
+ <tetrahedron index="15986" v0="3089" v1="3880" v2="4567" v3="4704" />
+ <tetrahedron index="15987" v0="2434" v1="2924" v2="3052" v3="4049" />
+ <tetrahedron index="15988" v0="2924" v1="3052" v2="4049" v3="4539" />
+ <tetrahedron index="15989" v0="3052" v1="4049" v2="4539" v3="4667" />
+ <tetrahedron index="15990" v0="2110" v1="2872" v2="3090" v3="3725" />
+ <tetrahedron index="15991" v0="2872" v1="3090" v2="3725" v3="4487" />
+ <tetrahedron index="15992" v0="3090" v1="3725" v2="4487" v3="4705" />
+ <tetrahedron index="15993" v0="2872" v1="2995" v2="3090" v3="4487" />
+ <tetrahedron index="15994" v0="2995" v1="3090" v2="4487" v3="4610" />
+ <tetrahedron index="15995" v0="3090" v1="4487" v2="4610" v3="4705" />
+ <tetrahedron index="15996" v0="2596" v1="2710" v2="3091" v3="4211" />
+ <tetrahedron index="15997" v0="2710" v1="3091" v2="4211" v3="4325" />
+ <tetrahedron index="15998" v0="3091" v1="4211" v2="4325" v3="4706" />
+ <tetrahedron index="15999" v0="2596" v1="2936" v2="3091" v3="4211" />
+ <tetrahedron index="16000" v0="2936" v1="3091" v2="4211" v3="4551" />
+ <tetrahedron index="16001" v0="3091" v1="4211" v2="4551" v3="4706" />
+ <tetrahedron index="16002" v0="2968" v1="3092" v2="3093" v3="4583" />
+ <tetrahedron index="16003" v0="3092" v1="3093" v2="4583" v3="4707" />
+ <tetrahedron index="16004" v0="3093" v1="4583" v2="4707" v3="4708" />
+ <tetrahedron index="16005" v0="1718" v1="1998" v2="3094" v3="3333" />
+ <tetrahedron index="16006" v0="1998" v1="3094" v2="3333" v3="3613" />
+ <tetrahedron index="16007" v0="3094" v1="3333" v2="3613" v3="4709" />
+ <tetrahedron index="16008" v0="1677" v1="2956" v2="2977" v3="3292" />
+ <tetrahedron index="16009" v0="2956" v1="2977" v2="3292" v3="4571" />
+ <tetrahedron index="16010" v0="2977" v1="3292" v2="4571" v3="4592" />
+ <tetrahedron index="16011" v0="2965" v1="3095" v2="3096" v3="4580" />
+ <tetrahedron index="16012" v0="3095" v1="3096" v2="4580" v3="4710" />
+ <tetrahedron index="16013" v0="3096" v1="4580" v2="4710" v3="4711" />
+ <tetrahedron index="16014" v0="2581" v1="3097" v2="3098" v3="4196" />
+ <tetrahedron index="16015" v0="3097" v1="3098" v2="4196" v3="4712" />
+ <tetrahedron index="16016" v0="3098" v1="4196" v2="4712" v3="4713" />
+ <tetrahedron index="16017" v0="2972" v1="3095" v2="3099" v3="4587" />
+ <tetrahedron index="16018" v0="3095" v1="3099" v2="4587" v3="4710" />
+ <tetrahedron index="16019" v0="3099" v1="4587" v2="4710" v3="4714" />
+ <tetrahedron index="16020" v0="1846" v1="2111" v2="3100" v3="3461" />
+ <tetrahedron index="16021" v0="2111" v1="3100" v2="3461" v3="3726" />
+ <tetrahedron index="16022" v0="3100" v1="3461" v2="3726" v3="4715" />
+ <tetrahedron index="16023" v0="1846" v1="2452" v2="3100" v3="3461" />
+ <tetrahedron index="16024" v0="2452" v1="3100" v2="3461" v3="4067" />
+ <tetrahedron index="16025" v0="3100" v1="3461" v2="4067" v3="4715" />
+ <tetrahedron index="16026" v0="2990" v1="3012" v2="3018" v3="4605" />
+ <tetrahedron index="16027" v0="3012" v1="3018" v2="4605" v3="4627" />
+ <tetrahedron index="16028" v0="3018" v1="4605" v2="4627" v3="4633" />
+ <tetrahedron index="16029" v0="2990" v1="3010" v2="3018" v3="4605" />
+ <tetrahedron index="16030" v0="3010" v1="3018" v2="4605" v3="4625" />
+ <tetrahedron index="16031" v0="3018" v1="4605" v2="4625" v3="4633" />
+ <tetrahedron index="16032" v0="2075" v1="2933" v2="3013" v3="3690" />
+ <tetrahedron index="16033" v0="2933" v1="3013" v2="3690" v3="4548" />
+ <tetrahedron index="16034" v0="3013" v1="3690" v2="4548" v3="4628" />
+ <tetrahedron index="16035" v0="2501" v1="2556" v2="3101" v3="4116" />
+ <tetrahedron index="16036" v0="2556" v1="3101" v2="4116" v3="4171" />
+ <tetrahedron index="16037" v0="3101" v1="4116" v2="4171" v3="4716" />
+ <tetrahedron index="16038" v0="2505" v1="2556" v2="3101" v3="4120" />
+ <tetrahedron index="16039" v0="2556" v1="3101" v2="4120" v3="4171" />
+ <tetrahedron index="16040" v0="3101" v1="4120" v2="4171" v3="4716" />
+ <tetrahedron index="16041" v0="2725" v1="3102" v2="3103" v3="4340" />
+ <tetrahedron index="16042" v0="3102" v1="3103" v2="4340" v3="4717" />
+ <tetrahedron index="16043" v0="3103" v1="4340" v2="4717" v3="4718" />
+ <tetrahedron index="16044" v0="1775" v1="2361" v2="3025" v3="3390" />
+ <tetrahedron index="16045" v0="2361" v1="3025" v2="3390" v3="3976" />
+ <tetrahedron index="16046" v0="3025" v1="3390" v2="3976" v3="4640" />
+ <tetrahedron index="16047" v0="1704" v1="3026" v2="3104" v3="3319" />
+ <tetrahedron index="16048" v0="3026" v1="3104" v2="3319" v3="4641" />
+ <tetrahedron index="16049" v0="3104" v1="3319" v2="4641" v3="4719" />
+ <tetrahedron index="16050" v0="2286" v1="2287" v2="3028" v3="3901" />
+ <tetrahedron index="16051" v0="2287" v1="3028" v2="3901" v3="3902" />
+ <tetrahedron index="16052" v0="3028" v1="3901" v2="3902" v3="4643" />
+ <tetrahedron index="16053" v0="2287" v1="2604" v2="3028" v3="3902" />
+ <tetrahedron index="16054" v0="2604" v1="3028" v2="3902" v3="4219" />
+ <tetrahedron index="16055" v0="3028" v1="3902" v2="4219" v3="4643" />
+ <tetrahedron index="16056" v0="2003" v1="2822" v2="3032" v3="3618" />
+ <tetrahedron index="16057" v0="2822" v1="3032" v2="3618" v3="4437" />
+ <tetrahedron index="16058" v0="3032" v1="3618" v2="4437" v3="4647" />
+ <tetrahedron index="16059" v0="2003" v1="2017" v2="3032" v3="3618" />
+ <tetrahedron index="16060" v0="2017" v1="3032" v2="3618" v3="3632" />
+ <tetrahedron index="16061" v0="3032" v1="3618" v2="3632" v3="4647" />
+ <tetrahedron index="16062" v0="2421" v1="2979" v2="3105" v3="4036" />
+ <tetrahedron index="16063" v0="2979" v1="3105" v2="4036" v3="4594" />
+ <tetrahedron index="16064" v0="3105" v1="4036" v2="4594" v3="4720" />
+ <tetrahedron index="16065" v0="2154" v1="2763" v2="3034" v3="3769" />
+ <tetrahedron index="16066" v0="2763" v1="3034" v2="3769" v3="4378" />
+ <tetrahedron index="16067" v0="3034" v1="3769" v2="4378" v3="4649" />
+ <tetrahedron index="16068" v0="2590" v1="2688" v2="3106" v3="4205" />
+ <tetrahedron index="16069" v0="2688" v1="3106" v2="4205" v3="4303" />
+ <tetrahedron index="16070" v0="3106" v1="4205" v2="4303" v3="4721" />
+ <tetrahedron index="16071" v0="1691" v1="2083" v2="3107" v3="3306" />
+ <tetrahedron index="16072" v0="2083" v1="3107" v2="3306" v3="3698" />
+ <tetrahedron index="16073" v0="3107" v1="3306" v2="3698" v3="4722" />
+ <tetrahedron index="16074" v0="2771" v1="2802" v2="3108" v3="4386" />
+ <tetrahedron index="16075" v0="2802" v1="3108" v2="4386" v3="4417" />
+ <tetrahedron index="16076" v0="3108" v1="4386" v2="4417" v3="4723" />
+ <tetrahedron index="16077" v0="2484" v1="3038" v2="3084" v3="4099" />
+ <tetrahedron index="16078" v0="3038" v1="3084" v2="4099" v3="4653" />
+ <tetrahedron index="16079" v0="3084" v1="4099" v2="4653" v3="4699" />
+ <tetrahedron index="16080" v0="2612" v1="2880" v2="3041" v3="4227" />
+ <tetrahedron index="16081" v0="2880" v1="3041" v2="4227" v3="4495" />
+ <tetrahedron index="16082" v0="3041" v1="4227" v2="4495" v3="4656" />
+ <tetrahedron index="16083" v0="2653" v1="3014" v2="3109" v3="4268" />
+ <tetrahedron index="16084" v0="3014" v1="3109" v2="4268" v3="4629" />
+ <tetrahedron index="16085" v0="3109" v1="4268" v2="4629" v3="4724" />
+ <tetrahedron index="16086" v0="1970" v1="1971" v2="3043" v3="3585" />
+ <tetrahedron index="16087" v0="1971" v1="3043" v2="3585" v3="3586" />
+ <tetrahedron index="16088" v0="3043" v1="3585" v2="3586" v3="4658" />
+ <tetrahedron index="16089" v0="2724" v1="2995" v2="3044" v3="4339" />
+ <tetrahedron index="16090" v0="2995" v1="3044" v2="4339" v3="4610" />
+ <tetrahedron index="16091" v0="3044" v1="4339" v2="4610" v3="4659" />
+ <tetrahedron index="16092" v0="2476" v1="2892" v2="3110" v3="4091" />
+ <tetrahedron index="16093" v0="2892" v1="3110" v2="4091" v3="4507" />
+ <tetrahedron index="16094" v0="3110" v1="4091" v2="4507" v3="4725" />
+ <tetrahedron index="16095" v0="2952" v1="2953" v2="3111" v3="4567" />
+ <tetrahedron index="16096" v0="2953" v1="3111" v2="4567" v3="4568" />
+ <tetrahedron index="16097" v0="3111" v1="4567" v2="4568" v3="4726" />
+ <tetrahedron index="16098" v0="2215" v1="2827" v2="3053" v3="3830" />
+ <tetrahedron index="16099" v0="2827" v1="3053" v2="3830" v3="4442" />
+ <tetrahedron index="16100" v0="3053" v1="3830" v2="4442" v3="4668" />
+ <tetrahedron index="16101" v0="1931" v1="2215" v2="3053" v3="3546" />
+ <tetrahedron index="16102" v0="2215" v1="3053" v2="3546" v3="3830" />
+ <tetrahedron index="16103" v0="3053" v1="3546" v2="3830" v3="4668" />
+ <tetrahedron index="16104" v0="3012" v1="3017" v2="3018" v3="4627" />
+ <tetrahedron index="16105" v0="3017" v1="3018" v2="4627" v3="4632" />
+ <tetrahedron index="16106" v0="3018" v1="4627" v2="4632" v3="4633" />
+ <tetrahedron index="16107" v0="2298" v1="2301" v2="3112" v3="3913" />
+ <tetrahedron index="16108" v0="2301" v1="3112" v2="3913" v3="3916" />
+ <tetrahedron index="16109" v0="3112" v1="3913" v2="3916" v3="4727" />
+ <tetrahedron index="16110" v0="1922" v1="2301" v2="3112" v3="3537" />
+ <tetrahedron index="16111" v0="2301" v1="3112" v2="3537" v3="3916" />
+ <tetrahedron index="16112" v0="3112" v1="3537" v2="3916" v3="4727" />
+ <tetrahedron index="16113" v0="1933" v1="1934" v2="3069" v3="3548" />
+ <tetrahedron index="16114" v0="1934" v1="3069" v2="3548" v3="3549" />
+ <tetrahedron index="16115" v0="3069" v1="3548" v2="3549" v3="4684" />
+ <tetrahedron index="16116" v0="1934" v1="2447" v2="3069" v3="3549" />
+ <tetrahedron index="16117" v0="2447" v1="3069" v2="3549" v3="4062" />
+ <tetrahedron index="16118" v0="3069" v1="3549" v2="4062" v3="4684" />
+ <tetrahedron index="16119" v0="2978" v1="3113" v2="3114" v3="4593" />
+ <tetrahedron index="16120" v0="3113" v1="3114" v2="4593" v3="4728" />
+ <tetrahedron index="16121" v0="3114" v1="4593" v2="4728" v3="4729" />
+ <tetrahedron index="16122" v0="1856" v1="2973" v2="3067" v3="3471" />
+ <tetrahedron index="16123" v0="2973" v1="3067" v2="3471" v3="4588" />
+ <tetrahedron index="16124" v0="3067" v1="3471" v2="4588" v3="4682" />
+ <tetrahedron index="16125" v0="2662" v1="2690" v2="2926" v3="4277" />
+ <tetrahedron index="16126" v0="2690" v1="2926" v2="4277" v3="4305" />
+ <tetrahedron index="16127" v0="2926" v1="4277" v2="4305" v3="4541" />
+ <tetrahedron index="16128" v0="2689" v1="2690" v2="2926" v3="4304" />
+ <tetrahedron index="16129" v0="2690" v1="2926" v2="4304" v3="4305" />
+ <tetrahedron index="16130" v0="2926" v1="4304" v2="4305" v3="4541" />
+ <tetrahedron index="16131" v0="1962" v1="2184" v2="3001" v3="3577" />
+ <tetrahedron index="16132" v0="2184" v1="3001" v2="3577" v3="3799" />
+ <tetrahedron index="16133" v0="3001" v1="3577" v2="3799" v3="4616" />
+ <tetrahedron index="16134" v0="1962" v1="2184" v2="2284" v3="3577" />
+ <tetrahedron index="16135" v0="2184" v1="2284" v2="3577" v3="3799" />
+ <tetrahedron index="16136" v0="2284" v1="3577" v2="3799" v3="3899" />
+ <tetrahedron index="16137" v0="2478" v1="2539" v2="2609" v3="4093" />
+ <tetrahedron index="16138" v0="2539" v1="2609" v2="4093" v3="4154" />
+ <tetrahedron index="16139" v0="2609" v1="4093" v2="4154" v3="4224" />
+ <tetrahedron index="16140" v0="2539" v1="2609" v2="3068" v3="4154" />
+ <tetrahedron index="16141" v0="2609" v1="3068" v2="4154" v3="4224" />
+ <tetrahedron index="16142" v0="3068" v1="4154" v2="4224" v3="4683" />
+ <tetrahedron index="16143" v0="2018" v1="2040" v2="3032" v3="3633" />
+ <tetrahedron index="16144" v0="2040" v1="3032" v2="3633" v3="3655" />
+ <tetrahedron index="16145" v0="3032" v1="3633" v2="3655" v3="4647" />
+ <tetrahedron index="16146" v0="2040" v1="2822" v2="3032" v3="3655" />
+ <tetrahedron index="16147" v0="2822" v1="3032" v2="3655" v3="4437" />
+ <tetrahedron index="16148" v0="3032" v1="3655" v2="4437" v3="4647" />
+ <tetrahedron index="16149" v0="2444" v1="2578" v2="3073" v3="4059" />
+ <tetrahedron index="16150" v0="2578" v1="3073" v2="4059" v3="4193" />
+ <tetrahedron index="16151" v0="3073" v1="4059" v2="4193" v3="4688" />
+ <tetrahedron index="16152" v0="2053" v1="2388" v2="3078" v3="3668" />
+ <tetrahedron index="16153" v0="2388" v1="3078" v2="3668" v3="4003" />
+ <tetrahedron index="16154" v0="3078" v1="3668" v2="4003" v3="4693" />
+ <tetrahedron index="16155" v0="2055" v1="2056" v2="2245" v3="3670" />
+ <tetrahedron index="16156" v0="2056" v1="2245" v2="3670" v3="3671" />
+ <tetrahedron index="16157" v0="2245" v1="3670" v2="3671" v3="3860" />
+ <tetrahedron index="16158" v0="2056" v1="2245" v2="2868" v3="3671" />
+ <tetrahedron index="16159" v0="2245" v1="2868" v2="3671" v3="3860" />
+ <tetrahedron index="16160" v0="2868" v1="3671" v2="3860" v3="4483" />
+ <tetrahedron index="16161" v0="2524" v1="2525" v2="3074" v3="4139" />
+ <tetrahedron index="16162" v0="2525" v1="3074" v2="4139" v3="4140" />
+ <tetrahedron index="16163" v0="3074" v1="4139" v2="4140" v3="4689" />
+ <tetrahedron index="16164" v0="2525" v1="2948" v2="3074" v3="4140" />
+ <tetrahedron index="16165" v0="2948" v1="3074" v2="4140" v3="4563" />
+ <tetrahedron index="16166" v0="3074" v1="4140" v2="4563" v3="4689" />
+ <tetrahedron index="16167" v0="1955" v1="1956" v2="3071" v3="3570" />
+ <tetrahedron index="16168" v0="1956" v1="3071" v2="3570" v3="3571" />
+ <tetrahedron index="16169" v0="3071" v1="3570" v2="3571" v3="4686" />
+ <tetrahedron index="16170" v0="1955" v1="2046" v2="3071" v3="3570" />
+ <tetrahedron index="16171" v0="2046" v1="3071" v2="3570" v3="3661" />
+ <tetrahedron index="16172" v0="3071" v1="3570" v2="3661" v3="4686" />
+ <tetrahedron index="16173" v0="2750" v1="2929" v2="3070" v3="4365" />
+ <tetrahedron index="16174" v0="2929" v1="3070" v2="4365" v3="4544" />
+ <tetrahedron index="16175" v0="3070" v1="4365" v2="4544" v3="4685" />
+ <tetrahedron index="16176" v0="2208" v1="2750" v2="3070" v3="3823" />
+ <tetrahedron index="16177" v0="2750" v1="3070" v2="3823" v3="4365" />
+ <tetrahedron index="16178" v0="3070" v1="3823" v2="4365" v3="4685" />
+ <tetrahedron index="16179" v0="1980" v1="2125" v2="3023" v3="3595" />
+ <tetrahedron index="16180" v0="2125" v1="3023" v2="3595" v3="3740" />
+ <tetrahedron index="16181" v0="3023" v1="3595" v2="3740" v3="4638" />
+ <tetrahedron index="16182" v0="2125" v1="3002" v2="3023" v3="3740" />
+ <tetrahedron index="16183" v0="3002" v1="3023" v2="3740" v3="4617" />
+ <tetrahedron index="16184" v0="3023" v1="3740" v2="4617" v3="4638" />
+ <tetrahedron index="16185" v0="2449" v1="2568" v2="3025" v3="4064" />
+ <tetrahedron index="16186" v0="2568" v1="3025" v2="4064" v3="4183" />
+ <tetrahedron index="16187" v0="3025" v1="4064" v2="4183" v3="4640" />
+ <tetrahedron index="16188" v0="2259" v1="2568" v2="3025" v3="3874" />
+ <tetrahedron index="16189" v0="2568" v1="3025" v2="3874" v3="4183" />
+ <tetrahedron index="16190" v0="3025" v1="3874" v2="4183" v3="4640" />
+ <tetrahedron index="16191" v0="1970" v1="2604" v2="3068" v3="3585" />
+ <tetrahedron index="16192" v0="2604" v1="3068" v2="3585" v3="4219" />
+ <tetrahedron index="16193" v0="3068" v1="3585" v2="4219" v3="4683" />
+ <tetrahedron index="16194" v0="1954" v1="2678" v2="2698" v3="3569" />
+ <tetrahedron index="16195" v0="2678" v1="2698" v2="3569" v3="4293" />
+ <tetrahedron index="16196" v0="2698" v1="3569" v2="4293" v3="4313" />
+ <tetrahedron index="16197" v0="2678" v1="2698" v2="2914" v3="4293" />
+ <tetrahedron index="16198" v0="2698" v1="2914" v2="4293" v3="4313" />
+ <tetrahedron index="16199" v0="2914" v1="4293" v2="4313" v3="4529" />
+ <tetrahedron index="16200" v0="2910" v1="3009" v2="3051" v3="4525" />
+ <tetrahedron index="16201" v0="3009" v1="3051" v2="4525" v3="4624" />
+ <tetrahedron index="16202" v0="3051" v1="4525" v2="4624" v3="4666" />
+ <tetrahedron index="16203" v0="3009" v1="3010" v2="3051" v3="4624" />
+ <tetrahedron index="16204" v0="3010" v1="3051" v2="4624" v3="4625" />
+ <tetrahedron index="16205" v0="3051" v1="4624" v2="4625" v3="4666" />
+ <tetrahedron index="16206" v0="2541" v1="3059" v2="3115" v3="4156" />
+ <tetrahedron index="16207" v0="3059" v1="3115" v2="4156" v3="4674" />
+ <tetrahedron index="16208" v0="3115" v1="4156" v2="4674" v3="4730" />
+ <tetrahedron index="16209" v0="2216" v1="2217" v2="2673" v3="3831" />
+ <tetrahedron index="16210" v0="2217" v1="2673" v2="3831" v3="3832" />
+ <tetrahedron index="16211" v0="2673" v1="3831" v2="3832" v3="4288" />
+ <tetrahedron index="16212" v0="2155" v1="2713" v2="2994" v3="3770" />
+ <tetrahedron index="16213" v0="2713" v1="2994" v2="3770" v3="4328" />
+ <tetrahedron index="16214" v0="2994" v1="3770" v2="4328" v3="4609" />
+ <tetrahedron index="16215" v0="2810" v1="3074" v2="3085" v3="4425" />
+ <tetrahedron index="16216" v0="3074" v1="3085" v2="4425" v3="4689" />
+ <tetrahedron index="16217" v0="3085" v1="4425" v2="4689" v3="4700" />
+ <tetrahedron index="16218" v0="2948" v1="3074" v2="3085" v3="4563" />
+ <tetrahedron index="16219" v0="3074" v1="3085" v2="4563" v3="4689" />
+ <tetrahedron index="16220" v0="3085" v1="4563" v2="4689" v3="4700" />
+ <tetrahedron index="16221" v0="1672" v1="2119" v2="2877" v3="3287" />
+ <tetrahedron index="16222" v0="2119" v1="2877" v2="3287" v3="3734" />
+ <tetrahedron index="16223" v0="2877" v1="3287" v2="3734" v3="4492" />
+ <tetrahedron index="16224" v0="2829" v1="2853" v2="3037" v3="4444" />
+ <tetrahedron index="16225" v0="2853" v1="3037" v2="4444" v3="4468" />
+ <tetrahedron index="16226" v0="3037" v1="4444" v2="4468" v3="4652" />
+ <tetrahedron index="16227" v0="2160" v1="2601" v2="3047" v3="3775" />
+ <tetrahedron index="16228" v0="2601" v1="3047" v2="3775" v3="4216" />
+ <tetrahedron index="16229" v0="3047" v1="3775" v2="4216" v3="4662" />
+ <tetrahedron index="16230" v0="2160" v1="3022" v2="3047" v3="3775" />
+ <tetrahedron index="16231" v0="3022" v1="3047" v2="3775" v3="4637" />
+ <tetrahedron index="16232" v0="3047" v1="3775" v2="4637" v3="4662" />
+ <tetrahedron index="16233" v0="1759" v1="2073" v2="3116" v3="3374" />
+ <tetrahedron index="16234" v0="2073" v1="3116" v2="3374" v3="3688" />
+ <tetrahedron index="16235" v0="3116" v1="3374" v2="3688" v3="4731" />
+ <tetrahedron index="16236" v0="1773" v1="2646" v2="2797" v3="3388" />
+ <tetrahedron index="16237" v0="2646" v1="2797" v2="3388" v3="4261" />
+ <tetrahedron index="16238" v0="2797" v1="3388" v2="4261" v3="4412" />
+ <tetrahedron index="16239" v0="1773" v1="2797" v2="2956" v3="3388" />
+ <tetrahedron index="16240" v0="2797" v1="2956" v2="3388" v3="4412" />
+ <tetrahedron index="16241" v0="2956" v1="3388" v2="4412" v3="4571" />
+ <tetrahedron index="16242" v0="3014" v1="3079" v2="3117" v3="4629" />
+ <tetrahedron index="16243" v0="3079" v1="3117" v2="4629" v3="4694" />
+ <tetrahedron index="16244" v0="3117" v1="4629" v2="4694" v3="4732" />
+ <tetrahedron index="16245" v0="1919" v1="1920" v2="2722" v3="3534" />
+ <tetrahedron index="16246" v0="1920" v1="2722" v2="3534" v3="3535" />
+ <tetrahedron index="16247" v0="2722" v1="3534" v2="3535" v3="4337" />
+ <tetrahedron index="16248" v0="1919" v1="2722" v2="2962" v3="3534" />
+ <tetrahedron index="16249" v0="2722" v1="2962" v2="3534" v3="4337" />
+ <tetrahedron index="16250" v0="2962" v1="3534" v2="4337" v3="4577" />
+ <tetrahedron index="16251" v0="2009" v1="2703" v2="3046" v3="3624" />
+ <tetrahedron index="16252" v0="2703" v1="3046" v2="3624" v3="4318" />
+ <tetrahedron index="16253" v0="3046" v1="3624" v2="4318" v3="4661" />
+ <tetrahedron index="16254" v0="1780" v1="2009" v2="2703" v3="3395" />
+ <tetrahedron index="16255" v0="2009" v1="2703" v2="3395" v3="3624" />
+ <tetrahedron index="16256" v0="2703" v1="3395" v2="3624" v3="4318" />
+ <tetrahedron index="16257" v0="2778" v1="2779" v2="3040" v3="4393" />
+ <tetrahedron index="16258" v0="2779" v1="3040" v2="4393" v3="4394" />
+ <tetrahedron index="16259" v0="3040" v1="4393" v2="4394" v3="4655" />
+ <tetrahedron index="16260" v0="1770" v1="2119" v2="2877" v3="3385" />
+ <tetrahedron index="16261" v0="2119" v1="2877" v2="3385" v3="3734" />
+ <tetrahedron index="16262" v0="2877" v1="3385" v2="3734" v3="4492" />
+ <tetrahedron index="16263" v0="2903" v1="3000" v2="3043" v3="4518" />
+ <tetrahedron index="16264" v0="3000" v1="3043" v2="4518" v3="4615" />
+ <tetrahedron index="16265" v0="3043" v1="4518" v2="4615" v3="4658" />
+ <tetrahedron index="16266" v0="1971" v1="3000" v2="3043" v3="3586" />
+ <tetrahedron index="16267" v0="3000" v1="3043" v2="3586" v3="4615" />
+ <tetrahedron index="16268" v0="3043" v1="3586" v2="4615" v3="4658" />
+ <tetrahedron index="16269" v0="1906" v1="2697" v2="3104" v3="3521" />
+ <tetrahedron index="16270" v0="2697" v1="3104" v2="3521" v3="4312" />
+ <tetrahedron index="16271" v0="3104" v1="3521" v2="4312" v3="4719" />
+ <tetrahedron index="16272" v0="2619" v1="2697" v2="3104" v3="4234" />
+ <tetrahedron index="16273" v0="2697" v1="3104" v2="4234" v3="4312" />
+ <tetrahedron index="16274" v0="3104" v1="4234" v2="4312" v3="4719" />
+ <tetrahedron index="16275" v0="2624" v1="3082" v2="3118" v3="4239" />
+ <tetrahedron index="16276" v0="3082" v1="3118" v2="4239" v3="4697" />
+ <tetrahedron index="16277" v0="3118" v1="4239" v2="4697" v3="4733" />
+ <tetrahedron index="16278" v0="2039" v1="2624" v2="3082" v3="3654" />
+ <tetrahedron index="16279" v0="2624" v1="3082" v2="3654" v3="4239" />
+ <tetrahedron index="16280" v0="3082" v1="3654" v2="4239" v3="4697" />
+ <tetrahedron index="16281" v0="2775" v1="2805" v2="3083" v3="4390" />
+ <tetrahedron index="16282" v0="2805" v1="3083" v2="4390" v3="4420" />
+ <tetrahedron index="16283" v0="3083" v1="4390" v2="4420" v3="4698" />
+ <tetrahedron index="16284" v0="2805" v1="3007" v2="3083" v3="4420" />
+ <tetrahedron index="16285" v0="3007" v1="3083" v2="4420" v3="4622" />
+ <tetrahedron index="16286" v0="3083" v1="4420" v2="4622" v3="4698" />
+ <tetrahedron index="16287" v0="2258" v1="2285" v2="3084" v3="3873" />
+ <tetrahedron index="16288" v0="2285" v1="3084" v2="3873" v3="3900" />
+ <tetrahedron index="16289" v0="3084" v1="3873" v2="3900" v3="4699" />
+ <tetrahedron index="16290" v0="2258" v1="2484" v2="3084" v3="3873" />
+ <tetrahedron index="16291" v0="2484" v1="3084" v2="3873" v3="4099" />
+ <tetrahedron index="16292" v0="3084" v1="3873" v2="4099" v3="4699" />
+ <tetrahedron index="16293" v0="2324" v1="3029" v2="3119" v3="3939" />
+ <tetrahedron index="16294" v0="3029" v1="3119" v2="3939" v3="4644" />
+ <tetrahedron index="16295" v0="3119" v1="3939" v2="4644" v3="4734" />
+ <tetrahedron index="16296" v0="2456" v1="2907" v2="3042" v3="4071" />
+ <tetrahedron index="16297" v0="2907" v1="3042" v2="4071" v3="4522" />
+ <tetrahedron index="16298" v0="3042" v1="4071" v2="4522" v3="4657" />
+ <tetrahedron index="16299" v0="2456" v1="2700" v2="3042" v3="4071" />
+ <tetrahedron index="16300" v0="2700" v1="3042" v2="4071" v3="4315" />
+ <tetrahedron index="16301" v0="3042" v1="4071" v2="4315" v3="4657" />
+ <tetrahedron index="16302" v0="2140" v1="2184" v2="2975" v3="3755" />
+ <tetrahedron index="16303" v0="2184" v1="2975" v2="3755" v3="3799" />
+ <tetrahedron index="16304" v0="2975" v1="3755" v2="3799" v3="4590" />
+ <tetrahedron index="16305" v0="2184" v1="2975" v2="3001" v3="3799" />
+ <tetrahedron index="16306" v0="2975" v1="3001" v2="3799" v3="4590" />
+ <tetrahedron index="16307" v0="3001" v1="3799" v2="4590" v3="4616" />
+ <tetrahedron index="16308" v0="2089" v1="2392" v2="2828" v3="3704" />
+ <tetrahedron index="16309" v0="2392" v1="2828" v2="3704" v3="4007" />
+ <tetrahedron index="16310" v0="2828" v1="3704" v2="4007" v3="4443" />
+ <tetrahedron index="16311" v0="2068" v1="2089" v2="2828" v3="3683" />
+ <tetrahedron index="16312" v0="2089" v1="2828" v2="3683" v3="3704" />
+ <tetrahedron index="16313" v0="2828" v1="3683" v2="3704" v3="4443" />
+ <tetrahedron index="16314" v0="2565" v1="2891" v2="3111" v3="4180" />
+ <tetrahedron index="16315" v0="2891" v1="3111" v2="4180" v3="4506" />
+ <tetrahedron index="16316" v0="3111" v1="4180" v2="4506" v3="4726" />
+ <tetrahedron index="16317" v0="2595" v1="2596" v2="3045" v3="4210" />
+ <tetrahedron index="16318" v0="2596" v1="3045" v2="4210" v3="4211" />
+ <tetrahedron index="16319" v0="3045" v1="4210" v2="4211" v3="4660" />
+ <tetrahedron index="16320" v0="2595" v1="3007" v2="3045" v3="4210" />
+ <tetrahedron index="16321" v0="3007" v1="3045" v2="4210" v3="4622" />
+ <tetrahedron index="16322" v0="3045" v1="4210" v2="4622" v3="4660" />
+ <tetrahedron index="16323" v0="2581" v1="2627" v2="3097" v3="4196" />
+ <tetrahedron index="16324" v0="2627" v1="3097" v2="4196" v3="4242" />
+ <tetrahedron index="16325" v0="3097" v1="4196" v2="4242" v3="4712" />
+ <tetrahedron index="16326" v0="2860" v1="2862" v2="3120" v3="4475" />
+ <tetrahedron index="16327" v0="2862" v1="3120" v2="4475" v3="4477" />
+ <tetrahedron index="16328" v0="3120" v1="4475" v2="4477" v3="4735" />
+ <tetrahedron index="16329" v0="2098" v1="3056" v2="3121" v3="3713" />
+ <tetrahedron index="16330" v0="3056" v1="3121" v2="3713" v3="4671" />
+ <tetrahedron index="16331" v0="3121" v1="3713" v2="4671" v3="4736" />
+ <tetrahedron index="16332" v0="2331" v1="2452" v2="3100" v3="3946" />
+ <tetrahedron index="16333" v0="2452" v1="3100" v2="3946" v3="4067" />
+ <tetrahedron index="16334" v0="3100" v1="3946" v2="4067" v3="4715" />
+ <tetrahedron index="16335" v0="2331" v1="2996" v2="3100" v3="3946" />
+ <tetrahedron index="16336" v0="2996" v1="3100" v2="3946" v3="4611" />
+ <tetrahedron index="16337" v0="3100" v1="3946" v2="4611" v3="4715" />
+ <tetrahedron index="16338" v0="3097" v1="3098" v2="3122" v3="4712" />
+ <tetrahedron index="16339" v0="3098" v1="3122" v2="4712" v3="4713" />
+ <tetrahedron index="16340" v0="3122" v1="4712" v2="4713" v3="4737" />
+ <tetrahedron index="16341" v0="2501" v1="2925" v2="3101" v3="4116" />
+ <tetrahedron index="16342" v0="2925" v1="3101" v2="4116" v3="4540" />
+ <tetrahedron index="16343" v0="3101" v1="4116" v2="4540" v3="4716" />
+ <tetrahedron index="16344" v0="1747" v1="2115" v2="3087" v3="3362" />
+ <tetrahedron index="16345" v0="2115" v1="3087" v2="3362" v3="3730" />
+ <tetrahedron index="16346" v0="3087" v1="3362" v2="3730" v3="4702" />
+ <tetrahedron index="16347" v0="3029" v1="3030" v2="3119" v3="4644" />
+ <tetrahedron index="16348" v0="3030" v1="3119" v2="4644" v3="4645" />
+ <tetrahedron index="16349" v0="3119" v1="4644" v2="4645" v3="4734" />
+ <tetrahedron index="16350" v0="2264" v1="3030" v2="3119" v3="3879" />
+ <tetrahedron index="16351" v0="3030" v1="3119" v2="3879" v3="4645" />
+ <tetrahedron index="16352" v0="3119" v1="3879" v2="4645" v3="4734" />
+ <tetrahedron index="16353" v0="2329" v1="3026" v2="3027" v3="3944" />
+ <tetrahedron index="16354" v0="3026" v1="3027" v2="3944" v3="4641" />
+ <tetrahedron index="16355" v0="3027" v1="3944" v2="4641" v3="4642" />
+ <tetrahedron index="16356" v0="3059" v1="3115" v2="3123" v3="4674" />
+ <tetrahedron index="16357" v0="3115" v1="3123" v2="4674" v3="4730" />
+ <tetrahedron index="16358" v0="3123" v1="4674" v2="4730" v3="4738" />
+ <tetrahedron index="16359" v0="2561" v1="2562" v2="3124" v3="4176" />
+ <tetrahedron index="16360" v0="2562" v1="3124" v2="4176" v3="4177" />
+ <tetrahedron index="16361" v0="3124" v1="4176" v2="4177" v3="4739" />
+ <tetrahedron index="16362" v0="2326" v1="2561" v2="3124" v3="3941" />
+ <tetrahedron index="16363" v0="2561" v1="3124" v2="3941" v3="4176" />
+ <tetrahedron index="16364" v0="3124" v1="3941" v2="4176" v3="4739" />
+ <tetrahedron index="16365" v0="2321" v1="2922" v2="3013" v3="3936" />
+ <tetrahedron index="16366" v0="2922" v1="3013" v2="3936" v3="4537" />
+ <tetrahedron index="16367" v0="3013" v1="3936" v2="4537" v3="4628" />
+ <tetrahedron index="16368" v0="2922" v1="2933" v2="3013" v3="4537" />
+ <tetrahedron index="16369" v0="2933" v1="3013" v2="4537" v3="4548" />
+ <tetrahedron index="16370" v0="3013" v1="4537" v2="4548" v3="4628" />
+ <tetrahedron index="16371" v0="3090" v1="3125" v2="3126" v3="4705" />
+ <tetrahedron index="16372" v0="3125" v1="3126" v2="4705" v3="4740" />
+ <tetrahedron index="16373" v0="3126" v1="4705" v2="4740" v3="4741" />
+ <tetrahedron index="16374" v0="2110" v1="3090" v2="3125" v3="3725" />
+ <tetrahedron index="16375" v0="3090" v1="3125" v2="3725" v3="4705" />
+ <tetrahedron index="16376" v0="3125" v1="3725" v2="4705" v3="4740" />
+ <tetrahedron index="16377" v0="2710" v1="2912" v2="3091" v3="4325" />
+ <tetrahedron index="16378" v0="2912" v1="3091" v2="4325" v3="4527" />
+ <tetrahedron index="16379" v0="3091" v1="4325" v2="4527" v3="4706" />
+ <tetrahedron index="16380" v0="2238" v1="2912" v2="3091" v3="3853" />
+ <tetrahedron index="16381" v0="2912" v1="3091" v2="3853" v3="4527" />
+ <tetrahedron index="16382" v0="3091" v1="3853" v2="4527" v3="4706" />
+ <tetrahedron index="16383" v0="2872" v1="2996" v2="3100" v3="4487" />
+ <tetrahedron index="16384" v0="2996" v1="3100" v2="4487" v3="4611" />
+ <tetrahedron index="16385" v0="3100" v1="4487" v2="4611" v3="4715" />
+ <tetrahedron index="16386" v0="2111" v1="2872" v2="3100" v3="3726" />
+ <tetrahedron index="16387" v0="2872" v1="3100" v2="3726" v3="4487" />
+ <tetrahedron index="16388" v0="3100" v1="3726" v2="4487" v3="4715" />
+ <tetrahedron index="16389" v0="1932" v1="3053" v2="3127" v3="3547" />
+ <tetrahedron index="16390" v0="3053" v1="3127" v2="3547" v3="4668" />
+ <tetrahedron index="16391" v0="3127" v1="3547" v2="4668" v3="4742" />
+ <tetrahedron index="16392" v0="2827" v1="3053" v2="3127" v3="4442" />
+ <tetrahedron index="16393" v0="3053" v1="3127" v2="4442" v3="4668" />
+ <tetrahedron index="16394" v0="3127" v1="4442" v2="4668" v3="4742" />
+ <tetrahedron index="16395" v0="1706" v1="1707" v2="3054" v3="3321" />
+ <tetrahedron index="16396" v0="1707" v1="3054" v2="3321" v3="3322" />
+ <tetrahedron index="16397" v0="3054" v1="3321" v2="3322" v3="4669" />
+ <tetrahedron index="16398" v0="2518" v1="2820" v2="2941" v3="4133" />
+ <tetrahedron index="16399" v0="2820" v1="2941" v2="4133" v3="4435" />
+ <tetrahedron index="16400" v0="2941" v1="4133" v2="4435" v3="4556" />
+ <tetrahedron index="16401" v0="2755" v1="3010" v2="3018" v3="4370" />
+ <tetrahedron index="16402" v0="3010" v1="3018" v2="4370" v3="4625" />
+ <tetrahedron index="16403" v0="3018" v1="4370" v2="4625" v3="4633" />
+ <tetrahedron index="16404" v0="2544" v1="2755" v2="3018" v3="4159" />
+ <tetrahedron index="16405" v0="2755" v1="3018" v2="4159" v3="4370" />
+ <tetrahedron index="16406" v0="3018" v1="4159" v2="4370" v3="4633" />
+ <tetrahedron index="16407" v0="2137" v1="2139" v2="2959" v3="3752" />
+ <tetrahedron index="16408" v0="2139" v1="2959" v2="3752" v3="3754" />
+ <tetrahedron index="16409" v0="2959" v1="3752" v2="3754" v3="4574" />
+ <tetrahedron index="16410" v0="2137" v1="2490" v2="2959" v3="3752" />
+ <tetrahedron index="16411" v0="2490" v1="2959" v2="3752" v3="4105" />
+ <tetrahedron index="16412" v0="2959" v1="3752" v2="4105" v3="4574" />
+ <tetrahedron index="16413" v0="2220" v1="2238" v2="3091" v3="3835" />
+ <tetrahedron index="16414" v0="2238" v1="3091" v2="3835" v3="3853" />
+ <tetrahedron index="16415" v0="3091" v1="3835" v2="3853" v3="4706" />
+ <tetrahedron index="16416" v0="2220" v1="2936" v2="3091" v3="3835" />
+ <tetrahedron index="16417" v0="2936" v1="3091" v2="3835" v3="4551" />
+ <tetrahedron index="16418" v0="3091" v1="3835" v2="4551" v3="4706" />
+ <tetrahedron index="16419" v0="3002" v1="3023" v2="3067" v3="4617" />
+ <tetrahedron index="16420" v0="3023" v1="3067" v2="4617" v3="4638" />
+ <tetrahedron index="16421" v0="3067" v1="4617" v2="4638" v3="4682" />
+ <tetrahedron index="16422" v0="2993" v1="3023" v2="3067" v3="4608" />
+ <tetrahedron index="16423" v0="3023" v1="3067" v2="4608" v3="4638" />
+ <tetrahedron index="16424" v0="3067" v1="4608" v2="4638" v3="4682" />
+ <tetrahedron index="16425" v0="2050" v1="2137" v2="2541" v3="3665" />
+ <tetrahedron index="16426" v0="2137" v1="2541" v2="3665" v3="3752" />
+ <tetrahedron index="16427" v0="2541" v1="3665" v2="3752" v3="4156" />
+ <tetrahedron index="16428" v0="2137" v1="2541" v2="2963" v3="3752" />
+ <tetrahedron index="16429" v0="2541" v1="2963" v2="3752" v3="4156" />
+ <tetrahedron index="16430" v0="2963" v1="3752" v2="4156" v3="4578" />
+ <tetrahedron index="16431" v0="1904" v1="3095" v2="3096" v3="3519" />
+ <tetrahedron index="16432" v0="3095" v1="3096" v2="3519" v3="4710" />
+ <tetrahedron index="16433" v0="3096" v1="3519" v2="4710" v3="4711" />
+ <tetrahedron index="16434" v0="2995" v1="3044" v2="3090" v3="4610" />
+ <tetrahedron index="16435" v0="3044" v1="3090" v2="4610" v3="4659" />
+ <tetrahedron index="16436" v0="3090" v1="4610" v2="4659" v3="4705" />
+ <tetrahedron index="16437" v0="2595" v1="3007" v2="3083" v3="4210" />
+ <tetrahedron index="16438" v0="3007" v1="3083" v2="4210" v3="4622" />
+ <tetrahedron index="16439" v0="3083" v1="4210" v2="4622" v3="4698" />
+ <tetrahedron index="16440" v0="2595" v1="2723" v2="3083" v3="4210" />
+ <tetrahedron index="16441" v0="2723" v1="3083" v2="4210" v3="4338" />
+ <tetrahedron index="16442" v0="3083" v1="4210" v2="4338" v3="4698" />
+ <tetrahedron index="16443" v0="1904" v1="2972" v2="3095" v3="3519" />
+ <tetrahedron index="16444" v0="2972" v1="3095" v2="3519" v3="4587" />
+ <tetrahedron index="16445" v0="3095" v1="3519" v2="4587" v3="4710" />
+ <tetrahedron index="16446" v0="2505" v1="2839" v2="3101" v3="4120" />
+ <tetrahedron index="16447" v0="2839" v1="3101" v2="4120" v3="4454" />
+ <tetrahedron index="16448" v0="3101" v1="4120" v2="4454" v3="4716" />
+ <tetrahedron index="16449" v0="1817" v1="2450" v2="2896" v3="3432" />
+ <tetrahedron index="16450" v0="2450" v1="2896" v2="3432" v3="4065" />
+ <tetrahedron index="16451" v0="2896" v1="3432" v2="4065" v3="4511" />
+ <tetrahedron index="16452" v0="1801" v1="2619" v2="2697" v3="3416" />
+ <tetrahedron index="16453" v0="2619" v1="2697" v2="3416" v3="4234" />
+ <tetrahedron index="16454" v0="2697" v1="3416" v2="4234" v3="4312" />
+ <tetrahedron index="16455" v0="1799" v1="1801" v2="2697" v3="3414" />
+ <tetrahedron index="16456" v0="1801" v1="2697" v2="3414" v3="3416" />
+ <tetrahedron index="16457" v0="2697" v1="3414" v2="3416" v3="4312" />
+ <tetrahedron index="16458" v0="2399" v1="2834" v2="3128" v3="4014" />
+ <tetrahedron index="16459" v0="2834" v1="3128" v2="4014" v3="4449" />
+ <tetrahedron index="16460" v0="3128" v1="4014" v2="4449" v3="4743" />
+ <tetrahedron index="16461" v0="2725" v1="3044" v2="3102" v3="4340" />
+ <tetrahedron index="16462" v0="3044" v1="3102" v2="4340" v3="4659" />
+ <tetrahedron index="16463" v0="3102" v1="4340" v2="4659" v3="4717" />
+ <tetrahedron index="16464" v0="2007" v1="3022" v2="3047" v3="3622" />
+ <tetrahedron index="16465" v0="3022" v1="3047" v2="3622" v3="4637" />
+ <tetrahedron index="16466" v0="3047" v1="3622" v2="4637" v3="4662" />
+ <tetrahedron index="16467" v0="1744" v1="1806" v2="3038" v3="3359" />
+ <tetrahedron index="16468" v0="1806" v1="3038" v2="3359" v3="3421" />
+ <tetrahedron index="16469" v0="3038" v1="3359" v2="3421" v3="4653" />
+ <tetrahedron index="16470" v0="1744" v1="2484" v2="3038" v3="3359" />
+ <tetrahedron index="16471" v0="2484" v1="3038" v2="3359" v3="4099" />
+ <tetrahedron index="16472" v0="3038" v1="3359" v2="4099" v3="4653" />
+ <tetrahedron index="16473" v0="3129" v1="3130" v2="3131" v3="4744" />
+ <tetrahedron index="16474" v0="3130" v1="3131" v2="4744" v3="4745" />
+ <tetrahedron index="16475" v0="3131" v1="4744" v2="4745" v3="4746" />
+ <tetrahedron index="16476" v0="1797" v1="2210" v2="2575" v3="3412" />
+ <tetrahedron index="16477" v0="2210" v1="2575" v2="3412" v3="3825" />
+ <tetrahedron index="16478" v0="2575" v1="3412" v2="3825" v3="4190" />
+ <tetrahedron index="16479" v0="1717" v1="2612" v2="3041" v3="3332" />
+ <tetrahedron index="16480" v0="2612" v1="3041" v2="3332" v3="4227" />
+ <tetrahedron index="16481" v0="3041" v1="3332" v2="4227" v3="4656" />
+ <tetrahedron index="16482" v0="1715" v1="1717" v2="3041" v3="3330" />
+ <tetrahedron index="16483" v0="1717" v1="3041" v2="3330" v3="3332" />
+ <tetrahedron index="16484" v0="3041" v1="3330" v2="3332" v3="4656" />
+ <tetrahedron index="16485" v0="1751" v1="2486" v2="3070" v3="3366" />
+ <tetrahedron index="16486" v0="2486" v1="3070" v2="3366" v3="4101" />
+ <tetrahedron index="16487" v0="3070" v1="3366" v2="4101" v3="4685" />
+ <tetrahedron index="16488" v0="1751" v1="2208" v2="3070" v3="3366" />
+ <tetrahedron index="16489" v0="2208" v1="3070" v2="3366" v3="3823" />
+ <tetrahedron index="16490" v0="3070" v1="3366" v2="3823" v3="4685" />
+ <tetrahedron index="16491" v0="2103" v1="2460" v2="3035" v3="3718" />
+ <tetrahedron index="16492" v0="2460" v1="3035" v2="3718" v3="4075" />
+ <tetrahedron index="16493" v0="3035" v1="3718" v2="4075" v3="4650" />
+ <tetrahedron index="16494" v0="2403" v1="2460" v2="3035" v3="4018" />
+ <tetrahedron index="16495" v0="2460" v1="3035" v2="4018" v3="4075" />
+ <tetrahedron index="16496" v0="3035" v1="4018" v2="4075" v3="4650" />
+ <tetrahedron index="16497" v0="2421" v1="2459" v2="2979" v3="4036" />
+ <tetrahedron index="16498" v0="2459" v1="2979" v2="4036" v3="4074" />
+ <tetrahedron index="16499" v0="2979" v1="4036" v2="4074" v3="4594" />
+ <tetrahedron index="16500" v0="2421" v1="2422" v2="2459" v3="4036" />
+ <tetrahedron index="16501" v0="2422" v1="2459" v2="4036" v3="4037" />
+ <tetrahedron index="16502" v0="2459" v1="4036" v2="4037" v3="4074" />
+ <tetrahedron index="16503" v0="2365" v1="2377" v2="3055" v3="3980" />
+ <tetrahedron index="16504" v0="2377" v1="3055" v2="3980" v3="3992" />
+ <tetrahedron index="16505" v0="3055" v1="3980" v2="3992" v3="4670" />
+ <tetrahedron index="16506" v0="2162" v1="2377" v2="3055" v3="3777" />
+ <tetrahedron index="16507" v0="2377" v1="3055" v2="3777" v3="3992" />
+ <tetrahedron index="16508" v0="3055" v1="3777" v2="3992" v3="4670" />
+ <tetrahedron index="16509" v0="2026" v1="2222" v2="2698" v3="3641" />
+ <tetrahedron index="16510" v0="2222" v1="2698" v2="3641" v3="3837" />
+ <tetrahedron index="16511" v0="2698" v1="3641" v2="3837" v3="4313" />
+ <tetrahedron index="16512" v0="1942" v1="2026" v2="2698" v3="3557" />
+ <tetrahedron index="16513" v0="2026" v1="2698" v2="3557" v3="3641" />
+ <tetrahedron index="16514" v0="2698" v1="3557" v2="3641" v3="4313" />
+ <tetrahedron index="16515" v0="2590" v1="2623" v2="3106" v3="4205" />
+ <tetrahedron index="16516" v0="2623" v1="3106" v2="4205" v3="4238" />
+ <tetrahedron index="16517" v0="3106" v1="4205" v2="4238" v3="4721" />
+ <tetrahedron index="16518" v0="2688" v1="2760" v2="3106" v3="4303" />
+ <tetrahedron index="16519" v0="2760" v1="3106" v2="4303" v3="4375" />
+ <tetrahedron index="16520" v0="3106" v1="4303" v2="4375" v3="4721" />
+ <tetrahedron index="16521" v0="2105" v1="3035" v2="3039" v3="3720" />
+ <tetrahedron index="16522" v0="3035" v1="3039" v2="3720" v3="4650" />
+ <tetrahedron index="16523" v0="3039" v1="3720" v2="4650" v3="4654" />
+ <tetrahedron index="16524" v0="2655" v1="2808" v2="3036" v3="4270" />
+ <tetrahedron index="16525" v0="2808" v1="3036" v2="4270" v3="4423" />
+ <tetrahedron index="16526" v0="3036" v1="4270" v2="4423" v3="4651" />
+ <tetrahedron index="16527" v0="2655" v1="3024" v2="3036" v3="4270" />
+ <tetrahedron index="16528" v0="3024" v1="3036" v2="4270" v3="4639" />
+ <tetrahedron index="16529" v0="3036" v1="4270" v2="4639" v3="4651" />
+ <tetrahedron index="16530" v0="2419" v1="2428" v2="3037" v3="4034" />
+ <tetrahedron index="16531" v0="2428" v1="3037" v2="4034" v3="4043" />
+ <tetrahedron index="16532" v0="3037" v1="4034" v2="4043" v3="4652" />
+ <tetrahedron index="16533" v0="2419" v1="2809" v2="3037" v3="4034" />
+ <tetrahedron index="16534" v0="2809" v1="3037" v2="4034" v3="4424" />
+ <tetrahedron index="16535" v0="3037" v1="4034" v2="4424" v3="4652" />
+ <tetrahedron index="16536" v0="2083" v1="2305" v2="3107" v3="3698" />
+ <tetrahedron index="16537" v0="2305" v1="3107" v2="3698" v3="3920" />
+ <tetrahedron index="16538" v0="3107" v1="3698" v2="3920" v3="4722" />
+ <tetrahedron index="16539" v0="2803" v1="2812" v2="3108" v3="4418" />
+ <tetrahedron index="16540" v0="2812" v1="3108" v2="4418" v3="4427" />
+ <tetrahedron index="16541" v0="3108" v1="4418" v2="4427" v3="4723" />
+ <tetrahedron index="16542" v0="2771" v1="2803" v2="3108" v3="4386" />
+ <tetrahedron index="16543" v0="2803" v1="3108" v2="4386" v3="4418" />
+ <tetrahedron index="16544" v0="3108" v1="4386" v2="4418" v3="4723" />
+ <tetrahedron index="16545" v0="2245" v1="2368" v2="2901" v3="3860" />
+ <tetrahedron index="16546" v0="2368" v1="2901" v2="3860" v3="3983" />
+ <tetrahedron index="16547" v0="2901" v1="3860" v2="3983" v3="4516" />
+ <tetrahedron index="16548" v0="1688" v1="2245" v2="2368" v3="3303" />
+ <tetrahedron index="16549" v0="2245" v1="2368" v2="3303" v3="3860" />
+ <tetrahedron index="16550" v0="2368" v1="3303" v2="3860" v3="3983" />
+ <tetrahedron index="16551" v0="2105" v1="3038" v2="3039" v3="3720" />
+ <tetrahedron index="16552" v0="3038" v1="3039" v2="3720" v3="4653" />
+ <tetrahedron index="16553" v0="3039" v1="3720" v2="4653" v3="4654" />
+ <tetrahedron index="16554" v0="2105" v1="3038" v2="3084" v3="3720" />
+ <tetrahedron index="16555" v0="3038" v1="3084" v2="3720" v3="4653" />
+ <tetrahedron index="16556" v0="3084" v1="3720" v2="4653" v3="4699" />
+ <tetrahedron index="16557" v0="2473" v1="2705" v2="3110" v3="4088" />
+ <tetrahedron index="16558" v0="2705" v1="3110" v2="4088" v3="4320" />
+ <tetrahedron index="16559" v0="3110" v1="4088" v2="4320" v3="4725" />
+ <tetrahedron index="16560" v0="2705" v1="2892" v2="3110" v3="4320" />
+ <tetrahedron index="16561" v0="2892" v1="3110" v2="4320" v3="4507" />
+ <tetrahedron index="16562" v0="3110" v1="4320" v2="4507" v3="4725" />
+ <tetrahedron index="16563" v0="2770" v1="2919" v2="3040" v3="4385" />
+ <tetrahedron index="16564" v0="2919" v1="3040" v2="4385" v3="4534" />
+ <tetrahedron index="16565" v0="3040" v1="4385" v2="4534" v3="4655" />
+ <tetrahedron index="16566" v0="2768" v1="2770" v2="3040" v3="4383" />
+ <tetrahedron index="16567" v0="2770" v1="3040" v2="4383" v3="4385" />
+ <tetrahedron index="16568" v0="3040" v1="4383" v2="4385" v3="4655" />
+ <tetrahedron index="16569" v0="2279" v1="3029" v2="3031" v3="3894" />
+ <tetrahedron index="16570" v0="3029" v1="3031" v2="3894" v3="4644" />
+ <tetrahedron index="16571" v0="3031" v1="3894" v2="4644" v3="4646" />
+ <tetrahedron index="16572" v0="1706" v1="2279" v2="3031" v3="3321" />
+ <tetrahedron index="16573" v0="2279" v1="3031" v2="3321" v3="3894" />
+ <tetrahedron index="16574" v0="3031" v1="3321" v2="3894" v3="4646" />
+ <tetrahedron index="16575" v0="2113" v1="2520" v2="3042" v3="3728" />
+ <tetrahedron index="16576" v0="2520" v1="3042" v2="3728" v3="4135" />
+ <tetrahedron index="16577" v0="3042" v1="3728" v2="4135" v3="4657" />
+ <tetrahedron index="16578" v0="2113" v1="2657" v2="3042" v3="3728" />
+ <tetrahedron index="16579" v0="2657" v1="3042" v2="3728" v3="4272" />
+ <tetrahedron index="16580" v0="3042" v1="3728" v2="4272" v3="4657" />
+ <tetrahedron index="16581" v0="3014" v1="3109" v2="3117" v3="4629" />
+ <tetrahedron index="16582" v0="3109" v1="3117" v2="4629" v3="4724" />
+ <tetrahedron index="16583" v0="3117" v1="4629" v2="4724" v3="4732" />
+ <tetrahedron index="16584" v0="3109" v1="3117" v2="3130" v3="4724" />
+ <tetrahedron index="16585" v0="3117" v1="3130" v2="4724" v3="4732" />
+ <tetrahedron index="16586" v0="3130" v1="4724" v2="4732" v3="4745" />
+ <tetrahedron index="16587" v0="2604" v1="2605" v2="3043" v3="4219" />
+ <tetrahedron index="16588" v0="2605" v1="3043" v2="4219" v3="4220" />
+ <tetrahedron index="16589" v0="3043" v1="4219" v2="4220" v3="4658" />
+ <tetrahedron index="16590" v0="1970" v1="2604" v2="3043" v3="3585" />
+ <tetrahedron index="16591" v0="2604" v1="3043" v2="3585" v3="4219" />
+ <tetrahedron index="16592" v0="3043" v1="3585" v2="4219" v3="4658" />
+ <tetrahedron index="16593" v0="2473" v1="2830" v2="3132" v3="4088" />
+ <tetrahedron index="16594" v0="2830" v1="3132" v2="4088" v3="4445" />
+ <tetrahedron index="16595" v0="3132" v1="4088" v2="4445" v3="4747" />
+ <tetrahedron index="16596" v0="2473" v1="3110" v2="3132" v3="4088" />
+ <tetrahedron index="16597" v0="3110" v1="3132" v2="4088" v3="4725" />
+ <tetrahedron index="16598" v0="3132" v1="4088" v2="4725" v3="4747" />
+ <tetrahedron index="16599" v0="2708" v1="2710" v2="3045" v3="4323" />
+ <tetrahedron index="16600" v0="2710" v1="3045" v2="4323" v3="4325" />
+ <tetrahedron index="16601" v0="3045" v1="4323" v2="4325" v3="4660" />
+ <tetrahedron index="16602" v0="2708" v1="3006" v2="3045" v3="4323" />
+ <tetrahedron index="16603" v0="3006" v1="3045" v2="4323" v3="4621" />
+ <tetrahedron index="16604" v0="3045" v1="4323" v2="4621" v3="4660" />
+ <tetrahedron index="16605" v0="2746" v1="2748" v2="3080" v3="4361" />
+ <tetrahedron index="16606" v0="2748" v1="3080" v2="4361" v3="4363" />
+ <tetrahedron index="16607" v0="3080" v1="4361" v2="4363" v3="4695" />
+ <tetrahedron index="16608" v0="1711" v1="1808" v2="3119" v3="3326" />
+ <tetrahedron index="16609" v0="1808" v1="3119" v2="3326" v3="3423" />
+ <tetrahedron index="16610" v0="3119" v1="3326" v2="3423" v3="4734" />
+ <tetrahedron index="16611" v0="1711" v1="2324" v2="3119" v3="3326" />
+ <tetrahedron index="16612" v0="2324" v1="3119" v2="3326" v3="3939" />
+ <tetrahedron index="16613" v0="3119" v1="3326" v2="3939" v3="4734" />
+ <tetrahedron index="16614" v0="2653" v1="2871" v2="3109" v3="4268" />
+ <tetrahedron index="16615" v0="2871" v1="3109" v2="4268" v3="4486" />
+ <tetrahedron index="16616" v0="3109" v1="4268" v2="4486" v3="4724" />
+ <tetrahedron index="16617" v0="2871" v1="3129" v2="3130" v3="4486" />
+ <tetrahedron index="16618" v0="3129" v1="3130" v2="4486" v3="4744" />
+ <tetrahedron index="16619" v0="3130" v1="4486" v2="4744" v3="4745" />
+ <tetrahedron index="16620" v0="2871" v1="3109" v2="3130" v3="4486" />
+ <tetrahedron index="16621" v0="3109" v1="3130" v2="4486" v3="4724" />
+ <tetrahedron index="16622" v0="3130" v1="4486" v2="4724" v3="4745" />
+ <tetrahedron index="16623" v0="3014" v1="3016" v2="3079" v3="4629" />
+ <tetrahedron index="16624" v0="3016" v1="3079" v2="4629" v3="4631" />
+ <tetrahedron index="16625" v0="3079" v1="4629" v2="4631" v3="4694" />
+ <tetrahedron index="16626" v0="2121" v1="2627" v2="3133" v3="3736" />
+ <tetrahedron index="16627" v0="2627" v1="3133" v2="3736" v3="4242" />
+ <tetrahedron index="16628" v0="3133" v1="3736" v2="4242" v3="4748" />
+ <tetrahedron index="16629" v0="2121" v1="2821" v2="3133" v3="3736" />
+ <tetrahedron index="16630" v0="2821" v1="3133" v2="3736" v3="4436" />
+ <tetrahedron index="16631" v0="3133" v1="3736" v2="4436" v3="4748" />
+ <tetrahedron index="16632" v0="1844" v1="2425" v2="3134" v3="3459" />
+ <tetrahedron index="16633" v0="2425" v1="3134" v2="3459" v3="4040" />
+ <tetrahedron index="16634" v0="3134" v1="3459" v2="4040" v3="4749" />
+ <tetrahedron index="16635" v0="2432" v1="2434" v2="3052" v3="4047" />
+ <tetrahedron index="16636" v0="2434" v1="3052" v2="4047" v3="4049" />
+ <tetrahedron index="16637" v0="3052" v1="4047" v2="4049" v3="4667" />
+ <tetrahedron index="16638" v0="2432" v1="2454" v2="3052" v3="4047" />
+ <tetrahedron index="16639" v0="2454" v1="3052" v2="4047" v3="4069" />
+ <tetrahedron index="16640" v0="3052" v1="4047" v2="4069" v3="4667" />
+ <tetrahedron index="16641" v0="2538" v1="2539" v2="2960" v3="4153" />
+ <tetrahedron index="16642" v0="2539" v1="2960" v2="4153" v3="4154" />
+ <tetrahedron index="16643" v0="2960" v1="4153" v2="4154" v3="4575" />
+ <tetrahedron index="16644" v0="2447" v1="2539" v2="2960" v3="4062" />
+ <tetrahedron index="16645" v0="2539" v1="2960" v2="4062" v3="4154" />
+ <tetrahedron index="16646" v0="2960" v1="4062" v2="4154" v3="4575" />
+ <tetrahedron index="16647" v0="1678" v1="2432" v2="2977" v3="3293" />
+ <tetrahedron index="16648" v0="2432" v1="2977" v2="3293" v3="4047" />
+ <tetrahedron index="16649" v0="2977" v1="3293" v2="4047" v3="4592" />
+ <tetrahedron index="16650" v0="1677" v1="1678" v2="2977" v3="3292" />
+ <tetrahedron index="16651" v0="1678" v1="2977" v2="3292" v3="3293" />
+ <tetrahedron index="16652" v0="2977" v1="3292" v2="3293" v3="4592" />
+ <tetrahedron index="16653" v0="2049" v1="2072" v2="3054" v3="3664" />
+ <tetrahedron index="16654" v0="2072" v1="3054" v2="3664" v3="3687" />
+ <tetrahedron index="16655" v0="3054" v1="3664" v2="3687" v3="4669" />
+ <tetrahedron index="16656" v0="2049" v1="2540" v2="3054" v3="3664" />
+ <tetrahedron index="16657" v0="2540" v1="3054" v2="3664" v3="4155" />
+ <tetrahedron index="16658" v0="3054" v1="3664" v2="4155" v3="4669" />
+ <tetrahedron index="16659" v0="2116" v1="2233" v2="3135" v3="3731" />
+ <tetrahedron index="16660" v0="2233" v1="3135" v2="3731" v3="3848" />
+ <tetrahedron index="16661" v0="3135" v1="3731" v2="3848" v3="4750" />
+ <tetrahedron index="16662" v0="2098" v1="2365" v2="3056" v3="3713" />
+ <tetrahedron index="16663" v0="2365" v1="3056" v2="3713" v3="3980" />
+ <tetrahedron index="16664" v0="3056" v1="3713" v2="3980" v3="4671" />
+ <tetrahedron index="16665" v0="2562" v1="2670" v2="2863" v3="4177" />
+ <tetrahedron index="16666" v0="2670" v1="2863" v2="4177" v3="4285" />
+ <tetrahedron index="16667" v0="2863" v1="4177" v2="4285" v3="4478" />
+ <tetrahedron index="16668" v0="1796" v1="1907" v2="2210" v3="3411" />
+ <tetrahedron index="16669" v0="1907" v1="2210" v2="3411" v3="3522" />
+ <tetrahedron index="16670" v0="2210" v1="3411" v2="3522" v3="3825" />
+ <tetrahedron index="16671" v0="1796" v1="1797" v2="2210" v3="3411" />
+ <tetrahedron index="16672" v0="1797" v1="2210" v2="3411" v3="3412" />
+ <tetrahedron index="16673" v0="2210" v1="3411" v2="3412" v3="3825" />
+ <tetrahedron index="16674" v0="2009" v1="3046" v2="3047" v3="3624" />
+ <tetrahedron index="16675" v0="3046" v1="3047" v2="3624" v3="4661" />
+ <tetrahedron index="16676" v0="3047" v1="3624" v2="4661" v3="4662" />
+ <tetrahedron index="16677" v0="2007" v1="2009" v2="3047" v3="3622" />
+ <tetrahedron index="16678" v0="2009" v1="3047" v2="3622" v3="3624" />
+ <tetrahedron index="16679" v0="3047" v1="3622" v2="3624" v3="4662" />
+ <tetrahedron index="16680" v0="2571" v1="2573" v2="2821" v3="4186" />
+ <tetrahedron index="16681" v0="2573" v1="2821" v2="4186" v3="4188" />
+ <tetrahedron index="16682" v0="2821" v1="4186" v2="4188" v3="4436" />
+ <tetrahedron index="16683" v0="2713" v1="2802" v2="3108" v3="4328" />
+ <tetrahedron index="16684" v0="2802" v1="3108" v2="4328" v3="4417" />
+ <tetrahedron index="16685" v0="3108" v1="4328" v2="4417" v3="4723" />
+ <tetrahedron index="16686" v0="2810" v1="3037" v2="3085" v3="4425" />
+ <tetrahedron index="16687" v0="3037" v1="3085" v2="4425" v3="4652" />
+ <tetrahedron index="16688" v0="3085" v1="4425" v2="4652" v3="4700" />
+ <tetrahedron index="16689" v0="2853" v1="3037" v2="3085" v3="4468" />
+ <tetrahedron index="16690" v0="3037" v1="3085" v2="4468" v3="4652" />
+ <tetrahedron index="16691" v0="3085" v1="4468" v2="4652" v3="4700" />
+ <tetrahedron index="16692" v0="2395" v1="2797" v2="2977" v3="4010" />
+ <tetrahedron index="16693" v0="2797" v1="2977" v2="4010" v3="4412" />
+ <tetrahedron index="16694" v0="2977" v1="4010" v2="4412" v3="4592" />
+ <tetrahedron index="16695" v0="2797" v1="2956" v2="2977" v3="4412" />
+ <tetrahedron index="16696" v0="2956" v1="2977" v2="4412" v3="4571" />
+ <tetrahedron index="16697" v0="2977" v1="4412" v2="4571" v3="4592" />
+ <tetrahedron index="16698" v0="2939" v1="2988" v2="3136" v3="4554" />
+ <tetrahedron index="16699" v0="2988" v1="3136" v2="4554" v3="4603" />
+ <tetrahedron index="16700" v0="3136" v1="4554" v2="4603" v3="4751" />
+ <tetrahedron index="16701" v0="2910" v1="2989" v2="3051" v3="4525" />
+ <tetrahedron index="16702" v0="2989" v1="3051" v2="4525" v3="4604" />
+ <tetrahedron index="16703" v0="3051" v1="4525" v2="4604" v3="4666" />
+ <tetrahedron index="16704" v0="3098" v1="3137" v2="3138" v3="4713" />
+ <tetrahedron index="16705" v0="3137" v1="3138" v2="4713" v3="4752" />
+ <tetrahedron index="16706" v0="3138" v1="4713" v2="4752" v3="4753" />
+ <tetrahedron index="16707" v0="1929" v1="2962" v2="3013" v3="3544" />
+ <tetrahedron index="16708" v0="2962" v1="3013" v2="3544" v3="4577" />
+ <tetrahedron index="16709" v0="3013" v1="3544" v2="4577" v3="4628" />
+ <tetrahedron index="16710" v0="1929" v1="2075" v2="3013" v3="3544" />
+ <tetrahedron index="16711" v0="2075" v1="3013" v2="3544" v3="3690" />
+ <tetrahedron index="16712" v0="3013" v1="3544" v2="3690" v3="4628" />
+ <tetrahedron index="16713" v0="2183" v1="2187" v2="2796" v3="3798" />
+ <tetrahedron index="16714" v0="2187" v1="2796" v2="3798" v3="3802" />
+ <tetrahedron index="16715" v0="2796" v1="3798" v2="3802" v3="4411" />
+ <tetrahedron index="16716" v0="2187" v1="2796" v2="3063" v3="3802" />
+ <tetrahedron index="16717" v0="2796" v1="3063" v2="3802" v3="4411" />
+ <tetrahedron index="16718" v0="3063" v1="3802" v2="4411" v3="4678" />
+ <tetrahedron index="16719" v0="2261" v1="2537" v2="3077" v3="3876" />
+ <tetrahedron index="16720" v0="2537" v1="3077" v2="3876" v3="4152" />
+ <tetrahedron index="16721" v0="3077" v1="3876" v2="4152" v3="4692" />
+ <tetrahedron index="16722" v0="2662" v1="2690" v2="2739" v3="4277" />
+ <tetrahedron index="16723" v0="2690" v1="2739" v2="4277" v3="4305" />
+ <tetrahedron index="16724" v0="2739" v1="4277" v2="4305" v3="4354" />
+ <tetrahedron index="16725" v0="1805" v1="1806" v2="3039" v3="3420" />
+ <tetrahedron index="16726" v0="1806" v1="3039" v2="3420" v3="3421" />
+ <tetrahedron index="16727" v0="3039" v1="3420" v2="3421" v3="4654" />
+ <tetrahedron index="16728" v0="2167" v1="2376" v2="2468" v3="3782" />
+ <tetrahedron index="16729" v0="2376" v1="2468" v2="3782" v3="3991" />
+ <tetrahedron index="16730" v0="2468" v1="3782" v2="3991" v3="4083" />
+ <tetrahedron index="16731" v0="2029" v1="2030" v2="3059" v3="3644" />
+ <tetrahedron index="16732" v0="2030" v1="3059" v2="3644" v3="3645" />
+ <tetrahedron index="16733" v0="3059" v1="3644" v2="3645" v3="4674" />
+ <tetrahedron index="16734" v0="2127" v1="2304" v2="2800" v3="3742" />
+ <tetrahedron index="16735" v0="2304" v1="2800" v2="3742" v3="3919" />
+ <tetrahedron index="16736" v0="2800" v1="3742" v2="3919" v3="4415" />
+ <tetrahedron index="16737" v0="2326" v1="2328" v2="3139" v3="3941" />
+ <tetrahedron index="16738" v0="2328" v1="3139" v2="3941" v3="3943" />
+ <tetrahedron index="16739" v0="3139" v1="3941" v2="3943" v3="4754" />
+ <tetrahedron index="16740" v0="2326" v1="3058" v2="3139" v3="3941" />
+ <tetrahedron index="16741" v0="3058" v1="3139" v2="3941" v3="4673" />
+ <tetrahedron index="16742" v0="3139" v1="3941" v2="4673" v3="4754" />
+ <tetrahedron index="16743" v0="2346" v1="2347" v2="2527" v3="3961" />
+ <tetrahedron index="16744" v0="2347" v1="2527" v2="3961" v3="3962" />
+ <tetrahedron index="16745" v0="2527" v1="3961" v2="3962" v3="4142" />
+ <tetrahedron index="16746" v0="1871" v1="1874" v2="3140" v3="3486" />
+ <tetrahedron index="16747" v0="1874" v1="3140" v2="3486" v3="3489" />
+ <tetrahedron index="16748" v0="3140" v1="3486" v2="3489" v3="4755" />
+ <tetrahedron index="16749" v0="2620" v1="2621" v2="2906" v3="4235" />
+ <tetrahedron index="16750" v0="2621" v1="2906" v2="4235" v3="4236" />
+ <tetrahedron index="16751" v0="2906" v1="4235" v2="4236" v3="4521" />
+ <tetrahedron index="16752" v0="2751" v1="2926" v2="2927" v3="4366" />
+ <tetrahedron index="16753" v0="2926" v1="2927" v2="4366" v3="4541" />
+ <tetrahedron index="16754" v0="2927" v1="4366" v2="4541" v3="4542" />
+ <tetrahedron index="16755" v0="2676" v1="2677" v2="2840" v3="4291" />
+ <tetrahedron index="16756" v0="2677" v1="2840" v2="4291" v3="4292" />
+ <tetrahedron index="16757" v0="2840" v1="4291" v2="4292" v3="4455" />
+ <tetrahedron index="16758" v0="2255" v1="2256" v2="2280" v3="3870" />
+ <tetrahedron index="16759" v0="2256" v1="2280" v2="3870" v3="3871" />
+ <tetrahedron index="16760" v0="2280" v1="3870" v2="3871" v3="3895" />
+ <tetrahedron index="16761" v0="2221" v1="2480" v2="2792" v3="3836" />
+ <tetrahedron index="16762" v0="2480" v1="2792" v2="3836" v3="4095" />
+ <tetrahedron index="16763" v0="2792" v1="3836" v2="4095" v3="4407" />
+ <tetrahedron index="16764" v0="2005" v1="2602" v2="2934" v3="3620" />
+ <tetrahedron index="16765" v0="2602" v1="2934" v2="3620" v3="4217" />
+ <tetrahedron index="16766" v0="2934" v1="3620" v2="4217" v3="4549" />
+ <tetrahedron index="16767" v0="1805" v1="2974" v2="3141" v3="3420" />
+ <tetrahedron index="16768" v0="2974" v1="3141" v2="3420" v3="4589" />
+ <tetrahedron index="16769" v0="3141" v1="3420" v2="4589" v3="4756" />
+ <tetrahedron index="16770" v0="2786" v1="2951" v2="3062" v3="4401" />
+ <tetrahedron index="16771" v0="2951" v1="3062" v2="4401" v3="4566" />
+ <tetrahedron index="16772" v0="3062" v1="4401" v2="4566" v3="4677" />
+ <tetrahedron index="16773" v0="2549" v1="2551" v2="3048" v3="4164" />
+ <tetrahedron index="16774" v0="2551" v1="3048" v2="4164" v3="4166" />
+ <tetrahedron index="16775" v0="3048" v1="4164" v2="4166" v3="4663" />
+ <tetrahedron index="16776" v0="1641" v1="2450" v2="2704" v3="3256" />
+ <tetrahedron index="16777" v0="2450" v1="2704" v2="3256" v3="4065" />
+ <tetrahedron index="16778" v0="2704" v1="3256" v2="4065" v3="4319" />
+ <tetrahedron index="16779" v0="1800" v1="1801" v2="2845" v3="3415" />
+ <tetrahedron index="16780" v0="1801" v1="2845" v2="3415" v3="3416" />
+ <tetrahedron index="16781" v0="2845" v1="3415" v2="3416" v3="4460" />
+ <tetrahedron index="16782" v0="2880" v1="2910" v2="3009" v3="4495" />
+ <tetrahedron index="16783" v0="2910" v1="3009" v2="4495" v3="4525" />
+ <tetrahedron index="16784" v0="3009" v1="4495" v2="4525" v3="4624" />
+ <tetrahedron index="16785" v0="1925" v1="1926" v2="3125" v3="3540" />
+ <tetrahedron index="16786" v0="1926" v1="3125" v2="3540" v3="3541" />
+ <tetrahedron index="16787" v0="3125" v1="3540" v2="3541" v3="4740" />
+ <tetrahedron index="16788" v0="2519" v1="2923" v2="3142" v3="4134" />
+ <tetrahedron index="16789" v0="2923" v1="3142" v2="4134" v3="4538" />
+ <tetrahedron index="16790" v0="3142" v1="4134" v2="4538" v3="4757" />
+ <tetrahedron index="16791" v0="2080" v1="2293" v2="3143" v3="3695" />
+ <tetrahedron index="16792" v0="2293" v1="3143" v2="3695" v3="3908" />
+ <tetrahedron index="16793" v0="3143" v1="3695" v2="3908" v3="4758" />
+ <tetrahedron index="16794" v0="2413" v1="2748" v2="3144" v3="4028" />
+ <tetrahedron index="16795" v0="2748" v1="3144" v2="4028" v3="4363" />
+ <tetrahedron index="16796" v0="3144" v1="4028" v2="4363" v3="4759" />
+ <tetrahedron index="16797" v0="2534" v1="3145" v2="3146" v3="4149" />
+ <tetrahedron index="16798" v0="3145" v1="3146" v2="4149" v3="4760" />
+ <tetrahedron index="16799" v0="3146" v1="4149" v2="4760" v3="4761" />
+ <tetrahedron index="16800" v0="2430" v1="2534" v2="3146" v3="4045" />
+ <tetrahedron index="16801" v0="2534" v1="3146" v2="4045" v3="4149" />
+ <tetrahedron index="16802" v0="3146" v1="4045" v2="4149" v3="4761" />
+ <tetrahedron index="16803" v0="2176" v1="2451" v2="3005" v3="3791" />
+ <tetrahedron index="16804" v0="2451" v1="3005" v2="3791" v3="4066" />
+ <tetrahedron index="16805" v0="3005" v1="3791" v2="4066" v3="4620" />
+ <tetrahedron index="16806" v0="2527" v1="2548" v2="3147" v3="4142" />
+ <tetrahedron index="16807" v0="2548" v1="3147" v2="4142" v3="4163" />
+ <tetrahedron index="16808" v0="3147" v1="4142" v2="4163" v3="4762" />
+ <tetrahedron index="16809" v0="2386" v1="2997" v2="3148" v3="4001" />
+ <tetrahedron index="16810" v0="2997" v1="3148" v2="4001" v3="4612" />
+ <tetrahedron index="16811" v0="3148" v1="4001" v2="4612" v3="4763" />
+ <tetrahedron index="16812" v0="2413" v1="2542" v2="3144" v3="4028" />
+ <tetrahedron index="16813" v0="2542" v1="3144" v2="4028" v3="4157" />
+ <tetrahedron index="16814" v0="3144" v1="4028" v2="4157" v3="4759" />
+ <tetrahedron index="16815" v0="2210" v1="2575" v2="2583" v3="3825" />
+ <tetrahedron index="16816" v0="2575" v1="2583" v2="3825" v3="4190" />
+ <tetrahedron index="16817" v0="2583" v1="3825" v2="4190" v3="4198" />
+ <tetrahedron index="16818" v0="2210" v1="2211" v2="2583" v3="3825" />
+ <tetrahedron index="16819" v0="2211" v1="2583" v2="3825" v3="3826" />
+ <tetrahedron index="16820" v0="2583" v1="3825" v2="3826" v3="4198" />
+ <tetrahedron index="16821" v0="1805" v1="3039" v2="3149" v3="3420" />
+ <tetrahedron index="16822" v0="3039" v1="3149" v2="3420" v3="4654" />
+ <tetrahedron index="16823" v0="3149" v1="3420" v2="4654" v3="4764" />
+ <tetrahedron index="16824" v0="1696" v1="2013" v2="2028" v3="3311" />
+ <tetrahedron index="16825" v0="2013" v1="2028" v2="3311" v3="3628" />
+ <tetrahedron index="16826" v0="2028" v1="3311" v2="3628" v3="3643" />
+ <tetrahedron index="16827" v0="2554" v1="2571" v2="2572" v3="4169" />
+ <tetrahedron index="16828" v0="2571" v1="2572" v2="4169" v3="4186" />
+ <tetrahedron index="16829" v0="2572" v1="4169" v2="4186" v3="4187" />
+ <tetrahedron index="16830" v0="2054" v1="3078" v2="3150" v3="3669" />
+ <tetrahedron index="16831" v0="3078" v1="3150" v2="3669" v3="4693" />
+ <tetrahedron index="16832" v0="3150" v1="3669" v2="4693" v3="4765" />
+ <tetrahedron index="16833" v0="2054" v1="2694" v2="3150" v3="3669" />
+ <tetrahedron index="16834" v0="2694" v1="3150" v2="3669" v3="4309" />
+ <tetrahedron index="16835" v0="3150" v1="3669" v2="4309" v3="4765" />
+ <tetrahedron index="16836" v0="2004" v1="2005" v2="3151" v3="3619" />
+ <tetrahedron index="16837" v0="2005" v1="3151" v2="3619" v3="3620" />
+ <tetrahedron index="16838" v0="3151" v1="3619" v2="3620" v3="4766" />
+ <tetrahedron index="16839" v0="2241" v1="2979" v2="3152" v3="3856" />
+ <tetrahedron index="16840" v0="2979" v1="3152" v2="3856" v3="4594" />
+ <tetrahedron index="16841" v0="3152" v1="3856" v2="4594" v3="4767" />
+ <tetrahedron index="16842" v0="2844" v1="2985" v2="3153" v3="4459" />
+ <tetrahedron index="16843" v0="2985" v1="3153" v2="4459" v3="4600" />
+ <tetrahedron index="16844" v0="3153" v1="4459" v2="4600" v3="4768" />
+ <tetrahedron index="16845" v0="2743" v1="2920" v2="3154" v3="4358" />
+ <tetrahedron index="16846" v0="2920" v1="3154" v2="4358" v3="4535" />
+ <tetrahedron index="16847" v0="3154" v1="4358" v2="4535" v3="4769" />
+ <tetrahedron index="16848" v0="2305" v1="3107" v2="3155" v3="3920" />
+ <tetrahedron index="16849" v0="3107" v1="3155" v2="3920" v3="4722" />
+ <tetrahedron index="16850" v0="3155" v1="3920" v2="4722" v3="4770" />
+ <tetrahedron index="16851" v0="2643" v1="2999" v2="3156" v3="4258" />
+ <tetrahedron index="16852" v0="2999" v1="3156" v2="4258" v3="4614" />
+ <tetrahedron index="16853" v0="3156" v1="4258" v2="4614" v3="4771" />
+ <tetrahedron index="16854" v0="1730" v1="2944" v2="3157" v3="3345" />
+ <tetrahedron index="16855" v0="2944" v1="3157" v2="3345" v3="4559" />
+ <tetrahedron index="16856" v0="3157" v1="3345" v2="4559" v3="4772" />
+ <tetrahedron index="16857" v0="2677" v1="2840" v2="3158" v3="4292" />
+ <tetrahedron index="16858" v0="2840" v1="3158" v2="4292" v3="4455" />
+ <tetrahedron index="16859" v0="3158" v1="4292" v2="4455" v3="4773" />
+ <tetrahedron index="16860" v0="2748" v1="3080" v2="3159" v3="4363" />
+ <tetrahedron index="16861" v0="3080" v1="3159" v2="4363" v3="4695" />
+ <tetrahedron index="16862" v0="3159" v1="4363" v2="4695" v3="4774" />
+ <tetrahedron index="16863" v0="2413" v1="2748" v2="3159" v3="4028" />
+ <tetrahedron index="16864" v0="2748" v1="3159" v2="4028" v3="4363" />
+ <tetrahedron index="16865" v0="3159" v1="4028" v2="4363" v3="4774" />
+ <tetrahedron index="16866" v0="1887" v1="1938" v2="3066" v3="3502" />
+ <tetrahedron index="16867" v0="1938" v1="3066" v2="3502" v3="3553" />
+ <tetrahedron index="16868" v0="3066" v1="3502" v2="3553" v3="4681" />
+ <tetrahedron index="16869" v0="2165" v1="2476" v2="3160" v3="3780" />
+ <tetrahedron index="16870" v0="2476" v1="3160" v2="3780" v3="4091" />
+ <tetrahedron index="16871" v0="3160" v1="3780" v2="4091" v3="4775" />
+ <tetrahedron index="16872" v0="2162" v1="2163" v2="3161" v3="3777" />
+ <tetrahedron index="16873" v0="2163" v1="3161" v2="3777" v3="3778" />
+ <tetrahedron index="16874" v0="3161" v1="3777" v2="3778" v3="4776" />
+ <tetrahedron index="16875" v0="2831" v1="2855" v2="3162" v3="4446" />
+ <tetrahedron index="16876" v0="2855" v1="3162" v2="4446" v3="4470" />
+ <tetrahedron index="16877" v0="3162" v1="4446" v2="4470" v3="4777" />
+ <tetrahedron index="16878" v0="2713" v1="2994" v2="3108" v3="4328" />
+ <tetrahedron index="16879" v0="2994" v1="3108" v2="4328" v3="4609" />
+ <tetrahedron index="16880" v0="3108" v1="4328" v2="4609" v3="4723" />
+ <tetrahedron index="16881" v0="2591" v1="2620" v2="3065" v3="4206" />
+ <tetrahedron index="16882" v0="2620" v1="3065" v2="4206" v3="4235" />
+ <tetrahedron index="16883" v0="3065" v1="4206" v2="4235" v3="4680" />
+ <tetrahedron index="16884" v0="2653" v1="3014" v2="3015" v3="4268" />
+ <tetrahedron index="16885" v0="3014" v1="3015" v2="4268" v3="4629" />
+ <tetrahedron index="16886" v0="3015" v1="4268" v2="4629" v3="4630" />
+ <tetrahedron index="16887" v0="2631" v1="2633" v2="3163" v3="4246" />
+ <tetrahedron index="16888" v0="2633" v1="3163" v2="4246" v3="4248" />
+ <tetrahedron index="16889" v0="3163" v1="4246" v2="4248" v3="4778" />
+ <tetrahedron index="16890" v0="2857" v1="2981" v2="3164" v3="4472" />
+ <tetrahedron index="16891" v0="2981" v1="3164" v2="4472" v3="4596" />
+ <tetrahedron index="16892" v0="3164" v1="4472" v2="4596" v3="4779" />
+ <tetrahedron index="16893" v0="1928" v1="2714" v2="2984" v3="3543" />
+ <tetrahedron index="16894" v0="2714" v1="2984" v2="3543" v3="4329" />
+ <tetrahedron index="16895" v0="2984" v1="3543" v2="4329" v3="4599" />
+ <tetrahedron index="16896" v0="2427" v1="2565" v2="3165" v3="4042" />
+ <tetrahedron index="16897" v0="2565" v1="3165" v2="4042" v3="4180" />
+ <tetrahedron index="16898" v0="3165" v1="4042" v2="4180" v3="4780" />
+ <tetrahedron index="16899" v0="2565" v1="3111" v2="3165" v3="4180" />
+ <tetrahedron index="16900" v0="3111" v1="3165" v2="4180" v3="4726" />
+ <tetrahedron index="16901" v0="3165" v1="4180" v2="4726" v3="4780" />
+ <tetrahedron index="16902" v0="1805" v1="3141" v2="3166" v3="3420" />
+ <tetrahedron index="16903" v0="3141" v1="3166" v2="3420" v3="4756" />
+ <tetrahedron index="16904" v0="3166" v1="3420" v2="4756" v3="4781" />
+ <tetrahedron index="16905" v0="2345" v1="3166" v2="3167" v3="3960" />
+ <tetrahedron index="16906" v0="3166" v1="3167" v2="3960" v3="4781" />
+ <tetrahedron index="16907" v0="3167" v1="3960" v2="4781" v3="4782" />
+ <tetrahedron index="16908" v0="2429" v1="2431" v2="3168" v3="4044" />
+ <tetrahedron index="16909" v0="2431" v1="3168" v2="4044" v3="4046" />
+ <tetrahedron index="16910" v0="3168" v1="4044" v2="4046" v3="4783" />
+ <tetrahedron index="16911" v0="2429" v1="2497" v2="3168" v3="4044" />
+ <tetrahedron index="16912" v0="2497" v1="3168" v2="4044" v3="4112" />
+ <tetrahedron index="16913" v0="3168" v1="4044" v2="4112" v3="4783" />
+ <tetrahedron index="16914" v0="2211" v1="2583" v2="2991" v3="3826" />
+ <tetrahedron index="16915" v0="2583" v1="2991" v2="3826" v3="4198" />
+ <tetrahedron index="16916" v0="2991" v1="3826" v2="4198" v3="4606" />
+ <tetrahedron index="16917" v0="2583" v1="2584" v2="2991" v3="4198" />
+ <tetrahedron index="16918" v0="2584" v1="2991" v2="4198" v3="4199" />
+ <tetrahedron index="16919" v0="2991" v1="4198" v2="4199" v3="4606" />
+ <tetrahedron index="16920" v0="2457" v1="2906" v2="3169" v3="4072" />
+ <tetrahedron index="16921" v0="2906" v1="3169" v2="4072" v3="4521" />
+ <tetrahedron index="16922" v0="3169" v1="4072" v2="4521" v3="4784" />
+ <tetrahedron index="16923" v0="2952" v1="3089" v2="3111" v3="4567" />
+ <tetrahedron index="16924" v0="3089" v1="3111" v2="4567" v3="4704" />
+ <tetrahedron index="16925" v0="3111" v1="4567" v2="4704" v3="4726" />
+ <tetrahedron index="16926" v0="2022" v1="2345" v2="3167" v3="3637" />
+ <tetrahedron index="16927" v0="2345" v1="3167" v2="3637" v3="3960" />
+ <tetrahedron index="16928" v0="3167" v1="3637" v2="3960" v3="4782" />
+ <tetrahedron index="16929" v0="3004" v1="3064" v2="3170" v3="4619" />
+ <tetrahedron index="16930" v0="3064" v1="3170" v2="4619" v3="4679" />
+ <tetrahedron index="16931" v0="3170" v1="4619" v2="4679" v3="4785" />
+ <tetrahedron index="16932" v0="2030" v1="3059" v2="3171" v3="3645" />
+ <tetrahedron index="16933" v0="3059" v1="3171" v2="3645" v3="4674" />
+ <tetrahedron index="16934" v0="3171" v1="3645" v2="4674" v3="4786" />
+ <tetrahedron index="16935" v0="2388" v1="3078" v2="3172" v3="4003" />
+ <tetrahedron index="16936" v0="3078" v1="3172" v2="4003" v3="4693" />
+ <tetrahedron index="16937" v0="3172" v1="4003" v2="4693" v3="4787" />
+ <tetrahedron index="16938" v0="2496" v1="2628" v2="3049" v3="4111" />
+ <tetrahedron index="16939" v0="2628" v1="3049" v2="4111" v3="4243" />
+ <tetrahedron index="16940" v0="3049" v1="4111" v2="4243" v3="4664" />
+ <tetrahedron index="16941" v0="1976" v1="2683" v2="3173" v3="3591" />
+ <tetrahedron index="16942" v0="2683" v1="3173" v2="3591" v3="4298" />
+ <tetrahedron index="16943" v0="3173" v1="3591" v2="4298" v3="4788" />
+ <tetrahedron index="16944" v0="1976" v1="2426" v2="3173" v3="3591" />
+ <tetrahedron index="16945" v0="2426" v1="3173" v2="3591" v3="4041" />
+ <tetrahedron index="16946" v0="3173" v1="3591" v2="4041" v3="4788" />
+ <tetrahedron index="16947" v0="2830" v1="3132" v2="3174" v3="4445" />
+ <tetrahedron index="16948" v0="3132" v1="3174" v2="4445" v3="4747" />
+ <tetrahedron index="16949" v0="3174" v1="4445" v2="4747" v3="4789" />
+ <tetrahedron index="16950" v0="2096" v1="2727" v2="2924" v3="3711" />
+ <tetrahedron index="16951" v0="2727" v1="2924" v2="3711" v3="4342" />
+ <tetrahedron index="16952" v0="2924" v1="3711" v2="4342" v3="4539" />
+ <tetrahedron index="16953" v0="2727" v1="2924" v2="3052" v3="4342" />
+ <tetrahedron index="16954" v0="2924" v1="3052" v2="4342" v3="4539" />
+ <tetrahedron index="16955" v0="3052" v1="4342" v2="4539" v3="4667" />
+ <tetrahedron index="16956" v0="2489" v1="2845" v2="3175" v3="4104" />
+ <tetrahedron index="16957" v0="2845" v1="3175" v2="4104" v3="4460" />
+ <tetrahedron index="16958" v0="3175" v1="4104" v2="4460" v3="4790" />
+ <tetrahedron index="16959" v0="1851" v1="3082" v2="3118" v3="3466" />
+ <tetrahedron index="16960" v0="3082" v1="3118" v2="3466" v3="4697" />
+ <tetrahedron index="16961" v0="3118" v1="3466" v2="4697" v3="4733" />
+ <tetrahedron index="16962" v0="1919" v1="2962" v2="3086" v3="3534" />
+ <tetrahedron index="16963" v0="2962" v1="3086" v2="3534" v3="4577" />
+ <tetrahedron index="16964" v0="3086" v1="3534" v2="4577" v3="4701" />
+ <tetrahedron index="16965" v0="1867" v1="2135" v2="3072" v3="3482" />
+ <tetrahedron index="16966" v0="2135" v1="3072" v2="3482" v3="3750" />
+ <tetrahedron index="16967" v0="3072" v1="3482" v2="3750" v3="4687" />
+ <tetrahedron index="16968" v0="1935" v1="2353" v2="2599" v3="3550" />
+ <tetrahedron index="16969" v0="2353" v1="2599" v2="3550" v3="3968" />
+ <tetrahedron index="16970" v0="2599" v1="3550" v2="3968" v3="4214" />
+ <tetrahedron index="16971" v0="1888" v1="1935" v2="2353" v3="3503" />
+ <tetrahedron index="16972" v0="1935" v1="2353" v2="3503" v3="3550" />
+ <tetrahedron index="16973" v0="2353" v1="3503" v2="3550" v3="3968" />
+ <tetrahedron index="16974" v0="1682" v1="2606" v2="2860" v3="3297" />
+ <tetrahedron index="16975" v0="2606" v1="2860" v2="3297" v3="4221" />
+ <tetrahedron index="16976" v0="2860" v1="3297" v2="4221" v3="4475" />
+ <tetrahedron index="16977" v0="1682" v1="2860" v2="2861" v3="3297" />
+ <tetrahedron index="16978" v0="2860" v1="2861" v2="3297" v3="4475" />
+ <tetrahedron index="16979" v0="2861" v1="3297" v2="4475" v3="4476" />
+ <tetrahedron index="16980" v0="2203" v1="2256" v2="2287" v3="3818" />
+ <tetrahedron index="16981" v0="2256" v1="2287" v2="3818" v3="3871" />
+ <tetrahedron index="16982" v0="2287" v1="3818" v2="3871" v3="3902" />
+ <tetrahedron index="16983" v0="2203" v1="2273" v2="2287" v3="3818" />
+ <tetrahedron index="16984" v0="2273" v1="2287" v2="3818" v3="3888" />
+ <tetrahedron index="16985" v0="2287" v1="3818" v2="3888" v3="3902" />
+ <tetrahedron index="16986" v0="1883" v1="2261" v2="2536" v3="3498" />
+ <tetrahedron index="16987" v0="2261" v1="2536" v2="3498" v3="3876" />
+ <tetrahedron index="16988" v0="2536" v1="3498" v2="3876" v3="4151" />
+ <tetrahedron index="16989" v0="2261" v1="2536" v2="2537" v3="3876" />
+ <tetrahedron index="16990" v0="2536" v1="2537" v2="3876" v3="4151" />
+ <tetrahedron index="16991" v0="2537" v1="3876" v2="4151" v3="4152" />
+ <tetrahedron index="16992" v0="1894" v1="2610" v2="2951" v3="3509" />
+ <tetrahedron index="16993" v0="2610" v1="2951" v2="3509" v3="4225" />
+ <tetrahedron index="16994" v0="2951" v1="3509" v2="4225" v3="4566" />
+ <tetrahedron index="16995" v0="1894" v1="2951" v2="3024" v3="3509" />
+ <tetrahedron index="16996" v0="2951" v1="3024" v2="3509" v3="4566" />
+ <tetrahedron index="16997" v0="3024" v1="3509" v2="4566" v3="4639" />
+ <tetrahedron index="16998" v0="2051" v1="2490" v2="3003" v3="3666" />
+ <tetrahedron index="16999" v0="2490" v1="3003" v2="3666" v3="4105" />
+ <tetrahedron index="17000" v0="3003" v1="3666" v2="4105" v3="4618" />
+ <tetrahedron index="17001" v0="2051" v1="2836" v2="3003" v3="3666" />
+ <tetrahedron index="17002" v0="2836" v1="3003" v2="3666" v3="4451" />
+ <tetrahedron index="17003" v0="3003" v1="3666" v2="4451" v3="4618" />
+ <tetrahedron index="17004" v0="1773" v1="2362" v2="2646" v3="3388" />
+ <tetrahedron index="17005" v0="2362" v1="2646" v2="3388" v3="3977" />
+ <tetrahedron index="17006" v0="2646" v1="3388" v2="3977" v3="4261" />
+ <tetrahedron index="17007" v0="1773" v1="1775" v2="2362" v3="3388" />
+ <tetrahedron index="17008" v0="1775" v1="2362" v2="3388" v3="3390" />
+ <tetrahedron index="17009" v0="2362" v1="3388" v2="3390" v3="3977" />
+ <tetrahedron index="17010" v0="1743" v1="1744" v2="1807" v3="3358" />
+ <tetrahedron index="17011" v0="1744" v1="1807" v2="3358" v3="3359" />
+ <tetrahedron index="17012" v0="1807" v1="3358" v2="3359" v3="3422" />
+ <tetrahedron index="17013" v0="1744" v1="1806" v2="1807" v3="3359" />
+ <tetrahedron index="17014" v0="1806" v1="1807" v2="3359" v3="3421" />
+ <tetrahedron index="17015" v0="1807" v1="3359" v2="3421" v3="3422" />
+ <tetrahedron index="17016" v0="1674" v1="1761" v2="2720" v3="3289" />
+ <tetrahedron index="17017" v0="1761" v1="2720" v2="3289" v3="3376" />
+ <tetrahedron index="17018" v0="2720" v1="3289" v2="3376" v3="4335" />
+ <tetrahedron index="17019" v0="1674" v1="1761" v2="1763" v3="3289" />
+ <tetrahedron index="17020" v0="1761" v1="1763" v2="3289" v3="3376" />
+ <tetrahedron index="17021" v0="1763" v1="3289" v2="3376" v3="3378" />
+ <tetrahedron index="17022" v0="2823" v1="3011" v2="3105" v3="4438" />
+ <tetrahedron index="17023" v0="3011" v1="3105" v2="4438" v3="4626" />
+ <tetrahedron index="17024" v0="3105" v1="4438" v2="4626" v3="4720" />
+ <tetrahedron index="17025" v0="2756" v1="2823" v2="3105" v3="4371" />
+ <tetrahedron index="17026" v0="2823" v1="3105" v2="4371" v3="4438" />
+ <tetrahedron index="17027" v0="3105" v1="4371" v2="4438" v3="4720" />
+ <tetrahedron index="17028" v0="2616" v1="2735" v2="2782" v3="4231" />
+ <tetrahedron index="17029" v0="2735" v1="2782" v2="4231" v3="4350" />
+ <tetrahedron index="17030" v0="2782" v1="4231" v2="4350" v3="4397" />
+ <tetrahedron index="17031" v0="2314" v1="2616" v2="2782" v3="3929" />
+ <tetrahedron index="17032" v0="2616" v1="2782" v2="3929" v3="4231" />
+ <tetrahedron index="17033" v0="2782" v1="3929" v2="4231" v3="4397" />
+ <tetrahedron index="17034" v0="2300" v1="2301" v2="2311" v3="3915" />
+ <tetrahedron index="17035" v0="2301" v1="2311" v2="3915" v3="3916" />
+ <tetrahedron index="17036" v0="2311" v1="3915" v2="3916" v3="3926" />
+ <tetrahedron index="17037" v0="2301" v1="2311" v2="2553" v3="3916" />
+ <tetrahedron index="17038" v0="2311" v1="2553" v2="3916" v3="3926" />
+ <tetrahedron index="17039" v0="2553" v1="3916" v2="3926" v3="4168" />
+ <tetrahedron index="17040" v0="1802" v1="1803" v2="2659" v3="3417" />
+ <tetrahedron index="17041" v0="1803" v1="2659" v2="3417" v3="3418" />
+ <tetrahedron index="17042" v0="2659" v1="3417" v2="3418" v3="4274" />
+ <tetrahedron index="17043" v0="1803" v1="1996" v2="2659" v3="3418" />
+ <tetrahedron index="17044" v0="1996" v1="2659" v2="3418" v3="3611" />
+ <tetrahedron index="17045" v0="2659" v1="3418" v2="3611" v3="4274" />
+ <tetrahedron index="17046" v0="1644" v1="2358" v2="2360" v3="3259" />
+ <tetrahedron index="17047" v0="2358" v1="2360" v2="3259" v3="3973" />
+ <tetrahedron index="17048" v0="2360" v1="3259" v2="3973" v3="3975" />
+ <tetrahedron index="17049" v0="1642" v1="1644" v2="2360" v3="3257" />
+ <tetrahedron index="17050" v0="1644" v1="2360" v2="3257" v3="3259" />
+ <tetrahedron index="17051" v0="2360" v1="3257" v2="3259" v3="3975" />
+ <tetrahedron index="17052" v0="1625" v1="1829" v2="2095" v3="3240" />
+ <tetrahedron index="17053" v0="1829" v1="2095" v2="3240" v3="3444" />
+ <tetrahedron index="17054" v0="2095" v1="3240" v2="3444" v3="3710" />
+ <tetrahedron index="17055" v0="1743" v1="2297" v2="3060" v3="3358" />
+ <tetrahedron index="17056" v0="2297" v1="3060" v2="3358" v3="3912" />
+ <tetrahedron index="17057" v0="3060" v1="3358" v2="3912" v3="4675" />
+ <tetrahedron index="17058" v0="1743" v1="1745" v2="3060" v3="3358" />
+ <tetrahedron index="17059" v0="1745" v1="3060" v2="3358" v3="3360" />
+ <tetrahedron index="17060" v0="3060" v1="3358" v2="3360" v3="4675" />
+ <tetrahedron index="17061" v0="2602" v1="2934" v2="3176" v3="4217" />
+ <tetrahedron index="17062" v0="2934" v1="3176" v2="4217" v3="4549" />
+ <tetrahedron index="17063" v0="3176" v1="4217" v2="4549" v3="4791" />
+ <tetrahedron index="17064" v0="2567" v1="2602" v2="3176" v3="4182" />
+ <tetrahedron index="17065" v0="2602" v1="3176" v2="4182" v3="4217" />
+ <tetrahedron index="17066" v0="3176" v1="4182" v2="4217" v3="4791" />
+ <tetrahedron index="17067" v0="1800" v1="2465" v2="3075" v3="3415" />
+ <tetrahedron index="17068" v0="2465" v1="3075" v2="3415" v3="4080" />
+ <tetrahedron index="17069" v0="3075" v1="3415" v2="4080" v3="4690" />
+ <tetrahedron index="17070" v0="2465" v1="2537" v2="3075" v3="4080" />
+ <tetrahedron index="17071" v0="2537" v1="3075" v2="4080" v3="4152" />
+ <tetrahedron index="17072" v0="3075" v1="4080" v2="4152" v3="4690" />
+ <tetrahedron index="17073" v0="1964" v1="2047" v2="3140" v3="3579" />
+ <tetrahedron index="17074" v0="2047" v1="3140" v2="3579" v3="3662" />
+ <tetrahedron index="17075" v0="3140" v1="3579" v2="3662" v3="4755" />
+ <tetrahedron index="17076" v0="2047" v1="2899" v2="3140" v3="3662" />
+ <tetrahedron index="17077" v0="2899" v1="3140" v2="3662" v3="4514" />
+ <tetrahedron index="17078" v0="3140" v1="3662" v2="4514" v3="4755" />
+ <tetrahedron index="17079" v0="2048" v1="2201" v2="2523" v3="3663" />
+ <tetrahedron index="17080" v0="2201" v1="2523" v2="3663" v3="3816" />
+ <tetrahedron index="17081" v0="2523" v1="3663" v2="3816" v3="4138" />
+ <tetrahedron index="17082" v0="2047" v1="2048" v2="2523" v3="3662" />
+ <tetrahedron index="17083" v0="2048" v1="2523" v2="3662" v3="3663" />
+ <tetrahedron index="17084" v0="2523" v1="3662" v2="3663" v3="4138" />
+ <tetrahedron index="17085" v0="2030" v1="3030" v2="3031" v3="3645" />
+ <tetrahedron index="17086" v0="3030" v1="3031" v2="3645" v3="4645" />
+ <tetrahedron index="17087" v0="3031" v1="3645" v2="4645" v3="4646" />
+ <tetrahedron index="17088" v0="2030" v1="2031" v2="3030" v3="3645" />
+ <tetrahedron index="17089" v0="2031" v1="3030" v2="3645" v3="3646" />
+ <tetrahedron index="17090" v0="3030" v1="3645" v2="3646" v3="4645" />
+ <tetrahedron index="17091" v0="1755" v1="1937" v2="2415" v3="3370" />
+ <tetrahedron index="17092" v0="1937" v1="2415" v2="3370" v3="3552" />
+ <tetrahedron index="17093" v0="2415" v1="3370" v2="3552" v3="4030" />
+ <tetrahedron index="17094" v0="1936" v1="1937" v2="2415" v3="3551" />
+ <tetrahedron index="17095" v0="1937" v1="2415" v2="3551" v3="3552" />
+ <tetrahedron index="17096" v0="2415" v1="3551" v2="3552" v3="4030" />
+ <tetrahedron index="17097" v0="1623" v1="2614" v2="2621" v3="3238" />
+ <tetrahedron index="17098" v0="2614" v1="2621" v2="3238" v3="4229" />
+ <tetrahedron index="17099" v0="2621" v1="3238" v2="4229" v3="4236" />
+ <tetrahedron index="17100" v0="1622" v1="1623" v2="2621" v3="3237" />
+ <tetrahedron index="17101" v0="1623" v1="2621" v2="3237" v3="3238" />
+ <tetrahedron index="17102" v0="2621" v1="3237" v2="3238" v3="4236" />
+ <tetrahedron index="17103" v0="2371" v1="2873" v2="2875" v3="3986" />
+ <tetrahedron index="17104" v0="2873" v1="2875" v2="3986" v3="4488" />
+ <tetrahedron index="17105" v0="2875" v1="3986" v2="4488" v3="4490" />
+ <tetrahedron index="17106" v0="2299" v1="2371" v2="2875" v3="3914" />
+ <tetrahedron index="17107" v0="2371" v1="2875" v2="3914" v3="3986" />
+ <tetrahedron index="17108" v0="2875" v1="3914" v2="3986" v3="4490" />
+ <tetrahedron index="17109" v0="2569" v1="2721" v2="2927" v3="4184" />
+ <tetrahedron index="17110" v0="2721" v1="2927" v2="4184" v3="4336" />
+ <tetrahedron index="17111" v0="2927" v1="4184" v2="4336" v3="4542" />
+ <tetrahedron index="17112" v0="2603" v1="2721" v2="2927" v3="4218" />
+ <tetrahedron index="17113" v0="2721" v1="2927" v2="4218" v3="4336" />
+ <tetrahedron index="17114" v0="2927" v1="4218" v2="4336" v3="4542" />
+ <tetrahedron index="17115" v0="2267" v1="2369" v2="3176" v3="3882" />
+ <tetrahedron index="17116" v0="2369" v1="3176" v2="3882" v3="3984" />
+ <tetrahedron index="17117" v0="3176" v1="3882" v2="3984" v3="4791" />
+ <tetrahedron index="17118" v0="2090" v1="2369" v2="3176" v3="3705" />
+ <tetrahedron index="17119" v0="2369" v1="3176" v2="3705" v3="3984" />
+ <tetrahedron index="17120" v0="3176" v1="3705" v2="3984" v3="4791" />
+ <tetrahedron index="17121" v0="2329" v1="3026" v2="3104" v3="3944" />
+ <tetrahedron index="17122" v0="3026" v1="3104" v2="3944" v3="4641" />
+ <tetrahedron index="17123" v0="3104" v1="3944" v2="4641" v3="4719" />
+ <tetrahedron index="17124" v0="1906" v1="2329" v2="3104" v3="3521" />
+ <tetrahedron index="17125" v0="2329" v1="3104" v2="3521" v3="3944" />
+ <tetrahedron index="17126" v0="3104" v1="3521" v2="3944" v3="4719" />
+ <tetrahedron index="17127" v0="2819" v1="2862" v2="3120" v3="4434" />
+ <tetrahedron index="17128" v0="2862" v1="3120" v2="4434" v3="4477" />
+ <tetrahedron index="17129" v0="3120" v1="4434" v2="4477" v3="4735" />
+ <tetrahedron index="17130" v0="2762" v1="2819" v2="3120" v3="4377" />
+ <tetrahedron index="17131" v0="2819" v1="3120" v2="4377" v3="4434" />
+ <tetrahedron index="17132" v0="3120" v1="4377" v2="4434" v3="4735" />
+ <tetrahedron index="17133" v0="2880" v1="3041" v2="3177" v3="4495" />
+ <tetrahedron index="17134" v0="3041" v1="3177" v2="4495" v3="4656" />
+ <tetrahedron index="17135" v0="3177" v1="4495" v2="4656" v3="4792" />
+ <tetrahedron index="17136" v0="1813" v1="2826" v2="3178" v3="3428" />
+ <tetrahedron index="17137" v0="2826" v1="3178" v2="3428" v3="4441" />
+ <tetrahedron index="17138" v0="3178" v1="3428" v2="4441" v3="4793" />
+ <tetrahedron index="17139" v0="2650" v1="2897" v2="3012" v3="4265" />
+ <tetrahedron index="17140" v0="2897" v1="3012" v2="4265" v3="4512" />
+ <tetrahedron index="17141" v0="3012" v1="4265" v2="4512" v3="4627" />
+ <tetrahedron index="17142" v0="1810" v1="2902" v2="2935" v3="3425" />
+ <tetrahedron index="17143" v0="2902" v1="2935" v2="3425" v3="4517" />
+ <tetrahedron index="17144" v0="2935" v1="3425" v2="4517" v3="4550" />
+ <tetrahedron index="17145" v0="1810" v1="1901" v2="2935" v3="3425" />
+ <tetrahedron index="17146" v0="1901" v1="2935" v2="3425" v3="3516" />
+ <tetrahedron index="17147" v0="2935" v1="3425" v2="3516" v3="4550" />
+ <tetrahedron index="17148" v0="2436" v1="2978" v2="3114" v3="4051" />
+ <tetrahedron index="17149" v0="2978" v1="3114" v2="4051" v3="4593" />
+ <tetrahedron index="17150" v0="3114" v1="4051" v2="4593" v3="4729" />
+ <tetrahedron index="17151" v0="2436" v1="2437" v2="2978" v3="4051" />
+ <tetrahedron index="17152" v0="2437" v1="2978" v2="4051" v3="4052" />
+ <tetrahedron index="17153" v0="2978" v1="4051" v2="4052" v3="4593" />
+ <tetrahedron index="17154" v0="2746" v1="2911" v2="3077" v3="4361" />
+ <tetrahedron index="17155" v0="2911" v1="3077" v2="4361" v3="4526" />
+ <tetrahedron index="17156" v0="3077" v1="4361" v2="4526" v3="4692" />
+ <tetrahedron index="17157" v0="2746" v1="3077" v2="3081" v3="4361" />
+ <tetrahedron index="17158" v0="3077" v1="3081" v2="4361" v3="4692" />
+ <tetrahedron index="17159" v0="3081" v1="4361" v2="4692" v3="4696" />
+ <tetrahedron index="17160" v0="1912" v1="1925" v2="2580" v3="3527" />
+ <tetrahedron index="17161" v0="1925" v1="2580" v2="3527" v3="3540" />
+ <tetrahedron index="17162" v0="2580" v1="3527" v2="3540" v3="4195" />
+ <tetrahedron index="17163" v0="1912" v1="1913" v2="2580" v3="3527" />
+ <tetrahedron index="17164" v0="1913" v1="2580" v2="3527" v3="3528" />
+ <tetrahedron index="17165" v0="2580" v1="3527" v2="3528" v3="4195" />
+ <tetrahedron index="17166" v0="1914" v1="2150" v2="2401" v3="3529" />
+ <tetrahedron index="17167" v0="2150" v1="2401" v2="3529" v3="3765" />
+ <tetrahedron index="17168" v0="2401" v1="3529" v2="3765" v3="4016" />
+ <tetrahedron index="17169" v0="1914" v1="2401" v2="2580" v3="3529" />
+ <tetrahedron index="17170" v0="2401" v1="2580" v2="3529" v3="4016" />
+ <tetrahedron index="17171" v0="2580" v1="3529" v2="4016" v3="4195" />
+ <tetrahedron index="17172" v0="2604" v1="2609" v2="3028" v3="4219" />
+ <tetrahedron index="17173" v0="2609" v1="3028" v2="4219" v3="4224" />
+ <tetrahedron index="17174" v0="3028" v1="4219" v2="4224" v3="4643" />
+ <tetrahedron index="17175" v0="2604" v1="2609" v2="3068" v3="4219" />
+ <tetrahedron index="17176" v0="2609" v1="3068" v2="4219" v3="4224" />
+ <tetrahedron index="17177" v0="3068" v1="4219" v2="4224" v3="4683" />
+ <tetrahedron index="17178" v0="1774" v1="1775" v2="2259" v3="3389" />
+ <tetrahedron index="17179" v0="1775" v1="2259" v2="3389" v3="3390" />
+ <tetrahedron index="17180" v0="2259" v1="3389" v2="3390" v3="3874" />
+ <tetrahedron index="17181" v0="1775" v1="2259" v2="3025" v3="3390" />
+ <tetrahedron index="17182" v0="2259" v1="3025" v2="3390" v3="3874" />
+ <tetrahedron index="17183" v0="3025" v1="3390" v2="3874" v3="4640" />
+ <tetrahedron index="17184" v0="1636" v1="2681" v2="3073" v3="3251" />
+ <tetrahedron index="17185" v0="2681" v1="3073" v2="3251" v3="4296" />
+ <tetrahedron index="17186" v0="3073" v1="3251" v2="4296" v3="4688" />
+ <tetrahedron index="17187" v0="1636" v1="2887" v2="3073" v3="3251" />
+ <tetrahedron index="17188" v0="2887" v1="3073" v2="3251" v3="4502" />
+ <tetrahedron index="17189" v0="3073" v1="3251" v2="4502" v3="4688" />
+ <tetrahedron index="17190" v0="1675" v1="1810" v2="1900" v3="3290" />
+ <tetrahedron index="17191" v0="1810" v1="1900" v2="3290" v3="3425" />
+ <tetrahedron index="17192" v0="1900" v1="3290" v2="3425" v3="3515" />
+ <tetrahedron index="17193" v0="1673" v1="1675" v2="1900" v3="3288" />
+ <tetrahedron index="17194" v0="1675" v1="1900" v2="3288" v3="3290" />
+ <tetrahedron index="17195" v0="1900" v1="3288" v2="3290" v3="3515" />
+ <tetrahedron index="17196" v0="1877" v1="2012" v2="2504" v3="3492" />
+ <tetrahedron index="17197" v0="2012" v1="2504" v2="3492" v3="3627" />
+ <tetrahedron index="17198" v0="2504" v1="3492" v2="3627" v3="4119" />
+ <tetrahedron index="17199" v0="1877" v1="2504" v2="3179" v3="3492" />
+ <tetrahedron index="17200" v0="2504" v1="3179" v2="3492" v3="4119" />
+ <tetrahedron index="17201" v0="3179" v1="3492" v2="4119" v3="4794" />
+ <tetrahedron index="17202" v0="1703" v1="2416" v2="3180" v3="3318" />
+ <tetrahedron index="17203" v0="2416" v1="3180" v2="3318" v3="4031" />
+ <tetrahedron index="17204" v0="3180" v1="3318" v2="4031" v3="4795" />
+ <tetrahedron index="17205" v0="2416" v1="2489" v2="3180" v3="4031" />
+ <tetrahedron index="17206" v0="2489" v1="3180" v2="4031" v3="4104" />
+ <tetrahedron index="17207" v0="3180" v1="4031" v2="4104" v3="4795" />
+ <tetrahedron index="17208" v0="1836" v1="1837" v2="1839" v3="3451" />
+ <tetrahedron index="17209" v0="1837" v1="1839" v2="3451" v3="3452" />
+ <tetrahedron index="17210" v0="1839" v1="3451" v2="3452" v3="3454" />
+ <tetrahedron index="17211" v0="1837" v1="1838" v2="1839" v3="3452" />
+ <tetrahedron index="17212" v0="1838" v1="1839" v2="3452" v3="3453" />
+ <tetrahedron index="17213" v0="1839" v1="3452" v2="3453" v3="3454" />
+ <tetrahedron index="17214" v0="1874" v1="2084" v2="3140" v3="3489" />
+ <tetrahedron index="17215" v0="2084" v1="3140" v2="3489" v3="3699" />
+ <tetrahedron index="17216" v0="3140" v1="3489" v2="3699" v3="4755" />
+ <tetrahedron index="17217" v0="2325" v1="2517" v2="3181" v3="3940" />
+ <tetrahedron index="17218" v0="2517" v1="3181" v2="3940" v3="4132" />
+ <tetrahedron index="17219" v0="3181" v1="3940" v2="4132" v3="4796" />
+ <tetrahedron index="17220" v0="2513" v1="3020" v2="3182" v3="4128" />
+ <tetrahedron index="17221" v0="3020" v1="3182" v2="4128" v3="4635" />
+ <tetrahedron index="17222" v0="3182" v1="4128" v2="4635" v3="4797" />
+ <tetrahedron index="17223" v0="2064" v1="2504" v2="3182" v3="3679" />
+ <tetrahedron index="17224" v0="2504" v1="3182" v2="3679" v3="4119" />
+ <tetrahedron index="17225" v0="3182" v1="3679" v2="4119" v3="4797" />
+ <tetrahedron index="17226" v0="2859" v1="3183" v2="3184" v3="4474" />
+ <tetrahedron index="17227" v0="3183" v1="3184" v2="4474" v3="4798" />
+ <tetrahedron index="17228" v0="3184" v1="4474" v2="4798" v3="4799" />
+ <tetrahedron index="17229" v0="2527" v1="2528" v2="3185" v3="4142" />
+ <tetrahedron index="17230" v0="2528" v1="3185" v2="4142" v3="4143" />
+ <tetrahedron index="17231" v0="3185" v1="4142" v2="4143" v3="4800" />
+ <tetrahedron index="17232" v0="2212" v1="2488" v2="2572" v3="3827" />
+ <tetrahedron index="17233" v0="2488" v1="2572" v2="3827" v3="4103" />
+ <tetrahedron index="17234" v0="2572" v1="3827" v2="4103" v3="4187" />
+ <tetrahedron index="17235" v0="2180" v1="2582" v2="3181" v3="3795" />
+ <tetrahedron index="17236" v0="2582" v1="3181" v2="3795" v3="4197" />
+ <tetrahedron index="17237" v0="3181" v1="3795" v2="4197" v3="4796" />
+ <tetrahedron index="17238" v0="2411" v1="2542" v2="3186" v3="4026" />
+ <tetrahedron index="17239" v0="2542" v1="3186" v2="4026" v3="4157" />
+ <tetrahedron index="17240" v0="3186" v1="4026" v2="4157" v3="4801" />
+ <tetrahedron index="17241" v0="2411" v1="2416" v2="3186" v3="4026" />
+ <tetrahedron index="17242" v0="2416" v1="3186" v2="4026" v3="4031" />
+ <tetrahedron index="17243" v0="3186" v1="4026" v2="4031" v3="4801" />
+ <tetrahedron index="17244" v0="2638" v1="2673" v2="3187" v3="4253" />
+ <tetrahedron index="17245" v0="2673" v1="3187" v2="4253" v3="4288" />
+ <tetrahedron index="17246" v0="3187" v1="4253" v2="4288" v3="4802" />
+ <tetrahedron index="17247" v0="2671" v1="3124" v2="3188" v3="4286" />
+ <tetrahedron index="17248" v0="3124" v1="3188" v2="4286" v3="4739" />
+ <tetrahedron index="17249" v0="3188" v1="4286" v2="4739" v3="4803" />
+ <tetrahedron index="17250" v0="2405" v1="2406" v2="3019" v3="4020" />
+ <tetrahedron index="17251" v0="2406" v1="3019" v2="4020" v3="4021" />
+ <tetrahedron index="17252" v0="3019" v1="4020" v2="4021" v3="4634" />
+ <tetrahedron index="17253" v0="2406" v1="2662" v2="3019" v3="4021" />
+ <tetrahedron index="17254" v0="2662" v1="3019" v2="4021" v3="4277" />
+ <tetrahedron index="17255" v0="3019" v1="4021" v2="4277" v3="4634" />
+ <tetrahedron index="17256" v0="3189" v1="3190" v2="3191" v3="4804" />
+ <tetrahedron index="17257" v0="3190" v1="3191" v2="4804" v3="4805" />
+ <tetrahedron index="17258" v0="3191" v1="4804" v2="4805" v3="4806" />
+ <tetrahedron index="17259" v0="2304" v1="2800" v2="3192" v3="3919" />
+ <tetrahedron index="17260" v0="2800" v1="3192" v2="3919" v3="4415" />
+ <tetrahedron index="17261" v0="3192" v1="3919" v2="4415" v3="4807" />
+ <tetrahedron index="17262" v0="2304" v1="2837" v2="3192" v3="3919" />
+ <tetrahedron index="17263" v0="2837" v1="3192" v2="3919" v3="4452" />
+ <tetrahedron index="17264" v0="3192" v1="3919" v2="4452" v3="4807" />
+ <tetrahedron index="17265" v0="1845" v1="2711" v2="3156" v3="3460" />
+ <tetrahedron index="17266" v0="2711" v1="3156" v2="3460" v3="4326" />
+ <tetrahedron index="17267" v0="3156" v1="3460" v2="4326" v3="4771" />
+ <tetrahedron index="17268" v0="2262" v1="2756" v2="3152" v3="3877" />
+ <tetrahedron index="17269" v0="2756" v1="3152" v2="3877" v3="4371" />
+ <tetrahedron index="17270" v0="3152" v1="3877" v2="4371" v3="4767" />
+ <tetrahedron index="17271" v0="2669" v1="2694" v2="3155" v3="4284" />
+ <tetrahedron index="17272" v0="2694" v1="3155" v2="4284" v3="4309" />
+ <tetrahedron index="17273" v0="3155" v1="4284" v2="4309" v3="4770" />
+ <tetrahedron index="17274" v0="2628" v1="2738" v2="3191" v3="4243" />
+ <tetrahedron index="17275" v0="2738" v1="3191" v2="4243" v3="4353" />
+ <tetrahedron index="17276" v0="3191" v1="4243" v2="4353" v3="4806" />
+ <tetrahedron index="17277" v0="2831" v1="2835" v2="2840" v3="4446" />
+ <tetrahedron index="17278" v0="2835" v1="2840" v2="4446" v3="4450" />
+ <tetrahedron index="17279" v0="2840" v1="4446" v2="4450" v3="4455" />
+ <tetrahedron index="17280" v0="2735" v1="2782" v2="2838" v3="4350" />
+ <tetrahedron index="17281" v0="2782" v1="2838" v2="4350" v3="4397" />
+ <tetrahedron index="17282" v0="2838" v1="4350" v2="4397" v3="4453" />
+ <tetrahedron index="17283" v0="2570" v1="2664" v2="3158" v3="4185" />
+ <tetrahedron index="17284" v0="2664" v1="3158" v2="4185" v3="4279" />
+ <tetrahedron index="17285" v0="3158" v1="4185" v2="4279" v3="4773" />
+ <tetrahedron index="17286" v0="2762" v1="2819" v2="3193" v3="4377" />
+ <tetrahedron index="17287" v0="2819" v1="3193" v2="4377" v3="4434" />
+ <tetrahedron index="17288" v0="3193" v1="4377" v2="4434" v3="4808" />
+ <tetrahedron index="17289" v0="2762" v1="2763" v2="3193" v3="4377" />
+ <tetrahedron index="17290" v0="2763" v1="3193" v2="4377" v3="4378" />
+ <tetrahedron index="17291" v0="3193" v1="4377" v2="4378" v3="4808" />
+ <tetrahedron index="17292" v0="2869" v1="2906" v2="3157" v3="4484" />
+ <tetrahedron index="17293" v0="2906" v1="3157" v2="4484" v3="4521" />
+ <tetrahedron index="17294" v0="3157" v1="4484" v2="4521" v3="4772" />
+ <tetrahedron index="17295" v0="2859" v1="2915" v2="3183" v3="4474" />
+ <tetrahedron index="17296" v0="2915" v1="3183" v2="4474" v3="4530" />
+ <tetrahedron index="17297" v0="3183" v1="4474" v2="4530" v3="4798" />
+ <tetrahedron index="17298" v0="1657" v1="2461" v2="2924" v3="3272" />
+ <tetrahedron index="17299" v0="2461" v1="2924" v2="3272" v3="4076" />
+ <tetrahedron index="17300" v0="2924" v1="3272" v2="4076" v3="4539" />
+ <tetrahedron index="17301" v0="1657" v1="1939" v2="2461" v3="3272" />
+ <tetrahedron index="17302" v0="1939" v1="2461" v2="3272" v3="3554" />
+ <tetrahedron index="17303" v0="2461" v1="3272" v2="3554" v3="4076" />
+ <tetrahedron index="17304" v0="2286" v1="2932" v2="3194" v3="3901" />
+ <tetrahedron index="17305" v0="2932" v1="3194" v2="3901" v3="4547" />
+ <tetrahedron index="17306" v0="3194" v1="3901" v2="4547" v3="4809" />
+ <tetrahedron index="17307" v0="2180" v1="2941" v2="3195" v3="3795" />
+ <tetrahedron index="17308" v0="2941" v1="3195" v2="3795" v3="4556" />
+ <tetrahedron index="17309" v0="3195" v1="3795" v2="4556" v3="4810" />
+ <tetrahedron index="17310" v0="2725" v1="2726" v2="3164" v3="4340" />
+ <tetrahedron index="17311" v0="2726" v1="3164" v2="4340" v3="4341" />
+ <tetrahedron index="17312" v0="3164" v1="4340" v2="4341" v3="4779" />
+ <tetrahedron index="17313" v0="2946" v1="2949" v2="3196" v3="4561" />
+ <tetrahedron index="17314" v0="2949" v1="3196" v2="4561" v3="4564" />
+ <tetrahedron index="17315" v0="3196" v1="4561" v2="4564" v3="4811" />
+ <tetrahedron index="17316" v0="2917" v1="2981" v2="3103" v3="4532" />
+ <tetrahedron index="17317" v0="2981" v1="3103" v2="4532" v3="4596" />
+ <tetrahedron index="17318" v0="3103" v1="4532" v2="4596" v3="4718" />
+ <tetrahedron index="17319" v0="1910" v1="2545" v2="3197" v3="3525" />
+ <tetrahedron index="17320" v0="2545" v1="3197" v2="3525" v3="4160" />
+ <tetrahedron index="17321" v0="3197" v1="3525" v2="4160" v3="4812" />
+ <tetrahedron index="17322" v0="1849" v1="1910" v2="3197" v3="3464" />
+ <tetrahedron index="17323" v0="1910" v1="3197" v2="3464" v3="3525" />
+ <tetrahedron index="17324" v0="3197" v1="3464" v2="3525" v3="4812" />
+ <tetrahedron index="17325" v0="2384" v1="3058" v2="3198" v3="3999" />
+ <tetrahedron index="17326" v0="3058" v1="3198" v2="3999" v3="4673" />
+ <tetrahedron index="17327" v0="3198" v1="3999" v2="4673" v3="4813" />
+ <tetrahedron index="17328" v0="1924" v1="2384" v2="3198" v3="3539" />
+ <tetrahedron index="17329" v0="2384" v1="3198" v2="3539" v3="3999" />
+ <tetrahedron index="17330" v0="3198" v1="3539" v2="3999" v3="4813" />
+ <tetrahedron index="17331" v0="2807" v1="2933" v2="3184" v3="4422" />
+ <tetrahedron index="17332" v0="2933" v1="3184" v2="4422" v3="4548" />
+ <tetrahedron index="17333" v0="3184" v1="4422" v2="4548" v3="4799" />
+ <tetrahedron index="17334" v0="2807" v1="3183" v2="3184" v3="4422" />
+ <tetrahedron index="17335" v0="3183" v1="3184" v2="4422" v3="4798" />
+ <tetrahedron index="17336" v0="3184" v1="4422" v2="4798" v3="4799" />
+ <tetrahedron index="17337" v0="2793" v1="2968" v2="3163" v3="4408" />
+ <tetrahedron index="17338" v0="2968" v1="3163" v2="4408" v3="4583" />
+ <tetrahedron index="17339" v0="3163" v1="4408" v2="4583" v3="4778" />
+ <tetrahedron index="17340" v0="2909" v1="2966" v2="3008" v3="4524" />
+ <tetrahedron index="17341" v0="2966" v1="3008" v2="4524" v3="4581" />
+ <tetrahedron index="17342" v0="3008" v1="4524" v2="4581" v3="4623" />
+ <tetrahedron index="17343" v0="2966" v1="3008" v2="3199" v3="4581" />
+ <tetrahedron index="17344" v0="3008" v1="3199" v2="4581" v3="4623" />
+ <tetrahedron index="17345" v0="3199" v1="4581" v2="4623" v3="4814" />
+ <tetrahedron index="17346" v0="1972" v1="2363" v2="2970" v3="3587" />
+ <tetrahedron index="17347" v0="2363" v1="2970" v2="3587" v3="3978" />
+ <tetrahedron index="17348" v0="2970" v1="3587" v2="3978" v3="4585" />
+ <tetrahedron index="17349" v0="2639" v1="2752" v2="3187" v3="4254" />
+ <tetrahedron index="17350" v0="2752" v1="3187" v2="4254" v3="4367" />
+ <tetrahedron index="17351" v0="3187" v1="4254" v2="4367" v3="4802" />
+ <tetrahedron index="17352" v0="2638" v1="2639" v2="3187" v3="4253" />
+ <tetrahedron index="17353" v0="2639" v1="3187" v2="4253" v3="4254" />
+ <tetrahedron index="17354" v0="3187" v1="4253" v2="4254" v3="4802" />
+ <tetrahedron index="17355" v0="2069" v1="2170" v2="3200" v3="3684" />
+ <tetrahedron index="17356" v0="2170" v1="3200" v2="3684" v3="3785" />
+ <tetrahedron index="17357" v0="3200" v1="3684" v2="3785" v3="4815" />
+ <tetrahedron index="17358" v0="2170" v1="2498" v2="3200" v3="3785" />
+ <tetrahedron index="17359" v0="2498" v1="3200" v2="3785" v3="4113" />
+ <tetrahedron index="17360" v0="3200" v1="3785" v2="4113" v3="4815" />
+ <tetrahedron index="17361" v0="2581" v1="3098" v2="3121" v3="4196" />
+ <tetrahedron index="17362" v0="3098" v1="3121" v2="4196" v3="4713" />
+ <tetrahedron index="17363" v0="3121" v1="4196" v2="4713" v3="4736" />
+ <tetrahedron index="17364" v0="2579" v1="2999" v2="3201" v3="4194" />
+ <tetrahedron index="17365" v0="2999" v1="3201" v2="4194" v3="4614" />
+ <tetrahedron index="17366" v0="3201" v1="4194" v2="4614" v3="4816" />
+ <tetrahedron index="17367" v0="2579" v1="3133" v2="3201" v3="4194" />
+ <tetrahedron index="17368" v0="3133" v1="3201" v2="4194" v3="4748" />
+ <tetrahedron index="17369" v0="3201" v1="4194" v2="4748" v3="4816" />
+ <tetrahedron index="17370" v0="2855" v1="2857" v2="3202" v3="4470" />
+ <tetrahedron index="17371" v0="2857" v1="3202" v2="4470" v3="4472" />
+ <tetrahedron index="17372" v0="3202" v1="4470" v2="4472" v3="4817" />
+ <tetrahedron index="17373" v0="2855" v1="3162" v2="3202" v3="4470" />
+ <tetrahedron index="17374" v0="3162" v1="3202" v2="4470" v3="4777" />
+ <tetrahedron index="17375" v0="3202" v1="4470" v2="4777" v3="4817" />
+ <tetrahedron index="17376" v0="2997" v1="3004" v2="3005" v3="4612" />
+ <tetrahedron index="17377" v0="3004" v1="3005" v2="4612" v3="4619" />
+ <tetrahedron index="17378" v0="3005" v1="4612" v2="4619" v3="4620" />
+ <tetrahedron index="17379" v0="2712" v1="2980" v2="3015" v3="4327" />
+ <tetrahedron index="17380" v0="2980" v1="3015" v2="4327" v3="4595" />
+ <tetrahedron index="17381" v0="3015" v1="4327" v2="4595" v3="4630" />
+ <tetrahedron index="17382" v0="2143" v1="2727" v2="3203" v3="3758" />
+ <tetrahedron index="17383" v0="2727" v1="3203" v2="3758" v3="4342" />
+ <tetrahedron index="17384" v0="3203" v1="3758" v2="4342" v3="4818" />
+ <tetrahedron index="17385" v0="2143" v1="2796" v2="3203" v3="3758" />
+ <tetrahedron index="17386" v0="2796" v1="3203" v2="3758" v3="4411" />
+ <tetrahedron index="17387" v0="3203" v1="3758" v2="4411" v3="4818" />
+ <tetrahedron index="17388" v0="2606" v1="3020" v2="3136" v3="4221" />
+ <tetrahedron index="17389" v0="3020" v1="3136" v2="4221" v3="4635" />
+ <tetrahedron index="17390" v0="3136" v1="4221" v2="4635" v3="4751" />
+ <tetrahedron index="17391" v0="2988" v1="3020" v2="3136" v3="4603" />
+ <tetrahedron index="17392" v0="3020" v1="3136" v2="4603" v3="4635" />
+ <tetrahedron index="17393" v0="3136" v1="4603" v2="4635" v3="4751" />
+ <tetrahedron index="17394" v0="2954" v1="2955" v2="3049" v3="4569" />
+ <tetrahedron index="17395" v0="2955" v1="3049" v2="4569" v3="4570" />
+ <tetrahedron index="17396" v0="3049" v1="4569" v2="4570" v3="4664" />
+ <tetrahedron index="17397" v0="2296" v1="2297" v2="3057" v3="3911" />
+ <tetrahedron index="17398" v0="2297" v1="3057" v2="3911" v3="3912" />
+ <tetrahedron index="17399" v0="3057" v1="3911" v2="3912" v3="4672" />
+ <tetrahedron index="17400" v0="2347" v1="2598" v2="3061" v3="3962" />
+ <tetrahedron index="17401" v0="2598" v1="3061" v2="3962" v3="4213" />
+ <tetrahedron index="17402" v0="3061" v1="3962" v2="4213" v3="4676" />
+ <tetrahedron index="17403" v0="2457" v1="2906" v2="3065" v3="4072" />
+ <tetrahedron index="17404" v0="2906" v1="3065" v2="4072" v3="4521" />
+ <tetrahedron index="17405" v0="3065" v1="4072" v2="4521" v3="4680" />
+ <tetrahedron index="17406" v0="2088" v1="2849" v2="3204" v3="3703" />
+ <tetrahedron index="17407" v0="2849" v1="3204" v2="3703" v3="4464" />
+ <tetrahedron index="17408" v0="3204" v1="3703" v2="4464" v3="4819" />
+ <tetrahedron index="17409" v0="3075" v1="3076" v2="3081" v3="4690" />
+ <tetrahedron index="17410" v0="3076" v1="3081" v2="4690" v3="4691" />
+ <tetrahedron index="17411" v0="3081" v1="4690" v2="4691" v3="4696" />
+ <tetrahedron index="17412" v0="3076" v1="3077" v2="3081" v3="4691" />
+ <tetrahedron index="17413" v0="3077" v1="3081" v2="4691" v3="4692" />
+ <tetrahedron index="17414" v0="3081" v1="4691" v2="4692" v3="4696" />
+ <tetrahedron index="17415" v0="1698" v1="2029" v2="3123" v3="3313" />
+ <tetrahedron index="17416" v0="2029" v1="3123" v2="3313" v3="3644" />
+ <tetrahedron index="17417" v0="3123" v1="3313" v2="3644" v3="4738" />
+ <tetrahedron index="17418" v0="2029" v1="3059" v2="3123" v3="3644" />
+ <tetrahedron index="17419" v0="3059" v1="3123" v2="3644" v3="4674" />
+ <tetrahedron index="17420" v0="3123" v1="3644" v2="4674" v3="4738" />
+ <tetrahedron index="17421" v0="2792" v1="2808" v2="3088" v3="4407" />
+ <tetrahedron index="17422" v0="2808" v1="3088" v2="4407" v3="4423" />
+ <tetrahedron index="17423" v0="3088" v1="4407" v2="4423" v3="4703" />
+ <tetrahedron index="17424" v0="2965" v1="3205" v2="3206" v3="4580" />
+ <tetrahedron index="17425" v0="3205" v1="3206" v2="4580" v3="4820" />
+ <tetrahedron index="17426" v0="3206" v1="4580" v2="4820" v3="4821" />
+ <tetrahedron index="17427" v0="2044" v1="2320" v2="3092" v3="3659" />
+ <tetrahedron index="17428" v0="2320" v1="3092" v2="3659" v3="3935" />
+ <tetrahedron index="17429" v0="3092" v1="3659" v2="3935" v3="4707" />
+ <tetrahedron index="17430" v0="2320" v1="2968" v2="3092" v3="3935" />
+ <tetrahedron index="17431" v0="2968" v1="3092" v2="3935" v3="4583" />
+ <tetrahedron index="17432" v0="3092" v1="3935" v2="4583" v3="4707" />
+ <tetrahedron index="17433" v0="1616" v1="1725" v2="3094" v3="3231" />
+ <tetrahedron index="17434" v0="1725" v1="3094" v2="3231" v3="3340" />
+ <tetrahedron index="17435" v0="3094" v1="3231" v2="3340" v3="4709" />
+ <tetrahedron index="17436" v0="1616" v1="1998" v2="3094" v3="3231" />
+ <tetrahedron index="17437" v0="1998" v1="3094" v2="3231" v3="3613" />
+ <tetrahedron index="17438" v0="3094" v1="3231" v2="3613" v3="4709" />
+ <tetrahedron index="17439" v0="2815" v1="2889" v2="3196" v3="4430" />
+ <tetrahedron index="17440" v0="2889" v1="3196" v2="4430" v3="4504" />
+ <tetrahedron index="17441" v0="3196" v1="4430" v2="4504" v3="4811" />
+ <tetrahedron index="17442" v0="2908" v1="2909" v2="2964" v3="4523" />
+ <tetrahedron index="17443" v0="2909" v1="2964" v2="4523" v3="4524" />
+ <tetrahedron index="17444" v0="2964" v1="4523" v2="4524" v3="4579" />
+ <tetrahedron index="17445" v0="2909" v1="2964" v2="2966" v3="4524" />
+ <tetrahedron index="17446" v0="2964" v1="2966" v2="4524" v3="4579" />
+ <tetrahedron index="17447" v0="2966" v1="4524" v2="4579" v3="4581" />
+ <tetrahedron index="17448" v0="2162" v1="3055" v2="3207" v3="3777" />
+ <tetrahedron index="17449" v0="3055" v1="3207" v2="3777" v3="4670" />
+ <tetrahedron index="17450" v0="3207" v1="3777" v2="4670" v3="4822" />
+ <tetrahedron index="17451" v0="2162" v1="3161" v2="3207" v3="3777" />
+ <tetrahedron index="17452" v0="3161" v1="3207" v2="3777" v3="4776" />
+ <tetrahedron index="17453" v0="3207" v1="3777" v2="4776" v3="4822" />
+ <tetrahedron index="17454" v0="2517" v1="2518" v2="3195" v3="4132" />
+ <tetrahedron index="17455" v0="2518" v1="3195" v2="4132" v3="4133" />
+ <tetrahedron index="17456" v0="3195" v1="4132" v2="4133" v3="4810" />
+ <tetrahedron index="17457" v0="2518" v1="2941" v2="3195" v3="4133" />
+ <tetrahedron index="17458" v0="2941" v1="3195" v2="4133" v3="4556" />
+ <tetrahedron index="17459" v0="3195" v1="4133" v2="4556" v3="4810" />
+ <tetrahedron index="17460" v0="2955" v1="3050" v2="3189" v3="4570" />
+ <tetrahedron index="17461" v0="3050" v1="3189" v2="4570" v3="4665" />
+ <tetrahedron index="17462" v0="3189" v1="4570" v2="4665" v3="4804" />
+ <tetrahedron index="17463" v0="2955" v1="3049" v2="3050" v3="4570" />
+ <tetrahedron index="17464" v0="3049" v1="3050" v2="4570" v3="4664" />
+ <tetrahedron index="17465" v0="3050" v1="4570" v2="4664" v3="4665" />
+ <tetrahedron index="17466" v0="2489" v1="2845" v2="3208" v3="4104" />
+ <tetrahedron index="17467" v0="2845" v1="3208" v2="4104" v3="4460" />
+ <tetrahedron index="17468" v0="3208" v1="4104" v2="4460" v3="4823" />
+ <tetrahedron index="17469" v0="2412" v1="2489" v2="3208" v3="4027" />
+ <tetrahedron index="17470" v0="2489" v1="3208" v2="4027" v3="4104" />
+ <tetrahedron index="17471" v0="3208" v1="4027" v2="4104" v3="4823" />
+ <tetrahedron index="17472" v0="2904" v1="2939" v2="3209" v3="4519" />
+ <tetrahedron index="17473" v0="2939" v1="3209" v2="4519" v3="4554" />
+ <tetrahedron index="17474" v0="3209" v1="4519" v2="4554" v3="4824" />
+ <tetrahedron index="17475" v0="2315" v1="3115" v2="3123" v3="3930" />
+ <tetrahedron index="17476" v0="3115" v1="3123" v2="3930" v3="4730" />
+ <tetrahedron index="17477" v0="3123" v1="3930" v2="4730" v3="4738" />
+ <tetrahedron index="17478" v0="1973" v1="2502" v2="3116" v3="3588" />
+ <tetrahedron index="17479" v0="2502" v1="3116" v2="3588" v3="4117" />
+ <tetrahedron index="17480" v0="3116" v1="3588" v2="4117" v3="4731" />
+ <tetrahedron index="17481" v0="2095" v1="2961" v2="3210" v3="3710" />
+ <tetrahedron index="17482" v0="2961" v1="3210" v2="3710" v3="4576" />
+ <tetrahedron index="17483" v0="3210" v1="3710" v2="4576" v3="4825" />
+ <tetrahedron index="17484" v0="1829" v1="2095" v2="3210" v3="3444" />
+ <tetrahedron index="17485" v0="2095" v1="3210" v2="3444" v3="3710" />
+ <tetrahedron index="17486" v0="3210" v1="3444" v2="3710" v3="4825" />
+ <tetrahedron index="17487" v0="3102" v1="3126" v2="3211" v3="4717" />
+ <tetrahedron index="17488" v0="3126" v1="3211" v2="4717" v3="4741" />
+ <tetrahedron index="17489" v0="3211" v1="4717" v2="4741" v3="4826" />
+ <tetrahedron index="17490" v0="1932" v1="3127" v2="3212" v3="3547" />
+ <tetrahedron index="17491" v0="3127" v1="3212" v2="3547" v3="4742" />
+ <tetrahedron index="17492" v0="3212" v1="3547" v2="4742" v3="4827" />
+ <tetrahedron index="17493" v0="2025" v1="2046" v2="3213" v3="3640" />
+ <tetrahedron index="17494" v0="2046" v1="3213" v2="3640" v3="3661" />
+ <tetrahedron index="17495" v0="3213" v1="3640" v2="3661" v3="4828" />
+ <tetrahedron index="17496" v0="2046" v1="3072" v2="3213" v3="3661" />
+ <tetrahedron index="17497" v0="3072" v1="3213" v2="3661" v3="4687" />
+ <tetrahedron index="17498" v0="3213" v1="3661" v2="4687" v3="4828" />
+ <tetrahedron index="17499" v0="2980" v1="3015" v2="3016" v3="4595" />
+ <tetrahedron index="17500" v0="3015" v1="3016" v2="4595" v3="4630" />
+ <tetrahedron index="17501" v0="3016" v1="4595" v2="4630" v3="4631" />
+ <tetrahedron index="17502" v0="3134" v1="3138" v2="3207" v3="4749" />
+ <tetrahedron index="17503" v0="3138" v1="3207" v2="4749" v3="4753" />
+ <tetrahedron index="17504" v0="3207" v1="4749" v2="4753" v3="4822" />
+ <tetrahedron index="17505" v0="2476" v1="3160" v2="3214" v3="4091" />
+ <tetrahedron index="17506" v0="3160" v1="3214" v2="4091" v3="4775" />
+ <tetrahedron index="17507" v0="3214" v1="4091" v2="4775" v3="4829" />
+ <tetrahedron index="17508" v0="2631" v1="2654" v2="3093" v3="4246" />
+ <tetrahedron index="17509" v0="2654" v1="3093" v2="4246" v3="4269" />
+ <tetrahedron index="17510" v0="3093" v1="4246" v2="4269" v3="4708" />
+ <tetrahedron index="17511" v0="2654" v1="3092" v2="3093" v3="4269" />
+ <tetrahedron index="17512" v0="3092" v1="3093" v2="4269" v3="4707" />
+ <tetrahedron index="17513" v0="3093" v1="4269" v2="4707" v3="4708" />
+ <tetrahedron index="17514" v0="1986" v1="2844" v2="3185" v3="3601" />
+ <tetrahedron index="17515" v0="2844" v1="3185" v2="3601" v3="4459" />
+ <tetrahedron index="17516" v0="3185" v1="3601" v2="4459" v3="4800" />
+ <tetrahedron index="17517" v0="1986" v1="2528" v2="3185" v3="3601" />
+ <tetrahedron index="17518" v0="2528" v1="3185" v2="3601" v3="4143" />
+ <tetrahedron index="17519" v0="3185" v1="3601" v2="4143" v3="4800" />
+ <tetrahedron index="17520" v0="2821" v1="3133" v2="3215" v3="4436" />
+ <tetrahedron index="17521" v0="3133" v1="3215" v2="4436" v3="4748" />
+ <tetrahedron index="17522" v0="3215" v1="4436" v2="4748" v3="4830" />
+ <tetrahedron index="17523" v0="2488" v1="2572" v2="2573" v3="4103" />
+ <tetrahedron index="17524" v0="2572" v1="2573" v2="4103" v3="4187" />
+ <tetrahedron index="17525" v0="2573" v1="4103" v2="4187" v3="4188" />
+ <tetrahedron index="17526" v0="3055" v1="3056" v2="3137" v3="4670" />
+ <tetrahedron index="17527" v0="3056" v1="3137" v2="4670" v3="4671" />
+ <tetrahedron index="17528" v0="3137" v1="4670" v2="4671" v3="4752" />
+ <tetrahedron index="17529" v0="1959" v1="2847" v2="3216" v3="3574" />
+ <tetrahedron index="17530" v0="2847" v1="3216" v2="3574" v3="4462" />
+ <tetrahedron index="17531" v0="3216" v1="3574" v2="4462" v3="4831" />
+ <tetrahedron index="17532" v0="2847" v1="2848" v2="3216" v3="4462" />
+ <tetrahedron index="17533" v0="2848" v1="3216" v2="4462" v3="4463" />
+ <tetrahedron index="17534" v0="3216" v1="4462" v2="4463" v3="4831" />
+ <tetrahedron index="17535" v0="1725" v1="2870" v2="3142" v3="3340" />
+ <tetrahedron index="17536" v0="2870" v1="3142" v2="3340" v3="4485" />
+ <tetrahedron index="17537" v0="3142" v1="3340" v2="4485" v3="4757" />
+ <tetrahedron index="17538" v0="1725" v1="2923" v2="3142" v3="3340" />
+ <tetrahedron index="17539" v0="2923" v1="3142" v2="3340" v3="4538" />
+ <tetrahedron index="17540" v0="3142" v1="3340" v2="4538" v3="4757" />
+ <tetrahedron index="17541" v0="2310" v1="3060" v2="3143" v3="3925" />
+ <tetrahedron index="17542" v0="3060" v1="3143" v2="3925" v3="4675" />
+ <tetrahedron index="17543" v0="3143" v1="3925" v2="4675" v3="4758" />
+ <tetrahedron index="17544" v0="2502" v1="2556" v2="3145" v3="4117" />
+ <tetrahedron index="17545" v0="2556" v1="3145" v2="4117" v3="4171" />
+ <tetrahedron index="17546" v0="3145" v1="4117" v2="4171" v3="4760" />
+ <tetrahedron index="17547" v0="2502" v1="3145" v2="3217" v3="4117" />
+ <tetrahedron index="17548" v0="3145" v1="3217" v2="4117" v3="4760" />
+ <tetrahedron index="17549" v0="3217" v1="4117" v2="4760" v3="4832" />
+ <tetrahedron index="17550" v0="2556" v1="3145" v2="3146" v3="4171" />
+ <tetrahedron index="17551" v0="3145" v1="3146" v2="4171" v3="4760" />
+ <tetrahedron index="17552" v0="3146" v1="4171" v2="4760" v3="4761" />
+ <tetrahedron index="17553" v0="2347" v1="2527" v2="3147" v3="3962" />
+ <tetrahedron index="17554" v0="2527" v1="3147" v2="3962" v3="4142" />
+ <tetrahedron index="17555" v0="3147" v1="3962" v2="4142" v3="4762" />
+ <tetrahedron index="17556" v0="2347" v1="2598" v2="3147" v3="3962" />
+ <tetrahedron index="17557" v0="2598" v1="3147" v2="3962" v3="4213" />
+ <tetrahedron index="17558" v0="3147" v1="3962" v2="4213" v3="4762" />
+ <tetrahedron index="17559" v0="2350" v1="2451" v2="3148" v3="3965" />
+ <tetrahedron index="17560" v0="2451" v1="3148" v2="3965" v3="4066" />
+ <tetrahedron index="17561" v0="3148" v1="3965" v2="4066" v3="4763" />
+ <tetrahedron index="17562" v0="2747" v1="2748" v2="3144" v3="4362" />
+ <tetrahedron index="17563" v0="2748" v1="3144" v2="4362" v3="4363" />
+ <tetrahedron index="17564" v0="3144" v1="4362" v2="4363" v3="4759" />
+ <tetrahedron index="17565" v0="1984" v1="2173" v2="3218" v3="3599" />
+ <tetrahedron index="17566" v0="2173" v1="3218" v2="3599" v3="3788" />
+ <tetrahedron index="17567" v0="3218" v1="3599" v2="3788" v3="4833" />
+ <tetrahedron index="17568" v0="2173" v1="2879" v2="3218" v3="3788" />
+ <tetrahedron index="17569" v0="2879" v1="3218" v2="3788" v3="4494" />
+ <tetrahedron index="17570" v0="3218" v1="3788" v2="4494" v3="4833" />
+ <tetrahedron index="17571" v0="1647" v1="2277" v2="3217" v3="3262" />
+ <tetrahedron index="17572" v0="2277" v1="3217" v2="3262" v3="3892" />
+ <tetrahedron index="17573" v0="3217" v1="3262" v2="3892" v3="4832" />
+ <tetrahedron index="17574" v0="2403" v1="2420" v2="3149" v3="4018" />
+ <tetrahedron index="17575" v0="2420" v1="3149" v2="4018" v3="4035" />
+ <tetrahedron index="17576" v0="3149" v1="4018" v2="4035" v3="4764" />
+ <tetrahedron index="17577" v0="2233" v1="2234" v2="3219" v3="3848" />
+ <tetrahedron index="17578" v0="2234" v1="3219" v2="3848" v3="3849" />
+ <tetrahedron index="17579" v0="3219" v1="3848" v2="3849" v3="4834" />
+ <tetrahedron index="17580" v0="1790" v1="1793" v2="2028" v3="3405" />
+ <tetrahedron index="17581" v0="1793" v1="2028" v2="3405" v3="3408" />
+ <tetrahedron index="17582" v0="2028" v1="3405" v2="3408" v3="3643" />
+ <tetrahedron index="17583" v0="2015" v1="2263" v2="3220" v3="3630" />
+ <tetrahedron index="17584" v0="2263" v1="3220" v2="3630" v3="3878" />
+ <tetrahedron index="17585" v0="3220" v1="3630" v2="3878" v3="4835" />
+ <tetrahedron index="17586" v0="2263" v1="2685" v2="3220" v3="3878" />
+ <tetrahedron index="17587" v0="2685" v1="3220" v2="3878" v3="4300" />
+ <tetrahedron index="17588" v0="3220" v1="3878" v2="4300" v3="4835" />
+ <tetrahedron index="17589" v0="2995" v1="2996" v2="3221" v3="4610" />
+ <tetrahedron index="17590" v0="2996" v1="3221" v2="4610" v3="4611" />
+ <tetrahedron index="17591" v0="3221" v1="4610" v2="4611" v3="4836" />
+ <tetrahedron index="17592" v0="2331" v1="2996" v2="3221" v3="3946" />
+ <tetrahedron index="17593" v0="2996" v1="3221" v2="3946" v3="4611" />
+ <tetrahedron index="17594" v0="3221" v1="3946" v2="4611" v3="4836" />
+ <tetrahedron index="17595" v0="2641" v1="2696" v2="3151" v3="4256" />
+ <tetrahedron index="17596" v0="2696" v1="3151" v2="4256" v3="4311" />
+ <tetrahedron index="17597" v0="3151" v1="4256" v2="4311" v3="4766" />
+ <tetrahedron index="17598" v0="2527" v1="2548" v2="3153" v3="4142" />
+ <tetrahedron index="17599" v0="2548" v1="3153" v2="4142" v3="4163" />
+ <tetrahedron index="17600" v0="3153" v1="4142" v2="4163" v3="4768" />
+ <tetrahedron index="17601" v0="2559" v1="2867" v2="3154" v3="4174" />
+ <tetrahedron index="17602" v0="2867" v1="3154" v2="4174" v3="4482" />
+ <tetrahedron index="17603" v0="3154" v1="4174" v2="4482" v3="4769" />
+ <tetrahedron index="17604" v0="2175" v1="2696" v2="3212" v3="3790" />
+ <tetrahedron index="17605" v0="2696" v1="3212" v2="3790" v3="4311" />
+ <tetrahedron index="17606" v0="3212" v1="3790" v2="4311" v3="4827" />
+ <tetrahedron index="17607" v0="2175" v1="3127" v2="3212" v3="3790" />
+ <tetrahedron index="17608" v0="3127" v1="3212" v2="3790" v3="4742" />
+ <tetrahedron index="17609" v0="3212" v1="3790" v2="4742" v3="4827" />
+ <tetrahedron index="17610" v0="2412" v1="2413" v2="3159" v3="4027" />
+ <tetrahedron index="17611" v0="2413" v1="3159" v2="4027" v3="4028" />
+ <tetrahedron index="17612" v0="3159" v1="4027" v2="4028" v3="4774" />
+ <tetrahedron index="17613" v0="2138" v1="2316" v2="2373" v3="3753" />
+ <tetrahedron index="17614" v0="2316" v1="2373" v2="3753" v3="3931" />
+ <tetrahedron index="17615" v0="2373" v1="3753" v2="3931" v3="3988" />
+ <tetrahedron index="17616" v0="1792" v1="2316" v2="2373" v3="3407" />
+ <tetrahedron index="17617" v0="2316" v1="2373" v2="3407" v3="3931" />
+ <tetrahedron index="17618" v0="2373" v1="3407" v2="3931" v3="3988" />
+ <tetrahedron index="17619" v0="2880" v1="3009" v2="3178" v3="4495" />
+ <tetrahedron index="17620" v0="3009" v1="3178" v2="4495" v3="4624" />
+ <tetrahedron index="17621" v0="3178" v1="4495" v2="4624" v3="4793" />
+ <tetrahedron index="17622" v0="2880" v1="3177" v2="3178" v3="4495" />
+ <tetrahedron index="17623" v0="3177" v1="3178" v2="4495" v3="4792" />
+ <tetrahedron index="17624" v0="3178" v1="4495" v2="4792" v3="4793" />
+ <tetrahedron index="17625" v0="1847" v1="2002" v2="2984" v3="3462" />
+ <tetrahedron index="17626" v0="2002" v1="2984" v2="3462" v3="3617" />
+ <tetrahedron index="17627" v0="2984" v1="3462" v2="3617" v3="4599" />
+ <tetrahedron index="17628" v0="3099" v1="3129" v2="3222" v3="4714" />
+ <tetrahedron index="17629" v0="3129" v1="3222" v2="4714" v3="4744" />
+ <tetrahedron index="17630" v0="3222" v1="4714" v2="4744" v3="4837" />
+ <tetrahedron index="17631" v0="3099" v1="3222" v2="3223" v3="4714" />
+ <tetrahedron index="17632" v0="3222" v1="3223" v2="4714" v3="4837" />
+ <tetrahedron index="17633" v0="3223" v1="4714" v2="4837" v3="4838" />
+ <tetrahedron index="17634" v0="2427" v1="3165" v2="3224" v3="4042" />
+ <tetrahedron index="17635" v0="3165" v1="3224" v2="4042" v3="4780" />
+ <tetrahedron index="17636" v0="3224" v1="4042" v2="4780" v3="4839" />
+ <tetrahedron index="17637" v0="2345" v1="2420" v2="3166" v3="3960" />
+ <tetrahedron index="17638" v0="2420" v1="3166" v2="3960" v3="4035" />
+ <tetrahedron index="17639" v0="3166" v1="3960" v2="4035" v3="4781" />
+ <tetrahedron index="17640" v0="2266" v1="2431" v2="3168" v3="3881" />
+ <tetrahedron index="17641" v0="2431" v1="3168" v2="3881" v3="4046" />
+ <tetrahedron index="17642" v0="3168" v1="3881" v2="4046" v3="4783" />
+ <tetrahedron index="17643" v0="2299" v1="2875" v2="3225" v3="3914" />
+ <tetrahedron index="17644" v0="2875" v1="3225" v2="3914" v3="4490" />
+ <tetrahedron index="17645" v0="3225" v1="3914" v2="4490" v3="4840" />
+ <tetrahedron index="17646" v0="2038" v1="2944" v2="3169" v3="3653" />
+ <tetrahedron index="17647" v0="2944" v1="3169" v2="3653" v3="4559" />
+ <tetrahedron index="17648" v0="3169" v1="3653" v2="4559" v3="4784" />
+ <tetrahedron index="17649" v0="3080" v1="3081" v2="3226" v3="4695" />
+ <tetrahedron index="17650" v0="3081" v1="3226" v2="4695" v3="4696" />
+ <tetrahedron index="17651" v0="3226" v1="4695" v2="4696" v3="4841" />
+ <tetrahedron index="17652" v0="3075" v1="3081" v2="3226" v3="4690" />
+ <tetrahedron index="17653" v0="3081" v1="3226" v2="4690" v3="4696" />
+ <tetrahedron index="17654" v0="3226" v1="4690" v2="4696" v3="4841" />
+ <tetrahedron index="17655" v0="2265" v1="2658" v2="3089" v3="3880" />
+ <tetrahedron index="17656" v0="2658" v1="3089" v2="3880" v3="4273" />
+ <tetrahedron index="17657" v0="3089" v1="3880" v2="4273" v3="4704" />
+ <tetrahedron index="17658" v0="2418" v1="2427" v2="3223" v3="4033" />
+ <tetrahedron index="17659" v0="2427" v1="3223" v2="4033" v3="4042" />
+ <tetrahedron index="17660" v0="3223" v1="4033" v2="4042" v3="4838" />
+ <tetrahedron index="17661" v0="3141" v1="3166" v2="3167" v3="4756" />
+ <tetrahedron index="17662" v0="3166" v1="3167" v2="4756" v3="4781" />
+ <tetrahedron index="17663" v0="3167" v1="4756" v2="4781" v3="4782" />
+ <tetrahedron index="17664" v0="2096" v1="2727" v2="3170" v3="3711" />
+ <tetrahedron index="17665" v0="2727" v1="3170" v2="3711" v3="4342" />
+ <tetrahedron index="17666" v0="3170" v1="3711" v2="4342" v3="4785" />
+ <tetrahedron index="17667" v0="2540" v1="3054" v2="3171" v3="4155" />
+ <tetrahedron index="17668" v0="3054" v1="3171" v2="4155" v3="4669" />
+ <tetrahedron index="17669" v0="3171" v1="4155" v2="4669" v3="4786" />
+ <tetrahedron index="17670" v0="2540" v1="3059" v2="3171" v3="4155" />
+ <tetrahedron index="17671" v0="3059" v1="3171" v2="4155" v3="4674" />
+ <tetrahedron index="17672" v0="3171" v1="4155" v2="4674" v3="4786" />
+ <tetrahedron index="17673" v0="2388" v1="2987" v2="3172" v3="4003" />
+ <tetrahedron index="17674" v0="2987" v1="3172" v2="4003" v3="4602" />
+ <tetrahedron index="17675" v0="3172" v1="4003" v2="4602" v3="4787" />
+ <tetrahedron index="17676" v0="1692" v1="2152" v2="2987" v3="3307" />
+ <tetrahedron index="17677" v0="2152" v1="2987" v2="3307" v3="3767" />
+ <tetrahedron index="17678" v0="2987" v1="3307" v2="3767" v3="4602" />
+ <tetrahedron index="17679" v0="1692" v1="2987" v2="3172" v3="3307" />
+ <tetrahedron index="17680" v0="2987" v1="3172" v2="3307" v3="4602" />
+ <tetrahedron index="17681" v0="3172" v1="3307" v2="4602" v3="4787" />
+ <tetrahedron index="17682" v0="1961" v1="1962" v2="3128" v3="3576" />
+ <tetrahedron index="17683" v0="1962" v1="3128" v2="3576" v3="3577" />
+ <tetrahedron index="17684" v0="3128" v1="3576" v2="3577" v3="4743" />
+ <tetrahedron index="17685" v0="2683" v1="2685" v2="3173" v3="4298" />
+ <tetrahedron index="17686" v0="2685" v1="3173" v2="4298" v3="4300" />
+ <tetrahedron index="17687" v0="3173" v1="4298" v2="4300" v3="4788" />
+ <tetrahedron index="17688" v0="2925" v1="3101" v2="3174" v3="4540" />
+ <tetrahedron index="17689" v0="3101" v1="3174" v2="4540" v3="4716" />
+ <tetrahedron index="17690" v0="3174" v1="4540" v2="4716" v3="4789" />
+ <tetrahedron index="17691" v0="2676" v1="2918" v2="2998" v3="4291" />
+ <tetrahedron index="17692" v0="2918" v1="2998" v2="4291" v3="4533" />
+ <tetrahedron index="17693" v0="2998" v1="4291" v2="4533" v3="4613" />
+ <tetrahedron index="17694" v0="2676" v1="2840" v2="2998" v3="4291" />
+ <tetrahedron index="17695" v0="2840" v1="2998" v2="4291" v3="4455" />
+ <tetrahedron index="17696" v0="2998" v1="4291" v2="4455" v3="4613" />
+ <tetrahedron index="17697" v0="1972" v1="2006" v2="2969" v3="3587" />
+ <tetrahedron index="17698" v0="2006" v1="2969" v2="3587" v3="3621" />
+ <tetrahedron index="17699" v0="2969" v1="3587" v2="3621" v3="4584" />
+ <tetrahedron index="17700" v0="1972" v1="2969" v2="2970" v3="3587" />
+ <tetrahedron index="17701" v0="2969" v1="2970" v2="3587" v3="4584" />
+ <tetrahedron index="17702" v0="2970" v1="3587" v2="4584" v3="4585" />
+ <tetrahedron index="17703" v0="2764" v1="2882" v2="3227" v3="4379" />
+ <tetrahedron index="17704" v0="2882" v1="3227" v2="4379" v3="4497" />
+ <tetrahedron index="17705" v0="3227" v1="4379" v2="4497" v3="4842" />
+ <tetrahedron index="17706" v0="2764" v1="3209" v2="3227" v3="4379" />
+ <tetrahedron index="17707" v0="3209" v1="3227" v2="4379" v3="4824" />
+ <tetrahedron index="17708" v0="3227" v1="4379" v2="4824" v3="4842" />
+ <tetrahedron index="17709" v0="2469" v1="2845" v2="3175" v3="4084" />
+ <tetrahedron index="17710" v0="2845" v1="3175" v2="4084" v3="4460" />
+ <tetrahedron index="17711" v0="3175" v1="4084" v2="4460" v3="4790" />
+ <tetrahedron index="17712" v0="2469" v1="2470" v2="3175" v3="4084" />
+ <tetrahedron index="17713" v0="2470" v1="3175" v2="4084" v3="4085" />
+ <tetrahedron index="17714" v0="3175" v1="4084" v2="4085" v3="4790" />
+ <tetrahedron index="17715" v0="1620" v1="1731" v2="3086" v3="3235" />
+ <tetrahedron index="17716" v0="1731" v1="3086" v2="3235" v3="3346" />
+ <tetrahedron index="17717" v0="3086" v1="3235" v2="3346" v3="4701" />
+ <tetrahedron index="17718" v0="2826" v1="3177" v2="3178" v3="4441" />
+ <tetrahedron index="17719" v0="3177" v1="3178" v2="4441" v3="4792" />
+ <tetrahedron index="17720" v0="3178" v1="4441" v2="4792" v3="4793" />
+ <tetrahedron index="17721" v0="3113" v1="3114" v2="3179" v3="4728" />
+ <tetrahedron index="17722" v0="3114" v1="3179" v2="4728" v3="4729" />
+ <tetrahedron index="17723" v0="3179" v1="4728" v2="4729" v3="4794" />
+ <tetrahedron index="17724" v0="1839" v1="1840" v2="2151" v3="3454" />
+ <tetrahedron index="17725" v0="1840" v1="2151" v2="3454" v3="3455" />
+ <tetrahedron index="17726" v0="2151" v1="3454" v2="3455" v3="3766" />
+ <tetrahedron index="17727" v0="1836" v1="1839" v2="2151" v3="3451" />
+ <tetrahedron index="17728" v0="1839" v1="2151" v2="3451" v3="3454" />
+ <tetrahedron index="17729" v0="2151" v1="3451" v2="3454" v3="3766" />
+ <tetrahedron index="17730" v0="1758" v1="1766" v2="2077" v3="3373" />
+ <tetrahedron index="17731" v0="1766" v1="2077" v2="3373" v3="3381" />
+ <tetrahedron index="17732" v0="2077" v1="3373" v2="3381" v3="3692" />
+ <tetrahedron index="17733" v0="1766" v1="2077" v2="2098" v3="3381" />
+ <tetrahedron index="17734" v0="2077" v1="2098" v2="3381" v3="3692" />
+ <tetrahedron index="17735" v0="2098" v1="3381" v2="3692" v3="3713" />
+ <tetrahedron index="17736" v0="1686" v1="1974" v2="2059" v3="3301" />
+ <tetrahedron index="17737" v0="1974" v1="2059" v2="3301" v3="3589" />
+ <tetrahedron index="17738" v0="2059" v1="3301" v2="3589" v3="3674" />
+ <tetrahedron index="17739" v0="1876" v1="1974" v2="2059" v3="3491" />
+ <tetrahedron index="17740" v0="1974" v1="2059" v2="3491" v3="3589" />
+ <tetrahedron index="17741" v0="2059" v1="3491" v2="3589" v3="3674" />
+ <tetrahedron index="17742" v0="1993" v1="2084" v2="2239" v3="3608" />
+ <tetrahedron index="17743" v0="2084" v1="2239" v2="3608" v3="3699" />
+ <tetrahedron index="17744" v0="2239" v1="3608" v2="3699" v3="3854" />
+ <tetrahedron index="17745" v0="1874" v1="2084" v2="2239" v3="3489" />
+ <tetrahedron index="17746" v0="2084" v1="2239" v2="3489" v3="3699" />
+ <tetrahedron index="17747" v0="2239" v1="3489" v2="3699" v3="3854" />
+ <tetrahedron index="17748" v0="2444" v1="2577" v2="2578" v3="4059" />
+ <tetrahedron index="17749" v0="2577" v1="2578" v2="4059" v3="4192" />
+ <tetrahedron index="17750" v0="2578" v1="4059" v2="4192" v3="4193" />
+ <tetrahedron index="17751" v0="2444" v1="2488" v2="2577" v3="4059" />
+ <tetrahedron index="17752" v0="2488" v1="2577" v2="4059" v3="4103" />
+ <tetrahedron index="17753" v0="2577" v1="4059" v2="4103" v3="4192" />
+ <tetrahedron index="17754" v0="2504" v1="3021" v2="3182" v3="4119" />
+ <tetrahedron index="17755" v0="3021" v1="3182" v2="4119" v3="4636" />
+ <tetrahedron index="17756" v0="3182" v1="4119" v2="4636" v3="4797" />
+ <tetrahedron index="17757" v0="3020" v1="3021" v2="3182" v3="4635" />
+ <tetrahedron index="17758" v0="3021" v1="3182" v2="4635" v3="4636" />
+ <tetrahedron index="17759" v0="3182" v1="4635" v2="4636" v3="4797" />
+ <tetrahedron index="17760" v0="1791" v1="2064" v2="3182" v3="3406" />
+ <tetrahedron index="17761" v0="2064" v1="3182" v2="3406" v3="3679" />
+ <tetrahedron index="17762" v0="3182" v1="3406" v2="3679" v3="4797" />
+ <tetrahedron index="17763" v0="1791" v1="2513" v2="3182" v3="3406" />
+ <tetrahedron index="17764" v0="2513" v1="3182" v2="3406" v3="4128" />
+ <tetrahedron index="17765" v0="3182" v1="3406" v2="4128" v3="4797" />
+ <tetrahedron index="17766" v0="2193" v1="2194" v2="2441" v3="3808" />
+ <tetrahedron index="17767" v0="2194" v1="2441" v2="3808" v3="3809" />
+ <tetrahedron index="17768" v0="2441" v1="3808" v2="3809" v3="4056" />
+ <tetrahedron index="17769" v0="2194" v1="2441" v2="3036" v3="3809" />
+ <tetrahedron index="17770" v0="2441" v1="3036" v2="3809" v3="4056" />
+ <tetrahedron index="17771" v0="3036" v1="3809" v2="4056" v3="4651" />
+ <tetrahedron index="17772" v0="2542" v1="2731" v2="3186" v3="4157" />
+ <tetrahedron index="17773" v0="2731" v1="3186" v2="4157" v3="4346" />
+ <tetrahedron index="17774" v0="3186" v1="4157" v2="4346" v3="4801" />
+ <tetrahedron index="17775" v0="2731" v1="2888" v2="3186" v3="4346" />
+ <tetrahedron index="17776" v0="2888" v1="3186" v2="4346" v3="4503" />
+ <tetrahedron index="17777" v0="3186" v1="4346" v2="4503" v3="4801" />
+ <tetrahedron index="17778" v0="1703" v1="2888" v2="3186" v3="3318" />
+ <tetrahedron index="17779" v0="2888" v1="3186" v2="3318" v3="4503" />
+ <tetrahedron index="17780" v0="3186" v1="3318" v2="4503" v3="4801" />
+ <tetrahedron index="17781" v0="1703" v1="2416" v2="3186" v3="3318" />
+ <tetrahedron index="17782" v0="2416" v1="3186" v2="3318" v3="4031" />
+ <tetrahedron index="17783" v0="3186" v1="3318" v2="4031" v3="4801" />
+ <tetrahedron index="17784" v0="2324" v1="2582" v2="3181" v3="3939" />
+ <tetrahedron index="17785" v0="2582" v1="3181" v2="3939" v3="4197" />
+ <tetrahedron index="17786" v0="3181" v1="3939" v2="4197" v3="4796" />
+ <tetrahedron index="17787" v0="2324" v1="2325" v2="3181" v3="3939" />
+ <tetrahedron index="17788" v0="2325" v1="3181" v2="3939" v3="3940" />
+ <tetrahedron index="17789" v0="3181" v1="3939" v2="3940" v3="4796" />
+ <tetrahedron index="17790" v0="2576" v1="2656" v2="3062" v3="4191" />
+ <tetrahedron index="17791" v0="2656" v1="3062" v2="4191" v3="4271" />
+ <tetrahedron index="17792" v0="3062" v1="4191" v2="4271" v3="4677" />
+ <tetrahedron index="17793" v0="2576" v1="3048" v2="3062" v3="4191" />
+ <tetrahedron index="17794" v0="3048" v1="3062" v2="4191" v3="4663" />
+ <tetrahedron index="17795" v0="3062" v1="4191" v2="4663" v3="4677" />
+ <tetrahedron index="17796" v0="2623" v1="2624" v2="3118" v3="4238" />
+ <tetrahedron index="17797" v0="2624" v1="3118" v2="4238" v3="4239" />
+ <tetrahedron index="17798" v0="3118" v1="4238" v2="4239" v3="4733" />
+ <tetrahedron index="17799" v0="2623" v1="3106" v2="3118" v3="4238" />
+ <tetrahedron index="17800" v0="3106" v1="3118" v2="4238" v3="4721" />
+ <tetrahedron index="17801" v0="3118" v1="4238" v2="4721" v3="4733" />
+ <tetrahedron index="17802" v0="2289" v1="2290" v2="2671" v3="3904" />
+ <tetrahedron index="17803" v0="2290" v1="2671" v2="3904" v3="3905" />
+ <tetrahedron index="17804" v0="2671" v1="3904" v2="3905" v3="4286" />
+ <tetrahedron index="17805" v0="2289" v1="2671" v2="3188" v3="3904" />
+ <tetrahedron index="17806" v0="2671" v1="3188" v2="3904" v3="4286" />
+ <tetrahedron index="17807" v0="3188" v1="3904" v2="4286" v3="4803" />
+ <tetrahedron index="17808" v0="2796" v1="3063" v2="3203" v3="4411" />
+ <tetrahedron index="17809" v0="3063" v1="3203" v2="4411" v3="4678" />
+ <tetrahedron index="17810" v0="3203" v1="4411" v2="4678" v3="4818" />
+ <tetrahedron index="17811" v0="3063" v1="3064" v2="3203" v3="4678" />
+ <tetrahedron index="17812" v0="3064" v1="3203" v2="4678" v3="4679" />
+ <tetrahedron index="17813" v0="3203" v1="4678" v2="4679" v3="4818" />
+ <tetrahedron index="17814" v0="2738" v1="2739" v2="3191" v3="4353" />
+ <tetrahedron index="17815" v0="2739" v1="3191" v2="4353" v3="4354" />
+ <tetrahedron index="17816" v0="3191" v1="4353" v2="4354" v3="4806" />
+ <tetrahedron index="17817" v0="2739" v1="3190" v2="3191" v3="4354" />
+ <tetrahedron index="17818" v0="3190" v1="3191" v2="4354" v3="4805" />
+ <tetrahedron index="17819" v0="3191" v1="4354" v2="4805" v3="4806" />
+ <tetrahedron index="17820" v0="2256" v1="2569" v2="2932" v3="3871" />
+ <tetrahedron index="17821" v0="2569" v1="2932" v2="3871" v3="4184" />
+ <tetrahedron index="17822" v0="2932" v1="3871" v2="4184" v3="4547" />
+ <tetrahedron index="17823" v0="2256" v1="2286" v2="2932" v3="3871" />
+ <tetrahedron index="17824" v0="2286" v1="2932" v2="3871" v3="3901" />
+ <tetrahedron index="17825" v0="2932" v1="3871" v2="3901" v3="4547" />
+ <tetrahedron index="17826" v0="2241" v1="2242" v2="3152" v3="3856" />
+ <tetrahedron index="17827" v0="2242" v1="3152" v2="3856" v3="3857" />
+ <tetrahedron index="17828" v0="3152" v1="3856" v2="3857" v3="4767" />
+ <tetrahedron index="17829" v0="2242" v1="2262" v2="3152" v3="3857" />
+ <tetrahedron index="17830" v0="2262" v1="3152" v2="3857" v3="3877" />
+ <tetrahedron index="17831" v0="3152" v1="3857" v2="3877" v3="4767" />
+ <tetrahedron index="17832" v0="2608" v1="3028" v2="3194" v3="4223" />
+ <tetrahedron index="17833" v0="3028" v1="3194" v2="4223" v3="4643" />
+ <tetrahedron index="17834" v0="3194" v1="4223" v2="4643" v3="4809" />
+ <tetrahedron index="17835" v0="2286" v1="3028" v2="3194" v3="3901" />
+ <tetrahedron index="17836" v0="3028" v1="3194" v2="3901" v3="4643" />
+ <tetrahedron index="17837" v0="3194" v1="3901" v2="4643" v3="4809" />
+ <tetrahedron index="17838" v0="2711" v1="3122" v2="3156" v3="4326" />
+ <tetrahedron index="17839" v0="3122" v1="3156" v2="4326" v3="4737" />
+ <tetrahedron index="17840" v0="3156" v1="4326" v2="4737" v3="4771" />
+ <tetrahedron index="17841" v0="2999" v1="3122" v2="3156" v3="4614" />
+ <tetrahedron index="17842" v0="3122" v1="3156" v2="4614" v3="4737" />
+ <tetrahedron index="17843" v0="3156" v1="4614" v2="4737" v3="4771" />
+ <tetrahedron index="17844" v0="1829" v1="2296" v2="3210" v3="3444" />
+ <tetrahedron index="17845" v0="2296" v1="3210" v2="3444" v3="3911" />
+ <tetrahedron index="17846" v0="3210" v1="3444" v2="3911" v3="4825" />
+ <tetrahedron index="17847" v0="2296" v1="3210" v2="3228" v3="3911" />
+ <tetrahedron index="17848" v0="3210" v1="3228" v2="3911" v3="4825" />
+ <tetrahedron index="17849" v0="3228" v1="3911" v2="4825" v3="4843" />
+ <tetrahedron index="17850" v0="1743" v1="2297" v2="3057" v3="3358" />
+ <tetrahedron index="17851" v0="2297" v1="3057" v2="3358" v3="3912" />
+ <tetrahedron index="17852" v0="3057" v1="3358" v2="3912" v3="4672" />
+ <tetrahedron index="17853" v0="1743" v1="1807" v2="3057" v3="3358" />
+ <tetrahedron index="17854" v0="1807" v1="3057" v2="3358" v3="3422" />
+ <tetrahedron index="17855" v0="3057" v1="3358" v2="3422" v3="4672" />
+ <tetrahedron index="17856" v0="2694" v1="3150" v2="3155" v3="4309" />
+ <tetrahedron index="17857" v0="3150" v1="3155" v2="4309" v3="4765" />
+ <tetrahedron index="17858" v0="3155" v1="4309" v2="4765" v3="4770" />
+ <tetrahedron index="17859" v0="3107" v1="3150" v2="3155" v3="4722" />
+ <tetrahedron index="17860" v0="3150" v1="3155" v2="4722" v3="4765" />
+ <tetrahedron index="17861" v0="3155" v1="4722" v2="4765" v3="4770" />
+ <tetrahedron index="17862" v0="2628" v1="3050" v2="3191" v3="4243" />
+ <tetrahedron index="17863" v0="3050" v1="3191" v2="4243" v3="4665" />
+ <tetrahedron index="17864" v0="3191" v1="4243" v2="4665" v3="4806" />
+ <tetrahedron index="17865" v0="3050" v1="3189" v2="3191" v3="4665" />
+ <tetrahedron index="17866" v0="3189" v1="3191" v2="4665" v3="4804" />
+ <tetrahedron index="17867" v0="3191" v1="4665" v2="4804" v3="4806" />
+ <tetrahedron index="17868" v0="2550" v1="2699" v2="2838" v3="4165" />
+ <tetrahedron index="17869" v0="2699" v1="2838" v2="4165" v3="4314" />
+ <tetrahedron index="17870" v0="2838" v1="4165" v2="4314" v3="4453" />
+ <tetrahedron index="17871" v0="2699" v1="2782" v2="2838" v3="4314" />
+ <tetrahedron index="17872" v0="2782" v1="2838" v2="4314" v3="4397" />
+ <tetrahedron index="17873" v0="2838" v1="4314" v2="4397" v3="4453" />
+ <tetrahedron index="17874" v0="2504" v1="3021" v2="3179" v3="4119" />
+ <tetrahedron index="17875" v0="3021" v1="3179" v2="4119" v3="4636" />
+ <tetrahedron index="17876" v0="3179" v1="4119" v2="4636" v3="4794" />
+ <tetrahedron index="17877" v0="3021" v1="3114" v2="3179" v3="4636" />
+ <tetrahedron index="17878" v0="3114" v1="3179" v2="4636" v3="4729" />
+ <tetrahedron index="17879" v0="3179" v1="4636" v2="4729" v3="4794" />
+ <tetrahedron index="17880" v0="2574" v1="2664" v2="3158" v3="4189" />
+ <tetrahedron index="17881" v0="2664" v1="3158" v2="4189" v3="4279" />
+ <tetrahedron index="17882" v0="3158" v1="4189" v2="4279" v3="4773" />
+ <tetrahedron index="17883" v0="2574" v1="2677" v2="3158" v3="4189" />
+ <tetrahedron index="17884" v0="2677" v1="3158" v2="4189" v3="4292" />
+ <tetrahedron index="17885" v0="3158" v1="4189" v2="4292" v3="4773" />
+ <tetrahedron index="17886" v0="2023" v1="2116" v2="3135" v3="3638" />
+ <tetrahedron index="17887" v0="2116" v1="3135" v2="3638" v3="3731" />
+ <tetrahedron index="17888" v0="3135" v1="3638" v2="3731" v3="4750" />
+ <tetrahedron index="17889" v0="2299" v1="2300" v2="3225" v3="3914" />
+ <tetrahedron index="17890" v0="2300" v1="3225" v2="3914" v3="3915" />
+ <tetrahedron index="17891" v0="3225" v1="3914" v2="3915" v3="4840" />
+ <tetrahedron index="17892" v0="2300" v1="2310" v2="3225" v3="3915" />
+ <tetrahedron index="17893" v0="2310" v1="3225" v2="3915" v3="3925" />
+ <tetrahedron index="17894" v0="3225" v1="3915" v2="3925" v3="4840" />
+ <tetrahedron index="17895" v0="2818" v1="2819" v2="3193" v3="4433" />
+ <tetrahedron index="17896" v0="2819" v1="3193" v2="4433" v3="4434" />
+ <tetrahedron index="17897" v0="3193" v1="4433" v2="4434" v3="4808" />
+ <tetrahedron index="17898" v0="2818" v1="3046" v2="3193" v3="4433" />
+ <tetrahedron index="17899" v0="3046" v1="3193" v2="4433" v3="4661" />
+ <tetrahedron index="17900" v0="3193" v1="4433" v2="4661" v3="4808" />
+ <tetrahedron index="17901" v0="2763" v1="3034" v2="3193" v3="4378" />
+ <tetrahedron index="17902" v0="3034" v1="3193" v2="4378" v3="4649" />
+ <tetrahedron index="17903" v0="3193" v1="4378" v2="4649" v3="4808" />
+ <tetrahedron index="17904" v0="2076" v1="2434" v2="2461" v3="3691" />
+ <tetrahedron index="17905" v0="2434" v1="2461" v2="3691" v3="4049" />
+ <tetrahedron index="17906" v0="2461" v1="3691" v2="4049" v3="4076" />
+ <tetrahedron index="17907" v0="2434" v1="2461" v2="2924" v3="4049" />
+ <tetrahedron index="17908" v0="2461" v1="2924" v2="4049" v3="4076" />
+ <tetrahedron index="17909" v0="2924" v1="4049" v2="4076" v3="4539" />
+ <tetrahedron index="17910" v0="2906" v1="3157" v2="3169" v3="4521" />
+ <tetrahedron index="17911" v0="3157" v1="3169" v2="4521" v3="4772" />
+ <tetrahedron index="17912" v0="3169" v1="4521" v2="4772" v3="4784" />
+ <tetrahedron index="17913" v0="2944" v1="3157" v2="3169" v3="4559" />
+ <tetrahedron index="17914" v0="3157" v1="3169" v2="4559" v3="4772" />
+ <tetrahedron index="17915" v0="3169" v1="4559" v2="4772" v3="4784" />
+ <tetrahedron index="17916" v0="2930" v1="2931" v2="2932" v3="4545" />
+ <tetrahedron index="17917" v0="2931" v1="2932" v2="4545" v3="4546" />
+ <tetrahedron index="17918" v0="2932" v1="4545" v2="4546" v3="4547" />
+ <tetrahedron index="17919" v0="2930" v1="2932" v2="3194" v3="4545" />
+ <tetrahedron index="17920" v0="2932" v1="3194" v2="4545" v3="4547" />
+ <tetrahedron index="17921" v0="3194" v1="4545" v2="4547" v3="4809" />
+ <tetrahedron index="17922" v0="2005" v1="2934" v2="3151" v3="3620" />
+ <tetrahedron index="17923" v0="2934" v1="3151" v2="3620" v3="4549" />
+ <tetrahedron index="17924" v0="3151" v1="3620" v2="4549" v3="4766" />
+ <tetrahedron index="17925" v0="2641" v1="2934" v2="3151" v3="4256" />
+ <tetrahedron index="17926" v0="2934" v1="3151" v2="4256" v3="4549" />
+ <tetrahedron index="17927" v0="3151" v1="4256" v2="4549" v3="4766" />
+ <tetrahedron index="17928" v0="2725" v1="3103" v2="3164" v3="4340" />
+ <tetrahedron index="17929" v0="3103" v1="3164" v2="4340" v3="4718" />
+ <tetrahedron index="17930" v0="3164" v1="4340" v2="4718" v3="4779" />
+ <tetrahedron index="17931" v0="2981" v1="3103" v2="3164" v3="4596" />
+ <tetrahedron index="17932" v0="3103" v1="3164" v2="4596" v3="4718" />
+ <tetrahedron index="17933" v0="3164" v1="4596" v2="4718" v3="4779" />
+ <tetrahedron index="17934" v0="2544" v1="3017" v2="3197" v3="4159" />
+ <tetrahedron index="17935" v0="3017" v1="3197" v2="4159" v3="4632" />
+ <tetrahedron index="17936" v0="3197" v1="4159" v2="4632" v3="4812" />
+ <tetrahedron index="17937" v0="2544" v1="2545" v2="3197" v3="4159" />
+ <tetrahedron index="17938" v0="2545" v1="3197" v2="4159" v3="4160" />
+ <tetrahedron index="17939" v0="3197" v1="4159" v2="4160" v3="4812" />
+ <tetrahedron index="17940" v0="3058" v1="3139" v2="3198" v3="4673" />
+ <tetrahedron index="17941" v0="3139" v1="3198" v2="4673" v3="4754" />
+ <tetrahedron index="17942" v0="3198" v1="4673" v2="4754" v3="4813" />
+ <tetrahedron index="17943" v0="3112" v1="3139" v2="3198" v3="4727" />
+ <tetrahedron index="17944" v0="3139" v1="3198" v2="4727" v3="4754" />
+ <tetrahedron index="17945" v0="3198" v1="4727" v2="4754" v3="4813" />
+ <tetrahedron index="17946" v0="2289" v1="3188" v2="3216" v3="3904" />
+ <tetrahedron index="17947" v0="3188" v1="3216" v2="3904" v3="4803" />
+ <tetrahedron index="17948" v0="3216" v1="3904" v2="4803" v3="4831" />
+ <tetrahedron index="17949" v0="1959" v1="2289" v2="3216" v3="3574" />
+ <tetrahedron index="17950" v0="2289" v1="3216" v2="3574" v3="3904" />
+ <tetrahedron index="17951" v0="3216" v1="3574" v2="3904" v3="4831" />
+ <tetrahedron index="17952" v0="2075" v1="2933" v2="3184" v3="3690" />
+ <tetrahedron index="17953" v0="2933" v1="3184" v2="3690" v3="4548" />
+ <tetrahedron index="17954" v0="3184" v1="3690" v2="4548" v3="4799" />
+ <tetrahedron index="17955" v0="2075" v1="2859" v2="3184" v3="3690" />
+ <tetrahedron index="17956" v0="2859" v1="3184" v2="3690" v3="4474" />
+ <tetrahedron index="17957" v0="3184" v1="3690" v2="4474" v3="4799" />
+ <tetrahedron index="17958" v0="2968" v1="3093" v2="3163" v3="4583" />
+ <tetrahedron index="17959" v0="3093" v1="3163" v2="4583" v3="4708" />
+ <tetrahedron index="17960" v0="3163" v1="4583" v2="4708" v3="4778" />
+ <tetrahedron index="17961" v0="2631" v1="3093" v2="3163" v3="4246" />
+ <tetrahedron index="17962" v0="3093" v1="3163" v2="4246" v3="4708" />
+ <tetrahedron index="17963" v0="3163" v1="4246" v2="4708" v3="4778" />
+ <tetrahedron index="17964" v0="2216" v1="2673" v2="3187" v3="3831" />
+ <tetrahedron index="17965" v0="2673" v1="3187" v2="3831" v3="4288" />
+ <tetrahedron index="17966" v0="3187" v1="3831" v2="4288" v3="4802" />
+ <tetrahedron index="17967" v0="2068" v1="2069" v2="3200" v3="3683" />
+ <tetrahedron index="17968" v0="2069" v1="3200" v2="3683" v3="3684" />
+ <tetrahedron index="17969" v0="3200" v1="3683" v2="3684" v3="4815" />
+ <tetrahedron index="17970" v0="2068" v1="2828" v2="3200" v3="3683" />
+ <tetrahedron index="17971" v0="2828" v1="3200" v2="3683" v3="4443" />
+ <tetrahedron index="17972" v0="3200" v1="3683" v2="4443" v3="4815" />
+ <tetrahedron index="17973" v0="2693" v1="2828" v2="3200" v3="4308" />
+ <tetrahedron index="17974" v0="2828" v1="3200" v2="4308" v3="4443" />
+ <tetrahedron index="17975" v0="3200" v1="4308" v2="4443" v3="4815" />
+ <tetrahedron index="17976" v0="2498" v1="2693" v2="3200" v3="4113" />
+ <tetrahedron index="17977" v0="2693" v1="3200" v2="4113" v3="4308" />
+ <tetrahedron index="17978" v0="3200" v1="4113" v2="4308" v3="4815" />
+ <tetrahedron index="17979" v0="2439" v1="2784" v2="2785" v3="4054" />
+ <tetrahedron index="17980" v0="2784" v1="2785" v2="4054" v3="4399" />
+ <tetrahedron index="17981" v0="2785" v1="4054" v2="4399" v3="4400" />
+ <tetrahedron index="17982" v0="2439" v1="2468" v2="2784" v3="4054" />
+ <tetrahedron index="17983" v0="2468" v1="2784" v2="4054" v3="4083" />
+ <tetrahedron index="17984" v0="2784" v1="4054" v2="4083" v3="4399" />
+ <tetrahedron index="17985" v0="1891" v1="2450" v2="2704" v3="3506" />
+ <tetrahedron index="17986" v0="2450" v1="2704" v2="3506" v3="4065" />
+ <tetrahedron index="17987" v0="2704" v1="3506" v2="4065" v3="4319" />
+ <tetrahedron index="17988" v0="1820" v1="1891" v2="2704" v3="3435" />
+ <tetrahedron index="17989" v0="1891" v1="2704" v2="3435" v3="3506" />
+ <tetrahedron index="17990" v0="2704" v1="3435" v2="3506" v3="4319" />
+ <tetrahedron index="17991" v0="1723" v1="2519" v2="3142" v3="3338" />
+ <tetrahedron index="17992" v0="2519" v1="3142" v2="3338" v3="4134" />
+ <tetrahedron index="17993" v0="3142" v1="3338" v2="4134" v3="4757" />
+ <tetrahedron index="17994" v0="1723" v1="2870" v2="3142" v3="3338" />
+ <tetrahedron index="17995" v0="2870" v1="3142" v2="3338" v3="4485" />
+ <tetrahedron index="17996" v0="3142" v1="3338" v2="4485" v3="4757" />
+ <tetrahedron index="17997" v0="2636" v1="2638" v2="2665" v3="4251" />
+ <tetrahedron index="17998" v0="2638" v1="2665" v2="4251" v3="4253" />
+ <tetrahedron index="17999" v0="2665" v1="4251" v2="4253" v3="4280" />
+ <tetrahedron index="18000" v0="2638" v1="2665" v2="2673" v3="4253" />
+ <tetrahedron index="18001" v0="2665" v1="2673" v2="4253" v3="4280" />
+ <tetrahedron index="18002" v0="2673" v1="4253" v2="4280" v3="4288" />
+ <tetrahedron index="18003" v0="2999" v1="3122" v2="3201" v3="4614" />
+ <tetrahedron index="18004" v0="3122" v1="3201" v2="4614" v3="4737" />
+ <tetrahedron index="18005" v0="3201" v1="4614" v2="4737" v3="4816" />
+ <tetrahedron index="18006" v0="3097" v1="3122" v2="3201" v3="4712" />
+ <tetrahedron index="18007" v0="3122" v1="3201" v2="4712" v3="4737" />
+ <tetrahedron index="18008" v0="3201" v1="4712" v2="4737" v3="4816" />
+ <tetrahedron index="18009" v0="1903" v1="3199" v2="3202" v3="3518" />
+ <tetrahedron index="18010" v0="3199" v1="3202" v2="3518" v3="4814" />
+ <tetrahedron index="18011" v0="3202" v1="3518" v2="4814" v3="4817" />
+ <tetrahedron index="18012" v0="2857" v1="3008" v2="3202" v3="4472" />
+ <tetrahedron index="18013" v0="3008" v1="3202" v2="4472" v3="4623" />
+ <tetrahedron index="18014" v0="3202" v1="4472" v2="4623" v3="4817" />
+ <tetrahedron index="18015" v0="3008" v1="3199" v2="3202" v3="4623" />
+ <tetrahedron index="18016" v0="3199" v1="3202" v2="4623" v3="4814" />
+ <tetrahedron index="18017" v0="3202" v1="4623" v2="4814" v3="4817" />
+ <tetrahedron index="18018" v0="2733" v1="2992" v2="3027" v3="4348" />
+ <tetrahedron index="18019" v0="2992" v1="3027" v2="4348" v3="4607" />
+ <tetrahedron index="18020" v0="3027" v1="4348" v2="4607" v3="4642" />
+ <tetrahedron index="18021" v0="2733" v1="2734" v2="3027" v3="4348" />
+ <tetrahedron index="18022" v0="2734" v1="3027" v2="4348" v3="4349" />
+ <tetrahedron index="18023" v0="3027" v1="4348" v2="4349" v3="4642" />
+ <tetrahedron index="18024" v0="2974" v1="3219" v2="3228" v3="4589" />
+ <tetrahedron index="18025" v0="3219" v1="3228" v2="4589" v3="4834" />
+ <tetrahedron index="18026" v0="3228" v1="4589" v2="4834" v3="4843" />
+ <tetrahedron index="18027" v0="2974" v1="3141" v2="3219" v3="4589" />
+ <tetrahedron index="18028" v0="3141" v1="3219" v2="4589" v3="4756" />
+ <tetrahedron index="18029" v0="3219" v1="4589" v2="4756" v3="4834" />
+ <tetrahedron index="18030" v0="2727" v1="3170" v2="3203" v3="4342" />
+ <tetrahedron index="18031" v0="3170" v1="3203" v2="4342" v3="4785" />
+ <tetrahedron index="18032" v0="3203" v1="4342" v2="4785" v3="4818" />
+ <tetrahedron index="18033" v0="3064" v1="3170" v2="3203" v3="4679" />
+ <tetrahedron index="18034" v0="3170" v1="3203" v2="4679" v3="4785" />
+ <tetrahedron index="18035" v0="3203" v1="4679" v2="4785" v3="4818" />
+ <tetrahedron index="18036" v0="2974" v1="3057" v2="3228" v3="4589" />
+ <tetrahedron index="18037" v0="3057" v1="3228" v2="4589" v3="4672" />
+ <tetrahedron index="18038" v0="3228" v1="4589" v2="4672" v3="4843" />
+ <tetrahedron index="18039" v0="2296" v1="3057" v2="3228" v3="3911" />
+ <tetrahedron index="18040" v0="3057" v1="3228" v2="3911" v3="4672" />
+ <tetrahedron index="18041" v0="3228" v1="3911" v2="4672" v3="4843" />
+ <tetrahedron index="18042" v0="2606" v1="2860" v2="3136" v3="4221" />
+ <tetrahedron index="18043" v0="2860" v1="3136" v2="4221" v3="4475" />
+ <tetrahedron index="18044" v0="3136" v1="4221" v2="4475" v3="4751" />
+ <tetrahedron index="18045" v0="2825" v1="3041" v2="3177" v3="4440" />
+ <tetrahedron index="18046" v0="3041" v1="3177" v2="4440" v3="4656" />
+ <tetrahedron index="18047" v0="3177" v1="4440" v2="4656" v3="4792" />
+ <tetrahedron index="18048" v0="2825" v1="2826" v2="3177" v3="4440" />
+ <tetrahedron index="18049" v0="2826" v1="3177" v2="4440" v3="4441" />
+ <tetrahedron index="18050" v0="3177" v1="4440" v2="4441" v3="4792" />
+ <tetrahedron index="18051" v0="2329" v1="2991" v2="3027" v3="3944" />
+ <tetrahedron index="18052" v0="2991" v1="3027" v2="3944" v3="4606" />
+ <tetrahedron index="18053" v0="3027" v1="3944" v2="4606" v3="4642" />
+ <tetrahedron index="18054" v0="2991" v1="2992" v2="3027" v3="4606" />
+ <tetrahedron index="18055" v0="2992" v1="3027" v2="4606" v3="4607" />
+ <tetrahedron index="18056" v0="3027" v1="4606" v2="4607" v3="4642" />
+ <tetrahedron index="18057" v0="2651" v1="2878" v2="3205" v3="4266" />
+ <tetrahedron index="18058" v0="2878" v1="3205" v2="4266" v3="4493" />
+ <tetrahedron index="18059" v0="3205" v1="4266" v2="4493" v3="4820" />
+ <tetrahedron index="18060" v0="2878" v1="2982" v2="3205" v3="4493" />
+ <tetrahedron index="18061" v0="2982" v1="3205" v2="4493" v3="4597" />
+ <tetrahedron index="18062" v0="3205" v1="4493" v2="4597" v3="4820" />
+ <tetrahedron index="18063" v0="1712" v1="2588" v2="2941" v3="3327" />
+ <tetrahedron index="18064" v0="2588" v1="2941" v2="3327" v3="4203" />
+ <tetrahedron index="18065" v0="2941" v1="3327" v2="4203" v3="4556" />
+ <tetrahedron index="18066" v0="1712" v1="2180" v2="2941" v3="3327" />
+ <tetrahedron index="18067" v0="2180" v1="2941" v2="3327" v3="3795" />
+ <tetrahedron index="18068" v0="2941" v1="3327" v2="3795" v3="4556" />
+ <tetrahedron index="18069" v0="2298" v1="3112" v2="3139" v3="3913" />
+ <tetrahedron index="18070" v0="3112" v1="3139" v2="3913" v3="4727" />
+ <tetrahedron index="18071" v0="3139" v1="3913" v2="4727" v3="4754" />
+ <tetrahedron index="18072" v0="2298" v1="2328" v2="3139" v3="3913" />
+ <tetrahedron index="18073" v0="2328" v1="3139" v2="3913" v3="3943" />
+ <tetrahedron index="18074" v0="3139" v1="3913" v2="3943" v3="4754" />
+ <tetrahedron index="18075" v0="1697" v1="1698" v2="3123" v3="3312" />
+ <tetrahedron index="18076" v0="1698" v1="3123" v2="3312" v3="3313" />
+ <tetrahedron index="18077" v0="3123" v1="3312" v2="3313" v3="4738" />
+ <tetrahedron index="18078" v0="1697" v1="2315" v2="3123" v3="3312" />
+ <tetrahedron index="18079" v0="2315" v1="3123" v2="3312" v3="3930" />
+ <tetrahedron index="18080" v0="3123" v1="3312" v2="3930" v3="4738" />
+ <tetrahedron index="18081" v0="2043" v1="2044" v2="3092" v3="3658" />
+ <tetrahedron index="18082" v0="2044" v1="3092" v2="3658" v3="3659" />
+ <tetrahedron index="18083" v0="3092" v1="3658" v2="3659" v3="4707" />
+ <tetrahedron index="18084" v0="2043" v1="2654" v2="3092" v3="3658" />
+ <tetrahedron index="18085" v0="2654" v1="3092" v2="3658" v3="4269" />
+ <tetrahedron index="18086" v0="3092" v1="3658" v2="4269" v3="4707" />
+ <tetrahedron index="18087" v0="1725" v1="2923" v2="3094" v3="3340" />
+ <tetrahedron index="18088" v0="2923" v1="3094" v2="3340" v3="4538" />
+ <tetrahedron index="18089" v0="3094" v1="3340" v2="4538" v3="4709" />
+ <tetrahedron index="18090" v0="2376" v1="2468" v2="2784" v3="3991" />
+ <tetrahedron index="18091" v0="2468" v1="2784" v2="3991" v3="4083" />
+ <tetrahedron index="18092" v0="2784" v1="3991" v2="4083" v3="4399" />
+ <tetrahedron index="18093" v0="2376" v1="2594" v2="2784" v3="3991" />
+ <tetrahedron index="18094" v0="2594" v1="2784" v2="3991" v3="4209" />
+ <tetrahedron index="18095" v0="2784" v1="3991" v2="4209" v3="4399" />
+ <tetrahedron index="18096" v0="2889" v1="2947" v2="3196" v3="4504" />
+ <tetrahedron index="18097" v0="2947" v1="3196" v2="4504" v3="4562" />
+ <tetrahedron index="18098" v0="3196" v1="4504" v2="4562" v3="4811" />
+ <tetrahedron index="18099" v0="2947" v1="2949" v2="3196" v3="4562" />
+ <tetrahedron index="18100" v0="2949" v1="3196" v2="4562" v3="4564" />
+ <tetrahedron index="18101" v0="3196" v1="4562" v2="4564" v3="4811" />
+ <tetrahedron index="18102" v0="1800" v1="3075" v2="3226" v3="3415" />
+ <tetrahedron index="18103" v0="3075" v1="3226" v2="3415" v3="4690" />
+ <tetrahedron index="18104" v0="3226" v1="3415" v2="4690" v3="4841" />
+ <tetrahedron index="18105" v0="1800" v1="2845" v2="3226" v3="3415" />
+ <tetrahedron index="18106" v0="2845" v1="3226" v2="3415" v3="4460" />
+ <tetrahedron index="18107" v0="3226" v1="3415" v2="4460" v3="4841" />
+ <tetrahedron index="18108" v0="2965" v1="3095" v2="3206" v3="4580" />
+ <tetrahedron index="18109" v0="3095" v1="3206" v2="4580" v3="4710" />
+ <tetrahedron index="18110" v0="3206" v1="4580" v2="4710" v3="4821" />
+ <tetrahedron index="18111" v0="3095" v1="3099" v2="3206" v3="4710" />
+ <tetrahedron index="18112" v0="3099" v1="3206" v2="4710" v3="4714" />
+ <tetrahedron index="18113" v0="3206" v1="4710" v2="4714" v3="4821" />
+ <tetrahedron index="18114" v0="2908" v1="2964" v2="2982" v3="4523" />
+ <tetrahedron index="18115" v0="2964" v1="2982" v2="4523" v3="4579" />
+ <tetrahedron index="18116" v0="2982" v1="4523" v2="4579" v3="4597" />
+ <tetrahedron index="18117" v0="2115" v1="3087" v2="3213" v3="3730" />
+ <tetrahedron index="18118" v0="3087" v1="3213" v2="3730" v3="4702" />
+ <tetrahedron index="18119" v0="3213" v1="3730" v2="4702" v3="4828" />
+ <tetrahedron index="18120" v0="3072" v1="3087" v2="3213" v3="4687" />
+ <tetrahedron index="18121" v0="3087" v1="3213" v2="4687" v3="4702" />
+ <tetrahedron index="18122" v0="3213" v1="4687" v2="4702" v3="4828" />
+ <tetrahedron index="18123" v0="3055" v1="3137" v2="3207" v3="4670" />
+ <tetrahedron index="18124" v0="3137" v1="3207" v2="4670" v3="4752" />
+ <tetrahedron index="18125" v0="3207" v1="4670" v2="4752" v3="4822" />
+ <tetrahedron index="18126" v0="3137" v1="3138" v2="3207" v3="4752" />
+ <tetrahedron index="18127" v0="3138" v1="3207" v2="4752" v3="4753" />
+ <tetrahedron index="18128" v0="3207" v1="4752" v2="4753" v3="4822" />
+ <tetrahedron index="18129" v0="3035" v1="3039" v2="3149" v3="4650" />
+ <tetrahedron index="18130" v0="3039" v1="3149" v2="4650" v3="4654" />
+ <tetrahedron index="18131" v0="3149" v1="4650" v2="4654" v3="4764" />
+ <tetrahedron index="18132" v0="2403" v1="3035" v2="3149" v3="4018" />
+ <tetrahedron index="18133" v0="3035" v1="3149" v2="4018" v3="4650" />
+ <tetrahedron index="18134" v0="3149" v1="4018" v2="4650" v3="4764" />
+ <tetrahedron index="18135" v0="1691" v1="3107" v2="3150" v3="3306" />
+ <tetrahedron index="18136" v0="3107" v1="3150" v2="3306" v3="4722" />
+ <tetrahedron index="18137" v0="3150" v1="3306" v2="4722" v3="4765" />
+ <tetrahedron index="18138" v0="1691" v1="3078" v2="3150" v3="3306" />
+ <tetrahedron index="18139" v0="3078" v1="3150" v2="3306" v3="4693" />
+ <tetrahedron index="18140" v0="3150" v1="3306" v2="4693" v3="4765" />
+ <tetrahedron index="18141" v0="2627" v1="3133" v2="3201" v3="4242" />
+ <tetrahedron index="18142" v0="3133" v1="3201" v2="4242" v3="4748" />
+ <tetrahedron index="18143" v0="3201" v1="4242" v2="4748" v3="4816" />
+ <tetrahedron index="18144" v0="2627" v1="3097" v2="3201" v3="4242" />
+ <tetrahedron index="18145" v0="3097" v1="3201" v2="4242" v3="4712" />
+ <tetrahedron index="18146" v0="3201" v1="4242" v2="4712" v3="4816" />
+ <tetrahedron index="18147" v0="2845" v1="3208" v2="3226" v3="4460" />
+ <tetrahedron index="18148" v0="3208" v1="3226" v2="4460" v3="4823" />
+ <tetrahedron index="18149" v0="3226" v1="4460" v2="4823" v3="4841" />
+ <tetrahedron index="18150" v0="3080" v1="3208" v2="3226" v3="4695" />
+ <tetrahedron index="18151" v0="3208" v1="3226" v2="4695" v3="4823" />
+ <tetrahedron index="18152" v0="3226" v1="4695" v2="4823" v3="4841" />
+ <tetrahedron index="18153" v0="2939" v1="3120" v2="3209" v3="4554" />
+ <tetrahedron index="18154" v0="3120" v1="3209" v2="4554" v3="4735" />
+ <tetrahedron index="18155" v0="3209" v1="4554" v2="4735" v3="4824" />
+ <tetrahedron index="18156" v0="1647" v1="2073" v2="3217" v3="3262" />
+ <tetrahedron index="18157" v0="2073" v1="3217" v2="3262" v3="3688" />
+ <tetrahedron index="18158" v0="3217" v1="3262" v2="3688" v3="4832" />
+ <tetrahedron index="18159" v0="1922" v1="3112" v2="3198" v3="3537" />
+ <tetrahedron index="18160" v0="3112" v1="3198" v2="3537" v3="4727" />
+ <tetrahedron index="18161" v0="3198" v1="3537" v2="4727" v3="4813" />
+ <tetrahedron index="18162" v0="1922" v1="1924" v2="3198" v3="3537" />
+ <tetrahedron index="18163" v0="1924" v1="3198" v2="3537" v3="3539" />
+ <tetrahedron index="18164" v0="3198" v1="3537" v2="3539" v3="4813" />
+ <tetrahedron index="18165" v0="2777" v1="2779" v2="3006" v3="4392" />
+ <tetrahedron index="18166" v0="2779" v1="3006" v2="4392" v3="4394" />
+ <tetrahedron index="18167" v0="3006" v1="4392" v2="4394" v3="4621" />
+ <tetrahedron index="18168" v0="2708" v1="2779" v2="3006" v3="4323" />
+ <tetrahedron index="18169" v0="2779" v1="3006" v2="4323" v3="4394" />
+ <tetrahedron index="18170" v0="3006" v1="4323" v2="4394" v3="4621" />
+ <tetrahedron index="18171" v0="2541" v1="2963" v2="3115" v3="4156" />
+ <tetrahedron index="18172" v0="2963" v1="3115" v2="4156" v3="4578" />
+ <tetrahedron index="18173" v0="3115" v1="4156" v2="4578" v3="4730" />
+ <tetrahedron index="18174" v0="2315" v1="2963" v2="3115" v3="3930" />
+ <tetrahedron index="18175" v0="2963" v1="3115" v2="3930" v3="4578" />
+ <tetrahedron index="18176" v0="3115" v1="3930" v2="4578" v3="4730" />
+ <tetrahedron index="18177" v0="1770" v1="2414" v2="3211" v3="3385" />
+ <tetrahedron index="18178" v0="2414" v1="3211" v2="3385" v3="4029" />
+ <tetrahedron index="18179" v0="3211" v1="3385" v2="4029" v3="4826" />
+ <tetrahedron index="18180" v0="2234" v1="2961" v2="3210" v3="3849" />
+ <tetrahedron index="18181" v0="2961" v1="3210" v2="3849" v3="4576" />
+ <tetrahedron index="18182" v0="3210" v1="3849" v2="4576" v3="4825" />
+ <tetrahedron index="18183" v0="2965" v1="2966" v2="3096" v3="4580" />
+ <tetrahedron index="18184" v0="2966" v1="3096" v2="4580" v3="4581" />
+ <tetrahedron index="18185" v0="3096" v1="4580" v2="4581" v3="4711" />
+ <tetrahedron index="18186" v0="2966" v1="3096" v2="3199" v3="4581" />
+ <tetrahedron index="18187" v0="3096" v1="3199" v2="4581" v3="4711" />
+ <tetrahedron index="18188" v0="3199" v1="4581" v2="4711" v3="4814" />
+ <tetrahedron index="18189" v0="2651" v1="2871" v2="3206" v3="4266" />
+ <tetrahedron index="18190" v0="2871" v1="3206" v2="4266" v3="4486" />
+ <tetrahedron index="18191" v0="3206" v1="4266" v2="4486" v3="4821" />
+ <tetrahedron index="18192" v0="2651" v1="3205" v2="3206" v3="4266" />
+ <tetrahedron index="18193" v0="3205" v1="3206" v2="4266" v3="4820" />
+ <tetrahedron index="18194" v0="3206" v1="4266" v2="4820" v3="4821" />
+ <tetrahedron index="18195" v0="2881" v1="2904" v2="3227" v3="4496" />
+ <tetrahedron index="18196" v0="2904" v1="3227" v2="4496" v3="4519" />
+ <tetrahedron index="18197" v0="3227" v1="4496" v2="4519" v3="4842" />
+ <tetrahedron index="18198" v0="2904" v1="3209" v2="3227" v3="4519" />
+ <tetrahedron index="18199" v0="3209" v1="3227" v2="4519" v3="4824" />
+ <tetrahedron index="18200" v0="3227" v1="4519" v2="4824" v3="4842" />
+ <tetrahedron index="18201" v0="2511" v1="2815" v2="3196" v3="4126" />
+ <tetrahedron index="18202" v0="2815" v1="3196" v2="4126" v3="4430" />
+ <tetrahedron index="18203" v0="3196" v1="4126" v2="4430" v3="4811" />
+ <tetrahedron index="18204" v0="2511" v1="2946" v2="3196" v3="4126" />
+ <tetrahedron index="18205" v0="2946" v1="3196" v2="4126" v3="4561" />
+ <tetrahedron index="18206" v0="3196" v1="4126" v2="4561" v3="4811" />
+ <tetrahedron index="18207" v0="2719" v1="2765" v2="2798" v3="4334" />
+ <tetrahedron index="18208" v0="2765" v1="2798" v2="4334" v3="4380" />
+ <tetrahedron index="18209" v0="2798" v1="4334" v2="4380" v3="4413" />
+ <tetrahedron index="18210" v0="2719" v1="2780" v2="2798" v3="4334" />
+ <tetrahedron index="18211" v0="2780" v1="2798" v2="4334" v3="4395" />
+ <tetrahedron index="18212" v0="2798" v1="4334" v2="4395" v3="4413" />
+ <tetrahedron index="18213" v0="1903" v1="3096" v2="3199" v3="3518" />
+ <tetrahedron index="18214" v0="3096" v1="3199" v2="3518" v3="4711" />
+ <tetrahedron index="18215" v0="3199" v1="3518" v2="4711" v3="4814" />
+ <tetrahedron index="18216" v0="1903" v1="1904" v2="3096" v3="3518" />
+ <tetrahedron index="18217" v0="1904" v1="3096" v2="3518" v3="3519" />
+ <tetrahedron index="18218" v0="3096" v1="3518" v2="3519" v3="4711" />
+ <tetrahedron index="18219" v0="3044" v1="3090" v2="3126" v3="4659" />
+ <tetrahedron index="18220" v0="3090" v1="3126" v2="4659" v3="4705" />
+ <tetrahedron index="18221" v0="3126" v1="4659" v2="4705" v3="4741" />
+ <tetrahedron index="18222" v0="3044" v1="3102" v2="3126" v3="4659" />
+ <tetrahedron index="18223" v0="3102" v1="3126" v2="4659" v3="4717" />
+ <tetrahedron index="18224" v0="3126" v1="4659" v2="4717" v3="4741" />
+ <tetrahedron index="18225" v0="1986" v1="1987" v2="2528" v3="3601" />
+ <tetrahedron index="18226" v0="1987" v1="2528" v2="3601" v3="3602" />
+ <tetrahedron index="18227" v0="2528" v1="3601" v2="3602" v3="4143" />
+ <tetrahedron index="18228" v0="1987" v1="2174" v2="2528" v3="3602" />
+ <tetrahedron index="18229" v0="2174" v1="2528" v2="3602" v3="3789" />
+ <tetrahedron index="18230" v0="2528" v1="3602" v2="3789" v3="4143" />
+ <tetrahedron index="18231" v0="1794" v1="2780" v2="2798" v3="3409" />
+ <tetrahedron index="18232" v0="2780" v1="2798" v2="3409" v3="4395" />
+ <tetrahedron index="18233" v0="2798" v1="3409" v2="4395" v3="4413" />
+ <tetrahedron index="18234" v0="1794" v1="1795" v2="2798" v3="3409" />
+ <tetrahedron index="18235" v0="1795" v1="2798" v2="3409" v3="3410" />
+ <tetrahedron index="18236" v0="2798" v1="3409" v2="3410" v3="4413" />
+ <tetrahedron index="18237" v0="2512" v1="2513" v2="2988" v3="4127" />
+ <tetrahedron index="18238" v0="2513" v1="2988" v2="4127" v3="4128" />
+ <tetrahedron index="18239" v0="2988" v1="4127" v2="4128" v3="4603" />
+ <tetrahedron index="18240" v0="2513" v1="2988" v2="3020" v3="4128" />
+ <tetrahedron index="18241" v0="2988" v1="3020" v2="4128" v3="4603" />
+ <tetrahedron index="18242" v0="3020" v1="4128" v2="4603" v3="4635" />
+ <tetrahedron index="18243" v0="2024" v1="2115" v2="3213" v3="3639" />
+ <tetrahedron index="18244" v0="2115" v1="3213" v2="3639" v3="3730" />
+ <tetrahedron index="18245" v0="3213" v1="3639" v2="3730" v3="4828" />
+ <tetrahedron index="18246" v0="2024" v1="2025" v2="3213" v3="3639" />
+ <tetrahedron index="18247" v0="2025" v1="3213" v2="3639" v3="3640" />
+ <tetrahedron index="18248" v0="3213" v1="3639" v2="3640" v3="4828" />
+ <tetrahedron index="18249" v0="2265" v1="2952" v2="3033" v3="3880" />
+ <tetrahedron index="18250" v0="2952" v1="3033" v2="3880" v3="4567" />
+ <tetrahedron index="18251" v0="3033" v1="3880" v2="4567" v3="4648" />
+ <tetrahedron index="18252" v0="2265" v1="2266" v2="3033" v3="3880" />
+ <tetrahedron index="18253" v0="2266" v1="3033" v2="3880" v3="3881" />
+ <tetrahedron index="18254" v0="3033" v1="3880" v2="3881" v3="4648" />
+ <tetrahedron index="18255" v0="2953" v1="3111" v2="3165" v3="4568" />
+ <tetrahedron index="18256" v0="3111" v1="3165" v2="4568" v3="4726" />
+ <tetrahedron index="18257" v0="3165" v1="4568" v2="4726" v3="4780" />
+ <tetrahedron index="18258" v0="2953" v1="3165" v2="3224" v3="4568" />
+ <tetrahedron index="18259" v0="3165" v1="3224" v2="4568" v3="4780" />
+ <tetrahedron index="18260" v0="3224" v1="4568" v2="4780" v3="4839" />
+ <tetrahedron index="18261" v0="2661" v1="3016" v2="3079" v3="4276" />
+ <tetrahedron index="18262" v0="3016" v1="3079" v2="4276" v3="4631" />
+ <tetrahedron index="18263" v0="3079" v1="4276" v2="4631" v3="4694" />
+ <tetrahedron index="18264" v0="2661" v1="2980" v2="3016" v3="4276" />
+ <tetrahedron index="18265" v0="2980" v1="3016" v2="4276" v3="4595" />
+ <tetrahedron index="18266" v0="3016" v1="4276" v2="4595" v3="4631" />
+ <tetrahedron index="18267" v0="3132" v1="3174" v2="3214" v3="4747" />
+ <tetrahedron index="18268" v0="3174" v1="3214" v2="4747" v3="4789" />
+ <tetrahedron index="18269" v0="3214" v1="4747" v2="4789" v3="4829" />
+ <tetrahedron index="18270" v0="2925" v1="3174" v2="3214" v3="4540" />
+ <tetrahedron index="18271" v0="3174" v1="3214" v2="4540" v3="4789" />
+ <tetrahedron index="18272" v0="3214" v1="4540" v2="4789" v3="4829" />
+ <tetrahedron index="18273" v0="2844" v1="3153" v2="3185" v3="4459" />
+ <tetrahedron index="18274" v0="3153" v1="3185" v2="4459" v3="4768" />
+ <tetrahedron index="18275" v0="3185" v1="4459" v2="4768" v3="4800" />
+ <tetrahedron index="18276" v0="2527" v1="3153" v2="3185" v3="4142" />
+ <tetrahedron index="18277" v0="3153" v1="3185" v2="4142" v3="4768" />
+ <tetrahedron index="18278" v0="3185" v1="4142" v2="4768" v3="4800" />
+ <tetrahedron index="18279" v0="2579" v1="3133" v2="3215" v3="4194" />
+ <tetrahedron index="18280" v0="3133" v1="3215" v2="4194" v3="4748" />
+ <tetrahedron index="18281" v0="3215" v1="4194" v2="4748" v3="4830" />
+ <tetrahedron index="18282" v0="2577" v1="2579" v2="3215" v3="4192" />
+ <tetrahedron index="18283" v0="2579" v1="3215" v2="4192" v3="4194" />
+ <tetrahedron index="18284" v0="3215" v1="4192" v2="4194" v3="4830" />
+ <tetrahedron index="18285" v0="2573" v1="2821" v2="3215" v3="4188" />
+ <tetrahedron index="18286" v0="2821" v1="3215" v2="4188" v3="4436" />
+ <tetrahedron index="18287" v0="3215" v1="4188" v2="4436" v3="4830" />
+ <tetrahedron index="18288" v0="2852" v1="2853" v2="2946" v3="4467" />
+ <tetrahedron index="18289" v0="2853" v1="2946" v2="4467" v3="4468" />
+ <tetrahedron index="18290" v0="2946" v1="4467" v2="4468" v3="4561" />
+ <tetrahedron index="18291" v0="2853" v1="2946" v2="2949" v3="4468" />
+ <tetrahedron index="18292" v0="2946" v1="2949" v2="4468" v3="4561" />
+ <tetrahedron index="18293" v0="2949" v1="4468" v2="4561" v3="4564" />
+ <tetrahedron index="18294" v0="1849" v1="2344" v2="3197" v3="3464" />
+ <tetrahedron index="18295" v0="2344" v1="3197" v2="3464" v3="3959" />
+ <tetrahedron index="18296" v0="3197" v1="3464" v2="3959" v3="4812" />
+ <tetrahedron index="18297" v0="2344" v1="3017" v2="3197" v3="3959" />
+ <tetrahedron index="18298" v0="3017" v1="3197" v2="3959" v3="4632" />
+ <tetrahedron index="18299" v0="3197" v1="3959" v2="4632" v3="4812" />
+ <tetrahedron index="18300" v0="1844" v1="2711" v2="3134" v3="3459" />
+ <tetrahedron index="18301" v0="2711" v1="3134" v2="3459" v3="4326" />
+ <tetrahedron index="18302" v0="3134" v1="3459" v2="4326" v3="4749" />
+ <tetrahedron index="18303" v0="2711" v1="3134" v2="3138" v3="4326" />
+ <tetrahedron index="18304" v0="3134" v1="3138" v2="4326" v3="4749" />
+ <tetrahedron index="18305" v0="3138" v1="4326" v2="4749" v3="4753" />
+ <tetrahedron index="18306" v0="3058" v1="3188" v2="3216" v3="4673" />
+ <tetrahedron index="18307" v0="3188" v1="3216" v2="4673" v3="4803" />
+ <tetrahedron index="18308" v0="3216" v1="4673" v2="4803" v3="4831" />
+ <tetrahedron index="18309" v0="2848" v1="3058" v2="3216" v3="4463" />
+ <tetrahedron index="18310" v0="3058" v1="3216" v2="4463" v3="4673" />
+ <tetrahedron index="18311" v0="3216" v1="4463" v2="4673" v3="4831" />
+ <tetrahedron index="18312" v0="3080" v1="3159" v2="3208" v3="4695" />
+ <tetrahedron index="18313" v0="3159" v1="3208" v2="4695" v3="4774" />
+ <tetrahedron index="18314" v0="3208" v1="4695" v2="4774" v3="4823" />
+ <tetrahedron index="18315" v0="2412" v1="3159" v2="3208" v3="4027" />
+ <tetrahedron index="18316" v0="3159" v1="3208" v2="4027" v3="4774" />
+ <tetrahedron index="18317" v0="3208" v1="4027" v2="4774" v3="4823" />
+ <tetrahedron index="18318" v0="3135" v1="3141" v2="3219" v3="4750" />
+ <tetrahedron index="18319" v0="3141" v1="3219" v2="4750" v3="4756" />
+ <tetrahedron index="18320" v0="3219" v1="4750" v2="4756" v3="4834" />
+ <tetrahedron index="18321" v0="2233" v1="3135" v2="3219" v3="3848" />
+ <tetrahedron index="18322" v0="3135" v1="3219" v2="3848" v3="4750" />
+ <tetrahedron index="18323" v0="3219" v1="3848" v2="4750" v3="4834" />
+ <tetrahedron index="18324" v0="2176" v1="3004" v2="3170" v3="3791" />
+ <tetrahedron index="18325" v0="3004" v1="3170" v2="3791" v3="4619" />
+ <tetrahedron index="18326" v0="3170" v1="3791" v2="4619" v3="4785" />
+ <tetrahedron index="18327" v0="2096" v1="2176" v2="3170" v3="3711" />
+ <tetrahedron index="18328" v0="2176" v1="3170" v2="3711" v3="3791" />
+ <tetrahedron index="18329" v0="3170" v1="3711" v2="3791" v3="4785" />
+ <tetrahedron index="18330" v0="1987" v1="2175" v2="3127" v3="3602" />
+ <tetrahedron index="18331" v0="2175" v1="3127" v2="3602" v3="3790" />
+ <tetrahedron index="18332" v0="3127" v1="3602" v2="3790" v3="4742" />
+ <tetrahedron index="18333" v0="1987" v1="2827" v2="3127" v3="3602" />
+ <tetrahedron index="18334" v0="2827" v1="3127" v2="3602" v3="4442" />
+ <tetrahedron index="18335" v0="3127" v1="3602" v2="4442" v3="4742" />
+ <tetrahedron index="18336" v0="2194" v1="3024" v2="3036" v3="3809" />
+ <tetrahedron index="18337" v0="3024" v1="3036" v2="3809" v3="4639" />
+ <tetrahedron index="18338" v0="3036" v1="3809" v2="4639" v3="4651" />
+ <tetrahedron index="18339" v0="1894" v1="2194" v2="3024" v3="3509" />
+ <tetrahedron index="18340" v0="2194" v1="3024" v2="3509" v3="3809" />
+ <tetrahedron index="18341" v0="3024" v1="3509" v2="3809" v3="4639" />
+ <tetrahedron index="18342" v0="1893" v1="1973" v2="3116" v3="3508" />
+ <tetrahedron index="18343" v0="1973" v1="3116" v2="3508" v3="3588" />
+ <tetrahedron index="18344" v0="3116" v1="3508" v2="3588" v3="4731" />
+ <tetrahedron index="18345" v0="1759" v1="1893" v2="3116" v3="3374" />
+ <tetrahedron index="18346" v0="1893" v1="3116" v2="3374" v3="3508" />
+ <tetrahedron index="18347" v0="3116" v1="3374" v2="3508" v3="4731" />
+ <tetrahedron index="18348" v0="2079" v1="2080" v2="3143" v3="3694" />
+ <tetrahedron index="18349" v0="2080" v1="3143" v2="3694" v3="3695" />
+ <tetrahedron index="18350" v0="3143" v1="3694" v2="3695" v3="4758" />
+ <tetrahedron index="18351" v0="2398" v1="2598" v2="3147" v3="4013" />
+ <tetrahedron index="18352" v0="2598" v1="3147" v2="4013" v3="4213" />
+ <tetrahedron index="18353" v0="3147" v1="4013" v2="4213" v3="4762" />
+ <tetrahedron index="18354" v0="2398" v1="2548" v2="3147" v3="4013" />
+ <tetrahedron index="18355" v0="2548" v1="3147" v2="4013" v3="4163" />
+ <tetrahedron index="18356" v0="3147" v1="4013" v2="4163" v3="4762" />
+ <tetrahedron index="18357" v0="2332" v1="2804" v2="3221" v3="3947" />
+ <tetrahedron index="18358" v0="2804" v1="3221" v2="3947" v3="4419" />
+ <tetrahedron index="18359" v0="3221" v1="3947" v2="4419" v3="4836" />
+ <tetrahedron index="18360" v0="2331" v1="2332" v2="3221" v3="3946" />
+ <tetrahedron index="18361" v0="2332" v1="3221" v2="3946" v3="3947" />
+ <tetrahedron index="18362" v0="3221" v1="3946" v2="3947" v3="4836" />
+ <tetrahedron index="18363" v0="1720" v1="2989" v2="3218" v3="3335" />
+ <tetrahedron index="18364" v0="2989" v1="3218" v2="3335" v3="4604" />
+ <tetrahedron index="18365" v0="3218" v1="3335" v2="4604" v3="4833" />
+ <tetrahedron index="18366" v0="1720" v1="1984" v2="3218" v3="3335" />
+ <tetrahedron index="18367" v0="1984" v1="3218" v2="3335" v3="3599" />
+ <tetrahedron index="18368" v0="3218" v1="3335" v2="3599" v3="4833" />
+ <tetrahedron index="18369" v0="2085" v1="2721" v2="3066" v3="3700" />
+ <tetrahedron index="18370" v0="2721" v1="3066" v2="3700" v3="4336" />
+ <tetrahedron index="18371" v0="3066" v1="3700" v2="4336" v3="4681" />
+ <tetrahedron index="18372" v0="1938" v1="2085" v2="3066" v3="3553" />
+ <tetrahedron index="18373" v0="2085" v1="3066" v2="3553" v3="3700" />
+ <tetrahedron index="18374" v0="3066" v1="3553" v2="3700" v3="4681" />
+ <tetrahedron index="18375" v0="2014" v1="2426" v2="3220" v3="3629" />
+ <tetrahedron index="18376" v0="2426" v1="3220" v2="3629" v3="4041" />
+ <tetrahedron index="18377" v0="3220" v1="3629" v2="4041" v3="4835" />
+ <tetrahedron index="18378" v0="2014" v1="2015" v2="3220" v3="3629" />
+ <tetrahedron index="18379" v0="2015" v1="3220" v2="3629" v3="3630" />
+ <tetrahedron index="18380" v0="3220" v1="3629" v2="3630" v3="4835" />
+ <tetrahedron index="18381" v0="1876" v1="2059" v2="3113" v3="3491" />
+ <tetrahedron index="18382" v0="2059" v1="3113" v2="3491" v3="3674" />
+ <tetrahedron index="18383" v0="3113" v1="3491" v2="3674" v3="4728" />
+ <tetrahedron index="18384" v0="2997" v1="3005" v2="3148" v3="4612" />
+ <tetrahedron index="18385" v0="3005" v1="3148" v2="4612" v3="4620" />
+ <tetrahedron index="18386" v0="3148" v1="4612" v2="4620" v3="4763" />
+ <tetrahedron index="18387" v0="2451" v1="3005" v2="3148" v3="4066" />
+ <tetrahedron index="18388" v0="3005" v1="3148" v2="4066" v3="4620" />
+ <tetrahedron index="18389" v0="3148" v1="4066" v2="4620" v3="4763" />
+ <tetrahedron index="18390" v0="1696" v1="2028" v2="2453" v3="3311" />
+ <tetrahedron index="18391" v0="2028" v1="2453" v2="3311" v3="3643" />
+ <tetrahedron index="18392" v0="2453" v1="3311" v2="3643" v3="4068" />
+ <tetrahedron index="18393" v0="1793" v1="2028" v2="2453" v3="3408" />
+ <tetrahedron index="18394" v0="2028" v1="2453" v2="3408" v3="3643" />
+ <tetrahedron index="18395" v0="2453" v1="3408" v2="3643" v3="4068" />
+ <tetrahedron index="18396" v0="2212" v1="2337" v2="2572" v3="3827" />
+ <tetrahedron index="18397" v0="2337" v1="2572" v2="3827" v3="3952" />
+ <tetrahedron index="18398" v0="2572" v1="3827" v2="3952" v3="4187" />
+ <tetrahedron index="18399" v0="2337" v1="2554" v2="2572" v3="3952" />
+ <tetrahedron index="18400" v0="2554" v1="2572" v2="3952" v3="4169" />
+ <tetrahedron index="18401" v0="2572" v1="3952" v2="4169" v3="4187" />
+ <tetrahedron index="18402" v0="2423" v1="2548" v2="3153" v3="4038" />
+ <tetrahedron index="18403" v0="2548" v1="3153" v2="4038" v3="4163" />
+ <tetrahedron index="18404" v0="3153" v1="4038" v2="4163" v3="4768" />
+ <tetrahedron index="18405" v0="2423" v1="2985" v2="3153" v3="4038" />
+ <tetrahedron index="18406" v0="2985" v1="3153" v2="4038" v3="4600" />
+ <tetrahedron index="18407" v0="3153" v1="4038" v2="4600" v3="4768" />
+ <tetrahedron index="18408" v0="2724" v1="2995" v2="3221" v3="4339" />
+ <tetrahedron index="18409" v0="2995" v1="3221" v2="4339" v3="4610" />
+ <tetrahedron index="18410" v0="3221" v1="4339" v2="4610" v3="4836" />
+ <tetrahedron index="18411" v0="2724" v1="2804" v2="3221" v3="4339" />
+ <tetrahedron index="18412" v0="2804" v1="3221" v2="4339" v3="4419" />
+ <tetrahedron index="18413" v0="3221" v1="4339" v2="4419" v3="4836" />
+ <tetrahedron index="18414" v0="2426" v1="3173" v2="3220" v3="4041" />
+ <tetrahedron index="18415" v0="3173" v1="3220" v2="4041" v3="4788" />
+ <tetrahedron index="18416" v0="3220" v1="4041" v2="4788" v3="4835" />
+ <tetrahedron index="18417" v0="2685" v1="3173" v2="3220" v3="4300" />
+ <tetrahedron index="18418" v0="3173" v1="3220" v2="4300" v3="4788" />
+ <tetrahedron index="18419" v0="3220" v1="4300" v2="4788" v3="4835" />
+ <tetrahedron index="18420" v0="2756" v1="3105" v2="3152" v3="4371" />
+ <tetrahedron index="18421" v0="3105" v1="3152" v2="4371" v3="4720" />
+ <tetrahedron index="18422" v0="3152" v1="4371" v2="4720" v3="4767" />
+ <tetrahedron index="18423" v0="2979" v1="3105" v2="3152" v3="4594" />
+ <tetrahedron index="18424" v0="3105" v1="3152" v2="4594" v3="4720" />
+ <tetrahedron index="18425" v0="3152" v1="4594" v2="4720" v3="4767" />
+ <tetrahedron index="18426" v0="2562" v1="2671" v2="3124" v3="4177" />
+ <tetrahedron index="18427" v0="2671" v1="3124" v2="4177" v3="4286" />
+ <tetrahedron index="18428" v0="3124" v1="4177" v2="4286" v3="4739" />
+ <tetrahedron index="18429" v0="2562" v1="2670" v2="2671" v3="4177" />
+ <tetrahedron index="18430" v0="2670" v1="2671" v2="4177" v3="4285" />
+ <tetrahedron index="18431" v0="2671" v1="4177" v2="4285" v3="4286" />
+ <tetrahedron index="18432" v0="2036" v1="2812" v2="2994" v3="3651" />
+ <tetrahedron index="18433" v0="2812" v1="2994" v2="3651" v3="4427" />
+ <tetrahedron index="18434" v0="2994" v1="3651" v2="4427" v3="4609" />
+ <tetrahedron index="18435" v0="2812" v1="2994" v2="3108" v3="4427" />
+ <tetrahedron index="18436" v0="2994" v1="3108" v2="4427" v3="4609" />
+ <tetrahedron index="18437" v0="3108" v1="4427" v2="4609" v3="4723" />
+ <tetrahedron index="18438" v0="2742" v1="2743" v2="3154" v3="4357" />
+ <tetrahedron index="18439" v0="2743" v1="3154" v2="4357" v3="4358" />
+ <tetrahedron index="18440" v0="3154" v1="4357" v2="4358" v3="4769" />
+ <tetrahedron index="18441" v0="2742" v1="2867" v2="3154" v3="4357" />
+ <tetrahedron index="18442" v0="2867" v1="3154" v2="4357" v3="4482" />
+ <tetrahedron index="18443" v0="3154" v1="4357" v2="4482" v3="4769" />
+ <tetrahedron index="18444" v0="2645" v1="2669" v2="3155" v3="4260" />
+ <tetrahedron index="18445" v0="2669" v1="3155" v2="4260" v3="4284" />
+ <tetrahedron index="18446" v0="3155" v1="4260" v2="4284" v3="4770" />
+ <tetrahedron index="18447" v0="2305" v1="2645" v2="3155" v3="3920" />
+ <tetrahedron index="18448" v0="2645" v1="3155" v2="3920" v3="4260" />
+ <tetrahedron index="18449" v0="3155" v1="3920" v2="4260" v3="4770" />
+ <tetrahedron index="18450" v0="1845" v1="2475" v2="3156" v3="3460" />
+ <tetrahedron index="18451" v0="2475" v1="3156" v2="3460" v3="4090" />
+ <tetrahedron index="18452" v0="3156" v1="3460" v2="4090" v3="4771" />
+ <tetrahedron index="18453" v0="2475" v1="2643" v2="3156" v3="4090" />
+ <tetrahedron index="18454" v0="2643" v1="3156" v2="4090" v3="4258" />
+ <tetrahedron index="18455" v0="3156" v1="4090" v2="4258" v3="4771" />
+ <tetrahedron index="18456" v0="2182" v1="2869" v2="3157" v3="3797" />
+ <tetrahedron index="18457" v0="2869" v1="3157" v2="3797" v3="4484" />
+ <tetrahedron index="18458" v0="3157" v1="3797" v2="4484" v3="4772" />
+ <tetrahedron index="18459" v0="1730" v1="2182" v2="3157" v3="3345" />
+ <tetrahedron index="18460" v0="2182" v1="3157" v2="3345" v3="3797" />
+ <tetrahedron index="18461" v0="3157" v1="3345" v2="3797" v3="4772" />
+ <tetrahedron index="18462" v0="1706" v1="3054" v2="3171" v3="3321" />
+ <tetrahedron index="18463" v0="3054" v1="3171" v2="3321" v3="4669" />
+ <tetrahedron index="18464" v0="3171" v1="3321" v2="4669" v3="4786" />
+ <tetrahedron index="18465" v0="1691" v1="3078" v2="3172" v3="3306" />
+ <tetrahedron index="18466" v0="3078" v1="3172" v2="3306" v3="4693" />
+ <tetrahedron index="18467" v0="3172" v1="3306" v2="4693" v3="4787" />
+ <tetrahedron index="18468" v0="1691" v1="1692" v2="3172" v3="3306" />
+ <tetrahedron index="18469" v0="1692" v1="3172" v2="3306" v3="3307" />
+ <tetrahedron index="18470" v0="3172" v1="3306" v2="3307" v3="4787" />
+ <tetrahedron index="18471" v0="1932" v1="2004" v2="3212" v3="3547" />
+ <tetrahedron index="18472" v0="2004" v1="3212" v2="3547" v3="3619" />
+ <tetrahedron index="18473" v0="3212" v1="3547" v2="3619" v3="4827" />
+ <tetrahedron index="18474" v0="2735" v1="2838" v2="3192" v3="4350" />
+ <tetrahedron index="18475" v0="2838" v1="3192" v2="4350" v3="4453" />
+ <tetrahedron index="18476" v0="3192" v1="4350" v2="4453" v3="4807" />
+ <tetrahedron index="18477" v0="2837" v1="2838" v2="3192" v3="4452" />
+ <tetrahedron index="18478" v0="2838" v1="3192" v2="4452" v3="4453" />
+ <tetrahedron index="18479" v0="3192" v1="4452" v2="4453" v3="4807" />
+ <tetrahedron index="18480" v0="3222" v1="3224" v2="3229" v3="4837" />
+ <tetrahedron index="18481" v0="3224" v1="3229" v2="4837" v3="4839" />
+ <tetrahedron index="18482" v0="3229" v1="4837" v2="4839" v3="4844" />
+ <tetrahedron index="18483" v0="2163" v1="2424" v2="3161" v3="3778" />
+ <tetrahedron index="18484" v0="2424" v1="3161" v2="3778" v3="4039" />
+ <tetrahedron index="18485" v0="3161" v1="3778" v2="4039" v3="4776" />
+ <tetrahedron index="18486" v0="2424" v1="2425" v2="3161" v3="4039" />
+ <tetrahedron index="18487" v0="2425" v1="3161" v2="4039" v3="4040" />
+ <tetrahedron index="18488" v0="3161" v1="4039" v2="4040" v3="4776" />
+ <tetrahedron index="18489" v0="2315" v1="2316" v2="2963" v3="3930" />
+ <tetrahedron index="18490" v0="2316" v1="2963" v2="3930" v3="3931" />
+ <tetrahedron index="18491" v0="2963" v1="3930" v2="3931" v3="4578" />
+ <tetrahedron index="18492" v0="2138" v1="2316" v2="2963" v3="3753" />
+ <tetrahedron index="18493" v0="2316" v1="2963" v2="3753" v3="3931" />
+ <tetrahedron index="18494" v0="2963" v1="3753" v2="3931" v3="4578" />
+ <tetrahedron index="18495" v0="2363" v1="2925" v2="3160" v3="3978" />
+ <tetrahedron index="18496" v0="2925" v1="3160" v2="3978" v3="4540" />
+ <tetrahedron index="18497" v0="3160" v1="3978" v2="4540" v3="4775" />
+ <tetrahedron index="18498" v0="2925" v1="3160" v2="3214" v3="4540" />
+ <tetrahedron index="18499" v0="3160" v1="3214" v2="4540" v3="4775" />
+ <tetrahedron index="18500" v0="3214" v1="4540" v2="4775" v3="4829" />
+ <tetrahedron index="18501" v0="2425" v1="3134" v2="3161" v3="4040" />
+ <tetrahedron index="18502" v0="3134" v1="3161" v2="4040" v3="4749" />
+ <tetrahedron index="18503" v0="3161" v1="4040" v2="4749" v3="4776" />
+ <tetrahedron index="18504" v0="3134" v1="3161" v2="3207" v3="4749" />
+ <tetrahedron index="18505" v0="3161" v1="3207" v2="4749" v3="4776" />
+ <tetrahedron index="18506" v0="3207" v1="4749" v2="4776" v3="4822" />
+ <tetrahedron index="18507" v0="2839" v1="3101" v2="3174" v3="4454" />
+ <tetrahedron index="18508" v0="3101" v1="3174" v2="4454" v3="4716" />
+ <tetrahedron index="18509" v0="3174" v1="4454" v2="4716" v3="4789" />
+ <tetrahedron index="18510" v0="2830" v1="2839" v2="3174" v3="4445" />
+ <tetrahedron index="18511" v0="2839" v1="3174" v2="4445" v3="4454" />
+ <tetrahedron index="18512" v0="3174" v1="4445" v2="4454" v3="4789" />
+ <tetrahedron index="18513" v0="2457" v1="2667" v2="3065" v3="4072" />
+ <tetrahedron index="18514" v0="2667" v1="3065" v2="4072" v3="4282" />
+ <tetrahedron index="18515" v0="3065" v1="4072" v2="4282" v3="4680" />
+ <tetrahedron index="18516" v0="2591" v1="2667" v2="3065" v3="4206" />
+ <tetrahedron index="18517" v0="2667" v1="3065" v2="4206" v3="4282" />
+ <tetrahedron index="18518" v0="3065" v1="4206" v2="4282" v3="4680" />
+ <tetrahedron index="18519" v0="2652" v1="2712" v2="3015" v3="4267" />
+ <tetrahedron index="18520" v0="2712" v1="3015" v2="4267" v3="4327" />
+ <tetrahedron index="18521" v0="3015" v1="4267" v2="4327" v3="4630" />
+ <tetrahedron index="18522" v0="2652" v1="2653" v2="3015" v3="4267" />
+ <tetrahedron index="18523" v0="2653" v1="3015" v2="4267" v3="4268" />
+ <tetrahedron index="18524" v0="3015" v1="4267" v2="4268" v3="4630" />
+ <tetrahedron index="18525" v0="2754" v1="3009" v2="3178" v3="4369" />
+ <tetrahedron index="18526" v0="3009" v1="3178" v2="4369" v3="4624" />
+ <tetrahedron index="18527" v0="3178" v1="4369" v2="4624" v3="4793" />
+ <tetrahedron index="18528" v0="1813" v1="2754" v2="3178" v3="3428" />
+ <tetrahedron index="18529" v0="2754" v1="3178" v2="3428" v3="4369" />
+ <tetrahedron index="18530" v0="3178" v1="3428" v2="4369" v3="4793" />
+ <tetrahedron index="18531" v0="2740" v1="2793" v2="3163" v3="4355" />
+ <tetrahedron index="18532" v0="2793" v1="3163" v2="4355" v3="4408" />
+ <tetrahedron index="18533" v0="3163" v1="4355" v2="4408" v3="4778" />
+ <tetrahedron index="18534" v0="2633" v1="2740" v2="3163" v3="4248" />
+ <tetrahedron index="18535" v0="2740" v1="3163" v2="4248" v3="4355" />
+ <tetrahedron index="18536" v0="3163" v1="4248" v2="4355" v3="4778" />
+ <tetrahedron index="18537" v0="2726" v1="2856" v2="3164" v3="4341" />
+ <tetrahedron index="18538" v0="2856" v1="3164" v2="4341" v3="4471" />
+ <tetrahedron index="18539" v0="3164" v1="4341" v2="4471" v3="4779" />
+ <tetrahedron index="18540" v0="2856" v1="2857" v2="3164" v3="4471" />
+ <tetrahedron index="18541" v0="2857" v1="3164" v2="4471" v3="4472" />
+ <tetrahedron index="18542" v0="3164" v1="4471" v2="4472" v3="4779" />
+ <tetrahedron index="18543" v0="2002" v1="2186" v2="2984" v3="3617" />
+ <tetrahedron index="18544" v0="2186" v1="2984" v2="3617" v3="3801" />
+ <tetrahedron index="18545" v0="2984" v1="3617" v2="3801" v3="4599" />
+ <tetrahedron index="18546" v0="2427" v1="3223" v2="3224" v3="4042" />
+ <tetrahedron index="18547" v0="3223" v1="3224" v2="4042" v3="4838" />
+ <tetrahedron index="18548" v0="3224" v1="4042" v2="4838" v3="4839" />
+ <tetrahedron index="18549" v0="3222" v1="3223" v2="3224" v3="4837" />
+ <tetrahedron index="18550" v0="3223" v1="3224" v2="4837" v3="4838" />
+ <tetrahedron index="18551" v0="3224" v1="4837" v2="4838" v3="4839" />
+ <tetrahedron index="18552" v0="2293" v1="3143" v2="3225" v3="3908" />
+ <tetrahedron index="18553" v0="3143" v1="3225" v2="3908" v3="4758" />
+ <tetrahedron index="18554" v0="3225" v1="3908" v2="4758" v3="4840" />
+ <tetrahedron index="18555" v0="2310" v1="3143" v2="3225" v3="3925" />
+ <tetrahedron index="18556" v0="3143" v1="3225" v2="3925" v3="4758" />
+ <tetrahedron index="18557" v0="3225" v1="3925" v2="4758" v3="4840" />
+ <tetrahedron index="18558" v0="2891" v1="3089" v2="3111" v3="4506" />
+ <tetrahedron index="18559" v0="3089" v1="3111" v2="4506" v3="4704" />
+ <tetrahedron index="18560" v0="3111" v1="4506" v2="4704" v3="4726" />
+ <tetrahedron index="18561" v0="2658" v1="2891" v2="3089" v3="4273" />
+ <tetrahedron index="18562" v0="2891" v1="3089" v2="4273" v3="4506" />
+ <tetrahedron index="18563" v0="3089" v1="4273" v2="4506" v3="4704" />
+ <tetrahedron index="18564" v0="2972" v1="3099" v2="3223" v3="4587" />
+ <tetrahedron index="18565" v0="3099" v1="3223" v2="4587" v3="4714" />
+ <tetrahedron index="18566" v0="3223" v1="4587" v2="4714" v3="4838" />
+ <tetrahedron index="18567" v0="2418" v1="2972" v2="3223" v3="4033" />
+ <tetrahedron index="18568" v0="2972" v1="3223" v2="4033" v3="4587" />
+ <tetrahedron index="18569" v0="3223" v1="4033" v2="4587" v3="4838" />
+ <tetrahedron index="18570" v0="2022" v1="2023" v2="3167" v3="3637" />
+ <tetrahedron index="18571" v0="2023" v1="3167" v2="3637" v3="3638" />
+ <tetrahedron index="18572" v0="3167" v1="3637" v2="3638" v3="4782" />
+ <tetrahedron index="18573" v0="2497" v1="2954" v2="3049" v3="4112" />
+ <tetrahedron index="18574" v0="2954" v1="3049" v2="4112" v3="4569" />
+ <tetrahedron index="18575" v0="3049" v1="4112" v2="4569" v3="4664" />
+ <tetrahedron index="18576" v0="2496" v1="2497" v2="3049" v3="4111" />
+ <tetrahedron index="18577" v0="2497" v1="3049" v2="4111" v3="4112" />
+ <tetrahedron index="18578" v0="3049" v1="4111" v2="4112" v3="4664" />
+ <tetrahedron index="18579" v0="2179" v1="2399" v2="3128" v3="3794" />
+ <tetrahedron index="18580" v0="2399" v1="3128" v2="3794" v3="4014" />
+ <tetrahedron index="18581" v0="3128" v1="3794" v2="4014" v3="4743" />
+ <tetrahedron index="18582" v0="1961" v1="2179" v2="3128" v3="3576" />
+ <tetrahedron index="18583" v0="2179" v1="3128" v2="3576" v3="3794" />
+ <tetrahedron index="18584" v0="3128" v1="3576" v2="3794" v3="4743" />
+ <tetrahedron index="18585" v0="2770" v1="2918" v2="2998" v3="4385" />
+ <tetrahedron index="18586" v0="2918" v1="2998" v2="4385" v3="4533" />
+ <tetrahedron index="18587" v0="2998" v1="4385" v2="4533" v3="4613" />
+ <tetrahedron index="18588" v0="2769" v1="2770" v2="2998" v3="4384" />
+ <tetrahedron index="18589" v0="2770" v1="2998" v2="4384" v3="4385" />
+ <tetrahedron index="18590" v0="2998" v1="4384" v2="4385" v3="4613" />
+ <tetrahedron index="18591" v0="2006" v1="2378" v2="2969" v3="3621" />
+ <tetrahedron index="18592" v0="2378" v1="2969" v2="3621" v3="3993" />
+ <tetrahedron index="18593" v0="2969" v1="3621" v2="3993" v3="4584" />
+ <tetrahedron index="18594" v0="2322" v1="2378" v2="2969" v3="3937" />
+ <tetrahedron index="18595" v0="2378" v1="2969" v2="3937" v3="3993" />
+ <tetrahedron index="18596" v0="2969" v1="3937" v2="3993" v3="4584" />
+ <tetrahedron index="18597" v0="2882" v1="2921" v2="3227" v3="4497" />
+ <tetrahedron index="18598" v0="2921" v1="3227" v2="4497" v3="4536" />
+ <tetrahedron index="18599" v0="3227" v1="4497" v2="4536" v3="4842" />
+ <tetrahedron index="18600" v0="2881" v1="2921" v2="3227" v3="4496" />
+ <tetrahedron index="18601" v0="2921" v1="3227" v2="4496" v3="4536" />
+ <tetrahedron index="18602" v0="3227" v1="4496" v2="4536" v3="4842" />
+ <tetrahedron index="18603" v0="2877" v1="2917" v2="3103" v3="4492" />
+ <tetrahedron index="18604" v0="2917" v1="3103" v2="4492" v3="4532" />
+ <tetrahedron index="18605" v0="3103" v1="4492" v2="4532" v3="4718" />
+ <tetrahedron index="18606" v0="2877" v1="3102" v2="3103" v3="4492" />
+ <tetrahedron index="18607" v0="3102" v1="3103" v2="4492" v3="4717" />
+ <tetrahedron index="18608" v0="3103" v1="4492" v2="4717" v3="4718" />
+ <tetrahedron index="18609" v0="2535" v1="2808" v2="3088" v3="4150" />
+ <tetrahedron index="18610" v0="2808" v1="3088" v2="4150" v3="4423" />
+ <tetrahedron index="18611" v0="3088" v1="4150" v2="4423" v3="4703" />
+ <tetrahedron index="18612" v0="2535" v1="2942" v2="3088" v3="4150" />
+ <tetrahedron index="18613" v0="2942" v1="3088" v2="4150" v3="4557" />
+ <tetrahedron index="18614" v0="3088" v1="4150" v2="4557" v3="4703" />
+ <tetrahedron index="18615" v0="2760" v1="3106" v2="3118" v3="4375" />
+ <tetrahedron index="18616" v0="3106" v1="3118" v2="4375" v3="4721" />
+ <tetrahedron index="18617" v0="3118" v1="4375" v2="4721" v3="4733" />
+ <tetrahedron index="18618" v0="1851" v1="2760" v2="3118" v3="3466" />
+ <tetrahedron index="18619" v0="2760" v1="3118" v2="3466" v3="4375" />
+ <tetrahedron index="18620" v0="3118" v1="3466" v2="4375" v3="4733" />
+ <tetrahedron index="18621" v0="1929" v1="2962" v2="3086" v3="3544" />
+ <tetrahedron index="18622" v0="2962" v1="3086" v2="3544" v3="4577" />
+ <tetrahedron index="18623" v0="3086" v1="3544" v2="4577" v3="4701" />
+ <tetrahedron index="18624" v0="1620" v1="1929" v2="3086" v3="3235" />
+ <tetrahedron index="18625" v0="1929" v1="3086" v2="3235" v3="3544" />
+ <tetrahedron index="18626" v0="3086" v1="3235" v2="3544" v3="4701" />
+ <tetrahedron index="18627" v0="3125" v1="3126" v2="3211" v3="4740" />
+ <tetrahedron index="18628" v0="3126" v1="3211" v2="4740" v3="4741" />
+ <tetrahedron index="18629" v0="3211" v1="4740" v2="4741" v3="4826" />
+ <tetrahedron index="18630" v0="2023" v1="3135" v2="3167" v3="3638" />
+ <tetrahedron index="18631" v0="3135" v1="3167" v2="3638" v3="4750" />
+ <tetrahedron index="18632" v0="3167" v1="3638" v2="4750" v3="4782" />
+ <tetrahedron index="18633" v0="3135" v1="3141" v2="3167" v3="4750" />
+ <tetrahedron index="18634" v0="3141" v1="3167" v2="4750" v3="4756" />
+ <tetrahedron index="18635" v0="3167" v1="4750" v2="4756" v3="4782" />
+ <tetrahedron index="18636" v0="2077" v1="2581" v2="3121" v3="3692" />
+ <tetrahedron index="18637" v0="2581" v1="3121" v2="3692" v3="4196" />
+ <tetrahedron index="18638" v0="3121" v1="3692" v2="4196" v3="4736" />
+ <tetrahedron index="18639" v0="2077" v1="2098" v2="3121" v3="3692" />
+ <tetrahedron index="18640" v0="2098" v1="3121" v2="3692" v3="3713" />
+ <tetrahedron index="18641" v0="3121" v1="3692" v2="3713" v3="4736" />
+ <tetrahedron index="18642" v0="2831" v1="2835" v2="3162" v3="4446" />
+ <tetrahedron index="18643" v0="2835" v1="3162" v2="4446" v3="4450" />
+ <tetrahedron index="18644" v0="3162" v1="4446" v2="4450" v3="4777" />
+ <tetrahedron index="18645" v0="2491" v1="2835" v2="3162" v3="4106" />
+ <tetrahedron index="18646" v0="2835" v1="3162" v2="4106" v3="4450" />
+ <tetrahedron index="18647" v0="3162" v1="4106" v2="4450" v3="4777" />
+ <tetrahedron index="18648" v0="2165" v1="2970" v2="3160" v3="3780" />
+ <tetrahedron index="18649" v0="2970" v1="3160" v2="3780" v3="4585" />
+ <tetrahedron index="18650" v0="3160" v1="3780" v2="4585" v3="4775" />
+ <tetrahedron index="18651" v0="2363" v1="2970" v2="3160" v3="3978" />
+ <tetrahedron index="18652" v0="2970" v1="3160" v2="3978" v3="4585" />
+ <tetrahedron index="18653" v0="3160" v1="3978" v2="4585" v3="4775" />
+ <tetrahedron index="18654" v0="2497" v1="3033" v2="3168" v3="4112" />
+ <tetrahedron index="18655" v0="3033" v1="3168" v2="4112" v3="4648" />
+ <tetrahedron index="18656" v0="3168" v1="4112" v2="4648" v3="4783" />
+ <tetrahedron index="18657" v0="2266" v1="3033" v2="3168" v3="3881" />
+ <tetrahedron index="18658" v0="3033" v1="3168" v2="3881" v3="4648" />
+ <tetrahedron index="18659" v0="3168" v1="3881" v2="4648" v3="4783" />
+ <tetrahedron index="18660" v0="2502" v1="3116" v2="3217" v3="4117" />
+ <tetrahedron index="18661" v0="3116" v1="3217" v2="4117" v3="4731" />
+ <tetrahedron index="18662" v0="3217" v1="4117" v2="4731" v3="4832" />
+ <tetrahedron index="18663" v0="2073" v1="3116" v2="3217" v3="3688" />
+ <tetrahedron index="18664" v0="3116" v1="3217" v2="3688" v3="4731" />
+ <tetrahedron index="18665" v0="3217" v1="3688" v2="4731" v3="4832" />
+ <tetrahedron index="18666" v0="3131" v1="3222" v2="3229" v3="4746" />
+ <tetrahedron index="18667" v0="3222" v1="3229" v2="4746" v3="4837" />
+ <tetrahedron index="18668" v0="3229" v1="4746" v2="4837" v3="4844" />
+ <tetrahedron index="18669" v0="3129" v1="3131" v2="3222" v3="4744" />
+ <tetrahedron index="18670" v0="3131" v1="3222" v2="4744" v3="4746" />
+ <tetrahedron index="18671" v0="3222" v1="4744" v2="4746" v3="4837" />
+ <tetrahedron index="18672" v0="1805" v1="3149" v2="3166" v3="3420" />
+ <tetrahedron index="18673" v0="3149" v1="3166" v2="3420" v3="4764" />
+ <tetrahedron index="18674" v0="3166" v1="3420" v2="4764" v3="4781" />
+ <tetrahedron index="18675" v0="2420" v1="3149" v2="3166" v3="4035" />
+ <tetrahedron index="18676" v0="3149" v1="3166" v2="4035" v3="4764" />
+ <tetrahedron index="18677" v0="3166" v1="4035" v2="4764" v3="4781" />
+ <tetrahedron index="18678" v0="1903" v1="3162" v2="3202" v3="3518" />
+ <tetrahedron index="18679" v0="3162" v1="3202" v2="3518" v3="4777" />
+ <tetrahedron index="18680" v0="3202" v1="3518" v2="4777" v3="4817" />
+ <tetrahedron index="18681" v0="1903" v1="2491" v2="3162" v3="3518" />
+ <tetrahedron index="18682" v0="2491" v1="3162" v2="3518" v3="4106" />
+ <tetrahedron index="18683" v0="3162" v1="3518" v2="4106" v3="4777" />
+ <tetrahedron index="18684" v0="1709" v1="1711" v2="2325" v3="3324" />
+ <tetrahedron index="18685" v0="1711" v1="2325" v2="3324" v3="3326" />
+ <tetrahedron index="18686" v0="2325" v1="3324" v2="3326" v3="3940" />
+ <tetrahedron index="18687" v0="1709" v1="2325" v2="2517" v3="3324" />
+ <tetrahedron index="18688" v0="2325" v1="2517" v2="3324" v3="3940" />
+ <tetrahedron index="18689" v0="2517" v1="3324" v2="3940" v3="4132" />
+ <tetrahedron index="18690" v0="2180" v1="3181" v2="3195" v3="3795" />
+ <tetrahedron index="18691" v0="3181" v1="3195" v2="3795" v3="4796" />
+ <tetrahedron index="18692" v0="3195" v1="3795" v2="4796" v3="4810" />
+ <tetrahedron index="18693" v0="2517" v1="3181" v2="3195" v3="4132" />
+ <tetrahedron index="18694" v0="3181" v1="3195" v2="4132" v3="4796" />
+ <tetrahedron index="18695" v0="3195" v1="4132" v2="4796" v3="4810" />
+ <tetrahedron index="18696" v0="2751" v1="2926" v2="3019" v3="4366" />
+ <tetrahedron index="18697" v0="2926" v1="3019" v2="4366" v3="4541" />
+ <tetrahedron index="18698" v0="3019" v1="4366" v2="4541" v3="4634" />
+ <tetrahedron index="18699" v0="2405" v1="2751" v2="3019" v3="4020" />
+ <tetrahedron index="18700" v0="2751" v1="3019" v2="4020" v3="4366" />
+ <tetrahedron index="18701" v0="3019" v1="4020" v2="4366" v3="4634" />
+ <tetrahedron index="18702" v0="2549" v1="3048" v2="3062" v3="4164" />
+ <tetrahedron index="18703" v0="3048" v1="3062" v2="4164" v3="4663" />
+ <tetrahedron index="18704" v0="3062" v1="4164" v2="4663" v3="4677" />
+ <tetrahedron index="18705" v0="2549" v1="2786" v2="3062" v3="4164" />
+ <tetrahedron index="18706" v0="2786" v1="3062" v2="4164" v3="4401" />
+ <tetrahedron index="18707" v0="3062" v1="4164" v2="4401" v3="4677" />
+ <tetrahedron index="18708" v0="2059" v1="2978" v2="3113" v3="3674" />
+ <tetrahedron index="18709" v0="2978" v1="3113" v2="3674" v3="4593" />
+ <tetrahedron index="18710" v0="3113" v1="3674" v2="4593" v3="4728" />
+ <tetrahedron index="18711" v0="1683" v1="2059" v2="2978" v3="3298" />
+ <tetrahedron index="18712" v0="2059" v1="2978" v2="3298" v3="3674" />
+ <tetrahedron index="18713" v0="2978" v1="3298" v2="3674" v3="4593" />
+ <tetrahedron index="18714" v0="2529" v1="2542" v2="3144" v3="4144" />
+ <tetrahedron index="18715" v0="2542" v1="3144" v2="4144" v3="4157" />
+ <tetrahedron index="18716" v0="3144" v1="4144" v2="4157" v3="4759" />
+ <tetrahedron index="18717" v0="2529" v1="2747" v2="3144" v3="4144" />
+ <tetrahedron index="18718" v0="2747" v1="3144" v2="4144" v3="4362" />
+ <tetrahedron index="18719" v0="3144" v1="4144" v2="4362" v3="4759" />
+ <tetrahedron index="18720" v0="2570" v1="2835" v2="3158" v3="4185" />
+ <tetrahedron index="18721" v0="2835" v1="3158" v2="4185" v3="4450" />
+ <tetrahedron index="18722" v0="3158" v1="4185" v2="4450" v3="4773" />
+ <tetrahedron index="18723" v0="2835" v1="2840" v2="3158" v3="4450" />
+ <tetrahedron index="18724" v0="2840" v1="3158" v2="4450" v3="4455" />
+ <tetrahedron index="18725" v0="3158" v1="4450" v2="4455" v3="4773" />
+ <tetrahedron index="18726" v0="2576" v1="3022" v2="3048" v3="4191" />
+ <tetrahedron index="18727" v0="3022" v1="3048" v2="4191" v3="4637" />
+ <tetrahedron index="18728" v0="3048" v1="4191" v2="4637" v3="4663" />
+ <tetrahedron index="18729" v0="2160" v1="2576" v2="3022" v3="3775" />
+ <tetrahedron index="18730" v0="2576" v1="3022" v2="3775" v3="4191" />
+ <tetrahedron index="18731" v0="3022" v1="3775" v2="4191" v3="4637" />
+ <tetrahedron index="18732" v0="2910" v1="2989" v2="3218" v3="4525" />
+ <tetrahedron index="18733" v0="2989" v1="3218" v2="4525" v3="4604" />
+ <tetrahedron index="18734" v0="3218" v1="4525" v2="4604" v3="4833" />
+ <tetrahedron index="18735" v0="2879" v1="2910" v2="3218" v3="4494" />
+ <tetrahedron index="18736" v0="2910" v1="3218" v2="4494" v3="4525" />
+ <tetrahedron index="18737" v0="3218" v1="4494" v2="4525" v3="4833" />
+ <tetrahedron index="18738" v0="1887" v1="2199" v2="2353" v3="3502" />
+ <tetrahedron index="18739" v0="2199" v1="2353" v2="3502" v3="3814" />
+ <tetrahedron index="18740" v0="2353" v1="3502" v2="3814" v3="3968" />
+ <tetrahedron index="18741" v0="1887" v1="2199" v2="3066" v3="3502" />
+ <tetrahedron index="18742" v0="2199" v1="3066" v2="3502" v3="3814" />
+ <tetrahedron index="18743" v0="3066" v1="3502" v2="3814" v3="4681" />
+ <tetrahedron index="18744" v0="1703" v1="1705" v2="3180" v3="3318" />
+ <tetrahedron index="18745" v0="1705" v1="3180" v2="3318" v3="3320" />
+ <tetrahedron index="18746" v0="3180" v1="3318" v2="3320" v3="4795" />
+ <tetrahedron index="18747" v0="1705" v1="2470" v2="3180" v3="3320" />
+ <tetrahedron index="18748" v0="2470" v1="3180" v2="3320" v3="4085" />
+ <tetrahedron index="18749" v0="3180" v1="3320" v2="4085" v3="4795" />
+ <tetrahedron index="18750" v0="1704" v1="2619" v2="3104" v3="3319" />
+ <tetrahedron index="18751" v0="2619" v1="3104" v2="3319" v3="4234" />
+ <tetrahedron index="18752" v0="3104" v1="3319" v2="4234" v3="4719" />
+ <tetrahedron index="18753" v0="1704" v1="1705" v2="2619" v3="3319" />
+ <tetrahedron index="18754" v0="1705" v1="2619" v2="3319" v3="3320" />
+ <tetrahedron index="18755" v0="2619" v1="3319" v2="3320" v3="4234" />
+ <tetrahedron index="18756" v0="1644" v1="2358" v2="2864" v3="3259" />
+ <tetrahedron index="18757" v0="2358" v1="2864" v2="3259" v3="3973" />
+ <tetrahedron index="18758" v0="2864" v1="3259" v2="3973" v3="4479" />
+ <tetrahedron index="18759" v0="2358" v1="2863" v2="2864" v3="3973" />
+ <tetrahedron index="18760" v0="2863" v1="2864" v2="3973" v3="4478" />
+ <tetrahedron index="18761" v0="2864" v1="3973" v2="4478" v3="4479" />
+ <tetrahedron index="18762" v0="2298" v1="2299" v2="2328" v3="3913" />
+ <tetrahedron index="18763" v0="2299" v1="2328" v2="3913" v3="3914" />
+ <tetrahedron index="18764" v0="2328" v1="3913" v2="3914" v3="3943" />
+ <tetrahedron index="18765" v0="2299" v1="2328" v2="2371" v3="3914" />
+ <tetrahedron index="18766" v0="2328" v1="2371" v2="3914" v3="3943" />
+ <tetrahedron index="18767" v0="2371" v1="3914" v2="3943" v3="3986" />
+ <tetrahedron index="18768" v0="2297" v1="3060" v2="3143" v3="3912" />
+ <tetrahedron index="18769" v0="3060" v1="3143" v2="3912" v3="4675" />
+ <tetrahedron index="18770" v0="3143" v1="3912" v2="4675" v3="4758" />
+ <tetrahedron index="18771" v0="2079" v1="2297" v2="3143" v3="3694" />
+ <tetrahedron index="18772" v0="2297" v1="3143" v2="3694" v3="3912" />
+ <tetrahedron index="18773" v0="3143" v1="3694" v2="3912" v3="4758" />
+ <tetrahedron index="18774" v0="1995" v1="2347" v2="3061" v3="3610" />
+ <tetrahedron index="18775" v0="2347" v1="3061" v2="3610" v3="3962" />
+ <tetrahedron index="18776" v0="3061" v1="3610" v2="3962" v3="4676" />
+ <tetrahedron index="18777" v0="1995" v1="1996" v2="3061" v3="3610" />
+ <tetrahedron index="18778" v0="1996" v1="3061" v2="3610" v3="3611" />
+ <tetrahedron index="18779" v0="3061" v1="3610" v2="3611" v3="4676" />
+ <tetrahedron index="18780" v0="1947" v1="2261" v2="2911" v3="3562" />
+ <tetrahedron index="18781" v0="2261" v1="2911" v2="3562" v3="3876" />
+ <tetrahedron index="18782" v0="2911" v1="3562" v2="3876" v3="4526" />
+ <tetrahedron index="18783" v0="2261" v1="2911" v2="3077" v3="3876" />
+ <tetrahedron index="18784" v0="2911" v1="3077" v2="3876" v3="4526" />
+ <tetrahedron index="18785" v0="3077" v1="3876" v2="4526" v3="4692" />
+ <tetrahedron index="18786" v0="2470" v1="3175" v2="3180" v3="4085" />
+ <tetrahedron index="18787" v0="3175" v1="3180" v2="4085" v3="4790" />
+ <tetrahedron index="18788" v0="3180" v1="4085" v2="4790" v3="4795" />
+ <tetrahedron index="18789" v0="2489" v1="3175" v2="3180" v3="4104" />
+ <tetrahedron index="18790" v0="3175" v1="3180" v2="4104" v3="4790" />
+ <tetrahedron index="18791" v0="3180" v1="4104" v2="4790" v3="4795" />
+ <tetrahedron index="18792" v0="2430" v1="2505" v2="3146" v3="4045" />
+ <tetrahedron index="18793" v0="2505" v1="3146" v2="4045" v3="4120" />
+ <tetrahedron index="18794" v0="3146" v1="4045" v2="4120" v3="4761" />
+ <tetrahedron index="18795" v0="2505" v1="2556" v2="3146" v3="4120" />
+ <tetrahedron index="18796" v0="2556" v1="3146" v2="4120" v3="4171" />
+ <tetrahedron index="18797" v0="3146" v1="4120" v2="4171" v3="4761" />
+ <tetrahedron index="18798" v0="1803" v1="2506" v2="3061" v3="3418" />
+ <tetrahedron index="18799" v0="2506" v1="3061" v2="3418" v3="4121" />
+ <tetrahedron index="18800" v0="3061" v1="3418" v2="4121" v3="4676" />
+ <tetrahedron index="18801" v0="2506" v1="2598" v2="3061" v3="4121" />
+ <tetrahedron index="18802" v0="2598" v1="3061" v2="4121" v3="4213" />
+ <tetrahedron index="18803" v0="3061" v1="4121" v2="4213" v3="4676" />
+ <tetrahedron index="18804" v0="2526" v1="2915" v2="3183" v3="4141" />
+ <tetrahedron index="18805" v0="2915" v1="3183" v2="4141" v3="4530" />
+ <tetrahedron index="18806" v0="3183" v1="4141" v2="4530" v3="4798" />
+ <tetrahedron index="18807" v0="2189" v1="2526" v2="2915" v3="3804" />
+ <tetrahedron index="18808" v0="2526" v1="2915" v2="3804" v3="4141" />
+ <tetrahedron index="18809" v0="2915" v1="3804" v2="4141" v3="4530" />
+ <tetrahedron index="18810" v0="2279" v1="2582" v2="3029" v3="3894" />
+ <tetrahedron index="18811" v0="2582" v1="3029" v2="3894" v3="4197" />
+ <tetrahedron index="18812" v0="3029" v1="3894" v2="4197" v3="4644" />
+ <tetrahedron index="18813" v0="2324" v1="2582" v2="3029" v3="3939" />
+ <tetrahedron index="18814" v0="2582" v1="3029" v2="3939" v3="4197" />
+ <tetrahedron index="18815" v0="3029" v1="3939" v2="4197" v3="4644" />
+ <tetrahedron index="18816" v0="1971" v1="2415" v2="3204" v3="3586" />
+ <tetrahedron index="18817" v0="2415" v1="3204" v2="3586" v3="4030" />
+ <tetrahedron index="18818" v0="3204" v1="3586" v2="4030" v3="4819" />
+ <tetrahedron index="18819" v0="1971" v1="3000" v2="3204" v3="3586" />
+ <tetrahedron index="18820" v0="3000" v1="3204" v2="3586" v3="4615" />
+ <tetrahedron index="18821" v0="3204" v1="3586" v2="4615" v3="4819" />
+ <tetrahedron index="18822" v0="2803" v1="2811" v2="2915" v3="4418" />
+ <tetrahedron index="18823" v0="2811" v1="2915" v2="4418" v3="4426" />
+ <tetrahedron index="18824" v0="2915" v1="4418" v2="4426" v3="4530" />
+ <tetrahedron index="18825" v0="2811" v1="2859" v2="2915" v3="4426" />
+ <tetrahedron index="18826" v0="2859" v1="2915" v2="4426" v3="4474" />
+ <tetrahedron index="18827" v0="2915" v1="4426" v2="4474" v3="4530" />
+ <tetrahedron index="18828" v0="1948" v1="2487" v2="2615" v3="3563" />
+ <tetrahedron index="18829" v0="2487" v1="2615" v2="3563" v3="4102" />
+ <tetrahedron index="18830" v0="2615" v1="3563" v2="4102" v3="4230" />
+ <tetrahedron index="18831" v0="1948" v1="1995" v2="2487" v3="3563" />
+ <tetrahedron index="18832" v0="1995" v1="2487" v2="3563" v3="3610" />
+ <tetrahedron index="18833" v0="2487" v1="3563" v2="3610" v3="4102" />
+ <tetrahedron index="18834" v0="2124" v1="2180" v2="2582" v3="3739" />
+ <tetrahedron index="18835" v0="2180" v1="2582" v2="3739" v3="3795" />
+ <tetrahedron index="18836" v0="2582" v1="3739" v2="3795" v3="4197" />
+ <tetrahedron index="18837" v0="2124" v1="2134" v2="2180" v3="3739" />
+ <tetrahedron index="18838" v0="2134" v1="2180" v2="3739" v3="3749" />
+ <tetrahedron index="18839" v0="2180" v1="3739" v2="3749" v3="3795" />
+ <tetrahedron index="18840" v0="3079" v1="3117" v2="3190" v3="4694" />
+ <tetrahedron index="18841" v0="3117" v1="3190" v2="4694" v3="4732" />
+ <tetrahedron index="18842" v0="3190" v1="4694" v2="4732" v3="4805" />
+ <tetrahedron index="18843" v0="2739" v1="3079" v2="3190" v3="4354" />
+ <tetrahedron index="18844" v0="3079" v1="3190" v2="4354" v3="4694" />
+ <tetrahedron index="18845" v0="3190" v1="4354" v2="4694" v3="4805" />
+ <tetrahedron index="18846" v0="2526" v1="2639" v2="3183" v3="4141" />
+ <tetrahedron index="18847" v0="2639" v1="3183" v2="4141" v3="4254" />
+ <tetrahedron index="18848" v0="3183" v1="4141" v2="4254" v3="4798" />
+ <tetrahedron index="18849" v0="2639" v1="2807" v2="3183" v3="4254" />
+ <tetrahedron index="18850" v0="2807" v1="3183" v2="4254" v3="4422" />
+ <tetrahedron index="18851" v0="3183" v1="4254" v2="4422" v3="4798" />
+ <tetrahedron index="18852" v0="2533" v1="2800" v2="3192" v3="4148" />
+ <tetrahedron index="18853" v0="2800" v1="3192" v2="4148" v3="4415" />
+ <tetrahedron index="18854" v0="3192" v1="4148" v2="4415" v3="4807" />
+ <tetrahedron index="18855" v0="2533" v1="2735" v2="3192" v3="4148" />
+ <tetrahedron index="18856" v0="2735" v1="3192" v2="4148" v3="4350" />
+ <tetrahedron index="18857" v0="3192" v1="4148" v2="4350" v3="4807" />
+ <tetrahedron index="18858" v0="2479" v1="2608" v2="3194" v3="4094" />
+ <tetrahedron index="18859" v0="2608" v1="3194" v2="4094" v3="4223" />
+ <tetrahedron index="18860" v0="3194" v1="4094" v2="4223" v3="4809" />
+ <tetrahedron index="18861" v0="2479" v1="2930" v2="3194" v3="4094" />
+ <tetrahedron index="18862" v0="2930" v1="3194" v2="4094" v3="4545" />
+ <tetrahedron index="18863" v0="3194" v1="4094" v2="4545" v3="4809" />
+ <tetrahedron index="18864" v0="2023" v1="2024" v2="2115" v3="3638" />
+ <tetrahedron index="18865" v0="2024" v1="2115" v2="3638" v3="3639" />
+ <tetrahedron index="18866" v0="2115" v1="3638" v2="3639" v3="3730" />
+ <tetrahedron index="18867" v0="2023" v1="2115" v2="2116" v3="3638" />
+ <tetrahedron index="18868" v0="2115" v1="2116" v2="3638" v3="3730" />
+ <tetrahedron index="18869" v0="2116" v1="3638" v2="3730" v3="3731" />
+ <tetrahedron index="18870" v0="2606" v1="3021" v2="3114" v3="4221" />
+ <tetrahedron index="18871" v0="3021" v1="3114" v2="4221" v3="4636" />
+ <tetrahedron index="18872" v0="3114" v1="4221" v2="4636" v3="4729" />
+ <tetrahedron index="18873" v0="2436" v1="2606" v2="3114" v3="4051" />
+ <tetrahedron index="18874" v0="2606" v1="3114" v2="4051" v3="4221" />
+ <tetrahedron index="18875" v0="3114" v1="4051" v2="4221" v3="4729" />
+ <tetrahedron index="18876" v0="2728" v1="2799" v2="2861" v3="4343" />
+ <tetrahedron index="18877" v0="2799" v1="2861" v2="4343" v3="4414" />
+ <tetrahedron index="18878" v0="2861" v1="4343" v2="4414" v3="4476" />
+ <tetrahedron index="18879" v0="1681" v1="2728" v2="2861" v3="3296" />
+ <tetrahedron index="18880" v0="2728" v1="2861" v2="3296" v3="4343" />
+ <tetrahedron index="18881" v0="2861" v1="3296" v2="4343" v3="4476" />
+ <tetrahedron index="18882" v0="1871" v1="2466" v2="2899" v3="3486" />
+ <tetrahedron index="18883" v0="2466" v1="2899" v2="3486" v3="4081" />
+ <tetrahedron index="18884" v0="2899" v1="3486" v2="4081" v3="4514" />
+ <tetrahedron index="18885" v0="1871" v1="2899" v2="3140" v3="3486" />
+ <tetrahedron index="18886" v0="2899" v1="3140" v2="3486" v3="4514" />
+ <tetrahedron index="18887" v0="3140" v1="3486" v2="4514" v3="4755" />
+ <tetrahedron index="18888" v0="2462" v1="2920" v2="3154" v3="4077" />
+ <tetrahedron index="18889" v0="2920" v1="3154" v2="4077" v3="4535" />
+ <tetrahedron index="18890" v0="3154" v1="4077" v2="4535" v3="4769" />
+ <tetrahedron index="18891" v0="2462" v1="2559" v2="3154" v3="4077" />
+ <tetrahedron index="18892" v0="2559" v1="3154" v2="4077" v3="4174" />
+ <tetrahedron index="18893" v0="3154" v1="4077" v2="4174" v3="4769" />
+ <tetrahedron index="18894" v0="1936" v1="2849" v2="3204" v3="3551" />
+ <tetrahedron index="18895" v0="2849" v1="3204" v2="3551" v3="4464" />
+ <tetrahedron index="18896" v0="3204" v1="3551" v2="4464" v3="4819" />
+ <tetrahedron index="18897" v0="1936" v1="2415" v2="3204" v3="3551" />
+ <tetrahedron index="18898" v0="2415" v1="3204" v2="3551" v3="4030" />
+ <tetrahedron index="18899" v0="3204" v1="3551" v2="4030" v3="4819" />
+ <tetrahedron index="18900" v0="1949" v1="1996" v2="2659" v3="3564" />
+ <tetrahedron index="18901" v0="1996" v1="2659" v2="3564" v3="3611" />
+ <tetrahedron index="18902" v0="2659" v1="3564" v2="3611" v3="4274" />
+ <tetrahedron index="18903" v0="1948" v1="1949" v2="1996" v3="3563" />
+ <tetrahedron index="18904" v0="1949" v1="1996" v2="3563" v3="3564" />
+ <tetrahedron index="18905" v0="1996" v1="3563" v2="3564" v3="3611" />
+ <tetrahedron index="18906" v0="2762" v1="2764" v2="3209" v3="4377" />
+ <tetrahedron index="18907" v0="2764" v1="3209" v2="4377" v3="4379" />
+ <tetrahedron index="18908" v0="3209" v1="4377" v2="4379" v3="4824" />
+ <tetrahedron index="18909" v0="2762" v1="3120" v2="3209" v3="4377" />
+ <tetrahedron index="18910" v0="3120" v1="3209" v2="4377" v3="4735" />
+ <tetrahedron index="18911" v0="3209" v1="4377" v2="4735" v3="4824" />
+ <tetrahedron index="18912" v0="2942" v1="2943" v2="3088" v3="4557" />
+ <tetrahedron index="18913" v0="2943" v1="3088" v2="4557" v3="4558" />
+ <tetrahedron index="18914" v0="3088" v1="4557" v2="4558" v3="4703" />
+ <tetrahedron index="18915" v0="2480" v1="2943" v2="3088" v3="4095" />
+ <tetrahedron index="18916" v0="2943" v1="3088" v2="4095" v3="4558" />
+ <tetrahedron index="18917" v0="3088" v1="4095" v2="4558" v3="4703" />
+ <tetrahedron index="18918" v0="3098" v1="3121" v2="3137" v3="4713" />
+ <tetrahedron index="18919" v0="3121" v1="3137" v2="4713" v3="4736" />
+ <tetrahedron index="18920" v0="3137" v1="4713" v2="4736" v3="4752" />
+ <tetrahedron index="18921" v0="3056" v1="3121" v2="3137" v3="4671" />
+ <tetrahedron index="18922" v0="3121" v1="3137" v2="4671" v3="4736" />
+ <tetrahedron index="18923" v0="3137" v1="4671" v2="4736" v3="4752" />
+ <tetrahedron index="18924" v0="2836" v1="2928" v2="2975" v3="4451" />
+ <tetrahedron index="18925" v0="2928" v1="2975" v2="4451" v3="4543" />
+ <tetrahedron index="18926" v0="2975" v1="4451" v2="4543" v3="4590" />
+ <tetrahedron index="18927" v0="2836" v1="2975" v2="3003" v3="4451" />
+ <tetrahedron index="18928" v0="2975" v1="3003" v2="4451" v3="4590" />
+ <tetrahedron index="18929" v0="3003" v1="4451" v2="4590" v3="4618" />
+ <tetrahedron index="18930" v0="1745" v1="2483" v2="2553" v3="3360" />
+ <tetrahedron index="18931" v0="2483" v1="2553" v2="3360" v3="4098" />
+ <tetrahedron index="18932" v0="2553" v1="3360" v2="4098" v3="4168" />
+ <tetrahedron index="18933" v0="1745" v1="2311" v2="2553" v3="3360" />
+ <tetrahedron index="18934" v0="2311" v1="2553" v2="3360" v3="3926" />
+ <tetrahedron index="18935" v0="2553" v1="3360" v2="3926" v3="4168" />
+ <tetrahedron index="18936" v0="2318" v1="2701" v2="2733" v3="3933" />
+ <tetrahedron index="18937" v0="2701" v1="2733" v2="3933" v3="4316" />
+ <tetrahedron index="18938" v0="2733" v1="3933" v2="4316" v3="4348" />
+ <tetrahedron index="18939" v0="2318" v1="2701" v2="2702" v3="3933" />
+ <tetrahedron index="18940" v0="2701" v1="2702" v2="3933" v3="4316" />
+ <tetrahedron index="18941" v0="2702" v1="3933" v2="4316" v3="4317" />
+ <tetrahedron index="18942" v0="2902" v1="2914" v2="2935" v3="4517" />
+ <tetrahedron index="18943" v0="2914" v1="2935" v2="4517" v3="4529" />
+ <tetrahedron index="18944" v0="2935" v1="4517" v2="4529" v3="4550" />
+ <tetrahedron index="18945" v0="2902" v1="2913" v2="2914" v3="4517" />
+ <tetrahedron index="18946" v0="2913" v1="2914" v2="4517" v3="4528" />
+ <tetrahedron index="18947" v0="2914" v1="4517" v2="4528" v3="4529" />
+ <tetrahedron index="18948" v0="2421" v1="3011" v2="3105" v3="4036" />
+ <tetrahedron index="18949" v0="3011" v1="3105" v2="4036" v3="4626" />
+ <tetrahedron index="18950" v0="3105" v1="4036" v2="4626" v3="4720" />
+ <tetrahedron index="18951" v0="2421" v1="2423" v2="3011" v3="4036" />
+ <tetrahedron index="18952" v0="2423" v1="3011" v2="4036" v3="4038" />
+ <tetrahedron index="18953" v0="3011" v1="4036" v2="4038" v3="4626" />
+ <tetrahedron index="18954" v0="2216" v1="2530" v2="3187" v3="3831" />
+ <tetrahedron index="18955" v0="2530" v1="3187" v2="3831" v3="4145" />
+ <tetrahedron index="18956" v0="3187" v1="3831" v2="4145" v3="4802" />
+ <tetrahedron index="18957" v0="2530" v1="2752" v2="3187" v3="4145" />
+ <tetrahedron index="18958" v0="2752" v1="3187" v2="4145" v3="4367" />
+ <tetrahedron index="18959" v0="3187" v1="4145" v2="4367" v3="4802" />
+ <tetrahedron index="18960" v0="1774" v1="2278" v2="2956" v3="3389" />
+ <tetrahedron index="18961" v0="2278" v1="2956" v2="3389" v3="3893" />
+ <tetrahedron index="18962" v0="2956" v1="3389" v2="3893" v3="4571" />
+ <tetrahedron index="18963" v0="1773" v1="1774" v2="2956" v3="3388" />
+ <tetrahedron index="18964" v0="1774" v1="2956" v2="3388" v3="3389" />
+ <tetrahedron index="18965" v0="2956" v1="3388" v2="3389" v3="4571" />
+ <tetrahedron index="18966" v0="1964" v1="2084" v2="3140" v3="3579" />
+ <tetrahedron index="18967" v0="2084" v1="3140" v2="3579" v3="3699" />
+ <tetrahedron index="18968" v0="3140" v1="3579" v2="3699" v3="4755" />
+ <tetrahedron index="18969" v0="1964" v1="1965" v2="2084" v3="3579" />
+ <tetrahedron index="18970" v0="1965" v1="2084" v2="3579" v3="3580" />
+ <tetrahedron index="18971" v0="2084" v1="3579" v2="3580" v3="3699" />
+ <tetrahedron index="18972" v0="2550" v1="2837" v2="2905" v3="4165" />
+ <tetrahedron index="18973" v0="2837" v1="2905" v2="4165" v3="4452" />
+ <tetrahedron index="18974" v0="2905" v1="4165" v2="4452" v3="4520" />
+ <tetrahedron index="18975" v0="2549" v1="2550" v2="2905" v3="4164" />
+ <tetrahedron index="18976" v0="2550" v1="2905" v2="4164" v3="4165" />
+ <tetrahedron index="18977" v0="2905" v1="4164" v2="4165" v3="4520" />
+ <tetrahedron index="18978" v0="1633" v1="1755" v2="1937" v3="3248" />
+ <tetrahedron index="18979" v0="1755" v1="1937" v2="3248" v3="3370" />
+ <tetrahedron index="18980" v0="1937" v1="3248" v2="3370" v3="3552" />
+ <tetrahedron index="18981" v0="1631" v1="1633" v2="1755" v3="3246" />
+ <tetrahedron index="18982" v0="1633" v1="1755" v2="3246" v3="3248" />
+ <tetrahedron index="18983" v0="1755" v1="3246" v2="3248" v3="3370" />
+ <tetrahedron index="18984" v0="2031" v1="2263" v2="2264" v3="3646" />
+ <tetrahedron index="18985" v0="2263" v1="2264" v2="3646" v3="3878" />
+ <tetrahedron index="18986" v0="2264" v1="3646" v2="3878" v3="3879" />
+ <tetrahedron index="18987" v0="2031" v1="2264" v2="3030" v3="3646" />
+ <tetrahedron index="18988" v0="2264" v1="3030" v2="3646" v3="3879" />
+ <tetrahedron index="18989" v0="3030" v1="3646" v2="3879" v3="4645" />
+ <tetrahedron index="18990" v0="1963" v1="2200" v2="2676" v3="3578" />
+ <tetrahedron index="18991" v0="2200" v1="2676" v2="3578" v3="3815" />
+ <tetrahedron index="18992" v0="2676" v1="3578" v2="3815" v3="4291" />
+ <tetrahedron index="18993" v0="1963" v1="2048" v2="2200" v3="3578" />
+ <tetrahedron index="18994" v0="2048" v1="2200" v2="3578" v3="3663" />
+ <tetrahedron index="18995" v0="2200" v1="3578" v2="3663" v3="3815" />
+ <tetrahedron index="18996" v0="2823" v1="2937" v2="3011" v3="4438" />
+ <tetrahedron index="18997" v0="2937" v1="3011" v2="4438" v3="4552" />
+ <tetrahedron index="18998" v0="3011" v1="4438" v2="4552" v3="4626" />
+ <tetrahedron index="18999" v0="2916" v1="2937" v2="3011" v3="4531" />
+ <tetrahedron index="19000" v0="2937" v1="3011" v2="4531" v3="4552" />
+ <tetrahedron index="19001" v0="3011" v1="4531" v2="4552" v3="4626" />
+ <tetrahedron index="19002" v0="1852" v1="2714" v2="2984" v3="3467" />
+ <tetrahedron index="19003" v0="2714" v1="2984" v2="3467" v3="4329" />
+ <tetrahedron index="19004" v0="2984" v1="3467" v2="4329" v3="4599" />
+ <tetrahedron index="19005" v0="1852" v1="2186" v2="2984" v3="3467" />
+ <tetrahedron index="19006" v0="2186" v1="2984" v2="3467" v3="3801" />
+ <tetrahedron index="19007" v0="2984" v1="3467" v2="3801" v3="4599" />
+ <tetrahedron index="19008" v0="1825" v1="2090" v2="2934" v3="3440" />
+ <tetrahedron index="19009" v0="2090" v1="2934" v2="3440" v3="3705" />
+ <tetrahedron index="19010" v0="2934" v1="3440" v2="3705" v3="4549" />
+ <tetrahedron index="19011" v0="2090" v1="2934" v2="3176" v3="3705" />
+ <tetrahedron index="19012" v0="2934" v1="3176" v2="3705" v3="4549" />
+ <tetrahedron index="19013" v0="3176" v1="3705" v2="4549" v3="4791" />
+ <tetrahedron index="19014" v0="1739" v1="2267" v2="2567" v3="3354" />
+ <tetrahedron index="19015" v0="2267" v1="2567" v2="3354" v3="3882" />
+ <tetrahedron index="19016" v0="2567" v1="3354" v2="3882" v3="4182" />
+ <tetrahedron index="19017" v0="2267" v1="2567" v2="3176" v3="3882" />
+ <tetrahedron index="19018" v0="2567" v1="3176" v2="3882" v3="4182" />
+ <tetrahedron index="19019" v0="3176" v1="3882" v2="4182" v3="4791" />
+ <tetrahedron index="19020" v0="1925" v1="2110" v2="3125" v3="3540" />
+ <tetrahedron index="19021" v0="2110" v1="3125" v2="3540" v3="3725" />
+ <tetrahedron index="19022" v0="3125" v1="3540" v2="3725" v3="4740" />
+ <tetrahedron index="19023" v0="1811" v1="1813" v2="2557" v3="3426" />
+ <tetrahedron index="19024" v0="1813" v1="2557" v2="3426" v3="3428" />
+ <tetrahedron index="19025" v0="2557" v1="3426" v2="3428" v3="4172" />
+ <tetrahedron index="19026" v0="1813" v1="2557" v2="2754" v3="3428" />
+ <tetrahedron index="19027" v0="2557" v1="2754" v2="3428" v3="4172" />
+ <tetrahedron index="19028" v0="2754" v1="3428" v2="4172" v3="4369" />
+ <tetrahedron index="19029" v0="1661" v1="1761" v2="2720" v3="3276" />
+ <tetrahedron index="19030" v0="1761" v1="2720" v2="3276" v3="3376" />
+ <tetrahedron index="19031" v0="2720" v1="3276" v2="3376" v3="4335" />
+ <tetrahedron index="19032" v0="1661" v1="2097" v2="2720" v3="3276" />
+ <tetrahedron index="19033" v0="2097" v1="2720" v2="3276" v3="3712" />
+ <tetrahedron index="19034" v0="2720" v1="3276" v2="3712" v3="4335" />
+ <tetrahedron index="19035" v0="1671" v1="2097" v2="2126" v3="3286" />
+ <tetrahedron index="19036" v0="2097" v1="2126" v2="3286" v3="3712" />
+ <tetrahedron index="19037" v0="2126" v1="3286" v2="3712" v3="3741" />
+ <tetrahedron index="19038" v0="2097" v1="2126" v2="2335" v3="3712" />
+ <tetrahedron index="19039" v0="2126" v1="2335" v2="3712" v3="3741" />
+ <tetrahedron index="19040" v0="2335" v1="3712" v2="3741" v3="3950" />
+ <tetrahedron index="19041" v0="1673" v1="2067" v2="2335" v3="3288" />
+ <tetrahedron index="19042" v0="2067" v1="2335" v2="3288" v3="3682" />
+ <tetrahedron index="19043" v0="2335" v1="3288" v2="3682" v3="3950" />
+ <tetrahedron index="19044" v0="1673" v1="2335" v2="2720" v3="3288" />
+ <tetrahedron index="19045" v0="2335" v1="2720" v2="3288" v3="3950" />
+ <tetrahedron index="19046" v0="2720" v1="3288" v2="3950" v3="4335" />
+ <tetrahedron index="19047" v0="2711" v1="3122" v2="3138" v3="4326" />
+ <tetrahedron index="19048" v0="3122" v1="3138" v2="4326" v3="4737" />
+ <tetrahedron index="19049" v0="3138" v1="4326" v2="4737" v3="4753" />
+ <tetrahedron index="19050" v0="3098" v1="3122" v2="3138" v3="4713" />
+ <tetrahedron index="19051" v0="3122" v1="3138" v2="4713" v3="4737" />
+ <tetrahedron index="19052" v0="3138" v1="4713" v2="4737" v3="4753" />
+ <tetrahedron index="19053" v0="2939" v1="3120" v2="3136" v3="4554" />
+ <tetrahedron index="19054" v0="3120" v1="3136" v2="4554" v3="4735" />
+ <tetrahedron index="19055" v0="3136" v1="4554" v2="4735" v3="4751" />
+ <tetrahedron index="19056" v0="2860" v1="3120" v2="3136" v3="4475" />
+ <tetrahedron index="19057" v0="3120" v1="3136" v2="4475" v3="4735" />
+ <tetrahedron index="19058" v0="3136" v1="4475" v2="4735" v3="4751" />
+ <tetrahedron index="19059" v0="2030" v1="3031" v2="3171" v3="3645" />
+ <tetrahedron index="19060" v0="3031" v1="3171" v2="3645" v3="4646" />
+ <tetrahedron index="19061" v0="3171" v1="3645" v2="4646" v3="4786" />
+ <tetrahedron index="19062" v0="1706" v1="3031" v2="3171" v3="3321" />
+ <tetrahedron index="19063" v0="3031" v1="3171" v2="3321" v3="4646" />
+ <tetrahedron index="19064" v0="3171" v1="3321" v2="4646" v3="4786" />
+ <tetrahedron index="19065" v0="2955" v1="3189" v2="3229" v3="4570" />
+ <tetrahedron index="19066" v0="3189" v1="3229" v2="4570" v3="4804" />
+ <tetrahedron index="19067" v0="3229" v1="4570" v2="4804" v3="4844" />
+ <tetrahedron index="19068" v0="3131" v1="3189" v2="3229" v3="4746" />
+ <tetrahedron index="19069" v0="3189" v1="3229" v2="4746" v3="4804" />
+ <tetrahedron index="19070" v0="3229" v1="4746" v2="4804" v3="4844" />
+ <tetrahedron index="19071" v0="2897" v1="3012" v2="3017" v3="4512" />
+ <tetrahedron index="19072" v0="3012" v1="3017" v2="4512" v3="4627" />
+ <tetrahedron index="19073" v0="3017" v1="4512" v2="4627" v3="4632" />
+ <tetrahedron index="19074" v0="2344" v1="2897" v2="3017" v3="3959" />
+ <tetrahedron index="19075" v0="2897" v1="3017" v2="3959" v3="4512" />
+ <tetrahedron index="19076" v0="3017" v1="3959" v2="4512" v3="4632" />
+ <tetrahedron index="19077" v0="2447" v1="2539" v2="3068" v3="4062" />
+ <tetrahedron index="19078" v0="2539" v1="3068" v2="4062" v3="4154" />
+ <tetrahedron index="19079" v0="3068" v1="4062" v2="4154" v3="4683" />
+ <tetrahedron index="19080" v0="2447" v1="3068" v2="3069" v3="4062" />
+ <tetrahedron index="19081" v0="3068" v1="3069" v2="4062" v3="4683" />
+ <tetrahedron index="19082" v0="3069" v1="4062" v2="4683" v3="4684" />
+ <tetrahedron index="19083" v0="1876" v1="1877" v2="3179" v3="3491" />
+ <tetrahedron index="19084" v0="1877" v1="3179" v2="3491" v3="3492" />
+ <tetrahedron index="19085" v0="3179" v1="3491" v2="3492" v3="4794" />
+ <tetrahedron index="19086" v0="1876" v1="3113" v2="3179" v3="3491" />
+ <tetrahedron index="19087" v0="3113" v1="3179" v2="3491" v3="4728" />
+ <tetrahedron index="19088" v0="3179" v1="3491" v2="4728" v3="4794" />
+ <tetrahedron index="19089" v0="1956" v1="2135" v2="2357" v3="3571" />
+ <tetrahedron index="19090" v0="2135" v1="2357" v2="3571" v3="3750" />
+ <tetrahedron index="19091" v0="2357" v1="3571" v2="3750" v3="3972" />
+ <tetrahedron index="19092" v0="1956" v1="2135" v2="3071" v3="3571" />
+ <tetrahedron index="19093" v0="2135" v1="3071" v2="3571" v3="3750" />
+ <tetrahedron index="19094" v0="3071" v1="3571" v2="3750" v3="4686" />
+ <tetrahedron index="19095" v0="2578" v1="2681" v2="3073" v3="4193" />
+ <tetrahedron index="19096" v0="2681" v1="3073" v2="4193" v3="4296" />
+ <tetrahedron index="19097" v0="3073" v1="4193" v2="4296" v3="4688" />
+ <tetrahedron index="19098" v0="2578" v1="2680" v2="2681" v3="4193" />
+ <tetrahedron index="19099" v0="2680" v1="2681" v2="4193" v3="4295" />
+ <tetrahedron index="19100" v0="2681" v1="4193" v2="4295" v3="4296" />
+ <tetrahedron index="19101" v0="2326" v1="3058" v2="3188" v3="3941" />
+ <tetrahedron index="19102" v0="3058" v1="3188" v2="3941" v3="4673" />
+ <tetrahedron index="19103" v0="3188" v1="3941" v2="4673" v3="4803" />
+ <tetrahedron index="19104" v0="2326" v1="3124" v2="3188" v3="3941" />
+ <tetrahedron index="19105" v0="3124" v1="3188" v2="3941" v3="4739" />
+ <tetrahedron index="19106" v0="3188" v1="3941" v2="4739" v3="4803" />
+ <tetrahedron index="19107" v0="3117" v1="3130" v2="3131" v3="4732" />
+ <tetrahedron index="19108" v0="3130" v1="3131" v2="4732" v3="4745" />
+ <tetrahedron index="19109" v0="3131" v1="4732" v2="4745" v3="4746" />
+ <tetrahedron index="19110" v0="2490" v1="2958" v2="2959" v3="4105" />
+ <tetrahedron index="19111" v0="2958" v1="2959" v2="4105" v3="4573" />
+ <tetrahedron index="19112" v0="2959" v1="4105" v2="4573" v3="4574" />
+ <tetrahedron index="19113" v0="2490" v1="2958" v2="3003" v3="4105" />
+ <tetrahedron index="19114" v0="2958" v1="3003" v2="4105" v3="4573" />
+ <tetrahedron index="19115" v0="3003" v1="4105" v2="4573" v3="4618" />
+ <tetrahedron index="19116" v0="1817" v1="1890" v2="1891" v3="3432" />
+ <tetrahedron index="19117" v0="1890" v1="1891" v2="3432" v3="3505" />
+ <tetrahedron index="19118" v0="1891" v1="3432" v2="3505" v3="3506" />
+ <tetrahedron index="19119" v0="1817" v1="1891" v2="2450" v3="3432" />
+ <tetrahedron index="19120" v0="1891" v1="2450" v2="3432" v3="3506" />
+ <tetrahedron index="19121" v0="2450" v1="3432" v2="3506" v3="4065" />
+ <tetrahedron index="19122" v0="2953" v1="3224" v2="3229" v3="4568" />
+ <tetrahedron index="19123" v0="3224" v1="3229" v2="4568" v3="4839" />
+ <tetrahedron index="19124" v0="3229" v1="4568" v2="4839" v3="4844" />
+ <tetrahedron index="19125" v0="2953" v1="2955" v2="3229" v3="4568" />
+ <tetrahedron index="19126" v0="2955" v1="3229" v2="4568" v3="4570" />
+ <tetrahedron index="19127" v0="3229" v1="4568" v2="4570" v3="4844" />
+ <tetrahedron index="19128" v0="2201" v1="2574" v2="2677" v3="3816" />
+ <tetrahedron index="19129" v0="2574" v1="2677" v2="3816" v3="4189" />
+ <tetrahedron index="19130" v0="2677" v1="3816" v2="4189" v3="4292" />
+ <tetrahedron index="19131" v0="2200" v1="2201" v2="2677" v3="3815" />
+ <tetrahedron index="19132" v0="2201" v1="2677" v2="3815" v3="3816" />
+ <tetrahedron index="19133" v0="2677" v1="3815" v2="3816" v3="4292" />
+ <tetrahedron index="19134" v0="2038" v1="2456" v2="3169" v3="3653" />
+ <tetrahedron index="19135" v0="2456" v1="3169" v2="3653" v3="4071" />
+ <tetrahedron index="19136" v0="3169" v1="3653" v2="4071" v3="4784" />
+ <tetrahedron index="19137" v0="2456" v1="2457" v2="3169" v3="4071" />
+ <tetrahedron index="19138" v0="2457" v1="3169" v2="4071" v3="4072" />
+ <tetrahedron index="19139" v0="3169" v1="4071" v2="4072" v3="4784" />
+ <tetrahedron index="19140" v0="2282" v1="2515" v2="2987" v3="3897" />
+ <tetrahedron index="19141" v0="2515" v1="2987" v2="3897" v3="4130" />
+ <tetrahedron index="19142" v0="2987" v1="3897" v2="4130" v3="4602" />
+ <tetrahedron index="19143" v0="2388" v1="2515" v2="2987" v3="4003" />
+ <tetrahedron index="19144" v0="2515" v1="2987" v2="4003" v3="4130" />
+ <tetrahedron index="19145" v0="2987" v1="4003" v2="4130" v3="4602" />
+ <tetrahedron index="19146" v0="2385" v1="2386" v2="3148" v3="4000" />
+ <tetrahedron index="19147" v0="2386" v1="3148" v2="4000" v3="4001" />
+ <tetrahedron index="19148" v0="3148" v1="4000" v2="4001" v3="4763" />
+ <tetrahedron index="19149" v0="2350" v1="2385" v2="3148" v3="3965" />
+ <tetrahedron index="19150" v0="2385" v1="3148" v2="3965" v3="4000" />
+ <tetrahedron index="19151" v0="3148" v1="3965" v2="4000" v3="4763" />
+ <tetrahedron index="19152" v0="1718" v1="2650" v2="3094" v3="3333" />
+ <tetrahedron index="19153" v0="2650" v1="3094" v2="3333" v3="4265" />
+ <tetrahedron index="19154" v0="3094" v1="3333" v2="4265" v3="4709" />
+ <tetrahedron index="19155" v0="2650" v1="2923" v2="3094" v3="4265" />
+ <tetrahedron index="19156" v0="2923" v1="3094" v2="4265" v3="4538" />
+ <tetrahedron index="19157" v0="3094" v1="4265" v2="4538" v3="4709" />
+ <tetrahedron index="19158" v0="3110" v1="3132" v2="3214" v3="4725" />
+ <tetrahedron index="19159" v0="3132" v1="3214" v2="4725" v3="4747" />
+ <tetrahedron index="19160" v0="3214" v1="4725" v2="4747" v3="4829" />
+ <tetrahedron index="19161" v0="2476" v1="3110" v2="3214" v3="4091" />
+ <tetrahedron index="19162" v0="3110" v1="3214" v2="4091" v3="4725" />
+ <tetrahedron index="19163" v0="3214" v1="4091" v2="4725" v3="4829" />
+ <tetrahedron index="19164" v0="1962" v1="3001" v2="3128" v3="3577" />
+ <tetrahedron index="19165" v0="3001" v1="3128" v2="3577" v3="4616" />
+ <tetrahedron index="19166" v0="3128" v1="3577" v2="4616" v3="4743" />
+ <tetrahedron index="19167" v0="2834" v1="3001" v2="3128" v3="4449" />
+ <tetrahedron index="19168" v0="3001" v1="3128" v2="4449" v3="4616" />
+ <tetrahedron index="19169" v0="3128" v1="4449" v2="4616" v3="4743" />
+ <tetrahedron index="19170" v0="2708" v1="2709" v2="2779" v3="4323" />
+ <tetrahedron index="19171" v0="2709" v1="2779" v2="4323" v3="4324" />
+ <tetrahedron index="19172" v0="2779" v1="4323" v2="4324" v3="4394" />
+ <tetrahedron index="19173" v0="2709" v1="2779" v2="3040" v3="4324" />
+ <tetrahedron index="19174" v0="2779" v1="3040" v2="4324" v3="4394" />
+ <tetrahedron index="19175" v0="3040" v1="4324" v2="4394" v3="4655" />
+ <tetrahedron index="19176" v0="2004" v1="3151" v2="3212" v3="3619" />
+ <tetrahedron index="19177" v0="3151" v1="3212" v2="3619" v3="4766" />
+ <tetrahedron index="19178" v0="3212" v1="3619" v2="4766" v3="4827" />
+ <tetrahedron index="19179" v0="2696" v1="3151" v2="3212" v3="4311" />
+ <tetrahedron index="19180" v0="3151" v1="3212" v2="4311" v3="4766" />
+ <tetrahedron index="19181" v0="3212" v1="4311" v2="4766" v3="4827" />
+ <tetrahedron index="19182" v0="2864" v1="2865" v2="3064" v3="4479" />
+ <tetrahedron index="19183" v0="2865" v1="3064" v2="4479" v3="4480" />
+ <tetrahedron index="19184" v0="3064" v1="4479" v2="4480" v3="4679" />
+ <tetrahedron index="19185" v0="2864" v1="3063" v2="3064" v3="4479" />
+ <tetrahedron index="19186" v0="3063" v1="3064" v2="4479" v3="4678" />
+ <tetrahedron index="19187" v0="3064" v1="4479" v2="4678" v3="4679" />
+ <tetrahedron index="19188" v0="1926" v1="2414" v2="3211" v3="3541" />
+ <tetrahedron index="19189" v0="2414" v1="3211" v2="3541" v3="4029" />
+ <tetrahedron index="19190" v0="3211" v1="3541" v2="4029" v3="4826" />
+ <tetrahedron index="19191" v0="1926" v1="3125" v2="3211" v3="3541" />
+ <tetrahedron index="19192" v0="3125" v1="3211" v2="3541" v3="4740" />
+ <tetrahedron index="19193" v0="3211" v1="3541" v2="4740" v3="4826" />
+ <tetrahedron index="19194" v0="2750" v1="2751" v2="2929" v3="4365" />
+ <tetrahedron index="19195" v0="2751" v1="2929" v2="4365" v3="4366" />
+ <tetrahedron index="19196" v0="2929" v1="4365" v2="4366" v3="4544" />
+ <tetrahedron index="19197" v0="2751" v1="2929" v2="2931" v3="4366" />
+ <tetrahedron index="19198" v0="2929" v1="2931" v2="4366" v3="4544" />
+ <tetrahedron index="19199" v0="2931" v1="4366" v2="4544" v3="4546" />
+ <tetrahedron index="19200" v0="1746" v1="1864" v2="1865" v3="3361" />
+ <tetrahedron index="19201" v0="1864" v1="1865" v2="3361" v3="3479" />
+ <tetrahedron index="19202" v0="1865" v1="3361" v2="3479" v3="3480" />
+ <tetrahedron index="19203" v0="1746" v1="1865" v2="2500" v3="3361" />
+ <tetrahedron index="19204" v0="1865" v1="2500" v2="3361" v3="3480" />
+ <tetrahedron index="19205" v0="2500" v1="3361" v2="3480" v3="4115" />
+ <tetrahedron index="19206" v0="2231" v1="2885" v2="2898" v3="3846" />
+ <tetrahedron index="19207" v0="2885" v1="2898" v2="3846" v3="4500" />
+ <tetrahedron index="19208" v0="2898" v1="3846" v2="4500" v3="4513" />
+ <tetrahedron index="19209" v0="2231" v1="2232" v2="2885" v3="3846" />
+ <tetrahedron index="19210" v0="2232" v1="2885" v2="3846" v3="3847" />
+ <tetrahedron index="19211" v0="2885" v1="3846" v2="3847" v3="4500" />
+ <tetrahedron index="19212" v0="1897" v1="2063" v2="2813" v3="3512" />
+ <tetrahedron index="19213" v0="2063" v1="2813" v2="3512" v3="3678" />
+ <tetrahedron index="19214" v0="2813" v1="3512" v2="3678" v3="4428" />
+ <tetrahedron index="19215" v0="1897" v1="2749" v2="2813" v3="3512" />
+ <tetrahedron index="19216" v0="2749" v1="2813" v2="3512" v3="4364" />
+ <tetrahedron index="19217" v0="2813" v1="3512" v2="4364" v3="4428" />
+ <tetrahedron index="19218" v0="1850" v1="2141" v2="2759" v3="3465" />
+ <tetrahedron index="19219" v0="2141" v1="2759" v2="3465" v3="3756" />
+ <tetrahedron index="19220" v0="2759" v1="3465" v2="3756" v3="4374" />
+ <tetrahedron index="19221" v0="1850" v1="1851" v2="2759" v3="3465" />
+ <tetrahedron index="19222" v0="1851" v1="2759" v2="3465" v3="3466" />
+ <tetrahedron index="19223" v0="2759" v1="3465" v2="3466" v3="4374" />
+ <tetrahedron index="19224" v0="1895" v1="2330" v2="2761" v3="3510" />
+ <tetrahedron index="19225" v0="2330" v1="2761" v2="3510" v3="3945" />
+ <tetrahedron index="19226" v0="2761" v1="3510" v2="3945" v3="4376" />
+ <tetrahedron index="19227" v0="2086" v1="2330" v2="2761" v3="3701" />
+ <tetrahedron index="19228" v0="2330" v1="2761" v2="3701" v3="3945" />
+ <tetrahedron index="19229" v0="2761" v1="3701" v2="3945" v3="4376" />
+ <tetrahedron index="19230" v0="1667" v1="1669" v2="2119" v3="3282" />
+ <tetrahedron index="19231" v0="1669" v1="2119" v2="3282" v3="3284" />
+ <tetrahedron index="19232" v0="2119" v1="3282" v2="3284" v3="3734" />
+ <tetrahedron index="19233" v0="1666" v1="1667" v2="1669" v3="3281" />
+ <tetrahedron index="19234" v0="1667" v1="1669" v2="3281" v3="3282" />
+ <tetrahedron index="19235" v0="1669" v1="3281" v2="3282" v3="3284" />
+ <tetrahedron index="19236" v0="1944" v1="2188" v2="2232" v3="3559" />
+ <tetrahedron index="19237" v0="2188" v1="2232" v2="3559" v3="3803" />
+ <tetrahedron index="19238" v0="2232" v1="3559" v2="3803" v3="3847" />
+ <tetrahedron index="19239" v0="1944" v1="2107" v2="2232" v3="3559" />
+ <tetrahedron index="19240" v0="2107" v1="2232" v2="3559" v3="3722" />
+ <tetrahedron index="19241" v0="2232" v1="3559" v2="3722" v3="3847" />
+ <tetrahedron index="19242" v0="3099" v1="3129" v2="3206" v3="4714" />
+ <tetrahedron index="19243" v0="3129" v1="3206" v2="4714" v3="4744" />
+ <tetrahedron index="19244" v0="3206" v1="4714" v2="4744" v3="4821" />
+ <tetrahedron index="19245" v0="2871" v1="3129" v2="3206" v3="4486" />
+ <tetrahedron index="19246" v0="3129" v1="3206" v2="4486" v3="4744" />
+ <tetrahedron index="19247" v0="3206" v1="4486" v2="4744" v3="4821" />
+ <tetrahedron index="19248" v0="1808" v1="2016" v2="2264" v3="3423" />
+ <tetrahedron index="19249" v0="2016" v1="2264" v2="3423" v3="3631" />
+ <tetrahedron index="19250" v0="2264" v1="3423" v2="3631" v3="3879" />
+ <tetrahedron index="19251" v0="1808" v1="2264" v2="3119" v3="3423" />
+ <tetrahedron index="19252" v0="2264" v1="3119" v2="3423" v3="3879" />
+ <tetrahedron index="19253" v0="3119" v1="3423" v2="3879" v3="4734" />
+ <tetrahedron index="19254" v0="1854" v1="2973" v2="3002" v3="3469" />
+ <tetrahedron index="19255" v0="2973" v1="3002" v2="3469" v3="4588" />
+ <tetrahedron index="19256" v0="3002" v1="3469" v2="4588" v3="4617" />
+ <tetrahedron index="19257" v0="2973" v1="3002" v2="3067" v3="4588" />
+ <tetrahedron index="19258" v0="3002" v1="3067" v2="4588" v3="4617" />
+ <tetrahedron index="19259" v0="3067" v1="4588" v2="4617" v3="4682" />
+ <tetrahedron index="19260" v0="2389" v1="2868" v2="2901" v3="4004" />
+ <tetrahedron index="19261" v0="2868" v1="2901" v2="4004" v3="4483" />
+ <tetrahedron index="19262" v0="2901" v1="4004" v2="4483" v3="4516" />
+ <tetrahedron index="19263" v0="2245" v1="2868" v2="2901" v3="3860" />
+ <tetrahedron index="19264" v0="2868" v1="2901" v2="3860" v3="4483" />
+ <tetrahedron index="19265" v0="2901" v1="3860" v2="4483" v3="4516" />
+ <tetrahedron index="19266" v0="2573" v1="2577" v2="3215" v3="4188" />
+ <tetrahedron index="19267" v0="2577" v1="3215" v2="4188" v3="4192" />
+ <tetrahedron index="19268" v0="3215" v1="4188" v2="4192" v3="4830" />
+ <tetrahedron index="19269" v0="2488" v1="2573" v2="2577" v3="4103" />
+ <tetrahedron index="19270" v0="2573" v1="2577" v2="4103" v3="4188" />
+ <tetrahedron index="19271" v0="2577" v1="4103" v2="4188" v3="4192" />
+ <tetrahedron index="19272" v0="3131" v1="3189" v2="3190" v3="4746" />
+ <tetrahedron index="19273" v0="3189" v1="3190" v2="4746" v3="4804" />
+ <tetrahedron index="19274" v0="3190" v1="4746" v2="4804" v3="4805" />
+ <tetrahedron index="19275" v0="3117" v1="3131" v2="3190" v3="4732" />
+ <tetrahedron index="19276" v0="3131" v1="3190" v2="4732" v3="4746" />
+ <tetrahedron index="19277" v0="3190" v1="4732" v2="4746" v3="4805" />
+ <tetrahedron index="19278" v0="2964" v1="2965" v2="3205" v3="4579" />
+ <tetrahedron index="19279" v0="2965" v1="3205" v2="4579" v3="4580" />
+ <tetrahedron index="19280" v0="3205" v1="4579" v2="4580" v3="4820" />
+ <tetrahedron index="19281" v0="2964" v1="2982" v2="3205" v3="4579" />
+ <tetrahedron index="19282" v0="2982" v1="3205" v2="4579" v3="4597" />
+ <tetrahedron index="19283" v0="3205" v1="4579" v2="4597" v3="4820" />
+ <tetrahedron index="19284" v0="2293" v1="2875" v2="3225" v3="3908" />
+ <tetrahedron index="19285" v0="2875" v1="3225" v2="3908" v3="4490" />
+ <tetrahedron index="19286" v0="3225" v1="3908" v2="4490" v3="4840" />
+ <tetrahedron index="19287" v0="2293" v1="2294" v2="2875" v3="3908" />
+ <tetrahedron index="19288" v0="2294" v1="2875" v2="3908" v3="3909" />
+ <tetrahedron index="19289" v0="2875" v1="3908" v2="3909" v3="4490" />
+ <tetrahedron index="19290" v0="1770" v1="2877" v2="3102" v3="3385" />
+ <tetrahedron index="19291" v0="2877" v1="3102" v2="3385" v3="4492" />
+ <tetrahedron index="19292" v0="3102" v1="3385" v2="4492" v3="4717" />
+ <tetrahedron index="19293" v0="1770" v1="3102" v2="3211" v3="3385" />
+ <tetrahedron index="19294" v0="3102" v1="3211" v2="3385" v3="4717" />
+ <tetrahedron index="19295" v0="3211" v1="3385" v2="4717" v3="4826" />
+ <tetrahedron index="19296" v0="3034" v1="3046" v2="3193" v3="4649" />
+ <tetrahedron index="19297" v0="3046" v1="3193" v2="4649" v3="4661" />
+ <tetrahedron index="19298" v0="3193" v1="4649" v2="4661" v3="4808" />
+ <tetrahedron index="19299" v0="2703" v1="3034" v2="3046" v3="4318" />
+ <tetrahedron index="19300" v0="3034" v1="3046" v2="4318" v3="4649" />
+ <tetrahedron index="19301" v0="3046" v1="4318" v2="4649" v3="4661" />
+ <tetrahedron index="19302" v0="2277" v1="3145" v2="3217" v3="3892" />
+ <tetrahedron index="19303" v0="3145" v1="3217" v2="3892" v3="4760" />
+ <tetrahedron index="19304" v0="3217" v1="3892" v2="4760" v3="4832" />
+ <tetrahedron index="19305" v0="2277" v1="2534" v2="3145" v3="3892" />
+ <tetrahedron index="19306" v0="2534" v1="3145" v2="3892" v3="4149" />
+ <tetrahedron index="19307" v0="3145" v1="3892" v2="4149" v3="4760" />
+ <tetrahedron index="19308" v0="2234" v1="3210" v2="3228" v3="3849" />
+ <tetrahedron index="19309" v0="3210" v1="3228" v2="3849" v3="4825" />
+ <tetrahedron index="19310" v0="3228" v1="3849" v2="4825" v3="4843" />
+ <tetrahedron index="19311" v0="2234" v1="3219" v2="3228" v3="3849" />
+ <tetrahedron index="19312" v0="3219" v1="3228" v2="3849" v3="4834" />
+ <tetrahedron index="19313" v0="3228" v1="3849" v2="4834" v3="4843" />
+ <tetrahedron index="19314" v0="1925" v1="2112" v2="2118" v3="3540" />
+ <tetrahedron index="19315" v0="2112" v1="2118" v2="3540" v3="3727" />
+ <tetrahedron index="19316" v0="2118" v1="3540" v2="3727" v3="3733" />
+ <tetrahedron index="19317" v0="1925" v1="2110" v2="2112" v3="3540" />
+ <tetrahedron index="19318" v0="2110" v1="2112" v2="3540" v3="3725" />
+ <tetrahedron index="19319" v0="2112" v1="3540" v2="3725" v3="3727" />
+ <tetrahedron index="19320" v0="1668" v1="1772" v2="2390" v3="3283" />
+ <tetrahedron index="19321" v0="1772" v1="2390" v2="3283" v3="3387" />
+ <tetrahedron index="19322" v0="2390" v1="3283" v2="3387" v3="4005" />
+ <tetrahedron index="19323" v0="1668" v1="2126" v2="2390" v3="3283" />
+ <tetrahedron index="19324" v0="2126" v1="2390" v2="3283" v3="3741" />
+ <tetrahedron index="19325" v0="2390" v1="3283" v2="3741" v3="4005" />
+ <tetrahedron index="19326" v0="2350" v1="2385" v2="2873" v3="3965" />
+ <tetrahedron index="19327" v0="2385" v1="2873" v2="3965" v3="4000" />
+ <tetrahedron index="19328" v0="2873" v1="3965" v2="4000" v3="4488" />
+ <tetrahedron index="19329" v0="2349" v1="2350" v2="2873" v3="3964" />
+ <tetrahedron index="19330" v0="2350" v1="2873" v2="3964" v3="3965" />
+ <tetrahedron index="19331" v0="2873" v1="3964" v2="3965" v3="4488" />
+ <tetrahedron index="19332" v0="1864" v1="1867" v2="3072" v3="3479" />
+ <tetrahedron index="19333" v0="1867" v1="3072" v2="3479" v3="3482" />
+ <tetrahedron index="19334" v0="3072" v1="3479" v2="3482" v3="4687" />
+ <tetrahedron index="19335" v0="1864" v1="3072" v2="3087" v3="3479" />
+ <tetrahedron index="19336" v0="3072" v1="3087" v2="3479" v3="4687" />
+ <tetrahedron index="19337" v0="3087" v1="3479" v2="4687" v3="4702" />
+ <tetrahedron index="19338" v0="1676" v1="2390" v2="2618" v3="3291" />
+ <tetrahedron index="19339" v0="2390" v1="2618" v2="3291" v3="4005" />
+ <tetrahedron index="19340" v0="2618" v1="3291" v2="4005" v3="4233" />
+ <tetrahedron index="19341" v0="1676" v1="2145" v2="2618" v3="3291" />
+ <tetrahedron index="19342" v0="2145" v1="2618" v2="3291" v3="3760" />
+ <tetrahedron index="19343" v0="2618" v1="3291" v2="3760" v3="4233" />
+ <tetrahedron index="19344" v0="2061" v1="2234" v2="2961" v3="3676" />
+ <tetrahedron index="19345" v0="2234" v1="2961" v2="3676" v3="3849" />
+ <tetrahedron index="19346" v0="2961" v1="3676" v2="3849" v3="4576" />
+ <tetrahedron index="19347" v0="2061" v1="2205" v2="2961" v3="3676" />
+ <tetrahedron index="19348" v0="2205" v1="2961" v2="3676" v3="3820" />
+ <tetrahedron index="19349" v0="2961" v1="3676" v2="3820" v3="4576" />
+ <tetrahedron index="19350" v0="2088" v1="3000" v2="3204" v3="3703" />
+ <tetrahedron index="19351" v0="3000" v1="3204" v2="3703" v3="4615" />
+ <tetrahedron index="19352" v0="3204" v1="3703" v2="4615" v3="4819" />
+ <tetrahedron index="19353" v0="2033" v1="2088" v2="3000" v3="3648" />
+ <tetrahedron index="19354" v0="2088" v1="3000" v2="3648" v3="3703" />
+ <tetrahedron index="19355" v0="3000" v1="3648" v2="3703" v3="4615" />
+ <tetrahedron index="19356" v0="4657" v1="5184" v2="5497" v3="6160" />
+ <tetrahedron index="19357" v0="4508" v1="5342" v2="5482" v3="5988" />
+ <tetrahedron index="19358" v0="3492" v1="3627" v2="5262" v3="6615" />
+ <tetrahedron index="19359" v0="6301" v1="6799" v2="6850" v3="6992" />
+ <tetrahedron index="19360" v0="5192" v1="5489" v2="5811" v3="6468" />
+ <tetrahedron index="19361" v0="3908" v1="5095" v2="5271" v3="5908" />
+ <tetrahedron index="19362" v0="3608" v1="3699" v2="5380" v3="5571" />
+ <tetrahedron index="19363" v0="5769" v1="5772" v2="6378" v3="6858" />
+ <tetrahedron index="19364" v0="4384" v1="4613" v2="6210" v3="6762" />
+ <tetrahedron index="19365" v0="3579" v1="3662" v2="4755" v3="6391" />
+ <tetrahedron index="19366" v0="3601" v1="4459" v2="4800" v3="5367" />
+ <tetrahedron index="19367" v0="5717" v1="5719" v2="5852" v3="6388" />
+ <tetrahedron index="19368" v0="5063" v1="5624" v2="6111" v3="6300" />
+ <tetrahedron index="19369" v0="4853" v1="4906" v2="4959" v3="5402" />
+ <tetrahedron index="19370" v0="4557" v1="4703" v2="5376" v3="6027" />
+ <tetrahedron index="19371" v0="4976" v1="6300" v2="6301" v3="6798" />
+ <tetrahedron index="19372" v0="4763" v1="5144" v2="5145" v3="5758" />
+ <tetrahedron index="19373" v0="5042" v1="6081" v2="6083" v3="6660" />
+ <tetrahedron index="19374" v0="4639" v1="5330" v2="5375" v3="6026" />
+ <tetrahedron index="19375" v0="3668" v1="3671" v2="5107" v3="5124" />
+ <tetrahedron index="19376" v0="5053" v1="5604" v2="5606" v3="6283" />
+ <tetrahedron index="19377" v0="5298" v1="5670" v2="5936" v3="6342" />
+ <tetrahedron index="19378" v0="3306" v1="4765" v2="5276" v3="5915" />
+ <tetrahedron index="19379" v0="4859" v1="4982" v2="6037" v3="6315" />
+ <tetrahedron index="19380" v0="6291" v1="6999" v2="7009" v3="7025" />
+ <tetrahedron index="19381" v0="6176" v1="6301" v2="6966" v3="6992" />
+ <tetrahedron index="19382" v0="4858" v1="5518" v2="6188" v3="6412" />
+ <tetrahedron index="19383" v0="3424" v1="3554" v2="3691" v3="5534" />
+ <tetrahedron index="19384" v0="5605" v1="5781" v2="6281" v3="6628" />
+ <tetrahedron index="19385" v0="4971" v1="5439" v2="6100" v3="6708" />
+ <tetrahedron index="19386" v0="3297" v1="4051" v2="5217" v3="5856" />
+ <tetrahedron index="19387" v0="4719" v1="5357" v2="5633" v3="6008" />
+ <tetrahedron index="19388" v0="3396" v1="5219" v2="5838" v3="6143" />
+ <tetrahedron index="19389" v0="4948" v1="5376" v2="6025" v3="6026" />
+ <tetrahedron index="19390" v0="4924" v1="5303" v2="5304" v3="6034" />
+ <tetrahedron index="19391" v0="3316" v1="3616" v2="4259" v3="6507" />
+ <tetrahedron index="19392" v0="3604" v1="3606" v2="3743" v3="6028" />
+ <tetrahedron index="19393" v0="4921" v1="5295" v2="5584" v3="5934" />
+ <tetrahedron index="19394" v0="5358" v1="5864" v2="6010" v3="6608" />
+ <tetrahedron index="19395" v0="4857" v1="5169" v2="5445" v3="5875" />
+ <tetrahedron index="19396" v0="4562" v1="4811" v2="5537" v3="6736" />
+ <tetrahedron index="19397" v0="4941" v1="5358" v2="6011" v3="6610" />
+ <tetrahedron index="19398" v0="3341" v1="5160" v2="5773" v3="6334" />
+ <tetrahedron index="19399" v0="4012" v1="5229" v2="5666" v3="6339" />
+ <tetrahedron index="19400" v0="5629" v1="5653" v2="5912" v3="6355" />
+ <tetrahedron index="19401" v0="3949" v1="4290" v2="4456" v3="5256" />
+ <tetrahedron index="19402" v0="5309" v1="6641" v2="6643" v3="6774" />
+ <tetrahedron index="19403" v0="3574" v1="3904" v2="4831" v3="5196" />
+ <tetrahedron index="19404" v0="3420" v1="4756" v2="5823" v3="6477" />
+ <tetrahedron index="19405" v0="3646" v1="3879" v2="4645" v3="5252" />
+ <tetrahedron index="19406" v0="4868" v1="5981" v2="6348" v3="6432" />
+ <tetrahedron index="19407" v0="3604" v1="3606" v2="5738" v3="6028" />
+ <tetrahedron index="19408" v0="4514" v1="5725" v2="5961" v3="6391" />
+ <tetrahedron index="19409" v0="3658" v1="4269" v2="4707" v3="5088" />
+ <tetrahedron index="19410" v0="3395" v1="3623" v2="5479" v3="5861" />
+ <tetrahedron index="19411" v0="4434" v1="4477" v2="5092" v3="5837" />
+ <tetrahedron index="19412" v0="4056" v1="4150" v2="5332" v3="6026" />
+ <tetrahedron index="19413" v0="4235" v1="4521" v2="4680" v3="5567" />
+ <tetrahedron index="19414" v0="5191" v1="6410" v2="6619" v3="6969" />
+ <tetrahedron index="19415" v0="4567" v1="4704" v2="5600" v3="6272" />
+ <tetrahedron index="19416" v0="3520" v1="5191" v2="6040" v3="6410" />
+ <tetrahedron index="19417" v0="4868" v1="5159" v2="6204" v3="6832" />
+ <tetrahedron index="19418" v0="3404" v1="4222" v2="4240" v3="5087" />
+ <tetrahedron index="19419" v0="3935" v1="3936" v2="4337" v3="6683" />
+ <tetrahedron index="19420" v0="5275" v1="5872" v2="5916" v3="6802" />
+ <tetrahedron index="19421" v0="4027" v1="4028" v2="4157" v3="4774" />
+ <tetrahedron index="19422" v0="3252" v1="3963" v2="3964" v3="6403" />
+ <tetrahedron index="19423" v0="5943" v1="6193" v2="6310" v3="6554" />
+ <tetrahedron index="19424" v0="3876" v1="4152" v2="4692" v3="5099" />
+ <tetrahedron index="19425" v0="4955" v1="6156" v2="6227" v3="6753" />
+ <tetrahedron index="19426" v0="3623" v1="5237" v2="5479" v3="5861" />
+ <tetrahedron index="19427" v0="5185" v1="5497" v2="5798" v3="6160" />
+ <tetrahedron index="19428" v0="5155" v1="5950" v2="6487" v3="6560" />
+ <tetrahedron index="19429" v0="4998" v1="5251" v2="5253" v3="5496" />
+ <tetrahedron index="19430" v0="3406" v1="4127" v2="4128" v3="5033" />
+ <tetrahedron index="19431" v0="4270" v1="5375" v2="6025" v3="6026" />
+ <tetrahedron index="19432" v0="3917" v1="4416" v2="4448" v3="5863" />
+ <tetrahedron index="19433" v0="5416" v1="6075" v2="6654" v3="6695" />
+ <tetrahedron index="19434" v0="4900" v1="5860" v2="5922" v3="6505" />
+ <tetrahedron index="19435" v0="3311" v1="3643" v2="5291" v3="5931" />
+ <tetrahedron index="19436" v0="3771" v1="6136" v2="6378" v3="6701" />
+ <tetrahedron index="19437" v0="5307" v1="5945" v2="6212" v3="6559" />
+ <tetrahedron index="19438" v0="3555" v1="4129" v2="5432" v3="6089" />
+ <tetrahedron index="19439" v0="4218" v1="5338" v2="5562" v3="5563" />
+ <tetrahedron index="19440" v0="4892" v1="5030" v2="5563" v3="5622" />
+ <tetrahedron index="19441" v0="4879" v1="5180" v2="5181" v3="5792" />
+ <tetrahedron index="19442" v0="3703" v1="5386" v2="6020" v3="6038" />
+ <tetrahedron index="19443" v0="3610" v1="3962" v2="5122" v3="5198" />
+ <tetrahedron index="19444" v0="5036" v1="6634" v2="6750" v3="7029" />
+ <tetrahedron index="19445" v0="5159" v1="6204" v2="6374" v3="6832" />
+ <tetrahedron index="19446" v0="4060" v1="5208" v2="5737" v3="6400" />
+ <tetrahedron index="19447" v0="3742" v1="3919" v2="4415" v3="5283" />
+ <tetrahedron index="19448" v0="3640" v1="3661" v2="5665" v3="6647" />
+ <tetrahedron index="19449" v0="4566" v1="5136" v2="5330" v3="5734" />
+ <tetrahedron index="19450" v0="5616" v1="6705" v2="6955" v3="7020" />
+ <tetrahedron index="19451" v0="4072" v1="4521" v2="4680" v3="5778" />
+ <tetrahedron index="19452" v0="3683" v1="4443" v2="5582" v3="6256" />
+ <tetrahedron index="19453" v0="5091" v1="5713" v2="5715" v3="6384" />
+ <tetrahedron index="19454" v0="4246" v1="5669" v2="6161" v3="6341" />
+ <tetrahedron index="19455" v0="4862" v1="6311" v2="6727" v3="6951" />
+ <tetrahedron index="19456" v0="4948" v1="5136" v2="5377" v3="5738" />
+ <tetrahedron index="19457" v0="4044" v1="4046" v2="4783" v3="5362" />
+ <tetrahedron index="19458" v0="3521" v1="3522" v2="3523" v3="5866" />
+ <tetrahedron index="19459" v0="4916" v1="5917" v2="5921" v3="6544" />
+ <tetrahedron index="19460" v0="3527" v1="3541" v2="3792" v3="4029" />
+ <tetrahedron index="19461" v0="4853" v1="4959" v2="5402" v3="6061" />
+ <tetrahedron index="19462" v0="3567" v1="5359" v2="5681" v3="6354" />
+ <tetrahedron index="19463" v0="3347" v1="3350" v2="5257" v3="5890" />
+ <tetrahedron index="19464" v0="5076" v1="5274" v2="5912" v3="5914" />
+ <tetrahedron index="19465" v0="5664" v1="5889" v2="6338" v3="6822" />
+ <tetrahedron index="19466" v0="5244" v1="5873" v2="6124" v3="6513" />
+ <tetrahedron index="19467" v0="4295" v1="4296" v2="5412" v3="5414" />
+ <tetrahedron index="19468" v0="5436" v1="6093" v2="6666" v3="6670" />
+ <tetrahedron index="19469" v0="4131" v1="5000" v2="5501" v3="5799" />
+ <tetrahedron index="19470" v0="3711" v1="4342" v2="4539" v3="6646" />
+ <tetrahedron index="19471" v0="3324" v1="4023" v2="4332" v3="5429" />
+ <tetrahedron index="19472" v0="4909" v1="5256" v2="5889" v3="6076" />
+ <tetrahedron index="19473" v0="3392" v1="3838" v2="4410" v3="5916" />
+ <tetrahedron index="19474" v0="4520" v1="5377" v2="5917" v3="6544" />
+ <tetrahedron index="19475" v0="4893" v1="5055" v2="5219" v3="5834" />
+ <tetrahedron index="19476" v0="3935" v1="4583" v2="5071" v3="5646" />
+ <tetrahedron index="19477" v0="5112" v1="5659" v2="6251" v3="6831" />
+ <tetrahedron index="19478" v0="4324" v1="4394" v2="4655" v3="5306" />
+ <tetrahedron index="19479" v0="4871" v1="5049" v2="5594" v3="6683" />
+ <tetrahedron index="19480" v0="5065" v1="6625" v2="6808" v3="6924" />
+ <tetrahedron index="19481" v0="5184" v1="5185" v2="5497" v3="6160" />
+ <tetrahedron index="19482" v0="3916" v1="5325" v2="5934" v3="5973" />
+ <tetrahedron index="19483" v0="3295" v1="3836" v2="4096" v3="5142" />
+ <tetrahedron index="19484" v0="5665" v1="5824" v2="6361" v3="6829" />
+ <tetrahedron index="19485" v0="4404" v1="5491" v2="5731" v3="6152" />
+ <tetrahedron index="19486" v0="4800" v1="5366" v2="6017" v3="6383" />
+ <tetrahedron index="19487" v0="3385" v1="4029" v2="4826" v3="6889" />
+ <tetrahedron index="19488" v0="4286" v1="4803" v2="5561" v3="6565" />
+ <tetrahedron index="19489" v0="4460" v1="4823" v2="4841" v3="5657" />
+ <tetrahedron index="19490" v0="3927" v1="5213" v2="5566" v3="5831" />
+ <tetrahedron index="19491" v0="3547" v1="4742" v2="4827" v3="5849" />
+ <tetrahedron index="19492" v0="4041" v1="4835" v2="5564" v3="6238" />
+ <tetrahedron index="19493" v0="3278" v1="5128" v2="5406" v3="5480" />
+ <tetrahedron index="19494" v0="3689" v1="4474" v2="5593" v3="6197" />
+ <tetrahedron index="19495" v0="5190" v1="5810" v2="6465" v3="6895" />
+ <tetrahedron index="19496" v0="4312" v1="5058" v2="5612" v3="6606" />
+ <tetrahedron index="19497" v0="4325" v1="4527" v2="4706" v3="5303" />
+ <tetrahedron index="19498" v0="4699" v1="5672" v2="5957" v3="6346" />
+ <tetrahedron index="19499" v0="4491" v1="5990" v2="6181" v3="6583" />
+ <tetrahedron index="19500" v0="3317" v1="5162" v2="5559" v3="5642" />
+ <tetrahedron index="19501" v0="3392" v1="3838" v2="5277" v3="5916" />
+ <tetrahedron index="19502" v0="3238" v1="3545" v2="4229" v3="5544" />
+ <tetrahedron index="19503" v0="4977" v1="5452" v2="5453" v3="5645" />
+ <tetrahedron index="19504" v0="3914" v1="3943" v2="5080" v3="5115" />
+ <tetrahedron index="19505" v0="4948" v1="5375" v2="5976" v3="6026" />
+ <tetrahedron index="19506" v0="5320" v1="5965" v2="5966" v3="6058" />
+ <tetrahedron index="19507" v0="4877" v1="5173" v2="5174" v3="5886" />
+ <tetrahedron index="19508" v0="4270" v1="4423" v2="4651" v3="6026" />
+ <tetrahedron index="19509" v0="4853" v1="6104" v2="6524" v3="6677" />
+ <tetrahedron index="19510" v0="4800" v1="5366" v2="5367" v3="6383" />
+ <tetrahedron index="19511" v0="4722" v1="4770" v2="5274" v3="5914" />
+ <tetrahedron index="19512" v0="5029" v1="5081" v2="5656" v3="6332" />
+ <tetrahedron index="19513" v0="4674" v1="5052" v2="5075" v3="5651" />
+ <tetrahedron index="19514" v0="4956" v1="5402" v2="6060" v3="6445" />
+ <tetrahedron index="19515" v0="4865" v1="4906" v2="5069" v3="5883" />
+ <tetrahedron index="19516" v0="4706" v1="5303" v2="5304" v3="6552" />
+ <tetrahedron index="19517" v0="5102" v1="5254" v2="5704" v3="6375" />
+ <tetrahedron index="19518" v0="4863" v1="5001" v2="6100" v3="6236" />
+ <tetrahedron index="19519" v0="5590" v1="6263" v2="6264" v3="6775" />
+ <tetrahedron index="19520" v0="4213" v1="5229" v2="5719" v3="5852" />
+ <tetrahedron index="19521" v0="4658" v1="5302" v2="5387" v3="6037" />
+ <tetrahedron index="19522" v0="3366" v1="3823" v2="4057" v3="6518" />
+ <tetrahedron index="19523" v0="4159" v1="4237" v2="4370" v3="5650" />
+ <tetrahedron index="19524" v0="5004" v1="5529" v2="6030" v3="6594" />
+ <tetrahedron index="19525" v0="5346" v1="6589" v2="6667" v3="6911" />
+ <tetrahedron index="19526" v0="4891" v1="5212" v2="6760" v3="6830" />
+ <tetrahedron index="19527" v0="5064" v1="5627" v2="5628" v3="5629" />
+ <tetrahedron index="19528" v0="4384" v1="4447" v2="5558" v3="6746" />
+ <tetrahedron index="19529" v0="3299" v1="3302" v2="4382" v3="5219" />
+ <tetrahedron index="19530" v0="4580" v1="4710" v2="4821" v3="6990" />
+ <tetrahedron index="19531" v0="5042" v1="6081" v2="6256" v3="6660" />
+ <tetrahedron index="19532" v0="3487" v1="3867" v2="4082" v3="5423" />
+ <tetrahedron index="19533" v0="4948" v1="5136" v2="5375" v3="5976" />
+ <tetrahedron index="19534" v0="3405" v1="3408" v2="3409" v3="5293" />
+ <tetrahedron index="19535" v0="5361" v1="6014" v2="6409" v3="6987" />
+ <tetrahedron index="19536" v0="5081" v1="6330" v2="6817" v3="6821" />
+ <tetrahedron index="19537" v0="5067" v1="5368" v2="6038" v3="6068" />
+ <tetrahedron index="19538" v0="4112" v1="4783" v2="5360" v3="6229" />
+ <tetrahedron index="19539" v0="5031" v1="6239" v2="6240" v3="6759" />
+ <tetrahedron index="19540" v0="5599" v1="6221" v2="6590" v3="6668" />
+ <tetrahedron index="19541" v0="3503" v1="3504" v2="3550" v3="5466" />
+ <tetrahedron index="19542" v0="6563" v1="6564" v2="6898" v3="7004" />
+ <tetrahedron index="19543" v0="5576" v1="5709" v2="6251" v3="6771" />
+ <tetrahedron index="19544" v0="4070" v1="4072" v2="4282" v3="6162" />
+ <tetrahedron index="19545" v0="5287" v1="6081" v2="6082" v3="6570" />
+ <tetrahedron index="19546" v0="4383" v1="4384" v2="4447" v3="5558" />
+ <tetrahedron index="19547" v0="3474" v1="3499" v2="4206" v3="5688" />
+ <tetrahedron index="19548" v0="3374" v1="5492" v2="6114" v3="6493" />
+ <tetrahedron index="19549" v0="3742" v1="3744" v2="4097" v3="5923" />
+ <tetrahedron index="19550" v0="3794" v1="5177" v2="5785" v3="6084" />
+ <tetrahedron index="19551" v0="3936" v1="4577" v2="4628" v3="6683" />
+ <tetrahedron index="19552" v0="4315" v1="4657" v2="5497" v3="5499" />
+ <tetrahedron index="19553" v0="4927" v1="5204" v2="5821" v3="5957" />
+ <tetrahedron index="19554" v0="4196" v1="4713" v2="4736" v3="6141" />
+ <tetrahedron index="19555" v0="3969" v1="4063" v2="5076" v3="5653" />
+ <tetrahedron index="19556" v0="3761" v1="3951" v2="4233" v3="5803" />
+ <tetrahedron index="19557" v0="4211" v1="4325" v2="4660" v3="5304" />
+ <tetrahedron index="19558" v0="4380" v1="5161" v2="5290" v3="5732" />
+ <tetrahedron index="19559" v0="3330" v1="3336" v2="5355" v3="5730" />
+ <tetrahedron index="19560" v0="4101" v1="5486" v2="5487" v3="6406" />
+ <tetrahedron index="19561" v0="3500" v1="3570" v2="4274" v3="6500" />
+ <tetrahedron index="19562" v0="4617" v1="4638" v2="4682" v3="6005" />
+ <tetrahedron index="19563" v0="5348" v1="5995" v2="6616" v3="6917" />
+ <tetrahedron index="19564" v0="3459" v1="4040" v2="4067" v3="6888" />
+ <tetrahedron index="19565" v0="3431" v1="3433" v2="3865" v3="5408" />
+ <tetrahedron index="19566" v0="5156" v1="5464" v2="6072" v3="6131" />
+ <tetrahedron index="19567" v0="4848" v1="5403" v2="5524" v3="6103" />
+ <tetrahedron index="19568" v0="4993" v1="5488" v2="6295" v3="6699" />
+ <tetrahedron index="19569" v0="4978" v1="5454" v2="5494" v3="6157" />
+ <tetrahedron index="19570" v0="4194" v1="4614" v2="4816" v3="6074" />
+ <tetrahedron index="19571" v0="3938" v1="4386" v2="4417" v3="6379" />
+ <tetrahedron index="19572" v0="3702" v1="4376" v2="5635" v3="6067" />
+ <tetrahedron index="19573" v0="4908" v1="5453" v2="5645" v3="6321" />
+ <tetrahedron index="19574" v0="4899" v1="5232" v2="5854" v3="5855" />
+ <tetrahedron index="19575" v0="4761" v1="5026" v2="5553" v3="6226" />
+ <tetrahedron index="19576" v0="3345" v1="4772" v2="5163" v3="5778" />
+ <tetrahedron index="19577" v0="3770" v1="4135" v2="4609" v3="5323" />
+ <tetrahedron index="19578" v0="3729" v1="3979" v2="4990" v3="5797" />
+ <tetrahedron index="19579" v0="4931" v1="5548" v2="5967" v3="6573" />
+ <tetrahedron index="19580" v0="5071" v1="5646" v2="5647" v3="6322" />
+ <tetrahedron index="19581" v0="3677" v1="4202" v2="5368" v3="6068" />
+ <tetrahedron index="19582" v0="4987" v1="5844" v2="5846" v3="6495" />
+ <tetrahedron index="19583" v0="3937" v1="4584" v2="5394" v3="6049" />
+ <tetrahedron index="19584" v0="6890" v1="6944" v2="7002" v3="7004" />
+ <tetrahedron index="19585" v0="5547" v1="5880" v2="6521" v3="6523" />
+ <tetrahedron index="19586" v0="3388" v1="3389" v2="5118" v3="5706" />
+ <tetrahedron index="19587" v0="5096" v1="5698" v2="6368" v3="6401" />
+ <tetrahedron index="19588" v0="3835" v1="3854" v2="5381" v3="6032" />
+ <tetrahedron index="19589" v0="4016" v1="5299" v2="5442" v3="5937" />
+ <tetrahedron index="19590" v0="3299" v1="3301" v2="5055" v3="5855" />
+ <tetrahedron index="19591" v0="5243" v1="5627" v2="5872" v3="6512" />
+ <tetrahedron index="19592" v0="4996" v1="5495" v2="6114" v3="6714" />
+ <tetrahedron index="19593" v0="5247" v1="5875" v2="6122" v3="6691" />
+ <tetrahedron index="19594" v0="5173" v1="5251" v2="5619" v3="5885" />
+ <tetrahedron index="19595" v0="3245" v1="3247" v2="5454" v3="5621" />
+ <tetrahedron index="19596" v0="3399" v1="3983" v2="5721" v3="5827" />
+ <tetrahedron index="19597" v0="5894" v1="6529" v2="6532" v3="6533" />
+ <tetrahedron index="19598" v0="4679" v1="4912" v2="5267" v3="5949" />
+ <tetrahedron index="19599" v0="3327" v1="3749" v2="3795" v3="5430" />
+ <tetrahedron index="19600" v0="5019" v1="5538" v2="6463" v3="6852" />
+ <tetrahedron index="19601" v0="3368" v1="4022" v2="5023" v3="6096" />
+ <tetrahedron index="19602" v0="4374" v1="4375" v2="4733" v3="5731" />
+ <tetrahedron index="19603" v0="3794" v1="4232" v2="4391" v3="5177" />
+ <tetrahedron index="19604" v0="4853" v1="5403" v2="5524" v3="6104" />
+ <tetrahedron index="19605" v0="5042" v1="5582" v2="6256" v3="6660" />
+ <tetrahedron index="19606" v0="3896" v1="5527" v2="5723" v3="6200" />
+ <tetrahedron index="19607" v0="3409" v1="4395" v2="4413" v3="5930" />
+ <tetrahedron index="19608" v0="4003" v1="5107" v2="5693" v3="6364" />
+ <tetrahedron index="19609" v0="4900" v1="5021" v2="5238" v3="5543" />
+ <tetrahedron index="19610" v0="3653" v1="4071" v2="4522" v3="5499" />
+ <tetrahedron index="19611" v0="3751" v1="3855" v2="4118" v3="5400" />
+ <tetrahedron index="19612" v0="3502" v1="4982" v2="5151" v3="6316" />
+ <tetrahedron index="19613" v0="4870" v1="5131" v2="5161" v3="5641" />
+ <tetrahedron index="19614" v0="3856" v1="4594" v2="5078" v3="5231" />
+ <tetrahedron index="19615" v0="4164" v1="4520" v2="5377" v3="5917" />
+ <tetrahedron index="19616" v0="4951" v1="5133" v2="5382" v3="5726" />
+ <tetrahedron index="19617" v0="3439" v1="4019" v2="5054" v3="5608" />
+ <tetrahedron index="19618" v0="3756" v1="4572" v2="5130" v3="5730" />
+ <tetrahedron index="19619" v0="4979" v1="5084" v2="5456" v3="5773" />
+ <tetrahedron index="19620" v0="3937" v1="3993" v2="4053" v3="6049" />
+ <tetrahedron index="19621" v0="3814" v1="3895" v2="4681" v3="5151" />
+ <tetrahedron index="19622" v0="3334" v1="4604" v2="4605" v3="6268" />
+ <tetrahedron index="19623" v0="4519" v1="4553" v2="5259" v3="6241" />
+ <tetrahedron index="19624" v0="3463" v1="3464" v2="4330" v3="6134" />
+ <tetrahedron index="19625" v0="4883" v1="6793" v2="6950" v3="7017" />
+ <tetrahedron index="19626" v0="5003" v1="5294" v2="5932" v3="6548" />
+ <tetrahedron index="19627" v0="3736" v1="3737" v2="5678" v3="5905" />
+ <tetrahedron index="19628" v0="5061" v1="5174" v2="5886" v3="6526" />
+ <tetrahedron index="19629" v0="4979" v1="5456" v2="5773" v3="6399" />
+ <tetrahedron index="19630" v0="5060" v1="5613" v2="6294" v3="6679" />
+ <tetrahedron index="19631" v0="3230" v1="3231" v2="3232" v3="5472" />
+ <tetrahedron index="19632" v0="3668" v1="5124" v2="5693" v3="5720" />
+ <tetrahedron index="19633" v0="4102" v1="5182" v2="5714" v3="5715" />
+ <tetrahedron index="19634" v0="3575" v1="3576" v2="3887" v3="5885" />
+ <tetrahedron index="19635" v0="3547" v1="3619" v2="5419" v3="5849" />
+ <tetrahedron index="19636" v0="4951" v1="5133" v2="5726" v3="6066" />
+ <tetrahedron index="19637" v0="5318" v1="6242" v2="6243" v3="6656" />
+ <tetrahedron index="19638" v0="5157" v1="6308" v2="6551" v3="6554" />
+ <tetrahedron index="19639" v0="5207" v1="5700" v2="5825" v3="6370" />
+ <tetrahedron index="19640" v0="3597" v1="3832" v2="5659" v3="6742" />
+ <tetrahedron index="19641" v0="3439" v1="3705" v2="5054" v3="5851" />
+ <tetrahedron index="19642" v0="3719" v1="4061" v2="5691" v3="6362" />
+ <tetrahedron index="19643" v0="3736" v1="5678" v2="5905" v3="6297" />
+ <tetrahedron index="19644" v0="4968" v1="5426" v2="5428" v3="5430" />
+ <tetrahedron index="19645" v0="4942" v1="5912" v2="6354" v3="6542" />
+ <tetrahedron index="19646" v0="5361" v1="6014" v2="6587" v3="6754" />
+ <tetrahedron index="19647" v0="3530" v1="5816" v2="6410" v3="6619" />
+ <tetrahedron index="19648" v0="4291" v1="4455" v2="4613" v3="5020" />
+ <tetrahedron index="19649" v0="5713" v1="5791" v2="6384" v3="6449" />
+ <tetrahedron index="19650" v0="3361" v1="3363" v2="4115" v3="5671" />
+ <tetrahedron index="19651" v0="5296" v1="5297" v2="5298" v3="5956" />
+ <tetrahedron index="19652" v0="5993" v1="6589" v2="6911" v3="6971" />
+ <tetrahedron index="19653" v0="3969" v1="4063" v2="4064" v3="5076" />
+ <tetrahedron index="19654" v0="4111" v1="4243" v2="4244" v3="6031" />
+ <tetrahedron index="19655" v0="3270" v1="3278" v2="3284" v3="5133" />
+ <tetrahedron index="19656" v0="5307" v1="5570" v2="5946" v3="6244" />
+ <tetrahedron index="19657" v0="4965" v1="5418" v2="5419" v3="6336" />
+ <tetrahedron index="19658" v0="5531" v1="6204" v2="6432" v3="6433" />
+ <tetrahedron index="19659" v0="5015" v1="5455" v2="6116" v3="6168" />
+ <tetrahedron index="19660" v0="5243" v1="5276" v2="5627" v3="5915" />
+ <tetrahedron index="19661" v0="5614" v1="5876" v2="6288" v3="6289" />
+ <tetrahedron index="19662" v0="3732" v1="4090" v2="4257" v3="5808" />
+ <tetrahedron index="19663" v0="3521" v1="3944" v2="4719" v3="5357" />
+ <tetrahedron index="19664" v0="4422" v1="5024" v2="5549" v3="6253" />
+ <tetrahedron index="19665" v0="3407" v1="3931" v2="5288" v3="5927" />
+ <tetrahedron index="19666" v0="3258" v1="3261" v2="3267" v3="5069" />
+ <tetrahedron index="19667" v0="4383" v1="5557" v2="5558" v3="5948" />
+ <tetrahedron index="19668" v0="3330" v1="4656" v2="5355" v3="5490" />
+ <tetrahedron index="19669" v0="3442" v1="5199" v2="5674" v3="5819" />
+ <tetrahedron index="19670" v0="3280" v1="3281" v2="3283" v3="3382" />
+ <tetrahedron index="19671" v0="4895" v1="5222" v2="5843" v3="6491" />
+ <tetrahedron index="19672" v0="3804" v1="4386" v2="4418" v3="5322" />
+ <tetrahedron index="19673" v0="4909" v1="5085" v2="5663" v3="6336" />
+ <tetrahedron index="19674" v0="3397" v1="3398" v2="3399" v3="5628" />
+ <tetrahedron index="19675" v0="3302" v1="5055" v2="5834" v3="5838" />
+ <tetrahedron index="19676" v0="5309" v1="5950" v2="6098" v3="7014" />
+ <tetrahedron index="19677" v0="3958" v1="6375" v2="6528" v3="6684" />
+ <tetrahedron index="19678" v0="5076" v1="5097" v2="5682" v3="5683" />
+ <tetrahedron index="19679" v0="3935" v1="5071" v2="5646" v3="6683" />
+ <tetrahedron index="19680" v0="3487" v1="3704" v2="5423" v3="6256" />
+ <tetrahedron index="19681" v0="3338" v1="3596" v2="4134" v3="5979" />
+ <tetrahedron index="19682" v0="5014" v1="6120" v2="6834" v3="6952" />
+ <tetrahedron index="19683" v0="4885" v1="5051" v2="5599" v3="6473" />
+ <tetrahedron index="19684" v0="3915" v1="4840" v2="5115" v3="5974" />
+ <tetrahedron index="19685" v0="4531" v1="4600" v2="6018" v3="6386" />
+ <tetrahedron index="19686" v0="3295" v1="3773" v2="5142" v3="6504" />
+ <tetrahedron index="19687" v0="3598" v1="3614" v2="5083" v3="6831" />
+ <tetrahedron index="19688" v0="4529" v1="5000" v2="5500" v3="6453" />
+ <tetrahedron index="19689" v0="4514" v1="4755" v2="6242" v3="6391" />
+ <tetrahedron index="19690" v0="3754" v1="4114" v2="4574" v3="6371" />
+ <tetrahedron index="19691" v0="3557" v1="4313" v2="5432" v3="6453" />
+ <tetrahedron index="19692" v0="4459" v1="4600" v2="4768" v3="5366" />
+ <tetrahedron index="19693" v0="3447" v1="3448" v2="5502" v3="5803" />
+ <tetrahedron index="19694" v0="4377" v1="4434" v2="4808" v3="5837" />
+ <tetrahedron index="19695" v0="3808" v1="3997" v2="4405" v3="5586" />
+ <tetrahedron index="19696" v0="3307" v1="3685" v2="5829" v3="6478" />
+ <tetrahedron index="19697" v0="4988" v1="5237" v2="5479" v3="5861" />
+ <tetrahedron index="19698" v0="4906" v1="5406" v2="6066" v3="6144" />
+ <tetrahedron index="19699" v0="5031" v1="6237" v2="6240" v3="6759" />
+ <tetrahedron index="19700" v0="5086" v1="5666" v2="5690" v3="6823" />
+ <tetrahedron index="19701" v0="5380" v1="5569" v2="5571" v3="6243" />
+ <tetrahedron index="19702" v0="3357" v1="3910" v2="5790" v3="6499" />
+ <tetrahedron index="19703" v0="4996" v1="6159" v2="6714" v3="6715" />
+ <tetrahedron index="19704" v0="4036" v1="4037" v2="4074" v3="5717" />
+ <tetrahedron index="19705" v0="3274" v1="3383" v2="3386" v3="5726" />
+ <tetrahedron index="19706" v0="3891" v1="5504" v2="5529" v3="6167" />
+ <tetrahedron index="19707" v0="3495" v1="3497" v2="5449" v3="6109" />
+ <tetrahedron index="19708" v0="5055" v1="5686" v2="5834" v3="6358" />
+ <tetrahedron index="19709" v0="4872" v1="5050" v2="5164" v3="6776" />
+ <tetrahedron index="19710" v0="4196" v1="4712" v2="5846" v3="6141" />
+ <tetrahedron index="19711" v0="3240" v1="3444" v2="5324" v3="5911" />
+ <tetrahedron index="19712" v0="4103" v1="4188" v2="4192" v3="6111" />
+ <tetrahedron index="19713" v0="4568" v1="4839" v2="4844" v3="5815" />
+ <tetrahedron index="19714" v0="3935" v1="4499" v2="4583" v3="5071" />
+ <tetrahedron index="19715" v0="4927" v1="5312" v2="6343" v3="6825" />
+ <tetrahedron index="19716" v0="5778" v1="6162" v2="6861" v3="6994" />
+ <tetrahedron index="19717" v0="5748" v1="6001" v2="6002" v3="6600" />
+ <tetrahedron index="19718" v0="4899" v1="5104" v2="5675" v3="6347" />
+ <tetrahedron index="19719" v0="4449" v1="4743" v2="4998" v3="5424" />
+ <tetrahedron index="19720" v0="4971" v1="5437" v2="5440" v3="6847" />
+ <tetrahedron index="19721" v0="3268" v1="3278" v2="3379" v3="5480" />
+ <tetrahedron index="19722" v0="3313" v1="3314" v2="3833" v3="5679" />
+ <tetrahedron index="19723" v0="3991" v1="4209" v2="6553" v3="6580" />
+ <tetrahedron index="19724" v0="4277" v1="4354" v2="4694" v3="5153" />
+ <tetrahedron index="19725" v0="3483" v1="3484" v2="3905" v3="5952" />
+ <tetrahedron index="19726" v0="4896" v1="5072" v2="5695" v3="5851" />
+ <tetrahedron index="19727" v0="4012" v1="4018" v2="4035" v3="6339" />
+ <tetrahedron index="19728" v0="4459" v1="4768" v2="4800" v3="5366" />
+ <tetrahedron index="19729" v0="5010" v1="5522" v2="5632" v3="6195" />
+ <tetrahedron index="19730" v0="4163" v1="4762" v2="5123" v3="5719" />
+ <tetrahedron index="19731" v0="4878" v1="4967" v2="5040" v3="5581" />
+ <tetrahedron index="19732" v0="4930" v1="5504" v2="6100" v3="6417" />
+ <tetrahedron index="19733" v0="3282" v1="5128" v2="5133" v3="5726" />
+ <tetrahedron index="19734" v0="3772" v1="4328" v2="4417" v3="5708" />
+ <tetrahedron index="19735" v0="4623" v1="5515" v2="6184" v3="6186" />
+ <tetrahedron index="19736" v0="3250" v1="3253" v2="4016" v3="5299" />
+ <tetrahedron index="19737" v0="5142" v1="5283" v2="5863" v3="5922" />
+ <tetrahedron index="19738" v0="3773" v1="3836" v2="5142" v3="5920" />
+ <tetrahedron index="19739" v0="3240" v1="3364" v2="3444" v3="3445" />
+ <tetrahedron index="19740" v0="5142" v1="5238" v2="5542" v3="5863" />
+ <tetrahedron index="19741" v0="3563" v1="3610" v2="3611" v3="5818" />
+ <tetrahedron index="19742" v0="3927" v1="4300" v2="5566" v3="5831" />
+ <tetrahedron index="19743" v0="4015" v1="5628" v2="5629" v3="5721" />
+ <tetrahedron index="19744" v0="3773" v1="3774" v2="3836" v3="5920" />
+ <tetrahedron index="19745" v0="4899" v1="5104" v2="5689" v3="5899" />
+ <tetrahedron index="19746" v0="5156" v1="6071" v2="6072" v3="6652" />
+ <tetrahedron index="19747" v0="3283" v1="5007" v2="5116" v3="5654" />
+ <tetrahedron index="19748" v0="4408" v1="4583" v2="4778" v3="5647" />
+ <tetrahedron index="19749" v0="3611" v1="4274" v2="5200" v3="5852" />
+ <tetrahedron index="19750" v0="3836" v1="5279" v2="5282" v3="5920" />
+ <tetrahedron index="19751" v0="4931" v1="4990" v2="5969" v3="6435" />
+ <tetrahedron index="19752" v0="3655" v1="3656" v2="3787" v3="5531" />
+ <tetrahedron index="19753" v0="4226" v1="5074" v2="5372" v3="6022" />
+ <tetrahedron index="19754" v0="3333" v1="3613" v2="3614" v3="5766" />
+ <tetrahedron index="19755" v0="3337" v1="4638" v2="5336" v3="6349" />
+ <tetrahedron index="19756" v0="4246" v1="4708" v2="5669" v3="6341" />
+ <tetrahedron index="19757" v0="3654" v1="4329" v2="4599" v3="4697" />
+ <tetrahedron index="19758" v0="5518" v1="6188" v2="6412" v3="6964" />
+ <tetrahedron index="19759" v0="4896" v1="5054" v2="5848" v3="5851" />
+ <tetrahedron index="19760" v0="5167" v1="6156" v2="6227" v3="6753" />
+ <tetrahedron index="19761" v0="3291" v1="3293" v2="4005" v3="5077" />
+ <tetrahedron index="19762" v0="4910" v1="5259" v2="5263" v3="5895" />
+ <tetrahedron index="19763" v0="4914" v1="5095" v2="5705" v3="5911" />
+ <tetrahedron index="19764" v0="3522" v1="3826" v2="3944" v3="5240" />
+ <tetrahedron index="19765" v0="4087" v1="4445" v2="5188" v3="6415" />
+ <tetrahedron index="19766" v0="5034" v1="5629" v2="5653" v3="5914" />
+ <tetrahedron index="19767" v0="5520" v1="6191" v2="6624" v3="6738" />
+ <tetrahedron index="19768" v0="5043" v1="5162" v2="5732" v3="6396" />
+ <tetrahedron index="19769" v0="5095" v1="5705" v2="5974" v3="6381" />
+ <tetrahedron index="19770" v0="5509" v1="6230" v2="6431" v3="6735" />
+ <tetrahedron index="19771" v0="4762" v1="5123" v2="5198" v3="5719" />
+ <tetrahedron index="19772" v0="3897" v1="4130" v2="4255" v3="5825" />
+ <tetrahedron index="19773" v0="5189" v1="5808" v2="6697" v3="6952" />
+ <tetrahedron index="19774" v0="4950" v1="5947" v2="6243" v3="6245" />
+ <tetrahedron index="19775" v0="5096" v1="5684" v2="6368" v3="6986" />
+ <tetrahedron index="19776" v0="3759" v1="5084" v2="5661" v3="5677" />
+ <tetrahedron index="19777" v0="4974" v1="5445" v2="6061" v3="6445" />
+ <tetrahedron index="19778" v0="4851" v1="4935" v2="5338" v3="6318" />
+ <tetrahedron index="19779" v0="3852" v1="4357" v2="5374" v3="6532" />
+ <tetrahedron index="19780" v0="3355" v1="5226" v2="5417" v3="5420" />
+ <tetrahedron index="19781" v0="4292" v1="4455" v2="5539" v3="6211" />
+ <tetrahedron index="19782" v0="3808" v1="5329" v2="5586" v3="6258" />
+ <tetrahedron index="19783" v0="3780" v1="4585" v2="5393" v3="5394" />
+ <tetrahedron index="19784" v0="3725" v1="4705" v2="5126" v3="5459" />
+ <tetrahedron index="19785" v0="3254" v1="3256" v2="3813" v3="6021" />
+ <tetrahedron index="19786" v0="3729" v1="3979" v2="4990" v3="5771" />
+ <tetrahedron index="19787" v0="3603" v1="3791" v2="4066" v3="4888" />
+ <tetrahedron index="19788" v0="5010" v1="5521" v2="6193" v3="6231" />
+ <tetrahedron index="19789" v0="3799" v1="4590" v2="5135" v3="6356" />
+ <tetrahedron index="19790" v0="5877" v1="6182" v2="6732" v3="6964" />
+ <tetrahedron index="19791" v0="3890" v1="4200" v2="4244" v3="5379" />
+ <tetrahedron index="19792" v0="3744" v1="5281" v2="5919" v3="5923" />
+ <tetrahedron index="19793" v0="5251" v1="5252" v2="5619" v3="5886" />
+ <tetrahedron index="19794" v0="3267" v1="4906" v2="4959" v3="5069" />
+ <tetrahedron index="19795" v0="3598" v1="3612" v2="3614" v3="6831" />
+ <tetrahedron index="19796" v0="3509" v1="3809" v2="4639" v3="5330" />
+ <tetrahedron index="19797" v0="5305" v1="5941" v2="6553" v3="6983" />
+ <tetrahedron index="19798" v0="3923" v1="3933" v2="3934" v3="5868" />
+ <tetrahedron index="19799" v0="3350" v1="5256" v2="5257" v3="6076" />
+ <tetrahedron index="19800" v0="3242" v1="4021" v2="4276" v3="5220" />
+ <tetrahedron index="19801" v0="3836" v1="5142" v2="5279" v3="5920" />
+ <tetrahedron index="19802" v0="3557" v1="4313" v2="4529" v3="6453" />
+ <tetrahedron index="19803" v0="5098" v1="5384" v2="5385" v3="5466" />
+ <tetrahedron index="19804" v0="5810" v1="6463" v2="6996" v3="7019" />
+ <tetrahedron index="19805" v0="4887" v1="5200" v2="5674" v3="5818" />
+ <tetrahedron index="19806" v0="3355" v1="3839" v2="5417" v3="5420" />
+ <tetrahedron index="19807" v0="5255" v1="5567" v2="5778" v3="6813" />
+ <tetrahedron index="19808" v0="4747" v1="4789" v2="5574" v3="6249" />
+ <tetrahedron index="19809" v0="4494" v1="5016" v2="5530" v3="5531" />
+ <tetrahedron index="19810" v0="3618" v1="4437" v2="4647" v3="5159" />
+ <tetrahedron index="19811" v0="4257" v1="5464" v2="5808" v3="6130" />
+ <tetrahedron index="19812" v0="3562" v1="3681" v2="5358" v3="6607" />
+ <tetrahedron index="19813" v0="3438" v1="3735" v2="5608" v3="5696" />
+ <tetrahedron index="19814" v0="3600" v1="3910" v2="4458" v3="5790" />
+ <tetrahedron index="19815" v0="3343" v1="5160" v2="5769" v3="5771" />
+ <tetrahedron index="19816" v0="4744" v1="4746" v2="4837" v3="6003" />
+ <tetrahedron index="19817" v0="3529" v1="3765" v2="5441" v3="6549" />
+ <tetrahedron index="19818" v0="3485" v1="4491" v2="4523" v3="5344" />
+ <tetrahedron index="19819" v0="5764" v1="6308" v2="6757" v3="6805" />
+ <tetrahedron index="19820" v0="5157" v1="6551" v2="6764" v3="6894" />
+ <tetrahedron index="19821" v0="3490" v1="3589" v2="3723" v3="5261" />
+ <tetrahedron index="19822" v0="3566" v1="4131" v2="5501" v3="6088" />
+ <tetrahedron index="19823" v0="4927" v1="5672" v2="5821" v3="5957" />
+ <tetrahedron index="19824" v0="5134" v1="5178" v2="5788" v3="6448" />
+ <tetrahedron index="19825" v0="5809" v1="6622" v2="6623" v3="6737" />
+ <tetrahedron index="19826" v0="4951" v1="5445" v2="6061" v3="6104" />
+ <tetrahedron index="19827" v0="3528" v1="3792" v2="4973" v3="5485" />
+ <tetrahedron index="19828" v0="4950" v1="5763" v2="6034" v3="6558" />
+ <tetrahedron index="19829" v0="5407" v1="5485" v2="5726" v3="5727" />
+ <tetrahedron index="19830" v0="4925" v1="5154" v2="5249" v3="5757" />
+ <tetrahedron index="19831" v0="5036" v1="5573" v2="5574" v3="6250" />
+ <tetrahedron index="19832" v0="3659" v1="4537" v2="5526" v3="5594" />
+ <tetrahedron index="19833" v0="3833" v1="3834" v2="3928" v3="6986" />
+ <tetrahedron index="19834" v0="3310" v1="3572" v2="3627" v3="5373" />
+ <tetrahedron index="19835" v0="5146" v1="5486" v2="5742" v3="6135" />
+ <tetrahedron index="19836" v0="4576" v1="5044" v2="5296" v3="5584" />
+ <tetrahedron index="19837" v0="5285" v1="5344" v2="5924" v3="5990" />
+ <tetrahedron index="19838" v0="3479" v1="4687" v2="5206" v3="5824" />
+ <tetrahedron index="19839" v0="3609" v1="4527" v2="4534" v3="5570" />
+ <tetrahedron index="19840" v0="3700" v1="4935" v2="5563" v3="6318" />
+ <tetrahedron index="19841" v0="4947" v1="5074" v2="5374" v3="5898" />
+ <tetrahedron index="19842" v0="5167" v1="6247" v2="6753" v3="6766" />
+ <tetrahedron index="19843" v0="4622" v1="5010" v2="5523" v3="6195" />
+ <tetrahedron index="19844" v0="3946" v1="4836" v2="5244" v3="5873" />
+ <tetrahedron index="19845" v0="3403" v1="4060" v2="4516" v3="5208" />
+ <tetrahedron index="19846" v0="3378" v1="3603" v2="5137" v3="5820" />
+ <tetrahedron index="19847" v0="4937" v1="6292" v2="6773" v3="6907" />
+ <tetrahedron index="19848" v0="4175" v1="4176" v2="4177" v3="5560" />
+ <tetrahedron index="19849" v0="4663" v1="5278" v2="5917" v3="6543" />
+ <tetrahedron index="19850" v0="3499" v1="5254" v2="5688" v3="5887" />
+ <tetrahedron index="19851" v0="3746" v1="5040" v2="5175" v3="5581" />
+ <tetrahedron index="19852" v0="5104" v1="5896" v2="5899" v3="6241" />
+ <tetrahedron index="19853" v0="4541" v1="5437" v2="5754" v3="6416" />
+ <tetrahedron index="19854" v0="6645" v1="6703" v2="6931" v3="7012" />
+ <tetrahedron index="19855" v0="3451" v1="5210" v2="5829" v3="5871" />
+ <tetrahedron index="19856" v0="3405" v1="3628" v2="3643" v3="5931" />
+ <tetrahedron index="19857" v0="5903" v1="6671" v2="6672" v3="6797" />
+ <tetrahedron index="19858" v0="5152" v1="6012" v2="6668" v3="6669" />
+ <tetrahedron index="19859" v0="4879" v1="5108" v2="5182" v3="6366" />
+ <tetrahedron index="19860" v0="4712" v1="5477" v2="5846" v3="6141" />
+ <tetrahedron index="19861" v0="5195" v1="5809" v2="6623" v3="6737" />
+ <tetrahedron index="19862" v0="4908" v1="5888" v2="6360" v3="6813" />
+ <tetrahedron index="19863" v0="4695" v1="4823" v2="4841" v3="5090" />
+ <tetrahedron index="19864" v0="4364" v1="4501" v2="5328" v3="5585" />
+ <tetrahedron index="19865" v0="3780" v1="4585" v2="4775" v3="5393" />
+ <tetrahedron index="19866" v0="3656" v1="3787" v2="3788" v3="5531" />
+ <tetrahedron index="19867" v0="3524" v1="4080" v2="5058" v3="5611" />
+ <tetrahedron index="19868" v0="4656" v1="5490" v2="6007" v3="6777" />
+ <tetrahedron index="19869" v0="3961" v1="3962" v2="5122" v3="5198" />
+ <tetrahedron index="19870" v0="3372" v1="3375" v2="3688" v3="6114" />
+ <tetrahedron index="19871" v0="3768" v1="3845" v2="5854" v3="6502" />
+ <tetrahedron index="19872" v0="3977" v1="4260" v2="4284" v3="5682" />
+ <tetrahedron index="19873" v0="3679" v1="5373" v2="5667" v3="6023" />
+ <tetrahedron index="19874" v0="5068" v1="5637" v2="5744" v3="6317" />
+ <tetrahedron index="19875" v0="4350" v1="5236" v2="5860" v3="6505" />
+ <tetrahedron index="19876" v0="4744" v1="5350" v2="5351" v3="5352" />
+ <tetrahedron index="19877" v0="3347" v1="3348" v2="5113" v3="5891" />
+ <tetrahedron index="19878" v0="3237" v1="4235" v2="4236" v3="5545" />
+ <tetrahedron index="19879" v0="3427" v1="3428" v2="4205" v3="4441" />
+ <tetrahedron index="19880" v0="3402" v1="5209" v2="6401" v3="6402" />
+ <tetrahedron index="19881" v0="4962" v1="5414" v2="6073" v3="6074" />
+ <tetrahedron index="19882" v0="4910" v1="5260" v2="5896" v3="5899" />
+ <tetrahedron index="19883" v0="4285" v1="5012" v2="6235" v3="6562" />
+ <tetrahedron index="19884" v0="3368" v1="5248" v2="5547" v3="6523" />
+ <tetrahedron index="19885" v0="4897" v1="5078" v2="5231" v3="5853" />
+ <tetrahedron index="19886" v0="3490" v1="3492" v2="3572" v3="5262" />
+ <tetrahedron index="19887" v0="4170" v1="5106" v2="5486" v3="6149" />
+ <tetrahedron index="19888" v0="3869" v1="5505" v2="5932" v3="6548" />
+ <tetrahedron index="19889" v0="4941" v1="5357" v2="5633" v3="6606" />
+ <tetrahedron index="19890" v0="5269" v1="5846" v2="6015" v3="6885" />
+ <tetrahedron index="19891" v0="4498" v1="4499" v2="4583" v3="5071" />
+ <tetrahedron index="19892" v0="3944" v1="5357" v2="5870" v3="6506" />
+ <tetrahedron index="19893" v0="5132" v1="5357" v2="5870" v3="6506" />
+ <tetrahedron index="19894" v0="4754" v1="4813" v2="5121" v3="5712" />
+ <tetrahedron index="19895" v0="4942" v1="5359" v2="5681" v3="5682" />
+ <tetrahedron index="19896" v0="5019" v1="5519" v2="6189" v3="6624" />
+ <tetrahedron index="19897" v0="5167" v1="6247" v2="6765" v3="6766" />
+ <tetrahedron index="19898" v0="3862" v1="5165" v2="5730" v3="5780" />
+ <tetrahedron index="19899" v0="5027" v1="5558" v2="6230" v3="6234" />
+ <tetrahedron index="19900" v0="4996" v1="5494" v2="6114" v3="6714" />
+ <tetrahedron index="19901" v0="4186" v1="4187" v2="5470" v3="6540" />
+ <tetrahedron index="19902" v0="3656" v1="4227" v2="4494" v3="5530" />
+ <tetrahedron index="19903" v0="4823" v1="4841" v2="5090" v3="5657" />
+ <tetrahedron index="19904" v0="4018" v1="4075" v2="4650" v3="5105" />
+ <tetrahedron index="19905" v0="3535" v1="3536" v2="5890" v3="6113" />
+ <tetrahedron index="19906" v0="3418" v1="3611" v2="4274" v3="5852" />
+ <tetrahedron index="19907" v0="4074" v1="4289" v2="4555" v3="6363" />
+ <tetrahedron index="19908" v0="4233" v1="5077" v2="5103" v3="5802" />
+ <tetrahedron index="19909" v0="5560" v1="5758" v2="5759" v3="6820" />
+ <tetrahedron index="19910" v0="3565" v1="3709" v2="4230" v3="5715" />
+ <tetrahedron index="19911" v0="4891" v1="5109" v2="5697" v3="6357" />
+ <tetrahedron index="19912" v0="4944" v1="5364" v2="6115" v3="6685" />
+ <tetrahedron index="19913" v0="3447" v1="3448" v2="3951" v3="5803" />
+ <tetrahedron index="19914" v0="4070" v1="4071" v2="4072" v3="6163" />
+ <tetrahedron index="19915" v0="5127" v1="6042" v2="6467" v3="6620" />
+ <tetrahedron index="19916" v0="5012" v1="6266" v2="6424" v3="6562" />
+ <tetrahedron index="19917" v0="3851" v1="4553" v2="5259" v3="5894" />
+ <tetrahedron index="19918" v0="4374" v1="4572" v2="5130" v3="5731" />
+ <tetrahedron index="19919" v0="4855" v1="4925" v2="5249" v3="5883" />
+ <tetrahedron index="19920" v0="3280" v1="3382" v2="5266" v3="5901" />
+ <tetrahedron index="19921" v0="3538" v1="5584" v2="5934" v3="5972" />
+ <tetrahedron index="19922" v0="3295" v1="3773" v2="3836" v3="5142" />
+ <tetrahedron index="19923" v0="3441" v1="3443" v2="3824" v3="5091" />
+ <tetrahedron index="19924" v0="3400" v1="3966" v2="5838" v3="6501" />
+ <tetrahedron index="19925" v0="5055" v1="5686" v2="6484" v3="6501" />
+ <tetrahedron index="19926" v0="3609" v1="4533" v2="4534" v3="5570" />
+ <tetrahedron index="19927" v0="3645" v1="3646" v2="5566" v3="6240" />
+ <tetrahedron index="19928" v0="4486" v1="4821" v2="5350" v3="5989" />
+ <tetrahedron index="19929" v0="3742" v1="4448" v2="5283" v3="5923" />
+ <tetrahedron index="19930" v0="4128" v1="4603" v2="4635" v3="5896" />
+ <tetrahedron index="19931" v0="4114" v1="4310" v2="5109" v3="5699" />
+ <tetrahedron index="19932" v0="3418" v1="3611" v2="4676" v3="5852" />
+ <tetrahedron index="19933" v0="3653" v1="5499" v2="5777" v3="6440" />
+ <tetrahedron index="19934" v0="3709" v1="3824" v2="5180" v3="5715" />
+ <tetrahedron index="19935" v0="5255" v1="5778" v2="6441" v3="6813" />
+ <tetrahedron index="19936" v0="3652" v1="5111" v2="5499" v3="5777" />
+ <tetrahedron index="19937" v0="4318" v1="5216" v2="5479" v3="6143" />
+ <tetrahedron index="19938" v0="3744" v1="5281" v2="5919" v3="6028" />
+ <tetrahedron index="19939" v0="5008" v1="5750" v2="6186" v3="6412" />
+ <tetrahedron index="19940" v0="5840" v1="6596" v2="6718" v3="6961" />
+ <tetrahedron index="19941" v0="4641" v1="4642" v2="5132" v3="5357" />
+ <tetrahedron index="19942" v0="3431" v1="3865" v2="5408" v3="5410" />
+ <tetrahedron index="19943" v0="3382" v1="5041" v2="5266" v3="5901" />
+ <tetrahedron index="19944" v0="3396" v1="4988" v2="5219" v3="6143" />
+ <tetrahedron index="19945" v0="3680" v1="4388" v2="5066" v3="6609" />
+ <tetrahedron index="19946" v0="4980" v1="5459" v2="5462" v3="6119" />
+ <tetrahedron index="19947" v0="4385" v1="4533" v2="4613" v3="6244" />
+ <tetrahedron index="19948" v0="4708" v1="5646" v2="5669" v3="6341" />
+ <tetrahedron index="19949" v0="3255" v1="3819" v2="4511" v3="5371" />
+ <tetrahedron index="19950" v0="3640" v1="5086" v2="5665" v3="6647" />
+ <tetrahedron index="19951" v0="5027" v1="6431" v2="6557" v3="6757" />
+ <tetrahedron index="19952" v0="3962" v1="4676" v2="5719" v3="5818" />
+ <tetrahedron index="19953" v0="4436" v1="5270" v2="5905" v3="5906" />
+ <tetrahedron index="19954" v0="4926" v1="5310" v2="5311" v3="6561" />
+ <tetrahedron index="19955" v0="4489" v1="5197" v2="6427" v3="6541" />
+ <tetrahedron index="19956" v0="4108" v1="4178" v2="4179" v3="5797" />
+ <tetrahedron index="19957" v0="3286" v1="5514" v2="5901" v3="6058" />
+ <tetrahedron index="19958" v0="4188" v1="5063" v2="5906" v3="6111" />
+ <tetrahedron index="19959" v0="5219" v1="5838" v2="6143" v3="6484" />
+ <tetrahedron index="19960" v0="3288" v1="3515" v2="3682" v3="5143" />
+ <tetrahedron index="19961" v0="4753" v1="5478" v2="6142" v3="6277" />
+ <tetrahedron index="19962" v0="4887" v1="5199" v2="5716" v3="5819" />
+ <tetrahedron index="19963" v0="3258" v1="3261" v2="3265" v3="3267" />
+ <tetrahedron index="19964" v0="3640" v1="3661" v2="4828" v3="5665" />
+ <tetrahedron index="19965" v0="3942" v1="3986" v2="4000" v3="6333" />
+ <tetrahedron index="19966" v0="4600" v1="4768" v2="5366" v3="6017" />
+ <tetrahedron index="19967" v0="5482" v1="5588" v2="6260" v3="6262" />
+ <tetrahedron index="19968" v0="4717" v1="5411" v2="5462" v3="6125" />
+ <tetrahedron index="19969" v0="5107" v1="5210" v2="5700" v3="6364" />
+ <tetrahedron index="19970" v0="4040" v1="4776" v2="5606" v3="5607" />
+ <tetrahedron index="19971" v0="4990" v1="5548" v2="5797" v3="6146" />
+ <tetrahedron index="19972" v0="3291" v1="3293" v2="3757" v3="4005" />
+ <tetrahedron index="19973" v0="3439" v1="3440" v2="5608" v3="5848" />
+ <tetrahedron index="19974" v0="4224" v1="4643" v2="5637" v3="5744" />
+ <tetrahedron index="19975" v0="3677" v1="3918" v2="4352" v3="5368" />
+ <tetrahedron index="19976" v0="3290" v1="3425" v2="3515" v3="5143" />
+ <tetrahedron index="19977" v0="3450" v1="3452" v2="3533" v3="5242" />
+ <tetrahedron index="19978" v0="4855" v1="5319" v2="5483" v3="5963" />
+ <tetrahedron index="19979" v0="4460" v1="5058" v2="5612" v3="5657" />
+ <tetrahedron index="19980" v0="6050" v1="6154" v2="6710" v3="6711" />
+ <tetrahedron index="19981" v0="4662" v1="5235" v2="5237" v3="5862" />
+ <tetrahedron index="19982" v0="5016" v1="5532" v2="5595" v3="6743" />
+ <tetrahedron index="19983" v0="5006" v1="5692" v2="5879" v3="6518" />
+ <tetrahedron index="19984" v0="4511" v1="5370" v2="5371" v3="6019" />
+ <tetrahedron index="19985" v0="4093" v1="4153" v2="5146" v3="5742" />
+ <tetrahedron index="19986" v0="5064" v1="5627" v2="6305" v3="6802" />
+ <tetrahedron index="19987" v0="4034" v1="5390" v2="6471" v3="6619" />
+ <tetrahedron index="19988" v0="5175" v1="5579" v2="6254" v3="6772" />
+ <tetrahedron index="19989" v0="3880" v1="4567" v2="4648" v3="5347" />
+ <tetrahedron index="19990" v0="4347" v1="4349" v2="5634" v3="6008" />
+ <tetrahedron index="19991" v0="4980" v1="5459" v2="5460" v3="6123" />
+ <tetrahedron index="19992" v0="4179" v1="4269" v2="5669" v3="5798" />
+ <tetrahedron index="19993" v0="4075" v1="5105" v2="5230" v3="5691" />
+ <tetrahedron index="19994" v0="3238" v1="4229" v2="5544" v3="5893" />
+ <tetrahedron index="19995" v0="5845" v1="6153" v2="6493" v3="6884" />
+ <tetrahedron index="19996" v0="4710" v1="4821" v2="5351" v3="5999" />
+ <tetrahedron index="19997" v0="3361" v1="5312" v2="5671" v3="6343" />
+ <tetrahedron index="19998" v0="4872" v1="5050" v2="5164" v3="5597" />
+ <tetrahedron index="19999" v0="3614" v1="5083" v2="5766" v3="6831" />
+ <tetrahedron index="20000" v0="4844" v1="5265" v2="5815" v3="6000" />
+ <tetrahedron index="20001" v0="4886" v1="5197" v2="6176" v3="6731" />
+ <tetrahedron index="20002" v0="4916" v1="5279" v2="5283" v3="5923" />
+ <tetrahedron index="20003" v0="5904" v1="6460" v2="6538" v3="6867" />
+ <tetrahedron index="20004" v0="3770" v1="5321" v2="5323" v3="5708" />
+ <tetrahedron index="20005" v0="4869" v1="5160" v2="5770" v3="6858" />
+ <tetrahedron index="20006" v0="5194" v1="5815" v2="6000" v3="6473" />
+ <tetrahedron index="20007" v0="4225" v1="4402" v2="5585" v3="5734" />
+ <tetrahedron index="20008" v0="4939" v1="5353" v2="6419" v3="6848" />
+ <tetrahedron index="20009" v0="3686" v1="5642" v2="5933" v3="6320" />
+ <tetrahedron index="20010" v0="4856" v1="4956" v2="5783" v3="7018" />
+ <tetrahedron index="20011" v0="3950" v1="3951" v2="4233" v3="6454" />
+ <tetrahedron index="20012" v0="5022" v1="5545" v2="5893" v3="6215" />
+ <tetrahedron index="20013" v0="6098" v1="6640" v2="6673" v3="6944" />
+ <tetrahedron index="20014" v0="4890" v1="5207" v2="5209" v3="5828" />
+ <tetrahedron index="20015" v0="3514" v1="3918" v2="4465" v3="6038" />
+ <tetrahedron index="20016" v0="4238" v1="4239" v2="4733" v3="6395" />
+ <tetrahedron index="20017" v0="4893" v1="4988" v2="5216" v3="6484" />
+ <tetrahedron index="20018" v0="5310" v1="6054" v2="6263" v3="6874" />
+ <tetrahedron index="20019" v0="4347" v1="5132" v2="6008" v3="6314" />
+ <tetrahedron index="20020" v0="4932" v1="5121" v2="5327" v3="5975" />
+ <tetrahedron index="20021" v0="4086" v1="6091" v2="6457" v3="6665" />
+ <tetrahedron index="20022" v0="5490" v1="6151" v2="6327" v3="6777" />
+ <tetrahedron index="20023" v0="4910" v1="5262" v2="5897" v3="6533" />
+ <tetrahedron index="20024" v0="3434" v1="3745" v2="5578" v3="5581" />
+ <tetrahedron index="20025" v0="4220" v1="4518" v2="4658" v3="5387" />
+ <tetrahedron index="20026" v0="4945" v1="5366" v2="6018" v3="6386" />
+ <tetrahedron index="20027" v0="5397" v1="6056" v2="6443" v3="6864" />
+ <tetrahedron index="20028" v0="3661" v1="4686" v2="5401" v3="6059" />
+ <tetrahedron index="20029" v0="4961" v1="5411" v2="6127" v3="6725" />
+ <tetrahedron index="20030" v0="3604" v1="3743" v2="5281" v3="6028" />
+ <tetrahedron index="20031" v0="3326" v1="3939" v2="5172" v3="5787" />
+ <tetrahedron index="20032" v0="4902" v1="5107" v2="5124" v3="5826" />
+ <tetrahedron index="20033" v0="4144" v1="4362" v2="4774" v3="5082" />
+ <tetrahedron index="20034" v0="4979" v1="5084" v2="5662" v3="5767" />
+ <tetrahedron index="20035" v0="4893" v1="5021" v2="5836" v3="6214" />
+ <tetrahedron index="20036" v0="5176" v1="5428" v2="6662" v3="6772" />
+ <tetrahedron index="20037" v0="5532" v1="5981" v2="6205" v3="6743" />
+ <tetrahedron index="20038" v0="4185" v1="4450" v2="5540" v3="5813" />
+ <tetrahedron index="20039" v0="4948" v1="5136" v2="5375" v3="5377" />
+ <tetrahedron index="20040" v0="4446" v1="4450" v2="4455" v3="5540" />
+ <tetrahedron index="20041" v0="5307" v1="5570" v2="5946" v3="6245" />
+ <tetrahedron index="20042" v0="3324" v1="3325" v2="3326" v3="5787" />
+ <tetrahedron index="20043" v0="5188" v1="5805" v2="6092" v3="6458" />
+ <tetrahedron index="20044" v0="4960" v1="5067" v2="6019" v3="6068" />
+ <tetrahedron index="20045" v0="4141" v1="4254" v2="4798" v3="6196" />
+ <tetrahedron index="20046" v0="4340" v1="4717" v2="5411" v3="6125" />
+ <tetrahedron index="20047" v0="3612" v1="3614" v2="5473" v3="6831" />
+ <tetrahedron index="20048" v0="3544" v1="3690" v2="4628" v3="5049" />
+ <tetrahedron index="20049" v0="4070" v1="4247" v2="4248" v3="6161" />
+ <tetrahedron index="20050" v0="4139" v1="5389" v2="6041" v3="6207" />
+ <tetrahedron index="20051" v0="3266" v1="4956" v2="5404" v3="5405" />
+ <tetrahedron index="20052" v0="3496" v1="3497" v2="3967" v3="5449" />
+ <tetrahedron index="20053" v0="5068" v1="5636" v2="5744" v3="6317" />
+ <tetrahedron index="20054" v0="3518" v1="3519" v2="3520" v3="6414" />
+ <tetrahedron index="20055" v0="4856" v1="4956" v2="4991" v3="5587" />
+ <tetrahedron index="20056" v0="3686" v1="4161" v2="5933" v3="6320" />
+ <tetrahedron index="20057" v0="6279" v1="6784" v2="6862" v3="6949" />
+ <tetrahedron index="20058" v0="5040" v1="5580" v2="5784" v3="6446" />
+ <tetrahedron index="20059" v0="3997" v1="5125" v2="5329" v3="5586" />
+ <tetrahedron index="20060" v0="3938" v1="4386" v2="5968" v3="6379" />
+ <tetrahedron index="20061" v0="4342" v1="4539" v2="4667" v3="5007" />
+ <tetrahedron index="20062" v0="4164" v1="5377" v2="5917" v3="6543" />
+ <tetrahedron index="20063" v0="5520" v1="6585" v2="6624" v3="6737" />
+ <tetrahedron index="20064" v0="3488" v1="3684" v2="3763" v3="6617" />
+ <tetrahedron index="20065" v0="3280" v1="3281" v2="3282" v3="3386" />
+ <tetrahedron index="20066" v0="5037" v1="5984" v2="5987" v3="6901" />
+ <tetrahedron index="20067" v0="4697" v1="5130" v2="5469" v3="6325" />
+ <tetrahedron index="20068" v0="3930" v1="4578" v2="4730" v3="5601" />
+ <tetrahedron index="20069" v0="4997" v1="5877" v2="6182" v3="6732" />
+ <tetrahedron index="20070" v0="4442" v1="4742" v2="5225" v3="5417" />
+ <tetrahedron index="20071" v0="4349" v1="4641" v2="5132" v3="6008" />
+ <tetrahedron index="20072" v0="4206" v1="4235" v2="4680" v3="5567" />
+ <tetrahedron index="20073" v0="3247" v1="5364" v2="5621" v3="6115" />
+ <tetrahedron index="20074" v0="5002" v1="5864" v2="6506" v3="6508" />
+ <tetrahedron index="20075" v0="3777" v1="4670" v2="4822" v3="5604" />
+ <tetrahedron index="20076" v0="4065" v1="4511" v2="5371" v3="6019" />
+ <tetrahedron index="20077" v0="4365" v1="4685" v2="5487" v3="5878" />
+ <tetrahedron index="20078" v0="4928" v1="5762" v2="6080" v3="6428" />
+ <tetrahedron index="20079" v0="3719" v1="4061" v2="5203" v3="6362" />
+ <tetrahedron index="20080" v0="4859" v1="5151" v2="5729" v3="6393" />
+ <tetrahedron index="20081" v0="3712" v1="5735" v2="6057" v3="6835" />
+ <tetrahedron index="20082" v0="4221" v1="4635" v2="4636" v3="5234" />
+ <tetrahedron index="20083" v0="4246" v1="4708" v2="4778" v3="6341" />
+ <tetrahedron index="20084" v0="5138" v1="5934" v2="5935" v3="5973" />
+ <tetrahedron index="20085" v0="3489" v1="3763" v2="3854" v3="6032" />
+ <tetrahedron index="20086" v0="3575" v1="3577" v2="5253" v3="5496" />
+ <tetrahedron index="20087" v0="3888" v1="5729" v2="6039" v3="6618" />
+ <tetrahedron index="20088" v0="4934" v1="5337" v2="5980" v3="6743" />
+ <tetrahedron index="20089" v0="4855" v1="5883" v2="6065" v3="6392" />
+ <tetrahedron index="20090" v0="3417" v1="3570" v2="3661" v3="5401" />
+ <tetrahedron index="20091" v0="4386" v1="5322" v2="5968" v3="6379" />
+ <tetrahedron index="20092" v0="4566" v1="4639" v2="5136" v3="5375" />
+ <tetrahedron index="20093" v0="5407" v1="6065" v2="6144" v3="6392" />
+ <tetrahedron index="20094" v0="3345" v1="4510" v2="4559" v3="5163" />
+ <tetrahedron index="20095" v0="4347" v1="4348" v2="4349" v3="5132" />
+ <tetrahedron index="20096" v0="5346" v1="6246" v2="6589" v3="6939" />
+ <tetrahedron index="20097" v0="4475" v1="4477" v2="5092" v3="6483" />
+ <tetrahedron index="20098" v0="5012" v1="5524" v2="5759" v3="5882" />
+ <tetrahedron index="20099" v0="5023" v1="5839" v2="6216" v3="6485" />
+ <tetrahedron index="20100" v0="4949" v1="5378" v2="5379" v3="5555" />
+ <tetrahedron index="20101" v0="3954" v1="5215" v2="5543" v3="6214" />
+ <tetrahedron index="20102" v0="4570" v1="5265" v2="5815" v3="6013" />
+ <tetrahedron index="20103" v0="3457" v1="3886" v2="4208" v3="5134" />
+ <tetrahedron index="20104" v0="5001" v1="5503" v2="6100" v3="6168" />
+ <tetrahedron index="20105" v0="4931" v1="5323" v2="5969" v3="6435" />
+ <tetrahedron index="20106" v0="4487" v1="4705" v2="5126" v3="5722" />
+ <tetrahedron index="20107" v0="4924" v1="5304" v2="5306" v3="5944" />
+ <tetrahedron index="20108" v0="4884" v1="5191" v2="6844" v3="6969" />
+ <tetrahedron index="20109" v0="3368" v1="3369" v2="4022" v3="5547" />
+ <tetrahedron index="20110" v0="3939" v1="4197" v2="4644" v3="5580" />
+ <tetrahedron index="20111" v0="4949" v1="5026" v2="5552" v3="5554" />
+ <tetrahedron index="20112" v0="5070" v1="5643" v2="5774" v3="6320" />
+ <tetrahedron index="20113" v0="3728" v1="4135" v2="5323" v3="5969" />
+ <tetrahedron index="20114" v0="5190" v1="6461" v2="6464" v3="7023" />
+ <tetrahedron index="20115" v0="4278" v1="5388" v2="6040" v3="6619" />
+ <tetrahedron index="20116" v0="5020" v1="5556" v2="6466" v3="6745" />
+ <tetrahedron index="20117" v0="4930" v1="6100" v2="6675" v3="6719" />
+ <tetrahedron index="20118" v0="3658" v1="4146" v2="4264" v3="5183" />
+ <tetrahedron index="20119" v0="3530" v1="4034" v2="4278" v3="6619" />
+ <tetrahedron index="20120" v0="4916" v1="5281" v2="5283" v3="5923" />
+ <tetrahedron index="20121" v0="5148" v1="6033" v2="6550" v3="6580" />
+ <tetrahedron index="20122" v0="3455" v1="3898" v2="5699" v3="5825" />
+ <tetrahedron index="20123" v0="4732" v1="4746" v2="4805" v3="6598" />
+ <tetrahedron index="20124" v0="4412" v1="4571" v2="4592" v3="5079" />
+ <tetrahedron index="20125" v0="4889" v1="5203" v2="5206" v3="6362" />
+ <tetrahedron index="20126" v0="3499" v1="4408" v2="4565" v3="5887" />
+ <tetrahedron index="20127" v0="3531" v1="3533" v2="5114" v3="6801" />
+ <tetrahedron index="20128" v0="3263" v1="4218" v2="5001" v3="5504" />
+ <tetrahedron index="20129" v0="3671" v1="5107" v2="5124" v3="5694" />
+ <tetrahedron index="20130" v0="5415" v1="5632" v2="6195" v3="6313" />
+ <tetrahedron index="20131" v0="3274" v1="3386" v2="5320" v3="5727" />
+ <tetrahedron index="20132" v0="3444" v1="3710" v2="4825" v3="5971" />
+ <tetrahedron index="20133" v0="4896" v1="5850" v2="6496" v3="6499" />
+ <tetrahedron index="20134" v0="5477" v1="6460" v2="6867" v3="6977" />
+ <tetrahedron index="20135" v0="3600" v1="4442" v2="5225" v3="5226" />
+ <tetrahedron index="20136" v0="4444" v1="4468" v2="4652" v3="6190" />
+ <tetrahedron index="20137" v0="3480" v1="3873" v2="5089" v3="6343" />
+ <tetrahedron index="20138" v0="3406" v1="4127" v2="4240" v3="5667" />
+ <tetrahedron index="20139" v0="3788" v1="4494" v2="4833" v3="5532" />
+ <tetrahedron index="20140" v0="4113" v1="4815" v2="5042" v3="5747" />
+ <tetrahedron index="20141" v0="3504" v1="5940" v2="5982" v3="6576" />
+ <tetrahedron index="20142" v0="3526" v1="4992" v2="5484" v3="5485" />
+ <tetrahedron index="20143" v0="4266" v1="5989" v2="6139" v3="6702" />
+ <tetrahedron index="20144" v0="4993" v1="5106" v2="5486" v3="6149" />
+ <tetrahedron index="20145" v0="4291" v1="5020" v2="5539" v3="5541" />
+ <tetrahedron index="20146" v0="3784" v1="5340" v2="5341" v3="5983" />
+ <tetrahedron index="20147" v0="4554" v1="5104" v2="6241" v3="6347" />
+ <tetrahedron index="20148" v0="5941" v1="5943" v2="6551" v3="6983" />
+ <tetrahedron index="20149" v0="5617" v1="6582" v2="6907" v3="6967" />
+ <tetrahedron index="20150" v0="4079" v1="5000" v2="5186" v3="5799" />
+ <tetrahedron index="20151" v0="3399" v1="3970" v2="4015" v3="5628" />
+ <tetrahedron index="20152" v0="5676" v1="6005" v2="6993" v3="7024" />
+ <tetrahedron index="20153" v0="4095" v1="4407" v2="5376" v3="5919" />
+ <tetrahedron index="20154" v0="3843" v1="4108" v2="4110" v3="6147" />
+ <tetrahedron index="20155" v0="3294" v1="3607" v2="3642" v3="6214" />
+ <tetrahedron index="20156" v0="3318" v1="4031" v2="4104" v3="4801" />
+ <tetrahedron index="20157" v0="4040" v1="4067" v2="6888" v3="7001" />
+ <tetrahedron index="20158" v0="3462" v1="3617" v2="3861" v3="4983" />
+ <tetrahedron index="20159" v0="5065" v1="5632" v2="6194" v3="6310" />
+ <tetrahedron index="20160" v0="4470" v1="4472" v2="4817" v3="5489" />
+ <tetrahedron index="20161" v0="4265" v1="4538" v2="4709" v3="5337" />
+ <tetrahedron index="20162" v0="4458" v1="4531" v2="5179" v3="6018" />
+ <tetrahedron index="20163" v0="4898" v1="5058" v2="5612" v3="5657" />
+ <tetrahedron index="20164" v0="4915" v1="5064" v2="5916" v3="6802" />
+ <tetrahedron index="20165" v0="5212" v1="5213" v2="6760" v3="6830" />
+ <tetrahedron index="20166" v0="3952" v1="4187" v2="5470" v3="6110" />
+ <tetrahedron index="20167" v0="3496" v1="4263" v2="5447" v3="5775" />
+ <tetrahedron index="20168" v0="4851" v1="4935" v2="5833" v3="6480" />
+ <tetrahedron index="20169" v0="3637" v1="3639" v2="3640" v3="5665" />
+ <tetrahedron index="20170" v0="3946" v1="5244" v2="5873" v3="6513" />
+ <tetrahedron index="20171" v0="4518" v1="4952" v2="5387" v3="6039" />
+ <tetrahedron index="20172" v0="4408" v1="4498" v2="4565" v3="5254" />
+ <tetrahedron index="20173" v0="3299" v1="3302" v2="5219" v3="5834" />
+ <tetrahedron index="20174" v0="4534" v1="5303" v2="5570" v3="5946" />
+ <tetrahedron index="20175" v0="4856" v1="4956" v2="5396" v3="6259" />
+ <tetrahedron index="20176" v0="5268" v1="6150" v2="6673" v3="6707" />
+ <tetrahedron index="20177" v0="4661" v1="4808" v2="5216" v3="5858" />
+ <tetrahedron index="20178" v0="4407" v1="5282" v2="5376" v3="5919" />
+ <tetrahedron index="20179" v0="4596" v1="4779" v2="5517" v3="6187" />
+ <tetrahedron index="20180" v0="4440" v1="4792" v2="5490" v3="6151" />
+ <tetrahedron index="20181" v0="4051" v1="4052" v2="5217" v3="6481" />
+ <tetrahedron index="20182" v0="4159" v1="4237" v2="4812" v3="5468" />
+ <tetrahedron index="20183" v0="4397" v1="5236" v2="5860" v3="5861" />
+ <tetrahedron index="20184" v0="3717" v1="3771" v2="4439" v3="6136" />
+ <tetrahedron index="20185" v0="4938" v1="5009" v2="5345" v3="6940" />
+ <tetrahedron index="20186" v0="4864" v1="5841" v2="6171" v3="6724" />
+ <tetrahedron index="20187" v0="4095" v1="4407" v2="5282" v3="5919" />
+ <tetrahedron index="20188" v0="4953" v1="5809" v2="6461" v3="6969" />
+ <tetrahedron index="20189" v0="4216" v1="4433" v2="5235" v3="5859" />
+ <tetrahedron index="20190" v0="4709" v1="5158" v2="5337" v3="5765" />
+ <tetrahedron index="20191" v0="4760" v1="4761" v2="6029" v3="6225" />
+ <tetrahedron index="20192" v0="3605" v1="4403" v2="4501" v3="5328" />
+ <tetrahedron index="20193" v0="3281" v1="5266" v2="5480" v3="5964" />
+ <tetrahedron index="20194" v0="3344" v1="5453" v2="6321" v3="6814" />
+ <tetrahedron index="20195" v0="4504" v1="4562" v2="4811" v3="6736" />
+ <tetrahedron index="20196" v0="3680" v1="3681" v2="5358" v3="5673" />
+ <tetrahedron index="20197" v0="5437" v1="6099" v2="6421" v3="6847" />
+ <tetrahedron index="20198" v0="4734" v1="5172" v2="5174" v3="5580" />
+ <tetrahedron index="20199" v0="4036" v1="4594" v2="5716" v3="5717" />
+ <tetrahedron index="20200" v0="4036" v1="5123" v2="5716" v3="5717" />
+ <tetrahedron index="20201" v0="3257" v1="3380" v2="4991" v3="5482" />
+ <tetrahedron index="20202" v0="6429" v1="6467" v2="6869" v3="6996" />
+ <tetrahedron index="20203" v0="4092" v1="4093" v2="4094" v3="6406" />
+ <tetrahedron index="20204" v0="5031" v1="5566" v2="5831" v3="6760" />
+ <tetrahedron index="20205" v0="3714" v1="3998" v2="5374" v3="6024" />
+ <tetrahedron index="20206" v0="4473" v1="5472" v2="5772" v3="6136" />
+ <tetrahedron index="20207" v0="3605" v1="3606" v2="5328" v3="5738" />
+ <tetrahedron index="20208" v0="3312" v1="5288" v2="5601" v3="5679" />
+ <tetrahedron index="20209" v0="3924" v1="4531" v2="4552" v3="5179" />
+ <tetrahedron index="20210" v0="3450" v1="3685" v2="5829" v3="6512" />
+ <tetrahedron index="20211" v0="4268" v1="4629" v2="4724" v3="5551" />
+ <tetrahedron index="20212" v0="4552" v1="5179" v2="5792" v3="5793" />
+ <tetrahedron index="20213" v0="5245" v1="6201" v2="6285" v3="7000" />
+ <tetrahedron index="20214" v0="4059" v1="4103" v2="4192" v3="5626" />
+ <tetrahedron index="20215" v0="5614" v1="6286" v2="6287" v3="6789" />
+ <tetrahedron index="20216" v0="4433" v1="5235" v2="5858" v3="5859" />
+ <tetrahedron index="20217" v0="5233" v1="5234" v2="5856" v3="6358" />
+ <tetrahedron index="20218" v0="4909" v1="5117" v2="5258" v3="5892" />
+ <tetrahedron index="20219" v0="4448" v1="5283" v2="5863" v3="5923" />
+ <tetrahedron index="20220" v0="5042" v1="5582" v2="6659" v3="6660" />
+ <tetrahedron index="20221" v0="3304" v1="3305" v2="5034" v3="5721" />
+ <tetrahedron index="20222" v0="4990" v1="5185" v2="5797" v3="5969" />
+ <tetrahedron index="20223" v0="3668" v1="4002" v2="4003" v3="5107" />
+ <tetrahedron index="20224" v0="3456" v1="3749" v2="5579" v3="6254" />
+ <tetrahedron index="20225" v0="3762" v1="5592" v2="5706" v3="6377" />
+ <tetrahedron index="20226" v0="4103" v1="4192" v2="5063" v3="6111" />
+ <tetrahedron index="20227" v0="4867" v1="5556" v2="6466" v3="6895" />
+ <tetrahedron index="20228" v0="3726" v1="5126" v2="5722" v3="6200" />
+ <tetrahedron index="20229" v0="5036" v1="6047" v2="6048" v3="6631" />
+ <tetrahedron index="20230" v0="4870" v1="5131" v2="5609" v3="6107" />
+ <tetrahedron index="20231" v0="3467" v1="4329" v2="4599" v3="4697" />
+ <tetrahedron index="20232" v0="3708" v1="5436" v2="6093" v3="6670" />
+ <tetrahedron index="20233" v0="4876" v1="5614" v2="6106" v3="6679" />
+ <tetrahedron index="20234" v0="4318" v1="4649" v2="4661" v3="5216" />
+ <tetrahedron index="20235" v0="3349" v1="3356" v2="4290" v3="6078" />
+ <tetrahedron index="20236" v0="5207" v1="5209" v2="5927" v3="6402" />
+ <tetrahedron index="20237" v0="4926" v1="5311" v2="5547" v3="6561" />
+ <tetrahedron index="20238" v0="5139" v1="5736" v2="6398" v3="6836" />
+ <tetrahedron index="20239" v0="3231" v1="3340" v2="4709" v3="5158" />
+ <tetrahedron index="20240" v0="4218" v1="4304" v2="5504" v3="6417" />
+ <tetrahedron index="20241" v0="4025" v1="4332" v2="4333" v3="4469" />
+ <tetrahedron index="20242" v0="5166" v1="6045" v2="6049" v3="6626" />
+ <tetrahedron index="20243" v0="5446" v1="6105" v2="6289" v3="6876" />
+ <tetrahedron index="20244" v0="3668" v1="5107" v2="5124" v3="5693" />
+ <tetrahedron index="20245" v0="4579" v1="4820" v2="5284" v3="5924" />
+ <tetrahedron index="20246" v0="3233" v1="3234" v2="3235" v3="6438" />
+ <tetrahedron index="20247" v0="4695" v1="4774" v2="4823" v3="5090" />
+ <tetrahedron index="20248" v0="3626" v1="3724" v2="5275" v3="5913" />
+ <tetrahedron index="20249" v0="5027" v1="5945" v2="6559" v3="6757" />
+ <tetrahedron index="20250" v0="4118" v1="4289" v2="5691" v3="6363" />
+ <tetrahedron index="20251" v0="5058" v1="5090" v2="5657" v3="6011" />
+ <tetrahedron index="20252" v0="3617" v1="3861" v2="4983" v3="5467" />
+ <tetrahedron index="20253" v0="4904" v1="5247" v2="5876" v3="6516" />
+ <tetrahedron index="20254" v0="4896" v1="5072" v2="5850" v3="5851" />
+ <tetrahedron index="20255" v0="4931" v1="5184" v2="5321" v3="5796" />
+ <tetrahedron index="20256" v0="3254" v1="3813" v2="5129" v3="6021" />
+ <tetrahedron index="20257" v0="4753" v1="5478" v2="6142" v3="6998" />
+ <tetrahedron index="20258" v0="3710" v1="4576" v2="4825" v3="5971" />
+ <tetrahedron index="20259" v0="4901" v1="5056" v2="5240" v3="5870" />
+ <tetrahedron index="20260" v0="4995" v1="5491" v2="6324" v3="6709" />
+ <tetrahedron index="20261" v0="4943" v1="5152" v2="6223" v3="6668" />
+ <tetrahedron index="20262" v0="4596" v1="4623" v2="5515" v3="6184" />
+ <tetrahedron index="20263" v0="5057" v1="5379" v2="5610" v3="6592" />
+ <tetrahedron index="20264" v0="4939" v1="5350" v2="5351" v3="6846" />
+ <tetrahedron index="20265" v0="4486" v1="4745" v2="5350" v3="5998" />
+ <tetrahedron index="20266" v0="4169" v1="4575" v2="6135" v3="6700" />
+ <tetrahedron index="20267" v0="3438" v1="4256" v2="5696" v3="5848" />
+ <tetrahedron index="20268" v0="3356" v1="5889" v2="6338" v3="6496" />
+ <tetrahedron index="20269" v0="4096" v1="4097" v2="4448" v3="5923" />
+ <tetrahedron index="20270" v0="4694" v1="5153" v2="5755" v3="6420" />
+ <tetrahedron index="20271" v0="3892" v1="5015" v2="5378" v3="6741" />
+ <tetrahedron index="20272" v0="3370" v1="3548" v2="3552" v3="4030" />
+ <tetrahedron index="20273" v0="4327" v1="4595" v2="4630" v3="5476" />
+ <tetrahedron index="20274" v0="3433" v1="3647" v2="3649" v3="5370" />
+ <tetrahedron index="20275" v0="3527" v1="4973" v2="5442" v3="5444" />
+ <tetrahedron index="20276" v0="4115" v1="5671" v2="6345" v3="6826" />
+ <tetrahedron index="20277" v0="3230" v1="4439" v2="4485" v3="5471" />
+ <tetrahedron index="20278" v0="4875" v1="5011" v2="5524" v3="5882" />
+ <tetrahedron index="20279" v0="4474" v1="4799" v2="5013" v3="6199" />
+ <tetrahedron index="20280" v0="3739" v1="5040" v2="5580" v3="6255" />
+ <tetrahedron index="20281" v0="4087" v1="4307" v2="6090" v3="6665" />
+ <tetrahedron index="20282" v0="3388" v1="3390" v2="3977" v3="5118" />
+ <tetrahedron index="20283" v0="5223" v1="5845" v2="6153" v3="6494" />
+ <tetrahedron index="20284" v0="4923" v1="5301" v2="5938" v3="5939" />
+ <tetrahedron index="20285" v0="3283" v1="3286" v2="5514" v3="6057" />
+ <tetrahedron index="20286" v0="4251" v1="5481" v2="6219" v3="6398" />
+ <tetrahedron index="20287" v0="3543" v1="3654" v2="4329" v3="4599" />
+ <tetrahedron index="20288" v0="3295" v1="3773" v2="4343" v3="6504" />
+ <tetrahedron index="20289" v0="3702" v1="3703" v2="5067" v3="6020" />
+ <tetrahedron index="20290" v0="3264" v1="3501" v2="3502" v3="3553" />
+ <tetrahedron index="20291" v0="3716" v1="3869" v2="4241" v3="6548" />
+ <tetrahedron index="20292" v0="3977" v1="5097" v2="5681" v3="5682" />
+ <tetrahedron index="20293" v0="4215" v1="4275" v2="5178" v3="5733" />
+ <tetrahedron index="20294" v0="3941" v1="3942" v2="5081" v3="6821" />
+ <tetrahedron index="20295" v0="3753" v1="3931" v2="5927" v3="5928" />
+ <tetrahedron index="20296" v0="4861" v1="5994" v2="6585" v3="6908" />
+ <tetrahedron index="20297" v0="4932" v1="5325" v2="5712" v3="6381" />
+ <tetrahedron index="20298" v0="3641" v1="3837" v2="5710" v3="6089" />
+ <tetrahedron index="20299" v0="3856" v1="4594" v2="4767" v3="5078" />
+ <tetrahedron index="20300" v0="3428" v1="4173" v2="5650" v3="6709" />
+ <tetrahedron index="20301" v0="4448" v1="5279" v2="5863" v3="5923" />
+ <tetrahedron index="20302" v0="3688" v1="4731" v2="5495" v3="6154" />
+ <tetrahedron index="20303" v0="3862" v1="5130" v2="5730" v3="5780" />
+ <tetrahedron index="20304" v0="3241" v1="5272" v2="5909" v3="5911" />
+ <tetrahedron index="20305" v0="5346" v1="5992" v2="6667" v3="6939" />
+ <tetrahedron index="20306" v0="4191" v1="4271" v2="4677" v3="6543" />
+ <tetrahedron index="20307" v0="4989" v1="5038" v2="5883" v3="6144" />
+ <tetrahedron index="20308" v0="4956" v1="5402" v2="5404" v3="6063" />
+ <tetrahedron index="20309" v0="5436" v1="6092" v2="6415" v3="6666" />
+ <tetrahedron index="20310" v0="3669" v1="5034" v2="5720" v3="5915" />
+ <tetrahedron index="20311" v0="3817" v1="4232" v2="5177" v3="6086" />
+ <tetrahedron index="20312" v0="4364" v1="4501" v2="5331" v3="6069" />
+ <tetrahedron index="20313" v0="5013" v1="5526" v2="5594" v3="5668" />
+ <tetrahedron index="20314" v0="3608" v1="3699" v2="3854" v3="5380" />
+ <tetrahedron index="20315" v0="6287" v1="6597" v2="6790" v3="6967" />
+ <tetrahedron index="20316" v0="4185" v1="5191" v2="5540" v3="6040" />
+ <tetrahedron index="20317" v0="5248" v1="5879" v2="5881" v3="6518" />
+ <tetrahedron index="20318" v0="5346" v1="6589" v2="6611" v3="6911" />
+ <tetrahedron index="20319" v0="4404" v1="4440" v2="4441" v3="6152" />
+ <tetrahedron index="20320" v0="4902" v1="5829" v2="6511" v3="6512" />
+ <tetrahedron index="20321" v0="3621" v1="3993" v2="5166" v3="6049" />
+ <tetrahedron index="20322" v0="4090" v1="4257" v2="4258" v3="5808" />
+ <tetrahedron index="20323" v0="3582" v1="4089" v2="4505" v3="6448" />
+ <tetrahedron index="20324" v0="6046" v1="6633" v2="6711" v3="6926" />
+ <tetrahedron index="20325" v0="4384" v1="4446" v2="4455" v3="6210" />
+ <tetrahedron index="20326" v0="4140" v1="4321" v2="4560" v3="6042" />
+ <tetrahedron index="20327" v0="5448" v1="5865" v2="6109" v3="6508" />
+ <tetrahedron index="20328" v0="4054" v1="4083" v2="4399" v3="5983" />
+ <tetrahedron index="20329" v0="4129" v1="4245" v2="5432" v3="6089" />
+ <tetrahedron index="20330" v0="4900" v1="5237" v2="5862" v3="5918" />
+ <tetrahedron index="20331" v0="4869" v1="5773" v2="6334" v3="6399" />
+ <tetrahedron index="20332" v0="3621" v1="3992" v2="5781" v3="5842" />
+ <tetrahedron index="20333" v0="4195" v1="4981" v2="5463" v3="6129" />
+ <tetrahedron index="20334" v0="4900" v1="5237" v2="5860" v3="5918" />
+ <tetrahedron index="20335" v0="4007" v1="4308" v2="4443" v3="5583" />
+ <tetrahedron index="20336" v0="3401" v1="3403" v2="5208" v3="5827" />
+ <tetrahedron index="20337" v0="3470" v1="3844" v2="4262" v3="5456" />
+ <tetrahedron index="20338" v0="3282" v1="3383" v2="3386" v3="5726" />
+ <tetrahedron index="20339" v0="5031" v1="5212" v2="5565" v3="5831" />
+ <tetrahedron index="20340" v0="4540" v1="4789" v2="5573" v3="5574" />
+ <tetrahedron index="20341" v0="3264" v1="5030" v2="5622" v3="5623" />
+ <tetrahedron index="20342" v0="5224" v1="5848" v2="5851" v3="6497" />
+ <tetrahedron index="20343" v0="4849" v1="6409" v2="6843" v3="6963" />
+ <tetrahedron index="20344" v0="4860" v1="6228" v2="6753" v3="6754" />
+ <tetrahedron index="20345" v0="4292" v1="5539" v2="6041" v3="6211" />
+ <tetrahedron index="20346" v0="5052" v1="5075" v2="5651" v3="6239" />
+ <tetrahedron index="20347" v0="3486" v1="3487" v2="4082" v3="5422" />
+ <tetrahedron index="20348" v0="4446" v1="4450" v2="4777" v3="5813" />
+ <tetrahedron index="20349" v0="4902" v1="5124" v2="5693" v3="5720" />
+ <tetrahedron index="20350" v0="4903" v1="6075" v2="6124" v3="6695" />
+ <tetrahedron index="20351" v0="4528" v1="4529" v2="5000" v3="5800" />
+ <tetrahedron index="20352" v0="4351" v1="4359" v2="4360" v3="5701" />
+ <tetrahedron index="20353" v0="5102" v1="5254" v2="5688" v3="5887" />
+ <tetrahedron index="20354" v0="5155" v1="5950" v2="6062" v3="6487" />
+ <tetrahedron index="20355" v0="5660" v1="5677" v2="6137" v3="6350" />
+ <tetrahedron index="20356" v0="3795" v1="4796" v2="4810" v3="5428" />
+ <tetrahedron index="20357" v0="3324" v1="5427" v2="6086" v3="6662" />
+ <tetrahedron index="20358" v0="4215" v1="5178" v2="5733" v3="5789" />
+ <tetrahedron index="20359" v0="3391" v1="4078" v2="4129" v3="5120" />
+ <tetrahedron index="20360" v0="4582" v1="5510" v2="5557" v3="6231" />
+ <tetrahedron index="20361" v0="3419" v1="3637" v2="3640" v3="5086" />
+ <tetrahedron index="20362" v0="5119" v1="5472" v2="5772" v3="6436" />
+ <tetrahedron index="20363" v0="3776" v1="3992" v2="3993" v3="5781" />
+ <tetrahedron index="20364" v0="4950" v1="6243" v2="6657" v3="6937" />
+ <tetrahedron index="20365" v0="5256" v1="5257" v2="5704" v3="5890" />
+ <tetrahedron index="20366" v0="4171" v1="5553" v2="6225" v3="6751" />
+ <tetrahedron index="20367" v0="3245" v1="3246" v2="5062" v3="5621" />
+ <tetrahedron index="20368" v0="3880" v1="4124" v2="4273" v3="5345" />
+ <tetrahedron index="20369" v0="4015" v1="5034" v2="5629" v3="5721" />
+ <tetrahedron index="20370" v0="4920" v1="5291" v2="5643" v3="5933" />
+ <tetrahedron index="20371" v0="4965" v1="5417" v2="5418" v3="5420" />
+ <tetrahedron index="20372" v0="3392" v1="4409" v2="5064" v3="5916" />
+ <tetrahedron index="20373" v0="4535" v1="5263" v2="5895" v3="6530" />
+ <tetrahedron index="20374" v0="4895" v1="5223" v2="5844" v3="6153" />
+ <tetrahedron index="20375" v0="4401" v1="4520" v2="5136" v3="5377" />
+ <tetrahedron index="20376" v0="4868" v1="5083" v2="5766" v3="5981" />
+ <tetrahedron index="20377" v0="5526" v1="5549" v2="6198" v3="6199" />
+ <tetrahedron index="20378" v0="6641" v1="6642" v2="6643" v3="6774" />
+ <tetrahedron index="20379" v0="4649" v1="5216" v2="5687" v3="6484" />
+ <tetrahedron index="20380" v0="4372" v1="5581" v2="6085" v3="6661" />
+ <tetrahedron index="20381" v0="4877" v1="5172" v2="5174" v3="5784" />
+ <tetrahedron index="20382" v0="5504" v1="6116" v2="6167" v3="6721" />
+ <tetrahedron index="20383" v0="3301" v1="3674" v2="5232" v3="5855" />
+ <tetrahedron index="20384" v0="3237" v1="5258" v2="5545" v3="5893" />
+ <tetrahedron index="20385" v0="3665" v1="4155" v2="5651" v3="6328" />
+ <tetrahedron index="20386" v0="4426" v1="5111" v2="6197" v3="6452" />
+ <tetrahedron index="20387" v0="4431" v1="5434" v2="5435" v3="6091" />
+ <tetrahedron index="20388" v0="3456" v1="3457" v2="5134" v3="6254" />
+ <tetrahedron index="20389" v0="4880" v1="5668" v2="5798" v3="6160" />
+ <tetrahedron index="20390" v0="4979" v1="5703" v2="6335" v3="6832" />
+ <tetrahedron index="20391" v0="4562" v1="4563" v2="4564" v3="5537" />
+ <tetrahedron index="20392" v0="3541" v1="4826" v2="5247" v3="6119" />
+ <tetrahedron index="20393" v0="3977" v1="4201" v2="4261" v3="5118" />
+ <tetrahedron index="20394" v0="3271" v1="5735" v2="6397" v3="6835" />
+ <tetrahedron index="20395" v0="4714" v1="5351" v2="5814" v3="5999" />
+ <tetrahedron index="20396" v0="3446" v1="3736" v2="4242" v3="6015" />
+ <tetrahedron index="20397" v0="3553" v1="4935" v2="5339" v3="5563" />
+ <tetrahedron index="20398" v0="4504" v1="5315" v2="5435" v3="5538" />
+ <tetrahedron index="20399" v0="4714" v1="5351" v2="5352" v3="6001" />
+ <tetrahedron index="20400" v0="3500" v1="5200" v2="5674" v3="5819" />
+ <tetrahedron index="20401" v0="4741" v1="4826" v2="5462" v3="6119" />
+ <tetrahedron index="20402" v0="4018" v1="4075" v2="5105" v3="6339" />
+ <tetrahedron index="20403" v0="4418" v1="4530" v2="5322" v3="6452" />
+ <tetrahedron index="20404" v0="4995" v1="5648" v2="6327" v3="6394" />
+ <tetrahedron index="20405" v0="3266" v1="3380" v2="4991" v3="6148" />
+ <tetrahedron index="20406" v0="4882" v1="6246" v2="6589" v3="6634" />
+ <tetrahedron index="20407" v0="4848" v1="6263" v2="6649" v3="6898" />
+ <tetrahedron index="20408" v0="3257" v1="4991" v2="5587" v3="5588" />
+ <tetrahedron index="20409" v0="3964" v1="6403" v2="6425" v3="6819" />
+ <tetrahedron index="20410" v0="3560" v1="3686" v2="5642" v3="5933" />
+ <tetrahedron index="20411" v0="4946" v1="5067" v2="5368" v3="6019" />
+ <tetrahedron index="20412" v0="3367" v1="3574" v2="4057" v3="5881" />
+ <tetrahedron index="20413" v0="4314" v1="5237" v2="5860" v3="5918" />
+ <tetrahedron index="20414" v0="4211" v1="4706" v2="5304" v3="6552" />
+ <tetrahedron index="20415" v0="5075" v1="5252" v2="5652" v3="6240" />
+ <tetrahedron index="20416" v0="4750" v1="4756" v2="4782" v3="5823" />
+ <tetrahedron index="20417" v0="5269" v1="5477" v2="5846" v3="6495" />
+ <tetrahedron index="20418" v0="3720" v1="4653" v2="6475" v3="6873" />
+ <tetrahedron index="20419" v0="3321" v1="4646" v2="4786" v3="6526" />
+ <tetrahedron index="20420" v0="3410" v1="4413" v2="5774" v3="5930" />
+ <tetrahedron index="20421" v0="3888" v1="3902" v2="4220" v3="5729" />
+ <tetrahedron index="20422" v0="4077" v1="4535" v2="4769" v3="6530" />
+ <tetrahedron index="20423" v0="5363" v1="6780" v2="6783" v3="7016" />
+ <tetrahedron index="20424" v0="4899" v1="5854" v2="5855" v3="6358" />
+ <tetrahedron index="20425" v0="4570" v1="5265" v2="5900" v3="6013" />
+ <tetrahedron index="20426" v0="4140" v1="4321" v2="6042" v3="6621" />
+ <tetrahedron index="20427" v0="3297" v1="4221" v2="4475" v3="5856" />
+ <tetrahedron index="20428" v0="3470" v1="3471" v2="3472" v3="5662" />
+ <tetrahedron index="20429" v0="5680" v1="5706" v2="6352" v3="6376" />
+ <tetrahedron index="20430" v0="3773" v1="3774" v2="3775" v3="5920" />
+ <tetrahedron index="20431" v0="5473" v1="5709" v2="6251" v3="6771" />
+ <tetrahedron index="20432" v0="3873" v1="4099" v2="5089" v3="5672" />
+ <tetrahedron index="20433" v0="5045" v1="5125" v2="5331" v3="6070" />
+ <tetrahedron index="20434" v0="4975" v1="5162" v2="5447" v3="6107" />
+ <tetrahedron index="20435" v0="3957" v1="5706" v2="6376" v3="6377" />
+ <tetrahedron index="20436" v0="3471" v1="3618" v2="3632" v3="5768" />
+ <tetrahedron index="20437" v0="3623" v1="4397" v2="5237" v3="5860" />
+ <tetrahedron index="20438" v0="3783" v1="5341" v2="5985" v3="5987" />
+ <tetrahedron index="20439" v0="3493" v1="3561" v2="4421" v3="6608" />
+ <tetrahedron index="20440" v0="4927" v1="5821" v2="5823" v3="5955" />
+ <tetrahedron index="20441" v0="3692" v1="5223" v2="5845" v3="6153" />
+ <tetrahedron index="20442" v0="4963" v1="5605" v2="6283" v3="6786" />
+ <tetrahedron index="20443" v0="3561" v1="3562" v2="3681" v3="5358" />
+ <tetrahedron index="20444" v0="4270" v1="4651" v2="5375" v3="6026" />
+ <tetrahedron index="20445" v0="3683" v1="3684" v2="4815" v3="5582" />
+ <tetrahedron index="20446" v0="3424" v1="3425" v2="5143" v3="5801" />
+ <tetrahedron index="20447" v0="4193" v1="4194" v2="5414" v3="6304" />
+ <tetrahedron index="20448" v0="4931" v1="5184" v2="5323" v3="5969" />
+ <tetrahedron index="20449" v0="4969" v1="5431" v2="5432" v3="5500" />
+ <tetrahedron index="20450" v0="3622" v1="4314" v2="5237" v3="5918" />
+ <tetrahedron index="20451" v0="3438" v1="3709" v2="3735" v3="5608" />
+ <tetrahedron index="20452" v0="4912" v1="4929" v2="5266" v3="5966" />
+ <tetrahedron index="20453" v0="3399" v1="5124" v2="5721" v3="6306" />
+ <tetrahedron index="20454" v0="3634" v1="4207" v2="5773" v3="6437" />
+ <tetrahedron index="20455" v0="5365" v1="6097" v2="6672" v3="6794" />
+ <tetrahedron index="20456" v0="3590" v1="3989" v2="5685" v3="6357" />
+ <tetrahedron index="20457" v0="4929" v1="5266" v2="5320" v3="5964" />
+ <tetrahedron index="20458" v0="4704" v1="4726" v2="5600" v3="6273" />
+ <tetrahedron index="20459" v0="3838" v1="4078" v2="5120" v3="6089" />
+ <tetrahedron index="20460" v0="4873" v1="5493" v2="6281" v3="6633" />
+ <tetrahedron index="20461" v0="4190" v1="5447" v2="6107" v3="6680" />
+ <tetrahedron index="20462" v0="5997" v1="6596" v2="6718" v3="6789" />
+ <tetrahedron index="20463" v0="5155" v1="6062" v2="6103" v3="6648" />
+ <tetrahedron index="20464" v0="3283" v1="5007" v2="5514" v3="6057" />
+ <tetrahedron index="20465" v0="4451" v1="4590" v2="4618" v3="5884" />
+ <tetrahedron index="20466" v0="4011" v1="4074" v2="4075" v3="5230" />
+ <tetrahedron index="20467" v0="3736" v1="4436" v2="5270" v3="5905" />
+ <tetrahedron index="20468" v0="3898" v1="4114" v2="4310" v3="5699" />
+ <tetrahedron index="20469" v0="3911" v1="5296" v2="5935" v3="5971" />
+ <tetrahedron index="20470" v0="3759" v1="4509" v2="4608" v3="5677" />
+ <tetrahedron index="20471" v0="5501" v1="5502" v2="5591" v3="6455" />
+ <tetrahedron index="20472" v0="3643" v1="5291" v2="5293" v3="5931" />
+ <tetrahedron index="20473" v0="4707" v1="4708" v2="5646" v3="5669" />
+ <tetrahedron index="20474" v0="4570" v1="4804" v2="5265" v3="5900" />
+ <tetrahedron index="20475" v0="3491" v1="3492" v2="4794" v3="5260" />
+ <tetrahedron index="20476" v0="3820" v1="3884" v2="4576" v3="5044" />
+ <tetrahedron index="20477" v0="5003" v1="5294" v2="5506" v3="5932" />
+ <tetrahedron index="20478" v0="3357" v1="3903" v2="4515" v3="5850" />
+ <tetrahedron index="20479" v0="3262" v1="3263" v2="3892" v3="6158" />
+ <tetrahedron index="20480" v0="4644" v1="4645" v2="4734" v3="5886" />
+ <tetrahedron index="20481" v0="3521" v1="4719" v2="5357" v3="6606" />
+ <tetrahedron index="20482" v0="3827" v1="3829" v2="5450" v3="6730" />
+ <tetrahedron index="20483" v0="4365" v1="4544" v2="5487" v3="6517" />
+ <tetrahedron index="20484" v0="5403" v1="6062" v2="6444" v3="6648" />
+ <tetrahedron index="20485" v0="3472" v1="4608" v2="5093" v3="5677" />
+ <tetrahedron index="20486" v0="4750" v1="5313" v2="5823" v3="6477" />
+ <tetrahedron index="20487" v0="4912" v1="4989" v2="5267" v3="5308" />
+ <tetrahedron index="20488" v0="4932" v1="5121" v2="5325" v3="5712" />
+ <tetrahedron index="20489" v0="3564" v1="3611" v2="4274" v3="5200" />
+ <tetrahedron index="20490" v0="5122" v1="5674" v2="5713" v3="5818" />
+ <tetrahedron index="20491" v0="4872" v1="5648" v2="6327" v3="6394" />
+ <tetrahedron index="20492" v0="3871" v1="3902" v2="4859" v3="6315" />
+ <tetrahedron index="20493" v0="3719" v1="3720" v2="3900" v3="5203" />
+ <tetrahedron index="20494" v0="6055" v1="6596" v2="6644" v3="6913" />
+ <tetrahedron index="20495" v0="5402" v1="5403" v2="6061" v3="6445" />
+ <tetrahedron index="20496" v0="3574" v1="5196" v2="5881" v3="5953" />
+ <tetrahedron index="20497" v0="3662" v1="4514" v2="4560" v3="6391" />
+ <tetrahedron index="20498" v0="4890" v1="5210" v2="5826" v3="6511" />
+ <tetrahedron index="20499" v0="4911" v1="5348" v2="5995" v3="6917" />
+ <tetrahedron index="20500" v0="3505" v1="3807" v2="3858" v3="5125" />
+ <tetrahedron index="20501" v0="3876" v1="4526" v2="5099" v3="6607" />
+ <tetrahedron index="20502" v0="4887" v1="5123" v2="5198" v3="6388" />
+ <tetrahedron index="20503" v0="3921" v1="3922" v2="5028" v3="5070" />
+ <tetrahedron index="20504" v0="4006" v1="4373" v2="5286" v3="6257" />
+ <tetrahedron index="20505" v0="6043" v1="6190" v2="6624" v3="6737" />
+ <tetrahedron index="20506" v0="5257" v1="5418" v2="5544" v3="6076" />
+ <tetrahedron index="20507" v0="4242" v1="5269" v2="5846" v3="6015" />
+ <tetrahedron index="20508" v0="4590" v1="4618" v2="5135" v3="5884" />
+ <tetrahedron index="20509" v0="3710" v1="5324" v2="5327" v3="5971" />
+ <tetrahedron index="20510" v0="4090" v1="4258" v2="5189" v3="5808" />
+ <tetrahedron index="20511" v0="3434" v1="5040" v2="5578" v3="5581" />
+ <tetrahedron index="20512" v0="4930" v1="5504" v2="6116" v3="6721" />
+ <tetrahedron index="20513" v0="4099" v1="5089" v2="5672" v3="6346" />
+ <tetrahedron index="20514" v0="4086" v1="4087" v2="4088" v3="6665" />
+ <tetrahedron index="20515" v0="4252" v1="4422" v2="5549" v3="6253" />
+ <tetrahedron index="20516" v0="4845" v1="5950" v2="6098" v3="6644" />
+ <tetrahedron index="20517" v0="3602" v1="3789" v2="3790" v3="5108" />
+ <tetrahedron index="20518" v0="3448" v1="3449" v2="3556" v3="5502" />
+ <tetrahedron index="20519" v0="3995" v1="3998" v2="4222" v3="5087" />
+ <tetrahedron index="20520" v0="6110" v1="6520" v2="6681" v3="6953" />
+ <tetrahedron index="20521" v0="4164" v1="4165" v2="4520" v3="5917" />
+ <tetrahedron index="20522" v0="3404" v1="5087" v2="5667" v3="6340" />
+ <tetrahedron index="20523" v0="3741" v1="3950" v2="4233" v3="5077" />
+ <tetrahedron index="20524" v0="3373" v1="3374" v2="5492" v3="6493" />
+ <tetrahedron index="20525" v0="3961" v1="3962" v2="4142" v3="5198" />
+ <tetrahedron index="20526" v0="3930" v1="5288" v2="5601" v3="5928" />
+ <tetrahedron index="20527" v0="3508" v1="4731" v2="6050" v3="6154" />
+ <tetrahedron index="20528" v0="5001" v1="5503" v2="5623" v3="6236" />
+ <tetrahedron index="20529" v0="4151" v1="5002" v2="5611" v3="6607" />
+ <tetrahedron index="20530" v0="4303" v1="4404" v2="4441" v3="5491" />
+ <tetrahedron index="20531" v0="4002" v1="5107" v2="5700" v3="6372" />
+ <tetrahedron index="20532" v0="3262" v1="5455" v2="5495" v3="6158" />
+ <tetrahedron index="20533" v0="4968" v1="5427" v2="5429" v3="6086" />
+ <tetrahedron index="20534" v0="3432" v1="5370" v2="5408" v3="6019" />
+ <tetrahedron index="20535" v0="3624" v1="4661" v2="4662" v3="5235" />
+ <tetrahedron index="20536" v0="4876" v1="5445" v2="5783" v3="6444" />
+ <tetrahedron index="20537" v0="3680" v1="5358" v2="6314" v3="6608" />
+ <tetrahedron index="20538" v0="3405" v1="3643" v2="5293" v3="5931" />
+ <tetrahedron index="20539" v0="3876" v1="4526" v2="4692" v3="5099" />
+ <tetrahedron index="20540" v0="4928" v1="5421" v2="6082" v3="6571" />
+ <tetrahedron index="20541" v0="3235" v1="4977" v2="5452" v3="5453" />
+ <tetrahedron index="20542" v0="3448" v1="3951" v2="5017" v3="5803" />
+ <tetrahedron index="20543" v0="3487" v1="3683" v2="3704" v3="6256" />
+ <tetrahedron index="20544" v0="4688" v1="5413" v2="5626" v3="6071" />
+ <tetrahedron index="20545" v0="4901" v1="5132" v2="5864" v3="6506" />
+ <tetrahedron index="20546" v0="3509" v1="4225" v2="5329" v3="5734" />
+ <tetrahedron index="20547" v0="4341" v1="4471" v2="4582" v3="5510" />
+ <tetrahedron index="20548" v0="3906" v1="4321" v2="4504" v3="5315" />
+ <tetrahedron index="20549" v0="5546" v1="6216" v2="6217" v3="6485" />
+ <tetrahedron index="20550" v0="3723" v1="5264" v2="5897" v3="6530" />
+ <tetrahedron index="20551" v0="3297" v1="5217" v2="5856" v3="6483" />
+ <tetrahedron index="20552" v0="3367" v1="3368" v2="5248" v3="6523" />
+ <tetrahedron index="20553" v0="3238" v1="3619" v2="3620" v3="5663" />
+ <tetrahedron index="20554" v0="4324" v1="4325" v2="4527" v3="5303" />
+ <tetrahedron index="20555" v0="4051" v1="4221" v2="4729" v3="5856" />
+ <tetrahedron index="20556" v0="4012" v1="5229" v2="5230" v3="6339" />
+ <tetrahedron index="20557" v0="4510" v1="4559" v2="5163" v3="5777" />
+ <tetrahedron index="20558" v0="3464" v1="3525" v2="4330" v3="4812" />
+ <tetrahedron index="20559" v0="4947" v1="5898" v2="6532" v3="6533" />
+ <tetrahedron index="20560" v0="4993" v1="5486" v2="5742" v3="6135" />
+ <tetrahedron index="20561" v0="4183" v1="4640" v2="5097" v3="6351" />
+ <tetrahedron index="20562" v0="3465" v1="3466" v2="4374" v3="4733" />
+ <tetrahedron index="20563" v0="5996" v1="6582" v2="6595" v3="6906" />
+ <tetrahedron index="20564" v0="3807" v1="3859" v2="5125" v3="5332" />
+ <tetrahedron index="20565" v0="4383" v1="4582" v2="5557" v3="6234" />
+ <tetrahedron index="20566" v0="4913" v1="6612" v2="6893" v3="6942" />
+ <tetrahedron index="20567" v0="3501" v1="3502" v2="3503" v3="5982" />
+ <tetrahedron index="20568" v0="3652" v1="5111" v2="5499" v3="6164" />
+ <tetrahedron index="20569" v0="3697" v1="4055" v2="5359" v3="5913" />
+ <tetrahedron index="20570" v0="4616" v1="5253" v2="5884" v3="6525" />
+ <tetrahedron index="20571" v0="3376" v1="3378" v2="5137" v3="5735" />
+ <tetrahedron index="20572" v0="3962" v1="4213" v2="4762" v3="5719" />
+ <tetrahedron index="20573" v0="4950" v1="5381" v2="5745" v3="6034" />
+ <tetrahedron index="20574" v0="3258" v1="3260" v2="3261" v3="5069" />
+ <tetrahedron index="20575" v0="5115" v1="5705" v2="5712" v3="6381" />
+ <tetrahedron index="20576" v0="4824" v1="5675" v2="6359" v3="6828" />
+ <tetrahedron index="20577" v0="3698" v1="4722" v2="5274" v3="5276" />
+ <tetrahedron index="20578" v0="4573" v1="4591" v2="4618" v3="5830" />
+ <tetrahedron index="20579" v0="4214" v1="4352" v2="5386" v3="5728" />
+ <tetrahedron index="20580" v0="4294" v1="4320" v2="5286" v3="6457" />
+ <tetrahedron index="20581" v0="3292" v1="4571" v2="4592" v3="5079" />
+ <tetrahedron index="20582" v0="4154" v1="4224" v2="5147" v3="5744" />
+ <tetrahedron index="20583" v0="4084" v1="4234" v2="4460" v3="4898" />
+ <tetrahedron index="20584" v0="5306" v1="5521" v2="5944" v3="6193" />
+ <tetrahedron index="20585" v0="3391" v1="3392" v2="4078" v3="5277" />
+ <tetrahedron index="20586" v0="4112" v1="4569" v2="4648" v3="5360" />
+ <tetrahedron index="20587" v0="3769" v1="5687" v2="6484" v3="6501" />
+ <tetrahedron index="20588" v0="4932" v1="5325" v2="5973" v3="6381" />
+ <tetrahedron index="20589" v0="5020" v1="5539" v2="5541" v3="6213" />
+ <tetrahedron index="20590" v0="3891" v1="3892" v2="5015" v3="5529" />
+ <tetrahedron index="20591" v0="4314" v1="4453" v2="5860" v3="5918" />
+ <tetrahedron index="20592" v0="4453" v1="5280" v2="5860" v3="5918" />
+ <tetrahedron index="20593" v0="4879" v1="5108" v2="6365" v3="6366" />
+ <tetrahedron index="20594" v0="4068" v1="4368" v2="5070" v3="5774" />
+ <tetrahedron index="20595" v0="4912" v1="5041" v2="5266" v3="5267" />
+ <tetrahedron index="20596" v0="4127" v1="4128" v2="4603" v3="5568" />
+ <tetrahedron index="20597" v0="3829" v1="4058" v2="4059" v3="5451" />
+ <tetrahedron index="20598" v0="4847" v1="6014" v2="6430" v3="6909" />
+ <tetrahedron index="20599" v0="4857" v1="5445" v2="5875" v3="6288" />
+ <tetrahedron index="20600" v0="4927" v1="5313" v2="5936" v3="5956" />
+ <tetrahedron index="20601" v0="4862" v1="5943" v2="6310" v3="6554" />
+ <tetrahedron index="20602" v0="4069" v1="4342" v2="4667" v3="5654" />
+ <tetrahedron index="20603" v0="4952" v1="5098" v2="5384" v3="5385" />
+ <tetrahedron index="20604" v0="4958" v1="5230" v2="5666" v3="6339" />
+ <tetrahedron index="20605" v0="4862" v1="5943" v2="6308" v3="6554" />
+ <tetrahedron index="20606" v0="3453" v1="3454" v2="5207" v3="5828" />
+ <tetrahedron index="20607" v0="4069" v1="4342" v2="5116" v3="5654" />
+ <tetrahedron index="20608" v0="4946" v1="4952" v2="5129" v3="5728" />
+ <tetrahedron index="20609" v0="4124" v1="4125" v2="4126" v3="5433" />
+ <tetrahedron index="20610" v0="3782" v1="4083" v2="5341" v3="5986" />
+ <tetrahedron index="20611" v0="4990" v1="5548" v2="6434" v3="6573" />
+ <tetrahedron index="20612" v0="4617" v1="4638" v2="5356" v3="6005" />
+ <tetrahedron index="20613" v0="5611" v1="6009" v2="6605" v3="6610" />
+ <tetrahedron index="20614" v0="4614" v1="4737" v2="4816" v3="5477" />
+ <tetrahedron index="20615" v0="3559" v1="3847" v2="5294" v3="5932" />
+ <tetrahedron index="20616" v0="5056" v1="5131" v2="5609" v3="6107" />
+ <tetrahedron index="20617" v0="3880" v1="5347" v2="6012" v3="6778" />
+ <tetrahedron index="20618" v0="3540" v1="3725" v2="5457" v3="6389" />
+ <tetrahedron index="20619" v0="4077" v1="4174" v2="4769" v3="6530" />
+ <tetrahedron index="20620" v0="3230" v1="4439" v2="4473" v3="5472" />
+ <tetrahedron index="20621" v0="5063" v1="5451" v2="6111" v3="6302" />
+ <tetrahedron index="20622" v0="4853" v1="5407" v2="6524" v3="6677" />
+ <tetrahedron index="20623" v0="4890" v1="5107" v2="5210" v3="5700" />
+ <tetrahedron index="20624" v0="3793" v1="5177" v2="5785" v3="5787" />
+ <tetrahedron index="20625" v0="3546" v1="3675" v2="3796" v3="5544" />
+ <tetrahedron index="20626" v0="5196" v1="5910" v2="6522" v3="6818" />
+ <tetrahedron index="20627" v0="3254" v1="5129" v2="5729" v3="6618" />
+ <tetrahedron index="20628" v0="4219" v1="4224" v2="4683" v3="5744" />
+ <tetrahedron index="20629" v0="5391" v1="6577" v2="6629" v3="7011" />
+ <tetrahedron index="20630" v0="3770" v1="3772" v2="4328" v3="5708" />
+ <tetrahedron index="20631" v0="3797" v1="4484" v2="4772" v3="5255" />
+ <tetrahedron index="20632" v0="5104" v1="5234" v2="5896" v3="5899" />
+ <tetrahedron index="20633" v0="4895" v1="5222" v2="6881" v3="6957" />
+ <tetrahedron index="20634" v0="3362" v1="3730" v2="4702" v3="5312" />
+ <tetrahedron index="20635" v0="3497" v1="3498" v2="3875" v3="6109" />
+ <tetrahedron index="20636" v0="5493" v1="6155" v2="6712" v3="6958" />
+ <tetrahedron index="20637" v0="4041" v1="5031" v2="5564" v3="5565" />
+ <tetrahedron index="20638" v0="3318" v1="3320" v2="4104" v3="4795" />
+ <tetrahedron index="20639" v0="5630" v1="5632" v2="6280" v3="6311" />
+ <tetrahedron index="20640" v0="5220" v1="5839" v2="6216" v3="6485" />
+ <tetrahedron index="20641" v0="4151" v1="5002" v2="6109" v3="6605" />
+ <tetrahedron index="20642" v0="4897" v1="4958" v2="5230" v3="5400" />
+ <tetrahedron index="20643" v0="4882" v1="6589" v2="6634" v3="6666" />
+ <tetrahedron index="20644" v0="5144" v1="6331" v2="6819" v3="6984" />
+ <tetrahedron index="20645" v0="3511" v1="5045" v2="5329" v3="6258" />
+ <tetrahedron index="20646" v0="3597" v1="3598" v2="5083" v3="5659" />
+ <tetrahedron index="20647" v0="3979" v1="4108" v2="5797" v3="6147" />
+ <tetrahedron index="20648" v0="4875" v1="5011" v2="5046" v3="6265" />
+ <tetrahedron index="20649" v0="4981" v1="5299" v2="5760" v3="6102" />
+ <tetrahedron index="20650" v0="3682" v1="5017" v2="5143" v3="5803" />
+ <tetrahedron index="20651" v0="4624" v1="4625" v2="4666" v3="6269" />
+ <tetrahedron index="20652" v0="3700" v1="4218" v2="5562" v3="5563" />
+ <tetrahedron index="20653" v0="4882" v1="6246" v2="6634" v3="6903" />
+ <tetrahedron index="20654" v0="3267" v1="4906" v2="5038" v3="5069" />
+ <tetrahedron index="20655" v0="4177" v1="5029" v2="5560" v3="6235" />
+ <tetrahedron index="20656" v0="4856" v1="6260" v2="6638" v3="6976" />
+ <tetrahedron index="20657" v0="3408" v1="3409" v2="5293" v3="5774" />
+ <tetrahedron index="20658" v0="3848" v1="5297" v2="5313" v3="5956" />
+ <tetrahedron index="20659" v0="4890" v1="5698" v2="6402" v3="6837" />
+ <tetrahedron index="20660" v0="3231" v1="3657" v2="5472" v3="5473" />
+ <tetrahedron index="20661" v0="4683" v1="5744" v2="5938" v3="5939" />
+ <tetrahedron index="20662" v0="4881" v1="5017" v2="5186" v3="5800" />
+ <tetrahedron index="20663" v0="3410" v1="4123" v2="5161" v3="5641" />
+ <tetrahedron index="20664" v0="3998" v1="5087" v2="5374" v3="6024" />
+ <tetrahedron index="20665" v0="5170" v1="5446" v2="6106" v3="6875" />
+ <tetrahedron index="20666" v0="4916" v1="5278" v2="5282" v3="5920" />
+ <tetrahedron index="20667" v0="3994" v1="5290" v2="6169" v3="6396" />
+ <tetrahedron index="20668" v0="4314" v1="4453" v2="5280" v3="5918" />
+ <tetrahedron index="20669" v0="4947" v1="5087" v2="6340" v3="6546" />
+ <tetrahedron index="20670" v0="3388" v1="5118" v2="5592" v3="5706" />
+ <tetrahedron index="20671" v0="5361" v1="6222" v2="6593" v3="6840" />
+ <tetrahedron index="20672" v0="4272" v1="4315" v2="4657" v3="5497" />
+ <tetrahedron index="20673" v0="4921" v1="5296" v2="5584" v3="5935" />
+ <tetrahedron index="20674" v0="4896" v1="5225" v2="5695" v3="6499" />
+ <tetrahedron index="20675" v0="5316" v1="5958" v2="6456" v3="6566" />
+ <tetrahedron index="20676" v0="4502" v1="5156" v2="6071" v3="6427" />
+ <tetrahedron index="20677" v0="3347" v1="3675" v2="5257" v3="5891" />
+ <tetrahedron index="20678" v0="4500" v1="4513" v2="5372" v3="6022" />
+ <tetrahedron index="20679" v0="4943" v1="6221" v2="6223" v3="6668" />
+ <tetrahedron index="20680" v0="3304" v1="3669" v2="5034" v3="5720" />
+ <tetrahedron index="20681" v0="4393" v1="4429" v2="4582" v3="6231" />
+ <tetrahedron index="20682" v0="3248" v1="3504" v2="5940" v3="6576" />
+ <tetrahedron index="20683" v0="3786" v1="3835" v2="5746" v3="6033" />
+ <tetrahedron index="20684" v0="5318" v1="6428" v2="6937" v3="6973" />
+ <tetrahedron index="20685" v0="4578" v1="5289" v2="5601" v3="5928" />
+ <tetrahedron index="20686" v0="5022" v1="5704" v2="5888" v3="5891" />
+ <tetrahedron index="20687" v0="4865" v1="5011" v2="5012" v3="5882" />
+ <tetrahedron index="20688" v0="4953" v1="5390" v2="6043" v3="6623" />
+ <tetrahedron index="20689" v0="4863" v1="5001" v2="5503" v3="6100" />
+ <tetrahedron index="20690" v0="4907" v1="5252" v2="6240" v3="6758" />
+ <tetrahedron index="20691" v0="4930" v1="6100" v2="6675" v3="6847" />
+ <tetrahedron index="20692" v0="3501" v1="3502" v2="5339" v3="5982" />
+ <tetrahedron index="20693" v0="4644" v1="4734" v2="5174" v3="5580" />
+ <tetrahedron index="20694" v0="4870" v1="5043" v2="5643" v3="6396" />
+ <tetrahedron index="20695" v0="4560" v1="5127" v2="6042" v3="6620" />
+ <tetrahedron index="20696" v0="3735" v1="4601" v2="5182" v3="5696" />
+ <tetrahedron index="20697" v0="3266" v1="3270" v2="5404" v3="6064" />
+ <tetrahedron index="20698" v0="4829" v1="5574" v2="6048" v3="6248" />
+ <tetrahedron index="20699" v0="4868" v1="5660" v2="6138" v3="6373" />
+ <tetrahedron index="20700" v0="6301" v1="6799" v2="6850" v3="6943" />
+ <tetrahedron index="20701" v0="4291" v1="4455" v2="5020" v3="5539" />
+ <tetrahedron index="20702" v0="4881" v1="5017" v2="5186" v3="5803" />
+ <tetrahedron index="20703" v0="3465" v1="4374" v2="4733" v3="5130" />
+ <tetrahedron index="20704" v0="3793" v1="3817" v2="5177" v3="5787" />
+ <tetrahedron index="20705" v0="3522" v1="3944" v2="5240" v3="5357" />
+ <tetrahedron index="20706" v0="4960" v1="5586" v2="6067" v3="6650" />
+ <tetrahedron index="20707" v0="3540" v1="3727" v2="3733" v3="6389" />
+ <tetrahedron index="20708" v0="3368" v1="4365" v2="5248" v3="5878" />
+ <tetrahedron index="20709" v0="3918" v1="4464" v2="5386" v3="6038" />
+ <tetrahedron index="20710" v0="3654" v1="4239" v2="4697" v3="5469" />
+ <tetrahedron index="20711" v0="6174" v1="6231" v2="6312" v3="6965" />
+ <tetrahedron index="20712" v0="3274" v1="3275" v2="3526" v3="3792" />
+ <tetrahedron index="20713" v0="4927" v1="5313" v2="5314" v3="6477" />
+ <tetrahedron index="20714" v0="3575" v1="5253" v2="5496" v3="5885" />
+ <tetrahedron index="20715" v0="4894" v1="6140" v2="6645" v3="6930" />
+ <tetrahedron index="20716" v0="4104" v1="5082" v2="5657" v3="5658" />
+ <tetrahedron index="20717" v0="3262" v1="5455" v2="5495" v3="6114" />
+ <tetrahedron index="20718" v0="3970" v1="4015" v2="5034" v3="5721" />
+ <tetrahedron index="20719" v0="4383" v1="4393" v2="4582" v3="5557" />
+ <tetrahedron index="20720" v0="4255" v1="5110" v2="5699" v3="5825" />
+ <tetrahedron index="20721" v0="5305" v1="5941" v2="5943" v3="6983" />
+ <tetrahedron index="20722" v0="4146" v1="4147" v2="5549" v3="5795" />
+ <tetrahedron index="20723" v0="4004" v1="5140" v2="5737" v3="6400" />
+ <tetrahedron index="20724" v0="6301" v1="6673" v2="6798" v3="6890" />
+ <tetrahedron index="20725" v0="4507" v1="5575" v2="5926" v3="6545" />
+ <tetrahedron index="20726" v0="5008" v1="6182" v2="6412" v3="6413" />
+ <tetrahedron index="20727" v0="3434" v1="3687" v2="3745" v3="5578" />
+ <tetrahedron index="20728" v0="4965" v1="5417" v2="5849" v3="6077" />
+ <tetrahedron index="20729" v0="5349" v1="5996" v2="6407" v3="6839" />
+ <tetrahedron index="20730" v0="4870" v1="5028" v2="5559" v3="5642" />
+ <tetrahedron index="20731" v0="3432" v1="3433" v2="5370" v3="5408" />
+ <tetrahedron index="20732" v0="4931" v1="5323" v2="6380" v3="6435" />
+ <tetrahedron index="20733" v0="3265" v1="3266" v2="3380" v3="4991" />
+ <tetrahedron index="20734" v0="4870" v1="5131" v2="5609" v3="5641" />
+ <tetrahedron index="20735" v0="4080" v1="4690" v2="4841" v3="5099" />
+ <tetrahedron index="20736" v0="4553" v1="5259" v2="5568" v3="5894" />
+ <tetrahedron index="20737" v0="3590" v1="3591" v2="4297" v3="5212" />
+ <tetrahedron index="20738" v0="4404" v1="4721" v2="5491" v3="5731" />
+ <tetrahedron index="20739" v0="5322" v1="5707" v2="5967" v3="5968" />
+ <tetrahedron index="20740" v0="4165" v1="4166" v2="4314" v3="5918" />
+ <tetrahedron index="20741" v0="5841" v1="6488" v2="6675" v3="6720" />
+ <tetrahedron index="20742" v0="5440" v1="5754" v2="6417" v3="6847" />
+ <tetrahedron index="20743" v0="5180" v1="5181" v2="5791" v3="5792" />
+ <tetrahedron index="20744" v0="3397" v1="4015" v2="5628" v3="5629" />
+ <tetrahedron index="20745" v0="5639" v1="6318" v2="6319" v3="6812" />
+ <tetrahedron index="20746" v0="4985" v1="5702" v2="5772" v3="6334" />
+ <tetrahedron index="20747" v0="4837" v1="4844" v2="5815" v3="6000" />
+ <tetrahedron index="20748" v0="4902" v1="5693" v2="5720" v3="5915" />
+ <tetrahedron index="20749" v0="4981" v1="5299" v2="5442" v3="6102" />
+ <tetrahedron index="20750" v0="5416" v1="6124" v2="6173" v3="6693" />
+ <tetrahedron index="20751" v0="4608" v1="4638" v2="4682" v3="6349" />
+ <tetrahedron index="20752" v0="5220" v1="5756" v2="6140" v3="6217" />
+ <tetrahedron index="20753" v0="5083" v1="5659" v2="6204" v3="6373" />
+ <tetrahedron index="20754" v0="4210" v1="5523" v2="5942" v3="6556" />
+ <tetrahedron index="20755" v0="4868" v1="5767" v2="6348" v3="6432" />
+ <tetrahedron index="20756" v0="4995" v1="5490" v2="6151" v3="6152" />
+ <tetrahedron index="20757" v0="3829" v1="5450" v2="5451" v3="6730" />
+ <tetrahedron index="20758" v0="3293" v1="4047" v2="4592" v3="5103" />
+ <tetrahedron index="20759" v0="3412" v1="3825" v2="4190" v3="6680" />
+ <tetrahedron index="20760" v0="3651" v1="3652" v2="3653" v3="5499" />
+ <tetrahedron index="20761" v0="4386" v1="4417" v2="4723" v3="6379" />
+ <tetrahedron index="20762" v0="5026" v1="5554" v2="6029" v3="6927" />
+ <tetrahedron index="20763" v0="5437" v1="5546" v2="6217" v3="6416" />
+ <tetrahedron index="20764" v0="6053" v1="6443" v2="6864" v3="6976" />
+ <tetrahedron index="20765" v0="4946" v1="5129" v2="5728" v3="6021" />
+ <tetrahedron index="20766" v0="4889" v1="5206" v2="5821" v3="5824" />
+ <tetrahedron index="20767" v0="4091" v1="4829" v2="6248" v3="6768" />
+ <tetrahedron index="20768" v0="4893" v1="5092" v2="5686" v3="5837" />
+ <tetrahedron index="20769" v0="5220" v1="5476" v2="6140" v3="6486" />
+ <tetrahedron index="20770" v0="3662" v1="5127" v2="5724" v3="6391" />
+ <tetrahedron index="20771" v0="5260" v1="5261" v2="5857" v3="5899" />
+ <tetrahedron index="20772" v0="3248" v1="5940" v2="6479" v3="6576" />
+ <tetrahedron index="20773" v0="3259" v1="5011" v2="5046" v3="6265" />
+ <tetrahedron index="20774" v0="5810" v1="6464" v2="6852" v3="6902" />
+ <tetrahedron index="20775" v0="4276" v1="5756" v2="6217" v3="6416" />
+ <tetrahedron index="20776" v0="5160" v1="5769" v2="6701" v3="6858" />
+ <tetrahedron index="20777" v0="4887" v1="5199" v2="5713" v3="6387" />
+ <tetrahedron index="20778" v0="5006" v1="5272" v2="5910" v3="6522" />
+ <tetrahedron index="20779" v0="3446" v1="3736" v2="6015" v3="6796" />
+ <tetrahedron index="20780" v0="5107" v1="5694" v2="6372" v3="6837" />
+ <tetrahedron index="20781" v0="5248" v1="5881" v2="6521" v3="6523" />
+ <tetrahedron index="20782" v0="4518" v1="4615" v2="4952" v3="5387" />
+ <tetrahedron index="20783" v0="4917" v1="5343" v2="6582" v3="6584" />
+ <tetrahedron index="20784" v0="4417" v1="4723" v2="5708" v3="6379" />
+ <tetrahedron index="20785" v0="3538" v1="3800" v2="5295" v3="5934" />
+ <tetrahedron index="20786" v0="4877" v1="4998" v2="5171" v3="5619" />
+ <tetrahedron index="20787" v0="4901" v1="5056" v2="5241" v3="5870" />
+ <tetrahedron index="20788" v0="4441" v1="4792" v2="4793" v3="6151" />
+ <tetrahedron index="20789" v0="6124" v1="6173" v2="6693" v3="6728" />
+ <tetrahedron index="20790" v0="4852" v1="5617" v2="6679" v3="6790" />
+ <tetrahedron index="20791" v0="4969" v1="5680" v2="6088" v3="6352" />
+ <tetrahedron index="20792" v0="3388" v1="4261" v2="5048" v3="5118" />
+ <tetrahedron index="20793" v0="3553" v1="3700" v2="4935" v3="5563" />
+ <tetrahedron index="20794" v0="4540" v1="4789" v2="4829" v3="5574" />
+ <tetrahedron index="20795" v0="4042" v1="4180" v2="5598" v3="6192" />
+ <tetrahedron index="20796" v0="5177" v1="5787" v2="6086" v3="6662" />
+ <tetrahedron index="20797" v0="3526" v1="3529" v2="5202" v3="5484" />
+ <tetrahedron index="20798" v0="3568" v1="3837" v2="4055" v3="5359" />
+ <tetrahedron index="20799" v0="4649" v1="4808" v2="5216" v3="5837" />
+ <tetrahedron index="20800" v0="3688" v1="4731" v2="4832" v3="5495" />
+ <tetrahedron index="20801" v0="4980" v1="6121" v2="6126" v3="6128" />
+ <tetrahedron index="20802" v0="5022" v1="5258" v2="5892" v3="5893" />
+ <tetrahedron index="20803" v0="3274" v1="3275" v2="3279" v3="5965" />
+ <tetrahedron index="20804" v0="3575" v1="3576" v2="3577" v3="5496" />
+ <tetrahedron index="20805" v0="3413" v1="3495" v2="3496" v3="5449" />
+ <tetrahedron index="20806" v0="3387" v1="3758" v2="4411" v3="4818" />
+ <tetrahedron index="20807" v0="5126" v1="5457" v2="6117" v3="6389" />
+ <tetrahedron index="20808" v0="4011" v1="4074" v2="5230" v3="6385" />
+ <tetrahedron index="20809" v0="3472" v1="3759" v2="5084" v3="5677" />
+ <tetrahedron index="20810" v0="3336" v1="3468" v2="3756" v3="5730" />
+ <tetrahedron index="20811" v0="5493" v1="6630" v2="6710" v3="6957" />
+ <tetrahedron index="20812" v0="3770" v1="3772" v2="5708" v3="6378" />
+ <tetrahedron index="20813" v0="3618" v1="4437" v2="5159" v3="5662" />
+ <tetrahedron index="20814" v0="4953" v1="5390" v2="6043" v3="6744" />
+ <tetrahedron index="20815" v0="3890" v1="3892" v2="4149" v3="5378" />
+ <tetrahedron index="20816" v0="3637" v1="3638" v2="4782" v3="5205" />
+ <tetrahedron index="20817" v0="4491" v1="4532" v2="5285" v3="6181" />
+ <tetrahedron index="20818" v0="5557" v1="6193" v2="6231" v3="6233" />
+ <tetrahedron index="20819" v0="4970" v1="5805" v2="6091" v3="6665" />
+ <tetrahedron index="20820" v0="4122" v1="4199" v2="4316" v3="5609" />
+ <tetrahedron index="20821" v0="4392" v1="4393" v2="4394" v3="5521" />
+ <tetrahedron index="20822" v0="4180" v1="4506" v2="5598" v3="6273" />
+ <tetrahedron index="20823" v0="3241" v1="4057" v2="5272" v3="5692" />
+ <tetrahedron index="20824" v0="4888" v1="5483" v2="5963" v3="6405" />
+ <tetrahedron index="20825" v0="5391" v1="6577" v2="6764" v3="6922" />
+ <tetrahedron index="20826" v0="5560" v1="5759" v2="6235" v3="6424" />
+ <tetrahedron index="20827" v0="4220" v1="5387" v2="5729" v3="6039" />
+ <tetrahedron index="20828" v0="3994" v1="3995" v2="4334" v3="5292" />
+ <tetrahedron index="20829" v0="3568" v1="3697" v2="4055" v3="5359" />
+ <tetrahedron index="20830" v0="3411" v1="3412" v2="3825" v3="6680" />
+ <tetrahedron index="20831" v0="3452" v1="3533" v2="4283" v3="5242" />
+ <tetrahedron index="20832" v0="5440" v1="5562" v2="6708" v3="6956" />
+ <tetrahedron index="20833" v0="3784" v1="4083" v2="5341" v3="5983" />
+ <tetrahedron index="20834" v0="4897" v1="4958" v2="5400" v3="5401" />
+ <tetrahedron index="20835" v0="3723" v1="3845" v2="4032" v3="6502" />
+ <tetrahedron index="20836" v0="5809" v1="6586" v2="6989" v3="7023" />
+ <tetrahedron index="20837" v0="3444" v1="3445" v2="3694" v3="5970" />
+ <tetrahedron index="20838" v0="5025" v1="5996" v2="6419" v3="6848" />
+ <tetrahedron index="20839" v0="3255" v1="5371" v2="6021" v3="6618" />
+ <tetrahedron index="20840" v0="4880" v1="5183" v2="5795" v3="6198" />
+ <tetrahedron index="20841" v0="4927" v1="5314" v2="5936" v3="6346" />
+ <tetrahedron index="20842" v0="5481" v1="5770" v2="6836" v3="6859" />
+ <tetrahedron index="20843" v0="5616" v1="6705" v2="6955" v3="7018" />
+ <tetrahedron index="20844" v0="4155" v1="4674" v2="4786" v3="5075" />
+ <tetrahedron index="20845" v0="3961" v1="5122" v2="6017" v3="6383" />
+ <tetrahedron index="20846" v0="3598" v1="3612" v2="6251" v3="6831" />
+ <tetrahedron index="20847" v0="4920" v1="5003" v2="5294" v3="6548" />
+ <tetrahedron index="20848" v0="4035" v1="4764" v2="5822" v3="6476" />
+ <tetrahedron index="20849" v0="3651" v1="3652" v2="5499" v3="6164" />
+ <tetrahedron index="20850" v0="4015" v1="4181" v2="4212" v3="6355" />
+ <tetrahedron index="20851" v0="3761" v1="5103" v2="5803" v3="5804" />
+ <tetrahedron index="20852" v0="4993" v1="5486" v2="5487" v3="6406" />
+ <tetrahedron index="20853" v0="4928" v1="6080" v2="6566" v3="6851" />
+ <tetrahedron index="20854" v0="5318" v1="5422" v2="6080" v3="6656" />
+ <tetrahedron index="20855" v0="4209" v1="5305" v2="5942" v3="6553" />
+ <tetrahedron index="20856" v0="3858" v1="3997" v2="5125" v3="5410" />
+ <tetrahedron index="20857" v0="5083" v1="5532" v2="5766" v3="5981" />
+ <tetrahedron index="20858" v0="3987" v1="4357" v2="4482" v3="5074" />
+ <tetrahedron index="20859" v0="3857" v1="3877" v2="4398" v3="5819" />
+ <tetrahedron index="20860" v0="3909" v1="4489" v2="4490" v3="5907" />
+ <tetrahedron index="20861" v0="5266" v1="5320" v2="5966" v3="6058" />
+ <tetrahedron index="20862" v0="3257" v1="3258" v2="3259" v3="5046" />
+ <tetrahedron index="20863" v0="4568" v1="5051" v2="5815" v3="6271" />
+ <tetrahedron index="20864" v0="5499" v1="6163" v2="6440" v3="6815" />
+ <tetrahedron index="20865" v0="4894" v1="6485" v2="6674" v3="6945" />
+ <tetrahedron index="20866" v0="5236" v1="5237" v2="5860" v3="5861" />
+ <tetrahedron index="20867" v0="4534" v1="5570" v2="5946" v3="6244" />
+ <tetrahedron index="20868" v0="5095" v1="5705" v2="5970" v3="5974" />
+ <tetrahedron index="20869" v0="4239" v1="4697" v2="4733" v3="6325" />
+ <tetrahedron index="20870" v0="5037" v1="5958" v2="6577" v3="6901" />
+ <tetrahedron index="20871" v0="3820" v1="3821" v2="3884" v3="5044" />
+ <tetrahedron index="20872" v0="3373" v1="3693" v2="5845" v3="6493" />
+ <tetrahedron index="20873" v0="4906" v1="4959" v2="5406" v3="6066" />
+ <tetrahedron index="20874" v0="3268" v1="3270" v2="4959" v3="5406" />
+ <tetrahedron index="20875" v0="4490" v1="5080" v2="5907" v3="6333" />
+ <tetrahedron index="20876" v0="3609" v1="5035" v2="5570" v3="5571" />
+ <tetrahedron index="20877" v0="3333" v1="4265" v2="5337" v3="6205" />
+ <tetrahedron index="20878" v0="4998" v1="5171" v2="5250" v3="6525" />
+ <tetrahedron index="20879" v0="3740" v1="5165" v2="5356" v3="5779" />
+ <tetrahedron index="20880" v0="3302" v1="3396" v2="3400" v3="5838" />
+ <tetrahedron index="20881" v0="4155" v1="5075" v2="5652" v3="6328" />
+ <tetrahedron index="20882" v0="5377" v1="5917" v2="5921" v3="6543" />
+ <tetrahedron index="20883" v0="5049" v1="5594" v2="6439" v3="6860" />
+ <tetrahedron index="20884" v0="3612" v1="3657" v2="3805" v3="5709" />
+ <tetrahedron index="20885" v0="3583" v1="3886" v2="4208" v3="5733" />
+ <tetrahedron index="20886" v0="4270" v1="4271" v2="4639" v3="5375" />
+ <tetrahedron index="20887" v0="3308" v1="3625" v2="3685" v3="5872" />
+ <tetrahedron index="20888" v0="3667" v1="4451" v2="5250" v3="6525" />
+ <tetrahedron index="20889" v0="3493" v1="3934" v2="4421" v3="5239" />
+ <tetrahedron index="20890" v0="4323" v1="4324" v2="4394" v3="5306" />
+ <tetrahedron index="20891" v0="3336" v1="3468" v2="3469" v3="5779" />
+ <tetrahedron index="20892" v0="4219" v1="4224" v2="4643" v3="5744" />
+ <tetrahedron index="20893" v0="3882" v1="4182" v2="4791" v3="5085" />
+ <tetrahedron index="20894" v0="4987" v1="5844" v2="6141" v3="6779" />
+ <tetrahedron index="20895" v0="4934" v1="5333" v2="5336" v3="5596" />
+ <tetrahedron index="20896" v0="4918" v1="5286" v2="5926" v3="6545" />
+ <tetrahedron index="20897" v0="4450" v1="4455" v2="4773" v3="5540" />
+ <tetrahedron index="20898" v0="3272" v1="3711" v2="4539" v3="5535" />
+ <tetrahedron index="20899" v0="3330" v1="5355" v2="5490" v3="5730" />
+ <tetrahedron index="20900" v0="4981" v1="5760" v2="6102" v3="6892" />
+ <tetrahedron index="20901" v0="5248" v1="5438" v2="5880" v3="6096" />
+ <tetrahedron index="20902" v0="3337" v1="3338" v2="5334" v3="5979" />
+ <tetrahedron index="20903" v0="5929" v1="5931" v2="6340" v3="6547" />
+ <tetrahedron index="20904" v0="3392" v1="3838" v2="4078" v3="5277" />
+ <tetrahedron index="20905" v0="3747" v1="4134" v2="4512" v3="5333" />
+ <tetrahedron index="20906" v0="3696" v1="3828" v2="5273" v3="5513" />
+ <tetrahedron index="20907" v0="4139" v1="4140" v2="5389" v3="6620" />
+ <tetrahedron index="20908" v0="4119" v1="4636" v2="4797" v3="5260" />
+ <tetrahedron index="20909" v0="4878" v1="4967" v2="5040" v3="5784" />
+ <tetrahedron index="20910" v0="5113" v1="5704" v2="5888" v3="6113" />
+ <tetrahedron index="20911" v0="3716" v1="3869" v2="5505" v3="6548" />
+ <tetrahedron index="20912" v0="4641" v1="5132" v2="5357" v3="6008" />
+ <tetrahedron index="20913" v0="3591" v1="4297" v2="4298" v3="5212" />
+ <tetrahedron index="20914" v0="5154" v1="5249" v2="5758" v3="5759" />
+ <tetrahedron index="20915" v0="5456" v1="5773" v2="6399" v3="6437" />
+ <tetrahedron index="20916" v0="4881" v1="5186" v2="5187" v3="5803" />
+ <tetrahedron index="20917" v0="4998" v1="5171" v2="5250" v3="5619" />
+ <tetrahedron index="20918" v0="3979" v1="4108" v2="4178" v3="5797" />
+ <tetrahedron index="20919" v0="3796" v1="3797" v2="5022" v3="5891" />
+ <tetrahedron index="20920" v0="4408" v1="4498" v2="5254" v3="5887" />
+ <tetrahedron index="20921" v0="5363" v1="6278" v2="6783" v3="6979" />
+ <tetrahedron index="20922" v0="4615" v1="4658" v2="5098" v3="5387" />
+ <tetrahedron index="20923" v0="5062" v1="5620" v2="6297" v3="6298" />
+ <tetrahedron index="20924" v0="5528" v1="6227" v2="6755" v3="6843" />
+ <tetrahedron index="20925" v0="4853" v1="4906" v2="4959" v3="6066" />
+ <tetrahedron index="20926" v0="3298" v1="3299" v2="3300" v3="5215" />
+ <tetrahedron index="20927" v0="4992" v1="5407" v2="6065" v3="6392" />
+ <tetrahedron index="20928" v0="4623" v1="4814" v2="5752" v3="6184" />
+ <tetrahedron index="20929" v0="5191" v1="6040" v2="6410" v3="6619" />
+ <tetrahedron index="20930" v0="4321" v1="4560" v2="5725" v3="6042" />
+ <tetrahedron index="20931" v0="4998" v1="5171" v2="5424" v3="6447" />
+ <tetrahedron index="20932" v0="4927" v1="5671" v2="5936" v3="6344" />
+ <tetrahedron index="20933" v0="3638" v1="5205" v2="5823" v3="5955" />
+ <tetrahedron index="20934" v0="4463" v1="4673" v2="4831" v3="5711" />
+ <tetrahedron index="20935" v0="4456" v1="5889" v2="6338" v3="6822" />
+ <tetrahedron index="20936" v0="3892" v1="5015" v2="5378" v3="5529" />
+ <tetrahedron index="20937" v0="5402" v1="5403" v2="6060" v3="6445" />
+ <tetrahedron index="20938" v0="4900" v1="5021" v2="5543" v3="5835" />
+ <tetrahedron index="20939" v0="3446" v1="5364" v2="6015" v3="6685" />
+ <tetrahedron index="20940" v0="4950" v1="5380" v2="6245" v3="6763" />
+ <tetrahedron index="20941" v0="4938" v1="5994" v2="6670" v3="6940" />
+ <tetrahedron index="20942" v0="4020" v1="4021" v2="4022" v3="5546" />
+ <tetrahedron index="20943" v0="4921" v1="5671" v2="6345" v3="6826" />
+ <tetrahedron index="20944" v0="4891" v1="5109" v2="5211" v3="5697" />
+ <tetrahedron index="20945" v0="3811" v1="3812" v2="5425" v3="5786" />
+ <tetrahedron index="20946" v0="5148" v1="5745" v2="5746" v3="6033" />
+ <tetrahedron index="20947" v0="3647" v1="3649" v2="5370" v3="6020" />
+ <tetrahedron index="20948" v0="4636" v1="4729" v2="4794" v3="5857" />
+ <tetrahedron index="20949" v0="5752" v1="6179" v2="6184" v3="6186" />
+ <tetrahedron index="20950" v0="3383" v1="4951" v2="5383" v3="5726" />
+ <tetrahedron index="20951" v0="5646" v1="5669" v2="6323" v3="6341" />
+ <tetrahedron index="20952" v0="4915" v1="5034" v2="5276" v3="5914" />
+ <tetrahedron index="20953" v0="3395" v1="3396" v2="3929" v3="5861" />
+ <tetrahedron index="20954" v0="4871" v1="5163" v2="6439" v3="6815" />
+ <tetrahedron index="20955" v0="4166" v1="4663" v2="5278" v3="5917" />
+ <tetrahedron index="20956" v0="4854" v1="5941" v2="6550" v3="6551" />
+ <tetrahedron index="20957" v0="4857" v1="5445" v2="5446" v3="6288" />
+ <tetrahedron index="20958" v0="3657" v1="3805" v2="3938" v3="5709" />
+ <tetrahedron index="20959" v0="4878" v1="4967" v2="5175" v3="5581" />
+ <tetrahedron index="20960" v0="5056" v1="5241" v2="5609" v3="5867" />
+ <tetrahedron index="20961" v0="4143" v1="4800" v2="5367" v3="6383" />
+ <tetrahedron index="20962" v0="4198" v1="5056" v2="5131" v3="6107" />
+ <tetrahedron index="20963" v0="4040" v1="4749" v2="4776" v3="5607" />
+ <tetrahedron index="20964" v0="4890" v1="5107" v2="6372" v3="6837" />
+ <tetrahedron index="20965" v0="4462" v1="4463" v2="4831" v3="5711" />
+ <tetrahedron index="20966" v0="3541" v1="5457" v2="6118" v3="6691" />
+ <tetrahedron index="20967" v0="3264" v1="3372" v2="5455" v3="5623" />
+ <tetrahedron index="20968" v0="3250" v1="3251" v2="4017" v3="5464" />
+ <tetrahedron index="20969" v0="5015" v1="5455" v2="6116" v3="6158" />
+ <tetrahedron index="20970" v0="3387" v1="3758" v2="4818" v3="5116" />
+ <tetrahedron index="20971" v0="6015" v1="6612" v2="6685" v3="6796" />
+ <tetrahedron index="20972" v0="4036" v1="4720" v2="5716" v3="5718" />
+ <tetrahedron index="20973" v0="5155" v1="5951" v2="6062" v3="6103" />
+ <tetrahedron index="20974" v0="4749" v1="5604" v2="5607" v3="6142" />
+ <tetrahedron index="20975" v0="3328" v1="3457" v2="3764" v3="6087" />
+ <tetrahedron index="20976" v0="3737" v1="5678" v2="5905" v3="6700" />
+ <tetrahedron index="20977" v0="3275" v1="3526" v2="5201" v3="5202" />
+ <tetrahedron index="20978" v0="5246" v1="6277" v2="6655" v3="6934" />
+ <tetrahedron index="20979" v0="4138" v1="4139" v2="4140" v3="6620" />
+ <tetrahedron index="20980" v0="4887" v1="5198" v2="5713" v3="5718" />
+ <tetrahedron index="20981" v0="3570" v1="5228" v2="5401" v3="5853" />
+ <tetrahedron index="20982" v0="6247" v1="6753" v2="6766" v3="6923" />
+ <tetrahedron index="20983" v0="3726" v1="4487" v2="5126" v3="5722" />
+ <tetrahedron index="20984" v0="3664" v1="3687" v2="5061" v3="5652" />
+ <tetrahedron index="20985" v0="3251" v1="4296" v2="5413" v3="6130" />
+ <tetrahedron index="20986" v0="3463" v1="3464" v2="3525" v3="4330" />
+ <tetrahedron index="20987" v0="4870" v1="5070" v2="5642" v3="5643" />
+ <tetrahedron index="20988" v0="3377" v1="3529" v2="5441" v3="6838" />
+ <tetrahedron index="20989" v0="3834" v1="4004" v2="4060" v3="5737" />
+ <tetrahedron index="20990" v0="5066" v1="5090" v2="5657" v3="5673" />
+ <tetrahedron index="20991" v0="3330" v1="3332" v2="4656" v3="5355" />
+ <tetrahedron index="20992" v0="4714" v1="4744" v2="5351" v3="5352" />
+ <tetrahedron index="20993" v0="3551" v1="4030" v2="4819" v3="5098" />
+ <tetrahedron index="20994" v0="3582" v1="4215" v2="4275" v3="5733" />
+ <tetrahedron index="20995" v0="4203" v1="4322" v2="4556" v3="5430" />
+ <tetrahedron index="20996" v0="5084" v1="5660" v2="5661" v3="6334" />
+ <tetrahedron index="20997" v0="4946" v1="5369" v2="5370" v3="6020" />
+ <tetrahedron index="20998" v0="6075" v1="6655" v2="6695" v3="7000" />
+ <tetrahedron index="20999" v0="5361" v1="5599" v2="6221" v3="6222" />
+ <tetrahedron index="21000" v0="4951" v1="4974" v2="5133" v3="5382" />
+ <tetrahedron index="21001" v0="4617" v1="5354" v2="5356" v3="6005" />
+ <tetrahedron index="21002" v0="3714" v1="3995" v2="3998" v3="6024" />
+ <tetrahedron index="21003" v0="4242" v1="4712" v2="4816" v3="5477" />
+ <tetrahedron index="21004" v0="5155" v1="6103" v2="6648" v3="6892" />
+ <tetrahedron index="21005" v0="3621" v1="5166" v2="5781" v3="5842" />
+ <tetrahedron index="21006" v0="5255" v1="5888" v2="6321" v3="6813" />
+ <tetrahedron index="21007" v0="4075" v1="5105" v2="5230" v3="6339" />
+ <tetrahedron index="21008" v0="4872" v1="5165" v2="5978" v3="6006" />
+ <tetrahedron index="21009" v0="3478" v1="3636" v2="4019" v3="5794" />
+ <tetrahedron index="21010" v0="4297" v1="4298" v2="5212" v3="5684" />
+ <tetrahedron index="21011" v0="5163" v1="5777" v2="6438" v3="6439" />
+ <tetrahedron index="21012" v0="3777" v1="4670" v2="5604" v3="6490" />
+ <tetrahedron index="21013" v0="4958" v1="5086" v2="5666" v3="6647" />
+ <tetrahedron index="21014" v0="4468" v1="5019" v2="5519" v3="6190" />
+ <tetrahedron index="21015" v0="4927" v1="5089" v2="5672" v3="6346" />
+ <tetrahedron index="21016" v0="5512" v1="5879" v2="6521" v3="6522" />
+ <tetrahedron index="21017" v0="4587" v1="4838" v2="5814" v3="6470" />
+ <tetrahedron index="21018" v0="5106" v1="5692" v2="5879" v3="6518" />
+ <tetrahedron index="21019" v0="3915" v1="5115" v2="5974" v3="6381" />
+ <tetrahedron index="21020" v0="4910" v1="5260" v2="5261" v3="5262" />
+ <tetrahedron index="21021" v0="5149" v1="6001" v2="6408" v3="6868" />
+ <tetrahedron index="21022" v0="3718" v1="3719" v2="3720" v3="5203" />
+ <tetrahedron index="21023" v0="3269" v1="3379" v2="4989" v3="5038" />
+ <tetrahedron index="21024" v0="3769" v1="4378" v2="5101" v3="5687" />
+ <tetrahedron index="21025" v0="4891" v1="5211" v2="5697" v3="6369" />
+ <tetrahedron index="21026" v0="3484" v1="3904" v2="3905" v3="5311" />
+ <tetrahedron index="21027" v0="4853" v1="5524" v2="5882" v3="6524" />
+ <tetrahedron index="21028" v0="3408" v1="4068" v2="5293" v3="5774" />
+ <tetrahedron index="21029" v0="5032" v1="5647" v2="5688" v3="5887" />
+ <tetrahedron index="21030" v0="4362" v1="4526" v2="4695" v3="5090" />
+ <tetrahedron index="21031" v0="3806" v1="5576" v2="5709" v3="5968" />
+ <tetrahedron index="21032" v0="3472" v1="3473" v2="3759" v3="5084" />
+ <tetrahedron index="21033" v0="3295" v1="3296" v2="4343" v3="5542" />
+ <tetrahedron index="21034" v0="4885" v1="5599" v2="5991" v3="6587" />
+ <tetrahedron index="21035" v0="4905" v1="5512" v2="6798" v3="6890" />
+ <tetrahedron index="21036" v0="5343" v1="5344" v2="5924" v3="6584" />
+ <tetrahedron index="21037" v0="3293" v1="4047" v2="5077" v3="5103" />
+ <tetrahedron index="21038" v0="5221" v1="6645" v2="6878" v3="6930" />
+ <tetrahedron index="21039" v0="3461" v1="3896" v2="5527" v3="6200" />
+ <tetrahedron index="21040" v0="4012" v1="4121" v2="5229" v3="5666" />
+ <tetrahedron index="21041" v0="3623" v1="3929" v2="4397" v3="5861" />
+ <tetrahedron index="21042" v0="4438" v1="4552" v2="4626" v3="6386" />
+ <tetrahedron index="21043" v0="5037" v1="5984" v2="5987" v3="6904" />
+ <tetrahedron index="21044" v0="4127" v1="4553" v2="4603" v3="5568" />
+ <tetrahedron index="21045" v0="4687" v1="5399" v2="6059" v3="6361" />
+ <tetrahedron index="21046" v0="5282" v1="5376" v2="5919" v3="5921" />
+ <tetrahedron index="21047" v0="3452" v1="3453" v2="3454" v3="5828" />
+ <tetrahedron index="21048" v0="5085" v1="5847" v2="5889" v3="6338" />
+ <tetrahedron index="21049" v0="3582" v1="3886" v2="5733" v3="6448" />
+ <tetrahedron index="21050" v0="4889" v1="5105" v2="5203" v3="5822" />
+ <tetrahedron index="21051" v0="3991" v1="4209" v2="4551" v3="6580" />
+ <tetrahedron index="21052" v0="4851" v1="5094" v2="6295" v3="6480" />
+ <tetrahedron index="21053" v0="3423" v1="3887" v2="5785" v3="5885" />
+ <tetrahedron index="21054" v0="3274" v1="3526" v2="3792" v3="5485" />
+ <tetrahedron index="21055" v0="5725" v1="6428" v2="6467" v3="6973" />
+ <tetrahedron index="21056" v0="3811" v1="5175" v2="5425" v3="6661" />
+ <tetrahedron index="21057" v0="5760" v1="6425" v2="6426" v3="6933" />
+ <tetrahedron index="21058" v0="3447" v1="3761" v2="3957" v3="5591" />
+ <tetrahedron index="21059" v0="4935" v1="5339" v2="5636" v3="6316" />
+ <tetrahedron index="21060" v0="5215" v1="5543" v2="5835" v3="6214" />
+ <tetrahedron index="21061" v0="4941" v1="5132" v2="6008" v3="6506" />
+ <tetrahedron index="21062" v0="6239" v1="6328" v2="6329" v3="6759" />
+ <tetrahedron index="21063" v0="4969" v1="5501" v2="6088" v3="6352" />
+ <tetrahedron index="21064" v0="3795" v1="4556" v2="4810" v3="5430" />
+ <tetrahedron index="21065" v0="3262" v1="3688" v2="4832" v3="5495" />
+ <tetrahedron index="21066" v0="5378" v1="5379" v2="5529" v3="6030" />
+ <tetrahedron index="21067" v0="4284" v1="4309" v2="4770" v3="5076" />
+ <tetrahedron index="21068" v0="3441" v1="3564" v2="3565" v3="5674" />
+ <tetrahedron index="21069" v0="4924" v1="5306" v2="6193" v3="6896" />
+ <tetrahedron index="21070" v0="4495" v1="4525" v2="6007" v3="6269" />
+ <tetrahedron index="21071" v0="3723" v1="5261" v2="5264" v3="5897" />
+ <tetrahedron index="21072" v0="6105" v1="6289" v2="6689" v3="6876" />
+ <tetrahedron index="21073" v0="3263" v1="3264" v2="3372" v3="5455" />
+ <tetrahedron index="21074" v0="3897" v1="3898" v2="4255" v3="5825" />
+ <tetrahedron index="21075" v0="4986" v1="6220" v2="6849" v3="6991" />
+ <tetrahedron index="21076" v0="3645" v1="5075" v2="5566" v3="6240" />
+ <tetrahedron index="21077" v0="3276" v1="3376" v2="4335" v3="5735" />
+ <tetrahedron index="21078" v0="4188" v1="5906" v2="6111" v3="6540" />
+ <tetrahedron index="21079" v0="3240" v1="3444" v2="3710" v3="5324" />
+ <tetrahedron index="21080" v0="3570" v1="3661" v2="4686" v3="5401" />
+ <tetrahedron index="21081" v0="4712" v1="4713" v2="6141" v3="6704" />
+ <tetrahedron index="21082" v0="4062" v1="4154" v2="4575" v3="5146" />
+ <tetrahedron index="21083" v0="6521" v1="6890" v2="7002" v3="7004" />
+ <tetrahedron index="21084" v0="4010" v1="5804" v2="6455" v3="6866" />
+ <tetrahedron index="21085" v0="4298" v1="5212" v2="5684" v3="6986" />
+ <tetrahedron index="21086" v0="4164" v1="4165" v2="4166" v3="5917" />
+ <tetrahedron index="21087" v0="4931" v1="5707" v2="5708" v3="6380" />
+ <tetrahedron index="21088" v0="4434" v1="4477" v2="4735" v3="5092" />
+ <tetrahedron index="21089" v0="3394" v1="3400" v2="5838" v3="6501" />
+ <tetrahedron index="21090" v0="4496" v1="4535" v2="4536" v3="5895" />
+ <tetrahedron index="21091" v0="3964" v1="4489" v2="4502" v3="6427" />
+ <tetrahedron index="21092" v0="3634" v1="3979" v2="5771" v3="6437" />
+ <tetrahedron index="21093" v0="4919" v1="5679" v2="6368" v3="6401" />
+ <tetrahedron index="21094" v0="5562" v1="6095" v2="6708" v3="6956" />
+ <tetrahedron index="21095" v0="3939" v1="5172" v2="5176" v3="6446" />
+ <tetrahedron index="21096" v0="4860" v1="6221" v2="6228" v3="6754" />
+ <tetrahedron index="21097" v0="4070" v1="4072" v2="6163" v3="6994" />
+ <tetrahedron index="21098" v0="3936" v1="4537" v2="4628" v3="5594" />
+ <tetrahedron index="21099" v0="4199" v1="4606" v2="4607" v3="5869" />
+ <tetrahedron index="21100" v0="3301" v1="3589" v2="3845" v3="5232" />
+ <tetrahedron index="21101" v0="5415" v1="6282" v2="6283" v3="6787" />
+ <tetrahedron index="21102" v0="5405" v1="5618" v2="6148" v3="6705" />
+ <tetrahedron index="21103" v0="3450" v1="3533" v2="5242" v3="6305" />
+ <tetrahedron index="21104" v0="5262" v1="5372" v2="5898" v3="6023" />
+ <tetrahedron index="21105" v0="4927" v1="5672" v2="6343" v3="6825" />
+ <tetrahedron index="21106" v0="3491" v1="4728" v2="5232" v3="5857" />
+ <tetrahedron index="21107" v0="3576" v1="3577" v2="4743" v3="5496" />
+ <tetrahedron index="21108" v0="4301" v1="4302" v2="5589" v3="6262" />
+ <tetrahedron index="21109" v0="4232" v1="4391" v2="5177" v3="5178" />
+ <tetrahedron index="21110" v0="5299" v1="5760" v2="6131" v3="6425" />
+ <tetrahedron index="21111" v0="3676" v1="3849" v2="4576" v3="5296" />
+ <tetrahedron index="21112" v0="3577" v1="4616" v2="4998" v3="5253" />
+ <tetrahedron index="21113" v0="4014" v1="4449" v2="4743" v3="5424" />
+ <tetrahedron index="21114" v0="4044" v1="4045" v2="4046" v3="6226" />
+ <tetrahedron index="21115" v0="4190" v1="4306" v2="4380" v3="5732" />
+ <tetrahedron index="21116" v0="3612" v1="3613" v2="3657" v3="5473" />
+ <tetrahedron index="21117" v0="3307" v1="3685" v2="3767" v3="5829" />
+ <tetrahedron index="21118" v0="4427" v1="4609" v2="5796" v3="6164" />
+ <tetrahedron index="21119" v0="3468" v1="3756" v2="3862" v3="5730" />
+ <tetrahedron index="21120" v0="3330" v1="3331" v2="3332" v3="5355" />
+ <tetrahedron index="21121" v0="5187" v1="5802" v2="5803" v3="6454" />
+ <tetrahedron index="21122" v0="3661" v1="5665" v2="6059" v3="6647" />
+ <tetrahedron index="21123" v0="5659" v1="6204" v2="6374" v3="6742" />
+ <tetrahedron index="21124" v0="4218" v1="4336" v2="4542" v3="6318" />
+ <tetrahedron index="21125" v0="5148" v1="5941" v2="5986" v3="6568" />
+ <tetrahedron index="21126" v0="4077" v1="4535" v2="4536" v3="5895" />
+ <tetrahedron index="21127" v0="4310" v1="5109" v2="5699" v3="6357" />
+ <tetrahedron index="21128" v0="4846" v1="5249" v2="6065" v3="6422" />
+ <tetrahedron index="21129" v0="3528" v1="5442" v2="5485" v3="6549" />
+ <tetrahedron index="21130" v0="5183" v1="5549" v2="5795" v3="6198" />
+ <tetrahedron index="21131" v0="5121" v1="5655" v2="5705" v3="5711" />
+ <tetrahedron index="21132" v0="4399" v1="5631" v2="5983" v3="6553" />
+ <tetrahedron index="21133" v0="4050" v1="4079" v2="5186" v3="5799" />
+ <tetrahedron index="21134" v0="3576" v1="3887" v2="5785" v3="5885" />
+ <tetrahedron index="21135" v0="5305" v1="5763" v2="6034" v3="6550" />
+ <tetrahedron index="21136" v0="4524" v1="4581" v2="4623" v3="5515" />
+ <tetrahedron index="21137" v0="3585" v1="4219" v2="5638" v3="5938" />
+ <tetrahedron index="21138" v0="3490" v1="5261" v2="5262" v3="5897" />
+ <tetrahedron index="21139" v0="4921" v1="5295" v2="5584" v3="6826" />
+ <tetrahedron index="21140" v0="3554" v1="3691" v2="4076" v3="5534" />
+ <tetrahedron index="21141" v0="4955" v1="5528" v2="6159" v3="6740" />
+ <tetrahedron index="21142" v0="3703" v1="5369" v2="5386" v3="6020" />
+ <tetrahedron index="21143" v0="4515" v1="4552" v2="5179" v3="5793" />
+ <tetrahedron index="21144" v0="4920" v1="5292" v2="5929" v3="6169" />
+ <tetrahedron index="21145" v0="5248" v1="5438" v2="5880" v3="6519" />
+ <tetrahedron index="21146" v0="4164" v1="4166" v2="4663" v3="5917" />
+ <tetrahedron index="21147" v0="4086" v1="4136" v2="5925" v3="6091" />
+ <tetrahedron index="21148" v0="4925" v1="5038" v2="5308" v3="5640" />
+ <tetrahedron index="21149" v0="4855" v1="4925" v2="5757" v3="5949" />
+ <tetrahedron index="21150" v0="3701" v1="4465" v2="5635" v3="6038" />
+ <tetrahedron index="21151" v0="5058" v1="5066" v2="5633" v3="5657" />
+ <tetrahedron index="21152" v0="4915" v1="5034" v2="5627" v3="5629" />
+ <tetrahedron index="21153" v0="3996" v1="4360" v2="4483" v3="5140" />
+ <tetrahedron index="21154" v0="3857" v1="5078" v2="5231" v3="5853" />
+ <tetrahedron index="21155" v0="4517" v1="4529" v2="4550" v3="5800" />
+ <tetrahedron index="21156" v0="3789" v1="4102" v2="5182" v3="5714" />
+ <tetrahedron index="21157" v0="3518" v1="4777" v2="6468" v3="6870" />
+ <tetrahedron index="21158" v0="4218" v1="5001" v2="5440" v3="6417" />
+ <tetrahedron index="21159" v0="4937" v1="6293" v2="6705" v3="6706" />
+ <tetrahedron index="21160" v0="3271" v1="3273" v2="3378" v3="5137" />
+ <tetrahedron index="21161" v0="3742" v1="3743" v2="3744" v3="5281" />
+ <tetrahedron index="21162" v0="5095" v1="5705" v2="5911" v3="5970" />
+ <tetrahedron index="21163" v0="5124" v1="5827" v2="6306" v3="6803" />
+ <tetrahedron index="21164" v0="5511" v1="6312" v2="6313" v3="6693" />
+ <tetrahedron index="21165" v0="4525" v1="4604" v2="4833" v3="5595" />
+ <tetrahedron index="21166" v0="4684" v1="5301" v2="5938" v3="5939" />
+ <tetrahedron index="21167" v0="3779" v1="5575" v2="5987" v3="6581" />
+ <tetrahedron index="21168" v0="3291" v1="4005" v2="4233" v3="5077" />
+ <tetrahedron index="21169" v0="3795" v1="4197" v2="4796" v3="6255" />
+ <tetrahedron index="21170" v0="4430" v1="4431" v2="5434" v3="5435" />
+ <tetrahedron index="21171" v0="3985" v1="5072" v2="5794" v3="5851" />
+ <tetrahedron index="21172" v0="4137" v1="5287" v2="5925" v3="6257" />
+ <tetrahedron index="21173" v0="4162" v1="4514" v2="5725" v3="5961" />
+ <tetrahedron index="21174" v0="4897" v1="5078" v2="5717" v3="6388" />
+ <tetrahedron index="21175" v0="5055" v1="5838" v2="6484" v3="6501" />
+ <tetrahedron index="21176" v0="3571" v1="3750" v2="3972" v3="5400" />
+ <tetrahedron index="21177" v0="3575" v1="5251" v2="5253" v3="5885" />
+ <tetrahedron index="21178" v0="3237" v1="3238" v2="5258" v3="5893" />
+ <tetrahedron index="21179" v0="4058" v1="4059" v2="5451" v3="6071" />
+ <tetrahedron index="21180" v0="3957" v1="4183" v2="5680" v3="5706" />
+ <tetrahedron index="21181" v0="4927" v1="5204" v2="5821" v3="5823" />
+ <tetrahedron index="21182" v0="6563" v1="6891" v2="7003" v3="7028" />
+ <tetrahedron index="21183" v0="4877" v1="5061" v2="5171" v3="5619" />
+ <tetrahedron index="21184" v0="3310" v1="3311" v2="3628" v3="5931" />
+ <tetrahedron index="21185" v0="3294" v1="3296" v2="5021" v3="5542" />
+ <tetrahedron index="21186" v0="4062" v1="4154" v2="5146" v3="5939" />
+ <tetrahedron index="21187" v0="5073" v1="5468" v2="5648" v3="6326" />
+ <tetrahedron index="21188" v0="3980" v1="3992" v2="4670" v3="6491" />
+ <tetrahedron index="21189" v0="4468" v1="4700" v2="5537" v3="6190" />
+ <tetrahedron index="21190" v0="5083" v1="5532" v2="5981" v3="6204" />
+ <tetrahedron index="21191" v0="4915" v1="5064" v2="5627" v3="6802" />
+ <tetrahedron index="21192" v0="4908" v1="5644" v2="5887" v3="6813" />
+ <tetrahedron index="21193" v0="4632" v1="4633" v2="5073" v3="5597" />
+ <tetrahedron index="21194" v0="3261" v1="5038" v2="5308" v3="5640" />
+ <tetrahedron index="21195" v0="3563" v1="4102" v2="4230" v3="5715" />
+ <tetrahedron index="21196" v0="6227" v1="6228" v2="6755" v3="6843" />
+ <tetrahedron index="21197" v0="5926" v1="6545" v2="6567" v3="6581" />
+ <tetrahedron index="21198" v0="4996" v1="5492" v2="6114" v3="6154" />
+ <tetrahedron index="21199" v0="3555" v1="3556" v2="3557" v3="5432" />
+ <tetrahedron index="21200" v0="4625" v1="5073" v2="5597" v3="5649" />
+ <tetrahedron index="21201" v0="4874" v1="6713" v2="6959" v3="6962" />
+ <tetrahedron index="21202" v0="3937" v1="3993" v2="4584" v3="6049" />
+ <tetrahedron index="21203" v0="4779" v1="6172" v2="6185" v3="6187" />
+ <tetrahedron index="21204" v0="3298" v1="5215" v2="5834" v3="6481" />
+ <tetrahedron index="21205" v0="4610" v1="4836" v2="5244" v3="6175" />
+ <tetrahedron index="21206" v0="4884" v1="5192" v2="6209" v3="6230" />
+ <tetrahedron index="21207" v0="4719" v1="5357" v2="5633" v3="6606" />
+ <tetrahedron index="21208" v0="3260" v1="4479" v2="4678" v3="5308" />
+ <tetrahedron index="21209" v0="4903" v1="5244" v2="5460" v3="6123" />
+ <tetrahedron index="21210" v0="5270" v1="5905" v2="5906" v3="6534" />
+ <tetrahedron index="21211" v0="4902" v1="5627" v2="6305" v3="6306" />
+ <tetrahedron index="21212" v0="4309" v1="4765" v2="5914" v3="5915" />
+ <tetrahedron index="21213" v0="3669" v1="4309" v2="4765" v3="5915" />
+ <tetrahedron index="21214" v0="3527" v1="5444" v2="6514" v3="6691" />
+ <tetrahedron index="21215" v0="3263" v1="5001" v2="5504" v3="6168" />
+ <tetrahedron index="21216" v0="3550" v1="3551" v2="5098" v3="5466" />
+ <tetrahedron index="21217" v0="4516" v1="5208" v2="5694" v3="5827" />
+ <tetrahedron index="21218" v0="3605" v1="4403" v2="5328" v3="5738" />
+ <tetrahedron index="21219" v0="3252" v1="3253" v2="5299" v3="6403" />
+ <tetrahedron index="21220" v0="3357" v1="3924" v2="4515" v3="5790" />
+ <tetrahedron index="21221" v0="3531" v1="3615" v2="4283" v3="5114" />
+ <tetrahedron index="21222" v0="3390" v1="3976" v2="4640" v3="6351" />
+ <tetrahedron index="21223" v0="3647" v1="5369" v2="5370" v3="5371" />
+ <tetrahedron index="21224" v0="3534" v1="4337" v2="4577" v3="5645" />
+ <tetrahedron index="21225" v0="5149" v1="5351" v2="5999" v3="6916" />
+ <tetrahedron index="21226" v0="5058" v1="6011" v2="6606" v3="6610" />
+ <tetrahedron index="21227" v0="3448" v1="3556" v2="5017" v3="5800" />
+ <tetrahedron index="21228" v0="5140" v1="5698" v2="5737" v3="6402" />
+ <tetrahedron index="21229" v0="3345" v1="4559" v2="4772" v3="5163" />
+ <tetrahedron index="21230" v0="5461" v1="5877" v2="6791" v3="6863" />
+ <tetrahedron index="21231" v0="4324" v1="4534" v2="5303" v3="5946" />
+ <tetrahedron index="21232" v0="5043" v1="5290" v2="5643" v3="6396" />
+ <tetrahedron index="21233" v0="3909" v1="5197" v2="5907" v3="6730" />
+ <tetrahedron index="21234" v0="5233" v1="5834" v2="5855" v3="6358" />
+ <tetrahedron index="21235" v0="4579" v1="4580" v2="4581" v3="6179" />
+ <tetrahedron index="21236" v0="3676" v1="5297" v2="6344" v3="6345" />
+ <tetrahedron index="21237" v0="5235" v1="5858" v2="5859" v3="6503" />
+ <tetrahedron index="21238" v0="4797" v1="5033" v2="5260" v3="5568" />
+ <tetrahedron index="21239" v0="5053" v1="5605" v2="6782" v3="6881" />
+ <tetrahedron index="21240" v0="4146" v1="4264" v2="5183" v3="6219" />
+ <tetrahedron index="21241" v0="3631" v1="5173" v2="5251" v3="5885" />
+ <tetrahedron index="21242" v0="3681" v1="5358" v2="5673" v3="6607" />
+ <tetrahedron index="21243" v0="4796" v1="5176" v2="5427" v3="5428" />
+ <tetrahedron index="21244" v0="5436" v1="6666" v2="6667" v3="6670" />
+ <tetrahedron index="21245" v0="5473" v1="5766" v2="6138" v3="6831" />
+ <tetrahedron index="21246" v0="4878" v1="5176" v2="6662" v3="6772" />
+ <tetrahedron index="21247" v0="4309" v1="5034" v2="5914" v3="5915" />
+ <tetrahedron index="21248" v0="5098" v1="5384" v2="5466" v3="6037" />
+ <tetrahedron index="21249" v0="5025" v1="6220" v2="6419" v3="6991" />
+ <tetrahedron index="21250" v0="4860" v1="5552" v2="5554" v3="6228" />
+ <tetrahedron index="21251" v0="5397" v1="6055" v2="6641" v3="6864" />
+ <tetrahedron index="21252" v0="4209" v1="4338" v2="5942" v3="6553" />
+ <tetrahedron index="21253" v0="4941" v1="5633" v2="5634" v3="6008" />
+ <tetrahedron index="21254" v0="4914" v1="5121" v2="5705" v3="5711" />
+ <tetrahedron index="21255" v0="3366" v1="3823" v2="4685" v3="5878" />
+ <tetrahedron index="21256" v0="3548" v1="3552" v2="4030" v3="5302" />
+ <tetrahedron index="21257" v0="5149" v1="5351" v2="6001" v3="6600" />
+ <tetrahedron index="21258" v0="4873" v1="6626" v2="6633" v3="6923" />
+ <tetrahedron index="21259" v0="4927" v1="5313" v2="5955" v3="6344" />
+ <tetrahedron index="21260" v0="4341" v1="4582" v2="5510" v3="6174" />
+ <tetrahedron index="21261" v0="3652" v1="4510" v2="4559" v3="5777" />
+ <tetrahedron index="21262" v0="3590" v1="3755" v2="3989" v3="5685" />
+ <tetrahedron index="21263" v0="4973" v1="5443" v2="6101" v3="6102" />
+ <tetrahedron index="21264" v0="3773" v1="4216" v2="5862" v3="6504" />
+ <tetrahedron index="21265" v0="5518" v1="6183" v2="6185" v3="6735" />
+ <tetrahedron index="21266" v0="4898" v1="5066" v2="5633" v3="5657" />
+ <tetrahedron index="21267" v0="4159" v1="4632" v2="4633" v3="5073" />
+ <tetrahedron index="21268" v0="3726" v1="4487" v2="4715" v3="5722" />
+ <tetrahedron index="21269" v0="4293" v1="4313" v2="4529" v3="5500" />
+ <tetrahedron index="21270" v0="4803" v1="5081" v2="6330" v3="6821" />
+ <tetrahedron index="21271" v0="3303" v1="3670" v2="3860" v3="5124" />
+ <tetrahedron index="21272" v0="4013" v1="4163" v2="5123" v3="5719" />
+ <tetrahedron index="21273" v0="4288" v1="5112" v2="5703" v3="5736" />
+ <tetrahedron index="21274" v0="4089" v1="4968" v2="5426" v3="5430" />
+ <tetrahedron index="21275" v0="3977" v1="4260" v2="5681" v3="5682" />
+ <tetrahedron index="21276" v0="5014" v1="6120" v2="6690" v3="6834" />
+ <tetrahedron index="21277" v0="3946" v1="3947" v2="4836" v3="5873" />
+ <tetrahedron index="21278" v0="4713" v1="4736" v2="4752" v3="5478" />
+ <tetrahedron index="21279" v0="4282" v1="5498" v2="5647" v3="6162" />
+ <tetrahedron index="21280" v0="3493" v1="5239" v2="6010" v3="6608" />
+ <tetrahedron index="21281" v0="3820" v1="3821" v2="3822" v3="5584" />
+ <tetrahedron index="21282" v0="5119" v1="5707" v2="5708" v3="6379" />
+ <tetrahedron index="21283" v0="4468" v1="4561" v2="4564" v3="5519" />
+ <tetrahedron index="21284" v0="3731" v1="3848" v2="4750" v3="5313" />
+ <tetrahedron index="21285" v0="4911" v1="5265" v2="6601" v3="6917" />
+ <tetrahedron index="21286" v0="4146" v1="4147" v2="4252" v3="5549" />
+ <tetrahedron index="21287" v0="5518" v1="6188" v2="6726" v3="6856" />
+ <tetrahedron index="21288" v0="3572" v1="3863" v2="4513" v3="5372" />
+ <tetrahedron index="21289" v0="5256" v1="5889" v2="6076" v3="6078" />
+ <tetrahedron index="21290" v0="3387" v1="3757" v2="4005" v3="5116" />
+ <tetrahedron index="21291" v0="4020" v1="4366" v2="5438" v3="6218" />
+ <tetrahedron index="21292" v0="3306" v1="4722" v2="4765" v3="5276" />
+ <tetrahedron index="21293" v0="4889" v1="5105" v2="5203" v3="5691" />
+ <tetrahedron index="21294" v0="3669" v1="4309" v2="5034" v3="5915" />
+ <tetrahedron index="21295" v0="4438" v1="4626" v2="4720" v3="6387" />
+ <tetrahedron index="21296" v0="4495" v1="4624" v2="6151" v3="6777" />
+ <tetrahedron index="21297" v0="3976" v1="4064" v2="4284" v3="5097" />
+ <tetrahedron index="21298" v0="5189" v1="5904" v2="6697" v3="6867" />
+ <tetrahedron index="21299" v0="4518" v1="4615" v2="4952" v3="5369" />
+ <tetrahedron index="21300" v0="3981" v1="4497" v2="5101" v3="5689" />
+ <tetrahedron index="21301" v0="4144" v1="4157" v2="4346" v3="5082" />
+ <tetrahedron index="21302" v0="3465" v1="3467" v2="3801" v3="4697" />
+ <tetrahedron index="21303" v0="3918" v1="4464" v2="4465" v3="6038" />
+ <tetrahedron index="21304" v0="5034" v1="5628" v2="5629" v3="6306" />
+ <tetrahedron index="21305" v0="4340" v1="4341" v2="6172" v3="6728" />
+ <tetrahedron index="21306" v0="3232" v1="3938" v2="5119" v3="5709" />
+ <tetrahedron index="21307" v0="4882" v1="5574" v2="6458" v3="6769" />
+ <tetrahedron index="21308" v0="4878" v1="5176" v2="6255" v3="6772" />
+ <tetrahedron index="21309" v0="4991" v1="6148" v2="6260" v3="6955" />
+ <tetrahedron index="21310" v0="4908" v1="5254" v2="5887" v3="6360" />
+ <tetrahedron index="21311" v0="4773" v1="5540" v2="6040" v3="6745" />
+ <tetrahedron index="21312" v0="3348" v1="3675" v2="3797" v3="5891" />
+ <tetrahedron index="21313" v0="3324" v1="3817" v2="5787" v3="6086" />
+ <tetrahedron index="21314" v0="4939" v1="5998" v2="6419" v3="6598" />
+ <tetrahedron index="21315" v0="5764" v1="6233" v2="6431" v3="6757" />
+ <tetrahedron index="21316" v0="5991" v1="6585" v2="6622" v3="6908" />
+ <tetrahedron index="21317" v0="3984" v1="5227" v2="6338" v3="6497" />
+ <tetrahedron index="21318" v0="4965" v1="5417" v2="5418" v3="6077" />
+ <tetrahedron index="21319" v0="3487" v1="4082" v2="5422" v3="5423" />
+ <tetrahedron index="21320" v0="4687" v1="4828" v2="5665" v3="5824" />
+ <tetrahedron index="21321" v0="4751" v1="5675" v2="5856" v3="6347" />
+ <tetrahedron index="21322" v0="4736" v1="5223" v2="5478" v3="5843" />
+ <tetrahedron index="21323" v0="4889" v1="5105" v2="5690" v3="5691" />
+ <tetrahedron index="21324" v0="4919" v1="5289" v2="5927" v3="5928" />
+ <tetrahedron index="21325" v0="3691" v1="4048" v2="4050" v3="5187" />
+ <tetrahedron index="21326" v0="3571" v1="5400" v2="5401" v3="5853" />
+ <tetrahedron index="21327" v0="5192" v1="5489" v2="5811" v3="6968" />
+ <tetrahedron index="21328" v0="4978" v1="6115" v2="6296" v3="6795" />
+ <tetrahedron index="21329" v0="3429" v1="3958" v2="4499" v3="5254" />
+ <tetrahedron index="21330" v0="5399" v1="5690" v2="5691" v3="6361" />
+ <tetrahedron index="21331" v0="5222" v1="6153" v2="6710" v3="6957" />
+ <tetrahedron index="21332" v0="3970" v1="4015" v2="5034" v3="5653" />
+ <tetrahedron index="21333" v0="3645" v1="4645" v2="4646" v3="6526" />
+ <tetrahedron index="21334" v0="3591" v1="4298" v2="4788" v3="5212" />
+ <tetrahedron index="21335" v0="3505" v1="3858" v2="5125" v3="6070" />
+ <tetrahedron index="21336" v0="5395" v1="5495" v2="6154" v3="6740" />
+ <tetrahedron index="21337" v0="3703" v1="4464" v2="4819" v3="5386" />
+ <tetrahedron index="21338" v0="4479" v1="4925" v2="5154" v3="5757" />
+ <tetrahedron index="21339" v0="3497" v1="3616" v2="5449" v3="5865" />
+ <tetrahedron index="21340" v0="4691" v1="4692" v2="4696" v3="5099" />
+ <tetrahedron index="21341" v0="3993" v1="5166" v2="5781" v3="6049" />
+ <tetrahedron index="21342" v0="4437" v1="5159" v2="5662" v3="6335" />
+ <tetrahedron index="21343" v0="4567" v1="4569" v2="4648" v3="5360" />
+ <tetrahedron index="21344" v0="4849" v1="5995" v2="6593" v3="6755" />
+ <tetrahedron index="21345" v0="3692" v1="4196" v2="4736" v3="5223" />
+ <tetrahedron index="21346" v0="4256" v1="5696" v2="5848" v3="6367" />
+ <tetrahedron index="21347" v0="5026" v1="5378" v2="5555" v3="6029" />
+ <tetrahedron index="21348" v0="4219" v1="4220" v2="5387" v3="5638" />
+ <tetrahedron index="21349" v0="4142" v1="4163" v2="4762" v3="5198" />
+ <tetrahedron index="21350" v0="3933" v1="5132" v2="5241" v3="5868" />
+ <tetrahedron index="21351" v0="3691" v1="4049" v2="4076" v3="5534" />
+ <tetrahedron index="21352" v0="4971" v1="5440" v2="6218" v3="6956" />
+ <tetrahedron index="21353" v0="3632" v1="4588" v2="5354" v3="6005" />
+ <tetrahedron index="21354" v0="4887" v1="5123" v2="5716" v3="5718" />
+ <tetrahedron index="21355" v0="4006" v1="4137" v2="5286" v3="6257" />
+ <tetrahedron index="21356" v0="4891" v1="5697" v2="6369" v3="6830" />
+ <tetrahedron index="21357" v0="4205" v1="4303" v2="4441" v3="5491" />
+ <tetrahedron index="21358" v0="4348" v1="4642" v2="5132" v3="5870" />
+ <tetrahedron index="21359" v0="3263" v1="3264" v2="3553" v3="3700" />
+ <tetrahedron index="21360" v0="5087" v1="5929" v2="6340" v3="6547" />
+ <tetrahedron index="21361" v0="5004" v1="6171" v2="6594" v3="6616" />
+ <tetrahedron index="21362" v0="4610" v1="4611" v2="5244" v3="5722" />
+ <tetrahedron index="21363" v0="3668" v1="3669" v2="5720" v3="5915" />
+ <tetrahedron index="21364" v0="4842" v1="5104" v2="6531" v3="6828" />
+ <tetrahedron index="21365" v0="4990" v1="5481" v2="5770" v3="6434" />
+ <tetrahedron index="21366" v0="4969" v1="5432" v2="5680" v3="6089" />
+ <tetrahedron index="21367" v0="3429" v1="4498" v2="4499" v3="5254" />
+ <tetrahedron index="21368" v0="3661" v1="4687" v2="4828" v3="6059" />
+ <tetrahedron index="21369" v0="3848" v1="3849" v2="4834" v3="5297" />
+ <tetrahedron index="21370" v0="5022" v1="5888" v2="6215" v3="6360" />
+ <tetrahedron index="21371" v0="5349" v1="5996" v2="6879" v3="6967" />
+ <tetrahedron index="21372" v0="4122" v1="4317" v2="5609" v3="5641" />
+ <tetrahedron index="21373" v0="3444" v1="5970" v2="6574" v3="6575" />
+ <tetrahedron index="21374" v0="3868" v1="4136" v2="5925" v3="6910" />
+ <tetrahedron index="21375" v0="5038" v1="5406" v2="5883" v3="6144" />
+ <tetrahedron index="21376" v0="4195" v1="4981" v2="5442" v3="5463" />
+ <tetrahedron index="21377" v0="3330" v1="5490" v2="5730" v3="6152" />
+ <tetrahedron index="21378" v0="5067" v1="5368" v2="6019" v3="6068" />
+ <tetrahedron index="21379" v0="4954" v1="5392" v2="6045" v3="6626" />
+ <tetrahedron index="21380" v0="4950" v1="5745" v2="6656" v3="6657" />
+ <tetrahedron index="21381" v0="4948" v1="5376" v2="5921" v3="6028" />
+ <tetrahedron index="21382" v0="3745" v1="3746" v2="3811" v3="5581" />
+ <tetrahedron index="21383" v0="5461" v1="5877" v2="6516" v3="6791" />
+ <tetrahedron index="21384" v0="3254" v1="3255" v2="3818" v3="6618" />
+ <tetrahedron index="21385" v0="3248" v1="3249" v2="3501" v3="3504" />
+ <tetrahedron index="21386" v0="5034" v1="5627" v2="5720" v3="5915" />
+ <tetrahedron index="21387" v0="3340" v1="4485" v2="5471" v3="5765" />
+ <tetrahedron index="21388" v0="4859" v1="4982" v2="5151" v3="6315" />
+ <tetrahedron index="21389" v0="3668" v1="4003" v2="5107" v3="5693" />
+ <tetrahedron index="21390" v0="4415" v1="5283" v2="5863" v3="6505" />
+ <tetrahedron index="21391" v0="3755" v1="4591" v2="5135" v3="5685" />
+ <tetrahedron index="21392" v0="5192" v1="5509" v2="6230" v3="6735" />
+ <tetrahedron index="21393" v0="4226" v1="5074" v2="5372" v3="5898" />
+ <tetrahedron index="21394" v0="4936" v1="6568" v2="6577" v3="6922" />
+ <tetrahedron index="21395" v0="3671" v1="5107" v2="5694" v3="6372" />
+ <tetrahedron index="21396" v0="3857" v1="3972" v2="5231" v3="5853" />
+ <tetrahedron index="21397" v0="4408" v1="4498" v2="4583" v3="5071" />
+ <tetrahedron index="21398" v0="3458" v1="3709" v2="5180" v3="5608" />
+ <tetrahedron index="21399" v0="3744" v1="4097" v2="4558" v3="5919" />
+ <tetrahedron index="21400" v0="3477" v1="3478" v2="3635" v3="5791" />
+ <tetrahedron index="21401" v0="4882" v1="5805" v2="6092" v3="6458" />
+ <tetrahedron index="21402" v0="5603" v1="6307" v2="6786" v3="6804" />
+ <tetrahedron index="21403" v0="4238" v1="4239" v2="6324" v3="6395" />
+ <tetrahedron index="21404" v0="4909" v1="5085" v2="5117" v3="5663" />
+ <tetrahedron index="21405" v0="4017" v1="4257" v2="5464" v3="5808" />
+ <tetrahedron index="21406" v0="3306" v1="3307" v2="3308" v3="5243" />
+ <tetrahedron index="21407" v0="4927" v1="5312" v2="5955" v3="6344" />
+ <tetrahedron index="21408" v0="5178" v1="5429" v2="5788" v3="6086" />
+ <tetrahedron index="21409" v0="3903" v1="5227" v2="5850" v3="6496" />
+ <tetrahedron index="21410" v0="3714" v1="3852" v2="3998" v3="5374" />
+ <tetrahedron index="21411" v0="3857" v1="3877" v2="4767" v3="5078" />
+ <tetrahedron index="21412" v0="4927" v1="5313" v2="5314" v3="5956" />
+ <tetrahedron index="21413" v0="5184" v1="5185" v2="5548" v3="5969" />
+ <tetrahedron index="21414" v0="5120" v1="6353" v2="6827" v3="6985" />
+ <tetrahedron index="21415" v0="3668" v1="5693" v2="5720" v3="5915" />
+ <tetrahedron index="21416" v0="4973" v1="5442" v2="6101" v3="6102" />
+ <tetrahedron index="21417" v0="4771" v1="5189" v2="6460" v3="6867" />
+ <tetrahedron index="21418" v0="6612" v1="6796" v2="6941" v3="6982" />
+ <tetrahedron index="21419" v0="3248" v1="3370" v2="3552" v3="5940" />
+ <tetrahedron index="21420" v0="3244" v1="3369" v2="3573" v3="5547" />
+ <tetrahedron index="21421" v0="4179" v1="4246" v2="5497" v3="5669" />
+ <tetrahedron index="21422" v0="4218" v1="4542" v2="5338" v3="6318" />
+ <tetrahedron index="21423" v0="3368" v1="5023" v2="5547" v3="6096" />
+ <tetrahedron index="21424" v0="4103" v1="4187" v2="5450" v3="6111" />
+ <tetrahedron index="21425" v0="3919" v1="5280" v2="5283" v3="6886" />
+ <tetrahedron index="21426" v0="4641" v1="4719" v2="5357" v3="6008" />
+ <tetrahedron index="21427" v0="5005" v1="5518" v2="6172" v3="6185" />
+ <tetrahedron index="21428" v0="3280" v1="3283" v2="3286" v3="5901" />
+ <tetrahedron index="21429" v0="5193" v1="6014" v2="6430" v3="6909" />
+ <tetrahedron index="21430" v0="5748" v1="6407" v2="6409" v3="6593" />
+ <tetrahedron index="21431" v0="3294" v1="3295" v2="3296" v3="5542" />
+ <tetrahedron index="21432" v0="4243" v1="4665" v2="5057" v3="5610" />
+ <tetrahedron index="21433" v0="3641" v1="3837" v2="3838" v3="5710" />
+ <tetrahedron index="21434" v0="3681" v1="4362" v2="4526" v3="5673" />
+ <tetrahedron index="21435" v0="3524" v1="3542" v2="5611" v3="6009" />
+ <tetrahedron index="21436" v0="5756" v1="6140" v2="6217" v3="6421" />
+ <tetrahedron index="21437" v0="5071" v1="5644" v2="5887" v3="6527" />
+ <tetrahedron index="21438" v0="5334" v1="5471" v2="5765" v3="6137" />
+ <tetrahedron index="21439" v0="3528" v1="3529" v2="4016" v3="4195" />
+ <tetrahedron index="21440" v0="3550" v1="3968" v2="5384" v3="5385" />
+ <tetrahedron index="21441" v0="4326" v1="4737" v2="4771" v3="5807" />
+ <tetrahedron index="21442" v0="3337" v1="5336" v2="5979" v3="6349" />
+ <tetrahedron index="21443" v0="4164" v1="4677" v2="5377" v3="6543" />
+ <tetrahedron index="21444" v0="3649" v1="3702" v2="4405" v3="6067" />
+ <tetrahedron index="21445" v0="4368" v1="5070" v2="5641" v3="5774" />
+ <tetrahedron index="21446" v0="5334" v1="5677" v2="6348" v3="6349" />
+ <tetrahedron index="21447" v0="3437" v1="5141" v2="5328" v3="5977" />
+ <tetrahedron index="21448" v0="3456" v1="3746" v2="5175" v3="5579" />
+ <tetrahedron index="21449" v0="3306" v1="4693" v2="4787" v3="5243" />
+ <tetrahedron index="21450" v0="5841" v1="6488" v2="6720" v3="6880" />
+ <tetrahedron index="21451" v0="5004" v1="5508" v2="5529" v3="6167" />
+ <tetrahedron index="21452" v0="3449" v1="4129" v2="4245" v3="5432" />
+ <tetrahedron index="21453" v0="4063" v1="4064" v2="4284" v3="5076" />
+ <tetrahedron index="21454" v0="4018" v1="4650" v2="5105" v3="5822" />
+ <tetrahedron index="21455" v0="3452" v1="3453" v2="4283" v3="5828" />
+ <tetrahedron index="21456" v0="3273" v1="3290" v2="3554" v3="6397" />
+ <tetrahedron index="21457" v0="4848" v1="5403" v2="6062" v3="6103" />
+ <tetrahedron index="21458" v0="3647" v1="3889" v2="5369" v3="5371" />
+ <tetrahedron index="21459" v0="5159" v1="6204" v2="6432" v3="6433" />
+ <tetrahedron index="21460" v0="4943" v1="5347" v2="5360" v3="6012" />
+ <tetrahedron index="21461" v0="3368" v1="4020" v2="4022" v3="6096" />
+ <tetrahedron index="21462" v0="5019" v1="5519" v2="5537" v3="6189" />
+ <tetrahedron index="21463" v0="4852" v1="5616" v2="6292" v3="6443" />
+ <tetrahedron index="21464" v0="3990" v1="5100" v2="5110" v3="5701" />
+ <tetrahedron index="21465" v0="4216" v1="4343" v2="4414" v3="5859" />
+ <tetrahedron index="21466" v0="3548" v1="3585" v2="4684" v3="5938" />
+ <tetrahedron index="21467" v0="3668" v1="4693" v2="5693" v3="5915" />
+ <tetrahedron index="21468" v0="3975" v1="5588" v2="6261" v3="6262" />
+ <tetrahedron index="21469" v0="5349" v1="6170" v2="6407" v3="6723" />
+ <tetrahedron index="21470" v0="4535" v1="4769" v2="5263" v3="6530" />
+ <tetrahedron index="21471" v0="5055" v1="5854" v2="5855" v3="6358" />
+ <tetrahedron index="21472" v0="4903" v1="6075" v2="6124" v3="6513" />
+ <tetrahedron index="21473" v0="3717" v1="5661" v2="6136" v3="6350" />
+ <tetrahedron index="21474" v0="3357" v1="3910" v2="3924" v3="5790" />
+ <tetrahedron index="21475" v0="4549" v1="4791" v2="5085" v3="5847" />
+ <tetrahedron index="21476" v0="3917" v1="5238" v2="5542" v3="5863" />
+ <tetrahedron index="21477" v0="5993" v1="6221" v2="6223" v3="6971" />
+ <tetrahedron index="21478" v0="4577" v1="4628" v2="5452" v3="6683" />
+ <tetrahedron index="21479" v0="4897" v1="5228" v2="5401" v3="5853" />
+ <tetrahedron index="21480" v0="5312" v1="5821" v2="5824" v3="5955" />
+ <tetrahedron index="21481" v0="6462" v1="6470" v2="6868" v3="6872" />
+ <tetrahedron index="21482" v0="3875" v1="5002" v2="6109" v3="6508" />
+ <tetrahedron index="21483" v0="3319" v1="4349" v2="4641" v3="6008" />
+ <tetrahedron index="21484" v0="5096" v1="5698" v2="5737" v3="6401" />
+ <tetrahedron index="21485" v0="3798" v1="4818" v2="5041" v3="5267" />
+ <tetrahedron index="21486" v0="5170" v1="5446" v2="6106" v3="6444" />
+ <tetrahedron index="21487" v0="3320" v1="4234" v2="4790" v3="4898" />
+ <tetrahedron index="21488" v0="6625" v1="6629" v2="6922" v3="6925" />
+ <tetrahedron index="21489" v0="4077" v1="4535" v2="5895" v3="6530" />
+ <tetrahedron index="21490" v0="3904" v1="4803" v2="4831" v3="5196" />
+ <tetrahedron index="21491" v0="4331" v1="4332" v2="4333" v3="5429" />
+ <tetrahedron index="21492" v0="6046" v1="6632" v2="6753" v3="6923" />
+ <tetrahedron index="21493" v0="6124" v1="6125" v2="6725" v3="6728" />
+ <tetrahedron index="21494" v0="4887" v1="5719" v2="5818" v3="6388" />
+ <tetrahedron index="21495" v0="3801" v1="4599" v2="4697" v3="5469" />
+ <tetrahedron index="21496" v0="3498" v1="3875" v2="5002" v3="6109" />
+ <tetrahedron index="21497" v0="5095" v1="5115" v2="5974" v3="6381" />
+ <tetrahedron index="21498" v0="3693" v1="4196" v2="5845" v3="6494" />
+ <tetrahedron index="21499" v0="4362" v1="4526" v2="5090" v3="5673" />
+ <tetrahedron index="21500" v0="5729" v1="6039" v2="6393" v3="6618" />
+ <tetrahedron index="21501" v0="4896" v1="5226" v2="6496" v3="6499" />
+ <tetrahedron index="21502" v0="3288" v1="3289" v2="3290" v3="5739" />
+ <tetrahedron index="21503" v0="3725" v1="5126" v2="5457" v3="6389" />
+ <tetrahedron index="21504" v0="3647" v1="3864" v2="3889" v3="5371" />
+ <tetrahedron index="21505" v0="3296" v1="4476" v2="5836" v3="5859" />
+ <tetrahedron index="21506" v0="3930" v1="4730" v2="4738" v3="5601" />
+ <tetrahedron index="21507" v0="3680" v1="5358" v2="5673" v3="6609" />
+ <tetrahedron index="21508" v0="4160" v1="4237" v2="4330" v3="4812" />
+ <tetrahedron index="21509" v0="4365" v1="5248" v2="5438" v3="6096" />
+ <tetrahedron index="21510" v0="4934" v1="5335" v2="5337" v3="5980" />
+ <tetrahedron index="21511" v0="3535" v1="3958" v2="6528" v3="6684" />
+ <tetrahedron index="21512" v0="3386" v1="5320" v2="5727" v3="5964" />
+ <tetrahedron index="21513" v0="4739" v1="5029" v2="5081" v3="5561" />
+ <tetrahedron index="21514" v0="6088" v1="6352" v2="6353" v3="6664" />
+ <tetrahedron index="21515" v0="4033" v1="4042" v2="4043" v3="6872" />
+ <tetrahedron index="21516" v0="4724" v1="4745" v2="5998" v3="6598" />
+ <tetrahedron index="21517" v0="3977" v1="5097" v2="5681" v3="6351" />
+ <tetrahedron index="21518" v0="3706" v1="3881" v2="4046" v3="6669" />
+ <tetrahedron index="21519" v0="4768" v1="4800" v2="5366" v3="6017" />
+ <tetrahedron index="21520" v0="3815" v1="3816" v2="4292" v3="5539" />
+ <tetrahedron index="21521" v0="5119" v1="5707" v2="5709" v3="6436" />
+ <tetrahedron index="21522" v0="3782" v1="5341" v2="5747" v3="5985" />
+ <tetrahedron index="21523" v0="3451" v1="3767" v2="5210" v3="5829" />
+ <tetrahedron index="21524" v0="5097" v1="5680" v2="5681" v3="6353" />
+ <tetrahedron index="21525" v0="5388" v1="6040" v2="6619" v3="6623" />
+ <tetrahedron index="21526" v0="5615" v1="6718" v2="6875" v3="6981" />
+ <tetrahedron index="21527" v0="3744" v1="4097" v2="5919" v3="5923" />
+ <tetrahedron index="21528" v0="4198" v1="4199" v2="5056" v3="5609" />
+ <tetrahedron index="21529" v0="3624" v1="5235" v2="5479" v3="5858" />
+ <tetrahedron index="21530" v0="3347" v1="5113" v2="5257" v3="5891" />
+ <tetrahedron index="21531" v0="5144" v1="6331" v2="6820" v3="6984" />
+ <tetrahedron index="21532" v0="4865" v1="4925" v2="5154" v3="5249" />
+ <tetrahedron index="21533" v0="4238" v1="5491" v2="6324" v3="6395" />
+ <tetrahedron index="21534" v0="3233" v1="3344" v2="3345" v3="5776" />
+ <tetrahedron index="21535" v0="3812" v1="4208" v2="4275" v3="5786" />
+ <tetrahedron index="21536" v0="4930" v1="5504" v2="6116" v3="6168" />
+ <tetrahedron index="21537" v0="5005" v1="6234" v2="6431" v3="6735" />
+ <tetrahedron index="21538" v0="3470" v1="3844" v2="5456" v3="5773" />
+ <tetrahedron index="21539" v0="5656" v1="5761" v2="6427" v3="6819" />
+ <tetrahedron index="21540" v0="4644" v1="4734" v2="5174" v3="5886" />
+ <tetrahedron index="21541" v0="5805" v1="5992" v2="6079" v3="6588" />
+ <tetrahedron index="21542" v0="3788" v1="4494" v2="5016" v3="5531" />
+ <tetrahedron index="21543" v0="4916" v1="5279" v2="5282" v3="5921" />
+ <tetrahedron index="21544" v0="4122" v1="4199" v2="5609" v3="5641" />
+ <tetrahedron index="21545" v0="4093" v1="4153" v2="4154" v3="5146" />
+ <tetrahedron index="21546" v0="5257" v1="5704" v2="5890" v3="5891" />
+ <tetrahedron index="21547" v0="4913" v1="5625" v2="5903" v3="6797" />
+ <tetrahedron index="21548" v0="3616" v1="5449" v2="5865" v3="6507" />
+ <tetrahedron index="21549" v0="5163" v1="5778" v2="6440" v3="6861" />
+ <tetrahedron index="21550" v0="5874" v1="6460" v2="6538" v3="6781" />
+ <tetrahedron index="21551" v0="4153" v1="4154" v2="4575" v3="5146" />
+ <tetrahedron index="21552" v0="4609" v1="5184" v2="5796" v3="6164" />
+ <tetrahedron index="21553" v0="5297" v1="5671" v2="6344" v3="6345" />
+ <tetrahedron index="21554" v0="4728" v1="5232" v2="5233" v3="5857" />
+ <tetrahedron index="21555" v0="4001" v1="4175" v2="4612" v3="5758" />
+ <tetrahedron index="21556" v0="4481" v1="4500" v2="5074" v3="6022" />
+ <tetrahedron index="21557" v0="3367" v1="3369" v2="3573" v3="5547" />
+ <tetrahedron index="21558" v0="5943" v1="6308" v2="6311" v3="6625" />
+ <tetrahedron index="21559" v0="5352" v1="6000" v2="6001" v3="6002" />
+ <tetrahedron index="21560" v0="4476" v1="4477" v2="5218" v3="6483" />
+ <tetrahedron index="21561" v0="4928" v1="5315" v2="5317" v3="5960" />
+ <tetrahedron index="21562" v0="3460" v1="3896" v2="4090" v3="6459" />
+ <tetrahedron index="21563" v0="3549" v1="3737" v2="4062" v3="5678" />
+ <tetrahedron index="21564" v0="4957" v1="5319" v2="5962" v3="5966" />
+ <tetrahedron index="21565" v0="3971" v1="4299" v2="5794" v3="6450" />
+ <tetrahedron index="21566" v0="5352" v1="6002" v2="6003" v3="6601" />
+ <tetrahedron index="21567" v0="3623" v1="4314" v2="4397" v3="5860" />
+ <tetrahedron index="21568" v0="6495" v1="6893" v2="6999" v3="7026" />
+ <tetrahedron index="21569" v0="3913" v1="3915" v2="5115" v3="6381" />
+ <tetrahedron index="21570" v0="3322" v1="3434" v2="3687" v3="5578" />
+ <tetrahedron index="21571" v0="3857" v1="3972" v2="4398" v3="5853" />
+ <tetrahedron index="21572" v0="3987" v1="4481" v2="5003" v3="5074" />
+ <tetrahedron index="21573" v0="4887" v1="5200" v2="5674" v3="5819" />
+ <tetrahedron index="21574" v0="4148" v1="4415" v2="4807" v3="6505" />
+ <tetrahedron index="21575" v0="4201" v1="5118" v2="5681" v3="6352" />
+ <tetrahedron index="21576" v0="3994" v1="4241" v2="4306" v3="6396" />
+ <tetrahedron index="21577" v0="5093" v1="5676" v2="6005" v3="6857" />
+ <tetrahedron index="21578" v0="4900" v1="5021" v2="5238" v3="5542" />
+ <tetrahedron index="21579" v0="3871" v1="3901" v2="3902" v3="5068" />
+ <tetrahedron index="21580" v0="4939" v1="5998" v2="6419" v3="6595" />
+ <tetrahedron index="21581" v0="3301" v1="3845" v2="3966" v3="5232" />
+ <tetrahedron index="21582" v0="3795" v1="4796" v2="5428" v3="6255" />
+ <tetrahedron index="21583" v0="3259" v1="3973" v2="5011" v3="6265" />
+ <tetrahedron index="21584" v0="4942" v1="5913" v2="6354" v3="6542" />
+ <tetrahedron index="21585" v0="4910" v1="5261" v2="5264" v3="5899" />
+ <tetrahedron index="21586" v0="3482" v1="4061" v2="5206" v3="6362" />
+ <tetrahedron index="21587" v0="4016" v1="4195" v2="5442" v3="5463" />
+ <tetrahedron index="21588" v0="3846" v1="3847" v2="4500" v3="5506" />
+ <tetrahedron index="21589" v0="5013" v1="5049" v2="5593" v3="6439" />
+ <tetrahedron index="21590" v0="3920" v1="4722" v2="4770" v3="5274" />
+ <tetrahedron index="21591" v0="4277" v1="4305" v2="5754" v3="6416" />
+ <tetrahedron index="21592" v0="5333" v1="5336" v2="5978" v3="6132" />
+ <tetrahedron index="21593" v0="4776" v1="5604" v2="5606" v3="5607" />
+ <tetrahedron index="21594" v0="4990" v1="5481" v2="5548" v3="6146" />
+ <tetrahedron index="21595" v0="3303" v1="5124" v2="5720" v3="5721" />
+ <tetrahedron index="21596" v0="4132" v1="4810" v2="5426" v3="5428" />
+ <tetrahedron index="21597" v0="3455" v1="5207" v2="5825" v3="6370" />
+ <tetrahedron index="21598" v0="4882" v1="5188" v2="6458" v3="6769" />
+ <tetrahedron index="21599" v0="5005" v1="6233" v2="6431" v3="6856" />
+ <tetrahedron index="21600" v0="4902" v1="5829" v2="6511" v3="6887" />
+ <tetrahedron index="21601" v0="4594" v1="4767" v2="5078" v3="5716" />
+ <tetrahedron index="21602" v0="4968" v1="5429" v2="5788" v3="6448" />
+ <tetrahedron index="21603" v0="3890" v1="4244" v2="4249" v3="5529" />
+ <tetrahedron index="21604" v0="4955" v1="5528" v2="5554" v3="6227" />
+ <tetrahedron index="21605" v0="4940" v1="5165" v2="5356" v3="5779" />
+ <tetrahedron index="21606" v0="4652" v1="6190" v2="6192" v3="6471" />
+ <tetrahedron index="21607" v0="3509" v1="3809" v2="5329" v3="5330" />
+ <tetrahedron index="21608" v0="4479" v1="4865" v2="4925" v3="5640" />
+ <tetrahedron index="21609" v0="4939" v1="5353" v2="6002" v3="6003" />
+ <tetrahedron index="21610" v0="5625" v1="6300" v2="6797" v3="6800" />
+ <tetrahedron index="21611" v0="5248" v1="5880" v2="6521" v3="6523" />
+ <tetrahedron index="21612" v0="4871" v1="5646" v2="6322" v3="6323" />
+ <tetrahedron index="21613" v0="3374" v1="3508" v2="4731" v3="5492" />
+ <tetrahedron index="21614" v0="3251" v1="3252" v2="5156" v3="6131" />
+ <tetrahedron index="21615" v0="5113" v1="5704" v2="5890" v3="6113" />
+ <tetrahedron index="21616" v0="3421" v1="4653" v2="4654" v3="5957" />
+ <tetrahedron index="21617" v0="6279" v1="6442" v2="6804" v3="6995" />
+ <tetrahedron index="21618" v0="4878" v1="5177" v2="5178" v3="5425" />
+ <tetrahedron index="21619" v0="3827" v1="3952" v2="4187" v3="6110" />
+ <tetrahedron index="21620" v0="3447" v1="4881" v2="5502" v3="5591" />
+ <tetrahedron index="21621" v0="4423" v1="4703" v2="5376" v3="6027" />
+ <tetrahedron index="21622" v0="3396" v1="4988" v2="5479" v3="5861" />
+ <tetrahedron index="21623" v0="4892" v1="5030" v2="5562" v3="5563" />
+ <tetrahedron index="21624" v0="3243" v1="3244" v2="5839" v3="5952" />
+ <tetrahedron index="21625" v0="4923" v1="4982" v2="5302" v3="6037" />
+ <tetrahedron index="21626" v0="3437" v1="3605" v2="4501" v3="5328" />
+ <tetrahedron index="21627" v0="4931" v1="5322" v2="5707" v3="5967" />
+ <tetrahedron index="21628" v0="4156" v1="4674" v2="4730" v3="6274" />
+ <tetrahedron index="21629" v0="5996" v1="6582" v2="6906" v3="6967" />
+ <tetrahedron index="21630" v0="4389" v1="5633" v2="5634" v3="5658" />
+ <tetrahedron index="21631" v0="4033" v1="4034" v2="4043" v3="6471" />
+ <tetrahedron index="21632" v0="5300" v1="5951" v2="6266" v3="6966" />
+ <tetrahedron index="21633" v0="4891" v1="5212" v2="5565" v3="5685" />
+ <tetrahedron index="21634" v0="4549" v1="5224" v2="5847" v3="6498" />
+ <tetrahedron index="21635" v0="3587" v1="4585" v2="5392" v3="6045" />
+ <tetrahedron index="21636" v0="3721" v1="5043" v2="6396" v3="6548" />
+ <tetrahedron index="21637" v0="5263" v1="5898" v2="6532" v3="6533" />
+ <tetrahedron index="21638" v0="5631" v1="5983" v2="6309" v3="6807" />
+ <tetrahedron index="21639" v0="3804" v1="3806" v2="4141" v3="5968" />
+ <tetrahedron index="21640" v0="5005" v1="5518" v2="6173" v3="6726" />
+ <tetrahedron index="21641" v0="4902" v1="5243" v2="5693" v3="6887" />
+ <tetrahedron index="21642" v0="4870" v1="5043" v2="5642" v3="5643" />
+ <tetrahedron index="21643" v0="3449" v1="4245" v2="5432" v3="6376" />
+ <tetrahedron index="21644" v0="3313" v1="3644" v2="3927" v3="5213" />
+ <tetrahedron index="21645" v0="3318" v1="4104" v2="4801" v3="5658" />
+ <tetrahedron index="21646" v0="4639" v1="4651" v2="5330" v3="6026" />
+ <tetrahedron index="21647" v0="3775" v1="4216" v2="4662" v3="5862" />
+ <tetrahedron index="21648" v0="3619" v1="4827" v2="5849" v3="6498" />
+ <tetrahedron index="21649" v0="4291" v1="4613" v2="5020" v3="6762" />
+ <tetrahedron index="21650" v0="4988" v1="5216" v2="6143" v3="6484" />
+ <tetrahedron index="21651" v0="3849" v1="4843" v2="5297" v3="5956" />
+ <tetrahedron index="21652" v0="4468" v1="4652" v2="4700" v3="6190" />
+ <tetrahedron index="21653" v0="4657" v1="5184" v2="5499" v3="6164" />
+ <tetrahedron index="21654" v0="4853" v1="5403" v2="6061" v3="6104" />
+ <tetrahedron index="21655" v0="4694" v1="5153" v2="5756" v3="6416" />
+ <tetrahedron index="21656" v0="4475" v1="5092" v2="5856" v3="6483" />
+ <tetrahedron index="21657" v0="3382" v1="5041" v2="5266" v3="5267" />
+ <tetrahedron index="21658" v0="3785" v1="5148" v2="5747" v3="5986" />
+ <tetrahedron index="21659" v0="4985" v1="5473" v2="5702" v3="6138" />
+ <tetrahedron index="21660" v0="5100" v1="5110" v2="5699" v3="6368" />
+ <tetrahedron index="21661" v0="3855" v1="3857" v2="3972" v3="5231" />
+ <tetrahedron index="21662" v0="4933" v1="5045" v2="5331" v3="5585" />
+ <tetrahedron index="21663" v0="4459" v1="4531" v2="4600" v3="6018" />
+ <tetrahedron index="21664" v0="6266" v1="6563" v2="6898" v3="6966" />
+ <tetrahedron index="21665" v0="4958" v1="5230" v2="5400" v3="6363" />
+ <tetrahedron index="21666" v0="5392" v1="6631" v2="6633" v3="6926" />
+ <tetrahedron index="21667" v0="5032" v1="5498" v2="6162" v3="6861" />
+ <tetrahedron index="21668" v0="4934" v1="5596" v2="5980" v3="6743" />
+ <tetrahedron index="21669" v0="4883" v1="6120" v2="6678" v3="7017" />
+ <tetrahedron index="21670" v0="3818" v1="3871" v2="3902" v3="5729" />
+ <tetrahedron index="21671" v0="4875" v1="4956" v2="5396" v3="5402" />
+ <tetrahedron index="21672" v0="4719" v1="5612" v2="5633" v3="6606" />
+ <tetrahedron index="21673" v0="4941" v1="5358" v2="5864" v3="6608" />
+ <tetrahedron index="21674" v0="3871" v1="3895" v2="5151" v3="6811" />
+ <tetrahedron index="21675" v0="5012" v1="5759" v2="6235" v3="6424" />
+ <tetrahedron index="21676" v0="3664" v1="5250" v2="5652" v3="6328" />
+ <tetrahedron index="21677" v0="3288" v1="3289" v2="4335" v3="5739" />
+ <tetrahedron index="21678" v0="5511" v1="6173" v2="6728" v3="6965" />
+ <tetrahedron index="21679" v0="4088" v1="5188" v2="5806" v3="6249" />
+ <tetrahedron index="21680" v0="5154" v1="5249" v2="5758" v3="6422" />
+ <tetrahedron index="21681" v0="3664" v1="3667" v2="5061" v3="5250" />
+ <tetrahedron index="21682" v0="4944" v1="5844" v2="6495" v3="6882" />
+ <tetrahedron index="21683" v0="5482" v1="6260" v2="6773" v3="7020" />
+ <tetrahedron index="21684" v0="3923" v1="4317" v2="5028" v3="6510" />
+ <tetrahedron index="21685" v0="4466" v1="4998" v2="5171" v3="5424" />
+ <tetrahedron index="21686" v0="4253" v1="5577" v2="6253" v3="6398" />
+ <tetrahedron index="21687" v0="3683" v1="5582" v2="6256" v3="6938" />
+ <tetrahedron index="21688" v0="3648" v1="4518" v2="4615" v3="5369" />
+ <tetrahedron index="21689" v0="3995" v1="3998" v2="5087" v3="6024" />
+ <tetrahedron index="21690" v0="4147" v1="4422" v2="4548" v3="6199" />
+ <tetrahedron index="21691" v0="4094" v1="4223" v2="4809" v3="5743" />
+ <tetrahedron index="21692" v0="3280" v1="3281" v2="3382" v3="5266" />
+ <tetrahedron index="21693" v0="4023" v1="4024" v2="4133" v3="4469" />
+ <tetrahedron index="21694" v0="3693" v1="4196" v2="5846" v3="6494" />
+ <tetrahedron index="21695" v0="4855" v1="4929" v2="6144" v3="6392" />
+ <tetrahedron index="21696" v0="3651" v1="3653" v2="4522" v3="5499" />
+ <tetrahedron index="21697" v0="4075" v1="4289" v2="5230" v3="5691" />
+ <tetrahedron index="21698" v0="4932" v1="5325" v2="5327" v3="5973" />
+ <tetrahedron index="21699" v0="4120" v1="4761" v2="5553" v3="6226" />
+ <tetrahedron index="21700" v0="3374" v1="4731" v2="5492" v3="6154" />
+ <tetrahedron index="21701" v0="5221" v1="6055" v2="6645" v3="6864" />
+ <tetrahedron index="21702" v0="3687" v1="5061" v2="5171" v3="5578" />
+ <tetrahedron index="21703" v0="3574" v1="3904" v2="5196" v3="5953" />
+ <tetrahedron index="21704" v0="4303" v1="4375" v2="4404" v3="4721" />
+ <tetrahedron index="21705" v0="4770" v1="5076" v2="5274" v3="6354" />
+ <tetrahedron index="21706" v0="3717" v1="3771" v2="6136" v3="6701" />
+ <tetrahedron index="21707" v0="4989" v1="5038" v2="5480" v3="6144" />
+ <tetrahedron index="21708" v0="4900" v1="5862" v2="5918" v3="5922" />
+ <tetrahedron index="21709" v0="4491" v1="4492" v2="6181" v3="6583" />
+ <tetrahedron index="21710" v0="5152" v1="5553" v2="6224" v3="6770" />
+ <tetrahedron index="21711" v0="3556" v1="3557" v2="4550" v3="6453" />
+ <tetrahedron index="21712" v0="3230" v1="3232" v2="4473" v3="5472" />
+ <tetrahedron index="21713" v0="3274" v1="3279" v2="5320" v3="5965" />
+ <tetrahedron index="21714" v0="6301" v1="6797" v2="6799" v3="6943" />
+ <tetrahedron index="21715" v0="3860" v1="4483" v2="4516" v3="5694" />
+ <tetrahedron index="21716" v0="3302" v1="3966" v2="5055" v3="5838" />
+ <tetrahedron index="21717" v0="4975" v1="5056" v2="6107" v3="6680" />
+ <tetrahedron index="21718" v0="5550" v1="6292" v2="6907" v3="6931" />
+ <tetrahedron index="21719" v0="3668" v1="3669" v2="4693" v3="5915" />
+ <tetrahedron index="21720" v0="4509" v1="5334" v2="5677" v3="6350" />
+ <tetrahedron index="21721" v0="5615" v1="6794" v2="6920" v3="7009" />
+ <tetrahedron index="21722" v0="4700" v1="5019" v2="5537" v3="6190" />
+ <tetrahedron index="21723" v0="4196" v1="4736" v2="5223" v3="6141" />
+ <tetrahedron index="21724" v0="4859" v1="4982" v2="5384" v3="6037" />
+ <tetrahedron index="21725" v0="3563" v1="4102" v2="5122" v3="5715" />
+ <tetrahedron index="21726" v0="4992" v1="5407" v2="5485" v3="5727" />
+ <tetrahedron index="21727" v0="3366" v1="4101" v2="4685" v3="5878" />
+ <tetrahedron index="21728" v0="4156" v1="4674" v2="5651" v3="6274" />
+ <tetrahedron index="21729" v0="5079" v1="5591" v2="5804" v3="6455" />
+ <tetrahedron index="21730" v0="4291" v1="4292" v2="4455" v3="5539" />
+ <tetrahedron index="21731" v0="4248" v1="4282" v2="4355" v3="5647" />
+ <tetrahedron index="21732" v0="3283" v1="3286" v2="5514" v3="5901" />
+ <tetrahedron index="21733" v0="4008" v1="4412" v2="5048" v3="6866" />
+ <tetrahedron index="21734" v0="3429" v1="4498" v2="4565" v3="5254" />
+ <tetrahedron index="21735" v0="3356" v1="5226" v2="5420" v3="6496" />
+ <tetrahedron index="21736" v0="4286" v1="5029" v2="5561" v3="5954" />
+ <tetrahedron index="21737" v0="4377" v1="5092" v2="5687" v3="5837" />
+ <tetrahedron index="21738" v0="4096" v1="4448" v2="5279" v3="5923" />
+ <tetrahedron index="21739" v0="4899" v1="5104" v2="5234" v3="6347" />
+ <tetrahedron index="21740" v0="4117" v1="5395" v2="6051" v3="6225" />
+ <tetrahedron index="21741" v0="3271" v1="3711" v2="4957" v3="6646" />
+ <tetrahedron index="21742" v0="3990" v1="4255" v2="5100" v3="5699" />
+ <tetrahedron index="21743" v0="5903" v1="6535" v2="6536" v3="6799" />
+ <tetrahedron index="21744" v0="5317" v1="5725" v2="5961" v3="6428" />
+ <tetrahedron index="21745" v0="5025" v1="6139" v2="6595" v3="6906" />
+ <tetrahedron index="21746" v0="5463" v1="5464" v2="5808" v3="6696" />
+ <tetrahedron index="21747" v0="5473" v1="5702" v2="6251" v3="6831" />
+ <tetrahedron index="21748" v0="5108" v1="5695" v2="6365" v3="6366" />
+ <tetrahedron index="21749" v0="5481" v1="6219" v2="6253" v3="6398" />
+ <tetrahedron index="21750" v0="4899" v1="5264" v2="5689" v3="6502" />
+ <tetrahedron index="21751" v0="3526" v1="4992" v2="5201" v3="5484" />
+ <tetrahedron index="21752" v0="3561" v1="5358" v2="6010" v3="6608" />
+ <tetrahedron index="21753" v0="4921" v1="5297" v2="5936" v3="6345" />
+ <tetrahedron index="21754" v0="3327" v1="4204" v2="5430" v3="6087" />
+ <tetrahedron index="21755" v0="3409" v1="3410" v2="5774" v3="5930" />
+ <tetrahedron index="21756" v0="5236" v1="5543" v2="5835" v3="6482" />
+ <tetrahedron index="21757" v0="4896" v1="5224" v2="5849" v3="6367" />
+ <tetrahedron index="21758" v0="3350" v1="5256" v2="5257" v3="5890" />
+ <tetrahedron index="21759" v0="3368" v1="3823" v2="5248" v3="5878" />
+ <tetrahedron index="21760" v0="4407" v1="5282" v2="5376" v3="6025" />
+ <tetrahedron index="21761" v0="4418" v1="4427" v2="5321" v3="6452" />
+ <tetrahedron index="21762" v0="4953" v1="6461" v2="6745" v3="6969" />
+ <tetrahedron index="21763" v0="5200" v1="5818" v2="5852" v3="6388" />
+ <tetrahedron index="21764" v0="5167" v1="6228" v2="6409" v3="6754" />
+ <tetrahedron index="21765" v0="3250" v1="3252" v2="5299" v3="6131" />
+ <tetrahedron index="21766" v0="5672" v1="5821" v2="5957" v3="6475" />
+ <tetrahedron index="21767" v0="3264" v1="5001" v2="5030" v3="5623" />
+ <tetrahedron index="21768" v0="3310" v1="3572" v2="4513" v3="5372" />
+ <tetrahedron index="21769" v0="3290" v1="5143" v2="5534" v3="5739" />
+ <tetrahedron index="21770" v0="4863" v1="5503" v2="6097" v3="6165" />
+ <tetrahedron index="21771" v0="4595" v1="5220" v2="5839" v3="6486" />
+ <tetrahedron index="21772" v0="4582" v1="5510" v2="6174" v3="6231" />
+ <tetrahedron index="21773" v0="3274" v1="3526" v2="5201" v3="5727" />
+ <tetrahedron index="21774" v0="4914" v1="5271" v2="5273" v3="5910" />
+ <tetrahedron index="21775" v0="4855" v1="5249" v2="5757" v3="6422" />
+ <tetrahedron index="21776" v0="3235" v1="4701" v2="5452" v3="5453" />
+ <tetrahedron index="21777" v0="4433" v1="5218" v2="5837" v3="5858" />
+ <tetrahedron index="21778" v0="3237" v1="3474" v2="4235" v3="5545" />
+ <tetrahedron index="21779" v0="3946" v1="4067" v2="4715" v3="5245" />
+ <tetrahedron index="21780" v0="5389" v1="6041" v2="6207" v3="6970" />
+ <tetrahedron index="21781" v0="3234" v1="3689" v2="3690" v3="5593" />
+ <tetrahedron index="21782" v0="4570" v1="4844" v2="5265" v3="5815" />
+ <tetrahedron index="21783" v0="5630" v1="6627" v2="6766" v3="6806" />
+ <tetrahedron index="21784" v0="4993" v1="5106" v2="5486" v3="5487" />
+ <tetrahedron index="21785" v0="3432" v1="3506" v2="4960" v3="5410" />
+ <tetrahedron index="21786" v0="5062" v1="5622" v2="5623" v3="6296" />
+ <tetrahedron index="21787" v0="4863" v1="5062" v2="5620" v3="6236" />
+ <tetrahedron index="21788" v0="3774" v1="3982" v2="4407" v3="5282" />
+ <tetrahedron index="21789" v0="4184" v1="4336" v2="4542" v3="6318" />
+ <tetrahedron index="21790" v0="3921" v1="3923" v2="4387" v3="5028" />
+ <tetrahedron index="21791" v0="3251" v1="4017" v2="4257" v3="5464" />
+ <tetrahedron index="21792" v0="4059" v1="4193" v2="4688" v3="5626" />
+ <tetrahedron index="21793" v0="4744" v1="4745" v2="4746" v3="6003" />
+ <tetrahedron index="21794" v0="4979" v1="5456" v2="5703" v3="6399" />
+ <tetrahedron index="21795" v0="4854" v1="5148" v2="5941" v3="6083" />
+ <tetrahedron index="21796" v0="4308" v1="4443" v2="4815" v3="5583" />
+ <tetrahedron index="21797" v0="3841" v1="5425" v2="6084" v3="6661" />
+ <tetrahedron index="21798" v0="3304" v1="3669" v2="4309" v3="5034" />
+ <tetrahedron index="21799" v0="3781" v1="3784" v2="4053" v3="5340" />
+ <tetrahedron index="21800" v0="4325" v1="4706" v2="5303" v3="5304" />
+ <tetrahedron index="21801" v0="3475" v1="4182" v2="4217" v3="5663" />
+ <tetrahedron index="21802" v0="4904" v1="5614" v2="5877" v3="6289" />
+ <tetrahedron index="21803" v0="4209" v1="4210" v2="4211" v3="5942" />
+ <tetrahedron index="21804" v0="3439" v1="3636" v2="4019" v3="5608" />
+ <tetrahedron index="21805" v0="3761" v1="3957" v2="5591" v3="6377" />
+ <tetrahedron index="21806" v0="5001" v1="5503" v2="5623" v3="6168" />
+ <tetrahedron index="21807" v0="4849" v1="5348" v2="5995" v3="6723" />
+ <tetrahedron index="21808" v0="4965" v1="5889" v2="6076" v3="6336" />
+ <tetrahedron index="21809" v0="5067" v1="5635" v2="6068" v3="6650" />
+ <tetrahedron index="21810" v0="6920" v1="6999" v2="7009" v3="7025" />
+ <tetrahedron index="21811" v0="3791" v1="4619" v2="5319" v3="5963" />
+ <tetrahedron index="21812" v0="5020" v1="5540" v2="6209" v3="6210" />
+ <tetrahedron index="21813" v0="3875" v1="5002" v2="6010" v3="6607" />
+ <tetrahedron index="21814" v0="5454" v1="5455" v2="6157" v3="6714" />
+ <tetrahedron index="21815" v0="4975" v1="5056" v2="5867" v3="6107" />
+ <tetrahedron index="21816" v0="4900" v1="5142" v2="5238" v3="5863" />
+ <tetrahedron index="21817" v0="3604" v1="3743" v2="3919" v3="5281" />
+ <tetrahedron index="21818" v0="4888" v1="4992" v2="5201" v3="5483" />
+ <tetrahedron index="21819" v0="5390" v1="5816" v2="6471" v3="6619" />
+ <tetrahedron index="21820" v0="3619" v1="4766" v2="4827" v3="6498" />
+ <tetrahedron index="21821" v0="5112" v1="5702" v2="6252" v3="6399" />
+ <tetrahedron index="21822" v0="5073" v1="5597" v2="5648" v3="6326" />
+ <tetrahedron index="21823" v0="3939" v1="4644" v2="4734" v3="5580" />
+ <tetrahedron index="21824" v0="3362" v1="5312" v2="5955" v3="6344" />
+ <tetrahedron index="21825" v0="4570" v1="4665" v2="5610" v3="5900" />
+ <tetrahedron index="21826" v0="5512" v1="6522" v2="6731" v3="7003" />
+ <tetrahedron index="21827" v0="4034" v1="4424" v2="4652" v3="5390" />
+ <tetrahedron index="21828" v0="3865" v1="4405" v2="5586" v3="6067" />
+ <tetrahedron index="21829" v0="3820" v1="3822" v2="5584" v3="6345" />
+ <tetrahedron index="21830" v0="3958" v1="4337" v2="6113" v3="6684" />
+ <tetrahedron index="21831" v0="3851" v1="4358" v2="5259" v3="5263" />
+ <tetrahedron index="21832" v0="4951" v1="6061" v2="6066" v3="6104" />
+ <tetrahedron index="21833" v0="3791" v1="4619" v2="4785" v3="5319" />
+ <tetrahedron index="21834" v0="4853" v1="4906" v2="5407" v3="6066" />
+ <tetrahedron index="21835" v0="4134" v1="4538" v2="4757" v3="5335" />
+ <tetrahedron index="21836" v0="3823" v1="4365" v2="4685" v3="5878" />
+ <tetrahedron index="21837" v0="3408" v1="4068" v2="4368" v3="5774" />
+ <tetrahedron index="21838" v0="4907" v1="5251" v2="5253" v3="6237" />
+ <tetrahedron index="21839" v0="4104" v1="4460" v2="4823" v3="4898" />
+ <tetrahedron index="21840" v0="5509" v1="6183" v2="6735" v3="6968" />
+ <tetrahedron index="21841" v0="3588" v1="5395" v2="6051" v3="6926" />
+ <tetrahedron index="21842" v0="5008" v1="5515" v2="5516" v3="6187" />
+ <tetrahedron index="21843" v0="4953" v1="5389" v2="6463" v3="7019" />
+ <tetrahedron index="21844" v0="3980" v1="5222" v2="5842" v3="6491" />
+ <tetrahedron index="21845" v0="3251" v1="5156" v2="5413" v3="5464" />
+ <tetrahedron index="21846" v0="4743" v1="4998" v2="5424" v3="5496" />
+ <tetrahedron index="21847" v0="5039" v1="5576" v2="5577" v3="6252" />
+ <tetrahedron index="21848" v0="4092" v1="4093" v2="5486" v3="6406" />
+ <tetrahedron index="21849" v0="4946" v1="5368" v2="5386" v3="5728" />
+ <tetrahedron index="21850" v0="4840" v1="5095" v2="5115" v3="5974" />
+ <tetrahedron index="21851" v0="3947" v1="4836" v2="5873" v3="6175" />
+ <tetrahedron index="21852" v0="4927" v1="5089" v2="5672" v3="6343" />
+ <tetrahedron index="21853" v0="5567" v1="5688" v2="6360" v3="6813" />
+ <tetrahedron index="21854" v0="3691" v1="5187" v2="5534" v3="5802" />
+ <tetrahedron index="21855" v0="4191" v1="4663" v2="5278" v3="6543" />
+ <tetrahedron index="21856" v0="4865" v1="5249" v2="5759" v3="5882" />
+ <tetrahedron index="21857" v0="4909" v1="5258" v2="5544" v3="5892" />
+ <tetrahedron index="21858" v0="5411" v1="6172" v2="6187" v3="6725" />
+ <tetrahedron index="21859" v0="4720" v1="5716" v2="5718" v3="6387" />
+ <tetrahedron index="21860" v0="3978" v1="5392" v2="6048" v3="6051" />
+ <tetrahedron index="21861" v0="3237" v1="3475" v2="5258" v3="5545" />
+ <tetrahedron index="21862" v0="3861" v1="4983" v2="5468" v3="6134" />
+ <tetrahedron index="21863" v0="5391" v1="6625" v2="6627" v3="6925" />
+ <tetrahedron index="21864" v0="4975" v1="5559" v2="5867" v3="6107" />
+ <tetrahedron index="21865" v0="5316" v1="5959" v2="6246" v3="6764" />
+ <tetrahedron index="21866" v0="3432" v1="4065" v2="4511" v3="6019" />
+ <tetrahedron index="21867" v0="5149" v1="5751" v2="5999" v3="6915" />
+ <tetrahedron index="21868" v0="3235" v1="4977" v2="5453" v3="5776" />
+ <tetrahedron index="21869" v0="4856" v1="4991" v2="5588" v3="6260" />
+ <tetrahedron index="21870" v0="4953" v1="6207" v2="6463" v3="6744" />
+ <tetrahedron index="21871" v0="4911" v1="5348" v2="5995" v3="6593" />
+ <tetrahedron index="21872" v0="5047" v1="5590" v2="6259" v3="6775" />
+ <tetrahedron index="21873" v0="5021" v1="5543" v2="5835" v3="6214" />
+ <tetrahedron index="21874" v0="4749" v1="4776" v2="4822" v3="5604" />
+ <tetrahedron index="21875" v0="4458" v1="4459" v2="4531" v3="6018" />
+ <tetrahedron index="21876" v0="3724" v1="4410" v2="5275" v3="5916" />
+ <tetrahedron index="21877" v0="4963" v1="5415" v2="6280" v3="6313" />
+ <tetrahedron index="21878" v0="3766" v1="3767" v2="3897" v3="5210" />
+ <tetrahedron index="21879" v0="4323" v1="4394" v2="5306" v3="5944" />
+ <tetrahedron index="21880" v0="4044" v1="4111" v2="4200" v3="5555" />
+ <tetrahedron index="21881" v0="5493" v1="6281" v2="6630" v3="6957" />
+ <tetrahedron index="21882" v0="3314" v1="3833" v2="3834" v3="5679" />
+ <tetrahedron index="21883" v0="4943" v1="5152" v2="6012" v3="6668" />
+ <tetrahedron index="21884" v0="4049" v1="5534" v2="5802" v3="6206" />
+ <tetrahedron index="21885" v0="3247" v1="3446" v2="5364" v3="5621" />
+ <tetrahedron index="21886" v0="4890" v1="5207" v2="5209" v3="6402" />
+ <tetrahedron index="21887" v0="5013" v1="5525" v2="6197" v3="6199" />
+ <tetrahedron index="21888" v0="3420" v1="4589" v2="5314" v3="6477" />
+ <tetrahedron index="21889" v0="4581" v1="4623" v2="4814" v3="5752" />
+ <tetrahedron index="21890" v0="3495" v1="3496" v2="3497" v3="5449" />
+ <tetrahedron index="21891" v0="4884" v1="5509" v2="6230" v3="6431" />
+ <tetrahedron index="21892" v0="4392" v1="4394" v2="4621" v3="5521" />
+ <tetrahedron index="21893" v0="3604" v1="4452" v2="4520" v3="6544" />
+ <tetrahedron index="21894" v0="4537" v1="4548" v2="5526" v3="5594" />
+ <tetrahedron index="21895" v0="4246" v1="4269" v2="4708" v3="5669" />
+ <tetrahedron index="21896" v0="4892" v1="5338" v2="5562" v3="5563" />
+ <tetrahedron index="21897" v0="4672" v1="5298" v2="5935" v3="6342" />
+ <tetrahedron index="21898" v0="4986" v1="5475" v2="5476" v3="5756" />
+ <tetrahedron index="21899" v0="4088" v1="4747" v2="5806" v3="6249" />
+ <tetrahedron index="21900" v0="5089" v1="5670" v2="5936" v3="6346" />
+ <tetrahedron index="21901" v0="4936" v1="5941" v2="6568" v3="6922" />
+ <tetrahedron index="21902" v0="3610" v1="3611" v2="4676" v3="5818" />
+ <tetrahedron index="21903" v0="4064" v1="4284" v2="5076" v3="5097" />
+ <tetrahedron index="21904" v0="4993" v1="5106" v2="5487" v3="5878" />
+ <tetrahedron index="21905" v0="3272" v1="3273" v2="3554" v3="6397" />
+ <tetrahedron index="21906" v0="4150" v1="4423" v2="4703" v3="6027" />
+ <tetrahedron index="21907" v0="4266" v1="5343" v2="5989" v3="6139" />
+ <tetrahedron index="21908" v0="4475" v1="5092" v2="5675" v3="5856" />
+ <tetrahedron index="21909" v0="4022" v1="5023" v2="5547" v3="6216" />
+ <tetrahedron index="21910" v0="4313" v1="5431" v2="5432" v3="6089" />
+ <tetrahedron index="21911" v0="3593" v1="5467" v2="5780" v3="6132" />
+ <tetrahedron index="21912" v0="3996" v1="5096" v2="5140" v3="5737" />
+ <tetrahedron index="21913" v0="5287" v1="5423" v2="6081" v3="6082" />
+ <tetrahedron index="21914" v0="5036" v1="5573" v2="6048" v3="6051" />
+ <tetrahedron index="21915" v0="3333" v1="4709" v2="5337" v3="5766" />
+ <tetrahedron index="21916" v0="5168" v1="6718" v2="6960" v3="6997" />
+ <tetrahedron index="21917" v0="3508" v1="4731" v2="5492" v3="6154" />
+ <tetrahedron index="21918" v0="5130" v1="5731" v2="6152" v3="6395" />
+ <tetrahedron index="21919" v0="6276" v1="6538" v2="6781" v3="6977" />
+ <tetrahedron index="21920" v0="3538" v1="3800" v2="5934" v3="5972" />
+ <tetrahedron index="21921" v0="5180" v1="5182" v2="5608" v3="6451" />
+ <tetrahedron index="21922" v0="3328" v1="3456" v2="3749" v3="6254" />
+ <tetrahedron index="21923" v0="4932" v1="5324" v2="5970" v3="6575" />
+ <tetrahedron index="21924" v0="5390" v1="5816" v2="6471" v3="6623" />
+ <tetrahedron index="21925" v0="4033" v1="5816" v2="6470" v3="6872" />
+ <tetrahedron index="21926" v0="5170" v1="6056" v2="6062" v3="6865" />
+ <tetrahedron index="21927" v0="5196" v1="5910" v2="6330" v3="6818" />
+ <tetrahedron index="21928" v0="4324" v1="4527" v2="4534" v3="5303" />
+ <tetrahedron index="21929" v0="4093" v1="5146" v2="5147" v3="5742" />
+ <tetrahedron index="21930" v0="4256" v1="4549" v2="4766" v3="5224" />
+ <tetrahedron index="21931" v0="4226" v1="4500" v2="5372" v3="6022" />
+ <tetrahedron index="21932" v0="4213" v1="4676" v2="5229" v3="5852" />
+ <tetrahedron index="21933" v0="4162" v1="4321" v2="4560" v3="5725" />
+ <tetrahedron index="21934" v0="4248" v1="5498" v2="6161" v3="6341" />
+ <tetrahedron index="21935" v0="3942" v1="4000" v2="6332" v3="6333" />
+ <tetrahedron index="21936" v0="3240" v1="3364" v2="3445" v3="5911" />
+ <tetrahedron index="21937" v0="3570" v1="3571" v2="4686" v3="5401" />
+ <tetrahedron index="21938" v0="5363" v1="6276" v2="6882" v3="6920" />
+ <tetrahedron index="21939" v0="6154" v1="6159" v2="6740" v3="6958" />
+ <tetrahedron index="21940" v0="4176" v1="4177" v2="4739" v3="5029" />
+ <tetrahedron index="21941" v0="5015" v1="5528" v2="6202" v3="6594" />
+ <tetrahedron index="21942" v0="3324" v1="4332" v2="5429" v3="6086" />
+ <tetrahedron index="21943" v0="3731" v1="5313" v2="5955" v3="6344" />
+ <tetrahedron index="21944" v0="4855" v1="4925" v2="5249" v3="5757" />
+ <tetrahedron index="21945" v0="3522" v1="5240" v2="5357" v3="5866" />
+ <tetrahedron index="21946" v0="5268" v1="6097" v2="6671" v3="6672" />
+ <tetrahedron index="21947" v0="5518" v1="6412" v2="6732" v3="6964" />
+ <tetrahedron index="21948" v0="3915" v1="3925" v2="4840" v3="5974" />
+ <tetrahedron index="21949" v0="4165" v1="4314" v2="4453" v3="5280" />
+ <tetrahedron index="21950" v0="4540" v1="4716" v2="4789" v3="5573" />
+ <tetrahedron index="21951" v0="5022" v1="5258" v2="5544" v3="5893" />
+ <tetrahedron index="21952" v0="3382" v1="5266" v2="5267" v3="6145" />
+ <tetrahedron index="21953" v0="4519" v1="4553" v2="4554" v3="6241" />
+ <tetrahedron index="21954" v0="3569" v1="4131" v2="4293" v3="5500" />
+ <tetrahedron index="21955" v0="4923" v1="5636" v2="5638" v3="5744" />
+ <tetrahedron index="21956" v0="3260" v1="3802" v2="4678" v3="5308" />
+ <tetrahedron index="21957" v0="3592" v1="5565" v2="6237" v3="6356" />
+ <tetrahedron index="21958" v0="4858" v1="6188" v2="6408" v3="6469" />
+ <tetrahedron index="21959" v0="4866" v1="5156" v2="6072" v3="6933" />
+ <tetrahedron index="21960" v0="5361" v1="5599" v2="6221" v3="6587" />
+ <tetrahedron index="21961" v0="3416" v1="4234" v2="4460" v3="5612" />
+ <tetrahedron index="21962" v0="3578" v1="3579" v2="3663" v3="5724" />
+ <tetrahedron index="21963" v0="3435" v1="3436" v2="3437" v3="5331" />
+ <tetrahedron index="21964" v0="5149" v1="5748" v2="6001" v3="6408" />
+ <tetrahedron index="21965" v0="3263" v1="3891" v2="4218" v3="5504" />
+ <tetrahedron index="21966" v0="3442" v1="3877" v2="4398" v3="5819" />
+ <tetrahedron index="21967" v0="5265" v1="5815" v2="6000" v3="6013" />
+ <tetrahedron index="21968" v0="4915" v1="5275" v2="5872" v3="5916" />
+ <tetrahedron index="21969" v0="5014" v1="5527" v2="5874" v3="6459" />
+ <tetrahedron index="21970" v0="4984" v1="5620" v2="5678" v3="6297" />
+ <tetrahedron index="21971" v0="4858" v1="5518" v2="6186" v3="6412" />
+ <tetrahedron index="21972" v0="5077" v1="5802" v2="6206" v3="6454" />
+ <tetrahedron index="21973" v0="4913" v1="5903" v2="6797" v3="6942" />
+ <tetrahedron index="21974" v0="5163" v1="5776" v2="6438" v3="6441" />
+ <tetrahedron index="21975" v0="6170" v1="6687" v2="6784" v3="6997" />
+ <tetrahedron index="21976" v0="4020" v1="4022" v2="5023" v3="6216" />
+ <tetrahedron index="21977" v0="6280" v1="6786" v2="6808" v3="6924" />
+ <tetrahedron index="21978" v0="3301" v1="3589" v2="3674" v3="5232" />
+ <tetrahedron index="21979" v0="5194" v1="5817" v2="6473" v3="6474" />
+ <tetrahedron index="21980" v0="5111" v1="5499" v2="5668" v3="5777" />
+ <tetrahedron index="21981" v0="4927" v1="5313" v2="5936" v3="6344" />
+ <tetrahedron index="21982" v0="4358" v1="5263" v2="5894" v3="6532" />
+ <tetrahedron index="21983" v0="3298" v1="3300" v2="3954" v3="5215" />
+ <tetrahedron index="21984" v0="5672" v1="5821" v2="6475" v3="6825" />
+ <tetrahedron index="21985" v0="3448" v1="3517" v2="3682" v3="5017" />
+ <tetrahedron index="21986" v0="4355" v1="5032" v2="5647" v3="5688" />
+ <tetrahedron index="21987" v0="4920" v1="5291" v2="5294" v3="5506" />
+ <tetrahedron index="21988" v0="3851" v1="5259" v2="5263" v3="5894" />
+ <tetrahedron index="21989" v0="6611" v1="6754" v2="6911" v3="6971" />
+ <tetrahedron index="21990" v0="4576" v1="5044" v2="5296" v3="5971" />
+ <tetrahedron index="21991" v0="4841" v1="5058" v2="5090" v3="5657" />
+ <tetrahedron index="21992" v0="4707" v1="5088" v2="5669" v3="6267" />
+ <tetrahedron index="21993" v0="3258" v1="3259" v2="5011" v3="5069" />
+ <tetrahedron index="21994" v0="3259" v1="4865" v2="5011" v3="5069" />
+ <tetrahedron index="21995" v0="3968" v1="4214" v2="4352" v3="5728" />
+ <tetrahedron index="21996" v0="4901" v1="5132" v2="5239" v3="5864" />
+ <tetrahedron index="21997" v0="4728" v1="4729" v2="5233" v3="5857" />
+ <tetrahedron index="21998" v0="3478" v1="3636" v2="5180" v3="5181" />
+ <tetrahedron index="21999" v0="4605" v1="4666" v2="5050" v3="5597" />
+ <tetrahedron index="22000" v0="4907" v1="5252" v2="5652" v3="6240" />
+ <tetrahedron index="22001" v0="3308" v1="3685" v2="5243" v3="5872" />
+ <tetrahedron index="22002" v0="3889" v1="5371" v2="6039" v3="6618" />
+ <tetrahedron index="22003" v0="3705" v1="5054" v2="5848" v3="5851" />
+ <tetrahedron index="22004" v0="4408" v1="4498" v2="5071" v3="5887" />
+ <tetrahedron index="22005" v0="3810" v1="3812" v2="4208" v3="5786" />
+ <tetrahedron index="22006" v0="4056" v1="4150" v2="4423" v3="6026" />
+ <tetrahedron index="22007" v0="3622" v1="5237" v2="5862" v3="5918" />
+ <tetrahedron index="22008" v0="4524" v1="4581" v2="5515" v3="6179" />
+ <tetrahedron index="22009" v0="3374" v1="3381" v2="3508" v3="5492" />
+ <tetrahedron index="22010" v0="3605" v1="4403" v2="4520" v3="5738" />
+ <tetrahedron index="22011" v0="5032" v1="5498" v2="6322" v3="6861" />
+ <tetrahedron index="22012" v0="3389" v1="3893" v2="4571" v3="5592" />
+ <tetrahedron index="22013" v0="3450" v1="3451" v2="3685" v3="5829" />
+ <tetrahedron index="22014" v0="4858" v1="5751" v2="6408" v3="6916" />
+ <tetrahedron index="22015" v0="5316" v1="5958" v2="6566" v3="7010" />
+ <tetrahedron index="22016" v0="4460" v1="4841" v2="5058" v3="5657" />
+ <tetrahedron index="22017" v0="4224" v1="5147" v2="5637" v3="5744" />
+ <tetrahedron index="22018" v0="4093" v1="5147" v2="5743" v3="6406" />
+ <tetrahedron index="22019" v0="4256" v1="5224" v2="5848" v3="6367" />
+ <tetrahedron index="22020" v0="4943" v1="5360" v2="5362" v3="6229" />
+ <tetrahedron index="22021" v0="5377" v1="5921" v2="6025" v3="6543" />
+ <tetrahedron index="22022" v0="4897" v1="5228" v2="5852" v3="6500" />
+ <tetrahedron index="22023" v0="3834" v1="3996" v2="5096" v3="5737" />
+ <tetrahedron index="22024" v0="3580" v1="3608" v2="3609" v3="5571" />
+ <tetrahedron index="22025" v0="4877" v1="5040" v2="5171" v3="5784" />
+ <tetrahedron index="22026" v0="3455" v1="5207" v2="6370" v3="6371" />
+ <tetrahedron index="22027" v0="4891" v1="5100" v2="5212" v3="6830" />
+ <tetrahedron index="22028" v0="5047" v1="5588" v2="6052" v3="6259" />
+ <tetrahedron index="22029" v0="5017" v1="5143" v2="5801" v3="5803" />
+ <tetrahedron index="22030" v0="3411" v1="3495" v2="5866" v3="6605" />
+ <tetrahedron index="22031" v0="5283" v1="5863" v2="5922" v3="6505" />
+ <tetrahedron index="22032" v0="3611" v1="5200" v2="5818" v3="5852" />
+ <tetrahedron index="22033" v0="4974" v1="5405" v2="5783" v3="6445" />
+ <tetrahedron index="22034" v0="3508" v1="5492" v2="6050" v3="6710" />
+ <tetrahedron index="22035" v0="4805" v1="5353" v2="5755" v3="6603" />
+ <tetrahedron index="22036" v0="4892" v1="5094" v2="5214" v3="6298" />
+ <tetrahedron index="22037" v0="4221" v1="4475" v2="4751" v3="5856" />
+ <tetrahedron index="22038" v0="4446" v1="4777" v2="5192" v3="5813" />
+ <tetrahedron index="22039" v0="4474" v1="5013" v2="6197" v3="6199" />
+ <tetrahedron index="22040" v0="4123" v1="4199" v2="5609" v3="5641" />
+ <tetrahedron index="22041" v0="4251" v1="4264" v2="5481" v3="6219" />
+ <tetrahedron index="22042" v0="5113" v1="5888" v2="6113" v3="6321" />
+ <tetrahedron index="22043" v0="3266" v1="3285" v2="5405" v3="6148" />
+ <tetrahedron index="22044" v0="4870" v1="5162" v2="5559" v3="5642" />
+ <tetrahedron index="22045" v0="4243" v1="4244" v2="4353" v3="6031" />
+ <tetrahedron index="22046" v0="4908" v1="5704" v2="6113" v3="6684" />
+ <tetrahedron index="22047" v0="3664" v1="3687" v2="4669" v3="5652" />
+ <tetrahedron index="22048" v0="3437" v1="3606" v2="3673" v3="5141" />
+ <tetrahedron index="22049" v0="3321" v1="3322" v2="5061" v3="5578" />
+ <tetrahedron index="22050" v0="3629" v1="3630" v2="5251" v3="6758" />
+ <tetrahedron index="22051" v0="3521" v1="3522" v2="5357" v3="5866" />
+ <tetrahedron index="22052" v0="4580" v1="4581" v2="4711" v3="5150" />
+ <tetrahedron index="22053" v0="3816" v1="5539" v2="6041" v3="6208" />
+ <tetrahedron index="22054" v0="4980" v1="6117" v2="6121" v3="6126" />
+ <tetrahedron index="22055" v0="3864" v1="4511" v2="5370" v3="5371" />
+ <tetrahedron index="22056" v0="5159" v1="5767" v2="6335" v3="6832" />
+ <tetrahedron index="22057" v0="5926" v1="5985" v2="6567" v3="6581" />
+ <tetrahedron index="22058" v0="4192" v1="5063" v2="5906" v3="6304" />
+ <tetrahedron index="22059" v0="3478" v1="3971" v2="5181" v3="5794" />
+ <tetrahedron index="22060" v0="3585" v1="4219" v2="4683" v3="5938" />
+ <tetrahedron index="22061" v0="4973" v1="5442" v2="5485" v3="6101" />
+ <tetrahedron index="22062" v0="4018" v1="4650" v2="4764" v3="5822" />
+ <tetrahedron index="22063" v0="3563" v1="3565" v2="4230" v3="5715" />
+ <tetrahedron index="22064" v0="6276" v1="6793" v2="7009" v3="7017" />
+ <tetrahedron index="22065" v0="3473" v1="3759" v2="5084" v3="5661" />
+ <tetrahedron index="22066" v0="5051" v1="5598" v2="6270" v3="6472" />
+ <tetrahedron index="22067" v0="3495" v1="3497" v2="3498" v3="6109" />
+ <tetrahedron index="22068" v0="4927" v1="5314" v2="5957" v3="6477" />
+ <tetrahedron index="22069" v0="4680" v1="5567" v2="5778" v3="6162" />
+ <tetrahedron index="22070" v0="3720" v1="4650" v2="5203" v3="6873" />
+ <tetrahedron index="22071" v0="5258" v1="5545" v2="5892" v3="5893" />
+ <tetrahedron index="22072" v0="4357" v1="4358" v2="4769" v3="6532" />
+ <tetrahedron index="22073" v0="3367" v1="3573" v2="3574" v3="5953" />
+ <tetrahedron index="22074" v0="3575" v1="3629" v2="3899" v3="5251" />
+ <tetrahedron index="22075" v0="3352" v1="3354" v2="3882" v3="5664" />
+ <tetrahedron index="22076" v0="3968" v1="5129" v2="5385" v3="5728" />
+ <tetrahedron index="22077" v0="4722" v1="4765" v2="5276" v3="5914" />
+ <tetrahedron index="22078" v0="5361" v1="6221" v2="6587" v3="6754" />
+ <tetrahedron index="22079" v0="5080" v1="6333" v2="6731" v3="6817" />
+ <tetrahedron index="22080" v0="5809" v1="6461" v2="6989" v3="7023" />
+ <tetrahedron index="22081" v0="5152" v1="6223" v2="6750" v3="6971" />
+ <tetrahedron index="22082" v0="4517" v1="5017" v2="5186" v3="5800" />
+ <tetrahedron index="22083" v0="5157" v1="5762" v2="6465" v3="6894" />
+ <tetrahedron index="22084" v0="3388" v1="3389" v2="5592" v3="5706" />
+ <tetrahedron index="22085" v0="3782" v1="3785" v2="3991" v3="5986" />
+ <tetrahedron index="22086" v0="3232" v1="3938" v2="4417" v3="5119" />
+ <tetrahedron index="22087" v0="3263" v1="5015" v2="5504" v3="6158" />
+ <tetrahedron index="22088" v0="4189" v1="4292" v2="4773" v3="6211" />
+ <tetrahedron index="22089" v0="5139" v1="5770" v2="6399" v3="6437" />
+ <tetrahedron index="22090" v0="3373" v1="5492" v2="5845" v3="6493" />
+ <tetrahedron index="22091" v0="5026" v1="5553" v2="6223" v3="6226" />
+ <tetrahedron index="22092" v0="4722" v1="4765" v2="4770" v3="5914" />
+ <tetrahedron index="22093" v0="3247" v1="3375" v2="5454" v3="6493" />
+ <tetrahedron index="22094" v0="3490" v1="3863" v2="5262" v3="5897" />
+ <tetrahedron index="22095" v0="3576" v1="5496" v2="5785" v3="6084" />
+ <tetrahedron index="22096" v0="4905" v1="5248" v2="5880" v3="6519" />
+ <tetrahedron index="22097" v0="3701" v1="3702" v2="5067" v3="5635" />
+ <tetrahedron index="22098" v0="4023" v1="4469" v2="5426" v3="5429" />
+ <tetrahedron index="22099" v0="3944" v1="5240" v2="5357" v3="6506" />
+ <tetrahedron index="22100" v0="4932" v1="5705" v2="5712" v3="6381" />
+ <tetrahedron index="22101" v0="3279" v1="3286" v2="5398" v3="6058" />
+ <tetrahedron index="22102" v0="4245" v1="5120" v2="6353" v3="6827" />
+ <tetrahedron index="22103" v0="5346" v1="5992" v2="5994" v3="6667" />
+ <tetrahedron index="22104" v0="4042" v1="4838" v2="4839" v3="6872" />
+ <tetrahedron index="22105" v0="4981" v1="6072" v2="6696" v3="6892" />
+ <tetrahedron index="22106" v0="3323" v1="3739" v2="5040" v3="5580" />
+ <tetrahedron index="22107" v0="3286" v1="3712" v2="5398" v3="6057" />
+ <tetrahedron index="22108" v0="4814" v1="4817" v2="5752" v3="6184" />
+ <tetrahedron index="22109" v0="3551" v1="3552" v2="4030" v3="5098" />
+ <tetrahedron index="22110" v0="5476" v1="5589" v2="6486" v3="6703" />
+ <tetrahedron index="22111" v0="3859" v1="3997" v2="4056" v3="5125" />
+ <tetrahedron index="22112" v0="4106" v1="5191" v2="5813" v3="6870" />
+ <tetrahedron index="22113" v0="3467" v1="3801" v2="4599" v3="4697" />
+ <tetrahedron index="22114" v0="4950" v1="5381" v2="5745" v3="6032" />
+ <tetrahedron index="22115" v0="3414" v1="4312" v2="5058" v3="5612" />
+ <tetrahedron index="22116" v0="3283" v1="3741" v2="5007" v3="6057" />
+ <tetrahedron index="22117" v0="5113" v1="5704" v2="5890" v3="5891" />
+ <tetrahedron index="22118" v0="3646" v1="3879" v2="5252" v3="6758" />
+ <tetrahedron index="22119" v0="5602" v1="6780" v2="6781" v3="6934" />
+ <tetrahedron index="22120" v0="3558" v1="4263" v2="5162" v3="5775" />
+ <tetrahedron index="22121" v0="4893" v1="5055" v2="5686" v3="6484" />
+ <tetrahedron index="22122" v0="4594" v1="5078" v2="5716" v3="5717" />
+ <tetrahedron index="22123" v0="3445" v1="3695" v2="5273" v3="5911" />
+ <tetrahedron index="22124" v0="4710" v1="4714" v2="4821" v3="5351" />
+ <tetrahedron index="22125" v0="4914" v1="5655" v2="5705" v3="5908" />
+ <tetrahedron index="22126" v0="4521" v1="4772" v2="5255" v3="5778" />
+ <tetrahedron index="22127" v0="4376" v1="5635" v2="6067" v3="6258" />
+ <tetrahedron index="22128" v0="4364" v1="4501" v2="5331" v3="5585" />
+ <tetrahedron index="22129" v0="3933" v1="4167" v2="5868" v3="6919" />
+ <tetrahedron index="22130" v0="4554" v1="4603" v2="4751" v3="6347" />
+ <tetrahedron index="22131" v0="3852" v1="5894" v2="6529" v3="6532" />
+ <tetrahedron index="22132" v0="3435" v1="4319" v2="4428" v3="5409" />
+ <tetrahedron index="22133" v0="4700" v1="5019" v2="5536" v3="5537" />
+ <tetrahedron index="22134" v0="3436" v1="3505" v2="3807" v3="6070" />
+ <tetrahedron index="22135" v0="3957" v1="4183" v2="5680" v3="6376" />
+ <tetrahedron index="22136" v0="4509" v1="5661" v2="5677" v3="6350" />
+ <tetrahedron index="22137" v0="3647" v1="3648" v2="3649" v3="6020" />
+ <tetrahedron index="22138" v0="3959" v1="4512" v2="5164" v3="6133" />
+ <tetrahedron index="22139" v0="3425" v1="4517" v2="5017" v3="5801" />
+ <tetrahedron index="22140" v0="4066" v1="4620" v2="5145" v3="6405" />
+ <tetrahedron index="22141" v0="4515" v1="4552" v2="5793" v3="6450" />
+ <tetrahedron index="22142" v0="4963" v1="5416" v2="6307" v3="6693" />
+ <tetrahedron index="22143" v0="5034" v1="5276" v2="5914" v3="5915" />
+ <tetrahedron index="22144" v0="5488" v1="6299" v2="6519" v3="6699" />
+ <tetrahedron index="22145" v0="5036" v1="6224" v2="6750" v3="6972" />
+ <tetrahedron index="22146" v0="3296" v1="5021" v2="5836" v3="5859" />
+ <tetrahedron index="22147" v0="4309" v1="4765" v2="4770" v3="5914" />
+ <tetrahedron index="22148" v0="4589" v1="4834" v2="5956" v3="6477" />
+ <tetrahedron index="22149" v0="5309" v1="6098" v2="6640" v3="6643" />
+ <tetrahedron index="22150" v0="6279" v1="6613" v2="6783" v3="6979" />
+ <tetrahedron index="22151" v0="3580" v1="3608" v2="3699" v3="5571" />
+ <tetrahedron index="22152" v0="4872" v1="5490" v2="6327" v3="6777" />
+ <tetrahedron index="22153" v0="4952" v1="5384" v2="6037" v3="6393" />
+ <tetrahedron index="22154" v0="5100" v1="5212" v2="5684" v3="6830" />
+ <tetrahedron index="22155" v0="3399" v1="5628" v2="6801" v3="6803" />
+ <tetrahedron index="22156" v0="6098" v1="6099" v2="6643" v3="6674" />
+ <tetrahedron index="22157" v0="3835" v1="5746" v2="6032" v3="6033" />
+ <tetrahedron index="22158" v0="5541" v1="5570" v2="6390" v3="6748" />
+ <tetrahedron index="22159" v0="5467" v1="5780" v2="6326" v3="6394" />
+ <tetrahedron index="22160" v0="4271" v1="5377" v2="6025" v3="6543" />
+ <tetrahedron index="22161" v0="3845" v1="5232" v2="5854" v3="6502" />
+ <tetrahedron index="22162" v0="4866" v1="6535" v2="6799" v3="6850" />
+ <tetrahedron index="22163" v0="3431" v1="3858" v2="3865" v3="5410" />
+ <tetrahedron index="22164" v0="4853" v1="4875" v2="5524" v3="5882" />
+ <tetrahedron index="22165" v0="4253" v1="4802" v2="5577" v3="5736" />
+ <tetrahedron index="22166" v0="4219" v1="4643" v2="5638" v3="5744" />
+ <tetrahedron index="22167" v0="4308" v1="5583" v2="6579" v3="6905" />
+ <tetrahedron index="22168" v0="3655" v1="3787" v2="5531" v3="6742" />
+ <tetrahedron index="22169" v0="4967" v1="5177" v2="5785" v3="6084" />
+ <tetrahedron index="22170" v0="3666" v1="4451" v2="5884" v3="6816" />
+ <tetrahedron index="22171" v0="4903" v1="5460" v2="6123" v3="6128" />
+ <tetrahedron index="22172" v0="3851" v1="4358" v2="5894" v3="6532" />
+ <tetrahedron index="22173" v0="4276" v1="4631" v2="4694" v3="5756" />
+ <tetrahedron index="22174" v0="3894" v1="4644" v2="5174" v3="5580" />
+ <tetrahedron index="22175" v0="4934" v1="5335" v2="5337" v3="5765" />
+ <tetrahedron index="22176" v0="3558" v1="3560" v2="4259" v3="5162" />
+ <tetrahedron index="22177" v0="4916" v1="5278" v2="5917" v3="6543" />
+ <tetrahedron index="22178" v0="4446" v1="4447" v2="4470" v3="6746" />
+ <tetrahedron index="22179" v0="3752" v1="5211" v2="6274" v3="6329" />
+ <tetrahedron index="22180" v0="5105" v1="5230" v2="5691" v3="6339" />
+ <tetrahedron index="22181" v0="5042" v1="6083" v2="6659" v3="6660" />
+ <tetrahedron index="22182" v0="3482" v1="3750" v2="3751" v3="5399" />
+ <tetrahedron index="22183" v0="4958" v1="5399" v2="6059" v3="6361" />
+ <tetrahedron index="22184" v0="4914" v1="5271" v2="5908" v3="5910" />
+ <tetrahedron index="22185" v0="4773" v1="6040" v2="6211" v3="6745" />
+ <tetrahedron index="22186" v0="4286" v1="5561" v2="5954" v3="6565" />
+ <tetrahedron index="22187" v0="4552" v1="5179" v2="5792" v3="6018" />
+ <tetrahedron index="22188" v0="3304" v1="4309" v2="5034" v3="5653" />
+ <tetrahedron index="22189" v0="4058" v1="4059" v2="4688" v3="6071" />
+ <tetrahedron index="22190" v0="3280" v1="3281" v2="5266" v3="5964" />
+ <tetrahedron index="22191" v0="3446" v1="5364" v2="5621" v3="6685" />
+ <tetrahedron index="22192" v0="4491" v1="5285" v2="5344" v3="5990" />
+ <tetrahedron index="22193" v0="5558" v1="5948" v2="6747" v3="6762" />
+ <tetrahedron index="22194" v0="3905" v1="3974" v2="5310" v3="6264" />
+ <tetrahedron index="22195" v0="3403" v1="3983" v2="4516" v3="5827" />
+ <tetrahedron index="22196" v0="4866" v1="5156" v2="5760" v3="6072" />
+ <tetrahedron index="22197" v0="3298" v1="4052" v2="5215" v3="6481" />
+ <tetrahedron index="22198" v0="4941" v1="5357" v2="6008" v3="6506" />
+ <tetrahedron index="22199" v0="4965" v1="5847" v2="5889" v3="6336" />
+ <tetrahedron index="22200" v0="3985" v1="4299" v2="5072" v3="5850" />
+ <tetrahedron index="22201" v0="4679" v1="4912" v2="5041" v3="5962" />
+ <tetrahedron index="22202" v0="4445" v1="5188" v2="6249" v3="6415" />
+ <tetrahedron index="22203" v0="4942" v1="5359" v2="5710" v3="6542" />
+ <tetrahedron index="22204" v0="4892" v1="5094" v2="5214" v3="6480" />
+ <tetrahedron index="22205" v0="3377" v1="3529" v2="5202" v3="6838" />
+ <tetrahedron index="22206" v0="4860" v1="5552" v2="6221" v3="6228" />
+ <tetrahedron index="22207" v0="3880" v1="3881" v2="6012" v3="6778" />
+ <tetrahedron index="22208" v0="5114" v1="5826" v2="5828" v3="6511" />
+ <tetrahedron index="22209" v0="3234" v1="3689" v2="5593" v3="6438" />
+ <tetrahedron index="22210" v0="5600" v1="6270" v2="6272" v3="6273" />
+ <tetrahedron index="22211" v0="3327" v1="3795" v2="4556" v3="5430" />
+ <tetrahedron index="22212" v0="5100" v1="5684" v2="5697" v3="6368" />
+ <tetrahedron index="22213" v0="3751" v1="4118" v2="5400" v3="5691" />
+ <tetrahedron index="22214" v0="4906" v1="5407" v2="5883" v3="6144" />
+ <tetrahedron index="22215" v0="3291" v1="4233" v2="5077" v3="5103" />
+ <tetrahedron index="22216" v0="4857" v1="5403" v2="6104" v3="6648" />
+ <tetrahedron index="22217" v0="5155" v1="5951" v2="6062" v3="6649" />
+ <tetrahedron index="22218" v0="4196" v1="5223" v2="5846" v3="6141" />
+ <tetrahedron index="22219" v0="5015" v1="6167" v2="6594" v3="6721" />
+ <tetrahedron index="22220" v0="3969" v1="5076" v2="5653" v3="5683" />
+ <tetrahedron index="22221" v0="4898" v1="5066" v2="5633" v3="5658" />
+ <tetrahedron index="22222" v0="4953" v1="5810" v2="6461" v3="6464" />
+ <tetrahedron index="22223" v0="4164" v1="4663" v2="4677" v3="6543" />
+ <tetrahedron index="22224" v0="3277" v1="3287" v2="5059" v3="5618" />
+ <tetrahedron index="22225" v0="5057" v1="5379" v2="5610" v3="6031" />
+ <tetrahedron index="22226" v0="4242" v1="5477" v2="5846" v3="6653" />
+ <tetrahedron index="22227" v0="5517" v1="5518" v2="6172" v3="6187" />
+ <tetrahedron index="22228" v0="5282" v1="5921" v2="6025" v3="6543" />
+ <tetrahedron index="22229" v0="3261" v1="3267" v2="3268" v3="3269" />
+ <tetrahedron index="22230" v0="4568" v1="5051" v2="5815" v3="6474" />
+ <tetrahedron index="22231" v0="4941" v1="5132" v2="6314" v3="6506" />
+ <tetrahedron index="22232" v0="3921" v1="4387" v2="5028" v3="5642" />
+ <tetrahedron index="22233" v0="5027" v1="6230" v2="6234" v3="6431" />
+ <tetrahedron index="22234" v0="4705" v1="4740" v2="4741" v3="5459" />
+ <tetrahedron index="22235" v0="4749" v1="4776" v2="5604" v3="5607" />
+ <tetrahedron index="22236" v0="5300" v1="6103" v2="6426" v3="6850" />
+ <tetrahedron index="22237" v0="4321" v1="4504" v2="4562" v3="6621" />
+ <tetrahedron index="22238" v0="4010" v1="5079" v2="5804" v3="6866" />
+ <tetrahedron index="22239" v0="3307" v1="3767" v2="4602" v3="6478" />
+ <tetrahedron index="22240" v0="3672" v1="4344" v2="4345" v3="4505" />
+ <tetrahedron index="22241" v0="5348" v1="5995" v2="6407" v3="6593" />
+ <tetrahedron index="22242" v0="4499" v1="5071" v2="5645" v3="6527" />
+ <tetrahedron index="22243" v0="5134" v1="5178" v2="5733" v3="5786" />
+ <tetrahedron index="22244" v0="5167" v1="6247" v2="6753" v3="6754" />
+ <tetrahedron index="22245" v0="3626" v1="3698" v2="5274" v3="5913" />
+ <tetrahedron index="22246" v0="4589" v1="5298" v2="5314" v3="5956" />
+ <tetrahedron index="22247" v0="3934" v1="4421" v2="5239" v3="6919" />
+ <tetrahedron index="22248" v0="3427" v1="4205" v2="4303" v3="4441" />
+ <tetrahedron index="22249" v0="3786" v1="3835" v2="4551" v3="6033" />
+ <tetrahedron index="22250" v0="5047" v1="6263" v2="6264" v3="6637" />
+ <tetrahedron index="22251" v0="3697" v1="3698" v2="5274" v3="5913" />
+ <tetrahedron index="22252" v0="5100" v1="5684" v2="5697" v3="6830" />
+ <tetrahedron index="22253" v0="4867" v1="5810" v2="6465" v3="6466" />
+ <tetrahedron index="22254" v0="3941" v1="3942" v2="4176" v3="5081" />
+ <tetrahedron index="22255" v0="4900" v1="5236" v2="5860" v3="6505" />
+ <tetrahedron index="22256" v0="3623" v1="4397" v2="5237" v3="5861" />
+ <tetrahedron index="22257" v0="4676" v1="5719" v2="5818" v3="5852" />
+ <tetrahedron index="22258" v0="4746" v1="4837" v2="4844" v3="5352" />
+ <tetrahedron index="22259" v0="3501" v1="3502" v2="3553" v3="5339" />
+ <tetrahedron index="22260" v0="5303" v1="5381" v2="6034" v3="6763" />
+ <tetrahedron index="22261" v0="3980" v1="5222" v2="5843" v3="6491" />
+ <tetrahedron index="22262" v0="5179" v1="5367" v2="6365" v3="6382" />
+ <tetrahedron index="22263" v0="3905" v1="5310" v2="5954" v3="6564" />
+ <tetrahedron index="22264" v0="4305" v1="4354" v2="5508" v3="6418" />
+ <tetrahedron index="22265" v0="4978" v1="6165" v2="6686" v3="6795" />
+ <tetrahedron index="22266" v0="5493" v1="6155" v2="6710" v3="6958" />
+ <tetrahedron index="22267" v0="4512" v1="4627" v2="5164" v3="6776" />
+ <tetrahedron index="22268" v0="4888" v1="4929" v2="5201" v3="5483" />
+ <tetrahedron index="22269" v0="3263" v1="3891" v2="3892" v3="5015" />
+ <tetrahedron index="22270" v0="4018" v1="4035" v2="4764" v3="5822" />
+ <tetrahedron index="22271" v0="3990" v1="5100" v2="5110" v3="5699" />
+ <tetrahedron index="22272" v0="4878" v1="5178" v2="5786" v3="5788" />
+ <tetrahedron index="22273" v0="5204" v1="5205" v2="5821" v3="5823" />
+ <tetrahedron index="22274" v0="5264" v1="5689" v2="5899" v3="6531" />
+ <tetrahedron index="22275" v0="4938" v1="5993" v2="6093" v3="6668" />
+ <tetrahedron index="22276" v0="3388" v1="3389" v2="4571" v3="5592" />
+ <tetrahedron index="22277" v0="3626" v1="3697" v2="3698" v3="5913" />
+ <tetrahedron index="22278" v0="4959" v1="5402" v2="5404" v3="6061" />
+ <tetrahedron index="22279" v0="4939" v1="5996" v2="6595" v3="6848" />
+ <tetrahedron index="22280" v0="5158" v1="5766" v2="5981" v3="6138" />
+ <tetrahedron index="22281" v0="3454" v1="3766" v2="5210" v3="5825" />
+ <tetrahedron index="22282" v0="5318" v1="6080" v2="6428" v3="6571" />
+ <tetrahedron index="22283" v0="4949" v1="5026" v2="5552" v3="5555" />
+ <tetrahedron index="22284" v0="3338" v1="4485" v2="5334" v3="5765" />
+ <tetrahedron index="22285" v0="3521" v1="5357" v2="6009" v3="6606" />
+ <tetrahedron index="22286" v0="5031" v1="5564" v2="6238" v3="6240" />
+ <tetrahedron index="22287" v0="3594" v1="3595" v2="3596" v3="6132" />
+ <tetrahedron index="22288" v0="4901" v1="5241" v2="5867" v3="5868" />
+ <tetrahedron index="22289" v0="3673" v1="3807" v2="3932" v3="5977" />
+ <tetrahedron index="22290" v0="3235" v1="4977" v2="5452" v3="5776" />
+ <tetrahedron index="22291" v0="3775" v1="3982" v2="4191" v3="5278" />
+ <tetrahedron index="22292" v0="5161" v1="5643" v2="5774" v3="5930" />
+ <tetrahedron index="22293" v0="3732" v1="5014" v2="5808" v3="6834" />
+ <tetrahedron index="22294" v0="5006" v1="5513" v2="5910" v3="6178" />
+ <tetrahedron index="22295" v0="5307" v1="5570" v2="6244" v3="6748" />
+ <tetrahedron index="22296" v0="4920" v1="5293" v2="5774" v3="5930" />
+ <tetrahedron index="22297" v0="3294" v1="5021" v2="5836" v3="6214" />
+ <tetrahedron index="22298" v0="4882" v1="5188" v2="6092" v3="6769" />
+ <tetrahedron index="22299" v0="4975" v1="5449" v2="5865" v3="6507" />
+ <tetrahedron index="22300" v0="4245" v1="5680" v2="6353" v3="6827" />
+ <tetrahedron index="22301" v0="4908" v1="5102" v2="5704" v3="6360" />
+ <tetrahedron index="22302" v0="6054" v1="6485" v2="6561" v3="6874" />
+ <tetrahedron index="22303" v0="3447" v1="4881" v2="5502" v3="5803" />
+ <tetrahedron index="22304" v0="4215" v1="4275" v2="4586" v3="5178" />
+ <tetrahedron index="22305" v0="4918" v1="5421" v2="5958" v3="6567" />
+ <tetrahedron index="22306" v0="3715" v1="3987" v2="4357" v3="5074" />
+ <tetrahedron index="22307" v0="4659" v1="4717" v2="4741" v3="5462" />
+ <tetrahedron index="22308" v0="5051" v1="5598" v2="5817" v3="6472" />
+ <tetrahedron index="22309" v0="5160" v1="5770" v2="5773" v3="6437" />
+ <tetrahedron index="22310" v0="3833" v1="3834" v2="5679" v3="6986" />
+ <tetrahedron index="22311" v0="3719" v1="3900" v2="4061" v3="5203" />
+ <tetrahedron index="22312" v0="4377" v1="4808" v2="5687" v3="5837" />
+ <tetrahedron index="22313" v0="4143" v1="5367" v2="5714" v3="6383" />
+ <tetrahedron index="22314" v0="4905" v1="5879" v2="6520" v3="6946" />
+ <tetrahedron index="22315" v0="3689" v1="3690" v2="4474" v3="5593" />
+ <tetrahedron index="22316" v0="3674" v1="5232" v2="5233" v3="5855" />
+ <tetrahedron index="22317" v0="4056" v1="4651" v2="5330" v3="6026" />
+ <tetrahedron index="22318" v0="4239" v1="6324" v2="6395" v3="6698" />
+ <tetrahedron index="22319" v0="3969" v1="4212" v2="5683" v3="6355" />
+ <tetrahedron index="22320" v0="3933" v1="4316" v2="4317" v3="5609" />
+ <tetrahedron index="22321" v0="3768" v1="3845" v2="3966" v3="5854" />
+ <tetrahedron index="22322" v0="4004" v1="4483" v2="4516" v3="6400" />
+ <tetrahedron index="22323" v0="3309" v1="3846" v2="5294" v3="5506" />
+ <tetrahedron index="22324" v0="4522" v1="4657" v2="5499" v3="6164" />
+ <tetrahedron index="22325" v0="3271" v1="3273" v2="5137" v3="5735" />
+ <tetrahedron index="22326" v0="4202" v1="4352" v2="5368" v3="6614" />
+ <tetrahedron index="22327" v0="4011" v1="4012" v2="5230" v3="6385" />
+ <tetrahedron index="22328" v0="4773" v1="5540" v2="6211" v3="6745" />
+ <tetrahedron index="22329" v0="3304" v1="3305" v2="4063" v3="5653" />
+ <tetrahedron index="22330" v0="5197" v1="5451" v2="6177" v3="6730" />
+ <tetrahedron index="22331" v0="3429" v1="5254" v2="6375" v3="6684" />
+ <tetrahedron index="22332" v0="3252" v1="3964" v2="4502" v3="6425" />
+ <tetrahedron index="22333" v0="3528" v1="4016" v2="5442" v3="6549" />
+ <tetrahedron index="22334" v0="5218" v1="5858" v2="5859" v3="6503" />
+ <tetrahedron index="22335" v0="4964" v1="5458" v2="6120" v3="6122" />
+ <tetrahedron index="22336" v0="4881" v1="5187" v2="5799" v3="5804" />
+ <tetrahedron index="22337" v0="4901" v1="5239" v2="5241" v3="5868" />
+ <tetrahedron index="22338" v0="4908" v1="5644" v2="5887" v3="6527" />
+ <tetrahedron index="22339" v0="4568" v1="4726" v2="4780" v3="6474" />
+ <tetrahedron index="22340" v0="5097" v1="5680" v2="6353" v3="6827" />
+ <tetrahedron index="22341" v0="4524" v1="4532" v2="4596" v3="5515" />
+ <tetrahedron index="22342" v0="3755" v1="4590" v2="5135" v3="6356" />
+ <tetrahedron index="22343" v0="3514" v1="5635" v2="6068" v3="6651" />
+ <tetrahedron index="22344" v0="4456" v1="5256" v2="6078" v3="6822" />
+ <tetrahedron index="22345" v0="3319" v1="4389" v2="5633" v3="6008" />
+ <tetrahedron index="22346" v0="4280" v1="5139" v2="5703" v3="5736" />
+ <tetrahedron index="22347" v0="3624" v1="4661" v2="5235" v3="5858" />
+ <tetrahedron index="22348" v0="4900" v1="5236" v2="5238" v3="5543" />
+ <tetrahedron index="22349" v0="3917" v1="5142" v2="5542" v3="5863" />
+ <tetrahedron index="22350" v0="3378" v1="3603" v2="5202" v3="5820" />
+ <tetrahedron index="22351" v0="4123" v1="5131" v2="5161" v3="5641" />
+ <tetrahedron index="22352" v0="4388" v1="5066" v2="5634" v3="6609" />
+ <tetrahedron index="22353" v0="4512" v1="5164" v2="5333" v3="6133" />
+ <tetrahedron index="22354" v0="3381" v1="3507" v2="3508" v3="5492" />
+ <tetrahedron index="22355" v0="3430" v1="3958" v2="6375" v3="6528" />
+ <tetrahedron index="22356" v0="4954" v1="5394" v2="6578" v3="6635" />
+ <tetrahedron index="22357" v0="4837" v1="4839" v2="5194" v3="5815" />
+ <tetrahedron index="22358" v0="3938" v1="5119" v2="5709" v3="6379" />
+ <tetrahedron index="22359" v0="5512" v1="6176" v2="6301" v3="7028" />
+ <tetrahedron index="22360" v0="3499" v1="5102" v2="5254" v3="5688" />
+ <tetrahedron index="22361" v0="5558" v1="6230" v2="6746" v3="6747" />
+ <tetrahedron index="22362" v0="4963" v1="5632" v2="6313" v3="6951" />
+ <tetrahedron index="22363" v0="5481" v1="6219" v2="6253" v3="6573" />
+ <tetrahedron index="22364" v0="4709" v1="5158" v2="5337" v3="5766" />
+ <tetrahedron index="22365" v0="4881" v1="5502" v2="5591" v3="6455" />
+ <tetrahedron index="22366" v0="5102" v1="5688" v2="5887" v3="6360" />
+ <tetrahedron index="22367" v0="3718" v1="5105" v2="5203" v3="5691" />
+ <tetrahedron index="22368" v0="5470" v1="6110" v2="6111" v3="6682" />
+ <tetrahedron index="22369" v0="4939" v1="5352" v2="6002" v3="6003" />
+ <tetrahedron index="22370" v0="6794" v1="6959" v2="7021" v3="7025" />
+ <tetrahedron index="22371" v0="4966" v1="5422" v2="5423" v3="6082" />
+ <tetrahedron index="22372" v0="3541" v1="4740" v2="5457" v3="6119" />
+ <tetrahedron index="22373" v0="5527" v1="6117" v2="6200" v3="6201" />
+ <tetrahedron index="22374" v0="4110" v1="4264" v2="4281" v3="5481" />
+ <tetrahedron index="22375" v0="4919" v1="5288" v2="5289" v3="5928" />
+ <tetrahedron index="22376" v0="3346" v1="3536" v2="5113" v3="6113" />
+ <tetrahedron index="22377" v0="5875" v1="6105" v2="6289" v3="6689" />
+ <tetrahedron index="22378" v0="5176" v1="5580" v2="6255" v3="6446" />
+ <tetrahedron index="22379" v0="3400" v1="3768" v2="3769" v3="6501" />
+ <tetrahedron index="22380" v0="4914" v1="5095" v2="5705" v3="5908" />
+ <tetrahedron index="22381" v0="4951" v1="4974" v2="5133" v3="6061" />
+ <tetrahedron index="22382" v0="3538" v1="3800" v2="3872" v3="5295" />
+ <tetrahedron index="22383" v0="5300" v1="6331" v2="6563" v3="6729" />
+ <tetrahedron index="22384" v0="4423" v1="5376" v2="6025" v3="6026" />
+ <tetrahedron index="22385" v0="4008" v1="4010" v2="4412" v3="6455" />
+ <tetrahedron index="22386" v0="3352" v1="4456" v2="6338" v3="6822" />
+ <tetrahedron index="22387" v0="5614" v1="5877" v2="6287" v3="6792" />
+ <tetrahedron index="22388" v0="3631" v1="3879" v2="5173" v3="5251" />
+ <tetrahedron index="22389" v0="4945" v1="5718" v2="6386" v3="6449" />
+ <tetrahedron index="22390" v0="4377" v1="4378" v2="4808" v3="5687" />
+ <tetrahedron index="22391" v0="3762" v1="3957" v2="5706" v3="6377" />
+ <tetrahedron index="22392" v0="4648" v1="5347" v2="5360" v3="6012" />
+ <tetrahedron index="22393" v0="4466" v1="5171" v2="5424" v3="6085" />
+ <tetrahedron index="22394" v0="6166" v1="6675" v2="6719" v3="6929" />
+ <tetrahedron index="22395" v0="3905" v1="5311" v2="5954" v3="6565" />
+ <tetrahedron index="22396" v0="4006" v1="4320" v2="4373" v3="5286" />
+ <tetrahedron index="22397" v0="4009" v1="4048" v2="5799" v3="5804" />
+ <tetrahedron index="22398" v0="5067" v1="5370" v2="5408" v3="6067" />
+ <tetrahedron index="22399" v0="3247" v1="3446" v2="3693" v3="5364" />
+ <tetrahedron index="22400" v0="4624" v1="4625" v2="5649" v3="6269" />
+ <tetrahedron index="22401" v0="5438" v1="5878" v2="6517" v3="6519" />
+ <tetrahedron index="22402" v0="6154" v1="6710" v2="6711" v3="6958" />
+ <tetrahedron index="22403" v0="4868" v1="5159" v2="6204" v3="6432" />
+ <tetrahedron index="22404" v0="3363" v1="4115" v2="5671" v3="6345" />
+ <tetrahedron index="22405" v0="4628" v1="5013" v2="5049" v3="5594" />
+ <tetrahedron index="22406" v0="4475" v1="4477" v2="4735" v3="5092" />
+ <tetrahedron index="22407" v0="5114" v1="5208" v2="5826" v3="5828" />
+ <tetrahedron index="22408" v0="4593" v1="4729" v2="5233" v3="5856" />
+ <tetrahedron index="22409" v0="3612" v1="3613" v2="3614" v3="5473" />
+ <tetrahedron index="22410" v0="5050" v1="5597" v2="6269" v3="6327" />
+ <tetrahedron index="22411" v0="5044" v1="5584" v2="5934" v3="5935" />
+ <tetrahedron index="22412" v0="3456" v1="3738" v2="3749" v3="5579" />
+ <tetrahedron index="22413" v0="5996" v1="6879" v2="6906" v3="6967" />
+ <tetrahedron index="22414" v0="3657" v1="5473" v2="5709" v3="6436" />
+ <tetrahedron index="22415" v0="4095" v1="4558" v2="5376" v3="5919" />
+ <tetrahedron index="22416" v0="5063" v1="6073" v2="6303" v3="6304" />
+ <tetrahedron index="22417" v0="4747" v1="4829" v2="5574" v3="6768" />
+ <tetrahedron index="22418" v0="3590" v1="3591" v2="5565" v3="5685" />
+ <tetrahedron index="22419" v0="5271" v1="5513" v2="5910" v3="6731" />
+ <tetrahedron index="22420" v0="4250" v1="4373" v2="4507" v3="5926" />
+ <tetrahedron index="22421" v0="3947" v1="4419" v2="5522" v3="6175" />
+ <tetrahedron index="22422" v0="4915" v1="5277" v2="5629" v3="5916" />
+ <tetrahedron index="22423" v0="4467" v1="5009" v2="5519" v3="6191" />
+ <tetrahedron index="22424" v0="3928" v1="4298" v2="5684" v3="6986" />
+ <tetrahedron index="22425" v0="3928" v1="4359" v2="5096" v3="5684" />
+ <tetrahedron index="22426" v0="4855" v1="4912" v2="4929" v3="4989" />
+ <tetrahedron index="22427" v0="3576" v1="3793" v2="3887" v3="5785" />
+ <tetrahedron index="22428" v0="4070" v1="4248" v2="5498" v3="6161" />
+ <tetrahedron index="22429" v0="3459" v1="5245" v2="6285" v3="6888" />
+ <tetrahedron index="22430" v0="4894" v1="6054" v2="6485" v3="6642" />
+ <tetrahedron index="22431" v0="6055" v1="6098" v2="6099" v3="6644" />
+ <tetrahedron index="22432" v0="4072" v1="4282" v2="4680" v3="6162" />
+ <tetrahedron index="22433" v0="4193" v1="4296" v2="5413" v3="5414" />
+ <tetrahedron index="22434" v0="4208" v1="4275" v2="5733" v3="5786" />
+ <tetrahedron index="22435" v0="3901" v1="4643" v2="5637" v3="5638" />
+ <tetrahedron index="22436" v0="4180" v1="5598" v2="6192" v3="6273" />
+ <tetrahedron index="22437" v0="5232" v1="5261" v2="5899" v3="6502" />
+ <tetrahedron index="22438" v0="4936" v1="6625" v2="6807" v3="6983" />
+ <tetrahedron index="22439" v0="3588" v1="5392" v2="6051" v3="6926" />
+ <tetrahedron index="22440" v0="4942" v1="5359" v2="5682" v3="6354" />
+ <tetrahedron index="22441" v0="4159" v1="4160" v2="4237" v3="4812" />
+ <tetrahedron index="22442" v0="4537" v1="4548" v2="4628" v3="5594" />
+ <tetrahedron index="22443" v0="6430" v1="6569" v2="6909" v3="7023" />
+ <tetrahedron index="22444" v0="3989" v1="4310" v2="4591" v3="6357" />
+ <tetrahedron index="22445" v0="3697" v1="5359" v2="5913" v3="6354" />
+ <tetrahedron index="22446" v0="3707" v1="3708" v2="4228" v3="5436" />
+ <tetrahedron index="22447" v0="4936" v1="5983" v2="6807" v3="6899" />
+ <tetrahedron index="22448" v0="3981" v1="5101" v2="5689" v3="5854" />
+ <tetrahedron index="22449" v0="3873" v1="4073" v2="4099" v3="5089" />
+ <tetrahedron index="22450" v0="4901" v1="5132" v2="5241" v3="5870" />
+ <tetrahedron index="22451" v0="4258" v1="4614" v2="6074" v3="6867" />
+ <tetrahedron index="22452" v0="3736" v1="3737" v2="4436" v3="5905" />
+ <tetrahedron index="22453" v0="3465" v1="3801" v2="3862" v3="5780" />
+ <tetrahedron index="22454" v0="4650" v1="4764" v2="5822" v3="6873" />
+ <tetrahedron index="22455" v0="3401" v1="5114" v2="6801" v3="6803" />
+ <tetrahedron index="22456" v0="4952" v1="5098" v2="5387" v3="6037" />
+ <tetrahedron index="22457" v0="5656" v1="5761" v2="6541" v3="6729" />
+ <tetrahedron index="22458" v0="3820" v1="3821" v2="5044" v3="5584" />
+ <tetrahedron index="22459" v0="4362" v1="5082" v2="5090" v3="5673" />
+ <tetrahedron index="22460" v0="3770" v1="4328" v2="4609" v3="5321" />
+ <tetrahedron index="22461" v0="4341" v1="4779" v2="6172" v3="6185" />
+ <tetrahedron index="22462" v0="4858" v1="5751" v2="6408" v3="6469" />
+ <tetrahedron index="22463" v0="4981" v1="5760" v2="6072" v3="6131" />
+ <tetrahedron index="22464" v0="4990" v1="5481" v2="5770" v3="6147" />
+ <tetrahedron index="22465" v0="5216" v1="5218" v2="5837" v3="5858" />
+ <tetrahedron index="22466" v0="4502" v1="5156" v2="5413" v3="6071" />
+ <tetrahedron index="22467" v0="6121" v1="6128" v2="6694" v3="6695" />
+ <tetrahedron index="22468" v0="3786" v1="3991" v2="5148" v3="6580" />
+ <tetrahedron index="22469" v0="4035" v1="5666" v2="6339" v3="6823" />
+ <tetrahedron index="22470" v0="5083" v1="5766" v2="6138" v3="6831" />
+ <tetrahedron index="22471" v0="3675" v1="3796" v2="5544" v3="5891" />
+ <tetrahedron index="22472" v0="4746" v1="4805" v2="5353" v3="6601" />
+ <tetrahedron index="22473" v0="3596" v1="3747" v2="4134" v3="5333" />
+ <tetrahedron index="22474" v0="5272" v1="5273" v2="5909" v3="5911" />
+ <tetrahedron index="22475" v0="3798" v1="3802" v2="4678" v3="5267" />
+ <tetrahedron index="22476" v0="3558" v1="3560" v2="5043" v3="5162" />
+ <tetrahedron index="22477" v0="3312" v1="3407" v2="3930" v3="5288" />
+ <tetrahedron index="22478" v0="5147" v1="5637" v2="5743" v3="6317" />
+ <tetrahedron index="22479" v0="4629" v1="4631" v2="5475" v3="6420" />
+ <tetrahedron index="22480" v0="4810" v1="5426" v2="5428" v3="5430" />
+ <tetrahedron index="22481" v0="5281" v1="5921" v2="6028" v3="6544" />
+ <tetrahedron index="22482" v0="5205" v1="5821" v2="5824" v3="5955" />
+ <tetrahedron index="22483" v0="3435" v1="3437" v2="4501" v3="5331" />
+ <tetrahedron index="22484" v0="4290" v1="4456" v2="5256" v3="6078" />
+ <tetrahedron index="22485" v0="3417" v1="3640" v2="3661" v3="6647" />
+ <tetrahedron index="22486" v0="5197" v1="6176" v2="6427" v3="6652" />
+ <tetrahedron index="22487" v0="4325" v1="5303" v2="5304" v3="5306" />
+ <tetrahedron index="22488" v0="3450" v1="3451" v2="3452" v3="5242" />
+ <tetrahedron index="22489" v0="3379" v1="4989" v2="5038" v3="5480" />
+ <tetrahedron index="22490" v0="4174" v1="5263" v2="5897" v3="5898" />
+ <tetrahedron index="22491" v0="4011" v1="4037" v2="4074" v3="6385" />
+ <tetrahedron index="22492" v0="3655" v1="4437" v2="4647" v3="5159" />
+ <tetrahedron index="22493" v0="4653" v1="4654" v2="5957" v3="6873" />
+ <tetrahedron index="22494" v0="3835" v1="4551" v2="5381" v3="6033" />
+ <tetrahedron index="22495" v0="3755" v1="4590" v2="4591" v3="5135" />
+ <tetrahedron index="22496" v0="3579" v1="3662" v2="3663" v3="5724" />
+ <tetrahedron index="22497" v0="4586" v1="5178" v2="5733" v3="5786" />
+ <tetrahedron index="22498" v0="4927" v1="5089" v2="5671" v3="6343" />
+ <tetrahedron index="22499" v0="3261" v1="5038" v2="5069" v3="5640" />
+ <tetrahedron index="22500" v0="3909" v1="5271" v2="5907" v3="6730" />
+ <tetrahedron index="22501" v0="4913" v1="6073" v2="6536" v3="6800" />
+ <tetrahedron index="22502" v0="3302" v1="3396" v2="5219" v3="5838" />
+ <tetrahedron index="22503" v0="3712" v1="5398" v2="5735" v3="6057" />
+ <tetrahedron index="22504" v0="4994" v1="5489" v2="6183" v3="6184" />
+ <tetrahedron index="22505" v0="5322" v1="5707" v2="5968" v3="6379" />
+ <tetrahedron index="22506" v0="4495" v1="4656" v2="6007" v3="6777" />
+ <tetrahedron index="22507" v0="6279" v1="6804" v2="6843" v3="6995" />
+ <tetrahedron index="22508" v0="5128" v1="5406" v2="5480" v3="6144" />
+ <tetrahedron index="22509" v0="4870" v1="5028" v2="5070" v3="5641" />
+ <tetrahedron index="22510" v0="3513" v1="4364" v2="4402" v3="5585" />
+ <tetrahedron index="22511" v0="3585" v1="4219" v2="5302" v3="5638" />
+ <tetrahedron index="22512" v0="3383" v1="3384" v2="3385" v3="4029" />
+ <tetrahedron index="22513" v0="3273" v1="3378" v2="5137" v3="5735" />
+ <tetrahedron index="22514" v0="6292" v1="6443" v2="6864" v3="6976" />
+ <tetrahedron index="22515" v0="3664" v1="3666" v2="5250" v3="6328" />
+ <tetrahedron index="22516" v0="3286" v1="5398" v2="5514" v3="6058" />
+ <tetrahedron index="22517" v0="4715" v1="5245" v2="5722" v3="6200" />
+ <tetrahedron index="22518" v0="3696" v1="5273" v2="5513" v3="6178" />
+ <tetrahedron index="22519" v0="4474" v1="4530" v2="5525" v3="6197" />
+ <tetrahedron index="22520" v0="3332" v1="4656" v2="5355" v3="6007" />
+ <tetrahedron index="22521" v0="3701" v1="3702" v2="3703" v3="5067" />
+ <tetrahedron index="22522" v0="5393" v1="6047" v2="6048" v3="6631" />
+ <tetrahedron index="22523" v0="4969" v1="5000" v2="5500" v3="6453" />
+ <tetrahedron index="22524" v0="4433" v1="5218" v2="5858" v3="5859" />
+ <tetrahedron index="22525" v0="5528" v1="6159" v2="6716" v3="6740" />
+ <tetrahedron index="22526" v0="6054" v1="6637" v2="6642" v3="6874" />
+ <tetrahedron index="22527" v0="4538" v1="5335" v2="5337" v3="5765" />
+ <tetrahedron index="22528" v0="3567" v1="4260" v2="5681" v3="6354" />
+ <tetrahedron index="22529" v0="4878" v1="5176" v2="6255" v3="6446" />
+ <tetrahedron index="22530" v0="3817" v1="4331" v2="4332" v3="5429" />
+ <tetrahedron index="22531" v0="4104" v1="4823" v2="5082" v3="5657" />
+ <tetrahedron index="22532" v0="4093" v1="4154" v2="5146" v3="5147" />
+ <tetrahedron index="22533" v0="4892" v1="5214" v2="5563" v3="5622" />
+ <tetrahedron index="22534" v0="3533" v1="4283" v2="5114" v3="5242" />
+ <tetrahedron index="22535" v0="5213" v1="5566" v2="5831" v3="6760" />
+ <tetrahedron index="22536" v0="6182" v1="6286" v2="6287" v3="6790" />
+ <tetrahedron index="22537" v0="4918" v1="6079" v2="6082" v3="6570" />
+ <tetrahedron index="22538" v0="3703" v1="4464" v2="4465" v3="6038" />
+ <tetrahedron index="22539" v0="3917" v1="4096" v2="5142" v3="5863" />
+ <tetrahedron index="22540" v0="3451" v1="3452" v2="5242" v3="5871" />
+ <tetrahedron index="22541" v0="5004" v1="6418" v2="6602" v3="6724" />
+ <tetrahedron index="22542" v0="3546" v1="3830" v2="5418" v3="6077" />
+ <tetrahedron index="22543" v0="4468" v1="5519" v2="6190" v3="6738" />
+ <tetrahedron index="22544" v0="5345" v1="6094" v2="6670" v3="6940" />
+ <tetrahedron index="22545" v0="4731" v1="5395" v2="6050" v3="6154" />
+ <tetrahedron index="22546" v0="4063" v1="4309" v2="5076" v3="5653" />
+ <tetrahedron index="22547" v0="5157" v1="6308" v2="6764" v3="6805" />
+ <tetrahedron index="22548" v0="4385" v1="4534" v2="5946" v3="6244" />
+ <tetrahedron index="22549" v0="3723" v1="3863" v2="4226" v3="5897" />
+ <tetrahedron index="22550" v0="6044" v1="6627" v2="6808" v3="6924" />
+ <tetrahedron index="22551" v0="5055" v1="5854" v2="6358" v3="6501" />
+ <tetrahedron index="22552" v0="3241" v1="3365" v2="5692" v3="6178" />
+ <tetrahedron index="22553" v0="3270" v1="4959" v2="5133" v3="5406" />
+ <tetrahedron index="22554" v0="4990" v1="5481" v2="6434" v3="6573" />
+ <tetrahedron index="22555" v0="4479" v1="4865" v2="5069" v3="5640" />
+ <tetrahedron index="22556" v0="4649" v1="5216" v2="5687" v3="5837" />
+ <tetrahedron index="22557" v0="5764" v1="6557" v2="6757" v3="6805" />
+ <tetrahedron index="22558" v0="4463" v1="4673" v2="5121" v3="5711" />
+ <tetrahedron index="22559" v0="4908" v1="5704" v2="5888" v3="6113" />
+ <tetrahedron index="22560" v0="4927" v1="5671" v2="6343" v3="6344" />
+ <tetrahedron index="22561" v0="3470" v1="3473" v2="3634" v3="5773" />
+ <tetrahedron index="22562" v0="4974" v1="5445" v2="5783" v3="6444" />
+ <tetrahedron index="22563" v0="5170" v1="6106" v2="6443" v3="6913" />
+ <tetrahedron index="22564" v0="3680" v1="4167" v2="4421" v3="6919" />
+ <tetrahedron index="22565" v0="4384" v1="4446" v2="6210" v3="6746" />
+ <tetrahedron index="22566" v0="6140" v1="6642" v2="6645" v3="6703" />
+ <tetrahedron index="22567" v0="4051" v1="4593" v2="4729" v3="5856" />
+ <tetrahedron index="22568" v0="3318" v1="4104" v2="4898" v3="5658" />
+ <tetrahedron index="22569" v0="6687" v1="6784" v2="6949" v3="7015" />
+ <tetrahedron index="22570" v0="3752" v1="3753" v2="4578" v3="5289" />
+ <tetrahedron index="22571" v0="4979" v1="5084" v2="5660" v3="5773" />
+ <tetrahedron index="22572" v0="3307" v1="3685" v2="5243" v3="6478" />
+ <tetrahedron index="22573" v0="4296" v1="5412" v2="5413" v3="5414" />
+ <tetrahedron index="22574" v0="5203" v1="5206" v2="5821" v3="6825" />
+ <tetrahedron index="22575" v0="5128" v1="5406" v2="6066" v3="6144" />
+ <tetrahedron index="22576" v0="4088" v1="4445" v2="5188" v3="6249" />
+ <tetrahedron index="22577" v0="3947" v1="4390" v2="4420" v3="5522" />
+ <tetrahedron index="22578" v0="3593" v1="3617" v2="5467" v3="5780" />
+ <tetrahedron index="22579" v0="4209" v1="4211" v2="4551" v3="6552" />
+ <tetrahedron index="22580" v0="3751" v1="5399" v2="5400" v3="5691" />
+ <tetrahedron index="22581" v0="3818" v1="3870" v2="3871" v3="5729" />
+ <tetrahedron index="22582" v0="4542" v1="5338" v2="6095" v3="6319" />
+ <tetrahedron index="22583" v0="5019" v1="5519" v2="6190" v3="6624" />
+ <tetrahedron index="22584" v0="3838" v1="5120" v2="5710" v3="6089" />
+ <tetrahedron index="22585" v0="4245" v1="4969" v2="5432" v3="5680" />
+ <tetrahedron index="22586" v0="5108" v1="5182" v2="5714" v3="6382" />
+ <tetrahedron index="22587" v0="6204" v1="6373" v2="6374" v3="6832" />
+ <tetrahedron index="22588" v0="4515" v1="5072" v2="5850" v3="6499" />
+ <tetrahedron index="22589" v0="5105" v1="5690" v2="5822" v3="6823" />
+ <tetrahedron index="22590" v0="4050" v1="5186" v2="5187" v3="5801" />
+ <tetrahedron index="22591" v0="3304" v1="3305" v2="5034" v3="5653" />
+ <tetrahedron index="22592" v0="3773" v1="3775" v2="5862" v3="5920" />
+ <tetrahedron index="22593" v0="3260" v1="4479" v2="5308" v3="5640" />
+ <tetrahedron index="22594" v0="4940" v1="5354" v2="6203" v3="6993" />
+ <tetrahedron index="22595" v0="3282" v1="3383" v2="3384" v3="5382" />
+ <tetrahedron index="22596" v0="5355" v1="5730" v2="5779" v3="6006" />
+ <tetrahedron index="22597" v0="4939" v1="5348" v2="6002" v3="6407" />
+ <tetrahedron index="22598" v0="3854" v1="5380" v2="5381" v3="6032" />
+ <tetrahedron index="22599" v0="3417" v1="3418" v2="3419" v3="5666" />
+ <tetrahedron index="22600" v0="3779" v1="3780" v2="3781" v3="6578" />
+ <tetrahedron index="22601" v0="3742" v1="3743" v2="3919" v3="5281" />
+ <tetrahedron index="22602" v0="4832" v1="5495" v2="6740" v3="6741" />
+ <tetrahedron index="22603" v0="4881" v1="5591" v2="5803" v3="5804" />
+ <tetrahedron index="22604" v0="4990" v1="5481" v2="6146" v3="6147" />
+ <tetrahedron index="22605" v0="3544" v1="4577" v2="4701" v3="5452" />
+ <tetrahedron index="22606" v0="5047" v1="5590" v2="6264" v3="6265" />
+ <tetrahedron index="22607" v0="3395" v1="4318" v2="5479" v3="6143" />
+ <tetrahedron index="22608" v0="3297" v1="5217" v2="5836" v3="6483" />
+ <tetrahedron index="22609" v0="4736" v1="4752" v2="5478" v3="5843" />
+ <tetrahedron index="22610" v0="5598" v1="6270" v2="6273" v3="6472" />
+ <tetrahedron index="22611" v0="3627" v1="3628" v2="3679" v3="5373" />
+ <tetrahedron index="22612" v0="5020" v1="6209" v2="6210" v3="6747" />
+ <tetrahedron index="22613" v0="5311" v1="5954" v2="6564" v3="6565" />
+ <tetrahedron index="22614" v0="3389" v1="3390" v2="5118" v3="5706" />
+ <tetrahedron index="22615" v0="4455" v1="4613" v2="5020" v3="6210" />
+ <tetrahedron index="22616" v0="3615" v1="3988" v2="5209" v3="5828" />
+ <tetrahedron index="22617" v0="3474" v1="3475" v2="5545" v3="5892" />
+ <tetrahedron index="22618" v0="4415" v1="4448" v2="5283" v3="5863" />
+ <tetrahedron index="22619" v0="4938" v1="6093" v2="6668" v3="6778" />
+ <tetrahedron index="22620" v0="5636" v1="5639" v2="6316" v3="6811" />
+ <tetrahedron index="22621" v0="4878" v1="4967" v2="5177" v3="5425" />
+ <tetrahedron index="22622" v0="4756" v1="4781" v2="4782" v3="5823" />
+ <tetrahedron index="22623" v0="4927" v1="5089" v2="5936" v3="6346" />
+ <tetrahedron index="22624" v0="3290" v1="3424" v2="3554" v3="5534" />
+ <tetrahedron index="22625" v0="4907" v1="5075" v2="5652" v3="6240" />
+ <tetrahedron index="22626" v0="3423" v1="4734" v2="5172" v3="5173" />
+ <tetrahedron index="22627" v0="4870" v1="5028" v2="5070" v3="5642" />
+ <tetrahedron index="22628" v0="4670" v1="4752" v2="4822" v3="6998" />
+ <tetrahedron index="22629" v0="3599" v1="3788" v2="5532" v3="6742" />
+ <tetrahedron index="22630" v0="5112" v1="5736" v2="6252" v3="6399" />
+ <tetrahedron index="22631" v0="3999" v1="4463" v2="4673" v3="5121" />
+ <tetrahedron index="22632" v0="4975" v1="5447" v2="6107" v3="6680" />
+ <tetrahedron index="22633" v0="4042" v1="4780" v2="5598" v3="6474" />
+ <tetrahedron index="22634" v0="3376" v1="3378" v2="5137" v3="5820" />
+ <tetrahedron index="22635" v0="3548" v1="3549" v2="4684" v3="5301" />
+ <tetrahedron index="22636" v0="3233" v1="3345" v2="4510" v3="5163" />
+ <tetrahedron index="22637" v0="3915" v1="3925" v2="3926" v3="5326" />
+ <tetrahedron index="22638" v0="3280" v1="3286" v2="5901" v3="6058" />
+ <tetrahedron index="22639" v0="5075" v1="5566" v2="6239" v3="6240" />
+ <tetrahedron index="22640" v0="4910" v1="5260" v2="5568" v3="5896" />
+ <tetrahedron index="22641" v0="4867" v1="5810" v2="6466" v3="6467" />
+ <tetrahedron index="22642" v0="5108" v1="5225" v2="5695" v3="6365" />
+ <tetrahedron index="22643" v0="4875" v1="5524" v2="5590" v3="6060" />
+ <tetrahedron index="22644" v0="4131" v1="5500" v2="5501" v3="6088" />
+ <tetrahedron index="22645" v0="4846" v1="6065" v2="6101" v3="6524" />
+ <tetrahedron index="22646" v0="3341" v1="3717" v2="4509" v3="5661" />
+ <tetrahedron index="22647" v0="3946" v1="4611" v2="5244" v3="5722" />
+ <tetrahedron index="22648" v0="3619" v1="3620" v2="5663" v3="6498" />
+ <tetrahedron index="22649" v0="4179" v1="5497" v2="5669" v3="5798" />
+ <tetrahedron index="22650" v0="5594" v1="5668" v2="6439" v3="6860" />
+ <tetrahedron index="22651" v0="3413" v1="3496" v2="5447" v3="5449" />
+ <tetrahedron index="22652" v0="3319" v1="4719" v2="5633" v3="6008" />
+ <tetrahedron index="22653" v0="5166" v1="6281" v2="6630" v3="6633" />
+ <tetrahedron index="22654" v0="4408" v1="4583" v2="5071" v3="5647" />
+ <tetrahedron index="22655" v0="5301" v1="5833" v2="5939" v3="6479" />
+ <tetrahedron index="22656" v0="4293" v1="4529" v2="5000" v3="5500" />
+ <tetrahedron index="22657" v0="4969" v1="5048" v2="5501" v3="5591" />
+ <tetrahedron index="22658" v0="4028" v1="4157" v2="4759" v3="4774" />
+ <tetrahedron index="22659" v0="3276" v1="3376" v2="5137" v3="5820" />
+ <tetrahedron index="22660" v0="3249" v1="3264" v2="3372" v3="5623" />
+ <tetrahedron index="22661" v0="5035" v1="5569" v2="5571" v3="6243" />
+ <tetrahedron index="22662" v0="4863" v1="5439" v2="5503" v3="6100" />
+ <tetrahedron index="22663" v0="4853" v1="4875" v2="5011" v3="5882" />
+ <tetrahedron index="22664" v0="3745" v1="4372" v2="5171" v3="5581" />
+ <tetrahedron index="22665" v0="5556" v1="6461" v2="6466" v3="6745" />
+ <tetrahedron index="22666" v0="4976" v1="5450" v2="5451" v3="6111" />
+ <tetrahedron index="22667" v0="4122" v1="4123" v2="4199" v3="5641" />
+ <tetrahedron index="22668" v0="3587" v1="4584" v2="4585" v3="6045" />
+ <tetrahedron index="22669" v0="4037" v1="4038" v2="4163" v3="5123" />
+ <tetrahedron index="22670" v0="4938" v1="5009" v2="6585" v3="6940" />
+ <tetrahedron index="22671" v0="3569" v1="4131" v2="5500" v3="6088" />
+ <tetrahedron index="22672" v0="4929" v1="5201" v2="5727" v3="6392" />
+ <tetrahedron index="22673" v0="4760" v1="6029" v2="6741" v3="6927" />
+ <tetrahedron index="22674" v0="3769" v1="3981" v2="5101" v3="5854" />
+ <tetrahedron index="22675" v0="3625" v1="5275" v2="5872" v3="6802" />
+ <tetrahedron index="22676" v0="3913" v1="4727" v2="5712" v3="6381" />
+ <tetrahedron index="22677" v0="3417" v1="3570" v2="5228" v3="5401" />
+ <tetrahedron index="22678" v0="3629" v1="3630" v2="4835" v3="5564" />
+ <tetrahedron index="22679" v0="3313" v1="3644" v2="4738" v3="5213" />
+ <tetrahedron index="22680" v0="5309" v1="6641" v2="6649" v3="6774" />
+ <tetrahedron index="22681" v0="3908" v1="4840" v2="5095" v3="5908" />
+ <tetrahedron index="22682" v0="3502" v1="5339" v2="5982" v3="6316" />
+ <tetrahedron index="22683" v0="3310" v1="4513" v2="5372" v3="6546" />
+ <tetrahedron index="22684" v0="5047" v1="5588" v2="6052" v3="6638" />
+ <tetrahedron index="22685" v0="5523" v1="5943" v2="6310" v3="6555" />
+ <tetrahedron index="22686" v0="5073" v1="5468" v2="5648" v3="6698" />
+ <tetrahedron index="22687" v0="3359" v1="3422" v2="5298" v3="6342" />
+ <tetrahedron index="22688" v0="3382" v1="3387" v2="5041" v3="5901" />
+ <tetrahedron index="22689" v0="4931" v1="5967" v2="6434" v3="6573" />
+ <tetrahedron index="22690" v0="4673" v1="4754" v2="5121" v3="5655" />
+ <tetrahedron index="22691" v0="5305" v1="5943" v2="6553" v3="6983" />
+ <tetrahedron index="22692" v0="3551" v1="4819" v2="5098" v3="5385" />
+ <tetrahedron index="22693" v0="4071" v1="6163" v2="6440" v3="6994" />
+ <tetrahedron index="22694" v0="3274" v1="3383" v2="3792" v3="4029" />
+ <tetrahedron index="22695" v0="3667" v1="3687" v2="3745" v3="5171" />
+ <tetrahedron index="22696" v0="3939" v1="4734" v2="5172" v3="5580" />
+ <tetrahedron index="22697" v0="3758" v1="4342" v2="4818" v3="5116" />
+ <tetrahedron index="22698" v0="4953" v1="5019" v2="6043" v3="6744" />
+ <tetrahedron index="22699" v0="5284" v1="5285" v2="6179" v3="6413" />
+ <tetrahedron index="22700" v0="5272" v1="5273" v2="5910" v3="6178" />
+ <tetrahedron index="22701" v0="5307" v1="5947" v2="6212" v3="6748" />
+ <tetrahedron index="22702" v0="5624" v1="6111" v2="6300" v3="6682" />
+ <tetrahedron index="22703" v0="3344" v1="5776" v2="6321" v3="6814" />
+ <tetrahedron index="22704" v0="5809" v1="6461" v2="6464" v3="7023" />
+ <tetrahedron index="22705" v0="4568" v1="4726" v2="5051" v3="5600" />
+ <tetrahedron index="22706" v0="5225" v1="5226" v2="5790" v3="6499" />
+ <tetrahedron index="22707" v0="3238" v1="3545" v2="5419" v3="5544" />
+ <tetrahedron index="22708" v0="4977" v1="5453" v2="5645" v3="6321" />
+ <tetrahedron index="22709" v0="3980" v1="4670" v2="4671" v3="6491" />
+ <tetrahedron index="22710" v0="3826" v1="4198" v2="4606" v3="5869" />
+ <tetrahedron index="22711" v0="4869" v1="5702" v2="6334" v3="6399" />
+ <tetrahedron index="22712" v0="5193" v1="5509" v2="6188" v3="6469" />
+ <tetrahedron index="22713" v0="3818" v1="3888" v2="5729" v3="6618" />
+ <tetrahedron index="22714" v0="5421" v1="5958" v2="6083" v3="6566" />
+ <tetrahedron index="22715" v0="5606" v1="6282" v2="6283" v3="6787" />
+ <tetrahedron index="22716" v0="5206" v1="5399" v2="6361" v3="6362" />
+ <tetrahedron index="22717" v0="4890" v1="5208" v2="5209" v3="5828" />
+ <tetrahedron index="22718" v0="3865" v1="3997" v2="4405" v3="5586" />
+ <tetrahedron index="22719" v0="4182" v1="5085" v2="5117" v3="5663" />
+ <tetrahedron index="22720" v0="3445" v1="3695" v2="3696" v3="5273" />
+ <tetrahedron index="22721" v0="4933" v1="5328" v2="5585" v3="5734" />
+ <tetrahedron index="22722" v0="4942" v1="5097" v2="6353" v3="6827" />
+ <tetrahedron index="22723" v0="5305" v1="5942" v2="5943" v3="6553" />
+ <tetrahedron index="22724" v0="4009" v1="4050" v2="4079" v3="5799" />
+ <tetrahedron index="22725" v0="4917" v1="5284" v2="5285" v3="6413" />
+ <tetrahedron index="22726" v0="4851" v1="5338" v2="5742" v3="6295" />
+ <tetrahedron index="22727" v0="5675" v1="5686" v2="5856" v3="6358" />
+ <tetrahedron index="22728" v0="5300" v1="5951" v2="6850" v3="6966" />
+ <tetrahedron index="22729" v0="3308" v1="3625" v2="3626" v3="5275" />
+ <tetrahedron index="22730" v0="4904" v1="5875" v2="6288" v3="6289" />
+ <tetrahedron index="22731" v0="4899" v1="5101" v2="5675" v3="6358" />
+ <tetrahedron index="22732" v0="4353" v1="4806" v2="6031" v3="6602" />
+ <tetrahedron index="22733" v0="4147" v1="4252" v2="4422" v3="5549" />
+ <tetrahedron index="22734" v0="5496" v1="5785" v2="6084" v3="6447" />
+ <tetrahedron index="22735" v0="3832" v1="4287" v2="5703" v3="6374" />
+ <tetrahedron index="22736" v0="3352" v1="3354" v2="5664" v3="6337" />
+ <tetrahedron index="22737" v0="3804" v1="4530" v2="5322" v3="6196" />
+ <tetrahedron index="22738" v0="4188" v1="4192" v2="5063" v3="5906" />
+ <tetrahedron index="22739" v0="3266" v1="4991" v2="5405" v3="6148" />
+ <tetrahedron index="22740" v0="3239" v1="4461" v2="5327" v3="5975" />
+ <tetrahedron index="22741" v0="4093" v1="4154" v2="4224" v3="5147" />
+ <tetrahedron index="22742" v0="4851" v1="4935" v2="5338" v3="6480" />
+ <tetrahedron index="22743" v0="4521" v1="4680" v2="5567" v3="5778" />
+ <tetrahedron index="22744" v0="3733" v1="4016" v2="4017" v3="5463" />
+ <tetrahedron index="22745" v0="3242" v1="3369" v2="4022" v3="6216" />
+ <tetrahedron index="22746" v0="4049" v1="4076" v2="5534" v3="6206" />
+ <tetrahedron index="22747" v0="3751" v1="4061" v2="4118" v3="6362" />
+ <tetrahedron index="22748" v0="4910" v1="5264" v2="5895" v3="6530" />
+ <tetrahedron index="22749" v0="3528" v1="4973" v2="5442" v3="5485" />
+ <tetrahedron index="22750" v0="3436" v1="3437" v2="3673" v3="5977" />
+ <tetrahedron index="22751" v0="4862" v1="5010" v2="6193" v3="6310" />
+ <tetrahedron index="22752" v0="4066" v1="4763" v2="6404" v3="6405" />
+ <tetrahedron index="22753" v0="4133" v1="4322" v2="4435" v3="4556" />
+ <tetrahedron index="22754" v0="3716" v1="3994" v2="4241" v3="6548" />
+ <tetrahedron index="22755" v0="5574" v1="5806" v2="6249" v3="6458" />
+ <tetrahedron index="22756" v0="4915" v1="5034" v2="5629" v3="5914" />
+ <tetrahedron index="22757" v0="4863" v1="5902" v2="6297" v3="6795" />
+ <tetrahedron index="22758" v0="4692" v1="4695" v2="4841" v3="5099" />
+ <tetrahedron index="22759" v0="3509" v1="3511" v2="4225" v3="5329" />
+ <tetrahedron index="22760" v0="3871" v1="4859" v2="5151" v3="6315" />
+ <tetrahedron index="22761" v0="5103" v1="5802" v2="5803" v3="5804" />
+ <tetrahedron index="22762" v0="4251" v1="4281" v2="5481" v3="6398" />
+ <tetrahedron index="22763" v0="5053" v1="6275" v2="6277" v3="6655" />
+ <tetrahedron index="22764" v0="3482" v1="4687" v2="5206" v3="5399" />
+ <tetrahedron index="22765" v0="3641" v1="3837" v2="5431" v3="6089" />
+ <tetrahedron index="22766" v0="3761" v1="3951" v2="5591" v3="5803" />
+ <tetrahedron index="22767" v0="3906" v1="4162" v2="4321" v3="5315" />
+ <tetrahedron index="22768" v0="4751" v1="5234" v2="5856" v3="6347" />
+ <tetrahedron index="22769" v0="3289" v1="3290" v2="4335" v3="5739" />
+ <tetrahedron index="22770" v0="3572" v1="5372" v2="5373" v3="6023" />
+ <tetrahedron index="22771" v0="3460" v1="4090" v2="4771" v3="6459" />
+ <tetrahedron index="22772" v0="4497" v1="4536" v2="4842" v3="6531" />
+ <tetrahedron index="22773" v0="4730" v1="5052" v2="5601" v3="6274" />
+ <tetrahedron index="22774" v0="4517" v1="4528" v2="5186" v3="5800" />
+ <tetrahedron index="22775" v0="5255" v1="5776" v2="6321" v3="6814" />
+ <tetrahedron index="22776" v0="5063" v1="5626" v2="6302" v3="6303" />
+ <tetrahedron index="22777" v0="5245" v1="5527" v2="6201" v3="6285" />
+ <tetrahedron index="22778" v0="4081" v1="4082" v2="5422" v3="6658" />
+ <tetrahedron index="22779" v0="4906" v1="5406" v2="5883" v3="6144" />
+ <tetrahedron index="22780" v0="4856" v1="6052" v2="6056" v3="6443" />
+ <tetrahedron index="22781" v0="3258" v1="3265" v2="3267" v3="6063" />
+ <tetrahedron index="22782" v0="4890" v1="5207" v2="5210" v3="5828" />
+ <tetrahedron index="22783" v0="3436" v1="3807" v2="5331" v3="5977" />
+ <tetrahedron index="22784" v0="3252" v1="3253" v2="3963" v3="6403" />
+ <tetrahedron index="22785" v0="5493" v1="6710" v2="6711" v3="6958" />
+ <tetrahedron index="22786" v0="5322" v1="5967" v2="6196" v3="6452" />
+ <tetrahedron index="22787" v0="6125" v1="6172" v2="6725" v3="6728" />
+ <tetrahedron index="22788" v0="5034" v1="5276" v2="5627" v3="5915" />
+ <tetrahedron index="22789" v0="4900" v1="5236" v2="5543" v3="5835" />
+ <tetrahedron index="22790" v0="3312" v1="3930" v2="4738" v3="5601" />
+ <tetrahedron index="22791" v0="3274" v1="3275" v2="5201" v3="5965" />
+ <tetrahedron index="22792" v0="3509" v1="4566" v2="4639" v3="5734" />
+ <tetrahedron index="22793" v0="5511" v1="6174" v2="6175" v3="6728" />
+ <tetrahedron index="22794" v0="3231" v1="5158" v2="5472" v3="5473" />
+ <tetrahedron index="22795" v0="3519" v1="3520" v2="6410" v3="6414" />
+ <tetrahedron index="22796" v0="3352" v1="3430" v2="4456" v3="6822" />
+ <tetrahedron index="22797" v0="5156" v1="5760" v2="6072" v3="6131" />
+ <tetrahedron index="22798" v0="4348" v1="4607" v2="4642" v3="5870" />
+ <tetrahedron index="22799" v0="5029" v1="5560" v2="6235" v3="6424" />
+ <tetrahedron index="22800" v0="3354" v1="3476" v2="4182" v3="5117" />
+ <tetrahedron index="22801" v0="3359" v1="3421" v2="4653" v3="6346" />
+ <tetrahedron index="22802" v0="5365" v1="6941" v2="6947" v3="7026" />
+ <tetrahedron index="22803" v0="4615" v1="4819" v2="4952" v3="5386" />
+ <tetrahedron index="22804" v0="4422" v1="4798" v2="5525" v3="6199" />
+ <tetrahedron index="22805" v0="5121" v1="5655" v2="5705" v3="5712" />
+ <tetrahedron index="22806" v0="5288" v1="5601" v2="5928" v3="6369" />
+ <tetrahedron index="22807" v0="3308" v1="3626" v2="3698" v3="5275" />
+ <tetrahedron index="22808" v0="3395" v1="3623" v2="3624" v3="5479" />
+ <tetrahedron index="22809" v0="3242" v1="3243" v2="3244" v3="5839" />
+ <tetrahedron index="22810" v0="5132" v1="5357" v2="6008" v3="6506" />
+ <tetrahedron index="22811" v0="4976" v1="5512" v2="6682" v3="6798" />
+ <tetrahedron index="22812" v0="5005" v1="6233" v2="6234" v3="6431" />
+ <tetrahedron index="22813" v0="4837" v1="4838" v2="5194" v3="5814" />
+ <tetrahedron index="22814" v0="3984" v1="3985" v2="5227" v3="5851" />
+ <tetrahedron index="22815" v0="4963" v1="5605" v2="6280" v3="6283" />
+ <tetrahedron index="22816" v0="4918" v1="5805" v2="6079" v3="6570" />
+ <tetrahedron index="22817" v0="4579" v1="5285" v2="5924" v3="6179" />
+ <tetrahedron index="22818" v0="4891" v1="5100" v2="5685" v3="5697" />
+ <tetrahedron index="22819" v0="3770" v1="4107" v2="4135" v3="5323" />
+ <tetrahedron index="22820" v0="3961" v1="5122" v2="5714" v3="6383" />
+ <tetrahedron index="22821" v0="5381" v1="5745" v2="6033" v3="6034" />
+ <tetrahedron index="22822" v0="4276" v1="4277" v2="4694" v3="5756" />
+ <tetrahedron index="22823" v0="5506" v1="5929" v2="5931" v3="6546" />
+ <tetrahedron index="22824" v0="3999" v1="5121" v2="5327" v3="5975" />
+ <tetrahedron index="22825" v0="5084" v1="5660" v2="5773" v3="6334" />
+ <tetrahedron index="22826" v0="5029" v1="5081" v2="5561" v3="6817" />
+ <tetrahedron index="22827" v0="4241" v1="4306" v2="5732" v3="6396" />
+ <tetrahedron index="22828" v0="4971" v1="6098" v2="6099" v3="6674" />
+ <tetrahedron index="22829" v0="4193" v1="4296" v2="4688" v3="5413" />
+ <tetrahedron index="22830" v0="3723" v1="5261" v2="5264" v3="6502" />
+ <tetrahedron index="22831" v0="4895" v1="5363" v2="5844" v3="6278" />
+ <tetrahedron index="22832" v0="4851" v1="4935" v2="5636" v3="6317" />
+ <tetrahedron index="22833" v0="3393" v1="3397" v2="3398" v3="5064" />
+ <tetrahedron index="22834" v0="3422" v1="4589" v2="4672" v3="5298" />
+ <tetrahedron index="22835" v0="4916" v1="5280" v2="5283" v3="5922" />
+ <tetrahedron index="22836" v0="3459" v1="3461" v2="4067" v3="6888" />
+ <tetrahedron index="22837" v0="6718" v1="6960" v2="6997" v3="7021" />
+ <tetrahedron index="22838" v0="5081" v1="5656" v2="6332" v3="6333" />
+ <tetrahedron index="22839" v0="4130" v1="4351" v2="5110" v3="5700" />
+ <tetrahedron index="22840" v0="5061" v1="5619" v2="5652" v3="6526" />
+ <tetrahedron index="22841" v0="5703" v1="6373" v2="6374" v3="6832" />
+ <tetrahedron index="22842" v0="3249" v1="5214" v2="5622" v3="5832" />
+ <tetrahedron index="22843" v0="4419" v1="5522" v2="6175" v3="6756" />
+ <tetrahedron index="22844" v0="3367" v1="3573" v2="5547" v3="6523" />
+ <tetrahedron index="22845" v0="4939" v1="5350" v2="5351" v3="5352" />
+ <tetrahedron index="22846" v0="5052" v1="5213" v2="5566" v3="6760" />
+ <tetrahedron index="22847" v0="3616" v1="3967" v2="4259" v3="6507" />
+ <tetrahedron index="22848" v0="6466" v1="6749" v2="6970" v3="7019" />
+ <tetrahedron index="22849" v0="4091" v1="4725" v2="4829" v3="6768" />
+ <tetrahedron index="22850" v0="3792" v1="5485" v2="5726" v3="5727" />
+ <tetrahedron index="22851" v0="4346" v1="4801" v2="5082" v3="5658" />
+ <tetrahedron index="22852" v0="4383" v1="4385" v2="5558" v3="5948" />
+ <tetrahedron index="22853" v0="4193" v1="4194" v2="4295" v3="5414" />
+ <tetrahedron index="22854" v0="5188" v1="6249" v2="6415" v3="6769" />
+ <tetrahedron index="22855" v0="3367" v1="3368" v2="3369" v3="5547" />
+ <tetrahedron index="22856" v0="6485" v1="6486" v2="6642" v3="6874" />
+ <tetrahedron index="22857" v0="3534" v1="5453" v2="5645" v3="6113" />
+ <tetrahedron index="22858" v0="4948" v1="5375" v2="6025" v3="6026" />
+ <tetrahedron index="22859" v0="3478" v1="5180" v2="5181" v3="5791" />
+ <tetrahedron index="22860" v0="5367" v1="5714" v2="6365" v3="6382" />
+ <tetrahedron index="22861" v0="4976" v1="5625" v2="6652" v3="6992" />
+ <tetrahedron index="22862" v0="3753" v1="3931" v2="4578" v3="5928" />
+ <tetrahedron index="22863" v0="4918" v1="5421" v2="6081" v3="6567" />
+ <tetrahedron index="22864" v0="4947" v1="5372" v2="5898" v3="6023" />
+ <tetrahedron index="22865" v0="3793" v1="3794" v2="5177" v3="5785" />
+ <tetrahedron index="22866" v0="3374" v1="3688" v2="4731" v3="6154" />
+ <tetrahedron index="22867" v0="5062" v1="5623" v2="6296" v3="6795" />
+ <tetrahedron index="22868" v0="4020" v1="4022" v2="5546" v3="6216" />
+ <tetrahedron index="22869" v0="3832" v1="5659" v2="5703" v3="6374" />
+ <tetrahedron index="22870" v0="4948" v1="5136" v2="5738" v3="5976" />
+ <tetrahedron index="22871" v0="3384" v1="3385" v2="3734" v3="6035" />
+ <tetrahedron index="22872" v0="4718" v1="5411" v2="5516" v3="6180" />
+ <tetrahedron index="22873" v0="5424" v1="5496" v2="6084" v3="6447" />
+ <tetrahedron index="22874" v0="4949" v1="5015" v2="5378" v3="6202" />
+ <tetrahedron index="22875" v0="4976" v1="6111" v2="6300" v3="6682" />
+ <tetrahedron index="22876" v0="3609" v1="5035" v2="5571" v3="6390" />
+ <tetrahedron index="22877" v0="3399" v1="5628" v2="5721" v3="6306" />
+ <tetrahedron index="22878" v0="5148" v1="5941" v2="6550" v3="6580" />
+ <tetrahedron index="22879" v0="4908" v1="5704" v2="5888" v3="6360" />
+ <tetrahedron index="22880" v0="3569" v1="4313" v2="5431" v3="5500" />
+ <tetrahedron index="22881" v0="3265" v1="3266" v2="4991" v3="5587" />
+ <tetrahedron index="22882" v0="5037" v1="5987" v2="6581" v3="6901" />
+ <tetrahedron index="22883" v0="3276" v1="3712" v2="5398" v3="5735" />
+ <tetrahedron index="22884" v0="4145" v1="4367" v2="4802" v3="5576" />
+ <tetrahedron index="22885" v0="3325" v1="3423" v2="5172" v3="5785" />
+ <tetrahedron index="22886" v0="3918" v1="4214" v2="4464" v3="5386" />
+ <tetrahedron index="22887" v0="3482" v1="3751" v2="4061" v3="5399" />
+ <tetrahedron index="22888" v0="4927" v1="5672" v2="5957" v3="6346" />
+ <tetrahedron index="22889" v0="4754" v1="5115" v2="5655" v3="5712" />
+ <tetrahedron index="22890" v0="3652" v1="4426" v2="4427" v3="5111" />
+ <tetrahedron index="22891" v0="3232" v1="3657" v2="5472" v3="5709" />
+ <tetrahedron index="22892" v0="4934" v1="5334" v2="5981" v3="6348" />
+ <tetrahedron index="22893" v0="4882" v1="6589" v2="6666" v3="6667" />
+ <tetrahedron index="22894" v0="6098" v1="6640" v2="6643" v3="6674" />
+ <tetrahedron index="22895" v0="5155" v1="6535" v2="6560" v3="6850" />
+ <tetrahedron index="22896" v0="3281" v1="5128" v2="5480" v3="5964" />
+ <tetrahedron index="22897" v0="4849" v1="6228" v2="6755" v3="6843" />
+ <tetrahedron index="22898" v0="4916" v1="5280" v2="5281" v3="5283" />
+ <tetrahedron index="22899" v0="4158" v1="4159" v2="4160" v3="4237" />
+ <tetrahedron index="22900" v0="3363" v1="3822" v2="6345" v3="6826" />
+ <tetrahedron index="22901" v0="3790" v1="4311" v2="4601" v3="5696" />
+ <tetrahedron index="22902" v0="3367" v1="3823" v2="4057" v3="6518" />
+ <tetrahedron index="22903" v0="3638" v1="4782" v2="5205" v3="5823" />
+ <tetrahedron index="22904" v0="4963" v1="5415" v2="6283" v3="6787" />
+ <tetrahedron index="22905" v0="4216" v1="4343" v2="5859" v3="6504" />
+ <tetrahedron index="22906" v0="3404" v1="4222" v2="5087" v3="6547" />
+ <tetrahedron index="22907" v0="3277" v1="3287" v2="3734" v3="5059" />
+ <tetrahedron index="22908" v0="3979" v1="4990" v2="5797" v3="6147" />
+ <tetrahedron index="22909" v0="4622" v1="4698" v2="5523" v3="6195" />
+ <tetrahedron index="22910" v0="3586" v1="4658" v2="5098" v3="6037" />
+ <tetrahedron index="22911" v0="3441" v1="3442" v2="3500" v3="5674" />
+ <tetrahedron index="22912" v0="3415" v1="4080" v2="4690" v3="4841" />
+ <tetrahedron index="22913" v0="3407" v1="3988" v2="5209" v3="5927" />
+ <tetrahedron index="22914" v0="4952" v1="5129" v2="5385" v3="5728" />
+ <tetrahedron index="22915" v0="4006" v1="4294" v2="4320" v3="5286" />
+ <tetrahedron index="22916" v0="4995" v1="5491" v2="6151" v3="6709" />
+ <tetrahedron index="22917" v0="3442" v1="3443" v2="3477" v3="5199" />
+ <tetrahedron index="22918" v0="4102" v1="4230" v2="4601" v3="5182" />
+ <tetrahedron index="22919" v0="5941" v1="5986" v2="6580" v3="6899" />
+ <tetrahedron index="22920" v0="3720" v1="4650" v2="4654" v3="6873" />
+ <tetrahedron index="22921" v0="3486" v1="3489" v2="4755" v3="6242" />
+ <tetrahedron index="22922" v0="3806" v1="5039" v2="5576" v3="5968" />
+ <tetrahedron index="22923" v0="4909" v1="5117" v2="5258" v3="5663" />
+ <tetrahedron index="22924" v0="3573" v1="3574" v2="3904" v3="5953" />
+ <tetrahedron index="22925" v0="3514" v1="3945" v2="4465" v3="5635" />
+ <tetrahedron index="22926" v0="4947" v1="5372" v2="5898" v3="6022" />
+ <tetrahedron index="22927" v0="5365" v1="6016" v2="6686" v3="6947" />
+ <tetrahedron index="22928" v0="3351" v1="3535" v2="3536" v3="5890" />
+ <tetrahedron index="22929" v0="6291" v1="6536" v2="6893" v3="6942" />
+ <tetrahedron index="22930" v0="3346" v1="3534" v2="3536" v3="6113" />
+ <tetrahedron index="22931" v0="3309" v1="3686" v2="4161" v3="5291" />
+ <tetrahedron index="22932" v0="4126" v1="4273" v2="5009" v3="6191" />
+ <tetrahedron index="22933" v0="3981" v1="4032" v2="4077" v3="5264" />
+ <tetrahedron index="22934" v0="4514" v1="5318" v2="5961" v3="6391" />
+ <tetrahedron index="22935" v0="4568" v1="4569" v2="6013" v3="6271" />
+ <tetrahedron index="22936" v0="3914" v1="3986" v2="4490" v3="5080" />
+ <tetrahedron index="22937" v0="4013" v1="4037" v2="5717" v3="5719" />
+ <tetrahedron index="22938" v0="3343" v1="3729" v2="4207" v3="5771" />
+ <tetrahedron index="22939" v0="4483" v1="5140" v2="5694" v3="6400" />
+ <tetrahedron index="22940" v0="3861" v1="5467" v2="6133" v3="6326" />
+ <tetrahedron index="22941" v0="4924" v1="5763" v2="5943" v3="6554" />
+ <tetrahedron index="22942" v0="4870" v1="5161" v2="5290" v3="5732" />
+ <tetrahedron index="22943" v0="3780" v1="5393" v2="5394" v3="6578" />
+ <tetrahedron index="22944" v0="5704" v1="5892" v2="6337" v3="6375" />
+ <tetrahedron index="22945" v0="3268" v1="5038" v2="5406" v3="5480" />
+ <tetrahedron index="22946" v0="4870" v1="5043" v2="5162" v3="5642" />
+ <tetrahedron index="22947" v0="3883" v1="3903" v2="5227" v3="6496" />
+ <tetrahedron index="22948" v0="3365" v1="3366" v2="5106" v3="5692" />
+ <tetrahedron index="22949" v0="4079" v1="4131" v2="4293" v3="5000" />
+ <tetrahedron index="22950" v0="6411" v1="6600" v2="6839" v3="6916" />
+ <tetrahedron index="22951" v0="5147" v1="5637" v2="5744" v3="6317" />
+ <tetrahedron index="22952" v0="6016" v1="6613" v2="6920" v3="7025" />
+ <tetrahedron index="22953" v0="4852" v1="5616" v2="6293" v3="6679" />
+ <tetrahedron index="22954" v0="3594" v1="5467" v2="6132" v3="6133" />
+ <tetrahedron index="22955" v0="3239" v1="4057" v2="4462" v3="5909" />
+ <tetrahedron index="22956" v0="4102" v1="4230" v2="5182" v3="5715" />
+ <tetrahedron index="22957" v0="5306" v1="5946" v2="6232" v3="6896" />
+ <tetrahedron index="22958" v0="4392" v1="4393" v2="4429" v3="6231" />
+ <tetrahedron index="22959" v0="3409" v1="5293" v2="5930" v3="6547" />
+ <tetrahedron index="22960" v0="3599" v1="3788" v2="4833" v3="5532" />
+ <tetrahedron index="22961" v0="5212" v1="5213" v2="5831" v3="6760" />
+ <tetrahedron index="22962" v0="3898" v1="4255" v2="5699" v3="5825" />
+ <tetrahedron index="22963" v0="5839" v1="6485" v2="6486" v3="6874" />
+ <tetrahedron index="22964" v0="4963" v1="5415" v2="6280" v3="6283" />
+ <tetrahedron index="22965" v0="6166" v1="6720" v2="6877" v3="6962" />
+ <tetrahedron index="22966" v0="4210" v1="4211" v2="5942" v3="6556" />
+ <tetrahedron index="22967" v0="3513" v1="4225" v2="4402" v3="5585" />
+ <tetrahedron index="22968" v0="3668" v1="3671" v2="4002" v3="5107" />
+ <tetrahedron index="22969" v0="4880" v1="5184" v2="5185" v3="6160" />
+ <tetrahedron index="22970" v0="4879" v1="5108" v2="5182" v3="6382" />
+ <tetrahedron index="22971" v0="3317" v1="4259" v2="5162" v3="5559" />
+ <tetrahedron index="22972" v0="5550" v1="6906" v2="6907" v3="7005" />
+ <tetrahedron index="22973" v0="5144" v1="5145" v2="5758" v3="6404" />
+ <tetrahedron index="22974" v0="3663" v1="4138" v2="5127" v3="6208" />
+ <tetrahedron index="22975" v0="4425" v1="5536" v2="6207" v3="6744" />
+ <tetrahedron index="22976" v0="3943" v1="5080" v2="5115" v3="5655" />
+ <tetrahedron index="22977" v0="5114" v1="5242" v2="5871" v3="6511" />
+ <tetrahedron index="22978" v0="5106" v1="5879" v2="6946" v3="6953" />
+ <tetrahedron index="22979" v0="5303" v1="6034" v2="6558" v3="6896" />
+ <tetrahedron index="22980" v0="4679" v1="4818" v2="5041" v3="5267" />
+ <tetrahedron index="22981" v0="4513" v1="5372" v2="5506" v3="6022" />
+ <tetrahedron index="22982" v0="4954" v1="6045" v2="6049" v3="6626" />
+ <tetrahedron index="22983" v0="5062" v1="5620" v2="6236" v3="6298" />
+ <tetrahedron index="22984" v0="5027" v1="5556" v2="5945" v3="6557" />
+ <tetrahedron index="22985" v0="4746" v1="4844" v2="5265" v3="5352" />
+ <tetrahedron index="22986" v0="4750" v1="4834" v2="5313" v3="6477" />
+ <tetrahedron index="22987" v0="4377" v1="4378" v2="5687" v3="6359" />
+ <tetrahedron index="22988" v0="5004" v1="5508" v2="5529" v3="6602" />
+ <tetrahedron index="22989" v0="3532" v1="3533" v2="4409" v3="6305" />
+ <tetrahedron index="22990" v0="3316" v1="3317" v2="4259" v3="5559" />
+ <tetrahedron index="22991" v0="5158" v1="5473" v2="5766" v3="6138" />
+ <tetrahedron index="22992" v0="4865" v1="4906" v2="5249" v3="5883" />
+ <tetrahedron index="22993" v0="4327" v1="5476" v2="5589" v3="6928" />
+ <tetrahedron index="22994" v0="3652" v1="3653" v2="4559" v3="6440" />
+ <tetrahedron index="22995" v0="3725" v1="4705" v2="4740" v3="5459" />
+ <tetrahedron index="22996" v0="5136" v1="5328" v2="5738" v3="5976" />
+ <tetrahedron index="22997" v0="5439" v1="5503" v2="6717" v3="6719" />
+ <tetrahedron index="22998" v0="4181" v1="4212" v2="4356" v3="6985" />
+ <tetrahedron index="22999" v0="4946" v1="5368" v2="5728" v3="6614" />
+ <tetrahedron index="23000" v0="3306" v1="5243" v2="5276" v3="5915" />
+ <tetrahedron index="23001" v0="3872" v1="4115" v2="5089" v3="6826" />
+ <tetrahedron index="23002" v0="3397" v1="3399" v2="4015" v3="5628" />
+ <tetrahedron index="23003" v0="4803" v1="5081" v2="5561" v3="6330" />
+ <tetrahedron index="23004" v0="3579" v1="3580" v2="3699" v3="5569" />
+ <tetrahedron index="23005" v0="4321" v1="5315" v2="5538" v3="6621" />
+ <tetrahedron index="23006" v0="3276" v1="3286" v2="3712" v3="5398" />
+ <tetrahedron index="23007" v0="4140" v1="4689" v2="5389" v3="5536" />
+ <tetrahedron index="23008" v0="5066" v1="5090" v2="5657" v3="6011" />
+ <tetrahedron index="23009" v0="3611" v1="4676" v2="5818" v3="5852" />
+ <tetrahedron index="23010" v0="4863" v1="5620" v2="6297" v3="6795" />
+ <tetrahedron index="23011" v0="4472" v1="4779" v2="5517" v3="6185" />
+ <tetrahedron index="23012" v0="4020" v1="4022" v2="5023" v3="6096" />
+ <tetrahedron index="23013" v0="3625" v1="3724" v2="4410" v3="5275" />
+ <tetrahedron index="23014" v0="4848" v1="4875" v2="5590" v3="6775" />
+ <tetrahedron index="23015" v0="3566" v1="4201" v2="5681" v3="6088" />
+ <tetrahedron index="23016" v0="5676" v1="6005" v2="6857" v3="6993" />
+ <tetrahedron index="23017" v0="5029" v1="5560" v2="6331" v3="6332" />
+ <tetrahedron index="23018" v0="4997" v1="5877" v2="6182" v3="6286" />
+ <tetrahedron index="23019" v0="4491" v1="4523" v2="4524" v3="5285" />
+ <tetrahedron index="23020" v0="4092" v1="4101" v2="4170" v3="5486" />
+ <tetrahedron index="23021" v0="4770" v1="5076" v2="5274" v3="5914" />
+ <tetrahedron index="23022" v0="5148" v1="5745" v2="5746" v3="6083" />
+ <tetrahedron index="23023" v0="3475" v1="3476" v2="4182" v3="5117" />
+ <tetrahedron index="23024" v0="3909" v1="4490" v2="5271" v3="5907" />
+ <tetrahedron index="23025" v0="3956" v1="4190" v2="5447" v3="5732" />
+ <tetrahedron index="23026" v0="5390" v1="6043" v2="6190" v3="6744" />
+ <tetrahedron index="23027" v0="4857" v1="4973" v2="5383" v3="6514" />
+ <tetrahedron index="23028" v0="3816" v1="4189" v2="4292" v3="6041" />
+ <tetrahedron index="23029" v0="3651" v1="3652" v2="4427" v3="5111" />
+ <tetrahedron index="23030" v0="5012" v1="5590" v2="6266" v3="6562" />
+ <tetrahedron index="23031" v0="4876" v1="4974" v2="5059" v3="5445" />
+ <tetrahedron index="23032" v0="4461" v1="4463" v2="5909" v3="5975" />
+ <tetrahedron index="23033" v0="4094" v1="4100" v2="4545" v3="6406" />
+ <tetrahedron index="23034" v0="4997" v1="5876" v2="6180" v3="6515" />
+ <tetrahedron index="23035" v0="3760" v1="3761" v2="3762" v3="5079" />
+ <tetrahedron index="23036" v0="3230" v1="3340" v2="4485" v3="5471" />
+ <tetrahedron index="23037" v0="3496" v1="3967" v2="5449" v3="5775" />
+ <tetrahedron index="23038" v0="4910" v1="5259" v2="5899" v3="6241" />
+ <tetrahedron index="23039" v0="4420" v1="4622" v2="4698" v3="6195" />
+ <tetrahedron index="23040" v0="5545" v1="5567" v2="5688" v3="6360" />
+ <tetrahedron index="23041" v0="3414" v1="3416" v2="4312" v3="5612" />
+ <tetrahedron index="23042" v0="5168" v1="6718" v2="6877" v3="6997" />
+ <tetrahedron index="23043" v0="3973" v1="4285" v2="4478" v3="6423" />
+ <tetrahedron index="23044" v0="5314" v1="5670" v2="5936" v3="6346" />
+ <tetrahedron index="23045" v0="4605" v1="4627" v2="4633" v3="5597" />
+ <tetrahedron index="23046" v0="3594" v1="5333" v2="6132" v3="6133" />
+ <tetrahedron index="23047" v0="3906" v1="4381" v2="5435" v3="5960" />
+ <tetrahedron index="23048" v0="4390" v1="4420" v2="4698" v3="6195" />
+ <tetrahedron index="23049" v0="3530" v1="4033" v2="4034" v3="5816" />
+ <tetrahedron index="23050" v0="4976" v1="5512" v2="6177" v3="6682" />
+ <tetrahedron index="23051" v0="5300" v1="5761" v2="6426" v3="6984" />
+ <tetrahedron index="23052" v0="4886" v1="6331" v2="6563" v3="6729" />
+ <tetrahedron index="23053" v0="4866" v1="5625" v2="6652" v3="6799" />
+ <tetrahedron index="23054" v0="4881" v1="5000" v2="5502" v3="5800" />
+ <tetrahedron index="23055" v0="3500" v1="5200" v2="5819" v3="6500" />
+ <tetrahedron index="23056" v0="3411" v1="3523" v2="3542" v3="5866" />
+ <tetrahedron index="23057" v0="5615" v1="6789" v2="6792" v3="6875" />
+ <tetrahedron index="23058" v0="3785" v1="3786" v2="3991" v3="5148" />
+ <tetrahedron index="23059" v0="4967" v1="5040" v2="5581" v3="5784" />
+ <tetrahedron index="23060" v0="3547" v1="5419" v2="5849" v3="6077" />
+ <tetrahedron index="23061" v0="4251" v1="4252" v2="6219" v3="6253" />
+ <tetrahedron index="23062" v0="4343" v1="4414" v2="4476" v3="5859" />
+ <tetrahedron index="23063" v0="5719" v1="5818" v2="5852" v3="6388" />
+ <tetrahedron index="23064" v0="4866" v1="5465" v2="6072" v3="6535" />
+ <tetrahedron index="23065" v0="3650" v1="5418" v2="6076" v3="6078" />
+ <tetrahedron index="23066" v0="4554" v1="4603" v2="6241" v3="6347" />
+ <tetrahedron index="23067" v0="4106" v1="4185" v2="5191" v3="6870" />
+ <tetrahedron index="23068" v0="5438" v1="5880" v2="6519" v3="6707" />
+ <tetrahedron index="23069" v0="5063" v1="6300" v2="6302" v3="6800" />
+ <tetrahedron index="23070" v0="6291" v1="6536" v2="6897" v3="6942" />
+ <tetrahedron index="23071" v0="3808" v1="4376" v2="4405" v3="5586" />
+ <tetrahedron index="23072" v0="5365" v1="6016" v2="6947" v3="7025" />
+ <tetrahedron index="23073" v0="4043" v1="4652" v2="6192" v3="6471" />
+ <tetrahedron index="23074" v0="4000" v1="4001" v2="5144" v3="6332" />
+ <tetrahedron index="23075" v0="3995" v1="5087" v2="5292" v3="6024" />
+ <tetrahedron index="23076" v0="5903" v1="6560" v2="6799" v3="6943" />
+ <tetrahedron index="23077" v0="3584" v1="5257" v2="5418" v3="6076" />
+ <tetrahedron index="23078" v0="3352" v1="5664" v2="6337" v3="6822" />
+ <tetrahedron index="23079" v0="4271" v1="4677" v2="5377" v3="6543" />
+ <tetrahedron index="23080" v0="4711" v1="5752" v2="6414" v3="6915" />
+ <tetrahedron index="23081" v0="5076" v1="5682" v2="5683" v3="5912" />
+ <tetrahedron index="23082" v0="3308" v1="3698" v2="5276" v3="5872" />
+ <tetrahedron index="23083" v0="4929" v1="4989" v2="5480" v3="6144" />
+ <tetrahedron index="23084" v0="4870" v1="5161" v2="5290" v3="5643" />
+ <tetrahedron index="23085" v0="3519" v1="5749" v2="6410" v3="6414" />
+ <tetrahedron index="23086" v0="4687" v1="5665" v2="6059" v3="6361" />
+ <tetrahedron index="23087" v0="4504" v1="5435" v2="5538" v3="6736" />
+ <tetrahedron index="23088" v0="4933" v1="5136" v2="5328" v3="5976" />
+ <tetrahedron index="23089" v0="4876" v1="5614" v2="6106" v3="6288" />
+ <tetrahedron index="23090" v0="3269" v1="3379" v2="3798" v3="5267" />
+ <tetrahedron index="23091" v0="4110" v1="4281" v2="5481" v3="6147" />
+ <tetrahedron index="23092" v0="3790" v1="4311" v2="4827" v3="6367" />
+ <tetrahedron index="23093" v0="5087" v1="5292" v2="5929" v3="6547" />
+ <tetrahedron index="23094" v0="4494" v1="4495" v2="4525" v3="6007" />
+ <tetrahedron index="23095" v0="3316" v1="3494" v2="3616" v3="5865" />
+ <tetrahedron index="23096" v0="3344" v1="3348" v2="3797" v3="6814" />
+ <tetrahedron index="23097" v0="4974" v1="5783" v2="6444" v3="6445" />
+ <tetrahedron index="23098" v0="4179" v1="4247" v2="4272" v3="5497" />
+ <tetrahedron index="23099" v0="5034" v1="5628" v2="5721" v3="6306" />
+ <tetrahedron index="23100" v0="4850" v1="6290" v2="6442" v3="6862" />
+ <tetrahedron index="23101" v0="4619" v1="4679" v2="5319" v3="5949" />
+ <tetrahedron index="23102" v0="4929" v1="5727" v2="6144" v3="6392" />
+ <tetrahedron index="23103" v0="4948" v1="5376" v2="6026" v3="6027" />
+ <tetrahedron index="23104" v0="3859" v1="4056" v2="4150" v3="5332" />
+ <tetrahedron index="23105" v0="4183" v1="4245" v2="4356" v3="6827" />
+ <tetrahedron index="23106" v0="5115" v1="5655" v2="5705" v3="5712" />
+ <tetrahedron index="23107" v0="4966" v1="5745" v2="6617" v3="6656" />
+ <tetrahedron index="23108" v0="3474" v1="3499" v2="5102" v3="5688" />
+ <tetrahedron index="23109" v0="4933" v1="5045" v2="5125" v3="5329" />
+ <tetrahedron index="23110" v0="3443" v1="3636" v2="3824" v3="5791" />
+ <tetrahedron index="23111" v0="3515" v1="3516" v2="3517" v3="5017" />
+ <tetrahedron index="23112" v0="5123" v1="5716" v2="5717" v3="6388" />
+ <tetrahedron index="23113" v0="4940" v1="5165" v2="5978" v3="6006" />
+ <tetrahedron index="23114" v0="5363" v1="6016" v2="6882" v3="6883" />
+ <tetrahedron index="23115" v0="3695" v1="5095" v2="5911" v3="5970" />
+ <tetrahedron index="23116" v0="3593" v1="3862" v2="5165" v3="5780" />
+ <tetrahedron index="23117" v0="3239" v1="5324" v2="5327" v3="5975" />
+ <tetrahedron index="23118" v0="4845" v1="5950" v2="6098" v3="6560" />
+ <tetrahedron index="23119" v0="3557" v1="3641" v2="4313" v3="5432" />
+ <tetrahedron index="23120" v0="3501" v1="3553" v2="5030" v3="5563" />
+ <tetrahedron index="23121" v0="4381" v1="4431" v2="5435" v3="6091" />
+ <tetrahedron index="23122" v0="4887" v1="5123" v2="5198" v3="5718" />
+ <tetrahedron index="23123" v0="4643" v1="5637" v2="5638" v3="5744" />
+ <tetrahedron index="23124" v0="4997" v1="5613" v2="5614" v3="6286" />
+ <tetrahedron index="23125" v0="3471" v1="3632" v2="5768" v3="6005" />
+ <tetrahedron index="23126" v0="3497" v1="3616" v2="3967" v3="5449" />
+ <tetrahedron index="23127" v0="4148" v1="4350" v2="4807" v3="6505" />
+ <tetrahedron index="23128" v0="5588" v1="5589" v2="6261" v3="6262" />
+ <tetrahedron index="23129" v0="3946" v1="3948" v2="4067" v3="7001" />
+ <tetrahedron index="23130" v0="3593" v1="3594" v2="3617" v3="5467" />
+ <tetrahedron index="23131" v0="3383" v1="3384" v2="4029" v3="6036" />
+ <tetrahedron index="23132" v0="3293" v1="3757" v2="4069" v3="5077" />
+ <tetrahedron index="23133" v0="3319" v1="4641" v2="4719" v3="6008" />
+ <tetrahedron index="23134" v0="3663" v1="5127" v2="5724" v3="6208" />
+ <tetrahedron index="23135" v0="5182" v1="5608" v2="6366" v3="6451" />
+ <tetrahedron index="23136" v0="5476" v1="6140" v2="6486" v3="6703" />
+ <tetrahedron index="23137" v0="4431" v1="5434" v2="6091" v3="6665" />
+ <tetrahedron index="23138" v0="4847" v1="6014" v2="6247" v3="6611" />
+ <tetrahedron index="23139" v0="4978" v1="5454" v2="5455" v3="6157" />
+ <tetrahedron index="23140" v0="4896" v1="5227" v2="5847" v3="6497" />
+ <tetrahedron index="23141" v0="3850" v1="4127" v2="4553" v3="5894" />
+ <tetrahedron index="23142" v0="3872" v1="3873" v2="4073" v3="5089" />
+ <tetrahedron index="23143" v0="5044" v1="5296" v2="5584" v3="5935" />
+ <tetrahedron index="23144" v0="4158" v1="4237" v2="4370" v3="5650" />
+ <tetrahedron index="23145" v0="5145" v1="5741" v2="6404" v3="6405" />
+ <tetrahedron index="23146" v0="5293" v1="5931" v2="6340" v3="6547" />
+ <tetrahedron index="23147" v0="3334" v1="4265" v2="6268" v3="6776" />
+ <tetrahedron index="23148" v0="3355" v1="3356" v2="3357" v3="5226" />
+ <tetrahedron index="23149" v0="3440" v1="3705" v2="4549" v3="5224" />
+ <tetrahedron index="23150" v0="3573" v1="3904" v2="5311" v3="5953" />
+ <tetrahedron index="23151" v0="4460" v1="4823" v2="4898" v3="5657" />
+ <tetrahedron index="23152" v0="4942" v1="5097" v2="5683" v3="6827" />
+ <tetrahedron index="23153" v0="3847" v1="4500" v2="5506" v3="5932" />
+ <tetrahedron index="23154" v0="5168" v1="6170" v2="6877" v3="6997" />
+ <tetrahedron index="23155" v0="3625" v1="4410" v2="5275" v3="5916" />
+ <tetrahedron index="23156" v0="3359" v1="3422" v2="5298" v3="5670" />
+ <tetrahedron index="23157" v0="4919" v1="5927" v2="6370" v3="6371" />
+ <tetrahedron index="23158" v0="5436" v1="5753" v2="6415" v3="6666" />
+ <tetrahedron index="23159" v0="4073" v1="4099" v2="5089" v3="5670" />
+ <tetrahedron index="23160" v0="3333" v1="5337" v2="5766" v3="6205" />
+ <tetrahedron index="23161" v0="4846" v1="5249" v2="5758" v3="6422" />
+ <tetrahedron index="23162" v0="4881" v1="5799" v2="5804" v3="6455" />
+ <tetrahedron index="23163" v0="3266" v1="3270" v2="4959" v3="5404" />
+ <tetrahedron index="23164" v0="3629" v1="3630" v2="5564" v3="6758" />
+ <tetrahedron index="23165" v0="4893" v1="5215" v2="5219" v3="5835" />
+ <tetrahedron index="23166" v0="4803" v1="4831" v2="5196" v3="6330" />
+ <tetrahedron index="23167" v0="3685" v1="5243" v2="5829" v3="6478" />
+ <tetrahedron index="23168" v0="4223" v1="4643" v2="4809" v3="5637" />
+ <tetrahedron index="23169" v0="5053" v1="5602" v2="6275" v3="6655" />
+ <tetrahedron index="23170" v0="4301" v1="4302" v2="4327" v3="5589" />
+ <tetrahedron index="23171" v0="4944" v1="5844" v2="6492" v3="6494" />
+ <tetrahedron index="23172" v0="3387" v1="4411" v2="4818" v3="5041" />
+ <tetrahedron index="23173" v0="4422" v1="4798" v2="5024" v3="5525" />
+ <tetrahedron index="23174" v0="3494" v1="3562" v2="3875" v3="6010" />
+ <tetrahedron index="23175" v0="3749" v1="3795" v2="6254" v3="6772" />
+ <tetrahedron index="23176" v0="3618" v1="4647" v2="5159" v3="5768" />
+ <tetrahedron index="23177" v0="3637" v1="3640" v2="5086" v3="5665" />
+ <tetrahedron index="23178" v0="3419" v1="3960" v2="4121" v3="5666" />
+ <tetrahedron index="23179" v0="3449" v1="5432" v2="5502" v3="6376" />
+ <tetrahedron index="23180" v0="4877" v1="4998" v2="5496" v3="5619" />
+ <tetrahedron index="23181" v0="3700" v1="4336" v2="4681" v3="4935" />
+ <tetrahedron index="23182" v0="4148" v1="4231" v2="4350" v3="5236" />
+ <tetrahedron index="23183" v0="3420" v1="3421" v2="3422" v3="5314" />
+ <tetrahedron index="23184" v0="4905" v1="5880" v2="6707" v3="7002" />
+ <tetrahedron index="23185" v0="4934" v1="5333" v2="5596" v3="5980" />
+ <tetrahedron index="23186" v0="4942" v1="5120" v2="5710" v3="6353" />
+ <tetrahedron index="23187" v0="5348" v1="5353" v2="6002" v3="6848" />
+ <tetrahedron index="23188" v0="5170" v1="6056" v2="6443" v3="6865" />
+ <tetrahedron index="23189" v0="3570" v1="5228" v2="5853" v3="6500" />
+ <tetrahedron index="23190" v0="3877" v1="4767" v2="5078" v3="5819" />
+ <tetrahedron index="23191" v0="3629" v1="3899" v2="5251" v3="5564" />
+ <tetrahedron index="23192" v0="3624" v1="4662" v2="5235" v3="5237" />
+ <tetrahedron index="23193" v0="4834" v1="5313" v2="5956" v3="6477" />
+ <tetrahedron index="23194" v0="4875" v1="4956" v2="5046" v3="6063" />
+ <tetrahedron index="23195" v0="3491" v1="3589" v2="5232" v3="5261" />
+ <tetrahedron index="23196" v0="3871" v1="5068" v2="5151" v3="6811" />
+ <tetrahedron index="23197" v0="3656" v1="4494" v2="5530" v3="5531" />
+ <tetrahedron index="23198" v0="3840" v1="4372" v2="4466" v3="6085" />
+ <tetrahedron index="23199" v0="4185" v1="4450" v2="4773" v3="5540" />
+ <tetrahedron index="23200" v0="4480" v1="4619" v2="4679" v3="5757" />
+ <tetrahedron index="23201" v0="3901" v1="4547" v2="4809" v3="5637" />
+ <tetrahedron index="23202" v0="4077" v1="5264" v2="5895" v3="6530" />
+ <tetrahedron index="23203" v0="3384" v1="3385" v2="4029" v3="6036" />
+ <tetrahedron index="23204" v0="4444" v1="4506" v2="6192" v3="6738" />
+ <tetrahedron index="23205" v0="5001" v1="5030" v2="5562" v3="6236" />
+ <tetrahedron index="23206" v0="4306" v1="4334" v2="4380" v3="5290" />
+ <tetrahedron index="23207" v0="3564" v1="5200" v2="5674" v3="5818" />
+ <tetrahedron index="23208" v0="4830" v1="5906" v2="6304" v3="6539" />
+ <tetrahedron index="23209" v0="4496" v1="4535" v2="5263" v3="5895" />
+ <tetrahedron index="23210" v0="5782" v1="6843" v2="6988" v3="6995" />
+ <tetrahedron index="23211" v0="4341" v1="4471" v2="4779" v3="6185" />
+ <tetrahedron index="23212" v0="4293" v1="4528" v2="4529" v3="5000" />
+ <tetrahedron index="23213" v0="4861" v1="5019" v2="6463" v3="6852" />
+ <tetrahedron index="23214" v0="3720" v1="3900" v2="5203" v3="6475" />
+ <tetrahedron index="23215" v0="5112" v1="5702" v2="6251" v3="6831" />
+ <tetrahedron index="23216" v0="4011" v1="4075" v2="5230" v3="6339" />
+ <tetrahedron index="23217" v0="3234" v1="5049" v2="5593" v3="6438" />
+ <tetrahedron index="23218" v0="4847" v1="6765" v2="6805" v3="6806" />
+ <tetrahedron index="23219" v0="4867" v1="5945" v2="5947" v3="6212" />
+ <tetrahedron index="23220" v0="4139" v1="4406" v2="6041" v3="6207" />
+ <tetrahedron index="23221" v0="4362" v1="4695" v2="4774" v3="5090" />
+ <tetrahedron index="23222" v0="5532" v1="6205" v2="6268" v3="6743" />
+ <tetrahedron index="23223" v0="4915" v1="5629" v2="5912" v3="6355" />
+ <tetrahedron index="23224" v0="3600" v1="3602" v2="5225" v3="6365" />
+ <tetrahedron index="23225" v0="5192" v1="5811" v2="5813" v3="6209" />
+ <tetrahedron index="23226" v0="5022" v1="5545" v2="5892" v3="5893" />
+ <tetrahedron index="23227" v0="5131" v1="5447" v2="5732" v3="6107" />
+ <tetrahedron index="23228" v0="4901" v1="5239" v2="5864" v3="6508" />
+ <tetrahedron index="23229" v0="3469" v1="4617" v2="5354" v3="5779" />
+ <tetrahedron index="23230" v0="3468" v1="3740" v2="5165" v3="5779" />
+ <tetrahedron index="23231" v0="3394" v1="3769" v2="6484" v3="6501" />
+ <tetrahedron index="23232" v0="4639" v1="4651" v2="5375" v3="6026" />
+ <tetrahedron index="23233" v0="4903" v1="6121" v2="6123" v3="6201" />
+ <tetrahedron index="23234" v0="3681" v1="4144" v2="4362" v3="5673" />
+ <tetrahedron index="23235" v0="5748" v1="6407" v2="6409" v3="6963" />
+ <tetrahedron index="23236" v0="4894" v1="6099" v2="6421" v3="6930" />
+ <tetrahedron index="23237" v0="4123" v1="4199" v2="5131" v3="5609" />
+ <tetrahedron index="23238" v0="3418" v1="4121" v2="5229" v3="5666" />
+ <tetrahedron index="23239" v0="3245" v1="3246" v2="3247" v3="5621" />
+ <tetrahedron index="23240" v0="3431" v1="3432" v2="3505" v3="5410" />
+ <tetrahedron index="23241" v0="4853" v1="5443" v2="6104" v3="6524" />
+ <tetrahedron index="23242" v0="3266" v1="4956" v2="4991" v3="5405" />
+ <tetrahedron index="23243" v0="4914" v1="5272" v2="5273" v3="5910" />
+ <tetrahedron index="23244" v0="4961" v1="5518" v2="6173" v3="6725" />
+ <tetrahedron index="23245" v0="5029" v1="5656" v2="6331" v3="6332" />
+ <tetrahedron index="23246" v0="5590" v1="6264" v2="6265" v3="6562" />
+ <tetrahedron index="23247" v0="3961" v1="4142" v2="5122" v3="5198" />
+ <tetrahedron index="23248" v0="4364" v1="4402" v2="4403" v3="5734" />
+ <tetrahedron index="23249" v0="4896" v1="5224" v2="5851" v3="6497" />
+ <tetrahedron index="23250" v0="3312" v1="3313" v2="3314" v3="5679" />
+ <tetrahedron index="23251" v0="3258" v1="5011" v2="5069" v3="6063" />
+ <tetrahedron index="23252" v0="3932" v1="4150" v2="5332" v3="6027" />
+ <tetrahedron index="23253" v0="3349" v1="3650" v2="6076" v3="6078" />
+ <tetrahedron index="23254" v0="3491" v1="3492" v2="5260" v3="5261" />
+ <tetrahedron index="23255" v0="5812" v1="6185" v2="6735" v3="6968" />
+ <tetrahedron index="23256" v0="3490" v1="3491" v2="3492" v3="5261" />
+ <tetrahedron index="23257" v0="3686" v1="4161" v2="5291" v3="5933" />
+ <tetrahedron index="23258" v0="3715" v1="3869" v2="3987" v3="5505" />
+ <tetrahedron index="23259" v0="3638" v1="3730" v2="3731" v3="5955" />
+ <tetrahedron index="23260" v0="4811" v1="5537" v2="6189" v3="6736" />
+ <tetrahedron index="23261" v0="3447" v1="5502" v2="5591" v3="6376" />
+ <tetrahedron index="23262" v0="4878" v1="5177" v2="5784" v3="6446" />
+ <tetrahedron index="23263" v0="3680" v1="4346" v2="4388" v3="5066" />
+ <tetrahedron index="23264" v0="4931" v1="5184" v2="5548" v3="5796" />
+ <tetrahedron index="23265" v0="3585" v1="4219" v2="4658" v3="5302" />
+ <tetrahedron index="23266" v0="5147" v1="5743" v2="6317" v3="6319" />
+ <tetrahedron index="23267" v0="5269" v1="6015" v2="6612" v3="6885" />
+ <tetrahedron index="23268" v0="4878" v1="4967" v2="5175" v3="5425" />
+ <tetrahedron index="23269" v0="4865" v1="4906" v2="5011" v3="5069" />
+ <tetrahedron index="23270" v0="4733" v1="5130" v2="6325" v3="6395" />
+ <tetrahedron index="23271" v0="3275" v1="3376" v2="5202" v3="5820" />
+ <tetrahedron index="23272" v0="4910" v1="5264" v2="5897" v3="6530" />
+ <tetrahedron index="23273" v0="5791" v1="5792" v2="6384" v3="6449" />
+ <tetrahedron index="23274" v0="4530" v1="5525" v2="6196" v3="6452" />
+ <tetrahedron index="23275" v0="3996" v1="4359" v2="4360" v3="5701" />
+ <tetrahedron index="23276" v0="5361" v1="5599" v2="6587" v3="6840" />
+ <tetrahedron index="23277" v0="5877" v1="6127" v2="6180" v3="6732" />
+ <tetrahedron index="23278" v0="3499" v1="4408" v2="5688" v3="5887" />
+ <tetrahedron index="23279" v0="5060" v1="5613" v2="6286" v3="6679" />
+ <tetrahedron index="23280" v0="4034" v1="5816" v2="6471" v3="6619" />
+ <tetrahedron index="23281" v0="3721" v1="4241" v2="4263" v3="6396" />
+ <tetrahedron index="23282" v0="5539" v1="5541" v2="6213" v3="6390" />
+ <tetrahedron index="23283" v0="4370" v1="4625" v2="4633" v3="5073" />
+ <tetrahedron index="23284" v0="3941" v1="4673" v2="4754" v3="5655" />
+ <tetrahedron index="23285" v0="3412" v1="4190" v2="5447" v3="6680" />
+ <tetrahedron index="23286" v0="6291" v1="6536" v2="6537" v3="6893" />
+ <tetrahedron index="23287" v0="4461" v1="4462" v2="4463" v3="5909" />
+ <tetrahedron index="23288" v0="6301" v1="6943" v2="6944" v3="7014" />
+ <tetrahedron index="23289" v0="5992" v1="6092" v2="6667" v3="6939" />
+ <tetrahedron index="23290" v0="5159" v1="5662" v2="5767" v3="5768" />
+ <tetrahedron index="23291" v0="3472" v1="3759" v2="4608" v3="5677" />
+ <tetrahedron index="23292" v0="4581" v1="5150" v2="5752" v3="6179" />
+ <tetrahedron index="23293" v0="4917" v1="5750" v2="6413" v3="6734" />
+ <tetrahedron index="23294" v0="3658" v1="3659" v2="5088" v3="5795" />
+ <tetrahedron index="23295" v0="4486" v1="4744" v2="4821" v3="5350" />
+ <tetrahedron index="23296" v0="4871" v1="5049" v2="6438" v3="6439" />
+ <tetrahedron index="23297" v0="5043" v1="5642" v2="5933" v3="6320" />
+ <tetrahedron index="23298" v0="3558" v1="4259" v2="5162" v3="5775" />
+ <tetrahedron index="23299" v0="3664" v1="4155" v2="4669" v3="5652" />
+ <tetrahedron index="23300" v0="4900" v1="5236" v2="5238" v3="6505" />
+ <tetrahedron index="23301" v0="3969" v1="4015" v2="4212" v3="6355" />
+ <tetrahedron index="23302" v0="5006" v1="5272" v2="5692" v3="5881" />
+ <tetrahedron index="23303" v0="4607" v1="5241" v2="5869" v3="5870" />
+ <tetrahedron index="23304" v0="3904" v1="5311" v2="5953" v3="6565" />
+ <tetrahedron index="23305" v0="3249" v1="3264" v2="5622" v3="5623" />
+ <tetrahedron index="23306" v0="3349" v1="3355" v2="3356" v3="5420" />
+ <tetrahedron index="23307" v0="4184" v1="5639" v2="6318" v3="6812" />
+ <tetrahedron index="23308" v0="3337" v1="5334" v2="5979" v3="6349" />
+ <tetrahedron index="23309" v0="3268" v1="3270" v2="3278" v3="5406" />
+ <tetrahedron index="23310" v0="5165" v1="5467" v2="5780" v3="6132" />
+ <tetrahedron index="23311" v0="4896" v1="5054" v2="5695" v3="5851" />
+ <tetrahedron index="23312" v0="3939" v1="4197" v2="5176" v3="6255" />
+ <tetrahedron index="23313" v0="3602" v1="3790" v2="4742" v3="5225" />
+ <tetrahedron index="23314" v0="5108" v1="5695" v2="5696" v3="6367" />
+ <tetrahedron index="23315" v0="6639" v1="6645" v2="6931" v3="7012" />
+ <tetrahedron index="23316" v0="4927" v1="5314" v2="5936" v3="5956" />
+ <tetrahedron index="23317" v0="5152" v1="6224" v2="6770" v3="6972" />
+ <tetrahedron index="23318" v0="4020" v1="5023" v2="5546" v3="6096" />
+ <tetrahedron index="23319" v0="3277" v1="3285" v2="3287" v3="5618" />
+ <tetrahedron index="23320" v0="3799" v1="4616" v2="5253" v3="5884" />
+ <tetrahedron index="23321" v0="3644" v1="4674" v2="5052" v3="5075" />
+ <tetrahedron index="23322" v0="4910" v1="5263" v2="5895" v3="6530" />
+ <tetrahedron index="23323" v0="3735" v1="4230" v2="4601" v3="5182" />
+ <tetrahedron index="23324" v0="4943" v1="5599" v2="6221" v3="6222" />
+ <tetrahedron index="23325" v0="4880" v1="5183" v2="5548" v3="5798" />
+ <tetrahedron index="23326" v0="4100" v1="4544" v2="5487" v3="6406" />
+ <tetrahedron index="23327" v0="4855" v1="5483" v2="5963" v3="6422" />
+ <tetrahedron index="23328" v0="3351" v1="3949" v2="5256" v3="5890" />
+ <tetrahedron index="23329" v0="4051" v1="4593" v2="5856" v3="6481" />
+ <tetrahedron index="23330" v0="4999" v1="5497" v2="5669" v3="6161" />
+ <tetrahedron index="23331" v0="3519" v1="4587" v2="4710" v3="6599" />
+ <tetrahedron index="23332" v0="3913" v1="5115" v2="5712" v3="6381" />
+ <tetrahedron index="23333" v0="4596" v1="5515" v2="5517" v3="6184" />
+ <tetrahedron index="23334" v0="3298" v1="3299" v2="5215" v3="5834" />
+ <tetrahedron index="23335" v0="4320" v1="4373" v2="5286" v3="5926" />
+ <tetrahedron index="23336" v0="4595" v1="5220" v2="5476" v3="5756" />
+ <tetrahedron index="23337" v0="5004" v1="6004" v2="6171" v3="6724" />
+ <tetrahedron index="23338" v0="4716" v1="4789" v2="5573" v3="6250" />
+ <tetrahedron index="23339" v0="5336" v1="5356" v2="5978" v3="6132" />
+ <tetrahedron index="23340" v0="5880" v1="6098" v2="6640" v3="6674" />
+ <tetrahedron index="23341" v0="3889" v1="4220" v2="4518" v3="6039" />
+ <tetrahedron index="23342" v0="5279" v1="5283" v2="5863" v3="5923" />
+ <tetrahedron index="23343" v0="3262" v1="3372" v2="3688" v3="6114" />
+ <tetrahedron index="23344" v0="5572" v1="6246" v2="6903" v3="6974" />
+ <tetrahedron index="23345" v0="3717" v1="4509" v2="5661" v3="6350" />
+ <tetrahedron index="23346" v0="3392" v1="3393" v2="5277" v3="5916" />
+ <tetrahedron index="23347" v0="3761" v1="5079" v2="5103" v3="5804" />
+ <tetrahedron index="23348" v0="4155" v1="5075" v2="5651" v3="6328" />
+ <tetrahedron index="23349" v0="6426" v1="6729" v2="6850" v3="6992" />
+ <tetrahedron index="23350" v0="3540" v1="3541" v2="5457" v3="6118" />
+ <tetrahedron index="23351" v0="3526" v1="3528" v2="5484" v3="5485" />
+ <tetrahedron index="23352" v0="3565" v1="3824" v2="5091" v3="5715" />
+ <tetrahedron index="23353" v0="3786" v1="5148" v2="5746" v3="6033" />
+ <tetrahedron index="23354" v0="3306" v1="3698" v2="4722" v3="5276" />
+ <tetrahedron index="23355" v0="5054" v1="5608" v2="5696" v3="6366" />
+ <tetrahedron index="23356" v0="4920" v1="5291" v2="5643" v3="5774" />
+ <tetrahedron index="23357" v0="5031" v1="6239" v2="6759" v3="6760" />
+ <tetrahedron index="23358" v0="4849" v1="5348" v2="5995" v3="6407" />
+ <tetrahedron index="23359" v0="4072" v1="4521" v2="4784" v3="5778" />
+ <tetrahedron index="23360" v0="5821" v1="5957" v2="6475" v3="6873" />
+ <tetrahedron index="23361" v0="4012" v1="5229" v2="5230" v3="6385" />
+ <tetrahedron index="23362" v0="3627" v1="5262" v2="6023" v3="6615" />
+ <tetrahedron index="23363" v0="4916" v1="5142" v2="5279" v3="5920" />
+ <tetrahedron index="23364" v0="4728" v1="4729" v2="4794" v3="5857" />
+ <tetrahedron index="23365" v0="4365" v1="4544" v2="4685" v3="5487" />
+ <tetrahedron index="23366" v0="3472" v1="4608" v2="4682" v3="5093" />
+ <tetrahedron index="23367" v0="3275" v1="5201" v2="5202" v3="5965" />
+ <tetrahedron index="23368" v0="3235" v1="3544" v2="4701" v3="5452" />
+ <tetrahedron index="23369" v0="3462" v1="3861" v2="4983" v3="6134" />
+ <tetrahedron index="23370" v0="3796" v1="5022" v2="5544" v3="5893" />
+ <tetrahedron index="23371" v0="3881" v1="4046" v2="6012" v3="6669" />
+ <tetrahedron index="23372" v0="4125" v1="4430" v2="4431" v3="5434" />
+ <tetrahedron index="23373" v0="5093" v1="6005" v2="6349" v3="7024" />
+ <tetrahedron index="23374" v0="4894" v1="6099" v2="6217" v3="6421" />
+ <tetrahedron index="23375" v0="3409" v1="3410" v2="4413" v3="5930" />
+ <tetrahedron index="23376" v0="3738" v1="3739" v2="5040" v3="5579" />
+ <tetrahedron index="23377" v0="4933" v1="5330" v2="5734" v3="5976" />
+ <tetrahedron index="23378" v0="3908" v1="4758" v2="4840" v3="5095" />
+ <tetrahedron index="23379" v0="4008" v1="4261" v2="4412" v3="5048" />
+ <tetrahedron index="23380" v0="5195" v1="6192" v2="6472" v3="6737" />
+ <tetrahedron index="23381" v0="4593" v1="5233" v2="5834" v3="5855" />
+ <tetrahedron index="23382" v0="3394" v1="3395" v2="3396" v3="6143" />
+ <tetrahedron index="23383" v0="4921" v1="5296" v2="5298" v3="5935" />
+ <tetrahedron index="23384" v0="5092" v1="5686" v2="5856" v3="6483" />
+ <tetrahedron index="23385" v0="3239" v1="3240" v2="3710" v3="5324" />
+ <tetrahedron index="23386" v0="3835" v1="3853" v2="4706" v3="5381" />
+ <tetrahedron index="23387" v0="4177" v1="4286" v2="4739" v3="5029" />
+ <tetrahedron index="23388" v0="3490" v1="3491" v2="3589" v3="5261" />
+ <tetrahedron index="23389" v0="5025" v1="5998" v2="6419" v3="6595" />
+ <tetrahedron index="23390" v0="5092" v1="5686" v2="5687" v3="6359" />
+ <tetrahedron index="23391" v0="3450" v1="3451" v2="5242" v3="5829" />
+ <tetrahedron index="23392" v0="4907" v1="6237" v2="6240" v3="6759" />
+ <tetrahedron index="23393" v0="3644" v1="3646" v2="3927" v3="5566" />
+ <tetrahedron index="23394" v0="5095" v1="5115" v2="5705" v3="6381" />
+ <tetrahedron index="23395" v0="5879" v1="6520" v2="6946" v3="6953" />
+ <tetrahedron index="23396" v0="3518" v1="4777" v2="4817" v3="6468" />
+ <tetrahedron index="23397" v0="3835" v1="3853" v2="3854" v3="5381" />
+ <tetrahedron index="23398" v0="4099" v1="4699" v2="5672" v3="6346" />
+ <tetrahedron index="23399" v0="4843" v1="5296" v2="5297" v3="5956" />
+ <tetrahedron index="23400" v0="4361" v1="4362" v2="4526" v3="4695" />
+ <tetrahedron index="23401" v0="4924" v1="5305" v2="5763" v3="6034" />
+ <tetrahedron index="23402" v0="3320" v1="4084" v2="4234" v3="4790" />
+ <tetrahedron index="23403" v0="3890" v1="3892" v2="5378" v3="5529" />
+ <tetrahedron index="23404" v0="3347" v1="3584" v2="3675" v3="5257" />
+ <tetrahedron index="23405" v0="3622" v1="4166" v2="4314" v3="5918" />
+ <tetrahedron index="23406" v0="4857" v1="5446" v2="5875" v3="6105" />
+ <tetrahedron index="23407" v0="4916" v1="5917" v2="5921" v3="6543" />
+ <tetrahedron index="23408" v0="5621" v1="6115" v2="6685" v3="6795" />
+ <tetrahedron index="23409" v0="3503" v1="3550" v2="5384" v3="5466" />
+ <tetrahedron index="23410" v0="3637" v1="3639" v2="5205" v3="5665" />
+ <tetrahedron index="23411" v0="4615" v1="4819" v2="4952" v3="5098" />
+ <tetrahedron index="23412" v0="3580" v1="3699" v2="5569" v3="5571" />
+ <tetrahedron index="23413" v0="4273" v1="5009" v2="5345" v3="6191" />
+ <tetrahedron index="23414" v0="4038" v1="4600" v2="4626" v3="5718" />
+ <tetrahedron index="23415" v0="4949" v1="5378" v2="5529" v3="6030" />
+ <tetrahedron index="23416" v0="3977" v1="4201" v2="4260" v3="5681" />
+ <tetrahedron index="23417" v0="4904" v1="5875" v2="5876" v3="6288" />
+ <tetrahedron index="23418" v0="3956" v1="4241" v2="4263" v3="6396" />
+ <tetrahedron index="23419" v0="4978" v1="5454" v2="6115" v3="6296" />
+ <tetrahedron index="23420" v0="3941" v1="4803" v2="5655" v3="6330" />
+ <tetrahedron index="23421" v0="4947" v1="5373" v2="6340" v3="6546" />
+ <tetrahedron index="23422" v0="3866" v1="4006" v2="4137" v3="6257" />
+ <tetrahedron index="23423" v0="3530" v1="4587" v2="5749" v3="6470" />
+ <tetrahedron index="23424" v0="4880" v1="5111" v2="5796" v3="6160" />
+ <tetrahedron index="23425" v0="4023" v1="4025" v2="4332" v3="4469" />
+ <tetrahedron index="23426" v0="4039" v1="5415" v2="5606" v3="6284" />
+ <tetrahedron index="23427" v0="5621" v1="6685" v2="6795" v3="6796" />
+ <tetrahedron index="23428" v0="4896" v1="5225" v2="5849" v3="6367" />
+ <tetrahedron index="23429" v0="3658" v1="3659" v2="3660" v3="5795" />
+ <tetrahedron index="23430" v0="3725" v1="5126" v2="5457" v3="5459" />
+ <tetrahedron index="23431" v0="4036" v1="5123" v2="5716" v3="5718" />
+ <tetrahedron index="23432" v0="4205" v1="4238" v2="4721" v3="5491" />
+ <tetrahedron index="23433" v0="3339" v1="4509" v2="5334" v3="6350" />
+ <tetrahedron index="23434" v0="3775" v1="4637" v2="5278" v3="5862" />
+ <tetrahedron index="23435" v0="5191" v1="5540" v2="6209" v3="6745" />
+ <tetrahedron index="23436" v0="3571" v1="3750" v2="4686" v3="5400" />
+ <tetrahedron index="23437" v0="4687" v1="5206" v2="5824" v3="6361" />
+ <tetrahedron index="23438" v0="4258" v1="5189" v2="5412" v3="6867" />
+ <tetrahedron index="23439" v0="4589" v1="4672" v2="4843" v3="5298" />
+ <tetrahedron index="23440" v0="3715" v1="4357" v2="5074" v3="5374" />
+ <tetrahedron index="23441" v0="4442" v1="4668" v2="4742" v3="5417" />
+ <tetrahedron index="23442" v0="3636" v1="3824" v2="5180" v3="5791" />
+ <tetrahedron index="23443" v0="5005" v1="6173" v2="6727" v3="6965" />
+ <tetrahedron index="23444" v0="3955" v1="4148" v2="5236" v3="5543" />
+ <tetrahedron index="23445" v0="4093" v1="4153" v2="5486" v3="5742" />
+ <tetrahedron index="23446" v0="4277" v1="4694" v2="5756" v3="6416" />
+ <tetrahedron index="23447" v0="3324" v1="4023" v2="5427" v3="5429" />
+ <tetrahedron index="23448" v0="4730" v1="4738" v2="5052" v3="5601" />
+ <tetrahedron index="23449" v0="6429" v1="6852" v2="6902" v3="6912" />
+ <tetrahedron index="23450" v0="4158" v1="4172" v2="4173" v3="4370" />
+ <tetrahedron index="23451" v0="3881" v1="4046" v2="4783" v3="6012" />
+ <tetrahedron index="23452" v0="4948" v1="5141" v2="5738" v3="5976" />
+ <tetrahedron index="23453" v0="3418" v1="4121" v2="4676" v3="5229" />
+ <tetrahedron index="23454" v0="3736" v1="4436" v2="4748" v3="5270" />
+ <tetrahedron index="23455" v0="3414" v1="4460" v2="4841" v3="5058" />
+ <tetrahedron index="23456" v0="3598" v1="3612" v2="4145" v3="6251" />
+ <tetrahedron index="23457" v0="5054" v1="5072" v2="5695" v3="5851" />
+ <tetrahedron index="23458" v0="4791" v1="5085" v2="6338" v3="6497" />
+ <tetrahedron index="23459" v0="4808" v1="5216" v2="5837" v3="5858" />
+ <tetrahedron index="23460" v0="5012" v1="5524" v2="6266" v3="6424" />
+ <tetrahedron index="23461" v0="3528" v1="4016" v2="4195" v3="5442" />
+ <tetrahedron index="23462" v0="4130" v1="5110" v2="5700" v3="5825" />
+ <tetrahedron index="23463" v0="5042" v1="5582" v2="5583" v3="6579" />
+ <tetrahedron index="23464" v0="3409" v1="5293" v2="5774" v3="5930" />
+ <tetrahedron index="23465" v0="3792" v1="5383" v2="5485" v3="5726" />
+ <tetrahedron index="23466" v0="5093" v1="5767" v2="5768" v3="6432" />
+ <tetrahedron index="23467" v0="5639" v1="6317" v2="6319" v3="6812" />
+ <tetrahedron index="23468" v0="3424" v1="4050" v2="4517" v3="5801" />
+ <tetrahedron index="23469" v0="4384" v1="5558" v2="6210" v3="6747" />
+ <tetrahedron index="23470" v0="4949" v1="5378" v2="5379" v3="6030" />
+ <tetrahedron index="23471" v0="3856" v1="3857" v2="4767" v3="5078" />
+ <tetrahedron index="23472" v0="3935" v1="4337" v2="4499" v3="5645" />
+ <tetrahedron index="23473" v0="4162" v1="4321" v2="5315" v3="5725" />
+ <tetrahedron index="23474" v0="3318" v1="3319" v2="4389" v3="5658" />
+ <tetrahedron index="23475" v0="4051" v1="5217" v2="5856" v3="6481" />
+ <tetrahedron index="23476" v0="4506" v1="4704" v2="4726" v3="6273" />
+ <tetrahedron index="23477" v0="4815" v1="5042" v2="5582" v3="5747" />
+ <tetrahedron index="23478" v0="3462" v1="3463" v2="3543" v3="3654" />
+ <tetrahedron index="23479" v0="3331" v1="3469" v2="5354" v3="5779" />
+ <tetrahedron index="23480" v0="4944" v1="6115" v2="6685" v3="6686" />
+ <tetrahedron index="23481" v0="3825" v1="3826" v2="5056" v3="6108" />
+ <tetrahedron index="23482" v0="4045" v1="4149" v2="4200" v3="5555" />
+ <tetrahedron index="23483" v0="4081" v1="4162" v2="4514" v3="5961" />
+ <tetrahedron index="23484" v0="4924" v1="5304" v2="5305" v3="5942" />
+ <tetrahedron index="23485" v0="4324" v1="4655" v2="5306" v3="5946" />
+ <tetrahedron index="23486" v0="4906" v1="5407" v2="6066" v3="6144" />
+ <tetrahedron index="23487" v0="3767" v1="5210" v2="5829" v3="6364" />
+ <tetrahedron index="23488" v0="3590" v1="3990" v2="4297" v3="5100" />
+ <tetrahedron index="23489" v0="4747" v1="5574" v2="5806" v3="6249" />
+ <tetrahedron index="23490" v0="3911" v1="4672" v2="5138" v3="5935" />
+ <tetrahedron index="23491" v0="4975" v1="5447" v2="5448" v3="5449" />
+ <tetrahedron index="23492" v0="4983" v1="5468" v2="6134" v3="6698" />
+ <tetrahedron index="23493" v0="3709" v1="3735" v2="5182" v3="5608" />
+ <tetrahedron index="23494" v0="3751" v1="4061" v2="5399" v3="6362" />
+ <tetrahedron index="23495" v0="3639" v1="5205" v2="5665" v3="5824" />
+ <tetrahedron index="23496" v0="4425" v1="4689" v2="5536" v3="6207" />
+ <tetrahedron index="23497" v0="4249" v1="4353" v2="5508" v3="6031" />
+ <tetrahedron index="23498" v0="3245" v1="3246" v2="5062" v3="5622" />
+ <tetrahedron index="23499" v0="5465" v1="6535" v2="6536" v3="6897" />
+ <tetrahedron index="23500" v0="4946" v1="5067" v2="5386" v3="6020" />
+ <tetrahedron index="23501" v0="4900" v1="4988" v2="5835" v3="6503" />
+ <tetrahedron index="23502" v0="5520" v1="5598" v2="6273" v3="6472" />
+ <tetrahedron index="23503" v0="3294" v1="3642" v2="3917" v3="5238" />
+ <tetrahedron index="23504" v0="3277" v1="3284" v2="3734" v3="5059" />
+ <tetrahedron index="23505" v0="3760" v1="3761" v2="5079" v3="5103" />
+ <tetrahedron index="23506" v0="4635" v1="4636" v2="4797" v3="5896" />
+ <tetrahedron index="23507" v0="5138" v1="5326" v2="5973" v3="6574" />
+ <tetrahedron index="23508" v0="3974" v1="5047" v2="6264" v3="6265" />
+ <tetrahedron index="23509" v0="3590" v1="3592" v2="5565" v3="6356" />
+ <tetrahedron index="23510" v0="5614" v1="6289" v2="6789" v3="6792" />
+ <tetrahedron index="23511" v0="4103" v1="5063" v2="5451" v3="6111" />
+ <tetrahedron index="23512" v0="6519" v1="6520" v2="6699" v3="6953" />
+ <tetrahedron index="23513" v0="4918" v1="5805" v2="6079" v3="6456" />
+ <tetrahedron index="23514" v0="3460" v1="4771" v2="5807" v3="6459" />
+ <tetrahedron index="23515" v0="4744" v1="4821" v2="5350" v3="5351" />
+ <tetrahedron index="23516" v0="4736" v1="5223" v2="5478" v3="6141" />
+ <tetrahedron index="23517" v0="4181" v1="5277" v2="5629" v3="6355" />
+ <tetrahedron index="23518" v0="4891" v1="5031" v2="6759" v3="6760" />
+ <tetrahedron index="23519" v0="4942" v1="5682" v2="5683" v3="5912" />
+ <tetrahedron index="23520" v0="3478" v1="3636" v2="5180" v3="5791" />
+ <tetrahedron index="23521" v0="4872" v1="5050" v2="6269" v3="6327" />
+ <tetrahedron index="23522" v0="3664" v1="5061" v2="5250" v3="5652" />
+ <tetrahedron index="23523" v0="3882" v1="5085" v2="5664" v3="6338" />
+ <tetrahedron index="23524" v0="6582" v1="6595" v2="6839" v3="6845" />
+ <tetrahedron index="23525" v0="6075" v1="6283" v2="6787" v3="7027" />
+ <tetrahedron index="23526" v0="4932" v1="5705" v2="5970" v3="5974" />
+ <tetrahedron index="23527" v0="3724" v1="4055" v2="5710" v3="5913" />
+ <tetrahedron index="23528" v0="4494" v1="4525" v2="5595" v3="6007" />
+ <tetrahedron index="23529" v0="4580" v1="4711" v2="5150" v3="5999" />
+ <tetrahedron index="23530" v0="4424" v1="5388" v2="5390" v3="6619" />
+ <tetrahedron index="23531" v0="4638" v1="5336" v2="6349" v3="7024" />
+ <tetrahedron index="23532" v0="3690" v1="4548" v2="4799" v3="6199" />
+ <tetrahedron index="23533" v0="4901" v1="5864" v2="6506" v3="6508" />
+ <tetrahedron index="23534" v0="4194" v1="5414" v2="6074" v3="6653" />
+ <tetrahedron index="23535" v0="5041" v1="5116" v2="5514" v3="5901" />
+ <tetrahedron index="23536" v0="5167" v1="6156" v2="6804" v3="6843" />
+ <tetrahedron index="23537" v0="5298" v1="5314" v2="5670" v3="5936" />
+ <tetrahedron index="23538" v0="3250" v1="4016" v2="4017" v3="5463" />
+ <tetrahedron index="23539" v0="4613" v1="5541" v2="6244" v3="6762" />
+ <tetrahedron index="23540" v0="3749" v1="5579" v2="6254" v3="6772" />
+ <tetrahedron index="23541" v0="4068" v1="5070" v2="5774" v3="6320" />
+ <tetrahedron index="23542" v0="4897" v1="5078" v2="5231" v3="5717" />
+ <tetrahedron index="23543" v0="4863" v1="5902" v2="6097" v3="6941" />
+ <tetrahedron index="23544" v0="4523" v1="4579" v2="5285" v3="5924" />
+ <tetrahedron index="23545" v0="4496" v1="4536" v2="5895" v3="6531" />
+ <tetrahedron index="23546" v0="3827" v1="3952" v2="5513" v3="6110" />
+ <tetrahedron index="23547" v0="5040" v1="5174" v2="5578" v3="5580" />
+ <tetrahedron index="23548" v0="3337" v1="3339" v2="4509" v3="5334" />
+ <tetrahedron index="23549" v0="4964" v1="5444" v2="6129" v3="6676" />
+ <tetrahedron index="23550" v0="5113" v1="5257" v2="5890" v3="5891" />
+ <tetrahedron index="23551" v0="4868" v1="5766" v2="5981" v3="6138" />
+ <tetrahedron index="23552" v0="4126" v1="4561" v2="4811" v3="6189" />
+ <tetrahedron index="23553" v0="3664" v1="4155" v2="5652" v3="6328" />
+ <tetrahedron index="23554" v0="5221" v1="5840" v2="6644" v3="6961" />
+ <tetrahedron index="23555" v0="3269" v1="4989" v2="5267" v3="5308" />
+ <tetrahedron index="23556" v0="5847" v1="5889" v2="6338" v3="6496" />
+ <tetrahedron index="23557" v0="3828" v1="3908" v2="3909" v3="5271" />
+ <tetrahedron index="23558" v0="3300" v1="3954" v2="3955" v3="5543" />
+ <tetrahedron index="23559" v0="3327" v1="4203" v2="4204" v3="5430" />
+ <tetrahedron index="23560" v0="3850" v1="3851" v2="3852" v3="5894" />
+ <tetrahedron index="23561" v0="3473" v1="5084" v2="5661" v3="5773" />
+ <tetrahedron index="23562" v0="5559" v1="5867" v2="6509" v3="6510" />
+ <tetrahedron index="23563" v0="3921" v1="5070" v2="5642" v3="6320" />
+ <tetrahedron index="23564" v0="4273" v1="5345" v2="6191" v3="6272" />
+ <tetrahedron index="23565" v0="3745" v1="3811" v2="4372" v3="5581" />
+ <tetrahedron index="23566" v0="5246" v1="6277" v2="6655" v3="6788" />
+ <tetrahedron index="23567" v0="3418" v1="3419" v2="4121" v3="5666" />
+ <tetrahedron index="23568" v0="3905" v1="4285" v2="4286" v3="5954" />
+ <tetrahedron index="23569" v0="5269" v1="5477" v2="5846" v3="6653" />
+ <tetrahedron index="23570" v0="4977" v1="5453" v2="5776" v3="6321" />
+ <tetrahedron index="23571" v0="3700" v1="4218" v2="5563" v3="6318" />
+ <tetrahedron index="23572" v0="4679" v1="4912" v2="5319" v3="5949" />
+ <tetrahedron index="23573" v0="4976" v1="5512" v2="6176" v3="6177" />
+ <tetrahedron index="23574" v0="4041" v1="5031" v2="5564" v3="6238" />
+ <tetrahedron index="23575" v0="4896" v1="5225" v2="5226" v3="6499" />
+ <tetrahedron index="23576" v0="5349" v1="6287" v2="6722" v3="6734" />
+ <tetrahedron index="23577" v0="3363" v1="4115" v2="6345" v3="6826" />
+ <tetrahedron index="23578" v0="5439" v1="6098" v2="6099" v3="6675" />
+ <tetrahedron index="23579" v0="4923" v1="5636" v2="5833" v3="6317" />
+ <tetrahedron index="23580" v0="6130" v1="6537" v2="6696" v3="6697" />
+ <tetrahedron index="23581" v0="6430" v1="6855" v2="7023" v3="7030" />
+ <tetrahedron index="23582" v0="3413" v1="3496" v2="4263" v3="5447" />
+ <tetrahedron index="23583" v0="4923" v1="5301" v2="5302" v3="5940" />
+ <tetrahedron index="23584" v0="5761" v1="6176" v2="6652" v3="6729" />
+ <tetrahedron index="23585" v0="4331" v1="4344" v2="4345" v3="4505" />
+ <tetrahedron index="23586" v0="4185" v1="5191" v2="5540" v3="5813" />
+ <tetrahedron index="23587" v0="3850" v1="3852" v2="5894" v3="6529" />
+ <tetrahedron index="23588" v0="4891" v1="5109" v2="5211" v3="5830" />
+ <tetrahedron index="23589" v0="3810" v1="4208" v2="5134" v3="5786" />
+ <tetrahedron index="23590" v0="4122" v1="4316" v2="4317" v3="5609" />
+ <tetrahedron index="23591" v0="4893" v1="5021" v2="5835" v3="6214" />
+ <tetrahedron index="23592" v0="4920" v1="5291" v2="5506" v3="5931" />
+ <tetrahedron index="23593" v0="4872" v1="5648" v2="6326" v3="6394" />
+ <tetrahedron index="23594" v0="3978" v1="4585" v2="5392" v3="6048" />
+ <tetrahedron index="23595" v0="4434" v1="4477" v2="5218" v3="5837" />
+ <tetrahedron index="23596" v0="4634" v1="5437" v2="5546" v3="6218" />
+ <tetrahedron index="23597" v0="3439" v1="3705" v2="4019" v3="5851" />
+ <tetrahedron index="23598" v0="4462" v1="4463" v2="5711" v3="5909" />
+ <tetrahedron index="23599" v0="4922" v1="5299" v2="5760" v3="6425" />
+ <tetrahedron index="23600" v0="4887" v1="5199" v2="5674" v3="5713" />
+ <tetrahedron index="23601" v0="4088" v1="4445" v2="4747" v3="6249" />
+ <tetrahedron index="23602" v0="5193" v1="6188" v2="6408" v3="6469" />
+ <tetrahedron index="23603" v0="4883" v1="6276" v2="6793" v3="6950" />
+ <tetrahedron index="23604" v0="3602" v1="3790" v2="5108" v3="5225" />
+ <tetrahedron index="23605" v0="3691" v1="4050" v2="5187" v3="5801" />
+ <tetrahedron index="23606" v0="5755" v1="6419" v2="6598" v3="6914" />
+ <tetrahedron index="23607" v0="5958" v1="6568" v2="6900" v3="6901" />
+ <tetrahedron index="23608" v0="3585" v1="4683" v2="4684" v3="5938" />
+ <tetrahedron index="23609" v0="5054" v1="5696" v2="5848" v3="6367" />
+ <tetrahedron index="23610" v0="4523" v1="4579" v2="4597" v3="5924" />
+ <tetrahedron index="23611" v0="3537" v1="3800" v2="5934" v3="5972" />
+ <tetrahedron index="23612" v0="3579" v1="3699" v2="4755" v3="5569" />
+ <tetrahedron index="23613" v0="4027" v1="4104" v2="4823" v3="5082" />
+ <tetrahedron index="23614" v0="4997" v1="5516" v2="6180" v3="6732" />
+ <tetrahedron index="23615" v0="5632" v1="6313" v2="6693" v3="6951" />
+ <tetrahedron index="23616" v0="4007" v1="5583" v2="6256" v3="6257" />
+ <tetrahedron index="23617" v0="3474" v1="3476" v2="5102" v3="5117" />
+ <tetrahedron index="23618" v0="3848" v1="4834" v2="5313" v3="5956" />
+ <tetrahedron index="23619" v0="4975" v1="5865" v2="5867" v3="6509" />
+ <tetrahedron index="23620" v0="4721" v1="5491" v2="5731" v3="6395" />
+ <tetrahedron index="23621" v0="3478" v1="3971" v2="4019" v3="5794" />
+ <tetrahedron index="23622" v0="3914" v1="3943" v2="3986" v3="5080" />
+ <tetrahedron index="23623" v0="5014" v1="5458" v2="6120" v3="6688" />
+ <tetrahedron index="23624" v0="4269" v1="5088" v2="5795" v3="5798" />
+ <tetrahedron index="23625" v0="4951" v1="4974" v2="5382" v3="5445" />
+ <tetrahedron index="23626" v0="3527" v1="3792" v2="4973" v3="5383" />
+ <tetrahedron index="23627" v0="4243" v1="4806" v2="5057" v3="6031" />
+ <tetrahedron index="23628" v0="4498" v1="5071" v2="5254" v3="5887" />
+ <tetrahedron index="23629" v0="3914" v1="4840" v2="5115" v3="5908" />
+ <tetrahedron index="23630" v0="3618" v1="4262" v2="4437" v3="5662" />
+ <tetrahedron index="23631" v0="5002" v1="5358" v2="5864" v3="6010" />
+ <tetrahedron index="23632" v0="4891" v1="5052" v2="5213" v3="6760" />
+ <tetrahedron index="23633" v0="3788" v1="5016" v2="5531" v3="5532" />
+ <tetrahedron index="23634" v0="4125" v1="4307" v2="4431" v3="5434" />
+ <tetrahedron index="23635" v0="5207" v1="5209" v2="5828" v3="5927" />
+ <tetrahedron index="23636" v0="3487" v1="3488" v2="6617" v3="6938" />
+ <tetrahedron index="23637" v0="3587" v1="3978" v2="4585" v3="5392" />
+ <tetrahedron index="23638" v0="4331" v1="4505" v2="5429" v3="5789" />
+ <tetrahedron index="23639" v0="4132" v1="4796" v2="5427" v3="5428" />
+ <tetrahedron index="23640" v0="4649" v1="4808" v2="5687" v3="5837" />
+ <tetrahedron index="23641" v0="3985" v1="5227" v2="5850" v3="5851" />
+ <tetrahedron index="23642" v0="4965" v1="5420" v2="5889" v3="6496" />
+ <tetrahedron index="23643" v0="5038" v1="5406" v2="5480" v3="6144" />
+ <tetrahedron index="23644" v0="4487" v1="4610" v2="5722" v3="6692" />
+ <tetrahedron index="23645" v0="4086" v1="5925" v2="6091" v3="6457" />
+ <tetrahedron index="23646" v0="3655" v1="3787" v2="6374" v3="6742" />
+ <tetrahedron index="23647" v0="5437" v1="6099" v2="6217" v3="6674" />
+ <tetrahedron index="23648" v0="4095" v1="4558" v2="4703" v3="5376" />
+ <tetrahedron index="23649" v0="4247" v1="4272" v2="4315" v3="5497" />
+ <tetrahedron index="23650" v0="3447" v1="3951" v2="5591" v3="5803" />
+ <tetrahedron index="23651" v0="4650" v1="5203" v2="5822" v3="6873" />
+ <tetrahedron index="23652" v0="3542" v1="4151" v2="6109" v3="6605" />
+ <tetrahedron index="23653" v0="4184" v1="4336" v2="5639" v3="6318" />
+ <tetrahedron index="23654" v0="3693" v1="5364" v2="5845" v3="6494" />
+ <tetrahedron index="23655" v0="4906" v1="5249" v2="5407" v3="5882" />
+ <tetrahedron index="23656" v0="4935" v1="5636" v2="5639" v3="6317" />
+ <tetrahedron index="23657" v0="4463" v1="5121" v2="5711" v3="5909" />
+ <tetrahedron index="23658" v0="3238" v1="3545" v2="3619" v3="5419" />
+ <tetrahedron index="23659" v0="4300" v1="4788" v2="4835" v3="5831" />
+ <tetrahedron index="23660" v0="4882" v1="5188" v2="6092" v3="6458" />
+ <tetrahedron index="23661" v0="4135" v1="5184" v2="5323" v3="5969" />
+ <tetrahedron index="23662" v0="3577" v1="3799" v2="4616" v3="5253" />
+ <tetrahedron index="23663" v0="3462" v1="3617" v2="4599" v3="5469" />
+ <tetrahedron index="23664" v0="3339" v1="4439" v2="4485" v3="5471" />
+ <tetrahedron index="23665" v0="3535" v1="5890" v2="6113" v3="6684" />
+ <tetrahedron index="23666" v0="5881" v1="5953" v2="6521" v3="6891" />
+ <tetrahedron index="23667" v0="4856" v1="5588" v2="6052" v3="6638" />
+ <tetrahedron index="23668" v0="3652" v1="4426" v2="5111" v3="5777" />
+ <tetrahedron index="23669" v0="4855" v1="4912" v2="4989" v3="5949" />
+ <tetrahedron index="23670" v0="3908" v1="4490" v2="5271" v3="5908" />
+ <tetrahedron index="23671" v0="5248" v1="5547" v2="5880" v3="6096" />
+ <tetrahedron index="23672" v0="3322" v1="3323" v2="3434" v3="5578" />
+ <tetrahedron index="23673" v0="3231" v1="3613" v2="5158" v3="5473" />
+ <tetrahedron index="23674" v0="6619" v1="6623" v2="6844" v3="6969" />
+ <tetrahedron index="23675" v0="3828" v1="3909" v2="5271" v3="6730" />
+ <tetrahedron index="23676" v0="4967" v1="6084" v2="6085" v3="6661" />
+ <tetrahedron index="23677" v0="3574" v1="5881" v2="5953" v3="6523" />
+ <tetrahedron index="23678" v0="3480" v1="3872" v2="3873" v3="5089" />
+ <tetrahedron index="23679" v0="5032" v1="5778" v2="6813" v3="6861" />
+ <tetrahedron index="23680" v0="4947" v1="5372" v2="5373" v3="6023" />
+ <tetrahedron index="23681" v0="4846" v1="5249" v2="6065" v3="6524" />
+ <tetrahedron index="23682" v0="5087" v1="5292" v2="5929" v3="6024" />
+ <tetrahedron index="23683" v0="5783" v1="6444" v2="6445" v3="6865" />
+ <tetrahedron index="23684" v0="4632" v1="5073" v2="5468" v3="5597" />
+ <tetrahedron index="23685" v0="4275" v1="4586" v2="5178" v3="5733" />
+ <tetrahedron index="23686" v0="4946" v1="5369" v2="5386" v3="6020" />
+ <tetrahedron index="23687" v0="3931" v1="5288" v2="5927" v3="5928" />
+ <tetrahedron index="23688" v0="3914" v1="4490" v2="4840" v3="5908" />
+ <tetrahedron index="23689" v0="5091" v1="5122" v2="5674" v3="5713" />
+ <tetrahedron index="23690" v0="3690" v1="4474" v2="4799" v3="5013" />
+ <tetrahedron index="23691" v0="4904" v1="5458" v2="6122" v3="6126" />
+ <tetrahedron index="23692" v0="5031" v1="5565" v2="5831" v3="6238" />
+ <tetrahedron index="23693" v0="4921" v1="5671" v2="5936" v3="6826" />
+ <tetrahedron index="23694" v0="5149" v1="5814" v2="5999" v3="6599" />
+ <tetrahedron index="23695" v0="3796" v1="4229" v2="4484" v3="5893" />
+ <tetrahedron index="23696" v0="3563" v1="3564" v2="3611" v3="5818" />
+ <tetrahedron index="23697" v0="3475" v1="5117" v2="5258" v3="5663" />
+ <tetrahedron index="23698" v0="5105" v1="5690" v2="5691" v3="6339" />
+ <tetrahedron index="23699" v0="3595" v1="3740" v2="4638" v3="5356" />
+ <tetrahedron index="23700" v0="3826" v1="3944" v2="4606" v3="5240" />
+ <tetrahedron index="23701" v0="5243" v1="5276" v2="5627" v3="5872" />
+ <tetrahedron index="23702" v0="3642" v1="5021" v2="5543" v3="6214" />
+ <tetrahedron index="23703" v0="3737" v1="4575" v2="5146" v3="5678" />
+ <tetrahedron index="23704" v0="4895" v1="6275" v2="6491" v3="6881" />
+ <tetrahedron index="23705" v0="4594" v1="4720" v2="4767" v3="5716" />
+ <tetrahedron index="23706" v0="4072" v1="4680" v2="5778" v3="6162" />
+ <tetrahedron index="23707" v0="3914" v1="5080" v2="5115" v3="5908" />
+ <tetrahedron index="23708" v0="3478" v1="3635" v2="3971" v3="5181" />
+ <tetrahedron index="23709" v0="3589" v1="3723" v2="3845" v3="5261" />
+ <tetrahedron index="23710" v0="5021" v1="5218" v2="5836" v3="5859" />
+ <tetrahedron index="23711" v0="4059" v1="4103" v2="5451" v3="5626" />
+ <tetrahedron index="23712" v0="3914" v1="4490" v2="5080" v3="5908" />
+ <tetrahedron index="23713" v0="5510" v1="6172" v2="6174" v3="6965" />
+ <tetrahedron index="23714" v0="3491" v1="4794" v2="5260" v3="5857" />
+ <tetrahedron index="23715" v0="6052" v1="6053" v2="6443" v3="6976" />
+ <tetrahedron index="23716" v0="4901" v1="5448" v2="5866" v3="6108" />
+ <tetrahedron index="23717" v0="4995" v1="5731" v2="6152" v3="6395" />
+ <tetrahedron index="23718" v0="4219" v1="4220" v2="4658" v3="5387" />
+ <tetrahedron index="23719" v0="3284" v1="4974" v2="5133" v3="5382" />
+ <tetrahedron index="23720" v0="3816" v1="4292" v2="5539" v3="6041" />
+ <tetrahedron index="23721" v0="4738" v1="5052" v2="5213" v3="5601" />
+ <tetrahedron index="23722" v0="4050" v1="4517" v2="5186" v3="5801" />
+ <tetrahedron index="23723" v0="5036" v1="6048" v2="6051" v3="6631" />
+ <tetrahedron index="23724" v0="5337" v1="5981" v2="6205" v3="6743" />
+ <tetrahedron index="23725" v0="4177" v1="4285" v2="4286" v3="6235" />
+ <tetrahedron index="23726" v0="4923" v1="5744" v2="5938" v3="5939" />
+ <tetrahedron index="23727" v0="4269" v1="4707" v2="5088" v3="5669" />
+ <tetrahedron index="23728" v0="4869" v1="5160" v2="5770" v3="5773" />
+ <tetrahedron index="23729" v0="3367" v1="5248" v2="6518" v3="6523" />
+ <tetrahedron index="23730" v0="4223" v1="4224" v2="5147" v3="5637" />
+ <tetrahedron index="23731" v0="3277" v1="3284" v2="5059" v3="6064" />
+ <tetrahedron index="23732" v0="5617" v1="6292" v2="6597" v3="6907" />
+ <tetrahedron index="23733" v0="4962" v1="6072" v2="6130" v3="6696" />
+ <tetrahedron index="23734" v0="4958" v1="5399" v2="5400" v3="5691" />
+ <tetrahedron index="23735" v0="3377" v1="3748" v2="3765" v3="5441" />
+ <tetrahedron index="23736" v0="5149" v1="6408" v2="6868" v3="6871" />
+ <tetrahedron index="23737" v0="6568" v1="6577" v2="6922" v3="7010" />
+ <tetrahedron index="23738" v0="4955" v1="5554" v2="6740" v3="6927" />
+ <tetrahedron index="23739" v0="4926" v1="5547" v2="6521" v3="6523" />
+ <tetrahedron index="23740" v0="4119" v1="4797" v2="5260" v3="6615" />
+ <tetrahedron index="23741" v0="3250" v1="4981" v2="5463" v3="5464" />
+ <tetrahedron index="23742" v0="3352" v1="5664" v2="6338" v3="6822" />
+ <tetrahedron index="23743" v0="4163" v1="4762" v2="5123" v3="5198" />
+ <tetrahedron index="23744" v0="4965" v1="5847" v2="5889" v3="6496" />
+ <tetrahedron index="23745" v0="3658" v1="4146" v2="5183" v3="5795" />
+ <tetrahedron index="23746" v0="3399" v1="3401" v2="6801" v3="6803" />
+ <tetrahedron index="23747" v0="5182" v1="5608" v2="5696" v3="6366" />
+ <tetrahedron index="23748" v0="3257" v1="3265" v2="4991" v3="5587" />
+ <tetrahedron index="23749" v0="3594" v1="3596" v2="5333" v3="6132" />
+ <tetrahedron index="23750" v0="4306" v1="4380" v2="5290" v3="5732" />
+ <tetrahedron index="23751" v0="3947" v1="4419" v2="4836" v3="6175" />
+ <tetrahedron index="23752" v0="4190" v1="4198" v2="4380" v3="5131" />
+ <tetrahedron index="23753" v0="3340" v1="4538" v2="4709" v3="5765" />
+ <tetrahedron index="23754" v0="3399" v1="5124" v2="5827" v3="6306" />
+ <tetrahedron index="23755" v0="3831" v1="4288" v2="5112" v3="5703" />
+ <tetrahedron index="23756" v0="3908" v1="4490" v2="4840" v3="5908" />
+ <tetrahedron index="23757" v0="5510" v1="6174" v2="6233" v3="6965" />
+ <tetrahedron index="23758" v0="3692" v1="4736" v2="5223" v3="5843" />
+ <tetrahedron index="23759" v0="3232" v1="3772" v2="4417" v3="5119" />
+ <tetrahedron index="23760" v0="3875" v1="5865" v2="6109" v3="6508" />
+ <tetrahedron index="23761" v0="5397" v1="6053" v2="6637" v3="6638" />
+ <tetrahedron index="23762" v0="4977" v1="5644" v2="5645" v3="6322" />
+ <tetrahedron index="23763" v0="4853" v1="5402" v2="5524" v3="6060" />
+ <tetrahedron index="23764" v0="4918" v1="5926" v2="6567" v3="6905" />
+ <tetrahedron index="23765" v0="3440" v1="4256" v2="4549" v3="5224" />
+ <tetrahedron index="23766" v0="3283" v1="3382" v2="3387" v3="5901" />
+ <tetrahedron index="23767" v0="3468" v1="4617" v2="5356" v3="5779" />
+ <tetrahedron index="23768" v0="4254" v1="5024" v2="5577" v3="6253" />
+ <tetrahedron index="23769" v0="4023" v1="4024" v2="4025" v3="4469" />
+ <tetrahedron index="23770" v0="3350" v1="3351" v2="3536" v3="5890" />
+ <tetrahedron index="23771" v0="4179" v1="5185" v2="5497" v3="5798" />
+ <tetrahedron index="23772" v0="4362" v1="4363" v2="4695" v3="4774" />
+ <tetrahedron index="23773" v0="3812" v1="4275" v2="4586" v3="5786" />
+ <tetrahedron index="23774" v0="3420" v1="3422" v2="4589" v3="5314" />
+ <tetrahedron index="23775" v0="4009" v1="4079" v2="4131" v3="5799" />
+ <tetrahedron index="23776" v0="3324" v1="3940" v2="4132" v3="5427" />
+ <tetrahedron index="23777" v0="3548" v1="3585" v2="3586" v3="5302" />
+ <tetrahedron index="23778" v0="4936" v1="5340" v2="5341" v3="5984" />
+ <tetrahedron index="23779" v0="3534" v1="3535" v2="4337" v3="6113" />
+ <tetrahedron index="23780" v0="4209" v1="4338" v2="4399" v3="6553" />
+ <tetrahedron index="23781" v0="4439" v1="5471" v2="6136" v3="6350" />
+ <tetrahedron index="23782" v0="3851" v1="4358" v2="5263" v3="5894" />
+ <tetrahedron index="23783" v0="4128" v1="4797" v2="5033" v3="5568" />
+ <tetrahedron index="23784" v0="4884" v1="5556" v2="6209" v3="6461" />
+ <tetrahedron index="23785" v0="6626" v1="6627" v2="6923" v3="6925" />
+ <tetrahedron index="23786" v0="3703" v1="4615" v2="5369" v3="5386" />
+ <tetrahedron index="23787" v0="5211" v1="5289" v2="6274" v3="6369" />
+ <tetrahedron index="23788" v0="4215" v1="4391" v2="4586" v3="5178" />
+ <tetrahedron index="23789" v0="3666" v1="4105" v2="4618" v3="6816" />
+ <tetrahedron index="23790" v0="5031" v1="5566" v2="6239" v3="6240" />
+ <tetrahedron index="23791" v0="4979" v1="5660" v2="5773" v3="6334" />
+ <tetrahedron index="23792" v0="5287" v1="5423" v2="6081" v3="6256" />
+ <tetrahedron index="23793" v0="4003" v1="4693" v2="4787" v3="5693" />
+ <tetrahedron index="23794" v0="5178" v1="5429" v2="5788" v3="6448" />
+ <tetrahedron index="23795" v0="3444" v1="5324" v2="5911" v3="5970" />
+ <tetrahedron index="23796" v0="4896" v1="5072" v2="5850" v3="6499" />
+ <tetrahedron index="23797" v0="5114" v1="5208" v2="5826" v3="5827" />
+ <tetrahedron index="23798" v0="4492" v1="4532" v2="4718" v3="5516" />
+ <tetrahedron index="23799" v0="3777" v1="4776" v2="4822" v3="5604" />
+ <tetrahedron index="23800" v0="3623" v1="4314" v2="5237" v3="5860" />
+ <tetrahedron index="23801" v0="3309" v1="3686" v2="5291" v3="5933" />
+ <tetrahedron index="23802" v0="4747" v1="4789" v2="4829" v3="5574" />
+ <tetrahedron index="23803" v0="5269" v1="5270" v2="6015" v3="6612" />
+ <tetrahedron index="23804" v0="5873" v1="6124" v2="6693" v3="6787" />
+ <tetrahedron index="23805" v0="4964" v1="6105" v2="6129" v3="6676" />
+ <tetrahedron index="23806" v0="3324" v1="3817" v2="4332" v3="6086" />
+ <tetrahedron index="23807" v0="3283" v1="3741" v2="5007" v3="5654" />
+ <tetrahedron index="23808" v0="3527" v1="5383" v2="5444" v3="6514" />
+ <tetrahedron index="23809" v0="3626" v1="3724" v2="4055" v3="5913" />
+ <tetrahedron index="23810" v0="4862" v1="5764" v2="6233" v3="6757" />
+ <tetrahedron index="23811" v0="3730" v1="5312" v2="5824" v3="5955" />
+ <tetrahedron index="23812" v0="4970" v1="5433" v2="6591" v3="6940" />
+ <tetrahedron index="23813" v0="3280" v1="5266" v2="5901" v3="6058" />
+ <tetrahedron index="23814" v0="4139" v1="5389" v2="6041" v3="6620" />
+ <tetrahedron index="23815" v0="5091" v1="5122" v2="5674" v3="5715" />
+ <tetrahedron index="23816" v0="4222" v1="4395" v2="5292" v3="6547" />
+ <tetrahedron index="23817" v0="3244" v1="3573" v2="5547" v3="5952" />
+ <tetrahedron index="23818" v0="3453" v1="3455" v2="5207" v3="5927" />
+ <tetrahedron index="23819" v0="4930" v1="6167" v2="6721" v3="6880" />
+ <tetrahedron index="23820" v0="4861" v1="6585" v2="6622" v3="6908" />
+ <tetrahedron index="23821" v0="3460" v1="4326" v2="4771" v3="5807" />
+ <tetrahedron index="23822" v0="3806" v1="4367" v2="5039" v3="5576" />
+ <tetrahedron index="23823" v0="3712" v1="5533" v2="6057" v3="6835" />
+ <tetrahedron index="23824" v0="3294" v1="3296" v2="5021" v3="5836" />
+ <tetrahedron index="23825" v0="3338" v1="4134" v2="4757" v3="5335" />
+ <tetrahedron index="23826" v0="4270" v1="4639" v2="4651" v3="5375" />
+ <tetrahedron index="23827" v0="4366" v1="4544" v2="6095" v3="6517" />
+ <tetrahedron index="23828" v0="4940" v1="5016" v2="5596" v3="5676" />
+ <tetrahedron index="23829" v0="4875" v1="5590" v2="6259" v3="6265" />
+ <tetrahedron index="23830" v0="4714" v1="4744" v2="4821" v3="5351" />
+ <tetrahedron index="23831" v0="3259" v1="3973" v2="5046" v3="6265" />
+ <tetrahedron index="23832" v0="4718" v1="5515" v2="5516" v3="6187" />
+ <tetrahedron index="23833" v0="3664" v1="3665" v2="4155" v3="6328" />
+ <tetrahedron index="23834" v0="5024" v1="5039" v2="5967" v3="6196" />
+ <tetrahedron index="23835" v0="4287" v1="4432" v2="4437" v3="6335" />
+ <tetrahedron index="23836" v0="4885" v1="5599" v2="6587" v3="6840" />
+ <tetrahedron index="23837" v0="3761" v1="5079" v2="5591" v3="5804" />
+ <tetrahedron index="23838" v0="3550" v1="3551" v2="5098" v3="5385" />
+ <tetrahedron index="23839" v0="6589" v1="6666" v2="6667" v3="6911" />
+ <tetrahedron index="23840" v0="3900" v1="5203" v2="5206" v3="6362" />
+ <tetrahedron index="23841" v0="4518" v1="4615" v2="4658" v3="5387" />
+ <tetrahedron index="23842" v0="4216" v1="4433" v2="4662" v3="5235" />
+ <tetrahedron index="23843" v0="5278" v1="5862" v2="5918" v3="5922" />
+ <tetrahedron index="23844" v0="5058" v1="5611" v2="6011" v3="6610" />
+ <tetrahedron index="23845" v0="3331" v1="5354" v2="5355" v3="5779" />
+ <tetrahedron index="23846" v0="4970" v1="5434" v2="6090" v3="6665" />
+ <tetrahedron index="23847" v0="5053" v1="6275" v2="6782" v3="6881" />
+ <tetrahedron index="23848" v0="4266" v1="4486" v2="5989" v3="6702" />
+ <tetrahedron index="23849" v0="3714" v1="3715" v2="4357" v3="5374" />
+ <tetrahedron index="23850" v0="3669" v1="4693" v2="4765" v3="5915" />
+ <tetrahedron index="23851" v0="4105" v1="4574" v2="5211" v3="5830" />
+ <tetrahedron index="23852" v0="3338" v1="4757" v2="5335" v3="5765" />
+ <tetrahedron index="23853" v0="4787" v1="5243" v2="5693" v3="6478" />
+ <tetrahedron index="23854" v0="4912" v1="5266" v2="5962" v3="5966" />
+ <tetrahedron index="23855" v0="5002" v1="5611" v2="6607" v3="6610" />
+ <tetrahedron index="23856" v0="4620" v1="5145" v2="5963" v3="6405" />
+ <tetrahedron index="23857" v0="5205" v1="5821" v2="5824" v3="6829" />
+ <tetrahedron index="23858" v0="3774" v1="3836" v2="5282" v3="5920" />
+ <tetrahedron index="23859" v0="3873" v1="5089" v2="5672" v3="6343" />
+ <tetrahedron index="23860" v0="4886" v1="5029" v2="5081" v3="6817" />
+ <tetrahedron index="23861" v0="5470" v1="5624" v2="6111" v3="6540" />
+ <tetrahedron index="23862" v0="3540" v1="5457" v2="6118" v3="6389" />
+ <tetrahedron index="23863" v0="4866" v1="6072" v2="6535" v3="6799" />
+ <tetrahedron index="23864" v0="5943" v1="6308" v2="6551" v3="6554" />
+ <tetrahedron index="23865" v0="5246" v1="6201" v2="6285" v3="7000" />
+ <tetrahedron index="23866" v0="4176" v1="5029" v2="5081" v3="6332" />
+ <tetrahedron index="23867" v0="3575" v1="3631" v2="3887" v3="5885" />
+ <tetrahedron index="23868" v0="4954" v1="5393" v2="5984" v3="6578" />
+ <tetrahedron index="23869" v0="5630" v1="6308" v2="6806" v3="6924" />
+ <tetrahedron index="23870" v0="6717" v1="6794" v2="6929" v3="7021" />
+ <tetrahedron index="23871" v0="5493" v1="6050" v2="6630" v3="6710" />
+ <tetrahedron index="23872" v0="3997" v1="4056" v2="5125" v3="5329" />
+ <tetrahedron index="23873" v0="4863" v1="5268" v2="5902" v3="6150" />
+ <tetrahedron index="23874" v0="4919" v1="5288" v2="5289" v3="6369" />
+ <tetrahedron index="23875" v0="4547" v1="4809" v2="5637" v3="6812" />
+ <tetrahedron index="23876" v0="5135" v1="6237" v2="6356" v3="6759" />
+ <tetrahedron index="23877" v0="5170" v1="5783" v2="6106" v3="6444" />
+ <tetrahedron index="23878" v0="4979" v1="5660" v2="5702" v3="6334" />
+ <tetrahedron index="23879" v0="3472" v1="5084" v2="5093" v3="5677" />
+ <tetrahedron index="23880" v0="3493" v1="4421" v2="5239" v3="6608" />
+ <tetrahedron index="23881" v0="4868" v1="6204" v2="6373" v3="6832" />
+ <tetrahedron index="23882" v0="3879" v1="4645" v2="5173" v3="5886" />
+ <tetrahedron index="23883" v0="5119" v1="5707" v2="5708" v3="6380" />
+ <tetrahedron index="23884" v0="3637" v1="3638" v2="3639" v3="5205" />
+ <tetrahedron index="23885" v0="3658" v1="4109" v2="4264" v3="5183" />
+ <tetrahedron index="23886" v0="4584" v1="4585" v2="5394" v3="6045" />
+ <tetrahedron index="23887" v0="3292" v1="3760" v2="3893" v3="5079" />
+ <tetrahedron index="23888" v0="4164" v1="4401" v2="4677" v3="5377" />
+ <tetrahedron index="23889" v0="4916" v1="5142" v2="5920" v3="5922" />
+ <tetrahedron index="23890" v0="3901" v1="3902" v2="5068" v3="5638" />
+ <tetrahedron index="23891" v0="5048" v1="5591" v2="6376" v3="6377" />
+ <tetrahedron index="23892" v0="3888" v1="3889" v2="6039" v3="6618" />
+ <tetrahedron index="23893" v0="3527" v1="3528" v2="4195" v3="5442" />
+ <tetrahedron index="23894" v0="3803" v1="3846" v2="3847" v3="5294" />
+ <tetrahedron index="23895" v0="3751" v1="5399" v2="5691" v3="6362" />
+ <tetrahedron index="23896" v0="4718" v1="5411" v2="5516" v3="6187" />
+ <tetrahedron index="23897" v0="3276" v1="5137" v2="5398" v3="5820" />
+ <tetrahedron index="23898" v0="4023" v1="5426" v2="5427" v3="5429" />
+ <tetrahedron index="23899" v0="5004" v1="6171" v2="6594" v3="6880" />
+ <tetrahedron index="23900" v0="5523" v1="6194" v2="6310" v3="6555" />
+ <tetrahedron index="23901" v0="3750" v1="3751" v2="3972" v3="5400" />
+ <tetrahedron index="23902" v0="4583" v1="4778" v2="5647" v3="6341" />
+ <tetrahedron index="23903" v0="5860" v1="5922" v2="6505" v3="6886" />
+ <tetrahedron index="23904" v0="3507" v1="3508" v2="3587" v3="6050" />
+ <tetrahedron index="23905" v0="6752" v1="6784" v2="6949" v3="7015" />
+ <tetrahedron index="23906" v0="4889" v1="5206" v2="6361" v3="6829" />
+ <tetrahedron index="23907" v0="4372" v1="5171" v2="5581" v3="6085" />
+ <tetrahedron index="23908" v0="4837" v1="5194" v2="5815" v3="6000" />
+ <tetrahedron index="23909" v0="4372" v1="4466" v2="5171" v3="6085" />
+ <tetrahedron index="23910" v0="3253" v1="4016" v2="5299" v3="5937" />
+ <tetrahedron index="23911" v0="4068" v1="5291" v2="5774" v3="6320" />
+ <tetrahedron index="23912" v0="6055" v1="6641" v2="6864" v3="6913" />
+ <tetrahedron index="23913" v0="3231" v1="3613" v2="3657" v3="5473" />
+ <tetrahedron index="23914" v0="4879" v1="5695" v2="6365" v3="6366" />
+ <tetrahedron index="23915" v0="4946" v1="5371" v2="6021" v3="6614" />
+ <tetrahedron index="23916" v0="4946" v1="5369" v2="5370" v3="5371" />
+ <tetrahedron index="23917" v0="3939" v1="5176" v2="5580" v3="6255" />
+ <tetrahedron index="23918" v0="6291" v1="6678" v2="6876" v3="7009" />
+ <tetrahedron index="23919" v0="3404" v1="5087" v2="6340" v3="6547" />
+ <tetrahedron index="23920" v0="4869" v1="5160" v2="5773" v3="6334" />
+ <tetrahedron index="23921" v0="5527" v1="5723" v2="6117" v3="6200" />
+ <tetrahedron index="23922" v0="4278" v1="4279" v2="4424" v3="5388" />
+ <tetrahedron index="23923" v0="3976" v1="4640" v2="5097" v3="6351" />
+ <tetrahedron index="23924" v0="6174" v1="6231" v2="6312" v3="6756" />
+ <tetrahedron index="23925" v0="3451" v1="5242" v2="5829" v3="5871" />
+ <tetrahedron index="23926" v0="3412" v1="3956" v2="4190" v3="5447" />
+ <tetrahedron index="23927" v0="3874" v1="4183" v2="4640" v3="6351" />
+ <tetrahedron index="23928" v0="4867" v1="5556" v2="5945" v3="6895" />
+ <tetrahedron index="23929" v0="4879" v1="5179" v2="5792" v3="6382" />
+ <tetrahedron index="23930" v0="4877" v1="5040" v2="5174" v3="5578" />
+ <tetrahedron index="23931" v0="4089" v1="4505" v2="5429" v3="6448" />
+ <tetrahedron index="23932" v0="5101" v1="5854" v2="6358" v3="6501" />
+ <tetrahedron index="23933" v0="4863" v1="5001" v2="5503" v3="6236" />
+ <tetrahedron index="23934" v0="5126" v1="5723" v2="6117" v3="6200" />
+ <tetrahedron index="23935" v0="4933" v1="5330" v2="5332" v3="5976" />
+ <tetrahedron index="23936" v0="3614" v1="5473" v2="5766" v3="6831" />
+ <tetrahedron index="23937" v0="3857" v1="3877" v2="5078" v3="5819" />
+ <tetrahedron index="23938" v0="4120" v1="4171" v2="4716" v3="5553" />
+ <tetrahedron index="23939" v0="4879" v1="5181" v2="5792" v3="5793" />
+ <tetrahedron index="23940" v0="3827" v1="4103" v2="4187" v3="5450" />
+ <tetrahedron index="23941" v0="3901" v1="4643" v2="4809" v3="5637" />
+ <tetrahedron index="23942" v0="4960" v1="5067" v2="6067" v3="6650" />
+ <tetrahedron index="23943" v0="3849" v1="4843" v2="5296" v3="5297" />
+ <tetrahedron index="23944" v0="3316" v1="3493" v2="3494" v3="5865" />
+ <tetrahedron index="23945" v0="4742" v1="5225" v2="5849" v3="6367" />
+ <tetrahedron index="23946" v0="4878" v1="5787" v2="6446" v3="6662" />
+ <tetrahedron index="23947" v0="4401" v1="5136" v2="5375" v3="5377" />
+ <tetrahedron index="23948" v0="4867" v1="5762" v2="6465" v3="6895" />
+ <tetrahedron index="23949" v0="4750" v1="4756" v2="5823" v3="6477" />
+ <tetrahedron index="23950" v0="3294" v1="3642" v2="5021" v3="5238" />
+ <tetrahedron index="23951" v0="4568" v1="4839" v2="5815" v3="6474" />
+ <tetrahedron index="23952" v0="4254" v1="4798" v2="5024" v3="6253" />
+ <tetrahedron index="23953" v0="6626" v1="6631" v2="6923" v3="7011" />
+ <tetrahedron index="23954" v0="5692" v1="5879" v2="6681" v3="6946" />
+ <tetrahedron index="23955" v0="4347" v1="4388" v2="5634" v3="6314" />
+ <tetrahedron index="23956" v0="3462" v1="3654" v2="4599" v3="5469" />
+ <tetrahedron index="23957" v0="3372" v1="5454" v2="5455" v3="6296" />
+ <tetrahedron index="23958" v0="4320" v1="4373" v2="4507" v3="5926" />
+ <tetrahedron index="23959" v0="5669" v1="6161" v2="6323" v3="6341" />
+ <tetrahedron index="23960" v0="5352" v1="6001" v2="6002" v3="6600" />
+ <tetrahedron index="23961" v0="6279" v1="6442" v2="6783" v3="6862" />
+ <tetrahedron index="23962" v0="5392" v1="6045" v2="6626" v3="6633" />
+ <tetrahedron index="23963" v0="4126" v1="5009" v2="5345" v3="6940" />
+ <tetrahedron index="23964" v0="3341" v1="4207" v2="5160" v3="5773" />
+ <tetrahedron index="23965" v0="3281" v1="3386" v2="5128" v3="5964" />
+ <tetrahedron index="23966" v0="4342" v1="5007" v2="5116" v3="5514" />
+ <tetrahedron index="23967" v0="4487" v1="4611" v2="4715" v3="5722" />
+ <tetrahedron index="23968" v0="5086" v1="5205" v2="6476" v3="6829" />
+ <tetrahedron index="23969" v0="4267" v1="4268" v2="4630" v3="5474" />
+ <tetrahedron index="23970" v0="3841" v1="6084" v2="6085" v3="6661" />
+ <tetrahedron index="23971" v0="4909" v1="5256" v2="5257" v3="6076" />
+ <tetrahedron index="23972" v0="5039" v1="5967" v2="6434" v3="6573" />
+ <tetrahedron index="23973" v0="5234" v1="5675" v2="5856" v3="6347" />
+ <tetrahedron index="23974" v0="3376" v1="3526" v2="3529" v3="5202" />
+ <tetrahedron index="23975" v0="5648" v1="6325" v2="6394" v3="6395" />
+ <tetrahedron index="23976" v0="3588" v1="4117" v2="4731" v3="5395" />
+ <tetrahedron index="23977" v0="4712" v1="5477" v2="6141" v3="6704" />
+ <tetrahedron index="23978" v0="4036" v1="4074" v2="4594" v3="5717" />
+ <tetrahedron index="23979" v0="3460" v1="5527" v2="5807" v3="6459" />
+ <tetrahedron index="23980" v0="3477" v1="4371" v2="5199" v3="6387" />
+ <tetrahedron index="23981" v0="4071" v1="4522" v2="4657" v3="5499" />
+ <tetrahedron index="23982" v0="3978" v1="4116" v2="6048" v3="6051" />
+ <tetrahedron index="23983" v0="3569" v1="4293" v2="4313" v3="5500" />
+ <tetrahedron index="23984" v0="3287" v1="3734" v2="4492" v3="5613" />
+ <tetrahedron index="23985" v0="4486" v1="5350" v2="5989" v3="6702" />
+ <tetrahedron index="23986" v0="4996" v1="6155" v2="6492" v3="6715" />
+ <tetrahedron index="23987" v0="4565" v1="5102" v2="5254" v3="6375" />
+ <tetrahedron index="23988" v0="3241" v1="3364" v2="5273" v3="5911" />
+ <tetrahedron index="23989" v0="3762" v1="3874" v2="5592" v3="5706" />
+ <tetrahedron index="23990" v0="4036" v1="4626" v2="4720" v3="5718" />
+ <tetrahedron index="23991" v0="3353" v1="3429" v2="4565" v3="6375" />
+ <tetrahedron index="23992" v0="4415" v1="4807" v2="5283" v3="6886" />
+ <tetrahedron index="23993" v0="4700" v1="5536" v2="6190" v3="6744" />
+ <tetrahedron index="23994" v0="4153" v1="4169" v2="6135" v3="6149" />
+ <tetrahedron index="23995" v0="3590" v1="3591" v2="3592" v3="5565" />
+ <tetrahedron index="23996" v0="4045" v1="4149" v2="5555" v3="6029" />
+ <tetrahedron index="23997" v0="4934" v1="5333" v2="5335" v3="5979" />
+ <tetrahedron index="23998" v0="3401" v1="3531" v2="3615" v3="5114" />
+ <tetrahedron index="23999" v0="3994" v1="4306" v2="4334" v3="5290" />
+ <tetrahedron index="24000" v0="3393" v1="4181" v2="5277" v3="5629" />
+ <tetrahedron index="24001" v0="5309" v1="6055" v2="6098" v3="6643" />
+ <tetrahedron index="24002" v0="4636" v1="4729" v2="5234" v3="5857" />
+ <tetrahedron index="24003" v0="3891" v1="4218" v2="4304" v3="5504" />
+ <tetrahedron index="24004" v0="4371" v1="4720" v2="4767" v3="5716" />
+ <tetrahedron index="24005" v0="3707" v1="4228" v2="5436" v3="6415" />
+ <tetrahedron index="24006" v0="4970" v1="5433" v2="5434" v3="6094" />
+ <tetrahedron index="24007" v0="3838" v1="5120" v2="5277" v3="5710" />
+ <tetrahedron index="24008" v0="3356" v1="3357" v2="5226" v3="5850" />
+ <tetrahedron index="24009" v0="3428" v1="4369" v2="4793" v3="6709" />
+ <tetrahedron index="24010" v0="3919" v1="4415" v2="4807" v3="5283" />
+ <tetrahedron index="24011" v0="4438" v1="4626" v2="6386" v3="6387" />
+ <tetrahedron index="24012" v0="5167" v1="6227" v2="6228" v3="6753" />
+ <tetrahedron index="24013" v0="5040" v1="5171" v2="5581" v3="5784" />
+ <tetrahedron index="24014" v0="4153" v1="4169" v2="4170" v3="6149" />
+ <tetrahedron index="24015" v0="3617" v1="4983" v2="5467" v3="5469" />
+ <tetrahedron index="24016" v0="4896" v1="5227" v2="5847" v3="6496" />
+ <tetrahedron index="24017" v0="4858" v1="5509" v2="5518" v3="6183" />
+ <tetrahedron index="24018" v0="3426" v1="3427" v2="3428" v3="4205" />
+ <tetrahedron index="24019" v0="4936" v1="6577" v2="6629" v3="6922" />
+ <tetrahedron index="24020" v0="4948" v1="5377" v2="5921" v3="6025" />
+ <tetrahedron index="24021" v0="3454" v1="3455" v2="3766" v3="5825" />
+ <tetrahedron index="24022" v0="4853" v1="5407" v2="6066" v3="6677" />
+ <tetrahedron index="24023" v0="3232" v1="3657" v2="3938" v3="5709" />
+ <tetrahedron index="24024" v0="5048" v1="5592" v2="5706" v3="6377" />
+ <tetrahedron index="24025" v0="6577" v1="6903" v2="6974" v3="7011" />
+ <tetrahedron index="24026" v0="3288" v1="3290" v2="3515" v3="5143" />
+ <tetrahedron index="24027" v0="3377" v1="3603" v2="5202" v3="6838" />
+ <tetrahedron index="24028" v0="4121" v1="4213" v2="4676" v3="5229" />
+ <tetrahedron index="24029" v0="3433" v1="3647" v2="3864" v3="5370" />
+ <tetrahedron index="24030" v0="5161" v1="5290" v2="5643" v3="5930" />
+ <tetrahedron index="24031" v0="3542" v1="4080" v2="4151" v3="5611" />
+ <tetrahedron index="24032" v0="4271" v1="4677" v2="5375" v3="5377" />
+ <tetrahedron index="24033" v0="3534" v1="4337" v2="5645" v3="6113" />
+ <tetrahedron index="24034" v0="5718" v1="6386" v2="6387" v3="6449" />
+ <tetrahedron index="24035" v0="4905" v1="5879" v2="6519" v3="6520" />
+ <tetrahedron index="24036" v0="4853" v1="5407" v2="5882" v3="6524" />
+ <tetrahedron index="24037" v0="5025" v1="5998" v2="6595" v3="6702" />
+ <tetrahedron index="24038" v0="4893" v1="5216" v2="5218" v3="6503" />
+ <tetrahedron index="24039" v0="3604" v1="3919" v2="4452" v3="6544" />
+ <tetrahedron index="24040" v0="3861" v1="3959" v2="6133" v3="6326" />
+ <tetrahedron index="24041" v0="4468" v1="4564" v2="4700" v3="5537" />
+ <tetrahedron index="24042" v0="6634" v1="6666" v2="6750" v3="6972" />
+ <tetrahedron index="24043" v0="3459" v1="4040" v2="4749" v3="5607" />
+ <tetrahedron index="24044" v0="4979" v1="5660" v2="5767" v3="6832" />
+ <tetrahedron index="24045" v0="3551" v1="4214" v2="4464" v3="5385" />
+ <tetrahedron index="24046" v0="5200" v1="5819" v2="6388" v3="6500" />
+ <tetrahedron index="24047" v0="5753" v1="6249" v2="6250" v3="6769" />
+ <tetrahedron index="24048" v0="3800" v1="4073" v2="4168" v3="6824" />
+ <tetrahedron index="24049" v0="4919" v1="5209" v2="6401" v3="6402" />
+ <tetrahedron index="24050" v0="4724" v1="4732" v2="4745" v3="6598" />
+ <tetrahedron index="24051" v0="3274" v1="3383" v2="3792" v3="5726" />
+ <tetrahedron index="24052" v0="4929" v1="5320" v2="5727" v3="5964" />
+ <tetrahedron index="24053" v0="3784" v1="4053" v2="4054" v3="5340" />
+ <tetrahedron index="24054" v0="5292" v1="5293" v2="5929" v3="6547" />
+ <tetrahedron index="24055" v0="3239" v1="4461" v2="5909" v3="5975" />
+ <tetrahedron index="24056" v0="5269" v1="6073" v2="6612" v3="6893" />
+ <tetrahedron index="24057" v0="3554" v1="5018" v2="5534" v3="5739" />
+ <tetrahedron index="24058" v0="4980" v1="5460" v2="5462" v3="6128" />
+ <tetrahedron index="24059" v0="4656" v1="5355" v2="5490" v3="6007" />
+ <tetrahedron index="24060" v0="3266" v1="4956" v2="5404" v3="5587" />
+ <tetrahedron index="24061" v0="3849" v1="4834" v2="4843" v3="5956" />
+ <tetrahedron index="24062" v0="3639" v1="4828" v2="5665" v3="5824" />
+ <tetrahedron index="24063" v0="3728" v1="4107" v2="4135" v3="5323" />
+ <tetrahedron index="24064" v0="5458" v1="6121" v2="6688" v3="6950" />
+ <tetrahedron index="24065" v0="4429" v1="4582" v2="6174" v3="6231" />
+ <tetrahedron index="24066" v0="4966" v1="6659" v2="6660" v3="6938" />
+ <tetrahedron index="24067" v0="4985" v1="5472" v2="5772" v3="6136" />
+ <tetrahedron index="24068" v0="4943" v1="5599" v2="6221" v3="6668" />
+ <tetrahedron index="24069" v0="3245" v1="3246" v2="3248" v3="3249" />
+ <tetrahedron index="24070" v0="4657" v1="5184" v2="5499" v3="6160" />
+ <tetrahedron index="24071" v0="3766" v1="3897" v2="3898" v3="5825" />
+ <tetrahedron index="24072" v0="4934" v1="5337" v2="5765" v3="5981" />
+ <tetrahedron index="24073" v0="4847" v1="6246" v2="6569" v3="6611" />
+ <tetrahedron index="24074" v0="4877" v1="5172" v2="5173" v3="5174" />
+ <tetrahedron index="24075" v0="4021" v1="4022" v2="5546" v3="6216" />
+ <tetrahedron index="24076" v0="3909" v1="4058" v2="4489" v3="5197" />
+ <tetrahedron index="24077" v0="4882" v1="5992" v2="6939" v3="7013" />
+ <tetrahedron index="24078" v0="4334" v1="4380" v2="4413" v3="5290" />
+ <tetrahedron index="24079" v0="3911" v1="4672" v2="4843" v3="5296" />
+ <tetrahedron index="24080" v0="3904" v1="3905" v2="4286" v3="6565" />
+ <tetrahedron index="24081" v0="3387" v1="3798" v2="4411" v3="5041" />
+ <tetrahedron index="24082" v0="3937" v1="5394" v2="6049" v3="6635" />
+ <tetrahedron index="24083" v0="4802" v1="5112" v2="5576" v3="6252" />
+ <tetrahedron index="24084" v0="4583" v1="4707" v2="4708" v3="5646" />
+ <tetrahedron index="24085" v0="4879" v1="5695" v2="5793" v3="6365" />
+ <tetrahedron index="24086" v0="4879" v1="5182" v2="6382" v3="6384" />
+ <tetrahedron index="24087" v0="3333" v1="3334" v2="4265" v3="6205" />
+ <tetrahedron index="24088" v0="5165" v1="5467" v2="6326" v3="6394" />
+ <tetrahedron index="24089" v0="4414" v1="4434" v2="4477" v3="5218" />
+ <tetrahedron index="24090" v0="3695" v1="5095" v2="5273" v3="5911" />
+ <tetrahedron index="24091" v0="4361" v1="4362" v2="4363" v3="4695" />
+ <tetrahedron index="24092" v0="5126" v1="5722" v2="6123" v3="6692" />
+ <tetrahedron index="24093" v0="4869" v1="5702" v2="6252" v3="6399" />
+ <tetrahedron index="24094" v0="3647" v1="3889" v2="4518" v3="5369" />
+ <tetrahedron index="24095" v0="4117" v1="4760" v2="4832" v3="6225" />
+ <tetrahedron index="24096" v0="3873" v1="4099" v2="4699" v3="5672" />
+ <tetrahedron index="24097" v0="4188" v1="4192" v2="5063" v3="6111" />
+ <tetrahedron index="24098" v0="3941" v1="4176" v2="4739" v3="5081" />
+ <tetrahedron index="24099" v0="3471" v1="5093" v2="5768" v3="6005" />
+ <tetrahedron index="24100" v0="3719" v1="4061" v2="4118" v3="5691" />
+ <tetrahedron index="24101" v0="3714" v1="3715" v2="3716" v3="5505" />
+ <tetrahedron index="24102" v0="3249" v1="3264" v2="3372" v3="3501" />
+ <tetrahedron index="24103" v0="3919" v1="5280" v2="5281" v3="5283" />
+ <tetrahedron index="24104" v0="4871" v1="5163" v2="6438" v3="6439" />
+ <tetrahedron index="24105" v0="4985" v1="5472" v2="5473" v3="6436" />
+ <tetrahedron index="24106" v0="3230" v1="4439" v2="5471" v3="5472" />
+ <tetrahedron index="24107" v0="4909" v1="5664" v2="5889" v3="6822" />
+ <tetrahedron index="24108" v0="4949" v1="5026" v2="5554" v3="6029" />
+ <tetrahedron index="24109" v0="4766" v1="4827" v2="5849" v3="6498" />
+ <tetrahedron index="24110" v0="5996" v1="6582" v2="6839" v3="6967" />
+ <tetrahedron index="24111" v0="4911" v1="5610" v2="5900" v3="6013" />
+ <tetrahedron index="24112" v0="4968" v1="5429" v2="5788" v3="6086" />
+ <tetrahedron index="24113" v0="5714" v1="5715" v2="6384" v3="6833" />
+ <tetrahedron index="24114" v0="4926" v1="6054" v2="6263" v3="6774" />
+ <tetrahedron index="24115" v0="3405" v1="5293" v2="6340" v3="6547" />
+ <tetrahedron index="24116" v0="4342" v1="4818" v2="5041" v3="5116" />
+ <tetrahedron index="24117" v0="3230" v1="3231" v2="5471" v3="5472" />
+ <tetrahedron index="24118" v0="4946" v1="5067" v2="5370" v3="6019" />
+ <tetrahedron index="24119" v0="3320" v1="4104" v2="4790" v3="4898" />
+ <tetrahedron index="24120" v0="3493" v1="3494" v2="5239" v3="5865" />
+ <tetrahedron index="24121" v0="3450" v1="3533" v2="6305" v3="6802" />
+ <tetrahedron index="24122" v0="3591" v1="4041" v2="4788" v3="5565" />
+ <tetrahedron index="24123" v0="5094" v1="5678" v2="5832" v3="6298" />
+ <tetrahedron index="24124" v0="3810" v1="3811" v2="5175" v3="5786" />
+ <tetrahedron index="24125" v0="4096" v1="4448" v2="5279" v3="5863" />
+ <tetrahedron index="24126" v0="3455" v1="3754" v2="4114" v3="6371" />
+ <tetrahedron index="24127" v0="4270" v1="4423" v2="6025" v3="6026" />
+ <tetrahedron index="24128" v0="5348" v1="6004" v2="6171" v3="6616" />
+ <tetrahedron index="24129" v0="3326" v1="3423" v2="4734" v3="5172" />
+ <tetrahedron index="24130" v0="5208" v1="5694" v2="5826" v3="5827" />
+ <tetrahedron index="24131" v0="5769" v1="5772" v2="6378" v3="6701" />
+ <tetrahedron index="24132" v0="4579" v1="4597" v2="4820" v3="5924" />
+ <tetrahedron index="24133" v0="3548" v1="3552" v2="5302" v3="5940" />
+ <tetrahedron index="24134" v0="4347" v1="4388" v2="4389" v3="5634" />
+ <tetrahedron index="24135" v0="4086" v1="4307" v2="4431" v3="6665" />
+ <tetrahedron index="24136" v0="5169" v1="5876" v2="6288" v3="6515" />
+ <tetrahedron index="24137" v0="3298" v1="4052" v2="4593" v3="6481" />
+ <tetrahedron index="24138" v0="4741" v1="5459" v2="5462" v3="6119" />
+ <tetrahedron index="24139" v0="3727" v1="3732" v2="3896" v3="5723" />
+ <tetrahedron index="24140" v0="4891" v1="5031" v2="5565" v3="5685" />
+ <tetrahedron index="24141" v0="3468" v1="3862" v2="5165" v3="5730" />
+ <tetrahedron index="24142" v0="4454" v1="4789" v2="6249" v3="6250" />
+ <tetrahedron index="24143" v0="3578" v1="3580" v2="5724" v3="6390" />
+ <tetrahedron index="24144" v0="4929" v1="5201" v2="5320" v3="5727" />
+ <tetrahedron index="24145" v0="5297" v1="5313" v2="5936" v3="6344" />
+ <tetrahedron index="24146" v0="4496" v1="4536" v2="4842" v3="6531" />
+ <tetrahedron index="24147" v0="4389" v1="4503" v2="5634" v3="5658" />
+ <tetrahedron index="24148" v0="3395" v1="3623" v2="3929" v3="5861" />
+ <tetrahedron index="24149" v0="4295" v1="5412" v2="5414" v3="6074" />
+ <tetrahedron index="24150" v0="5004" v1="6030" v2="6594" v3="6616" />
+ <tetrahedron index="24151" v0="3600" v1="3839" v2="4442" v3="5226" />
+ <tetrahedron index="24152" v0="3305" v1="3969" v2="3970" v3="5653" />
+ <tetrahedron index="24153" v0="4559" v1="5163" v2="5777" v3="6440" />
+ <tetrahedron index="24154" v0="3540" v1="3725" v2="4740" v3="5457" />
+ <tetrahedron index="24155" v0="5026" v1="5552" v2="5555" v3="6223" />
+ <tetrahedron index="24156" v0="4355" v1="4408" v2="4778" v3="5647" />
+ <tetrahedron index="24157" v0="3406" v1="4128" v2="4797" v3="5033" />
+ <tetrahedron index="24158" v0="3389" v1="3390" v2="3874" v3="5706" />
+ <tetrahedron index="24159" v0="3574" v1="4057" v2="4462" v3="6818" />
+ <tetrahedron index="24160" v0="3984" v1="4791" v2="6338" v3="6497" />
+ <tetrahedron index="24161" v0="4379" v1="4824" v2="6359" v3="6828" />
+ <tetrahedron index="24162" v0="5026" v1="5554" v2="6636" v3="6927" />
+ <tetrahedron index="24163" v0="3876" v1="4151" v2="4152" v3="5611" />
+ <tetrahedron index="24164" v0="3270" v1="3278" v2="5133" v3="5406" />
+ <tetrahedron index="24165" v0="4170" v1="5106" v2="6149" v3="6681" />
+ <tetrahedron index="24166" v0="3465" v1="3466" v2="3467" v3="4697" />
+ <tetrahedron index="24167" v0="4980" v1="5457" v2="5459" v3="6119" />
+ <tetrahedron index="24168" v0="3614" v1="5083" v2="5532" v3="5766" />
+ <tetrahedron index="24169" v0="3262" v1="3372" v2="5455" v3="6114" />
+ <tetrahedron index="24170" v0="3280" v1="3386" v2="5320" v3="5964" />
+ <tetrahedron index="24171" v0="4166" v1="4637" v2="4663" v3="5278" />
+ <tetrahedron index="24172" v0="4253" v1="4288" v2="4802" v3="5736" />
+ <tetrahedron index="24173" v0="3521" v1="3522" v2="3944" v3="5357" />
+ <tetrahedron index="24174" v0="3340" v1="4485" v2="4757" v3="5765" />
+ <tetrahedron index="24175" v0="4250" v1="4507" v2="5926" v3="6581" />
+ <tetrahedron index="24176" v0="4917" v1="5750" v2="6734" v3="6845" />
+ <tetrahedron index="24177" v0="3617" v1="3801" v2="5469" v3="5780" />
+ <tetrahedron index="24178" v0="5881" v1="6521" v2="6522" v3="6891" />
+ <tetrahedron index="24179" v0="4967" v1="5784" v2="5785" v3="6447" />
+ <tetrahedron index="24180" v0="4915" v1="5274" v2="5912" v3="5914" />
+ <tetrahedron index="24181" v0="6687" v1="6877" v2="6962" v3="6997" />
+ <tetrahedron index="24182" v0="3670" v1="3671" v2="3860" v3="5124" />
+ <tetrahedron index="24183" v0="4774" v1="4823" v2="5082" v3="5090" />
+ <tetrahedron index="24184" v0="3991" v1="5148" v2="5986" v3="6580" />
+ <tetrahedron index="24185" v0="5769" v1="6380" v2="6435" v3="6858" />
+ <tetrahedron index="24186" v0="4985" v1="5660" v2="6137" v3="6350" />
+ <tetrahedron index="24187" v0="4852" v1="5614" v2="6106" v3="6679" />
+ <tetrahedron index="24188" v0="5446" v1="5614" v2="6288" v3="6289" />
+ <tetrahedron index="24189" v0="5127" v1="5725" v2="6042" v3="6467" />
+ <tetrahedron index="24190" v0="3878" v1="3927" v2="4300" v3="5566" />
+ <tetrahedron index="24191" v0="4560" v1="5127" v2="5725" v3="6391" />
+ <tetrahedron index="24192" v0="4746" v1="5353" v2="6003" v3="6598" />
+ <tetrahedron index="24193" v0="5519" v1="6191" v2="6624" v3="6738" />
+ <tetrahedron index="24194" v0="3821" v1="3884" v2="4461" v3="5327" />
+ <tetrahedron index="24195" v0="3890" v1="3891" v2="3892" v3="5529" />
+ <tetrahedron index="24196" v0="3496" v1="3558" v2="3967" v3="5775" />
+ <tetrahedron index="24197" v0="4915" v1="5274" v2="5275" v3="5276" />
+ <tetrahedron index="24198" v0="3590" v1="3755" v2="5685" v3="6356" />
+ <tetrahedron index="24199" v0="3541" v1="5247" v2="6119" v3="6691" />
+ <tetrahedron index="24200" v0="5023" v1="5546" v2="6216" v3="6485" />
+ <tetrahedron index="24201" v0="3642" v1="3917" v2="4416" v3="5238" />
+ <tetrahedron index="24202" v0="4339" v1="4419" v2="4836" v3="6175" />
+ <tetrahedron index="24203" v0="4899" v1="5233" v2="5234" v3="6358" />
+ <tetrahedron index="24204" v0="3997" v1="5125" v2="5410" v3="5586" />
+ <tetrahedron index="24205" v0="4873" v1="6626" v2="6627" v3="6923" />
+ <tetrahedron index="24206" v0="3569" v1="5431" v2="5500" v3="6088" />
+ <tetrahedron index="24207" v0="3733" v1="4016" v2="4195" v3="5463" />
+ <tetrahedron index="24208" v0="3464" v1="3861" v2="3959" v3="6134" />
+ <tetrahedron index="24209" v0="3847" v1="5294" v2="5506" v3="5932" />
+ <tetrahedron index="24210" v0="4442" v1="5225" v2="5226" v3="5417" />
+ <tetrahedron index="24211" v0="4422" v1="5024" v2="5525" v3="5549" />
+ <tetrahedron index="24212" v0="4041" v1="5031" v2="5565" v3="6238" />
+ <tetrahedron index="24213" v0="3489" v1="3854" v2="5380" v3="6032" />
+ <tetrahedron index="24214" v0="5463" v1="6120" v2="6129" v3="6834" />
+ <tetrahedron index="24215" v0="3799" v1="4590" v2="4616" v3="5884" />
+ <tetrahedron index="24216" v0="4146" v1="5183" v2="5549" v3="5795" />
+ <tetrahedron index="24217" v0="5510" v1="5557" v2="6233" v3="6234" />
+ <tetrahedron index="24218" v0="5191" v1="5811" v2="5813" v3="6209" />
+ <tetrahedron index="24219" v0="4433" v1="4434" v2="4808" v3="5837" />
+ <tetrahedron index="24220" v0="5179" v1="5367" v2="5792" v3="6018" />
+ <tetrahedron index="24221" v0="3246" v1="5062" v2="5621" v3="6297" />
+ <tetrahedron index="24222" v0="3332" v1="4227" v2="6007" v3="6203" />
+ <tetrahedron index="24223" v0="4375" v1="4404" v2="4721" v3="5731" />
+ <tetrahedron index="24224" v0="4876" v1="5169" v2="5445" v3="6288" />
+ <tetrahedron index="24225" v0="4919" v1="5289" v2="5927" v3="6371" />
+ <tetrahedron index="24226" v0="3624" v1="5235" v2="5237" v3="5479" />
+ <tetrahedron index="24227" v0="3723" v1="4032" v2="5264" v3="6530" />
+ <tetrahedron index="24228" v0="4874" v1="6159" v2="6714" v3="6715" />
+ <tetrahedron index="24229" v0="5189" v1="6460" v2="6538" v3="6867" />
+ <tetrahedron index="24230" v0="4515" v1="5072" v2="5790" v3="6499" />
+ <tetrahedron index="24231" v0="4874" v1="6159" v2="6715" v3="7015" />
+ <tetrahedron index="24232" v0="5450" v1="6110" v2="6111" v3="6682" />
+ <tetrahedron index="24233" v0="3991" v1="4083" v2="4399" v3="5986" />
+ <tetrahedron index="24234" v0="3946" v1="3947" v2="3948" v3="5873" />
+ <tetrahedron index="24235" v0="3490" v1="3723" v2="5261" v3="5897" />
+ <tetrahedron index="24236" v0="4872" v1="5978" v2="6006" v3="6604" />
+ <tetrahedron index="24237" v0="4161" v1="5291" v2="5933" v3="6320" />
+ <tetrahedron index="24238" v0="3567" v1="3920" v2="4260" v3="6354" />
+ <tetrahedron index="24239" v0="4892" v1="5562" v2="5620" v3="6236" />
+ <tetrahedron index="24240" v0="6047" v1="6634" v2="6903" v3="7029" />
+ <tetrahedron index="24241" v0="3288" v1="3290" v2="5143" v3="5739" />
+ <tetrahedron index="24242" v0="3981" v1="4497" v2="4536" v3="5689" />
+ <tetrahedron index="24243" v0="4964" v1="6105" v2="6678" v3="6689" />
+ <tetrahedron index="24244" v0="4194" v1="4748" v2="4816" v3="6653" />
+ <tetrahedron index="24245" v0="4892" v1="5620" v2="6295" v3="6298" />
+ <tetrahedron index="24246" v0="3355" v1="3650" v2="3839" v3="5420" />
+ <tetrahedron index="24247" v0="5361" v1="5552" v2="6221" v3="6222" />
+ <tetrahedron index="24248" v0="5112" v1="5659" v2="6373" v3="6831" />
+ <tetrahedron index="24249" v0="4987" v1="5477" v2="5846" v3="6495" />
+ <tetrahedron index="24250" v0="3836" v1="4095" v2="4096" v3="5279" />
+ <tetrahedron index="24251" v0="6054" v1="6485" v2="6642" v3="6874" />
+ <tetrahedron index="24252" v0="4895" v1="5222" v2="6153" v3="6957" />
+ <tetrahedron index="24253" v0="3501" v1="5030" v2="5214" v3="5622" />
+ <tetrahedron index="24254" v0="4868" v1="5159" v2="5767" v3="6432" />
+ <tetrahedron index="24255" v0="3596" v1="4134" v2="5333" v3="5335" />
+ <tetrahedron index="24256" v0="3420" v1="4589" v2="4756" v3="6477" />
+ <tetrahedron index="24257" v0="3416" v1="4084" v2="4234" v3="4460" />
+ <tetrahedron index="24258" v0="3772" v1="4417" v2="5119" v3="5708" />
+ <tetrahedron index="24259" v0="5195" v1="6462" v2="6470" v3="6872" />
+ <tetrahedron index="24260" v0="6410" v1="6619" v2="6844" v3="6969" />
+ <tetrahedron index="24261" v0="3857" v1="4398" v2="5078" v3="5819" />
+ <tetrahedron index="24262" v0="3385" v1="4029" v2="6036" v3="6889" />
+ <tetrahedron index="24263" v0="4898" v1="5058" v2="5612" v3="5633" />
+ <tetrahedron index="24264" v0="5749" v1="6462" v2="6470" v3="6868" />
+ <tetrahedron index="24265" v0="4080" v1="4151" v2="4152" v3="5611" />
+ <tetrahedron index="24266" v0="4123" v1="4198" v2="4380" v3="5131" />
+ <tetrahedron index="24267" v0="3471" v1="3632" v2="4588" v3="6005" />
+ <tetrahedron index="24268" v0="5305" v1="6033" v2="6550" v3="6580" />
+ <tetrahedron index="24269" v0="4923" v1="5301" v2="5302" v3="5938" />
+ <tetrahedron index="24270" v0="3748" v1="4066" v2="6405" v3="6838" />
+ <tetrahedron index="24271" v0="4941" v1="5357" v2="5633" v3="6008" />
+ <tetrahedron index="24272" v0="4987" v1="5844" v2="5846" v3="6141" />
+ <tetrahedron index="24273" v0="4172" v1="4173" v2="4370" v3="5650" />
+ <tetrahedron index="24274" v0="4446" v1="4450" v2="5540" v3="5813" />
+ <tetrahedron index="24275" v0="3509" v1="5329" v2="5330" v3="5734" />
+ <tetrahedron index="24276" v0="4001" v1="4176" v2="5560" v3="6332" />
+ <tetrahedron index="24277" v0="3742" v1="3744" v2="5281" v3="5923" />
+ <tetrahedron index="24278" v0="5234" v1="5857" v2="5896" v3="5899" />
+ <tetrahedron index="24279" v0="5060" v1="5616" v2="6293" v3="6679" />
+ <tetrahedron index="24280" v0="4954" v1="5984" v2="6047" v3="6629" />
+ <tetrahedron index="24281" v0="3722" v1="3847" v2="4481" v3="5932" />
+ <tetrahedron index="24282" v0="3970" v1="4015" v2="5628" v3="5721" />
+ <tetrahedron index="24283" v0="3446" v1="3736" v2="6297" v3="6796" />
+ <tetrahedron index="24284" v0="3811" v1="5175" v2="5425" v3="5786" />
+ <tetrahedron index="24285" v0="4413" v1="5161" v2="5290" v3="5930" />
+ <tetrahedron index="24286" v0="3879" v1="4645" v2="5252" v3="5886" />
+ <tetrahedron index="24287" v0="4501" v1="5328" v2="5331" v3="5585" />
+ <tetrahedron index="24288" v0="3600" v1="3910" v2="5226" v3="5790" />
+ <tetrahedron index="24289" v0="5287" v1="6081" v2="6256" v3="6257" />
+ <tetrahedron index="24290" v0="3689" v1="5593" v2="5777" v3="6197" />
+ <tetrahedron index="24291" v0="3398" v1="3401" v2="3531" v3="6801" />
+ <tetrahedron index="24292" v0="5522" v1="5632" v2="6312" v3="6313" />
+ <tetrahedron index="24293" v0="3336" v1="3468" v2="5730" v3="5779" />
+ <tetrahedron index="24294" v0="3429" v1="3958" v2="6375" v3="6684" />
+ <tetrahedron index="24295" v0="4891" v1="6239" v2="6759" v3="6760" />
+ <tetrahedron index="24296" v0="3926" v1="5326" v2="5934" v3="5973" />
+ <tetrahedron index="24297" v0="5134" v1="5788" v2="6448" v3="6663" />
+ <tetrahedron index="24298" v0="3926" v1="5138" v2="5326" v3="5934" />
+ <tetrahedron index="24299" v0="3294" v1="3296" v2="3297" v3="5836" />
+ <tetrahedron index="24300" v0="4034" v1="4424" v2="5390" v3="6619" />
+ <tetrahedron index="24301" v0="5193" v1="6408" v2="6586" v3="6987" />
+ <tetrahedron index="24302" v0="5589" v1="6261" v2="6637" v3="6874" />
+ <tetrahedron index="24303" v0="4364" v1="4428" v2="4501" v3="6069" />
+ <tetrahedron index="24304" v0="3563" v1="3564" v2="5674" v3="5818" />
+ <tetrahedron index="24305" v0="4886" v1="5512" v2="7003" v3="7028" />
+ <tetrahedron index="24306" v0="4945" v1="5718" v2="6017" v3="6386" />
+ <tetrahedron index="24307" v0="5993" v1="6221" v2="6590" v3="6668" />
+ <tetrahedron index="24308" v0="5196" v1="5881" v2="6522" v3="6818" />
+ <tetrahedron index="24309" v0="3264" v1="3501" v2="5030" v3="5622" />
+ <tetrahedron index="24310" v0="4859" v1="4982" v2="5151" v3="5384" />
+ <tetrahedron index="24311" v0="5435" v1="6091" v2="6588" v3="6910" />
+ <tetrahedron index="24312" v0="3279" v1="3280" v2="3386" v3="5320" />
+ <tetrahedron index="24313" v0="3349" v1="3351" v2="4290" v3="6078" />
+ <tetrahedron index="24314" v0="4208" v1="5134" v2="5733" v3="5786" />
+ <tetrahedron index="24315" v0="4908" v1="5254" v2="6527" v3="6684" />
+ <tetrahedron index="24316" v0="4034" v1="4652" v2="5390" v3="6471" />
+ <tetrahedron index="24317" v0="3602" v1="5108" v2="5225" v3="6365" />
+ <tetrahedron index="24318" v0="5714" v1="6382" v2="6383" v3="6833" />
+ <tetrahedron index="24319" v0="3484" v1="3573" v2="3904" v3="5311" />
+ <tetrahedron index="24320" v0="5365" v1="6947" v2="7025" v3="7026" />
+ <tetrahedron index="24321" v0="3395" v1="3396" v2="5479" v3="5861" />
+ <tetrahedron index="24322" v0="4909" v1="5022" v2="5544" v3="5892" />
+ <tetrahedron index="24323" v0="4919" v1="5698" v2="6401" v3="6402" />
+ <tetrahedron index="24324" v0="5268" v1="6097" v2="6098" v3="6150" />
+ <tetrahedron index="24325" v0="5093" v1="5676" v2="6348" v3="6432" />
+ <tetrahedron index="24326" v0="4580" v1="5150" v2="5999" v3="6411" />
+ <tetrahedron index="24327" v0="5014" v1="6389" v2="6690" v3="6834" />
+ <tetrahedron index="24328" v0="4562" v1="4563" v2="5537" v3="6621" />
+ <tetrahedron index="24329" v0="3752" v1="3754" v2="4574" v3="5289" />
+ <tetrahedron index="24330" v0="4657" v1="5184" v2="5497" v3="5969" />
+ <tetrahedron index="24331" v0="5517" v1="6183" v2="6184" v3="6186" />
+ <tetrahedron index="24332" v0="3276" v1="5137" v2="5398" v3="5735" />
+ <tetrahedron index="24333" v0="5317" v1="5961" v2="6428" v3="6571" />
+ <tetrahedron index="24334" v0="3322" v1="3687" v2="5061" v3="5578" />
+ <tetrahedron index="24335" v0="3839" v1="4442" v2="5226" v3="5417" />
+ <tetrahedron index="24336" v0="4044" v1="4046" v2="5362" v3="6226" />
+ <tetrahedron index="24337" v0="4982" v1="5384" v2="5466" v3="6037" />
+ <tetrahedron index="24338" v0="3790" v1="4311" v2="5696" v3="6367" />
+ <tetrahedron index="24339" v0="5051" v1="5598" v2="5817" v3="6474" />
+ <tetrahedron index="24340" v0="3716" v1="5505" v2="6169" v3="6548" />
+ <tetrahedron index="24341" v0="3667" v1="3745" v2="4372" v3="5171" />
+ <tetrahedron index="24342" v0="5311" v1="6564" v2="6891" v3="7004" />
+ <tetrahedron index="24343" v0="5246" v1="6121" v2="6201" v3="6934" />
+ <tetrahedron index="24344" v0="5251" v1="5253" v2="5564" v3="6237" />
+ <tetrahedron index="24345" v0="4767" v1="5078" v2="5716" v3="5819" />
+ <tetrahedron index="24346" v0="3688" v1="5495" v2="6114" v3="6154" />
+ <tetrahedron index="24347" v0="4144" v1="4759" v2="4774" v3="5082" />
+ <tetrahedron index="24348" v0="4087" v1="4228" v2="4307" v3="6090" />
+ <tetrahedron index="24349" v0="4851" v1="5147" v2="5939" v3="6317" />
+ <tetrahedron index="24350" v0="4952" v1="5098" v2="5384" v3="6037" />
+ <tetrahedron index="24351" v0="3512" v1="3678" v2="4428" v3="5409" />
+ <tetrahedron index="24352" v0="3288" v1="3682" v2="3950" v3="5739" />
+ <tetrahedron index="24353" v0="3575" v1="3629" v2="3631" v3="5251" />
+ <tetrahedron index="24354" v0="4764" v1="4781" v2="5204" v3="6476" />
+ <tetrahedron index="24355" v0="5554" v1="6029" v2="6202" v3="6927" />
+ <tetrahedron index="24356" v0="3632" v1="3633" v2="6433" v3="6857" />
+ <tetrahedron index="24357" v0="5678" v1="5832" v2="6297" v3="6298" />
+ <tetrahedron index="24358" v0="3977" v1="5118" v2="5681" v3="6351" />
+ <tetrahedron index="24359" v0="4417" v1="5119" v2="5708" v3="6379" />
+ <tetrahedron index="24360" v0="3548" v1="5301" v2="5302" v3="5940" />
+ <tetrahedron index="24361" v0="5864" v1="6010" v2="6508" v3="6608" />
+ <tetrahedron index="24362" v0="3871" v1="3902" v2="5151" v3="5729" />
+ <tetrahedron index="24363" v0="4107" v1="5323" v2="5769" v3="6435" />
+ <tetrahedron index="24364" v0="4896" v1="5226" v2="5417" v3="6496" />
+ <tetrahedron index="24365" v0="5149" v1="5751" v2="6408" v3="6916" />
+ <tetrahedron index="24366" v0="3464" v1="4330" v2="4812" v3="6134" />
+ <tetrahedron index="24367" v0="4905" v1="6299" v2="6519" v3="6520" />
+ <tetrahedron index="24368" v0="4070" v1="5498" v2="6161" v3="6163" />
+ <tetrahedron index="24369" v0="3470" v1="3471" v2="3618" v3="5662" />
+ <tetrahedron index="24370" v0="4954" v1="5392" v2="5394" v3="6045" />
+ <tetrahedron index="24371" v0="3586" v1="4030" v2="5098" v3="5302" />
+ <tetrahedron index="24372" v0="3746" v1="5040" v2="5175" v3="5579" />
+ <tetrahedron index="24373" v0="3457" v1="5134" v2="6087" v3="6254" />
+ <tetrahedron index="24374" v0="6279" v1="6613" v2="6862" v3="6949" />
+ <tetrahedron index="24375" v0="3291" v1="3760" v2="4233" v3="5103" />
+ <tetrahedron index="24376" v0="4584" v1="5394" v2="6045" v3="6049" />
+ <tetrahedron index="24377" v0="3776" v1="4053" v2="4054" v3="6309" />
+ <tetrahedron index="24378" v0="5317" v1="6082" v2="6571" v3="6658" />
+ <tetrahedron index="24379" v0="6029" v1="6202" v2="6741" v3="6927" />
+ <tetrahedron index="24380" v0="5258" v1="5419" v2="5663" v3="6336" />
+ <tetrahedron index="24381" v0="3741" v1="4005" v2="5077" v3="5654" />
+ <tetrahedron index="24382" v0="4861" v1="5009" v2="6585" v3="6624" />
+ <tetrahedron index="24383" v0="5045" v1="5125" v2="5329" v3="5586" />
+ <tetrahedron index="24384" v0="3760" v1="3762" v2="3893" v3="5079" />
+ <tetrahedron index="24385" v0="6882" v1="6920" v2="6999" v3="7025" />
+ <tetrahedron index="24386" v0="3239" v1="3710" v2="5324" v3="5327" />
+ <tetrahedron index="24387" v0="4570" v1="4804" v2="4844" v3="5265" />
+ <tetrahedron index="24388" v0="4425" v1="4700" v2="5536" v3="6744" />
+ <tetrahedron index="24389" v0="3479" v1="5206" v2="5312" v3="5824" />
+ <tetrahedron index="24390" v0="4943" v1="5552" v2="6221" v3="6222" />
+ <tetrahedron index="24391" v0="5207" v1="5927" v2="6370" v3="6371" />
+ <tetrahedron index="24392" v0="3974" v1="3975" v2="5047" v3="6265" />
+ <tetrahedron index="24393" v0="4467" v1="4468" v2="4561" v3="5519" />
+ <tetrahedron index="24394" v0="3855" v1="3972" v2="5231" v3="5400" />
+ <tetrahedron index="24395" v0="5053" v1="5606" v2="6283" v3="7027" />
+ <tetrahedron index="24396" v0="4892" v1="5622" v2="6236" v3="6298" />
+ <tetrahedron index="24397" v0="4267" v1="5342" v2="5474" v3="6139" />
+ <tetrahedron index="24398" v0="4071" v1="4315" v2="5499" v3="6163" />
+ <tetrahedron index="24399" v0="4994" v1="5150" v2="5751" v3="5752" />
+ <tetrahedron index="24400" v0="4494" v1="5595" v2="6007" v3="6918" />
+ <tetrahedron index="24401" v0="3459" v1="3461" v2="5245" v3="6285" />
+ <tetrahedron index="24402" v0="4920" v1="5003" v2="6169" v3="6548" />
+ <tetrahedron index="24403" v0="5993" v1="6093" v2="6668" v3="6669" />
+ <tetrahedron index="24404" v0="3976" v1="3977" v2="5097" v3="6351" />
+ <tetrahedron index="24405" v0="4326" v1="4737" v2="4753" v3="6704" />
+ <tetrahedron index="24406" v0="6276" v1="6538" v2="6793" v3="6977" />
+ <tetrahedron index="24407" v0="3739" v1="3795" v2="4197" v3="6255" />
+ <tetrahedron index="24408" v0="3924" v1="4515" v2="4552" v3="5179" />
+ <tetrahedron index="24409" v0="5493" v1="6156" v2="6712" v3="6958" />
+ <tetrahedron index="24410" v0="5415" v1="5632" v2="6194" v3="6195" />
+ <tetrahedron index="24411" v0="3291" v1="3292" v2="3760" v3="5103" />
+ <tetrahedron index="24412" v0="4942" v1="5359" v2="5913" v3="6354" />
+ <tetrahedron index="24413" v0="4625" v1="4666" v2="5597" v3="6269" />
+ <tetrahedron index="24414" v0="5192" v1="5812" v2="6230" v3="6746" />
+ <tetrahedron index="24415" v0="3419" v1="3960" v2="5086" v3="6823" />
+ <tetrahedron index="24416" v0="3266" v1="3277" v2="3285" v3="6064" />
+ <tetrahedron index="24417" v0="3789" v1="3961" v2="4143" v3="5714" />
+ <tetrahedron index="24418" v0="3431" v1="3432" v2="5408" v3="5410" />
+ <tetrahedron index="24419" v0="4954" v1="5394" v2="6045" v3="6049" />
+ <tetrahedron index="24420" v0="4974" v1="5445" v2="6444" v3="6445" />
+ <tetrahedron index="24421" v0="4846" v1="5741" v2="6065" v3="6422" />
+ <tetrahedron index="24422" v0="3534" v1="4577" v2="5453" v3="5645" />
+ <tetrahedron index="24423" v0="4471" v1="4472" v2="4779" v3="6185" />
+ <tetrahedron index="24424" v0="5305" v1="5763" v2="5943" v3="6550" />
+ <tetrahedron index="24425" v0="4169" v1="4186" v2="4575" v3="6700" />
+ <tetrahedron index="24426" v0="5559" v1="5867" v2="6107" v3="6510" />
+ <tetrahedron index="24427" v0="5616" v1="5783" v2="6294" v3="6679" />
+ <tetrahedron index="24428" v0="3291" v1="3293" v2="5077" v3="5103" />
+ <tetrahedron index="24429" v0="3292" v1="3293" v2="4592" v3="5103" />
+ <tetrahedron index="24430" v0="3675" v1="5257" v2="5544" v3="5891" />
+ <tetrahedron index="24431" v0="4902" v1="5243" v2="5627" v3="5915" />
+ <tetrahedron index="24432" v0="4659" v1="4741" v2="5460" v3="5462" />
+ <tetrahedron index="24433" v0="3545" v1="3546" v2="3796" v3="5544" />
+ <tetrahedron index="24434" v0="3280" v1="3283" v2="3382" v3="5901" />
+ <tetrahedron index="24435" v0="4628" v1="5049" v2="5594" v3="6683" />
+ <tetrahedron index="24436" v0="4926" v1="6521" v2="6891" v3="7004" />
+ <tetrahedron index="24437" v0="3317" v1="3686" v2="4387" v3="5642" />
+ <tetrahedron index="24438" v0="5037" v1="6545" v2="6567" v3="6581" />
+ <tetrahedron index="24439" v0="3306" v1="3307" v2="4787" v3="5243" />
+ <tetrahedron index="24440" v0="4608" v1="4682" v2="5093" v3="6349" />
+ <tetrahedron index="24441" v0="4076" v1="4539" v2="5535" v3="6206" />
+ <tetrahedron index="24442" v0="3811" v1="4372" v2="5581" v3="6661" />
+ <tetrahedron index="24443" v0="3268" v1="3379" v2="5038" v3="5480" />
+ <tetrahedron index="24444" v0="5008" v1="5515" v2="5517" v3="6186" />
+ <tetrahedron index="24445" v0="3511" v1="3513" v2="4225" v3="5585" />
+ <tetrahedron index="24446" v0="3453" v1="3753" v2="3754" v3="5927" />
+ <tetrahedron index="24447" v0="4862" v1="5632" v2="6310" v3="6312" />
+ <tetrahedron index="24448" v0="5042" v1="5582" v2="5583" v3="6256" />
+ <tetrahedron index="24449" v0="4673" v1="4754" v2="4813" v3="5121" />
+ <tetrahedron index="24450" v0="3364" v1="3445" v2="5273" v3="5911" />
+ <tetrahedron index="24451" v0="5168" v1="5997" v2="6170" v3="6877" />
+ <tetrahedron index="24452" v0="4362" v1="4363" v2="4759" v3="4774" />
+ <tetrahedron index="24453" v0="3715" v1="3987" v2="5003" v3="5074" />
+ <tetrahedron index="24454" v0="4589" v1="4834" v2="4843" v3="5956" />
+ <tetrahedron index="24455" v0="3309" v1="3310" v2="4513" v3="5506" />
+ <tetrahedron index="24456" v0="5091" v1="5199" v2="5674" v3="5713" />
+ <tetrahedron index="24457" v0="4877" v1="5061" v2="5174" v3="5578" />
+ <tetrahedron index="24458" v0="4058" v1="4502" v2="4688" v3="6071" />
+ <tetrahedron index="24459" v0="4681" v1="4935" v2="6316" v3="6811" />
+ <tetrahedron index="24460" v0="4889" v1="5206" v2="6361" v3="6362" />
+ <tetrahedron index="24461" v0="5132" v1="5239" v2="5241" v3="5868" />
+ <tetrahedron index="24462" v0="4064" v1="4183" v2="4640" v3="5097" />
+ <tetrahedron index="24463" v0="5006" v1="5692" v2="5881" v3="6518" />
+ <tetrahedron index="24464" v0="4519" v1="4554" v2="5104" v3="6241" />
+ <tetrahedron index="24465" v0="5680" v1="5706" v2="6351" v3="6352" />
+ <tetrahedron index="24466" v0="5490" v1="5730" v2="6006" v3="6394" />
+ <tetrahedron index="24467" v0="4881" v1="5017" v2="5502" v3="5803" />
+ <tetrahedron index="24468" v0="4051" v1="4052" v2="4593" v3="6481" />
+ <tetrahedron index="24469" v0="3539" v1="3821" v2="3822" v3="5972" />
+ <tetrahedron index="24470" v0="4262" v1="4437" v2="5662" v3="6335" />
+ <tetrahedron index="24471" v0="3511" v1="3513" v2="5045" v3="6651" />
+ <tetrahedron index="24472" v0="4438" v1="4457" v2="4552" v3="5181" />
+ <tetrahedron index="24473" v0="5068" v1="5636" v2="5638" v3="6315" />
+ <tetrahedron index="24474" v0="3516" v1="3517" v2="3556" v3="5017" />
+ <tetrahedron index="24475" v0="4074" v1="4555" v2="4594" v3="5231" />
+ <tetrahedron index="24476" v0="4379" v1="4824" v2="4842" v3="6828" />
+ <tetrahedron index="24477" v0="4903" v1="5244" v2="5460" v3="6124" />
+ <tetrahedron index="24478" v0="3960" v1="4035" v2="4781" v3="6476" />
+ <tetrahedron index="24479" v0="4242" v1="5364" v2="5846" v3="6015" />
+ <tetrahedron index="24480" v0="5396" v1="6060" v2="6445" v3="6865" />
+ <tetrahedron index="24481" v0="4909" v1="5257" v2="5544" v3="6076" />
+ <tetrahedron index="24482" v0="3961" v1="4142" v2="6017" v3="6383" />
+ <tetrahedron index="24483" v0="4097" v1="5279" v2="5919" v3="5923" />
+ <tetrahedron index="24484" v0="3938" v1="4417" v2="5119" v3="6379" />
+ <tetrahedron index="24485" v0="3538" v1="3539" v2="3822" v3="5972" />
+ <tetrahedron index="24486" v0="3479" v1="4687" v2="4702" v3="5824" />
+ <tetrahedron index="24487" v0="5112" v1="5659" v2="5703" v3="6373" />
+ <tetrahedron index="24488" v0="4300" v1="4835" v2="5831" v3="6238" />
+ <tetrahedron index="24489" v0="4852" v1="6287" v2="6597" v3="6789" />
+ <tetrahedron index="24490" v0="3282" v1="5133" v2="5382" v3="5726" />
+ <tetrahedron index="24491" v0="4997" v1="5876" v2="5877" v3="6180" />
+ <tetrahedron index="24492" v0="3690" v1="4474" v2="5013" v3="5593" />
+ <tetrahedron index="24493" v0="4258" v1="4295" v2="5412" v3="6074" />
+ <tetrahedron index="24494" v0="5096" v1="5698" v2="5701" v3="6368" />
+ <tetrahedron index="24495" v0="3773" v1="4216" v2="4343" v3="6504" />
+ <tetrahedron index="24496" v0="6044" v1="6625" v2="6629" v3="6925" />
+ <tetrahedron index="24497" v0="4874" v1="6116" v2="6687" v3="6716" />
+ <tetrahedron index="24498" v0="4863" v1="5488" v2="5620" v3="5902" />
+ <tetrahedron index="24499" v0="4054" v1="5631" v2="5983" v3="6309" />
+ <tetrahedron index="24500" v0="4126" v1="4430" v2="4811" v3="6736" />
+ <tetrahedron index="24501" v0="3507" v1="3980" v2="5222" v3="5842" />
+ <tetrahedron index="24502" v0="4231" v1="4350" v2="4397" v3="5236" />
+ <tetrahedron index="24503" v0="5166" v1="5781" v2="5842" v3="6281" />
+ <tetrahedron index="24504" v0="5019" v1="5537" v2="5538" v3="6621" />
+ <tetrahedron index="24505" v0="3405" v1="3408" v2="3643" v3="5293" />
+ <tetrahedron index="24506" v0="4880" v1="5088" v2="5668" v3="5798" />
+ <tetrahedron index="24507" v0="5292" v1="5293" v2="5930" v3="6547" />
+ <tetrahedron index="24508" v0="3241" v1="3365" v2="3366" v3="5692" />
+ <tetrahedron index="24509" v0="4887" v1="5199" v2="5716" v3="6387" />
+ <tetrahedron index="24510" v0="3407" v1="5209" v2="5288" v3="5927" />
+ <tetrahedron index="24511" v0="5094" v1="5146" v2="5678" v3="5939" />
+ <tetrahedron index="24512" v0="4236" v1="4484" v2="5893" v3="6215" />
+ <tetrahedron index="24513" v0="5195" v1="5816" v2="6470" v3="6872" />
+ <tetrahedron index="24514" v0="4942" v1="5120" v2="6353" v3="6985" />
+ <tetrahedron index="24515" v0="3795" v1="4810" v2="5428" v3="5430" />
+ <tetrahedron index="24516" v0="3561" v1="3562" v2="5358" v3="6010" />
+ <tetrahedron index="24517" v0="4114" v1="4573" v2="4574" v3="5109" />
+ <tetrahedron index="24518" v0="4027" v1="4801" v2="5082" v3="5658" />
+ <tetrahedron index="24519" v0="3969" v1="4064" v2="4212" v3="5683" />
+ <tetrahedron index="24520" v0="4479" v1="4678" v2="4679" v3="5308" />
+ <tetrahedron index="24521" v0="4007" v1="4308" v2="4373" v3="5583" />
+ <tetrahedron index="24522" v0="3315" v1="3923" v2="3934" v3="6510" />
+ <tetrahedron index="24523" v0="3804" v1="4386" v2="5322" v3="5968" />
+ <tetrahedron index="24524" v0="3335" v1="3599" v2="4833" v3="5532" />
+ <tetrahedron index="24525" v0="4567" v1="5347" v2="5600" v3="6272" />
+ <tetrahedron index="24526" v0="3260" v1="3269" v2="3802" v3="5308" />
+ <tetrahedron index="24527" v0="5358" v1="5673" v2="6011" v3="6609" />
+ <tetrahedron index="24528" v0="5071" v1="5646" v2="6322" v3="6683" />
+ <tetrahedron index="24529" v0="4876" v1="5783" v2="6106" v3="6444" />
+ <tetrahedron index="24530" v0="3487" v1="3488" v2="3683" v3="6938" />
+ <tetrahedron index="24531" v0="4223" v1="4224" v2="4643" v3="5637" />
+ <tetrahedron index="24532" v0="5124" v1="5720" v2="5721" v3="6306" />
+ <tetrahedron index="24533" v0="3238" v1="5258" v2="5419" v3="5544" />
+ <tetrahedron index="24534" v0="5084" v1="5660" v2="5661" v3="5677" />
+ <tetrahedron index="24535" v0="4992" v1="5201" v2="5727" v3="6392" />
+ <tetrahedron index="24536" v0="5474" v1="5551" v2="6220" v3="6991" />
+ <tetrahedron index="24537" v0="3504" v1="3550" v2="3552" v3="5466" />
+ <tetrahedron index="24538" v0="4870" v1="5028" v2="5609" v3="6510" />
+ <tetrahedron index="24539" v0="3755" v1="3799" v2="4590" v3="6356" />
+ <tetrahedron index="24540" v0="4107" v1="5323" v2="6378" v3="6380" />
+ <tetrahedron index="24541" v0="3775" v1="3982" v2="5278" v3="5920" />
+ <tetrahedron index="24542" v0="4975" v1="5559" v2="6507" v3="6509" />
+ <tetrahedron index="24543" v0="3279" v1="3280" v2="3286" v3="3386" />
+ <tetrahedron index="24544" v0="4867" v1="5762" v2="6428" v3="6467" />
+ <tetrahedron index="24545" v0="4044" v1="4783" v2="5362" v3="6229" />
+ <tetrahedron index="24546" v0="4604" v1="4605" v2="4666" v3="5050" />
+ <tetrahedron index="24547" v0="4443" v1="4815" v2="5582" v3="5583" />
+ <tetrahedron index="24548" v0="3808" v1="3997" v2="4056" v3="5329" />
+ <tetrahedron index="24549" v0="4897" v1="5231" v2="5400" v3="5853" />
+ <tetrahedron index="24550" v0="4171" v1="4761" v2="5553" v3="6225" />
+ <tetrahedron index="24551" v0="4490" v1="5080" v2="5271" v3="5907" />
+ <tetrahedron index="24552" v0="4180" v1="4506" v2="6192" v3="6273" />
+ <tetrahedron index="24553" v0="3588" v1="4117" v2="5395" v3="6051" />
+ <tetrahedron index="24554" v0="4286" v1="4739" v2="5029" v3="5561" />
+ <tetrahedron index="24555" v0="4980" v1="5459" v2="6117" v3="6123" />
+ <tetrahedron index="24556" v0="3290" v1="3554" v2="5018" v3="6397" />
+ <tetrahedron index="24557" v0="5008" v1="5518" v2="6186" v3="6412" />
+ <tetrahedron index="24558" v0="5223" v1="5844" v2="6153" v3="6494" />
+ <tetrahedron index="24559" v0="4999" v1="5499" v2="5668" v3="6160" />
+ <tetrahedron index="24560" v0="4385" v1="4534" v2="4655" v3="5946" />
+ <tetrahedron index="24561" v0="5024" v1="5039" v2="5577" v3="5967" />
+ <tetrahedron index="24562" v0="3652" v1="4559" v2="5777" v3="6440" />
+ <tetrahedron index="24563" v0="4023" v1="4133" v2="4469" v3="5426" />
+ <tetrahedron index="24564" v0="3371" v1="3549" v2="5094" v3="5678" />
+ <tetrahedron index="24565" v0="5093" v1="5662" v2="5767" v3="5768" />
+ <tetrahedron index="24566" v0="5499" v1="5668" v2="5777" v3="6439" />
+ <tetrahedron index="24567" v0="3299" v1="5219" v2="5834" v3="6482" />
+ <tetrahedron index="24568" v0="4948" v1="5141" v2="5976" v3="6027" />
+ <tetrahedron index="24569" v0="4888" v1="5201" v2="5202" v3="6572" />
+ <tetrahedron index="24570" v0="5169" v1="5875" v2="5876" v3="6288" />
+ <tetrahedron index="24571" v0="5070" v1="5161" v2="5641" v3="5774" />
+ <tetrahedron index="24572" v0="3337" v1="3595" v2="4638" v3="5336" />
+ <tetrahedron index="24573" v0="4468" v1="5019" v2="5537" v3="6190" />
+ <tetrahedron index="24574" v0="5008" v1="5517" v2="5518" v3="6187" />
+ <tetrahedron index="24575" v0="3906" v1="4381" v2="4504" v3="5435" />
+ <tetrahedron index="24576" v0="3826" v1="4198" v2="5056" v3="5869" />
+ <tetrahedron index="24577" v0="4229" v1="4236" v2="4484" v3="5893" />
+ <tetrahedron index="24578" v0="4855" v1="5249" v2="6065" v3="6422" />
+ <tetrahedron index="24579" v0="6308" v1="6311" v2="6625" v3="6924" />
+ <tetrahedron index="24580" v0="6182" v1="6412" v2="6732" v3="6964" />
+ <tetrahedron index="24581" v0="4846" v1="5740" v2="5741" v3="5758" />
+ <tetrahedron index="24582" v0="4927" v1="5313" v2="5823" v3="6477" />
+ <tetrahedron index="24583" v0="3346" v1="5113" v2="5453" v3="6113" />
+ <tetrahedron index="24584" v0="4369" v1="4625" v2="5649" v3="5650" />
+ <tetrahedron index="24585" v0="3359" v1="4099" v2="4653" v3="6346" />
+ <tetrahedron index="24586" v0="4331" v1="4333" v2="4345" v3="4505" />
+ <tetrahedron index="24587" v0="5525" v1="6197" v2="6452" v3="6739" />
+ <tetrahedron index="24588" v0="5695" v1="5790" v2="5793" v3="6365" />
+ <tetrahedron index="24589" v0="3633" v1="3655" v2="4647" v3="6433" />
+ <tetrahedron index="24590" v0="3259" v1="4479" v2="4865" v3="5069" />
+ <tetrahedron index="24591" v0="5071" v1="5644" v2="5645" v3="6322" />
+ <tetrahedron index="24592" v0="3301" v1="5055" v2="5854" v3="5855" />
+ <tetrahedron index="24593" v0="4843" v1="5296" v2="5298" v3="5956" />
+ <tetrahedron index="24594" v0="4959" v1="5402" v2="5404" v3="6063" />
+ <tetrahedron index="24595" v0="4028" v1="4363" v2="4759" v3="4774" />
+ <tetrahedron index="24596" v0="4958" v1="5230" v2="5690" v3="5691" />
+ <tetrahedron index="24597" v0="4956" v1="5405" v2="5783" v3="6445" />
+ <tetrahedron index="24598" v0="3956" v1="4190" v2="4306" v3="5732" />
+ <tetrahedron index="24599" v0="4269" v1="4707" v2="4708" v3="5669" />
+ <tetrahedron index="24600" v0="3450" v1="3625" v2="5872" v3="6802" />
+ <tetrahedron index="24601" v0="5220" v1="6216" v2="6217" v3="6485" />
+ <tetrahedron index="24602" v0="3841" v1="4391" v2="5425" v3="6084" />
+ <tetrahedron index="24603" v0="4903" v1="5244" v2="6124" v3="6513" />
+ <tetrahedron index="24604" v0="4899" v1="5264" v2="5899" v3="6502" />
+ <tetrahedron index="24605" v0="4932" v1="5121" v2="5705" v3="5712" />
+ <tetrahedron index="24606" v0="3829" v1="4059" v2="4103" v3="5451" />
+ <tetrahedron index="24607" v0="3840" v1="4449" v2="4466" v3="5424" />
+ <tetrahedron index="24608" v0="5197" v1="5451" v2="6071" v3="6652" />
+ <tetrahedron index="24609" v0="6300" v1="6301" v2="6797" v3="6799" />
+ <tetrahedron index="24610" v0="4874" v1="5494" v2="6715" v3="6883" />
+ <tetrahedron index="24611" v0="4570" v1="5610" v2="5900" v3="6013" />
+ <tetrahedron index="24612" v0="5782" v1="6726" v2="6841" v3="6988" />
+ <tetrahedron index="24613" v0="3911" v1="4672" v2="5296" v3="5935" />
+ <tetrahedron index="24614" v0="3376" v1="3377" v2="3529" v3="5202" />
+ <tetrahedron index="24615" v0="5201" v1="5965" v2="5966" v3="6572" />
+ <tetrahedron index="24616" v0="3512" v1="4364" v2="4428" v3="6069" />
+ <tetrahedron index="24617" v0="4446" v1="4470" v2="4777" v3="5192" />
+ <tetrahedron index="24618" v0="3644" v1="5052" v2="5075" v3="6239" />
+ <tetrahedron index="24619" v0="5201" v1="5202" v2="5965" v3="6572" />
+ <tetrahedron index="24620" v0="5150" v1="5750" v2="6179" v3="6411" />
+ <tetrahedron index="24621" v0="4883" v1="5874" v2="6120" v3="6688" />
+ <tetrahedron index="24622" v0="4939" v1="6600" v2="6839" v3="6846" />
+ <tetrahedron index="24623" v0="4906" v1="4959" v2="5011" v3="5069" />
+ <tetrahedron index="24624" v0="4919" v1="5698" v2="6368" v3="6370" />
+ <tetrahedron index="24625" v0="4860" v1="5552" v2="6221" v3="6223" />
+ <tetrahedron index="24626" v0="4427" v1="4609" v2="4723" v3="5321" />
+ <tetrahedron index="24627" v0="4420" v1="4621" v2="5010" v3="5521" />
+ <tetrahedron index="24628" v0="5397" v1="6641" v2="6642" v3="6774" />
+ <tetrahedron index="24629" v0="4874" v1="6016" v2="6613" v3="6883" />
+ <tetrahedron index="24630" v0="4093" v1="4094" v2="4223" v3="5743" />
+ <tetrahedron index="24631" v0="6098" v1="6150" v2="6673" v3="6707" />
+ <tetrahedron index="24632" v0="4865" v1="5154" v2="5759" v3="6423" />
+ <tetrahedron index="24633" v0="5002" v1="5611" v2="6605" v3="6610" />
+ <tetrahedron index="24634" v0="3432" v1="3864" v2="4511" v3="5370" />
+ <tetrahedron index="24635" v0="4568" v1="5815" v2="6013" v3="6271" />
+ <tetrahedron index="24636" v0="4987" v1="5844" v2="6495" v3="6978" />
+ <tetrahedron index="24637" v0="4907" v1="4998" v2="5250" v3="5619" />
+ <tetrahedron index="24638" v0="3580" v1="5035" v2="5569" v3="5724" />
+ <tetrahedron index="24639" v0="5307" v1="6558" v2="6559" v3="6896" />
+ <tetrahedron index="24640" v0="5210" v1="5829" v2="5871" v3="6511" />
+ <tetrahedron index="24641" v0="4610" v1="4659" v2="5244" v3="6692" />
+ <tetrahedron index="24642" v0="4868" v1="5660" v2="6137" v3="6138" />
+ <tetrahedron index="24643" v0="4256" v1="4311" v2="5224" v3="6367" />
+ <tetrahedron index="24644" v0="3458" v1="3709" v2="3824" v3="5180" />
+ <tetrahedron index="24645" v0="4039" v1="4396" v2="5415" v3="6785" />
+ <tetrahedron index="24646" v0="5365" v1="6097" v2="6671" v3="6672" />
+ <tetrahedron index="24647" v0="4941" v1="5864" v2="6314" v3="6506" />
+ <tetrahedron index="24648" v0="4338" v1="4400" v2="5631" v3="6194" />
+ <tetrahedron index="24649" v0="3487" v1="3704" v2="3867" v3="5423" />
+ <tetrahedron index="24650" v0="3961" v1="4102" v2="5122" v3="5714" />
+ <tetrahedron index="24651" v0="5102" v1="5545" v2="5688" v3="6360" />
+ <tetrahedron index="24652" v0="3290" v1="3554" v2="5018" v3="5739" />
+ <tetrahedron index="24653" v0="3752" v1="5211" v2="5289" v3="6274" />
+ <tetrahedron index="24654" v0="4877" v1="4998" v2="5496" v3="6447" />
+ <tetrahedron index="24655" v0="3902" v1="4859" v2="5151" v3="5729" />
+ <tetrahedron index="24656" v0="5054" v1="5608" v2="6366" v3="6451" />
+ <tetrahedron index="24657" v0="3569" v1="3837" v2="4313" v3="5431" />
+ <tetrahedron index="24658" v0="3796" v1="4229" v2="5544" v3="5893" />
+ <tetrahedron index="24659" v0="3714" v1="3715" v2="5505" v3="6024" />
+ <tetrahedron index="24660" v0="4725" v1="4747" v2="5806" v3="6768" />
+ <tetrahedron index="24661" v0="4959" v1="5011" v2="5402" v3="6063" />
+ <tetrahedron index="24662" v0="3408" v1="3410" v2="4368" v3="5774" />
+ <tetrahedron index="24663" v0="3748" v1="3765" v2="3963" v3="5441" />
+ <tetrahedron index="24664" v0="4889" v1="5690" v2="6361" v3="6829" />
+ <tetrahedron index="24665" v0="5297" v1="5298" v2="5936" v3="5956" />
+ <tetrahedron index="24666" v0="4103" v1="4192" v2="5063" v3="5626" />
+ <tetrahedron index="24667" v0="3843" v1="3844" v2="4281" v3="6859" />
+ <tetrahedron index="24668" v0="3921" v1="4161" v2="4387" v3="6320" />
+ <tetrahedron index="24669" v0="3645" v1="4646" v2="4786" v3="6526" />
+ <tetrahedron index="24670" v0="4869" v1="5702" v2="5772" v3="6334" />
+ <tetrahedron index="24671" v0="4470" v1="4472" v2="5489" v3="6968" />
+ <tetrahedron index="24672" v0="3523" v1="3524" v2="3542" v3="6009" />
+ <tetrahedron index="24673" v0="3430" v1="6337" v2="6528" v3="6822" />
+ <tetrahedron index="24674" v0="4580" v1="4710" v2="4711" v3="5999" />
+ <tetrahedron index="24675" v0="3737" v1="4062" v2="5146" v3="5678" />
+ <tetrahedron index="24676" v0="4896" v1="5224" v2="5847" v3="5849" />
+ <tetrahedron index="24677" v0="3468" v1="3740" v2="4617" v3="5356" />
+ <tetrahedron index="24678" v0="4920" v1="5291" v2="5293" v3="5774" />
+ <tetrahedron index="24679" v0="4086" v1="4136" v2="4431" v3="6091" />
+ <tetrahedron index="24680" v0="3456" v1="3457" v2="3810" v3="5134" />
+ <tetrahedron index="24681" v0="3837" v1="5431" v2="5710" v3="6089" />
+ <tetrahedron index="24682" v0="4870" v1="5131" v2="5161" v3="5732" />
+ <tetrahedron index="24683" v0="4880" v1="5548" v2="5796" v3="6739" />
+ <tetrahedron index="24684" v0="4636" v1="5234" v2="5857" v3="5896" />
+ <tetrahedron index="24685" v0="3410" v1="4368" v2="5641" v3="5774" />
+ <tetrahedron index="24686" v0="4991" v1="5482" v2="6148" v3="6260" />
+ <tetrahedron index="24687" v0="3540" v1="3727" v2="5723" v3="6389" />
+ <tetrahedron index="24688" v0="3499" v1="4565" v2="5254" v3="5887" />
+ <tetrahedron index="24689" v0="4904" v1="5876" v2="6288" v3="6289" />
+ <tetrahedron index="24690" v0="4499" v1="5071" v2="5254" v3="6527" />
+ <tetrahedron index="24691" v0="5589" v1="6261" v2="6486" v3="6874" />
+ <tetrahedron index="24692" v0="3474" v1="5102" v2="5117" v3="5892" />
+ <tetrahedron index="24693" v0="3789" v1="5108" v2="5714" v3="6365" />
+ <tetrahedron index="24694" v0="3585" v1="5302" v2="5638" v3="5938" />
+ <tetrahedron index="24695" v0="3368" v1="3823" v2="4365" v3="5878" />
+ <tetrahedron index="24696" v0="3374" v1="5492" v2="6114" v3="6154" />
+ <tetrahedron index="24697" v0="3272" v1="3554" v2="4076" v3="6397" />
+ <tetrahedron index="24698" v0="4908" v1="5644" v2="6321" v3="6813" />
+ <tetrahedron index="24699" v0="3880" v1="3881" v2="4648" v3="6012" />
+ <tetrahedron index="24700" v0="4919" v1="5288" v2="5601" v3="5679" />
+ <tetrahedron index="24701" v0="4854" v1="5148" v2="5941" v3="6550" />
+ <tetrahedron index="24702" v0="5255" v1="5888" v2="6215" v3="6360" />
+ <tetrahedron index="24703" v0="4981" v1="5442" v2="5444" v3="6102" />
+ <tetrahedron index="24704" v0="5764" v1="6431" v2="6855" v3="6856" />
+ <tetrahedron index="24705" v0="3504" v1="3552" v2="5466" v3="5940" />
+ <tetrahedron index="24706" v0="3603" v1="4066" v2="4888" v3="6838" />
+ <tetrahedron index="24707" v0="4996" v1="5492" v2="6114" v3="6493" />
+ <tetrahedron index="24708" v0="3762" v1="3874" v2="3957" v3="5706" />
+ <tetrahedron index="24709" v0="4853" v1="5403" v2="5524" v3="6060" />
+ <tetrahedron index="24710" v0="4282" v1="4680" v2="5032" v3="6162" />
+ <tetrahedron index="24711" v0="4869" v1="5160" v2="5772" v3="6334" />
+ <tetrahedron index="24712" v0="4117" v1="4731" v2="4832" v3="5395" />
+ <tetrahedron index="24713" v0="4159" v1="4370" v2="4633" v3="5073" />
+ <tetrahedron index="24714" v0="4890" v1="5210" v2="5828" v3="6511" />
+ <tetrahedron index="24715" v0="4937" v1="5482" v2="5988" v3="6773" />
+ <tetrahedron index="24716" v0="5016" v1="5531" v2="6432" v3="6433" />
+ <tetrahedron index="24717" v0="4867" v1="6213" v2="6467" v3="6761" />
+ <tetrahedron index="24718" v0="4254" v1="4422" v2="4798" v3="6253" />
+ <tetrahedron index="24719" v0="4959" v1="5133" v2="5406" v3="6066" />
+ <tetrahedron index="24720" v0="4323" v1="5304" v2="5306" v3="5944" />
+ <tetrahedron index="24721" v0="3876" v1="4151" v2="5611" v3="6607" />
+ <tetrahedron index="24722" v0="3622" v1="4637" v2="4662" v3="5862" />
+ <tetrahedron index="24723" v0="4969" v1="5431" v2="6089" v3="6353" />
+ <tetrahedron index="24724" v0="5304" v1="5305" v2="5942" v3="6552" />
+ <tetrahedron index="24725" v0="4468" v1="4564" v2="5519" v3="5537" />
+ <tetrahedron index="24726" v0="3579" v1="3580" v2="5569" v3="5724" />
+ <tetrahedron index="24727" v0="4249" v1="4304" v2="4305" v3="5508" />
+ <tetrahedron index="24728" v0="4377" v1="4378" v2="4379" v3="6359" />
+ <tetrahedron index="24729" v0="4026" v1="4027" v2="4031" v3="4801" />
+ <tetrahedron index="24730" v0="3697" v1="3698" v2="3920" v3="5274" />
+ <tetrahedron index="24731" v0="3689" v1="4426" v2="4474" v3="6197" />
+ <tetrahedron index="24732" v0="3582" v1="4505" v2="5789" v3="6448" />
+ <tetrahedron index="24733" v0="3260" v1="3261" v2="3269" v3="5308" />
+ <tetrahedron index="24734" v0="4642" v1="5132" v2="5357" v3="5870" />
+ <tetrahedron index="24735" v0="4374" v1="4404" v2="4572" v3="5731" />
+ <tetrahedron index="24736" v0="4955" v1="5554" v2="6227" v3="6636" />
+ <tetrahedron index="24737" v0="4726" v1="5051" v2="5598" v3="6474" />
+ <tetrahedron index="24738" v0="3567" v1="3697" v2="3920" v3="6354" />
+ <tetrahedron index="24739" v0="3273" v1="3289" v2="5735" v3="6397" />
+ <tetrahedron index="24740" v0="3414" v1="4080" v2="4841" v3="5058" />
+ <tetrahedron index="24741" v0="5478" v1="5843" v2="6275" v3="6998" />
+ <tetrahedron index="24742" v0="4261" v1="5048" v2="5118" v3="6352" />
+ <tetrahedron index="24743" v0="3904" v1="4286" v2="4803" v3="6565" />
+ <tetrahedron index="24744" v0="4409" v1="4410" v2="5916" v3="6802" />
+ <tetrahedron index="24745" v0="4902" v1="5720" v2="5915" v3="6306" />
+ <tetrahedron index="24746" v0="4403" v1="5136" v2="5328" v3="5738" />
+ <tetrahedron index="24747" v0="4218" v1="5338" v2="5563" v3="6318" />
+ <tetrahedron index="24748" v0="5005" v1="5510" v2="6233" v3="6234" />
+ <tetrahedron index="24749" v0="3561" v1="3680" v2="5358" v3="6608" />
+ <tetrahedron index="24750" v0="3589" v1="3845" v2="5261" v3="6502" />
+ <tetrahedron index="24751" v0="3771" v1="5769" v2="6378" v3="6701" />
+ <tetrahedron index="24752" v0="3674" v1="4593" v2="4728" v3="5233" />
+ <tetrahedron index="24753" v0="3239" v1="3884" v2="4461" v3="5327" />
+ <tetrahedron index="24754" v0="5016" v1="5676" v2="5981" v3="6432" />
+ <tetrahedron index="24755" v0="4428" v1="4501" v2="5331" v3="6069" />
+ <tetrahedron index="24756" v0="3576" v1="3794" v2="4743" v3="6084" />
+ <tetrahedron index="24757" v0="3712" v1="3950" v2="4335" v3="5018" />
+ <tetrahedron index="24758" v0="4196" v1="5223" v2="5846" v3="6494" />
+ <tetrahedron index="24759" v0="3695" v1="3828" v2="3908" v3="5271" />
+ <tetrahedron index="24760" v0="4479" v1="4925" v2="5308" v3="5640" />
+ <tetrahedron index="24761" v0="3500" v1="3564" v2="4274" v3="5200" />
+ <tetrahedron index="24762" v0="5248" v1="5878" v2="5879" v3="6518" />
+ <tetrahedron index="24763" v0="4142" v1="4163" v2="5198" v3="6017" />
+ <tetrahedron index="24764" v0="5160" v1="5771" v2="5773" v3="6437" />
+ <tetrahedron index="24765" v0="5839" v1="6485" v2="6561" v3="6874" />
+ <tetrahedron index="24766" v0="4439" v1="5471" v2="5472" v3="6136" />
+ <tetrahedron index="24767" v0="5303" v1="6034" v2="6245" v3="6763" />
+ <tetrahedron index="24768" v0="3474" v1="3475" v2="3476" v3="5117" />
+ <tetrahedron index="24769" v0="4338" v1="4399" v2="5631" v3="6553" />
+ <tetrahedron index="24770" v0="3918" v1="4214" v2="4352" v3="5386" />
+ <tetrahedron index="24771" v0="4297" v1="5100" v2="5684" v3="5701" />
+ <tetrahedron index="24772" v0="4917" v1="5284" v2="5750" v3="6413" />
+ <tetrahedron index="24773" v0="5153" v1="5841" v2="6489" v3="6724" />
+ <tetrahedron index="24774" v0="4420" v1="5010" v2="5522" v3="6195" />
+ <tetrahedron index="24775" v0="4820" v1="5284" v2="5343" v3="5924" />
+ <tetrahedron index="24776" v0="5015" v1="6158" v2="6202" v3="6716" />
+ <tetrahedron index="24777" v0="3444" v1="3710" v2="5324" v3="5971" />
+ <tetrahedron index="24778" v0="4548" v1="5013" v2="5526" v3="5594" />
+ <tetrahedron index="24779" v0="4251" v1="6219" v2="6253" v3="6398" />
+ <tetrahedron index="24780" v0="4672" v1="5296" v2="5298" v3="5935" />
+ <tetrahedron index="24781" v0="4855" v1="4912" v2="4929" v3="5319" />
+ <tetrahedron index="24782" v0="4944" v1="5494" v2="6492" v3="6884" />
+ <tetrahedron index="24783" v0="3525" v1="4160" v2="4330" v3="4812" />
+ <tetrahedron index="24784" v0="4277" v1="4694" v2="5153" v3="6416" />
+ <tetrahedron index="24785" v0="5582" v1="6256" v2="6660" v3="6938" />
+ <tetrahedron index="24786" v0="4871" v1="6112" v2="6322" v3="6683" />
+ <tetrahedron index="24787" v0="4042" v1="4043" v2="4180" v3="6192" />
+ <tetrahedron index="24788" v0="3834" v1="5096" v2="5679" v3="6401" />
+ <tetrahedron index="24789" v0="4600" v1="4768" v2="5718" v3="6017" />
+ <tetrahedron index="24790" v0="3514" v1="5635" v2="6038" v3="6068" />
+ <tetrahedron index="24791" v0="3813" v1="3968" v2="5129" v3="5728" />
+ <tetrahedron index="24792" v0="3503" v1="4982" v2="5466" v3="5982" />
+ <tetrahedron index="24793" v0="4889" v1="5204" v2="5822" v3="6873" />
+ <tetrahedron index="24794" v0="3460" v1="3461" v2="3896" v3="5527" />
+ <tetrahedron index="24795" v0="4853" v1="4875" v2="5402" v3="5524" />
+ <tetrahedron index="24796" v0="5624" v1="6520" v2="6682" v3="6798" />
+ <tetrahedron index="24797" v0="4099" v1="4653" v2="4699" v3="6346" />
+ <tetrahedron index="24798" v0="3634" v1="3979" v2="4207" v3="5771" />
+ <tetrahedron index="24799" v0="3665" v1="4155" v2="4156" v3="5651" />
+ <tetrahedron index="24800" v0="3451" v1="3685" v2="3767" v3="5829" />
+ <tetrahedron index="24801" v0="4921" v1="5584" v2="5934" v3="5935" />
+ <tetrahedron index="24802" v0="4945" v1="6384" v2="6449" v3="6833" />
+ <tetrahedron index="24803" v0="3673" v1="3932" v2="3953" v3="5141" />
+ <tetrahedron index="24804" v0="3470" v1="3634" v2="3844" v3="5773" />
+ <tetrahedron index="24805" v0="3377" v1="3378" v2="3603" v3="5202" />
+ <tetrahedron index="24806" v0="4944" v1="6016" v2="6492" v3="6882" />
+ <tetrahedron index="24807" v0="4896" v1="5227" v2="5850" v3="5851" />
+ <tetrahedron index="24808" v0="4882" v1="5805" v2="5992" v3="6092" />
+ <tetrahedron index="24809" v0="4897" v1="5228" v2="5853" v3="6500" />
+ <tetrahedron index="24810" v0="4116" v1="4540" v2="4716" v3="5573" />
+ <tetrahedron index="24811" v0="4978" v1="5503" v2="5623" v3="6168" />
+ <tetrahedron index="24812" v0="4406" v1="4424" v2="4425" v3="6207" />
+ <tetrahedron index="24813" v0="4945" v1="5792" v2="6384" v3="6449" />
+ <tetrahedron index="24814" v0="5635" v1="6068" v2="6650" v3="6651" />
+ <tetrahedron index="24815" v0="4449" v1="4466" v2="4543" v3="4998" />
+ <tetrahedron index="24816" v0="4333" v1="4469" v2="4505" v3="5429" />
+ <tetrahedron index="24817" v0="5168" v1="6784" v2="6862" v3="6997" />
+ <tetrahedron index="24818" v0="3889" v1="5369" v2="5371" v3="6039" />
+ <tetrahedron index="24819" v0="5104" v1="5234" v2="5896" v3="6347" />
+ <tetrahedron index="24820" v0="5159" v1="6335" v2="6374" v3="6832" />
+ <tetrahedron index="24821" v0="3589" v1="5232" v2="5261" v3="6502" />
+ <tetrahedron index="24822" v0="4453" v1="5280" v2="5860" v3="6886" />
+ <tetrahedron index="24823" v0="4164" v1="4663" v2="5917" v3="6543" />
+ <tetrahedron index="24824" v0="5068" v1="5637" v2="6317" v3="6812" />
+ <tetrahedron index="24825" v0="4856" v1="5588" v2="6260" v3="6638" />
+ <tetrahedron index="24826" v0="4740" v1="5457" v2="5459" v3="6119" />
+ <tetrahedron index="24827" v0="3351" v1="3535" v2="3949" v3="5890" />
+ <tetrahedron index="24828" v0="4909" v1="5256" v2="5889" v3="6822" />
+ <tetrahedron index="24829" v0="4900" v1="5236" v2="5237" v3="5860" />
+ <tetrahedron index="24830" v0="3326" v1="3939" v2="3940" v3="5176" />
+ <tetrahedron index="24831" v0="4175" v1="4480" v2="4612" v3="5154" />
+ <tetrahedron index="24832" v0="4717" v1="4718" v2="5411" v3="6180" />
+ <tetrahedron index="24833" v0="4961" v1="5416" v2="5461" v3="6442" />
+ <tetrahedron index="24834" v0="4851" v1="5636" v2="5833" v3="6317" />
+ <tetrahedron index="24835" v0="4023" v1="4332" v2="4469" v3="5429" />
+ <tetrahedron index="24836" v0="4212" v1="5683" v2="6827" v3="6985" />
+ <tetrahedron index="24837" v0="4966" v1="5421" v2="5423" v3="6082" />
+ <tetrahedron index="24838" v0="3831" v1="3832" v2="4288" v3="5703" />
+ <tetrahedron index="24839" v0="4896" v1="5225" v2="5417" v3="5849" />
+ <tetrahedron index="24840" v0="3813" v1="4202" v2="4352" v3="6614" />
+ <tetrahedron index="24841" v0="5627" v1="5720" v2="5915" v3="6306" />
+ <tetrahedron index="24842" v0="4659" v1="5244" v2="5460" v3="6692" />
+ <tetrahedron index="24843" v0="3251" v1="5156" v2="5464" v3="6131" />
+ <tetrahedron index="24844" v0="4981" v1="5464" v2="6072" v3="6131" />
+ <tetrahedron index="24845" v0="3584" v1="3650" v2="3830" v3="5418" />
+ <tetrahedron index="24846" v0="3237" v1="3474" v2="3475" v3="5545" />
+ <tetrahedron index="24847" v0="4348" v1="4349" v2="4642" v3="5132" />
+ <tetrahedron index="24848" v0="4533" v1="5541" v2="5570" v3="6244" />
+ <tetrahedron index="24849" v0="5451" v1="5626" v2="6071" v3="6302" />
+ <tetrahedron index="24850" v0="3354" v1="5117" v2="5664" v3="6337" />
+ <tetrahedron index="24851" v0="4457" v1="4552" v2="5181" v3="5793" />
+ <tetrahedron index="24852" v0="3925" v1="4675" v2="4758" v3="5326" />
+ <tetrahedron index="24853" v0="5483" v1="5741" v2="6065" v3="6422" />
+ <tetrahedron index="24854" v0="3856" v1="4555" v2="4594" v3="5231" />
+ <tetrahedron index="24855" v0="4967" v1="5171" v2="5581" v3="5784" />
+ <tetrahedron index="24856" v0="5091" v1="5199" v2="5713" v3="5791" />
+ <tetrahedron index="24857" v0="4954" v1="5984" v2="6629" v3="6635" />
+ <tetrahedron index="24858" v0="5603" v1="6712" v2="6783" v3="6804" />
+ <tetrahedron index="24859" v0="3604" v1="3605" v2="4520" v3="5738" />
+ <tetrahedron index="24860" v0="3979" v1="5770" v2="6437" v3="6859" />
+ <tetrahedron index="24861" v0="4507" v1="5575" v2="6545" v3="6768" />
+ <tetrahedron index="24862" v0="4110" v1="4264" v2="5481" v3="6146" />
+ <tetrahedron index="24863" v0="3502" v1="3814" v2="3968" v3="5384" />
+ <tetrahedron index="24864" v0="4146" v1="4251" v2="4264" v3="6219" />
+ <tetrahedron index="24865" v0="4638" v1="5336" v2="5356" v3="7024" />
+ <tetrahedron index="24866" v0="4214" v1="4464" v2="5385" v3="5386" />
+ <tetrahedron index="24867" v0="4105" v1="4618" v2="5830" v3="6816" />
+ <tetrahedron index="24868" v0="4181" v1="5277" v2="6355" v3="6985" />
+ <tetrahedron index="24869" v0="3399" v1="5124" v2="5721" v3="5827" />
+ <tetrahedron index="24870" v0="4927" v1="5089" v2="5671" v3="5936" />
+ <tetrahedron index="24871" v0="3337" v1="3338" v2="3339" v3="5334" />
+ <tetrahedron index="24872" v0="5684" v1="6368" v2="6830" v3="6986" />
+ <tetrahedron index="24873" v0="4931" v1="5322" v2="5796" v3="5967" />
+ <tetrahedron index="24874" v0="3711" v1="4342" v2="4785" v3="5514" />
+ <tetrahedron index="24875" v0="3957" v1="4183" v2="4245" v3="6376" />
+ <tetrahedron index="24876" v0="4142" v1="4143" v2="4800" v3="6383" />
+ <tetrahedron index="24877" v0="5247" v1="6119" v2="6122" v3="6691" />
+ <tetrahedron index="24878" v0="5000" v1="5501" v2="5799" v3="6455" />
+ <tetrahedron index="24879" v0="3411" v1="3495" v2="5448" v3="5866" />
+ <tetrahedron index="24880" v0="3763" v1="5746" v2="6032" v3="6617" />
+ <tetrahedron index="24881" v0="4323" v1="4324" v2="4325" v3="5306" />
+ <tetrahedron index="24882" v0="4258" v1="4295" v2="4614" v3="6074" />
+ <tetrahedron index="24883" v0="3293" v1="3757" v2="4005" v3="5077" />
+ <tetrahedron index="24884" v0="3338" v1="3339" v2="4485" v3="5334" />
+ <tetrahedron index="24885" v0="4924" v1="5304" v2="6034" v3="6552" />
+ <tetrahedron index="24886" v0="5112" v1="5703" v2="6373" v3="6399" />
+ <tetrahedron index="24887" v0="4626" v1="5718" v2="6386" v3="6387" />
+ <tetrahedron index="24888" v0="4064" v1="5076" v2="5097" v3="5683" />
+ <tetrahedron index="24889" v0="4746" v1="5265" v2="5352" v3="6601" />
+ <tetrahedron index="24890" v0="5809" v1="6623" v2="6844" v3="6969" />
+ <tetrahedron index="24891" v0="3261" v1="3268" v2="3269" v3="5038" />
+ <tetrahedron index="24892" v0="5021" v1="5235" v2="5859" v3="6504" />
+ <tetrahedron index="24893" v0="3853" v1="4527" v2="4706" v3="6763" />
+ <tetrahedron index="24894" v0="4142" v1="5122" v2="5198" v3="6017" />
+ <tetrahedron index="24895" v0="4038" v1="4768" v2="5718" v3="6017" />
+ <tetrahedron index="24896" v0="3535" v1="3949" v2="3958" v3="6528" />
+ <tetrahedron index="24897" v0="3932" v1="5141" v2="5332" v3="5977" />
+ <tetrahedron index="24898" v0="4185" v1="4278" v2="4279" v3="6040" />
+ <tetrahedron index="24899" v0="4155" v1="4674" v2="5075" v3="5651" />
+ <tetrahedron index="24900" v0="3350" v1="3351" v2="5256" v3="5890" />
+ <tetrahedron index="24901" v0="3369" v1="4022" v2="5547" v3="6216" />
+ <tetrahedron index="24902" v0="4918" v1="5926" v2="6545" v3="6567" />
+ <tetrahedron index="24903" v0="4881" v1="5000" v2="5502" v3="6455" />
+ <tetrahedron index="24904" v0="3630" v1="4835" v2="5564" v3="6758" />
+ <tetrahedron index="24905" v0="5035" v1="5570" v2="6390" v3="6748" />
+ <tetrahedron index="24906" v0="3421" v1="5314" v2="5957" v3="6346" />
+ <tetrahedron index="24907" v0="3730" v1="4702" v2="5312" v3="5824" />
+ <tetrahedron index="24908" v0="4905" v1="5624" v2="6299" v3="6520" />
+ <tetrahedron index="24909" v0="4464" v1="4819" v2="5385" v3="5386" />
+ <tetrahedron index="24910" v0="4917" v1="5990" v2="6413" v3="6733" />
+ <tetrahedron index="24911" v0="5132" v1="5864" v2="6314" v3="6506" />
+ <tetrahedron index="24912" v0="3679" v1="5373" v2="5667" v3="6340" />
+ <tetrahedron index="24913" v0="5297" v1="5313" v2="5936" v3="5956" />
+ <tetrahedron index="24914" v0="4985" v1="5471" v2="5472" v3="6136" />
+ <tetrahedron index="24915" v0="5554" v1="6632" v2="6636" v3="6753" />
+ <tetrahedron index="24916" v0="4045" v1="4149" v2="4761" v3="6029" />
+ <tetrahedron index="24917" v0="4919" v1="5601" v2="5679" v3="6369" />
+ <tetrahedron index="24918" v0="3700" v1="4218" v2="4336" v3="6318" />
+ <tetrahedron index="24919" v0="4878" v1="5040" v2="5175" v3="5579" />
+ <tetrahedron index="24920" v0="5149" v1="5351" v2="5814" v3="6001" />
+ <tetrahedron index="24921" v0="4164" v1="4401" v2="4520" v3="5377" />
+ <tetrahedron index="24922" v0="5246" v1="5874" v2="6460" v3="6781" />
+ <tetrahedron index="24923" v0="5070" v1="5161" v2="5643" v3="5774" />
+ <tetrahedron index="24924" v0="4860" v1="6223" v2="6750" v3="6971" />
+ <tetrahedron index="24925" v0="4226" v1="4481" v2="4500" v3="5074" />
+ <tetrahedron index="24926" v0="4071" v1="4072" v2="6163" v3="6994" />
+ <tetrahedron index="24927" v0="3274" v1="3386" v2="5726" v3="5727" />
+ <tetrahedron index="24928" v0="5036" v1="5573" v2="5574" v3="6048" />
+ <tetrahedron index="24929" v0="4692" v1="4695" v2="4696" v3="4841" />
+ <tetrahedron index="24930" v0="4994" v1="5752" v2="6414" v3="6915" />
+ <tetrahedron index="24931" v0="3276" v1="3712" v2="4335" v3="5735" />
+ <tetrahedron index="24932" v0="3941" v1="4739" v2="4803" v3="5081" />
+ <tetrahedron index="24933" v0="3782" v1="3783" v2="4113" v3="5985" />
+ <tetrahedron index="24934" v0="4946" v1="5368" v2="6019" v3="6614" />
+ <tetrahedron index="24935" v0="5159" v1="5662" v2="5767" v3="6335" />
+ <tetrahedron index="24936" v0="3355" v1="3357" v2="3910" v3="5226" />
+ <tetrahedron index="24937" v0="4235" v1="5545" v2="5567" v3="5688" />
+ <tetrahedron index="24938" v0="4899" v1="5264" v2="5689" v3="5899" />
+ <tetrahedron index="24939" v0="4943" v1="5360" v2="6013" v3="6271" />
+ <tetrahedron index="24940" v0="3769" v1="4378" v2="4649" v3="5687" />
+ <tetrahedron index="24941" v0="4920" v1="5043" v2="5643" v3="5933" />
+ <tetrahedron index="24942" v0="4909" v1="5256" v2="5704" v3="6528" />
+ <tetrahedron index="24943" v0="3600" v1="5225" v2="5790" v3="6365" />
+ <tetrahedron index="24944" v0="5066" v1="5633" v2="5634" v3="5658" />
+ <tetrahedron index="24945" v0="4804" v1="5900" v2="6601" v3="6603" />
+ <tetrahedron index="24946" v0="5660" v1="5661" v2="5677" v3="6350" />
+ <tetrahedron index="24947" v0="3738" v1="3739" v2="3749" v3="5579" />
+ <tetrahedron index="24948" v0="5102" v1="5254" v2="5887" v3="6360" />
+ <tetrahedron index="24949" v0="5379" v1="5529" v2="6030" v3="6031" />
+ <tetrahedron index="24950" v0="3418" v1="4676" v2="5229" v3="5852" />
+ <tetrahedron index="24951" v0="4106" v1="4185" v2="4450" v3="5813" />
+ <tetrahedron index="24952" v0="3333" v1="3613" v2="4709" v3="5766" />
+ <tetrahedron index="24953" v0="4358" v1="4535" v2="4769" v3="5263" />
+ <tetrahedron index="24954" v0="4665" v1="4804" v2="4806" v3="5900" />
+ <tetrahedron index="24955" v0="4661" v1="5216" v2="5479" v3="5858" />
+ <tetrahedron index="24956" v0="5058" v1="5090" v2="5611" v3="6011" />
+ <tetrahedron index="24957" v0="5240" v1="5357" v2="5866" v3="6506" />
+ <tetrahedron index="24958" v0="5039" v1="5322" v2="5967" v3="5968" />
+ <tetrahedron index="24959" v0="5094" v1="5214" v2="5832" v3="6298" />
+ <tetrahedron index="24960" v0="3271" v1="3272" v2="3273" v3="6397" />
+ <tetrahedron index="24961" v0="4321" v1="4504" v2="5315" v3="5538" />
+ <tetrahedron index="24962" v0="5991" v1="6569" v2="6909" v3="7023" />
+ <tetrahedron index="24963" v0="5063" v1="5270" v2="5906" v3="6534" />
+ <tetrahedron index="24964" v0="5062" v1="5832" v2="6297" v3="6298" />
+ <tetrahedron index="24965" v0="3332" v1="3633" v2="4227" v3="5530" />
+ <tetrahedron index="24966" v0="3314" v1="3402" v2="4060" v3="5737" />
+ <tetrahedron index="24967" v0="3783" v1="4113" v2="4250" v3="5985" />
+ <tetrahedron index="24968" v0="5873" v1="6282" v2="6787" v3="7001" />
+ <tetrahedron index="24969" v0="5300" v1="6331" v2="6424" v3="6563" />
+ <tetrahedron index="24970" v0="5024" v1="5525" v2="5796" v3="6452" />
+ <tetrahedron index="24971" v0="3349" v1="3350" v2="3650" v3="6076" />
+ <tetrahedron index="24972" v0="3236" v1="3238" v2="3620" v3="5663" />
+ <tetrahedron index="24973" v0="4938" v1="5520" v2="6191" v3="6585" />
+ <tetrahedron index="24974" v0="5061" v1="5171" v2="5250" v3="5619" />
+ <tetrahedron index="24975" v0="4079" v1="4528" v2="5000" v3="5186" />
+ <tetrahedron index="24976" v0="3410" v1="4122" v2="4368" v3="5641" />
+ <tetrahedron index="24977" v0="3927" v1="4300" v2="5213" v3="5831" />
+ <tetrahedron index="24978" v0="4615" v1="4952" v2="5369" v3="5386" />
+ <tetrahedron index="24979" v0="5138" v1="5326" v2="5934" v3="5973" />
+ <tetrahedron index="24980" v0="4858" v1="4994" v2="5751" v3="6469" />
+ <tetrahedron index="24981" v0="4517" v1="4550" v2="5017" v3="5800" />
+ <tetrahedron index="24982" v0="5625" v1="6652" v2="6799" v3="6992" />
+ <tetrahedron index="24983" v0="5155" v1="5446" v2="6062" v3="6487" />
+ <tetrahedron index="24984" v0="3624" v1="4661" v2="5479" v3="5858" />
+ <tetrahedron index="24985" v0="3687" v1="3745" v2="5171" v3="5578" />
+ <tetrahedron index="24986" v0="5014" v1="5527" v2="6117" v3="6688" />
+ <tetrahedron index="24987" v0="6426" v1="6652" v2="6729" v3="6992" />
+ <tetrahedron index="24988" v0="5414" v1="5626" v2="6303" v3="6304" />
+ <tetrahedron index="24989" v0="4468" v1="5019" v2="5519" v3="5537" />
+ <tetrahedron index="24990" v0="3444" v1="3911" v2="5971" v3="6574" />
+ <tetrahedron index="24991" v0="6276" v1="6793" v2="6977" v3="6999" />
+ <tetrahedron index="24992" v0="4765" v1="5276" v2="5914" v3="5915" />
+ <tetrahedron index="24993" v0="3580" v1="5035" v2="5569" v3="5571" />
+ <tetrahedron index="24994" v0="5005" v1="5509" v2="5518" v3="6735" />
+ <tetrahedron index="24995" v0="5024" v1="5577" v2="6253" v3="6573" />
+ <tetrahedron index="24996" v0="4919" v1="5698" v2="5927" v3="6370" />
+ <tetrahedron index="24997" v0="4406" v1="4424" v2="5388" v3="6207" />
+ <tetrahedron index="24998" v0="3836" v1="4095" v2="4407" v3="5282" />
+ <tetrahedron index="24999" v0="5397" v1="6052" v2="6263" v3="6637" />
+ <tetrahedron index="25000" v0="4908" v1="5254" v2="5704" v3="6684" />
+ <tetrahedron index="25001" v0="4962" v1="5412" v2="5414" v3="6074" />
+ <tetrahedron index="25002" v0="3748" v1="3965" v2="4066" v3="6404" />
+ <tetrahedron index="25003" v0="5190" v1="5810" v2="6461" v3="6464" />
+ <tetrahedron index="25004" v0="5031" v1="6237" v2="6356" v3="6759" />
+ <tetrahedron index="25005" v0="3606" v1="5141" v2="5328" v3="5738" />
+ <tetrahedron index="25006" v0="4917" v1="5990" v2="6733" v3="6790" />
+ <tetrahedron index="25007" v0="3466" v1="4374" v2="4375" v3="4733" />
+ <tetrahedron index="25008" v0="5574" v1="6047" v2="6248" v3="6767" />
+ <tetrahedron index="25009" v0="4650" v1="5105" v2="5203" v3="5822" />
+ <tetrahedron index="25010" v0="5154" v1="5560" v2="5758" v3="5759" />
+ <tetrahedron index="25011" v0="4899" v1="5104" v2="5234" v3="5899" />
+ <tetrahedron index="25012" v0="3555" v1="3641" v2="5432" v3="6089" />
+ <tetrahedron index="25013" v0="4190" v1="5131" v2="5447" v3="5732" />
+ <tetrahedron index="25014" v0="3548" v1="3586" v2="4030" v3="5302" />
+ <tetrahedron index="25015" v0="3306" v1="4693" v2="5243" v3="5915" />
+ <tetrahedron index="25016" v0="4324" v1="5303" v2="5306" v3="5946" />
+ <tetrahedron index="25017" v0="3819" v1="3864" v2="3889" v3="5371" />
+ <tetrahedron index="25018" v0="5334" v1="5765" v2="5981" v3="6137" />
+ <tetrahedron index="25019" v0="5044" v1="5296" v2="5935" v3="5971" />
+ <tetrahedron index="25020" v0="4186" v1="4187" v2="4188" v3="6540" />
+ <tetrahedron index="25021" v0="4896" v1="5847" v2="5849" v3="6496" />
+ <tetrahedron index="25022" v0="3690" v1="4548" v2="4628" v3="5013" />
+ <tetrahedron index="25023" v0="4890" v1="5208" v2="5209" v3="6402" />
+ <tetrahedron index="25024" v0="3540" v1="3541" v2="4740" v3="5457" />
+ <tetrahedron index="25025" v0="4218" v1="5001" v2="5440" v3="5562" />
+ <tetrahedron index="25026" v0="4258" v1="4295" v2="4296" v3="5412" />
+ <tetrahedron index="25027" v0="4947" v1="5929" v2="6022" v3="6546" />
+ <tetrahedron index="25028" v0="3499" v1="4206" v2="4355" v3="5688" />
+ <tetrahedron index="25029" v0="3299" v1="3302" v2="5055" v3="5834" />
+ <tetrahedron index="25030" v0="3301" v1="3966" v2="5232" v3="5854" />
+ <tetrahedron index="25031" v0="4260" v1="4284" v2="4770" v3="5682" />
+ <tetrahedron index="25032" v0="5195" v1="5817" v2="6462" v3="6872" />
+ <tetrahedron index="25033" v0="3647" v1="3864" v2="5370" v3="5371" />
+ <tetrahedron index="25034" v0="5539" v1="6208" v2="6213" v3="6749" />
+ <tetrahedron index="25035" v0="3806" v1="4141" v2="4367" v3="5039" />
+ <tetrahedron index="25036" v0="4083" v1="5983" v2="5986" v3="6899" />
+ <tetrahedron index="25037" v0="3244" v1="5547" v2="5952" v3="6561" />
+ <tetrahedron index="25038" v0="5603" v1="6283" v2="6654" v3="6935" />
+ <tetrahedron index="25039" v0="4963" v1="5416" v2="6075" v3="6693" />
+ <tetrahedron index="25040" v0="3562" v1="3681" v2="4526" v3="6607" />
+ <tetrahedron index="25041" v0="3396" v1="4988" v2="5219" v3="6482" />
+ <tetrahedron index="25042" v0="3782" v1="4113" v2="5747" v3="5985" />
+ <tetrahedron index="25043" v0="5242" v1="6305" v2="6512" v3="6802" />
+ <tetrahedron index="25044" v0="3622" v1="3623" v2="3624" v3="5237" />
+ <tetrahedron index="25045" v0="4947" v1="5898" v2="6023" v3="6533" />
+ <tetrahedron index="25046" v0="3792" v1="4973" v2="5383" v3="5485" />
+ <tetrahedron index="25047" v0="4181" v1="4212" v2="6355" v3="6985" />
+ <tetrahedron index="25048" v0="5062" v1="5623" v2="6236" v3="6795" />
+ <tetrahedron index="25049" v0="4587" v1="4714" v2="4838" v3="5814" />
+ <tetrahedron index="25050" v0="4893" v1="5217" v2="5836" v3="6483" />
+ <tetrahedron index="25051" v0="3809" v1="4056" v2="5329" v3="5330" />
+ <tetrahedron index="25052" v0="4892" v1="5562" v2="5620" v3="6295" />
+ <tetrahedron index="25053" v0="3500" v1="3571" v2="4398" v3="5853" />
+ <tetrahedron index="25054" v0="5398" v1="5514" v2="6057" v3="6646" />
+ <tetrahedron index="25055" v0="4914" v1="5655" v2="5711" v3="5910" />
+ <tetrahedron index="25056" v0="3420" v1="4756" v2="4781" v3="5823" />
+ <tetrahedron index="25057" v0="3890" v1="4244" v2="5379" v3="5529" />
+ <tetrahedron index="25058" v0="4666" v1="5050" v2="5597" v3="6269" />
+ <tetrahedron index="25059" v0="5146" v1="5678" v2="6135" v3="6700" />
+ <tetrahedron index="25060" v0="3735" v1="4311" v2="4601" v3="5696" />
+ <tetrahedron index="25061" v0="3414" v1="3416" v2="4460" v3="5612" />
+ <tetrahedron index="25062" v0="4947" v1="5003" v2="6022" v3="6024" />
+ <tetrahedron index="25063" v0="4567" v1="4568" v2="4569" v3="6271" />
+ <tetrahedron index="25064" v0="3538" v1="3822" v2="4115" v3="6826" />
+ <tetrahedron index="25065" v0="3554" v1="5018" v2="5535" v3="6397" />
+ <tetrahedron index="25066" v0="3680" v1="4346" v2="5066" v3="5673" />
+ <tetrahedron index="25067" v0="4433" v1="4808" v2="5837" v3="5858" />
+ <tetrahedron index="25068" v0="3692" v1="3713" v2="4736" v3="5843" />
+ <tetrahedron index="25069" v0="3563" v1="3565" v2="5674" v3="5715" />
+ <tetrahedron index="25070" v0="5003" v1="5505" v2="5932" v3="6548" />
+ <tetrahedron index="25071" v0="4999" v1="5088" v2="5669" v3="5798" />
+ <tetrahedron index="25072" v0="3902" v1="4220" v2="5387" v3="5729" />
+ <tetrahedron index="25073" v0="3794" v1="4391" v2="5177" v3="6084" />
+ <tetrahedron index="25074" v0="4947" v1="5087" v2="5374" v3="6024" />
+ <tetrahedron index="25075" v0="5391" v1="6577" v2="6629" v3="6922" />
+ <tetrahedron index="25076" v0="3682" v1="3951" v2="5017" v3="5803" />
+ <tetrahedron index="25077" v0="3291" v1="3292" v2="3293" v3="5103" />
+ <tetrahedron index="25078" v0="4862" v1="5764" v2="6308" v3="6727" />
+ <tetrahedron index="25079" v0="4857" v1="4951" v2="5383" v3="5445" />
+ <tetrahedron index="25080" v0="4582" v1="5510" v2="5557" v3="6234" />
+ <tetrahedron index="25081" v0="4912" v1="4989" v2="5308" v3="5949" />
+ <tetrahedron index="25082" v0="5014" v1="5874" v2="6459" v3="6952" />
+ <tetrahedron index="25083" v0="4201" v1="5681" v2="6088" v3="6352" />
+ <tetrahedron index="25084" v0="4288" v1="4802" v2="5112" v3="5736" />
+ <tetrahedron index="25085" v0="4852" v1="5617" v2="6292" v3="6597" />
+ <tetrahedron index="25086" v0="4966" v1="5746" v2="6083" v3="6659" />
+ <tetrahedron index="25087" v0="3471" v1="4682" v2="5093" v3="6005" />
+ <tetrahedron index="25088" v0="3791" v1="4785" v2="4957" v3="5962" />
+ <tetrahedron index="25089" v0="3880" v1="5347" v2="6272" v3="6778" />
+ <tetrahedron index="25090" v0="5026" v1="6224" v2="6225" v3="6636" />
+ <tetrahedron index="25091" v0="4866" v1="5760" v2="6072" v3="6892" />
+ <tetrahedron index="25092" v0="5256" v1="5704" v2="5890" v3="6528" />
+ <tetrahedron index="25093" v0="4909" v1="5258" v2="5663" v3="6336" />
+ <tetrahedron index="25094" v0="3835" v1="5381" v2="6032" v3="6033" />
+ <tetrahedron index="25095" v0="3879" v1="5173" v2="5251" v3="5886" />
+ <tetrahedron index="25096" v0="3300" v1="5215" v2="5543" v3="6482" />
+ <tetrahedron index="25097" v0="4302" v1="4493" v2="4508" v3="5342" />
+ <tetrahedron index="25098" v0="5285" v1="5515" v2="6181" v3="6413" />
+ <tetrahedron index="25099" v0="4914" v1="5095" v2="5273" v3="5908" />
+ <tetrahedron index="25100" v0="3933" v1="4348" v2="5132" v3="5241" />
+ <tetrahedron index="25101" v0="3457" v1="3810" v2="4208" v3="5134" />
+ <tetrahedron index="25102" v0="5126" v1="5245" v2="5722" v3="6200" />
+ <tetrahedron index="25103" v0="3799" v1="5135" v2="5884" v3="6237" />
+ <tetrahedron index="25104" v0="4155" v1="4156" v2="4674" v3="5651" />
+ <tetrahedron index="25105" v0="4004" v1="4060" v2="4516" v3="6400" />
+ <tetrahedron index="25106" v0="3592" v1="3799" v2="6237" v3="6356" />
+ <tetrahedron index="25107" v0="4433" v1="4434" v2="5218" v3="5837" />
+ <tetrahedron index="25108" v0="4905" v1="6520" v2="6682" v3="6798" />
+ <tetrahedron index="25109" v0="5014" v1="5723" v2="6117" v3="6389" />
+ <tetrahedron index="25110" v0="3956" v1="4263" v2="5447" v3="5732" />
+ <tetrahedron index="25111" v0="4852" v1="5616" v2="6292" v3="6293" />
+ <tetrahedron index="25112" v0="4868" v1="5158" v2="5981" v3="6137" />
+ <tetrahedron index="25113" v0="3564" v1="3611" v2="5200" v3="5818" />
+ <tetrahedron index="25114" v0="4837" v1="4839" v2="4844" v3="5815" />
+ <tetrahedron index="25115" v0="4411" v1="4678" v2="4818" v3="5267" />
+ <tetrahedron index="25116" v0="4054" v1="4400" v2="5631" v3="6309" />
+ <tetrahedron index="25117" v0="5047" v1="6052" v2="6259" v3="6775" />
+ <tetrahedron index="25118" v0="3989" v1="5100" v2="5699" v3="6357" />
+ <tetrahedron index="25119" v0="5100" v1="5685" v2="5697" v3="6357" />
+ <tetrahedron index="25120" v0="4687" v1="4702" v2="4828" v3="5824" />
+ <tetrahedron index="25121" v0="4589" v1="4843" v2="5298" v3="5956" />
+ <tetrahedron index="25122" v0="3279" v1="3280" v2="5320" v3="6058" />
+ <tetrahedron index="25123" v0="4672" v1="4843" v2="5296" v3="5298" />
+ <tetrahedron index="25124" v0="4285" v1="4478" v2="6235" v3="6423" />
+ <tetrahedron index="25125" v0="3282" v1="3383" v2="3384" v3="3386" />
+ <tetrahedron index="25126" v0="3928" v1="4298" v2="4359" v3="5684" />
+ <tetrahedron index="25127" v0="3292" v1="3760" v2="5079" v3="5103" />
+ <tetrahedron index="25128" v0="3274" v1="5201" v2="5320" v3="5727" />
+ <tetrahedron index="25129" v0="3821" v1="3822" v2="5044" v3="5972" />
+ <tetrahedron index="25130" v0="4145" v1="4802" v2="5112" v3="5576" />
+ <tetrahedron index="25131" v0="4962" v1="5412" v2="5904" v3="6074" />
+ <tetrahedron index="25132" v0="4374" v1="4733" v2="5130" v3="5731" />
+ <tetrahedron index="25133" v0="4007" v1="4373" v2="6257" v3="6905" />
+ <tetrahedron index="25134" v0="3939" v1="5172" v2="5176" v3="5787" />
+ <tetrahedron index="25135" v0="3289" v1="3376" v2="4335" v3="5735" />
+ <tetrahedron index="25136" v0="3686" v1="4161" v2="4387" v3="5642" />
+ <tetrahedron index="25137" v0="5660" v1="5702" v2="6138" v3="6373" />
+ <tetrahedron index="25138" v0="4897" v1="5078" v2="5853" v3="6500" />
+ <tetrahedron index="25139" v0="3394" v1="4318" v2="4649" v3="6143" />
+ <tetrahedron index="25140" v0="4459" v1="4600" v2="5366" v3="6018" />
+ <tetrahedron index="25141" v0="4915" v1="5277" v2="5912" v3="6355" />
+ <tetrahedron index="25142" v0="3332" v1="4227" v2="4656" v3="6007" />
+ <tetrahedron index="25143" v0="3492" v1="5260" v2="5262" v3="6615" />
+ <tetrahedron index="25144" v0="4389" v1="5633" v2="5634" v3="6008" />
+ <tetrahedron index="25145" v0="4036" v1="4038" v2="5123" v3="5718" />
+ <tetrahedron index="25146" v0="3935" v1="4583" v2="4707" v3="5646" />
+ <tetrahedron index="25147" v0="4957" v1="5137" v2="5398" v3="6646" />
+ <tetrahedron index="25148" v0="4851" v1="5338" v2="5742" v3="6319" />
+ <tetrahedron index="25149" v0="4863" v1="5488" v2="5902" v3="6150" />
+ <tetrahedron index="25150" v0="4923" v1="5744" v2="5833" v3="6317" />
+ <tetrahedron index="25151" v0="4408" v1="5071" v2="5647" v3="5887" />
+ <tetrahedron index="25152" v0="3705" v1="4549" v2="5224" v3="6497" />
+ <tetrahedron index="25153" v0="6290" v1="6613" v2="6920" v3="7016" />
+ <tetrahedron index="25154" v0="4480" v1="4612" v2="5154" v3="5757" />
+ <tetrahedron index="25155" v0="3296" v1="4343" v2="4476" v3="5859" />
+ <tetrahedron index="25156" v0="3706" v1="3708" v2="3881" v3="6669" />
+ <tetrahedron index="25157" v0="4145" v1="5112" v2="5576" v3="6251" />
+ <tetrahedron index="25158" v0="4101" v1="5106" v2="5486" v3="5487" />
+ <tetrahedron index="25159" v0="5096" v1="5679" v2="6368" v3="6986" />
+ <tetrahedron index="25160" v0="3442" v1="3477" v2="3877" v3="5199" />
+ <tetrahedron index="25161" v0="4847" v1="6014" v2="6430" v3="6765" />
+ <tetrahedron index="25162" v0="3258" v1="3259" v2="5011" v3="5046" />
+ <tetrahedron index="25163" v0="4931" v1="5548" v2="5796" v3="5967" />
+ <tetrahedron index="25164" v0="3707" v1="4445" v2="4454" v3="6415" />
+ <tetrahedron index="25165" v0="4050" v1="5187" v2="5799" v3="5804" />
+ <tetrahedron index="25166" v0="4496" v1="5259" v2="5263" v3="5895" />
+ <tetrahedron index="25167" v0="3391" v1="3392" v2="3393" v3="5277" />
+ <tetrahedron index="25168" v0="3888" v1="3889" v2="4220" v3="6039" />
+ <tetrahedron index="25169" v0="4517" v1="5017" v2="5186" v3="5801" />
+ <tetrahedron index="25170" v0="4127" v1="4128" v2="5033" v3="5568" />
+ <tetrahedron index="25171" v0="3288" v1="3682" v2="5143" v3="5739" />
+ <tetrahedron index="25172" v0="4570" v1="4665" v2="4804" v3="5900" />
+ <tetrahedron index="25173" v0="5154" v1="5249" v2="5757" v3="6422" />
+ <tetrahedron index="25174" v0="4309" v1="5034" v2="5653" v3="5914" />
+ <tetrahedron index="25175" v0="3562" v1="3876" v2="4526" v3="6607" />
+ <tetrahedron index="25176" v0="3394" v1="5838" v2="6484" v3="6501" />
+ <tetrahedron index="25177" v0="3274" v1="3279" v2="3383" v3="3386" />
+ <tetrahedron index="25178" v0="4984" v1="5488" v2="5620" v3="6699" />
+ <tetrahedron index="25179" v0="4947" v1="5003" v2="5929" v3="6022" />
+ <tetrahedron index="25180" v0="5528" v1="6594" v2="6687" v3="6716" />
+ <tetrahedron index="25181" v0="5488" v1="6150" v2="6707" v3="6708" />
+ <tetrahedron index="25182" v0="5381" v1="5745" v2="6032" v3="6033" />
+ <tetrahedron index="25183" v0="5538" v1="6621" v2="6852" v3="6996" />
+ <tetrahedron index="25184" v0="3880" v1="4273" v2="4704" v3="6272" />
+ <tetrahedron index="25185" v0="3420" v1="4764" v2="4781" v3="5204" />
+ <tetrahedron index="25186" v0="4248" v1="4282" v2="5498" v3="5647" />
+ <tetrahedron index="25187" v0="3411" v1="3413" v2="3495" v3="5448" />
+ <tetrahedron index="25188" v0="3513" v1="5045" v2="5585" v3="6651" />
+ <tetrahedron index="25189" v0="3432" v1="3506" v2="4960" v3="6019" />
+ <tetrahedron index="25190" v0="3998" v1="4222" v2="4240" v3="5087" />
+ <tetrahedron index="25191" v0="3361" v1="3479" v2="4702" v3="5312" />
+ <tetrahedron index="25192" v0="4559" v1="5163" v2="5778" v3="6440" />
+ <tetrahedron index="25193" v0="4639" v1="5136" v2="5330" v3="5375" />
+ <tetrahedron index="25194" v0="3995" v1="4222" v2="4334" v3="5292" />
+ <tetrahedron index="25195" v0="4166" v1="5278" v2="5917" v3="5918" />
+ <tetrahedron index="25196" v0="4284" v1="4770" v2="5076" v3="5682" />
+ <tetrahedron index="25197" v0="3629" v1="4041" v2="4835" v3="5564" />
+ <tetrahedron index="25198" v0="4690" v1="4691" v2="4696" v3="4841" />
+ <tetrahedron index="25199" v0="4862" v1="5943" v2="6310" v3="6311" />
+ <tetrahedron index="25200" v0="5107" v1="5124" v2="5694" v3="5826" />
+ <tetrahedron index="25201" v0="3341" v1="3473" v2="3759" v3="5661" />
+ <tetrahedron index="25202" v0="3691" v1="5143" v2="5187" v3="5801" />
+ <tetrahedron index="25203" v0="4985" v1="5772" v2="6136" v3="6334" />
+ <tetrahedron index="25204" v0="5507" v1="6170" v2="6687" v3="6948" />
+ <tetrahedron index="25205" v0="4350" v1="4453" v2="4807" v3="5860" />
+ <tetrahedron index="25206" v0="4514" v1="4560" v2="5725" v3="6391" />
+ <tetrahedron index="25207" v0="4992" v1="5484" v2="5485" v3="6549" />
+ <tetrahedron index="25208" v0="3575" v1="3577" v2="3899" v3="5253" />
+ <tetrahedron index="25209" v0="3816" v1="4139" v2="6041" v3="6620" />
+ <tetrahedron index="25210" v0="5172" v1="5784" v2="5785" v3="5787" />
+ <tetrahedron index="25211" v0="4867" v1="5762" v2="5945" v3="6895" />
+ <tetrahedron index="25212" v0="3952" v1="4169" v2="4187" v3="5470" />
+ <tetrahedron index="25213" v0="3978" v1="4116" v2="4540" v3="6048" />
+ <tetrahedron index="25214" v0="4999" v1="5088" v2="5668" v3="5798" />
+ <tetrahedron index="25215" v0="3250" v1="4017" v2="5463" v3="5464" />
+ <tetrahedron index="25216" v0="4671" v1="4736" v2="4752" v3="5843" />
+ <tetrahedron index="25217" v0="3393" v1="5064" v2="5277" v3="5916" />
+ <tetrahedron index="25218" v0="3254" v1="5129" v2="6021" v3="6618" />
+ <tetrahedron index="25219" v0="5840" v1="6789" v2="6875" v3="6913" />
+ <tetrahedron index="25220" v0="5648" v1="6325" v2="6326" v3="6394" />
+ <tetrahedron index="25221" v0="4852" v1="5614" v2="6106" v3="6789" />
+ <tetrahedron index="25222" v0="3340" v1="4538" v2="4757" v3="5765" />
+ <tetrahedron index="25223" v0="5195" v1="6192" v2="6471" v3="6737" />
+ <tetrahedron index="25224" v0="3632" v1="5768" v2="6005" v3="6857" />
+ <tetrahedron index="25225" v0="4001" v1="4175" v2="4176" v3="5560" />
+ <tetrahedron index="25226" v0="3326" v1="3939" v2="4734" v3="5172" />
+ <tetrahedron index="25227" v0="5025" v1="6419" v2="6595" v3="6848" />
+ <tetrahedron index="25228" v0="4316" v1="5241" v2="5609" v3="5869" />
+ <tetrahedron index="25229" v0="3582" v1="5733" v2="5789" v3="6448" />
+ <tetrahedron index="25230" v0="5110" v1="5699" v2="6368" v3="6370" />
+ <tetrahedron index="25231" v0="5053" v1="5604" v2="5605" v3="6283" />
+ <tetrahedron index="25232" v0="5341" v1="6581" v2="6900" v3="6901" />
+ <tetrahedron index="25233" v0="3361" v1="3362" v2="4702" v3="5312" />
+ <tetrahedron index="25234" v0="5224" v1="5847" v2="5849" v3="6498" />
+ <tetrahedron index="25235" v0="5208" v1="5694" v2="5826" v3="6837" />
+ <tetrahedron index="25236" v0="4849" v1="6407" v2="6409" v3="6593" />
+ <tetrahedron index="25237" v0="4426" v1="4530" v2="6197" v3="6452" />
+ <tetrahedron index="25238" v0="4916" v1="5278" v2="5280" v3="5917" />
+ <tetrahedron index="25239" v0="4848" v1="6056" v2="6062" v3="6649" />
+ <tetrahedron index="25240" v0="5051" v1="5599" v2="6270" v3="6271" />
+ <tetrahedron index="25241" v0="5353" v1="6004" v2="6419" v3="6724" />
+ <tetrahedron index="25242" v0="4997" v1="5614" v2="5877" v3="6286" />
+ <tetrahedron index="25243" v0="3937" v1="4584" v2="4585" v3="5394" />
+ <tetrahedron index="25244" v0="3537" v1="3538" v2="3539" v3="5972" />
+ <tetrahedron index="25245" v0="4970" v1="5805" v2="5992" v3="6092" />
+ <tetrahedron index="25246" v0="4628" v1="5452" v2="6112" v3="6683" />
+ <tetrahedron index="25247" v0="5096" v1="5684" v2="5701" v3="6368" />
+ <tetrahedron index="25248" v0="5079" v1="5591" v2="6455" v3="6866" />
+ <tetrahedron index="25249" v0="4422" v1="4798" v2="4799" v3="6199" />
+ <tetrahedron index="25250" v0="4938" v1="5994" v2="6667" v3="6670" />
+ <tetrahedron index="25251" v0="3367" v1="3823" v2="5248" v3="6518" />
+ <tetrahedron index="25252" v0="3296" v1="4343" v2="5542" v3="5859" />
+ <tetrahedron index="25253" v0="4926" v1="5310" v2="6054" v3="6263" />
+ <tetrahedron index="25254" v0="3804" v1="3805" v2="3806" v3="5968" />
+ <tetrahedron index="25255" v0="5126" v1="5459" v2="6117" v3="6123" />
+ <tetrahedron index="25256" v0="4176" v1="4177" v2="5029" v3="5560" />
+ <tetrahedron index="25257" v0="5951" v1="6301" v2="6944" v3="7014" />
+ <tetrahedron index="25258" v0="3554" v1="5018" v2="5534" v3="5535" />
+ <tetrahedron index="25259" v0="4872" v1="5164" v2="5597" v3="6326" />
+ <tetrahedron index="25260" v0="3414" v1="4460" v2="5058" v3="5612" />
+ <tetrahedron index="25261" v0="3897" v1="4130" v2="5700" v3="5825" />
+ <tetrahedron index="25262" v0="4930" v1="6100" v2="6417" v3="6847" />
+ <tetrahedron index="25263" v0="4920" v1="5643" v2="5774" v3="5930" />
+ <tetrahedron index="25264" v0="3519" v1="3530" v2="4587" v3="5749" />
+ <tetrahedron index="25265" v0="4929" v1="5266" v2="5480" v3="5964" />
+ <tetrahedron index="25266" v0="5193" v1="6188" v2="6408" v3="6842" />
+ <tetrahedron index="25267" v0="5032" v1="5071" v2="5647" v3="6322" />
+ <tetrahedron index="25268" v0="3831" v1="5112" v2="5659" v3="5703" />
+ <tetrahedron index="25269" v0="4503" v1="5066" v2="5634" v3="5658" />
+ <tetrahedron index="25270" v0="4900" v1="4988" v2="5237" v3="5861" />
+ <tetrahedron index="25271" v0="5122" v1="5198" v2="5713" v3="5818" />
+ <tetrahedron index="25272" v0="5397" v1="6052" v2="6056" v3="6443" />
+ <tetrahedron index="25273" v0="5606" v1="6283" v2="6787" v3="7027" />
+ <tetrahedron index="25274" v0="3582" v1="3672" v2="4215" v3="5789" />
+ <tetrahedron index="25275" v0="3809" v1="4639" v2="4651" v3="5330" />
+ <tetrahedron index="25276" v0="5873" v1="6124" v2="6513" v3="6787" />
+ <tetrahedron index="25277" v0="3441" v1="3500" v2="3564" v3="5674" />
+ <tetrahedron index="25278" v0="4175" v1="4478" v2="5154" v3="5560" />
+ <tetrahedron index="25279" v0="5010" v1="5521" v2="5944" v3="6193" />
+ <tetrahedron index="25280" v0="5340" v1="5341" v2="5984" v3="5987" />
+ <tetrahedron index="25281" v0="4126" v1="4273" v2="4467" v3="6191" />
+ <tetrahedron index="25282" v0="3633" v1="3655" v2="3656" v3="6433" />
+ <tetrahedron index="25283" v0="5128" v1="5407" v2="5726" v3="5727" />
+ <tetrahedron index="25284" v0="3286" v1="5398" v2="5514" v3="6057" />
+ <tetrahedron index="25285" v0="4191" v1="4663" v2="4677" v3="6543" />
+ <tetrahedron index="25286" v0="4004" v1="4483" v2="5140" v3="6400" />
+ <tetrahedron index="25287" v0="4855" v1="5483" v2="6065" v3="6422" />
+ <tetrahedron index="25288" v0="3438" v1="3440" v2="4256" v3="5848" />
+ <tetrahedron index="25289" v0="4384" v1="5558" v2="6747" v3="6762" />
+ <tetrahedron index="25290" v0="5407" v1="5883" v2="6065" v3="6144" />
+ <tetrahedron index="25291" v0="4868" v1="5158" v2="5981" v3="6138" />
+ <tetrahedron index="25292" v0="4995" v1="5491" v2="6151" v3="6152" />
+ <tetrahedron index="25293" v0="4105" v1="4573" v2="4574" v3="5830" />
+ <tetrahedron index="25294" v0="4853" v1="5402" v2="5403" v3="6060" />
+ <tetrahedron index="25295" v0="3827" v1="5450" v2="5513" v3="6110" />
+ <tetrahedron index="25296" v0="3483" v1="3974" v2="4301" v3="6261" />
+ <tetrahedron index="25297" v0="4896" v1="5054" v2="5695" v3="6367" />
+ <tetrahedron index="25298" v0="4948" v1="5141" v2="5376" v3="6028" />
+ <tetrahedron index="25299" v0="5359" v1="5681" v2="5682" v3="6354" />
+ <tetrahedron index="25300" v0="3424" v1="3691" v2="5143" v3="5801" />
+ <tetrahedron index="25301" v0="3831" v1="4288" v2="4802" v3="5112" />
+ <tetrahedron index="25302" v0="4904" v1="5247" v2="5875" v3="6122" />
+ <tetrahedron index="25303" v0="4919" v1="5288" v2="5927" v3="5928" />
+ <tetrahedron index="25304" v0="4959" v1="5011" v2="5069" v3="6063" />
+ <tetrahedron index="25305" v0="4087" v1="4088" v2="5188" v3="6665" />
+ <tetrahedron index="25306" v0="3673" v1="3932" v2="5141" v3="5977" />
+ <tetrahedron index="25307" v0="5020" v1="6212" v2="6213" v3="6466" />
+ <tetrahedron index="25308" v0="3306" v1="3308" v2="5243" v3="5276" />
+ <tetrahedron index="25309" v0="3558" v1="3967" v2="4259" v3="5775" />
+ <tetrahedron index="25310" v0="3850" v1="3851" v2="4553" v3="5894" />
+ <tetrahedron index="25311" v0="3724" v1="3838" v2="5277" v3="5916" />
+ <tetrahedron index="25312" v0="4135" v1="4522" v2="4657" v3="5184" />
+ <tetrahedron index="25313" v0="4929" v1="5266" v2="5320" v3="5966" />
+ <tetrahedron index="25314" v0="4103" v1="4187" v2="4188" v3="6111" />
+ <tetrahedron index="25315" v0="3720" v1="3900" v2="4699" v3="6475" />
+ <tetrahedron index="25316" v0="5221" v1="6055" v2="6596" v3="6864" />
+ <tetrahedron index="25317" v0="5044" v1="5935" v2="5971" v3="6575" />
+ <tetrahedron index="25318" v0="4047" v1="4049" v2="4667" v3="5077" />
+ <tetrahedron index="25319" v0="5085" v1="5664" v2="5889" v3="6338" />
+ <tetrahedron index="25320" v0="5001" v1="5562" v2="6236" v3="6708" />
+ <tetrahedron index="25321" v0="4588" v1="4617" v2="4682" v3="6005" />
+ <tetrahedron index="25322" v0="4176" v1="4739" v2="5029" v3="5081" />
+ <tetrahedron index="25323" v0="4006" v1="4007" v2="4373" v3="6257" />
+ <tetrahedron index="25324" v0="3526" v1="3527" v2="3528" v3="3792" />
+ <tetrahedron index="25325" v0="3659" v1="4707" v2="5088" v3="6267" />
+ <tetrahedron index="25326" v0="4899" v1="5233" v2="5234" v3="5857" />
+ <tetrahedron index="25327" v0="3263" v1="3264" v2="3700" v3="5030" />
+ <tetrahedron index="25328" v0="3629" v1="3899" v2="4041" v3="5564" />
+ <tetrahedron index="25329" v0="4413" v1="5161" v2="5774" v3="5930" />
+ <tetrahedron index="25330" v0="5025" v1="5551" v2="6220" v3="6991" />
+ <tetrahedron index="25331" v0="3453" v1="5207" v2="5828" v3="5927" />
+ <tetrahedron index="25332" v0="4118" v1="4289" v2="4555" v3="6363" />
+ <tetrahedron index="25333" v0="4472" v1="4817" v2="5489" v3="6184" />
+ <tetrahedron index="25334" v0="5348" v1="5995" v2="6616" v3="6723" />
+ <tetrahedron index="25335" v0="5002" v1="6506" v2="6605" v3="6610" />
+ <tetrahedron index="25336" v0="3328" v1="3456" v2="3457" v3="6087" />
+ <tetrahedron index="25337" v0="3455" v1="3766" v2="3898" v3="5825" />
+ <tetrahedron index="25338" v0="4541" v1="4634" v2="5437" v3="6218" />
+ <tetrahedron index="25339" v0="5144" v1="5740" v2="6403" v3="6819" />
+ <tetrahedron index="25340" v0="5145" v1="5483" v2="5741" v3="6405" />
+ <tetrahedron index="25341" v0="3285" v1="3380" v2="3485" v3="6148" />
+ <tetrahedron index="25342" v0="4925" v1="4989" v2="5038" v3="5883" />
+ <tetrahedron index="25343" v0="3851" v1="4358" v2="4496" v3="5259" />
+ <tetrahedron index="25344" v0="3537" v1="3916" v2="5934" v3="5972" />
+ <tetrahedron index="25345" v0="5023" v1="6485" v2="6674" v3="6945" />
+ <tetrahedron index="25346" v0="5492" v1="6050" v2="6154" v3="6710" />
+ <tetrahedron index="25347" v0="4163" v1="5123" v2="5198" v3="6017" />
+ <tetrahedron index="25348" v0="5538" v1="6189" v2="6591" v3="6736" />
+ <tetrahedron index="25349" v0="5625" v1="6300" v2="6797" v3="6799" />
+ <tetrahedron index="25350" v0="3793" v1="3817" v2="4232" v3="5177" />
+ <tetrahedron index="25351" v0="5164" v1="5333" v2="5978" v3="6133" />
+ <tetrahedron index="25352" v0="3312" v1="3930" v2="5288" v3="5601" />
+ <tetrahedron index="25353" v0="3292" v1="4592" v2="5079" v3="5103" />
+ <tetrahedron index="25354" v0="5446" v1="5875" v2="6288" v3="6289" />
+ <tetrahedron index="25355" v0="4890" v1="5208" v2="5826" v3="5828" />
+ <tetrahedron index="25356" v0="5009" v1="5520" v2="6585" v3="6624" />
+ <tetrahedron index="25357" v0="4977" v1="5644" v2="5645" v3="6321" />
+ <tetrahedron index="25358" v0="3962" v1="4142" v2="4762" v3="5198" />
+ <tetrahedron index="25359" v0="3693" v1="4196" v2="4242" v3="5846" />
+ <tetrahedron index="25360" v0="3535" v1="3958" v2="6113" v3="6684" />
+ <tetrahedron index="25361" v0="4624" v1="6151" v2="6269" v3="6777" />
+ <tetrahedron index="25362" v0="4246" v1="4248" v2="4778" v3="6341" />
+ <tetrahedron index="25363" v0="3456" v1="3457" v2="6087" v3="6254" />
+ <tetrahedron index="25364" v0="3432" v1="3433" v2="3864" v3="5370" />
+ <tetrahedron index="25365" v0="3708" v1="3881" v2="6093" v3="6669" />
+ <tetrahedron index="25366" v0="4219" v1="4683" v2="5744" v3="5938" />
+ <tetrahedron index="25367" v0="4346" v1="4388" v2="4503" v3="5066" />
+ <tetrahedron index="25368" v0="3677" v1="4202" v2="4352" v3="5368" />
+ <tetrahedron index="25369" v0="4646" v1="5174" v2="5886" v3="6526" />
+ <tetrahedron index="25370" v0="4890" v1="5107" v2="5210" v3="5826" />
+ <tetrahedron index="25371" v0="4930" v1="6720" v2="6721" v3="6962" />
+ <tetrahedron index="25372" v0="4477" v1="5092" v2="5218" v3="6483" />
+ <tetrahedron index="25373" v0="3371" v1="5094" v2="5678" v3="5832" />
+ <tetrahedron index="25374" v0="4153" v1="5146" v2="5486" v3="5742" />
+ <tetrahedron index="25375" v0="4854" v1="5745" v2="6080" v3="6083" />
+ <tetrahedron index="25376" v0="4600" v1="4626" v2="5718" v3="6386" />
+ <tetrahedron index="25377" v0="3655" v1="3656" v2="5531" v3="6433" />
+ <tetrahedron index="25378" v0="4486" v1="4744" v2="4745" v3="5350" />
+ <tetrahedron index="25379" v0="4958" v1="5228" v2="5401" v3="5666" />
+ <tetrahedron index="25380" v0="5169" v1="5247" v2="5875" v3="6036" />
+ <tetrahedron index="25381" v0="5063" v1="5624" v2="6300" v3="6534" />
+ <tetrahedron index="25382" v0="3659" v1="5088" v2="5526" v3="5795" />
+ <tetrahedron index="25383" v0="4040" v1="5607" v2="6888" v3="7027" />
+ <tetrahedron index="25384" v0="3831" v1="3832" v2="5659" v3="5703" />
+ <tetrahedron index="25385" v0="4949" v1="5026" v2="5378" v3="5555" />
+ <tetrahedron index="25386" v0="3451" v1="3766" v2="3767" v3="5210" />
+ <tetrahedron index="25387" v0="4460" v1="4898" v2="5612" v3="5657" />
+ <tetrahedron index="25388" v0="4198" v1="4199" v2="4606" v3="5869" />
+ <tetrahedron index="25389" v0="4020" v1="5546" v2="6096" v3="6218" />
+ <tetrahedron index="25390" v0="4183" v1="4245" v2="5680" v3="6827" />
+ <tetrahedron index="25391" v0="5032" v1="5071" v2="5644" v3="6322" />
+ <tetrahedron index="25392" v0="5135" v1="5884" v2="6237" v3="6759" />
+ <tetrahedron index="25393" v0="3967" v1="5449" v2="5775" v3="6507" />
+ <tetrahedron index="25394" v0="3315" v1="3316" v2="3317" v3="5559" />
+ <tetrahedron index="25395" v0="3732" v1="4017" v2="4257" v3="5808" />
+ <tetrahedron index="25396" v0="5381" v1="6033" v2="6034" v3="6552" />
+ <tetrahedron index="25397" v0="4869" v1="5770" v2="6434" v3="6858" />
+ <tetrahedron index="25398" v0="4901" v1="5240" v2="5866" v3="6108" />
+ <tetrahedron index="25399" v0="4905" v1="6299" v2="6673" v3="6798" />
+ <tetrahedron index="25400" v0="3962" v1="5198" v2="5719" v3="5818" />
+ <tetrahedron index="25401" v0="5409" v1="6069" v2="6070" v3="6932" />
+ <tetrahedron index="25402" v0="4198" v1="5056" v2="5131" v3="5609" />
+ <tetrahedron index="25403" v0="4297" v1="5100" v2="5212" v3="5684" />
+ <tetrahedron index="25404" v0="4876" v1="5059" v2="5169" v3="5613" />
+ <tetrahedron index="25405" v0="4922" v1="4972" v2="5740" v3="6101" />
+ <tetrahedron index="25406" v0="4109" v1="4179" v2="4269" v3="5798" />
+ <tetrahedron index="25407" v0="5145" v1="5741" v2="5758" v3="6404" />
+ <tetrahedron index="25408" v0="5340" v1="6044" v2="6807" v3="6810" />
+ <tetrahedron index="25409" v0="3586" v1="4615" v2="4658" v3="5098" />
+ <tetrahedron index="25410" v0="4277" v1="4305" v2="5153" v3="6416" />
+ <tetrahedron index="25411" v0="3836" v1="4096" v2="5142" v3="5279" />
+ <tetrahedron index="25412" v0="4042" v1="4180" v2="4780" v3="5598" />
+ <tetrahedron index="25413" v0="3746" v1="3810" v2="3811" v3="5175" />
+ <tetrahedron index="25414" v0="4902" v1="5243" v2="5693" v3="5915" />
+ <tetrahedron index="25415" v0="3456" v1="3746" v2="3810" v3="5175" />
+ <tetrahedron index="25416" v0="3775" v1="4637" v2="4662" v3="5862" />
+ <tetrahedron index="25417" v0="5068" v1="5639" v2="6317" v3="6812" />
+ <tetrahedron index="25418" v0="3241" v1="3364" v2="3365" v3="6178" />
+ <tetrahedron index="25419" v0="3782" v1="3991" v2="4083" v3="5986" />
+ <tetrahedron index="25420" v0="4056" v1="5125" v2="5329" v3="5332" />
+ <tetrahedron index="25421" v0="4056" v1="5330" v2="5332" v3="6026" />
+ <tetrahedron index="25422" v0="5351" v1="5352" v2="6001" v3="6600" />
+ <tetrahedron index="25423" v0="3639" v1="3730" v2="5205" v3="5824" />
+ <tetrahedron index="25424" v0="5119" v1="5707" v2="5709" v3="6379" />
+ <tetrahedron index="25425" v0="3618" v1="5159" v2="5662" v3="5768" />
+ <tetrahedron index="25426" v0="3655" v1="4287" v2="4437" v3="6374" />
+ <tetrahedron index="25427" v0="3526" v1="5201" v2="5202" v3="5484" />
+ <tetrahedron index="25428" v0="3672" v1="4344" v2="4505" v3="5789" />
+ <tetrahedron index="25429" v0="5020" v1="5556" v2="6212" v3="6747" />
+ <tetrahedron index="25430" v0="3587" v1="3588" v2="3978" v3="5392" />
+ <tetrahedron index="25431" v0="4986" v1="6140" v2="6421" v3="6645" />
+ <tetrahedron index="25432" v0="3901" v1="3902" v2="4643" v3="5638" />
+ <tetrahedron index="25433" v0="3307" v1="3767" v2="5829" v3="6478" />
+ <tetrahedron index="25434" v0="4474" v1="4799" v2="5525" v3="6199" />
+ <tetrahedron index="25435" v0="5781" v1="6628" v2="6809" v3="6810" />
+ <tetrahedron index="25436" v0="4901" v1="5240" v2="5870" v3="6506" />
+ <tetrahedron index="25437" v0="3897" v1="4130" v2="4602" v3="5700" />
+ <tetrahedron index="25438" v0="3930" v1="3931" v2="5288" v3="5928" />
+ <tetrahedron index="25439" v0="3454" v1="3455" v2="5207" v3="5825" />
+ <tetrahedron index="25440" v0="5247" v1="6119" v2="6516" v3="6889" />
+ <tetrahedron index="25441" v0="5144" v1="5656" v2="6331" v3="6332" />
+ <tetrahedron index="25442" v0="3275" v1="3376" v2="3526" v3="5202" />
+ <tetrahedron index="25443" v0="3718" v1="3720" v2="4650" v3="5203" />
+ <tetrahedron index="25444" v0="3262" v1="3688" v2="5495" v3="6114" />
+ <tetrahedron index="25445" v0="4865" v1="4906" v2="5249" v3="5882" />
+ <tetrahedron index="25446" v0="3401" v1="3402" v2="3403" v3="5208" />
+ <tetrahedron index="25447" v0="5588" v1="6260" v2="6262" v3="6638" />
+ <tetrahedron index="25448" v0="4956" v1="5402" v2="5404" v3="6445" />
+ <tetrahedron index="25449" v0="3976" v1="4063" v2="4064" v3="4284" />
+ <tetrahedron index="25450" v0="5462" v1="6119" v2="6516" v3="6889" />
+ <tetrahedron index="25451" v0="5474" v1="6639" v2="6928" v3="7012" />
+ <tetrahedron index="25452" v0="3252" v1="5156" v2="6131" v3="6425" />
+ <tetrahedron index="25453" v0="4136" v1="5925" v2="6091" v3="6910" />
+ <tetrahedron index="25454" v0="4298" v1="4300" v2="4788" v3="5212" />
+ <tetrahedron index="25455" v0="3807" v1="3858" v2="3859" v3="5125" />
+ <tetrahedron index="25456" v0="5349" v1="6287" v2="6597" v3="6967" />
+ <tetrahedron index="25457" v0="4549" v1="4766" v2="5224" v3="6498" />
+ <tetrahedron index="25458" v0="4093" v1="4223" v2="5147" v3="5743" />
+ <tetrahedron index="25459" v0="4108" v1="4109" v2="4179" v3="5797" />
+ <tetrahedron index="25460" v0="3836" v1="4095" v2="5279" v3="5282" />
+ <tetrahedron index="25461" v0="3420" v1="5204" v2="5823" v3="6477" />
+ <tetrahedron index="25462" v0="4385" v1="5946" v2="5948" v3="6244" />
+ <tetrahedron index="25463" v0="3358" v1="3422" v2="4672" v3="5298" />
+ <tetrahedron index="25464" v0="3474" v1="3476" v2="3499" v3="5102" />
+ <tetrahedron index="25465" v0="4921" v1="5297" v2="5298" v3="5936" />
+ <tetrahedron index="25466" v0="5031" v1="5566" v2="6239" v3="6760" />
+ <tetrahedron index="25467" v0="3707" v1="3708" v2="5436" v3="5753" />
+ <tetrahedron index="25468" v0="3969" v1="3970" v2="4015" v3="5653" />
+ <tetrahedron index="25469" v0="3281" v1="3382" v2="5266" v3="6145" />
+ <tetrahedron index="25470" v0="4985" v1="5158" v2="5471" v3="6138" />
+ <tetrahedron index="25471" v0="3351" v1="4290" v2="5256" v3="6078" />
+ <tetrahedron index="25472" v0="5180" v1="5182" v2="5715" v3="6384" />
+ <tetrahedron index="25473" v0="3798" v1="3802" v2="4411" v3="4678" />
+ <tetrahedron index="25474" v0="3453" v1="3454" v2="3455" v3="5207" />
+ <tetrahedron index="25475" v0="5698" v1="5927" v2="6370" v3="6402" />
+ <tetrahedron index="25476" v0="4947" v1="5087" v2="5667" v3="6340" />
+ <tetrahedron index="25477" v0="4679" v1="4785" v2="4818" v3="5041" />
+ <tetrahedron index="25478" v0="3922" v1="5028" v2="5070" v3="5641" />
+ <tetrahedron index="25479" v0="3238" v1="5258" v2="5544" v3="5893" />
+ <tetrahedron index="25480" v0="3288" v1="3950" v2="4335" v3="5739" />
+ <tetrahedron index="25481" v0="5990" v1="6181" v2="6413" v3="6733" />
+ <tetrahedron index="25482" v0="3436" v1="3505" v2="3506" v3="6070" />
+ <tetrahedron index="25483" v0="3294" v1="3917" v2="5238" v3="5542" />
+ <tetrahedron index="25484" v0="4377" v1="5092" v2="5687" v3="6359" />
+ <tetrahedron index="25485" v0="4494" v1="5016" v2="5532" v3="5595" />
+ <tetrahedron index="25486" v0="3426" v1="3428" v2="4173" v3="4205" />
+ <tetrahedron index="25487" v0="4886" v1="5197" v2="6541" v3="6731" />
+ <tetrahedron index="25488" v0="4985" v1="5660" v2="5661" v3="6350" />
+ <tetrahedron index="25489" v0="4872" v1="5490" v2="6006" v3="6394" />
+ <tetrahedron index="25490" v0="3613" v1="4709" v2="5158" v3="5766" />
+ <tetrahedron index="25491" v0="5337" v1="5980" v2="6205" v3="6743" />
+ <tetrahedron index="25492" v0="4525" v1="4604" v2="4666" v3="5050" />
+ <tetrahedron index="25493" v0="3502" v1="4681" v2="5151" v3="6316" />
+ <tetrahedron index="25494" v0="3470" v1="5456" v2="5662" v3="5773" />
+ <tetrahedron index="25495" v0="4919" v1="5289" v2="5697" v3="6371" />
+ <tetrahedron index="25496" v0="4919" v1="5698" v2="6368" v3="6401" />
+ <tetrahedron index="25497" v0="4997" v1="5877" v2="6180" v3="6732" />
+ <tetrahedron index="25498" v0="5042" v1="5583" v2="6081" v3="6256" />
+ <tetrahedron index="25499" v0="3868" v1="3906" v2="4381" v3="5960" />
+ <tetrahedron index="25500" v0="5170" v1="5840" v2="5950" v3="6913" />
+ <tetrahedron index="25501" v0="3852" v1="4357" v2="4358" v3="6532" />
+ <tetrahedron index="25502" v0="4857" v1="5875" v2="6036" v3="6514" />
+ <tetrahedron index="25503" v0="3707" v1="4087" v2="4228" v3="6090" />
+ <tetrahedron index="25504" v0="3595" v1="5336" v2="5356" v3="6132" />
+ <tetrahedron index="25505" v0="4027" v1="4157" v2="4801" v3="5082" />
+ <tetrahedron index="25506" v0="5422" v1="5961" v2="6571" v3="6658" />
+ <tetrahedron index="25507" v0="4962" v1="5625" v2="6072" v3="6536" />
+ <tetrahedron index="25508" v0="4385" v1="4613" v2="6244" v3="6762" />
+ <tetrahedron index="25509" v0="3987" v1="4481" v2="5003" v3="5932" />
+ <tetrahedron index="25510" v0="4175" v1="4612" v2="5154" v3="5758" />
+ <tetrahedron index="25511" v0="3738" v1="3746" v2="5040" v3="5579" />
+ <tetrahedron index="25512" v0="4902" v1="5627" v2="6305" v3="6512" />
+ <tetrahedron index="25513" v0="4919" v1="5288" v2="5601" v3="6369" />
+ <tetrahedron index="25514" v0="4184" v1="4542" v2="4546" v3="6318" />
+ <tetrahedron index="25515" v0="5194" v1="5817" v2="6473" v3="6868" />
+ <tetrahedron index="25516" v0="3935" v1="5646" v2="6267" v3="6683" />
+ <tetrahedron index="25517" v0="3481" v1="3900" v2="4061" v3="5206" />
+ <tetrahedron index="25518" v0="3301" v1="5232" v2="5854" v3="5855" />
+ <tetrahedron index="25519" v0="4353" v1="5508" v2="6418" v3="6602" />
+ <tetrahedron index="25520" v0="3394" v1="3400" v2="3769" v3="6501" />
+ <tetrahedron index="25521" v0="3752" v1="4105" v2="5211" v3="6329" />
+ <tetrahedron index="25522" v0="4934" v1="5334" v2="5765" v3="5981" />
+ <tetrahedron index="25523" v0="4815" v1="5582" v2="5583" v3="6579" />
+ <tetrahedron index="25524" v0="5020" v1="6213" v2="6466" v3="6749" />
+ <tetrahedron index="25525" v0="3626" v1="3698" v2="5274" v3="5275" />
+ <tetrahedron index="25526" v0="4146" v1="4251" v2="4252" v3="6219" />
+ <tetrahedron index="25527" v0="5013" v1="5526" v2="6198" v3="6199" />
+ <tetrahedron index="25528" v0="3764" v1="3886" v2="4204" v3="6087" />
+ <tetrahedron index="25529" v0="3600" v1="3601" v2="4458" v3="5790" />
+ <tetrahedron index="25530" v0="5439" v1="6099" v2="6100" v3="6847" />
+ <tetrahedron index="25531" v0="5363" v1="5844" v2="6278" v3="6780" />
+ <tetrahedron index="25532" v0="3266" v1="3267" v2="3270" v3="4959" />
+ <tetrahedron index="25533" v0="4132" v1="4133" v2="4810" v3="5426" />
+ <tetrahedron index="25534" v0="4878" v1="5178" v2="5425" v3="5786" />
+ <tetrahedron index="25535" v0="4225" v1="5329" v2="5585" v3="5734" />
+ <tetrahedron index="25536" v0="3434" v1="3738" v2="3746" v3="5040" />
+ <tetrahedron index="25537" v0="5127" v1="6208" v2="6213" v3="6749" />
+ <tetrahedron index="25538" v0="3237" v1="4236" v2="5545" v3="5893" />
+ <tetrahedron index="25539" v0="4277" v1="4541" v2="5754" v3="6416" />
+ <tetrahedron index="25540" v0="3883" v1="3984" v2="3985" v3="5227" />
+ <tetrahedron index="25541" v0="4947" v1="5372" v2="6022" v3="6546" />
+ <tetrahedron index="25542" v0="3750" v1="4686" v2="4687" v3="6059" />
+ <tetrahedron index="25543" v0="3905" v1="5310" v2="5954" v3="6264" />
+ <tetrahedron index="25544" v0="5172" v1="5784" v2="5785" v3="6447" />
+ <tetrahedron index="25545" v0="5167" v1="6766" v2="6804" v3="6988" />
+ <tetrahedron index="25546" v0="3791" v1="4957" v2="5319" v3="5962" />
+ <tetrahedron index="25547" v0="3566" v1="4008" v2="4131" v3="5501" />
+ <tetrahedron index="25548" v0="4907" v1="5884" v2="6237" v3="6759" />
+ <tetrahedron index="25549" v0="4892" v1="5094" v2="6295" v3="6480" />
+ <tetrahedron index="25550" v0="4479" v1="4925" v2="5308" v3="5949" />
+ <tetrahedron index="25551" v0="3269" v1="4989" v2="5267" v3="6145" />
+ <tetrahedron index="25552" v0="5390" v1="5816" v2="6619" v3="6623" />
+ <tetrahedron index="25553" v0="5221" v1="6644" v2="6675" v3="6930" />
+ <tetrahedron index="25554" v0="3479" v1="3481" v2="3482" v3="5206" />
+ <tetrahedron index="25555" v0="3261" v1="3267" v2="3268" v3="5038" />
+ <tetrahedron index="25556" v0="4207" v1="5160" v2="5771" v3="5773" />
+ <tetrahedron index="25557" v0="3341" v1="3759" v2="4509" v3="5661" />
+ <tetrahedron index="25558" v0="4969" v1="5432" v2="5502" v3="6453" />
+ <tetrahedron index="25559" v0="3245" v1="5062" v2="5622" v3="6296" />
+ <tetrahedron index="25560" v0="4921" v1="5296" v2="5297" v3="5298" />
+ <tetrahedron index="25561" v0="4153" v1="4170" v2="5486" v3="6149" />
+ <tetrahedron index="25562" v0="3257" v1="5587" v2="5588" v3="6259" />
+ <tetrahedron index="25563" v0="5280" v1="5283" v2="5922" v3="6886" />
+ <tetrahedron index="25564" v0="3323" v1="3738" v2="3739" v3="5040" />
+ <tetrahedron index="25565" v0="5233" v1="5856" v2="6358" v3="6481" />
+ <tetrahedron index="25566" v0="3853" v1="3854" v2="5380" v3="5381" />
+ <tetrahedron index="25567" v0="4947" v1="5087" v2="5929" v3="6024" />
+ <tetrahedron index="25568" v0="3844" v1="4262" v2="4432" v3="5456" />
+ <tetrahedron index="25569" v0="3901" v1="5068" v2="5637" v3="5638" />
+ <tetrahedron index="25570" v0="3651" v1="4522" v2="4609" v3="6164" />
+ <tetrahedron index="25571" v0="4026" v1="4027" v2="4157" v3="4801" />
+ <tetrahedron index="25572" v0="4785" v1="5041" v2="5514" v3="5962" />
+ <tetrahedron index="25573" v0="3711" v1="3791" v2="4785" v3="4957" />
+ <tetrahedron index="25574" v0="4901" v1="5448" v2="5865" v3="5867" />
+ <tetrahedron index="25575" v0="3597" v1="3831" v2="3832" v3="5659" />
+ <tetrahedron index="25576" v0="3645" v1="5075" v2="5252" v3="6526" />
+ <tetrahedron index="25577" v0="5156" v1="6425" v2="6427" v3="6933" />
+ <tetrahedron index="25578" v0="4890" v1="5698" v2="6370" v3="6402" />
+ <tetrahedron index="25579" v0="4904" v1="5614" v2="5876" v3="5877" />
+ <tetrahedron index="25580" v0="4522" v1="4609" v2="5184" v3="6164" />
+ <tetrahedron index="25581" v0="3984" v1="5227" v2="5851" v3="6497" />
+ <tetrahedron index="25582" v0="4495" v1="4624" v2="4793" v3="6151" />
+ <tetrahedron index="25583" v0="3791" v1="4066" v2="4620" v3="6405" />
+ <tetrahedron index="25584" v0="4840" v1="5095" v2="5115" v3="5908" />
+ <tetrahedron index="25585" v0="3913" v1="3914" v2="3915" v3="5115" />
+ <tetrahedron index="25586" v0="5044" v1="5934" v2="5935" v3="5973" />
+ <tetrahedron index="25587" v0="3352" v1="3882" v2="3883" v3="6338" />
+ <tetrahedron index="25588" v0="4495" v1="4792" v2="4793" v3="6151" />
+ <tetrahedron index="25589" v0="3315" v1="3923" v2="4387" v3="5028" />
+ <tetrahedron index="25590" v0="3382" v1="3798" v2="5041" v3="5267" />
+ <tetrahedron index="25591" v0="3405" v1="5293" v2="5931" v3="6340" />
+ <tetrahedron index="25592" v0="3257" v1="3258" v2="3265" v3="5046" />
+ <tetrahedron index="25593" v0="4074" v1="4594" v2="5231" v3="5717" />
+ <tetrahedron index="25594" v0="3326" v1="3939" v2="5176" v3="5787" />
+ <tetrahedron index="25595" v0="4454" v1="5753" v2="6249" v3="6250" />
+ <tetrahedron index="25596" v0="4877" v1="5040" v2="5174" v3="5784" />
+ <tetrahedron index="25597" v0="3807" v1="5125" v2="5331" v3="5977" />
+ <tetrahedron index="25598" v0="3843" v1="4281" v2="6147" v3="6859" />
+ <tetrahedron index="25599" v0="3257" v1="3265" v2="3380" v3="4991" />
+ <tetrahedron index="25600" v0="4328" v1="4609" v2="4723" v3="5321" />
+ <tetrahedron index="25601" v0="3593" v1="3801" v2="3862" v3="5780" />
+ <tetrahedron index="25602" v0="3719" v1="4118" v2="4289" v3="5691" />
+ <tetrahedron index="25603" v0="4963" v1="6307" v2="6693" v3="6951" />
+ <tetrahedron index="25604" v0="4046" v1="5362" v2="6012" v3="6669" />
+ <tetrahedron index="25605" v0="4636" v1="5260" v2="5857" v3="5896" />
+ <tetrahedron index="25606" v0="3405" v1="3628" v2="5931" v3="6340" />
+ <tetrahedron index="25607" v0="3636" v1="5180" v2="5608" v3="6451" />
+ <tetrahedron index="25608" v0="5140" v1="5737" v2="6400" v3="6402" />
+ <tetrahedron index="25609" v0="4900" v1="5235" v2="5237" v3="5862" />
+ <tetrahedron index="25610" v0="4056" v1="4423" v2="4651" v3="6026" />
+ <tetrahedron index="25611" v0="4897" v1="5228" v2="5229" v3="5852" />
+ <tetrahedron index="25612" v0="5049" v1="5452" v2="6112" v3="6438" />
+ <tetrahedron index="25613" v0="5155" v1="5446" v2="6062" v3="6648" />
+ <tetrahedron index="25614" v0="6279" v1="6442" v2="6862" v3="6995" />
+ <tetrahedron index="25615" v0="4244" v1="4249" v2="5529" v3="6031" />
+ <tetrahedron index="25616" v0="3442" v1="3500" v2="4398" v3="5819" />
+ <tetrahedron index="25617" v0="4953" v1="5388" v2="5390" v3="6744" />
+ <tetrahedron index="25618" v0="3338" v1="4485" v2="4757" v3="5765" />
+ <tetrahedron index="25619" v0="3280" v1="5266" v2="5320" v3="6058" />
+ <tetrahedron index="25620" v0="3429" v1="3430" v2="3958" v3="6375" />
+ <tetrahedron index="25621" v0="5538" v1="6189" v2="6591" v3="6624" />
+ <tetrahedron index="25622" v0="5309" v1="5950" v2="6641" v3="6649" />
+ <tetrahedron index="25623" v0="5714" v1="5715" v2="6382" v3="6384" />
+ <tetrahedron index="25624" v0="5526" v1="5549" v2="5795" v3="6198" />
+ <tetrahedron index="25625" v0="4092" v1="4101" v2="5486" v3="6406" />
+ <tetrahedron index="25626" v0="5446" v1="6062" v2="6444" v3="6648" />
+ <tetrahedron index="25627" v0="4340" v1="4659" v2="4717" v3="6125" />
+ <tetrahedron index="25628" v0="6046" v1="6626" v2="6633" v3="6923" />
+ <tetrahedron index="25629" v0="3545" v1="3547" v2="3619" v3="5419" />
+ <tetrahedron index="25630" v0="6118" v1="6389" v2="6690" v3="6834" />
+ <tetrahedron index="25631" v0="4918" v1="5286" v2="5926" v3="6905" />
+ <tetrahedron index="25632" v0="4907" v1="5250" v2="5884" v3="6759" />
+ <tetrahedron index="25633" v0="3651" v1="3652" v2="5111" v3="6164" />
+ <tetrahedron index="25634" v0="5182" v1="5714" v2="5715" v3="6382" />
+ <tetrahedron index="25635" v0="4913" v1="6073" v2="6536" v3="6893" />
+ <tetrahedron index="25636" v0="6055" v1="6641" v2="6644" v3="6913" />
+ <tetrahedron index="25637" v0="5421" v1="5423" v2="6081" v3="6082" />
+ <tetrahedron index="25638" v0="3411" v1="3522" v2="5866" v3="6108" />
+ <tetrahedron index="25639" v0="3302" v1="3396" v2="4382" v3="5219" />
+ <tetrahedron index="25640" v0="4970" v1="5433" v2="5434" v3="5435" />
+ <tetrahedron index="25641" v0="3985" v1="5072" v2="5850" v3="5851" />
+ <tetrahedron index="25642" v0="5096" v1="5679" v2="6368" v3="6401" />
+ <tetrahedron index="25643" v0="4879" v1="5179" v2="5793" v3="6365" />
+ <tetrahedron index="25644" v0="5060" v1="5990" v2="6733" v3="6790" />
+ <tetrahedron index="25645" v0="3248" v1="3504" v2="3552" v3="5940" />
+ <tetrahedron index="25646" v0="4996" v1="5495" v2="6114" v3="6154" />
+ <tetrahedron index="25647" v0="5068" v1="5636" v2="5638" v3="5744" />
+ <tetrahedron index="25648" v0="5959" v1="6429" v2="6853" v3="6902" />
+ <tetrahedron index="25649" v0="3725" v1="5126" v2="5723" v3="6389" />
+ <tetrahedron index="25650" v0="5310" v1="6261" v2="6263" v3="6264" />
+ <tetrahedron index="25651" v0="4932" v1="5324" v2="5327" v3="6575" />
+ <tetrahedron index="25652" v0="3922" v1="4317" v2="5028" v3="5641" />
+ <tetrahedron index="25653" v0="3327" v1="3328" v2="3329" v3="4204" />
+ <tetrahedron index="25654" v0="3510" v1="3511" v2="5329" v3="6258" />
+ <tetrahedron index="25655" v0="5286" v1="5287" v2="5925" v3="6570" />
+ <tetrahedron index="25656" v0="5617" v1="5990" v2="6293" v3="6584" />
+ <tetrahedron index="25657" v0="3419" v1="5086" v2="5666" v3="6647" />
+ <tetrahedron index="25658" v0="4954" v1="6044" v2="6629" v3="6635" />
+ <tetrahedron index="25659" v0="5517" v1="5518" v2="6172" v3="6185" />
+ <tetrahedron index="25660" v0="4388" v1="4389" v2="4503" v3="5634" />
+ <tetrahedron index="25661" v0="6156" v1="6279" v2="6712" v3="6752" />
+ <tetrahedron index="25662" v0="4623" v1="4814" v2="4817" v3="6184" />
+ <tetrahedron index="25663" v0="3860" v1="3983" v2="5124" v3="5827" />
+ <tetrahedron index="25664" v0="3341" v1="5160" v2="6334" v3="6701" />
+ <tetrahedron index="25665" v0="4276" v1="4595" v2="5220" v3="5756" />
+ <tetrahedron index="25666" v0="5199" v1="5713" v2="5791" v3="6387" />
+ <tetrahedron index="25667" v0="3593" v1="3740" v2="5165" v3="6132" />
+ <tetrahedron index="25668" v0="5111" v1="5499" v2="5668" v3="6160" />
+ <tetrahedron index="25669" v0="4551" v1="4706" v2="5381" v3="6552" />
+ <tetrahedron index="25670" v0="3537" v1="3539" v2="4813" v3="5325" />
+ <tetrahedron index="25671" v0="3658" v1="3659" v2="4707" v3="5088" />
+ <tetrahedron index="25672" v0="4461" v1="4463" v2="5121" v3="5975" />
+ <tetrahedron index="25673" v0="3597" v1="3787" v2="3832" v3="6742" />
+ <tetrahedron index="25674" v0="3689" v1="4426" v2="4510" v3="5777" />
+ <tetrahedron index="25675" v0="4900" v1="5235" v2="5862" v3="6504" />
+ <tetrahedron index="25676" v0="3974" v1="3975" v2="4301" v3="6261" />
+ <tetrahedron index="25677" v0="5167" v1="6766" v2="6841" v3="6988" />
+ <tetrahedron index="25678" v0="4378" v1="4379" v2="4497" v3="5101" />
+ <tetrahedron index="25679" v0="4727" v1="4813" v2="5325" v3="5712" />
+ <tetrahedron index="25680" v0="5034" v1="5627" v2="5629" v3="6306" />
+ <tetrahedron index="25681" v0="4250" v1="5926" v2="5985" v3="6581" />
+ <tetrahedron index="25682" v0="3441" v1="3442" v2="5199" v3="5674" />
+ <tetrahedron index="25683" v0="4806" v1="5057" v2="5900" v3="6603" />
+ <tetrahedron index="25684" v0="4945" v1="5366" v2="5367" v3="6383" />
+ <tetrahedron index="25685" v0="3340" v1="4709" v2="5158" v3="5765" />
+ <tetrahedron index="25686" v0="4039" v1="5415" v2="5606" v3="6282" />
+ <tetrahedron index="25687" v0="5158" v1="5337" v2="5765" v3="5981" />
+ <tetrahedron index="25688" v0="3424" v1="3425" v2="4517" v3="5801" />
+ <tetrahedron index="25689" v0="4920" v1="5294" v2="5506" v3="5929" />
+ <tetrahedron index="25690" v0="3742" v1="5281" v2="5283" v3="5923" />
+ <tetrahedron index="25691" v0="5704" v1="6337" v2="6375" v3="6528" />
+ <tetrahedron index="25692" v0="4580" v1="4820" v2="5284" v3="6990" />
+ <tetrahedron index="25693" v0="4018" v1="5105" v2="6339" v3="6823" />
+ <tetrahedron index="25694" v0="3354" v1="3882" v2="4182" v3="5664" />
+ <tetrahedron index="25695" v0="4490" v1="5080" v2="5271" v3="5908" />
+ <tetrahedron index="25696" v0="4652" v1="5390" v2="6190" v3="6471" />
+ <tetrahedron index="25697" v0="4918" v1="5286" v2="5805" v3="6570" />
+ <tetrahedron index="25698" v0="5518" v1="6172" v2="6173" v3="6725" />
+ <tetrahedron index="25699" v0="5450" v1="5513" v2="6110" v3="6946" />
+ <tetrahedron index="25700" v0="4668" v1="5417" v2="5849" v3="6077" />
+ <tetrahedron index="25701" v0="5032" v1="5567" v2="5778" v3="6162" />
+ <tetrahedron index="25702" v0="5118" v1="5681" v2="6351" v3="6352" />
+ <tetrahedron index="25703" v0="4390" v1="5415" v2="6194" v3="6195" />
+ <tetrahedron index="25704" v0="5750" v1="6182" v2="6413" v3="6734" />
+ <tetrahedron index="25705" v0="3758" v1="4069" v2="4342" v3="5116" />
+ <tetrahedron index="25706" v0="4568" v1="4726" v2="5051" v3="6474" />
+ <tetrahedron index="25707" v0="4576" v1="4825" v2="5296" v3="5971" />
+ <tetrahedron index="25708" v0="3594" v1="3747" v2="5467" v3="6133" />
+ <tetrahedron index="25709" v0="3539" v1="4813" v2="5325" v3="5327" />
+ <tetrahedron index="25710" v0="5036" v1="6051" v2="6636" v3="6751" />
+ <tetrahedron index="25711" v0="3739" v1="4197" v2="5580" v3="6255" />
+ <tetrahedron index="25712" v0="4542" v1="4546" v2="6095" v3="6319" />
+ <tetrahedron index="25713" v0="4567" v1="4568" v2="4726" v3="5600" />
+ <tetrahedron index="25714" v0="4088" v1="4294" v2="4320" v3="6457" />
+ <tetrahedron index="25715" v0="6054" v1="6640" v2="6643" v3="6774" />
+ <tetrahedron index="25716" v0="4931" v1="5184" v2="5548" v3="5969" />
+ <tetrahedron index="25717" v0="5091" v1="5122" v2="5713" v3="5715" />
+ <tetrahedron index="25718" v0="5201" v1="5320" v2="5965" v3="5966" />
+ <tetrahedron index="25719" v0="5035" v1="5724" v2="6213" v3="6390" />
+ <tetrahedron index="25720" v0="3250" v1="3251" v2="3252" v3="6131" />
+ <tetrahedron index="25721" v0="3762" v1="3893" v2="5079" v3="5592" />
+ <tetrahedron index="25722" v0="3659" v1="3660" v2="4537" v3="5526" />
+ <tetrahedron index="25723" v0="5376" v1="5919" v2="5921" v3="6028" />
+ <tetrahedron index="25724" v0="3441" v1="3442" v2="5091" v3="5199" />
+ <tetrahedron index="25725" v0="4726" v1="5051" v2="5598" v3="5600" />
+ <tetrahedron index="25726" v0="4863" v1="5268" v2="6097" v3="6150" />
+ <tetrahedron index="25727" v0="3833" v1="3927" v2="4300" v3="5213" />
+ <tetrahedron index="25728" v0="4074" v1="4289" v2="5230" v3="6363" />
+ <tetrahedron index="25729" v0="5013" v1="5111" v2="5668" v3="6739" />
+ <tetrahedron index="25730" v0="4934" v1="5334" v2="5765" v3="5979" />
+ <tetrahedron index="25731" v0="4548" v1="5013" v2="5526" v3="6199" />
+ <tetrahedron index="25732" v0="5111" v1="5184" v2="5796" v3="6160" />
+ <tetrahedron index="25733" v0="3465" v1="3756" v2="3862" v3="5130" />
+ <tetrahedron index="25734" v0="4679" v1="4912" v2="5319" v3="5962" />
+ <tetrahedron index="25735" v0="4916" v1="5279" v2="5282" v3="5920" />
+ <tetrahedron index="25736" v0="3501" v1="5030" v2="5214" v3="5563" />
+ <tetrahedron index="25737" v0="3741" v1="5007" v2="5533" v3="6057" />
+ <tetrahedron index="25738" v0="3675" v1="3796" v2="3797" v3="5891" />
+ <tetrahedron index="25739" v0="3347" v1="3350" v2="3536" v3="5890" />
+ <tetrahedron index="25740" v0="6044" v1="6049" v2="6635" v3="6810" />
+ <tetrahedron index="25741" v0="5024" v1="5549" v2="6219" v3="6253" />
+ <tetrahedron index="25742" v0="4920" v1="5003" v2="5294" v3="5929" />
+ <tetrahedron index="25743" v0="4538" v1="5335" v2="5337" v3="5980" />
+ <tetrahedron index="25744" v0="4921" v1="5584" v2="6345" v3="6826" />
+ <tetrahedron index="25745" v0="4331" v1="5429" v2="5789" v3="6086" />
+ <tetrahedron index="25746" v0="3476" v1="5117" v2="6337" v3="6375" />
+ <tetrahedron index="25747" v0="4592" v1="5079" v2="5103" v3="5804" />
+ <tetrahedron index="25748" v0="5197" v1="5761" v2="6427" v3="6541" />
+ <tetrahedron index="25749" v0="5172" v1="5784" v2="5787" v3="6446" />
+ <tetrahedron index="25750" v0="3588" v1="3978" v2="4116" v3="6051" />
+ <tetrahedron index="25751" v0="5517" v1="6172" v2="6185" v3="6187" />
+ <tetrahedron index="25752" v0="3521" v1="3523" v2="5866" v3="6009" />
+ <tetrahedron index="25753" v0="4454" v1="4716" v2="4789" v3="6250" />
+ <tetrahedron index="25754" v0="3701" v1="5067" v2="5635" v3="6038" />
+ <tetrahedron index="25755" v0="4487" v1="4610" v2="4611" v3="5722" />
+ <tetrahedron index="25756" v0="3515" v1="3517" v2="3682" v3="5017" />
+ <tetrahedron index="25757" v0="4969" v1="5500" v2="5501" v3="6088" />
+ <tetrahedron index="25758" v0="4813" v1="5121" v2="5325" v3="5327" />
+ <tetrahedron index="25759" v0="3306" v1="3308" v2="3698" v3="5276" />
+ <tetrahedron index="25760" v0="5073" v1="5164" v2="5468" v3="6326" />
+ <tetrahedron index="25761" v0="6292" v1="6639" v2="6907" v3="6931" />
+ <tetrahedron index="25762" v0="5316" v1="6079" v2="6851" v3="6853" />
+ <tetrahedron index="25763" v0="4591" v1="5685" v2="5830" v3="6357" />
+ <tetrahedron index="25764" v0="3290" v1="3424" v2="3425" v3="5143" />
+ <tetrahedron index="25765" v0="3396" v1="3929" v2="4231" v3="5861" />
+ <tetrahedron index="25766" v0="4911" v1="5265" v2="5900" v3="6917" />
+ <tetrahedron index="25767" v0="4961" v1="5416" v2="5461" v3="6127" />
+ <tetrahedron index="25768" v0="4195" v1="4981" v2="5442" v3="5444" />
+ <tetrahedron index="25769" v0="3358" v1="4672" v2="5138" v3="6342" />
+ <tetrahedron index="25770" v0="4952" v1="5129" v2="5384" v3="5385" />
+ <tetrahedron index="25771" v0="3404" v1="3405" v2="6340" v3="6547" />
+ <tetrahedron index="25772" v0="5048" v1="5501" v2="5591" v3="6455" />
+ <tetrahedron index="25773" v0="5190" v1="6430" v2="6569" v3="7023" />
+ <tetrahedron index="25774" v0="3476" v1="4565" v2="5102" v3="6375" />
+ <tetrahedron index="25775" v0="5024" v1="5525" v2="5796" v3="6739" />
+ <tetrahedron index="25776" v0="5528" v1="6687" v2="6716" v3="7015" />
+ <tetrahedron index="25777" v0="3355" v1="3839" v2="3910" v3="5226" />
+ <tetrahedron index="25778" v0="3730" v1="4702" v2="4828" v3="5824" />
+ <tetrahedron index="25779" v0="5109" v1="5289" v2="5697" v3="6369" />
+ <tetrahedron index="25780" v0="5333" v1="5336" v2="5596" v3="5978" />
+ <tetrahedron index="25781" v0="4045" v1="4761" v2="5026" v3="6029" />
+ <tetrahedron index="25782" v0="3718" v1="3719" v2="4289" v3="5691" />
+ <tetrahedron index="25783" v0="4848" v1="4875" v2="5396" v3="6060" />
+ <tetrahedron index="25784" v0="4263" v1="5162" v2="5447" v3="5732" />
+ <tetrahedron index="25785" v0="4239" v1="4983" v2="5469" v3="6325" />
+ <tetrahedron index="25786" v0="3674" v1="4728" v2="5232" v3="5233" />
+ <tetrahedron index="25787" v0="4910" v1="5263" v2="5897" v3="6530" />
+ <tetrahedron index="25788" v0="3647" v1="3648" v2="4518" v3="5369" />
+ <tetrahedron index="25789" v0="5064" v1="5277" v2="5629" v3="5916" />
+ <tetrahedron index="25790" v0="3300" v1="3955" v2="4148" v3="5543" />
+ <tetrahedron index="25791" v0="3392" v1="3532" v2="4409" v3="5064" />
+ <tetrahedron index="25792" v0="3573" v1="5311" v2="5547" v3="5952" />
+ <tetrahedron index="25793" v0="5057" v1="6004" v2="6616" v3="6917" />
+ <tetrahedron index="25794" v0="4386" v1="4723" v2="5322" v3="6379" />
+ <tetrahedron index="25795" v0="5139" v1="5736" v2="6399" v3="6836" />
+ <tetrahedron index="25796" v0="3439" v1="3458" v2="3636" v3="5608" />
+ <tetrahedron index="25797" v0="3548" v1="3585" v2="5302" v3="5938" />
+ <tetrahedron index="25798" v0="4881" v1="5000" v2="5186" v3="5799" />
+ <tetrahedron index="25799" v0="4947" v1="5087" v2="5374" v3="6529" />
+ <tetrahedron index="25800" v0="4938" v1="5345" v2="6670" v3="6940" />
+ <tetrahedron index="25801" v0="4897" v1="5400" v2="5401" v3="5853" />
+ <tetrahedron index="25802" v0="3537" v1="3916" v2="5325" v3="5972" />
+ <tetrahedron index="25803" v0="3590" v1="4297" v2="5100" v3="5212" />
+ <tetrahedron index="25804" v0="3357" v1="3910" v2="5226" v3="6499" />
+ <tetrahedron index="25805" v0="5575" v1="5926" v2="6545" v3="6581" />
+ <tetrahedron index="25806" v0="4064" v1="5097" v2="5683" v3="6827" />
+ <tetrahedron index="25807" v0="3549" v1="5094" v2="5301" v3="5939" />
+ <tetrahedron index="25808" v0="4908" v1="5453" v2="5645" v3="6113" />
+ <tetrahedron index="25809" v0="4082" v1="5422" v2="5423" v3="6658" />
+ <tetrahedron index="25810" v0="3318" v1="4503" v2="4801" v3="5658" />
+ <tetrahedron index="25811" v0="4970" v1="5434" v2="5435" v3="6091" />
+ <tetrahedron index="25812" v0="3804" v1="5322" v2="5968" v3="6196" />
+ <tetrahedron index="25813" v0="5105" v1="5690" v2="6339" v3="6823" />
+ <tetrahedron index="25814" v0="4123" v1="5131" v2="5609" v3="5641" />
+ <tetrahedron index="25815" v0="4886" v1="5197" v2="6176" v3="6541" />
+ <tetrahedron index="25816" v0="3356" v1="3883" v2="3903" v3="4456" />
+ <tetrahedron index="25817" v0="3779" v1="3781" v2="3783" v3="5987" />
+ <tetrahedron index="25818" v0="4903" v1="5245" v2="5722" v3="6513" />
+ <tetrahedron index="25819" v0="3615" v1="3988" v2="4283" v3="5828" />
+ <tetrahedron index="25820" v0="4846" v1="5145" v2="5741" v3="5758" />
+ <tetrahedron index="25821" v0="3390" v1="3874" v2="4640" v3="6351" />
+ <tetrahedron index="25822" v0="3271" v1="3378" v2="3603" v3="5137" />
+ <tetrahedron index="25823" v0="3500" v1="3564" v2="5200" v3="5674" />
+ <tetrahedron index="25824" v0="4126" v1="5009" v2="5433" v3="6189" />
+ <tetrahedron index="25825" v0="3451" v1="3452" v2="3454" v3="5871" />
+ <tetrahedron index="25826" v0="4210" v1="4338" v2="4698" v3="5523" />
+ <tetrahedron index="25827" v0="5189" v1="5807" v2="5874" v3="6460" />
+ <tetrahedron index="25828" v0="4692" v1="4695" v2="5090" v3="5099" />
+ <tetrahedron index="25829" v0="3308" v1="5243" v2="5276" v3="5872" />
+ <tetrahedron index="25830" v0="5322" v1="5796" v2="5967" v3="6452" />
+ <tetrahedron index="25831" v0="3905" v1="4285" v2="5954" v3="6562" />
+ <tetrahedron index="25832" v0="3444" v1="3694" v2="5970" v3="6574" />
+ <tetrahedron index="25833" v0="4947" v1="5373" v2="5667" v3="6340" />
+ <tetrahedron index="25834" v0="4967" v1="5177" v2="5784" v3="5785" />
+ <tetrahedron index="25835" v0="3975" v1="4508" v2="5588" v3="6262" />
+ <tetrahedron index="25836" v0="3636" v1="4019" v2="5608" v3="6451" />
+ <tetrahedron index="25837" v0="3903" v1="4299" v2="4515" v3="5850" />
+ <tetrahedron index="25838" v0="4749" v1="4822" v2="5604" v3="6142" />
+ <tetrahedron index="25839" v0="4265" v1="4538" v2="5337" v3="5980" />
+ <tetrahedron index="25840" v0="3254" v1="3818" v2="5729" v3="6618" />
+ <tetrahedron index="25841" v0="4068" v1="5291" v2="5293" v3="5774" />
+ <tetrahedron index="25842" v0="4896" v1="5224" v2="5848" v3="5851" />
+ <tetrahedron index="25843" v0="5093" v1="5676" v2="6005" v3="7024" />
+ <tetrahedron index="25844" v0="3402" v1="3403" v2="4060" v3="5208" />
+ <tetrahedron index="25845" v0="4060" v1="4516" v2="5208" v3="6400" />
+ <tetrahedron index="25846" v0="4920" v1="5290" v2="5292" v3="6169" />
+ <tetrahedron index="25847" v0="5339" v1="5636" v2="5982" v3="6316" />
+ <tetrahedron index="25848" v0="4401" v1="4566" v2="4677" v3="5375" />
+ <tetrahedron index="25849" v0="3521" v1="5357" v2="5866" v3="6009" />
+ <tetrahedron index="25850" v0="4210" v1="4622" v2="4698" v3="5523" />
+ <tetrahedron index="25851" v0="5013" v1="5525" v2="6198" v3="6199" />
+ <tetrahedron index="25852" v0="3261" v1="3267" v2="5038" v3="5069" />
+ <tetrahedron index="25853" v0="4997" v1="6182" v2="6286" v3="6733" />
+ <tetrahedron index="25854" v0="5112" v1="5702" v2="6251" v3="6771" />
+ <tetrahedron index="25855" v0="4857" v1="6104" v2="6648" v3="6676" />
+ <tetrahedron index="25856" v0="4393" v1="4582" v2="5557" v3="6231" />
+ <tetrahedron index="25857" v0="3917" v1="4096" v2="4448" v3="5863" />
+ <tetrahedron index="25858" v0="4896" v1="5225" v2="5226" v3="5417" />
+ <tetrahedron index="25859" v0="4335" v1="5018" v2="5735" v3="6397" />
+ <tetrahedron index="25860" v0="4938" v1="5520" v2="6191" v3="6273" />
+ <tetrahedron index="25861" v0="3448" v1="3556" v2="5502" v3="5800" />
+ <tetrahedron index="25862" v0="3387" v1="4818" v2="5041" v3="5116" />
+ <tetrahedron index="25863" v0="4865" v1="5012" v2="5759" v3="5882" />
+ <tetrahedron index="25864" v0="4914" v1="5272" v2="5273" v3="5909" />
+ <tetrahedron index="25865" v0="4962" v1="6130" v2="6537" v3="6696" />
+ <tetrahedron index="25866" v0="6291" v1="6793" v2="6999" v3="7009" />
+ <tetrahedron index="25867" v0="3880" v1="4648" v2="5347" v3="6012" />
+ <tetrahedron index="25868" v0="3412" v1="3413" v2="5447" v3="6680" />
+ <tetrahedron index="25869" v0="4948" v1="5376" v2="5921" v3="6025" />
+ <tetrahedron index="25870" v0="4179" v1="4272" v2="5185" v3="5497" />
+ <tetrahedron index="25871" v0="4335" v1="5018" v2="5739" v3="6397" />
+ <tetrahedron index="25872" v0="4815" v1="5582" v2="5747" v3="6659" />
+ <tetrahedron index="25873" v0="5289" v1="5601" v2="5928" v3="6369" />
+ <tetrahedron index="25874" v0="4386" v1="4418" v2="4723" v3="5322" />
+ <tetrahedron index="25875" v0="4142" v1="4800" v2="6017" v3="6383" />
+ <tetrahedron index="25876" v0="3530" v1="4034" v2="5816" v3="6619" />
+ <tetrahedron index="25877" v0="3660" v1="4147" v2="5526" v3="5795" />
+ <tetrahedron index="25878" v0="4870" v1="5131" v2="5732" v3="6107" />
+ <tetrahedron index="25879" v0="4365" v1="5248" v2="5438" v3="5878" />
+ <tetrahedron index="25880" v0="4981" v1="6129" v2="6696" v3="6892" />
+ <tetrahedron index="25881" v0="4074" v1="5230" v2="5231" v3="5717" />
+ <tetrahedron index="25882" v0="5178" v1="5429" v2="5789" v3="6448" />
+ <tetrahedron index="25883" v0="4858" v1="5518" v2="6183" v3="6186" />
+ <tetrahedron index="25884" v0="3437" v1="3673" v2="5141" v3="5977" />
+ <tetrahedron index="25885" v0="4893" v1="5021" v2="5218" v3="6503" />
+ <tetrahedron index="25886" v0="3753" v1="5289" v2="5927" v3="5928" />
+ <tetrahedron index="25887" v0="4009" v1="4010" v2="4048" v3="5804" />
+ <tetrahedron index="25888" v0="3272" v1="5535" v2="6646" v3="6835" />
+ <tetrahedron index="25889" v0="4785" v1="4957" v2="5514" v3="5962" />
+ <tetrahedron index="25890" v0="5904" v1="6538" v2="6793" v3="6977" />
+ <tetrahedron index="25891" v0="4867" v1="6465" v2="6466" v3="6895" />
+ <tetrahedron index="25892" v0="3244" v1="3484" v2="3573" v3="5952" />
+ <tetrahedron index="25893" v0="5106" v1="5878" v2="5879" v3="6518" />
+ <tetrahedron index="25894" v0="4498" v1="4499" v2="5071" v3="5254" />
+ <tetrahedron index="25895" v0="4253" v1="5577" v2="5736" v3="6398" />
+ <tetrahedron index="25896" v0="3644" v1="3645" v2="4674" v3="5075" />
+ <tetrahedron index="25897" v0="4361" v1="4526" v2="4692" v3="4695" />
+ <tetrahedron index="25898" v0="4427" v1="5111" v2="5796" v3="6164" />
+ <tetrahedron index="25899" v0="3590" v1="3989" v2="5100" v3="6357" />
+ <tetrahedron index="25900" v0="4939" v1="5996" v2="6839" v3="6848" />
+ <tetrahedron index="25901" v0="5068" v1="5637" v2="5638" v3="5744" />
+ <tetrahedron index="25902" v0="5157" v1="5945" v2="6557" v3="6895" />
+ <tetrahedron index="25903" v0="4915" v1="5064" v2="5629" v3="5916" />
+ <tetrahedron index="25904" v0="4158" v1="4159" v2="4237" v3="4370" />
+ <tetrahedron index="25905" v0="3824" v1="5091" v2="5180" v3="5715" />
+ <tetrahedron index="25906" v0="4741" v1="5459" v2="5460" v3="5462" />
+ <tetrahedron index="25907" v0="4328" v1="4723" v2="5321" v3="5708" />
+ <tetrahedron index="25908" v0="4980" v1="5459" v2="5460" v3="5462" />
+ <tetrahedron index="25909" v0="4178" v1="4179" v2="5185" v3="5797" />
+ <tetrahedron index="25910" v0="5024" v1="5525" v2="6196" v3="6452" />
+ <tetrahedron index="25911" v0="4911" v1="5057" v2="5610" v3="6592" />
+ <tetrahedron index="25912" v0="4992" v1="5201" v2="5483" v3="6392" />
+ <tetrahedron index="25913" v0="5950" v1="6641" v2="6644" v3="6913" />
+ <tetrahedron index="25914" v0="3509" v1="3510" v2="3809" v3="5329" />
+ <tetrahedron index="25915" v0="3263" v1="3700" v2="4218" v3="5030" />
+ <tetrahedron index="25916" v0="3995" v1="5292" v2="6024" v3="6169" />
+ <tetrahedron index="25917" v0="3682" v1="3950" v2="5739" v3="6454" />
+ <tetrahedron index="25918" v0="3565" v1="3709" v2="3824" v3="5715" />
+ <tetrahedron index="25919" v0="3718" v1="4650" v2="5105" v3="5203" />
+ <tetrahedron index="25920" v0="5083" v1="5532" v2="6204" v3="6742" />
+ <tetrahedron index="25921" v0="4036" v1="4594" v2="4720" v3="5716" />
+ <tetrahedron index="25922" v0="5073" v1="5164" v2="5597" v3="6326" />
+ <tetrahedron index="25923" v0="4475" v1="4735" v2="5092" v3="5675" />
+ <tetrahedron index="25924" v0="4475" v1="4735" v2="4751" v3="5675" />
+ <tetrahedron index="25925" v0="3309" v1="3310" v2="5506" v3="5931" />
+ <tetrahedron index="25926" v0="4441" v1="4793" v2="6151" v3="6709" />
+ <tetrahedron index="25927" v0="4900" v1="5860" v2="5918" v3="5922" />
+ <tetrahedron index="25928" v0="5107" v1="5694" v2="5826" v3="6837" />
+ <tetrahedron index="25929" v0="5031" v1="5565" v2="6237" v3="6356" />
+ <tetrahedron index="25930" v0="4532" v1="5285" v2="5515" v3="6181" />
+ <tetrahedron index="25931" v0="4194" v1="4295" v2="5414" v3="6074" />
+ <tetrahedron index="25932" v0="5152" v1="5993" v2="6223" v3="6668" />
+ <tetrahedron index="25933" v0="3398" v1="5064" v2="5628" v3="6801" />
+ <tetrahedron index="25934" v0="5169" v1="5247" v2="5876" v3="6889" />
+ <tetrahedron index="25935" v0="5411" v1="5462" v2="6125" v3="6127" />
+ <tetrahedron index="25936" v0="5481" v1="5548" v2="6146" v3="6219" />
+ <tetrahedron index="25937" v0="3612" v1="5473" v2="5709" v3="6251" />
+ <tetrahedron index="25938" v0="4146" v1="5183" v2="5549" v3="6219" />
+ <tetrahedron index="25939" v0="4588" v1="4617" v2="5354" v3="6005" />
+ <tetrahedron index="25940" v0="4218" v1="5001" v2="5504" v3="6417" />
+ <tetrahedron index="25941" v0="5008" v1="5750" v2="6412" v3="6413" />
+ <tetrahedron index="25942" v0="6140" v1="6486" v2="6642" v3="6703" />
+ <tetrahedron index="25943" v0="5170" v1="5950" v2="6062" v3="6487" />
+ <tetrahedron index="25944" v0="4891" v1="5031" v2="5212" v3="6760" />
+ <tetrahedron index="25945" v0="5397" v1="6054" v2="6642" v3="6774" />
+ <tetrahedron index="25946" v0="4981" v1="5299" v2="5760" v3="6131" />
+ <tetrahedron index="25947" v0="4553" v1="5259" v2="5568" v3="6241" />
+ <tetrahedron index="25948" v0="3243" v1="4301" v2="6261" v3="6486" />
+ <tetrahedron index="25949" v0="3435" v1="3506" v2="4319" v3="5409" />
+ <tetrahedron index="25950" v0="4050" v1="4079" v2="4528" v3="5186" />
+ <tetrahedron index="25951" v0="3691" v1="4049" v2="5534" v3="5802" />
+ <tetrahedron index="25952" v0="3243" v1="3244" v2="3483" v3="5952" />
+ <tetrahedron index="25953" v0="4877" v1="5061" v2="5171" v3="5578" />
+ <tetrahedron index="25954" v0="6537" v1="6696" v2="6697" v3="6952" />
+ <tetrahedron index="25955" v0="3935" v1="4337" v2="5645" v3="6683" />
+ <tetrahedron index="25956" v0="4403" v1="5136" v2="5328" v3="5734" />
+ <tetrahedron index="25957" v0="4924" v1="5763" v2="6554" v3="6558" />
+ <tetrahedron index="25958" v0="5764" v1="6765" v2="6805" v3="6806" />
+ <tetrahedron index="25959" v0="4961" v1="5518" v2="6173" v3="6726" />
+ <tetrahedron index="25960" v0="5018" v1="5534" v2="5535" v3="6206" />
+ <tetrahedron index="25961" v0="3575" v1="3899" v2="5251" v3="5253" />
+ <tetrahedron index="25962" v0="3678" v1="4319" v2="4428" v3="5409" />
+ <tetrahedron index="25963" v0="5066" v1="5633" v2="6011" v3="6609" />
+ <tetrahedron index="25964" v0="3276" v1="5398" v2="5820" v3="5965" />
+ <tetrahedron index="25965" v0="4223" v1="4809" v2="5637" v3="5743" />
+ <tetrahedron index="25966" v0="3873" v1="5672" v2="6343" v3="6825" />
+ <tetrahedron index="25967" v0="3294" v1="3297" v2="3607" v3="5836" />
+ <tetrahedron index="25968" v0="3325" v1="3326" v2="3423" v3="5172" />
+ <tetrahedron index="25969" v0="4975" v1="5448" v2="5867" v3="6108" />
+ <tetrahedron index="25970" v0="3971" v1="3985" v2="4019" v3="5794" />
+ <tetrahedron index="25971" v0="4961" v1="5416" v2="6127" v3="6725" />
+ <tetrahedron index="25972" v0="4895" v1="5843" v2="6275" v3="6779" />
+ <tetrahedron index="25973" v0="3330" v1="4572" v2="5730" v3="6152" />
+ <tetrahedron index="25974" v0="3947" v1="4419" v2="4420" v3="5522" />
+ <tetrahedron index="25975" v0="3641" v1="3838" v2="5710" v3="6089" />
+ <tetrahedron index="25976" v0="4659" v1="4717" v2="5462" v3="6125" />
+ <tetrahedron index="25977" v0="4910" v1="5261" v2="5262" v3="5897" />
+ <tetrahedron index="25978" v0="4679" v1="5267" v2="5308" v3="5949" />
+ <tetrahedron index="25979" v0="4044" v1="4112" v2="4783" v3="6229" />
+ <tetrahedron index="25980" v0="4455" v1="5020" v2="5540" v3="6210" />
+ <tetrahedron index="25981" v0="3242" v1="5220" v2="5839" v3="6216" />
+ <tetrahedron index="25982" v0="3633" v1="3656" v2="5530" v3="6433" />
+ <tetrahedron index="25983" v0="3790" v1="5108" v2="5696" v3="6367" />
+ <tetrahedron index="25984" v0="3241" v1="3364" v2="5273" v3="6178" />
+ <tetrahedron index="25985" v0="4974" v1="5382" v2="5445" v3="6035" />
+ <tetrahedron index="25986" v0="3708" v1="3880" v2="3881" v3="6778" />
+ <tetrahedron index="25987" v0="4899" v1="5233" v2="5855" v3="6358" />
+ <tetrahedron index="25988" v0="4896" v1="5227" v2="5851" v3="6497" />
+ <tetrahedron index="25989" v0="4997" v1="5516" v2="6732" v3="6733" />
+ <tetrahedron index="25990" v0="3902" v1="4859" v2="5387" v3="5638" />
+ <tetrahedron index="25991" v0="3725" v1="4487" v2="4705" v3="5126" />
+ <tetrahedron index="25992" v0="3299" v1="5055" v2="5834" v3="5855" />
+ <tetrahedron index="25993" v0="3284" v1="3384" v2="3734" v3="6035" />
+ <tetrahedron index="25994" v0="5150" v1="5284" v2="6179" v3="6411" />
+ <tetrahedron index="25995" v0="4189" v1="4279" v2="4406" v3="5388" />
+ <tetrahedron index="25996" v0="5310" v1="5311" v2="5952" v3="6561" />
+ <tetrahedron index="25997" v0="4950" v1="5947" v2="6243" v3="6937" />
+ <tetrahedron index="25998" v0="6040" v1="6623" v2="6745" v3="6969" />
+ <tetrahedron index="25999" v0="6279" v1="6613" v2="6783" v3="6862" />
+ <tetrahedron index="26000" v0="4256" v1="4311" v2="4766" v3="5224" />
+ <tetrahedron index="26001" v0="3328" v1="3749" v2="6087" v3="6254" />
+ <tetrahedron index="26002" v0="3749" v1="3795" v2="5579" v3="6772" />
+ <tetrahedron index="26003" v0="3323" v1="5040" v2="5578" v3="5580" />
+ <tetrahedron index="26004" v0="3726" v1="3727" v2="3896" v3="5723" />
+ <tetrahedron index="26005" v0="5439" v1="5503" v2="6100" v3="6719" />
+ <tetrahedron index="26006" v0="4668" v1="4742" v2="5417" v3="5849" />
+ <tetrahedron index="26007" v0="3944" v1="4641" v2="4642" v3="5357" />
+ <tetrahedron index="26008" v0="4901" v1="5448" v2="5866" v3="6508" />
+ <tetrahedron index="26009" v0="4194" v1="4748" v2="6539" v3="6653" />
+ <tetrahedron index="26010" v0="5029" v1="5561" v2="5954" v3="6563" />
+ <tetrahedron index="26011" v0="4244" v1="5379" v2="5529" v3="6031" />
+ <tetrahedron index="26012" v0="6281" v1="6782" v2="6881" v3="6957" />
+ <tetrahedron index="26013" v0="3270" v1="3277" v2="3278" v3="3284" />
+ <tetrahedron index="26014" v0="3586" v1="5098" v2="5302" v3="6037" />
+ <tetrahedron index="26015" v0="4258" v1="4771" v2="5189" v3="6867" />
+ <tetrahedron index="26016" v0="4919" v1="5289" v2="5697" v3="6369" />
+ <tetrahedron index="26017" v0="4495" v1="4525" v2="4624" v3="6269" />
+ <tetrahedron index="26018" v0="3740" v1="5165" v2="5356" v3="6132" />
+ <tetrahedron index="26019" v0="3330" v1="4440" v2="4656" v3="5490" />
+ <tetrahedron index="26020" v0="4412" v1="4571" v2="5079" v3="5592" />
+ <tetrahedron index="26021" v0="4493" v1="5342" v2="5988" v3="7006" />
+ <tetrahedron index="26022" v0="3709" v1="5180" v2="5182" v3="5715" />
+ <tetrahedron index="26023" v0="4650" v1="4654" v2="4764" v3="6873" />
+ <tetrahedron index="26024" v0="3942" v1="4176" v2="5081" v3="6332" />
+ <tetrahedron index="26025" v0="5465" v1="6291" v2="6678" v3="6897" />
+ <tetrahedron index="26026" v0="4390" v1="4396" v2="5415" v3="6194" />
+ <tetrahedron index="26027" v0="3981" v1="4077" v2="4536" v3="5264" />
+ <tetrahedron index="26028" v0="4977" v1="5776" v2="6438" v3="6441" />
+ <tetrahedron index="26029" v0="3235" v1="3346" v2="4701" v3="5453" />
+ <tetrahedron index="26030" v0="4897" v1="4958" v2="5228" v3="5401" />
+ <tetrahedron index="26031" v0="4265" v1="5980" v2="6268" v3="6776" />
+ <tetrahedron index="26032" v0="4523" v1="5285" v2="5344" v3="5924" />
+ <tetrahedron index="26033" v0="3484" v1="3573" v2="5311" v3="5952" />
+ <tetrahedron index="26034" v0="3840" v1="3841" v2="3842" v3="6661" />
+ <tetrahedron index="26035" v0="3877" v1="4371" v2="4767" v3="5199" />
+ <tetrahedron index="26036" v0="4912" v1="4929" v2="4989" v3="6145" />
+ <tetrahedron index="26037" v0="4851" v1="5146" v2="5147" v3="5742" />
+ <tetrahedron index="26038" v0="3267" v1="3268" v2="4906" v3="5038" />
+ <tetrahedron index="26039" v0="5391" v1="6247" v2="6806" v3="6974" />
+ <tetrahedron index="26040" v0="4020" v1="5023" v2="5546" v3="6216" />
+ <tetrahedron index="26041" v0="3529" v1="5441" v2="5484" v3="6838" />
+ <tetrahedron index="26042" v0="3399" v1="3401" v2="5827" v3="6803" />
+ <tetrahedron index="26043" v0="3663" v1="3816" v2="4138" v3="6208" />
+ <tetrahedron index="26044" v0="3623" v1="3624" v2="5237" v3="5479" />
+ <tetrahedron index="26045" v0="5625" v1="6302" v2="6303" v3="6800" />
+ <tetrahedron index="26046" v0="3303" v1="3305" v2="3970" v3="5721" />
+ <tetrahedron index="26047" v0="3364" v1="3696" v2="5273" v3="6178" />
+ <tetrahedron index="26048" v0="4217" v1="4549" v2="4791" v3="5085" />
+ <tetrahedron index="26049" v0="3406" v1="3679" v2="5033" v3="5667" />
+ <tetrahedron index="26050" v0="3654" v1="4239" v2="4983" v3="5469" />
+ <tetrahedron index="26051" v0="5745" v1="5746" v2="6032" v3="6033" />
+ <tetrahedron index="26052" v0="3985" v1="5072" v2="5794" v3="6450" />
+ <tetrahedron index="26053" v0="5398" v1="6057" v2="6646" v3="6835" />
+ <tetrahedron index="26054" v0="4020" v1="4634" v2="5546" v3="6218" />
+ <tetrahedron index="26055" v0="4457" v1="5181" v2="5793" v3="6450" />
+ <tetrahedron index="26056" v0="4073" v1="5089" v2="5295" v3="5670" />
+ <tetrahedron index="26057" v0="3538" v1="3872" v2="4115" v3="6826" />
+ <tetrahedron index="26058" v0="4106" v1="4450" v2="4777" v3="5813" />
+ <tetrahedron index="26059" v0="4243" v1="4353" v2="4806" v3="6031" />
+ <tetrahedron index="26060" v0="4139" v1="4140" v2="4689" v3="5389" />
+ <tetrahedron index="26061" v0="4969" v1="5431" v2="5500" v3="6088" />
+ <tetrahedron index="26062" v0="4896" v1="5225" v2="5695" v3="6367" />
+ <tetrahedron index="26063" v0="4868" v1="5660" v2="5767" v3="6137" />
+ <tetrahedron index="26064" v0="4969" v1="5501" v2="5502" v3="5591" />
+ <tetrahedron index="26065" v0="3531" v1="3533" v2="4283" v3="5114" />
+ <tetrahedron index="26066" v0="4965" v1="5419" v2="5849" v3="6077" />
+ <tetrahedron index="26067" v0="3257" v1="3259" v2="3975" v3="5046" />
+ <tetrahedron index="26068" v0="4884" v1="6230" v2="6557" v3="6855" />
+ <tetrahedron index="26069" v0="3283" v1="4005" v2="5116" v3="5654" />
+ <tetrahedron index="26070" v0="3285" v1="3485" v2="6148" v3="6706" />
+ <tetrahedron index="26071" v0="4093" v1="4223" v2="4224" v3="5147" />
+ <tetrahedron index="26072" v0="3647" v1="5369" v2="5370" v3="6020" />
+ <tetrahedron index="26073" v0="4020" v1="4021" v2="4634" v3="5546" />
+ <tetrahedron index="26074" v0="4994" v1="6183" v2="6184" v3="6186" />
+ <tetrahedron index="26075" v0="4187" v1="5450" v2="6110" v3="6111" />
+ <tetrahedron index="26076" v0="3269" v1="3802" v2="5267" v3="5308" />
+ <tetrahedron index="26077" v0="4867" v1="6212" v2="6213" v3="6748" />
+ <tetrahedron index="26078" v0="5156" v1="5413" v2="6071" v3="6072" />
+ <tetrahedron index="26079" v0="4883" v1="5458" v2="6950" v3="7017" />
+ <tetrahedron index="26080" v0="5177" v1="5784" v2="5787" v3="6446" />
+ <tetrahedron index="26081" v0="6056" v1="6641" v2="6649" v3="6774" />
+ <tetrahedron index="26082" v0="3699" v1="5380" v2="5569" v3="5571" />
+ <tetrahedron index="26083" v0="4990" v1="5797" v2="5969" v3="6435" />
+ <tetrahedron index="26084" v0="3712" v1="5018" v2="5533" v3="5735" />
+ <tetrahedron index="26085" v0="3303" v1="3304" v2="3305" v3="5721" />
+ <tetrahedron index="26086" v0="5349" v1="6734" v2="6790" v3="6967" />
+ <tetrahedron index="26087" v0="4905" v1="5248" v2="5879" v3="6519" />
+ <tetrahedron index="26088" v0="5054" v1="5695" v2="5696" v3="6366" />
+ <tetrahedron index="26089" v0="4523" v1="4524" v2="4579" v3="5285" />
+ <tetrahedron index="26090" v0="3471" v1="4588" v2="4682" v3="6005" />
+ <tetrahedron index="26091" v0="6587" v1="6590" v2="6611" v3="6754" />
+ <tetrahedron index="26092" v0="3547" v1="3619" v2="4827" v3="5849" />
+ <tetrahedron index="26093" v0="3492" v1="5260" v2="5261" v3="5262" />
+ <tetrahedron index="26094" v0="3428" v1="4369" v2="5650" v3="6709" />
+ <tetrahedron index="26095" v0="4020" v1="4365" v2="5438" v3="6096" />
+ <tetrahedron index="26096" v0="4422" v1="4548" v2="4799" v3="6199" />
+ <tetrahedron index="26097" v0="4001" v1="4612" v2="4763" v3="5758" />
+ <tetrahedron index="26098" v0="4901" v1="5056" v2="5240" v3="6108" />
+ <tetrahedron index="26099" v0="3910" v1="5226" v2="5790" v3="6499" />
+ <tetrahedron index="26100" v0="3411" v1="5448" v2="6108" v3="6680" />
+ <tetrahedron index="26101" v0="3345" v1="4772" v2="5255" v3="6441" />
+ <tetrahedron index="26102" v0="3452" v1="4283" v2="5828" v3="5871" />
+ <tetrahedron index="26103" v0="3588" v1="4731" v2="5395" v3="6050" />
+ <tetrahedron index="26104" v0="4770" v1="5076" v2="5682" v3="6354" />
+ <tetrahedron index="26105" v0="4116" v1="5573" v2="6048" v3="6051" />
+ <tetrahedron index="26106" v0="4865" v1="5011" v2="5012" v3="6423" />
+ <tetrahedron index="26107" v0="5009" v1="5433" v2="6591" v3="6940" />
+ <tetrahedron index="26108" v0="3860" v1="4516" v2="5694" v3="5827" />
+ <tetrahedron index="26109" v0="3356" v1="3883" v2="3903" v3="6496" />
+ <tetrahedron index="26110" v0="5577" v1="6253" v2="6398" v3="6573" />
+ <tetrahedron index="26111" v0="3891" v1="5015" v2="5504" v3="5529" />
+ <tetrahedron index="26112" v0="4167" v1="4347" v2="4388" v3="6314" />
+ <tetrahedron index="26113" v0="4846" v1="5740" v2="5758" v3="6820" />
+ <tetrahedron index="26114" v0="4956" v1="5046" v2="5587" v3="6259" />
+ <tetrahedron index="26115" v0="3753" v1="4578" v2="5289" v3="5928" />
+ <tetrahedron index="26116" v0="3773" v1="5142" v2="5862" v3="5920" />
+ <tetrahedron index="26117" v0="4095" v1="4097" v2="5279" v3="5919" />
+ <tetrahedron index="26118" v0="4364" v1="5328" v2="5585" v3="5734" />
+ <tetrahedron index="26119" v0="4917" v1="5284" v2="5285" v3="5924" />
+ <tetrahedron index="26120" v0="5693" v1="6364" v2="6478" v3="6887" />
+ <tetrahedron index="26121" v0="3232" v1="3772" v2="4473" v3="5119" />
+ <tetrahedron index="26122" v0="3700" v1="5030" v2="5562" v3="5563" />
+ <tetrahedron index="26123" v0="4212" v1="4356" v2="6827" v3="6985" />
+ <tetrahedron index="26124" v0="4861" v1="5991" v2="6569" v3="6908" />
+ <tetrahedron index="26125" v0="3796" v1="3797" v2="5022" v3="6215" />
+ <tetrahedron index="26126" v0="4132" v1="4796" v2="4810" v3="5428" />
+ <tetrahedron index="26127" v0="5590" v1="6263" v2="6264" v3="6564" />
+ <tetrahedron index="26128" v0="3259" v1="3973" v2="4865" v3="6423" />
+ <tetrahedron index="26129" v0="3327" v1="4203" v2="4556" v3="5430" />
+ <tetrahedron index="26130" v0="5015" v1="5504" v2="6116" v3="6168" />
+ <tetrahedron index="26131" v0="3660" v1="4146" v2="4147" v3="5795" />
+ <tetrahedron index="26132" v0="5495" v1="6158" v2="6740" v3="6741" />
+ <tetrahedron index="26133" v0="3240" v1="3241" v2="3364" v3="5911" />
+ <tetrahedron index="26134" v0="3263" v1="3264" v2="5001" v3="5030" />
+ <tetrahedron index="26135" v0="3520" v1="4185" v2="5191" v3="6040" />
+ <tetrahedron index="26136" v0="4879" v1="5182" v2="6366" v3="6451" />
+ <tetrahedron index="26137" v0="3965" v1="4763" v2="5144" v3="6404" />
+ <tetrahedron index="26138" v0="3637" v1="3960" v2="5086" v3="5205" />
+ <tetrahedron index="26139" v0="3714" v1="3852" v2="4357" v3="5374" />
+ <tetrahedron index="26140" v0="3257" v1="3975" v2="4508" v3="5588" />
+ <tetrahedron index="26141" v0="4933" v1="5136" v2="5328" v3="5734" />
+ <tetrahedron index="26142" v0="5246" v1="6277" v2="6460" v3="6781" />
+ <tetrahedron index="26143" v0="3892" v1="4149" v2="5378" v3="6029" />
+ <tetrahedron index="26144" v0="3450" v1="3625" v2="3685" v3="5872" />
+ <tetrahedron index="26145" v0="4787" v1="5693" v2="6364" v3="6478" />
+ <tetrahedron index="26146" v0="4648" v1="4783" v2="5360" v3="6012" />
+ <tetrahedron index="26147" v0="4445" v1="4747" v2="4789" v3="6249" />
+ <tetrahedron index="26148" v0="3851" v1="4496" v2="4519" v3="5259" />
+ <tetrahedron index="26149" v0="5517" v1="6183" v2="6185" v3="6968" />
+ <tetrahedron index="26150" v0="4124" v1="4126" v2="5345" v3="6094" />
+ <tetrahedron index="26151" v0="4674" v1="5052" v2="5651" v3="6274" />
+ <tetrahedron index="26152" v0="5302" v1="5387" v2="5638" v3="6037" />
+ <tetrahedron index="26153" v0="4748" v1="5269" v2="6539" v3="6653" />
+ <tetrahedron index="26154" v0="4043" v1="4180" v2="4444" v3="6192" />
+ <tetrahedron index="26155" v0="4750" v1="4756" v2="4834" v3="6477" />
+ <tetrahedron index="26156" v0="3260" v1="3261" v2="5308" v3="5640" />
+ <tetrahedron index="26157" v0="3535" v1="3958" v2="4337" v3="6113" />
+ <tetrahedron index="26158" v0="4553" v1="4603" v2="5568" v3="6241" />
+ <tetrahedron index="26159" v0="5183" v1="5548" v2="6146" v3="6219" />
+ <tetrahedron index="26160" v0="4938" v1="5347" v2="6272" v3="6778" />
+ <tetrahedron index="26161" v0="4176" v1="5029" v2="5560" v3="6332" />
+ <tetrahedron index="26162" v0="3965" v1="4000" v2="4763" v3="5144" />
+ <tetrahedron index="26163" v0="3769" v1="3981" v2="4497" v3="5101" />
+ <tetrahedron index="26164" v0="4847" v1="6569" v2="6611" v3="6909" />
+ <tetrahedron index="26165" v0="4899" v1="5232" v2="5854" v3="6502" />
+ <tetrahedron index="26166" v0="3257" v1="4991" v2="5482" v3="5588" />
+ <tetrahedron index="26167" v0="3318" v1="3319" v2="3320" v3="4898" />
+ <tetrahedron index="26168" v0="3814" v1="5129" v2="5151" v3="5384" />
+ <tetrahedron index="26169" v0="3268" v1="3270" v2="3278" v3="3379" />
+ <tetrahedron index="26170" v0="3359" v1="4098" v2="4099" v3="5670" />
+ <tetrahedron index="26171" v0="4933" v1="5329" v2="5330" v3="5332" />
+ <tetrahedron index="26172" v0="4921" v1="5296" v2="5584" v3="6345" />
+ <tetrahedron index="26173" v0="3932" v1="5141" v2="5332" v3="6027" />
+ <tetrahedron index="26174" v0="4902" v1="5107" v2="5124" v3="5693" />
+ <tetrahedron index="26175" v0="5143" v1="5534" v2="5739" v3="6454" />
+ <tetrahedron index="26176" v0="3952" v1="4169" v2="4170" v3="6149" />
+ <tetrahedron index="26177" v0="3629" v1="5251" v2="5564" v3="6758" />
+ <tetrahedron index="26178" v0="4302" v1="4327" v2="5589" v3="6262" />
+ <tetrahedron index="26179" v0="5108" v1="5695" v2="5696" v3="6366" />
+ <tetrahedron index="26180" v0="3668" v1="4003" v2="4693" v3="5693" />
+ <tetrahedron index="26181" v0="3761" v1="5591" v2="5803" v3="5804" />
+ <tetrahedron index="26182" v0="3471" v1="3472" v2="4682" v3="5093" />
+ <tetrahedron index="26183" v0="5020" v1="6211" v2="6466" v3="6749" />
+ <tetrahedron index="26184" v0="3242" v1="3369" v2="5839" v3="6216" />
+ <tetrahedron index="26185" v0="4074" v1="4555" v2="5231" v3="6363" />
+ <tetrahedron index="26186" v0="5172" v1="5174" v2="5580" v3="5784" />
+ <tetrahedron index="26187" v0="5183" v1="5185" v2="5548" v3="6146" />
+ <tetrahedron index="26188" v0="4342" v1="5007" v2="5116" v3="5654" />
+ <tetrahedron index="26189" v0="3537" v1="4727" v2="4813" v3="5325" />
+ <tetrahedron index="26190" v0="3388" v1="3389" v2="3390" v3="5118" />
+ <tetrahedron index="26191" v0="5023" v1="5547" v2="5880" v3="6096" />
+ <tetrahedron index="26192" v0="5040" v1="5174" v2="5580" v3="5784" />
+ <tetrahedron index="26193" v0="4493" v1="4597" v2="4820" v3="5343" />
+ <tetrahedron index="26194" v0="4035" v1="4764" v2="4781" v3="6476" />
+ <tetrahedron index="26195" v0="4922" v1="5443" v2="6101" v3="6102" />
+ <tetrahedron index="26196" v0="5003" v1="5506" v2="6022" v3="6546" />
+ <tetrahedron index="26197" v0="3483" v1="3974" v2="5310" v3="6261" />
+ <tetrahedron index="26198" v0="3539" v1="3821" v2="3999" v3="5327" />
+ <tetrahedron index="26199" v0="3458" v1="3636" v2="3824" v3="5180" />
+ <tetrahedron index="26200" v0="3239" v1="3241" v2="4057" v3="5272" />
+ <tetrahedron index="26201" v0="4931" v1="5321" v2="5322" v3="5796" />
+ <tetrahedron index="26202" v0="5557" v1="6193" v2="6233" v3="6559" />
+ <tetrahedron index="26203" v0="4216" v1="4662" v2="5235" v3="5862" />
+ <tetrahedron index="26204" v0="3697" v1="3920" v2="5274" v3="6354" />
+ <tetrahedron index="26205" v0="4560" v1="5127" v2="5725" v3="6042" />
+ <tetrahedron index="26206" v0="4890" v1="5208" v2="6402" v3="6837" />
+ <tetrahedron index="26207" v0="3703" v1="4615" v2="4819" v3="5386" />
+ <tetrahedron index="26208" v0="5134" v1="5175" v2="5786" v3="5788" />
+ <tetrahedron index="26209" v0="4970" v1="5433" v2="5435" v3="6591" />
+ <tetrahedron index="26210" v0="4165" v1="4452" v2="5280" v3="5917" />
+ <tetrahedron index="26211" v0="4875" v1="4956" v2="5046" v3="6259" />
+ <tetrahedron index="26212" v0="4148" v1="5236" v2="5543" v3="6482" />
+ <tetrahedron index="26213" v0="3905" v1="5311" v2="5954" v3="6564" />
+ <tetrahedron index="26214" v0="3571" v1="3972" v2="5400" v3="5853" />
+ <tetrahedron index="26215" v0="3441" v1="3442" v2="3443" v3="5091" />
+ <tetrahedron index="26216" v0="4532" v1="4596" v2="4718" v3="5515" />
+ <tetrahedron index="26217" v0="4923" v1="4982" v2="5636" v3="6315" />
+ <tetrahedron index="26218" v0="4980" v1="5460" v2="6123" v3="6128" />
+ <tetrahedron index="26219" v0="4102" v1="5122" v2="5714" v3="5715" />
+ <tetrahedron index="26220" v0="4081" v1="4162" v2="5317" v3="5961" />
+ <tetrahedron index="26221" v0="4881" v1="5591" v2="5804" v3="6455" />
+ <tetrahedron index="26222" v0="5189" v1="5807" v2="5874" v3="6459" />
+ <tetrahedron index="26223" v0="5013" v1="5526" v2="5668" v3="6198" />
+ <tetrahedron index="26224" v0="3561" v1="3680" v2="3681" v3="5358" />
+ <tetrahedron index="26225" v0="5204" v1="5821" v2="5957" v3="6873" />
+ <tetrahedron index="26226" v0="3892" v1="5015" v2="6158" v3="6741" />
+ <tetrahedron index="26227" v0="4909" v1="5022" v2="5257" v3="5704" />
+ <tetrahedron index="26228" v0="3337" v1="4509" v2="5334" v3="6349" />
+ <tetrahedron index="26229" v0="4321" v1="4504" v2="5538" v3="6621" />
+ <tetrahedron index="26230" v0="3871" v1="4184" v2="5639" v3="6811" />
+ <tetrahedron index="26231" v0="3546" v1="5418" v2="5419" v3="5544" />
+ <tetrahedron index="26232" v0="3323" v1="3739" v2="3894" v3="5580" />
+ <tetrahedron index="26233" v0="4276" v1="5220" v2="5756" v3="6217" />
+ <tetrahedron index="26234" v0="3377" v1="3529" v2="3765" v3="5441" />
+ <tetrahedron index="26235" v0="3612" v1="3805" v2="5709" v3="6251" />
+ <tetrahedron index="26236" v0="5136" v1="5330" v2="5734" v3="5976" />
+ <tetrahedron index="26237" v0="3814" v1="3870" v2="3895" v3="5151" />
+ <tetrahedron index="26238" v0="3946" v1="4611" v2="4715" v3="5722" />
+ <tetrahedron index="26239" v0="4893" v1="5216" v2="5837" v3="6484" />
+ <tetrahedron index="26240" v0="3642" v1="3955" v2="4416" v3="5238" />
+ <tetrahedron index="26241" v0="3615" v1="5114" v2="5208" v3="5209" />
+ <tetrahedron index="26242" v0="4993" v1="5487" v2="6095" v3="6517" />
+ <tetrahedron index="26243" v0="4622" v1="5010" v2="5523" v3="5944" />
+ <tetrahedron index="26244" v0="3408" v1="3409" v2="3410" v3="5774" />
+ <tetrahedron index="26245" v0="6193" v1="6231" v2="6233" v3="6312" />
+ <tetrahedron index="26246" v0="3391" v1="4356" v2="5120" v3="6985" />
+ <tetrahedron index="26247" v0="3779" v1="3783" v2="5985" v3="5987" />
+ <tetrahedron index="26248" v0="3953" v1="5141" v2="5376" v3="6027" />
+ <tetrahedron index="26249" v0="4044" v1="4045" v2="4200" v3="5555" />
+ <tetrahedron index="26250" v0="5109" v1="5211" v2="5697" v3="6369" />
+ <tetrahedron index="26251" v0="4339" v1="4610" v2="4836" v3="6175" />
+ <tetrahedron index="26252" v0="3851" v1="4519" v2="4553" v3="5259" />
+ <tetrahedron index="26253" v0="3695" v1="3828" v2="5271" v3="5273" />
+ <tetrahedron index="26254" v0="4970" v1="5434" v2="6091" v3="6665" />
+ <tetrahedron index="26255" v0="4583" v1="5071" v2="5646" v3="5647" />
+ <tetrahedron index="26256" v0="4964" v1="5444" v2="6118" v3="6129" />
+ <tetrahedron index="26257" v0="3948" v1="4040" v2="6282" v3="7001" />
+ <tetrahedron index="26258" v0="4249" v1="4305" v2="4353" v3="5508" />
+ <tetrahedron index="26259" v0="5286" v1="5805" v2="5925" v3="6457" />
+ <tetrahedron index="26260" v0="3273" v1="3289" v2="3378" v3="5735" />
+ <tetrahedron index="26261" v0="5748" v1="6408" v2="6409" v3="6987" />
+ <tetrahedron index="26262" v0="4957" v1="5398" v2="6058" v3="6572" />
+ <tetrahedron index="26263" v0="3284" v1="3384" v2="5382" v3="6035" />
+ <tetrahedron index="26264" v0="4559" v1="4772" v2="5163" v3="5778" />
+ <tetrahedron index="26265" v0="4969" v1="5431" v2="5432" v3="6089" />
+ <tetrahedron index="26266" v0="5184" v1="5499" v2="6160" v3="6164" />
+ <tetrahedron index="26267" v0="4089" v1="4469" v2="5426" v3="5429" />
+ <tetrahedron index="26268" v0="3796" v1="4484" v2="5893" v3="6215" />
+ <tetrahedron index="26269" v0="4725" v1="4747" v2="4829" v3="6768" />
+ <tetrahedron index="26270" v0="5030" v1="5214" v2="5563" v3="5622" />
+ <tetrahedron index="26271" v0="4831" v1="5711" v2="6330" v3="6818" />
+ <tetrahedron index="26272" v0="5123" v1="5198" v2="5719" v3="6388" />
+ <tetrahedron index="26273" v0="5027" v1="5557" v2="5558" v3="6559" />
+ <tetrahedron index="26274" v0="4334" v1="4395" v2="5292" v3="5930" />
+ <tetrahedron index="26275" v0="4949" v1="5015" v2="5378" v3="5529" />
+ <tetrahedron index="26276" v0="3709" v1="4230" v2="5182" v3="5715" />
+ <tetrahedron index="26277" v0="3643" v1="4068" v2="5291" v3="5293" />
+ <tetrahedron index="26278" v0="5215" v1="5217" v2="6214" v3="6481" />
+ <tetrahedron index="26279" v0="4331" v1="4344" v2="5789" v3="6086" />
+ <tetrahedron index="26280" v0="3300" v1="4148" v2="5543" v3="6482" />
+ <tetrahedron index="26281" v0="4617" v1="5354" v2="5356" v3="5779" />
+ <tetrahedron index="26282" v0="4994" v1="5752" v2="6414" v3="6468" />
+ <tetrahedron index="26283" v0="5285" v1="5515" v2="6179" v3="6413" />
+ <tetrahedron index="26284" v0="3879" v1="5251" v2="5252" v3="5886" />
+ <tetrahedron index="26285" v0="4479" v1="4480" v2="5154" v3="5757" />
+ <tetrahedron index="26286" v0="3850" v1="3852" v2="3998" v3="6529" />
+ <tetrahedron index="26287" v0="4914" v1="5271" v2="5273" v3="5908" />
+ <tetrahedron index="26288" v0="5039" v1="5322" v2="5967" v3="6196" />
+ <tetrahedron index="26289" v0="4139" v1="4406" v2="4689" v3="6207" />
+ <tetrahedron index="26290" v0="4941" v1="5634" v2="6008" v3="6314" />
+ <tetrahedron index="26291" v0="4401" v1="4402" v2="4566" v3="5136" />
+ <tetrahedron index="26292" v0="4955" v1="5395" v2="6154" v3="6740" />
+ <tetrahedron index="26293" v0="4551" v1="6033" v2="6552" v3="6580" />
+ <tetrahedron index="26294" v0="5044" v1="5584" v2="5934" v3="5972" />
+ <tetrahedron index="26295" v0="5055" v1="5219" v2="5834" v3="5838" />
+ <tetrahedron index="26296" v0="4036" v1="4037" v2="4038" v3="5123" />
+ <tetrahedron index="26297" v0="4985" v1="5702" v2="5772" v3="6436" />
+ <tetrahedron index="26298" v0="4694" v1="5153" v2="5756" v3="6420" />
+ <tetrahedron index="26299" v0="3593" v1="3595" v2="3740" v3="6132" />
+ <tetrahedron index="26300" v0="4939" v1="5353" v2="6002" v3="6848" />
+ <tetrahedron index="26301" v0="3341" v1="3342" v2="3343" v3="5160" />
+ <tetrahedron index="26302" v0="4942" v1="5682" v2="5912" v3="6354" />
+ <tetrahedron index="26303" v0="4532" v1="4718" v2="5515" v3="5516" />
+ <tetrahedron index="26304" v0="4844" v1="5265" v2="5352" v3="6000" />
+ <tetrahedron index="26305" v0="3897" v1="4602" v2="5210" v3="6364" />
+ <tetrahedron index="26306" v0="3383" v1="4951" v2="5382" v3="5726" />
+ <tetrahedron index="26307" v0="4111" v1="4244" v2="5379" v3="6031" />
+ <tetrahedron index="26308" v0="3756" v1="3862" v2="5130" v3="5730" />
+ <tetrahedron index="26309" v0="3334" v1="4265" v2="4627" v3="6776" />
+ <tetrahedron index="26310" v0="4244" v1="4249" v2="4353" v3="6031" />
+ <tetrahedron index="26311" v0="3260" v1="3261" v2="3269" v3="3802" />
+ <tetrahedron index="26312" v0="5152" v1="5362" v2="6012" v3="6669" />
+ <tetrahedron index="26313" v0="4266" v1="4486" v2="4821" v3="5989" />
+ <tetrahedron index="26314" v0="4923" v1="5638" v2="5744" v3="5938" />
+ <tetrahedron index="26315" v0="4397" v1="5237" v2="5860" v3="5861" />
+ <tetrahedron index="26316" v0="5024" v1="5548" v2="5967" v3="6573" />
+ <tetrahedron index="26317" v0="4433" v1="4661" v2="4808" v3="5858" />
+ <tetrahedron index="26318" v0="3487" v1="5422" v2="6617" v3="6936" />
+ <tetrahedron index="26319" v0="4692" v1="4696" v2="4841" v3="5099" />
+ <tetrahedron index="26320" v0="5740" v1="5741" v2="5758" v3="6404" />
+ <tetrahedron index="26321" v0="3459" v1="4040" v2="5607" v3="6888" />
+ <tetrahedron index="26322" v0="4966" v1="5745" v2="5746" v3="6617" />
+ <tetrahedron index="26323" v0="3774" v1="3836" v2="4407" v3="5282" />
+ <tetrahedron index="26324" v0="4679" v1="4912" v2="5041" v3="5267" />
+ <tetrahedron index="26325" v0="5465" v1="6291" v2="6536" v3="6537" />
+ <tetrahedron index="26326" v0="4915" v1="5034" v2="5276" v3="5627" />
+ <tetrahedron index="26327" v0="3691" v1="4048" v2="4049" v3="5802" />
+ <tetrahedron index="26328" v0="5349" v1="5997" v2="6597" v3="6879" />
+ <tetrahedron index="26329" v0="4899" v1="5104" v2="5675" v3="6828" />
+ <tetrahedron index="26330" v0="3278" v1="3281" v2="3379" v3="5480" />
+ <tetrahedron index="26331" v0="5422" v1="5423" v2="6082" v3="6658" />
+ <tetrahedron index="26332" v0="5430" v1="6087" v2="6254" v3="6663" />
+ <tetrahedron index="26333" v0="6051" v1="6225" v2="6636" v3="6751" />
+ <tetrahedron index="26334" v0="3239" v1="3240" v2="5324" v3="5975" />
+ <tetrahedron index="26335" v0="3718" v1="3719" v2="5203" v3="5691" />
+ <tetrahedron index="26336" v0="4221" v1="4635" v2="4751" v3="5234" />
+ <tetrahedron index="26337" v0="5363" v1="6276" v2="6780" v3="6920" />
+ <tetrahedron index="26338" v0="5704" v1="5890" v2="6113" v3="6684" />
+ <tetrahedron index="26339" v0="4920" v1="5290" v2="5292" v3="5930" />
+ <tetrahedron index="26340" v0="4872" v1="5165" v2="6326" v3="6394" />
+ <tetrahedron index="26341" v0="3324" v1="3325" v2="3817" v3="5787" />
+ <tetrahedron index="26342" v0="3327" v1="3328" v2="3749" v3="6087" />
+ <tetrahedron index="26343" v0="3309" v1="5291" v2="5294" v3="5933" />
+ <tetrahedron index="26344" v0="3852" v1="5374" v2="6529" v3="6532" />
+ <tetrahedron index="26345" v0="3597" v1="3598" v2="3831" v3="5659" />
+ <tetrahedron index="26346" v0="4008" v1="4009" v2="4131" v3="5501" />
+ <tetrahedron index="26347" v0="4216" v1="5235" v2="5862" v3="6504" />
+ <tetrahedron index="26348" v0="4385" v1="4655" v2="5946" v3="5948" />
+ <tetrahedron index="26349" v0="5704" v1="6375" v2="6528" v3="6684" />
+ <tetrahedron index="26350" v0="3628" v1="5931" v2="6340" v3="6546" />
+ <tetrahedron index="26351" v0="5128" v1="5407" v2="6066" v3="6144" />
+ <tetrahedron index="26352" v0="3827" v1="4187" v2="5450" v3="6110" />
+ <tetrahedron index="26353" v0="3982" v1="4270" v2="4407" v3="6025" />
+ <tetrahedron index="26354" v0="3831" v1="4145" v2="4802" v3="5112" />
+ <tetrahedron index="26355" v0="4172" v1="4173" v2="4369" v3="5650" />
+ <tetrahedron index="26356" v0="3309" v1="3311" v2="4161" v3="5291" />
+ <tetrahedron index="26357" v0="4107" v1="5769" v2="6378" v3="6380" />
+ <tetrahedron index="26358" v0="4009" v1="5799" v2="5804" v3="6455" />
+ <tetrahedron index="26359" v0="4771" v1="5189" v2="5807" v3="6459" />
+ <tetrahedron index="26360" v0="4307" v1="4431" v2="5434" v3="6665" />
+ <tetrahedron index="26361" v0="3984" v1="3985" v2="4019" v3="5851" />
+ <tetrahedron index="26362" v0="3316" v1="4259" v2="5559" v3="6507" />
+ <tetrahedron index="26363" v0="3423" v1="5173" v2="5785" v3="5885" />
+ <tetrahedron index="26364" v0="4925" v1="5038" v2="5069" v3="5883" />
+ <tetrahedron index="26365" v0="3655" v1="5159" v2="5531" v3="6433" />
+ <tetrahedron index="26366" v0="5616" v1="5783" v2="6106" v3="6443" />
+ <tetrahedron index="26367" v0="3639" v1="3730" v2="4828" v3="5824" />
+ <tetrahedron index="26368" v0="4165" v1="4452" v2="4453" v3="5280" />
+ <tetrahedron index="26369" v0="5006" v1="6177" v2="6522" v3="6731" />
+ <tetrahedron index="26370" v0="5149" v1="5749" v2="5751" v3="6871" />
+ <tetrahedron index="26371" v0="4493" v1="4508" v2="5342" v3="5988" />
+ <tetrahedron index="26372" v0="4693" v1="5243" v2="5693" v3="5915" />
+ <tetrahedron index="26373" v0="4390" v1="4420" v2="5522" v3="6195" />
+ <tetrahedron index="26374" v0="4013" v1="4213" v2="5229" v3="5719" />
+ <tetrahedron index="26375" v0="5541" v1="6212" v2="6213" v3="6748" />
+ <tetrahedron index="26376" v0="4177" v1="4286" v2="5029" v3="6235" />
+ <tetrahedron index="26377" v0="4882" v1="5805" v2="6456" v3="6458" />
+ <tetrahedron index="26378" v0="3913" v1="4754" v2="5115" v3="5712" />
+ <tetrahedron index="26379" v0="4898" v1="5058" v2="5633" v3="5657" />
+ <tetrahedron index="26380" v0="5155" v1="6535" v2="6560" v3="6897" />
+ <tetrahedron index="26381" v0="4893" v1="5217" v2="5836" v3="6214" />
+ <tetrahedron index="26382" v0="4687" v1="5665" v2="5824" v3="6361" />
+ <tetrahedron index="26383" v0="5013" v1="5593" v2="6197" v3="6439" />
+ <tetrahedron index="26384" v0="3902" v1="4219" v2="4220" v3="5638" />
+ <tetrahedron index="26385" v0="4126" v1="4811" v2="6189" v3="6736" />
+ <tetrahedron index="26386" v0="5063" v1="5270" v2="5906" v3="6539" />
+ <tetrahedron index="26387" v0="6495" v1="6793" v2="6893" v3="6999" />
+ <tetrahedron index="26388" v0="4011" v1="4012" v2="4018" v3="6339" />
+ <tetrahedron index="26389" v0="3494" v1="3561" v2="3562" v3="6010" />
+ <tetrahedron index="26390" v0="5024" v1="5577" v2="5967" v3="6573" />
+ <tetrahedron index="26391" v0="5873" v1="6513" v2="6787" v3="7001" />
+ <tetrahedron index="26392" v0="4869" v1="5707" v2="5772" v3="6436" />
+ <tetrahedron index="26393" v0="3607" v1="4051" v2="4052" v3="5217" />
+ <tetrahedron index="26394" v0="6156" v1="6279" v2="6752" v3="6843" />
+ <tetrahedron index="26395" v0="5166" v1="6045" v2="6630" v3="6633" />
+ <tetrahedron index="26396" v0="5575" v1="6767" v2="6768" v3="6904" />
+ <tetrahedron index="26397" v0="3507" v1="3508" v2="5492" v3="6710" />
+ <tetrahedron index="26398" v0="3804" v1="3805" v2="4386" v3="5968" />
+ <tetrahedron index="26399" v0="3645" v1="4674" v2="4786" v3="5075" />
+ <tetrahedron index="26400" v0="4251" v1="4264" v2="4281" v3="5481" />
+ <tetrahedron index="26401" v0="4094" v1="4545" v2="5743" v3="6406" />
+ <tetrahedron index="26402" v0="5624" v1="6300" v2="6682" v3="6798" />
+ <tetrahedron index="26403" v0="4956" v1="5404" v2="5405" v3="6064" />
+ <tetrahedron index="26404" v0="5060" v1="5617" v2="6293" v3="6790" />
+ <tetrahedron index="26405" v0="5139" v1="5703" v2="5736" v3="6399" />
+ <tetrahedron index="26406" v0="3544" v1="4577" v2="4628" v3="5452" />
+ <tetrahedron index="26407" v0="4470" v1="4471" v2="5812" v3="6968" />
+ <tetrahedron index="26408" v0="3442" v1="3500" v2="5674" v3="5819" />
+ <tetrahedron index="26409" v0="5144" v1="5740" v2="6403" v3="6404" />
+ <tetrahedron index="26410" v0="3635" v1="3971" v2="4457" v3="5181" />
+ <tetrahedron index="26411" v0="4924" v1="6554" v2="6558" v3="6896" />
+ <tetrahedron index="26412" v0="5334" v1="5979" v2="6348" v3="6349" />
+ <tetrahedron index="26413" v0="3482" v1="3750" v2="4687" v3="5399" />
+ <tetrahedron index="26414" v0="4585" v1="5392" v2="5393" v3="5394" />
+ <tetrahedron index="26415" v0="3539" v1="3821" v2="5327" v3="5972" />
+ <tetrahedron index="26416" v0="5110" v1="5699" v2="5825" v3="6370" />
+ <tetrahedron index="26417" v0="5066" v1="5082" v2="5657" v3="5673" />
+ <tetrahedron index="26418" v0="3877" v1="4767" v2="5716" v3="5819" />
+ <tetrahedron index="26419" v0="4904" v1="5614" v2="5876" v3="6289" />
+ <tetrahedron index="26420" v0="4893" v1="5092" v2="5218" v3="5837" />
+ <tetrahedron index="26421" v0="4131" v1="4293" v2="5000" v3="5500" />
+ <tetrahedron index="26422" v0="5025" v1="5551" v2="5998" v3="6954" />
+ <tetrahedron index="26423" v0="3814" v1="3870" v2="5129" v3="5151" />
+ <tetrahedron index="26424" v0="3492" v1="4119" v2="4794" v3="5260" />
+ <tetrahedron index="26425" v0="3341" v1="3342" v2="3717" v3="6701" />
+ <tetrahedron index="26426" v0="4296" v1="5412" v2="5413" v3="6130" />
+ <tetrahedron index="26427" v0="4144" v1="4362" v2="4759" v3="4774" />
+ <tetrahedron index="26428" v0="4203" v1="4204" v2="4322" v3="5430" />
+ <tetrahedron index="26429" v0="3266" v1="4956" v2="4991" v3="5587" />
+ <tetrahedron index="26430" v0="4280" v1="4288" v2="5703" v3="5736" />
+ <tetrahedron index="26431" v0="4998" v1="5251" v2="5619" v3="5885" />
+ <tetrahedron index="26432" v0="4267" v1="4302" v2="4493" v3="5342" />
+ <tetrahedron index="26433" v0="4523" v1="4597" v2="5344" v3="5924" />
+ <tetrahedron index="26434" v0="5764" v1="6308" v2="6727" v3="6806" />
+ <tetrahedron index="26435" v0="3380" v1="4508" v2="4598" v3="5482" />
+ <tetrahedron index="26436" v0="4614" v1="5477" v2="6653" v3="6867" />
+ <tetrahedron index="26437" v0="3446" v1="4242" v2="5364" v3="6015" />
+ <tetrahedron index="26438" v0="4297" v1="4351" v2="4359" v3="5701" />
+ <tetrahedron index="26439" v0="3753" v1="3754" v2="5289" v3="5927" />
+ <tetrahedron index="26440" v0="5926" v1="6567" v2="6579" v3="6905" />
+ <tetrahedron index="26441" v0="4953" v1="5809" v2="6461" v3="6464" />
+ <tetrahedron index="26442" v0="3546" v1="3584" v2="5257" v3="5418" />
+ <tetrahedron index="26443" v0="4008" v1="4412" v2="6455" v3="6866" />
+ <tetrahedron index="26444" v0="4586" v1="5178" v2="5425" v3="5786" />
+ <tetrahedron index="26445" v0="3959" v1="5164" v2="6133" v3="6326" />
+ <tetrahedron index="26446" v0="6075" v1="6124" v2="6513" v3="6787" />
+ <tetrahedron index="26447" v0="5761" v1="6425" v2="6427" v3="6819" />
+ <tetrahedron index="26448" v0="3437" v1="3606" v2="5141" v3="5328" />
+ <tetrahedron index="26449" v0="4109" v1="4110" v2="4264" v3="6146" />
+ <tetrahedron index="26450" v0="5437" v1="6099" v2="6217" v3="6421" />
+ <tetrahedron index="26451" v0="4026" v1="4027" v2="4028" v3="4157" />
+ <tetrahedron index="26452" v0="4969" v1="5048" v2="5501" v3="6352" />
+ <tetrahedron index="26453" v0="3919" v1="4807" v2="5283" v3="6886" />
+ <tetrahedron index="26454" v0="4456" v1="5889" v2="6078" v3="6822" />
+ <tetrahedron index="26455" v0="4896" v1="5224" v2="5848" v3="6367" />
+ <tetrahedron index="26456" v0="4896" v1="5054" v2="5848" v3="6367" />
+ <tetrahedron index="26457" v0="4430" v1="4504" v2="5435" v3="6736" />
+ <tetrahedron index="26458" v0="5589" v1="6053" v2="6637" v3="6703" />
+ <tetrahedron index="26459" v0="4854" v1="5958" v2="6568" v3="6900" />
+ <tetrahedron index="26460" v0="4418" v1="4426" v2="4427" v3="6452" />
+ <tetrahedron index="26461" v0="5139" v1="5456" v2="6399" v3="6437" />
+ <tetrahedron index="26462" v0="4996" v1="6153" v2="6155" v3="6710" />
+ <tetrahedron index="26463" v0="5205" v1="5665" v2="5824" v3="6829" />
+ <tetrahedron index="26464" v0="3533" v1="5114" v2="5242" v3="6801" />
+ <tetrahedron index="26465" v0="3536" v1="5113" v2="5890" v3="6113" />
+ <tetrahedron index="26466" v0="3761" v1="3762" v2="3957" v3="6377" />
+ <tetrahedron index="26467" v0="4910" v1="5259" v2="5263" v3="5894" />
+ <tetrahedron index="26468" v0="3948" v1="4040" v2="4067" v3="7001" />
+ <tetrahedron index="26469" v0="5274" v1="5912" v2="5913" v3="6354" />
+ <tetrahedron index="26470" v0="4574" v1="5109" v2="5211" v3="5830" />
+ <tetrahedron index="26471" v0="4936" v1="5984" v2="6577" v3="6629" />
+ <tetrahedron index="26472" v0="4533" v1="4534" v2="5570" v3="6244" />
+ <tetrahedron index="26473" v0="4101" v1="4170" v2="5106" v3="5486" />
+ <tetrahedron index="26474" v0="3293" v1="4047" v2="4069" v3="5077" />
+ <tetrahedron index="26475" v0="4218" v1="4304" v2="5440" v3="6417" />
+ <tetrahedron index="26476" v0="5507" v1="6687" v2="6721" v3="6962" />
+ <tetrahedron index="26477" v0="4020" v1="4366" v2="4634" v3="6218" />
+ <tetrahedron index="26478" v0="3281" v1="3282" v2="3386" v3="5128" />
+ <tetrahedron index="26479" v0="4910" v1="5264" v2="5895" v3="5899" />
+ <tetrahedron index="26480" v0="4874" v1="6157" v2="6686" v3="6713" />
+ <tetrahedron index="26481" v0="3760" v1="3761" v2="4233" v3="5103" />
+ <tetrahedron index="26482" v0="5008" v1="5517" v2="5518" v3="6186" />
+ <tetrahedron index="26483" v0="5002" v1="5358" v2="6010" v3="6607" />
+ <tetrahedron index="26484" v0="3251" v1="4296" v2="4688" v3="5413" />
+ <tetrahedron index="26485" v0="4911" v1="5265" v2="6000" v3="6013" />
+ <tetrahedron index="26486" v0="4865" v1="4925" v2="5249" v3="5883" />
+ <tetrahedron index="26487" v0="3635" v1="5791" v2="6387" v3="6449" />
+ <tetrahedron index="26488" v0="5361" v1="6593" v2="6840" v3="6987" />
+ <tetrahedron index="26489" v0="4455" v1="5020" v2="5539" v3="6211" />
+ <tetrahedron index="26490" v0="3393" v1="3397" v2="4181" v3="5629" />
+ <tetrahedron index="26491" v0="5764" v1="6431" v2="6557" v3="6855" />
+ <tetrahedron index="26492" v0="3501" v1="3504" v2="5982" v3="6576" />
+ <tetrahedron index="26493" v0="4598" v1="5344" v2="5482" v3="5988" />
+ <tetrahedron index="26494" v0="3341" v1="3473" v2="5661" v3="5773" />
+ <tetrahedron index="26495" v0="3551" v1="4464" v2="4819" v3="5385" />
+ <tetrahedron index="26496" v0="3429" v1="3958" v2="5254" v3="6684" />
+ <tetrahedron index="26497" v0="3779" v1="4250" v2="4507" v3="5575" />
+ <tetrahedron index="26498" v0="4010" v1="4047" v2="4048" v3="5802" />
+ <tetrahedron index="26499" v0="4432" v1="5456" v2="5703" v3="6335" />
+ <tetrahedron index="26500" v0="5763" v1="5947" v2="6657" v3="6937" />
+ <tetrahedron index="26501" v0="4092" v1="4093" v2="4153" v3="5486" />
+ <tetrahedron index="26502" v0="4366" v1="4541" v2="4542" v3="6956" />
+ <tetrahedron index="26503" v0="4964" v1="5444" v2="6514" v3="6676" />
+ <tetrahedron index="26504" v0="3853" v1="4706" v2="5381" v3="6763" />
+ <tetrahedron index="26505" v0="4248" v1="4355" v2="4778" v3="5647" />
+ <tetrahedron index="26506" v0="5433" v1="6189" v2="6591" v3="6736" />
+ <tetrahedron index="26507" v0="3362" v1="3730" v2="3731" v3="5955" />
+ <tetrahedron index="26508" v0="4122" v1="4317" v2="4368" v3="5641" />
+ <tetrahedron index="26509" v0="4798" v1="4799" v2="5525" v3="6199" />
+ <tetrahedron index="26510" v0="4286" v1="4739" v2="4803" v3="5561" />
+ <tetrahedron index="26511" v0="6156" v1="6227" v2="6752" v3="6843" />
+ <tetrahedron index="26512" v0="3732" v1="3896" v2="5014" v3="5723" />
+ <tetrahedron index="26513" v0="4477" v1="5092" v2="5218" v3="5837" />
+ <tetrahedron index="26514" v0="4878" v1="4967" v2="5177" v3="5784" />
+ <tetrahedron index="26515" v0="3250" v1="4016" v2="4981" v3="5299" />
+ <tetrahedron index="26516" v0="3929" v1="4231" v2="4397" v3="5861" />
+ <tetrahedron index="26517" v0="3366" v1="3823" v2="5878" v3="6518" />
+ <tetrahedron index="26518" v0="4899" v1="5232" v2="5857" v3="5899" />
+ <tetrahedron index="26519" v0="3423" v1="5172" v2="5173" v3="5785" />
+ <tetrahedron index="26520" v0="4906" v1="5038" v2="5069" v3="5883" />
+ <tetrahedron index="26521" v0="4796" v1="5176" v2="5428" v3="6255" />
+ <tetrahedron index="26522" v0="6055" v1="6596" v2="6864" v3="6913" />
+ <tetrahedron index="26523" v0="4924" v1="5303" v2="5304" v3="5306" />
+ <tetrahedron index="26524" v0="4903" v1="5244" v2="5722" v3="6513" />
+ <tetrahedron index="26525" v0="3287" v1="3485" v2="4491" v3="6583" />
+ <tetrahedron index="26526" v0="5460" v1="6124" v2="6127" v3="6128" />
+ <tetrahedron index="26527" v0="4010" v1="4048" v2="5802" v3="5804" />
+ <tetrahedron index="26528" v0="4193" v1="4688" v2="5413" v3="5626" />
+ <tetrahedron index="26529" v0="5627" v1="5628" v2="5629" v3="6306" />
+ <tetrahedron index="26530" v0="5411" v1="5462" v2="6127" v3="6180" />
+ <tetrahedron index="26531" v0="3397" v1="3398" v2="5064" v3="5628" />
+ <tetrahedron index="26532" v0="4694" v1="4732" v2="4805" v3="5755" />
+ <tetrahedron index="26533" v0="3399" v1="3403" v2="3983" v3="5827" />
+ <tetrahedron index="26534" v0="3821" v1="3822" v2="5044" v3="5584" />
+ <tetrahedron index="26535" v0="3300" v1="3954" v2="5215" v3="5543" />
+ <tetrahedron index="26536" v0="3906" v1="5315" v2="5435" v3="5960" />
+ <tetrahedron index="26537" v0="3364" v1="3445" v2="3696" v3="5273" />
+ <tetrahedron index="26538" v0="5907" v1="6333" v2="6541" v3="6731" />
+ <tetrahedron index="26539" v0="4899" v1="5234" v2="5675" v3="6347" />
+ <tetrahedron index="26540" v0="4346" v1="4503" v2="5066" v3="5658" />
+ <tetrahedron index="26541" v0="3921" v1="5028" v2="5070" v3="5642" />
+ <tetrahedron index="26542" v0="5414" v1="6073" v2="6303" v3="6304" />
+ <tetrahedron index="26543" v0="4920" v1="5043" v2="5290" v3="5643" />
+ <tetrahedron index="26544" v0="4853" v1="4906" v2="5011" v3="5402" />
+ <tetrahedron index="26545" v0="4921" v1="5670" v2="5936" v3="6342" />
+ <tetrahedron index="26546" v0="3684" v1="3763" v2="5746" v3="6617" />
+ <tetrahedron index="26547" v0="4242" v1="4712" v2="5477" v3="5846" />
+ <tetrahedron index="26548" v0="3572" v1="3863" v2="5262" v3="5372" />
+ <tetrahedron index="26549" v0="4269" v1="5088" v2="5669" v3="5798" />
+ <tetrahedron index="26550" v0="4996" v1="5494" v2="6714" v3="6715" />
+ <tetrahedron index="26551" v0="4474" v1="5525" v2="6197" v3="6199" />
+ <tetrahedron index="26552" v0="3318" v1="4031" v2="4104" v3="4795" />
+ <tetrahedron index="26553" v0="4900" v1="4988" v2="5236" v3="5835" />
+ <tetrahedron index="26554" v0="4226" v1="4482" v2="5074" v3="5898" />
+ <tetrahedron index="26555" v0="5349" v1="6170" v2="6722" v3="6963" />
+ <tetrahedron index="26556" v0="3930" v1="4578" v2="5601" v3="5928" />
+ <tetrahedron index="26557" v0="3245" v1="3249" v2="5622" v3="6296" />
+ <tetrahedron index="26558" v0="5032" v1="5071" v2="5644" v3="5887" />
+ <tetrahedron index="26559" v0="3972" v1="5231" v2="5400" v3="5853" />
+ <tetrahedron index="26560" v0="3321" v1="3322" v2="4669" v3="5061" />
+ <tetrahedron index="26561" v0="4188" v1="4192" v2="4830" v3="5906" />
+ <tetrahedron index="26562" v0="4492" v1="4997" v2="5613" v3="6515" />
+ <tetrahedron index="26563" v0="3502" v1="4982" v2="5151" v3="5384" />
+ <tetrahedron index="26564" v0="3777" v1="4776" v2="5604" v3="6284" />
+ <tetrahedron index="26565" v0="3771" v1="4439" v2="4473" v3="6136" />
+ <tetrahedron index="26566" v0="4966" v1="5745" v2="5746" v3="6083" />
+ <tetrahedron index="26567" v0="5627" v1="5628" v2="6305" v3="6306" />
+ <tetrahedron index="26568" v0="3802" v1="4678" v2="5267" v3="5308" />
+ <tetrahedron index="26569" v0="5080" v1="5271" v2="5907" v3="6731" />
+ <tetrahedron index="26570" v0="4211" v1="4325" v2="4706" v3="5304" />
+ <tetrahedron index="26571" v0="3924" v1="5179" v2="5790" v3="5793" />
+ <tetrahedron index="26572" v0="4901" v1="5239" v2="5867" v3="5868" />
+ <tetrahedron index="26573" v0="4038" v1="4163" v2="4768" v3="6017" />
+ <tetrahedron index="26574" v0="5168" v1="5997" v2="6287" v3="6789" />
+ <tetrahedron index="26575" v0="5062" v1="5622" v2="5832" v3="6298" />
+ <tetrahedron index="26576" v0="3660" v1="4147" v2="4537" v3="5526" />
+ <tetrahedron index="26577" v0="4881" v1="5000" v2="5186" v3="5800" />
+ <tetrahedron index="26578" v0="4904" v1="6126" v2="6516" v3="6791" />
+ <tetrahedron index="26579" v0="5261" v1="5264" v2="5899" v3="6502" />
+ <tetrahedron index="26580" v0="4010" v1="4047" v2="4592" v3="5802" />
+ <tetrahedron index="26581" v0="3442" v1="3877" v2="5199" v3="5819" />
+ <tetrahedron index="26582" v0="5805" v1="6079" v2="6456" v3="7013" />
+ <tetrahedron index="26583" v0="4216" v1="4414" v2="4433" v3="5859" />
+ <tetrahedron index="26584" v0="4377" v1="4379" v2="4824" v3="6359" />
+ <tetrahedron index="26585" v0="4946" v1="4952" v2="5369" v3="5386" />
+ <tetrahedron index="26586" v0="4890" v1="5698" v2="5700" v3="6370" />
+ <tetrahedron index="26587" v0="5297" v1="5671" v2="5936" v3="6344" />
+ <tetrahedron index="26588" v0="5112" v1="5576" v2="6251" v3="6771" />
+ <tetrahedron index="26589" v0="3381" v1="3507" v2="3713" v3="5222" />
+ <tetrahedron index="26590" v0="4626" v1="4720" v2="5718" v3="6387" />
+ <tetrahedron index="26591" v0="5255" v1="5567" v2="6215" v3="6360" />
+ <tetrahedron index="26592" v0="5087" v1="5929" v2="6340" v3="6546" />
+ <tetrahedron index="26593" v0="4862" v1="5943" v2="6308" v3="6311" />
+ <tetrahedron index="26594" v0="4049" v1="5077" v2="5802" v3="6206" />
+ <tetrahedron index="26595" v0="3474" v1="4206" v2="4235" v3="5688" />
+ <tetrahedron index="26596" v0="5877" v1="6127" v2="6180" v3="6516" />
+ <tetrahedron index="26597" v0="3443" v1="3477" v2="3478" v3="5791" />
+ <tetrahedron index="26598" v0="3282" v1="3284" v2="5133" v3="5382" />
+ <tetrahedron index="26599" v0="3277" v1="3285" v2="5405" v3="5618" />
+ <tetrahedron index="26600" v0="5602" v1="6275" v2="6277" v3="6655" />
+ <tetrahedron index="26601" v0="6612" v1="6941" v2="6947" v3="7026" />
+ <tetrahedron index="26602" v0="3264" v1="3553" v2="3700" v3="5030" />
+ <tetrahedron index="26603" v0="3376" v1="3378" v2="5202" v3="5820" />
+ <tetrahedron index="26604" v0="3767" v1="4602" v2="5210" v3="6364" />
+ <tetrahedron index="26605" v0="5488" v1="5902" v2="6150" v3="6299" />
+ <tetrahedron index="26606" v0="4914" v1="5272" v2="5910" v3="6818" />
+ <tetrahedron index="26607" v0="3693" v1="5364" v2="5846" v3="6494" />
+ <tetrahedron index="26608" v0="6428" v1="6761" v2="6937" v3="6973" />
+ <tetrahedron index="26609" v0="3874" v1="3957" v2="4183" v3="5706" />
+ <tetrahedron index="26610" v0="4900" v1="4988" v2="5235" v3="5237" />
+ <tetrahedron index="26611" v0="4966" v1="5745" v2="6080" v3="6656" />
+ <tetrahedron index="26612" v0="5016" v1="6432" v2="6433" v3="6857" />
+ <tetrahedron index="26613" v0="4629" v1="4631" v2="4694" v3="6420" />
+ <tetrahedron index="26614" v0="3919" v1="4452" v2="5280" v3="5281" />
+ <tetrahedron index="26615" v0="3448" v1="3517" v2="3556" v3="5017" />
+ <tetrahedron index="26616" v0="3330" v1="3331" v2="3336" v3="5355" />
+ <tetrahedron index="26617" v0="4034" v1="4043" v2="4652" v3="6471" />
+ <tetrahedron index="26618" v0="5473" v1="5709" v2="6436" v3="6771" />
+ <tetrahedron index="26619" v0="3342" v1="3343" v2="5160" v3="5769" />
+ <tetrahedron index="26620" v0="4303" v1="4404" v2="4721" v3="5491" />
+ <tetrahedron index="26621" v0="4548" v1="4628" v2="5013" v3="5594" />
+ <tetrahedron index="26622" v0="3247" v1="5454" v2="5621" v3="6115" />
+ <tetrahedron index="26623" v0="4391" v1="5177" v2="5178" v3="5425" />
+ <tetrahedron index="26624" v0="3304" v1="4063" v2="4309" v3="5653" />
+ <tetrahedron index="26625" v0="5158" v1="5471" v2="6137" v3="6138" />
+ <tetrahedron index="26626" v0="4958" v1="5666" v2="5690" v3="6339" />
+ <tetrahedron index="26627" v0="4476" v1="5218" v2="5836" v3="6483" />
+ <tetrahedron index="26628" v0="3620" v1="4549" v2="4766" v3="6498" />
+ <tetrahedron index="26629" v0="4712" v1="4737" v2="4816" v3="5477" />
+ <tetrahedron index="26630" v0="5413" v1="6071" v2="6072" v3="6302" />
+ <tetrahedron index="26631" v0="4126" v1="4430" v2="5433" v3="6736" />
+ <tetrahedron index="26632" v0="4073" v1="4098" v2="4168" v3="6824" />
+ <tetrahedron index="26633" v0="3511" v1="3513" v2="5045" v3="5585" />
+ <tetrahedron index="26634" v0="3546" v1="3584" v2="3675" v3="5257" />
+ <tetrahedron index="26635" v0="4910" v1="5261" v2="5264" v3="5897" />
+ <tetrahedron index="26636" v0="6165" v1="6685" v2="6686" v3="6795" />
+ <tetrahedron index="26637" v0="4225" v1="4402" v2="4566" v3="5734" />
+ <tetrahedron index="26638" v0="5166" v1="6045" v2="6626" v3="6633" />
+ <tetrahedron index="26639" v0="3504" v1="5466" v2="5940" v3="5982" />
+ <tetrahedron index="26640" v0="3274" v1="3275" v2="3526" v3="5201" />
+ <tetrahedron index="26641" v0="4488" v1="4489" v2="4490" v3="5907" />
+ <tetrahedron index="26642" v0="3632" v1="4647" v2="5768" v3="6433" />
+ <tetrahedron index="26643" v0="5204" v1="5205" v2="5823" v3="6476" />
+ <tetrahedron index="26644" v0="4932" v1="5326" v2="5974" v3="6381" />
+ <tetrahedron index="26645" v0="5397" v1="6055" v2="6641" v3="6642" />
+ <tetrahedron index="26646" v0="3284" v1="4974" v2="5059" v3="6064" />
+ <tetrahedron index="26647" v0="5935" v1="5973" v2="6574" v3="6575" />
+ <tetrahedron index="26648" v0="4897" v1="5230" v2="5231" v3="5400" />
+ <tetrahedron index="26649" v0="3262" v1="3263" v2="3264" v3="3372" />
+ <tetrahedron index="26650" v0="4856" v1="6052" v2="6638" v3="6976" />
+ <tetrahedron index="26651" v0="6098" v1="6943" v2="6944" v3="7014" />
+ <tetrahedron index="26652" v0="4364" v1="4403" v2="4501" v3="5328" />
+ <tetrahedron index="26653" v0="3679" v1="5033" v2="5667" v3="6023" />
+ <tetrahedron index="26654" v0="4559" v1="4772" v2="4784" v3="5778" />
+ <tetrahedron index="26655" v0="4093" v1="5147" v2="5742" v3="6406" />
+ <tetrahedron index="26656" v0="3512" v1="3513" v2="4364" v3="5585" />
+ <tetrahedron index="26657" v0="4849" v1="6228" v2="6593" v3="6755" />
+ <tetrahedron index="26658" v0="5136" v1="5330" v2="5375" v3="5976" />
+ <tetrahedron index="26659" v0="3370" v1="3371" v2="3549" v3="5094" />
+ <tetrahedron index="26660" v0="6312" v1="6727" v2="6951" v3="6965" />
+ <tetrahedron index="26661" v0="4880" v1="5183" v2="5548" v3="6198" />
+ <tetrahedron index="26662" v0="3423" v1="3879" v2="4734" v3="5173" />
+ <tetrahedron index="26663" v0="4194" v1="4295" v2="4614" v3="6074" />
+ <tetrahedron index="26664" v0="4888" v1="5201" v2="5966" v3="6572" />
+ <tetrahedron index="26665" v0="3644" v1="4674" v2="4738" v3="5052" />
+ <tetrahedron index="26666" v0="3317" v1="3560" v2="3686" v3="5642" />
+ <tetrahedron index="26667" v0="3587" v1="3588" v2="6050" v3="6926" />
+ <tetrahedron index="26668" v0="5060" v1="5618" v2="6294" v3="6705" />
+ <tetrahedron index="26669" v0="5325" v1="5327" v2="5972" v3="5973" />
+ <tetrahedron index="26670" v0="3840" v1="4466" v2="5424" v3="6085" />
+ <tetrahedron index="26671" v0="4907" v1="5251" v2="5252" v3="6758" />
+ <tetrahedron index="26672" v0="5912" v1="5913" v2="6354" v3="6542" />
+ <tetrahedron index="26673" v0="5027" v1="6233" v2="6559" v3="6757" />
+ <tetrahedron index="26674" v0="3473" v1="3634" v2="4207" v3="5773" />
+ <tetrahedron index="26675" v0="4908" v1="5644" v2="5645" v3="6527" />
+ <tetrahedron index="26676" v0="3888" v1="4220" v2="5729" v3="6039" />
+ <tetrahedron index="26677" v0="4367" v1="4802" v2="5576" v3="5577" />
+ <tetrahedron index="26678" v0="5278" v1="5862" v2="5920" v3="5922" />
+ <tetrahedron index="26679" v0="4009" v1="4048" v2="4050" v3="5799" />
+ <tetrahedron index="26680" v0="4922" v1="5443" v2="5740" v3="6101" />
+ <tetrahedron index="26681" v0="4045" v1="5026" v2="5555" v3="6029" />
+ <tetrahedron index="26682" v0="5659" v1="5703" v2="6373" v3="6374" />
+ <tetrahedron index="26683" v0="4174" v1="4769" v2="5263" v3="6530" />
+ <tetrahedron index="26684" v0="3903" v1="3985" v2="5227" v3="5850" />
+ <tetrahedron index="26685" v0="4875" v1="5590" v2="6259" v3="6775" />
+ <tetrahedron index="26686" v0="4600" v1="5366" v2="6017" v3="6386" />
+ <tetrahedron index="26687" v0="5346" v1="6246" v2="6589" v3="6611" />
+ <tetrahedron index="26688" v0="4190" v1="5131" v2="5447" v3="6107" />
+ <tetrahedron index="26689" v0="5100" v1="5684" v2="5701" v3="6368" />
+ <tetrahedron index="26690" v0="5349" v1="5996" v2="6839" v3="6967" />
+ <tetrahedron index="26691" v0="4470" v1="5192" v2="5489" v3="5812" />
+ <tetrahedron index="26692" v0="4872" v1="5597" v2="6326" v3="6327" />
+ <tetrahedron index="26693" v0="4158" v1="4173" v2="4370" v3="5650" />
+ <tetrahedron index="26694" v0="3975" v1="4301" v2="4302" v3="6262" />
+ <tetrahedron index="26695" v0="4945" v1="6382" v2="6384" v3="6833" />
+ <tetrahedron index="26696" v0="4907" v1="5250" v2="5619" v3="5652" />
+ <tetrahedron index="26697" v0="4486" v1="4724" v2="4745" v3="5998" />
+ <tetrahedron index="26698" v0="3347" v1="3348" v2="3675" v3="5891" />
+ <tetrahedron index="26699" v0="3858" v1="5125" v2="5410" v3="6070" />
+ <tetrahedron index="26700" v0="4714" v1="4744" v2="4837" v3="5352" />
+ <tetrahedron index="26701" v0="5349" v1="5997" v2="6287" v3="6597" />
+ <tetrahedron index="26702" v0="3453" v1="3988" v2="4283" v3="5828" />
+ <tetrahedron index="26703" v0="6794" v1="6920" v2="7009" v3="7025" />
+ <tetrahedron index="26704" v0="4262" v1="5456" v2="5662" v3="6335" />
+ <tetrahedron index="26705" v0="4246" v1="4248" v2="6161" v3="6341" />
+ <tetrahedron index="26706" v0="5020" v1="5556" v2="6212" v3="6466" />
+ <tetrahedron index="26707" v0="4884" v1="6469" v2="6844" v3="6989" />
+ <tetrahedron index="26708" v0="3492" v1="4119" v2="5260" v3="6615" />
+ <tetrahedron index="26709" v0="4897" v1="5852" v2="6388" v3="6500" />
+ <tetrahedron index="26710" v0="3735" v1="4256" v2="4311" v3="5696" />
+ <tetrahedron index="26711" v0="4317" v1="5028" v2="5609" v3="6510" />
+ <tetrahedron index="26712" v0="4923" v1="5636" v2="5638" v3="6315" />
+ <tetrahedron index="26713" v0="5756" v1="6217" v2="6416" v3="6421" />
+ <tetrahedron index="26714" v0="4136" v1="4137" v2="4294" v3="5925" />
+ <tetrahedron index="26715" v0="3638" v1="3730" v2="5205" v3="5955" />
+ <tetrahedron index="26716" v0="3399" v1="5827" v2="6306" v3="6803" />
+ <tetrahedron index="26717" v0="6153" v1="6492" v2="6494" v3="6884" />
+ <tetrahedron index="26718" v0="5152" v1="5553" v2="6223" v3="6226" />
+ <tetrahedron index="26719" v0="3342" v1="3343" v2="4107" v3="5769" />
+ <tetrahedron index="26720" v0="4353" v1="4354" v2="4806" v3="6602" />
+ <tetrahedron index="26721" v0="4369" v1="4624" v2="4625" v3="5649" />
+ <tetrahedron index="26722" v0="4907" v1="4998" v2="5251" v3="5619" />
+ <tetrahedron index="26723" v0="5764" v1="6431" v2="6557" v3="6757" />
+ <tetrahedron index="26724" v0="3470" v1="3472" v2="3473" v3="5084" />
+ <tetrahedron index="26725" v0="3325" v1="3793" v2="5785" v3="5787" />
+ <tetrahedron index="26726" v0="3437" v1="4501" v2="5328" v3="5331" />
+ <tetrahedron index="26727" v0="3379" v1="4989" v2="5480" v3="6145" />
+ <tetrahedron index="26728" v0="3616" v1="3967" v2="5449" v3="6507" />
+ <tetrahedron index="26729" v0="4070" v1="4282" v2="5498" v3="6162" />
+ <tetrahedron index="26730" v0="3641" v1="4313" v2="5432" v3="6089" />
+ <tetrahedron index="26731" v0="4932" v1="5326" v2="5973" v3="6381" />
+ <tetrahedron index="26732" v0="5951" v1="6898" v2="6944" v3="7014" />
+ <tetrahedron index="26733" v0="5284" v1="5343" v2="5924" v3="6845" />
+ <tetrahedron index="26734" v0="4863" v1="5268" v2="5902" v3="6097" />
+ <tetrahedron index="26735" v0="5112" v1="5702" v2="6373" v3="6831" />
+ <tetrahedron index="26736" v0="3905" v1="5310" v2="5311" v3="6564" />
+ <tetrahedron index="26737" v0="6645" v1="6703" v2="6864" v3="6931" />
+ <tetrahedron index="26738" v0="5115" v1="5655" v2="5705" v3="5908" />
+ <tetrahedron index="26739" v0="3443" v1="3478" v2="3636" v3="5791" />
+ <tetrahedron index="26740" v0="3588" v1="4116" v2="4117" v3="6051" />
+ <tetrahedron index="26741" v0="4979" v1="5662" v2="5767" v3="6335" />
+ <tetrahedron index="26742" v0="3732" v1="4017" v2="5463" v3="5808" />
+ <tetrahedron index="26743" v0="3608" v1="5380" v2="5571" v3="6763" />
+ <tetrahedron index="26744" v0="3379" v1="3382" v2="5267" v3="6145" />
+ <tetrahedron index="26745" v0="3603" v1="4888" v2="5202" v3="6838" />
+ <tetrahedron index="26746" v0="4892" v1="5620" v2="6236" v3="6298" />
+ <tetrahedron index="26747" v0="4216" v1="5235" v2="5859" v3="6504" />
+ <tetrahedron index="26748" v0="5158" v1="5765" v2="5981" v3="6137" />
+ <tetrahedron index="26749" v0="4192" v1="4830" v2="5906" v3="6304" />
+ <tetrahedron index="26750" v0="3621" v1="5166" v2="6045" v3="6630" />
+ <tetrahedron index="26751" v0="3559" v1="3803" v2="3847" v3="5294" />
+ <tetrahedron index="26752" v0="3677" v1="3678" v2="6068" v3="6651" />
+ <tetrahedron index="26753" v0="3911" v1="4825" v2="4843" v3="5296" />
+ <tetrahedron index="26754" v0="3238" v1="4229" v2="4236" v3="5893" />
+ <tetrahedron index="26755" v0="3394" v1="3395" v2="4318" v3="6143" />
+ <tetrahedron index="26756" v0="3587" v1="3621" v2="4584" v3="6045" />
+ <tetrahedron index="26757" v0="3539" v1="5325" v2="5327" v3="5972" />
+ <tetrahedron index="26758" v0="5100" v1="5697" v2="5699" v3="6368" />
+ <tetrahedron index="26759" v0="3649" v1="5370" v2="5408" v3="6067" />
+ <tetrahedron index="26760" v0="5210" v1="5828" v2="5871" v3="6511" />
+ <tetrahedron index="26761" v0="4925" v1="5038" v2="5069" v3="5640" />
+ <tetrahedron index="26762" v0="3951" v1="4233" v2="5803" v3="6454" />
+ <tetrahedron index="26763" v0="3563" v1="3564" v2="3565" v3="5674" />
+ <tetrahedron index="26764" v0="4029" v1="4826" v2="5247" v3="6889" />
+ <tetrahedron index="26765" v0="5053" v1="6142" v2="6277" v3="6655" />
+ <tetrahedron index="26766" v0="5615" v1="6920" v2="6980" v3="7009" />
+ <tetrahedron index="26767" v0="4636" v1="4797" v2="5260" v3="5896" />
+ <tetrahedron index="26768" v0="3743" v1="3744" v2="5281" v3="6028" />
+ <tetrahedron index="26769" v0="3526" v1="3528" v2="3529" v3="5484" />
+ <tetrahedron index="26770" v0="5416" v1="6075" v2="6124" v3="6693" />
+ <tetrahedron index="26771" v0="3873" v1="3900" v2="4699" v3="5672" />
+ <tetrahedron index="26772" v0="3788" v1="5531" v2="5532" v3="6742" />
+ <tetrahedron index="26773" v0="4916" v1="5279" v2="5281" v3="5921" />
+ <tetrahedron index="26774" v0="3894" v1="5174" v2="5578" v3="5580" />
+ <tetrahedron index="26775" v0="4897" v1="4958" v2="5228" v3="5666" />
+ <tetrahedron index="26776" v0="3637" v1="5086" v2="5205" v3="5665" />
+ <tetrahedron index="26777" v0="3774" v1="3775" v2="3982" v3="5920" />
+ <tetrahedron index="26778" v0="3316" v1="3616" v2="5865" v3="6507" />
+ <tetrahedron index="26779" v0="3339" v1="4439" v2="5471" v3="6350" />
+ <tetrahedron index="26780" v0="4294" v1="5286" v2="5925" v3="6457" />
+ <tetrahedron index="26781" v0="5595" v1="6007" v2="6918" v3="7008" />
+ <tetrahedron index="26782" v0="3410" v1="5161" v2="5641" v3="5774" />
+ <tetrahedron index="26783" v0="3544" v1="4628" v2="5049" v3="5452" />
+ <tetrahedron index="26784" v0="3391" v1="4078" v2="5120" v3="5277" />
+ <tetrahedron index="26785" v0="4479" v1="4925" v2="5757" v3="5949" />
+ <tetrahedron index="26786" v0="5428" v1="5430" v2="6254" v3="6663" />
+ <tetrahedron index="26787" v0="3236" v1="3620" v2="4217" v3="5663" />
+ <tetrahedron index="26788" v0="4313" v1="5431" v2="5432" v3="5500" />
+ <tetrahedron index="26789" v0="3414" v1="3524" v2="5058" v3="6606" />
+ <tetrahedron index="26790" v0="4047" v1="4048" v2="4049" v3="5802" />
+ <tetrahedron index="26791" v0="4934" v1="5335" v2="5765" v3="5979" />
+ <tetrahedron index="26792" v0="4694" v1="5153" v2="5755" v3="6418" />
+ <tetrahedron index="26793" v0="5084" v1="5661" v2="5773" v3="6334" />
+ <tetrahedron index="26794" v0="5080" v1="5655" v2="5908" v3="5910" />
+ <tetrahedron index="26795" v0="3267" v1="3268" v2="4906" v3="4959" />
+ <tetrahedron index="26796" v0="4985" v1="5158" v2="5473" v3="6138" />
+ <tetrahedron index="26797" v0="4475" v1="4751" v2="5675" v3="5856" />
+ <tetrahedron index="26798" v0="5389" v1="5536" v2="6207" v3="6463" />
+ <tetrahedron index="26799" v0="3646" v1="3878" v2="3927" v3="5566" />
+ <tetrahedron index="26800" v0="3440" v1="4256" v2="5224" v3="5848" />
+ <tetrahedron index="26801" v0="4850" v1="6278" v2="6780" v3="6783" />
+ <tetrahedron index="26802" v0="3393" v1="5064" v2="5277" v3="5629" />
+ <tetrahedron index="26803" v0="5221" v1="5841" v2="6488" v3="6675" />
+ <tetrahedron index="26804" v0="6004" v1="6418" v2="6602" v3="6603" />
+ <tetrahedron index="26805" v0="5539" v1="6041" v2="6208" v3="6749" />
+ <tetrahedron index="26806" v0="4367" v1="5039" v2="5576" v3="5577" />
+ <tetrahedron index="26807" v0="4099" v1="5089" v2="5670" v3="6346" />
+ <tetrahedron index="26808" v0="3426" v1="3428" v2="4172" v3="4173" />
+ <tetrahedron index="26809" v0="3622" v1="3624" v2="4662" v3="5237" />
+ <tetrahedron index="26810" v0="3566" v1="3567" v2="4201" v3="5681" />
+ <tetrahedron index="26811" v0="3295" v1="3917" v2="4096" v3="5142" />
+ <tetrahedron index="26812" v0="4966" v1="5421" v2="6080" v3="6083" />
+ <tetrahedron index="26813" v0="5027" v1="6233" v2="6431" v3="6757" />
+ <tetrahedron index="26814" v0="3644" v1="3645" v2="3646" v3="5566" />
+ <tetrahedron index="26815" v0="4020" v1="4365" v2="4366" v3="5438" />
+ <tetrahedron index="26816" v0="3658" v1="4269" v2="5795" v3="5798" />
+ <tetrahedron index="26817" v0="4947" v1="5374" v2="6529" v3="6532" />
+ <tetrahedron index="26818" v0="5226" v1="5850" v2="6496" v3="6499" />
+ <tetrahedron index="26819" v0="3775" v1="5278" v2="5862" v3="5920" />
+ <tetrahedron index="26820" v0="4961" v1="5518" v2="6732" v3="6964" />
+ <tetrahedron index="26821" v0="4014" v1="5424" v2="6084" v3="6085" />
+ <tetrahedron index="26822" v0="4865" v1="4925" v2="5069" v3="5883" />
+ <tetrahedron index="26823" v0="3509" v1="4639" v2="5330" v3="5734" />
+ <tetrahedron index="26824" v0="4362" v1="4774" v2="5082" v3="5090" />
+ <tetrahedron index="26825" v0="3641" v1="3838" v2="4078" v3="6089" />
+ <tetrahedron index="26826" v0="3644" v1="3927" v2="5213" v3="5566" />
+ <tetrahedron index="26827" v0="4914" v1="5655" v2="5908" v3="5910" />
+ <tetrahedron index="26828" v0="3450" v1="5242" v2="5829" v3="6512" />
+ <tetrahedron index="26829" v0="4877" v1="5172" v2="5784" v3="6447" />
+ <tetrahedron index="26830" v0="5287" v1="5960" v2="6082" v3="6570" />
+ <tetrahedron index="26831" v0="3668" v1="3670" v2="5124" v3="5720" />
+ <tetrahedron index="26832" v0="5558" v1="6210" v2="6746" v3="6747" />
+ <tetrahedron index="26833" v0="4629" v1="4630" v2="4631" v3="5475" />
+ <tetrahedron index="26834" v0="3337" v1="3595" v2="3596" v3="5336" />
+ <tetrahedron index="26835" v0="4568" v1="4570" v2="4844" v3="5815" />
+ <tetrahedron index="26836" v0="4891" v1="5685" v2="5697" v3="6357" />
+ <tetrahedron index="26837" v0="3248" v1="3249" v2="5214" v3="5832" />
+ <tetrahedron index="26838" v0="5316" v1="5992" v2="6079" v3="7013" />
+ <tetrahedron index="26839" v0="3644" v1="5052" v2="5566" v3="6239" />
+ <tetrahedron index="26840" v0="4984" v1="5488" v2="5620" v3="5902" />
+ <tetrahedron index="26841" v0="4443" v1="5582" v2="5583" v3="6256" />
+ <tetrahedron index="26842" v0="5350" v1="5989" v2="6846" v3="6990" />
+ <tetrahedron index="26843" v0="3986" v1="4490" v2="5080" v3="6333" />
+ <tetrahedron index="26844" v0="4606" v1="4607" v2="4642" v3="5870" />
+ <tetrahedron index="26845" v0="3414" v1="3524" v2="4080" v3="5058" />
+ <tetrahedron index="26846" v0="3875" v1="5002" v2="6010" v3="6508" />
+ <tetrahedron index="26847" v0="3608" v1="3853" v2="3854" v3="5380" />
+ <tetrahedron index="26848" v0="5061" v1="5619" v2="5886" v3="6526" />
+ <tetrahedron index="26849" v0="4857" v1="5169" v2="5875" v3="6036" />
+ <tetrahedron index="26850" v0="3860" v1="3983" v2="4516" v3="5827" />
+ <tetrahedron index="26851" v0="3357" v1="4515" v2="5850" v3="6499" />
+ <tetrahedron index="26852" v0="5310" v1="5952" v2="6261" v3="6874" />
+ <tetrahedron index="26853" v0="4890" v1="5207" v2="5210" v3="5700" />
+ <tetrahedron index="26854" v0="3242" v1="4276" v2="4595" v3="5220" />
+ <tetrahedron index="26855" v0="3571" v1="3972" v2="4398" v3="5853" />
+ <tetrahedron index="26856" v0="3667" v1="4451" v2="4466" v3="6525" />
+ <tetrahedron index="26857" v0="4915" v1="5629" v2="5912" v3="5914" />
+ <tetrahedron index="26858" v0="3881" v1="4648" v2="4783" v3="6012" />
+ <tetrahedron index="26859" v0="5316" v1="6079" v2="6566" v3="6851" />
+ <tetrahedron index="26860" v0="3682" v1="3950" v2="3951" v3="6454" />
+ <tetrahedron index="26861" v0="5531" v1="5532" v2="6204" v3="6742" />
+ <tetrahedron index="26862" v0="4073" v1="4098" v2="4099" v3="5670" />
+ <tetrahedron index="26863" v0="5013" v1="5049" v2="5594" v3="6439" />
+ <tetrahedron index="26864" v0="3338" v1="5334" v2="5765" v3="5979" />
+ <tetrahedron index="26865" v0="3882" v1="4791" v2="5085" v3="6338" />
+ <tetrahedron index="26866" v0="4893" v1="5215" v2="5834" v3="6481" />
+ <tetrahedron index="26867" v0="3399" v1="3970" v2="3983" v3="5721" />
+ <tetrahedron index="26868" v0="5006" v1="5512" v2="5879" v3="6946" />
+ <tetrahedron index="26869" v0="4861" v1="5009" v2="5994" v3="6591" />
+ <tetrahedron index="26870" v0="3910" v1="3924" v2="4458" v3="5790" />
+ <tetrahedron index="26871" v0="4887" v1="5674" v2="5713" v3="5818" />
+ <tetrahedron index="26872" v0="3448" v1="5017" v2="5502" v3="5803" />
+ <tetrahedron index="26873" v0="3843" v1="4110" v2="4281" v3="6147" />
+ <tetrahedron index="26874" v0="4343" v1="5542" v2="5859" v3="6504" />
+ <tetrahedron index="26875" v0="5680" v1="5681" v2="6351" v3="6352" />
+ <tetrahedron index="26876" v0="3471" v1="5093" v2="5662" v3="5768" />
+ <tetrahedron index="26877" v0="3534" v1="3535" v2="3536" v3="6113" />
+ <tetrahedron index="26878" v0="5118" v1="5706" v2="6351" v3="6352" />
+ <tetrahedron index="26879" v0="3540" v1="3725" v2="5723" v3="6389" />
+ <tetrahedron index="26880" v0="4423" v1="5376" v2="6026" v3="6027" />
+ <tetrahedron index="26881" v0="5134" v1="6087" v2="6254" v3="6663" />
+ <tetrahedron index="26882" v0="4264" v1="5183" v2="6146" v3="6219" />
+ <tetrahedron index="26883" v0="3791" v1="4619" v2="4620" v3="5963" />
+ <tetrahedron index="26884" v0="3973" v1="5012" v2="6265" v3="6423" />
+ <tetrahedron index="26885" v0="5762" v1="6080" v2="6566" v3="6851" />
+ <tetrahedron index="26886" v0="3450" v1="4409" v2="4410" v3="6802" />
+ <tetrahedron index="26887" v0="3499" v1="4565" v2="5102" v3="5254" />
+ <tetrahedron index="26888" v0="3705" v1="5848" v2="5851" v3="6497" />
+ <tetrahedron index="26889" v0="5254" v1="5704" v2="6375" v3="6684" />
+ <tetrahedron index="26890" v0="5660" v1="5677" v2="5767" v3="6137" />
+ <tetrahedron index="26891" v0="4013" v1="4037" v2="5123" v3="5719" />
+ <tetrahedron index="26892" v0="3465" v1="3862" v2="5130" v3="5780" />
+ <tetrahedron index="26893" v0="4159" v1="4632" v2="4812" v3="5468" />
+ <tetrahedron index="26894" v0="4917" v1="5285" v2="5990" v3="6413" />
+ <tetrahedron index="26895" v0="5782" v1="6442" v2="6988" v3="6995" />
+ <tetrahedron index="26896" v0="4910" v1="5260" v2="5262" v3="6615" />
+ <tetrahedron index="26897" v0="5064" v1="5628" v2="6305" v3="6801" />
+ <tetrahedron index="26898" v0="3773" v1="3775" v2="4216" v3="5862" />
+ <tetrahedron index="26899" v0="3239" v1="4461" v2="4462" v3="5909" />
+ <tetrahedron index="26900" v0="4995" v1="5130" v2="6152" v3="6395" />
+ <tetrahedron index="26901" v0="5044" v1="5327" v2="5972" v3="5973" />
+ <tetrahedron index="26902" v0="5156" v1="5464" v2="6072" v3="6130" />
+ <tetrahedron index="26903" v0="4471" v1="5510" v2="5812" v3="6185" />
+ <tetrahedron index="26904" v0="3423" v1="3631" v2="3887" v3="5885" />
+ <tetrahedron index="26905" v0="5350" v1="5989" v2="6595" v3="6702" />
+ <tetrahedron index="26906" v0="4914" v1="5121" v2="5711" v3="5909" />
+ <tetrahedron index="26907" v0="4860" v1="5026" v2="5552" v3="5554" />
+ <tetrahedron index="26908" v0="5093" v1="5677" v2="6348" v3="6349" />
+ <tetrahedron index="26909" v0="4874" v1="6016" v2="6613" v3="6959" />
+ <tetrahedron index="26910" v0="3306" v1="4693" v2="4765" v3="5915" />
+ <tetrahedron index="26911" v0="4117" v1="4171" v2="4760" v3="6225" />
+ <tetrahedron index="26912" v0="4080" v1="4841" v2="5058" v3="5099" />
+ <tetrahedron index="26913" v0="4837" v1="4844" v2="5352" v3="6000" />
+ <tetrahedron index="26914" v0="3806" v1="4145" v2="4367" v3="5576" />
+ <tetrahedron index="26915" v0="3309" v1="5291" v2="5506" v3="5931" />
+ <tetrahedron index="26916" v0="4353" v1="5508" v2="6031" v3="6602" />
+ <tetrahedron index="26917" v0="3245" v1="3246" v2="3249" v3="5622" />
+ <tetrahedron index="26918" v0="4162" v1="5317" v2="5725" v3="5961" />
+ <tetrahedron index="26919" v0="3819" v1="3888" v2="3889" v3="6618" />
+ <tetrahedron index="26920" v0="4749" v1="4753" v2="4822" v3="6142" />
+ <tetrahedron index="26921" v0="3351" v1="3949" v2="4290" v3="5256" />
+ <tetrahedron index="26922" v0="5603" v1="6278" v2="6712" v3="6782" />
+ <tetrahedron index="26923" v0="3711" v1="4785" v2="4957" v3="5514" />
+ <tetrahedron index="26924" v0="4187" v1="4188" v2="6111" v3="6540" />
+ <tetrahedron index="26925" v0="3242" v1="4021" v2="5220" v3="6216" />
+ <tetrahedron index="26926" v0="5342" v1="6053" v2="6262" v3="6773" />
+ <tetrahedron index="26927" v0="3966" v1="5055" v2="5854" v3="6501" />
+ <tetrahedron index="26928" v0="5438" v1="5488" v2="6519" v3="6707" />
+ <tetrahedron index="26929" v0="4454" v1="5753" v2="6250" v3="6770" />
+ <tetrahedron index="26930" v0="3694" v1="3695" v2="4758" v3="5970" />
+ <tetrahedron index="26931" v0="3577" v1="4616" v2="4998" v3="5496" />
+ <tetrahedron index="26932" v0="5056" v1="5240" v2="5869" v3="5870" />
+ <tetrahedron index="26933" v0="4962" v1="5904" v2="6073" v3="6074" />
+ <tetrahedron index="26934" v0="5100" v1="5109" v2="5697" v3="5699" />
+ <tetrahedron index="26935" v0="5159" v1="5531" v2="6204" v3="6433" />
+ <tetrahedron index="26936" v0="5145" v1="5483" v2="5963" v3="6422" />
+ <tetrahedron index="26937" v0="5515" v1="6179" v2="6186" v3="6413" />
+ <tetrahedron index="26938" v0="3712" v1="4335" v2="5018" v3="5735" />
+ <tetrahedron index="26939" v0="5630" v1="6307" v2="6766" v3="6786" />
+ <tetrahedron index="26940" v0="4918" v1="5287" v2="6081" v3="6570" />
+ <tetrahedron index="26941" v0="6734" v1="6839" v2="6845" v3="6967" />
+ <tetrahedron index="26942" v0="4797" v1="5260" v2="5568" v3="5896" />
+ <tetrahedron index="26943" v0="3230" v1="3231" v2="3340" v3="5471" />
+ <tetrahedron index="26944" v0="5027" v1="5557" v2="6233" v3="6234" />
+ <tetrahedron index="26945" v0="6106" v1="6789" v2="6875" v3="6913" />
+ <tetrahedron index="26946" v0="4616" v1="4998" v2="5253" v3="6525" />
+ <tetrahedron index="26947" v0="4897" v1="5229" v2="5230" v3="5666" />
+ <tetrahedron index="26948" v0="5615" v1="6876" v2="6897" v3="7009" />
+ <tetrahedron index="26949" v0="4326" v1="4753" v2="6704" v3="6788" />
+ <tetrahedron index="26950" v0="3391" v1="4181" v2="4356" v3="6985" />
+ <tetrahedron index="26951" v0="3590" v1="3592" v2="3755" v3="6356" />
+ <tetrahedron index="26952" v0="3383" v1="3792" v2="4029" v3="5383" />
+ <tetrahedron index="26953" v0="3575" v1="3576" v2="5496" v3="5885" />
+ <tetrahedron index="26954" v0="4932" v1="5326" v2="5970" v3="5974" />
+ <tetrahedron index="26955" v0="3871" v1="3902" v2="5068" v3="6315" />
+ <tetrahedron index="26956" v0="3615" v1="4283" v2="5114" v3="5828" />
+ <tetrahedron index="26957" v0="4108" v1="5797" v2="6146" v3="6147" />
+ <tetrahedron index="26958" v0="4990" v1="5797" v2="6146" v3="6147" />
+ <tetrahedron index="26959" v0="4897" v1="5230" v2="5231" v3="5717" />
+ <tetrahedron index="26960" v0="3358" v1="3360" v2="4675" v3="5138" />
+ <tetrahedron index="26961" v0="3465" v1="3756" v2="4374" v3="5130" />
+ <tetrahedron index="26962" v0="4821" v1="5350" v2="5351" v3="6990" />
+ <tetrahedron index="26963" v0="3671" v1="3860" v2="4483" v3="5694" />
+ <tetrahedron index="26964" v0="3996" v1="4360" v2="5140" v3="5701" />
+ <tetrahedron index="26965" v0="3598" v1="3831" v2="5659" v3="6251" />
+ <tetrahedron index="26966" v0="3353" v1="3476" v2="6337" v3="6375" />
+ <tetrahedron index="26967" v0="5157" v1="5763" v2="6551" v3="6894" />
+ <tetrahedron index="26968" v0="4314" v1="4397" v2="4453" v3="5860" />
+ <tetrahedron index="26969" v0="3619" v1="5419" v2="5849" v3="6498" />
+ <tetrahedron index="26970" v0="4342" v1="4785" v2="5041" v3="5514" />
+ <tetrahedron index="26971" v0="4009" v1="4010" v2="5804" v3="6455" />
+ <tetrahedron index="26972" v0="3244" v1="3369" v2="5547" v3="5839" />
+ <tetrahedron index="26973" v0="5269" v1="5904" v2="6073" v3="6653" />
+ <tetrahedron index="26974" v0="4027" v1="4104" v2="5082" v3="5658" />
+ <tetrahedron index="26975" v0="3822" v1="5044" v2="5584" v3="5972" />
+ <tetrahedron index="26976" v0="4192" v1="4193" v2="4194" v3="6304" />
+ <tetrahedron index="26977" v0="4678" v1="4679" v2="4818" v3="5267" />
+ <tetrahedron index="26978" v0="3440" v1="3705" v2="5224" v3="5848" />
+ <tetrahedron index="26979" v0="4865" v1="4925" v2="5069" v3="5640" />
+ <tetrahedron index="26980" v0="3911" v1="4825" v2="5296" v3="5971" />
+ <tetrahedron index="26981" v0="4975" v1="5448" v2="6108" v3="6680" />
+ <tetrahedron index="26982" v0="3459" v1="3460" v2="3461" v3="6285" />
+ <tetrahedron index="26983" v0="5078" v1="5716" v2="5717" v3="6388" />
+ <tetrahedron index="26984" v0="4198" v1="5056" v2="6107" v3="6680" />
+ <tetrahedron index="26985" v0="4347" v1="4349" v2="5132" v3="6008" />
+ <tetrahedron index="26986" v0="4938" v1="6191" v2="6272" v3="6273" />
+ <tetrahedron index="26987" v0="4125" v1="4430" v2="5433" v3="5434" />
+ <tetrahedron index="26988" v0="3507" v1="3621" v2="3980" v3="5842" />
+ <tetrahedron index="26989" v0="3906" v1="4504" v2="5315" v3="5435" />
+ <tetrahedron index="26990" v0="3462" v1="3654" v2="4983" v3="6134" />
+ <tetrahedron index="26991" v0="4674" v1="4730" v2="4738" v3="5052" />
+ <tetrahedron index="26992" v0="3327" v1="3328" v2="4204" v3="6087" />
+ <tetrahedron index="26993" v0="3341" v1="5661" v2="5773" v3="6334" />
+ <tetrahedron index="26994" v0="4251" v1="4253" v2="6253" v3="6398" />
+ <tetrahedron index="26995" v0="4882" v1="6634" v2="6666" v3="6769" />
+ <tetrahedron index="26996" v0="4239" v1="6325" v2="6395" v3="6698" />
+ <tetrahedron index="26997" v0="5152" v1="5753" v2="6666" v3="6669" />
+ <tetrahedron index="26998" v0="4492" v1="4532" v2="5516" v3="6181" />
+ <tetrahedron index="26999" v0="4922" v1="5740" v2="6403" v3="6984" />
+ <tetrahedron index="27000" v0="4965" v1="5418" v2="5419" v3="6077" />
+ <tetrahedron index="27001" v0="3638" v1="4750" v2="4782" v3="5823" />
+ <tetrahedron index="27002" v0="3410" v1="4123" v2="4413" v3="5161" />
+ <tetrahedron index="27003" v0="4744" v1="4837" v2="5352" v3="6003" />
+ <tetrahedron index="27004" v0="5004" v1="6171" v2="6489" v3="6880" />
+ <tetrahedron index="27005" v0="4886" v1="5029" v2="5081" v3="5656" />
+ <tetrahedron index="27006" v0="4049" v1="4076" v2="4539" v3="6206" />
+ <tetrahedron index="27007" v0="6307" v1="6766" v2="6804" v3="6988" />
+ <tetrahedron index="27008" v0="5318" v1="5422" v2="6656" v3="6936" />
+ <tetrahedron index="27009" v0="3750" v1="5399" v2="5400" v3="6059" />
+ <tetrahedron index="27010" v0="5058" v1="5612" v2="5633" v3="6606" />
+ <tetrahedron index="27011" v0="5845" v1="6153" v2="6494" v3="6884" />
+ <tetrahedron index="27012" v0="4894" v1="6140" v2="6485" v3="6642" />
+ <tetrahedron index="27013" v0="5413" v1="5626" v2="6071" v3="6302" />
+ <tetrahedron index="27014" v0="4083" v1="5341" v2="5986" v3="6899" />
+ <tetrahedron index="27015" v0="5142" v1="5279" v2="5283" v3="5863" />
+ <tetrahedron index="27016" v0="3607" v1="3954" v2="4052" v3="6214" />
+ <tetrahedron index="27017" v0="4497" v1="4842" v2="5689" v3="6828" />
+ <tetrahedron index="27018" v0="4958" v1="5399" v2="5400" v3="6059" />
+ <tetrahedron index="27019" v0="3753" v1="3931" v2="3988" v3="5927" />
+ <tetrahedron index="27020" v0="3594" v1="3747" v2="3861" v3="5467" />
+ <tetrahedron index="27021" v0="6040" v1="6619" v2="6623" v3="6969" />
+ <tetrahedron index="27022" v0="4955" v1="5395" v2="6636" v3="6927" />
+ <tetrahedron index="27023" v0="3453" v1="3753" v2="3988" v3="5927" />
+ <tetrahedron index="27024" v0="4589" v1="5314" v2="5956" v3="6477" />
+ <tetrahedron index="27025" v0="3725" v1="3726" v2="5126" v3="5723" />
+ <tetrahedron index="27026" v0="3234" v1="3544" v2="3690" v3="5049" />
+ <tetrahedron index="27027" v0="4999" v1="5498" v2="6163" v3="6815" />
+ <tetrahedron index="27028" v0="5063" v1="5451" v2="5626" v3="6302" />
+ <tetrahedron index="27029" v0="3974" v1="5047" v2="6261" v3="6264" />
+ <tetrahedron index="27030" v0="3297" v1="3607" v2="4051" v3="5217" />
+ <tetrahedron index="27031" v0="4371" v1="4438" v2="4720" v3="6387" />
+ <tetrahedron index="27032" v0="4418" v1="4723" v2="5321" v3="5322" />
+ <tetrahedron index="27033" v0="3648" v1="3702" v2="3703" v3="6020" />
+ <tetrahedron index="27034" v0="4940" v1="5165" v2="5779" v3="6006" />
+ <tetrahedron index="27035" v0="4976" v1="5197" v2="5451" v3="6177" />
+ <tetrahedron index="27036" v0="5176" v1="5427" v2="5428" v3="6662" />
+ <tetrahedron index="27037" v0="3374" v1="3375" v2="3688" v3="6114" />
+ <tetrahedron index="27038" v0="5009" v1="5433" v2="6189" v3="6591" />
+ <tetrahedron index="27039" v0="4853" v1="5443" v2="5524" v3="6524" />
+ <tetrahedron index="27040" v0="4086" v1="4087" v2="4307" v3="6665" />
+ <tetrahedron index="27041" v0="4083" v1="4399" v2="5983" v3="5986" />
+ <tetrahedron index="27042" v0="4909" v1="5256" v2="5257" v3="5704" />
+ <tetrahedron index="27043" v0="4904" v1="5877" v2="6289" v3="6791" />
+ <tetrahedron index="27044" v0="4414" v1="4433" v2="5218" v3="5859" />
+ <tetrahedron index="27045" v0="3690" v1="4628" v2="5013" v3="5049" />
+ <tetrahedron index="27046" v0="3581" v1="3582" v2="3583" v3="4275" />
+ <tetrahedron index="27047" v0="3581" v1="3582" v2="4215" v3="4275" />
+ <tetrahedron index="27048" v0="3581" v1="3582" v2="3672" v3="4215" />
+ <tetrahedron index="27049" v0="4867" v1="5762" v2="5947" v3="6937" />
+ <tetrahedron index="27050" v0="5022" v1="5257" v2="5544" v3="5891" />
+ <tetrahedron index="27051" v0="4884" v1="5192" v2="5509" v3="5811" />
+ <tetrahedron index="27052" v0="3822" v1="5584" v2="6345" v3="6826" />
+ <tetrahedron index="27053" v0="4919" v1="5209" v2="5288" v3="5927" />
+ <tetrahedron index="27054" v0="4338" v1="5942" v2="6553" v3="6555" />
+ <tetrahedron index="27055" v0="3482" v1="4061" v2="5399" v3="6362" />
+ <tetrahedron index="27056" v0="3850" v1="4127" v2="5894" v3="6529" />
+ <tetrahedron index="27057" v0="4514" v1="5318" v2="6242" v3="6391" />
+ <tetrahedron index="27058" v0="5013" v1="5111" v2="5668" v3="6439" />
+ <tetrahedron index="27059" v0="3451" v1="3454" v2="3766" v3="5210" />
+ <tetrahedron index="27060" v0="4697" v1="4733" v2="5130" v3="6325" />
+ <tetrahedron index="27061" v0="4931" v1="5184" v2="5321" v3="5323" />
+ <tetrahedron index="27062" v0="3233" v1="5163" v2="5776" v3="6438" />
+ <tetrahedron index="27063" v0="4107" v1="5323" v2="5769" v3="6380" />
+ <tetrahedron index="27064" v0="4439" v1="4473" v2="5472" v3="6136" />
+ <tetrahedron index="27065" v0="3283" v1="3741" v2="4005" v3="5654" />
+ <tetrahedron index="27066" v0="5263" v1="5894" v2="6532" v3="6533" />
+ <tetrahedron index="27067" v0="3236" v1="3237" v2="3475" v3="5258" />
+ <tetrahedron index="27068" v0="4066" v1="4620" v2="4763" v3="5145" />
+ <tetrahedron index="27069" v0="3249" v1="3501" v2="5214" v3="5622" />
+ <tetrahedron index="27070" v0="3695" v1="3908" v2="5095" v3="5271" />
+ <tetrahedron index="27071" v0="4063" v1="4284" v2="4309" v3="5076" />
+ <tetrahedron index="27072" v0="3692" v1="3693" v2="4196" v3="5845" />
+ <tetrahedron index="27073" v0="3952" v1="4170" v2="6149" v3="6681" />
+ <tetrahedron index="27074" v0="3840" v1="4014" v2="5424" v3="6085" />
+ <tetrahedron index="27075" v0="4426" v1="5111" v2="5777" v3="6197" />
+ <tetrahedron index="27076" v0="4491" v1="4524" v2="4532" v3="5285" />
+ <tetrahedron index="27077" v0="4587" v1="5814" v2="6470" v3="6599" />
+ <tetrahedron index="27078" v0="3905" v1="5954" v2="6264" v3="6562" />
+ <tetrahedron index="27079" v0="5111" v1="5184" v2="6160" v3="6164" />
+ <tetrahedron index="27080" v0="4183" v1="5097" v2="6351" v3="6827" />
+ <tetrahedron index="27081" v0="5461" v1="5462" v2="6127" v3="6516" />
+ <tetrahedron index="27082" v0="3962" v1="4213" v2="4676" v3="5719" />
+ <tetrahedron index="27083" v0="4494" v1="5016" v2="5595" v3="6918" />
+ <tetrahedron index="27084" v0="5762" v1="5959" v2="6465" v3="6894" />
+ <tetrahedron index="27085" v0="3745" v1="5171" v2="5578" v3="5581" />
+ <tetrahedron index="27086" v0="3368" v1="5248" v2="5547" v3="6096" />
+ <tetrahedron index="27087" v0="3552" v1="5098" v2="5302" v3="5466" />
+ <tetrahedron index="27088" v0="3770" v1="5323" v2="5708" v3="6380" />
+ <tetrahedron index="27089" v0="3634" v1="3843" v2="3844" v3="6437" />
+ <tetrahedron index="27090" v0="4879" v1="5180" v2="5182" v3="6384" />
+ <tetrahedron index="27091" v0="4339" v1="4429" v2="6174" v3="6756" />
+ <tetrahedron index="27092" v0="4506" v1="4726" v2="5598" v3="6273" />
+ <tetrahedron index="27093" v0="4932" v1="5705" v2="5974" v3="6381" />
+ <tetrahedron index="27094" v0="4324" v1="4534" v2="4655" v3="5946" />
+ <tetrahedron index="27095" v0="4080" v1="4152" v2="4690" v3="5099" />
+ <tetrahedron index="27096" v0="3260" v1="3261" v2="5069" v3="5640" />
+ <tetrahedron index="27097" v0="3730" v1="5205" v2="5824" v3="5955" />
+ <tetrahedron index="27098" v0="3590" v1="5565" v2="5685" v3="6356" />
+ <tetrahedron index="27099" v0="5003" v1="5505" v2="6169" v3="6548" />
+ <tetrahedron index="27100" v0="3683" v1="4443" v2="4815" v3="5582" />
+ <tetrahedron index="27101" v0="5058" v1="5066" v2="5657" v3="6011" />
+ <tetrahedron index="27102" v0="5495" v1="6154" v2="6159" v3="6740" />
+ <tetrahedron index="27103" v0="3999" v1="4673" v2="4813" v3="5121" />
+ <tetrahedron index="27104" v0="3906" v1="5315" v2="5317" v3="5960" />
+ <tetrahedron index="27105" v0="4458" v1="5179" v2="5367" v3="6018" />
+ <tetrahedron index="27106" v0="5512" v1="6301" v2="6798" v3="6890" />
+ <tetrahedron index="27107" v0="4758" v1="5326" v2="5970" v3="5974" />
+ <tetrahedron index="27108" v0="5058" v1="5066" v2="5633" v3="6011" />
+ <tetrahedron index="27109" v0="5008" v1="6182" v2="6412" v3="6732" />
+ <tetrahedron index="27110" v0="3539" v1="3999" v2="4813" v3="5327" />
+ <tetrahedron index="27111" v0="5128" v1="5133" v2="5406" v3="6066" />
+ <tetrahedron index="27112" v0="3617" v1="5467" v2="5469" v3="5780" />
+ <tetrahedron index="27113" v0="3346" v1="3347" v2="3536" v3="5113" />
+ <tetrahedron index="27114" v0="4940" v1="5355" v2="6006" v3="6604" />
+ <tetrahedron index="27115" v0="4111" v1="4200" v2="5379" v3="5555" />
+ <tetrahedron index="27116" v0="4968" v1="5427" v2="5428" v3="6662" />
+ <tetrahedron index="27117" v0="4605" v1="4625" v2="4633" v3="5597" />
+ <tetrahedron index="27118" v0="4148" v1="4350" v2="5236" v3="6505" />
+ <tetrahedron index="27119" v0="3662" v1="3663" v2="4138" v3="5127" />
+ <tetrahedron index="27120" v0="3321" v1="3323" v2="3894" v3="5578" />
+ <tetrahedron index="27121" v0="4447" v1="5558" v2="5812" v3="6234" />
+ <tetrahedron index="27122" v0="4495" v1="4656" v2="4792" v3="5490" />
+ <tetrahedron index="27123" v0="4218" v1="4542" v2="5338" v3="5562" />
+ <tetrahedron index="27124" v0="3728" v1="4272" v2="4657" v3="5969" />
+ <tetrahedron index="27125" v0="4745" v1="5350" v2="6003" v3="6598" />
+ <tetrahedron index="27126" v0="3526" v1="3528" v2="3792" v3="5485" />
+ <tetrahedron index="27127" v0="5512" v1="6522" v2="6891" v3="7003" />
+ <tetrahedron index="27128" v0="3234" v1="3235" v2="3544" v3="5452" />
+ <tetrahedron index="27129" v0="5013" v1="5594" v2="5668" v3="6439" />
+ <tetrahedron index="27130" v0="4967" v1="5177" v2="5425" v3="6084" />
+ <tetrahedron index="27131" v0="5034" v1="5628" v2="5629" v3="5721" />
+ <tetrahedron index="27132" v0="4256" v1="4311" v2="5696" v3="6367" />
+ <tetrahedron index="27133" v0="3556" v1="3557" v2="5432" v3="6453" />
+ <tetrahedron index="27134" v0="3428" v1="4441" v2="4793" v3="6709" />
+ <tetrahedron index="27135" v0="5318" v1="6080" v2="6656" v3="6657" />
+ <tetrahedron index="27136" v0="3622" v1="4166" v2="4637" v3="5918" />
+ <tetrahedron index="27137" v0="3486" v1="4514" v2="4755" v3="6242" />
+ <tetrahedron index="27138" v0="3251" v1="4257" v2="5464" v3="6130" />
+ <tetrahedron index="27139" v0="3739" v1="5040" v2="5579" v3="6255" />
+ <tetrahedron index="27140" v0="3789" v1="4143" v2="5367" v3="5714" />
+ <tetrahedron index="27141" v0="5227" v1="5847" v2="6338" v3="6497" />
+ <tetrahedron index="27142" v0="3491" v1="5232" v2="5261" v3="5857" />
+ <tetrahedron index="27143" v0="6012" v1="6093" v2="6668" v3="6669" />
+ <tetrahedron index="27144" v0="4895" v1="5222" v2="5843" v3="6153" />
+ <tetrahedron index="27145" v0="4092" v1="4153" v2="4170" v3="5486" />
+ <tetrahedron index="27146" v0="4996" v1="6159" v2="6715" v3="6958" />
+ <tetrahedron index="27147" v0="4000" v1="5656" v2="6332" v3="6333" />
+ <tetrahedron index="27148" v0="4149" v1="5378" v2="5555" v3="6029" />
+ <tetrahedron index="27149" v0="4982" v1="5302" v2="5466" v3="5940" />
+ <tetrahedron index="27150" v0="3654" v1="4599" v2="4697" v3="5469" />
+ <tetrahedron index="27151" v0="4872" v1="5164" v2="5978" v3="6776" />
+ <tetrahedron index="27152" v0="3454" v1="5207" v2="5210" v3="5871" />
+ <tetrahedron index="27153" v0="3268" v1="3278" v2="5406" v3="5480" />
+ <tetrahedron index="27154" v0="4140" v1="5389" v2="6042" v3="6620" />
+ <tetrahedron index="27155" v0="4380" v1="4413" v2="5161" v3="5290" />
+ <tetrahedron index="27156" v0="3966" v1="5055" v2="5838" v3="6501" />
+ <tetrahedron index="27157" v0="4967" v1="5424" v2="6084" v3="6085" />
+ <tetrahedron index="27158" v0="5281" v1="5919" v2="5921" v3="6028" />
+ <tetrahedron index="27159" v0="3449" v1="3555" v2="4129" v3="5432" />
+ <tetrahedron index="27160" v0="3815" v1="3816" v2="5539" v3="6208" />
+ <tetrahedron index="27161" v0="3820" v1="4576" v2="5044" v3="5584" />
+ <tetrahedron index="27162" v0="4943" v1="5347" v2="5360" v3="6271" />
+ <tetrahedron index="27163" v0="3782" v1="3785" v2="4113" v3="5747" />
+ <tetrahedron index="27164" v0="4133" v1="4322" v2="4469" v3="5426" />
+ <tetrahedron index="27165" v0="3940" v1="4132" v2="4796" v3="5427" />
+ <tetrahedron index="27166" v0="3815" v1="4291" v2="4292" v3="5539" />
+ <tetrahedron index="27167" v0="4700" v1="5019" v2="5536" v3="6190" />
+ <tetrahedron index="27168" v0="3621" v1="3993" v2="4584" v3="6049" />
+ <tetrahedron index="27169" v0="3303" v1="3304" v2="5720" v3="5721" />
+ <tetrahedron index="27170" v0="3724" v1="5275" v2="5913" v3="6542" />
+ <tetrahedron index="27171" v0="5134" v1="5788" v2="6254" v3="6663" />
+ <tetrahedron index="27172" v0="3696" v1="3827" v2="3828" v3="5513" />
+ <tetrahedron index="27173" v0="3495" v1="3542" v2="4151" v3="6109" />
+ <tetrahedron index="27174" v0="4101" v1="5106" v2="5487" v3="5878" />
+ <tetrahedron index="27175" v0="4268" v1="4630" v2="5474" v3="5475" />
+ <tetrahedron index="27176" v0="4980" v1="5458" v2="6117" v3="6126" />
+ <tetrahedron index="27177" v0="3652" v1="3653" v2="5499" v3="5777" />
+ <tetrahedron index="27178" v0="4047" v1="4592" v2="5103" v3="5802" />
+ <tetrahedron index="27179" v0="4880" v1="5185" v2="5548" v3="5798" />
+ <tetrahedron index="27180" v0="3322" v1="3687" v2="4669" v3="5061" />
+ <tetrahedron index="27181" v0="4528" v1="5000" v2="5186" v3="5800" />
+ <tetrahedron index="27182" v0="3868" v1="5287" v2="5925" v3="6570" />
+ <tetrahedron index="27183" v0="4872" v1="5050" v2="5597" v3="6327" />
+ <tetrahedron index="27184" v0="3804" v1="4141" v2="4530" v3="6196" />
+ <tetrahedron index="27185" v0="3540" v1="3725" v2="3727" v3="5723" />
+ <tetrahedron index="27186" v0="5191" v1="5540" v2="6040" v3="6745" />
+ <tetrahedron index="27187" v0="4945" v1="5367" v2="6382" v3="6383" />
+ <tetrahedron index="27188" v0="5239" v1="5867" v2="5868" v3="6509" />
+ <tetrahedron index="27189" v0="5101" v1="5675" v2="6359" v3="6828" />
+ <tetrahedron index="27190" v0="5006" v1="5272" v2="5692" v3="6178" />
+ <tetrahedron index="27191" v0="5088" v1="6267" v2="6323" v3="6860" />
+ <tetrahedron index="27192" v0="4272" v1="5185" v2="5497" v3="5969" />
+ <tetrahedron index="27193" v0="5248" v1="5438" v2="5878" v3="6519" />
+ <tetrahedron index="27194" v0="3508" v1="5492" v2="6050" v3="6154" />
+ <tetrahedron index="27195" v0="4649" v1="5216" v2="6143" v3="6484" />
+ <tetrahedron index="27196" v0="6307" v1="6766" v2="6975" v3="6988" />
+ <tetrahedron index="27197" v0="4908" v1="5102" v2="5254" v3="6360" />
+ <tetrahedron index="27198" v0="3470" v1="3473" v2="5084" v3="5773" />
+ <tetrahedron index="27199" v0="3976" v1="4064" v2="4640" v3="5097" />
+ <tetrahedron index="27200" v0="3773" v1="5142" v2="5862" v3="6504" />
+ <tetrahedron index="27201" v0="3843" v1="3844" v2="6437" v3="6859" />
+ <tetrahedron index="27202" v0="5073" v1="5648" v2="6324" v3="6327" />
+ <tetrahedron index="27203" v0="4379" v1="5101" v2="6359" v3="6828" />
+ <tetrahedron index="27204" v0="3996" v1="4359" v2="5096" v3="5701" />
+ <tetrahedron index="27205" v0="3389" v1="3874" v2="5592" v3="5706" />
+ <tetrahedron index="27206" v0="3447" v1="3957" v2="5591" v3="6377" />
+ <tetrahedron index="27207" v0="4190" v1="4380" v2="5131" v3="5732" />
+ <tetrahedron index="27208" v0="3593" v1="3594" v2="5467" v3="6132" />
+ <tetrahedron index="27209" v0="3263" v1="4218" v2="5001" v3="5030" />
+ <tetrahedron index="27210" v0="5101" v1="5675" v2="5686" v3="6359" />
+ <tetrahedron index="27211" v0="3231" v1="3340" v2="5158" v3="5471" />
+ <tetrahedron index="27212" v0="4557" v1="4558" v2="4703" v3="5376" />
+ <tetrahedron index="27213" v0="3317" v1="3560" v2="4259" v3="5162" />
+ <tetrahedron index="27214" v0="3282" v1="3386" v2="5128" v3="5726" />
+ <tetrahedron index="27215" v0="3527" v1="3541" v2="6118" v3="6691" />
+ <tetrahedron index="27216" v0="4218" v1="4304" v2="4542" v3="5440" />
+ <tetrahedron index="27217" v0="5035" v1="5947" v2="6748" v3="6761" />
+ <tetrahedron index="27218" v0="3350" v1="3584" v2="5257" v3="6076" />
+ <tetrahedron index="27219" v0="3250" v1="3251" v2="5464" v3="6131" />
+ <tetrahedron index="27220" v0="6014" v1="6587" v2="6611" v3="6909" />
+ <tetrahedron index="27221" v0="3324" v1="3326" v2="3940" v3="5787" />
+ <tetrahedron index="27222" v0="4910" v1="5259" v2="5568" v3="5894" />
+ <tetrahedron index="27223" v0="4961" v1="5877" v2="6127" v3="6732" />
+ <tetrahedron index="27224" v0="3381" v1="5492" v2="5845" v3="6153" />
+ <tetrahedron index="27225" v0="5511" v1="5522" v2="6175" v3="6756" />
+ <tetrahedron index="27226" v0="5347" v1="5600" v2="6270" v3="6272" />
+ <tetrahedron index="27227" v0="3373" v1="3381" v2="3692" v3="5845" />
+ <tetrahedron index="27228" v0="3658" v1="3660" v2="4146" v3="5795" />
+ <tetrahedron index="27229" v0="4155" v1="4786" v2="5075" v3="5652" />
+ <tetrahedron index="27230" v0="3371" v1="3549" v2="3737" v3="5678" />
+ <tetrahedron index="27231" v0="3233" v1="3689" v2="4510" v3="6438" />
+ <tetrahedron index="27232" v0="6261" v1="6263" v2="6264" v3="6637" />
+ <tetrahedron index="27233" v0="3432" v1="3506" v2="4065" v3="6019" />
+ <tetrahedron index="27234" v0="3632" v1="3633" v2="6203" v3="6857" />
+ <tetrahedron index="27235" v0="5512" v1="6521" v2="6522" v3="6891" />
+ <tetrahedron index="27236" v0="3665" v1="3752" v2="4105" v3="6329" />
+ <tetrahedron index="27237" v0="3920" v1="4770" v2="5274" v3="6354" />
+ <tetrahedron index="27238" v0="4967" v1="5581" v2="6085" v3="6661" />
+ <tetrahedron index="27239" v0="3924" v1="4458" v2="4531" v3="5179" />
+ <tetrahedron index="27240" v0="4918" v1="5421" v2="6079" v3="6566" />
+ <tetrahedron index="27241" v0="5239" v1="5865" v2="5867" v3="6509" />
+ <tetrahedron index="27242" v0="4080" v1="4152" v2="5099" v3="5611" />
+ <tetrahedron index="27243" v0="4323" v1="4325" v2="4660" v3="5304" />
+ <tetrahedron index="27244" v0="4754" v1="5121" v2="5655" v3="5712" />
+ <tetrahedron index="27245" v0="3650" v1="3839" v2="5417" v3="5420" />
+ <tetrahedron index="27246" v0="5391" v1="6577" v2="6974" v3="7011" />
+ <tetrahedron index="27247" v0="3331" v1="3332" v2="5355" v3="6203" />
+ <tetrahedron index="27248" v0="3567" v1="3568" v2="3697" v3="5359" />
+ <tetrahedron index="27249" v0="5307" v1="5946" v2="5948" v3="6244" />
+ <tetrahedron index="27250" v0="4946" v1="5067" v2="5370" v3="6020" />
+ <tetrahedron index="27251" v0="3435" v1="4428" v2="4501" v3="5331" />
+ <tetrahedron index="27252" v0="3313" v1="4738" v2="5213" v3="5601" />
+ <tetrahedron index="27253" v0="4165" v1="4452" v2="5917" v3="6544" />
+ <tetrahedron index="27254" v0="4001" v1="5144" v2="5560" v3="6332" />
+ <tetrahedron index="27255" v0="4969" v1="5432" v2="5502" v3="6376" />
+ <tetrahedron index="27256" v0="3414" v1="3415" v2="4460" v3="4841" />
+ <tetrahedron index="27257" v0="3283" v1="3387" v2="5116" v3="5901" />
+ <tetrahedron index="27258" v0="3278" v1="5128" v2="5133" v3="5406" />
+ <tetrahedron index="27259" v0="3392" v1="3393" v2="3532" v3="5064" />
+ <tetrahedron index="27260" v0="4220" v1="4518" v2="5387" v3="6039" />
+ <tetrahedron index="27261" v0="4348" v1="4607" v2="5241" v3="5870" />
+ <tetrahedron index="27262" v0="5809" v1="6043" v2="6464" v3="6622" />
+ <tetrahedron index="27263" v0="3390" v1="3874" v2="5706" v3="6351" />
+ <tetrahedron index="27264" v0="4349" v1="4641" v2="4642" v3="5132" />
+ <tetrahedron index="27265" v0="4080" v1="5058" v2="5099" v3="5611" />
+ <tetrahedron index="27266" v0="4118" v1="5400" v2="5691" v3="6363" />
+ <tetrahedron index="27267" v0="4436" v1="4748" v2="4830" v3="6539" />
+ <tetrahedron index="27268" v0="3768" v1="3769" v2="3981" v3="5854" />
+ <tetrahedron index="27269" v0="3284" v1="4974" v2="5133" v3="6064" />
+ <tetrahedron index="27270" v0="3746" v1="3811" v2="5175" v3="5581" />
+ <tetrahedron index="27271" v0="3385" v1="5169" v2="6036" v3="6889" />
+ <tetrahedron index="27272" v0="6469" v1="6844" v2="6871" v3="6989" />
+ <tetrahedron index="27273" v0="5024" v1="5548" v2="5549" v3="6219" />
+ <tetrahedron index="27274" v0="3294" v1="5021" v2="5238" v3="5542" />
+ <tetrahedron index="27275" v0="5498" v1="6161" v2="6323" v3="6341" />
+ <tetrahedron index="27276" v0="5009" v1="5520" v2="6191" v3="6585" />
+ <tetrahedron index="27277" v0="5511" v1="6174" v2="6175" v3="6756" />
+ <tetrahedron index="27278" v0="3989" v1="4255" v2="4310" v3="5699" />
+ <tetrahedron index="27279" v0="3700" v1="4218" v2="5030" v3="5562" />
+ <tetrahedron index="27280" v0="4041" v1="4835" v2="5831" v3="6238" />
+ <tetrahedron index="27281" v0="5003" v1="5929" v2="6022" v3="6546" />
+ <tetrahedron index="27282" v0="3702" v1="4376" v2="4405" v3="6067" />
+ <tetrahedron index="27283" v0="5698" v1="5737" v2="6401" v3="6402" />
+ <tetrahedron index="27284" v0="3666" v1="3667" v2="4451" v3="5250" />
+ <tetrahedron index="27285" v0="4979" v1="5773" v2="6334" v3="6399" />
+ <tetrahedron index="27286" v0="3648" v1="3703" v2="4615" v3="5369" />
+ <tetrahedron index="27287" v0="5332" v1="5976" v2="6026" v3="6027" />
+ <tetrahedron index="27288" v0="3863" v1="4500" v2="4513" v3="5372" />
+ <tetrahedron index="27289" v0="4953" v1="5388" v2="6040" v3="6745" />
+ <tetrahedron index="27290" v0="4323" v1="4660" v2="5304" v3="5944" />
+ <tetrahedron index="27291" v0="4695" v1="4841" v2="5090" v3="5099" />
+ <tetrahedron index="27292" v0="4987" v1="6277" v2="6460" v3="6781" />
+ <tetrahedron index="27293" v0="3324" v1="3940" v2="5427" v3="5787" />
+ <tetrahedron index="27294" v0="3671" v1="4360" v2="4483" v3="6372" />
+ <tetrahedron index="27295" v0="4052" v1="5215" v2="6214" v3="6481" />
+ <tetrahedron index="27296" v0="4332" v1="4333" v2="4469" v3="5429" />
+ <tetrahedron index="27297" v0="4986" v1="5756" v2="6140" v3="6421" />
+ <tetrahedron index="27298" v0="3898" v1="4255" v2="4310" v3="5699" />
+ <tetrahedron index="27299" v0="4414" v1="4433" v2="4434" v3="5218" />
+ <tetrahedron index="27300" v0="4879" v1="5179" v2="5792" v3="5793" />
+ <tetrahedron index="27301" v0="3859" v1="4056" v2="5125" v3="5332" />
+ <tetrahedron index="27302" v0="5249" v1="5407" v2="5882" v3="6524" />
+ <tetrahedron index="27303" v0="3761" v1="4233" v2="5103" v3="5803" />
+ <tetrahedron index="27304" v0="4209" v1="4210" v2="4338" v3="5942" />
+ <tetrahedron index="27305" v0="3298" v1="3299" v2="3674" v3="5834" />
+ <tetrahedron index="27306" v0="3724" v1="3837" v2="3838" v3="5710" />
+ <tetrahedron index="27307" v0="5120" v1="5710" v2="6089" v3="6353" />
+ <tetrahedron index="27308" v0="4096" v1="4097" v2="5279" v3="5923" />
+ <tetrahedron index="27309" v0="4254" v1="4367" v2="5039" v3="5577" />
+ <tetrahedron index="27310" v0="3401" v1="3402" v2="3615" v3="5208" />
+ <tetrahedron index="27311" v0="3371" v1="3736" v2="5678" v3="6297" />
+ <tetrahedron index="27312" v0="4910" v1="5033" v2="5260" v3="6615" />
+ <tetrahedron index="27313" v0="3263" v1="3892" v2="5015" v3="6158" />
+ <tetrahedron index="27314" v0="3541" v1="4029" v2="5247" v3="6691" />
+ <tetrahedron index="27315" v0="3424" v1="3691" v2="4050" v3="5801" />
+ <tetrahedron index="27316" v0="5158" v1="5471" v2="5765" v3="6137" />
+ <tetrahedron index="27317" v0="3254" v1="3814" v2="3870" v3="5129" />
+ <tetrahedron index="27318" v0="4086" v1="4294" v2="5925" v3="6457" />
+ <tetrahedron index="27319" v0="3251" v1="3252" v2="4502" v3="5156" />
+ <tetrahedron index="27320" v0="4009" v1="4131" v2="5501" v3="5799" />
+ <tetrahedron index="27321" v0="3434" v1="3746" v2="5040" v3="5581" />
+ <tetrahedron index="27322" v0="4206" v1="4680" v2="5032" v3="5567" />
+ <tetrahedron index="27323" v0="3668" v1="3670" v2="3671" v3="5124" />
+ <tetrahedron index="27324" v0="3451" v1="3454" v2="5210" v3="5871" />
+ <tetrahedron index="27325" v0="5101" v1="5686" v2="5687" v3="6359" />
+ <tetrahedron index="27326" v0="4934" v1="5596" v2="5676" v3="6743" />
+ <tetrahedron index="27327" v0="5520" v1="6192" v2="6737" v3="6738" />
+ <tetrahedron index="27328" v0="4783" v1="5360" v2="5362" v3="6012" />
+ <tetrahedron index="27329" v0="3263" v1="5001" v2="5455" v3="6168" />
+ <tetrahedron index="27330" v0="5879" v1="5881" v2="6521" v3="6522" />
+ <tetrahedron index="27331" v0="3666" v1="6328" v2="6329" v3="6816" />
+ <tetrahedron index="27332" v0="4165" v1="4166" v2="5917" v3="5918" />
+ <tetrahedron index="27333" v0="4924" v1="6034" v2="6558" v3="6896" />
+ <tetrahedron index="27334" v0="4999" v1="5497" v2="5669" v3="5798" />
+ <tetrahedron index="27335" v0="5925" v1="5960" v2="6570" v3="6910" />
+ <tetrahedron index="27336" v0="4020" v1="5438" v2="6096" v3="6218" />
+ <tetrahedron index="27337" v0="5165" v1="5467" v2="5780" v3="6394" />
+ <tetrahedron index="27338" v0="3658" v1="4109" v2="4269" v3="5798" />
+ <tetrahedron index="27339" v0="3387" v1="5041" v2="5116" v3="5901" />
+ <tetrahedron index="27340" v0="4889" v1="5821" v2="5824" v3="6829" />
+ <tetrahedron index="27341" v0="3347" v1="3536" v2="5113" v3="5890" />
+ <tetrahedron index="27342" v0="3432" v1="4511" v2="5370" v3="6019" />
+ <tetrahedron index="27343" v0="4024" v1="4133" v2="4322" v3="4469" />
+ <tetrahedron index="27344" v0="4985" v1="5473" v2="5702" v3="6436" />
+ <tetrahedron index="27345" v0="5713" v1="5791" v2="6387" v3="6449" />
+ <tetrahedron index="27346" v0="3550" v1="3968" v2="4214" v3="5385" />
+ <tetrahedron index="27347" v0="4789" v1="5573" v2="5574" v3="6250" />
+ <tetrahedron index="27348" v0="5165" v1="5730" v2="5779" v3="6006" />
+ <tetrahedron index="27349" v0="5285" v1="5990" v2="6181" v3="6413" />
+ <tetrahedron index="27350" v0="4036" v1="4038" v2="4626" v3="5718" />
+ <tetrahedron index="27351" v0="4109" v1="4264" v2="5183" v3="6146" />
+ <tetrahedron index="27352" v0="3364" v1="3365" v2="3696" v3="6178" />
+ <tetrahedron index="27353" v0="4974" v1="5404" v2="6061" v3="6445" />
+ <tetrahedron index="27354" v0="4070" v1="4071" v2="4315" v3="6163" />
+ <tetrahedron index="27355" v0="6176" v1="6301" v2="6966" v3="7028" />
+ <tetrahedron index="27356" v0="4889" v1="5203" v2="5206" v3="5821" />
+ <tetrahedron index="27357" v0="4089" v1="4322" v2="5426" v3="5430" />
+ <tetrahedron index="27358" v0="4971" v1="5438" v2="6218" v3="6956" />
+ <tetrahedron index="27359" v0="3411" v1="3522" v2="3523" v3="5866" />
+ <tetrahedron index="27360" v0="3246" v1="5062" v2="5622" v3="5832" />
+ <tetrahedron index="27361" v0="5902" v1="6297" v2="6795" v3="6941" />
+ <tetrahedron index="27362" v0="3791" v1="4620" v2="4888" v3="6405" />
+ <tetrahedron index="27363" v0="3420" v1="4654" v2="4764" v3="5204" />
+ <tetrahedron index="27364" v0="4742" v1="5225" v2="5417" v3="5849" />
+ <tetrahedron index="27365" v0="3292" v1="3893" v2="4571" v3="5079" />
+ <tetrahedron index="27366" v0="5225" v1="5695" v2="5790" v3="6365" />
+ <tetrahedron index="27367" v0="5005" v1="5510" v2="6172" v3="6185" />
+ <tetrahedron index="27368" v0="3234" v1="3235" v2="5452" v3="6438" />
+ <tetrahedron index="27369" v0="4064" v1="4183" v2="5097" v3="6827" />
+ <tetrahedron index="27370" v0="6299" v1="6519" v2="6520" v3="6699" />
+ <tetrahedron index="27371" v0="3278" v1="3281" v2="3379" v3="3382" />
+ <tetrahedron index="27372" v0="4878" v1="5176" v2="6446" v3="6662" />
+ <tetrahedron index="27373" v0="4486" v1="5350" v2="5998" v3="6702" />
+ <tetrahedron index="27374" v0="3319" v1="4234" v2="4719" v3="5633" />
+ <tetrahedron index="27375" v0="4997" v1="5614" v2="5876" v3="5877" />
+ <tetrahedron index="27376" v0="4887" v1="5198" v2="5719" v3="5818" />
+ <tetrahedron index="27377" v0="4206" v1="5032" v2="5567" v3="5688" />
+ <tetrahedron index="27378" v0="4144" v1="4157" v2="4759" v3="5082" />
+ <tetrahedron index="27379" v0="3552" v1="4030" v2="5098" v3="5302" />
+ <tetrahedron index="27380" v0="3639" v1="3640" v2="4828" v3="5665" />
+ <tetrahedron index="27381" v0="4851" v1="5094" v2="5833" v3="5939" />
+ <tetrahedron index="27382" v0="5144" v1="5656" v2="6331" v3="6819" />
+ <tetrahedron index="27383" v0="4050" v1="5186" v2="5187" v3="5799" />
+ <tetrahedron index="27384" v0="5025" v1="6139" v2="6595" v3="6702" />
+ <tetrahedron index="27385" v0="3621" v1="3980" v2="3992" v3="5842" />
+ <tetrahedron index="27386" v0="5048" v1="5118" v2="5592" v3="5706" />
+ <tetrahedron index="27387" v0="4884" v1="5192" v2="5509" v3="6230" />
+ <tetrahedron index="27388" v0="3402" v1="3407" v2="3615" v3="5209" />
+ <tetrahedron index="27389" v0="4999" v1="5497" v2="5499" v3="6160" />
+ <tetrahedron index="27390" v0="4976" v1="5450" v2="6111" v3="6682" />
+ <tetrahedron index="27391" v0="3356" v1="5420" v2="5889" v3="6078" />
+ <tetrahedron index="27392" v0="4048" v1="4050" v2="5187" v3="5804" />
+ <tetrahedron index="27393" v0="3590" v1="3989" v2="3990" v3="5100" />
+ <tetrahedron index="27394" v0="4946" v1="5371" v2="6021" v3="6618" />
+ <tetrahedron index="27395" v0="3829" v1="4103" v2="5450" v3="5451" />
+ <tetrahedron index="27396" v0="3712" v1="5533" v2="5735" v3="6835" />
+ <tetrahedron index="27397" v0="4577" v1="5452" v2="5453" v3="5645" />
+ <tetrahedron index="27398" v0="5439" v1="6099" v2="6675" v3="6847" />
+ <tetrahedron index="27399" v0="3395" v1="3396" v2="5479" v3="6143" />
+ <tetrahedron index="27400" v0="4886" v1="5029" v2="5656" v3="6331" />
+ <tetrahedron index="27401" v0="3712" v1="3741" v2="3950" v3="5533" />
+ <tetrahedron index="27402" v0="4954" v1="5392" v2="5393" v3="5394" />
+ <tetrahedron index="27403" v0="4908" v1="5254" v2="5887" v3="6527" />
+ <tetrahedron index="27404" v0="5379" v1="5555" v2="6229" v3="6592" />
+ <tetrahedron index="27405" v0="4215" v1="4344" v2="4391" v3="5178" />
+ <tetrahedron index="27406" v0="3963" v1="4972" v2="5441" v3="5937" />
+ <tetrahedron index="27407" v0="4426" v1="4474" v2="4530" v3="6197" />
+ <tetrahedron index="27408" v0="4348" v1="5132" v2="5241" v3="5870" />
+ <tetrahedron index="27409" v0="4585" v1="5392" v2="5393" v3="6048" />
+ <tetrahedron index="27410" v0="3389" v1="3762" v2="3893" v3="5592" />
+ <tetrahedron index="27411" v0="3448" v1="5017" v2="5502" v3="5800" />
+ <tetrahedron index="27412" v0="4624" v1="5649" v2="6151" v3="6269" />
+ <tetrahedron index="27413" v0="3989" v1="4255" v2="5100" v3="5699" />
+ <tetrahedron index="27414" v0="3604" v1="3605" v2="3606" v3="5738" />
+ <tetrahedron index="27415" v0="3312" v1="3313" v2="5601" v3="5679" />
+ <tetrahedron index="27416" v0="4236" v1="5545" v2="5893" v3="6215" />
+ <tetrahedron index="27417" v0="3554" v1="4076" v2="5534" v3="5535" />
+ <tetrahedron index="27418" v0="4283" v1="5114" v2="5828" v3="5871" />
+ <tetrahedron index="27419" v0="3352" v1="3353" v2="3354" v3="6337" />
+ <tetrahedron index="27420" v0="3959" v1="4512" v2="4632" v3="5164" />
+ <tetrahedron index="27421" v0="3893" v1="4571" v2="5079" v3="5592" />
+ <tetrahedron index="27422" v0="3805" v1="3806" v2="5709" v3="5968" />
+ <tetrahedron index="27423" v0="4999" v1="5498" v2="6323" v3="6815" />
+ <tetrahedron index="27424" v0="4147" v1="4548" v2="5526" v3="6199" />
+ <tetrahedron index="27425" v0="4889" v1="5105" v2="5690" v3="5822" />
+ <tetrahedron index="27426" v0="3523" v1="3542" v2="6009" v3="6605" />
+ <tetrahedron index="27427" v0="4864" v1="6419" v2="6724" v3="6848" />
+ <tetrahedron index="27428" v0="5085" v1="5847" v2="6338" v3="6497" />
+ <tetrahedron index="27429" v0="4914" v1="5655" v2="5705" v3="5711" />
+ <tetrahedron index="27430" v0="5004" v1="6004" v2="6171" v3="6616" />
+ <tetrahedron index="27431" v0="3346" v1="3534" v2="4701" v3="5453" />
+ <tetrahedron index="27432" v0="4924" v1="5305" v2="5942" v3="5943" />
+ <tetrahedron index="27433" v0="4276" v1="4595" v2="4631" v3="5756" />
+ <tetrahedron index="27434" v0="3305" v1="3970" v2="5034" v3="5653" />
+ <tetrahedron index="27435" v0="5112" v1="5703" v2="5736" v3="6399" />
+ <tetrahedron index="27436" v0="5349" v1="6722" v2="6963" v3="7007" />
+ <tetrahedron index="27437" v0="3648" v1="3649" v2="3702" v3="6020" />
+ <tetrahedron index="27438" v0="4667" v1="5077" v2="5654" v3="6206" />
+ <tetrahedron index="27439" v0="4243" v1="4665" v2="4806" v3="5057" />
+ <tetrahedron index="27440" v0="5157" v1="5945" v2="6554" v3="6757" />
+ <tetrahedron index="27441" v0="4210" v1="4622" v2="4660" v3="6556" />
+ <tetrahedron index="27442" v0="5035" v1="5724" v2="6213" v3="6761" />
+ <tetrahedron index="27443" v0="4604" v1="5050" v2="5595" v3="6268" />
+ <tetrahedron index="27444" v0="3755" v1="5135" v2="5685" v3="6356" />
+ <tetrahedron index="27445" v0="3778" v1="6284" v2="6785" v3="6809" />
+ <tetrahedron index="27446" v0="4254" v1="4367" v2="4802" v3="5577" />
+ <tetrahedron index="27447" v0="3959" v1="4632" v2="4812" v3="5468" />
+ <tetrahedron index="27448" v0="4027" v1="4157" v2="4774" v3="5082" />
+ <tetrahedron index="27449" v0="5207" v1="5210" v2="5828" v3="5871" />
+ <tetrahedron index="27450" v0="4491" v1="5285" v2="5990" v3="6181" />
+ <tetrahedron index="27451" v0="4892" v1="5094" v2="6295" v3="6298" />
+ <tetrahedron index="27452" v0="3812" v1="4586" v2="5425" v3="5786" />
+ <tetrahedron index="27453" v0="5150" v1="5750" v2="6179" v3="6186" />
+ <tetrahedron index="27454" v0="4897" v1="5229" v2="5230" v3="6385" />
+ <tetrahedron index="27455" v0="3370" v1="3371" v2="5094" v3="5832" />
+ <tetrahedron index="27456" v0="5036" v1="6224" v2="6632" v3="6751" />
+ <tetrahedron index="27457" v0="4929" v1="5266" v2="5480" v3="6145" />
+ <tetrahedron index="27458" v0="4848" v1="5403" v2="5524" v3="6060" />
+ <tetrahedron index="27459" v0="3254" v1="3813" v2="3814" v3="5129" />
+ <tetrahedron index="27460" v0="3601" v1="4143" v2="4800" v3="5367" />
+ <tetrahedron index="27461" v0="4157" v1="4759" v2="4774" v3="5082" />
+ <tetrahedron index="27462" v0="3940" v1="5176" v2="5427" v3="5787" />
+ <tetrahedron index="27463" v0="4013" v1="5717" v2="5719" v3="6385" />
+ <tetrahedron index="27464" v0="4882" v1="6092" v2="6666" v3="6667" />
+ <tetrahedron index="27465" v0="3407" v1="3931" v2="3988" v3="5927" />
+ <tetrahedron index="27466" v0="5639" v1="6317" v2="6318" v3="6319" />
+ <tetrahedron index="27467" v0="4619" v1="5319" v2="5949" v3="5963" />
+ <tetrahedron index="27468" v0="3546" v1="3547" v2="5419" v3="6077" />
+ <tetrahedron index="27469" v0="3999" v1="4461" v2="5327" v3="5975" />
+ <tetrahedron index="27470" v0="4612" v1="4619" v2="5757" v3="5963" />
+ <tetrahedron index="27471" v0="3798" v1="4411" v2="4678" v3="5267" />
+ <tetrahedron index="27472" v0="4889" v1="5203" v2="5822" v3="6873" />
+ <tetrahedron index="27473" v0="5070" v1="5642" v2="5643" v3="6320" />
+ <tetrahedron index="27474" v0="5316" v1="5959" v2="6764" v3="6894" />
+ <tetrahedron index="27475" v0="3808" v1="4376" v2="5586" v3="6258" />
+ <tetrahedron index="27476" v0="3541" v1="4029" v2="4826" v3="5247" />
+ <tetrahedron index="27477" v0="3562" v1="3875" v2="6010" v3="6607" />
+ <tetrahedron index="27478" v0="3838" v1="4078" v2="5120" v3="5277" />
+ <tetrahedron index="27479" v0="3339" v1="4485" v2="5471" v3="6350" />
+ <tetrahedron index="27480" v0="3340" v1="5158" v2="5471" v3="5765" />
+ <tetrahedron index="27481" v0="4948" v1="5141" v2="5738" v3="6028" />
+ <tetrahedron index="27482" v0="3250" v1="4981" v2="5464" v3="6131" />
+ <tetrahedron index="27483" v0="3726" v1="5126" v2="5723" v3="6200" />
+ <tetrahedron index="27484" v0="4000" v1="4001" v2="4763" v3="5144" />
+ <tetrahedron index="27485" v0="4906" v1="5038" v2="5406" v3="5883" />
+ <tetrahedron index="27486" v0="3800" v1="3872" v2="4073" v3="5295" />
+ <tetrahedron index="27487" v0="3969" v1="4064" v2="5076" v3="5683" />
+ <tetrahedron index="27488" v0="4902" v1="5627" v2="5915" v3="6306" />
+ <tetrahedron index="27489" v0="3777" v1="3778" v2="4776" v3="6284" />
+ <tetrahedron index="27490" v0="4365" v1="5487" v2="5878" v3="6517" />
+ <tetrahedron index="27491" v0="4904" v1="5875" v2="6122" v3="6689" />
+ <tetrahedron index="27492" v0="5416" v1="6124" v2="6173" v3="6725" />
+ <tetrahedron index="27493" v0="4530" v1="4798" v2="5525" v3="6196" />
+ <tetrahedron index="27494" v0="3907" v1="4081" v2="5317" v3="6658" />
+ <tetrahedron index="27495" v0="4267" v1="5342" v2="5474" v3="6928" />
+ <tetrahedron index="27496" v0="3313" v1="3833" v2="5213" v3="5679" />
+ <tetrahedron index="27497" v0="4595" v1="5220" v2="5476" v3="6486" />
+ <tetrahedron index="27498" v0="3397" v1="5064" v2="5628" v3="5629" />
+ <tetrahedron index="27499" v0="3474" v1="5102" v2="5545" v3="5688" />
+ <tetrahedron index="27500" v0="4895" v1="6782" v2="6881" v3="6957" />
+ <tetrahedron index="27501" v0="4823" v1="5082" v2="5090" v3="5657" />
+ <tetrahedron index="27502" v0="4977" v1="6112" v2="6322" v3="6441" />
+ <tetrahedron index="27503" v0="3231" v1="3232" v2="3657" v3="5472" />
+ <tetrahedron index="27504" v0="3975" v1="4302" v2="4508" v3="6262" />
+ <tetrahedron index="27505" v0="4911" v1="5057" v2="5610" v3="5900" />
+ <tetrahedron index="27506" v0="3281" v1="5266" v2="5480" v3="6145" />
+ <tetrahedron index="27507" v0="4391" v1="4586" v2="5178" v3="5425" />
+ <tetrahedron index="27508" v0="4552" v1="5181" v2="5792" v3="6449" />
+ <tetrahedron index="27509" v0="5748" v1="6001" v2="6408" v3="6840" />
+ <tetrahedron index="27510" v0="3812" v1="3842" v2="4586" v3="5425" />
+ <tetrahedron index="27511" v0="4879" v1="5180" v2="5182" v3="6451" />
+ <tetrahedron index="27512" v0="3897" v1="5210" v2="5700" v3="5825" />
+ <tetrahedron index="27513" v0="4972" v1="5740" v2="5741" v3="6404" />
+ <tetrahedron index="27514" v0="4361" v1="4692" v2="4695" v3="4696" />
+ <tetrahedron index="27515" v0="3372" v1="5454" v2="5455" v3="6114" />
+ <tetrahedron index="27516" v0="6102" v1="6103" v2="6676" v3="6892" />
+ <tetrahedron index="27517" v0="3496" v1="5447" v2="5449" v3="5775" />
+ <tetrahedron index="27518" v0="4881" v1="5186" v2="5187" v3="5799" />
+ <tetrahedron index="27519" v0="4881" v1="5000" v2="5799" v3="6455" />
+ <tetrahedron index="27520" v0="4949" v1="5378" v2="6029" v3="6202" />
+ <tetrahedron index="27521" v0="4895" v1="5602" v2="6275" v3="6278" />
+ <tetrahedron index="27522" v0="3876" v1="4152" v2="5099" v3="5611" />
+ <tetrahedron index="27523" v0="5268" v1="5902" v2="6097" v3="6671" />
+ <tetrahedron index="27524" v0="5351" v1="6411" v2="6600" v3="6916" />
+ <tetrahedron index="27525" v0="3294" v1="3295" v2="3917" v3="5542" />
+ <tetrahedron index="27526" v0="4982" v1="5151" v2="6315" v3="6316" />
+ <tetrahedron index="27527" v0="3571" v1="4686" v2="5400" v3="5401" />
+ <tetrahedron index="27528" v0="4349" v1="4389" v2="5634" v3="6008" />
+ <tetrahedron index="27529" v0="4887" v1="5713" v2="5718" v3="6387" />
+ <tetrahedron index="27530" v0="3432" v1="4960" v2="5408" v3="6019" />
+ <tetrahedron index="27531" v0="5039" v1="5707" v2="5967" v3="5968" />
+ <tetrahedron index="27532" v0="4933" v1="5328" v2="5331" v3="5977" />
+ <tetrahedron index="27533" v0="4856" v1="4991" v2="5587" v3="5588" />
+ <tetrahedron index="27534" v0="3263" v1="3700" v2="3891" v3="4218" />
+ <tetrahedron index="27535" v0="3828" v1="5271" v2="5273" v3="5513" />
+ <tetrahedron index="27536" v0="5190" v1="5959" v2="6430" v3="6805" />
+ <tetrahedron index="27537" v0="4878" v1="5040" v2="5175" v3="5581" />
+ <tetrahedron index="27538" v0="4964" v1="6105" v2="6129" v3="6678" />
+ <tetrahedron index="27539" v0="4054" v1="4399" v2="4400" v3="5631" />
+ <tetrahedron index="27540" v0="3302" v1="5219" v2="5834" v3="5838" />
+ <tetrahedron index="27541" v0="4907" v1="5251" v2="5252" v3="5619" />
+ <tetrahedron index="27542" v0="5006" v1="5272" v2="5910" v3="6178" />
+ <tetrahedron index="27543" v0="5047" v1="6261" v2="6264" v3="6637" />
+ <tetrahedron index="27544" v0="4938" v1="5345" v2="6191" v3="6272" />
+ <tetrahedron index="27545" v0="4346" v1="5066" v2="5082" v3="5658" />
+ <tetrahedron index="27546" v0="3983" v1="5124" v2="5721" v3="5827" />
+ <tetrahedron index="27547" v0="4841" v1="5058" v2="5090" v3="5099" />
+ <tetrahedron index="27548" v0="3978" v1="4540" v2="4775" v3="6048" />
+ <tetrahedron index="27549" v0="3978" v1="4585" v2="4775" v3="6048" />
+ <tetrahedron index="27550" v0="5246" v1="5527" v2="5807" v3="5874" />
+ <tetrahedron index="27551" v0="4480" v1="4612" v2="4619" v3="5757" />
+ <tetrahedron index="27552" v0="4049" v1="4667" v2="5077" v3="6206" />
+ <tetrahedron index="27553" v0="4999" v1="5498" v2="6161" v3="6163" />
+ <tetrahedron index="27554" v0="3907" v1="4081" v2="4162" v3="5317" />
+ <tetrahedron index="27555" v0="5143" v1="5187" v2="5801" v3="5803" />
+ <tetrahedron index="27556" v0="3390" v1="3976" v2="3977" v3="6351" />
+ <tetrahedron index="27557" v0="6279" v1="6712" v2="6783" v3="6979" />
+ <tetrahedron index="27558" v0="3259" v1="4479" v2="4865" v3="6423" />
+ <tetrahedron index="27559" v0="4938" v1="5991" v2="6270" v3="6585" />
+ <tetrahedron index="27560" v0="5809" v1="6461" v2="6969" v3="6989" />
+ <tetrahedron index="27561" v0="5557" v1="6193" v2="6231" v3="6232" />
+ <tetrahedron index="27562" v0="3938" v1="5709" v2="5968" v3="6379" />
+ <tetrahedron index="27563" v0="4342" v1="4667" v2="5007" v3="5654" />
+ <tetrahedron index="27564" v0="3318" v1="4389" v2="4503" v3="5658" />
+ <tetrahedron index="27565" v0="4882" v1="6589" v2="6667" v3="6939" />
+ <tetrahedron index="27566" v0="4573" v1="4574" v2="5109" v3="5830" />
+ <tetrahedron index="27567" v0="4953" v1="5389" v2="6207" v3="6463" />
+ <tetrahedron index="27568" v0="5104" v1="5259" v2="5899" v3="6241" />
+ <tetrahedron index="27569" v0="3361" v1="3479" v2="3480" v3="6343" />
+ <tetrahedron index="27570" v0="4877" v1="5040" v2="5171" v3="5578" />
+ <tetrahedron index="27571" v0="3481" v1="3482" v2="4061" v3="5206" />
+ <tetrahedron index="27572" v0="3780" v1="3937" v2="4585" v3="5394" />
+ <tetrahedron index="27573" v0="4580" v1="4581" v2="5150" v3="6179" />
+ <tetrahedron index="27574" v0="3604" v1="4520" v2="5738" v3="6544" />
+ <tetrahedron index="27575" v0="5024" v1="5525" v2="5549" v3="6198" />
+ <tetrahedron index="27576" v0="4920" v1="5292" v2="5293" v3="5930" />
+ <tetrahedron index="27577" v0="4854" v1="5762" v2="6566" v3="6894" />
+ <tetrahedron index="27578" v0="3703" v1="5067" v2="6020" v3="6038" />
+ <tetrahedron index="27579" v0="4352" v1="5368" v2="5728" v3="6614" />
+ <tetrahedron index="27580" v0="5399" v1="5691" v2="6361" v3="6362" />
+ <tetrahedron index="27581" v0="3238" v1="5258" v2="5419" v3="5663" />
+ <tetrahedron index="27582" v0="4596" v1="4718" v2="4779" v3="6187" />
+ <tetrahedron index="27583" v0="5995" v1="6594" v2="6616" v3="6723" />
+ <tetrahedron index="27584" v0="4209" v1="5305" v2="5942" v3="6552" />
+ <tetrahedron index="27585" v0="4921" v1="5089" v2="5295" v3="5670" />
+ <tetrahedron index="27586" v0="4984" v1="5624" v2="5902" v3="6299" />
+ <tetrahedron index="27587" v0="3354" v1="3476" v2="5117" v3="6337" />
+ <tetrahedron index="27588" v0="5403" v1="5445" v2="6061" v3="6445" />
+ <tetrahedron index="27589" v0="4893" v1="5021" v2="5835" v3="6503" />
+ <tetrahedron index="27590" v0="4047" v1="5077" v2="5103" v3="5802" />
+ <tetrahedron index="27591" v0="3495" v1="3498" v2="4151" v3="6109" />
+ <tetrahedron index="27592" v0="3991" v1="4209" v2="4399" v3="6553" />
+ <tetrahedron index="27593" v0="3282" v1="3383" v2="5382" v3="5726" />
+ <tetrahedron index="27594" v0="4516" v1="5208" v2="5694" v3="6400" />
+ <tetrahedron index="27595" v0="5003" v1="5294" v2="5506" v3="5929" />
+ <tetrahedron index="27596" v0="3459" v1="5607" v2="6285" v3="6788" />
+ <tetrahedron index="27597" v0="3516" v1="3556" v2="4550" v3="5017" />
+ <tetrahedron index="27598" v0="3619" v1="5419" v2="5663" v3="6498" />
+ <tetrahedron index="27599" v0="3441" v1="3565" v2="5091" v3="5674" />
+ <tetrahedron index="27600" v0="4850" v1="6654" v2="6934" v3="6935" />
+ <tetrahedron index="27601" v0="4038" v1="4600" v2="4768" v3="5718" />
+ <tetrahedron index="27602" v0="4174" v1="4226" v2="4482" v3="5898" />
+ <tetrahedron index="27603" v0="4027" v1="4031" v2="4104" v3="4801" />
+ <tetrahedron index="27604" v0="5686" v1="5687" v2="5837" v3="6484" />
+ <tetrahedron index="27605" v0="4606" v1="4607" v2="5869" v3="5870" />
+ <tetrahedron index="27606" v0="3253" v1="3765" v2="4016" v3="5937" />
+ <tetrahedron index="27607" v0="3591" v1="3592" v2="4041" v3="5565" />
+ <tetrahedron index="27608" v0="3480" v1="4115" v2="5089" v3="5671" />
+ <tetrahedron index="27609" v0="4035" v1="5822" v2="6476" v3="6823" />
+ <tetrahedron index="27610" v0="3598" v1="3599" v2="3614" v3="5083" />
+ <tetrahedron index="27611" v0="3797" v1="5022" v2="5891" v3="6814" />
+ <tetrahedron index="27612" v0="5313" v1="5314" v2="5956" v3="6477" />
+ <tetrahedron index="27613" v0="4923" v1="5302" v2="5638" v3="5938" />
+ <tetrahedron index="27614" v0="4520" v1="5136" v2="5377" v3="5738" />
+ <tetrahedron index="27615" v0="4949" v1="5554" v2="6029" v3="6202" />
+ <tetrahedron index="27616" v0="4979" v1="5767" v2="6335" v3="6832" />
+ <tetrahedron index="27617" v0="4623" v1="6179" v2="6184" v3="6186" />
+ <tetrahedron index="27618" v0="3441" v1="3565" v2="3824" v3="5091" />
+ <tetrahedron index="27619" v0="4953" v1="5388" v2="6207" v3="6744" />
+ <tetrahedron index="27620" v0="3233" v1="4510" v2="5163" v3="6438" />
+ <tetrahedron index="27621" v0="4478" v1="4479" v2="4480" v3="5154" />
+ <tetrahedron index="27622" v0="5252" v1="5619" v2="5886" v3="6526" />
+ <tetrahedron index="27623" v0="3933" v1="4316" v2="4348" v3="5241" />
+ <tetrahedron index="27624" v0="4895" v1="5363" v2="6155" v3="6492" />
+ <tetrahedron index="27625" v0="4157" v1="4346" v2="4801" v3="5082" />
+ <tetrahedron index="27626" v0="4090" v1="4258" v2="4771" v3="5189" />
+ <tetrahedron index="27627" v0="4886" v1="6731" v2="6817" v3="7003" />
+ <tetrahedron index="27628" v0="4519" v1="4824" v2="4842" v3="5104" />
+ <tetrahedron index="27629" v0="3557" v1="4529" v2="4550" v3="6453" />
+ <tetrahedron index="27630" v0="4987" v1="5477" v2="5846" v3="6141" />
+ <tetrahedron index="27631" v0="3527" v1="4195" v2="5442" v3="5444" />
+ <tetrahedron index="27632" v0="5989" v1="6595" v2="6845" v3="6846" />
+ <tetrahedron index="27633" v0="5764" v1="6727" v2="6765" v3="6806" />
+ <tetrahedron index="27634" v0="6148" v1="6705" v2="6955" v3="7020" />
+ <tetrahedron index="27635" v0="5284" v1="5750" v2="6179" v3="6411" />
+ <tetrahedron index="27636" v0="3373" v1="3381" v2="5492" v3="5845" />
+ <tetrahedron index="27637" v0="4916" v1="5278" v2="5918" v3="5922" />
+ <tetrahedron index="27638" v0="4852" v1="6286" v2="6287" v3="6789" />
+ <tetrahedron index="27639" v0="4969" v1="5502" v2="5591" v3="6376" />
+ <tetrahedron index="27640" v0="4979" v1="5084" v2="5660" v3="5767" />
+ <tetrahedron index="27641" v0="4383" v1="4385" v2="4655" v3="5948" />
+ <tetrahedron index="27642" v0="6429" v1="6851" v2="6853" v3="6854" />
+ <tetrahedron index="27643" v0="5630" v1="6727" v2="6806" v3="6975" />
+ <tetrahedron index="27644" v0="5207" v1="5210" v2="5700" v3="5825" />
+ <tetrahedron index="27645" v0="3651" v1="4522" v2="5499" v3="6164" />
+ <tetrahedron index="27646" v0="3388" v1="4412" v2="5048" v3="5592" />
+ <tetrahedron index="27647" v0="4524" v1="5285" v2="5515" v3="6179" />
+ <tetrahedron index="27648" v0="3297" v1="4476" v2="5836" v3="6483" />
+ <tetrahedron index="27649" v0="4591" v1="4618" v2="5135" v3="5830" />
+ <tetrahedron index="27650" v0="3779" v1="5985" v2="5987" v3="6581" />
+ <tetrahedron index="27651" v0="5076" v1="5653" v2="5912" v3="5914" />
+ <tetrahedron index="27652" v0="4918" v1="6456" v2="6545" v3="6567" />
+ <tetrahedron index="27653" v0="4884" v1="5191" v2="5811" v3="6209" />
+ <tetrahedron index="27654" v0="4470" v1="4817" v2="5489" v3="6468" />
+ <tetrahedron index="27655" v0="3610" v1="3962" v2="5198" v3="5818" />
+ <tetrahedron index="27656" v0="4476" v1="5218" v2="5836" v3="5859" />
+ <tetrahedron index="27657" v0="5150" v1="5752" v2="6179" v3="6186" />
+ <tetrahedron index="27658" v0="4936" v1="5340" v2="6044" v3="6807" />
+ <tetrahedron index="27659" v0="4219" v1="4658" v2="5302" v3="5638" />
+ <tetrahedron index="27660" v0="3297" v1="3607" v2="5217" v3="5836" />
+ <tetrahedron index="27661" v0="3924" v1="4515" v2="5179" v3="5793" />
+ <tetrahedron index="27662" v0="5363" v1="6278" v2="6780" v3="6783" />
+ <tetrahedron index="27663" v0="4909" v1="5085" v2="5117" v3="5664" />
+ <tetrahedron index="27664" v0="5244" v1="5460" v2="6124" v3="6125" />
+ <tetrahedron index="27665" v0="3366" v1="4101" v2="5106" v3="5878" />
+ <tetrahedron index="27666" v0="4152" v1="4691" v2="4692" v3="5099" />
+ <tetrahedron index="27667" v0="4941" v1="5634" v2="6314" v3="6609" />
+ <tetrahedron index="27668" v0="3709" v1="3735" v2="4230" v3="5182" />
+ <tetrahedron index="27669" v0="4526" v1="4692" v2="4695" v3="5090" />
+ <tetrahedron index="27670" v0="4978" v1="5455" v2="5623" v3="6168" />
+ <tetrahedron index="27671" v0="3917" v1="4416" v2="5238" v3="5863" />
+ <tetrahedron index="27672" v0="5021" v1="5542" v2="5859" v3="6504" />
+ <tetrahedron index="27673" v0="4936" v1="5984" v2="6577" v3="6901" />
+ <tetrahedron index="27674" v0="3514" v1="3677" v2="6038" v3="6068" />
+ <tetrahedron index="27675" v0="5029" v1="5560" v2="6331" v3="6424" />
+ <tetrahedron index="27676" v0="4010" v1="4412" v2="4592" v3="5079" />
+ <tetrahedron index="27677" v0="3618" v1="3632" v2="4647" v3="5768" />
+ <tetrahedron index="27678" v0="4871" v1="5049" v2="6112" v3="6438" />
+ <tetrahedron index="27679" v0="3944" v1="4606" v2="4642" v3="5870" />
+ <tetrahedron index="27680" v0="4575" v1="5146" v2="5678" v3="6700" />
+ <tetrahedron index="27681" v0="5190" v1="5556" v2="6461" v3="6895" />
+ <tetrahedron index="27682" v0="3816" v1="4138" v2="4139" v3="6620" />
+ <tetrahedron index="27683" v0="4976" v1="5197" v2="6176" v3="6177" />
+ <tetrahedron index="27684" v0="3250" v1="4981" v2="5299" v3="6131" />
+ <tetrahedron index="27685" v0="4340" v1="4717" v2="4718" v3="5411" />
+ <tetrahedron index="27686" v0="5761" v1="6425" v2="6426" v3="6984" />
+ <tetrahedron index="27687" v0="3274" v1="5201" v2="5320" v3="5965" />
+ <tetrahedron index="27688" v0="5941" v1="6568" v2="6922" v3="7010" />
+ <tetrahedron index="27689" v0="3698" v1="5274" v2="5275" v3="5276" />
+ <tetrahedron index="27690" v0="3437" v1="5328" v2="5331" v3="5977" />
+ <tetrahedron index="27691" v0="5100" v1="5110" v2="5701" v3="6368" />
+ <tetrahedron index="27692" v0="3701" v1="3703" v2="4465" v3="6038" />
+ <tetrahedron index="27693" v0="5221" v1="5997" v2="6488" v3="6596" />
+ <tetrahedron index="27694" v0="4592" v1="5103" v2="5802" v3="5804" />
+ <tetrahedron index="27695" v0="5244" v1="6124" v2="6125" v3="6175" />
+ <tetrahedron index="27696" v0="5241" v1="5609" v2="5867" v3="5868" />
+ <tetrahedron index="27697" v0="4943" v1="5152" v2="5362" v3="6012" />
+ <tetrahedron index="27698" v0="4401" v1="4403" v2="4520" v3="5136" />
+ <tetrahedron index="27699" v0="5330" v1="5375" v2="5976" v3="6026" />
+ <tetrahedron index="27700" v0="4141" v1="4254" v2="4367" v3="5039" />
+ <tetrahedron index="27701" v0="4985" v1="5158" v2="5472" v3="5473" />
+ <tetrahedron index="27702" v0="3518" v1="5752" v2="6414" v3="6468" />
+ <tetrahedron index="27703" v0="4011" v1="4018" v2="4075" v3="6339" />
+ <tetrahedron index="27704" v0="4622" v1="5523" v2="5944" v3="6556" />
+ <tetrahedron index="27705" v0="5714" v1="6382" v2="6384" v3="6833" />
+ <tetrahedron index="27706" v0="4380" v1="5131" v2="5161" v3="5732" />
+ <tetrahedron index="27707" v0="3740" v1="4617" v2="4638" v3="5356" />
+ <tetrahedron index="27708" v0="4554" v1="4824" v2="5104" v3="6347" />
+ <tetrahedron index="27709" v0="4066" v1="4888" v2="6405" v3="6838" />
+ <tetrahedron index="27710" v0="3503" v1="4982" v2="5384" v3="5466" />
+ <tetrahedron index="27711" v0="4861" v1="6585" v2="6622" v3="6624" />
+ <tetrahedron index="27712" v0="4305" v1="4353" v2="4354" v3="5508" />
+ <tetrahedron index="27713" v0="5084" v1="5093" v2="5662" v3="5767" />
+ <tetrahedron index="27714" v0="5666" v1="5690" v2="6339" v3="6823" />
+ <tetrahedron index="27715" v0="4101" v1="4685" v2="5487" v3="5878" />
+ <tetrahedron index="27716" v0="5334" v1="5677" v2="6137" v3="6350" />
+ <tetrahedron index="27717" v0="3671" v1="3860" v2="5124" v3="5694" />
+ <tetrahedron index="27718" v0="5556" v1="6209" v2="6230" v3="6747" />
+ <tetrahedron index="27719" v0="3299" v1="3674" v2="5834" v3="5855" />
+ <tetrahedron index="27720" v0="4594" v1="5078" v2="5231" v3="5717" />
+ <tetrahedron index="27721" v0="3867" v1="3907" v2="5287" v3="6082" />
+ <tetrahedron index="27722" v0="5290" v1="5643" v2="5732" v3="6396" />
+ <tetrahedron index="27723" v0="4277" v1="4305" v2="4541" v3="5754" />
+ <tetrahedron index="27724" v0="3324" v1="4023" v2="4132" v3="5427" />
+ <tetrahedron index="27725" v0="4401" v1="4566" v2="5136" v3="5375" />
+ <tetrahedron index="27726" v0="4518" v1="4952" v2="5369" v3="6039" />
+ <tetrahedron index="27727" v0="4837" v1="5194" v2="5352" v3="6000" />
+ <tetrahedron index="27728" v0="4341" v1="5510" v2="6172" v3="6185" />
+ <tetrahedron index="27729" v0="3399" v1="3401" v2="3403" v3="5827" />
+ <tetrahedron index="27730" v0="4978" v1="5454" v2="5494" v3="6115" />
+ <tetrahedron index="27731" v0="3454" v1="5207" v2="5828" v3="5871" />
+ <tetrahedron index="27732" v0="4308" v1="4815" v2="5583" v3="6579" />
+ <tetrahedron index="27733" v0="3575" v1="3631" v2="5251" v3="5885" />
+ <tetrahedron index="27734" v0="4855" v1="5319" v2="5949" v3="5963" />
+ <tetrahedron index="27735" v0="4039" v1="4040" v2="4776" v3="5606" />
+ <tetrahedron index="27736" v0="3438" v1="5608" v2="5696" v3="5848" />
+ <tetrahedron index="27737" v0="6590" v1="6754" v2="6911" v3="6971" />
+ <tetrahedron index="27738" v0="4218" v1="5001" v2="5030" v3="5562" />
+ <tetrahedron index="27739" v0="3430" v1="6337" v2="6375" v3="6528" />
+ <tetrahedron index="27740" v0="5411" v1="6127" v2="6180" v3="6732" />
+ <tetrahedron index="27741" v0="5051" v1="5815" v2="6271" v3="6473" />
+ <tetrahedron index="27742" v0="3866" v1="5287" v2="6256" v3="6257" />
+ <tetrahedron index="27743" v0="5995" v1="6030" v2="6594" v3="6616" />
+ <tetrahedron index="27744" v0="4123" v1="4380" v2="5131" v3="5161" />
+ <tetrahedron index="27745" v0="4211" v1="4551" v2="4706" v3="6552" />
+ <tetrahedron index="27746" v0="3555" v1="3641" v2="4078" v3="6089" />
+ <tetrahedron index="27747" v0="3438" v1="3439" v2="3440" v3="5608" />
+ <tetrahedron index="27748" v0="4876" v1="4974" v2="5445" v3="5783" />
+ <tetrahedron index="27749" v0="4074" v1="4075" v2="4289" v3="5230" />
+ <tetrahedron index="27750" v0="4923" v1="4982" v2="6037" v3="6315" />
+ <tetrahedron index="27751" v0="4975" v1="5448" v2="5865" v3="5867" />
+ <tetrahedron index="27752" v0="4087" v1="5188" v2="6090" v3="6665" />
+ <tetrahedron index="27753" v0="4892" v1="5214" v2="5563" v3="6480" />
+ <tetrahedron index="27754" v0="3489" v1="3699" v2="3854" v3="5380" />
+ <tetrahedron index="27755" v0="4934" v1="5333" v2="5335" v3="5980" />
+ <tetrahedron index="27756" v0="4913" v1="5063" v2="5270" v3="6534" />
+ <tetrahedron index="27757" v0="3384" v1="3385" v2="6035" v3="6036" />
+ <tetrahedron index="27758" v0="4804" v1="4806" v2="5900" v3="6603" />
+ <tetrahedron index="27759" v0="4924" v1="5305" v2="5763" v3="5943" />
+ <tetrahedron index="27760" v0="3939" v1="4197" v2="4796" v3="5176" />
+ <tetrahedron index="27761" v0="6414" v1="6469" v2="6844" v3="6871" />
+ <tetrahedron index="27762" v0="3729" v1="3979" v2="4207" v3="5771" />
+ <tetrahedron index="27763" v0="5156" v1="5760" v2="6131" v3="6425" />
+ <tetrahedron index="27764" v0="4189" v1="6041" v2="6211" v3="6970" />
+ <tetrahedron index="27765" v0="3382" v1="3387" v2="3798" v3="5041" />
+ <tetrahedron index="27766" v0="4043" v1="5195" v2="6192" v3="6471" />
+ <tetrahedron index="27767" v0="3804" v1="4418" v2="4530" v3="5322" />
+ <tetrahedron index="27768" v0="3965" v1="5144" v2="6403" v3="6404" />
+ <tetrahedron index="27769" v0="3987" v1="4481" v2="4482" v3="5074" />
+ <tetrahedron index="27770" v0="4024" v1="4133" v2="4322" v3="4435" />
+ <tetrahedron index="27771" v0="4877" v1="5496" v2="5619" v3="5885" />
+ <tetrahedron index="27772" v0="4618" v1="5135" v2="5884" v3="6816" />
+ <tetrahedron index="27773" v0="3390" v1="3977" v2="5118" v3="6351" />
+ <tetrahedron index="27774" v0="4893" v1="4988" v2="5216" v3="6503" />
+ <tetrahedron index="27775" v0="3690" v1="4799" v2="5013" v3="6199" />
+ <tetrahedron index="27776" v0="4985" v1="5471" v2="6137" v3="6138" />
+ <tetrahedron index="27777" v0="5200" v1="5852" v2="6388" v3="6500" />
+ <tetrahedron index="27778" v0="3638" v1="3731" v2="4750" v3="5955" />
+ <tetrahedron index="27779" v0="5057" v1="5379" v2="6030" v3="6031" />
+ <tetrahedron index="27780" v0="3301" v1="3966" v2="5055" v3="5854" />
+ <tetrahedron index="27781" v0="4654" v1="5204" v2="5957" v3="6873" />
+ <tetrahedron index="27782" v0="3622" v1="4637" v2="5862" v3="5918" />
+ <tetrahedron index="27783" v0="3807" v1="3859" v2="3932" v3="5332" />
+ <tetrahedron index="27784" v0="5113" v1="5704" v2="5888" v3="5891" />
+ <tetrahedron index="27785" v0="3540" v1="3733" v2="4195" v3="6118" />
+ <tetrahedron index="27786" v0="4044" v1="5362" v2="5555" v3="6229" />
+ <tetrahedron index="27787" v0="5550" v1="6597" v2="6906" v3="6907" />
+ <tetrahedron index="27788" v0="3358" v1="3912" v2="4675" v3="5138" />
+ <tetrahedron index="27789" v0="4089" v1="4469" v2="4505" v3="5429" />
+ <tetrahedron index="27790" v0="3649" v1="3865" v2="4405" v3="6067" />
+ <tetrahedron index="27791" v0="3964" v1="3965" v2="6403" v3="6819" />
+ <tetrahedron index="27792" v0="5454" v1="6115" v2="6493" v3="6884" />
+ <tetrahedron index="27793" v0="3356" v1="3357" v2="3903" v3="5850" />
+ <tetrahedron index="27794" v0="4717" v1="5462" v2="6180" v3="6889" />
+ <tetrahedron index="27795" v0="3589" v1="3845" v2="5232" v3="6502" />
+ <tetrahedron index="27796" v0="3576" v1="3793" v2="3794" v3="5785" />
+ <tetrahedron index="27797" v0="5110" v1="5698" v2="6368" v3="6370" />
+ <tetrahedron index="27798" v0="3645" v1="4645" v2="5252" v3="6526" />
+ <tetrahedron index="27799" v0="4612" v1="4620" v2="4763" v3="5145" />
+ <tetrahedron index="27800" v0="3546" v1="3830" v2="4668" v3="6077" />
+ <tetrahedron index="27801" v0="3606" v1="3673" v2="3953" v3="5141" />
+ <tetrahedron index="27802" v0="4899" v1="5232" v2="5233" v3="5855" />
+ <tetrahedron index="27803" v0="4616" v1="4743" v2="4998" v3="5496" />
+ <tetrahedron index="27804" v0="4415" v1="4416" v2="5863" v3="6505" />
+ <tetrahedron index="27805" v0="3696" v1="3827" v2="3952" v3="5513" />
+ <tetrahedron index="27806" v0="4875" v1="5011" v2="5012" v3="5524" />
+ <tetrahedron index="27807" v0="5206" v1="5312" v2="5821" v3="5824" />
+ <tetrahedron index="27808" v0="4999" v1="5668" v2="5798" v3="6160" />
+ <tetrahedron index="27809" v0="3796" v1="5022" v2="5544" v3="5891" />
+ <tetrahedron index="27810" v0="3478" v1="3635" v2="5181" v3="5791" />
+ <tetrahedron index="27811" v0="3827" v1="3829" v2="4103" v3="5450" />
+ <tetrahedron index="27812" v0="3342" v1="3771" v2="4107" v3="5769" />
+ <tetrahedron index="27813" v0="4932" v1="5121" v2="5325" v3="5327" />
+ <tetrahedron index="27814" v0="5012" v1="5759" v2="6235" v3="6423" />
+ <tetrahedron index="27815" v0="4893" v1="5215" v2="5217" v3="6481" />
+ <tetrahedron index="27816" v0="3671" v1="4002" v2="4360" v3="6372" />
+ <tetrahedron index="27817" v0="4238" v1="4721" v2="4733" v3="6395" />
+ <tetrahedron index="27818" v0="3246" v1="3446" v2="5621" v3="6297" />
+ <tetrahedron index="27819" v0="4866" v1="5625" v2="6072" v3="6652" />
+ <tetrahedron index="27820" v0="4984" v1="6135" v2="6295" v3="6699" />
+ <tetrahedron index="27821" v0="3425" v1="5017" v2="5143" v3="5801" />
+ <tetrahedron index="27822" v0="3422" v1="4589" v2="5298" v3="5314" />
+ <tetrahedron index="27823" v0="5481" v1="5770" v2="6434" v3="6836" />
+ <tetrahedron index="27824" v0="4116" v1="4540" v2="5573" v3="6048" />
+ <tetrahedron index="27825" v0="3439" v1="4019" v2="5054" v3="5851" />
+ <tetrahedron index="27826" v0="4931" v1="5322" v2="5707" v3="6379" />
+ <tetrahedron index="27827" v0="3861" v1="4983" v2="5468" v3="6326" />
+ <tetrahedron index="27828" v0="5104" v1="5689" v2="6531" v3="6828" />
+ <tetrahedron index="27829" v0="3457" v1="3886" v2="5134" v3="6087" />
+ <tetrahedron index="27830" v0="4870" v1="5070" v2="5161" v3="5641" />
+ <tetrahedron index="27831" v0="3263" v1="5455" v2="5504" v3="6158" />
+ <tetrahedron index="27832" v0="3499" v1="4355" v2="4408" v3="5688" />
+ <tetrahedron index="27833" v0="3486" v1="4081" v2="4082" v3="5422" />
+ <tetrahedron index="27834" v0="4849" v1="6170" v2="6784" v3="6948" />
+ <tetrahedron index="27835" v0="3362" v1="3731" v2="5955" v3="6344" />
+ <tetrahedron index="27836" v0="3296" v1="5021" v2="5542" v3="5859" />
+ <tetrahedron index="27837" v0="4985" v1="5158" v2="5471" v3="5472" />
+ <tetrahedron index="27838" v0="3491" v1="4728" v2="4794" v3="5857" />
+ <tetrahedron index="27839" v0="3834" v1="3996" v2="4004" v3="5737" />
+ <tetrahedron index="27840" v0="3752" v1="4156" v2="4578" v3="6274" />
+ <tetrahedron index="27841" v0="3507" v1="5222" v2="6630" v3="6710" />
+ <tetrahedron index="27842" v0="3501" v1="5214" v2="5339" v3="5563" />
+ <tetrahedron index="27843" v0="4627" v1="4632" v2="4633" v3="5597" />
+ <tetrahedron index="27844" v0="3448" v1="3682" v2="3951" v3="5017" />
+ <tetrahedron index="27845" v0="3563" v1="5122" v2="5674" v3="5715" />
+ <tetrahedron index="27846" v0="4988" v1="5235" v2="5237" v3="5479" />
+ <tetrahedron index="27847" v0="5031" v1="5212" v2="5831" v3="6760" />
+ <tetrahedron index="27848" v0="3304" v1="3669" v2="3670" v3="5720" />
+ <tetrahedron index="27849" v0="3791" v1="4785" v2="5319" v3="5962" />
+ <tetrahedron index="27850" v0="5013" v1="5111" v2="6197" v3="6739" />
+ <tetrahedron index="27851" v0="5829" v1="6364" v2="6478" v3="6887" />
+ <tetrahedron index="27852" v0="6117" v1="6121" v2="6123" v3="6201" />
+ <tetrahedron index="27853" v0="3278" v1="3281" v2="3282" v3="3284" />
+ <tetrahedron index="27854" v0="5713" v1="5718" v2="6387" v3="6449" />
+ <tetrahedron index="27855" v0="5255" v1="5567" v2="6360" v3="6813" />
+ <tetrahedron index="27856" v0="4853" v1="4906" v2="5011" v3="5882" />
+ <tetrahedron index="27857" v0="3578" v1="3580" v2="3609" v3="5571" />
+ <tetrahedron index="27858" v0="3580" v1="5035" v2="5571" v3="6390" />
+ <tetrahedron index="27859" v0="5284" v1="5750" v2="6411" v3="6845" />
+ <tetrahedron index="27860" v0="4888" v1="5319" v2="5483" v3="5963" />
+ <tetrahedron index="27861" v0="4902" v1="5124" v2="5720" v3="6306" />
+ <tetrahedron index="27862" v0="4867" v1="6213" v2="6466" v3="6467" />
+ <tetrahedron index="27863" v0="3470" v1="3618" v2="4262" v3="5662" />
+ <tetrahedron index="27864" v0="3990" v1="4255" v2="5110" v3="5699" />
+ <tetrahedron index="27865" v0="3365" v1="5106" v2="5692" v3="6681" />
+ <tetrahedron index="27866" v0="3933" v1="3934" v2="4167" v3="5868" />
+ <tetrahedron index="27867" v0="4234" v1="4460" v2="4898" v3="5612" />
+ <tetrahedron index="27868" v0="3312" v1="3402" v2="5288" v3="6401" />
+ <tetrahedron index="27869" v0="3350" v1="3584" v2="3650" v3="5418" />
+ <tetrahedron index="27870" v0="4958" v1="5086" v2="5666" v3="5690" />
+ <tetrahedron index="27871" v0="3471" v1="3618" v2="5662" v3="5768" />
+ <tetrahedron index="27872" v0="4525" v1="4604" v2="5050" v3="5595" />
+ <tetrahedron index="27873" v0="4538" v1="4709" v2="5337" v3="5765" />
+ <tetrahedron index="27874" v0="4088" v1="4725" v2="4747" v3="5806" />
+ <tetrahedron index="27875" v0="5100" v1="5109" v2="5697" v3="6357" />
+ <tetrahedron index="27876" v0="3789" v1="3961" v2="4102" v3="5714" />
+ <tetrahedron index="27877" v0="3844" v1="4281" v2="5139" v3="6859" />
+ <tetrahedron index="27878" v0="3600" v1="5225" v2="5226" v3="5790" />
+ <tetrahedron index="27879" v0="4438" v1="6386" v2="6387" v3="6449" />
+ <tetrahedron index="27880" v0="4472" v1="4596" v2="4779" v3="5517" />
+ <tetrahedron index="27881" v0="5092" v1="5675" v2="5686" v3="6359" />
+ <tetrahedron index="27882" v0="5190" v1="6430" v2="7023" v3="7030" />
+ <tetrahedron index="27883" v0="5053" v1="5604" v2="5607" v3="6142" />
+ <tetrahedron index="27884" v0="4930" v1="5504" v2="6167" v3="6417" />
+ <tetrahedron index="27885" v0="3940" v1="4796" v2="5176" v3="5427" />
+ <tetrahedron index="27886" v0="4889" v1="5206" v2="5824" v3="6829" />
+ <tetrahedron index="27887" v0="6260" v1="6262" v2="6638" v3="6773" />
+ <tetrahedron index="27888" v0="4364" v1="4402" v2="5585" v3="5734" />
+ <tetrahedron index="27889" v0="5164" v1="5333" v2="5978" v3="6776" />
+ <tetrahedron index="27890" v0="5278" v1="5280" v2="5917" v3="5918" />
+ <tetrahedron index="27891" v0="3447" v1="3448" v2="3449" v3="5502" />
+ <tetrahedron index="27892" v0="4274" v1="5200" v2="5228" v3="6500" />
+ <tetrahedron index="27893" v0="4245" v1="4969" v2="5680" v3="6376" />
+ <tetrahedron index="27894" v0="3396" v1="4988" v2="5479" v3="6143" />
+ <tetrahedron index="27895" v0="4243" v1="5057" v2="5610" v3="6031" />
+ <tetrahedron index="27896" v0="4105" v1="4573" v2="4618" v3="5830" />
+ <tetrahedron index="27897" v0="3309" v1="5291" v2="5294" v3="5506" />
+ <tetrahedron index="27898" v0="3406" v1="3679" v2="4797" v3="5033" />
+ <tetrahedron index="27899" v0="4406" v1="4425" v2="4689" v3="6207" />
+ <tetrahedron index="27900" v0="4946" v1="5370" v2="5371" v3="6019" />
+ <tetrahedron index="27901" v0="3421" v1="4653" v2="5957" v3="6346" />
+ <tetrahedron index="27902" v0="3417" v1="5401" v2="5666" v3="6647" />
+ <tetrahedron index="27903" v0="4174" v1="4482" v2="4769" v3="5898" />
+ <tetrahedron index="27904" v0="3368" v1="4365" v2="5248" v3="6096" />
+ <tetrahedron index="27905" v0="3331" v1="3336" v2="3469" v3="5779" />
+ <tetrahedron index="27906" v0="3667" v1="5061" v2="5171" v3="5250" />
+ <tetrahedron index="27907" v0="3941" v1="3943" v2="4754" v3="5655" />
+ <tetrahedron index="27908" v0="3262" v1="3263" v2="3372" v3="5455" />
+ <tetrahedron index="27909" v0="3789" v1="4102" v2="4601" v3="5182" />
+ <tetrahedron index="27910" v0="4280" v1="4287" v2="4288" v3="5703" />
+ <tetrahedron index="27911" v0="4433" v1="4661" v2="5235" v3="5858" />
+ <tetrahedron index="27912" v0="5481" v1="5770" v2="6147" v3="6859" />
+ <tetrahedron index="27913" v0="3482" v1="5206" v2="5399" v3="6362" />
+ <tetrahedron index="27914" v0="5061" v1="5250" v2="5619" v3="5652" />
+ <tetrahedron index="27915" v0="4628" v1="5049" v2="6112" v3="6683" />
+ <tetrahedron index="27916" v0="4891" v1="5052" v2="6239" v3="6760" />
+ <tetrahedron index="27917" v0="5075" v1="5651" v2="6239" v3="6328" />
+ <tetrahedron index="27918" v0="5008" v1="5515" v2="5516" v3="6413" />
+ <tetrahedron index="27919" v0="3553" v1="4681" v2="4935" v3="5339" />
+ <tetrahedron index="27920" v0="4264" v1="5481" v2="6146" v3="6219" />
+ <tetrahedron index="27921" v0="5096" v1="5140" v2="5698" v3="5737" />
+ <tetrahedron index="27922" v0="3502" v1="3503" v2="4982" v3="5982" />
+ <tetrahedron index="27923" v0="3282" v1="3284" v2="3384" v3="3734" />
+ <tetrahedron index="27924" v0="4074" v1="5230" v2="5231" v3="6363" />
+ <tetrahedron index="27925" v0="4856" v1="5396" v2="5783" v3="6865" />
+ <tetrahedron index="27926" v0="4907" v1="4998" v2="5251" v3="5253" />
+ <tetrahedron index="27927" v0="4920" v1="5292" v2="5293" v3="5929" />
+ <tetrahedron index="27928" v0="5346" v1="6589" v2="6667" v3="6939" />
+ <tetrahedron index="27929" v0="5334" v1="5471" v2="6137" v3="6350" />
+ <tetrahedron index="27930" v0="4893" v1="5215" v2="5219" v3="5834" />
+ <tetrahedron index="27931" v0="5141" v1="5328" v2="5976" v3="5977" />
+ <tetrahedron index="27932" v0="6301" v1="6673" v2="6797" v3="6798" />
+ <tetrahedron index="27933" v0="4878" v1="5175" v2="5786" v3="5788" />
+ <tetrahedron index="27934" v0="3475" v1="5117" v2="5258" v3="5892" />
+ <tetrahedron index="27935" v0="4023" v1="4132" v2="4133" v3="5426" />
+ <tetrahedron index="27936" v0="4612" v1="5145" v2="5963" v3="6422" />
+ <tetrahedron index="27937" v0="3879" v1="4645" v2="4734" v3="5173" />
+ <tetrahedron index="27938" v0="5704" v1="5890" v2="6528" v3="6684" />
+ <tetrahedron index="27939" v0="5134" v1="5178" v2="5786" v3="5788" />
+ <tetrahedron index="27940" v0="4878" v1="5175" v2="5425" v3="5786" />
+ <tetrahedron index="27941" v0="3419" v1="3960" v2="5666" v3="6823" />
+ <tetrahedron index="27942" v0="4572" v1="5130" v2="5730" v3="6152" />
+ <tetrahedron index="27943" v0="4968" v1="5426" v2="5427" v3="5428" />
+ <tetrahedron index="27944" v0="3357" v1="5226" v2="5850" v3="6499" />
+ <tetrahedron index="27945" v0="3270" v1="3277" v2="3284" v3="6064" />
+ <tetrahedron index="27946" v0="4484" v1="4521" v2="5255" v3="6215" />
+ <tetrahedron index="27947" v0="4928" v1="5315" v2="5317" v3="6428" />
+ <tetrahedron index="27948" v0="4984" v1="5902" v2="6534" v3="6982" />
+ <tetrahedron index="27949" v0="4935" v1="5636" v2="5639" v3="6316" />
+ <tetrahedron index="27950" v0="4926" v1="5547" v2="5880" v3="6561" />
+ <tetrahedron index="27951" v0="3965" v1="5144" v2="6403" v3="6819" />
+ <tetrahedron index="27952" v0="5169" v1="5247" v2="5875" v3="5876" />
+ <tetrahedron index="27953" v0="4233" v1="5103" v2="5802" v3="5803" />
+ <tetrahedron index="27954" v0="3436" v1="3437" v2="5331" v3="5977" />
+ <tetrahedron index="27955" v0="4946" v1="4952" v2="5129" v3="6618" />
+ <tetrahedron index="27956" v0="4452" v1="4453" v2="4807" v3="5280" />
+ <tetrahedron index="27957" v0="3796" v1="3797" v2="4484" v3="6215" />
+ <tetrahedron index="27958" v0="4238" v1="5491" v2="6324" v3="6709" />
+ <tetrahedron index="27959" v0="5318" v1="6243" v2="6937" v3="6973" />
+ <tetrahedron index="27960" v0="4990" v1="5481" v2="5548" v3="6573" />
+ <tetrahedron index="27961" v0="4543" v1="4590" v2="4616" v3="5884" />
+ <tetrahedron index="27962" v0="4714" v1="4837" v2="4838" v3="5814" />
+ <tetrahedron index="27963" v0="4297" v1="4359" v2="5684" v3="5701" />
+ <tetrahedron index="27964" v0="3858" v1="3859" v2="3997" v3="5125" />
+ <tetrahedron index="27965" v0="3374" v1="3688" v2="6114" v3="6154" />
+ <tetrahedron index="27966" v0="5311" v1="5547" v2="5952" v3="6561" />
+ <tetrahedron index="27967" v0="4418" v1="4427" v2="4723" v3="5321" />
+ <tetrahedron index="27968" v0="3259" v1="3260" v2="4479" v3="5640" />
+ <tetrahedron index="27969" v0="3278" v1="3281" v2="3282" v3="5128" />
+ <tetrahedron index="27970" v0="5315" v1="5435" v2="5538" v3="6854" />
+ <tetrahedron index="27971" v0="4706" v1="5303" v2="5381" v3="6763" />
+ <tetrahedron index="27972" v0="5083" v1="5659" v2="6204" v3="6742" />
+ <tetrahedron index="27973" v0="5098" v1="5302" v2="5466" v3="6037" />
+ <tetrahedron index="27974" v0="5135" v1="5884" v2="6759" v3="6816" />
+ <tetrahedron index="27975" v0="3668" v1="3669" v2="3670" v3="5720" />
+ <tetrahedron index="27976" v0="3857" v1="4398" v2="5078" v3="5853" />
+ <tetrahedron index="27977" v0="5141" v1="5332" v2="5976" v3="5977" />
+ <tetrahedron index="27978" v0="4251" v1="4280" v2="4281" v3="6398" />
+ <tetrahedron index="27979" v0="5188" v1="5806" v2="6457" v3="6458" />
+ <tetrahedron index="27980" v0="3943" v1="4754" v2="5115" v3="5655" />
+ <tetrahedron index="27981" v0="4938" v1="5993" v2="6590" v3="6668" />
+ <tetrahedron index="27982" v0="5194" v1="5352" v2="6000" v3="6001" />
+ <tetrahedron index="27983" v0="3825" v1="3826" v2="4198" v3="5056" />
+ <tetrahedron index="27984" v0="3527" v1="4973" v2="5383" v3="5444" />
+ <tetrahedron index="27985" v0="3882" v1="3883" v2="3984" v3="6338" />
+ <tetrahedron index="27986" v0="5649" v1="6151" v2="6327" v3="6777" />
+ <tetrahedron index="27987" v0="5330" v1="5332" v2="5976" v3="6026" />
+ <tetrahedron index="27988" v0="4984" v1="5470" v2="6540" v3="6700" />
+ <tetrahedron index="27989" v0="4893" v1="5217" v2="5686" v3="6483" />
+ <tetrahedron index="27990" v0="3491" v1="5260" v2="5261" v3="5857" />
+ <tetrahedron index="27991" v0="5081" v1="6333" v2="6817" v3="6821" />
+ <tetrahedron index="27992" v0="5114" v1="5208" v2="5209" v3="5828" />
+ <tetrahedron index="27993" v0="3518" v1="3520" v2="4106" v3="6870" />
+ <tetrahedron index="27994" v0="4391" v1="5177" v2="5425" v3="6084" />
+ <tetrahedron index="27995" v0="3655" v1="4647" v2="5159" v3="6433" />
+ <tetrahedron index="27996" v0="4893" v1="5092" v2="5686" v3="6483" />
+ <tetrahedron index="27997" v0="4408" v1="5647" v2="5688" v3="5887" />
+ <tetrahedron index="27998" v0="3554" v1="4076" v2="5535" v3="6397" />
+ <tetrahedron index="27999" v0="3335" v1="3599" v2="3614" v3="5532" />
+ <tetrahedron index="28000" v0="4574" v1="5109" v2="5211" v3="5289" />
+ <tetrahedron index="28001" v0="4744" v1="4745" v2="5350" v3="6003" />
+ <tetrahedron index="28002" v0="4125" v1="4228" v2="6090" v3="6094" />
+ <tetrahedron index="28003" v0="4612" v1="4619" v2="4620" v3="5963" />
+ <tetrahedron index="28004" v0="3373" v1="3374" v2="3381" v3="5492" />
+ <tetrahedron index="28005" v0="4027" v1="4774" v2="4823" v3="5082" />
+ <tetrahedron index="28006" v0="4519" v1="4554" v2="4824" v3="5104" />
+ <tetrahedron index="28007" v0="4252" v1="4254" v2="5577" v3="6253" />
+ <tetrahedron index="28008" v0="3695" v1="5095" v2="5271" v3="5273" />
+ <tetrahedron index="28009" v0="4896" v1="5224" v2="5847" v3="6497" />
+ <tetrahedron index="28010" v0="3782" v1="3784" v2="4083" v3="5341" />
+ <tetrahedron index="28011" v0="4887" v1="5716" v2="5718" v3="6387" />
+ <tetrahedron index="28012" v0="3258" v1="3259" v2="3260" v3="5069" />
+ <tetrahedron index="28013" v0="3595" v1="4638" v2="5336" v3="5356" />
+ <tetrahedron index="28014" v0="4300" v1="5212" v2="5213" v3="5831" />
+ <tetrahedron index="28015" v0="3946" v1="4611" v2="4836" v3="5244" />
+ <tetrahedron index="28016" v0="3990" v1="4297" v2="4351" v3="5701" />
+ <tetrahedron index="28017" v0="4258" v1="4614" v2="4771" v3="6867" />
+ <tetrahedron index="28018" v0="5523" v1="5942" v2="5943" v3="6555" />
+ <tetrahedron index="28019" v0="4912" v1="5266" v2="5267" v3="6145" />
+ <tetrahedron index="28020" v0="4876" v1="5445" v2="5446" v3="6444" />
+ <tetrahedron index="28021" v0="6224" v1="6250" v2="6770" v3="6972" />
+ <tetrahedron index="28022" v0="3638" v1="3639" v2="3730" v3="5205" />
+ <tetrahedron index="28023" v0="3637" v1="3960" v2="4782" v3="5205" />
+ <tetrahedron index="28024" v0="4891" v1="5100" v2="5212" v3="5685" />
+ <tetrahedron index="28025" v0="3330" v1="3336" v2="4572" v3="5730" />
+ <tetrahedron index="28026" v0="5488" v1="5562" v2="5620" v3="6295" />
+ <tetrahedron index="28027" v0="5516" v1="6181" v2="6413" v3="6733" />
+ <tetrahedron index="28028" v0="4357" v1="4482" v2="5074" v3="5898" />
+ <tetrahedron index="28029" v0="5172" v1="5176" v2="5787" v3="6446" />
+ <tetrahedron index="28030" v0="3308" v1="3698" v2="5275" v3="5872" />
+ <tetrahedron index="28031" v0="4910" v1="5033" v2="5568" v3="6533" />
+ <tetrahedron index="28032" v0="4306" v1="5290" v2="5732" v3="6396" />
+ <tetrahedron index="28033" v0="5810" v1="6463" v2="6464" v3="6852" />
+ <tetrahedron index="28034" v0="5239" v1="6010" v2="6508" v3="6608" />
+ <tetrahedron index="28035" v0="5782" v1="6842" v2="6963" v3="6964" />
+ <tetrahedron index="28036" v0="4430" v1="5433" v2="5434" v3="5435" />
+ <tetrahedron index="28037" v0="3394" v1="3396" v2="5838" v3="6143" />
+ <tetrahedron index="28038" v0="3782" v1="5341" v2="5747" v3="5986" />
+ <tetrahedron index="28039" v0="3835" v1="4551" v2="4706" v3="5381" />
+ <tetrahedron index="28040" v0="4307" v1="5434" v2="6090" v3="6665" />
+ <tetrahedron index="28041" v0="3610" v1="3962" v2="4676" v3="5818" />
+ <tetrahedron index="28042" v0="3245" v1="3372" v2="3375" v3="5454" />
+ <tetrahedron index="28043" v0="3333" v1="4265" v2="4709" v3="5337" />
+ <tetrahedron index="28044" v0="5552" v1="6222" v2="6229" v3="6592" />
+ <tetrahedron index="28045" v0="5065" v1="6194" v2="6310" v3="6555" />
+ <tetrahedron index="28046" v0="4180" v1="4506" v2="4726" v3="5598" />
+ <tetrahedron index="28047" v0="4945" v1="5366" v2="6017" v3="6386" />
+ <tetrahedron index="28048" v0="3505" v1="3807" v2="5125" v3="6070" />
+ <tetrahedron index="28049" v0="3941" v1="4803" v2="5081" v3="6821" />
+ <tetrahedron index="28050" v0="5065" v1="6309" v2="6807" v3="6808" />
+ <tetrahedron index="28051" v0="4678" v1="4679" v2="5267" v3="5308" />
+ <tetrahedron index="28052" v0="3244" v1="3483" v2="3484" v3="5952" />
+ <tetrahedron index="28053" v0="5603" v1="5605" v2="6283" v3="6786" />
+ <tetrahedron index="28054" v0="5226" v1="5417" v2="5420" v3="6496" />
+ <tetrahedron index="28055" v0="3659" v1="3936" v2="4537" v3="5594" />
+ <tetrahedron index="28056" v0="5072" v1="5695" v2="5790" v3="5793" />
+ <tetrahedron index="28057" v0="5052" v1="5211" v2="6274" v3="6369" />
+ <tetrahedron index="28058" v0="4897" v1="5717" v2="5852" v3="6385" />
+ <tetrahedron index="28059" v0="4420" v1="4622" v2="5010" v3="6195" />
+ <tetrahedron index="28060" v0="3769" v1="4378" v2="4497" v3="5101" />
+ <tetrahedron index="28061" v0="3707" v1="4454" v2="5753" v3="6415" />
+ <tetrahedron index="28062" v0="5903" v1="6671" v2="6672" v3="6942" />
+ <tetrahedron index="28063" v0="3242" v1="3243" v2="4595" v3="5839" />
+ <tetrahedron index="28064" v0="3902" v1="4859" v2="5638" v3="6315" />
+ <tetrahedron index="28065" v0="3462" v1="3617" v2="4983" v3="5469" />
+ <tetrahedron index="28066" v0="4334" v1="5290" v2="5292" v3="5930" />
+ <tetrahedron index="28067" v0="4383" v1="4384" v2="4385" v3="5558" />
+ <tetrahedron index="28068" v0="4680" v1="5032" v2="5567" v3="6162" />
+ <tetrahedron index="28069" v0="4563" v1="4689" v2="4700" v3="5536" />
+ <tetrahedron index="28070" v0="3522" v1="3825" v2="3826" v3="6108" />
+ <tetrahedron index="28071" v0="4425" v1="4689" v2="4700" v3="5536" />
+ <tetrahedron index="28072" v0="4589" v1="4756" v2="4834" v3="6477" />
+ <tetrahedron index="28073" v0="4124" v1="4126" v2="5433" v3="6094" />
+ <tetrahedron index="28074" v0="4234" v1="4898" v2="5612" v3="5633" />
+ <tetrahedron index="28075" v0="4910" v1="5568" v2="5894" v3="6533" />
+ <tetrahedron index="28076" v0="4922" v1="5760" v2="6425" v3="6426" />
+ <tetrahedron index="28077" v0="5004" v1="6030" v2="6602" v3="6616" />
+ <tetrahedron index="28078" v0="5589" v1="6637" v2="6642" v3="6703" />
+ <tetrahedron index="28079" v0="3664" v1="3665" v2="3666" v3="6328" />
+ <tetrahedron index="28080" v0="4813" v1="5121" v2="5325" v3="5712" />
+ <tetrahedron index="28081" v0="4999" v1="5499" v2="6163" v3="6815" />
+ <tetrahedron index="28082" v0="5525" v1="5796" v2="6452" v3="6739" />
+ <tetrahedron index="28083" v0="6563" v1="6891" v2="7004" v3="7028" />
+ <tetrahedron index="28084" v0="3594" v1="3617" v2="3861" v3="5467" />
+ <tetrahedron index="28085" v0="4175" v1="4478" v2="4480" v3="5154" />
+ <tetrahedron index="28086" v0="3630" v1="3631" v2="3879" v3="5251" />
+ <tetrahedron index="28087" v0="3767" v1="3897" v2="4602" v3="5210" />
+ <tetrahedron index="28088" v0="4956" v1="5396" v2="5402" v3="6060" />
+ <tetrahedron index="28089" v0="3757" v1="3758" v2="4069" v3="5116" />
+ <tetrahedron index="28090" v0="4863" v1="5439" v2="6150" v3="6708" />
+ <tetrahedron index="28091" v0="3724" v1="3838" v2="4410" v3="5916" />
+ <tetrahedron index="28092" v0="5186" v1="5187" v2="5801" v3="5803" />
+ <tetrahedron index="28093" v0="5222" v1="5842" v2="6630" v3="6957" />
+ <tetrahedron index="28094" v0="3331" v1="3336" v2="5355" v3="5779" />
+ <tetrahedron index="28095" v0="4936" v1="6625" v2="6629" v3="6922" />
+ <tetrahedron index="28096" v0="3468" v1="3740" v2="5356" v3="5779" />
+ <tetrahedron index="28097" v0="3511" v1="5045" v2="5329" v3="5585" />
+ <tetrahedron index="28098" v0="5041" v1="5514" v2="5901" v3="5962" />
+ <tetrahedron index="28099" v0="4895" v1="6275" v2="6278" v3="6782" />
+ <tetrahedron index="28100" v0="4880" v1="5184" v2="5185" v3="5548" />
+ <tetrahedron index="28101" v0="4316" v1="4348" v2="4607" v3="5241" />
+ <tetrahedron index="28102" v0="3558" v1="3559" v2="3560" v3="5043" />
+ <tetrahedron index="28103" v0="3247" v1="3373" v2="3693" v3="6493" />
+ <tetrahedron index="28104" v0="5157" v1="5762" v2="5945" v3="6895" />
+ <tetrahedron index="28105" v0="4123" v1="4198" v2="4199" v3="5131" />
+ <tetrahedron index="28106" v0="4848" v1="5524" v2="5590" v3="6060" />
+ <tetrahedron index="28107" v0="3396" v1="4382" v2="4988" v3="5861" />
+ <tetrahedron index="28108" v0="3444" v1="3911" v2="4825" v3="5971" />
+ <tetrahedron index="28109" v0="3868" v1="5925" v2="5960" v3="6570" />
+ <tetrahedron index="28110" v0="4139" v1="4189" v2="4406" v3="6041" />
+ <tetrahedron index="28111" v0="4752" v1="4753" v2="5478" v3="6998" />
+ <tetrahedron index="28112" v0="5256" v1="5889" v2="6078" v3="6822" />
+ <tetrahedron index="28113" v0="5954" v1="6266" v2="6563" v3="6564" />
+ <tetrahedron index="28114" v0="3642" v1="3954" v2="3955" v3="5543" />
+ <tetrahedron index="28115" v0="5108" v1="5182" v2="5696" v3="6366" />
+ <tetrahedron index="28116" v0="5960" v1="6079" v2="6082" v3="6570" />
+ <tetrahedron index="28117" v0="3325" v1="3793" v2="3887" v3="5785" />
+ <tetrahedron index="28118" v0="3355" v1="3356" v2="5226" v3="5420" />
+ <tetrahedron index="28119" v0="3370" v1="3548" v2="5301" v3="5940" />
+ <tetrahedron index="28120" v0="3782" v1="3783" v2="5341" v3="5985" />
+ <tetrahedron index="28121" v0="4998" v1="5251" v2="5496" v3="5885" />
+ <tetrahedron index="28122" v0="4847" v1="6247" v2="6611" v3="6974" />
+ <tetrahedron index="28123" v0="4916" v1="5142" v2="5279" v3="5283" />
+ <tetrahedron index="28124" v0="4993" v1="6135" v2="6699" v3="6953" />
+ <tetrahedron index="28125" v0="5058" v1="5090" v2="5099" v3="5611" />
+ <tetrahedron index="28126" v0="3464" v1="4812" v2="5468" v3="6134" />
+ <tetrahedron index="28127" v0="5022" v1="5257" v2="5704" v3="5891" />
+ <tetrahedron index="28128" v0="4304" v1="4541" v2="5440" v3="5754" />
+ <tetrahedron index="28129" v0="4612" v1="5145" v2="5154" v3="5758" />
+ <tetrahedron index="28130" v0="3287" v1="3734" v2="5059" v3="5613" />
+ <tetrahedron index="28131" v0="4203" v1="4322" v2="4435" v3="4556" />
+ <tetrahedron index="28132" v0="4567" v1="4704" v2="4726" v3="5600" />
+ <tetrahedron index="28133" v0="6428" v1="6467" v2="6761" v3="6973" />
+ <tetrahedron index="28134" v0="3708" v1="3880" v2="4124" v3="5345" />
+ <tetrahedron index="28135" v0="4572" v1="5130" v2="5731" v3="6152" />
+ <tetrahedron index="28136" v0="3890" v1="5378" v2="5379" v3="5529" />
+ <tetrahedron index="28137" v0="3299" v1="3301" v2="3674" v3="5855" />
+ <tetrahedron index="28138" v0="4880" v1="5088" v2="5795" v3="5798" />
+ <tetrahedron index="28139" v0="3251" v1="4502" v2="4688" v3="5413" />
+ <tetrahedron index="28140" v0="3713" v1="3980" v2="4671" v3="5843" />
+ <tetrahedron index="28141" v0="4404" v1="4572" v2="5731" v3="6152" />
+ <tetrahedron index="28142" v0="4089" v1="4322" v2="4469" v3="5426" />
+ <tetrahedron index="28143" v0="4408" v1="4565" v2="5254" v3="5887" />
+ <tetrahedron index="28144" v0="4976" v1="5450" v2="6177" v3="6682" />
+ <tetrahedron index="28145" v0="4246" v1="4247" v2="4248" v3="6161" />
+ <tetrahedron index="28146" v0="3312" v1="3402" v2="3407" v3="5288" />
+ <tetrahedron index="28147" v0="3358" v1="4672" v2="5298" v3="6342" />
+ <tetrahedron index="28148" v0="3315" v1="3316" v2="5559" v3="6509" />
+ <tetrahedron index="28149" v0="5244" v1="5722" v2="6123" v3="6692" />
+ <tetrahedron index="28150" v0="4186" v1="5470" v2="6540" v3="6700" />
+ <tetrahedron index="28151" v0="4717" v1="4741" v2="4826" v3="5462" />
+ <tetrahedron index="28152" v0="4819" v1="4952" v2="5098" v3="5385" />
+ <tetrahedron index="28153" v0="4193" v1="4295" v2="4296" v3="5414" />
+ <tetrahedron index="28154" v0="4878" v1="5177" v2="5787" v3="6662" />
+ <tetrahedron index="28155" v0="5286" v1="5805" v2="5925" v3="6570" />
+ <tetrahedron index="28156" v0="5167" v1="6409" v2="6841" v3="6843" />
+ <tetrahedron index="28157" v0="3254" v1="3870" v2="5129" v3="5729" />
+ <tetrahedron index="28158" v0="5020" v1="5540" v2="6211" v3="6745" />
+ <tetrahedron index="28159" v0="4979" v1="5702" v2="6334" v3="6399" />
+ <tetrahedron index="28160" v0="5163" v1="5777" v2="6439" v3="6815" />
+ <tetrahedron index="28161" v0="4544" v1="5487" v2="6095" v3="6517" />
+ <tetrahedron index="28162" v0="4893" v1="5092" v2="5218" v3="6483" />
+ <tetrahedron index="28163" v0="3705" v1="3984" v2="4791" v3="6497" />
+ <tetrahedron index="28164" v0="4928" v1="5421" v2="6079" v3="6082" />
+ <tetrahedron index="28165" v0="4961" v1="5411" v2="6187" v3="6725" />
+ <tetrahedron index="28166" v0="4141" v1="4254" v2="5039" v3="5577" />
+ <tetrahedron index="28167" v0="3645" v1="3646" v2="4645" v3="5252" />
+ <tetrahedron index="28168" v0="4090" v1="4771" v2="5189" v3="6459" />
+ <tetrahedron index="28169" v0="3436" v1="3807" v2="5331" v3="6070" />
+ <tetrahedron index="28170" v0="6627" v1="6786" v2="6808" v3="6924" />
+ <tetrahedron index="28171" v0="5520" v1="6270" v2="6273" v3="6472" />
+ <tetrahedron index="28172" v0="3922" v1="4317" v2="4368" v3="5641" />
+ <tetrahedron index="28173" v0="4916" v1="5278" v2="5280" v3="5918" />
+ <tetrahedron index="28174" v0="3976" v1="3977" v2="4284" v3="5097" />
+ <tetrahedron index="28175" v0="3804" v1="4141" v2="5968" v3="6196" />
+ <tetrahedron index="28176" v0="5180" v1="5791" v2="5792" v3="6384" />
+ <tetrahedron index="28177" v0="4265" v1="5337" v2="5980" v3="6205" />
+ <tetrahedron index="28178" v0="4178" v1="4272" v2="5185" v3="5969" />
+ <tetrahedron index="28179" v0="3567" v1="3697" v2="5359" v3="6354" />
+ <tetrahedron index="28180" v0="5396" v1="5783" v2="6445" v3="6865" />
+ <tetrahedron index="28181" v0="5053" v1="6075" v2="6655" v3="7027" />
+ <tetrahedron index="28182" v0="3450" v1="5242" v2="6305" v3="6802" />
+ <tetrahedron index="28183" v0="4979" v1="5660" v2="6373" v3="6832" />
+ <tetrahedron index="28184" v0="3462" v1="3654" v2="4983" v3="5469" />
+ <tetrahedron index="28185" v0="3648" v1="3703" v2="5369" v3="6020" />
+ <tetrahedron index="28186" v0="5015" v1="5528" v2="6594" v3="6716" />
+ <tetrahedron index="28187" v0="4727" v1="4754" v2="4813" v3="5712" />
+ <tetrahedron index="28188" v0="5439" v1="6100" v2="6675" v3="6847" />
+ <tetrahedron index="28189" v0="5124" v1="5826" v2="5827" v3="6803" />
+ <tetrahedron index="28190" v0="5363" v1="6155" v2="6883" v3="6979" />
+ <tetrahedron index="28191" v0="4266" v1="4820" v2="4821" v3="5989" />
+ <tetrahedron index="28192" v0="4479" v1="4679" v2="5308" v3="5949" />
+ <tetrahedron index="28193" v0="3967" v1="4259" v2="5775" v3="6507" />
+ <tetrahedron index="28194" v0="3279" v1="5398" v2="5965" v3="6058" />
+ <tetrahedron index="28195" v0="4095" v1="4096" v2="4097" v3="5279" />
+ <tetrahedron index="28196" v0="4013" v1="4213" v2="4762" v3="5719" />
+ <tetrahedron index="28197" v0="3576" v1="5496" v2="5785" v3="5885" />
+ <tetrahedron index="28198" v0="5520" v1="6270" v2="6585" v3="6921" />
+ <tetrahedron index="28199" v0="5262" v1="5898" v2="6023" v3="6533" />
+ <tetrahedron index="28200" v0="5002" v1="5864" v2="6010" v3="6508" />
+ <tetrahedron index="28201" v0="3973" v1="4478" v2="4479" v3="6423" />
+ <tetrahedron index="28202" v0="6165" v1="6685" v2="6795" v3="6941" />
+ <tetrahedron index="28203" v0="4392" v1="4420" v2="4621" v3="5521" />
+ <tetrahedron index="28204" v0="3666" v1="4451" v2="4618" v3="6816" />
+ <tetrahedron index="28205" v0="5242" v1="5829" v2="5871" v3="6511" />
+ <tetrahedron index="28206" v0="4995" v1="5648" v2="6324" v3="6327" />
+ <tetrahedron index="28207" v0="4104" v1="4898" v2="5657" v3="5658" />
+ <tetrahedron index="28208" v0="3563" v1="3610" v2="5122" v3="5818" />
+ <tetrahedron index="28209" v0="5217" v1="5686" v2="5856" v3="6483" />
+ <tetrahedron index="28210" v0="4183" v1="5680" v2="5706" v3="6351" />
+ <tetrahedron index="28211" v0="4125" v1="4126" v2="4430" v3="5433" />
+ <tetrahedron index="28212" v0="4481" v1="5003" v2="5074" v3="6022" />
+ <tetrahedron index="28213" v0="4981" v1="5463" v2="6129" v3="6696" />
+ <tetrahedron index="28214" v0="3325" v1="3423" v2="3887" v3="5785" />
+ <tetrahedron index="28215" v0="5015" v1="5455" v2="5504" v3="6168" />
+ <tetrahedron index="28216" v0="5143" v1="5187" v2="5534" v3="6454" />
+ <tetrahedron index="28217" v0="3541" v1="4740" v2="4826" v3="6119" />
+ <tetrahedron index="28218" v0="3977" v1="4201" v2="5118" v3="5681" />
+ <tetrahedron index="28219" v0="3805" v1="3938" v2="5709" v3="5968" />
+ <tetrahedron index="28220" v0="4444" v1="4467" v2="4468" v3="5519" />
+ <tetrahedron index="28221" v0="5042" v1="5583" v2="6081" v3="6905" />
+ <tetrahedron index="28222" v0="3932" v1="4150" v2="4557" v3="6027" />
+ <tetrahedron index="28223" v0="3826" v1="5056" v2="5240" v3="6108" />
+ <tetrahedron index="28224" v0="4199" v1="5056" v2="5609" v3="5869" />
+ <tetrahedron index="28225" v0="4104" v1="4823" v2="4898" v3="5657" />
+ <tetrahedron index="28226" v0="3347" v1="3350" v2="3584" v3="5257" />
+ <tetrahedron index="28227" v0="4492" v1="4997" v2="6180" v3="6515" />
+ <tetrahedron index="28228" v0="6075" v1="6654" v2="6655" v3="6935" />
+ <tetrahedron index="28229" v0="4921" v1="5298" v2="5936" v3="6342" />
+ <tetrahedron index="28230" v0="3287" v1="3485" v2="6583" v3="6706" />
+ <tetrahedron index="28231" v0="3270" v1="3284" v2="5133" v3="6064" />
+ <tetrahedron index="28232" v0="4945" v1="5713" v2="5718" v3="6449" />
+ <tetrahedron index="28233" v0="4213" v1="4676" v2="5719" v3="5852" />
+ <tetrahedron index="28234" v0="4927" v1="5312" v2="5821" v3="5955" />
+ <tetrahedron index="28235" v0="3304" v1="5034" v2="5720" v3="5721" />
+ <tetrahedron index="28236" v0="4915" v1="5064" v2="5627" v3="5629" />
+ <tetrahedron index="28237" v0="4966" v1="5422" v2="6617" v3="6936" />
+ <tetrahedron index="28238" v0="4219" v1="4658" v2="5387" v3="5638" />
+ <tetrahedron index="28239" v0="5864" v1="6314" v2="6608" v3="6919" />
+ <tetrahedron index="28240" v0="4698" v1="5523" v2="6194" v3="6195" />
+ <tetrahedron index="28241" v0="3621" v1="3992" v2="3993" v3="5781" />
+ <tetrahedron index="28242" v0="3597" v1="3598" v2="3599" v3="5083" />
+ <tetrahedron index="28243" v0="5144" v1="5560" v2="6331" v3="6332" />
+ <tetrahedron index="28244" v0="3698" v1="5275" v2="5276" v3="5872" />
+ <tetrahedron index="28245" v0="3621" v1="3993" v2="5166" v3="5781" />
+ <tetrahedron index="28246" v0="3439" v1="5054" v2="5608" v3="5848" />
+ <tetrahedron index="28247" v0="4920" v1="5290" v2="5643" v3="5930" />
+ <tetrahedron index="28248" v0="4279" v1="4406" v2="4424" v3="5388" />
+ <tetrahedron index="28249" v0="3684" v1="4815" v2="5582" v3="6659" />
+ <tetrahedron index="28250" v0="3592" v1="3755" v2="3799" v3="6356" />
+ <tetrahedron index="28251" v0="4901" v1="5239" v2="5865" v3="6508" />
+ <tetrahedron index="28252" v0="4369" v1="4793" v2="5649" v3="6709" />
+ <tetrahedron index="28253" v0="4926" v1="6054" v2="6640" v3="6774" />
+ <tetrahedron index="28254" v0="5050" v1="5595" v2="6268" v3="7008" />
+ <tetrahedron index="28255" v0="4096" v1="5142" v2="5279" v3="5863" />
+ <tetrahedron index="28256" v0="3591" v1="5212" v2="5565" v3="5685" />
+ <tetrahedron index="28257" v0="3677" v1="5368" v2="6038" v3="6068" />
+ <tetrahedron index="28258" v0="3538" v1="3822" v2="5584" v3="5972" />
+ <tetrahedron index="28259" v0="5189" v1="5904" v2="6538" v3="6867" />
+ <tetrahedron index="28260" v0="3892" v1="5378" v2="6029" v3="6741" />
+ <tetrahedron index="28261" v0="3342" v1="3717" v2="3771" v3="6701" />
+ <tetrahedron index="28262" v0="4951" v1="5133" v2="6061" v3="6066" />
+ <tetrahedron index="28263" v0="5190" v1="5810" v2="6464" v3="6465" />
+ <tetrahedron index="28264" v0="5179" v1="5367" v2="5792" v3="6382" />
+ <tetrahedron index="28265" v0="3649" v1="3865" v2="5408" v3="6067" />
+ <tetrahedron index="28266" v0="5191" v1="5540" v2="5813" v3="6209" />
+ <tetrahedron index="28267" v0="4887" v1="5716" v2="5819" v3="6388" />
+ <tetrahedron index="28268" v0="5239" v1="5864" v2="6508" v3="6608" />
+ <tetrahedron index="28269" v0="3361" v1="3480" v2="4115" v3="5671" />
+ <tetrahedron index="28270" v0="5086" v1="5690" v2="6476" v3="6823" />
+ <tetrahedron index="28271" v0="5615" v1="6290" v2="6920" v3="6980" />
+ <tetrahedron index="28272" v0="4188" v1="4436" v2="4830" v3="5906" />
+ <tetrahedron index="28273" v0="4046" v1="4783" v2="5362" v3="6012" />
+ <tetrahedron index="28274" v0="3309" v1="3311" v2="5291" v3="5931" />
+ <tetrahedron index="28275" v0="4975" v1="5447" v2="5449" v3="5775" />
+ <tetrahedron index="28276" v0="6004" v1="6418" v2="6602" v3="6724" />
+ <tetrahedron index="28277" v0="4491" v1="4523" v2="5285" v3="5344" />
+ <tetrahedron index="28278" v0="3713" v1="3980" v2="5222" v3="5843" />
+ <tetrahedron index="28279" v0="5080" v1="5271" v2="5908" v3="5910" />
+ <tetrahedron index="28280" v0="5244" v1="5460" v2="6123" v3="6692" />
+ <tetrahedron index="28281" v0="5519" v1="6190" v2="6624" v3="6738" />
+ <tetrahedron index="28282" v0="3413" v1="5447" v2="5448" v3="5449" />
+ <tetrahedron index="28283" v0="3414" v1="3415" v2="3416" v3="4460" />
+ <tetrahedron index="28284" v0="3511" v1="4225" v2="5329" v3="5585" />
+ <tetrahedron index="28285" v0="4554" v1="4735" v2="4751" v3="6347" />
+ <tetrahedron index="28286" v0="3574" v1="5196" v2="5881" v3="6818" />
+ <tetrahedron index="28287" v0="3524" v1="3542" v2="4080" v3="5611" />
+ <tetrahedron index="28288" v0="4910" v1="5896" v2="5899" v3="6241" />
+ <tetrahedron index="28289" v0="4953" v1="5389" v2="6970" v3="7019" />
+ <tetrahedron index="28290" v0="3284" v1="5059" v2="5382" v3="6035" />
+ <tetrahedron index="28291" v0="4853" v1="4875" v2="5011" v3="5402" />
+ <tetrahedron index="28292" v0="4901" v1="5132" v2="5239" v3="5241" />
+ <tetrahedron index="28293" v0="3902" v1="4220" v2="5387" v3="5638" />
+ <tetrahedron index="28294" v0="4574" v1="5109" v2="5289" v3="6371" />
+ <tetrahedron index="28295" v0="4338" v1="4396" v2="4400" v3="6194" />
+ <tetrahedron index="28296" v0="4250" v1="4507" v2="5575" v3="6581" />
+ <tetrahedron index="28297" v0="3327" v1="3329" v2="4203" v3="4204" />
+ <tetrahedron index="28298" v0="4803" v1="5196" v2="5561" v3="6330" />
+ <tetrahedron index="28299" v0="5018" v1="5533" v2="5535" v3="6206" />
+ <tetrahedron index="28300" v0="5830" v1="6329" v2="6759" v3="6816" />
+ <tetrahedron index="28301" v0="3982" v1="4407" v2="5282" v3="6025" />
+ <tetrahedron index="28302" v0="3963" v1="3965" v2="6403" v3="6404" />
+ <tetrahedron index="28303" v0="5071" v1="5644" v2="5645" v3="6527" />
+ <tetrahedron index="28304" v0="4961" v1="5461" v2="5877" v3="6127" />
+ <tetrahedron index="28305" v0="3365" v1="5692" v2="6178" v3="6681" />
+ <tetrahedron index="28306" v0="4853" v1="5443" v2="5524" v3="6104" />
+ <tetrahedron index="28307" v0="4334" v1="4395" v2="4413" v3="5930" />
+ <tetrahedron index="28308" v0="4966" v1="5422" v2="6080" v3="6656" />
+ <tetrahedron index="28309" v0="5316" v1="5959" v2="6851" v3="6894" />
+ <tetrahedron index="28310" v0="4984" v1="5470" v2="6699" v3="6700" />
+ <tetrahedron index="28311" v0="4986" v1="5476" v2="5756" v3="6140" />
+ <tetrahedron index="28312" v0="4889" v1="5205" v2="5821" v3="6829" />
+ <tetrahedron index="28313" v0="3622" v1="4662" v2="5237" v3="5862" />
+ <tetrahedron index="28314" v0="4691" v1="4696" v2="4841" v3="5099" />
+ <tetrahedron index="28315" v0="3830" v1="4668" v2="5417" v3="6077" />
+ <tetrahedron index="28316" v0="3546" v1="3547" v2="4668" v3="6077" />
+ <tetrahedron index="28317" v0="4791" v1="5085" v2="5847" v3="6497" />
+ <tetrahedron index="28318" v0="4863" v1="5503" v2="6165" v3="6795" />
+ <tetrahedron index="28319" v0="5152" v1="6223" v2="6224" v3="6750" />
+ <tetrahedron index="28320" v0="5232" v1="5261" v2="5857" v3="5899" />
+ <tetrahedron index="28321" v0="4069" v1="4667" v2="5077" v3="5654" />
+ <tetrahedron index="28322" v0="5649" v1="6269" v2="6327" v3="6777" />
+ <tetrahedron index="28323" v0="5380" v1="5569" v2="6242" v3="6243" />
+ <tetrahedron index="28324" v0="3922" v1="4068" v2="4368" v3="5070" />
+ <tetrahedron index="28325" v0="3666" v1="4451" v2="5250" v3="5884" />
+ <tetrahedron index="28326" v0="4199" v1="4316" v2="4607" v3="5869" />
+ <tetrahedron index="28327" v0="5242" v1="5829" v2="6511" v3="6512" />
+ <tetrahedron index="28328" v0="3863" v1="4226" v2="5897" v3="5898" />
+ <tetrahedron index="28329" v0="3996" v1="5096" v2="5140" v3="5701" />
+ <tetrahedron index="28330" v0="3798" v1="4411" v2="4818" v3="5267" />
+ <tetrahedron index="28331" v0="4289" v1="5230" v2="5691" v3="6363" />
+ <tetrahedron index="28332" v0="5056" v1="5241" v2="5869" v3="5870" />
+ <tetrahedron index="28333" v0="4010" v1="4412" v2="6455" v3="6866" />
+ <tetrahedron index="28334" v0="4908" v1="5102" v2="5254" v3="5704" />
+ <tetrahedron index="28335" v0="3645" v1="5075" v2="5252" v3="6240" />
+ <tetrahedron index="28336" v0="3502" v1="3553" v2="4681" v3="5339" />
+ <tetrahedron index="28337" v0="3458" v1="3636" v2="5180" v3="5608" />
+ <tetrahedron index="28338" v0="5109" v1="5211" v2="5289" v3="6369" />
+ <tetrahedron index="28339" v0="3418" v1="5228" v2="5229" v3="5666" />
+ <tetrahedron index="28340" v0="5403" v1="5445" v2="6061" v3="6104" />
+ <tetrahedron index="28341" v0="5520" v1="5598" v2="6192" v3="6273" />
+ <tetrahedron index="28342" v0="4610" v1="4611" v2="4836" v3="5244" />
+ <tetrahedron index="28343" v0="4346" v1="5066" v2="5082" v3="5673" />
+ <tetrahedron index="28344" v0="4885" v1="6462" v2="6586" v3="6921" />
+ <tetrahedron index="28345" v0="3825" v1="4190" v2="4198" v3="6680" />
+ <tetrahedron index="28346" v0="4897" v1="5717" v2="5852" v3="6388" />
+ <tetrahedron index="28347" v0="5812" v1="6230" v2="6234" v3="6735" />
+ <tetrahedron index="28348" v0="5303" v1="5946" v2="6245" v3="6896" />
+ <tetrahedron index="28349" v0="5764" v1="6430" v2="6557" v3="7030" />
+ <tetrahedron index="28350" v0="3246" v1="3248" v2="3370" v3="5832" />
+ <tetrahedron index="28351" v0="4316" v1="4607" v2="5241" v3="5869" />
+ <tetrahedron index="28352" v0="3246" v1="3370" v2="3371" v3="5832" />
+ <tetrahedron index="28353" v0="4142" v1="4768" v2="4800" v3="6017" />
+ <tetrahedron index="28354" v0="3417" v1="5228" v2="5401" v3="5666" />
+ <tetrahedron index="28355" v0="3889" v1="4518" v2="5369" v3="6039" />
+ <tetrahedron index="28356" v0="4138" v1="4560" v2="5127" v3="6620" />
+ <tetrahedron index="28357" v0="4896" v1="5227" v2="5850" v3="6496" />
+ <tetrahedron index="28358" v0="3290" v1="3554" v2="5534" v3="5739" />
+ <tetrahedron index="28359" v0="3924" v1="4458" v2="5179" v3="5790" />
+ <tetrahedron index="28360" v0="4364" v1="4403" v2="5328" v3="5734" />
+ <tetrahedron index="28361" v0="5177" v1="5784" v2="5785" v3="5787" />
+ <tetrahedron index="28362" v0="3246" v1="3249" v2="5622" v3="5832" />
+ <tetrahedron index="28363" v0="3326" v1="3940" v2="5176" v3="5787" />
+ <tetrahedron index="28364" v0="5165" v1="5356" v2="5978" v3="6132" />
+ <tetrahedron index="28365" v0="5110" v1="5700" v2="5825" v3="6370" />
+ <tetrahedron index="28366" v0="4284" v1="5076" v2="5097" v3="5682" />
+ <tetrahedron index="28367" v0="3570" v1="3571" v2="5401" v3="5853" />
+ <tetrahedron index="28368" v0="4601" v1="5108" v2="5182" v3="5696" />
+ <tetrahedron index="28369" v0="3946" v1="4715" v2="5245" v3="5722" />
+ <tetrahedron index="28370" v0="3586" v1="4030" v2="4819" v3="5098" />
+ <tetrahedron index="28371" v0="4909" v1="5704" v2="6337" v3="6528" />
+ <tetrahedron index="28372" v0="4902" v1="5242" v2="6511" v3="6512" />
+ <tetrahedron index="28373" v0="5096" v1="5140" v2="5698" v3="5701" />
+ <tetrahedron index="28374" v0="3438" v1="3735" v2="4256" v3="5696" />
+ <tetrahedron index="28375" v0="4478" v1="4479" v2="5154" v3="6423" />
+ <tetrahedron index="28376" v0="4342" v1="4785" v2="4818" v3="5041" />
+ <tetrahedron index="28377" v0="3311" v1="3628" v2="3643" v3="5931" />
+ <tetrahedron index="28378" v0="3752" v1="3753" v2="3754" v3="5289" />
+ <tetrahedron index="28379" v0="5439" v1="6717" v2="6719" v3="6929" />
+ <tetrahedron index="28380" v0="3393" v1="3398" v2="3532" v3="5064" />
+ <tetrahedron index="28381" v0="3990" v1="4297" v2="5100" v3="5701" />
+ <tetrahedron index="28382" v0="4564" v1="5519" v2="5537" v3="6189" />
+ <tetrahedron index="28383" v0="3690" v1="5013" v2="5049" v3="5593" />
+ <tetrahedron index="28384" v0="4947" v1="5374" v2="5898" v3="6532" />
+ <tetrahedron index="28385" v0="4638" v1="4682" v2="6005" v3="7024" />
+ <tetrahedron index="28386" v0="4358" v1="4769" v2="5263" v3="6532" />
+ <tetrahedron index="28387" v0="5465" v1="6537" v2="6678" v3="6696" />
+ <tetrahedron index="28388" v0="4927" v1="5313" v2="5823" v3="5955" />
+ <tetrahedron index="28389" v0="3638" v1="4750" v2="5823" v3="5955" />
+ <tetrahedron index="28390" v0="4221" v1="4751" v2="5234" v3="5856" />
+ <tetrahedron index="28391" v0="4018" v1="4035" v2="5105" v3="6823" />
+ <tetrahedron index="28392" v0="3832" v1="4287" v2="4288" v3="5703" />
+ <tetrahedron index="28393" v0="3498" v1="4151" v2="5002" v3="6109" />
+ <tetrahedron index="28394" v0="4100" v1="4101" v2="5487" v3="6406" />
+ <tetrahedron index="28395" v0="4971" v1="5438" v2="6218" v3="6674" />
+ <tetrahedron index="28396" v0="5478" v1="6142" v2="6275" v3="6277" />
+ <tetrahedron index="28397" v0="3280" v1="5266" v2="5320" v3="5964" />
+ <tetrahedron index="28398" v0="3365" v1="3952" v2="4170" v3="6681" />
+ <tetrahedron index="28399" v0="4459" v1="5366" v2="5367" v3="6018" />
+ <tetrahedron index="28400" v0="4973" v1="5443" v2="6104" v3="6677" />
+ <tetrahedron index="28401" v0="3877" v1="4767" v2="5199" v3="5716" />
+ <tetrahedron index="28402" v0="6182" v1="6287" v2="6722" v3="6734" />
+ <tetrahedron index="28403" v0="4802" v1="5112" v2="5736" v3="6252" />
+ <tetrahedron index="28404" v0="3299" v1="5215" v2="5834" v3="6482" />
+ <tetrahedron index="28405" v0="3285" v1="5618" v2="6148" v3="6706" />
+ <tetrahedron index="28406" v0="4870" v1="5043" v2="5732" v3="6396" />
+ <tetrahedron index="28407" v0="4512" v1="4627" v2="4632" v3="5164" />
+ <tetrahedron index="28408" v0="4982" v1="5466" v2="5940" v3="5982" />
+ <tetrahedron index="28409" v0="5312" v1="5671" v2="6343" v3="6344" />
+ <tetrahedron index="28410" v0="3548" v1="5301" v2="5302" v3="5938" />
+ <tetrahedron index="28411" v0="5215" v1="5219" v2="5834" v3="6482" />
+ <tetrahedron index="28412" v0="3759" v1="4509" v2="5661" v3="5677" />
+ <tetrahedron index="28413" v0="4103" v1="5063" v2="5451" v3="5626" />
+ <tetrahedron index="28414" v0="5104" v1="5675" v2="6347" v3="6828" />
+ <tetrahedron index="28415" v0="4196" v1="4242" v2="4712" v3="5846" />
+ <tetrahedron index="28416" v0="4194" v1="4830" v2="6304" v3="6539" />
+ <tetrahedron index="28417" v0="3532" v1="4409" v2="5064" v3="6305" />
+ <tetrahedron index="28418" v0="4378" v1="4379" v2="5101" v3="6359" />
+ <tetrahedron index="28419" v0="3574" v1="4462" v2="4831" v3="6818" />
+ <tetrahedron index="28420" v0="5159" v1="5767" v2="5768" v3="6432" />
+ <tetrahedron index="28421" v0="4893" v1="5686" v2="5837" v3="6484" />
+ <tetrahedron index="28422" v0="5230" v1="5231" v2="5400" v3="6363" />
+ <tetrahedron index="28423" v0="4087" v1="4088" v2="4445" v3="5188" />
+ <tetrahedron index="28424" v0="4848" v1="5951" v2="6062" v3="6103" />
+ <tetrahedron index="28425" v0="4975" v1="5559" v2="5867" v3="6509" />
+ <tetrahedron index="28426" v0="4975" v1="5162" v2="5447" v3="5775" />
+ <tetrahedron index="28427" v0="4957" v1="5398" v2="5514" v3="6058" />
+ <tetrahedron index="28428" v0="4915" v1="5276" v2="5627" v3="5872" />
+ <tetrahedron index="28429" v0="3416" v1="4234" v2="4312" v3="5612" />
+ <tetrahedron index="28430" v0="6582" v1="6839" v2="6845" v3="6967" />
+ <tetrahedron index="28431" v0="3361" v1="3362" v2="5312" v3="6344" />
+ <tetrahedron index="28432" v0="5395" v1="6050" v2="6711" v3="6926" />
+ <tetrahedron index="28433" v0="4353" v1="4354" v2="5508" v3="6418" />
+ <tetrahedron index="28434" v0="3863" v1="5262" v2="5897" v3="5898" />
+ <tetrahedron index="28435" v0="4961" v1="5461" v2="6442" v3="6863" />
+ <tetrahedron index="28436" v0="3356" v1="3903" v2="5850" v3="6496" />
+ <tetrahedron index="28437" v0="4659" v1="5244" v2="5460" v3="6125" />
+ <tetrahedron index="28438" v0="3799" v1="5253" v2="5884" v3="6237" />
+ <tetrahedron index="28439" v0="4451" v1="4543" v2="4590" v3="5884" />
+ <tetrahedron index="28440" v0="4625" v1="5073" v2="5649" v3="5650" />
+ <tetrahedron index="28441" v0="3509" v1="4225" v2="4566" v3="5734" />
+ <tetrahedron index="28442" v0="5169" v1="5445" v2="5875" v3="6288" />
+ <tetrahedron index="28443" v0="3706" v1="4046" v2="4120" v3="5152" />
+ <tetrahedron index="28444" v0="3410" v1="4413" v2="5161" v3="5774" />
+ <tetrahedron index="28445" v0="3600" v1="3602" v2="4442" v3="5225" />
+ <tetrahedron index="28446" v0="4226" v1="4481" v2="4482" v3="5074" />
+ <tetrahedron index="28447" v0="3360" v1="3926" v2="5138" v3="5934" />
+ <tetrahedron index="28448" v0="3899" v1="5251" v2="5253" v3="5564" />
+ <tetrahedron index="28449" v0="4689" v1="5389" v2="5536" v3="6207" />
+ <tetrahedron index="28450" v0="3795" v1="5579" v2="6255" v3="6772" />
+ <tetrahedron index="28451" v0="4856" v1="4956" v2="5396" v3="5783" />
+ <tetrahedron index="28452" v0="4867" v1="5947" v2="6212" v3="6748" />
+ <tetrahedron index="28453" v0="5184" v1="5185" v2="5497" v3="5969" />
+ <tetrahedron index="28454" v0="5027" v1="5558" v2="6230" v3="6747" />
+ <tetrahedron index="28455" v0="4384" v1="5558" v2="6210" v3="6746" />
+ <tetrahedron index="28456" v0="3257" v1="3380" v2="4508" v3="5482" />
+ <tetrahedron index="28457" v0="4271" v1="5375" v2="5377" v3="6025" />
+ <tetrahedron index="28458" v0="3266" v1="5404" v2="5405" v3="6064" />
+ <tetrahedron index="28459" v0="4848" v1="6263" v2="6649" v3="6775" />
+ <tetrahedron index="28460" v0="4566" v1="4639" v2="5136" v3="5330" />
+ <tetrahedron index="28461" v0="4883" v1="5458" v2="6120" v3="6688" />
+ <tetrahedron index="28462" v0="4379" v1="4497" v2="4842" v3="6828" />
+ <tetrahedron index="28463" v0="3232" v1="4473" v2="5119" v3="5472" />
+ <tetrahedron index="28464" v0="4109" v1="4179" v2="5185" v3="5798" />
+ <tetrahedron index="28465" v0="3609" v1="4533" v2="5570" v3="6390" />
+ <tetrahedron index="28466" v0="5067" v1="5386" v2="6020" v3="6038" />
+ <tetrahedron index="28467" v0="5085" v1="5847" v2="5889" v3="6336" />
+ <tetrahedron index="28468" v0="4868" v1="5083" v2="6138" v3="6373" />
+ <tetrahedron index="28469" v0="3655" v1="3832" v2="4287" v3="6374" />
+ <tetrahedron index="28470" v0="3977" v1="4284" v2="5097" v3="5682" />
+ <tetrahedron index="28471" v0="4952" v1="5387" v2="6037" v3="6393" />
+ <tetrahedron index="28472" v0="4942" v1="5097" v2="5682" v3="5683" />
+ <tetrahedron index="28473" v0="4851" v1="5094" v2="5146" v3="5939" />
+ <tetrahedron index="28474" v0="3465" v1="4697" v2="5130" v3="5469" />
+ <tetrahedron index="28475" v0="5091" v1="5180" v2="5715" v3="6384" />
+ <tetrahedron index="28476" v0="4851" v1="5094" v2="5833" v3="6480" />
+ <tetrahedron index="28477" v0="4606" v1="5240" v2="5869" v3="5870" />
+ <tetrahedron index="28478" v0="3389" v1="3762" v2="3874" v3="5592" />
+ <tetrahedron index="28479" v0="4272" v1="4657" v2="5497" v3="5969" />
+ <tetrahedron index="28480" v0="5094" v1="5678" v2="6295" v3="6298" />
+ <tetrahedron index="28481" v0="3501" v1="3553" v2="5339" v3="5563" />
+ <tetrahedron index="28482" v0="3308" v1="3625" v2="5275" v3="5872" />
+ <tetrahedron index="28483" v0="3789" v1="5367" v2="5714" v3="6365" />
+ <tetrahedron index="28484" v0="4969" v1="5680" v2="6352" v3="6376" />
+ <tetrahedron index="28485" v0="3392" v1="4409" v2="4410" v3="5916" />
+ <tetrahedron index="28486" v0="3319" v1="4389" v2="5633" v3="5658" />
+ <tetrahedron index="28487" v0="4883" v1="5458" v2="6120" v3="7017" />
+ <tetrahedron index="28488" v0="3319" v1="4898" v2="5633" v3="5658" />
+ <tetrahedron index="28489" v0="4984" v1="5678" v2="5905" v3="6297" />
+ <tetrahedron index="28490" v0="3383" v1="4029" v2="5383" v3="6036" />
+ <tetrahedron index="28491" v0="5082" v1="5090" v2="5657" v3="5673" />
+ <tetrahedron index="28492" v0="4943" v1="6013" v2="6222" v3="6271" />
+ <tetrahedron index="28493" v0="4894" v1="6140" v2="6217" v3="6485" />
+ <tetrahedron index="28494" v0="4191" v1="4271" v2="6025" v3="6543" />
+ <tetrahedron index="28495" v0="4347" v1="4349" v2="4389" v3="5634" />
+ <tetrahedron index="28496" v0="4119" v1="4636" v2="4794" v3="5260" />
+ <tetrahedron index="28497" v0="4918" v1="6081" v2="6567" v3="6905" />
+ <tetrahedron index="28498" v0="3316" v1="5559" v2="6507" v3="6509" />
+ <tetrahedron index="28499" v0="3420" v1="4654" v2="5204" v3="5957" />
+ <tetrahedron index="28500" v0="4943" v1="5362" v2="5552" v3="6223" />
+ <tetrahedron index="28501" v0="3922" v1="3923" v2="4317" v3="5028" />
+ <tetrahedron index="28502" v0="3988" v1="5209" v2="5828" v3="5927" />
+ <tetrahedron index="28503" v0="3664" v1="3667" v2="3687" v3="5061" />
+ <tetrahedron index="28504" v0="4006" v1="4137" v2="4294" v3="5286" />
+ <tetrahedron index="28505" v0="4615" v1="4952" v2="5098" v3="5387" />
+ <tetrahedron index="28506" v0="4962" v1="5412" v2="5413" v3="6130" />
+ <tetrahedron index="28507" v0="4797" v1="5033" v2="5260" v3="6615" />
+ <tetrahedron index="28508" v0="3712" v1="3950" v2="5018" v3="5533" />
+ <tetrahedron index="28509" v0="4858" v1="5509" v2="6188" v3="6469" />
+ <tetrahedron index="28510" v0="3693" v1="4242" v2="5364" v3="5846" />
+ <tetrahedron index="28511" v0="5148" v1="5941" v2="6083" v3="6900" />
+ <tetrahedron index="28512" v0="4893" v1="5055" v2="5219" v3="6484" />
+ <tetrahedron index="28513" v0="4962" v1="5414" v2="6073" v3="6303" />
+ <tetrahedron index="28514" v0="4969" v1="5000" v2="5501" v3="5502" />
+ <tetrahedron index="28515" v0="4048" v1="4050" v2="5799" v3="5804" />
+ <tetrahedron index="28516" v0="5516" v1="6182" v2="6413" v3="6733" />
+ <tetrahedron index="28517" v0="3701" v1="3703" v2="5067" v3="6038" />
+ <tetrahedron index="28518" v0="4903" v1="5460" v2="6124" v3="6128" />
+ <tetrahedron index="28519" v0="4079" v1="4293" v2="4528" v3="5000" />
+ <tetrahedron index="28520" v0="4561" v1="4564" v2="4811" v3="6189" />
+ <tetrahedron index="28521" v0="3550" v1="3551" v2="3552" v3="5466" />
+ <tetrahedron index="28522" v0="5303" v1="5570" v2="5946" v3="6245" />
+ <tetrahedron index="28523" v0="4505" v1="5429" v2="5789" v3="6448" />
+ <tetrahedron index="28524" v0="5607" v1="6142" v2="6277" v3="6655" />
+ <tetrahedron index="28525" v0="4114" v1="4310" v2="4573" v3="5109" />
+ <tetrahedron index="28526" v0="4231" v1="4397" v2="5236" v3="5861" />
+ <tetrahedron index="28527" v0="3476" v1="3499" v2="4565" v3="5102" />
+ <tetrahedron index="28528" v0="4127" v1="5033" v2="5894" v3="6529" />
+ <tetrahedron index="28529" v0="4449" v1="4543" v2="4616" v3="4998" />
+ <tetrahedron index="28530" v0="4470" v1="5489" v2="5812" v3="6968" />
+ <tetrahedron index="28531" v0="5395" v1="6050" v2="6154" v3="6711" />
+ <tetrahedron index="28532" v0="4111" v1="4200" v2="4244" v3="5379" />
+ <tetrahedron index="28533" v0="3560" v1="5043" v2="5162" v3="5642" />
+ <tetrahedron index="28534" v0="5883" v1="6065" v2="6144" v3="6392" />
+ <tetrahedron index="28535" v0="5461" v1="6290" v2="6694" v3="6791" />
+ <tetrahedron index="28536" v0="3599" v1="3614" v2="5083" v3="5532" />
+ <tetrahedron index="28537" v0="3635" v1="4438" v2="4457" v3="5181" />
+ <tetrahedron index="28538" v0="4137" v1="5286" v2="5925" v3="6257" />
+ <tetrahedron index="28539" v0="3799" v1="5135" v2="6237" v3="6356" />
+ <tetrahedron index="28540" v0="4845" v1="6097" v2="6672" v3="6794" />
+ <tetrahedron index="28541" v0="3834" v1="5096" v2="5737" v3="6401" />
+ <tetrahedron index="28542" v0="4893" v1="5216" v2="5218" v3="5837" />
+ <tetrahedron index="28543" v0="4018" v1="4035" v2="5105" v3="5822" />
+ <tetrahedron index="28544" v0="3580" v1="5035" v2="5724" v3="6390" />
+ <tetrahedron index="28545" v0="4895" v1="5363" v2="6155" v3="6278" />
+ <tetrahedron index="28546" v0="3285" v1="5405" v2="5618" v3="6148" />
+ <tetrahedron index="28547" v0="5266" v1="5901" v2="5962" v3="5966" />
+ <tetrahedron index="28548" v0="3933" v1="4316" v2="5241" v3="5609" />
+ <tetrahedron index="28549" v0="5336" v1="5979" v2="6348" v3="6349" />
+ <tetrahedron index="28550" v0="5019" v1="6043" v2="6190" v3="6744" />
+ <tetrahedron index="28551" v0="4521" v1="4772" v2="4784" v3="5778" />
+ <tetrahedron index="28552" v0="3741" v1="4005" v2="4233" v3="5077" />
+ <tetrahedron index="28553" v0="5094" v1="5214" v2="5833" v3="6479" />
+ <tetrahedron index="28554" v0="5126" v1="5723" v2="6117" v3="6389" />
+ <tetrahedron index="28555" v0="3501" v1="3503" v2="3504" v3="5982" />
+ <tetrahedron index="28556" v0="5167" v1="6014" v2="6247" v3="6754" />
+ <tetrahedron index="28557" v0="4649" v1="4661" v2="4808" v3="5216" />
+ <tetrahedron index="28558" v0="3942" v1="5081" v2="6332" v3="6333" />
+ <tetrahedron index="28559" v0="4875" v1="5012" v2="5524" v3="5590" />
+ <tetrahedron index="28560" v0="4995" v1="5490" v2="6151" v3="6327" />
+ <tetrahedron index="28561" v0="3266" v1="3270" v2="3277" v3="3285" />
+ <tetrahedron index="28562" v0="5152" v1="5993" v2="6223" v3="6971" />
+ <tetrahedron index="28563" v0="5496" v1="5785" v2="5885" v3="6447" />
+ <tetrahedron index="28564" v0="4746" v1="4804" v2="4844" v3="5265" />
+ <tetrahedron index="28565" v0="4449" v1="4466" v2="4998" v3="5424" />
+ <tetrahedron index="28566" v0="3320" v1="4104" v2="4790" v3="4795" />
+ <tetrahedron index="28567" v0="3347" v1="5113" v2="5257" v3="5890" />
+ <tetrahedron index="28568" v0="5605" v1="5781" v2="6281" v3="6490" />
+ <tetrahedron index="28569" v0="4789" v1="5574" v2="6249" v3="6250" />
+ <tetrahedron index="28570" v0="4958" v1="5399" v2="5690" v3="5691" />
+ <tetrahedron index="28571" v0="3386" v1="5128" v2="5727" v3="5964" />
+ <tetrahedron index="28572" v0="3600" v1="3839" v2="3910" v3="5226" />
+ <tetrahedron index="28573" v0="3349" v1="3355" v2="3650" v3="5420" />
+ <tetrahedron index="28574" v0="5020" v1="6211" v2="6466" v3="6745" />
+ <tetrahedron index="28575" v0="4852" v1="6106" v2="6443" v3="6913" />
+ <tetrahedron index="28576" v0="5216" v1="5687" v2="5837" v3="6484" />
+ <tetrahedron index="28577" v0="4852" v1="5616" v2="6106" v3="6679" />
+ <tetrahedron index="28578" v0="3807" v1="3932" v2="5332" v3="5977" />
+ <tetrahedron index="28579" v0="4821" v1="5350" v2="5989" v3="6990" />
+ <tetrahedron index="28580" v0="3321" v1="3894" v2="4646" v3="5174" />
+ <tetrahedron index="28581" v0="5178" v1="5733" v2="5789" v3="6448" />
+ <tetrahedron index="28582" v0="5200" v1="5228" v2="5852" v3="6500" />
+ <tetrahedron index="28583" v0="4929" v1="4989" v2="5480" v3="6145" />
+ <tetrahedron index="28584" v0="5127" v1="5724" v2="6208" v3="6213" />
+ <tetrahedron index="28585" v0="4690" v1="4691" v2="4841" v3="5099" />
+ <tetrahedron index="28586" v0="3318" v1="3319" v2="4898" v3="5658" />
+ <tetrahedron index="28587" v0="4094" v1="4545" v2="4809" v3="5743" />
+ <tetrahedron index="28588" v0="5683" v1="5912" v2="6355" v3="6985" />
+ <tetrahedron index="28589" v0="4971" v1="6098" v2="6150" v3="6707" />
+ <tetrahedron index="28590" v0="3360" v1="3926" v2="4168" v3="5934" />
+ <tetrahedron index="28591" v0="4875" v1="5011" v2="5012" v3="6265" />
+ <tetrahedron index="28592" v0="4687" v1="5206" v2="5399" v3="6361" />
+ <tetrahedron index="28593" v0="3484" v1="3905" v2="5311" v3="5952" />
+ <tetrahedron index="28594" v0="3396" v1="4231" v2="4382" v3="5861" />
+ <tetrahedron index="28595" v0="3441" v1="5091" v2="5199" v3="5674" />
+ <tetrahedron index="28596" v0="3274" v1="3792" v2="5485" v3="5727" />
+ <tetrahedron index="28597" v0="3431" v1="3432" v2="3433" v3="5408" />
+ <tetrahedron index="28598" v0="5523" v1="5942" v2="5943" v3="6556" />
+ <tetrahedron index="28599" v0="4870" v1="5028" v2="5559" v3="6510" />
+ <tetrahedron index="28600" v0="4369" v1="4624" v2="4793" v3="5649" />
+ <tetrahedron index="28601" v0="3461" v1="4715" v2="5245" v3="6200" />
+ <tetrahedron index="28602" v0="3261" v1="3269" v2="5038" v3="5308" />
+ <tetrahedron index="28603" v0="3624" v1="4318" v2="4661" v3="5479" />
+ <tetrahedron index="28604" v0="3563" v1="3610" v2="4102" v3="5122" />
+ <tetrahedron index="28605" v0="4394" v1="5306" v2="5521" v3="6232" />
+ <tetrahedron index="28606" v0="3843" v1="3979" v2="4108" v3="6147" />
+ <tetrahedron index="28607" v0="5025" v1="5996" v2="6220" v3="6906" />
+ <tetrahedron index="28608" v0="3275" v1="3276" v2="3376" v3="5820" />
+ <tetrahedron index="28609" v0="3546" v1="5257" v2="5418" v3="5544" />
+ <tetrahedron index="28610" v0="4559" v1="4784" v2="5778" v3="6440" />
+ <tetrahedron index="28611" v0="4944" v1="5364" v2="6494" v3="6885" />
+ <tetrahedron index="28612" v0="3556" v1="5502" v2="5800" v3="6453" />
+ <tetrahedron index="28613" v0="3367" v1="3574" v2="5953" v3="6523" />
+ <tetrahedron index="28614" v0="3902" v1="4859" v2="5387" v3="5729" />
+ <tetrahedron index="28615" v0="4890" v1="5207" v2="5700" v3="6370" />
+ <tetrahedron index="28616" v0="5124" v1="5694" v2="5826" v3="5827" />
+ <tetrahedron index="28617" v0="3776" v1="4400" v2="6309" v3="6809" />
+ <tetrahedron index="28618" v0="4994" v1="5509" v2="5811" v3="6469" />
+ <tetrahedron index="28619" v0="4776" v1="5604" v2="5606" v3="6284" />
+ <tetrahedron index="28620" v0="3367" v1="5881" v2="6518" v3="6523" />
+ <tetrahedron index="28621" v0="4159" v1="4370" v2="5073" v3="5650" />
+ <tetrahedron index="28622" v0="3315" v1="3317" v2="4387" v3="5559" />
+ <tetrahedron index="28623" v0="3556" v1="4550" v2="5017" v3="5800" />
+ <tetrahedron index="28624" v0="3241" v1="3366" v2="4057" v3="5692" />
+ <tetrahedron index="28625" v0="4954" v1="6049" v2="6626" v3="6635" />
+ <tetrahedron index="28626" v0="4890" v1="5698" v2="6372" v3="6837" />
+ <tetrahedron index="28627" v0="4933" v1="5328" v2="5331" v3="5585" />
+ <tetrahedron index="28628" v0="3686" v1="4161" v2="5642" v3="6320" />
+ <tetrahedron index="28629" v0="3313" v1="5213" v2="5601" v3="5679" />
+ <tetrahedron index="28630" v0="4336" v1="4935" v2="5639" v3="6318" />
+ <tetrahedron index="28631" v0="3419" v1="5086" v2="5666" v3="6823" />
+ <tetrahedron index="28632" v0="3268" v1="4906" v2="4959" v3="5406" />
+ <tetrahedron index="28633" v0="4609" v1="5184" v2="5321" v3="5796" />
+ <tetrahedron index="28634" v0="4127" v1="5033" v2="5568" v3="5894" />
+ <tetrahedron index="28635" v0="3644" v1="5075" v2="5566" v3="6239" />
+ <tetrahedron index="28636" v0="4015" v1="4181" v2="5629" v3="6355" />
+ <tetrahedron index="28637" v0="4864" v1="5996" v2="6220" v3="6879" />
+ <tetrahedron index="28638" v0="5659" v1="6204" v2="6373" v3="6374" />
+ <tetrahedron index="28639" v0="4569" v1="4570" v2="4664" v3="6013" />
+ <tetrahedron index="28640" v0="3278" v1="3281" v2="5128" v3="5480" />
+ <tetrahedron index="28641" v0="4569" v1="5360" v2="6013" v3="6271" />
+ <tetrahedron index="28642" v0="3392" v1="3393" v2="5064" v3="5916" />
+ <tetrahedron index="28643" v0="5042" v1="5747" v2="5985" v3="6900" />
+ <tetrahedron index="28644" v0="4427" v1="4609" v2="5321" v3="5796" />
+ <tetrahedron index="28645" v0="3368" v1="4022" v2="5023" v3="5547" />
+ <tetrahedron index="28646" v0="4895" v1="5844" v2="6153" v3="6492" />
+ <tetrahedron index="28647" v0="4886" v1="5029" v2="5561" v3="6563" />
+ <tetrahedron index="28648" v0="3705" v1="5224" v2="5848" v3="6497" />
+ <tetrahedron index="28649" v0="5004" v1="5529" v2="6167" v3="6594" />
+ <tetrahedron index="28650" v0="3863" v1="4226" v2="5372" v3="5898" />
+ <tetrahedron index="28651" v0="4484" v1="4521" v2="4772" v3="5255" />
+ <tetrahedron index="28652" v0="4581" v1="4623" v2="5515" v3="6179" />
+ <tetrahedron index="28653" v0="3840" v1="3842" v2="4372" v3="6085" />
+ <tetrahedron index="28654" v0="4972" v1="5740" v2="5741" v3="6101" />
+ <tetrahedron index="28655" v0="4902" v1="5124" v2="6306" v3="6803" />
+ <tetrahedron index="28656" v0="5067" v1="5635" v2="6038" v3="6068" />
+ <tetrahedron index="28657" v0="4911" v1="5265" v2="5900" v3="6013" />
+ <tetrahedron index="28658" v0="3385" v1="5169" v2="6035" v3="6036" />
+ <tetrahedron index="28659" v0="5029" v1="6331" v2="6424" v3="6563" />
+ <tetrahedron index="28660" v0="4631" v1="5475" v2="5476" v3="5756" />
+ <tetrahedron index="28661" v0="5053" v1="6283" v2="6782" v3="6935" />
+ <tetrahedron index="28662" v0="4414" v1="4476" v2="4477" v3="5218" />
+ <tetrahedron index="28663" v0="5095" v1="5115" v2="5705" v3="5908" />
+ <tetrahedron index="28664" v0="4659" v1="5460" v2="5462" v3="6125" />
+ <tetrahedron index="28665" v0="5293" v1="5929" v2="5931" v3="6547" />
+ <tetrahedron index="28666" v0="4182" v1="4217" v2="5085" v3="5663" />
+ <tetrahedron index="28667" v0="4629" v1="4724" v2="4732" v3="6914" />
+ <tetrahedron index="28668" v0="4864" v1="6724" v2="6849" v3="6878" />
+ <tetrahedron index="28669" v0="5762" v1="6428" v2="6429" v3="6465" />
+ <tetrahedron index="28670" v0="4892" v1="5338" v2="5562" v3="6295" />
+ <tetrahedron index="28671" v0="4855" v1="5883" v2="6144" v3="6392" />
+ <tetrahedron index="28672" v0="4339" v1="4340" v2="4659" v3="6125" />
+ <tetrahedron index="28673" v0="4172" v1="4369" v2="4370" v3="5650" />
+ <tetrahedron index="28674" v0="4930" v1="5504" v2="6167" v3="6721" />
+ <tetrahedron index="28675" v0="3358" v1="3359" v2="3422" v3="6342" />
+ <tetrahedron index="28676" v0="3405" v1="3628" v2="3679" v3="6340" />
+ <tetrahedron index="28677" v0="5097" v1="5680" v2="6351" v3="6827" />
+ <tetrahedron index="28678" v0="4645" v1="5252" v2="5886" v3="6526" />
+ <tetrahedron index="28679" v0="5056" v1="5241" v2="5609" v3="5869" />
+ <tetrahedron index="28680" v0="3245" v1="3372" v2="5454" v3="6296" />
+ <tetrahedron index="28681" v0="3300" v1="4148" v2="4382" v3="6482" />
+ <tetrahedron index="28682" v0="4268" v1="4486" v2="5998" v3="6702" />
+ <tetrahedron index="28683" v0="4475" v1="4476" v2="4477" v3="6483" />
+ <tetrahedron index="28684" v0="4048" v1="5187" v2="5802" v3="5804" />
+ <tetrahedron index="28685" v0="3527" v1="3528" v2="3792" v3="4973" />
+ <tetrahedron index="28686" v0="4983" v1="5469" v2="5780" v3="6325" />
+ <tetrahedron index="28687" v0="5035" v1="5570" v2="6245" v3="6748" />
+ <tetrahedron index="28688" v0="3442" v1="3443" v2="5091" v3="5199" />
+ <tetrahedron index="28689" v0="4907" v1="5252" v2="5619" v3="5652" />
+ <tetrahedron index="28690" v0="5144" v1="5740" v2="5758" v3="6404" />
+ <tetrahedron index="28691" v0="4983" v1="5648" v2="6325" v3="6326" />
+ <tetrahedron index="28692" v0="4949" v1="5026" v2="5378" v3="6029" />
+ <tetrahedron index="28693" v0="4879" v1="5180" v2="5181" v3="6451" />
+ <tetrahedron index="28694" v0="3934" v1="4167" v2="4421" v3="6919" />
+ <tetrahedron index="28695" v0="5420" v1="5889" v2="6076" v3="6078" />
+ <tetrahedron index="28696" v0="4489" v1="5656" v2="6427" v3="6541" />
+ <tetrahedron index="28697" v0="3465" v1="3466" v2="4697" v3="4733" />
+ <tetrahedron index="28698" v0="5367" v1="5714" v2="6382" v3="6383" />
+ <tetrahedron index="28699" v0="5348" v1="5353" v2="6002" v3="6004" />
+ <tetrahedron index="28700" v0="3367" v1="3574" v2="5881" v3="6523" />
+ <tetrahedron index="28701" v0="4710" v1="4714" v2="5999" v3="6599" />
+ <tetrahedron index="28702" v0="4517" v1="4528" v2="4529" v3="5800" />
+ <tetrahedron index="28703" v0="3336" v1="3756" v2="4572" v3="5730" />
+ <tetrahedron index="28704" v0="4955" v1="6046" v2="6636" v3="6753" />
+ <tetrahedron index="28705" v0="3577" v1="3799" v2="3899" v3="5253" />
+ <tetrahedron index="28706" v0="4049" v1="4539" v2="4667" v3="6206" />
+ <tetrahedron index="28707" v0="3538" v1="5295" v2="5584" v3="6826" />
+ <tetrahedron index="28708" v0="5015" v1="5504" v2="5529" v3="6167" />
+ <tetrahedron index="28709" v0="3807" v1="5125" v2="5332" v3="5977" />
+ <tetrahedron index="28710" v0="3236" v1="3238" v2="5258" v3="5663" />
+ <tetrahedron index="28711" v0="3537" v1="3538" v2="3800" v3="5972" />
+ <tetrahedron index="28712" v0="4900" v1="5021" v2="5235" v3="6504" />
+ <tetrahedron index="28713" v0="4144" v1="4362" v2="5082" v3="5673" />
+ <tetrahedron index="28714" v0="4446" v1="5192" v2="5813" v3="6746" />
+ <tetrahedron index="28715" v0="5572" v1="6611" v2="6754" v3="6971" />
+ <tetrahedron index="28716" v0="6172" v1="6174" v2="6728" v3="6965" />
+ <tetrahedron index="28717" v0="4846" v1="5249" v2="5759" v3="5882" />
+ <tetrahedron index="28718" v0="3281" v1="3379" v2="3382" v3="6145" />
+ <tetrahedron index="28719" v0="3944" v1="4642" v2="5357" v3="5870" />
+ <tetrahedron index="28720" v0="3780" v1="3937" v2="5394" v3="6578" />
+ <tetrahedron index="28721" v0="5021" v1="5235" v2="5859" v3="6503" />
+ <tetrahedron index="28722" v0="4146" v1="4252" v2="5549" v3="6219" />
+ <tetrahedron index="28723" v0="4781" v1="5204" v2="5823" v3="6476" />
+ <tetrahedron index="28724" v0="3644" v1="4738" v2="5052" v3="5213" />
+ <tetrahedron index="28725" v0="3642" v1="5021" v2="5238" v3="5543" />
+ <tetrahedron index="28726" v0="5058" v1="5611" v2="6009" v3="6610" />
+ <tetrahedron index="28727" v0="3913" v1="4727" v2="4754" v3="5712" />
+ <tetrahedron index="28728" v0="3303" v1="3670" v2="5124" v3="5720" />
+ <tetrahedron index="28729" v0="4612" v1="5145" v2="5154" v3="6422" />
+ <tetrahedron index="28730" v0="5001" v1="6100" v2="6236" v3="6708" />
+ <tetrahedron index="28731" v0="4384" v1="4455" v2="4613" v3="6210" />
+ <tetrahedron index="28732" v0="4494" v1="4833" v2="5532" v3="5595" />
+ <tetrahedron index="28733" v0="4259" v1="5559" v2="5775" v3="6507" />
+ <tetrahedron index="28734" v0="3707" v1="4087" v2="6090" v3="6415" />
+ <tetrahedron index="28735" v0="4997" v1="6182" v2="6732" v3="6733" />
+ <tetrahedron index="28736" v0="3715" v1="5003" v2="5505" v3="6024" />
+ <tetrahedron index="28737" v0="3851" v1="3852" v2="5894" v3="6532" />
+ <tetrahedron index="28738" v0="4001" v1="4175" v2="5560" v3="5758" />
+ <tetrahedron index="28739" v0="3266" v1="3267" v2="3268" v3="3270" />
+ <tetrahedron index="28740" v0="4936" v1="5341" v2="6568" v3="6901" />
+ <tetrahedron index="28741" v0="4350" v1="4397" v2="4453" v3="5860" />
+ <tetrahedron index="28742" v0="3373" v1="3692" v2="3693" v3="5845" />
+ <tetrahedron index="28743" v0="5481" v1="5548" v2="6219" v3="6573" />
+ <tetrahedron index="28744" v0="3407" v1="3615" v2="3988" v3="5209" />
+ <tetrahedron index="28745" v0="3701" v1="3945" v2="4376" v3="5635" />
+ <tetrahedron index="28746" v0="4253" v1="4254" v2="4802" v3="5577" />
+ <tetrahedron index="28747" v0="3417" v1="3418" v2="5228" v3="5666" />
+ <tetrahedron index="28748" v0="3990" v1="4351" v2="5110" v3="5701" />
+ <tetrahedron index="28749" v0="4881" v1="5187" v2="5803" v3="5804" />
+ <tetrahedron index="28750" v0="4983" v1="5648" v2="6325" v3="6698" />
+ <tetrahedron index="28751" v0="3552" v1="5302" v2="5466" v3="5940" />
+ <tetrahedron index="28752" v0="3698" v1="3920" v2="4722" v3="5274" />
+ <tetrahedron index="28753" v0="4824" v1="5675" v2="6347" v3="6828" />
+ <tetrahedron index="28754" v0="3813" v1="5129" v2="5728" v3="6021" />
+ <tetrahedron index="28755" v0="4946" v1="4952" v2="5386" v3="5728" />
+ <tetrahedron index="28756" v0="4124" v1="4126" v2="4273" v3="5345" />
+ <tetrahedron index="28757" v0="4909" v1="5022" v2="5257" v3="5544" />
+ <tetrahedron index="28758" v0="3372" v1="3375" v2="5454" v3="6114" />
+ <tetrahedron index="28759" v0="3428" v1="4173" v2="4369" v3="5650" />
+ <tetrahedron index="28760" v0="4746" v1="4837" v2="5352" v3="6003" />
+ <tetrahedron index="28761" v0="4906" v1="4959" v2="5011" v3="5402" />
+ <tetrahedron index="28762" v0="3860" v1="5124" v2="5694" v3="5827" />
+ <tetrahedron index="28763" v0="4771" v1="5189" v2="5807" v3="6460" />
+ <tetrahedron index="28764" v0="6687" v1="6784" v2="6949" v3="6997" />
+ <tetrahedron index="28765" v0="4175" v1="5154" v2="5560" v3="5758" />
+ <tetrahedron index="28766" v0="3432" v1="3505" v2="3506" v3="5410" />
+ <tetrahedron index="28767" v0="3739" v1="3894" v2="4197" v3="5580" />
+ <tetrahedron index="28768" v0="5036" v1="6632" v2="6636" v3="6751" />
+ <tetrahedron index="28769" v0="6212" v1="6244" v2="6747" v3="6762" />
+ <tetrahedron index="28770" v0="5288" v1="5289" v2="5928" v3="6369" />
+ <tetrahedron index="28771" v0="3512" v1="4364" v2="5585" v3="6069" />
+ <tetrahedron index="28772" v0="3901" v1="4547" v2="5068" v3="6812" />
+ <tetrahedron index="28773" v0="4982" v1="5636" v2="5982" v3="6316" />
+ <tetrahedron index="28774" v0="4880" v1="5183" v2="5795" v3="5798" />
+ <tetrahedron index="28775" v0="4915" v1="5275" v2="5276" v3="5872" />
+ <tetrahedron index="28776" v0="3953" v1="4557" v2="4558" v3="5376" />
+ <tetrahedron index="28777" v0="4070" v1="5498" v2="6163" v3="6994" />
+ <tetrahedron index="28778" v0="4970" v1="6091" v2="6588" v3="6910" />
+ <tetrahedron index="28779" v0="5100" v1="5109" v2="5699" v3="6357" />
+ <tetrahedron index="28780" v0="4227" v1="4494" v2="4495" v3="6007" />
+ <tetrahedron index="28781" v0="3602" v1="4442" v2="4742" v3="5225" />
+ <tetrahedron index="28782" v0="4965" v1="5417" v2="5420" v3="6496" />
+ <tetrahedron index="28783" v0="3644" v1="5052" v2="5213" v3="5566" />
+ <tetrahedron index="28784" v0="5904" v1="6537" v2="6538" v3="6793" />
+ <tetrahedron index="28785" v0="5126" v1="5459" v2="6123" v3="6692" />
+ <tetrahedron index="28786" v0="4829" v1="5574" v2="6248" v3="6768" />
+ <tetrahedron index="28787" v0="4252" v1="4253" v2="4254" v3="5577" />
+ <tetrahedron index="28788" v0="5545" v1="5567" v2="6215" v3="6360" />
+ <tetrahedron index="28789" v0="3921" v1="3922" v2="3923" v3="5028" />
+ <tetrahedron index="28790" v0="3806" v1="4145" v2="5576" v3="6251" />
+ <tetrahedron index="28791" v0="4053" v1="5340" v2="6578" v3="6635" />
+ <tetrahedron index="28792" v0="4155" v1="4669" v2="4786" v3="5652" />
+ <tetrahedron index="28793" v0="3548" v1="4684" v2="5301" v3="5938" />
+ <tetrahedron index="28794" v0="3276" v1="3279" v2="3286" v3="5398" />
+ <tetrahedron index="28795" v0="4990" v1="5185" v2="5548" v3="5797" />
+ <tetrahedron index="28796" v0="3545" v1="3796" v2="4229" v3="5544" />
+ <tetrahedron index="28797" v0="4199" v1="4316" v2="5609" v3="5869" />
+ <tetrahedron index="28798" v0="4912" v1="4929" v2="5319" v3="5966" />
+ <tetrahedron index="28799" v0="5024" v1="5548" v2="5796" v3="6739" />
+ <tetrahedron index="28800" v0="4982" v1="5302" v2="5466" v3="6037" />
+ <tetrahedron index="28801" v0="4958" v1="5399" v2="5690" v3="6361" />
+ <tetrahedron index="28802" v0="4876" v1="5613" v2="5614" v3="6288" />
+ <tetrahedron index="28803" v0="3855" v1="4118" v2="4555" v3="6363" />
+ <tetrahedron index="28804" v0="4463" v1="5121" v2="5909" v3="5975" />
+ <tetrahedron index="28805" v0="3763" v1="3786" v2="3835" v3="5746" />
+ <tetrahedron index="28806" v0="3257" v1="3265" v2="5046" v3="5587" />
+ <tetrahedron index="28807" v0="3524" v1="5058" v2="5611" v3="6009" />
+ <tetrahedron index="28808" v0="4258" v1="5412" v2="6074" v3="6867" />
+ <tetrahedron index="28809" v0="5611" v1="6011" v2="6607" v3="6610" />
+ <tetrahedron index="28810" v0="3928" v1="5096" v2="5684" v3="6986" />
+ <tetrahedron index="28811" v0="4123" v1="4380" v2="4413" v3="5161" />
+ <tetrahedron index="28812" v0="4873" v1="6156" v2="6753" v3="6766" />
+ <tetrahedron index="28813" v0="5032" v1="5567" v2="5688" v3="6813" />
+ <tetrahedron index="28814" v0="3447" v1="3957" v2="4245" v3="6376" />
+ <tetrahedron index="28815" v0="3259" v1="3260" v2="5069" v3="5640" />
+ <tetrahedron index="28816" v0="4127" v1="4553" v2="5568" v3="5894" />
+ <tetrahedron index="28817" v0="4990" v1="5185" v2="5548" v3="5969" />
+ <tetrahedron index="28818" v0="4263" v1="5162" v2="5447" v3="5775" />
+ <tetrahedron index="28819" v0="3925" v1="3926" v2="4675" v3="5326" />
+ <tetrahedron index="28820" v0="4180" v1="4726" v2="4780" v3="5598" />
+ <tetrahedron index="28821" v0="4175" v1="4177" v2="4478" v3="5560" />
+ <tetrahedron index="28822" v0="4635" v1="4751" v2="5234" v3="6347" />
+ <tetrahedron index="28823" v0="3303" v1="3304" v2="3670" v3="5720" />
+ <tetrahedron index="28824" v0="4916" v1="5280" v2="5918" v3="5922" />
+ <tetrahedron index="28825" v0="4089" v1="4968" v2="5426" v3="5429" />
+ <tetrahedron index="28826" v0="4876" v1="4974" v2="5783" v3="6294" />
+ <tetrahedron index="28827" v0="4402" v1="4403" v2="5136" v3="5734" />
+ <tetrahedron index="28828" v0="4917" v1="5285" v2="5924" v3="5990" />
+ <tetrahedron index="28829" v0="5041" v1="5266" v2="5901" v3="5962" />
+ <tetrahedron index="28830" v0="3370" v1="3548" v2="3549" v3="5301" />
+ <tetrahedron index="28831" v0="4931" v1="5707" v2="6380" v3="6434" />
+ <tetrahedron index="28832" v0="3493" v1="3561" v2="6010" v3="6608" />
+ <tetrahedron index="28833" v0="4338" v1="4399" v2="4400" v3="5631" />
+ <tetrahedron index="28834" v0="3359" v1="3422" v2="5314" v3="5670" />
+ <tetrahedron index="28835" v0="3307" v1="4787" v2="5243" v3="6478" />
+ <tetrahedron index="28836" v0="3990" v1="4130" v2="4255" v3="5110" />
+ <tetrahedron index="28837" v0="5557" v1="6193" v2="6232" v3="6559" />
+ <tetrahedron index="28838" v0="4447" v1="4470" v2="4471" v3="5812" />
+ <tetrahedron index="28839" v0="3797" v1="5022" v2="6215" v3="6814" />
+ <tetrahedron index="28840" v0="3387" v1="3757" v2="3758" v3="5116" />
+ <tetrahedron index="28841" v0="3235" v1="3344" v2="3346" v3="5453" />
+ <tetrahedron index="28842" v0="4912" v1="5319" v2="5962" v3="5966" />
+ <tetrahedron index="28843" v0="5035" v1="6213" v2="6748" v3="6761" />
+ <tetrahedron index="28844" v0="3486" v1="4081" v2="4514" v3="5961" />
+ <tetrahedron index="28845" v0="4600" v1="5366" v2="6018" v3="6386" />
+ <tetrahedron index="28846" v0="3235" v1="3344" v2="5453" v3="5776" />
+ <tetrahedron index="28847" v0="4566" v1="4639" v2="5330" v3="5734" />
+ <tetrahedron index="28848" v0="4366" v1="5438" v2="6095" v3="6956" />
+ <tetrahedron index="28849" v0="4595" v1="4630" v2="4631" v3="5476" />
+ <tetrahedron index="28850" v0="4630" v1="4631" v2="5475" v3="5476" />
+ <tetrahedron index="28851" v0="4862" v1="5632" v2="6310" v3="6311" />
+ <tetrahedron index="28852" v0="3680" v1="4388" v2="5634" v3="6609" />
+ <tetrahedron index="28853" v0="5246" v1="5807" v2="6277" v3="6788" />
+ <tetrahedron index="28854" v0="3422" v1="5298" v2="5314" v3="5670" />
+ <tetrahedron index="28855" v0="6794" v1="6920" v2="7021" v3="7025" />
+ <tetrahedron index="28856" v0="3790" v1="5108" v2="5225" v3="6367" />
+ <tetrahedron index="28857" v0="3939" v1="3940" v2="4796" v3="5176" />
+ <tetrahedron index="28858" v0="5879" v1="6519" v2="6520" v3="6953" />
+ <tetrahedron index="28859" v0="3294" v1="3642" v2="5021" v3="6214" />
+ <tetrahedron index="28860" v0="4928" v1="5317" v2="6428" v3="6571" />
+ <tetrahedron index="28861" v0="3942" v1="4000" v2="4001" v3="6332" />
+ <tetrahedron index="28862" v0="5024" v1="6219" v2="6253" v3="6573" />
+ <tetrahedron index="28863" v0="4010" v1="4592" v2="5802" v3="5804" />
+ <tetrahedron index="28864" v0="3274" v1="3279" v2="3386" v3="5320" />
+ <tetrahedron index="28865" v0="3591" v1="4788" v2="5212" v3="5565" />
+ <tetrahedron index="28866" v0="3715" v1="3987" v2="5003" v3="5505" />
+ <tetrahedron index="28867" v0="5439" v1="6100" v2="6675" v3="6719" />
+ <tetrahedron index="28868" v0="4887" v1="5198" v2="5713" v3="5818" />
+ <tetrahedron index="28869" v0="3870" v1="3871" v2="3895" v3="5151" />
+ <tetrahedron index="28870" v0="3297" v1="4051" v2="4221" v3="5856" />
+ <tetrahedron index="28871" v0="4918" v1="5286" v2="6257" v3="6905" />
+ <tetrahedron index="28872" v0="5768" v1="6432" v2="6433" v3="6857" />
+ <tetrahedron index="28873" v0="3246" v1="3247" v2="3446" v3="5621" />
+ <tetrahedron index="28874" v0="4900" v1="5142" v2="5863" v3="5922" />
+ <tetrahedron index="28875" v0="3971" v1="3985" v2="4299" v3="5794" />
+ <tetrahedron index="28876" v0="3252" v1="3964" v2="6403" v3="6425" />
+ <tetrahedron index="28877" v0="4403" v1="4520" v2="5136" v3="5738" />
+ <tetrahedron index="28878" v0="4371" v1="4767" v2="5199" v3="5716" />
+ <tetrahedron index="28879" v0="4944" v1="5364" v2="6685" v3="6885" />
+ <tetrahedron index="28880" v0="4526" v1="4692" v2="5090" v3="5099" />
+ <tetrahedron index="28881" v0="4865" v1="4906" v2="5011" v3="5882" />
+ <tetrahedron index="28882" v0="4057" v1="5272" v2="5692" v3="5881" />
+ <tetrahedron index="28883" v0="4904" v1="5247" v2="5875" v3="5876" />
+ <tetrahedron index="28884" v0="4474" v1="4530" v2="4798" v3="5525" />
+ <tetrahedron index="28885" v0="4239" v1="4697" v2="5469" v3="6325" />
+ <tetrahedron index="28886" v0="4958" v1="5086" v2="5690" v3="6361" />
+ <tetrahedron index="28887" v0="4919" v1="5209" v2="5288" v3="6401" />
+ <tetrahedron index="28888" v0="4265" v1="4512" v2="5980" v3="6776" />
+ <tetrahedron index="28889" v0="3947" v1="3948" v2="4390" v3="5873" />
+ <tetrahedron index="28890" v0="4222" v1="4334" v2="4395" v3="5292" />
+ <tetrahedron index="28891" v0="4994" v1="5751" v2="6414" v3="6469" />
+ <tetrahedron index="28892" v0="4177" v1="4285" v2="4478" v3="6235" />
+ <tetrahedron index="28893" v0="4914" v1="5095" v2="5273" v3="5911" />
+ <tetrahedron index="28894" v0="5289" v1="5601" v2="6274" v3="6369" />
+ <tetrahedron index="28895" v0="4886" v1="5512" v2="6731" v3="7003" />
+ <tetrahedron index="28896" v0="3241" v1="5272" v2="5273" v3="6178" />
+ <tetrahedron index="28897" v0="4973" v1="5443" v2="6102" v3="6676" />
+ <tetrahedron index="28898" v0="3921" v1="3922" v2="4068" v3="5070" />
+ <tetrahedron index="28899" v0="3906" v1="3907" v2="4162" v3="5317" />
+ <tetrahedron index="28900" v0="4446" v1="4455" v2="5540" v3="6210" />
+ <tetrahedron index="28901" v0="3317" v1="4387" v2="5559" v3="5642" />
+ <tetrahedron index="28902" v0="3944" v1="4641" v2="4719" v3="5357" />
+ <tetrahedron index="28903" v0="3718" v1="4075" v2="5105" v3="5691" />
+ <tetrahedron index="28904" v0="3503" v1="3550" v2="3968" v3="5384" />
+ <tetrahedron index="28905" v0="5997" v1="6488" v2="6596" v3="6879" />
+ <tetrahedron index="28906" v0="4401" v1="4677" v2="5375" v3="5377" />
+ <tetrahedron index="28907" v0="5995" v1="6030" v2="6616" v3="6917" />
+ <tetrahedron index="28908" v0="3705" v1="4549" v2="4791" v3="6497" />
+ <tetrahedron index="28909" v0="5196" v1="5953" v2="6565" v3="6891" />
+ <tetrahedron index="28910" v0="3455" v1="5699" v2="5825" v3="6371" />
+ <tetrahedron index="28911" v0="3871" v1="5068" v2="5151" v3="6315" />
+ <tetrahedron index="28912" v0="3858" v1="3865" v2="3997" v3="5410" />
+ <tetrahedron index="28913" v0="3353" v1="3354" v2="3476" v3="6337" />
+ <tetrahedron index="28914" v0="4910" v1="5033" v2="5260" v3="5568" />
+ <tetrahedron index="28915" v0="3432" v1="4960" v2="5408" v3="5410" />
+ <tetrahedron index="28916" v0="5223" v1="5846" v2="6141" v3="6494" />
+ <tetrahedron index="28917" v0="3521" v1="3524" v2="4312" v3="6606" />
+ <tetrahedron index="28918" v0="4378" v1="4649" v2="4808" v3="5687" />
+ <tetrahedron index="28919" v0="3756" v1="4374" v2="4572" v3="5130" />
+ <tetrahedron index="28920" v0="3271" v1="3711" v2="3791" v3="4957" />
+ <tetrahedron index="28921" v0="3866" v1="3868" v2="4137" v3="5287" />
+ <tetrahedron index="28922" v0="3295" v1="4343" v2="5542" v3="6504" />
+ <tetrahedron index="28923" v0="5499" v1="5777" v2="6440" v3="6815" />
+ <tetrahedron index="28924" v0="4350" v1="4397" v2="5236" v3="5860" />
+ <tetrahedron index="28925" v0="3715" v1="3716" v2="3869" v3="5505" />
+ <tetrahedron index="28926" v0="5113" v1="5888" v2="5891" v3="6814" />
+ <tetrahedron index="28927" v0="4567" v1="4648" v2="5347" v3="5360" />
+ <tetrahedron index="28928" v0="4524" v1="4596" v2="4623" v3="5515" />
+ <tetrahedron index="28929" v0="4530" v1="5322" v2="6196" v3="6452" />
+ <tetrahedron index="28930" v0="3510" v1="3808" v2="4376" v3="6258" />
+ <tetrahedron index="28931" v0="3270" v1="5404" v2="6061" v3="6064" />
+ <tetrahedron index="28932" v0="4179" v1="4246" v2="4247" v3="5497" />
+ <tetrahedron index="28933" v0="3465" v1="3801" v2="5130" v3="5780" />
+ <tetrahedron index="28934" v0="4004" v1="4060" v2="5737" v3="6400" />
+ <tetrahedron index="28935" v0="3474" v1="5102" v2="5545" v3="5892" />
+ <tetrahedron index="28936" v0="5460" v1="5462" v2="6127" v3="6128" />
+ <tetrahedron index="28937" v0="3834" v1="3928" v2="3996" v3="5096" />
+ <tetrahedron index="28938" v0="4694" v1="4732" v2="5755" v3="6420" />
+ <tetrahedron index="28939" v0="3411" v1="5448" v2="5866" v3="6108" />
+ <tetrahedron index="28940" v0="4422" v1="5525" v2="5549" v3="6199" />
+ <tetrahedron index="28941" v0="5206" v1="5824" v2="6361" v3="6829" />
+ <tetrahedron index="28942" v0="5221" v1="5550" v2="6645" v3="6878" />
+ <tetrahedron index="28943" v0="3242" v1="4021" v2="4022" v3="6216" />
+ <tetrahedron index="28944" v0="3357" v1="4515" v2="5790" v3="6499" />
+ <tetrahedron index="28945" v0="4563" v1="4700" v2="5536" v3="5537" />
+ <tetrahedron index="28946" v0="3456" v1="3738" v2="3746" v3="5579" />
+ <tetrahedron index="28947" v0="3641" v1="3837" v2="4313" v3="5431" />
+ <tetrahedron index="28948" v0="3414" v1="4312" v2="5058" v3="6606" />
+ <tetrahedron index="28949" v0="3855" v1="3856" v2="3857" v3="5231" />
+ <tetrahedron index="28950" v0="3411" v1="3522" v2="3825" v3="6108" />
+ <tetrahedron index="28951" v0="4114" v1="5109" v2="5699" v3="6371" />
+ <tetrahedron index="28952" v0="3796" v1="5022" v2="5893" v3="6215" />
+ <tetrahedron index="28953" v0="3370" v1="3548" v2="3552" v3="5940" />
+ <tetrahedron index="28954" v0="5107" v1="5210" v2="5826" v3="6511" />
+ <tetrahedron index="28955" v0="4950" v1="5745" v2="6550" v3="6657" />
+ <tetrahedron index="28956" v0="3725" v1="3726" v2="3727" v3="5723" />
+ <tetrahedron index="28957" v0="3234" v1="3690" v2="5049" v3="5593" />
+ <tetrahedron index="28958" v0="3841" v1="4014" v2="4391" v3="6084" />
+ <tetrahedron index="28959" v0="5318" v1="5422" v2="5961" v3="6571" />
+ <tetrahedron index="28960" v0="5252" v1="5619" v2="5652" v3="6526" />
+ <tetrahedron index="28961" v0="5614" v1="6287" v2="6789" v3="6792" />
+ <tetrahedron index="28962" v0="4945" v1="5792" v2="6018" v3="6382" />
+ <tetrahedron index="28963" v0="3491" v1="3674" v2="4728" v3="5232" />
+ <tetrahedron index="28964" v0="4876" v1="5613" v2="6294" v3="6679" />
+ <tetrahedron index="28965" v0="4869" v1="5039" v2="5707" v3="6252" />
+ <tetrahedron index="28966" v0="3593" v1="5165" v2="5780" v3="6132" />
+ <tetrahedron index="28967" v0="4183" v1="4245" v2="5680" v3="6376" />
+ <tetrahedron index="28968" v0="3999" v1="4461" v2="5121" v3="5975" />
+ <tetrahedron index="28969" v0="6535" v1="6560" v2="6799" v3="6850" />
+ <tetrahedron index="28970" v0="4328" v1="4417" v2="4723" v3="5708" />
+ <tetrahedron index="28971" v0="4875" v1="5046" v2="6259" v3="6265" />
+ <tetrahedron index="28972" v0="4147" v1="4537" v2="4548" v3="5526" />
+ <tetrahedron index="28973" v0="5187" v1="5534" v2="5802" v3="6454" />
+ <tetrahedron index="28974" v0="5053" v1="6142" v2="6275" v3="6277" />
+ <tetrahedron index="28975" v0="4923" v1="5744" v2="5833" v3="5939" />
+ <tetrahedron index="28976" v0="3483" v1="3905" v2="5310" v3="5952" />
+ <tetrahedron index="28977" v0="3664" v1="3666" v2="3667" v3="5250" />
+ <tetrahedron index="28978" v0="3278" v1="3282" v2="3284" v3="5133" />
+ <tetrahedron index="28979" v0="3444" v1="3445" v2="5911" v3="5970" />
+ <tetrahedron index="28980" v0="4670" v1="4671" v2="6491" v3="6998" />
+ <tetrahedron index="28981" v0="3633" v1="3656" v2="4227" v3="5530" />
+ <tetrahedron index="28982" v0="4899" v1="5101" v2="5689" v3="5854" />
+ <tetrahedron index="28983" v0="3902" v1="4219" v2="4643" v3="5638" />
+ <tetrahedron index="28984" v0="4933" v1="5125" v2="5329" v3="5332" />
+ <tetrahedron index="28985" v0="5352" v1="6000" v2="6002" v3="6601" />
+ <tetrahedron index="28986" v0="4949" v1="5552" v2="5554" v3="6755" />
+ <tetrahedron index="28987" v0="4919" v1="5288" v2="5679" v3="6401" />
+ <tetrahedron index="28988" v0="4981" v1="6129" v2="6676" v3="6892" />
+ <tetrahedron index="28989" v0="4717" v1="5411" v2="5462" v3="6180" />
+ <tetrahedron index="28990" v0="4089" v1="4204" v2="5430" v3="6087" />
+ <tetrahedron index="28991" v0="4970" v1="5805" v2="5992" v3="6588" />
+ <tetrahedron index="28992" v0="4933" v1="5136" v2="5734" v3="5976" />
+ <tetrahedron index="28993" v0="5205" v1="5821" v2="5823" v3="5955" />
+ <tetrahedron index="28994" v0="4627" v1="4632" v2="5164" v3="5597" />
+ <tetrahedron index="28995" v0="5016" v1="5530" v2="5531" v3="6433" />
+ <tetrahedron index="28996" v0="3716" v1="5505" v2="6024" v3="6169" />
+ <tetrahedron index="28997" v0="3355" v1="3839" v2="5226" v3="5417" />
+ <tetrahedron index="28998" v0="5170" v1="5446" v2="6062" v3="6487" />
+ <tetrahedron index="28999" v0="3652" v1="3653" v2="5777" v3="6440" />
+ <tetrahedron index="29000" v0="3314" v1="3834" v2="4060" v3="5737" />
+ <tetrahedron index="29001" v0="5001" v1="5440" v2="5562" v3="6100" />
+ <tetrahedron index="29002" v0="3658" v1="4109" v2="5183" v3="5798" />
+ <tetrahedron index="29003" v0="4302" v1="5342" v2="6262" v3="6928" />
+ <tetrahedron index="29004" v0="5520" v1="6585" v2="6737" v3="6921" />
+ <tetrahedron index="29005" v0="3861" v1="4983" v2="5467" v3="6326" />
+ <tetrahedron index="29006" v0="3447" v1="5591" v2="6376" v3="6377" />
+ <tetrahedron index="29007" v0="5074" v1="5372" v2="5898" v3="6022" />
+ <tetrahedron index="29008" v0="3263" v1="3264" v2="5001" v3="5623" />
+ <tetrahedron index="29009" v0="3871" v1="4184" v2="5068" v3="5639" />
+ <tetrahedron index="29010" v0="3243" v1="4301" v2="4327" v3="6486" />
+ <tetrahedron index="29011" v0="6276" v1="6780" v2="6882" v3="6978" />
+ <tetrahedron index="29012" v0="4710" v1="4714" v2="5351" v3="5999" />
+ <tetrahedron index="29013" v0="3593" v1="3594" v2="3595" v3="6132" />
+ <tetrahedron index="29014" v0="4041" v1="4788" v2="4835" v3="5831" />
+ <tetrahedron index="29015" v0="5389" v1="6041" v2="6620" v3="6749" />
+ <tetrahedron index="29016" v0="4474" v1="5013" v2="5593" v3="6197" />
+ <tetrahedron index="29017" v0="5446" v1="5614" v2="6289" v3="6875" />
+ <tetrahedron index="29018" v0="3468" v1="3469" v2="4617" v3="5779" />
+ <tetrahedron index="29019" v0="4953" v1="5389" v2="6207" v3="6970" />
+ <tetrahedron index="29020" v0="3863" v1="5262" v2="5372" v3="5898" />
+ <tetrahedron index="29021" v0="4338" v1="4396" v2="4698" v3="6194" />
+ <tetrahedron index="29022" v0="3486" v1="3487" v2="5422" v3="6936" />
+ <tetrahedron index="29023" v0="4133" v1="4322" v2="4556" v3="5426" />
+ <tetrahedron index="29024" v0="3692" v1="4196" v2="5223" v3="5845" />
+ <tetrahedron index="29025" v0="3403" v1="4516" v2="5208" v3="5827" />
+ <tetrahedron index="29026" v0="3509" v1="3510" v2="3511" v3="5329" />
+ <tetrahedron index="29027" v0="4968" v1="5426" v2="5427" v3="5429" />
+ <tetrahedron index="29028" v0="4906" v1="5249" v2="5407" v3="5883" />
+ <tetrahedron index="29029" v0="3872" v1="4073" v2="5089" v3="5295" />
+ <tetrahedron index="29030" v0="3507" v1="3713" v2="3980" v3="5222" />
+ <tetrahedron index="29031" v0="5147" v1="5742" v2="5743" v3="6319" />
+ <tetrahedron index="29032" v0="3866" v1="3867" v2="3868" v3="5287" />
+ <tetrahedron index="29033" v0="4070" v1="4248" v2="4282" v3="5498" />
+ <tetrahedron index="29034" v0="3644" v1="3645" v2="5075" v3="5566" />
+ <tetrahedron index="29035" v0="5138" v1="5934" v2="5935" v3="6342" />
+ <tetrahedron index="29036" v0="4931" v1="4990" v2="5548" v3="6434" />
+ <tetrahedron index="29037" v0="3310" v1="3572" v2="5372" v3="5373" />
+ <tetrahedron index="29038" v0="4933" v1="5125" v2="5331" v3="5977" />
+ <tetrahedron index="29039" v0="4124" v1="4125" v2="4228" v3="6094" />
+ <tetrahedron index="29040" v0="4057" v1="4462" v2="5272" v3="5909" />
+ <tetrahedron index="29041" v0="3867" v1="3868" v2="3907" v3="5287" />
+ <tetrahedron index="29042" v0="4935" v1="5338" v2="5563" v3="6480" />
+ <tetrahedron index="29043" v0="3933" v1="4347" v2="4348" v3="5132" />
+ <tetrahedron index="29044" v0="3650" v1="3830" v2="3839" v3="5417" />
+ <tetrahedron index="29045" v0="5001" v1="5440" v2="6100" v3="6417" />
+ <tetrahedron index="29046" v0="3582" v1="4215" v2="5733" v3="5789" />
+ <tetrahedron index="29047" v0="4427" v1="5321" v2="5796" v3="6452" />
+ <tetrahedron index="29048" v0="3974" v1="5310" v2="6261" v3="6264" />
+ <tetrahedron index="29049" v0="5556" v1="6209" v2="6461" v3="6745" />
+ <tetrahedron index="29050" v0="3550" v1="5098" v2="5385" v3="5466" />
+ <tetrahedron index="29051" v0="4495" v1="4792" v2="5490" v3="6777" />
+ <tetrahedron index="29052" v0="5047" v1="6263" v2="6264" v3="6775" />
+ <tetrahedron index="29053" v0="5036" v1="5573" v2="6224" v3="6250" />
+ <tetrahedron index="29054" v0="4581" v1="4711" v2="5150" v3="5752" />
+ <tetrahedron index="29055" v0="4853" v1="6061" v2="6066" v3="6104" />
+ <tetrahedron index="29056" v0="4871" v1="5498" v2="6815" v3="6861" />
+ <tetrahedron index="29057" v0="4938" v1="5009" v2="5345" v3="6191" />
+ <tetrahedron index="29058" v0="4132" v1="5426" v2="5427" v3="5428" />
+ <tetrahedron index="29059" v0="3877" v1="5199" v2="5716" v3="5819" />
+ <tetrahedron index="29060" v0="3994" v1="4306" v2="5290" v3="6396" />
+ <tetrahedron index="29061" v0="4960" v1="5409" v2="6070" v3="6932" />
+ <tetrahedron index="29062" v0="5655" v1="5711" v2="5910" v3="6330" />
+ <tetrahedron index="29063" v0="3789" v1="3790" v2="4601" v3="5108" />
+ <tetrahedron index="29064" v0="5017" v1="5186" v2="5801" v3="5803" />
+ <tetrahedron index="29065" v0="5107" v1="5693" v2="6364" v3="6887" />
+ <tetrahedron index="29066" v0="4699" v1="5672" v2="5957" v3="6475" />
+ <tetrahedron index="29067" v0="4387" v1="5028" v2="5559" v3="5642" />
+ <tetrahedron index="29068" v0="3819" v1="3889" v2="5371" v3="6618" />
+ <tetrahedron index="29069" v0="3490" v1="3492" v2="5261" v3="5262" />
+ <tetrahedron index="29070" v0="3813" v1="4352" v2="5728" v3="6614" />
+ <tetrahedron index="29071" v0="4915" v1="5277" v2="5629" v3="6355" />
+ <tetrahedron index="29072" v0="5251" v1="5253" v2="5496" v3="5885" />
+ <tetrahedron index="29073" v0="3700" v1="4336" v2="4935" v3="6318" />
+ <tetrahedron index="29074" v0="5403" v1="6062" v2="6103" v3="6648" />
+ <tetrahedron index="29075" v0="4940" v1="5165" v2="5356" v3="5978" />
+ <tetrahedron index="29076" v0="3723" v1="4174" v2="4226" v3="5897" />
+ <tetrahedron index="29077" v0="4870" v1="5643" v2="5732" v3="6396" />
+ <tetrahedron index="29078" v0="4507" v1="5575" v2="5926" v3="6581" />
+ <tetrahedron index="29079" v0="3274" v1="3526" v2="5485" v3="5727" />
+ <tetrahedron index="29080" v0="3527" v1="3792" v2="4029" v3="5383" />
+ <tetrahedron index="29081" v0="3683" v1="3704" v2="4443" v3="6256" />
+ <tetrahedron index="29082" v0="3750" v1="4686" v2="5400" v3="6059" />
+ <tetrahedron index="29083" v0="5435" v1="5960" v2="6588" v3="6910" />
+ <tetrahedron index="29084" v0="5221" v1="5841" v2="6488" v3="6878" />
+ <tetrahedron index="29085" v0="5042" v1="5583" v2="6579" v3="6905" />
+ <tetrahedron index="29086" v0="4521" v1="5255" v2="5567" v3="6215" />
+ <tetrahedron index="29087" v0="4954" v1="5392" v2="6626" v3="6631" />
+ <tetrahedron index="29088" v0="3452" v1="4283" v2="5114" v3="5871" />
+ <tetrahedron index="29089" v0="4221" v1="4636" v2="4729" v3="5234" />
+ <tetrahedron index="29090" v0="4860" v1="5554" v2="6632" v3="6753" />
+ <tetrahedron index="29091" v0="4111" v1="4243" v2="4664" v3="5610" />
+ <tetrahedron index="29092" v0="4925" v1="4989" v2="5038" v3="5308" />
+ <tetrahedron index="29093" v0="5627" v1="6305" v2="6512" v3="6802" />
+ <tetrahedron index="29094" v0="4139" v1="4689" v2="5389" v3="6207" />
+ <tetrahedron index="29095" v0="3968" v1="4214" v2="5385" v3="5728" />
+ <tetrahedron index="29096" v0="3419" v1="3637" v2="3960" v3="5086" />
+ <tetrahedron index="29097" v0="4117" v1="6051" v2="6225" v3="6751" />
+ <tetrahedron index="29098" v0="3402" v1="5737" v2="6401" v3="6402" />
+ <tetrahedron index="29099" v0="4019" v1="5054" v2="5794" v3="5851" />
+ <tetrahedron index="29100" v0="5597" v1="5649" v2="6269" v3="6327" />
+ <tetrahedron index="29101" v0="3622" v1="3623" v2="4314" v3="5237" />
+ <tetrahedron index="29102" v0="3757" v1="4005" v2="4069" v3="5116" />
+ <tetrahedron index="29103" v0="4937" v1="6148" v2="6705" v3="7020" />
+ <tetrahedron index="29104" v0="4875" v1="5402" v2="5524" v3="6060" />
+ <tetrahedron index="29105" v0="3316" v1="5865" v2="6507" v3="6509" />
+ <tetrahedron index="29106" v0="4910" v1="5033" v2="6533" v3="6615" />
+ <tetrahedron index="29107" v0="3363" v1="3822" v2="4115" v3="6826" />
+ <tetrahedron index="29108" v0="4867" v1="5556" v2="6212" v3="6466" />
+ <tetrahedron index="29109" v0="3453" v1="3988" v2="5828" v3="5927" />
+ <tetrahedron index="29110" v0="5359" v1="5710" v2="5913" v3="6542" />
+ <tetrahedron index="29111" v0="4392" v1="4420" v2="5010" v3="5521" />
+ <tetrahedron index="29112" v0="3782" v1="3783" v2="3784" v3="5341" />
+ <tetrahedron index="29113" v0="3443" v1="5091" v2="5199" v3="5791" />
+ <tetrahedron index="29114" v0="3423" v1="3631" v2="3879" v3="5173" />
+ <tetrahedron index="29115" v0="4901" v1="5056" v2="5241" v3="5867" />
+ <tetrahedron index="29116" v0="4920" v1="5043" v2="5294" v3="5933" />
+ <tetrahedron index="29117" v0="4673" v1="4803" v2="5655" v3="6330" />
+ <tetrahedron index="29118" v0="4974" v1="5059" v2="5382" v3="6035" />
+ <tetrahedron index="29119" v0="4904" v1="5875" v2="6289" v3="6689" />
+ <tetrahedron index="29120" v0="3399" v1="3970" v2="5628" v3="5721" />
+ <tetrahedron index="29121" v0="4988" v1="5219" v2="5835" v3="6482" />
+ <tetrahedron index="29122" v0="5016" v1="5596" v2="5676" v3="6743" />
+ <tetrahedron index="29123" v0="3615" v1="5114" v2="5209" v3="5828" />
+ <tetrahedron index="29124" v0="4076" v1="5534" v2="5535" v3="6206" />
+ <tetrahedron index="29125" v0="4900" v1="5863" v2="5922" v3="6505" />
+ <tetrahedron index="29126" v0="5123" v1="5198" v2="5718" v3="6017" />
+ <tetrahedron index="29127" v0="3394" v1="3396" v2="3400" v3="5838" />
+ <tetrahedron index="29128" v0="3295" v1="3917" v2="5142" v3="5542" />
+ <tetrahedron index="29129" v0="4988" v1="5216" v2="5479" v3="6143" />
+ <tetrahedron index="29130" v0="4894" v1="6140" v2="6421" v3="6930" />
+ <tetrahedron index="29131" v0="5350" v1="5998" v2="6595" v3="6702" />
+ <tetrahedron index="29132" v0="5880" v1="6098" v2="6674" v3="6707" />
+ <tetrahedron index="29133" v0="3619" v1="3620" v2="4766" v3="6498" />
+ <tetrahedron index="29134" v0="3680" v1="3681" v2="4144" v3="5673" />
+ <tetrahedron index="29135" v0="3457" v1="3764" v2="3886" v3="6087" />
+ <tetrahedron index="29136" v0="4165" v1="4314" v2="5280" v3="5918" />
+ <tetrahedron index="29137" v0="3231" v1="3613" v2="4709" v3="5158" />
+ <tetrahedron index="29138" v0="3734" v1="5059" v2="5613" v3="6035" />
+ <tetrahedron index="29139" v0="4278" v1="4279" v2="5388" v3="6040" />
+ <tetrahedron index="29140" v0="5805" v1="6570" v2="6588" v3="6910" />
+ <tetrahedron index="29141" v0="5024" v1="5548" v2="6219" v3="6573" />
+ <tetrahedron index="29142" v0="3361" v1="5312" v2="5671" v3="6344" />
+ <tetrahedron index="29143" v0="5310" v1="5952" v2="6561" v3="6874" />
+ <tetrahedron index="29144" v0="3465" v1="3801" v2="4697" v3="5469" />
+ <tetrahedron index="29145" v0="4904" v1="5458" v2="6122" v3="6689" />
+ <tetrahedron index="29146" v0="5305" v1="5941" v2="6550" v3="6580" />
+ <tetrahedron index="29147" v0="6408" v1="6409" v2="6842" v3="6987" />
+ <tetrahedron index="29148" v0="4984" v1="5905" v2="6540" v3="6700" />
+ <tetrahedron index="29149" v0="3950" v1="4233" v2="5077" v3="6454" />
+ <tetrahedron index="29150" v0="5084" v1="5093" v2="5677" v3="5767" />
+ <tetrahedron index="29151" v0="4722" v1="5274" v2="5276" v3="5914" />
+ <tetrahedron index="29152" v0="5081" v1="5656" v2="6333" v3="6817" />
+ <tetrahedron index="29153" v0="3797" v1="4484" v2="5255" v3="6215" />
+ <tetrahedron index="29154" v0="4763" v1="5144" v2="5145" v3="6404" />
+ <tetrahedron index="29155" v0="4933" v1="5329" v2="5330" v3="5734" />
+ <tetrahedron index="29156" v0="3494" v1="3616" v2="3875" v3="5865" />
+ <tetrahedron index="29157" v0="4870" v1="5043" v2="5162" v3="5732" />
+ <tetrahedron index="29158" v0="3747" v1="4512" v2="5333" v3="6133" />
+ <tetrahedron index="29159" v0="3274" v1="3792" v2="5726" v3="5727" />
+ <tetrahedron index="29160" v0="3695" v1="4758" v2="5095" v3="5970" />
+ <tetrahedron index="29161" v0="3934" v1="5239" v2="5868" v3="6919" />
+ <tetrahedron index="29162" v0="3810" v1="3811" v2="3812" v3="5786" />
+ <tetrahedron index="29163" v0="4877" v1="5496" v2="5885" v3="6447" />
+ <tetrahedron index="29164" v0="5063" v1="5906" v2="6111" v3="6534" />
+ <tetrahedron index="29165" v0="3474" v1="3475" v2="5117" v3="5892" />
+ <tetrahedron index="29166" v0="4088" v1="4320" v2="5806" v3="6457" />
+ <tetrahedron index="29167" v0="3233" v1="3345" v2="5163" v3="5776" />
+ <tetrahedron index="29168" v0="4875" v1="5396" v2="5402" v3="6060" />
+ <tetrahedron index="29169" v0="3518" v1="4711" v2="4814" v3="5752" />
+ <tetrahedron index="29170" v0="3331" v1="3632" v2="4588" v3="5354" />
+ <tetrahedron index="29171" v0="3315" v1="5559" v2="6509" v3="6510" />
+ <tetrahedron index="29172" v0="4872" v1="5648" v2="6326" v3="6327" />
+ <tetrahedron index="29173" v0="4033" v1="4587" v2="4838" v3="6470" />
+ <tetrahedron index="29174" v0="3742" v1="4097" v2="4448" v3="5923" />
+ <tetrahedron index="29175" v0="3263" v1="3891" v2="5015" v3="5504" />
+ <tetrahedron index="29176" v0="3307" v1="4602" v2="4787" v3="6478" />
+ <tetrahedron index="29177" v0="5147" v1="5744" v2="5939" v3="6317" />
+ <tetrahedron index="29178" v0="3259" v1="3973" v2="4865" v3="5011" />
+ <tetrahedron index="29179" v0="5057" v1="6004" v2="6603" v3="6917" />
+ <tetrahedron index="29180" v0="4182" v1="4217" v2="4791" v3="5085" />
+ <tetrahedron index="29181" v0="3942" v1="4001" v2="4176" v3="6332" />
+ <tetrahedron index="29182" v0="4215" v1="4344" v2="5178" v3="5789" />
+ <tetrahedron index="29183" v0="3850" v1="4127" v2="4240" v3="6529" />
+ <tetrahedron index="29184" v0="3735" v1="5182" v2="5608" v3="5696" />
+ <tetrahedron index="29185" v0="3263" v1="5001" v2="5455" v3="5623" />
+ <tetrahedron index="29186" v0="3714" v1="3715" v2="5374" v3="6024" />
+ <tetrahedron index="29187" v0="3959" v1="4632" v2="5164" v3="5468" />
+ <tetrahedron index="29188" v0="3647" v1="3648" v2="5369" v3="6020" />
+ <tetrahedron index="29189" v0="4440" v1="4656" v2="4792" v3="5490" />
+ <tetrahedron index="29190" v0="4893" v1="4988" v2="5219" v3="5835" />
+ <tetrahedron index="29191" v0="4965" v1="5847" v2="5849" v3="6498" />
+ <tetrahedron index="29192" v0="3979" v1="5770" v2="6147" v3="6859" />
+ <tetrahedron index="29193" v0="4766" v1="5224" v2="5849" v3="6498" />
+ <tetrahedron index="29194" v0="3941" v1="4673" v2="4803" v3="5655" />
+ <tetrahedron index="29195" v0="4884" v1="5192" v2="5811" v3="6209" />
+ <tetrahedron index="29196" v0="4729" v1="5233" v2="5234" v3="5857" />
+ <tetrahedron index="29197" v0="4375" v1="4721" v2="4733" v3="5731" />
+ <tetrahedron index="29198" v0="4855" v1="5483" v2="6065" v3="6392" />
+ <tetrahedron index="29199" v0="3768" v1="3769" v2="5854" v3="6501" />
+ <tetrahedron index="29200" v0="3254" v1="3255" v2="6021" v3="6618" />
+ <tetrahedron index="29201" v0="5342" v1="5988" v2="6773" v3="7006" />
+ <tetrahedron index="29202" v0="5996" v1="6407" v2="6839" v3="6848" />
+ <tetrahedron index="29203" v0="3674" v1="4593" v2="5834" v3="5855" />
+ <tetrahedron index="29204" v0="3950" v1="4335" v2="5018" v3="5739" />
+ <tetrahedron index="29205" v0="4120" v1="5553" v2="6226" v3="6770" />
+ <tetrahedron index="29206" v0="3805" v1="3938" v2="4386" v3="5968" />
+ <tetrahedron index="29207" v0="4401" v1="4402" v2="4403" v3="5136" />
+ <tetrahedron index="29208" v0="6053" v1="6703" v2="6864" v3="6931" />
+ <tetrahedron index="29209" v0="6009" v1="6506" v2="6605" v3="6610" />
+ <tetrahedron index="29210" v0="4910" v1="5259" v2="5568" v3="6241" />
+ <tetrahedron index="29211" v0="4304" v1="4541" v2="4542" v3="5440" />
+ <tetrahedron index="29212" v0="6292" v1="6639" v2="6773" v3="6931" />
+ <tetrahedron index="29213" v0="3366" v1="5106" v2="5692" v3="6518" />
+ <tetrahedron index="29214" v0="5405" v1="5618" v2="6294" v3="6705" />
+ <tetrahedron index="29215" v0="3338" v1="5335" v2="5765" v3="5979" />
+ <tetrahedron index="29216" v0="4974" v1="5404" v2="6061" v3="6064" />
+ <tetrahedron index="29217" v0="3770" v1="3771" v2="4107" v3="6378" />
+ <tetrahedron index="29218" v0="3695" v1="3908" v2="4758" v3="5095" />
+ <tetrahedron index="29219" v0="5341" v1="5985" v2="5987" v3="6581" />
+ <tetrahedron index="29220" v0="3996" v1="4004" v2="4483" v3="5140" />
+ <tetrahedron index="29221" v0="3935" v1="4499" v2="5071" v3="5645" />
+ <tetrahedron index="29222" v0="3386" v1="5128" v2="5726" v3="5727" />
+ <tetrahedron index="29223" v0="4986" v1="6421" v2="6645" v3="6878" />
+ <tetrahedron index="29224" v0="3301" v1="3302" v2="3966" v3="5055" />
+ <tetrahedron index="29225" v0="3268" v1="3269" v2="3379" v3="5038" />
+ <tetrahedron index="29226" v0="3343" v1="4207" v2="5160" v3="5771" />
+ <tetrahedron index="29227" v0="3625" v1="3626" v2="3724" v3="5275" />
+ <tetrahedron index="29228" v0="4112" v1="4648" v2="4783" v3="5360" />
+ <tetrahedron index="29229" v0="4088" v1="4320" v2="4725" v3="5806" />
+ <tetrahedron index="29230" v0="3586" v1="4658" v2="5302" v3="6037" />
+ <tetrahedron index="29231" v0="3908" v1="3909" v2="4490" v3="5271" />
+ <tetrahedron index="29232" v0="3479" v1="4702" v2="5312" v3="5824" />
+ <tetrahedron index="29233" v0="3330" v1="4440" v2="4572" v3="6152" />
+ <tetrahedron index="29234" v0="3658" v1="4269" v2="5088" v3="5795" />
+ <tetrahedron index="29235" v0="4066" v1="4763" v2="5145" v3="6405" />
+ <tetrahedron index="29236" v0="3553" v1="3700" v2="4681" v3="4935" />
+ <tetrahedron index="29237" v0="3577" v1="4616" v2="4743" v3="5496" />
+ <tetrahedron index="29238" v0="4489" v1="5197" v2="5907" v3="6541" />
+ <tetrahedron index="29239" v0="3791" v1="4066" v2="4888" v3="6405" />
+ <tetrahedron index="29240" v0="4147" v1="5526" v2="5549" v3="5795" />
+ <tetrahedron index="29241" v0="5016" v1="5530" v2="6203" v3="6857" />
+ <tetrahedron index="29242" v0="3659" v1="3660" v2="5526" v3="5795" />
+ <tetrahedron index="29243" v0="4923" v1="5301" v2="5833" v3="5940" />
+ <tetrahedron index="29244" v0="4901" v1="5132" v2="5870" v3="6506" />
+ <tetrahedron index="29245" v0="5039" v1="5576" v2="6252" v3="6771" />
+ <tetrahedron index="29246" v0="3425" v1="4517" v2="4550" v3="5017" />
+ <tetrahedron index="29247" v0="4338" v1="5631" v2="6553" v3="6555" />
+ <tetrahedron index="29248" v0="4112" v1="5360" v2="6013" v3="6229" />
+ <tetrahedron index="29249" v0="4174" v1="4769" v2="5263" v3="5898" />
+ <tetrahedron index="29250" v0="4854" v1="5763" v2="6550" v3="6551" />
+ <tetrahedron index="29251" v0="4041" v1="4788" v2="5565" v3="5831" />
+ <tetrahedron index="29252" v0="3428" v1="4172" v2="4173" v3="4369" />
+ <tetrahedron index="29253" v0="3737" v1="4062" v2="4575" v3="5146" />
+ <tetrahedron index="29254" v0="4549" v1="4791" v2="5847" v3="6497" />
+ <tetrahedron index="29255" v0="5194" v1="5814" v2="6470" v3="6868" />
+ <tetrahedron index="29256" v0="3871" v1="3902" v2="4859" v3="5151" />
+ <tetrahedron index="29257" v0="4238" v1="4239" v2="6324" v3="6698" />
+ <tetrahedron index="29258" v0="5167" v1="6804" v2="6843" v3="6988" />
+ <tetrahedron index="29259" v0="3279" v1="3280" v2="3286" v3="6058" />
+ <tetrahedron index="29260" v0="4873" v1="6627" v2="6628" v3="6786" />
+ <tetrahedron index="29261" v0="3956" v1="4241" v2="4306" v3="5732" />
+ <tetrahedron index="29262" v0="3928" v1="3996" v2="4359" v3="5096" />
+ <tetrahedron index="29263" v0="5183" v1="5185" v2="5548" v3="5798" />
+ <tetrahedron index="29264" v0="4323" v1="4325" v2="5304" v3="5306" />
+ <tetrahedron index="29265" v0="3433" v1="3649" v2="5370" v3="5408" />
+ <tetrahedron index="29266" v0="4907" v1="5251" v2="5564" v3="6237" />
+ <tetrahedron index="29267" v0="5191" v1="6040" v2="6745" v3="6969" />
+ <tetrahedron index="29268" v0="5052" v1="5566" v2="6239" v3="6760" />
+ <tetrahedron index="29269" v0="4977" v1="5644" v2="6321" v3="6441" />
+ <tetrahedron index="29270" v0="5876" v1="5877" v2="6180" v3="6516" />
+ <tetrahedron index="29271" v0="3662" v1="4560" v2="5127" v3="6391" />
+ <tetrahedron index="29272" v0="4135" v1="4657" v2="5184" v3="5969" />
+ <tetrahedron index="29273" v0="3634" v1="3844" v2="5773" v3="6437" />
+ <tetrahedron index="29274" v0="3728" v1="4135" v2="4657" v3="5969" />
+ <tetrahedron index="29275" v0="4221" v1="4729" v2="5234" v3="5856" />
+ <tetrahedron index="29276" v0="3826" v1="4606" v2="5240" v3="5869" />
+ <tetrahedron index="29277" v0="4910" v1="5263" v2="5894" v3="6533" />
+ <tetrahedron index="29278" v0="4953" v1="6623" v2="6745" v3="6969" />
+ <tetrahedron index="29279" v0="4136" v1="4381" v2="4431" v3="6091" />
+ <tetrahedron index="29280" v0="5027" v1="6233" v2="6234" v3="6431" />
+ <tetrahedron index="29281" v0="5111" v1="5796" v2="6452" v3="6739" />
+ <tetrahedron index="29282" v0="3350" v1="3584" v2="5418" v3="6076" />
+ <tetrahedron index="29283" v0="4864" v1="5996" v2="6220" v3="6419" />
+ <tetrahedron index="29284" v0="3418" v1="4274" v2="5228" v3="5852" />
+ <tetrahedron index="29285" v0="4232" v1="4344" v2="4391" v3="5178" />
+ <tetrahedron index="29286" v0="3549" v1="4062" v2="4684" v3="5939" />
+ <tetrahedron index="29287" v0="4644" v1="4645" v2="4646" v3="5174" />
+ <tetrahedron index="29288" v0="5507" v1="6171" v2="6594" v3="6723" />
+ <tetrahedron index="29289" v0="5037" v1="6456" v2="6767" v3="6903" />
+ <tetrahedron index="29290" v0="3488" v1="3489" v2="3763" v3="6617" />
+ <tetrahedron index="29291" v0="3546" v1="5418" v2="5419" v3="6077" />
+ <tetrahedron index="29292" v0="3590" v1="5100" v2="5685" v3="6357" />
+ <tetrahedron index="29293" v0="3447" v1="3449" v2="4245" v3="6376" />
+ <tetrahedron index="29294" v0="4280" v1="4432" v2="5139" v3="5703" />
+ <tetrahedron index="29295" v0="4850" v1="6290" v2="6783" v3="6862" />
+ <tetrahedron index="29296" v0="4938" v1="5347" v2="6270" v3="6272" />
+ <tetrahedron index="29297" v0="5255" v1="5888" v2="6360" v3="6813" />
+ <tetrahedron index="29298" v0="4968" v1="5788" v2="6448" v3="6663" />
+ <tetrahedron index="29299" v0="5104" v1="5689" v2="5899" v3="6531" />
+ <tetrahedron index="29300" v0="3826" v1="5056" v2="5240" v3="5869" />
+ <tetrahedron index="29301" v0="5699" v1="5825" v2="6370" v3="6371" />
+ <tetrahedron index="29302" v0="5015" v1="5504" v2="6116" v3="6167" />
+ <tetrahedron index="29303" v0="5022" v1="5258" v2="5544" v3="5892" />
+ <tetrahedron index="29304" v0="4975" v1="5865" v2="6507" v3="6509" />
+ <tetrahedron index="29305" v0="4993" v1="5486" v2="6135" v3="6149" />
+ <tetrahedron index="29306" v0="5310" v1="6054" v2="6561" v3="6874" />
+ <tetrahedron index="29307" v0="4605" v1="4625" v2="4666" v3="5597" />
+ <tetrahedron index="29308" v0="4381" v1="4430" v2="4431" v3="5435" />
+ <tetrahedron index="29309" v0="4008" v1="5048" v2="5501" v3="6455" />
+ <tetrahedron index="29310" v0="4898" v1="5066" v2="5657" v3="5658" />
+ <tetrahedron index="29311" v0="3662" v1="4138" v2="4560" v3="5127" />
+ <tetrahedron index="29312" v0="4637" v1="5278" v2="5862" v3="5918" />
+ <tetrahedron index="29313" v0="3520" v1="6410" v2="6414" v3="6870" />
+ <tetrahedron index="29314" v0="3514" v1="4465" v2="5635" v3="6038" />
+ <tetrahedron index="29315" v0="5066" v1="5082" v2="5657" v3="5658" />
+ <tetrahedron index="29316" v0="3989" v1="3990" v2="4255" v3="5100" />
+ <tetrahedron index="29317" v0="3819" v1="3864" v2="4511" v3="5371" />
+ <tetrahedron index="29318" v0="3635" v1="5181" v2="5791" v3="6449" />
+ <tetrahedron index="29319" v0="4893" v1="5055" v2="5686" v3="5834" />
+ <tetrahedron index="29320" v0="4930" v1="5503" v2="6100" v3="6168" />
+ <tetrahedron index="29321" v0="5010" v1="5632" v2="6195" v3="6310" />
+ <tetrahedron index="29322" v0="3553" v1="3700" v2="5030" v3="5563" />
+ <tetrahedron index="29323" v0="3902" v1="5068" v2="5638" v3="6315" />
+ <tetrahedron index="29324" v0="3530" v1="4278" v2="6410" v3="6619" />
+ <tetrahedron index="29325" v0="3718" v1="4075" v2="4289" v3="5691" />
+ <tetrahedron index="29326" v0="3298" v1="3674" v2="4593" v3="5834" />
+ <tetrahedron index="29327" v0="4418" v1="4426" v2="4530" v3="6452" />
+ <tetrahedron index="29328" v0="4927" v1="5312" v2="6343" v3="6344" />
+ <tetrahedron index="29329" v0="5809" v1="6622" v2="6737" v3="6921" />
+ <tetrahedron index="29330" v0="3610" v1="5122" v2="5198" v3="5818" />
+ <tetrahedron index="29331" v0="3289" v1="3376" v2="3378" v3="5735" />
+ <tetrahedron index="29332" v0="3317" v1="3560" v2="5162" v3="5642" />
+ <tetrahedron index="29333" v0="3443" v1="3477" v2="5199" v3="5791" />
+ <tetrahedron index="29334" v0="3705" v1="3984" v2="4019" v3="5851" />
+ <tetrahedron index="29335" v0="5223" v1="5478" v2="6141" v3="6779" />
+ <tetrahedron index="29336" v0="6301" v1="6673" v2="6890" v3="6944" />
+ <tetrahedron index="29337" v0="3725" v1="3726" v2="4487" v3="5126" />
+ <tetrahedron index="29338" v0="3676" v1="3848" v2="3849" v3="5297" />
+ <tetrahedron index="29339" v0="3865" v1="3997" v2="5410" v3="5586" />
+ <tetrahedron index="29340" v0="4862" v1="5010" v2="6193" v3="6312" />
+ <tetrahedron index="29341" v0="4653" v1="4699" v2="5957" v3="6346" />
+ <tetrahedron index="29342" v0="5127" v1="5725" v2="6467" v3="6973" />
+ <tetrahedron index="29343" v0="4928" v1="6079" v2="6566" v3="6851" />
+ <tetrahedron index="29344" v0="4583" v1="4708" v2="5646" v3="6341" />
+ <tetrahedron index="29345" v0="5091" v1="5713" v2="5791" v3="6384" />
+ <tetrahedron index="29346" v0="3266" v1="3270" v2="3277" v3="6064" />
+ <tetrahedron index="29347" v0="4159" v1="4237" v2="5073" v3="5650" />
+ <tetrahedron index="29348" v0="4933" v1="5045" v2="5125" v3="5331" />
+ <tetrahedron index="29349" v0="4538" v1="4757" v2="5335" v3="5765" />
+ <tetrahedron index="29350" v0="4562" v1="4564" v2="4811" v3="5537" />
+ <tetrahedron index="29351" v0="5392" v1="6048" v2="6051" v3="6631" />
+ <tetrahedron index="29352" v0="3563" v1="5122" v2="5674" v3="5818" />
+ <tetrahedron index="29353" v0="3241" v1="5272" v2="5273" v3="5911" />
+ <tetrahedron index="29354" v0="4497" v1="4536" v2="5689" v3="6531" />
+ <tetrahedron index="29355" v0="3521" v1="3523" v2="3524" v3="6009" />
+ <tetrahedron index="29356" v0="4921" v1="5089" v2="5295" v3="6826" />
+ <tetrahedron index="29357" v0="4975" v1="5559" v2="5775" v3="6507" />
+ <tetrahedron index="29358" v0="3999" v1="4461" v2="4463" v3="5121" />
+ <tetrahedron index="29359" v0="3933" v1="5241" v2="5609" v3="5868" />
+ <tetrahedron index="29360" v0="3770" v1="3771" v2="3772" v3="6378" />
+ <tetrahedron index="29361" v0="5269" v1="5904" v2="6073" v3="6893" />
+ <tetrahedron index="29362" v0="3418" v1="5228" v2="5229" v3="5852" />
+ <tetrahedron index="29363" v0="3891" v1="4249" v2="5508" v3="5529" />
+ <tetrahedron index="29364" v0="4342" v1="5041" v2="5116" v3="5514" />
+ <tetrahedron index="29365" v0="5321" v1="5322" v2="5796" v3="6452" />
+ <tetrahedron index="29366" v0="4235" v1="4236" v2="5545" v3="6215" />
+ <tetrahedron index="29367" v0="4868" v1="5158" v2="6137" v3="6138" />
+ <tetrahedron index="29368" v0="3437" v1="3605" v2="3606" v3="5328" />
+ <tetrahedron index="29369" v0="4849" v1="6170" v2="6407" v3="6963" />
+ <tetrahedron index="29370" v0="4744" v1="5350" v2="5352" v3="6003" />
+ <tetrahedron index="29371" v0="4358" v1="4496" v2="4535" v3="5263" />
+ <tetrahedron index="29372" v0="5470" v1="6149" v2="6681" v3="6953" />
+ <tetrahedron index="29373" v0="4180" v1="4444" v2="4506" v3="6192" />
+ <tetrahedron index="29374" v0="4658" v1="5302" v2="5387" v3="5638" />
+ <tetrahedron index="29375" v0="3505" v1="3858" v2="5410" v3="6070" />
+ <tetrahedron index="29376" v0="3695" v1="3696" v2="3828" v3="5273" />
+ <tetrahedron index="29377" v0="3728" v1="4178" v2="4272" v3="5969" />
+ <tetrahedron index="29378" v0="3919" v1="4452" v2="5281" v3="6544" />
+ <tetrahedron index="29379" v0="3245" v1="5454" v2="5621" v3="6296" />
+ <tetrahedron index="29380" v0="4620" v1="4888" v2="5963" v3="6405" />
+ <tetrahedron index="29381" v0="3435" v1="5409" v2="6069" v3="6070" />
+ <tetrahedron index="29382" v0="4291" v1="4533" v2="4613" v3="5541" />
+ <tetrahedron index="29383" v0="4930" v1="6675" v2="6719" v3="6720" />
+ <tetrahedron index="29384" v0="5621" v1="6115" v2="6296" v3="6795" />
+ <tetrahedron index="29385" v0="4975" v1="5162" v2="5559" v3="5775" />
+ <tetrahedron index="29386" v0="3444" v1="5324" v2="5970" v3="6575" />
+ <tetrahedron index="29387" v0="4549" v1="5224" v2="5847" v3="6497" />
+ <tetrahedron index="29388" v0="5032" v1="5071" v2="5647" v3="5887" />
+ <tetrahedron index="29389" v0="5269" v1="6073" v2="6539" v3="6653" />
+ <tetrahedron index="29390" v0="4713" v1="4752" v2="4753" v3="5478" />
+ <tetrahedron index="29391" v0="4880" v1="5184" v2="5548" v3="5796" />
+ <tetrahedron index="29392" v0="4862" v1="6193" v2="6310" v3="6554" />
+ <tetrahedron index="29393" v0="3385" v1="5169" v2="6515" v3="6889" />
+ <tetrahedron index="29394" v0="3769" v1="5101" v2="5687" v3="6501" />
+ <tetrahedron index="29395" v0="5045" v1="5331" v2="6069" v3="6070" />
+ <tetrahedron index="29396" v0="4474" v1="4798" v2="4799" v3="5525" />
+ <tetrahedron index="29397" v0="3268" v1="4906" v2="5038" v3="5406" />
+ <tetrahedron index="29398" v0="4242" v1="4748" v2="5269" v3="6015" />
+ <tetrahedron index="29399" v0="4632" v1="5164" v2="5468" v3="5597" />
+ <tetrahedron index="29400" v0="4991" v1="5482" v2="5588" v3="6260" />
+ <tetrahedron index="29401" v0="5310" v1="6261" v2="6637" v3="6874" />
+ <tetrahedron index="29402" v0="4933" v1="5329" v2="5585" v3="5734" />
+ <tetrahedron index="29403" v0="3629" v1="3630" v2="3631" v3="5251" />
+ <tetrahedron index="29404" v0="3890" v1="3891" v2="4249" v3="5529" />
+ <tetrahedron index="29405" v0="4856" v1="4956" v2="5587" v3="6259" />
+ <tetrahedron index="29406" v0="4943" v1="5360" v2="5362" v3="6012" />
+ <tetrahedron index="29407" v0="5039" v1="5577" v2="5967" v3="6573" />
+ <tetrahedron index="29408" v0="3770" v1="4328" v2="5321" v3="5708" />
+ <tetrahedron index="29409" v0="3297" v1="4475" v2="4476" v3="6483" />
+ <tetrahedron index="29410" v0="4120" v1="4171" v2="4761" v3="5553" />
+ <tetrahedron index="29411" v0="3492" v1="3572" v2="3627" v3="5262" />
+ <tetrahedron index="29412" v0="3239" v1="3241" v2="5272" v3="5909" />
+ <tetrahedron index="29413" v0="5024" v1="5548" v2="5796" v3="5967" />
+ <tetrahedron index="29414" v0="5515" v1="5516" v2="6181" v3="6413" />
+ <tetrahedron index="29415" v0="5363" v1="6016" v2="6613" v3="6920" />
+ <tetrahedron index="29416" v0="4916" v1="5279" v2="5281" v3="5923" />
+ <tetrahedron index="29417" v0="5264" v1="5895" v2="5899" v3="6531" />
+ <tetrahedron index="29418" v0="3438" v1="3439" v2="3458" v3="5608" />
+ <tetrahedron index="29419" v0="4869" v1="6252" v2="6434" v3="6836" />
+ <tetrahedron index="29420" v0="4200" v1="5378" v2="5379" v3="5555" />
+ <tetrahedron index="29421" v0="4859" v1="5638" v2="6037" v3="6315" />
+ <tetrahedron index="29422" v0="4938" v1="5994" v2="6585" v3="6940" />
+ <tetrahedron index="29423" v0="4923" v1="5636" v2="5744" v3="6317" />
+ <tetrahedron index="29424" v0="5613" v1="5614" v2="6286" v3="6679" />
+ <tetrahedron index="29425" v0="4133" v1="4556" v2="4810" v3="5426" />
+ <tetrahedron index="29426" v0="4071" v1="4315" v2="4657" v3="5499" />
+ <tetrahedron index="29427" v0="3935" v1="5071" v2="5645" v3="6683" />
+ <tetrahedron index="29428" v0="4976" v1="5512" v2="6176" v3="6798" />
+ <tetrahedron index="29429" v0="5707" v1="5709" v2="5968" v3="6379" />
+ <tetrahedron index="29430" v0="3455" v1="5825" v2="6370" v3="6371" />
+ <tetrahedron index="29431" v0="4246" v1="4247" v2="5497" v3="6161" />
+ <tetrahedron index="29432" v0="5088" v1="5526" v2="5594" v3="5668" />
+ <tetrahedron index="29433" v0="5609" v1="5867" v2="5868" v3="6510" />
+ <tetrahedron index="29434" v0="4331" v1="4333" v2="4505" v3="5429" />
+ <tetrahedron index="29435" v0="3267" v1="3268" v2="3270" v3="4959" />
+ <tetrahedron index="29436" v0="4497" v1="4842" v2="5689" v3="6531" />
+ <tetrahedron index="29437" v0="3259" v1="3973" v2="3975" v3="5046" />
+ <tetrahedron index="29438" v0="5040" v1="5171" v2="5578" v3="5581" />
+ <tetrahedron index="29439" v0="5036" v1="6051" v2="6631" v3="6632" />
+ <tetrahedron index="29440" v0="4602" v1="4787" v2="6364" v3="6478" />
+ <tetrahedron index="29441" v0="4243" v1="4664" v2="4665" v3="5610" />
+ <tetrahedron index="29442" v0="5403" v1="5445" v2="6444" v3="6445" />
+ <tetrahedron index="29443" v0="6043" v1="6622" v2="6624" v3="6737" />
+ <tetrahedron index="29444" v0="5534" v1="5802" v2="6206" v3="6454" />
+ <tetrahedron index="29445" v0="3397" v1="4015" v2="4181" v3="5629" />
+ <tetrahedron index="29446" v0="4271" v1="4566" v2="4639" v3="5375" />
+ <tetrahedron index="29447" v0="4483" v1="4516" v2="5694" v3="6400" />
+ <tetrahedron index="29448" v0="5048" v1="5118" v2="5706" v3="6352" />
+ <tetrahedron index="29449" v0="3474" v1="4235" v2="5545" v3="5688" />
+ <tetrahedron index="29450" v0="5025" v1="5474" v2="5551" v3="6954" />
+ <tetrahedron index="29451" v0="3980" v1="4671" v2="5843" v3="6491" />
+ <tetrahedron index="29452" v0="3712" v1="3741" v2="5533" v3="6057" />
+ <tetrahedron index="29453" v0="4971" v1="5440" v2="6708" v3="6956" />
+ <tetrahedron index="29454" v0="5470" v1="6135" v2="6699" v3="6953" />
+ <tetrahedron index="29455" v0="3450" v1="5242" v2="6512" v3="6802" />
+ <tetrahedron index="29456" v0="3274" v1="3275" v2="3276" v3="3279" />
+ <tetrahedron index="29457" v0="5025" v1="5474" v2="5551" v3="6220" />
+ <tetrahedron index="29458" v0="4645" v1="4646" v2="5886" v3="6526" />
+ <tetrahedron index="29459" v0="3425" v1="3515" v2="3516" v3="5017" />
+ <tetrahedron index="29460" v0="4287" v1="4432" v2="5703" v3="6335" />
+ <tetrahedron index="29461" v0="4870" v1="5028" v2="5609" v3="5641" />
+ <tetrahedron index="29462" v0="4868" v1="5660" v2="5767" v3="6832" />
+ <tetrahedron index="29463" v0="4612" v1="4620" v2="5145" v3="5963" />
+ <tetrahedron index="29464" v0="4958" v1="5230" v2="5690" v3="6339" />
+ <tetrahedron index="29465" v0="5403" v1="5443" v2="5524" v3="6103" />
+ <tetrahedron index="29466" v0="3565" v1="5091" v2="5674" v3="5715" />
+ <tetrahedron index="29467" v0="3231" v1="5158" v2="5471" v3="5472" />
+ <tetrahedron index="29468" v0="3390" v1="5118" v2="5706" v3="6351" />
+ <tetrahedron index="29469" v0="4309" v1="5076" v2="5653" v3="5914" />
+ <tetrahedron index="29470" v0="4226" v1="4500" v2="5074" v3="6022" />
+ <tetrahedron index="29471" v0="3645" v1="3646" v2="5252" v3="6240" />
+ <tetrahedron index="29472" v0="4624" v1="4793" v2="5649" v3="6151" />
+ <tetrahedron index="29473" v0="3331" v1="3469" v2="4588" v3="5354" />
+ <tetrahedron index="29474" v0="4268" v1="4629" v2="4630" v3="5475" />
+ <tetrahedron index="29475" v0="4126" v1="4467" v2="5009" v3="6191" />
+ <tetrahedron index="29476" v0="5007" v1="5533" v2="5535" v3="6835" />
+ <tetrahedron index="29477" v0="4928" v1="5317" v2="5960" v3="6082" />
+ <tetrahedron index="29478" v0="3325" v1="3793" v2="3817" v3="5787" />
+ <tetrahedron index="29479" v0="4318" v1="4661" v2="5216" v3="5479" />
+ <tetrahedron index="29480" v0="4727" v1="5325" v2="5712" v3="6381" />
+ <tetrahedron index="29481" v0="3305" v1="3970" v2="5034" v3="5721" />
+ <tetrahedron index="29482" v0="4938" v1="5991" v2="6585" v3="6908" />
+ <tetrahedron index="29483" v0="3333" v1="3334" v2="3335" v3="6205" />
+ <tetrahedron index="29484" v0="4966" v1="5421" v2="5423" v3="6660" />
+ <tetrahedron index="29485" v0="4585" v1="4775" v2="5393" v3="6048" />
+ <tetrahedron index="29486" v0="3502" v1="4982" v2="5982" v3="6316" />
+ <tetrahedron index="29487" v0="4753" v1="6277" v2="6704" v3="6788" />
+ <tetrahedron index="29488" v0="3527" v1="3528" v2="4973" v3="5442" />
+ <tetrahedron index="29489" v0="4016" v1="4981" v2="5299" v3="5442" />
+ <tetrahedron index="29490" v0="4992" v1="5201" v2="5485" v3="5727" />
+ <tetrahedron index="29491" v0="3779" v1="4091" v2="4507" v3="5575" />
+ <tetrahedron index="29492" v0="4390" v1="4698" v2="6194" v3="6195" />
+ <tetrahedron index="29493" v0="4913" v1="5902" v2="6612" v3="6671" />
+ <tetrahedron index="29494" v0="5197" v1="6177" v2="6730" v3="6731" />
+ <tetrahedron index="29495" v0="4984" v1="5470" v2="5624" v3="6699" />
+ <tetrahedron index="29496" v0="5145" v1="5483" v2="5963" v3="6405" />
+ <tetrahedron index="29497" v0="3365" v1="4101" v2="4170" v3="5106" />
+ <tetrahedron index="29498" v0="3391" v1="4129" v2="4356" v3="5120" />
+ <tetrahedron index="29499" v0="4013" v1="4037" v2="4163" v3="5123" />
+ <tetrahedron index="29500" v0="5877" v1="6182" v2="6287" v3="6722" />
+ <tetrahedron index="29501" v0="5260" v1="5857" v2="5896" v3="5899" />
+ <tetrahedron index="29502" v0="4214" v1="5385" v2="5386" v3="5728" />
+ <tetrahedron index="29503" v0="4846" v1="5249" v2="5758" v3="5759" />
+ <tetrahedron index="29504" v0="3465" v1="4697" v2="4733" v3="5130" />
+ <tetrahedron index="29505" v0="4578" v1="4730" v2="5601" v3="6274" />
+ <tetrahedron index="29506" v0="4610" v1="5244" v2="6125" v3="6175" />
+ <tetrahedron index="29507" v0="4932" v1="5121" v2="5705" v3="5975" />
+ <tetrahedron index="29508" v0="4874" v1="6116" v2="6687" v3="6962" />
+ <tetrahedron index="29509" v0="6053" v1="6260" v2="6638" v3="6773" />
+ <tetrahedron index="29510" v0="3708" v1="4228" v2="5436" v3="6094" />
+ <tetrahedron index="29511" v0="4922" v1="4972" v2="5740" v3="6403" />
+ <tetrahedron index="29512" v0="3844" v1="4432" v2="5139" v3="5456" />
+ <tetrahedron index="29513" v0="4882" v1="5805" v2="5992" v3="7013" />
+ <tetrahedron index="29514" v0="3878" v1="4300" v2="4835" v3="6238" />
+ <tetrahedron index="29515" v0="5996" v1="6582" v2="6595" v3="6839" />
+ <tetrahedron index="29516" v0="4922" v1="5299" v2="5442" v3="6102" />
+ <tetrahedron index="29517" v0="3656" v1="3788" v2="4494" v3="5531" />
+ <tetrahedron index="29518" v0="4494" v1="4525" v2="4833" v3="5595" />
+ <tetrahedron index="29519" v0="4098" v1="5670" v2="6342" v3="6824" />
+ <tetrahedron index="29520" v0="5297" v1="5671" v2="5936" v3="6345" />
+ <tetrahedron index="29521" v0="4783" v1="5360" v2="5362" v3="6229" />
+ <tetrahedron index="29522" v0="3547" v1="4668" v2="4742" v3="5849" />
+ <tetrahedron index="29523" v0="3613" v1="3614" v2="5473" v3="5766" />
+ <tetrahedron index="29524" v0="5301" v1="5833" v2="5940" v3="6479" />
+ <tetrahedron index="29525" v0="4007" v1="4373" v2="5583" v3="6905" />
+ <tetrahedron index="29526" v0="4950" v1="5947" v2="6657" v3="6937" />
+ <tetrahedron index="29527" v0="6166" v1="6675" v2="6929" v3="6961" />
+ <tetrahedron index="29528" v0="5179" v1="5790" v2="5793" v3="6365" />
+ <tetrahedron index="29529" v0="4233" v1="5077" v2="5802" v3="6454" />
+ <tetrahedron index="29530" v0="5954" v1="6266" v2="6562" v3="6564" />
+ <tetrahedron index="29531" v0="3445" v1="3694" v2="3695" v3="5970" />
+ <tetrahedron index="29532" v0="4524" v1="4532" v2="5285" v3="5515" />
+ <tetrahedron index="29533" v0="4259" v1="5162" v2="5559" v3="5775" />
+ <tetrahedron index="29534" v0="3456" v1="5175" v2="5579" v3="6254" />
+ <tetrahedron index="29535" v0="5508" v1="5754" v2="6418" v3="6489" />
+ <tetrahedron index="29536" v0="4070" v1="4247" v2="4315" v3="6161" />
+ <tetrahedron index="29537" v0="4672" v1="5138" v2="5935" v3="6342" />
+ <tetrahedron index="29538" v0="3593" v1="3617" v2="3801" v3="5780" />
+ <tetrahedron index="29539" v0="4956" v1="5046" v2="5587" v3="6063" />
+ <tetrahedron index="29540" v0="3801" v1="5130" v2="5469" v3="5780" />
+ <tetrahedron index="29541" v0="3271" v1="3273" v2="5735" v3="6397" />
+ <tetrahedron index="29542" v0="4896" v1="5072" v2="5695" v3="6499" />
+ <tetrahedron index="29543" v0="3995" v1="4222" v2="5087" v3="5292" />
+ <tetrahedron index="29544" v0="5760" v1="6103" v2="6426" v3="6892" />
+ <tetrahedron index="29545" v0="4137" v1="4294" v2="5286" v3="5925" />
+ <tetrahedron index="29546" v0="6279" v1="6752" v2="6784" v3="6843" />
+ <tetrahedron index="29547" v0="4205" v1="4303" v2="4721" v3="5491" />
+ <tetrahedron index="29548" v0="4067" v1="5245" v2="6513" v3="6888" />
+ <tetrahedron index="29549" v0="3985" v1="4019" v2="5794" v3="5851" />
+ <tetrahedron index="29550" v0="3263" v1="3264" v2="5455" v3="5623" />
+ <tetrahedron index="29551" v0="4046" v1="5152" v2="5362" v3="6226" />
+ <tetrahedron index="29552" v0="3439" v1="3440" v2="3705" v3="5848" />
+ <tetrahedron index="29553" v0="3376" v1="3377" v2="3378" v3="5202" />
+ <tetrahedron index="29554" v0="3595" v1="3740" v2="5356" v3="6132" />
+ <tetrahedron index="29555" v0="6409" v1="6841" v2="6842" v3="6963" />
+ <tetrahedron index="29556" v0="5006" v1="5272" v2="5881" v3="6522" />
+ <tetrahedron index="29557" v0="3665" v1="4156" v2="5651" v3="6329" />
+ <tetrahedron index="29558" v0="3336" v1="5355" v2="5730" v3="5779" />
+ <tetrahedron index="29559" v0="4128" v1="4635" v2="4797" v3="5896" />
+ <tetrahedron index="29560" v0="3813" v1="3968" v2="4352" v3="5728" />
+ <tetrahedron index="29561" v0="4021" v1="5220" v2="5546" v3="6216" />
+ <tetrahedron index="29562" v0="4449" v1="4616" v2="4743" v3="4998" />
+ <tetrahedron index="29563" v0="4100" v1="4101" v2="4685" v3="5487" />
+ <tetrahedron index="29564" v0="3593" v1="3740" v2="3862" v3="5165" />
+ <tetrahedron index="29565" v0="3776" v1="3992" v2="5781" v3="6490" />
+ <tetrahedron index="29566" v0="4763" v1="5145" v2="6404" v3="6405" />
+ <tetrahedron index="29567" v0="4940" v1="5354" v2="5356" v3="5779" />
+ <tetrahedron index="29568" v0="4110" v1="5481" v2="6146" v3="6147" />
+ <tetrahedron index="29569" v0="5048" v1="5706" v2="6376" v3="6377" />
+ <tetrahedron index="29570" v0="3684" v1="3763" v2="3786" v3="5746" />
+ <tetrahedron index="29571" v0="3896" v1="5014" v2="5527" v3="5723" />
+ <tetrahedron index="29572" v0="4845" v1="6097" v2="6098" v3="6672" />
+ <tetrahedron index="29573" v0="3808" v1="3809" v2="4056" v3="5329" />
+ <tetrahedron index="29574" v0="3578" v1="3609" v2="4533" v3="6390" />
+ <tetrahedron index="29575" v0="3821" v1="3999" v2="4461" v3="5327" />
+ <tetrahedron index="29576" v0="3913" v1="3914" v2="3943" v3="5115" />
+ <tetrahedron index="29577" v0="3914" v1="3915" v2="4840" v3="5115" />
+ <tetrahedron index="29578" v0="3461" v1="4067" v2="4715" v3="5245" />
+ <tetrahedron index="29579" v0="5656" v1="5761" v2="6331" v3="6819" />
+ <tetrahedron index="29580" v0="4253" v1="4280" v2="4288" v3="5736" />
+ <tetrahedron index="29581" v0="3239" v1="3240" v2="3241" v3="5909" />
+ <tetrahedron index="29582" v0="3311" v1="4068" v2="4161" v3="5291" />
+ <tetrahedron index="29583" v0="3470" v1="4262" v2="5456" v3="5662" />
+ <tetrahedron index="29584" v0="3299" v1="3301" v2="3302" v3="5055" />
+ <tetrahedron index="29585" v0="5037" v1="5958" v2="6456" v3="6577" />
+ <tetrahedron index="29586" v0="5011" v1="5012" v2="5524" v3="5882" />
+ <tetrahedron index="29587" v0="4856" v1="4991" v2="6260" v3="6955" />
+ <tetrahedron index="29588" v0="5066" v1="5090" v2="5673" v3="6011" />
+ <tetrahedron index="29589" v0="3331" v1="3632" v2="5354" v3="6203" />
+ <tetrahedron index="29590" v0="3368" v1="4020" v2="4365" v3="6096" />
+ <tetrahedron index="29591" v0="4895" v1="6153" v2="6155" v3="6957" />
+ <tetrahedron index="29592" v0="3626" v1="5274" v2="5275" v3="5913" />
+ <tetrahedron index="29593" v0="4863" v1="5062" v2="6236" v3="6795" />
+ <tetrahedron index="29594" v0="5398" v1="5735" v2="6057" v3="6835" />
+ <tetrahedron index="29595" v0="3447" v1="3957" v2="6376" v3="6377" />
+ <tetrahedron index="29596" v0="4890" v1="5107" v2="5700" v3="6372" />
+ <tetrahedron index="29597" v0="3367" v1="3368" v2="3823" v3="5248" />
+ <tetrahedron index="29598" v0="4252" v1="4254" v2="4422" v3="6253" />
+ <tetrahedron index="29599" v0="4635" v1="4636" v2="5234" v3="5896" />
+ <tetrahedron index="29600" v0="5364" v1="5621" v2="6115" v3="6685" />
+ <tetrahedron index="29601" v0="3886" v1="4089" v2="4204" v3="6087" />
+ <tetrahedron index="29602" v0="5509" v1="5518" v2="6183" v3="6735" />
+ <tetrahedron index="29603" v0="5181" v1="5791" v2="5792" v3="6449" />
+ <tetrahedron index="29604" v0="3582" v1="3672" v2="4505" v3="5789" />
+ <tetrahedron index="29605" v0="4877" v1="5173" v2="5619" v3="5886" />
+ <tetrahedron index="29606" v0="3494" v1="5239" v2="5865" v3="6010" />
+ <tetrahedron index="29607" v0="4857" v1="4951" v2="5445" v3="6104" />
+ <tetrahedron index="29608" v0="3385" v1="3734" v2="5169" v3="6035" />
+ <tetrahedron index="29609" v0="4318" v1="4649" v2="5216" v3="6143" />
+ <tetrahedron index="29610" v0="3583" v1="4208" v2="4275" v3="5733" />
+ <tetrahedron index="29611" v0="4907" v1="4998" v2="5253" v3="6525" />
+ <tetrahedron index="29612" v0="4969" v1="5680" v2="6089" v3="6353" />
+ <tetrahedron index="29613" v0="3811" v1="3812" v2="3842" v3="5425" />
+ <tetrahedron index="29614" v0="3245" v1="3247" v2="3375" v3="5454" />
+ <tetrahedron index="29615" v0="4910" v1="5260" v2="5261" v3="5899" />
+ <tetrahedron index="29616" v0="3906" v1="4162" v2="5315" v3="5317" />
+ <tetrahedron index="29617" v0="3566" v1="3569" v2="4131" v3="6088" />
+ <tetrahedron index="29618" v0="4100" v1="4544" v2="4685" v3="5487" />
+ <tetrahedron index="29619" v0="3891" v1="4249" v2="4304" v3="5508" />
+ <tetrahedron index="29620" v0="4317" v1="5028" v2="5609" v3="5641" />
+ <tetrahedron index="29621" v0="4519" v1="4842" v2="5104" v3="6531" />
+ <tetrahedron index="29622" v0="4128" v1="4797" v2="5568" v3="5896" />
+ <tetrahedron index="29623" v0="3651" v1="4427" v2="4609" v3="6164" />
+ <tetrahedron index="29624" v0="3886" v1="4208" v2="5134" v3="5733" />
+ <tetrahedron index="29625" v0="5353" v1="5755" v2="6004" v3="6603" />
+ <tetrahedron index="29626" v0="5073" v1="5649" v2="5650" v3="6324" />
+ <tetrahedron index="29627" v0="4246" v1="5497" v2="5669" v3="6161" />
+ <tetrahedron index="29628" v0="4521" v1="5255" v2="5567" v3="5778" />
+ <tetrahedron index="29629" v0="3283" v1="5116" v2="5514" v3="5901" />
+ <tetrahedron index="29630" v0="4304" v1="4305" v2="5508" v3="5754" />
+ <tetrahedron index="29631" v0="5019" v1="5537" v2="5538" v3="6189" />
+ <tetrahedron index="29632" v0="4939" v1="5350" v2="5352" v3="6003" />
+ <tetrahedron index="29633" v0="4864" v1="5841" v2="6171" v3="6488" />
+ <tetrahedron index="29634" v0="3269" v1="4989" v2="5038" v3="5308" />
+ <tetrahedron index="29635" v0="4998" v1="5496" v2="5619" v3="5885" />
+ <tetrahedron index="29636" v0="5782" v1="6784" v2="6843" v3="6995" />
+ <tetrahedron index="29637" v0="4793" v1="5649" v2="6151" v3="6709" />
+ <tetrahedron index="29638" v0="5004" v1="5508" v2="6418" v3="6489" />
+ <tetrahedron index="29639" v0="3674" v1="4593" v2="5233" v3="5855" />
+ <tetrahedron index="29640" v0="4621" v1="4622" v2="4660" v3="5944" />
+ <tetrahedron index="29641" v0="5012" v1="5590" v2="6265" v3="6562" />
+ <tetrahedron index="29642" v0="4942" v1="5683" v2="5912" v3="6985" />
+ <tetrahedron index="29643" v0="3388" v1="4261" v2="4412" v3="5048" />
+ <tetrahedron index="29644" v0="4819" v1="4952" v2="5385" v3="5386" />
+ <tetrahedron index="29645" v0="3371" v1="3736" v2="3737" v3="5678" />
+ <tetrahedron index="29646" v0="5034" v1="5627" v2="5720" v3="6306" />
+ <tetrahedron index="29647" v0="5034" v1="5720" v2="5721" v3="6306" />
+ <tetrahedron index="29648" v0="3944" v1="4606" v2="5240" v3="5870" />
+ <tetrahedron index="29649" v0="5590" v1="6263" v2="6775" v3="6898" />
+ <tetrahedron index="29650" v0="6013" v1="6222" v2="6229" v3="6592" />
+ <tetrahedron index="29651" v0="4320" v1="4725" v2="5806" v3="6545" />
+ <tetrahedron index="29652" v0="3706" v1="3707" v2="4454" v3="5753" />
+ <tetrahedron index="29653" v0="4992" v1="5483" v2="5741" v3="6405" />
+ <tetrahedron index="29654" v0="4916" v1="5142" v2="5283" v3="5922" />
+ <tetrahedron index="29655" v0="4994" v1="5811" v2="6414" v3="6469" />
+ <tetrahedron index="29656" v0="5073" v1="5597" v2="5648" v3="6327" />
+ <tetrahedron index="29657" v0="3690" v1="4548" v2="5013" v3="6199" />
+ <tetrahedron index="29658" v0="3492" v1="3627" v2="4119" v3="6615" />
+ <tetrahedron index="29659" v0="4191" v1="4637" v2="4663" v3="5278" />
+ <tetrahedron index="29660" v0="3438" v1="3440" v2="5608" v3="5848" />
+ <tetrahedron index="29661" v0="5183" v1="5548" v2="5549" v3="6219" />
+ <tetrahedron index="29662" v0="4625" v1="4633" v2="5073" v3="5597" />
+ <tetrahedron index="29663" v0="5095" v1="5271" v2="5273" v3="5908" />
+ <tetrahedron index="29664" v0="5092" v1="5675" v2="5686" v3="5856" />
+ <tetrahedron index="29665" v0="4978" v1="5455" v2="6157" v3="6168" />
+ <tetrahedron index="29666" v0="5152" v1="5993" v2="6668" v3="6669" />
+ <tetrahedron index="29667" v0="5725" v1="6042" v2="6467" v3="6869" />
+ <tetrahedron index="29668" v0="4299" v1="4515" v2="5072" v3="5850" />
+ <tetrahedron index="29669" v0="3510" v1="3808" v2="3809" v3="5329" />
+ <tetrahedron index="29670" v0="3459" v1="5607" v2="6285" v3="6888" />
+ <tetrahedron index="29671" v0="3233" v1="3234" v2="3689" v3="6438" />
+ <tetrahedron index="29672" v0="4324" v1="4325" v2="5303" v3="5306" />
+ <tetrahedron index="29673" v0="3680" v1="4144" v2="4346" v3="5673" />
+ <tetrahedron index="29674" v0="5086" v1="5205" v2="5665" v3="6829" />
+ <tetrahedron index="29675" v0="4519" v1="5104" v2="5259" v3="6531" />
+ <tetrahedron index="29676" v0="3462" v1="3543" v2="3654" v3="4599" />
+ <tetrahedron index="29677" v0="4886" v1="5512" v2="6176" v3="7028" />
+ <tetrahedron index="29678" v0="3610" v1="3961" v2="3962" v3="5122" />
+ <tetrahedron index="29679" v0="5144" v1="5560" v2="5758" v3="6820" />
+ <tetrahedron index="29680" v0="3297" v1="4475" v2="5856" v3="6483" />
+ <tetrahedron index="29681" v0="3892" v1="4149" v2="4760" v3="6029" />
+ <tetrahedron index="29682" v0="3489" v1="5380" v2="6032" v3="6242" />
+ <tetrahedron index="29683" v0="3425" v1="3515" v2="5017" v3="5143" />
+ <tetrahedron index="29684" v0="4916" v1="5278" v2="5920" v3="5922" />
+ <tetrahedron index="29685" v0="4945" v1="5366" v2="5367" v3="6018" />
+ <tetrahedron index="29686" v0="5310" v1="6261" v2="6263" v3="6637" />
+ <tetrahedron index="29687" v0="3470" v1="5084" v2="5662" v3="5773" />
+ <tetrahedron index="29688" v0="4039" v1="4390" v2="4396" v3="5415" />
+ <tetrahedron index="29689" v0="3417" v1="3418" v2="4274" v3="5228" />
+ <tetrahedron index="29690" v0="4128" v1="4603" v2="5568" v3="5896" />
+ <tetrahedron index="29691" v0="3302" v1="3400" v2="3966" v3="5838" />
+ <tetrahedron index="29692" v0="4895" v1="5223" v2="5843" v3="6153" />
+ <tetrahedron index="29693" v0="3667" v1="5171" v2="5250" v3="6525" />
+ <tetrahedron index="29694" v0="3502" v1="3503" v2="4982" v3="5384" />
+ <tetrahedron index="29695" v0="3468" v1="5165" v2="5730" v3="5779" />
+ <tetrahedron index="29696" v0="4899" v1="5232" v2="5233" v3="5857" />
+ <tetrahedron index="29697" v0="3502" v1="3814" v2="4681" v3="5151" />
+ <tetrahedron index="29698" v0="4531" v1="4552" v2="5179" v3="6018" />
+ <tetrahedron index="29699" v0="4077" v1="4536" v2="5264" v3="5895" />
+ <tetrahedron index="29700" v0="4984" v1="5905" v2="6534" v3="6540" />
+ <tetrahedron index="29701" v0="4398" v1="5078" v2="5819" v3="5853" />
+ <tetrahedron index="29702" v0="3406" v1="4127" v2="5033" v3="5667" />
+ <tetrahedron index="29703" v0="3420" v1="4781" v2="5204" v3="5823" />
+ <tetrahedron index="29704" v0="5761" v1="6176" v2="6427" v3="6652" />
+ <tetrahedron index="29705" v0="3305" v1="3969" v2="4063" v3="5653" />
+ <tetrahedron index="29706" v0="4126" v1="4467" v2="5009" v3="6189" />
+ <tetrahedron index="29707" v0="4969" v1="5000" v2="5500" v3="5501" />
+ <tetrahedron index="29708" v0="3383" v1="3792" v2="5383" v3="5726" />
+ <tetrahedron index="29709" v0="5780" v1="6325" v2="6326" v3="6394" />
+ <tetrahedron index="29710" v0="4005" v1="4069" v2="5116" v3="5654" />
+ <tetrahedron index="29711" v0="4899" v1="5234" v2="5857" v3="5899" />
+ <tetrahedron index="29712" v0="5045" v1="5329" v2="5586" v3="6258" />
+ <tetrahedron index="29713" v0="3345" v1="5255" v2="5776" v3="6441" />
+ <tetrahedron index="29714" v0="3239" v1="4057" v2="5272" v3="5909" />
+ <tetrahedron index="29715" v0="4902" v1="5243" v2="5627" v3="6512" />
+ <tetrahedron index="29716" v0="4893" v1="5021" v2="5218" v3="5836" />
+ <tetrahedron index="29717" v0="3729" v1="3979" v2="4178" v3="5797" />
+ <tetrahedron index="29718" v0="4151" v1="5002" v2="5611" v3="6605" />
+ <tetrahedron index="29719" v0="3269" v1="3798" v2="3802" v3="5267" />
+ <tetrahedron index="29720" v0="3489" v1="3699" v2="5380" v3="6242" />
+ <tetrahedron index="29721" v0="4144" v1="4346" v2="5082" v3="5673" />
+ <tetrahedron index="29722" v0="3489" v1="3699" v2="4755" v3="6242" />
+ <tetrahedron index="29723" v0="4731" v1="4832" v2="5395" v3="5495" />
+ <tetrahedron index="29724" v0="3435" v1="3436" v2="5331" v3="6070" />
+ <tetrahedron index="29725" v0="3404" v1="3406" v2="4240" v3="5667" />
+ <tetrahedron index="29726" v0="5243" v1="5693" v2="6478" v3="6887" />
+ <tetrahedron index="29727" v0="4975" v1="5448" v2="5449" v3="5865" />
+ <tetrahedron index="29728" v0="5109" v1="5697" v2="5699" v3="6371" />
+ <tetrahedron index="29729" v0="4977" v1="5452" v2="5645" v3="6112" />
+ <tetrahedron index="29730" v0="3790" v1="4601" v2="5108" v3="5696" />
+ <tetrahedron index="29731" v0="5615" v1="6290" v2="6920" v3="6960" />
+ <tetrahedron index="29732" v0="4432" v1="5139" v2="5456" v3="5703" />
+ <tetrahedron index="29733" v0="3410" v1="4122" v2="4123" v3="5641" />
+ <tetrahedron index="29734" v0="3323" v1="3434" v2="3738" v3="5040" />
+ <tetrahedron index="29735" v0="4962" v1="5412" v2="5413" v3="5414" />
+ <tetrahedron index="29736" v0="3824" v1="5091" v2="5180" v3="5791" />
+ <tetrahedron index="29737" v0="6292" v1="6596" v2="6864" v3="6913" />
+ <tetrahedron index="29738" v0="4868" v1="5083" v2="5766" v3="6138" />
+ <tetrahedron index="29739" v0="4093" v1="4094" v2="5743" v3="6406" />
+ <tetrahedron index="29740" v0="4972" v1="4992" v2="5484" v3="5741" />
+ <tetrahedron index="29741" v0="4921" v1="5089" v2="5670" v3="5936" />
+ <tetrahedron index="29742" v0="4591" v1="5135" v2="5685" v3="5830" />
+ <tetrahedron index="29743" v0="4711" v1="5150" v2="5999" v3="6915" />
+ <tetrahedron index="29744" v0="4924" v1="5944" v2="6193" v3="6556" />
+ <tetrahedron index="29745" v0="3309" v1="3846" v2="4513" v3="5506" />
+ <tetrahedron index="29746" v0="4492" v1="5516" v2="6181" v3="6733" />
+ <tetrahedron index="29747" v0="5355" v1="5490" v2="5730" v3="6006" />
+ <tetrahedron index="29748" v0="4893" v1="5218" v2="5836" v3="6483" />
+ <tetrahedron index="29749" v0="4999" v1="5088" v2="5668" v3="6323" />
+ <tetrahedron index="29750" v0="5761" v1="6331" v2="6819" v3="6984" />
+ <tetrahedron index="29751" v0="4223" v1="5147" v2="5637" v3="5743" />
+ <tetrahedron index="29752" v0="4177" v1="4478" v2="5560" v3="6235" />
+ <tetrahedron index="29753" v0="5365" v1="6097" v2="6165" v3="6717" />
+ <tetrahedron index="29754" v0="5221" v1="6675" v2="6878" v3="6930" />
+ <tetrahedron index="29755" v0="4388" v1="4503" v2="5066" v3="5634" />
+ <tetrahedron index="29756" v0="3770" v1="4609" v2="5321" v3="5323" />
+ <tetrahedron index="29757" v0="4870" v1="5609" v2="6107" v3="6510" />
+ <tetrahedron index="29758" v0="4887" v1="5123" v2="5716" v3="6388" />
+ <tetrahedron index="29759" v0="4929" v1="5201" v2="5483" v3="6392" />
+ <tetrahedron index="29760" v0="3713" v1="4671" v2="4736" v3="5843" />
+ <tetrahedron index="29761" v0="5055" v1="5834" v2="5855" v3="6358" />
+ <tetrahedron index="29762" v0="4377" v1="4434" v2="4735" v3="5092" />
+ <tetrahedron index="29763" v0="3871" v1="3901" v2="4547" v3="5068" />
+ <tetrahedron index="29764" v0="4089" v1="4968" v2="5429" v3="6448" />
+ <tetrahedron index="29765" v0="4862" v1="6233" v2="6312" v3="6965" />
+ <tetrahedron index="29766" v0="4921" v1="5671" v2="5936" v3="6345" />
+ <tetrahedron index="29767" v0="3520" v1="4185" v2="4278" v3="6040" />
+ <tetrahedron index="29768" v0="5926" v1="5985" v2="6567" v3="6579" />
+ <tetrahedron index="29769" v0="3242" v1="3244" v2="3369" v3="5839" />
+ <tetrahedron index="29770" v0="4908" v1="5644" v2="5645" v3="6321" />
+ <tetrahedron index="29771" v0="3503" v1="3504" v2="5466" v3="5982" />
+ <tetrahedron index="29772" v0="3385" v1="3734" v2="4492" v3="6515" />
+ <tetrahedron index="29773" v0="5521" v1="6193" v2="6231" v3="6232" />
+ <tetrahedron index="29774" v0="4847" v1="6430" v2="6569" v3="6909" />
+ <tetrahedron index="29775" v0="4553" v1="4554" v2="4603" v3="6241" />
+ <tetrahedron index="29776" v0="4900" v1="5021" v2="5835" v3="6503" />
+ <tetrahedron index="29777" v0="5266" v1="5901" v2="5966" v3="6058" />
+ <tetrahedron index="29778" v0="3413" v1="3495" v2="5448" v3="5449" />
+ <tetrahedron index="29779" v0="4922" v1="5299" v2="5760" v3="6102" />
+ <tetrahedron index="29780" v0="5357" v1="5866" v2="6009" v3="6506" />
+ <tetrahedron index="29781" v0="4891" v1="5052" v2="5211" v3="6369" />
+ <tetrahedron index="29782" v0="5593" v1="5777" v2="6197" v3="6439" />
+ <tetrahedron index="29783" v0="4645" v1="4734" v2="5173" v3="5886" />
+ <tetrahedron index="29784" v0="3849" v1="4825" v2="4843" v3="5296" />
+ <tetrahedron index="29785" v0="3266" v1="3285" v2="3380" v3="6148" />
+ <tetrahedron index="29786" v0="3465" v1="3801" v2="5130" v3="5469" />
+ <tetrahedron index="29787" v0="3882" v1="3984" v2="4791" v3="6338" />
+ <tetrahedron index="29788" v0="5248" v1="5878" v2="5879" v3="6519" />
+ <tetrahedron index="29789" v0="4392" v1="4393" v2="5521" v3="6231" />
+ <tetrahedron index="29790" v0="3452" v1="3454" v2="5828" v3="5871" />
+ <tetrahedron index="29791" v0="5053" v1="5604" v2="5606" v3="5607" />
+ <tetrahedron index="29792" v0="3551" v1="3552" v2="5098" v3="5466" />
+ <tetrahedron index="29793" v0="3692" v1="5223" v2="5843" v3="6153" />
+ <tetrahedron index="29794" v0="4949" v1="5995" v2="6030" v3="6592" />
+ <tetrahedron index="29795" v0="4312" v1="4719" v2="5612" v3="6606" />
+ <tetrahedron index="29796" v0="4907" v1="6239" v2="6328" v3="6759" />
+ <tetrahedron index="29797" v0="6053" v1="6639" v2="6703" v3="6931" />
+ <tetrahedron index="29798" v0="4275" v1="4586" v2="5733" v3="5786" />
+ <tetrahedron index="29799" v0="4251" v1="4253" v2="4280" v3="6398" />
+ <tetrahedron index="29800" v0="5078" v1="5819" v2="5853" v3="6500" />
+ <tetrahedron index="29801" v0="3246" v1="3248" v2="3249" v3="5832" />
+ <tetrahedron index="29802" v0="4933" v1="5125" v2="5332" v3="5977" />
+ <tetrahedron index="29803" v0="3485" v1="5344" v2="6583" v3="6706" />
+ <tetrahedron index="29804" v0="4897" v1="5228" v2="5229" v3="5666" />
+ <tetrahedron index="29805" v0="4931" v1="5707" v2="5967" v3="6434" />
+ <tetrahedron index="29806" v0="3701" v1="3945" v2="4465" v3="5635" />
+ <tetrahedron index="29807" v0="3905" v1="5310" v2="5311" v3="5952" />
+ <tetrahedron index="29808" v0="5111" v1="5184" v2="5796" v3="6164" />
+ <tetrahedron index="29809" v0="5169" v1="5613" v2="6288" v3="6515" />
+ <tetrahedron index="29810" v0="4206" v1="4282" v2="4680" v3="5032" />
+ <tetrahedron index="29811" v0="3830" v1="3839" v2="4442" v3="5417" />
+ <tetrahedron index="29812" v0="3757" v1="4005" v2="4069" v3="5077" />
+ <tetrahedron index="29813" v0="4334" v1="4413" v2="5290" v3="5930" />
+ <tetrahedron index="29814" v0="5326" v1="5973" v2="6574" v3="6575" />
+ <tetrahedron index="29815" v0="5620" v1="5678" v2="6297" v3="6298" />
+ <tetrahedron index="29816" v0="3328" v1="3329" v2="3764" v3="4204" />
+ <tetrahedron index="29817" v0="4135" v1="4522" v2="4609" v3="5184" />
+ <tetrahedron index="29818" v0="3545" v1="3546" v2="5419" v3="5544" />
+ <tetrahedron index="29819" v0="3455" v1="3754" v2="5927" v3="6371" />
+ <tetrahedron index="29820" v0="4941" v1="5633" v2="6011" v3="6609" />
+ <tetrahedron index="29821" v0="3404" v1="4240" v2="5087" v3="5667" />
+ <tetrahedron index="29822" v0="4092" v1="4094" v2="4100" v3="6406" />
+ <tetrahedron index="29823" v0="3830" v1="4442" v2="4668" v3="5417" />
+ <tetrahedron index="29824" v0="4183" v1="5680" v2="6351" v3="6827" />
+ <tetrahedron index="29825" v0="3849" v1="4576" v2="4825" v3="5296" />
+ <tetrahedron index="29826" v0="3407" v1="3930" v2="3931" v3="5288" />
+ <tetrahedron index="29827" v0="4922" v1="5299" v2="5442" v3="5937" />
+ <tetrahedron index="29828" v0="4737" v1="4771" v2="5807" v3="6460" />
+ <tetrahedron index="29829" v0="3844" v1="4281" v2="4432" v3="5139" />
+ <tetrahedron index="29830" v0="4848" v1="4875" v2="5590" v3="6060" />
+ <tetrahedron index="29831" v0="4458" v1="4459" v2="5367" v3="6018" />
+ <tetrahedron index="29832" v0="4991" v1="5405" v2="6148" v3="6955" />
+ <tetrahedron index="29833" v0="3414" v1="3415" v2="4080" v3="4841" />
+ <tetrahedron index="29834" v0="3283" v1="3286" v2="3741" v3="6057" />
+ <tetrahedron index="29835" v0="4001" v1="5144" v2="5560" v3="5758" />
+ <tetrahedron index="29836" v0="5173" v1="5251" v2="5619" v3="5886" />
+ <tetrahedron index="29837" v0="3590" v1="5100" v2="5212" v3="5685" />
+ <tetrahedron index="29838" v0="5423" v1="6081" v2="6256" v3="6660" />
+ <tetrahedron index="29839" v0="3477" v1="3877" v2="4371" v3="5199" />
+ <tetrahedron index="29840" v0="5032" v1="5498" v2="5647" v3="6322" />
+ <tetrahedron index="29841" v0="3320" v1="4085" v2="4790" v3="4795" />
+ <tetrahedron index="29842" v0="3320" v1="4084" v2="4085" v3="4790" />
+ <tetrahedron index="29843" v0="4889" v1="5205" v2="6476" v3="6829" />
+ <tetrahedron index="29844" v0="3447" v1="4881" v2="5591" v3="5803" />
+ <tetrahedron index="29845" v0="5615" v1="6289" v2="6792" v3="6980" />
+ <tetrahedron index="29846" v0="3900" v1="4699" v2="5672" v3="6475" />
+ <tetrahedron index="29847" v0="5310" v1="6263" v2="6637" v3="6874" />
+ <tetrahedron index="29848" v0="4130" v1="4255" v2="5110" v3="5825" />
+ <tetrahedron index="29849" v0="4378" v1="5101" v2="5687" v3="6359" />
+ <tetrahedron index="29850" v0="4585" v1="5392" v2="5394" v3="6045" />
+ <tetrahedron index="29851" v0="3930" v1="3931" v2="4578" v3="5928" />
+ <tetrahedron index="29852" v0="4731" v1="5395" v2="5495" v3="6154" />
+ <tetrahedron index="29853" v0="3925" v1="4758" v2="4840" v3="5974" />
+ <tetrahedron index="29854" v0="3641" v1="4313" v2="5431" v3="6089" />
+ <tetrahedron index="29855" v0="3251" v1="4502" v2="5156" v3="5413" />
+ <tetrahedron index="29856" v0="3821" v1="3884" v2="5044" v3="5327" />
+ <tetrahedron index="29857" v0="4970" v1="5992" v2="6092" v3="6667" />
+ <tetrahedron index="29858" v0="3298" v1="4593" v2="5834" v3="6481" />
+ <tetrahedron index="29859" v0="5656" v1="5761" v2="6427" v3="6541" />
+ <tetrahedron index="29860" v0="3798" v1="4411" v2="4818" v3="5041" />
+ <tetrahedron index="29861" v0="3328" v1="3764" v2="4204" v3="6087" />
+ <tetrahedron index="29862" v0="3430" v1="3949" v2="3958" v3="6528" />
+ <tetrahedron index="29863" v0="4758" v1="5095" v2="5970" v3="5974" />
+ <tetrahedron index="29864" v0="5557" v1="5948" v2="6232" v3="6559" />
+ <tetrahedron index="29865" v0="5113" v1="5888" v2="6321" v3="6814" />
+ <tetrahedron index="29866" v0="3751" v1="3855" v2="3972" v3="5400" />
+ <tetrahedron index="29867" v0="4257" v1="4258" v2="4296" v3="5412" />
+ <tetrahedron index="29868" v0="3890" v1="4200" v2="5378" v3="5379" />
+ <tetrahedron index="29869" v0="3246" v1="3371" v2="3446" v3="6297" />
+ <tetrahedron index="29870" v0="5347" v1="5599" v2="6270" v3="6271" />
+ <tetrahedron index="29871" v0="5114" v1="5826" v2="5827" v3="6803" />
+ <tetrahedron index="29872" v0="3323" v1="3434" v2="5040" v3="5578" />
+ <tetrahedron index="29873" v0="3578" v1="4291" v2="4533" v3="6390" />
+ <tetrahedron index="29874" v0="3321" v1="3322" v2="3323" v3="5578" />
+ <tetrahedron index="29875" v0="3704" v1="4007" v2="4443" v3="6256" />
+ <tetrahedron index="29876" v0="3785" v1="4113" v2="4815" v3="5747" />
+ <tetrahedron index="29877" v0="4358" v1="4496" v2="5259" v3="5263" />
+ <tetrahedron index="29878" v0="5439" v1="6098" v2="6675" v3="6929" />
+ <tetrahedron index="29879" v0="3250" v1="4016" v2="4981" v3="5463" />
+ <tetrahedron index="29880" v0="4855" v1="5757" v2="5963" v3="6422" />
+ <tetrahedron index="29881" v0="3741" v1="5007" v2="5533" v3="5654" />
+ <tetrahedron index="29882" v0="4935" v1="5338" v2="5563" v3="6318" />
+ <tetrahedron index="29883" v0="4890" v1="5826" v2="5828" v3="6511" />
+ <tetrahedron index="29884" v0="3665" v1="5651" v2="6328" v3="6329" />
+ <tetrahedron index="29885" v0="4234" v1="4312" v2="4719" v3="5612" />
+ <tetrahedron index="29886" v0="5770" v1="5773" v2="6399" v3="6437" />
+ <tetrahedron index="29887" v0="3341" v1="3343" v2="4207" v3="5160" />
+ <tetrahedron index="29888" v0="5748" v1="6002" v2="6407" v3="6600" />
+ <tetrahedron index="29889" v0="3452" v1="4283" v2="5114" v3="5242" />
+ <tetrahedron index="29890" v0="5230" v1="5690" v2="5691" v3="6339" />
+ <tetrahedron index="29891" v0="3725" v1="4740" v2="5457" v3="5459" />
+ <tetrahedron index="29892" v0="4033" v1="5195" v2="5816" v3="6872" />
+ <tetrahedron index="29893" v0="5457" v1="6118" v2="6389" v3="6690" />
+ <tetrahedron index="29894" v0="3707" v1="5436" v2="5753" v3="6415" />
+ <tetrahedron index="29895" v0="4111" v1="5379" v2="5555" v3="6229" />
+ <tetrahedron index="29896" v0="5051" v1="5817" v2="6473" v3="6474" />
+ <tetrahedron index="29897" v0="3732" v1="3733" v2="5463" v3="5808" />
+ <tetrahedron index="29898" v0="4917" v1="5343" v2="5924" v3="6584" />
+ <tetrahedron index="29899" v0="3943" v1="3986" v2="5080" v3="6821" />
+ <tetrahedron index="29900" v0="5148" v1="5941" v2="5986" v3="6580" />
+ <tetrahedron index="29901" v0="4374" v1="4375" v2="4404" v3="5731" />
+ <tetrahedron index="29902" v0="3325" v1="3326" v2="5172" v3="5787" />
+ <tetrahedron index="29903" v0="4628" v1="5049" v2="5452" v3="6112" />
+ <tetrahedron index="29904" v0="3818" v1="3888" v2="3902" v3="5729" />
+ <tetrahedron index="29905" v0="3989" v1="4310" v2="5699" v3="6357" />
+ <tetrahedron index="29906" v0="5086" v1="5690" v2="6361" v3="6829" />
+ <tetrahedron index="29907" v0="3379" v1="3382" v2="3798" v3="5267" />
+ <tetrahedron index="29908" v0="6163" v1="6440" v2="6815" v3="6994" />
+ <tetrahedron index="29909" v0="3232" v1="5119" v2="5472" v3="5709" />
+ <tetrahedron index="29910" v0="5941" v1="5986" v2="6568" v3="6899" />
+ <tetrahedron index="29911" v0="4563" v1="4564" v2="4700" v3="5537" />
+ <tetrahedron index="29912" v0="4492" v1="4997" v2="5516" v3="6733" />
+ <tetrahedron index="29913" v0="4162" v1="5315" v2="5317" v3="5725" />
+ <tetrahedron index="29914" v0="3346" v1="3534" v2="5453" v3="6113" />
+ <tetrahedron index="29915" v0="3290" v1="3424" v2="5143" v3="5534" />
+ <tetrahedron index="29916" v0="4370" v1="4625" v2="5073" v3="5650" />
+ <tetrahedron index="29917" v0="4444" v1="4467" v2="5519" v3="6738" />
+ <tetrahedron index="29918" v0="5439" v1="6097" v2="6098" v3="6150" />
+ <tetrahedron index="29919" v0="5458" v1="6117" v2="6126" v3="6688" />
+ <tetrahedron index="29920" v0="3257" v1="4508" v2="5482" v3="5588" />
+ <tetrahedron index="29921" v0="3681" v1="4526" v2="5673" v3="6607" />
+ <tetrahedron index="29922" v0="3845" v1="3966" v2="5232" v3="5854" />
+ <tetrahedron index="29923" v0="3449" v1="3556" v2="5432" v3="5502" />
+ <tetrahedron index="29924" v0="3254" v1="3255" v2="3256" v3="6021" />
+ <tetrahedron index="29925" v0="4005" v1="4069" v2="5077" v3="5654" />
+ <tetrahedron index="29926" v0="4437" v1="5159" v2="6335" v3="6374" />
+ <tetrahedron index="29927" v0="5040" v1="5579" v2="6255" v3="6446" />
+ <tetrahedron index="29928" v0="4285" v1="5954" v2="6235" v3="6562" />
+ <tetrahedron index="29929" v0="4162" v1="4514" v2="4560" v3="5725" />
+ <tetrahedron index="29930" v0="4858" v1="5509" v2="5518" v3="6188" />
+ <tetrahedron index="29931" v0="3816" v1="4139" v2="4189" v3="6041" />
+ <tetrahedron index="29932" v0="5353" v1="6004" v2="6603" v3="6917" />
+ <tetrahedron index="29933" v0="5106" v1="5692" v2="5879" v3="6681" />
+ <tetrahedron index="29934" v0="3576" v1="3794" v2="5785" v3="6084" />
+ <tetrahedron index="29935" v0="4984" v1="5488" v2="5902" v3="6299" />
+ <tetrahedron index="29936" v0="3556" v1="5432" v2="5502" v3="6453" />
+ <tetrahedron index="29937" v0="4169" v1="4186" v2="4187" v3="5470" />
+ <tetrahedron index="29938" v0="3349" v1="3356" v2="5420" v3="6078" />
+ <tetrahedron index="29939" v0="3903" v1="3985" v2="4299" v3="5850" />
+ <tetrahedron index="29940" v0="5397" v1="6052" v2="6637" v3="6638" />
+ <tetrahedron index="29941" v0="3401" v1="5114" v2="5208" v3="5827" />
+ <tetrahedron index="29942" v0="4752" v1="5478" v2="5843" v3="6998" />
+ <tetrahedron index="29943" v0="3808" v1="3997" v2="5329" v3="5586" />
+ <tetrahedron index="29944" v0="5282" v1="5376" v2="5921" v3="6025" />
+ <tetrahedron index="29945" v0="5160" v1="5770" v2="5771" v3="6437" />
+ <tetrahedron index="29946" v0="3436" v1="3673" v2="3807" v3="5977" />
+ <tetrahedron index="29947" v0="3276" v1="3279" v2="3286" v3="3712" />
+ <tetrahedron index="29948" v0="3855" v1="4555" v2="5231" v3="6363" />
+ <tetrahedron index="29949" v0="3894" v1="4197" v2="4644" v3="5580" />
+ <tetrahedron index="29950" v0="4590" v1="4591" v2="4618" v3="5135" />
+ <tetrahedron index="29951" v0="3475" v1="5258" v2="5545" v3="5892" />
+ <tetrahedron index="29952" v0="3313" v1="3833" v2="3927" v3="5213" />
+ <tetrahedron index="29953" v0="3793" v1="3794" v2="4232" v3="5177" />
+ <tetrahedron index="29954" v0="3863" v1="4226" v2="4500" v3="5372" />
+ <tetrahedron index="29955" v0="3502" v1="3503" v2="3968" v3="5384" />
+ <tetrahedron index="29956" v0="4974" v1="5405" v2="5783" v3="6294" />
+ <tetrahedron index="29957" v0="5149" v1="5351" v2="5814" v3="5999" />
+ <tetrahedron index="29958" v0="5753" v1="6666" v2="6769" v3="6972" />
+ <tetrahedron index="29959" v0="3269" v1="3379" v2="4989" v3="6145" />
+ <tetrahedron index="29960" v0="3264" v1="3501" v2="3553" v3="5030" />
+ <tetrahedron index="29961" v0="5841" v1="6489" v2="6724" v3="6880" />
+ <tetrahedron index="29962" v0="4755" v1="5569" v2="6242" v3="6391" />
+ <tetrahedron index="29963" v0="3947" v1="5522" v2="5873" v3="6175" />
+ <tetrahedron index="29964" v0="3612" v1="3657" v2="5473" v3="5709" />
+ <tetrahedron index="29965" v0="3287" v1="5059" v2="5613" v3="5618" />
+ <tetrahedron index="29966" v0="3809" v1="4056" v2="4651" v3="5330" />
+ <tetrahedron index="29967" v0="3870" v1="3871" v2="5151" v3="5729" />
+ <tetrahedron index="29968" v0="3932" v1="3953" v2="4557" v3="5141" />
+ <tetrahedron index="29969" v0="5997" v1="6596" v2="6597" v3="6879" />
+ <tetrahedron index="29970" v0="3244" v1="5839" v2="5952" v3="6561" />
+ <tetrahedron index="29971" v0="3423" v1="3631" v2="5173" v3="5885" />
+ <tetrahedron index="29972" v0="3479" v1="3481" v2="5206" v3="6825" />
+ <tetrahedron index="29973" v0="3454" v1="5207" v2="5210" v3="5825" />
+ <tetrahedron index="29974" v0="3701" v1="3702" v2="4376" v3="5635" />
+ <tetrahedron index="29975" v0="4897" v1="4958" v2="5230" v3="5666" />
+ <tetrahedron index="29976" v0="4871" v1="5049" v2="6112" v3="6683" />
+ <tetrahedron index="29977" v0="4894" v1="6140" v2="6642" v3="6645" />
+ <tetrahedron index="29978" v0="5086" v1="5665" v2="6361" v3="6829" />
+ <tetrahedron index="29979" v0="3821" v1="5044" v2="5327" v3="5972" />
+ <tetrahedron index="29980" v0="4848" v1="5951" v2="6103" v3="6266" />
+ <tetrahedron index="29981" v0="6044" v1="6049" v2="6626" v3="6635" />
+ <tetrahedron index="29982" v0="4012" v1="4121" v2="4213" v3="5229" />
+ <tetrahedron index="29983" v0="3856" v1="3857" v2="5078" v3="5231" />
+ <tetrahedron index="29984" v0="4996" v1="5495" v2="6154" v3="6159" />
+ <tetrahedron index="29985" v0="5130" v1="5469" v2="5780" v3="6325" />
+ <tetrahedron index="29986" v0="4415" v1="4416" v2="4448" v3="5863" />
+ <tetrahedron index="29987" v0="3515" v1="3682" v2="5017" v3="5143" />
+ <tetrahedron index="29988" v0="4936" v1="6568" v2="6577" v3="6901" />
+ <tetrahedron index="29989" v0="4837" v1="4838" v2="4839" v3="5194" />
+ <tetrahedron index="29990" v0="3276" v1="3279" v2="5398" v3="5965" />
+ <tetrahedron index="29991" v0="3642" v1="3955" v2="5238" v3="5543" />
+ <tetrahedron index="29992" v0="4909" v1="5022" v2="5704" v3="5892" />
+ <tetrahedron index="29993" v0="3269" v1="3379" v2="5267" v3="6145" />
+ <tetrahedron index="29994" v0="4852" v1="5617" v2="6292" v3="6293" />
+ <tetrahedron index="29995" v0="4280" v1="4281" v2="4432" v3="5139" />
+ <tetrahedron index="29996" v0="3346" v1="3347" v2="3348" v3="5113" />
+ <tetrahedron index="29997" v0="3992" v1="5842" v2="6490" v3="6491" />
+ <tetrahedron index="29998" v0="6291" v1="6794" v2="7009" v3="7025" />
+ <tetrahedron index="29999" v0="3460" v1="5807" v2="6285" v3="6788" />
+ <tetrahedron index="30000" v0="5068" v1="5636" v2="5639" v3="6317" />
+ <tetrahedron index="30001" v0="5598" v1="5817" v2="6472" v3="6872" />
+ <tetrahedron index="30002" v0="5071" v1="5254" v2="5887" v3="6527" />
+ <tetrahedron index="30003" v0="3742" v1="4415" v2="4448" v3="5283" />
+ <tetrahedron index="30004" v0="5110" v1="5698" v2="5701" v3="6368" />
+ <tetrahedron index="30005" v0="4544" v1="4545" v2="4546" v3="6319" />
+ <tetrahedron index="30006" v0="4179" v1="4246" v2="4269" v3="5669" />
+ <tetrahedron index="30007" v0="4901" v1="5240" v2="5866" v3="6506" />
+ <tetrahedron index="30008" v0="4849" v1="5528" v2="6843" v3="6948" />
+ <tetrahedron index="30009" v0="4954" v1="5394" v2="6049" v3="6635" />
+ <tetrahedron index="30010" v0="4354" v1="4694" v2="4805" v3="5755" />
+ <tetrahedron index="30011" v0="4886" v1="5029" v2="5561" v3="6817" />
+ <tetrahedron index="30012" v0="3546" v1="3584" v2="3830" v3="5418" />
+ <tetrahedron index="30013" v0="3841" v1="4391" v2="4586" v3="5425" />
+ <tetrahedron index="30014" v0="3689" v1="4426" v2="5777" v3="6197" />
+ <tetrahedron index="30015" v0="4734" v1="5172" v2="5173" v3="5174" />
+ <tetrahedron index="30016" v0="3238" v1="3619" v2="5419" v3="5663" />
+ <tetrahedron index="30017" v0="4346" v1="4503" v2="4801" v3="5658" />
+ <tetrahedron index="30018" v0="3449" v1="3555" v2="3556" v3="5432" />
+ <tetrahedron index="30019" v0="3667" v1="3687" v2="5061" v3="5171" />
+ <tetrahedron index="30020" v0="4943" v1="5599" v2="6222" v3="6271" />
+ <tetrahedron index="30021" v0="3617" v1="3801" v2="4599" v3="5469" />
+ <tetrahedron index="30022" v0="3817" v1="4332" v2="5429" v3="6086" />
+ <tetrahedron index="30023" v0="4058" v1="5197" v2="5451" v3="6071" />
+ <tetrahedron index="30024" v0="4851" v1="4935" v2="5636" v3="5833" />
+ <tetrahedron index="30025" v0="4869" v1="5707" v2="6252" v3="6771" />
+ <tetrahedron index="30026" v0="3341" v1="3473" v2="4207" v3="5773" />
+ <tetrahedron index="30027" v0="3296" v1="3297" v2="4476" v3="5836" />
+ <tetrahedron index="30028" v0="3886" v1="5134" v2="5733" v3="6448" />
+ <tetrahedron index="30029" v0="3662" v1="4514" v2="4755" v3="6391" />
+ <tetrahedron index="30030" v0="3529" v1="5202" v2="5484" v3="6838" />
+ <tetrahedron index="30031" v0="4354" v1="4694" v2="5755" v3="6418" />
+ <tetrahedron index="30032" v0="4901" v1="5056" v2="5867" v3="6108" />
+ <tetrahedron index="30033" v0="4967" v1="5171" v2="5581" v3="6085" />
+ <tetrahedron index="30034" v0="4978" v1="5503" v2="6157" v3="6168" />
+ <tetrahedron index="30035" v0="5365" v1="6097" v2="6717" v3="6794" />
+ <tetrahedron index="30036" v0="4999" v1="5498" v2="6161" v3="6323" />
+ <tetrahedron index="30037" v0="5620" v1="5678" v2="6295" v3="6298" />
+ <tetrahedron index="30038" v0="3663" v1="3815" v2="3816" v3="6208" />
+ <tetrahedron index="30039" v0="3511" v1="3513" v2="3514" v3="6651" />
+ <tetrahedron index="30040" v0="5007" v1="5535" v2="6646" v3="6835" />
+ <tetrahedron index="30041" v0="4273" v1="4467" v2="4506" v3="6191" />
+ <tetrahedron index="30042" v0="5072" v1="5695" v2="5790" v3="6499" />
+ <tetrahedron index="30043" v0="4567" v1="4569" v2="5360" v3="6271" />
+ <tetrahedron index="30044" v0="5225" v1="5695" v2="5790" v3="6499" />
+ <tetrahedron index="30045" v0="3236" v1="3475" v2="4217" v3="5663" />
+ <tetrahedron index="30046" v0="3236" v1="3475" v2="5258" v3="5663" />
+ <tetrahedron index="30047" v0="5129" v1="5151" v2="5384" v3="6393" />
+ <tetrahedron index="30048" v0="4309" v1="4770" v2="5076" v3="5914" />
+ <tetrahedron index="30049" v0="3685" v1="5243" v2="5872" v3="6512" />
+ <tetrahedron index="30050" v0="4644" v1="4645" v2="5174" v3="5886" />
+ <tetrahedron index="30051" v0="3395" v1="3624" v2="4318" v3="5479" />
+ <tetrahedron index="30052" v0="5048" v1="5591" v2="6377" v3="6866" />
+ <tetrahedron index="30053" v0="3334" v1="3335" v2="4604" v3="6268" />
+ <tetrahedron index="30054" v0="4998" v1="5424" v2="5496" v3="6447" />
+ <tetrahedron index="30055" v0="3469" v1="4588" v2="4617" v3="5354" />
+ <tetrahedron index="30056" v0="4945" v1="5366" v2="6017" v3="6383" />
+ <tetrahedron index="30057" v0="3789" v1="5108" v2="5182" v3="5714" />
+ <tetrahedron index="30058" v0="4037" v1="5123" v2="5717" v3="5719" />
+ <tetrahedron index="30059" v0="3495" v1="5448" v2="5449" v3="6109" />
+ <tetrahedron index="30060" v0="4903" v1="6121" v2="6123" v3="6128" />
+ <tetrahedron index="30061" v0="4340" v1="5411" v2="6125" v3="6172" />
+ <tetrahedron index="30062" v0="3460" v1="3461" v2="5527" v3="6285" />
+ <tetrahedron index="30063" v0="3739" v1="3795" v2="5579" v3="6255" />
+ <tetrahedron index="30064" v0="4536" v1="5264" v2="5895" v3="6531" />
+ <tetrahedron index="30065" v0="4414" v1="4476" v2="5218" v3="5859" />
+ <tetrahedron index="30066" v0="4891" v1="5031" v2="5212" v3="5565" />
+ <tetrahedron index="30067" v0="4877" v1="5061" v2="5174" v3="5886" />
+ <tetrahedron index="30068" v0="5309" v1="6098" v2="6944" v3="7014" />
+ <tetrahedron index="30069" v0="3805" v1="3806" v2="5709" v3="6251" />
+ <tetrahedron index="30070" v0="3913" v1="3943" v2="4754" v3="5115" />
+ <tetrahedron index="30071" v0="3404" v1="3409" v2="4395" v3="6547" />
+ <tetrahedron index="30072" v0="3393" v1="3397" v2="5064" v3="5629" />
+ <tetrahedron index="30073" v0="4366" v1="4542" v2="6095" v3="6956" />
+ <tetrahedron index="30074" v0="3439" v1="3705" v2="5054" v3="5848" />
+ <tetrahedron index="30075" v0="4492" v1="4997" v2="5516" v3="6180" />
+ <tetrahedron index="30076" v0="3545" v1="3546" v2="3547" v3="5419" />
+ <tetrahedron index="30077" v0="3699" v1="4755" v2="5569" v3="6242" />
+ <tetrahedron index="30078" v0="3457" v1="3764" v2="3885" v3="3886" />
+ <tetrahedron index="30079" v0="5556" v1="5945" v2="6557" v3="6895" />
+ <tetrahedron index="30080" v0="3404" v1="4222" v2="4395" v3="6547" />
+ <tetrahedron index="30081" v0="4975" v1="5449" v2="5775" v3="6507" />
+ <tetrahedron index="30082" v0="4182" v1="5085" v2="5117" v3="5664" />
+ <tetrahedron index="30083" v0="4095" v1="4097" v2="4558" v3="5919" />
+ <tetrahedron index="30084" v0="5150" v1="5750" v2="6411" v3="6916" />
+ <tetrahedron index="30085" v0="5334" v1="5677" v2="6137" v3="6348" />
+ <tetrahedron index="30086" v0="4206" v1="4282" v2="4355" v3="5032" />
+ <tetrahedron index="30087" v0="3846" v1="3847" v2="5294" v3="5506" />
+ <tetrahedron index="30088" v0="3662" v1="3663" v2="5127" v3="5724" />
+ <tetrahedron index="30089" v0="4577" v1="4701" v2="5452" v3="5453" />
+ <tetrahedron index="30090" v0="4604" v1="4605" v2="5050" v3="6268" />
+ <tetrahedron index="30091" v0="3361" v1="3479" v2="5312" v3="6343" />
+ <tetrahedron index="30092" v0="3855" v1="3856" v2="4555" v3="5231" />
+ <tetrahedron index="30093" v0="4237" v1="5073" v2="5650" v3="6324" />
+ <tetrahedron index="30094" v0="5040" v1="5580" v2="6255" v3="6446" />
+ <tetrahedron index="30095" v0="4869" v1="5039" v2="6252" v3="6434" />
+ <tetrahedron index="30096" v0="5073" v1="5164" v2="5468" v3="5597" />
+ <tetrahedron index="30097" v0="4870" v1="5290" v2="5643" v3="5732" />
+ <tetrahedron index="30098" v0="3534" v1="4577" v2="4701" v3="5453" />
+ <tetrahedron index="30099" v0="5984" v1="6047" v2="6577" v3="6629" />
+ <tetrahedron index="30100" v0="4416" v1="5238" v2="5863" v3="6505" />
+ <tetrahedron index="30101" v0="3990" v1="4130" v2="4351" v3="5110" />
+ <tetrahedron index="30102" v0="3754" v1="4574" v2="5289" v3="6371" />
+ <tetrahedron index="30103" v0="3658" v1="5183" v2="5795" v3="5798" />
+ <tetrahedron index="30104" v0="5488" v1="6299" v2="6519" v3="6707" />
+ <tetrahedron index="30105" v0="4227" v1="4495" v2="4656" v3="6007" />
+ <tetrahedron index="30106" v0="3952" v1="5470" v2="6110" v3="6149" />
+ <tetrahedron index="30107" v0="5461" v1="5462" v2="6127" v3="6128" />
+ <tetrahedron index="30108" v0="5020" v1="5556" v2="6209" v3="6747" />
+ <tetrahedron index="30109" v0="3375" v1="5454" v2="6114" v3="6493" />
+ <tetrahedron index="30110" v0="3419" v1="3640" v2="5086" v3="6647" />
+ <tetrahedron index="30111" v0="4271" v1="4566" v2="4677" v3="5375" />
+ <tetrahedron index="30112" v0="3949" v1="5256" v2="5890" v3="6528" />
+ <tetrahedron index="30113" v0="4948" v1="5976" v2="6026" v3="6027" />
+ <tetrahedron index="30114" v0="5458" v1="6120" v2="6678" v3="7017" />
+ <tetrahedron index="30115" v0="4907" v1="5564" v2="6237" v3="6240" />
+ <tetrahedron index="30116" v0="4985" v1="5660" v2="6137" v3="6138" />
+ <tetrahedron index="30117" v0="4192" v1="4193" v2="5626" v3="6304" />
+ <tetrahedron index="30118" v0="3797" v1="5255" v2="6215" v3="6814" />
+ <tetrahedron index="30119" v0="5391" v1="6247" v2="6923" v3="6974" />
+ <tetrahedron index="30120" v0="4875" v1="5012" v2="5590" v3="6265" />
+ <tetrahedron index="30121" v0="3240" v1="3241" v2="5909" v3="5911" />
+ <tetrahedron index="30122" v0="3480" v1="3872" v2="4115" v3="5089" />
+ <tetrahedron index="30123" v0="4853" v1="4906" v2="5407" v3="5882" />
+ <tetrahedron index="30124" v0="4540" v1="5573" v2="5574" v3="6048" />
+ <tetrahedron index="30125" v0="4194" v1="4816" v2="6074" v3="6653" />
+ <tetrahedron index="30126" v0="4868" v1="5159" v2="5767" v3="6832" />
+ <tetrahedron index="30127" v0="4918" v1="5958" v2="6456" v3="6567" />
+ <tetrahedron index="30128" v0="3370" v1="3549" v2="5094" v3="5301" />
+ <tetrahedron index="30129" v0="3677" v1="3678" v2="4202" v3="6068" />
+ <tetrahedron index="30130" v0="3601" v1="4458" v2="4459" v3="5367" />
+ <tetrahedron index="30131" v0="4887" v1="5199" v2="5674" v3="5819" />
+ <tetrahedron index="30132" v0="3840" v1="4014" v2="4449" v3="5424" />
+ <tetrahedron index="30133" v0="3994" v1="3995" v2="5292" v3="6169" />
+ <tetrahedron index="30134" v0="6166" v1="6675" v2="6719" v3="6720" />
+ <tetrahedron index="30135" v0="3699" v1="5380" v2="5569" v3="6242" />
+ <tetrahedron index="30136" v0="5001" v1="5455" v2="5623" v3="6168" />
+ <tetrahedron index="30137" v0="4665" v1="4806" v2="5057" v3="5900" />
+ <tetrahedron index="30138" v0="3239" v1="3710" v2="3884" v3="5327" />
+ <tetrahedron index="30139" v0="3491" v1="3589" v2="3674" v3="5232" />
+ <tetrahedron index="30140" v0="4864" v1="6171" v2="6488" v3="6723" />
+ <tetrahedron index="30141" v0="3315" v1="5028" v2="5559" v3="6510" />
+ <tetrahedron index="30142" v0="3315" v1="4387" v2="5028" v3="5559" />
+ <tetrahedron index="30143" v0="4044" v1="4111" v2="4112" v3="6229" />
+ <tetrahedron index="30144" v0="4086" v1="4088" v2="4294" v3="6457" />
+ <tetrahedron index="30145" v0="4916" v1="5281" v2="5921" v3="6544" />
+ <tetrahedron index="30146" v0="5753" v1="6250" v2="6770" v3="6972" />
+ <tetrahedron index="30147" v0="4999" v1="5497" v2="5798" v3="6160" />
+ <tetrahedron index="30148" v0="5119" v1="5472" v2="5709" v3="6436" />
+ <tetrahedron index="30149" v0="5750" v1="6734" v2="6839" v3="6845" />
+ <tetrahedron index="30150" v0="4595" v1="4631" v2="5476" v3="5756" />
+ <tetrahedron index="30151" v0="4036" v1="4037" v2="5123" v3="5717" />
+ <tetrahedron index="30152" v0="4909" v1="5085" v2="5664" v3="5889" />
+ <tetrahedron index="30153" v0="4750" v1="5313" v2="5823" v3="5955" />
+ <tetrahedron index="30154" v0="4596" v1="5515" v2="5517" v3="6187" />
+ <tetrahedron index="30155" v0="3785" v1="3991" v2="5148" v3="5986" />
+ <tetrahedron index="30156" v0="3789" v1="4601" v2="5108" v3="5182" />
+ <tetrahedron index="30157" v0="3550" v1="5384" v2="5385" v3="5466" />
+ <tetrahedron index="30158" v0="5507" v1="6171" v2="6488" v3="6723" />
+ <tetrahedron index="30159" v0="4864" v1="6419" v2="6724" v3="6991" />
+ <tetrahedron index="30160" v0="5000" v1="5501" v2="5502" v3="6455" />
+ <tetrahedron index="30161" v0="4865" v1="5154" v2="5249" v3="5759" />
+ <tetrahedron index="30162" v0="4852" v1="6106" v2="6789" v3="6913" />
+ <tetrahedron index="30163" v0="4149" v1="4760" v2="4761" v3="6029" />
+ <tetrahedron index="30164" v0="4597" v1="5343" v2="5344" v3="5924" />
+ <tetrahedron index="30165" v0="3248" v1="3249" v2="3501" v3="5214" />
+ <tetrahedron index="30166" v0="4912" v1="5267" v2="5308" v3="5949" />
+ <tetrahedron index="30167" v0="3433" v1="3649" v2="3865" v3="5408" />
+ <tetrahedron index="30168" v0="4570" v1="4664" v2="4665" v3="5610" />
+ <tetrahedron index="30169" v0="4850" v1="6442" v2="6654" v3="6783" />
+ <tetrahedron index="30170" v0="3315" v1="3923" v2="5028" v3="6510" />
+ <tetrahedron index="30171" v0="4862" v1="5010" v2="6310" v3="6312" />
+ <tetrahedron index="30172" v0="3240" v1="3444" v2="3445" v3="5911" />
+ <tetrahedron index="30173" v0="5188" v1="6090" v2="6092" v3="6665" />
+ <tetrahedron index="30174" v0="3851" v1="3852" v2="4358" v3="6532" />
+ <tetrahedron index="30175" v0="3579" v1="3662" v2="5724" v3="6391" />
+ <tetrahedron index="30176" v0="3237" v1="3238" v2="4236" v3="5893" />
+ <tetrahedron index="30177" v0="5062" v1="5622" v2="6236" v3="6298" />
+ <tetrahedron index="30178" v0="5279" v1="5281" v2="5919" v3="5923" />
+ <tetrahedron index="30179" v0="3840" v1="3842" v2="6085" v3="6661" />
+ <tetrahedron index="30180" v0="3894" v1="4644" v2="4646" v3="5174" />
+ <tetrahedron index="30181" v0="5351" v1="6411" v2="6600" v3="6846" />
+ <tetrahedron index="30182" v0="5108" v1="5225" v2="5695" v3="6367" />
+ <tetrahedron index="30183" v0="4693" v1="4787" v2="5243" v3="5693" />
+ <tetrahedron index="30184" v0="4979" v1="5660" v2="5702" v3="6373" />
+ <tetrahedron index="30185" v0="5437" v1="6217" v2="6416" v3="6421" />
+ <tetrahedron index="30186" v0="4803" v1="5196" v2="5561" v3="6565" />
+ <tetrahedron index="30187" v0="5137" v1="5398" v2="5820" v3="6572" />
+ <tetrahedron index="30188" v0="4579" v1="4580" v2="4820" v3="5284" />
+ <tetrahedron index="30189" v0="3830" v1="5417" v2="5418" v3="6077" />
+ <tetrahedron index="30190" v0="4900" v1="4988" v2="5236" v3="5861" />
+ <tetrahedron index="30191" v0="3282" v1="3284" v2="3384" v3="5382" />
+ <tetrahedron index="30192" v0="5054" v1="5695" v2="5696" v3="6367" />
+ <tetrahedron index="30193" v0="5454" v1="5621" v2="6115" v3="6296" />
+ <tetrahedron index="30194" v0="4178" v1="4179" v2="4272" v3="5185" />
+ <tetrahedron index="30195" v0="3255" v1="4065" v2="4511" v3="5371" />
+ <tetrahedron index="30196" v0="4174" v1="4226" v2="5897" v3="5898" />
+ <tetrahedron index="30197" v0="5032" v1="5498" v2="5647" v3="6162" />
+ <tetrahedron index="30198" v0="3612" v1="3806" v2="4145" v3="6251" />
+ <tetrahedron index="30199" v0="3870" v1="5129" v2="5151" v3="5729" />
+ <tetrahedron index="30200" v0="3309" v1="3310" v2="3311" v3="5931" />
+ <tetrahedron index="30201" v0="4001" v1="4763" v2="5144" v3="5758" />
+ <tetrahedron index="30202" v0="3603" v1="5202" v2="5820" v3="6572" />
+ <tetrahedron index="30203" v0="4126" v1="4273" v2="5009" v3="5345" />
+ <tetrahedron index="30204" v0="4056" v1="5329" v2="5330" v3="5332" />
+ <tetrahedron index="30205" v0="4923" v1="5301" v2="5833" v3="5939" />
+ <tetrahedron index="30206" v0="3960" v1="5086" v2="5205" v3="6476" />
+ <tetrahedron index="30207" v0="5455" v1="6116" v2="6157" v3="6168" />
+ <tetrahedron index="30208" v0="5461" v1="5877" v2="6127" v3="6516" />
+ <tetrahedron index="30209" v0="5009" v1="5519" v2="6189" v3="6624" />
+ <tetrahedron index="30210" v0="4985" v1="5660" v2="5702" v3="6138" />
+ <tetrahedron index="30211" v0="4459" v1="4800" v2="5366" v3="5367" />
+ <tetrahedron index="30212" v0="4286" v1="5029" v2="5954" v3="6235" />
+ <tetrahedron index="30213" v0="4274" v1="5200" v2="5228" v3="5852" />
+ <tetrahedron index="30214" v0="3577" v1="4998" v2="5253" v3="5496" />
+ <tetrahedron index="30215" v0="3598" v1="5083" v2="5659" v3="6831" />
+ <tetrahedron index="30216" v0="5764" v1="6430" v2="6855" v3="6856" />
+ <tetrahedron index="30217" v0="4532" v1="5515" v2="5516" v3="6181" />
+ <tetrahedron index="30218" v0="3992" v1="4670" v2="6490" v3="6491" />
+ <tetrahedron index="30219" v0="5143" v1="5187" v2="5803" v3="6454" />
+ <tetrahedron index="30220" v0="4472" v1="4596" v2="4623" v3="6184" />
+ <tetrahedron index="30221" v0="3360" v1="3926" v2="4675" v3="5138" />
+ <tetrahedron index="30222" v0="4280" v1="4287" v2="4432" v3="5703" />
+ <tetrahedron index="30223" v0="3909" v1="4058" v2="5197" v3="6730" />
+ <tetrahedron index="30224" v0="5402" v1="5404" v2="6061" v3="6445" />
+ <tetrahedron index="30225" v0="4881" v1="5017" v2="5502" v3="5800" />
+ <tetrahedron index="30226" v0="3587" v1="5392" v2="6045" v3="6926" />
+ <tetrahedron index="30227" v0="3286" v1="3712" v2="3741" v3="6057" />
+ <tetrahedron index="30228" v0="4909" v1="5889" v2="6076" v3="6336" />
+ <tetrahedron index="30229" v0="4873" v1="6281" v2="6712" v3="6786" />
+ <tetrahedron index="30230" v0="5537" v1="5538" v2="6189" v3="6736" />
+ <tetrahedron index="30231" v0="3538" v1="3822" v2="5584" v3="6826" />
+ <tetrahedron index="30232" v0="4909" v1="5085" v2="5889" v3="6336" />
+ <tetrahedron index="30233" v0="3911" v1="3912" v2="4672" v3="5138" />
+ <tetrahedron index="30234" v0="4932" v1="5324" v2="5327" v3="5975" />
+ <tetrahedron index="30235" v0="3276" v1="3376" v2="5137" v3="5735" />
+ <tetrahedron index="30236" v0="3526" v1="5201" v2="5485" v3="5727" />
+ <tetrahedron index="30237" v0="5187" v1="5802" v2="5803" v3="5804" />
+ <tetrahedron index="30238" v0="4952" v1="5385" v2="5386" v3="5728" />
+ <tetrahedron index="30239" v0="3250" v1="3252" v2="3253" v3="5299" />
+ <tetrahedron index="30240" v0="3358" v1="3912" v2="4672" v3="5138" />
+ <tetrahedron index="30241" v0="4908" v1="5888" v2="6113" v3="6321" />
+ <tetrahedron index="30242" v0="3788" v1="4494" v2="5016" v3="5532" />
+ <tetrahedron index="30243" v0="3259" v1="4479" v2="5069" v3="5640" />
+ <tetrahedron index="30244" v0="4219" v1="5638" v2="5744" v3="5938" />
+ <tetrahedron index="30245" v0="3922" v1="4368" v2="5070" v3="5641" />
+ <tetrahedron index="30246" v0="4472" v1="4623" v2="4817" v3="6184" />
+ <tetrahedron index="30247" v0="5031" v1="5566" v2="5831" v3="6238" />
+ <tetrahedron index="30248" v0="4355" v1="4408" v2="5647" v3="5688" />
+ <tetrahedron index="30249" v0="3883" v1="3903" v2="3985" v3="5227" />
+ <tetrahedron index="30250" v0="3572" v1="5262" v2="5372" v3="6023" />
+ <tetrahedron index="30251" v0="3994" v1="4334" v2="5290" v3="5292" />
+ <tetrahedron index="30252" v0="3334" v1="4605" v2="4627" v3="6268" />
+ <tetrahedron index="30253" v0="3307" v1="3308" v2="3685" v3="5243" />
+ <tetrahedron index="30254" v0="4910" v1="5263" v2="5897" v3="6533" />
+ <tetrahedron index="30255" v0="5605" v1="6280" v2="6284" v3="6809" />
+ <tetrahedron index="30256" v0="5380" v1="5571" v2="6245" v3="6763" />
+ <tetrahedron index="30257" v0="4198" v1="4199" v2="5056" v3="5869" />
+ <tetrahedron index="30258" v0="4263" v1="5162" v2="5732" v3="6396" />
+ <tetrahedron index="30259" v0="3799" v1="4590" v2="5135" v3="5884" />
+ <tetrahedron index="30260" v0="3650" v1="3830" v2="5417" v3="5418" />
+ <tetrahedron index="30261" v0="5554" v1="6227" v2="6228" v3="6755" />
+ <tetrahedron index="30262" v0="4960" v1="5410" v2="5586" v3="6067" />
+ <tetrahedron index="30263" v0="3752" v1="4574" v2="5211" v3="5289" />
+ <tetrahedron index="30264" v0="5303" v1="5570" v2="6245" v3="6763" />
+ <tetrahedron index="30265" v0="3447" v1="3761" v2="3951" v3="5591" />
+ <tetrahedron index="30266" v0="4032" v1="4077" v2="4174" v3="6530" />
+ <tetrahedron index="30267" v0="5413" v1="5626" v2="6302" v3="6303" />
+ <tetrahedron index="30268" v0="4707" v1="5646" v2="5669" v3="6267" />
+ <tetrahedron index="30269" v0="5093" v1="5767" v2="6348" v3="6432" />
+ <tetrahedron index="30270" v0="3537" v1="3539" v2="5325" v3="5972" />
+ <tetrahedron index="30271" v0="4015" v1="5034" v2="5629" v3="5653" />
+ <tetrahedron index="30272" v0="5407" v1="5485" v2="5726" v3="6677" />
+ <tetrahedron index="30273" v0="3923" v1="3934" v2="5868" v3="6510" />
+ <tetrahedron index="30274" v0="4901" v1="5448" v2="5865" v3="6508" />
+ <tetrahedron index="30275" v0="4927" v1="5672" v2="5821" v3="6825" />
+ <tetrahedron index="30276" v0="5053" v1="5607" v2="6142" v3="6655" />
+ <tetrahedron index="30277" v0="4467" v1="5519" v2="6191" v3="6738" />
+ <tetrahedron index="30278" v0="4369" v1="4370" v2="4625" v3="5650" />
+ <tetrahedron index="30279" v0="5805" v1="6079" v2="6570" v3="6588" />
+ <tetrahedron index="30280" v0="3483" v1="3905" v2="3974" v3="5310" />
+ <tetrahedron index="30281" v0="4959" v1="5133" v2="6061" v3="6066" />
+ <tetrahedron index="30282" v0="5246" v1="6277" v2="6781" v3="6934" />
+ <tetrahedron index="30283" v0="4079" v1="4131" v2="5000" v3="5799" />
+ <tetrahedron index="30284" v0="3652" v1="4426" v2="4510" v3="5777" />
+ <tetrahedron index="30285" v0="4268" v1="5474" v2="5475" v3="5551" />
+ <tetrahedron index="30286" v0="3952" v1="4169" v2="5470" v3="6149" />
+ <tetrahedron index="30287" v0="5613" v1="5876" v2="6288" v3="6515" />
+ <tetrahedron index="30288" v0="4894" v1="6140" v2="6217" v3="6421" />
+ <tetrahedron index="30289" v0="4149" v1="4200" v2="5378" v3="5555" />
+ <tetrahedron index="30290" v0="5056" v1="5609" v2="5867" v3="6107" />
+ <tetrahedron index="30291" v0="3385" v1="3734" v2="5169" v3="6515" />
+ <tetrahedron index="30292" v0="5574" v1="5806" v2="6458" v3="6767" />
+ <tetrahedron index="30293" v0="5572" v1="6634" v2="6903" v3="7029" />
+ <tetrahedron index="30294" v0="5279" v1="5282" v2="5919" v3="5921" />
+ <tetrahedron index="30295" v0="3742" v1="3919" v2="5281" v3="5283" />
+ <tetrahedron index="30296" v0="4979" v1="5456" v2="5703" v3="6335" />
+ <tetrahedron index="30297" v0="4852" v1="5616" v2="6106" v3="6443" />
+ <tetrahedron index="30298" v0="4023" v1="4132" v2="5426" v3="5427" />
+ <tetrahedron index="30299" v0="5142" v1="5862" v2="5920" v3="5922" />
+ <tetrahedron index="30300" v0="3781" v1="4053" v2="5340" v3="6578" />
+ <tetrahedron index="30301" v0="4062" v1="5146" v2="5678" v3="5939" />
+ <tetrahedron index="30302" v0="4089" v1="4204" v2="4322" v3="5430" />
+ <tetrahedron index="30303" v0="3837" v1="4055" v2="5359" v3="5710" />
+ <tetrahedron index="30304" v0="4166" v1="4637" v2="5278" v3="5918" />
+ <tetrahedron index="30305" v0="3613" v1="5158" v2="5473" v3="5766" />
+ <tetrahedron index="30306" v0="4979" v1="5456" v2="5662" v3="6335" />
+ <tetrahedron index="30307" v0="4331" v1="4344" v2="4505" v3="5789" />
+ <tetrahedron index="30308" v0="3567" v1="4201" v2="4260" v3="5681" />
+ <tetrahedron index="30309" v0="5192" v1="5813" v2="6209" v3="6746" />
+ <tetrahedron index="30310" v0="5176" v1="5787" v2="6446" v3="6662" />
+ <tetrahedron index="30311" v0="4165" v1="5280" v2="5917" v3="5918" />
+ <tetrahedron index="30312" v0="4369" v1="5649" v2="5650" v3="6709" />
+ <tetrahedron index="30313" v0="3890" v1="4149" v2="4200" v3="5378" />
+ <tetrahedron index="30314" v0="3944" v1="5240" v2="5870" v3="6506" />
+ <tetrahedron index="30315" v0="5044" v1="5934" v2="5972" v3="5973" />
+ <tetrahedron index="30316" v0="5165" v1="5730" v2="6006" v3="6394" />
+ <tetrahedron index="30317" v0="4970" v1="5992" v2="5994" v3="6667" />
+ <tetrahedron index="30318" v0="4853" v1="5402" v2="5403" v3="6061" />
+ <tetrahedron index="30319" v0="4817" v1="5752" v2="6184" v3="6468" />
+ <tetrahedron index="30320" v0="5009" v1="6189" v2="6591" v3="6624" />
+ <tetrahedron index="30321" v0="6014" v1="6247" v2="6611" v3="6754" />
+ <tetrahedron index="30322" v0="3578" v1="3579" v2="3580" v3="5724" />
+ <tetrahedron index="30323" v0="3479" v1="3482" v2="4687" v3="5206" />
+ <tetrahedron index="30324" v0="4940" v1="5355" v2="5779" v3="6006" />
+ <tetrahedron index="30325" v0="4900" v1="5021" v2="5542" v3="6504" />
+ <tetrahedron index="30326" v0="3452" v1="5114" v2="5242" v3="5871" />
+ <tetrahedron index="30327" v0="3373" v1="3374" v2="3375" v3="6493" />
+ <tetrahedron index="30328" v0="3319" v1="4349" v2="4389" v3="6008" />
+ <tetrahedron index="30329" v0="3522" v1="5240" v2="5866" v3="6108" />
+ <tetrahedron index="30330" v0="5158" v1="5337" v2="5766" v3="5981" />
+ <tetrahedron index="30331" v0="3277" v1="3284" v2="3287" v3="3734" />
+ <tetrahedron index="30332" v0="4857" v1="4951" v2="4973" v3="5383" />
+ <tetrahedron index="30333" v0="3909" v1="4489" v2="5197" v3="5907" />
+ <tetrahedron index="30334" v0="3417" v1="3419" v2="3640" v3="6647" />
+ <tetrahedron index="30335" v0="6947" v1="6999" v2="7025" v3="7026" />
+ <tetrahedron index="30336" v0="3795" v1="5428" v2="6254" v3="6772" />
+ <tetrahedron index="30337" v0="4919" v1="5209" v2="5927" v3="6402" />
+ <tetrahedron index="30338" v0="4092" v1="4100" v2="4101" v3="6406" />
+ <tetrahedron index="30339" v0="5052" v1="5601" v2="6274" v3="6369" />
+ <tetrahedron index="30340" v0="4729" v1="5233" v2="5234" v3="5856" />
+ <tetrahedron index="30341" v0="6260" v1="6773" v2="6976" v3="7020" />
+ <tetrahedron index="30342" v0="4983" v1="5467" v2="5469" v3="5780" />
+ <tetrahedron index="30343" v0="3558" v1="3559" v2="3721" v3="5043" />
+ <tetrahedron index="30344" v0="4322" v1="4556" v2="5426" v3="5430" />
+ <tetrahedron index="30345" v0="4268" v1="4629" v2="5475" v3="5551" />
+ <tetrahedron index="30346" v0="4491" v1="4492" v2="4532" v3="6181" />
+ <tetrahedron index="30347" v0="3490" v1="3572" v2="3863" v3="5262" />
+ <tetrahedron index="30348" v0="5168" v1="6722" v2="6862" v3="6863" />
+ <tetrahedron index="30349" v0="4165" v1="4520" v2="5917" v3="6544" />
+ <tetrahedron index="30350" v0="4900" v1="5238" v2="5863" v3="6505" />
+ <tetrahedron index="30351" v0="3868" v1="4137" v2="5287" v3="5925" />
+ <tetrahedron index="30352" v0="5248" v1="5881" v2="6518" v3="6523" />
+ <tetrahedron index="30353" v0="4359" v1="5096" v2="5684" v3="5701" />
+ <tetrahedron index="30354" v0="4017" v1="5463" v2="5464" v3="5808" />
+ <tetrahedron index="30355" v0="4928" v1="5421" v2="6080" v3="6571" />
+ <tetrahedron index="30356" v0="5144" v1="5560" v2="6331" v3="6820" />
+ <tetrahedron index="30357" v0="4059" v1="4192" v2="4193" v3="5626" />
+ <tetrahedron index="30358" v0="3719" v1="5203" v2="5691" v3="6362" />
+ <tetrahedron index="30359" v0="3408" v1="3643" v2="4068" v3="5293" />
+ <tetrahedron index="30360" v0="3413" v1="3956" v2="4263" v3="5447" />
+ <tetrahedron index="30361" v0="4055" v1="5359" v2="5710" v3="5913" />
+ <tetrahedron index="30362" v0="4975" v1="5056" v2="5867" v3="6108" />
+ <tetrahedron index="30363" v0="4531" v1="4600" v2="4626" v3="6386" />
+ <tetrahedron index="30364" v0="3435" v1="5331" v2="6069" v3="6070" />
+ <tetrahedron index="30365" v0="3354" v1="4182" v2="5117" v3="5664" />
+ <tetrahedron index="30366" v0="4985" v1="5661" v2="6136" v3="6350" />
+ <tetrahedron index="30367" v0="4952" v1="5387" v2="6039" v3="6393" />
+ <tetrahedron index="30368" v0="3610" v1="3961" v2="4102" v3="5122" />
+ <tetrahedron index="30369" v0="3438" v1="3458" v2="3709" v3="5608" />
+ <tetrahedron index="30370" v0="4915" v1="5872" v2="5916" v3="6802" />
+ <tetrahedron index="30371" v0="4552" v1="5181" v2="5792" v3="5793" />
+ <tetrahedron index="30372" v0="3321" v1="5061" v2="5174" v3="5578" />
+ <tetrahedron index="30373" v0="3775" v1="4191" v2="4637" v3="5278" />
+ <tetrahedron index="30374" v0="4300" v1="4788" v2="5212" v3="5831" />
+ <tetrahedron index="30375" v0="4190" v1="4198" v2="5131" v3="6107" />
+ <tetrahedron index="30376" v0="3528" v1="5484" v2="5485" v3="6549" />
+ <tetrahedron index="30377" v0="4986" v1="5476" v2="6140" v3="7012" />
+ <tetrahedron index="30378" v0="4542" v1="4546" v2="6318" v3="6319" />
+ <tetrahedron index="30379" v0="4788" v1="5212" v2="5565" v3="5831" />
+ <tetrahedron index="30380" v0="3736" v1="4242" v2="4748" v3="6015" />
+ <tetrahedron index="30381" v0="4901" v1="5239" v2="5865" v3="5867" />
+ <tetrahedron index="30382" v0="4580" v1="5150" v2="5284" v3="6411" />
+ <tetrahedron index="30383" v0="3813" v1="3814" v2="3968" v3="5129" />
+ <tetrahedron index="30384" v0="4016" v1="4981" v2="5442" v3="5463" />
+ <tetrahedron index="30385" v0="3653" v1="4559" v2="4784" v3="6440" />
+ <tetrahedron index="30386" v0="4041" v1="5565" v2="5831" v3="6238" />
+ <tetrahedron index="30387" v0="4746" v1="4804" v2="5265" v3="6601" />
+ <tetrahedron index="30388" v0="3999" v1="4813" v2="5121" v3="5327" />
+ <tetrahedron index="30389" v0="3388" v1="5048" v2="5118" v3="5592" />
+ <tetrahedron index="30390" v0="4154" v1="4224" v2="4683" v3="5744" />
+ <tetrahedron index="30391" v0="3750" v1="3751" v2="5399" v3="5400" />
+ <tetrahedron index="30392" v0="4233" v1="5802" v2="5803" v3="6454" />
+ <tetrahedron index="30393" v0="3672" v1="4215" v2="4344" v3="5789" />
+ <tetrahedron index="30394" v0="3969" v1="5653" v2="5683" v3="6355" />
+ <tetrahedron index="30395" v0="5397" v1="6052" v2="6053" v3="6638" />
+ <tetrahedron index="30396" v0="5190" v1="5959" v2="6465" v3="6902" />
+ <tetrahedron index="30397" v0="5084" v1="5660" v2="5677" v3="5767" />
+ <tetrahedron index="30398" v0="4095" v1="5279" v2="5282" v3="5919" />
+ <tetrahedron index="30399" v0="3848" v1="4834" v2="5297" v3="5956" />
+ <tetrahedron index="30400" v0="5298" v1="5314" v2="5936" v3="5956" />
+ <tetrahedron index="30401" v0="3948" v1="4039" v2="4040" v3="6282" />
+ <tetrahedron index="30402" v0="3579" v1="5569" v2="5724" v3="6391" />
+ <tetrahedron index="30403" v0="4979" v1="5084" v2="5456" v3="5662" />
+ <tetrahedron index="30404" v0="3257" v1="5046" v2="5587" v3="6259" />
+ <tetrahedron index="30405" v0="3897" v1="5210" v2="5700" v3="6364" />
+ <tetrahedron index="30406" v0="3579" v1="4755" v2="5569" v3="6391" />
+ <tetrahedron index="30407" v0="5631" v1="5983" v2="6553" v3="6807" />
+ <tetrahedron index="30408" v0="5703" v1="6335" v2="6374" v3="6832" />
+ <tetrahedron index="30409" v0="3323" v1="3894" v2="5578" v3="5580" />
+ <tetrahedron index="30410" v0="3319" v1="4234" v2="4898" v3="5633" />
+ <tetrahedron index="30411" v0="3996" v1="4004" v2="5140" v3="5737" />
+ <tetrahedron index="30412" v0="3321" v1="3894" v2="5174" v3="5578" />
+ <tetrahedron index="30413" v0="5065" v1="5631" v2="6194" v3="6555" />
+ <tetrahedron index="30414" v0="4444" v1="4468" v2="6190" v3="6738" />
+ <tetrahedron index="30415" v0="3434" v1="3745" v2="3746" v3="5581" />
+ <tetrahedron index="30416" v0="4142" v1="4163" v2="4768" v3="6017" />
+ <tetrahedron index="30417" v0="3512" v1="4428" v2="5409" v3="6069" />
+ <tetrahedron index="30418" v0="4734" v1="5173" v2="5174" v3="5886" />
+ <tetrahedron index="30419" v0="3455" v1="5207" v2="5927" v3="6371" />
+ <tetrahedron index="30420" v0="4364" v1="5331" v2="5585" v3="6069" />
+ <tetrahedron index="30421" v0="4612" v1="4763" v2="5145" v3="5758" />
+ <tetrahedron index="30422" v0="3443" v1="3824" v2="5091" v3="5791" />
+ <tetrahedron index="30423" v0="3582" v1="3886" v2="4089" v3="6448" />
+ <tetrahedron index="30424" v0="4942" v1="5097" v2="5681" v3="5682" />
+ <tetrahedron index="30425" v0="4753" v1="4822" v2="6142" v3="6998" />
+ <tetrahedron index="30426" v0="3891" v1="5508" v2="5529" v3="6167" />
+ <tetrahedron index="30427" v0="3709" v1="5180" v2="5182" v3="5608" />
+ <tetrahedron index="30428" v0="4932" v1="5326" v2="5970" v3="6575" />
+ <tetrahedron index="30429" v0="4955" v1="6154" v2="6711" v3="6958" />
+ <tetrahedron index="30430" v0="4629" v1="5475" v2="5551" v3="6420" />
+ <tetrahedron index="30431" v0="3249" v1="3264" v2="3501" v3="5622" />
+ <tetrahedron index="30432" v0="5362" v1="5555" v2="6223" v3="6226" />
+ <tetrahedron index="30433" v0="3453" v1="3455" v2="3754" v3="5927" />
+ <tetrahedron index="30434" v0="5008" v1="5515" v2="5517" v3="6187" />
+ <tetrahedron index="30435" v0="3485" v1="4523" v2="4598" v3="5344" />
+ <tetrahedron index="30436" v0="3464" v1="3959" v2="4812" v3="5468" />
+ <tetrahedron index="30437" v0="4106" v1="4185" v2="5191" v3="5813" />
+ <tetrahedron index="30438" v0="4556" v1="4810" v2="5426" v3="5430" />
+ <tetrahedron index="30439" v0="4418" v1="5321" v2="5322" v3="6452" />
+ <tetrahedron index="30440" v0="3248" v1="5214" v2="5832" v3="6479" />
+ <tetrahedron index="30441" v0="4593" v1="4728" v2="4729" v3="5233" />
+ <tetrahedron index="30442" v0="4993" v1="6135" v2="6295" v3="6699" />
+ <tetrahedron index="30443" v0="4965" v1="5847" v2="5849" v3="6496" />
+ <tetrahedron index="30444" v0="4381" v1="4430" v2="4504" v3="5435" />
+ <tetrahedron index="30445" v0="3982" v1="4191" v2="4271" v3="6025" />
+ <tetrahedron index="30446" v0="4451" v1="5250" v2="5884" v3="6525" />
+ <tetrahedron index="30447" v0="3298" v1="3954" v2="4052" v3="5215" />
+ <tetrahedron index="30448" v0="5697" v1="5699" v2="6370" v3="6371" />
+ <tetrahedron index="30449" v0="3519" v1="3520" v2="3530" v3="6410" />
+ <tetrahedron index="30450" v0="4965" v1="5419" v2="5849" v3="6498" />
+ <tetrahedron index="30451" v0="3716" v1="3995" v2="6024" v3="6169" />
+ <tetrahedron index="30452" v0="5280" v1="5860" v2="5918" v3="5922" />
+ <tetrahedron index="30453" v0="3920" v1="4260" v2="4770" v3="6354" />
+ <tetrahedron index="30454" v0="4131" v1="5000" v2="5500" v3="5501" />
+ <tetrahedron index="30455" v0="3310" v1="3627" v2="3628" v3="5373" />
+ <tetrahedron index="30456" v0="3724" v1="3837" v2="4055" v3="5710" />
+ <tetrahedron index="30457" v0="4893" v1="4988" v2="5835" v3="6503" />
+ <tetrahedron index="30458" v0="5528" v1="5554" v2="6227" v3="6755" />
+ <tetrahedron index="30459" v0="3950" v1="5018" v2="5533" v3="6206" />
+ <tetrahedron index="30460" v0="4971" v1="5488" v2="6708" v3="6956" />
+ <tetrahedron index="30461" v0="3490" v1="3723" v2="3863" v3="5897" />
+ <tetrahedron index="30462" v0="3417" v1="3570" v2="4274" v3="5228" />
+ <tetrahedron index="30463" v0="4103" v1="5450" v2="5451" v3="6111" />
+ <tetrahedron index="30464" v0="3360" v1="4098" v2="4168" v3="6824" />
+ <tetrahedron index="30465" v0="3363" v1="3676" v2="3820" v3="6345" />
+ <tetrahedron index="30466" v0="3614" v1="5532" v2="5766" v3="6205" />
+ <tetrahedron index="30467" v0="5473" v1="5702" v2="6138" v3="6831" />
+ <tetrahedron index="30468" v0="4900" v1="5236" v2="5237" v3="5861" />
+ <tetrahedron index="30469" v0="4940" v1="5354" v2="5355" v3="5779" />
+ <tetrahedron index="30470" v0="5629" v1="5653" v2="5912" v3="5914" />
+ <tetrahedron index="30471" v0="4891" v1="5211" v2="5830" v3="6329" />
+ <tetrahedron index="30472" v0="3961" v1="4142" v2="4143" v3="6383" />
+ <tetrahedron index="30473" v0="3841" v1="3842" v2="4586" v3="5425" />
+ <tetrahedron index="30474" v0="4276" v1="4277" v2="5756" v3="6416" />
+ <tetrahedron index="30475" v0="3518" v1="4814" v2="4817" v3="6468" />
+ <tetrahedron index="30476" v0="4960" v1="5067" v2="5408" v3="6067" />
+ <tetrahedron index="30477" v0="4198" v1="4199" v2="5131" v3="5609" />
+ <tetrahedron index="30478" v0="3318" v1="3320" v2="4104" v3="4898" />
+ <tetrahedron index="30479" v0="5080" v1="5115" v2="5655" v3="5908" />
+ <tetrahedron index="30480" v0="3401" v1="3615" v2="5114" v3="5208" />
+ <tetrahedron index="30481" v0="4050" v1="4517" v2="4528" v3="5186" />
+ <tetrahedron index="30482" v0="3463" v1="3654" v2="4330" v3="6134" />
+ <tetrahedron index="30483" v0="3319" v1="3320" v2="4234" v3="4898" />
+ <tetrahedron index="30484" v0="4104" v1="4460" v2="4790" v3="4898" />
+ <tetrahedron index="30485" v0="3986" v1="5080" v2="6333" v3="6821" />
+ <tetrahedron index="30486" v0="4513" v1="5372" v2="5506" v3="6546" />
+ <tetrahedron index="30487" v0="4084" v1="4234" v2="4790" v3="4898" />
+ <tetrahedron index="30488" v0="4659" v1="4741" v2="5460" v3="6692" />
+ <tetrahedron index="30489" v0="4084" v1="4460" v2="4790" v3="4898" />
+ <tetrahedron index="30490" v0="4910" v1="5262" v2="6533" v3="6615" />
+ <tetrahedron index="30491" v0="3388" v1="4412" v2="4571" v3="5592" />
+ <tetrahedron index="30492" v0="5817" v1="6462" v2="6868" v3="6872" />
+ <tetrahedron index="30493" v0="5152" v1="6224" v2="6750" v3="6972" />
+ <tetrahedron index="30494" v0="4901" v1="5448" v2="5867" v3="6108" />
+ <tetrahedron index="30495" v0="4868" v1="5083" v2="6204" v3="6373" />
+ <tetrahedron index="30496" v0="4002" v1="4003" v2="4130" v3="5700" />
+ <tetrahedron index="30497" v0="5590" v1="6266" v2="6562" v3="6564" />
+ <tetrahedron index="30498" v0="3526" v1="4992" v2="5201" v3="5485" />
+ <tetrahedron index="30499" v0="4608" v1="5093" v2="5677" v3="6349" />
+ <tetrahedron index="30500" v0="3973" v1="4865" v2="5011" v3="6423" />
+ <tetrahedron index="30501" v0="3325" v1="5172" v2="5785" v3="5787" />
+ <tetrahedron index="30502" v0="6209" v1="6461" v2="6745" v3="6969" />
+ <tetrahedron index="30503" v0="3402" v1="3615" v2="5208" v3="5209" />
+ <tetrahedron index="30504" v0="4665" v1="5057" v2="5610" v3="5900" />
+ <tetrahedron index="30505" v0="4930" v1="6720" v2="6721" v3="6880" />
+ <tetrahedron index="30506" v0="5129" v1="5729" v2="6393" v3="6618" />
+ <tetrahedron index="30507" v0="5021" v1="5218" v2="5859" v3="6503" />
+ <tetrahedron index="30508" v0="4863" v1="5439" v2="5503" v3="6097" />
+ <tetrahedron index="30509" v0="4891" v1="5213" v2="6760" v3="6830" />
+ <tetrahedron index="30510" v0="3705" v1="3984" v2="5851" v3="6497" />
+ <tetrahedron index="30511" v0="3236" v1="3237" v2="3238" v3="5258" />
+ <tetrahedron index="30512" v0="5006" v1="5879" v2="5881" v3="6518" />
+ <tetrahedron index="30513" v0="4313" v1="4529" v2="5500" v3="6453" />
+ <tetrahedron index="30514" v0="4614" v1="6074" v2="6653" v3="6867" />
+ <tetrahedron index="30515" v0="4039" v1="4040" v2="5606" v3="6282" />
+ <tetrahedron index="30516" v0="4009" v1="5501" v2="5799" v3="6455" />
+ <tetrahedron index="30517" v0="5604" v1="5606" v2="6283" v3="6284" />
+ <tetrahedron index="30518" v0="4947" v1="5003" v2="5929" v3="6024" />
+ <tetrahedron index="30519" v0="3460" v1="5527" v2="5807" v3="6285" />
+ <tetrahedron index="30520" v0="3583" v1="3885" v2="3886" v3="4208" />
+ <tetrahedron index="30521" v0="3457" v1="3885" v2="3886" v3="4208" />
+ <tetrahedron index="30522" v0="4877" v1="5061" v2="5619" v3="5886" />
+ <tetrahedron index="30523" v0="3732" v1="5014" v2="5723" v3="6389" />
+ <tetrahedron index="30524" v0="5372" v1="5506" v2="6022" v3="6546" />
+ <tetrahedron index="30525" v0="3352" v1="3353" v2="3430" v3="6337" />
+ <tetrahedron index="30526" v0="4941" v1="6011" v2="6606" v3="6610" />
+ <tetrahedron index="30527" v0="5094" v1="5833" v2="5939" v3="6479" />
+ <tetrahedron index="30528" v0="5604" v1="5605" v2="6283" v3="6284" />
+ <tetrahedron index="30529" v0="4587" v1="5749" v2="6470" v3="6599" />
+ <tetrahedron index="30530" v0="4987" v1="5602" v2="6277" v3="6781" />
+ <tetrahedron index="30531" v0="5517" v1="5518" v2="6183" v3="6185" />
+ <tetrahedron index="30532" v0="3621" v1="5166" v2="5842" v3="6630" />
+ <tetrahedron index="30533" v0="5364" v1="5845" v2="6493" v3="6884" />
+ <tetrahedron index="30534" v0="4206" v1="4235" v2="5567" v3="5688" />
+ <tetrahedron index="30535" v0="4581" v1="4711" v2="4814" v3="5752" />
+ <tetrahedron index="30536" v0="6098" v1="6560" v2="6943" v3="7014" />
+ <tetrahedron index="30537" v0="4953" v1="5809" v2="6623" v3="6969" />
+ <tetrahedron index="30538" v0="3691" v1="4048" v2="5187" v3="5802" />
+ <tetrahedron index="30539" v0="4228" v1="5436" v2="6090" v3="6415" />
+ <tetrahedron index="30540" v0="3241" v1="5272" v2="5692" v3="6178" />
+ <tetrahedron index="30541" v0="5959" v1="6246" v2="6569" v3="6853" />
+ <tetrahedron index="30542" v0="3707" v1="4087" v2="4445" v3="6415" />
+ <tetrahedron index="30543" v0="3471" v1="3472" v2="5093" v3="5662" />
+ <tetrahedron index="30544" v0="3767" v1="5829" v2="6364" v3="6478" />
+ <tetrahedron index="30545" v0="3242" v1="4595" v2="5220" v3="5839" />
+ <tetrahedron index="30546" v0="3472" v1="5084" v2="5093" v3="5662" />
+ <tetrahedron index="30547" v0="6053" v1="6260" v2="6638" v3="6976" />
+ <tetrahedron index="30548" v0="4992" v1="5483" v2="5741" v3="6065" />
+ <tetrahedron index="30549" v0="6612" v1="6685" v2="6796" v3="6941" />
+ <tetrahedron index="30550" v0="3521" v1="3524" v2="6009" v3="6606" />
+ <tetrahedron index="30551" v0="4980" v1="5458" v2="6122" v3="6126" />
+ <tetrahedron index="30552" v0="3468" v1="3740" v2="3862" v3="5165" />
+ <tetrahedron index="30553" v0="4947" v1="5087" v2="5929" v3="6546" />
+ <tetrahedron index="30554" v0="4047" v1="4049" v2="5077" v3="5802" />
+ <tetrahedron index="30555" v0="4973" v1="5442" v2="5444" v3="6102" />
+ <tetrahedron index="30556" v0="3283" v1="3387" v2="4005" v3="5116" />
+ <tetrahedron index="30557" v0="3352" v1="3882" v2="5664" v3="6338" />
+ <tetrahedron index="30558" v0="3233" v1="3235" v2="3344" v3="5776" />
+ <tetrahedron index="30559" v0="3667" v1="4372" v2="4466" v3="5171" />
+ <tetrahedron index="30560" v0="5114" v1="5828" v2="5871" v3="6511" />
+ <tetrahedron index="30561" v0="5690" v1="5822" v2="6476" v3="6823" />
+ <tetrahedron index="30562" v0="4891" v1="5213" v2="6369" v3="6830" />
+ <tetrahedron index="30563" v0="3626" v1="3697" v2="4055" v3="5913" />
+ <tetrahedron index="30564" v0="5475" v1="5756" v2="6420" v3="6849" />
+ <tetrahedron index="30565" v0="4673" v1="5121" v2="5655" v3="5711" />
+ <tetrahedron index="30566" v0="4305" v1="5153" v2="5754" v3="6416" />
+ <tetrahedron index="30567" v0="4300" v1="5566" v2="5831" v3="6238" />
+ <tetrahedron index="30568" v0="4011" v1="4012" v2="5230" v3="6339" />
+ <tetrahedron index="30569" v0="5365" v1="6671" v2="6942" v3="7026" />
+ <tetrahedron index="30570" v0="3774" v1="3982" v2="5282" v3="5920" />
+ <tetrahedron index="30571" v0="4943" v1="5360" v2="6013" v3="6229" />
+ <tetrahedron index="30572" v0="5003" v1="5506" v2="5929" v3="6546" />
+ <tetrahedron index="30573" v0="3848" v1="4750" v2="4834" v3="5313" />
+ <tetrahedron index="30574" v0="3402" v1="3407" v2="5209" v3="5288" />
+ <tetrahedron index="30575" v0="3359" v1="3421" v2="3422" v3="5314" />
+ <tetrahedron index="30576" v0="4297" v1="4298" v2="4359" v3="5684" />
+ <tetrahedron index="30577" v0="4095" v1="4407" v2="4703" v3="5376" />
+ <tetrahedron index="30578" v0="5359" v1="5710" v2="6353" v3="6664" />
+ <tetrahedron index="30579" v0="3356" v1="5226" v2="5850" v3="6496" />
+ <tetrahedron index="30580" v0="4420" v1="4621" v2="4622" v3="5010" />
+ <tetrahedron index="30581" v0="3776" v1="3777" v2="6490" v3="6809" />
+ <tetrahedron index="30582" v0="3446" v1="3693" v2="4242" v3="5364" />
+ <tetrahedron index="30583" v0="5229" v1="5230" v2="5666" v3="6339" />
+ <tetrahedron index="30584" v0="4159" v1="4632" v2="5073" v3="5468" />
+ <tetrahedron index="30585" v0="5020" v1="5539" v2="6211" v3="6749" />
+ <tetrahedron index="30586" v0="4739" v1="4803" v2="5081" v3="5561" />
+ <tetrahedron index="30587" v0="3582" v1="3583" v2="3886" v3="5733" />
+ <tetrahedron index="30588" v0="4169" v1="5470" v2="6135" v3="6149" />
+ <tetrahedron index="30589" v0="3590" v1="3591" v2="5212" v3="5685" />
+ <tetrahedron index="30590" v0="4890" v1="5698" v2="5700" v3="6372" />
+ <tetrahedron index="30591" v0="4266" v1="4493" v2="4820" v3="5343" />
+ <tetrahedron index="30592" v0="5012" v1="5524" v2="5759" v3="6424" />
+ <tetrahedron index="30593" v0="3916" v1="5325" v2="5934" v3="5972" />
+ <tetrahedron index="30594" v0="3982" v1="5278" v2="5282" v3="5920" />
+ <tetrahedron index="30595" v0="3732" v1="3733" v2="4017" v3="5463" />
+ <tetrahedron index="30596" v0="3859" v1="3932" v2="4150" v3="5332" />
+ <tetrahedron index="30597" v0="5014" v1="5527" v2="5723" v3="6117" />
+ <tetrahedron index="30598" v0="4934" v1="5337" v2="5981" v3="6743" />
+ <tetrahedron index="30599" v0="4761" v1="5026" v2="5553" v3="6029" />
+ <tetrahedron index="30600" v0="3309" v1="3686" v2="3846" v3="5933" />
+ <tetrahedron index="30601" v0="5176" v1="5427" v2="5787" v3="6662" />
+ <tetrahedron index="30602" v0="4152" v1="4690" v2="4691" v3="5099" />
+ <tetrahedron index="30603" v0="4855" v1="4929" v2="5319" v3="5483" />
+ <tetrahedron index="30604" v0="3550" v1="3551" v2="4214" v3="5385" />
+ <tetrahedron index="30605" v0="3868" v1="4136" v2="4137" v3="5925" />
+ <tetrahedron index="30606" v0="3963" v1="3964" v2="3965" v3="6403" />
+ <tetrahedron index="30607" v0="4886" v1="5081" v2="5656" v3="6817" />
+ <tetrahedron index="30608" v0="3632" v1="3633" v2="4647" v3="6433" />
+ <tetrahedron index="30609" v0="3687" v1="4669" v2="5061" v3="5652" />
+ <tetrahedron index="30610" v0="5031" v1="5564" v2="5565" v3="6237" />
+ <tetrahedron index="30611" v0="3582" v1="3583" v2="4275" v3="5733" />
+ <tetrahedron index="30612" v0="3339" v1="4485" v2="5334" v3="6350" />
+ <tetrahedron index="30613" v0="4877" v1="4998" v2="5171" v3="6447" />
+ <tetrahedron index="30614" v0="3425" v1="3516" v2="4550" v3="5017" />
+ <tetrahedron index="30615" v0="4091" v1="4775" v2="4829" v3="6248" />
+ <tetrahedron index="30616" v0="3546" v1="3675" v2="5257" v3="5544" />
+ <tetrahedron index="30617" v0="4877" v1="5173" v2="5619" v3="5885" />
+ <tetrahedron index="30618" v0="4920" v1="5291" v2="5294" v3="5933" />
+ <tetrahedron index="30619" v0="3311" v1="3643" v2="4068" v3="5291" />
+ <tetrahedron index="30620" v0="3460" v1="3896" v2="5527" v3="6459" />
+ <tetrahedron index="30621" v0="3737" v1="4186" v2="4575" v3="6700" />
+ <tetrahedron index="30622" v0="4964" v1="6118" v2="6122" v3="6691" />
+ <tetrahedron index="30623" v0="3555" v1="3557" v2="3641" v3="5432" />
+ <tetrahedron index="30624" v0="4936" v1="6044" v2="6625" v3="6807" />
+ <tetrahedron index="30625" v0="4915" v1="5274" v2="5276" v3="5914" />
+ <tetrahedron index="30626" v0="3431" v1="3505" v2="3858" v3="5410" />
+ <tetrahedron index="30627" v0="5060" v1="5618" v2="6583" v3="6706" />
+ <tetrahedron index="30628" v0="3391" v1="3393" v2="4181" v3="5277" />
+ <tetrahedron index="30629" v0="3470" v1="3472" v2="5084" v3="5662" />
+ <tetrahedron index="30630" v0="3806" v1="4141" v2="5039" v3="5968" />
+ <tetrahedron index="30631" v0="4523" v1="4597" v2="4598" v3="5344" />
+ <tetrahedron index="30632" v0="5141" v1="5332" v2="5976" v3="6027" />
+ <tetrahedron index="30633" v0="3882" v1="4182" v2="5085" v3="5664" />
+ <tetrahedron index="30634" v0="4958" v1="5401" v2="6059" v3="6647" />
+ <tetrahedron index="30635" v0="3272" v1="4076" v2="4539" v3="5535" />
+ <tetrahedron index="30636" v0="4013" v1="4163" v2="4762" v3="5719" />
+ <tetrahedron index="30637" v0="3560" v1="5043" v2="5642" v3="5933" />
+ <tetrahedron index="30638" v0="3559" v1="3722" v2="3847" v3="5932" />
+ <tetrahedron index="30639" v0="3586" v1="4615" v2="4819" v3="5098" />
+ <tetrahedron index="30640" v0="3279" v1="5320" v2="5965" v3="6058" />
+ <tetrahedron index="30641" v0="4140" v1="4563" v2="4689" v3="5536" />
+ <tetrahedron index="30642" v0="4047" v1="4069" v2="4667" v3="5077" />
+ <tetrahedron index="30643" v0="3388" v1="3977" v2="4261" v3="5118" />
+ <tetrahedron index="30644" v0="4402" v1="4566" v2="5136" v3="5734" />
+ <tetrahedron index="30645" v0="4934" v1="5333" v2="5336" v3="5979" />
+ <tetrahedron index="30646" v0="3846" v1="4500" v2="4513" v3="5506" />
+ <tetrahedron index="30647" v0="4124" v1="4125" v2="5433" v3="6094" />
+ <tetrahedron index="30648" v0="4851" v1="5146" v2="5147" v3="5939" />
+ <tetrahedron index="30649" v0="4301" v1="5589" v2="6261" v3="6486" />
+ <tetrahedron index="30650" v0="4914" v1="5273" v2="5909" v3="5911" />
+ <tetrahedron index="30651" v0="3362" v1="3730" v2="5312" v3="5955" />
+ <tetrahedron index="30652" v0="4985" v1="5472" v2="5772" v3="6436" />
+ <tetrahedron index="30653" v0="3303" v1="3860" v2="3983" v3="5124" />
+ <tetrahedron index="30654" v0="3283" v1="5007" v2="5116" v3="5514" />
+ <tetrahedron index="30655" v0="3496" v1="3558" v2="4263" v3="5775" />
+ <tetrahedron index="30656" v0="5362" v1="5552" v2="5555" v3="6223" />
+ <tetrahedron index="30657" v0="3650" v1="5417" v2="5418" v3="5420" />
+ <tetrahedron index="30658" v0="5128" v1="5407" v2="5726" v3="6066" />
+ <tetrahedron index="30659" v0="4109" v1="4179" v2="5185" v3="5797" />
+ <tetrahedron index="30660" v0="3585" v1="3586" v2="4658" v3="5302" />
+ <tetrahedron index="30661" v0="3962" v1="4762" v2="5198" v3="5719" />
+ <tetrahedron index="30662" v0="3752" v1="4105" v2="4574" v3="5211" />
+ <tetrahedron index="30663" v0="5415" v1="5606" v2="6283" v3="6284" />
+ <tetrahedron index="30664" v0="4858" v1="5150" v2="5750" v3="6186" />
+ <tetrahedron index="30665" v0="6224" v1="6632" v2="6636" v3="6751" />
+ <tetrahedron index="30666" v0="5632" v1="6194" v2="6195" v3="6310" />
+ <tetrahedron index="30667" v0="3303" v1="3983" v2="5124" v3="5721" />
+ <tetrahedron index="30668" v0="3500" v1="4274" v2="5200" v3="6500" />
+ <tetrahedron index="30669" v0="4153" v1="5486" v2="6135" v3="6149" />
+ <tetrahedron index="30670" v0="3266" v1="3267" v2="4959" v3="5404" />
+ <tetrahedron index="30671" v0="3881" v1="6012" v2="6093" v3="6669" />
+ <tetrahedron index="30672" v0="3718" v1="4075" v2="4650" v3="5105" />
+ <tetrahedron index="30673" v0="4029" v1="5383" v2="6036" v3="6514" />
+ <tetrahedron index="30674" v0="4472" v1="4596" v2="5517" v3="6184" />
+ <tetrahedron index="30675" v0="4853" v1="4959" v2="6061" v3="6066" />
+ <tetrahedron index="30676" v0="5075" v1="5252" v2="5652" v3="6526" />
+ <tetrahedron index="30677" v0="4953" v1="6043" v2="6464" v3="6623" />
+ <tetrahedron index="30678" v0="4278" v1="4424" v2="5388" v3="6619" />
+ <tetrahedron index="30679" v0="3502" v1="3814" v2="5151" v3="5384" />
+ <tetrahedron index="30680" v0="4806" v1="5057" v2="6602" v3="6603" />
+ <tetrahedron index="30681" v0="3254" v1="3818" v2="3870" v3="5729" />
+ <tetrahedron index="30682" v0="3968" v1="5129" v2="5384" v3="5385" />
+ <tetrahedron index="30683" v0="4304" v1="4305" v2="4541" v3="5754" />
+ <tetrahedron index="30684" v0="4010" v1="4592" v2="5079" v3="5804" />
+ <tetrahedron index="30685" v0="6139" v1="6907" v2="7005" v3="7006" />
+ <tetrahedron index="30686" v0="4933" v1="5045" v2="5329" v3="5585" />
+ <tetrahedron index="30687" v0="4508" v1="4598" v2="5482" v3="5988" />
+ <tetrahedron index="30688" v0="4202" v1="5368" v2="6019" v3="6614" />
+ <tetrahedron index="30689" v0="3739" v1="3749" v2="3795" v3="5579" />
+ <tetrahedron index="30690" v0="4857" v1="5403" v2="6444" v3="6648" />
+ <tetrahedron index="30691" v0="3963" v1="4972" v2="5937" v3="6403" />
+ <tetrahedron index="30692" v0="3278" v1="3282" v2="5128" v3="5133" />
+ <tetrahedron index="30693" v0="5347" v1="5599" v2="6271" v3="6668" />
+ <tetrahedron index="30694" v0="5054" v1="5608" v2="5696" v3="5848" />
+ <tetrahedron index="30695" v0="4158" v1="4173" v2="4237" v3="5650" />
+ <tetrahedron index="30696" v0="4254" v1="4798" v2="5024" v3="6196" />
+ <tetrahedron index="30697" v0="3412" v1="3413" v2="3956" v3="5447" />
+ <tetrahedron index="30698" v0="3324" v1="5427" v2="5429" v3="6086" />
+ <tetrahedron index="30699" v0="5610" v1="6013" v2="6229" v3="6592" />
+ <tetrahedron index="30700" v0="3685" v1="5243" v2="5829" v3="6512" />
+ <tetrahedron index="30701" v0="3312" v1="3313" v2="4738" v3="5601" />
+ <tetrahedron index="30702" v0="3779" v1="3781" v2="5987" v3="6578" />
+ <tetrahedron index="30703" v0="3385" v1="4717" v2="6180" v3="6889" />
+ <tetrahedron index="30704" v0="4377" v1="4434" v2="5092" v3="5837" />
+ <tetrahedron index="30705" v0="4899" v1="5232" v2="5899" v3="6502" />
+ <tetrahedron index="30706" v0="5411" v1="6125" v2="6127" v3="6725" />
+ <tetrahedron index="30707" v0="3337" v1="4608" v2="4638" v3="6349" />
+ <tetrahedron index="30708" v0="4645" v1="4646" v2="5174" v3="5886" />
+ <tetrahedron index="30709" v0="4919" v1="5698" v2="5927" v3="6402" />
+ <tetrahedron index="30710" v0="4530" v1="5525" v2="6197" v3="6452" />
+ <tetrahedron index="30711" v0="5084" v1="5456" v2="5662" v3="5773" />
+ <tetrahedron index="30712" v0="3303" v1="3970" v2="3983" v3="5721" />
+ <tetrahedron index="30713" v0="3963" v1="4972" v2="6403" v3="6404" />
+ <tetrahedron index="30714" v0="3924" v1="4515" v2="5790" v3="5793" />
+ <tetrahedron index="30715" v0="5092" v1="5686" v2="5687" v3="5837" />
+ <tetrahedron index="30716" v0="4636" v1="4794" v2="5260" v3="5857" />
+ <tetrahedron index="30717" v0="3780" v1="5393" v2="6248" v3="6904" />
+ <tetrahedron index="30718" v0="4500" v1="4513" v2="5506" v3="6022" />
+ <tetrahedron index="30719" v0="4993" v1="5486" v2="5742" v3="6406" />
+ <tetrahedron index="30720" v0="4515" v1="5072" v2="5790" v3="5793" />
+ <tetrahedron index="30721" v0="3263" v1="5455" v2="5504" v3="6168" />
+ <tetrahedron index="30722" v0="3475" v1="4182" v2="5117" v3="5663" />
+ <tetrahedron index="30723" v0="4234" v1="4719" v2="5612" v3="5633" />
+ <tetrahedron index="30724" v0="3868" v1="4136" v2="4381" v3="5960" />
+ <tetrahedron index="30725" v0="4206" v1="4355" v2="5032" v3="5688" />
+ <tetrahedron index="30726" v0="5145" v1="5483" v2="5741" v3="6422" />
+ <tetrahedron index="30727" v0="3876" v1="5099" v2="5611" v3="6607" />
+ <tetrahedron index="30728" v0="5015" v1="5528" v2="6202" v3="6716" />
+ <tetrahedron index="30729" v0="6118" v1="6120" v2="6690" v3="6834" />
+ <tetrahedron index="30730" v0="3723" v1="3845" v2="5261" v3="6502" />
+ <tetrahedron index="30731" v0="4993" v1="5106" v2="6149" v3="6953" />
+ <tetrahedron index="30732" v0="4850" v1="5461" v2="6442" v3="6694" />
+ <tetrahedron index="30733" v0="4012" v1="4013" v2="4213" v3="5229" />
+ <tetrahedron index="30734" v0="3365" v1="3366" v2="4101" v3="5106" />
+ <tetrahedron index="30735" v0="4395" v1="5292" v2="5930" v3="6547" />
+ <tetrahedron index="30736" v0="3926" v1="4675" v2="5138" v3="5326" />
+ <tetrahedron index="30737" v0="3537" v1="3916" v2="4727" v3="5325" />
+ <tetrahedron index="30738" v0="3897" v1="4602" v2="5700" v3="6364" />
+ <tetrahedron index="30739" v0="4341" v1="4471" v2="5510" v3="6185" />
+ <tetrahedron index="30740" v0="4887" v1="5200" v2="5818" v3="6388" />
+ <tetrahedron index="30741" v0="3913" v1="3915" v2="3916" v3="6381" />
+ <tetrahedron index="30742" v0="4600" v1="5718" v2="6017" v3="6386" />
+ <tetrahedron index="30743" v0="4193" v1="5413" v2="5414" v3="5626" />
+ <tetrahedron index="30744" v0="3814" v1="3968" v2="5129" v3="5384" />
+ <tetrahedron index="30745" v0="4899" v1="5101" v2="5854" v3="6358" />
+ <tetrahedron index="30746" v0="4390" v1="5415" v2="6195" v3="6313" />
+ <tetrahedron index="30747" v0="5996" v1="6407" v2="6723" v3="6848" />
+ <tetrahedron index="30748" v0="3284" v1="4974" v2="5059" v3="5382" />
+ <tetrahedron index="30749" v0="3932" v1="4557" v2="5141" v3="6027" />
+ <tetrahedron index="30750" v0="3444" v1="5324" v2="5971" v3="6575" />
+ <tetrahedron index="30751" v0="4870" v1="5070" v2="5161" v3="5643" />
+ <tetrahedron index="30752" v0="4876" v1="5783" v2="6294" v3="6679" />
+ <tetrahedron index="30753" v0="3849" v1="4834" v2="5297" v3="5956" />
+ <tetrahedron index="30754" v0="5279" v1="5281" v2="5919" v3="5921" />
+ <tetrahedron index="30755" v0="4262" v1="4432" v2="4437" v3="6335" />
+ <tetrahedron index="30756" v0="4846" v1="5758" v2="5759" v3="6820" />
+ <tetrahedron index="30757" v0="4027" v1="4104" v2="4801" v3="5658" />
+ <tetrahedron index="30758" v0="6139" v1="6582" v2="6907" v3="7006" />
+ <tetrahedron index="30759" v0="3697" v1="5274" v2="5913" v3="6354" />
+ <tetrahedron index="30760" v0="5024" v1="5548" v2="6198" v3="6739" />
+ <tetrahedron index="30761" v0="6001" v1="6408" v2="6840" v3="6868" />
+ <tetrahedron index="30762" v0="4522" v1="4657" v2="5184" v3="6164" />
+ <tetrahedron index="30763" v0="3766" v1="3897" v2="5210" v3="5825" />
+ <tetrahedron index="30764" v0="4972" v1="5740" v2="6403" v3="6404" />
+ <tetrahedron index="30765" v0="3694" v1="4758" v2="5970" v3="6574" />
+ <tetrahedron index="30766" v0="5037" v1="5575" v2="6545" v3="6581" />
+ <tetrahedron index="30767" v0="4860" v1="6224" v2="6632" v3="6750" />
+ <tetrahedron index="30768" v0="4597" v1="4820" v2="5343" v3="5924" />
+ <tetrahedron index="30769" v0="4970" v1="5436" v2="6090" v3="6092" />
+ <tetrahedron index="30770" v0="4912" v1="5041" v2="5266" v3="5962" />
+ <tetrahedron index="30771" v0="4950" v1="6243" v2="6656" v3="6657" />
+ <tetrahedron index="30772" v0="4086" v1="4136" v2="4294" v3="5925" />
+ <tetrahedron index="30773" v0="5188" v1="5805" v2="6457" v3="6458" />
+ <tetrahedron index="30774" v0="5398" v1="5965" v2="6058" v3="6572" />
+ <tetrahedron index="30775" v0="5599" v1="5991" v2="6587" v3="6590" />
+ <tetrahedron index="30776" v0="4938" v1="5599" v2="6270" v3="6590" />
+ <tetrahedron index="30777" v0="4913" v1="6536" v2="6893" v3="6942" />
+ <tetrahedron index="30778" v0="4679" v1="4785" v2="5041" v3="5962" />
+ <tetrahedron index="30779" v0="4252" v1="4253" v2="5577" v3="6253" />
+ <tetrahedron index="30780" v0="6291" v1="6794" v2="6897" v3="6942" />
+ <tetrahedron index="30781" v0="4943" v1="5347" v2="6271" v3="6668" />
+ <tetrahedron index="30782" v0="4957" v1="5137" v2="5398" v3="6572" />
+ <tetrahedron index="30783" v0="3486" v1="4081" v2="5422" v3="5961" />
+ <tetrahedron index="30784" v0="3911" v1="3912" v2="5138" v3="6574" />
+ <tetrahedron index="30785" v0="5341" v1="5747" v2="5985" v3="6900" />
+ <tetrahedron index="30786" v0="3782" v1="3785" v2="5747" v3="5986" />
+ <tetrahedron index="30787" v0="3991" v1="4399" v2="6553" v3="6580" />
+ <tetrahedron index="30788" v0="4209" v1="5305" v2="6553" v3="6580" />
+ <tetrahedron index="30789" v0="5305" v1="6033" v2="6552" v3="6580" />
+ <tetrahedron index="30790" v0="5929" v1="5931" v2="6340" v3="6546" />
+ <tetrahedron index="30791" v0="3310" v1="3628" v2="5931" v3="6546" />
+ <tetrahedron index="30792" v0="4947" v1="5372" v2="5373" v3="6546" />
+ <tetrahedron index="30793" v0="3310" v1="5506" v2="5931" v3="6546" />
+ <tetrahedron index="30794" v0="3754" v1="5289" v2="5927" v3="6371" />
+ <tetrahedron index="30795" v0="5109" v1="5289" v2="5697" v3="6371" />
+ <tetrahedron index="30796" v0="5414" v1="6073" v2="6074" v3="6653" />
+ <tetrahedron index="30797" v0="5144" v1="5740" v2="5758" v3="6820" />
+ <tetrahedron index="30798" v0="4919" v1="5697" v2="6370" v3="6371" />
+ <tetrahedron index="30799" v0="4822" v1="5604" v2="6142" v3="6998" />
+ <tetrahedron index="30800" v0="5463" v1="6120" v2="6696" v3="6952" />
+ <tetrahedron index="30801" v0="4920" v1="5043" v2="5294" v3="6548" />
+ <tetrahedron index="30802" v0="4583" v1="5646" v2="5647" v3="6341" />
+ <tetrahedron index="30803" v0="4583" v1="4708" v2="4778" v3="6341" />
+ <tetrahedron index="30804" v0="3847" v1="4481" v2="4500" v3="5932" />
+ <tetrahedron index="30805" v0="4854" v1="5745" v2="6083" v3="6550" />
+ <tetrahedron index="30806" v0="3528" v1="3529" v2="5484" v3="6549" />
+ <tetrahedron index="30807" v0="3722" v1="3987" v2="4481" v3="5932" />
+ <tetrahedron index="30808" v0="4947" v1="5373" v2="5667" v3="6023" />
+ <tetrahedron index="30809" v0="4150" v1="4557" v2="4703" v3="6027" />
+ <tetrahedron index="30810" v0="4948" v1="5375" v2="5377" v3="6025" />
+ <tetrahedron index="30811" v0="4452" v1="5280" v2="5281" v3="6544" />
+ <tetrahedron index="30812" v0="4452" v1="5280" v2="5917" v3="6544" />
+ <tetrahedron index="30813" v0="4972" v1="5441" v2="5937" v3="6549" />
+ <tetrahedron index="30814" v0="4972" v1="5937" v2="6101" v3="6549" />
+ <tetrahedron index="30815" v0="3987" v1="5003" v2="5505" v3="5932" />
+ <tetrahedron index="30816" v0="3604" v1="5281" v2="6028" v3="6544" />
+ <tetrahedron index="30817" v0="5377" v1="5917" v2="5921" v3="6544" />
+ <tetrahedron index="30818" v0="4920" v1="5506" v2="5929" v3="5931" />
+ <tetrahedron index="30819" v0="4920" v1="5291" v2="5293" v3="5931" />
+ <tetrahedron index="30820" v0="4920" v1="5293" v2="5929" v3="5931" />
+ <tetrahedron index="30821" v0="3722" v1="3869" v2="3987" v3="5932" />
+ <tetrahedron index="30822" v0="3869" v1="3987" v2="5505" v3="5932" />
+ <tetrahedron index="30823" v0="3529" v1="5441" v2="5484" v3="6549" />
+ <tetrahedron index="30824" v0="5148" v1="5745" v2="6083" v3="6550" />
+ <tetrahedron index="30825" v0="3528" v1="3529" v2="4016" v3="6549" />
+ <tetrahedron index="30826" v0="3309" v1="3846" v2="5294" v3="5933" />
+ <tetrahedron index="30827" v0="3560" v1="3686" v2="3803" v3="5933" />
+ <tetrahedron index="30828" v0="3559" v1="5043" v2="5294" v3="5933" />
+ <tetrahedron index="30829" v0="3559" v1="3803" v2="5294" v3="5933" />
+ <tetrahedron index="30830" v0="3686" v1="3803" v2="3846" v3="5933" />
+ <tetrahedron index="30831" v0="3803" v1="3846" v2="5294" v3="5933" />
+ <tetrahedron index="30832" v0="3559" v1="3560" v2="3803" v3="5933" />
+ <tetrahedron index="30833" v0="3559" v1="3560" v2="5043" v3="5933" />
+ <tetrahedron index="30834" v0="3916" v1="3926" v2="4168" v3="5934" />
+ <tetrahedron index="30835" v0="5367" v1="5792" v2="6018" v3="6382" />
+ <tetrahedron index="30836" v0="4879" v1="5108" v2="6365" v3="6382" />
+ <tetrahedron index="30837" v0="3361" v1="3480" v2="5671" v3="6343" />
+ <tetrahedron index="30838" v0="3480" v1="5089" v2="5671" v3="6343" />
+ <tetrahedron index="30839" v0="3538" v1="5295" v2="5584" v3="5934" />
+ <tetrahedron index="30840" v0="3916" v1="5325" v2="5326" v3="5973" />
+ <tetrahedron index="30841" v0="3916" v1="3926" v2="5934" v3="5973" />
+ <tetrahedron index="30842" v0="3800" v1="3916" v2="4168" v3="5934" />
+ <tetrahedron index="30843" v0="4945" v1="5367" v2="6018" v3="6382" />
+ <tetrahedron index="30844" v0="3916" v1="3926" v2="5326" v3="5973" />
+ <tetrahedron index="30845" v0="3537" v1="3800" v2="3916" v3="5934" />
+ <tetrahedron index="30846" v0="5325" v1="5934" v2="5972" v3="5973" />
+ <tetrahedron index="30847" v0="4183" v1="4212" v2="4356" v3="6827" />
+ <tetrahedron index="30848" v0="4921" v1="5296" v2="5297" v3="6345" />
+ <tetrahedron index="30849" v0="5305" v1="5941" v2="5943" v3="6550" />
+ <tetrahedron index="30850" v0="5422" v1="6082" v2="6571" v3="6658" />
+ <tetrahedron index="30851" v0="4922" v1="5442" v2="6101" v3="6102" />
+ <tetrahedron index="30852" v0="3253" v1="3765" v2="3963" v3="5937" />
+ <tetrahedron index="30853" v0="3765" v1="3963" v2="5441" v3="5937" />
+ <tetrahedron index="30854" v0="5745" v1="6033" v2="6034" v3="6550" />
+ <tetrahedron index="30855" v0="5148" v1="5745" v2="6033" v3="6550" />
+ <tetrahedron index="30856" v0="5305" v1="6033" v2="6034" v3="6552" />
+ <tetrahedron index="30857" v0="4950" v1="5745" v2="6034" v3="6550" />
+ <tetrahedron index="30858" v0="4054" v1="4399" v2="5631" v3="5983" />
+ <tetrahedron index="30859" v0="4851" v1="5338" v2="6295" v3="6480" />
+ <tetrahedron index="30860" v0="5037" v1="5984" v2="6047" v3="6577" />
+ <tetrahedron index="30861" v0="4923" v1="4982" v2="5302" v3="5940" />
+ <tetrahedron index="30862" v0="3549" v1="4684" v2="5301" v3="5939" />
+ <tetrahedron index="30863" v0="4062" v1="4683" v2="4684" v3="5939" />
+ <tetrahedron index="30864" v0="4683" v1="4684" v2="5938" v3="5939" />
+ <tetrahedron index="30865" v0="3549" v1="5094" v2="5678" v3="5939" />
+ <tetrahedron index="30866" v0="3549" v1="4062" v2="5678" v3="5939" />
+ <tetrahedron index="30867" v0="4154" v1="5146" v2="5147" v3="5939" />
+ <tetrahedron index="30868" v0="4154" v1="5147" v2="5744" v3="5939" />
+ <tetrahedron index="30869" v0="4062" v1="4154" v2="4683" v3="5939" />
+ <tetrahedron index="30870" v0="4154" v1="4683" v2="5744" v3="5939" />
+ <tetrahedron index="30871" v0="5094" v1="5214" v2="5833" v3="6480" />
+ <tetrahedron index="30872" v0="4250" v1="4373" v2="5926" v3="6579" />
+ <tetrahedron index="30873" v0="5190" v1="6464" v2="6569" v3="6902" />
+ <tetrahedron index="30874" v0="4892" v1="5338" v2="5563" v3="6480" />
+ <tetrahedron index="30875" v0="4892" v1="5338" v2="6295" v3="6480" />
+ <tetrahedron index="30876" v0="4394" v1="5306" v2="5521" v3="5944" />
+ <tetrahedron index="30877" v0="4621" v1="4622" v2="5010" v3="5944" />
+ <tetrahedron index="30878" v0="5005" v1="6173" v2="6726" v3="6856" />
+ <tetrahedron index="30879" v0="4323" v1="4621" v2="4660" v3="5944" />
+ <tetrahedron index="30880" v0="4621" v1="5010" v2="5521" v3="5944" />
+ <tetrahedron index="30881" v0="3630" v1="3878" v2="4835" v3="6758" />
+ <tetrahedron index="30882" v0="4091" v1="4507" v2="4725" v3="6768" />
+ <tetrahedron index="30883" v0="4798" v1="5024" v2="5525" v3="6196" />
+ <tetrahedron index="30884" v0="5065" v1="5632" v2="6310" v3="6311" />
+ <tetrahedron index="30885" v0="4390" v1="4396" v2="4698" v3="6194" />
+ <tetrahedron index="30886" v0="4963" v1="5603" v2="6283" v3="6786" />
+ <tetrahedron index="30887" v0="5065" v1="6310" v2="6311" v3="6555" />
+ <tetrahedron index="30888" v0="4660" v1="5304" v2="5944" v3="6556" />
+ <tetrahedron index="30889" v0="3630" v1="3879" v2="5251" v3="6758" />
+ <tetrahedron index="30890" v0="4873" v1="6281" v2="6628" v3="6786" />
+ <tetrahedron index="30891" v0="6429" v1="6853" v2="6854" v3="6912" />
+ <tetrahedron index="30892" v0="5605" v1="6281" v2="6628" v3="6786" />
+ <tetrahedron index="30893" v0="6044" v1="6625" v2="6627" v3="6924" />
+ <tetrahedron index="30894" v0="3734" v1="5169" v2="5613" v3="6515" />
+ <tetrahedron index="30895" v0="4323" v1="4394" v2="4621" v3="5944" />
+ <tetrahedron index="30896" v0="4394" v1="4621" v2="5521" v3="5944" />
+ <tetrahedron index="30897" v0="5586" v1="6067" v2="6258" v3="6650" />
+ <tetrahedron index="30898" v0="4338" v1="4698" v2="5523" v3="6194" />
+ <tetrahedron index="30899" v0="4141" v1="4530" v2="4798" v3="6196" />
+ <tetrahedron index="30900" v0="5157" v1="6308" v2="6551" v3="6764" />
+ <tetrahedron index="30901" v0="4867" v1="5762" v2="5945" v3="5947" />
+ <tetrahedron index="30902" v0="3781" v1="3937" v2="4053" v3="6578" />
+ <tetrahedron index="30903" v0="4088" v1="5188" v2="5806" v3="6457" />
+ <tetrahedron index="30904" v0="5059" v1="5169" v2="5613" v3="6035" />
+ <tetrahedron index="30905" v0="3630" v1="3878" v2="3879" v3="6758" />
+ <tetrahedron index="30906" v0="3284" v1="3734" v2="5059" v3="6035" />
+ <tetrahedron index="30907" v0="4950" v1="5380" v2="5381" v3="6763" />
+ <tetrahedron index="30908" v0="4966" v1="5745" v2="6080" v3="6083" />
+ <tetrahedron index="30909" v0="5541" v1="6212" v2="6244" v3="6748" />
+ <tetrahedron index="30910" v0="5157" v1="5762" v2="5763" v3="5947" />
+ <tetrahedron index="30911" v0="5027" v1="5557" v2="6233" v3="6559" />
+ <tetrahedron index="30912" v0="5157" v1="5762" v2="5945" v3="5947" />
+ <tetrahedron index="30913" v0="4385" v1="4533" v2="4534" v3="6244" />
+ <tetrahedron index="30914" v0="4527" v1="4706" v2="5303" v3="6763" />
+ <tetrahedron index="30915" v0="4533" v1="4613" v2="5541" v3="6244" />
+ <tetrahedron index="30916" v0="5340" v1="5341" v2="5983" v3="6899" />
+ <tetrahedron index="30917" v0="4926" v1="5880" v2="6561" v3="6945" />
+ <tetrahedron index="30918" v0="4863" v1="5062" v2="5620" v3="6795" />
+ <tetrahedron index="30919" v0="4619" v1="4679" v2="5757" v3="5949" />
+ <tetrahedron index="30920" v0="4925" v1="4989" v2="5308" v3="5949" />
+ <tetrahedron index="30921" v0="4479" v1="4480" v2="4679" v3="5949" />
+ <tetrahedron index="30922" v0="4479" v1="4480" v2="5757" v3="5949" />
+ <tetrahedron index="30923" v0="4480" v1="4679" v2="5757" v3="5949" />
+ <tetrahedron index="30924" v0="4433" v1="4661" v2="4662" v3="5235" />
+ <tetrahedron index="30925" v0="4855" v1="4912" v2="5319" v3="5949" />
+ <tetrahedron index="30926" v0="3280" v1="3281" v2="3386" v3="5964" />
+ <tetrahedron index="30927" v0="4855" v1="4989" v2="5883" v3="5949" />
+ <tetrahedron index="30928" v0="4925" v1="4989" v2="5883" v3="5949" />
+ <tetrahedron index="30929" v0="4855" v1="4925" v2="5883" v3="5949" />
+ <tetrahedron index="30930" v0="5139" v1="5770" v2="6399" v3="6836" />
+ <tetrahedron index="30931" v0="3267" v1="4959" v2="5404" v3="6063" />
+ <tetrahedron index="30932" v0="4913" v1="5270" v2="6612" v3="6982" />
+ <tetrahedron index="30933" v0="4961" v1="5411" v2="6187" v3="6732" />
+ <tetrahedron index="30934" v0="4976" v1="5450" v2="5451" v3="6177" />
+ <tetrahedron index="30935" v0="5403" v1="5443" v2="5524" v3="6104" />
+ <tetrahedron index="30936" v0="3401" v1="3531" v2="5114" v3="6801" />
+ <tetrahedron index="30937" v0="5023" v1="5839" v2="6485" v3="6561" />
+ <tetrahedron index="30938" v0="5006" v1="5513" v2="6177" v3="6946" />
+ <tetrahedron index="30939" v0="3659" v1="3935" v2="4707" v3="6267" />
+ <tetrahedron index="30940" v0="3731" v1="4750" v2="5313" v3="5955" />
+ <tetrahedron index="30941" v0="4512" v1="5333" v2="5980" v3="6776" />
+ <tetrahedron index="30942" v0="4614" v1="4816" v2="6074" v3="6653" />
+ <tetrahedron index="30943" v0="5006" v1="5879" v2="5881" v3="6522" />
+ <tetrahedron index="30944" v0="4962" v1="5413" v2="5414" v3="6303" />
+ <tetrahedron index="30945" v0="4875" v1="5011" v2="5046" v3="6063" />
+ <tetrahedron index="30946" v0="4956" v1="5404" v2="5587" v3="6063" />
+ <tetrahedron index="30947" v0="3258" v1="5011" v2="5046" v3="6063" />
+ <tetrahedron index="30948" v0="3265" v1="5046" v2="5587" v3="6063" />
+ <tetrahedron index="30949" v0="4875" v1="5011" v2="5402" v3="6063" />
+ <tetrahedron index="30950" v0="3258" v1="3265" v2="5046" v3="6063" />
+ <tetrahedron index="30951" v0="5403" v1="5443" v2="6103" v3="6104" />
+ <tetrahedron index="30952" v0="3973" v1="5012" v2="6265" v3="6562" />
+ <tetrahedron index="30953" v0="3973" v1="4285" v2="5012" v3="6562" />
+ <tetrahedron index="30954" v0="3943" v1="5080" v2="5655" v3="6821" />
+ <tetrahedron index="30955" v0="4846" v1="5443" v2="6101" v3="6524" />
+ <tetrahedron index="30956" v0="4866" v1="5465" v2="6535" v3="6892" />
+ <tetrahedron index="30957" v0="4854" v1="5421" v2="6080" v3="6566" />
+ <tetrahedron index="30958" v0="5316" v1="6079" v2="6456" v3="6566" />
+ <tetrahedron index="30959" v0="4854" v1="5421" v2="6083" v3="6566" />
+ <tetrahedron index="30960" v0="4866" v1="5760" v2="6426" v3="6892" />
+ <tetrahedron index="30961" v0="6105" v1="6648" v2="6676" v3="6892" />
+ <tetrahedron index="30962" v0="4886" v1="5029" v2="6331" v3="6563" />
+ <tetrahedron index="30963" v0="3935" v1="4707" v2="5646" v3="6267" />
+ <tetrahedron index="30964" v0="5588" v1="5589" v2="6262" v3="6638" />
+ <tetrahedron index="30965" v0="4854" v1="5958" v2="6083" v3="6566" />
+ <tetrahedron index="30966" v0="4928" v1="5421" v2="6079" v3="6566" />
+ <tetrahedron index="30967" v0="4907" v1="5075" v2="5652" v3="6328" />
+ <tetrahedron index="30968" v0="4918" v1="6079" v2="6456" v3="6566" />
+ <tetrahedron index="30969" v0="4928" v1="5421" v2="6080" v3="6566" />
+ <tetrahedron index="30970" v0="5006" v1="5512" v2="6177" v3="6522" />
+ <tetrahedron index="30971" v0="3659" v1="5088" v2="5526" v3="6267" />
+ <tetrahedron index="30972" v0="4961" v1="5411" v2="6127" v3="6732" />
+ <tetrahedron index="30973" v0="4936" v1="5340" v2="5341" v3="6899" />
+ <tetrahedron index="30974" v0="5006" v1="5512" v2="5879" v3="6522" />
+ <tetrahedron index="30975" v0="5155" v1="6103" v2="6535" v3="6892" />
+ <tetrahedron index="30976" v0="4735" v1="4751" v2="5675" v3="6347" />
+ <tetrahedron index="30977" v0="4764" v1="5204" v2="5822" v3="6476" />
+ <tetrahedron index="30978" v0="3420" v1="3421" v2="4654" v3="5957" />
+ <tetrahedron index="30979" v0="3420" v1="3421" v2="5314" v3="5957" />
+ <tetrahedron index="30980" v0="4603" v1="5896" v2="6241" v3="6347" />
+ <tetrahedron index="30981" v0="5104" v1="5896" v2="6241" v3="6347" />
+ <tetrahedron index="30982" v0="3960" v1="4782" v2="5205" v3="6476" />
+ <tetrahedron index="30983" v0="4781" v1="4782" v2="5823" v3="6476" />
+ <tetrahedron index="30984" v0="3960" v1="4781" v2="4782" v3="6476" />
+ <tetrahedron index="30985" v0="4782" v1="5205" v2="5823" v3="6476" />
+ <tetrahedron index="30986" v0="4889" v1="5204" v2="5822" v3="6476" />
+ <tetrahedron index="30987" v0="3776" v1="4054" v2="4400" v3="6309" />
+ <tetrahedron index="30988" v0="6280" v1="6628" v2="6786" v3="6808" />
+ <tetrahedron index="30989" v0="4054" v1="5340" v2="5983" v3="6309" />
+ <tetrahedron index="30990" v0="4986" v1="6645" v2="6703" v3="7012" />
+ <tetrahedron index="30991" v0="5134" v1="5178" v2="5733" v3="6448" />
+ <tetrahedron index="30992" v0="3794" v1="4014" v2="4743" v3="6084" />
+ <tetrahedron index="30993" v0="3817" v1="5177" v2="5787" v3="6086" />
+ <tetrahedron index="30994" v0="5993" v1="6221" v2="6223" v3="6668" />
+ <tetrahedron index="30995" v0="4913" v1="6300" v2="6534" v3="6800" />
+ <tetrahedron index="30996" v0="4936" v1="5340" v2="5983" v3="6807" />
+ <tetrahedron index="30997" v0="4955" v1="6156" v2="6227" v3="6752" />
+ <tetrahedron index="30998" v0="5195" v1="6471" v2="6623" v3="6737" />
+ <tetrahedron index="30999" v0="4570" v1="4664" v2="5610" v3="6013" />
+ <tetrahedron index="31000" v0="3608" v1="3853" v2="4527" v3="6763" />
+ <tetrahedron index="31001" v0="5305" v1="5941" v2="6553" v3="6580" />
+ <tetrahedron index="31002" v0="5395" v1="6051" v2="6225" v3="6636" />
+ <tetrahedron index="31003" v0="5148" v1="5746" v2="6083" v3="6659" />
+ <tetrahedron index="31004" v0="5318" v1="6243" v2="6656" v3="6657" />
+ <tetrahedron index="31005" v0="4014" v1="4743" v2="5424" v3="6084" />
+ <tetrahedron index="31006" v0="4470" v1="4777" v2="5192" v3="6468" />
+ <tetrahedron index="31007" v0="4967" v1="5175" v2="5581" v3="6661" />
+ <tetrahedron index="31008" v0="4854" v1="5421" v2="6080" v3="6083" />
+ <tetrahedron index="31009" v0="3868" v1="3906" v2="3907" v3="5960" />
+ <tetrahedron index="31010" v0="3906" v1="3907" v2="5317" v3="5960" />
+ <tetrahedron index="31011" v0="3343" v1="3728" v2="3729" v3="6435" />
+ <tetrahedron index="31012" v0="5140" v1="5698" v2="6402" v3="6837" />
+ <tetrahedron index="31013" v0="4619" v1="4679" v2="4785" v3="5962" />
+ <tetrahedron index="31014" v0="4619" v1="4679" v2="5319" v3="5962" />
+ <tetrahedron index="31015" v0="4619" v1="4785" v2="5319" v3="5962" />
+ <tetrahedron index="31016" v0="3791" v1="4620" v2="4888" v3="5963" />
+ <tetrahedron index="31017" v0="3791" v1="4888" v2="5319" v3="5963" />
+ <tetrahedron index="31018" v0="4619" v1="5757" v2="5949" v3="5963" />
+ <tetrahedron index="31019" v0="4855" v1="5757" v2="5949" v3="5963" />
+ <tetrahedron index="31020" v0="4100" v1="4544" v2="4545" v3="6406" />
+ <tetrahedron index="31021" v0="5147" v1="5742" v2="5743" v3="6406" />
+ <tetrahedron index="31022" v0="5487" v1="5742" v2="6319" v3="6406" />
+ <tetrahedron index="31023" v0="3275" v1="5202" v2="5820" v3="5965" />
+ <tetrahedron index="31024" v0="3275" v1="3276" v2="3279" v3="5965" />
+ <tetrahedron index="31025" v0="3275" v1="3276" v2="5820" v3="5965" />
+ <tetrahedron index="31026" v0="4281" v1="5481" v2="6147" v3="6859" />
+ <tetrahedron index="31027" v0="3728" v1="4107" v2="5323" v3="6435" />
+ <tetrahedron index="31028" v0="3729" v1="4990" v2="5797" v3="6435" />
+ <tetrahedron index="31029" v0="4931" v1="5548" v2="6434" v3="6573" />
+ <tetrahedron index="31030" v0="5481" v1="6253" v2="6398" v3="6573" />
+ <tetrahedron index="31031" v0="4958" v1="5400" v2="5401" v3="6059" />
+ <tetrahedron index="31032" v0="4687" v1="4828" v2="5665" v3="6059" />
+ <tetrahedron index="31033" v0="3900" v1="4061" v2="5203" v3="6362" />
+ <tetrahedron index="31034" v0="3661" v1="4686" v2="4687" v3="6059" />
+ <tetrahedron index="31035" v0="4889" v1="5203" v2="5691" v3="6362" />
+ <tetrahedron index="31036" v0="4686" v1="5400" v2="5401" v3="6059" />
+ <tetrahedron index="31037" v0="4929" v1="5319" v2="5483" v3="5966" />
+ <tetrahedron index="31038" v0="4888" v1="5319" v2="5483" v3="5966" />
+ <tetrahedron index="31039" v0="4888" v1="4929" v2="5483" v3="5966" />
+ <tetrahedron index="31040" v0="4888" v1="4929" v2="5201" v3="5966" />
+ <tetrahedron index="31041" v0="4929" v1="5201" v2="5320" v3="5966" />
+ <tetrahedron index="31042" v0="3750" v1="4687" v2="5399" v3="6059" />
+ <tetrahedron index="31043" v0="3900" v1="4061" v2="5206" v3="6362" />
+ <tetrahedron index="31044" v0="4931" v1="6380" v2="6434" v3="6435" />
+ <tetrahedron index="31045" v0="3729" v1="4178" v2="5797" v3="6435" />
+ <tetrahedron index="31046" v0="4178" v1="5797" v2="5969" v3="6435" />
+ <tetrahedron index="31047" v0="3343" v1="3729" v2="5771" v3="6435" />
+ <tetrahedron index="31048" v0="5707" v1="5772" v2="6378" v3="6380" />
+ <tetrahedron index="31049" v0="5119" v1="5708" v2="6378" v3="6380" />
+ <tetrahedron index="31050" v0="5119" v1="5707" v2="6378" v3="6380" />
+ <tetrahedron index="31051" v0="3770" v1="5708" v2="6378" v3="6380" />
+ <tetrahedron index="31052" v0="4178" v1="5185" v2="5797" v3="5969" />
+ <tetrahedron index="31053" v0="3795" v1="5428" v2="6255" v3="6772" />
+ <tetrahedron index="31054" v0="5119" v1="5707" v2="5772" v3="6436" />
+ <tetrahedron index="31055" v0="4931" v1="4990" v2="5548" v3="5969" />
+ <tetrahedron index="31056" v0="5175" v1="5788" v2="6254" v3="6772" />
+ <tetrahedron index="31057" v0="3657" v1="5472" v2="5473" v3="6436" />
+ <tetrahedron index="31058" v0="3844" v1="5139" v2="5456" v3="6437" />
+ <tetrahedron index="31059" v0="3634" v1="4207" v2="5771" v3="6437" />
+ <tetrahedron index="31060" v0="4207" v1="5771" v2="5773" v3="6437" />
+ <tetrahedron index="31061" v0="3445" v1="3695" v2="5911" v3="5970" />
+ <tetrahedron index="31062" v0="5044" v1="5327" v2="5971" v3="6575" />
+ <tetrahedron index="31063" v0="3710" v1="3884" v2="4576" v3="5971" />
+ <tetrahedron index="31064" v0="3884" v1="4576" v2="5044" v3="5971" />
+ <tetrahedron index="31065" v0="3925" v1="4758" v2="5326" v3="5974" />
+ <tetrahedron index="31066" v0="4758" v1="4840" v2="5095" v3="5974" />
+ <tetrahedron index="31067" v0="3884" v1="5044" v2="5327" v3="5971" />
+ <tetrahedron index="31068" v0="3710" v1="3884" v2="5327" v3="5971" />
+ <tetrahedron index="31069" v0="4932" v1="5327" v2="5973" v3="6575" />
+ <tetrahedron index="31070" v0="4932" v1="5326" v2="5973" v3="6575" />
+ <tetrahedron index="31071" v0="5935" v1="5971" v2="6574" v3="6575" />
+ <tetrahedron index="31072" v0="5324" v1="5327" v2="5971" v3="6575" />
+ <tetrahedron index="31073" v0="5044" v1="5327" v2="5973" v3="6575" />
+ <tetrahedron index="31074" v0="5326" v1="5970" v2="6574" v3="6575" />
+ <tetrahedron index="31075" v0="5044" v1="5935" v2="5973" v3="6575" />
+ <tetrahedron index="31076" v0="3444" v1="5971" v2="6574" v3="6575" />
+ <tetrahedron index="31077" v0="3248" v1="5214" v2="6479" v3="6576" />
+ <tetrahedron index="31078" v0="5214" v1="5833" v2="6479" v3="6576" />
+ <tetrahedron index="31079" v0="3248" v1="3501" v2="3504" v3="6576" />
+ <tetrahedron index="31080" v0="4879" v1="5179" v2="6365" v3="6382" />
+ <tetrahedron index="31081" v0="5108" v1="5714" v2="6365" v3="6382" />
+ <tetrahedron index="31082" v0="4897" v1="5230" v2="5717" v3="6385" />
+ <tetrahedron index="31083" v0="3239" v1="3240" v2="5909" v3="5975" />
+ <tetrahedron index="31084" v0="4914" v1="5121" v2="5705" v3="5975" />
+ <tetrahedron index="31085" v0="4914" v1="5121" v2="5909" v3="5975" />
+ <tetrahedron index="31086" v0="4932" v1="5705" v2="5970" v3="5975" />
+ <tetrahedron index="31087" v0="4932" v1="5324" v2="5970" v3="5975" />
+ <tetrahedron index="31088" v0="3240" v1="5909" v2="5911" v3="5975" />
+ <tetrahedron index="31089" v0="3240" v1="5324" v2="5911" v3="5975" />
+ <tetrahedron index="31090" v0="4914" v1="5909" v2="5911" v3="5975" />
+ <tetrahedron index="31091" v0="4914" v1="5705" v2="5911" v3="5975" />
+ <tetrahedron index="31092" v0="5705" v1="5911" v2="5970" v3="5975" />
+ <tetrahedron index="31093" v0="5324" v1="5911" v2="5970" v3="5975" />
+ <tetrahedron index="31094" v0="5141" v1="5328" v2="5738" v3="5976" />
+ <tetrahedron index="31095" v0="4150" v1="4423" v2="6026" v3="6027" />
+ <tetrahedron index="31096" v0="4948" v1="5141" v2="5376" v3="6027" />
+ <tetrahedron index="31097" v0="3953" v1="4557" v2="5141" v3="6027" />
+ <tetrahedron index="31098" v0="3953" v1="4557" v2="5376" v3="6027" />
+ <tetrahedron index="31099" v0="4150" v1="5332" v2="6026" v3="6027" />
+ <tetrahedron index="31100" v0="4933" v1="5332" v2="5976" v3="5977" />
+ <tetrahedron index="31101" v0="4933" v1="5328" v2="5976" v3="5977" />
+ <tetrahedron index="31102" v0="5597" v1="5648" v2="6326" v3="6327" />
+ <tetrahedron index="31103" v0="3747" v1="3959" v2="4512" v3="6133" />
+ <tetrahedron index="31104" v0="5333" v1="5978" v2="6132" v3="6133" />
+ <tetrahedron index="31105" v0="3596" v1="4134" v2="5335" v3="5979" />
+ <tetrahedron index="31106" v0="3338" v1="4134" v2="5335" v3="5979" />
+ <tetrahedron index="31107" v0="3596" v1="5333" v2="5335" v3="5979" />
+ <tetrahedron index="31108" v0="3596" v1="5333" v2="5336" v3="5979" />
+ <tetrahedron index="31109" v0="3337" v1="3338" v2="3596" v3="5979" />
+ <tetrahedron index="31110" v0="3337" v1="3596" v2="5336" v3="5979" />
+ <tetrahedron index="31111" v0="4134" v1="4512" v2="5333" v3="5980" />
+ <tetrahedron index="31112" v0="4134" v1="5333" v2="5335" v3="5980" />
+ <tetrahedron index="31113" v0="4265" v1="4512" v2="4538" v3="5980" />
+ <tetrahedron index="31114" v0="4938" v1="5345" v2="6670" v3="6778" />
+ <tetrahedron index="31115" v0="3881" v1="6012" v2="6093" v3="6778" />
+ <tetrahedron index="31116" v0="5615" v1="6794" v2="6897" v3="7009" />
+ <tetrahedron index="31117" v0="4495" v1="4656" v2="5490" v3="6777" />
+ <tetrahedron index="31118" v0="4625" v1="5597" v2="5649" v3="6269" />
+ <tetrahedron index="31119" v0="4525" v1="4624" v2="4666" v3="6269" />
+ <tetrahedron index="31120" v0="4134" v1="4512" v2="4538" v3="5980" />
+ <tetrahedron index="31121" v0="4134" v1="4538" v2="5335" v3="5980" />
+ <tetrahedron index="31122" v0="3335" v1="3614" v2="5532" v3="6205" />
+ <tetrahedron index="31123" v0="4907" v1="5250" v2="5652" v3="6328" />
+ <tetrahedron index="31124" v0="3333" v1="3335" v2="3614" v3="6205" />
+ <tetrahedron index="31125" v0="5615" v1="6289" v2="6876" v3="6980" />
+ <tetrahedron index="31126" v0="4924" v1="5943" v2="6193" v3="6554" />
+ <tetrahedron index="31127" v0="3784" v1="4054" v2="4083" v3="5983" />
+ <tetrahedron index="31128" v0="3784" v1="4054" v2="5340" v3="5983" />
+ <tetrahedron index="31129" v0="5557" v1="5558" v2="5948" v3="6559" />
+ <tetrahedron index="31130" v0="4971" v1="5437" v2="6099" v3="6674" />
+ <tetrahedron index="31131" v0="5157" v1="5763" v2="6551" v3="6554" />
+ <tetrahedron index="31132" v0="5023" v1="5880" v2="6561" v3="6945" />
+ <tetrahedron index="31133" v0="5763" v1="5943" v2="6551" v3="6554" />
+ <tetrahedron index="31134" v0="4113" v1="4250" v2="4308" v3="6579" />
+ <tetrahedron index="31135" v0="4938" v1="5991" v2="6590" v3="6908" />
+ <tetrahedron index="31136" v0="4250" v1="5926" v2="5985" v3="6579" />
+ <tetrahedron index="31137" v0="4913" v1="5270" v2="6073" v3="6612" />
+ <tetrahedron index="31138" v0="4250" v1="4308" v2="4373" v3="6579" />
+ <tetrahedron index="31139" v0="4113" v1="4250" v2="5985" v3="6579" />
+ <tetrahedron index="31140" v0="4815" v1="5042" v2="5582" v3="6579" />
+ <tetrahedron index="31141" v0="4113" v1="4308" v2="4815" v3="6579" />
+ <tetrahedron index="31142" v0="3508" v1="3587" v2="3588" v3="6050" />
+ <tetrahedron index="31143" v0="4113" v1="4815" v2="5042" v3="6579" />
+ <tetrahedron index="31144" v0="4493" v1="4597" v2="5343" v3="5988" />
+ <tetrahedron index="31145" v0="5196" v1="5910" v2="6522" v3="7003" />
+ <tetrahedron index="31146" v0="4493" v1="4597" v2="4598" v3="5988" />
+ <tetrahedron index="31147" v0="4366" v1="4541" v2="4634" v3="6218" />
+ <tetrahedron index="31148" v0="4597" v1="5343" v2="5344" v3="5988" />
+ <tetrahedron index="31149" v0="4597" v1="4598" v2="5344" v3="5988" />
+ <tetrahedron index="31150" v0="4493" v1="4508" v2="4598" v3="5988" />
+ <tetrahedron index="31151" v0="5047" v1="6052" v2="6637" v3="6638" />
+ <tetrahedron index="31152" v0="3779" v1="3783" v2="4250" v3="5985" />
+ <tetrahedron index="31153" v0="6411" v1="6839" v2="6845" v3="6846" />
+ <tetrahedron index="31154" v0="5810" v1="6464" v2="6465" v3="6902" />
+ <tetrahedron index="31155" v0="4954" v1="6047" v2="6631" v3="7011" />
+ <tetrahedron index="31156" v0="4745" v1="4746" v2="6003" v3="6598" />
+ <tetrahedron index="31157" v0="5421" v1="6083" v2="6567" v3="6900" />
+ <tetrahedron index="31158" v0="4954" v1="6047" v2="6629" v3="7011" />
+ <tetrahedron index="31159" v0="3781" v1="3783" v2="3784" v3="5987" />
+ <tetrahedron index="31160" v0="3783" v1="3784" v2="5341" v3="5987" />
+ <tetrahedron index="31161" v0="3781" v1="3784" v2="5340" v3="5987" />
+ <tetrahedron index="31162" v0="3784" v1="5340" v2="5341" v3="5987" />
+ <tetrahedron index="31163" v0="4820" v1="5284" v2="5343" v3="5989" />
+ <tetrahedron index="31164" v0="4266" v1="4820" v2="5343" v3="5989" />
+ <tetrahedron index="31165" v0="5222" v1="6630" v2="6710" v3="6957" />
+ <tetrahedron index="31166" v0="5008" v1="5516" v2="6182" v3="6413" />
+ <tetrahedron index="31167" v0="6462" v1="6844" v2="6871" v3="6989" />
+ <tetrahedron index="31168" v0="4850" v1="6780" v2="6783" v3="7016" />
+ <tetrahedron index="31169" v0="4939" v1="5350" v2="5998" v3="6598" />
+ <tetrahedron index="31170" v0="5781" v1="5842" v2="6281" v3="6490" />
+ <tetrahedron index="31171" v0="5438" v1="5880" v2="6096" v3="6707" />
+ <tetrahedron index="31172" v0="5446" v1="5614" v2="6106" v3="6288" />
+ <tetrahedron index="31173" v0="4886" v1="5656" v2="6541" v3="6729" />
+ <tetrahedron index="31174" v0="6182" v1="6286" v2="6733" v3="6790" />
+ <tetrahedron index="31175" v0="5363" v1="5844" v2="6882" v3="6978" />
+ <tetrahedron index="31176" v0="5515" v1="5517" v2="6184" v3="6186" />
+ <tetrahedron index="31177" v0="4886" v1="5656" v2="6331" v3="6729" />
+ <tetrahedron index="31178" v0="5343" v1="5344" v2="5988" v3="6584" />
+ <tetrahedron index="31179" v0="5170" v1="6106" v2="6875" v3="6913" />
+ <tetrahedron index="31180" v0="4937" v1="5344" v2="5988" v3="6584" />
+ <tetrahedron index="31181" v0="5435" v1="5538" v2="6591" v3="6736" />
+ <tetrahedron index="31182" v0="4892" v1="5214" v2="5622" v3="6298" />
+ <tetrahedron index="31183" v0="3736" v1="4748" v2="5270" v3="6015" />
+ <tetrahedron index="31184" v0="5509" v1="6431" v2="6855" v3="6856" />
+ <tetrahedron index="31185" v0="6053" v1="6260" v2="6773" v3="6976" />
+ <tetrahedron index="31186" v0="4138" v1="5127" v2="6208" v3="6620" />
+ <tetrahedron index="31187" v0="5026" v1="5553" v2="6223" v3="6224" />
+ <tetrahedron index="31188" v0="4868" v1="5981" v2="6204" v3="6432" />
+ <tetrahedron index="31189" v0="5745" v1="6080" v2="6656" v3="6657" />
+ <tetrahedron index="31190" v0="4918" v1="6081" v2="6082" v3="6570" />
+ <tetrahedron index="31191" v0="6308" v1="6625" v2="6627" v3="6924" />
+ <tetrahedron index="31192" v0="4854" v1="5745" v2="6080" v3="6657" />
+ <tetrahedron index="31193" v0="6291" v1="6893" v2="6942" v3="7026" />
+ <tetrahedron index="31194" v0="4849" v1="5995" v2="6755" v3="6948" />
+ <tetrahedron index="31195" v0="4748" v1="5269" v2="5270" v3="6015" />
+ <tetrahedron index="31196" v0="3597" v1="5083" v2="5659" v3="6742" />
+ <tetrahedron index="31197" v0="5026" v1="5553" v2="6224" v3="6225" />
+ <tetrahedron index="31198" v0="6626" v1="6629" v2="6925" v3="7011" />
+ <tetrahedron index="31199" v0="3736" v1="5270" v2="5905" v3="6796" />
+ <tetrahedron index="31200" v0="4429" v1="6174" v2="6231" v3="6756" />
+ <tetrahedron index="31201" v0="5005" v1="5509" v2="6431" v3="6735" />
+ <tetrahedron index="31202" v0="3708" v1="5345" v2="6093" v3="6778" />
+ <tetrahedron index="31203" v0="4913" v1="5270" v2="6534" v3="6982" />
+ <tetrahedron index="31204" v0="5220" v1="5476" v2="5756" v3="6140" />
+ <tetrahedron index="31205" v0="5840" v1="6596" v2="6718" v3="6789" />
+ <tetrahedron index="31206" v0="4894" v1="6055" v2="6642" v3="6643" />
+ <tetrahedron index="31207" v0="4997" v1="5613" v2="5614" v3="6288" />
+ <tetrahedron index="31208" v0="4939" v1="5353" v2="6419" v3="6598" />
+ <tetrahedron index="31209" v0="5153" v1="5754" v2="6418" v3="6489" />
+ <tetrahedron index="31210" v0="5004" v1="5508" v2="6167" v3="6489" />
+ <tetrahedron index="31211" v0="4994" v1="5509" v2="5811" v3="6183" />
+ <tetrahedron index="31212" v0="4126" v1="5433" v2="6189" v3="6736" />
+ <tetrahedron index="31213" v0="5300" v1="5524" v2="6424" v3="7022" />
+ <tetrahedron index="31214" v0="4268" v1="4486" v2="4724" v3="5998" />
+ <tetrahedron index="31215" v0="4268" v1="4724" v2="5551" v3="5998" />
+ <tetrahedron index="31216" v0="5047" v1="6263" v2="6637" v3="6775" />
+ <tetrahedron index="31217" v0="4960" v1="5409" v2="6068" v3="6932" />
+ <tetrahedron index="31218" v0="4631" v1="4694" v2="5756" v3="6420" />
+ <tetrahedron index="31219" v0="5155" v1="6103" v2="6535" v3="6850" />
+ <tetrahedron index="31220" v0="5589" v1="6486" v2="6642" v3="6703" />
+ <tetrahedron index="31221" v0="4327" v1="5476" v2="5589" v3="6486" />
+ <tetrahedron index="31222" v0="5748" v1="6409" v2="6593" v3="6840" />
+ <tetrahedron index="31223" v0="5150" v1="5999" v2="6411" v3="6916" />
+ <tetrahedron index="31224" v0="5005" v1="5510" v2="6234" v3="6735" />
+ <tetrahedron index="31225" v0="4911" v1="5057" v2="5900" v3="6917" />
+ <tetrahedron index="31226" v0="4885" v1="5599" v2="6473" v3="6840" />
+ <tetrahedron index="31227" v0="4858" v1="5750" v2="6186" v3="6412" />
+ <tetrahedron index="31228" v0="6156" v1="6279" v2="6804" v3="6843" />
+ <tetrahedron index="31229" v0="4087" v1="5188" v2="6090" v3="6415" />
+ <tetrahedron index="31230" v0="5903" v1="6672" v2="6897" v3="6942" />
+ <tetrahedron index="31231" v0="5436" v1="6090" v2="6092" v3="6415" />
+ <tetrahedron index="31232" v0="3707" v1="4228" v2="6090" v3="6415" />
+ <tetrahedron index="31233" v0="4714" v1="5351" v2="5814" v3="6001" />
+ <tetrahedron index="31234" v0="4837" v1="5194" v2="5352" v3="6001" />
+ <tetrahedron index="31235" v0="4837" v1="5194" v2="5814" v3="6001" />
+ <tetrahedron index="31236" v0="4714" v1="4837" v2="5352" v3="6001" />
+ <tetrahedron index="31237" v0="4714" v1="4837" v2="5814" v3="6001" />
+ <tetrahedron index="31238" v0="5748" v1="6000" v2="6001" v3="6002" />
+ <tetrahedron index="31239" v0="4911" v1="5748" v2="6000" v3="6002" />
+ <tetrahedron index="31240" v0="4806" v1="5057" v2="6031" v3="6602" />
+ <tetrahedron index="31241" v0="5508" v1="5529" v2="6031" v3="6602" />
+ <tetrahedron index="31242" v0="5004" v1="5529" v2="6030" v3="6602" />
+ <tetrahedron index="31243" v0="4354" v1="4806" v2="6418" v3="6602" />
+ <tetrahedron index="31244" v0="5159" v1="5768" v2="6432" v3="6433" />
+ <tetrahedron index="31245" v0="5057" v1="6030" v2="6031" v3="6602" />
+ <tetrahedron index="31246" v0="4353" v1="4354" v2="6418" v3="6602" />
+ <tetrahedron index="31247" v0="4587" v1="4710" v2="4714" v3="6599" />
+ <tetrahedron index="31248" v0="4858" v1="5150" v2="5751" v3="6916" />
+ <tetrahedron index="31249" v0="3519" v1="5749" v2="6414" v3="6599" />
+ <tetrahedron index="31250" v0="4587" v1="4714" v2="5814" v3="6599" />
+ <tetrahedron index="31251" v0="4714" v1="5814" v2="5999" v3="6599" />
+ <tetrahedron index="31252" v0="4858" v1="5150" v2="5750" v3="6916" />
+ <tetrahedron index="31253" v0="5004" v1="5508" v2="6418" v3="6602" />
+ <tetrahedron index="31254" v0="4495" v1="6007" v2="6269" v3="6777" />
+ <tetrahedron index="31255" v0="5465" v1="6072" v2="6696" v3="6892" />
+ <tetrahedron index="31256" v0="4940" v1="5978" v2="6006" v3="6604" />
+ <tetrahedron index="31257" v0="4347" v1="5634" v2="6008" v3="6314" />
+ <tetrahedron index="31258" v0="5347" v1="6012" v2="6093" v3="6778" />
+ <tetrahedron index="31259" v0="5025" v1="5996" v2="6220" v3="6419" />
+ <tetrahedron index="31260" v0="4866" v1="6652" v2="6799" v3="6992" />
+ <tetrahedron index="31261" v0="5416" v1="6124" v2="6127" v3="6725" />
+ <tetrahedron index="31262" v0="5355" v1="6006" v2="6007" v3="6604" />
+ <tetrahedron index="31263" v0="3680" v1="4167" v2="6314" v3="6919" />
+ <tetrahedron index="31264" v0="5016" v1="5530" v2="6203" v3="6918" />
+ <tetrahedron index="31265" v0="4806" v1="6418" v2="6602" v3="6603" />
+ <tetrahedron index="31266" v0="5004" v1="6167" v2="6489" v3="6880" />
+ <tetrahedron index="31267" v0="3519" v1="4587" v2="5749" v3="6599" />
+ <tetrahedron index="31268" v0="5153" v1="5754" v2="5841" v3="6421" />
+ <tetrahedron index="31269" v0="5150" v1="5751" v2="5999" v3="6916" />
+ <tetrahedron index="31270" v0="4945" v1="6017" v2="6383" v3="6833" />
+ <tetrahedron index="31271" v0="5016" v1="5532" v2="5981" v3="6743" />
+ <tetrahedron index="31272" v0="5980" v1="6205" v2="6268" v3="6743" />
+ <tetrahedron index="31273" v0="4868" v1="5083" v2="5981" v3="6204" />
+ <tetrahedron index="31274" v0="3339" v1="3717" v2="4509" v3="6350" />
+ <tetrahedron index="31275" v0="5363" v1="6882" v2="6920" v3="7025" />
+ <tetrahedron index="31276" v0="5992" v1="6853" v2="6854" v3="6912" />
+ <tetrahedron index="31277" v0="5805" v1="6091" v2="6457" v3="6910" />
+ <tetrahedron index="31278" v0="3655" v1="3787" v2="3832" v3="6374" />
+ <tetrahedron index="31279" v0="5355" v1="5490" v2="6006" v3="6007" />
+ <tetrahedron index="31280" v0="3973" v1="3974" v2="6265" v3="6562" />
+ <tetrahedron index="31281" v0="3542" v1="4151" v2="5611" v3="6605" />
+ <tetrahedron index="31282" v0="3495" v1="5448" v2="5866" v3="6605" />
+ <tetrahedron index="31283" v0="3411" v1="3495" v2="3542" v3="6605" />
+ <tetrahedron index="31284" v0="5002" v1="6109" v2="6508" v3="6605" />
+ <tetrahedron index="31285" v0="3655" v1="4437" v2="5159" v3="6374" />
+ <tetrahedron index="31286" v0="4869" v1="5160" v2="5772" v3="6858" />
+ <tetrahedron index="31287" v0="4901" v1="5866" v2="6506" v3="6605" />
+ <tetrahedron index="31288" v0="3411" v1="3542" v2="5866" v3="6605" />
+ <tetrahedron index="31289" v0="3330" v1="4440" v2="5490" v3="6152" />
+ <tetrahedron index="31290" v0="4733" v1="5130" v2="5731" v3="6395" />
+ <tetrahedron index="31291" v0="4995" v1="5491" v2="5731" v3="6152" />
+ <tetrahedron index="31292" v0="4404" v1="4440" v2="4572" v3="6152" />
+ <tetrahedron index="31293" v0="4440" v1="5490" v2="6151" v3="6152" />
+ <tetrahedron index="31294" v0="3562" v1="3875" v2="3876" v3="6607" />
+ <tetrahedron index="31295" v0="3493" v1="3494" v2="3561" v3="6010" />
+ <tetrahedron index="31296" v0="4941" v1="5358" v2="6011" v3="6609" />
+ <tetrahedron index="31297" v0="3493" v1="3494" v2="5239" v3="6010" />
+ <tetrahedron index="31298" v0="3680" v1="5066" v2="5673" v3="6609" />
+ <tetrahedron index="31299" v0="4941" v1="5633" v2="5634" v3="6609" />
+ <tetrahedron index="31300" v0="5805" v1="5925" v2="6570" v3="6910" />
+ <tetrahedron index="31301" v0="3562" v1="5358" v2="6010" v3="6607" />
+ <tetrahedron index="31302" v0="4941" v1="5864" v2="6314" v3="6608" />
+ <tetrahedron index="31303" v0="3561" v1="3680" v2="4421" v3="6608" />
+ <tetrahedron index="31304" v0="4941" v1="5358" v2="6314" v3="6608" />
+ <tetrahedron index="31305" v0="4970" v1="5805" v2="6091" v3="6910" />
+ <tetrahedron index="31306" v0="5346" v1="5994" v2="6908" v3="6912" />
+ <tetrahedron index="31307" v0="5902" v1="6612" v2="6671" v3="6941" />
+ <tetrahedron index="31308" v0="3708" v1="4124" v2="5345" v3="6094" />
+ <tetrahedron index="31309" v0="4125" v1="5434" v2="6090" v3="6094" />
+ <tetrahedron index="31310" v0="3708" v1="4124" v2="4228" v3="6094" />
+ <tetrahedron index="31311" v0="4161" v1="4387" v2="5642" v3="6320" />
+ <tetrahedron index="31312" v0="4125" v1="5433" v2="5434" v3="6094" />
+ <tetrahedron index="31313" v0="6640" v1="6643" v2="6674" v3="6945" />
+ <tetrahedron index="31314" v0="4970" v1="5436" v2="6090" v3="6094" />
+ <tetrahedron index="31315" v0="4863" v1="6165" v2="6795" v3="6941" />
+ <tetrahedron index="31316" v0="5365" v1="6097" v2="6165" v3="6941" />
+ <tetrahedron index="31317" v0="5993" v1="6093" v2="6666" v3="6670" />
+ <tetrahedron index="31318" v0="5880" v1="6098" v2="6640" v3="6673" />
+ <tetrahedron index="31319" v0="4970" v1="5434" v2="6090" v3="6094" />
+ <tetrahedron index="31320" v0="4228" v1="5436" v2="6090" v3="6094" />
+ <tetrahedron index="31321" v0="4886" v1="6563" v2="6817" v3="7003" />
+ <tetrahedron index="31322" v0="6299" v1="6673" v2="6797" v3="6798" />
+ <tetrahedron index="31323" v0="4156" v1="4578" v2="4730" v3="6274" />
+ <tetrahedron index="31324" v0="3880" v1="4567" v2="5347" v3="6272" />
+ <tetrahedron index="31325" v0="4568" v1="4569" v2="4570" v3="6013" />
+ <tetrahedron index="31326" v0="4568" v1="4570" v2="5815" v3="6013" />
+ <tetrahedron index="31327" v0="4674" v1="4730" v2="5052" v3="6274" />
+ <tetrahedron index="31328" v0="4860" v1="5026" v2="5552" v3="6223" />
+ <tetrahedron index="31329" v0="4860" v1="5026" v2="6223" v3="6224" />
+ <tetrahedron index="31330" v0="4943" v1="5152" v2="5362" v3="6223" />
+ <tetrahedron index="31331" v0="4943" v1="5552" v2="6221" v3="6223" />
+ <tetrahedron index="31332" v0="4504" v1="4562" v2="6621" v3="6736" />
+ <tetrahedron index="31333" v0="4112" v1="4569" v2="4664" v3="6013" />
+ <tetrahedron index="31334" v0="4112" v1="4569" v2="5360" v3="6013" />
+ <tetrahedron index="31335" v0="5157" v1="5945" v2="6557" v3="6757" />
+ <tetrahedron index="31336" v0="5016" v1="5531" v2="6204" v3="6432" />
+ <tetrahedron index="31337" v0="5676" v1="5981" v2="6348" v3="6432" />
+ <tetrahedron index="31338" v0="5016" v1="5981" v2="6204" v3="6432" />
+ <tetrahedron index="31339" v0="3942" v1="3943" v2="3986" v3="6821" />
+ <tetrahedron index="31340" v0="5214" v1="5622" v2="5832" v3="6298" />
+ <tetrahedron index="31341" v0="4939" v1="5350" v2="5998" v3="6595" />
+ <tetrahedron index="31342" v0="5762" v1="5763" v2="5947" v3="6937" />
+ <tetrahedron index="31343" v0="6717" v1="6794" v2="6959" v3="7021" />
+ <tetrahedron index="31344" v0="4850" v1="5602" v2="6278" v3="6780" />
+ <tetrahedron index="31345" v0="5168" v1="5997" v2="6718" v3="6789" />
+ <tetrahedron index="31346" v0="5617" v1="6293" v2="6679" v3="6790" />
+ <tetrahedron index="31347" v0="3262" v1="3263" v2="5455" v3="6158" />
+ <tetrahedron index="31348" v0="5091" v1="5180" v2="5791" v3="6384" />
+ <tetrahedron index="31349" v0="3961" v1="4142" v2="5122" v3="6017" />
+ <tetrahedron index="31350" v0="5122" v1="5713" v2="5715" v3="6384" />
+ <tetrahedron index="31351" v0="5182" v1="5715" v2="6382" v3="6384" />
+ <tetrahedron index="31352" v0="5470" v1="6135" v2="6149" v3="6953" />
+ <tetrahedron index="31353" v0="5198" v1="5713" v2="5718" v3="6017" />
+ <tetrahedron index="31354" v0="4038" v1="4163" v2="5123" v3="6017" />
+ <tetrahedron index="31355" v0="4038" v1="5123" v2="5718" v3="6017" />
+ <tetrahedron index="31356" v0="4299" v1="4515" v2="5072" v3="6450" />
+ <tetrahedron index="31357" v0="3477" v1="5199" v2="5791" v3="6387" />
+ <tetrahedron index="31358" v0="3506" v1="4960" v2="5409" v3="6019" />
+ <tetrahedron index="31359" v0="3506" v1="4065" v2="4319" v3="6019" />
+ <tetrahedron index="31360" v0="3506" v1="4319" v2="5409" v3="6019" />
+ <tetrahedron index="31361" v0="3256" v1="4065" v2="4319" v3="6019" />
+ <tetrahedron index="31362" v0="3256" v1="4202" v2="4319" v3="6019" />
+ <tetrahedron index="31363" v0="5067" v1="5370" v2="5408" v3="6019" />
+ <tetrahedron index="31364" v0="4960" v1="5067" v2="5408" v3="6019" />
+ <tetrahedron index="31365" v0="3982" v1="4270" v2="4271" v3="6025" />
+ <tetrahedron index="31366" v0="4270" v1="4271" v2="5375" v3="6025" />
+ <tetrahedron index="31367" v0="4947" v1="5074" v2="5898" v3="6022" />
+ <tetrahedron index="31368" v0="3435" v1="4428" v2="5409" v3="6069" />
+ <tetrahedron index="31369" v0="3512" v1="3513" v2="3514" v3="6651" />
+ <tetrahedron index="31370" v0="5045" v1="5331" v2="5585" v3="6069" />
+ <tetrahedron index="31371" v0="3435" v1="4428" v2="5331" v3="6069" />
+ <tetrahedron index="31372" v0="4444" v1="4652" v2="6190" v3="6738" />
+ <tetrahedron index="31373" v0="3255" v1="4065" v2="5371" v3="6021" />
+ <tetrahedron index="31374" v0="5033" v1="6023" v2="6533" v3="6615" />
+ <tetrahedron index="31375" v0="5262" v1="6023" v2="6533" v3="6615" />
+ <tetrahedron index="31376" v0="3679" v1="5033" v2="6023" v3="6615" />
+ <tetrahedron index="31377" v0="4500" v1="5506" v2="5932" v3="6022" />
+ <tetrahedron index="31378" v0="5003" v1="5506" v2="5932" v3="6022" />
+ <tetrahedron index="31379" v0="4481" v1="5003" v2="5932" v3="6022" />
+ <tetrahedron index="31380" v0="4481" v1="4500" v2="5932" v3="6022" />
+ <tetrahedron index="31381" v0="4174" v1="5263" v2="5897" v3="6530" />
+ <tetrahedron index="31382" v0="4032" v1="4077" v2="5264" v3="6530" />
+ <tetrahedron index="31383" v0="3572" v1="3627" v2="5262" v3="6023" />
+ <tetrahedron index="31384" v0="3572" v1="3627" v2="5373" v3="6023" />
+ <tetrahedron index="31385" v0="6291" v1="6537" v2="6793" v3="6893" />
+ <tetrahedron index="31386" v0="5004" v1="6004" v2="6602" v3="6616" />
+ <tetrahedron index="31387" v0="4227" v1="4494" v2="5530" v3="6918" />
+ <tetrahedron index="31388" v0="5550" v1="6596" v2="6597" v3="6879" />
+ <tetrahedron index="31389" v0="3714" v1="3716" v2="3995" v3="6024" />
+ <tetrahedron index="31390" v0="3714" v1="3716" v2="5505" v3="6024" />
+ <tetrahedron index="31391" v0="5065" v1="5632" v2="6194" v3="6280" />
+ <tetrahedron index="31392" v0="3715" v1="5003" v2="5074" v3="6024" />
+ <tetrahedron index="31393" v0="3715" v1="5074" v2="5374" v3="6024" />
+ <tetrahedron index="31394" v0="5003" v1="5074" v2="6022" v3="6024" />
+ <tetrahedron index="31395" v0="4947" v1="5074" v2="5374" v3="6024" />
+ <tetrahedron index="31396" v0="4947" v1="5074" v2="6022" v3="6024" />
+ <tetrahedron index="31397" v0="4270" v1="4407" v2="4423" v3="6025" />
+ <tetrahedron index="31398" v0="3604" v1="5738" v2="6028" v3="6544" />
+ <tetrahedron index="31399" v0="4520" v1="5377" v2="5738" v3="6544" />
+ <tetrahedron index="31400" v0="4165" v1="4452" v2="4520" v3="6544" />
+ <tetrahedron index="31401" v0="3604" v1="3919" v2="5281" v3="6544" />
+ <tetrahedron index="31402" v0="4407" v1="4423" v2="4703" v3="6025" />
+ <tetrahedron index="31403" v0="4423" v1="4703" v2="5376" v3="6025" />
+ <tetrahedron index="31404" v0="4407" v1="4703" v2="5376" v3="6025" />
+ <tetrahedron index="31405" v0="3743" v1="3744" v2="3953" v3="6028" />
+ <tetrahedron index="31406" v0="4558" v1="5376" v2="5919" v3="6028" />
+ <tetrahedron index="31407" v0="3744" v1="4558" v2="5919" v3="6028" />
+ <tetrahedron index="31408" v0="3953" v1="5141" v2="5376" v3="6028" />
+ <tetrahedron index="31409" v0="3606" v1="3743" v2="3953" v3="6028" />
+ <tetrahedron index="31410" v0="5806" v1="6545" v2="6767" v3="6768" />
+ <tetrahedron index="31411" v0="5421" v1="5958" v2="6567" v3="6900" />
+ <tetrahedron index="31412" v0="3744" v1="3953" v2="4558" v3="6028" />
+ <tetrahedron index="31413" v0="3953" v1="4558" v2="5376" v3="6028" />
+ <tetrahedron index="31414" v0="3606" v1="3953" v2="5141" v3="6028" />
+ <tetrahedron index="31415" v0="3606" v1="5141" v2="5738" v3="6028" />
+ <tetrahedron index="31416" v0="4507" v1="4725" v2="6545" v3="6768" />
+ <tetrahedron index="31417" v0="5035" v1="6243" v2="6761" v3="6973" />
+ <tetrahedron index="31418" v0="4091" v1="5575" v2="6248" v3="6768" />
+ <tetrahedron index="31419" v0="4046" v1="4120" v2="5152" v3="6226" />
+ <tetrahedron index="31420" v0="3523" v1="5866" v2="6009" v3="6605" />
+ <tetrahedron index="31421" v0="4940" v1="5354" v2="5355" v3="6203" />
+ <tetrahedron index="31422" v0="5348" v1="6002" v2="6004" v3="6917" />
+ <tetrahedron index="31423" v0="4849" v1="5995" v2="6407" v3="6593" />
+ <tetrahedron index="31424" v0="4911" v1="5995" v2="6222" v3="6593" />
+ <tetrahedron index="31425" v0="4845" v1="5950" v2="6487" v3="6981" />
+ <tetrahedron index="31426" v0="4950" v1="5380" v2="5381" v3="6032" />
+ <tetrahedron index="31427" v0="3763" v1="3835" v2="3854" v3="6032" />
+ <tetrahedron index="31428" v0="4946" v1="5129" v2="6021" v3="6618" />
+ <tetrahedron index="31429" v0="4249" v1="5508" v2="5529" v3="6031" />
+ <tetrahedron index="31430" v0="4804" v1="4805" v2="6601" v3="6603" />
+ <tetrahedron index="31431" v0="4804" v1="4805" v2="4806" v3="6603" />
+ <tetrahedron index="31432" v0="4111" v1="5379" v2="5610" v3="6031" />
+ <tetrahedron index="31433" v0="4111" v1="4243" v2="5610" v3="6031" />
+ <tetrahedron index="31434" v0="3763" v1="3835" v2="5746" v3="6032" />
+ <tetrahedron index="31435" v0="3867" v1="3907" v2="4082" v3="6658" />
+ <tetrahedron index="31436" v0="5387" v1="5729" v2="6039" v3="6393" />
+ <tetrahedron index="31437" v0="4935" v1="5639" v2="6316" v3="6811" />
+ <tetrahedron index="31438" v0="4950" v1="5763" v2="5947" v3="6657" />
+ <tetrahedron index="31439" v0="5407" v1="5727" v2="6144" v3="6392" />
+ <tetrahedron index="31440" v0="4992" v1="5483" v2="6065" v3="6392" />
+ <tetrahedron index="31441" v0="4855" v1="4929" v2="5483" v3="6392" />
+ <tetrahedron index="31442" v0="4338" v1="5523" v2="6194" v3="6555" />
+ <tetrahedron index="31443" v0="3716" v1="3994" v2="6169" v3="6548" />
+ <tetrahedron index="31444" v0="5541" v1="5570" v2="6244" v3="6748" />
+ <tetrahedron index="31445" v0="5167" v1="6014" v2="6247" v3="6765" />
+ <tetrahedron index="31446" v0="3878" v1="4835" v2="6238" v3="6758" />
+ <tetrahedron index="31447" v0="4974" v1="5059" v2="5445" v3="6035" />
+ <tetrahedron index="31448" v0="4951" v1="5382" v2="5445" v3="6035" />
+ <tetrahedron index="31449" v0="4859" v1="5387" v2="5638" v3="6037" />
+ <tetrahedron index="31450" v0="4876" v1="5059" v2="5169" v3="6035" />
+ <tetrahedron index="31451" v0="4876" v1="5169" v2="5445" v3="6035" />
+ <tetrahedron index="31452" v0="4876" v1="5059" v2="5445" v3="6035" />
+ <tetrahedron index="31453" v0="4658" v1="5098" v2="5387" v3="6037" />
+ <tetrahedron index="31454" v0="4982" v1="5636" v2="6315" v3="6316" />
+ <tetrahedron index="31455" v0="3384" v1="5382" v2="6035" v3="6036" />
+ <tetrahedron index="31456" v0="3383" v1="4951" v2="5383" v3="6036" />
+ <tetrahedron index="31457" v0="4857" v1="5383" v2="5445" v3="6036" />
+ <tetrahedron index="31458" v0="4857" v1="5169" v2="5445" v3="6036" />
+ <tetrahedron index="31459" v0="4951" v1="5382" v2="6035" v3="6036" />
+ <tetrahedron index="31460" v0="4951" v1="5383" v2="5445" v3="6036" />
+ <tetrahedron index="31461" v0="4951" v1="5445" v2="6035" v3="6036" />
+ <tetrahedron index="31462" v0="5169" v1="5445" v2="6035" v3="6036" />
+ <tetrahedron index="31463" v0="3383" v1="4951" v2="5382" v3="6036" />
+ <tetrahedron index="31464" v0="3383" v1="3384" v2="5382" v3="6036" />
+ <tetrahedron index="31465" v0="3502" v1="4681" v2="5339" v3="6316" />
+ <tetrahedron index="31466" v0="4681" v1="4935" v2="5339" v3="6316" />
+ <tetrahedron index="31467" v0="3703" v1="4464" v2="5386" v3="6038" />
+ <tetrahedron index="31468" v0="4946" v1="5067" v2="5368" v3="6038" />
+ <tetrahedron index="31469" v0="4946" v1="5368" v2="5386" v3="6038" />
+ <tetrahedron index="31470" v0="4946" v1="5067" v2="5386" v3="6038" />
+ <tetrahedron index="31471" v0="3918" v1="4352" v2="5368" v3="6038" />
+ <tetrahedron index="31472" v0="3918" v1="4352" v2="5386" v3="6038" />
+ <tetrahedron index="31473" v0="4352" v1="5386" v2="5728" v3="6038" />
+ <tetrahedron index="31474" v0="5368" v1="5386" v2="5728" v3="6038" />
+ <tetrahedron index="31475" v0="4352" v1="5368" v2="5728" v3="6038" />
+ <tetrahedron index="31476" v0="3514" v1="3677" v2="3918" v3="6038" />
+ <tetrahedron index="31477" v0="3677" v1="3918" v2="5368" v3="6038" />
+ <tetrahedron index="31478" v0="4502" v1="4688" v2="5413" v3="6071" />
+ <tetrahedron index="31479" v0="5315" v1="5317" v2="5725" v3="6428" />
+ <tetrahedron index="31480" v0="4946" v1="4952" v2="5369" v3="6039" />
+ <tetrahedron index="31481" v0="4034" v1="4278" v2="4424" v3="6619" />
+ <tetrahedron index="31482" v0="4872" v1="5165" v2="6006" v3="6394" />
+ <tetrahedron index="31483" v0="4861" v1="6043" v2="6622" v3="6624" />
+ <tetrahedron index="31484" v0="5024" v1="5525" v2="6198" v3="6739" />
+ <tetrahedron index="31485" v0="5307" v1="5945" v2="5947" v3="6212" />
+ <tetrahedron index="31486" v0="5307" v1="6212" v2="6244" v3="6748" />
+ <tetrahedron index="31487" v0="4185" v1="4279" v2="4773" v3="6040" />
+ <tetrahedron index="31488" v0="4185" v1="4773" v2="5540" v3="6040" />
+ <tetrahedron index="31489" v0="4867" v1="5556" v2="5945" v3="6212" />
+ <tetrahedron index="31490" v0="4944" v1="6016" v2="6882" v3="6947" />
+ <tetrahedron index="31491" v0="3396" v1="4382" v2="4988" v3="6482" />
+ <tetrahedron index="31492" v0="3607" v1="3642" v2="3954" v3="6214" />
+ <tetrahedron index="31493" v0="3607" v1="5217" v2="5836" v3="6214" />
+ <tetrahedron index="31494" v0="5127" v1="6208" v2="6620" v3="6749" />
+ <tetrahedron index="31495" v0="5215" v1="5219" v2="5835" v3="6482" />
+ <tetrahedron index="31496" v0="4384" v1="6210" v2="6747" v3="6762" />
+ <tetrahedron index="31497" v0="5389" v1="6042" v2="6463" v3="6621" />
+ <tetrahedron index="31498" v0="3642" v1="3954" v2="5543" v3="6214" />
+ <tetrahedron index="31499" v0="6213" v1="6466" v2="6467" v3="6749" />
+ <tetrahedron index="31500" v0="5541" v1="6213" v2="6390" v3="6748" />
+ <tetrahedron index="31501" v0="4140" v1="4562" v2="4563" v3="6621" />
+ <tetrahedron index="31502" v0="4884" v1="5509" v2="6431" v3="6855" />
+ <tetrahedron index="31503" v0="5065" v1="6625" v2="6807" v3="6808" />
+ <tetrahedron index="31504" v0="3778" v1="4400" v2="6785" v3="6809" />
+ <tetrahedron index="31505" v0="5993" v1="6589" v2="6666" v3="6911" />
+ <tetrahedron index="31506" v0="5551" v1="6420" v2="6914" v3="6991" />
+ <tetrahedron index="31507" v0="4880" v1="5111" v2="5796" v3="6739" />
+ <tetrahedron index="31508" v0="5361" v1="5599" v2="6222" v3="6473" />
+ <tetrahedron index="31509" v0="5572" v1="6246" v2="6589" v3="6634" />
+ <tetrahedron index="31510" v0="5493" v1="6050" v2="6710" v3="6711" />
+ <tetrahedron index="31511" v0="3508" v1="3588" v2="4731" v3="6050" />
+ <tetrahedron index="31512" v0="5166" v1="5842" v2="6281" v3="6630" />
+ <tetrahedron index="31513" v0="5340" v1="5984" v2="5987" v3="6578" />
+ <tetrahedron index="31514" v0="6046" v1="6156" v2="6633" v3="6711" />
+ <tetrahedron index="31515" v0="6124" v1="6173" v2="6725" v3="6728" />
+ <tetrahedron index="31516" v0="4210" v1="4622" v2="5523" v3="6556" />
+ <tetrahedron index="31517" v0="3780" v1="5393" v2="6578" v3="6904" />
+ <tetrahedron index="31518" v0="3588" v1="5395" v2="6050" v3="6926" />
+ <tetrahedron index="31519" v0="5511" v1="6173" v2="6693" v3="6728" />
+ <tetrahedron index="31520" v0="4862" v1="6193" v2="6233" v3="6312" />
+ <tetrahedron index="31521" v0="5300" v1="6266" v2="6563" v3="6966" />
+ <tetrahedron index="31522" v0="5269" v1="5846" v2="6495" v3="6885" />
+ <tetrahedron index="31523" v0="4955" v1="5395" v2="6740" v3="6927" />
+ <tetrahedron index="31524" v0="6046" v1="6051" v2="6631" v3="6632" />
+ <tetrahedron index="31525" v0="4873" v1="6044" v2="6626" v3="6627" />
+ <tetrahedron index="31526" v0="3588" v1="3978" v2="5392" v3="6051" />
+ <tetrahedron index="31527" v0="5167" v1="6228" v2="6753" v3="6754" />
+ <tetrahedron index="31528" v0="4725" v1="5806" v2="6545" v3="6768" />
+ <tetrahedron index="31529" v0="5036" v1="5573" v2="6051" v3="6751" />
+ <tetrahedron index="31530" v0="5361" v1="5552" v2="6221" v3="6228" />
+ <tetrahedron index="31531" v0="3530" v1="5749" v2="5816" v3="6410" />
+ <tetrahedron index="31532" v0="5340" v1="5984" v2="6578" v3="6635" />
+ <tetrahedron index="31533" v0="4053" v1="4054" v2="5340" v3="6309" />
+ <tetrahedron index="31534" v0="5573" v1="6224" v2="6751" v3="6770" />
+ <tetrahedron index="31535" v0="4540" v1="4775" v2="4829" v3="6048" />
+ <tetrahedron index="31536" v0="4540" v1="4829" v2="5574" v3="6048" />
+ <tetrahedron index="31537" v0="5036" v1="5574" v2="6047" v3="6048" />
+ <tetrahedron index="31538" v0="4090" v1="5189" v2="5808" v3="6459" />
+ <tetrahedron index="31539" v0="6308" v1="6627" v2="6806" v3="6924" />
+ <tetrahedron index="31540" v0="5361" v1="6221" v2="6228" v3="6754" />
+ <tetrahedron index="31541" v0="4390" v1="5522" v2="6195" v3="6313" />
+ <tetrahedron index="31542" v0="5010" v1="5523" v2="6195" v3="6310" />
+ <tetrahedron index="31543" v0="3621" v1="5166" v2="6045" v3="6049" />
+ <tetrahedron index="31544" v0="3621" v1="4584" v2="6045" v3="6049" />
+ <tetrahedron index="31545" v0="4860" v1="6224" v2="6632" v3="6636" />
+ <tetrahedron index="31546" v0="5550" v1="6220" v2="6879" v3="6906" />
+ <tetrahedron index="31547" v0="6183" v1="6185" v2="6735" v3="6968" />
+ <tetrahedron index="31548" v0="6139" v1="6582" v2="6595" v3="6906" />
+ <tetrahedron index="31549" v0="3779" v1="5575" v2="5987" v3="6904" />
+ <tetrahedron index="31550" v0="5023" v1="5547" v2="5839" v3="6561" />
+ <tetrahedron index="31551" v0="5550" v1="6220" v2="6645" v3="6878" />
+ <tetrahedron index="31552" v0="3780" v1="4091" v2="6248" v3="6904" />
+ <tetrahedron index="31553" v0="5984" v1="5987" v2="6578" v3="6904" />
+ <tetrahedron index="31554" v0="4873" v1="5166" v2="6281" v3="6633" />
+ <tetrahedron index="31555" v0="5392" v1="5393" v2="6048" v3="6631" />
+ <tetrahedron index="31556" v0="4954" v1="5392" v2="5393" v3="6631" />
+ <tetrahedron index="31557" v0="6046" v1="6631" v2="6633" v3="6926" />
+ <tetrahedron index="31558" v0="4954" v1="5984" v2="6578" v3="6635" />
+ <tetrahedron index="31559" v0="5630" v1="6280" v2="6786" v3="6924" />
+ <tetrahedron index="31560" v0="4761" v1="5553" v2="6029" v3="6225" />
+ <tetrahedron index="31561" v0="5026" v1="5553" v2="6029" v3="6225" />
+ <tetrahedron index="31562" v0="4171" v1="4760" v2="4761" v3="6225" />
+ <tetrahedron index="31563" v0="6121" v1="6126" v2="6694" v3="6950" />
+ <tetrahedron index="31564" v0="5493" v1="6281" v2="6630" v3="6633" />
+ <tetrahedron index="31565" v0="4044" v1="4045" v2="5555" v3="6226" />
+ <tetrahedron index="31566" v0="4045" v1="5026" v2="5555" v3="6226" />
+ <tetrahedron index="31567" v0="4044" v1="5362" v2="5555" v3="6226" />
+ <tetrahedron index="31568" v0="4045" v1="4046" v2="4120" v3="6226" />
+ <tetrahedron index="31569" v0="5060" v1="5617" v2="5990" v3="6293" />
+ <tetrahedron index="31570" v0="3974" v1="3975" v2="5047" v3="6261" />
+ <tetrahedron index="31571" v0="3243" v1="3483" v2="4301" v3="6261" />
+ <tetrahedron index="31572" v0="4856" v1="5396" v2="6052" v3="6056" />
+ <tetrahedron index="31573" v0="5221" v1="6055" v2="6596" v3="6644" />
+ <tetrahedron index="31574" v0="4196" v1="4712" v2="4713" v3="6141" />
+ <tetrahedron index="31575" v0="4713" v1="4736" v2="5478" v3="6141" />
+ <tetrahedron index="31576" v0="5450" v1="6110" v2="6682" v3="6946" />
+ <tetrahedron index="31577" v0="5438" v1="6096" v2="6218" v3="6674" />
+ <tetrahedron index="31578" v0="5333" v1="5596" v2="5978" v3="6776" />
+ <tetrahedron index="31579" v0="5221" v1="5840" v2="6596" v3="6644" />
+ <tetrahedron index="31580" v0="5443" v1="6103" v2="6104" v3="6648" />
+ <tetrahedron index="31581" v0="4905" v1="6520" v2="6682" v3="6946" />
+ <tetrahedron index="31582" v0="5191" v1="6040" v2="6619" v3="6969" />
+ <tetrahedron index="31583" v0="5170" v1="5446" v2="6062" v3="6444" />
+ <tetrahedron index="31584" v0="5880" v1="6098" v2="6673" v3="6707" />
+ <tetrahedron index="31585" v0="5284" v1="5343" v2="5989" v3="6845" />
+ <tetrahedron index="31586" v0="4412" v1="5048" v2="5592" v3="6866" />
+ <tetrahedron index="31587" v0="3939" v1="5176" v2="5580" v3="6446" />
+ <tetrahedron index="31588" v0="4857" v1="5403" v2="5445" v3="6444" />
+ <tetrahedron index="31589" v0="4857" v1="5445" v2="5446" v3="6444" />
+ <tetrahedron index="31590" v0="4089" v1="5430" v2="6087" v3="6663" />
+ <tetrahedron index="31591" v0="5665" v1="6059" v2="6361" v3="6647" />
+ <tetrahedron index="31592" v0="4958" v1="5086" v2="6361" v3="6647" />
+ <tetrahedron index="31593" v0="4958" v1="6059" v2="6361" v3="6647" />
+ <tetrahedron index="31594" v0="4871" v1="5049" v2="5594" v3="6860" />
+ <tetrahedron index="31595" v0="4253" v1="4280" v2="5736" v3="6398" />
+ <tetrahedron index="31596" v0="5086" v1="5665" v2="6361" v3="6647" />
+ <tetrahedron index="31597" v0="3417" v1="3419" v2="5666" v3="6647" />
+ <tetrahedron index="31598" v0="5514" v1="5901" v2="5962" v3="6058" />
+ <tetrahedron index="31599" v0="4957" v1="5514" v2="5962" v3="6058" />
+ <tetrahedron index="31600" v0="5901" v1="5962" v2="5966" v3="6058" />
+ <tetrahedron index="31601" v0="4957" v1="5962" v2="5966" v3="6058" />
+ <tetrahedron index="31602" v0="3661" v1="4828" v2="5665" v3="6059" />
+ <tetrahedron index="31603" v0="4857" v1="5446" v2="6444" v3="6648" />
+ <tetrahedron index="31604" v0="4857" v1="5446" v2="6105" v3="6648" />
+ <tetrahedron index="31605" v0="5023" v1="6485" v2="6561" v3="6945" />
+ <tetrahedron index="31606" v0="5403" v1="6103" v2="6104" v3="6648" />
+ <tetrahedron index="31607" v0="3939" v1="5172" v2="5580" v3="6446" />
+ <tetrahedron index="31608" v0="5172" v1="5580" v2="5784" v3="6446" />
+ <tetrahedron index="31609" v0="4960" v1="5408" v2="5410" v3="6067" />
+ <tetrahedron index="31610" v0="3702" v1="5067" v2="5635" v3="6067" />
+ <tetrahedron index="31611" v0="4878" v1="5579" v2="6255" v3="6446" />
+ <tetrahedron index="31612" v0="5983" v1="5986" v2="6580" v3="6899" />
+ <tetrahedron index="31613" v0="4951" v1="4974" v2="5445" v3="6061" />
+ <tetrahedron index="31614" v0="3667" v1="4466" v2="5171" v3="6525" />
+ <tetrahedron index="31615" v0="4285" v1="5012" v2="6235" v3="6423" />
+ <tetrahedron index="31616" v0="3270" v1="4959" v2="5133" v3="6061" />
+ <tetrahedron index="31617" v0="3270" v1="4959" v2="5404" v3="6061" />
+ <tetrahedron index="31618" v0="5155" v1="5950" v2="6062" v3="6649" />
+ <tetrahedron index="31619" v0="6056" v1="6062" v2="6641" v3="6649" />
+ <tetrahedron index="31620" v0="4543" v1="4616" v2="5884" v3="6525" />
+ <tetrahedron index="31621" v0="4951" v1="5726" v2="6066" v3="6677" />
+ <tetrahedron index="31622" v0="4960" v1="5067" v2="6068" v3="6650" />
+ <tetrahedron index="31623" v0="5170" v1="5783" v2="6443" v3="6865" />
+ <tetrahedron index="31624" v0="5503" v1="6713" v2="6717" v3="6719" />
+ <tetrahedron index="31625" v0="4083" v1="5341" v2="5983" v3="6899" />
+ <tetrahedron index="31626" v0="4848" v1="5951" v2="6266" v3="6649" />
+ <tetrahedron index="31627" v0="5761" v1="6425" v2="6426" v3="6933" />
+ <tetrahedron index="31628" v0="5156" v1="6427" v2="6652" v3="6933" />
+ <tetrahedron index="31629" v0="4875" v1="4956" v2="5402" v3="6063" />
+ <tetrahedron index="31630" v0="3267" v1="4959" v2="5069" v3="6063" />
+ <tetrahedron index="31631" v0="3258" v1="3267" v2="5069" v3="6063" />
+ <tetrahedron index="31632" v0="3265" v1="3266" v2="3267" v3="6063" />
+ <tetrahedron index="31633" v0="3266" v1="3267" v2="5404" v3="6063" />
+ <tetrahedron index="31634" v0="3277" v1="3285" v2="5405" v3="6064" />
+ <tetrahedron index="31635" v0="3266" v1="3285" v2="5405" v3="6064" />
+ <tetrahedron index="31636" v0="3270" v1="5133" v2="6061" v3="6064" />
+ <tetrahedron index="31637" v0="4974" v1="5133" v2="6061" v3="6064" />
+ <tetrahedron index="31638" v0="4543" v1="4616" v2="4998" v3="6525" />
+ <tetrahedron index="31639" v0="4865" v1="5012" v2="5759" v3="6423" />
+ <tetrahedron index="31640" v0="5249" v1="5407" v2="5883" v3="6065" />
+ <tetrahedron index="31641" v0="4855" v1="5249" v2="5883" v3="6065" />
+ <tetrahedron index="31642" v0="4859" v1="5387" v2="5729" v3="6393" />
+ <tetrahedron index="31643" v0="3259" v1="3973" v2="4479" v3="6423" />
+ <tetrahedron index="31644" v0="3973" v1="4285" v2="5012" v3="6423" />
+ <tetrahedron index="31645" v0="4912" v1="4989" v2="5267" v3="6145" />
+ <tetrahedron index="31646" v0="4859" v1="5151" v2="5384" v3="6393" />
+ <tetrahedron index="31647" v0="5129" v1="5151" v2="5729" v3="6393" />
+ <tetrahedron index="31648" v0="3281" v1="3379" v2="5480" v3="6145" />
+ <tetrahedron index="31649" v0="4912" v1="4929" v2="5266" v3="6145" />
+ <tetrahedron index="31650" v0="5128" v1="5133" v2="5726" v3="6066" />
+ <tetrahedron index="31651" v0="5761" v1="6426" v2="6652" v3="6933" />
+ <tetrahedron index="31652" v0="4875" v1="4956" v2="5396" v3="6259" />
+ <tetrahedron index="31653" v0="5045" v1="6258" v2="6650" v3="6651" />
+ <tetrahedron index="31654" v0="4376" v1="4405" v2="5586" v3="6067" />
+ <tetrahedron index="31655" v0="4856" v1="5587" v2="5588" v3="6259" />
+ <tetrahedron index="31656" v0="3702" v1="5067" v2="6020" v3="6067" />
+ <tetrahedron index="31657" v0="3649" v1="3702" v2="6020" v3="6067" />
+ <tetrahedron index="31658" v0="3649" v1="5370" v2="6020" v3="6067" />
+ <tetrahedron index="31659" v0="5067" v1="5370" v2="6020" v3="6067" />
+ <tetrahedron index="31660" v0="3865" v1="5408" v2="5410" v3="6067" />
+ <tetrahedron index="31661" v0="3865" v1="5410" v2="5586" v3="6067" />
+ <tetrahedron index="31662" v0="4960" v1="5409" v2="6019" v3="6068" />
+ <tetrahedron index="31663" v0="3807" v1="5125" v2="5331" v3="6070" />
+ <tetrahedron index="31664" v0="4928" v1="6428" v2="6429" v3="6851" />
+ <tetrahedron index="31665" v0="3512" v1="3513" v2="5585" v3="6651" />
+ <tetrahedron index="31666" v0="4202" v1="5368" v2="6019" v3="6068" />
+ <tetrahedron index="31667" v0="3678" v1="4319" v2="5409" v3="6068" />
+ <tetrahedron index="31668" v0="4319" v1="5409" v2="6019" v3="6068" />
+ <tetrahedron index="31669" v0="3678" v1="4202" v2="4319" v3="6068" />
+ <tetrahedron index="31670" v0="4202" v1="4319" v2="6019" v3="6068" />
+ <tetrahedron index="31671" v0="3505" v1="3506" v2="5410" v3="6070" />
+ <tetrahedron index="31672" v0="5125" v1="5410" v2="5586" v3="6070" />
+ <tetrahedron index="31673" v0="5045" v1="5125" v2="5586" v3="6070" />
+ <tetrahedron index="31674" v0="5761" v1="6425" v2="6427" v3="6933" />
+ <tetrahedron index="31675" v0="3435" v1="3436" v2="3506" v3="6070" />
+ <tetrahedron index="31676" v0="3435" v1="3506" v2="5409" v3="6070" />
+ <tetrahedron index="31677" v0="3506" v1="4960" v2="5409" v3="6070" />
+ <tetrahedron index="31678" v0="3506" v1="4960" v2="5410" v3="6070" />
+ <tetrahedron index="31679" v0="5156" v1="5760" v2="6425" v3="6933" />
+ <tetrahedron index="31680" v0="3512" v1="3514" v2="3677" v3="6651" />
+ <tetrahedron index="31681" v0="4059" v1="5451" v2="5626" v3="6071" />
+ <tetrahedron index="31682" v0="4059" v1="4688" v2="5626" v3="6071" />
+ <tetrahedron index="31683" v0="4194" v1="5414" v2="6539" v3="6653" />
+ <tetrahedron index="31684" v0="5881" v1="5953" v2="6521" v3="6523" />
+ <tetrahedron index="31685" v0="3411" v1="3825" v2="6108" v3="6680" />
+ <tetrahedron index="31686" v0="5468" v1="5648" v2="6326" v3="6698" />
+ <tetrahedron index="31687" v0="4962" v1="5412" v2="5904" v3="6697" />
+ <tetrahedron index="31688" v0="5170" v1="5783" v2="6106" v3="6443" />
+ <tetrahedron index="31689" v0="5627" v1="5872" v2="6512" v3="6802" />
+ <tetrahedron index="31690" v0="5064" v1="5627" v2="5628" v3="6305" />
+ <tetrahedron index="31691" v0="4963" v1="5415" v2="6313" v3="6787" />
+ <tetrahedron index="31692" v0="4902" v1="5124" v2="5826" v3="6803" />
+ <tetrahedron index="31693" v0="4365" v1="4366" v2="5438" v3="6517" />
+ <tetrahedron index="31694" v0="6551" v1="6764" v2="6894" v3="7010" />
+ <tetrahedron index="31695" v0="5415" v1="6282" v2="6313" v3="6787" />
+ <tetrahedron index="31696" v0="5904" v1="6495" v2="6793" v3="6893" />
+ <tetrahedron index="31697" v0="4193" v1="5414" v2="5626" v3="6304" />
+ <tetrahedron index="31698" v0="4409" v1="5064" v2="5916" v3="6802" />
+ <tetrahedron index="31699" v0="4963" v1="5416" v2="6307" v3="6654" />
+ <tetrahedron index="31700" v0="5905" v1="5906" v2="6534" v3="6540" />
+ <tetrahedron index="31701" v0="4963" v1="5603" v2="6307" v3="6654" />
+ <tetrahedron index="31702" v0="4188" v1="4436" v2="5906" v3="6540" />
+ <tetrahedron index="31703" v0="4850" v1="6278" v2="6654" v3="6783" />
+ <tetrahedron index="31704" v0="4186" v1="4188" v2="4436" v3="6540" />
+ <tetrahedron index="31705" v0="5873" v1="6175" v2="6313" v3="6693" />
+ <tetrahedron index="31706" v0="5459" v1="5460" v2="6123" v3="6692" />
+ <tetrahedron index="31707" v0="5380" v1="6032" v2="6242" v3="6656" />
+ <tetrahedron index="31708" v0="4950" v1="5380" v2="6243" v3="6656" />
+ <tetrahedron index="31709" v0="3350" v1="3650" v2="5418" v3="6076" />
+ <tetrahedron index="31710" v0="4965" v1="5418" v2="5420" v3="6076" />
+ <tetrahedron index="31711" v0="4965" v1="5420" v2="5889" v3="6076" />
+ <tetrahedron index="31712" v0="3547" v1="4668" v2="5849" v3="6077" />
+ <tetrahedron index="31713" v0="3356" v1="4290" v2="4456" v3="6078" />
+ <tetrahedron index="31714" v0="3356" v1="4456" v2="5889" v3="6078" />
+ <tetrahedron index="31715" v0="3349" v1="3350" v2="3351" v3="6078" />
+ <tetrahedron index="31716" v0="3350" v1="3351" v2="5256" v3="6078" />
+ <tetrahedron index="31717" v0="5418" v1="5420" v2="6076" v3="6078" />
+ <tetrahedron index="31718" v0="4440" v1="4441" v2="6151" v3="6152" />
+ <tetrahedron index="31719" v0="3350" v1="5256" v2="6076" v3="6078" />
+ <tetrahedron index="31720" v0="3349" v1="3350" v2="6076" v3="6078" />
+ <tetrahedron index="31721" v0="4441" v1="5491" v2="6151" v3="6152" />
+ <tetrahedron index="31722" v0="3650" v1="5418" v2="5420" v3="6078" />
+ <tetrahedron index="31723" v0="3349" v1="3650" v2="5420" v3="6078" />
+ <tetrahedron index="31724" v0="3840" v1="3841" v2="6085" v3="6661" />
+ <tetrahedron index="31725" v0="5148" v1="5747" v2="6083" v3="6659" />
+ <tetrahedron index="31726" v0="3907" v1="5317" v2="5960" v3="6082" />
+ <tetrahedron index="31727" v0="4928" v1="6080" v2="6428" v3="6571" />
+ <tetrahedron index="31728" v0="4967" v1="5425" v2="6084" v3="6661" />
+ <tetrahedron index="31729" v0="4966" v1="6083" v2="6659" v3="6660" />
+ <tetrahedron index="31730" v0="4938" v1="5994" v2="6585" v3="6908" />
+ <tetrahedron index="31731" v0="4746" v1="4805" v2="5353" v3="6598" />
+ <tetrahedron index="31732" v0="5343" v1="6139" v2="6582" v3="7006" />
+ <tetrahedron index="31733" v0="3867" v1="3907" v2="6082" v3="6658" />
+ <tetrahedron index="31734" v0="3907" v1="4081" v2="4082" v3="6658" />
+ <tetrahedron index="31735" v0="3867" v1="4082" v2="5423" v3="6658" />
+ <tetrahedron index="31736" v0="4081" v1="5317" v2="5961" v3="6658" />
+ <tetrahedron index="31737" v0="4081" v1="5422" v2="5961" v3="6658" />
+ <tetrahedron index="31738" v0="3794" v1="4014" v2="4391" v3="6084" />
+ <tetrahedron index="31739" v0="4918" v1="5286" v2="5287" v3="6257" />
+ <tetrahedron index="31740" v0="4918" v1="5287" v2="6081" v3="6257" />
+ <tetrahedron index="31741" v0="5286" v1="5287" v2="5925" v3="6257" />
+ <tetrahedron index="31742" v0="3866" v1="4006" v2="4007" v3="6257" />
+ <tetrahedron index="31743" v0="5996" v1="6220" v2="6879" v3="6906" />
+ <tetrahedron index="31744" v0="5583" v1="6081" v2="6256" v3="6257" />
+ <tetrahedron index="31745" v0="3514" v1="3677" v2="6068" v3="6651" />
+ <tetrahedron index="31746" v0="3945" v1="4376" v2="5635" v3="6258" />
+ <tetrahedron index="31747" v0="3867" v1="5287" v2="5423" v3="6082" />
+ <tetrahedron index="31748" v0="4928" v1="5317" v2="6082" v3="6571" />
+ <tetrahedron index="31749" v0="4928" v1="5960" v2="6079" v3="6082" />
+ <tetrahedron index="31750" v0="3603" v1="4888" v2="5202" v3="6572" />
+ <tetrahedron index="31751" v0="3603" v1="5137" v2="5820" v3="6572" />
+ <tetrahedron index="31752" v0="5346" v1="6246" v2="6853" v3="6939" />
+ <tetrahedron index="31753" v0="5318" v1="5422" v2="6080" v3="6571" />
+ <tetrahedron index="31754" v0="4918" v1="5421" v2="6079" v3="6082" />
+ <tetrahedron index="31755" v0="4918" v1="5421" v2="6081" v3="6082" />
+ <tetrahedron index="31756" v0="5398" v1="5820" v2="5965" v3="6572" />
+ <tetrahedron index="31757" v0="5202" v1="5820" v2="5965" v3="6572" />
+ <tetrahedron index="31758" v0="3868" v1="3907" v2="5287" v3="6082" />
+ <tetrahedron index="31759" v0="3868" v1="5287" v2="5960" v3="6082" />
+ <tetrahedron index="31760" v0="3868" v1="3907" v2="5960" v3="6082" />
+ <tetrahedron index="31761" v0="5042" v1="5582" v2="5747" v3="6659" />
+ <tetrahedron index="31762" v0="5042" v1="5747" v2="6083" v3="6659" />
+ <tetrahedron index="31763" v0="5315" v1="5435" v2="5960" v3="6854" />
+ <tetrahedron index="31764" v0="5190" v1="5959" v2="6430" v3="6569" />
+ <tetrahedron index="31765" v0="4885" v1="5991" v2="6586" v3="6587" />
+ <tetrahedron index="31766" v0="4953" v1="5388" v2="6040" v3="6623" />
+ <tetrahedron index="31767" v0="3781" v1="5340" v2="5987" v3="6578" />
+ <tetrahedron index="31768" v0="4743" v1="5424" v2="5496" v3="6084" />
+ <tetrahedron index="31769" v0="3576" v1="4743" v2="5496" v3="6084" />
+ <tetrahedron index="31770" v0="4878" v1="5177" v2="6086" v3="6662" />
+ <tetrahedron index="31771" v0="3324" v1="5787" v2="6086" v3="6662" />
+ <tetrahedron index="31772" v0="4878" v1="5788" v2="6086" v3="6662" />
+ <tetrahedron index="31773" v0="3324" v1="5427" v2="5787" v3="6662" />
+ <tetrahedron index="31774" v0="3840" v1="3841" v2="4014" v3="6085" />
+ <tetrahedron index="31775" v0="3841" v1="4014" v2="6084" v3="6085" />
+ <tetrahedron index="31776" v0="4232" v1="5177" v2="5178" v3="6086" />
+ <tetrahedron index="31777" v0="3817" v1="4232" v2="4331" v3="6086" />
+ <tetrahedron index="31778" v0="3817" v1="4331" v2="5429" v3="6086" />
+ <tetrahedron index="31779" v0="5134" v1="6087" v2="6448" v3="6663" />
+ <tetrahedron index="31780" v0="4968" v1="5428" v2="5430" v3="6663" />
+ <tetrahedron index="31781" v0="4089" v1="6087" v2="6448" v3="6663" />
+ <tetrahedron index="31782" v0="4878" v1="5177" v2="5178" v3="6086" />
+ <tetrahedron index="31783" v0="4878" v1="5178" v2="5788" v3="6086" />
+ <tetrahedron index="31784" v0="4232" v1="4344" v2="5178" v3="6086" />
+ <tetrahedron index="31785" v0="4232" v1="4331" v2="4344" v3="6086" />
+ <tetrahedron index="31786" v0="4135" v1="4609" v2="5184" v3="5323" />
+ <tetrahedron index="31787" v0="4609" v1="5184" v2="5321" v3="5323" />
+ <tetrahedron index="31788" v0="5178" v1="5429" v2="5789" v3="6086" />
+ <tetrahedron index="31789" v0="4344" v1="5178" v2="5789" v3="6086" />
+ <tetrahedron index="31790" v0="4945" v1="5792" v2="6386" v3="6449" />
+ <tetrahedron index="31791" v0="4007" v1="4443" v2="5583" v3="6256" />
+ <tetrahedron index="31792" v0="3510" v1="3511" v2="3945" v3="6258" />
+ <tetrahedron index="31793" v0="3510" v1="3945" v2="4376" v3="6258" />
+ <tetrahedron index="31794" v0="4197" v1="4796" v2="5176" v3="6255" />
+ <tetrahedron index="31795" v0="3567" v1="3568" v2="5359" v3="6664" />
+ <tetrahedron index="31796" v0="3939" v1="4197" v2="5580" v3="6255" />
+ <tetrahedron index="31797" v0="6053" v1="6262" v2="6638" v3="6773" />
+ <tetrahedron index="31798" v0="4942" v1="5359" v2="5710" v3="6353" />
+ <tetrahedron index="31799" v0="5431" v1="5710" v2="6089" v3="6353" />
+ <tetrahedron index="31800" v0="4942" v1="5097" v2="5681" v3="6353" />
+ <tetrahedron index="31801" v0="4245" v1="5120" v2="6089" v3="6353" />
+ <tetrahedron index="31802" v0="4842" v1="5689" v2="6531" v3="6828" />
+ <tetrahedron index="31803" v0="4245" v1="5680" v2="6089" v3="6353" />
+ <tetrahedron index="31804" v0="4086" v1="4431" v2="6091" v3="6665" />
+ <tetrahedron index="31805" v0="4245" v1="5432" v2="5680" v3="6089" />
+ <tetrahedron index="31806" v0="4129" v1="4245" v2="5120" v3="6089" />
+ <tetrahedron index="31807" v0="4260" v1="4770" v2="5682" v3="6354" />
+ <tetrahedron index="31808" v0="3555" v1="4078" v2="4129" v3="6089" />
+ <tetrahedron index="31809" v0="4078" v1="4129" v2="5120" v3="6089" />
+ <tetrahedron index="31810" v0="4125" v1="4228" v2="4307" v3="6090" />
+ <tetrahedron index="31811" v0="4125" v1="4307" v2="5434" v3="6090" />
+ <tetrahedron index="31812" v0="4057" v1="5692" v2="5881" v3="6518" />
+ <tetrahedron index="31813" v0="4913" v1="6612" v2="6671" v3="6942" />
+ <tetrahedron index="31814" v0="3366" v1="4057" v2="5692" v3="6518" />
+ <tetrahedron index="31815" v0="5524" v1="5759" v2="5882" v3="6524" />
+ <tetrahedron index="31816" v0="4441" v1="5491" v2="6151" v3="6709" />
+ <tetrahedron index="31817" v0="5993" v1="6666" v2="6667" v3="6911" />
+ <tetrahedron index="31818" v0="5346" v1="6590" v2="6611" v3="6911" />
+ <tetrahedron index="31819" v0="5365" v1="6097" v2="6671" v3="6941" />
+ <tetrahedron index="31820" v0="5473" v1="5702" v2="6436" v3="6771" />
+ <tetrahedron index="31821" v0="5318" v1="5961" v2="6428" v3="6571" />
+ <tetrahedron index="31822" v0="5903" v1="6671" v2="6797" v3="6942" />
+ <tetrahedron index="31823" v0="3366" v1="5106" v2="5878" v3="6518" />
+ <tetrahedron index="31824" v0="4894" v1="6643" v2="6674" v3="6945" />
+ <tetrahedron index="31825" v0="3708" v1="5345" v2="6093" v3="6670" />
+ <tetrahedron index="31826" v0="5993" v1="6666" v2="6667" v3="6670" />
+ <tetrahedron index="31827" v0="5223" v1="5478" v2="5843" v3="6779" />
+ <tetrahedron index="31828" v0="4987" v1="5478" v2="6141" v3="6779" />
+ <tetrahedron index="31829" v0="4895" v1="5223" v2="5843" v3="6779" />
+ <tetrahedron index="31830" v0="3708" v1="5436" v2="6094" v3="6670" />
+ <tetrahedron index="31831" v0="5053" v1="6075" v2="6283" v3="7027" />
+ <tetrahedron index="31832" v0="4895" v1="5223" v2="5844" v3="6779" />
+ <tetrahedron index="31833" v0="4895" v1="5602" v2="6275" v3="6779" />
+ <tetrahedron index="31834" v0="5478" v1="5843" v2="6275" v3="6779" />
+ <tetrahedron index="31835" v0="4936" v1="5941" v2="6922" v3="6983" />
+ <tetrahedron index="31836" v0="3921" v1="4068" v2="5070" v3="6320" />
+ <tetrahedron index="31837" v0="4366" v1="4542" v2="4546" v3="6095" />
+ <tetrahedron index="31838" v0="3921" v1="4387" v2="5642" v3="6320" />
+ <tetrahedron index="31839" v0="4366" v1="4544" v2="4546" v3="6095" />
+ <tetrahedron index="31840" v0="3823" v1="5248" v2="5878" v3="6518" />
+ <tetrahedron index="31841" v0="3921" v1="4068" v2="4161" v3="6320" />
+ <tetrahedron index="31842" v0="5842" v1="6281" v2="6881" v3="6957" />
+ <tetrahedron index="31843" v0="4173" v1="5650" v2="6324" v3="6709" />
+ <tetrahedron index="31844" v0="6153" v1="6155" v2="6710" v3="6957" />
+ <tetrahedron index="31845" v0="5842" v1="6281" v2="6630" v3="6957" />
+ <tetrahedron index="31846" v0="5309" v1="6640" v2="6898" v3="6944" />
+ <tetrahedron index="31847" v0="4971" v1="5439" v2="6099" v3="6100" />
+ <tetrahedron index="31848" v0="5635" v1="6067" v2="6258" v3="6650" />
+ <tetrahedron index="31849" v0="5649" v1="6151" v2="6269" v3="6777" />
+ <tetrahedron index="31850" v0="4614" v1="4816" v2="5477" v3="6653" />
+ <tetrahedron index="31851" v0="4976" v1="6111" v2="6300" v3="6302" />
+ <tetrahedron index="31852" v0="4926" v1="5310" v2="6054" v3="6561" />
+ <tetrahedron index="31853" v0="5063" v1="6111" v2="6300" v3="6302" />
+ <tetrahedron index="31854" v0="5067" v1="5635" v2="6067" v3="6650" />
+ <tetrahedron index="31855" v0="5615" v1="6718" v2="6789" v3="6875" />
+ <tetrahedron index="31856" v0="3994" v1="5290" v2="5292" v3="6169" />
+ <tetrahedron index="31857" v0="4981" v1="5444" v2="6129" v3="6676" />
+ <tetrahedron index="31858" v0="4864" v1="6488" v2="6723" v3="6879" />
+ <tetrahedron index="31859" v0="5050" v1="6604" v2="6777" v3="7008" />
+ <tetrahedron index="31860" v0="5550" v1="6596" v2="6645" v3="6931" />
+ <tetrahedron index="31861" v0="5550" v1="6220" v2="6639" v3="6645" />
+ <tetrahedron index="31862" v0="5221" v1="5550" v2="6596" v3="6645" />
+ <tetrahedron index="31863" v0="4972" v1="4992" v2="5741" v3="6101" />
+ <tetrahedron index="31864" v0="4922" v1="4972" v2="5937" v3="6101" />
+ <tetrahedron index="31865" v0="4922" v1="5442" v2="5937" v3="6101" />
+ <tetrahedron index="31866" v0="4973" v1="5444" v2="6102" v3="6676" />
+ <tetrahedron index="31867" v0="4986" v1="6220" v2="6639" v3="6645" />
+ <tetrahedron index="31868" v0="4848" v1="5403" v2="6060" v3="6865" />
+ <tetrahedron index="31869" v0="4354" v1="4805" v2="5755" v3="6418" />
+ <tetrahedron index="31870" v0="4305" v1="5508" v2="5754" v3="6418" />
+ <tetrahedron index="31871" v0="4305" v1="4354" v2="5153" v3="6418" />
+ <tetrahedron index="31872" v0="5348" v1="6407" v2="6723" v3="6848" />
+ <tetrahedron index="31873" v0="3880" v1="5345" v2="6272" v3="6778" />
+ <tetrahedron index="31874" v0="4996" v1="5492" v2="6153" v3="6710" />
+ <tetrahedron index="31875" v0="4305" v1="5153" v2="5754" v3="6418" />
+ <tetrahedron index="31876" v0="4354" v1="4694" v2="5153" v3="6418" />
+ <tetrahedron index="31877" v0="4373" v1="5286" v2="6257" v3="6905" />
+ <tetrahedron index="31878" v0="4846" v1="5443" v2="5740" v3="6101" />
+ <tetrahedron index="31879" v0="4846" v1="5740" v2="5741" v3="6101" />
+ <tetrahedron index="31880" v0="5305" v1="6033" v2="6034" v3="6550" />
+ <tetrahedron index="31881" v0="4861" v1="6464" v2="6852" v3="6902" />
+ <tetrahedron index="31882" v0="4992" v1="5741" v2="6065" v3="6101" />
+ <tetrahedron index="31883" v0="4874" v1="6949" v2="6979" v3="7015" />
+ <tetrahedron index="31884" v0="4907" v1="5250" v2="5884" v3="6525" />
+ <tetrahedron index="31885" v0="4466" v1="4998" v2="5171" v3="6525" />
+ <tetrahedron index="31886" v0="4846" v1="5741" v2="6065" v3="6101" />
+ <tetrahedron index="31887" v0="4907" v1="5253" v2="5884" v3="6525" />
+ <tetrahedron index="31888" v0="3825" v1="4198" v2="5056" v3="6680" />
+ <tetrahedron index="31889" v0="4946" v1="5371" v2="6019" v3="6614" />
+ <tetrahedron index="31890" v0="5015" v1="6116" v2="6167" v3="6721" />
+ <tetrahedron index="31891" v0="4857" v1="5403" v2="5445" v3="6104" />
+ <tetrahedron index="31892" v0="4629" v1="4724" v2="5551" v3="6914" />
+ <tetrahedron index="31893" v0="4857" v1="4951" v2="4973" v3="6104" />
+ <tetrahedron index="31894" v0="5088" v1="5526" v2="5594" v3="6267" />
+ <tetrahedron index="31895" v0="4058" v1="4489" v2="5197" v3="6427" />
+ <tetrahedron index="31896" v0="4922" v1="5443" v2="6102" v3="6103" />
+ <tetrahedron index="31897" v0="5507" v1="6594" v2="6721" v3="6880" />
+ <tetrahedron index="31898" v0="3825" v1="5056" v2="6108" v3="6680" />
+ <tetrahedron index="31899" v0="4876" v1="5446" v2="6106" v3="6444" />
+ <tetrahedron index="31900" v0="5465" v1="6105" v2="6129" v3="6678" />
+ <tetrahedron index="31901" v0="4993" v1="6519" v2="6699" v3="6953" />
+ <tetrahedron index="31902" v0="4964" v1="6120" v2="6129" v3="6678" />
+ <tetrahedron index="31903" v0="5464" v1="6130" v2="6696" v3="6697" />
+ <tetrahedron index="31904" v0="4451" v1="4543" v2="5884" v3="6525" />
+ <tetrahedron index="31905" v0="4451" v1="4466" v2="4543" v3="6525" />
+ <tetrahedron index="31906" v0="4466" v1="4543" v2="4998" v3="6525" />
+ <tetrahedron index="31907" v0="4907" v1="4998" v2="5250" v3="6525" />
+ <tetrahedron index="31908" v0="4010" v1="4412" v2="5079" v3="6866" />
+ <tetrahedron index="31909" v0="4966" v1="5422" v2="6656" v3="6936" />
+ <tetrahedron index="31910" v0="4962" v1="5465" v2="6072" v3="6536" />
+ <tetrahedron index="31911" v0="4962" v1="6130" v2="6537" v3="6697" />
+ <tetrahedron index="31912" v0="4962" v1="5413" v2="6072" v3="6130" />
+ <tetrahedron index="31913" v0="4926" v1="6640" v2="6774" v3="6898" />
+ <tetrahedron index="31914" v0="3251" v1="5413" v2="5464" v3="6130" />
+ <tetrahedron index="31915" v0="4913" v1="5625" v2="5903" v3="6536" />
+ <tetrahedron index="31916" v0="4926" v1="6263" v2="6774" v3="6898" />
+ <tetrahedron index="31917" v0="4848" v1="6266" v2="6649" v3="6898" />
+ <tetrahedron index="31918" v0="5268" v1="6097" v2="6098" v3="6672" />
+ <tetrahedron index="31919" v0="5162" v1="5447" v2="5732" v3="6107" />
+ <tetrahedron index="31920" v0="4870" v1="5162" v2="5732" v3="6107" />
+ <tetrahedron index="31921" v0="4975" v1="5162" v2="5559" v3="6107" />
+ <tetrahedron index="31922" v0="4870" v1="5162" v2="5559" v3="6107" />
+ <tetrahedron index="31923" v0="3522" v1="3826" v2="5240" v3="6108" />
+ <tetrahedron index="31924" v0="3365" v1="4170" v2="5106" v3="6681" />
+ <tetrahedron index="31925" v0="5006" v1="5692" v2="6178" v3="6681" />
+ <tetrahedron index="31926" v0="4266" v1="4267" v2="4268" v3="6954" />
+ <tetrahedron index="31927" v0="3952" v1="6110" v2="6149" v3="6681" />
+ <tetrahedron index="31928" v0="3952" v1="5513" v2="6110" v3="6681" />
+ <tetrahedron index="31929" v0="3497" v1="5449" v2="5865" v3="6109" />
+ <tetrahedron index="31930" v0="5448" v1="5449" v2="5865" v3="6109" />
+ <tetrahedron index="31931" v0="3497" v1="3616" v2="3875" v3="6109" />
+ <tetrahedron index="31932" v0="3616" v1="3875" v2="5865" v3="6109" />
+ <tetrahedron index="31933" v0="3497" v1="3616" v2="5865" v3="6109" />
+ <tetrahedron index="31934" v0="4944" v1="6016" v2="6686" v3="6947" />
+ <tetrahedron index="31935" v0="5470" v1="5624" v2="6111" v3="6682" />
+ <tetrahedron index="31936" v0="5470" v1="6110" v2="6520" v3="6682" />
+ <tetrahedron index="31937" v0="5170" v1="5783" v2="6444" v3="6865" />
+ <tetrahedron index="31938" v0="4926" v1="5310" v2="6263" v3="6564" />
+ <tetrahedron index="31939" v0="5170" v1="6056" v2="6062" v3="6641" />
+ <tetrahedron index="31940" v0="4905" v1="5248" v2="5879" v3="6521" />
+ <tetrahedron index="31941" v0="4926" v1="5547" v2="5880" v3="6521" />
+ <tetrahedron index="31942" v0="4579" v1="4580" v2="5284" v3="6179" />
+ <tetrahedron index="31943" v0="4580" v1="5150" v2="5284" v3="6179" />
+ <tetrahedron index="31944" v0="4187" v1="5470" v2="6110" v3="6111" />
+ <tetrahedron index="31945" v0="4999" v1="5669" v2="6161" v3="6323" />
+ <tetrahedron index="31946" v0="6290" v1="6791" v2="6792" v3="6863" />
+ <tetrahedron index="31947" v0="5593" v1="5777" v2="6438" v3="6439" />
+ <tetrahedron index="31948" v0="5111" v1="5668" v2="5777" v3="6439" />
+ <tetrahedron index="31949" v0="5045" v1="6069" v2="6651" v3="6932" />
+ <tetrahedron index="31950" v0="5463" v1="6120" v2="6129" v3="6696" />
+ <tetrahedron index="31951" v0="6328" v1="6329" v2="6759" v3="6816" />
+ <tetrahedron index="31952" v0="5250" v1="5884" v2="6759" v3="6816" />
+ <tetrahedron index="31953" v0="5049" v1="5593" v2="6438" v3="6439" />
+ <tetrahedron index="31954" v0="4337" v1="5645" v2="6113" v3="6684" />
+ <tetrahedron index="31955" v0="4908" v1="5645" v2="6113" v3="6684" />
+ <tetrahedron index="31956" v0="4871" v1="5498" v2="6322" v3="6323" />
+ <tetrahedron index="31957" v0="5135" v1="5830" v2="6759" v3="6816" />
+ <tetrahedron index="31958" v0="5655" v1="5910" v2="6330" v3="6817" />
+ <tetrahedron index="31959" v0="4921" v1="5298" v2="5935" v3="6342" />
+ <tetrahedron index="31960" v0="5364" v1="6015" v2="6685" v3="6885" />
+ <tetrahedron index="31961" v0="5844" v1="6153" v2="6492" v3="6494" />
+ <tetrahedron index="31962" v0="4849" v1="6784" v2="6843" v3="6948" />
+ <tetrahedron index="31963" v0="5844" v1="5846" v2="6141" v3="6494" />
+ <tetrahedron index="31964" v0="5223" v1="5844" v2="6141" v3="6494" />
+ <tetrahedron index="31965" v0="5015" v1="5455" v2="5504" v3="6158" />
+ <tetrahedron index="31966" v0="5245" v1="5527" v2="6200" v3="6201" />
+ <tetrahedron index="31967" v0="3262" v1="3892" v2="4832" v3="6741" />
+ <tetrahedron index="31968" v0="4980" v1="5457" v2="6122" v3="6690" />
+ <tetrahedron index="31969" v0="6055" v1="6642" v2="6645" v3="6864" />
+ <tetrahedron index="31970" v0="4964" v1="5875" v2="6105" v3="6689" />
+ <tetrahedron index="31971" v0="4863" v1="5503" v2="6236" v3="6795" />
+ <tetrahedron index="31972" v0="4291" v1="4533" v2="5541" v3="6390" />
+ <tetrahedron index="31973" v0="3609" v1="5035" v2="5570" v3="6390" />
+ <tetrahedron index="31974" v0="5126" v1="5457" v2="5459" v3="6117" />
+ <tetrahedron index="31975" v0="4980" v1="5457" v2="5459" v3="6117" />
+ <tetrahedron index="31976" v0="4993" v1="5487" v2="5878" v3="6517" />
+ <tetrahedron index="31977" v0="3527" v1="3540" v2="4195" v3="6118" />
+ <tetrahedron index="31978" v0="3527" v1="3540" v2="3541" v3="6118" />
+ <tetrahedron index="31979" v0="4997" v1="5613" v2="5876" v3="6515" />
+ <tetrahedron index="31980" v0="3385" v1="4492" v2="6180" v3="6515" />
+ <tetrahedron index="31981" v0="3527" v1="4195" v2="5444" v3="6118" />
+ <tetrahedron index="31982" v0="3734" v1="4492" v2="5613" v3="6515" />
+ <tetrahedron index="31983" v0="5349" v1="6597" v2="6879" v3="6967" />
+ <tetrahedron index="31984" v0="5216" v1="5218" v2="5858" v3="6503" />
+ <tetrahedron index="31985" v0="4740" v1="4741" v2="4826" v3="6119" />
+ <tetrahedron index="31986" v0="4740" v1="4741" v2="5459" v3="6119" />
+ <tetrahedron index="31987" v0="4239" v1="4330" v2="6134" v3="6698" />
+ <tetrahedron index="31988" v0="5156" v1="5413" v2="6072" v3="6130" />
+ <tetrahedron index="31989" v0="5156" v1="5413" v2="5464" v3="6130" />
+ <tetrahedron index="31990" v0="5443" v1="6101" v2="6524" v3="6677" />
+ <tetrahedron index="31991" v0="3578" v1="3580" v2="5571" v3="6390" />
+ <tetrahedron index="31992" v0="5457" v1="6122" v2="6690" v3="6691" />
+ <tetrahedron index="31993" v0="3527" v1="3541" v2="4029" v3="6691" />
+ <tetrahedron index="31994" v0="4533" v1="5541" v2="5570" v3="6390" />
+ <tetrahedron index="31995" v0="4953" v1="5388" v2="6745" v3="6970" />
+ <tetrahedron index="31996" v0="5380" v1="6242" v2="6243" v3="6656" />
+ <tetrahedron index="31997" v0="5460" v1="5462" v2="6125" v3="6127" />
+ <tetrahedron index="31998" v0="4951" v1="6066" v2="6104" v3="6677" />
+ <tetrahedron index="31999" v0="3391" v1="4181" v2="5277" v3="6985" />
+ <tetrahedron index="32000" v0="4195" v1="4981" v2="5444" v3="6129" />
+ <tetrahedron index="32001" v0="4852" v1="5614" v2="6286" v3="6789" />
+ <tetrahedron index="32002" v0="5745" v1="6032" v2="6617" v3="6656" />
+ <tetrahedron index="32003" v0="3527" v1="5444" v2="6118" v3="6691" />
+ <tetrahedron index="32004" v0="4980" v1="5457" v2="6119" v3="6122" />
+ <tetrahedron index="32005" v0="4610" v1="5244" v2="5722" v3="6692" />
+ <tetrahedron index="32006" v0="4705" v1="5126" v2="5722" v3="6692" />
+ <tetrahedron index="32007" v0="4903" v1="5244" v2="5722" v3="6123" />
+ <tetrahedron index="32008" v0="4267" v1="4302" v2="4327" v3="6928" />
+ <tetrahedron index="32009" v0="4903" v1="5245" v2="5722" v3="6123" />
+ <tetrahedron index="32010" v0="5126" v1="5245" v2="5722" v3="6123" />
+ <tetrahedron index="32011" v0="5873" v1="6124" v2="6175" v3="6693" />
+ <tetrahedron index="32012" v0="5511" v1="6124" v2="6175" v3="6693" />
+ <tetrahedron index="32013" v0="5607" v1="6277" v2="6655" v3="6788" />
+ <tetrahedron index="32014" v0="5416" v1="6173" v2="6307" v3="6693" />
+ <tetrahedron index="32015" v0="5168" v1="6287" v2="6789" v3="6792" />
+ <tetrahedron index="32016" v0="6613" v1="6920" v2="6959" v3="6960" />
+ <tetrahedron index="32017" v0="4610" v1="4659" v2="4705" v3="6692" />
+ <tetrahedron index="32018" v0="4487" v1="4705" v2="5722" v3="6692" />
+ <tetrahedron index="32019" v0="4365" v1="4366" v2="4544" v3="6517" />
+ <tetrahedron index="32020" v0="4366" v1="5438" v2="6095" v3="6517" />
+ <tetrahedron index="32021" v0="5461" v1="6126" v2="6128" v3="6694" />
+ <tetrahedron index="32022" v0="5809" v1="6462" v2="6586" v3="6921" />
+ <tetrahedron index="32023" v0="4564" v1="4811" v2="5537" v3="6189" />
+ <tetrahedron index="32024" v0="4987" v1="5477" v2="6460" v3="6977" />
+ <tetrahedron index="32025" v0="4886" v1="6176" v2="6541" v3="6729" />
+ <tetrahedron index="32026" v0="5005" v1="5518" v2="6172" v3="6173" />
+ <tetrahedron index="32027" v0="6231" v1="6233" v2="6312" v3="6965" />
+ <tetrahedron index="32028" v0="4862" v1="6312" v2="6727" v3="6965" />
+ <tetrahedron index="32029" v0="4339" v1="4610" v2="4659" v3="6125" />
+ <tetrahedron index="32030" v0="4926" v1="5310" v2="5311" v3="6564" />
+ <tetrahedron index="32031" v0="4610" v1="4659" v2="5244" v3="6125" />
+ <tetrahedron index="32032" v0="5010" v1="6193" v2="6231" v3="6312" />
+ <tetrahedron index="32033" v0="5522" v1="5873" v2="6175" v3="6313" />
+ <tetrahedron index="32034" v0="5037" v1="5575" v2="6581" v3="6904" />
+ <tetrahedron index="32035" v0="4339" v1="4341" v2="4429" v3="6174" />
+ <tetrahedron index="32036" v0="5007" v1="6057" v2="6646" v3="6835" />
+ <tetrahedron index="32037" v0="4257" v1="4258" v2="5412" v3="6697" />
+ <tetrahedron index="32038" v0="5602" v1="6655" v2="6934" v3="6935" />
+ <tetrahedron index="32039" v0="4980" v1="6117" v2="6121" v3="6128" />
+ <tetrahedron index="32040" v0="6117" v1="6121" v2="6123" v3="6128" />
+ <tetrahedron index="32041" v0="4980" v1="6117" v2="6123" v3="6128" />
+ <tetrahedron index="32042" v0="5416" v1="6124" v2="6127" v3="6128" />
+ <tetrahedron index="32043" v0="5416" v1="5461" v2="6127" v3="6128" />
+ <tetrahedron index="32044" v0="3737" v1="4575" v2="5678" v3="6700" />
+ <tetrahedron index="32045" v0="4365" v1="5438" v2="5878" v3="6517" />
+ <tetrahedron index="32046" v0="4962" v1="5465" v2="6072" v3="6696" />
+ <tetrahedron index="32047" v0="5512" v1="6301" v2="6890" v3="7028" />
+ <tetrahedron index="32048" v0="4981" v1="5463" v2="5464" v3="6696" />
+ <tetrahedron index="32049" v0="5398" v1="5735" v2="6646" v3="6835" />
+ <tetrahedron index="32050" v0="4195" v1="5444" v2="6118" v3="6129" />
+ <tetrahedron index="32051" v0="4237" v1="4238" v2="6324" v3="6698" />
+ <tetrahedron index="32052" v0="3251" v1="4257" v2="4296" v3="6130" />
+ <tetrahedron index="32053" v0="4257" v1="4296" v2="5412" v3="6130" />
+ <tetrahedron index="32054" v0="5106" v1="6149" v2="6681" v3="6953" />
+ <tetrahedron index="32055" v0="4257" v1="5808" v2="6130" v3="6697" />
+ <tetrahedron index="32056" v0="4258" v1="5189" v2="5808" v3="6697" />
+ <tetrahedron index="32057" v0="4257" v1="5412" v2="6130" v3="6697" />
+ <tetrahedron index="32058" v0="5221" v1="6055" v2="6645" v3="6930" />
+ <tetrahedron index="32059" v0="4845" v1="6097" v2="6717" v3="6794" />
+ <tetrahedron index="32060" v0="5189" v1="5874" v2="6460" v3="6538" />
+ <tetrahedron index="32061" v0="5149" v1="5814" v2="6470" v3="6868" />
+ <tetrahedron index="32062" v0="5106" v1="6681" v2="6946" v3="6953" />
+ <tetrahedron index="32063" v0="6520" v1="6681" v2="6946" v3="6953" />
+ <tetrahedron index="32064" v0="5106" v1="5879" v2="6519" v3="6953" />
+ <tetrahedron index="32065" v0="4963" v1="5630" v2="6307" v3="6951" />
+ <tetrahedron index="32066" v0="5364" v1="5845" v2="6494" v3="6884" />
+ <tetrahedron index="32067" v0="4237" v1="5073" v2="6324" v3="6698" />
+ <tetrahedron index="32068" v0="6159" v1="6715" v2="6752" v3="6958" />
+ <tetrahedron index="32069" v0="5073" v1="5648" v2="6324" v3="6698" />
+ <tetrahedron index="32070" v0="5902" v1="6796" v2="6941" v3="6982" />
+ <tetrahedron index="32071" v0="3654" v1="4239" v2="4330" v3="6134" />
+ <tetrahedron index="32072" v0="3462" v1="3464" v2="3861" v3="6134" />
+ <tetrahedron index="32073" v0="3654" v1="4239" v2="4983" v3="6134" />
+ <tetrahedron index="32074" v0="3596" v1="5333" v2="5336" v3="6132" />
+ <tetrahedron index="32075" v0="3595" v1="3596" v2="5336" v3="6132" />
+ <tetrahedron index="32076" v0="3747" v1="3861" v2="3959" v3="6133" />
+ <tetrahedron index="32077" v0="3747" v1="3861" v2="5467" v3="6133" />
+ <tetrahedron index="32078" v0="5073" v1="5649" v2="6324" v3="6327" />
+ <tetrahedron index="32079" v0="3594" v1="3596" v2="3747" v3="6133" />
+ <tetrahedron index="32080" v0="3594" v1="3596" v2="5333" v3="6133" />
+ <tetrahedron index="32081" v0="3596" v1="3747" v2="5333" v3="6133" />
+ <tetrahedron index="32082" v0="3542" v1="5611" v2="6009" v3="6605" />
+ <tetrahedron index="32083" v0="4938" v1="6093" v2="6670" v3="6778" />
+ <tetrahedron index="32084" v0="4239" v1="4733" v2="6325" v3="6395" />
+ <tetrahedron index="32085" v0="3861" v1="3959" v2="5468" v3="6134" />
+ <tetrahedron index="32086" v0="3464" v1="3959" v2="5468" v3="6134" />
+ <tetrahedron index="32087" v0="5160" v1="5772" v2="6334" v3="6701" />
+ <tetrahedron index="32088" v0="4984" v1="5488" v2="6299" v3="6699" />
+ <tetrahedron index="32089" v0="3462" v1="3463" v2="3464" v3="6134" />
+ <tetrahedron index="32090" v0="3462" v1="3463" v2="3654" v3="6134" />
+ <tetrahedron index="32091" v0="4984" v1="5624" v2="6299" v3="6699" />
+ <tetrahedron index="32092" v0="4984" v1="5620" v2="6295" v3="6699" />
+ <tetrahedron index="32093" v0="5470" v1="5624" v2="6520" v3="6699" />
+ <tetrahedron index="32094" v0="4993" v1="5488" v2="6519" v3="6699" />
+ <tetrahedron index="32095" v0="3245" v1="3249" v2="3372" v3="6296" />
+ <tetrahedron index="32096" v0="3446" v1="5621" v2="6685" v3="6796" />
+ <tetrahedron index="32097" v0="3249" v1="3372" v2="5623" v3="6296" />
+ <tetrahedron index="32098" v0="3249" v1="5622" v2="5623" v3="6296" />
+ <tetrahedron index="32099" v0="3372" v1="5455" v2="5623" v3="6296" />
+ <tetrahedron index="32100" v0="3342" v1="3771" v2="5769" v3="6701" />
+ <tetrahedron index="32101" v0="5772" v1="6136" v2="6334" v3="6701" />
+ <tetrahedron index="32102" v0="4978" v1="5454" v2="5455" v3="6296" />
+ <tetrahedron index="32103" v0="4978" v1="5455" v2="5623" v3="6296" />
+ <tetrahedron index="32104" v0="3245" v1="5062" v2="5621" v3="6296" />
+ <tetrahedron index="32105" v0="4153" v1="4575" v2="5146" v3="6135" />
+ <tetrahedron index="32106" v0="4153" v1="5146" v2="5486" v3="6135" />
+ <tetrahedron index="32107" v0="4153" v1="4169" v2="4575" v3="6135" />
+ <tetrahedron index="32108" v0="4863" v1="5439" v2="6097" v3="6150" />
+ <tetrahedron index="32109" v0="5097" v1="5680" v2="5681" v3="6351" />
+ <tetrahedron index="32110" v0="3874" v1="4183" v2="5706" v3="6351" />
+ <tetrahedron index="32111" v0="4970" v1="6090" v2="6092" v3="6665" />
+ <tetrahedron index="32112" v0="4525" v1="4666" v2="5050" v3="6269" />
+ <tetrahedron index="32113" v0="5122" v1="5715" v2="6384" v3="6833" />
+ <tetrahedron index="32114" v0="4495" v1="4792" v2="6151" v3="6777" />
+ <tetrahedron index="32115" v0="4287" v1="4437" v2="6335" v3="6374" />
+ <tetrahedron index="32116" v0="3485" v1="4491" v2="5344" v3="6583" />
+ <tetrahedron index="32117" v0="4266" v1="4493" v2="5343" v3="6139" />
+ <tetrahedron index="32118" v0="4493" v1="5343" v2="5988" v3="6139" />
+ <tetrahedron index="32119" v0="5618" v1="6148" v2="6705" v3="6706" />
+ <tetrahedron index="32120" v0="3287" v1="5618" v2="6583" v3="6706" />
+ <tetrahedron index="32121" v0="5349" v1="6722" v2="6734" v3="7007" />
+ <tetrahedron index="32122" v0="4266" v1="4267" v2="4493" v3="6139" />
+ <tetrahedron index="32123" v0="4267" v1="4493" v2="5342" v3="6139" />
+ <tetrahedron index="32124" v0="5488" v1="6150" v2="6299" v3="6707" />
+ <tetrahedron index="32125" v0="5309" v1="6640" v2="6643" v3="6774" />
+ <tetrahedron index="32126" v0="4975" v1="5447" v2="5448" v3="6680" />
+ <tetrahedron index="32127" v0="4937" v1="5617" v2="6293" v3="6584" />
+ <tetrahedron index="32128" v0="4850" v1="5602" v2="6278" v3="6935" />
+ <tetrahedron index="32129" v0="5464" v1="5808" v2="6696" v3="6697" />
+ <tetrahedron index="32130" v0="5246" v1="5527" v2="5807" v3="6285" />
+ <tetrahedron index="32131" v0="4873" v1="5166" v2="6281" v3="6628" />
+ <tetrahedron index="32132" v0="5168" v1="6613" v2="6862" v3="6960" />
+ <tetrahedron index="32133" v0="4856" v1="5783" v2="6443" v3="6865" />
+ <tetrahedron index="32134" v0="5303" v1="5381" v2="6034" v3="6552" />
+ <tetrahedron index="32135" v0="4848" v1="5396" v2="6056" v3="6775" />
+ <tetrahedron index="32136" v0="5220" v1="6140" v2="6217" v3="6485" />
+ <tetrahedron index="32137" v0="6276" v1="6882" v2="6978" v3="6999" />
+ <tetrahedron index="32138" v0="5616" v1="5783" v2="6106" v3="6679" />
+ <tetrahedron index="32139" v0="6105" v1="6678" v2="6689" v3="6876" />
+ <tetrahedron index="32140" v0="5128" v1="5407" v2="5727" v3="6144" />
+ <tetrahedron index="32141" v0="4929" v1="5480" v2="5964" v3="6144" />
+ <tetrahedron index="32142" v0="5128" v1="5480" v2="5964" v3="6144" />
+ <tetrahedron index="32143" v0="4855" v1="4929" v2="4989" v3="6144" />
+ <tetrahedron index="32144" v0="4855" v1="4989" v2="5883" v3="6144" />
+ <tetrahedron index="32145" v0="4952" v1="5129" v2="5384" v3="6393" />
+ <tetrahedron index="32146" v0="4859" v1="5387" v2="6037" v3="6393" />
+ <tetrahedron index="32147" v0="4278" v1="6040" v2="6410" v3="6619" />
+ <tetrahedron index="32148" v0="4859" v1="5384" v2="6037" v3="6393" />
+ <tetrahedron index="32149" v0="5128" v1="5727" v2="5964" v3="6144" />
+ <tetrahedron index="32150" v0="4929" v1="5727" v2="5964" v3="6144" />
+ <tetrahedron index="32151" v0="5185" v1="5548" v2="5797" v3="6146" />
+ <tetrahedron index="32152" v0="4109" v1="5185" v2="5797" v3="6146" />
+ <tetrahedron index="32153" v0="4108" v1="4109" v2="4110" v3="6146" />
+ <tetrahedron index="32154" v0="4108" v1="4109" v2="5797" v3="6146" />
+ <tetrahedron index="32155" v0="3380" v1="4991" v2="5482" v3="6148" />
+ <tetrahedron index="32156" v0="4109" v1="5185" v2="5798" v3="6146" />
+ <tetrahedron index="32157" v0="5183" v1="5185" v2="5798" v3="6146" />
+ <tetrahedron index="32158" v0="4109" v1="5183" v2="5798" v3="6146" />
+ <tetrahedron index="32159" v0="4108" v1="4110" v2="6146" v3="6147" />
+ <tetrahedron index="32160" v0="4871" v1="6439" v2="6815" v3="6860" />
+ <tetrahedron index="32161" v0="5088" v1="5668" v2="6323" v3="6860" />
+ <tetrahedron index="32162" v0="4871" v1="5594" v2="6683" v3="6860" />
+ <tetrahedron index="32163" v0="5602" v1="6278" v2="6782" v3="6935" />
+ <tetrahedron index="32164" v0="3979" v1="5770" v2="5771" v3="6147" />
+ <tetrahedron index="32165" v0="4990" v1="5770" v2="5771" v3="6147" />
+ <tetrahedron index="32166" v0="3979" v1="4990" v2="5771" v3="6147" />
+ <tetrahedron index="32167" v0="4971" v1="6098" v2="6674" v3="6707" />
+ <tetrahedron index="32168" v0="4917" v1="5617" v2="5990" v3="6584" />
+ <tetrahedron index="32169" v0="4905" v1="6299" v2="6519" v3="6707" />
+ <tetrahedron index="32170" v0="4971" v1="5438" v2="6674" v3="6707" />
+ <tetrahedron index="32171" v0="3380" v1="4598" v2="5482" v3="6148" />
+ <tetrahedron index="32172" v0="5268" v1="6150" v2="6299" v3="6707" />
+ <tetrahedron index="32173" v0="4905" v1="5880" v2="6519" v3="6707" />
+ <tetrahedron index="32174" v0="5439" v1="6098" v2="6099" v3="6150" />
+ <tetrahedron index="32175" v0="4971" v1="6098" v2="6099" v3="6150" />
+ <tetrahedron index="32176" v0="4971" v1="5439" v2="6099" v3="6150" />
+ <tetrahedron index="32177" v0="5546" v1="6096" v2="6218" v3="6674" />
+ <tetrahedron index="32178" v0="5023" v1="5880" v2="6096" v3="6674" />
+ <tetrahedron index="32179" v0="4976" v1="6300" v2="6682" v3="6798" />
+ <tetrahedron index="32180" v0="4976" v1="5451" v2="6111" v3="6302" />
+ <tetrahedron index="32181" v0="4192" v1="5063" v2="5626" v3="6304" />
+ <tetrahedron index="32182" v0="3381" v1="3507" v2="5222" v3="6710" />
+ <tetrahedron index="32183" v0="4704" v1="5600" v2="6272" v3="6273" />
+ <tetrahedron index="32184" v0="4885" v1="5051" v2="5599" v3="6270" />
+ <tetrahedron index="32185" v0="4440" v1="4441" v2="4792" v3="6151" />
+ <tetrahedron index="32186" v0="3974" v1="6264" v2="6265" v3="6562" />
+ <tetrahedron index="32187" v0="5842" v1="6490" v2="6491" v3="6881" />
+ <tetrahedron index="32188" v0="3706" v1="4046" v2="5152" v3="6669" />
+ <tetrahedron index="32189" v0="5110" v1="5698" v2="5700" v3="6370" />
+ <tetrahedron index="32190" v0="4404" v1="4441" v2="5491" v3="6152" />
+ <tetrahedron index="32191" v0="3381" v1="3713" v2="5222" v3="6153" />
+ <tetrahedron index="32192" v0="3713" v1="5222" v2="5843" v3="6153" />
+ <tetrahedron index="32193" v0="3381" v1="3692" v2="5845" v3="6153" />
+ <tetrahedron index="32194" v0="4924" v1="5943" v2="6193" v3="6310" />
+ <tetrahedron index="32195" v0="5648" v1="6325" v2="6395" v3="6698" />
+ <tetrahedron index="32196" v0="5036" v1="5574" v2="6047" v3="6634" />
+ <tetrahedron index="32197" v0="4847" v1="6014" v2="6247" v3="6765" />
+ <tetrahedron index="32198" v0="3247" v1="5364" v2="6115" v3="6493" />
+ <tetrahedron index="32199" v0="3247" v1="3373" v2="3375" v3="6493" />
+ <tetrahedron index="32200" v0="3247" v1="5454" v2="6115" v3="6493" />
+ <tetrahedron index="32201" v0="3381" v1="3692" v2="3713" v3="6153" />
+ <tetrahedron index="32202" v0="3692" v1="3713" v2="5843" v3="6153" />
+ <tetrahedron index="32203" v0="5455" v1="5495" v2="6158" v3="6714" />
+ <tetrahedron index="32204" v0="3716" v1="3994" v2="3995" v3="6169" />
+ <tetrahedron index="32205" v0="5454" v1="5455" v2="6114" v3="6714" />
+ <tetrahedron index="32206" v0="4880" v1="5184" v2="5796" v3="6160" />
+ <tetrahedron index="32207" v0="4880" v1="5185" v2="5798" v3="6160" />
+ <tetrahedron index="32208" v0="4978" v1="5503" v2="5623" v3="6795" />
+ <tetrahedron index="32209" v0="6276" v1="6934" v2="6950" v3="7016" />
+ <tetrahedron index="32210" v0="4944" v1="5494" v2="6115" v3="6884" />
+ <tetrahedron index="32211" v0="6045" v1="6050" v2="6630" v3="6633" />
+ <tetrahedron index="32212" v0="4907" v1="5253" v2="5884" v3="6237" />
+ <tetrahedron index="32213" v0="4657" v1="5497" v2="5499" v3="6160" />
+ <tetrahedron index="32214" v0="5945" v1="6554" v2="6559" v3="6757" />
+ <tetrahedron index="32215" v0="3895" v1="4681" v2="5151" v3="6811" />
+ <tetrahedron index="32216" v0="4681" v1="5151" v2="6316" v3="6811" />
+ <tetrahedron index="32217" v0="5246" v1="5527" v2="6201" v3="6285" />
+ <tetrahedron index="32218" v0="3597" v1="3787" v2="3788" v3="6742" />
+ <tetrahedron index="32219" v0="3523" v1="3542" v2="5866" v3="6605" />
+ <tetrahedron index="32220" v0="4070" v1="4072" v2="6162" v3="6994" />
+ <tetrahedron index="32221" v0="4869" v1="5707" v2="6434" v3="6858" />
+ <tetrahedron index="32222" v0="3332" v1="5355" v2="6007" v3="6203" />
+ <tetrahedron index="32223" v0="5866" v1="6009" v2="6506" v3="6605" />
+ <tetrahedron index="32224" v0="3332" v1="4227" v2="5530" v3="6203" />
+ <tetrahedron index="32225" v0="3331" v1="3332" v2="3632" v3="6203" />
+ <tetrahedron index="32226" v0="4227" v1="5530" v2="6007" v3="6203" />
+ <tetrahedron index="32227" v0="4071" v1="4072" v2="4784" v3="6994" />
+ <tetrahedron index="32228" v0="3495" v1="3542" v2="6109" v3="6605" />
+ <tetrahedron index="32229" v0="4874" v1="6016" v2="6686" v3="6713" />
+ <tetrahedron index="32230" v0="5630" v1="6627" v2="6806" v3="6924" />
+ <tetrahedron index="32231" v0="5364" v1="5846" v2="6494" v3="6885" />
+ <tetrahedron index="32232" v0="3331" v1="5354" v2="5355" v3="6203" />
+ <tetrahedron index="32233" v0="5365" v1="6016" v2="6686" v3="6717" />
+ <tetrahedron index="32234" v0="5503" v1="6165" v2="6713" v3="6717" />
+ <tetrahedron index="32235" v0="4070" v1="5498" v2="6162" v3="6994" />
+ <tetrahedron index="32236" v0="4880" v1="5111" v2="5668" v3="6160" />
+ <tetrahedron index="32237" v0="3651" v1="4427" v2="5111" v3="6164" />
+ <tetrahedron index="32238" v0="5111" v1="5499" v2="6160" v3="6164" />
+ <tetrahedron index="32239" v0="4247" v1="4315" v2="5497" v3="6161" />
+ <tetrahedron index="32240" v0="3959" v1="5164" v2="5468" v3="6326" />
+ <tetrahedron index="32241" v0="3358" v1="3359" v2="3360" v3="6342" />
+ <tetrahedron index="32242" v0="3359" v1="5298" v2="5670" v3="6342" />
+ <tetrahedron index="32243" v0="3358" v1="3422" v2="5298" v3="6342" />
+ <tetrahedron index="32244" v0="3358" v1="3360" v2="5138" v3="6342" />
+ <tetrahedron index="32245" v0="4282" v1="4355" v2="5032" v3="6162" />
+ <tetrahedron index="32246" v0="4355" v1="5032" v2="5647" v3="6162" />
+ <tetrahedron index="32247" v0="4282" v1="4355" v2="5647" v3="6162" />
+ <tetrahedron index="32248" v0="3666" v1="4105" v2="6329" v3="6816" />
+ <tetrahedron index="32249" v0="4977" v1="5776" v2="6321" v3="6441" />
+ <tetrahedron index="32250" v0="4315" v1="5497" v2="5499" v3="6163" />
+ <tetrahedron index="32251" v0="4999" v1="5497" v2="5499" v3="6163" />
+ <tetrahedron index="32252" v0="4070" v1="4315" v2="6161" v3="6163" />
+ <tetrahedron index="32253" v0="5782" v1="6722" v2="6784" v3="6995" />
+ <tetrahedron index="32254" v0="5782" v1="6722" v2="6964" v3="6995" />
+ <tetrahedron index="32255" v0="4977" v1="6112" v2="6438" v3="6441" />
+ <tetrahedron index="32256" v0="3666" v1="5250" v2="5884" v3="6816" />
+ <tetrahedron index="32257" v0="3345" v1="5163" v2="5778" v3="6441" />
+ <tetrahedron index="32258" v0="5255" v1="5776" v2="6321" v3="6441" />
+ <tetrahedron index="32259" v0="4772" v1="5255" v2="5778" v3="6441" />
+ <tetrahedron index="32260" v0="3345" v1="4772" v2="5778" v3="6441" />
+ <tetrahedron index="32261" v0="3348" v1="5113" v2="5891" v3="6814" />
+ <tetrahedron index="32262" v0="4999" v1="5497" v2="6161" v3="6163" />
+ <tetrahedron index="32263" v0="4315" v1="5497" v2="6161" v3="6163" />
+ <tetrahedron index="32264" v0="4451" v1="4618" v2="5884" v3="6816" />
+ <tetrahedron index="32265" v0="3345" v1="5163" v2="5776" v3="6441" />
+ <tetrahedron index="32266" v0="6292" v1="6596" v2="6864" v3="6931" />
+ <tetrahedron index="32267" v0="5031" v1="5566" v2="6238" v3="6240" />
+ <tetrahedron index="32268" v0="5065" v1="6625" v2="6807" v3="6983" />
+ <tetrahedron index="32269" v0="5840" v1="6718" v2="6961" v3="6981" />
+ <tetrahedron index="32270" v0="5454" v1="5494" v2="6157" v3="6714" />
+ <tetrahedron index="32271" v0="5455" v1="5495" v2="6114" v3="6714" />
+ <tetrahedron index="32272" v0="6456" v1="6458" v2="6545" v3="6767" />
+ <tetrahedron index="32273" v0="4961" v1="5416" v2="6173" v3="6725" />
+ <tetrahedron index="32274" v0="4926" v1="6054" v2="6561" v3="6945" />
+ <tetrahedron index="32275" v0="4964" v1="6105" v2="6514" v3="6676" />
+ <tetrahedron index="32276" v0="5062" v1="5620" v2="6297" v3="6795" />
+ <tetrahedron index="32277" v0="5997" v1="6718" v2="6877" v3="6961" />
+ <tetrahedron index="32278" v0="5454" v1="5494" v2="6114" v3="6714" />
+ <tetrahedron index="32279" v0="5841" v1="6724" v2="6849" v3="6878" />
+ <tetrahedron index="32280" v0="4471" v1="5812" v2="6185" v3="6968" />
+ <tetrahedron index="32281" v0="5015" v1="6116" v2="6158" v3="6716" />
+ <tetrahedron index="32282" v0="6140" v1="6421" v2="6645" v3="6930" />
+ <tetrahedron index="32283" v0="5246" v1="6121" v2="6201" v3="6688" />
+ <tetrahedron index="32284" v0="5053" v1="5604" v2="5605" v3="6881" />
+ <tetrahedron index="32285" v0="5001" v1="5504" v2="6100" v3="6168" />
+ <tetrahedron index="32286" v0="4930" v1="5504" v2="6100" v3="6168" />
+ <tetrahedron index="32287" v0="5442" v1="5485" v2="6101" v3="6549" />
+ <tetrahedron index="32288" v0="3765" v1="5441" v2="5937" v3="6549" />
+ <tetrahedron index="32289" v0="4972" v1="4992" v2="6101" v3="6549" />
+ <tetrahedron index="32290" v0="4920" v1="5003" v2="5929" v3="6169" />
+ <tetrahedron index="32291" v0="5292" v1="5929" v2="6024" v3="6169" />
+ <tetrahedron index="32292" v0="4972" v1="4992" v2="5484" v3="6549" />
+ <tetrahedron index="32293" v0="3765" v1="4016" v2="5937" v3="6549" />
+ <tetrahedron index="32294" v0="3417" v1="3661" v2="5401" v3="6647" />
+ <tetrahedron index="32295" v0="5003" v1="5929" v2="6024" v3="6169" />
+ <tetrahedron index="32296" v0="5003" v1="5505" v2="6024" v3="6169" />
+ <tetrahedron index="32297" v0="3312" v1="3314" v2="3402" v3="6401" />
+ <tetrahedron index="32298" v0="4869" v1="5770" v2="6434" v3="6836" />
+ <tetrahedron index="32299" v0="4986" v1="5475" v2="5756" v3="6849" />
+ <tetrahedron index="32300" v0="6044" v1="6309" v2="6807" v3="6810" />
+ <tetrahedron index="32301" v0="4895" v1="5222" v2="6491" v3="6881" />
+ <tetrahedron index="32302" v0="6513" v1="6888" v2="7001" v3="7027" />
+ <tetrahedron index="32303" v0="3777" v1="3992" v2="4670" v3="6490" />
+ <tetrahedron index="32304" v0="5604" v1="5605" v2="6284" v3="6490" />
+ <tetrahedron index="32305" v0="5460" v1="6124" v2="6127" v3="6725" />
+ <tetrahedron index="32306" v0="5761" v1="6176" v2="6541" v3="6729" />
+ <tetrahedron index="32307" v0="5025" v1="5551" v2="5998" v3="6419" />
+ <tetrahedron index="32308" v0="5353" v1="5755" v2="6419" v3="6724" />
+ <tetrahedron index="32309" v0="5153" v1="5755" v2="6418" v3="6724" />
+ <tetrahedron index="32310" v0="5153" v1="6418" v2="6489" v3="6724" />
+ <tetrahedron index="32311" v0="4939" v1="6002" v2="6407" v3="6600" />
+ <tetrahedron index="32312" v0="4340" v1="4341" v2="4779" v3="6172" />
+ <tetrahedron index="32313" v0="4623" v1="5515" v2="6179" v3="6186" />
+ <tetrahedron index="32314" v0="4836" v1="5244" v2="5873" v3="6175" />
+ <tetrahedron index="32315" v0="5244" v1="5873" v2="6124" v3="6175" />
+ <tetrahedron index="32316" v0="4339" v1="4610" v2="6125" v3="6175" />
+ <tetrahedron index="32317" v0="4383" v1="5557" v2="5948" v3="6232" />
+ <tetrahedron index="32318" v0="4341" v1="4429" v2="4582" v3="6174" />
+ <tetrahedron index="32319" v0="4341" v1="5510" v2="6172" v3="6174" />
+ <tetrahedron index="32320" v0="5307" v1="5947" v2="6245" v3="6558" />
+ <tetrahedron index="32321" v0="3519" v1="3530" v2="5749" v3="6410" />
+ <tetrahedron index="32322" v0="3879" v1="5251" v2="5252" v3="6758" />
+ <tetrahedron index="32323" v0="5004" v1="6171" v2="6489" v3="6724" />
+ <tetrahedron index="32324" v0="5745" v1="5746" v2="6032" v3="6617" />
+ <tetrahedron index="32325" v0="5188" v1="6090" v2="6092" v3="6415" />
+ <tetrahedron index="32326" v0="4058" v1="5197" v2="5451" v3="6730" />
+ <tetrahedron index="32327" v0="5300" v1="6729" v2="6850" v3="6966" />
+ <tetrahedron index="32328" v0="6301" v1="6890" v2="6944" v3="6966" />
+ <tetrahedron index="32329" v0="4339" v1="6125" v2="6175" v3="6728" />
+ <tetrahedron index="32330" v0="5193" v1="6014" v2="6430" v3="6765" />
+ <tetrahedron index="32331" v0="4561" v1="4564" v2="5519" v3="6189" />
+ <tetrahedron index="32332" v0="5391" v1="6308" v2="6625" v3="6627" />
+ <tetrahedron index="32333" v0="5511" v1="6124" v2="6693" v3="6728" />
+ <tetrahedron index="32334" v0="6174" v1="6231" v2="6233" v3="6965" />
+ <tetrahedron index="32335" v0="6193" v1="6233" v2="6559" v3="6757" />
+ <tetrahedron index="32336" v0="4383" v1="4393" v2="5557" v3="6232" />
+ <tetrahedron index="32337" v0="4394" v1="4655" v2="5306" v3="6232" />
+ <tetrahedron index="32338" v0="4383" v1="4655" v2="5948" v3="6232" />
+ <tetrahedron index="32339" v0="5023" v1="5546" v2="6096" v3="6674" />
+ <tetrahedron index="32340" v0="4393" v1="4394" v2="5521" v3="6232" />
+ <tetrahedron index="32341" v0="5306" v1="5521" v2="6193" v3="6232" />
+ <tetrahedron index="32342" v0="5391" v1="6308" v2="6627" v3="6806" />
+ <tetrahedron index="32343" v0="5027" v1="5945" v2="6557" v3="6757" />
+ <tetrahedron index="32344" v0="5269" v1="5477" v2="5904" v3="6653" />
+ <tetrahedron index="32345" v0="5149" v1="5814" v2="6001" v3="6868" />
+ <tetrahedron index="32346" v0="4242" v1="4748" v2="5269" v3="6653" />
+ <tetrahedron index="32347" v0="5197" v1="5907" v2="6730" v3="6731" />
+ <tetrahedron index="32348" v0="5080" v1="5271" v2="5910" v3="6731" />
+ <tetrahedron index="32349" v0="5006" v1="5910" v2="6522" v3="6731" />
+ <tetrahedron index="32350" v0="5008" v1="5516" v2="6182" v3="6732" />
+ <tetrahedron index="32351" v0="5005" v1="5510" v2="6172" v3="6965" />
+ <tetrahedron index="32352" v0="4930" v1="5503" v2="6100" v3="6719" />
+ <tetrahedron index="32353" v0="5248" v1="5879" v2="5881" v3="6521" />
+ <tetrahedron index="32354" v0="3367" v1="3368" v2="5547" v3="6523" />
+ <tetrahedron index="32355" v0="5197" v1="6176" v2="6177" v3="6731" />
+ <tetrahedron index="32356" v0="5271" v1="5907" v2="6730" v3="6731" />
+ <tetrahedron index="32357" v0="5197" v1="5907" v2="6541" v3="6731" />
+ <tetrahedron index="32358" v0="5008" v1="5518" v2="6412" v3="6732" />
+ <tetrahedron index="32359" v0="5008" v1="5516" v2="6187" v3="6732" />
+ <tetrahedron index="32360" v0="5470" v1="5624" v2="6520" v3="6682" />
+ <tetrahedron index="32361" v0="5271" v1="5273" v2="5513" v3="6178" />
+ <tetrahedron index="32362" v0="5271" v1="5513" v2="5910" v3="6178" />
+ <tetrahedron index="32363" v0="5271" v1="5273" v2="5910" v3="6178" />
+ <tetrahedron index="32364" v0="5284" v1="5285" v2="5924" v3="6179" />
+ <tetrahedron index="32365" v0="4579" v1="5284" v2="5924" v3="6179" />
+ <tetrahedron index="32366" v0="4524" v1="4579" v2="4581" v3="6179" />
+ <tetrahedron index="32367" v0="4524" v1="4579" v2="5285" v3="6179" />
+ <tetrahedron index="32368" v0="4492" v1="4717" v2="4718" v3="6180" />
+ <tetrahedron index="32369" v0="4492" v1="4718" v2="5516" v3="6180" />
+ <tetrahedron index="32370" v0="4905" v1="5512" v2="6521" v3="6890" />
+ <tetrahedron index="32371" v0="4904" v1="5876" v2="5877" v3="6516" />
+ <tetrahedron index="32372" v0="5614" v1="5877" v2="6289" v3="6792" />
+ <tetrahedron index="32373" v0="3385" v1="4492" v2="4717" v3="6180" />
+ <tetrahedron index="32374" v0="5462" v1="6127" v2="6180" v3="6516" />
+ <tetrahedron index="32375" v0="5750" v1="6182" v2="6412" v3="6734" />
+ <tetrahedron index="32376" v0="5344" v1="5924" v2="5990" v3="6584" />
+ <tetrahedron index="32377" v0="4917" v1="5617" v2="6582" v3="6584" />
+ <tetrahedron index="32378" v0="5649" v1="5650" v2="6324" v3="6709" />
+ <tetrahedron index="32379" v0="5397" v1="6054" v2="6637" v3="6774" />
+ <tetrahedron index="32380" v0="4861" v1="6569" v2="6902" v3="6908" />
+ <tetrahedron index="32381" v0="4922" v1="5443" v2="5740" v3="7022" />
+ <tetrahedron index="32382" v0="5516" v1="6182" v2="6732" v3="6733" />
+ <tetrahedron index="32383" v0="4471" v1="4472" v2="6185" v3="6968" />
+ <tetrahedron index="32384" v0="4930" v1="5841" v2="6675" v3="6720" />
+ <tetrahedron index="32385" v0="5461" v1="6442" v2="6694" v3="6863" />
+ <tetrahedron index="32386" v0="4876" v1="5446" v2="6106" v3="6288" />
+ <tetrahedron index="32387" v0="4997" v1="5614" v2="5876" v3="6288" />
+ <tetrahedron index="32388" v0="4857" v1="5446" v2="5875" v3="6288" />
+ <tetrahedron index="32389" v0="4876" v1="5169" v2="5613" v3="6288" />
+ <tetrahedron index="32390" v0="4939" v1="5352" v2="6002" v3="6600" />
+ <tetrahedron index="32391" v0="4939" v1="5351" v2="5352" v3="6600" />
+ <tetrahedron index="32392" v0="3518" v1="4711" v2="5752" v3="6414" />
+ <tetrahedron index="32393" v0="3518" v1="3519" v2="4711" v3="6414" />
+ <tetrahedron index="32394" v0="5614" v1="5877" v2="6286" v3="6287" />
+ <tetrahedron index="32395" v0="5361" v1="5599" v2="6473" v3="6840" />
+ <tetrahedron index="32396" v0="5877" v1="6182" v2="6286" v3="6287" />
+ <tetrahedron index="32397" v0="5348" v1="6171" v2="6616" v3="6723" />
+ <tetrahedron index="32398" v0="4917" v1="5617" v2="5990" v3="6790" />
+ <tetrahedron index="32399" v0="4876" v1="5445" v2="5446" v3="6288" />
+ <tetrahedron index="32400" v0="3256" v1="4202" v2="6019" v3="6614" />
+ <tetrahedron index="32401" v0="6053" v1="6639" v2="6773" v3="6931" />
+ <tetrahedron index="32402" v0="5227" v1="5847" v2="6338" v3="6496" />
+ <tetrahedron index="32403" v0="4581" v1="4623" v2="5752" v3="6184" />
+ <tetrahedron index="32404" v0="4581" v1="5752" v2="6179" v3="6184" />
+ <tetrahedron index="32405" v0="4581" v1="4623" v2="6179" v3="6184" />
+ <tetrahedron index="32406" v0="4917" v1="6182" v2="6413" v3="6733" />
+ <tetrahedron index="32407" v0="4596" v1="4718" v2="5515" v3="6187" />
+ <tetrahedron index="32408" v0="4504" v1="5538" v2="6621" v3="6736" />
+ <tetrahedron index="32409" v0="5517" v1="5518" v2="6183" v3="6186" />
+ <tetrahedron index="32410" v0="4858" v1="4994" v2="6183" v3="6186" />
+ <tetrahedron index="32411" v0="4994" v1="5150" v2="5752" v3="6186" />
+ <tetrahedron index="32412" v0="4994" v1="5752" v2="6184" v3="6186" />
+ <tetrahedron index="32413" v0="4994" v1="5150" v2="5751" v3="6186" />
+ <tetrahedron index="32414" v0="4858" v1="5150" v2="5751" v3="6186" />
+ <tetrahedron index="32415" v0="4858" v1="4994" v2="5751" v3="6186" />
+ <tetrahedron index="32416" v0="4779" v1="5517" v2="6185" v3="6187" />
+ <tetrahedron index="32417" v0="4340" v1="4718" v2="4779" v3="6187" />
+ <tetrahedron index="32418" v0="4340" v1="4718" v2="5411" v3="6187" />
+ <tetrahedron index="32419" v0="4340" v1="5411" v2="6172" v3="6187" />
+ <tetrahedron index="32420" v0="4340" v1="4779" v2="6172" v3="6187" />
+ <tetrahedron index="32421" v0="4338" v1="5631" v2="6194" v3="6555" />
+ <tetrahedron index="32422" v0="5762" v1="6428" v2="6429" v3="6851" />
+ <tetrahedron index="32423" v0="4467" v1="5009" v2="5519" v3="6189" />
+ <tetrahedron index="32424" v0="4126" v1="4467" v2="4561" v3="6189" />
+ <tetrahedron index="32425" v0="4467" v1="4561" v2="5519" v3="6189" />
+ <tetrahedron index="32426" v0="4911" v1="5995" v2="6222" v3="6592" />
+ <tetrahedron index="32427" v0="4494" v1="5016" v2="5530" v3="6918" />
+ <tetrahedron index="32428" v0="4949" v1="5552" v2="5555" v3="6592" />
+ <tetrahedron index="32429" v0="5379" v1="5610" v2="6229" v3="6592" />
+ <tetrahedron index="32430" v0="6585" v1="6622" v2="6624" v3="6737" />
+ <tetrahedron index="32431" v0="5020" v1="5540" v2="6209" v3="6745" />
+ <tetrahedron index="32432" v0="5020" v1="5556" v2="6209" v3="6745" />
+ <tetrahedron index="32433" v0="4393" v1="4394" v2="4655" v3="6232" />
+ <tetrahedron index="32434" v0="5437" v1="5546" v2="6218" v3="6674" />
+ <tetrahedron index="32435" v0="4655" v1="5946" v2="5948" v3="6232" />
+ <tetrahedron index="32436" v0="4924" v1="5306" v2="5944" v3="6193" />
+ <tetrahedron index="32437" v0="5748" v1="6409" v2="6842" v3="6963" />
+ <tetrahedron index="32438" v0="3752" v1="4578" v2="5289" v3="6274" />
+ <tetrahedron index="32439" v0="4726" v1="5598" v2="5600" v3="6273" />
+ <tetrahedron index="32440" v0="4880" v1="5668" v2="6198" v3="6739" />
+ <tetrahedron index="32441" v0="4043" v1="4444" v2="4652" v3="6192" />
+ <tetrahedron index="32442" v0="4880" v1="5111" v2="5668" v3="6739" />
+ <tetrahedron index="32443" v0="3720" v1="4653" v2="4654" v3="6873" />
+ <tetrahedron index="32444" v0="5520" v1="6624" v2="6737" v3="6738" />
+ <tetrahedron index="32445" v0="4889" v1="5204" v2="5821" v3="6873" />
+ <tetrahedron index="32446" v0="5520" v1="5598" v2="6192" v3="6472" />
+ <tetrahedron index="32447" v0="5065" v1="5943" v2="6311" v3="6555" />
+ <tetrahedron index="32448" v0="5943" v1="6310" v2="6311" v3="6555" />
+ <tetrahedron index="32449" v0="5307" v1="5946" v2="6559" v3="6896" />
+ <tetrahedron index="32450" v0="5010" v1="5523" v2="5944" v3="6193" />
+ <tetrahedron index="32451" v0="5942" v1="5943" v2="6553" v3="6555" />
+ <tetrahedron index="32452" v0="4285" v1="4286" v2="5954" v3="6235" />
+ <tetrahedron index="32453" v0="4000" v1="5144" v2="5656" v3="6332" />
+ <tetrahedron index="32454" v0="4655" v1="5306" v2="5946" v3="6232" />
+ <tetrahedron index="32455" v0="4393" v1="5557" v2="6231" v3="6232" />
+ <tetrahedron index="32456" v0="4393" v1="5521" v2="6231" v3="6232" />
+ <tetrahedron index="32457" v0="4383" v1="4393" v2="4655" v3="6232" />
+ <tetrahedron index="32458" v0="5012" v1="6235" v2="6424" v3="6562" />
+ <tetrahedron index="32459" v0="5840" v1="6718" v2="6789" v3="6875" />
+ <tetrahedron index="32460" v0="4254" v1="5024" v2="5577" v3="6196" />
+ <tetrahedron index="32461" v0="4141" v1="4254" v2="5577" v3="6196" />
+ <tetrahedron index="32462" v0="3556" v1="4550" v2="5800" v3="6453" />
+ <tetrahedron index="32463" v0="5000" v1="5502" v2="5800" v3="6453" />
+ <tetrahedron index="32464" v0="4529" v1="5000" v2="5800" v3="6453" />
+ <tetrahedron index="32465" v0="4313" v1="5432" v2="5500" v3="6453" />
+ <tetrahedron index="32466" v0="5039" v1="5322" v2="5968" v3="6196" />
+ <tetrahedron index="32467" v0="4141" v1="5039" v2="5968" v3="6196" />
+ <tetrahedron index="32468" v0="4141" v1="5039" v2="5577" v3="6196" />
+ <tetrahedron index="32469" v0="5024" v1="5039" v2="5577" v3="6196" />
+ <tetrahedron index="32470" v0="5342" v1="5474" v2="6639" v3="6928" />
+ <tetrahedron index="32471" v0="4969" v1="5432" v2="5500" v3="6453" />
+ <tetrahedron index="32472" v0="4529" v1="4550" v2="5800" v3="6453" />
+ <tetrahedron index="32473" v0="5183" v1="5548" v2="5549" v3="6198" />
+ <tetrahedron index="32474" v0="5503" v1="6097" v2="6165" v3="6717" />
+ <tetrahedron index="32475" v0="5024" v1="5548" v2="5549" v3="6198" />
+ <tetrahedron index="32476" v0="5088" v1="5526" v2="5668" v3="6198" />
+ <tetrahedron index="32477" v0="4880" v1="5088" v2="5668" v3="6198" />
+ <tetrahedron index="32478" v0="5088" v1="5526" v2="5795" v3="6198" />
+ <tetrahedron index="32479" v0="4880" v1="5088" v2="5795" v3="6198" />
+ <tetrahedron index="32480" v0="3461" v1="3726" v2="3896" v3="6200" />
+ <tetrahedron index="32481" v0="3461" v1="3726" v2="4715" v3="6200" />
+ <tetrahedron index="32482" v0="3726" v1="3896" v2="5723" v3="6200" />
+ <tetrahedron index="32483" v0="4832" v1="5395" v2="5495" v3="6740" />
+ <tetrahedron index="32484" v0="3597" v1="3599" v2="3788" v3="6742" />
+ <tetrahedron index="32485" v0="5495" v1="6159" v2="6716" v3="6740" />
+ <tetrahedron index="32486" v0="5528" v1="6202" v2="6716" v3="6740" />
+ <tetrahedron index="32487" v0="5525" v1="5549" v2="6198" v3="6199" />
+ <tetrahedron index="32488" v0="4147" v1="5526" v2="5549" v3="6199" />
+ <tetrahedron index="32489" v0="4147" v1="4422" v2="5549" v3="6199" />
+ <tetrahedron index="32490" v0="3726" v1="4715" v2="5722" v3="6200" />
+ <tetrahedron index="32491" v0="4950" v1="5380" v2="6032" v3="6656" />
+ <tetrahedron index="32492" v0="4964" v1="5875" v2="6105" v3="6514" />
+ <tetrahedron index="32493" v0="4741" v1="5459" v2="5460" v3="6692" />
+ <tetrahedron index="32494" v0="4190" v1="4198" v2="6107" v3="6680" />
+ <tetrahedron index="32495" v0="5344" v1="5990" v2="6583" v3="6706" />
+ <tetrahedron index="32496" v0="4975" v1="5056" v2="6108" v3="6680" />
+ <tetrahedron index="32497" v0="5126" v1="6117" v2="6200" v3="6201" />
+ <tetrahedron index="32498" v0="5126" v1="5245" v2="6200" v3="6201" />
+ <tetrahedron index="32499" v0="4903" v1="5245" v2="6123" v3="6201" />
+ <tetrahedron index="32500" v0="5126" v1="5245" v2="6123" v3="6201" />
+ <tetrahedron index="32501" v0="5126" v1="6117" v2="6123" v3="6201" />
+ <tetrahedron index="32502" v0="4327" v1="4630" v2="5476" v3="6928" />
+ <tetrahedron index="32503" v0="5343" v1="6584" v2="6907" v3="7006" />
+ <tetrahedron index="32504" v0="5015" v1="5378" v2="6202" v3="6741" />
+ <tetrahedron index="32505" v0="5476" v1="5589" v2="6703" v3="6928" />
+ <tetrahedron index="32506" v0="3332" v1="3632" v2="3633" v3="6203" />
+ <tetrahedron index="32507" v0="3332" v1="3633" v2="5530" v3="6203" />
+ <tetrahedron index="32508" v0="4647" v1="5159" v2="5768" v3="6433" />
+ <tetrahedron index="32509" v0="5160" v1="5770" v2="5771" v3="6858" />
+ <tetrahedron index="32510" v0="4869" v1="5707" v2="5772" v3="6858" />
+ <tetrahedron index="32511" v0="5039" v1="5707" v2="5967" v3="6434" />
+ <tetrahedron index="32512" v0="3912" v1="4675" v2="5138" v3="6574" />
+ <tetrahedron index="32513" v0="3656" v1="5530" v2="5531" v3="6433" />
+ <tetrahedron index="32514" v0="5532" v1="5595" v2="6268" v3="6743" />
+ <tetrahedron index="32515" v0="5615" v1="6876" v2="6980" v3="7009" />
+ <tetrahedron index="32516" v0="4934" v1="5676" v2="5981" v3="6743" />
+ <tetrahedron index="32517" v0="3429" v1="4565" v2="5254" v3="6375" />
+ <tetrahedron index="32518" v0="3850" v1="3998" v2="4240" v3="6529" />
+ <tetrahedron index="32519" v0="5102" v1="5704" v2="5892" v3="6375" />
+ <tetrahedron index="32520" v0="5016" v1="5531" v2="5532" v3="6204" />
+ <tetrahedron index="32521" v0="5016" v1="5532" v2="5981" v3="6204" />
+ <tetrahedron index="32522" v0="3353" v1="3429" v2="3430" v3="6375" />
+ <tetrahedron index="32523" v0="3353" v1="3476" v2="4565" v3="6375" />
+ <tetrahedron index="32524" v0="3333" v1="3614" v2="5766" v3="6205" />
+ <tetrahedron index="32525" v0="5337" v1="5766" v2="5981" v3="6205" />
+ <tetrahedron index="32526" v0="5532" v1="5766" v2="5981" v3="6205" />
+ <tetrahedron index="32527" v0="4424" v1="4425" v2="6207" v3="6744" />
+ <tetrahedron index="32528" v0="5536" v1="6207" v2="6463" v3="6744" />
+ <tetrahedron index="32529" v0="3741" v1="3950" v2="5077" v3="6206" />
+ <tetrahedron index="32530" v0="3741" v1="3950" v2="5533" v3="6206" />
+ <tetrahedron index="32531" v0="5007" v1="5533" v2="5535" v3="6206" />
+ <tetrahedron index="32532" v0="5007" v1="5533" v2="5654" v3="6206" />
+ <tetrahedron index="32533" v0="3741" v1="5533" v2="5654" v3="6206" />
+ <tetrahedron index="32534" v0="3741" v1="5077" v2="5654" v3="6206" />
+ <tetrahedron index="32535" v0="4667" v1="5007" v2="5654" v3="6206" />
+ <tetrahedron index="32536" v0="4539" v1="4667" v2="5007" v3="6206" />
+ <tetrahedron index="32537" v0="4539" v1="5007" v2="5535" v3="6206" />
+ <tetrahedron index="32538" v0="3294" v1="3607" v2="5836" v3="6214" />
+ <tetrahedron index="32539" v0="5027" v1="5556" v2="6230" v3="6747" />
+ <tetrahedron index="32540" v0="4292" v1="4455" v2="4773" v3="6211" />
+ <tetrahedron index="32541" v0="4455" v1="5020" v2="5540" v3="6211" />
+ <tetrahedron index="32542" v0="4455" v1="4773" v2="5540" v3="6211" />
+ <tetrahedron index="32543" v0="4867" v1="5810" v2="6465" v3="6467" />
+ <tetrahedron index="32544" v0="5558" v1="6230" v2="6234" v3="6746" />
+ <tetrahedron index="32545" v0="5540" v1="6209" v2="6210" v3="6746" />
+ <tetrahedron index="32546" v0="4446" v1="5540" v2="6210" v3="6746" />
+ <tetrahedron index="32547" v0="4885" v1="5195" v2="5817" v3="6462" />
+ <tetrahedron index="32548" v0="5167" v1="6765" v2="6766" v3="6841" />
+ <tetrahedron index="32549" v0="5762" v1="5959" v2="6851" v3="6894" />
+ <tetrahedron index="32550" v0="5170" v1="6641" v2="6864" v3="6913" />
+ <tetrahedron index="32551" v0="6290" v1="6613" v2="6920" v3="6960" />
+ <tetrahedron index="32552" v0="5749" v1="5816" v2="6462" v3="6470" />
+ <tetrahedron index="32553" v0="5020" v1="5541" v2="6212" v3="6213" />
+ <tetrahedron index="32554" v0="3853" v1="5380" v2="5381" v3="6763" />
+ <tetrahedron index="32555" v0="5951" v1="6301" v2="6850" v3="6966" />
+ <tetrahedron index="32556" v0="3608" v1="3853" v2="5380" v3="6763" />
+ <tetrahedron index="32557" v0="4189" v1="4292" v2="6041" v3="6211" />
+ <tetrahedron index="32558" v0="4446" v1="4470" v2="5192" v3="6746" />
+ <tetrahedron index="32559" v0="4384" v1="4446" v2="4447" v3="6746" />
+ <tetrahedron index="32560" v0="5993" v1="6221" v2="6590" v3="6971" />
+ <tetrahedron index="32561" v0="4279" v1="4773" v2="6040" v3="6211" />
+ <tetrahedron index="32562" v0="4189" v1="4279" v2="4773" v3="6211" />
+ <tetrahedron index="32563" v0="6221" v1="6590" v2="6754" v3="6971" />
+ <tetrahedron index="32564" v0="5762" v1="6428" v2="6465" v3="6467" />
+ <tetrahedron index="32565" v0="6428" v1="6429" v2="6465" v3="6467" />
+ <tetrahedron index="32566" v0="4384" v1="4385" v2="5558" v3="6762" />
+ <tetrahedron index="32567" v0="5539" v1="6041" v2="6211" v3="6749" />
+ <tetrahedron index="32568" v0="6211" v1="6466" v2="6745" v3="6749" />
+ <tetrahedron index="32569" v0="4091" v1="5575" v2="6248" v3="6904" />
+ <tetrahedron index="32570" v0="5035" v1="5571" v2="6243" v3="6245" />
+ <tetrahedron index="32571" v0="4835" v1="5564" v2="6238" v3="6758" />
+ <tetrahedron index="32572" v0="5020" v1="5539" v2="6213" v3="6749" />
+ <tetrahedron index="32573" v0="6041" v1="6208" v2="6620" v3="6749" />
+ <tetrahedron index="32574" v0="5035" v1="5570" v2="5571" v3="6245" />
+ <tetrahedron index="32575" v0="5307" v1="5946" v2="5948" v3="6559" />
+ <tetrahedron index="32576" v0="5035" v1="5947" v2="6243" v3="6245" />
+ <tetrahedron index="32577" v0="5946" v1="5948" v2="6232" v3="6559" />
+ <tetrahedron index="32578" v0="3954" v1="4052" v2="5215" v3="6214" />
+ <tetrahedron index="32579" v0="4893" v1="5215" v2="5217" v3="6214" />
+ <tetrahedron index="32580" v0="4893" v1="5215" v2="5835" v3="6214" />
+ <tetrahedron index="32581" v0="4235" v1="5545" v2="5567" v3="6215" />
+ <tetrahedron index="32582" v0="4236" v1="4484" v2="4521" v3="6215" />
+ <tetrahedron index="32583" v0="4235" v1="4236" v2="4521" v3="6215" />
+ <tetrahedron index="32584" v0="4235" v1="4521" v2="5567" v3="6215" />
+ <tetrahedron index="32585" v0="5023" v1="5547" v2="5839" v3="6216" />
+ <tetrahedron index="32586" v0="3369" v1="5547" v2="5839" v3="6216" />
+ <tetrahedron index="32587" v0="4857" v1="6105" v2="6514" v3="6676" />
+ <tetrahedron index="32588" v0="4327" v1="4595" v2="5476" v3="6486" />
+ <tetrahedron index="32589" v0="5220" v1="5546" v2="6216" v3="6217" />
+ <tetrahedron index="32590" v0="4301" v1="4327" v2="5589" v3="6486" />
+ <tetrahedron index="32591" v0="4846" v1="5145" v2="5741" v3="6422" />
+ <tetrahedron index="32592" v0="5145" v1="5154" v2="5758" v3="6422" />
+ <tetrahedron index="32593" v0="4021" v1="4276" v2="5220" v3="6217" />
+ <tetrahedron index="32594" v0="4021" v1="5220" v2="5546" v3="6217" />
+ <tetrahedron index="32595" v0="3777" v1="5604" v2="6284" v3="6490" />
+ <tetrahedron index="32596" v0="5001" v1="5504" v2="6100" v3="6417" />
+ <tetrahedron index="32597" v0="4304" v1="5440" v2="5754" v3="6417" />
+ <tetrahedron index="32598" v0="4939" v1="6407" v2="6839" v3="6848" />
+ <tetrahedron index="32599" v0="6281" v1="6712" v2="6782" v3="6957" />
+ <tetrahedron index="32600" v0="5493" v1="6155" v2="6710" v3="6957" />
+ <tetrahedron index="32601" v0="4971" v1="5437" v2="5440" v3="6218" />
+ <tetrahedron index="32602" v0="4541" v1="5437" v2="5440" v3="6218" />
+ <tetrahedron index="32603" v0="6596" v1="6645" v2="6864" v3="6931" />
+ <tetrahedron index="32604" v0="4864" v1="5996" v2="6419" v3="6848" />
+ <tetrahedron index="32605" v0="5025" v1="5996" v2="6595" v3="6848" />
+ <tetrahedron index="32606" v0="5342" v1="5482" v2="6262" v3="6773" />
+ <tetrahedron index="32607" v0="3328" v1="3456" v2="6087" v3="6254" />
+ <tetrahedron index="32608" v0="5134" v1="5175" v2="5786" v3="6254" />
+ <tetrahedron index="32609" v0="4612" v1="5154" v2="5757" v3="6422" />
+ <tetrahedron index="32610" v0="4976" v1="6176" v2="6301" v3="6992" />
+ <tetrahedron index="32611" v0="4866" v1="6799" v2="6850" v3="6992" />
+ <tetrahedron index="32612" v0="4631" v1="5475" v2="5756" v3="6420" />
+ <tetrahedron index="32613" v0="5153" v1="5754" v2="6416" v3="6421" />
+ <tetrahedron index="32614" v0="4612" v1="5757" v2="5963" v3="6422" />
+ <tetrahedron index="32615" v0="5437" v1="5754" v2="6416" v3="6421" />
+ <tetrahedron index="32616" v0="4629" v1="4694" v2="4732" v3="6420" />
+ <tetrahedron index="32617" v0="5152" v1="5553" v2="6223" v3="6224" />
+ <tetrahedron index="32618" v0="4832" v1="5395" v2="6740" v3="6927" />
+ <tetrahedron index="32619" v0="5553" v1="6224" v2="6225" v3="6751" />
+ <tetrahedron index="32620" v0="4911" v1="5748" v2="6000" v3="6593" />
+ <tetrahedron index="32621" v0="5015" v1="5529" v2="6167" v3="6594" />
+ <tetrahedron index="32622" v0="4911" v1="6000" v2="6013" v3="6222" />
+ <tetrahedron index="32623" v0="4911" v1="6000" v2="6222" v3="6593" />
+ <tetrahedron index="32624" v0="5093" v1="5768" v2="6432" v3="6857" />
+ <tetrahedron index="32625" v0="6188" v1="6726" v2="6841" v3="6964" />
+ <tetrahedron index="32626" v0="5361" v1="6222" v2="6228" v3="6593" />
+ <tetrahedron index="32627" v0="5307" v1="5947" v2="6245" v3="6748" />
+ <tetrahedron index="32628" v0="4884" v1="5556" v2="6209" v3="6230" />
+ <tetrahedron index="32629" v0="4839" v1="5194" v2="5815" v3="6474" />
+ <tetrahedron index="32630" v0="4726" v1="4780" v2="5598" v3="6474" />
+ <tetrahedron index="32631" v0="3720" v1="5203" v2="6475" v3="6873" />
+ <tetrahedron index="32632" v0="5051" v1="5815" v2="6473" v3="6474" />
+ <tetrahedron index="32633" v0="5223" v1="5844" v2="6141" v3="6779" />
+ <tetrahedron index="32634" v0="3880" v1="4273" v2="5345" v3="6272" />
+ <tetrahedron index="32635" v0="3880" v1="4567" v2="4704" v3="6272" />
+ <tetrahedron index="32636" v0="4673" v1="5655" v2="5711" v3="6330" />
+ <tetrahedron index="32637" v0="6202" v1="6740" v2="6741" v3="6927" />
+ <tetrahedron index="32638" v0="4252" v1="5549" v2="6219" v3="6253" />
+ <tetrahedron index="32639" v0="4046" v1="5152" v2="5362" v3="6669" />
+ <tetrahedron index="32640" v0="3706" v1="5152" v2="5753" v3="6669" />
+ <tetrahedron index="32641" v0="5599" v1="6221" v2="6587" v3="6590" />
+ <tetrahedron index="32642" v0="5047" v1="6052" v2="6637" v3="6775" />
+ <tetrahedron index="32643" v0="4873" v1="6046" v2="6156" v3="6753" />
+ <tetrahedron index="32644" v0="5493" v1="6050" v2="6630" v3="6633" />
+ <tetrahedron index="32645" v0="3979" v1="5770" v2="5771" v3="6437" />
+ <tetrahedron index="32646" v0="4287" v1="5703" v2="6335" v3="6374" />
+ <tetrahedron index="32647" v0="4251" v1="4252" v2="4253" v3="6253" />
+ <tetrahedron index="32648" v0="3806" v1="5576" v2="5709" v3="6251" />
+ <tetrahedron index="32649" v0="4045" v1="4761" v2="5026" v3="6226" />
+ <tetrahedron index="32650" v0="5026" v1="5555" v2="6223" v3="6226" />
+ <tetrahedron index="32651" v0="5152" v1="5362" v2="6223" v3="6226" />
+ <tetrahedron index="32652" v0="4045" v1="4120" v2="4761" v3="6226" />
+ <tetrahedron index="32653" v0="4849" v1="6170" v2="6784" v3="6963" />
+ <tetrahedron index="32654" v0="6290" v1="6920" v2="6980" v3="7016" />
+ <tetrahedron index="32655" v0="4396" v1="4400" v2="6194" v3="6785" />
+ <tetrahedron index="32656" v0="5415" v1="5632" v2="6194" v3="6280" />
+ <tetrahedron index="32657" v0="3867" v1="5423" v2="6082" v3="6658" />
+ <tetrahedron index="32658" v0="5065" v1="5632" v2="6280" v3="6311" />
+ <tetrahedron index="32659" v0="5362" v1="5552" v2="5555" v3="6229" />
+ <tetrahedron index="32660" v0="4044" v1="4111" v2="5555" v3="6229" />
+ <tetrahedron index="32661" v0="4943" v1="5362" v2="5552" v3="6229" />
+ <tetrahedron index="32662" v0="4943" v1="6013" v2="6222" v3="6229" />
+ <tetrahedron index="32663" v0="5511" v1="5522" v2="6312" v3="6756" />
+ <tetrahedron index="32664" v0="4949" v1="5995" v2="6030" v3="6594" />
+ <tetrahedron index="32665" v0="5053" v1="5604" v2="6142" v3="6881" />
+ <tetrahedron index="32666" v0="5361" v1="5552" v2="6222" v3="6228" />
+ <tetrahedron index="32667" v0="5511" v1="6174" v2="6312" v3="6756" />
+ <tetrahedron index="32668" v0="4419" v1="4420" v2="5522" v3="6756" />
+ <tetrahedron index="32669" v0="4392" v1="4419" v2="4420" v3="6756" />
+ <tetrahedron index="32670" v0="4392" v1="4419" v2="4429" v3="6756" />
+ <tetrahedron index="32671" v0="4943" v1="5552" v2="6222" v3="6229" />
+ <tetrahedron index="32672" v0="4111" v1="5379" v2="5610" v3="6229" />
+ <tetrahedron index="32673" v0="4111" v1="4112" v2="4664" v3="6229" />
+ <tetrahedron index="32674" v0="4111" v1="4664" v2="5610" v3="6229" />
+ <tetrahedron index="32675" v0="4664" v1="5610" v2="6013" v3="6229" />
+ <tetrahedron index="32676" v0="4112" v1="4664" v2="6013" v3="6229" />
+ <tetrahedron index="32677" v0="4911" v1="5348" v2="6002" v3="6917" />
+ <tetrahedron index="32678" v0="5193" v1="6469" v2="6855" v3="6989" />
+ <tetrahedron index="32679" v0="5361" v1="6228" v2="6409" v3="6593" />
+ <tetrahedron index="32680" v0="4862" v1="6193" v2="6554" v3="6757" />
+ <tetrahedron index="32681" v0="6052" v1="6053" v2="6638" v3="6976" />
+ <tetrahedron index="32682" v0="4862" v1="6193" v2="6233" v3="6757" />
+ <tetrahedron index="32683" v0="5027" v1="5557" v2="5558" v3="6234" />
+ <tetrahedron index="32684" v0="4390" v1="5415" v2="6282" v3="6313" />
+ <tetrahedron index="32685" v0="6193" v1="6554" v2="6559" v3="6757" />
+ <tetrahedron index="32686" v0="5511" v1="5522" v2="6312" v3="6313" />
+ <tetrahedron index="32687" v0="5843" v1="6275" v2="6491" v3="6998" />
+ <tetrahedron index="32688" v0="5415" v1="5632" v2="6280" v3="6313" />
+ <tetrahedron index="32689" v0="5510" v1="6174" v2="6231" v3="6233" />
+ <tetrahedron index="32690" v0="5510" v1="5557" v2="6231" v3="6233" />
+ <tetrahedron index="32691" v0="4963" v1="5632" v2="6280" v3="6313" />
+ <tetrahedron index="32692" v0="4390" v1="5873" v2="6282" v3="6313" />
+ <tetrahedron index="32693" v0="4383" v1="5557" v2="5558" v3="6234" />
+ <tetrahedron index="32694" v0="4383" v1="4447" v2="4582" v3="6234" />
+ <tetrahedron index="32695" v0="4383" v1="4447" v2="5558" v3="6234" />
+ <tetrahedron index="32696" v0="4471" v1="4582" v2="5510" v3="6234" />
+ <tetrahedron index="32697" v0="4471" v1="5510" v2="5812" v3="6234" />
+ <tetrahedron index="32698" v0="4447" v1="4471" v2="4582" v3="6234" />
+ <tetrahedron index="32699" v0="4447" v1="4471" v2="5812" v3="6234" />
+ <tetrahedron index="32700" v0="5300" v1="5524" v2="6266" v3="6424" />
+ <tetrahedron index="32701" v0="3941" v1="3942" v2="3943" v3="6821" />
+ <tetrahedron index="32702" v0="5001" v1="5030" v2="5623" v3="6236" />
+ <tetrahedron index="32703" v0="5270" v1="6015" v2="6612" v3="6796" />
+ <tetrahedron index="32704" v0="4936" v1="5941" v2="6899" v3="6983" />
+ <tetrahedron index="32705" v0="4892" v1="5030" v2="5562" v3="6236" />
+ <tetrahedron index="32706" v0="5030" v1="5622" v2="5623" v3="6236" />
+ <tetrahedron index="32707" v0="5062" v1="5622" v2="5623" v3="6236" />
+ <tetrahedron index="32708" v0="5268" v1="5902" v2="6150" v3="6299" />
+ <tetrahedron index="32709" v0="4892" v1="5030" v2="5622" v3="6236" />
+ <tetrahedron index="32710" v0="4907" v1="6239" v2="6240" v3="6759" />
+ <tetrahedron index="32711" v0="4867" v1="6428" v2="6467" v3="6761" />
+ <tetrahedron index="32712" v0="5031" v1="5564" v2="6237" v3="6240" />
+ <tetrahedron index="32713" v0="3799" v1="3899" v2="5253" v3="6237" />
+ <tetrahedron index="32714" v0="3899" v1="5253" v2="5564" v3="6237" />
+ <tetrahedron index="32715" v0="3592" v1="3799" v2="3899" v3="6237" />
+ <tetrahedron index="32716" v0="4041" v1="5564" v2="5565" v3="6237" />
+ <tetrahedron index="32717" v0="3592" v1="4041" v2="5565" v3="6237" />
+ <tetrahedron index="32718" v0="3592" v1="3899" v2="4041" v3="6237" />
+ <tetrahedron index="32719" v0="3899" v1="4041" v2="5564" v3="6237" />
+ <tetrahedron index="32720" v0="5334" v1="5981" v2="6137" v3="6348" />
+ <tetrahedron index="32721" v0="4519" v1="5104" v2="5259" v3="6241" />
+ <tetrahedron index="32722" v0="4907" v1="5250" v2="6328" v3="6759" />
+ <tetrahedron index="32723" v0="4891" v1="6239" v2="6329" v3="6759" />
+ <tetrahedron index="32724" v0="4910" v1="5568" v2="5896" v3="6241" />
+ <tetrahedron index="32725" v0="4603" v1="5568" v2="5896" v3="6241" />
+ <tetrahedron index="32726" v0="4985" v1="5660" v2="5661" v3="6334" />
+ <tetrahedron index="32727" v0="3598" v1="5659" v2="6251" v3="6831" />
+ <tetrahedron index="32728" v0="4673" v1="4831" v2="5711" v3="6330" />
+ <tetrahedron index="32729" v0="4867" v1="5947" v2="6748" v3="6761" />
+ <tetrahedron index="32730" v0="5127" v1="6213" v2="6467" v3="6761" />
+ <tetrahedron index="32731" v0="5035" v1="5947" v2="6243" v3="6761" />
+ <tetrahedron index="32732" v0="4867" v1="6213" v2="6748" v3="6761" />
+ <tetrahedron index="32733" v0="5196" v1="5910" v2="6330" v3="6817" />
+ <tetrahedron index="32734" v0="4105" v1="5211" v2="5830" v3="6329" />
+ <tetrahedron index="32735" v0="5052" v1="5651" v2="6239" v3="6329" />
+ <tetrahedron index="32736" v0="3665" v1="3666" v2="4105" v3="6329" />
+ <tetrahedron index="32737" v0="3665" v1="3666" v2="6328" v3="6329" />
+ <tetrahedron index="32738" v0="5651" v1="6239" v2="6328" v3="6329" />
+ <tetrahedron index="32739" v0="5160" v1="5772" v2="6701" v3="6858" />
+ <tetrahedron index="32740" v0="4934" v1="5676" v2="5981" v3="6348" />
+ <tetrahedron index="32741" v0="4868" v1="5981" v2="6137" v3="6348" />
+ <tetrahedron index="32742" v0="3684" v1="5582" v2="6659" v3="6938" />
+ <tetrahedron index="32743" v0="5318" v1="5422" v2="5961" v3="6242" />
+ <tetrahedron index="32744" v0="3486" v1="5422" v2="5961" v3="6242" />
+ <tetrahedron index="32745" v0="3818" v1="3819" v2="3888" v3="6618" />
+ <tetrahedron index="32746" v0="3255" v1="3818" v2="3819" v3="6618" />
+ <tetrahedron index="32747" v0="3255" v1="3819" v2="5371" v3="6618" />
+ <tetrahedron index="32748" v0="4514" v1="5318" v2="5961" v3="6242" />
+ <tetrahedron index="32749" v0="3486" v1="4514" v2="5961" v3="6242" />
+ <tetrahedron index="32750" v0="6292" v1="6443" v2="6864" v3="6913" />
+ <tetrahedron index="32751" v0="5811" v1="6414" v2="6468" v3="6870" />
+ <tetrahedron index="32752" v0="5948" v1="6244" v2="6747" v3="6762" />
+ <tetrahedron index="32753" v0="5572" v1="6246" v2="6634" v3="6903" />
+ <tetrahedron index="32754" v0="4992" v1="5407" v2="5727" v3="6392" />
+ <tetrahedron index="32755" v0="5035" v1="5947" v2="6245" v3="6748" />
+ <tetrahedron index="32756" v0="5020" v1="6212" v2="6747" v3="6762" />
+ <tetrahedron index="32757" v0="6639" v1="6703" v2="6931" v3="7012" />
+ <tetrahedron index="32758" v0="4847" v1="5959" v2="6246" v3="6764" />
+ <tetrahedron index="32759" v0="5380" v1="5571" v2="6243" v3="6245" />
+ <tetrahedron index="32760" v0="4950" v1="5380" v2="6243" v3="6245" />
+ <tetrahedron index="32761" v0="6726" v1="6727" v2="6856" v3="6975" />
+ <tetrahedron index="32762" v0="6247" v1="6632" v2="6753" v3="6923" />
+ <tetrahedron index="32763" v0="4760" v1="6029" v2="6225" v3="6927" />
+ <tetrahedron index="32764" v0="4873" v1="5166" v2="6626" v3="6633" />
+ <tetrahedron index="32765" v0="5042" v1="6567" v2="6579" v3="6905" />
+ <tetrahedron index="32766" v0="5065" v1="6280" v2="6808" v3="6924" />
+ <tetrahedron index="32767" v0="6014" v1="6587" v2="6611" v3="6754" />
+ <tetrahedron index="32768" v0="5361" v1="6014" v2="6409" v3="6754" />
+ <tetrahedron index="32769" v0="5572" v1="6247" v2="6611" v3="6754" />
+ <tetrahedron index="32770" v0="5361" v1="6228" v2="6409" v3="6754" />
+ <tetrahedron index="32771" v0="4775" v1="5393" v2="6048" v3="6248" />
+ <tetrahedron index="32772" v0="4775" v1="4829" v2="6048" v3="6248" />
+ <tetrahedron index="32773" v0="3780" v1="4091" v2="4775" v3="6248" />
+ <tetrahedron index="32774" v0="3780" v1="4775" v2="5393" v3="6248" />
+ <tetrahedron index="32775" v0="4918" v1="6081" v2="6257" v3="6905" />
+ <tetrahedron index="32776" v0="5574" v1="6047" v2="6048" v3="6248" />
+ <tetrahedron index="32777" v0="5393" v1="6047" v2="6048" v3="6248" />
+ <tetrahedron index="32778" v0="5574" v1="6249" v2="6458" v3="6769" />
+ <tetrahedron index="32779" v0="4882" v1="6092" v2="6666" v3="6769" />
+ <tetrahedron index="32780" v0="5016" v1="5676" v2="5981" v3="6743" />
+ <tetrahedron index="32781" v0="3612" v1="3805" v2="3806" v3="6251" />
+ <tetrahedron index="32782" v0="4445" v1="4454" v2="4789" v3="6249" />
+ <tetrahedron index="32783" v0="4846" v1="5145" v2="5758" v3="6422" />
+ <tetrahedron index="32784" v0="5112" v1="5576" v2="6252" v3="6771" />
+ <tetrahedron index="32785" v0="5599" v1="5991" v2="6270" v3="6590" />
+ <tetrahedron index="32786" v0="4938" v1="5991" v2="6270" v3="6590" />
+ <tetrahedron index="32787" v0="4955" v1="5528" v2="6159" v3="6752" />
+ <tetrahedron index="32788" v0="3776" v1="3778" v2="4400" v3="6809" />
+ <tetrahedron index="32789" v0="4869" v1="5702" v2="6252" v3="6771" />
+ <tetrahedron index="32790" v0="5576" v1="5709" v2="5968" v3="6771" />
+ <tetrahedron index="32791" v0="5039" v1="5576" v2="5968" v3="6771" />
+ <tetrahedron index="32792" v0="5707" v1="5709" v2="6436" v3="6771" />
+ <tetrahedron index="32793" v0="5039" v1="5707" v2="6252" v3="6771" />
+ <tetrahedron index="32794" v0="3831" v1="4145" v2="5112" v3="6251" />
+ <tetrahedron index="32795" v0="3831" v1="5112" v2="5659" v3="6251" />
+ <tetrahedron index="32796" v0="3598" v1="3831" v2="4145" v3="6251" />
+ <tetrahedron index="32797" v0="4979" v1="5703" v2="6373" v3="6832" />
+ <tetrahedron index="32798" v0="4802" v1="5576" v2="5577" v3="6252" />
+ <tetrahedron index="32799" v0="4802" v1="5577" v2="5736" v3="6252" />
+ <tetrahedron index="32800" v0="5139" v1="5456" v2="5703" v3="6399" />
+ <tetrahedron index="32801" v0="4869" v1="5770" v2="5773" v3="6399" />
+ <tetrahedron index="32802" v0="6279" v1="6784" v2="6862" v3="6995" />
+ <tetrahedron index="32803" v0="4878" v1="5175" v2="5788" v3="6772" />
+ <tetrahedron index="32804" v0="4878" v1="5788" v2="6662" v3="6772" />
+ <tetrahedron index="32805" v0="4422" v1="4798" v2="5024" v3="6253" />
+ <tetrahedron index="32806" v0="5134" v1="5175" v2="5788" v3="6254" />
+ <tetrahedron index="32807" v0="5904" v1="6495" v2="6793" v3="6977" />
+ <tetrahedron index="32808" v0="5342" v1="5482" v2="5988" v3="6773" />
+ <tetrahedron index="32809" v0="5681" v1="6088" v2="6352" v3="6664" />
+ <tetrahedron index="32810" v0="3567" v1="5359" v2="5681" v3="6664" />
+ <tetrahedron index="32811" v0="3795" v1="5428" v2="5430" v3="6254" />
+ <tetrahedron index="32812" v0="3749" v1="3795" v2="5430" v3="6254" />
+ <tetrahedron index="32813" v0="4942" v1="5681" v2="6353" v3="6664" />
+ <tetrahedron index="32814" v0="5681" v1="6352" v2="6353" v3="6664" />
+ <tetrahedron index="32815" v0="3327" v1="3749" v2="5430" v3="6254" />
+ <tetrahedron index="32816" v0="3327" v1="5430" v2="6087" v3="6254" />
+ <tetrahedron index="32817" v0="3327" v1="3749" v2="6087" v3="6254" />
+ <tetrahedron index="32818" v0="3456" v1="3810" v2="5175" v3="6254" />
+ <tetrahedron index="32819" v0="3810" v1="5175" v2="5786" v3="6254" />
+ <tetrahedron index="32820" v0="3456" v1="3810" v2="5134" v3="6254" />
+ <tetrahedron index="32821" v0="3810" v1="5134" v2="5786" v3="6254" />
+ <tetrahedron index="32822" v0="5346" v1="5991" v2="6590" v3="6908" />
+ <tetrahedron index="32823" v0="5482" v1="6260" v2="6262" v3="6773" />
+ <tetrahedron index="32824" v0="3867" v1="5287" v2="5423" v3="6256" />
+ <tetrahedron index="32825" v0="3704" v1="3867" v2="5423" v3="6256" />
+ <tetrahedron index="32826" v0="4376" v1="5586" v2="6067" v3="6258" />
+ <tetrahedron index="32827" v0="3510" v1="3808" v2="5329" v3="6258" />
+ <tetrahedron index="32828" v0="3704" v1="3866" v2="3867" v3="6256" />
+ <tetrahedron index="32829" v0="3866" v1="3867" v2="5287" v3="6256" />
+ <tetrahedron index="32830" v0="3866" v1="4137" v2="5287" v3="6257" />
+ <tetrahedron index="32831" v0="3991" v1="4399" v2="5986" v3="6580" />
+ <tetrahedron index="32832" v0="5037" v1="5958" v2="6567" v3="6901" />
+ <tetrahedron index="32833" v0="5025" v1="5996" v2="6595" v3="6906" />
+ <tetrahedron index="32834" v0="5550" v1="6597" v2="6879" v3="6906" />
+ <tetrahedron index="32835" v0="5037" v1="5984" v2="6577" v3="6901" />
+ <tetrahedron index="32836" v0="3704" v1="3866" v2="4007" v3="6257" />
+ <tetrahedron index="32837" v0="3704" v1="4007" v2="6256" v3="6257" />
+ <tetrahedron index="32838" v0="3704" v1="3866" v2="6256" v3="6257" />
+ <tetrahedron index="32839" v0="3975" v1="5047" v2="5588" v3="6259" />
+ <tetrahedron index="32840" v0="4848" v1="5524" v2="5590" v3="6266" />
+ <tetrahedron index="32841" v0="5197" v1="6071" v2="6427" v3="6652" />
+ <tetrahedron index="32842" v0="5300" v1="5951" v2="6103" v3="6266" />
+ <tetrahedron index="32843" v0="4856" v1="5588" v2="6052" v3="6259" />
+ <tetrahedron index="32844" v0="4856" v1="5396" v2="6052" v3="6259" />
+ <tetrahedron index="32845" v0="3257" v1="3975" v2="5046" v3="6259" />
+ <tetrahedron index="32846" v0="3257" v1="3975" v2="5588" v3="6259" />
+ <tetrahedron index="32847" v0="4937" v1="5482" v2="6148" v3="6706" />
+ <tetrahedron index="32848" v0="3485" v1="4598" v2="5344" v3="6706" />
+ <tetrahedron index="32849" v0="3975" v1="5047" v2="5588" v3="6261" />
+ <tetrahedron index="32850" v0="5481" v1="6434" v2="6573" v3="6836" />
+ <tetrahedron index="32851" v0="6105" v1="6129" v2="6676" v3="6892" />
+ <tetrahedron index="32852" v0="3483" v1="5310" v2="5952" v3="6261" />
+ <tetrahedron index="32853" v0="5446" v1="6289" v2="6487" v3="6875" />
+ <tetrahedron index="32854" v0="3243" v1="4327" v2="4595" v3="6486" />
+ <tetrahedron index="32855" v0="4848" v1="5951" v2="6062" v3="6649" />
+ <tetrahedron index="32856" v0="4922" v1="5740" v2="6984" v3="7022" />
+ <tetrahedron index="32857" v0="5816" v1="6462" v2="6623" v3="6844" />
+ <tetrahedron index="32858" v0="5439" v1="6675" v2="6719" v3="6929" />
+ <tetrahedron index="32859" v0="6166" v1="6719" v2="6720" v3="6962" />
+ <tetrahedron index="32860" v0="4874" v1="6116" v2="6713" v3="6962" />
+ <tetrahedron index="32861" v0="4973" v1="5444" v2="6514" v3="6676" />
+ <tetrahedron index="32862" v0="6098" v1="6644" v2="6675" v3="6929" />
+ <tetrahedron index="32863" v0="4508" v1="5482" v2="5588" v3="6262" />
+ <tetrahedron index="32864" v0="4302" v1="4508" v2="5342" v3="6262" />
+ <tetrahedron index="32865" v0="4508" v1="5342" v2="5482" v3="6262" />
+ <tetrahedron index="32866" v0="4301" v1="5589" v2="6261" v3="6262" />
+ <tetrahedron index="32867" v0="3975" v1="4301" v2="6261" v3="6262" />
+ <tetrahedron index="32868" v0="3659" v1="5526" v2="5594" v3="6267" />
+ <tetrahedron index="32869" v0="5170" v1="5950" v2="6062" v3="6641" />
+ <tetrahedron index="32870" v0="4265" v1="4512" v2="4627" v3="6776" />
+ <tetrahedron index="32871" v0="4512" v1="5164" v2="5333" v3="6776" />
+ <tetrahedron index="32872" v0="5050" v1="5596" v2="6268" v3="6776" />
+ <tetrahedron index="32873" v0="5596" v1="6268" v2="6743" v3="6776" />
+ <tetrahedron index="32874" v0="6140" v1="6485" v2="6486" v3="6642" />
+ <tetrahedron index="32875" v0="5045" v1="5586" v2="6258" v3="6650" />
+ <tetrahedron index="32876" v0="4866" v1="5760" v2="6426" v3="6933" />
+ <tetrahedron index="32877" v0="5156" v1="6071" v2="6427" v3="6652" />
+ <tetrahedron index="32878" v0="5047" v1="5590" v2="6259" v3="6265" />
+ <tetrahedron index="32879" v0="3265" v1="3266" v2="5587" v3="6063" />
+ <tetrahedron index="32880" v0="3973" v1="3975" v2="5046" v3="6265" />
+ <tetrahedron index="32881" v0="3975" v1="5047" v2="6259" v3="6265" />
+ <tetrahedron index="32882" v0="3975" v1="5046" v2="6259" v3="6265" />
+ <tetrahedron index="32883" v0="3973" v1="3974" v2="3975" v3="6265" />
+ <tetrahedron index="32884" v0="3266" v1="5404" v2="5587" v3="6063" />
+ <tetrahedron index="32885" v0="5012" v1="5524" v2="5590" v3="6266" />
+ <tetrahedron index="32886" v0="3252" v1="4502" v2="5156" v3="6425" />
+ <tetrahedron index="32887" v0="4922" v1="5299" v2="6403" v3="6425" />
+ <tetrahedron index="32888" v0="5300" v1="5524" v2="6103" v3="6266" />
+ <tetrahedron index="32889" v0="4848" v1="5524" v2="6103" v3="6266" />
+ <tetrahedron index="32890" v0="3904" v1="3905" v2="5311" v3="6565" />
+ <tetrahedron index="32891" v0="3252" v1="5299" v2="6131" v3="6425" />
+ <tetrahedron index="32892" v0="3252" v1="5299" v2="6403" v3="6425" />
+ <tetrahedron index="32893" v0="3659" v1="3935" v2="3936" v3="6267" />
+ <tetrahedron index="32894" v0="3659" v1="3936" v2="5594" v3="6267" />
+ <tetrahedron index="32895" v0="3958" v1="4499" v2="5254" v3="6684" />
+ <tetrahedron index="32896" v0="3535" v1="5890" v2="6528" v3="6684" />
+ <tetrahedron index="32897" v0="3334" v1="3335" v2="6205" v3="6268" />
+ <tetrahedron index="32898" v0="5019" v1="5536" v2="6190" v3="6744" />
+ <tetrahedron index="32899" v0="4652" v1="5390" v2="6190" v3="6744" />
+ <tetrahedron index="32900" v0="4265" v1="5980" v2="6205" v3="6268" />
+ <tetrahedron index="32901" v0="3334" v1="4265" v2="6205" v3="6268" />
+ <tetrahedron index="32902" v0="5490" v1="6006" v2="6007" v3="6777" />
+ <tetrahedron index="32903" v0="4792" v1="5490" v2="6151" v3="6777" />
+ <tetrahedron index="32904" v0="4872" v1="6269" v2="6327" v3="6777" />
+ <tetrahedron index="32905" v0="6006" v1="6007" v2="6604" v3="6777" />
+ <tetrahedron index="32906" v0="3335" v1="4604" v2="4833" v3="6268" />
+ <tetrahedron index="32907" v0="4604" v1="4833" v2="5595" v3="6268" />
+ <tetrahedron index="32908" v0="3335" v1="5532" v2="6205" v3="6268" />
+ <tetrahedron index="32909" v0="3335" v1="4833" v2="5532" v3="6268" />
+ <tetrahedron index="32910" v0="4833" v1="5532" v2="5595" v3="6268" />
+ <tetrahedron index="32911" v0="6276" v1="6920" v2="6950" v3="7009" />
+ <tetrahedron index="32912" v0="6291" v1="6794" v2="6897" v3="7009" />
+ <tetrahedron index="32913" v0="5599" v1="6222" v2="6271" v3="6473" />
+ <tetrahedron index="32914" v0="5051" v1="5599" v2="6271" v3="6473" />
+ <tetrahedron index="32915" v0="4885" v1="5051" v2="5817" v3="6473" />
+ <tetrahedron index="32916" v0="4856" v1="6052" v2="6443" v3="6976" />
+ <tetrahedron index="32917" v0="4042" v1="4780" v2="4839" v3="6474" />
+ <tetrahedron index="32918" v0="4567" v1="5347" v2="5360" v3="6271" />
+ <tetrahedron index="32919" v0="4567" v1="5347" v2="5600" v3="6271" />
+ <tetrahedron index="32920" v0="5051" v1="5600" v2="6270" v3="6271" />
+ <tetrahedron index="32921" v0="5347" v1="5600" v2="6270" v3="6271" />
+ <tetrahedron index="32922" v0="4568" v1="5051" v2="5600" v3="6271" />
+ <tetrahedron index="32923" v0="4567" v1="4568" v2="5600" v3="6271" />
+ <tetrahedron index="32924" v0="5194" v1="5815" v2="6473" v3="6474" />
+ <tetrahedron index="32925" v0="4568" v1="4780" v2="4839" v3="6474" />
+ <tetrahedron index="32926" v0="5051" v1="5598" v2="5600" v3="6273" />
+ <tetrahedron index="32927" v0="5051" v1="5600" v2="6270" v3="6273" />
+ <tetrahedron index="32928" v0="5051" v1="5598" v2="6270" v3="6273" />
+ <tetrahedron index="32929" v0="4273" v1="4506" v2="4704" v3="6273" />
+ <tetrahedron index="32930" v0="4273" v1="4506" v2="6191" v3="6273" />
+ <tetrahedron index="32931" v0="4273" v1="6191" v2="6272" v3="6273" />
+ <tetrahedron index="32932" v0="4273" v1="4704" v2="6272" v3="6273" />
+ <tetrahedron index="32933" v0="4938" v1="5520" v2="6270" v3="6273" />
+ <tetrahedron index="32934" v0="4938" v1="6270" v2="6272" v3="6273" />
+ <tetrahedron index="32935" v0="4578" v1="5289" v2="5601" v3="6274" />
+ <tetrahedron index="32936" v0="4039" v1="4390" v2="5415" v3="6282" />
+ <tetrahedron index="32937" v0="5053" v1="5602" v2="6275" v3="6935" />
+ <tetrahedron index="32938" v0="5363" v1="6016" v2="6613" v3="6883" />
+ <tetrahedron index="32939" v0="4996" v1="6155" v2="6715" v3="6958" />
+ <tetrahedron index="32940" v0="3948" v1="4390" v2="5873" v3="6282" />
+ <tetrahedron index="32941" v0="4196" v1="5223" v2="5845" v3="6494" />
+ <tetrahedron index="32942" v0="6291" v1="6793" v2="7009" v3="7017" />
+ <tetrahedron index="32943" v0="6015" v1="6612" v2="6685" v3="6885" />
+ <tetrahedron index="32944" v0="4895" v1="5363" v2="5844" v3="6492" />
+ <tetrahedron index="32945" v0="6694" v1="6950" v2="6980" v3="7016" />
+ <tetrahedron index="32946" v0="4973" v1="5383" v2="5444" v3="6514" />
+ <tetrahedron index="32947" v0="3948" v1="4039" v2="4390" v3="6282" />
+ <tetrahedron index="32948" v0="5841" v1="6171" v2="6488" v3="6880" />
+ <tetrahedron index="32949" v0="4895" v1="6153" v2="6155" v3="6492" />
+ <tetrahedron index="32950" v0="5902" v1="6612" v2="6941" v3="6982" />
+ <tetrahedron index="32951" v0="3356" v1="5420" v2="5889" v3="6496" />
+ <tetrahedron index="32952" v0="6116" v1="6687" v2="6721" v3="6962" />
+ <tetrahedron index="32953" v0="4964" v1="5875" v2="6122" v3="6689" />
+ <tetrahedron index="32954" v0="4876" v1="5783" v2="6106" v3="6679" />
+ <tetrahedron index="32955" v0="4962" v1="5465" v2="6536" v3="6537" />
+ <tetrahedron index="32956" v0="5006" v1="5692" v2="6681" v3="6946" />
+ <tetrahedron index="32957" v0="3287" v1="4491" v2="4492" v3="6583" />
+ <tetrahedron index="32958" v0="5060" v1="5616" v2="6293" v3="6705" />
+ <tetrahedron index="32959" v0="5397" v1="6052" v2="6053" v3="6443" />
+ <tetrahedron index="32960" v0="4211" v1="5304" v2="5942" v3="6552" />
+ <tetrahedron index="32961" v0="5340" v1="5983" v2="6309" v3="6807" />
+ <tetrahedron index="32962" v0="5014" v1="5874" v2="6120" v3="6688" />
+ <tetrahedron index="32963" v0="5300" v1="6563" v2="6729" v3="6966" />
+ <tetrahedron index="32964" v0="3256" v1="3813" v2="6021" v3="6614" />
+ <tetrahedron index="32965" v0="5166" v1="5781" v2="6628" v3="6810" />
+ <tetrahedron index="32966" v0="5415" v1="6194" v2="6280" v3="6785" />
+ <tetrahedron index="32967" v0="5415" v1="6280" v2="6284" v3="6785" />
+ <tetrahedron index="32968" v0="4039" v1="5415" v2="6284" v3="6785" />
+ <tetrahedron index="32969" v0="4860" v1="5554" v2="6228" v3="6753" />
+ <tetrahedron index="32970" v0="5995" v1="6228" v2="6593" v3="6755" />
+ <tetrahedron index="32971" v0="6044" v1="6628" v2="6808" v3="6810" />
+ <tetrahedron index="32972" v0="5014" v1="5527" v2="5874" v3="6688" />
+ <tetrahedron index="32973" v0="4400" v1="5631" v2="6309" v3="6785" />
+ <tetrahedron index="32974" v0="5458" v1="6121" v2="6126" v3="6688" />
+ <tetrahedron index="32975" v0="5523" v1="6194" v2="6195" v3="6310" />
+ <tetrahedron index="32976" v0="6639" v1="6703" v2="6928" v3="7012" />
+ <tetrahedron index="32977" v0="6126" v1="6694" v2="6791" v3="6980" />
+ <tetrahedron index="32978" v0="5195" v1="5817" v2="6472" v3="6921" />
+ <tetrahedron index="32979" v0="4874" v1="6116" v2="6157" v3="6713" />
+ <tetrahedron index="32980" v0="5740" v1="6820" v2="6984" v3="7022" />
+ <tetrahedron index="32981" v0="6290" v1="6613" v2="6862" v3="6960" />
+ <tetrahedron index="32982" v0="5493" v1="6156" v2="6633" v3="6711" />
+ <tetrahedron index="32983" v0="4954" v1="5393" v2="6047" v3="6631" />
+ <tetrahedron index="32984" v0="5764" v1="6430" v2="6557" v3="6805" />
+ <tetrahedron index="32985" v0="5461" v1="6290" v2="6694" v3="6863" />
+ <tetrahedron index="32986" v0="5168" v1="6718" v2="6792" v3="6960" />
+ <tetrahedron index="32987" v0="5485" v1="6101" v2="6524" v3="6677" />
+ <tetrahedron index="32988" v0="4973" v1="5443" v2="6101" v3="6677" />
+ <tetrahedron index="32989" v0="4857" v1="5875" v2="6105" v3="6514" />
+ <tetrahedron index="32990" v0="4857" v1="5383" v2="6036" v3="6514" />
+ <tetrahedron index="32991" v0="5607" v1="6285" v2="6655" v3="6788" />
+ <tetrahedron index="32992" v0="5415" v1="5606" v2="6282" v3="6283" />
+ <tetrahedron index="32993" v0="3460" v1="4326" v2="5807" v3="6788" />
+ <tetrahedron index="32994" v0="3778" v1="4039" v2="4776" v3="6284" />
+ <tetrahedron index="32995" v0="4039" v1="4776" v2="5606" v3="6284" />
+ <tetrahedron index="32996" v0="5340" v1="6044" v2="6635" v3="6810" />
+ <tetrahedron index="32997" v0="4895" v1="5843" v2="6275" v3="6491" />
+ <tetrahedron index="32998" v0="5605" v1="6280" v2="6283" v3="6284" />
+ <tetrahedron index="32999" v0="5415" v1="6280" v2="6283" v3="6284" />
+ <tetrahedron index="33000" v0="5010" v1="5632" v2="6310" v3="6312" />
+ <tetrahedron index="33001" v0="5010" v1="5522" v2="5632" v3="6312" />
+ <tetrahedron index="33002" v0="4924" v1="5304" v2="5944" v3="6556" />
+ <tetrahedron index="33003" v0="5010" v1="5523" v2="6193" v3="6310" />
+ <tetrahedron index="33004" v0="4963" v1="5605" v2="6280" v3="6786" />
+ <tetrahedron index="33005" v0="5615" v1="6289" v2="6487" v3="6876" />
+ <tetrahedron index="33006" v0="3461" v1="5527" v2="6200" v3="6285" />
+ <tetrahedron index="33007" v0="5245" v1="5527" v2="6200" v3="6285" />
+ <tetrahedron index="33008" v0="3461" v1="5245" v2="6200" v3="6285" />
+ <tetrahedron index="33009" v0="5167" v1="6227" v2="6228" v3="6843" />
+ <tetrahedron index="33010" v0="4849" v1="6228" v2="6409" v3="6843" />
+ <tetrahedron index="33011" v0="6182" v1="6412" v2="6722" v3="6734" />
+ <tetrahedron index="33012" v0="4904" v1="5877" v2="6516" v3="6791" />
+ <tetrahedron index="33013" v0="4745" v1="5350" v2="5998" v3="6598" />
+ <tetrahedron index="33014" v0="4846" v1="5443" v2="5740" v3="7022" />
+ <tetrahedron index="33015" v0="4963" v1="6313" v2="6693" v3="6951" />
+ <tetrahedron index="33016" v0="4849" v1="6170" v2="6407" v3="6723" />
+ <tetrahedron index="33017" v0="4849" v1="5348" v2="6407" v3="6723" />
+ <tetrahedron index="33018" v0="6171" v1="6594" v2="6616" v3="6723" />
+ <tetrahedron index="33019" v0="5353" v1="5755" v2="6419" v3="6598" />
+ <tetrahedron index="33020" v0="4732" v1="4745" v2="4746" v3="6598" />
+ <tetrahedron index="33021" v0="5349" v1="5996" v2="6407" v3="6723" />
+ <tetrahedron index="33022" v0="4976" v1="6301" v2="6799" v3="6992" />
+ <tetrahedron index="33023" v0="5507" v1="6171" v2="6488" v3="6880" />
+ <tetrahedron index="33024" v0="4670" v1="4822" v2="5604" v3="6998" />
+ <tetrahedron index="33025" v0="4986" v1="5756" v2="6421" v3="6849" />
+ <tetrahedron index="33026" v0="4997" v1="5613" v2="5876" v3="6288" />
+ <tetrahedron index="33027" v0="5060" v1="5617" v2="5990" v3="6790" />
+ <tetrahedron index="33028" v0="6421" v1="6645" v2="6878" v3="6930" />
+ <tetrahedron index="33029" v0="6182" v1="6287" v2="6734" v3="6790" />
+ <tetrahedron index="33030" v0="5192" v1="5812" v2="6735" v3="6968" />
+ <tetrahedron index="33031" v0="4852" v1="6286" v2="6287" v3="6790" />
+ <tetrahedron index="33032" v0="5014" v1="6117" v2="6688" v3="6690" />
+ <tetrahedron index="33033" v0="5045" v1="6650" v2="6651" v3="6932" />
+ <tetrahedron index="33034" v0="5446" v1="5875" v2="6105" v3="6289" />
+ <tetrahedron index="33035" v0="4852" v1="5617" v2="6293" v3="6679" />
+ <tetrahedron index="33036" v0="4876" v1="5613" v2="5614" v3="6679" />
+ <tetrahedron index="33037" v0="4937" v1="6148" v2="6705" v3="6706" />
+ <tetrahedron index="33038" v0="5461" v1="6126" v2="6516" v3="6791" />
+ <tetrahedron index="33039" v0="3256" v1="3813" v2="4202" v3="6614" />
+ <tetrahedron index="33040" v0="3256" v1="4065" v2="6019" v3="6614" />
+ <tetrahedron index="33041" v0="4732" v1="5755" v2="6598" v3="6914" />
+ <tetrahedron index="33042" v0="4412" v1="5079" v2="5592" v3="6866" />
+ <tetrahedron index="33043" v0="5877" v1="6289" v2="6791" v3="6792" />
+ <tetrahedron index="33044" v0="5014" v1="5458" v2="6120" v3="6690" />
+ <tetrahedron index="33045" v0="4917" v1="6182" v2="6733" v3="6790" />
+ <tetrahedron index="33046" v0="4852" v1="6286" v2="6679" v3="6790" />
+ <tetrahedron index="33047" v0="4903" v1="6121" v2="6128" v3="6695" />
+ <tetrahedron index="33048" v0="4850" v1="6121" v2="6694" v3="6695" />
+ <tetrahedron index="33049" v0="6075" v1="6654" v2="6655" v3="6695" />
+ <tetrahedron index="33050" v0="5458" v1="6120" v2="6122" v3="6690" />
+ <tetrahedron index="33051" v0="4980" v1="5457" v2="6117" v3="6690" />
+ <tetrahedron index="33052" v0="3813" v1="5728" v2="6021" v3="6614" />
+ <tetrahedron index="33053" v0="4946" v1="5728" v2="6021" v3="6614" />
+ <tetrahedron index="33054" v0="5416" v1="6075" v2="6124" v3="6695" />
+ <tetrahedron index="33055" v0="5416" v1="6124" v2="6128" v3="6695" />
+ <tetrahedron index="33056" v0="4864" v1="6220" v2="6878" v3="6879" />
+ <tetrahedron index="33057" v0="4852" v1="5614" v2="6286" v3="6679" />
+ <tetrahedron index="33058" v0="4257" v1="4258" v2="5808" v3="6697" />
+ <tetrahedron index="33059" v0="4436" v1="4748" v2="5270" v3="6539" />
+ <tetrahedron index="33060" v0="4239" v1="4983" v2="6134" v3="6698" />
+ <tetrahedron index="33061" v0="4237" v1="4238" v2="4239" v3="6698" />
+ <tetrahedron index="33062" v0="3287" v1="5613" v2="5618" v3="6583" />
+ <tetrahedron index="33063" v0="5060" v1="5613" v2="5618" v3="6294" />
+ <tetrahedron index="33064" v0="4876" v1="4974" v2="5059" v3="6294" />
+ <tetrahedron index="33065" v0="3277" v1="5405" v2="5618" v3="6294" />
+ <tetrahedron index="33066" v0="3277" v1="5059" v2="5618" v3="6294" />
+ <tetrahedron index="33067" v0="4876" v1="5059" v2="5613" v3="6294" />
+ <tetrahedron index="33068" v0="5059" v1="5613" v2="5618" v3="6294" />
+ <tetrahedron index="33069" v0="4974" v1="5405" v2="6064" v3="6294" />
+ <tetrahedron index="33070" v0="4974" v1="5059" v2="6064" v3="6294" />
+ <tetrahedron index="33071" v0="3277" v1="5405" v2="6064" v3="6294" />
+ <tetrahedron index="33072" v0="3277" v1="5059" v2="6064" v3="6294" />
+ <tetrahedron index="33073" v0="4984" v1="5620" v2="5678" v3="6295" />
+ <tetrahedron index="33074" v0="4984" v1="5678" v2="6135" v3="6295" />
+ <tetrahedron index="33075" v0="4851" v1="5146" v2="5742" v3="6295" />
+ <tetrahedron index="33076" v0="5146" v1="5742" v2="6135" v3="6295" />
+ <tetrahedron index="33077" v0="4993" v1="5742" v2="6135" v3="6295" />
+ <tetrahedron index="33078" v0="5338" v1="5562" v2="6095" v3="6295" />
+ <tetrahedron index="33079" v0="5488" v1="5562" v2="6095" v3="6295" />
+ <tetrahedron index="33080" v0="4993" v1="5488" v2="6095" v3="6295" />
+ <tetrahedron index="33081" v0="5094" v1="5146" v2="5678" v3="6295" />
+ <tetrahedron index="33082" v0="5146" v1="5678" v2="6135" v3="6295" />
+ <tetrahedron index="33083" v0="4851" v1="5094" v2="5146" v3="6295" />
+ <tetrahedron index="33084" v0="4993" v1="5742" v2="6095" v3="6295" />
+ <tetrahedron index="33085" v0="5338" v1="5742" v2="6095" v3="6295" />
+ <tetrahedron index="33086" v0="3246" v1="5062" v2="5832" v3="6297" />
+ <tetrahedron index="33087" v0="3371" v1="5678" v2="5832" v3="6297" />
+ <tetrahedron index="33088" v0="3246" v1="3371" v2="5832" v3="6297" />
+ <tetrahedron index="33089" v0="3371" v1="3446" v2="3736" v3="6297" />
+ <tetrahedron index="33090" v0="4984" v1="5620" v2="5902" v3="6297" />
+ <tetrahedron index="33091" v0="5941" v1="6551" v2="6922" v3="6983" />
+ <tetrahedron index="33092" v0="4936" v1="6625" v2="6922" v3="6983" />
+ <tetrahedron index="33093" v0="4863" v1="5620" v2="5902" v3="6297" />
+ <tetrahedron index="33094" v0="3446" v1="6015" v2="6685" v3="6796" />
+ <tetrahedron index="33095" v0="3446" v1="5621" v2="6297" v3="6796" />
+ <tetrahedron index="33096" v0="4913" v1="5902" v2="6671" v3="6797" />
+ <tetrahedron index="33097" v0="5877" v1="6791" v2="6792" v3="6863" />
+ <tetrahedron index="33098" v0="3736" v1="5270" v2="6015" v3="6796" />
+ <tetrahedron index="33099" v0="5625" v1="6073" v2="6303" v3="6800" />
+ <tetrahedron index="33100" v0="5063" v1="6302" v2="6303" v3="6800" />
+ <tetrahedron index="33101" v0="4913" v1="6300" v2="6534" v3="6797" />
+ <tetrahedron index="33102" v0="4192" v1="4194" v2="4830" v3="6304" />
+ <tetrahedron index="33103" v0="5904" v1="6073" v2="6074" v3="6653" />
+ <tetrahedron index="33104" v0="4976" v1="5625" v2="6300" v3="6302" />
+ <tetrahedron index="33105" v0="4885" v1="5817" v2="6462" v3="6868" />
+ <tetrahedron index="33106" v0="5413" v1="5414" v2="5626" v3="6303" />
+ <tetrahedron index="33107" v0="5414" v1="6073" v2="6539" v3="6653" />
+ <tetrahedron index="33108" v0="5063" v1="5626" v2="6303" v3="6304" />
+ <tetrahedron index="33109" v0="5749" v1="6410" v2="6414" v3="6844" />
+ <tetrahedron index="33110" v0="3398" v1="3531" v2="3532" v3="6801" />
+ <tetrahedron index="33111" v0="5625" v1="6072" v2="6302" v3="6303" />
+ <tetrahedron index="33112" v0="5762" v1="6566" v2="6851" v3="6894" />
+ <tetrahedron index="33113" v0="4905" v1="5624" v2="6299" v3="6798" />
+ <tetrahedron index="33114" v0="6055" v1="6098" v2="6099" v3="6643" />
+ <tetrahedron index="33115" v0="4864" v1="6488" v2="6878" v3="6879" />
+ <tetrahedron index="33116" v0="3244" v1="5547" v2="5839" v3="6561" />
+ <tetrahedron index="33117" v0="4242" v1="4748" v2="4816" v3="6653" />
+ <tetrahedron index="33118" v0="4242" v1="4816" v2="5477" v3="6653" />
+ <tetrahedron index="33119" v0="4913" v1="5063" v2="6534" v3="6800" />
+ <tetrahedron index="33120" v0="5277" v1="5912" v2="6355" v3="6542" />
+ <tetrahedron index="33121" v0="3827" v1="3828" v2="5513" v3="6730" />
+ <tetrahedron index="33122" v0="4058" v1="5197" v2="6071" v3="6427" />
+ <tetrahedron index="33123" v0="5625" v1="6073" v2="6536" v3="6800" />
+ <tetrahedron index="33124" v0="5624" v1="6299" v2="6797" v3="6798" />
+ <tetrahedron index="33125" v0="4905" v1="5624" v2="6520" v3="6798" />
+ <tetrahedron index="33126" v0="6300" v1="6301" v2="6797" v3="6798" />
+ <tetrahedron index="33127" v0="4971" v1="5437" v2="6218" v3="6674" />
+ <tetrahedron index="33128" v0="5413" v1="6072" v2="6302" v3="6303" />
+ <tetrahedron index="33129" v0="4962" v1="5625" v2="6072" v3="6303" />
+ <tetrahedron index="33130" v0="4962" v1="5413" v2="6072" v3="6303" />
+ <tetrahedron index="33131" v0="4436" v1="5905" v2="5906" v3="6540" />
+ <tetrahedron index="33132" v0="3342" v1="5160" v2="5769" v3="6701" />
+ <tetrahedron index="33133" v0="5624" v1="6111" v2="6534" v3="6540" />
+ <tetrahedron index="33134" v0="3341" v1="3342" v2="5160" v3="6701" />
+ <tetrahedron index="33135" v0="4187" v1="5470" v2="6111" v3="6540" />
+ <tetrahedron index="33136" v0="5906" v1="6111" v2="6534" v3="6540" />
+ <tetrahedron index="33137" v0="5772" v1="6136" v2="6378" v3="6701" />
+ <tetrahedron index="33138" v0="3625" v1="4410" v2="5916" v3="6802" />
+ <tetrahedron index="33139" v0="3533" v1="4409" v2="6305" v3="6802" />
+ <tetrahedron index="33140" v0="3401" v1="5114" v2="5827" v3="6803" />
+ <tetrahedron index="33141" v0="5114" v1="5826" v2="6511" v3="6803" />
+ <tetrahedron index="33142" v0="3399" v1="5628" v2="6306" v3="6803" />
+ <tetrahedron index="33143" v0="4902" v1="5826" v2="6511" v3="6803" />
+ <tetrahedron index="33144" v0="3450" v1="3625" v2="4410" v3="6802" />
+ <tetrahedron index="33145" v0="3450" v1="3533" v2="4409" v3="6802" />
+ <tetrahedron index="33146" v0="3450" v1="5872" v2="6512" v3="6802" />
+ <tetrahedron index="33147" v0="5603" v1="6654" v2="6783" v3="6804" />
+ <tetrahedron index="33148" v0="4963" v1="6075" v2="6283" v3="6787" />
+ <tetrahedron index="33149" v0="6890" v1="6891" v2="7004" v3="7028" />
+ <tetrahedron index="33150" v0="5873" v1="6313" v2="6693" v3="6787" />
+ <tetrahedron index="33151" v0="5246" v1="6285" v2="6655" v3="6788" />
+ <tetrahedron index="33152" v0="5522" v1="5632" v2="6195" v3="6313" />
+ <tetrahedron index="33153" v0="4326" v1="5807" v2="6704" v3="6788" />
+ <tetrahedron index="33154" v0="5583" v1="6081" v2="6257" v3="6905" />
+ <tetrahedron index="33155" v0="5806" v1="6458" v2="6545" v3="6767" />
+ <tetrahedron index="33156" v0="5167" v1="6156" v2="6753" v3="6766" />
+ <tetrahedron index="33157" v0="5016" v1="5530" v2="6433" v3="6857" />
+ <tetrahedron index="33158" v0="4862" v1="5764" v2="6233" v3="6727" />
+ <tetrahedron index="33159" v0="4862" v1="6308" v2="6311" v3="6727" />
+ <tetrahedron index="33160" v0="5778" v1="6440" v2="6861" v3="6994" />
+ <tetrahedron index="33161" v0="5630" v1="6308" v2="6311" v3="6727" />
+ <tetrahedron index="33162" v0="5303" v1="5304" v2="6034" v3="6552" />
+ <tetrahedron index="33163" v0="4706" v1="5303" v2="5381" v3="6552" />
+ <tetrahedron index="33164" v0="4551" v1="5381" v2="6033" v3="6552" />
+ <tetrahedron index="33165" v0="4924" v1="5304" v2="5305" v3="6552" />
+ <tetrahedron index="33166" v0="4209" v1="4211" v2="5942" v3="6552" />
+ <tetrahedron index="33167" v0="4924" v1="5305" v2="6034" v3="6552" />
+ <tetrahedron index="33168" v0="5068" v1="5636" v2="6315" v3="6811" />
+ <tetrahedron index="33169" v0="4184" v1="4336" v2="5639" v3="6811" />
+ <tetrahedron index="33170" v0="3892" v1="4760" v2="4832" v3="6741" />
+ <tetrahedron index="33171" v0="6221" v1="6587" v2="6590" v3="6754" />
+ <tetrahedron index="33172" v0="5605" v1="6281" v2="6782" v3="6786" />
+ <tetrahedron index="33173" v0="5603" v1="6281" v2="6712" v3="6786" />
+ <tetrahedron index="33174" v0="5603" v1="6281" v2="6782" v3="6786" />
+ <tetrahedron index="33175" v0="5603" v1="5605" v2="6782" v3="6786" />
+ <tetrahedron index="33176" v0="4963" v1="5603" v2="6307" v3="6786" />
+ <tetrahedron index="33177" v0="5068" v1="5151" v2="6315" v3="6811" />
+ <tetrahedron index="33178" v0="5636" v1="6315" v2="6316" v3="6811" />
+ <tetrahedron index="33179" v0="5363" v1="6016" v2="6882" v3="7025" />
+ <tetrahedron index="33180" v0="6172" v1="6173" v2="6725" v3="6728" />
+ <tetrahedron index="33181" v0="5511" v1="6124" v2="6175" v3="6728" />
+ <tetrahedron index="33182" v0="4941" v1="5132" v2="6008" v3="6314" />
+ <tetrahedron index="33183" v0="5470" v1="6110" v2="6681" v3="6953" />
+ <tetrahedron index="33184" v0="5053" v1="5602" v2="6655" v3="6935" />
+ <tetrahedron index="33185" v0="6121" v1="6126" v2="6128" v3="6694" />
+ <tetrahedron index="33186" v0="5397" v1="6053" v2="6443" v3="6864" />
+ <tetrahedron index="33187" v0="4883" v1="6537" v2="6538" v3="6952" />
+ <tetrahedron index="33188" v0="5045" v1="5586" v2="6070" v3="6932" />
+ <tetrahedron index="33189" v0="4962" v1="5465" v2="6537" v3="6696" />
+ <tetrahedron index="33190" v0="5397" v1="6055" v2="6642" v3="6864" />
+ <tetrahedron index="33191" v0="3947" v1="4390" v2="5522" v3="6313" />
+ <tetrahedron index="33192" v0="3947" v1="5522" v2="5873" v3="6313" />
+ <tetrahedron index="33193" v0="3947" v1="4390" v2="5873" v3="6313" />
+ <tetrahedron index="33194" v0="5066" v1="5633" v2="5634" v3="6609" />
+ <tetrahedron index="33195" v0="5316" v1="6764" v2="6903" v3="7010" />
+ <tetrahedron index="33196" v0="4883" v1="6291" v2="6678" v3="7017" />
+ <tetrahedron index="33197" v0="3680" v1="4167" v2="4388" v3="6314" />
+ <tetrahedron index="33198" v0="3680" v1="4388" v2="5634" v3="6314" />
+ <tetrahedron index="33199" v0="5066" v1="5673" v2="6011" v3="6609" />
+ <tetrahedron index="33200" v0="3680" v1="5358" v2="6314" v3="6609" />
+ <tetrahedron index="33201" v0="4923" v1="5302" v2="5638" v3="6315" />
+ <tetrahedron index="33202" v0="5302" v1="5638" v2="6037" v3="6315" />
+ <tetrahedron index="33203" v0="4923" v1="5302" v2="6037" v3="6315" />
+ <tetrahedron index="33204" v0="5743" v1="6317" v2="6319" v3="6812" />
+ <tetrahedron index="33205" v0="4184" v1="5068" v2="5639" v3="6812" />
+ <tetrahedron index="33206" v0="3901" v1="5068" v2="5637" v3="6812" />
+ <tetrahedron index="33207" v0="4184" v1="4546" v2="4547" v3="6812" />
+ <tetrahedron index="33208" v0="4809" v1="5637" v2="5743" v3="6812" />
+ <tetrahedron index="33209" v0="3901" v1="4547" v2="5637" v3="6812" />
+ <tetrahedron index="33210" v0="5637" v1="5743" v2="6317" v3="6812" />
+ <tetrahedron index="33211" v0="4851" v1="5833" v2="5939" v3="6317" />
+ <tetrahedron index="33212" v0="5744" v1="5833" v2="5939" v3="6317" />
+ <tetrahedron index="33213" v0="5300" v1="5951" v2="6103" v3="6850" />
+ <tetrahedron index="33214" v0="4068" v1="4161" v2="5291" v3="6320" />
+ <tetrahedron index="33215" v0="5291" v1="5643" v2="5774" v3="6320" />
+ <tetrahedron index="33216" v0="4908" v1="5888" v2="6321" v3="6813" />
+ <tetrahedron index="33217" v0="4908" v1="5453" v2="6113" v3="6321" />
+ <tetrahedron index="33218" v0="5338" v1="5742" v2="6095" v3="6319" />
+ <tetrahedron index="33219" v0="5291" v1="5643" v2="5933" v3="6320" />
+ <tetrahedron index="33220" v0="4542" v1="5338" v2="6318" v3="6319" />
+ <tetrahedron index="33221" v0="4935" v1="5639" v2="6317" v3="6318" />
+ <tetrahedron index="33222" v0="4851" v1="4935" v2="6317" v3="6318" />
+ <tetrahedron index="33223" v0="3344" v1="5453" v2="5776" v3="6321" />
+ <tetrahedron index="33224" v0="5043" v1="5643" v2="5933" v3="6320" />
+ <tetrahedron index="33225" v0="5043" v1="5642" v2="5643" v3="6320" />
+ <tetrahedron index="33226" v0="4851" v1="6317" v2="6318" v3="6319" />
+ <tetrahedron index="33227" v0="4851" v1="5338" v2="6318" v3="6319" />
+ <tetrahedron index="33228" v0="4993" v1="5487" v2="5742" v3="6319" />
+ <tetrahedron index="33229" v0="4993" v1="5742" v2="6095" v3="6319" />
+ <tetrahedron index="33230" v0="4993" v1="5487" v2="6095" v3="6319" />
+ <tetrahedron index="33231" v0="4544" v1="5487" v2="6095" v3="6319" />
+ <tetrahedron index="33232" v0="4544" v1="4546" v2="6095" v3="6319" />
+ <tetrahedron index="33233" v0="3520" v1="3530" v2="4278" v3="6410" />
+ <tetrahedron index="33234" v0="5004" v1="6418" v2="6489" v3="6724" />
+ <tetrahedron index="33235" v0="5032" v1="5567" v2="5778" v3="6813" />
+ <tetrahedron index="33236" v0="5644" v1="6321" v2="6441" v3="6813" />
+ <tetrahedron index="33237" v0="5032" v1="5644" v2="5887" v3="6813" />
+ <tetrahedron index="33238" v0="5255" v1="6321" v2="6441" v3="6813" />
+ <tetrahedron index="33239" v0="4851" v1="5147" v2="5742" v3="6319" />
+ <tetrahedron index="33240" v0="4851" v1="5147" v2="6317" v3="6319" />
+ <tetrahedron index="33241" v0="5113" v1="5453" v2="6113" v3="6321" />
+ <tetrahedron index="33242" v0="4871" v1="5498" v2="6323" v3="6815" />
+ <tetrahedron index="33243" v0="6276" v1="6781" v2="6934" v3="6950" />
+ <tetrahedron index="33244" v0="5163" v1="5777" v2="6440" v3="6815" />
+ <tetrahedron index="33245" v0="5032" v1="5778" v2="6162" v3="6861" />
+ <tetrahedron index="33246" v0="5499" v1="5777" v2="6439" v3="6815" />
+ <tetrahedron index="33247" v0="4977" v1="5645" v2="6112" v3="6322" />
+ <tetrahedron index="33248" v0="5761" v1="6425" v2="6819" v3="6984" />
+ <tetrahedron index="33249" v0="5065" v1="5631" v2="6309" v3="6807" />
+ <tetrahedron index="33250" v0="4999" v1="5088" v2="5669" v3="6323" />
+ <tetrahedron index="33251" v0="5778" v1="6441" v2="6813" v3="6861" />
+ <tetrahedron index="33252" v0="6279" v1="6784" v2="6843" v3="6995" />
+ <tetrahedron index="33253" v0="5163" v1="6440" v2="6815" v3="6861" />
+ <tetrahedron index="33254" v0="5163" v1="5778" v2="6441" v3="6861" />
+ <tetrahedron index="33255" v0="5088" v1="5669" v2="6267" v3="6323" />
+ <tetrahedron index="33256" v0="5646" v1="5669" v2="6267" v3="6323" />
+ <tetrahedron index="33257" v0="4996" v1="6155" v2="6710" v3="6958" />
+ <tetrahedron index="33258" v0="4173" v1="4237" v2="4238" v3="6324" />
+ <tetrahedron index="33259" v0="4173" v1="4237" v2="5650" v3="6324" />
+ <tetrahedron index="33260" v0="3381" v1="5492" v2="6153" v3="6710" />
+ <tetrahedron index="33261" v0="4949" v1="5552" v2="6592" v3="6755" />
+ <tetrahedron index="33262" v0="4983" v1="5467" v2="6325" v3="6326" />
+ <tetrahedron index="33263" v0="3861" v1="3959" v2="5468" v3="6326" />
+ <tetrahedron index="33264" v0="4955" v1="6154" v2="6740" v3="6958" />
+ <tetrahedron index="33265" v0="3381" v1="3507" v2="5492" v3="6710" />
+ <tetrahedron index="33266" v0="3381" v1="5222" v2="6153" v3="6710" />
+ <tetrahedron index="33267" v0="5073" v1="5597" v2="5649" v3="6327" />
+ <tetrahedron index="33268" v0="4983" v1="5467" v2="5780" v3="6325" />
+ <tetrahedron index="33269" v0="4995" v1="5648" v2="6394" v3="6395" />
+ <tetrahedron index="33270" v0="4995" v1="5648" v2="6324" v3="6395" />
+ <tetrahedron index="33271" v0="4995" v1="5491" v2="6324" v3="6395" />
+ <tetrahedron index="33272" v0="5130" v1="6325" v2="6394" v3="6395" />
+ <tetrahedron index="33273" v0="4995" v1="5130" v2="6394" v3="6395" />
+ <tetrahedron index="33274" v0="5467" v1="5780" v2="6325" v3="6326" />
+ <tetrahedron index="33275" v0="5624" v1="6299" v2="6520" v3="6699" />
+ <tetrahedron index="33276" v0="4872" v1="5164" v2="5978" v3="6326" />
+ <tetrahedron index="33277" v0="5164" v1="5978" v2="6133" v3="6326" />
+ <tetrahedron index="33278" v0="4238" v1="4721" v2="5491" v3="6395" />
+ <tetrahedron index="33279" v0="4995" v1="5491" v2="5731" v3="6395" />
+ <tetrahedron index="33280" v0="4266" v1="4268" v2="6702" v3="6954" />
+ <tetrahedron index="33281" v0="4872" v1="5165" v2="5978" v3="6326" />
+ <tetrahedron index="33282" v0="5978" v1="6132" v2="6133" v3="6326" />
+ <tetrahedron index="33283" v0="5467" v1="6132" v2="6133" v3="6326" />
+ <tetrahedron index="33284" v0="5165" v1="5978" v2="6132" v3="6326" />
+ <tetrahedron index="33285" v0="5165" v1="5467" v2="6132" v3="6326" />
+ <tetrahedron index="33286" v0="4907" v1="6239" v2="6240" v3="6328" />
+ <tetrahedron index="33287" v0="5075" v1="6239" v2="6240" v3="6328" />
+ <tetrahedron index="33288" v0="4907" v1="5075" v2="6240" v3="6328" />
+ <tetrahedron index="33289" v0="3964" v1="6425" v2="6427" v3="6819" />
+ <tetrahedron index="33290" v0="4985" v1="5660" v2="5702" v3="6334" />
+ <tetrahedron index="33291" v0="5655" v1="6330" v2="6817" v3="6821" />
+ <tetrahedron index="33292" v0="4058" v1="4502" v2="6071" v3="6427" />
+ <tetrahedron index="33293" v0="4985" v1="5661" v2="6136" v3="6334" />
+ <tetrahedron index="33294" v0="3352" v1="3430" v2="6337" v3="6822" />
+ <tetrahedron index="33295" v0="4673" v1="4803" v2="4831" v3="6330" />
+ <tetrahedron index="33296" v0="4488" v1="5656" v2="6427" v3="6819" />
+ <tetrahedron index="33297" v0="4156" v1="5651" v2="6274" v3="6329" />
+ <tetrahedron index="33298" v0="5052" v1="5651" v2="6274" v3="6329" />
+ <tetrahedron index="33299" v0="5052" v1="5211" v2="6274" v3="6329" />
+ <tetrahedron index="33300" v0="4891" v1="5052" v2="5211" v3="6329" />
+ <tetrahedron index="33301" v0="4891" v1="5052" v2="6239" v3="6329" />
+ <tetrahedron index="33302" v0="5196" v1="5561" v2="6330" v3="6817" />
+ <tetrahedron index="33303" v0="5656" v1="6333" v2="6541" v3="6817" />
+ <tetrahedron index="33304" v0="3665" v1="3752" v2="4156" v3="6329" />
+ <tetrahedron index="33305" v0="3752" v1="4156" v2="6274" v3="6329" />
+ <tetrahedron index="33306" v0="3941" v1="4803" v2="6330" v3="6821" />
+ <tetrahedron index="33307" v0="6246" v1="6764" v2="6903" v3="6974" />
+ <tetrahedron index="33308" v0="3941" v1="3943" v2="5655" v3="6821" />
+ <tetrahedron index="33309" v0="3941" v1="5655" v2="6330" v3="6821" />
+ <tetrahedron index="33310" v0="4058" v1="4489" v2="4502" v3="6427" />
+ <tetrahedron index="33311" v0="4924" v1="5763" v2="6034" v3="6558" />
+ <tetrahedron index="33312" v0="3834" v1="3928" v2="5096" v3="6986" />
+ <tetrahedron index="33313" v0="3986" v1="4000" v2="4488" v3="6333" />
+ <tetrahedron index="33314" v0="4000" v1="4488" v2="5656" v3="6333" />
+ <tetrahedron index="33315" v0="6765" v1="6841" v2="6975" v3="6988" />
+ <tetrahedron index="33316" v0="4942" v1="5359" v2="5913" v3="6542" />
+ <tetrahedron index="33317" v0="3834" v1="5096" v2="5679" v3="6986" />
+ <tetrahedron index="33318" v0="3724" v1="5710" v2="5913" v3="6542" />
+ <tetrahedron index="33319" v0="5120" v1="5277" v2="5710" v3="6542" />
+ <tetrahedron index="33320" v0="3986" v1="4488" v2="4490" v3="6333" />
+ <tetrahedron index="33321" v0="4488" v1="4490" v2="5907" v3="6333" />
+ <tetrahedron index="33322" v0="4057" v1="4462" v2="5272" v3="6818" />
+ <tetrahedron index="33323" v0="3574" v1="4057" v2="5881" v3="6818" />
+ <tetrahedron index="33324" v0="4914" v1="5711" v2="5910" v3="6818" />
+ <tetrahedron index="33325" v0="4462" v1="5711" v2="5909" v3="6818" />
+ <tetrahedron index="33326" v0="5272" v1="5881" v2="6522" v3="6818" />
+ <tetrahedron index="33327" v0="4262" v1="4432" v2="5456" v3="6335" />
+ <tetrahedron index="33328" v0="4965" v1="5418" v2="6076" v3="6336" />
+ <tetrahedron index="33329" v0="4909" v1="5544" v2="6076" v3="6336" />
+ <tetrahedron index="33330" v0="5258" v1="5419" v2="5544" v3="6336" />
+ <tetrahedron index="33331" v0="4909" v1="5258" v2="5544" v3="6336" />
+ <tetrahedron index="33332" v0="5418" v1="5419" v2="5544" v3="6336" />
+ <tetrahedron index="33333" v0="5418" v1="5544" v2="6076" v3="6336" />
+ <tetrahedron index="33334" v0="3998" v1="5087" v2="5374" v3="6529" />
+ <tetrahedron index="33335" v0="4245" v1="4969" v2="5432" v3="6376" />
+ <tetrahedron index="33336" v0="3957" v1="5680" v2="5706" v3="6376" />
+ <tetrahedron index="33337" v0="4018" v1="4035" v2="6339" v3="6823" />
+ <tetrahedron index="33338" v0="3960" v1="5086" v2="6476" v3="6823" />
+ <tetrahedron index="33339" v0="3960" v1="4035" v2="6476" v3="6823" />
+ <tetrahedron index="33340" v0="4909" v1="5704" v2="5892" v3="6337" />
+ <tetrahedron index="33341" v0="4909" v1="5117" v2="5892" v3="6337" />
+ <tetrahedron index="33342" v0="3883" v1="3984" v2="5227" v3="6338" />
+ <tetrahedron index="33343" v0="3356" v1="3883" v2="4456" v3="6338" />
+ <tetrahedron index="33344" v0="3356" v1="4456" v2="5889" v3="6338" />
+ <tetrahedron index="33345" v0="3352" v1="3883" v2="4456" v3="6338" />
+ <tetrahedron index="33346" v0="4035" v1="5105" v2="5822" v3="6823" />
+ <tetrahedron index="33347" v0="3360" v1="4098" v2="6342" v3="6824" />
+ <tetrahedron index="33348" v0="3800" v1="5295" v2="5934" v3="6824" />
+ <tetrahedron index="33349" v0="4012" v1="4035" v2="4121" v3="6339" />
+ <tetrahedron index="33350" v0="4012" v1="4121" v2="5666" v3="6339" />
+ <tetrahedron index="33351" v0="4035" v1="4121" v2="5666" v3="6339" />
+ <tetrahedron index="33352" v0="4073" v1="4098" v2="5670" v3="6824" />
+ <tetrahedron index="33353" v0="3800" v1="4168" v2="5934" v3="6824" />
+ <tetrahedron index="33354" v0="4921" v1="5295" v2="5934" v3="6824" />
+ <tetrahedron index="33355" v0="3628" v1="3679" v2="5373" v3="6340" />
+ <tetrahedron index="33356" v0="3405" v1="3406" v2="3679" v3="6340" />
+ <tetrahedron index="33357" v0="3406" v1="3679" v2="5667" v3="6340" />
+ <tetrahedron index="33358" v0="3404" v1="3405" v2="3406" v3="6340" />
+ <tetrahedron index="33359" v0="3404" v1="3406" v2="5667" v3="6340" />
+ <tetrahedron index="33360" v0="4248" v1="5498" v2="5647" v3="6341" />
+ <tetrahedron index="33361" v0="4248" v1="4778" v2="5647" v3="6341" />
+ <tetrahedron index="33362" v0="5646" v1="5647" v2="6322" v3="6341" />
+ <tetrahedron index="33363" v0="5498" v1="5647" v2="6322" v3="6341" />
+ <tetrahedron index="33364" v0="5646" v1="6322" v2="6323" v3="6341" />
+ <tetrahedron index="33365" v0="5498" v1="6322" v2="6323" v3="6341" />
+ <tetrahedron index="33366" v0="3481" v1="3900" v2="5206" v3="6825" />
+ <tetrahedron index="33367" v0="5206" v1="5312" v2="5821" v3="6825" />
+ <tetrahedron index="33368" v0="3359" v1="3360" v2="4098" v3="6342" />
+ <tetrahedron index="33369" v0="3359" v1="4098" v2="5670" v3="6342" />
+ <tetrahedron index="33370" v0="3479" v1="5206" v2="5312" v3="6825" />
+ <tetrahedron index="33371" v0="4927" v1="5312" v2="5821" v3="6825" />
+ <tetrahedron index="33372" v0="5203" v1="5821" v2="6475" v3="6825" />
+ <tetrahedron index="33373" v0="3900" v1="5672" v2="6475" v3="6825" />
+ <tetrahedron index="33374" v0="3361" v1="3362" v2="3363" v3="6344" />
+ <tetrahedron index="33375" v0="3361" v1="3363" v2="5671" v3="6344" />
+ <tetrahedron index="33376" v0="3362" v1="3676" v2="3731" v3="6344" />
+ <tetrahedron index="33377" v0="3676" v1="3848" v2="5297" v3="6344" />
+ <tetrahedron index="33378" v0="3848" v1="5297" v2="5313" v3="6344" />
+ <tetrahedron index="33379" v0="3362" v1="3363" v2="3676" v3="6344" />
+ <tetrahedron index="33380" v0="3359" v1="4099" v2="5670" v3="6346" />
+ <tetrahedron index="33381" v0="3676" v1="3731" v2="3848" v3="6344" />
+ <tetrahedron index="33382" v0="3731" v1="3848" v2="5313" v3="6344" />
+ <tetrahedron index="33383" v0="3363" v1="5671" v2="6344" v3="6345" />
+ <tetrahedron index="33384" v0="3363" v1="3676" v2="6344" v3="6345" />
+ <tetrahedron index="33385" v0="3676" v1="3849" v2="5296" v3="6345" />
+ <tetrahedron index="33386" v0="3849" v1="5296" v2="5297" v3="6345" />
+ <tetrahedron index="33387" v0="3676" v1="3849" v2="5297" v3="6345" />
+ <tetrahedron index="33388" v0="3676" v1="4576" v2="5296" v3="6345" />
+ <tetrahedron index="33389" v0="4576" v1="5296" v2="5584" v3="6345" />
+ <tetrahedron index="33390" v0="3676" v1="3820" v2="4576" v3="6345" />
+ <tetrahedron index="33391" v0="3820" v1="4576" v2="5584" v3="6345" />
+ <tetrahedron index="33392" v0="4927" v1="5314" v2="5957" v3="6346" />
+ <tetrahedron index="33393" v0="3359" v1="3421" v2="5314" v3="6346" />
+ <tetrahedron index="33394" v0="3359" v1="5314" v2="5670" v3="6346" />
+ <tetrahedron index="33395" v0="4554" v1="4735" v2="4824" v3="6347" />
+ <tetrahedron index="33396" v0="4735" v1="4824" v2="5675" v3="6347" />
+ <tetrahedron index="33397" v0="4603" v1="4635" v2="4751" v3="6347" />
+ <tetrahedron index="33398" v0="4603" v1="4635" v2="5896" v3="6347" />
+ <tetrahedron index="33399" v0="5093" v1="5677" v2="5767" v3="6348" />
+ <tetrahedron index="33400" v0="4868" v1="5767" v2="6137" v3="6348" />
+ <tetrahedron index="33401" v0="5677" v1="5767" v2="6137" v3="6348" />
+ <tetrahedron index="33402" v0="4934" v1="5334" v2="5979" v3="6348" />
+ <tetrahedron index="33403" v0="6613" v1="6920" v2="6959" v3="7025" />
+ <tetrahedron index="33404" v0="4934" v1="5336" v2="5979" v3="6348" />
+ <tetrahedron index="33405" v0="4509" v1="5334" v2="5677" v3="6349" />
+ <tetrahedron index="33406" v0="3337" v1="4509" v2="4608" v3="6349" />
+ <tetrahedron index="33407" v0="4509" v1="4608" v2="5677" v3="6349" />
+ <tetrahedron index="33408" v0="5053" v1="5607" v2="6655" v3="7027" />
+ <tetrahedron index="33409" v0="6016" v1="6882" v2="6947" v3="7025" />
+ <tetrahedron index="33410" v0="4682" v1="5093" v2="6005" v3="6349" />
+ <tetrahedron index="33411" v0="6016" v1="6613" v2="6959" v3="7025" />
+ <tetrahedron index="33412" v0="4985" v1="5471" v2="6136" v3="6350" />
+ <tetrahedron index="33413" v0="4985" v1="5471" v2="6137" v3="6350" />
+ <tetrahedron index="33414" v0="3339" v1="3717" v2="4439" v3="6350" />
+ <tetrahedron index="33415" v0="3717" v1="4439" v2="6136" v3="6350" />
+ <tetrahedron index="33416" v0="5334" v1="5471" v2="5765" v3="6350" />
+ <tetrahedron index="33417" v0="4485" v1="5471" v2="5765" v3="6350" />
+ <tetrahedron index="33418" v0="4485" v1="5334" v2="5765" v3="6350" />
+ <tetrahedron index="33419" v0="4201" v1="4261" v2="5118" v3="6352" />
+ <tetrahedron index="33420" v0="4008" v1="4261" v2="5048" v3="6352" />
+ <tetrahedron index="33421" v0="4008" v1="5048" v2="5501" v3="6352" />
+ <tetrahedron index="33422" v0="4008" v1="4201" v2="4261" v3="6352" />
+ <tetrahedron index="33423" v0="3566" v1="4008" v2="5501" v3="6352" />
+ <tetrahedron index="33424" v0="3566" v1="5501" v2="6088" v3="6352" />
+ <tetrahedron index="33425" v0="3566" v1="4008" v2="4201" v3="6352" />
+ <tetrahedron index="33426" v0="3566" v1="4201" v2="6088" v3="6352" />
+ <tetrahedron index="33427" v0="5680" v1="6088" v2="6352" v3="6353" />
+ <tetrahedron index="33428" v0="5680" v1="5681" v2="6352" v3="6353" />
+ <tetrahedron index="33429" v0="4969" v1="5680" v2="6088" v3="6353" />
+ <tetrahedron index="33430" v0="4969" v1="5431" v2="6088" v3="6353" />
+ <tetrahedron index="33431" v0="4899" v1="5104" v2="5689" v3="6828" />
+ <tetrahedron index="33432" v0="4899" v1="5101" v2="5675" v3="6828" />
+ <tetrahedron index="33433" v0="4824" v1="5104" v2="6347" v3="6828" />
+ <tetrahedron index="33434" v0="4260" v1="5681" v2="5682" v3="6354" />
+ <tetrahedron index="33435" v0="5076" v1="5682" v2="5912" v3="6354" />
+ <tetrahedron index="33436" v0="5076" v1="5274" v2="5912" v3="6354" />
+ <tetrahedron index="33437" v0="4824" v1="4842" v2="5104" v3="6828" />
+ <tetrahedron index="33438" v0="5076" v1="5653" v2="5683" v3="6355" />
+ <tetrahedron index="33439" v0="5076" v1="5683" v2="5912" v3="6355" />
+ <tetrahedron index="33440" v0="5076" v1="5653" v2="5912" v3="6355" />
+ <tetrahedron index="33441" v0="3833" v1="3928" v2="4300" v3="6986" />
+ <tetrahedron index="33442" v0="3833" v1="5213" v2="5679" v3="6986" />
+ <tetrahedron index="33443" v0="4015" v1="5629" v2="5653" v3="6355" />
+ <tetrahedron index="33444" v0="3969" v1="4015" v2="5653" v3="6355" />
+ <tetrahedron index="33445" v0="3755" v1="3989" v2="4591" v3="6357" />
+ <tetrahedron index="33446" v0="3755" v1="3989" v2="5685" v3="6357" />
+ <tetrahedron index="33447" v0="3755" v1="4591" v2="5685" v3="6357" />
+ <tetrahedron index="33448" v0="4310" v1="4573" v2="4591" v3="6357" />
+ <tetrahedron index="33449" v0="4310" v1="4573" v2="5109" v3="6357" />
+ <tetrahedron index="33450" v0="4891" v1="5685" v2="5830" v3="6357" />
+ <tetrahedron index="33451" v0="4891" v1="5109" v2="5830" v3="6357" />
+ <tetrahedron index="33452" v0="4573" v1="5109" v2="5830" v3="6357" />
+ <tetrahedron index="33453" v0="4573" v1="4591" v2="5830" v3="6357" />
+ <tetrahedron index="33454" v0="5101" v1="5675" v2="5686" v3="6358" />
+ <tetrahedron index="33455" v0="4899" v1="5234" v2="5675" v3="6358" />
+ <tetrahedron index="33456" v0="5234" v1="5675" v2="5856" v3="6358" />
+ <tetrahedron index="33457" v0="3396" v1="4382" v2="5219" v3="6482" />
+ <tetrahedron index="33458" v0="3299" v1="4382" v2="5219" v3="6482" />
+ <tetrahedron index="33459" v0="3299" v1="3300" v2="5215" v3="6482" />
+ <tetrahedron index="33460" v0="3299" v1="3300" v2="4382" v3="6482" />
+ <tetrahedron index="33461" v0="5215" v1="5543" v2="5835" v3="6482" />
+ <tetrahedron index="33462" v0="4377" v1="4735" v2="4824" v3="6359" />
+ <tetrahedron index="33463" v0="4735" v1="4824" v2="5675" v3="6359" />
+ <tetrahedron index="33464" v0="4377" v1="4735" v2="5092" v3="6359" />
+ <tetrahedron index="33465" v0="4735" v1="5092" v2="5675" v3="6359" />
+ <tetrahedron index="33466" v0="5022" v1="5545" v2="6215" v3="6360" />
+ <tetrahedron index="33467" v0="5022" v1="5888" v2="5891" v3="6814" />
+ <tetrahedron index="33468" v0="3348" v1="3797" v2="5891" v3="6814" />
+ <tetrahedron index="33469" v0="5255" v1="5888" v2="6321" v3="6814" />
+ <tetrahedron index="33470" v0="3344" v1="3346" v2="3348" v3="6814" />
+ <tetrahedron index="33471" v0="5102" v1="5545" v2="5892" v3="6360" />
+ <tetrahedron index="33472" v0="5022" v1="5545" v2="5892" v3="6360" />
+ <tetrahedron index="33473" v0="5102" v1="5704" v2="5892" v3="6360" />
+ <tetrahedron index="33474" v0="5113" v1="5453" v2="6321" v3="6814" />
+ <tetrahedron index="33475" v0="3345" v1="5255" v2="5776" v3="6814" />
+ <tetrahedron index="33476" v0="5022" v1="5704" v2="5888" v3="6360" />
+ <tetrahedron index="33477" v0="5022" v1="5704" v2="5892" v3="6360" />
+ <tetrahedron index="33478" v0="5255" v1="5888" v2="6215" v3="6814" />
+ <tetrahedron index="33479" v0="3346" v1="3348" v2="5113" v3="6814" />
+ <tetrahedron index="33480" v0="5022" v1="5888" v2="6215" v3="6814" />
+ <tetrahedron index="33481" v0="3751" v1="4118" v2="5691" v3="6362" />
+ <tetrahedron index="33482" v0="4061" v1="4118" v2="5691" v3="6362" />
+ <tetrahedron index="33483" v0="4889" v1="5690" v2="5691" v3="6362" />
+ <tetrahedron index="33484" v0="5690" v1="5691" v2="6361" v3="6362" />
+ <tetrahedron index="33485" v0="4889" v1="5690" v2="6361" v3="6362" />
+ <tetrahedron index="33486" v0="4958" v1="5400" v2="5691" v3="6363" />
+ <tetrahedron index="33487" v0="4958" v1="5230" v2="5691" v3="6363" />
+ <tetrahedron index="33488" v0="3855" v1="5231" v2="5400" v3="6363" />
+ <tetrahedron index="33489" v0="3855" v1="4118" v2="5400" v3="6363" />
+ <tetrahedron index="33490" v0="4902" v1="6305" v2="6306" v3="6803" />
+ <tetrahedron index="33491" v0="4902" v1="5242" v2="6305" v3="6512" />
+ <tetrahedron index="33492" v0="4003" v1="4602" v2="4787" v3="6364" />
+ <tetrahedron index="33493" v0="4003" v1="4787" v2="5693" v3="6364" />
+ <tetrahedron index="33494" v0="4002" v1="4003" v2="5107" v3="6364" />
+ <tetrahedron index="33495" v0="4002" v1="5107" v2="5700" v3="6364" />
+ <tetrahedron index="33496" v0="4002" v1="4003" v2="5700" v3="6364" />
+ <tetrahedron index="33497" v0="4003" v1="4130" v2="4602" v3="6364" />
+ <tetrahedron index="33498" v0="4003" v1="4130" v2="5700" v3="6364" />
+ <tetrahedron index="33499" v0="4130" v1="4602" v2="5700" v3="6364" />
+ <tetrahedron index="33500" v0="3248" v1="3370" v2="5940" v3="6479" />
+ <tetrahedron index="33501" v0="3507" v1="5222" v2="5842" v3="6630" />
+ <tetrahedron index="33502" v0="5094" v1="5214" v2="5832" v3="6479" />
+ <tetrahedron index="33503" v0="3600" v1="3601" v2="3602" v3="6365" />
+ <tetrahedron index="33504" v0="3600" v1="3601" v2="5790" v3="6365" />
+ <tetrahedron index="33505" v0="4458" v1="5179" v2="5367" v3="6365" />
+ <tetrahedron index="33506" v0="3601" v1="4458" v2="5367" v3="6365" />
+ <tetrahedron index="33507" v0="4458" v1="5179" v2="5790" v3="6365" />
+ <tetrahedron index="33508" v0="3601" v1="4458" v2="5790" v3="6365" />
+ <tetrahedron index="33509" v0="3601" v1="3602" v2="4143" v3="6365" />
+ <tetrahedron index="33510" v0="3601" v1="4143" v2="5367" v3="6365" />
+ <tetrahedron index="33511" v0="3789" v1="4143" v2="5367" v3="6365" />
+ <tetrahedron index="33512" v0="3602" v1="3789" v2="4143" v3="6365" />
+ <tetrahedron index="33513" v0="3602" v1="3789" v2="5108" v3="6365" />
+ <tetrahedron index="33514" v0="4742" v1="4827" v2="5849" v3="6367" />
+ <tetrahedron index="33515" v0="4311" v1="4766" v2="4827" v3="6367" />
+ <tetrahedron index="33516" v0="4311" v1="4766" v2="5224" v3="6367" />
+ <tetrahedron index="33517" v0="4766" v1="5224" v2="5849" v3="6367" />
+ <tetrahedron index="33518" v0="4766" v1="4827" v2="5849" v3="6367" />
+ <tetrahedron index="33519" v0="3558" v1="3721" v2="5043" v3="6396" />
+ <tetrahedron index="33520" v0="3558" v1="5043" v2="5162" v3="6396" />
+ <tetrahedron index="33521" v0="3790" v1="4742" v2="4827" v3="6367" />
+ <tetrahedron index="33522" v0="3790" v1="4742" v2="5225" v3="6367" />
+ <tetrahedron index="33523" v0="5083" v1="5659" v2="6373" v3="6831" />
+ <tetrahedron index="33524" v0="5083" v1="6138" v2="6373" v3="6831" />
+ <tetrahedron index="33525" v0="3612" v1="5473" v2="6251" v3="6831" />
+ <tetrahedron index="33526" v0="5702" v1="6138" v2="6373" v3="6831" />
+ <tetrahedron index="33527" v0="4891" v1="5052" v2="5213" v3="6369" />
+ <tetrahedron index="33528" v0="5052" v1="5213" v2="5601" v3="6369" />
+ <tetrahedron index="33529" v0="4002" v1="4351" v2="4360" v3="6372" />
+ <tetrahedron index="33530" v0="5697" v1="5699" v2="6368" v3="6370" />
+ <tetrahedron index="33531" v0="4919" v1="5697" v2="6368" v3="6370" />
+ <tetrahedron index="33532" v0="3603" v1="3748" v2="4066" v3="6838" />
+ <tetrahedron index="33533" v0="3671" v1="4483" v2="5694" v3="6372" />
+ <tetrahedron index="33534" v0="4360" v1="5140" v2="5701" v3="6372" />
+ <tetrahedron index="33535" v0="3671" v1="4002" v2="5107" v3="6372" />
+ <tetrahedron index="33536" v0="4483" v1="5140" v2="5694" v3="6372" />
+ <tetrahedron index="33537" v0="4360" v1="4483" v2="5140" v3="6372" />
+ <tetrahedron index="33538" v0="3748" v1="5441" v2="6405" v3="6838" />
+ <tetrahedron index="33539" v0="4114" v1="4574" v2="5109" v3="6371" />
+ <tetrahedron index="33540" v0="3455" v1="3898" v2="4114" v3="6371" />
+ <tetrahedron index="33541" v0="3898" v1="4114" v2="5699" v3="6371" />
+ <tetrahedron index="33542" v0="3455" v1="3898" v2="5699" v3="6371" />
+ <tetrahedron index="33543" v0="4351" v1="4360" v2="5701" v3="6372" />
+ <tetrahedron index="33544" v0="4002" v1="4130" v2="4351" v3="6372" />
+ <tetrahedron index="33545" v0="4130" v1="4351" v2="5700" v3="6372" />
+ <tetrahedron index="33546" v0="4002" v1="4130" v2="5700" v3="6372" />
+ <tetrahedron index="33547" v0="5110" v1="5698" v2="5700" v3="6372" />
+ <tetrahedron index="33548" v0="4351" v1="5110" v2="5700" v3="6372" />
+ <tetrahedron index="33549" v0="4351" v1="5110" v2="5701" v3="6372" />
+ <tetrahedron index="33550" v0="5140" v1="5698" v2="5701" v3="6372" />
+ <tetrahedron index="33551" v0="5110" v1="5698" v2="5701" v3="6372" />
+ <tetrahedron index="33552" v0="3353" v1="3430" v2="6337" v3="6375" />
+ <tetrahedron index="33553" v0="5122" v1="5714" v2="5715" v3="6833" />
+ <tetrahedron index="33554" v0="5122" v1="5713" v2="6384" v3="6833" />
+ <tetrahedron index="33555" v0="5122" v1="6017" v2="6383" v3="6833" />
+ <tetrahedron index="33556" v0="4945" v1="6382" v2="6383" v3="6833" />
+ <tetrahedron index="33557" v0="5122" v1="5714" v2="6383" v3="6833" />
+ <tetrahedron index="33558" v0="4127" v1="5033" v2="5667" v3="6529" />
+ <tetrahedron index="33559" v0="3852" v1="3998" v2="5374" v3="6529" />
+ <tetrahedron index="33560" v0="3476" v1="5102" v2="5117" v3="6375" />
+ <tetrahedron index="33561" v0="4438" v1="4552" v2="5181" v3="6449" />
+ <tetrahedron index="33562" v0="5102" v1="5117" v2="5892" v3="6375" />
+ <tetrahedron index="33563" v0="5117" v1="5892" v2="6337" v3="6375" />
+ <tetrahedron index="33564" v0="4127" v1="4240" v2="5667" v3="6529" />
+ <tetrahedron index="33565" v0="4947" v1="5087" v2="5667" v3="6529" />
+ <tetrahedron index="33566" v0="3447" v1="3449" v2="5502" v3="6376" />
+ <tetrahedron index="33567" v0="5048" v1="5706" v2="6352" v3="6376" />
+ <tetrahedron index="33568" v0="4969" v1="5048" v2="6352" v3="6376" />
+ <tetrahedron index="33569" v0="4969" v1="5048" v2="5591" v3="6376" />
+ <tetrahedron index="33570" v0="3771" v1="4107" v2="5769" v3="6378" />
+ <tetrahedron index="33571" v0="5119" v1="5707" v2="5772" v3="6378" />
+ <tetrahedron index="33572" v0="3772" v1="5119" v2="5708" v3="6378" />
+ <tetrahedron index="33573" v0="3770" v1="4107" v2="5323" v3="6378" />
+ <tetrahedron index="33574" v0="5325" v1="5326" v2="5973" v3="6381" />
+ <tetrahedron index="33575" v0="3771" v1="3772" v2="4473" v3="6378" />
+ <tetrahedron index="33576" v0="3772" v1="4473" v2="5119" v3="6378" />
+ <tetrahedron index="33577" v0="4473" v1="5119" v2="5472" v3="6378" />
+ <tetrahedron index="33578" v0="5119" v1="5472" v2="5772" v3="6378" />
+ <tetrahedron index="33579" v0="4473" v1="5472" v2="5772" v3="6378" />
+ <tetrahedron index="33580" v0="4266" v1="4268" v2="4486" v3="6702" />
+ <tetrahedron index="33581" v0="4473" v1="5772" v2="6136" v3="6378" />
+ <tetrahedron index="33582" v0="3771" v1="4473" v2="6136" v3="6378" />
+ <tetrahedron index="33583" v0="4931" v1="5707" v2="5708" v3="6379" />
+ <tetrahedron index="33584" v0="4723" v1="5321" v2="5322" v3="6379" />
+ <tetrahedron index="33585" v0="4723" v1="5321" v2="5708" v3="6379" />
+ <tetrahedron index="33586" v0="4931" v1="5321" v2="5322" v3="6379" />
+ <tetrahedron index="33587" v0="4931" v1="5321" v2="5708" v3="6379" />
+ <tetrahedron index="33588" v0="3770" v1="5323" v2="6378" v3="6380" />
+ <tetrahedron index="33589" v0="4931" v1="5321" v2="5323" v3="6380" />
+ <tetrahedron index="33590" v0="5321" v1="5323" v2="5708" v3="6380" />
+ <tetrahedron index="33591" v0="4931" v1="5321" v2="5708" v3="6380" />
+ <tetrahedron index="33592" v0="3728" v1="4178" v2="5969" v3="6435" />
+ <tetrahedron index="33593" v0="3728" v1="3729" v2="4178" v3="6435" />
+ <tetrahedron index="33594" v0="3844" v1="5139" v2="6437" v3="6859" />
+ <tetrahedron index="33595" v0="4281" v1="5139" v2="6398" v3="6859" />
+ <tetrahedron index="33596" v0="3343" v1="5769" v2="5771" v3="6435" />
+ <tetrahedron index="33597" v0="3843" v1="3979" v2="6437" v3="6859" />
+ <tetrahedron index="33598" v0="5139" v1="5770" v2="6437" v3="6859" />
+ <tetrahedron index="33599" v0="4931" v1="4990" v2="6434" v3="6435" />
+ <tetrahedron index="33600" v0="4990" v1="5770" v2="6434" v3="6435" />
+ <tetrahedron index="33601" v0="3916" v1="5325" v2="5326" v3="6381" />
+ <tetrahedron index="33602" v0="3915" v1="3925" v2="5326" v3="6381" />
+ <tetrahedron index="33603" v0="3925" v1="5326" v2="5974" v3="6381" />
+ <tetrahedron index="33604" v0="3915" v1="3925" v2="5974" v3="6381" />
+ <tetrahedron index="33605" v0="3913" v1="3916" v2="4727" v3="6381" />
+ <tetrahedron index="33606" v0="3916" v1="4727" v2="5325" v3="6381" />
+ <tetrahedron index="33607" v0="3915" v1="3916" v2="3926" v3="6381" />
+ <tetrahedron index="33608" v0="3915" v1="3926" v2="5326" v3="6381" />
+ <tetrahedron index="33609" v0="3916" v1="3926" v2="5326" v3="6381" />
+ <tetrahedron index="33610" v0="3691" v1="5143" v2="5187" v3="5534" />
+ <tetrahedron index="33611" v0="4074" v1="5230" v2="5717" v3="6385" />
+ <tetrahedron index="33612" v0="3424" v1="3691" v2="5143" v3="5534" />
+ <tetrahedron index="33613" v0="4037" v1="4074" v2="5717" v3="6385" />
+ <tetrahedron index="33614" v0="4013" v1="5229" v2="5719" v3="6385" />
+ <tetrahedron index="33615" v0="4897" v1="5229" v2="5852" v3="6385" />
+ <tetrahedron index="33616" v0="4012" v1="4013" v2="5229" v3="6385" />
+ <tetrahedron index="33617" v0="4011" v1="4012" v2="4013" v3="6385" />
+ <tetrahedron index="33618" v0="3961" v1="4143" v2="5714" v3="6383" />
+ <tetrahedron index="33619" v0="4457" v1="4515" v2="4552" v3="6450" />
+ <tetrahedron index="33620" v0="4515" v1="5072" v2="5793" v3="6450" />
+ <tetrahedron index="33621" v0="4945" v1="5792" v2="6382" v3="6384" />
+ <tetrahedron index="33622" v0="4879" v1="5180" v2="5792" v3="6384" />
+ <tetrahedron index="33623" v0="4879" v1="5792" v2="6382" v3="6384" />
+ <tetrahedron index="33624" v0="3732" v1="5014" v2="6389" v3="6834" />
+ <tetrahedron index="33625" v0="3732" v1="3733" v2="5808" v3="6834" />
+ <tetrahedron index="33626" v0="3733" v1="5463" v2="5808" v3="6834" />
+ <tetrahedron index="33627" v0="3732" v1="3733" v2="6389" v3="6834" />
+ <tetrahedron index="33628" v0="4011" v1="4013" v2="4037" v3="6385" />
+ <tetrahedron index="33629" v0="4013" v1="4037" v2="5717" v3="6385" />
+ <tetrahedron index="33630" v0="5717" v1="5719" v2="5852" v3="6385" />
+ <tetrahedron index="33631" v0="5229" v1="5719" v2="5852" v3="6385" />
+ <tetrahedron index="33632" v0="4887" v1="5198" v2="5719" v3="6388" />
+ <tetrahedron index="33633" v0="4531" v1="4552" v2="4626" v3="6386" />
+ <tetrahedron index="33634" v0="4531" v1="4552" v2="6018" v3="6386" />
+ <tetrahedron index="33635" v0="5072" v1="5793" v2="5794" v3="6450" />
+ <tetrahedron index="33636" v0="4945" v1="5792" v2="6018" v3="6386" />
+ <tetrahedron index="33637" v0="4552" v1="5792" v2="6018" v3="6386" />
+ <tetrahedron index="33638" v0="4887" v1="5200" v2="5819" v3="6388" />
+ <tetrahedron index="33639" v0="3769" v1="5101" v2="5854" v3="6501" />
+ <tetrahedron index="33640" v0="5123" v1="5717" v2="5719" v3="6388" />
+ <tetrahedron index="33641" v0="5078" v1="5716" v2="5819" v3="6388" />
+ <tetrahedron index="33642" v0="4371" v1="5199" v2="5716" v3="6387" />
+ <tetrahedron index="33643" v0="4371" v1="4720" v2="5716" v3="6387" />
+ <tetrahedron index="33644" v0="3985" v1="4299" v2="5794" v3="6450" />
+ <tetrahedron index="33645" v0="3985" v1="4299" v2="5072" v3="6450" />
+ <tetrahedron index="33646" v0="4457" v1="4552" v2="5793" v3="6450" />
+ <tetrahedron index="33647" v0="3971" v1="4299" v2="4457" v3="6450" />
+ <tetrahedron index="33648" v0="3477" v1="3635" v2="4371" v3="6387" />
+ <tetrahedron index="33649" v0="3635" v1="4371" v2="4438" v3="6387" />
+ <tetrahedron index="33650" v0="3477" v1="3635" v2="5791" v3="6387" />
+ <tetrahedron index="33651" v0="4299" v1="4457" v2="4515" v3="6450" />
+ <tetrahedron index="33652" v0="5181" v1="5793" v2="5794" v3="6450" />
+ <tetrahedron index="33653" v0="5018" v1="5533" v2="5535" v3="6835" />
+ <tetrahedron index="33654" v0="5007" v1="5533" v2="6057" v3="6835" />
+ <tetrahedron index="33655" v0="3727" v1="3732" v2="3733" v3="6389" />
+ <tetrahedron index="33656" v0="3727" v1="3732" v2="5723" v3="6389" />
+ <tetrahedron index="33657" v0="3578" v1="3609" v2="5571" v3="6390" />
+ <tetrahedron index="33658" v0="3815" v1="4291" v2="5539" v3="6390" />
+ <tetrahedron index="33659" v0="4291" v1="5539" v2="5541" v3="6390" />
+ <tetrahedron index="33660" v0="3578" v1="3815" v2="4291" v3="6390" />
+ <tetrahedron index="33661" v0="5724" v1="6208" v2="6213" v3="6390" />
+ <tetrahedron index="33662" v0="5539" v1="6208" v2="6213" v3="6390" />
+ <tetrahedron index="33663" v0="3815" v1="5539" v2="6208" v3="6390" />
+ <tetrahedron index="33664" v0="3578" v1="3663" v2="3815" v3="6390" />
+ <tetrahedron index="33665" v0="3578" v1="3663" v2="5724" v3="6390" />
+ <tetrahedron index="33666" v0="3663" v1="5724" v2="6208" v3="6390" />
+ <tetrahedron index="33667" v0="3663" v1="3815" v2="6208" v3="6390" />
+ <tetrahedron index="33668" v0="4847" v1="6247" v2="6806" v3="6974" />
+ <tetrahedron index="33669" v0="5572" v1="6247" v2="6611" v3="6974" />
+ <tetrahedron index="33670" v0="4613" v1="5020" v2="6210" v3="6762" />
+ <tetrahedron index="33671" v0="5020" v1="6210" v2="6747" v3="6762" />
+ <tetrahedron index="33672" v0="4994" v1="5489" v2="5811" v3="6468" />
+ <tetrahedron index="33673" v0="5020" v1="5541" v2="6212" v3="6762" />
+ <tetrahedron index="33674" v0="4995" v1="5490" v2="6327" v3="6394" />
+ <tetrahedron index="33675" v0="4872" v1="5490" v2="6327" v3="6394" />
+ <tetrahedron index="33676" v0="4972" v1="5441" v2="5484" v3="6549" />
+ <tetrahedron index="33677" v0="5442" v1="5937" v2="6101" v3="6549" />
+ <tetrahedron index="33678" v0="5130" v1="5730" v2="6152" v3="6394" />
+ <tetrahedron index="33679" v0="4995" v1="5130" v2="6152" v3="6394" />
+ <tetrahedron index="33680" v0="5490" v1="5730" v2="6152" v3="6394" />
+ <tetrahedron index="33681" v0="4995" v1="5490" v2="6152" v3="6394" />
+ <tetrahedron index="33682" v0="5165" v1="5730" v2="5780" v3="6394" />
+ <tetrahedron index="33683" v0="5130" v1="5730" v2="5780" v3="6394" />
+ <tetrahedron index="33684" v0="5130" v1="5780" v2="6325" v3="6394" />
+ <tetrahedron index="33685" v0="4721" v1="4733" v2="5731" v3="6395" />
+ <tetrahedron index="33686" v0="3956" v1="4241" v2="5732" v3="6396" />
+ <tetrahedron index="33687" v0="3956" v1="4263" v2="5732" v3="6396" />
+ <tetrahedron index="33688" v0="4016" v1="5442" v2="5937" v3="6549" />
+ <tetrahedron index="33689" v0="4992" v1="5485" v2="6101" v3="6549" />
+ <tetrahedron index="33690" v0="4854" v1="5148" v2="6083" v3="6550" />
+ <tetrahedron index="33691" v0="3529" v1="3765" v2="4016" v3="6549" />
+ <tetrahedron index="33692" v0="3289" v1="4335" v2="5735" v3="6397" />
+ <tetrahedron index="33693" v0="5941" v1="5943" v2="6550" v3="6551" />
+ <tetrahedron index="33694" v0="5042" v1="5747" v2="6083" v3="6900" />
+ <tetrahedron index="33695" v0="3786" v1="5148" v2="6033" v3="6580" />
+ <tetrahedron index="33696" v0="3558" v1="3721" v2="4263" v3="6396" />
+ <tetrahedron index="33697" v0="3558" v1="4263" v2="5162" v3="6396" />
+ <tetrahedron index="33698" v0="3272" v1="4076" v2="5535" v3="6397" />
+ <tetrahedron index="33699" v0="3661" v1="5401" v2="6059" v3="6647" />
+ <tetrahedron index="33700" v0="4958" v1="5401" v2="5666" v3="6647" />
+ <tetrahedron index="33701" v0="3290" v1="5018" v2="5739" v3="6397" />
+ <tetrahedron index="33702" v0="3290" v1="4335" v2="5739" v3="6397" />
+ <tetrahedron index="33703" v0="3273" v1="3289" v2="3290" v3="6397" />
+ <tetrahedron index="33704" v0="3289" v1="3290" v2="4335" v3="6397" />
+ <tetrahedron index="33705" v0="4890" v1="5107" v2="5826" v3="6837" />
+ <tetrahedron index="33706" v0="3728" v1="5323" v2="5969" v3="6435" />
+ <tetrahedron index="33707" v0="4990" v1="5770" v2="5771" v3="6435" />
+ <tetrahedron index="33708" v0="3729" v1="4990" v2="5771" v3="6435" />
+ <tetrahedron index="33709" v0="5323" v1="5769" v2="6380" v3="6435" />
+ <tetrahedron index="33710" v0="4280" v1="4281" v2="5139" v3="6398" />
+ <tetrahedron index="33711" v0="4280" v1="5139" v2="5736" v3="6398" />
+ <tetrahedron index="33712" v0="5112" v1="5702" v2="6373" v3="6399" />
+ <tetrahedron index="33713" v0="4979" v1="5703" v2="6373" v3="6399" />
+ <tetrahedron index="33714" v0="4979" v1="5702" v2="6373" v3="6399" />
+ <tetrahedron index="33715" v0="3314" v1="3834" v2="5679" v3="6401" />
+ <tetrahedron index="33716" v0="3314" v1="3834" v2="5737" v3="6401" />
+ <tetrahedron index="33717" v0="3312" v1="5288" v2="5679" v3="6401" />
+ <tetrahedron index="33718" v0="3312" v1="3314" v2="5679" v3="6401" />
+ <tetrahedron index="33719" v0="3402" v1="5209" v2="5288" v3="6401" />
+ <tetrahedron index="33720" v0="4277" v1="4305" v2="4354" v3="5153" />
+ <tetrahedron index="33721" v0="5269" v1="5904" v2="6495" v3="6893" />
+ <tetrahedron index="33722" v0="3314" v1="3402" v2="5737" v3="6401" />
+ <tetrahedron index="33723" v0="3377" v1="3603" v2="3748" v3="6838" />
+ <tetrahedron index="33724" v0="3402" v1="5208" v2="5209" v3="6402" />
+ <tetrahedron index="33725" v0="5208" v1="5737" v2="6400" v3="6402" />
+ <tetrahedron index="33726" v0="3377" v1="3748" v2="5441" v3="6838" />
+ <tetrahedron index="33727" v0="5207" v1="5927" v2="6370" v3="6402" />
+ <tetrahedron index="33728" v0="4890" v1="5207" v2="6370" v3="6402" />
+ <tetrahedron index="33729" v0="3402" v1="4060" v2="5208" v3="6402" />
+ <tetrahedron index="33730" v0="4060" v1="5208" v2="5737" v3="6402" />
+ <tetrahedron index="33731" v0="3402" v1="4060" v2="5737" v3="6402" />
+ <tetrahedron index="33732" v0="3253" v1="5299" v2="5937" v3="6403" />
+ <tetrahedron index="33733" v0="3253" v1="3963" v2="5937" v3="6403" />
+ <tetrahedron index="33734" v0="3391" v1="5120" v2="5277" v3="6985" />
+ <tetrahedron index="33735" v0="5193" v1="6430" v2="6909" v3="7023" />
+ <tetrahedron index="33736" v0="4942" v1="6353" v2="6827" v3="6985" />
+ <tetrahedron index="33737" v0="4922" v1="5299" v2="5937" v3="6403" />
+ <tetrahedron index="33738" v0="4922" v1="4972" v2="5937" v3="6403" />
+ <tetrahedron index="33739" v0="3965" v1="4066" v2="4763" v3="6404" />
+ <tetrahedron index="33740" v0="4993" v1="5487" v2="5742" v3="6406" />
+ <tetrahedron index="33741" v0="3748" v1="3963" v2="3965" v3="6404" />
+ <tetrahedron index="33742" v0="4093" v1="5486" v2="5742" v3="6406" />
+ <tetrahedron index="33743" v0="3963" v1="4972" v2="5441" v3="6404" />
+ <tetrahedron index="33744" v0="3748" v1="3963" v2="5441" v3="6404" />
+ <tetrahedron index="33745" v0="4939" v1="5996" v2="6595" v3="6839" />
+ <tetrahedron index="33746" v0="4472" v1="5517" v2="6185" v3="6968" />
+ <tetrahedron index="33747" v0="4972" v1="5741" v2="6404" v3="6405" />
+ <tetrahedron index="33748" v0="4972" v1="5441" v2="6404" v3="6405" />
+ <tetrahedron index="33749" v0="3748" v1="5441" v2="6404" v3="6405" />
+ <tetrahedron index="33750" v0="3748" v1="4066" v2="6404" v3="6405" />
+ <tetrahedron index="33751" v0="5474" v1="5475" v2="5551" v3="6991" />
+ <tetrahedron index="33752" v0="4939" v1="6595" v2="6839" v3="6846" />
+ <tetrahedron index="33753" v0="5167" v1="6228" v2="6409" v3="6843" />
+ <tetrahedron index="33754" v0="4971" v1="5437" v2="6099" v3="6847" />
+ <tetrahedron index="33755" v0="5748" v1="6407" v2="6600" v3="6839" />
+ <tetrahedron index="33756" v0="4939" v1="6407" v2="6600" v3="6839" />
+ <tetrahedron index="33757" v0="5517" v1="6183" v2="6184" v3="6968" />
+ <tetrahedron index="33758" v0="4544" v1="5487" v2="6319" v3="6406" />
+ <tetrahedron index="33759" v0="4544" v1="4545" v2="6319" v3="6406" />
+ <tetrahedron index="33760" v0="4545" v1="5743" v2="6319" v3="6406" />
+ <tetrahedron index="33761" v0="5742" v1="5743" v2="6319" v3="6406" />
+ <tetrahedron index="33762" v0="6117" v1="6121" v2="6126" v3="6688" />
+ <tetrahedron index="33763" v0="3489" v1="3763" v2="6032" v3="6617" />
+ <tetrahedron index="33764" v0="5782" v1="6409" v2="6841" v3="6843" />
+ <tetrahedron index="33765" v0="5008" v1="5750" v2="6186" v3="6413" />
+ <tetrahedron index="33766" v0="5284" v1="5750" v2="6179" v3="6413" />
+ <tetrahedron index="33767" v0="5750" v1="6182" v2="6412" v3="6413" />
+ <tetrahedron index="33768" v0="5353" v1="6601" v2="6603" v3="6917" />
+ <tetrahedron index="33769" v0="3530" v1="5749" v2="5816" v3="6470" />
+ <tetrahedron index="33770" v0="3520" v1="4278" v2="6040" v3="6410" />
+ <tetrahedron index="33771" v0="4917" v1="5284" v2="5924" v3="6845" />
+ <tetrahedron index="33772" v0="6590" v1="6611" v2="6754" v3="6911" />
+ <tetrahedron index="33773" v0="4861" v1="6043" v2="6463" v3="6464" />
+ <tetrahedron index="33774" v0="5193" v1="6188" v2="6765" v3="6841" />
+ <tetrahedron index="33775" v0="5005" v1="6172" v2="6173" v3="6965" />
+ <tetrahedron index="33776" v0="5167" v1="6014" v2="6409" v3="6841" />
+ <tetrahedron index="33777" v0="5346" v1="6246" v2="6569" v3="6853" />
+ <tetrahedron index="33778" v0="4861" v1="5019" v2="6043" v3="6463" />
+ <tetrahedron index="33779" v0="4953" v1="5019" v2="6043" v3="6463" />
+ <tetrahedron index="33780" v0="4861" v1="6464" v2="6569" v3="6622" />
+ <tetrahedron index="33781" v0="5316" v1="5959" v2="6246" v3="6853" />
+ <tetrahedron index="33782" v0="5008" v1="5515" v2="6186" v3="6413" />
+ <tetrahedron index="33783" v0="6230" v1="6234" v2="6431" v3="6735" />
+ <tetrahedron index="33784" v0="5527" v1="6117" v2="6201" v3="6688" />
+ <tetrahedron index="33785" v0="4854" v1="5762" v2="6080" v3="6657" />
+ <tetrahedron index="33786" v0="5809" v1="6462" v2="6623" v3="6844" />
+ <tetrahedron index="33787" v0="5195" v1="5817" v2="6472" v3="6872" />
+ <tetrahedron index="33788" v0="4864" v1="6724" v2="6849" v3="6991" />
+ <tetrahedron index="33789" v0="5025" v1="5551" v2="6419" v3="6991" />
+ <tetrahedron index="33790" v0="4911" v1="5995" v2="6592" v3="6917" />
+ <tetrahedron index="33791" v0="4911" v1="5057" v2="6592" v3="6917" />
+ <tetrahedron index="33792" v0="4940" v1="5016" v2="6203" v3="6918" />
+ <tetrahedron index="33793" v0="3287" v1="4492" v2="5613" v3="6583" />
+ <tetrahedron index="33794" v0="4227" v1="4494" v2="6007" v3="6918" />
+ <tetrahedron index="33795" v0="5268" v1="6299" v2="6673" v3="6707" />
+ <tetrahedron index="33796" v0="4746" v1="4804" v2="4805" v3="6601" />
+ <tetrahedron index="33797" v0="5355" v1="6007" v2="6203" v3="6918" />
+ <tetrahedron index="33798" v0="5265" v1="5352" v2="6000" v3="6601" />
+ <tetrahedron index="33799" v0="4911" v1="5265" v2="6000" v3="6601" />
+ <tetrahedron index="33800" v0="6291" v1="6876" v2="6897" v3="7009" />
+ <tetrahedron index="33801" v0="4430" v1="4504" v2="4811" v3="6736" />
+ <tetrahedron index="33802" v0="5060" v1="5613" v2="5618" v3="6583" />
+ <tetrahedron index="33803" v0="4746" v1="5353" v2="6003" v3="6601" />
+ <tetrahedron index="33804" v0="4746" v1="5352" v2="6003" v3="6601" />
+ <tetrahedron index="33805" v0="4852" v1="6287" v2="6597" v3="6790" />
+ <tetrahedron index="33806" v0="4938" v1="5345" v2="6272" v3="6778" />
+ <tetrahedron index="33807" v0="5353" v1="6002" v2="6003" v3="6601" />
+ <tetrahedron index="33808" v0="4804" v1="5265" v2="5900" v3="6601" />
+ <tetrahedron index="33809" v0="4911" v1="6000" v2="6002" v3="6601" />
+ <tetrahedron index="33810" v0="4940" v1="5596" v2="5978" v3="6604" />
+ <tetrahedron index="33811" v0="5750" v1="6179" v2="6186" v3="6413" />
+ <tetrahedron index="33812" v0="5149" v1="5749" v2="6868" v3="6871" />
+ <tetrahedron index="33813" v0="4033" v1="4838" v2="6470" v3="6872" />
+ <tetrahedron index="33814" v0="5749" v1="6462" v2="6868" v3="6871" />
+ <tetrahedron index="33815" v0="5749" v1="6462" v2="6844" v3="6871" />
+ <tetrahedron index="33816" v0="5749" v1="6414" v2="6844" v3="6871" />
+ <tetrahedron index="33817" v0="4884" v1="5509" v2="5811" v3="6469" />
+ <tetrahedron index="33818" v0="4454" v1="5753" v2="6249" v3="6415" />
+ <tetrahedron index="33819" v0="4445" v1="4454" v2="6249" v3="6415" />
+ <tetrahedron index="33820" v0="4277" v1="4541" v2="4634" v3="6416" />
+ <tetrahedron index="33821" v0="4541" v1="4634" v2="5437" v3="6416" />
+ <tetrahedron index="33822" v0="4019" v1="5054" v2="5794" v3="6451" />
+ <tetrahedron index="33823" v0="4019" v1="5054" v2="5608" v3="6451" />
+ <tetrahedron index="33824" v0="4021" v1="4276" v2="4277" v3="6416" />
+ <tetrahedron index="33825" v0="4021" v1="4276" v2="6217" v3="6416" />
+ <tetrahedron index="33826" v0="4634" v1="5437" v2="5546" v3="6416" />
+ <tetrahedron index="33827" v0="4021" v1="5546" v2="6217" v3="6416" />
+ <tetrahedron index="33828" v0="4021" v1="4277" v2="4634" v3="6416" />
+ <tetrahedron index="33829" v0="4021" v1="4634" v2="5546" v3="6416" />
+ <tetrahedron index="33830" v0="4304" v1="5508" v2="5754" v3="6417" />
+ <tetrahedron index="33831" v0="3992" v1="5781" v2="5842" v3="6490" />
+ <tetrahedron index="33832" v0="3891" v1="4304" v2="5504" v3="6417" />
+ <tetrahedron index="33833" v0="3891" v1="5504" v2="6167" v3="6417" />
+ <tetrahedron index="33834" v0="4939" v1="5348" v2="6002" v3="6848" />
+ <tetrahedron index="33835" v0="3891" v1="4304" v2="5508" v3="6417" />
+ <tetrahedron index="33836" v0="3891" v1="5508" v2="6167" v3="6417" />
+ <tetrahedron index="33837" v0="4857" v1="6105" v2="6648" v3="6676" />
+ <tetrahedron index="33838" v0="5348" v1="6171" v2="6723" v3="6848" />
+ <tetrahedron index="33839" v0="4981" v1="5444" v2="6102" v3="6676" />
+ <tetrahedron index="33840" v0="5057" v1="6004" v2="6602" v3="6603" />
+ <tetrahedron index="33841" v0="4805" v1="5353" v2="6601" v3="6603" />
+ <tetrahedron index="33842" v0="4053" v1="5340" v2="6309" v3="6810" />
+ <tetrahedron index="33843" v0="3776" v1="3777" v2="3992" v3="6490" />
+ <tetrahedron index="33844" v0="5300" v1="5761" v2="6426" v3="6729" />
+ <tetrahedron index="33845" v0="5518" v1="6172" v2="6187" v3="6725" />
+ <tetrahedron index="33846" v0="5300" v1="5761" v2="6331" v3="6729" />
+ <tetrahedron index="33847" v0="6176" v1="6652" v2="6729" v3="6992" />
+ <tetrahedron index="33848" v0="5460" v1="6125" v2="6127" v3="6725" />
+ <tetrahedron index="33849" v0="5656" v1="5761" v2="6331" v3="6729" />
+ <tetrahedron index="33850" v0="5460" v1="6124" v2="6125" v3="6725" />
+ <tetrahedron index="33851" v0="5153" v1="5756" v2="6416" v3="6421" />
+ <tetrahedron index="33852" v0="4940" v1="5016" v2="5676" v3="6993" />
+ <tetrahedron index="33853" v0="5155" v1="5951" v2="6103" v3="6850" />
+ <tetrahedron index="33854" v0="4939" v1="6419" v2="6595" v3="6848" />
+ <tetrahedron index="33855" v0="5153" v1="5755" v2="6420" v3="6849" />
+ <tetrahedron index="33856" v0="5153" v1="5755" v2="6724" v3="6849" />
+ <tetrahedron index="33857" v0="5153" v1="5841" v2="6421" v3="6849" />
+ <tetrahedron index="33858" v0="5149" v1="5814" v2="6470" v3="6599" />
+ <tetrahedron index="33859" v0="5149" v1="5749" v2="6470" v3="6599" />
+ <tetrahedron index="33860" v0="5149" v1="5751" v2="5999" v3="6916" />
+ <tetrahedron index="33861" v0="5411" v1="6125" v2="6172" v3="6725" />
+ <tetrahedron index="33862" v0="5761" v1="6426" v2="6652" v3="6729" />
+ <tetrahedron index="33863" v0="4342" v1="4539" v2="5007" v3="6646" />
+ <tetrahedron index="33864" v0="5736" v1="6252" v2="6399" v3="6836" />
+ <tetrahedron index="33865" v0="3271" v1="3272" v2="3711" v3="6646" />
+ <tetrahedron index="33866" v0="6495" v1="6882" v2="6947" v3="6999" />
+ <tetrahedron index="33867" v0="5153" v1="5754" v2="5841" v3="6489" />
+ <tetrahedron index="33868" v0="3272" v1="3711" v2="5535" v3="6646" />
+ <tetrahedron index="33869" v0="4869" v1="5770" v2="6399" v3="6836" />
+ <tetrahedron index="33870" v0="5011" v1="5012" v2="6265" v3="6423" />
+ <tetrahedron index="33871" v0="3973" v1="5011" v2="6265" v3="6423" />
+ <tetrahedron index="33872" v0="5154" v1="5560" v2="5759" v3="6423" />
+ <tetrahedron index="33873" v0="5560" v1="5759" v2="6235" v3="6423" />
+ <tetrahedron index="33874" v0="4478" v1="5154" v2="5560" v3="6423" />
+ <tetrahedron index="33875" v0="4478" v1="5560" v2="6235" v3="6423" />
+ <tetrahedron index="33876" v0="4479" v1="4865" v2="4925" v3="6423" />
+ <tetrahedron index="33877" v0="4479" v1="4925" v2="5154" v3="6423" />
+ <tetrahedron index="33878" v0="4865" v1="4925" v2="5154" v3="6423" />
+ <tetrahedron index="33879" v0="5300" v1="6266" v2="6424" v3="6563" />
+ <tetrahedron index="33880" v0="5954" v1="6264" v2="6562" v3="6564" />
+ <tetrahedron index="33881" v0="3942" v1="5081" v2="6333" v3="6821" />
+ <tetrahedron index="33882" v0="3942" v1="3986" v2="6333" v3="6821" />
+ <tetrahedron index="33883" v0="5080" v1="6333" v2="6817" v3="6821" />
+ <tetrahedron index="33884" v0="5310" v1="6263" v2="6264" v3="6564" />
+ <tetrahedron index="33885" v0="5590" v1="6264" v2="6562" v3="6564" />
+ <tetrahedron index="33886" v0="4242" v1="5269" v2="5846" v3="6653" />
+ <tetrahedron index="33887" v0="5602" v1="6277" v2="6781" v3="6934" />
+ <tetrahedron index="33888" v0="5450" v1="5451" v2="6177" v3="6730" />
+ <tetrahedron index="33889" v0="3828" v1="5271" v2="5513" v3="6730" />
+ <tetrahedron index="33890" v0="4922" v1="5760" v2="6102" v3="6426" />
+ <tetrahedron index="33891" v0="5760" v1="6102" v2="6103" v3="6426" />
+ <tetrahedron index="33892" v0="4922" v1="6102" v2="6103" v3="6426" />
+ <tetrahedron index="33893" v0="4212" v1="5683" v2="6355" v3="6985" />
+ <tetrahedron index="33894" v0="4922" v1="5443" v2="6103" v3="6426" />
+ <tetrahedron index="33895" v0="5193" v1="6855" v2="6989" v3="7023" />
+ <tetrahedron index="33896" v0="4928" v1="6429" v2="6851" v3="6854" />
+ <tetrahedron index="33897" v0="3827" v1="3828" v2="3829" v3="6730" />
+ <tetrahedron index="33898" v0="5197" v1="5761" v2="6176" v3="6427" />
+ <tetrahedron index="33899" v0="5560" v1="5759" v2="6424" v3="6820" />
+ <tetrahedron index="33900" v0="3964" v1="4502" v2="6425" v3="6427" />
+ <tetrahedron index="33901" v0="3964" v1="4488" v2="4489" v3="6427" />
+ <tetrahedron index="33902" v0="5560" v1="6331" v2="6424" v3="6820" />
+ <tetrahedron index="33903" v0="4488" v1="4489" v2="5656" v3="6427" />
+ <tetrahedron index="33904" v0="5602" v1="6277" v2="6655" v3="6934" />
+ <tetrahedron index="33905" v0="4502" v1="5156" v2="6425" v3="6427" />
+ <tetrahedron index="33906" v0="4986" v1="5475" v2="5476" v3="7012" />
+ <tetrahedron index="33907" v0="3868" v1="5287" v2="5960" v3="6570" />
+ <tetrahedron index="33908" v0="3518" v1="4814" v2="5752" v3="6468" />
+ <tetrahedron index="33909" v0="4291" v1="5020" v2="5541" v3="6762" />
+ <tetrahedron index="33910" v0="4291" v1="4613" v2="5541" v3="6762" />
+ <tetrahedron index="33911" v0="4384" v1="4385" v2="4613" v3="6762" />
+ <tetrahedron index="33912" v0="6408" v1="6586" v2="6868" v3="6871" />
+ <tetrahedron index="33913" v0="5751" v1="6408" v2="6469" v3="6871" />
+ <tetrahedron index="33914" v0="4994" v1="5752" v2="6184" v3="6468" />
+ <tetrahedron index="33915" v0="4814" v1="4817" v2="5752" v3="6468" />
+ <tetrahedron index="33916" v0="4820" v1="5284" v2="5989" v3="6990" />
+ <tetrahedron index="33917" v0="4777" v1="5192" v2="5813" v3="6468" />
+ <tetrahedron index="33918" v0="4928" v1="6079" v2="6851" v3="6854" />
+ <tetrahedron index="33919" v0="4949" v1="5379" v2="6030" v3="6592" />
+ <tetrahedron index="33920" v0="6950" v1="6980" v2="7009" v3="7017" />
+ <tetrahedron index="33921" v0="3708" v1="5345" v2="6094" v3="6670" />
+ <tetrahedron index="33922" v0="4861" v1="5538" v2="6591" v3="6912" />
+ <tetrahedron index="33923" v0="5340" v1="6044" v2="6629" v3="6635" />
+ <tetrahedron index="33924" v0="6230" v1="6431" v2="6557" v3="6855" />
+ <tetrahedron index="33925" v0="6099" v1="6421" v2="6675" v3="6930" />
+ <tetrahedron index="33926" v0="4867" v1="6212" v2="6213" v3="6466" />
+ <tetrahedron index="33927" v0="5303" v1="5306" v2="5946" v3="6896" />
+ <tetrahedron index="33928" v0="4994" v1="5489" v2="6184" v3="6468" />
+ <tetrahedron index="33929" v0="6462" v1="6586" v2="6868" v3="6871" />
+ <tetrahedron index="33930" v0="4470" v1="5192" v2="5489" v3="6468" />
+ <tetrahedron index="33931" v0="5351" v1="5999" v2="6411" v3="6990" />
+ <tetrahedron index="33932" v0="4470" v1="4777" v2="4817" v3="6468" />
+ <tetrahedron index="33933" v0="4852" v1="6596" v2="6789" v3="6913" />
+ <tetrahedron index="33934" v0="5840" v1="6596" v2="6644" v3="6913" />
+ <tetrahedron index="33935" v0="4950" v1="5947" v2="6245" v3="6558" />
+ <tetrahedron index="33936" v0="5303" v1="6034" v2="6245" v3="6558" />
+ <tetrahedron index="33937" v0="6173" v1="6726" v2="6727" v3="6856" />
+ <tetrahedron index="33938" v0="5005" v1="6173" v2="6727" v3="6856" />
+ <tetrahedron index="33939" v0="5509" v1="6188" v2="6855" v3="6856" />
+ <tetrahedron index="33940" v0="5307" v1="5945" v2="5947" v3="6558" />
+ <tetrahedron index="33941" v0="4874" v1="6687" v2="6716" v3="7015" />
+ <tetrahedron index="33942" v0="6291" v1="6678" v2="6876" v3="6897" />
+ <tetrahedron index="33943" v0="4950" v1="6034" v2="6245" v3="6558" />
+ <tetrahedron index="33944" v0="4869" v1="5039" v2="5707" v3="6434" />
+ <tetrahedron index="33945" v0="4878" v1="5175" v2="5579" v3="6772" />
+ <tetrahedron index="33946" v0="3694" v1="3911" v2="3912" v3="6574" />
+ <tetrahedron index="33947" v0="4869" v1="5702" v2="5772" v3="6436" />
+ <tetrahedron index="33948" v0="5707" v1="6380" v2="6434" v3="6858" />
+ <tetrahedron index="33949" v0="5707" v1="5772" v2="6380" v3="6858" />
+ <tetrahedron index="33950" v0="5769" v1="5772" v2="6701" v3="6858" />
+ <tetrahedron index="33951" v0="6380" v1="6434" v2="6435" v3="6858" />
+ <tetrahedron index="33952" v0="3444" v1="3694" v2="3911" v3="6574" />
+ <tetrahedron index="33953" v0="3657" v1="5472" v2="5709" v3="6436" />
+ <tetrahedron index="33954" v0="5176" v1="5428" v2="6255" v3="6772" />
+ <tetrahedron index="33955" v0="4281" v1="5481" v2="6398" v3="6859" />
+ <tetrahedron index="33956" v0="4675" v1="5138" v2="5326" v3="6574" />
+ <tetrahedron index="33957" v0="3912" v1="4675" v2="4758" v3="6574" />
+ <tetrahedron index="33958" v0="5140" v1="5698" v2="6372" v3="6837" />
+ <tetrahedron index="33959" v0="4675" v1="4758" v2="5326" v3="6574" />
+ <tetrahedron index="33960" v0="4758" v1="5326" v2="5970" v3="6574" />
+ <tetrahedron index="33961" v0="3843" v1="3979" v2="6147" v3="6859" />
+ <tetrahedron index="33962" v0="4878" v1="5579" v2="6255" v3="6772" />
+ <tetrahedron index="33963" v0="3694" v1="3912" v2="4758" v3="6574" />
+ <tetrahedron index="33964" v0="3343" v1="3728" v2="4107" v3="6435" />
+ <tetrahedron index="33965" v0="3343" v1="4107" v2="5769" v3="6435" />
+ <tetrahedron index="33966" v0="3844" v1="5456" v2="5773" v3="6437" />
+ <tetrahedron index="33967" v0="4871" v1="5049" v2="6439" v3="6860" />
+ <tetrahedron index="33968" v0="5088" v1="5594" v2="5668" v3="6860" />
+ <tetrahedron index="33969" v0="4871" v1="6323" v2="6815" v3="6860" />
+ <tetrahedron index="33970" v0="5668" v1="6439" v2="6815" v3="6860" />
+ <tetrahedron index="33971" v0="5594" v1="6267" v2="6683" v3="6860" />
+ <tetrahedron index="33972" v0="5646" v1="6267" v2="6323" v3="6860" />
+ <tetrahedron index="33973" v0="3634" v1="3843" v2="3979" v3="6437" />
+ <tetrahedron index="33974" v0="5088" v1="5594" v2="6267" v3="6860" />
+ <tetrahedron index="33975" v0="3235" v1="5452" v2="5776" v3="6438" />
+ <tetrahedron index="33976" v0="3233" v1="3235" v2="5776" v3="6438" />
+ <tetrahedron index="33977" v0="4510" v1="5163" v2="5777" v3="6438" />
+ <tetrahedron index="33978" v0="3689" v1="5593" v2="5777" v3="6438" />
+ <tetrahedron index="33979" v0="3689" v1="4510" v2="5777" v3="6438" />
+ <tetrahedron index="33980" v0="4977" v1="5452" v2="5776" v3="6438" />
+ <tetrahedron index="33981" v0="3778" v1="4039" v2="6284" v3="6785" />
+ <tetrahedron index="33982" v0="4977" v1="5452" v2="6112" v3="6438" />
+ <tetrahedron index="33983" v0="3234" v1="3544" v2="5049" v3="6438" />
+ <tetrahedron index="33984" v0="3544" v1="5049" v2="5452" v3="6438" />
+ <tetrahedron index="33985" v0="3234" v1="3544" v2="5452" v3="6438" />
+ <tetrahedron index="33986" v0="5111" v1="5777" v2="6197" v3="6439" />
+ <tetrahedron index="33987" v0="5013" v1="5111" v2="6197" v3="6439" />
+ <tetrahedron index="33988" v0="4618" v1="5135" v2="5830" v3="6816" />
+ <tetrahedron index="33989" v0="4886" v1="5656" v2="6541" v3="6817" />
+ <tetrahedron index="33990" v0="4105" v1="5830" v2="6329" v3="6816" />
+ <tetrahedron index="33991" v0="6053" v1="6642" v2="6703" v3="6864" />
+ <tetrahedron index="33992" v0="3653" v1="4071" v2="5499" v3="6440" />
+ <tetrahedron index="33993" v0="4071" v1="5499" v2="6163" v3="6440" />
+ <tetrahedron index="33994" v0="3653" v1="4071" v2="4784" v3="6440" />
+ <tetrahedron index="33995" v0="6442" v1="6804" v2="6988" v3="6995" />
+ <tetrahedron index="33996" v0="6722" v1="6784" v2="6862" v3="6995" />
+ <tetrahedron index="33997" v0="5782" v1="6442" v2="6964" v3="6995" />
+ <tetrahedron index="33998" v0="6804" v1="6843" v2="6988" v3="6995" />
+ <tetrahedron index="33999" v0="3666" v1="5250" v2="6328" v3="6816" />
+ <tetrahedron index="34000" v0="5250" v1="6328" v2="6759" v3="6816" />
+ <tetrahedron index="34001" v0="5397" v1="6053" v2="6642" v3="6864" />
+ <tetrahedron index="34002" v0="4635" v1="5234" v2="5896" v3="6347" />
+ <tetrahedron index="34003" v0="4871" v1="6112" v2="6322" v3="6441" />
+ <tetrahedron index="34004" v0="4871" v1="6112" v2="6438" v3="6441" />
+ <tetrahedron index="34005" v0="4871" v1="5163" v2="6438" v3="6441" />
+ <tetrahedron index="34006" v0="5221" v1="6596" v2="6645" v3="6864" />
+ <tetrahedron index="34007" v0="6642" v1="6645" v2="6703" v3="6864" />
+ <tetrahedron index="34008" v0="5168" v1="6722" v2="6784" v3="6862" />
+ <tetrahedron index="34009" v0="4850" v1="6442" v2="6783" v3="6862" />
+ <tetrahedron index="34010" v0="5363" v1="5844" v2="6780" v3="6978" />
+ <tetrahedron index="34011" v0="5596" v1="5980" v2="6743" v3="6776" />
+ <tetrahedron index="34012" v0="5950" v1="6062" v2="6641" v3="6649" />
+ <tetrahedron index="34013" v0="4878" v1="5040" v2="5784" v3="6446" />
+ <tetrahedron index="34014" v0="4878" v1="5040" v2="5579" v3="6446" />
+ <tetrahedron index="34015" v0="5048" v1="5592" v2="6377" v3="6866" />
+ <tetrahedron index="34016" v0="5048" v1="5591" v2="6455" v3="6866" />
+ <tetrahedron index="34017" v0="3761" v1="5079" v2="5591" v3="6866" />
+ <tetrahedron index="34018" v0="4956" v1="5396" v2="5783" v3="6445" />
+ <tetrahedron index="34019" v0="4956" v1="5396" v2="6060" v3="6445" />
+ <tetrahedron index="34020" v0="4974" v1="5404" v2="6064" v3="6445" />
+ <tetrahedron index="34021" v0="4956" v1="5404" v2="6064" v3="6445" />
+ <tetrahedron index="34022" v0="4956" v1="5405" v2="6064" v3="6445" />
+ <tetrahedron index="34023" v0="4974" v1="5405" v2="6064" v3="6445" />
+ <tetrahedron index="34024" v0="4008" v1="5048" v2="6455" v3="6866" />
+ <tetrahedron index="34025" v0="5079" v1="5804" v2="6455" v3="6866" />
+ <tetrahedron index="34026" v0="4878" v1="5177" v2="5787" v3="6446" />
+ <tetrahedron index="34027" v0="4877" v1="5171" v2="5784" v3="6447" />
+ <tetrahedron index="34028" v0="4967" v1="5171" v2="5784" v3="6447" />
+ <tetrahedron index="34029" v0="4967" v1="5785" v2="6084" v3="6447" />
+ <tetrahedron index="34030" v0="4967" v1="5424" v2="6084" v3="6447" />
+ <tetrahedron index="34031" v0="4877" v1="5172" v2="5173" v3="6447" />
+ <tetrahedron index="34032" v0="5172" v1="5173" v2="5785" v3="6447" />
+ <tetrahedron index="34033" v0="5173" v1="5785" v2="5885" v3="6447" />
+ <tetrahedron index="34034" v0="4877" v1="5173" v2="5885" v3="6447" />
+ <tetrahedron index="34035" v0="5171" v1="5424" v2="6085" v3="6447" />
+ <tetrahedron index="34036" v0="4967" v1="5424" v2="6085" v3="6447" />
+ <tetrahedron index="34037" v0="4967" v1="5171" v2="6085" v3="6447" />
+ <tetrahedron index="34038" v0="3886" v1="5134" v2="6087" v3="6448" />
+ <tetrahedron index="34039" v0="3886" v1="4089" v2="6087" v3="6448" />
+ <tetrahedron index="34040" v0="5431" v1="5710" v2="6353" v3="6664" />
+ <tetrahedron index="34041" v0="5431" v1="6088" v2="6353" v3="6664" />
+ <tetrahedron index="34042" v0="4942" v1="5359" v2="5681" v3="6664" />
+ <tetrahedron index="34043" v0="4942" v1="5359" v2="6353" v3="6664" />
+ <tetrahedron index="34044" v0="4552" v1="5792" v2="6386" v3="6449" />
+ <tetrahedron index="34045" v0="4438" v1="4552" v2="6386" v3="6449" />
+ <tetrahedron index="34046" v0="3635" v1="4438" v2="5181" v3="6449" />
+ <tetrahedron index="34047" v0="3635" v1="4438" v2="6387" v3="6449" />
+ <tetrahedron index="34048" v0="3971" v1="4457" v2="5181" v3="6450" />
+ <tetrahedron index="34049" v0="3971" v1="5181" v2="5794" v3="6450" />
+ <tetrahedron index="34050" v0="3636" v1="4019" v2="5794" v3="6451" />
+ <tetrahedron index="34051" v0="3636" v1="5180" v2="5181" v3="6451" />
+ <tetrahedron index="34052" v0="4879" v1="5181" v2="5793" v3="6451" />
+ <tetrahedron index="34053" v0="5181" v1="5793" v2="5794" v3="6451" />
+ <tetrahedron index="34054" v0="5054" v1="5695" v2="6366" v3="6451" />
+ <tetrahedron index="34055" v0="4879" v1="5695" v2="6366" v3="6451" />
+ <tetrahedron index="34056" v0="4879" v1="5695" v2="5793" v3="6451" />
+ <tetrahedron index="34057" v0="5072" v1="5793" v2="5794" v3="6451" />
+ <tetrahedron index="34058" v0="3478" v1="3636" v2="5181" v3="6451" />
+ <tetrahedron index="34059" v0="3478" v1="5181" v2="5794" v3="6451" />
+ <tetrahedron index="34060" v0="3478" v1="3636" v2="5794" v3="6451" />
+ <tetrahedron index="34061" v0="5054" v1="5072" v2="5695" v3="6451" />
+ <tetrahedron index="34062" v0="5072" v1="5695" v2="5793" v3="6451" />
+ <tetrahedron index="34063" v0="5054" v1="5794" v2="5851" v3="6451" />
+ <tetrahedron index="34064" v0="5072" v1="5794" v2="5851" v3="6451" />
+ <tetrahedron index="34065" v0="5054" v1="5072" v2="5851" v3="6451" />
+ <tetrahedron index="34066" v0="5024" v1="5796" v2="5967" v3="6452" />
+ <tetrahedron index="34067" v0="5024" v1="5967" v2="6196" v3="6452" />
+ <tetrahedron index="34068" v0="4426" v1="4427" v2="5111" v3="6452" />
+ <tetrahedron index="34069" v0="4427" v1="5111" v2="5796" v3="6452" />
+ <tetrahedron index="34070" v0="4969" v1="5000" v2="5502" v3="6453" />
+ <tetrahedron index="34071" v0="3950" v1="5077" v2="6206" v3="6454" />
+ <tetrahedron index="34072" v0="3682" v1="5143" v2="5739" v3="6454" />
+ <tetrahedron index="34073" v0="3682" v1="5143" v2="5803" v3="6454" />
+ <tetrahedron index="34074" v0="3682" v1="3951" v2="5803" v3="6454" />
+ <tetrahedron index="34075" v0="5018" v1="5534" v2="5739" v3="6454" />
+ <tetrahedron index="34076" v0="5018" v1="5534" v2="6206" v3="6454" />
+ <tetrahedron index="34077" v0="3950" v1="5018" v2="5739" v3="6454" />
+ <tetrahedron index="34078" v0="3950" v1="5018" v2="6206" v3="6454" />
+ <tetrahedron index="34079" v0="4008" v1="4009" v2="4010" v3="6455" />
+ <tetrahedron index="34080" v0="4008" v1="4009" v2="5501" v3="6455" />
+ <tetrahedron index="34081" v0="4007" v1="5583" v2="6257" v3="6905" />
+ <tetrahedron index="34082" v0="6429" v1="6465" v2="6467" v3="6996" />
+ <tetrahedron index="34083" v0="4373" v1="5286" v2="5926" v3="6905" />
+ <tetrahedron index="34084" v0="3310" v1="5372" v2="5373" v3="6546" />
+ <tetrahedron index="34085" v0="3310" v1="4513" v2="5506" v3="6546" />
+ <tetrahedron index="34086" v0="5527" v1="5807" v2="5874" v3="6459" />
+ <tetrahedron index="34087" v0="3409" v1="4395" v2="5930" v3="6547" />
+ <tetrahedron index="34088" v0="5188" v1="5806" v2="6249" v3="6458" />
+ <tetrahedron index="34089" v0="5553" v1="6224" v2="6751" v3="6770" />
+ <tetrahedron index="34090" v0="3628" v1="5373" v2="6340" v3="6546" />
+ <tetrahedron index="34091" v0="3310" v1="3628" v2="5373" v3="6546" />
+ <tetrahedron index="34092" v0="4222" v1="5087" v2="5292" v3="6547" />
+ <tetrahedron index="34093" v0="4747" v1="5574" v2="5806" v3="6768" />
+ <tetrahedron index="34094" v0="4091" v1="4507" v2="5575" v3="6768" />
+ <tetrahedron index="34095" v0="3896" v1="5014" v2="5527" v3="6459" />
+ <tetrahedron index="34096" v0="3732" v1="3896" v2="5014" v3="6459" />
+ <tetrahedron index="34097" v0="3732" v1="5014" v2="5808" v3="6459" />
+ <tetrahedron index="34098" v0="3732" v1="3896" v2="4090" v3="6459" />
+ <tetrahedron index="34099" v0="3732" v1="4090" v2="5808" v3="6459" />
+ <tetrahedron index="34100" v0="5438" v1="5488" v2="6095" v3="6707" />
+ <tetrahedron index="34101" v0="5246" v1="5807" v2="5874" v3="6460" />
+ <tetrahedron index="34102" v0="5246" v1="5807" v2="6277" v3="6460" />
+ <tetrahedron index="34103" v0="5602" v1="6275" v2="6278" v3="6782" />
+ <tetrahedron index="34104" v0="5194" v1="6001" v2="6840" v3="6868" />
+ <tetrahedron index="34105" v0="5194" v1="5814" v2="6001" v3="6868" />
+ <tetrahedron index="34106" v0="5063" v1="5906" v2="6304" v3="6539" />
+ <tetrahedron index="34107" v0="4436" v1="4830" v2="5906" v3="6539" />
+ <tetrahedron index="34108" v0="4436" v1="5270" v2="5906" v3="6539" />
+ <tetrahedron index="34109" v0="4194" v1="4748" v2="4830" v3="6539" />
+ <tetrahedron index="34110" v0="5995" v1="6594" v2="6755" v3="6948" />
+ <tetrahedron index="34111" v0="4884" v1="6469" v2="6855" v3="6989" />
+ <tetrahedron index="34112" v0="5509" v1="5518" v2="6188" v3="6856" />
+ <tetrahedron index="34113" v0="4033" v1="4034" v2="5816" v3="6471" />
+ <tetrahedron index="34114" v0="4033" v1="5195" v2="5816" v3="6471" />
+ <tetrahedron index="34115" v0="5440" v1="6100" v2="6417" v3="6847" />
+ <tetrahedron index="34116" v0="4861" v1="5538" v2="6591" v3="6624" />
+ <tetrahedron index="34117" v0="6595" v1="6839" v2="6845" v3="6846" />
+ <tetrahedron index="34118" v0="5343" v1="5989" v2="6582" v3="6845" />
+ <tetrahedron index="34119" v0="4917" v1="5343" v2="5924" v3="6845" />
+ <tetrahedron index="34120" v0="5195" v1="5816" v2="6462" v3="6470" />
+ <tetrahedron index="34121" v0="4653" v1="5957" v2="6475" v3="6873" />
+ <tetrahedron index="34122" v0="4321" v1="5315" v2="5725" v3="6869" />
+ <tetrahedron index="34123" v0="5203" v1="5821" v2="6475" v3="6873" />
+ <tetrahedron index="34124" v0="5168" v1="6613" v2="6960" v3="6997" />
+ <tetrahedron index="34125" v0="4321" v1="6042" v2="6621" v3="6869" />
+ <tetrahedron index="34126" v0="4861" v1="5009" v2="6591" v3="6624" />
+ <tetrahedron index="34127" v0="5750" v1="6411" v2="6839" v3="6845" />
+ <tetrahedron index="34128" v0="4321" v1="5315" v2="6621" v3="6869" />
+ <tetrahedron index="34129" v0="5019" v1="5538" v2="6189" v3="6624" />
+ <tetrahedron index="34130" v0="4918" v1="5286" v2="5287" v3="6570" />
+ <tetrahedron index="34131" v0="5307" v1="5946" v2="6245" v3="6896" />
+ <tetrahedron index="34132" v0="4953" v1="6043" v2="6463" v3="6464" />
+ <tetrahedron index="34133" v0="4953" v1="5810" v2="6463" v3="6464" />
+ <tetrahedron index="34134" v0="5303" v1="6245" v2="6558" v3="6896" />
+ <tetrahedron index="34135" v0="5946" v1="6232" v2="6559" v3="6896" />
+ <tetrahedron index="34136" v0="6554" v1="6558" v2="6559" v3="6896" />
+ <tetrahedron index="34137" v0="5993" v1="6589" v2="6666" v3="6750" />
+ <tetrahedron index="34138" v0="4861" v1="6043" v2="6464" v3="6622" />
+ <tetrahedron index="34139" v0="4867" v1="5762" v2="6465" v3="6467" />
+ <tetrahedron index="34140" v0="5307" v1="6245" v2="6558" v3="6896" />
+ <tetrahedron index="34141" v0="4924" v1="5303" v2="6034" v3="6896" />
+ <tetrahedron index="34142" v0="4950" v1="5763" v2="5947" v3="6558" />
+ <tetrahedron index="34143" v0="4470" v1="5192" v2="5812" v3="6746" />
+ <tetrahedron index="34144" v0="5192" v1="6209" v2="6230" v3="6746" />
+ <tetrahedron index="34145" v0="5812" v1="6230" v2="6234" v3="6746" />
+ <tetrahedron index="34146" v0="4447" v1="4470" v2="5812" v3="6746" />
+ <tetrahedron index="34147" v0="4860" v1="6223" v2="6224" v3="6750" />
+ <tetrahedron index="34148" v0="6634" v1="6666" v2="6769" v3="6972" />
+ <tetrahedron index="34149" v0="5307" v1="5570" v2="6245" v3="6748" />
+ <tetrahedron index="34150" v0="5811" v1="6414" v2="6469" v3="6844" />
+ <tetrahedron index="34151" v0="5036" v1="6634" v2="6750" v3="6972" />
+ <tetrahedron index="34152" v0="5019" v1="5538" v2="6463" v3="6621" />
+ <tetrahedron index="34153" v0="4140" v1="4321" v2="4562" v3="6621" />
+ <tetrahedron index="34154" v0="4994" v1="5811" v2="6414" v3="6468" />
+ <tetrahedron index="34155" v0="4817" v1="5489" v2="6184" v3="6468" />
+ <tetrahedron index="34156" v0="4860" v1="6750" v2="6754" v3="6971" />
+ <tetrahedron index="34157" v0="5616" v1="6292" v2="6293" v3="7020" />
+ <tetrahedron index="34158" v0="4860" v1="6221" v2="6754" v3="6971" />
+ <tetrahedron index="34159" v0="5541" v1="6212" v2="6244" v3="6762" />
+ <tetrahedron index="34160" v0="4861" v1="5991" v2="6569" v3="6622" />
+ <tetrahedron index="34161" v0="4861" v1="5019" v2="6043" v3="6624" />
+ <tetrahedron index="34162" v0="5749" v1="5751" v2="6414" v3="6871" />
+ <tetrahedron index="34163" v0="5552" v1="5554" v2="6228" v3="6755" />
+ <tetrahedron index="34164" v0="4994" v1="5509" v2="6183" v3="6469" />
+ <tetrahedron index="34165" v0="4858" v1="5509" v2="6183" v3="6469" />
+ <tetrahedron index="34166" v0="4858" v1="4994" v2="6183" v3="6469" />
+ <tetrahedron index="34167" v0="4917" v1="5343" v2="6582" v3="6845" />
+ <tetrahedron index="34168" v0="5195" v1="6192" v2="6472" v3="6872" />
+ <tetrahedron index="34169" v0="3530" v1="4033" v2="4587" v3="6470" />
+ <tetrahedron index="34170" v0="3530" v1="4033" v2="5816" v3="6470" />
+ <tetrahedron index="34171" v0="4874" v1="6687" v2="6949" v3="6997" />
+ <tetrahedron index="34172" v0="5168" v1="6613" v2="6862" v3="6997" />
+ <tetrahedron index="34173" v0="4885" v1="5051" v2="5817" v3="6472" />
+ <tetrahedron index="34174" v0="4885" v1="5051" v2="6270" v3="6472" />
+ <tetrahedron index="34175" v0="5960" v1="6570" v2="6588" v3="6910" />
+ <tetrahedron index="34176" v0="4954" v1="6626" v2="6629" v3="7011" />
+ <tetrahedron index="34177" v0="4953" v1="5809" v2="6464" v3="6623" />
+ <tetrahedron index="34178" v0="4447" v1="5558" v2="5812" v3="6746" />
+ <tetrahedron index="34179" v0="5809" v1="6043" v2="6464" v3="6623" />
+ <tetrahedron index="34180" v0="4874" v1="6687" v2="6962" v3="6997" />
+ <tetrahedron index="34181" v0="5194" v1="5817" v2="6868" v3="6872" />
+ <tetrahedron index="34182" v0="6053" v1="6292" v2="6773" v3="6976" />
+ <tetrahedron index="34183" v0="5815" v1="6000" v2="6013" v3="6473" />
+ <tetrahedron index="34184" v0="6000" v1="6013" v2="6222" v3="6473" />
+ <tetrahedron index="34185" v0="6013" v1="6222" v2="6271" v3="6473" />
+ <tetrahedron index="34186" v0="5815" v1="6013" v2="6271" v3="6473" />
+ <tetrahedron index="34187" v0="5167" v1="6014" v2="6765" v3="6841" />
+ <tetrahedron index="34188" v0="5511" v1="6174" v2="6312" v3="6965" />
+ <tetrahedron index="34189" v0="4889" v1="5203" v2="5821" v3="6873" />
+ <tetrahedron index="34190" v0="3872" v1="5089" v2="5295" v3="6826" />
+ <tetrahedron index="34191" v0="3538" v1="3872" v2="5295" v3="6826" />
+ <tetrahedron index="34192" v0="4115" v1="5089" v2="5671" v3="6826" />
+ <tetrahedron index="34193" v0="3243" v1="5839" v2="5952" v3="6874" />
+ <tetrahedron index="34194" v0="6054" v1="6263" v2="6637" v3="6874" />
+ <tetrahedron index="34195" v0="3720" v1="4653" v2="4699" v3="6475" />
+ <tetrahedron index="34196" v0="4653" v1="4699" v2="5957" v3="6475" />
+ <tetrahedron index="34197" v0="5839" v1="5952" v2="6561" v3="6874" />
+ <tetrahedron index="34198" v0="4073" v1="5295" v2="5670" v3="6824" />
+ <tetrahedron index="34199" v0="5684" v1="5697" v2="6368" v3="6830" />
+ <tetrahedron index="34200" v0="4889" v1="5690" v2="5822" v3="6476" />
+ <tetrahedron index="34201" v0="3800" v1="4073" v2="5295" v3="6824" />
+ <tetrahedron index="34202" v0="3360" v1="4168" v2="5934" v3="6824" />
+ <tetrahedron index="34203" v0="4889" v1="5205" v2="5821" v3="6476" />
+ <tetrahedron index="34204" v0="5204" v1="5205" v2="5821" v3="6476" />
+ <tetrahedron index="34205" v0="4889" v1="5204" v2="5821" v3="6476" />
+ <tetrahedron index="34206" v0="4927" v1="5204" v2="5823" v3="6477" />
+ <tetrahedron index="34207" v0="4927" v1="5204" v2="5957" v3="6477" />
+ <tetrahedron index="34208" v0="3420" v1="5314" v2="5957" v3="6477" />
+ <tetrahedron index="34209" v0="3420" v1="5204" v2="5957" v3="6477" />
+ <tetrahedron index="34210" v0="3767" v1="4602" v2="6364" v3="6478" />
+ <tetrahedron index="34211" v0="5094" v1="5301" v2="5939" v3="6479" />
+ <tetrahedron index="34212" v0="3370" v1="5094" v2="5301" v3="6479" />
+ <tetrahedron index="34213" v0="3370" v1="5301" v2="5940" v3="6479" />
+ <tetrahedron index="34214" v0="3370" v1="5094" v2="5832" v3="6479" />
+ <tetrahedron index="34215" v0="3248" v1="3370" v2="5832" v3="6479" />
+ <tetrahedron index="34216" v0="3507" v1="3621" v2="5842" v3="6630" />
+ <tetrahedron index="34217" v0="4986" v1="6639" v2="6645" v3="7012" />
+ <tetrahedron index="34218" v0="4935" v1="5339" v2="5563" v3="6480" />
+ <tetrahedron index="34219" v0="5214" v1="5339" v2="5563" v3="6480" />
+ <tetrahedron index="34220" v0="5037" v1="5984" v2="6047" v3="6904" />
+ <tetrahedron index="34221" v0="4935" v1="5339" v2="5636" v3="6480" />
+ <tetrahedron index="34222" v0="5339" v1="5636" v2="5833" v3="6480" />
+ <tetrahedron index="34223" v0="4935" v1="5636" v2="5833" v3="6480" />
+ <tetrahedron index="34224" v0="5233" v1="5834" v2="6358" v3="6481" />
+ <tetrahedron index="34225" v0="5217" v1="5686" v2="5856" v3="6481" />
+ <tetrahedron index="34226" v0="5686" v1="5856" v2="6358" v3="6481" />
+ <tetrahedron index="34227" v0="4593" v1="5233" v2="5834" v3="6481" />
+ <tetrahedron index="34228" v0="4593" v1="5233" v2="5856" v3="6481" />
+ <tetrahedron index="34229" v0="3607" v1="4052" v2="5217" v3="6481" />
+ <tetrahedron index="34230" v0="3607" v1="5217" v2="6214" v3="6481" />
+ <tetrahedron index="34231" v0="3607" v1="4052" v2="6214" v3="6481" />
+ <tetrahedron index="34232" v0="4893" v1="5217" v2="5686" v3="6481" />
+ <tetrahedron index="34233" v0="4893" v1="5686" v2="5834" v3="6481" />
+ <tetrahedron index="34234" v0="5686" v1="5834" v2="6358" v3="6481" />
+ <tetrahedron index="34235" v0="4988" v1="5236" v2="5835" v3="6482" />
+ <tetrahedron index="34236" v0="4148" v1="4231" v2="4382" v3="6482" />
+ <tetrahedron index="34237" v0="4148" v1="4231" v2="5236" v3="6482" />
+ <tetrahedron index="34238" v0="4988" v1="5236" v2="5861" v3="6482" />
+ <tetrahedron index="34239" v0="4382" v1="4988" v2="5861" v3="6482" />
+ <tetrahedron index="34240" v0="4231" v1="5236" v2="5861" v3="6482" />
+ <tetrahedron index="34241" v0="4231" v1="4382" v2="5861" v3="6482" />
+ <tetrahedron index="34242" v0="5055" v1="5219" v2="5838" v3="6484" />
+ <tetrahedron index="34243" v0="4893" v1="4988" v2="5219" v3="6484" />
+ <tetrahedron index="34244" v0="4988" v1="5219" v2="6143" v3="6484" />
+ <tetrahedron index="34245" v0="3768" v1="3845" v2="4032" v3="6502" />
+ <tetrahedron index="34246" v0="4899" v1="5689" v2="5854" v3="6502" />
+ <tetrahedron index="34247" v0="3769" v1="4649" v2="5687" v3="6484" />
+ <tetrahedron index="34248" v0="3394" v1="5838" v2="6143" v3="6484" />
+ <tetrahedron index="34249" v0="3394" v1="4649" v2="6143" v3="6484" />
+ <tetrahedron index="34250" v0="3394" v1="3769" v2="4649" v3="6484" />
+ <tetrahedron index="34251" v0="3768" v1="3981" v2="5854" v3="6502" />
+ <tetrahedron index="34252" v0="4885" v1="5195" v2="6462" v3="6921" />
+ <tetrahedron index="34253" v0="3243" v1="4595" v2="5839" v3="6486" />
+ <tetrahedron index="34254" v0="4629" v1="4732" v2="6420" v3="6914" />
+ <tetrahedron index="34255" v0="4987" v1="5477" v2="6495" v3="6977" />
+ <tetrahedron index="34256" v0="5446" v1="5614" v2="6106" v3="6875" />
+ <tetrahedron index="34257" v0="5170" v1="5446" v2="6487" v3="6875" />
+ <tetrahedron index="34258" v0="5220" v1="6140" v2="6485" v3="6486" />
+ <tetrahedron index="34259" v0="5220" v1="5839" v2="6485" v3="6486" />
+ <tetrahedron index="34260" v0="5589" v1="6053" v2="6262" v3="6638" />
+ <tetrahedron index="34261" v0="5841" v1="6421" v2="6675" v3="6930" />
+ <tetrahedron index="34262" v0="4732" v1="5755" v2="6420" v3="6914" />
+ <tetrahedron index="34263" v0="5589" v1="6053" v2="6637" v3="6638" />
+ <tetrahedron index="34264" v0="3271" v1="4957" v2="5137" v3="6646" />
+ <tetrahedron index="34265" v0="5755" v1="6004" v2="6418" v3="6724" />
+ <tetrahedron index="34266" v0="5841" v1="6171" v2="6724" v3="6880" />
+ <tetrahedron index="34267" v0="5153" v1="5756" v2="6420" v3="6849" />
+ <tetrahedron index="34268" v0="5353" v1="5755" v2="6004" v3="6724" />
+ <tetrahedron index="34269" v0="5508" v1="6167" v2="6417" v3="6489" />
+ <tetrahedron index="34270" v0="5508" v1="5754" v2="6417" v3="6489" />
+ <tetrahedron index="34271" v0="5053" v1="6142" v2="6275" v3="6881" />
+ <tetrahedron index="34272" v0="4670" v1="6490" v2="6491" v3="6881" />
+ <tetrahedron index="34273" v0="4670" v1="5604" v2="6490" v3="6881" />
+ <tetrahedron index="34274" v0="4944" v1="5364" v2="6115" v3="6884" />
+ <tetrahedron index="34275" v0="5603" v1="6278" v2="6712" v3="6783" />
+ <tetrahedron index="34276" v0="6279" v1="6613" v2="6949" v3="6979" />
+ <tetrahedron index="34277" v0="4885" v1="5817" v2="6472" v3="6921" />
+ <tetrahedron index="34278" v0="3777" v1="3778" v2="6284" v3="6809" />
+ <tetrahedron index="34279" v0="4847" v1="5959" v2="6430" v3="6805" />
+ <tetrahedron index="34280" v0="3980" v1="3992" v2="5842" v3="6491" />
+ <tetrahedron index="34281" v0="5363" v1="6613" v2="6783" v3="6979" />
+ <tetrahedron index="34282" v0="6793" v1="6893" v2="6999" v3="7026" />
+ <tetrahedron index="34283" v0="6276" v1="6882" v2="6920" v3="6999" />
+ <tetrahedron index="34284" v0="4885" v1="5195" v2="5817" v3="6921" />
+ <tetrahedron index="34285" v0="5363" v1="5844" v2="6492" v3="6882" />
+ <tetrahedron index="34286" v0="5283" v1="5922" v2="6505" v3="6886" />
+ <tetrahedron index="34287" v0="4944" v1="5844" v2="6492" v3="6882" />
+ <tetrahedron index="34288" v0="5991" v1="6585" v2="6622" v3="6921" />
+ <tetrahedron index="34289" v0="6613" v1="6783" v2="6920" v3="7016" />
+ <tetrahedron index="34290" v0="3374" v1="3375" v2="6114" v3="6493" />
+ <tetrahedron index="34291" v0="4944" v1="6494" v2="6495" v3="6885" />
+ <tetrahedron index="34292" v0="4913" v1="5903" v2="6536" v3="6942" />
+ <tetrahedron index="34293" v0="3247" v1="3693" v2="5364" v3="6493" />
+ <tetrahedron index="34294" v0="3693" v1="5364" v2="5845" v3="6493" />
+ <tetrahedron index="34295" v0="6276" v1="6780" v2="6781" v3="6978" />
+ <tetrahedron index="34296" v0="4453" v1="4807" v2="5280" v3="6886" />
+ <tetrahedron index="34297" v0="5492" v1="5845" v2="6153" v3="6493" />
+ <tetrahedron index="34298" v0="5364" v1="5846" v2="6015" v3="6885" />
+ <tetrahedron index="34299" v0="5391" v1="6923" v2="6925" v3="7011" />
+ <tetrahedron index="34300" v0="6279" v1="6712" v2="6752" v3="6979" />
+ <tetrahedron index="34301" v0="4453" v1="4807" v2="5860" v3="6886" />
+ <tetrahedron index="34302" v0="5846" v1="6494" v2="6495" v3="6885" />
+ <tetrahedron index="34303" v0="5157" v1="5959" v2="6465" v3="6894" />
+ <tetrahedron index="34304" v0="4415" v1="5283" v2="6505" v3="6886" />
+ <tetrahedron index="34305" v0="5844" v1="5846" v2="6494" v3="6495" />
+ <tetrahedron index="34306" v0="4944" v1="5844" v2="6494" v3="6495" />
+ <tetrahedron index="34307" v0="5602" v1="6780" v2="6781" v3="6978" />
+ <tetrahedron index="34308" v0="5363" v1="6780" v2="6882" v3="6978" />
+ <tetrahedron index="34309" v0="5363" v1="6155" v2="6492" v3="6883" />
+ <tetrahedron index="34310" v0="5494" v1="6492" v2="6686" v3="6883" />
+ <tetrahedron index="34311" v0="5494" v1="6492" v2="6715" v3="6883" />
+ <tetrahedron index="34312" v0="4874" v1="6016" v2="6686" v3="6883" />
+ <tetrahedron index="34313" v0="5363" v1="6492" v2="6882" v3="6883" />
+ <tetrahedron index="34314" v0="6016" v1="6492" v2="6882" v3="6883" />
+ <tetrahedron index="34315" v0="6016" v1="6492" v2="6686" v3="6883" />
+ <tetrahedron index="34316" v0="3883" v1="5227" v2="6338" v3="6496" />
+ <tetrahedron index="34317" v0="3356" v1="3883" v2="6338" v3="6496" />
+ <tetrahedron index="34318" v0="4965" v1="5417" v2="5849" v3="6496" />
+ <tetrahedron index="34319" v0="4896" v1="5417" v2="5849" v3="6496" />
+ <tetrahedron index="34320" v0="4549" v1="5085" v2="5847" v3="6498" />
+ <tetrahedron index="34321" v0="4965" v1="5847" v2="6336" v3="6498" />
+ <tetrahedron index="34322" v0="4965" v1="5419" v2="6336" v3="6498" />
+ <tetrahedron index="34323" v0="3363" v1="3820" v2="3822" v3="6345" />
+ <tetrahedron index="34324" v0="5419" v1="5663" v2="6336" v3="6498" />
+ <tetrahedron index="34325" v0="5085" v1="5847" v2="6336" v3="6498" />
+ <tetrahedron index="34326" v0="5085" v1="5663" v2="6336" v3="6498" />
+ <tetrahedron index="34327" v0="4217" v1="4549" v2="5085" v3="6498" />
+ <tetrahedron index="34328" v0="4217" v1="5085" v2="5663" v3="6498" />
+ <tetrahedron index="34329" v0="3620" v1="4217" v2="4549" v3="6498" />
+ <tetrahedron index="34330" v0="3620" v1="4217" v2="5663" v3="6498" />
+ <tetrahedron index="34331" v0="3570" v1="4274" v2="5228" v3="6500" />
+ <tetrahedron index="34332" v0="3500" v1="3570" v2="3571" v3="6500" />
+ <tetrahedron index="34333" v0="3500" v1="3571" v2="5853" v3="6500" />
+ <tetrahedron index="34334" v0="3570" v1="3571" v2="5853" v3="6500" />
+ <tetrahedron index="34335" v0="3500" v1="4398" v2="5819" v3="6500" />
+ <tetrahedron index="34336" v0="4398" v1="5819" v2="5853" v3="6500" />
+ <tetrahedron index="34337" v0="3500" v1="4398" v2="5853" v3="6500" />
+ <tetrahedron index="34338" v0="5078" v1="5819" v2="6388" v3="6500" />
+ <tetrahedron index="34339" v0="4897" v1="5078" v2="6388" v3="6500" />
+ <tetrahedron index="34340" v0="5101" v1="5686" v2="5687" v3="6501" />
+ <tetrahedron index="34341" v0="5686" v1="5687" v2="6484" v3="6501" />
+ <tetrahedron index="34342" v0="3400" v1="3768" v2="3966" v3="6501" />
+ <tetrahedron index="34343" v0="3768" v1="3966" v2="5854" v3="6501" />
+ <tetrahedron index="34344" v0="5055" v1="5686" v2="6358" v3="6501" />
+ <tetrahedron index="34345" v0="5101" v1="5686" v2="6358" v3="6501" />
+ <tetrahedron index="34346" v0="3723" v1="4032" v2="5264" v3="6502" />
+ <tetrahedron index="34347" v0="3768" v1="3981" v2="4032" v3="6502" />
+ <tetrahedron index="34348" v0="3981" v1="4032" v2="5264" v3="6502" />
+ <tetrahedron index="34349" v0="3981" v1="5264" v2="5689" v3="6502" />
+ <tetrahedron index="34350" v0="3981" v1="5689" v2="5854" v3="6502" />
+ <tetrahedron index="34351" v0="4900" v1="5021" v2="5235" v3="6503" />
+ <tetrahedron index="34352" v0="4900" v1="4988" v2="5235" v3="6503" />
+ <tetrahedron index="34353" v0="4988" v1="5216" v2="5479" v3="6503" />
+ <tetrahedron index="34354" v0="5216" v1="5479" v2="5858" v3="6503" />
+ <tetrahedron index="34355" v0="4988" v1="5235" v2="5479" v3="6503" />
+ <tetrahedron index="34356" v0="5235" v1="5479" v2="5858" v3="6503" />
+ <tetrahedron index="34357" v0="3295" v1="5142" v2="5542" v3="6504" />
+ <tetrahedron index="34358" v0="4900" v1="5142" v2="5238" v3="6504" />
+ <tetrahedron index="34359" v0="4900" v1="5238" v2="5542" v3="6504" />
+ <tetrahedron index="34360" v0="5142" v1="5238" v2="5542" v3="6504" />
+ <tetrahedron index="34361" v0="4900" v1="5862" v2="5922" v3="6504" />
+ <tetrahedron index="34362" v0="5142" v1="5862" v2="5922" v3="6504" />
+ <tetrahedron index="34363" v0="4900" v1="5142" v2="5922" v3="6504" />
+ <tetrahedron index="34364" v0="5210" v1="5829" v2="6511" v3="6887" />
+ <tetrahedron index="34365" v0="3955" v1="4148" v2="5236" v3="6505" />
+ <tetrahedron index="34366" v0="3955" v1="4148" v2="4415" v3="6505" />
+ <tetrahedron index="34367" v0="3955" v1="4415" v2="4416" v3="6505" />
+ <tetrahedron index="34368" v0="3955" v1="4416" v2="5238" v3="6505" />
+ <tetrahedron index="34369" v0="5243" v1="5829" v2="6478" v3="6887" />
+ <tetrahedron index="34370" v0="5210" v1="5829" v2="6364" v3="6887" />
+ <tetrahedron index="34371" v0="4902" v1="5107" v2="5693" v3="6887" />
+ <tetrahedron index="34372" v0="3955" v1="5238" v2="5543" v3="6505" />
+ <tetrahedron index="34373" v0="5236" v1="5238" v2="5543" v3="6505" />
+ <tetrahedron index="34374" v0="3955" v1="5236" v2="5543" v3="6505" />
+ <tetrahedron index="34375" v0="5867" v1="5868" v2="6509" v3="6510" />
+ <tetrahedron index="34376" v0="4870" v1="5559" v2="6107" v3="6510" />
+ <tetrahedron index="34377" v0="5609" v1="5867" v2="6107" v3="6510" />
+ <tetrahedron index="34378" v0="3414" v1="3524" v2="4312" v3="6606" />
+ <tetrahedron index="34379" v0="3524" v1="5058" v2="6009" v3="6606" />
+ <tetrahedron index="34380" v0="5239" v1="5865" v2="6010" v3="6508" />
+ <tetrahedron index="34381" v0="3680" v1="5634" v2="6314" v3="6609" />
+ <tetrahedron index="34382" v0="3494" v1="3875" v2="5865" v3="6508" />
+ <tetrahedron index="34383" v0="3494" v1="5865" v2="6010" v3="6508" />
+ <tetrahedron index="34384" v0="3494" v1="3875" v2="6010" v3="6508" />
+ <tetrahedron index="34385" v0="3315" v1="3316" v2="3493" v3="6509" />
+ <tetrahedron index="34386" v0="3316" v1="3493" v2="5865" v3="6509" />
+ <tetrahedron index="34387" v0="3934" v1="5239" v2="5868" v3="6509" />
+ <tetrahedron index="34388" v0="3315" v1="3493" v2="3934" v3="6509" />
+ <tetrahedron index="34389" v0="3493" v1="3934" v2="5239" v3="6509" />
+ <tetrahedron index="34390" v0="3493" v1="5239" v2="5865" v3="6509" />
+ <tetrahedron index="34391" v0="3934" v1="5868" v2="6509" v3="6510" />
+ <tetrahedron index="34392" v0="3315" v1="3934" v2="6509" v3="6510" />
+ <tetrahedron index="34393" v0="3933" v1="4317" v2="5609" v3="6510" />
+ <tetrahedron index="34394" v0="3933" v1="5609" v2="5868" v3="6510" />
+ <tetrahedron index="34395" v0="3923" v1="3933" v2="4317" v3="6510" />
+ <tetrahedron index="34396" v0="3923" v1="3933" v2="5868" v3="6510" />
+ <tetrahedron index="34397" v0="5603" v1="6307" v2="6654" v3="6804" />
+ <tetrahedron index="34398" v0="4409" v1="5064" v2="6305" v3="6802" />
+ <tetrahedron index="34399" v0="3625" v1="5275" v2="5916" v3="6802" />
+ <tetrahedron index="34400" v0="3459" v1="3461" v2="5245" v3="6888" />
+ <tetrahedron index="34401" v0="5880" v1="6640" v2="6673" v3="7002" />
+ <tetrahedron index="34402" v0="4905" v1="5248" v2="6521" v3="7002" />
+ <tetrahedron index="34403" v0="3450" v1="3685" v2="5872" v3="6512" />
+ <tetrahedron index="34404" v0="4950" v1="5745" v2="6032" v3="6656" />
+ <tetrahedron index="34405" v0="3946" v1="5245" v2="5722" v3="6513" />
+ <tetrahedron index="34406" v0="3946" v1="5244" v2="5722" v3="6513" />
+ <tetrahedron index="34407" v0="3946" v1="4067" v2="5245" v3="6513" />
+ <tetrahedron index="34408" v0="4905" v1="6521" v2="6890" v3="7002" />
+ <tetrahedron index="34409" v0="5807" v1="6277" v2="6704" v3="6788" />
+ <tetrahedron index="34410" v0="5246" v1="5807" v2="6285" v3="6788" />
+ <tetrahedron index="34411" v0="3907" v1="5317" v2="6082" v3="6658" />
+ <tetrahedron index="34412" v0="4826" v1="5247" v2="6119" v3="6889" />
+ <tetrahedron index="34413" v0="4717" v1="4826" v2="5462" v3="6889" />
+ <tetrahedron index="34414" v0="4905" v1="6673" v2="6707" v3="7002" />
+ <tetrahedron index="34415" v0="5247" v1="5876" v2="6516" v3="6889" />
+ <tetrahedron index="34416" v0="3385" v1="4717" v2="4826" v3="6889" />
+ <tetrahedron index="34417" v0="4029" v1="5247" v2="6036" v3="6889" />
+ <tetrahedron index="34418" v0="5876" v1="6180" v2="6516" v3="6889" />
+ <tetrahedron index="34419" v0="5462" v1="6180" v2="6516" v3="6889" />
+ <tetrahedron index="34420" v0="5876" v1="6180" v2="6515" v3="6889" />
+ <tetrahedron index="34421" v0="4487" v1="4610" v2="4705" v3="6692" />
+ <tetrahedron index="34422" v0="4705" v1="4741" v2="5459" v3="6692" />
+ <tetrahedron index="34423" v0="4659" v1="4705" v2="4741" v3="6692" />
+ <tetrahedron index="34424" v0="4705" v1="5126" v2="5459" v3="6692" />
+ <tetrahedron index="34425" v0="5645" v1="6112" v2="6322" v3="6683" />
+ <tetrahedron index="34426" v0="5247" v1="6119" v2="6122" v3="6516" />
+ <tetrahedron index="34427" v0="4904" v1="5247" v2="6122" v3="6516" />
+ <tetrahedron index="34428" v0="4917" v1="6734" v2="6790" v3="6967" />
+ <tetrahedron index="34429" v0="5465" v1="6105" v2="6129" v3="6892" />
+ <tetrahedron index="34430" v0="6582" v1="6906" v2="6907" v3="6967" />
+ <tetrahedron index="34431" v0="5760" v1="6102" v2="6103" v3="6892" />
+ <tetrahedron index="34432" v0="4905" v1="6673" v2="6798" v3="6890" />
+ <tetrahedron index="34433" v0="5349" v1="6287" v2="6790" v3="6967" />
+ <tetrahedron index="34434" v0="5461" v1="6126" v2="6128" v3="6516" />
+ <tetrahedron index="34435" v0="5461" v1="5462" v2="6128" v3="6516" />
+ <tetrahedron index="34436" v0="4904" v1="6122" v2="6126" v3="6516" />
+ <tetrahedron index="34437" v0="4980" v1="5462" v2="6119" v3="6516" />
+ <tetrahedron index="34438" v0="4980" v1="6126" v2="6128" v3="6516" />
+ <tetrahedron index="34439" v0="4980" v1="5462" v2="6128" v3="6516" />
+ <tetrahedron index="34440" v0="4980" v1="6119" v2="6122" v3="6516" />
+ <tetrahedron index="34441" v0="4980" v1="6122" v2="6126" v3="6516" />
+ <tetrahedron index="34442" v0="3367" v1="4057" v2="5881" v3="6518" />
+ <tetrahedron index="34443" v0="4993" v1="5878" v2="6517" v3="6519" />
+ <tetrahedron index="34444" v0="5438" v1="5488" v2="6095" v3="6519" />
+ <tetrahedron index="34445" v0="5438" v1="6095" v2="6517" v3="6519" />
+ <tetrahedron index="34446" v0="4268" v1="5474" v2="5551" v3="6954" />
+ <tetrahedron index="34447" v0="5106" v1="5878" v2="5879" v3="6519" />
+ <tetrahedron index="34448" v0="4993" v1="5488" v2="6095" v3="6519" />
+ <tetrahedron index="34449" v0="4993" v1="6095" v2="6517" v3="6519" />
+ <tetrahedron index="34450" v0="4846" v1="5249" v2="5882" v3="6524" />
+ <tetrahedron index="34451" v0="5196" v1="5910" v2="6817" v3="7003" />
+ <tetrahedron index="34452" v0="5310" v1="5954" v2="6264" v3="6564" />
+ <tetrahedron index="34453" v0="5193" v1="6430" v2="6855" v3="7023" />
+ <tetrahedron index="34454" v0="4846" v1="5759" v2="5882" v3="6524" />
+ <tetrahedron index="34455" v0="4905" v1="5512" v2="5879" v3="6521" />
+ <tetrahedron index="34456" v0="5248" v1="5547" v2="5880" v3="6523" />
+ <tetrahedron index="34457" v0="3936" v1="5594" v2="6267" v3="6683" />
+ <tetrahedron index="34458" v0="3935" v1="3936" v2="6267" v3="6683" />
+ <tetrahedron index="34459" v0="4871" v1="5646" v2="6322" v3="6683" />
+ <tetrahedron index="34460" v0="3936" v1="4628" v2="5594" v3="6683" />
+ <tetrahedron index="34461" v0="5071" v1="5645" v2="6322" v3="6683" />
+ <tetrahedron index="34462" v0="4984" v1="5678" v2="5905" v3="6700" />
+ <tetrahedron index="34463" v0="4984" v1="5678" v2="6135" v3="6700" />
+ <tetrahedron index="34464" v0="4575" v1="5146" v2="6135" v3="6700" />
+ <tetrahedron index="34465" v0="4169" v1="4186" v2="5470" v3="6700" />
+ <tetrahedron index="34466" v0="5470" v1="6135" v2="6699" v3="6700" />
+ <tetrahedron index="34467" v0="4984" v1="6135" v2="6699" v3="6700" />
+ <tetrahedron index="34468" v0="3367" v1="3573" v2="5953" v3="6523" />
+ <tetrahedron index="34469" v0="4926" v1="5311" v2="5547" v3="6523" />
+ <tetrahedron index="34470" v0="5311" v1="5953" v2="6521" v3="6523" />
+ <tetrahedron index="34471" v0="4926" v1="5311" v2="6521" v3="6523" />
+ <tetrahedron index="34472" v0="3573" v1="5311" v2="5547" v3="6523" />
+ <tetrahedron index="34473" v0="3573" v1="5311" v2="5953" v3="6523" />
+ <tetrahedron index="34474" v0="5249" v1="5407" v2="6065" v3="6524" />
+ <tetrahedron index="34475" v0="5507" v1="6170" v2="6723" v3="6877" />
+ <tetrahedron index="34476" v0="5014" v1="5458" v2="6688" v3="6690" />
+ <tetrahedron index="34477" v0="5014" v1="6117" v2="6389" v3="6690" />
+ <tetrahedron index="34478" v0="4992" v1="5407" v2="5485" v3="6524" />
+ <tetrahedron index="34479" v0="4992" v1="5407" v2="6065" v3="6524" />
+ <tetrahedron index="34480" v0="4992" v1="6065" v2="6101" v3="6524" />
+ <tetrahedron index="34481" v0="4992" v1="5485" v2="6101" v3="6524" />
+ <tetrahedron index="34482" v0="5464" v1="5808" v2="6130" v3="6697" />
+ <tetrahedron index="34483" v0="4980" v1="5458" v2="6117" v3="6690" />
+ <tetrahedron index="34484" v0="6170" v1="6722" v2="6784" v3="6963" />
+ <tetrahedron index="34485" v0="6166" v1="6717" v2="6959" v3="7021" />
+ <tetrahedron index="34486" v0="5018" v1="5535" v2="6397" v3="6835" />
+ <tetrahedron index="34487" v0="3645" v1="4786" v2="5075" v3="6526" />
+ <tetrahedron index="34488" v0="4786" v1="5075" v2="5652" v3="6526" />
+ <tetrahedron index="34489" v0="3321" v1="4669" v2="4786" v3="6526" />
+ <tetrahedron index="34490" v0="4669" v1="4786" v2="5652" v3="6526" />
+ <tetrahedron index="34491" v0="3321" v1="5061" v2="5174" v3="6526" />
+ <tetrahedron index="34492" v0="3321" v1="4646" v2="5174" v3="6526" />
+ <tetrahedron index="34493" v0="3321" v1="4669" v2="5061" v3="6526" />
+ <tetrahedron index="34494" v0="4669" v1="5061" v2="5652" v3="6526" />
+ <tetrahedron index="34495" v0="3535" v1="3949" v2="5890" v3="6528" />
+ <tetrahedron index="34496" v0="6279" v1="6752" v2="6784" v3="6949" />
+ <tetrahedron index="34497" v0="5604" v1="5605" v2="6490" v3="6881" />
+ <tetrahedron index="34498" v0="5365" v1="6671" v2="6672" v3="6942" />
+ <tetrahedron index="34499" v0="5280" v1="5860" v2="5922" v3="6886" />
+ <tetrahedron index="34500" v0="4947" v1="5667" v2="6023" v3="6529" />
+ <tetrahedron index="34501" v0="5263" v1="5897" v2="5898" v3="6533" />
+ <tetrahedron index="34502" v0="5033" v1="5894" v2="6529" v3="6533" />
+ <tetrahedron index="34503" v0="3998" v1="4240" v2="5087" v3="6529" />
+ <tetrahedron index="34504" v0="4240" v1="5087" v2="5667" v3="6529" />
+ <tetrahedron index="34505" v0="4984" v1="5624" v2="5902" v3="6534" />
+ <tetrahedron index="34506" v0="5033" v1="5667" v2="6023" v3="6529" />
+ <tetrahedron index="34507" v0="5033" v1="5568" v2="5894" v3="6533" />
+ <tetrahedron index="34508" v0="5033" v1="6023" v2="6529" v3="6533" />
+ <tetrahedron index="34509" v0="3723" v1="4032" v2="4174" v3="6530" />
+ <tetrahedron index="34510" v0="3723" v1="4174" v2="5897" v3="6530" />
+ <tetrahedron index="34511" v0="4496" v1="4519" v2="4842" v3="6531" />
+ <tetrahedron index="34512" v0="3981" v1="4536" v2="5264" v3="6531" />
+ <tetrahedron index="34513" v0="3981" v1="5264" v2="5689" v3="6531" />
+ <tetrahedron index="34514" v0="3981" v1="4536" v2="5689" v3="6531" />
+ <tetrahedron index="34515" v0="5104" v1="5259" v2="5899" v3="6531" />
+ <tetrahedron index="34516" v0="4496" v1="4519" v2="5259" v3="6531" />
+ <tetrahedron index="34517" v0="4496" v1="5259" v2="5895" v3="6531" />
+ <tetrahedron index="34518" v0="4910" v1="5259" v2="5895" v3="6531" />
+ <tetrahedron index="34519" v0="4910" v1="5895" v2="5899" v3="6531" />
+ <tetrahedron index="34520" v0="4910" v1="5259" v2="5899" v3="6531" />
+ <tetrahedron index="34521" v0="4357" v1="5074" v2="5374" v3="6532" />
+ <tetrahedron index="34522" v0="5074" v1="5374" v2="5898" v3="6532" />
+ <tetrahedron index="34523" v0="4357" v1="5074" v2="5898" v3="6532" />
+ <tetrahedron index="34524" v0="4769" v1="5263" v2="5898" v3="6532" />
+ <tetrahedron index="34525" v0="5624" v1="6300" v2="6797" v3="6798" />
+ <tetrahedron index="34526" v0="6117" v1="6121" v2="6201" v3="6688" />
+ <tetrahedron index="34527" v0="4357" v1="4482" v2="4769" v3="6532" />
+ <tetrahedron index="34528" v0="4482" v1="4769" v2="5898" v3="6532" />
+ <tetrahedron index="34529" v0="4357" v1="4482" v2="5898" v3="6532" />
+ <tetrahedron index="34530" v0="5262" v1="5897" v2="5898" v3="6533" />
+ <tetrahedron index="34531" v0="4947" v1="6023" v2="6529" v3="6533" />
+ <tetrahedron index="34532" v0="4947" v1="6529" v2="6532" v3="6533" />
+ <tetrahedron index="34533" v0="5063" v1="5624" v2="6111" v3="6534" />
+ <tetrahedron index="34534" v0="3829" v1="3909" v2="4058" v3="6730" />
+ <tetrahedron index="34535" v0="5197" v1="5761" v2="6176" v3="6541" />
+ <tetrahedron index="34536" v0="5411" v1="5516" v2="6187" v3="6732" />
+ <tetrahedron index="34537" v0="4057" v1="5272" v2="5881" v3="6818" />
+ <tetrahedron index="34538" v0="5625" v1="6300" v2="6302" v3="6800" />
+ <tetrahedron index="34539" v0="4913" v1="5625" v2="6797" v3="6800" />
+ <tetrahedron index="34540" v0="4940" v1="5356" v2="5978" v3="7024" />
+ <tetrahedron index="34541" v0="5762" v1="5959" v2="6465" v3="6851" />
+ <tetrahedron index="34542" v0="4913" v1="6073" v2="6612" v3="6893" />
+ <tetrahedron index="34543" v0="5023" v1="5547" v2="5880" v3="6561" />
+ <tetrahedron index="34544" v0="5507" v1="6488" v2="6720" v3="6877" />
+ <tetrahedron index="34545" v0="4962" v1="6536" v2="6537" v3="6893" />
+ <tetrahedron index="34546" v0="5407" v1="5485" v2="6524" v3="6677" />
+ <tetrahedron index="34547" v0="4951" v1="4973" v2="5383" v3="6677" />
+ <tetrahedron index="34548" v0="5383" v1="5485" v2="5726" v3="6677" />
+ <tetrahedron index="34549" v0="5407" v1="5726" v2="6066" v3="6677" />
+ <tetrahedron index="34550" v0="4936" v1="5340" v2="5983" v3="6899" />
+ <tetrahedron index="34551" v0="4849" v1="6170" v2="6723" v3="6948" />
+ <tetrahedron index="34552" v0="5465" v1="6072" v2="6535" v3="6536" />
+ <tetrahedron index="34553" v0="4913" v1="5063" v2="6073" v3="6800" />
+ <tetrahedron index="34554" v0="4962" v1="6073" v2="6303" v3="6536" />
+ <tetrahedron index="34555" v0="5625" v1="6073" v2="6303" v3="6536" />
+ <tetrahedron index="34556" v0="4962" v1="5625" v2="6303" v3="6536" />
+ <tetrahedron index="34557" v0="4993" v1="6135" v2="6149" v3="6953" />
+ <tetrahedron index="34558" v0="4258" v1="5189" v2="5412" v3="6697" />
+ <tetrahedron index="34559" v0="4962" v1="5412" v2="6130" v3="6697" />
+ <tetrahedron index="34560" v0="4748" v1="5269" v2="5270" v3="6539" />
+ <tetrahedron index="34561" v0="5269" v1="5270" v2="6073" v3="6539" />
+ <tetrahedron index="34562" v0="5063" v1="6073" v2="6304" v3="6539" />
+ <tetrahedron index="34563" v0="5416" v1="6307" v2="6442" v3="6654" />
+ <tetrahedron index="34564" v0="4963" v1="5416" v2="6075" v3="6654" />
+ <tetrahedron index="34565" v0="4913" v1="5063" v2="5270" v3="6539" />
+ <tetrahedron index="34566" v0="4913" v1="5270" v2="6073" v3="6539" />
+ <tetrahedron index="34567" v0="4913" v1="5063" v2="6073" v3="6539" />
+ <tetrahedron index="34568" v0="4883" v1="5874" v2="6688" v3="6950" />
+ <tetrahedron index="34569" v0="5414" v1="6073" v2="6304" v3="6539" />
+ <tetrahedron index="34570" v0="4194" v1="5414" v2="6304" v3="6539" />
+ <tetrahedron index="34571" v0="4239" v1="4983" v2="6325" v3="6698" />
+ <tetrahedron index="34572" v0="4850" v1="5416" v2="6442" v3="6654" />
+ <tetrahedron index="34573" v0="4984" v1="5470" v2="5624" v3="6540" />
+ <tetrahedron index="34574" v0="4984" v1="5624" v2="6534" v3="6540" />
+ <tetrahedron index="34575" v0="5008" v1="5518" v2="6187" v3="6732" />
+ <tetrahedron index="34576" v0="5511" v1="6174" v2="6728" v3="6965" />
+ <tetrahedron index="34577" v0="4488" v1="4489" v2="5907" v3="6541" />
+ <tetrahedron index="34578" v0="4488" v1="5907" v2="6333" v3="6541" />
+ <tetrahedron index="34579" v0="4488" v1="4489" v2="5656" v3="6541" />
+ <tetrahedron index="34580" v0="4488" v1="5656" v2="6333" v3="6541" />
+ <tetrahedron index="34581" v0="3724" v1="5277" v2="5916" v3="6542" />
+ <tetrahedron index="34582" v0="3724" v1="5275" v2="5916" v3="6542" />
+ <tetrahedron index="34583" v0="3724" v1="3838" v2="5277" v3="6542" />
+ <tetrahedron index="34584" v0="3838" v1="5277" v2="5710" v3="6542" />
+ <tetrahedron index="34585" v0="3724" v1="3838" v2="5710" v3="6542" />
+ <tetrahedron index="34586" v0="4915" v1="5277" v2="5912" v3="6542" />
+ <tetrahedron index="34587" v0="5274" v1="5912" v2="5913" v3="6542" />
+ <tetrahedron index="34588" v0="5274" v1="5275" v2="5913" v3="6542" />
+ <tetrahedron index="34589" v0="4915" v1="5277" v2="5916" v3="6542" />
+ <tetrahedron index="34590" v0="4915" v1="5275" v2="5916" v3="6542" />
+ <tetrahedron index="34591" v0="4915" v1="5274" v2="5275" v3="6542" />
+ <tetrahedron index="34592" v0="4915" v1="5274" v2="5912" v3="6542" />
+ <tetrahedron index="34593" v0="3982" v1="4191" v2="5278" v3="6543" />
+ <tetrahedron index="34594" v0="3982" v1="5278" v2="5282" v3="6543" />
+ <tetrahedron index="34595" v0="3982" v1="5282" v2="6025" v3="6543" />
+ <tetrahedron index="34596" v0="3982" v1="4191" v2="6025" v3="6543" />
+ <tetrahedron index="34597" v0="4916" v1="5278" v2="5282" v3="6543" />
+ <tetrahedron index="34598" v0="4916" v1="5282" v2="5921" v3="6543" />
+ <tetrahedron index="34599" v0="4916" v1="5280" v2="5281" v3="6544" />
+ <tetrahedron index="34600" v0="4916" v1="5280" v2="5917" v3="6544" />
+ <tetrahedron index="34601" v0="4948" v1="5377" v2="5921" v3="6544" />
+ <tetrahedron index="34602" v0="4948" v1="5921" v2="6028" v3="6544" />
+ <tetrahedron index="34603" v0="4948" v1="5377" v2="5738" v3="6544" />
+ <tetrahedron index="34604" v0="4948" v1="5738" v2="6028" v3="6544" />
+ <tetrahedron index="34605" v0="4320" v1="5286" v2="5926" v3="6545" />
+ <tetrahedron index="34606" v0="5806" v1="6457" v2="6458" v3="6545" />
+ <tetrahedron index="34607" v0="4320" v1="4507" v2="4725" v3="6545" />
+ <tetrahedron index="34608" v0="4320" v1="4507" v2="5926" v3="6545" />
+ <tetrahedron index="34609" v0="5805" v1="6457" v2="6458" v3="6545" />
+ <tetrahedron index="34610" v0="5805" v1="6456" v2="6458" v3="6545" />
+ <tetrahedron index="34611" v0="4320" v1="5806" v2="6457" v3="6545" />
+ <tetrahedron index="34612" v0="4320" v1="5286" v2="6457" v3="6545" />
+ <tetrahedron index="34613" v0="4918" v1="5805" v2="6456" v3="6545" />
+ <tetrahedron index="34614" v0="4918" v1="5286" v2="5805" v3="6545" />
+ <tetrahedron index="34615" v0="5286" v1="5805" v2="6457" v3="6545" />
+ <tetrahedron index="34616" v0="3404" v1="3405" v2="3409" v3="6547" />
+ <tetrahedron index="34617" v0="3405" v1="3409" v2="5293" v3="6547" />
+ <tetrahedron index="34618" v0="3994" v1="6169" v2="6396" v3="6548" />
+ <tetrahedron index="34619" v0="3994" v1="4241" v2="6396" v3="6548" />
+ <tetrahedron index="34620" v0="3721" v1="3869" v2="4241" v3="6548" />
+ <tetrahedron index="34621" v0="3721" v1="4241" v2="6396" v3="6548" />
+ <tetrahedron index="34622" v0="3559" v1="3721" v2="5043" v3="6548" />
+ <tetrahedron index="34623" v0="3559" v1="5043" v2="5294" v3="6548" />
+ <tetrahedron index="34624" v0="3559" v1="5294" v2="5932" v3="6548" />
+ <tetrahedron index="34625" v0="3721" v1="3722" v2="3869" v3="6548" />
+ <tetrahedron index="34626" v0="3722" v1="3869" v2="5932" v3="6548" />
+ <tetrahedron index="34627" v0="4920" v1="5290" v2="6169" v3="6548" />
+ <tetrahedron index="34628" v0="5290" v1="6169" v2="6396" v3="6548" />
+ <tetrahedron index="34629" v0="4920" v1="5043" v2="5290" v3="6548" />
+ <tetrahedron index="34630" v0="5043" v1="5290" v2="6396" v3="6548" />
+ <tetrahedron index="34631" v0="3559" v1="3721" v2="3722" v3="6548" />
+ <tetrahedron index="34632" v0="3559" v1="3722" v2="5932" v3="6548" />
+ <tetrahedron index="34633" v0="5763" v1="5943" v2="6550" v3="6551" />
+ <tetrahedron index="34634" v0="5342" v1="6053" v2="6262" v3="6928" />
+ <tetrahedron index="34635" v0="5873" v1="6282" v2="6313" v3="6787" />
+ <tetrahedron index="34636" v0="6567" v1="6581" v2="6900" v3="6901" />
+ <tetrahedron index="34637" v0="4936" v1="5341" v2="5984" v3="6901" />
+ <tetrahedron index="34638" v0="4954" v1="5393" v2="5394" v3="6578" />
+ <tetrahedron index="34639" v0="3780" v1="3781" v2="3937" v3="6578" />
+ <tetrahedron index="34640" v0="5042" v1="6083" v2="6567" v3="6900" />
+ <tetrahedron index="34641" v0="5065" v1="6280" v2="6785" v3="6808" />
+ <tetrahedron index="34642" v0="5148" v1="5747" v2="6083" v3="6900" />
+ <tetrahedron index="34643" v0="5523" v1="5944" v2="6193" v3="6556" />
+ <tetrahedron index="34644" v0="4924" v1="5304" v2="5942" v3="6556" />
+ <tetrahedron index="34645" v0="4211" v1="5304" v2="5942" v3="6556" />
+ <tetrahedron index="34646" v0="4924" v1="5942" v2="5943" v3="6556" />
+ <tetrahedron index="34647" v0="4954" v1="6044" v2="6626" v3="6629" />
+ <tetrahedron index="34648" v0="5166" v1="6044" v2="6049" v3="6626" />
+ <tetrahedron index="34649" v0="5035" v1="6213" v2="6390" v3="6748" />
+ <tetrahedron index="34650" v0="3878" v1="5566" v2="6238" v3="6758" />
+ <tetrahedron index="34651" v0="3646" v1="3878" v2="3879" v3="6758" />
+ <tetrahedron index="34652" v0="4845" v1="5950" v2="6487" v3="6560" />
+ <tetrahedron index="34653" v0="5268" v1="6098" v2="6673" v3="6943" />
+ <tetrahedron index="34654" v0="5063" v1="6300" v2="6534" v3="6800" />
+ <tetrahedron index="34655" v0="4210" v1="4338" v2="5523" v3="6555" />
+ <tetrahedron index="34656" v0="4210" v1="5523" v2="5942" v3="6555" />
+ <tetrahedron index="34657" v0="4210" v1="4338" v2="5942" v3="6555" />
+ <tetrahedron index="34658" v0="4622" v1="4660" v2="5944" v3="6556" />
+ <tetrahedron index="34659" v0="5523" v1="5943" v2="6310" v3="6556" />
+ <tetrahedron index="34660" v0="4924" v1="5943" v2="6310" v3="6556" />
+ <tetrahedron index="34661" v0="4924" v1="6193" v2="6310" v3="6556" />
+ <tetrahedron index="34662" v0="5523" v1="6193" v2="6310" v3="6556" />
+ <tetrahedron index="34663" v0="4210" v1="4211" v2="4660" v3="6556" />
+ <tetrahedron index="34664" v0="4211" v1="4660" v2="5304" v3="6556" />
+ <tetrahedron index="34665" v0="5764" v1="6233" v2="6727" v3="6856" />
+ <tetrahedron index="34666" v0="4884" v1="5556" v2="6230" v3="6557" />
+ <tetrahedron index="34667" v0="5764" v1="6233" v2="6431" v3="6856" />
+ <tetrahedron index="34668" v0="4847" v1="6247" v2="6765" v3="6806" />
+ <tetrahedron index="34669" v0="6247" v1="6765" v2="6766" v3="6806" />
+ <tetrahedron index="34670" v0="5630" v1="6308" v2="6727" v3="6806" />
+ <tetrahedron index="34671" v0="5027" v1="5556" v2="6230" v3="6557" />
+ <tetrahedron index="34672" v0="5027" v1="6230" v2="6431" v3="6557" />
+ <tetrahedron index="34673" v0="5465" v1="6105" v2="6535" v3="6897" />
+ <tetrahedron index="34674" v0="5270" v1="6612" v2="6796" v3="6982" />
+ <tetrahedron index="34675" v0="5246" v1="6121" v2="6688" v3="6934" />
+ <tetrahedron index="34676" v0="4845" v1="6487" v2="6560" v3="6897" />
+ <tetrahedron index="34677" v0="5465" v1="6291" v2="6536" v3="6897" />
+ <tetrahedron index="34678" v0="5157" v1="5945" v2="5947" v3="6558" />
+ <tetrahedron index="34679" v0="5157" v1="5763" v2="5947" v3="6558" />
+ <tetrahedron index="34680" v0="5157" v1="5945" v2="6554" v3="6558" />
+ <tetrahedron index="34681" v0="5157" v1="5763" v2="6554" v3="6558" />
+ <tetrahedron index="34682" v0="5564" v1="6238" v2="6240" v3="6758" />
+ <tetrahedron index="34683" v0="6105" v1="6487" v2="6876" v3="6897" />
+ <tetrahedron index="34684" v0="5903" v1="6535" v2="6536" v3="6897" />
+ <tetrahedron index="34685" v0="5903" v1="6535" v2="6560" v3="6897" />
+ <tetrahedron index="34686" v0="5945" v1="6554" v2="6558" v3="6559" />
+ <tetrahedron index="34687" v0="5307" v1="5945" v2="6558" v3="6559" />
+ <tetrahedron index="34688" v0="5155" v1="6105" v2="6535" v3="6897" />
+ <tetrahedron index="34689" v0="4894" v1="6054" v2="6643" v3="6945" />
+ <tetrahedron index="34690" v0="5155" v1="6487" v2="6560" v3="6897" />
+ <tetrahedron index="34691" v0="5155" v1="6105" v2="6487" v3="6897" />
+ <tetrahedron index="34692" v0="4392" v1="4420" v2="5010" v3="6756" />
+ <tetrahedron index="34693" v0="3905" v1="3974" v2="4285" v3="6562" />
+ <tetrahedron index="34694" v0="3905" v1="3974" v2="6264" v3="6562" />
+ <tetrahedron index="34695" v0="3973" v1="3974" v2="4285" v3="6562" />
+ <tetrahedron index="34696" v0="4420" v1="5010" v2="5522" v3="6756" />
+ <tetrahedron index="34697" v0="6266" v1="6424" v2="6562" v3="6563" />
+ <tetrahedron index="34698" v0="5954" v1="6266" v2="6562" v3="6563" />
+ <tetrahedron index="34699" v0="5029" v1="5954" v2="6235" v3="6563" />
+ <tetrahedron index="34700" v0="5029" v1="6235" v2="6424" v3="6563" />
+ <tetrahedron index="34701" v0="5465" v1="6129" v2="6696" v3="6892" />
+ <tetrahedron index="34702" v0="4917" v1="5617" v2="6582" v3="6967" />
+ <tetrahedron index="34703" v0="4462" v1="4831" v2="5711" v3="6818" />
+ <tetrahedron index="34704" v0="3827" v1="5450" v2="5513" v3="6730" />
+ <tetrahedron index="34705" v0="6235" v1="6424" v2="6562" v3="6563" />
+ <tetrahedron index="34706" v0="5954" v1="6235" v2="6562" v3="6563" />
+ <tetrahedron index="34707" v0="4918" v1="5421" v2="5958" v3="6566" />
+ <tetrahedron index="34708" v0="6047" v1="6577" v2="6629" v3="7011" />
+ <tetrahedron index="34709" v0="3904" v1="5196" v2="5953" v3="6565" />
+ <tetrahedron index="34710" v0="3904" v1="4803" v2="5196" v3="6565" />
+ <tetrahedron index="34711" v0="3905" v1="4286" v2="5954" v3="6565" />
+ <tetrahedron index="34712" v0="3512" v1="3677" v2="3678" v3="6651" />
+ <tetrahedron index="34713" v0="5450" v1="5513" v2="6177" v3="6730" />
+ <tetrahedron index="34714" v0="5411" v1="5516" v2="6180" v3="6732" />
+ <tetrahedron index="34715" v0="3828" v1="3829" v2="3909" v3="6730" />
+ <tetrahedron index="34716" v0="5561" v1="5954" v2="6563" v3="6565" />
+ <tetrahedron index="34717" v0="4981" v1="5760" v2="6072" v3="6892" />
+ <tetrahedron index="34718" v0="6103" v1="6535" v2="6850" v3="6892" />
+ <tetrahedron index="34719" v0="5465" v1="6105" v2="6535" v3="6892" />
+ <tetrahedron index="34720" v0="4918" v1="5958" v2="6456" v3="6566" />
+ <tetrahedron index="34721" v0="4861" v1="6463" v2="6464" v3="6852" />
+ <tetrahedron index="34722" v0="5556" v1="6461" v2="6466" v3="6895" />
+ <tetrahedron index="34723" v0="5157" v1="5762" v2="6465" v3="6895" />
+ <tetrahedron index="34724" v0="4854" v1="5762" v2="6080" v3="6566" />
+ <tetrahedron index="34725" v0="5538" v1="6463" v2="6621" v3="6852" />
+ <tetrahedron index="34726" v0="5037" v1="5958" v2="6456" v3="6567" />
+ <tetrahedron index="34727" v0="5037" v1="6456" v2="6545" v3="6567" />
+ <tetrahedron index="34728" v0="5396" v1="6052" v2="6056" v3="6775" />
+ <tetrahedron index="34729" v0="4847" v1="5959" v2="6430" v3="6569" />
+ <tetrahedron index="34730" v0="4939" v1="5351" v2="6600" v3="6846" />
+ <tetrahedron index="34731" v0="5221" v1="6488" v2="6596" v3="6879" />
+ <tetrahedron index="34732" v0="5551" v1="6419" v2="6914" v3="6991" />
+ <tetrahedron index="34733" v0="5960" v1="6079" v2="6588" v3="6854" />
+ <tetrahedron index="34734" v0="4847" v1="5959" v2="6246" v3="6569" />
+ <tetrahedron index="34735" v0="5037" v1="6567" v2="6581" v3="6901" />
+ <tetrahedron index="34736" v0="5421" v1="6081" v2="6083" v3="6567" />
+ <tetrahedron index="34737" v0="5042" v1="6081" v2="6083" v3="6567" />
+ <tetrahedron index="34738" v0="5397" v1="6054" v2="6637" v3="6642" />
+ <tetrahedron index="34739" v0="5343" v1="5989" v2="6139" v3="6582" />
+ <tetrahedron index="34740" v0="5341" v1="5984" v2="5987" v3="6901" />
+ <tetrahedron index="34741" v0="5341" v1="5987" v2="6581" v3="6901" />
+ <tetrahedron index="34742" v0="5958" v1="6567" v2="6900" v3="6901" />
+ <tetrahedron index="34743" v0="4928" v1="5315" v2="5960" v3="6854" />
+ <tetrahedron index="34744" v0="5316" v1="6246" v2="6764" v3="6903" />
+ <tetrahedron index="34745" v0="5309" v1="5950" v2="6649" v3="7014" />
+ <tetrahedron index="34746" v0="5037" v1="6047" v2="6767" v3="6903" />
+ <tetrahedron index="34747" v0="5315" v1="5538" v2="6429" v3="6854" />
+ <tetrahedron index="34748" v0="4966" v1="5422" v2="6080" v3="6571" />
+ <tetrahedron index="34749" v0="4966" v1="5422" v2="6082" v3="6571" />
+ <tetrahedron index="34750" v0="4966" v1="5421" v2="6080" v3="6571" />
+ <tetrahedron index="34751" v0="4966" v1="5421" v2="6082" v3="6571" />
+ <tetrahedron index="34752" v0="4957" v1="5966" v2="6058" v3="6572" />
+ <tetrahedron index="34753" v0="5965" v1="5966" v2="6058" v3="6572" />
+ <tetrahedron index="34754" v0="4957" v1="5319" v2="5966" v3="6572" />
+ <tetrahedron index="34755" v0="4888" v1="5319" v2="5966" v3="6572" />
+ <tetrahedron index="34756" v0="3791" v1="4957" v2="5319" v3="6572" />
+ <tetrahedron index="34757" v0="3791" v1="4888" v2="5319" v3="6572" />
+ <tetrahedron index="34758" v0="3271" v1="3791" v2="4957" v3="6572" />
+ <tetrahedron index="34759" v0="3271" v1="4957" v2="5137" v3="6572" />
+ <tetrahedron index="34760" v0="3603" v1="3791" v2="4888" v3="6572" />
+ <tetrahedron index="34761" v0="3271" v1="3603" v2="3791" v3="6572" />
+ <tetrahedron index="34762" v0="3271" v1="3603" v2="5137" v3="6572" />
+ <tetrahedron index="34763" v0="4890" v1="5208" v2="5826" v3="6837" />
+ <tetrahedron index="34764" v0="5208" v1="6400" v2="6402" v3="6837" />
+ <tetrahedron index="34765" v0="5140" v1="6400" v2="6402" v3="6837" />
+ <tetrahedron index="34766" v0="5208" v1="5694" v2="6400" v3="6837" />
+ <tetrahedron index="34767" v0="5140" v1="5694" v2="6400" v3="6837" />
+ <tetrahedron index="34768" v0="5140" v1="5694" v2="6372" v3="6837" />
+ <tetrahedron index="34769" v0="5339" v1="5636" v2="5982" v3="6576" />
+ <tetrahedron index="34770" v0="3501" v1="5214" v2="5339" v3="6576" />
+ <tetrahedron index="34771" v0="3248" v1="3501" v2="5214" v3="6576" />
+ <tetrahedron index="34772" v0="5339" v1="5636" v2="5833" v3="6576" />
+ <tetrahedron index="34773" v0="5833" v1="5940" v2="6479" v3="6576" />
+ <tetrahedron index="34774" v0="3501" v1="5339" v2="5982" v3="6576" />
+ <tetrahedron index="34775" v0="5138" v1="5935" v2="5973" v3="6574" />
+ <tetrahedron index="34776" v0="3911" v1="5138" v2="5935" v3="6574" />
+ <tetrahedron index="34777" v0="3911" v1="5935" v2="5971" v3="6574" />
+ <tetrahedron index="34778" v0="5214" v1="5833" v2="6480" v3="6576" />
+ <tetrahedron index="34779" v0="5339" v1="5833" v2="6480" v3="6576" />
+ <tetrahedron index="34780" v0="5214" v1="5339" v2="6480" v3="6576" />
+ <tetrahedron index="34781" v0="4923" v1="5636" v2="5833" v3="6576" />
+ <tetrahedron index="34782" v0="4923" v1="5833" v2="5940" v3="6576" />
+ <tetrahedron index="34783" v0="4982" v1="5940" v2="5982" v3="6576" />
+ <tetrahedron index="34784" v0="4982" v1="5636" v2="5982" v3="6576" />
+ <tetrahedron index="34785" v0="4923" v1="4982" v2="5636" v3="6576" />
+ <tetrahedron index="34786" v0="4923" v1="4982" v2="5940" v3="6576" />
+ <tetrahedron index="34787" v0="4873" v1="6046" v2="6633" v3="6923" />
+ <tetrahedron index="34788" v0="4071" v1="4784" v2="6440" v3="6994" />
+ <tetrahedron index="34789" v0="4858" v1="6188" v2="6408" v3="6842" />
+ <tetrahedron index="34790" v0="5575" v1="5987" v2="6581" v3="6904" />
+ <tetrahedron index="34791" v0="3779" v1="3780" v2="6578" v3="6904" />
+ <tetrahedron index="34792" v0="5037" v1="5987" v2="6581" v3="6904" />
+ <tetrahedron index="34793" v0="5630" v1="6308" v2="6311" v3="6924" />
+ <tetrahedron index="34794" v0="4882" v1="5574" v2="6634" v3="6767" />
+ <tetrahedron index="34795" v0="5193" v1="6586" v2="6989" v3="7023" />
+ <tetrahedron index="34796" v0="5065" v1="5631" v2="6555" v3="6807" />
+ <tetrahedron index="34797" v0="3632" v1="5768" v2="6433" v3="6857" />
+ <tetrahedron index="34798" v0="6046" v1="6051" v2="6632" v3="6636" />
+ <tetrahedron index="34799" v0="4308" v1="4373" v2="6579" v3="6905" />
+ <tetrahedron index="34800" v0="4308" v1="4373" v2="5583" v3="6905" />
+ <tetrahedron index="34801" v0="5042" v1="6081" v2="6567" v3="6905" />
+ <tetrahedron index="34802" v0="4373" v1="5926" v2="6579" v3="6905" />
+ <tetrahedron index="34803" v0="4113" v1="5042" v2="5747" v3="6579" />
+ <tetrahedron index="34804" v0="5042" v1="5747" v2="5985" v3="6579" />
+ <tetrahedron index="34805" v0="4113" v1="5747" v2="5985" v3="6579" />
+ <tetrahedron index="34806" v0="3786" v1="3991" v2="4551" v3="6580" />
+ <tetrahedron index="34807" v0="3786" v1="4551" v2="6033" v3="6580" />
+ <tetrahedron index="34808" v0="4854" v1="5958" v2="6083" v3="6900" />
+ <tetrahedron index="34809" v0="5421" v1="5958" v2="6083" v3="6900" />
+ <tetrahedron index="34810" v0="4399" v1="5983" v2="5986" v3="6580" />
+ <tetrahedron index="34811" v0="4399" v1="5983" v2="6553" v3="6580" />
+ <tetrahedron index="34812" v0="4209" v1="5305" v2="6552" v3="6580" />
+ <tetrahedron index="34813" v0="4209" v1="4551" v2="6552" v3="6580" />
+ <tetrahedron index="34814" v0="3779" v1="4250" v2="5575" v3="6581" />
+ <tetrahedron index="34815" v0="3779" v1="4250" v2="5985" v3="6581" />
+ <tetrahedron index="34816" v0="5958" v1="6568" v2="6577" v3="6901" />
+ <tetrahedron index="34817" v0="5810" v1="6465" v2="6852" v3="6902" />
+ <tetrahedron index="34818" v0="5959" v1="6429" v2="6465" v3="6902" />
+ <tetrahedron index="34819" v0="5170" v1="5840" v2="6875" v3="6913" />
+ <tetrahedron index="34820" v0="5190" v1="5959" v2="6569" v3="6902" />
+ <tetrahedron index="34821" v0="5959" v1="6569" v2="6853" v3="6902" />
+ <tetrahedron index="34822" v0="4861" v1="6464" v2="6569" v3="6902" />
+ <tetrahedron index="34823" v0="4930" v1="5503" v2="6713" v3="6719" />
+ <tetrahedron index="34824" v0="5510" v1="5812" v2="6234" v3="6735" />
+ <tetrahedron index="34825" v0="5840" v1="6596" v2="6789" v3="6913" />
+ <tetrahedron index="34826" v0="6054" v1="6263" v2="6637" v3="6774" />
+ <tetrahedron index="34827" v0="4861" v1="5009" v2="5994" v3="6585" />
+ <tetrahedron index="34828" v0="4863" v1="6097" v2="6165" v3="6941" />
+ <tetrahedron index="34829" v0="4938" v1="5520" v2="6270" v3="6585" />
+ <tetrahedron index="34830" v0="4938" v1="5009" v2="6191" v3="6585" />
+ <tetrahedron index="34831" v0="4491" v1="5344" v2="5990" v3="6583" />
+ <tetrahedron index="34832" v0="4864" v1="6220" v2="6849" v3="6991" />
+ <tetrahedron index="34833" v0="4917" v1="6182" v2="6413" v3="6734" />
+ <tetrahedron index="34834" v0="5438" v1="6096" v2="6674" v3="6707" />
+ <tetrahedron index="34835" v0="4905" v1="6299" v2="6673" v3="6707" />
+ <tetrahedron index="34836" v0="5880" v1="6096" v2="6674" v3="6707" />
+ <tetrahedron index="34837" v0="4917" v1="5924" v2="5990" v3="6584" />
+ <tetrahedron index="34838" v0="4986" v1="6220" v2="6639" v3="7012" />
+ <tetrahedron index="34839" v0="4873" v1="6753" v2="6766" v3="6923" />
+ <tetrahedron index="34840" v0="5093" v1="5676" v2="6348" v3="7024" />
+ <tetrahedron index="34841" v0="4638" v1="4682" v2="6349" v3="7024" />
+ <tetrahedron index="34842" v0="4847" v1="6014" v2="6611" v3="6909" />
+ <tetrahedron index="34843" v0="4953" v1="5388" v2="6207" v3="6970" />
+ <tetrahedron index="34844" v0="4937" v1="5482" v2="6148" v3="7020" />
+ <tetrahedron index="34845" v0="5960" v1="6079" v2="6570" v3="6588" />
+ <tetrahedron index="34846" v0="5152" v1="5993" v2="6666" v3="6972" />
+ <tetrahedron index="34847" v0="4970" v1="5435" v2="6091" v3="6588" />
+ <tetrahedron index="34848" v0="5552" v1="5995" v2="6222" v3="6592" />
+ <tetrahedron index="34849" v0="5989" v1="6582" v2="6595" v3="6845" />
+ <tetrahedron index="34850" v0="4971" v1="6099" v2="6100" v3="6847" />
+ <tetrahedron index="34851" v0="5005" v1="5509" v2="5518" v3="6856" />
+ <tetrahedron index="34852" v0="4940" v1="5596" v2="5676" v3="7024" />
+ <tetrahedron index="34853" v0="5336" v1="6348" v2="6349" v3="7024" />
+ <tetrahedron index="34854" v0="5005" v1="5518" v2="6726" v3="6856" />
+ <tetrahedron index="34855" v0="4970" v1="5805" v2="6588" v3="6910" />
+ <tetrahedron index="34856" v0="5388" v1="5390" v2="6619" v3="6623" />
+ <tetrahedron index="34857" v0="4917" v1="5284" v2="5750" v3="6845" />
+ <tetrahedron index="34858" v0="4953" v1="5388" v2="5390" v3="6623" />
+ <tetrahedron index="34859" v0="5005" v1="6233" v2="6727" v3="6856" />
+ <tetrahedron index="34860" v0="5764" v1="6430" v2="6765" v3="6856" />
+ <tetrahedron index="34861" v0="5005" v1="5509" v2="6431" v3="6856" />
+ <tetrahedron index="34862" v0="5764" v1="6727" v2="6765" v3="6856" />
+ <tetrahedron index="34863" v0="5993" v1="6666" v2="6750" v3="6972" />
+ <tetrahedron index="34864" v0="5016" v1="5676" v2="6432" v3="6857" />
+ <tetrahedron index="34865" v0="5168" v1="6170" v2="6784" v3="6997" />
+ <tetrahedron index="34866" v0="3734" v1="5169" v2="5613" v3="6035" />
+ <tetrahedron index="34867" v0="4949" v1="5379" v2="5555" v3="6592" />
+ <tetrahedron index="34868" v0="5552" v1="5555" v2="6229" v3="6592" />
+ <tetrahedron index="34869" v0="5093" v1="5676" v2="6432" v3="6857" />
+ <tetrahedron index="34870" v0="4884" v1="6230" v2="6431" v3="6855" />
+ <tetrahedron index="34871" v0="4938" v1="5599" v2="6590" v3="6668" />
+ <tetrahedron index="34872" v0="4943" v1="5599" v2="6271" v3="6668" />
+ <tetrahedron index="34873" v0="5340" v1="5984" v2="6629" v3="6635" />
+ <tetrahedron index="34874" v0="5151" v1="6315" v2="6316" v3="6811" />
+ <tetrahedron index="34875" v0="3895" v1="4336" v2="4681" v3="6811" />
+ <tetrahedron index="34876" v0="4954" v1="6044" v2="6626" v3="6635" />
+ <tetrahedron index="34877" v0="5959" v1="6764" v2="6805" v3="6894" />
+ <tetrahedron index="34878" v0="6046" v1="6626" v2="6631" v3="6923" />
+ <tetrahedron index="34879" v0="5880" v1="6640" v2="6674" v3="6945" />
+ <tetrahedron index="34880" v0="6726" v1="6841" v2="6975" v3="6988" />
+ <tetrahedron index="34881" v0="5991" v1="6586" v2="6587" v3="6909" />
+ <tetrahedron index="34882" v0="4940" v1="5354" v2="6993" v3="7024" />
+ <tetrahedron index="34883" v0="4415" v1="4807" v2="6505" v3="6886" />
+ <tetrahedron index="34884" v0="5269" v1="5270" v2="6073" v3="6612" />
+ <tetrahedron index="34885" v0="4970" v1="5992" v2="5994" v3="6912" />
+ <tetrahedron index="34886" v0="5435" v1="5960" v2="6588" v3="6854" />
+ <tetrahedron index="34887" v0="4970" v1="5435" v2="6588" v3="6591" />
+ <tetrahedron index="34888" v0="6190" v1="6192" v2="6471" v3="6737" />
+ <tetrahedron index="34889" v0="6308" v1="6551" v2="6764" v3="6922" />
+ <tetrahedron index="34890" v0="6043" v1="6622" v2="6623" v3="6737" />
+ <tetrahedron index="34891" v0="5013" v1="5525" v2="6197" v3="6739" />
+ <tetrahedron index="34892" v0="5520" v1="6192" v2="6472" v3="6737" />
+ <tetrahedron index="34893" v0="5193" v1="5509" v2="6188" v3="6855" />
+ <tetrahedron index="34894" v0="5093" v1="5768" v2="6005" v3="6857" />
+ <tetrahedron index="34895" v0="4852" v1="6292" v2="6443" v3="6913" />
+ <tetrahedron index="34896" v0="5170" v1="6443" v2="6864" v3="6913" />
+ <tetrahedron index="34897" v0="5057" v1="5379" v2="6030" v3="6592" />
+ <tetrahedron index="34898" v0="4911" v1="5610" v2="6013" v3="6592" />
+ <tetrahedron index="34899" v0="4911" v1="6013" v2="6222" v3="6592" />
+ <tetrahedron index="34900" v0="4911" v1="5748" v2="6002" v3="6593" />
+ <tetrahedron index="34901" v0="4911" v1="5348" v2="6002" v3="6593" />
+ <tetrahedron index="34902" v0="5348" v1="6002" v2="6407" v3="6593" />
+ <tetrahedron index="34903" v0="5748" v1="6002" v2="6407" v3="6593" />
+ <tetrahedron index="34904" v0="4392" v1="4429" v2="6231" v3="6756" />
+ <tetrahedron index="34905" v0="4849" v1="6228" v2="6409" v3="6593" />
+ <tetrahedron index="34906" v0="5552" v1="5995" v2="6222" v3="6593" />
+ <tetrahedron index="34907" v0="5552" v1="6222" v2="6228" v3="6593" />
+ <tetrahedron index="34908" v0="5552" v1="5995" v2="6228" v3="6593" />
+ <tetrahedron index="34909" v0="4949" v1="5528" v2="6202" v3="6594" />
+ <tetrahedron index="34910" v0="4949" v1="5015" v2="6202" v3="6594" />
+ <tetrahedron index="34911" v0="4949" v1="5015" v2="5529" v3="6594" />
+ <tetrahedron index="34912" v0="4949" v1="5529" v2="6030" v3="6594" />
+ <tetrahedron index="34913" v0="5403" v1="6060" v2="6445" v3="6865" />
+ <tetrahedron index="34914" v0="4342" v1="5007" v2="5514" v3="6646" />
+ <tetrahedron index="34915" v0="5481" v1="6398" v2="6573" v3="6836" />
+ <tetrahedron index="34916" v0="5577" v1="5736" v2="6398" v3="6836" />
+ <tetrahedron index="34917" v0="4869" v1="6252" v2="6399" v3="6836" />
+ <tetrahedron index="34918" v0="5577" v1="5736" v2="6252" v3="6836" />
+ <tetrahedron index="34919" v0="5192" v1="5812" v2="6230" v3="6735" />
+ <tetrahedron index="34920" v0="4930" v1="5841" v2="6720" v3="6880" />
+ <tetrahedron index="34921" v0="4930" v1="6167" v2="6417" v3="6880" />
+ <tetrahedron index="34922" v0="5550" v1="6292" v2="6596" v3="6597" />
+ <tetrahedron index="34923" v0="4852" v1="6292" v2="6596" v3="6597" />
+ <tetrahedron index="34924" v0="6171" v1="6489" v2="6724" v3="6880" />
+ <tetrahedron index="34925" v0="5507" v1="6488" v2="6720" v3="6880" />
+ <tetrahedron index="34926" v0="4939" v1="5353" v2="6003" v3="6598" />
+ <tetrahedron index="34927" v0="4939" v1="5350" v2="6003" v3="6598" />
+ <tetrahedron index="34928" v0="5150" v1="5751" v2="5752" v3="6915" />
+ <tetrahedron index="34929" v0="4994" v1="5751" v2="6414" v3="6915" />
+ <tetrahedron index="34930" v0="5150" v1="5751" v2="5999" v3="6915" />
+ <tetrahedron index="34931" v0="4805" v1="5353" v2="5755" v3="6598" />
+ <tetrahedron index="34932" v0="4732" v1="4805" v2="5755" v3="6598" />
+ <tetrahedron index="34933" v0="5749" v1="5751" v2="6414" v3="6915" />
+ <tetrahedron index="34934" v0="4994" v1="5751" v2="5752" v3="6915" />
+ <tetrahedron index="34935" v0="5149" v1="5999" v2="6599" v3="6915" />
+ <tetrahedron index="34936" v0="5749" v1="6414" v2="6599" v3="6915" />
+ <tetrahedron index="34937" v0="5149" v1="5351" v2="6600" v3="6916" />
+ <tetrahedron index="34938" v0="5351" v1="5999" v2="6411" v3="6916" />
+ <tetrahedron index="34939" v0="4849" v1="5528" v2="6755" v3="6843" />
+ <tetrahedron index="34940" v0="5057" v1="6030" v2="6592" v3="6917" />
+ <tetrahedron index="34941" v0="4885" v1="6586" v2="6587" v3="6840" />
+ <tetrahedron index="34942" v0="5005" v1="5518" v2="6185" v3="6735" />
+ <tetrahedron index="34943" v0="5900" v1="6601" v2="6603" v3="6917" />
+ <tetrahedron index="34944" v0="5315" v1="5538" v2="6429" v3="6869" />
+ <tetrahedron index="34945" v0="5191" v1="6209" v2="6745" v3="6969" />
+ <tetrahedron index="34946" v0="5361" v1="6222" v2="6473" v3="6840" />
+ <tetrahedron index="34947" v0="5057" v1="6030" v2="6616" v3="6917" />
+ <tetrahedron index="34948" v0="5265" v1="5900" v2="6601" v3="6917" />
+ <tetrahedron index="34949" v0="5995" v1="6030" v2="6592" v3="6917" />
+ <tetrahedron index="34950" v0="4940" v1="6203" v2="6604" v3="6918" />
+ <tetrahedron index="34951" v0="5355" v1="6203" v2="6604" v3="6918" />
+ <tetrahedron index="34952" v0="4940" v1="5016" v2="5596" v3="6918" />
+ <tetrahedron index="34953" v0="5529" v1="6030" v2="6031" v3="6602" />
+ <tetrahedron index="34954" v0="5755" v1="6004" v2="6418" v3="6603" />
+ <tetrahedron index="34955" v0="4805" v1="5755" v2="6418" v3="6603" />
+ <tetrahedron index="34956" v0="4354" v1="4805" v2="4806" v3="6603" />
+ <tetrahedron index="34957" v0="4354" v1="4806" v2="6418" v3="6603" />
+ <tetrahedron index="34958" v0="4354" v1="4805" v2="6418" v3="6603" />
+ <tetrahedron index="34959" v0="5347" v1="6093" v2="6668" v3="6778" />
+ <tetrahedron index="34960" v0="3708" v1="3880" v2="5345" v3="6778" />
+ <tetrahedron index="34961" v0="4938" v1="5347" v2="6668" v3="6778" />
+ <tetrahedron index="34962" v0="5345" v1="6093" v2="6670" v3="6778" />
+ <tetrahedron index="34963" v0="4421" v1="5239" v2="6608" v3="6919" />
+ <tetrahedron index="34964" v0="4940" v1="5355" v2="6203" v3="6604" />
+ <tetrahedron index="34965" v0="3934" v1="4167" v2="5868" v3="6919" />
+ <tetrahedron index="34966" v0="3680" v1="4421" v2="6608" v3="6919" />
+ <tetrahedron index="34967" v0="3680" v1="6314" v2="6608" v3="6919" />
+ <tetrahedron index="34968" v0="5132" v1="5239" v2="5868" v3="6919" />
+ <tetrahedron index="34969" v0="5239" v1="5864" v2="6608" v3="6919" />
+ <tetrahedron index="34970" v0="3495" v1="5448" v2="6109" v3="6605" />
+ <tetrahedron index="34971" v0="5448" v1="6109" v2="6508" v3="6605" />
+ <tetrahedron index="34972" v0="5448" v1="5866" v2="6508" v3="6605" />
+ <tetrahedron index="34973" v0="4901" v1="5866" v2="6508" v3="6605" />
+ <tetrahedron index="34974" v0="4901" v1="6506" v2="6508" v3="6605" />
+ <tetrahedron index="34975" v0="5002" v1="6506" v2="6508" v3="6605" />
+ <tetrahedron index="34976" v0="3521" v1="4312" v2="4719" v3="6606" />
+ <tetrahedron index="34977" v0="4941" v1="5633" v2="6011" v3="6606" />
+ <tetrahedron index="34978" v0="5058" v1="5633" v2="6011" v3="6606" />
+ <tetrahedron index="34979" v0="5572" v1="6246" v2="6589" v3="6611" />
+ <tetrahedron index="34980" v0="5346" v1="6246" v2="6569" v3="6611" />
+ <tetrahedron index="34981" v0="5090" v1="5611" v2="6011" v3="6607" />
+ <tetrahedron index="34982" v0="4526" v1="5090" v2="5099" v3="6607" />
+ <tetrahedron index="34983" v0="5090" v1="5099" v2="5611" v3="6607" />
+ <tetrahedron index="34984" v0="3498" v1="3876" v2="4151" v3="6607" />
+ <tetrahedron index="34985" v0="3498" v1="4151" v2="5002" v3="6607" />
+ <tetrahedron index="34986" v0="3498" v1="3875" v2="3876" v3="6607" />
+ <tetrahedron index="34987" v0="3498" v1="3875" v2="5002" v3="6607" />
+ <tetrahedron index="34988" v0="4526" v1="5090" v2="5673" v3="6607" />
+ <tetrahedron index="34989" v0="5090" v1="5673" v2="6011" v3="6607" />
+ <tetrahedron index="34990" v0="5358" v1="5673" v2="6011" v3="6607" />
+ <tetrahedron index="34991" v0="4941" v1="5358" v2="6314" v3="6609" />
+ <tetrahedron index="34992" v0="5058" v1="6009" v2="6606" v3="6610" />
+ <tetrahedron index="34993" v0="5358" v1="6011" v2="6607" v3="6610" />
+ <tetrahedron index="34994" v0="5002" v1="5358" v2="6607" v3="6610" />
+ <tetrahedron index="34995" v0="5357" v1="6009" v2="6506" v3="6610" />
+ <tetrahedron index="34996" v0="4941" v1="5357" v2="6506" v3="6610" />
+ <tetrahedron index="34997" v0="4941" v1="5864" v2="6506" v3="6610" />
+ <tetrahedron index="34998" v0="5002" v1="5864" v2="6506" v3="6610" />
+ <tetrahedron index="34999" v0="5357" v1="6009" v2="6606" v3="6610" />
+ <tetrahedron index="35000" v0="4941" v1="5357" v2="6606" v3="6610" />
+ <tetrahedron index="35001" v0="4941" v1="5358" v2="5864" v3="6610" />
+ <tetrahedron index="35002" v0="5002" v1="5358" v2="5864" v3="6610" />
+ <tetrahedron index="35003" v0="5552" v1="5995" v2="6228" v3="6755" />
+ <tetrahedron index="35004" v0="5805" v1="5925" v2="6457" v3="6910" />
+ <tetrahedron index="35005" v0="5925" v1="6091" v2="6457" v3="6910" />
+ <tetrahedron index="35006" v0="4949" v1="5528" v2="6202" v3="6755" />
+ <tetrahedron index="35007" v0="5552" v1="5995" v2="6592" v3="6755" />
+ <tetrahedron index="35008" v0="5528" v1="5554" v2="6202" v3="6755" />
+ <tetrahedron index="35009" v0="4977" v1="5644" v2="6322" v3="6441" />
+ <tetrahedron index="35010" v0="4116" v1="4117" v2="6051" v3="6751" />
+ <tetrahedron index="35011" v0="6224" v1="6225" v2="6636" v3="6751" />
+ <tetrahedron index="35012" v0="4936" v1="6807" v2="6899" v3="6983" />
+ <tetrahedron index="35013" v0="4913" v1="5902" v2="6534" v3="6797" />
+ <tetrahedron index="35014" v0="5624" v1="6300" v2="6534" v3="6797" />
+ <tetrahedron index="35015" v0="4978" v1="5494" v2="6157" v3="6686" />
+ <tetrahedron index="35016" v0="4978" v1="5503" v2="6165" v3="6795" />
+ <tetrahedron index="35017" v0="4944" v1="5494" v2="6115" v3="6686" />
+ <tetrahedron index="35018" v0="5841" v1="6675" v2="6878" v3="6930" />
+ <tetrahedron index="35019" v0="4996" v1="5495" v2="6159" v3="6714" />
+ <tetrahedron index="35020" v0="4978" v1="5494" v2="6115" v3="6686" />
+ <tetrahedron index="35021" v0="5062" v1="5621" v2="6296" v3="6795" />
+ <tetrahedron index="35022" v0="5062" v1="5621" v2="6297" v3="6795" />
+ <tetrahedron index="35023" v0="4913" v1="6671" v2="6797" v3="6942" />
+ <tetrahedron index="35024" v0="4065" v1="5371" v2="6019" v3="6614" />
+ <tetrahedron index="35025" v0="4065" v1="5371" v2="6021" v3="6614" />
+ <tetrahedron index="35026" v0="3255" v1="3256" v2="4065" v3="6614" />
+ <tetrahedron index="35027" v0="3255" v1="4065" v2="6021" v3="6614" />
+ <tetrahedron index="35028" v0="3255" v1="3256" v2="6021" v3="6614" />
+ <tetrahedron index="35029" v0="3627" v1="3679" v2="4119" v3="6615" />
+ <tetrahedron index="35030" v0="3679" v1="4119" v2="4797" v3="6615" />
+ <tetrahedron index="35031" v0="3679" v1="4797" v2="5033" v3="6615" />
+ <tetrahedron index="35032" v0="3627" v1="3679" v2="5373" v3="6615" />
+ <tetrahedron index="35033" v0="3627" v1="5373" v2="6023" v3="6615" />
+ <tetrahedron index="35034" v0="3679" v1="5373" v2="6023" v3="6615" />
+ <tetrahedron index="35035" v0="5530" v1="6007" v2="6203" v3="6918" />
+ <tetrahedron index="35036" v0="5355" v1="6007" v2="6604" v3="6918" />
+ <tetrahedron index="35037" v0="4227" v1="5530" v2="6007" v3="6918" />
+ <tetrahedron index="35038" v0="5057" v1="6030" v2="6602" v3="6616" />
+ <tetrahedron index="35039" v0="5057" v1="6004" v2="6602" v3="6616" />
+ <tetrahedron index="35040" v0="5346" v1="5992" v2="6853" v3="6939" />
+ <tetrahedron index="35041" v0="5155" v1="5951" v2="6649" v3="7014" />
+ <tetrahedron index="35042" v0="5762" v1="6428" v2="6761" v3="6937" />
+ <tetrahedron index="35043" v0="4967" v1="5175" v2="5425" v3="6661" />
+ <tetrahedron index="35044" v0="3811" v1="5175" v2="5581" v3="6661" />
+ <tetrahedron index="35045" v0="3811" v1="3842" v2="5425" v3="6661" />
+ <tetrahedron index="35046" v0="5951" v1="6649" v2="6898" v3="7014" />
+ <tetrahedron index="35047" v0="5423" v1="6256" v2="6660" v3="6938" />
+ <tetrahedron index="35048" v0="4867" v1="5947" v2="6761" v3="6937" />
+ <tetrahedron index="35049" v0="5947" v1="6243" v2="6761" v3="6937" />
+ <tetrahedron index="35050" v0="5762" v1="5763" v2="6657" v3="6937" />
+ <tetrahedron index="35051" v0="4946" v1="4952" v2="6039" v3="6618" />
+ <tetrahedron index="35052" v0="4952" v1="6039" v2="6393" v3="6618" />
+ <tetrahedron index="35053" v0="4952" v1="5129" v2="6393" v3="6618" />
+ <tetrahedron index="35054" v0="4946" v1="5369" v2="5371" v3="6618" />
+ <tetrahedron index="35055" v0="5369" v1="5371" v2="6039" v3="6618" />
+ <tetrahedron index="35056" v0="4946" v1="5369" v2="6039" v3="6618" />
+ <tetrahedron index="35057" v0="6190" v1="6192" v2="6737" v3="6738" />
+ <tetrahedron index="35058" v0="5019" v1="6043" v2="6190" v3="6624" />
+ <tetrahedron index="35059" v0="4949" v1="5554" v2="6202" v3="6755" />
+ <tetrahedron index="35060" v0="6589" v1="6634" v2="6666" v3="6750" />
+ <tetrahedron index="35061" v0="3816" v1="6041" v2="6208" v3="6620" />
+ <tetrahedron index="35062" v0="3816" v1="4138" v2="6208" v3="6620" />
+ <tetrahedron index="35063" v0="4138" v1="4140" v2="4560" v3="6620" />
+ <tetrahedron index="35064" v0="4140" v1="4560" v2="6042" v3="6620" />
+ <tetrahedron index="35065" v0="4140" v1="5389" v2="6042" v3="6621" />
+ <tetrahedron index="35066" v0="6560" v1="6850" v2="6943" v3="7014" />
+ <tetrahedron index="35067" v0="5389" v1="5536" v2="6463" v3="6621" />
+ <tetrahedron index="35068" v0="5959" v1="6429" v2="6851" v3="6853" />
+ <tetrahedron index="35069" v0="4630" v1="5474" v2="6928" v3="7012" />
+ <tetrahedron index="35070" v0="5019" v1="5536" v2="5537" v3="6621" />
+ <tetrahedron index="35071" v0="5019" v1="5536" v2="6463" v3="6621" />
+ <tetrahedron index="35072" v0="4140" v1="4563" v2="5536" v3="6621" />
+ <tetrahedron index="35073" v0="4563" v1="5536" v2="5537" v3="6621" />
+ <tetrahedron index="35074" v0="4140" v1="5389" v2="5536" v3="6621" />
+ <tetrahedron index="35075" v0="5316" v1="5959" v2="6851" v3="6853" />
+ <tetrahedron index="35076" v0="5009" v1="5994" v2="6591" v3="6940" />
+ <tetrahedron index="35077" v0="5316" v1="5992" v2="6079" v3="6853" />
+ <tetrahedron index="35078" v0="6247" v1="6923" v2="6974" v3="7011" />
+ <tetrahedron index="35079" v0="5391" v1="6308" v2="6764" v3="6922" />
+ <tetrahedron index="35080" v0="4922" v1="6425" v2="6426" v3="6984" />
+ <tetrahedron index="35081" v0="4954" v1="6626" v2="6631" v3="7011" />
+ <tetrahedron index="35082" v0="5391" v1="6308" v2="6625" v3="6922" />
+ <tetrahedron index="35083" v0="5195" v1="5816" v2="6471" v3="6623" />
+ <tetrahedron index="35084" v0="4444" v1="4652" v2="6192" v3="6738" />
+ <tetrahedron index="35085" v0="4444" v1="4468" v2="5519" v3="6738" />
+ <tetrahedron index="35086" v0="5195" v1="5816" v2="6462" v3="6623" />
+ <tetrahedron index="35087" v0="5195" v1="5809" v2="6462" v3="6623" />
+ <tetrahedron index="35088" v0="5809" v1="6043" v2="6622" v3="6623" />
+ <tetrahedron index="35089" v0="6190" v1="6624" v2="6737" v3="6738" />
+ <tetrahedron index="35090" v0="4652" v1="6190" v2="6192" v3="6738" />
+ <tetrahedron index="35091" v0="5009" v1="5520" v2="6191" v3="6624" />
+ <tetrahedron index="35092" v0="5009" v1="5519" v2="6191" v3="6624" />
+ <tetrahedron index="35093" v0="5166" v1="6044" v2="6049" v3="6810" />
+ <tetrahedron index="35094" v0="6627" v1="6628" v2="6786" v3="6808" />
+ <tetrahedron index="35095" v0="5391" v1="6627" v2="6923" v3="6925" />
+ <tetrahedron index="35096" v0="4884" v1="6461" v2="6969" v3="6989" />
+ <tetrahedron index="35097" v0="4873" v1="6046" v2="6753" v3="6923" />
+ <tetrahedron index="35098" v0="6173" v1="6307" v2="6726" v3="6975" />
+ <tetrahedron index="35099" v0="6044" v1="6625" v2="6627" v3="6925" />
+ <tetrahedron index="35100" v0="5065" v1="6309" v2="6785" v3="6808" />
+ <tetrahedron index="35101" v0="6044" v1="6309" v2="6807" v3="6808" />
+ <tetrahedron index="35102" v0="3895" v1="4184" v2="4336" v3="6811" />
+ <tetrahedron index="35103" v0="5068" v1="5636" v2="5639" v3="6811" />
+ <tetrahedron index="35104" v0="5166" v1="5781" v2="6281" v3="6628" />
+ <tetrahedron index="35105" v0="5605" v1="6280" v2="6628" v3="6808" />
+ <tetrahedron index="35106" v0="6044" v1="6625" v2="6807" v3="6808" />
+ <tetrahedron index="35107" v0="5391" v1="6625" v2="6922" v3="6925" />
+ <tetrahedron index="35108" v0="6044" v1="6627" v2="6628" v3="6808" />
+ <tetrahedron index="35109" v0="6309" v1="6785" v2="6808" v3="6809" />
+ <tetrahedron index="35110" v0="4400" v1="6309" v2="6785" v3="6809" />
+ <tetrahedron index="35111" v0="3776" v1="3777" v2="3778" v3="6809" />
+ <tetrahedron index="35112" v0="5605" v1="5781" v2="6490" v3="6809" />
+ <tetrahedron index="35113" v0="3776" v1="5781" v2="6490" v3="6809" />
+ <tetrahedron index="35114" v0="6050" v1="6633" v2="6711" v3="6926" />
+ <tetrahedron index="35115" v0="4963" v1="6075" v2="6693" v3="6787" />
+ <tetrahedron index="35116" v0="5166" v1="6044" v2="6626" v3="6628" />
+ <tetrahedron index="35117" v0="4873" v1="6044" v2="6626" v3="6628" />
+ <tetrahedron index="35118" v0="4873" v1="5166" v2="6626" v3="6628" />
+ <tetrahedron index="35119" v0="4873" v1="6044" v2="6627" v3="6628" />
+ <tetrahedron index="35120" v0="6075" v1="6124" v2="6693" v3="6787" />
+ <tetrahedron index="35121" v0="4936" v1="5340" v2="5984" v3="6629" />
+ <tetrahedron index="35122" v0="4267" v1="4630" v2="5474" v3="6928" />
+ <tetrahedron index="35123" v0="4936" v1="5340" v2="6044" v3="6629" />
+ <tetrahedron index="35124" v0="4936" v1="6044" v2="6625" v3="6629" />
+ <tetrahedron index="35125" v0="3587" v1="3588" v2="5392" v3="6926" />
+ <tetrahedron index="35126" v0="5392" v1="6045" v2="6633" v3="6926" />
+ <tetrahedron index="35127" v0="5190" v1="6461" v2="7023" v3="7030" />
+ <tetrahedron index="35128" v0="3507" v1="3587" v2="3621" v3="6630" />
+ <tetrahedron index="35129" v0="3587" v1="3621" v2="6045" v3="6630" />
+ <tetrahedron index="35130" v0="3587" v1="6045" v2="6050" v3="6630" />
+ <tetrahedron index="35131" v0="3507" v1="3587" v2="6050" v3="6630" />
+ <tetrahedron index="35132" v0="4955" v1="6046" v2="6156" v3="6711" />
+ <tetrahedron index="35133" v0="4955" v1="5395" v2="6154" v3="6711" />
+ <tetrahedron index="35134" v0="6046" v1="6632" v2="6636" v3="6753" />
+ <tetrahedron index="35135" v0="5493" v1="6050" v2="6633" v3="6711" />
+ <tetrahedron index="35136" v0="5630" v1="6627" v2="6786" v3="6924" />
+ <tetrahedron index="35137" v0="5065" v1="6311" v2="6625" v3="6924" />
+ <tetrahedron index="35138" v0="3587" v1="6045" v2="6050" v3="6926" />
+ <tetrahedron index="35139" v0="5630" v1="6280" v2="6311" v3="6924" />
+ <tetrahedron index="35140" v0="5392" v1="6051" v2="6631" v3="6926" />
+ <tetrahedron index="35141" v0="4987" v1="5477" v2="6141" v3="6704" />
+ <tetrahedron index="35142" v0="5152" v1="5753" v2="6666" v3="6972" />
+ <tetrahedron index="35143" v0="5167" v1="6014" v2="6409" v3="6754" />
+ <tetrahedron index="35144" v0="5152" v1="5993" v2="6750" v3="6972" />
+ <tetrahedron index="35145" v0="5152" v1="5753" v2="6770" v3="6972" />
+ <tetrahedron index="35146" v0="6055" v1="6641" v2="6642" v3="6643" />
+ <tetrahedron index="35147" v0="4894" v1="6054" v2="6642" v3="6643" />
+ <tetrahedron index="35148" v0="6289" v1="6789" v2="6792" v3="6875" />
+ <tetrahedron index="35149" v0="5941" v1="6553" v2="6580" v3="6899" />
+ <tetrahedron index="35150" v0="5309" v1="6055" v2="6641" v3="6643" />
+ <tetrahedron index="35151" v0="5615" v1="6289" v2="6487" v3="6875" />
+ <tetrahedron index="35152" v0="5168" v1="6170" v2="6722" v3="6784" />
+ <tetrahedron index="35153" v0="5554" v1="6227" v2="6228" v3="6753" />
+ <tetrahedron index="35154" v0="4961" v1="5461" v2="5877" v3="6863" />
+ <tetrahedron index="35155" v0="4961" v1="6442" v2="6726" v3="6964" />
+ <tetrahedron index="35156" v0="4996" v1="6154" v2="6159" v3="6958" />
+ <tetrahedron index="35157" v0="5392" v1="6626" v2="6631" v3="6633" />
+ <tetrahedron index="35158" v0="6046" v1="6626" v2="6631" v3="6633" />
+ <tetrahedron index="35159" v0="4955" v1="5554" v2="6636" v3="6927" />
+ <tetrahedron index="35160" v0="4873" v1="6046" v2="6156" v3="6633" />
+ <tetrahedron index="35161" v0="4873" v1="5493" v2="6156" v3="6633" />
+ <tetrahedron index="35162" v0="4116" v1="5573" v2="6051" v3="6751" />
+ <tetrahedron index="35163" v0="5725" v1="5961" v2="6391" v3="6973" />
+ <tetrahedron index="35164" v0="4970" v1="5994" v2="6591" v3="6940" />
+ <tetrahedron index="35165" v0="4861" v1="6902" v2="6908" v3="6912" />
+ <tetrahedron index="35166" v0="5009" v1="5994" v2="6585" v3="6940" />
+ <tetrahedron index="35167" v0="5436" v1="6092" v2="6666" v3="6667" />
+ <tetrahedron index="35168" v0="5782" v1="6442" v2="6726" v3="6988" />
+ <tetrahedron index="35169" v0="6672" v1="6794" v2="6897" v3="6942" />
+ <tetrahedron index="35170" v0="3937" v1="5394" v2="6578" v3="6635" />
+ <tetrahedron index="35171" v0="3937" v1="4053" v2="6049" v3="6635" />
+ <tetrahedron index="35172" v0="3937" v1="4053" v2="6578" v3="6635" />
+ <tetrahedron index="35173" v0="4860" v1="5554" v2="6632" v3="6636" />
+ <tetrahedron index="35174" v0="3778" v1="4396" v2="4400" v3="6785" />
+ <tetrahedron index="35175" v0="4955" v1="5528" v2="6227" v3="6752" />
+ <tetrahedron index="35176" v0="5036" v1="6051" v2="6632" v3="6636" />
+ <tetrahedron index="35177" v0="3892" v1="4760" v2="6029" v3="6741" />
+ <tetrahedron index="35178" v0="6158" v1="6202" v2="6740" v3="6741" />
+ <tetrahedron index="35179" v0="4267" v1="4327" v2="4630" v3="6928" />
+ <tetrahedron index="35180" v0="5015" v1="6158" v2="6202" v3="6741" />
+ <tetrahedron index="35181" v0="4860" v1="5026" v2="5554" v3="6636" />
+ <tetrahedron index="35182" v0="4860" v1="5026" v2="6224" v3="6636" />
+ <tetrahedron index="35183" v0="5615" v1="6289" v2="6792" v3="6875" />
+ <tetrahedron index="35184" v0="5614" v1="6106" v2="6789" v3="6875" />
+ <tetrahedron index="35185" v0="5588" v1="5589" v2="6261" v3="6638" />
+ <tetrahedron index="35186" v0="5047" v1="5588" v2="6261" v3="6638" />
+ <tetrahedron index="35187" v0="5589" v1="6261" v2="6637" v3="6638" />
+ <tetrahedron index="35188" v0="5047" v1="6261" v2="6637" v3="6638" />
+ <tetrahedron index="35189" v0="5550" v1="6292" v2="6597" v3="6907" />
+ <tetrahedron index="35190" v0="6292" v1="6639" v2="6773" v3="6907" />
+ <tetrahedron index="35191" v0="5409" v1="6069" v2="6651" v3="6932" />
+ <tetrahedron index="35192" v0="5346" v1="5991" v2="6569" v3="6908" />
+ <tetrahedron index="35193" v0="6054" v1="6642" v2="6643" v3="6774" />
+ <tetrahedron index="35194" v0="5991" v1="6587" v2="6590" v3="6909" />
+ <tetrahedron index="35195" v0="5397" v1="6263" v2="6637" v3="6774" />
+ <tetrahedron index="35196" v0="4493" v1="5988" v2="6139" v3="7006" />
+ <tetrahedron index="35197" v0="4713" v1="4737" v2="4753" v3="6704" />
+ <tetrahedron index="35198" v0="6110" v1="6520" v2="6681" v3="6946" />
+ <tetrahedron index="35199" v0="4987" v1="5477" v2="6460" v3="6704" />
+ <tetrahedron index="35200" v0="4753" v1="5478" v2="6277" v3="6704" />
+ <tetrahedron index="35201" v0="4987" v1="6277" v2="6460" v3="6704" />
+ <tetrahedron index="35202" v0="4845" v1="6717" v2="6794" v3="6929" />
+ <tetrahedron index="35203" v0="4712" v1="4713" v2="4737" v3="6704" />
+ <tetrahedron index="35204" v0="5333" v1="5596" v2="5980" v3="6776" />
+ <tetrahedron index="35205" v0="5980" v1="6268" v2="6743" v3="6776" />
+ <tetrahedron index="35206" v0="5397" v1="6056" v2="6641" v3="6774" />
+ <tetrahedron index="35207" v0="4845" v1="5840" v2="5950" v3="6644" />
+ <tetrahedron index="35208" v0="6098" v1="6099" v2="6644" v3="6675" />
+ <tetrahedron index="35209" v0="4894" v1="6099" v2="6217" v3="6674" />
+ <tetrahedron index="35210" v0="4894" v1="6099" v2="6643" v3="6674" />
+ <tetrahedron index="35211" v0="4939" v1="5348" v2="6407" v3="6848" />
+ <tetrahedron index="35212" v0="4268" v1="5998" v2="6702" v3="6954" />
+ <tetrahedron index="35213" v0="5437" v1="5546" v2="6217" v3="6674" />
+ <tetrahedron index="35214" v0="4493" v1="5342" v2="6139" v3="7006" />
+ <tetrahedron index="35215" v0="5403" v1="6062" v2="6444" v3="6865" />
+ <tetrahedron index="35216" v0="4848" v1="5403" v2="6062" v3="6865" />
+ <tetrahedron index="35217" v0="5170" v1="6062" v2="6444" v3="6865" />
+ <tetrahedron index="35218" v0="5403" v1="6444" v2="6445" v3="6865" />
+ <tetrahedron index="35219" v0="5614" v1="6289" v2="6789" v3="6875" />
+ <tetrahedron index="35220" v0="4713" v1="4753" v2="5478" v3="6704" />
+ <tetrahedron index="35221" v0="4712" v1="4737" v2="5477" v3="6704" />
+ <tetrahedron index="35222" v0="4987" v1="5478" v2="6277" v3="6704" />
+ <tetrahedron index="35223" v0="3711" v1="4539" v2="5535" v3="6646" />
+ <tetrahedron index="35224" v0="3711" v1="4957" v2="5514" v3="6646" />
+ <tetrahedron index="35225" v0="5137" v1="5398" v2="5735" v3="6646" />
+ <tetrahedron index="35226" v0="4957" v1="5398" v2="5514" v3="6646" />
+ <tetrahedron index="35227" v0="3711" v1="4342" v2="5514" v3="6646" />
+ <tetrahedron index="35228" v0="5007" v1="5514" v2="6057" v3="6646" />
+ <tetrahedron index="35229" v0="4539" v1="5007" v2="5535" v3="6646" />
+ <tetrahedron index="35230" v0="5221" v1="6055" v2="6644" v3="6930" />
+ <tetrahedron index="35231" v0="5309" v1="6055" v2="6641" v3="6644" />
+ <tetrahedron index="35232" v0="5309" v1="5950" v2="6641" v3="6644" />
+ <tetrahedron index="35233" v0="5309" v1="6055" v2="6098" v3="6644" />
+ <tetrahedron index="35234" v0="5309" v1="5950" v2="6098" v3="6644" />
+ <tetrahedron index="35235" v0="4857" v1="4973" v2="6514" v3="6676" />
+ <tetrahedron index="35236" v0="4857" v1="4973" v2="6104" v3="6676" />
+ <tetrahedron index="35237" v0="5550" v1="6639" v2="6645" v3="6931" />
+ <tetrahedron index="35238" v0="4987" v1="5478" v2="6141" v3="6704" />
+ <tetrahedron index="35239" v0="3761" v1="5591" v2="6377" v3="6866" />
+ <tetrahedron index="35240" v0="4856" v1="6056" v2="6443" v3="6865" />
+ <tetrahedron index="35241" v0="4848" v1="6056" v2="6062" v3="6865" />
+ <tetrahedron index="35242" v0="5550" v1="6639" v2="6907" v3="6931" />
+ <tetrahedron index="35243" v0="4470" v1="4471" v2="4472" v3="6968" />
+ <tetrahedron index="35244" v0="5550" v1="6220" v2="6878" v3="6879" />
+ <tetrahedron index="35245" v0="5221" v1="5550" v2="6596" v3="6879" />
+ <tetrahedron index="35246" v0="5409" v1="6068" v2="6651" v3="6932" />
+ <tetrahedron index="35247" v0="4848" v1="5396" v2="6056" v3="6865" />
+ <tetrahedron index="35248" v0="4737" v1="5477" v2="6460" v3="6704" />
+ <tetrahedron index="35249" v0="4713" v1="5478" v2="6141" v3="6704" />
+ <tetrahedron index="35250" v0="4856" v1="5396" v2="6056" v3="6865" />
+ <tetrahedron index="35251" v0="4848" v1="5396" v2="6060" v3="6865" />
+ <tetrahedron index="35252" v0="4951" v1="5383" v2="5726" v3="6677" />
+ <tetrahedron index="35253" v0="4973" v1="5485" v2="6101" v3="6677" />
+ <tetrahedron index="35254" v0="4853" v1="6066" v2="6104" v3="6677" />
+ <tetrahedron index="35255" v0="4973" v1="5383" v2="5485" v3="6677" />
+ <tetrahedron index="35256" v0="5443" v1="6104" v2="6524" v3="6677" />
+ <tetrahedron index="35257" v0="4951" v1="4973" v2="6104" v3="6677" />
+ <tetrahedron index="35258" v0="5155" v1="6105" v2="6487" v3="6648" />
+ <tetrahedron index="35259" v0="5446" v1="6105" v2="6487" v3="6648" />
+ <tetrahedron index="35260" v0="5155" v1="5446" v2="6487" v3="6648" />
+ <tetrahedron index="35261" v0="4875" v1="5396" v2="6259" v3="6775" />
+ <tetrahedron index="35262" v0="6159" v1="6715" v2="6979" v3="7015" />
+ <tetrahedron index="35263" v0="5528" v1="6159" v2="6716" v3="7015" />
+ <tetrahedron index="35264" v0="4848" v1="4875" v2="5396" v3="6775" />
+ <tetrahedron index="35265" v0="5047" v1="5590" v2="6264" v3="6775" />
+ <tetrahedron index="35266" v0="6052" v1="6263" v2="6637" v3="6775" />
+ <tetrahedron index="35267" v0="5396" v1="6052" v2="6259" v3="6775" />
+ <tetrahedron index="35268" v0="5156" v1="6072" v2="6652" v3="6933" />
+ <tetrahedron index="35269" v0="5761" v1="6427" v2="6652" v3="6933" />
+ <tetrahedron index="35270" v0="3512" v1="5409" v2="6069" v3="6651" />
+ <tetrahedron index="35271" v0="4866" v1="5156" v2="5760" v3="6933" />
+ <tetrahedron index="35272" v0="5045" v1="5585" v2="6069" v3="6651" />
+ <tetrahedron index="35273" v0="3512" v1="5585" v2="6069" v3="6651" />
+ <tetrahedron index="35274" v0="3511" v1="5045" v2="6258" v3="6651" />
+ <tetrahedron index="35275" v0="5635" v1="6258" v2="6650" v3="6651" />
+ <tetrahedron index="35276" v0="3512" v1="3678" v2="5409" v3="6651" />
+ <tetrahedron index="35277" v0="3678" v1="5409" v2="6068" v3="6651" />
+ <tetrahedron index="35278" v0="3511" v1="3514" v2="3945" v3="6651" />
+ <tetrahedron index="35279" v0="3511" v1="3945" v2="6258" v3="6651" />
+ <tetrahedron index="35280" v0="3514" v1="3945" v2="5635" v3="6651" />
+ <tetrahedron index="35281" v0="3945" v1="5635" v2="6258" v3="6651" />
+ <tetrahedron index="35282" v0="4913" v1="6300" v2="6797" v3="6800" />
+ <tetrahedron index="35283" v0="4976" v1="5625" v2="6302" v3="6652" />
+ <tetrahedron index="35284" v0="5451" v1="6071" v2="6302" v3="6652" />
+ <tetrahedron index="35285" v0="4976" v1="5451" v2="6302" v3="6652" />
+ <tetrahedron index="35286" v0="6071" v1="6072" v2="6302" v3="6652" />
+ <tetrahedron index="35287" v0="5625" v1="6072" v2="6302" v3="6652" />
+ <tetrahedron index="35288" v0="4976" v1="5197" v2="5451" v3="6652" />
+ <tetrahedron index="35289" v0="4976" v1="5197" v2="6176" v3="6652" />
+ <tetrahedron index="35290" v0="4940" v1="5016" v2="6203" v3="6993" />
+ <tetrahedron index="35291" v0="5063" v1="6073" v2="6303" v3="6800" />
+ <tetrahedron index="35292" v0="4981" v1="5464" v2="6072" v3="6696" />
+ <tetrahedron index="35293" v0="4884" v1="5191" v2="5811" v3="6844" />
+ <tetrahedron index="35294" v0="5350" v1="5351" v2="6846" v3="6990" />
+ <tetrahedron index="35295" v0="4847" v1="5959" v2="6764" v3="6805" />
+ <tetrahedron index="35296" v0="4847" v1="6430" v2="6765" v3="6805" />
+ <tetrahedron index="35297" v0="4963" v1="6075" v2="6283" v3="6654" />
+ <tetrahedron index="35298" v0="4963" v1="5603" v2="6283" v3="6654" />
+ <tetrahedron index="35299" v0="3486" v1="5422" v2="6242" v3="6936" />
+ <tetrahedron index="35300" v0="6032" v1="6242" v2="6656" v3="6936" />
+ <tetrahedron index="35301" v0="6120" v1="6129" v2="6678" v3="6696" />
+ <tetrahedron index="35302" v0="5246" v1="6285" v2="6655" v3="7000" />
+ <tetrahedron index="35303" v0="4826" v1="5462" v2="6119" v3="6889" />
+ <tetrahedron index="35304" v0="5169" v1="5247" v2="6036" v3="6889" />
+ <tetrahedron index="35305" v0="3385" v1="6180" v2="6515" v3="6889" />
+ <tetrahedron index="35306" v0="4886" v1="6563" v2="7003" v3="7028" />
+ <tetrahedron index="35307" v0="5603" v1="6283" v2="6782" v3="6935" />
+ <tetrahedron index="35308" v0="5465" v1="6129" v2="6678" v3="6696" />
+ <tetrahedron index="35309" v0="6654" v1="6655" v2="6934" v3="6935" />
+ <tetrahedron index="35310" v0="4854" v1="5763" v2="6550" v3="6657" />
+ <tetrahedron index="35311" v0="4854" v1="5745" v2="6550" v3="6657" />
+ <tetrahedron index="35312" v0="4950" v1="5763" v2="6034" v3="6657" />
+ <tetrahedron index="35313" v0="5763" v1="6034" v2="6550" v3="6657" />
+ <tetrahedron index="35314" v0="4950" v1="6034" v2="6550" v3="6657" />
+ <tetrahedron index="35315" v0="3488" v1="3683" v2="3684" v3="6938" />
+ <tetrahedron index="35316" v0="3683" v1="3684" v2="5582" v3="6938" />
+ <tetrahedron index="35317" v0="5317" v1="5961" v2="6571" v3="6658" />
+ <tetrahedron index="35318" v0="3785" v1="5148" v2="5747" v3="6659" />
+ <tetrahedron index="35319" v0="5309" v1="6898" v2="6944" v3="7014" />
+ <tetrahedron index="35320" v0="3841" v1="3842" v2="5425" v3="6661" />
+ <tetrahedron index="35321" v0="3684" v1="3785" v2="3786" v3="6659" />
+ <tetrahedron index="35322" v0="3684" v1="3786" v2="5746" v3="6659" />
+ <tetrahedron index="35323" v0="3684" v1="3785" v2="4815" v3="6659" />
+ <tetrahedron index="35324" v0="3785" v1="4815" v2="5747" v3="6659" />
+ <tetrahedron index="35325" v0="3785" v1="3786" v2="5148" v3="6659" />
+ <tetrahedron index="35326" v0="3786" v1="5148" v2="5746" v3="6659" />
+ <tetrahedron index="35327" v0="5421" v1="5423" v2="6081" v3="6660" />
+ <tetrahedron index="35328" v0="5421" v1="6081" v2="6083" v3="6660" />
+ <tetrahedron index="35329" v0="4966" v1="5421" v2="6083" v3="6660" />
+ <tetrahedron index="35330" v0="5309" v1="6649" v2="6898" v3="7014" />
+ <tetrahedron index="35331" v0="4882" v1="6092" v2="6667" v3="6939" />
+ <tetrahedron index="35332" v0="4882" v1="5992" v2="6092" v3="6939" />
+ <tetrahedron index="35333" v0="4970" v1="5433" v2="6094" v3="6940" />
+ <tetrahedron index="35334" v0="3811" v1="3842" v2="4372" v3="6661" />
+ <tetrahedron index="35335" v0="3842" v1="4372" v2="6085" v3="6661" />
+ <tetrahedron index="35336" v0="4968" v1="5788" v2="6086" v3="6662" />
+ <tetrahedron index="35337" v0="4968" v1="5427" v2="6086" v3="6662" />
+ <tetrahedron index="35338" v0="6959" v1="6960" v2="6997" v3="7021" />
+ <tetrahedron index="35339" v0="5342" v1="6053" v2="6639" v3="6773" />
+ <tetrahedron index="35340" v0="4089" v1="4968" v2="5430" v3="6663" />
+ <tetrahedron index="35341" v0="4089" v1="4968" v2="6448" v3="6663" />
+ <tetrahedron index="35342" v0="3566" v1="5681" v2="6088" v3="6664" />
+ <tetrahedron index="35343" v0="3568" v1="3837" v2="5359" v3="6664" />
+ <tetrahedron index="35344" v0="3569" v1="5431" v2="6088" v3="6664" />
+ <tetrahedron index="35345" v0="3837" v1="5431" v2="5710" v3="6664" />
+ <tetrahedron index="35346" v0="3837" v1="5359" v2="5710" v3="6664" />
+ <tetrahedron index="35347" v0="3566" v1="3567" v2="3568" v3="6664" />
+ <tetrahedron index="35348" v0="3566" v1="3567" v2="5681" v3="6664" />
+ <tetrahedron index="35349" v0="3566" v1="3568" v2="3569" v3="6664" />
+ <tetrahedron index="35350" v0="3566" v1="3569" v2="6088" v3="6664" />
+ <tetrahedron index="35351" v0="3568" v1="3569" v2="3837" v3="6664" />
+ <tetrahedron index="35352" v0="3569" v1="3837" v2="5431" v3="6664" />
+ <tetrahedron index="35353" v0="5805" v1="6091" v2="6457" v3="6665" />
+ <tetrahedron index="35354" v0="5188" v1="5805" v2="6457" v3="6665" />
+ <tetrahedron index="35355" v0="4088" v1="5188" v2="6457" v3="6665" />
+ <tetrahedron index="35356" v0="4086" v1="4088" v2="6457" v3="6665" />
+ <tetrahedron index="35357" v0="4970" v1="5805" v2="6092" v3="6665" />
+ <tetrahedron index="35358" v0="5188" v1="5805" v2="6092" v3="6665" />
+ <tetrahedron index="35359" v0="5473" v1="5702" v2="6251" v3="6771" />
+ <tetrahedron index="35360" v0="5112" v1="5702" v2="6252" v3="6771" />
+ <tetrahedron index="35361" v0="5036" v1="5573" v2="6224" v3="6751" />
+ <tetrahedron index="35362" v0="4716" v1="5573" v2="6751" v3="6770" />
+ <tetrahedron index="35363" v0="4120" v1="5152" v2="6226" v3="6770" />
+ <tetrahedron index="35364" v0="4716" v1="5553" v2="6751" v3="6770" />
+ <tetrahedron index="35365" v0="4120" v1="4454" v2="4716" v3="6770" />
+ <tetrahedron index="35366" v0="4454" v1="4716" v2="6250" v3="6770" />
+ <tetrahedron index="35367" v0="4716" v1="5573" v2="6250" v3="6770" />
+ <tetrahedron index="35368" v0="5127" v1="5725" v2="6391" v3="6973" />
+ <tetrahedron index="35369" v0="5573" v1="6224" v2="6250" v3="6770" />
+ <tetrahedron index="35370" v0="4943" v1="5347" v2="6012" v3="6668" />
+ <tetrahedron index="35371" v0="5347" v1="6012" v2="6093" v3="6668" />
+ <tetrahedron index="35372" v0="4938" v1="5599" v2="6270" v3="6668" />
+ <tetrahedron index="35373" v0="5347" v1="5599" v2="6270" v3="6668" />
+ <tetrahedron index="35374" v0="4938" v1="5347" v2="6270" v3="6668" />
+ <tetrahedron index="35375" v0="5993" v1="6093" v2="6666" v3="6669" />
+ <tetrahedron index="35376" v0="5152" v1="5993" v2="6666" v3="6669" />
+ <tetrahedron index="35377" v0="3706" v1="3707" v2="3708" v3="6669" />
+ <tetrahedron index="35378" v0="3707" v1="3708" v2="5753" v3="6669" />
+ <tetrahedron index="35379" v0="3706" v1="3707" v2="5753" v3="6669" />
+ <tetrahedron index="35380" v0="3708" v1="5436" v2="5753" v3="6669" />
+ <tetrahedron index="35381" v0="3708" v1="5436" v2="6093" v3="6669" />
+ <tetrahedron index="35382" v0="5436" v1="6093" v2="6666" v3="6669" />
+ <tetrahedron index="35383" v0="5436" v1="5753" v2="6666" v3="6669" />
+ <tetrahedron index="35384" v0="4938" v1="5993" v2="6093" v3="6670" />
+ <tetrahedron index="35385" v0="6429" v1="6853" v2="6902" v3="6912" />
+ <tetrahedron index="35386" v0="4970" v1="5436" v2="6092" v3="6670" />
+ <tetrahedron index="35387" v0="4970" v1="6092" v2="6667" v3="6670" />
+ <tetrahedron index="35388" v0="5436" v1="6092" v2="6667" v3="6670" />
+ <tetrahedron index="35389" v0="4863" v1="5902" v2="6795" v3="6941" />
+ <tetrahedron index="35390" v0="6685" v1="6795" v2="6796" v3="6941" />
+ <tetrahedron index="35391" v0="5902" v1="6097" v2="6671" v3="6941" />
+ <tetrahedron index="35392" v0="6297" v1="6795" v2="6796" v3="6941" />
+ <tetrahedron index="35393" v0="5316" v1="6566" v2="6851" v3="6894" />
+ <tetrahedron index="35394" v0="4926" v1="6054" v2="6640" v3="6945" />
+ <tetrahedron index="35395" v0="6054" v1="6640" v2="6643" v3="6945" />
+ <tetrahedron index="35396" v0="5196" v1="6565" v2="6891" v3="7003" />
+ <tetrahedron index="35397" v0="5512" v1="6521" v2="6890" v3="6891" />
+ <tetrahedron index="35398" v0="5268" v1="6098" v2="6150" v3="6673" />
+ <tetrahedron index="35399" v0="5805" v1="5992" v2="6079" v3="7013" />
+ <tetrahedron index="35400" v0="6098" v1="6673" v2="6943" v3="6944" />
+ <tetrahedron index="35401" v0="6752" v1="6949" v2="6979" v3="7015" />
+ <tetrahedron index="35402" v0="6752" v1="6784" v2="6843" v3="7015" />
+ <tetrahedron index="35403" v0="6301" v1="6673" v2="6943" v3="6944" />
+ <tetrahedron index="35404" v0="4971" v1="5439" v2="6150" v3="6708" />
+ <tetrahedron index="35405" v0="5440" v1="5562" v2="6100" v3="6708" />
+ <tetrahedron index="35406" v0="5493" v1="6281" v2="6712" v3="6957" />
+ <tetrahedron index="35407" v0="4863" v1="6100" v2="6236" v3="6708" />
+ <tetrahedron index="35408" v0="4863" v1="5488" v2="6150" v3="6708" />
+ <tetrahedron index="35409" v0="4971" v1="5488" v2="6707" v3="6708" />
+ <tetrahedron index="35410" v0="5001" v1="5562" v2="6100" v3="6708" />
+ <tetrahedron index="35411" v0="5488" v1="5562" v2="6095" v3="6708" />
+ <tetrahedron index="35412" v0="4863" v1="5439" v2="6100" v3="6708" />
+ <tetrahedron index="35413" v0="4971" v1="6150" v2="6707" v3="6708" />
+ <tetrahedron index="35414" v0="4894" v1="6217" v2="6485" v3="6674" />
+ <tetrahedron index="35415" v0="6110" v1="6520" v2="6682" v3="6946" />
+ <tetrahedron index="35416" v0="5546" v1="6217" v2="6485" v3="6674" />
+ <tetrahedron index="35417" v0="5023" v1="5546" v2="6485" v3="6674" />
+ <tetrahedron index="35418" v0="5006" v1="5692" v2="5879" v3="6946" />
+ <tetrahedron index="35419" v0="5006" v1="5513" v2="6681" v3="6946" />
+ <tetrahedron index="35420" v0="5513" v1="6110" v2="6681" v3="6946" />
+ <tetrahedron index="35421" v0="4973" v1="5443" v2="6104" v3="6676" />
+ <tetrahedron index="35422" v0="5443" v1="6104" v2="6648" v3="6676" />
+ <tetrahedron index="35423" v0="6560" v1="6799" v2="6850" v3="6943" />
+ <tetrahedron index="35424" v0="4962" v1="5904" v2="6073" v3="6893" />
+ <tetrahedron index="35425" v0="5995" v1="6594" v2="6723" v3="6948" />
+ <tetrahedron index="35426" v0="4962" v1="5904" v2="6537" v3="6893" />
+ <tetrahedron index="35427" v0="5903" v1="6560" v2="6672" v3="6943" />
+ <tetrahedron index="35428" v0="4962" v1="6073" v2="6536" v3="6893" />
+ <tetrahedron index="35429" v0="5443" v1="6102" v2="6103" v3="6676" />
+ <tetrahedron index="35430" v0="5443" v1="6103" v2="6648" v3="6676" />
+ <tetrahedron index="35431" v0="6142" v1="6275" v2="6881" v3="6998" />
+ <tetrahedron index="35432" v0="4930" v1="6116" v2="6721" v3="6962" />
+ <tetrahedron index="35433" v0="5458" v1="6117" v2="6688" v3="6690" />
+ <tetrahedron index="35434" v0="4964" v1="6118" v2="6120" v3="6690" />
+ <tetrahedron index="35435" v0="3272" v1="5535" v2="6397" v3="6835" />
+ <tetrahedron index="35436" v0="5457" v1="6117" v2="6389" v3="6690" />
+ <tetrahedron index="35437" v0="4980" v1="5458" v2="6122" v3="6690" />
+ <tetrahedron index="35438" v0="6170" v1="6488" v2="6723" v3="6877" />
+ <tetrahedron index="35439" v0="5507" v1="6170" v2="6687" v3="6877" />
+ <tetrahedron index="35440" v0="5168" v1="5997" v2="6718" v3="6877" />
+ <tetrahedron index="35441" v0="4883" v1="6291" v2="6537" v3="6678" />
+ <tetrahedron index="35442" v0="5465" v1="6291" v2="6537" v3="6678" />
+ <tetrahedron index="35443" v0="3413" v1="5447" v2="5448" v3="6680" />
+ <tetrahedron index="35444" v0="3411" v1="3412" v2="3413" v3="6680" />
+ <tetrahedron index="35445" v0="3411" v1="3413" v2="5448" v3="6680" />
+ <tetrahedron index="35446" v0="3365" v1="3696" v2="3952" v3="6681" />
+ <tetrahedron index="35447" v0="3365" v1="3696" v2="6178" v3="6681" />
+ <tetrahedron index="35448" v0="4944" v1="6685" v2="6686" v3="6947" />
+ <tetrahedron index="35449" v0="5006" v1="5513" v2="6178" v3="6681" />
+ <tetrahedron index="35450" v0="3696" v1="3952" v2="5513" v3="6681" />
+ <tetrahedron index="35451" v0="3696" v1="5513" v2="6178" v3="6681" />
+ <tetrahedron index="35452" v0="5470" v1="6110" v2="6149" v3="6681" />
+ <tetrahedron index="35453" v0="5025" v1="6139" v2="6702" v3="6954" />
+ <tetrahedron index="35454" v0="4268" v1="5551" v2="5998" v3="6954" />
+ <tetrahedron index="35455" v0="6655" v1="6695" v2="6934" v3="7000" />
+ <tetrahedron index="35456" v0="4944" v1="6495" v2="6885" v3="6947" />
+ <tetrahedron index="35457" v0="4944" v1="6685" v2="6885" v3="6947" />
+ <tetrahedron index="35458" v0="4944" v1="6495" v2="6882" v3="6947" />
+ <tetrahedron index="35459" v0="4903" v1="6075" v2="6695" v3="7000" />
+ <tetrahedron index="35460" v0="4903" v1="6075" v2="6513" v3="7000" />
+ <tetrahedron index="35461" v0="5607" v1="6285" v2="6888" v3="7000" />
+ <tetrahedron index="35462" v0="5245" v1="6513" v2="6888" v3="7000" />
+ <tetrahedron index="35463" v0="6513" v1="6787" v2="7001" v3="7027" />
+ <tetrahedron index="35464" v0="4670" v1="4671" v2="4752" v3="6998" />
+ <tetrahedron index="35465" v0="3936" v1="4337" v2="4577" v3="6683" />
+ <tetrahedron index="35466" v0="4337" v1="4577" v2="5645" v3="6683" />
+ <tetrahedron index="35467" v0="4577" v1="5452" v2="5645" v3="6683" />
+ <tetrahedron index="35468" v0="5452" v1="5645" v2="6112" v3="6683" />
+ <tetrahedron index="35469" v0="4908" v1="5645" v2="6527" v3="6684" />
+ <tetrahedron index="35470" v0="4499" v1="5645" v2="6527" v3="6684" />
+ <tetrahedron index="35471" v0="4499" v1="5254" v2="6527" v3="6684" />
+ <tetrahedron index="35472" v0="3958" v1="4337" v2="4499" v3="6684" />
+ <tetrahedron index="35473" v0="4337" v1="4499" v2="5645" v3="6684" />
+ <tetrahedron index="35474" v0="3736" v1="5905" v2="6297" v3="6796" />
+ <tetrahedron index="35475" v0="5268" v1="5902" v2="6671" v3="6797" />
+ <tetrahedron index="35476" v0="5268" v1="6671" v2="6672" v3="6797" />
+ <tetrahedron index="35477" v0="5364" v1="6115" v2="6493" v3="6884" />
+ <tetrahedron index="35478" v0="4944" v1="6016" v2="6492" v3="6686" />
+ <tetrahedron index="35479" v0="5454" v1="5494" v2="6115" v3="6884" />
+ <tetrahedron index="35480" v0="4944" v1="5494" v2="6492" v3="6686" />
+ <tetrahedron index="35481" v0="5903" v1="6536" v2="6897" v3="6942" />
+ <tetrahedron index="35482" v0="5507" v1="6170" v2="6723" v3="6948" />
+ <tetrahedron index="35483" v0="4978" v1="5623" v2="6296" v3="6795" />
+ <tetrahedron index="35484" v0="5365" v1="6165" v2="6686" v3="6717" />
+ <tetrahedron index="35485" v0="5167" v1="6156" v2="6227" v3="6843" />
+ <tetrahedron index="35486" v0="5439" v1="5503" v2="6097" v3="6717" />
+ <tetrahedron index="35487" v0="5554" v1="6227" v2="6636" v3="6753" />
+ <tetrahedron index="35488" v0="4955" v1="6227" v2="6636" v3="6753" />
+ <tetrahedron index="35489" v0="4882" v1="5574" v2="6458" v3="6767" />
+ <tetrahedron index="35490" v0="4400" v1="5631" v2="6194" v3="6785" />
+ <tetrahedron index="35491" v0="3778" v1="4039" v2="4396" v3="6785" />
+ <tetrahedron index="35492" v0="5841" v1="6421" v2="6878" v3="6930" />
+ <tetrahedron index="35493" v0="6166" v1="6713" v2="6717" v3="6719" />
+ <tetrahedron index="35494" v0="5246" v1="5527" v2="5874" v3="6688" />
+ <tetrahedron index="35495" v0="5246" v1="5527" v2="6201" v3="6688" />
+ <tetrahedron index="35496" v0="4964" v1="5458" v2="6122" v3="6689" />
+ <tetrahedron index="35497" v0="5615" v1="6487" v2="6875" v3="6981" />
+ <tetrahedron index="35498" v0="4903" v1="6124" v2="6128" v3="6695" />
+ <tetrahedron index="35499" v0="4850" v1="5416" v2="6654" v3="6695" />
+ <tetrahedron index="35500" v0="4964" v1="5458" v2="6120" v3="6689" />
+ <tetrahedron index="35501" v0="4964" v1="6120" v2="6678" v3="6689" />
+ <tetrahedron index="35502" v0="5458" v1="6120" v2="6678" v3="6689" />
+ <tetrahedron index="35503" v0="4964" v1="6120" v2="6122" v3="6690" />
+ <tetrahedron index="35504" v0="4964" v1="6118" v2="6122" v3="6690" />
+ <tetrahedron index="35505" v0="6118" v1="6122" v2="6690" v3="6691" />
+ <tetrahedron index="35506" v0="5457" v1="6118" v2="6690" v3="6691" />
+ <tetrahedron index="35507" v0="3541" v1="5457" v2="6119" v3="6691" />
+ <tetrahedron index="35508" v0="5457" v1="6119" v2="6122" v3="6691" />
+ <tetrahedron index="35509" v0="4964" v1="5444" v2="6118" v3="6691" />
+ <tetrahedron index="35510" v0="4964" v1="5444" v2="6514" v3="6691" />
+ <tetrahedron index="35511" v0="3527" v1="4029" v2="5383" v3="6691" />
+ <tetrahedron index="35512" v0="4029" v1="5383" v2="6514" v3="6691" />
+ <tetrahedron index="35513" v0="3527" v1="5383" v2="6514" v3="6691" />
+ <tetrahedron index="35514" v0="4964" v1="5875" v2="6122" v3="6691" />
+ <tetrahedron index="35515" v0="4964" v1="5875" v2="6514" v3="6691" />
+ <tetrahedron index="35516" v0="5247" v1="5875" v2="6036" v3="6691" />
+ <tetrahedron index="35517" v0="4029" v1="5247" v2="6036" v3="6691" />
+ <tetrahedron index="35518" v0="5875" v1="6036" v2="6514" v3="6691" />
+ <tetrahedron index="35519" v0="4029" v1="6036" v2="6514" v3="6691" />
+ <tetrahedron index="35520" v0="5511" v1="5522" v2="6175" v3="6693" />
+ <tetrahedron index="35521" v0="5522" v1="6175" v2="6313" v3="6693" />
+ <tetrahedron index="35522" v0="5511" v1="5522" v2="6313" v3="6693" />
+ <tetrahedron index="35523" v0="5632" v1="6312" v2="6313" v3="6693" />
+ <tetrahedron index="35524" v0="4883" v1="5874" v2="6538" v3="6952" />
+ <tetrahedron index="35525" v0="4339" v1="6174" v2="6175" v3="6728" />
+ <tetrahedron index="35526" v0="6124" v1="6125" v2="6175" v3="6728" />
+ <tetrahedron index="35527" v0="5189" v1="5874" v2="6538" v3="6952" />
+ <tetrahedron index="35528" v0="4883" v1="6120" v2="6696" v3="6952" />
+ <tetrahedron index="35529" v0="4341" v1="6172" v2="6174" v3="6728" />
+ <tetrahedron index="35530" v0="4671" v1="4752" v2="5843" v3="6998" />
+ <tetrahedron index="35531" v0="5144" v1="5740" v2="6820" v3="6984" />
+ <tetrahedron index="35532" v0="5416" v1="5461" v2="6128" v3="6695" />
+ <tetrahedron index="35533" v0="6890" v1="6966" v2="7004" v3="7028" />
+ <tetrahedron index="35534" v0="5053" v1="6075" v2="6655" v3="6935" />
+ <tetrahedron index="35535" v0="6176" v1="6729" v2="6966" v3="7028" />
+ <tetrahedron index="35536" v0="5461" v1="6128" v2="6694" v3="6695" />
+ <tetrahedron index="35537" v0="4850" v1="5461" v2="6694" v3="6695" />
+ <tetrahedron index="35538" v0="5416" v1="5461" v2="6442" v3="6695" />
+ <tetrahedron index="35539" v0="4850" v1="5461" v2="6442" v3="6695" />
+ <tetrahedron index="35540" v0="4850" v1="5416" v2="6442" v3="6695" />
+ <tetrahedron index="35541" v0="5464" v1="6072" v2="6130" v3="6696" />
+ <tetrahedron index="35542" v0="5470" v1="6520" v2="6699" v3="6953" />
+ <tetrahedron index="35543" v0="4883" v1="6537" v2="6678" v3="6696" />
+ <tetrahedron index="35544" v0="4883" v1="6120" v2="6678" v3="6696" />
+ <tetrahedron index="35545" v0="5648" v1="6324" v2="6395" v3="6698" />
+ <tetrahedron index="35546" v0="4237" v1="4239" v2="4330" v3="6698" />
+ <tetrahedron index="35547" v0="4962" v1="5904" v2="6537" v3="6697" />
+ <tetrahedron index="35548" v0="4885" v1="5817" v2="6473" v3="6868" />
+ <tetrahedron index="35549" v0="4885" v1="6473" v2="6840" v3="6868" />
+ <tetrahedron index="35550" v0="5194" v1="6473" v2="6840" v3="6868" />
+ <tetrahedron index="35551" v0="5904" v1="6537" v2="6538" v3="6697" />
+ <tetrahedron index="35552" v0="5189" v1="5904" v2="6538" v3="6697" />
+ <tetrahedron index="35553" v0="4983" v1="5648" v2="6326" v3="6698" />
+ <tetrahedron index="35554" v0="4983" v1="5468" v2="6326" v3="6698" />
+ <tetrahedron index="35555" v0="4159" v1="4237" v2="5073" v3="6698" />
+ <tetrahedron index="35556" v0="4159" v1="5073" v2="5468" v3="6698" />
+ <tetrahedron index="35557" v0="4159" v1="4237" v2="5468" v3="6698" />
+ <tetrahedron index="35558" v0="4237" v1="4812" v2="5468" v3="6698" />
+ <tetrahedron index="35559" v0="4812" v1="5468" v2="6134" v3="6698" />
+ <tetrahedron index="35560" v0="4237" v1="4330" v2="4812" v3="6698" />
+ <tetrahedron index="35561" v0="4330" v1="4812" v2="6134" v3="6698" />
+ <tetrahedron index="35562" v0="5488" v1="5620" v2="6295" v3="6699" />
+ <tetrahedron index="35563" v0="4267" v1="5474" v2="6139" v3="6954" />
+ <tetrahedron index="35564" v0="4266" v1="4267" v2="6139" v3="6954" />
+ <tetrahedron index="35565" v0="5025" v1="5998" v2="6702" v3="6954" />
+ <tetrahedron index="35566" v0="4266" v1="6139" v2="6702" v3="6954" />
+ <tetrahedron index="35567" v0="4169" v1="5470" v2="6135" v3="6700" />
+ <tetrahedron index="35568" v0="3737" v1="4186" v2="4436" v3="6700" />
+ <tetrahedron index="35569" v0="3737" v1="4436" v2="5905" v3="6700" />
+ <tetrahedron index="35570" v0="4436" v1="5905" v2="6540" v3="6700" />
+ <tetrahedron index="35571" v0="4186" v1="4436" v2="6540" v3="6700" />
+ <tetrahedron index="35572" v0="5661" v1="6136" v2="6334" v3="6701" />
+ <tetrahedron index="35573" v0="3341" v1="5661" v2="6334" v3="6701" />
+ <tetrahedron index="35574" v0="3341" v1="3717" v2="5661" v3="6701" />
+ <tetrahedron index="35575" v0="3717" v1="5661" v2="6136" v3="6701" />
+ <tetrahedron index="35576" v0="6920" v1="6959" v2="6960" v3="7021" />
+ <tetrahedron index="35577" v0="5989" v1="6139" v2="6582" v3="6702" />
+ <tetrahedron index="35578" v0="6139" v1="6582" v2="6595" v3="6702" />
+ <tetrahedron index="35579" v0="5989" v1="6582" v2="6595" v3="6702" />
+ <tetrahedron index="35580" v0="4856" v1="4956" v2="4991" v3="6955" />
+ <tetrahedron index="35581" v0="5904" v1="6460" v2="6538" v3="6977" />
+ <tetrahedron index="35582" v0="5405" v1="6148" v2="6705" v3="6955" />
+ <tetrahedron index="35583" v0="4845" v1="6097" v2="6717" v3="6929" />
+ <tetrahedron index="35584" v0="5439" v1="6097" v2="6717" v3="6929" />
+ <tetrahedron index="35585" v0="5397" v1="6053" v2="6637" v3="6703" />
+ <tetrahedron index="35586" v0="5397" v1="6637" v2="6642" v3="6703" />
+ <tetrahedron index="35587" v0="5397" v1="6053" v2="6642" v3="6703" />
+ <tetrahedron index="35588" v0="5316" v1="6246" v2="6853" v3="7013" />
+ <tetrahedron index="35589" v0="4986" v1="6140" v2="6645" v3="6703" />
+ <tetrahedron index="35590" v0="4930" v1="6719" v2="6720" v3="6962" />
+ <tetrahedron index="35591" v0="6166" v1="6717" v2="6719" v3="6929" />
+ <tetrahedron index="35592" v0="4845" v1="6098" v2="6644" v3="6929" />
+ <tetrahedron index="35593" v0="5997" v1="6287" v2="6597" v3="6789" />
+ <tetrahedron index="35594" v0="5807" v1="6277" v2="6460" v3="6704" />
+ <tetrahedron index="35595" v0="4326" v1="4737" v2="5807" v3="6704" />
+ <tetrahedron index="35596" v0="4737" v1="5807" v2="6460" v3="6704" />
+ <tetrahedron index="35597" v0="5616" v1="6294" v2="6679" v3="6705" />
+ <tetrahedron index="35598" v0="5060" v1="6294" v2="6679" v3="6705" />
+ <tetrahedron index="35599" v0="5060" v1="5616" v2="6679" v3="6705" />
+ <tetrahedron index="35600" v0="4541" v1="4542" v2="5440" v3="6956" />
+ <tetrahedron index="35601" v0="4366" v1="5438" v2="6218" v3="6956" />
+ <tetrahedron index="35602" v0="5344" v1="5482" v2="5988" v3="6706" />
+ <tetrahedron index="35603" v0="4937" v1="5482" v2="5988" v3="6706" />
+ <tetrahedron index="35604" v0="4937" v1="5344" v2="5988" v3="6706" />
+ <tetrahedron index="35605" v0="4598" v1="5344" v2="5482" v3="6706" />
+ <tetrahedron index="35606" v0="4598" v1="5482" v2="6148" v3="6706" />
+ <tetrahedron index="35607" v0="3285" v1="3287" v2="3485" v3="6706" />
+ <tetrahedron index="35608" v0="3285" v1="3287" v2="5618" v3="6706" />
+ <tetrahedron index="35609" v0="3380" v1="3485" v2="4598" v3="6706" />
+ <tetrahedron index="35610" v0="3380" v1="3485" v2="6148" v3="6706" />
+ <tetrahedron index="35611" v0="3380" v1="4598" v2="6148" v3="6706" />
+ <tetrahedron index="35612" v0="5344" v1="5990" v2="6584" v3="6706" />
+ <tetrahedron index="35613" v0="4937" v1="5344" v2="6584" v3="6706" />
+ <tetrahedron index="35614" v0="5060" v1="6293" v2="6705" v3="6706" />
+ <tetrahedron index="35615" v0="5060" v1="5618" v2="6705" v3="6706" />
+ <tetrahedron index="35616" v0="5060" v1="5990" v2="6293" v3="6706" />
+ <tetrahedron index="35617" v0="5060" v1="5990" v2="6583" v3="6706" />
+ <tetrahedron index="35618" v0="4937" v1="6293" v2="6584" v3="6706" />
+ <tetrahedron index="35619" v0="5990" v1="6293" v2="6584" v3="6706" />
+ <tetrahedron index="35620" v0="5562" v1="5620" v2="6236" v3="6708" />
+ <tetrahedron index="35621" v0="4863" v1="5620" v2="6236" v3="6708" />
+ <tetrahedron index="35622" v0="5488" v1="5562" v2="5620" v3="6708" />
+ <tetrahedron index="35623" v0="4863" v1="5488" v2="5620" v3="6708" />
+ <tetrahedron index="35624" v0="4173" v1="4238" v2="6324" v3="6709" />
+ <tetrahedron index="35625" v0="3428" v1="4205" v2="4441" v3="6709" />
+ <tetrahedron index="35626" v0="4205" v1="4441" v2="5491" v3="6709" />
+ <tetrahedron index="35627" v0="3428" v1="4173" v2="4205" v3="6709" />
+ <tetrahedron index="35628" v0="5649" v1="6151" v2="6327" v3="6709" />
+ <tetrahedron index="35629" v0="4995" v1="6151" v2="6327" v3="6709" />
+ <tetrahedron index="35630" v0="4995" v1="6324" v2="6327" v3="6709" />
+ <tetrahedron index="35631" v0="5649" v1="6324" v2="6327" v3="6709" />
+ <tetrahedron index="35632" v0="4173" v1="4205" v2="4238" v3="6709" />
+ <tetrahedron index="35633" v0="4205" v1="4238" v2="5491" v3="6709" />
+ <tetrahedron index="35634" v0="6644" v1="6675" v2="6929" v3="6961" />
+ <tetrahedron index="35635" v0="4874" v1="6016" v2="6713" v3="6959" />
+ <tetrahedron index="35636" v0="4984" v1="5905" v2="6534" v3="6982" />
+ <tetrahedron index="35637" v0="3507" v1="3508" v2="6050" v3="6710" />
+ <tetrahedron index="35638" v0="3507" v1="6050" v2="6630" v3="6710" />
+ <tetrahedron index="35639" v0="5026" v1="6225" v2="6636" v3="6927" />
+ <tetrahedron index="35640" v0="5554" v1="6202" v2="6740" v3="6927" />
+ <tetrahedron index="35641" v0="5026" v1="6029" v2="6225" v3="6927" />
+ <tetrahedron index="35642" v0="5395" v1="6225" v2="6636" v3="6927" />
+ <tetrahedron index="35643" v0="4955" v1="6046" v2="6636" v3="6711" />
+ <tetrahedron index="35644" v0="4955" v1="5395" v2="6636" v3="6711" />
+ <tetrahedron index="35645" v0="5169" v1="5876" v2="6515" v3="6889" />
+ <tetrahedron index="35646" v0="4873" v1="5493" v2="6156" v3="6712" />
+ <tetrahedron index="35647" v0="4873" v1="5493" v2="6281" v3="6712" />
+ <tetrahedron index="35648" v0="4904" v1="6289" v2="6689" v3="6980" />
+ <tetrahedron index="35649" v0="5603" v1="6278" v2="6654" v3="6783" />
+ <tetrahedron index="35650" v0="5195" v1="5809" v2="6737" v3="6921" />
+ <tetrahedron index="35651" v0="4525" v1="6007" v2="6269" v3="7008" />
+ <tetrahedron index="35652" v0="4978" v1="5503" v2="6157" v3="6713" />
+ <tetrahedron index="35653" v0="4978" v1="6157" v2="6686" v3="6713" />
+ <tetrahedron index="35654" v0="5060" v1="6286" v2="6733" v3="6790" />
+ <tetrahedron index="35655" v0="5503" v1="6157" v2="6168" v3="6713" />
+ <tetrahedron index="35656" v0="6116" v1="6157" v2="6168" v3="6713" />
+ <tetrahedron index="35657" v0="4930" v1="6116" v2="6168" v3="6713" />
+ <tetrahedron index="35658" v0="4930" v1="5503" v2="6168" v3="6713" />
+ <tetrahedron index="35659" v0="4978" v1="5503" v2="6165" v3="6713" />
+ <tetrahedron index="35660" v0="4978" v1="6165" v2="6686" v3="6713" />
+ <tetrahedron index="35661" v0="5065" v1="6280" v2="6311" v3="6924" />
+ <tetrahedron index="35662" v0="4955" v1="6046" v2="6156" v3="6753" />
+ <tetrahedron index="35663" v0="5458" v1="6121" v2="6126" v3="6950" />
+ <tetrahedron index="35664" v0="4944" v1="6492" v2="6494" v3="6884" />
+ <tetrahedron index="35665" v0="4874" v1="5494" v2="6157" v3="6715" />
+ <tetrahedron index="35666" v0="4874" v1="6157" v2="6714" v3="6715" />
+ <tetrahedron index="35667" v0="5494" v1="6157" v2="6714" v3="6715" />
+ <tetrahedron index="35668" v0="3262" v1="3892" v2="6158" v3="6741" />
+ <tetrahedron index="35669" v0="5378" v1="6029" v2="6202" v3="6741" />
+ <tetrahedron index="35670" v0="5495" v1="6159" v2="6714" v3="6716" />
+ <tetrahedron index="35671" v0="5495" v1="6158" v2="6714" v3="6716" />
+ <tetrahedron index="35672" v0="4874" v1="6116" v2="6157" v3="6716" />
+ <tetrahedron index="35673" v0="4874" v1="6159" v2="6714" v3="6716" />
+ <tetrahedron index="35674" v0="4874" v1="6157" v2="6714" v3="6716" />
+ <tetrahedron index="35675" v0="5455" v1="6116" v2="6157" v3="6716" />
+ <tetrahedron index="35676" v0="5455" v1="6116" v2="6158" v3="6716" />
+ <tetrahedron index="35677" v0="5455" v1="6158" v2="6714" v3="6716" />
+ <tetrahedron index="35678" v0="5455" v1="6157" v2="6714" v3="6716" />
+ <tetrahedron index="35679" v0="6165" v1="6686" v2="6713" v3="6717" />
+ <tetrahedron index="35680" v0="6016" v1="6686" v2="6713" v3="6717" />
+ <tetrahedron index="35681" v0="4852" v1="5617" v2="6597" v3="6790" />
+ <tetrahedron index="35682" v0="5192" v1="5489" v2="5812" v3="6968" />
+ <tetrahedron index="35683" v0="5349" v1="6287" v2="6734" v3="6790" />
+ <tetrahedron index="35684" v0="5060" v1="6286" v2="6679" v3="6790" />
+ <tetrahedron index="35685" v0="4864" v1="5841" v2="6724" v3="6878" />
+ <tetrahedron index="35686" v0="5550" v1="6292" v2="6596" v3="6931" />
+ <tetrahedron index="35687" v0="4864" v1="6220" v2="6849" v3="6878" />
+ <tetrahedron index="35688" v0="5316" v1="6456" v2="6903" v3="7013" />
+ <tetrahedron index="35689" v0="6166" v1="6713" v2="6719" v3="6962" />
+ <tetrahedron index="35690" v0="4917" v1="6182" v2="6734" v3="6790" />
+ <tetrahedron index="35691" v0="5507" v1="6720" v2="6721" v3="6962" />
+ <tetrahedron index="35692" v0="5841" v1="6421" v2="6849" v3="6878" />
+ <tetrahedron index="35693" v0="6167" v1="6594" v2="6721" v3="6880" />
+ <tetrahedron index="35694" v0="4930" v1="6713" v2="6719" v3="6962" />
+ <tetrahedron index="35695" v0="4671" v1="5843" v2="6491" v3="6998" />
+ <tetrahedron index="35696" v0="5782" v1="6722" v2="6784" v3="6963" />
+ <tetrahedron index="35697" v0="4986" v1="6220" v2="6645" v3="6878" />
+ <tetrahedron index="35698" v0="5004" v1="6167" v2="6594" v3="6880" />
+ <tetrahedron index="35699" v0="5157" v1="5762" v2="5763" v3="6894" />
+ <tetrahedron index="35700" v0="5065" v1="6194" v2="6280" v3="6785" />
+ <tetrahedron index="35701" v0="4864" v1="5841" v2="6488" v3="6878" />
+ <tetrahedron index="35702" v0="5221" v1="6488" v2="6675" v3="6720" />
+ <tetrahedron index="35703" v0="4930" v1="6116" v2="6713" v3="6962" />
+ <tetrahedron index="35704" v0="5005" v1="5510" v2="6185" v3="6735" />
+ <tetrahedron index="35705" v0="5510" v1="5812" v2="6185" v3="6735" />
+ <tetrahedron index="35706" v0="4525" v1="5595" v2="6007" v3="7008" />
+ <tetrahedron index="35707" v0="5016" v1="5596" v2="6918" v3="7008" />
+ <tetrahedron index="35708" v0="5349" v1="6170" v2="6407" v3="6963" />
+ <tetrahedron index="35709" v0="5015" v1="6594" v2="6716" v3="6721" />
+ <tetrahedron index="35710" v0="5015" v1="6116" v2="6716" v3="6721" />
+ <tetrahedron index="35711" v0="6116" v1="6687" v2="6716" v3="6721" />
+ <tetrahedron index="35712" v0="6594" v1="6687" v2="6716" v3="6721" />
+ <tetrahedron index="35713" v0="5782" v1="6841" v2="6842" v3="6963" />
+ <tetrahedron index="35714" v0="5782" v1="6409" v2="6841" v3="6963" />
+ <tetrahedron index="35715" v0="5782" v1="6409" v2="6843" v3="6963" />
+ <tetrahedron index="35716" v0="4862" v1="6233" v2="6727" v3="6965" />
+ <tetrahedron index="35717" v0="6463" v1="6621" v2="6852" v3="6996" />
+ <tetrahedron index="35718" v0="4396" v1="5415" v2="6194" v3="6785" />
+ <tetrahedron index="35719" v0="5168" v1="5997" v2="6170" v3="6722" />
+ <tetrahedron index="35720" v0="5168" v1="5997" v2="6287" v3="6722" />
+ <tetrahedron index="35721" v0="5349" v1="5997" v2="6170" v3="6722" />
+ <tetrahedron index="35722" v0="5349" v1="5997" v2="6287" v3="6722" />
+ <tetrahedron index="35723" v0="6412" v1="6842" v2="6963" v3="6964" />
+ <tetrahedron index="35724" v0="5782" v1="6726" v2="6841" v3="6964" />
+ <tetrahedron index="35725" v0="4961" v1="6442" v2="6863" v3="6964" />
+ <tetrahedron index="35726" v0="5153" v1="5756" v2="6421" v3="6849" />
+ <tetrahedron index="35727" v0="5507" v1="6171" v2="6594" v3="6880" />
+ <tetrahedron index="35728" v0="5507" v1="6720" v2="6721" v3="6880" />
+ <tetrahedron index="35729" v0="5004" v1="6004" v2="6602" v3="6724" />
+ <tetrahedron index="35730" v0="5904" v1="6537" v2="6793" v3="6893" />
+ <tetrahedron index="35731" v0="5617" v1="6597" v2="6907" v3="6967" />
+ <tetrahedron index="35732" v0="5300" v1="6426" v2="6729" v3="6850" />
+ <tetrahedron index="35733" v0="5025" v1="6220" v2="6906" v3="7005" />
+ <tetrahedron index="35734" v0="4961" v1="5518" v2="6187" v3="6725" />
+ <tetrahedron index="35735" v0="4961" v1="5416" v2="6173" v3="6726" />
+ <tetrahedron index="35736" v0="4961" v1="5416" v2="6442" v3="6726" />
+ <tetrahedron index="35737" v0="5959" v1="6429" v2="6465" v3="6851" />
+ <tetrahedron index="35738" v0="4339" v1="4340" v2="6125" v3="6728" />
+ <tetrahedron index="35739" v0="4339" v1="4341" v2="6174" v3="6728" />
+ <tetrahedron index="35740" v0="5416" v1="6173" v2="6307" v3="6726" />
+ <tetrahedron index="35741" v0="6462" v1="6586" v2="6871" v3="6989" />
+ <tetrahedron index="35742" v0="4339" v1="4340" v2="4341" v3="6728" />
+ <tetrahedron index="35743" v0="4340" v1="6125" v2="6172" v3="6728" />
+ <tetrahedron index="35744" v0="4963" v1="6313" v2="6693" v3="6787" />
+ <tetrahedron index="35745" v0="6166" v1="6718" v2="6961" v3="7021" />
+ <tetrahedron index="35746" v0="6582" v1="6906" v2="6907" v3="7005" />
+ <tetrahedron index="35747" v0="5951" v1="6301" v2="6944" v3="6966" />
+ <tetrahedron index="35748" v0="5951" v1="6266" v2="6898" v3="6966" />
+ <tetrahedron index="35749" v0="5189" v1="5808" v2="6459" v3="6952" />
+ <tetrahedron index="35750" v0="4883" v1="5874" v2="6120" v3="6952" />
+ <tetrahedron index="35751" v0="5014" v1="5808" v2="6834" v3="6952" />
+ <tetrahedron index="35752" v0="5808" v1="6696" v2="6697" v3="6952" />
+ <tetrahedron index="35753" v0="5014" v1="5874" v2="6120" v3="6952" />
+ <tetrahedron index="35754" v0="5189" v1="5874" v2="6459" v3="6952" />
+ <tetrahedron index="35755" v0="5014" v1="5808" v2="6459" v3="6952" />
+ <tetrahedron index="35756" v0="4852" v1="6292" v2="6596" v3="6913" />
+ <tetrahedron index="35757" v0="4928" v1="5762" v2="6428" v3="6851" />
+ <tetrahedron index="35758" v0="4926" v1="6564" v2="6898" v3="7004" />
+ <tetrahedron index="35759" v0="6597" v1="6879" v2="6906" v3="6967" />
+ <tetrahedron index="35760" v0="4926" v1="5311" v2="6564" v3="7004" />
+ <tetrahedron index="35761" v0="3829" v1="4058" v2="5451" v3="6730" />
+ <tetrahedron index="35762" v0="5512" v1="6177" v2="6522" v3="6731" />
+ <tetrahedron index="35763" v0="4926" v1="5311" v2="6891" v3="7004" />
+ <tetrahedron index="35764" v0="5711" v1="5910" v2="6330" v3="6818" />
+ <tetrahedron index="35765" v0="3574" v1="4831" v2="5196" v3="6818" />
+ <tetrahedron index="35766" v0="4831" v1="5196" v2="6330" v3="6818" />
+ <tetrahedron index="35767" v0="4886" v1="5512" v2="6176" v3="6731" />
+ <tetrahedron index="35768" v0="5512" v1="6176" v2="6177" v3="6731" />
+ <tetrahedron index="35769" v0="5272" v1="5910" v2="6522" v3="6818" />
+ <tetrahedron index="35770" v0="5080" v1="5907" v2="6333" v3="6731" />
+ <tetrahedron index="35771" v0="5006" v1="5513" v2="5910" v3="6731" />
+ <tetrahedron index="35772" v0="5006" v1="5513" v2="6177" v3="6731" />
+ <tetrahedron index="35773" v0="5513" v1="6177" v2="6730" v3="6731" />
+ <tetrahedron index="35774" v0="5271" v1="5513" v2="6730" v3="6731" />
+ <tetrahedron index="35775" v0="4961" v1="5518" v2="6187" v3="6732" />
+ <tetrahedron index="35776" v0="5990" v1="6181" v2="6583" v3="6733" />
+ <tetrahedron index="35777" v0="5060" v1="5990" v2="6583" v3="6733" />
+ <tetrahedron index="35778" v0="5060" v1="5613" v2="6286" v3="6733" />
+ <tetrahedron index="35779" v0="4997" v1="5613" v2="6286" v3="6733" />
+ <tetrahedron index="35780" v0="4492" v1="6181" v2="6583" v3="6733" />
+ <tetrahedron index="35781" v0="5060" v1="5613" v2="6583" v3="6733" />
+ <tetrahedron index="35782" v0="4492" v1="4997" v2="5613" v3="6733" />
+ <tetrahedron index="35783" v0="4492" v1="5613" v2="6583" v3="6733" />
+ <tetrahedron index="35784" v0="5192" v1="5509" v2="6735" v3="6968" />
+ <tetrahedron index="35785" v0="5489" v1="6183" v2="6184" v3="6968" />
+ <tetrahedron index="35786" v0="5461" v1="6126" v2="6694" v3="6791" />
+ <tetrahedron index="35787" v0="4883" v1="6537" v2="6538" v3="6793" />
+ <tetrahedron index="35788" v0="6429" v1="6852" v2="6869" v3="6996" />
+ <tetrahedron index="35789" v0="5748" v1="6000" v2="6001" v3="6840" />
+ <tetrahedron index="35790" v0="6042" v1="6467" v2="6869" v3="6996" />
+ <tetrahedron index="35791" v0="5748" v1="6000" v2="6593" v3="6840" />
+ <tetrahedron index="35792" v0="5537" v1="5538" v2="6621" v3="6736" />
+ <tetrahedron index="35793" v0="4562" v1="5537" v2="6621" v3="6736" />
+ <tetrahedron index="35794" v0="4430" v1="5433" v2="5435" v3="6736" />
+ <tetrahedron index="35795" v0="5433" v1="5435" v2="6591" v3="6736" />
+ <tetrahedron index="35796" v0="5013" v1="5525" v2="6198" v3="6739" />
+ <tetrahedron index="35797" v0="5111" v1="6197" v2="6452" v3="6739" />
+ <tetrahedron index="35798" v0="4880" v1="5548" v2="6198" v3="6739" />
+ <tetrahedron index="35799" v0="5390" v1="6043" v2="6190" v3="6737" />
+ <tetrahedron index="35800" v0="5390" v1="6190" v2="6471" v3="6737" />
+ <tetrahedron index="35801" v0="5390" v1="6471" v2="6623" v3="6737" />
+ <tetrahedron index="35802" v0="5390" v1="6043" v2="6623" v3="6737" />
+ <tetrahedron index="35803" v0="4506" v1="6192" v2="6273" v3="6738" />
+ <tetrahedron index="35804" v0="5520" v1="6192" v2="6273" v3="6738" />
+ <tetrahedron index="35805" v0="5520" v1="6191" v2="6273" v3="6738" />
+ <tetrahedron index="35806" v0="4506" v1="6191" v2="6273" v3="6738" />
+ <tetrahedron index="35807" v0="4444" v1="4467" v2="4506" v3="6738" />
+ <tetrahedron index="35808" v0="4467" v1="4506" v2="6191" v3="6738" />
+ <tetrahedron index="35809" v0="5013" v1="5668" v2="6198" v3="6739" />
+ <tetrahedron index="35810" v0="4955" v1="5528" v2="5554" v3="6740" />
+ <tetrahedron index="35811" v0="5528" v1="5554" v2="6202" v3="6740" />
+ <tetrahedron index="35812" v0="6158" v1="6202" v2="6716" v3="6740" />
+ <tetrahedron index="35813" v0="5495" v1="6158" v2="6716" v3="6740" />
+ <tetrahedron index="35814" v0="3597" v1="3599" v2="5083" v3="6742" />
+ <tetrahedron index="35815" v0="3787" v1="3788" v2="5531" v3="6742" />
+ <tetrahedron index="35816" v0="4327" v1="5589" v2="6262" v3="6928" />
+ <tetrahedron index="35817" v0="5589" v1="6053" v2="6703" v3="6928" />
+ <tetrahedron index="35818" v0="5342" v1="6053" v2="6639" v3="6928" />
+ <tetrahedron index="35819" v0="5589" v1="6053" v2="6262" v3="6928" />
+ <tetrahedron index="35820" v0="4302" v1="4327" v2="6262" v3="6928" />
+ <tetrahedron index="35821" v0="4267" v1="4302" v2="5342" v3="6928" />
+ <tetrahedron index="35822" v0="3262" v1="4832" v2="5495" v3="6741" />
+ <tetrahedron index="35823" v0="3262" v1="5495" v2="6158" v3="6741" />
+ <tetrahedron index="35824" v0="3655" v1="5159" v2="5531" v3="6742" />
+ <tetrahedron index="35825" v0="5159" v1="5531" v2="6204" v3="6742" />
+ <tetrahedron index="35826" v0="5159" v1="6204" v2="6374" v3="6742" />
+ <tetrahedron index="35827" v0="3655" v1="5159" v2="6374" v3="6742" />
+ <tetrahedron index="35828" v0="3832" v1="5659" v2="6374" v3="6742" />
+ <tetrahedron index="35829" v0="3787" v1="3832" v2="6374" v3="6742" />
+ <tetrahedron index="35830" v0="3599" v1="5083" v2="5532" v3="6742" />
+ <tetrahedron index="35831" v0="5019" v1="5536" v2="6463" v3="6744" />
+ <tetrahedron index="35832" v0="4953" v1="5019" v2="6463" v3="6744" />
+ <tetrahedron index="35833" v0="4424" v1="4425" v2="4652" v3="6744" />
+ <tetrahedron index="35834" v0="4424" v1="4652" v2="5390" v3="6744" />
+ <tetrahedron index="35835" v0="4425" v1="4652" v2="4700" v3="6744" />
+ <tetrahedron index="35836" v0="4652" v1="4700" v2="6190" v3="6744" />
+ <tetrahedron index="35837" v0="4424" v1="5388" v2="5390" v3="6744" />
+ <tetrahedron index="35838" v0="4424" v1="5388" v2="6207" v3="6744" />
+ <tetrahedron index="35839" v0="4953" v1="6040" v2="6623" v3="6745" />
+ <tetrahedron index="35840" v0="5388" v1="6040" v2="6745" v3="6970" />
+ <tetrahedron index="35841" v0="6466" v1="6745" v2="6749" v3="6970" />
+ <tetrahedron index="35842" v0="6040" v1="6211" v2="6745" v3="6970" />
+ <tetrahedron index="35843" v0="6589" v1="6611" v2="6911" v3="6971" />
+ <tetrahedron index="35844" v0="5993" v1="6589" v2="6750" v3="6971" />
+ <tetrahedron index="35845" v0="5572" v1="6589" v2="6634" v3="6750" />
+ <tetrahedron index="35846" v0="4949" v1="5528" v2="6594" v3="6755" />
+ <tetrahedron index="35847" v0="5538" v1="6429" v2="6852" v3="6912" />
+ <tetrahedron index="35848" v0="5558" v1="5812" v2="6234" v3="6746" />
+ <tetrahedron index="35849" v0="4446" v1="5540" v2="5813" v3="6746" />
+ <tetrahedron index="35850" v0="5540" v1="5813" v2="6209" v3="6746" />
+ <tetrahedron index="35851" v0="5027" v1="5558" v2="6559" v3="6747" />
+ <tetrahedron index="35852" v0="5027" v1="5556" v2="5945" v3="6747" />
+ <tetrahedron index="35853" v0="5556" v1="5945" v2="6212" v3="6747" />
+ <tetrahedron index="35854" v0="6209" v1="6230" v2="6746" v3="6747" />
+ <tetrahedron index="35855" v0="6209" v1="6210" v2="6746" v3="6747" />
+ <tetrahedron index="35856" v0="5558" v1="5948" v2="6559" v3="6747" />
+ <tetrahedron index="35857" v0="5307" v1="6212" v2="6244" v3="6747" />
+ <tetrahedron index="35858" v0="5307" v1="5948" v2="6244" v3="6747" />
+ <tetrahedron index="35859" v0="5945" v1="6212" v2="6559" v3="6747" />
+ <tetrahedron index="35860" v0="5027" v1="5945" v2="6559" v3="6747" />
+ <tetrahedron index="35861" v0="5307" v1="6212" v2="6559" v3="6747" />
+ <tetrahedron index="35862" v0="5307" v1="5948" v2="6559" v3="6747" />
+ <tetrahedron index="35863" v0="5127" v1="6213" v2="6467" v3="6749" />
+ <tetrahedron index="35864" v0="5127" v1="6467" v2="6620" v3="6749" />
+ <tetrahedron index="35865" v0="4860" v1="6221" v2="6223" v3="6971" />
+ <tetrahedron index="35866" v0="5572" v1="6750" v2="6754" v3="6971" />
+ <tetrahedron index="35867" v0="5993" v1="6590" v2="6911" v3="6971" />
+ <tetrahedron index="35868" v0="5152" v1="5993" v2="6750" v3="6971" />
+ <tetrahedron index="35869" v0="5482" v1="6148" v2="6260" v3="7020" />
+ <tetrahedron index="35870" v0="6955" v1="6976" v2="7018" v3="7020" />
+ <tetrahedron index="35871" v0="5616" v1="6976" v2="7018" v3="7020" />
+ <tetrahedron index="35872" v0="5152" v1="5553" v2="6226" v3="6770" />
+ <tetrahedron index="35873" v0="4120" v1="4716" v2="5553" v3="6770" />
+ <tetrahedron index="35874" v0="5127" v1="5724" v2="6391" v3="6973" />
+ <tetrahedron index="35875" v0="5036" v1="6224" v2="6632" v3="6750" />
+ <tetrahedron index="35876" v0="5556" v1="6557" v2="6895" v3="7030" />
+ <tetrahedron index="35877" v0="5318" v1="5961" v2="6391" v3="6973" />
+ <tetrahedron index="35878" v0="4869" v1="5702" v2="6436" v3="6771" />
+ <tetrahedron index="35879" v0="4171" v1="4716" v2="5553" v3="6751" />
+ <tetrahedron index="35880" v0="4116" v1="4117" v2="4171" v3="6751" />
+ <tetrahedron index="35881" v0="4117" v1="4171" v2="6225" v3="6751" />
+ <tetrahedron index="35882" v0="4116" v1="4171" v2="4716" v3="6751" />
+ <tetrahedron index="35883" v0="4116" v1="4716" v2="5573" v3="6751" />
+ <tetrahedron index="35884" v0="4846" v1="5740" v2="6820" v3="7022" />
+ <tetrahedron index="35885" v0="5615" v1="6487" v2="6897" v3="6981" />
+ <tetrahedron index="35886" v0="6121" v1="6688" v2="6934" v3="6950" />
+ <tetrahedron index="35887" v0="4525" v1="5050" v2="6269" v3="7008" />
+ <tetrahedron index="35888" v0="6016" v1="6713" v2="6717" v3="6959" />
+ <tetrahedron index="35889" v0="6166" v1="6713" v2="6717" v3="6959" />
+ <tetrahedron index="35890" v0="5221" v1="5840" v2="6596" v3="6961" />
+ <tetrahedron index="35891" v0="6173" v1="6727" v2="6951" v3="6965" />
+ <tetrahedron index="35892" v0="6612" v1="6671" v2="6942" v3="7026" />
+ <tetrahedron index="35893" v0="4949" v1="5995" v2="6594" v3="6755" />
+ <tetrahedron index="35894" v0="4949" v1="5995" v2="6592" v3="6755" />
+ <tetrahedron index="35895" v0="6290" v1="6694" v2="6791" v3="6980" />
+ <tetrahedron index="35896" v0="4860" v1="6632" v2="6753" v3="6754" />
+ <tetrahedron index="35897" v0="5753" v1="6250" v2="6769" v3="6972" />
+ <tetrahedron index="35898" v0="4861" v1="6852" v2="6902" v3="6912" />
+ <tetrahedron index="35899" v0="4860" v1="6632" v2="6750" v3="6754" />
+ <tetrahedron index="35900" v0="5572" v1="6632" v2="6750" v3="6754" />
+ <tetrahedron index="35901" v0="5572" v1="6247" v2="6632" v3="6754" />
+ <tetrahedron index="35902" v0="6247" v1="6632" v2="6753" v3="6754" />
+ <tetrahedron index="35903" v0="4339" v1="6174" v2="6175" v3="6756" />
+ <tetrahedron index="35904" v0="4339" v1="4419" v2="4429" v3="6756" />
+ <tetrahedron index="35905" v0="4339" v1="4419" v2="6175" v3="6756" />
+ <tetrahedron index="35906" v0="5010" v1="6231" v2="6312" v3="6756" />
+ <tetrahedron index="35907" v0="5010" v1="5522" v2="6312" v3="6756" />
+ <tetrahedron index="35908" v0="4392" v1="5010" v2="5521" v3="6756" />
+ <tetrahedron index="35909" v0="5010" v1="5521" v2="6231" v3="6756" />
+ <tetrahedron index="35910" v0="4392" v1="5521" v2="6231" v3="6756" />
+ <tetrahedron index="35911" v0="4862" v1="5764" v2="6308" v3="6757" />
+ <tetrahedron index="35912" v0="5157" v1="6308" v2="6554" v3="6757" />
+ <tetrahedron index="35913" v0="4862" v1="6308" v2="6554" v3="6757" />
+ <tetrahedron index="35914" v0="5566" v1="6238" v2="6240" v3="6758" />
+ <tetrahedron index="35915" v0="3646" v1="5252" v2="6240" v3="6758" />
+ <tetrahedron index="35916" v0="4907" v1="5251" v2="5564" v3="6758" />
+ <tetrahedron index="35917" v0="4907" v1="5564" v2="6240" v3="6758" />
+ <tetrahedron index="35918" v0="3646" v1="3878" v2="5566" v3="6758" />
+ <tetrahedron index="35919" v0="3646" v1="5566" v2="6240" v3="6758" />
+ <tetrahedron index="35920" v0="4891" v1="5830" v2="6329" v3="6759" />
+ <tetrahedron index="35921" v0="5081" v1="5561" v2="6330" v3="6817" />
+ <tetrahedron index="35922" v0="5135" v1="5685" v2="6356" v3="6759" />
+ <tetrahedron index="35923" v0="4891" v1="5031" v2="5685" v3="6759" />
+ <tetrahedron index="35924" v0="4891" v1="5685" v2="5830" v3="6759" />
+ <tetrahedron index="35925" v0="5135" v1="5685" v2="5830" v3="6759" />
+ <tetrahedron index="35926" v0="5031" v1="5565" v2="5685" v3="6759" />
+ <tetrahedron index="35927" v0="5565" v1="5685" v2="6356" v3="6759" />
+ <tetrahedron index="35928" v0="5031" v1="5565" v2="6356" v3="6759" />
+ <tetrahedron index="35929" v0="3488" v1="3684" v2="6617" v3="6938" />
+ <tetrahedron index="35930" v0="4867" v1="5762" v2="6428" v3="6761" />
+ <tetrahedron index="35931" v0="5476" v1="6140" v2="6703" v3="7012" />
+ <tetrahedron index="35932" v0="4986" v1="6140" v2="6703" v3="7012" />
+ <tetrahedron index="35933" v0="5582" v1="6659" v2="6660" v3="6938" />
+ <tetrahedron index="35934" v0="5572" v1="6246" v2="6611" v3="6974" />
+ <tetrahedron index="35935" v0="5391" v1="6577" v2="6764" v3="6974" />
+ <tetrahedron index="35936" v0="5127" v1="5724" v2="6213" v3="6761" />
+ <tetrahedron index="35937" v0="4847" v1="6764" v2="6806" v3="6974" />
+ <tetrahedron index="35938" v0="4847" v1="6246" v2="6764" v3="6974" />
+ <tetrahedron index="35939" v0="5391" v1="6764" v2="6806" v3="6974" />
+ <tetrahedron index="35940" v0="4385" v1="5558" v2="5948" v3="6762" />
+ <tetrahedron index="35941" v0="4385" v1="5948" v2="6244" v3="6762" />
+ <tetrahedron index="35942" v0="3608" v1="3609" v2="4527" v3="6763" />
+ <tetrahedron index="35943" v0="3608" v1="3609" v2="5571" v3="6763" />
+ <tetrahedron index="35944" v0="5570" v1="5571" v2="6245" v3="6763" />
+ <tetrahedron index="35945" v0="4950" v1="5381" v2="6034" v3="6763" />
+ <tetrahedron index="35946" v0="4950" v1="6034" v2="6245" v3="6763" />
+ <tetrahedron index="35947" v0="4527" v1="4534" v2="5303" v3="6763" />
+ <tetrahedron index="35948" v0="4534" v1="5303" v2="5570" v3="6763" />
+ <tetrahedron index="35949" v0="4527" v1="4534" v2="5570" v3="6763" />
+ <tetrahedron index="35950" v0="3609" v1="4527" v2="5570" v3="6763" />
+ <tetrahedron index="35951" v0="3609" v1="5570" v2="5571" v3="6763" />
+ <tetrahedron index="35952" v0="4884" v1="6855" v2="7023" v3="7030" />
+ <tetrahedron index="35953" v0="6626" v1="6923" v2="6925" v3="7011" />
+ <tetrahedron index="35954" v0="5336" v1="5356" v2="5978" v3="7024" />
+ <tetrahedron index="35955" v0="5393" v1="5984" v2="6578" v3="6904" />
+ <tetrahedron index="35956" v0="6726" v1="6841" v2="6856" v3="6975" />
+ <tetrahedron index="35957" v0="5630" v1="6766" v2="6806" v3="6975" />
+ <tetrahedron index="35958" v0="5809" v1="6844" v2="6969" v3="6989" />
+ <tetrahedron index="35959" v0="4882" v1="5574" v2="6634" v3="6769" />
+ <tetrahedron index="35960" v0="4882" v1="6456" v2="6458" v3="6767" />
+ <tetrahedron index="35961" v0="5810" v1="6463" v2="6852" v3="6996" />
+ <tetrahedron index="35962" v0="6765" v1="6766" v2="6975" v3="6988" />
+ <tetrahedron index="35963" v0="5353" v1="6002" v2="6601" v3="6917" />
+ <tetrahedron index="35964" v0="5037" v1="6456" v2="6545" v3="6767" />
+ <tetrahedron index="35965" v0="5574" v1="6047" v2="6634" v3="6767" />
+ <tetrahedron index="35966" v0="5057" v1="5900" v2="6603" v3="6917" />
+ <tetrahedron index="35967" v0="4858" v1="6188" v2="6412" v3="6842" />
+ <tetrahedron index="35968" v0="5616" v1="6292" v2="6443" v3="6976" />
+ <tetrahedron index="35969" v0="3777" v1="6284" v2="6490" v3="6809" />
+ <tetrahedron index="35970" v0="5353" v1="6002" v2="6004" v3="6917" />
+ <tetrahedron index="35971" v0="5190" v1="6430" v2="6557" v3="6805" />
+ <tetrahedron index="35972" v0="5764" v1="6308" v2="6805" v3="6806" />
+ <tetrahedron index="35973" v0="4924" v1="5303" v2="5306" v3="6896" />
+ <tetrahedron index="35974" v0="5188" v1="6249" v2="6458" v3="6769" />
+ <tetrahedron index="35975" v0="5574" v1="6249" v2="6250" v3="6769" />
+ <tetrahedron index="35976" v0="5037" v1="5575" v2="6767" v3="6904" />
+ <tetrahedron index="35977" v0="3779" v1="5987" v2="6578" v3="6904" />
+ <tetrahedron index="35978" v0="5574" v1="6248" v2="6767" v3="6768" />
+ <tetrahedron index="35979" v0="5574" v1="5806" v2="6767" v3="6768" />
+ <tetrahedron index="35980" v0="5037" v1="5575" v2="6545" v3="6768" />
+ <tetrahedron index="35981" v0="5037" v1="6545" v2="6767" v3="6768" />
+ <tetrahedron index="35982" v0="5037" v1="5575" v2="6767" v3="6768" />
+ <tetrahedron index="35983" v0="5753" v1="6249" v2="6415" v3="6769" />
+ <tetrahedron index="35984" v0="5753" v1="6415" v2="6666" v3="6769" />
+ <tetrahedron index="35985" v0="5188" v1="6092" v2="6415" v3="6769" />
+ <tetrahedron index="35986" v0="6092" v1="6415" v2="6666" v3="6769" />
+ <tetrahedron index="35987" v0="5725" v1="5961" v2="6428" v3="6973" />
+ <tetrahedron index="35988" v0="6243" v1="6761" v2="6937" v3="6973" />
+ <tetrahedron index="35989" v0="5318" v1="6242" v2="6391" v3="6973" />
+ <tetrahedron index="35990" v0="5318" v1="5961" v2="6428" v3="6973" />
+ <tetrahedron index="35991" v0="5318" v1="6242" v2="6243" v3="6973" />
+ <tetrahedron index="35992" v0="5127" v1="6467" v2="6761" v3="6973" />
+ <tetrahedron index="35993" v0="3706" v1="4120" v2="5152" v3="6770" />
+ <tetrahedron index="35994" v0="3706" v1="5152" v2="5753" v3="6770" />
+ <tetrahedron index="35995" v0="3706" v1="4120" v2="4454" v3="6770" />
+ <tetrahedron index="35996" v0="3706" v1="4454" v2="5753" v3="6770" />
+ <tetrahedron index="35997" v0="4869" v1="5707" v2="6436" v3="6771" />
+ <tetrahedron index="35998" v0="5707" v1="5709" v2="5968" v3="6771" />
+ <tetrahedron index="35999" v0="5039" v1="5707" v2="5968" v3="6771" />
+ <tetrahedron index="36000" v0="5428" v1="6254" v2="6663" v3="6772" />
+ <tetrahedron index="36001" v0="5788" v1="6254" v2="6663" v3="6772" />
+ <tetrahedron index="36002" v0="4968" v1="5788" v2="6662" v3="6772" />
+ <tetrahedron index="36003" v0="4968" v1="5428" v2="6662" v3="6772" />
+ <tetrahedron index="36004" v0="4968" v1="5788" v2="6663" v3="6772" />
+ <tetrahedron index="36005" v0="4968" v1="5428" v2="6663" v3="6772" />
+ <tetrahedron index="36006" v0="5904" v1="6460" v2="6867" v3="6977" />
+ <tetrahedron index="36007" v0="5488" v1="6095" v2="6708" v3="6956" />
+ <tetrahedron index="36008" v0="4366" v1="4541" v2="6218" v3="6956" />
+ <tetrahedron index="36009" v0="4541" v1="5440" v2="6218" v3="6956" />
+ <tetrahedron index="36010" v0="6166" v1="6959" v2="6997" v3="7021" />
+ <tetrahedron index="36011" v0="6166" v1="6718" v2="6997" v3="7021" />
+ <tetrahedron index="36012" v0="6718" v1="6961" v2="6981" v3="7021" />
+ <tetrahedron index="36013" v0="4861" v1="5991" v2="6622" v3="6908" />
+ <tetrahedron index="36014" v0="5170" v1="5950" v2="6641" v3="6913" />
+ <tetrahedron index="36015" v0="5346" v1="5994" v2="6667" v3="6908" />
+ <tetrahedron index="36016" v0="5477" v1="5904" v2="6867" v3="6977" />
+ <tetrahedron index="36017" v0="4903" v1="6121" v2="6695" v3="7000" />
+ <tetrahedron index="36018" v0="5346" v1="6569" v2="6902" v3="6908" />
+ <tetrahedron index="36019" v0="4861" v1="5994" v2="6908" v3="6912" />
+ <tetrahedron index="36020" v0="4861" v1="5538" v2="6852" v3="6912" />
+ <tetrahedron index="36021" v0="6587" v1="6590" v2="6611" v3="6909" />
+ <tetrahedron index="36022" v0="4861" v1="5994" v2="6591" v3="6912" />
+ <tetrahedron index="36023" v0="4848" v1="6056" v2="6649" v3="6775" />
+ <tetrahedron index="36024" v0="5397" v1="6052" v2="6056" v3="6775" />
+ <tetrahedron index="36025" v0="5397" v1="6052" v2="6263" v3="6775" />
+ <tetrahedron index="36026" v0="6263" v1="6649" v2="6774" v3="6775" />
+ <tetrahedron index="36027" v0="6056" v1="6649" v2="6774" v3="6775" />
+ <tetrahedron index="36028" v0="5397" v1="6263" v2="6774" v3="6775" />
+ <tetrahedron index="36029" v0="5397" v1="6056" v2="6774" v3="6775" />
+ <tetrahedron index="36030" v0="3334" v1="4627" v2="6268" v3="6776" />
+ <tetrahedron index="36031" v0="4627" v1="5164" v2="5597" v3="6776" />
+ <tetrahedron index="36032" v0="5050" v1="5164" v2="5597" v3="6776" />
+ <tetrahedron index="36033" v0="4605" v1="5050" v2="6268" v3="6776" />
+ <tetrahedron index="36034" v0="4605" v1="4627" v2="6268" v3="6776" />
+ <tetrahedron index="36035" v0="5050" v1="5596" v2="6604" v3="6776" />
+ <tetrahedron index="36036" v0="4872" v1="5050" v2="6604" v3="6776" />
+ <tetrahedron index="36037" v0="4872" v1="5978" v2="6604" v3="6776" />
+ <tetrahedron index="36038" v0="5596" v1="5978" v2="6604" v3="6776" />
+ <tetrahedron index="36039" v0="4605" v1="5050" v2="5597" v3="6776" />
+ <tetrahedron index="36040" v0="4605" v1="4627" v2="5597" v3="6776" />
+ <tetrahedron index="36041" v0="4495" v1="4624" v2="6269" v3="6777" />
+ <tetrahedron index="36042" v0="4872" v1="5050" v2="6269" v3="6777" />
+ <tetrahedron index="36043" v0="4872" v1="5050" v2="6604" v3="6777" />
+ <tetrahedron index="36044" v0="4872" v1="5490" v2="6006" v3="6777" />
+ <tetrahedron index="36045" v0="4872" v1="6006" v2="6604" v3="6777" />
+ <tetrahedron index="36046" v0="3708" v1="3881" v2="6093" v3="6778" />
+ <tetrahedron index="36047" v0="5363" v1="6155" v2="6278" v3="6979" />
+ <tetrahedron index="36048" v0="4895" v1="5844" v2="6278" v3="6779" />
+ <tetrahedron index="36049" v0="4895" v1="5602" v2="6278" v3="6779" />
+ <tetrahedron index="36050" v0="4987" v1="5602" v2="6277" v3="6779" />
+ <tetrahedron index="36051" v0="4987" v1="5478" v2="6277" v3="6779" />
+ <tetrahedron index="36052" v0="5602" v1="6275" v2="6277" v3="6779" />
+ <tetrahedron index="36053" v0="5478" v1="6275" v2="6277" v3="6779" />
+ <tetrahedron index="36054" v0="5603" v1="6281" v2="6712" v3="6782" />
+ <tetrahedron index="36055" v0="4955" v1="6159" v2="6740" v3="6958" />
+ <tetrahedron index="36056" v0="5520" v1="6472" v2="6737" v3="6921" />
+ <tetrahedron index="36057" v0="6289" v1="6791" v2="6792" v3="6980" />
+ <tetrahedron index="36058" v0="6403" v1="6425" v2="6819" v3="6984" />
+ <tetrahedron index="36059" v0="5053" v1="6275" v2="6782" v3="6935" />
+ <tetrahedron index="36060" v0="4850" v1="6278" v2="6654" v3="6935" />
+ <tetrahedron index="36061" v0="5603" v1="6278" v2="6782" v3="6935" />
+ <tetrahedron index="36062" v0="5363" v1="6613" v2="6883" v3="6979" />
+ <tetrahedron index="36063" v0="6278" v1="6712" v2="6783" v3="6979" />
+ <tetrahedron index="36064" v0="6279" v1="6752" v2="6949" v3="6979" />
+ <tetrahedron index="36065" v0="6155" v1="6715" v2="6883" v3="6979" />
+ <tetrahedron index="36066" v0="5511" v1="6312" v2="6693" v3="6951" />
+ <tetrahedron index="36067" v0="5630" v1="5632" v2="6311" v3="6951" />
+ <tetrahedron index="36068" v0="5602" v1="6275" v2="6782" v3="6935" />
+ <tetrahedron index="36069" v0="5603" v1="6278" v2="6654" v3="6935" />
+ <tetrahedron index="36070" v0="5991" v1="6270" v2="6585" v3="6921" />
+ <tetrahedron index="36071" v0="6155" v1="6278" v2="6712" v3="6979" />
+ <tetrahedron index="36072" v0="6276" v1="6950" v2="7009" v3="7017" />
+ <tetrahedron index="36073" v0="5363" v1="6276" v2="6780" v3="6882" />
+ <tetrahedron index="36074" v0="5603" v1="5605" v2="6283" v3="6782" />
+ <tetrahedron index="36075" v0="5053" v1="5605" v2="6283" v3="6782" />
+ <tetrahedron index="36076" v0="4882" v1="6246" v2="6589" v3="6939" />
+ <tetrahedron index="36077" v0="5318" v1="6242" v2="6656" v3="6936" />
+ <tetrahedron index="36078" v0="3489" v1="6032" v2="6242" v3="6936" />
+ <tetrahedron index="36079" v0="5318" v1="5422" v2="6242" v3="6936" />
+ <tetrahedron index="36080" v0="6032" v1="6617" v2="6656" v3="6936" />
+ <tetrahedron index="36081" v0="6155" v1="6492" v2="6715" v3="6883" />
+ <tetrahedron index="36082" v0="5607" v1="6285" v2="6655" v3="7000" />
+ <tetrahedron index="36083" v0="4883" v1="5458" v2="6688" v3="6950" />
+ <tetrahedron index="36084" v0="6290" v1="6442" v2="6862" v3="6863" />
+ <tetrahedron index="36085" v0="5461" v1="6290" v2="6791" v3="6863" />
+ <tetrahedron index="36086" v0="5749" v1="5816" v2="6462" v3="6844" />
+ <tetrahedron index="36087" v0="4884" v1="5811" v2="6469" v3="6844" />
+ <tetrahedron index="36088" v0="5157" v1="6308" v2="6757" v3="6805" />
+ <tetrahedron index="36089" v0="5157" v1="6557" v2="6757" v3="6805" />
+ <tetrahedron index="36090" v0="6211" v1="6745" v2="6749" v3="6970" />
+ <tetrahedron index="36091" v0="5194" v1="6470" v2="6868" v3="6872" />
+ <tetrahedron index="36092" v0="5340" v1="6309" v2="6807" v3="6810" />
+ <tetrahedron index="36093" v0="4053" v1="6049" v2="6635" v3="6810" />
+ <tetrahedron index="36094" v0="6044" v1="6309" v2="6808" v3="6810" />
+ <tetrahedron index="36095" v0="5065" v1="5631" v2="6194" v3="6785" />
+ <tetrahedron index="36096" v0="5065" v1="5631" v2="6309" v3="6785" />
+ <tetrahedron index="36097" v0="3993" v1="4053" v2="6049" v3="6810" />
+ <tetrahedron index="36098" v0="4053" v1="5340" v2="6635" v3="6810" />
+ <tetrahedron index="36099" v0="3776" v1="3993" v2="5781" v3="6810" />
+ <tetrahedron index="36100" v0="5764" v1="6430" v2="6765" v3="6805" />
+ <tetrahedron index="36101" v0="6044" v1="6626" v2="6629" v3="6925" />
+ <tetrahedron index="36102" v0="4873" v1="6627" v2="6766" v3="6786" />
+ <tetrahedron index="36103" v0="5630" v1="6627" v2="6766" v3="6786" />
+ <tetrahedron index="36104" v0="4963" v1="5630" v2="6280" v3="6786" />
+ <tetrahedron index="36105" v0="4963" v1="5630" v2="6307" v3="6786" />
+ <tetrahedron index="36106" v0="5605" v1="6284" v2="6490" v3="6809" />
+ <tetrahedron index="36107" v0="5605" v1="6280" v2="6628" v3="6786" />
+ <tetrahedron index="36108" v0="3459" v1="3460" v2="4326" v3="6788" />
+ <tetrahedron index="36109" v0="3459" v1="3460" v2="6285" v3="6788" />
+ <tetrahedron index="36110" v0="4753" v1="6142" v2="6277" v3="6788" />
+ <tetrahedron index="36111" v0="3459" v1="4326" v2="4749" v3="6788" />
+ <tetrahedron index="36112" v0="3459" v1="4749" v2="5607" v3="6788" />
+ <tetrahedron index="36113" v0="4749" v1="5607" v2="6142" v3="6788" />
+ <tetrahedron index="36114" v0="5607" v1="6142" v2="6277" v3="6788" />
+ <tetrahedron index="36115" v0="4326" v1="4749" v2="4753" v3="6788" />
+ <tetrahedron index="36116" v0="4749" v1="4753" v2="6142" v3="6788" />
+ <tetrahedron index="36117" v0="5511" v1="6312" v2="6951" v3="6965" />
+ <tetrahedron index="36118" v0="5602" v1="6278" v2="6780" v3="6978" />
+ <tetrahedron index="36119" v0="5507" v1="6488" v2="6723" v3="6877" />
+ <tetrahedron index="36120" v0="4883" v1="6276" v2="6538" v3="6793" />
+ <tetrahedron index="36121" v0="5446" v1="6289" v2="6487" v3="6876" />
+ <tetrahedron index="36122" v0="5590" v1="6263" v2="6564" v3="6898" />
+ <tetrahedron index="36123" v0="6331" v1="6424" v2="6820" v3="7022" />
+ <tetrahedron index="36124" v0="5446" v1="6105" v2="6487" v3="6876" />
+ <tetrahedron index="36125" v0="4852" v1="6596" v2="6597" v3="6789" />
+ <tetrahedron index="36126" v0="5997" v1="6596" v2="6597" v3="6789" />
+ <tetrahedron index="36127" v0="4854" v1="5763" v2="6551" v3="6894" />
+ <tetrahedron index="36128" v0="4883" v1="6291" v2="6537" v3="6793" />
+ <tetrahedron index="36129" v0="5060" v1="6293" v2="6679" v3="6790" />
+ <tetrahedron index="36130" v0="5840" v1="6644" v2="6961" v3="6981" />
+ <tetrahedron index="36131" v0="5615" v1="6794" v2="6897" v3="6981" />
+ <tetrahedron index="36132" v0="4845" v1="5840" v2="5950" v3="6981" />
+ <tetrahedron index="36133" v0="4862" v1="5632" v2="6311" v3="6951" />
+ <tetrahedron index="36134" v0="5189" v1="6538" v2="6697" v3="6952" />
+ <tetrahedron index="36135" v0="4885" v1="5599" v2="5991" v3="6921" />
+ <tetrahedron index="36136" v0="4845" v1="5840" v2="6644" v3="6981" />
+ <tetrahedron index="36137" v0="4845" v1="6487" v2="6897" v3="6981" />
+ <tetrahedron index="36138" v0="5270" v1="5905" v2="6534" v3="6982" />
+ <tetrahedron index="36139" v0="6166" v1="6718" v2="6877" v3="6961" />
+ <tetrahedron index="36140" v0="5615" v1="6718" v2="6789" v3="6792" />
+ <tetrahedron index="36141" v0="5168" v1="6718" v2="6789" v3="6792" />
+ <tetrahedron index="36142" v0="5157" v1="5959" v2="6805" v3="6894" />
+ <tetrahedron index="36143" v0="5157" v1="6764" v2="6805" v3="6894" />
+ <tetrahedron index="36144" v0="5844" v1="6278" v2="6780" v3="6978" />
+ <tetrahedron index="36145" v0="6276" v1="6781" v2="6977" v3="6978" />
+ <tetrahedron index="36146" v0="4987" v1="5602" v2="6781" v3="6978" />
+ <tetrahedron index="36147" v0="4903" v1="6121" v2="6201" v3="7000" />
+ <tetrahedron index="36148" v0="5844" v1="6495" v2="6882" v3="6978" />
+ <tetrahedron index="36149" v0="5951" v1="6266" v2="6649" v3="6898" />
+ <tetrahedron index="36150" v0="4926" v1="6263" v2="6564" v3="6898" />
+ <tetrahedron index="36151" v0="5300" v1="6331" v2="6424" v3="7022" />
+ <tetrahedron index="36152" v0="5168" v1="6290" v2="6862" v3="6960" />
+ <tetrahedron index="36153" v0="5615" v1="6290" v2="6792" v3="6960" />
+ <tetrahedron index="36154" v0="5615" v1="6718" v2="6792" v3="6960" />
+ <tetrahedron index="36155" v0="5168" v1="6290" v2="6792" v3="6960" />
+ <tetrahedron index="36156" v0="4984" v1="5905" v2="6297" v3="6982" />
+ <tetrahedron index="36157" v0="4913" v1="5902" v2="6534" v3="6982" />
+ <tetrahedron index="36158" v0="6166" v1="6713" v2="6959" v3="6962" />
+ <tetrahedron index="36159" v0="5309" v1="6649" v2="6774" v3="6898" />
+ <tetrahedron index="36160" v0="5590" v1="6266" v2="6564" v3="6898" />
+ <tetrahedron index="36161" v0="6585" v1="6622" v2="6737" v3="6921" />
+ <tetrahedron index="36162" v0="5572" v1="6903" v2="6974" v3="7011" />
+ <tetrahedron index="36163" v0="4922" v1="6403" v2="6425" v3="6984" />
+ <tetrahedron index="36164" v0="6047" v1="6577" v2="6903" v3="7011" />
+ <tetrahedron index="36165" v0="6115" v1="6685" v2="6686" v3="6795" />
+ <tetrahedron index="36166" v0="4978" v1="6115" v2="6686" v3="6795" />
+ <tetrahedron index="36167" v0="5503" v1="5623" v2="6236" v3="6795" />
+ <tetrahedron index="36168" v0="5621" v1="6297" v2="6795" v3="6796" />
+ <tetrahedron index="36169" v0="5624" v1="5902" v2="6534" v3="6797" />
+ <tetrahedron index="36170" v0="5624" v1="5902" v2="6299" v3="6797" />
+ <tetrahedron index="36171" v0="5268" v1="5902" v2="6299" v3="6797" />
+ <tetrahedron index="36172" v0="5625" v1="5903" v2="6536" v3="6799" />
+ <tetrahedron index="36173" v0="5762" v1="6429" v2="6465" v3="6851" />
+ <tetrahedron index="36174" v0="5309" v1="6098" v2="6640" v3="6944" />
+ <tetrahedron index="36175" v0="5268" v1="6299" v2="6673" v3="6797" />
+ <tetrahedron index="36176" v0="4866" v1="5625" v2="6072" v3="6799" />
+ <tetrahedron index="36177" v0="5625" v1="5903" v2="6797" v3="6799" />
+ <tetrahedron index="36178" v0="4976" v1="6176" v2="6301" v3="6798" />
+ <tetrahedron index="36179" v0="5512" v1="6176" v2="6301" v3="6798" />
+ <tetrahedron index="36180" v0="6075" v1="6513" v2="6787" v3="7027" />
+ <tetrahedron index="36181" v0="6072" v1="6535" v2="6536" v3="6799" />
+ <tetrahedron index="36182" v0="5625" v1="6072" v2="6536" v3="6799" />
+ <tetrahedron index="36183" v0="4976" v1="5625" v2="6300" v3="6799" />
+ <tetrahedron index="36184" v0="4976" v1="6300" v2="6301" v3="6799" />
+ <tetrahedron index="36185" v0="5810" v1="6465" v2="6466" v3="6895" />
+ <tetrahedron index="36186" v0="4874" v1="6159" v2="6716" v3="7015" />
+ <tetrahedron index="36187" v0="5903" v1="6535" v2="6560" v3="6799" />
+ <tetrahedron index="36188" v0="4928" v1="5762" v2="6080" v3="6851" />
+ <tetrahedron index="36189" v0="4913" v1="5625" v2="6536" v3="6800" />
+ <tetrahedron index="36190" v0="6156" v1="6279" v2="6712" v3="6804" />
+ <tetrahedron index="36191" v0="5114" v1="5242" v2="6511" v3="6801" />
+ <tetrahedron index="36192" v0="3533" v1="5242" v2="6305" v3="6801" />
+ <tetrahedron index="36193" v0="5149" v1="5751" v2="6408" v3="6871" />
+ <tetrahedron index="36194" v0="3398" v1="3399" v2="3401" v3="6801" />
+ <tetrahedron index="36195" v0="3398" v1="3399" v2="5628" v3="6801" />
+ <tetrahedron index="36196" v0="3398" v1="3532" v2="5064" v3="6801" />
+ <tetrahedron index="36197" v0="3532" v1="5064" v2="6305" v3="6801" />
+ <tetrahedron index="36198" v0="3531" v1="3532" v2="3533" v3="6801" />
+ <tetrahedron index="36199" v0="3532" v1="3533" v2="6305" v3="6801" />
+ <tetrahedron index="36200" v0="6307" v1="6766" v2="6786" v3="6804" />
+ <tetrahedron index="36201" v0="5603" v1="6712" v2="6786" v3="6804" />
+ <tetrahedron index="36202" v0="6307" v1="6442" v2="6654" v3="6804" />
+ <tetrahedron index="36203" v0="5167" v1="6156" v2="6766" v3="6804" />
+ <tetrahedron index="36204" v0="6279" v1="6712" v2="6783" v3="6804" />
+ <tetrahedron index="36205" v0="4873" v1="6156" v2="6766" v3="6804" />
+ <tetrahedron index="36206" v0="5748" v1="6408" v2="6409" v3="6842" />
+ <tetrahedron index="36207" v0="5809" v1="6462" v2="6586" v3="6989" />
+ <tetrahedron index="36208" v0="4915" v1="5627" v2="5872" v3="6802" />
+ <tetrahedron index="36209" v0="5114" v1="6511" v2="6801" v3="6803" />
+ <tetrahedron index="36210" v0="5628" v1="6305" v2="6306" v3="6803" />
+ <tetrahedron index="36211" v0="5628" v1="6305" v2="6801" v3="6803" />
+ <tetrahedron index="36212" v0="4902" v1="5242" v2="6305" v3="6803" />
+ <tetrahedron index="36213" v0="4902" v1="5242" v2="6511" v3="6803" />
+ <tetrahedron index="36214" v0="5242" v1="6511" v2="6801" v3="6803" />
+ <tetrahedron index="36215" v0="5242" v1="6305" v2="6801" v3="6803" />
+ <tetrahedron index="36216" v0="4873" v1="6766" v2="6786" v3="6804" />
+ <tetrahedron index="36217" v0="5809" v1="6462" v2="6844" v3="6989" />
+ <tetrahedron index="36218" v0="4638" v1="5356" v2="6005" v3="7024" />
+ <tetrahedron index="36219" v0="4820" v1="4821" v2="5989" v3="6990" />
+ <tetrahedron index="36220" v0="5749" v1="5816" v2="6410" v3="6844" />
+ <tetrahedron index="36221" v0="4873" v1="6156" v2="6712" v3="6804" />
+ <tetrahedron index="36222" v0="4873" v1="6712" v2="6786" v3="6804" />
+ <tetrahedron index="36223" v0="6442" v1="6654" v2="6783" v3="6804" />
+ <tetrahedron index="36224" v0="6279" v1="6442" v2="6783" v3="6804" />
+ <tetrahedron index="36225" v0="5391" v1="6308" v2="6764" v3="6806" />
+ <tetrahedron index="36226" v0="6308" v1="6764" v2="6805" v3="6806" />
+ <tetrahedron index="36227" v0="6727" v1="6765" v2="6856" v3="6975" />
+ <tetrahedron index="36228" v0="4847" v1="6764" v2="6805" v3="6806" />
+ <tetrahedron index="36229" v0="5144" v1="5740" v2="6819" v3="6984" />
+ <tetrahedron index="36230" v0="5300" v1="5761" v2="6331" v3="6984" />
+ <tetrahedron index="36231" v0="5740" v1="6403" v2="6819" v3="6984" />
+ <tetrahedron index="36232" v0="6044" v1="6626" v2="6627" v3="6925" />
+ <tetrahedron index="36233" v0="5391" v1="6629" v2="6922" v3="6925" />
+ <tetrahedron index="36234" v0="6046" v1="6051" v2="6631" v3="6926" />
+ <tetrahedron index="36235" v0="5166" v1="6044" v2="6628" v3="6810" />
+ <tetrahedron index="36236" v0="5166" v1="5781" v2="6049" v3="6810" />
+ <tetrahedron index="36237" v0="3993" v1="5781" v2="6049" v3="6810" />
+ <tetrahedron index="36238" v0="6280" v1="6284" v2="6785" v3="6809" />
+ <tetrahedron index="36239" v0="3871" v1="3895" v2="4184" v3="6811" />
+ <tetrahedron index="36240" v0="3871" v1="5068" v2="5639" v3="6811" />
+ <tetrahedron index="36241" v0="5605" v1="5781" v2="6628" v3="6809" />
+ <tetrahedron index="36242" v0="5605" v1="6628" v2="6808" v3="6809" />
+ <tetrahedron index="36243" v0="6280" v1="6785" v2="6808" v3="6809" />
+ <tetrahedron index="36244" v0="5605" v1="6280" v2="6808" v3="6809" />
+ <tetrahedron index="36245" v0="3776" v1="3993" v2="4053" v3="6810" />
+ <tetrahedron index="36246" v0="3776" v1="4053" v2="6309" v3="6810" />
+ <tetrahedron index="36247" v0="3776" v1="6309" v2="6809" v3="6810" />
+ <tetrahedron index="36248" v0="3776" v1="5781" v2="6809" v3="6810" />
+ <tetrahedron index="36249" v0="6628" v1="6808" v2="6809" v3="6810" />
+ <tetrahedron index="36250" v0="6309" v1="6808" v2="6809" v3="6810" />
+ <tetrahedron index="36251" v0="4336" v1="4681" v2="4935" v3="6811" />
+ <tetrahedron index="36252" v0="4336" v1="4935" v2="5639" v3="6811" />
+ <tetrahedron index="36253" v0="4545" v1="5743" v2="6319" v3="6812" />
+ <tetrahedron index="36254" v0="3871" v1="4184" v2="4547" v3="6812" />
+ <tetrahedron index="36255" v0="3871" v1="4184" v2="5068" v3="6812" />
+ <tetrahedron index="36256" v0="3871" v1="4547" v2="5068" v3="6812" />
+ <tetrahedron index="36257" v0="4184" v1="4546" v2="6318" v3="6812" />
+ <tetrahedron index="36258" v0="4546" v1="6318" v2="6319" v3="6812" />
+ <tetrahedron index="36259" v0="4545" v1="4546" v2="4547" v3="6812" />
+ <tetrahedron index="36260" v0="4545" v1="4546" v2="6319" v3="6812" />
+ <tetrahedron index="36261" v0="4545" v1="4547" v2="4809" v3="6812" />
+ <tetrahedron index="36262" v0="4545" v1="4809" v2="5743" v3="6812" />
+ <tetrahedron index="36263" v0="4908" v1="5887" v2="6360" v3="6813" />
+ <tetrahedron index="36264" v0="5032" v1="5688" v2="5887" v3="6813" />
+ <tetrahedron index="36265" v0="5688" v1="5887" v2="6360" v3="6813" />
+ <tetrahedron index="36266" v0="3344" v1="3345" v2="3797" v3="6814" />
+ <tetrahedron index="36267" v0="3344" v1="3345" v2="5776" v3="6814" />
+ <tetrahedron index="36268" v0="3346" v1="5113" v2="5453" v3="6814" />
+ <tetrahedron index="36269" v0="3344" v1="3346" v2="5453" v3="6814" />
+ <tetrahedron index="36270" v0="3345" v1="3797" v2="4772" v3="6814" />
+ <tetrahedron index="36271" v0="3345" v1="4772" v2="5255" v3="6814" />
+ <tetrahedron index="36272" v0="3797" v1="4772" v2="5255" v3="6814" />
+ <tetrahedron index="36273" v0="4999" v1="5499" v2="5668" v3="6815" />
+ <tetrahedron index="36274" v0="5499" v1="5668" v2="6439" v3="6815" />
+ <tetrahedron index="36275" v0="6290" v1="6613" v2="6783" v3="6862" />
+ <tetrahedron index="36276" v0="5604" v1="6142" v2="6881" v3="6998" />
+ <tetrahedron index="36277" v0="5221" v1="6644" v2="6675" v3="6961" />
+ <tetrahedron index="36278" v0="5080" v1="5910" v2="6731" v3="6817" />
+ <tetrahedron index="36279" v0="6333" v1="6541" v2="6731" v3="6817" />
+ <tetrahedron index="36280" v0="4886" v1="6541" v2="6731" v3="6817" />
+ <tetrahedron index="36281" v0="4886" v1="5561" v2="6563" v3="6817" />
+ <tetrahedron index="36282" v0="6521" v1="6890" v2="6891" v3="7004" />
+ <tetrahedron index="36283" v0="4866" v1="5465" v2="6072" v3="6892" />
+ <tetrahedron index="36284" v0="4866" v1="6535" v2="6850" v3="6892" />
+ <tetrahedron index="36285" v0="4926" v1="6640" v2="6898" v3="7004" />
+ <tetrahedron index="36286" v0="6890" v1="6944" v2="6966" v3="7004" />
+ <tetrahedron index="36287" v0="4926" v1="6521" v2="7002" v3="7004" />
+ <tetrahedron index="36288" v0="6640" v1="6898" v2="6944" v3="7004" />
+ <tetrahedron index="36289" v0="4462" v1="5272" v2="5909" v3="6818" />
+ <tetrahedron index="36290" v0="4914" v1="5711" v2="5909" v3="6818" />
+ <tetrahedron index="36291" v0="4914" v1="5272" v2="5909" v3="6818" />
+ <tetrahedron index="36292" v0="3964" v1="4488" v2="6427" v3="6819" />
+ <tetrahedron index="36293" v0="3964" v1="3965" v2="4488" v3="6819" />
+ <tetrahedron index="36294" v0="4000" v1="5144" v2="5656" v3="6819" />
+ <tetrahedron index="36295" v0="4000" v1="4488" v2="5656" v3="6819" />
+ <tetrahedron index="36296" v0="3965" v1="4000" v2="4488" v3="6819" />
+ <tetrahedron index="36297" v0="3965" v1="4000" v2="5144" v3="6819" />
+ <tetrahedron index="36298" v0="5193" v1="6586" v2="6909" v3="7023" />
+ <tetrahedron index="36299" v0="4356" v1="5120" v2="6827" v3="6985" />
+ <tetrahedron index="36300" v0="4942" v1="5683" v2="6827" v3="6985" />
+ <tetrahedron index="36301" v0="5080" v1="5655" v2="5910" v3="6821" />
+ <tetrahedron index="36302" v0="5655" v1="5910" v2="6817" v3="6821" />
+ <tetrahedron index="36303" v0="5080" v1="5910" v2="6817" v3="6821" />
+ <tetrahedron index="36304" v0="4909" v1="6337" v2="6528" v3="6822" />
+ <tetrahedron index="36305" v0="4909" v1="5256" v2="6528" v3="6822" />
+ <tetrahedron index="36306" v0="4909" v1="5117" v2="5664" v3="6822" />
+ <tetrahedron index="36307" v0="5117" v1="5664" v2="6337" v3="6822" />
+ <tetrahedron index="36308" v0="4909" v1="5117" v2="6337" v3="6822" />
+ <tetrahedron index="36309" v0="3430" v1="3949" v2="4456" v3="6822" />
+ <tetrahedron index="36310" v0="3949" v1="4456" v2="5256" v3="6822" />
+ <tetrahedron index="36311" v0="3949" v1="5256" v2="6528" v3="6822" />
+ <tetrahedron index="36312" v0="3430" v1="3949" v2="6528" v3="6822" />
+ <tetrahedron index="36313" v0="3960" v1="4035" v2="4121" v3="6823" />
+ <tetrahedron index="36314" v0="3960" v1="4121" v2="5666" v3="6823" />
+ <tetrahedron index="36315" v0="4035" v1="4121" v2="5666" v3="6823" />
+ <tetrahedron index="36316" v0="4921" v1="5295" v2="5670" v3="6824" />
+ <tetrahedron index="36317" v0="4921" v1="5670" v2="6342" v3="6824" />
+ <tetrahedron index="36318" v0="3360" v1="5138" v2="5934" v3="6824" />
+ <tetrahedron index="36319" v0="5138" v1="5934" v2="6342" v3="6824" />
+ <tetrahedron index="36320" v0="3360" v1="5138" v2="6342" v3="6824" />
+ <tetrahedron index="36321" v0="4921" v1="5934" v2="5935" v3="6824" />
+ <tetrahedron index="36322" v0="5934" v1="5935" v2="6342" v3="6824" />
+ <tetrahedron index="36323" v0="4921" v1="5935" v2="6342" v3="6824" />
+ <tetrahedron index="36324" v0="3479" v1="5312" v2="6343" v3="6825" />
+ <tetrahedron index="36325" v0="3479" v1="3480" v2="3481" v3="6825" />
+ <tetrahedron index="36326" v0="3479" v1="3480" v2="6343" v3="6825" />
+ <tetrahedron index="36327" v0="3481" v1="3873" v2="3900" v3="6825" />
+ <tetrahedron index="36328" v0="3873" v1="3900" v2="5672" v3="6825" />
+ <tetrahedron index="36329" v0="3480" v1="3481" v2="3873" v3="6825" />
+ <tetrahedron index="36330" v0="3480" v1="3873" v2="6343" v3="6825" />
+ <tetrahedron index="36331" v0="3900" v1="5203" v2="5206" v3="6825" />
+ <tetrahedron index="36332" v0="3900" v1="5203" v2="6475" v3="6825" />
+ <tetrahedron index="36333" v0="5089" v1="5671" v2="5936" v3="6826" />
+ <tetrahedron index="36334" v0="4921" v1="5089" v2="5936" v3="6826" />
+ <tetrahedron index="36335" v0="5212" v1="5684" v2="6830" v3="6986" />
+ <tetrahedron index="36336" v0="4129" v1="4245" v2="4356" v3="6827" />
+ <tetrahedron index="36337" v0="4129" v1="4356" v2="5120" v3="6827" />
+ <tetrahedron index="36338" v0="4129" v1="4245" v2="5120" v3="6827" />
+ <tetrahedron index="36339" v0="5679" v1="6368" v2="6830" v3="6986" />
+ <tetrahedron index="36340" v0="4298" v1="4300" v2="5212" v3="6986" />
+ <tetrahedron index="36341" v0="3833" v1="4300" v2="5213" v3="6986" />
+ <tetrahedron index="36342" v0="4064" v1="4183" v2="4212" v3="6827" />
+ <tetrahedron index="36343" v0="4064" v1="4212" v2="5683" v3="6827" />
+ <tetrahedron index="36344" v0="3928" v1="4298" v2="4300" v3="6986" />
+ <tetrahedron index="36345" v0="5213" v1="5679" v2="6830" v3="6986" />
+ <tetrahedron index="36346" v0="4899" v1="5101" v2="5689" v3="6828" />
+ <tetrahedron index="36347" v0="4379" v1="4497" v2="5101" v3="6828" />
+ <tetrahedron index="36348" v0="4497" v1="5101" v2="5689" v3="6828" />
+ <tetrahedron index="36349" v0="5086" v1="5690" v2="6476" v3="6829" />
+ <tetrahedron index="36350" v0="4889" v1="5690" v2="6476" v3="6829" />
+ <tetrahedron index="36351" v0="4891" v1="5100" v2="5697" v3="6830" />
+ <tetrahedron index="36352" v0="5193" v1="6014" v2="6765" v3="6987" />
+ <tetrahedron index="36353" v0="6014" v1="6409" v2="6841" v3="6987" />
+ <tetrahedron index="36354" v0="5361" v1="6409" v2="6593" v3="6987" />
+ <tetrahedron index="36355" v0="5361" v1="6014" v2="6587" v3="6987" />
+ <tetrahedron index="36356" v0="6409" v1="6593" v2="6840" v3="6987" />
+ <tetrahedron index="36357" v0="5748" v1="6408" v2="6840" v3="6987" />
+ <tetrahedron index="36358" v0="5748" v1="6409" v2="6840" v3="6987" />
+ <tetrahedron index="36359" v0="5213" v1="5601" v2="5679" v3="6830" />
+ <tetrahedron index="36360" v0="5601" v1="5679" v2="6369" v3="6830" />
+ <tetrahedron index="36361" v0="5213" v1="5601" v2="6369" v3="6830" />
+ <tetrahedron index="36362" v0="5193" v1="6408" v2="6842" v3="6987" />
+ <tetrahedron index="36363" v0="6409" v1="6841" v2="6842" v3="6987" />
+ <tetrahedron index="36364" v0="4919" v1="5679" v2="6368" v3="6830" />
+ <tetrahedron index="36365" v0="4919" v1="5679" v2="6369" v3="6830" />
+ <tetrahedron index="36366" v0="4919" v1="5697" v2="6368" v3="6830" />
+ <tetrahedron index="36367" v0="4919" v1="5697" v2="6369" v3="6830" />
+ <tetrahedron index="36368" v0="5193" v1="6765" v2="6841" v3="6987" />
+ <tetrahedron index="36369" v0="6014" v1="6765" v2="6841" v3="6987" />
+ <tetrahedron index="36370" v0="6408" v1="6586" v2="6840" v3="6987" />
+ <tetrahedron index="36371" v0="4868" v1="5660" v2="6373" v3="6832" />
+ <tetrahedron index="36372" v0="5713" v1="6384" v2="6449" v3="6833" />
+ <tetrahedron index="36373" v0="4945" v1="5713" v2="6449" v3="6833" />
+ <tetrahedron index="36374" v0="4945" v1="5713" v2="5718" v3="6833" />
+ <tetrahedron index="36375" v0="4945" v1="5718" v2="6017" v3="6833" />
+ <tetrahedron index="36376" v0="5713" v1="5718" v2="6017" v3="6833" />
+ <tetrahedron index="36377" v0="5122" v1="5198" v2="5713" v3="6833" />
+ <tetrahedron index="36378" v0="5198" v1="5713" v2="6017" v3="6833" />
+ <tetrahedron index="36379" v0="5122" v1="5198" v2="6017" v3="6833" />
+ <tetrahedron index="36380" v0="4964" v1="6118" v2="6120" v3="6834" />
+ <tetrahedron index="36381" v0="4964" v1="6120" v2="6129" v3="6834" />
+ <tetrahedron index="36382" v0="4964" v1="6118" v2="6129" v3="6834" />
+ <tetrahedron index="36383" v0="4195" v1="6118" v2="6129" v3="6834" />
+ <tetrahedron index="36384" v0="4195" v1="5463" v2="6129" v3="6834" />
+ <tetrahedron index="36385" v0="3733" v1="4195" v2="5463" v3="6834" />
+ <tetrahedron index="36386" v0="3733" v1="4195" v2="6118" v3="6834" />
+ <tetrahedron index="36387" v0="3540" v1="3733" v2="6118" v3="6834" />
+ <tetrahedron index="36388" v0="3540" v1="6118" v2="6389" v3="6834" />
+ <tetrahedron index="36389" v0="3540" v1="3733" v2="6389" v3="6834" />
+ <tetrahedron index="36390" v0="5018" v1="5533" v2="5735" v3="6835" />
+ <tetrahedron index="36391" v0="5018" v1="5735" v2="6397" v3="6835" />
+ <tetrahedron index="36392" v0="3271" v1="3272" v2="6397" v3="6835" />
+ <tetrahedron index="36393" v0="3271" v1="3272" v2="6646" v3="6835" />
+ <tetrahedron index="36394" v0="3271" v1="5137" v2="5735" v3="6835" />
+ <tetrahedron index="36395" v0="5137" v1="5735" v2="6646" v3="6835" />
+ <tetrahedron index="36396" v0="3271" v1="5137" v2="6646" v3="6835" />
+ <tetrahedron index="36397" v0="5577" v1="6398" v2="6573" v3="6836" />
+ <tetrahedron index="36398" v0="5039" v1="6252" v2="6434" v3="6836" />
+ <tetrahedron index="36399" v0="5039" v1="6434" v2="6573" v3="6836" />
+ <tetrahedron index="36400" v0="5039" v1="5577" v2="6252" v3="6836" />
+ <tetrahedron index="36401" v0="5039" v1="5577" v2="6573" v3="6836" />
+ <tetrahedron index="36402" v0="4888" v1="5201" v2="5202" v3="6838" />
+ <tetrahedron index="36403" v0="5201" v1="5202" v2="5484" v3="6838" />
+ <tetrahedron index="36404" v0="4972" v1="5441" v2="5484" v3="6838" />
+ <tetrahedron index="36405" v0="4972" v1="5441" v2="6405" v3="6838" />
+ <tetrahedron index="36406" v0="4888" v1="4992" v2="5201" v3="6838" />
+ <tetrahedron index="36407" v0="4992" v1="5201" v2="5484" v3="6838" />
+ <tetrahedron index="36408" v0="4972" v1="5484" v2="5741" v3="6838" />
+ <tetrahedron index="36409" v0="4972" v1="5741" v2="6405" v3="6838" />
+ <tetrahedron index="36410" v0="4992" v1="5484" v2="5741" v3="6838" />
+ <tetrahedron index="36411" v0="4992" v1="5741" v2="6405" v3="6838" />
+ <tetrahedron index="36412" v0="4888" v1="4992" v2="5483" v3="6838" />
+ <tetrahedron index="36413" v0="4992" v1="5483" v2="6405" v3="6838" />
+ <tetrahedron index="36414" v0="4888" v1="5483" v2="6405" v3="6838" />
+ <tetrahedron index="36415" v0="4864" v1="6220" v2="6419" v3="6991" />
+ <tetrahedron index="36416" v0="4630" v1="5476" v2="6928" v3="7012" />
+ <tetrahedron index="36417" v0="6411" v1="6600" v2="6839" v3="6846" />
+ <tetrahedron index="36418" v0="4939" v1="5350" v2="6595" v3="6846" />
+ <tetrahedron index="36419" v0="5350" v1="5989" v2="6595" v3="6846" />
+ <tetrahedron index="36420" v0="6428" v1="6429" v2="6467" v3="6869" />
+ <tetrahedron index="36421" v0="4321" v1="5725" v2="6042" v3="6869" />
+ <tetrahedron index="36422" v0="5315" v1="5538" v2="6621" v3="6869" />
+ <tetrahedron index="36423" v0="6765" v1="6766" v2="6841" v3="6988" />
+ <tetrahedron index="36424" v0="6307" v1="6726" v2="6975" v3="6988" />
+ <tetrahedron index="36425" v0="6000" v1="6222" v2="6473" v3="6840" />
+ <tetrahedron index="36426" v0="6000" v1="6222" v2="6593" v3="6840" />
+ <tetrahedron index="36427" v0="5167" v1="6841" v2="6843" v3="6988" />
+ <tetrahedron index="36428" v0="6307" v1="6442" v2="6804" v3="6988" />
+ <tetrahedron index="36429" v0="5194" v1="6000" v2="6001" v3="6840" />
+ <tetrahedron index="36430" v0="5194" v1="6000" v2="6473" v3="6840" />
+ <tetrahedron index="36431" v0="5315" v1="5725" v2="6428" v3="6869" />
+ <tetrahedron index="36432" v0="5725" v1="6428" v2="6467" v3="6869" />
+ <tetrahedron index="36433" v0="5538" v1="6429" v2="6852" v3="6869" />
+ <tetrahedron index="36434" v0="5005" v1="6233" v2="6727" v3="6965" />
+ <tetrahedron index="36435" v0="6188" v1="6412" v2="6842" v3="6964" />
+ <tetrahedron index="36436" v0="5877" v1="6182" v2="6722" v3="6964" />
+ <tetrahedron index="36437" v0="4961" v1="5877" v2="6863" v3="6964" />
+ <tetrahedron index="36438" v0="5782" v1="6841" v2="6842" v3="6964" />
+ <tetrahedron index="36439" v0="5877" v1="6722" v2="6863" v3="6964" />
+ <tetrahedron index="36440" v0="5518" v1="6188" v2="6726" v3="6964" />
+ <tetrahedron index="36441" v0="4911" v1="6002" v2="6601" v3="6917" />
+ <tetrahedron index="36442" v0="5348" v1="6004" v2="6616" v3="6917" />
+ <tetrahedron index="36443" v0="6041" v1="6211" v2="6749" v3="6970" />
+ <tetrahedron index="36444" v0="6260" v1="6955" v2="6976" v3="7020" />
+ <tetrahedron index="36445" v0="4406" v1="6041" v2="6207" v3="6970" />
+ <tetrahedron index="36446" v0="5816" v1="6410" v2="6619" v3="6844" />
+ <tetrahedron index="36447" v0="5816" v1="6619" v2="6623" v3="6844" />
+ <tetrahedron index="36448" v0="6099" v1="6421" v2="6675" v3="6847" />
+ <tetrahedron index="36449" v0="4971" v1="6100" v2="6708" v3="6847" />
+ <tetrahedron index="36450" v0="5440" v1="6100" v2="6708" v3="6847" />
+ <tetrahedron index="36451" v0="4971" v1="5440" v2="6708" v3="6847" />
+ <tetrahedron index="36452" v0="4541" v1="5437" v2="5440" v3="6847" />
+ <tetrahedron index="36453" v0="4541" v1="5440" v2="5754" v3="6847" />
+ <tetrahedron index="36454" v0="4541" v1="5437" v2="5754" v3="6847" />
+ <tetrahedron index="36455" v0="4930" v1="5841" v2="6417" v3="6847" />
+ <tetrahedron index="36456" v0="4930" v1="5841" v2="6675" v3="6847" />
+ <tetrahedron index="36457" v0="5841" v1="6421" v2="6675" v3="6847" />
+ <tetrahedron index="36458" v0="5754" v1="5841" v2="6421" v3="6847" />
+ <tetrahedron index="36459" v0="5437" v1="5754" v2="6421" v3="6847" />
+ <tetrahedron index="36460" v0="5754" v1="6417" v2="6489" v3="6847" />
+ <tetrahedron index="36461" v0="5841" v1="6417" v2="6489" v3="6847" />
+ <tetrahedron index="36462" v0="5754" v1="5841" v2="6489" v3="6847" />
+ <tetrahedron index="36463" v0="4864" v1="6171" v2="6723" v3="6848" />
+ <tetrahedron index="36464" v0="6004" v1="6419" v2="6724" v3="6848" />
+ <tetrahedron index="36465" v0="4864" v1="6171" v2="6724" v3="6848" />
+ <tetrahedron index="36466" v0="5348" v1="5353" v2="6004" v3="6848" />
+ <tetrahedron index="36467" v0="5353" v1="6004" v2="6419" v3="6848" />
+ <tetrahedron index="36468" v0="5348" v1="6004" v2="6171" v3="6848" />
+ <tetrahedron index="36469" v0="6004" v1="6171" v2="6724" v3="6848" />
+ <tetrahedron index="36470" v0="6729" v1="6850" v2="6966" v3="6992" />
+ <tetrahedron index="36471" v0="6176" v1="6729" v2="6966" v3="6992" />
+ <tetrahedron index="36472" v0="5153" v1="5841" v2="6724" v3="6849" />
+ <tetrahedron index="36473" v0="5617" v1="6582" v2="6584" v3="6907" />
+ <tetrahedron index="36474" v0="5363" v1="6016" v2="6920" v3="7025" />
+ <tetrahedron index="36475" v0="6920" v1="6959" v2="7021" v3="7025" />
+ <tetrahedron index="36476" v0="3632" v1="6203" v2="6857" v3="6993" />
+ <tetrahedron index="36477" v0="5016" v1="6203" v2="6857" v3="6993" />
+ <tetrahedron index="36478" v0="3632" v1="6005" v2="6857" v3="6993" />
+ <tetrahedron index="36479" v0="4928" v1="5960" v2="6079" v3="6854" />
+ <tetrahedron index="36480" v0="4928" v1="5315" v2="6429" v3="6854" />
+ <tetrahedron index="36481" v0="6170" v1="6687" v2="6877" v3="6997" />
+ <tetrahedron index="36482" v0="3520" v1="4185" v2="5191" v3="6870" />
+ <tetrahedron index="36483" v0="4861" v1="5538" v2="6624" v3="6852" />
+ <tetrahedron index="36484" v0="5019" v1="5538" v2="6624" v3="6852" />
+ <tetrahedron index="36485" v0="4861" v1="5019" v2="6624" v3="6852" />
+ <tetrahedron index="36486" v0="5191" v1="5811" v2="5813" v3="6870" />
+ <tetrahedron index="36487" v0="3520" v1="4106" v2="4185" v3="6870" />
+ <tetrahedron index="36488" v0="3518" v1="6414" v2="6468" v3="6870" />
+ <tetrahedron index="36489" v0="3520" v1="5191" v2="6410" v3="6870" />
+ <tetrahedron index="36490" v0="3518" v1="4106" v2="4777" v3="6870" />
+ <tetrahedron index="36491" v0="4106" v1="4777" v2="5813" v3="6870" />
+ <tetrahedron index="36492" v0="3518" v1="3520" v2="6414" v3="6870" />
+ <tetrahedron index="36493" v0="5037" v1="6047" v2="6577" v3="6903" />
+ <tetrahedron index="36494" v0="5391" v1="6629" v2="6925" v3="7011" />
+ <tetrahedron index="36495" v0="6047" v1="6634" v2="6767" v3="6903" />
+ <tetrahedron index="36496" v0="4884" v1="5509" v2="6469" v3="6855" />
+ <tetrahedron index="36497" v0="5193" v1="5509" v2="6469" v3="6855" />
+ <tetrahedron index="36498" v0="5391" v1="6923" v2="6974" v3="7011" />
+ <tetrahedron index="36499" v0="5037" v1="6456" v2="6577" v3="6903" />
+ <tetrahedron index="36500" v0="5476" v1="6703" v2="6928" v3="7012" />
+ <tetrahedron index="36501" v0="6079" v1="6851" v2="6853" v3="6854" />
+ <tetrahedron index="36502" v0="5992" v1="6079" v2="6588" v3="6854" />
+ <tetrahedron index="36503" v0="5992" v1="6079" v2="6853" v3="6854" />
+ <tetrahedron index="36504" v0="3878" v1="4300" v2="5566" v3="6238" />
+ <tetrahedron index="36505" v0="5284" v1="5989" v2="6845" v3="6990" />
+ <tetrahedron index="36506" v0="4940" v1="5676" v2="6993" v3="7024" />
+ <tetrahedron index="36507" v0="5989" v1="6845" v2="6846" v3="6990" />
+ <tetrahedron index="36508" v0="5284" v1="6411" v2="6845" v3="6990" />
+ <tetrahedron index="36509" v0="6411" v1="6845" v2="6846" v3="6990" />
+ <tetrahedron index="36510" v0="6188" v1="6765" v2="6841" v3="6856" />
+ <tetrahedron index="36511" v0="6188" v1="6726" v2="6841" v3="6856" />
+ <tetrahedron index="36512" v0="5193" v1="6430" v2="6765" v3="6856" />
+ <tetrahedron index="36513" v0="5193" v1="6188" v2="6765" v3="6856" />
+ <tetrahedron index="36514" v0="5193" v1="6430" v2="6855" v3="6856" />
+ <tetrahedron index="36515" v0="5193" v1="6188" v2="6855" v3="6856" />
+ <tetrahedron index="36516" v0="3633" v1="5530" v2="6203" v3="6857" />
+ <tetrahedron index="36517" v0="3633" v1="5530" v2="6433" v3="6857" />
+ <tetrahedron index="36518" v0="5769" v1="6378" v2="6380" v3="6858" />
+ <tetrahedron index="36519" v0="5772" v1="6378" v2="6380" v3="6858" />
+ <tetrahedron index="36520" v0="5160" v1="5769" v2="5771" v3="6858" />
+ <tetrahedron index="36521" v0="5769" v1="5771" v2="6435" v3="6858" />
+ <tetrahedron index="36522" v0="5770" v1="6434" v2="6435" v3="6858" />
+ <tetrahedron index="36523" v0="5770" v1="5771" v2="6435" v3="6858" />
+ <tetrahedron index="36524" v0="5139" v1="5770" v2="6836" v3="6859" />
+ <tetrahedron index="36525" v0="5139" v1="6398" v2="6836" v3="6859" />
+ <tetrahedron index="36526" v0="5481" v1="6398" v2="6836" v3="6859" />
+ <tetrahedron index="36527" v0="4871" v1="5646" v2="6323" v3="6860" />
+ <tetrahedron index="36528" v0="4999" v1="5668" v2="6323" v3="6860" />
+ <tetrahedron index="36529" v0="4999" v1="6323" v2="6815" v3="6860" />
+ <tetrahedron index="36530" v0="4999" v1="5668" v2="6815" v3="6860" />
+ <tetrahedron index="36531" v0="5646" v1="6267" v2="6683" v3="6860" />
+ <tetrahedron index="36532" v0="4871" v1="5646" v2="6683" v3="6860" />
+ <tetrahedron index="36533" v0="4871" v1="5498" v2="6322" v3="6861" />
+ <tetrahedron index="36534" v0="4871" v1="6322" v2="6441" v3="6861" />
+ <tetrahedron index="36535" v0="5032" v1="5644" v2="6322" v3="6861" />
+ <tetrahedron index="36536" v0="5644" v1="6322" v2="6441" v3="6861" />
+ <tetrahedron index="36537" v0="5644" v1="6441" v2="6813" v3="6861" />
+ <tetrahedron index="36538" v0="5032" v1="5644" v2="6813" v3="6861" />
+ <tetrahedron index="36539" v0="4871" v1="5163" v2="6441" v3="6861" />
+ <tetrahedron index="36540" v0="4871" v1="5163" v2="6815" v3="6861" />
+ <tetrahedron index="36541" v0="5538" v1="6621" v2="6869" v3="6996" />
+ <tetrahedron index="36542" v0="6042" v1="6463" v2="6621" v3="6996" />
+ <tetrahedron index="36543" v0="5616" v1="6955" v2="7018" v3="7020" />
+ <tetrahedron index="36544" v0="5168" v1="6290" v2="6792" v3="6863" />
+ <tetrahedron index="36545" v0="5168" v1="6290" v2="6862" v3="6863" />
+ <tetrahedron index="36546" v0="4850" v1="6290" v2="6442" v3="6863" />
+ <tetrahedron index="36547" v0="4850" v1="6442" v2="6694" v3="6863" />
+ <tetrahedron index="36548" v0="4850" v1="6290" v2="6694" v3="6863" />
+ <tetrahedron index="36549" v0="5168" v1="6287" v2="6722" v3="6863" />
+ <tetrahedron index="36550" v0="5168" v1="6287" v2="6792" v3="6863" />
+ <tetrahedron index="36551" v0="5877" v1="6287" v2="6722" v3="6863" />
+ <tetrahedron index="36552" v0="5877" v1="6287" v2="6792" v3="6863" />
+ <tetrahedron index="36553" v0="5397" v1="6056" v2="6641" v3="6864" />
+ <tetrahedron index="36554" v0="4976" v1="6176" v2="6652" v3="6992" />
+ <tetrahedron index="36555" v0="4724" v1="4732" v2="6598" v3="6914" />
+ <tetrahedron index="36556" v0="3519" v1="6414" v2="6599" v3="6915" />
+ <tetrahedron index="36557" v0="4960" v1="6068" v2="6650" v3="6932" />
+ <tetrahedron index="36558" v0="5045" v1="6069" v2="6070" v3="6932" />
+ <tetrahedron index="36559" v0="6068" v1="6650" v2="6651" v3="6932" />
+ <tetrahedron index="36560" v0="5170" v1="6056" v2="6443" v3="6864" />
+ <tetrahedron index="36561" v0="5170" v1="6056" v2="6641" v3="6864" />
+ <tetrahedron index="36562" v0="3519" v1="4711" v2="6414" v3="6915" />
+ <tetrahedron index="36563" v0="4710" v1="4711" v2="5999" v3="6915" />
+ <tetrahedron index="36564" v0="4711" v1="5150" v2="5752" v3="6915" />
+ <tetrahedron index="36565" v0="4724" v1="5551" v2="5998" v3="6914" />
+ <tetrahedron index="36566" v0="4724" v1="5998" v2="6598" v3="6914" />
+ <tetrahedron index="36567" v0="5551" v1="5998" v2="6419" v3="6914" />
+ <tetrahedron index="36568" v0="5998" v1="6419" v2="6598" v3="6914" />
+ <tetrahedron index="36569" v0="3761" v1="3762" v2="5079" v3="6866" />
+ <tetrahedron index="36570" v0="3762" v1="5079" v2="5592" v3="6866" />
+ <tetrahedron index="36571" v0="3762" v1="5592" v2="6377" v3="6866" />
+ <tetrahedron index="36572" v0="3761" v1="3762" v2="6377" v3="6866" />
+ <tetrahedron index="36573" v0="4614" v1="4737" v2="5477" v3="6867" />
+ <tetrahedron index="36574" v0="4737" v1="5477" v2="6460" v3="6867" />
+ <tetrahedron index="36575" v0="4614" v1="4737" v2="4771" v3="6867" />
+ <tetrahedron index="36576" v0="4737" v1="4771" v2="6460" v3="6867" />
+ <tetrahedron index="36577" v0="5189" v1="5412" v2="6697" v3="6867" />
+ <tetrahedron index="36578" v0="5412" v1="5904" v2="6074" v3="6867" />
+ <tetrahedron index="36579" v0="5412" v1="5904" v2="6697" v3="6867" />
+ <tetrahedron index="36580" v0="5904" v1="6074" v2="6653" v3="6867" />
+ <tetrahedron index="36581" v0="5477" v1="5904" v2="6653" v3="6867" />
+ <tetrahedron index="36582" v0="5149" v1="5749" v2="6470" v3="6868" />
+ <tetrahedron index="36583" v0="4654" v1="4764" v2="5204" v3="6873" />
+ <tetrahedron index="36584" v0="4764" v1="5204" v2="5822" v3="6873" />
+ <tetrahedron index="36585" v0="3243" v1="5839" v2="6486" v3="6874" />
+ <tetrahedron index="36586" v0="4033" v1="4042" v2="4838" v3="6872" />
+ <tetrahedron index="36587" v0="4885" v1="6462" v2="6586" v3="6868" />
+ <tetrahedron index="36588" v0="6408" v1="6586" v2="6840" v3="6868" />
+ <tetrahedron index="36589" v0="4885" v1="6586" v2="6840" v3="6868" />
+ <tetrahedron index="36590" v0="4928" v1="5315" v2="6428" v3="6869" />
+ <tetrahedron index="36591" v0="4928" v1="6428" v2="6429" v3="6869" />
+ <tetrahedron index="36592" v0="4928" v1="5315" v2="6429" v3="6869" />
+ <tetrahedron index="36593" v0="4777" v1="5813" v2="6468" v3="6870" />
+ <tetrahedron index="36594" v0="5191" v1="6410" v2="6844" v3="6870" />
+ <tetrahedron index="36595" v0="5191" v1="5811" v2="6844" v3="6870" />
+ <tetrahedron index="36596" v0="6410" v1="6414" v2="6844" v3="6870" />
+ <tetrahedron index="36597" v0="5811" v1="6414" v2="6844" v3="6870" />
+ <tetrahedron index="36598" v0="5192" v1="5811" v2="5813" v3="6870" />
+ <tetrahedron index="36599" v0="5192" v1="5813" v2="6468" v3="6870" />
+ <tetrahedron index="36600" v0="5192" v1="5811" v2="6468" v3="6870" />
+ <tetrahedron index="36601" v0="5751" v1="6414" v2="6469" v3="6871" />
+ <tetrahedron index="36602" v0="5351" v1="6411" v2="6846" v3="6990" />
+ <tetrahedron index="36603" v0="4580" v1="5284" v2="6411" v3="6990" />
+ <tetrahedron index="36604" v0="4580" v1="4820" v2="4821" v3="6990" />
+ <tetrahedron index="36605" v0="4580" v1="5999" v2="6411" v3="6990" />
+ <tetrahedron index="36606" v0="4580" v1="4710" v2="5999" v3="6990" />
+ <tetrahedron index="36607" v0="4821" v1="5351" v2="5999" v3="6990" />
+ <tetrahedron index="36608" v0="5598" v1="5817" v2="6474" v3="6872" />
+ <tetrahedron index="36609" v0="4042" v1="5598" v2="6474" v3="6872" />
+ <tetrahedron index="36610" v0="4042" v1="5598" v2="6192" v3="6872" />
+ <tetrahedron index="36611" v0="5598" v1="6192" v2="6472" v3="6872" />
+ <tetrahedron index="36612" v0="4043" v1="5195" v2="6192" v3="6872" />
+ <tetrahedron index="36613" v0="4042" v1="4043" v2="6192" v3="6872" />
+ <tetrahedron index="36614" v0="4042" v1="4839" v2="6474" v3="6872" />
+ <tetrahedron index="36615" v0="4838" v1="4839" v2="5194" v3="6872" />
+ <tetrahedron index="36616" v0="4838" v1="5194" v2="5814" v3="6872" />
+ <tetrahedron index="36617" v0="5194" v1="5814" v2="6470" v3="6872" />
+ <tetrahedron index="36618" v0="4838" v1="5814" v2="6470" v3="6872" />
+ <tetrahedron index="36619" v0="4043" v1="5195" v2="6471" v3="6872" />
+ <tetrahedron index="36620" v0="4033" v1="5195" v2="6471" v3="6872" />
+ <tetrahedron index="36621" v0="4033" v1="4043" v2="6471" v3="6872" />
+ <tetrahedron index="36622" v0="5194" v1="5817" v2="6474" v3="6872" />
+ <tetrahedron index="36623" v0="4839" v1="5194" v2="6474" v3="6872" />
+ <tetrahedron index="36624" v0="5589" v1="6637" v2="6642" v3="6874" />
+ <tetrahedron index="36625" v0="5589" v1="6486" v2="6642" v3="6874" />
+ <tetrahedron index="36626" v0="3243" v1="6261" v2="6486" v3="6874" />
+ <tetrahedron index="36627" v0="3243" v1="3483" v2="5952" v3="6874" />
+ <tetrahedron index="36628" v0="3483" v1="5952" v2="6261" v3="6874" />
+ <tetrahedron index="36629" v0="3243" v1="3483" v2="6261" v3="6874" />
+ <tetrahedron index="36630" v0="6301" v1="6850" v2="6966" v3="6992" />
+ <tetrahedron index="36631" v0="4629" v1="5551" v2="6420" v3="6914" />
+ <tetrahedron index="36632" v0="5170" v1="5840" v2="5950" v3="6875" />
+ <tetrahedron index="36633" v0="5840" v1="5950" v2="6487" v3="6875" />
+ <tetrahedron index="36634" v0="5170" v1="5950" v2="6487" v3="6875" />
+ <tetrahedron index="36635" v0="5809" v1="6586" v2="6622" v3="6921" />
+ <tetrahedron index="36636" v0="6054" v1="6485" v2="6561" v3="6945" />
+ <tetrahedron index="36637" v0="5349" v1="6734" v2="6839" v3="6967" />
+ <tetrahedron index="36638" v0="5195" v1="5809" v2="6462" v3="6921" />
+ <tetrahedron index="36639" v0="5195" v1="6472" v2="6737" v3="6921" />
+ <tetrahedron index="36640" v0="5991" v1="6586" v2="6622" v3="6921" />
+ <tetrahedron index="36641" v0="4885" v1="6270" v2="6472" v3="6921" />
+ <tetrahedron index="36642" v0="5520" v1="6270" v2="6472" v3="6921" />
+ <tetrahedron index="36643" v0="5617" v1="6597" v2="6790" v3="6967" />
+ <tetrahedron index="36644" v0="6266" v1="6563" v2="6564" v3="6898" />
+ <tetrahedron index="36645" v0="6139" v1="6582" v2="6906" v3="7005" />
+ <tetrahedron index="36646" v0="6263" v1="6649" v2="6774" v3="6898" />
+ <tetrahedron index="36647" v0="4885" v1="5599" v2="6270" v3="6921" />
+ <tetrahedron index="36648" v0="4885" v1="5991" v2="6586" v3="6921" />
+ <tetrahedron index="36649" v0="5599" v1="5991" v2="6270" v3="6921" />
+ <tetrahedron index="36650" v0="5221" v1="5841" v2="6675" v3="6878" />
+ <tetrahedron index="36651" v0="4986" v1="6421" v2="6849" v3="6878" />
+ <tetrahedron index="36652" v0="4986" v1="6220" v2="6849" v3="6878" />
+ <tetrahedron index="36653" v0="5349" v1="5996" v2="6723" v3="6879" />
+ <tetrahedron index="36654" v0="4864" v1="6723" v2="6848" v3="6879" />
+ <tetrahedron index="36655" v0="5996" v1="6723" v2="6848" v3="6879" />
+ <tetrahedron index="36656" v0="4864" v1="5996" v2="6848" v3="6879" />
+ <tetrahedron index="36657" v0="5221" v1="6488" v2="6878" v3="6879" />
+ <tetrahedron index="36658" v0="5221" v1="5550" v2="6878" v3="6879" />
+ <tetrahedron index="36659" v0="5349" v1="5997" v2="6170" v3="6879" />
+ <tetrahedron index="36660" v0="6170" v1="6488" v2="6723" v3="6879" />
+ <tetrahedron index="36661" v0="5349" v1="6170" v2="6723" v3="6879" />
+ <tetrahedron index="36662" v0="6170" v1="6488" v2="6877" v3="6879" />
+ <tetrahedron index="36663" v0="5997" v1="6488" v2="6877" v3="6879" />
+ <tetrahedron index="36664" v0="5997" v1="6170" v2="6877" v3="6879" />
+ <tetrahedron index="36665" v0="6167" v1="6417" v2="6489" v3="6880" />
+ <tetrahedron index="36666" v0="4930" v1="5841" v2="6417" v3="6880" />
+ <tetrahedron index="36667" v0="5841" v1="6417" v2="6489" v3="6880" />
+ <tetrahedron index="36668" v0="5222" v1="5842" v2="6491" v3="6881" />
+ <tetrahedron index="36669" v0="4895" v1="6275" v2="6782" v3="6881" />
+ <tetrahedron index="36670" v0="4955" v1="6159" v2="6752" v3="6958" />
+ <tetrahedron index="36671" v0="5842" v1="6281" v2="6490" v3="6881" />
+ <tetrahedron index="36672" v0="6276" v1="6495" v2="6977" v3="6999" />
+ <tetrahedron index="36673" v0="6291" v1="6793" v2="6999" v3="7026" />
+ <tetrahedron index="36674" v0="6495" v1="6793" v2="6977" v3="6999" />
+ <tetrahedron index="36675" v0="5605" v1="6281" v2="6490" v3="6881" />
+ <tetrahedron index="36676" v0="5605" v1="6281" v2="6782" v3="6881" />
+ <tetrahedron index="36677" v0="5615" v1="6290" v2="6792" v3="6980" />
+ <tetrahedron index="36678" v0="5493" v1="6156" v2="6711" v3="6958" />
+ <tetrahedron index="36679" v0="4874" v1="5494" v2="6157" v3="6883" />
+ <tetrahedron index="36680" v0="5494" v1="6157" v2="6686" v3="6883" />
+ <tetrahedron index="36681" v0="4874" v1="6157" v2="6686" v3="6883" />
+ <tetrahedron index="36682" v0="4944" v1="5364" v2="6494" v3="6884" />
+ <tetrahedron index="36683" v0="4996" v1="6492" v2="6715" v3="6884" />
+ <tetrahedron index="36684" v0="5494" v1="6492" v2="6715" v3="6884" />
+ <tetrahedron index="36685" v0="4996" v1="5494" v2="6715" v3="6884" />
+ <tetrahedron index="36686" v0="4996" v1="5494" v2="6114" v3="6884" />
+ <tetrahedron index="36687" v0="4996" v1="6114" v2="6493" v3="6884" />
+ <tetrahedron index="36688" v0="5454" v1="5494" v2="6114" v3="6884" />
+ <tetrahedron index="36689" v0="5454" v1="6114" v2="6493" v3="6884" />
+ <tetrahedron index="36690" v0="4996" v1="6153" v2="6155" v3="6884" />
+ <tetrahedron index="36691" v0="4996" v1="6155" v2="6492" v3="6884" />
+ <tetrahedron index="36692" v0="6153" v1="6155" v2="6492" v3="6884" />
+ <tetrahedron index="36693" v0="4996" v1="5492" v2="6153" v3="6884" />
+ <tetrahedron index="36694" v0="5492" v1="6153" v2="6493" v3="6884" />
+ <tetrahedron index="36695" v0="4996" v1="5492" v2="6493" v3="6884" />
+ <tetrahedron index="36696" v0="4350" v1="4807" v2="5860" v3="6886" />
+ <tetrahedron index="36697" v0="4350" v1="5860" v2="6505" v3="6886" />
+ <tetrahedron index="36698" v0="4350" v1="4807" v2="6505" v3="6886" />
+ <tetrahedron index="36699" v0="3919" v1="4452" v2="4807" v3="6886" />
+ <tetrahedron index="36700" v0="3919" v1="4452" v2="5280" v3="6886" />
+ <tetrahedron index="36701" v0="4452" v1="4807" v2="5280" v3="6886" />
+ <tetrahedron index="36702" v0="5243" v1="5829" v2="6512" v3="6887" />
+ <tetrahedron index="36703" v0="4902" v1="5829" v2="6512" v3="6887" />
+ <tetrahedron index="36704" v0="4902" v1="5243" v2="6512" v3="6887" />
+ <tetrahedron index="36705" v0="5107" v1="5210" v2="6364" v3="6887" />
+ <tetrahedron index="36706" v0="5107" v1="5210" v2="6511" v3="6887" />
+ <tetrahedron index="36707" v0="4902" v1="5107" v2="5826" v3="6887" />
+ <tetrahedron index="36708" v0="5107" v1="5826" v2="6511" v3="6887" />
+ <tetrahedron index="36709" v0="4902" v1="5826" v2="6511" v3="6887" />
+ <tetrahedron index="36710" v0="3461" v1="4067" v2="5245" v3="6888" />
+ <tetrahedron index="36711" v0="3946" v1="5873" v2="6513" v3="7001" />
+ <tetrahedron index="36712" v0="4067" v1="6513" v2="6888" v3="7001" />
+ <tetrahedron index="36713" v0="3948" v1="5873" v2="6282" v3="7001" />
+ <tetrahedron index="36714" v0="6640" v1="6673" v2="6944" v3="7002" />
+ <tetrahedron index="36715" v0="6411" v1="6839" v2="6916" v3="7007" />
+ <tetrahedron index="36716" v0="3946" v1="3948" v2="5873" v3="7001" />
+ <tetrahedron index="36717" v0="3946" v1="4067" v2="6513" v3="7001" />
+ <tetrahedron index="36718" v0="4886" v1="6563" v2="6729" v3="7028" />
+ <tetrahedron index="36719" v0="4905" v1="5248" v2="5880" v3="7002" />
+ <tetrahedron index="36720" v0="5880" v1="6673" v2="6707" v3="7002" />
+ <tetrahedron index="36721" v0="5248" v1="5880" v2="6521" v3="7002" />
+ <tetrahedron index="36722" v0="6673" v1="6890" v2="6944" v3="7002" />
+ <tetrahedron index="36723" v0="4905" v1="6673" v2="6890" v3="7002" />
+ <tetrahedron index="36724" v0="5349" v1="6407" v2="6839" v3="7007" />
+ <tetrahedron index="36725" v0="4926" v1="5880" v2="6640" v3="7002" />
+ <tetrahedron index="36726" v0="4926" v1="5880" v2="6521" v3="7002" />
+ <tetrahedron index="36727" v0="5341" v1="5986" v2="6568" v3="6899" />
+ <tetrahedron index="36728" v0="4926" v1="5880" v2="6640" v3="6945" />
+ <tetrahedron index="36729" v0="4894" v1="6054" v2="6485" v3="6945" />
+ <tetrahedron index="36730" v0="5910" v1="6522" v2="6731" v3="7003" />
+ <tetrahedron index="36731" v0="6103" v1="6648" v2="6676" v3="6892" />
+ <tetrahedron index="36732" v0="4981" v1="6102" v2="6676" v3="6892" />
+ <tetrahedron index="36733" v0="5196" v1="5881" v2="5953" v3="6891" />
+ <tetrahedron index="36734" v0="5196" v1="5881" v2="6522" v3="6891" />
+ <tetrahedron index="36735" v0="5954" v1="6563" v2="6564" v3="6891" />
+ <tetrahedron index="36736" v0="5954" v1="6564" v2="6565" v3="6891" />
+ <tetrahedron index="36737" v0="5954" v1="6563" v2="6565" v3="6891" />
+ <tetrahedron index="36738" v0="5983" v1="6553" v2="6580" v3="6899" />
+ <tetrahedron index="36739" v0="6597" v1="6906" v2="6907" v3="6967" />
+ <tetrahedron index="36740" v0="6139" v1="6582" v2="6907" v3="7005" />
+ <tetrahedron index="36741" v0="5311" v1="5953" v2="6521" v3="6891" />
+ <tetrahedron index="36742" v0="5311" v1="6564" v2="6565" v3="6891" />
+ <tetrahedron index="36743" v0="5311" v1="5953" v2="6565" v3="6891" />
+ <tetrahedron index="36744" v0="4936" v1="5341" v2="6568" v3="6899" />
+ <tetrahedron index="36745" v0="4936" v1="5941" v2="6568" v3="6899" />
+ <tetrahedron index="36746" v0="4926" v1="5311" v2="6521" v3="6891" />
+ <tetrahedron index="36747" v0="4882" v1="5805" v2="6456" v3="7013" />
+ <tetrahedron index="36748" v0="6103" v1="6426" v2="6850" v3="6892" />
+ <tetrahedron index="36749" v0="4866" v1="6426" v2="6850" v3="6892" />
+ <tetrahedron index="36750" v0="5155" v1="6105" v2="6535" v3="6892" />
+ <tetrahedron index="36751" v0="5155" v1="6105" v2="6648" v3="6892" />
+ <tetrahedron index="36752" v0="5507" v1="6594" v2="6721" v3="6948" />
+ <tetrahedron index="36753" v0="6170" v1="6687" v2="6784" v3="6948" />
+ <tetrahedron index="36754" v0="4854" v1="5763" v2="6657" v3="6894" />
+ <tetrahedron index="36755" v0="5762" v1="5763" v2="6657" v3="6894" />
+ <tetrahedron index="36756" v0="4854" v1="5762" v2="6657" v3="6894" />
+ <tetrahedron index="36757" v0="5190" v1="5959" v2="6465" v3="6895" />
+ <tetrahedron index="36758" v0="5157" v1="5959" v2="6465" v3="6895" />
+ <tetrahedron index="36759" v0="5190" v1="6557" v2="6805" v3="6895" />
+ <tetrahedron index="36760" v0="5157" v1="6557" v2="6805" v3="6895" />
+ <tetrahedron index="36761" v0="5190" v1="5810" v2="6461" v3="6895" />
+ <tetrahedron index="36762" v0="5810" v1="6461" v2="6466" v3="6895" />
+ <tetrahedron index="36763" v0="5157" v1="5959" v2="6805" v3="6895" />
+ <tetrahedron index="36764" v0="5190" v1="5959" v2="6805" v3="6895" />
+ <tetrahedron index="36765" v0="4924" v1="6193" v2="6554" v3="6896" />
+ <tetrahedron index="36766" v0="6193" v1="6554" v2="6559" v3="6896" />
+ <tetrahedron index="36767" v0="5306" v1="6193" v2="6232" v3="6896" />
+ <tetrahedron index="36768" v0="6193" v1="6232" v2="6559" v3="6896" />
+ <tetrahedron index="36769" v0="4913" v1="5902" v2="6612" v3="6982" />
+ <tetrahedron index="36770" v0="5615" v1="6487" v2="6876" v3="6897" />
+ <tetrahedron index="36771" v0="6551" v1="6764" v2="6922" v3="7010" />
+ <tetrahedron index="36772" v0="6577" v1="6764" v2="6903" v3="7010" />
+ <tetrahedron index="36773" v0="5528" v1="6159" v2="6752" v3="7015" />
+ <tetrahedron index="36774" v0="5903" v1="6797" v2="6799" v3="6943" />
+ <tetrahedron index="36775" v0="5465" v1="6105" v2="6678" v3="6897" />
+ <tetrahedron index="36776" v0="6105" v1="6678" v2="6876" v3="6897" />
+ <tetrahedron index="36777" v0="4845" v1="6560" v2="6672" v3="6897" />
+ <tetrahedron index="36778" v0="5903" v1="6560" v2="6672" v3="6897" />
+ <tetrahedron index="36779" v0="4845" v1="6672" v2="6794" v3="6897" />
+ <tetrahedron index="36780" v0="5309" v1="6640" v2="6774" v3="6898" />
+ <tetrahedron index="36781" v0="4848" v1="6263" v2="6775" v3="6898" />
+ <tetrahedron index="36782" v0="4848" v1="5590" v2="6266" v3="6898" />
+ <tetrahedron index="36783" v0="4848" v1="5590" v2="6775" v3="6898" />
+ <tetrahedron index="36784" v0="5148" v1="5941" v2="6568" v3="6900" />
+ <tetrahedron index="36785" v0="5148" v1="5747" v2="5986" v3="6900" />
+ <tetrahedron index="36786" v0="5148" v1="5986" v2="6568" v3="6900" />
+ <tetrahedron index="36787" v0="5042" v1="6567" v2="6579" v3="6900" />
+ <tetrahedron index="36788" v0="5985" v1="6567" v2="6579" v3="6900" />
+ <tetrahedron index="36789" v0="5042" v1="5985" v2="6579" v3="6900" />
+ <tetrahedron index="36790" v0="5985" v1="6567" v2="6581" v3="6900" />
+ <tetrahedron index="36791" v0="5341" v1="5985" v2="6581" v3="6900" />
+ <tetrahedron index="36792" v0="5190" v1="6464" v2="6465" v3="6902" />
+ <tetrahedron index="36793" v0="6429" v1="6465" v2="6852" v3="6902" />
+ <tetrahedron index="36794" v0="5341" v1="5747" v2="5986" v3="6900" />
+ <tetrahedron index="36795" v0="5341" v1="5986" v2="6568" v3="6900" />
+ <tetrahedron index="36796" v0="4854" v1="5941" v2="6083" v3="6900" />
+ <tetrahedron index="36797" v0="4854" v1="5941" v2="6568" v3="6900" />
+ <tetrahedron index="36798" v0="5341" v1="6568" v2="6900" v3="6901" />
+ <tetrahedron index="36799" v0="5346" v1="6569" v2="6853" v3="6902" />
+ <tetrahedron index="36800" v0="4940" v1="5354" v2="5356" v3="7024" />
+ <tetrahedron index="36801" v0="6044" v1="6625" v2="6808" v3="6924" />
+ <tetrahedron index="36802" v0="4882" v1="6634" v2="6767" v3="6903" />
+ <tetrahedron index="36803" v0="4882" v1="6456" v2="6767" v3="6903" />
+ <tetrahedron index="36804" v0="5630" v1="6307" v2="6951" v3="6975" />
+ <tetrahedron index="36805" v0="5630" v1="6727" v2="6951" v3="6975" />
+ <tetrahedron index="36806" v0="6727" v1="6765" v2="6806" v3="6975" />
+ <tetrahedron index="36807" v0="4884" v1="6844" v2="6969" v3="6989" />
+ <tetrahedron index="36808" v0="3487" v1="5422" v2="6617" v3="6938" />
+ <tetrahedron index="36809" v0="5630" v1="6307" v2="6766" v3="6975" />
+ <tetrahedron index="36810" v0="6248" v1="6767" v2="6768" v3="6904" />
+ <tetrahedron index="36811" v0="5575" v1="6248" v2="6768" v3="6904" />
+ <tetrahedron index="36812" v0="5393" v1="6047" v2="6248" v3="6904" />
+ <tetrahedron index="36813" v0="6047" v1="6248" v2="6767" v3="6904" />
+ <tetrahedron index="36814" v0="5037" v1="6047" v2="6767" v3="6904" />
+ <tetrahedron index="36815" v0="3779" v1="3780" v2="4091" v3="6904" />
+ <tetrahedron index="36816" v0="3779" v1="4091" v2="5575" v3="6904" />
+ <tetrahedron index="36817" v0="4954" v1="5393" v2="5984" v3="6904" />
+ <tetrahedron index="36818" v0="4954" v1="5984" v2="6047" v3="6904" />
+ <tetrahedron index="36819" v0="4954" v1="5393" v2="6047" v3="6904" />
+ <tetrahedron index="36820" v0="5343" v1="5988" v2="6139" v3="7006" />
+ <tetrahedron index="36821" v0="5343" v1="5988" v2="6584" v3="7006" />
+ <tetrahedron index="36822" v0="5343" v1="6582" v2="6907" v3="7006" />
+ <tetrahedron index="36823" v0="6639" v1="6907" v2="7005" v3="7006" />
+ <tetrahedron index="36824" v0="5750" v1="6411" v2="6839" v3="7007" />
+ <tetrahedron index="36825" v0="5748" v1="6407" v2="6963" v3="7007" />
+ <tetrahedron index="36826" v0="5349" v1="6407" v2="6963" v3="7007" />
+ <tetrahedron index="36827" v0="5748" v1="6407" v2="6839" v3="7007" />
+ <tetrahedron index="36828" v0="4937" v1="5617" v2="6584" v3="6907" />
+ <tetrahedron index="36829" v0="5343" v1="6582" v2="6584" v3="6907" />
+ <tetrahedron index="36830" v0="5750" v1="6412" v2="6734" v3="7007" />
+ <tetrahedron index="36831" v0="5750" v1="6734" v2="6839" v3="7007" />
+ <tetrahedron index="36832" v0="5349" v1="6734" v2="6839" v3="7007" />
+ <tetrahedron index="36833" v0="5617" v1="6292" v2="6293" v3="6907" />
+ <tetrahedron index="36834" v0="4937" v1="6292" v2="6293" v3="6907" />
+ <tetrahedron index="36835" v0="4937" v1="5617" v2="6293" v3="6907" />
+ <tetrahedron index="36836" v0="5346" v1="5991" v2="6569" v3="6909" />
+ <tetrahedron index="36837" v0="5346" v1="6569" v2="6611" v3="6909" />
+ <tetrahedron index="36838" v0="5346" v1="5991" v2="6590" v3="6909" />
+ <tetrahedron index="36839" v0="5346" v1="6590" v2="6611" v3="6909" />
+ <tetrahedron index="36840" v0="3868" v1="5925" v2="5960" v3="6910" />
+ <tetrahedron index="36841" v0="3868" v1="4136" v2="5960" v3="6910" />
+ <tetrahedron index="36842" v0="4136" v1="4381" v2="5960" v3="6910" />
+ <tetrahedron index="36843" v0="4136" v1="4381" v2="6091" v3="6910" />
+ <tetrahedron index="36844" v0="4381" v1="5435" v2="5960" v3="6910" />
+ <tetrahedron index="36845" v0="4381" v1="5435" v2="6091" v3="6910" />
+ <tetrahedron index="36846" v0="5346" v1="6667" v2="6908" v3="6911" />
+ <tetrahedron index="36847" v0="5346" v1="6590" v2="6908" v3="6911" />
+ <tetrahedron index="36848" v0="4938" v1="5993" v2="6590" v3="6911" />
+ <tetrahedron index="36849" v0="4938" v1="6590" v2="6908" v3="6911" />
+ <tetrahedron index="36850" v0="5993" v1="6667" v2="6670" v3="6911" />
+ <tetrahedron index="36851" v0="4938" v1="6667" v2="6670" v3="6911" />
+ <tetrahedron index="36852" v0="4938" v1="5993" v2="6670" v3="6911" />
+ <tetrahedron index="36853" v0="4938" v1="5994" v2="6667" v3="6911" />
+ <tetrahedron index="36854" v0="5994" v1="6667" v2="6908" v3="6911" />
+ <tetrahedron index="36855" v0="4938" v1="5994" v2="6908" v3="6911" />
+ <tetrahedron index="36856" v0="4970" v1="5994" v2="6591" v3="6912" />
+ <tetrahedron index="36857" v0="5346" v1="5992" v2="5994" v3="6912" />
+ <tetrahedron index="36858" v0="5346" v1="5992" v2="6853" v3="6912" />
+ <tetrahedron index="36859" v0="5538" v1="6429" v2="6854" v3="6912" />
+ <tetrahedron index="36860" v0="5346" v1="6853" v2="6902" v3="6912" />
+ <tetrahedron index="36861" v0="5346" v1="6902" v2="6908" v3="6912" />
+ <tetrahedron index="36862" v0="5992" v1="6588" v2="6854" v3="6912" />
+ <tetrahedron index="36863" v0="4970" v1="5992" v2="6588" v3="6912" />
+ <tetrahedron index="36864" v0="4970" v1="6588" v2="6591" v3="6912" />
+ <tetrahedron index="36865" v0="5435" v1="5538" v2="6591" v3="6912" />
+ <tetrahedron index="36866" v0="5435" v1="5538" v2="6854" v3="6912" />
+ <tetrahedron index="36867" v0="5435" v1="6588" v2="6591" v3="6912" />
+ <tetrahedron index="36868" v0="5435" v1="6588" v2="6854" v3="6912" />
+ <tetrahedron index="36869" v0="5840" v1="5950" v2="6644" v3="6913" />
+ <tetrahedron index="36870" v0="4710" v1="5999" v2="6599" v3="6915" />
+ <tetrahedron index="36871" v0="5149" v1="5749" v2="5751" v3="6915" />
+ <tetrahedron index="36872" v0="5149" v1="5749" v2="6599" v3="6915" />
+ <tetrahedron index="36873" v0="3519" v1="4710" v2="4711" v3="6915" />
+ <tetrahedron index="36874" v0="3519" v1="4710" v2="6599" v3="6915" />
+ <tetrahedron index="36875" v0="5149" v1="5748" v2="6408" v3="6916" />
+ <tetrahedron index="36876" v0="4525" v1="5050" v2="5595" v3="7008" />
+ <tetrahedron index="36877" v0="6007" v1="6604" v2="6918" v3="7008" />
+ <tetrahedron index="36878" v0="4858" v1="6408" v2="6842" v3="6916" />
+ <tetrahedron index="36879" v0="5748" v1="6408" v2="6842" v3="6916" />
+ <tetrahedron index="36880" v0="5149" v1="5748" v2="6001" v3="6916" />
+ <tetrahedron index="36881" v0="5748" v1="6001" v2="6600" v3="6916" />
+ <tetrahedron index="36882" v0="5149" v1="6001" v2="6600" v3="6916" />
+ <tetrahedron index="36883" v0="5050" v1="6269" v2="6777" v3="7008" />
+ <tetrahedron index="36884" v0="5595" v1="6268" v2="6743" v3="7008" />
+ <tetrahedron index="36885" v0="6182" v1="6412" v2="6722" v3="6964" />
+ <tetrahedron index="36886" v0="5782" v1="6442" v2="6726" v3="6964" />
+ <tetrahedron index="36887" v0="5050" v1="5596" v2="6604" v3="7008" />
+ <tetrahedron index="36888" v0="4961" v1="5518" v2="6726" v3="6964" />
+ <tetrahedron index="36889" v0="4961" v1="5877" v2="6732" v3="6964" />
+ <tetrahedron index="36890" v0="5782" v1="6722" v2="6963" v3="6964" />
+ <tetrahedron index="36891" v0="4940" v1="5596" v2="6604" v3="6918" />
+ <tetrahedron index="36892" v0="3933" v1="5132" v2="5868" v3="6919" />
+ <tetrahedron index="36893" v0="3933" v1="4167" v2="4347" v3="6919" />
+ <tetrahedron index="36894" v0="4167" v1="4347" v2="6314" v3="6919" />
+ <tetrahedron index="36895" v0="5132" v1="5239" v2="5864" v3="6919" />
+ <tetrahedron index="36896" v0="5132" v1="5864" v2="6314" v3="6919" />
+ <tetrahedron index="36897" v0="3933" v1="4347" v2="5132" v3="6919" />
+ <tetrahedron index="36898" v0="4347" v1="5132" v2="6314" v3="6919" />
+ <tetrahedron index="36899" v0="6612" v1="6893" v2="6942" v3="7026" />
+ <tetrahedron index="36900" v0="4849" v1="5995" v2="6723" v3="6948" />
+ <tetrahedron index="36901" v0="4963" v1="5630" v2="6280" v3="6951" />
+ <tetrahedron index="36902" v0="5470" v1="6110" v2="6520" v3="6953" />
+ <tetrahedron index="36903" v0="5458" v1="6689" v2="6980" v3="7017" />
+ <tetrahedron index="36904" v0="5363" v1="6613" v2="6783" v3="6920" />
+ <tetrahedron index="36905" v0="4883" v1="6291" v2="6793" v3="7017" />
+ <tetrahedron index="36906" v0="5458" v1="6678" v2="6689" v3="7017" />
+ <tetrahedron index="36907" v0="6121" v1="6201" v2="6934" v3="7000" />
+ <tetrahedron index="36908" v0="4903" v1="5245" v2="6513" v3="7000" />
+ <tetrahedron index="36909" v0="4862" v1="6312" v2="6727" v3="6951" />
+ <tetrahedron index="36910" v0="4963" v1="5632" v2="6280" v3="6951" />
+ <tetrahedron index="36911" v0="4883" v1="6537" v2="6696" v3="6952" />
+ <tetrahedron index="36912" v0="6173" v1="6307" v2="6693" v3="6951" />
+ <tetrahedron index="36913" v0="5463" v1="5808" v2="6834" v3="6952" />
+ <tetrahedron index="36914" v0="5630" v1="6311" v2="6727" v3="6951" />
+ <tetrahedron index="36915" v0="5632" v1="6312" v2="6693" v3="6951" />
+ <tetrahedron index="36916" v0="4862" v1="5632" v2="6312" v3="6951" />
+ <tetrahedron index="36917" v0="5630" v1="5632" v2="6280" v3="6951" />
+ <tetrahedron index="36918" v0="4873" v1="6627" v2="6766" v3="6923" />
+ <tetrahedron index="36919" v0="5391" v1="6627" v2="6806" v3="6923" />
+ <tetrahedron index="36920" v0="5391" v1="6247" v2="6806" v3="6923" />
+ <tetrahedron index="36921" v0="4986" v1="5474" v2="6220" v3="7012" />
+ <tetrahedron index="36922" v0="6045" v1="6050" v2="6633" v3="6926" />
+ <tetrahedron index="36923" v0="6220" v1="6639" v2="7005" v3="7012" />
+ <tetrahedron index="36924" v0="6173" v1="6727" v2="6951" v3="6975" />
+ <tetrahedron index="36925" v0="6173" v1="6307" v2="6951" v3="6975" />
+ <tetrahedron index="36926" v0="6765" v1="6766" v2="6806" v3="6975" />
+ <tetrahedron index="36927" v0="6627" v1="6766" v2="6806" v3="6923" />
+ <tetrahedron index="36928" v0="6247" v1="6766" v2="6806" v3="6923" />
+ <tetrahedron index="36929" v0="6173" v1="6726" v2="6727" v3="6975" />
+ <tetrahedron index="36930" v0="5395" v1="6051" v2="6636" v3="6926" />
+ <tetrahedron index="36931" v0="6046" v1="6051" v2="6636" v3="6926" />
+ <tetrahedron index="36932" v0="5395" v1="6636" v2="6711" v3="6926" />
+ <tetrahedron index="36933" v0="6046" v1="6636" v2="6711" v3="6926" />
+ <tetrahedron index="36934" v0="4832" v1="6740" v2="6741" v3="6927" />
+ <tetrahedron index="36935" v0="4760" v1="4832" v2="6225" v3="6927" />
+ <tetrahedron index="36936" v0="4760" v1="4832" v2="6741" v3="6927" />
+ <tetrahedron index="36937" v0="4117" v1="4832" v2="5395" v3="6927" />
+ <tetrahedron index="36938" v0="4117" v1="5395" v2="6225" v3="6927" />
+ <tetrahedron index="36939" v0="4117" v1="4832" v2="6225" v3="6927" />
+ <tetrahedron index="36940" v0="6053" v1="6639" v2="6703" v3="6928" />
+ <tetrahedron index="36941" v0="5316" v1="6246" v2="6903" v3="7013" />
+ <tetrahedron index="36942" v0="5316" v1="5992" v2="6853" v3="7013" />
+ <tetrahedron index="36943" v0="5316" v1="6079" v2="6456" v3="7013" />
+ <tetrahedron index="36944" v0="4882" v1="6246" v2="6939" v3="7013" />
+ <tetrahedron index="36945" v0="4845" v1="6097" v2="6098" v3="6929" />
+ <tetrahedron index="36946" v0="5439" v1="6097" v2="6098" v3="6929" />
+ <tetrahedron index="36947" v0="6055" v1="6099" v2="6643" v3="6930" />
+ <tetrahedron index="36948" v0="4894" v1="6099" v2="6643" v3="6930" />
+ <tetrahedron index="36949" v0="4894" v1="6055" v2="6643" v3="6930" />
+ <tetrahedron index="36950" v0="6055" v1="6099" v2="6644" v3="6930" />
+ <tetrahedron index="36951" v0="6099" v1="6644" v2="6675" v3="6930" />
+ <tetrahedron index="36952" v0="4894" v1="6055" v2="6642" v3="6930" />
+ <tetrahedron index="36953" v0="6055" v1="6642" v2="6645" v3="6930" />
+ <tetrahedron index="36954" v0="4894" v1="6642" v2="6645" v3="6930" />
+ <tetrahedron index="36955" v0="6053" v1="6292" v2="6773" v3="6931" />
+ <tetrahedron index="36956" v0="5045" v1="5586" v2="6650" v3="6932" />
+ <tetrahedron index="36957" v0="4960" v1="5586" v2="6650" v3="6932" />
+ <tetrahedron index="36958" v0="4960" v1="5410" v2="5586" v3="6932" />
+ <tetrahedron index="36959" v0="5410" v1="5586" v2="6070" v3="6932" />
+ <tetrahedron index="36960" v0="4960" v1="5410" v2="6070" v3="6932" />
+ <tetrahedron index="36961" v0="4866" v1="6072" v2="6652" v3="6933" />
+ <tetrahedron index="36962" v0="5512" v1="6891" v2="7003" v3="7028" />
+ <tetrahedron index="36963" v0="4850" v1="5602" v2="6780" v3="6934" />
+ <tetrahedron index="36964" v0="4850" v1="6121" v2="6695" v3="6934" />
+ <tetrahedron index="36965" v0="3486" v1="3489" v2="6242" v3="6936" />
+ <tetrahedron index="36966" v0="4966" v1="6617" v2="6656" v3="6936" />
+ <tetrahedron index="36967" v0="6276" v1="6780" v2="6781" v3="6934" />
+ <tetrahedron index="36968" v0="5463" v1="5808" v2="6696" v3="6952" />
+ <tetrahedron index="36969" v0="6047" v1="6631" v2="7011" v3="7029" />
+ <tetrahedron index="36970" v0="6882" v1="6947" v2="6999" v3="7025" />
+ <tetrahedron index="36971" v0="6654" v1="6655" v2="6695" v3="6934" />
+ <tetrahedron index="36972" v0="4850" v1="6654" v2="6695" v3="6934" />
+ <tetrahedron index="36973" v0="6537" v1="6538" v2="6697" v3="6952" />
+ <tetrahedron index="36974" v0="5463" v1="6120" v2="6834" v3="6952" />
+ <tetrahedron index="36975" v0="5458" v1="6950" v2="6980" v3="7017" />
+ <tetrahedron index="36976" v0="4850" v1="5602" v2="6934" v3="6935" />
+ <tetrahedron index="36977" v0="5053" v1="6075" v2="6283" v3="6935" />
+ <tetrahedron index="36978" v0="6075" v1="6283" v2="6654" v3="6935" />
+ <tetrahedron index="36979" v0="3489" v1="6032" v2="6617" v3="6936" />
+ <tetrahedron index="36980" v0="3486" v1="3488" v2="3489" v3="6936" />
+ <tetrahedron index="36981" v0="3488" v1="3489" v2="6617" v3="6936" />
+ <tetrahedron index="36982" v0="3486" v1="3487" v2="3488" v3="6936" />
+ <tetrahedron index="36983" v0="3487" v1="3488" v2="6617" v3="6936" />
+ <tetrahedron index="36984" v0="4867" v1="5762" v2="6761" v3="6937" />
+ <tetrahedron index="36985" v0="5318" v1="6243" v2="6657" v3="6937" />
+ <tetrahedron index="36986" v0="5762" v1="6080" v2="6428" v3="6937" />
+ <tetrahedron index="36987" v0="5762" v1="6080" v2="6657" v3="6937" />
+ <tetrahedron index="36988" v0="4847" v1="6246" v2="6611" v3="6974" />
+ <tetrahedron index="36989" v0="6577" v1="6764" v2="6903" v3="6974" />
+ <tetrahedron index="36990" v0="5318" v1="6080" v2="6428" v3="6937" />
+ <tetrahedron index="36991" v0="5318" v1="6080" v2="6657" v3="6937" />
+ <tetrahedron index="36992" v0="3684" v1="5746" v2="6617" v3="6938" />
+ <tetrahedron index="36993" v0="3684" v1="5746" v2="6659" v3="6938" />
+ <tetrahedron index="36994" v0="4966" v1="5422" v2="6617" v3="6938" />
+ <tetrahedron index="36995" v0="4966" v1="5423" v2="6660" v3="6938" />
+ <tetrahedron index="36996" v0="3487" v1="5423" v2="6256" v3="6938" />
+ <tetrahedron index="36997" v0="3487" v1="3683" v2="6256" v3="6938" />
+ <tetrahedron index="36998" v0="4966" v1="5746" v2="6617" v3="6938" />
+ <tetrahedron index="36999" v0="4966" v1="5746" v2="6659" v3="6938" />
+ <tetrahedron index="37000" v0="3487" v1="5422" v2="5423" v3="6938" />
+ <tetrahedron index="37001" v0="4966" v1="5422" v2="5423" v3="6938" />
+ <tetrahedron index="37002" v0="4866" v1="6426" v2="6652" v3="6992" />
+ <tetrahedron index="37003" v0="4866" v1="6426" v2="6652" v3="6933" />
+ <tetrahedron index="37004" v0="4126" v1="5009" v2="5433" v3="6940" />
+ <tetrahedron index="37005" v0="4970" v1="5436" v2="6094" v3="6940" />
+ <tetrahedron index="37006" v0="5436" v1="6094" v2="6670" v3="6940" />
+ <tetrahedron index="37007" v0="4970" v1="5436" v2="6670" v3="6940" />
+ <tetrahedron index="37008" v0="4970" v1="5994" v2="6667" v3="6940" />
+ <tetrahedron index="37009" v0="5994" v1="6667" v2="6670" v3="6940" />
+ <tetrahedron index="37010" v0="4970" v1="6667" v2="6670" v3="6940" />
+ <tetrahedron index="37011" v0="4126" v1="5433" v2="6094" v3="6940" />
+ <tetrahedron index="37012" v0="4126" v1="5345" v2="6094" v3="6940" />
+ <tetrahedron index="37013" v0="5902" v1="6297" v2="6796" v3="6941" />
+ <tetrahedron index="37014" v0="6594" v1="6687" v2="6721" v3="6948" />
+ <tetrahedron index="37015" v0="4850" v1="6780" v2="6934" v3="7016" />
+ <tetrahedron index="37016" v0="5528" v1="6594" v2="6687" v3="6948" />
+ <tetrahedron index="37017" v0="5507" v1="6687" v2="6721" v3="6948" />
+ <tetrahedron index="37018" v0="5507" v1="6594" v2="6723" v3="6948" />
+ <tetrahedron index="37019" v0="5528" v1="6594" v2="6755" v3="6948" />
+ <tetrahedron index="37020" v0="4849" v1="5528" v2="6755" v3="6948" />
+ <tetrahedron index="37021" v0="6276" v1="6780" v2="6920" v3="7016" />
+ <tetrahedron index="37022" v0="5607" v1="6888" v2="7000" v3="7027" />
+ <tetrahedron index="37023" v0="6282" v1="6787" v2="7001" v3="7027" />
+ <tetrahedron index="37024" v0="5365" v1="6672" v2="6794" v3="6942" />
+ <tetrahedron index="37025" v0="5053" v1="5606" v2="5607" v3="7027" />
+ <tetrahedron index="37026" v0="5268" v1="6673" v2="6797" v3="6943" />
+ <tetrahedron index="37027" v0="6301" v1="6673" v2="6797" v3="6943" />
+ <tetrahedron index="37028" v0="5268" v1="6098" v2="6672" v3="6943" />
+ <tetrahedron index="37029" v0="5903" v1="6672" v2="6797" v3="6943" />
+ <tetrahedron index="37030" v0="5268" v1="6672" v2="6797" v3="6943" />
+ <tetrahedron index="37031" v0="4874" v1="6687" v2="6949" v3="7015" />
+ <tetrahedron index="37032" v0="5023" v1="5880" v2="6674" v3="6945" />
+ <tetrahedron index="37033" v0="4845" v1="6098" v2="6560" v3="6943" />
+ <tetrahedron index="37034" v0="4845" v1="6560" v2="6672" v3="6943" />
+ <tetrahedron index="37035" v0="4845" v1="6098" v2="6672" v3="6943" />
+ <tetrahedron index="37036" v0="6159" v1="6752" v2="6979" v3="7015" />
+ <tetrahedron index="37037" v0="4874" v1="6715" v2="6979" v3="7015" />
+ <tetrahedron index="37038" v0="5528" v1="6687" v2="6948" v3="7015" />
+ <tetrahedron index="37039" v0="6687" v1="6784" v2="6948" v3="7015" />
+ <tetrahedron index="37040" v0="5196" v1="6522" v2="6891" v3="7003" />
+ <tetrahedron index="37041" v0="5025" v1="5474" v2="6220" v3="7005" />
+ <tetrahedron index="37042" v0="4267" v1="4268" v2="5474" v3="6954" />
+ <tetrahedron index="37043" v0="5106" v1="5879" v2="6681" v3="6946" />
+ <tetrahedron index="37044" v0="4905" v1="5512" v2="5879" v3="6946" />
+ <tetrahedron index="37045" v0="5006" v1="5512" v2="6177" v3="6946" />
+ <tetrahedron index="37046" v0="5512" v1="6177" v2="6682" v3="6946" />
+ <tetrahedron index="37047" v0="5450" v1="5513" v2="6177" v3="6946" />
+ <tetrahedron index="37048" v0="5450" v1="6177" v2="6682" v3="6946" />
+ <tetrahedron index="37049" v0="4905" v1="6682" v2="6798" v3="6946" />
+ <tetrahedron index="37050" v0="5512" v1="6682" v2="6798" v3="6946" />
+ <tetrahedron index="37051" v0="4905" v1="5512" v2="6798" v3="6946" />
+ <tetrahedron index="37052" v0="5245" v1="6285" v2="6888" v3="7000" />
+ <tetrahedron index="37053" v0="4903" v1="5245" v2="6201" v3="7000" />
+ <tetrahedron index="37054" v0="6121" v1="6695" v2="6934" v3="7000" />
+ <tetrahedron index="37055" v0="5606" v1="6282" v2="6787" v3="7027" />
+ <tetrahedron index="37056" v0="5607" v1="6655" v2="7000" v3="7027" />
+ <tetrahedron index="37057" v0="6612" v1="6685" v2="6885" v3="6947" />
+ <tetrahedron index="37058" v0="6612" v1="6685" v2="6941" v3="6947" />
+ <tetrahedron index="37059" v0="6165" v1="6685" v2="6686" v3="6947" />
+ <tetrahedron index="37060" v0="6165" v1="6685" v2="6941" v3="6947" />
+ <tetrahedron index="37061" v0="5365" v1="6165" v2="6686" v3="6947" />
+ <tetrahedron index="37062" v0="5365" v1="6165" v2="6941" v3="6947" />
+ <tetrahedron index="37063" v0="4854" v1="5958" v2="6568" v3="7010" />
+ <tetrahedron index="37064" v0="4856" v1="4956" v2="6955" v3="7018" />
+ <tetrahedron index="37065" v0="6290" v1="6613" v2="6783" v3="7016" />
+ <tetrahedron index="37066" v0="6276" v1="6780" v2="6934" v3="7016" />
+ <tetrahedron index="37067" v0="4850" v1="6290" v2="6783" v3="7016" />
+ <tetrahedron index="37068" v0="5363" v1="6783" v2="6920" v3="7016" />
+ <tetrahedron index="37069" v0="6290" v1="6791" v2="6792" v3="6980" />
+ <tetrahedron index="37070" v0="6289" v1="6689" v2="6876" v3="6980" />
+ <tetrahedron index="37071" v0="6126" v1="6694" v2="6950" v3="6980" />
+ <tetrahedron index="37072" v0="4904" v1="6289" v2="6791" v3="6980" />
+ <tetrahedron index="37073" v0="5458" v1="6126" v2="6950" v3="6980" />
+ <tetrahedron index="37074" v0="5316" v1="6764" v2="6894" v3="7010" />
+ <tetrahedron index="37075" v0="4854" v1="5958" v2="6566" v3="7010" />
+ <tetrahedron index="37076" v0="6577" v1="6764" v2="6922" v3="7010" />
+ <tetrahedron index="37077" v0="6276" v1="6793" v2="6950" v3="7017" />
+ <tetrahedron index="37078" v0="6291" v1="6678" v2="7009" v3="7017" />
+ <tetrahedron index="37079" v0="5246" v1="6781" v2="6934" v3="6950" />
+ <tetrahedron index="37080" v0="5246" v1="6688" v2="6934" v3="6950" />
+ <tetrahedron index="37081" v0="4883" v1="6276" v2="6538" v3="6950" />
+ <tetrahedron index="37082" v0="4883" v1="5874" v2="6538" v3="6950" />
+ <tetrahedron index="37083" v0="6331" v1="6820" v2="6984" v3="7022" />
+ <tetrahedron index="37084" v0="4845" v1="6644" v2="6961" v3="6981" />
+ <tetrahedron index="37085" v0="5300" v1="6103" v2="6426" v3="7022" />
+ <tetrahedron index="37086" v0="5300" v1="6426" v2="6984" v3="7022" />
+ <tetrahedron index="37087" v0="5840" v1="6718" v2="6875" v3="6981" />
+ <tetrahedron index="37088" v0="5840" v1="5950" v2="6487" v3="6981" />
+ <tetrahedron index="37089" v0="4845" v1="6929" v2="6961" v3="6981" />
+ <tetrahedron index="37090" v0="4845" v1="6794" v2="6897" v3="6981" />
+ <tetrahedron index="37091" v0="5958" v1="6568" v2="6577" v3="7010" />
+ <tetrahedron index="37092" v0="5958" v1="6456" v2="6577" v3="7010" />
+ <tetrahedron index="37093" v0="5316" v1="6566" v2="6894" v3="7010" />
+ <tetrahedron index="37094" v0="5246" v1="5874" v2="6688" v3="6950" />
+ <tetrahedron index="37095" v0="5246" v1="5874" v2="6781" v3="6950" />
+ <tetrahedron index="37096" v0="6276" v1="6538" v2="6781" v3="6950" />
+ <tetrahedron index="37097" v0="5874" v1="6538" v2="6781" v3="6950" />
+ <tetrahedron index="37098" v0="5316" v1="5958" v2="6456" v3="7010" />
+ <tetrahedron index="37099" v0="5840" v1="6487" v2="6875" v3="6981" />
+ <tetrahedron index="37100" v0="4993" v1="5106" v2="5878" v3="6953" />
+ <tetrahedron index="37101" v0="5106" v1="5878" v2="6519" v3="6953" />
+ <tetrahedron index="37102" v0="4993" v1="5878" v2="6519" v3="6953" />
+ <tetrahedron index="37103" v0="4956" v1="4991" v2="5405" v3="6955" />
+ <tetrahedron index="37104" v0="6495" v1="6885" v2="6947" v3="7026" />
+ <tetrahedron index="37105" v0="6460" v1="6538" v2="6781" v3="6977" />
+ <tetrahedron index="37106" v0="4987" v1="6460" v2="6781" v3="6977" />
+ <tetrahedron index="37107" v0="6041" v1="6749" v2="6970" v3="7019" />
+ <tetrahedron index="37108" v0="4956" v1="5405" v2="5783" v3="6955" />
+ <tetrahedron index="37109" v0="5389" v1="6041" v2="6749" v3="7019" />
+ <tetrahedron index="37110" v0="4953" v1="5810" v2="6463" v3="7019" />
+ <tetrahedron index="37111" v0="5810" v1="6467" v2="6996" v3="7019" />
+ <tetrahedron index="37112" v0="5389" v1="6041" v2="6970" v3="7019" />
+ <tetrahedron index="37113" v0="5488" v1="6095" v2="6707" v3="6956" />
+ <tetrahedron index="37114" v0="4971" v1="5488" v2="6707" v3="6956" />
+ <tetrahedron index="37115" v0="4218" v1="4542" v2="5440" v3="6956" />
+ <tetrahedron index="37116" v0="4218" v1="5440" v2="5562" v3="6956" />
+ <tetrahedron index="37117" v0="4218" v1="4542" v2="5562" v3="6956" />
+ <tetrahedron index="37118" v0="4542" v1="5338" v2="5562" v3="6956" />
+ <tetrahedron index="37119" v0="5338" v1="5562" v2="6095" v3="6956" />
+ <tetrahedron index="37120" v0="4542" v1="5338" v2="6095" v3="6956" />
+ <tetrahedron index="37121" v0="5438" v1="6095" v2="6707" v3="6956" />
+ <tetrahedron index="37122" v0="4971" v1="5438" v2="6707" v3="6956" />
+ <tetrahedron index="37123" v0="5222" v1="5842" v2="6881" v3="6957" />
+ <tetrahedron index="37124" v0="5493" v1="6155" v2="6712" v3="6957" />
+ <tetrahedron index="37125" v0="6278" v1="6712" v2="6782" v3="6957" />
+ <tetrahedron index="37126" v0="4895" v1="6278" v2="6782" v3="6957" />
+ <tetrahedron index="37127" v0="4895" v1="6155" v2="6278" v3="6957" />
+ <tetrahedron index="37128" v0="6155" v1="6278" v2="6712" v3="6957" />
+ <tetrahedron index="37129" v0="6156" v1="6712" v2="6752" v3="6958" />
+ <tetrahedron index="37130" v0="4955" v1="6156" v2="6711" v3="6958" />
+ <tetrahedron index="37131" v0="4955" v1="6156" v2="6752" v3="6958" />
+ <tetrahedron index="37132" v0="4996" v1="5492" v2="6154" v3="6958" />
+ <tetrahedron index="37133" v0="5492" v1="6154" v2="6710" v3="6958" />
+ <tetrahedron index="37134" v0="4996" v1="5492" v2="6710" v3="6958" />
+ <tetrahedron index="37135" v0="6291" v1="6999" v2="7025" v3="7026" />
+ <tetrahedron index="37136" v0="5005" v1="5510" v2="6233" v3="6965" />
+ <tetrahedron index="37137" v0="4849" v1="6407" v2="6409" v3="6963" />
+ <tetrahedron index="37138" v0="5478" v1="6142" v2="6275" v3="6998" />
+ <tetrahedron index="37139" v0="6166" v1="6720" v2="6877" v3="6961" />
+ <tetrahedron index="37140" v0="5221" v1="6675" v2="6720" v3="6961" />
+ <tetrahedron index="37141" v0="6166" v1="6675" v2="6720" v3="6961" />
+ <tetrahedron index="37142" v0="5270" v1="5905" v2="6796" v3="6982" />
+ <tetrahedron index="37143" v0="4845" v1="6644" v2="6929" v3="6961" />
+ <tetrahedron index="37144" v0="5902" v1="6297" v2="6796" v3="6982" />
+ <tetrahedron index="37145" v0="5221" v1="5997" v2="6596" v3="6961" />
+ <tetrahedron index="37146" v0="5997" v1="6596" v2="6718" v3="6961" />
+ <tetrahedron index="37147" v0="5221" v1="5997" v2="6488" v3="6961" />
+ <tetrahedron index="37148" v0="5997" v1="6488" v2="6877" v3="6961" />
+ <tetrahedron index="37149" v0="5221" v1="6488" v2="6720" v3="6961" />
+ <tetrahedron index="37150" v0="6488" v1="6720" v2="6877" v3="6961" />
+ <tetrahedron index="37151" v0="5905" v1="6297" v2="6796" v3="6982" />
+ <tetrahedron index="37152" v0="4984" v1="5902" v2="6297" v3="6982" />
+ <tetrahedron index="37153" v0="5507" v1="6720" v2="6877" v3="6962" />
+ <tetrahedron index="37154" v0="5507" v1="6687" v2="6877" v3="6962" />
+ <tetrahedron index="37155" v0="4670" v1="5604" v2="6881" v3="6998" />
+ <tetrahedron index="37156" v0="6275" v1="6491" v2="6881" v3="6998" />
+ <tetrahedron index="37157" v0="4670" v1="6491" v2="6881" v3="6998" />
+ <tetrahedron index="37158" v0="4752" v1="4753" v2="4822" v3="6998" />
+ <tetrahedron index="37159" v0="4849" v1="6784" v2="6843" v3="6963" />
+ <tetrahedron index="37160" v0="5782" v1="6784" v2="6843" v3="6963" />
+ <tetrahedron index="37161" v0="5596" v1="6604" v2="6918" v3="7008" />
+ <tetrahedron index="37162" v0="5596" v1="6268" v2="6743" v3="7008" />
+ <tetrahedron index="37163" v0="5050" v1="5596" v2="6268" v3="7008" />
+ <tetrahedron index="37164" v0="5016" v1="5596" v2="6743" v3="7008" />
+ <tetrahedron index="37165" v0="5016" v1="5595" v2="6918" v3="7008" />
+ <tetrahedron index="37166" v0="6007" v1="6269" v2="6777" v3="7008" />
+ <tetrahedron index="37167" v0="6007" v1="6604" v2="6777" v3="7008" />
+ <tetrahedron index="37168" v0="6188" v1="6841" v2="6842" v3="6964" />
+ <tetrahedron index="37169" v0="6172" v1="6173" v2="6728" v3="6965" />
+ <tetrahedron index="37170" v0="5511" v1="6173" v2="6693" v3="6965" />
+ <tetrahedron index="37171" v0="6173" v1="6693" v2="6951" v3="6965" />
+ <tetrahedron index="37172" v0="5511" v1="6693" v2="6951" v3="6965" />
+ <tetrahedron index="37173" v0="6047" v1="6903" v2="7011" v3="7029" />
+ <tetrahedron index="37174" v0="5572" v1="6634" v2="6750" v3="7029" />
+ <tetrahedron index="37175" v0="5572" v1="6632" v2="6750" v3="7029" />
+ <tetrahedron index="37176" v0="5342" v1="5474" v2="6639" v3="7005" />
+ <tetrahedron index="37177" v0="5550" v1="6220" v2="6639" v3="7005" />
+ <tetrahedron index="37178" v0="5025" v1="6139" v2="6906" v3="7005" />
+ <tetrahedron index="37179" v0="5550" v1="6220" v2="6906" v3="7005" />
+ <tetrahedron index="37180" v0="5750" v1="6411" v2="6916" v3="7007" />
+ <tetrahedron index="37181" v0="5036" v1="6047" v2="6634" v3="7029" />
+ <tetrahedron index="37182" v0="5036" v1="6631" v2="6632" v3="7029" />
+ <tetrahedron index="37183" v0="4917" v1="5617" v2="6790" v3="6967" />
+ <tetrahedron index="37184" v0="4917" v1="6734" v2="6845" v3="6967" />
+ <tetrahedron index="37185" v0="4917" v1="6582" v2="6845" v3="6967" />
+ <tetrahedron index="37186" v0="4472" v1="5517" v2="6184" v3="6968" />
+ <tetrahedron index="37187" v0="4472" v1="5489" v2="6184" v3="6968" />
+ <tetrahedron index="37188" v0="5192" v1="5509" v2="5811" v3="6968" />
+ <tetrahedron index="37189" v0="5509" v1="5811" v2="6183" v3="6968" />
+ <tetrahedron index="37190" v0="4994" v1="5489" v2="5811" v3="6968" />
+ <tetrahedron index="37191" v0="4994" v1="5811" v2="6183" v3="6968" />
+ <tetrahedron index="37192" v0="4994" v1="5489" v2="6183" v3="6968" />
+ <tetrahedron index="37193" v0="5191" v1="6410" v2="6844" v3="6969" />
+ <tetrahedron index="37194" v0="4884" v1="5191" v2="6209" v3="6969" />
+ <tetrahedron index="37195" v0="4884" v1="6209" v2="6461" v3="6969" />
+ <tetrahedron index="37196" v0="4406" v1="5388" v2="6207" v3="6970" />
+ <tetrahedron index="37197" v0="5616" v1="6292" v2="6976" v3="7020" />
+ <tetrahedron index="37198" v0="4189" v1="4406" v2="5388" v3="6970" />
+ <tetrahedron index="37199" v0="4189" v1="4406" v2="6041" v3="6970" />
+ <tetrahedron index="37200" v0="4189" v1="4279" v2="5388" v3="6970" />
+ <tetrahedron index="37201" v0="4189" v1="4279" v2="6211" v3="6970" />
+ <tetrahedron index="37202" v0="4279" v1="5388" v2="6040" v3="6970" />
+ <tetrahedron index="37203" v0="4279" v1="6040" v2="6211" v3="6970" />
+ <tetrahedron index="37204" v0="4937" v1="5482" v2="6773" v3="7020" />
+ <tetrahedron index="37205" v0="4937" v1="6292" v2="6293" v3="7020" />
+ <tetrahedron index="37206" v0="4937" v1="6293" v2="6705" v3="7020" />
+ <tetrahedron index="37207" v0="6292" v1="6773" v2="6976" v3="7020" />
+ <tetrahedron index="37208" v0="5616" v1="6293" v2="6705" v3="7020" />
+ <tetrahedron index="37209" v0="5572" v1="6589" v2="6611" v3="6971" />
+ <tetrahedron index="37210" v0="5572" v1="6589" v2="6750" v3="6971" />
+ <tetrahedron index="37211" v0="5036" v1="6224" v2="6250" v3="6972" />
+ <tetrahedron index="37212" v0="5574" v1="6634" v2="6769" v3="6972" />
+ <tetrahedron index="37213" v0="5574" v1="6250" v2="6769" v3="6972" />
+ <tetrahedron index="37214" v0="5036" v1="5574" v2="6250" v3="6972" />
+ <tetrahedron index="37215" v0="5036" v1="5574" v2="6634" v3="6972" />
+ <tetrahedron index="37216" v0="5127" v1="5724" v2="6761" v3="6973" />
+ <tetrahedron index="37217" v0="5569" v1="6242" v2="6243" v3="6973" />
+ <tetrahedron index="37218" v0="5569" v1="6242" v2="6391" v3="6973" />
+ <tetrahedron index="37219" v0="5035" v1="5569" v2="6243" v3="6973" />
+ <tetrahedron index="37220" v0="5035" v1="5724" v2="6761" v3="6973" />
+ <tetrahedron index="37221" v0="5035" v1="5569" v2="5724" v3="6973" />
+ <tetrahedron index="37222" v0="5569" v1="5724" v2="6391" v3="6973" />
+ <tetrahedron index="37223" v0="5474" v1="6220" v2="7005" v3="7012" />
+ <tetrahedron index="37224" v0="4630" v1="5475" v2="5476" v3="7012" />
+ <tetrahedron index="37225" v0="5992" v1="6853" v2="6939" v3="7013" />
+ <tetrahedron index="37226" v0="5474" v1="6639" v2="7005" v3="7012" />
+ <tetrahedron index="37227" v0="4630" v1="5474" v2="5475" v3="7012" />
+ <tetrahedron index="37228" v0="4986" v1="5474" v2="5475" v3="7012" />
+ <tetrahedron index="37229" v0="6765" v1="6841" v2="6856" v3="6975" />
+ <tetrahedron index="37230" v0="6053" v1="6864" v2="6931" v3="6976" />
+ <tetrahedron index="37231" v0="6292" v1="6864" v2="6931" v3="6976" />
+ <tetrahedron index="37232" v0="6053" v1="6292" v2="6931" v3="6976" />
+ <tetrahedron index="37233" v0="4856" v1="6260" v2="6955" v3="6976" />
+ <tetrahedron index="37234" v0="5389" v1="6463" v2="6996" v3="7019" />
+ <tetrahedron index="37235" v0="6929" v1="6961" v2="6981" v3="7021" />
+ <tetrahedron index="37236" v0="6166" v1="6929" v2="6961" v3="7021" />
+ <tetrahedron index="37237" v0="5615" v1="6794" v2="6981" v3="7021" />
+ <tetrahedron index="37238" v0="5615" v1="6718" v2="6960" v3="7021" />
+ <tetrahedron index="37239" v0="6166" v1="6717" v2="6929" v3="7021" />
+ <tetrahedron index="37240" v0="5615" v1="6718" v2="6981" v3="7021" />
+ <tetrahedron index="37241" v0="5269" v1="5477" v2="5904" v3="6977" />
+ <tetrahedron index="37242" v0="5269" v1="5904" v2="6495" v3="6977" />
+ <tetrahedron index="37243" v0="5269" v1="5477" v2="6495" v3="6977" />
+ <tetrahedron index="37244" v0="4987" v1="6781" v2="6977" v3="6978" />
+ <tetrahedron index="37245" v0="5602" v1="6278" v2="6779" v3="6978" />
+ <tetrahedron index="37246" v0="5844" v1="6278" v2="6779" v3="6978" />
+ <tetrahedron index="37247" v0="4987" v1="5844" v2="6779" v3="6978" />
+ <tetrahedron index="37248" v0="4987" v1="5602" v2="6779" v3="6978" />
+ <tetrahedron index="37249" v0="4987" v1="6495" v2="6977" v3="6978" />
+ <tetrahedron index="37250" v0="6276" v1="6495" v2="6977" v3="6978" />
+ <tetrahedron index="37251" v0="6712" v1="6752" v2="6958" v3="6979" />
+ <tetrahedron index="37252" v0="6155" v1="6712" v2="6958" v3="6979" />
+ <tetrahedron index="37253" v0="4874" v1="6613" v2="6883" v3="6979" />
+ <tetrahedron index="37254" v0="4874" v1="6613" v2="6949" v3="6979" />
+ <tetrahedron index="37255" v0="4874" v1="6715" v2="6883" v3="6979" />
+ <tetrahedron index="37256" v0="6276" v1="6920" v2="6950" v3="7016" />
+ <tetrahedron index="37257" v0="6715" v1="6752" v2="6958" v3="6979" />
+ <tetrahedron index="37258" v0="6155" v1="6715" v2="6958" v3="6979" />
+ <tetrahedron index="37259" v0="6159" v1="6715" v2="6752" v3="6979" />
+ <tetrahedron index="37260" v0="4850" v1="6290" v2="6694" v3="7016" />
+ <tetrahedron index="37261" v0="5363" v1="6780" v2="6920" v3="7016" />
+ <tetrahedron index="37262" v0="4904" v1="6126" v2="6791" v3="6980" />
+ <tetrahedron index="37263" v0="5941" v1="6551" v2="6922" v3="7010" />
+ <tetrahedron index="37264" v0="4854" v1="6551" v2="6894" v3="7010" />
+ <tetrahedron index="37265" v0="4854" v1="6566" v2="6894" v3="7010" />
+ <tetrahedron index="37266" v0="4904" v1="5458" v2="6126" v3="6980" />
+ <tetrahedron index="37267" v0="4904" v1="5458" v2="6689" v3="6980" />
+ <tetrahedron index="37268" v0="5300" v1="6331" v2="6984" v3="7022" />
+ <tetrahedron index="37269" v0="4922" v1="5443" v2="6426" v3="7022" />
+ <tetrahedron index="37270" v0="4922" v1="6426" v2="6984" v3="7022" />
+ <tetrahedron index="37271" v0="5300" v1="5524" v2="6103" v3="7022" />
+ <tetrahedron index="37272" v0="5943" v1="6553" v2="6555" v3="6983" />
+ <tetrahedron index="37273" v0="5941" v1="6553" v2="6899" v3="6983" />
+ <tetrahedron index="37274" v0="5943" v1="6308" v2="6551" v3="6983" />
+ <tetrahedron index="37275" v0="6308" v1="6551" v2="6922" v3="6983" />
+ <tetrahedron index="37276" v0="5943" v1="6308" v2="6625" v3="6983" />
+ <tetrahedron index="37277" v0="6308" v1="6625" v2="6922" v3="6983" />
+ <tetrahedron index="37278" v0="5065" v1="5943" v2="6311" v3="6983" />
+ <tetrahedron index="37279" v0="5943" v1="6311" v2="6625" v3="6983" />
+ <tetrahedron index="37280" v0="5065" v1="6311" v2="6625" v3="6983" />
+ <tetrahedron index="37281" v0="5065" v1="5943" v2="6555" v3="6983" />
+ <tetrahedron index="37282" v0="5065" v1="6555" v2="6807" v3="6983" />
+ <tetrahedron index="37283" v0="5631" v1="6553" v2="6555" v3="6983" />
+ <tetrahedron index="37284" v0="5631" v1="6555" v2="6807" v3="6983" />
+ <tetrahedron index="37285" v0="5631" v1="6553" v2="6807" v3="6983" />
+ <tetrahedron index="37286" v0="5983" v1="6553" v2="6807" v3="6983" />
+ <tetrahedron index="37287" v0="5983" v1="6807" v2="6899" v3="6983" />
+ <tetrahedron index="37288" v0="5983" v1="6553" v2="6899" v3="6983" />
+ <tetrahedron index="37289" v0="5809" v1="6586" v2="6622" v3="7023" />
+ <tetrahedron index="37290" v0="5190" v1="6464" v2="6569" v3="7023" />
+ <tetrahedron index="37291" v0="5991" v1="6586" v2="6909" v3="7023" />
+ <tetrahedron index="37292" v0="5809" v1="6464" v2="6622" v3="7023" />
+ <tetrahedron index="37293" v0="5120" v1="5277" v2="6542" v3="6985" />
+ <tetrahedron index="37294" v0="5277" v1="6355" v2="6542" v3="6985" />
+ <tetrahedron index="37295" v0="5912" v1="6355" v2="6542" v3="6985" />
+ <tetrahedron index="37296" v0="4942" v1="5912" v2="6542" v3="6985" />
+ <tetrahedron index="37297" v0="4942" v1="5120" v2="5710" v3="6985" />
+ <tetrahedron index="37298" v0="5120" v1="5710" v2="6542" v3="6985" />
+ <tetrahedron index="37299" v0="4942" v1="5710" v2="6542" v3="6985" />
+ <tetrahedron index="37300" v0="4300" v1="5212" v2="5213" v3="6986" />
+ <tetrahedron index="37301" v0="5212" v1="5213" v2="6830" v3="6986" />
+ <tetrahedron index="37302" v0="5361" v1="6587" v2="6840" v3="6987" />
+ <tetrahedron index="37303" v0="6014" v1="6587" v2="6909" v3="6987" />
+ <tetrahedron index="37304" v0="5193" v1="6014" v2="6909" v3="6987" />
+ <tetrahedron index="37305" v0="6586" v1="6587" v2="6840" v3="6987" />
+ <tetrahedron index="37306" v0="5193" v1="6188" v2="6841" v3="6987" />
+ <tetrahedron index="37307" v0="6188" v1="6841" v2="6842" v3="6987" />
+ <tetrahedron index="37308" v0="5193" v1="6188" v2="6842" v3="6987" />
+ <tetrahedron index="37309" v0="6586" v1="6587" v2="6909" v3="6987" />
+ <tetrahedron index="37310" v0="5193" v1="6586" v2="6909" v3="6987" />
+ <tetrahedron index="37311" v0="5782" v1="6841" v2="6843" v3="6988" />
+ <tetrahedron index="37312" v0="5416" v1="6307" v2="6442" v3="6988" />
+ <tetrahedron index="37313" v0="5416" v1="6442" v2="6726" v3="6988" />
+ <tetrahedron index="37314" v0="5416" v1="6307" v2="6726" v3="6988" />
+ <tetrahedron index="37315" v0="5538" v1="6852" v2="6869" v3="6996" />
+ <tetrahedron index="37316" v0="6042" v1="6621" v2="6869" v3="6996" />
+ <tetrahedron index="37317" v0="4934" v1="5676" v2="6348" v3="7024" />
+ <tetrahedron index="37318" v0="4682" v1="6005" v2="6349" v3="7024" />
+ <tetrahedron index="37319" v0="5093" v1="6348" v2="6349" v3="7024" />
+ <tetrahedron index="37320" v0="5354" v1="6005" v2="6993" v3="7024" />
+ <tetrahedron index="37321" v0="5354" v1="5356" v2="6005" v3="7024" />
+ <tetrahedron index="37322" v0="5193" v1="6408" v2="6469" v3="6989" />
+ <tetrahedron index="37323" v0="6408" v1="6469" v2="6871" v3="6989" />
+ <tetrahedron index="37324" v0="5193" v1="6408" v2="6586" v3="6989" />
+ <tetrahedron index="37325" v0="6408" v1="6586" v2="6871" v3="6989" />
+ <tetrahedron index="37326" v0="4710" v1="4821" v2="5999" v3="6990" />
+ <tetrahedron index="37327" v0="4986" v1="5475" v2="6849" v3="6991" />
+ <tetrahedron index="37328" v0="5475" v1="5551" v2="6420" v3="6991" />
+ <tetrahedron index="37329" v0="5475" v1="6420" v2="6849" v3="6991" />
+ <tetrahedron index="37330" v0="5755" v1="6419" v2="6724" v3="6991" />
+ <tetrahedron index="37331" v0="5755" v1="6724" v2="6849" v3="6991" />
+ <tetrahedron index="37332" v0="5755" v1="6420" v2="6849" v3="6991" />
+ <tetrahedron index="37333" v0="5755" v1="6420" v2="6914" v3="6991" />
+ <tetrahedron index="37334" v0="5755" v1="6419" v2="6914" v3="6991" />
+ <tetrahedron index="37335" v0="4986" v1="5474" v2="5475" v3="6991" />
+ <tetrahedron index="37336" v0="4986" v1="5474" v2="6220" v3="6991" />
+ <tetrahedron index="37337" v0="4976" v1="5625" v2="6799" v3="6992" />
+ <tetrahedron index="37338" v0="4866" v1="6426" v2="6850" v3="6992" />
+ <tetrahedron index="37339" v0="5016" v1="5676" v2="6857" v3="6993" />
+ <tetrahedron index="37340" v0="3632" v1="5354" v2="6005" v3="6993" />
+ <tetrahedron index="37341" v0="3632" v1="5354" v2="6203" v3="6993" />
+ <tetrahedron index="37342" v0="6440" v1="6815" v2="6861" v3="6994" />
+ <tetrahedron index="37343" v0="5498" v1="6162" v2="6861" v3="6994" />
+ <tetrahedron index="37344" v0="4072" v1="4784" v2="5778" v3="6994" />
+ <tetrahedron index="37345" v0="4072" v1="5778" v2="6162" v3="6994" />
+ <tetrahedron index="37346" v0="4784" v1="5778" v2="6440" v3="6994" />
+ <tetrahedron index="37347" v0="5498" v1="6163" v2="6815" v3="6994" />
+ <tetrahedron index="37348" v0="5498" v1="6815" v2="6861" v3="6994" />
+ <tetrahedron index="37349" v0="6442" v1="6862" v2="6863" v3="6995" />
+ <tetrahedron index="37350" v0="6722" v1="6862" v2="6863" v3="6995" />
+ <tetrahedron index="37351" v0="6442" v1="6863" v2="6964" v3="6995" />
+ <tetrahedron index="37352" v0="6722" v1="6863" v2="6964" v3="6995" />
+ <tetrahedron index="37353" v0="5810" v1="6465" v2="6467" v3="6996" />
+ <tetrahedron index="37354" v0="5810" v1="6465" v2="6852" v3="6996" />
+ <tetrahedron index="37355" v0="6429" v1="6465" v2="6852" v3="6996" />
+ <tetrahedron index="37356" v0="5389" v1="6042" v2="6463" v3="6996" />
+ <tetrahedron index="37357" v0="6148" v1="6260" v2="6955" v3="7020" />
+ <tetrahedron index="37358" v0="6613" v1="6862" v2="6949" v3="6997" />
+ <tetrahedron index="37359" v0="6784" v1="6862" v2="6949" v3="6997" />
+ <tetrahedron index="37360" v0="6166" v1="6718" v2="6877" v3="6997" />
+ <tetrahedron index="37361" v0="6166" v1="6877" v2="6962" v3="6997" />
+ <tetrahedron index="37362" v0="6613" v1="6959" v2="6960" v3="6997" />
+ <tetrahedron index="37363" v0="5443" v1="6103" v2="6426" v3="7022" />
+ <tetrahedron index="37364" v0="4874" v1="6613" v2="6949" v3="6997" />
+ <tetrahedron index="37365" v0="4874" v1="6613" v2="6959" v3="6997" />
+ <tetrahedron index="37366" v0="4874" v1="6959" v2="6962" v3="6997" />
+ <tetrahedron index="37367" v0="5443" v1="5524" v2="6103" v3="7022" />
+ <tetrahedron index="37368" v0="6166" v1="6959" v2="6962" v3="6997" />
+ <tetrahedron index="37369" v0="6495" v1="6882" v2="6978" v3="6999" />
+ <tetrahedron index="37370" v0="6276" v1="6495" v2="6978" v3="6999" />
+ <tetrahedron index="37371" v0="4040" v1="5606" v2="5607" v3="7027" />
+ <tetrahedron index="37372" v0="6075" v1="6655" v2="7000" v3="7027" />
+ <tetrahedron index="37373" v0="6291" v1="6793" v2="6893" v3="7026" />
+ <tetrahedron index="37374" v0="6495" v1="6947" v2="6999" v3="7026" />
+ <tetrahedron index="37375" v0="6612" v1="6885" v2="6947" v3="7026" />
+ <tetrahedron index="37376" v0="5246" v1="6655" v2="6934" v3="7000" />
+ <tetrahedron index="37377" v0="5246" v1="6201" v2="6934" v3="7000" />
+ <tetrahedron index="37378" v0="5512" v1="6890" v2="6891" v3="7028" />
+ <tetrahedron index="37379" v0="6301" v1="6890" v2="6966" v3="7028" />
+ <tetrahedron index="37380" v0="6563" v1="6966" v2="7004" v3="7028" />
+ <tetrahedron index="37381" v0="4886" v1="6176" v2="6729" v3="7028" />
+ <tetrahedron index="37382" v0="5910" v1="6731" v2="6817" v3="7003" />
+ <tetrahedron index="37383" v0="6563" v1="6565" v2="6891" v3="7003" />
+ <tetrahedron index="37384" v0="5036" v1="6047" v2="6631" v3="7029" />
+ <tetrahedron index="37385" v0="6046" v1="6631" v2="6632" v3="7029" />
+ <tetrahedron index="37386" v0="5572" v1="6903" v2="7011" v3="7029" />
+ <tetrahedron index="37387" v0="5196" v1="5561" v2="6565" v3="7003" />
+ <tetrahedron index="37388" v0="5196" v1="5561" v2="6817" v3="7003" />
+ <tetrahedron index="37389" v0="5561" v1="6563" v2="6565" v3="7003" />
+ <tetrahedron index="37390" v0="5561" v1="6563" v2="6817" v3="7003" />
+ <tetrahedron index="37391" v0="6563" v1="6898" v2="6966" v3="7004" />
+ <tetrahedron index="37392" v0="6563" v1="6564" v2="6891" v3="7004" />
+ <tetrahedron index="37393" v0="5036" v1="6632" v2="6750" v3="7029" />
+ <tetrahedron index="37394" v0="5951" v1="6898" v2="6944" v3="7004" />
+ <tetrahedron index="37395" v0="5951" v1="6944" v2="6966" v3="7004" />
+ <tetrahedron index="37396" v0="5951" v1="6898" v2="6966" v3="7004" />
+ <tetrahedron index="37397" v0="6640" v1="6944" v2="7002" v3="7004" />
+ <tetrahedron index="37398" v0="4926" v1="6640" v2="7002" v3="7004" />
+ <tetrahedron index="37399" v0="5550" v1="6639" v2="6907" v3="7005" />
+ <tetrahedron index="37400" v0="5025" v1="6139" v2="6954" v3="7005" />
+ <tetrahedron index="37401" v0="5474" v1="6139" v2="6954" v3="7005" />
+ <tetrahedron index="37402" v0="5025" v1="5474" v2="6954" v3="7005" />
+ <tetrahedron index="37403" v0="5342" v1="6639" v2="7005" v3="7006" />
+ <tetrahedron index="37404" v0="5342" v1="5474" v2="6139" v3="7006" />
+ <tetrahedron index="37405" v0="5474" v1="6139" v2="7005" v3="7006" />
+ <tetrahedron index="37406" v0="5342" v1="5474" v2="7005" v3="7006" />
+ <tetrahedron index="37407" v0="5342" v1="6639" v2="6773" v3="7006" />
+ <tetrahedron index="37408" v0="6639" v1="6773" v2="6907" v3="7006" />
+ <tetrahedron index="37409" v0="4937" v1="5988" v2="6773" v3="7006" />
+ <tetrahedron index="37410" v0="4937" v1="6773" v2="6907" v3="7006" />
+ <tetrahedron index="37411" v0="4937" v1="5988" v2="6584" v3="7006" />
+ <tetrahedron index="37412" v0="4937" v1="6584" v2="6907" v3="7006" />
+ <tetrahedron index="37413" v0="4858" v1="5750" v2="6412" v3="7007" />
+ <tetrahedron index="37414" v0="4858" v1="5750" v2="6916" v3="7007" />
+ <tetrahedron index="37415" v0="6412" v1="6842" v2="6963" v3="7007" />
+ <tetrahedron index="37416" v0="6412" v1="6722" v2="6734" v3="7007" />
+ <tetrahedron index="37417" v0="5748" v1="6600" v2="6839" v3="7007" />
+ <tetrahedron index="37418" v0="6600" v1="6839" v2="6916" v3="7007" />
+ <tetrahedron index="37419" v0="5748" v1="6600" v2="6916" v3="7007" />
+ <tetrahedron index="37420" v0="5748" v1="6842" v2="6916" v3="7007" />
+ <tetrahedron index="37421" v0="5748" v1="6842" v2="6963" v3="7007" />
+ <tetrahedron index="37422" v0="4858" v1="6412" v2="6842" v3="7007" />
+ <tetrahedron index="37423" v0="4858" v1="6842" v2="6916" v3="7007" />
+ <tetrahedron index="37424" v0="6412" v1="6963" v2="6964" v3="7007" />
+ <tetrahedron index="37425" v0="6722" v1="6963" v2="6964" v3="7007" />
+ <tetrahedron index="37426" v0="6412" v1="6722" v2="6964" v3="7007" />
+ <tetrahedron index="37427" v0="5016" v1="5595" v2="6743" v3="7008" />
+ <tetrahedron index="37428" v0="5405" v1="5783" v2="6955" v3="7018" />
+ <tetrahedron index="37429" v0="5616" v1="6443" v2="6976" v3="7018" />
+ <tetrahedron index="37430" v0="4856" v1="6443" v2="6976" v3="7018" />
+ <tetrahedron index="37431" v0="5405" v1="5783" v2="6294" v3="7018" />
+ <tetrahedron index="37432" v0="5405" v1="6705" v2="6955" v3="7018" />
+ <tetrahedron index="37433" v0="5616" v1="5783" v2="6294" v3="7018" />
+ <tetrahedron index="37434" v0="4856" v1="6955" v2="6976" v3="7018" />
+ <tetrahedron index="37435" v0="5616" v1="5783" v2="6443" v3="7018" />
+ <tetrahedron index="37436" v0="4856" v1="5783" v2="6443" v3="7018" />
+ <tetrahedron index="37437" v0="4956" v1="5783" v2="6955" v3="7018" />
+ <tetrahedron index="37438" v0="6276" v1="6920" v2="6999" v3="7009" />
+ <tetrahedron index="37439" v0="6276" v1="6793" v2="6999" v3="7009" />
+ <tetrahedron index="37440" v0="6456" v1="6577" v2="6903" v3="7010" />
+ <tetrahedron index="37441" v0="5316" v1="6456" v2="6903" v3="7010" />
+ <tetrahedron index="37442" v0="4854" v1="5941" v2="6551" v3="7010" />
+ <tetrahedron index="37443" v0="4854" v1="5941" v2="6568" v3="7010" />
+ <tetrahedron index="37444" v0="5572" v1="6247" v2="6974" v3="7011" />
+ <tetrahedron index="37445" v0="5190" v1="6430" v2="6557" v3="7030" />
+ <tetrahedron index="37446" v0="5190" v1="5556" v2="6461" v3="7030" />
+ <tetrahedron index="37447" v0="4884" v1="5556" v2="6461" v3="7030" />
+ <tetrahedron index="37448" v0="5190" v1="6557" v2="6895" v3="7030" />
+ <tetrahedron index="37449" v0="4884" v1="5556" v2="6557" v3="7030" />
+ <tetrahedron index="37450" v0="4884" v1="6461" v2="7023" v3="7030" />
+ <tetrahedron index="37451" v0="4884" v1="6557" v2="6855" v3="7030" />
+ <tetrahedron index="37452" v0="5764" v1="6557" v2="6855" v3="7030" />
+ <tetrahedron index="37453" v0="5190" v1="5556" v2="6895" v3="7030" />
+ <tetrahedron index="37454" v0="5764" v1="6430" v2="6855" v3="7030" />
+ <tetrahedron index="37455" v0="6246" v1="6853" v2="6939" v3="7013" />
+ <tetrahedron index="37456" v0="4882" v1="6456" v2="6903" v3="7013" />
+ <tetrahedron index="37457" v0="4882" v1="6246" v2="6903" v3="7013" />
+ <tetrahedron index="37458" v0="5950" v1="6098" v2="6560" v3="7014" />
+ <tetrahedron index="37459" v0="5155" v1="5950" v2="6560" v3="7014" />
+ <tetrahedron index="37460" v0="5155" v1="5950" v2="6649" v3="7014" />
+ <tetrahedron index="37461" v0="5155" v1="6560" v2="6850" v3="7014" />
+ <tetrahedron index="37462" v0="5155" v1="5951" v2="6850" v3="7014" />
+ <tetrahedron index="37463" v0="5951" v1="6301" v2="6850" v3="7014" />
+ <tetrahedron index="37464" v0="6301" v1="6850" v2="6943" v3="7014" />
+ <tetrahedron index="37465" v0="5528" v1="6843" v2="6948" v3="7015" />
+ <tetrahedron index="37466" v0="6784" v1="6843" v2="6948" v3="7015" />
+ <tetrahedron index="37467" v0="5528" v1="6227" v2="6752" v3="7015" />
+ <tetrahedron index="37468" v0="6227" v1="6752" v2="6843" v3="7015" />
+ <tetrahedron index="37469" v0="5528" v1="6227" v2="6843" v3="7015" />
+ <tetrahedron index="37470" v0="6290" v1="6694" v2="6980" v3="7016" />
+ <tetrahedron index="37471" v0="6920" v1="6980" v2="7009" v3="7016" />
+ <tetrahedron index="37472" v0="6950" v1="6980" v2="7009" v3="7016" />
+ <tetrahedron index="37473" v0="6920" v1="6950" v2="7009" v3="7016" />
+ <tetrahedron index="37474" v0="4850" v1="6121" v2="6694" v3="7016" />
+ <tetrahedron index="37475" v0="4850" v1="6121" v2="6934" v3="7016" />
+ <tetrahedron index="37476" v0="6121" v1="6934" v2="6950" v3="7016" />
+ <tetrahedron index="37477" v0="6121" v1="6694" v2="6950" v3="7016" />
+ <tetrahedron index="37478" v0="6689" v1="6876" v2="6980" v3="7017" />
+ <tetrahedron index="37479" v0="6876" v1="6980" v2="7009" v3="7017" />
+ <tetrahedron index="37480" v0="6678" v1="6689" v2="6876" v3="7017" />
+ <tetrahedron index="37481" v0="6678" v1="6876" v2="7009" v3="7017" />
+ <tetrahedron index="37482" v0="5616" v1="6294" v2="6705" v3="7018" />
+ <tetrahedron index="37483" v0="5405" v1="6294" v2="6705" v3="7018" />
+ <tetrahedron index="37484" v0="5810" v1="6466" v2="6467" v3="7019" />
+ <tetrahedron index="37485" v0="6466" v1="6467" v2="6749" v3="7019" />
+ <tetrahedron index="37486" v0="4953" v1="5810" v2="6461" v3="7019" />
+ <tetrahedron index="37487" v0="5810" v1="6461" v2="6466" v3="7019" />
+ <tetrahedron index="37488" v0="6466" v1="6745" v2="6970" v3="7019" />
+ <tetrahedron index="37489" v0="4953" v1="6745" v2="6970" v3="7019" />
+ <tetrahedron index="37490" v0="6042" v1="6467" v2="6996" v3="7019" />
+ <tetrahedron index="37491" v0="5389" v1="6042" v2="6996" v3="7019" />
+ <tetrahedron index="37492" v0="5389" v1="6620" v2="6749" v3="7019" />
+ <tetrahedron index="37493" v0="6467" v1="6620" v2="6749" v3="7019" />
+ <tetrahedron index="37494" v0="6461" v1="6466" v2="6745" v3="7019" />
+ <tetrahedron index="37495" v0="4953" v1="6461" v2="6745" v3="7019" />
+ <tetrahedron index="37496" v0="6042" v1="6467" v2="6620" v3="7019" />
+ <tetrahedron index="37497" v0="5389" v1="6042" v2="6620" v3="7019" />
+ <tetrahedron index="37498" v0="4937" v1="6292" v2="6773" v3="7020" />
+ <tetrahedron index="37499" v0="4845" v1="6794" v2="6929" v3="7021" />
+ <tetrahedron index="37500" v0="4845" v1="6929" v2="6981" v3="7021" />
+ <tetrahedron index="37501" v0="4845" v1="6794" v2="6981" v3="7021" />
+ <tetrahedron index="37502" v0="5615" v1="6794" v2="6920" v3="7021" />
+ <tetrahedron index="37503" v0="5615" v1="6920" v2="6960" v3="7021" />
+ <tetrahedron index="37504" v0="5524" v1="5759" v2="6424" v3="7022" />
+ <tetrahedron index="37505" v0="5759" v1="6424" v2="6820" v3="7022" />
+ <tetrahedron index="37506" v0="5443" v1="5524" v2="6524" v3="7022" />
+ <tetrahedron index="37507" v0="4846" v1="5443" v2="6524" v3="7022" />
+ <tetrahedron index="37508" v0="5524" v1="5759" v2="6524" v3="7022" />
+ <tetrahedron index="37509" v0="4846" v1="5759" v2="6524" v3="7022" />
+ <tetrahedron index="37510" v0="4846" v1="5759" v2="6820" v3="7022" />
+ <tetrahedron index="37511" v0="4884" v1="6855" v2="6989" v3="7023" />
+ <tetrahedron index="37512" v0="4884" v1="6461" v2="6989" v3="7023" />
+ <tetrahedron index="37513" v0="6464" v1="6569" v2="6622" v3="7023" />
+ <tetrahedron index="37514" v0="5991" v1="6586" v2="6622" v3="7023" />
+ <tetrahedron index="37515" v0="5991" v1="6569" v2="6622" v3="7023" />
+ <tetrahedron index="37516" v0="4934" v1="5336" v2="6348" v3="7024" />
+ <tetrahedron index="37517" v0="4940" v1="5596" v2="5978" v3="7024" />
+ <tetrahedron index="37518" v0="5336" v1="5596" v2="5978" v3="7024" />
+ <tetrahedron index="37519" v0="4934" v1="5336" v2="5596" v3="7024" />
+ <tetrahedron index="37520" v0="4934" v1="5596" v2="5676" v3="7024" />
+ <tetrahedron index="37521" v0="4040" v1="6888" v2="7001" v3="7027" />
+ <tetrahedron index="37522" v0="5365" v1="6717" v2="6794" v3="7025" />
+ <tetrahedron index="37523" v0="6717" v1="6794" v2="6959" v3="7025" />
+ <tetrahedron index="37524" v0="5365" v1="6016" v2="6717" v3="7025" />
+ <tetrahedron index="37525" v0="6016" v1="6717" v2="6959" v3="7025" />
+ <tetrahedron index="37526" v0="5269" v1="6612" v2="6885" v3="7026" />
+ <tetrahedron index="37527" v0="5269" v1="6612" v2="6893" v3="7026" />
+ <tetrahedron index="37528" v0="5365" v1="6671" v2="6941" v3="7026" />
+ <tetrahedron index="37529" v0="6612" v1="6671" v2="6941" v3="7026" />
+ <tetrahedron index="37530" v0="6291" v1="6794" v2="7025" v3="7026" />
+ <tetrahedron index="37531" v0="5365" v1="6794" v2="7025" v3="7026" />
+ <tetrahedron index="37532" v0="5269" v1="6495" v2="6885" v3="7026" />
+ <tetrahedron index="37533" v0="5269" v1="6495" v2="6893" v3="7026" />
+ <tetrahedron index="37534" v0="5365" v1="6794" v2="6942" v3="7026" />
+ <tetrahedron index="37535" v0="6291" v1="6794" v2="6942" v3="7026" />
+ <tetrahedron index="37536" v0="6513" v1="6888" v2="7000" v3="7027" />
+ <tetrahedron index="37537" v0="6075" v1="6513" v2="7000" v3="7027" />
+ <tetrahedron index="37538" v0="4040" v1="5606" v2="6282" v3="7027" />
+ <tetrahedron index="37539" v0="4040" v1="6282" v2="7001" v3="7027" />
+ <tetrahedron index="37540" v0="6563" v1="6729" v2="6966" v3="7028" />
+ <tetrahedron index="37541" v0="5572" v1="6247" v2="6632" v3="7029" />
+ <tetrahedron index="37542" v0="6247" v1="6632" v2="6923" v3="7029" />
+ <tetrahedron index="37543" v0="6046" v1="6632" v2="6923" v3="7029" />
+ <tetrahedron index="37544" v0="6247" v1="6923" v2="7011" v3="7029" />
+ <tetrahedron index="37545" v0="5572" v1="6247" v2="7011" v3="7029" />
+ <tetrahedron index="37546" v0="6046" v1="6631" v2="6923" v3="7029" />
+ <tetrahedron index="37547" v0="6631" v1="6923" v2="7011" v3="7029" />
+ </cells>
+ <domains>
+ <mesh_value_collection type="uint" dim="2" size="3226">
+ <value cell_index="2" local_entity="3" value="0" />
+ <value cell_index="3" local_entity="3" value="0" />
+ <value cell_index="6" local_entity="3" value="0" />
+ <value cell_index="9" local_entity="3" value="0" />
+ <value cell_index="12" local_entity="3" value="0" />
+ <value cell_index="15" local_entity="3" value="0" />
+ <value cell_index="20" local_entity="3" value="0" />
+ <value cell_index="21" local_entity="3" value="0" />
+ <value cell_index="26" local_entity="3" value="0" />
+ <value cell_index="27" local_entity="3" value="0" />
+ <value cell_index="30" local_entity="3" value="0" />
+ <value cell_index="33" local_entity="3" value="0" />
+ <value cell_index="36" local_entity="3" value="0" />
+ <value cell_index="39" local_entity="3" value="0" />
+ <value cell_index="42" local_entity="3" value="0" />
+ <value cell_index="45" local_entity="3" value="0" />
+ <value cell_index="50" local_entity="3" value="0" />
+ <value cell_index="51" local_entity="3" value="0" />
+ <value cell_index="54" local_entity="3" value="0" />
+ <value cell_index="57" local_entity="3" value="0" />
+ <value cell_index="60" local_entity="3" value="0" />
+ <value cell_index="63" local_entity="3" value="0" />
+ <value cell_index="68" local_entity="3" value="0" />
+ <value cell_index="69" local_entity="3" value="0" />
+ <value cell_index="72" local_entity="3" value="0" />
+ <value cell_index="75" local_entity="3" value="0" />
+ <value cell_index="78" local_entity="3" value="0" />
+ <value cell_index="81" local_entity="3" value="0" />
+ <value cell_index="84" local_entity="3" value="0" />
+ <value cell_index="87" local_entity="3" value="0" />
+ <value cell_index="90" local_entity="3" value="0" />
+ <value cell_index="93" local_entity="3" value="0" />
+ <value cell_index="96" local_entity="3" value="0" />
+ <value cell_index="101" local_entity="3" value="0" />
+ <value cell_index="102" local_entity="3" value="0" />
+ <value cell_index="105" local_entity="3" value="0" />
+ <value cell_index="108" local_entity="3" value="0" />
+ <value cell_index="111" local_entity="3" value="0" />
+ <value cell_index="114" local_entity="3" value="0" />
+ <value cell_index="117" local_entity="3" value="0" />
+ <value cell_index="120" local_entity="3" value="0" />
+ <value cell_index="123" local_entity="3" value="0" />
+ <value cell_index="126" local_entity="3" value="0" />
+ <value cell_index="129" local_entity="3" value="0" />
+ <value cell_index="132" local_entity="3" value="0" />
+ <value cell_index="135" local_entity="3" value="0" />
+ <value cell_index="138" local_entity="3" value="0" />
+ <value cell_index="141" local_entity="3" value="0" />
+ <value cell_index="144" local_entity="3" value="0" />
+ <value cell_index="147" local_entity="3" value="0" />
+ <value cell_index="150" local_entity="3" value="0" />
+ <value cell_index="153" local_entity="3" value="0" />
+ <value cell_index="156" local_entity="3" value="0" />
+ <value cell_index="159" local_entity="3" value="0" />
+ <value cell_index="162" local_entity="3" value="0" />
+ <value cell_index="165" local_entity="3" value="0" />
+ <value cell_index="168" local_entity="3" value="0" />
+ <value cell_index="171" local_entity="3" value="0" />
+ <value cell_index="174" local_entity="3" value="0" />
+ <value cell_index="177" local_entity="3" value="0" />
+ <value cell_index="180" local_entity="3" value="0" />
+ <value cell_index="183" local_entity="3" value="0" />
+ <value cell_index="186" local_entity="3" value="0" />
+ <value cell_index="189" local_entity="3" value="0" />
+ <value cell_index="192" local_entity="3" value="0" />
+ <value cell_index="195" local_entity="3" value="0" />
+ <value cell_index="198" local_entity="3" value="0" />
+ <value cell_index="201" local_entity="3" value="0" />
+ <value cell_index="204" local_entity="3" value="0" />
+ <value cell_index="207" local_entity="3" value="0" />
+ <value cell_index="210" local_entity="3" value="0" />
+ <value cell_index="213" local_entity="3" value="0" />
+ <value cell_index="216" local_entity="3" value="0" />
+ <value cell_index="219" local_entity="3" value="0" />
+ <value cell_index="222" local_entity="3" value="0" />
+ <value cell_index="225" local_entity="3" value="0" />
+ <value cell_index="228" local_entity="3" value="0" />
+ <value cell_index="231" local_entity="3" value="0" />
+ <value cell_index="234" local_entity="3" value="0" />
+ <value cell_index="237" local_entity="3" value="0" />
+ <value cell_index="240" local_entity="3" value="0" />
+ <value cell_index="243" local_entity="3" value="0" />
+ <value cell_index="246" local_entity="3" value="0" />
+ <value cell_index="249" local_entity="3" value="0" />
+ <value cell_index="252" local_entity="3" value="0" />
+ <value cell_index="255" local_entity="3" value="0" />
+ <value cell_index="258" local_entity="3" value="0" />
+ <value cell_index="261" local_entity="3" value="0" />
+ <value cell_index="264" local_entity="3" value="0" />
+ <value cell_index="267" local_entity="3" value="0" />
+ <value cell_index="270" local_entity="3" value="0" />
+ <value cell_index="273" local_entity="3" value="0" />
+ <value cell_index="276" local_entity="3" value="0" />
+ <value cell_index="279" local_entity="3" value="0" />
+ <value cell_index="282" local_entity="3" value="0" />
+ <value cell_index="285" local_entity="3" value="0" />
+ <value cell_index="288" local_entity="3" value="0" />
+ <value cell_index="291" local_entity="3" value="0" />
+ <value cell_index="294" local_entity="3" value="0" />
+ <value cell_index="297" local_entity="3" value="0" />
+ <value cell_index="300" local_entity="3" value="0" />
+ <value cell_index="303" local_entity="3" value="0" />
+ <value cell_index="306" local_entity="3" value="0" />
+ <value cell_index="309" local_entity="3" value="0" />
+ <value cell_index="312" local_entity="3" value="0" />
+ <value cell_index="315" local_entity="3" value="0" />
+ <value cell_index="318" local_entity="3" value="0" />
+ <value cell_index="321" local_entity="3" value="0" />
+ <value cell_index="324" local_entity="3" value="0" />
+ <value cell_index="327" local_entity="3" value="0" />
+ <value cell_index="330" local_entity="3" value="0" />
+ <value cell_index="333" local_entity="3" value="0" />
+ <value cell_index="336" local_entity="3" value="0" />
+ <value cell_index="339" local_entity="3" value="0" />
+ <value cell_index="342" local_entity="3" value="0" />
+ <value cell_index="345" local_entity="3" value="0" />
+ <value cell_index="348" local_entity="3" value="0" />
+ <value cell_index="351" local_entity="3" value="0" />
+ <value cell_index="354" local_entity="3" value="0" />
+ <value cell_index="357" local_entity="3" value="0" />
+ <value cell_index="360" local_entity="3" value="0" />
+ <value cell_index="363" local_entity="3" value="0" />
+ <value cell_index="366" local_entity="3" value="0" />
+ <value cell_index="369" local_entity="3" value="0" />
+ <value cell_index="372" local_entity="3" value="0" />
+ <value cell_index="375" local_entity="3" value="0" />
+ <value cell_index="378" local_entity="3" value="0" />
+ <value cell_index="381" local_entity="3" value="0" />
+ <value cell_index="384" local_entity="3" value="0" />
+ <value cell_index="387" local_entity="3" value="0" />
+ <value cell_index="390" local_entity="3" value="0" />
+ <value cell_index="393" local_entity="3" value="0" />
+ <value cell_index="396" local_entity="3" value="0" />
+ <value cell_index="399" local_entity="3" value="0" />
+ <value cell_index="402" local_entity="3" value="0" />
+ <value cell_index="405" local_entity="3" value="0" />
+ <value cell_index="408" local_entity="3" value="0" />
+ <value cell_index="411" local_entity="3" value="0" />
+ <value cell_index="414" local_entity="3" value="0" />
+ <value cell_index="417" local_entity="3" value="0" />
+ <value cell_index="420" local_entity="3" value="0" />
+ <value cell_index="423" local_entity="3" value="0" />
+ <value cell_index="426" local_entity="3" value="0" />
+ <value cell_index="429" local_entity="3" value="0" />
+ <value cell_index="432" local_entity="3" value="0" />
+ <value cell_index="435" local_entity="3" value="0" />
+ <value cell_index="438" local_entity="3" value="0" />
+ <value cell_index="441" local_entity="3" value="0" />
+ <value cell_index="444" local_entity="3" value="0" />
+ <value cell_index="447" local_entity="3" value="0" />
+ <value cell_index="450" local_entity="3" value="0" />
+ <value cell_index="453" local_entity="3" value="0" />
+ <value cell_index="456" local_entity="3" value="0" />
+ <value cell_index="459" local_entity="3" value="0" />
+ <value cell_index="462" local_entity="3" value="0" />
+ <value cell_index="465" local_entity="3" value="0" />
+ <value cell_index="468" local_entity="3" value="0" />
+ <value cell_index="471" local_entity="3" value="0" />
+ <value cell_index="474" local_entity="3" value="0" />
+ <value cell_index="477" local_entity="3" value="0" />
+ <value cell_index="480" local_entity="3" value="0" />
+ <value cell_index="483" local_entity="3" value="0" />
+ <value cell_index="486" local_entity="3" value="0" />
+ <value cell_index="489" local_entity="3" value="0" />
+ <value cell_index="492" local_entity="3" value="0" />
+ <value cell_index="495" local_entity="3" value="0" />
+ <value cell_index="498" local_entity="3" value="0" />
+ <value cell_index="501" local_entity="3" value="0" />
+ <value cell_index="504" local_entity="3" value="0" />
+ <value cell_index="507" local_entity="3" value="0" />
+ <value cell_index="510" local_entity="3" value="0" />
+ <value cell_index="513" local_entity="3" value="0" />
+ <value cell_index="516" local_entity="3" value="0" />
+ <value cell_index="519" local_entity="3" value="0" />
+ <value cell_index="522" local_entity="3" value="0" />
+ <value cell_index="525" local_entity="3" value="0" />
+ <value cell_index="528" local_entity="3" value="0" />
+ <value cell_index="531" local_entity="3" value="0" />
+ <value cell_index="534" local_entity="3" value="0" />
+ <value cell_index="537" local_entity="3" value="0" />
+ <value cell_index="540" local_entity="3" value="0" />
+ <value cell_index="543" local_entity="3" value="0" />
+ <value cell_index="546" local_entity="3" value="0" />
+ <value cell_index="549" local_entity="3" value="3" />
+ <value cell_index="552" local_entity="3" value="0" />
+ <value cell_index="555" local_entity="3" value="0" />
+ <value cell_index="558" local_entity="3" value="0" />
+ <value cell_index="561" local_entity="3" value="0" />
+ <value cell_index="564" local_entity="3" value="0" />
+ <value cell_index="567" local_entity="3" value="0" />
+ <value cell_index="570" local_entity="3" value="0" />
+ <value cell_index="573" local_entity="3" value="0" />
+ <value cell_index="576" local_entity="3" value="0" />
+ <value cell_index="579" local_entity="3" value="0" />
+ <value cell_index="582" local_entity="3" value="0" />
+ <value cell_index="585" local_entity="3" value="0" />
+ <value cell_index="588" local_entity="3" value="0" />
+ <value cell_index="591" local_entity="3" value="0" />
+ <value cell_index="594" local_entity="3" value="0" />
+ <value cell_index="597" local_entity="3" value="0" />
+ <value cell_index="600" local_entity="3" value="0" />
+ <value cell_index="603" local_entity="3" value="0" />
+ <value cell_index="606" local_entity="3" value="0" />
+ <value cell_index="609" local_entity="3" value="0" />
+ <value cell_index="612" local_entity="3" value="0" />
+ <value cell_index="615" local_entity="3" value="0" />
+ <value cell_index="618" local_entity="3" value="0" />
+ <value cell_index="621" local_entity="3" value="0" />
+ <value cell_index="624" local_entity="3" value="0" />
+ <value cell_index="627" local_entity="3" value="0" />
+ <value cell_index="630" local_entity="3" value="0" />
+ <value cell_index="633" local_entity="3" value="0" />
+ <value cell_index="636" local_entity="3" value="0" />
+ <value cell_index="639" local_entity="3" value="0" />
+ <value cell_index="642" local_entity="3" value="0" />
+ <value cell_index="645" local_entity="3" value="0" />
+ <value cell_index="648" local_entity="3" value="0" />
+ <value cell_index="651" local_entity="3" value="0" />
+ <value cell_index="654" local_entity="3" value="0" />
+ <value cell_index="657" local_entity="3" value="0" />
+ <value cell_index="660" local_entity="3" value="0" />
+ <value cell_index="663" local_entity="3" value="0" />
+ <value cell_index="666" local_entity="3" value="0" />
+ <value cell_index="669" local_entity="3" value="0" />
+ <value cell_index="672" local_entity="3" value="0" />
+ <value cell_index="675" local_entity="3" value="0" />
+ <value cell_index="678" local_entity="3" value="0" />
+ <value cell_index="681" local_entity="3" value="0" />
+ <value cell_index="684" local_entity="3" value="0" />
+ <value cell_index="687" local_entity="3" value="0" />
+ <value cell_index="690" local_entity="3" value="0" />
+ <value cell_index="693" local_entity="3" value="0" />
+ <value cell_index="696" local_entity="3" value="0" />
+ <value cell_index="699" local_entity="3" value="0" />
+ <value cell_index="702" local_entity="3" value="0" />
+ <value cell_index="705" local_entity="3" value="0" />
+ <value cell_index="708" local_entity="3" value="0" />
+ <value cell_index="711" local_entity="3" value="0" />
+ <value cell_index="714" local_entity="3" value="0" />
+ <value cell_index="717" local_entity="3" value="0" />
+ <value cell_index="720" local_entity="3" value="0" />
+ <value cell_index="723" local_entity="3" value="1" />
+ <value cell_index="726" local_entity="3" value="0" />
+ <value cell_index="729" local_entity="3" value="0" />
+ <value cell_index="732" local_entity="3" value="0" />
+ <value cell_index="735" local_entity="3" value="0" />
+ <value cell_index="738" local_entity="3" value="0" />
+ <value cell_index="741" local_entity="3" value="0" />
+ <value cell_index="744" local_entity="3" value="0" />
+ <value cell_index="747" local_entity="3" value="0" />
+ <value cell_index="750" local_entity="3" value="0" />
+ <value cell_index="753" local_entity="3" value="0" />
+ <value cell_index="756" local_entity="3" value="0" />
+ <value cell_index="759" local_entity="3" value="3" />
+ <value cell_index="762" local_entity="3" value="0" />
+ <value cell_index="765" local_entity="3" value="0" />
+ <value cell_index="768" local_entity="3" value="0" />
+ <value cell_index="771" local_entity="3" value="0" />
+ <value cell_index="774" local_entity="3" value="0" />
+ <value cell_index="777" local_entity="3" value="0" />
+ <value cell_index="780" local_entity="3" value="0" />
+ <value cell_index="783" local_entity="3" value="0" />
+ <value cell_index="786" local_entity="3" value="0" />
+ <value cell_index="789" local_entity="3" value="0" />
+ <value cell_index="792" local_entity="3" value="0" />
+ <value cell_index="795" local_entity="3" value="0" />
+ <value cell_index="798" local_entity="3" value="0" />
+ <value cell_index="801" local_entity="3" value="0" />
+ <value cell_index="804" local_entity="3" value="0" />
+ <value cell_index="807" local_entity="3" value="0" />
+ <value cell_index="810" local_entity="3" value="0" />
+ <value cell_index="813" local_entity="3" value="0" />
+ <value cell_index="816" local_entity="3" value="0" />
+ <value cell_index="819" local_entity="3" value="0" />
+ <value cell_index="822" local_entity="3" value="0" />
+ <value cell_index="825" local_entity="3" value="0" />
+ <value cell_index="828" local_entity="3" value="0" />
+ <value cell_index="831" local_entity="3" value="0" />
+ <value cell_index="834" local_entity="3" value="0" />
+ <value cell_index="837" local_entity="3" value="0" />
+ <value cell_index="840" local_entity="3" value="0" />
+ <value cell_index="843" local_entity="3" value="0" />
+ <value cell_index="846" local_entity="3" value="0" />
+ <value cell_index="849" local_entity="3" value="0" />
+ <value cell_index="852" local_entity="3" value="0" />
+ <value cell_index="855" local_entity="3" value="0" />
+ <value cell_index="858" local_entity="3" value="0" />
+ <value cell_index="861" local_entity="3" value="0" />
+ <value cell_index="864" local_entity="3" value="0" />
+ <value cell_index="867" local_entity="3" value="0" />
+ <value cell_index="870" local_entity="3" value="0" />
+ <value cell_index="873" local_entity="3" value="0" />
+ <value cell_index="876" local_entity="3" value="0" />
+ <value cell_index="879" local_entity="3" value="0" />
+ <value cell_index="882" local_entity="3" value="0" />
+ <value cell_index="885" local_entity="3" value="0" />
+ <value cell_index="888" local_entity="3" value="0" />
+ <value cell_index="891" local_entity="3" value="0" />
+ <value cell_index="894" local_entity="3" value="0" />
+ <value cell_index="897" local_entity="3" value="0" />
+ <value cell_index="900" local_entity="3" value="0" />
+ <value cell_index="903" local_entity="3" value="0" />
+ <value cell_index="906" local_entity="3" value="0" />
+ <value cell_index="909" local_entity="3" value="0" />
+ <value cell_index="912" local_entity="3" value="0" />
+ <value cell_index="915" local_entity="3" value="0" />
+ <value cell_index="918" local_entity="3" value="0" />
+ <value cell_index="921" local_entity="3" value="0" />
+ <value cell_index="924" local_entity="3" value="0" />
+ <value cell_index="927" local_entity="3" value="0" />
+ <value cell_index="930" local_entity="3" value="0" />
+ <value cell_index="933" local_entity="3" value="0" />
+ <value cell_index="936" local_entity="3" value="0" />
+ <value cell_index="939" local_entity="3" value="0" />
+ <value cell_index="942" local_entity="3" value="0" />
+ <value cell_index="945" local_entity="3" value="0" />
+ <value cell_index="948" local_entity="3" value="0" />
+ <value cell_index="951" local_entity="3" value="0" />
+ <value cell_index="954" local_entity="3" value="0" />
+ <value cell_index="957" local_entity="3" value="0" />
+ <value cell_index="960" local_entity="3" value="0" />
+ <value cell_index="963" local_entity="3" value="0" />
+ <value cell_index="966" local_entity="3" value="0" />
+ <value cell_index="969" local_entity="3" value="0" />
+ <value cell_index="972" local_entity="3" value="0" />
+ <value cell_index="975" local_entity="3" value="0" />
+ <value cell_index="978" local_entity="3" value="0" />
+ <value cell_index="981" local_entity="3" value="0" />
+ <value cell_index="984" local_entity="3" value="0" />
+ <value cell_index="987" local_entity="3" value="0" />
+ <value cell_index="990" local_entity="3" value="0" />
+ <value cell_index="993" local_entity="3" value="0" />
+ <value cell_index="996" local_entity="3" value="0" />
+ <value cell_index="999" local_entity="3" value="0" />
+ <value cell_index="1002" local_entity="3" value="0" />
+ <value cell_index="1005" local_entity="3" value="0" />
+ <value cell_index="1008" local_entity="3" value="0" />
+ <value cell_index="1011" local_entity="3" value="0" />
+ <value cell_index="1014" local_entity="3" value="0" />
+ <value cell_index="1017" local_entity="3" value="0" />
+ <value cell_index="1020" local_entity="3" value="0" />
+ <value cell_index="1023" local_entity="3" value="0" />
+ <value cell_index="1026" local_entity="3" value="0" />
+ <value cell_index="1029" local_entity="3" value="0" />
+ <value cell_index="1032" local_entity="3" value="0" />
+ <value cell_index="1035" local_entity="3" value="0" />
+ <value cell_index="1038" local_entity="3" value="0" />
+ <value cell_index="1041" local_entity="3" value="0" />
+ <value cell_index="1044" local_entity="3" value="0" />
+ <value cell_index="1047" local_entity="3" value="0" />
+ <value cell_index="1050" local_entity="3" value="0" />
+ <value cell_index="1053" local_entity="3" value="0" />
+ <value cell_index="1056" local_entity="3" value="0" />
+ <value cell_index="1059" local_entity="3" value="0" />
+ <value cell_index="1062" local_entity="3" value="0" />
+ <value cell_index="1065" local_entity="3" value="0" />
+ <value cell_index="1068" local_entity="3" value="0" />
+ <value cell_index="1071" local_entity="3" value="0" />
+ <value cell_index="1074" local_entity="3" value="0" />
+ <value cell_index="1077" local_entity="3" value="0" />
+ <value cell_index="1080" local_entity="3" value="0" />
+ <value cell_index="1083" local_entity="3" value="0" />
+ <value cell_index="1086" local_entity="3" value="0" />
+ <value cell_index="1089" local_entity="3" value="0" />
+ <value cell_index="1092" local_entity="3" value="0" />
+ <value cell_index="1095" local_entity="3" value="0" />
+ <value cell_index="1098" local_entity="3" value="0" />
+ <value cell_index="1101" local_entity="3" value="0" />
+ <value cell_index="1104" local_entity="3" value="0" />
+ <value cell_index="1107" local_entity="3" value="0" />
+ <value cell_index="1110" local_entity="3" value="0" />
+ <value cell_index="1113" local_entity="3" value="0" />
+ <value cell_index="1116" local_entity="3" value="0" />
+ <value cell_index="1119" local_entity="3" value="0" />
+ <value cell_index="1122" local_entity="3" value="0" />
+ <value cell_index="1125" local_entity="3" value="0" />
+ <value cell_index="1128" local_entity="3" value="0" />
+ <value cell_index="1131" local_entity="3" value="0" />
+ <value cell_index="1134" local_entity="3" value="0" />
+ <value cell_index="1137" local_entity="3" value="0" />
+ <value cell_index="1140" local_entity="3" value="0" />
+ <value cell_index="1143" local_entity="3" value="0" />
+ <value cell_index="1146" local_entity="3" value="0" />
+ <value cell_index="1149" local_entity="3" value="0" />
+ <value cell_index="1152" local_entity="3" value="0" />
+ <value cell_index="1155" local_entity="3" value="0" />
+ <value cell_index="1158" local_entity="3" value="0" />
+ <value cell_index="1161" local_entity="3" value="0" />
+ <value cell_index="1164" local_entity="3" value="0" />
+ <value cell_index="1167" local_entity="3" value="0" />
+ <value cell_index="1170" local_entity="3" value="0" />
+ <value cell_index="1173" local_entity="3" value="0" />
+ <value cell_index="1176" local_entity="3" value="0" />
+ <value cell_index="1179" local_entity="3" value="0" />
+ <value cell_index="1182" local_entity="3" value="0" />
+ <value cell_index="1185" local_entity="3" value="0" />
+ <value cell_index="1188" local_entity="3" value="0" />
+ <value cell_index="1191" local_entity="3" value="0" />
+ <value cell_index="1194" local_entity="3" value="0" />
+ <value cell_index="1197" local_entity="3" value="0" />
+ <value cell_index="1200" local_entity="3" value="0" />
+ <value cell_index="1203" local_entity="3" value="0" />
+ <value cell_index="1206" local_entity="3" value="0" />
+ <value cell_index="1209" local_entity="3" value="0" />
+ <value cell_index="1212" local_entity="3" value="0" />
+ <value cell_index="1215" local_entity="3" value="0" />
+ <value cell_index="1218" local_entity="3" value="0" />
+ <value cell_index="1221" local_entity="3" value="0" />
+ <value cell_index="1224" local_entity="3" value="0" />
+ <value cell_index="1227" local_entity="3" value="0" />
+ <value cell_index="1230" local_entity="3" value="0" />
+ <value cell_index="1233" local_entity="3" value="0" />
+ <value cell_index="1236" local_entity="3" value="0" />
+ <value cell_index="1239" local_entity="3" value="0" />
+ <value cell_index="1242" local_entity="3" value="0" />
+ <value cell_index="1245" local_entity="3" value="0" />
+ <value cell_index="1248" local_entity="3" value="0" />
+ <value cell_index="1251" local_entity="3" value="0" />
+ <value cell_index="1254" local_entity="3" value="0" />
+ <value cell_index="1257" local_entity="3" value="0" />
+ <value cell_index="1260" local_entity="3" value="0" />
+ <value cell_index="1263" local_entity="3" value="0" />
+ <value cell_index="1266" local_entity="3" value="0" />
+ <value cell_index="1269" local_entity="3" value="0" />
+ <value cell_index="1272" local_entity="3" value="0" />
+ <value cell_index="1275" local_entity="3" value="0" />
+ <value cell_index="1278" local_entity="3" value="0" />
+ <value cell_index="1281" local_entity="3" value="0" />
+ <value cell_index="1284" local_entity="3" value="0" />
+ <value cell_index="1287" local_entity="3" value="0" />
+ <value cell_index="1290" local_entity="3" value="0" />
+ <value cell_index="1293" local_entity="3" value="0" />
+ <value cell_index="1296" local_entity="3" value="0" />
+ <value cell_index="1299" local_entity="3" value="0" />
+ <value cell_index="1302" local_entity="3" value="0" />
+ <value cell_index="1305" local_entity="3" value="0" />
+ <value cell_index="1308" local_entity="3" value="0" />
+ <value cell_index="1311" local_entity="3" value="0" />
+ <value cell_index="1314" local_entity="3" value="0" />
+ <value cell_index="1317" local_entity="3" value="0" />
+ <value cell_index="1320" local_entity="3" value="0" />
+ <value cell_index="1323" local_entity="3" value="0" />
+ <value cell_index="1326" local_entity="3" value="0" />
+ <value cell_index="1329" local_entity="3" value="0" />
+ <value cell_index="1332" local_entity="3" value="0" />
+ <value cell_index="1335" local_entity="3" value="0" />
+ <value cell_index="1338" local_entity="3" value="0" />
+ <value cell_index="1341" local_entity="3" value="3" />
+ <value cell_index="1344" local_entity="3" value="0" />
+ <value cell_index="1347" local_entity="3" value="0" />
+ <value cell_index="1350" local_entity="3" value="0" />
+ <value cell_index="1353" local_entity="3" value="0" />
+ <value cell_index="1356" local_entity="3" value="0" />
+ <value cell_index="1359" local_entity="3" value="0" />
+ <value cell_index="1362" local_entity="3" value="0" />
+ <value cell_index="1365" local_entity="3" value="0" />
+ <value cell_index="1368" local_entity="3" value="0" />
+ <value cell_index="1371" local_entity="3" value="0" />
+ <value cell_index="1374" local_entity="3" value="0" />
+ <value cell_index="1377" local_entity="3" value="0" />
+ <value cell_index="1380" local_entity="3" value="0" />
+ <value cell_index="1383" local_entity="3" value="0" />
+ <value cell_index="1386" local_entity="3" value="0" />
+ <value cell_index="1389" local_entity="3" value="0" />
+ <value cell_index="1392" local_entity="3" value="0" />
+ <value cell_index="1395" local_entity="3" value="0" />
+ <value cell_index="1398" local_entity="3" value="0" />
+ <value cell_index="1401" local_entity="3" value="0" />
+ <value cell_index="1404" local_entity="3" value="0" />
+ <value cell_index="1407" local_entity="3" value="0" />
+ <value cell_index="1410" local_entity="3" value="0" />
+ <value cell_index="1413" local_entity="3" value="0" />
+ <value cell_index="1416" local_entity="3" value="0" />
+ <value cell_index="1419" local_entity="3" value="0" />
+ <value cell_index="1422" local_entity="3" value="0" />
+ <value cell_index="1425" local_entity="3" value="0" />
+ <value cell_index="1428" local_entity="3" value="0" />
+ <value cell_index="1431" local_entity="3" value="0" />
+ <value cell_index="1434" local_entity="3" value="0" />
+ <value cell_index="1437" local_entity="3" value="0" />
+ <value cell_index="1440" local_entity="3" value="0" />
+ <value cell_index="1443" local_entity="3" value="0" />
+ <value cell_index="1446" local_entity="3" value="0" />
+ <value cell_index="1449" local_entity="3" value="0" />
+ <value cell_index="1452" local_entity="3" value="0" />
+ <value cell_index="1455" local_entity="3" value="0" />
+ <value cell_index="1458" local_entity="3" value="0" />
+ <value cell_index="1461" local_entity="3" value="0" />
+ <value cell_index="1464" local_entity="3" value="0" />
+ <value cell_index="1467" local_entity="3" value="0" />
+ <value cell_index="1470" local_entity="3" value="0" />
+ <value cell_index="1473" local_entity="3" value="0" />
+ <value cell_index="1476" local_entity="3" value="0" />
+ <value cell_index="1479" local_entity="3" value="0" />
+ <value cell_index="1482" local_entity="3" value="0" />
+ <value cell_index="1485" local_entity="3" value="0" />
+ <value cell_index="1488" local_entity="3" value="0" />
+ <value cell_index="1491" local_entity="3" value="0" />
+ <value cell_index="1494" local_entity="3" value="0" />
+ <value cell_index="1497" local_entity="3" value="0" />
+ <value cell_index="1500" local_entity="3" value="0" />
+ <value cell_index="1503" local_entity="3" value="0" />
+ <value cell_index="1506" local_entity="3" value="0" />
+ <value cell_index="1509" local_entity="3" value="0" />
+ <value cell_index="1512" local_entity="3" value="0" />
+ <value cell_index="1515" local_entity="3" value="0" />
+ <value cell_index="1518" local_entity="3" value="0" />
+ <value cell_index="1521" local_entity="3" value="0" />
+ <value cell_index="1524" local_entity="3" value="0" />
+ <value cell_index="1527" local_entity="3" value="0" />
+ <value cell_index="1530" local_entity="3" value="0" />
+ <value cell_index="1533" local_entity="3" value="0" />
+ <value cell_index="1536" local_entity="3" value="0" />
+ <value cell_index="1539" local_entity="3" value="0" />
+ <value cell_index="1542" local_entity="3" value="0" />
+ <value cell_index="1545" local_entity="3" value="0" />
+ <value cell_index="1548" local_entity="3" value="0" />
+ <value cell_index="1551" local_entity="3" value="0" />
+ <value cell_index="1554" local_entity="3" value="0" />
+ <value cell_index="1557" local_entity="3" value="0" />
+ <value cell_index="1560" local_entity="3" value="0" />
+ <value cell_index="1563" local_entity="3" value="0" />
+ <value cell_index="1566" local_entity="3" value="0" />
+ <value cell_index="1569" local_entity="3" value="0" />
+ <value cell_index="1572" local_entity="3" value="0" />
+ <value cell_index="1575" local_entity="3" value="0" />
+ <value cell_index="1578" local_entity="3" value="0" />
+ <value cell_index="1581" local_entity="3" value="0" />
+ <value cell_index="1584" local_entity="3" value="0" />
+ <value cell_index="1587" local_entity="3" value="0" />
+ <value cell_index="1590" local_entity="3" value="0" />
+ <value cell_index="1593" local_entity="3" value="0" />
+ <value cell_index="1596" local_entity="3" value="0" />
+ <value cell_index="1599" local_entity="3" value="0" />
+ <value cell_index="1602" local_entity="3" value="0" />
+ <value cell_index="1605" local_entity="3" value="0" />
+ <value cell_index="1608" local_entity="3" value="0" />
+ <value cell_index="1611" local_entity="3" value="0" />
+ <value cell_index="1614" local_entity="3" value="0" />
+ <value cell_index="1617" local_entity="3" value="0" />
+ <value cell_index="1620" local_entity="3" value="0" />
+ <value cell_index="1623" local_entity="3" value="0" />
+ <value cell_index="1626" local_entity="3" value="0" />
+ <value cell_index="1629" local_entity="3" value="0" />
+ <value cell_index="1632" local_entity="3" value="0" />
+ <value cell_index="1635" local_entity="3" value="0" />
+ <value cell_index="1638" local_entity="3" value="0" />
+ <value cell_index="1641" local_entity="3" value="0" />
+ <value cell_index="1644" local_entity="3" value="0" />
+ <value cell_index="1647" local_entity="3" value="0" />
+ <value cell_index="1650" local_entity="3" value="0" />
+ <value cell_index="1653" local_entity="3" value="0" />
+ <value cell_index="1656" local_entity="3" value="0" />
+ <value cell_index="1659" local_entity="3" value="0" />
+ <value cell_index="1662" local_entity="3" value="0" />
+ <value cell_index="1665" local_entity="3" value="0" />
+ <value cell_index="1668" local_entity="3" value="0" />
+ <value cell_index="1671" local_entity="3" value="0" />
+ <value cell_index="1674" local_entity="3" value="0" />
+ <value cell_index="1677" local_entity="3" value="0" />
+ <value cell_index="1680" local_entity="3" value="0" />
+ <value cell_index="1683" local_entity="3" value="0" />
+ <value cell_index="1686" local_entity="3" value="0" />
+ <value cell_index="1689" local_entity="3" value="0" />
+ <value cell_index="1692" local_entity="3" value="0" />
+ <value cell_index="1695" local_entity="3" value="0" />
+ <value cell_index="1698" local_entity="3" value="0" />
+ <value cell_index="1701" local_entity="3" value="0" />
+ <value cell_index="1704" local_entity="3" value="0" />
+ <value cell_index="1707" local_entity="3" value="0" />
+ <value cell_index="1710" local_entity="3" value="0" />
+ <value cell_index="1713" local_entity="3" value="0" />
+ <value cell_index="1716" local_entity="3" value="0" />
+ <value cell_index="1719" local_entity="3" value="0" />
+ <value cell_index="1722" local_entity="3" value="0" />
+ <value cell_index="1725" local_entity="3" value="0" />
+ <value cell_index="1728" local_entity="3" value="0" />
+ <value cell_index="1731" local_entity="3" value="0" />
+ <value cell_index="1734" local_entity="3" value="0" />
+ <value cell_index="1737" local_entity="3" value="0" />
+ <value cell_index="1740" local_entity="3" value="0" />
+ <value cell_index="1743" local_entity="3" value="0" />
+ <value cell_index="1746" local_entity="3" value="0" />
+ <value cell_index="1749" local_entity="3" value="0" />
+ <value cell_index="1752" local_entity="3" value="0" />
+ <value cell_index="1755" local_entity="3" value="0" />
+ <value cell_index="1758" local_entity="3" value="0" />
+ <value cell_index="1761" local_entity="3" value="0" />
+ <value cell_index="1764" local_entity="3" value="0" />
+ <value cell_index="1767" local_entity="3" value="0" />
+ <value cell_index="1770" local_entity="3" value="0" />
+ <value cell_index="1773" local_entity="3" value="0" />
+ <value cell_index="1776" local_entity="3" value="0" />
+ <value cell_index="1779" local_entity="3" value="0" />
+ <value cell_index="1782" local_entity="3" value="0" />
+ <value cell_index="1785" local_entity="3" value="0" />
+ <value cell_index="1788" local_entity="3" value="0" />
+ <value cell_index="1791" local_entity="3" value="0" />
+ <value cell_index="1794" local_entity="3" value="0" />
+ <value cell_index="1797" local_entity="3" value="0" />
+ <value cell_index="1800" local_entity="3" value="0" />
+ <value cell_index="1803" local_entity="3" value="0" />
+ <value cell_index="1806" local_entity="3" value="0" />
+ <value cell_index="1809" local_entity="3" value="0" />
+ <value cell_index="1812" local_entity="3" value="0" />
+ <value cell_index="1815" local_entity="3" value="0" />
+ <value cell_index="1818" local_entity="3" value="0" />
+ <value cell_index="1821" local_entity="3" value="0" />
+ <value cell_index="1824" local_entity="3" value="0" />
+ <value cell_index="1827" local_entity="3" value="0" />
+ <value cell_index="1830" local_entity="3" value="0" />
+ <value cell_index="1833" local_entity="3" value="0" />
+ <value cell_index="1836" local_entity="3" value="0" />
+ <value cell_index="1839" local_entity="3" value="0" />
+ <value cell_index="1842" local_entity="3" value="0" />
+ <value cell_index="1845" local_entity="3" value="0" />
+ <value cell_index="1848" local_entity="3" value="0" />
+ <value cell_index="1851" local_entity="3" value="0" />
+ <value cell_index="1854" local_entity="3" value="0" />
+ <value cell_index="1857" local_entity="3" value="0" />
+ <value cell_index="1860" local_entity="3" value="0" />
+ <value cell_index="1863" local_entity="3" value="0" />
+ <value cell_index="1866" local_entity="3" value="0" />
+ <value cell_index="1869" local_entity="3" value="0" />
+ <value cell_index="1872" local_entity="3" value="0" />
+ <value cell_index="1875" local_entity="3" value="0" />
+ <value cell_index="1878" local_entity="3" value="0" />
+ <value cell_index="1881" local_entity="3" value="0" />
+ <value cell_index="1884" local_entity="3" value="0" />
+ <value cell_index="1887" local_entity="3" value="0" />
+ <value cell_index="1890" local_entity="3" value="0" />
+ <value cell_index="1893" local_entity="3" value="0" />
+ <value cell_index="1896" local_entity="3" value="0" />
+ <value cell_index="1899" local_entity="3" value="0" />
+ <value cell_index="1902" local_entity="3" value="0" />
+ <value cell_index="1905" local_entity="3" value="0" />
+ <value cell_index="1908" local_entity="3" value="0" />
+ <value cell_index="1911" local_entity="3" value="0" />
+ <value cell_index="1914" local_entity="3" value="0" />
+ <value cell_index="1917" local_entity="3" value="0" />
+ <value cell_index="1920" local_entity="3" value="0" />
+ <value cell_index="1923" local_entity="3" value="0" />
+ <value cell_index="1926" local_entity="3" value="0" />
+ <value cell_index="1929" local_entity="3" value="0" />
+ <value cell_index="1932" local_entity="3" value="0" />
+ <value cell_index="1935" local_entity="3" value="0" />
+ <value cell_index="1938" local_entity="3" value="2" />
+ <value cell_index="1941" local_entity="3" value="0" />
+ <value cell_index="1944" local_entity="3" value="0" />
+ <value cell_index="1947" local_entity="3" value="0" />
+ <value cell_index="1950" local_entity="3" value="0" />
+ <value cell_index="1953" local_entity="3" value="0" />
+ <value cell_index="1956" local_entity="3" value="2" />
+ <value cell_index="1959" local_entity="3" value="0" />
+ <value cell_index="1962" local_entity="3" value="0" />
+ <value cell_index="1965" local_entity="3" value="0" />
+ <value cell_index="1968" local_entity="3" value="0" />
+ <value cell_index="1971" local_entity="3" value="0" />
+ <value cell_index="1974" local_entity="3" value="0" />
+ <value cell_index="1977" local_entity="3" value="0" />
+ <value cell_index="1980" local_entity="3" value="0" />
+ <value cell_index="1983" local_entity="3" value="0" />
+ <value cell_index="1986" local_entity="3" value="0" />
+ <value cell_index="1989" local_entity="3" value="0" />
+ <value cell_index="1992" local_entity="3" value="0" />
+ <value cell_index="1995" local_entity="3" value="0" />
+ <value cell_index="1998" local_entity="3" value="0" />
+ <value cell_index="2001" local_entity="3" value="0" />
+ <value cell_index="2004" local_entity="3" value="0" />
+ <value cell_index="2007" local_entity="3" value="0" />
+ <value cell_index="2010" local_entity="3" value="0" />
+ <value cell_index="2013" local_entity="3" value="0" />
+ <value cell_index="2016" local_entity="3" value="0" />
+ <value cell_index="2019" local_entity="3" value="0" />
+ <value cell_index="2022" local_entity="3" value="0" />
+ <value cell_index="2025" local_entity="3" value="0" />
+ <value cell_index="2028" local_entity="3" value="0" />
+ <value cell_index="2031" local_entity="3" value="0" />
+ <value cell_index="2034" local_entity="3" value="0" />
+ <value cell_index="2037" local_entity="3" value="0" />
+ <value cell_index="2040" local_entity="3" value="0" />
+ <value cell_index="2043" local_entity="3" value="0" />
+ <value cell_index="2046" local_entity="3" value="0" />
+ <value cell_index="2049" local_entity="3" value="0" />
+ <value cell_index="2052" local_entity="3" value="0" />
+ <value cell_index="2055" local_entity="3" value="0" />
+ <value cell_index="2058" local_entity="3" value="0" />
+ <value cell_index="2061" local_entity="3" value="0" />
+ <value cell_index="2064" local_entity="3" value="0" />
+ <value cell_index="2067" local_entity="3" value="0" />
+ <value cell_index="2070" local_entity="3" value="0" />
+ <value cell_index="2073" local_entity="3" value="0" />
+ <value cell_index="2076" local_entity="3" value="0" />
+ <value cell_index="2079" local_entity="3" value="0" />
+ <value cell_index="2082" local_entity="3" value="0" />
+ <value cell_index="2085" local_entity="3" value="0" />
+ <value cell_index="2088" local_entity="3" value="0" />
+ <value cell_index="2091" local_entity="3" value="0" />
+ <value cell_index="2094" local_entity="3" value="0" />
+ <value cell_index="2097" local_entity="3" value="0" />
+ <value cell_index="2100" local_entity="3" value="0" />
+ <value cell_index="2103" local_entity="3" value="0" />
+ <value cell_index="2106" local_entity="3" value="0" />
+ <value cell_index="2109" local_entity="3" value="0" />
+ <value cell_index="2112" local_entity="3" value="0" />
+ <value cell_index="2115" local_entity="3" value="0" />
+ <value cell_index="2118" local_entity="3" value="0" />
+ <value cell_index="2121" local_entity="3" value="0" />
+ <value cell_index="2124" local_entity="3" value="0" />
+ <value cell_index="2127" local_entity="3" value="0" />
+ <value cell_index="2130" local_entity="3" value="0" />
+ <value cell_index="2133" local_entity="3" value="0" />
+ <value cell_index="2136" local_entity="3" value="0" />
+ <value cell_index="2139" local_entity="3" value="0" />
+ <value cell_index="2142" local_entity="3" value="0" />
+ <value cell_index="2145" local_entity="3" value="0" />
+ <value cell_index="2148" local_entity="3" value="0" />
+ <value cell_index="2151" local_entity="3" value="0" />
+ <value cell_index="2154" local_entity="3" value="0" />
+ <value cell_index="2157" local_entity="3" value="0" />
+ <value cell_index="2160" local_entity="3" value="0" />
+ <value cell_index="2163" local_entity="3" value="0" />
+ <value cell_index="2166" local_entity="3" value="0" />
+ <value cell_index="2169" local_entity="3" value="0" />
+ <value cell_index="2172" local_entity="3" value="3" />
+ <value cell_index="2175" local_entity="3" value="0" />
+ <value cell_index="2178" local_entity="3" value="0" />
+ <value cell_index="2181" local_entity="3" value="0" />
+ <value cell_index="2184" local_entity="3" value="0" />
+ <value cell_index="2187" local_entity="3" value="0" />
+ <value cell_index="2190" local_entity="3" value="0" />
+ <value cell_index="2193" local_entity="3" value="0" />
+ <value cell_index="2196" local_entity="3" value="0" />
+ <value cell_index="2199" local_entity="3" value="0" />
+ <value cell_index="2202" local_entity="3" value="0" />
+ <value cell_index="2205" local_entity="3" value="0" />
+ <value cell_index="2208" local_entity="3" value="2" />
+ <value cell_index="2211" local_entity="3" value="0" />
+ <value cell_index="2214" local_entity="3" value="0" />
+ <value cell_index="2217" local_entity="3" value="0" />
+ <value cell_index="2220" local_entity="3" value="0" />
+ <value cell_index="2223" local_entity="3" value="0" />
+ <value cell_index="2226" local_entity="3" value="0" />
+ <value cell_index="2229" local_entity="3" value="0" />
+ <value cell_index="2232" local_entity="3" value="0" />
+ <value cell_index="2235" local_entity="3" value="0" />
+ <value cell_index="2238" local_entity="3" value="0" />
+ <value cell_index="2241" local_entity="3" value="0" />
+ <value cell_index="2244" local_entity="3" value="0" />
+ <value cell_index="2247" local_entity="3" value="0" />
+ <value cell_index="2250" local_entity="3" value="0" />
+ <value cell_index="2253" local_entity="3" value="0" />
+ <value cell_index="2256" local_entity="3" value="0" />
+ <value cell_index="2259" local_entity="3" value="0" />
+ <value cell_index="2262" local_entity="3" value="0" />
+ <value cell_index="2265" local_entity="3" value="0" />
+ <value cell_index="2268" local_entity="3" value="0" />
+ <value cell_index="2271" local_entity="3" value="0" />
+ <value cell_index="2274" local_entity="3" value="0" />
+ <value cell_index="2277" local_entity="3" value="0" />
+ <value cell_index="2280" local_entity="3" value="0" />
+ <value cell_index="2283" local_entity="3" value="0" />
+ <value cell_index="2286" local_entity="3" value="0" />
+ <value cell_index="2289" local_entity="3" value="0" />
+ <value cell_index="2292" local_entity="3" value="0" />
+ <value cell_index="2295" local_entity="3" value="0" />
+ <value cell_index="2298" local_entity="3" value="0" />
+ <value cell_index="2301" local_entity="3" value="0" />
+ <value cell_index="2304" local_entity="3" value="0" />
+ <value cell_index="2307" local_entity="3" value="0" />
+ <value cell_index="2310" local_entity="3" value="0" />
+ <value cell_index="2313" local_entity="3" value="0" />
+ <value cell_index="2316" local_entity="3" value="0" />
+ <value cell_index="2319" local_entity="3" value="0" />
+ <value cell_index="2322" local_entity="3" value="0" />
+ <value cell_index="2325" local_entity="3" value="0" />
+ <value cell_index="2328" local_entity="3" value="0" />
+ <value cell_index="2331" local_entity="3" value="0" />
+ <value cell_index="2334" local_entity="3" value="0" />
+ <value cell_index="2337" local_entity="3" value="0" />
+ <value cell_index="2340" local_entity="3" value="0" />
+ <value cell_index="2343" local_entity="3" value="0" />
+ <value cell_index="2346" local_entity="3" value="0" />
+ <value cell_index="2349" local_entity="3" value="0" />
+ <value cell_index="2352" local_entity="3" value="0" />
+ <value cell_index="2355" local_entity="3" value="0" />
+ <value cell_index="2358" local_entity="3" value="0" />
+ <value cell_index="2361" local_entity="3" value="0" />
+ <value cell_index="2364" local_entity="3" value="0" />
+ <value cell_index="2367" local_entity="3" value="0" />
+ <value cell_index="2370" local_entity="3" value="0" />
+ <value cell_index="2373" local_entity="3" value="0" />
+ <value cell_index="2376" local_entity="3" value="0" />
+ <value cell_index="2379" local_entity="3" value="0" />
+ <value cell_index="2382" local_entity="3" value="0" />
+ <value cell_index="2385" local_entity="3" value="0" />
+ <value cell_index="2388" local_entity="3" value="0" />
+ <value cell_index="2391" local_entity="3" value="0" />
+ <value cell_index="2394" local_entity="3" value="0" />
+ <value cell_index="2397" local_entity="3" value="0" />
+ <value cell_index="2400" local_entity="3" value="0" />
+ <value cell_index="2403" local_entity="3" value="0" />
+ <value cell_index="2406" local_entity="3" value="0" />
+ <value cell_index="2409" local_entity="3" value="0" />
+ <value cell_index="2412" local_entity="3" value="0" />
+ <value cell_index="2415" local_entity="3" value="0" />
+ <value cell_index="2418" local_entity="3" value="0" />
+ <value cell_index="2421" local_entity="3" value="0" />
+ <value cell_index="2424" local_entity="3" value="0" />
+ <value cell_index="2427" local_entity="3" value="0" />
+ <value cell_index="2430" local_entity="3" value="0" />
+ <value cell_index="2433" local_entity="3" value="0" />
+ <value cell_index="2436" local_entity="3" value="0" />
+ <value cell_index="2439" local_entity="3" value="0" />
+ <value cell_index="2442" local_entity="3" value="0" />
+ <value cell_index="2445" local_entity="3" value="0" />
+ <value cell_index="2448" local_entity="3" value="0" />
+ <value cell_index="2451" local_entity="3" value="0" />
+ <value cell_index="2454" local_entity="3" value="0" />
+ <value cell_index="2457" local_entity="3" value="0" />
+ <value cell_index="2460" local_entity="3" value="0" />
+ <value cell_index="2463" local_entity="3" value="0" />
+ <value cell_index="2466" local_entity="3" value="0" />
+ <value cell_index="2469" local_entity="3" value="0" />
+ <value cell_index="2472" local_entity="3" value="0" />
+ <value cell_index="2475" local_entity="3" value="0" />
+ <value cell_index="2478" local_entity="3" value="0" />
+ <value cell_index="2481" local_entity="3" value="0" />
+ <value cell_index="2484" local_entity="3" value="0" />
+ <value cell_index="2487" local_entity="3" value="1" />
+ <value cell_index="2490" local_entity="3" value="0" />
+ <value cell_index="2493" local_entity="3" value="0" />
+ <value cell_index="2496" local_entity="3" value="0" />
+ <value cell_index="2499" local_entity="3" value="0" />
+ <value cell_index="2502" local_entity="3" value="1" />
+ <value cell_index="2505" local_entity="3" value="0" />
+ <value cell_index="2508" local_entity="3" value="0" />
+ <value cell_index="2511" local_entity="3" value="0" />
+ <value cell_index="2514" local_entity="3" value="0" />
+ <value cell_index="2517" local_entity="3" value="0" />
+ <value cell_index="2520" local_entity="3" value="0" />
+ <value cell_index="2523" local_entity="3" value="0" />
+ <value cell_index="2526" local_entity="3" value="0" />
+ <value cell_index="2529" local_entity="3" value="0" />
+ <value cell_index="2532" local_entity="3" value="0" />
+ <value cell_index="2535" local_entity="3" value="0" />
+ <value cell_index="2538" local_entity="3" value="0" />
+ <value cell_index="2541" local_entity="3" value="0" />
+ <value cell_index="2544" local_entity="3" value="0" />
+ <value cell_index="2547" local_entity="3" value="0" />
+ <value cell_index="2550" local_entity="3" value="0" />
+ <value cell_index="2553" local_entity="3" value="0" />
+ <value cell_index="2556" local_entity="3" value="0" />
+ <value cell_index="2559" local_entity="3" value="0" />
+ <value cell_index="2562" local_entity="3" value="0" />
+ <value cell_index="2565" local_entity="3" value="0" />
+ <value cell_index="2568" local_entity="3" value="0" />
+ <value cell_index="2571" local_entity="3" value="0" />
+ <value cell_index="2574" local_entity="3" value="0" />
+ <value cell_index="2577" local_entity="3" value="0" />
+ <value cell_index="2580" local_entity="3" value="0" />
+ <value cell_index="2583" local_entity="3" value="0" />
+ <value cell_index="2586" local_entity="3" value="0" />
+ <value cell_index="2589" local_entity="3" value="0" />
+ <value cell_index="2592" local_entity="3" value="0" />
+ <value cell_index="2595" local_entity="3" value="0" />
+ <value cell_index="2598" local_entity="3" value="0" />
+ <value cell_index="2601" local_entity="3" value="0" />
+ <value cell_index="2604" local_entity="3" value="0" />
+ <value cell_index="2607" local_entity="3" value="0" />
+ <value cell_index="2610" local_entity="3" value="0" />
+ <value cell_index="2613" local_entity="3" value="0" />
+ <value cell_index="2616" local_entity="3" value="0" />
+ <value cell_index="2619" local_entity="3" value="0" />
+ <value cell_index="2622" local_entity="3" value="0" />
+ <value cell_index="2625" local_entity="3" value="0" />
+ <value cell_index="2628" local_entity="3" value="0" />
+ <value cell_index="2631" local_entity="3" value="0" />
+ <value cell_index="2634" local_entity="3" value="0" />
+ <value cell_index="2637" local_entity="3" value="0" />
+ <value cell_index="2640" local_entity="3" value="0" />
+ <value cell_index="2643" local_entity="3" value="0" />
+ <value cell_index="2646" local_entity="3" value="0" />
+ <value cell_index="2649" local_entity="3" value="0" />
+ <value cell_index="2652" local_entity="3" value="0" />
+ <value cell_index="2655" local_entity="3" value="0" />
+ <value cell_index="2658" local_entity="3" value="0" />
+ <value cell_index="2661" local_entity="3" value="0" />
+ <value cell_index="2664" local_entity="3" value="0" />
+ <value cell_index="2667" local_entity="3" value="0" />
+ <value cell_index="2670" local_entity="3" value="0" />
+ <value cell_index="2673" local_entity="3" value="0" />
+ <value cell_index="2676" local_entity="3" value="0" />
+ <value cell_index="2679" local_entity="3" value="0" />
+ <value cell_index="2682" local_entity="3" value="0" />
+ <value cell_index="2685" local_entity="3" value="0" />
+ <value cell_index="2688" local_entity="3" value="0" />
+ <value cell_index="2691" local_entity="3" value="0" />
+ <value cell_index="2694" local_entity="3" value="0" />
+ <value cell_index="2697" local_entity="3" value="0" />
+ <value cell_index="2700" local_entity="3" value="0" />
+ <value cell_index="2703" local_entity="3" value="0" />
+ <value cell_index="2706" local_entity="3" value="3" />
+ <value cell_index="2709" local_entity="3" value="3" />
+ <value cell_index="2712" local_entity="3" value="0" />
+ <value cell_index="2715" local_entity="3" value="0" />
+ <value cell_index="2718" local_entity="3" value="0" />
+ <value cell_index="2721" local_entity="3" value="3" />
+ <value cell_index="2724" local_entity="3" value="1" />
+ <value cell_index="2727" local_entity="3" value="0" />
+ <value cell_index="2730" local_entity="3" value="0" />
+ <value cell_index="2733" local_entity="3" value="0" />
+ <value cell_index="2736" local_entity="3" value="0" />
+ <value cell_index="2739" local_entity="3" value="0" />
+ <value cell_index="2742" local_entity="3" value="0" />
+ <value cell_index="2745" local_entity="3" value="0" />
+ <value cell_index="2748" local_entity="3" value="0" />
+ <value cell_index="2751" local_entity="3" value="0" />
+ <value cell_index="2754" local_entity="3" value="0" />
+ <value cell_index="2757" local_entity="3" value="0" />
+ <value cell_index="2760" local_entity="3" value="0" />
+ <value cell_index="2763" local_entity="3" value="0" />
+ <value cell_index="2766" local_entity="3" value="0" />
+ <value cell_index="2769" local_entity="3" value="0" />
+ <value cell_index="2772" local_entity="3" value="0" />
+ <value cell_index="2775" local_entity="3" value="0" />
+ <value cell_index="2778" local_entity="3" value="0" />
+ <value cell_index="2781" local_entity="3" value="0" />
+ <value cell_index="2784" local_entity="3" value="0" />
+ <value cell_index="2787" local_entity="3" value="0" />
+ <value cell_index="2790" local_entity="3" value="0" />
+ <value cell_index="2793" local_entity="3" value="0" />
+ <value cell_index="2796" local_entity="3" value="0" />
+ <value cell_index="2799" local_entity="3" value="0" />
+ <value cell_index="2802" local_entity="3" value="0" />
+ <value cell_index="2805" local_entity="3" value="0" />
+ <value cell_index="2808" local_entity="3" value="0" />
+ <value cell_index="2811" local_entity="3" value="0" />
+ <value cell_index="2814" local_entity="3" value="0" />
+ <value cell_index="2817" local_entity="3" value="0" />
+ <value cell_index="2820" local_entity="3" value="0" />
+ <value cell_index="2823" local_entity="3" value="0" />
+ <value cell_index="2826" local_entity="3" value="0" />
+ <value cell_index="2829" local_entity="3" value="0" />
+ <value cell_index="2832" local_entity="3" value="0" />
+ <value cell_index="2835" local_entity="3" value="0" />
+ <value cell_index="2838" local_entity="3" value="0" />
+ <value cell_index="2841" local_entity="3" value="0" />
+ <value cell_index="2844" local_entity="3" value="0" />
+ <value cell_index="2847" local_entity="3" value="0" />
+ <value cell_index="2850" local_entity="3" value="0" />
+ <value cell_index="2853" local_entity="3" value="0" />
+ <value cell_index="2856" local_entity="3" value="0" />
+ <value cell_index="2859" local_entity="3" value="0" />
+ <value cell_index="2862" local_entity="3" value="0" />
+ <value cell_index="2865" local_entity="3" value="0" />
+ <value cell_index="2868" local_entity="3" value="0" />
+ <value cell_index="2871" local_entity="3" value="0" />
+ <value cell_index="2874" local_entity="3" value="0" />
+ <value cell_index="2877" local_entity="3" value="0" />
+ <value cell_index="2880" local_entity="3" value="0" />
+ <value cell_index="2883" local_entity="3" value="0" />
+ <value cell_index="2886" local_entity="3" value="0" />
+ <value cell_index="2889" local_entity="3" value="0" />
+ <value cell_index="2892" local_entity="3" value="0" />
+ <value cell_index="2895" local_entity="3" value="0" />
+ <value cell_index="2898" local_entity="3" value="0" />
+ <value cell_index="2901" local_entity="3" value="0" />
+ <value cell_index="2904" local_entity="3" value="0" />
+ <value cell_index="2907" local_entity="3" value="0" />
+ <value cell_index="2910" local_entity="3" value="0" />
+ <value cell_index="2913" local_entity="3" value="0" />
+ <value cell_index="2916" local_entity="3" value="0" />
+ <value cell_index="2919" local_entity="3" value="0" />
+ <value cell_index="2922" local_entity="3" value="0" />
+ <value cell_index="2925" local_entity="3" value="0" />
+ <value cell_index="2928" local_entity="3" value="1" />
+ <value cell_index="2931" local_entity="3" value="1" />
+ <value cell_index="2934" local_entity="3" value="0" />
+ <value cell_index="2937" local_entity="3" value="0" />
+ <value cell_index="2940" local_entity="3" value="0" />
+ <value cell_index="2943" local_entity="3" value="0" />
+ <value cell_index="2946" local_entity="3" value="0" />
+ <value cell_index="2949" local_entity="3" value="0" />
+ <value cell_index="2952" local_entity="3" value="0" />
+ <value cell_index="2955" local_entity="3" value="0" />
+ <value cell_index="2958" local_entity="3" value="0" />
+ <value cell_index="2961" local_entity="3" value="0" />
+ <value cell_index="2964" local_entity="3" value="0" />
+ <value cell_index="2967" local_entity="3" value="0" />
+ <value cell_index="2970" local_entity="3" value="0" />
+ <value cell_index="2973" local_entity="3" value="0" />
+ <value cell_index="2976" local_entity="3" value="0" />
+ <value cell_index="2979" local_entity="3" value="0" />
+ <value cell_index="2982" local_entity="3" value="0" />
+ <value cell_index="2985" local_entity="3" value="0" />
+ <value cell_index="2988" local_entity="3" value="0" />
+ <value cell_index="2991" local_entity="3" value="0" />
+ <value cell_index="2994" local_entity="3" value="0" />
+ <value cell_index="2997" local_entity="3" value="0" />
+ <value cell_index="3000" local_entity="3" value="0" />
+ <value cell_index="3003" local_entity="3" value="0" />
+ <value cell_index="3006" local_entity="3" value="0" />
+ <value cell_index="3009" local_entity="3" value="0" />
+ <value cell_index="3012" local_entity="3" value="0" />
+ <value cell_index="3015" local_entity="3" value="0" />
+ <value cell_index="3018" local_entity="3" value="0" />
+ <value cell_index="3021" local_entity="3" value="0" />
+ <value cell_index="3024" local_entity="3" value="0" />
+ <value cell_index="3027" local_entity="3" value="0" />
+ <value cell_index="3030" local_entity="3" value="0" />
+ <value cell_index="3033" local_entity="3" value="0" />
+ <value cell_index="3036" local_entity="3" value="0" />
+ <value cell_index="3039" local_entity="3" value="0" />
+ <value cell_index="3042" local_entity="3" value="0" />
+ <value cell_index="3045" local_entity="3" value="0" />
+ <value cell_index="3048" local_entity="3" value="0" />
+ <value cell_index="3051" local_entity="3" value="0" />
+ <value cell_index="3054" local_entity="3" value="0" />
+ <value cell_index="3057" local_entity="3" value="0" />
+ <value cell_index="3060" local_entity="3" value="0" />
+ <value cell_index="3063" local_entity="3" value="0" />
+ <value cell_index="3066" local_entity="3" value="0" />
+ <value cell_index="3069" local_entity="3" value="0" />
+ <value cell_index="3072" local_entity="3" value="0" />
+ <value cell_index="3075" local_entity="3" value="0" />
+ <value cell_index="3078" local_entity="3" value="0" />
+ <value cell_index="3081" local_entity="3" value="0" />
+ <value cell_index="3084" local_entity="3" value="0" />
+ <value cell_index="3087" local_entity="3" value="0" />
+ <value cell_index="3090" local_entity="3" value="0" />
+ <value cell_index="3093" local_entity="3" value="0" />
+ <value cell_index="3096" local_entity="3" value="0" />
+ <value cell_index="3099" local_entity="3" value="0" />
+ <value cell_index="3102" local_entity="3" value="0" />
+ <value cell_index="3105" local_entity="3" value="0" />
+ <value cell_index="3108" local_entity="3" value="0" />
+ <value cell_index="3111" local_entity="3" value="0" />
+ <value cell_index="3114" local_entity="3" value="0" />
+ <value cell_index="3117" local_entity="3" value="0" />
+ <value cell_index="3120" local_entity="3" value="0" />
+ <value cell_index="3123" local_entity="3" value="0" />
+ <value cell_index="3126" local_entity="3" value="0" />
+ <value cell_index="3129" local_entity="3" value="0" />
+ <value cell_index="3132" local_entity="3" value="0" />
+ <value cell_index="3135" local_entity="3" value="0" />
+ <value cell_index="3138" local_entity="3" value="0" />
+ <value cell_index="3141" local_entity="3" value="0" />
+ <value cell_index="3144" local_entity="3" value="0" />
+ <value cell_index="3147" local_entity="3" value="0" />
+ <value cell_index="3150" local_entity="3" value="0" />
+ <value cell_index="3153" local_entity="3" value="0" />
+ <value cell_index="3156" local_entity="3" value="0" />
+ <value cell_index="3159" local_entity="3" value="0" />
+ <value cell_index="3162" local_entity="3" value="0" />
+ <value cell_index="3165" local_entity="3" value="0" />
+ <value cell_index="3168" local_entity="3" value="0" />
+ <value cell_index="3171" local_entity="3" value="0" />
+ <value cell_index="3174" local_entity="3" value="0" />
+ <value cell_index="3177" local_entity="3" value="0" />
+ <value cell_index="3180" local_entity="3" value="0" />
+ <value cell_index="3183" local_entity="3" value="0" />
+ <value cell_index="3186" local_entity="3" value="0" />
+ <value cell_index="3189" local_entity="3" value="0" />
+ <value cell_index="3192" local_entity="3" value="0" />
+ <value cell_index="3195" local_entity="3" value="0" />
+ <value cell_index="3198" local_entity="3" value="0" />
+ <value cell_index="3201" local_entity="3" value="1" />
+ <value cell_index="3204" local_entity="3" value="1" />
+ <value cell_index="3207" local_entity="3" value="0" />
+ <value cell_index="3210" local_entity="3" value="0" />
+ <value cell_index="3213" local_entity="3" value="3" />
+ <value cell_index="3216" local_entity="3" value="3" />
+ <value cell_index="3219" local_entity="3" value="0" />
+ <value cell_index="3222" local_entity="3" value="0" />
+ <value cell_index="3225" local_entity="3" value="0" />
+ <value cell_index="3228" local_entity="3" value="0" />
+ <value cell_index="3231" local_entity="3" value="0" />
+ <value cell_index="3234" local_entity="3" value="0" />
+ <value cell_index="3237" local_entity="3" value="1" />
+ <value cell_index="3240" local_entity="3" value="0" />
+ <value cell_index="3243" local_entity="3" value="0" />
+ <value cell_index="3246" local_entity="3" value="0" />
+ <value cell_index="3249" local_entity="3" value="0" />
+ <value cell_index="3252" local_entity="3" value="0" />
+ <value cell_index="3255" local_entity="3" value="0" />
+ <value cell_index="3258" local_entity="3" value="0" />
+ <value cell_index="3261" local_entity="3" value="0" />
+ <value cell_index="3264" local_entity="3" value="0" />
+ <value cell_index="3267" local_entity="3" value="0" />
+ <value cell_index="3270" local_entity="3" value="0" />
+ <value cell_index="3273" local_entity="3" value="0" />
+ <value cell_index="3276" local_entity="3" value="0" />
+ <value cell_index="3279" local_entity="3" value="0" />
+ <value cell_index="3282" local_entity="3" value="0" />
+ <value cell_index="3285" local_entity="3" value="0" />
+ <value cell_index="3288" local_entity="3" value="0" />
+ <value cell_index="3291" local_entity="3" value="0" />
+ <value cell_index="3294" local_entity="3" value="0" />
+ <value cell_index="3297" local_entity="3" value="0" />
+ <value cell_index="3300" local_entity="3" value="0" />
+ <value cell_index="3303" local_entity="3" value="0" />
+ <value cell_index="3306" local_entity="3" value="0" />
+ <value cell_index="3309" local_entity="3" value="0" />
+ <value cell_index="3312" local_entity="3" value="0" />
+ <value cell_index="3315" local_entity="3" value="0" />
+ <value cell_index="3318" local_entity="3" value="0" />
+ <value cell_index="3321" local_entity="3" value="0" />
+ <value cell_index="3324" local_entity="3" value="0" />
+ <value cell_index="3327" local_entity="3" value="0" />
+ <value cell_index="3330" local_entity="3" value="0" />
+ <value cell_index="3333" local_entity="3" value="0" />
+ <value cell_index="3336" local_entity="3" value="0" />
+ <value cell_index="3339" local_entity="3" value="0" />
+ <value cell_index="3342" local_entity="3" value="0" />
+ <value cell_index="3345" local_entity="3" value="0" />
+ <value cell_index="3348" local_entity="3" value="0" />
+ <value cell_index="3351" local_entity="3" value="0" />
+ <value cell_index="3354" local_entity="3" value="0" />
+ <value cell_index="3357" local_entity="3" value="0" />
+ <value cell_index="3360" local_entity="3" value="0" />
+ <value cell_index="3363" local_entity="3" value="0" />
+ <value cell_index="3366" local_entity="3" value="0" />
+ <value cell_index="3369" local_entity="3" value="0" />
+ <value cell_index="3372" local_entity="3" value="0" />
+ <value cell_index="3375" local_entity="3" value="0" />
+ <value cell_index="3378" local_entity="3" value="0" />
+ <value cell_index="3381" local_entity="3" value="0" />
+ <value cell_index="3384" local_entity="3" value="0" />
+ <value cell_index="3387" local_entity="3" value="0" />
+ <value cell_index="3390" local_entity="3" value="0" />
+ <value cell_index="3393" local_entity="3" value="0" />
+ <value cell_index="3396" local_entity="3" value="0" />
+ <value cell_index="3399" local_entity="3" value="0" />
+ <value cell_index="3402" local_entity="3" value="0" />
+ <value cell_index="3405" local_entity="3" value="0" />
+ <value cell_index="3408" local_entity="3" value="0" />
+ <value cell_index="3411" local_entity="3" value="0" />
+ <value cell_index="3414" local_entity="3" value="0" />
+ <value cell_index="3417" local_entity="3" value="0" />
+ <value cell_index="3420" local_entity="3" value="0" />
+ <value cell_index="3423" local_entity="3" value="0" />
+ <value cell_index="3426" local_entity="3" value="0" />
+ <value cell_index="3429" local_entity="3" value="0" />
+ <value cell_index="3432" local_entity="3" value="0" />
+ <value cell_index="3435" local_entity="3" value="0" />
+ <value cell_index="3438" local_entity="3" value="0" />
+ <value cell_index="3441" local_entity="3" value="0" />
+ <value cell_index="3444" local_entity="3" value="0" />
+ <value cell_index="3447" local_entity="3" value="0" />
+ <value cell_index="3450" local_entity="3" value="0" />
+ <value cell_index="3453" local_entity="3" value="0" />
+ <value cell_index="3456" local_entity="3" value="1" />
+ <value cell_index="3459" local_entity="3" value="1" />
+ <value cell_index="3462" local_entity="3" value="0" />
+ <value cell_index="3465" local_entity="3" value="3" />
+ <value cell_index="3468" local_entity="3" value="0" />
+ <value cell_index="3471" local_entity="3" value="0" />
+ <value cell_index="3474" local_entity="3" value="0" />
+ <value cell_index="3477" local_entity="3" value="0" />
+ <value cell_index="3480" local_entity="3" value="0" />
+ <value cell_index="3483" local_entity="3" value="0" />
+ <value cell_index="3486" local_entity="3" value="0" />
+ <value cell_index="3489" local_entity="3" value="0" />
+ <value cell_index="3492" local_entity="3" value="0" />
+ <value cell_index="3495" local_entity="3" value="0" />
+ <value cell_index="3498" local_entity="3" value="0" />
+ <value cell_index="3501" local_entity="3" value="0" />
+ <value cell_index="3504" local_entity="3" value="0" />
+ <value cell_index="3507" local_entity="3" value="0" />
+ <value cell_index="3510" local_entity="3" value="0" />
+ <value cell_index="3513" local_entity="3" value="0" />
+ <value cell_index="3516" local_entity="3" value="0" />
+ <value cell_index="3519" local_entity="3" value="0" />
+ <value cell_index="3522" local_entity="3" value="1" />
+ <value cell_index="3525" local_entity="3" value="1" />
+ <value cell_index="3528" local_entity="3" value="0" />
+ <value cell_index="3531" local_entity="3" value="0" />
+ <value cell_index="3534" local_entity="3" value="0" />
+ <value cell_index="3537" local_entity="3" value="0" />
+ <value cell_index="3540" local_entity="3" value="0" />
+ <value cell_index="3543" local_entity="3" value="0" />
+ <value cell_index="3546" local_entity="3" value="0" />
+ <value cell_index="3549" local_entity="3" value="0" />
+ <value cell_index="3552" local_entity="3" value="0" />
+ <value cell_index="3555" local_entity="3" value="0" />
+ <value cell_index="3558" local_entity="3" value="0" />
+ <value cell_index="3561" local_entity="3" value="0" />
+ <value cell_index="3564" local_entity="3" value="0" />
+ <value cell_index="3567" local_entity="3" value="0" />
+ <value cell_index="3570" local_entity="3" value="0" />
+ <value cell_index="3573" local_entity="3" value="0" />
+ <value cell_index="3576" local_entity="3" value="0" />
+ <value cell_index="3579" local_entity="3" value="0" />
+ <value cell_index="3582" local_entity="3" value="0" />
+ <value cell_index="3585" local_entity="3" value="0" />
+ <value cell_index="3588" local_entity="3" value="0" />
+ <value cell_index="3591" local_entity="3" value="0" />
+ <value cell_index="3594" local_entity="3" value="0" />
+ <value cell_index="3597" local_entity="3" value="0" />
+ <value cell_index="3600" local_entity="3" value="0" />
+ <value cell_index="3603" local_entity="3" value="0" />
+ <value cell_index="3606" local_entity="3" value="0" />
+ <value cell_index="3609" local_entity="3" value="0" />
+ <value cell_index="3612" local_entity="3" value="0" />
+ <value cell_index="3615" local_entity="3" value="0" />
+ <value cell_index="3618" local_entity="3" value="0" />
+ <value cell_index="3621" local_entity="3" value="0" />
+ <value cell_index="3624" local_entity="3" value="0" />
+ <value cell_index="3627" local_entity="3" value="0" />
+ <value cell_index="3630" local_entity="3" value="0" />
+ <value cell_index="3633" local_entity="3" value="0" />
+ <value cell_index="3636" local_entity="3" value="0" />
+ <value cell_index="3639" local_entity="3" value="0" />
+ <value cell_index="3642" local_entity="3" value="0" />
+ <value cell_index="3645" local_entity="3" value="0" />
+ <value cell_index="3648" local_entity="3" value="0" />
+ <value cell_index="3651" local_entity="3" value="0" />
+ <value cell_index="3654" local_entity="3" value="0" />
+ <value cell_index="3657" local_entity="3" value="0" />
+ <value cell_index="3660" local_entity="3" value="0" />
+ <value cell_index="3663" local_entity="3" value="0" />
+ <value cell_index="3666" local_entity="3" value="0" />
+ <value cell_index="3669" local_entity="3" value="0" />
+ <value cell_index="3672" local_entity="3" value="0" />
+ <value cell_index="3675" local_entity="3" value="0" />
+ <value cell_index="3678" local_entity="3" value="0" />
+ <value cell_index="3681" local_entity="3" value="0" />
+ <value cell_index="3684" local_entity="3" value="0" />
+ <value cell_index="3687" local_entity="3" value="0" />
+ <value cell_index="3690" local_entity="3" value="0" />
+ <value cell_index="3693" local_entity="3" value="0" />
+ <value cell_index="3696" local_entity="3" value="0" />
+ <value cell_index="3699" local_entity="3" value="0" />
+ <value cell_index="3702" local_entity="3" value="0" />
+ <value cell_index="3705" local_entity="3" value="0" />
+ <value cell_index="3708" local_entity="3" value="0" />
+ <value cell_index="3711" local_entity="3" value="0" />
+ <value cell_index="3714" local_entity="3" value="0" />
+ <value cell_index="3717" local_entity="3" value="0" />
+ <value cell_index="3720" local_entity="3" value="0" />
+ <value cell_index="3723" local_entity="3" value="0" />
+ <value cell_index="3726" local_entity="3" value="0" />
+ <value cell_index="3729" local_entity="3" value="0" />
+ <value cell_index="3732" local_entity="3" value="0" />
+ <value cell_index="3735" local_entity="3" value="0" />
+ <value cell_index="3738" local_entity="3" value="0" />
+ <value cell_index="3741" local_entity="3" value="0" />
+ <value cell_index="3744" local_entity="3" value="0" />
+ <value cell_index="3747" local_entity="3" value="0" />
+ <value cell_index="3750" local_entity="3" value="0" />
+ <value cell_index="3753" local_entity="3" value="0" />
+ <value cell_index="3756" local_entity="3" value="0" />
+ <value cell_index="3759" local_entity="3" value="0" />
+ <value cell_index="3762" local_entity="3" value="0" />
+ <value cell_index="3765" local_entity="3" value="0" />
+ <value cell_index="3768" local_entity="3" value="0" />
+ <value cell_index="3771" local_entity="3" value="0" />
+ <value cell_index="3774" local_entity="3" value="0" />
+ <value cell_index="3777" local_entity="3" value="0" />
+ <value cell_index="3780" local_entity="3" value="0" />
+ <value cell_index="3783" local_entity="3" value="0" />
+ <value cell_index="3786" local_entity="3" value="0" />
+ <value cell_index="3789" local_entity="3" value="0" />
+ <value cell_index="3792" local_entity="3" value="0" />
+ <value cell_index="3795" local_entity="3" value="0" />
+ <value cell_index="3798" local_entity="3" value="0" />
+ <value cell_index="3801" local_entity="3" value="0" />
+ <value cell_index="3804" local_entity="3" value="0" />
+ <value cell_index="3807" local_entity="3" value="0" />
+ <value cell_index="3810" local_entity="3" value="0" />
+ <value cell_index="3813" local_entity="3" value="0" />
+ <value cell_index="3816" local_entity="3" value="0" />
+ <value cell_index="3819" local_entity="3" value="0" />
+ <value cell_index="3822" local_entity="3" value="0" />
+ <value cell_index="3825" local_entity="3" value="0" />
+ <value cell_index="3828" local_entity="3" value="0" />
+ <value cell_index="3831" local_entity="3" value="0" />
+ <value cell_index="3834" local_entity="3" value="0" />
+ <value cell_index="3837" local_entity="3" value="0" />
+ <value cell_index="3840" local_entity="3" value="0" />
+ <value cell_index="3843" local_entity="3" value="0" />
+ <value cell_index="3846" local_entity="3" value="0" />
+ <value cell_index="3849" local_entity="3" value="1" />
+ <value cell_index="3852" local_entity="3" value="0" />
+ <value cell_index="3855" local_entity="3" value="0" />
+ <value cell_index="3858" local_entity="3" value="0" />
+ <value cell_index="3861" local_entity="3" value="0" />
+ <value cell_index="3864" local_entity="3" value="0" />
+ <value cell_index="3867" local_entity="3" value="0" />
+ <value cell_index="3870" local_entity="3" value="0" />
+ <value cell_index="3873" local_entity="3" value="0" />
+ <value cell_index="3876" local_entity="3" value="0" />
+ <value cell_index="3879" local_entity="3" value="0" />
+ <value cell_index="3882" local_entity="3" value="0" />
+ <value cell_index="3885" local_entity="3" value="0" />
+ <value cell_index="3888" local_entity="3" value="0" />
+ <value cell_index="3891" local_entity="3" value="0" />
+ <value cell_index="3894" local_entity="3" value="0" />
+ <value cell_index="3897" local_entity="3" value="0" />
+ <value cell_index="3900" local_entity="3" value="0" />
+ <value cell_index="3903" local_entity="3" value="0" />
+ <value cell_index="3906" local_entity="3" value="0" />
+ <value cell_index="3909" local_entity="3" value="0" />
+ <value cell_index="3912" local_entity="3" value="0" />
+ <value cell_index="3915" local_entity="3" value="0" />
+ <value cell_index="3918" local_entity="3" value="0" />
+ <value cell_index="3921" local_entity="3" value="0" />
+ <value cell_index="3924" local_entity="3" value="0" />
+ <value cell_index="3927" local_entity="3" value="0" />
+ <value cell_index="3930" local_entity="3" value="0" />
+ <value cell_index="3933" local_entity="3" value="0" />
+ <value cell_index="3936" local_entity="3" value="0" />
+ <value cell_index="3939" local_entity="3" value="0" />
+ <value cell_index="3942" local_entity="3" value="0" />
+ <value cell_index="3945" local_entity="3" value="0" />
+ <value cell_index="3948" local_entity="3" value="0" />
+ <value cell_index="3951" local_entity="3" value="0" />
+ <value cell_index="3954" local_entity="3" value="0" />
+ <value cell_index="3957" local_entity="3" value="0" />
+ <value cell_index="3960" local_entity="3" value="0" />
+ <value cell_index="3963" local_entity="3" value="0" />
+ <value cell_index="3966" local_entity="3" value="0" />
+ <value cell_index="3969" local_entity="3" value="0" />
+ <value cell_index="3972" local_entity="3" value="0" />
+ <value cell_index="3975" local_entity="3" value="0" />
+ <value cell_index="3978" local_entity="3" value="0" />
+ <value cell_index="3981" local_entity="3" value="0" />
+ <value cell_index="3984" local_entity="3" value="0" />
+ <value cell_index="3987" local_entity="3" value="0" />
+ <value cell_index="3990" local_entity="3" value="0" />
+ <value cell_index="3993" local_entity="3" value="0" />
+ <value cell_index="3996" local_entity="3" value="0" />
+ <value cell_index="3999" local_entity="3" value="0" />
+ <value cell_index="4002" local_entity="3" value="0" />
+ <value cell_index="4005" local_entity="3" value="0" />
+ <value cell_index="4008" local_entity="3" value="0" />
+ <value cell_index="4011" local_entity="3" value="0" />
+ <value cell_index="4014" local_entity="3" value="0" />
+ <value cell_index="4017" local_entity="3" value="0" />
+ <value cell_index="4020" local_entity="3" value="0" />
+ <value cell_index="4023" local_entity="3" value="0" />
+ <value cell_index="4026" local_entity="3" value="0" />
+ <value cell_index="4029" local_entity="3" value="0" />
+ <value cell_index="4032" local_entity="3" value="0" />
+ <value cell_index="4035" local_entity="3" value="0" />
+ <value cell_index="4038" local_entity="3" value="0" />
+ <value cell_index="4041" local_entity="3" value="0" />
+ <value cell_index="4044" local_entity="3" value="0" />
+ <value cell_index="4047" local_entity="3" value="0" />
+ <value cell_index="4050" local_entity="3" value="0" />
+ <value cell_index="4053" local_entity="3" value="0" />
+ <value cell_index="4056" local_entity="3" value="0" />
+ <value cell_index="4059" local_entity="3" value="0" />
+ <value cell_index="4062" local_entity="3" value="1" />
+ <value cell_index="4065" local_entity="3" value="1" />
+ <value cell_index="4068" local_entity="3" value="0" />
+ <value cell_index="4071" local_entity="3" value="0" />
+ <value cell_index="4074" local_entity="3" value="0" />
+ <value cell_index="4077" local_entity="3" value="0" />
+ <value cell_index="4080" local_entity="3" value="0" />
+ <value cell_index="4083" local_entity="3" value="0" />
+ <value cell_index="4086" local_entity="3" value="0" />
+ <value cell_index="4089" local_entity="3" value="0" />
+ <value cell_index="4092" local_entity="3" value="0" />
+ <value cell_index="4095" local_entity="3" value="0" />
+ <value cell_index="4098" local_entity="3" value="0" />
+ <value cell_index="4101" local_entity="3" value="0" />
+ <value cell_index="4104" local_entity="3" value="0" />
+ <value cell_index="4107" local_entity="3" value="0" />
+ <value cell_index="4110" local_entity="3" value="0" />
+ <value cell_index="4113" local_entity="3" value="0" />
+ <value cell_index="4116" local_entity="3" value="0" />
+ <value cell_index="4119" local_entity="3" value="0" />
+ <value cell_index="4122" local_entity="3" value="3" />
+ <value cell_index="4125" local_entity="3" value="3" />
+ <value cell_index="4128" local_entity="3" value="0" />
+ <value cell_index="4131" local_entity="3" value="0" />
+ <value cell_index="4134" local_entity="3" value="0" />
+ <value cell_index="4137" local_entity="3" value="0" />
+ <value cell_index="4140" local_entity="3" value="0" />
+ <value cell_index="4143" local_entity="3" value="0" />
+ <value cell_index="4146" local_entity="3" value="1" />
+ <value cell_index="4149" local_entity="3" value="1" />
+ <value cell_index="4152" local_entity="3" value="0" />
+ <value cell_index="4155" local_entity="3" value="0" />
+ <value cell_index="4158" local_entity="3" value="0" />
+ <value cell_index="4161" local_entity="3" value="0" />
+ <value cell_index="4164" local_entity="3" value="0" />
+ <value cell_index="4167" local_entity="3" value="0" />
+ <value cell_index="4170" local_entity="3" value="0" />
+ <value cell_index="4173" local_entity="3" value="0" />
+ <value cell_index="4176" local_entity="3" value="0" />
+ <value cell_index="4179" local_entity="3" value="0" />
+ <value cell_index="4182" local_entity="3" value="0" />
+ <value cell_index="4185" local_entity="3" value="0" />
+ <value cell_index="4188" local_entity="3" value="0" />
+ <value cell_index="4191" local_entity="3" value="0" />
+ <value cell_index="4194" local_entity="3" value="0" />
+ <value cell_index="4197" local_entity="3" value="0" />
+ <value cell_index="4200" local_entity="3" value="0" />
+ <value cell_index="4203" local_entity="3" value="0" />
+ <value cell_index="4206" local_entity="3" value="0" />
+ <value cell_index="4209" local_entity="3" value="0" />
+ <value cell_index="4212" local_entity="3" value="0" />
+ <value cell_index="4215" local_entity="3" value="0" />
+ <value cell_index="4218" local_entity="3" value="0" />
+ <value cell_index="4221" local_entity="3" value="0" />
+ <value cell_index="4224" local_entity="3" value="0" />
+ <value cell_index="4227" local_entity="3" value="0" />
+ <value cell_index="4230" local_entity="3" value="0" />
+ <value cell_index="4233" local_entity="3" value="0" />
+ <value cell_index="4236" local_entity="3" value="0" />
+ <value cell_index="4239" local_entity="3" value="0" />
+ <value cell_index="4242" local_entity="3" value="0" />
+ <value cell_index="4245" local_entity="3" value="0" />
+ <value cell_index="4248" local_entity="3" value="0" />
+ <value cell_index="4251" local_entity="3" value="0" />
+ <value cell_index="4254" local_entity="3" value="0" />
+ <value cell_index="4257" local_entity="3" value="0" />
+ <value cell_index="4260" local_entity="3" value="0" />
+ <value cell_index="4263" local_entity="3" value="0" />
+ <value cell_index="4266" local_entity="3" value="0" />
+ <value cell_index="4269" local_entity="3" value="0" />
+ <value cell_index="4272" local_entity="3" value="0" />
+ <value cell_index="4275" local_entity="3" value="0" />
+ <value cell_index="4278" local_entity="3" value="0" />
+ <value cell_index="4281" local_entity="3" value="0" />
+ <value cell_index="4284" local_entity="3" value="0" />
+ <value cell_index="4287" local_entity="3" value="0" />
+ <value cell_index="4290" local_entity="3" value="0" />
+ <value cell_index="4293" local_entity="3" value="0" />
+ <value cell_index="4296" local_entity="3" value="0" />
+ <value cell_index="4299" local_entity="3" value="0" />
+ <value cell_index="4302" local_entity="3" value="0" />
+ <value cell_index="4305" local_entity="3" value="0" />
+ <value cell_index="4308" local_entity="3" value="0" />
+ <value cell_index="4311" local_entity="3" value="0" />
+ <value cell_index="4314" local_entity="3" value="0" />
+ <value cell_index="4317" local_entity="3" value="0" />
+ <value cell_index="4320" local_entity="3" value="0" />
+ <value cell_index="4323" local_entity="3" value="0" />
+ <value cell_index="4326" local_entity="3" value="0" />
+ <value cell_index="4329" local_entity="3" value="0" />
+ <value cell_index="4332" local_entity="3" value="0" />
+ <value cell_index="4335" local_entity="3" value="0" />
+ <value cell_index="4338" local_entity="3" value="0" />
+ <value cell_index="4341" local_entity="3" value="0" />
+ <value cell_index="4344" local_entity="3" value="0" />
+ <value cell_index="4347" local_entity="3" value="0" />
+ <value cell_index="4350" local_entity="3" value="0" />
+ <value cell_index="4353" local_entity="3" value="0" />
+ <value cell_index="4356" local_entity="3" value="0" />
+ <value cell_index="4359" local_entity="3" value="0" />
+ <value cell_index="4362" local_entity="3" value="0" />
+ <value cell_index="4365" local_entity="3" value="0" />
+ <value cell_index="4368" local_entity="3" value="0" />
+ <value cell_index="4371" local_entity="3" value="0" />
+ <value cell_index="4374" local_entity="3" value="0" />
+ <value cell_index="4377" local_entity="3" value="0" />
+ <value cell_index="4380" local_entity="3" value="0" />
+ <value cell_index="4383" local_entity="3" value="0" />
+ <value cell_index="4386" local_entity="3" value="0" />
+ <value cell_index="4389" local_entity="3" value="0" />
+ <value cell_index="4392" local_entity="3" value="0" />
+ <value cell_index="4395" local_entity="3" value="0" />
+ <value cell_index="4398" local_entity="3" value="0" />
+ <value cell_index="4401" local_entity="3" value="0" />
+ <value cell_index="4404" local_entity="3" value="0" />
+ <value cell_index="4407" local_entity="3" value="0" />
+ <value cell_index="4410" local_entity="3" value="0" />
+ <value cell_index="4413" local_entity="3" value="0" />
+ <value cell_index="4416" local_entity="3" value="0" />
+ <value cell_index="4419" local_entity="3" value="0" />
+ <value cell_index="4422" local_entity="3" value="0" />
+ <value cell_index="4425" local_entity="3" value="0" />
+ <value cell_index="4428" local_entity="3" value="0" />
+ <value cell_index="4431" local_entity="3" value="0" />
+ <value cell_index="4434" local_entity="3" value="0" />
+ <value cell_index="4437" local_entity="3" value="0" />
+ <value cell_index="4440" local_entity="3" value="0" />
+ <value cell_index="4443" local_entity="3" value="0" />
+ <value cell_index="4446" local_entity="3" value="0" />
+ <value cell_index="4449" local_entity="3" value="0" />
+ <value cell_index="4452" local_entity="3" value="0" />
+ <value cell_index="4455" local_entity="3" value="0" />
+ <value cell_index="4458" local_entity="3" value="0" />
+ <value cell_index="4461" local_entity="3" value="0" />
+ <value cell_index="4464" local_entity="3" value="0" />
+ <value cell_index="4467" local_entity="3" value="0" />
+ <value cell_index="4470" local_entity="3" value="0" />
+ <value cell_index="4473" local_entity="3" value="0" />
+ <value cell_index="4476" local_entity="3" value="0" />
+ <value cell_index="4479" local_entity="3" value="0" />
+ <value cell_index="4482" local_entity="3" value="0" />
+ <value cell_index="4485" local_entity="3" value="0" />
+ <value cell_index="4488" local_entity="3" value="0" />
+ <value cell_index="4491" local_entity="3" value="2" />
+ <value cell_index="4494" local_entity="3" value="0" />
+ <value cell_index="4497" local_entity="3" value="0" />
+ <value cell_index="4500" local_entity="3" value="0" />
+ <value cell_index="4503" local_entity="3" value="0" />
+ <value cell_index="4506" local_entity="3" value="0" />
+ <value cell_index="4509" local_entity="3" value="0" />
+ <value cell_index="4512" local_entity="3" value="0" />
+ <value cell_index="4515" local_entity="3" value="0" />
+ <value cell_index="4518" local_entity="3" value="0" />
+ <value cell_index="4521" local_entity="3" value="0" />
+ <value cell_index="4524" local_entity="3" value="0" />
+ <value cell_index="4527" local_entity="3" value="0" />
+ <value cell_index="4530" local_entity="3" value="3" />
+ <value cell_index="4533" local_entity="3" value="0" />
+ <value cell_index="4536" local_entity="3" value="0" />
+ <value cell_index="4539" local_entity="3" value="0" />
+ <value cell_index="4542" local_entity="3" value="0" />
+ <value cell_index="4545" local_entity="3" value="0" />
+ <value cell_index="4548" local_entity="3" value="0" />
+ <value cell_index="4551" local_entity="3" value="0" />
+ <value cell_index="4554" local_entity="3" value="0" />
+ <value cell_index="4557" local_entity="3" value="0" />
+ <value cell_index="4560" local_entity="3" value="0" />
+ <value cell_index="4563" local_entity="3" value="0" />
+ <value cell_index="4566" local_entity="3" value="0" />
+ <value cell_index="4569" local_entity="3" value="0" />
+ <value cell_index="4572" local_entity="3" value="0" />
+ <value cell_index="4575" local_entity="3" value="0" />
+ <value cell_index="4578" local_entity="3" value="0" />
+ <value cell_index="4581" local_entity="3" value="0" />
+ <value cell_index="4584" local_entity="3" value="0" />
+ <value cell_index="4587" local_entity="3" value="0" />
+ <value cell_index="4590" local_entity="3" value="3" />
+ <value cell_index="4593" local_entity="3" value="3" />
+ <value cell_index="4596" local_entity="3" value="0" />
+ <value cell_index="4599" local_entity="3" value="0" />
+ <value cell_index="4602" local_entity="3" value="0" />
+ <value cell_index="4605" local_entity="3" value="0" />
+ <value cell_index="4608" local_entity="3" value="0" />
+ <value cell_index="4611" local_entity="3" value="0" />
+ <value cell_index="4614" local_entity="3" value="0" />
+ <value cell_index="4617" local_entity="3" value="0" />
+ <value cell_index="4620" local_entity="3" value="0" />
+ <value cell_index="4623" local_entity="3" value="0" />
+ <value cell_index="4626" local_entity="3" value="0" />
+ <value cell_index="4629" local_entity="3" value="0" />
+ <value cell_index="4632" local_entity="3" value="0" />
+ <value cell_index="4635" local_entity="3" value="0" />
+ <value cell_index="4638" local_entity="3" value="0" />
+ <value cell_index="4641" local_entity="3" value="0" />
+ <value cell_index="4644" local_entity="3" value="0" />
+ <value cell_index="4647" local_entity="3" value="0" />
+ <value cell_index="4650" local_entity="3" value="0" />
+ <value cell_index="4653" local_entity="3" value="0" />
+ <value cell_index="4656" local_entity="3" value="0" />
+ <value cell_index="4659" local_entity="3" value="0" />
+ <value cell_index="4662" local_entity="3" value="0" />
+ <value cell_index="4665" local_entity="3" value="0" />
+ <value cell_index="4668" local_entity="3" value="0" />
+ <value cell_index="4671" local_entity="3" value="0" />
+ <value cell_index="4674" local_entity="3" value="0" />
+ <value cell_index="4677" local_entity="3" value="0" />
+ <value cell_index="4680" local_entity="3" value="0" />
+ <value cell_index="4683" local_entity="3" value="3" />
+ <value cell_index="4686" local_entity="3" value="0" />
+ <value cell_index="4689" local_entity="3" value="0" />
+ <value cell_index="4692" local_entity="3" value="0" />
+ <value cell_index="4695" local_entity="3" value="0" />
+ <value cell_index="4698" local_entity="3" value="0" />
+ <value cell_index="4701" local_entity="3" value="0" />
+ <value cell_index="4704" local_entity="3" value="0" />
+ <value cell_index="4707" local_entity="3" value="0" />
+ <value cell_index="4710" local_entity="3" value="0" />
+ <value cell_index="4713" local_entity="3" value="0" />
+ <value cell_index="4716" local_entity="3" value="0" />
+ <value cell_index="4719" local_entity="3" value="0" />
+ <value cell_index="4722" local_entity="3" value="0" />
+ <value cell_index="4725" local_entity="3" value="0" />
+ <value cell_index="4728" local_entity="3" value="0" />
+ <value cell_index="4731" local_entity="3" value="0" />
+ <value cell_index="4734" local_entity="3" value="0" />
+ <value cell_index="4737" local_entity="3" value="0" />
+ <value cell_index="4740" local_entity="3" value="0" />
+ <value cell_index="4743" local_entity="3" value="0" />
+ <value cell_index="4746" local_entity="3" value="0" />
+ <value cell_index="4749" local_entity="3" value="0" />
+ <value cell_index="4752" local_entity="3" value="0" />
+ <value cell_index="4755" local_entity="3" value="0" />
+ <value cell_index="4758" local_entity="3" value="0" />
+ <value cell_index="4761" local_entity="3" value="0" />
+ <value cell_index="4764" local_entity="3" value="0" />
+ <value cell_index="4767" local_entity="3" value="0" />
+ <value cell_index="4770" local_entity="3" value="0" />
+ <value cell_index="4773" local_entity="3" value="0" />
+ <value cell_index="4776" local_entity="3" value="0" />
+ <value cell_index="4779" local_entity="3" value="0" />
+ <value cell_index="4782" local_entity="3" value="0" />
+ <value cell_index="4785" local_entity="3" value="0" />
+ <value cell_index="4788" local_entity="3" value="0" />
+ <value cell_index="4791" local_entity="3" value="0" />
+ <value cell_index="4794" local_entity="3" value="0" />
+ <value cell_index="4797" local_entity="3" value="0" />
+ <value cell_index="4800" local_entity="3" value="0" />
+ <value cell_index="4803" local_entity="3" value="0" />
+ <value cell_index="4806" local_entity="3" value="0" />
+ <value cell_index="4809" local_entity="3" value="0" />
+ <value cell_index="4812" local_entity="3" value="0" />
+ <value cell_index="4815" local_entity="3" value="0" />
+ <value cell_index="4818" local_entity="3" value="0" />
+ <value cell_index="4821" local_entity="3" value="0" />
+ <value cell_index="4824" local_entity="3" value="0" />
+ <value cell_index="4827" local_entity="3" value="0" />
+ <value cell_index="4830" local_entity="3" value="0" />
+ <value cell_index="4833" local_entity="3" value="0" />
+ <value cell_index="4836" local_entity="3" value="0" />
+ <value cell_index="4839" local_entity="3" value="0" />
+ <value cell_index="4842" local_entity="3" value="0" />
+ <value cell_index="4845" local_entity="3" value="0" />
+ <value cell_index="4848" local_entity="3" value="0" />
+ <value cell_index="4851" local_entity="3" value="0" />
+ <value cell_index="4854" local_entity="3" value="0" />
+ <value cell_index="4857" local_entity="3" value="0" />
+ <value cell_index="4860" local_entity="3" value="0" />
+ <value cell_index="4863" local_entity="3" value="0" />
+ <value cell_index="4866" local_entity="3" value="0" />
+ <value cell_index="4869" local_entity="3" value="0" />
+ <value cell_index="4872" local_entity="3" value="0" />
+ <value cell_index="4875" local_entity="3" value="0" />
+ <value cell_index="4878" local_entity="3" value="0" />
+ <value cell_index="4881" local_entity="3" value="3" />
+ <value cell_index="4884" local_entity="3" value="3" />
+ <value cell_index="4887" local_entity="3" value="3" />
+ <value cell_index="4890" local_entity="3" value="3" />
+ <value cell_index="4893" local_entity="3" value="0" />
+ <value cell_index="4896" local_entity="3" value="0" />
+ <value cell_index="4899" local_entity="3" value="0" />
+ <value cell_index="4902" local_entity="3" value="0" />
+ <value cell_index="4905" local_entity="3" value="0" />
+ <value cell_index="4908" local_entity="3" value="0" />
+ <value cell_index="4911" local_entity="3" value="0" />
+ <value cell_index="4914" local_entity="3" value="0" />
+ <value cell_index="4917" local_entity="3" value="0" />
+ <value cell_index="4920" local_entity="3" value="0" />
+ <value cell_index="4923" local_entity="3" value="0" />
+ <value cell_index="4926" local_entity="3" value="0" />
+ <value cell_index="4929" local_entity="3" value="0" />
+ <value cell_index="4932" local_entity="3" value="0" />
+ <value cell_index="4935" local_entity="3" value="0" />
+ <value cell_index="4938" local_entity="3" value="0" />
+ <value cell_index="4941" local_entity="3" value="0" />
+ <value cell_index="4944" local_entity="3" value="0" />
+ <value cell_index="4947" local_entity="3" value="0" />
+ <value cell_index="4950" local_entity="3" value="0" />
+ <value cell_index="4953" local_entity="3" value="0" />
+ <value cell_index="4956" local_entity="3" value="0" />
+ <value cell_index="4959" local_entity="3" value="0" />
+ <value cell_index="4962" local_entity="3" value="0" />
+ <value cell_index="4965" local_entity="3" value="0" />
+ <value cell_index="4968" local_entity="3" value="0" />
+ <value cell_index="4971" local_entity="3" value="0" />
+ <value cell_index="4974" local_entity="3" value="0" />
+ <value cell_index="4977" local_entity="3" value="0" />
+ <value cell_index="4980" local_entity="3" value="0" />
+ <value cell_index="4983" local_entity="3" value="0" />
+ <value cell_index="4986" local_entity="3" value="0" />
+ <value cell_index="4989" local_entity="3" value="0" />
+ <value cell_index="4992" local_entity="3" value="0" />
+ <value cell_index="4995" local_entity="3" value="0" />
+ <value cell_index="4998" local_entity="3" value="0" />
+ <value cell_index="5001" local_entity="3" value="0" />
+ <value cell_index="5004" local_entity="3" value="0" />
+ <value cell_index="5007" local_entity="3" value="0" />
+ <value cell_index="5010" local_entity="3" value="0" />
+ <value cell_index="5013" local_entity="3" value="0" />
+ <value cell_index="5016" local_entity="3" value="0" />
+ <value cell_index="5019" local_entity="3" value="0" />
+ <value cell_index="5022" local_entity="3" value="0" />
+ <value cell_index="5025" local_entity="3" value="0" />
+ <value cell_index="5028" local_entity="3" value="0" />
+ <value cell_index="5031" local_entity="3" value="0" />
+ <value cell_index="5034" local_entity="3" value="0" />
+ <value cell_index="5037" local_entity="3" value="0" />
+ <value cell_index="5040" local_entity="3" value="0" />
+ <value cell_index="5043" local_entity="3" value="0" />
+ <value cell_index="5046" local_entity="3" value="0" />
+ <value cell_index="5049" local_entity="3" value="0" />
+ <value cell_index="5052" local_entity="3" value="0" />
+ <value cell_index="5055" local_entity="3" value="0" />
+ <value cell_index="5058" local_entity="3" value="0" />
+ <value cell_index="5061" local_entity="3" value="0" />
+ <value cell_index="5064" local_entity="3" value="0" />
+ <value cell_index="5067" local_entity="3" value="0" />
+ <value cell_index="5070" local_entity="3" value="0" />
+ <value cell_index="5073" local_entity="3" value="0" />
+ <value cell_index="5076" local_entity="3" value="0" />
+ <value cell_index="5079" local_entity="3" value="0" />
+ <value cell_index="5082" local_entity="3" value="0" />
+ <value cell_index="5085" local_entity="3" value="0" />
+ <value cell_index="5088" local_entity="3" value="0" />
+ <value cell_index="5091" local_entity="3" value="0" />
+ <value cell_index="5094" local_entity="3" value="0" />
+ <value cell_index="5097" local_entity="3" value="0" />
+ <value cell_index="5100" local_entity="3" value="0" />
+ <value cell_index="5103" local_entity="3" value="0" />
+ <value cell_index="5106" local_entity="3" value="0" />
+ <value cell_index="5109" local_entity="3" value="0" />
+ <value cell_index="5112" local_entity="3" value="0" />
+ <value cell_index="5115" local_entity="3" value="0" />
+ <value cell_index="5118" local_entity="3" value="0" />
+ <value cell_index="5121" local_entity="3" value="0" />
+ <value cell_index="5124" local_entity="3" value="0" />
+ <value cell_index="5127" local_entity="3" value="0" />
+ <value cell_index="5130" local_entity="3" value="0" />
+ <value cell_index="5133" local_entity="3" value="3" />
+ <value cell_index="5136" local_entity="3" value="3" />
+ <value cell_index="5139" local_entity="3" value="0" />
+ <value cell_index="5142" local_entity="3" value="3" />
+ <value cell_index="5145" local_entity="3" value="3" />
+ <value cell_index="5148" local_entity="3" value="0" />
+ <value cell_index="5151" local_entity="3" value="0" />
+ <value cell_index="5154" local_entity="3" value="0" />
+ <value cell_index="5157" local_entity="3" value="0" />
+ <value cell_index="5160" local_entity="3" value="0" />
+ <value cell_index="5163" local_entity="3" value="0" />
+ <value cell_index="5166" local_entity="3" value="0" />
+ <value cell_index="5169" local_entity="3" value="0" />
+ <value cell_index="5172" local_entity="3" value="0" />
+ <value cell_index="5175" local_entity="3" value="0" />
+ <value cell_index="5178" local_entity="3" value="0" />
+ <value cell_index="5181" local_entity="3" value="0" />
+ <value cell_index="5184" local_entity="3" value="0" />
+ <value cell_index="5187" local_entity="3" value="0" />
+ <value cell_index="5190" local_entity="3" value="0" />
+ <value cell_index="5193" local_entity="3" value="0" />
+ <value cell_index="5196" local_entity="3" value="0" />
+ <value cell_index="5199" local_entity="3" value="0" />
+ <value cell_index="5202" local_entity="3" value="0" />
+ <value cell_index="5205" local_entity="3" value="0" />
+ <value cell_index="5208" local_entity="3" value="0" />
+ <value cell_index="5211" local_entity="3" value="0" />
+ <value cell_index="5214" local_entity="3" value="0" />
+ <value cell_index="5217" local_entity="3" value="0" />
+ <value cell_index="5220" local_entity="3" value="0" />
+ <value cell_index="5223" local_entity="3" value="0" />
+ <value cell_index="5226" local_entity="3" value="0" />
+ <value cell_index="5229" local_entity="3" value="0" />
+ <value cell_index="5232" local_entity="3" value="0" />
+ <value cell_index="5235" local_entity="3" value="0" />
+ <value cell_index="5238" local_entity="3" value="0" />
+ <value cell_index="5241" local_entity="3" value="0" />
+ <value cell_index="5244" local_entity="3" value="0" />
+ <value cell_index="5247" local_entity="3" value="0" />
+ <value cell_index="5250" local_entity="3" value="0" />
+ <value cell_index="5253" local_entity="3" value="0" />
+ <value cell_index="5256" local_entity="3" value="0" />
+ <value cell_index="5259" local_entity="3" value="0" />
+ <value cell_index="5262" local_entity="3" value="0" />
+ <value cell_index="5265" local_entity="3" value="0" />
+ <value cell_index="5268" local_entity="3" value="0" />
+ <value cell_index="5271" local_entity="3" value="0" />
+ <value cell_index="5274" local_entity="3" value="0" />
+ <value cell_index="5277" local_entity="3" value="0" />
+ <value cell_index="5280" local_entity="3" value="0" />
+ <value cell_index="5283" local_entity="3" value="0" />
+ <value cell_index="5286" local_entity="3" value="0" />
+ <value cell_index="5289" local_entity="3" value="0" />
+ <value cell_index="5292" local_entity="3" value="0" />
+ <value cell_index="5295" local_entity="3" value="0" />
+ <value cell_index="5298" local_entity="3" value="0" />
+ <value cell_index="5301" local_entity="3" value="0" />
+ <value cell_index="5304" local_entity="3" value="0" />
+ <value cell_index="5307" local_entity="3" value="0" />
+ <value cell_index="5310" local_entity="3" value="0" />
+ <value cell_index="5313" local_entity="3" value="0" />
+ <value cell_index="5316" local_entity="3" value="0" />
+ <value cell_index="5319" local_entity="3" value="0" />
+ <value cell_index="5322" local_entity="3" value="0" />
+ <value cell_index="5325" local_entity="3" value="0" />
+ <value cell_index="5328" local_entity="3" value="0" />
+ <value cell_index="5331" local_entity="3" value="0" />
+ <value cell_index="5334" local_entity="3" value="0" />
+ <value cell_index="5337" local_entity="3" value="0" />
+ <value cell_index="5340" local_entity="3" value="0" />
+ <value cell_index="5343" local_entity="3" value="0" />
+ <value cell_index="5346" local_entity="3" value="0" />
+ <value cell_index="5349" local_entity="3" value="0" />
+ <value cell_index="5352" local_entity="3" value="0" />
+ <value cell_index="5355" local_entity="3" value="0" />
+ <value cell_index="5358" local_entity="3" value="0" />
+ <value cell_index="5361" local_entity="3" value="0" />
+ <value cell_index="5364" local_entity="3" value="0" />
+ <value cell_index="5367" local_entity="3" value="0" />
+ <value cell_index="5370" local_entity="3" value="0" />
+ <value cell_index="5373" local_entity="3" value="0" />
+ <value cell_index="5376" local_entity="3" value="0" />
+ <value cell_index="5379" local_entity="3" value="0" />
+ <value cell_index="5382" local_entity="3" value="0" />
+ <value cell_index="5385" local_entity="3" value="0" />
+ <value cell_index="5388" local_entity="3" value="0" />
+ <value cell_index="5391" local_entity="3" value="0" />
+ <value cell_index="5394" local_entity="3" value="0" />
+ <value cell_index="5397" local_entity="3" value="0" />
+ <value cell_index="5400" local_entity="3" value="0" />
+ <value cell_index="5403" local_entity="3" value="0" />
+ <value cell_index="5406" local_entity="3" value="0" />
+ <value cell_index="5409" local_entity="3" value="0" />
+ <value cell_index="5412" local_entity="3" value="0" />
+ <value cell_index="5415" local_entity="3" value="0" />
+ <value cell_index="5418" local_entity="3" value="0" />
+ <value cell_index="5421" local_entity="3" value="0" />
+ <value cell_index="5424" local_entity="3" value="0" />
+ <value cell_index="5427" local_entity="3" value="0" />
+ <value cell_index="5430" local_entity="3" value="0" />
+ <value cell_index="5433" local_entity="3" value="0" />
+ <value cell_index="5436" local_entity="3" value="0" />
+ <value cell_index="5439" local_entity="3" value="0" />
+ <value cell_index="5442" local_entity="3" value="0" />
+ <value cell_index="5445" local_entity="3" value="0" />
+ <value cell_index="5448" local_entity="3" value="0" />
+ <value cell_index="5451" local_entity="3" value="0" />
+ <value cell_index="5454" local_entity="3" value="0" />
+ <value cell_index="5457" local_entity="3" value="0" />
+ <value cell_index="5460" local_entity="3" value="0" />
+ <value cell_index="5463" local_entity="3" value="0" />
+ <value cell_index="5466" local_entity="3" value="0" />
+ <value cell_index="5469" local_entity="3" value="0" />
+ <value cell_index="5472" local_entity="3" value="0" />
+ <value cell_index="5475" local_entity="3" value="0" />
+ <value cell_index="5478" local_entity="3" value="0" />
+ <value cell_index="5481" local_entity="3" value="0" />
+ <value cell_index="5484" local_entity="3" value="0" />
+ <value cell_index="5487" local_entity="3" value="0" />
+ <value cell_index="5490" local_entity="3" value="0" />
+ <value cell_index="5493" local_entity="3" value="0" />
+ <value cell_index="5496" local_entity="3" value="0" />
+ <value cell_index="5499" local_entity="3" value="0" />
+ <value cell_index="5502" local_entity="3" value="0" />
+ <value cell_index="5505" local_entity="3" value="0" />
+ <value cell_index="5508" local_entity="3" value="0" />
+ <value cell_index="5511" local_entity="3" value="0" />
+ <value cell_index="5514" local_entity="3" value="0" />
+ <value cell_index="5517" local_entity="3" value="0" />
+ <value cell_index="5520" local_entity="3" value="0" />
+ <value cell_index="5523" local_entity="3" value="0" />
+ <value cell_index="5526" local_entity="3" value="0" />
+ <value cell_index="5529" local_entity="3" value="0" />
+ <value cell_index="5532" local_entity="3" value="0" />
+ <value cell_index="5535" local_entity="3" value="0" />
+ <value cell_index="5538" local_entity="3" value="0" />
+ <value cell_index="5541" local_entity="3" value="0" />
+ <value cell_index="5544" local_entity="3" value="0" />
+ <value cell_index="5547" local_entity="3" value="0" />
+ <value cell_index="5550" local_entity="3" value="0" />
+ <value cell_index="5553" local_entity="3" value="0" />
+ <value cell_index="5556" local_entity="3" value="0" />
+ <value cell_index="5559" local_entity="3" value="0" />
+ <value cell_index="5562" local_entity="3" value="0" />
+ <value cell_index="5565" local_entity="3" value="0" />
+ <value cell_index="5568" local_entity="3" value="0" />
+ <value cell_index="5571" local_entity="3" value="0" />
+ <value cell_index="5574" local_entity="3" value="0" />
+ <value cell_index="5577" local_entity="3" value="0" />
+ <value cell_index="5580" local_entity="3" value="0" />
+ <value cell_index="5583" local_entity="3" value="0" />
+ <value cell_index="5586" local_entity="3" value="0" />
+ <value cell_index="5589" local_entity="3" value="0" />
+ <value cell_index="5592" local_entity="3" value="0" />
+ <value cell_index="5595" local_entity="3" value="0" />
+ <value cell_index="5598" local_entity="3" value="0" />
+ <value cell_index="5601" local_entity="3" value="0" />
+ <value cell_index="5604" local_entity="3" value="0" />
+ <value cell_index="5607" local_entity="3" value="0" />
+ <value cell_index="5610" local_entity="3" value="0" />
+ <value cell_index="5613" local_entity="3" value="0" />
+ <value cell_index="5616" local_entity="3" value="0" />
+ <value cell_index="5619" local_entity="3" value="0" />
+ <value cell_index="5622" local_entity="3" value="0" />
+ <value cell_index="5625" local_entity="3" value="0" />
+ <value cell_index="5628" local_entity="3" value="0" />
+ <value cell_index="5631" local_entity="3" value="0" />
+ <value cell_index="5634" local_entity="3" value="0" />
+ <value cell_index="5637" local_entity="3" value="0" />
+ <value cell_index="5640" local_entity="3" value="0" />
+ <value cell_index="5643" local_entity="3" value="0" />
+ <value cell_index="5646" local_entity="3" value="0" />
+ <value cell_index="5649" local_entity="3" value="0" />
+ <value cell_index="5652" local_entity="3" value="0" />
+ <value cell_index="5655" local_entity="3" value="0" />
+ <value cell_index="5658" local_entity="3" value="0" />
+ <value cell_index="5661" local_entity="3" value="0" />
+ <value cell_index="5664" local_entity="3" value="0" />
+ <value cell_index="5667" local_entity="3" value="0" />
+ <value cell_index="5670" local_entity="3" value="0" />
+ <value cell_index="5673" local_entity="3" value="0" />
+ <value cell_index="5676" local_entity="3" value="0" />
+ <value cell_index="5679" local_entity="3" value="0" />
+ <value cell_index="5682" local_entity="3" value="0" />
+ <value cell_index="5685" local_entity="3" value="0" />
+ <value cell_index="5688" local_entity="3" value="0" />
+ <value cell_index="5691" local_entity="3" value="0" />
+ <value cell_index="5694" local_entity="3" value="0" />
+ <value cell_index="5697" local_entity="3" value="0" />
+ <value cell_index="5700" local_entity="3" value="0" />
+ <value cell_index="5703" local_entity="3" value="0" />
+ <value cell_index="5706" local_entity="3" value="0" />
+ <value cell_index="5709" local_entity="3" value="0" />
+ <value cell_index="5712" local_entity="3" value="0" />
+ <value cell_index="5715" local_entity="3" value="0" />
+ <value cell_index="5718" local_entity="3" value="0" />
+ <value cell_index="5721" local_entity="3" value="0" />
+ <value cell_index="5724" local_entity="3" value="0" />
+ <value cell_index="5727" local_entity="3" value="0" />
+ <value cell_index="5730" local_entity="3" value="0" />
+ <value cell_index="5733" local_entity="3" value="0" />
+ <value cell_index="5736" local_entity="3" value="0" />
+ <value cell_index="5739" local_entity="3" value="0" />
+ <value cell_index="5742" local_entity="3" value="0" />
+ <value cell_index="5745" local_entity="3" value="0" />
+ <value cell_index="5748" local_entity="3" value="0" />
+ <value cell_index="5751" local_entity="3" value="0" />
+ <value cell_index="5754" local_entity="3" value="0" />
+ <value cell_index="5757" local_entity="3" value="0" />
+ <value cell_index="5760" local_entity="3" value="0" />
+ <value cell_index="5763" local_entity="3" value="0" />
+ <value cell_index="5766" local_entity="3" value="0" />
+ <value cell_index="5769" local_entity="3" value="0" />
+ <value cell_index="5772" local_entity="3" value="0" />
+ <value cell_index="5775" local_entity="3" value="0" />
+ <value cell_index="5778" local_entity="3" value="0" />
+ <value cell_index="5781" local_entity="3" value="0" />
+ <value cell_index="5784" local_entity="3" value="0" />
+ <value cell_index="5787" local_entity="3" value="0" />
+ <value cell_index="5790" local_entity="3" value="0" />
+ <value cell_index="5793" local_entity="3" value="0" />
+ <value cell_index="5796" local_entity="3" value="0" />
+ <value cell_index="5799" local_entity="3" value="0" />
+ <value cell_index="5802" local_entity="3" value="0" />
+ <value cell_index="5805" local_entity="3" value="0" />
+ <value cell_index="5808" local_entity="3" value="0" />
+ <value cell_index="5811" local_entity="3" value="0" />
+ <value cell_index="5814" local_entity="3" value="0" />
+ <value cell_index="5817" local_entity="3" value="0" />
+ <value cell_index="5820" local_entity="3" value="0" />
+ <value cell_index="5823" local_entity="3" value="0" />
+ <value cell_index="5826" local_entity="3" value="0" />
+ <value cell_index="5829" local_entity="3" value="0" />
+ <value cell_index="5832" local_entity="3" value="0" />
+ <value cell_index="5835" local_entity="3" value="0" />
+ <value cell_index="5838" local_entity="3" value="0" />
+ <value cell_index="5841" local_entity="3" value="0" />
+ <value cell_index="5844" local_entity="3" value="0" />
+ <value cell_index="5847" local_entity="3" value="0" />
+ <value cell_index="5850" local_entity="3" value="0" />
+ <value cell_index="5853" local_entity="3" value="0" />
+ <value cell_index="5856" local_entity="3" value="0" />
+ <value cell_index="5859" local_entity="3" value="0" />
+ <value cell_index="5862" local_entity="3" value="0" />
+ <value cell_index="5865" local_entity="3" value="0" />
+ <value cell_index="5868" local_entity="3" value="0" />
+ <value cell_index="5871" local_entity="3" value="0" />
+ <value cell_index="5874" local_entity="3" value="0" />
+ <value cell_index="5877" local_entity="3" value="0" />
+ <value cell_index="5880" local_entity="3" value="0" />
+ <value cell_index="5883" local_entity="3" value="0" />
+ <value cell_index="5886" local_entity="3" value="0" />
+ <value cell_index="5889" local_entity="3" value="0" />
+ <value cell_index="5892" local_entity="3" value="0" />
+ <value cell_index="5895" local_entity="3" value="0" />
+ <value cell_index="5898" local_entity="3" value="0" />
+ <value cell_index="5901" local_entity="3" value="0" />
+ <value cell_index="5904" local_entity="3" value="0" />
+ <value cell_index="5907" local_entity="3" value="0" />
+ <value cell_index="5910" local_entity="3" value="0" />
+ <value cell_index="5913" local_entity="3" value="0" />
+ <value cell_index="5916" local_entity="3" value="0" />
+ <value cell_index="5919" local_entity="3" value="0" />
+ <value cell_index="5922" local_entity="3" value="0" />
+ <value cell_index="5925" local_entity="3" value="0" />
+ <value cell_index="5928" local_entity="3" value="0" />
+ <value cell_index="5931" local_entity="3" value="0" />
+ <value cell_index="5934" local_entity="3" value="0" />
+ <value cell_index="5937" local_entity="3" value="0" />
+ <value cell_index="5940" local_entity="3" value="0" />
+ <value cell_index="5943" local_entity="3" value="0" />
+ <value cell_index="5946" local_entity="3" value="0" />
+ <value cell_index="5949" local_entity="3" value="0" />
+ <value cell_index="5952" local_entity="3" value="0" />
+ <value cell_index="5955" local_entity="3" value="0" />
+ <value cell_index="5958" local_entity="3" value="0" />
+ <value cell_index="5961" local_entity="3" value="0" />
+ <value cell_index="5964" local_entity="3" value="0" />
+ <value cell_index="5967" local_entity="3" value="0" />
+ <value cell_index="5970" local_entity="3" value="0" />
+ <value cell_index="5973" local_entity="3" value="0" />
+ <value cell_index="5976" local_entity="3" value="0" />
+ <value cell_index="5979" local_entity="3" value="0" />
+ <value cell_index="5982" local_entity="3" value="0" />
+ <value cell_index="5985" local_entity="3" value="0" />
+ <value cell_index="5988" local_entity="3" value="0" />
+ <value cell_index="5991" local_entity="3" value="0" />
+ <value cell_index="5994" local_entity="3" value="0" />
+ <value cell_index="5997" local_entity="3" value="0" />
+ <value cell_index="6000" local_entity="3" value="0" />
+ <value cell_index="6003" local_entity="3" value="0" />
+ <value cell_index="6006" local_entity="3" value="0" />
+ <value cell_index="6009" local_entity="3" value="0" />
+ <value cell_index="6012" local_entity="3" value="0" />
+ <value cell_index="6015" local_entity="3" value="0" />
+ <value cell_index="6018" local_entity="3" value="0" />
+ <value cell_index="6021" local_entity="3" value="0" />
+ <value cell_index="6024" local_entity="3" value="0" />
+ <value cell_index="6027" local_entity="3" value="0" />
+ <value cell_index="6030" local_entity="3" value="0" />
+ <value cell_index="6033" local_entity="3" value="0" />
+ <value cell_index="6036" local_entity="3" value="0" />
+ <value cell_index="6039" local_entity="3" value="0" />
+ <value cell_index="6042" local_entity="3" value="0" />
+ <value cell_index="6045" local_entity="3" value="0" />
+ <value cell_index="6048" local_entity="3" value="0" />
+ <value cell_index="6051" local_entity="3" value="0" />
+ <value cell_index="6054" local_entity="3" value="0" />
+ <value cell_index="6057" local_entity="3" value="0" />
+ <value cell_index="6060" local_entity="3" value="0" />
+ <value cell_index="6063" local_entity="3" value="0" />
+ <value cell_index="6066" local_entity="3" value="0" />
+ <value cell_index="6069" local_entity="3" value="0" />
+ <value cell_index="6072" local_entity="3" value="0" />
+ <value cell_index="6075" local_entity="3" value="0" />
+ <value cell_index="6078" local_entity="3" value="0" />
+ <value cell_index="6081" local_entity="3" value="0" />
+ <value cell_index="6084" local_entity="3" value="0" />
+ <value cell_index="6087" local_entity="3" value="0" />
+ <value cell_index="6090" local_entity="3" value="0" />
+ <value cell_index="6093" local_entity="3" value="0" />
+ <value cell_index="6096" local_entity="3" value="0" />
+ <value cell_index="6099" local_entity="3" value="0" />
+ <value cell_index="6102" local_entity="3" value="0" />
+ <value cell_index="6105" local_entity="3" value="0" />
+ <value cell_index="6108" local_entity="3" value="0" />
+ <value cell_index="6111" local_entity="3" value="0" />
+ <value cell_index="6114" local_entity="3" value="0" />
+ <value cell_index="6117" local_entity="3" value="0" />
+ <value cell_index="6120" local_entity="3" value="0" />
+ <value cell_index="6123" local_entity="3" value="0" />
+ <value cell_index="6126" local_entity="3" value="0" />
+ <value cell_index="6129" local_entity="3" value="0" />
+ <value cell_index="6132" local_entity="3" value="0" />
+ <value cell_index="6135" local_entity="3" value="0" />
+ <value cell_index="6138" local_entity="3" value="0" />
+ <value cell_index="6141" local_entity="3" value="0" />
+ <value cell_index="6144" local_entity="3" value="0" />
+ <value cell_index="6147" local_entity="3" value="0" />
+ <value cell_index="6150" local_entity="3" value="0" />
+ <value cell_index="6153" local_entity="3" value="0" />
+ <value cell_index="6156" local_entity="3" value="0" />
+ <value cell_index="6159" local_entity="3" value="0" />
+ <value cell_index="6162" local_entity="3" value="0" />
+ <value cell_index="6165" local_entity="3" value="0" />
+ <value cell_index="6168" local_entity="3" value="0" />
+ <value cell_index="6171" local_entity="3" value="0" />
+ <value cell_index="6174" local_entity="3" value="0" />
+ <value cell_index="6177" local_entity="3" value="0" />
+ <value cell_index="6180" local_entity="3" value="0" />
+ <value cell_index="6183" local_entity="3" value="0" />
+ <value cell_index="6186" local_entity="3" value="0" />
+ <value cell_index="6189" local_entity="3" value="0" />
+ <value cell_index="6192" local_entity="3" value="0" />
+ <value cell_index="6195" local_entity="3" value="0" />
+ <value cell_index="6198" local_entity="3" value="0" />
+ <value cell_index="6201" local_entity="3" value="0" />
+ <value cell_index="6204" local_entity="3" value="0" />
+ <value cell_index="6207" local_entity="3" value="0" />
+ <value cell_index="6210" local_entity="3" value="0" />
+ <value cell_index="6213" local_entity="3" value="0" />
+ <value cell_index="6216" local_entity="3" value="0" />
+ <value cell_index="6219" local_entity="3" value="0" />
+ <value cell_index="6222" local_entity="3" value="0" />
+ <value cell_index="6225" local_entity="3" value="0" />
+ <value cell_index="6228" local_entity="3" value="0" />
+ <value cell_index="6231" local_entity="3" value="0" />
+ <value cell_index="6234" local_entity="3" value="0" />
+ <value cell_index="6237" local_entity="3" value="0" />
+ <value cell_index="6240" local_entity="3" value="0" />
+ <value cell_index="6243" local_entity="3" value="0" />
+ <value cell_index="6246" local_entity="3" value="2" />
+ <value cell_index="6249" local_entity="3" value="0" />
+ <value cell_index="6252" local_entity="3" value="1" />
+ <value cell_index="6255" local_entity="3" value="1" />
+ <value cell_index="6258" local_entity="3" value="0" />
+ <value cell_index="6261" local_entity="3" value="0" />
+ <value cell_index="6264" local_entity="3" value="0" />
+ <value cell_index="6267" local_entity="3" value="0" />
+ <value cell_index="6270" local_entity="3" value="0" />
+ <value cell_index="6273" local_entity="3" value="0" />
+ <value cell_index="6276" local_entity="3" value="0" />
+ <value cell_index="6279" local_entity="3" value="1" />
+ <value cell_index="6282" local_entity="3" value="0" />
+ <value cell_index="6285" local_entity="3" value="0" />
+ <value cell_index="6288" local_entity="3" value="0" />
+ <value cell_index="6291" local_entity="3" value="0" />
+ <value cell_index="6294" local_entity="3" value="0" />
+ <value cell_index="6297" local_entity="3" value="0" />
+ <value cell_index="6300" local_entity="3" value="0" />
+ <value cell_index="6303" local_entity="3" value="0" />
+ <value cell_index="6306" local_entity="3" value="0" />
+ <value cell_index="6309" local_entity="3" value="0" />
+ <value cell_index="6312" local_entity="3" value="0" />
+ <value cell_index="6315" local_entity="3" value="0" />
+ <value cell_index="6318" local_entity="3" value="0" />
+ <value cell_index="6321" local_entity="3" value="0" />
+ <value cell_index="6324" local_entity="3" value="0" />
+ <value cell_index="6327" local_entity="3" value="0" />
+ <value cell_index="6330" local_entity="3" value="0" />
+ <value cell_index="6333" local_entity="3" value="0" />
+ <value cell_index="6336" local_entity="3" value="0" />
+ <value cell_index="6339" local_entity="3" value="0" />
+ <value cell_index="6342" local_entity="3" value="0" />
+ <value cell_index="6345" local_entity="3" value="0" />
+ <value cell_index="6348" local_entity="3" value="0" />
+ <value cell_index="6351" local_entity="3" value="0" />
+ <value cell_index="6354" local_entity="3" value="0" />
+ <value cell_index="6357" local_entity="3" value="0" />
+ <value cell_index="6360" local_entity="3" value="0" />
+ <value cell_index="6363" local_entity="3" value="0" />
+ <value cell_index="6366" local_entity="3" value="0" />
+ <value cell_index="6369" local_entity="3" value="0" />
+ <value cell_index="6372" local_entity="3" value="0" />
+ <value cell_index="6375" local_entity="3" value="0" />
+ <value cell_index="6378" local_entity="3" value="0" />
+ <value cell_index="6381" local_entity="3" value="0" />
+ <value cell_index="6384" local_entity="3" value="0" />
+ <value cell_index="6387" local_entity="3" value="0" />
+ <value cell_index="6390" local_entity="3" value="1" />
+ <value cell_index="6393" local_entity="3" value="0" />
+ <value cell_index="6396" local_entity="3" value="0" />
+ <value cell_index="6399" local_entity="3" value="0" />
+ <value cell_index="6402" local_entity="3" value="0" />
+ <value cell_index="6405" local_entity="3" value="0" />
+ <value cell_index="6408" local_entity="3" value="0" />
+ <value cell_index="6411" local_entity="3" value="0" />
+ <value cell_index="6414" local_entity="3" value="0" />
+ <value cell_index="6417" local_entity="3" value="0" />
+ <value cell_index="6420" local_entity="3" value="0" />
+ <value cell_index="6423" local_entity="3" value="0" />
+ <value cell_index="6426" local_entity="3" value="0" />
+ <value cell_index="6429" local_entity="3" value="0" />
+ <value cell_index="6432" local_entity="3" value="0" />
+ <value cell_index="6435" local_entity="3" value="0" />
+ <value cell_index="6438" local_entity="3" value="0" />
+ <value cell_index="6441" local_entity="3" value="0" />
+ <value cell_index="6444" local_entity="3" value="0" />
+ <value cell_index="6447" local_entity="3" value="0" />
+ <value cell_index="6450" local_entity="3" value="0" />
+ <value cell_index="6453" local_entity="3" value="0" />
+ <value cell_index="6456" local_entity="3" value="0" />
+ <value cell_index="6459" local_entity="3" value="0" />
+ <value cell_index="6462" local_entity="3" value="0" />
+ <value cell_index="6465" local_entity="3" value="0" />
+ <value cell_index="6468" local_entity="3" value="0" />
+ <value cell_index="6471" local_entity="3" value="0" />
+ <value cell_index="6474" local_entity="3" value="0" />
+ <value cell_index="6477" local_entity="3" value="0" />
+ <value cell_index="6480" local_entity="3" value="0" />
+ <value cell_index="6483" local_entity="3" value="0" />
+ <value cell_index="6486" local_entity="3" value="0" />
+ <value cell_index="6489" local_entity="3" value="0" />
+ <value cell_index="6492" local_entity="3" value="0" />
+ <value cell_index="6495" local_entity="3" value="0" />
+ <value cell_index="6498" local_entity="3" value="0" />
+ <value cell_index="6501" local_entity="3" value="0" />
+ <value cell_index="6504" local_entity="3" value="0" />
+ <value cell_index="6507" local_entity="3" value="0" />
+ <value cell_index="6510" local_entity="3" value="0" />
+ <value cell_index="6513" local_entity="3" value="0" />
+ <value cell_index="6516" local_entity="3" value="0" />
+ <value cell_index="6519" local_entity="3" value="0" />
+ <value cell_index="6522" local_entity="3" value="0" />
+ <value cell_index="6525" local_entity="3" value="0" />
+ <value cell_index="6528" local_entity="3" value="0" />
+ <value cell_index="6531" local_entity="3" value="0" />
+ <value cell_index="6534" local_entity="3" value="0" />
+ <value cell_index="6537" local_entity="3" value="0" />
+ <value cell_index="6540" local_entity="3" value="0" />
+ <value cell_index="6543" local_entity="3" value="0" />
+ <value cell_index="6546" local_entity="3" value="0" />
+ <value cell_index="6549" local_entity="3" value="0" />
+ <value cell_index="6552" local_entity="3" value="0" />
+ <value cell_index="6555" local_entity="3" value="0" />
+ <value cell_index="6558" local_entity="3" value="0" />
+ <value cell_index="6561" local_entity="3" value="0" />
+ <value cell_index="6564" local_entity="3" value="0" />
+ <value cell_index="6567" local_entity="3" value="0" />
+ <value cell_index="6570" local_entity="3" value="0" />
+ <value cell_index="6573" local_entity="3" value="0" />
+ <value cell_index="6576" local_entity="3" value="0" />
+ <value cell_index="6579" local_entity="3" value="0" />
+ <value cell_index="6582" local_entity="3" value="0" />
+ <value cell_index="6585" local_entity="3" value="0" />
+ <value cell_index="6588" local_entity="3" value="0" />
+ <value cell_index="6591" local_entity="3" value="0" />
+ <value cell_index="6594" local_entity="3" value="0" />
+ <value cell_index="6597" local_entity="3" value="1" />
+ <value cell_index="6600" local_entity="3" value="1" />
+ <value cell_index="6603" local_entity="3" value="0" />
+ <value cell_index="6606" local_entity="3" value="0" />
+ <value cell_index="6609" local_entity="3" value="0" />
+ <value cell_index="6612" local_entity="3" value="0" />
+ <value cell_index="6615" local_entity="3" value="0" />
+ <value cell_index="6618" local_entity="3" value="0" />
+ <value cell_index="6621" local_entity="3" value="0" />
+ <value cell_index="6624" local_entity="3" value="0" />
+ <value cell_index="6627" local_entity="3" value="0" />
+ <value cell_index="6630" local_entity="3" value="0" />
+ <value cell_index="6633" local_entity="3" value="0" />
+ <value cell_index="6636" local_entity="3" value="0" />
+ <value cell_index="6639" local_entity="3" value="0" />
+ <value cell_index="6642" local_entity="3" value="0" />
+ <value cell_index="6645" local_entity="3" value="0" />
+ <value cell_index="6648" local_entity="3" value="0" />
+ <value cell_index="6651" local_entity="3" value="0" />
+ <value cell_index="6654" local_entity="3" value="0" />
+ <value cell_index="6657" local_entity="3" value="0" />
+ <value cell_index="6660" local_entity="3" value="0" />
+ <value cell_index="6663" local_entity="3" value="0" />
+ <value cell_index="6666" local_entity="3" value="0" />
+ <value cell_index="6669" local_entity="3" value="0" />
+ <value cell_index="6672" local_entity="3" value="0" />
+ <value cell_index="6675" local_entity="3" value="0" />
+ <value cell_index="6678" local_entity="3" value="0" />
+ <value cell_index="6681" local_entity="3" value="0" />
+ <value cell_index="6684" local_entity="3" value="0" />
+ <value cell_index="6687" local_entity="3" value="0" />
+ <value cell_index="6690" local_entity="3" value="0" />
+ <value cell_index="6693" local_entity="3" value="0" />
+ <value cell_index="6696" local_entity="3" value="0" />
+ <value cell_index="6699" local_entity="3" value="0" />
+ <value cell_index="6702" local_entity="3" value="0" />
+ <value cell_index="6705" local_entity="3" value="0" />
+ <value cell_index="6708" local_entity="3" value="0" />
+ <value cell_index="6711" local_entity="3" value="0" />
+ <value cell_index="6714" local_entity="3" value="0" />
+ <value cell_index="6717" local_entity="3" value="0" />
+ <value cell_index="6720" local_entity="3" value="0" />
+ <value cell_index="6723" local_entity="3" value="0" />
+ <value cell_index="6726" local_entity="3" value="0" />
+ <value cell_index="6729" local_entity="3" value="0" />
+ <value cell_index="6732" local_entity="3" value="0" />
+ <value cell_index="6735" local_entity="3" value="0" />
+ <value cell_index="6738" local_entity="3" value="0" />
+ <value cell_index="6741" local_entity="3" value="0" />
+ <value cell_index="6744" local_entity="3" value="0" />
+ <value cell_index="6747" local_entity="3" value="0" />
+ <value cell_index="6750" local_entity="3" value="0" />
+ <value cell_index="6753" local_entity="3" value="0" />
+ <value cell_index="6756" local_entity="3" value="0" />
+ <value cell_index="6759" local_entity="3" value="0" />
+ <value cell_index="6762" local_entity="3" value="0" />
+ <value cell_index="6765" local_entity="3" value="0" />
+ <value cell_index="6768" local_entity="3" value="0" />
+ <value cell_index="6771" local_entity="3" value="0" />
+ <value cell_index="6774" local_entity="3" value="0" />
+ <value cell_index="6777" local_entity="3" value="0" />
+ <value cell_index="6780" local_entity="3" value="0" />
+ <value cell_index="6783" local_entity="3" value="0" />
+ <value cell_index="6786" local_entity="3" value="0" />
+ <value cell_index="6789" local_entity="3" value="0" />
+ <value cell_index="6792" local_entity="3" value="0" />
+ <value cell_index="6795" local_entity="3" value="0" />
+ <value cell_index="6798" local_entity="3" value="0" />
+ <value cell_index="6801" local_entity="3" value="0" />
+ <value cell_index="6804" local_entity="3" value="0" />
+ <value cell_index="6807" local_entity="3" value="0" />
+ <value cell_index="6810" local_entity="3" value="0" />
+ <value cell_index="6813" local_entity="3" value="0" />
+ <value cell_index="6816" local_entity="3" value="0" />
+ <value cell_index="6819" local_entity="3" value="0" />
+ <value cell_index="6822" local_entity="3" value="0" />
+ <value cell_index="6825" local_entity="3" value="0" />
+ <value cell_index="6828" local_entity="3" value="0" />
+ <value cell_index="6831" local_entity="3" value="0" />
+ <value cell_index="6834" local_entity="3" value="0" />
+ <value cell_index="6837" local_entity="3" value="1" />
+ <value cell_index="6840" local_entity="3" value="1" />
+ <value cell_index="6843" local_entity="3" value="0" />
+ <value cell_index="6846" local_entity="3" value="0" />
+ <value cell_index="6849" local_entity="3" value="0" />
+ <value cell_index="6852" local_entity="3" value="0" />
+ <value cell_index="6855" local_entity="3" value="0" />
+ <value cell_index="6858" local_entity="3" value="0" />
+ <value cell_index="6861" local_entity="3" value="0" />
+ <value cell_index="6864" local_entity="3" value="0" />
+ <value cell_index="6867" local_entity="3" value="0" />
+ <value cell_index="6870" local_entity="3" value="0" />
+ <value cell_index="6873" local_entity="3" value="0" />
+ <value cell_index="6876" local_entity="3" value="0" />
+ <value cell_index="6879" local_entity="3" value="0" />
+ <value cell_index="6882" local_entity="3" value="0" />
+ <value cell_index="6885" local_entity="3" value="0" />
+ <value cell_index="6888" local_entity="3" value="0" />
+ <value cell_index="6891" local_entity="3" value="0" />
+ <value cell_index="6894" local_entity="3" value="0" />
+ <value cell_index="6897" local_entity="3" value="0" />
+ <value cell_index="6900" local_entity="3" value="0" />
+ <value cell_index="6903" local_entity="3" value="0" />
+ <value cell_index="6906" local_entity="3" value="0" />
+ <value cell_index="6909" local_entity="3" value="0" />
+ <value cell_index="6912" local_entity="3" value="0" />
+ <value cell_index="6915" local_entity="3" value="0" />
+ <value cell_index="6918" local_entity="3" value="0" />
+ <value cell_index="6921" local_entity="3" value="0" />
+ <value cell_index="6924" local_entity="3" value="0" />
+ <value cell_index="6927" local_entity="3" value="2" />
+ <value cell_index="6930" local_entity="3" value="0" />
+ <value cell_index="6933" local_entity="3" value="0" />
+ <value cell_index="6936" local_entity="3" value="0" />
+ <value cell_index="6939" local_entity="3" value="0" />
+ <value cell_index="6942" local_entity="3" value="0" />
+ <value cell_index="6945" local_entity="3" value="0" />
+ <value cell_index="6948" local_entity="3" value="0" />
+ <value cell_index="6951" local_entity="3" value="0" />
+ <value cell_index="6954" local_entity="3" value="0" />
+ <value cell_index="6957" local_entity="3" value="0" />
+ <value cell_index="6960" local_entity="3" value="0" />
+ <value cell_index="6963" local_entity="3" value="0" />
+ <value cell_index="6966" local_entity="3" value="0" />
+ <value cell_index="6969" local_entity="3" value="0" />
+ <value cell_index="6972" local_entity="3" value="0" />
+ <value cell_index="6975" local_entity="3" value="0" />
+ <value cell_index="6978" local_entity="3" value="0" />
+ <value cell_index="6981" local_entity="3" value="0" />
+ <value cell_index="6984" local_entity="3" value="0" />
+ <value cell_index="6987" local_entity="3" value="0" />
+ <value cell_index="6990" local_entity="3" value="0" />
+ <value cell_index="6993" local_entity="3" value="0" />
+ <value cell_index="6996" local_entity="3" value="0" />
+ <value cell_index="6999" local_entity="3" value="0" />
+ <value cell_index="7002" local_entity="3" value="0" />
+ <value cell_index="7005" local_entity="3" value="0" />
+ <value cell_index="7008" local_entity="3" value="0" />
+ <value cell_index="7011" local_entity="3" value="0" />
+ <value cell_index="7014" local_entity="3" value="0" />
+ <value cell_index="7017" local_entity="3" value="0" />
+ <value cell_index="7020" local_entity="3" value="0" />
+ <value cell_index="7023" local_entity="3" value="0" />
+ <value cell_index="7026" local_entity="3" value="0" />
+ <value cell_index="7029" local_entity="3" value="0" />
+ <value cell_index="7032" local_entity="3" value="0" />
+ <value cell_index="7035" local_entity="3" value="0" />
+ <value cell_index="7038" local_entity="3" value="0" />
+ <value cell_index="7041" local_entity="3" value="0" />
+ <value cell_index="7044" local_entity="3" value="0" />
+ <value cell_index="7047" local_entity="3" value="0" />
+ <value cell_index="7050" local_entity="3" value="0" />
+ <value cell_index="7053" local_entity="3" value="0" />
+ <value cell_index="7056" local_entity="3" value="0" />
+ <value cell_index="7059" local_entity="3" value="0" />
+ <value cell_index="7062" local_entity="3" value="0" />
+ <value cell_index="7065" local_entity="3" value="0" />
+ <value cell_index="7068" local_entity="3" value="0" />
+ <value cell_index="7071" local_entity="3" value="0" />
+ <value cell_index="7074" local_entity="3" value="0" />
+ <value cell_index="7077" local_entity="3" value="0" />
+ <value cell_index="7080" local_entity="3" value="0" />
+ <value cell_index="7083" local_entity="3" value="0" />
+ <value cell_index="7086" local_entity="3" value="0" />
+ <value cell_index="7089" local_entity="3" value="0" />
+ <value cell_index="7092" local_entity="3" value="0" />
+ <value cell_index="7095" local_entity="3" value="0" />
+ <value cell_index="7098" local_entity="3" value="0" />
+ <value cell_index="7101" local_entity="3" value="2" />
+ <value cell_index="7104" local_entity="3" value="0" />
+ <value cell_index="7107" local_entity="3" value="0" />
+ <value cell_index="7110" local_entity="3" value="0" />
+ <value cell_index="7113" local_entity="3" value="0" />
+ <value cell_index="7116" local_entity="3" value="0" />
+ <value cell_index="7119" local_entity="3" value="0" />
+ <value cell_index="7122" local_entity="3" value="0" />
+ <value cell_index="7125" local_entity="3" value="0" />
+ <value cell_index="7128" local_entity="3" value="0" />
+ <value cell_index="7131" local_entity="3" value="0" />
+ <value cell_index="7134" local_entity="3" value="0" />
+ <value cell_index="7137" local_entity="3" value="0" />
+ <value cell_index="7140" local_entity="3" value="0" />
+ <value cell_index="7143" local_entity="3" value="0" />
+ <value cell_index="7146" local_entity="3" value="0" />
+ <value cell_index="7149" local_entity="3" value="0" />
+ <value cell_index="7152" local_entity="3" value="0" />
+ <value cell_index="7155" local_entity="3" value="0" />
+ <value cell_index="7158" local_entity="3" value="0" />
+ <value cell_index="7161" local_entity="3" value="0" />
+ <value cell_index="7164" local_entity="3" value="0" />
+ <value cell_index="7167" local_entity="3" value="0" />
+ <value cell_index="7170" local_entity="3" value="0" />
+ <value cell_index="7173" local_entity="3" value="0" />
+ <value cell_index="7176" local_entity="3" value="0" />
+ <value cell_index="7179" local_entity="3" value="0" />
+ <value cell_index="7182" local_entity="3" value="2" />
+ <value cell_index="7185" local_entity="3" value="2" />
+ <value cell_index="7188" local_entity="3" value="0" />
+ <value cell_index="7191" local_entity="3" value="0" />
+ <value cell_index="7194" local_entity="3" value="0" />
+ <value cell_index="7197" local_entity="3" value="0" />
+ <value cell_index="7200" local_entity="3" value="0" />
+ <value cell_index="7203" local_entity="3" value="0" />
+ <value cell_index="7206" local_entity="3" value="0" />
+ <value cell_index="7209" local_entity="3" value="0" />
+ <value cell_index="7212" local_entity="3" value="0" />
+ <value cell_index="7215" local_entity="3" value="0" />
+ <value cell_index="7218" local_entity="3" value="0" />
+ <value cell_index="7221" local_entity="3" value="0" />
+ <value cell_index="7224" local_entity="3" value="0" />
+ <value cell_index="7227" local_entity="3" value="0" />
+ <value cell_index="7230" local_entity="3" value="0" />
+ <value cell_index="7233" local_entity="3" value="0" />
+ <value cell_index="7236" local_entity="3" value="0" />
+ <value cell_index="7239" local_entity="3" value="0" />
+ <value cell_index="7242" local_entity="3" value="0" />
+ <value cell_index="7245" local_entity="3" value="0" />
+ <value cell_index="7248" local_entity="3" value="0" />
+ <value cell_index="7251" local_entity="3" value="0" />
+ <value cell_index="7254" local_entity="3" value="0" />
+ <value cell_index="7257" local_entity="3" value="0" />
+ <value cell_index="7260" local_entity="3" value="0" />
+ <value cell_index="7263" local_entity="3" value="0" />
+ <value cell_index="7266" local_entity="3" value="0" />
+ <value cell_index="7269" local_entity="3" value="0" />
+ <value cell_index="7272" local_entity="3" value="0" />
+ <value cell_index="7275" local_entity="3" value="0" />
+ <value cell_index="7278" local_entity="3" value="2" />
+ <value cell_index="7281" local_entity="3" value="1" />
+ <value cell_index="7284" local_entity="3" value="0" />
+ <value cell_index="7287" local_entity="3" value="0" />
+ <value cell_index="7290" local_entity="3" value="0" />
+ <value cell_index="7293" local_entity="3" value="0" />
+ <value cell_index="7296" local_entity="3" value="0" />
+ <value cell_index="7299" local_entity="3" value="0" />
+ <value cell_index="7302" local_entity="3" value="0" />
+ <value cell_index="7305" local_entity="3" value="0" />
+ <value cell_index="7308" local_entity="3" value="0" />
+ <value cell_index="7311" local_entity="3" value="0" />
+ <value cell_index="7314" local_entity="3" value="0" />
+ <value cell_index="7317" local_entity="3" value="0" />
+ <value cell_index="7320" local_entity="3" value="0" />
+ <value cell_index="7323" local_entity="3" value="0" />
+ <value cell_index="7326" local_entity="3" value="0" />
+ <value cell_index="7329" local_entity="3" value="0" />
+ <value cell_index="7332" local_entity="3" value="0" />
+ <value cell_index="7335" local_entity="3" value="0" />
+ <value cell_index="7338" local_entity="3" value="0" />
+ <value cell_index="7341" local_entity="3" value="0" />
+ <value cell_index="7344" local_entity="3" value="0" />
+ <value cell_index="7347" local_entity="3" value="0" />
+ <value cell_index="7350" local_entity="3" value="0" />
+ <value cell_index="7353" local_entity="3" value="0" />
+ <value cell_index="7356" local_entity="3" value="0" />
+ <value cell_index="7359" local_entity="3" value="0" />
+ <value cell_index="7362" local_entity="3" value="0" />
+ <value cell_index="7365" local_entity="3" value="0" />
+ <value cell_index="7368" local_entity="3" value="0" />
+ <value cell_index="7371" local_entity="3" value="0" />
+ <value cell_index="7374" local_entity="3" value="0" />
+ <value cell_index="7377" local_entity="3" value="0" />
+ <value cell_index="7380" local_entity="3" value="0" />
+ <value cell_index="7383" local_entity="3" value="0" />
+ <value cell_index="7386" local_entity="3" value="0" />
+ <value cell_index="7389" local_entity="3" value="0" />
+ <value cell_index="7392" local_entity="3" value="0" />
+ <value cell_index="7395" local_entity="3" value="0" />
+ <value cell_index="7398" local_entity="3" value="0" />
+ <value cell_index="7401" local_entity="3" value="0" />
+ <value cell_index="7404" local_entity="3" value="0" />
+ <value cell_index="7407" local_entity="3" value="0" />
+ <value cell_index="7410" local_entity="3" value="0" />
+ <value cell_index="7413" local_entity="3" value="0" />
+ <value cell_index="7416" local_entity="3" value="0" />
+ <value cell_index="7419" local_entity="3" value="0" />
+ <value cell_index="7422" local_entity="3" value="0" />
+ <value cell_index="7425" local_entity="3" value="0" />
+ <value cell_index="7428" local_entity="3" value="0" />
+ <value cell_index="7431" local_entity="3" value="0" />
+ <value cell_index="7434" local_entity="3" value="0" />
+ <value cell_index="7437" local_entity="3" value="0" />
+ <value cell_index="7440" local_entity="3" value="0" />
+ <value cell_index="7443" local_entity="3" value="0" />
+ <value cell_index="7446" local_entity="3" value="0" />
+ <value cell_index="7449" local_entity="3" value="0" />
+ <value cell_index="7452" local_entity="3" value="0" />
+ <value cell_index="7455" local_entity="3" value="0" />
+ <value cell_index="7458" local_entity="3" value="0" />
+ <value cell_index="7461" local_entity="3" value="0" />
+ <value cell_index="7464" local_entity="3" value="0" />
+ <value cell_index="7467" local_entity="3" value="0" />
+ <value cell_index="7470" local_entity="3" value="0" />
+ <value cell_index="7473" local_entity="3" value="0" />
+ <value cell_index="7476" local_entity="3" value="0" />
+ <value cell_index="7479" local_entity="3" value="0" />
+ <value cell_index="7482" local_entity="3" value="0" />
+ <value cell_index="7485" local_entity="3" value="0" />
+ <value cell_index="7488" local_entity="3" value="0" />
+ <value cell_index="7491" local_entity="3" value="0" />
+ <value cell_index="7494" local_entity="3" value="0" />
+ <value cell_index="7497" local_entity="3" value="0" />
+ <value cell_index="7500" local_entity="3" value="0" />
+ <value cell_index="7503" local_entity="3" value="0" />
+ <value cell_index="7506" local_entity="3" value="0" />
+ <value cell_index="7509" local_entity="3" value="0" />
+ <value cell_index="7512" local_entity="3" value="0" />
+ <value cell_index="7515" local_entity="3" value="0" />
+ <value cell_index="7518" local_entity="3" value="0" />
+ <value cell_index="7521" local_entity="3" value="0" />
+ <value cell_index="7524" local_entity="3" value="0" />
+ <value cell_index="7527" local_entity="3" value="2" />
+ <value cell_index="7530" local_entity="3" value="0" />
+ <value cell_index="7533" local_entity="3" value="0" />
+ <value cell_index="7536" local_entity="3" value="0" />
+ <value cell_index="7539" local_entity="3" value="0" />
+ <value cell_index="7542" local_entity="3" value="0" />
+ <value cell_index="7545" local_entity="3" value="0" />
+ <value cell_index="7548" local_entity="3" value="0" />
+ <value cell_index="7551" local_entity="3" value="0" />
+ <value cell_index="7554" local_entity="3" value="0" />
+ <value cell_index="7557" local_entity="3" value="0" />
+ <value cell_index="7560" local_entity="3" value="0" />
+ <value cell_index="7563" local_entity="3" value="0" />
+ <value cell_index="7566" local_entity="3" value="0" />
+ <value cell_index="7569" local_entity="3" value="0" />
+ <value cell_index="7572" local_entity="3" value="0" />
+ <value cell_index="7575" local_entity="3" value="0" />
+ <value cell_index="7578" local_entity="3" value="0" />
+ <value cell_index="7581" local_entity="3" value="0" />
+ <value cell_index="7584" local_entity="3" value="0" />
+ <value cell_index="7587" local_entity="3" value="0" />
+ <value cell_index="7590" local_entity="3" value="0" />
+ <value cell_index="7593" local_entity="3" value="0" />
+ <value cell_index="7596" local_entity="3" value="0" />
+ <value cell_index="7599" local_entity="3" value="0" />
+ <value cell_index="7602" local_entity="3" value="0" />
+ <value cell_index="7605" local_entity="3" value="0" />
+ <value cell_index="7608" local_entity="3" value="0" />
+ <value cell_index="7611" local_entity="3" value="0" />
+ <value cell_index="7614" local_entity="3" value="0" />
+ <value cell_index="7617" local_entity="3" value="0" />
+ <value cell_index="7620" local_entity="3" value="0" />
+ <value cell_index="7623" local_entity="3" value="0" />
+ <value cell_index="7626" local_entity="3" value="0" />
+ <value cell_index="7629" local_entity="3" value="0" />
+ <value cell_index="7632" local_entity="3" value="0" />
+ <value cell_index="7635" local_entity="3" value="0" />
+ <value cell_index="7638" local_entity="3" value="0" />
+ <value cell_index="7641" local_entity="3" value="0" />
+ <value cell_index="7644" local_entity="3" value="0" />
+ <value cell_index="7647" local_entity="3" value="0" />
+ <value cell_index="7650" local_entity="3" value="0" />
+ <value cell_index="7653" local_entity="3" value="0" />
+ <value cell_index="7656" local_entity="3" value="0" />
+ <value cell_index="7659" local_entity="3" value="0" />
+ <value cell_index="7662" local_entity="3" value="0" />
+ <value cell_index="7665" local_entity="3" value="0" />
+ <value cell_index="7668" local_entity="3" value="0" />
+ <value cell_index="7671" local_entity="3" value="0" />
+ <value cell_index="7674" local_entity="3" value="0" />
+ <value cell_index="7677" local_entity="3" value="0" />
+ <value cell_index="7680" local_entity="3" value="0" />
+ <value cell_index="7683" local_entity="3" value="0" />
+ <value cell_index="7686" local_entity="3" value="0" />
+ <value cell_index="7689" local_entity="3" value="0" />
+ <value cell_index="7692" local_entity="3" value="0" />
+ <value cell_index="7695" local_entity="3" value="0" />
+ <value cell_index="7698" local_entity="3" value="0" />
+ <value cell_index="7701" local_entity="3" value="0" />
+ <value cell_index="7704" local_entity="3" value="0" />
+ <value cell_index="7707" local_entity="3" value="0" />
+ <value cell_index="7710" local_entity="3" value="0" />
+ <value cell_index="7713" local_entity="3" value="0" />
+ <value cell_index="7716" local_entity="3" value="0" />
+ <value cell_index="7719" local_entity="3" value="0" />
+ <value cell_index="7722" local_entity="3" value="0" />
+ <value cell_index="7725" local_entity="3" value="0" />
+ <value cell_index="7728" local_entity="3" value="0" />
+ <value cell_index="7731" local_entity="3" value="0" />
+ <value cell_index="7734" local_entity="3" value="0" />
+ <value cell_index="7737" local_entity="3" value="0" />
+ <value cell_index="7740" local_entity="3" value="0" />
+ <value cell_index="7743" local_entity="3" value="0" />
+ <value cell_index="7746" local_entity="3" value="0" />
+ <value cell_index="7749" local_entity="3" value="0" />
+ <value cell_index="7752" local_entity="3" value="0" />
+ <value cell_index="7755" local_entity="3" value="0" />
+ <value cell_index="7758" local_entity="3" value="0" />
+ <value cell_index="7761" local_entity="3" value="0" />
+ <value cell_index="7764" local_entity="3" value="0" />
+ <value cell_index="7767" local_entity="3" value="0" />
+ <value cell_index="7770" local_entity="3" value="0" />
+ <value cell_index="7773" local_entity="3" value="0" />
+ <value cell_index="7776" local_entity="3" value="0" />
+ <value cell_index="7779" local_entity="3" value="0" />
+ <value cell_index="7782" local_entity="3" value="0" />
+ <value cell_index="7785" local_entity="3" value="0" />
+ <value cell_index="7788" local_entity="3" value="2" />
+ <value cell_index="7791" local_entity="3" value="2" />
+ <value cell_index="7794" local_entity="3" value="0" />
+ <value cell_index="7797" local_entity="3" value="0" />
+ <value cell_index="7800" local_entity="3" value="0" />
+ <value cell_index="7803" local_entity="3" value="0" />
+ <value cell_index="7806" local_entity="3" value="0" />
+ <value cell_index="7809" local_entity="3" value="0" />
+ <value cell_index="7812" local_entity="3" value="0" />
+ <value cell_index="7815" local_entity="3" value="0" />
+ <value cell_index="7818" local_entity="3" value="0" />
+ <value cell_index="7821" local_entity="3" value="0" />
+ <value cell_index="7824" local_entity="3" value="0" />
+ <value cell_index="7827" local_entity="3" value="0" />
+ <value cell_index="7830" local_entity="3" value="0" />
+ <value cell_index="7833" local_entity="3" value="0" />
+ <value cell_index="7836" local_entity="3" value="0" />
+ <value cell_index="7839" local_entity="3" value="0" />
+ <value cell_index="7842" local_entity="3" value="0" />
+ <value cell_index="7845" local_entity="3" value="0" />
+ <value cell_index="7848" local_entity="3" value="0" />
+ <value cell_index="7851" local_entity="3" value="0" />
+ <value cell_index="7854" local_entity="3" value="0" />
+ <value cell_index="7857" local_entity="3" value="0" />
+ <value cell_index="7860" local_entity="3" value="0" />
+ <value cell_index="7863" local_entity="3" value="0" />
+ <value cell_index="7866" local_entity="3" value="0" />
+ <value cell_index="7869" local_entity="3" value="0" />
+ <value cell_index="7872" local_entity="3" value="0" />
+ <value cell_index="7875" local_entity="3" value="0" />
+ <value cell_index="7878" local_entity="3" value="0" />
+ <value cell_index="7881" local_entity="3" value="0" />
+ <value cell_index="7884" local_entity="3" value="0" />
+ <value cell_index="7887" local_entity="3" value="0" />
+ <value cell_index="7890" local_entity="3" value="0" />
+ <value cell_index="7893" local_entity="3" value="0" />
+ <value cell_index="7896" local_entity="3" value="0" />
+ <value cell_index="7899" local_entity="3" value="0" />
+ <value cell_index="7902" local_entity="3" value="0" />
+ <value cell_index="7905" local_entity="3" value="0" />
+ <value cell_index="7908" local_entity="3" value="0" />
+ <value cell_index="7911" local_entity="3" value="0" />
+ <value cell_index="7914" local_entity="3" value="0" />
+ <value cell_index="7917" local_entity="3" value="0" />
+ <value cell_index="7920" local_entity="3" value="0" />
+ <value cell_index="7923" local_entity="3" value="0" />
+ <value cell_index="7926" local_entity="3" value="0" />
+ <value cell_index="7929" local_entity="3" value="0" />
+ <value cell_index="7932" local_entity="3" value="2" />
+ <value cell_index="7935" local_entity="3" value="0" />
+ <value cell_index="7938" local_entity="3" value="0" />
+ <value cell_index="7941" local_entity="3" value="0" />
+ <value cell_index="7944" local_entity="3" value="0" />
+ <value cell_index="7947" local_entity="3" value="0" />
+ <value cell_index="7950" local_entity="3" value="0" />
+ <value cell_index="7953" local_entity="3" value="0" />
+ <value cell_index="7956" local_entity="3" value="0" />
+ <value cell_index="7959" local_entity="3" value="0" />
+ <value cell_index="7962" local_entity="3" value="0" />
+ <value cell_index="7965" local_entity="3" value="0" />
+ <value cell_index="7968" local_entity="3" value="0" />
+ <value cell_index="7971" local_entity="3" value="2" />
+ <value cell_index="7974" local_entity="3" value="2" />
+ <value cell_index="7977" local_entity="3" value="0" />
+ <value cell_index="7980" local_entity="3" value="0" />
+ <value cell_index="7983" local_entity="3" value="0" />
+ <value cell_index="7986" local_entity="3" value="0" />
+ <value cell_index="7989" local_entity="3" value="0" />
+ <value cell_index="7992" local_entity="3" value="0" />
+ <value cell_index="7995" local_entity="3" value="0" />
+ <value cell_index="7998" local_entity="3" value="0" />
+ <value cell_index="8001" local_entity="3" value="0" />
+ <value cell_index="8004" local_entity="3" value="0" />
+ <value cell_index="8007" local_entity="3" value="0" />
+ <value cell_index="8010" local_entity="3" value="0" />
+ <value cell_index="8013" local_entity="3" value="0" />
+ <value cell_index="8016" local_entity="3" value="0" />
+ <value cell_index="8019" local_entity="3" value="0" />
+ <value cell_index="8022" local_entity="3" value="0" />
+ <value cell_index="8025" local_entity="3" value="0" />
+ <value cell_index="8028" local_entity="3" value="0" />
+ <value cell_index="8031" local_entity="3" value="2" />
+ <value cell_index="8034" local_entity="3" value="2" />
+ <value cell_index="8037" local_entity="3" value="0" />
+ <value cell_index="8040" local_entity="3" value="0" />
+ <value cell_index="8043" local_entity="3" value="0" />
+ <value cell_index="8046" local_entity="3" value="0" />
+ <value cell_index="8049" local_entity="3" value="0" />
+ <value cell_index="8052" local_entity="3" value="0" />
+ <value cell_index="8055" local_entity="3" value="0" />
+ <value cell_index="8058" local_entity="3" value="0" />
+ <value cell_index="8061" local_entity="3" value="0" />
+ <value cell_index="8064" local_entity="3" value="0" />
+ <value cell_index="8067" local_entity="3" value="0" />
+ <value cell_index="8070" local_entity="3" value="0" />
+ <value cell_index="8073" local_entity="3" value="0" />
+ <value cell_index="8076" local_entity="3" value="0" />
+ <value cell_index="8079" local_entity="3" value="0" />
+ <value cell_index="8082" local_entity="3" value="0" />
+ <value cell_index="8085" local_entity="3" value="0" />
+ <value cell_index="8088" local_entity="3" value="0" />
+ <value cell_index="8091" local_entity="3" value="0" />
+ <value cell_index="8094" local_entity="3" value="0" />
+ <value cell_index="8097" local_entity="3" value="0" />
+ <value cell_index="8100" local_entity="3" value="0" />
+ <value cell_index="8103" local_entity="3" value="0" />
+ <value cell_index="8106" local_entity="3" value="0" />
+ <value cell_index="8109" local_entity="3" value="0" />
+ <value cell_index="8112" local_entity="3" value="0" />
+ <value cell_index="8115" local_entity="3" value="0" />
+ <value cell_index="8118" local_entity="3" value="1" />
+ <value cell_index="8121" local_entity="3" value="1" />
+ <value cell_index="8124" local_entity="3" value="0" />
+ <value cell_index="8127" local_entity="3" value="0" />
+ <value cell_index="8130" local_entity="3" value="0" />
+ <value cell_index="8133" local_entity="3" value="0" />
+ <value cell_index="8136" local_entity="3" value="0" />
+ <value cell_index="8139" local_entity="3" value="0" />
+ <value cell_index="8142" local_entity="3" value="0" />
+ <value cell_index="8145" local_entity="3" value="0" />
+ <value cell_index="8148" local_entity="3" value="0" />
+ <value cell_index="8151" local_entity="3" value="0" />
+ <value cell_index="8154" local_entity="3" value="0" />
+ <value cell_index="8157" local_entity="3" value="0" />
+ <value cell_index="8160" local_entity="3" value="0" />
+ <value cell_index="8163" local_entity="3" value="0" />
+ <value cell_index="8166" local_entity="3" value="0" />
+ <value cell_index="8169" local_entity="3" value="0" />
+ <value cell_index="8172" local_entity="3" value="0" />
+ <value cell_index="8175" local_entity="3" value="0" />
+ <value cell_index="8178" local_entity="3" value="0" />
+ <value cell_index="8181" local_entity="3" value="0" />
+ <value cell_index="8184" local_entity="3" value="0" />
+ <value cell_index="8187" local_entity="3" value="0" />
+ <value cell_index="8190" local_entity="3" value="0" />
+ <value cell_index="8193" local_entity="3" value="0" />
+ <value cell_index="8196" local_entity="3" value="0" />
+ <value cell_index="8199" local_entity="3" value="0" />
+ <value cell_index="8202" local_entity="3" value="0" />
+ <value cell_index="8205" local_entity="3" value="0" />
+ <value cell_index="8208" local_entity="3" value="0" />
+ <value cell_index="8211" local_entity="3" value="0" />
+ <value cell_index="8214" local_entity="3" value="0" />
+ <value cell_index="8217" local_entity="3" value="0" />
+ <value cell_index="8220" local_entity="3" value="0" />
+ <value cell_index="8223" local_entity="3" value="0" />
+ <value cell_index="8226" local_entity="3" value="0" />
+ <value cell_index="8229" local_entity="3" value="0" />
+ <value cell_index="8232" local_entity="3" value="0" />
+ <value cell_index="8235" local_entity="3" value="0" />
+ <value cell_index="8238" local_entity="3" value="0" />
+ <value cell_index="8241" local_entity="3" value="0" />
+ <value cell_index="8244" local_entity="3" value="0" />
+ <value cell_index="8247" local_entity="3" value="0" />
+ <value cell_index="8250" local_entity="3" value="0" />
+ <value cell_index="8253" local_entity="3" value="0" />
+ <value cell_index="8256" local_entity="3" value="0" />
+ <value cell_index="8259" local_entity="3" value="0" />
+ <value cell_index="8262" local_entity="3" value="0" />
+ <value cell_index="8265" local_entity="3" value="0" />
+ <value cell_index="8268" local_entity="3" value="0" />
+ <value cell_index="8271" local_entity="3" value="0" />
+ <value cell_index="8274" local_entity="3" value="0" />
+ <value cell_index="8277" local_entity="3" value="0" />
+ <value cell_index="8280" local_entity="3" value="0" />
+ <value cell_index="8283" local_entity="3" value="0" />
+ <value cell_index="8286" local_entity="3" value="0" />
+ <value cell_index="8289" local_entity="3" value="0" />
+ <value cell_index="8292" local_entity="3" value="0" />
+ <value cell_index="8295" local_entity="3" value="0" />
+ <value cell_index="8298" local_entity="3" value="0" />
+ <value cell_index="8301" local_entity="3" value="0" />
+ <value cell_index="8304" local_entity="3" value="0" />
+ <value cell_index="8307" local_entity="3" value="0" />
+ <value cell_index="8310" local_entity="3" value="0" />
+ <value cell_index="8313" local_entity="3" value="0" />
+ <value cell_index="8316" local_entity="3" value="0" />
+ <value cell_index="8319" local_entity="3" value="0" />
+ <value cell_index="8322" local_entity="3" value="0" />
+ <value cell_index="8325" local_entity="3" value="0" />
+ <value cell_index="8328" local_entity="3" value="0" />
+ <value cell_index="8331" local_entity="3" value="0" />
+ <value cell_index="8334" local_entity="3" value="0" />
+ <value cell_index="8337" local_entity="3" value="0" />
+ <value cell_index="8340" local_entity="3" value="0" />
+ <value cell_index="8343" local_entity="3" value="0" />
+ <value cell_index="8346" local_entity="3" value="0" />
+ <value cell_index="8349" local_entity="3" value="0" />
+ <value cell_index="8352" local_entity="3" value="0" />
+ <value cell_index="8355" local_entity="3" value="0" />
+ <value cell_index="8358" local_entity="3" value="0" />
+ <value cell_index="8361" local_entity="3" value="0" />
+ <value cell_index="8364" local_entity="3" value="0" />
+ <value cell_index="8367" local_entity="3" value="0" />
+ <value cell_index="8370" local_entity="3" value="0" />
+ <value cell_index="8373" local_entity="3" value="0" />
+ <value cell_index="8376" local_entity="3" value="0" />
+ <value cell_index="8379" local_entity="3" value="0" />
+ <value cell_index="8382" local_entity="3" value="0" />
+ <value cell_index="8385" local_entity="3" value="0" />
+ <value cell_index="8388" local_entity="3" value="0" />
+ <value cell_index="8391" local_entity="3" value="0" />
+ <value cell_index="8394" local_entity="3" value="0" />
+ <value cell_index="8397" local_entity="3" value="0" />
+ <value cell_index="8400" local_entity="3" value="0" />
+ <value cell_index="8403" local_entity="3" value="0" />
+ <value cell_index="8406" local_entity="3" value="0" />
+ <value cell_index="8409" local_entity="3" value="0" />
+ <value cell_index="8412" local_entity="3" value="0" />
+ <value cell_index="8415" local_entity="3" value="0" />
+ <value cell_index="8418" local_entity="3" value="0" />
+ <value cell_index="8421" local_entity="3" value="0" />
+ <value cell_index="8424" local_entity="3" value="2" />
+ <value cell_index="8427" local_entity="3" value="2" />
+ <value cell_index="8430" local_entity="3" value="0" />
+ <value cell_index="8433" local_entity="3" value="0" />
+ <value cell_index="8436" local_entity="3" value="0" />
+ <value cell_index="8439" local_entity="3" value="0" />
+ <value cell_index="8442" local_entity="3" value="0" />
+ <value cell_index="8445" local_entity="3" value="0" />
+ <value cell_index="8448" local_entity="3" value="0" />
+ <value cell_index="8451" local_entity="3" value="0" />
+ <value cell_index="8454" local_entity="3" value="0" />
+ <value cell_index="8457" local_entity="3" value="0" />
+ <value cell_index="8460" local_entity="3" value="0" />
+ <value cell_index="8463" local_entity="3" value="0" />
+ <value cell_index="8466" local_entity="3" value="0" />
+ <value cell_index="8469" local_entity="3" value="2" />
+ <value cell_index="8472" local_entity="3" value="2" />
+ <value cell_index="8475" local_entity="3" value="0" />
+ <value cell_index="8478" local_entity="3" value="0" />
+ <value cell_index="8481" local_entity="3" value="0" />
+ <value cell_index="8484" local_entity="3" value="0" />
+ <value cell_index="8487" local_entity="3" value="0" />
+ <value cell_index="8490" local_entity="3" value="0" />
+ <value cell_index="8493" local_entity="3" value="0" />
+ <value cell_index="8496" local_entity="3" value="0" />
+ <value cell_index="8499" local_entity="3" value="0" />
+ <value cell_index="8502" local_entity="3" value="0" />
+ <value cell_index="8505" local_entity="3" value="0" />
+ <value cell_index="8508" local_entity="3" value="0" />
+ <value cell_index="8511" local_entity="3" value="0" />
+ <value cell_index="8514" local_entity="3" value="0" />
+ <value cell_index="8517" local_entity="3" value="0" />
+ <value cell_index="8520" local_entity="3" value="0" />
+ <value cell_index="8523" local_entity="3" value="0" />
+ <value cell_index="8526" local_entity="3" value="0" />
+ <value cell_index="8529" local_entity="3" value="0" />
+ <value cell_index="8532" local_entity="3" value="0" />
+ <value cell_index="8535" local_entity="3" value="0" />
+ <value cell_index="8538" local_entity="3" value="0" />
+ <value cell_index="8541" local_entity="3" value="0" />
+ <value cell_index="8544" local_entity="3" value="0" />
+ <value cell_index="8547" local_entity="3" value="0" />
+ <value cell_index="8550" local_entity="3" value="0" />
+ <value cell_index="8553" local_entity="3" value="0" />
+ <value cell_index="8556" local_entity="3" value="0" />
+ <value cell_index="8559" local_entity="3" value="0" />
+ <value cell_index="8562" local_entity="3" value="0" />
+ <value cell_index="8565" local_entity="3" value="0" />
+ <value cell_index="8568" local_entity="3" value="0" />
+ <value cell_index="8571" local_entity="3" value="0" />
+ <value cell_index="8574" local_entity="3" value="0" />
+ <value cell_index="8577" local_entity="3" value="0" />
+ <value cell_index="8580" local_entity="3" value="0" />
+ <value cell_index="8583" local_entity="3" value="0" />
+ <value cell_index="8586" local_entity="3" value="0" />
+ <value cell_index="8589" local_entity="3" value="0" />
+ <value cell_index="8592" local_entity="3" value="0" />
+ <value cell_index="8595" local_entity="3" value="0" />
+ <value cell_index="8598" local_entity="3" value="0" />
+ <value cell_index="8601" local_entity="3" value="0" />
+ <value cell_index="8604" local_entity="3" value="0" />
+ <value cell_index="8607" local_entity="3" value="0" />
+ <value cell_index="8610" local_entity="3" value="0" />
+ <value cell_index="8613" local_entity="3" value="0" />
+ <value cell_index="8616" local_entity="3" value="0" />
+ <value cell_index="8619" local_entity="3" value="0" />
+ <value cell_index="8622" local_entity="3" value="0" />
+ <value cell_index="8625" local_entity="3" value="0" />
+ <value cell_index="8628" local_entity="3" value="0" />
+ <value cell_index="8631" local_entity="3" value="0" />
+ <value cell_index="8634" local_entity="3" value="2" />
+ <value cell_index="8637" local_entity="3" value="2" />
+ <value cell_index="8640" local_entity="3" value="0" />
+ <value cell_index="8643" local_entity="3" value="0" />
+ <value cell_index="8646" local_entity="3" value="0" />
+ <value cell_index="8649" local_entity="3" value="0" />
+ <value cell_index="8652" local_entity="3" value="0" />
+ <value cell_index="8655" local_entity="3" value="0" />
+ <value cell_index="8658" local_entity="3" value="0" />
+ <value cell_index="8661" local_entity="3" value="0" />
+ <value cell_index="8664" local_entity="3" value="0" />
+ <value cell_index="8667" local_entity="3" value="0" />
+ <value cell_index="8670" local_entity="3" value="0" />
+ <value cell_index="8673" local_entity="3" value="0" />
+ <value cell_index="8676" local_entity="3" value="0" />
+ <value cell_index="8679" local_entity="3" value="0" />
+ <value cell_index="8682" local_entity="3" value="0" />
+ <value cell_index="8685" local_entity="3" value="0" />
+ <value cell_index="8688" local_entity="3" value="0" />
+ <value cell_index="8691" local_entity="3" value="0" />
+ <value cell_index="8694" local_entity="3" value="0" />
+ <value cell_index="8697" local_entity="3" value="0" />
+ <value cell_index="8700" local_entity="3" value="0" />
+ <value cell_index="8703" local_entity="3" value="0" />
+ <value cell_index="8706" local_entity="3" value="0" />
+ <value cell_index="8709" local_entity="3" value="0" />
+ <value cell_index="8712" local_entity="3" value="0" />
+ <value cell_index="8715" local_entity="3" value="0" />
+ <value cell_index="8718" local_entity="3" value="0" />
+ <value cell_index="8721" local_entity="3" value="0" />
+ <value cell_index="8724" local_entity="3" value="0" />
+ <value cell_index="8727" local_entity="3" value="0" />
+ <value cell_index="8730" local_entity="3" value="0" />
+ <value cell_index="8733" local_entity="3" value="0" />
+ <value cell_index="8736" local_entity="3" value="0" />
+ <value cell_index="8739" local_entity="3" value="0" />
+ <value cell_index="8742" local_entity="3" value="0" />
+ <value cell_index="8745" local_entity="3" value="0" />
+ <value cell_index="8748" local_entity="3" value="0" />
+ <value cell_index="8751" local_entity="3" value="0" />
+ <value cell_index="8754" local_entity="3" value="0" />
+ <value cell_index="8757" local_entity="3" value="0" />
+ <value cell_index="8760" local_entity="3" value="0" />
+ <value cell_index="8763" local_entity="3" value="0" />
+ <value cell_index="8766" local_entity="3" value="0" />
+ <value cell_index="8769" local_entity="3" value="0" />
+ <value cell_index="8772" local_entity="3" value="0" />
+ <value cell_index="8775" local_entity="3" value="0" />
+ <value cell_index="8778" local_entity="3" value="0" />
+ <value cell_index="8781" local_entity="3" value="0" />
+ <value cell_index="8784" local_entity="3" value="0" />
+ <value cell_index="8787" local_entity="3" value="0" />
+ <value cell_index="8790" local_entity="3" value="0" />
+ <value cell_index="8793" local_entity="3" value="0" />
+ <value cell_index="8796" local_entity="3" value="0" />
+ <value cell_index="8799" local_entity="3" value="0" />
+ <value cell_index="8802" local_entity="3" value="0" />
+ <value cell_index="8805" local_entity="3" value="0" />
+ <value cell_index="8808" local_entity="3" value="0" />
+ <value cell_index="8811" local_entity="3" value="0" />
+ <value cell_index="8814" local_entity="3" value="0" />
+ <value cell_index="8817" local_entity="3" value="0" />
+ <value cell_index="8820" local_entity="3" value="0" />
+ <value cell_index="8823" local_entity="3" value="0" />
+ <value cell_index="8826" local_entity="3" value="0" />
+ <value cell_index="8829" local_entity="3" value="0" />
+ <value cell_index="8832" local_entity="3" value="0" />
+ <value cell_index="8835" local_entity="3" value="0" />
+ <value cell_index="8838" local_entity="3" value="0" />
+ <value cell_index="8841" local_entity="3" value="0" />
+ <value cell_index="8844" local_entity="3" value="0" />
+ <value cell_index="8847" local_entity="3" value="0" />
+ <value cell_index="8850" local_entity="3" value="0" />
+ <value cell_index="8853" local_entity="3" value="0" />
+ <value cell_index="8856" local_entity="3" value="0" />
+ <value cell_index="8859" local_entity="3" value="0" />
+ <value cell_index="8862" local_entity="3" value="0" />
+ <value cell_index="8865" local_entity="3" value="0" />
+ <value cell_index="8868" local_entity="3" value="0" />
+ <value cell_index="8871" local_entity="3" value="0" />
+ <value cell_index="8874" local_entity="3" value="0" />
+ <value cell_index="8877" local_entity="3" value="0" />
+ <value cell_index="8880" local_entity="3" value="0" />
+ <value cell_index="8883" local_entity="3" value="0" />
+ <value cell_index="8886" local_entity="3" value="0" />
+ <value cell_index="8889" local_entity="3" value="0" />
+ <value cell_index="8892" local_entity="3" value="0" />
+ <value cell_index="8895" local_entity="3" value="0" />
+ <value cell_index="8898" local_entity="3" value="0" />
+ <value cell_index="8901" local_entity="3" value="0" />
+ <value cell_index="8904" local_entity="3" value="0" />
+ <value cell_index="8907" local_entity="3" value="0" />
+ <value cell_index="8910" local_entity="3" value="0" />
+ <value cell_index="8913" local_entity="3" value="0" />
+ <value cell_index="8916" local_entity="3" value="0" />
+ <value cell_index="8919" local_entity="3" value="0" />
+ <value cell_index="8922" local_entity="3" value="0" />
+ <value cell_index="8925" local_entity="3" value="0" />
+ <value cell_index="8928" local_entity="3" value="0" />
+ <value cell_index="8931" local_entity="3" value="0" />
+ <value cell_index="8934" local_entity="3" value="0" />
+ <value cell_index="8937" local_entity="3" value="1" />
+ <value cell_index="8940" local_entity="3" value="1" />
+ <value cell_index="8943" local_entity="3" value="0" />
+ <value cell_index="8946" local_entity="3" value="0" />
+ <value cell_index="8949" local_entity="3" value="0" />
+ <value cell_index="8952" local_entity="3" value="0" />
+ <value cell_index="8955" local_entity="3" value="0" />
+ <value cell_index="8958" local_entity="3" value="0" />
+ <value cell_index="8961" local_entity="3" value="0" />
+ <value cell_index="8964" local_entity="3" value="0" />
+ <value cell_index="8967" local_entity="3" value="0" />
+ <value cell_index="8970" local_entity="3" value="0" />
+ <value cell_index="8973" local_entity="3" value="0" />
+ <value cell_index="8976" local_entity="3" value="0" />
+ <value cell_index="8979" local_entity="3" value="0" />
+ <value cell_index="8982" local_entity="3" value="0" />
+ <value cell_index="8985" local_entity="3" value="0" />
+ <value cell_index="8988" local_entity="3" value="0" />
+ <value cell_index="8991" local_entity="3" value="0" />
+ <value cell_index="8994" local_entity="3" value="0" />
+ <value cell_index="8997" local_entity="3" value="0" />
+ <value cell_index="9000" local_entity="3" value="0" />
+ <value cell_index="9003" local_entity="3" value="0" />
+ <value cell_index="9006" local_entity="3" value="0" />
+ <value cell_index="9009" local_entity="3" value="0" />
+ <value cell_index="9012" local_entity="3" value="0" />
+ <value cell_index="9015" local_entity="3" value="0" />
+ <value cell_index="9018" local_entity="3" value="0" />
+ <value cell_index="9021" local_entity="3" value="0" />
+ <value cell_index="9024" local_entity="3" value="0" />
+ <value cell_index="9027" local_entity="3" value="0" />
+ <value cell_index="9030" local_entity="3" value="0" />
+ <value cell_index="9033" local_entity="3" value="0" />
+ <value cell_index="9036" local_entity="3" value="0" />
+ <value cell_index="9039" local_entity="3" value="0" />
+ <value cell_index="9042" local_entity="3" value="0" />
+ <value cell_index="9045" local_entity="3" value="0" />
+ <value cell_index="9048" local_entity="3" value="0" />
+ <value cell_index="9051" local_entity="3" value="0" />
+ <value cell_index="9054" local_entity="3" value="0" />
+ <value cell_index="9057" local_entity="3" value="0" />
+ <value cell_index="9060" local_entity="3" value="0" />
+ <value cell_index="9063" local_entity="3" value="0" />
+ <value cell_index="9066" local_entity="3" value="0" />
+ <value cell_index="9069" local_entity="3" value="0" />
+ <value cell_index="9072" local_entity="3" value="0" />
+ <value cell_index="9075" local_entity="3" value="0" />
+ <value cell_index="9078" local_entity="3" value="0" />
+ <value cell_index="9081" local_entity="3" value="0" />
+ <value cell_index="9084" local_entity="3" value="0" />
+ <value cell_index="9087" local_entity="3" value="0" />
+ <value cell_index="9090" local_entity="3" value="0" />
+ <value cell_index="9093" local_entity="3" value="0" />
+ <value cell_index="9096" local_entity="3" value="0" />
+ <value cell_index="9099" local_entity="3" value="0" />
+ <value cell_index="9102" local_entity="3" value="0" />
+ <value cell_index="9105" local_entity="3" value="0" />
+ <value cell_index="9108" local_entity="3" value="2" />
+ <value cell_index="9111" local_entity="3" value="2" />
+ <value cell_index="9114" local_entity="3" value="0" />
+ <value cell_index="9117" local_entity="3" value="0" />
+ <value cell_index="9120" local_entity="3" value="0" />
+ <value cell_index="9123" local_entity="3" value="0" />
+ <value cell_index="9126" local_entity="3" value="0" />
+ <value cell_index="9129" local_entity="3" value="0" />
+ <value cell_index="9132" local_entity="3" value="0" />
+ <value cell_index="9135" local_entity="3" value="0" />
+ <value cell_index="9138" local_entity="3" value="0" />
+ <value cell_index="9141" local_entity="3" value="0" />
+ <value cell_index="9144" local_entity="3" value="0" />
+ <value cell_index="9147" local_entity="3" value="0" />
+ <value cell_index="9150" local_entity="3" value="0" />
+ <value cell_index="9153" local_entity="3" value="0" />
+ <value cell_index="9156" local_entity="3" value="0" />
+ <value cell_index="9159" local_entity="3" value="0" />
+ <value cell_index="9162" local_entity="3" value="0" />
+ <value cell_index="9165" local_entity="3" value="0" />
+ <value cell_index="9168" local_entity="3" value="0" />
+ <value cell_index="9171" local_entity="3" value="0" />
+ <value cell_index="9174" local_entity="3" value="0" />
+ <value cell_index="9177" local_entity="3" value="0" />
+ <value cell_index="9180" local_entity="3" value="0" />
+ <value cell_index="9183" local_entity="3" value="0" />
+ <value cell_index="9186" local_entity="3" value="0" />
+ <value cell_index="9189" local_entity="3" value="0" />
+ <value cell_index="9192" local_entity="3" value="0" />
+ <value cell_index="9195" local_entity="3" value="0" />
+ <value cell_index="9198" local_entity="3" value="0" />
+ <value cell_index="9201" local_entity="3" value="0" />
+ <value cell_index="9204" local_entity="3" value="0" />
+ <value cell_index="9207" local_entity="3" value="0" />
+ <value cell_index="9210" local_entity="3" value="0" />
+ <value cell_index="9213" local_entity="3" value="0" />
+ <value cell_index="9216" local_entity="3" value="0" />
+ <value cell_index="9219" local_entity="3" value="0" />
+ <value cell_index="9222" local_entity="3" value="0" />
+ <value cell_index="9225" local_entity="3" value="0" />
+ <value cell_index="9228" local_entity="3" value="0" />
+ <value cell_index="9231" local_entity="3" value="0" />
+ <value cell_index="9234" local_entity="3" value="0" />
+ <value cell_index="9237" local_entity="3" value="0" />
+ <value cell_index="9240" local_entity="3" value="0" />
+ <value cell_index="9243" local_entity="3" value="0" />
+ <value cell_index="9246" local_entity="3" value="0" />
+ <value cell_index="9249" local_entity="3" value="0" />
+ <value cell_index="9252" local_entity="3" value="0" />
+ <value cell_index="9255" local_entity="3" value="0" />
+ <value cell_index="9258" local_entity="3" value="0" />
+ <value cell_index="9261" local_entity="3" value="0" />
+ <value cell_index="9264" local_entity="3" value="0" />
+ <value cell_index="9267" local_entity="3" value="0" />
+ <value cell_index="9270" local_entity="3" value="0" />
+ <value cell_index="9273" local_entity="3" value="0" />
+ <value cell_index="9276" local_entity="3" value="0" />
+ <value cell_index="9279" local_entity="3" value="0" />
+ <value cell_index="9282" local_entity="3" value="0" />
+ <value cell_index="9285" local_entity="3" value="0" />
+ <value cell_index="9288" local_entity="3" value="0" />
+ <value cell_index="9291" local_entity="3" value="0" />
+ <value cell_index="9294" local_entity="3" value="0" />
+ <value cell_index="9297" local_entity="3" value="0" />
+ <value cell_index="9300" local_entity="3" value="0" />
+ <value cell_index="9303" local_entity="3" value="0" />
+ <value cell_index="9306" local_entity="3" value="0" />
+ <value cell_index="9309" local_entity="3" value="0" />
+ <value cell_index="9312" local_entity="3" value="0" />
+ <value cell_index="9315" local_entity="3" value="0" />
+ <value cell_index="9318" local_entity="3" value="0" />
+ <value cell_index="9321" local_entity="3" value="0" />
+ <value cell_index="9324" local_entity="3" value="0" />
+ <value cell_index="9327" local_entity="3" value="0" />
+ <value cell_index="9330" local_entity="3" value="0" />
+ <value cell_index="9333" local_entity="3" value="0" />
+ <value cell_index="9336" local_entity="3" value="0" />
+ <value cell_index="9339" local_entity="3" value="0" />
+ <value cell_index="9342" local_entity="3" value="0" />
+ <value cell_index="9345" local_entity="3" value="0" />
+ <value cell_index="9348" local_entity="3" value="0" />
+ <value cell_index="9351" local_entity="3" value="0" />
+ <value cell_index="9354" local_entity="3" value="0" />
+ <value cell_index="9357" local_entity="3" value="0" />
+ <value cell_index="9360" local_entity="3" value="0" />
+ <value cell_index="9363" local_entity="3" value="0" />
+ <value cell_index="9366" local_entity="3" value="0" />
+ <value cell_index="9369" local_entity="3" value="0" />
+ <value cell_index="9372" local_entity="3" value="0" />
+ <value cell_index="9375" local_entity="3" value="0" />
+ <value cell_index="9378" local_entity="3" value="0" />
+ <value cell_index="9381" local_entity="3" value="0" />
+ <value cell_index="9384" local_entity="3" value="0" />
+ <value cell_index="9387" local_entity="3" value="0" />
+ <value cell_index="9390" local_entity="3" value="0" />
+ <value cell_index="9393" local_entity="3" value="0" />
+ <value cell_index="9396" local_entity="3" value="0" />
+ <value cell_index="9399" local_entity="3" value="0" />
+ <value cell_index="9402" local_entity="3" value="0" />
+ <value cell_index="9405" local_entity="3" value="0" />
+ <value cell_index="9408" local_entity="3" value="0" />
+ <value cell_index="9411" local_entity="3" value="0" />
+ <value cell_index="9414" local_entity="3" value="0" />
+ <value cell_index="9417" local_entity="3" value="0" />
+ <value cell_index="9420" local_entity="3" value="0" />
+ <value cell_index="9423" local_entity="3" value="0" />
+ <value cell_index="9426" local_entity="3" value="0" />
+ <value cell_index="9429" local_entity="3" value="0" />
+ <value cell_index="9432" local_entity="3" value="0" />
+ <value cell_index="9435" local_entity="3" value="0" />
+ <value cell_index="9438" local_entity="3" value="0" />
+ <value cell_index="9441" local_entity="3" value="0" />
+ <value cell_index="9444" local_entity="3" value="0" />
+ <value cell_index="9447" local_entity="3" value="0" />
+ <value cell_index="9450" local_entity="3" value="0" />
+ <value cell_index="9453" local_entity="3" value="0" />
+ <value cell_index="9456" local_entity="3" value="0" />
+ <value cell_index="9459" local_entity="3" value="0" />
+ <value cell_index="9462" local_entity="3" value="0" />
+ <value cell_index="9465" local_entity="3" value="0" />
+ <value cell_index="9468" local_entity="3" value="0" />
+ <value cell_index="9471" local_entity="3" value="0" />
+ <value cell_index="9474" local_entity="3" value="0" />
+ <value cell_index="9477" local_entity="3" value="0" />
+ <value cell_index="9480" local_entity="3" value="0" />
+ <value cell_index="9483" local_entity="3" value="0" />
+ <value cell_index="9486" local_entity="3" value="0" />
+ <value cell_index="9489" local_entity="3" value="0" />
+ <value cell_index="9492" local_entity="3" value="0" />
+ <value cell_index="9495" local_entity="3" value="0" />
+ <value cell_index="9498" local_entity="3" value="0" />
+ <value cell_index="9501" local_entity="3" value="0" />
+ <value cell_index="9504" local_entity="3" value="0" />
+ <value cell_index="9507" local_entity="3" value="0" />
+ <value cell_index="9510" local_entity="3" value="0" />
+ <value cell_index="9513" local_entity="3" value="0" />
+ <value cell_index="9516" local_entity="3" value="0" />
+ <value cell_index="9519" local_entity="3" value="0" />
+ <value cell_index="9522" local_entity="3" value="0" />
+ <value cell_index="9525" local_entity="3" value="0" />
+ <value cell_index="9528" local_entity="3" value="0" />
+ <value cell_index="9531" local_entity="3" value="0" />
+ <value cell_index="9534" local_entity="3" value="0" />
+ <value cell_index="9537" local_entity="3" value="0" />
+ <value cell_index="9540" local_entity="3" value="0" />
+ <value cell_index="9543" local_entity="3" value="0" />
+ <value cell_index="9546" local_entity="3" value="0" />
+ <value cell_index="9549" local_entity="3" value="0" />
+ <value cell_index="9552" local_entity="3" value="0" />
+ <value cell_index="9555" local_entity="3" value="0" />
+ <value cell_index="9558" local_entity="3" value="0" />
+ <value cell_index="9561" local_entity="3" value="0" />
+ <value cell_index="9564" local_entity="3" value="0" />
+ <value cell_index="9567" local_entity="3" value="0" />
+ <value cell_index="9570" local_entity="3" value="0" />
+ <value cell_index="9573" local_entity="3" value="0" />
+ <value cell_index="9576" local_entity="3" value="0" />
+ <value cell_index="9579" local_entity="3" value="0" />
+ <value cell_index="9582" local_entity="3" value="0" />
+ <value cell_index="9585" local_entity="3" value="0" />
+ <value cell_index="9588" local_entity="3" value="0" />
+ <value cell_index="9591" local_entity="3" value="0" />
+ <value cell_index="9594" local_entity="3" value="0" />
+ <value cell_index="9597" local_entity="3" value="0" />
+ <value cell_index="9600" local_entity="3" value="0" />
+ <value cell_index="9603" local_entity="3" value="0" />
+ <value cell_index="9606" local_entity="3" value="0" />
+ <value cell_index="9609" local_entity="3" value="0" />
+ <value cell_index="9612" local_entity="3" value="0" />
+ <value cell_index="9615" local_entity="3" value="0" />
+ <value cell_index="9618" local_entity="3" value="0" />
+ <value cell_index="9621" local_entity="3" value="0" />
+ <value cell_index="9624" local_entity="3" value="0" />
+ <value cell_index="9627" local_entity="3" value="0" />
+ <value cell_index="9630" local_entity="3" value="0" />
+ <value cell_index="9633" local_entity="3" value="0" />
+ <value cell_index="9636" local_entity="3" value="0" />
+ <value cell_index="9639" local_entity="3" value="0" />
+ <value cell_index="9642" local_entity="3" value="0" />
+ <value cell_index="9645" local_entity="3" value="0" />
+ <value cell_index="9648" local_entity="3" value="0" />
+ <value cell_index="9651" local_entity="3" value="0" />
+ <value cell_index="9654" local_entity="3" value="0" />
+ <value cell_index="9657" local_entity="3" value="0" />
+ <value cell_index="9660" local_entity="3" value="0" />
+ <value cell_index="9663" local_entity="3" value="0" />
+ <value cell_index="9666" local_entity="3" value="0" />
+ <value cell_index="9669" local_entity="3" value="0" />
+ <value cell_index="9672" local_entity="3" value="0" />
+ <value cell_index="9675" local_entity="3" value="0" />
+ </mesh_value_collection>
+ <mesh_value_collection type="uint" dim="3" size="37548">
+ <value cell_index="0" local_entity="0" value="0" />
+ <value cell_index="1" local_entity="0" value="0" />
+ <value cell_index="2" local_entity="0" value="0" />
+ <value cell_index="3" local_entity="0" value="0" />
+ <value cell_index="4" local_entity="0" value="0" />
+ <value cell_index="5" local_entity="0" value="0" />
+ <value cell_index="6" local_entity="0" value="0" />
+ <value cell_index="7" local_entity="0" value="0" />
+ <value cell_index="8" local_entity="0" value="0" />
+ <value cell_index="9" local_entity="0" value="0" />
+ <value cell_index="10" local_entity="0" value="0" />
+ <value cell_index="11" local_entity="0" value="0" />
+ <value cell_index="12" local_entity="0" value="0" />
+ <value cell_index="13" local_entity="0" value="0" />
+ <value cell_index="14" local_entity="0" value="0" />
+ <value cell_index="15" local_entity="0" value="0" />
+ <value cell_index="16" local_entity="0" value="0" />
+ <value cell_index="17" local_entity="0" value="0" />
+ <value cell_index="18" local_entity="0" value="0" />
+ <value cell_index="19" local_entity="0" value="0" />
+ <value cell_index="20" local_entity="0" value="0" />
+ <value cell_index="21" local_entity="0" value="0" />
+ <value cell_index="22" local_entity="0" value="0" />
+ <value cell_index="23" local_entity="0" value="0" />
+ <value cell_index="24" local_entity="0" value="0" />
+ <value cell_index="25" local_entity="0" value="0" />
+ <value cell_index="26" local_entity="0" value="0" />
+ <value cell_index="27" local_entity="0" value="0" />
+ <value cell_index="28" local_entity="0" value="0" />
+ <value cell_index="29" local_entity="0" value="0" />
+ <value cell_index="30" local_entity="0" value="0" />
+ <value cell_index="31" local_entity="0" value="0" />
+ <value cell_index="32" local_entity="0" value="0" />
+ <value cell_index="33" local_entity="0" value="0" />
+ <value cell_index="34" local_entity="0" value="0" />
+ <value cell_index="35" local_entity="0" value="0" />
+ <value cell_index="36" local_entity="0" value="0" />
+ <value cell_index="37" local_entity="0" value="0" />
+ <value cell_index="38" local_entity="0" value="0" />
+ <value cell_index="39" local_entity="0" value="0" />
+ <value cell_index="40" local_entity="0" value="0" />
+ <value cell_index="41" local_entity="0" value="0" />
+ <value cell_index="42" local_entity="0" value="0" />
+ <value cell_index="43" local_entity="0" value="0" />
+ <value cell_index="44" local_entity="0" value="0" />
+ <value cell_index="45" local_entity="0" value="0" />
+ <value cell_index="46" local_entity="0" value="0" />
+ <value cell_index="47" local_entity="0" value="0" />
+ <value cell_index="48" local_entity="0" value="0" />
+ <value cell_index="49" local_entity="0" value="0" />
+ <value cell_index="50" local_entity="0" value="0" />
+ <value cell_index="51" local_entity="0" value="0" />
+ <value cell_index="52" local_entity="0" value="0" />
+ <value cell_index="53" local_entity="0" value="0" />
+ <value cell_index="54" local_entity="0" value="0" />
+ <value cell_index="55" local_entity="0" value="0" />
+ <value cell_index="56" local_entity="0" value="0" />
+ <value cell_index="57" local_entity="0" value="0" />
+ <value cell_index="58" local_entity="0" value="0" />
+ <value cell_index="59" local_entity="0" value="0" />
+ <value cell_index="60" local_entity="0" value="0" />
+ <value cell_index="61" local_entity="0" value="0" />
+ <value cell_index="62" local_entity="0" value="0" />
+ <value cell_index="63" local_entity="0" value="0" />
+ <value cell_index="64" local_entity="0" value="0" />
+ <value cell_index="65" local_entity="0" value="0" />
+ <value cell_index="66" local_entity="0" value="0" />
+ <value cell_index="67" local_entity="0" value="0" />
+ <value cell_index="68" local_entity="0" value="0" />
+ <value cell_index="69" local_entity="0" value="0" />
+ <value cell_index="70" local_entity="0" value="0" />
+ <value cell_index="71" local_entity="0" value="0" />
+ <value cell_index="72" local_entity="0" value="0" />
+ <value cell_index="73" local_entity="0" value="0" />
+ <value cell_index="74" local_entity="0" value="0" />
+ <value cell_index="75" local_entity="0" value="0" />
+ <value cell_index="76" local_entity="0" value="0" />
+ <value cell_index="77" local_entity="0" value="0" />
+ <value cell_index="78" local_entity="0" value="0" />
+ <value cell_index="79" local_entity="0" value="0" />
+ <value cell_index="80" local_entity="0" value="0" />
+ <value cell_index="81" local_entity="0" value="0" />
+ <value cell_index="82" local_entity="0" value="0" />
+ <value cell_index="83" local_entity="0" value="0" />
+ <value cell_index="84" local_entity="0" value="0" />
+ <value cell_index="85" local_entity="0" value="0" />
+ <value cell_index="86" local_entity="0" value="0" />
+ <value cell_index="87" local_entity="0" value="0" />
+ <value cell_index="88" local_entity="0" value="0" />
+ <value cell_index="89" local_entity="0" value="0" />
+ <value cell_index="90" local_entity="0" value="0" />
+ <value cell_index="91" local_entity="0" value="0" />
+ <value cell_index="92" local_entity="0" value="0" />
+ <value cell_index="93" local_entity="0" value="0" />
+ <value cell_index="94" local_entity="0" value="0" />
+ <value cell_index="95" local_entity="0" value="0" />
+ <value cell_index="96" local_entity="0" value="0" />
+ <value cell_index="97" local_entity="0" value="0" />
+ <value cell_index="98" local_entity="0" value="0" />
+ <value cell_index="99" local_entity="0" value="0" />
+ <value cell_index="100" local_entity="0" value="0" />
+ <value cell_index="101" local_entity="0" value="0" />
+ <value cell_index="102" local_entity="0" value="0" />
+ <value cell_index="103" local_entity="0" value="0" />
+ <value cell_index="104" local_entity="0" value="0" />
+ <value cell_index="105" local_entity="0" value="0" />
+ <value cell_index="106" local_entity="0" value="0" />
+ <value cell_index="107" local_entity="0" value="0" />
+ <value cell_index="108" local_entity="0" value="0" />
+ <value cell_index="109" local_entity="0" value="0" />
+ <value cell_index="110" local_entity="0" value="0" />
+ <value cell_index="111" local_entity="0" value="0" />
+ <value cell_index="112" local_entity="0" value="0" />
+ <value cell_index="113" local_entity="0" value="0" />
+ <value cell_index="114" local_entity="0" value="0" />
+ <value cell_index="115" local_entity="0" value="0" />
+ <value cell_index="116" local_entity="0" value="0" />
+ <value cell_index="117" local_entity="0" value="0" />
+ <value cell_index="118" local_entity="0" value="0" />
+ <value cell_index="119" local_entity="0" value="0" />
+ <value cell_index="120" local_entity="0" value="0" />
+ <value cell_index="121" local_entity="0" value="0" />
+ <value cell_index="122" local_entity="0" value="0" />
+ <value cell_index="123" local_entity="0" value="0" />
+ <value cell_index="124" local_entity="0" value="0" />
+ <value cell_index="125" local_entity="0" value="0" />
+ <value cell_index="126" local_entity="0" value="0" />
+ <value cell_index="127" local_entity="0" value="0" />
+ <value cell_index="128" local_entity="0" value="0" />
+ <value cell_index="129" local_entity="0" value="0" />
+ <value cell_index="130" local_entity="0" value="0" />
+ <value cell_index="131" local_entity="0" value="0" />
+ <value cell_index="132" local_entity="0" value="0" />
+ <value cell_index="133" local_entity="0" value="0" />
+ <value cell_index="134" local_entity="0" value="0" />
+ <value cell_index="135" local_entity="0" value="0" />
+ <value cell_index="136" local_entity="0" value="0" />
+ <value cell_index="137" local_entity="0" value="0" />
+ <value cell_index="138" local_entity="0" value="0" />
+ <value cell_index="139" local_entity="0" value="0" />
+ <value cell_index="140" local_entity="0" value="0" />
+ <value cell_index="141" local_entity="0" value="0" />
+ <value cell_index="142" local_entity="0" value="0" />
+ <value cell_index="143" local_entity="0" value="0" />
+ <value cell_index="144" local_entity="0" value="0" />
+ <value cell_index="145" local_entity="0" value="0" />
+ <value cell_index="146" local_entity="0" value="0" />
+ <value cell_index="147" local_entity="0" value="0" />
+ <value cell_index="148" local_entity="0" value="0" />
+ <value cell_index="149" local_entity="0" value="0" />
+ <value cell_index="150" local_entity="0" value="0" />
+ <value cell_index="151" local_entity="0" value="0" />
+ <value cell_index="152" local_entity="0" value="0" />
+ <value cell_index="153" local_entity="0" value="0" />
+ <value cell_index="154" local_entity="0" value="0" />
+ <value cell_index="155" local_entity="0" value="0" />
+ <value cell_index="156" local_entity="0" value="0" />
+ <value cell_index="157" local_entity="0" value="0" />
+ <value cell_index="158" local_entity="0" value="0" />
+ <value cell_index="159" local_entity="0" value="0" />
+ <value cell_index="160" local_entity="0" value="0" />
+ <value cell_index="161" local_entity="0" value="0" />
+ <value cell_index="162" local_entity="0" value="0" />
+ <value cell_index="163" local_entity="0" value="0" />
+ <value cell_index="164" local_entity="0" value="0" />
+ <value cell_index="165" local_entity="0" value="0" />
+ <value cell_index="166" local_entity="0" value="0" />
+ <value cell_index="167" local_entity="0" value="0" />
+ <value cell_index="168" local_entity="0" value="0" />
+ <value cell_index="169" local_entity="0" value="0" />
+ <value cell_index="170" local_entity="0" value="0" />
+ <value cell_index="171" local_entity="0" value="0" />
+ <value cell_index="172" local_entity="0" value="0" />
+ <value cell_index="173" local_entity="0" value="0" />
+ <value cell_index="174" local_entity="0" value="0" />
+ <value cell_index="175" local_entity="0" value="0" />
+ <value cell_index="176" local_entity="0" value="0" />
+ <value cell_index="177" local_entity="0" value="0" />
+ <value cell_index="178" local_entity="0" value="0" />
+ <value cell_index="179" local_entity="0" value="0" />
+ <value cell_index="180" local_entity="0" value="0" />
+ <value cell_index="181" local_entity="0" value="0" />
+ <value cell_index="182" local_entity="0" value="0" />
+ <value cell_index="183" local_entity="0" value="0" />
+ <value cell_index="184" local_entity="0" value="0" />
+ <value cell_index="185" local_entity="0" value="0" />
+ <value cell_index="186" local_entity="0" value="0" />
+ <value cell_index="187" local_entity="0" value="0" />
+ <value cell_index="188" local_entity="0" value="0" />
+ <value cell_index="189" local_entity="0" value="0" />
+ <value cell_index="190" local_entity="0" value="0" />
+ <value cell_index="191" local_entity="0" value="0" />
+ <value cell_index="192" local_entity="0" value="0" />
+ <value cell_index="193" local_entity="0" value="0" />
+ <value cell_index="194" local_entity="0" value="0" />
+ <value cell_index="195" local_entity="0" value="0" />
+ <value cell_index="196" local_entity="0" value="0" />
+ <value cell_index="197" local_entity="0" value="0" />
+ <value cell_index="198" local_entity="0" value="0" />
+ <value cell_index="199" local_entity="0" value="0" />
+ <value cell_index="200" local_entity="0" value="0" />
+ <value cell_index="201" local_entity="0" value="0" />
+ <value cell_index="202" local_entity="0" value="0" />
+ <value cell_index="203" local_entity="0" value="0" />
+ <value cell_index="204" local_entity="0" value="0" />
+ <value cell_index="205" local_entity="0" value="0" />
+ <value cell_index="206" local_entity="0" value="0" />
+ <value cell_index="207" local_entity="0" value="0" />
+ <value cell_index="208" local_entity="0" value="0" />
+ <value cell_index="209" local_entity="0" value="0" />
+ <value cell_index="210" local_entity="0" value="0" />
+ <value cell_index="211" local_entity="0" value="0" />
+ <value cell_index="212" local_entity="0" value="0" />
+ <value cell_index="213" local_entity="0" value="0" />
+ <value cell_index="214" local_entity="0" value="0" />
+ <value cell_index="215" local_entity="0" value="0" />
+ <value cell_index="216" local_entity="0" value="0" />
+ <value cell_index="217" local_entity="0" value="0" />
+ <value cell_index="218" local_entity="0" value="0" />
+ <value cell_index="219" local_entity="0" value="0" />
+ <value cell_index="220" local_entity="0" value="0" />
+ <value cell_index="221" local_entity="0" value="0" />
+ <value cell_index="222" local_entity="0" value="0" />
+ <value cell_index="223" local_entity="0" value="0" />
+ <value cell_index="224" local_entity="0" value="0" />
+ <value cell_index="225" local_entity="0" value="0" />
+ <value cell_index="226" local_entity="0" value="0" />
+ <value cell_index="227" local_entity="0" value="0" />
+ <value cell_index="228" local_entity="0" value="0" />
+ <value cell_index="229" local_entity="0" value="0" />
+ <value cell_index="230" local_entity="0" value="0" />
+ <value cell_index="231" local_entity="0" value="0" />
+ <value cell_index="232" local_entity="0" value="0" />
+ <value cell_index="233" local_entity="0" value="0" />
+ <value cell_index="234" local_entity="0" value="0" />
+ <value cell_index="235" local_entity="0" value="0" />
+ <value cell_index="236" local_entity="0" value="0" />
+ <value cell_index="237" local_entity="0" value="0" />
+ <value cell_index="238" local_entity="0" value="0" />
+ <value cell_index="239" local_entity="0" value="0" />
+ <value cell_index="240" local_entity="0" value="0" />
+ <value cell_index="241" local_entity="0" value="0" />
+ <value cell_index="242" local_entity="0" value="0" />
+ <value cell_index="243" local_entity="0" value="0" />
+ <value cell_index="244" local_entity="0" value="0" />
+ <value cell_index="245" local_entity="0" value="0" />
+ <value cell_index="246" local_entity="0" value="0" />
+ <value cell_index="247" local_entity="0" value="0" />
+ <value cell_index="248" local_entity="0" value="0" />
+ <value cell_index="249" local_entity="0" value="0" />
+ <value cell_index="250" local_entity="0" value="0" />
+ <value cell_index="251" local_entity="0" value="0" />
+ <value cell_index="252" local_entity="0" value="0" />
+ <value cell_index="253" local_entity="0" value="0" />
+ <value cell_index="254" local_entity="0" value="0" />
+ <value cell_index="255" local_entity="0" value="0" />
+ <value cell_index="256" local_entity="0" value="0" />
+ <value cell_index="257" local_entity="0" value="0" />
+ <value cell_index="258" local_entity="0" value="0" />
+ <value cell_index="259" local_entity="0" value="0" />
+ <value cell_index="260" local_entity="0" value="0" />
+ <value cell_index="261" local_entity="0" value="0" />
+ <value cell_index="262" local_entity="0" value="0" />
+ <value cell_index="263" local_entity="0" value="0" />
+ <value cell_index="264" local_entity="0" value="0" />
+ <value cell_index="265" local_entity="0" value="0" />
+ <value cell_index="266" local_entity="0" value="0" />
+ <value cell_index="267" local_entity="0" value="0" />
+ <value cell_index="268" local_entity="0" value="0" />
+ <value cell_index="269" local_entity="0" value="0" />
+ <value cell_index="270" local_entity="0" value="0" />
+ <value cell_index="271" local_entity="0" value="0" />
+ <value cell_index="272" local_entity="0" value="0" />
+ <value cell_index="273" local_entity="0" value="0" />
+ <value cell_index="274" local_entity="0" value="0" />
+ <value cell_index="275" local_entity="0" value="0" />
+ <value cell_index="276" local_entity="0" value="0" />
+ <value cell_index="277" local_entity="0" value="0" />
+ <value cell_index="278" local_entity="0" value="0" />
+ <value cell_index="279" local_entity="0" value="0" />
+ <value cell_index="280" local_entity="0" value="0" />
+ <value cell_index="281" local_entity="0" value="0" />
+ <value cell_index="282" local_entity="0" value="0" />
+ <value cell_index="283" local_entity="0" value="0" />
+ <value cell_index="284" local_entity="0" value="0" />
+ <value cell_index="285" local_entity="0" value="0" />
+ <value cell_index="286" local_entity="0" value="0" />
+ <value cell_index="287" local_entity="0" value="0" />
+ <value cell_index="288" local_entity="0" value="0" />
+ <value cell_index="289" local_entity="0" value="0" />
+ <value cell_index="290" local_entity="0" value="0" />
+ <value cell_index="291" local_entity="0" value="0" />
+ <value cell_index="292" local_entity="0" value="0" />
+ <value cell_index="293" local_entity="0" value="0" />
+ <value cell_index="294" local_entity="0" value="0" />
+ <value cell_index="295" local_entity="0" value="0" />
+ <value cell_index="296" local_entity="0" value="0" />
+ <value cell_index="297" local_entity="0" value="0" />
+ <value cell_index="298" local_entity="0" value="0" />
+ <value cell_index="299" local_entity="0" value="0" />
+ <value cell_index="300" local_entity="0" value="0" />
+ <value cell_index="301" local_entity="0" value="0" />
+ <value cell_index="302" local_entity="0" value="0" />
+ <value cell_index="303" local_entity="0" value="0" />
+ <value cell_index="304" local_entity="0" value="0" />
+ <value cell_index="305" local_entity="0" value="0" />
+ <value cell_index="306" local_entity="0" value="0" />
+ <value cell_index="307" local_entity="0" value="0" />
+ <value cell_index="308" local_entity="0" value="0" />
+ <value cell_index="309" local_entity="0" value="0" />
+ <value cell_index="310" local_entity="0" value="0" />
+ <value cell_index="311" local_entity="0" value="0" />
+ <value cell_index="312" local_entity="0" value="0" />
+ <value cell_index="313" local_entity="0" value="0" />
+ <value cell_index="314" local_entity="0" value="0" />
+ <value cell_index="315" local_entity="0" value="0" />
+ <value cell_index="316" local_entity="0" value="0" />
+ <value cell_index="317" local_entity="0" value="0" />
+ <value cell_index="318" local_entity="0" value="0" />
+ <value cell_index="319" local_entity="0" value="0" />
+ <value cell_index="320" local_entity="0" value="0" />
+ <value cell_index="321" local_entity="0" value="0" />
+ <value cell_index="322" local_entity="0" value="0" />
+ <value cell_index="323" local_entity="0" value="0" />
+ <value cell_index="324" local_entity="0" value="0" />
+ <value cell_index="325" local_entity="0" value="0" />
+ <value cell_index="326" local_entity="0" value="0" />
+ <value cell_index="327" local_entity="0" value="0" />
+ <value cell_index="328" local_entity="0" value="0" />
+ <value cell_index="329" local_entity="0" value="0" />
+ <value cell_index="330" local_entity="0" value="0" />
+ <value cell_index="331" local_entity="0" value="0" />
+ <value cell_index="332" local_entity="0" value="0" />
+ <value cell_index="333" local_entity="0" value="0" />
+ <value cell_index="334" local_entity="0" value="0" />
+ <value cell_index="335" local_entity="0" value="0" />
+ <value cell_index="336" local_entity="0" value="0" />
+ <value cell_index="337" local_entity="0" value="0" />
+ <value cell_index="338" local_entity="0" value="0" />
+ <value cell_index="339" local_entity="0" value="0" />
+ <value cell_index="340" local_entity="0" value="0" />
+ <value cell_index="341" local_entity="0" value="0" />
+ <value cell_index="342" local_entity="0" value="0" />
+ <value cell_index="343" local_entity="0" value="0" />
+ <value cell_index="344" local_entity="0" value="0" />
+ <value cell_index="345" local_entity="0" value="0" />
+ <value cell_index="346" local_entity="0" value="0" />
+ <value cell_index="347" local_entity="0" value="0" />
+ <value cell_index="348" local_entity="0" value="0" />
+ <value cell_index="349" local_entity="0" value="0" />
+ <value cell_index="350" local_entity="0" value="0" />
+ <value cell_index="351" local_entity="0" value="0" />
+ <value cell_index="352" local_entity="0" value="0" />
+ <value cell_index="353" local_entity="0" value="0" />
+ <value cell_index="354" local_entity="0" value="0" />
+ <value cell_index="355" local_entity="0" value="0" />
+ <value cell_index="356" local_entity="0" value="0" />
+ <value cell_index="357" local_entity="0" value="0" />
+ <value cell_index="358" local_entity="0" value="0" />
+ <value cell_index="359" local_entity="0" value="0" />
+ <value cell_index="360" local_entity="0" value="0" />
+ <value cell_index="361" local_entity="0" value="0" />
+ <value cell_index="362" local_entity="0" value="0" />
+ <value cell_index="363" local_entity="0" value="0" />
+ <value cell_index="364" local_entity="0" value="0" />
+ <value cell_index="365" local_entity="0" value="0" />
+ <value cell_index="366" local_entity="0" value="0" />
+ <value cell_index="367" local_entity="0" value="0" />
+ <value cell_index="368" local_entity="0" value="0" />
+ <value cell_index="369" local_entity="0" value="0" />
+ <value cell_index="370" local_entity="0" value="0" />
+ <value cell_index="371" local_entity="0" value="0" />
+ <value cell_index="372" local_entity="0" value="0" />
+ <value cell_index="373" local_entity="0" value="0" />
+ <value cell_index="374" local_entity="0" value="0" />
+ <value cell_index="375" local_entity="0" value="0" />
+ <value cell_index="376" local_entity="0" value="0" />
+ <value cell_index="377" local_entity="0" value="0" />
+ <value cell_index="378" local_entity="0" value="0" />
+ <value cell_index="379" local_entity="0" value="0" />
+ <value cell_index="380" local_entity="0" value="0" />
+ <value cell_index="381" local_entity="0" value="0" />
+ <value cell_index="382" local_entity="0" value="0" />
+ <value cell_index="383" local_entity="0" value="0" />
+ <value cell_index="384" local_entity="0" value="0" />
+ <value cell_index="385" local_entity="0" value="0" />
+ <value cell_index="386" local_entity="0" value="0" />
+ <value cell_index="387" local_entity="0" value="0" />
+ <value cell_index="388" local_entity="0" value="0" />
+ <value cell_index="389" local_entity="0" value="0" />
+ <value cell_index="390" local_entity="0" value="0" />
+ <value cell_index="391" local_entity="0" value="0" />
+ <value cell_index="392" local_entity="0" value="0" />
+ <value cell_index="393" local_entity="0" value="0" />
+ <value cell_index="394" local_entity="0" value="0" />
+ <value cell_index="395" local_entity="0" value="0" />
+ <value cell_index="396" local_entity="0" value="0" />
+ <value cell_index="397" local_entity="0" value="0" />
+ <value cell_index="398" local_entity="0" value="0" />
+ <value cell_index="399" local_entity="0" value="0" />
+ <value cell_index="400" local_entity="0" value="0" />
+ <value cell_index="401" local_entity="0" value="0" />
+ <value cell_index="402" local_entity="0" value="0" />
+ <value cell_index="403" local_entity="0" value="0" />
+ <value cell_index="404" local_entity="0" value="0" />
+ <value cell_index="405" local_entity="0" value="0" />
+ <value cell_index="406" local_entity="0" value="0" />
+ <value cell_index="407" local_entity="0" value="0" />
+ <value cell_index="408" local_entity="0" value="0" />
+ <value cell_index="409" local_entity="0" value="0" />
+ <value cell_index="410" local_entity="0" value="0" />
+ <value cell_index="411" local_entity="0" value="0" />
+ <value cell_index="412" local_entity="0" value="0" />
+ <value cell_index="413" local_entity="0" value="0" />
+ <value cell_index="414" local_entity="0" value="0" />
+ <value cell_index="415" local_entity="0" value="0" />
+ <value cell_index="416" local_entity="0" value="0" />
+ <value cell_index="417" local_entity="0" value="0" />
+ <value cell_index="418" local_entity="0" value="0" />
+ <value cell_index="419" local_entity="0" value="0" />
+ <value cell_index="420" local_entity="0" value="0" />
+ <value cell_index="421" local_entity="0" value="0" />
+ <value cell_index="422" local_entity="0" value="0" />
+ <value cell_index="423" local_entity="0" value="0" />
+ <value cell_index="424" local_entity="0" value="0" />
+ <value cell_index="425" local_entity="0" value="0" />
+ <value cell_index="426" local_entity="0" value="0" />
+ <value cell_index="427" local_entity="0" value="0" />
+ <value cell_index="428" local_entity="0" value="0" />
+ <value cell_index="429" local_entity="0" value="0" />
+ <value cell_index="430" local_entity="0" value="0" />
+ <value cell_index="431" local_entity="0" value="0" />
+ <value cell_index="432" local_entity="0" value="0" />
+ <value cell_index="433" local_entity="0" value="0" />
+ <value cell_index="434" local_entity="0" value="0" />
+ <value cell_index="435" local_entity="0" value="0" />
+ <value cell_index="436" local_entity="0" value="0" />
+ <value cell_index="437" local_entity="0" value="0" />
+ <value cell_index="438" local_entity="0" value="0" />
+ <value cell_index="439" local_entity="0" value="0" />
+ <value cell_index="440" local_entity="0" value="0" />
+ <value cell_index="441" local_entity="0" value="0" />
+ <value cell_index="442" local_entity="0" value="0" />
+ <value cell_index="443" local_entity="0" value="0" />
+ <value cell_index="444" local_entity="0" value="0" />
+ <value cell_index="445" local_entity="0" value="0" />
+ <value cell_index="446" local_entity="0" value="0" />
+ <value cell_index="447" local_entity="0" value="0" />
+ <value cell_index="448" local_entity="0" value="0" />
+ <value cell_index="449" local_entity="0" value="0" />
+ <value cell_index="450" local_entity="0" value="0" />
+ <value cell_index="451" local_entity="0" value="0" />
+ <value cell_index="452" local_entity="0" value="0" />
+ <value cell_index="453" local_entity="0" value="0" />
+ <value cell_index="454" local_entity="0" value="0" />
+ <value cell_index="455" local_entity="0" value="0" />
+ <value cell_index="456" local_entity="0" value="0" />
+ <value cell_index="457" local_entity="0" value="0" />
+ <value cell_index="458" local_entity="0" value="0" />
+ <value cell_index="459" local_entity="0" value="0" />
+ <value cell_index="460" local_entity="0" value="0" />
+ <value cell_index="461" local_entity="0" value="0" />
+ <value cell_index="462" local_entity="0" value="0" />
+ <value cell_index="463" local_entity="0" value="0" />
+ <value cell_index="464" local_entity="0" value="0" />
+ <value cell_index="465" local_entity="0" value="0" />
+ <value cell_index="466" local_entity="0" value="0" />
+ <value cell_index="467" local_entity="0" value="0" />
+ <value cell_index="468" local_entity="0" value="0" />
+ <value cell_index="469" local_entity="0" value="0" />
+ <value cell_index="470" local_entity="0" value="0" />
+ <value cell_index="471" local_entity="0" value="0" />
+ <value cell_index="472" local_entity="0" value="0" />
+ <value cell_index="473" local_entity="0" value="0" />
+ <value cell_index="474" local_entity="0" value="0" />
+ <value cell_index="475" local_entity="0" value="0" />
+ <value cell_index="476" local_entity="0" value="0" />
+ <value cell_index="477" local_entity="0" value="0" />
+ <value cell_index="478" local_entity="0" value="0" />
+ <value cell_index="479" local_entity="0" value="0" />
+ <value cell_index="480" local_entity="0" value="0" />
+ <value cell_index="481" local_entity="0" value="0" />
+ <value cell_index="482" local_entity="0" value="0" />
+ <value cell_index="483" local_entity="0" value="0" />
+ <value cell_index="484" local_entity="0" value="0" />
+ <value cell_index="485" local_entity="0" value="0" />
+ <value cell_index="486" local_entity="0" value="0" />
+ <value cell_index="487" local_entity="0" value="0" />
+ <value cell_index="488" local_entity="0" value="0" />
+ <value cell_index="489" local_entity="0" value="0" />
+ <value cell_index="490" local_entity="0" value="0" />
+ <value cell_index="491" local_entity="0" value="0" />
+ <value cell_index="492" local_entity="0" value="0" />
+ <value cell_index="493" local_entity="0" value="0" />
+ <value cell_index="494" local_entity="0" value="0" />
+ <value cell_index="495" local_entity="0" value="0" />
+ <value cell_index="496" local_entity="0" value="0" />
+ <value cell_index="497" local_entity="0" value="0" />
+ <value cell_index="498" local_entity="0" value="0" />
+ <value cell_index="499" local_entity="0" value="0" />
+ <value cell_index="500" local_entity="0" value="0" />
+ <value cell_index="501" local_entity="0" value="0" />
+ <value cell_index="502" local_entity="0" value="0" />
+ <value cell_index="503" local_entity="0" value="0" />
+ <value cell_index="504" local_entity="0" value="0" />
+ <value cell_index="505" local_entity="0" value="0" />
+ <value cell_index="506" local_entity="0" value="0" />
+ <value cell_index="507" local_entity="0" value="0" />
+ <value cell_index="508" local_entity="0" value="0" />
+ <value cell_index="509" local_entity="0" value="0" />
+ <value cell_index="510" local_entity="0" value="0" />
+ <value cell_index="511" local_entity="0" value="0" />
+ <value cell_index="512" local_entity="0" value="0" />
+ <value cell_index="513" local_entity="0" value="0" />
+ <value cell_index="514" local_entity="0" value="0" />
+ <value cell_index="515" local_entity="0" value="0" />
+ <value cell_index="516" local_entity="0" value="0" />
+ <value cell_index="517" local_entity="0" value="0" />
+ <value cell_index="518" local_entity="0" value="0" />
+ <value cell_index="519" local_entity="0" value="0" />
+ <value cell_index="520" local_entity="0" value="0" />
+ <value cell_index="521" local_entity="0" value="0" />
+ <value cell_index="522" local_entity="0" value="0" />
+ <value cell_index="523" local_entity="0" value="0" />
+ <value cell_index="524" local_entity="0" value="0" />
+ <value cell_index="525" local_entity="0" value="0" />
+ <value cell_index="526" local_entity="0" value="0" />
+ <value cell_index="527" local_entity="0" value="0" />
+ <value cell_index="528" local_entity="0" value="0" />
+ <value cell_index="529" local_entity="0" value="0" />
+ <value cell_index="530" local_entity="0" value="0" />
+ <value cell_index="531" local_entity="0" value="0" />
+ <value cell_index="532" local_entity="0" value="0" />
+ <value cell_index="533" local_entity="0" value="0" />
+ <value cell_index="534" local_entity="0" value="0" />
+ <value cell_index="535" local_entity="0" value="0" />
+ <value cell_index="536" local_entity="0" value="0" />
+ <value cell_index="537" local_entity="0" value="0" />
+ <value cell_index="538" local_entity="0" value="0" />
+ <value cell_index="539" local_entity="0" value="0" />
+ <value cell_index="540" local_entity="0" value="0" />
+ <value cell_index="541" local_entity="0" value="0" />
+ <value cell_index="542" local_entity="0" value="0" />
+ <value cell_index="543" local_entity="0" value="0" />
+ <value cell_index="544" local_entity="0" value="0" />
+ <value cell_index="545" local_entity="0" value="0" />
+ <value cell_index="546" local_entity="0" value="0" />
+ <value cell_index="547" local_entity="0" value="0" />
+ <value cell_index="548" local_entity="0" value="0" />
+ <value cell_index="549" local_entity="0" value="0" />
+ <value cell_index="550" local_entity="0" value="0" />
+ <value cell_index="551" local_entity="0" value="0" />
+ <value cell_index="552" local_entity="0" value="0" />
+ <value cell_index="553" local_entity="0" value="0" />
+ <value cell_index="554" local_entity="0" value="0" />
+ <value cell_index="555" local_entity="0" value="0" />
+ <value cell_index="556" local_entity="0" value="0" />
+ <value cell_index="557" local_entity="0" value="0" />
+ <value cell_index="558" local_entity="0" value="0" />
+ <value cell_index="559" local_entity="0" value="0" />
+ <value cell_index="560" local_entity="0" value="0" />
+ <value cell_index="561" local_entity="0" value="0" />
+ <value cell_index="562" local_entity="0" value="0" />
+ <value cell_index="563" local_entity="0" value="0" />
+ <value cell_index="564" local_entity="0" value="0" />
+ <value cell_index="565" local_entity="0" value="0" />
+ <value cell_index="566" local_entity="0" value="0" />
+ <value cell_index="567" local_entity="0" value="0" />
+ <value cell_index="568" local_entity="0" value="0" />
+ <value cell_index="569" local_entity="0" value="0" />
+ <value cell_index="570" local_entity="0" value="0" />
+ <value cell_index="571" local_entity="0" value="0" />
+ <value cell_index="572" local_entity="0" value="0" />
+ <value cell_index="573" local_entity="0" value="0" />
+ <value cell_index="574" local_entity="0" value="0" />
+ <value cell_index="575" local_entity="0" value="0" />
+ <value cell_index="576" local_entity="0" value="0" />
+ <value cell_index="577" local_entity="0" value="0" />
+ <value cell_index="578" local_entity="0" value="0" />
+ <value cell_index="579" local_entity="0" value="0" />
+ <value cell_index="580" local_entity="0" value="0" />
+ <value cell_index="581" local_entity="0" value="0" />
+ <value cell_index="582" local_entity="0" value="0" />
+ <value cell_index="583" local_entity="0" value="0" />
+ <value cell_index="584" local_entity="0" value="0" />
+ <value cell_index="585" local_entity="0" value="0" />
+ <value cell_index="586" local_entity="0" value="0" />
+ <value cell_index="587" local_entity="0" value="0" />
+ <value cell_index="588" local_entity="0" value="0" />
+ <value cell_index="589" local_entity="0" value="0" />
+ <value cell_index="590" local_entity="0" value="0" />
+ <value cell_index="591" local_entity="0" value="0" />
+ <value cell_index="592" local_entity="0" value="0" />
+ <value cell_index="593" local_entity="0" value="0" />
+ <value cell_index="594" local_entity="0" value="0" />
+ <value cell_index="595" local_entity="0" value="0" />
+ <value cell_index="596" local_entity="0" value="0" />
+ <value cell_index="597" local_entity="0" value="0" />
+ <value cell_index="598" local_entity="0" value="0" />
+ <value cell_index="599" local_entity="0" value="0" />
+ <value cell_index="600" local_entity="0" value="0" />
+ <value cell_index="601" local_entity="0" value="0" />
+ <value cell_index="602" local_entity="0" value="0" />
+ <value cell_index="603" local_entity="0" value="0" />
+ <value cell_index="604" local_entity="0" value="0" />
+ <value cell_index="605" local_entity="0" value="0" />
+ <value cell_index="606" local_entity="0" value="0" />
+ <value cell_index="607" local_entity="0" value="0" />
+ <value cell_index="608" local_entity="0" value="0" />
+ <value cell_index="609" local_entity="0" value="0" />
+ <value cell_index="610" local_entity="0" value="0" />
+ <value cell_index="611" local_entity="0" value="0" />
+ <value cell_index="612" local_entity="0" value="0" />
+ <value cell_index="613" local_entity="0" value="0" />
+ <value cell_index="614" local_entity="0" value="0" />
+ <value cell_index="615" local_entity="0" value="0" />
+ <value cell_index="616" local_entity="0" value="0" />
+ <value cell_index="617" local_entity="0" value="0" />
+ <value cell_index="618" local_entity="0" value="0" />
+ <value cell_index="619" local_entity="0" value="0" />
+ <value cell_index="620" local_entity="0" value="0" />
+ <value cell_index="621" local_entity="0" value="0" />
+ <value cell_index="622" local_entity="0" value="0" />
+ <value cell_index="623" local_entity="0" value="0" />
+ <value cell_index="624" local_entity="0" value="0" />
+ <value cell_index="625" local_entity="0" value="0" />
+ <value cell_index="626" local_entity="0" value="0" />
+ <value cell_index="627" local_entity="0" value="0" />
+ <value cell_index="628" local_entity="0" value="0" />
+ <value cell_index="629" local_entity="0" value="0" />
+ <value cell_index="630" local_entity="0" value="0" />
+ <value cell_index="631" local_entity="0" value="0" />
+ <value cell_index="632" local_entity="0" value="0" />
+ <value cell_index="633" local_entity="0" value="0" />
+ <value cell_index="634" local_entity="0" value="0" />
+ <value cell_index="635" local_entity="0" value="0" />
+ <value cell_index="636" local_entity="0" value="0" />
+ <value cell_index="637" local_entity="0" value="0" />
+ <value cell_index="638" local_entity="0" value="0" />
+ <value cell_index="639" local_entity="0" value="0" />
+ <value cell_index="640" local_entity="0" value="0" />
+ <value cell_index="641" local_entity="0" value="0" />
+ <value cell_index="642" local_entity="0" value="0" />
+ <value cell_index="643" local_entity="0" value="0" />
+ <value cell_index="644" local_entity="0" value="0" />
+ <value cell_index="645" local_entity="0" value="0" />
+ <value cell_index="646" local_entity="0" value="0" />
+ <value cell_index="647" local_entity="0" value="0" />
+ <value cell_index="648" local_entity="0" value="0" />
+ <value cell_index="649" local_entity="0" value="0" />
+ <value cell_index="650" local_entity="0" value="0" />
+ <value cell_index="651" local_entity="0" value="0" />
+ <value cell_index="652" local_entity="0" value="0" />
+ <value cell_index="653" local_entity="0" value="0" />
+ <value cell_index="654" local_entity="0" value="0" />
+ <value cell_index="655" local_entity="0" value="0" />
+ <value cell_index="656" local_entity="0" value="0" />
+ <value cell_index="657" local_entity="0" value="0" />
+ <value cell_index="658" local_entity="0" value="0" />
+ <value cell_index="659" local_entity="0" value="0" />
+ <value cell_index="660" local_entity="0" value="0" />
+ <value cell_index="661" local_entity="0" value="0" />
+ <value cell_index="662" local_entity="0" value="0" />
+ <value cell_index="663" local_entity="0" value="0" />
+ <value cell_index="664" local_entity="0" value="0" />
+ <value cell_index="665" local_entity="0" value="0" />
+ <value cell_index="666" local_entity="0" value="0" />
+ <value cell_index="667" local_entity="0" value="0" />
+ <value cell_index="668" local_entity="0" value="0" />
+ <value cell_index="669" local_entity="0" value="0" />
+ <value cell_index="670" local_entity="0" value="0" />
+ <value cell_index="671" local_entity="0" value="0" />
+ <value cell_index="672" local_entity="0" value="0" />
+ <value cell_index="673" local_entity="0" value="0" />
+ <value cell_index="674" local_entity="0" value="0" />
+ <value cell_index="675" local_entity="0" value="0" />
+ <value cell_index="676" local_entity="0" value="0" />
+ <value cell_index="677" local_entity="0" value="0" />
+ <value cell_index="678" local_entity="0" value="0" />
+ <value cell_index="679" local_entity="0" value="0" />
+ <value cell_index="680" local_entity="0" value="0" />
+ <value cell_index="681" local_entity="0" value="0" />
+ <value cell_index="682" local_entity="0" value="0" />
+ <value cell_index="683" local_entity="0" value="0" />
+ <value cell_index="684" local_entity="0" value="0" />
+ <value cell_index="685" local_entity="0" value="0" />
+ <value cell_index="686" local_entity="0" value="0" />
+ <value cell_index="687" local_entity="0" value="0" />
+ <value cell_index="688" local_entity="0" value="0" />
+ <value cell_index="689" local_entity="0" value="0" />
+ <value cell_index="690" local_entity="0" value="0" />
+ <value cell_index="691" local_entity="0" value="0" />
+ <value cell_index="692" local_entity="0" value="0" />
+ <value cell_index="693" local_entity="0" value="0" />
+ <value cell_index="694" local_entity="0" value="0" />
+ <value cell_index="695" local_entity="0" value="0" />
+ <value cell_index="696" local_entity="0" value="0" />
+ <value cell_index="697" local_entity="0" value="0" />
+ <value cell_index="698" local_entity="0" value="0" />
+ <value cell_index="699" local_entity="0" value="0" />
+ <value cell_index="700" local_entity="0" value="0" />
+ <value cell_index="701" local_entity="0" value="0" />
+ <value cell_index="702" local_entity="0" value="0" />
+ <value cell_index="703" local_entity="0" value="0" />
+ <value cell_index="704" local_entity="0" value="0" />
+ <value cell_index="705" local_entity="0" value="0" />
+ <value cell_index="706" local_entity="0" value="0" />
+ <value cell_index="707" local_entity="0" value="0" />
+ <value cell_index="708" local_entity="0" value="0" />
+ <value cell_index="709" local_entity="0" value="0" />
+ <value cell_index="710" local_entity="0" value="0" />
+ <value cell_index="711" local_entity="0" value="0" />
+ <value cell_index="712" local_entity="0" value="0" />
+ <value cell_index="713" local_entity="0" value="0" />
+ <value cell_index="714" local_entity="0" value="0" />
+ <value cell_index="715" local_entity="0" value="0" />
+ <value cell_index="716" local_entity="0" value="0" />
+ <value cell_index="717" local_entity="0" value="0" />
+ <value cell_index="718" local_entity="0" value="0" />
+ <value cell_index="719" local_entity="0" value="0" />
+ <value cell_index="720" local_entity="0" value="0" />
+ <value cell_index="721" local_entity="0" value="0" />
+ <value cell_index="722" local_entity="0" value="0" />
+ <value cell_index="723" local_entity="0" value="0" />
+ <value cell_index="724" local_entity="0" value="0" />
+ <value cell_index="725" local_entity="0" value="0" />
+ <value cell_index="726" local_entity="0" value="0" />
+ <value cell_index="727" local_entity="0" value="0" />
+ <value cell_index="728" local_entity="0" value="0" />
+ <value cell_index="729" local_entity="0" value="0" />
+ <value cell_index="730" local_entity="0" value="0" />
+ <value cell_index="731" local_entity="0" value="0" />
+ <value cell_index="732" local_entity="0" value="0" />
+ <value cell_index="733" local_entity="0" value="0" />
+ <value cell_index="734" local_entity="0" value="0" />
+ <value cell_index="735" local_entity="0" value="0" />
+ <value cell_index="736" local_entity="0" value="0" />
+ <value cell_index="737" local_entity="0" value="0" />
+ <value cell_index="738" local_entity="0" value="0" />
+ <value cell_index="739" local_entity="0" value="0" />
+ <value cell_index="740" local_entity="0" value="0" />
+ <value cell_index="741" local_entity="0" value="0" />
+ <value cell_index="742" local_entity="0" value="0" />
+ <value cell_index="743" local_entity="0" value="0" />
+ <value cell_index="744" local_entity="0" value="0" />
+ <value cell_index="745" local_entity="0" value="0" />
+ <value cell_index="746" local_entity="0" value="0" />
+ <value cell_index="747" local_entity="0" value="0" />
+ <value cell_index="748" local_entity="0" value="0" />
+ <value cell_index="749" local_entity="0" value="0" />
+ <value cell_index="750" local_entity="0" value="0" />
+ <value cell_index="751" local_entity="0" value="0" />
+ <value cell_index="752" local_entity="0" value="0" />
+ <value cell_index="753" local_entity="0" value="0" />
+ <value cell_index="754" local_entity="0" value="0" />
+ <value cell_index="755" local_entity="0" value="0" />
+ <value cell_index="756" local_entity="0" value="0" />
+ <value cell_index="757" local_entity="0" value="0" />
+ <value cell_index="758" local_entity="0" value="0" />
+ <value cell_index="759" local_entity="0" value="0" />
+ <value cell_index="760" local_entity="0" value="0" />
+ <value cell_index="761" local_entity="0" value="0" />
+ <value cell_index="762" local_entity="0" value="0" />
+ <value cell_index="763" local_entity="0" value="0" />
+ <value cell_index="764" local_entity="0" value="0" />
+ <value cell_index="765" local_entity="0" value="0" />
+ <value cell_index="766" local_entity="0" value="0" />
+ <value cell_index="767" local_entity="0" value="0" />
+ <value cell_index="768" local_entity="0" value="0" />
+ <value cell_index="769" local_entity="0" value="0" />
+ <value cell_index="770" local_entity="0" value="0" />
+ <value cell_index="771" local_entity="0" value="0" />
+ <value cell_index="772" local_entity="0" value="0" />
+ <value cell_index="773" local_entity="0" value="0" />
+ <value cell_index="774" local_entity="0" value="0" />
+ <value cell_index="775" local_entity="0" value="0" />
+ <value cell_index="776" local_entity="0" value="0" />
+ <value cell_index="777" local_entity="0" value="0" />
+ <value cell_index="778" local_entity="0" value="0" />
+ <value cell_index="779" local_entity="0" value="0" />
+ <value cell_index="780" local_entity="0" value="0" />
+ <value cell_index="781" local_entity="0" value="0" />
+ <value cell_index="782" local_entity="0" value="0" />
+ <value cell_index="783" local_entity="0" value="0" />
+ <value cell_index="784" local_entity="0" value="0" />
+ <value cell_index="785" local_entity="0" value="0" />
+ <value cell_index="786" local_entity="0" value="0" />
+ <value cell_index="787" local_entity="0" value="0" />
+ <value cell_index="788" local_entity="0" value="0" />
+ <value cell_index="789" local_entity="0" value="0" />
+ <value cell_index="790" local_entity="0" value="0" />
+ <value cell_index="791" local_entity="0" value="0" />
+ <value cell_index="792" local_entity="0" value="0" />
+ <value cell_index="793" local_entity="0" value="0" />
+ <value cell_index="794" local_entity="0" value="0" />
+ <value cell_index="795" local_entity="0" value="0" />
+ <value cell_index="796" local_entity="0" value="0" />
+ <value cell_index="797" local_entity="0" value="0" />
+ <value cell_index="798" local_entity="0" value="0" />
+ <value cell_index="799" local_entity="0" value="0" />
+ <value cell_index="800" local_entity="0" value="0" />
+ <value cell_index="801" local_entity="0" value="0" />
+ <value cell_index="802" local_entity="0" value="0" />
+ <value cell_index="803" local_entity="0" value="0" />
+ <value cell_index="804" local_entity="0" value="0" />
+ <value cell_index="805" local_entity="0" value="0" />
+ <value cell_index="806" local_entity="0" value="0" />
+ <value cell_index="807" local_entity="0" value="0" />
+ <value cell_index="808" local_entity="0" value="0" />
+ <value cell_index="809" local_entity="0" value="0" />
+ <value cell_index="810" local_entity="0" value="0" />
+ <value cell_index="811" local_entity="0" value="0" />
+ <value cell_index="812" local_entity="0" value="0" />
+ <value cell_index="813" local_entity="0" value="0" />
+ <value cell_index="814" local_entity="0" value="0" />
+ <value cell_index="815" local_entity="0" value="0" />
+ <value cell_index="816" local_entity="0" value="0" />
+ <value cell_index="817" local_entity="0" value="0" />
+ <value cell_index="818" local_entity="0" value="0" />
+ <value cell_index="819" local_entity="0" value="0" />
+ <value cell_index="820" local_entity="0" value="0" />
+ <value cell_index="821" local_entity="0" value="0" />
+ <value cell_index="822" local_entity="0" value="0" />
+ <value cell_index="823" local_entity="0" value="0" />
+ <value cell_index="824" local_entity="0" value="0" />
+ <value cell_index="825" local_entity="0" value="0" />
+ <value cell_index="826" local_entity="0" value="0" />
+ <value cell_index="827" local_entity="0" value="0" />
+ <value cell_index="828" local_entity="0" value="0" />
+ <value cell_index="829" local_entity="0" value="0" />
+ <value cell_index="830" local_entity="0" value="0" />
+ <value cell_index="831" local_entity="0" value="0" />
+ <value cell_index="832" local_entity="0" value="0" />
+ <value cell_index="833" local_entity="0" value="0" />
+ <value cell_index="834" local_entity="0" value="0" />
+ <value cell_index="835" local_entity="0" value="0" />
+ <value cell_index="836" local_entity="0" value="0" />
+ <value cell_index="837" local_entity="0" value="0" />
+ <value cell_index="838" local_entity="0" value="0" />
+ <value cell_index="839" local_entity="0" value="0" />
+ <value cell_index="840" local_entity="0" value="0" />
+ <value cell_index="841" local_entity="0" value="0" />
+ <value cell_index="842" local_entity="0" value="0" />
+ <value cell_index="843" local_entity="0" value="0" />
+ <value cell_index="844" local_entity="0" value="0" />
+ <value cell_index="845" local_entity="0" value="0" />
+ <value cell_index="846" local_entity="0" value="0" />
+ <value cell_index="847" local_entity="0" value="0" />
+ <value cell_index="848" local_entity="0" value="0" />
+ <value cell_index="849" local_entity="0" value="0" />
+ <value cell_index="850" local_entity="0" value="0" />
+ <value cell_index="851" local_entity="0" value="0" />
+ <value cell_index="852" local_entity="0" value="0" />
+ <value cell_index="853" local_entity="0" value="0" />
+ <value cell_index="854" local_entity="0" value="0" />
+ <value cell_index="855" local_entity="0" value="0" />
+ <value cell_index="856" local_entity="0" value="0" />
+ <value cell_index="857" local_entity="0" value="0" />
+ <value cell_index="858" local_entity="0" value="0" />
+ <value cell_index="859" local_entity="0" value="0" />
+ <value cell_index="860" local_entity="0" value="0" />
+ <value cell_index="861" local_entity="0" value="0" />
+ <value cell_index="862" local_entity="0" value="0" />
+ <value cell_index="863" local_entity="0" value="0" />
+ <value cell_index="864" local_entity="0" value="0" />
+ <value cell_index="865" local_entity="0" value="0" />
+ <value cell_index="866" local_entity="0" value="0" />
+ <value cell_index="867" local_entity="0" value="0" />
+ <value cell_index="868" local_entity="0" value="0" />
+ <value cell_index="869" local_entity="0" value="0" />
+ <value cell_index="870" local_entity="0" value="0" />
+ <value cell_index="871" local_entity="0" value="0" />
+ <value cell_index="872" local_entity="0" value="0" />
+ <value cell_index="873" local_entity="0" value="0" />
+ <value cell_index="874" local_entity="0" value="0" />
+ <value cell_index="875" local_entity="0" value="0" />
+ <value cell_index="876" local_entity="0" value="0" />
+ <value cell_index="877" local_entity="0" value="0" />
+ <value cell_index="878" local_entity="0" value="0" />
+ <value cell_index="879" local_entity="0" value="0" />
+ <value cell_index="880" local_entity="0" value="0" />
+ <value cell_index="881" local_entity="0" value="0" />
+ <value cell_index="882" local_entity="0" value="0" />
+ <value cell_index="883" local_entity="0" value="0" />
+ <value cell_index="884" local_entity="0" value="0" />
+ <value cell_index="885" local_entity="0" value="0" />
+ <value cell_index="886" local_entity="0" value="0" />
+ <value cell_index="887" local_entity="0" value="0" />
+ <value cell_index="888" local_entity="0" value="0" />
+ <value cell_index="889" local_entity="0" value="0" />
+ <value cell_index="890" local_entity="0" value="0" />
+ <value cell_index="891" local_entity="0" value="0" />
+ <value cell_index="892" local_entity="0" value="0" />
+ <value cell_index="893" local_entity="0" value="0" />
+ <value cell_index="894" local_entity="0" value="0" />
+ <value cell_index="895" local_entity="0" value="0" />
+ <value cell_index="896" local_entity="0" value="0" />
+ <value cell_index="897" local_entity="0" value="0" />
+ <value cell_index="898" local_entity="0" value="0" />
+ <value cell_index="899" local_entity="0" value="0" />
+ <value cell_index="900" local_entity="0" value="0" />
+ <value cell_index="901" local_entity="0" value="0" />
+ <value cell_index="902" local_entity="0" value="0" />
+ <value cell_index="903" local_entity="0" value="0" />
+ <value cell_index="904" local_entity="0" value="0" />
+ <value cell_index="905" local_entity="0" value="0" />
+ <value cell_index="906" local_entity="0" value="0" />
+ <value cell_index="907" local_entity="0" value="0" />
+ <value cell_index="908" local_entity="0" value="0" />
+ <value cell_index="909" local_entity="0" value="0" />
+ <value cell_index="910" local_entity="0" value="0" />
+ <value cell_index="911" local_entity="0" value="0" />
+ <value cell_index="912" local_entity="0" value="0" />
+ <value cell_index="913" local_entity="0" value="0" />
+ <value cell_index="914" local_entity="0" value="0" />
+ <value cell_index="915" local_entity="0" value="0" />
+ <value cell_index="916" local_entity="0" value="0" />
+ <value cell_index="917" local_entity="0" value="0" />
+ <value cell_index="918" local_entity="0" value="0" />
+ <value cell_index="919" local_entity="0" value="0" />
+ <value cell_index="920" local_entity="0" value="0" />
+ <value cell_index="921" local_entity="0" value="0" />
+ <value cell_index="922" local_entity="0" value="0" />
+ <value cell_index="923" local_entity="0" value="0" />
+ <value cell_index="924" local_entity="0" value="0" />
+ <value cell_index="925" local_entity="0" value="0" />
+ <value cell_index="926" local_entity="0" value="0" />
+ <value cell_index="927" local_entity="0" value="0" />
+ <value cell_index="928" local_entity="0" value="0" />
+ <value cell_index="929" local_entity="0" value="0" />
+ <value cell_index="930" local_entity="0" value="0" />
+ <value cell_index="931" local_entity="0" value="0" />
+ <value cell_index="932" local_entity="0" value="0" />
+ <value cell_index="933" local_entity="0" value="0" />
+ <value cell_index="934" local_entity="0" value="0" />
+ <value cell_index="935" local_entity="0" value="0" />
+ <value cell_index="936" local_entity="0" value="0" />
+ <value cell_index="937" local_entity="0" value="0" />
+ <value cell_index="938" local_entity="0" value="0" />
+ <value cell_index="939" local_entity="0" value="0" />
+ <value cell_index="940" local_entity="0" value="0" />
+ <value cell_index="941" local_entity="0" value="0" />
+ <value cell_index="942" local_entity="0" value="0" />
+ <value cell_index="943" local_entity="0" value="0" />
+ <value cell_index="944" local_entity="0" value="0" />
+ <value cell_index="945" local_entity="0" value="0" />
+ <value cell_index="946" local_entity="0" value="0" />
+ <value cell_index="947" local_entity="0" value="0" />
+ <value cell_index="948" local_entity="0" value="0" />
+ <value cell_index="949" local_entity="0" value="0" />
+ <value cell_index="950" local_entity="0" value="0" />
+ <value cell_index="951" local_entity="0" value="0" />
+ <value cell_index="952" local_entity="0" value="0" />
+ <value cell_index="953" local_entity="0" value="0" />
+ <value cell_index="954" local_entity="0" value="0" />
+ <value cell_index="955" local_entity="0" value="0" />
+ <value cell_index="956" local_entity="0" value="0" />
+ <value cell_index="957" local_entity="0" value="0" />
+ <value cell_index="958" local_entity="0" value="0" />
+ <value cell_index="959" local_entity="0" value="0" />
+ <value cell_index="960" local_entity="0" value="0" />
+ <value cell_index="961" local_entity="0" value="0" />
+ <value cell_index="962" local_entity="0" value="0" />
+ <value cell_index="963" local_entity="0" value="0" />
+ <value cell_index="964" local_entity="0" value="0" />
+ <value cell_index="965" local_entity="0" value="0" />
+ <value cell_index="966" local_entity="0" value="0" />
+ <value cell_index="967" local_entity="0" value="0" />
+ <value cell_index="968" local_entity="0" value="0" />
+ <value cell_index="969" local_entity="0" value="0" />
+ <value cell_index="970" local_entity="0" value="0" />
+ <value cell_index="971" local_entity="0" value="0" />
+ <value cell_index="972" local_entity="0" value="0" />
+ <value cell_index="973" local_entity="0" value="0" />
+ <value cell_index="974" local_entity="0" value="0" />
+ <value cell_index="975" local_entity="0" value="0" />
+ <value cell_index="976" local_entity="0" value="0" />
+ <value cell_index="977" local_entity="0" value="0" />
+ <value cell_index="978" local_entity="0" value="0" />
+ <value cell_index="979" local_entity="0" value="0" />
+ <value cell_index="980" local_entity="0" value="0" />
+ <value cell_index="981" local_entity="0" value="0" />
+ <value cell_index="982" local_entity="0" value="0" />
+ <value cell_index="983" local_entity="0" value="0" />
+ <value cell_index="984" local_entity="0" value="0" />
+ <value cell_index="985" local_entity="0" value="0" />
+ <value cell_index="986" local_entity="0" value="0" />
+ <value cell_index="987" local_entity="0" value="0" />
+ <value cell_index="988" local_entity="0" value="0" />
+ <value cell_index="989" local_entity="0" value="0" />
+ <value cell_index="990" local_entity="0" value="0" />
+ <value cell_index="991" local_entity="0" value="0" />
+ <value cell_index="992" local_entity="0" value="0" />
+ <value cell_index="993" local_entity="0" value="0" />
+ <value cell_index="994" local_entity="0" value="0" />
+ <value cell_index="995" local_entity="0" value="0" />
+ <value cell_index="996" local_entity="0" value="0" />
+ <value cell_index="997" local_entity="0" value="0" />
+ <value cell_index="998" local_entity="0" value="0" />
+ <value cell_index="999" local_entity="0" value="0" />
+ <value cell_index="1000" local_entity="0" value="0" />
+ <value cell_index="1001" local_entity="0" value="0" />
+ <value cell_index="1002" local_entity="0" value="0" />
+ <value cell_index="1003" local_entity="0" value="0" />
+ <value cell_index="1004" local_entity="0" value="0" />
+ <value cell_index="1005" local_entity="0" value="0" />
+ <value cell_index="1006" local_entity="0" value="0" />
+ <value cell_index="1007" local_entity="0" value="0" />
+ <value cell_index="1008" local_entity="0" value="0" />
+ <value cell_index="1009" local_entity="0" value="0" />
+ <value cell_index="1010" local_entity="0" value="0" />
+ <value cell_index="1011" local_entity="0" value="0" />
+ <value cell_index="1012" local_entity="0" value="0" />
+ <value cell_index="1013" local_entity="0" value="0" />
+ <value cell_index="1014" local_entity="0" value="0" />
+ <value cell_index="1015" local_entity="0" value="0" />
+ <value cell_index="1016" local_entity="0" value="0" />
+ <value cell_index="1017" local_entity="0" value="0" />
+ <value cell_index="1018" local_entity="0" value="0" />
+ <value cell_index="1019" local_entity="0" value="0" />
+ <value cell_index="1020" local_entity="0" value="0" />
+ <value cell_index="1021" local_entity="0" value="0" />
+ <value cell_index="1022" local_entity="0" value="0" />
+ <value cell_index="1023" local_entity="0" value="0" />
+ <value cell_index="1024" local_entity="0" value="0" />
+ <value cell_index="1025" local_entity="0" value="0" />
+ <value cell_index="1026" local_entity="0" value="0" />
+ <value cell_index="1027" local_entity="0" value="0" />
+ <value cell_index="1028" local_entity="0" value="0" />
+ <value cell_index="1029" local_entity="0" value="0" />
+ <value cell_index="1030" local_entity="0" value="0" />
+ <value cell_index="1031" local_entity="0" value="0" />
+ <value cell_index="1032" local_entity="0" value="0" />
+ <value cell_index="1033" local_entity="0" value="0" />
+ <value cell_index="1034" local_entity="0" value="0" />
+ <value cell_index="1035" local_entity="0" value="0" />
+ <value cell_index="1036" local_entity="0" value="0" />
+ <value cell_index="1037" local_entity="0" value="0" />
+ <value cell_index="1038" local_entity="0" value="0" />
+ <value cell_index="1039" local_entity="0" value="0" />
+ <value cell_index="1040" local_entity="0" value="0" />
+ <value cell_index="1041" local_entity="0" value="0" />
+ <value cell_index="1042" local_entity="0" value="0" />
+ <value cell_index="1043" local_entity="0" value="0" />
+ <value cell_index="1044" local_entity="0" value="0" />
+ <value cell_index="1045" local_entity="0" value="0" />
+ <value cell_index="1046" local_entity="0" value="0" />
+ <value cell_index="1047" local_entity="0" value="0" />
+ <value cell_index="1048" local_entity="0" value="0" />
+ <value cell_index="1049" local_entity="0" value="0" />
+ <value cell_index="1050" local_entity="0" value="0" />
+ <value cell_index="1051" local_entity="0" value="0" />
+ <value cell_index="1052" local_entity="0" value="0" />
+ <value cell_index="1053" local_entity="0" value="0" />
+ <value cell_index="1054" local_entity="0" value="0" />
+ <value cell_index="1055" local_entity="0" value="0" />
+ <value cell_index="1056" local_entity="0" value="0" />
+ <value cell_index="1057" local_entity="0" value="0" />
+ <value cell_index="1058" local_entity="0" value="0" />
+ <value cell_index="1059" local_entity="0" value="0" />
+ <value cell_index="1060" local_entity="0" value="0" />
+ <value cell_index="1061" local_entity="0" value="0" />
+ <value cell_index="1062" local_entity="0" value="0" />
+ <value cell_index="1063" local_entity="0" value="0" />
+ <value cell_index="1064" local_entity="0" value="0" />
+ <value cell_index="1065" local_entity="0" value="0" />
+ <value cell_index="1066" local_entity="0" value="0" />
+ <value cell_index="1067" local_entity="0" value="0" />
+ <value cell_index="1068" local_entity="0" value="0" />
+ <value cell_index="1069" local_entity="0" value="0" />
+ <value cell_index="1070" local_entity="0" value="0" />
+ <value cell_index="1071" local_entity="0" value="0" />
+ <value cell_index="1072" local_entity="0" value="0" />
+ <value cell_index="1073" local_entity="0" value="0" />
+ <value cell_index="1074" local_entity="0" value="0" />
+ <value cell_index="1075" local_entity="0" value="0" />
+ <value cell_index="1076" local_entity="0" value="0" />
+ <value cell_index="1077" local_entity="0" value="0" />
+ <value cell_index="1078" local_entity="0" value="0" />
+ <value cell_index="1079" local_entity="0" value="0" />
+ <value cell_index="1080" local_entity="0" value="0" />
+ <value cell_index="1081" local_entity="0" value="0" />
+ <value cell_index="1082" local_entity="0" value="0" />
+ <value cell_index="1083" local_entity="0" value="0" />
+ <value cell_index="1084" local_entity="0" value="0" />
+ <value cell_index="1085" local_entity="0" value="0" />
+ <value cell_index="1086" local_entity="0" value="0" />
+ <value cell_index="1087" local_entity="0" value="0" />
+ <value cell_index="1088" local_entity="0" value="0" />
+ <value cell_index="1089" local_entity="0" value="0" />
+ <value cell_index="1090" local_entity="0" value="0" />
+ <value cell_index="1091" local_entity="0" value="0" />
+ <value cell_index="1092" local_entity="0" value="0" />
+ <value cell_index="1093" local_entity="0" value="0" />
+ <value cell_index="1094" local_entity="0" value="0" />
+ <value cell_index="1095" local_entity="0" value="0" />
+ <value cell_index="1096" local_entity="0" value="0" />
+ <value cell_index="1097" local_entity="0" value="0" />
+ <value cell_index="1098" local_entity="0" value="0" />
+ <value cell_index="1099" local_entity="0" value="0" />
+ <value cell_index="1100" local_entity="0" value="0" />
+ <value cell_index="1101" local_entity="0" value="0" />
+ <value cell_index="1102" local_entity="0" value="0" />
+ <value cell_index="1103" local_entity="0" value="0" />
+ <value cell_index="1104" local_entity="0" value="0" />
+ <value cell_index="1105" local_entity="0" value="0" />
+ <value cell_index="1106" local_entity="0" value="0" />
+ <value cell_index="1107" local_entity="0" value="0" />
+ <value cell_index="1108" local_entity="0" value="0" />
+ <value cell_index="1109" local_entity="0" value="0" />
+ <value cell_index="1110" local_entity="0" value="0" />
+ <value cell_index="1111" local_entity="0" value="0" />
+ <value cell_index="1112" local_entity="0" value="0" />
+ <value cell_index="1113" local_entity="0" value="0" />
+ <value cell_index="1114" local_entity="0" value="0" />
+ <value cell_index="1115" local_entity="0" value="0" />
+ <value cell_index="1116" local_entity="0" value="0" />
+ <value cell_index="1117" local_entity="0" value="0" />
+ <value cell_index="1118" local_entity="0" value="0" />
+ <value cell_index="1119" local_entity="0" value="0" />
+ <value cell_index="1120" local_entity="0" value="0" />
+ <value cell_index="1121" local_entity="0" value="0" />
+ <value cell_index="1122" local_entity="0" value="0" />
+ <value cell_index="1123" local_entity="0" value="0" />
+ <value cell_index="1124" local_entity="0" value="0" />
+ <value cell_index="1125" local_entity="0" value="0" />
+ <value cell_index="1126" local_entity="0" value="0" />
+ <value cell_index="1127" local_entity="0" value="0" />
+ <value cell_index="1128" local_entity="0" value="0" />
+ <value cell_index="1129" local_entity="0" value="0" />
+ <value cell_index="1130" local_entity="0" value="0" />
+ <value cell_index="1131" local_entity="0" value="0" />
+ <value cell_index="1132" local_entity="0" value="0" />
+ <value cell_index="1133" local_entity="0" value="0" />
+ <value cell_index="1134" local_entity="0" value="0" />
+ <value cell_index="1135" local_entity="0" value="0" />
+ <value cell_index="1136" local_entity="0" value="0" />
+ <value cell_index="1137" local_entity="0" value="0" />
+ <value cell_index="1138" local_entity="0" value="0" />
+ <value cell_index="1139" local_entity="0" value="0" />
+ <value cell_index="1140" local_entity="0" value="0" />
+ <value cell_index="1141" local_entity="0" value="0" />
+ <value cell_index="1142" local_entity="0" value="0" />
+ <value cell_index="1143" local_entity="0" value="0" />
+ <value cell_index="1144" local_entity="0" value="0" />
+ <value cell_index="1145" local_entity="0" value="0" />
+ <value cell_index="1146" local_entity="0" value="0" />
+ <value cell_index="1147" local_entity="0" value="0" />
+ <value cell_index="1148" local_entity="0" value="0" />
+ <value cell_index="1149" local_entity="0" value="0" />
+ <value cell_index="1150" local_entity="0" value="0" />
+ <value cell_index="1151" local_entity="0" value="0" />
+ <value cell_index="1152" local_entity="0" value="0" />
+ <value cell_index="1153" local_entity="0" value="0" />
+ <value cell_index="1154" local_entity="0" value="0" />
+ <value cell_index="1155" local_entity="0" value="0" />
+ <value cell_index="1156" local_entity="0" value="0" />
+ <value cell_index="1157" local_entity="0" value="0" />
+ <value cell_index="1158" local_entity="0" value="0" />
+ <value cell_index="1159" local_entity="0" value="0" />
+ <value cell_index="1160" local_entity="0" value="0" />
+ <value cell_index="1161" local_entity="0" value="0" />
+ <value cell_index="1162" local_entity="0" value="0" />
+ <value cell_index="1163" local_entity="0" value="0" />
+ <value cell_index="1164" local_entity="0" value="0" />
+ <value cell_index="1165" local_entity="0" value="0" />
+ <value cell_index="1166" local_entity="0" value="0" />
+ <value cell_index="1167" local_entity="0" value="0" />
+ <value cell_index="1168" local_entity="0" value="0" />
+ <value cell_index="1169" local_entity="0" value="0" />
+ <value cell_index="1170" local_entity="0" value="0" />
+ <value cell_index="1171" local_entity="0" value="0" />
+ <value cell_index="1172" local_entity="0" value="0" />
+ <value cell_index="1173" local_entity="0" value="0" />
+ <value cell_index="1174" local_entity="0" value="0" />
+ <value cell_index="1175" local_entity="0" value="0" />
+ <value cell_index="1176" local_entity="0" value="0" />
+ <value cell_index="1177" local_entity="0" value="0" />
+ <value cell_index="1178" local_entity="0" value="0" />
+ <value cell_index="1179" local_entity="0" value="0" />
+ <value cell_index="1180" local_entity="0" value="0" />
+ <value cell_index="1181" local_entity="0" value="0" />
+ <value cell_index="1182" local_entity="0" value="0" />
+ <value cell_index="1183" local_entity="0" value="0" />
+ <value cell_index="1184" local_entity="0" value="0" />
+ <value cell_index="1185" local_entity="0" value="0" />
+ <value cell_index="1186" local_entity="0" value="0" />
+ <value cell_index="1187" local_entity="0" value="0" />
+ <value cell_index="1188" local_entity="0" value="0" />
+ <value cell_index="1189" local_entity="0" value="0" />
+ <value cell_index="1190" local_entity="0" value="0" />
+ <value cell_index="1191" local_entity="0" value="0" />
+ <value cell_index="1192" local_entity="0" value="0" />
+ <value cell_index="1193" local_entity="0" value="0" />
+ <value cell_index="1194" local_entity="0" value="0" />
+ <value cell_index="1195" local_entity="0" value="0" />
+ <value cell_index="1196" local_entity="0" value="0" />
+ <value cell_index="1197" local_entity="0" value="0" />
+ <value cell_index="1198" local_entity="0" value="0" />
+ <value cell_index="1199" local_entity="0" value="0" />
+ <value cell_index="1200" local_entity="0" value="0" />
+ <value cell_index="1201" local_entity="0" value="0" />
+ <value cell_index="1202" local_entity="0" value="0" />
+ <value cell_index="1203" local_entity="0" value="0" />
+ <value cell_index="1204" local_entity="0" value="0" />
+ <value cell_index="1205" local_entity="0" value="0" />
+ <value cell_index="1206" local_entity="0" value="0" />
+ <value cell_index="1207" local_entity="0" value="0" />
+ <value cell_index="1208" local_entity="0" value="0" />
+ <value cell_index="1209" local_entity="0" value="0" />
+ <value cell_index="1210" local_entity="0" value="0" />
+ <value cell_index="1211" local_entity="0" value="0" />
+ <value cell_index="1212" local_entity="0" value="0" />
+ <value cell_index="1213" local_entity="0" value="0" />
+ <value cell_index="1214" local_entity="0" value="0" />
+ <value cell_index="1215" local_entity="0" value="0" />
+ <value cell_index="1216" local_entity="0" value="0" />
+ <value cell_index="1217" local_entity="0" value="0" />
+ <value cell_index="1218" local_entity="0" value="0" />
+ <value cell_index="1219" local_entity="0" value="0" />
+ <value cell_index="1220" local_entity="0" value="0" />
+ <value cell_index="1221" local_entity="0" value="0" />
+ <value cell_index="1222" local_entity="0" value="0" />
+ <value cell_index="1223" local_entity="0" value="0" />
+ <value cell_index="1224" local_entity="0" value="0" />
+ <value cell_index="1225" local_entity="0" value="0" />
+ <value cell_index="1226" local_entity="0" value="0" />
+ <value cell_index="1227" local_entity="0" value="0" />
+ <value cell_index="1228" local_entity="0" value="0" />
+ <value cell_index="1229" local_entity="0" value="0" />
+ <value cell_index="1230" local_entity="0" value="0" />
+ <value cell_index="1231" local_entity="0" value="0" />
+ <value cell_index="1232" local_entity="0" value="0" />
+ <value cell_index="1233" local_entity="0" value="0" />
+ <value cell_index="1234" local_entity="0" value="0" />
+ <value cell_index="1235" local_entity="0" value="0" />
+ <value cell_index="1236" local_entity="0" value="0" />
+ <value cell_index="1237" local_entity="0" value="0" />
+ <value cell_index="1238" local_entity="0" value="0" />
+ <value cell_index="1239" local_entity="0" value="0" />
+ <value cell_index="1240" local_entity="0" value="0" />
+ <value cell_index="1241" local_entity="0" value="0" />
+ <value cell_index="1242" local_entity="0" value="0" />
+ <value cell_index="1243" local_entity="0" value="0" />
+ <value cell_index="1244" local_entity="0" value="0" />
+ <value cell_index="1245" local_entity="0" value="0" />
+ <value cell_index="1246" local_entity="0" value="0" />
+ <value cell_index="1247" local_entity="0" value="0" />
+ <value cell_index="1248" local_entity="0" value="0" />
+ <value cell_index="1249" local_entity="0" value="0" />
+ <value cell_index="1250" local_entity="0" value="0" />
+ <value cell_index="1251" local_entity="0" value="0" />
+ <value cell_index="1252" local_entity="0" value="0" />
+ <value cell_index="1253" local_entity="0" value="0" />
+ <value cell_index="1254" local_entity="0" value="0" />
+ <value cell_index="1255" local_entity="0" value="0" />
+ <value cell_index="1256" local_entity="0" value="0" />
+ <value cell_index="1257" local_entity="0" value="0" />
+ <value cell_index="1258" local_entity="0" value="0" />
+ <value cell_index="1259" local_entity="0" value="0" />
+ <value cell_index="1260" local_entity="0" value="0" />
+ <value cell_index="1261" local_entity="0" value="0" />
+ <value cell_index="1262" local_entity="0" value="0" />
+ <value cell_index="1263" local_entity="0" value="0" />
+ <value cell_index="1264" local_entity="0" value="0" />
+ <value cell_index="1265" local_entity="0" value="0" />
+ <value cell_index="1266" local_entity="0" value="0" />
+ <value cell_index="1267" local_entity="0" value="0" />
+ <value cell_index="1268" local_entity="0" value="0" />
+ <value cell_index="1269" local_entity="0" value="0" />
+ <value cell_index="1270" local_entity="0" value="0" />
+ <value cell_index="1271" local_entity="0" value="0" />
+ <value cell_index="1272" local_entity="0" value="0" />
+ <value cell_index="1273" local_entity="0" value="0" />
+ <value cell_index="1274" local_entity="0" value="0" />
+ <value cell_index="1275" local_entity="0" value="0" />
+ <value cell_index="1276" local_entity="0" value="0" />
+ <value cell_index="1277" local_entity="0" value="0" />
+ <value cell_index="1278" local_entity="0" value="0" />
+ <value cell_index="1279" local_entity="0" value="0" />
+ <value cell_index="1280" local_entity="0" value="0" />
+ <value cell_index="1281" local_entity="0" value="0" />
+ <value cell_index="1282" local_entity="0" value="0" />
+ <value cell_index="1283" local_entity="0" value="0" />
+ <value cell_index="1284" local_entity="0" value="0" />
+ <value cell_index="1285" local_entity="0" value="0" />
+ <value cell_index="1286" local_entity="0" value="0" />
+ <value cell_index="1287" local_entity="0" value="0" />
+ <value cell_index="1288" local_entity="0" value="0" />
+ <value cell_index="1289" local_entity="0" value="0" />
+ <value cell_index="1290" local_entity="0" value="0" />
+ <value cell_index="1291" local_entity="0" value="0" />
+ <value cell_index="1292" local_entity="0" value="0" />
+ <value cell_index="1293" local_entity="0" value="0" />
+ <value cell_index="1294" local_entity="0" value="0" />
+ <value cell_index="1295" local_entity="0" value="0" />
+ <value cell_index="1296" local_entity="0" value="0" />
+ <value cell_index="1297" local_entity="0" value="0" />
+ <value cell_index="1298" local_entity="0" value="0" />
+ <value cell_index="1299" local_entity="0" value="0" />
+ <value cell_index="1300" local_entity="0" value="0" />
+ <value cell_index="1301" local_entity="0" value="0" />
+ <value cell_index="1302" local_entity="0" value="0" />
+ <value cell_index="1303" local_entity="0" value="0" />
+ <value cell_index="1304" local_entity="0" value="0" />
+ <value cell_index="1305" local_entity="0" value="0" />
+ <value cell_index="1306" local_entity="0" value="0" />
+ <value cell_index="1307" local_entity="0" value="0" />
+ <value cell_index="1308" local_entity="0" value="0" />
+ <value cell_index="1309" local_entity="0" value="0" />
+ <value cell_index="1310" local_entity="0" value="0" />
+ <value cell_index="1311" local_entity="0" value="0" />
+ <value cell_index="1312" local_entity="0" value="0" />
+ <value cell_index="1313" local_entity="0" value="0" />
+ <value cell_index="1314" local_entity="0" value="0" />
+ <value cell_index="1315" local_entity="0" value="0" />
+ <value cell_index="1316" local_entity="0" value="0" />
+ <value cell_index="1317" local_entity="0" value="0" />
+ <value cell_index="1318" local_entity="0" value="0" />
+ <value cell_index="1319" local_entity="0" value="0" />
+ <value cell_index="1320" local_entity="0" value="0" />
+ <value cell_index="1321" local_entity="0" value="0" />
+ <value cell_index="1322" local_entity="0" value="0" />
+ <value cell_index="1323" local_entity="0" value="0" />
+ <value cell_index="1324" local_entity="0" value="0" />
+ <value cell_index="1325" local_entity="0" value="0" />
+ <value cell_index="1326" local_entity="0" value="0" />
+ <value cell_index="1327" local_entity="0" value="0" />
+ <value cell_index="1328" local_entity="0" value="0" />
+ <value cell_index="1329" local_entity="0" value="0" />
+ <value cell_index="1330" local_entity="0" value="0" />
+ <value cell_index="1331" local_entity="0" value="0" />
+ <value cell_index="1332" local_entity="0" value="0" />
+ <value cell_index="1333" local_entity="0" value="0" />
+ <value cell_index="1334" local_entity="0" value="0" />
+ <value cell_index="1335" local_entity="0" value="0" />
+ <value cell_index="1336" local_entity="0" value="0" />
+ <value cell_index="1337" local_entity="0" value="0" />
+ <value cell_index="1338" local_entity="0" value="0" />
+ <value cell_index="1339" local_entity="0" value="0" />
+ <value cell_index="1340" local_entity="0" value="0" />
+ <value cell_index="1341" local_entity="0" value="0" />
+ <value cell_index="1342" local_entity="0" value="0" />
+ <value cell_index="1343" local_entity="0" value="0" />
+ <value cell_index="1344" local_entity="0" value="0" />
+ <value cell_index="1345" local_entity="0" value="0" />
+ <value cell_index="1346" local_entity="0" value="0" />
+ <value cell_index="1347" local_entity="0" value="0" />
+ <value cell_index="1348" local_entity="0" value="0" />
+ <value cell_index="1349" local_entity="0" value="0" />
+ <value cell_index="1350" local_entity="0" value="0" />
+ <value cell_index="1351" local_entity="0" value="0" />
+ <value cell_index="1352" local_entity="0" value="0" />
+ <value cell_index="1353" local_entity="0" value="0" />
+ <value cell_index="1354" local_entity="0" value="0" />
+ <value cell_index="1355" local_entity="0" value="0" />
+ <value cell_index="1356" local_entity="0" value="0" />
+ <value cell_index="1357" local_entity="0" value="0" />
+ <value cell_index="1358" local_entity="0" value="0" />
+ <value cell_index="1359" local_entity="0" value="0" />
+ <value cell_index="1360" local_entity="0" value="0" />
+ <value cell_index="1361" local_entity="0" value="0" />
+ <value cell_index="1362" local_entity="0" value="0" />
+ <value cell_index="1363" local_entity="0" value="0" />
+ <value cell_index="1364" local_entity="0" value="0" />
+ <value cell_index="1365" local_entity="0" value="0" />
+ <value cell_index="1366" local_entity="0" value="0" />
+ <value cell_index="1367" local_entity="0" value="0" />
+ <value cell_index="1368" local_entity="0" value="0" />
+ <value cell_index="1369" local_entity="0" value="0" />
+ <value cell_index="1370" local_entity="0" value="0" />
+ <value cell_index="1371" local_entity="0" value="0" />
+ <value cell_index="1372" local_entity="0" value="0" />
+ <value cell_index="1373" local_entity="0" value="0" />
+ <value cell_index="1374" local_entity="0" value="0" />
+ <value cell_index="1375" local_entity="0" value="0" />
+ <value cell_index="1376" local_entity="0" value="0" />
+ <value cell_index="1377" local_entity="0" value="0" />
+ <value cell_index="1378" local_entity="0" value="0" />
+ <value cell_index="1379" local_entity="0" value="0" />
+ <value cell_index="1380" local_entity="0" value="0" />
+ <value cell_index="1381" local_entity="0" value="0" />
+ <value cell_index="1382" local_entity="0" value="0" />
+ <value cell_index="1383" local_entity="0" value="0" />
+ <value cell_index="1384" local_entity="0" value="0" />
+ <value cell_index="1385" local_entity="0" value="0" />
+ <value cell_index="1386" local_entity="0" value="0" />
+ <value cell_index="1387" local_entity="0" value="0" />
+ <value cell_index="1388" local_entity="0" value="0" />
+ <value cell_index="1389" local_entity="0" value="0" />
+ <value cell_index="1390" local_entity="0" value="0" />
+ <value cell_index="1391" local_entity="0" value="0" />
+ <value cell_index="1392" local_entity="0" value="0" />
+ <value cell_index="1393" local_entity="0" value="0" />
+ <value cell_index="1394" local_entity="0" value="0" />
+ <value cell_index="1395" local_entity="0" value="0" />
+ <value cell_index="1396" local_entity="0" value="0" />
+ <value cell_index="1397" local_entity="0" value="0" />
+ <value cell_index="1398" local_entity="0" value="0" />
+ <value cell_index="1399" local_entity="0" value="0" />
+ <value cell_index="1400" local_entity="0" value="0" />
+ <value cell_index="1401" local_entity="0" value="0" />
+ <value cell_index="1402" local_entity="0" value="0" />
+ <value cell_index="1403" local_entity="0" value="0" />
+ <value cell_index="1404" local_entity="0" value="0" />
+ <value cell_index="1405" local_entity="0" value="0" />
+ <value cell_index="1406" local_entity="0" value="0" />
+ <value cell_index="1407" local_entity="0" value="0" />
+ <value cell_index="1408" local_entity="0" value="0" />
+ <value cell_index="1409" local_entity="0" value="0" />
+ <value cell_index="1410" local_entity="0" value="0" />
+ <value cell_index="1411" local_entity="0" value="0" />
+ <value cell_index="1412" local_entity="0" value="0" />
+ <value cell_index="1413" local_entity="0" value="0" />
+ <value cell_index="1414" local_entity="0" value="0" />
+ <value cell_index="1415" local_entity="0" value="0" />
+ <value cell_index="1416" local_entity="0" value="0" />
+ <value cell_index="1417" local_entity="0" value="0" />
+ <value cell_index="1418" local_entity="0" value="0" />
+ <value cell_index="1419" local_entity="0" value="0" />
+ <value cell_index="1420" local_entity="0" value="0" />
+ <value cell_index="1421" local_entity="0" value="0" />
+ <value cell_index="1422" local_entity="0" value="0" />
+ <value cell_index="1423" local_entity="0" value="0" />
+ <value cell_index="1424" local_entity="0" value="0" />
+ <value cell_index="1425" local_entity="0" value="0" />
+ <value cell_index="1426" local_entity="0" value="0" />
+ <value cell_index="1427" local_entity="0" value="0" />
+ <value cell_index="1428" local_entity="0" value="0" />
+ <value cell_index="1429" local_entity="0" value="0" />
+ <value cell_index="1430" local_entity="0" value="0" />
+ <value cell_index="1431" local_entity="0" value="0" />
+ <value cell_index="1432" local_entity="0" value="0" />
+ <value cell_index="1433" local_entity="0" value="0" />
+ <value cell_index="1434" local_entity="0" value="0" />
+ <value cell_index="1435" local_entity="0" value="0" />
+ <value cell_index="1436" local_entity="0" value="0" />
+ <value cell_index="1437" local_entity="0" value="0" />
+ <value cell_index="1438" local_entity="0" value="0" />
+ <value cell_index="1439" local_entity="0" value="0" />
+ <value cell_index="1440" local_entity="0" value="0" />
+ <value cell_index="1441" local_entity="0" value="0" />
+ <value cell_index="1442" local_entity="0" value="0" />
+ <value cell_index="1443" local_entity="0" value="0" />
+ <value cell_index="1444" local_entity="0" value="0" />
+ <value cell_index="1445" local_entity="0" value="0" />
+ <value cell_index="1446" local_entity="0" value="0" />
+ <value cell_index="1447" local_entity="0" value="0" />
+ <value cell_index="1448" local_entity="0" value="0" />
+ <value cell_index="1449" local_entity="0" value="0" />
+ <value cell_index="1450" local_entity="0" value="0" />
+ <value cell_index="1451" local_entity="0" value="0" />
+ <value cell_index="1452" local_entity="0" value="0" />
+ <value cell_index="1453" local_entity="0" value="0" />
+ <value cell_index="1454" local_entity="0" value="0" />
+ <value cell_index="1455" local_entity="0" value="0" />
+ <value cell_index="1456" local_entity="0" value="0" />
+ <value cell_index="1457" local_entity="0" value="0" />
+ <value cell_index="1458" local_entity="0" value="0" />
+ <value cell_index="1459" local_entity="0" value="0" />
+ <value cell_index="1460" local_entity="0" value="0" />
+ <value cell_index="1461" local_entity="0" value="0" />
+ <value cell_index="1462" local_entity="0" value="0" />
+ <value cell_index="1463" local_entity="0" value="0" />
+ <value cell_index="1464" local_entity="0" value="0" />
+ <value cell_index="1465" local_entity="0" value="0" />
+ <value cell_index="1466" local_entity="0" value="0" />
+ <value cell_index="1467" local_entity="0" value="0" />
+ <value cell_index="1468" local_entity="0" value="0" />
+ <value cell_index="1469" local_entity="0" value="0" />
+ <value cell_index="1470" local_entity="0" value="0" />
+ <value cell_index="1471" local_entity="0" value="0" />
+ <value cell_index="1472" local_entity="0" value="0" />
+ <value cell_index="1473" local_entity="0" value="0" />
+ <value cell_index="1474" local_entity="0" value="0" />
+ <value cell_index="1475" local_entity="0" value="0" />
+ <value cell_index="1476" local_entity="0" value="0" />
+ <value cell_index="1477" local_entity="0" value="0" />
+ <value cell_index="1478" local_entity="0" value="0" />
+ <value cell_index="1479" local_entity="0" value="0" />
+ <value cell_index="1480" local_entity="0" value="0" />
+ <value cell_index="1481" local_entity="0" value="0" />
+ <value cell_index="1482" local_entity="0" value="0" />
+ <value cell_index="1483" local_entity="0" value="0" />
+ <value cell_index="1484" local_entity="0" value="0" />
+ <value cell_index="1485" local_entity="0" value="0" />
+ <value cell_index="1486" local_entity="0" value="0" />
+ <value cell_index="1487" local_entity="0" value="0" />
+ <value cell_index="1488" local_entity="0" value="0" />
+ <value cell_index="1489" local_entity="0" value="0" />
+ <value cell_index="1490" local_entity="0" value="0" />
+ <value cell_index="1491" local_entity="0" value="0" />
+ <value cell_index="1492" local_entity="0" value="0" />
+ <value cell_index="1493" local_entity="0" value="0" />
+ <value cell_index="1494" local_entity="0" value="0" />
+ <value cell_index="1495" local_entity="0" value="0" />
+ <value cell_index="1496" local_entity="0" value="0" />
+ <value cell_index="1497" local_entity="0" value="0" />
+ <value cell_index="1498" local_entity="0" value="0" />
+ <value cell_index="1499" local_entity="0" value="0" />
+ <value cell_index="1500" local_entity="0" value="0" />
+ <value cell_index="1501" local_entity="0" value="0" />
+ <value cell_index="1502" local_entity="0" value="0" />
+ <value cell_index="1503" local_entity="0" value="0" />
+ <value cell_index="1504" local_entity="0" value="0" />
+ <value cell_index="1505" local_entity="0" value="0" />
+ <value cell_index="1506" local_entity="0" value="0" />
+ <value cell_index="1507" local_entity="0" value="0" />
+ <value cell_index="1508" local_entity="0" value="0" />
+ <value cell_index="1509" local_entity="0" value="0" />
+ <value cell_index="1510" local_entity="0" value="0" />
+ <value cell_index="1511" local_entity="0" value="0" />
+ <value cell_index="1512" local_entity="0" value="0" />
+ <value cell_index="1513" local_entity="0" value="0" />
+ <value cell_index="1514" local_entity="0" value="0" />
+ <value cell_index="1515" local_entity="0" value="0" />
+ <value cell_index="1516" local_entity="0" value="0" />
+ <value cell_index="1517" local_entity="0" value="0" />
+ <value cell_index="1518" local_entity="0" value="0" />
+ <value cell_index="1519" local_entity="0" value="0" />
+ <value cell_index="1520" local_entity="0" value="0" />
+ <value cell_index="1521" local_entity="0" value="0" />
+ <value cell_index="1522" local_entity="0" value="0" />
+ <value cell_index="1523" local_entity="0" value="0" />
+ <value cell_index="1524" local_entity="0" value="0" />
+ <value cell_index="1525" local_entity="0" value="0" />
+ <value cell_index="1526" local_entity="0" value="0" />
+ <value cell_index="1527" local_entity="0" value="0" />
+ <value cell_index="1528" local_entity="0" value="0" />
+ <value cell_index="1529" local_entity="0" value="0" />
+ <value cell_index="1530" local_entity="0" value="0" />
+ <value cell_index="1531" local_entity="0" value="0" />
+ <value cell_index="1532" local_entity="0" value="0" />
+ <value cell_index="1533" local_entity="0" value="0" />
+ <value cell_index="1534" local_entity="0" value="0" />
+ <value cell_index="1535" local_entity="0" value="0" />
+ <value cell_index="1536" local_entity="0" value="0" />
+ <value cell_index="1537" local_entity="0" value="0" />
+ <value cell_index="1538" local_entity="0" value="0" />
+ <value cell_index="1539" local_entity="0" value="0" />
+ <value cell_index="1540" local_entity="0" value="0" />
+ <value cell_index="1541" local_entity="0" value="0" />
+ <value cell_index="1542" local_entity="0" value="0" />
+ <value cell_index="1543" local_entity="0" value="0" />
+ <value cell_index="1544" local_entity="0" value="0" />
+ <value cell_index="1545" local_entity="0" value="0" />
+ <value cell_index="1546" local_entity="0" value="0" />
+ <value cell_index="1547" local_entity="0" value="0" />
+ <value cell_index="1548" local_entity="0" value="0" />
+ <value cell_index="1549" local_entity="0" value="0" />
+ <value cell_index="1550" local_entity="0" value="0" />
+ <value cell_index="1551" local_entity="0" value="0" />
+ <value cell_index="1552" local_entity="0" value="0" />
+ <value cell_index="1553" local_entity="0" value="0" />
+ <value cell_index="1554" local_entity="0" value="0" />
+ <value cell_index="1555" local_entity="0" value="0" />
+ <value cell_index="1556" local_entity="0" value="0" />
+ <value cell_index="1557" local_entity="0" value="0" />
+ <value cell_index="1558" local_entity="0" value="0" />
+ <value cell_index="1559" local_entity="0" value="0" />
+ <value cell_index="1560" local_entity="0" value="0" />
+ <value cell_index="1561" local_entity="0" value="0" />
+ <value cell_index="1562" local_entity="0" value="0" />
+ <value cell_index="1563" local_entity="0" value="0" />
+ <value cell_index="1564" local_entity="0" value="0" />
+ <value cell_index="1565" local_entity="0" value="0" />
+ <value cell_index="1566" local_entity="0" value="0" />
+ <value cell_index="1567" local_entity="0" value="0" />
+ <value cell_index="1568" local_entity="0" value="0" />
+ <value cell_index="1569" local_entity="0" value="0" />
+ <value cell_index="1570" local_entity="0" value="0" />
+ <value cell_index="1571" local_entity="0" value="0" />
+ <value cell_index="1572" local_entity="0" value="0" />
+ <value cell_index="1573" local_entity="0" value="0" />
+ <value cell_index="1574" local_entity="0" value="0" />
+ <value cell_index="1575" local_entity="0" value="0" />
+ <value cell_index="1576" local_entity="0" value="0" />
+ <value cell_index="1577" local_entity="0" value="0" />
+ <value cell_index="1578" local_entity="0" value="0" />
+ <value cell_index="1579" local_entity="0" value="0" />
+ <value cell_index="1580" local_entity="0" value="0" />
+ <value cell_index="1581" local_entity="0" value="0" />
+ <value cell_index="1582" local_entity="0" value="0" />
+ <value cell_index="1583" local_entity="0" value="0" />
+ <value cell_index="1584" local_entity="0" value="0" />
+ <value cell_index="1585" local_entity="0" value="0" />
+ <value cell_index="1586" local_entity="0" value="0" />
+ <value cell_index="1587" local_entity="0" value="0" />
+ <value cell_index="1588" local_entity="0" value="0" />
+ <value cell_index="1589" local_entity="0" value="0" />
+ <value cell_index="1590" local_entity="0" value="0" />
+ <value cell_index="1591" local_entity="0" value="0" />
+ <value cell_index="1592" local_entity="0" value="0" />
+ <value cell_index="1593" local_entity="0" value="0" />
+ <value cell_index="1594" local_entity="0" value="0" />
+ <value cell_index="1595" local_entity="0" value="0" />
+ <value cell_index="1596" local_entity="0" value="0" />
+ <value cell_index="1597" local_entity="0" value="0" />
+ <value cell_index="1598" local_entity="0" value="0" />
+ <value cell_index="1599" local_entity="0" value="0" />
+ <value cell_index="1600" local_entity="0" value="0" />
+ <value cell_index="1601" local_entity="0" value="0" />
+ <value cell_index="1602" local_entity="0" value="0" />
+ <value cell_index="1603" local_entity="0" value="0" />
+ <value cell_index="1604" local_entity="0" value="0" />
+ <value cell_index="1605" local_entity="0" value="0" />
+ <value cell_index="1606" local_entity="0" value="0" />
+ <value cell_index="1607" local_entity="0" value="0" />
+ <value cell_index="1608" local_entity="0" value="0" />
+ <value cell_index="1609" local_entity="0" value="0" />
+ <value cell_index="1610" local_entity="0" value="0" />
+ <value cell_index="1611" local_entity="0" value="0" />
+ <value cell_index="1612" local_entity="0" value="0" />
+ <value cell_index="1613" local_entity="0" value="0" />
+ <value cell_index="1614" local_entity="0" value="0" />
+ <value cell_index="1615" local_entity="0" value="0" />
+ <value cell_index="1616" local_entity="0" value="0" />
+ <value cell_index="1617" local_entity="0" value="0" />
+ <value cell_index="1618" local_entity="0" value="0" />
+ <value cell_index="1619" local_entity="0" value="0" />
+ <value cell_index="1620" local_entity="0" value="0" />
+ <value cell_index="1621" local_entity="0" value="0" />
+ <value cell_index="1622" local_entity="0" value="0" />
+ <value cell_index="1623" local_entity="0" value="0" />
+ <value cell_index="1624" local_entity="0" value="0" />
+ <value cell_index="1625" local_entity="0" value="0" />
+ <value cell_index="1626" local_entity="0" value="0" />
+ <value cell_index="1627" local_entity="0" value="0" />
+ <value cell_index="1628" local_entity="0" value="0" />
+ <value cell_index="1629" local_entity="0" value="0" />
+ <value cell_index="1630" local_entity="0" value="0" />
+ <value cell_index="1631" local_entity="0" value="0" />
+ <value cell_index="1632" local_entity="0" value="0" />
+ <value cell_index="1633" local_entity="0" value="0" />
+ <value cell_index="1634" local_entity="0" value="0" />
+ <value cell_index="1635" local_entity="0" value="0" />
+ <value cell_index="1636" local_entity="0" value="0" />
+ <value cell_index="1637" local_entity="0" value="0" />
+ <value cell_index="1638" local_entity="0" value="0" />
+ <value cell_index="1639" local_entity="0" value="0" />
+ <value cell_index="1640" local_entity="0" value="0" />
+ <value cell_index="1641" local_entity="0" value="0" />
+ <value cell_index="1642" local_entity="0" value="0" />
+ <value cell_index="1643" local_entity="0" value="0" />
+ <value cell_index="1644" local_entity="0" value="0" />
+ <value cell_index="1645" local_entity="0" value="0" />
+ <value cell_index="1646" local_entity="0" value="0" />
+ <value cell_index="1647" local_entity="0" value="0" />
+ <value cell_index="1648" local_entity="0" value="0" />
+ <value cell_index="1649" local_entity="0" value="0" />
+ <value cell_index="1650" local_entity="0" value="0" />
+ <value cell_index="1651" local_entity="0" value="0" />
+ <value cell_index="1652" local_entity="0" value="0" />
+ <value cell_index="1653" local_entity="0" value="0" />
+ <value cell_index="1654" local_entity="0" value="0" />
+ <value cell_index="1655" local_entity="0" value="0" />
+ <value cell_index="1656" local_entity="0" value="0" />
+ <value cell_index="1657" local_entity="0" value="0" />
+ <value cell_index="1658" local_entity="0" value="0" />
+ <value cell_index="1659" local_entity="0" value="0" />
+ <value cell_index="1660" local_entity="0" value="0" />
+ <value cell_index="1661" local_entity="0" value="0" />
+ <value cell_index="1662" local_entity="0" value="0" />
+ <value cell_index="1663" local_entity="0" value="0" />
+ <value cell_index="1664" local_entity="0" value="0" />
+ <value cell_index="1665" local_entity="0" value="0" />
+ <value cell_index="1666" local_entity="0" value="0" />
+ <value cell_index="1667" local_entity="0" value="0" />
+ <value cell_index="1668" local_entity="0" value="0" />
+ <value cell_index="1669" local_entity="0" value="0" />
+ <value cell_index="1670" local_entity="0" value="0" />
+ <value cell_index="1671" local_entity="0" value="0" />
+ <value cell_index="1672" local_entity="0" value="0" />
+ <value cell_index="1673" local_entity="0" value="0" />
+ <value cell_index="1674" local_entity="0" value="0" />
+ <value cell_index="1675" local_entity="0" value="0" />
+ <value cell_index="1676" local_entity="0" value="0" />
+ <value cell_index="1677" local_entity="0" value="0" />
+ <value cell_index="1678" local_entity="0" value="0" />
+ <value cell_index="1679" local_entity="0" value="0" />
+ <value cell_index="1680" local_entity="0" value="0" />
+ <value cell_index="1681" local_entity="0" value="0" />
+ <value cell_index="1682" local_entity="0" value="0" />
+ <value cell_index="1683" local_entity="0" value="0" />
+ <value cell_index="1684" local_entity="0" value="0" />
+ <value cell_index="1685" local_entity="0" value="0" />
+ <value cell_index="1686" local_entity="0" value="0" />
+ <value cell_index="1687" local_entity="0" value="0" />
+ <value cell_index="1688" local_entity="0" value="0" />
+ <value cell_index="1689" local_entity="0" value="0" />
+ <value cell_index="1690" local_entity="0" value="0" />
+ <value cell_index="1691" local_entity="0" value="0" />
+ <value cell_index="1692" local_entity="0" value="0" />
+ <value cell_index="1693" local_entity="0" value="0" />
+ <value cell_index="1694" local_entity="0" value="0" />
+ <value cell_index="1695" local_entity="0" value="0" />
+ <value cell_index="1696" local_entity="0" value="0" />
+ <value cell_index="1697" local_entity="0" value="0" />
+ <value cell_index="1698" local_entity="0" value="0" />
+ <value cell_index="1699" local_entity="0" value="0" />
+ <value cell_index="1700" local_entity="0" value="0" />
+ <value cell_index="1701" local_entity="0" value="0" />
+ <value cell_index="1702" local_entity="0" value="0" />
+ <value cell_index="1703" local_entity="0" value="0" />
+ <value cell_index="1704" local_entity="0" value="0" />
+ <value cell_index="1705" local_entity="0" value="0" />
+ <value cell_index="1706" local_entity="0" value="0" />
+ <value cell_index="1707" local_entity="0" value="0" />
+ <value cell_index="1708" local_entity="0" value="0" />
+ <value cell_index="1709" local_entity="0" value="0" />
+ <value cell_index="1710" local_entity="0" value="0" />
+ <value cell_index="1711" local_entity="0" value="0" />
+ <value cell_index="1712" local_entity="0" value="0" />
+ <value cell_index="1713" local_entity="0" value="0" />
+ <value cell_index="1714" local_entity="0" value="0" />
+ <value cell_index="1715" local_entity="0" value="0" />
+ <value cell_index="1716" local_entity="0" value="0" />
+ <value cell_index="1717" local_entity="0" value="0" />
+ <value cell_index="1718" local_entity="0" value="0" />
+ <value cell_index="1719" local_entity="0" value="0" />
+ <value cell_index="1720" local_entity="0" value="0" />
+ <value cell_index="1721" local_entity="0" value="0" />
+ <value cell_index="1722" local_entity="0" value="0" />
+ <value cell_index="1723" local_entity="0" value="0" />
+ <value cell_index="1724" local_entity="0" value="0" />
+ <value cell_index="1725" local_entity="0" value="0" />
+ <value cell_index="1726" local_entity="0" value="0" />
+ <value cell_index="1727" local_entity="0" value="0" />
+ <value cell_index="1728" local_entity="0" value="0" />
+ <value cell_index="1729" local_entity="0" value="0" />
+ <value cell_index="1730" local_entity="0" value="0" />
+ <value cell_index="1731" local_entity="0" value="0" />
+ <value cell_index="1732" local_entity="0" value="0" />
+ <value cell_index="1733" local_entity="0" value="0" />
+ <value cell_index="1734" local_entity="0" value="0" />
+ <value cell_index="1735" local_entity="0" value="0" />
+ <value cell_index="1736" local_entity="0" value="0" />
+ <value cell_index="1737" local_entity="0" value="0" />
+ <value cell_index="1738" local_entity="0" value="0" />
+ <value cell_index="1739" local_entity="0" value="0" />
+ <value cell_index="1740" local_entity="0" value="0" />
+ <value cell_index="1741" local_entity="0" value="0" />
+ <value cell_index="1742" local_entity="0" value="0" />
+ <value cell_index="1743" local_entity="0" value="0" />
+ <value cell_index="1744" local_entity="0" value="0" />
+ <value cell_index="1745" local_entity="0" value="0" />
+ <value cell_index="1746" local_entity="0" value="0" />
+ <value cell_index="1747" local_entity="0" value="0" />
+ <value cell_index="1748" local_entity="0" value="0" />
+ <value cell_index="1749" local_entity="0" value="0" />
+ <value cell_index="1750" local_entity="0" value="0" />
+ <value cell_index="1751" local_entity="0" value="0" />
+ <value cell_index="1752" local_entity="0" value="0" />
+ <value cell_index="1753" local_entity="0" value="0" />
+ <value cell_index="1754" local_entity="0" value="0" />
+ <value cell_index="1755" local_entity="0" value="0" />
+ <value cell_index="1756" local_entity="0" value="0" />
+ <value cell_index="1757" local_entity="0" value="0" />
+ <value cell_index="1758" local_entity="0" value="0" />
+ <value cell_index="1759" local_entity="0" value="0" />
+ <value cell_index="1760" local_entity="0" value="0" />
+ <value cell_index="1761" local_entity="0" value="0" />
+ <value cell_index="1762" local_entity="0" value="0" />
+ <value cell_index="1763" local_entity="0" value="0" />
+ <value cell_index="1764" local_entity="0" value="0" />
+ <value cell_index="1765" local_entity="0" value="0" />
+ <value cell_index="1766" local_entity="0" value="0" />
+ <value cell_index="1767" local_entity="0" value="0" />
+ <value cell_index="1768" local_entity="0" value="0" />
+ <value cell_index="1769" local_entity="0" value="0" />
+ <value cell_index="1770" local_entity="0" value="0" />
+ <value cell_index="1771" local_entity="0" value="0" />
+ <value cell_index="1772" local_entity="0" value="0" />
+ <value cell_index="1773" local_entity="0" value="0" />
+ <value cell_index="1774" local_entity="0" value="0" />
+ <value cell_index="1775" local_entity="0" value="0" />
+ <value cell_index="1776" local_entity="0" value="0" />
+ <value cell_index="1777" local_entity="0" value="0" />
+ <value cell_index="1778" local_entity="0" value="0" />
+ <value cell_index="1779" local_entity="0" value="0" />
+ <value cell_index="1780" local_entity="0" value="0" />
+ <value cell_index="1781" local_entity="0" value="0" />
+ <value cell_index="1782" local_entity="0" value="0" />
+ <value cell_index="1783" local_entity="0" value="0" />
+ <value cell_index="1784" local_entity="0" value="0" />
+ <value cell_index="1785" local_entity="0" value="0" />
+ <value cell_index="1786" local_entity="0" value="0" />
+ <value cell_index="1787" local_entity="0" value="0" />
+ <value cell_index="1788" local_entity="0" value="0" />
+ <value cell_index="1789" local_entity="0" value="0" />
+ <value cell_index="1790" local_entity="0" value="0" />
+ <value cell_index="1791" local_entity="0" value="0" />
+ <value cell_index="1792" local_entity="0" value="0" />
+ <value cell_index="1793" local_entity="0" value="0" />
+ <value cell_index="1794" local_entity="0" value="0" />
+ <value cell_index="1795" local_entity="0" value="0" />
+ <value cell_index="1796" local_entity="0" value="0" />
+ <value cell_index="1797" local_entity="0" value="0" />
+ <value cell_index="1798" local_entity="0" value="0" />
+ <value cell_index="1799" local_entity="0" value="0" />
+ <value cell_index="1800" local_entity="0" value="0" />
+ <value cell_index="1801" local_entity="0" value="0" />
+ <value cell_index="1802" local_entity="0" value="0" />
+ <value cell_index="1803" local_entity="0" value="0" />
+ <value cell_index="1804" local_entity="0" value="0" />
+ <value cell_index="1805" local_entity="0" value="0" />
+ <value cell_index="1806" local_entity="0" value="0" />
+ <value cell_index="1807" local_entity="0" value="0" />
+ <value cell_index="1808" local_entity="0" value="0" />
+ <value cell_index="1809" local_entity="0" value="0" />
+ <value cell_index="1810" local_entity="0" value="0" />
+ <value cell_index="1811" local_entity="0" value="0" />
+ <value cell_index="1812" local_entity="0" value="0" />
+ <value cell_index="1813" local_entity="0" value="0" />
+ <value cell_index="1814" local_entity="0" value="0" />
+ <value cell_index="1815" local_entity="0" value="0" />
+ <value cell_index="1816" local_entity="0" value="0" />
+ <value cell_index="1817" local_entity="0" value="0" />
+ <value cell_index="1818" local_entity="0" value="0" />
+ <value cell_index="1819" local_entity="0" value="0" />
+ <value cell_index="1820" local_entity="0" value="0" />
+ <value cell_index="1821" local_entity="0" value="0" />
+ <value cell_index="1822" local_entity="0" value="0" />
+ <value cell_index="1823" local_entity="0" value="0" />
+ <value cell_index="1824" local_entity="0" value="0" />
+ <value cell_index="1825" local_entity="0" value="0" />
+ <value cell_index="1826" local_entity="0" value="0" />
+ <value cell_index="1827" local_entity="0" value="0" />
+ <value cell_index="1828" local_entity="0" value="0" />
+ <value cell_index="1829" local_entity="0" value="0" />
+ <value cell_index="1830" local_entity="0" value="0" />
+ <value cell_index="1831" local_entity="0" value="0" />
+ <value cell_index="1832" local_entity="0" value="0" />
+ <value cell_index="1833" local_entity="0" value="0" />
+ <value cell_index="1834" local_entity="0" value="0" />
+ <value cell_index="1835" local_entity="0" value="0" />
+ <value cell_index="1836" local_entity="0" value="0" />
+ <value cell_index="1837" local_entity="0" value="0" />
+ <value cell_index="1838" local_entity="0" value="0" />
+ <value cell_index="1839" local_entity="0" value="0" />
+ <value cell_index="1840" local_entity="0" value="0" />
+ <value cell_index="1841" local_entity="0" value="0" />
+ <value cell_index="1842" local_entity="0" value="0" />
+ <value cell_index="1843" local_entity="0" value="0" />
+ <value cell_index="1844" local_entity="0" value="0" />
+ <value cell_index="1845" local_entity="0" value="0" />
+ <value cell_index="1846" local_entity="0" value="0" />
+ <value cell_index="1847" local_entity="0" value="0" />
+ <value cell_index="1848" local_entity="0" value="0" />
+ <value cell_index="1849" local_entity="0" value="0" />
+ <value cell_index="1850" local_entity="0" value="0" />
+ <value cell_index="1851" local_entity="0" value="0" />
+ <value cell_index="1852" local_entity="0" value="0" />
+ <value cell_index="1853" local_entity="0" value="0" />
+ <value cell_index="1854" local_entity="0" value="0" />
+ <value cell_index="1855" local_entity="0" value="0" />
+ <value cell_index="1856" local_entity="0" value="0" />
+ <value cell_index="1857" local_entity="0" value="0" />
+ <value cell_index="1858" local_entity="0" value="0" />
+ <value cell_index="1859" local_entity="0" value="0" />
+ <value cell_index="1860" local_entity="0" value="0" />
+ <value cell_index="1861" local_entity="0" value="0" />
+ <value cell_index="1862" local_entity="0" value="0" />
+ <value cell_index="1863" local_entity="0" value="0" />
+ <value cell_index="1864" local_entity="0" value="0" />
+ <value cell_index="1865" local_entity="0" value="0" />
+ <value cell_index="1866" local_entity="0" value="0" />
+ <value cell_index="1867" local_entity="0" value="0" />
+ <value cell_index="1868" local_entity="0" value="0" />
+ <value cell_index="1869" local_entity="0" value="0" />
+ <value cell_index="1870" local_entity="0" value="0" />
+ <value cell_index="1871" local_entity="0" value="0" />
+ <value cell_index="1872" local_entity="0" value="0" />
+ <value cell_index="1873" local_entity="0" value="0" />
+ <value cell_index="1874" local_entity="0" value="0" />
+ <value cell_index="1875" local_entity="0" value="0" />
+ <value cell_index="1876" local_entity="0" value="0" />
+ <value cell_index="1877" local_entity="0" value="0" />
+ <value cell_index="1878" local_entity="0" value="0" />
+ <value cell_index="1879" local_entity="0" value="0" />
+ <value cell_index="1880" local_entity="0" value="0" />
+ <value cell_index="1881" local_entity="0" value="0" />
+ <value cell_index="1882" local_entity="0" value="0" />
+ <value cell_index="1883" local_entity="0" value="0" />
+ <value cell_index="1884" local_entity="0" value="0" />
+ <value cell_index="1885" local_entity="0" value="0" />
+ <value cell_index="1886" local_entity="0" value="0" />
+ <value cell_index="1887" local_entity="0" value="0" />
+ <value cell_index="1888" local_entity="0" value="0" />
+ <value cell_index="1889" local_entity="0" value="0" />
+ <value cell_index="1890" local_entity="0" value="0" />
+ <value cell_index="1891" local_entity="0" value="0" />
+ <value cell_index="1892" local_entity="0" value="0" />
+ <value cell_index="1893" local_entity="0" value="0" />
+ <value cell_index="1894" local_entity="0" value="0" />
+ <value cell_index="1895" local_entity="0" value="0" />
+ <value cell_index="1896" local_entity="0" value="0" />
+ <value cell_index="1897" local_entity="0" value="0" />
+ <value cell_index="1898" local_entity="0" value="0" />
+ <value cell_index="1899" local_entity="0" value="0" />
+ <value cell_index="1900" local_entity="0" value="0" />
+ <value cell_index="1901" local_entity="0" value="0" />
+ <value cell_index="1902" local_entity="0" value="0" />
+ <value cell_index="1903" local_entity="0" value="0" />
+ <value cell_index="1904" local_entity="0" value="0" />
+ <value cell_index="1905" local_entity="0" value="0" />
+ <value cell_index="1906" local_entity="0" value="0" />
+ <value cell_index="1907" local_entity="0" value="0" />
+ <value cell_index="1908" local_entity="0" value="0" />
+ <value cell_index="1909" local_entity="0" value="0" />
+ <value cell_index="1910" local_entity="0" value="0" />
+ <value cell_index="1911" local_entity="0" value="0" />
+ <value cell_index="1912" local_entity="0" value="0" />
+ <value cell_index="1913" local_entity="0" value="0" />
+ <value cell_index="1914" local_entity="0" value="0" />
+ <value cell_index="1915" local_entity="0" value="0" />
+ <value cell_index="1916" local_entity="0" value="0" />
+ <value cell_index="1917" local_entity="0" value="0" />
+ <value cell_index="1918" local_entity="0" value="0" />
+ <value cell_index="1919" local_entity="0" value="0" />
+ <value cell_index="1920" local_entity="0" value="0" />
+ <value cell_index="1921" local_entity="0" value="0" />
+ <value cell_index="1922" local_entity="0" value="0" />
+ <value cell_index="1923" local_entity="0" value="0" />
+ <value cell_index="1924" local_entity="0" value="0" />
+ <value cell_index="1925" local_entity="0" value="0" />
+ <value cell_index="1926" local_entity="0" value="0" />
+ <value cell_index="1927" local_entity="0" value="0" />
+ <value cell_index="1928" local_entity="0" value="0" />
+ <value cell_index="1929" local_entity="0" value="0" />
+ <value cell_index="1930" local_entity="0" value="0" />
+ <value cell_index="1931" local_entity="0" value="0" />
+ <value cell_index="1932" local_entity="0" value="0" />
+ <value cell_index="1933" local_entity="0" value="0" />
+ <value cell_index="1934" local_entity="0" value="0" />
+ <value cell_index="1935" local_entity="0" value="0" />
+ <value cell_index="1936" local_entity="0" value="0" />
+ <value cell_index="1937" local_entity="0" value="0" />
+ <value cell_index="1938" local_entity="0" value="0" />
+ <value cell_index="1939" local_entity="0" value="0" />
+ <value cell_index="1940" local_entity="0" value="0" />
+ <value cell_index="1941" local_entity="0" value="0" />
+ <value cell_index="1942" local_entity="0" value="0" />
+ <value cell_index="1943" local_entity="0" value="0" />
+ <value cell_index="1944" local_entity="0" value="0" />
+ <value cell_index="1945" local_entity="0" value="0" />
+ <value cell_index="1946" local_entity="0" value="0" />
+ <value cell_index="1947" local_entity="0" value="0" />
+ <value cell_index="1948" local_entity="0" value="0" />
+ <value cell_index="1949" local_entity="0" value="0" />
+ <value cell_index="1950" local_entity="0" value="0" />
+ <value cell_index="1951" local_entity="0" value="0" />
+ <value cell_index="1952" local_entity="0" value="0" />
+ <value cell_index="1953" local_entity="0" value="0" />
+ <value cell_index="1954" local_entity="0" value="0" />
+ <value cell_index="1955" local_entity="0" value="0" />
+ <value cell_index="1956" local_entity="0" value="0" />
+ <value cell_index="1957" local_entity="0" value="0" />
+ <value cell_index="1958" local_entity="0" value="0" />
+ <value cell_index="1959" local_entity="0" value="0" />
+ <value cell_index="1960" local_entity="0" value="0" />
+ <value cell_index="1961" local_entity="0" value="0" />
+ <value cell_index="1962" local_entity="0" value="0" />
+ <value cell_index="1963" local_entity="0" value="0" />
+ <value cell_index="1964" local_entity="0" value="0" />
+ <value cell_index="1965" local_entity="0" value="0" />
+ <value cell_index="1966" local_entity="0" value="0" />
+ <value cell_index="1967" local_entity="0" value="0" />
+ <value cell_index="1968" local_entity="0" value="0" />
+ <value cell_index="1969" local_entity="0" value="0" />
+ <value cell_index="1970" local_entity="0" value="0" />
+ <value cell_index="1971" local_entity="0" value="0" />
+ <value cell_index="1972" local_entity="0" value="0" />
+ <value cell_index="1973" local_entity="0" value="0" />
+ <value cell_index="1974" local_entity="0" value="0" />
+ <value cell_index="1975" local_entity="0" value="0" />
+ <value cell_index="1976" local_entity="0" value="0" />
+ <value cell_index="1977" local_entity="0" value="0" />
+ <value cell_index="1978" local_entity="0" value="0" />
+ <value cell_index="1979" local_entity="0" value="0" />
+ <value cell_index="1980" local_entity="0" value="0" />
+ <value cell_index="1981" local_entity="0" value="0" />
+ <value cell_index="1982" local_entity="0" value="0" />
+ <value cell_index="1983" local_entity="0" value="0" />
+ <value cell_index="1984" local_entity="0" value="0" />
+ <value cell_index="1985" local_entity="0" value="0" />
+ <value cell_index="1986" local_entity="0" value="0" />
+ <value cell_index="1987" local_entity="0" value="0" />
+ <value cell_index="1988" local_entity="0" value="0" />
+ <value cell_index="1989" local_entity="0" value="0" />
+ <value cell_index="1990" local_entity="0" value="0" />
+ <value cell_index="1991" local_entity="0" value="0" />
+ <value cell_index="1992" local_entity="0" value="0" />
+ <value cell_index="1993" local_entity="0" value="0" />
+ <value cell_index="1994" local_entity="0" value="0" />
+ <value cell_index="1995" local_entity="0" value="0" />
+ <value cell_index="1996" local_entity="0" value="0" />
+ <value cell_index="1997" local_entity="0" value="0" />
+ <value cell_index="1998" local_entity="0" value="0" />
+ <value cell_index="1999" local_entity="0" value="0" />
+ <value cell_index="2000" local_entity="0" value="0" />
+ <value cell_index="2001" local_entity="0" value="0" />
+ <value cell_index="2002" local_entity="0" value="0" />
+ <value cell_index="2003" local_entity="0" value="0" />
+ <value cell_index="2004" local_entity="0" value="0" />
+ <value cell_index="2005" local_entity="0" value="0" />
+ <value cell_index="2006" local_entity="0" value="0" />
+ <value cell_index="2007" local_entity="0" value="0" />
+ <value cell_index="2008" local_entity="0" value="0" />
+ <value cell_index="2009" local_entity="0" value="0" />
+ <value cell_index="2010" local_entity="0" value="0" />
+ <value cell_index="2011" local_entity="0" value="0" />
+ <value cell_index="2012" local_entity="0" value="0" />
+ <value cell_index="2013" local_entity="0" value="0" />
+ <value cell_index="2014" local_entity="0" value="0" />
+ <value cell_index="2015" local_entity="0" value="0" />
+ <value cell_index="2016" local_entity="0" value="0" />
+ <value cell_index="2017" local_entity="0" value="0" />
+ <value cell_index="2018" local_entity="0" value="0" />
+ <value cell_index="2019" local_entity="0" value="0" />
+ <value cell_index="2020" local_entity="0" value="0" />
+ <value cell_index="2021" local_entity="0" value="0" />
+ <value cell_index="2022" local_entity="0" value="0" />
+ <value cell_index="2023" local_entity="0" value="0" />
+ <value cell_index="2024" local_entity="0" value="0" />
+ <value cell_index="2025" local_entity="0" value="0" />
+ <value cell_index="2026" local_entity="0" value="0" />
+ <value cell_index="2027" local_entity="0" value="0" />
+ <value cell_index="2028" local_entity="0" value="0" />
+ <value cell_index="2029" local_entity="0" value="0" />
+ <value cell_index="2030" local_entity="0" value="0" />
+ <value cell_index="2031" local_entity="0" value="0" />
+ <value cell_index="2032" local_entity="0" value="0" />
+ <value cell_index="2033" local_entity="0" value="0" />
+ <value cell_index="2034" local_entity="0" value="0" />
+ <value cell_index="2035" local_entity="0" value="0" />
+ <value cell_index="2036" local_entity="0" value="0" />
+ <value cell_index="2037" local_entity="0" value="0" />
+ <value cell_index="2038" local_entity="0" value="0" />
+ <value cell_index="2039" local_entity="0" value="0" />
+ <value cell_index="2040" local_entity="0" value="0" />
+ <value cell_index="2041" local_entity="0" value="0" />
+ <value cell_index="2042" local_entity="0" value="0" />
+ <value cell_index="2043" local_entity="0" value="0" />
+ <value cell_index="2044" local_entity="0" value="0" />
+ <value cell_index="2045" local_entity="0" value="0" />
+ <value cell_index="2046" local_entity="0" value="0" />
+ <value cell_index="2047" local_entity="0" value="0" />
+ <value cell_index="2048" local_entity="0" value="0" />
+ <value cell_index="2049" local_entity="0" value="0" />
+ <value cell_index="2050" local_entity="0" value="0" />
+ <value cell_index="2051" local_entity="0" value="0" />
+ <value cell_index="2052" local_entity="0" value="0" />
+ <value cell_index="2053" local_entity="0" value="0" />
+ <value cell_index="2054" local_entity="0" value="0" />
+ <value cell_index="2055" local_entity="0" value="0" />
+ <value cell_index="2056" local_entity="0" value="0" />
+ <value cell_index="2057" local_entity="0" value="0" />
+ <value cell_index="2058" local_entity="0" value="0" />
+ <value cell_index="2059" local_entity="0" value="0" />
+ <value cell_index="2060" local_entity="0" value="0" />
+ <value cell_index="2061" local_entity="0" value="0" />
+ <value cell_index="2062" local_entity="0" value="0" />
+ <value cell_index="2063" local_entity="0" value="0" />
+ <value cell_index="2064" local_entity="0" value="0" />
+ <value cell_index="2065" local_entity="0" value="0" />
+ <value cell_index="2066" local_entity="0" value="0" />
+ <value cell_index="2067" local_entity="0" value="0" />
+ <value cell_index="2068" local_entity="0" value="0" />
+ <value cell_index="2069" local_entity="0" value="0" />
+ <value cell_index="2070" local_entity="0" value="0" />
+ <value cell_index="2071" local_entity="0" value="0" />
+ <value cell_index="2072" local_entity="0" value="0" />
+ <value cell_index="2073" local_entity="0" value="0" />
+ <value cell_index="2074" local_entity="0" value="0" />
+ <value cell_index="2075" local_entity="0" value="0" />
+ <value cell_index="2076" local_entity="0" value="0" />
+ <value cell_index="2077" local_entity="0" value="0" />
+ <value cell_index="2078" local_entity="0" value="0" />
+ <value cell_index="2079" local_entity="0" value="0" />
+ <value cell_index="2080" local_entity="0" value="0" />
+ <value cell_index="2081" local_entity="0" value="0" />
+ <value cell_index="2082" local_entity="0" value="0" />
+ <value cell_index="2083" local_entity="0" value="0" />
+ <value cell_index="2084" local_entity="0" value="0" />
+ <value cell_index="2085" local_entity="0" value="0" />
+ <value cell_index="2086" local_entity="0" value="0" />
+ <value cell_index="2087" local_entity="0" value="0" />
+ <value cell_index="2088" local_entity="0" value="0" />
+ <value cell_index="2089" local_entity="0" value="0" />
+ <value cell_index="2090" local_entity="0" value="0" />
+ <value cell_index="2091" local_entity="0" value="0" />
+ <value cell_index="2092" local_entity="0" value="0" />
+ <value cell_index="2093" local_entity="0" value="0" />
+ <value cell_index="2094" local_entity="0" value="0" />
+ <value cell_index="2095" local_entity="0" value="0" />
+ <value cell_index="2096" local_entity="0" value="0" />
+ <value cell_index="2097" local_entity="0" value="0" />
+ <value cell_index="2098" local_entity="0" value="0" />
+ <value cell_index="2099" local_entity="0" value="0" />
+ <value cell_index="2100" local_entity="0" value="0" />
+ <value cell_index="2101" local_entity="0" value="0" />
+ <value cell_index="2102" local_entity="0" value="0" />
+ <value cell_index="2103" local_entity="0" value="0" />
+ <value cell_index="2104" local_entity="0" value="0" />
+ <value cell_index="2105" local_entity="0" value="0" />
+ <value cell_index="2106" local_entity="0" value="0" />
+ <value cell_index="2107" local_entity="0" value="0" />
+ <value cell_index="2108" local_entity="0" value="0" />
+ <value cell_index="2109" local_entity="0" value="0" />
+ <value cell_index="2110" local_entity="0" value="0" />
+ <value cell_index="2111" local_entity="0" value="0" />
+ <value cell_index="2112" local_entity="0" value="0" />
+ <value cell_index="2113" local_entity="0" value="0" />
+ <value cell_index="2114" local_entity="0" value="0" />
+ <value cell_index="2115" local_entity="0" value="0" />
+ <value cell_index="2116" local_entity="0" value="0" />
+ <value cell_index="2117" local_entity="0" value="0" />
+ <value cell_index="2118" local_entity="0" value="0" />
+ <value cell_index="2119" local_entity="0" value="0" />
+ <value cell_index="2120" local_entity="0" value="0" />
+ <value cell_index="2121" local_entity="0" value="0" />
+ <value cell_index="2122" local_entity="0" value="0" />
+ <value cell_index="2123" local_entity="0" value="0" />
+ <value cell_index="2124" local_entity="0" value="0" />
+ <value cell_index="2125" local_entity="0" value="0" />
+ <value cell_index="2126" local_entity="0" value="0" />
+ <value cell_index="2127" local_entity="0" value="0" />
+ <value cell_index="2128" local_entity="0" value="0" />
+ <value cell_index="2129" local_entity="0" value="0" />
+ <value cell_index="2130" local_entity="0" value="0" />
+ <value cell_index="2131" local_entity="0" value="0" />
+ <value cell_index="2132" local_entity="0" value="0" />
+ <value cell_index="2133" local_entity="0" value="0" />
+ <value cell_index="2134" local_entity="0" value="0" />
+ <value cell_index="2135" local_entity="0" value="0" />
+ <value cell_index="2136" local_entity="0" value="0" />
+ <value cell_index="2137" local_entity="0" value="0" />
+ <value cell_index="2138" local_entity="0" value="0" />
+ <value cell_index="2139" local_entity="0" value="0" />
+ <value cell_index="2140" local_entity="0" value="0" />
+ <value cell_index="2141" local_entity="0" value="0" />
+ <value cell_index="2142" local_entity="0" value="0" />
+ <value cell_index="2143" local_entity="0" value="0" />
+ <value cell_index="2144" local_entity="0" value="0" />
+ <value cell_index="2145" local_entity="0" value="0" />
+ <value cell_index="2146" local_entity="0" value="0" />
+ <value cell_index="2147" local_entity="0" value="0" />
+ <value cell_index="2148" local_entity="0" value="0" />
+ <value cell_index="2149" local_entity="0" value="0" />
+ <value cell_index="2150" local_entity="0" value="0" />
+ <value cell_index="2151" local_entity="0" value="0" />
+ <value cell_index="2152" local_entity="0" value="0" />
+ <value cell_index="2153" local_entity="0" value="0" />
+ <value cell_index="2154" local_entity="0" value="0" />
+ <value cell_index="2155" local_entity="0" value="0" />
+ <value cell_index="2156" local_entity="0" value="0" />
+ <value cell_index="2157" local_entity="0" value="0" />
+ <value cell_index="2158" local_entity="0" value="0" />
+ <value cell_index="2159" local_entity="0" value="0" />
+ <value cell_index="2160" local_entity="0" value="0" />
+ <value cell_index="2161" local_entity="0" value="0" />
+ <value cell_index="2162" local_entity="0" value="0" />
+ <value cell_index="2163" local_entity="0" value="0" />
+ <value cell_index="2164" local_entity="0" value="0" />
+ <value cell_index="2165" local_entity="0" value="0" />
+ <value cell_index="2166" local_entity="0" value="0" />
+ <value cell_index="2167" local_entity="0" value="0" />
+ <value cell_index="2168" local_entity="0" value="0" />
+ <value cell_index="2169" local_entity="0" value="0" />
+ <value cell_index="2170" local_entity="0" value="0" />
+ <value cell_index="2171" local_entity="0" value="0" />
+ <value cell_index="2172" local_entity="0" value="0" />
+ <value cell_index="2173" local_entity="0" value="0" />
+ <value cell_index="2174" local_entity="0" value="0" />
+ <value cell_index="2175" local_entity="0" value="0" />
+ <value cell_index="2176" local_entity="0" value="0" />
+ <value cell_index="2177" local_entity="0" value="0" />
+ <value cell_index="2178" local_entity="0" value="0" />
+ <value cell_index="2179" local_entity="0" value="0" />
+ <value cell_index="2180" local_entity="0" value="0" />
+ <value cell_index="2181" local_entity="0" value="0" />
+ <value cell_index="2182" local_entity="0" value="0" />
+ <value cell_index="2183" local_entity="0" value="0" />
+ <value cell_index="2184" local_entity="0" value="0" />
+ <value cell_index="2185" local_entity="0" value="0" />
+ <value cell_index="2186" local_entity="0" value="0" />
+ <value cell_index="2187" local_entity="0" value="0" />
+ <value cell_index="2188" local_entity="0" value="0" />
+ <value cell_index="2189" local_entity="0" value="0" />
+ <value cell_index="2190" local_entity="0" value="0" />
+ <value cell_index="2191" local_entity="0" value="0" />
+ <value cell_index="2192" local_entity="0" value="0" />
+ <value cell_index="2193" local_entity="0" value="0" />
+ <value cell_index="2194" local_entity="0" value="0" />
+ <value cell_index="2195" local_entity="0" value="0" />
+ <value cell_index="2196" local_entity="0" value="0" />
+ <value cell_index="2197" local_entity="0" value="0" />
+ <value cell_index="2198" local_entity="0" value="0" />
+ <value cell_index="2199" local_entity="0" value="0" />
+ <value cell_index="2200" local_entity="0" value="0" />
+ <value cell_index="2201" local_entity="0" value="0" />
+ <value cell_index="2202" local_entity="0" value="0" />
+ <value cell_index="2203" local_entity="0" value="0" />
+ <value cell_index="2204" local_entity="0" value="0" />
+ <value cell_index="2205" local_entity="0" value="0" />
+ <value cell_index="2206" local_entity="0" value="0" />
+ <value cell_index="2207" local_entity="0" value="0" />
+ <value cell_index="2208" local_entity="0" value="0" />
+ <value cell_index="2209" local_entity="0" value="0" />
+ <value cell_index="2210" local_entity="0" value="0" />
+ <value cell_index="2211" local_entity="0" value="0" />
+ <value cell_index="2212" local_entity="0" value="0" />
+ <value cell_index="2213" local_entity="0" value="0" />
+ <value cell_index="2214" local_entity="0" value="0" />
+ <value cell_index="2215" local_entity="0" value="0" />
+ <value cell_index="2216" local_entity="0" value="0" />
+ <value cell_index="2217" local_entity="0" value="0" />
+ <value cell_index="2218" local_entity="0" value="0" />
+ <value cell_index="2219" local_entity="0" value="0" />
+ <value cell_index="2220" local_entity="0" value="0" />
+ <value cell_index="2221" local_entity="0" value="0" />
+ <value cell_index="2222" local_entity="0" value="0" />
+ <value cell_index="2223" local_entity="0" value="0" />
+ <value cell_index="2224" local_entity="0" value="0" />
+ <value cell_index="2225" local_entity="0" value="0" />
+ <value cell_index="2226" local_entity="0" value="0" />
+ <value cell_index="2227" local_entity="0" value="0" />
+ <value cell_index="2228" local_entity="0" value="0" />
+ <value cell_index="2229" local_entity="0" value="0" />
+ <value cell_index="2230" local_entity="0" value="0" />
+ <value cell_index="2231" local_entity="0" value="0" />
+ <value cell_index="2232" local_entity="0" value="0" />
+ <value cell_index="2233" local_entity="0" value="0" />
+ <value cell_index="2234" local_entity="0" value="0" />
+ <value cell_index="2235" local_entity="0" value="0" />
+ <value cell_index="2236" local_entity="0" value="0" />
+ <value cell_index="2237" local_entity="0" value="0" />
+ <value cell_index="2238" local_entity="0" value="0" />
+ <value cell_index="2239" local_entity="0" value="0" />
+ <value cell_index="2240" local_entity="0" value="0" />
+ <value cell_index="2241" local_entity="0" value="0" />
+ <value cell_index="2242" local_entity="0" value="0" />
+ <value cell_index="2243" local_entity="0" value="0" />
+ <value cell_index="2244" local_entity="0" value="0" />
+ <value cell_index="2245" local_entity="0" value="0" />
+ <value cell_index="2246" local_entity="0" value="0" />
+ <value cell_index="2247" local_entity="0" value="0" />
+ <value cell_index="2248" local_entity="0" value="0" />
+ <value cell_index="2249" local_entity="0" value="0" />
+ <value cell_index="2250" local_entity="0" value="0" />
+ <value cell_index="2251" local_entity="0" value="0" />
+ <value cell_index="2252" local_entity="0" value="0" />
+ <value cell_index="2253" local_entity="0" value="0" />
+ <value cell_index="2254" local_entity="0" value="0" />
+ <value cell_index="2255" local_entity="0" value="0" />
+ <value cell_index="2256" local_entity="0" value="0" />
+ <value cell_index="2257" local_entity="0" value="0" />
+ <value cell_index="2258" local_entity="0" value="0" />
+ <value cell_index="2259" local_entity="0" value="0" />
+ <value cell_index="2260" local_entity="0" value="0" />
+ <value cell_index="2261" local_entity="0" value="0" />
+ <value cell_index="2262" local_entity="0" value="0" />
+ <value cell_index="2263" local_entity="0" value="0" />
+ <value cell_index="2264" local_entity="0" value="0" />
+ <value cell_index="2265" local_entity="0" value="0" />
+ <value cell_index="2266" local_entity="0" value="0" />
+ <value cell_index="2267" local_entity="0" value="0" />
+ <value cell_index="2268" local_entity="0" value="0" />
+ <value cell_index="2269" local_entity="0" value="0" />
+ <value cell_index="2270" local_entity="0" value="0" />
+ <value cell_index="2271" local_entity="0" value="0" />
+ <value cell_index="2272" local_entity="0" value="0" />
+ <value cell_index="2273" local_entity="0" value="0" />
+ <value cell_index="2274" local_entity="0" value="0" />
+ <value cell_index="2275" local_entity="0" value="0" />
+ <value cell_index="2276" local_entity="0" value="0" />
+ <value cell_index="2277" local_entity="0" value="0" />
+ <value cell_index="2278" local_entity="0" value="0" />
+ <value cell_index="2279" local_entity="0" value="0" />
+ <value cell_index="2280" local_entity="0" value="0" />
+ <value cell_index="2281" local_entity="0" value="0" />
+ <value cell_index="2282" local_entity="0" value="0" />
+ <value cell_index="2283" local_entity="0" value="0" />
+ <value cell_index="2284" local_entity="0" value="0" />
+ <value cell_index="2285" local_entity="0" value="0" />
+ <value cell_index="2286" local_entity="0" value="0" />
+ <value cell_index="2287" local_entity="0" value="0" />
+ <value cell_index="2288" local_entity="0" value="0" />
+ <value cell_index="2289" local_entity="0" value="0" />
+ <value cell_index="2290" local_entity="0" value="0" />
+ <value cell_index="2291" local_entity="0" value="0" />
+ <value cell_index="2292" local_entity="0" value="0" />
+ <value cell_index="2293" local_entity="0" value="0" />
+ <value cell_index="2294" local_entity="0" value="0" />
+ <value cell_index="2295" local_entity="0" value="0" />
+ <value cell_index="2296" local_entity="0" value="0" />
+ <value cell_index="2297" local_entity="0" value="0" />
+ <value cell_index="2298" local_entity="0" value="0" />
+ <value cell_index="2299" local_entity="0" value="0" />
+ <value cell_index="2300" local_entity="0" value="0" />
+ <value cell_index="2301" local_entity="0" value="0" />
+ <value cell_index="2302" local_entity="0" value="0" />
+ <value cell_index="2303" local_entity="0" value="0" />
+ <value cell_index="2304" local_entity="0" value="0" />
+ <value cell_index="2305" local_entity="0" value="0" />
+ <value cell_index="2306" local_entity="0" value="0" />
+ <value cell_index="2307" local_entity="0" value="0" />
+ <value cell_index="2308" local_entity="0" value="0" />
+ <value cell_index="2309" local_entity="0" value="0" />
+ <value cell_index="2310" local_entity="0" value="0" />
+ <value cell_index="2311" local_entity="0" value="0" />
+ <value cell_index="2312" local_entity="0" value="0" />
+ <value cell_index="2313" local_entity="0" value="0" />
+ <value cell_index="2314" local_entity="0" value="0" />
+ <value cell_index="2315" local_entity="0" value="0" />
+ <value cell_index="2316" local_entity="0" value="0" />
+ <value cell_index="2317" local_entity="0" value="0" />
+ <value cell_index="2318" local_entity="0" value="0" />
+ <value cell_index="2319" local_entity="0" value="0" />
+ <value cell_index="2320" local_entity="0" value="0" />
+ <value cell_index="2321" local_entity="0" value="0" />
+ <value cell_index="2322" local_entity="0" value="0" />
+ <value cell_index="2323" local_entity="0" value="0" />
+ <value cell_index="2324" local_entity="0" value="0" />
+ <value cell_index="2325" local_entity="0" value="0" />
+ <value cell_index="2326" local_entity="0" value="0" />
+ <value cell_index="2327" local_entity="0" value="0" />
+ <value cell_index="2328" local_entity="0" value="0" />
+ <value cell_index="2329" local_entity="0" value="0" />
+ <value cell_index="2330" local_entity="0" value="0" />
+ <value cell_index="2331" local_entity="0" value="0" />
+ <value cell_index="2332" local_entity="0" value="0" />
+ <value cell_index="2333" local_entity="0" value="0" />
+ <value cell_index="2334" local_entity="0" value="0" />
+ <value cell_index="2335" local_entity="0" value="0" />
+ <value cell_index="2336" local_entity="0" value="0" />
+ <value cell_index="2337" local_entity="0" value="0" />
+ <value cell_index="2338" local_entity="0" value="0" />
+ <value cell_index="2339" local_entity="0" value="0" />
+ <value cell_index="2340" local_entity="0" value="0" />
+ <value cell_index="2341" local_entity="0" value="0" />
+ <value cell_index="2342" local_entity="0" value="0" />
+ <value cell_index="2343" local_entity="0" value="0" />
+ <value cell_index="2344" local_entity="0" value="0" />
+ <value cell_index="2345" local_entity="0" value="0" />
+ <value cell_index="2346" local_entity="0" value="0" />
+ <value cell_index="2347" local_entity="0" value="0" />
+ <value cell_index="2348" local_entity="0" value="0" />
+ <value cell_index="2349" local_entity="0" value="0" />
+ <value cell_index="2350" local_entity="0" value="0" />
+ <value cell_index="2351" local_entity="0" value="0" />
+ <value cell_index="2352" local_entity="0" value="0" />
+ <value cell_index="2353" local_entity="0" value="0" />
+ <value cell_index="2354" local_entity="0" value="0" />
+ <value cell_index="2355" local_entity="0" value="0" />
+ <value cell_index="2356" local_entity="0" value="0" />
+ <value cell_index="2357" local_entity="0" value="0" />
+ <value cell_index="2358" local_entity="0" value="0" />
+ <value cell_index="2359" local_entity="0" value="0" />
+ <value cell_index="2360" local_entity="0" value="0" />
+ <value cell_index="2361" local_entity="0" value="0" />
+ <value cell_index="2362" local_entity="0" value="0" />
+ <value cell_index="2363" local_entity="0" value="0" />
+ <value cell_index="2364" local_entity="0" value="0" />
+ <value cell_index="2365" local_entity="0" value="0" />
+ <value cell_index="2366" local_entity="0" value="0" />
+ <value cell_index="2367" local_entity="0" value="0" />
+ <value cell_index="2368" local_entity="0" value="0" />
+ <value cell_index="2369" local_entity="0" value="0" />
+ <value cell_index="2370" local_entity="0" value="0" />
+ <value cell_index="2371" local_entity="0" value="0" />
+ <value cell_index="2372" local_entity="0" value="0" />
+ <value cell_index="2373" local_entity="0" value="0" />
+ <value cell_index="2374" local_entity="0" value="0" />
+ <value cell_index="2375" local_entity="0" value="0" />
+ <value cell_index="2376" local_entity="0" value="0" />
+ <value cell_index="2377" local_entity="0" value="0" />
+ <value cell_index="2378" local_entity="0" value="0" />
+ <value cell_index="2379" local_entity="0" value="0" />
+ <value cell_index="2380" local_entity="0" value="0" />
+ <value cell_index="2381" local_entity="0" value="0" />
+ <value cell_index="2382" local_entity="0" value="0" />
+ <value cell_index="2383" local_entity="0" value="0" />
+ <value cell_index="2384" local_entity="0" value="0" />
+ <value cell_index="2385" local_entity="0" value="0" />
+ <value cell_index="2386" local_entity="0" value="0" />
+ <value cell_index="2387" local_entity="0" value="0" />
+ <value cell_index="2388" local_entity="0" value="0" />
+ <value cell_index="2389" local_entity="0" value="0" />
+ <value cell_index="2390" local_entity="0" value="0" />
+ <value cell_index="2391" local_entity="0" value="0" />
+ <value cell_index="2392" local_entity="0" value="0" />
+ <value cell_index="2393" local_entity="0" value="0" />
+ <value cell_index="2394" local_entity="0" value="0" />
+ <value cell_index="2395" local_entity="0" value="0" />
+ <value cell_index="2396" local_entity="0" value="0" />
+ <value cell_index="2397" local_entity="0" value="0" />
+ <value cell_index="2398" local_entity="0" value="0" />
+ <value cell_index="2399" local_entity="0" value="0" />
+ <value cell_index="2400" local_entity="0" value="0" />
+ <value cell_index="2401" local_entity="0" value="0" />
+ <value cell_index="2402" local_entity="0" value="0" />
+ <value cell_index="2403" local_entity="0" value="0" />
+ <value cell_index="2404" local_entity="0" value="0" />
+ <value cell_index="2405" local_entity="0" value="0" />
+ <value cell_index="2406" local_entity="0" value="0" />
+ <value cell_index="2407" local_entity="0" value="0" />
+ <value cell_index="2408" local_entity="0" value="0" />
+ <value cell_index="2409" local_entity="0" value="0" />
+ <value cell_index="2410" local_entity="0" value="0" />
+ <value cell_index="2411" local_entity="0" value="0" />
+ <value cell_index="2412" local_entity="0" value="0" />
+ <value cell_index="2413" local_entity="0" value="0" />
+ <value cell_index="2414" local_entity="0" value="0" />
+ <value cell_index="2415" local_entity="0" value="0" />
+ <value cell_index="2416" local_entity="0" value="0" />
+ <value cell_index="2417" local_entity="0" value="0" />
+ <value cell_index="2418" local_entity="0" value="0" />
+ <value cell_index="2419" local_entity="0" value="0" />
+ <value cell_index="2420" local_entity="0" value="0" />
+ <value cell_index="2421" local_entity="0" value="0" />
+ <value cell_index="2422" local_entity="0" value="0" />
+ <value cell_index="2423" local_entity="0" value="0" />
+ <value cell_index="2424" local_entity="0" value="0" />
+ <value cell_index="2425" local_entity="0" value="0" />
+ <value cell_index="2426" local_entity="0" value="0" />
+ <value cell_index="2427" local_entity="0" value="0" />
+ <value cell_index="2428" local_entity="0" value="0" />
+ <value cell_index="2429" local_entity="0" value="0" />
+ <value cell_index="2430" local_entity="0" value="0" />
+ <value cell_index="2431" local_entity="0" value="0" />
+ <value cell_index="2432" local_entity="0" value="0" />
+ <value cell_index="2433" local_entity="0" value="0" />
+ <value cell_index="2434" local_entity="0" value="0" />
+ <value cell_index="2435" local_entity="0" value="0" />
+ <value cell_index="2436" local_entity="0" value="0" />
+ <value cell_index="2437" local_entity="0" value="0" />
+ <value cell_index="2438" local_entity="0" value="0" />
+ <value cell_index="2439" local_entity="0" value="0" />
+ <value cell_index="2440" local_entity="0" value="0" />
+ <value cell_index="2441" local_entity="0" value="0" />
+ <value cell_index="2442" local_entity="0" value="0" />
+ <value cell_index="2443" local_entity="0" value="0" />
+ <value cell_index="2444" local_entity="0" value="0" />
+ <value cell_index="2445" local_entity="0" value="0" />
+ <value cell_index="2446" local_entity="0" value="0" />
+ <value cell_index="2447" local_entity="0" value="0" />
+ <value cell_index="2448" local_entity="0" value="0" />
+ <value cell_index="2449" local_entity="0" value="0" />
+ <value cell_index="2450" local_entity="0" value="0" />
+ <value cell_index="2451" local_entity="0" value="0" />
+ <value cell_index="2452" local_entity="0" value="0" />
+ <value cell_index="2453" local_entity="0" value="0" />
+ <value cell_index="2454" local_entity="0" value="0" />
+ <value cell_index="2455" local_entity="0" value="0" />
+ <value cell_index="2456" local_entity="0" value="0" />
+ <value cell_index="2457" local_entity="0" value="0" />
+ <value cell_index="2458" local_entity="0" value="0" />
+ <value cell_index="2459" local_entity="0" value="0" />
+ <value cell_index="2460" local_entity="0" value="0" />
+ <value cell_index="2461" local_entity="0" value="0" />
+ <value cell_index="2462" local_entity="0" value="0" />
+ <value cell_index="2463" local_entity="0" value="0" />
+ <value cell_index="2464" local_entity="0" value="0" />
+ <value cell_index="2465" local_entity="0" value="0" />
+ <value cell_index="2466" local_entity="0" value="0" />
+ <value cell_index="2467" local_entity="0" value="0" />
+ <value cell_index="2468" local_entity="0" value="0" />
+ <value cell_index="2469" local_entity="0" value="0" />
+ <value cell_index="2470" local_entity="0" value="0" />
+ <value cell_index="2471" local_entity="0" value="0" />
+ <value cell_index="2472" local_entity="0" value="0" />
+ <value cell_index="2473" local_entity="0" value="0" />
+ <value cell_index="2474" local_entity="0" value="0" />
+ <value cell_index="2475" local_entity="0" value="0" />
+ <value cell_index="2476" local_entity="0" value="0" />
+ <value cell_index="2477" local_entity="0" value="0" />
+ <value cell_index="2478" local_entity="0" value="0" />
+ <value cell_index="2479" local_entity="0" value="0" />
+ <value cell_index="2480" local_entity="0" value="0" />
+ <value cell_index="2481" local_entity="0" value="0" />
+ <value cell_index="2482" local_entity="0" value="0" />
+ <value cell_index="2483" local_entity="0" value="0" />
+ <value cell_index="2484" local_entity="0" value="0" />
+ <value cell_index="2485" local_entity="0" value="0" />
+ <value cell_index="2486" local_entity="0" value="0" />
+ <value cell_index="2487" local_entity="0" value="0" />
+ <value cell_index="2488" local_entity="0" value="0" />
+ <value cell_index="2489" local_entity="0" value="0" />
+ <value cell_index="2490" local_entity="0" value="0" />
+ <value cell_index="2491" local_entity="0" value="0" />
+ <value cell_index="2492" local_entity="0" value="0" />
+ <value cell_index="2493" local_entity="0" value="0" />
+ <value cell_index="2494" local_entity="0" value="0" />
+ <value cell_index="2495" local_entity="0" value="0" />
+ <value cell_index="2496" local_entity="0" value="0" />
+ <value cell_index="2497" local_entity="0" value="0" />
+ <value cell_index="2498" local_entity="0" value="0" />
+ <value cell_index="2499" local_entity="0" value="0" />
+ <value cell_index="2500" local_entity="0" value="0" />
+ <value cell_index="2501" local_entity="0" value="0" />
+ <value cell_index="2502" local_entity="0" value="0" />
+ <value cell_index="2503" local_entity="0" value="0" />
+ <value cell_index="2504" local_entity="0" value="0" />
+ <value cell_index="2505" local_entity="0" value="0" />
+ <value cell_index="2506" local_entity="0" value="0" />
+ <value cell_index="2507" local_entity="0" value="0" />
+ <value cell_index="2508" local_entity="0" value="0" />
+ <value cell_index="2509" local_entity="0" value="0" />
+ <value cell_index="2510" local_entity="0" value="0" />
+ <value cell_index="2511" local_entity="0" value="0" />
+ <value cell_index="2512" local_entity="0" value="0" />
+ <value cell_index="2513" local_entity="0" value="0" />
+ <value cell_index="2514" local_entity="0" value="0" />
+ <value cell_index="2515" local_entity="0" value="0" />
+ <value cell_index="2516" local_entity="0" value="0" />
+ <value cell_index="2517" local_entity="0" value="0" />
+ <value cell_index="2518" local_entity="0" value="0" />
+ <value cell_index="2519" local_entity="0" value="0" />
+ <value cell_index="2520" local_entity="0" value="0" />
+ <value cell_index="2521" local_entity="0" value="0" />
+ <value cell_index="2522" local_entity="0" value="0" />
+ <value cell_index="2523" local_entity="0" value="0" />
+ <value cell_index="2524" local_entity="0" value="0" />
+ <value cell_index="2525" local_entity="0" value="0" />
+ <value cell_index="2526" local_entity="0" value="0" />
+ <value cell_index="2527" local_entity="0" value="0" />
+ <value cell_index="2528" local_entity="0" value="0" />
+ <value cell_index="2529" local_entity="0" value="0" />
+ <value cell_index="2530" local_entity="0" value="0" />
+ <value cell_index="2531" local_entity="0" value="0" />
+ <value cell_index="2532" local_entity="0" value="0" />
+ <value cell_index="2533" local_entity="0" value="0" />
+ <value cell_index="2534" local_entity="0" value="0" />
+ <value cell_index="2535" local_entity="0" value="0" />
+ <value cell_index="2536" local_entity="0" value="0" />
+ <value cell_index="2537" local_entity="0" value="0" />
+ <value cell_index="2538" local_entity="0" value="0" />
+ <value cell_index="2539" local_entity="0" value="0" />
+ <value cell_index="2540" local_entity="0" value="0" />
+ <value cell_index="2541" local_entity="0" value="0" />
+ <value cell_index="2542" local_entity="0" value="0" />
+ <value cell_index="2543" local_entity="0" value="0" />
+ <value cell_index="2544" local_entity="0" value="0" />
+ <value cell_index="2545" local_entity="0" value="0" />
+ <value cell_index="2546" local_entity="0" value="0" />
+ <value cell_index="2547" local_entity="0" value="0" />
+ <value cell_index="2548" local_entity="0" value="0" />
+ <value cell_index="2549" local_entity="0" value="0" />
+ <value cell_index="2550" local_entity="0" value="0" />
+ <value cell_index="2551" local_entity="0" value="0" />
+ <value cell_index="2552" local_entity="0" value="0" />
+ <value cell_index="2553" local_entity="0" value="0" />
+ <value cell_index="2554" local_entity="0" value="0" />
+ <value cell_index="2555" local_entity="0" value="0" />
+ <value cell_index="2556" local_entity="0" value="0" />
+ <value cell_index="2557" local_entity="0" value="0" />
+ <value cell_index="2558" local_entity="0" value="0" />
+ <value cell_index="2559" local_entity="0" value="0" />
+ <value cell_index="2560" local_entity="0" value="0" />
+ <value cell_index="2561" local_entity="0" value="0" />
+ <value cell_index="2562" local_entity="0" value="0" />
+ <value cell_index="2563" local_entity="0" value="0" />
+ <value cell_index="2564" local_entity="0" value="0" />
+ <value cell_index="2565" local_entity="0" value="0" />
+ <value cell_index="2566" local_entity="0" value="0" />
+ <value cell_index="2567" local_entity="0" value="0" />
+ <value cell_index="2568" local_entity="0" value="0" />
+ <value cell_index="2569" local_entity="0" value="0" />
+ <value cell_index="2570" local_entity="0" value="0" />
+ <value cell_index="2571" local_entity="0" value="0" />
+ <value cell_index="2572" local_entity="0" value="0" />
+ <value cell_index="2573" local_entity="0" value="0" />
+ <value cell_index="2574" local_entity="0" value="0" />
+ <value cell_index="2575" local_entity="0" value="0" />
+ <value cell_index="2576" local_entity="0" value="0" />
+ <value cell_index="2577" local_entity="0" value="0" />
+ <value cell_index="2578" local_entity="0" value="0" />
+ <value cell_index="2579" local_entity="0" value="0" />
+ <value cell_index="2580" local_entity="0" value="0" />
+ <value cell_index="2581" local_entity="0" value="0" />
+ <value cell_index="2582" local_entity="0" value="0" />
+ <value cell_index="2583" local_entity="0" value="0" />
+ <value cell_index="2584" local_entity="0" value="0" />
+ <value cell_index="2585" local_entity="0" value="0" />
+ <value cell_index="2586" local_entity="0" value="0" />
+ <value cell_index="2587" local_entity="0" value="0" />
+ <value cell_index="2588" local_entity="0" value="0" />
+ <value cell_index="2589" local_entity="0" value="0" />
+ <value cell_index="2590" local_entity="0" value="0" />
+ <value cell_index="2591" local_entity="0" value="0" />
+ <value cell_index="2592" local_entity="0" value="0" />
+ <value cell_index="2593" local_entity="0" value="0" />
+ <value cell_index="2594" local_entity="0" value="0" />
+ <value cell_index="2595" local_entity="0" value="0" />
+ <value cell_index="2596" local_entity="0" value="0" />
+ <value cell_index="2597" local_entity="0" value="0" />
+ <value cell_index="2598" local_entity="0" value="0" />
+ <value cell_index="2599" local_entity="0" value="0" />
+ <value cell_index="2600" local_entity="0" value="0" />
+ <value cell_index="2601" local_entity="0" value="0" />
+ <value cell_index="2602" local_entity="0" value="0" />
+ <value cell_index="2603" local_entity="0" value="0" />
+ <value cell_index="2604" local_entity="0" value="0" />
+ <value cell_index="2605" local_entity="0" value="0" />
+ <value cell_index="2606" local_entity="0" value="0" />
+ <value cell_index="2607" local_entity="0" value="0" />
+ <value cell_index="2608" local_entity="0" value="0" />
+ <value cell_index="2609" local_entity="0" value="0" />
+ <value cell_index="2610" local_entity="0" value="0" />
+ <value cell_index="2611" local_entity="0" value="0" />
+ <value cell_index="2612" local_entity="0" value="0" />
+ <value cell_index="2613" local_entity="0" value="0" />
+ <value cell_index="2614" local_entity="0" value="0" />
+ <value cell_index="2615" local_entity="0" value="0" />
+ <value cell_index="2616" local_entity="0" value="0" />
+ <value cell_index="2617" local_entity="0" value="0" />
+ <value cell_index="2618" local_entity="0" value="0" />
+ <value cell_index="2619" local_entity="0" value="0" />
+ <value cell_index="2620" local_entity="0" value="0" />
+ <value cell_index="2621" local_entity="0" value="0" />
+ <value cell_index="2622" local_entity="0" value="0" />
+ <value cell_index="2623" local_entity="0" value="0" />
+ <value cell_index="2624" local_entity="0" value="0" />
+ <value cell_index="2625" local_entity="0" value="0" />
+ <value cell_index="2626" local_entity="0" value="0" />
+ <value cell_index="2627" local_entity="0" value="0" />
+ <value cell_index="2628" local_entity="0" value="0" />
+ <value cell_index="2629" local_entity="0" value="0" />
+ <value cell_index="2630" local_entity="0" value="0" />
+ <value cell_index="2631" local_entity="0" value="0" />
+ <value cell_index="2632" local_entity="0" value="0" />
+ <value cell_index="2633" local_entity="0" value="0" />
+ <value cell_index="2634" local_entity="0" value="0" />
+ <value cell_index="2635" local_entity="0" value="0" />
+ <value cell_index="2636" local_entity="0" value="0" />
+ <value cell_index="2637" local_entity="0" value="0" />
+ <value cell_index="2638" local_entity="0" value="0" />
+ <value cell_index="2639" local_entity="0" value="0" />
+ <value cell_index="2640" local_entity="0" value="0" />
+ <value cell_index="2641" local_entity="0" value="0" />
+ <value cell_index="2642" local_entity="0" value="0" />
+ <value cell_index="2643" local_entity="0" value="0" />
+ <value cell_index="2644" local_entity="0" value="0" />
+ <value cell_index="2645" local_entity="0" value="0" />
+ <value cell_index="2646" local_entity="0" value="0" />
+ <value cell_index="2647" local_entity="0" value="0" />
+ <value cell_index="2648" local_entity="0" value="0" />
+ <value cell_index="2649" local_entity="0" value="0" />
+ <value cell_index="2650" local_entity="0" value="0" />
+ <value cell_index="2651" local_entity="0" value="0" />
+ <value cell_index="2652" local_entity="0" value="0" />
+ <value cell_index="2653" local_entity="0" value="0" />
+ <value cell_index="2654" local_entity="0" value="0" />
+ <value cell_index="2655" local_entity="0" value="0" />
+ <value cell_index="2656" local_entity="0" value="0" />
+ <value cell_index="2657" local_entity="0" value="0" />
+ <value cell_index="2658" local_entity="0" value="0" />
+ <value cell_index="2659" local_entity="0" value="0" />
+ <value cell_index="2660" local_entity="0" value="0" />
+ <value cell_index="2661" local_entity="0" value="0" />
+ <value cell_index="2662" local_entity="0" value="0" />
+ <value cell_index="2663" local_entity="0" value="0" />
+ <value cell_index="2664" local_entity="0" value="0" />
+ <value cell_index="2665" local_entity="0" value="0" />
+ <value cell_index="2666" local_entity="0" value="0" />
+ <value cell_index="2667" local_entity="0" value="0" />
+ <value cell_index="2668" local_entity="0" value="0" />
+ <value cell_index="2669" local_entity="0" value="0" />
+ <value cell_index="2670" local_entity="0" value="0" />
+ <value cell_index="2671" local_entity="0" value="0" />
+ <value cell_index="2672" local_entity="0" value="0" />
+ <value cell_index="2673" local_entity="0" value="0" />
+ <value cell_index="2674" local_entity="0" value="0" />
+ <value cell_index="2675" local_entity="0" value="0" />
+ <value cell_index="2676" local_entity="0" value="0" />
+ <value cell_index="2677" local_entity="0" value="0" />
+ <value cell_index="2678" local_entity="0" value="0" />
+ <value cell_index="2679" local_entity="0" value="0" />
+ <value cell_index="2680" local_entity="0" value="0" />
+ <value cell_index="2681" local_entity="0" value="0" />
+ <value cell_index="2682" local_entity="0" value="0" />
+ <value cell_index="2683" local_entity="0" value="0" />
+ <value cell_index="2684" local_entity="0" value="0" />
+ <value cell_index="2685" local_entity="0" value="0" />
+ <value cell_index="2686" local_entity="0" value="0" />
+ <value cell_index="2687" local_entity="0" value="0" />
+ <value cell_index="2688" local_entity="0" value="0" />
+ <value cell_index="2689" local_entity="0" value="0" />
+ <value cell_index="2690" local_entity="0" value="0" />
+ <value cell_index="2691" local_entity="0" value="0" />
+ <value cell_index="2692" local_entity="0" value="0" />
+ <value cell_index="2693" local_entity="0" value="0" />
+ <value cell_index="2694" local_entity="0" value="0" />
+ <value cell_index="2695" local_entity="0" value="0" />
+ <value cell_index="2696" local_entity="0" value="0" />
+ <value cell_index="2697" local_entity="0" value="0" />
+ <value cell_index="2698" local_entity="0" value="0" />
+ <value cell_index="2699" local_entity="0" value="0" />
+ <value cell_index="2700" local_entity="0" value="0" />
+ <value cell_index="2701" local_entity="0" value="0" />
+ <value cell_index="2702" local_entity="0" value="0" />
+ <value cell_index="2703" local_entity="0" value="0" />
+ <value cell_index="2704" local_entity="0" value="0" />
+ <value cell_index="2705" local_entity="0" value="0" />
+ <value cell_index="2706" local_entity="0" value="0" />
+ <value cell_index="2707" local_entity="0" value="0" />
+ <value cell_index="2708" local_entity="0" value="0" />
+ <value cell_index="2709" local_entity="0" value="0" />
+ <value cell_index="2710" local_entity="0" value="0" />
+ <value cell_index="2711" local_entity="0" value="0" />
+ <value cell_index="2712" local_entity="0" value="0" />
+ <value cell_index="2713" local_entity="0" value="0" />
+ <value cell_index="2714" local_entity="0" value="0" />
+ <value cell_index="2715" local_entity="0" value="0" />
+ <value cell_index="2716" local_entity="0" value="0" />
+ <value cell_index="2717" local_entity="0" value="0" />
+ <value cell_index="2718" local_entity="0" value="0" />
+ <value cell_index="2719" local_entity="0" value="0" />
+ <value cell_index="2720" local_entity="0" value="0" />
+ <value cell_index="2721" local_entity="0" value="0" />
+ <value cell_index="2722" local_entity="0" value="0" />
+ <value cell_index="2723" local_entity="0" value="0" />
+ <value cell_index="2724" local_entity="0" value="0" />
+ <value cell_index="2725" local_entity="0" value="0" />
+ <value cell_index="2726" local_entity="0" value="0" />
+ <value cell_index="2727" local_entity="0" value="0" />
+ <value cell_index="2728" local_entity="0" value="0" />
+ <value cell_index="2729" local_entity="0" value="0" />
+ <value cell_index="2730" local_entity="0" value="0" />
+ <value cell_index="2731" local_entity="0" value="0" />
+ <value cell_index="2732" local_entity="0" value="0" />
+ <value cell_index="2733" local_entity="0" value="0" />
+ <value cell_index="2734" local_entity="0" value="0" />
+ <value cell_index="2735" local_entity="0" value="0" />
+ <value cell_index="2736" local_entity="0" value="0" />
+ <value cell_index="2737" local_entity="0" value="0" />
+ <value cell_index="2738" local_entity="0" value="0" />
+ <value cell_index="2739" local_entity="0" value="0" />
+ <value cell_index="2740" local_entity="0" value="0" />
+ <value cell_index="2741" local_entity="0" value="0" />
+ <value cell_index="2742" local_entity="0" value="0" />
+ <value cell_index="2743" local_entity="0" value="0" />
+ <value cell_index="2744" local_entity="0" value="0" />
+ <value cell_index="2745" local_entity="0" value="0" />
+ <value cell_index="2746" local_entity="0" value="0" />
+ <value cell_index="2747" local_entity="0" value="0" />
+ <value cell_index="2748" local_entity="0" value="0" />
+ <value cell_index="2749" local_entity="0" value="0" />
+ <value cell_index="2750" local_entity="0" value="0" />
+ <value cell_index="2751" local_entity="0" value="0" />
+ <value cell_index="2752" local_entity="0" value="0" />
+ <value cell_index="2753" local_entity="0" value="0" />
+ <value cell_index="2754" local_entity="0" value="0" />
+ <value cell_index="2755" local_entity="0" value="0" />
+ <value cell_index="2756" local_entity="0" value="0" />
+ <value cell_index="2757" local_entity="0" value="0" />
+ <value cell_index="2758" local_entity="0" value="0" />
+ <value cell_index="2759" local_entity="0" value="0" />
+ <value cell_index="2760" local_entity="0" value="0" />
+ <value cell_index="2761" local_entity="0" value="0" />
+ <value cell_index="2762" local_entity="0" value="0" />
+ <value cell_index="2763" local_entity="0" value="0" />
+ <value cell_index="2764" local_entity="0" value="0" />
+ <value cell_index="2765" local_entity="0" value="0" />
+ <value cell_index="2766" local_entity="0" value="0" />
+ <value cell_index="2767" local_entity="0" value="0" />
+ <value cell_index="2768" local_entity="0" value="0" />
+ <value cell_index="2769" local_entity="0" value="0" />
+ <value cell_index="2770" local_entity="0" value="0" />
+ <value cell_index="2771" local_entity="0" value="0" />
+ <value cell_index="2772" local_entity="0" value="0" />
+ <value cell_index="2773" local_entity="0" value="0" />
+ <value cell_index="2774" local_entity="0" value="0" />
+ <value cell_index="2775" local_entity="0" value="0" />
+ <value cell_index="2776" local_entity="0" value="0" />
+ <value cell_index="2777" local_entity="0" value="0" />
+ <value cell_index="2778" local_entity="0" value="0" />
+ <value cell_index="2779" local_entity="0" value="0" />
+ <value cell_index="2780" local_entity="0" value="0" />
+ <value cell_index="2781" local_entity="0" value="0" />
+ <value cell_index="2782" local_entity="0" value="0" />
+ <value cell_index="2783" local_entity="0" value="0" />
+ <value cell_index="2784" local_entity="0" value="0" />
+ <value cell_index="2785" local_entity="0" value="0" />
+ <value cell_index="2786" local_entity="0" value="0" />
+ <value cell_index="2787" local_entity="0" value="0" />
+ <value cell_index="2788" local_entity="0" value="0" />
+ <value cell_index="2789" local_entity="0" value="0" />
+ <value cell_index="2790" local_entity="0" value="0" />
+ <value cell_index="2791" local_entity="0" value="0" />
+ <value cell_index="2792" local_entity="0" value="0" />
+ <value cell_index="2793" local_entity="0" value="0" />
+ <value cell_index="2794" local_entity="0" value="0" />
+ <value cell_index="2795" local_entity="0" value="0" />
+ <value cell_index="2796" local_entity="0" value="0" />
+ <value cell_index="2797" local_entity="0" value="0" />
+ <value cell_index="2798" local_entity="0" value="0" />
+ <value cell_index="2799" local_entity="0" value="0" />
+ <value cell_index="2800" local_entity="0" value="0" />
+ <value cell_index="2801" local_entity="0" value="0" />
+ <value cell_index="2802" local_entity="0" value="0" />
+ <value cell_index="2803" local_entity="0" value="0" />
+ <value cell_index="2804" local_entity="0" value="0" />
+ <value cell_index="2805" local_entity="0" value="0" />
+ <value cell_index="2806" local_entity="0" value="0" />
+ <value cell_index="2807" local_entity="0" value="0" />
+ <value cell_index="2808" local_entity="0" value="0" />
+ <value cell_index="2809" local_entity="0" value="0" />
+ <value cell_index="2810" local_entity="0" value="0" />
+ <value cell_index="2811" local_entity="0" value="0" />
+ <value cell_index="2812" local_entity="0" value="0" />
+ <value cell_index="2813" local_entity="0" value="0" />
+ <value cell_index="2814" local_entity="0" value="0" />
+ <value cell_index="2815" local_entity="0" value="0" />
+ <value cell_index="2816" local_entity="0" value="0" />
+ <value cell_index="2817" local_entity="0" value="0" />
+ <value cell_index="2818" local_entity="0" value="0" />
+ <value cell_index="2819" local_entity="0" value="0" />
+ <value cell_index="2820" local_entity="0" value="0" />
+ <value cell_index="2821" local_entity="0" value="0" />
+ <value cell_index="2822" local_entity="0" value="0" />
+ <value cell_index="2823" local_entity="0" value="0" />
+ <value cell_index="2824" local_entity="0" value="0" />
+ <value cell_index="2825" local_entity="0" value="0" />
+ <value cell_index="2826" local_entity="0" value="0" />
+ <value cell_index="2827" local_entity="0" value="0" />
+ <value cell_index="2828" local_entity="0" value="0" />
+ <value cell_index="2829" local_entity="0" value="0" />
+ <value cell_index="2830" local_entity="0" value="0" />
+ <value cell_index="2831" local_entity="0" value="0" />
+ <value cell_index="2832" local_entity="0" value="0" />
+ <value cell_index="2833" local_entity="0" value="0" />
+ <value cell_index="2834" local_entity="0" value="0" />
+ <value cell_index="2835" local_entity="0" value="0" />
+ <value cell_index="2836" local_entity="0" value="0" />
+ <value cell_index="2837" local_entity="0" value="0" />
+ <value cell_index="2838" local_entity="0" value="0" />
+ <value cell_index="2839" local_entity="0" value="0" />
+ <value cell_index="2840" local_entity="0" value="0" />
+ <value cell_index="2841" local_entity="0" value="0" />
+ <value cell_index="2842" local_entity="0" value="0" />
+ <value cell_index="2843" local_entity="0" value="0" />
+ <value cell_index="2844" local_entity="0" value="0" />
+ <value cell_index="2845" local_entity="0" value="0" />
+ <value cell_index="2846" local_entity="0" value="0" />
+ <value cell_index="2847" local_entity="0" value="0" />
+ <value cell_index="2848" local_entity="0" value="0" />
+ <value cell_index="2849" local_entity="0" value="0" />
+ <value cell_index="2850" local_entity="0" value="0" />
+ <value cell_index="2851" local_entity="0" value="0" />
+ <value cell_index="2852" local_entity="0" value="0" />
+ <value cell_index="2853" local_entity="0" value="0" />
+ <value cell_index="2854" local_entity="0" value="0" />
+ <value cell_index="2855" local_entity="0" value="0" />
+ <value cell_index="2856" local_entity="0" value="0" />
+ <value cell_index="2857" local_entity="0" value="0" />
+ <value cell_index="2858" local_entity="0" value="0" />
+ <value cell_index="2859" local_entity="0" value="0" />
+ <value cell_index="2860" local_entity="0" value="0" />
+ <value cell_index="2861" local_entity="0" value="0" />
+ <value cell_index="2862" local_entity="0" value="0" />
+ <value cell_index="2863" local_entity="0" value="0" />
+ <value cell_index="2864" local_entity="0" value="0" />
+ <value cell_index="2865" local_entity="0" value="0" />
+ <value cell_index="2866" local_entity="0" value="0" />
+ <value cell_index="2867" local_entity="0" value="0" />
+ <value cell_index="2868" local_entity="0" value="0" />
+ <value cell_index="2869" local_entity="0" value="0" />
+ <value cell_index="2870" local_entity="0" value="0" />
+ <value cell_index="2871" local_entity="0" value="0" />
+ <value cell_index="2872" local_entity="0" value="0" />
+ <value cell_index="2873" local_entity="0" value="0" />
+ <value cell_index="2874" local_entity="0" value="0" />
+ <value cell_index="2875" local_entity="0" value="0" />
+ <value cell_index="2876" local_entity="0" value="0" />
+ <value cell_index="2877" local_entity="0" value="0" />
+ <value cell_index="2878" local_entity="0" value="0" />
+ <value cell_index="2879" local_entity="0" value="0" />
+ <value cell_index="2880" local_entity="0" value="0" />
+ <value cell_index="2881" local_entity="0" value="0" />
+ <value cell_index="2882" local_entity="0" value="0" />
+ <value cell_index="2883" local_entity="0" value="0" />
+ <value cell_index="2884" local_entity="0" value="0" />
+ <value cell_index="2885" local_entity="0" value="0" />
+ <value cell_index="2886" local_entity="0" value="0" />
+ <value cell_index="2887" local_entity="0" value="0" />
+ <value cell_index="2888" local_entity="0" value="0" />
+ <value cell_index="2889" local_entity="0" value="0" />
+ <value cell_index="2890" local_entity="0" value="0" />
+ <value cell_index="2891" local_entity="0" value="0" />
+ <value cell_index="2892" local_entity="0" value="0" />
+ <value cell_index="2893" local_entity="0" value="0" />
+ <value cell_index="2894" local_entity="0" value="0" />
+ <value cell_index="2895" local_entity="0" value="0" />
+ <value cell_index="2896" local_entity="0" value="0" />
+ <value cell_index="2897" local_entity="0" value="0" />
+ <value cell_index="2898" local_entity="0" value="0" />
+ <value cell_index="2899" local_entity="0" value="0" />
+ <value cell_index="2900" local_entity="0" value="0" />
+ <value cell_index="2901" local_entity="0" value="0" />
+ <value cell_index="2902" local_entity="0" value="0" />
+ <value cell_index="2903" local_entity="0" value="0" />
+ <value cell_index="2904" local_entity="0" value="0" />
+ <value cell_index="2905" local_entity="0" value="0" />
+ <value cell_index="2906" local_entity="0" value="0" />
+ <value cell_index="2907" local_entity="0" value="0" />
+ <value cell_index="2908" local_entity="0" value="0" />
+ <value cell_index="2909" local_entity="0" value="0" />
+ <value cell_index="2910" local_entity="0" value="0" />
+ <value cell_index="2911" local_entity="0" value="0" />
+ <value cell_index="2912" local_entity="0" value="0" />
+ <value cell_index="2913" local_entity="0" value="0" />
+ <value cell_index="2914" local_entity="0" value="0" />
+ <value cell_index="2915" local_entity="0" value="0" />
+ <value cell_index="2916" local_entity="0" value="0" />
+ <value cell_index="2917" local_entity="0" value="0" />
+ <value cell_index="2918" local_entity="0" value="0" />
+ <value cell_index="2919" local_entity="0" value="0" />
+ <value cell_index="2920" local_entity="0" value="0" />
+ <value cell_index="2921" local_entity="0" value="0" />
+ <value cell_index="2922" local_entity="0" value="0" />
+ <value cell_index="2923" local_entity="0" value="0" />
+ <value cell_index="2924" local_entity="0" value="0" />
+ <value cell_index="2925" local_entity="0" value="0" />
+ <value cell_index="2926" local_entity="0" value="0" />
+ <value cell_index="2927" local_entity="0" value="0" />
+ <value cell_index="2928" local_entity="0" value="0" />
+ <value cell_index="2929" local_entity="0" value="0" />
+ <value cell_index="2930" local_entity="0" value="0" />
+ <value cell_index="2931" local_entity="0" value="0" />
+ <value cell_index="2932" local_entity="0" value="0" />
+ <value cell_index="2933" local_entity="0" value="0" />
+ <value cell_index="2934" local_entity="0" value="0" />
+ <value cell_index="2935" local_entity="0" value="0" />
+ <value cell_index="2936" local_entity="0" value="0" />
+ <value cell_index="2937" local_entity="0" value="0" />
+ <value cell_index="2938" local_entity="0" value="0" />
+ <value cell_index="2939" local_entity="0" value="0" />
+ <value cell_index="2940" local_entity="0" value="0" />
+ <value cell_index="2941" local_entity="0" value="0" />
+ <value cell_index="2942" local_entity="0" value="0" />
+ <value cell_index="2943" local_entity="0" value="0" />
+ <value cell_index="2944" local_entity="0" value="0" />
+ <value cell_index="2945" local_entity="0" value="0" />
+ <value cell_index="2946" local_entity="0" value="0" />
+ <value cell_index="2947" local_entity="0" value="0" />
+ <value cell_index="2948" local_entity="0" value="0" />
+ <value cell_index="2949" local_entity="0" value="0" />
+ <value cell_index="2950" local_entity="0" value="0" />
+ <value cell_index="2951" local_entity="0" value="0" />
+ <value cell_index="2952" local_entity="0" value="0" />
+ <value cell_index="2953" local_entity="0" value="0" />
+ <value cell_index="2954" local_entity="0" value="0" />
+ <value cell_index="2955" local_entity="0" value="0" />
+ <value cell_index="2956" local_entity="0" value="0" />
+ <value cell_index="2957" local_entity="0" value="0" />
+ <value cell_index="2958" local_entity="0" value="0" />
+ <value cell_index="2959" local_entity="0" value="0" />
+ <value cell_index="2960" local_entity="0" value="0" />
+ <value cell_index="2961" local_entity="0" value="0" />
+ <value cell_index="2962" local_entity="0" value="0" />
+ <value cell_index="2963" local_entity="0" value="0" />
+ <value cell_index="2964" local_entity="0" value="0" />
+ <value cell_index="2965" local_entity="0" value="0" />
+ <value cell_index="2966" local_entity="0" value="0" />
+ <value cell_index="2967" local_entity="0" value="0" />
+ <value cell_index="2968" local_entity="0" value="0" />
+ <value cell_index="2969" local_entity="0" value="0" />
+ <value cell_index="2970" local_entity="0" value="0" />
+ <value cell_index="2971" local_entity="0" value="0" />
+ <value cell_index="2972" local_entity="0" value="0" />
+ <value cell_index="2973" local_entity="0" value="0" />
+ <value cell_index="2974" local_entity="0" value="0" />
+ <value cell_index="2975" local_entity="0" value="0" />
+ <value cell_index="2976" local_entity="0" value="0" />
+ <value cell_index="2977" local_entity="0" value="0" />
+ <value cell_index="2978" local_entity="0" value="0" />
+ <value cell_index="2979" local_entity="0" value="0" />
+ <value cell_index="2980" local_entity="0" value="0" />
+ <value cell_index="2981" local_entity="0" value="0" />
+ <value cell_index="2982" local_entity="0" value="0" />
+ <value cell_index="2983" local_entity="0" value="0" />
+ <value cell_index="2984" local_entity="0" value="0" />
+ <value cell_index="2985" local_entity="0" value="0" />
+ <value cell_index="2986" local_entity="0" value="0" />
+ <value cell_index="2987" local_entity="0" value="0" />
+ <value cell_index="2988" local_entity="0" value="0" />
+ <value cell_index="2989" local_entity="0" value="0" />
+ <value cell_index="2990" local_entity="0" value="0" />
+ <value cell_index="2991" local_entity="0" value="0" />
+ <value cell_index="2992" local_entity="0" value="0" />
+ <value cell_index="2993" local_entity="0" value="0" />
+ <value cell_index="2994" local_entity="0" value="0" />
+ <value cell_index="2995" local_entity="0" value="0" />
+ <value cell_index="2996" local_entity="0" value="0" />
+ <value cell_index="2997" local_entity="0" value="0" />
+ <value cell_index="2998" local_entity="0" value="0" />
+ <value cell_index="2999" local_entity="0" value="0" />
+ <value cell_index="3000" local_entity="0" value="0" />
+ <value cell_index="3001" local_entity="0" value="0" />
+ <value cell_index="3002" local_entity="0" value="0" />
+ <value cell_index="3003" local_entity="0" value="0" />
+ <value cell_index="3004" local_entity="0" value="0" />
+ <value cell_index="3005" local_entity="0" value="0" />
+ <value cell_index="3006" local_entity="0" value="0" />
+ <value cell_index="3007" local_entity="0" value="0" />
+ <value cell_index="3008" local_entity="0" value="0" />
+ <value cell_index="3009" local_entity="0" value="0" />
+ <value cell_index="3010" local_entity="0" value="0" />
+ <value cell_index="3011" local_entity="0" value="0" />
+ <value cell_index="3012" local_entity="0" value="0" />
+ <value cell_index="3013" local_entity="0" value="0" />
+ <value cell_index="3014" local_entity="0" value="0" />
+ <value cell_index="3015" local_entity="0" value="0" />
+ <value cell_index="3016" local_entity="0" value="0" />
+ <value cell_index="3017" local_entity="0" value="0" />
+ <value cell_index="3018" local_entity="0" value="0" />
+ <value cell_index="3019" local_entity="0" value="0" />
+ <value cell_index="3020" local_entity="0" value="0" />
+ <value cell_index="3021" local_entity="0" value="0" />
+ <value cell_index="3022" local_entity="0" value="0" />
+ <value cell_index="3023" local_entity="0" value="0" />
+ <value cell_index="3024" local_entity="0" value="0" />
+ <value cell_index="3025" local_entity="0" value="0" />
+ <value cell_index="3026" local_entity="0" value="0" />
+ <value cell_index="3027" local_entity="0" value="0" />
+ <value cell_index="3028" local_entity="0" value="0" />
+ <value cell_index="3029" local_entity="0" value="0" />
+ <value cell_index="3030" local_entity="0" value="0" />
+ <value cell_index="3031" local_entity="0" value="0" />
+ <value cell_index="3032" local_entity="0" value="0" />
+ <value cell_index="3033" local_entity="0" value="0" />
+ <value cell_index="3034" local_entity="0" value="0" />
+ <value cell_index="3035" local_entity="0" value="0" />
+ <value cell_index="3036" local_entity="0" value="0" />
+ <value cell_index="3037" local_entity="0" value="0" />
+ <value cell_index="3038" local_entity="0" value="0" />
+ <value cell_index="3039" local_entity="0" value="0" />
+ <value cell_index="3040" local_entity="0" value="0" />
+ <value cell_index="3041" local_entity="0" value="0" />
+ <value cell_index="3042" local_entity="0" value="0" />
+ <value cell_index="3043" local_entity="0" value="0" />
+ <value cell_index="3044" local_entity="0" value="0" />
+ <value cell_index="3045" local_entity="0" value="0" />
+ <value cell_index="3046" local_entity="0" value="0" />
+ <value cell_index="3047" local_entity="0" value="0" />
+ <value cell_index="3048" local_entity="0" value="0" />
+ <value cell_index="3049" local_entity="0" value="0" />
+ <value cell_index="3050" local_entity="0" value="0" />
+ <value cell_index="3051" local_entity="0" value="0" />
+ <value cell_index="3052" local_entity="0" value="0" />
+ <value cell_index="3053" local_entity="0" value="0" />
+ <value cell_index="3054" local_entity="0" value="0" />
+ <value cell_index="3055" local_entity="0" value="0" />
+ <value cell_index="3056" local_entity="0" value="0" />
+ <value cell_index="3057" local_entity="0" value="0" />
+ <value cell_index="3058" local_entity="0" value="0" />
+ <value cell_index="3059" local_entity="0" value="0" />
+ <value cell_index="3060" local_entity="0" value="0" />
+ <value cell_index="3061" local_entity="0" value="0" />
+ <value cell_index="3062" local_entity="0" value="0" />
+ <value cell_index="3063" local_entity="0" value="0" />
+ <value cell_index="3064" local_entity="0" value="0" />
+ <value cell_index="3065" local_entity="0" value="0" />
+ <value cell_index="3066" local_entity="0" value="0" />
+ <value cell_index="3067" local_entity="0" value="0" />
+ <value cell_index="3068" local_entity="0" value="0" />
+ <value cell_index="3069" local_entity="0" value="0" />
+ <value cell_index="3070" local_entity="0" value="0" />
+ <value cell_index="3071" local_entity="0" value="0" />
+ <value cell_index="3072" local_entity="0" value="0" />
+ <value cell_index="3073" local_entity="0" value="0" />
+ <value cell_index="3074" local_entity="0" value="0" />
+ <value cell_index="3075" local_entity="0" value="0" />
+ <value cell_index="3076" local_entity="0" value="0" />
+ <value cell_index="3077" local_entity="0" value="0" />
+ <value cell_index="3078" local_entity="0" value="0" />
+ <value cell_index="3079" local_entity="0" value="0" />
+ <value cell_index="3080" local_entity="0" value="0" />
+ <value cell_index="3081" local_entity="0" value="0" />
+ <value cell_index="3082" local_entity="0" value="0" />
+ <value cell_index="3083" local_entity="0" value="0" />
+ <value cell_index="3084" local_entity="0" value="0" />
+ <value cell_index="3085" local_entity="0" value="0" />
+ <value cell_index="3086" local_entity="0" value="0" />
+ <value cell_index="3087" local_entity="0" value="0" />
+ <value cell_index="3088" local_entity="0" value="0" />
+ <value cell_index="3089" local_entity="0" value="0" />
+ <value cell_index="3090" local_entity="0" value="0" />
+ <value cell_index="3091" local_entity="0" value="0" />
+ <value cell_index="3092" local_entity="0" value="0" />
+ <value cell_index="3093" local_entity="0" value="0" />
+ <value cell_index="3094" local_entity="0" value="0" />
+ <value cell_index="3095" local_entity="0" value="0" />
+ <value cell_index="3096" local_entity="0" value="0" />
+ <value cell_index="3097" local_entity="0" value="0" />
+ <value cell_index="3098" local_entity="0" value="0" />
+ <value cell_index="3099" local_entity="0" value="0" />
+ <value cell_index="3100" local_entity="0" value="0" />
+ <value cell_index="3101" local_entity="0" value="0" />
+ <value cell_index="3102" local_entity="0" value="0" />
+ <value cell_index="3103" local_entity="0" value="0" />
+ <value cell_index="3104" local_entity="0" value="0" />
+ <value cell_index="3105" local_entity="0" value="0" />
+ <value cell_index="3106" local_entity="0" value="0" />
+ <value cell_index="3107" local_entity="0" value="0" />
+ <value cell_index="3108" local_entity="0" value="0" />
+ <value cell_index="3109" local_entity="0" value="0" />
+ <value cell_index="3110" local_entity="0" value="0" />
+ <value cell_index="3111" local_entity="0" value="0" />
+ <value cell_index="3112" local_entity="0" value="0" />
+ <value cell_index="3113" local_entity="0" value="0" />
+ <value cell_index="3114" local_entity="0" value="0" />
+ <value cell_index="3115" local_entity="0" value="0" />
+ <value cell_index="3116" local_entity="0" value="0" />
+ <value cell_index="3117" local_entity="0" value="0" />
+ <value cell_index="3118" local_entity="0" value="0" />
+ <value cell_index="3119" local_entity="0" value="0" />
+ <value cell_index="3120" local_entity="0" value="0" />
+ <value cell_index="3121" local_entity="0" value="0" />
+ <value cell_index="3122" local_entity="0" value="0" />
+ <value cell_index="3123" local_entity="0" value="0" />
+ <value cell_index="3124" local_entity="0" value="0" />
+ <value cell_index="3125" local_entity="0" value="0" />
+ <value cell_index="3126" local_entity="0" value="0" />
+ <value cell_index="3127" local_entity="0" value="0" />
+ <value cell_index="3128" local_entity="0" value="0" />
+ <value cell_index="3129" local_entity="0" value="0" />
+ <value cell_index="3130" local_entity="0" value="0" />
+ <value cell_index="3131" local_entity="0" value="0" />
+ <value cell_index="3132" local_entity="0" value="0" />
+ <value cell_index="3133" local_entity="0" value="0" />
+ <value cell_index="3134" local_entity="0" value="0" />
+ <value cell_index="3135" local_entity="0" value="0" />
+ <value cell_index="3136" local_entity="0" value="0" />
+ <value cell_index="3137" local_entity="0" value="0" />
+ <value cell_index="3138" local_entity="0" value="0" />
+ <value cell_index="3139" local_entity="0" value="0" />
+ <value cell_index="3140" local_entity="0" value="0" />
+ <value cell_index="3141" local_entity="0" value="0" />
+ <value cell_index="3142" local_entity="0" value="0" />
+ <value cell_index="3143" local_entity="0" value="0" />
+ <value cell_index="3144" local_entity="0" value="0" />
+ <value cell_index="3145" local_entity="0" value="0" />
+ <value cell_index="3146" local_entity="0" value="0" />
+ <value cell_index="3147" local_entity="0" value="0" />
+ <value cell_index="3148" local_entity="0" value="0" />
+ <value cell_index="3149" local_entity="0" value="0" />
+ <value cell_index="3150" local_entity="0" value="0" />
+ <value cell_index="3151" local_entity="0" value="0" />
+ <value cell_index="3152" local_entity="0" value="0" />
+ <value cell_index="3153" local_entity="0" value="0" />
+ <value cell_index="3154" local_entity="0" value="0" />
+ <value cell_index="3155" local_entity="0" value="0" />
+ <value cell_index="3156" local_entity="0" value="0" />
+ <value cell_index="3157" local_entity="0" value="0" />
+ <value cell_index="3158" local_entity="0" value="0" />
+ <value cell_index="3159" local_entity="0" value="0" />
+ <value cell_index="3160" local_entity="0" value="0" />
+ <value cell_index="3161" local_entity="0" value="0" />
+ <value cell_index="3162" local_entity="0" value="0" />
+ <value cell_index="3163" local_entity="0" value="0" />
+ <value cell_index="3164" local_entity="0" value="0" />
+ <value cell_index="3165" local_entity="0" value="0" />
+ <value cell_index="3166" local_entity="0" value="0" />
+ <value cell_index="3167" local_entity="0" value="0" />
+ <value cell_index="3168" local_entity="0" value="0" />
+ <value cell_index="3169" local_entity="0" value="0" />
+ <value cell_index="3170" local_entity="0" value="0" />
+ <value cell_index="3171" local_entity="0" value="0" />
+ <value cell_index="3172" local_entity="0" value="0" />
+ <value cell_index="3173" local_entity="0" value="0" />
+ <value cell_index="3174" local_entity="0" value="0" />
+ <value cell_index="3175" local_entity="0" value="0" />
+ <value cell_index="3176" local_entity="0" value="0" />
+ <value cell_index="3177" local_entity="0" value="0" />
+ <value cell_index="3178" local_entity="0" value="0" />
+ <value cell_index="3179" local_entity="0" value="0" />
+ <value cell_index="3180" local_entity="0" value="0" />
+ <value cell_index="3181" local_entity="0" value="0" />
+ <value cell_index="3182" local_entity="0" value="0" />
+ <value cell_index="3183" local_entity="0" value="0" />
+ <value cell_index="3184" local_entity="0" value="0" />
+ <value cell_index="3185" local_entity="0" value="0" />
+ <value cell_index="3186" local_entity="0" value="0" />
+ <value cell_index="3187" local_entity="0" value="0" />
+ <value cell_index="3188" local_entity="0" value="0" />
+ <value cell_index="3189" local_entity="0" value="0" />
+ <value cell_index="3190" local_entity="0" value="0" />
+ <value cell_index="3191" local_entity="0" value="0" />
+ <value cell_index="3192" local_entity="0" value="0" />
+ <value cell_index="3193" local_entity="0" value="0" />
+ <value cell_index="3194" local_entity="0" value="0" />
+ <value cell_index="3195" local_entity="0" value="0" />
+ <value cell_index="3196" local_entity="0" value="0" />
+ <value cell_index="3197" local_entity="0" value="0" />
+ <value cell_index="3198" local_entity="0" value="0" />
+ <value cell_index="3199" local_entity="0" value="0" />
+ <value cell_index="3200" local_entity="0" value="0" />
+ <value cell_index="3201" local_entity="0" value="0" />
+ <value cell_index="3202" local_entity="0" value="0" />
+ <value cell_index="3203" local_entity="0" value="0" />
+ <value cell_index="3204" local_entity="0" value="0" />
+ <value cell_index="3205" local_entity="0" value="0" />
+ <value cell_index="3206" local_entity="0" value="0" />
+ <value cell_index="3207" local_entity="0" value="0" />
+ <value cell_index="3208" local_entity="0" value="0" />
+ <value cell_index="3209" local_entity="0" value="0" />
+ <value cell_index="3210" local_entity="0" value="0" />
+ <value cell_index="3211" local_entity="0" value="0" />
+ <value cell_index="3212" local_entity="0" value="0" />
+ <value cell_index="3213" local_entity="0" value="0" />
+ <value cell_index="3214" local_entity="0" value="0" />
+ <value cell_index="3215" local_entity="0" value="0" />
+ <value cell_index="3216" local_entity="0" value="0" />
+ <value cell_index="3217" local_entity="0" value="0" />
+ <value cell_index="3218" local_entity="0" value="0" />
+ <value cell_index="3219" local_entity="0" value="0" />
+ <value cell_index="3220" local_entity="0" value="0" />
+ <value cell_index="3221" local_entity="0" value="0" />
+ <value cell_index="3222" local_entity="0" value="0" />
+ <value cell_index="3223" local_entity="0" value="0" />
+ <value cell_index="3224" local_entity="0" value="0" />
+ <value cell_index="3225" local_entity="0" value="0" />
+ <value cell_index="3226" local_entity="0" value="0" />
+ <value cell_index="3227" local_entity="0" value="0" />
+ <value cell_index="3228" local_entity="0" value="0" />
+ <value cell_index="3229" local_entity="0" value="0" />
+ <value cell_index="3230" local_entity="0" value="0" />
+ <value cell_index="3231" local_entity="0" value="0" />
+ <value cell_index="3232" local_entity="0" value="0" />
+ <value cell_index="3233" local_entity="0" value="0" />
+ <value cell_index="3234" local_entity="0" value="0" />
+ <value cell_index="3235" local_entity="0" value="0" />
+ <value cell_index="3236" local_entity="0" value="0" />
+ <value cell_index="3237" local_entity="0" value="0" />
+ <value cell_index="3238" local_entity="0" value="0" />
+ <value cell_index="3239" local_entity="0" value="0" />
+ <value cell_index="3240" local_entity="0" value="0" />
+ <value cell_index="3241" local_entity="0" value="0" />
+ <value cell_index="3242" local_entity="0" value="0" />
+ <value cell_index="3243" local_entity="0" value="0" />
+ <value cell_index="3244" local_entity="0" value="0" />
+ <value cell_index="3245" local_entity="0" value="0" />
+ <value cell_index="3246" local_entity="0" value="0" />
+ <value cell_index="3247" local_entity="0" value="0" />
+ <value cell_index="3248" local_entity="0" value="0" />
+ <value cell_index="3249" local_entity="0" value="0" />
+ <value cell_index="3250" local_entity="0" value="0" />
+ <value cell_index="3251" local_entity="0" value="0" />
+ <value cell_index="3252" local_entity="0" value="0" />
+ <value cell_index="3253" local_entity="0" value="0" />
+ <value cell_index="3254" local_entity="0" value="0" />
+ <value cell_index="3255" local_entity="0" value="0" />
+ <value cell_index="3256" local_entity="0" value="0" />
+ <value cell_index="3257" local_entity="0" value="0" />
+ <value cell_index="3258" local_entity="0" value="0" />
+ <value cell_index="3259" local_entity="0" value="0" />
+ <value cell_index="3260" local_entity="0" value="0" />
+ <value cell_index="3261" local_entity="0" value="0" />
+ <value cell_index="3262" local_entity="0" value="0" />
+ <value cell_index="3263" local_entity="0" value="0" />
+ <value cell_index="3264" local_entity="0" value="0" />
+ <value cell_index="3265" local_entity="0" value="0" />
+ <value cell_index="3266" local_entity="0" value="0" />
+ <value cell_index="3267" local_entity="0" value="0" />
+ <value cell_index="3268" local_entity="0" value="0" />
+ <value cell_index="3269" local_entity="0" value="0" />
+ <value cell_index="3270" local_entity="0" value="0" />
+ <value cell_index="3271" local_entity="0" value="0" />
+ <value cell_index="3272" local_entity="0" value="0" />
+ <value cell_index="3273" local_entity="0" value="0" />
+ <value cell_index="3274" local_entity="0" value="0" />
+ <value cell_index="3275" local_entity="0" value="0" />
+ <value cell_index="3276" local_entity="0" value="0" />
+ <value cell_index="3277" local_entity="0" value="0" />
+ <value cell_index="3278" local_entity="0" value="0" />
+ <value cell_index="3279" local_entity="0" value="0" />
+ <value cell_index="3280" local_entity="0" value="0" />
+ <value cell_index="3281" local_entity="0" value="0" />
+ <value cell_index="3282" local_entity="0" value="0" />
+ <value cell_index="3283" local_entity="0" value="0" />
+ <value cell_index="3284" local_entity="0" value="0" />
+ <value cell_index="3285" local_entity="0" value="0" />
+ <value cell_index="3286" local_entity="0" value="0" />
+ <value cell_index="3287" local_entity="0" value="0" />
+ <value cell_index="3288" local_entity="0" value="0" />
+ <value cell_index="3289" local_entity="0" value="0" />
+ <value cell_index="3290" local_entity="0" value="0" />
+ <value cell_index="3291" local_entity="0" value="0" />
+ <value cell_index="3292" local_entity="0" value="0" />
+ <value cell_index="3293" local_entity="0" value="0" />
+ <value cell_index="3294" local_entity="0" value="0" />
+ <value cell_index="3295" local_entity="0" value="0" />
+ <value cell_index="3296" local_entity="0" value="0" />
+ <value cell_index="3297" local_entity="0" value="0" />
+ <value cell_index="3298" local_entity="0" value="0" />
+ <value cell_index="3299" local_entity="0" value="0" />
+ <value cell_index="3300" local_entity="0" value="0" />
+ <value cell_index="3301" local_entity="0" value="0" />
+ <value cell_index="3302" local_entity="0" value="0" />
+ <value cell_index="3303" local_entity="0" value="0" />
+ <value cell_index="3304" local_entity="0" value="0" />
+ <value cell_index="3305" local_entity="0" value="0" />
+ <value cell_index="3306" local_entity="0" value="0" />
+ <value cell_index="3307" local_entity="0" value="0" />
+ <value cell_index="3308" local_entity="0" value="0" />
+ <value cell_index="3309" local_entity="0" value="0" />
+ <value cell_index="3310" local_entity="0" value="0" />
+ <value cell_index="3311" local_entity="0" value="0" />
+ <value cell_index="3312" local_entity="0" value="0" />
+ <value cell_index="3313" local_entity="0" value="0" />
+ <value cell_index="3314" local_entity="0" value="0" />
+ <value cell_index="3315" local_entity="0" value="0" />
+ <value cell_index="3316" local_entity="0" value="0" />
+ <value cell_index="3317" local_entity="0" value="0" />
+ <value cell_index="3318" local_entity="0" value="0" />
+ <value cell_index="3319" local_entity="0" value="0" />
+ <value cell_index="3320" local_entity="0" value="0" />
+ <value cell_index="3321" local_entity="0" value="0" />
+ <value cell_index="3322" local_entity="0" value="0" />
+ <value cell_index="3323" local_entity="0" value="0" />
+ <value cell_index="3324" local_entity="0" value="0" />
+ <value cell_index="3325" local_entity="0" value="0" />
+ <value cell_index="3326" local_entity="0" value="0" />
+ <value cell_index="3327" local_entity="0" value="0" />
+ <value cell_index="3328" local_entity="0" value="0" />
+ <value cell_index="3329" local_entity="0" value="0" />
+ <value cell_index="3330" local_entity="0" value="0" />
+ <value cell_index="3331" local_entity="0" value="0" />
+ <value cell_index="3332" local_entity="0" value="0" />
+ <value cell_index="3333" local_entity="0" value="0" />
+ <value cell_index="3334" local_entity="0" value="0" />
+ <value cell_index="3335" local_entity="0" value="0" />
+ <value cell_index="3336" local_entity="0" value="0" />
+ <value cell_index="3337" local_entity="0" value="0" />
+ <value cell_index="3338" local_entity="0" value="0" />
+ <value cell_index="3339" local_entity="0" value="0" />
+ <value cell_index="3340" local_entity="0" value="0" />
+ <value cell_index="3341" local_entity="0" value="0" />
+ <value cell_index="3342" local_entity="0" value="0" />
+ <value cell_index="3343" local_entity="0" value="0" />
+ <value cell_index="3344" local_entity="0" value="0" />
+ <value cell_index="3345" local_entity="0" value="0" />
+ <value cell_index="3346" local_entity="0" value="0" />
+ <value cell_index="3347" local_entity="0" value="0" />
+ <value cell_index="3348" local_entity="0" value="0" />
+ <value cell_index="3349" local_entity="0" value="0" />
+ <value cell_index="3350" local_entity="0" value="0" />
+ <value cell_index="3351" local_entity="0" value="0" />
+ <value cell_index="3352" local_entity="0" value="0" />
+ <value cell_index="3353" local_entity="0" value="0" />
+ <value cell_index="3354" local_entity="0" value="0" />
+ <value cell_index="3355" local_entity="0" value="0" />
+ <value cell_index="3356" local_entity="0" value="0" />
+ <value cell_index="3357" local_entity="0" value="0" />
+ <value cell_index="3358" local_entity="0" value="0" />
+ <value cell_index="3359" local_entity="0" value="0" />
+ <value cell_index="3360" local_entity="0" value="0" />
+ <value cell_index="3361" local_entity="0" value="0" />
+ <value cell_index="3362" local_entity="0" value="0" />
+ <value cell_index="3363" local_entity="0" value="0" />
+ <value cell_index="3364" local_entity="0" value="0" />
+ <value cell_index="3365" local_entity="0" value="0" />
+ <value cell_index="3366" local_entity="0" value="0" />
+ <value cell_index="3367" local_entity="0" value="0" />
+ <value cell_index="3368" local_entity="0" value="0" />
+ <value cell_index="3369" local_entity="0" value="0" />
+ <value cell_index="3370" local_entity="0" value="0" />
+ <value cell_index="3371" local_entity="0" value="0" />
+ <value cell_index="3372" local_entity="0" value="0" />
+ <value cell_index="3373" local_entity="0" value="0" />
+ <value cell_index="3374" local_entity="0" value="0" />
+ <value cell_index="3375" local_entity="0" value="0" />
+ <value cell_index="3376" local_entity="0" value="0" />
+ <value cell_index="3377" local_entity="0" value="0" />
+ <value cell_index="3378" local_entity="0" value="0" />
+ <value cell_index="3379" local_entity="0" value="0" />
+ <value cell_index="3380" local_entity="0" value="0" />
+ <value cell_index="3381" local_entity="0" value="0" />
+ <value cell_index="3382" local_entity="0" value="0" />
+ <value cell_index="3383" local_entity="0" value="0" />
+ <value cell_index="3384" local_entity="0" value="0" />
+ <value cell_index="3385" local_entity="0" value="0" />
+ <value cell_index="3386" local_entity="0" value="0" />
+ <value cell_index="3387" local_entity="0" value="0" />
+ <value cell_index="3388" local_entity="0" value="0" />
+ <value cell_index="3389" local_entity="0" value="0" />
+ <value cell_index="3390" local_entity="0" value="0" />
+ <value cell_index="3391" local_entity="0" value="0" />
+ <value cell_index="3392" local_entity="0" value="0" />
+ <value cell_index="3393" local_entity="0" value="0" />
+ <value cell_index="3394" local_entity="0" value="0" />
+ <value cell_index="3395" local_entity="0" value="0" />
+ <value cell_index="3396" local_entity="0" value="0" />
+ <value cell_index="3397" local_entity="0" value="0" />
+ <value cell_index="3398" local_entity="0" value="0" />
+ <value cell_index="3399" local_entity="0" value="0" />
+ <value cell_index="3400" local_entity="0" value="0" />
+ <value cell_index="3401" local_entity="0" value="0" />
+ <value cell_index="3402" local_entity="0" value="0" />
+ <value cell_index="3403" local_entity="0" value="0" />
+ <value cell_index="3404" local_entity="0" value="0" />
+ <value cell_index="3405" local_entity="0" value="0" />
+ <value cell_index="3406" local_entity="0" value="0" />
+ <value cell_index="3407" local_entity="0" value="0" />
+ <value cell_index="3408" local_entity="0" value="0" />
+ <value cell_index="3409" local_entity="0" value="0" />
+ <value cell_index="3410" local_entity="0" value="0" />
+ <value cell_index="3411" local_entity="0" value="0" />
+ <value cell_index="3412" local_entity="0" value="0" />
+ <value cell_index="3413" local_entity="0" value="0" />
+ <value cell_index="3414" local_entity="0" value="0" />
+ <value cell_index="3415" local_entity="0" value="0" />
+ <value cell_index="3416" local_entity="0" value="0" />
+ <value cell_index="3417" local_entity="0" value="0" />
+ <value cell_index="3418" local_entity="0" value="0" />
+ <value cell_index="3419" local_entity="0" value="0" />
+ <value cell_index="3420" local_entity="0" value="0" />
+ <value cell_index="3421" local_entity="0" value="0" />
+ <value cell_index="3422" local_entity="0" value="0" />
+ <value cell_index="3423" local_entity="0" value="0" />
+ <value cell_index="3424" local_entity="0" value="0" />
+ <value cell_index="3425" local_entity="0" value="0" />
+ <value cell_index="3426" local_entity="0" value="0" />
+ <value cell_index="3427" local_entity="0" value="0" />
+ <value cell_index="3428" local_entity="0" value="0" />
+ <value cell_index="3429" local_entity="0" value="0" />
+ <value cell_index="3430" local_entity="0" value="0" />
+ <value cell_index="3431" local_entity="0" value="0" />
+ <value cell_index="3432" local_entity="0" value="0" />
+ <value cell_index="3433" local_entity="0" value="0" />
+ <value cell_index="3434" local_entity="0" value="0" />
+ <value cell_index="3435" local_entity="0" value="0" />
+ <value cell_index="3436" local_entity="0" value="0" />
+ <value cell_index="3437" local_entity="0" value="0" />
+ <value cell_index="3438" local_entity="0" value="0" />
+ <value cell_index="3439" local_entity="0" value="0" />
+ <value cell_index="3440" local_entity="0" value="0" />
+ <value cell_index="3441" local_entity="0" value="0" />
+ <value cell_index="3442" local_entity="0" value="0" />
+ <value cell_index="3443" local_entity="0" value="0" />
+ <value cell_index="3444" local_entity="0" value="0" />
+ <value cell_index="3445" local_entity="0" value="0" />
+ <value cell_index="3446" local_entity="0" value="0" />
+ <value cell_index="3447" local_entity="0" value="0" />
+ <value cell_index="3448" local_entity="0" value="0" />
+ <value cell_index="3449" local_entity="0" value="0" />
+ <value cell_index="3450" local_entity="0" value="0" />
+ <value cell_index="3451" local_entity="0" value="0" />
+ <value cell_index="3452" local_entity="0" value="0" />
+ <value cell_index="3453" local_entity="0" value="0" />
+ <value cell_index="3454" local_entity="0" value="0" />
+ <value cell_index="3455" local_entity="0" value="0" />
+ <value cell_index="3456" local_entity="0" value="0" />
+ <value cell_index="3457" local_entity="0" value="0" />
+ <value cell_index="3458" local_entity="0" value="0" />
+ <value cell_index="3459" local_entity="0" value="0" />
+ <value cell_index="3460" local_entity="0" value="0" />
+ <value cell_index="3461" local_entity="0" value="0" />
+ <value cell_index="3462" local_entity="0" value="0" />
+ <value cell_index="3463" local_entity="0" value="0" />
+ <value cell_index="3464" local_entity="0" value="0" />
+ <value cell_index="3465" local_entity="0" value="0" />
+ <value cell_index="3466" local_entity="0" value="0" />
+ <value cell_index="3467" local_entity="0" value="0" />
+ <value cell_index="3468" local_entity="0" value="0" />
+ <value cell_index="3469" local_entity="0" value="0" />
+ <value cell_index="3470" local_entity="0" value="0" />
+ <value cell_index="3471" local_entity="0" value="0" />
+ <value cell_index="3472" local_entity="0" value="0" />
+ <value cell_index="3473" local_entity="0" value="0" />
+ <value cell_index="3474" local_entity="0" value="0" />
+ <value cell_index="3475" local_entity="0" value="0" />
+ <value cell_index="3476" local_entity="0" value="0" />
+ <value cell_index="3477" local_entity="0" value="0" />
+ <value cell_index="3478" local_entity="0" value="0" />
+ <value cell_index="3479" local_entity="0" value="0" />
+ <value cell_index="3480" local_entity="0" value="0" />
+ <value cell_index="3481" local_entity="0" value="0" />
+ <value cell_index="3482" local_entity="0" value="0" />
+ <value cell_index="3483" local_entity="0" value="0" />
+ <value cell_index="3484" local_entity="0" value="0" />
+ <value cell_index="3485" local_entity="0" value="0" />
+ <value cell_index="3486" local_entity="0" value="0" />
+ <value cell_index="3487" local_entity="0" value="0" />
+ <value cell_index="3488" local_entity="0" value="0" />
+ <value cell_index="3489" local_entity="0" value="0" />
+ <value cell_index="3490" local_entity="0" value="0" />
+ <value cell_index="3491" local_entity="0" value="0" />
+ <value cell_index="3492" local_entity="0" value="0" />
+ <value cell_index="3493" local_entity="0" value="0" />
+ <value cell_index="3494" local_entity="0" value="0" />
+ <value cell_index="3495" local_entity="0" value="0" />
+ <value cell_index="3496" local_entity="0" value="0" />
+ <value cell_index="3497" local_entity="0" value="0" />
+ <value cell_index="3498" local_entity="0" value="0" />
+ <value cell_index="3499" local_entity="0" value="0" />
+ <value cell_index="3500" local_entity="0" value="0" />
+ <value cell_index="3501" local_entity="0" value="0" />
+ <value cell_index="3502" local_entity="0" value="0" />
+ <value cell_index="3503" local_entity="0" value="0" />
+ <value cell_index="3504" local_entity="0" value="0" />
+ <value cell_index="3505" local_entity="0" value="0" />
+ <value cell_index="3506" local_entity="0" value="0" />
+ <value cell_index="3507" local_entity="0" value="0" />
+ <value cell_index="3508" local_entity="0" value="0" />
+ <value cell_index="3509" local_entity="0" value="0" />
+ <value cell_index="3510" local_entity="0" value="0" />
+ <value cell_index="3511" local_entity="0" value="0" />
+ <value cell_index="3512" local_entity="0" value="0" />
+ <value cell_index="3513" local_entity="0" value="0" />
+ <value cell_index="3514" local_entity="0" value="0" />
+ <value cell_index="3515" local_entity="0" value="0" />
+ <value cell_index="3516" local_entity="0" value="0" />
+ <value cell_index="3517" local_entity="0" value="0" />
+ <value cell_index="3518" local_entity="0" value="0" />
+ <value cell_index="3519" local_entity="0" value="0" />
+ <value cell_index="3520" local_entity="0" value="0" />
+ <value cell_index="3521" local_entity="0" value="0" />
+ <value cell_index="3522" local_entity="0" value="0" />
+ <value cell_index="3523" local_entity="0" value="0" />
+ <value cell_index="3524" local_entity="0" value="0" />
+ <value cell_index="3525" local_entity="0" value="0" />
+ <value cell_index="3526" local_entity="0" value="0" />
+ <value cell_index="3527" local_entity="0" value="0" />
+ <value cell_index="3528" local_entity="0" value="0" />
+ <value cell_index="3529" local_entity="0" value="0" />
+ <value cell_index="3530" local_entity="0" value="0" />
+ <value cell_index="3531" local_entity="0" value="0" />
+ <value cell_index="3532" local_entity="0" value="0" />
+ <value cell_index="3533" local_entity="0" value="0" />
+ <value cell_index="3534" local_entity="0" value="0" />
+ <value cell_index="3535" local_entity="0" value="0" />
+ <value cell_index="3536" local_entity="0" value="0" />
+ <value cell_index="3537" local_entity="0" value="0" />
+ <value cell_index="3538" local_entity="0" value="0" />
+ <value cell_index="3539" local_entity="0" value="0" />
+ <value cell_index="3540" local_entity="0" value="0" />
+ <value cell_index="3541" local_entity="0" value="0" />
+ <value cell_index="3542" local_entity="0" value="0" />
+ <value cell_index="3543" local_entity="0" value="0" />
+ <value cell_index="3544" local_entity="0" value="0" />
+ <value cell_index="3545" local_entity="0" value="0" />
+ <value cell_index="3546" local_entity="0" value="0" />
+ <value cell_index="3547" local_entity="0" value="0" />
+ <value cell_index="3548" local_entity="0" value="0" />
+ <value cell_index="3549" local_entity="0" value="0" />
+ <value cell_index="3550" local_entity="0" value="0" />
+ <value cell_index="3551" local_entity="0" value="0" />
+ <value cell_index="3552" local_entity="0" value="0" />
+ <value cell_index="3553" local_entity="0" value="0" />
+ <value cell_index="3554" local_entity="0" value="0" />
+ <value cell_index="3555" local_entity="0" value="0" />
+ <value cell_index="3556" local_entity="0" value="0" />
+ <value cell_index="3557" local_entity="0" value="0" />
+ <value cell_index="3558" local_entity="0" value="0" />
+ <value cell_index="3559" local_entity="0" value="0" />
+ <value cell_index="3560" local_entity="0" value="0" />
+ <value cell_index="3561" local_entity="0" value="0" />
+ <value cell_index="3562" local_entity="0" value="0" />
+ <value cell_index="3563" local_entity="0" value="0" />
+ <value cell_index="3564" local_entity="0" value="0" />
+ <value cell_index="3565" local_entity="0" value="0" />
+ <value cell_index="3566" local_entity="0" value="0" />
+ <value cell_index="3567" local_entity="0" value="0" />
+ <value cell_index="3568" local_entity="0" value="0" />
+ <value cell_index="3569" local_entity="0" value="0" />
+ <value cell_index="3570" local_entity="0" value="0" />
+ <value cell_index="3571" local_entity="0" value="0" />
+ <value cell_index="3572" local_entity="0" value="0" />
+ <value cell_index="3573" local_entity="0" value="0" />
+ <value cell_index="3574" local_entity="0" value="0" />
+ <value cell_index="3575" local_entity="0" value="0" />
+ <value cell_index="3576" local_entity="0" value="0" />
+ <value cell_index="3577" local_entity="0" value="0" />
+ <value cell_index="3578" local_entity="0" value="0" />
+ <value cell_index="3579" local_entity="0" value="0" />
+ <value cell_index="3580" local_entity="0" value="0" />
+ <value cell_index="3581" local_entity="0" value="0" />
+ <value cell_index="3582" local_entity="0" value="0" />
+ <value cell_index="3583" local_entity="0" value="0" />
+ <value cell_index="3584" local_entity="0" value="0" />
+ <value cell_index="3585" local_entity="0" value="0" />
+ <value cell_index="3586" local_entity="0" value="0" />
+ <value cell_index="3587" local_entity="0" value="0" />
+ <value cell_index="3588" local_entity="0" value="0" />
+ <value cell_index="3589" local_entity="0" value="0" />
+ <value cell_index="3590" local_entity="0" value="0" />
+ <value cell_index="3591" local_entity="0" value="0" />
+ <value cell_index="3592" local_entity="0" value="0" />
+ <value cell_index="3593" local_entity="0" value="0" />
+ <value cell_index="3594" local_entity="0" value="0" />
+ <value cell_index="3595" local_entity="0" value="0" />
+ <value cell_index="3596" local_entity="0" value="0" />
+ <value cell_index="3597" local_entity="0" value="0" />
+ <value cell_index="3598" local_entity="0" value="0" />
+ <value cell_index="3599" local_entity="0" value="0" />
+ <value cell_index="3600" local_entity="0" value="0" />
+ <value cell_index="3601" local_entity="0" value="0" />
+ <value cell_index="3602" local_entity="0" value="0" />
+ <value cell_index="3603" local_entity="0" value="0" />
+ <value cell_index="3604" local_entity="0" value="0" />
+ <value cell_index="3605" local_entity="0" value="0" />
+ <value cell_index="3606" local_entity="0" value="0" />
+ <value cell_index="3607" local_entity="0" value="0" />
+ <value cell_index="3608" local_entity="0" value="0" />
+ <value cell_index="3609" local_entity="0" value="0" />
+ <value cell_index="3610" local_entity="0" value="0" />
+ <value cell_index="3611" local_entity="0" value="0" />
+ <value cell_index="3612" local_entity="0" value="0" />
+ <value cell_index="3613" local_entity="0" value="0" />
+ <value cell_index="3614" local_entity="0" value="0" />
+ <value cell_index="3615" local_entity="0" value="0" />
+ <value cell_index="3616" local_entity="0" value="0" />
+ <value cell_index="3617" local_entity="0" value="0" />
+ <value cell_index="3618" local_entity="0" value="0" />
+ <value cell_index="3619" local_entity="0" value="0" />
+ <value cell_index="3620" local_entity="0" value="0" />
+ <value cell_index="3621" local_entity="0" value="0" />
+ <value cell_index="3622" local_entity="0" value="0" />
+ <value cell_index="3623" local_entity="0" value="0" />
+ <value cell_index="3624" local_entity="0" value="0" />
+ <value cell_index="3625" local_entity="0" value="0" />
+ <value cell_index="3626" local_entity="0" value="0" />
+ <value cell_index="3627" local_entity="0" value="0" />
+ <value cell_index="3628" local_entity="0" value="0" />
+ <value cell_index="3629" local_entity="0" value="0" />
+ <value cell_index="3630" local_entity="0" value="0" />
+ <value cell_index="3631" local_entity="0" value="0" />
+ <value cell_index="3632" local_entity="0" value="0" />
+ <value cell_index="3633" local_entity="0" value="0" />
+ <value cell_index="3634" local_entity="0" value="0" />
+ <value cell_index="3635" local_entity="0" value="0" />
+ <value cell_index="3636" local_entity="0" value="0" />
+ <value cell_index="3637" local_entity="0" value="0" />
+ <value cell_index="3638" local_entity="0" value="0" />
+ <value cell_index="3639" local_entity="0" value="0" />
+ <value cell_index="3640" local_entity="0" value="0" />
+ <value cell_index="3641" local_entity="0" value="0" />
+ <value cell_index="3642" local_entity="0" value="0" />
+ <value cell_index="3643" local_entity="0" value="0" />
+ <value cell_index="3644" local_entity="0" value="0" />
+ <value cell_index="3645" local_entity="0" value="0" />
+ <value cell_index="3646" local_entity="0" value="0" />
+ <value cell_index="3647" local_entity="0" value="0" />
+ <value cell_index="3648" local_entity="0" value="0" />
+ <value cell_index="3649" local_entity="0" value="0" />
+ <value cell_index="3650" local_entity="0" value="0" />
+ <value cell_index="3651" local_entity="0" value="0" />
+ <value cell_index="3652" local_entity="0" value="0" />
+ <value cell_index="3653" local_entity="0" value="0" />
+ <value cell_index="3654" local_entity="0" value="0" />
+ <value cell_index="3655" local_entity="0" value="0" />
+ <value cell_index="3656" local_entity="0" value="0" />
+ <value cell_index="3657" local_entity="0" value="0" />
+ <value cell_index="3658" local_entity="0" value="0" />
+ <value cell_index="3659" local_entity="0" value="0" />
+ <value cell_index="3660" local_entity="0" value="0" />
+ <value cell_index="3661" local_entity="0" value="0" />
+ <value cell_index="3662" local_entity="0" value="0" />
+ <value cell_index="3663" local_entity="0" value="0" />
+ <value cell_index="3664" local_entity="0" value="0" />
+ <value cell_index="3665" local_entity="0" value="0" />
+ <value cell_index="3666" local_entity="0" value="0" />
+ <value cell_index="3667" local_entity="0" value="0" />
+ <value cell_index="3668" local_entity="0" value="0" />
+ <value cell_index="3669" local_entity="0" value="0" />
+ <value cell_index="3670" local_entity="0" value="0" />
+ <value cell_index="3671" local_entity="0" value="0" />
+ <value cell_index="3672" local_entity="0" value="0" />
+ <value cell_index="3673" local_entity="0" value="0" />
+ <value cell_index="3674" local_entity="0" value="0" />
+ <value cell_index="3675" local_entity="0" value="0" />
+ <value cell_index="3676" local_entity="0" value="0" />
+ <value cell_index="3677" local_entity="0" value="0" />
+ <value cell_index="3678" local_entity="0" value="0" />
+ <value cell_index="3679" local_entity="0" value="0" />
+ <value cell_index="3680" local_entity="0" value="0" />
+ <value cell_index="3681" local_entity="0" value="0" />
+ <value cell_index="3682" local_entity="0" value="0" />
+ <value cell_index="3683" local_entity="0" value="0" />
+ <value cell_index="3684" local_entity="0" value="0" />
+ <value cell_index="3685" local_entity="0" value="0" />
+ <value cell_index="3686" local_entity="0" value="0" />
+ <value cell_index="3687" local_entity="0" value="0" />
+ <value cell_index="3688" local_entity="0" value="0" />
+ <value cell_index="3689" local_entity="0" value="0" />
+ <value cell_index="3690" local_entity="0" value="0" />
+ <value cell_index="3691" local_entity="0" value="0" />
+ <value cell_index="3692" local_entity="0" value="0" />
+ <value cell_index="3693" local_entity="0" value="0" />
+ <value cell_index="3694" local_entity="0" value="0" />
+ <value cell_index="3695" local_entity="0" value="0" />
+ <value cell_index="3696" local_entity="0" value="0" />
+ <value cell_index="3697" local_entity="0" value="0" />
+ <value cell_index="3698" local_entity="0" value="0" />
+ <value cell_index="3699" local_entity="0" value="0" />
+ <value cell_index="3700" local_entity="0" value="0" />
+ <value cell_index="3701" local_entity="0" value="0" />
+ <value cell_index="3702" local_entity="0" value="0" />
+ <value cell_index="3703" local_entity="0" value="0" />
+ <value cell_index="3704" local_entity="0" value="0" />
+ <value cell_index="3705" local_entity="0" value="0" />
+ <value cell_index="3706" local_entity="0" value="0" />
+ <value cell_index="3707" local_entity="0" value="0" />
+ <value cell_index="3708" local_entity="0" value="0" />
+ <value cell_index="3709" local_entity="0" value="0" />
+ <value cell_index="3710" local_entity="0" value="0" />
+ <value cell_index="3711" local_entity="0" value="0" />
+ <value cell_index="3712" local_entity="0" value="0" />
+ <value cell_index="3713" local_entity="0" value="0" />
+ <value cell_index="3714" local_entity="0" value="0" />
+ <value cell_index="3715" local_entity="0" value="0" />
+ <value cell_index="3716" local_entity="0" value="0" />
+ <value cell_index="3717" local_entity="0" value="0" />
+ <value cell_index="3718" local_entity="0" value="0" />
+ <value cell_index="3719" local_entity="0" value="0" />
+ <value cell_index="3720" local_entity="0" value="0" />
+ <value cell_index="3721" local_entity="0" value="0" />
+ <value cell_index="3722" local_entity="0" value="0" />
+ <value cell_index="3723" local_entity="0" value="0" />
+ <value cell_index="3724" local_entity="0" value="0" />
+ <value cell_index="3725" local_entity="0" value="0" />
+ <value cell_index="3726" local_entity="0" value="0" />
+ <value cell_index="3727" local_entity="0" value="0" />
+ <value cell_index="3728" local_entity="0" value="0" />
+ <value cell_index="3729" local_entity="0" value="0" />
+ <value cell_index="3730" local_entity="0" value="0" />
+ <value cell_index="3731" local_entity="0" value="0" />
+ <value cell_index="3732" local_entity="0" value="0" />
+ <value cell_index="3733" local_entity="0" value="0" />
+ <value cell_index="3734" local_entity="0" value="0" />
+ <value cell_index="3735" local_entity="0" value="0" />
+ <value cell_index="3736" local_entity="0" value="0" />
+ <value cell_index="3737" local_entity="0" value="0" />
+ <value cell_index="3738" local_entity="0" value="0" />
+ <value cell_index="3739" local_entity="0" value="0" />
+ <value cell_index="3740" local_entity="0" value="0" />
+ <value cell_index="3741" local_entity="0" value="0" />
+ <value cell_index="3742" local_entity="0" value="0" />
+ <value cell_index="3743" local_entity="0" value="0" />
+ <value cell_index="3744" local_entity="0" value="0" />
+ <value cell_index="3745" local_entity="0" value="0" />
+ <value cell_index="3746" local_entity="0" value="0" />
+ <value cell_index="3747" local_entity="0" value="0" />
+ <value cell_index="3748" local_entity="0" value="0" />
+ <value cell_index="3749" local_entity="0" value="0" />
+ <value cell_index="3750" local_entity="0" value="0" />
+ <value cell_index="3751" local_entity="0" value="0" />
+ <value cell_index="3752" local_entity="0" value="0" />
+ <value cell_index="3753" local_entity="0" value="0" />
+ <value cell_index="3754" local_entity="0" value="0" />
+ <value cell_index="3755" local_entity="0" value="0" />
+ <value cell_index="3756" local_entity="0" value="0" />
+ <value cell_index="3757" local_entity="0" value="0" />
+ <value cell_index="3758" local_entity="0" value="0" />
+ <value cell_index="3759" local_entity="0" value="0" />
+ <value cell_index="3760" local_entity="0" value="0" />
+ <value cell_index="3761" local_entity="0" value="0" />
+ <value cell_index="3762" local_entity="0" value="0" />
+ <value cell_index="3763" local_entity="0" value="0" />
+ <value cell_index="3764" local_entity="0" value="0" />
+ <value cell_index="3765" local_entity="0" value="0" />
+ <value cell_index="3766" local_entity="0" value="0" />
+ <value cell_index="3767" local_entity="0" value="0" />
+ <value cell_index="3768" local_entity="0" value="0" />
+ <value cell_index="3769" local_entity="0" value="0" />
+ <value cell_index="3770" local_entity="0" value="0" />
+ <value cell_index="3771" local_entity="0" value="0" />
+ <value cell_index="3772" local_entity="0" value="0" />
+ <value cell_index="3773" local_entity="0" value="0" />
+ <value cell_index="3774" local_entity="0" value="0" />
+ <value cell_index="3775" local_entity="0" value="0" />
+ <value cell_index="3776" local_entity="0" value="0" />
+ <value cell_index="3777" local_entity="0" value="0" />
+ <value cell_index="3778" local_entity="0" value="0" />
+ <value cell_index="3779" local_entity="0" value="0" />
+ <value cell_index="3780" local_entity="0" value="0" />
+ <value cell_index="3781" local_entity="0" value="0" />
+ <value cell_index="3782" local_entity="0" value="0" />
+ <value cell_index="3783" local_entity="0" value="0" />
+ <value cell_index="3784" local_entity="0" value="0" />
+ <value cell_index="3785" local_entity="0" value="0" />
+ <value cell_index="3786" local_entity="0" value="0" />
+ <value cell_index="3787" local_entity="0" value="0" />
+ <value cell_index="3788" local_entity="0" value="0" />
+ <value cell_index="3789" local_entity="0" value="0" />
+ <value cell_index="3790" local_entity="0" value="0" />
+ <value cell_index="3791" local_entity="0" value="0" />
+ <value cell_index="3792" local_entity="0" value="0" />
+ <value cell_index="3793" local_entity="0" value="0" />
+ <value cell_index="3794" local_entity="0" value="0" />
+ <value cell_index="3795" local_entity="0" value="0" />
+ <value cell_index="3796" local_entity="0" value="0" />
+ <value cell_index="3797" local_entity="0" value="0" />
+ <value cell_index="3798" local_entity="0" value="0" />
+ <value cell_index="3799" local_entity="0" value="0" />
+ <value cell_index="3800" local_entity="0" value="0" />
+ <value cell_index="3801" local_entity="0" value="0" />
+ <value cell_index="3802" local_entity="0" value="0" />
+ <value cell_index="3803" local_entity="0" value="0" />
+ <value cell_index="3804" local_entity="0" value="0" />
+ <value cell_index="3805" local_entity="0" value="0" />
+ <value cell_index="3806" local_entity="0" value="0" />
+ <value cell_index="3807" local_entity="0" value="0" />
+ <value cell_index="3808" local_entity="0" value="0" />
+ <value cell_index="3809" local_entity="0" value="0" />
+ <value cell_index="3810" local_entity="0" value="0" />
+ <value cell_index="3811" local_entity="0" value="0" />
+ <value cell_index="3812" local_entity="0" value="0" />
+ <value cell_index="3813" local_entity="0" value="0" />
+ <value cell_index="3814" local_entity="0" value="0" />
+ <value cell_index="3815" local_entity="0" value="0" />
+ <value cell_index="3816" local_entity="0" value="0" />
+ <value cell_index="3817" local_entity="0" value="0" />
+ <value cell_index="3818" local_entity="0" value="0" />
+ <value cell_index="3819" local_entity="0" value="0" />
+ <value cell_index="3820" local_entity="0" value="0" />
+ <value cell_index="3821" local_entity="0" value="0" />
+ <value cell_index="3822" local_entity="0" value="0" />
+ <value cell_index="3823" local_entity="0" value="0" />
+ <value cell_index="3824" local_entity="0" value="0" />
+ <value cell_index="3825" local_entity="0" value="0" />
+ <value cell_index="3826" local_entity="0" value="0" />
+ <value cell_index="3827" local_entity="0" value="0" />
+ <value cell_index="3828" local_entity="0" value="0" />
+ <value cell_index="3829" local_entity="0" value="0" />
+ <value cell_index="3830" local_entity="0" value="0" />
+ <value cell_index="3831" local_entity="0" value="0" />
+ <value cell_index="3832" local_entity="0" value="0" />
+ <value cell_index="3833" local_entity="0" value="0" />
+ <value cell_index="3834" local_entity="0" value="0" />
+ <value cell_index="3835" local_entity="0" value="0" />
+ <value cell_index="3836" local_entity="0" value="0" />
+ <value cell_index="3837" local_entity="0" value="0" />
+ <value cell_index="3838" local_entity="0" value="0" />
+ <value cell_index="3839" local_entity="0" value="0" />
+ <value cell_index="3840" local_entity="0" value="0" />
+ <value cell_index="3841" local_entity="0" value="0" />
+ <value cell_index="3842" local_entity="0" value="0" />
+ <value cell_index="3843" local_entity="0" value="0" />
+ <value cell_index="3844" local_entity="0" value="0" />
+ <value cell_index="3845" local_entity="0" value="0" />
+ <value cell_index="3846" local_entity="0" value="0" />
+ <value cell_index="3847" local_entity="0" value="0" />
+ <value cell_index="3848" local_entity="0" value="0" />
+ <value cell_index="3849" local_entity="0" value="0" />
+ <value cell_index="3850" local_entity="0" value="0" />
+ <value cell_index="3851" local_entity="0" value="0" />
+ <value cell_index="3852" local_entity="0" value="0" />
+ <value cell_index="3853" local_entity="0" value="0" />
+ <value cell_index="3854" local_entity="0" value="0" />
+ <value cell_index="3855" local_entity="0" value="0" />
+ <value cell_index="3856" local_entity="0" value="0" />
+ <value cell_index="3857" local_entity="0" value="0" />
+ <value cell_index="3858" local_entity="0" value="0" />
+ <value cell_index="3859" local_entity="0" value="0" />
+ <value cell_index="3860" local_entity="0" value="0" />
+ <value cell_index="3861" local_entity="0" value="0" />
+ <value cell_index="3862" local_entity="0" value="0" />
+ <value cell_index="3863" local_entity="0" value="0" />
+ <value cell_index="3864" local_entity="0" value="0" />
+ <value cell_index="3865" local_entity="0" value="0" />
+ <value cell_index="3866" local_entity="0" value="0" />
+ <value cell_index="3867" local_entity="0" value="0" />
+ <value cell_index="3868" local_entity="0" value="0" />
+ <value cell_index="3869" local_entity="0" value="0" />
+ <value cell_index="3870" local_entity="0" value="0" />
+ <value cell_index="3871" local_entity="0" value="0" />
+ <value cell_index="3872" local_entity="0" value="0" />
+ <value cell_index="3873" local_entity="0" value="0" />
+ <value cell_index="3874" local_entity="0" value="0" />
+ <value cell_index="3875" local_entity="0" value="0" />
+ <value cell_index="3876" local_entity="0" value="0" />
+ <value cell_index="3877" local_entity="0" value="0" />
+ <value cell_index="3878" local_entity="0" value="0" />
+ <value cell_index="3879" local_entity="0" value="0" />
+ <value cell_index="3880" local_entity="0" value="0" />
+ <value cell_index="3881" local_entity="0" value="0" />
+ <value cell_index="3882" local_entity="0" value="0" />
+ <value cell_index="3883" local_entity="0" value="0" />
+ <value cell_index="3884" local_entity="0" value="0" />
+ <value cell_index="3885" local_entity="0" value="0" />
+ <value cell_index="3886" local_entity="0" value="0" />
+ <value cell_index="3887" local_entity="0" value="0" />
+ <value cell_index="3888" local_entity="0" value="0" />
+ <value cell_index="3889" local_entity="0" value="0" />
+ <value cell_index="3890" local_entity="0" value="0" />
+ <value cell_index="3891" local_entity="0" value="0" />
+ <value cell_index="3892" local_entity="0" value="0" />
+ <value cell_index="3893" local_entity="0" value="0" />
+ <value cell_index="3894" local_entity="0" value="0" />
+ <value cell_index="3895" local_entity="0" value="0" />
+ <value cell_index="3896" local_entity="0" value="0" />
+ <value cell_index="3897" local_entity="0" value="0" />
+ <value cell_index="3898" local_entity="0" value="0" />
+ <value cell_index="3899" local_entity="0" value="0" />
+ <value cell_index="3900" local_entity="0" value="0" />
+ <value cell_index="3901" local_entity="0" value="0" />
+ <value cell_index="3902" local_entity="0" value="0" />
+ <value cell_index="3903" local_entity="0" value="0" />
+ <value cell_index="3904" local_entity="0" value="0" />
+ <value cell_index="3905" local_entity="0" value="0" />
+ <value cell_index="3906" local_entity="0" value="0" />
+ <value cell_index="3907" local_entity="0" value="0" />
+ <value cell_index="3908" local_entity="0" value="0" />
+ <value cell_index="3909" local_entity="0" value="0" />
+ <value cell_index="3910" local_entity="0" value="0" />
+ <value cell_index="3911" local_entity="0" value="0" />
+ <value cell_index="3912" local_entity="0" value="0" />
+ <value cell_index="3913" local_entity="0" value="0" />
+ <value cell_index="3914" local_entity="0" value="0" />
+ <value cell_index="3915" local_entity="0" value="0" />
+ <value cell_index="3916" local_entity="0" value="0" />
+ <value cell_index="3917" local_entity="0" value="0" />
+ <value cell_index="3918" local_entity="0" value="0" />
+ <value cell_index="3919" local_entity="0" value="0" />
+ <value cell_index="3920" local_entity="0" value="0" />
+ <value cell_index="3921" local_entity="0" value="0" />
+ <value cell_index="3922" local_entity="0" value="0" />
+ <value cell_index="3923" local_entity="0" value="0" />
+ <value cell_index="3924" local_entity="0" value="0" />
+ <value cell_index="3925" local_entity="0" value="0" />
+ <value cell_index="3926" local_entity="0" value="0" />
+ <value cell_index="3927" local_entity="0" value="0" />
+ <value cell_index="3928" local_entity="0" value="0" />
+ <value cell_index="3929" local_entity="0" value="0" />
+ <value cell_index="3930" local_entity="0" value="0" />
+ <value cell_index="3931" local_entity="0" value="0" />
+ <value cell_index="3932" local_entity="0" value="0" />
+ <value cell_index="3933" local_entity="0" value="0" />
+ <value cell_index="3934" local_entity="0" value="0" />
+ <value cell_index="3935" local_entity="0" value="0" />
+ <value cell_index="3936" local_entity="0" value="0" />
+ <value cell_index="3937" local_entity="0" value="0" />
+ <value cell_index="3938" local_entity="0" value="0" />
+ <value cell_index="3939" local_entity="0" value="0" />
+ <value cell_index="3940" local_entity="0" value="0" />
+ <value cell_index="3941" local_entity="0" value="0" />
+ <value cell_index="3942" local_entity="0" value="0" />
+ <value cell_index="3943" local_entity="0" value="0" />
+ <value cell_index="3944" local_entity="0" value="0" />
+ <value cell_index="3945" local_entity="0" value="0" />
+ <value cell_index="3946" local_entity="0" value="0" />
+ <value cell_index="3947" local_entity="0" value="0" />
+ <value cell_index="3948" local_entity="0" value="0" />
+ <value cell_index="3949" local_entity="0" value="0" />
+ <value cell_index="3950" local_entity="0" value="0" />
+ <value cell_index="3951" local_entity="0" value="0" />
+ <value cell_index="3952" local_entity="0" value="0" />
+ <value cell_index="3953" local_entity="0" value="0" />
+ <value cell_index="3954" local_entity="0" value="0" />
+ <value cell_index="3955" local_entity="0" value="0" />
+ <value cell_index="3956" local_entity="0" value="0" />
+ <value cell_index="3957" local_entity="0" value="0" />
+ <value cell_index="3958" local_entity="0" value="0" />
+ <value cell_index="3959" local_entity="0" value="0" />
+ <value cell_index="3960" local_entity="0" value="0" />
+ <value cell_index="3961" local_entity="0" value="0" />
+ <value cell_index="3962" local_entity="0" value="0" />
+ <value cell_index="3963" local_entity="0" value="0" />
+ <value cell_index="3964" local_entity="0" value="0" />
+ <value cell_index="3965" local_entity="0" value="0" />
+ <value cell_index="3966" local_entity="0" value="0" />
+ <value cell_index="3967" local_entity="0" value="0" />
+ <value cell_index="3968" local_entity="0" value="0" />
+ <value cell_index="3969" local_entity="0" value="0" />
+ <value cell_index="3970" local_entity="0" value="0" />
+ <value cell_index="3971" local_entity="0" value="0" />
+ <value cell_index="3972" local_entity="0" value="0" />
+ <value cell_index="3973" local_entity="0" value="0" />
+ <value cell_index="3974" local_entity="0" value="0" />
+ <value cell_index="3975" local_entity="0" value="0" />
+ <value cell_index="3976" local_entity="0" value="0" />
+ <value cell_index="3977" local_entity="0" value="0" />
+ <value cell_index="3978" local_entity="0" value="0" />
+ <value cell_index="3979" local_entity="0" value="0" />
+ <value cell_index="3980" local_entity="0" value="0" />
+ <value cell_index="3981" local_entity="0" value="0" />
+ <value cell_index="3982" local_entity="0" value="0" />
+ <value cell_index="3983" local_entity="0" value="0" />
+ <value cell_index="3984" local_entity="0" value="0" />
+ <value cell_index="3985" local_entity="0" value="0" />
+ <value cell_index="3986" local_entity="0" value="0" />
+ <value cell_index="3987" local_entity="0" value="0" />
+ <value cell_index="3988" local_entity="0" value="0" />
+ <value cell_index="3989" local_entity="0" value="0" />
+ <value cell_index="3990" local_entity="0" value="0" />
+ <value cell_index="3991" local_entity="0" value="0" />
+ <value cell_index="3992" local_entity="0" value="0" />
+ <value cell_index="3993" local_entity="0" value="0" />
+ <value cell_index="3994" local_entity="0" value="0" />
+ <value cell_index="3995" local_entity="0" value="0" />
+ <value cell_index="3996" local_entity="0" value="0" />
+ <value cell_index="3997" local_entity="0" value="0" />
+ <value cell_index="3998" local_entity="0" value="0" />
+ <value cell_index="3999" local_entity="0" value="0" />
+ <value cell_index="4000" local_entity="0" value="0" />
+ <value cell_index="4001" local_entity="0" value="0" />
+ <value cell_index="4002" local_entity="0" value="0" />
+ <value cell_index="4003" local_entity="0" value="0" />
+ <value cell_index="4004" local_entity="0" value="0" />
+ <value cell_index="4005" local_entity="0" value="0" />
+ <value cell_index="4006" local_entity="0" value="0" />
+ <value cell_index="4007" local_entity="0" value="0" />
+ <value cell_index="4008" local_entity="0" value="0" />
+ <value cell_index="4009" local_entity="0" value="0" />
+ <value cell_index="4010" local_entity="0" value="0" />
+ <value cell_index="4011" local_entity="0" value="0" />
+ <value cell_index="4012" local_entity="0" value="0" />
+ <value cell_index="4013" local_entity="0" value="0" />
+ <value cell_index="4014" local_entity="0" value="0" />
+ <value cell_index="4015" local_entity="0" value="0" />
+ <value cell_index="4016" local_entity="0" value="0" />
+ <value cell_index="4017" local_entity="0" value="0" />
+ <value cell_index="4018" local_entity="0" value="0" />
+ <value cell_index="4019" local_entity="0" value="0" />
+ <value cell_index="4020" local_entity="0" value="0" />
+ <value cell_index="4021" local_entity="0" value="0" />
+ <value cell_index="4022" local_entity="0" value="0" />
+ <value cell_index="4023" local_entity="0" value="0" />
+ <value cell_index="4024" local_entity="0" value="0" />
+ <value cell_index="4025" local_entity="0" value="0" />
+ <value cell_index="4026" local_entity="0" value="0" />
+ <value cell_index="4027" local_entity="0" value="0" />
+ <value cell_index="4028" local_entity="0" value="0" />
+ <value cell_index="4029" local_entity="0" value="0" />
+ <value cell_index="4030" local_entity="0" value="0" />
+ <value cell_index="4031" local_entity="0" value="0" />
+ <value cell_index="4032" local_entity="0" value="0" />
+ <value cell_index="4033" local_entity="0" value="0" />
+ <value cell_index="4034" local_entity="0" value="0" />
+ <value cell_index="4035" local_entity="0" value="0" />
+ <value cell_index="4036" local_entity="0" value="0" />
+ <value cell_index="4037" local_entity="0" value="0" />
+ <value cell_index="4038" local_entity="0" value="0" />
+ <value cell_index="4039" local_entity="0" value="0" />
+ <value cell_index="4040" local_entity="0" value="0" />
+ <value cell_index="4041" local_entity="0" value="0" />
+ <value cell_index="4042" local_entity="0" value="0" />
+ <value cell_index="4043" local_entity="0" value="0" />
+ <value cell_index="4044" local_entity="0" value="0" />
+ <value cell_index="4045" local_entity="0" value="0" />
+ <value cell_index="4046" local_entity="0" value="0" />
+ <value cell_index="4047" local_entity="0" value="0" />
+ <value cell_index="4048" local_entity="0" value="0" />
+ <value cell_index="4049" local_entity="0" value="0" />
+ <value cell_index="4050" local_entity="0" value="0" />
+ <value cell_index="4051" local_entity="0" value="0" />
+ <value cell_index="4052" local_entity="0" value="0" />
+ <value cell_index="4053" local_entity="0" value="0" />
+ <value cell_index="4054" local_entity="0" value="0" />
+ <value cell_index="4055" local_entity="0" value="0" />
+ <value cell_index="4056" local_entity="0" value="0" />
+ <value cell_index="4057" local_entity="0" value="0" />
+ <value cell_index="4058" local_entity="0" value="0" />
+ <value cell_index="4059" local_entity="0" value="0" />
+ <value cell_index="4060" local_entity="0" value="0" />
+ <value cell_index="4061" local_entity="0" value="0" />
+ <value cell_index="4062" local_entity="0" value="0" />
+ <value cell_index="4063" local_entity="0" value="0" />
+ <value cell_index="4064" local_entity="0" value="0" />
+ <value cell_index="4065" local_entity="0" value="0" />
+ <value cell_index="4066" local_entity="0" value="0" />
+ <value cell_index="4067" local_entity="0" value="0" />
+ <value cell_index="4068" local_entity="0" value="0" />
+ <value cell_index="4069" local_entity="0" value="0" />
+ <value cell_index="4070" local_entity="0" value="0" />
+ <value cell_index="4071" local_entity="0" value="0" />
+ <value cell_index="4072" local_entity="0" value="0" />
+ <value cell_index="4073" local_entity="0" value="0" />
+ <value cell_index="4074" local_entity="0" value="0" />
+ <value cell_index="4075" local_entity="0" value="0" />
+ <value cell_index="4076" local_entity="0" value="0" />
+ <value cell_index="4077" local_entity="0" value="0" />
+ <value cell_index="4078" local_entity="0" value="0" />
+ <value cell_index="4079" local_entity="0" value="0" />
+ <value cell_index="4080" local_entity="0" value="0" />
+ <value cell_index="4081" local_entity="0" value="0" />
+ <value cell_index="4082" local_entity="0" value="0" />
+ <value cell_index="4083" local_entity="0" value="0" />
+ <value cell_index="4084" local_entity="0" value="0" />
+ <value cell_index="4085" local_entity="0" value="0" />
+ <value cell_index="4086" local_entity="0" value="0" />
+ <value cell_index="4087" local_entity="0" value="0" />
+ <value cell_index="4088" local_entity="0" value="0" />
+ <value cell_index="4089" local_entity="0" value="0" />
+ <value cell_index="4090" local_entity="0" value="0" />
+ <value cell_index="4091" local_entity="0" value="0" />
+ <value cell_index="4092" local_entity="0" value="0" />
+ <value cell_index="4093" local_entity="0" value="0" />
+ <value cell_index="4094" local_entity="0" value="0" />
+ <value cell_index="4095" local_entity="0" value="0" />
+ <value cell_index="4096" local_entity="0" value="0" />
+ <value cell_index="4097" local_entity="0" value="0" />
+ <value cell_index="4098" local_entity="0" value="0" />
+ <value cell_index="4099" local_entity="0" value="0" />
+ <value cell_index="4100" local_entity="0" value="0" />
+ <value cell_index="4101" local_entity="0" value="0" />
+ <value cell_index="4102" local_entity="0" value="0" />
+ <value cell_index="4103" local_entity="0" value="0" />
+ <value cell_index="4104" local_entity="0" value="0" />
+ <value cell_index="4105" local_entity="0" value="0" />
+ <value cell_index="4106" local_entity="0" value="0" />
+ <value cell_index="4107" local_entity="0" value="0" />
+ <value cell_index="4108" local_entity="0" value="0" />
+ <value cell_index="4109" local_entity="0" value="0" />
+ <value cell_index="4110" local_entity="0" value="0" />
+ <value cell_index="4111" local_entity="0" value="0" />
+ <value cell_index="4112" local_entity="0" value="0" />
+ <value cell_index="4113" local_entity="0" value="0" />
+ <value cell_index="4114" local_entity="0" value="0" />
+ <value cell_index="4115" local_entity="0" value="0" />
+ <value cell_index="4116" local_entity="0" value="0" />
+ <value cell_index="4117" local_entity="0" value="0" />
+ <value cell_index="4118" local_entity="0" value="0" />
+ <value cell_index="4119" local_entity="0" value="0" />
+ <value cell_index="4120" local_entity="0" value="0" />
+ <value cell_index="4121" local_entity="0" value="0" />
+ <value cell_index="4122" local_entity="0" value="0" />
+ <value cell_index="4123" local_entity="0" value="0" />
+ <value cell_index="4124" local_entity="0" value="0" />
+ <value cell_index="4125" local_entity="0" value="0" />
+ <value cell_index="4126" local_entity="0" value="0" />
+ <value cell_index="4127" local_entity="0" value="0" />
+ <value cell_index="4128" local_entity="0" value="0" />
+ <value cell_index="4129" local_entity="0" value="0" />
+ <value cell_index="4130" local_entity="0" value="0" />
+ <value cell_index="4131" local_entity="0" value="0" />
+ <value cell_index="4132" local_entity="0" value="0" />
+ <value cell_index="4133" local_entity="0" value="0" />
+ <value cell_index="4134" local_entity="0" value="0" />
+ <value cell_index="4135" local_entity="0" value="0" />
+ <value cell_index="4136" local_entity="0" value="0" />
+ <value cell_index="4137" local_entity="0" value="0" />
+ <value cell_index="4138" local_entity="0" value="0" />
+ <value cell_index="4139" local_entity="0" value="0" />
+ <value cell_index="4140" local_entity="0" value="0" />
+ <value cell_index="4141" local_entity="0" value="0" />
+ <value cell_index="4142" local_entity="0" value="0" />
+ <value cell_index="4143" local_entity="0" value="0" />
+ <value cell_index="4144" local_entity="0" value="0" />
+ <value cell_index="4145" local_entity="0" value="0" />
+ <value cell_index="4146" local_entity="0" value="0" />
+ <value cell_index="4147" local_entity="0" value="0" />
+ <value cell_index="4148" local_entity="0" value="0" />
+ <value cell_index="4149" local_entity="0" value="0" />
+ <value cell_index="4150" local_entity="0" value="0" />
+ <value cell_index="4151" local_entity="0" value="0" />
+ <value cell_index="4152" local_entity="0" value="0" />
+ <value cell_index="4153" local_entity="0" value="0" />
+ <value cell_index="4154" local_entity="0" value="0" />
+ <value cell_index="4155" local_entity="0" value="0" />
+ <value cell_index="4156" local_entity="0" value="0" />
+ <value cell_index="4157" local_entity="0" value="0" />
+ <value cell_index="4158" local_entity="0" value="0" />
+ <value cell_index="4159" local_entity="0" value="0" />
+ <value cell_index="4160" local_entity="0" value="0" />
+ <value cell_index="4161" local_entity="0" value="0" />
+ <value cell_index="4162" local_entity="0" value="0" />
+ <value cell_index="4163" local_entity="0" value="0" />
+ <value cell_index="4164" local_entity="0" value="0" />
+ <value cell_index="4165" local_entity="0" value="0" />
+ <value cell_index="4166" local_entity="0" value="0" />
+ <value cell_index="4167" local_entity="0" value="0" />
+ <value cell_index="4168" local_entity="0" value="0" />
+ <value cell_index="4169" local_entity="0" value="0" />
+ <value cell_index="4170" local_entity="0" value="0" />
+ <value cell_index="4171" local_entity="0" value="0" />
+ <value cell_index="4172" local_entity="0" value="0" />
+ <value cell_index="4173" local_entity="0" value="0" />
+ <value cell_index="4174" local_entity="0" value="0" />
+ <value cell_index="4175" local_entity="0" value="0" />
+ <value cell_index="4176" local_entity="0" value="0" />
+ <value cell_index="4177" local_entity="0" value="0" />
+ <value cell_index="4178" local_entity="0" value="0" />
+ <value cell_index="4179" local_entity="0" value="0" />
+ <value cell_index="4180" local_entity="0" value="0" />
+ <value cell_index="4181" local_entity="0" value="0" />
+ <value cell_index="4182" local_entity="0" value="0" />
+ <value cell_index="4183" local_entity="0" value="0" />
+ <value cell_index="4184" local_entity="0" value="0" />
+ <value cell_index="4185" local_entity="0" value="0" />
+ <value cell_index="4186" local_entity="0" value="0" />
+ <value cell_index="4187" local_entity="0" value="0" />
+ <value cell_index="4188" local_entity="0" value="0" />
+ <value cell_index="4189" local_entity="0" value="0" />
+ <value cell_index="4190" local_entity="0" value="0" />
+ <value cell_index="4191" local_entity="0" value="0" />
+ <value cell_index="4192" local_entity="0" value="0" />
+ <value cell_index="4193" local_entity="0" value="0" />
+ <value cell_index="4194" local_entity="0" value="0" />
+ <value cell_index="4195" local_entity="0" value="0" />
+ <value cell_index="4196" local_entity="0" value="0" />
+ <value cell_index="4197" local_entity="0" value="0" />
+ <value cell_index="4198" local_entity="0" value="0" />
+ <value cell_index="4199" local_entity="0" value="0" />
+ <value cell_index="4200" local_entity="0" value="0" />
+ <value cell_index="4201" local_entity="0" value="0" />
+ <value cell_index="4202" local_entity="0" value="0" />
+ <value cell_index="4203" local_entity="0" value="0" />
+ <value cell_index="4204" local_entity="0" value="0" />
+ <value cell_index="4205" local_entity="0" value="0" />
+ <value cell_index="4206" local_entity="0" value="0" />
+ <value cell_index="4207" local_entity="0" value="0" />
+ <value cell_index="4208" local_entity="0" value="0" />
+ <value cell_index="4209" local_entity="0" value="0" />
+ <value cell_index="4210" local_entity="0" value="0" />
+ <value cell_index="4211" local_entity="0" value="0" />
+ <value cell_index="4212" local_entity="0" value="0" />
+ <value cell_index="4213" local_entity="0" value="0" />
+ <value cell_index="4214" local_entity="0" value="0" />
+ <value cell_index="4215" local_entity="0" value="0" />
+ <value cell_index="4216" local_entity="0" value="0" />
+ <value cell_index="4217" local_entity="0" value="0" />
+ <value cell_index="4218" local_entity="0" value="0" />
+ <value cell_index="4219" local_entity="0" value="0" />
+ <value cell_index="4220" local_entity="0" value="0" />
+ <value cell_index="4221" local_entity="0" value="0" />
+ <value cell_index="4222" local_entity="0" value="0" />
+ <value cell_index="4223" local_entity="0" value="0" />
+ <value cell_index="4224" local_entity="0" value="0" />
+ <value cell_index="4225" local_entity="0" value="0" />
+ <value cell_index="4226" local_entity="0" value="0" />
+ <value cell_index="4227" local_entity="0" value="0" />
+ <value cell_index="4228" local_entity="0" value="0" />
+ <value cell_index="4229" local_entity="0" value="0" />
+ <value cell_index="4230" local_entity="0" value="0" />
+ <value cell_index="4231" local_entity="0" value="0" />
+ <value cell_index="4232" local_entity="0" value="0" />
+ <value cell_index="4233" local_entity="0" value="0" />
+ <value cell_index="4234" local_entity="0" value="0" />
+ <value cell_index="4235" local_entity="0" value="0" />
+ <value cell_index="4236" local_entity="0" value="0" />
+ <value cell_index="4237" local_entity="0" value="0" />
+ <value cell_index="4238" local_entity="0" value="0" />
+ <value cell_index="4239" local_entity="0" value="0" />
+ <value cell_index="4240" local_entity="0" value="0" />
+ <value cell_index="4241" local_entity="0" value="0" />
+ <value cell_index="4242" local_entity="0" value="0" />
+ <value cell_index="4243" local_entity="0" value="0" />
+ <value cell_index="4244" local_entity="0" value="0" />
+ <value cell_index="4245" local_entity="0" value="0" />
+ <value cell_index="4246" local_entity="0" value="0" />
+ <value cell_index="4247" local_entity="0" value="0" />
+ <value cell_index="4248" local_entity="0" value="0" />
+ <value cell_index="4249" local_entity="0" value="0" />
+ <value cell_index="4250" local_entity="0" value="0" />
+ <value cell_index="4251" local_entity="0" value="0" />
+ <value cell_index="4252" local_entity="0" value="0" />
+ <value cell_index="4253" local_entity="0" value="0" />
+ <value cell_index="4254" local_entity="0" value="0" />
+ <value cell_index="4255" local_entity="0" value="0" />
+ <value cell_index="4256" local_entity="0" value="0" />
+ <value cell_index="4257" local_entity="0" value="0" />
+ <value cell_index="4258" local_entity="0" value="0" />
+ <value cell_index="4259" local_entity="0" value="0" />
+ <value cell_index="4260" local_entity="0" value="0" />
+ <value cell_index="4261" local_entity="0" value="0" />
+ <value cell_index="4262" local_entity="0" value="0" />
+ <value cell_index="4263" local_entity="0" value="0" />
+ <value cell_index="4264" local_entity="0" value="0" />
+ <value cell_index="4265" local_entity="0" value="0" />
+ <value cell_index="4266" local_entity="0" value="0" />
+ <value cell_index="4267" local_entity="0" value="0" />
+ <value cell_index="4268" local_entity="0" value="0" />
+ <value cell_index="4269" local_entity="0" value="0" />
+ <value cell_index="4270" local_entity="0" value="0" />
+ <value cell_index="4271" local_entity="0" value="0" />
+ <value cell_index="4272" local_entity="0" value="0" />
+ <value cell_index="4273" local_entity="0" value="0" />
+ <value cell_index="4274" local_entity="0" value="0" />
+ <value cell_index="4275" local_entity="0" value="0" />
+ <value cell_index="4276" local_entity="0" value="0" />
+ <value cell_index="4277" local_entity="0" value="0" />
+ <value cell_index="4278" local_entity="0" value="0" />
+ <value cell_index="4279" local_entity="0" value="0" />
+ <value cell_index="4280" local_entity="0" value="0" />
+ <value cell_index="4281" local_entity="0" value="0" />
+ <value cell_index="4282" local_entity="0" value="0" />
+ <value cell_index="4283" local_entity="0" value="0" />
+ <value cell_index="4284" local_entity="0" value="0" />
+ <value cell_index="4285" local_entity="0" value="0" />
+ <value cell_index="4286" local_entity="0" value="0" />
+ <value cell_index="4287" local_entity="0" value="0" />
+ <value cell_index="4288" local_entity="0" value="0" />
+ <value cell_index="4289" local_entity="0" value="0" />
+ <value cell_index="4290" local_entity="0" value="0" />
+ <value cell_index="4291" local_entity="0" value="0" />
+ <value cell_index="4292" local_entity="0" value="0" />
+ <value cell_index="4293" local_entity="0" value="0" />
+ <value cell_index="4294" local_entity="0" value="0" />
+ <value cell_index="4295" local_entity="0" value="0" />
+ <value cell_index="4296" local_entity="0" value="0" />
+ <value cell_index="4297" local_entity="0" value="0" />
+ <value cell_index="4298" local_entity="0" value="0" />
+ <value cell_index="4299" local_entity="0" value="0" />
+ <value cell_index="4300" local_entity="0" value="0" />
+ <value cell_index="4301" local_entity="0" value="0" />
+ <value cell_index="4302" local_entity="0" value="0" />
+ <value cell_index="4303" local_entity="0" value="0" />
+ <value cell_index="4304" local_entity="0" value="0" />
+ <value cell_index="4305" local_entity="0" value="0" />
+ <value cell_index="4306" local_entity="0" value="0" />
+ <value cell_index="4307" local_entity="0" value="0" />
+ <value cell_index="4308" local_entity="0" value="0" />
+ <value cell_index="4309" local_entity="0" value="0" />
+ <value cell_index="4310" local_entity="0" value="0" />
+ <value cell_index="4311" local_entity="0" value="0" />
+ <value cell_index="4312" local_entity="0" value="0" />
+ <value cell_index="4313" local_entity="0" value="0" />
+ <value cell_index="4314" local_entity="0" value="0" />
+ <value cell_index="4315" local_entity="0" value="0" />
+ <value cell_index="4316" local_entity="0" value="0" />
+ <value cell_index="4317" local_entity="0" value="0" />
+ <value cell_index="4318" local_entity="0" value="0" />
+ <value cell_index="4319" local_entity="0" value="0" />
+ <value cell_index="4320" local_entity="0" value="0" />
+ <value cell_index="4321" local_entity="0" value="0" />
+ <value cell_index="4322" local_entity="0" value="0" />
+ <value cell_index="4323" local_entity="0" value="0" />
+ <value cell_index="4324" local_entity="0" value="0" />
+ <value cell_index="4325" local_entity="0" value="0" />
+ <value cell_index="4326" local_entity="0" value="0" />
+ <value cell_index="4327" local_entity="0" value="0" />
+ <value cell_index="4328" local_entity="0" value="0" />
+ <value cell_index="4329" local_entity="0" value="0" />
+ <value cell_index="4330" local_entity="0" value="0" />
+ <value cell_index="4331" local_entity="0" value="0" />
+ <value cell_index="4332" local_entity="0" value="0" />
+ <value cell_index="4333" local_entity="0" value="0" />
+ <value cell_index="4334" local_entity="0" value="0" />
+ <value cell_index="4335" local_entity="0" value="0" />
+ <value cell_index="4336" local_entity="0" value="0" />
+ <value cell_index="4337" local_entity="0" value="0" />
+ <value cell_index="4338" local_entity="0" value="0" />
+ <value cell_index="4339" local_entity="0" value="0" />
+ <value cell_index="4340" local_entity="0" value="0" />
+ <value cell_index="4341" local_entity="0" value="0" />
+ <value cell_index="4342" local_entity="0" value="0" />
+ <value cell_index="4343" local_entity="0" value="0" />
+ <value cell_index="4344" local_entity="0" value="0" />
+ <value cell_index="4345" local_entity="0" value="0" />
+ <value cell_index="4346" local_entity="0" value="0" />
+ <value cell_index="4347" local_entity="0" value="0" />
+ <value cell_index="4348" local_entity="0" value="0" />
+ <value cell_index="4349" local_entity="0" value="0" />
+ <value cell_index="4350" local_entity="0" value="0" />
+ <value cell_index="4351" local_entity="0" value="0" />
+ <value cell_index="4352" local_entity="0" value="0" />
+ <value cell_index="4353" local_entity="0" value="0" />
+ <value cell_index="4354" local_entity="0" value="0" />
+ <value cell_index="4355" local_entity="0" value="0" />
+ <value cell_index="4356" local_entity="0" value="0" />
+ <value cell_index="4357" local_entity="0" value="0" />
+ <value cell_index="4358" local_entity="0" value="0" />
+ <value cell_index="4359" local_entity="0" value="0" />
+ <value cell_index="4360" local_entity="0" value="0" />
+ <value cell_index="4361" local_entity="0" value="0" />
+ <value cell_index="4362" local_entity="0" value="0" />
+ <value cell_index="4363" local_entity="0" value="0" />
+ <value cell_index="4364" local_entity="0" value="0" />
+ <value cell_index="4365" local_entity="0" value="0" />
+ <value cell_index="4366" local_entity="0" value="0" />
+ <value cell_index="4367" local_entity="0" value="0" />
+ <value cell_index="4368" local_entity="0" value="0" />
+ <value cell_index="4369" local_entity="0" value="0" />
+ <value cell_index="4370" local_entity="0" value="0" />
+ <value cell_index="4371" local_entity="0" value="0" />
+ <value cell_index="4372" local_entity="0" value="0" />
+ <value cell_index="4373" local_entity="0" value="0" />
+ <value cell_index="4374" local_entity="0" value="0" />
+ <value cell_index="4375" local_entity="0" value="0" />
+ <value cell_index="4376" local_entity="0" value="0" />
+ <value cell_index="4377" local_entity="0" value="0" />
+ <value cell_index="4378" local_entity="0" value="0" />
+ <value cell_index="4379" local_entity="0" value="0" />
+ <value cell_index="4380" local_entity="0" value="0" />
+ <value cell_index="4381" local_entity="0" value="0" />
+ <value cell_index="4382" local_entity="0" value="0" />
+ <value cell_index="4383" local_entity="0" value="0" />
+ <value cell_index="4384" local_entity="0" value="0" />
+ <value cell_index="4385" local_entity="0" value="0" />
+ <value cell_index="4386" local_entity="0" value="0" />
+ <value cell_index="4387" local_entity="0" value="0" />
+ <value cell_index="4388" local_entity="0" value="0" />
+ <value cell_index="4389" local_entity="0" value="0" />
+ <value cell_index="4390" local_entity="0" value="0" />
+ <value cell_index="4391" local_entity="0" value="0" />
+ <value cell_index="4392" local_entity="0" value="0" />
+ <value cell_index="4393" local_entity="0" value="0" />
+ <value cell_index="4394" local_entity="0" value="0" />
+ <value cell_index="4395" local_entity="0" value="0" />
+ <value cell_index="4396" local_entity="0" value="0" />
+ <value cell_index="4397" local_entity="0" value="0" />
+ <value cell_index="4398" local_entity="0" value="0" />
+ <value cell_index="4399" local_entity="0" value="0" />
+ <value cell_index="4400" local_entity="0" value="0" />
+ <value cell_index="4401" local_entity="0" value="0" />
+ <value cell_index="4402" local_entity="0" value="0" />
+ <value cell_index="4403" local_entity="0" value="0" />
+ <value cell_index="4404" local_entity="0" value="0" />
+ <value cell_index="4405" local_entity="0" value="0" />
+ <value cell_index="4406" local_entity="0" value="0" />
+ <value cell_index="4407" local_entity="0" value="0" />
+ <value cell_index="4408" local_entity="0" value="0" />
+ <value cell_index="4409" local_entity="0" value="0" />
+ <value cell_index="4410" local_entity="0" value="0" />
+ <value cell_index="4411" local_entity="0" value="0" />
+ <value cell_index="4412" local_entity="0" value="0" />
+ <value cell_index="4413" local_entity="0" value="0" />
+ <value cell_index="4414" local_entity="0" value="0" />
+ <value cell_index="4415" local_entity="0" value="0" />
+ <value cell_index="4416" local_entity="0" value="0" />
+ <value cell_index="4417" local_entity="0" value="0" />
+ <value cell_index="4418" local_entity="0" value="0" />
+ <value cell_index="4419" local_entity="0" value="0" />
+ <value cell_index="4420" local_entity="0" value="0" />
+ <value cell_index="4421" local_entity="0" value="0" />
+ <value cell_index="4422" local_entity="0" value="0" />
+ <value cell_index="4423" local_entity="0" value="0" />
+ <value cell_index="4424" local_entity="0" value="0" />
+ <value cell_index="4425" local_entity="0" value="0" />
+ <value cell_index="4426" local_entity="0" value="0" />
+ <value cell_index="4427" local_entity="0" value="0" />
+ <value cell_index="4428" local_entity="0" value="0" />
+ <value cell_index="4429" local_entity="0" value="0" />
+ <value cell_index="4430" local_entity="0" value="0" />
+ <value cell_index="4431" local_entity="0" value="0" />
+ <value cell_index="4432" local_entity="0" value="0" />
+ <value cell_index="4433" local_entity="0" value="0" />
+ <value cell_index="4434" local_entity="0" value="0" />
+ <value cell_index="4435" local_entity="0" value="0" />
+ <value cell_index="4436" local_entity="0" value="0" />
+ <value cell_index="4437" local_entity="0" value="0" />
+ <value cell_index="4438" local_entity="0" value="0" />
+ <value cell_index="4439" local_entity="0" value="0" />
+ <value cell_index="4440" local_entity="0" value="0" />
+ <value cell_index="4441" local_entity="0" value="0" />
+ <value cell_index="4442" local_entity="0" value="0" />
+ <value cell_index="4443" local_entity="0" value="0" />
+ <value cell_index="4444" local_entity="0" value="0" />
+ <value cell_index="4445" local_entity="0" value="0" />
+ <value cell_index="4446" local_entity="0" value="0" />
+ <value cell_index="4447" local_entity="0" value="0" />
+ <value cell_index="4448" local_entity="0" value="0" />
+ <value cell_index="4449" local_entity="0" value="0" />
+ <value cell_index="4450" local_entity="0" value="0" />
+ <value cell_index="4451" local_entity="0" value="0" />
+ <value cell_index="4452" local_entity="0" value="0" />
+ <value cell_index="4453" local_entity="0" value="0" />
+ <value cell_index="4454" local_entity="0" value="0" />
+ <value cell_index="4455" local_entity="0" value="0" />
+ <value cell_index="4456" local_entity="0" value="0" />
+ <value cell_index="4457" local_entity="0" value="0" />
+ <value cell_index="4458" local_entity="0" value="0" />
+ <value cell_index="4459" local_entity="0" value="0" />
+ <value cell_index="4460" local_entity="0" value="0" />
+ <value cell_index="4461" local_entity="0" value="0" />
+ <value cell_index="4462" local_entity="0" value="0" />
+ <value cell_index="4463" local_entity="0" value="0" />
+ <value cell_index="4464" local_entity="0" value="0" />
+ <value cell_index="4465" local_entity="0" value="0" />
+ <value cell_index="4466" local_entity="0" value="0" />
+ <value cell_index="4467" local_entity="0" value="0" />
+ <value cell_index="4468" local_entity="0" value="0" />
+ <value cell_index="4469" local_entity="0" value="0" />
+ <value cell_index="4470" local_entity="0" value="0" />
+ <value cell_index="4471" local_entity="0" value="0" />
+ <value cell_index="4472" local_entity="0" value="0" />
+ <value cell_index="4473" local_entity="0" value="0" />
+ <value cell_index="4474" local_entity="0" value="0" />
+ <value cell_index="4475" local_entity="0" value="0" />
+ <value cell_index="4476" local_entity="0" value="0" />
+ <value cell_index="4477" local_entity="0" value="0" />
+ <value cell_index="4478" local_entity="0" value="0" />
+ <value cell_index="4479" local_entity="0" value="0" />
+ <value cell_index="4480" local_entity="0" value="0" />
+ <value cell_index="4481" local_entity="0" value="0" />
+ <value cell_index="4482" local_entity="0" value="0" />
+ <value cell_index="4483" local_entity="0" value="0" />
+ <value cell_index="4484" local_entity="0" value="0" />
+ <value cell_index="4485" local_entity="0" value="0" />
+ <value cell_index="4486" local_entity="0" value="0" />
+ <value cell_index="4487" local_entity="0" value="0" />
+ <value cell_index="4488" local_entity="0" value="0" />
+ <value cell_index="4489" local_entity="0" value="0" />
+ <value cell_index="4490" local_entity="0" value="0" />
+ <value cell_index="4491" local_entity="0" value="0" />
+ <value cell_index="4492" local_entity="0" value="0" />
+ <value cell_index="4493" local_entity="0" value="0" />
+ <value cell_index="4494" local_entity="0" value="0" />
+ <value cell_index="4495" local_entity="0" value="0" />
+ <value cell_index="4496" local_entity="0" value="0" />
+ <value cell_index="4497" local_entity="0" value="0" />
+ <value cell_index="4498" local_entity="0" value="0" />
+ <value cell_index="4499" local_entity="0" value="0" />
+ <value cell_index="4500" local_entity="0" value="0" />
+ <value cell_index="4501" local_entity="0" value="0" />
+ <value cell_index="4502" local_entity="0" value="0" />
+ <value cell_index="4503" local_entity="0" value="0" />
+ <value cell_index="4504" local_entity="0" value="0" />
+ <value cell_index="4505" local_entity="0" value="0" />
+ <value cell_index="4506" local_entity="0" value="0" />
+ <value cell_index="4507" local_entity="0" value="0" />
+ <value cell_index="4508" local_entity="0" value="0" />
+ <value cell_index="4509" local_entity="0" value="0" />
+ <value cell_index="4510" local_entity="0" value="0" />
+ <value cell_index="4511" local_entity="0" value="0" />
+ <value cell_index="4512" local_entity="0" value="0" />
+ <value cell_index="4513" local_entity="0" value="0" />
+ <value cell_index="4514" local_entity="0" value="0" />
+ <value cell_index="4515" local_entity="0" value="0" />
+ <value cell_index="4516" local_entity="0" value="0" />
+ <value cell_index="4517" local_entity="0" value="0" />
+ <value cell_index="4518" local_entity="0" value="0" />
+ <value cell_index="4519" local_entity="0" value="0" />
+ <value cell_index="4520" local_entity="0" value="0" />
+ <value cell_index="4521" local_entity="0" value="0" />
+ <value cell_index="4522" local_entity="0" value="0" />
+ <value cell_index="4523" local_entity="0" value="0" />
+ <value cell_index="4524" local_entity="0" value="0" />
+ <value cell_index="4525" local_entity="0" value="0" />
+ <value cell_index="4526" local_entity="0" value="0" />
+ <value cell_index="4527" local_entity="0" value="0" />
+ <value cell_index="4528" local_entity="0" value="0" />
+ <value cell_index="4529" local_entity="0" value="0" />
+ <value cell_index="4530" local_entity="0" value="0" />
+ <value cell_index="4531" local_entity="0" value="0" />
+ <value cell_index="4532" local_entity="0" value="0" />
+ <value cell_index="4533" local_entity="0" value="0" />
+ <value cell_index="4534" local_entity="0" value="0" />
+ <value cell_index="4535" local_entity="0" value="0" />
+ <value cell_index="4536" local_entity="0" value="0" />
+ <value cell_index="4537" local_entity="0" value="0" />
+ <value cell_index="4538" local_entity="0" value="0" />
+ <value cell_index="4539" local_entity="0" value="0" />
+ <value cell_index="4540" local_entity="0" value="0" />
+ <value cell_index="4541" local_entity="0" value="0" />
+ <value cell_index="4542" local_entity="0" value="0" />
+ <value cell_index="4543" local_entity="0" value="0" />
+ <value cell_index="4544" local_entity="0" value="0" />
+ <value cell_index="4545" local_entity="0" value="0" />
+ <value cell_index="4546" local_entity="0" value="0" />
+ <value cell_index="4547" local_entity="0" value="0" />
+ <value cell_index="4548" local_entity="0" value="0" />
+ <value cell_index="4549" local_entity="0" value="0" />
+ <value cell_index="4550" local_entity="0" value="0" />
+ <value cell_index="4551" local_entity="0" value="0" />
+ <value cell_index="4552" local_entity="0" value="0" />
+ <value cell_index="4553" local_entity="0" value="0" />
+ <value cell_index="4554" local_entity="0" value="0" />
+ <value cell_index="4555" local_entity="0" value="0" />
+ <value cell_index="4556" local_entity="0" value="0" />
+ <value cell_index="4557" local_entity="0" value="0" />
+ <value cell_index="4558" local_entity="0" value="0" />
+ <value cell_index="4559" local_entity="0" value="0" />
+ <value cell_index="4560" local_entity="0" value="0" />
+ <value cell_index="4561" local_entity="0" value="0" />
+ <value cell_index="4562" local_entity="0" value="0" />
+ <value cell_index="4563" local_entity="0" value="0" />
+ <value cell_index="4564" local_entity="0" value="0" />
+ <value cell_index="4565" local_entity="0" value="0" />
+ <value cell_index="4566" local_entity="0" value="0" />
+ <value cell_index="4567" local_entity="0" value="0" />
+ <value cell_index="4568" local_entity="0" value="0" />
+ <value cell_index="4569" local_entity="0" value="0" />
+ <value cell_index="4570" local_entity="0" value="0" />
+ <value cell_index="4571" local_entity="0" value="0" />
+ <value cell_index="4572" local_entity="0" value="0" />
+ <value cell_index="4573" local_entity="0" value="0" />
+ <value cell_index="4574" local_entity="0" value="0" />
+ <value cell_index="4575" local_entity="0" value="0" />
+ <value cell_index="4576" local_entity="0" value="0" />
+ <value cell_index="4577" local_entity="0" value="0" />
+ <value cell_index="4578" local_entity="0" value="0" />
+ <value cell_index="4579" local_entity="0" value="0" />
+ <value cell_index="4580" local_entity="0" value="0" />
+ <value cell_index="4581" local_entity="0" value="0" />
+ <value cell_index="4582" local_entity="0" value="0" />
+ <value cell_index="4583" local_entity="0" value="0" />
+ <value cell_index="4584" local_entity="0" value="0" />
+ <value cell_index="4585" local_entity="0" value="0" />
+ <value cell_index="4586" local_entity="0" value="0" />
+ <value cell_index="4587" local_entity="0" value="0" />
+ <value cell_index="4588" local_entity="0" value="0" />
+ <value cell_index="4589" local_entity="0" value="0" />
+ <value cell_index="4590" local_entity="0" value="0" />
+ <value cell_index="4591" local_entity="0" value="0" />
+ <value cell_index="4592" local_entity="0" value="0" />
+ <value cell_index="4593" local_entity="0" value="0" />
+ <value cell_index="4594" local_entity="0" value="0" />
+ <value cell_index="4595" local_entity="0" value="0" />
+ <value cell_index="4596" local_entity="0" value="0" />
+ <value cell_index="4597" local_entity="0" value="0" />
+ <value cell_index="4598" local_entity="0" value="0" />
+ <value cell_index="4599" local_entity="0" value="0" />
+ <value cell_index="4600" local_entity="0" value="0" />
+ <value cell_index="4601" local_entity="0" value="0" />
+ <value cell_index="4602" local_entity="0" value="0" />
+ <value cell_index="4603" local_entity="0" value="0" />
+ <value cell_index="4604" local_entity="0" value="0" />
+ <value cell_index="4605" local_entity="0" value="0" />
+ <value cell_index="4606" local_entity="0" value="0" />
+ <value cell_index="4607" local_entity="0" value="0" />
+ <value cell_index="4608" local_entity="0" value="0" />
+ <value cell_index="4609" local_entity="0" value="0" />
+ <value cell_index="4610" local_entity="0" value="0" />
+ <value cell_index="4611" local_entity="0" value="0" />
+ <value cell_index="4612" local_entity="0" value="0" />
+ <value cell_index="4613" local_entity="0" value="0" />
+ <value cell_index="4614" local_entity="0" value="0" />
+ <value cell_index="4615" local_entity="0" value="0" />
+ <value cell_index="4616" local_entity="0" value="0" />
+ <value cell_index="4617" local_entity="0" value="0" />
+ <value cell_index="4618" local_entity="0" value="0" />
+ <value cell_index="4619" local_entity="0" value="0" />
+ <value cell_index="4620" local_entity="0" value="0" />
+ <value cell_index="4621" local_entity="0" value="0" />
+ <value cell_index="4622" local_entity="0" value="0" />
+ <value cell_index="4623" local_entity="0" value="0" />
+ <value cell_index="4624" local_entity="0" value="0" />
+ <value cell_index="4625" local_entity="0" value="0" />
+ <value cell_index="4626" local_entity="0" value="0" />
+ <value cell_index="4627" local_entity="0" value="0" />
+ <value cell_index="4628" local_entity="0" value="0" />
+ <value cell_index="4629" local_entity="0" value="0" />
+ <value cell_index="4630" local_entity="0" value="0" />
+ <value cell_index="4631" local_entity="0" value="0" />
+ <value cell_index="4632" local_entity="0" value="0" />
+ <value cell_index="4633" local_entity="0" value="0" />
+ <value cell_index="4634" local_entity="0" value="0" />
+ <value cell_index="4635" local_entity="0" value="0" />
+ <value cell_index="4636" local_entity="0" value="0" />
+ <value cell_index="4637" local_entity="0" value="0" />
+ <value cell_index="4638" local_entity="0" value="0" />
+ <value cell_index="4639" local_entity="0" value="0" />
+ <value cell_index="4640" local_entity="0" value="0" />
+ <value cell_index="4641" local_entity="0" value="0" />
+ <value cell_index="4642" local_entity="0" value="0" />
+ <value cell_index="4643" local_entity="0" value="0" />
+ <value cell_index="4644" local_entity="0" value="0" />
+ <value cell_index="4645" local_entity="0" value="0" />
+ <value cell_index="4646" local_entity="0" value="0" />
+ <value cell_index="4647" local_entity="0" value="0" />
+ <value cell_index="4648" local_entity="0" value="0" />
+ <value cell_index="4649" local_entity="0" value="0" />
+ <value cell_index="4650" local_entity="0" value="0" />
+ <value cell_index="4651" local_entity="0" value="0" />
+ <value cell_index="4652" local_entity="0" value="0" />
+ <value cell_index="4653" local_entity="0" value="0" />
+ <value cell_index="4654" local_entity="0" value="0" />
+ <value cell_index="4655" local_entity="0" value="0" />
+ <value cell_index="4656" local_entity="0" value="0" />
+ <value cell_index="4657" local_entity="0" value="0" />
+ <value cell_index="4658" local_entity="0" value="0" />
+ <value cell_index="4659" local_entity="0" value="0" />
+ <value cell_index="4660" local_entity="0" value="0" />
+ <value cell_index="4661" local_entity="0" value="0" />
+ <value cell_index="4662" local_entity="0" value="0" />
+ <value cell_index="4663" local_entity="0" value="0" />
+ <value cell_index="4664" local_entity="0" value="0" />
+ <value cell_index="4665" local_entity="0" value="0" />
+ <value cell_index="4666" local_entity="0" value="0" />
+ <value cell_index="4667" local_entity="0" value="0" />
+ <value cell_index="4668" local_entity="0" value="0" />
+ <value cell_index="4669" local_entity="0" value="0" />
+ <value cell_index="4670" local_entity="0" value="0" />
+ <value cell_index="4671" local_entity="0" value="0" />
+ <value cell_index="4672" local_entity="0" value="0" />
+ <value cell_index="4673" local_entity="0" value="0" />
+ <value cell_index="4674" local_entity="0" value="0" />
+ <value cell_index="4675" local_entity="0" value="0" />
+ <value cell_index="4676" local_entity="0" value="0" />
+ <value cell_index="4677" local_entity="0" value="0" />
+ <value cell_index="4678" local_entity="0" value="0" />
+ <value cell_index="4679" local_entity="0" value="0" />
+ <value cell_index="4680" local_entity="0" value="0" />
+ <value cell_index="4681" local_entity="0" value="0" />
+ <value cell_index="4682" local_entity="0" value="0" />
+ <value cell_index="4683" local_entity="0" value="0" />
+ <value cell_index="4684" local_entity="0" value="0" />
+ <value cell_index="4685" local_entity="0" value="0" />
+ <value cell_index="4686" local_entity="0" value="0" />
+ <value cell_index="4687" local_entity="0" value="0" />
+ <value cell_index="4688" local_entity="0" value="0" />
+ <value cell_index="4689" local_entity="0" value="0" />
+ <value cell_index="4690" local_entity="0" value="0" />
+ <value cell_index="4691" local_entity="0" value="0" />
+ <value cell_index="4692" local_entity="0" value="0" />
+ <value cell_index="4693" local_entity="0" value="0" />
+ <value cell_index="4694" local_entity="0" value="0" />
+ <value cell_index="4695" local_entity="0" value="0" />
+ <value cell_index="4696" local_entity="0" value="0" />
+ <value cell_index="4697" local_entity="0" value="0" />
+ <value cell_index="4698" local_entity="0" value="0" />
+ <value cell_index="4699" local_entity="0" value="0" />
+ <value cell_index="4700" local_entity="0" value="0" />
+ <value cell_index="4701" local_entity="0" value="0" />
+ <value cell_index="4702" local_entity="0" value="0" />
+ <value cell_index="4703" local_entity="0" value="0" />
+ <value cell_index="4704" local_entity="0" value="0" />
+ <value cell_index="4705" local_entity="0" value="0" />
+ <value cell_index="4706" local_entity="0" value="0" />
+ <value cell_index="4707" local_entity="0" value="0" />
+ <value cell_index="4708" local_entity="0" value="0" />
+ <value cell_index="4709" local_entity="0" value="0" />
+ <value cell_index="4710" local_entity="0" value="0" />
+ <value cell_index="4711" local_entity="0" value="0" />
+ <value cell_index="4712" local_entity="0" value="0" />
+ <value cell_index="4713" local_entity="0" value="0" />
+ <value cell_index="4714" local_entity="0" value="0" />
+ <value cell_index="4715" local_entity="0" value="0" />
+ <value cell_index="4716" local_entity="0" value="0" />
+ <value cell_index="4717" local_entity="0" value="0" />
+ <value cell_index="4718" local_entity="0" value="0" />
+ <value cell_index="4719" local_entity="0" value="0" />
+ <value cell_index="4720" local_entity="0" value="0" />
+ <value cell_index="4721" local_entity="0" value="0" />
+ <value cell_index="4722" local_entity="0" value="0" />
+ <value cell_index="4723" local_entity="0" value="0" />
+ <value cell_index="4724" local_entity="0" value="0" />
+ <value cell_index="4725" local_entity="0" value="0" />
+ <value cell_index="4726" local_entity="0" value="0" />
+ <value cell_index="4727" local_entity="0" value="0" />
+ <value cell_index="4728" local_entity="0" value="0" />
+ <value cell_index="4729" local_entity="0" value="0" />
+ <value cell_index="4730" local_entity="0" value="0" />
+ <value cell_index="4731" local_entity="0" value="0" />
+ <value cell_index="4732" local_entity="0" value="0" />
+ <value cell_index="4733" local_entity="0" value="0" />
+ <value cell_index="4734" local_entity="0" value="0" />
+ <value cell_index="4735" local_entity="0" value="0" />
+ <value cell_index="4736" local_entity="0" value="0" />
+ <value cell_index="4737" local_entity="0" value="0" />
+ <value cell_index="4738" local_entity="0" value="0" />
+ <value cell_index="4739" local_entity="0" value="0" />
+ <value cell_index="4740" local_entity="0" value="0" />
+ <value cell_index="4741" local_entity="0" value="0" />
+ <value cell_index="4742" local_entity="0" value="0" />
+ <value cell_index="4743" local_entity="0" value="0" />
+ <value cell_index="4744" local_entity="0" value="0" />
+ <value cell_index="4745" local_entity="0" value="0" />
+ <value cell_index="4746" local_entity="0" value="0" />
+ <value cell_index="4747" local_entity="0" value="0" />
+ <value cell_index="4748" local_entity="0" value="0" />
+ <value cell_index="4749" local_entity="0" value="0" />
+ <value cell_index="4750" local_entity="0" value="0" />
+ <value cell_index="4751" local_entity="0" value="0" />
+ <value cell_index="4752" local_entity="0" value="0" />
+ <value cell_index="4753" local_entity="0" value="0" />
+ <value cell_index="4754" local_entity="0" value="0" />
+ <value cell_index="4755" local_entity="0" value="0" />
+ <value cell_index="4756" local_entity="0" value="0" />
+ <value cell_index="4757" local_entity="0" value="0" />
+ <value cell_index="4758" local_entity="0" value="0" />
+ <value cell_index="4759" local_entity="0" value="0" />
+ <value cell_index="4760" local_entity="0" value="0" />
+ <value cell_index="4761" local_entity="0" value="0" />
+ <value cell_index="4762" local_entity="0" value="0" />
+ <value cell_index="4763" local_entity="0" value="0" />
+ <value cell_index="4764" local_entity="0" value="0" />
+ <value cell_index="4765" local_entity="0" value="0" />
+ <value cell_index="4766" local_entity="0" value="0" />
+ <value cell_index="4767" local_entity="0" value="0" />
+ <value cell_index="4768" local_entity="0" value="0" />
+ <value cell_index="4769" local_entity="0" value="0" />
+ <value cell_index="4770" local_entity="0" value="0" />
+ <value cell_index="4771" local_entity="0" value="0" />
+ <value cell_index="4772" local_entity="0" value="0" />
+ <value cell_index="4773" local_entity="0" value="0" />
+ <value cell_index="4774" local_entity="0" value="0" />
+ <value cell_index="4775" local_entity="0" value="0" />
+ <value cell_index="4776" local_entity="0" value="0" />
+ <value cell_index="4777" local_entity="0" value="0" />
+ <value cell_index="4778" local_entity="0" value="0" />
+ <value cell_index="4779" local_entity="0" value="0" />
+ <value cell_index="4780" local_entity="0" value="0" />
+ <value cell_index="4781" local_entity="0" value="0" />
+ <value cell_index="4782" local_entity="0" value="0" />
+ <value cell_index="4783" local_entity="0" value="0" />
+ <value cell_index="4784" local_entity="0" value="0" />
+ <value cell_index="4785" local_entity="0" value="0" />
+ <value cell_index="4786" local_entity="0" value="0" />
+ <value cell_index="4787" local_entity="0" value="0" />
+ <value cell_index="4788" local_entity="0" value="0" />
+ <value cell_index="4789" local_entity="0" value="0" />
+ <value cell_index="4790" local_entity="0" value="0" />
+ <value cell_index="4791" local_entity="0" value="0" />
+ <value cell_index="4792" local_entity="0" value="0" />
+ <value cell_index="4793" local_entity="0" value="0" />
+ <value cell_index="4794" local_entity="0" value="0" />
+ <value cell_index="4795" local_entity="0" value="0" />
+ <value cell_index="4796" local_entity="0" value="0" />
+ <value cell_index="4797" local_entity="0" value="0" />
+ <value cell_index="4798" local_entity="0" value="0" />
+ <value cell_index="4799" local_entity="0" value="0" />
+ <value cell_index="4800" local_entity="0" value="0" />
+ <value cell_index="4801" local_entity="0" value="0" />
+ <value cell_index="4802" local_entity="0" value="0" />
+ <value cell_index="4803" local_entity="0" value="0" />
+ <value cell_index="4804" local_entity="0" value="0" />
+ <value cell_index="4805" local_entity="0" value="0" />
+ <value cell_index="4806" local_entity="0" value="0" />
+ <value cell_index="4807" local_entity="0" value="0" />
+ <value cell_index="4808" local_entity="0" value="0" />
+ <value cell_index="4809" local_entity="0" value="0" />
+ <value cell_index="4810" local_entity="0" value="0" />
+ <value cell_index="4811" local_entity="0" value="0" />
+ <value cell_index="4812" local_entity="0" value="0" />
+ <value cell_index="4813" local_entity="0" value="0" />
+ <value cell_index="4814" local_entity="0" value="0" />
+ <value cell_index="4815" local_entity="0" value="0" />
+ <value cell_index="4816" local_entity="0" value="0" />
+ <value cell_index="4817" local_entity="0" value="0" />
+ <value cell_index="4818" local_entity="0" value="0" />
+ <value cell_index="4819" local_entity="0" value="0" />
+ <value cell_index="4820" local_entity="0" value="0" />
+ <value cell_index="4821" local_entity="0" value="0" />
+ <value cell_index="4822" local_entity="0" value="0" />
+ <value cell_index="4823" local_entity="0" value="0" />
+ <value cell_index="4824" local_entity="0" value="0" />
+ <value cell_index="4825" local_entity="0" value="0" />
+ <value cell_index="4826" local_entity="0" value="0" />
+ <value cell_index="4827" local_entity="0" value="0" />
+ <value cell_index="4828" local_entity="0" value="0" />
+ <value cell_index="4829" local_entity="0" value="0" />
+ <value cell_index="4830" local_entity="0" value="0" />
+ <value cell_index="4831" local_entity="0" value="0" />
+ <value cell_index="4832" local_entity="0" value="0" />
+ <value cell_index="4833" local_entity="0" value="0" />
+ <value cell_index="4834" local_entity="0" value="0" />
+ <value cell_index="4835" local_entity="0" value="0" />
+ <value cell_index="4836" local_entity="0" value="0" />
+ <value cell_index="4837" local_entity="0" value="0" />
+ <value cell_index="4838" local_entity="0" value="0" />
+ <value cell_index="4839" local_entity="0" value="0" />
+ <value cell_index="4840" local_entity="0" value="0" />
+ <value cell_index="4841" local_entity="0" value="0" />
+ <value cell_index="4842" local_entity="0" value="0" />
+ <value cell_index="4843" local_entity="0" value="0" />
+ <value cell_index="4844" local_entity="0" value="0" />
+ <value cell_index="4845" local_entity="0" value="0" />
+ <value cell_index="4846" local_entity="0" value="0" />
+ <value cell_index="4847" local_entity="0" value="0" />
+ <value cell_index="4848" local_entity="0" value="0" />
+ <value cell_index="4849" local_entity="0" value="0" />
+ <value cell_index="4850" local_entity="0" value="0" />
+ <value cell_index="4851" local_entity="0" value="0" />
+ <value cell_index="4852" local_entity="0" value="0" />
+ <value cell_index="4853" local_entity="0" value="0" />
+ <value cell_index="4854" local_entity="0" value="0" />
+ <value cell_index="4855" local_entity="0" value="0" />
+ <value cell_index="4856" local_entity="0" value="0" />
+ <value cell_index="4857" local_entity="0" value="0" />
+ <value cell_index="4858" local_entity="0" value="0" />
+ <value cell_index="4859" local_entity="0" value="0" />
+ <value cell_index="4860" local_entity="0" value="0" />
+ <value cell_index="4861" local_entity="0" value="0" />
+ <value cell_index="4862" local_entity="0" value="0" />
+ <value cell_index="4863" local_entity="0" value="0" />
+ <value cell_index="4864" local_entity="0" value="0" />
+ <value cell_index="4865" local_entity="0" value="0" />
+ <value cell_index="4866" local_entity="0" value="0" />
+ <value cell_index="4867" local_entity="0" value="0" />
+ <value cell_index="4868" local_entity="0" value="0" />
+ <value cell_index="4869" local_entity="0" value="0" />
+ <value cell_index="4870" local_entity="0" value="0" />
+ <value cell_index="4871" local_entity="0" value="0" />
+ <value cell_index="4872" local_entity="0" value="0" />
+ <value cell_index="4873" local_entity="0" value="0" />
+ <value cell_index="4874" local_entity="0" value="0" />
+ <value cell_index="4875" local_entity="0" value="0" />
+ <value cell_index="4876" local_entity="0" value="0" />
+ <value cell_index="4877" local_entity="0" value="0" />
+ <value cell_index="4878" local_entity="0" value="0" />
+ <value cell_index="4879" local_entity="0" value="0" />
+ <value cell_index="4880" local_entity="0" value="0" />
+ <value cell_index="4881" local_entity="0" value="0" />
+ <value cell_index="4882" local_entity="0" value="0" />
+ <value cell_index="4883" local_entity="0" value="0" />
+ <value cell_index="4884" local_entity="0" value="0" />
+ <value cell_index="4885" local_entity="0" value="0" />
+ <value cell_index="4886" local_entity="0" value="0" />
+ <value cell_index="4887" local_entity="0" value="0" />
+ <value cell_index="4888" local_entity="0" value="0" />
+ <value cell_index="4889" local_entity="0" value="0" />
+ <value cell_index="4890" local_entity="0" value="0" />
+ <value cell_index="4891" local_entity="0" value="0" />
+ <value cell_index="4892" local_entity="0" value="0" />
+ <value cell_index="4893" local_entity="0" value="0" />
+ <value cell_index="4894" local_entity="0" value="0" />
+ <value cell_index="4895" local_entity="0" value="0" />
+ <value cell_index="4896" local_entity="0" value="0" />
+ <value cell_index="4897" local_entity="0" value="0" />
+ <value cell_index="4898" local_entity="0" value="0" />
+ <value cell_index="4899" local_entity="0" value="0" />
+ <value cell_index="4900" local_entity="0" value="0" />
+ <value cell_index="4901" local_entity="0" value="0" />
+ <value cell_index="4902" local_entity="0" value="0" />
+ <value cell_index="4903" local_entity="0" value="0" />
+ <value cell_index="4904" local_entity="0" value="0" />
+ <value cell_index="4905" local_entity="0" value="0" />
+ <value cell_index="4906" local_entity="0" value="0" />
+ <value cell_index="4907" local_entity="0" value="0" />
+ <value cell_index="4908" local_entity="0" value="0" />
+ <value cell_index="4909" local_entity="0" value="0" />
+ <value cell_index="4910" local_entity="0" value="0" />
+ <value cell_index="4911" local_entity="0" value="0" />
+ <value cell_index="4912" local_entity="0" value="0" />
+ <value cell_index="4913" local_entity="0" value="0" />
+ <value cell_index="4914" local_entity="0" value="0" />
+ <value cell_index="4915" local_entity="0" value="0" />
+ <value cell_index="4916" local_entity="0" value="0" />
+ <value cell_index="4917" local_entity="0" value="0" />
+ <value cell_index="4918" local_entity="0" value="0" />
+ <value cell_index="4919" local_entity="0" value="0" />
+ <value cell_index="4920" local_entity="0" value="0" />
+ <value cell_index="4921" local_entity="0" value="0" />
+ <value cell_index="4922" local_entity="0" value="0" />
+ <value cell_index="4923" local_entity="0" value="0" />
+ <value cell_index="4924" local_entity="0" value="0" />
+ <value cell_index="4925" local_entity="0" value="0" />
+ <value cell_index="4926" local_entity="0" value="0" />
+ <value cell_index="4927" local_entity="0" value="0" />
+ <value cell_index="4928" local_entity="0" value="0" />
+ <value cell_index="4929" local_entity="0" value="0" />
+ <value cell_index="4930" local_entity="0" value="0" />
+ <value cell_index="4931" local_entity="0" value="0" />
+ <value cell_index="4932" local_entity="0" value="0" />
+ <value cell_index="4933" local_entity="0" value="0" />
+ <value cell_index="4934" local_entity="0" value="0" />
+ <value cell_index="4935" local_entity="0" value="0" />
+ <value cell_index="4936" local_entity="0" value="0" />
+ <value cell_index="4937" local_entity="0" value="0" />
+ <value cell_index="4938" local_entity="0" value="0" />
+ <value cell_index="4939" local_entity="0" value="0" />
+ <value cell_index="4940" local_entity="0" value="0" />
+ <value cell_index="4941" local_entity="0" value="0" />
+ <value cell_index="4942" local_entity="0" value="0" />
+ <value cell_index="4943" local_entity="0" value="0" />
+ <value cell_index="4944" local_entity="0" value="0" />
+ <value cell_index="4945" local_entity="0" value="0" />
+ <value cell_index="4946" local_entity="0" value="0" />
+ <value cell_index="4947" local_entity="0" value="0" />
+ <value cell_index="4948" local_entity="0" value="0" />
+ <value cell_index="4949" local_entity="0" value="0" />
+ <value cell_index="4950" local_entity="0" value="0" />
+ <value cell_index="4951" local_entity="0" value="0" />
+ <value cell_index="4952" local_entity="0" value="0" />
+ <value cell_index="4953" local_entity="0" value="0" />
+ <value cell_index="4954" local_entity="0" value="0" />
+ <value cell_index="4955" local_entity="0" value="0" />
+ <value cell_index="4956" local_entity="0" value="0" />
+ <value cell_index="4957" local_entity="0" value="0" />
+ <value cell_index="4958" local_entity="0" value="0" />
+ <value cell_index="4959" local_entity="0" value="0" />
+ <value cell_index="4960" local_entity="0" value="0" />
+ <value cell_index="4961" local_entity="0" value="0" />
+ <value cell_index="4962" local_entity="0" value="0" />
+ <value cell_index="4963" local_entity="0" value="0" />
+ <value cell_index="4964" local_entity="0" value="0" />
+ <value cell_index="4965" local_entity="0" value="0" />
+ <value cell_index="4966" local_entity="0" value="0" />
+ <value cell_index="4967" local_entity="0" value="0" />
+ <value cell_index="4968" local_entity="0" value="0" />
+ <value cell_index="4969" local_entity="0" value="0" />
+ <value cell_index="4970" local_entity="0" value="0" />
+ <value cell_index="4971" local_entity="0" value="0" />
+ <value cell_index="4972" local_entity="0" value="0" />
+ <value cell_index="4973" local_entity="0" value="0" />
+ <value cell_index="4974" local_entity="0" value="0" />
+ <value cell_index="4975" local_entity="0" value="0" />
+ <value cell_index="4976" local_entity="0" value="0" />
+ <value cell_index="4977" local_entity="0" value="0" />
+ <value cell_index="4978" local_entity="0" value="0" />
+ <value cell_index="4979" local_entity="0" value="0" />
+ <value cell_index="4980" local_entity="0" value="0" />
+ <value cell_index="4981" local_entity="0" value="0" />
+ <value cell_index="4982" local_entity="0" value="0" />
+ <value cell_index="4983" local_entity="0" value="0" />
+ <value cell_index="4984" local_entity="0" value="0" />
+ <value cell_index="4985" local_entity="0" value="0" />
+ <value cell_index="4986" local_entity="0" value="0" />
+ <value cell_index="4987" local_entity="0" value="0" />
+ <value cell_index="4988" local_entity="0" value="0" />
+ <value cell_index="4989" local_entity="0" value="0" />
+ <value cell_index="4990" local_entity="0" value="0" />
+ <value cell_index="4991" local_entity="0" value="0" />
+ <value cell_index="4992" local_entity="0" value="0" />
+ <value cell_index="4993" local_entity="0" value="0" />
+ <value cell_index="4994" local_entity="0" value="0" />
+ <value cell_index="4995" local_entity="0" value="0" />
+ <value cell_index="4996" local_entity="0" value="0" />
+ <value cell_index="4997" local_entity="0" value="0" />
+ <value cell_index="4998" local_entity="0" value="0" />
+ <value cell_index="4999" local_entity="0" value="0" />
+ <value cell_index="5000" local_entity="0" value="0" />
+ <value cell_index="5001" local_entity="0" value="0" />
+ <value cell_index="5002" local_entity="0" value="0" />
+ <value cell_index="5003" local_entity="0" value="0" />
+ <value cell_index="5004" local_entity="0" value="0" />
+ <value cell_index="5005" local_entity="0" value="0" />
+ <value cell_index="5006" local_entity="0" value="0" />
+ <value cell_index="5007" local_entity="0" value="0" />
+ <value cell_index="5008" local_entity="0" value="0" />
+ <value cell_index="5009" local_entity="0" value="0" />
+ <value cell_index="5010" local_entity="0" value="0" />
+ <value cell_index="5011" local_entity="0" value="0" />
+ <value cell_index="5012" local_entity="0" value="0" />
+ <value cell_index="5013" local_entity="0" value="0" />
+ <value cell_index="5014" local_entity="0" value="0" />
+ <value cell_index="5015" local_entity="0" value="0" />
+ <value cell_index="5016" local_entity="0" value="0" />
+ <value cell_index="5017" local_entity="0" value="0" />
+ <value cell_index="5018" local_entity="0" value="0" />
+ <value cell_index="5019" local_entity="0" value="0" />
+ <value cell_index="5020" local_entity="0" value="0" />
+ <value cell_index="5021" local_entity="0" value="0" />
+ <value cell_index="5022" local_entity="0" value="0" />
+ <value cell_index="5023" local_entity="0" value="0" />
+ <value cell_index="5024" local_entity="0" value="0" />
+ <value cell_index="5025" local_entity="0" value="0" />
+ <value cell_index="5026" local_entity="0" value="0" />
+ <value cell_index="5027" local_entity="0" value="0" />
+ <value cell_index="5028" local_entity="0" value="0" />
+ <value cell_index="5029" local_entity="0" value="0" />
+ <value cell_index="5030" local_entity="0" value="0" />
+ <value cell_index="5031" local_entity="0" value="0" />
+ <value cell_index="5032" local_entity="0" value="0" />
+ <value cell_index="5033" local_entity="0" value="0" />
+ <value cell_index="5034" local_entity="0" value="0" />
+ <value cell_index="5035" local_entity="0" value="0" />
+ <value cell_index="5036" local_entity="0" value="0" />
+ <value cell_index="5037" local_entity="0" value="0" />
+ <value cell_index="5038" local_entity="0" value="0" />
+ <value cell_index="5039" local_entity="0" value="0" />
+ <value cell_index="5040" local_entity="0" value="0" />
+ <value cell_index="5041" local_entity="0" value="0" />
+ <value cell_index="5042" local_entity="0" value="0" />
+ <value cell_index="5043" local_entity="0" value="0" />
+ <value cell_index="5044" local_entity="0" value="0" />
+ <value cell_index="5045" local_entity="0" value="0" />
+ <value cell_index="5046" local_entity="0" value="0" />
+ <value cell_index="5047" local_entity="0" value="0" />
+ <value cell_index="5048" local_entity="0" value="0" />
+ <value cell_index="5049" local_entity="0" value="0" />
+ <value cell_index="5050" local_entity="0" value="0" />
+ <value cell_index="5051" local_entity="0" value="0" />
+ <value cell_index="5052" local_entity="0" value="0" />
+ <value cell_index="5053" local_entity="0" value="0" />
+ <value cell_index="5054" local_entity="0" value="0" />
+ <value cell_index="5055" local_entity="0" value="0" />
+ <value cell_index="5056" local_entity="0" value="0" />
+ <value cell_index="5057" local_entity="0" value="0" />
+ <value cell_index="5058" local_entity="0" value="0" />
+ <value cell_index="5059" local_entity="0" value="0" />
+ <value cell_index="5060" local_entity="0" value="0" />
+ <value cell_index="5061" local_entity="0" value="0" />
+ <value cell_index="5062" local_entity="0" value="0" />
+ <value cell_index="5063" local_entity="0" value="0" />
+ <value cell_index="5064" local_entity="0" value="0" />
+ <value cell_index="5065" local_entity="0" value="0" />
+ <value cell_index="5066" local_entity="0" value="0" />
+ <value cell_index="5067" local_entity="0" value="0" />
+ <value cell_index="5068" local_entity="0" value="0" />
+ <value cell_index="5069" local_entity="0" value="0" />
+ <value cell_index="5070" local_entity="0" value="0" />
+ <value cell_index="5071" local_entity="0" value="0" />
+ <value cell_index="5072" local_entity="0" value="0" />
+ <value cell_index="5073" local_entity="0" value="0" />
+ <value cell_index="5074" local_entity="0" value="0" />
+ <value cell_index="5075" local_entity="0" value="0" />
+ <value cell_index="5076" local_entity="0" value="0" />
+ <value cell_index="5077" local_entity="0" value="0" />
+ <value cell_index="5078" local_entity="0" value="0" />
+ <value cell_index="5079" local_entity="0" value="0" />
+ <value cell_index="5080" local_entity="0" value="0" />
+ <value cell_index="5081" local_entity="0" value="0" />
+ <value cell_index="5082" local_entity="0" value="0" />
+ <value cell_index="5083" local_entity="0" value="0" />
+ <value cell_index="5084" local_entity="0" value="0" />
+ <value cell_index="5085" local_entity="0" value="0" />
+ <value cell_index="5086" local_entity="0" value="0" />
+ <value cell_index="5087" local_entity="0" value="0" />
+ <value cell_index="5088" local_entity="0" value="0" />
+ <value cell_index="5089" local_entity="0" value="0" />
+ <value cell_index="5090" local_entity="0" value="0" />
+ <value cell_index="5091" local_entity="0" value="0" />
+ <value cell_index="5092" local_entity="0" value="0" />
+ <value cell_index="5093" local_entity="0" value="0" />
+ <value cell_index="5094" local_entity="0" value="0" />
+ <value cell_index="5095" local_entity="0" value="0" />
+ <value cell_index="5096" local_entity="0" value="0" />
+ <value cell_index="5097" local_entity="0" value="0" />
+ <value cell_index="5098" local_entity="0" value="0" />
+ <value cell_index="5099" local_entity="0" value="0" />
+ <value cell_index="5100" local_entity="0" value="0" />
+ <value cell_index="5101" local_entity="0" value="0" />
+ <value cell_index="5102" local_entity="0" value="0" />
+ <value cell_index="5103" local_entity="0" value="0" />
+ <value cell_index="5104" local_entity="0" value="0" />
+ <value cell_index="5105" local_entity="0" value="0" />
+ <value cell_index="5106" local_entity="0" value="0" />
+ <value cell_index="5107" local_entity="0" value="0" />
+ <value cell_index="5108" local_entity="0" value="0" />
+ <value cell_index="5109" local_entity="0" value="0" />
+ <value cell_index="5110" local_entity="0" value="0" />
+ <value cell_index="5111" local_entity="0" value="0" />
+ <value cell_index="5112" local_entity="0" value="0" />
+ <value cell_index="5113" local_entity="0" value="0" />
+ <value cell_index="5114" local_entity="0" value="0" />
+ <value cell_index="5115" local_entity="0" value="0" />
+ <value cell_index="5116" local_entity="0" value="0" />
+ <value cell_index="5117" local_entity="0" value="0" />
+ <value cell_index="5118" local_entity="0" value="0" />
+ <value cell_index="5119" local_entity="0" value="0" />
+ <value cell_index="5120" local_entity="0" value="0" />
+ <value cell_index="5121" local_entity="0" value="0" />
+ <value cell_index="5122" local_entity="0" value="0" />
+ <value cell_index="5123" local_entity="0" value="0" />
+ <value cell_index="5124" local_entity="0" value="0" />
+ <value cell_index="5125" local_entity="0" value="0" />
+ <value cell_index="5126" local_entity="0" value="0" />
+ <value cell_index="5127" local_entity="0" value="0" />
+ <value cell_index="5128" local_entity="0" value="0" />
+ <value cell_index="5129" local_entity="0" value="0" />
+ <value cell_index="5130" local_entity="0" value="0" />
+ <value cell_index="5131" local_entity="0" value="0" />
+ <value cell_index="5132" local_entity="0" value="0" />
+ <value cell_index="5133" local_entity="0" value="0" />
+ <value cell_index="5134" local_entity="0" value="0" />
+ <value cell_index="5135" local_entity="0" value="0" />
+ <value cell_index="5136" local_entity="0" value="0" />
+ <value cell_index="5137" local_entity="0" value="0" />
+ <value cell_index="5138" local_entity="0" value="0" />
+ <value cell_index="5139" local_entity="0" value="0" />
+ <value cell_index="5140" local_entity="0" value="0" />
+ <value cell_index="5141" local_entity="0" value="0" />
+ <value cell_index="5142" local_entity="0" value="0" />
+ <value cell_index="5143" local_entity="0" value="0" />
+ <value cell_index="5144" local_entity="0" value="0" />
+ <value cell_index="5145" local_entity="0" value="0" />
+ <value cell_index="5146" local_entity="0" value="0" />
+ <value cell_index="5147" local_entity="0" value="0" />
+ <value cell_index="5148" local_entity="0" value="0" />
+ <value cell_index="5149" local_entity="0" value="0" />
+ <value cell_index="5150" local_entity="0" value="0" />
+ <value cell_index="5151" local_entity="0" value="0" />
+ <value cell_index="5152" local_entity="0" value="0" />
+ <value cell_index="5153" local_entity="0" value="0" />
+ <value cell_index="5154" local_entity="0" value="0" />
+ <value cell_index="5155" local_entity="0" value="0" />
+ <value cell_index="5156" local_entity="0" value="0" />
+ <value cell_index="5157" local_entity="0" value="0" />
+ <value cell_index="5158" local_entity="0" value="0" />
+ <value cell_index="5159" local_entity="0" value="0" />
+ <value cell_index="5160" local_entity="0" value="0" />
+ <value cell_index="5161" local_entity="0" value="0" />
+ <value cell_index="5162" local_entity="0" value="0" />
+ <value cell_index="5163" local_entity="0" value="0" />
+ <value cell_index="5164" local_entity="0" value="0" />
+ <value cell_index="5165" local_entity="0" value="0" />
+ <value cell_index="5166" local_entity="0" value="0" />
+ <value cell_index="5167" local_entity="0" value="0" />
+ <value cell_index="5168" local_entity="0" value="0" />
+ <value cell_index="5169" local_entity="0" value="0" />
+ <value cell_index="5170" local_entity="0" value="0" />
+ <value cell_index="5171" local_entity="0" value="0" />
+ <value cell_index="5172" local_entity="0" value="0" />
+ <value cell_index="5173" local_entity="0" value="0" />
+ <value cell_index="5174" local_entity="0" value="0" />
+ <value cell_index="5175" local_entity="0" value="0" />
+ <value cell_index="5176" local_entity="0" value="0" />
+ <value cell_index="5177" local_entity="0" value="0" />
+ <value cell_index="5178" local_entity="0" value="0" />
+ <value cell_index="5179" local_entity="0" value="0" />
+ <value cell_index="5180" local_entity="0" value="0" />
+ <value cell_index="5181" local_entity="0" value="0" />
+ <value cell_index="5182" local_entity="0" value="0" />
+ <value cell_index="5183" local_entity="0" value="0" />
+ <value cell_index="5184" local_entity="0" value="0" />
+ <value cell_index="5185" local_entity="0" value="0" />
+ <value cell_index="5186" local_entity="0" value="0" />
+ <value cell_index="5187" local_entity="0" value="0" />
+ <value cell_index="5188" local_entity="0" value="0" />
+ <value cell_index="5189" local_entity="0" value="0" />
+ <value cell_index="5190" local_entity="0" value="0" />
+ <value cell_index="5191" local_entity="0" value="0" />
+ <value cell_index="5192" local_entity="0" value="0" />
+ <value cell_index="5193" local_entity="0" value="0" />
+ <value cell_index="5194" local_entity="0" value="0" />
+ <value cell_index="5195" local_entity="0" value="0" />
+ <value cell_index="5196" local_entity="0" value="0" />
+ <value cell_index="5197" local_entity="0" value="0" />
+ <value cell_index="5198" local_entity="0" value="0" />
+ <value cell_index="5199" local_entity="0" value="0" />
+ <value cell_index="5200" local_entity="0" value="0" />
+ <value cell_index="5201" local_entity="0" value="0" />
+ <value cell_index="5202" local_entity="0" value="0" />
+ <value cell_index="5203" local_entity="0" value="0" />
+ <value cell_index="5204" local_entity="0" value="0" />
+ <value cell_index="5205" local_entity="0" value="0" />
+ <value cell_index="5206" local_entity="0" value="0" />
+ <value cell_index="5207" local_entity="0" value="0" />
+ <value cell_index="5208" local_entity="0" value="0" />
+ <value cell_index="5209" local_entity="0" value="0" />
+ <value cell_index="5210" local_entity="0" value="0" />
+ <value cell_index="5211" local_entity="0" value="0" />
+ <value cell_index="5212" local_entity="0" value="0" />
+ <value cell_index="5213" local_entity="0" value="0" />
+ <value cell_index="5214" local_entity="0" value="0" />
+ <value cell_index="5215" local_entity="0" value="0" />
+ <value cell_index="5216" local_entity="0" value="0" />
+ <value cell_index="5217" local_entity="0" value="0" />
+ <value cell_index="5218" local_entity="0" value="0" />
+ <value cell_index="5219" local_entity="0" value="0" />
+ <value cell_index="5220" local_entity="0" value="0" />
+ <value cell_index="5221" local_entity="0" value="0" />
+ <value cell_index="5222" local_entity="0" value="0" />
+ <value cell_index="5223" local_entity="0" value="0" />
+ <value cell_index="5224" local_entity="0" value="0" />
+ <value cell_index="5225" local_entity="0" value="0" />
+ <value cell_index="5226" local_entity="0" value="0" />
+ <value cell_index="5227" local_entity="0" value="0" />
+ <value cell_index="5228" local_entity="0" value="0" />
+ <value cell_index="5229" local_entity="0" value="0" />
+ <value cell_index="5230" local_entity="0" value="0" />
+ <value cell_index="5231" local_entity="0" value="0" />
+ <value cell_index="5232" local_entity="0" value="0" />
+ <value cell_index="5233" local_entity="0" value="0" />
+ <value cell_index="5234" local_entity="0" value="0" />
+ <value cell_index="5235" local_entity="0" value="0" />
+ <value cell_index="5236" local_entity="0" value="0" />
+ <value cell_index="5237" local_entity="0" value="0" />
+ <value cell_index="5238" local_entity="0" value="0" />
+ <value cell_index="5239" local_entity="0" value="0" />
+ <value cell_index="5240" local_entity="0" value="0" />
+ <value cell_index="5241" local_entity="0" value="0" />
+ <value cell_index="5242" local_entity="0" value="0" />
+ <value cell_index="5243" local_entity="0" value="0" />
+ <value cell_index="5244" local_entity="0" value="0" />
+ <value cell_index="5245" local_entity="0" value="0" />
+ <value cell_index="5246" local_entity="0" value="0" />
+ <value cell_index="5247" local_entity="0" value="0" />
+ <value cell_index="5248" local_entity="0" value="0" />
+ <value cell_index="5249" local_entity="0" value="0" />
+ <value cell_index="5250" local_entity="0" value="0" />
+ <value cell_index="5251" local_entity="0" value="0" />
+ <value cell_index="5252" local_entity="0" value="0" />
+ <value cell_index="5253" local_entity="0" value="0" />
+ <value cell_index="5254" local_entity="0" value="0" />
+ <value cell_index="5255" local_entity="0" value="0" />
+ <value cell_index="5256" local_entity="0" value="0" />
+ <value cell_index="5257" local_entity="0" value="0" />
+ <value cell_index="5258" local_entity="0" value="0" />
+ <value cell_index="5259" local_entity="0" value="0" />
+ <value cell_index="5260" local_entity="0" value="0" />
+ <value cell_index="5261" local_entity="0" value="0" />
+ <value cell_index="5262" local_entity="0" value="0" />
+ <value cell_index="5263" local_entity="0" value="0" />
+ <value cell_index="5264" local_entity="0" value="0" />
+ <value cell_index="5265" local_entity="0" value="0" />
+ <value cell_index="5266" local_entity="0" value="0" />
+ <value cell_index="5267" local_entity="0" value="0" />
+ <value cell_index="5268" local_entity="0" value="0" />
+ <value cell_index="5269" local_entity="0" value="0" />
+ <value cell_index="5270" local_entity="0" value="0" />
+ <value cell_index="5271" local_entity="0" value="0" />
+ <value cell_index="5272" local_entity="0" value="0" />
+ <value cell_index="5273" local_entity="0" value="0" />
+ <value cell_index="5274" local_entity="0" value="0" />
+ <value cell_index="5275" local_entity="0" value="0" />
+ <value cell_index="5276" local_entity="0" value="0" />
+ <value cell_index="5277" local_entity="0" value="0" />
+ <value cell_index="5278" local_entity="0" value="0" />
+ <value cell_index="5279" local_entity="0" value="0" />
+ <value cell_index="5280" local_entity="0" value="0" />
+ <value cell_index="5281" local_entity="0" value="0" />
+ <value cell_index="5282" local_entity="0" value="0" />
+ <value cell_index="5283" local_entity="0" value="0" />
+ <value cell_index="5284" local_entity="0" value="0" />
+ <value cell_index="5285" local_entity="0" value="0" />
+ <value cell_index="5286" local_entity="0" value="0" />
+ <value cell_index="5287" local_entity="0" value="0" />
+ <value cell_index="5288" local_entity="0" value="0" />
+ <value cell_index="5289" local_entity="0" value="0" />
+ <value cell_index="5290" local_entity="0" value="0" />
+ <value cell_index="5291" local_entity="0" value="0" />
+ <value cell_index="5292" local_entity="0" value="0" />
+ <value cell_index="5293" local_entity="0" value="0" />
+ <value cell_index="5294" local_entity="0" value="0" />
+ <value cell_index="5295" local_entity="0" value="0" />
+ <value cell_index="5296" local_entity="0" value="0" />
+ <value cell_index="5297" local_entity="0" value="0" />
+ <value cell_index="5298" local_entity="0" value="0" />
+ <value cell_index="5299" local_entity="0" value="0" />
+ <value cell_index="5300" local_entity="0" value="0" />
+ <value cell_index="5301" local_entity="0" value="0" />
+ <value cell_index="5302" local_entity="0" value="0" />
+ <value cell_index="5303" local_entity="0" value="0" />
+ <value cell_index="5304" local_entity="0" value="0" />
+ <value cell_index="5305" local_entity="0" value="0" />
+ <value cell_index="5306" local_entity="0" value="0" />
+ <value cell_index="5307" local_entity="0" value="0" />
+ <value cell_index="5308" local_entity="0" value="0" />
+ <value cell_index="5309" local_entity="0" value="0" />
+ <value cell_index="5310" local_entity="0" value="0" />
+ <value cell_index="5311" local_entity="0" value="0" />
+ <value cell_index="5312" local_entity="0" value="0" />
+ <value cell_index="5313" local_entity="0" value="0" />
+ <value cell_index="5314" local_entity="0" value="0" />
+ <value cell_index="5315" local_entity="0" value="0" />
+ <value cell_index="5316" local_entity="0" value="0" />
+ <value cell_index="5317" local_entity="0" value="0" />
+ <value cell_index="5318" local_entity="0" value="0" />
+ <value cell_index="5319" local_entity="0" value="0" />
+ <value cell_index="5320" local_entity="0" value="0" />
+ <value cell_index="5321" local_entity="0" value="0" />
+ <value cell_index="5322" local_entity="0" value="0" />
+ <value cell_index="5323" local_entity="0" value="0" />
+ <value cell_index="5324" local_entity="0" value="0" />
+ <value cell_index="5325" local_entity="0" value="0" />
+ <value cell_index="5326" local_entity="0" value="0" />
+ <value cell_index="5327" local_entity="0" value="0" />
+ <value cell_index="5328" local_entity="0" value="0" />
+ <value cell_index="5329" local_entity="0" value="0" />
+ <value cell_index="5330" local_entity="0" value="0" />
+ <value cell_index="5331" local_entity="0" value="0" />
+ <value cell_index="5332" local_entity="0" value="0" />
+ <value cell_index="5333" local_entity="0" value="0" />
+ <value cell_index="5334" local_entity="0" value="0" />
+ <value cell_index="5335" local_entity="0" value="0" />
+ <value cell_index="5336" local_entity="0" value="0" />
+ <value cell_index="5337" local_entity="0" value="0" />
+ <value cell_index="5338" local_entity="0" value="0" />
+ <value cell_index="5339" local_entity="0" value="0" />
+ <value cell_index="5340" local_entity="0" value="0" />
+ <value cell_index="5341" local_entity="0" value="0" />
+ <value cell_index="5342" local_entity="0" value="0" />
+ <value cell_index="5343" local_entity="0" value="0" />
+ <value cell_index="5344" local_entity="0" value="0" />
+ <value cell_index="5345" local_entity="0" value="0" />
+ <value cell_index="5346" local_entity="0" value="0" />
+ <value cell_index="5347" local_entity="0" value="0" />
+ <value cell_index="5348" local_entity="0" value="0" />
+ <value cell_index="5349" local_entity="0" value="0" />
+ <value cell_index="5350" local_entity="0" value="0" />
+ <value cell_index="5351" local_entity="0" value="0" />
+ <value cell_index="5352" local_entity="0" value="0" />
+ <value cell_index="5353" local_entity="0" value="0" />
+ <value cell_index="5354" local_entity="0" value="0" />
+ <value cell_index="5355" local_entity="0" value="0" />
+ <value cell_index="5356" local_entity="0" value="0" />
+ <value cell_index="5357" local_entity="0" value="0" />
+ <value cell_index="5358" local_entity="0" value="0" />
+ <value cell_index="5359" local_entity="0" value="0" />
+ <value cell_index="5360" local_entity="0" value="0" />
+ <value cell_index="5361" local_entity="0" value="0" />
+ <value cell_index="5362" local_entity="0" value="0" />
+ <value cell_index="5363" local_entity="0" value="0" />
+ <value cell_index="5364" local_entity="0" value="0" />
+ <value cell_index="5365" local_entity="0" value="0" />
+ <value cell_index="5366" local_entity="0" value="0" />
+ <value cell_index="5367" local_entity="0" value="0" />
+ <value cell_index="5368" local_entity="0" value="0" />
+ <value cell_index="5369" local_entity="0" value="0" />
+ <value cell_index="5370" local_entity="0" value="0" />
+ <value cell_index="5371" local_entity="0" value="0" />
+ <value cell_index="5372" local_entity="0" value="0" />
+ <value cell_index="5373" local_entity="0" value="0" />
+ <value cell_index="5374" local_entity="0" value="0" />
+ <value cell_index="5375" local_entity="0" value="0" />
+ <value cell_index="5376" local_entity="0" value="0" />
+ <value cell_index="5377" local_entity="0" value="0" />
+ <value cell_index="5378" local_entity="0" value="0" />
+ <value cell_index="5379" local_entity="0" value="0" />
+ <value cell_index="5380" local_entity="0" value="0" />
+ <value cell_index="5381" local_entity="0" value="0" />
+ <value cell_index="5382" local_entity="0" value="0" />
+ <value cell_index="5383" local_entity="0" value="0" />
+ <value cell_index="5384" local_entity="0" value="0" />
+ <value cell_index="5385" local_entity="0" value="0" />
+ <value cell_index="5386" local_entity="0" value="0" />
+ <value cell_index="5387" local_entity="0" value="0" />
+ <value cell_index="5388" local_entity="0" value="0" />
+ <value cell_index="5389" local_entity="0" value="0" />
+ <value cell_index="5390" local_entity="0" value="0" />
+ <value cell_index="5391" local_entity="0" value="0" />
+ <value cell_index="5392" local_entity="0" value="0" />
+ <value cell_index="5393" local_entity="0" value="0" />
+ <value cell_index="5394" local_entity="0" value="0" />
+ <value cell_index="5395" local_entity="0" value="0" />
+ <value cell_index="5396" local_entity="0" value="0" />
+ <value cell_index="5397" local_entity="0" value="0" />
+ <value cell_index="5398" local_entity="0" value="0" />
+ <value cell_index="5399" local_entity="0" value="0" />
+ <value cell_index="5400" local_entity="0" value="0" />
+ <value cell_index="5401" local_entity="0" value="0" />
+ <value cell_index="5402" local_entity="0" value="0" />
+ <value cell_index="5403" local_entity="0" value="0" />
+ <value cell_index="5404" local_entity="0" value="0" />
+ <value cell_index="5405" local_entity="0" value="0" />
+ <value cell_index="5406" local_entity="0" value="0" />
+ <value cell_index="5407" local_entity="0" value="0" />
+ <value cell_index="5408" local_entity="0" value="0" />
+ <value cell_index="5409" local_entity="0" value="0" />
+ <value cell_index="5410" local_entity="0" value="0" />
+ <value cell_index="5411" local_entity="0" value="0" />
+ <value cell_index="5412" local_entity="0" value="0" />
+ <value cell_index="5413" local_entity="0" value="0" />
+ <value cell_index="5414" local_entity="0" value="0" />
+ <value cell_index="5415" local_entity="0" value="0" />
+ <value cell_index="5416" local_entity="0" value="0" />
+ <value cell_index="5417" local_entity="0" value="0" />
+ <value cell_index="5418" local_entity="0" value="0" />
+ <value cell_index="5419" local_entity="0" value="0" />
+ <value cell_index="5420" local_entity="0" value="0" />
+ <value cell_index="5421" local_entity="0" value="0" />
+ <value cell_index="5422" local_entity="0" value="0" />
+ <value cell_index="5423" local_entity="0" value="0" />
+ <value cell_index="5424" local_entity="0" value="0" />
+ <value cell_index="5425" local_entity="0" value="0" />
+ <value cell_index="5426" local_entity="0" value="0" />
+ <value cell_index="5427" local_entity="0" value="0" />
+ <value cell_index="5428" local_entity="0" value="0" />
+ <value cell_index="5429" local_entity="0" value="0" />
+ <value cell_index="5430" local_entity="0" value="0" />
+ <value cell_index="5431" local_entity="0" value="0" />
+ <value cell_index="5432" local_entity="0" value="0" />
+ <value cell_index="5433" local_entity="0" value="0" />
+ <value cell_index="5434" local_entity="0" value="0" />
+ <value cell_index="5435" local_entity="0" value="0" />
+ <value cell_index="5436" local_entity="0" value="0" />
+ <value cell_index="5437" local_entity="0" value="0" />
+ <value cell_index="5438" local_entity="0" value="0" />
+ <value cell_index="5439" local_entity="0" value="0" />
+ <value cell_index="5440" local_entity="0" value="0" />
+ <value cell_index="5441" local_entity="0" value="0" />
+ <value cell_index="5442" local_entity="0" value="0" />
+ <value cell_index="5443" local_entity="0" value="0" />
+ <value cell_index="5444" local_entity="0" value="0" />
+ <value cell_index="5445" local_entity="0" value="0" />
+ <value cell_index="5446" local_entity="0" value="0" />
+ <value cell_index="5447" local_entity="0" value="0" />
+ <value cell_index="5448" local_entity="0" value="0" />
+ <value cell_index="5449" local_entity="0" value="0" />
+ <value cell_index="5450" local_entity="0" value="0" />
+ <value cell_index="5451" local_entity="0" value="0" />
+ <value cell_index="5452" local_entity="0" value="0" />
+ <value cell_index="5453" local_entity="0" value="0" />
+ <value cell_index="5454" local_entity="0" value="0" />
+ <value cell_index="5455" local_entity="0" value="0" />
+ <value cell_index="5456" local_entity="0" value="0" />
+ <value cell_index="5457" local_entity="0" value="0" />
+ <value cell_index="5458" local_entity="0" value="0" />
+ <value cell_index="5459" local_entity="0" value="0" />
+ <value cell_index="5460" local_entity="0" value="0" />
+ <value cell_index="5461" local_entity="0" value="0" />
+ <value cell_index="5462" local_entity="0" value="0" />
+ <value cell_index="5463" local_entity="0" value="0" />
+ <value cell_index="5464" local_entity="0" value="0" />
+ <value cell_index="5465" local_entity="0" value="0" />
+ <value cell_index="5466" local_entity="0" value="0" />
+ <value cell_index="5467" local_entity="0" value="0" />
+ <value cell_index="5468" local_entity="0" value="0" />
+ <value cell_index="5469" local_entity="0" value="0" />
+ <value cell_index="5470" local_entity="0" value="0" />
+ <value cell_index="5471" local_entity="0" value="0" />
+ <value cell_index="5472" local_entity="0" value="0" />
+ <value cell_index="5473" local_entity="0" value="0" />
+ <value cell_index="5474" local_entity="0" value="0" />
+ <value cell_index="5475" local_entity="0" value="0" />
+ <value cell_index="5476" local_entity="0" value="0" />
+ <value cell_index="5477" local_entity="0" value="0" />
+ <value cell_index="5478" local_entity="0" value="0" />
+ <value cell_index="5479" local_entity="0" value="0" />
+ <value cell_index="5480" local_entity="0" value="0" />
+ <value cell_index="5481" local_entity="0" value="0" />
+ <value cell_index="5482" local_entity="0" value="0" />
+ <value cell_index="5483" local_entity="0" value="0" />
+ <value cell_index="5484" local_entity="0" value="0" />
+ <value cell_index="5485" local_entity="0" value="0" />
+ <value cell_index="5486" local_entity="0" value="0" />
+ <value cell_index="5487" local_entity="0" value="0" />
+ <value cell_index="5488" local_entity="0" value="0" />
+ <value cell_index="5489" local_entity="0" value="0" />
+ <value cell_index="5490" local_entity="0" value="0" />
+ <value cell_index="5491" local_entity="0" value="0" />
+ <value cell_index="5492" local_entity="0" value="0" />
+ <value cell_index="5493" local_entity="0" value="0" />
+ <value cell_index="5494" local_entity="0" value="0" />
+ <value cell_index="5495" local_entity="0" value="0" />
+ <value cell_index="5496" local_entity="0" value="0" />
+ <value cell_index="5497" local_entity="0" value="0" />
+ <value cell_index="5498" local_entity="0" value="0" />
+ <value cell_index="5499" local_entity="0" value="0" />
+ <value cell_index="5500" local_entity="0" value="0" />
+ <value cell_index="5501" local_entity="0" value="0" />
+ <value cell_index="5502" local_entity="0" value="0" />
+ <value cell_index="5503" local_entity="0" value="0" />
+ <value cell_index="5504" local_entity="0" value="0" />
+ <value cell_index="5505" local_entity="0" value="0" />
+ <value cell_index="5506" local_entity="0" value="0" />
+ <value cell_index="5507" local_entity="0" value="0" />
+ <value cell_index="5508" local_entity="0" value="0" />
+ <value cell_index="5509" local_entity="0" value="0" />
+ <value cell_index="5510" local_entity="0" value="0" />
+ <value cell_index="5511" local_entity="0" value="0" />
+ <value cell_index="5512" local_entity="0" value="0" />
+ <value cell_index="5513" local_entity="0" value="0" />
+ <value cell_index="5514" local_entity="0" value="0" />
+ <value cell_index="5515" local_entity="0" value="0" />
+ <value cell_index="5516" local_entity="0" value="0" />
+ <value cell_index="5517" local_entity="0" value="0" />
+ <value cell_index="5518" local_entity="0" value="0" />
+ <value cell_index="5519" local_entity="0" value="0" />
+ <value cell_index="5520" local_entity="0" value="0" />
+ <value cell_index="5521" local_entity="0" value="0" />
+ <value cell_index="5522" local_entity="0" value="0" />
+ <value cell_index="5523" local_entity="0" value="0" />
+ <value cell_index="5524" local_entity="0" value="0" />
+ <value cell_index="5525" local_entity="0" value="0" />
+ <value cell_index="5526" local_entity="0" value="0" />
+ <value cell_index="5527" local_entity="0" value="0" />
+ <value cell_index="5528" local_entity="0" value="0" />
+ <value cell_index="5529" local_entity="0" value="0" />
+ <value cell_index="5530" local_entity="0" value="0" />
+ <value cell_index="5531" local_entity="0" value="0" />
+ <value cell_index="5532" local_entity="0" value="0" />
+ <value cell_index="5533" local_entity="0" value="0" />
+ <value cell_index="5534" local_entity="0" value="0" />
+ <value cell_index="5535" local_entity="0" value="0" />
+ <value cell_index="5536" local_entity="0" value="0" />
+ <value cell_index="5537" local_entity="0" value="0" />
+ <value cell_index="5538" local_entity="0" value="0" />
+ <value cell_index="5539" local_entity="0" value="0" />
+ <value cell_index="5540" local_entity="0" value="0" />
+ <value cell_index="5541" local_entity="0" value="0" />
+ <value cell_index="5542" local_entity="0" value="0" />
+ <value cell_index="5543" local_entity="0" value="0" />
+ <value cell_index="5544" local_entity="0" value="0" />
+ <value cell_index="5545" local_entity="0" value="0" />
+ <value cell_index="5546" local_entity="0" value="0" />
+ <value cell_index="5547" local_entity="0" value="0" />
+ <value cell_index="5548" local_entity="0" value="0" />
+ <value cell_index="5549" local_entity="0" value="0" />
+ <value cell_index="5550" local_entity="0" value="0" />
+ <value cell_index="5551" local_entity="0" value="0" />
+ <value cell_index="5552" local_entity="0" value="0" />
+ <value cell_index="5553" local_entity="0" value="0" />
+ <value cell_index="5554" local_entity="0" value="0" />
+ <value cell_index="5555" local_entity="0" value="0" />
+ <value cell_index="5556" local_entity="0" value="0" />
+ <value cell_index="5557" local_entity="0" value="0" />
+ <value cell_index="5558" local_entity="0" value="0" />
+ <value cell_index="5559" local_entity="0" value="0" />
+ <value cell_index="5560" local_entity="0" value="0" />
+ <value cell_index="5561" local_entity="0" value="0" />
+ <value cell_index="5562" local_entity="0" value="0" />
+ <value cell_index="5563" local_entity="0" value="0" />
+ <value cell_index="5564" local_entity="0" value="0" />
+ <value cell_index="5565" local_entity="0" value="0" />
+ <value cell_index="5566" local_entity="0" value="0" />
+ <value cell_index="5567" local_entity="0" value="0" />
+ <value cell_index="5568" local_entity="0" value="0" />
+ <value cell_index="5569" local_entity="0" value="0" />
+ <value cell_index="5570" local_entity="0" value="0" />
+ <value cell_index="5571" local_entity="0" value="0" />
+ <value cell_index="5572" local_entity="0" value="0" />
+ <value cell_index="5573" local_entity="0" value="0" />
+ <value cell_index="5574" local_entity="0" value="0" />
+ <value cell_index="5575" local_entity="0" value="0" />
+ <value cell_index="5576" local_entity="0" value="0" />
+ <value cell_index="5577" local_entity="0" value="0" />
+ <value cell_index="5578" local_entity="0" value="0" />
+ <value cell_index="5579" local_entity="0" value="0" />
+ <value cell_index="5580" local_entity="0" value="0" />
+ <value cell_index="5581" local_entity="0" value="0" />
+ <value cell_index="5582" local_entity="0" value="0" />
+ <value cell_index="5583" local_entity="0" value="0" />
+ <value cell_index="5584" local_entity="0" value="0" />
+ <value cell_index="5585" local_entity="0" value="0" />
+ <value cell_index="5586" local_entity="0" value="0" />
+ <value cell_index="5587" local_entity="0" value="0" />
+ <value cell_index="5588" local_entity="0" value="0" />
+ <value cell_index="5589" local_entity="0" value="0" />
+ <value cell_index="5590" local_entity="0" value="0" />
+ <value cell_index="5591" local_entity="0" value="0" />
+ <value cell_index="5592" local_entity="0" value="0" />
+ <value cell_index="5593" local_entity="0" value="0" />
+ <value cell_index="5594" local_entity="0" value="0" />
+ <value cell_index="5595" local_entity="0" value="0" />
+ <value cell_index="5596" local_entity="0" value="0" />
+ <value cell_index="5597" local_entity="0" value="0" />
+ <value cell_index="5598" local_entity="0" value="0" />
+ <value cell_index="5599" local_entity="0" value="0" />
+ <value cell_index="5600" local_entity="0" value="0" />
+ <value cell_index="5601" local_entity="0" value="0" />
+ <value cell_index="5602" local_entity="0" value="0" />
+ <value cell_index="5603" local_entity="0" value="0" />
+ <value cell_index="5604" local_entity="0" value="0" />
+ <value cell_index="5605" local_entity="0" value="0" />
+ <value cell_index="5606" local_entity="0" value="0" />
+ <value cell_index="5607" local_entity="0" value="0" />
+ <value cell_index="5608" local_entity="0" value="0" />
+ <value cell_index="5609" local_entity="0" value="0" />
+ <value cell_index="5610" local_entity="0" value="0" />
+ <value cell_index="5611" local_entity="0" value="0" />
+ <value cell_index="5612" local_entity="0" value="0" />
+ <value cell_index="5613" local_entity="0" value="0" />
+ <value cell_index="5614" local_entity="0" value="0" />
+ <value cell_index="5615" local_entity="0" value="0" />
+ <value cell_index="5616" local_entity="0" value="0" />
+ <value cell_index="5617" local_entity="0" value="0" />
+ <value cell_index="5618" local_entity="0" value="0" />
+ <value cell_index="5619" local_entity="0" value="0" />
+ <value cell_index="5620" local_entity="0" value="0" />
+ <value cell_index="5621" local_entity="0" value="0" />
+ <value cell_index="5622" local_entity="0" value="0" />
+ <value cell_index="5623" local_entity="0" value="0" />
+ <value cell_index="5624" local_entity="0" value="0" />
+ <value cell_index="5625" local_entity="0" value="0" />
+ <value cell_index="5626" local_entity="0" value="0" />
+ <value cell_index="5627" local_entity="0" value="0" />
+ <value cell_index="5628" local_entity="0" value="0" />
+ <value cell_index="5629" local_entity="0" value="0" />
+ <value cell_index="5630" local_entity="0" value="0" />
+ <value cell_index="5631" local_entity="0" value="0" />
+ <value cell_index="5632" local_entity="0" value="0" />
+ <value cell_index="5633" local_entity="0" value="0" />
+ <value cell_index="5634" local_entity="0" value="0" />
+ <value cell_index="5635" local_entity="0" value="0" />
+ <value cell_index="5636" local_entity="0" value="0" />
+ <value cell_index="5637" local_entity="0" value="0" />
+ <value cell_index="5638" local_entity="0" value="0" />
+ <value cell_index="5639" local_entity="0" value="0" />
+ <value cell_index="5640" local_entity="0" value="0" />
+ <value cell_index="5641" local_entity="0" value="0" />
+ <value cell_index="5642" local_entity="0" value="0" />
+ <value cell_index="5643" local_entity="0" value="0" />
+ <value cell_index="5644" local_entity="0" value="0" />
+ <value cell_index="5645" local_entity="0" value="0" />
+ <value cell_index="5646" local_entity="0" value="0" />
+ <value cell_index="5647" local_entity="0" value="0" />
+ <value cell_index="5648" local_entity="0" value="0" />
+ <value cell_index="5649" local_entity="0" value="0" />
+ <value cell_index="5650" local_entity="0" value="0" />
+ <value cell_index="5651" local_entity="0" value="0" />
+ <value cell_index="5652" local_entity="0" value="0" />
+ <value cell_index="5653" local_entity="0" value="0" />
+ <value cell_index="5654" local_entity="0" value="0" />
+ <value cell_index="5655" local_entity="0" value="0" />
+ <value cell_index="5656" local_entity="0" value="0" />
+ <value cell_index="5657" local_entity="0" value="0" />
+ <value cell_index="5658" local_entity="0" value="0" />
+ <value cell_index="5659" local_entity="0" value="0" />
+ <value cell_index="5660" local_entity="0" value="0" />
+ <value cell_index="5661" local_entity="0" value="0" />
+ <value cell_index="5662" local_entity="0" value="0" />
+ <value cell_index="5663" local_entity="0" value="0" />
+ <value cell_index="5664" local_entity="0" value="0" />
+ <value cell_index="5665" local_entity="0" value="0" />
+ <value cell_index="5666" local_entity="0" value="0" />
+ <value cell_index="5667" local_entity="0" value="0" />
+ <value cell_index="5668" local_entity="0" value="0" />
+ <value cell_index="5669" local_entity="0" value="0" />
+ <value cell_index="5670" local_entity="0" value="0" />
+ <value cell_index="5671" local_entity="0" value="0" />
+ <value cell_index="5672" local_entity="0" value="0" />
+ <value cell_index="5673" local_entity="0" value="0" />
+ <value cell_index="5674" local_entity="0" value="0" />
+ <value cell_index="5675" local_entity="0" value="0" />
+ <value cell_index="5676" local_entity="0" value="0" />
+ <value cell_index="5677" local_entity="0" value="0" />
+ <value cell_index="5678" local_entity="0" value="0" />
+ <value cell_index="5679" local_entity="0" value="0" />
+ <value cell_index="5680" local_entity="0" value="0" />
+ <value cell_index="5681" local_entity="0" value="0" />
+ <value cell_index="5682" local_entity="0" value="0" />
+ <value cell_index="5683" local_entity="0" value="0" />
+ <value cell_index="5684" local_entity="0" value="0" />
+ <value cell_index="5685" local_entity="0" value="0" />
+ <value cell_index="5686" local_entity="0" value="0" />
+ <value cell_index="5687" local_entity="0" value="0" />
+ <value cell_index="5688" local_entity="0" value="0" />
+ <value cell_index="5689" local_entity="0" value="0" />
+ <value cell_index="5690" local_entity="0" value="0" />
+ <value cell_index="5691" local_entity="0" value="0" />
+ <value cell_index="5692" local_entity="0" value="0" />
+ <value cell_index="5693" local_entity="0" value="0" />
+ <value cell_index="5694" local_entity="0" value="0" />
+ <value cell_index="5695" local_entity="0" value="0" />
+ <value cell_index="5696" local_entity="0" value="0" />
+ <value cell_index="5697" local_entity="0" value="0" />
+ <value cell_index="5698" local_entity="0" value="0" />
+ <value cell_index="5699" local_entity="0" value="0" />
+ <value cell_index="5700" local_entity="0" value="0" />
+ <value cell_index="5701" local_entity="0" value="0" />
+ <value cell_index="5702" local_entity="0" value="0" />
+ <value cell_index="5703" local_entity="0" value="0" />
+ <value cell_index="5704" local_entity="0" value="0" />
+ <value cell_index="5705" local_entity="0" value="0" />
+ <value cell_index="5706" local_entity="0" value="0" />
+ <value cell_index="5707" local_entity="0" value="0" />
+ <value cell_index="5708" local_entity="0" value="0" />
+ <value cell_index="5709" local_entity="0" value="0" />
+ <value cell_index="5710" local_entity="0" value="0" />
+ <value cell_index="5711" local_entity="0" value="0" />
+ <value cell_index="5712" local_entity="0" value="0" />
+ <value cell_index="5713" local_entity="0" value="0" />
+ <value cell_index="5714" local_entity="0" value="0" />
+ <value cell_index="5715" local_entity="0" value="0" />
+ <value cell_index="5716" local_entity="0" value="0" />
+ <value cell_index="5717" local_entity="0" value="0" />
+ <value cell_index="5718" local_entity="0" value="0" />
+ <value cell_index="5719" local_entity="0" value="0" />
+ <value cell_index="5720" local_entity="0" value="0" />
+ <value cell_index="5721" local_entity="0" value="0" />
+ <value cell_index="5722" local_entity="0" value="0" />
+ <value cell_index="5723" local_entity="0" value="0" />
+ <value cell_index="5724" local_entity="0" value="0" />
+ <value cell_index="5725" local_entity="0" value="0" />
+ <value cell_index="5726" local_entity="0" value="0" />
+ <value cell_index="5727" local_entity="0" value="0" />
+ <value cell_index="5728" local_entity="0" value="0" />
+ <value cell_index="5729" local_entity="0" value="0" />
+ <value cell_index="5730" local_entity="0" value="0" />
+ <value cell_index="5731" local_entity="0" value="0" />
+ <value cell_index="5732" local_entity="0" value="0" />
+ <value cell_index="5733" local_entity="0" value="0" />
+ <value cell_index="5734" local_entity="0" value="0" />
+ <value cell_index="5735" local_entity="0" value="0" />
+ <value cell_index="5736" local_entity="0" value="0" />
+ <value cell_index="5737" local_entity="0" value="0" />
+ <value cell_index="5738" local_entity="0" value="0" />
+ <value cell_index="5739" local_entity="0" value="0" />
+ <value cell_index="5740" local_entity="0" value="0" />
+ <value cell_index="5741" local_entity="0" value="0" />
+ <value cell_index="5742" local_entity="0" value="0" />
+ <value cell_index="5743" local_entity="0" value="0" />
+ <value cell_index="5744" local_entity="0" value="0" />
+ <value cell_index="5745" local_entity="0" value="0" />
+ <value cell_index="5746" local_entity="0" value="0" />
+ <value cell_index="5747" local_entity="0" value="0" />
+ <value cell_index="5748" local_entity="0" value="0" />
+ <value cell_index="5749" local_entity="0" value="0" />
+ <value cell_index="5750" local_entity="0" value="0" />
+ <value cell_index="5751" local_entity="0" value="0" />
+ <value cell_index="5752" local_entity="0" value="0" />
+ <value cell_index="5753" local_entity="0" value="0" />
+ <value cell_index="5754" local_entity="0" value="0" />
+ <value cell_index="5755" local_entity="0" value="0" />
+ <value cell_index="5756" local_entity="0" value="0" />
+ <value cell_index="5757" local_entity="0" value="0" />
+ <value cell_index="5758" local_entity="0" value="0" />
+ <value cell_index="5759" local_entity="0" value="0" />
+ <value cell_index="5760" local_entity="0" value="0" />
+ <value cell_index="5761" local_entity="0" value="0" />
+ <value cell_index="5762" local_entity="0" value="0" />
+ <value cell_index="5763" local_entity="0" value="0" />
+ <value cell_index="5764" local_entity="0" value="0" />
+ <value cell_index="5765" local_entity="0" value="0" />
+ <value cell_index="5766" local_entity="0" value="0" />
+ <value cell_index="5767" local_entity="0" value="0" />
+ <value cell_index="5768" local_entity="0" value="0" />
+ <value cell_index="5769" local_entity="0" value="0" />
+ <value cell_index="5770" local_entity="0" value="0" />
+ <value cell_index="5771" local_entity="0" value="0" />
+ <value cell_index="5772" local_entity="0" value="0" />
+ <value cell_index="5773" local_entity="0" value="0" />
+ <value cell_index="5774" local_entity="0" value="0" />
+ <value cell_index="5775" local_entity="0" value="0" />
+ <value cell_index="5776" local_entity="0" value="0" />
+ <value cell_index="5777" local_entity="0" value="0" />
+ <value cell_index="5778" local_entity="0" value="0" />
+ <value cell_index="5779" local_entity="0" value="0" />
+ <value cell_index="5780" local_entity="0" value="0" />
+ <value cell_index="5781" local_entity="0" value="0" />
+ <value cell_index="5782" local_entity="0" value="0" />
+ <value cell_index="5783" local_entity="0" value="0" />
+ <value cell_index="5784" local_entity="0" value="0" />
+ <value cell_index="5785" local_entity="0" value="0" />
+ <value cell_index="5786" local_entity="0" value="0" />
+ <value cell_index="5787" local_entity="0" value="0" />
+ <value cell_index="5788" local_entity="0" value="0" />
+ <value cell_index="5789" local_entity="0" value="0" />
+ <value cell_index="5790" local_entity="0" value="0" />
+ <value cell_index="5791" local_entity="0" value="0" />
+ <value cell_index="5792" local_entity="0" value="0" />
+ <value cell_index="5793" local_entity="0" value="0" />
+ <value cell_index="5794" local_entity="0" value="0" />
+ <value cell_index="5795" local_entity="0" value="0" />
+ <value cell_index="5796" local_entity="0" value="0" />
+ <value cell_index="5797" local_entity="0" value="0" />
+ <value cell_index="5798" local_entity="0" value="0" />
+ <value cell_index="5799" local_entity="0" value="0" />
+ <value cell_index="5800" local_entity="0" value="0" />
+ <value cell_index="5801" local_entity="0" value="0" />
+ <value cell_index="5802" local_entity="0" value="0" />
+ <value cell_index="5803" local_entity="0" value="0" />
+ <value cell_index="5804" local_entity="0" value="0" />
+ <value cell_index="5805" local_entity="0" value="0" />
+ <value cell_index="5806" local_entity="0" value="0" />
+ <value cell_index="5807" local_entity="0" value="0" />
+ <value cell_index="5808" local_entity="0" value="0" />
+ <value cell_index="5809" local_entity="0" value="0" />
+ <value cell_index="5810" local_entity="0" value="0" />
+ <value cell_index="5811" local_entity="0" value="0" />
+ <value cell_index="5812" local_entity="0" value="0" />
+ <value cell_index="5813" local_entity="0" value="0" />
+ <value cell_index="5814" local_entity="0" value="0" />
+ <value cell_index="5815" local_entity="0" value="0" />
+ <value cell_index="5816" local_entity="0" value="0" />
+ <value cell_index="5817" local_entity="0" value="0" />
+ <value cell_index="5818" local_entity="0" value="0" />
+ <value cell_index="5819" local_entity="0" value="0" />
+ <value cell_index="5820" local_entity="0" value="0" />
+ <value cell_index="5821" local_entity="0" value="0" />
+ <value cell_index="5822" local_entity="0" value="0" />
+ <value cell_index="5823" local_entity="0" value="0" />
+ <value cell_index="5824" local_entity="0" value="0" />
+ <value cell_index="5825" local_entity="0" value="0" />
+ <value cell_index="5826" local_entity="0" value="0" />
+ <value cell_index="5827" local_entity="0" value="0" />
+ <value cell_index="5828" local_entity="0" value="0" />
+ <value cell_index="5829" local_entity="0" value="0" />
+ <value cell_index="5830" local_entity="0" value="0" />
+ <value cell_index="5831" local_entity="0" value="0" />
+ <value cell_index="5832" local_entity="0" value="0" />
+ <value cell_index="5833" local_entity="0" value="0" />
+ <value cell_index="5834" local_entity="0" value="0" />
+ <value cell_index="5835" local_entity="0" value="0" />
+ <value cell_index="5836" local_entity="0" value="0" />
+ <value cell_index="5837" local_entity="0" value="0" />
+ <value cell_index="5838" local_entity="0" value="0" />
+ <value cell_index="5839" local_entity="0" value="0" />
+ <value cell_index="5840" local_entity="0" value="0" />
+ <value cell_index="5841" local_entity="0" value="0" />
+ <value cell_index="5842" local_entity="0" value="0" />
+ <value cell_index="5843" local_entity="0" value="0" />
+ <value cell_index="5844" local_entity="0" value="0" />
+ <value cell_index="5845" local_entity="0" value="0" />
+ <value cell_index="5846" local_entity="0" value="0" />
+ <value cell_index="5847" local_entity="0" value="0" />
+ <value cell_index="5848" local_entity="0" value="0" />
+ <value cell_index="5849" local_entity="0" value="0" />
+ <value cell_index="5850" local_entity="0" value="0" />
+ <value cell_index="5851" local_entity="0" value="0" />
+ <value cell_index="5852" local_entity="0" value="0" />
+ <value cell_index="5853" local_entity="0" value="0" />
+ <value cell_index="5854" local_entity="0" value="0" />
+ <value cell_index="5855" local_entity="0" value="0" />
+ <value cell_index="5856" local_entity="0" value="0" />
+ <value cell_index="5857" local_entity="0" value="0" />
+ <value cell_index="5858" local_entity="0" value="0" />
+ <value cell_index="5859" local_entity="0" value="0" />
+ <value cell_index="5860" local_entity="0" value="0" />
+ <value cell_index="5861" local_entity="0" value="0" />
+ <value cell_index="5862" local_entity="0" value="0" />
+ <value cell_index="5863" local_entity="0" value="0" />
+ <value cell_index="5864" local_entity="0" value="0" />
+ <value cell_index="5865" local_entity="0" value="0" />
+ <value cell_index="5866" local_entity="0" value="0" />
+ <value cell_index="5867" local_entity="0" value="0" />
+ <value cell_index="5868" local_entity="0" value="0" />
+ <value cell_index="5869" local_entity="0" value="0" />
+ <value cell_index="5870" local_entity="0" value="0" />
+ <value cell_index="5871" local_entity="0" value="0" />
+ <value cell_index="5872" local_entity="0" value="0" />
+ <value cell_index="5873" local_entity="0" value="0" />
+ <value cell_index="5874" local_entity="0" value="0" />
+ <value cell_index="5875" local_entity="0" value="0" />
+ <value cell_index="5876" local_entity="0" value="0" />
+ <value cell_index="5877" local_entity="0" value="0" />
+ <value cell_index="5878" local_entity="0" value="0" />
+ <value cell_index="5879" local_entity="0" value="0" />
+ <value cell_index="5880" local_entity="0" value="0" />
+ <value cell_index="5881" local_entity="0" value="0" />
+ <value cell_index="5882" local_entity="0" value="0" />
+ <value cell_index="5883" local_entity="0" value="0" />
+ <value cell_index="5884" local_entity="0" value="0" />
+ <value cell_index="5885" local_entity="0" value="0" />
+ <value cell_index="5886" local_entity="0" value="0" />
+ <value cell_index="5887" local_entity="0" value="0" />
+ <value cell_index="5888" local_entity="0" value="0" />
+ <value cell_index="5889" local_entity="0" value="0" />
+ <value cell_index="5890" local_entity="0" value="0" />
+ <value cell_index="5891" local_entity="0" value="0" />
+ <value cell_index="5892" local_entity="0" value="0" />
+ <value cell_index="5893" local_entity="0" value="0" />
+ <value cell_index="5894" local_entity="0" value="0" />
+ <value cell_index="5895" local_entity="0" value="0" />
+ <value cell_index="5896" local_entity="0" value="0" />
+ <value cell_index="5897" local_entity="0" value="0" />
+ <value cell_index="5898" local_entity="0" value="0" />
+ <value cell_index="5899" local_entity="0" value="0" />
+ <value cell_index="5900" local_entity="0" value="0" />
+ <value cell_index="5901" local_entity="0" value="0" />
+ <value cell_index="5902" local_entity="0" value="0" />
+ <value cell_index="5903" local_entity="0" value="0" />
+ <value cell_index="5904" local_entity="0" value="0" />
+ <value cell_index="5905" local_entity="0" value="0" />
+ <value cell_index="5906" local_entity="0" value="0" />
+ <value cell_index="5907" local_entity="0" value="0" />
+ <value cell_index="5908" local_entity="0" value="0" />
+ <value cell_index="5909" local_entity="0" value="0" />
+ <value cell_index="5910" local_entity="0" value="0" />
+ <value cell_index="5911" local_entity="0" value="0" />
+ <value cell_index="5912" local_entity="0" value="0" />
+ <value cell_index="5913" local_entity="0" value="0" />
+ <value cell_index="5914" local_entity="0" value="0" />
+ <value cell_index="5915" local_entity="0" value="0" />
+ <value cell_index="5916" local_entity="0" value="0" />
+ <value cell_index="5917" local_entity="0" value="0" />
+ <value cell_index="5918" local_entity="0" value="0" />
+ <value cell_index="5919" local_entity="0" value="0" />
+ <value cell_index="5920" local_entity="0" value="0" />
+ <value cell_index="5921" local_entity="0" value="0" />
+ <value cell_index="5922" local_entity="0" value="0" />
+ <value cell_index="5923" local_entity="0" value="0" />
+ <value cell_index="5924" local_entity="0" value="0" />
+ <value cell_index="5925" local_entity="0" value="0" />
+ <value cell_index="5926" local_entity="0" value="0" />
+ <value cell_index="5927" local_entity="0" value="0" />
+ <value cell_index="5928" local_entity="0" value="0" />
+ <value cell_index="5929" local_entity="0" value="0" />
+ <value cell_index="5930" local_entity="0" value="0" />
+ <value cell_index="5931" local_entity="0" value="0" />
+ <value cell_index="5932" local_entity="0" value="0" />
+ <value cell_index="5933" local_entity="0" value="0" />
+ <value cell_index="5934" local_entity="0" value="0" />
+ <value cell_index="5935" local_entity="0" value="0" />
+ <value cell_index="5936" local_entity="0" value="0" />
+ <value cell_index="5937" local_entity="0" value="0" />
+ <value cell_index="5938" local_entity="0" value="0" />
+ <value cell_index="5939" local_entity="0" value="0" />
+ <value cell_index="5940" local_entity="0" value="0" />
+ <value cell_index="5941" local_entity="0" value="0" />
+ <value cell_index="5942" local_entity="0" value="0" />
+ <value cell_index="5943" local_entity="0" value="0" />
+ <value cell_index="5944" local_entity="0" value="0" />
+ <value cell_index="5945" local_entity="0" value="0" />
+ <value cell_index="5946" local_entity="0" value="0" />
+ <value cell_index="5947" local_entity="0" value="0" />
+ <value cell_index="5948" local_entity="0" value="0" />
+ <value cell_index="5949" local_entity="0" value="0" />
+ <value cell_index="5950" local_entity="0" value="0" />
+ <value cell_index="5951" local_entity="0" value="0" />
+ <value cell_index="5952" local_entity="0" value="0" />
+ <value cell_index="5953" local_entity="0" value="0" />
+ <value cell_index="5954" local_entity="0" value="0" />
+ <value cell_index="5955" local_entity="0" value="0" />
+ <value cell_index="5956" local_entity="0" value="0" />
+ <value cell_index="5957" local_entity="0" value="0" />
+ <value cell_index="5958" local_entity="0" value="0" />
+ <value cell_index="5959" local_entity="0" value="0" />
+ <value cell_index="5960" local_entity="0" value="0" />
+ <value cell_index="5961" local_entity="0" value="0" />
+ <value cell_index="5962" local_entity="0" value="0" />
+ <value cell_index="5963" local_entity="0" value="0" />
+ <value cell_index="5964" local_entity="0" value="0" />
+ <value cell_index="5965" local_entity="0" value="0" />
+ <value cell_index="5966" local_entity="0" value="0" />
+ <value cell_index="5967" local_entity="0" value="0" />
+ <value cell_index="5968" local_entity="0" value="0" />
+ <value cell_index="5969" local_entity="0" value="0" />
+ <value cell_index="5970" local_entity="0" value="0" />
+ <value cell_index="5971" local_entity="0" value="0" />
+ <value cell_index="5972" local_entity="0" value="0" />
+ <value cell_index="5973" local_entity="0" value="0" />
+ <value cell_index="5974" local_entity="0" value="0" />
+ <value cell_index="5975" local_entity="0" value="0" />
+ <value cell_index="5976" local_entity="0" value="0" />
+ <value cell_index="5977" local_entity="0" value="0" />
+ <value cell_index="5978" local_entity="0" value="0" />
+ <value cell_index="5979" local_entity="0" value="0" />
+ <value cell_index="5980" local_entity="0" value="0" />
+ <value cell_index="5981" local_entity="0" value="0" />
+ <value cell_index="5982" local_entity="0" value="0" />
+ <value cell_index="5983" local_entity="0" value="0" />
+ <value cell_index="5984" local_entity="0" value="0" />
+ <value cell_index="5985" local_entity="0" value="0" />
+ <value cell_index="5986" local_entity="0" value="0" />
+ <value cell_index="5987" local_entity="0" value="0" />
+ <value cell_index="5988" local_entity="0" value="0" />
+ <value cell_index="5989" local_entity="0" value="0" />
+ <value cell_index="5990" local_entity="0" value="0" />
+ <value cell_index="5991" local_entity="0" value="0" />
+ <value cell_index="5992" local_entity="0" value="0" />
+ <value cell_index="5993" local_entity="0" value="0" />
+ <value cell_index="5994" local_entity="0" value="0" />
+ <value cell_index="5995" local_entity="0" value="0" />
+ <value cell_index="5996" local_entity="0" value="0" />
+ <value cell_index="5997" local_entity="0" value="0" />
+ <value cell_index="5998" local_entity="0" value="0" />
+ <value cell_index="5999" local_entity="0" value="0" />
+ <value cell_index="6000" local_entity="0" value="0" />
+ <value cell_index="6001" local_entity="0" value="0" />
+ <value cell_index="6002" local_entity="0" value="0" />
+ <value cell_index="6003" local_entity="0" value="0" />
+ <value cell_index="6004" local_entity="0" value="0" />
+ <value cell_index="6005" local_entity="0" value="0" />
+ <value cell_index="6006" local_entity="0" value="0" />
+ <value cell_index="6007" local_entity="0" value="0" />
+ <value cell_index="6008" local_entity="0" value="0" />
+ <value cell_index="6009" local_entity="0" value="0" />
+ <value cell_index="6010" local_entity="0" value="0" />
+ <value cell_index="6011" local_entity="0" value="0" />
+ <value cell_index="6012" local_entity="0" value="0" />
+ <value cell_index="6013" local_entity="0" value="0" />
+ <value cell_index="6014" local_entity="0" value="0" />
+ <value cell_index="6015" local_entity="0" value="0" />
+ <value cell_index="6016" local_entity="0" value="0" />
+ <value cell_index="6017" local_entity="0" value="0" />
+ <value cell_index="6018" local_entity="0" value="0" />
+ <value cell_index="6019" local_entity="0" value="0" />
+ <value cell_index="6020" local_entity="0" value="0" />
+ <value cell_index="6021" local_entity="0" value="0" />
+ <value cell_index="6022" local_entity="0" value="0" />
+ <value cell_index="6023" local_entity="0" value="0" />
+ <value cell_index="6024" local_entity="0" value="0" />
+ <value cell_index="6025" local_entity="0" value="0" />
+ <value cell_index="6026" local_entity="0" value="0" />
+ <value cell_index="6027" local_entity="0" value="0" />
+ <value cell_index="6028" local_entity="0" value="0" />
+ <value cell_index="6029" local_entity="0" value="0" />
+ <value cell_index="6030" local_entity="0" value="0" />
+ <value cell_index="6031" local_entity="0" value="0" />
+ <value cell_index="6032" local_entity="0" value="0" />
+ <value cell_index="6033" local_entity="0" value="0" />
+ <value cell_index="6034" local_entity="0" value="0" />
+ <value cell_index="6035" local_entity="0" value="0" />
+ <value cell_index="6036" local_entity="0" value="0" />
+ <value cell_index="6037" local_entity="0" value="0" />
+ <value cell_index="6038" local_entity="0" value="0" />
+ <value cell_index="6039" local_entity="0" value="0" />
+ <value cell_index="6040" local_entity="0" value="0" />
+ <value cell_index="6041" local_entity="0" value="0" />
+ <value cell_index="6042" local_entity="0" value="0" />
+ <value cell_index="6043" local_entity="0" value="0" />
+ <value cell_index="6044" local_entity="0" value="0" />
+ <value cell_index="6045" local_entity="0" value="0" />
+ <value cell_index="6046" local_entity="0" value="0" />
+ <value cell_index="6047" local_entity="0" value="0" />
+ <value cell_index="6048" local_entity="0" value="0" />
+ <value cell_index="6049" local_entity="0" value="0" />
+ <value cell_index="6050" local_entity="0" value="0" />
+ <value cell_index="6051" local_entity="0" value="0" />
+ <value cell_index="6052" local_entity="0" value="0" />
+ <value cell_index="6053" local_entity="0" value="0" />
+ <value cell_index="6054" local_entity="0" value="0" />
+ <value cell_index="6055" local_entity="0" value="0" />
+ <value cell_index="6056" local_entity="0" value="0" />
+ <value cell_index="6057" local_entity="0" value="0" />
+ <value cell_index="6058" local_entity="0" value="0" />
+ <value cell_index="6059" local_entity="0" value="0" />
+ <value cell_index="6060" local_entity="0" value="0" />
+ <value cell_index="6061" local_entity="0" value="0" />
+ <value cell_index="6062" local_entity="0" value="0" />
+ <value cell_index="6063" local_entity="0" value="0" />
+ <value cell_index="6064" local_entity="0" value="0" />
+ <value cell_index="6065" local_entity="0" value="0" />
+ <value cell_index="6066" local_entity="0" value="0" />
+ <value cell_index="6067" local_entity="0" value="0" />
+ <value cell_index="6068" local_entity="0" value="0" />
+ <value cell_index="6069" local_entity="0" value="0" />
+ <value cell_index="6070" local_entity="0" value="0" />
+ <value cell_index="6071" local_entity="0" value="0" />
+ <value cell_index="6072" local_entity="0" value="0" />
+ <value cell_index="6073" local_entity="0" value="0" />
+ <value cell_index="6074" local_entity="0" value="0" />
+ <value cell_index="6075" local_entity="0" value="0" />
+ <value cell_index="6076" local_entity="0" value="0" />
+ <value cell_index="6077" local_entity="0" value="0" />
+ <value cell_index="6078" local_entity="0" value="0" />
+ <value cell_index="6079" local_entity="0" value="0" />
+ <value cell_index="6080" local_entity="0" value="0" />
+ <value cell_index="6081" local_entity="0" value="0" />
+ <value cell_index="6082" local_entity="0" value="0" />
+ <value cell_index="6083" local_entity="0" value="0" />
+ <value cell_index="6084" local_entity="0" value="0" />
+ <value cell_index="6085" local_entity="0" value="0" />
+ <value cell_index="6086" local_entity="0" value="0" />
+ <value cell_index="6087" local_entity="0" value="0" />
+ <value cell_index="6088" local_entity="0" value="0" />
+ <value cell_index="6089" local_entity="0" value="0" />
+ <value cell_index="6090" local_entity="0" value="0" />
+ <value cell_index="6091" local_entity="0" value="0" />
+ <value cell_index="6092" local_entity="0" value="0" />
+ <value cell_index="6093" local_entity="0" value="0" />
+ <value cell_index="6094" local_entity="0" value="0" />
+ <value cell_index="6095" local_entity="0" value="0" />
+ <value cell_index="6096" local_entity="0" value="0" />
+ <value cell_index="6097" local_entity="0" value="0" />
+ <value cell_index="6098" local_entity="0" value="0" />
+ <value cell_index="6099" local_entity="0" value="0" />
+ <value cell_index="6100" local_entity="0" value="0" />
+ <value cell_index="6101" local_entity="0" value="0" />
+ <value cell_index="6102" local_entity="0" value="0" />
+ <value cell_index="6103" local_entity="0" value="0" />
+ <value cell_index="6104" local_entity="0" value="0" />
+ <value cell_index="6105" local_entity="0" value="0" />
+ <value cell_index="6106" local_entity="0" value="0" />
+ <value cell_index="6107" local_entity="0" value="0" />
+ <value cell_index="6108" local_entity="0" value="0" />
+ <value cell_index="6109" local_entity="0" value="0" />
+ <value cell_index="6110" local_entity="0" value="0" />
+ <value cell_index="6111" local_entity="0" value="0" />
+ <value cell_index="6112" local_entity="0" value="0" />
+ <value cell_index="6113" local_entity="0" value="0" />
+ <value cell_index="6114" local_entity="0" value="0" />
+ <value cell_index="6115" local_entity="0" value="0" />
+ <value cell_index="6116" local_entity="0" value="0" />
+ <value cell_index="6117" local_entity="0" value="0" />
+ <value cell_index="6118" local_entity="0" value="0" />
+ <value cell_index="6119" local_entity="0" value="0" />
+ <value cell_index="6120" local_entity="0" value="0" />
+ <value cell_index="6121" local_entity="0" value="0" />
+ <value cell_index="6122" local_entity="0" value="0" />
+ <value cell_index="6123" local_entity="0" value="0" />
+ <value cell_index="6124" local_entity="0" value="0" />
+ <value cell_index="6125" local_entity="0" value="0" />
+ <value cell_index="6126" local_entity="0" value="0" />
+ <value cell_index="6127" local_entity="0" value="0" />
+ <value cell_index="6128" local_entity="0" value="0" />
+ <value cell_index="6129" local_entity="0" value="0" />
+ <value cell_index="6130" local_entity="0" value="0" />
+ <value cell_index="6131" local_entity="0" value="0" />
+ <value cell_index="6132" local_entity="0" value="0" />
+ <value cell_index="6133" local_entity="0" value="0" />
+ <value cell_index="6134" local_entity="0" value="0" />
+ <value cell_index="6135" local_entity="0" value="0" />
+ <value cell_index="6136" local_entity="0" value="0" />
+ <value cell_index="6137" local_entity="0" value="0" />
+ <value cell_index="6138" local_entity="0" value="0" />
+ <value cell_index="6139" local_entity="0" value="0" />
+ <value cell_index="6140" local_entity="0" value="0" />
+ <value cell_index="6141" local_entity="0" value="0" />
+ <value cell_index="6142" local_entity="0" value="0" />
+ <value cell_index="6143" local_entity="0" value="0" />
+ <value cell_index="6144" local_entity="0" value="0" />
+ <value cell_index="6145" local_entity="0" value="0" />
+ <value cell_index="6146" local_entity="0" value="0" />
+ <value cell_index="6147" local_entity="0" value="0" />
+ <value cell_index="6148" local_entity="0" value="0" />
+ <value cell_index="6149" local_entity="0" value="0" />
+ <value cell_index="6150" local_entity="0" value="0" />
+ <value cell_index="6151" local_entity="0" value="0" />
+ <value cell_index="6152" local_entity="0" value="0" />
+ <value cell_index="6153" local_entity="0" value="0" />
+ <value cell_index="6154" local_entity="0" value="0" />
+ <value cell_index="6155" local_entity="0" value="0" />
+ <value cell_index="6156" local_entity="0" value="0" />
+ <value cell_index="6157" local_entity="0" value="0" />
+ <value cell_index="6158" local_entity="0" value="0" />
+ <value cell_index="6159" local_entity="0" value="0" />
+ <value cell_index="6160" local_entity="0" value="0" />
+ <value cell_index="6161" local_entity="0" value="0" />
+ <value cell_index="6162" local_entity="0" value="0" />
+ <value cell_index="6163" local_entity="0" value="0" />
+ <value cell_index="6164" local_entity="0" value="0" />
+ <value cell_index="6165" local_entity="0" value="0" />
+ <value cell_index="6166" local_entity="0" value="0" />
+ <value cell_index="6167" local_entity="0" value="0" />
+ <value cell_index="6168" local_entity="0" value="0" />
+ <value cell_index="6169" local_entity="0" value="0" />
+ <value cell_index="6170" local_entity="0" value="0" />
+ <value cell_index="6171" local_entity="0" value="0" />
+ <value cell_index="6172" local_entity="0" value="0" />
+ <value cell_index="6173" local_entity="0" value="0" />
+ <value cell_index="6174" local_entity="0" value="0" />
+ <value cell_index="6175" local_entity="0" value="0" />
+ <value cell_index="6176" local_entity="0" value="0" />
+ <value cell_index="6177" local_entity="0" value="0" />
+ <value cell_index="6178" local_entity="0" value="0" />
+ <value cell_index="6179" local_entity="0" value="0" />
+ <value cell_index="6180" local_entity="0" value="0" />
+ <value cell_index="6181" local_entity="0" value="0" />
+ <value cell_index="6182" local_entity="0" value="0" />
+ <value cell_index="6183" local_entity="0" value="0" />
+ <value cell_index="6184" local_entity="0" value="0" />
+ <value cell_index="6185" local_entity="0" value="0" />
+ <value cell_index="6186" local_entity="0" value="0" />
+ <value cell_index="6187" local_entity="0" value="0" />
+ <value cell_index="6188" local_entity="0" value="0" />
+ <value cell_index="6189" local_entity="0" value="0" />
+ <value cell_index="6190" local_entity="0" value="0" />
+ <value cell_index="6191" local_entity="0" value="0" />
+ <value cell_index="6192" local_entity="0" value="0" />
+ <value cell_index="6193" local_entity="0" value="0" />
+ <value cell_index="6194" local_entity="0" value="0" />
+ <value cell_index="6195" local_entity="0" value="0" />
+ <value cell_index="6196" local_entity="0" value="0" />
+ <value cell_index="6197" local_entity="0" value="0" />
+ <value cell_index="6198" local_entity="0" value="0" />
+ <value cell_index="6199" local_entity="0" value="0" />
+ <value cell_index="6200" local_entity="0" value="0" />
+ <value cell_index="6201" local_entity="0" value="0" />
+ <value cell_index="6202" local_entity="0" value="0" />
+ <value cell_index="6203" local_entity="0" value="0" />
+ <value cell_index="6204" local_entity="0" value="0" />
+ <value cell_index="6205" local_entity="0" value="0" />
+ <value cell_index="6206" local_entity="0" value="0" />
+ <value cell_index="6207" local_entity="0" value="0" />
+ <value cell_index="6208" local_entity="0" value="0" />
+ <value cell_index="6209" local_entity="0" value="0" />
+ <value cell_index="6210" local_entity="0" value="0" />
+ <value cell_index="6211" local_entity="0" value="0" />
+ <value cell_index="6212" local_entity="0" value="0" />
+ <value cell_index="6213" local_entity="0" value="0" />
+ <value cell_index="6214" local_entity="0" value="0" />
+ <value cell_index="6215" local_entity="0" value="0" />
+ <value cell_index="6216" local_entity="0" value="0" />
+ <value cell_index="6217" local_entity="0" value="0" />
+ <value cell_index="6218" local_entity="0" value="0" />
+ <value cell_index="6219" local_entity="0" value="0" />
+ <value cell_index="6220" local_entity="0" value="0" />
+ <value cell_index="6221" local_entity="0" value="0" />
+ <value cell_index="6222" local_entity="0" value="0" />
+ <value cell_index="6223" local_entity="0" value="0" />
+ <value cell_index="6224" local_entity="0" value="0" />
+ <value cell_index="6225" local_entity="0" value="0" />
+ <value cell_index="6226" local_entity="0" value="0" />
+ <value cell_index="6227" local_entity="0" value="0" />
+ <value cell_index="6228" local_entity="0" value="0" />
+ <value cell_index="6229" local_entity="0" value="0" />
+ <value cell_index="6230" local_entity="0" value="0" />
+ <value cell_index="6231" local_entity="0" value="0" />
+ <value cell_index="6232" local_entity="0" value="0" />
+ <value cell_index="6233" local_entity="0" value="0" />
+ <value cell_index="6234" local_entity="0" value="0" />
+ <value cell_index="6235" local_entity="0" value="0" />
+ <value cell_index="6236" local_entity="0" value="0" />
+ <value cell_index="6237" local_entity="0" value="0" />
+ <value cell_index="6238" local_entity="0" value="0" />
+ <value cell_index="6239" local_entity="0" value="0" />
+ <value cell_index="6240" local_entity="0" value="0" />
+ <value cell_index="6241" local_entity="0" value="0" />
+ <value cell_index="6242" local_entity="0" value="0" />
+ <value cell_index="6243" local_entity="0" value="0" />
+ <value cell_index="6244" local_entity="0" value="0" />
+ <value cell_index="6245" local_entity="0" value="0" />
+ <value cell_index="6246" local_entity="0" value="0" />
+ <value cell_index="6247" local_entity="0" value="0" />
+ <value cell_index="6248" local_entity="0" value="0" />
+ <value cell_index="6249" local_entity="0" value="0" />
+ <value cell_index="6250" local_entity="0" value="0" />
+ <value cell_index="6251" local_entity="0" value="0" />
+ <value cell_index="6252" local_entity="0" value="0" />
+ <value cell_index="6253" local_entity="0" value="0" />
+ <value cell_index="6254" local_entity="0" value="0" />
+ <value cell_index="6255" local_entity="0" value="0" />
+ <value cell_index="6256" local_entity="0" value="0" />
+ <value cell_index="6257" local_entity="0" value="0" />
+ <value cell_index="6258" local_entity="0" value="0" />
+ <value cell_index="6259" local_entity="0" value="0" />
+ <value cell_index="6260" local_entity="0" value="0" />
+ <value cell_index="6261" local_entity="0" value="0" />
+ <value cell_index="6262" local_entity="0" value="0" />
+ <value cell_index="6263" local_entity="0" value="0" />
+ <value cell_index="6264" local_entity="0" value="0" />
+ <value cell_index="6265" local_entity="0" value="0" />
+ <value cell_index="6266" local_entity="0" value="0" />
+ <value cell_index="6267" local_entity="0" value="0" />
+ <value cell_index="6268" local_entity="0" value="0" />
+ <value cell_index="6269" local_entity="0" value="0" />
+ <value cell_index="6270" local_entity="0" value="0" />
+ <value cell_index="6271" local_entity="0" value="0" />
+ <value cell_index="6272" local_entity="0" value="0" />
+ <value cell_index="6273" local_entity="0" value="0" />
+ <value cell_index="6274" local_entity="0" value="0" />
+ <value cell_index="6275" local_entity="0" value="0" />
+ <value cell_index="6276" local_entity="0" value="0" />
+ <value cell_index="6277" local_entity="0" value="0" />
+ <value cell_index="6278" local_entity="0" value="0" />
+ <value cell_index="6279" local_entity="0" value="0" />
+ <value cell_index="6280" local_entity="0" value="0" />
+ <value cell_index="6281" local_entity="0" value="0" />
+ <value cell_index="6282" local_entity="0" value="0" />
+ <value cell_index="6283" local_entity="0" value="0" />
+ <value cell_index="6284" local_entity="0" value="0" />
+ <value cell_index="6285" local_entity="0" value="0" />
+ <value cell_index="6286" local_entity="0" value="0" />
+ <value cell_index="6287" local_entity="0" value="0" />
+ <value cell_index="6288" local_entity="0" value="0" />
+ <value cell_index="6289" local_entity="0" value="0" />
+ <value cell_index="6290" local_entity="0" value="0" />
+ <value cell_index="6291" local_entity="0" value="0" />
+ <value cell_index="6292" local_entity="0" value="0" />
+ <value cell_index="6293" local_entity="0" value="0" />
+ <value cell_index="6294" local_entity="0" value="0" />
+ <value cell_index="6295" local_entity="0" value="0" />
+ <value cell_index="6296" local_entity="0" value="0" />
+ <value cell_index="6297" local_entity="0" value="0" />
+ <value cell_index="6298" local_entity="0" value="0" />
+ <value cell_index="6299" local_entity="0" value="0" />
+ <value cell_index="6300" local_entity="0" value="0" />
+ <value cell_index="6301" local_entity="0" value="0" />
+ <value cell_index="6302" local_entity="0" value="0" />
+ <value cell_index="6303" local_entity="0" value="0" />
+ <value cell_index="6304" local_entity="0" value="0" />
+ <value cell_index="6305" local_entity="0" value="0" />
+ <value cell_index="6306" local_entity="0" value="0" />
+ <value cell_index="6307" local_entity="0" value="0" />
+ <value cell_index="6308" local_entity="0" value="0" />
+ <value cell_index="6309" local_entity="0" value="0" />
+ <value cell_index="6310" local_entity="0" value="0" />
+ <value cell_index="6311" local_entity="0" value="0" />
+ <value cell_index="6312" local_entity="0" value="0" />
+ <value cell_index="6313" local_entity="0" value="0" />
+ <value cell_index="6314" local_entity="0" value="0" />
+ <value cell_index="6315" local_entity="0" value="0" />
+ <value cell_index="6316" local_entity="0" value="0" />
+ <value cell_index="6317" local_entity="0" value="0" />
+ <value cell_index="6318" local_entity="0" value="0" />
+ <value cell_index="6319" local_entity="0" value="0" />
+ <value cell_index="6320" local_entity="0" value="0" />
+ <value cell_index="6321" local_entity="0" value="0" />
+ <value cell_index="6322" local_entity="0" value="0" />
+ <value cell_index="6323" local_entity="0" value="0" />
+ <value cell_index="6324" local_entity="0" value="0" />
+ <value cell_index="6325" local_entity="0" value="0" />
+ <value cell_index="6326" local_entity="0" value="0" />
+ <value cell_index="6327" local_entity="0" value="0" />
+ <value cell_index="6328" local_entity="0" value="0" />
+ <value cell_index="6329" local_entity="0" value="0" />
+ <value cell_index="6330" local_entity="0" value="0" />
+ <value cell_index="6331" local_entity="0" value="0" />
+ <value cell_index="6332" local_entity="0" value="0" />
+ <value cell_index="6333" local_entity="0" value="0" />
+ <value cell_index="6334" local_entity="0" value="0" />
+ <value cell_index="6335" local_entity="0" value="0" />
+ <value cell_index="6336" local_entity="0" value="0" />
+ <value cell_index="6337" local_entity="0" value="0" />
+ <value cell_index="6338" local_entity="0" value="0" />
+ <value cell_index="6339" local_entity="0" value="0" />
+ <value cell_index="6340" local_entity="0" value="0" />
+ <value cell_index="6341" local_entity="0" value="0" />
+ <value cell_index="6342" local_entity="0" value="0" />
+ <value cell_index="6343" local_entity="0" value="0" />
+ <value cell_index="6344" local_entity="0" value="0" />
+ <value cell_index="6345" local_entity="0" value="0" />
+ <value cell_index="6346" local_entity="0" value="0" />
+ <value cell_index="6347" local_entity="0" value="0" />
+ <value cell_index="6348" local_entity="0" value="0" />
+ <value cell_index="6349" local_entity="0" value="0" />
+ <value cell_index="6350" local_entity="0" value="0" />
+ <value cell_index="6351" local_entity="0" value="0" />
+ <value cell_index="6352" local_entity="0" value="0" />
+ <value cell_index="6353" local_entity="0" value="0" />
+ <value cell_index="6354" local_entity="0" value="0" />
+ <value cell_index="6355" local_entity="0" value="0" />
+ <value cell_index="6356" local_entity="0" value="0" />
+ <value cell_index="6357" local_entity="0" value="0" />
+ <value cell_index="6358" local_entity="0" value="0" />
+ <value cell_index="6359" local_entity="0" value="0" />
+ <value cell_index="6360" local_entity="0" value="0" />
+ <value cell_index="6361" local_entity="0" value="0" />
+ <value cell_index="6362" local_entity="0" value="0" />
+ <value cell_index="6363" local_entity="0" value="0" />
+ <value cell_index="6364" local_entity="0" value="0" />
+ <value cell_index="6365" local_entity="0" value="0" />
+ <value cell_index="6366" local_entity="0" value="0" />
+ <value cell_index="6367" local_entity="0" value="0" />
+ <value cell_index="6368" local_entity="0" value="0" />
+ <value cell_index="6369" local_entity="0" value="0" />
+ <value cell_index="6370" local_entity="0" value="0" />
+ <value cell_index="6371" local_entity="0" value="0" />
+ <value cell_index="6372" local_entity="0" value="0" />
+ <value cell_index="6373" local_entity="0" value="0" />
+ <value cell_index="6374" local_entity="0" value="0" />
+ <value cell_index="6375" local_entity="0" value="0" />
+ <value cell_index="6376" local_entity="0" value="0" />
+ <value cell_index="6377" local_entity="0" value="0" />
+ <value cell_index="6378" local_entity="0" value="0" />
+ <value cell_index="6379" local_entity="0" value="0" />
+ <value cell_index="6380" local_entity="0" value="0" />
+ <value cell_index="6381" local_entity="0" value="0" />
+ <value cell_index="6382" local_entity="0" value="0" />
+ <value cell_index="6383" local_entity="0" value="0" />
+ <value cell_index="6384" local_entity="0" value="0" />
+ <value cell_index="6385" local_entity="0" value="0" />
+ <value cell_index="6386" local_entity="0" value="0" />
+ <value cell_index="6387" local_entity="0" value="0" />
+ <value cell_index="6388" local_entity="0" value="0" />
+ <value cell_index="6389" local_entity="0" value="0" />
+ <value cell_index="6390" local_entity="0" value="0" />
+ <value cell_index="6391" local_entity="0" value="0" />
+ <value cell_index="6392" local_entity="0" value="0" />
+ <value cell_index="6393" local_entity="0" value="0" />
+ <value cell_index="6394" local_entity="0" value="0" />
+ <value cell_index="6395" local_entity="0" value="0" />
+ <value cell_index="6396" local_entity="0" value="0" />
+ <value cell_index="6397" local_entity="0" value="0" />
+ <value cell_index="6398" local_entity="0" value="0" />
+ <value cell_index="6399" local_entity="0" value="0" />
+ <value cell_index="6400" local_entity="0" value="0" />
+ <value cell_index="6401" local_entity="0" value="0" />
+ <value cell_index="6402" local_entity="0" value="0" />
+ <value cell_index="6403" local_entity="0" value="0" />
+ <value cell_index="6404" local_entity="0" value="0" />
+ <value cell_index="6405" local_entity="0" value="0" />
+ <value cell_index="6406" local_entity="0" value="0" />
+ <value cell_index="6407" local_entity="0" value="0" />
+ <value cell_index="6408" local_entity="0" value="0" />
+ <value cell_index="6409" local_entity="0" value="0" />
+ <value cell_index="6410" local_entity="0" value="0" />
+ <value cell_index="6411" local_entity="0" value="0" />
+ <value cell_index="6412" local_entity="0" value="0" />
+ <value cell_index="6413" local_entity="0" value="0" />
+ <value cell_index="6414" local_entity="0" value="0" />
+ <value cell_index="6415" local_entity="0" value="0" />
+ <value cell_index="6416" local_entity="0" value="0" />
+ <value cell_index="6417" local_entity="0" value="0" />
+ <value cell_index="6418" local_entity="0" value="0" />
+ <value cell_index="6419" local_entity="0" value="0" />
+ <value cell_index="6420" local_entity="0" value="0" />
+ <value cell_index="6421" local_entity="0" value="0" />
+ <value cell_index="6422" local_entity="0" value="0" />
+ <value cell_index="6423" local_entity="0" value="0" />
+ <value cell_index="6424" local_entity="0" value="0" />
+ <value cell_index="6425" local_entity="0" value="0" />
+ <value cell_index="6426" local_entity="0" value="0" />
+ <value cell_index="6427" local_entity="0" value="0" />
+ <value cell_index="6428" local_entity="0" value="0" />
+ <value cell_index="6429" local_entity="0" value="0" />
+ <value cell_index="6430" local_entity="0" value="0" />
+ <value cell_index="6431" local_entity="0" value="0" />
+ <value cell_index="6432" local_entity="0" value="0" />
+ <value cell_index="6433" local_entity="0" value="0" />
+ <value cell_index="6434" local_entity="0" value="0" />
+ <value cell_index="6435" local_entity="0" value="0" />
+ <value cell_index="6436" local_entity="0" value="0" />
+ <value cell_index="6437" local_entity="0" value="0" />
+ <value cell_index="6438" local_entity="0" value="0" />
+ <value cell_index="6439" local_entity="0" value="0" />
+ <value cell_index="6440" local_entity="0" value="0" />
+ <value cell_index="6441" local_entity="0" value="0" />
+ <value cell_index="6442" local_entity="0" value="0" />
+ <value cell_index="6443" local_entity="0" value="0" />
+ <value cell_index="6444" local_entity="0" value="0" />
+ <value cell_index="6445" local_entity="0" value="0" />
+ <value cell_index="6446" local_entity="0" value="0" />
+ <value cell_index="6447" local_entity="0" value="0" />
+ <value cell_index="6448" local_entity="0" value="0" />
+ <value cell_index="6449" local_entity="0" value="0" />
+ <value cell_index="6450" local_entity="0" value="0" />
+ <value cell_index="6451" local_entity="0" value="0" />
+ <value cell_index="6452" local_entity="0" value="0" />
+ <value cell_index="6453" local_entity="0" value="0" />
+ <value cell_index="6454" local_entity="0" value="0" />
+ <value cell_index="6455" local_entity="0" value="0" />
+ <value cell_index="6456" local_entity="0" value="0" />
+ <value cell_index="6457" local_entity="0" value="0" />
+ <value cell_index="6458" local_entity="0" value="0" />
+ <value cell_index="6459" local_entity="0" value="0" />
+ <value cell_index="6460" local_entity="0" value="0" />
+ <value cell_index="6461" local_entity="0" value="0" />
+ <value cell_index="6462" local_entity="0" value="0" />
+ <value cell_index="6463" local_entity="0" value="0" />
+ <value cell_index="6464" local_entity="0" value="0" />
+ <value cell_index="6465" local_entity="0" value="0" />
+ <value cell_index="6466" local_entity="0" value="0" />
+ <value cell_index="6467" local_entity="0" value="0" />
+ <value cell_index="6468" local_entity="0" value="0" />
+ <value cell_index="6469" local_entity="0" value="0" />
+ <value cell_index="6470" local_entity="0" value="0" />
+ <value cell_index="6471" local_entity="0" value="0" />
+ <value cell_index="6472" local_entity="0" value="0" />
+ <value cell_index="6473" local_entity="0" value="0" />
+ <value cell_index="6474" local_entity="0" value="0" />
+ <value cell_index="6475" local_entity="0" value="0" />
+ <value cell_index="6476" local_entity="0" value="0" />
+ <value cell_index="6477" local_entity="0" value="0" />
+ <value cell_index="6478" local_entity="0" value="0" />
+ <value cell_index="6479" local_entity="0" value="0" />
+ <value cell_index="6480" local_entity="0" value="0" />
+ <value cell_index="6481" local_entity="0" value="0" />
+ <value cell_index="6482" local_entity="0" value="0" />
+ <value cell_index="6483" local_entity="0" value="0" />
+ <value cell_index="6484" local_entity="0" value="0" />
+ <value cell_index="6485" local_entity="0" value="0" />
+ <value cell_index="6486" local_entity="0" value="0" />
+ <value cell_index="6487" local_entity="0" value="0" />
+ <value cell_index="6488" local_entity="0" value="0" />
+ <value cell_index="6489" local_entity="0" value="0" />
+ <value cell_index="6490" local_entity="0" value="0" />
+ <value cell_index="6491" local_entity="0" value="0" />
+ <value cell_index="6492" local_entity="0" value="0" />
+ <value cell_index="6493" local_entity="0" value="0" />
+ <value cell_index="6494" local_entity="0" value="0" />
+ <value cell_index="6495" local_entity="0" value="0" />
+ <value cell_index="6496" local_entity="0" value="0" />
+ <value cell_index="6497" local_entity="0" value="0" />
+ <value cell_index="6498" local_entity="0" value="0" />
+ <value cell_index="6499" local_entity="0" value="0" />
+ <value cell_index="6500" local_entity="0" value="0" />
+ <value cell_index="6501" local_entity="0" value="0" />
+ <value cell_index="6502" local_entity="0" value="0" />
+ <value cell_index="6503" local_entity="0" value="0" />
+ <value cell_index="6504" local_entity="0" value="0" />
+ <value cell_index="6505" local_entity="0" value="0" />
+ <value cell_index="6506" local_entity="0" value="0" />
+ <value cell_index="6507" local_entity="0" value="0" />
+ <value cell_index="6508" local_entity="0" value="0" />
+ <value cell_index="6509" local_entity="0" value="0" />
+ <value cell_index="6510" local_entity="0" value="0" />
+ <value cell_index="6511" local_entity="0" value="0" />
+ <value cell_index="6512" local_entity="0" value="0" />
+ <value cell_index="6513" local_entity="0" value="0" />
+ <value cell_index="6514" local_entity="0" value="0" />
+ <value cell_index="6515" local_entity="0" value="0" />
+ <value cell_index="6516" local_entity="0" value="0" />
+ <value cell_index="6517" local_entity="0" value="0" />
+ <value cell_index="6518" local_entity="0" value="0" />
+ <value cell_index="6519" local_entity="0" value="0" />
+ <value cell_index="6520" local_entity="0" value="0" />
+ <value cell_index="6521" local_entity="0" value="0" />
+ <value cell_index="6522" local_entity="0" value="0" />
+ <value cell_index="6523" local_entity="0" value="0" />
+ <value cell_index="6524" local_entity="0" value="0" />
+ <value cell_index="6525" local_entity="0" value="0" />
+ <value cell_index="6526" local_entity="0" value="0" />
+ <value cell_index="6527" local_entity="0" value="0" />
+ <value cell_index="6528" local_entity="0" value="0" />
+ <value cell_index="6529" local_entity="0" value="0" />
+ <value cell_index="6530" local_entity="0" value="0" />
+ <value cell_index="6531" local_entity="0" value="0" />
+ <value cell_index="6532" local_entity="0" value="0" />
+ <value cell_index="6533" local_entity="0" value="0" />
+ <value cell_index="6534" local_entity="0" value="0" />
+ <value cell_index="6535" local_entity="0" value="0" />
+ <value cell_index="6536" local_entity="0" value="0" />
+ <value cell_index="6537" local_entity="0" value="0" />
+ <value cell_index="6538" local_entity="0" value="0" />
+ <value cell_index="6539" local_entity="0" value="0" />
+ <value cell_index="6540" local_entity="0" value="0" />
+ <value cell_index="6541" local_entity="0" value="0" />
+ <value cell_index="6542" local_entity="0" value="0" />
+ <value cell_index="6543" local_entity="0" value="0" />
+ <value cell_index="6544" local_entity="0" value="0" />
+ <value cell_index="6545" local_entity="0" value="0" />
+ <value cell_index="6546" local_entity="0" value="0" />
+ <value cell_index="6547" local_entity="0" value="0" />
+ <value cell_index="6548" local_entity="0" value="0" />
+ <value cell_index="6549" local_entity="0" value="0" />
+ <value cell_index="6550" local_entity="0" value="0" />
+ <value cell_index="6551" local_entity="0" value="0" />
+ <value cell_index="6552" local_entity="0" value="0" />
+ <value cell_index="6553" local_entity="0" value="0" />
+ <value cell_index="6554" local_entity="0" value="0" />
+ <value cell_index="6555" local_entity="0" value="0" />
+ <value cell_index="6556" local_entity="0" value="0" />
+ <value cell_index="6557" local_entity="0" value="0" />
+ <value cell_index="6558" local_entity="0" value="0" />
+ <value cell_index="6559" local_entity="0" value="0" />
+ <value cell_index="6560" local_entity="0" value="0" />
+ <value cell_index="6561" local_entity="0" value="0" />
+ <value cell_index="6562" local_entity="0" value="0" />
+ <value cell_index="6563" local_entity="0" value="0" />
+ <value cell_index="6564" local_entity="0" value="0" />
+ <value cell_index="6565" local_entity="0" value="0" />
+ <value cell_index="6566" local_entity="0" value="0" />
+ <value cell_index="6567" local_entity="0" value="0" />
+ <value cell_index="6568" local_entity="0" value="0" />
+ <value cell_index="6569" local_entity="0" value="0" />
+ <value cell_index="6570" local_entity="0" value="0" />
+ <value cell_index="6571" local_entity="0" value="0" />
+ <value cell_index="6572" local_entity="0" value="0" />
+ <value cell_index="6573" local_entity="0" value="0" />
+ <value cell_index="6574" local_entity="0" value="0" />
+ <value cell_index="6575" local_entity="0" value="0" />
+ <value cell_index="6576" local_entity="0" value="0" />
+ <value cell_index="6577" local_entity="0" value="0" />
+ <value cell_index="6578" local_entity="0" value="0" />
+ <value cell_index="6579" local_entity="0" value="0" />
+ <value cell_index="6580" local_entity="0" value="0" />
+ <value cell_index="6581" local_entity="0" value="0" />
+ <value cell_index="6582" local_entity="0" value="0" />
+ <value cell_index="6583" local_entity="0" value="0" />
+ <value cell_index="6584" local_entity="0" value="0" />
+ <value cell_index="6585" local_entity="0" value="0" />
+ <value cell_index="6586" local_entity="0" value="0" />
+ <value cell_index="6587" local_entity="0" value="0" />
+ <value cell_index="6588" local_entity="0" value="0" />
+ <value cell_index="6589" local_entity="0" value="0" />
+ <value cell_index="6590" local_entity="0" value="0" />
+ <value cell_index="6591" local_entity="0" value="0" />
+ <value cell_index="6592" local_entity="0" value="0" />
+ <value cell_index="6593" local_entity="0" value="0" />
+ <value cell_index="6594" local_entity="0" value="0" />
+ <value cell_index="6595" local_entity="0" value="0" />
+ <value cell_index="6596" local_entity="0" value="0" />
+ <value cell_index="6597" local_entity="0" value="0" />
+ <value cell_index="6598" local_entity="0" value="0" />
+ <value cell_index="6599" local_entity="0" value="0" />
+ <value cell_index="6600" local_entity="0" value="0" />
+ <value cell_index="6601" local_entity="0" value="0" />
+ <value cell_index="6602" local_entity="0" value="0" />
+ <value cell_index="6603" local_entity="0" value="0" />
+ <value cell_index="6604" local_entity="0" value="0" />
+ <value cell_index="6605" local_entity="0" value="0" />
+ <value cell_index="6606" local_entity="0" value="0" />
+ <value cell_index="6607" local_entity="0" value="0" />
+ <value cell_index="6608" local_entity="0" value="0" />
+ <value cell_index="6609" local_entity="0" value="0" />
+ <value cell_index="6610" local_entity="0" value="0" />
+ <value cell_index="6611" local_entity="0" value="0" />
+ <value cell_index="6612" local_entity="0" value="0" />
+ <value cell_index="6613" local_entity="0" value="0" />
+ <value cell_index="6614" local_entity="0" value="0" />
+ <value cell_index="6615" local_entity="0" value="0" />
+ <value cell_index="6616" local_entity="0" value="0" />
+ <value cell_index="6617" local_entity="0" value="0" />
+ <value cell_index="6618" local_entity="0" value="0" />
+ <value cell_index="6619" local_entity="0" value="0" />
+ <value cell_index="6620" local_entity="0" value="0" />
+ <value cell_index="6621" local_entity="0" value="0" />
+ <value cell_index="6622" local_entity="0" value="0" />
+ <value cell_index="6623" local_entity="0" value="0" />
+ <value cell_index="6624" local_entity="0" value="0" />
+ <value cell_index="6625" local_entity="0" value="0" />
+ <value cell_index="6626" local_entity="0" value="0" />
+ <value cell_index="6627" local_entity="0" value="0" />
+ <value cell_index="6628" local_entity="0" value="0" />
+ <value cell_index="6629" local_entity="0" value="0" />
+ <value cell_index="6630" local_entity="0" value="0" />
+ <value cell_index="6631" local_entity="0" value="0" />
+ <value cell_index="6632" local_entity="0" value="0" />
+ <value cell_index="6633" local_entity="0" value="0" />
+ <value cell_index="6634" local_entity="0" value="0" />
+ <value cell_index="6635" local_entity="0" value="0" />
+ <value cell_index="6636" local_entity="0" value="0" />
+ <value cell_index="6637" local_entity="0" value="0" />
+ <value cell_index="6638" local_entity="0" value="0" />
+ <value cell_index="6639" local_entity="0" value="0" />
+ <value cell_index="6640" local_entity="0" value="0" />
+ <value cell_index="6641" local_entity="0" value="0" />
+ <value cell_index="6642" local_entity="0" value="0" />
+ <value cell_index="6643" local_entity="0" value="0" />
+ <value cell_index="6644" local_entity="0" value="0" />
+ <value cell_index="6645" local_entity="0" value="0" />
+ <value cell_index="6646" local_entity="0" value="0" />
+ <value cell_index="6647" local_entity="0" value="0" />
+ <value cell_index="6648" local_entity="0" value="0" />
+ <value cell_index="6649" local_entity="0" value="0" />
+ <value cell_index="6650" local_entity="0" value="0" />
+ <value cell_index="6651" local_entity="0" value="0" />
+ <value cell_index="6652" local_entity="0" value="0" />
+ <value cell_index="6653" local_entity="0" value="0" />
+ <value cell_index="6654" local_entity="0" value="0" />
+ <value cell_index="6655" local_entity="0" value="0" />
+ <value cell_index="6656" local_entity="0" value="0" />
+ <value cell_index="6657" local_entity="0" value="0" />
+ <value cell_index="6658" local_entity="0" value="0" />
+ <value cell_index="6659" local_entity="0" value="0" />
+ <value cell_index="6660" local_entity="0" value="0" />
+ <value cell_index="6661" local_entity="0" value="0" />
+ <value cell_index="6662" local_entity="0" value="0" />
+ <value cell_index="6663" local_entity="0" value="0" />
+ <value cell_index="6664" local_entity="0" value="0" />
+ <value cell_index="6665" local_entity="0" value="0" />
+ <value cell_index="6666" local_entity="0" value="0" />
+ <value cell_index="6667" local_entity="0" value="0" />
+ <value cell_index="6668" local_entity="0" value="0" />
+ <value cell_index="6669" local_entity="0" value="0" />
+ <value cell_index="6670" local_entity="0" value="0" />
+ <value cell_index="6671" local_entity="0" value="0" />
+ <value cell_index="6672" local_entity="0" value="0" />
+ <value cell_index="6673" local_entity="0" value="0" />
+ <value cell_index="6674" local_entity="0" value="0" />
+ <value cell_index="6675" local_entity="0" value="0" />
+ <value cell_index="6676" local_entity="0" value="0" />
+ <value cell_index="6677" local_entity="0" value="0" />
+ <value cell_index="6678" local_entity="0" value="0" />
+ <value cell_index="6679" local_entity="0" value="0" />
+ <value cell_index="6680" local_entity="0" value="0" />
+ <value cell_index="6681" local_entity="0" value="0" />
+ <value cell_index="6682" local_entity="0" value="0" />
+ <value cell_index="6683" local_entity="0" value="0" />
+ <value cell_index="6684" local_entity="0" value="0" />
+ <value cell_index="6685" local_entity="0" value="0" />
+ <value cell_index="6686" local_entity="0" value="0" />
+ <value cell_index="6687" local_entity="0" value="0" />
+ <value cell_index="6688" local_entity="0" value="0" />
+ <value cell_index="6689" local_entity="0" value="0" />
+ <value cell_index="6690" local_entity="0" value="0" />
+ <value cell_index="6691" local_entity="0" value="0" />
+ <value cell_index="6692" local_entity="0" value="0" />
+ <value cell_index="6693" local_entity="0" value="0" />
+ <value cell_index="6694" local_entity="0" value="0" />
+ <value cell_index="6695" local_entity="0" value="0" />
+ <value cell_index="6696" local_entity="0" value="0" />
+ <value cell_index="6697" local_entity="0" value="0" />
+ <value cell_index="6698" local_entity="0" value="0" />
+ <value cell_index="6699" local_entity="0" value="0" />
+ <value cell_index="6700" local_entity="0" value="0" />
+ <value cell_index="6701" local_entity="0" value="0" />
+ <value cell_index="6702" local_entity="0" value="0" />
+ <value cell_index="6703" local_entity="0" value="0" />
+ <value cell_index="6704" local_entity="0" value="0" />
+ <value cell_index="6705" local_entity="0" value="0" />
+ <value cell_index="6706" local_entity="0" value="0" />
+ <value cell_index="6707" local_entity="0" value="0" />
+ <value cell_index="6708" local_entity="0" value="0" />
+ <value cell_index="6709" local_entity="0" value="0" />
+ <value cell_index="6710" local_entity="0" value="0" />
+ <value cell_index="6711" local_entity="0" value="0" />
+ <value cell_index="6712" local_entity="0" value="0" />
+ <value cell_index="6713" local_entity="0" value="0" />
+ <value cell_index="6714" local_entity="0" value="0" />
+ <value cell_index="6715" local_entity="0" value="0" />
+ <value cell_index="6716" local_entity="0" value="0" />
+ <value cell_index="6717" local_entity="0" value="0" />
+ <value cell_index="6718" local_entity="0" value="0" />
+ <value cell_index="6719" local_entity="0" value="0" />
+ <value cell_index="6720" local_entity="0" value="0" />
+ <value cell_index="6721" local_entity="0" value="0" />
+ <value cell_index="6722" local_entity="0" value="0" />
+ <value cell_index="6723" local_entity="0" value="0" />
+ <value cell_index="6724" local_entity="0" value="0" />
+ <value cell_index="6725" local_entity="0" value="0" />
+ <value cell_index="6726" local_entity="0" value="0" />
+ <value cell_index="6727" local_entity="0" value="0" />
+ <value cell_index="6728" local_entity="0" value="0" />
+ <value cell_index="6729" local_entity="0" value="0" />
+ <value cell_index="6730" local_entity="0" value="0" />
+ <value cell_index="6731" local_entity="0" value="0" />
+ <value cell_index="6732" local_entity="0" value="0" />
+ <value cell_index="6733" local_entity="0" value="0" />
+ <value cell_index="6734" local_entity="0" value="0" />
+ <value cell_index="6735" local_entity="0" value="0" />
+ <value cell_index="6736" local_entity="0" value="0" />
+ <value cell_index="6737" local_entity="0" value="0" />
+ <value cell_index="6738" local_entity="0" value="0" />
+ <value cell_index="6739" local_entity="0" value="0" />
+ <value cell_index="6740" local_entity="0" value="0" />
+ <value cell_index="6741" local_entity="0" value="0" />
+ <value cell_index="6742" local_entity="0" value="0" />
+ <value cell_index="6743" local_entity="0" value="0" />
+ <value cell_index="6744" local_entity="0" value="0" />
+ <value cell_index="6745" local_entity="0" value="0" />
+ <value cell_index="6746" local_entity="0" value="0" />
+ <value cell_index="6747" local_entity="0" value="0" />
+ <value cell_index="6748" local_entity="0" value="0" />
+ <value cell_index="6749" local_entity="0" value="0" />
+ <value cell_index="6750" local_entity="0" value="0" />
+ <value cell_index="6751" local_entity="0" value="0" />
+ <value cell_index="6752" local_entity="0" value="0" />
+ <value cell_index="6753" local_entity="0" value="0" />
+ <value cell_index="6754" local_entity="0" value="0" />
+ <value cell_index="6755" local_entity="0" value="0" />
+ <value cell_index="6756" local_entity="0" value="0" />
+ <value cell_index="6757" local_entity="0" value="0" />
+ <value cell_index="6758" local_entity="0" value="0" />
+ <value cell_index="6759" local_entity="0" value="0" />
+ <value cell_index="6760" local_entity="0" value="0" />
+ <value cell_index="6761" local_entity="0" value="0" />
+ <value cell_index="6762" local_entity="0" value="0" />
+ <value cell_index="6763" local_entity="0" value="0" />
+ <value cell_index="6764" local_entity="0" value="0" />
+ <value cell_index="6765" local_entity="0" value="0" />
+ <value cell_index="6766" local_entity="0" value="0" />
+ <value cell_index="6767" local_entity="0" value="0" />
+ <value cell_index="6768" local_entity="0" value="0" />
+ <value cell_index="6769" local_entity="0" value="0" />
+ <value cell_index="6770" local_entity="0" value="0" />
+ <value cell_index="6771" local_entity="0" value="0" />
+ <value cell_index="6772" local_entity="0" value="0" />
+ <value cell_index="6773" local_entity="0" value="0" />
+ <value cell_index="6774" local_entity="0" value="0" />
+ <value cell_index="6775" local_entity="0" value="0" />
+ <value cell_index="6776" local_entity="0" value="0" />
+ <value cell_index="6777" local_entity="0" value="0" />
+ <value cell_index="6778" local_entity="0" value="0" />
+ <value cell_index="6779" local_entity="0" value="0" />
+ <value cell_index="6780" local_entity="0" value="0" />
+ <value cell_index="6781" local_entity="0" value="0" />
+ <value cell_index="6782" local_entity="0" value="0" />
+ <value cell_index="6783" local_entity="0" value="0" />
+ <value cell_index="6784" local_entity="0" value="0" />
+ <value cell_index="6785" local_entity="0" value="0" />
+ <value cell_index="6786" local_entity="0" value="0" />
+ <value cell_index="6787" local_entity="0" value="0" />
+ <value cell_index="6788" local_entity="0" value="0" />
+ <value cell_index="6789" local_entity="0" value="0" />
+ <value cell_index="6790" local_entity="0" value="0" />
+ <value cell_index="6791" local_entity="0" value="0" />
+ <value cell_index="6792" local_entity="0" value="0" />
+ <value cell_index="6793" local_entity="0" value="0" />
+ <value cell_index="6794" local_entity="0" value="0" />
+ <value cell_index="6795" local_entity="0" value="0" />
+ <value cell_index="6796" local_entity="0" value="0" />
+ <value cell_index="6797" local_entity="0" value="0" />
+ <value cell_index="6798" local_entity="0" value="0" />
+ <value cell_index="6799" local_entity="0" value="0" />
+ <value cell_index="6800" local_entity="0" value="0" />
+ <value cell_index="6801" local_entity="0" value="0" />
+ <value cell_index="6802" local_entity="0" value="0" />
+ <value cell_index="6803" local_entity="0" value="0" />
+ <value cell_index="6804" local_entity="0" value="0" />
+ <value cell_index="6805" local_entity="0" value="0" />
+ <value cell_index="6806" local_entity="0" value="0" />
+ <value cell_index="6807" local_entity="0" value="0" />
+ <value cell_index="6808" local_entity="0" value="0" />
+ <value cell_index="6809" local_entity="0" value="0" />
+ <value cell_index="6810" local_entity="0" value="0" />
+ <value cell_index="6811" local_entity="0" value="0" />
+ <value cell_index="6812" local_entity="0" value="0" />
+ <value cell_index="6813" local_entity="0" value="0" />
+ <value cell_index="6814" local_entity="0" value="0" />
+ <value cell_index="6815" local_entity="0" value="0" />
+ <value cell_index="6816" local_entity="0" value="0" />
+ <value cell_index="6817" local_entity="0" value="0" />
+ <value cell_index="6818" local_entity="0" value="0" />
+ <value cell_index="6819" local_entity="0" value="0" />
+ <value cell_index="6820" local_entity="0" value="0" />
+ <value cell_index="6821" local_entity="0" value="0" />
+ <value cell_index="6822" local_entity="0" value="0" />
+ <value cell_index="6823" local_entity="0" value="0" />
+ <value cell_index="6824" local_entity="0" value="0" />
+ <value cell_index="6825" local_entity="0" value="0" />
+ <value cell_index="6826" local_entity="0" value="0" />
+ <value cell_index="6827" local_entity="0" value="0" />
+ <value cell_index="6828" local_entity="0" value="0" />
+ <value cell_index="6829" local_entity="0" value="0" />
+ <value cell_index="6830" local_entity="0" value="0" />
+ <value cell_index="6831" local_entity="0" value="0" />
+ <value cell_index="6832" local_entity="0" value="0" />
+ <value cell_index="6833" local_entity="0" value="0" />
+ <value cell_index="6834" local_entity="0" value="0" />
+ <value cell_index="6835" local_entity="0" value="0" />
+ <value cell_index="6836" local_entity="0" value="0" />
+ <value cell_index="6837" local_entity="0" value="0" />
+ <value cell_index="6838" local_entity="0" value="0" />
+ <value cell_index="6839" local_entity="0" value="0" />
+ <value cell_index="6840" local_entity="0" value="0" />
+ <value cell_index="6841" local_entity="0" value="0" />
+ <value cell_index="6842" local_entity="0" value="0" />
+ <value cell_index="6843" local_entity="0" value="0" />
+ <value cell_index="6844" local_entity="0" value="0" />
+ <value cell_index="6845" local_entity="0" value="0" />
+ <value cell_index="6846" local_entity="0" value="0" />
+ <value cell_index="6847" local_entity="0" value="0" />
+ <value cell_index="6848" local_entity="0" value="0" />
+ <value cell_index="6849" local_entity="0" value="0" />
+ <value cell_index="6850" local_entity="0" value="0" />
+ <value cell_index="6851" local_entity="0" value="0" />
+ <value cell_index="6852" local_entity="0" value="0" />
+ <value cell_index="6853" local_entity="0" value="0" />
+ <value cell_index="6854" local_entity="0" value="0" />
+ <value cell_index="6855" local_entity="0" value="0" />
+ <value cell_index="6856" local_entity="0" value="0" />
+ <value cell_index="6857" local_entity="0" value="0" />
+ <value cell_index="6858" local_entity="0" value="0" />
+ <value cell_index="6859" local_entity="0" value="0" />
+ <value cell_index="6860" local_entity="0" value="0" />
+ <value cell_index="6861" local_entity="0" value="0" />
+ <value cell_index="6862" local_entity="0" value="0" />
+ <value cell_index="6863" local_entity="0" value="0" />
+ <value cell_index="6864" local_entity="0" value="0" />
+ <value cell_index="6865" local_entity="0" value="0" />
+ <value cell_index="6866" local_entity="0" value="0" />
+ <value cell_index="6867" local_entity="0" value="0" />
+ <value cell_index="6868" local_entity="0" value="0" />
+ <value cell_index="6869" local_entity="0" value="0" />
+ <value cell_index="6870" local_entity="0" value="0" />
+ <value cell_index="6871" local_entity="0" value="0" />
+ <value cell_index="6872" local_entity="0" value="0" />
+ <value cell_index="6873" local_entity="0" value="0" />
+ <value cell_index="6874" local_entity="0" value="0" />
+ <value cell_index="6875" local_entity="0" value="0" />
+ <value cell_index="6876" local_entity="0" value="0" />
+ <value cell_index="6877" local_entity="0" value="0" />
+ <value cell_index="6878" local_entity="0" value="0" />
+ <value cell_index="6879" local_entity="0" value="0" />
+ <value cell_index="6880" local_entity="0" value="0" />
+ <value cell_index="6881" local_entity="0" value="0" />
+ <value cell_index="6882" local_entity="0" value="0" />
+ <value cell_index="6883" local_entity="0" value="0" />
+ <value cell_index="6884" local_entity="0" value="0" />
+ <value cell_index="6885" local_entity="0" value="0" />
+ <value cell_index="6886" local_entity="0" value="0" />
+ <value cell_index="6887" local_entity="0" value="0" />
+ <value cell_index="6888" local_entity="0" value="0" />
+ <value cell_index="6889" local_entity="0" value="0" />
+ <value cell_index="6890" local_entity="0" value="0" />
+ <value cell_index="6891" local_entity="0" value="0" />
+ <value cell_index="6892" local_entity="0" value="0" />
+ <value cell_index="6893" local_entity="0" value="0" />
+ <value cell_index="6894" local_entity="0" value="0" />
+ <value cell_index="6895" local_entity="0" value="0" />
+ <value cell_index="6896" local_entity="0" value="0" />
+ <value cell_index="6897" local_entity="0" value="0" />
+ <value cell_index="6898" local_entity="0" value="0" />
+ <value cell_index="6899" local_entity="0" value="0" />
+ <value cell_index="6900" local_entity="0" value="0" />
+ <value cell_index="6901" local_entity="0" value="0" />
+ <value cell_index="6902" local_entity="0" value="0" />
+ <value cell_index="6903" local_entity="0" value="0" />
+ <value cell_index="6904" local_entity="0" value="0" />
+ <value cell_index="6905" local_entity="0" value="0" />
+ <value cell_index="6906" local_entity="0" value="0" />
+ <value cell_index="6907" local_entity="0" value="0" />
+ <value cell_index="6908" local_entity="0" value="0" />
+ <value cell_index="6909" local_entity="0" value="0" />
+ <value cell_index="6910" local_entity="0" value="0" />
+ <value cell_index="6911" local_entity="0" value="0" />
+ <value cell_index="6912" local_entity="0" value="0" />
+ <value cell_index="6913" local_entity="0" value="0" />
+ <value cell_index="6914" local_entity="0" value="0" />
+ <value cell_index="6915" local_entity="0" value="0" />
+ <value cell_index="6916" local_entity="0" value="0" />
+ <value cell_index="6917" local_entity="0" value="0" />
+ <value cell_index="6918" local_entity="0" value="0" />
+ <value cell_index="6919" local_entity="0" value="0" />
+ <value cell_index="6920" local_entity="0" value="0" />
+ <value cell_index="6921" local_entity="0" value="0" />
+ <value cell_index="6922" local_entity="0" value="0" />
+ <value cell_index="6923" local_entity="0" value="0" />
+ <value cell_index="6924" local_entity="0" value="0" />
+ <value cell_index="6925" local_entity="0" value="0" />
+ <value cell_index="6926" local_entity="0" value="0" />
+ <value cell_index="6927" local_entity="0" value="0" />
+ <value cell_index="6928" local_entity="0" value="0" />
+ <value cell_index="6929" local_entity="0" value="0" />
+ <value cell_index="6930" local_entity="0" value="0" />
+ <value cell_index="6931" local_entity="0" value="0" />
+ <value cell_index="6932" local_entity="0" value="0" />
+ <value cell_index="6933" local_entity="0" value="0" />
+ <value cell_index="6934" local_entity="0" value="0" />
+ <value cell_index="6935" local_entity="0" value="0" />
+ <value cell_index="6936" local_entity="0" value="0" />
+ <value cell_index="6937" local_entity="0" value="0" />
+ <value cell_index="6938" local_entity="0" value="0" />
+ <value cell_index="6939" local_entity="0" value="0" />
+ <value cell_index="6940" local_entity="0" value="0" />
+ <value cell_index="6941" local_entity="0" value="0" />
+ <value cell_index="6942" local_entity="0" value="0" />
+ <value cell_index="6943" local_entity="0" value="0" />
+ <value cell_index="6944" local_entity="0" value="0" />
+ <value cell_index="6945" local_entity="0" value="0" />
+ <value cell_index="6946" local_entity="0" value="0" />
+ <value cell_index="6947" local_entity="0" value="0" />
+ <value cell_index="6948" local_entity="0" value="0" />
+ <value cell_index="6949" local_entity="0" value="0" />
+ <value cell_index="6950" local_entity="0" value="0" />
+ <value cell_index="6951" local_entity="0" value="0" />
+ <value cell_index="6952" local_entity="0" value="0" />
+ <value cell_index="6953" local_entity="0" value="0" />
+ <value cell_index="6954" local_entity="0" value="0" />
+ <value cell_index="6955" local_entity="0" value="0" />
+ <value cell_index="6956" local_entity="0" value="0" />
+ <value cell_index="6957" local_entity="0" value="0" />
+ <value cell_index="6958" local_entity="0" value="0" />
+ <value cell_index="6959" local_entity="0" value="0" />
+ <value cell_index="6960" local_entity="0" value="0" />
+ <value cell_index="6961" local_entity="0" value="0" />
+ <value cell_index="6962" local_entity="0" value="0" />
+ <value cell_index="6963" local_entity="0" value="0" />
+ <value cell_index="6964" local_entity="0" value="0" />
+ <value cell_index="6965" local_entity="0" value="0" />
+ <value cell_index="6966" local_entity="0" value="0" />
+ <value cell_index="6967" local_entity="0" value="0" />
+ <value cell_index="6968" local_entity="0" value="0" />
+ <value cell_index="6969" local_entity="0" value="0" />
+ <value cell_index="6970" local_entity="0" value="0" />
+ <value cell_index="6971" local_entity="0" value="0" />
+ <value cell_index="6972" local_entity="0" value="0" />
+ <value cell_index="6973" local_entity="0" value="0" />
+ <value cell_index="6974" local_entity="0" value="0" />
+ <value cell_index="6975" local_entity="0" value="0" />
+ <value cell_index="6976" local_entity="0" value="0" />
+ <value cell_index="6977" local_entity="0" value="0" />
+ <value cell_index="6978" local_entity="0" value="0" />
+ <value cell_index="6979" local_entity="0" value="0" />
+ <value cell_index="6980" local_entity="0" value="0" />
+ <value cell_index="6981" local_entity="0" value="0" />
+ <value cell_index="6982" local_entity="0" value="0" />
+ <value cell_index="6983" local_entity="0" value="0" />
+ <value cell_index="6984" local_entity="0" value="0" />
+ <value cell_index="6985" local_entity="0" value="0" />
+ <value cell_index="6986" local_entity="0" value="0" />
+ <value cell_index="6987" local_entity="0" value="0" />
+ <value cell_index="6988" local_entity="0" value="0" />
+ <value cell_index="6989" local_entity="0" value="0" />
+ <value cell_index="6990" local_entity="0" value="0" />
+ <value cell_index="6991" local_entity="0" value="0" />
+ <value cell_index="6992" local_entity="0" value="0" />
+ <value cell_index="6993" local_entity="0" value="0" />
+ <value cell_index="6994" local_entity="0" value="0" />
+ <value cell_index="6995" local_entity="0" value="0" />
+ <value cell_index="6996" local_entity="0" value="0" />
+ <value cell_index="6997" local_entity="0" value="0" />
+ <value cell_index="6998" local_entity="0" value="0" />
+ <value cell_index="6999" local_entity="0" value="0" />
+ <value cell_index="7000" local_entity="0" value="0" />
+ <value cell_index="7001" local_entity="0" value="0" />
+ <value cell_index="7002" local_entity="0" value="0" />
+ <value cell_index="7003" local_entity="0" value="0" />
+ <value cell_index="7004" local_entity="0" value="0" />
+ <value cell_index="7005" local_entity="0" value="0" />
+ <value cell_index="7006" local_entity="0" value="0" />
+ <value cell_index="7007" local_entity="0" value="0" />
+ <value cell_index="7008" local_entity="0" value="0" />
+ <value cell_index="7009" local_entity="0" value="0" />
+ <value cell_index="7010" local_entity="0" value="0" />
+ <value cell_index="7011" local_entity="0" value="0" />
+ <value cell_index="7012" local_entity="0" value="0" />
+ <value cell_index="7013" local_entity="0" value="0" />
+ <value cell_index="7014" local_entity="0" value="0" />
+ <value cell_index="7015" local_entity="0" value="0" />
+ <value cell_index="7016" local_entity="0" value="0" />
+ <value cell_index="7017" local_entity="0" value="0" />
+ <value cell_index="7018" local_entity="0" value="0" />
+ <value cell_index="7019" local_entity="0" value="0" />
+ <value cell_index="7020" local_entity="0" value="0" />
+ <value cell_index="7021" local_entity="0" value="0" />
+ <value cell_index="7022" local_entity="0" value="0" />
+ <value cell_index="7023" local_entity="0" value="0" />
+ <value cell_index="7024" local_entity="0" value="0" />
+ <value cell_index="7025" local_entity="0" value="0" />
+ <value cell_index="7026" local_entity="0" value="0" />
+ <value cell_index="7027" local_entity="0" value="0" />
+ <value cell_index="7028" local_entity="0" value="0" />
+ <value cell_index="7029" local_entity="0" value="0" />
+ <value cell_index="7030" local_entity="0" value="0" />
+ <value cell_index="7031" local_entity="0" value="0" />
+ <value cell_index="7032" local_entity="0" value="0" />
+ <value cell_index="7033" local_entity="0" value="0" />
+ <value cell_index="7034" local_entity="0" value="0" />
+ <value cell_index="7035" local_entity="0" value="0" />
+ <value cell_index="7036" local_entity="0" value="0" />
+ <value cell_index="7037" local_entity="0" value="0" />
+ <value cell_index="7038" local_entity="0" value="0" />
+ <value cell_index="7039" local_entity="0" value="0" />
+ <value cell_index="7040" local_entity="0" value="0" />
+ <value cell_index="7041" local_entity="0" value="0" />
+ <value cell_index="7042" local_entity="0" value="0" />
+ <value cell_index="7043" local_entity="0" value="0" />
+ <value cell_index="7044" local_entity="0" value="0" />
+ <value cell_index="7045" local_entity="0" value="0" />
+ <value cell_index="7046" local_entity="0" value="0" />
+ <value cell_index="7047" local_entity="0" value="0" />
+ <value cell_index="7048" local_entity="0" value="0" />
+ <value cell_index="7049" local_entity="0" value="0" />
+ <value cell_index="7050" local_entity="0" value="0" />
+ <value cell_index="7051" local_entity="0" value="0" />
+ <value cell_index="7052" local_entity="0" value="0" />
+ <value cell_index="7053" local_entity="0" value="0" />
+ <value cell_index="7054" local_entity="0" value="0" />
+ <value cell_index="7055" local_entity="0" value="0" />
+ <value cell_index="7056" local_entity="0" value="0" />
+ <value cell_index="7057" local_entity="0" value="0" />
+ <value cell_index="7058" local_entity="0" value="0" />
+ <value cell_index="7059" local_entity="0" value="0" />
+ <value cell_index="7060" local_entity="0" value="0" />
+ <value cell_index="7061" local_entity="0" value="0" />
+ <value cell_index="7062" local_entity="0" value="0" />
+ <value cell_index="7063" local_entity="0" value="0" />
+ <value cell_index="7064" local_entity="0" value="0" />
+ <value cell_index="7065" local_entity="0" value="0" />
+ <value cell_index="7066" local_entity="0" value="0" />
+ <value cell_index="7067" local_entity="0" value="0" />
+ <value cell_index="7068" local_entity="0" value="0" />
+ <value cell_index="7069" local_entity="0" value="0" />
+ <value cell_index="7070" local_entity="0" value="0" />
+ <value cell_index="7071" local_entity="0" value="0" />
+ <value cell_index="7072" local_entity="0" value="0" />
+ <value cell_index="7073" local_entity="0" value="0" />
+ <value cell_index="7074" local_entity="0" value="0" />
+ <value cell_index="7075" local_entity="0" value="0" />
+ <value cell_index="7076" local_entity="0" value="0" />
+ <value cell_index="7077" local_entity="0" value="0" />
+ <value cell_index="7078" local_entity="0" value="0" />
+ <value cell_index="7079" local_entity="0" value="0" />
+ <value cell_index="7080" local_entity="0" value="0" />
+ <value cell_index="7081" local_entity="0" value="0" />
+ <value cell_index="7082" local_entity="0" value="0" />
+ <value cell_index="7083" local_entity="0" value="0" />
+ <value cell_index="7084" local_entity="0" value="0" />
+ <value cell_index="7085" local_entity="0" value="0" />
+ <value cell_index="7086" local_entity="0" value="0" />
+ <value cell_index="7087" local_entity="0" value="0" />
+ <value cell_index="7088" local_entity="0" value="0" />
+ <value cell_index="7089" local_entity="0" value="0" />
+ <value cell_index="7090" local_entity="0" value="0" />
+ <value cell_index="7091" local_entity="0" value="0" />
+ <value cell_index="7092" local_entity="0" value="0" />
+ <value cell_index="7093" local_entity="0" value="0" />
+ <value cell_index="7094" local_entity="0" value="0" />
+ <value cell_index="7095" local_entity="0" value="0" />
+ <value cell_index="7096" local_entity="0" value="0" />
+ <value cell_index="7097" local_entity="0" value="0" />
+ <value cell_index="7098" local_entity="0" value="0" />
+ <value cell_index="7099" local_entity="0" value="0" />
+ <value cell_index="7100" local_entity="0" value="0" />
+ <value cell_index="7101" local_entity="0" value="0" />
+ <value cell_index="7102" local_entity="0" value="0" />
+ <value cell_index="7103" local_entity="0" value="0" />
+ <value cell_index="7104" local_entity="0" value="0" />
+ <value cell_index="7105" local_entity="0" value="0" />
+ <value cell_index="7106" local_entity="0" value="0" />
+ <value cell_index="7107" local_entity="0" value="0" />
+ <value cell_index="7108" local_entity="0" value="0" />
+ <value cell_index="7109" local_entity="0" value="0" />
+ <value cell_index="7110" local_entity="0" value="0" />
+ <value cell_index="7111" local_entity="0" value="0" />
+ <value cell_index="7112" local_entity="0" value="0" />
+ <value cell_index="7113" local_entity="0" value="0" />
+ <value cell_index="7114" local_entity="0" value="0" />
+ <value cell_index="7115" local_entity="0" value="0" />
+ <value cell_index="7116" local_entity="0" value="0" />
+ <value cell_index="7117" local_entity="0" value="0" />
+ <value cell_index="7118" local_entity="0" value="0" />
+ <value cell_index="7119" local_entity="0" value="0" />
+ <value cell_index="7120" local_entity="0" value="0" />
+ <value cell_index="7121" local_entity="0" value="0" />
+ <value cell_index="7122" local_entity="0" value="0" />
+ <value cell_index="7123" local_entity="0" value="0" />
+ <value cell_index="7124" local_entity="0" value="0" />
+ <value cell_index="7125" local_entity="0" value="0" />
+ <value cell_index="7126" local_entity="0" value="0" />
+ <value cell_index="7127" local_entity="0" value="0" />
+ <value cell_index="7128" local_entity="0" value="0" />
+ <value cell_index="7129" local_entity="0" value="0" />
+ <value cell_index="7130" local_entity="0" value="0" />
+ <value cell_index="7131" local_entity="0" value="0" />
+ <value cell_index="7132" local_entity="0" value="0" />
+ <value cell_index="7133" local_entity="0" value="0" />
+ <value cell_index="7134" local_entity="0" value="0" />
+ <value cell_index="7135" local_entity="0" value="0" />
+ <value cell_index="7136" local_entity="0" value="0" />
+ <value cell_index="7137" local_entity="0" value="0" />
+ <value cell_index="7138" local_entity="0" value="0" />
+ <value cell_index="7139" local_entity="0" value="0" />
+ <value cell_index="7140" local_entity="0" value="0" />
+ <value cell_index="7141" local_entity="0" value="0" />
+ <value cell_index="7142" local_entity="0" value="0" />
+ <value cell_index="7143" local_entity="0" value="0" />
+ <value cell_index="7144" local_entity="0" value="0" />
+ <value cell_index="7145" local_entity="0" value="0" />
+ <value cell_index="7146" local_entity="0" value="0" />
+ <value cell_index="7147" local_entity="0" value="0" />
+ <value cell_index="7148" local_entity="0" value="0" />
+ <value cell_index="7149" local_entity="0" value="0" />
+ <value cell_index="7150" local_entity="0" value="0" />
+ <value cell_index="7151" local_entity="0" value="0" />
+ <value cell_index="7152" local_entity="0" value="0" />
+ <value cell_index="7153" local_entity="0" value="0" />
+ <value cell_index="7154" local_entity="0" value="0" />
+ <value cell_index="7155" local_entity="0" value="0" />
+ <value cell_index="7156" local_entity="0" value="0" />
+ <value cell_index="7157" local_entity="0" value="0" />
+ <value cell_index="7158" local_entity="0" value="0" />
+ <value cell_index="7159" local_entity="0" value="0" />
+ <value cell_index="7160" local_entity="0" value="0" />
+ <value cell_index="7161" local_entity="0" value="0" />
+ <value cell_index="7162" local_entity="0" value="0" />
+ <value cell_index="7163" local_entity="0" value="0" />
+ <value cell_index="7164" local_entity="0" value="0" />
+ <value cell_index="7165" local_entity="0" value="0" />
+ <value cell_index="7166" local_entity="0" value="0" />
+ <value cell_index="7167" local_entity="0" value="0" />
+ <value cell_index="7168" local_entity="0" value="0" />
+ <value cell_index="7169" local_entity="0" value="0" />
+ <value cell_index="7170" local_entity="0" value="0" />
+ <value cell_index="7171" local_entity="0" value="0" />
+ <value cell_index="7172" local_entity="0" value="0" />
+ <value cell_index="7173" local_entity="0" value="0" />
+ <value cell_index="7174" local_entity="0" value="0" />
+ <value cell_index="7175" local_entity="0" value="0" />
+ <value cell_index="7176" local_entity="0" value="0" />
+ <value cell_index="7177" local_entity="0" value="0" />
+ <value cell_index="7178" local_entity="0" value="0" />
+ <value cell_index="7179" local_entity="0" value="0" />
+ <value cell_index="7180" local_entity="0" value="0" />
+ <value cell_index="7181" local_entity="0" value="0" />
+ <value cell_index="7182" local_entity="0" value="0" />
+ <value cell_index="7183" local_entity="0" value="0" />
+ <value cell_index="7184" local_entity="0" value="0" />
+ <value cell_index="7185" local_entity="0" value="0" />
+ <value cell_index="7186" local_entity="0" value="0" />
+ <value cell_index="7187" local_entity="0" value="0" />
+ <value cell_index="7188" local_entity="0" value="0" />
+ <value cell_index="7189" local_entity="0" value="0" />
+ <value cell_index="7190" local_entity="0" value="0" />
+ <value cell_index="7191" local_entity="0" value="0" />
+ <value cell_index="7192" local_entity="0" value="0" />
+ <value cell_index="7193" local_entity="0" value="0" />
+ <value cell_index="7194" local_entity="0" value="0" />
+ <value cell_index="7195" local_entity="0" value="0" />
+ <value cell_index="7196" local_entity="0" value="0" />
+ <value cell_index="7197" local_entity="0" value="0" />
+ <value cell_index="7198" local_entity="0" value="0" />
+ <value cell_index="7199" local_entity="0" value="0" />
+ <value cell_index="7200" local_entity="0" value="0" />
+ <value cell_index="7201" local_entity="0" value="0" />
+ <value cell_index="7202" local_entity="0" value="0" />
+ <value cell_index="7203" local_entity="0" value="0" />
+ <value cell_index="7204" local_entity="0" value="0" />
+ <value cell_index="7205" local_entity="0" value="0" />
+ <value cell_index="7206" local_entity="0" value="0" />
+ <value cell_index="7207" local_entity="0" value="0" />
+ <value cell_index="7208" local_entity="0" value="0" />
+ <value cell_index="7209" local_entity="0" value="0" />
+ <value cell_index="7210" local_entity="0" value="0" />
+ <value cell_index="7211" local_entity="0" value="0" />
+ <value cell_index="7212" local_entity="0" value="0" />
+ <value cell_index="7213" local_entity="0" value="0" />
+ <value cell_index="7214" local_entity="0" value="0" />
+ <value cell_index="7215" local_entity="0" value="0" />
+ <value cell_index="7216" local_entity="0" value="0" />
+ <value cell_index="7217" local_entity="0" value="0" />
+ <value cell_index="7218" local_entity="0" value="0" />
+ <value cell_index="7219" local_entity="0" value="0" />
+ <value cell_index="7220" local_entity="0" value="0" />
+ <value cell_index="7221" local_entity="0" value="0" />
+ <value cell_index="7222" local_entity="0" value="0" />
+ <value cell_index="7223" local_entity="0" value="0" />
+ <value cell_index="7224" local_entity="0" value="0" />
+ <value cell_index="7225" local_entity="0" value="0" />
+ <value cell_index="7226" local_entity="0" value="0" />
+ <value cell_index="7227" local_entity="0" value="0" />
+ <value cell_index="7228" local_entity="0" value="0" />
+ <value cell_index="7229" local_entity="0" value="0" />
+ <value cell_index="7230" local_entity="0" value="0" />
+ <value cell_index="7231" local_entity="0" value="0" />
+ <value cell_index="7232" local_entity="0" value="0" />
+ <value cell_index="7233" local_entity="0" value="0" />
+ <value cell_index="7234" local_entity="0" value="0" />
+ <value cell_index="7235" local_entity="0" value="0" />
+ <value cell_index="7236" local_entity="0" value="0" />
+ <value cell_index="7237" local_entity="0" value="0" />
+ <value cell_index="7238" local_entity="0" value="0" />
+ <value cell_index="7239" local_entity="0" value="0" />
+ <value cell_index="7240" local_entity="0" value="0" />
+ <value cell_index="7241" local_entity="0" value="0" />
+ <value cell_index="7242" local_entity="0" value="0" />
+ <value cell_index="7243" local_entity="0" value="0" />
+ <value cell_index="7244" local_entity="0" value="0" />
+ <value cell_index="7245" local_entity="0" value="0" />
+ <value cell_index="7246" local_entity="0" value="0" />
+ <value cell_index="7247" local_entity="0" value="0" />
+ <value cell_index="7248" local_entity="0" value="0" />
+ <value cell_index="7249" local_entity="0" value="0" />
+ <value cell_index="7250" local_entity="0" value="0" />
+ <value cell_index="7251" local_entity="0" value="0" />
+ <value cell_index="7252" local_entity="0" value="0" />
+ <value cell_index="7253" local_entity="0" value="0" />
+ <value cell_index="7254" local_entity="0" value="0" />
+ <value cell_index="7255" local_entity="0" value="0" />
+ <value cell_index="7256" local_entity="0" value="0" />
+ <value cell_index="7257" local_entity="0" value="0" />
+ <value cell_index="7258" local_entity="0" value="0" />
+ <value cell_index="7259" local_entity="0" value="0" />
+ <value cell_index="7260" local_entity="0" value="0" />
+ <value cell_index="7261" local_entity="0" value="0" />
+ <value cell_index="7262" local_entity="0" value="0" />
+ <value cell_index="7263" local_entity="0" value="0" />
+ <value cell_index="7264" local_entity="0" value="0" />
+ <value cell_index="7265" local_entity="0" value="0" />
+ <value cell_index="7266" local_entity="0" value="0" />
+ <value cell_index="7267" local_entity="0" value="0" />
+ <value cell_index="7268" local_entity="0" value="0" />
+ <value cell_index="7269" local_entity="0" value="0" />
+ <value cell_index="7270" local_entity="0" value="0" />
+ <value cell_index="7271" local_entity="0" value="0" />
+ <value cell_index="7272" local_entity="0" value="0" />
+ <value cell_index="7273" local_entity="0" value="0" />
+ <value cell_index="7274" local_entity="0" value="0" />
+ <value cell_index="7275" local_entity="0" value="0" />
+ <value cell_index="7276" local_entity="0" value="0" />
+ <value cell_index="7277" local_entity="0" value="0" />
+ <value cell_index="7278" local_entity="0" value="0" />
+ <value cell_index="7279" local_entity="0" value="0" />
+ <value cell_index="7280" local_entity="0" value="0" />
+ <value cell_index="7281" local_entity="0" value="0" />
+ <value cell_index="7282" local_entity="0" value="0" />
+ <value cell_index="7283" local_entity="0" value="0" />
+ <value cell_index="7284" local_entity="0" value="0" />
+ <value cell_index="7285" local_entity="0" value="0" />
+ <value cell_index="7286" local_entity="0" value="0" />
+ <value cell_index="7287" local_entity="0" value="0" />
+ <value cell_index="7288" local_entity="0" value="0" />
+ <value cell_index="7289" local_entity="0" value="0" />
+ <value cell_index="7290" local_entity="0" value="0" />
+ <value cell_index="7291" local_entity="0" value="0" />
+ <value cell_index="7292" local_entity="0" value="0" />
+ <value cell_index="7293" local_entity="0" value="0" />
+ <value cell_index="7294" local_entity="0" value="0" />
+ <value cell_index="7295" local_entity="0" value="0" />
+ <value cell_index="7296" local_entity="0" value="0" />
+ <value cell_index="7297" local_entity="0" value="0" />
+ <value cell_index="7298" local_entity="0" value="0" />
+ <value cell_index="7299" local_entity="0" value="0" />
+ <value cell_index="7300" local_entity="0" value="0" />
+ <value cell_index="7301" local_entity="0" value="0" />
+ <value cell_index="7302" local_entity="0" value="0" />
+ <value cell_index="7303" local_entity="0" value="0" />
+ <value cell_index="7304" local_entity="0" value="0" />
+ <value cell_index="7305" local_entity="0" value="0" />
+ <value cell_index="7306" local_entity="0" value="0" />
+ <value cell_index="7307" local_entity="0" value="0" />
+ <value cell_index="7308" local_entity="0" value="0" />
+ <value cell_index="7309" local_entity="0" value="0" />
+ <value cell_index="7310" local_entity="0" value="0" />
+ <value cell_index="7311" local_entity="0" value="0" />
+ <value cell_index="7312" local_entity="0" value="0" />
+ <value cell_index="7313" local_entity="0" value="0" />
+ <value cell_index="7314" local_entity="0" value="0" />
+ <value cell_index="7315" local_entity="0" value="0" />
+ <value cell_index="7316" local_entity="0" value="0" />
+ <value cell_index="7317" local_entity="0" value="0" />
+ <value cell_index="7318" local_entity="0" value="0" />
+ <value cell_index="7319" local_entity="0" value="0" />
+ <value cell_index="7320" local_entity="0" value="0" />
+ <value cell_index="7321" local_entity="0" value="0" />
+ <value cell_index="7322" local_entity="0" value="0" />
+ <value cell_index="7323" local_entity="0" value="0" />
+ <value cell_index="7324" local_entity="0" value="0" />
+ <value cell_index="7325" local_entity="0" value="0" />
+ <value cell_index="7326" local_entity="0" value="0" />
+ <value cell_index="7327" local_entity="0" value="0" />
+ <value cell_index="7328" local_entity="0" value="0" />
+ <value cell_index="7329" local_entity="0" value="0" />
+ <value cell_index="7330" local_entity="0" value="0" />
+ <value cell_index="7331" local_entity="0" value="0" />
+ <value cell_index="7332" local_entity="0" value="0" />
+ <value cell_index="7333" local_entity="0" value="0" />
+ <value cell_index="7334" local_entity="0" value="0" />
+ <value cell_index="7335" local_entity="0" value="0" />
+ <value cell_index="7336" local_entity="0" value="0" />
+ <value cell_index="7337" local_entity="0" value="0" />
+ <value cell_index="7338" local_entity="0" value="0" />
+ <value cell_index="7339" local_entity="0" value="0" />
+ <value cell_index="7340" local_entity="0" value="0" />
+ <value cell_index="7341" local_entity="0" value="0" />
+ <value cell_index="7342" local_entity="0" value="0" />
+ <value cell_index="7343" local_entity="0" value="0" />
+ <value cell_index="7344" local_entity="0" value="0" />
+ <value cell_index="7345" local_entity="0" value="0" />
+ <value cell_index="7346" local_entity="0" value="0" />
+ <value cell_index="7347" local_entity="0" value="0" />
+ <value cell_index="7348" local_entity="0" value="0" />
+ <value cell_index="7349" local_entity="0" value="0" />
+ <value cell_index="7350" local_entity="0" value="0" />
+ <value cell_index="7351" local_entity="0" value="0" />
+ <value cell_index="7352" local_entity="0" value="0" />
+ <value cell_index="7353" local_entity="0" value="0" />
+ <value cell_index="7354" local_entity="0" value="0" />
+ <value cell_index="7355" local_entity="0" value="0" />
+ <value cell_index="7356" local_entity="0" value="0" />
+ <value cell_index="7357" local_entity="0" value="0" />
+ <value cell_index="7358" local_entity="0" value="0" />
+ <value cell_index="7359" local_entity="0" value="0" />
+ <value cell_index="7360" local_entity="0" value="0" />
+ <value cell_index="7361" local_entity="0" value="0" />
+ <value cell_index="7362" local_entity="0" value="0" />
+ <value cell_index="7363" local_entity="0" value="0" />
+ <value cell_index="7364" local_entity="0" value="0" />
+ <value cell_index="7365" local_entity="0" value="0" />
+ <value cell_index="7366" local_entity="0" value="0" />
+ <value cell_index="7367" local_entity="0" value="0" />
+ <value cell_index="7368" local_entity="0" value="0" />
+ <value cell_index="7369" local_entity="0" value="0" />
+ <value cell_index="7370" local_entity="0" value="0" />
+ <value cell_index="7371" local_entity="0" value="0" />
+ <value cell_index="7372" local_entity="0" value="0" />
+ <value cell_index="7373" local_entity="0" value="0" />
+ <value cell_index="7374" local_entity="0" value="0" />
+ <value cell_index="7375" local_entity="0" value="0" />
+ <value cell_index="7376" local_entity="0" value="0" />
+ <value cell_index="7377" local_entity="0" value="0" />
+ <value cell_index="7378" local_entity="0" value="0" />
+ <value cell_index="7379" local_entity="0" value="0" />
+ <value cell_index="7380" local_entity="0" value="0" />
+ <value cell_index="7381" local_entity="0" value="0" />
+ <value cell_index="7382" local_entity="0" value="0" />
+ <value cell_index="7383" local_entity="0" value="0" />
+ <value cell_index="7384" local_entity="0" value="0" />
+ <value cell_index="7385" local_entity="0" value="0" />
+ <value cell_index="7386" local_entity="0" value="0" />
+ <value cell_index="7387" local_entity="0" value="0" />
+ <value cell_index="7388" local_entity="0" value="0" />
+ <value cell_index="7389" local_entity="0" value="0" />
+ <value cell_index="7390" local_entity="0" value="0" />
+ <value cell_index="7391" local_entity="0" value="0" />
+ <value cell_index="7392" local_entity="0" value="0" />
+ <value cell_index="7393" local_entity="0" value="0" />
+ <value cell_index="7394" local_entity="0" value="0" />
+ <value cell_index="7395" local_entity="0" value="0" />
+ <value cell_index="7396" local_entity="0" value="0" />
+ <value cell_index="7397" local_entity="0" value="0" />
+ <value cell_index="7398" local_entity="0" value="0" />
+ <value cell_index="7399" local_entity="0" value="0" />
+ <value cell_index="7400" local_entity="0" value="0" />
+ <value cell_index="7401" local_entity="0" value="0" />
+ <value cell_index="7402" local_entity="0" value="0" />
+ <value cell_index="7403" local_entity="0" value="0" />
+ <value cell_index="7404" local_entity="0" value="0" />
+ <value cell_index="7405" local_entity="0" value="0" />
+ <value cell_index="7406" local_entity="0" value="0" />
+ <value cell_index="7407" local_entity="0" value="0" />
+ <value cell_index="7408" local_entity="0" value="0" />
+ <value cell_index="7409" local_entity="0" value="0" />
+ <value cell_index="7410" local_entity="0" value="0" />
+ <value cell_index="7411" local_entity="0" value="0" />
+ <value cell_index="7412" local_entity="0" value="0" />
+ <value cell_index="7413" local_entity="0" value="0" />
+ <value cell_index="7414" local_entity="0" value="0" />
+ <value cell_index="7415" local_entity="0" value="0" />
+ <value cell_index="7416" local_entity="0" value="0" />
+ <value cell_index="7417" local_entity="0" value="0" />
+ <value cell_index="7418" local_entity="0" value="0" />
+ <value cell_index="7419" local_entity="0" value="0" />
+ <value cell_index="7420" local_entity="0" value="0" />
+ <value cell_index="7421" local_entity="0" value="0" />
+ <value cell_index="7422" local_entity="0" value="0" />
+ <value cell_index="7423" local_entity="0" value="0" />
+ <value cell_index="7424" local_entity="0" value="0" />
+ <value cell_index="7425" local_entity="0" value="0" />
+ <value cell_index="7426" local_entity="0" value="0" />
+ <value cell_index="7427" local_entity="0" value="0" />
+ <value cell_index="7428" local_entity="0" value="0" />
+ <value cell_index="7429" local_entity="0" value="0" />
+ <value cell_index="7430" local_entity="0" value="0" />
+ <value cell_index="7431" local_entity="0" value="0" />
+ <value cell_index="7432" local_entity="0" value="0" />
+ <value cell_index="7433" local_entity="0" value="0" />
+ <value cell_index="7434" local_entity="0" value="0" />
+ <value cell_index="7435" local_entity="0" value="0" />
+ <value cell_index="7436" local_entity="0" value="0" />
+ <value cell_index="7437" local_entity="0" value="0" />
+ <value cell_index="7438" local_entity="0" value="0" />
+ <value cell_index="7439" local_entity="0" value="0" />
+ <value cell_index="7440" local_entity="0" value="0" />
+ <value cell_index="7441" local_entity="0" value="0" />
+ <value cell_index="7442" local_entity="0" value="0" />
+ <value cell_index="7443" local_entity="0" value="0" />
+ <value cell_index="7444" local_entity="0" value="0" />
+ <value cell_index="7445" local_entity="0" value="0" />
+ <value cell_index="7446" local_entity="0" value="0" />
+ <value cell_index="7447" local_entity="0" value="0" />
+ <value cell_index="7448" local_entity="0" value="0" />
+ <value cell_index="7449" local_entity="0" value="0" />
+ <value cell_index="7450" local_entity="0" value="0" />
+ <value cell_index="7451" local_entity="0" value="0" />
+ <value cell_index="7452" local_entity="0" value="0" />
+ <value cell_index="7453" local_entity="0" value="0" />
+ <value cell_index="7454" local_entity="0" value="0" />
+ <value cell_index="7455" local_entity="0" value="0" />
+ <value cell_index="7456" local_entity="0" value="0" />
+ <value cell_index="7457" local_entity="0" value="0" />
+ <value cell_index="7458" local_entity="0" value="0" />
+ <value cell_index="7459" local_entity="0" value="0" />
+ <value cell_index="7460" local_entity="0" value="0" />
+ <value cell_index="7461" local_entity="0" value="0" />
+ <value cell_index="7462" local_entity="0" value="0" />
+ <value cell_index="7463" local_entity="0" value="0" />
+ <value cell_index="7464" local_entity="0" value="0" />
+ <value cell_index="7465" local_entity="0" value="0" />
+ <value cell_index="7466" local_entity="0" value="0" />
+ <value cell_index="7467" local_entity="0" value="0" />
+ <value cell_index="7468" local_entity="0" value="0" />
+ <value cell_index="7469" local_entity="0" value="0" />
+ <value cell_index="7470" local_entity="0" value="0" />
+ <value cell_index="7471" local_entity="0" value="0" />
+ <value cell_index="7472" local_entity="0" value="0" />
+ <value cell_index="7473" local_entity="0" value="0" />
+ <value cell_index="7474" local_entity="0" value="0" />
+ <value cell_index="7475" local_entity="0" value="0" />
+ <value cell_index="7476" local_entity="0" value="0" />
+ <value cell_index="7477" local_entity="0" value="0" />
+ <value cell_index="7478" local_entity="0" value="0" />
+ <value cell_index="7479" local_entity="0" value="0" />
+ <value cell_index="7480" local_entity="0" value="0" />
+ <value cell_index="7481" local_entity="0" value="0" />
+ <value cell_index="7482" local_entity="0" value="0" />
+ <value cell_index="7483" local_entity="0" value="0" />
+ <value cell_index="7484" local_entity="0" value="0" />
+ <value cell_index="7485" local_entity="0" value="0" />
+ <value cell_index="7486" local_entity="0" value="0" />
+ <value cell_index="7487" local_entity="0" value="0" />
+ <value cell_index="7488" local_entity="0" value="0" />
+ <value cell_index="7489" local_entity="0" value="0" />
+ <value cell_index="7490" local_entity="0" value="0" />
+ <value cell_index="7491" local_entity="0" value="0" />
+ <value cell_index="7492" local_entity="0" value="0" />
+ <value cell_index="7493" local_entity="0" value="0" />
+ <value cell_index="7494" local_entity="0" value="0" />
+ <value cell_index="7495" local_entity="0" value="0" />
+ <value cell_index="7496" local_entity="0" value="0" />
+ <value cell_index="7497" local_entity="0" value="0" />
+ <value cell_index="7498" local_entity="0" value="0" />
+ <value cell_index="7499" local_entity="0" value="0" />
+ <value cell_index="7500" local_entity="0" value="0" />
+ <value cell_index="7501" local_entity="0" value="0" />
+ <value cell_index="7502" local_entity="0" value="0" />
+ <value cell_index="7503" local_entity="0" value="0" />
+ <value cell_index="7504" local_entity="0" value="0" />
+ <value cell_index="7505" local_entity="0" value="0" />
+ <value cell_index="7506" local_entity="0" value="0" />
+ <value cell_index="7507" local_entity="0" value="0" />
+ <value cell_index="7508" local_entity="0" value="0" />
+ <value cell_index="7509" local_entity="0" value="0" />
+ <value cell_index="7510" local_entity="0" value="0" />
+ <value cell_index="7511" local_entity="0" value="0" />
+ <value cell_index="7512" local_entity="0" value="0" />
+ <value cell_index="7513" local_entity="0" value="0" />
+ <value cell_index="7514" local_entity="0" value="0" />
+ <value cell_index="7515" local_entity="0" value="0" />
+ <value cell_index="7516" local_entity="0" value="0" />
+ <value cell_index="7517" local_entity="0" value="0" />
+ <value cell_index="7518" local_entity="0" value="0" />
+ <value cell_index="7519" local_entity="0" value="0" />
+ <value cell_index="7520" local_entity="0" value="0" />
+ <value cell_index="7521" local_entity="0" value="0" />
+ <value cell_index="7522" local_entity="0" value="0" />
+ <value cell_index="7523" local_entity="0" value="0" />
+ <value cell_index="7524" local_entity="0" value="0" />
+ <value cell_index="7525" local_entity="0" value="0" />
+ <value cell_index="7526" local_entity="0" value="0" />
+ <value cell_index="7527" local_entity="0" value="0" />
+ <value cell_index="7528" local_entity="0" value="0" />
+ <value cell_index="7529" local_entity="0" value="0" />
+ <value cell_index="7530" local_entity="0" value="0" />
+ <value cell_index="7531" local_entity="0" value="0" />
+ <value cell_index="7532" local_entity="0" value="0" />
+ <value cell_index="7533" local_entity="0" value="0" />
+ <value cell_index="7534" local_entity="0" value="0" />
+ <value cell_index="7535" local_entity="0" value="0" />
+ <value cell_index="7536" local_entity="0" value="0" />
+ <value cell_index="7537" local_entity="0" value="0" />
+ <value cell_index="7538" local_entity="0" value="0" />
+ <value cell_index="7539" local_entity="0" value="0" />
+ <value cell_index="7540" local_entity="0" value="0" />
+ <value cell_index="7541" local_entity="0" value="0" />
+ <value cell_index="7542" local_entity="0" value="0" />
+ <value cell_index="7543" local_entity="0" value="0" />
+ <value cell_index="7544" local_entity="0" value="0" />
+ <value cell_index="7545" local_entity="0" value="0" />
+ <value cell_index="7546" local_entity="0" value="0" />
+ <value cell_index="7547" local_entity="0" value="0" />
+ <value cell_index="7548" local_entity="0" value="0" />
+ <value cell_index="7549" local_entity="0" value="0" />
+ <value cell_index="7550" local_entity="0" value="0" />
+ <value cell_index="7551" local_entity="0" value="0" />
+ <value cell_index="7552" local_entity="0" value="0" />
+ <value cell_index="7553" local_entity="0" value="0" />
+ <value cell_index="7554" local_entity="0" value="0" />
+ <value cell_index="7555" local_entity="0" value="0" />
+ <value cell_index="7556" local_entity="0" value="0" />
+ <value cell_index="7557" local_entity="0" value="0" />
+ <value cell_index="7558" local_entity="0" value="0" />
+ <value cell_index="7559" local_entity="0" value="0" />
+ <value cell_index="7560" local_entity="0" value="0" />
+ <value cell_index="7561" local_entity="0" value="0" />
+ <value cell_index="7562" local_entity="0" value="0" />
+ <value cell_index="7563" local_entity="0" value="0" />
+ <value cell_index="7564" local_entity="0" value="0" />
+ <value cell_index="7565" local_entity="0" value="0" />
+ <value cell_index="7566" local_entity="0" value="0" />
+ <value cell_index="7567" local_entity="0" value="0" />
+ <value cell_index="7568" local_entity="0" value="0" />
+ <value cell_index="7569" local_entity="0" value="0" />
+ <value cell_index="7570" local_entity="0" value="0" />
+ <value cell_index="7571" local_entity="0" value="0" />
+ <value cell_index="7572" local_entity="0" value="0" />
+ <value cell_index="7573" local_entity="0" value="0" />
+ <value cell_index="7574" local_entity="0" value="0" />
+ <value cell_index="7575" local_entity="0" value="0" />
+ <value cell_index="7576" local_entity="0" value="0" />
+ <value cell_index="7577" local_entity="0" value="0" />
+ <value cell_index="7578" local_entity="0" value="0" />
+ <value cell_index="7579" local_entity="0" value="0" />
+ <value cell_index="7580" local_entity="0" value="0" />
+ <value cell_index="7581" local_entity="0" value="0" />
+ <value cell_index="7582" local_entity="0" value="0" />
+ <value cell_index="7583" local_entity="0" value="0" />
+ <value cell_index="7584" local_entity="0" value="0" />
+ <value cell_index="7585" local_entity="0" value="0" />
+ <value cell_index="7586" local_entity="0" value="0" />
+ <value cell_index="7587" local_entity="0" value="0" />
+ <value cell_index="7588" local_entity="0" value="0" />
+ <value cell_index="7589" local_entity="0" value="0" />
+ <value cell_index="7590" local_entity="0" value="0" />
+ <value cell_index="7591" local_entity="0" value="0" />
+ <value cell_index="7592" local_entity="0" value="0" />
+ <value cell_index="7593" local_entity="0" value="0" />
+ <value cell_index="7594" local_entity="0" value="0" />
+ <value cell_index="7595" local_entity="0" value="0" />
+ <value cell_index="7596" local_entity="0" value="0" />
+ <value cell_index="7597" local_entity="0" value="0" />
+ <value cell_index="7598" local_entity="0" value="0" />
+ <value cell_index="7599" local_entity="0" value="0" />
+ <value cell_index="7600" local_entity="0" value="0" />
+ <value cell_index="7601" local_entity="0" value="0" />
+ <value cell_index="7602" local_entity="0" value="0" />
+ <value cell_index="7603" local_entity="0" value="0" />
+ <value cell_index="7604" local_entity="0" value="0" />
+ <value cell_index="7605" local_entity="0" value="0" />
+ <value cell_index="7606" local_entity="0" value="0" />
+ <value cell_index="7607" local_entity="0" value="0" />
+ <value cell_index="7608" local_entity="0" value="0" />
+ <value cell_index="7609" local_entity="0" value="0" />
+ <value cell_index="7610" local_entity="0" value="0" />
+ <value cell_index="7611" local_entity="0" value="0" />
+ <value cell_index="7612" local_entity="0" value="0" />
+ <value cell_index="7613" local_entity="0" value="0" />
+ <value cell_index="7614" local_entity="0" value="0" />
+ <value cell_index="7615" local_entity="0" value="0" />
+ <value cell_index="7616" local_entity="0" value="0" />
+ <value cell_index="7617" local_entity="0" value="0" />
+ <value cell_index="7618" local_entity="0" value="0" />
+ <value cell_index="7619" local_entity="0" value="0" />
+ <value cell_index="7620" local_entity="0" value="0" />
+ <value cell_index="7621" local_entity="0" value="0" />
+ <value cell_index="7622" local_entity="0" value="0" />
+ <value cell_index="7623" local_entity="0" value="0" />
+ <value cell_index="7624" local_entity="0" value="0" />
+ <value cell_index="7625" local_entity="0" value="0" />
+ <value cell_index="7626" local_entity="0" value="0" />
+ <value cell_index="7627" local_entity="0" value="0" />
+ <value cell_index="7628" local_entity="0" value="0" />
+ <value cell_index="7629" local_entity="0" value="0" />
+ <value cell_index="7630" local_entity="0" value="0" />
+ <value cell_index="7631" local_entity="0" value="0" />
+ <value cell_index="7632" local_entity="0" value="0" />
+ <value cell_index="7633" local_entity="0" value="0" />
+ <value cell_index="7634" local_entity="0" value="0" />
+ <value cell_index="7635" local_entity="0" value="0" />
+ <value cell_index="7636" local_entity="0" value="0" />
+ <value cell_index="7637" local_entity="0" value="0" />
+ <value cell_index="7638" local_entity="0" value="0" />
+ <value cell_index="7639" local_entity="0" value="0" />
+ <value cell_index="7640" local_entity="0" value="0" />
+ <value cell_index="7641" local_entity="0" value="0" />
+ <value cell_index="7642" local_entity="0" value="0" />
+ <value cell_index="7643" local_entity="0" value="0" />
+ <value cell_index="7644" local_entity="0" value="0" />
+ <value cell_index="7645" local_entity="0" value="0" />
+ <value cell_index="7646" local_entity="0" value="0" />
+ <value cell_index="7647" local_entity="0" value="0" />
+ <value cell_index="7648" local_entity="0" value="0" />
+ <value cell_index="7649" local_entity="0" value="0" />
+ <value cell_index="7650" local_entity="0" value="0" />
+ <value cell_index="7651" local_entity="0" value="0" />
+ <value cell_index="7652" local_entity="0" value="0" />
+ <value cell_index="7653" local_entity="0" value="0" />
+ <value cell_index="7654" local_entity="0" value="0" />
+ <value cell_index="7655" local_entity="0" value="0" />
+ <value cell_index="7656" local_entity="0" value="0" />
+ <value cell_index="7657" local_entity="0" value="0" />
+ <value cell_index="7658" local_entity="0" value="0" />
+ <value cell_index="7659" local_entity="0" value="0" />
+ <value cell_index="7660" local_entity="0" value="0" />
+ <value cell_index="7661" local_entity="0" value="0" />
+ <value cell_index="7662" local_entity="0" value="0" />
+ <value cell_index="7663" local_entity="0" value="0" />
+ <value cell_index="7664" local_entity="0" value="0" />
+ <value cell_index="7665" local_entity="0" value="0" />
+ <value cell_index="7666" local_entity="0" value="0" />
+ <value cell_index="7667" local_entity="0" value="0" />
+ <value cell_index="7668" local_entity="0" value="0" />
+ <value cell_index="7669" local_entity="0" value="0" />
+ <value cell_index="7670" local_entity="0" value="0" />
+ <value cell_index="7671" local_entity="0" value="0" />
+ <value cell_index="7672" local_entity="0" value="0" />
+ <value cell_index="7673" local_entity="0" value="0" />
+ <value cell_index="7674" local_entity="0" value="0" />
+ <value cell_index="7675" local_entity="0" value="0" />
+ <value cell_index="7676" local_entity="0" value="0" />
+ <value cell_index="7677" local_entity="0" value="0" />
+ <value cell_index="7678" local_entity="0" value="0" />
+ <value cell_index="7679" local_entity="0" value="0" />
+ <value cell_index="7680" local_entity="0" value="0" />
+ <value cell_index="7681" local_entity="0" value="0" />
+ <value cell_index="7682" local_entity="0" value="0" />
+ <value cell_index="7683" local_entity="0" value="0" />
+ <value cell_index="7684" local_entity="0" value="0" />
+ <value cell_index="7685" local_entity="0" value="0" />
+ <value cell_index="7686" local_entity="0" value="0" />
+ <value cell_index="7687" local_entity="0" value="0" />
+ <value cell_index="7688" local_entity="0" value="0" />
+ <value cell_index="7689" local_entity="0" value="0" />
+ <value cell_index="7690" local_entity="0" value="0" />
+ <value cell_index="7691" local_entity="0" value="0" />
+ <value cell_index="7692" local_entity="0" value="0" />
+ <value cell_index="7693" local_entity="0" value="0" />
+ <value cell_index="7694" local_entity="0" value="0" />
+ <value cell_index="7695" local_entity="0" value="0" />
+ <value cell_index="7696" local_entity="0" value="0" />
+ <value cell_index="7697" local_entity="0" value="0" />
+ <value cell_index="7698" local_entity="0" value="0" />
+ <value cell_index="7699" local_entity="0" value="0" />
+ <value cell_index="7700" local_entity="0" value="0" />
+ <value cell_index="7701" local_entity="0" value="0" />
+ <value cell_index="7702" local_entity="0" value="0" />
+ <value cell_index="7703" local_entity="0" value="0" />
+ <value cell_index="7704" local_entity="0" value="0" />
+ <value cell_index="7705" local_entity="0" value="0" />
+ <value cell_index="7706" local_entity="0" value="0" />
+ <value cell_index="7707" local_entity="0" value="0" />
+ <value cell_index="7708" local_entity="0" value="0" />
+ <value cell_index="7709" local_entity="0" value="0" />
+ <value cell_index="7710" local_entity="0" value="0" />
+ <value cell_index="7711" local_entity="0" value="0" />
+ <value cell_index="7712" local_entity="0" value="0" />
+ <value cell_index="7713" local_entity="0" value="0" />
+ <value cell_index="7714" local_entity="0" value="0" />
+ <value cell_index="7715" local_entity="0" value="0" />
+ <value cell_index="7716" local_entity="0" value="0" />
+ <value cell_index="7717" local_entity="0" value="0" />
+ <value cell_index="7718" local_entity="0" value="0" />
+ <value cell_index="7719" local_entity="0" value="0" />
+ <value cell_index="7720" local_entity="0" value="0" />
+ <value cell_index="7721" local_entity="0" value="0" />
+ <value cell_index="7722" local_entity="0" value="0" />
+ <value cell_index="7723" local_entity="0" value="0" />
+ <value cell_index="7724" local_entity="0" value="0" />
+ <value cell_index="7725" local_entity="0" value="0" />
+ <value cell_index="7726" local_entity="0" value="0" />
+ <value cell_index="7727" local_entity="0" value="0" />
+ <value cell_index="7728" local_entity="0" value="0" />
+ <value cell_index="7729" local_entity="0" value="0" />
+ <value cell_index="7730" local_entity="0" value="0" />
+ <value cell_index="7731" local_entity="0" value="0" />
+ <value cell_index="7732" local_entity="0" value="0" />
+ <value cell_index="7733" local_entity="0" value="0" />
+ <value cell_index="7734" local_entity="0" value="0" />
+ <value cell_index="7735" local_entity="0" value="0" />
+ <value cell_index="7736" local_entity="0" value="0" />
+ <value cell_index="7737" local_entity="0" value="0" />
+ <value cell_index="7738" local_entity="0" value="0" />
+ <value cell_index="7739" local_entity="0" value="0" />
+ <value cell_index="7740" local_entity="0" value="0" />
+ <value cell_index="7741" local_entity="0" value="0" />
+ <value cell_index="7742" local_entity="0" value="0" />
+ <value cell_index="7743" local_entity="0" value="0" />
+ <value cell_index="7744" local_entity="0" value="0" />
+ <value cell_index="7745" local_entity="0" value="0" />
+ <value cell_index="7746" local_entity="0" value="0" />
+ <value cell_index="7747" local_entity="0" value="0" />
+ <value cell_index="7748" local_entity="0" value="0" />
+ <value cell_index="7749" local_entity="0" value="0" />
+ <value cell_index="7750" local_entity="0" value="0" />
+ <value cell_index="7751" local_entity="0" value="0" />
+ <value cell_index="7752" local_entity="0" value="0" />
+ <value cell_index="7753" local_entity="0" value="0" />
+ <value cell_index="7754" local_entity="0" value="0" />
+ <value cell_index="7755" local_entity="0" value="0" />
+ <value cell_index="7756" local_entity="0" value="0" />
+ <value cell_index="7757" local_entity="0" value="0" />
+ <value cell_index="7758" local_entity="0" value="0" />
+ <value cell_index="7759" local_entity="0" value="0" />
+ <value cell_index="7760" local_entity="0" value="0" />
+ <value cell_index="7761" local_entity="0" value="0" />
+ <value cell_index="7762" local_entity="0" value="0" />
+ <value cell_index="7763" local_entity="0" value="0" />
+ <value cell_index="7764" local_entity="0" value="0" />
+ <value cell_index="7765" local_entity="0" value="0" />
+ <value cell_index="7766" local_entity="0" value="0" />
+ <value cell_index="7767" local_entity="0" value="0" />
+ <value cell_index="7768" local_entity="0" value="0" />
+ <value cell_index="7769" local_entity="0" value="0" />
+ <value cell_index="7770" local_entity="0" value="0" />
+ <value cell_index="7771" local_entity="0" value="0" />
+ <value cell_index="7772" local_entity="0" value="0" />
+ <value cell_index="7773" local_entity="0" value="0" />
+ <value cell_index="7774" local_entity="0" value="0" />
+ <value cell_index="7775" local_entity="0" value="0" />
+ <value cell_index="7776" local_entity="0" value="0" />
+ <value cell_index="7777" local_entity="0" value="0" />
+ <value cell_index="7778" local_entity="0" value="0" />
+ <value cell_index="7779" local_entity="0" value="0" />
+ <value cell_index="7780" local_entity="0" value="0" />
+ <value cell_index="7781" local_entity="0" value="0" />
+ <value cell_index="7782" local_entity="0" value="0" />
+ <value cell_index="7783" local_entity="0" value="0" />
+ <value cell_index="7784" local_entity="0" value="0" />
+ <value cell_index="7785" local_entity="0" value="0" />
+ <value cell_index="7786" local_entity="0" value="0" />
+ <value cell_index="7787" local_entity="0" value="0" />
+ <value cell_index="7788" local_entity="0" value="0" />
+ <value cell_index="7789" local_entity="0" value="0" />
+ <value cell_index="7790" local_entity="0" value="0" />
+ <value cell_index="7791" local_entity="0" value="0" />
+ <value cell_index="7792" local_entity="0" value="0" />
+ <value cell_index="7793" local_entity="0" value="0" />
+ <value cell_index="7794" local_entity="0" value="0" />
+ <value cell_index="7795" local_entity="0" value="0" />
+ <value cell_index="7796" local_entity="0" value="0" />
+ <value cell_index="7797" local_entity="0" value="0" />
+ <value cell_index="7798" local_entity="0" value="0" />
+ <value cell_index="7799" local_entity="0" value="0" />
+ <value cell_index="7800" local_entity="0" value="0" />
+ <value cell_index="7801" local_entity="0" value="0" />
+ <value cell_index="7802" local_entity="0" value="0" />
+ <value cell_index="7803" local_entity="0" value="0" />
+ <value cell_index="7804" local_entity="0" value="0" />
+ <value cell_index="7805" local_entity="0" value="0" />
+ <value cell_index="7806" local_entity="0" value="0" />
+ <value cell_index="7807" local_entity="0" value="0" />
+ <value cell_index="7808" local_entity="0" value="0" />
+ <value cell_index="7809" local_entity="0" value="0" />
+ <value cell_index="7810" local_entity="0" value="0" />
+ <value cell_index="7811" local_entity="0" value="0" />
+ <value cell_index="7812" local_entity="0" value="0" />
+ <value cell_index="7813" local_entity="0" value="0" />
+ <value cell_index="7814" local_entity="0" value="0" />
+ <value cell_index="7815" local_entity="0" value="0" />
+ <value cell_index="7816" local_entity="0" value="0" />
+ <value cell_index="7817" local_entity="0" value="0" />
+ <value cell_index="7818" local_entity="0" value="0" />
+ <value cell_index="7819" local_entity="0" value="0" />
+ <value cell_index="7820" local_entity="0" value="0" />
+ <value cell_index="7821" local_entity="0" value="0" />
+ <value cell_index="7822" local_entity="0" value="0" />
+ <value cell_index="7823" local_entity="0" value="0" />
+ <value cell_index="7824" local_entity="0" value="0" />
+ <value cell_index="7825" local_entity="0" value="0" />
+ <value cell_index="7826" local_entity="0" value="0" />
+ <value cell_index="7827" local_entity="0" value="0" />
+ <value cell_index="7828" local_entity="0" value="0" />
+ <value cell_index="7829" local_entity="0" value="0" />
+ <value cell_index="7830" local_entity="0" value="0" />
+ <value cell_index="7831" local_entity="0" value="0" />
+ <value cell_index="7832" local_entity="0" value="0" />
+ <value cell_index="7833" local_entity="0" value="0" />
+ <value cell_index="7834" local_entity="0" value="0" />
+ <value cell_index="7835" local_entity="0" value="0" />
+ <value cell_index="7836" local_entity="0" value="0" />
+ <value cell_index="7837" local_entity="0" value="0" />
+ <value cell_index="7838" local_entity="0" value="0" />
+ <value cell_index="7839" local_entity="0" value="0" />
+ <value cell_index="7840" local_entity="0" value="0" />
+ <value cell_index="7841" local_entity="0" value="0" />
+ <value cell_index="7842" local_entity="0" value="0" />
+ <value cell_index="7843" local_entity="0" value="0" />
+ <value cell_index="7844" local_entity="0" value="0" />
+ <value cell_index="7845" local_entity="0" value="0" />
+ <value cell_index="7846" local_entity="0" value="0" />
+ <value cell_index="7847" local_entity="0" value="0" />
+ <value cell_index="7848" local_entity="0" value="0" />
+ <value cell_index="7849" local_entity="0" value="0" />
+ <value cell_index="7850" local_entity="0" value="0" />
+ <value cell_index="7851" local_entity="0" value="0" />
+ <value cell_index="7852" local_entity="0" value="0" />
+ <value cell_index="7853" local_entity="0" value="0" />
+ <value cell_index="7854" local_entity="0" value="0" />
+ <value cell_index="7855" local_entity="0" value="0" />
+ <value cell_index="7856" local_entity="0" value="0" />
+ <value cell_index="7857" local_entity="0" value="0" />
+ <value cell_index="7858" local_entity="0" value="0" />
+ <value cell_index="7859" local_entity="0" value="0" />
+ <value cell_index="7860" local_entity="0" value="0" />
+ <value cell_index="7861" local_entity="0" value="0" />
+ <value cell_index="7862" local_entity="0" value="0" />
+ <value cell_index="7863" local_entity="0" value="0" />
+ <value cell_index="7864" local_entity="0" value="0" />
+ <value cell_index="7865" local_entity="0" value="0" />
+ <value cell_index="7866" local_entity="0" value="0" />
+ <value cell_index="7867" local_entity="0" value="0" />
+ <value cell_index="7868" local_entity="0" value="0" />
+ <value cell_index="7869" local_entity="0" value="0" />
+ <value cell_index="7870" local_entity="0" value="0" />
+ <value cell_index="7871" local_entity="0" value="0" />
+ <value cell_index="7872" local_entity="0" value="0" />
+ <value cell_index="7873" local_entity="0" value="0" />
+ <value cell_index="7874" local_entity="0" value="0" />
+ <value cell_index="7875" local_entity="0" value="0" />
+ <value cell_index="7876" local_entity="0" value="0" />
+ <value cell_index="7877" local_entity="0" value="0" />
+ <value cell_index="7878" local_entity="0" value="0" />
+ <value cell_index="7879" local_entity="0" value="0" />
+ <value cell_index="7880" local_entity="0" value="0" />
+ <value cell_index="7881" local_entity="0" value="0" />
+ <value cell_index="7882" local_entity="0" value="0" />
+ <value cell_index="7883" local_entity="0" value="0" />
+ <value cell_index="7884" local_entity="0" value="0" />
+ <value cell_index="7885" local_entity="0" value="0" />
+ <value cell_index="7886" local_entity="0" value="0" />
+ <value cell_index="7887" local_entity="0" value="0" />
+ <value cell_index="7888" local_entity="0" value="0" />
+ <value cell_index="7889" local_entity="0" value="0" />
+ <value cell_index="7890" local_entity="0" value="0" />
+ <value cell_index="7891" local_entity="0" value="0" />
+ <value cell_index="7892" local_entity="0" value="0" />
+ <value cell_index="7893" local_entity="0" value="0" />
+ <value cell_index="7894" local_entity="0" value="0" />
+ <value cell_index="7895" local_entity="0" value="0" />
+ <value cell_index="7896" local_entity="0" value="0" />
+ <value cell_index="7897" local_entity="0" value="0" />
+ <value cell_index="7898" local_entity="0" value="0" />
+ <value cell_index="7899" local_entity="0" value="0" />
+ <value cell_index="7900" local_entity="0" value="0" />
+ <value cell_index="7901" local_entity="0" value="0" />
+ <value cell_index="7902" local_entity="0" value="0" />
+ <value cell_index="7903" local_entity="0" value="0" />
+ <value cell_index="7904" local_entity="0" value="0" />
+ <value cell_index="7905" local_entity="0" value="0" />
+ <value cell_index="7906" local_entity="0" value="0" />
+ <value cell_index="7907" local_entity="0" value="0" />
+ <value cell_index="7908" local_entity="0" value="0" />
+ <value cell_index="7909" local_entity="0" value="0" />
+ <value cell_index="7910" local_entity="0" value="0" />
+ <value cell_index="7911" local_entity="0" value="0" />
+ <value cell_index="7912" local_entity="0" value="0" />
+ <value cell_index="7913" local_entity="0" value="0" />
+ <value cell_index="7914" local_entity="0" value="0" />
+ <value cell_index="7915" local_entity="0" value="0" />
+ <value cell_index="7916" local_entity="0" value="0" />
+ <value cell_index="7917" local_entity="0" value="0" />
+ <value cell_index="7918" local_entity="0" value="0" />
+ <value cell_index="7919" local_entity="0" value="0" />
+ <value cell_index="7920" local_entity="0" value="0" />
+ <value cell_index="7921" local_entity="0" value="0" />
+ <value cell_index="7922" local_entity="0" value="0" />
+ <value cell_index="7923" local_entity="0" value="0" />
+ <value cell_index="7924" local_entity="0" value="0" />
+ <value cell_index="7925" local_entity="0" value="0" />
+ <value cell_index="7926" local_entity="0" value="0" />
+ <value cell_index="7927" local_entity="0" value="0" />
+ <value cell_index="7928" local_entity="0" value="0" />
+ <value cell_index="7929" local_entity="0" value="0" />
+ <value cell_index="7930" local_entity="0" value="0" />
+ <value cell_index="7931" local_entity="0" value="0" />
+ <value cell_index="7932" local_entity="0" value="0" />
+ <value cell_index="7933" local_entity="0" value="0" />
+ <value cell_index="7934" local_entity="0" value="0" />
+ <value cell_index="7935" local_entity="0" value="0" />
+ <value cell_index="7936" local_entity="0" value="0" />
+ <value cell_index="7937" local_entity="0" value="0" />
+ <value cell_index="7938" local_entity="0" value="0" />
+ <value cell_index="7939" local_entity="0" value="0" />
+ <value cell_index="7940" local_entity="0" value="0" />
+ <value cell_index="7941" local_entity="0" value="0" />
+ <value cell_index="7942" local_entity="0" value="0" />
+ <value cell_index="7943" local_entity="0" value="0" />
+ <value cell_index="7944" local_entity="0" value="0" />
+ <value cell_index="7945" local_entity="0" value="0" />
+ <value cell_index="7946" local_entity="0" value="0" />
+ <value cell_index="7947" local_entity="0" value="0" />
+ <value cell_index="7948" local_entity="0" value="0" />
+ <value cell_index="7949" local_entity="0" value="0" />
+ <value cell_index="7950" local_entity="0" value="0" />
+ <value cell_index="7951" local_entity="0" value="0" />
+ <value cell_index="7952" local_entity="0" value="0" />
+ <value cell_index="7953" local_entity="0" value="0" />
+ <value cell_index="7954" local_entity="0" value="0" />
+ <value cell_index="7955" local_entity="0" value="0" />
+ <value cell_index="7956" local_entity="0" value="0" />
+ <value cell_index="7957" local_entity="0" value="0" />
+ <value cell_index="7958" local_entity="0" value="0" />
+ <value cell_index="7959" local_entity="0" value="0" />
+ <value cell_index="7960" local_entity="0" value="0" />
+ <value cell_index="7961" local_entity="0" value="0" />
+ <value cell_index="7962" local_entity="0" value="0" />
+ <value cell_index="7963" local_entity="0" value="0" />
+ <value cell_index="7964" local_entity="0" value="0" />
+ <value cell_index="7965" local_entity="0" value="0" />
+ <value cell_index="7966" local_entity="0" value="0" />
+ <value cell_index="7967" local_entity="0" value="0" />
+ <value cell_index="7968" local_entity="0" value="0" />
+ <value cell_index="7969" local_entity="0" value="0" />
+ <value cell_index="7970" local_entity="0" value="0" />
+ <value cell_index="7971" local_entity="0" value="0" />
+ <value cell_index="7972" local_entity="0" value="0" />
+ <value cell_index="7973" local_entity="0" value="0" />
+ <value cell_index="7974" local_entity="0" value="0" />
+ <value cell_index="7975" local_entity="0" value="0" />
+ <value cell_index="7976" local_entity="0" value="0" />
+ <value cell_index="7977" local_entity="0" value="0" />
+ <value cell_index="7978" local_entity="0" value="0" />
+ <value cell_index="7979" local_entity="0" value="0" />
+ <value cell_index="7980" local_entity="0" value="0" />
+ <value cell_index="7981" local_entity="0" value="0" />
+ <value cell_index="7982" local_entity="0" value="0" />
+ <value cell_index="7983" local_entity="0" value="0" />
+ <value cell_index="7984" local_entity="0" value="0" />
+ <value cell_index="7985" local_entity="0" value="0" />
+ <value cell_index="7986" local_entity="0" value="0" />
+ <value cell_index="7987" local_entity="0" value="0" />
+ <value cell_index="7988" local_entity="0" value="0" />
+ <value cell_index="7989" local_entity="0" value="0" />
+ <value cell_index="7990" local_entity="0" value="0" />
+ <value cell_index="7991" local_entity="0" value="0" />
+ <value cell_index="7992" local_entity="0" value="0" />
+ <value cell_index="7993" local_entity="0" value="0" />
+ <value cell_index="7994" local_entity="0" value="0" />
+ <value cell_index="7995" local_entity="0" value="0" />
+ <value cell_index="7996" local_entity="0" value="0" />
+ <value cell_index="7997" local_entity="0" value="0" />
+ <value cell_index="7998" local_entity="0" value="0" />
+ <value cell_index="7999" local_entity="0" value="0" />
+ <value cell_index="8000" local_entity="0" value="0" />
+ <value cell_index="8001" local_entity="0" value="0" />
+ <value cell_index="8002" local_entity="0" value="0" />
+ <value cell_index="8003" local_entity="0" value="0" />
+ <value cell_index="8004" local_entity="0" value="0" />
+ <value cell_index="8005" local_entity="0" value="0" />
+ <value cell_index="8006" local_entity="0" value="0" />
+ <value cell_index="8007" local_entity="0" value="0" />
+ <value cell_index="8008" local_entity="0" value="0" />
+ <value cell_index="8009" local_entity="0" value="0" />
+ <value cell_index="8010" local_entity="0" value="0" />
+ <value cell_index="8011" local_entity="0" value="0" />
+ <value cell_index="8012" local_entity="0" value="0" />
+ <value cell_index="8013" local_entity="0" value="0" />
+ <value cell_index="8014" local_entity="0" value="0" />
+ <value cell_index="8015" local_entity="0" value="0" />
+ <value cell_index="8016" local_entity="0" value="0" />
+ <value cell_index="8017" local_entity="0" value="0" />
+ <value cell_index="8018" local_entity="0" value="0" />
+ <value cell_index="8019" local_entity="0" value="0" />
+ <value cell_index="8020" local_entity="0" value="0" />
+ <value cell_index="8021" local_entity="0" value="0" />
+ <value cell_index="8022" local_entity="0" value="0" />
+ <value cell_index="8023" local_entity="0" value="0" />
+ <value cell_index="8024" local_entity="0" value="0" />
+ <value cell_index="8025" local_entity="0" value="0" />
+ <value cell_index="8026" local_entity="0" value="0" />
+ <value cell_index="8027" local_entity="0" value="0" />
+ <value cell_index="8028" local_entity="0" value="0" />
+ <value cell_index="8029" local_entity="0" value="0" />
+ <value cell_index="8030" local_entity="0" value="0" />
+ <value cell_index="8031" local_entity="0" value="0" />
+ <value cell_index="8032" local_entity="0" value="0" />
+ <value cell_index="8033" local_entity="0" value="0" />
+ <value cell_index="8034" local_entity="0" value="0" />
+ <value cell_index="8035" local_entity="0" value="0" />
+ <value cell_index="8036" local_entity="0" value="0" />
+ <value cell_index="8037" local_entity="0" value="0" />
+ <value cell_index="8038" local_entity="0" value="0" />
+ <value cell_index="8039" local_entity="0" value="0" />
+ <value cell_index="8040" local_entity="0" value="0" />
+ <value cell_index="8041" local_entity="0" value="0" />
+ <value cell_index="8042" local_entity="0" value="0" />
+ <value cell_index="8043" local_entity="0" value="0" />
+ <value cell_index="8044" local_entity="0" value="0" />
+ <value cell_index="8045" local_entity="0" value="0" />
+ <value cell_index="8046" local_entity="0" value="0" />
+ <value cell_index="8047" local_entity="0" value="0" />
+ <value cell_index="8048" local_entity="0" value="0" />
+ <value cell_index="8049" local_entity="0" value="0" />
+ <value cell_index="8050" local_entity="0" value="0" />
+ <value cell_index="8051" local_entity="0" value="0" />
+ <value cell_index="8052" local_entity="0" value="0" />
+ <value cell_index="8053" local_entity="0" value="0" />
+ <value cell_index="8054" local_entity="0" value="0" />
+ <value cell_index="8055" local_entity="0" value="0" />
+ <value cell_index="8056" local_entity="0" value="0" />
+ <value cell_index="8057" local_entity="0" value="0" />
+ <value cell_index="8058" local_entity="0" value="0" />
+ <value cell_index="8059" local_entity="0" value="0" />
+ <value cell_index="8060" local_entity="0" value="0" />
+ <value cell_index="8061" local_entity="0" value="0" />
+ <value cell_index="8062" local_entity="0" value="0" />
+ <value cell_index="8063" local_entity="0" value="0" />
+ <value cell_index="8064" local_entity="0" value="0" />
+ <value cell_index="8065" local_entity="0" value="0" />
+ <value cell_index="8066" local_entity="0" value="0" />
+ <value cell_index="8067" local_entity="0" value="0" />
+ <value cell_index="8068" local_entity="0" value="0" />
+ <value cell_index="8069" local_entity="0" value="0" />
+ <value cell_index="8070" local_entity="0" value="0" />
+ <value cell_index="8071" local_entity="0" value="0" />
+ <value cell_index="8072" local_entity="0" value="0" />
+ <value cell_index="8073" local_entity="0" value="0" />
+ <value cell_index="8074" local_entity="0" value="0" />
+ <value cell_index="8075" local_entity="0" value="0" />
+ <value cell_index="8076" local_entity="0" value="0" />
+ <value cell_index="8077" local_entity="0" value="0" />
+ <value cell_index="8078" local_entity="0" value="0" />
+ <value cell_index="8079" local_entity="0" value="0" />
+ <value cell_index="8080" local_entity="0" value="0" />
+ <value cell_index="8081" local_entity="0" value="0" />
+ <value cell_index="8082" local_entity="0" value="0" />
+ <value cell_index="8083" local_entity="0" value="0" />
+ <value cell_index="8084" local_entity="0" value="0" />
+ <value cell_index="8085" local_entity="0" value="0" />
+ <value cell_index="8086" local_entity="0" value="0" />
+ <value cell_index="8087" local_entity="0" value="0" />
+ <value cell_index="8088" local_entity="0" value="0" />
+ <value cell_index="8089" local_entity="0" value="0" />
+ <value cell_index="8090" local_entity="0" value="0" />
+ <value cell_index="8091" local_entity="0" value="0" />
+ <value cell_index="8092" local_entity="0" value="0" />
+ <value cell_index="8093" local_entity="0" value="0" />
+ <value cell_index="8094" local_entity="0" value="0" />
+ <value cell_index="8095" local_entity="0" value="0" />
+ <value cell_index="8096" local_entity="0" value="0" />
+ <value cell_index="8097" local_entity="0" value="0" />
+ <value cell_index="8098" local_entity="0" value="0" />
+ <value cell_index="8099" local_entity="0" value="0" />
+ <value cell_index="8100" local_entity="0" value="0" />
+ <value cell_index="8101" local_entity="0" value="0" />
+ <value cell_index="8102" local_entity="0" value="0" />
+ <value cell_index="8103" local_entity="0" value="0" />
+ <value cell_index="8104" local_entity="0" value="0" />
+ <value cell_index="8105" local_entity="0" value="0" />
+ <value cell_index="8106" local_entity="0" value="0" />
+ <value cell_index="8107" local_entity="0" value="0" />
+ <value cell_index="8108" local_entity="0" value="0" />
+ <value cell_index="8109" local_entity="0" value="0" />
+ <value cell_index="8110" local_entity="0" value="0" />
+ <value cell_index="8111" local_entity="0" value="0" />
+ <value cell_index="8112" local_entity="0" value="0" />
+ <value cell_index="8113" local_entity="0" value="0" />
+ <value cell_index="8114" local_entity="0" value="0" />
+ <value cell_index="8115" local_entity="0" value="0" />
+ <value cell_index="8116" local_entity="0" value="0" />
+ <value cell_index="8117" local_entity="0" value="0" />
+ <value cell_index="8118" local_entity="0" value="0" />
+ <value cell_index="8119" local_entity="0" value="0" />
+ <value cell_index="8120" local_entity="0" value="0" />
+ <value cell_index="8121" local_entity="0" value="0" />
+ <value cell_index="8122" local_entity="0" value="0" />
+ <value cell_index="8123" local_entity="0" value="0" />
+ <value cell_index="8124" local_entity="0" value="0" />
+ <value cell_index="8125" local_entity="0" value="0" />
+ <value cell_index="8126" local_entity="0" value="0" />
+ <value cell_index="8127" local_entity="0" value="0" />
+ <value cell_index="8128" local_entity="0" value="0" />
+ <value cell_index="8129" local_entity="0" value="0" />
+ <value cell_index="8130" local_entity="0" value="0" />
+ <value cell_index="8131" local_entity="0" value="0" />
+ <value cell_index="8132" local_entity="0" value="0" />
+ <value cell_index="8133" local_entity="0" value="0" />
+ <value cell_index="8134" local_entity="0" value="0" />
+ <value cell_index="8135" local_entity="0" value="0" />
+ <value cell_index="8136" local_entity="0" value="0" />
+ <value cell_index="8137" local_entity="0" value="0" />
+ <value cell_index="8138" local_entity="0" value="0" />
+ <value cell_index="8139" local_entity="0" value="0" />
+ <value cell_index="8140" local_entity="0" value="0" />
+ <value cell_index="8141" local_entity="0" value="0" />
+ <value cell_index="8142" local_entity="0" value="0" />
+ <value cell_index="8143" local_entity="0" value="0" />
+ <value cell_index="8144" local_entity="0" value="0" />
+ <value cell_index="8145" local_entity="0" value="0" />
+ <value cell_index="8146" local_entity="0" value="0" />
+ <value cell_index="8147" local_entity="0" value="0" />
+ <value cell_index="8148" local_entity="0" value="0" />
+ <value cell_index="8149" local_entity="0" value="0" />
+ <value cell_index="8150" local_entity="0" value="0" />
+ <value cell_index="8151" local_entity="0" value="0" />
+ <value cell_index="8152" local_entity="0" value="0" />
+ <value cell_index="8153" local_entity="0" value="0" />
+ <value cell_index="8154" local_entity="0" value="0" />
+ <value cell_index="8155" local_entity="0" value="0" />
+ <value cell_index="8156" local_entity="0" value="0" />
+ <value cell_index="8157" local_entity="0" value="0" />
+ <value cell_index="8158" local_entity="0" value="0" />
+ <value cell_index="8159" local_entity="0" value="0" />
+ <value cell_index="8160" local_entity="0" value="0" />
+ <value cell_index="8161" local_entity="0" value="0" />
+ <value cell_index="8162" local_entity="0" value="0" />
+ <value cell_index="8163" local_entity="0" value="0" />
+ <value cell_index="8164" local_entity="0" value="0" />
+ <value cell_index="8165" local_entity="0" value="0" />
+ <value cell_index="8166" local_entity="0" value="0" />
+ <value cell_index="8167" local_entity="0" value="0" />
+ <value cell_index="8168" local_entity="0" value="0" />
+ <value cell_index="8169" local_entity="0" value="0" />
+ <value cell_index="8170" local_entity="0" value="0" />
+ <value cell_index="8171" local_entity="0" value="0" />
+ <value cell_index="8172" local_entity="0" value="0" />
+ <value cell_index="8173" local_entity="0" value="0" />
+ <value cell_index="8174" local_entity="0" value="0" />
+ <value cell_index="8175" local_entity="0" value="0" />
+ <value cell_index="8176" local_entity="0" value="0" />
+ <value cell_index="8177" local_entity="0" value="0" />
+ <value cell_index="8178" local_entity="0" value="0" />
+ <value cell_index="8179" local_entity="0" value="0" />
+ <value cell_index="8180" local_entity="0" value="0" />
+ <value cell_index="8181" local_entity="0" value="0" />
+ <value cell_index="8182" local_entity="0" value="0" />
+ <value cell_index="8183" local_entity="0" value="0" />
+ <value cell_index="8184" local_entity="0" value="0" />
+ <value cell_index="8185" local_entity="0" value="0" />
+ <value cell_index="8186" local_entity="0" value="0" />
+ <value cell_index="8187" local_entity="0" value="0" />
+ <value cell_index="8188" local_entity="0" value="0" />
+ <value cell_index="8189" local_entity="0" value="0" />
+ <value cell_index="8190" local_entity="0" value="0" />
+ <value cell_index="8191" local_entity="0" value="0" />
+ <value cell_index="8192" local_entity="0" value="0" />
+ <value cell_index="8193" local_entity="0" value="0" />
+ <value cell_index="8194" local_entity="0" value="0" />
+ <value cell_index="8195" local_entity="0" value="0" />
+ <value cell_index="8196" local_entity="0" value="0" />
+ <value cell_index="8197" local_entity="0" value="0" />
+ <value cell_index="8198" local_entity="0" value="0" />
+ <value cell_index="8199" local_entity="0" value="0" />
+ <value cell_index="8200" local_entity="0" value="0" />
+ <value cell_index="8201" local_entity="0" value="0" />
+ <value cell_index="8202" local_entity="0" value="0" />
+ <value cell_index="8203" local_entity="0" value="0" />
+ <value cell_index="8204" local_entity="0" value="0" />
+ <value cell_index="8205" local_entity="0" value="0" />
+ <value cell_index="8206" local_entity="0" value="0" />
+ <value cell_index="8207" local_entity="0" value="0" />
+ <value cell_index="8208" local_entity="0" value="0" />
+ <value cell_index="8209" local_entity="0" value="0" />
+ <value cell_index="8210" local_entity="0" value="0" />
+ <value cell_index="8211" local_entity="0" value="0" />
+ <value cell_index="8212" local_entity="0" value="0" />
+ <value cell_index="8213" local_entity="0" value="0" />
+ <value cell_index="8214" local_entity="0" value="0" />
+ <value cell_index="8215" local_entity="0" value="0" />
+ <value cell_index="8216" local_entity="0" value="0" />
+ <value cell_index="8217" local_entity="0" value="0" />
+ <value cell_index="8218" local_entity="0" value="0" />
+ <value cell_index="8219" local_entity="0" value="0" />
+ <value cell_index="8220" local_entity="0" value="0" />
+ <value cell_index="8221" local_entity="0" value="0" />
+ <value cell_index="8222" local_entity="0" value="0" />
+ <value cell_index="8223" local_entity="0" value="0" />
+ <value cell_index="8224" local_entity="0" value="0" />
+ <value cell_index="8225" local_entity="0" value="0" />
+ <value cell_index="8226" local_entity="0" value="0" />
+ <value cell_index="8227" local_entity="0" value="0" />
+ <value cell_index="8228" local_entity="0" value="0" />
+ <value cell_index="8229" local_entity="0" value="0" />
+ <value cell_index="8230" local_entity="0" value="0" />
+ <value cell_index="8231" local_entity="0" value="0" />
+ <value cell_index="8232" local_entity="0" value="0" />
+ <value cell_index="8233" local_entity="0" value="0" />
+ <value cell_index="8234" local_entity="0" value="0" />
+ <value cell_index="8235" local_entity="0" value="0" />
+ <value cell_index="8236" local_entity="0" value="0" />
+ <value cell_index="8237" local_entity="0" value="0" />
+ <value cell_index="8238" local_entity="0" value="0" />
+ <value cell_index="8239" local_entity="0" value="0" />
+ <value cell_index="8240" local_entity="0" value="0" />
+ <value cell_index="8241" local_entity="0" value="0" />
+ <value cell_index="8242" local_entity="0" value="0" />
+ <value cell_index="8243" local_entity="0" value="0" />
+ <value cell_index="8244" local_entity="0" value="0" />
+ <value cell_index="8245" local_entity="0" value="0" />
+ <value cell_index="8246" local_entity="0" value="0" />
+ <value cell_index="8247" local_entity="0" value="0" />
+ <value cell_index="8248" local_entity="0" value="0" />
+ <value cell_index="8249" local_entity="0" value="0" />
+ <value cell_index="8250" local_entity="0" value="0" />
+ <value cell_index="8251" local_entity="0" value="0" />
+ <value cell_index="8252" local_entity="0" value="0" />
+ <value cell_index="8253" local_entity="0" value="0" />
+ <value cell_index="8254" local_entity="0" value="0" />
+ <value cell_index="8255" local_entity="0" value="0" />
+ <value cell_index="8256" local_entity="0" value="0" />
+ <value cell_index="8257" local_entity="0" value="0" />
+ <value cell_index="8258" local_entity="0" value="0" />
+ <value cell_index="8259" local_entity="0" value="0" />
+ <value cell_index="8260" local_entity="0" value="0" />
+ <value cell_index="8261" local_entity="0" value="0" />
+ <value cell_index="8262" local_entity="0" value="0" />
+ <value cell_index="8263" local_entity="0" value="0" />
+ <value cell_index="8264" local_entity="0" value="0" />
+ <value cell_index="8265" local_entity="0" value="0" />
+ <value cell_index="8266" local_entity="0" value="0" />
+ <value cell_index="8267" local_entity="0" value="0" />
+ <value cell_index="8268" local_entity="0" value="0" />
+ <value cell_index="8269" local_entity="0" value="0" />
+ <value cell_index="8270" local_entity="0" value="0" />
+ <value cell_index="8271" local_entity="0" value="0" />
+ <value cell_index="8272" local_entity="0" value="0" />
+ <value cell_index="8273" local_entity="0" value="0" />
+ <value cell_index="8274" local_entity="0" value="0" />
+ <value cell_index="8275" local_entity="0" value="0" />
+ <value cell_index="8276" local_entity="0" value="0" />
+ <value cell_index="8277" local_entity="0" value="0" />
+ <value cell_index="8278" local_entity="0" value="0" />
+ <value cell_index="8279" local_entity="0" value="0" />
+ <value cell_index="8280" local_entity="0" value="0" />
+ <value cell_index="8281" local_entity="0" value="0" />
+ <value cell_index="8282" local_entity="0" value="0" />
+ <value cell_index="8283" local_entity="0" value="0" />
+ <value cell_index="8284" local_entity="0" value="0" />
+ <value cell_index="8285" local_entity="0" value="0" />
+ <value cell_index="8286" local_entity="0" value="0" />
+ <value cell_index="8287" local_entity="0" value="0" />
+ <value cell_index="8288" local_entity="0" value="0" />
+ <value cell_index="8289" local_entity="0" value="0" />
+ <value cell_index="8290" local_entity="0" value="0" />
+ <value cell_index="8291" local_entity="0" value="0" />
+ <value cell_index="8292" local_entity="0" value="0" />
+ <value cell_index="8293" local_entity="0" value="0" />
+ <value cell_index="8294" local_entity="0" value="0" />
+ <value cell_index="8295" local_entity="0" value="0" />
+ <value cell_index="8296" local_entity="0" value="0" />
+ <value cell_index="8297" local_entity="0" value="0" />
+ <value cell_index="8298" local_entity="0" value="0" />
+ <value cell_index="8299" local_entity="0" value="0" />
+ <value cell_index="8300" local_entity="0" value="0" />
+ <value cell_index="8301" local_entity="0" value="0" />
+ <value cell_index="8302" local_entity="0" value="0" />
+ <value cell_index="8303" local_entity="0" value="0" />
+ <value cell_index="8304" local_entity="0" value="0" />
+ <value cell_index="8305" local_entity="0" value="0" />
+ <value cell_index="8306" local_entity="0" value="0" />
+ <value cell_index="8307" local_entity="0" value="0" />
+ <value cell_index="8308" local_entity="0" value="0" />
+ <value cell_index="8309" local_entity="0" value="0" />
+ <value cell_index="8310" local_entity="0" value="0" />
+ <value cell_index="8311" local_entity="0" value="0" />
+ <value cell_index="8312" local_entity="0" value="0" />
+ <value cell_index="8313" local_entity="0" value="0" />
+ <value cell_index="8314" local_entity="0" value="0" />
+ <value cell_index="8315" local_entity="0" value="0" />
+ <value cell_index="8316" local_entity="0" value="0" />
+ <value cell_index="8317" local_entity="0" value="0" />
+ <value cell_index="8318" local_entity="0" value="0" />
+ <value cell_index="8319" local_entity="0" value="0" />
+ <value cell_index="8320" local_entity="0" value="0" />
+ <value cell_index="8321" local_entity="0" value="0" />
+ <value cell_index="8322" local_entity="0" value="0" />
+ <value cell_index="8323" local_entity="0" value="0" />
+ <value cell_index="8324" local_entity="0" value="0" />
+ <value cell_index="8325" local_entity="0" value="0" />
+ <value cell_index="8326" local_entity="0" value="0" />
+ <value cell_index="8327" local_entity="0" value="0" />
+ <value cell_index="8328" local_entity="0" value="0" />
+ <value cell_index="8329" local_entity="0" value="0" />
+ <value cell_index="8330" local_entity="0" value="0" />
+ <value cell_index="8331" local_entity="0" value="0" />
+ <value cell_index="8332" local_entity="0" value="0" />
+ <value cell_index="8333" local_entity="0" value="0" />
+ <value cell_index="8334" local_entity="0" value="0" />
+ <value cell_index="8335" local_entity="0" value="0" />
+ <value cell_index="8336" local_entity="0" value="0" />
+ <value cell_index="8337" local_entity="0" value="0" />
+ <value cell_index="8338" local_entity="0" value="0" />
+ <value cell_index="8339" local_entity="0" value="0" />
+ <value cell_index="8340" local_entity="0" value="0" />
+ <value cell_index="8341" local_entity="0" value="0" />
+ <value cell_index="8342" local_entity="0" value="0" />
+ <value cell_index="8343" local_entity="0" value="0" />
+ <value cell_index="8344" local_entity="0" value="0" />
+ <value cell_index="8345" local_entity="0" value="0" />
+ <value cell_index="8346" local_entity="0" value="0" />
+ <value cell_index="8347" local_entity="0" value="0" />
+ <value cell_index="8348" local_entity="0" value="0" />
+ <value cell_index="8349" local_entity="0" value="0" />
+ <value cell_index="8350" local_entity="0" value="0" />
+ <value cell_index="8351" local_entity="0" value="0" />
+ <value cell_index="8352" local_entity="0" value="0" />
+ <value cell_index="8353" local_entity="0" value="0" />
+ <value cell_index="8354" local_entity="0" value="0" />
+ <value cell_index="8355" local_entity="0" value="0" />
+ <value cell_index="8356" local_entity="0" value="0" />
+ <value cell_index="8357" local_entity="0" value="0" />
+ <value cell_index="8358" local_entity="0" value="0" />
+ <value cell_index="8359" local_entity="0" value="0" />
+ <value cell_index="8360" local_entity="0" value="0" />
+ <value cell_index="8361" local_entity="0" value="0" />
+ <value cell_index="8362" local_entity="0" value="0" />
+ <value cell_index="8363" local_entity="0" value="0" />
+ <value cell_index="8364" local_entity="0" value="0" />
+ <value cell_index="8365" local_entity="0" value="0" />
+ <value cell_index="8366" local_entity="0" value="0" />
+ <value cell_index="8367" local_entity="0" value="0" />
+ <value cell_index="8368" local_entity="0" value="0" />
+ <value cell_index="8369" local_entity="0" value="0" />
+ <value cell_index="8370" local_entity="0" value="0" />
+ <value cell_index="8371" local_entity="0" value="0" />
+ <value cell_index="8372" local_entity="0" value="0" />
+ <value cell_index="8373" local_entity="0" value="0" />
+ <value cell_index="8374" local_entity="0" value="0" />
+ <value cell_index="8375" local_entity="0" value="0" />
+ <value cell_index="8376" local_entity="0" value="0" />
+ <value cell_index="8377" local_entity="0" value="0" />
+ <value cell_index="8378" local_entity="0" value="0" />
+ <value cell_index="8379" local_entity="0" value="0" />
+ <value cell_index="8380" local_entity="0" value="0" />
+ <value cell_index="8381" local_entity="0" value="0" />
+ <value cell_index="8382" local_entity="0" value="0" />
+ <value cell_index="8383" local_entity="0" value="0" />
+ <value cell_index="8384" local_entity="0" value="0" />
+ <value cell_index="8385" local_entity="0" value="0" />
+ <value cell_index="8386" local_entity="0" value="0" />
+ <value cell_index="8387" local_entity="0" value="0" />
+ <value cell_index="8388" local_entity="0" value="0" />
+ <value cell_index="8389" local_entity="0" value="0" />
+ <value cell_index="8390" local_entity="0" value="0" />
+ <value cell_index="8391" local_entity="0" value="0" />
+ <value cell_index="8392" local_entity="0" value="0" />
+ <value cell_index="8393" local_entity="0" value="0" />
+ <value cell_index="8394" local_entity="0" value="0" />
+ <value cell_index="8395" local_entity="0" value="0" />
+ <value cell_index="8396" local_entity="0" value="0" />
+ <value cell_index="8397" local_entity="0" value="0" />
+ <value cell_index="8398" local_entity="0" value="0" />
+ <value cell_index="8399" local_entity="0" value="0" />
+ <value cell_index="8400" local_entity="0" value="0" />
+ <value cell_index="8401" local_entity="0" value="0" />
+ <value cell_index="8402" local_entity="0" value="0" />
+ <value cell_index="8403" local_entity="0" value="0" />
+ <value cell_index="8404" local_entity="0" value="0" />
+ <value cell_index="8405" local_entity="0" value="0" />
+ <value cell_index="8406" local_entity="0" value="0" />
+ <value cell_index="8407" local_entity="0" value="0" />
+ <value cell_index="8408" local_entity="0" value="0" />
+ <value cell_index="8409" local_entity="0" value="0" />
+ <value cell_index="8410" local_entity="0" value="0" />
+ <value cell_index="8411" local_entity="0" value="0" />
+ <value cell_index="8412" local_entity="0" value="0" />
+ <value cell_index="8413" local_entity="0" value="0" />
+ <value cell_index="8414" local_entity="0" value="0" />
+ <value cell_index="8415" local_entity="0" value="0" />
+ <value cell_index="8416" local_entity="0" value="0" />
+ <value cell_index="8417" local_entity="0" value="0" />
+ <value cell_index="8418" local_entity="0" value="0" />
+ <value cell_index="8419" local_entity="0" value="0" />
+ <value cell_index="8420" local_entity="0" value="0" />
+ <value cell_index="8421" local_entity="0" value="0" />
+ <value cell_index="8422" local_entity="0" value="0" />
+ <value cell_index="8423" local_entity="0" value="0" />
+ <value cell_index="8424" local_entity="0" value="0" />
+ <value cell_index="8425" local_entity="0" value="0" />
+ <value cell_index="8426" local_entity="0" value="0" />
+ <value cell_index="8427" local_entity="0" value="0" />
+ <value cell_index="8428" local_entity="0" value="0" />
+ <value cell_index="8429" local_entity="0" value="0" />
+ <value cell_index="8430" local_entity="0" value="0" />
+ <value cell_index="8431" local_entity="0" value="0" />
+ <value cell_index="8432" local_entity="0" value="0" />
+ <value cell_index="8433" local_entity="0" value="0" />
+ <value cell_index="8434" local_entity="0" value="0" />
+ <value cell_index="8435" local_entity="0" value="0" />
+ <value cell_index="8436" local_entity="0" value="0" />
+ <value cell_index="8437" local_entity="0" value="0" />
+ <value cell_index="8438" local_entity="0" value="0" />
+ <value cell_index="8439" local_entity="0" value="0" />
+ <value cell_index="8440" local_entity="0" value="0" />
+ <value cell_index="8441" local_entity="0" value="0" />
+ <value cell_index="8442" local_entity="0" value="0" />
+ <value cell_index="8443" local_entity="0" value="0" />
+ <value cell_index="8444" local_entity="0" value="0" />
+ <value cell_index="8445" local_entity="0" value="0" />
+ <value cell_index="8446" local_entity="0" value="0" />
+ <value cell_index="8447" local_entity="0" value="0" />
+ <value cell_index="8448" local_entity="0" value="0" />
+ <value cell_index="8449" local_entity="0" value="0" />
+ <value cell_index="8450" local_entity="0" value="0" />
+ <value cell_index="8451" local_entity="0" value="0" />
+ <value cell_index="8452" local_entity="0" value="0" />
+ <value cell_index="8453" local_entity="0" value="0" />
+ <value cell_index="8454" local_entity="0" value="0" />
+ <value cell_index="8455" local_entity="0" value="0" />
+ <value cell_index="8456" local_entity="0" value="0" />
+ <value cell_index="8457" local_entity="0" value="0" />
+ <value cell_index="8458" local_entity="0" value="0" />
+ <value cell_index="8459" local_entity="0" value="0" />
+ <value cell_index="8460" local_entity="0" value="0" />
+ <value cell_index="8461" local_entity="0" value="0" />
+ <value cell_index="8462" local_entity="0" value="0" />
+ <value cell_index="8463" local_entity="0" value="0" />
+ <value cell_index="8464" local_entity="0" value="0" />
+ <value cell_index="8465" local_entity="0" value="0" />
+ <value cell_index="8466" local_entity="0" value="0" />
+ <value cell_index="8467" local_entity="0" value="0" />
+ <value cell_index="8468" local_entity="0" value="0" />
+ <value cell_index="8469" local_entity="0" value="0" />
+ <value cell_index="8470" local_entity="0" value="0" />
+ <value cell_index="8471" local_entity="0" value="0" />
+ <value cell_index="8472" local_entity="0" value="0" />
+ <value cell_index="8473" local_entity="0" value="0" />
+ <value cell_index="8474" local_entity="0" value="0" />
+ <value cell_index="8475" local_entity="0" value="0" />
+ <value cell_index="8476" local_entity="0" value="0" />
+ <value cell_index="8477" local_entity="0" value="0" />
+ <value cell_index="8478" local_entity="0" value="0" />
+ <value cell_index="8479" local_entity="0" value="0" />
+ <value cell_index="8480" local_entity="0" value="0" />
+ <value cell_index="8481" local_entity="0" value="0" />
+ <value cell_index="8482" local_entity="0" value="0" />
+ <value cell_index="8483" local_entity="0" value="0" />
+ <value cell_index="8484" local_entity="0" value="0" />
+ <value cell_index="8485" local_entity="0" value="0" />
+ <value cell_index="8486" local_entity="0" value="0" />
+ <value cell_index="8487" local_entity="0" value="0" />
+ <value cell_index="8488" local_entity="0" value="0" />
+ <value cell_index="8489" local_entity="0" value="0" />
+ <value cell_index="8490" local_entity="0" value="0" />
+ <value cell_index="8491" local_entity="0" value="0" />
+ <value cell_index="8492" local_entity="0" value="0" />
+ <value cell_index="8493" local_entity="0" value="0" />
+ <value cell_index="8494" local_entity="0" value="0" />
+ <value cell_index="8495" local_entity="0" value="0" />
+ <value cell_index="8496" local_entity="0" value="0" />
+ <value cell_index="8497" local_entity="0" value="0" />
+ <value cell_index="8498" local_entity="0" value="0" />
+ <value cell_index="8499" local_entity="0" value="0" />
+ <value cell_index="8500" local_entity="0" value="0" />
+ <value cell_index="8501" local_entity="0" value="0" />
+ <value cell_index="8502" local_entity="0" value="0" />
+ <value cell_index="8503" local_entity="0" value="0" />
+ <value cell_index="8504" local_entity="0" value="0" />
+ <value cell_index="8505" local_entity="0" value="0" />
+ <value cell_index="8506" local_entity="0" value="0" />
+ <value cell_index="8507" local_entity="0" value="0" />
+ <value cell_index="8508" local_entity="0" value="0" />
+ <value cell_index="8509" local_entity="0" value="0" />
+ <value cell_index="8510" local_entity="0" value="0" />
+ <value cell_index="8511" local_entity="0" value="0" />
+ <value cell_index="8512" local_entity="0" value="0" />
+ <value cell_index="8513" local_entity="0" value="0" />
+ <value cell_index="8514" local_entity="0" value="0" />
+ <value cell_index="8515" local_entity="0" value="0" />
+ <value cell_index="8516" local_entity="0" value="0" />
+ <value cell_index="8517" local_entity="0" value="0" />
+ <value cell_index="8518" local_entity="0" value="0" />
+ <value cell_index="8519" local_entity="0" value="0" />
+ <value cell_index="8520" local_entity="0" value="0" />
+ <value cell_index="8521" local_entity="0" value="0" />
+ <value cell_index="8522" local_entity="0" value="0" />
+ <value cell_index="8523" local_entity="0" value="0" />
+ <value cell_index="8524" local_entity="0" value="0" />
+ <value cell_index="8525" local_entity="0" value="0" />
+ <value cell_index="8526" local_entity="0" value="0" />
+ <value cell_index="8527" local_entity="0" value="0" />
+ <value cell_index="8528" local_entity="0" value="0" />
+ <value cell_index="8529" local_entity="0" value="0" />
+ <value cell_index="8530" local_entity="0" value="0" />
+ <value cell_index="8531" local_entity="0" value="0" />
+ <value cell_index="8532" local_entity="0" value="0" />
+ <value cell_index="8533" local_entity="0" value="0" />
+ <value cell_index="8534" local_entity="0" value="0" />
+ <value cell_index="8535" local_entity="0" value="0" />
+ <value cell_index="8536" local_entity="0" value="0" />
+ <value cell_index="8537" local_entity="0" value="0" />
+ <value cell_index="8538" local_entity="0" value="0" />
+ <value cell_index="8539" local_entity="0" value="0" />
+ <value cell_index="8540" local_entity="0" value="0" />
+ <value cell_index="8541" local_entity="0" value="0" />
+ <value cell_index="8542" local_entity="0" value="0" />
+ <value cell_index="8543" local_entity="0" value="0" />
+ <value cell_index="8544" local_entity="0" value="0" />
+ <value cell_index="8545" local_entity="0" value="0" />
+ <value cell_index="8546" local_entity="0" value="0" />
+ <value cell_index="8547" local_entity="0" value="0" />
+ <value cell_index="8548" local_entity="0" value="0" />
+ <value cell_index="8549" local_entity="0" value="0" />
+ <value cell_index="8550" local_entity="0" value="0" />
+ <value cell_index="8551" local_entity="0" value="0" />
+ <value cell_index="8552" local_entity="0" value="0" />
+ <value cell_index="8553" local_entity="0" value="0" />
+ <value cell_index="8554" local_entity="0" value="0" />
+ <value cell_index="8555" local_entity="0" value="0" />
+ <value cell_index="8556" local_entity="0" value="0" />
+ <value cell_index="8557" local_entity="0" value="0" />
+ <value cell_index="8558" local_entity="0" value="0" />
+ <value cell_index="8559" local_entity="0" value="0" />
+ <value cell_index="8560" local_entity="0" value="0" />
+ <value cell_index="8561" local_entity="0" value="0" />
+ <value cell_index="8562" local_entity="0" value="0" />
+ <value cell_index="8563" local_entity="0" value="0" />
+ <value cell_index="8564" local_entity="0" value="0" />
+ <value cell_index="8565" local_entity="0" value="0" />
+ <value cell_index="8566" local_entity="0" value="0" />
+ <value cell_index="8567" local_entity="0" value="0" />
+ <value cell_index="8568" local_entity="0" value="0" />
+ <value cell_index="8569" local_entity="0" value="0" />
+ <value cell_index="8570" local_entity="0" value="0" />
+ <value cell_index="8571" local_entity="0" value="0" />
+ <value cell_index="8572" local_entity="0" value="0" />
+ <value cell_index="8573" local_entity="0" value="0" />
+ <value cell_index="8574" local_entity="0" value="0" />
+ <value cell_index="8575" local_entity="0" value="0" />
+ <value cell_index="8576" local_entity="0" value="0" />
+ <value cell_index="8577" local_entity="0" value="0" />
+ <value cell_index="8578" local_entity="0" value="0" />
+ <value cell_index="8579" local_entity="0" value="0" />
+ <value cell_index="8580" local_entity="0" value="0" />
+ <value cell_index="8581" local_entity="0" value="0" />
+ <value cell_index="8582" local_entity="0" value="0" />
+ <value cell_index="8583" local_entity="0" value="0" />
+ <value cell_index="8584" local_entity="0" value="0" />
+ <value cell_index="8585" local_entity="0" value="0" />
+ <value cell_index="8586" local_entity="0" value="0" />
+ <value cell_index="8587" local_entity="0" value="0" />
+ <value cell_index="8588" local_entity="0" value="0" />
+ <value cell_index="8589" local_entity="0" value="0" />
+ <value cell_index="8590" local_entity="0" value="0" />
+ <value cell_index="8591" local_entity="0" value="0" />
+ <value cell_index="8592" local_entity="0" value="0" />
+ <value cell_index="8593" local_entity="0" value="0" />
+ <value cell_index="8594" local_entity="0" value="0" />
+ <value cell_index="8595" local_entity="0" value="0" />
+ <value cell_index="8596" local_entity="0" value="0" />
+ <value cell_index="8597" local_entity="0" value="0" />
+ <value cell_index="8598" local_entity="0" value="0" />
+ <value cell_index="8599" local_entity="0" value="0" />
+ <value cell_index="8600" local_entity="0" value="0" />
+ <value cell_index="8601" local_entity="0" value="0" />
+ <value cell_index="8602" local_entity="0" value="0" />
+ <value cell_index="8603" local_entity="0" value="0" />
+ <value cell_index="8604" local_entity="0" value="0" />
+ <value cell_index="8605" local_entity="0" value="0" />
+ <value cell_index="8606" local_entity="0" value="0" />
+ <value cell_index="8607" local_entity="0" value="0" />
+ <value cell_index="8608" local_entity="0" value="0" />
+ <value cell_index="8609" local_entity="0" value="0" />
+ <value cell_index="8610" local_entity="0" value="0" />
+ <value cell_index="8611" local_entity="0" value="0" />
+ <value cell_index="8612" local_entity="0" value="0" />
+ <value cell_index="8613" local_entity="0" value="0" />
+ <value cell_index="8614" local_entity="0" value="0" />
+ <value cell_index="8615" local_entity="0" value="0" />
+ <value cell_index="8616" local_entity="0" value="0" />
+ <value cell_index="8617" local_entity="0" value="0" />
+ <value cell_index="8618" local_entity="0" value="0" />
+ <value cell_index="8619" local_entity="0" value="0" />
+ <value cell_index="8620" local_entity="0" value="0" />
+ <value cell_index="8621" local_entity="0" value="0" />
+ <value cell_index="8622" local_entity="0" value="0" />
+ <value cell_index="8623" local_entity="0" value="0" />
+ <value cell_index="8624" local_entity="0" value="0" />
+ <value cell_index="8625" local_entity="0" value="0" />
+ <value cell_index="8626" local_entity="0" value="0" />
+ <value cell_index="8627" local_entity="0" value="0" />
+ <value cell_index="8628" local_entity="0" value="0" />
+ <value cell_index="8629" local_entity="0" value="0" />
+ <value cell_index="8630" local_entity="0" value="0" />
+ <value cell_index="8631" local_entity="0" value="0" />
+ <value cell_index="8632" local_entity="0" value="0" />
+ <value cell_index="8633" local_entity="0" value="0" />
+ <value cell_index="8634" local_entity="0" value="0" />
+ <value cell_index="8635" local_entity="0" value="0" />
+ <value cell_index="8636" local_entity="0" value="0" />
+ <value cell_index="8637" local_entity="0" value="0" />
+ <value cell_index="8638" local_entity="0" value="0" />
+ <value cell_index="8639" local_entity="0" value="0" />
+ <value cell_index="8640" local_entity="0" value="0" />
+ <value cell_index="8641" local_entity="0" value="0" />
+ <value cell_index="8642" local_entity="0" value="0" />
+ <value cell_index="8643" local_entity="0" value="0" />
+ <value cell_index="8644" local_entity="0" value="0" />
+ <value cell_index="8645" local_entity="0" value="0" />
+ <value cell_index="8646" local_entity="0" value="0" />
+ <value cell_index="8647" local_entity="0" value="0" />
+ <value cell_index="8648" local_entity="0" value="0" />
+ <value cell_index="8649" local_entity="0" value="0" />
+ <value cell_index="8650" local_entity="0" value="0" />
+ <value cell_index="8651" local_entity="0" value="0" />
+ <value cell_index="8652" local_entity="0" value="0" />
+ <value cell_index="8653" local_entity="0" value="0" />
+ <value cell_index="8654" local_entity="0" value="0" />
+ <value cell_index="8655" local_entity="0" value="0" />
+ <value cell_index="8656" local_entity="0" value="0" />
+ <value cell_index="8657" local_entity="0" value="0" />
+ <value cell_index="8658" local_entity="0" value="0" />
+ <value cell_index="8659" local_entity="0" value="0" />
+ <value cell_index="8660" local_entity="0" value="0" />
+ <value cell_index="8661" local_entity="0" value="0" />
+ <value cell_index="8662" local_entity="0" value="0" />
+ <value cell_index="8663" local_entity="0" value="0" />
+ <value cell_index="8664" local_entity="0" value="0" />
+ <value cell_index="8665" local_entity="0" value="0" />
+ <value cell_index="8666" local_entity="0" value="0" />
+ <value cell_index="8667" local_entity="0" value="0" />
+ <value cell_index="8668" local_entity="0" value="0" />
+ <value cell_index="8669" local_entity="0" value="0" />
+ <value cell_index="8670" local_entity="0" value="0" />
+ <value cell_index="8671" local_entity="0" value="0" />
+ <value cell_index="8672" local_entity="0" value="0" />
+ <value cell_index="8673" local_entity="0" value="0" />
+ <value cell_index="8674" local_entity="0" value="0" />
+ <value cell_index="8675" local_entity="0" value="0" />
+ <value cell_index="8676" local_entity="0" value="0" />
+ <value cell_index="8677" local_entity="0" value="0" />
+ <value cell_index="8678" local_entity="0" value="0" />
+ <value cell_index="8679" local_entity="0" value="0" />
+ <value cell_index="8680" local_entity="0" value="0" />
+ <value cell_index="8681" local_entity="0" value="0" />
+ <value cell_index="8682" local_entity="0" value="0" />
+ <value cell_index="8683" local_entity="0" value="0" />
+ <value cell_index="8684" local_entity="0" value="0" />
+ <value cell_index="8685" local_entity="0" value="0" />
+ <value cell_index="8686" local_entity="0" value="0" />
+ <value cell_index="8687" local_entity="0" value="0" />
+ <value cell_index="8688" local_entity="0" value="0" />
+ <value cell_index="8689" local_entity="0" value="0" />
+ <value cell_index="8690" local_entity="0" value="0" />
+ <value cell_index="8691" local_entity="0" value="0" />
+ <value cell_index="8692" local_entity="0" value="0" />
+ <value cell_index="8693" local_entity="0" value="0" />
+ <value cell_index="8694" local_entity="0" value="0" />
+ <value cell_index="8695" local_entity="0" value="0" />
+ <value cell_index="8696" local_entity="0" value="0" />
+ <value cell_index="8697" local_entity="0" value="0" />
+ <value cell_index="8698" local_entity="0" value="0" />
+ <value cell_index="8699" local_entity="0" value="0" />
+ <value cell_index="8700" local_entity="0" value="0" />
+ <value cell_index="8701" local_entity="0" value="0" />
+ <value cell_index="8702" local_entity="0" value="0" />
+ <value cell_index="8703" local_entity="0" value="0" />
+ <value cell_index="8704" local_entity="0" value="0" />
+ <value cell_index="8705" local_entity="0" value="0" />
+ <value cell_index="8706" local_entity="0" value="0" />
+ <value cell_index="8707" local_entity="0" value="0" />
+ <value cell_index="8708" local_entity="0" value="0" />
+ <value cell_index="8709" local_entity="0" value="0" />
+ <value cell_index="8710" local_entity="0" value="0" />
+ <value cell_index="8711" local_entity="0" value="0" />
+ <value cell_index="8712" local_entity="0" value="0" />
+ <value cell_index="8713" local_entity="0" value="0" />
+ <value cell_index="8714" local_entity="0" value="0" />
+ <value cell_index="8715" local_entity="0" value="0" />
+ <value cell_index="8716" local_entity="0" value="0" />
+ <value cell_index="8717" local_entity="0" value="0" />
+ <value cell_index="8718" local_entity="0" value="0" />
+ <value cell_index="8719" local_entity="0" value="0" />
+ <value cell_index="8720" local_entity="0" value="0" />
+ <value cell_index="8721" local_entity="0" value="0" />
+ <value cell_index="8722" local_entity="0" value="0" />
+ <value cell_index="8723" local_entity="0" value="0" />
+ <value cell_index="8724" local_entity="0" value="0" />
+ <value cell_index="8725" local_entity="0" value="0" />
+ <value cell_index="8726" local_entity="0" value="0" />
+ <value cell_index="8727" local_entity="0" value="0" />
+ <value cell_index="8728" local_entity="0" value="0" />
+ <value cell_index="8729" local_entity="0" value="0" />
+ <value cell_index="8730" local_entity="0" value="0" />
+ <value cell_index="8731" local_entity="0" value="0" />
+ <value cell_index="8732" local_entity="0" value="0" />
+ <value cell_index="8733" local_entity="0" value="0" />
+ <value cell_index="8734" local_entity="0" value="0" />
+ <value cell_index="8735" local_entity="0" value="0" />
+ <value cell_index="8736" local_entity="0" value="0" />
+ <value cell_index="8737" local_entity="0" value="0" />
+ <value cell_index="8738" local_entity="0" value="0" />
+ <value cell_index="8739" local_entity="0" value="0" />
+ <value cell_index="8740" local_entity="0" value="0" />
+ <value cell_index="8741" local_entity="0" value="0" />
+ <value cell_index="8742" local_entity="0" value="0" />
+ <value cell_index="8743" local_entity="0" value="0" />
+ <value cell_index="8744" local_entity="0" value="0" />
+ <value cell_index="8745" local_entity="0" value="0" />
+ <value cell_index="8746" local_entity="0" value="0" />
+ <value cell_index="8747" local_entity="0" value="0" />
+ <value cell_index="8748" local_entity="0" value="0" />
+ <value cell_index="8749" local_entity="0" value="0" />
+ <value cell_index="8750" local_entity="0" value="0" />
+ <value cell_index="8751" local_entity="0" value="0" />
+ <value cell_index="8752" local_entity="0" value="0" />
+ <value cell_index="8753" local_entity="0" value="0" />
+ <value cell_index="8754" local_entity="0" value="0" />
+ <value cell_index="8755" local_entity="0" value="0" />
+ <value cell_index="8756" local_entity="0" value="0" />
+ <value cell_index="8757" local_entity="0" value="0" />
+ <value cell_index="8758" local_entity="0" value="0" />
+ <value cell_index="8759" local_entity="0" value="0" />
+ <value cell_index="8760" local_entity="0" value="0" />
+ <value cell_index="8761" local_entity="0" value="0" />
+ <value cell_index="8762" local_entity="0" value="0" />
+ <value cell_index="8763" local_entity="0" value="0" />
+ <value cell_index="8764" local_entity="0" value="0" />
+ <value cell_index="8765" local_entity="0" value="0" />
+ <value cell_index="8766" local_entity="0" value="0" />
+ <value cell_index="8767" local_entity="0" value="0" />
+ <value cell_index="8768" local_entity="0" value="0" />
+ <value cell_index="8769" local_entity="0" value="0" />
+ <value cell_index="8770" local_entity="0" value="0" />
+ <value cell_index="8771" local_entity="0" value="0" />
+ <value cell_index="8772" local_entity="0" value="0" />
+ <value cell_index="8773" local_entity="0" value="0" />
+ <value cell_index="8774" local_entity="0" value="0" />
+ <value cell_index="8775" local_entity="0" value="0" />
+ <value cell_index="8776" local_entity="0" value="0" />
+ <value cell_index="8777" local_entity="0" value="0" />
+ <value cell_index="8778" local_entity="0" value="0" />
+ <value cell_index="8779" local_entity="0" value="0" />
+ <value cell_index="8780" local_entity="0" value="0" />
+ <value cell_index="8781" local_entity="0" value="0" />
+ <value cell_index="8782" local_entity="0" value="0" />
+ <value cell_index="8783" local_entity="0" value="0" />
+ <value cell_index="8784" local_entity="0" value="0" />
+ <value cell_index="8785" local_entity="0" value="0" />
+ <value cell_index="8786" local_entity="0" value="0" />
+ <value cell_index="8787" local_entity="0" value="0" />
+ <value cell_index="8788" local_entity="0" value="0" />
+ <value cell_index="8789" local_entity="0" value="0" />
+ <value cell_index="8790" local_entity="0" value="0" />
+ <value cell_index="8791" local_entity="0" value="0" />
+ <value cell_index="8792" local_entity="0" value="0" />
+ <value cell_index="8793" local_entity="0" value="0" />
+ <value cell_index="8794" local_entity="0" value="0" />
+ <value cell_index="8795" local_entity="0" value="0" />
+ <value cell_index="8796" local_entity="0" value="0" />
+ <value cell_index="8797" local_entity="0" value="0" />
+ <value cell_index="8798" local_entity="0" value="0" />
+ <value cell_index="8799" local_entity="0" value="0" />
+ <value cell_index="8800" local_entity="0" value="0" />
+ <value cell_index="8801" local_entity="0" value="0" />
+ <value cell_index="8802" local_entity="0" value="0" />
+ <value cell_index="8803" local_entity="0" value="0" />
+ <value cell_index="8804" local_entity="0" value="0" />
+ <value cell_index="8805" local_entity="0" value="0" />
+ <value cell_index="8806" local_entity="0" value="0" />
+ <value cell_index="8807" local_entity="0" value="0" />
+ <value cell_index="8808" local_entity="0" value="0" />
+ <value cell_index="8809" local_entity="0" value="0" />
+ <value cell_index="8810" local_entity="0" value="0" />
+ <value cell_index="8811" local_entity="0" value="0" />
+ <value cell_index="8812" local_entity="0" value="0" />
+ <value cell_index="8813" local_entity="0" value="0" />
+ <value cell_index="8814" local_entity="0" value="0" />
+ <value cell_index="8815" local_entity="0" value="0" />
+ <value cell_index="8816" local_entity="0" value="0" />
+ <value cell_index="8817" local_entity="0" value="0" />
+ <value cell_index="8818" local_entity="0" value="0" />
+ <value cell_index="8819" local_entity="0" value="0" />
+ <value cell_index="8820" local_entity="0" value="0" />
+ <value cell_index="8821" local_entity="0" value="0" />
+ <value cell_index="8822" local_entity="0" value="0" />
+ <value cell_index="8823" local_entity="0" value="0" />
+ <value cell_index="8824" local_entity="0" value="0" />
+ <value cell_index="8825" local_entity="0" value="0" />
+ <value cell_index="8826" local_entity="0" value="0" />
+ <value cell_index="8827" local_entity="0" value="0" />
+ <value cell_index="8828" local_entity="0" value="0" />
+ <value cell_index="8829" local_entity="0" value="0" />
+ <value cell_index="8830" local_entity="0" value="0" />
+ <value cell_index="8831" local_entity="0" value="0" />
+ <value cell_index="8832" local_entity="0" value="0" />
+ <value cell_index="8833" local_entity="0" value="0" />
+ <value cell_index="8834" local_entity="0" value="0" />
+ <value cell_index="8835" local_entity="0" value="0" />
+ <value cell_index="8836" local_entity="0" value="0" />
+ <value cell_index="8837" local_entity="0" value="0" />
+ <value cell_index="8838" local_entity="0" value="0" />
+ <value cell_index="8839" local_entity="0" value="0" />
+ <value cell_index="8840" local_entity="0" value="0" />
+ <value cell_index="8841" local_entity="0" value="0" />
+ <value cell_index="8842" local_entity="0" value="0" />
+ <value cell_index="8843" local_entity="0" value="0" />
+ <value cell_index="8844" local_entity="0" value="0" />
+ <value cell_index="8845" local_entity="0" value="0" />
+ <value cell_index="8846" local_entity="0" value="0" />
+ <value cell_index="8847" local_entity="0" value="0" />
+ <value cell_index="8848" local_entity="0" value="0" />
+ <value cell_index="8849" local_entity="0" value="0" />
+ <value cell_index="8850" local_entity="0" value="0" />
+ <value cell_index="8851" local_entity="0" value="0" />
+ <value cell_index="8852" local_entity="0" value="0" />
+ <value cell_index="8853" local_entity="0" value="0" />
+ <value cell_index="8854" local_entity="0" value="0" />
+ <value cell_index="8855" local_entity="0" value="0" />
+ <value cell_index="8856" local_entity="0" value="0" />
+ <value cell_index="8857" local_entity="0" value="0" />
+ <value cell_index="8858" local_entity="0" value="0" />
+ <value cell_index="8859" local_entity="0" value="0" />
+ <value cell_index="8860" local_entity="0" value="0" />
+ <value cell_index="8861" local_entity="0" value="0" />
+ <value cell_index="8862" local_entity="0" value="0" />
+ <value cell_index="8863" local_entity="0" value="0" />
+ <value cell_index="8864" local_entity="0" value="0" />
+ <value cell_index="8865" local_entity="0" value="0" />
+ <value cell_index="8866" local_entity="0" value="0" />
+ <value cell_index="8867" local_entity="0" value="0" />
+ <value cell_index="8868" local_entity="0" value="0" />
+ <value cell_index="8869" local_entity="0" value="0" />
+ <value cell_index="8870" local_entity="0" value="0" />
+ <value cell_index="8871" local_entity="0" value="0" />
+ <value cell_index="8872" local_entity="0" value="0" />
+ <value cell_index="8873" local_entity="0" value="0" />
+ <value cell_index="8874" local_entity="0" value="0" />
+ <value cell_index="8875" local_entity="0" value="0" />
+ <value cell_index="8876" local_entity="0" value="0" />
+ <value cell_index="8877" local_entity="0" value="0" />
+ <value cell_index="8878" local_entity="0" value="0" />
+ <value cell_index="8879" local_entity="0" value="0" />
+ <value cell_index="8880" local_entity="0" value="0" />
+ <value cell_index="8881" local_entity="0" value="0" />
+ <value cell_index="8882" local_entity="0" value="0" />
+ <value cell_index="8883" local_entity="0" value="0" />
+ <value cell_index="8884" local_entity="0" value="0" />
+ <value cell_index="8885" local_entity="0" value="0" />
+ <value cell_index="8886" local_entity="0" value="0" />
+ <value cell_index="8887" local_entity="0" value="0" />
+ <value cell_index="8888" local_entity="0" value="0" />
+ <value cell_index="8889" local_entity="0" value="0" />
+ <value cell_index="8890" local_entity="0" value="0" />
+ <value cell_index="8891" local_entity="0" value="0" />
+ <value cell_index="8892" local_entity="0" value="0" />
+ <value cell_index="8893" local_entity="0" value="0" />
+ <value cell_index="8894" local_entity="0" value="0" />
+ <value cell_index="8895" local_entity="0" value="0" />
+ <value cell_index="8896" local_entity="0" value="0" />
+ <value cell_index="8897" local_entity="0" value="0" />
+ <value cell_index="8898" local_entity="0" value="0" />
+ <value cell_index="8899" local_entity="0" value="0" />
+ <value cell_index="8900" local_entity="0" value="0" />
+ <value cell_index="8901" local_entity="0" value="0" />
+ <value cell_index="8902" local_entity="0" value="0" />
+ <value cell_index="8903" local_entity="0" value="0" />
+ <value cell_index="8904" local_entity="0" value="0" />
+ <value cell_index="8905" local_entity="0" value="0" />
+ <value cell_index="8906" local_entity="0" value="0" />
+ <value cell_index="8907" local_entity="0" value="0" />
+ <value cell_index="8908" local_entity="0" value="0" />
+ <value cell_index="8909" local_entity="0" value="0" />
+ <value cell_index="8910" local_entity="0" value="0" />
+ <value cell_index="8911" local_entity="0" value="0" />
+ <value cell_index="8912" local_entity="0" value="0" />
+ <value cell_index="8913" local_entity="0" value="0" />
+ <value cell_index="8914" local_entity="0" value="0" />
+ <value cell_index="8915" local_entity="0" value="0" />
+ <value cell_index="8916" local_entity="0" value="0" />
+ <value cell_index="8917" local_entity="0" value="0" />
+ <value cell_index="8918" local_entity="0" value="0" />
+ <value cell_index="8919" local_entity="0" value="0" />
+ <value cell_index="8920" local_entity="0" value="0" />
+ <value cell_index="8921" local_entity="0" value="0" />
+ <value cell_index="8922" local_entity="0" value="0" />
+ <value cell_index="8923" local_entity="0" value="0" />
+ <value cell_index="8924" local_entity="0" value="0" />
+ <value cell_index="8925" local_entity="0" value="0" />
+ <value cell_index="8926" local_entity="0" value="0" />
+ <value cell_index="8927" local_entity="0" value="0" />
+ <value cell_index="8928" local_entity="0" value="0" />
+ <value cell_index="8929" local_entity="0" value="0" />
+ <value cell_index="8930" local_entity="0" value="0" />
+ <value cell_index="8931" local_entity="0" value="0" />
+ <value cell_index="8932" local_entity="0" value="0" />
+ <value cell_index="8933" local_entity="0" value="0" />
+ <value cell_index="8934" local_entity="0" value="0" />
+ <value cell_index="8935" local_entity="0" value="0" />
+ <value cell_index="8936" local_entity="0" value="0" />
+ <value cell_index="8937" local_entity="0" value="0" />
+ <value cell_index="8938" local_entity="0" value="0" />
+ <value cell_index="8939" local_entity="0" value="0" />
+ <value cell_index="8940" local_entity="0" value="0" />
+ <value cell_index="8941" local_entity="0" value="0" />
+ <value cell_index="8942" local_entity="0" value="0" />
+ <value cell_index="8943" local_entity="0" value="0" />
+ <value cell_index="8944" local_entity="0" value="0" />
+ <value cell_index="8945" local_entity="0" value="0" />
+ <value cell_index="8946" local_entity="0" value="0" />
+ <value cell_index="8947" local_entity="0" value="0" />
+ <value cell_index="8948" local_entity="0" value="0" />
+ <value cell_index="8949" local_entity="0" value="0" />
+ <value cell_index="8950" local_entity="0" value="0" />
+ <value cell_index="8951" local_entity="0" value="0" />
+ <value cell_index="8952" local_entity="0" value="0" />
+ <value cell_index="8953" local_entity="0" value="0" />
+ <value cell_index="8954" local_entity="0" value="0" />
+ <value cell_index="8955" local_entity="0" value="0" />
+ <value cell_index="8956" local_entity="0" value="0" />
+ <value cell_index="8957" local_entity="0" value="0" />
+ <value cell_index="8958" local_entity="0" value="0" />
+ <value cell_index="8959" local_entity="0" value="0" />
+ <value cell_index="8960" local_entity="0" value="0" />
+ <value cell_index="8961" local_entity="0" value="0" />
+ <value cell_index="8962" local_entity="0" value="0" />
+ <value cell_index="8963" local_entity="0" value="0" />
+ <value cell_index="8964" local_entity="0" value="0" />
+ <value cell_index="8965" local_entity="0" value="0" />
+ <value cell_index="8966" local_entity="0" value="0" />
+ <value cell_index="8967" local_entity="0" value="0" />
+ <value cell_index="8968" local_entity="0" value="0" />
+ <value cell_index="8969" local_entity="0" value="0" />
+ <value cell_index="8970" local_entity="0" value="0" />
+ <value cell_index="8971" local_entity="0" value="0" />
+ <value cell_index="8972" local_entity="0" value="0" />
+ <value cell_index="8973" local_entity="0" value="0" />
+ <value cell_index="8974" local_entity="0" value="0" />
+ <value cell_index="8975" local_entity="0" value="0" />
+ <value cell_index="8976" local_entity="0" value="0" />
+ <value cell_index="8977" local_entity="0" value="0" />
+ <value cell_index="8978" local_entity="0" value="0" />
+ <value cell_index="8979" local_entity="0" value="0" />
+ <value cell_index="8980" local_entity="0" value="0" />
+ <value cell_index="8981" local_entity="0" value="0" />
+ <value cell_index="8982" local_entity="0" value="0" />
+ <value cell_index="8983" local_entity="0" value="0" />
+ <value cell_index="8984" local_entity="0" value="0" />
+ <value cell_index="8985" local_entity="0" value="0" />
+ <value cell_index="8986" local_entity="0" value="0" />
+ <value cell_index="8987" local_entity="0" value="0" />
+ <value cell_index="8988" local_entity="0" value="0" />
+ <value cell_index="8989" local_entity="0" value="0" />
+ <value cell_index="8990" local_entity="0" value="0" />
+ <value cell_index="8991" local_entity="0" value="0" />
+ <value cell_index="8992" local_entity="0" value="0" />
+ <value cell_index="8993" local_entity="0" value="0" />
+ <value cell_index="8994" local_entity="0" value="0" />
+ <value cell_index="8995" local_entity="0" value="0" />
+ <value cell_index="8996" local_entity="0" value="0" />
+ <value cell_index="8997" local_entity="0" value="0" />
+ <value cell_index="8998" local_entity="0" value="0" />
+ <value cell_index="8999" local_entity="0" value="0" />
+ <value cell_index="9000" local_entity="0" value="0" />
+ <value cell_index="9001" local_entity="0" value="0" />
+ <value cell_index="9002" local_entity="0" value="0" />
+ <value cell_index="9003" local_entity="0" value="0" />
+ <value cell_index="9004" local_entity="0" value="0" />
+ <value cell_index="9005" local_entity="0" value="0" />
+ <value cell_index="9006" local_entity="0" value="0" />
+ <value cell_index="9007" local_entity="0" value="0" />
+ <value cell_index="9008" local_entity="0" value="0" />
+ <value cell_index="9009" local_entity="0" value="0" />
+ <value cell_index="9010" local_entity="0" value="0" />
+ <value cell_index="9011" local_entity="0" value="0" />
+ <value cell_index="9012" local_entity="0" value="0" />
+ <value cell_index="9013" local_entity="0" value="0" />
+ <value cell_index="9014" local_entity="0" value="0" />
+ <value cell_index="9015" local_entity="0" value="0" />
+ <value cell_index="9016" local_entity="0" value="0" />
+ <value cell_index="9017" local_entity="0" value="0" />
+ <value cell_index="9018" local_entity="0" value="0" />
+ <value cell_index="9019" local_entity="0" value="0" />
+ <value cell_index="9020" local_entity="0" value="0" />
+ <value cell_index="9021" local_entity="0" value="0" />
+ <value cell_index="9022" local_entity="0" value="0" />
+ <value cell_index="9023" local_entity="0" value="0" />
+ <value cell_index="9024" local_entity="0" value="0" />
+ <value cell_index="9025" local_entity="0" value="0" />
+ <value cell_index="9026" local_entity="0" value="0" />
+ <value cell_index="9027" local_entity="0" value="0" />
+ <value cell_index="9028" local_entity="0" value="0" />
+ <value cell_index="9029" local_entity="0" value="0" />
+ <value cell_index="9030" local_entity="0" value="0" />
+ <value cell_index="9031" local_entity="0" value="0" />
+ <value cell_index="9032" local_entity="0" value="0" />
+ <value cell_index="9033" local_entity="0" value="0" />
+ <value cell_index="9034" local_entity="0" value="0" />
+ <value cell_index="9035" local_entity="0" value="0" />
+ <value cell_index="9036" local_entity="0" value="0" />
+ <value cell_index="9037" local_entity="0" value="0" />
+ <value cell_index="9038" local_entity="0" value="0" />
+ <value cell_index="9039" local_entity="0" value="0" />
+ <value cell_index="9040" local_entity="0" value="0" />
+ <value cell_index="9041" local_entity="0" value="0" />
+ <value cell_index="9042" local_entity="0" value="0" />
+ <value cell_index="9043" local_entity="0" value="0" />
+ <value cell_index="9044" local_entity="0" value="0" />
+ <value cell_index="9045" local_entity="0" value="0" />
+ <value cell_index="9046" local_entity="0" value="0" />
+ <value cell_index="9047" local_entity="0" value="0" />
+ <value cell_index="9048" local_entity="0" value="0" />
+ <value cell_index="9049" local_entity="0" value="0" />
+ <value cell_index="9050" local_entity="0" value="0" />
+ <value cell_index="9051" local_entity="0" value="0" />
+ <value cell_index="9052" local_entity="0" value="0" />
+ <value cell_index="9053" local_entity="0" value="0" />
+ <value cell_index="9054" local_entity="0" value="0" />
+ <value cell_index="9055" local_entity="0" value="0" />
+ <value cell_index="9056" local_entity="0" value="0" />
+ <value cell_index="9057" local_entity="0" value="0" />
+ <value cell_index="9058" local_entity="0" value="0" />
+ <value cell_index="9059" local_entity="0" value="0" />
+ <value cell_index="9060" local_entity="0" value="0" />
+ <value cell_index="9061" local_entity="0" value="0" />
+ <value cell_index="9062" local_entity="0" value="0" />
+ <value cell_index="9063" local_entity="0" value="0" />
+ <value cell_index="9064" local_entity="0" value="0" />
+ <value cell_index="9065" local_entity="0" value="0" />
+ <value cell_index="9066" local_entity="0" value="0" />
+ <value cell_index="9067" local_entity="0" value="0" />
+ <value cell_index="9068" local_entity="0" value="0" />
+ <value cell_index="9069" local_entity="0" value="0" />
+ <value cell_index="9070" local_entity="0" value="0" />
+ <value cell_index="9071" local_entity="0" value="0" />
+ <value cell_index="9072" local_entity="0" value="0" />
+ <value cell_index="9073" local_entity="0" value="0" />
+ <value cell_index="9074" local_entity="0" value="0" />
+ <value cell_index="9075" local_entity="0" value="0" />
+ <value cell_index="9076" local_entity="0" value="0" />
+ <value cell_index="9077" local_entity="0" value="0" />
+ <value cell_index="9078" local_entity="0" value="0" />
+ <value cell_index="9079" local_entity="0" value="0" />
+ <value cell_index="9080" local_entity="0" value="0" />
+ <value cell_index="9081" local_entity="0" value="0" />
+ <value cell_index="9082" local_entity="0" value="0" />
+ <value cell_index="9083" local_entity="0" value="0" />
+ <value cell_index="9084" local_entity="0" value="0" />
+ <value cell_index="9085" local_entity="0" value="0" />
+ <value cell_index="9086" local_entity="0" value="0" />
+ <value cell_index="9087" local_entity="0" value="0" />
+ <value cell_index="9088" local_entity="0" value="0" />
+ <value cell_index="9089" local_entity="0" value="0" />
+ <value cell_index="9090" local_entity="0" value="0" />
+ <value cell_index="9091" local_entity="0" value="0" />
+ <value cell_index="9092" local_entity="0" value="0" />
+ <value cell_index="9093" local_entity="0" value="0" />
+ <value cell_index="9094" local_entity="0" value="0" />
+ <value cell_index="9095" local_entity="0" value="0" />
+ <value cell_index="9096" local_entity="0" value="0" />
+ <value cell_index="9097" local_entity="0" value="0" />
+ <value cell_index="9098" local_entity="0" value="0" />
+ <value cell_index="9099" local_entity="0" value="0" />
+ <value cell_index="9100" local_entity="0" value="0" />
+ <value cell_index="9101" local_entity="0" value="0" />
+ <value cell_index="9102" local_entity="0" value="0" />
+ <value cell_index="9103" local_entity="0" value="0" />
+ <value cell_index="9104" local_entity="0" value="0" />
+ <value cell_index="9105" local_entity="0" value="0" />
+ <value cell_index="9106" local_entity="0" value="0" />
+ <value cell_index="9107" local_entity="0" value="0" />
+ <value cell_index="9108" local_entity="0" value="0" />
+ <value cell_index="9109" local_entity="0" value="0" />
+ <value cell_index="9110" local_entity="0" value="0" />
+ <value cell_index="9111" local_entity="0" value="0" />
+ <value cell_index="9112" local_entity="0" value="0" />
+ <value cell_index="9113" local_entity="0" value="0" />
+ <value cell_index="9114" local_entity="0" value="0" />
+ <value cell_index="9115" local_entity="0" value="0" />
+ <value cell_index="9116" local_entity="0" value="0" />
+ <value cell_index="9117" local_entity="0" value="0" />
+ <value cell_index="9118" local_entity="0" value="0" />
+ <value cell_index="9119" local_entity="0" value="0" />
+ <value cell_index="9120" local_entity="0" value="0" />
+ <value cell_index="9121" local_entity="0" value="0" />
+ <value cell_index="9122" local_entity="0" value="0" />
+ <value cell_index="9123" local_entity="0" value="0" />
+ <value cell_index="9124" local_entity="0" value="0" />
+ <value cell_index="9125" local_entity="0" value="0" />
+ <value cell_index="9126" local_entity="0" value="0" />
+ <value cell_index="9127" local_entity="0" value="0" />
+ <value cell_index="9128" local_entity="0" value="0" />
+ <value cell_index="9129" local_entity="0" value="0" />
+ <value cell_index="9130" local_entity="0" value="0" />
+ <value cell_index="9131" local_entity="0" value="0" />
+ <value cell_index="9132" local_entity="0" value="0" />
+ <value cell_index="9133" local_entity="0" value="0" />
+ <value cell_index="9134" local_entity="0" value="0" />
+ <value cell_index="9135" local_entity="0" value="0" />
+ <value cell_index="9136" local_entity="0" value="0" />
+ <value cell_index="9137" local_entity="0" value="0" />
+ <value cell_index="9138" local_entity="0" value="0" />
+ <value cell_index="9139" local_entity="0" value="0" />
+ <value cell_index="9140" local_entity="0" value="0" />
+ <value cell_index="9141" local_entity="0" value="0" />
+ <value cell_index="9142" local_entity="0" value="0" />
+ <value cell_index="9143" local_entity="0" value="0" />
+ <value cell_index="9144" local_entity="0" value="0" />
+ <value cell_index="9145" local_entity="0" value="0" />
+ <value cell_index="9146" local_entity="0" value="0" />
+ <value cell_index="9147" local_entity="0" value="0" />
+ <value cell_index="9148" local_entity="0" value="0" />
+ <value cell_index="9149" local_entity="0" value="0" />
+ <value cell_index="9150" local_entity="0" value="0" />
+ <value cell_index="9151" local_entity="0" value="0" />
+ <value cell_index="9152" local_entity="0" value="0" />
+ <value cell_index="9153" local_entity="0" value="0" />
+ <value cell_index="9154" local_entity="0" value="0" />
+ <value cell_index="9155" local_entity="0" value="0" />
+ <value cell_index="9156" local_entity="0" value="0" />
+ <value cell_index="9157" local_entity="0" value="0" />
+ <value cell_index="9158" local_entity="0" value="0" />
+ <value cell_index="9159" local_entity="0" value="0" />
+ <value cell_index="9160" local_entity="0" value="0" />
+ <value cell_index="9161" local_entity="0" value="0" />
+ <value cell_index="9162" local_entity="0" value="0" />
+ <value cell_index="9163" local_entity="0" value="0" />
+ <value cell_index="9164" local_entity="0" value="0" />
+ <value cell_index="9165" local_entity="0" value="0" />
+ <value cell_index="9166" local_entity="0" value="0" />
+ <value cell_index="9167" local_entity="0" value="0" />
+ <value cell_index="9168" local_entity="0" value="0" />
+ <value cell_index="9169" local_entity="0" value="0" />
+ <value cell_index="9170" local_entity="0" value="0" />
+ <value cell_index="9171" local_entity="0" value="0" />
+ <value cell_index="9172" local_entity="0" value="0" />
+ <value cell_index="9173" local_entity="0" value="0" />
+ <value cell_index="9174" local_entity="0" value="0" />
+ <value cell_index="9175" local_entity="0" value="0" />
+ <value cell_index="9176" local_entity="0" value="0" />
+ <value cell_index="9177" local_entity="0" value="0" />
+ <value cell_index="9178" local_entity="0" value="0" />
+ <value cell_index="9179" local_entity="0" value="0" />
+ <value cell_index="9180" local_entity="0" value="0" />
+ <value cell_index="9181" local_entity="0" value="0" />
+ <value cell_index="9182" local_entity="0" value="0" />
+ <value cell_index="9183" local_entity="0" value="0" />
+ <value cell_index="9184" local_entity="0" value="0" />
+ <value cell_index="9185" local_entity="0" value="0" />
+ <value cell_index="9186" local_entity="0" value="0" />
+ <value cell_index="9187" local_entity="0" value="0" />
+ <value cell_index="9188" local_entity="0" value="0" />
+ <value cell_index="9189" local_entity="0" value="0" />
+ <value cell_index="9190" local_entity="0" value="0" />
+ <value cell_index="9191" local_entity="0" value="0" />
+ <value cell_index="9192" local_entity="0" value="0" />
+ <value cell_index="9193" local_entity="0" value="0" />
+ <value cell_index="9194" local_entity="0" value="0" />
+ <value cell_index="9195" local_entity="0" value="0" />
+ <value cell_index="9196" local_entity="0" value="0" />
+ <value cell_index="9197" local_entity="0" value="0" />
+ <value cell_index="9198" local_entity="0" value="0" />
+ <value cell_index="9199" local_entity="0" value="0" />
+ <value cell_index="9200" local_entity="0" value="0" />
+ <value cell_index="9201" local_entity="0" value="0" />
+ <value cell_index="9202" local_entity="0" value="0" />
+ <value cell_index="9203" local_entity="0" value="0" />
+ <value cell_index="9204" local_entity="0" value="0" />
+ <value cell_index="9205" local_entity="0" value="0" />
+ <value cell_index="9206" local_entity="0" value="0" />
+ <value cell_index="9207" local_entity="0" value="0" />
+ <value cell_index="9208" local_entity="0" value="0" />
+ <value cell_index="9209" local_entity="0" value="0" />
+ <value cell_index="9210" local_entity="0" value="0" />
+ <value cell_index="9211" local_entity="0" value="0" />
+ <value cell_index="9212" local_entity="0" value="0" />
+ <value cell_index="9213" local_entity="0" value="0" />
+ <value cell_index="9214" local_entity="0" value="0" />
+ <value cell_index="9215" local_entity="0" value="0" />
+ <value cell_index="9216" local_entity="0" value="0" />
+ <value cell_index="9217" local_entity="0" value="0" />
+ <value cell_index="9218" local_entity="0" value="0" />
+ <value cell_index="9219" local_entity="0" value="0" />
+ <value cell_index="9220" local_entity="0" value="0" />
+ <value cell_index="9221" local_entity="0" value="0" />
+ <value cell_index="9222" local_entity="0" value="0" />
+ <value cell_index="9223" local_entity="0" value="0" />
+ <value cell_index="9224" local_entity="0" value="0" />
+ <value cell_index="9225" local_entity="0" value="0" />
+ <value cell_index="9226" local_entity="0" value="0" />
+ <value cell_index="9227" local_entity="0" value="0" />
+ <value cell_index="9228" local_entity="0" value="0" />
+ <value cell_index="9229" local_entity="0" value="0" />
+ <value cell_index="9230" local_entity="0" value="0" />
+ <value cell_index="9231" local_entity="0" value="0" />
+ <value cell_index="9232" local_entity="0" value="0" />
+ <value cell_index="9233" local_entity="0" value="0" />
+ <value cell_index="9234" local_entity="0" value="0" />
+ <value cell_index="9235" local_entity="0" value="0" />
+ <value cell_index="9236" local_entity="0" value="0" />
+ <value cell_index="9237" local_entity="0" value="0" />
+ <value cell_index="9238" local_entity="0" value="0" />
+ <value cell_index="9239" local_entity="0" value="0" />
+ <value cell_index="9240" local_entity="0" value="0" />
+ <value cell_index="9241" local_entity="0" value="0" />
+ <value cell_index="9242" local_entity="0" value="0" />
+ <value cell_index="9243" local_entity="0" value="0" />
+ <value cell_index="9244" local_entity="0" value="0" />
+ <value cell_index="9245" local_entity="0" value="0" />
+ <value cell_index="9246" local_entity="0" value="0" />
+ <value cell_index="9247" local_entity="0" value="0" />
+ <value cell_index="9248" local_entity="0" value="0" />
+ <value cell_index="9249" local_entity="0" value="0" />
+ <value cell_index="9250" local_entity="0" value="0" />
+ <value cell_index="9251" local_entity="0" value="0" />
+ <value cell_index="9252" local_entity="0" value="0" />
+ <value cell_index="9253" local_entity="0" value="0" />
+ <value cell_index="9254" local_entity="0" value="0" />
+ <value cell_index="9255" local_entity="0" value="0" />
+ <value cell_index="9256" local_entity="0" value="0" />
+ <value cell_index="9257" local_entity="0" value="0" />
+ <value cell_index="9258" local_entity="0" value="0" />
+ <value cell_index="9259" local_entity="0" value="0" />
+ <value cell_index="9260" local_entity="0" value="0" />
+ <value cell_index="9261" local_entity="0" value="0" />
+ <value cell_index="9262" local_entity="0" value="0" />
+ <value cell_index="9263" local_entity="0" value="0" />
+ <value cell_index="9264" local_entity="0" value="0" />
+ <value cell_index="9265" local_entity="0" value="0" />
+ <value cell_index="9266" local_entity="0" value="0" />
+ <value cell_index="9267" local_entity="0" value="0" />
+ <value cell_index="9268" local_entity="0" value="0" />
+ <value cell_index="9269" local_entity="0" value="0" />
+ <value cell_index="9270" local_entity="0" value="0" />
+ <value cell_index="9271" local_entity="0" value="0" />
+ <value cell_index="9272" local_entity="0" value="0" />
+ <value cell_index="9273" local_entity="0" value="0" />
+ <value cell_index="9274" local_entity="0" value="0" />
+ <value cell_index="9275" local_entity="0" value="0" />
+ <value cell_index="9276" local_entity="0" value="0" />
+ <value cell_index="9277" local_entity="0" value="0" />
+ <value cell_index="9278" local_entity="0" value="0" />
+ <value cell_index="9279" local_entity="0" value="0" />
+ <value cell_index="9280" local_entity="0" value="0" />
+ <value cell_index="9281" local_entity="0" value="0" />
+ <value cell_index="9282" local_entity="0" value="0" />
+ <value cell_index="9283" local_entity="0" value="0" />
+ <value cell_index="9284" local_entity="0" value="0" />
+ <value cell_index="9285" local_entity="0" value="0" />
+ <value cell_index="9286" local_entity="0" value="0" />
+ <value cell_index="9287" local_entity="0" value="0" />
+ <value cell_index="9288" local_entity="0" value="0" />
+ <value cell_index="9289" local_entity="0" value="0" />
+ <value cell_index="9290" local_entity="0" value="0" />
+ <value cell_index="9291" local_entity="0" value="0" />
+ <value cell_index="9292" local_entity="0" value="0" />
+ <value cell_index="9293" local_entity="0" value="0" />
+ <value cell_index="9294" local_entity="0" value="0" />
+ <value cell_index="9295" local_entity="0" value="0" />
+ <value cell_index="9296" local_entity="0" value="0" />
+ <value cell_index="9297" local_entity="0" value="0" />
+ <value cell_index="9298" local_entity="0" value="0" />
+ <value cell_index="9299" local_entity="0" value="0" />
+ <value cell_index="9300" local_entity="0" value="0" />
+ <value cell_index="9301" local_entity="0" value="0" />
+ <value cell_index="9302" local_entity="0" value="0" />
+ <value cell_index="9303" local_entity="0" value="0" />
+ <value cell_index="9304" local_entity="0" value="0" />
+ <value cell_index="9305" local_entity="0" value="0" />
+ <value cell_index="9306" local_entity="0" value="0" />
+ <value cell_index="9307" local_entity="0" value="0" />
+ <value cell_index="9308" local_entity="0" value="0" />
+ <value cell_index="9309" local_entity="0" value="0" />
+ <value cell_index="9310" local_entity="0" value="0" />
+ <value cell_index="9311" local_entity="0" value="0" />
+ <value cell_index="9312" local_entity="0" value="0" />
+ <value cell_index="9313" local_entity="0" value="0" />
+ <value cell_index="9314" local_entity="0" value="0" />
+ <value cell_index="9315" local_entity="0" value="0" />
+ <value cell_index="9316" local_entity="0" value="0" />
+ <value cell_index="9317" local_entity="0" value="0" />
+ <value cell_index="9318" local_entity="0" value="0" />
+ <value cell_index="9319" local_entity="0" value="0" />
+ <value cell_index="9320" local_entity="0" value="0" />
+ <value cell_index="9321" local_entity="0" value="0" />
+ <value cell_index="9322" local_entity="0" value="0" />
+ <value cell_index="9323" local_entity="0" value="0" />
+ <value cell_index="9324" local_entity="0" value="0" />
+ <value cell_index="9325" local_entity="0" value="0" />
+ <value cell_index="9326" local_entity="0" value="0" />
+ <value cell_index="9327" local_entity="0" value="0" />
+ <value cell_index="9328" local_entity="0" value="0" />
+ <value cell_index="9329" local_entity="0" value="0" />
+ <value cell_index="9330" local_entity="0" value="0" />
+ <value cell_index="9331" local_entity="0" value="0" />
+ <value cell_index="9332" local_entity="0" value="0" />
+ <value cell_index="9333" local_entity="0" value="0" />
+ <value cell_index="9334" local_entity="0" value="0" />
+ <value cell_index="9335" local_entity="0" value="0" />
+ <value cell_index="9336" local_entity="0" value="0" />
+ <value cell_index="9337" local_entity="0" value="0" />
+ <value cell_index="9338" local_entity="0" value="0" />
+ <value cell_index="9339" local_entity="0" value="0" />
+ <value cell_index="9340" local_entity="0" value="0" />
+ <value cell_index="9341" local_entity="0" value="0" />
+ <value cell_index="9342" local_entity="0" value="0" />
+ <value cell_index="9343" local_entity="0" value="0" />
+ <value cell_index="9344" local_entity="0" value="0" />
+ <value cell_index="9345" local_entity="0" value="0" />
+ <value cell_index="9346" local_entity="0" value="0" />
+ <value cell_index="9347" local_entity="0" value="0" />
+ <value cell_index="9348" local_entity="0" value="0" />
+ <value cell_index="9349" local_entity="0" value="0" />
+ <value cell_index="9350" local_entity="0" value="0" />
+ <value cell_index="9351" local_entity="0" value="0" />
+ <value cell_index="9352" local_entity="0" value="0" />
+ <value cell_index="9353" local_entity="0" value="0" />
+ <value cell_index="9354" local_entity="0" value="0" />
+ <value cell_index="9355" local_entity="0" value="0" />
+ <value cell_index="9356" local_entity="0" value="0" />
+ <value cell_index="9357" local_entity="0" value="0" />
+ <value cell_index="9358" local_entity="0" value="0" />
+ <value cell_index="9359" local_entity="0" value="0" />
+ <value cell_index="9360" local_entity="0" value="0" />
+ <value cell_index="9361" local_entity="0" value="0" />
+ <value cell_index="9362" local_entity="0" value="0" />
+ <value cell_index="9363" local_entity="0" value="0" />
+ <value cell_index="9364" local_entity="0" value="0" />
+ <value cell_index="9365" local_entity="0" value="0" />
+ <value cell_index="9366" local_entity="0" value="0" />
+ <value cell_index="9367" local_entity="0" value="0" />
+ <value cell_index="9368" local_entity="0" value="0" />
+ <value cell_index="9369" local_entity="0" value="0" />
+ <value cell_index="9370" local_entity="0" value="0" />
+ <value cell_index="9371" local_entity="0" value="0" />
+ <value cell_index="9372" local_entity="0" value="0" />
+ <value cell_index="9373" local_entity="0" value="0" />
+ <value cell_index="9374" local_entity="0" value="0" />
+ <value cell_index="9375" local_entity="0" value="0" />
+ <value cell_index="9376" local_entity="0" value="0" />
+ <value cell_index="9377" local_entity="0" value="0" />
+ <value cell_index="9378" local_entity="0" value="0" />
+ <value cell_index="9379" local_entity="0" value="0" />
+ <value cell_index="9380" local_entity="0" value="0" />
+ <value cell_index="9381" local_entity="0" value="0" />
+ <value cell_index="9382" local_entity="0" value="0" />
+ <value cell_index="9383" local_entity="0" value="0" />
+ <value cell_index="9384" local_entity="0" value="0" />
+ <value cell_index="9385" local_entity="0" value="0" />
+ <value cell_index="9386" local_entity="0" value="0" />
+ <value cell_index="9387" local_entity="0" value="0" />
+ <value cell_index="9388" local_entity="0" value="0" />
+ <value cell_index="9389" local_entity="0" value="0" />
+ <value cell_index="9390" local_entity="0" value="0" />
+ <value cell_index="9391" local_entity="0" value="0" />
+ <value cell_index="9392" local_entity="0" value="0" />
+ <value cell_index="9393" local_entity="0" value="0" />
+ <value cell_index="9394" local_entity="0" value="0" />
+ <value cell_index="9395" local_entity="0" value="0" />
+ <value cell_index="9396" local_entity="0" value="0" />
+ <value cell_index="9397" local_entity="0" value="0" />
+ <value cell_index="9398" local_entity="0" value="0" />
+ <value cell_index="9399" local_entity="0" value="0" />
+ <value cell_index="9400" local_entity="0" value="0" />
+ <value cell_index="9401" local_entity="0" value="0" />
+ <value cell_index="9402" local_entity="0" value="0" />
+ <value cell_index="9403" local_entity="0" value="0" />
+ <value cell_index="9404" local_entity="0" value="0" />
+ <value cell_index="9405" local_entity="0" value="0" />
+ <value cell_index="9406" local_entity="0" value="0" />
+ <value cell_index="9407" local_entity="0" value="0" />
+ <value cell_index="9408" local_entity="0" value="0" />
+ <value cell_index="9409" local_entity="0" value="0" />
+ <value cell_index="9410" local_entity="0" value="0" />
+ <value cell_index="9411" local_entity="0" value="0" />
+ <value cell_index="9412" local_entity="0" value="0" />
+ <value cell_index="9413" local_entity="0" value="0" />
+ <value cell_index="9414" local_entity="0" value="0" />
+ <value cell_index="9415" local_entity="0" value="0" />
+ <value cell_index="9416" local_entity="0" value="0" />
+ <value cell_index="9417" local_entity="0" value="0" />
+ <value cell_index="9418" local_entity="0" value="0" />
+ <value cell_index="9419" local_entity="0" value="0" />
+ <value cell_index="9420" local_entity="0" value="0" />
+ <value cell_index="9421" local_entity="0" value="0" />
+ <value cell_index="9422" local_entity="0" value="0" />
+ <value cell_index="9423" local_entity="0" value="0" />
+ <value cell_index="9424" local_entity="0" value="0" />
+ <value cell_index="9425" local_entity="0" value="0" />
+ <value cell_index="9426" local_entity="0" value="0" />
+ <value cell_index="9427" local_entity="0" value="0" />
+ <value cell_index="9428" local_entity="0" value="0" />
+ <value cell_index="9429" local_entity="0" value="0" />
+ <value cell_index="9430" local_entity="0" value="0" />
+ <value cell_index="9431" local_entity="0" value="0" />
+ <value cell_index="9432" local_entity="0" value="0" />
+ <value cell_index="9433" local_entity="0" value="0" />
+ <value cell_index="9434" local_entity="0" value="0" />
+ <value cell_index="9435" local_entity="0" value="0" />
+ <value cell_index="9436" local_entity="0" value="0" />
+ <value cell_index="9437" local_entity="0" value="0" />
+ <value cell_index="9438" local_entity="0" value="0" />
+ <value cell_index="9439" local_entity="0" value="0" />
+ <value cell_index="9440" local_entity="0" value="0" />
+ <value cell_index="9441" local_entity="0" value="0" />
+ <value cell_index="9442" local_entity="0" value="0" />
+ <value cell_index="9443" local_entity="0" value="0" />
+ <value cell_index="9444" local_entity="0" value="0" />
+ <value cell_index="9445" local_entity="0" value="0" />
+ <value cell_index="9446" local_entity="0" value="0" />
+ <value cell_index="9447" local_entity="0" value="0" />
+ <value cell_index="9448" local_entity="0" value="0" />
+ <value cell_index="9449" local_entity="0" value="0" />
+ <value cell_index="9450" local_entity="0" value="0" />
+ <value cell_index="9451" local_entity="0" value="0" />
+ <value cell_index="9452" local_entity="0" value="0" />
+ <value cell_index="9453" local_entity="0" value="0" />
+ <value cell_index="9454" local_entity="0" value="0" />
+ <value cell_index="9455" local_entity="0" value="0" />
+ <value cell_index="9456" local_entity="0" value="0" />
+ <value cell_index="9457" local_entity="0" value="0" />
+ <value cell_index="9458" local_entity="0" value="0" />
+ <value cell_index="9459" local_entity="0" value="0" />
+ <value cell_index="9460" local_entity="0" value="0" />
+ <value cell_index="9461" local_entity="0" value="0" />
+ <value cell_index="9462" local_entity="0" value="0" />
+ <value cell_index="9463" local_entity="0" value="0" />
+ <value cell_index="9464" local_entity="0" value="0" />
+ <value cell_index="9465" local_entity="0" value="0" />
+ <value cell_index="9466" local_entity="0" value="0" />
+ <value cell_index="9467" local_entity="0" value="0" />
+ <value cell_index="9468" local_entity="0" value="0" />
+ <value cell_index="9469" local_entity="0" value="0" />
+ <value cell_index="9470" local_entity="0" value="0" />
+ <value cell_index="9471" local_entity="0" value="0" />
+ <value cell_index="9472" local_entity="0" value="0" />
+ <value cell_index="9473" local_entity="0" value="0" />
+ <value cell_index="9474" local_entity="0" value="0" />
+ <value cell_index="9475" local_entity="0" value="0" />
+ <value cell_index="9476" local_entity="0" value="0" />
+ <value cell_index="9477" local_entity="0" value="0" />
+ <value cell_index="9478" local_entity="0" value="0" />
+ <value cell_index="9479" local_entity="0" value="0" />
+ <value cell_index="9480" local_entity="0" value="0" />
+ <value cell_index="9481" local_entity="0" value="0" />
+ <value cell_index="9482" local_entity="0" value="0" />
+ <value cell_index="9483" local_entity="0" value="0" />
+ <value cell_index="9484" local_entity="0" value="0" />
+ <value cell_index="9485" local_entity="0" value="0" />
+ <value cell_index="9486" local_entity="0" value="0" />
+ <value cell_index="9487" local_entity="0" value="0" />
+ <value cell_index="9488" local_entity="0" value="0" />
+ <value cell_index="9489" local_entity="0" value="0" />
+ <value cell_index="9490" local_entity="0" value="0" />
+ <value cell_index="9491" local_entity="0" value="0" />
+ <value cell_index="9492" local_entity="0" value="0" />
+ <value cell_index="9493" local_entity="0" value="0" />
+ <value cell_index="9494" local_entity="0" value="0" />
+ <value cell_index="9495" local_entity="0" value="0" />
+ <value cell_index="9496" local_entity="0" value="0" />
+ <value cell_index="9497" local_entity="0" value="0" />
+ <value cell_index="9498" local_entity="0" value="0" />
+ <value cell_index="9499" local_entity="0" value="0" />
+ <value cell_index="9500" local_entity="0" value="0" />
+ <value cell_index="9501" local_entity="0" value="0" />
+ <value cell_index="9502" local_entity="0" value="0" />
+ <value cell_index="9503" local_entity="0" value="0" />
+ <value cell_index="9504" local_entity="0" value="0" />
+ <value cell_index="9505" local_entity="0" value="0" />
+ <value cell_index="9506" local_entity="0" value="0" />
+ <value cell_index="9507" local_entity="0" value="0" />
+ <value cell_index="9508" local_entity="0" value="0" />
+ <value cell_index="9509" local_entity="0" value="0" />
+ <value cell_index="9510" local_entity="0" value="0" />
+ <value cell_index="9511" local_entity="0" value="0" />
+ <value cell_index="9512" local_entity="0" value="0" />
+ <value cell_index="9513" local_entity="0" value="0" />
+ <value cell_index="9514" local_entity="0" value="0" />
+ <value cell_index="9515" local_entity="0" value="0" />
+ <value cell_index="9516" local_entity="0" value="0" />
+ <value cell_index="9517" local_entity="0" value="0" />
+ <value cell_index="9518" local_entity="0" value="0" />
+ <value cell_index="9519" local_entity="0" value="0" />
+ <value cell_index="9520" local_entity="0" value="0" />
+ <value cell_index="9521" local_entity="0" value="0" />
+ <value cell_index="9522" local_entity="0" value="0" />
+ <value cell_index="9523" local_entity="0" value="0" />
+ <value cell_index="9524" local_entity="0" value="0" />
+ <value cell_index="9525" local_entity="0" value="0" />
+ <value cell_index="9526" local_entity="0" value="0" />
+ <value cell_index="9527" local_entity="0" value="0" />
+ <value cell_index="9528" local_entity="0" value="0" />
+ <value cell_index="9529" local_entity="0" value="0" />
+ <value cell_index="9530" local_entity="0" value="0" />
+ <value cell_index="9531" local_entity="0" value="0" />
+ <value cell_index="9532" local_entity="0" value="0" />
+ <value cell_index="9533" local_entity="0" value="0" />
+ <value cell_index="9534" local_entity="0" value="0" />
+ <value cell_index="9535" local_entity="0" value="0" />
+ <value cell_index="9536" local_entity="0" value="0" />
+ <value cell_index="9537" local_entity="0" value="0" />
+ <value cell_index="9538" local_entity="0" value="0" />
+ <value cell_index="9539" local_entity="0" value="0" />
+ <value cell_index="9540" local_entity="0" value="0" />
+ <value cell_index="9541" local_entity="0" value="0" />
+ <value cell_index="9542" local_entity="0" value="0" />
+ <value cell_index="9543" local_entity="0" value="0" />
+ <value cell_index="9544" local_entity="0" value="0" />
+ <value cell_index="9545" local_entity="0" value="0" />
+ <value cell_index="9546" local_entity="0" value="0" />
+ <value cell_index="9547" local_entity="0" value="0" />
+ <value cell_index="9548" local_entity="0" value="0" />
+ <value cell_index="9549" local_entity="0" value="0" />
+ <value cell_index="9550" local_entity="0" value="0" />
+ <value cell_index="9551" local_entity="0" value="0" />
+ <value cell_index="9552" local_entity="0" value="0" />
+ <value cell_index="9553" local_entity="0" value="0" />
+ <value cell_index="9554" local_entity="0" value="0" />
+ <value cell_index="9555" local_entity="0" value="0" />
+ <value cell_index="9556" local_entity="0" value="0" />
+ <value cell_index="9557" local_entity="0" value="0" />
+ <value cell_index="9558" local_entity="0" value="0" />
+ <value cell_index="9559" local_entity="0" value="0" />
+ <value cell_index="9560" local_entity="0" value="0" />
+ <value cell_index="9561" local_entity="0" value="0" />
+ <value cell_index="9562" local_entity="0" value="0" />
+ <value cell_index="9563" local_entity="0" value="0" />
+ <value cell_index="9564" local_entity="0" value="0" />
+ <value cell_index="9565" local_entity="0" value="0" />
+ <value cell_index="9566" local_entity="0" value="0" />
+ <value cell_index="9567" local_entity="0" value="0" />
+ <value cell_index="9568" local_entity="0" value="0" />
+ <value cell_index="9569" local_entity="0" value="0" />
+ <value cell_index="9570" local_entity="0" value="0" />
+ <value cell_index="9571" local_entity="0" value="0" />
+ <value cell_index="9572" local_entity="0" value="0" />
+ <value cell_index="9573" local_entity="0" value="0" />
+ <value cell_index="9574" local_entity="0" value="0" />
+ <value cell_index="9575" local_entity="0" value="0" />
+ <value cell_index="9576" local_entity="0" value="0" />
+ <value cell_index="9577" local_entity="0" value="0" />
+ <value cell_index="9578" local_entity="0" value="0" />
+ <value cell_index="9579" local_entity="0" value="0" />
+ <value cell_index="9580" local_entity="0" value="0" />
+ <value cell_index="9581" local_entity="0" value="0" />
+ <value cell_index="9582" local_entity="0" value="0" />
+ <value cell_index="9583" local_entity="0" value="0" />
+ <value cell_index="9584" local_entity="0" value="0" />
+ <value cell_index="9585" local_entity="0" value="0" />
+ <value cell_index="9586" local_entity="0" value="0" />
+ <value cell_index="9587" local_entity="0" value="0" />
+ <value cell_index="9588" local_entity="0" value="0" />
+ <value cell_index="9589" local_entity="0" value="0" />
+ <value cell_index="9590" local_entity="0" value="0" />
+ <value cell_index="9591" local_entity="0" value="0" />
+ <value cell_index="9592" local_entity="0" value="0" />
+ <value cell_index="9593" local_entity="0" value="0" />
+ <value cell_index="9594" local_entity="0" value="0" />
+ <value cell_index="9595" local_entity="0" value="0" />
+ <value cell_index="9596" local_entity="0" value="0" />
+ <value cell_index="9597" local_entity="0" value="0" />
+ <value cell_index="9598" local_entity="0" value="0" />
+ <value cell_index="9599" local_entity="0" value="0" />
+ <value cell_index="9600" local_entity="0" value="0" />
+ <value cell_index="9601" local_entity="0" value="0" />
+ <value cell_index="9602" local_entity="0" value="0" />
+ <value cell_index="9603" local_entity="0" value="0" />
+ <value cell_index="9604" local_entity="0" value="0" />
+ <value cell_index="9605" local_entity="0" value="0" />
+ <value cell_index="9606" local_entity="0" value="0" />
+ <value cell_index="9607" local_entity="0" value="0" />
+ <value cell_index="9608" local_entity="0" value="0" />
+ <value cell_index="9609" local_entity="0" value="0" />
+ <value cell_index="9610" local_entity="0" value="0" />
+ <value cell_index="9611" local_entity="0" value="0" />
+ <value cell_index="9612" local_entity="0" value="0" />
+ <value cell_index="9613" local_entity="0" value="0" />
+ <value cell_index="9614" local_entity="0" value="0" />
+ <value cell_index="9615" local_entity="0" value="0" />
+ <value cell_index="9616" local_entity="0" value="0" />
+ <value cell_index="9617" local_entity="0" value="0" />
+ <value cell_index="9618" local_entity="0" value="0" />
+ <value cell_index="9619" local_entity="0" value="0" />
+ <value cell_index="9620" local_entity="0" value="0" />
+ <value cell_index="9621" local_entity="0" value="0" />
+ <value cell_index="9622" local_entity="0" value="0" />
+ <value cell_index="9623" local_entity="0" value="0" />
+ <value cell_index="9624" local_entity="0" value="0" />
+ <value cell_index="9625" local_entity="0" value="0" />
+ <value cell_index="9626" local_entity="0" value="0" />
+ <value cell_index="9627" local_entity="0" value="0" />
+ <value cell_index="9628" local_entity="0" value="0" />
+ <value cell_index="9629" local_entity="0" value="0" />
+ <value cell_index="9630" local_entity="0" value="0" />
+ <value cell_index="9631" local_entity="0" value="0" />
+ <value cell_index="9632" local_entity="0" value="0" />
+ <value cell_index="9633" local_entity="0" value="0" />
+ <value cell_index="9634" local_entity="0" value="0" />
+ <value cell_index="9635" local_entity="0" value="0" />
+ <value cell_index="9636" local_entity="0" value="0" />
+ <value cell_index="9637" local_entity="0" value="0" />
+ <value cell_index="9638" local_entity="0" value="0" />
+ <value cell_index="9639" local_entity="0" value="0" />
+ <value cell_index="9640" local_entity="0" value="0" />
+ <value cell_index="9641" local_entity="0" value="0" />
+ <value cell_index="9642" local_entity="0" value="0" />
+ <value cell_index="9643" local_entity="0" value="0" />
+ <value cell_index="9644" local_entity="0" value="0" />
+ <value cell_index="9645" local_entity="0" value="0" />
+ <value cell_index="9646" local_entity="0" value="0" />
+ <value cell_index="9647" local_entity="0" value="0" />
+ <value cell_index="9648" local_entity="0" value="0" />
+ <value cell_index="9649" local_entity="0" value="0" />
+ <value cell_index="9650" local_entity="0" value="0" />
+ <value cell_index="9651" local_entity="0" value="0" />
+ <value cell_index="9652" local_entity="0" value="0" />
+ <value cell_index="9653" local_entity="0" value="0" />
+ <value cell_index="9654" local_entity="0" value="0" />
+ <value cell_index="9655" local_entity="0" value="0" />
+ <value cell_index="9656" local_entity="0" value="0" />
+ <value cell_index="9657" local_entity="0" value="0" />
+ <value cell_index="9658" local_entity="0" value="0" />
+ <value cell_index="9659" local_entity="0" value="0" />
+ <value cell_index="9660" local_entity="0" value="0" />
+ <value cell_index="9661" local_entity="0" value="0" />
+ <value cell_index="9662" local_entity="0" value="0" />
+ <value cell_index="9663" local_entity="0" value="0" />
+ <value cell_index="9664" local_entity="0" value="0" />
+ <value cell_index="9665" local_entity="0" value="0" />
+ <value cell_index="9666" local_entity="0" value="0" />
+ <value cell_index="9667" local_entity="0" value="0" />
+ <value cell_index="9668" local_entity="0" value="0" />
+ <value cell_index="9669" local_entity="0" value="0" />
+ <value cell_index="9670" local_entity="0" value="0" />
+ <value cell_index="9671" local_entity="0" value="0" />
+ <value cell_index="9672" local_entity="0" value="0" />
+ <value cell_index="9673" local_entity="0" value="0" />
+ <value cell_index="9674" local_entity="0" value="0" />
+ <value cell_index="9675" local_entity="0" value="0" />
+ <value cell_index="9676" local_entity="0" value="0" />
+ <value cell_index="9677" local_entity="0" value="0" />
+ <value cell_index="9678" local_entity="0" value="0" />
+ <value cell_index="9679" local_entity="0" value="0" />
+ <value cell_index="9680" local_entity="0" value="0" />
+ <value cell_index="9681" local_entity="0" value="0" />
+ <value cell_index="9682" local_entity="0" value="0" />
+ <value cell_index="9683" local_entity="0" value="0" />
+ <value cell_index="9684" local_entity="0" value="0" />
+ <value cell_index="9685" local_entity="0" value="0" />
+ <value cell_index="9686" local_entity="0" value="0" />
+ <value cell_index="9687" local_entity="0" value="0" />
+ <value cell_index="9688" local_entity="0" value="0" />
+ <value cell_index="9689" local_entity="0" value="0" />
+ <value cell_index="9690" local_entity="0" value="0" />
+ <value cell_index="9691" local_entity="0" value="0" />
+ <value cell_index="9692" local_entity="0" value="0" />
+ <value cell_index="9693" local_entity="0" value="0" />
+ <value cell_index="9694" local_entity="0" value="0" />
+ <value cell_index="9695" local_entity="0" value="0" />
+ <value cell_index="9696" local_entity="0" value="0" />
+ <value cell_index="9697" local_entity="0" value="0" />
+ <value cell_index="9698" local_entity="0" value="0" />
+ <value cell_index="9699" local_entity="0" value="0" />
+ <value cell_index="9700" local_entity="0" value="0" />
+ <value cell_index="9701" local_entity="0" value="0" />
+ <value cell_index="9702" local_entity="0" value="0" />
+ <value cell_index="9703" local_entity="0" value="0" />
+ <value cell_index="9704" local_entity="0" value="0" />
+ <value cell_index="9705" local_entity="0" value="0" />
+ <value cell_index="9706" local_entity="0" value="0" />
+ <value cell_index="9707" local_entity="0" value="0" />
+ <value cell_index="9708" local_entity="0" value="0" />
+ <value cell_index="9709" local_entity="0" value="0" />
+ <value cell_index="9710" local_entity="0" value="0" />
+ <value cell_index="9711" local_entity="0" value="0" />
+ <value cell_index="9712" local_entity="0" value="0" />
+ <value cell_index="9713" local_entity="0" value="0" />
+ <value cell_index="9714" local_entity="0" value="0" />
+ <value cell_index="9715" local_entity="0" value="0" />
+ <value cell_index="9716" local_entity="0" value="0" />
+ <value cell_index="9717" local_entity="0" value="0" />
+ <value cell_index="9718" local_entity="0" value="0" />
+ <value cell_index="9719" local_entity="0" value="0" />
+ <value cell_index="9720" local_entity="0" value="0" />
+ <value cell_index="9721" local_entity="0" value="0" />
+ <value cell_index="9722" local_entity="0" value="0" />
+ <value cell_index="9723" local_entity="0" value="0" />
+ <value cell_index="9724" local_entity="0" value="0" />
+ <value cell_index="9725" local_entity="0" value="0" />
+ <value cell_index="9726" local_entity="0" value="0" />
+ <value cell_index="9727" local_entity="0" value="0" />
+ <value cell_index="9728" local_entity="0" value="0" />
+ <value cell_index="9729" local_entity="0" value="0" />
+ <value cell_index="9730" local_entity="0" value="0" />
+ <value cell_index="9731" local_entity="0" value="0" />
+ <value cell_index="9732" local_entity="0" value="0" />
+ <value cell_index="9733" local_entity="0" value="0" />
+ <value cell_index="9734" local_entity="0" value="0" />
+ <value cell_index="9735" local_entity="0" value="0" />
+ <value cell_index="9736" local_entity="0" value="0" />
+ <value cell_index="9737" local_entity="0" value="0" />
+ <value cell_index="9738" local_entity="0" value="0" />
+ <value cell_index="9739" local_entity="0" value="0" />
+ <value cell_index="9740" local_entity="0" value="0" />
+ <value cell_index="9741" local_entity="0" value="0" />
+ <value cell_index="9742" local_entity="0" value="0" />
+ <value cell_index="9743" local_entity="0" value="0" />
+ <value cell_index="9744" local_entity="0" value="0" />
+ <value cell_index="9745" local_entity="0" value="0" />
+ <value cell_index="9746" local_entity="0" value="0" />
+ <value cell_index="9747" local_entity="0" value="0" />
+ <value cell_index="9748" local_entity="0" value="0" />
+ <value cell_index="9749" local_entity="0" value="0" />
+ <value cell_index="9750" local_entity="0" value="0" />
+ <value cell_index="9751" local_entity="0" value="0" />
+ <value cell_index="9752" local_entity="0" value="0" />
+ <value cell_index="9753" local_entity="0" value="0" />
+ <value cell_index="9754" local_entity="0" value="0" />
+ <value cell_index="9755" local_entity="0" value="0" />
+ <value cell_index="9756" local_entity="0" value="0" />
+ <value cell_index="9757" local_entity="0" value="0" />
+ <value cell_index="9758" local_entity="0" value="0" />
+ <value cell_index="9759" local_entity="0" value="0" />
+ <value cell_index="9760" local_entity="0" value="0" />
+ <value cell_index="9761" local_entity="0" value="0" />
+ <value cell_index="9762" local_entity="0" value="0" />
+ <value cell_index="9763" local_entity="0" value="0" />
+ <value cell_index="9764" local_entity="0" value="0" />
+ <value cell_index="9765" local_entity="0" value="0" />
+ <value cell_index="9766" local_entity="0" value="0" />
+ <value cell_index="9767" local_entity="0" value="0" />
+ <value cell_index="9768" local_entity="0" value="0" />
+ <value cell_index="9769" local_entity="0" value="0" />
+ <value cell_index="9770" local_entity="0" value="0" />
+ <value cell_index="9771" local_entity="0" value="0" />
+ <value cell_index="9772" local_entity="0" value="0" />
+ <value cell_index="9773" local_entity="0" value="0" />
+ <value cell_index="9774" local_entity="0" value="0" />
+ <value cell_index="9775" local_entity="0" value="0" />
+ <value cell_index="9776" local_entity="0" value="0" />
+ <value cell_index="9777" local_entity="0" value="0" />
+ <value cell_index="9778" local_entity="0" value="0" />
+ <value cell_index="9779" local_entity="0" value="0" />
+ <value cell_index="9780" local_entity="0" value="0" />
+ <value cell_index="9781" local_entity="0" value="0" />
+ <value cell_index="9782" local_entity="0" value="0" />
+ <value cell_index="9783" local_entity="0" value="0" />
+ <value cell_index="9784" local_entity="0" value="0" />
+ <value cell_index="9785" local_entity="0" value="0" />
+ <value cell_index="9786" local_entity="0" value="0" />
+ <value cell_index="9787" local_entity="0" value="0" />
+ <value cell_index="9788" local_entity="0" value="0" />
+ <value cell_index="9789" local_entity="0" value="0" />
+ <value cell_index="9790" local_entity="0" value="0" />
+ <value cell_index="9791" local_entity="0" value="0" />
+ <value cell_index="9792" local_entity="0" value="0" />
+ <value cell_index="9793" local_entity="0" value="0" />
+ <value cell_index="9794" local_entity="0" value="0" />
+ <value cell_index="9795" local_entity="0" value="0" />
+ <value cell_index="9796" local_entity="0" value="0" />
+ <value cell_index="9797" local_entity="0" value="0" />
+ <value cell_index="9798" local_entity="0" value="0" />
+ <value cell_index="9799" local_entity="0" value="0" />
+ <value cell_index="9800" local_entity="0" value="0" />
+ <value cell_index="9801" local_entity="0" value="0" />
+ <value cell_index="9802" local_entity="0" value="0" />
+ <value cell_index="9803" local_entity="0" value="0" />
+ <value cell_index="9804" local_entity="0" value="0" />
+ <value cell_index="9805" local_entity="0" value="0" />
+ <value cell_index="9806" local_entity="0" value="0" />
+ <value cell_index="9807" local_entity="0" value="0" />
+ <value cell_index="9808" local_entity="0" value="0" />
+ <value cell_index="9809" local_entity="0" value="0" />
+ <value cell_index="9810" local_entity="0" value="0" />
+ <value cell_index="9811" local_entity="0" value="0" />
+ <value cell_index="9812" local_entity="0" value="0" />
+ <value cell_index="9813" local_entity="0" value="0" />
+ <value cell_index="9814" local_entity="0" value="0" />
+ <value cell_index="9815" local_entity="0" value="0" />
+ <value cell_index="9816" local_entity="0" value="0" />
+ <value cell_index="9817" local_entity="0" value="0" />
+ <value cell_index="9818" local_entity="0" value="0" />
+ <value cell_index="9819" local_entity="0" value="0" />
+ <value cell_index="9820" local_entity="0" value="0" />
+ <value cell_index="9821" local_entity="0" value="0" />
+ <value cell_index="9822" local_entity="0" value="0" />
+ <value cell_index="9823" local_entity="0" value="0" />
+ <value cell_index="9824" local_entity="0" value="0" />
+ <value cell_index="9825" local_entity="0" value="0" />
+ <value cell_index="9826" local_entity="0" value="0" />
+ <value cell_index="9827" local_entity="0" value="0" />
+ <value cell_index="9828" local_entity="0" value="0" />
+ <value cell_index="9829" local_entity="0" value="0" />
+ <value cell_index="9830" local_entity="0" value="0" />
+ <value cell_index="9831" local_entity="0" value="0" />
+ <value cell_index="9832" local_entity="0" value="0" />
+ <value cell_index="9833" local_entity="0" value="0" />
+ <value cell_index="9834" local_entity="0" value="0" />
+ <value cell_index="9835" local_entity="0" value="0" />
+ <value cell_index="9836" local_entity="0" value="0" />
+ <value cell_index="9837" local_entity="0" value="0" />
+ <value cell_index="9838" local_entity="0" value="0" />
+ <value cell_index="9839" local_entity="0" value="0" />
+ <value cell_index="9840" local_entity="0" value="0" />
+ <value cell_index="9841" local_entity="0" value="0" />
+ <value cell_index="9842" local_entity="0" value="0" />
+ <value cell_index="9843" local_entity="0" value="0" />
+ <value cell_index="9844" local_entity="0" value="0" />
+ <value cell_index="9845" local_entity="0" value="0" />
+ <value cell_index="9846" local_entity="0" value="0" />
+ <value cell_index="9847" local_entity="0" value="0" />
+ <value cell_index="9848" local_entity="0" value="0" />
+ <value cell_index="9849" local_entity="0" value="0" />
+ <value cell_index="9850" local_entity="0" value="0" />
+ <value cell_index="9851" local_entity="0" value="0" />
+ <value cell_index="9852" local_entity="0" value="0" />
+ <value cell_index="9853" local_entity="0" value="0" />
+ <value cell_index="9854" local_entity="0" value="0" />
+ <value cell_index="9855" local_entity="0" value="0" />
+ <value cell_index="9856" local_entity="0" value="0" />
+ <value cell_index="9857" local_entity="0" value="0" />
+ <value cell_index="9858" local_entity="0" value="0" />
+ <value cell_index="9859" local_entity="0" value="0" />
+ <value cell_index="9860" local_entity="0" value="0" />
+ <value cell_index="9861" local_entity="0" value="0" />
+ <value cell_index="9862" local_entity="0" value="0" />
+ <value cell_index="9863" local_entity="0" value="0" />
+ <value cell_index="9864" local_entity="0" value="0" />
+ <value cell_index="9865" local_entity="0" value="0" />
+ <value cell_index="9866" local_entity="0" value="0" />
+ <value cell_index="9867" local_entity="0" value="0" />
+ <value cell_index="9868" local_entity="0" value="0" />
+ <value cell_index="9869" local_entity="0" value="0" />
+ <value cell_index="9870" local_entity="0" value="0" />
+ <value cell_index="9871" local_entity="0" value="0" />
+ <value cell_index="9872" local_entity="0" value="0" />
+ <value cell_index="9873" local_entity="0" value="0" />
+ <value cell_index="9874" local_entity="0" value="0" />
+ <value cell_index="9875" local_entity="0" value="0" />
+ <value cell_index="9876" local_entity="0" value="0" />
+ <value cell_index="9877" local_entity="0" value="0" />
+ <value cell_index="9878" local_entity="0" value="0" />
+ <value cell_index="9879" local_entity="0" value="0" />
+ <value cell_index="9880" local_entity="0" value="0" />
+ <value cell_index="9881" local_entity="0" value="0" />
+ <value cell_index="9882" local_entity="0" value="0" />
+ <value cell_index="9883" local_entity="0" value="0" />
+ <value cell_index="9884" local_entity="0" value="0" />
+ <value cell_index="9885" local_entity="0" value="0" />
+ <value cell_index="9886" local_entity="0" value="0" />
+ <value cell_index="9887" local_entity="0" value="0" />
+ <value cell_index="9888" local_entity="0" value="0" />
+ <value cell_index="9889" local_entity="0" value="0" />
+ <value cell_index="9890" local_entity="0" value="0" />
+ <value cell_index="9891" local_entity="0" value="0" />
+ <value cell_index="9892" local_entity="0" value="0" />
+ <value cell_index="9893" local_entity="0" value="0" />
+ <value cell_index="9894" local_entity="0" value="0" />
+ <value cell_index="9895" local_entity="0" value="0" />
+ <value cell_index="9896" local_entity="0" value="0" />
+ <value cell_index="9897" local_entity="0" value="0" />
+ <value cell_index="9898" local_entity="0" value="0" />
+ <value cell_index="9899" local_entity="0" value="0" />
+ <value cell_index="9900" local_entity="0" value="0" />
+ <value cell_index="9901" local_entity="0" value="0" />
+ <value cell_index="9902" local_entity="0" value="0" />
+ <value cell_index="9903" local_entity="0" value="0" />
+ <value cell_index="9904" local_entity="0" value="0" />
+ <value cell_index="9905" local_entity="0" value="0" />
+ <value cell_index="9906" local_entity="0" value="0" />
+ <value cell_index="9907" local_entity="0" value="0" />
+ <value cell_index="9908" local_entity="0" value="0" />
+ <value cell_index="9909" local_entity="0" value="0" />
+ <value cell_index="9910" local_entity="0" value="0" />
+ <value cell_index="9911" local_entity="0" value="0" />
+ <value cell_index="9912" local_entity="0" value="0" />
+ <value cell_index="9913" local_entity="0" value="0" />
+ <value cell_index="9914" local_entity="0" value="0" />
+ <value cell_index="9915" local_entity="0" value="0" />
+ <value cell_index="9916" local_entity="0" value="0" />
+ <value cell_index="9917" local_entity="0" value="0" />
+ <value cell_index="9918" local_entity="0" value="0" />
+ <value cell_index="9919" local_entity="0" value="0" />
+ <value cell_index="9920" local_entity="0" value="0" />
+ <value cell_index="9921" local_entity="0" value="0" />
+ <value cell_index="9922" local_entity="0" value="0" />
+ <value cell_index="9923" local_entity="0" value="0" />
+ <value cell_index="9924" local_entity="0" value="0" />
+ <value cell_index="9925" local_entity="0" value="0" />
+ <value cell_index="9926" local_entity="0" value="0" />
+ <value cell_index="9927" local_entity="0" value="0" />
+ <value cell_index="9928" local_entity="0" value="0" />
+ <value cell_index="9929" local_entity="0" value="0" />
+ <value cell_index="9930" local_entity="0" value="0" />
+ <value cell_index="9931" local_entity="0" value="0" />
+ <value cell_index="9932" local_entity="0" value="0" />
+ <value cell_index="9933" local_entity="0" value="0" />
+ <value cell_index="9934" local_entity="0" value="0" />
+ <value cell_index="9935" local_entity="0" value="0" />
+ <value cell_index="9936" local_entity="0" value="0" />
+ <value cell_index="9937" local_entity="0" value="0" />
+ <value cell_index="9938" local_entity="0" value="0" />
+ <value cell_index="9939" local_entity="0" value="0" />
+ <value cell_index="9940" local_entity="0" value="0" />
+ <value cell_index="9941" local_entity="0" value="0" />
+ <value cell_index="9942" local_entity="0" value="0" />
+ <value cell_index="9943" local_entity="0" value="0" />
+ <value cell_index="9944" local_entity="0" value="0" />
+ <value cell_index="9945" local_entity="0" value="0" />
+ <value cell_index="9946" local_entity="0" value="0" />
+ <value cell_index="9947" local_entity="0" value="0" />
+ <value cell_index="9948" local_entity="0" value="0" />
+ <value cell_index="9949" local_entity="0" value="0" />
+ <value cell_index="9950" local_entity="0" value="0" />
+ <value cell_index="9951" local_entity="0" value="0" />
+ <value cell_index="9952" local_entity="0" value="0" />
+ <value cell_index="9953" local_entity="0" value="0" />
+ <value cell_index="9954" local_entity="0" value="0" />
+ <value cell_index="9955" local_entity="0" value="0" />
+ <value cell_index="9956" local_entity="0" value="0" />
+ <value cell_index="9957" local_entity="0" value="0" />
+ <value cell_index="9958" local_entity="0" value="0" />
+ <value cell_index="9959" local_entity="0" value="0" />
+ <value cell_index="9960" local_entity="0" value="0" />
+ <value cell_index="9961" local_entity="0" value="0" />
+ <value cell_index="9962" local_entity="0" value="0" />
+ <value cell_index="9963" local_entity="0" value="0" />
+ <value cell_index="9964" local_entity="0" value="0" />
+ <value cell_index="9965" local_entity="0" value="0" />
+ <value cell_index="9966" local_entity="0" value="0" />
+ <value cell_index="9967" local_entity="0" value="0" />
+ <value cell_index="9968" local_entity="0" value="0" />
+ <value cell_index="9969" local_entity="0" value="0" />
+ <value cell_index="9970" local_entity="0" value="0" />
+ <value cell_index="9971" local_entity="0" value="0" />
+ <value cell_index="9972" local_entity="0" value="0" />
+ <value cell_index="9973" local_entity="0" value="0" />
+ <value cell_index="9974" local_entity="0" value="0" />
+ <value cell_index="9975" local_entity="0" value="0" />
+ <value cell_index="9976" local_entity="0" value="0" />
+ <value cell_index="9977" local_entity="0" value="0" />
+ <value cell_index="9978" local_entity="0" value="0" />
+ <value cell_index="9979" local_entity="0" value="0" />
+ <value cell_index="9980" local_entity="0" value="0" />
+ <value cell_index="9981" local_entity="0" value="0" />
+ <value cell_index="9982" local_entity="0" value="0" />
+ <value cell_index="9983" local_entity="0" value="0" />
+ <value cell_index="9984" local_entity="0" value="0" />
+ <value cell_index="9985" local_entity="0" value="0" />
+ <value cell_index="9986" local_entity="0" value="0" />
+ <value cell_index="9987" local_entity="0" value="0" />
+ <value cell_index="9988" local_entity="0" value="0" />
+ <value cell_index="9989" local_entity="0" value="0" />
+ <value cell_index="9990" local_entity="0" value="0" />
+ <value cell_index="9991" local_entity="0" value="0" />
+ <value cell_index="9992" local_entity="0" value="0" />
+ <value cell_index="9993" local_entity="0" value="0" />
+ <value cell_index="9994" local_entity="0" value="0" />
+ <value cell_index="9995" local_entity="0" value="0" />
+ <value cell_index="9996" local_entity="0" value="0" />
+ <value cell_index="9997" local_entity="0" value="0" />
+ <value cell_index="9998" local_entity="0" value="0" />
+ <value cell_index="9999" local_entity="0" value="0" />
+ <value cell_index="10000" local_entity="0" value="0" />
+ <value cell_index="10001" local_entity="0" value="0" />
+ <value cell_index="10002" local_entity="0" value="0" />
+ <value cell_index="10003" local_entity="0" value="0" />
+ <value cell_index="10004" local_entity="0" value="0" />
+ <value cell_index="10005" local_entity="0" value="0" />
+ <value cell_index="10006" local_entity="0" value="0" />
+ <value cell_index="10007" local_entity="0" value="0" />
+ <value cell_index="10008" local_entity="0" value="0" />
+ <value cell_index="10009" local_entity="0" value="0" />
+ <value cell_index="10010" local_entity="0" value="0" />
+ <value cell_index="10011" local_entity="0" value="0" />
+ <value cell_index="10012" local_entity="0" value="0" />
+ <value cell_index="10013" local_entity="0" value="0" />
+ <value cell_index="10014" local_entity="0" value="0" />
+ <value cell_index="10015" local_entity="0" value="0" />
+ <value cell_index="10016" local_entity="0" value="0" />
+ <value cell_index="10017" local_entity="0" value="0" />
+ <value cell_index="10018" local_entity="0" value="0" />
+ <value cell_index="10019" local_entity="0" value="0" />
+ <value cell_index="10020" local_entity="0" value="0" />
+ <value cell_index="10021" local_entity="0" value="0" />
+ <value cell_index="10022" local_entity="0" value="0" />
+ <value cell_index="10023" local_entity="0" value="0" />
+ <value cell_index="10024" local_entity="0" value="0" />
+ <value cell_index="10025" local_entity="0" value="0" />
+ <value cell_index="10026" local_entity="0" value="0" />
+ <value cell_index="10027" local_entity="0" value="0" />
+ <value cell_index="10028" local_entity="0" value="0" />
+ <value cell_index="10029" local_entity="0" value="0" />
+ <value cell_index="10030" local_entity="0" value="0" />
+ <value cell_index="10031" local_entity="0" value="0" />
+ <value cell_index="10032" local_entity="0" value="0" />
+ <value cell_index="10033" local_entity="0" value="0" />
+ <value cell_index="10034" local_entity="0" value="0" />
+ <value cell_index="10035" local_entity="0" value="0" />
+ <value cell_index="10036" local_entity="0" value="0" />
+ <value cell_index="10037" local_entity="0" value="0" />
+ <value cell_index="10038" local_entity="0" value="0" />
+ <value cell_index="10039" local_entity="0" value="0" />
+ <value cell_index="10040" local_entity="0" value="0" />
+ <value cell_index="10041" local_entity="0" value="0" />
+ <value cell_index="10042" local_entity="0" value="0" />
+ <value cell_index="10043" local_entity="0" value="0" />
+ <value cell_index="10044" local_entity="0" value="0" />
+ <value cell_index="10045" local_entity="0" value="0" />
+ <value cell_index="10046" local_entity="0" value="0" />
+ <value cell_index="10047" local_entity="0" value="0" />
+ <value cell_index="10048" local_entity="0" value="0" />
+ <value cell_index="10049" local_entity="0" value="0" />
+ <value cell_index="10050" local_entity="0" value="0" />
+ <value cell_index="10051" local_entity="0" value="0" />
+ <value cell_index="10052" local_entity="0" value="0" />
+ <value cell_index="10053" local_entity="0" value="0" />
+ <value cell_index="10054" local_entity="0" value="0" />
+ <value cell_index="10055" local_entity="0" value="0" />
+ <value cell_index="10056" local_entity="0" value="0" />
+ <value cell_index="10057" local_entity="0" value="0" />
+ <value cell_index="10058" local_entity="0" value="0" />
+ <value cell_index="10059" local_entity="0" value="0" />
+ <value cell_index="10060" local_entity="0" value="0" />
+ <value cell_index="10061" local_entity="0" value="0" />
+ <value cell_index="10062" local_entity="0" value="0" />
+ <value cell_index="10063" local_entity="0" value="0" />
+ <value cell_index="10064" local_entity="0" value="0" />
+ <value cell_index="10065" local_entity="0" value="0" />
+ <value cell_index="10066" local_entity="0" value="0" />
+ <value cell_index="10067" local_entity="0" value="0" />
+ <value cell_index="10068" local_entity="0" value="0" />
+ <value cell_index="10069" local_entity="0" value="0" />
+ <value cell_index="10070" local_entity="0" value="0" />
+ <value cell_index="10071" local_entity="0" value="0" />
+ <value cell_index="10072" local_entity="0" value="0" />
+ <value cell_index="10073" local_entity="0" value="0" />
+ <value cell_index="10074" local_entity="0" value="0" />
+ <value cell_index="10075" local_entity="0" value="0" />
+ <value cell_index="10076" local_entity="0" value="0" />
+ <value cell_index="10077" local_entity="0" value="0" />
+ <value cell_index="10078" local_entity="0" value="0" />
+ <value cell_index="10079" local_entity="0" value="0" />
+ <value cell_index="10080" local_entity="0" value="0" />
+ <value cell_index="10081" local_entity="0" value="0" />
+ <value cell_index="10082" local_entity="0" value="0" />
+ <value cell_index="10083" local_entity="0" value="0" />
+ <value cell_index="10084" local_entity="0" value="0" />
+ <value cell_index="10085" local_entity="0" value="0" />
+ <value cell_index="10086" local_entity="0" value="0" />
+ <value cell_index="10087" local_entity="0" value="0" />
+ <value cell_index="10088" local_entity="0" value="0" />
+ <value cell_index="10089" local_entity="0" value="0" />
+ <value cell_index="10090" local_entity="0" value="0" />
+ <value cell_index="10091" local_entity="0" value="0" />
+ <value cell_index="10092" local_entity="0" value="0" />
+ <value cell_index="10093" local_entity="0" value="0" />
+ <value cell_index="10094" local_entity="0" value="0" />
+ <value cell_index="10095" local_entity="0" value="0" />
+ <value cell_index="10096" local_entity="0" value="0" />
+ <value cell_index="10097" local_entity="0" value="0" />
+ <value cell_index="10098" local_entity="0" value="0" />
+ <value cell_index="10099" local_entity="0" value="0" />
+ <value cell_index="10100" local_entity="0" value="0" />
+ <value cell_index="10101" local_entity="0" value="0" />
+ <value cell_index="10102" local_entity="0" value="0" />
+ <value cell_index="10103" local_entity="0" value="0" />
+ <value cell_index="10104" local_entity="0" value="0" />
+ <value cell_index="10105" local_entity="0" value="0" />
+ <value cell_index="10106" local_entity="0" value="0" />
+ <value cell_index="10107" local_entity="0" value="0" />
+ <value cell_index="10108" local_entity="0" value="0" />
+ <value cell_index="10109" local_entity="0" value="0" />
+ <value cell_index="10110" local_entity="0" value="0" />
+ <value cell_index="10111" local_entity="0" value="0" />
+ <value cell_index="10112" local_entity="0" value="0" />
+ <value cell_index="10113" local_entity="0" value="0" />
+ <value cell_index="10114" local_entity="0" value="0" />
+ <value cell_index="10115" local_entity="0" value="0" />
+ <value cell_index="10116" local_entity="0" value="0" />
+ <value cell_index="10117" local_entity="0" value="0" />
+ <value cell_index="10118" local_entity="0" value="0" />
+ <value cell_index="10119" local_entity="0" value="0" />
+ <value cell_index="10120" local_entity="0" value="0" />
+ <value cell_index="10121" local_entity="0" value="0" />
+ <value cell_index="10122" local_entity="0" value="0" />
+ <value cell_index="10123" local_entity="0" value="0" />
+ <value cell_index="10124" local_entity="0" value="0" />
+ <value cell_index="10125" local_entity="0" value="0" />
+ <value cell_index="10126" local_entity="0" value="0" />
+ <value cell_index="10127" local_entity="0" value="0" />
+ <value cell_index="10128" local_entity="0" value="0" />
+ <value cell_index="10129" local_entity="0" value="0" />
+ <value cell_index="10130" local_entity="0" value="0" />
+ <value cell_index="10131" local_entity="0" value="0" />
+ <value cell_index="10132" local_entity="0" value="0" />
+ <value cell_index="10133" local_entity="0" value="0" />
+ <value cell_index="10134" local_entity="0" value="0" />
+ <value cell_index="10135" local_entity="0" value="0" />
+ <value cell_index="10136" local_entity="0" value="0" />
+ <value cell_index="10137" local_entity="0" value="0" />
+ <value cell_index="10138" local_entity="0" value="0" />
+ <value cell_index="10139" local_entity="0" value="0" />
+ <value cell_index="10140" local_entity="0" value="0" />
+ <value cell_index="10141" local_entity="0" value="0" />
+ <value cell_index="10142" local_entity="0" value="0" />
+ <value cell_index="10143" local_entity="0" value="0" />
+ <value cell_index="10144" local_entity="0" value="0" />
+ <value cell_index="10145" local_entity="0" value="0" />
+ <value cell_index="10146" local_entity="0" value="0" />
+ <value cell_index="10147" local_entity="0" value="0" />
+ <value cell_index="10148" local_entity="0" value="0" />
+ <value cell_index="10149" local_entity="0" value="0" />
+ <value cell_index="10150" local_entity="0" value="0" />
+ <value cell_index="10151" local_entity="0" value="0" />
+ <value cell_index="10152" local_entity="0" value="0" />
+ <value cell_index="10153" local_entity="0" value="0" />
+ <value cell_index="10154" local_entity="0" value="0" />
+ <value cell_index="10155" local_entity="0" value="0" />
+ <value cell_index="10156" local_entity="0" value="0" />
+ <value cell_index="10157" local_entity="0" value="0" />
+ <value cell_index="10158" local_entity="0" value="0" />
+ <value cell_index="10159" local_entity="0" value="0" />
+ <value cell_index="10160" local_entity="0" value="0" />
+ <value cell_index="10161" local_entity="0" value="0" />
+ <value cell_index="10162" local_entity="0" value="0" />
+ <value cell_index="10163" local_entity="0" value="0" />
+ <value cell_index="10164" local_entity="0" value="0" />
+ <value cell_index="10165" local_entity="0" value="0" />
+ <value cell_index="10166" local_entity="0" value="0" />
+ <value cell_index="10167" local_entity="0" value="0" />
+ <value cell_index="10168" local_entity="0" value="0" />
+ <value cell_index="10169" local_entity="0" value="0" />
+ <value cell_index="10170" local_entity="0" value="0" />
+ <value cell_index="10171" local_entity="0" value="0" />
+ <value cell_index="10172" local_entity="0" value="0" />
+ <value cell_index="10173" local_entity="0" value="0" />
+ <value cell_index="10174" local_entity="0" value="0" />
+ <value cell_index="10175" local_entity="0" value="0" />
+ <value cell_index="10176" local_entity="0" value="0" />
+ <value cell_index="10177" local_entity="0" value="0" />
+ <value cell_index="10178" local_entity="0" value="0" />
+ <value cell_index="10179" local_entity="0" value="0" />
+ <value cell_index="10180" local_entity="0" value="0" />
+ <value cell_index="10181" local_entity="0" value="0" />
+ <value cell_index="10182" local_entity="0" value="0" />
+ <value cell_index="10183" local_entity="0" value="0" />
+ <value cell_index="10184" local_entity="0" value="0" />
+ <value cell_index="10185" local_entity="0" value="0" />
+ <value cell_index="10186" local_entity="0" value="0" />
+ <value cell_index="10187" local_entity="0" value="0" />
+ <value cell_index="10188" local_entity="0" value="0" />
+ <value cell_index="10189" local_entity="0" value="0" />
+ <value cell_index="10190" local_entity="0" value="0" />
+ <value cell_index="10191" local_entity="0" value="0" />
+ <value cell_index="10192" local_entity="0" value="0" />
+ <value cell_index="10193" local_entity="0" value="0" />
+ <value cell_index="10194" local_entity="0" value="0" />
+ <value cell_index="10195" local_entity="0" value="0" />
+ <value cell_index="10196" local_entity="0" value="0" />
+ <value cell_index="10197" local_entity="0" value="0" />
+ <value cell_index="10198" local_entity="0" value="0" />
+ <value cell_index="10199" local_entity="0" value="0" />
+ <value cell_index="10200" local_entity="0" value="0" />
+ <value cell_index="10201" local_entity="0" value="0" />
+ <value cell_index="10202" local_entity="0" value="0" />
+ <value cell_index="10203" local_entity="0" value="0" />
+ <value cell_index="10204" local_entity="0" value="0" />
+ <value cell_index="10205" local_entity="0" value="0" />
+ <value cell_index="10206" local_entity="0" value="0" />
+ <value cell_index="10207" local_entity="0" value="0" />
+ <value cell_index="10208" local_entity="0" value="0" />
+ <value cell_index="10209" local_entity="0" value="0" />
+ <value cell_index="10210" local_entity="0" value="0" />
+ <value cell_index="10211" local_entity="0" value="0" />
+ <value cell_index="10212" local_entity="0" value="0" />
+ <value cell_index="10213" local_entity="0" value="0" />
+ <value cell_index="10214" local_entity="0" value="0" />
+ <value cell_index="10215" local_entity="0" value="0" />
+ <value cell_index="10216" local_entity="0" value="0" />
+ <value cell_index="10217" local_entity="0" value="0" />
+ <value cell_index="10218" local_entity="0" value="0" />
+ <value cell_index="10219" local_entity="0" value="0" />
+ <value cell_index="10220" local_entity="0" value="0" />
+ <value cell_index="10221" local_entity="0" value="0" />
+ <value cell_index="10222" local_entity="0" value="0" />
+ <value cell_index="10223" local_entity="0" value="0" />
+ <value cell_index="10224" local_entity="0" value="0" />
+ <value cell_index="10225" local_entity="0" value="0" />
+ <value cell_index="10226" local_entity="0" value="0" />
+ <value cell_index="10227" local_entity="0" value="0" />
+ <value cell_index="10228" local_entity="0" value="0" />
+ <value cell_index="10229" local_entity="0" value="0" />
+ <value cell_index="10230" local_entity="0" value="0" />
+ <value cell_index="10231" local_entity="0" value="0" />
+ <value cell_index="10232" local_entity="0" value="0" />
+ <value cell_index="10233" local_entity="0" value="0" />
+ <value cell_index="10234" local_entity="0" value="0" />
+ <value cell_index="10235" local_entity="0" value="0" />
+ <value cell_index="10236" local_entity="0" value="0" />
+ <value cell_index="10237" local_entity="0" value="0" />
+ <value cell_index="10238" local_entity="0" value="0" />
+ <value cell_index="10239" local_entity="0" value="0" />
+ <value cell_index="10240" local_entity="0" value="0" />
+ <value cell_index="10241" local_entity="0" value="0" />
+ <value cell_index="10242" local_entity="0" value="0" />
+ <value cell_index="10243" local_entity="0" value="0" />
+ <value cell_index="10244" local_entity="0" value="0" />
+ <value cell_index="10245" local_entity="0" value="0" />
+ <value cell_index="10246" local_entity="0" value="0" />
+ <value cell_index="10247" local_entity="0" value="0" />
+ <value cell_index="10248" local_entity="0" value="0" />
+ <value cell_index="10249" local_entity="0" value="0" />
+ <value cell_index="10250" local_entity="0" value="0" />
+ <value cell_index="10251" local_entity="0" value="0" />
+ <value cell_index="10252" local_entity="0" value="0" />
+ <value cell_index="10253" local_entity="0" value="0" />
+ <value cell_index="10254" local_entity="0" value="0" />
+ <value cell_index="10255" local_entity="0" value="0" />
+ <value cell_index="10256" local_entity="0" value="0" />
+ <value cell_index="10257" local_entity="0" value="0" />
+ <value cell_index="10258" local_entity="0" value="0" />
+ <value cell_index="10259" local_entity="0" value="0" />
+ <value cell_index="10260" local_entity="0" value="0" />
+ <value cell_index="10261" local_entity="0" value="0" />
+ <value cell_index="10262" local_entity="0" value="0" />
+ <value cell_index="10263" local_entity="0" value="0" />
+ <value cell_index="10264" local_entity="0" value="0" />
+ <value cell_index="10265" local_entity="0" value="0" />
+ <value cell_index="10266" local_entity="0" value="0" />
+ <value cell_index="10267" local_entity="0" value="0" />
+ <value cell_index="10268" local_entity="0" value="0" />
+ <value cell_index="10269" local_entity="0" value="0" />
+ <value cell_index="10270" local_entity="0" value="0" />
+ <value cell_index="10271" local_entity="0" value="0" />
+ <value cell_index="10272" local_entity="0" value="0" />
+ <value cell_index="10273" local_entity="0" value="0" />
+ <value cell_index="10274" local_entity="0" value="0" />
+ <value cell_index="10275" local_entity="0" value="0" />
+ <value cell_index="10276" local_entity="0" value="0" />
+ <value cell_index="10277" local_entity="0" value="0" />
+ <value cell_index="10278" local_entity="0" value="0" />
+ <value cell_index="10279" local_entity="0" value="0" />
+ <value cell_index="10280" local_entity="0" value="0" />
+ <value cell_index="10281" local_entity="0" value="0" />
+ <value cell_index="10282" local_entity="0" value="0" />
+ <value cell_index="10283" local_entity="0" value="0" />
+ <value cell_index="10284" local_entity="0" value="0" />
+ <value cell_index="10285" local_entity="0" value="0" />
+ <value cell_index="10286" local_entity="0" value="0" />
+ <value cell_index="10287" local_entity="0" value="0" />
+ <value cell_index="10288" local_entity="0" value="0" />
+ <value cell_index="10289" local_entity="0" value="0" />
+ <value cell_index="10290" local_entity="0" value="0" />
+ <value cell_index="10291" local_entity="0" value="0" />
+ <value cell_index="10292" local_entity="0" value="0" />
+ <value cell_index="10293" local_entity="0" value="0" />
+ <value cell_index="10294" local_entity="0" value="0" />
+ <value cell_index="10295" local_entity="0" value="0" />
+ <value cell_index="10296" local_entity="0" value="0" />
+ <value cell_index="10297" local_entity="0" value="0" />
+ <value cell_index="10298" local_entity="0" value="0" />
+ <value cell_index="10299" local_entity="0" value="0" />
+ <value cell_index="10300" local_entity="0" value="0" />
+ <value cell_index="10301" local_entity="0" value="0" />
+ <value cell_index="10302" local_entity="0" value="0" />
+ <value cell_index="10303" local_entity="0" value="0" />
+ <value cell_index="10304" local_entity="0" value="0" />
+ <value cell_index="10305" local_entity="0" value="0" />
+ <value cell_index="10306" local_entity="0" value="0" />
+ <value cell_index="10307" local_entity="0" value="0" />
+ <value cell_index="10308" local_entity="0" value="0" />
+ <value cell_index="10309" local_entity="0" value="0" />
+ <value cell_index="10310" local_entity="0" value="0" />
+ <value cell_index="10311" local_entity="0" value="0" />
+ <value cell_index="10312" local_entity="0" value="0" />
+ <value cell_index="10313" local_entity="0" value="0" />
+ <value cell_index="10314" local_entity="0" value="0" />
+ <value cell_index="10315" local_entity="0" value="0" />
+ <value cell_index="10316" local_entity="0" value="0" />
+ <value cell_index="10317" local_entity="0" value="0" />
+ <value cell_index="10318" local_entity="0" value="0" />
+ <value cell_index="10319" local_entity="0" value="0" />
+ <value cell_index="10320" local_entity="0" value="0" />
+ <value cell_index="10321" local_entity="0" value="0" />
+ <value cell_index="10322" local_entity="0" value="0" />
+ <value cell_index="10323" local_entity="0" value="0" />
+ <value cell_index="10324" local_entity="0" value="0" />
+ <value cell_index="10325" local_entity="0" value="0" />
+ <value cell_index="10326" local_entity="0" value="0" />
+ <value cell_index="10327" local_entity="0" value="0" />
+ <value cell_index="10328" local_entity="0" value="0" />
+ <value cell_index="10329" local_entity="0" value="0" />
+ <value cell_index="10330" local_entity="0" value="0" />
+ <value cell_index="10331" local_entity="0" value="0" />
+ <value cell_index="10332" local_entity="0" value="0" />
+ <value cell_index="10333" local_entity="0" value="0" />
+ <value cell_index="10334" local_entity="0" value="0" />
+ <value cell_index="10335" local_entity="0" value="0" />
+ <value cell_index="10336" local_entity="0" value="0" />
+ <value cell_index="10337" local_entity="0" value="0" />
+ <value cell_index="10338" local_entity="0" value="0" />
+ <value cell_index="10339" local_entity="0" value="0" />
+ <value cell_index="10340" local_entity="0" value="0" />
+ <value cell_index="10341" local_entity="0" value="0" />
+ <value cell_index="10342" local_entity="0" value="0" />
+ <value cell_index="10343" local_entity="0" value="0" />
+ <value cell_index="10344" local_entity="0" value="0" />
+ <value cell_index="10345" local_entity="0" value="0" />
+ <value cell_index="10346" local_entity="0" value="0" />
+ <value cell_index="10347" local_entity="0" value="0" />
+ <value cell_index="10348" local_entity="0" value="0" />
+ <value cell_index="10349" local_entity="0" value="0" />
+ <value cell_index="10350" local_entity="0" value="0" />
+ <value cell_index="10351" local_entity="0" value="0" />
+ <value cell_index="10352" local_entity="0" value="0" />
+ <value cell_index="10353" local_entity="0" value="0" />
+ <value cell_index="10354" local_entity="0" value="0" />
+ <value cell_index="10355" local_entity="0" value="0" />
+ <value cell_index="10356" local_entity="0" value="0" />
+ <value cell_index="10357" local_entity="0" value="0" />
+ <value cell_index="10358" local_entity="0" value="0" />
+ <value cell_index="10359" local_entity="0" value="0" />
+ <value cell_index="10360" local_entity="0" value="0" />
+ <value cell_index="10361" local_entity="0" value="0" />
+ <value cell_index="10362" local_entity="0" value="0" />
+ <value cell_index="10363" local_entity="0" value="0" />
+ <value cell_index="10364" local_entity="0" value="0" />
+ <value cell_index="10365" local_entity="0" value="0" />
+ <value cell_index="10366" local_entity="0" value="0" />
+ <value cell_index="10367" local_entity="0" value="0" />
+ <value cell_index="10368" local_entity="0" value="0" />
+ <value cell_index="10369" local_entity="0" value="0" />
+ <value cell_index="10370" local_entity="0" value="0" />
+ <value cell_index="10371" local_entity="0" value="0" />
+ <value cell_index="10372" local_entity="0" value="0" />
+ <value cell_index="10373" local_entity="0" value="0" />
+ <value cell_index="10374" local_entity="0" value="0" />
+ <value cell_index="10375" local_entity="0" value="0" />
+ <value cell_index="10376" local_entity="0" value="0" />
+ <value cell_index="10377" local_entity="0" value="0" />
+ <value cell_index="10378" local_entity="0" value="0" />
+ <value cell_index="10379" local_entity="0" value="0" />
+ <value cell_index="10380" local_entity="0" value="0" />
+ <value cell_index="10381" local_entity="0" value="0" />
+ <value cell_index="10382" local_entity="0" value="0" />
+ <value cell_index="10383" local_entity="0" value="0" />
+ <value cell_index="10384" local_entity="0" value="0" />
+ <value cell_index="10385" local_entity="0" value="0" />
+ <value cell_index="10386" local_entity="0" value="0" />
+ <value cell_index="10387" local_entity="0" value="0" />
+ <value cell_index="10388" local_entity="0" value="0" />
+ <value cell_index="10389" local_entity="0" value="0" />
+ <value cell_index="10390" local_entity="0" value="0" />
+ <value cell_index="10391" local_entity="0" value="0" />
+ <value cell_index="10392" local_entity="0" value="0" />
+ <value cell_index="10393" local_entity="0" value="0" />
+ <value cell_index="10394" local_entity="0" value="0" />
+ <value cell_index="10395" local_entity="0" value="0" />
+ <value cell_index="10396" local_entity="0" value="0" />
+ <value cell_index="10397" local_entity="0" value="0" />
+ <value cell_index="10398" local_entity="0" value="0" />
+ <value cell_index="10399" local_entity="0" value="0" />
+ <value cell_index="10400" local_entity="0" value="0" />
+ <value cell_index="10401" local_entity="0" value="0" />
+ <value cell_index="10402" local_entity="0" value="0" />
+ <value cell_index="10403" local_entity="0" value="0" />
+ <value cell_index="10404" local_entity="0" value="0" />
+ <value cell_index="10405" local_entity="0" value="0" />
+ <value cell_index="10406" local_entity="0" value="0" />
+ <value cell_index="10407" local_entity="0" value="0" />
+ <value cell_index="10408" local_entity="0" value="0" />
+ <value cell_index="10409" local_entity="0" value="0" />
+ <value cell_index="10410" local_entity="0" value="0" />
+ <value cell_index="10411" local_entity="0" value="0" />
+ <value cell_index="10412" local_entity="0" value="0" />
+ <value cell_index="10413" local_entity="0" value="0" />
+ <value cell_index="10414" local_entity="0" value="0" />
+ <value cell_index="10415" local_entity="0" value="0" />
+ <value cell_index="10416" local_entity="0" value="0" />
+ <value cell_index="10417" local_entity="0" value="0" />
+ <value cell_index="10418" local_entity="0" value="0" />
+ <value cell_index="10419" local_entity="0" value="0" />
+ <value cell_index="10420" local_entity="0" value="0" />
+ <value cell_index="10421" local_entity="0" value="0" />
+ <value cell_index="10422" local_entity="0" value="0" />
+ <value cell_index="10423" local_entity="0" value="0" />
+ <value cell_index="10424" local_entity="0" value="0" />
+ <value cell_index="10425" local_entity="0" value="0" />
+ <value cell_index="10426" local_entity="0" value="0" />
+ <value cell_index="10427" local_entity="0" value="0" />
+ <value cell_index="10428" local_entity="0" value="0" />
+ <value cell_index="10429" local_entity="0" value="0" />
+ <value cell_index="10430" local_entity="0" value="0" />
+ <value cell_index="10431" local_entity="0" value="0" />
+ <value cell_index="10432" local_entity="0" value="0" />
+ <value cell_index="10433" local_entity="0" value="0" />
+ <value cell_index="10434" local_entity="0" value="0" />
+ <value cell_index="10435" local_entity="0" value="0" />
+ <value cell_index="10436" local_entity="0" value="0" />
+ <value cell_index="10437" local_entity="0" value="0" />
+ <value cell_index="10438" local_entity="0" value="0" />
+ <value cell_index="10439" local_entity="0" value="0" />
+ <value cell_index="10440" local_entity="0" value="0" />
+ <value cell_index="10441" local_entity="0" value="0" />
+ <value cell_index="10442" local_entity="0" value="0" />
+ <value cell_index="10443" local_entity="0" value="0" />
+ <value cell_index="10444" local_entity="0" value="0" />
+ <value cell_index="10445" local_entity="0" value="0" />
+ <value cell_index="10446" local_entity="0" value="0" />
+ <value cell_index="10447" local_entity="0" value="0" />
+ <value cell_index="10448" local_entity="0" value="0" />
+ <value cell_index="10449" local_entity="0" value="0" />
+ <value cell_index="10450" local_entity="0" value="0" />
+ <value cell_index="10451" local_entity="0" value="0" />
+ <value cell_index="10452" local_entity="0" value="0" />
+ <value cell_index="10453" local_entity="0" value="0" />
+ <value cell_index="10454" local_entity="0" value="0" />
+ <value cell_index="10455" local_entity="0" value="0" />
+ <value cell_index="10456" local_entity="0" value="0" />
+ <value cell_index="10457" local_entity="0" value="0" />
+ <value cell_index="10458" local_entity="0" value="0" />
+ <value cell_index="10459" local_entity="0" value="0" />
+ <value cell_index="10460" local_entity="0" value="0" />
+ <value cell_index="10461" local_entity="0" value="0" />
+ <value cell_index="10462" local_entity="0" value="0" />
+ <value cell_index="10463" local_entity="0" value="0" />
+ <value cell_index="10464" local_entity="0" value="0" />
+ <value cell_index="10465" local_entity="0" value="0" />
+ <value cell_index="10466" local_entity="0" value="0" />
+ <value cell_index="10467" local_entity="0" value="0" />
+ <value cell_index="10468" local_entity="0" value="0" />
+ <value cell_index="10469" local_entity="0" value="0" />
+ <value cell_index="10470" local_entity="0" value="0" />
+ <value cell_index="10471" local_entity="0" value="0" />
+ <value cell_index="10472" local_entity="0" value="0" />
+ <value cell_index="10473" local_entity="0" value="0" />
+ <value cell_index="10474" local_entity="0" value="0" />
+ <value cell_index="10475" local_entity="0" value="0" />
+ <value cell_index="10476" local_entity="0" value="0" />
+ <value cell_index="10477" local_entity="0" value="0" />
+ <value cell_index="10478" local_entity="0" value="0" />
+ <value cell_index="10479" local_entity="0" value="0" />
+ <value cell_index="10480" local_entity="0" value="0" />
+ <value cell_index="10481" local_entity="0" value="0" />
+ <value cell_index="10482" local_entity="0" value="0" />
+ <value cell_index="10483" local_entity="0" value="0" />
+ <value cell_index="10484" local_entity="0" value="0" />
+ <value cell_index="10485" local_entity="0" value="0" />
+ <value cell_index="10486" local_entity="0" value="0" />
+ <value cell_index="10487" local_entity="0" value="0" />
+ <value cell_index="10488" local_entity="0" value="0" />
+ <value cell_index="10489" local_entity="0" value="0" />
+ <value cell_index="10490" local_entity="0" value="0" />
+ <value cell_index="10491" local_entity="0" value="0" />
+ <value cell_index="10492" local_entity="0" value="0" />
+ <value cell_index="10493" local_entity="0" value="0" />
+ <value cell_index="10494" local_entity="0" value="0" />
+ <value cell_index="10495" local_entity="0" value="0" />
+ <value cell_index="10496" local_entity="0" value="0" />
+ <value cell_index="10497" local_entity="0" value="0" />
+ <value cell_index="10498" local_entity="0" value="0" />
+ <value cell_index="10499" local_entity="0" value="0" />
+ <value cell_index="10500" local_entity="0" value="0" />
+ <value cell_index="10501" local_entity="0" value="0" />
+ <value cell_index="10502" local_entity="0" value="0" />
+ <value cell_index="10503" local_entity="0" value="0" />
+ <value cell_index="10504" local_entity="0" value="0" />
+ <value cell_index="10505" local_entity="0" value="0" />
+ <value cell_index="10506" local_entity="0" value="0" />
+ <value cell_index="10507" local_entity="0" value="0" />
+ <value cell_index="10508" local_entity="0" value="0" />
+ <value cell_index="10509" local_entity="0" value="0" />
+ <value cell_index="10510" local_entity="0" value="0" />
+ <value cell_index="10511" local_entity="0" value="0" />
+ <value cell_index="10512" local_entity="0" value="0" />
+ <value cell_index="10513" local_entity="0" value="0" />
+ <value cell_index="10514" local_entity="0" value="0" />
+ <value cell_index="10515" local_entity="0" value="0" />
+ <value cell_index="10516" local_entity="0" value="0" />
+ <value cell_index="10517" local_entity="0" value="0" />
+ <value cell_index="10518" local_entity="0" value="0" />
+ <value cell_index="10519" local_entity="0" value="0" />
+ <value cell_index="10520" local_entity="0" value="0" />
+ <value cell_index="10521" local_entity="0" value="0" />
+ <value cell_index="10522" local_entity="0" value="0" />
+ <value cell_index="10523" local_entity="0" value="0" />
+ <value cell_index="10524" local_entity="0" value="0" />
+ <value cell_index="10525" local_entity="0" value="0" />
+ <value cell_index="10526" local_entity="0" value="0" />
+ <value cell_index="10527" local_entity="0" value="0" />
+ <value cell_index="10528" local_entity="0" value="0" />
+ <value cell_index="10529" local_entity="0" value="0" />
+ <value cell_index="10530" local_entity="0" value="0" />
+ <value cell_index="10531" local_entity="0" value="0" />
+ <value cell_index="10532" local_entity="0" value="0" />
+ <value cell_index="10533" local_entity="0" value="0" />
+ <value cell_index="10534" local_entity="0" value="0" />
+ <value cell_index="10535" local_entity="0" value="0" />
+ <value cell_index="10536" local_entity="0" value="0" />
+ <value cell_index="10537" local_entity="0" value="0" />
+ <value cell_index="10538" local_entity="0" value="0" />
+ <value cell_index="10539" local_entity="0" value="0" />
+ <value cell_index="10540" local_entity="0" value="0" />
+ <value cell_index="10541" local_entity="0" value="0" />
+ <value cell_index="10542" local_entity="0" value="0" />
+ <value cell_index="10543" local_entity="0" value="0" />
+ <value cell_index="10544" local_entity="0" value="0" />
+ <value cell_index="10545" local_entity="0" value="0" />
+ <value cell_index="10546" local_entity="0" value="0" />
+ <value cell_index="10547" local_entity="0" value="0" />
+ <value cell_index="10548" local_entity="0" value="0" />
+ <value cell_index="10549" local_entity="0" value="0" />
+ <value cell_index="10550" local_entity="0" value="0" />
+ <value cell_index="10551" local_entity="0" value="0" />
+ <value cell_index="10552" local_entity="0" value="0" />
+ <value cell_index="10553" local_entity="0" value="0" />
+ <value cell_index="10554" local_entity="0" value="0" />
+ <value cell_index="10555" local_entity="0" value="0" />
+ <value cell_index="10556" local_entity="0" value="0" />
+ <value cell_index="10557" local_entity="0" value="0" />
+ <value cell_index="10558" local_entity="0" value="0" />
+ <value cell_index="10559" local_entity="0" value="0" />
+ <value cell_index="10560" local_entity="0" value="0" />
+ <value cell_index="10561" local_entity="0" value="0" />
+ <value cell_index="10562" local_entity="0" value="0" />
+ <value cell_index="10563" local_entity="0" value="0" />
+ <value cell_index="10564" local_entity="0" value="0" />
+ <value cell_index="10565" local_entity="0" value="0" />
+ <value cell_index="10566" local_entity="0" value="0" />
+ <value cell_index="10567" local_entity="0" value="0" />
+ <value cell_index="10568" local_entity="0" value="0" />
+ <value cell_index="10569" local_entity="0" value="0" />
+ <value cell_index="10570" local_entity="0" value="0" />
+ <value cell_index="10571" local_entity="0" value="0" />
+ <value cell_index="10572" local_entity="0" value="0" />
+ <value cell_index="10573" local_entity="0" value="0" />
+ <value cell_index="10574" local_entity="0" value="0" />
+ <value cell_index="10575" local_entity="0" value="0" />
+ <value cell_index="10576" local_entity="0" value="0" />
+ <value cell_index="10577" local_entity="0" value="0" />
+ <value cell_index="10578" local_entity="0" value="0" />
+ <value cell_index="10579" local_entity="0" value="0" />
+ <value cell_index="10580" local_entity="0" value="0" />
+ <value cell_index="10581" local_entity="0" value="0" />
+ <value cell_index="10582" local_entity="0" value="0" />
+ <value cell_index="10583" local_entity="0" value="0" />
+ <value cell_index="10584" local_entity="0" value="0" />
+ <value cell_index="10585" local_entity="0" value="0" />
+ <value cell_index="10586" local_entity="0" value="0" />
+ <value cell_index="10587" local_entity="0" value="0" />
+ <value cell_index="10588" local_entity="0" value="0" />
+ <value cell_index="10589" local_entity="0" value="0" />
+ <value cell_index="10590" local_entity="0" value="0" />
+ <value cell_index="10591" local_entity="0" value="0" />
+ <value cell_index="10592" local_entity="0" value="0" />
+ <value cell_index="10593" local_entity="0" value="0" />
+ <value cell_index="10594" local_entity="0" value="0" />
+ <value cell_index="10595" local_entity="0" value="0" />
+ <value cell_index="10596" local_entity="0" value="0" />
+ <value cell_index="10597" local_entity="0" value="0" />
+ <value cell_index="10598" local_entity="0" value="0" />
+ <value cell_index="10599" local_entity="0" value="0" />
+ <value cell_index="10600" local_entity="0" value="0" />
+ <value cell_index="10601" local_entity="0" value="0" />
+ <value cell_index="10602" local_entity="0" value="0" />
+ <value cell_index="10603" local_entity="0" value="0" />
+ <value cell_index="10604" local_entity="0" value="0" />
+ <value cell_index="10605" local_entity="0" value="0" />
+ <value cell_index="10606" local_entity="0" value="0" />
+ <value cell_index="10607" local_entity="0" value="0" />
+ <value cell_index="10608" local_entity="0" value="0" />
+ <value cell_index="10609" local_entity="0" value="0" />
+ <value cell_index="10610" local_entity="0" value="0" />
+ <value cell_index="10611" local_entity="0" value="0" />
+ <value cell_index="10612" local_entity="0" value="0" />
+ <value cell_index="10613" local_entity="0" value="0" />
+ <value cell_index="10614" local_entity="0" value="0" />
+ <value cell_index="10615" local_entity="0" value="0" />
+ <value cell_index="10616" local_entity="0" value="0" />
+ <value cell_index="10617" local_entity="0" value="0" />
+ <value cell_index="10618" local_entity="0" value="0" />
+ <value cell_index="10619" local_entity="0" value="0" />
+ <value cell_index="10620" local_entity="0" value="0" />
+ <value cell_index="10621" local_entity="0" value="0" />
+ <value cell_index="10622" local_entity="0" value="0" />
+ <value cell_index="10623" local_entity="0" value="0" />
+ <value cell_index="10624" local_entity="0" value="0" />
+ <value cell_index="10625" local_entity="0" value="0" />
+ <value cell_index="10626" local_entity="0" value="0" />
+ <value cell_index="10627" local_entity="0" value="0" />
+ <value cell_index="10628" local_entity="0" value="0" />
+ <value cell_index="10629" local_entity="0" value="0" />
+ <value cell_index="10630" local_entity="0" value="0" />
+ <value cell_index="10631" local_entity="0" value="0" />
+ <value cell_index="10632" local_entity="0" value="0" />
+ <value cell_index="10633" local_entity="0" value="0" />
+ <value cell_index="10634" local_entity="0" value="0" />
+ <value cell_index="10635" local_entity="0" value="0" />
+ <value cell_index="10636" local_entity="0" value="0" />
+ <value cell_index="10637" local_entity="0" value="0" />
+ <value cell_index="10638" local_entity="0" value="0" />
+ <value cell_index="10639" local_entity="0" value="0" />
+ <value cell_index="10640" local_entity="0" value="0" />
+ <value cell_index="10641" local_entity="0" value="0" />
+ <value cell_index="10642" local_entity="0" value="0" />
+ <value cell_index="10643" local_entity="0" value="0" />
+ <value cell_index="10644" local_entity="0" value="0" />
+ <value cell_index="10645" local_entity="0" value="0" />
+ <value cell_index="10646" local_entity="0" value="0" />
+ <value cell_index="10647" local_entity="0" value="0" />
+ <value cell_index="10648" local_entity="0" value="0" />
+ <value cell_index="10649" local_entity="0" value="0" />
+ <value cell_index="10650" local_entity="0" value="0" />
+ <value cell_index="10651" local_entity="0" value="0" />
+ <value cell_index="10652" local_entity="0" value="0" />
+ <value cell_index="10653" local_entity="0" value="0" />
+ <value cell_index="10654" local_entity="0" value="0" />
+ <value cell_index="10655" local_entity="0" value="0" />
+ <value cell_index="10656" local_entity="0" value="0" />
+ <value cell_index="10657" local_entity="0" value="0" />
+ <value cell_index="10658" local_entity="0" value="0" />
+ <value cell_index="10659" local_entity="0" value="0" />
+ <value cell_index="10660" local_entity="0" value="0" />
+ <value cell_index="10661" local_entity="0" value="0" />
+ <value cell_index="10662" local_entity="0" value="0" />
+ <value cell_index="10663" local_entity="0" value="0" />
+ <value cell_index="10664" local_entity="0" value="0" />
+ <value cell_index="10665" local_entity="0" value="0" />
+ <value cell_index="10666" local_entity="0" value="0" />
+ <value cell_index="10667" local_entity="0" value="0" />
+ <value cell_index="10668" local_entity="0" value="0" />
+ <value cell_index="10669" local_entity="0" value="0" />
+ <value cell_index="10670" local_entity="0" value="0" />
+ <value cell_index="10671" local_entity="0" value="0" />
+ <value cell_index="10672" local_entity="0" value="0" />
+ <value cell_index="10673" local_entity="0" value="0" />
+ <value cell_index="10674" local_entity="0" value="0" />
+ <value cell_index="10675" local_entity="0" value="0" />
+ <value cell_index="10676" local_entity="0" value="0" />
+ <value cell_index="10677" local_entity="0" value="0" />
+ <value cell_index="10678" local_entity="0" value="0" />
+ <value cell_index="10679" local_entity="0" value="0" />
+ <value cell_index="10680" local_entity="0" value="0" />
+ <value cell_index="10681" local_entity="0" value="0" />
+ <value cell_index="10682" local_entity="0" value="0" />
+ <value cell_index="10683" local_entity="0" value="0" />
+ <value cell_index="10684" local_entity="0" value="0" />
+ <value cell_index="10685" local_entity="0" value="0" />
+ <value cell_index="10686" local_entity="0" value="0" />
+ <value cell_index="10687" local_entity="0" value="0" />
+ <value cell_index="10688" local_entity="0" value="0" />
+ <value cell_index="10689" local_entity="0" value="0" />
+ <value cell_index="10690" local_entity="0" value="0" />
+ <value cell_index="10691" local_entity="0" value="0" />
+ <value cell_index="10692" local_entity="0" value="0" />
+ <value cell_index="10693" local_entity="0" value="0" />
+ <value cell_index="10694" local_entity="0" value="0" />
+ <value cell_index="10695" local_entity="0" value="0" />
+ <value cell_index="10696" local_entity="0" value="0" />
+ <value cell_index="10697" local_entity="0" value="0" />
+ <value cell_index="10698" local_entity="0" value="0" />
+ <value cell_index="10699" local_entity="0" value="0" />
+ <value cell_index="10700" local_entity="0" value="0" />
+ <value cell_index="10701" local_entity="0" value="0" />
+ <value cell_index="10702" local_entity="0" value="0" />
+ <value cell_index="10703" local_entity="0" value="0" />
+ <value cell_index="10704" local_entity="0" value="0" />
+ <value cell_index="10705" local_entity="0" value="0" />
+ <value cell_index="10706" local_entity="0" value="0" />
+ <value cell_index="10707" local_entity="0" value="0" />
+ <value cell_index="10708" local_entity="0" value="0" />
+ <value cell_index="10709" local_entity="0" value="0" />
+ <value cell_index="10710" local_entity="0" value="0" />
+ <value cell_index="10711" local_entity="0" value="0" />
+ <value cell_index="10712" local_entity="0" value="0" />
+ <value cell_index="10713" local_entity="0" value="0" />
+ <value cell_index="10714" local_entity="0" value="0" />
+ <value cell_index="10715" local_entity="0" value="0" />
+ <value cell_index="10716" local_entity="0" value="0" />
+ <value cell_index="10717" local_entity="0" value="0" />
+ <value cell_index="10718" local_entity="0" value="0" />
+ <value cell_index="10719" local_entity="0" value="0" />
+ <value cell_index="10720" local_entity="0" value="0" />
+ <value cell_index="10721" local_entity="0" value="0" />
+ <value cell_index="10722" local_entity="0" value="0" />
+ <value cell_index="10723" local_entity="0" value="0" />
+ <value cell_index="10724" local_entity="0" value="0" />
+ <value cell_index="10725" local_entity="0" value="0" />
+ <value cell_index="10726" local_entity="0" value="0" />
+ <value cell_index="10727" local_entity="0" value="0" />
+ <value cell_index="10728" local_entity="0" value="0" />
+ <value cell_index="10729" local_entity="0" value="0" />
+ <value cell_index="10730" local_entity="0" value="0" />
+ <value cell_index="10731" local_entity="0" value="0" />
+ <value cell_index="10732" local_entity="0" value="0" />
+ <value cell_index="10733" local_entity="0" value="0" />
+ <value cell_index="10734" local_entity="0" value="0" />
+ <value cell_index="10735" local_entity="0" value="0" />
+ <value cell_index="10736" local_entity="0" value="0" />
+ <value cell_index="10737" local_entity="0" value="0" />
+ <value cell_index="10738" local_entity="0" value="0" />
+ <value cell_index="10739" local_entity="0" value="0" />
+ <value cell_index="10740" local_entity="0" value="0" />
+ <value cell_index="10741" local_entity="0" value="0" />
+ <value cell_index="10742" local_entity="0" value="0" />
+ <value cell_index="10743" local_entity="0" value="0" />
+ <value cell_index="10744" local_entity="0" value="0" />
+ <value cell_index="10745" local_entity="0" value="0" />
+ <value cell_index="10746" local_entity="0" value="0" />
+ <value cell_index="10747" local_entity="0" value="0" />
+ <value cell_index="10748" local_entity="0" value="0" />
+ <value cell_index="10749" local_entity="0" value="0" />
+ <value cell_index="10750" local_entity="0" value="0" />
+ <value cell_index="10751" local_entity="0" value="0" />
+ <value cell_index="10752" local_entity="0" value="0" />
+ <value cell_index="10753" local_entity="0" value="0" />
+ <value cell_index="10754" local_entity="0" value="0" />
+ <value cell_index="10755" local_entity="0" value="0" />
+ <value cell_index="10756" local_entity="0" value="0" />
+ <value cell_index="10757" local_entity="0" value="0" />
+ <value cell_index="10758" local_entity="0" value="0" />
+ <value cell_index="10759" local_entity="0" value="0" />
+ <value cell_index="10760" local_entity="0" value="0" />
+ <value cell_index="10761" local_entity="0" value="0" />
+ <value cell_index="10762" local_entity="0" value="0" />
+ <value cell_index="10763" local_entity="0" value="0" />
+ <value cell_index="10764" local_entity="0" value="0" />
+ <value cell_index="10765" local_entity="0" value="0" />
+ <value cell_index="10766" local_entity="0" value="0" />
+ <value cell_index="10767" local_entity="0" value="0" />
+ <value cell_index="10768" local_entity="0" value="0" />
+ <value cell_index="10769" local_entity="0" value="0" />
+ <value cell_index="10770" local_entity="0" value="0" />
+ <value cell_index="10771" local_entity="0" value="0" />
+ <value cell_index="10772" local_entity="0" value="0" />
+ <value cell_index="10773" local_entity="0" value="0" />
+ <value cell_index="10774" local_entity="0" value="0" />
+ <value cell_index="10775" local_entity="0" value="0" />
+ <value cell_index="10776" local_entity="0" value="0" />
+ <value cell_index="10777" local_entity="0" value="0" />
+ <value cell_index="10778" local_entity="0" value="0" />
+ <value cell_index="10779" local_entity="0" value="0" />
+ <value cell_index="10780" local_entity="0" value="0" />
+ <value cell_index="10781" local_entity="0" value="0" />
+ <value cell_index="10782" local_entity="0" value="0" />
+ <value cell_index="10783" local_entity="0" value="0" />
+ <value cell_index="10784" local_entity="0" value="0" />
+ <value cell_index="10785" local_entity="0" value="0" />
+ <value cell_index="10786" local_entity="0" value="0" />
+ <value cell_index="10787" local_entity="0" value="0" />
+ <value cell_index="10788" local_entity="0" value="0" />
+ <value cell_index="10789" local_entity="0" value="0" />
+ <value cell_index="10790" local_entity="0" value="0" />
+ <value cell_index="10791" local_entity="0" value="0" />
+ <value cell_index="10792" local_entity="0" value="0" />
+ <value cell_index="10793" local_entity="0" value="0" />
+ <value cell_index="10794" local_entity="0" value="0" />
+ <value cell_index="10795" local_entity="0" value="0" />
+ <value cell_index="10796" local_entity="0" value="0" />
+ <value cell_index="10797" local_entity="0" value="0" />
+ <value cell_index="10798" local_entity="0" value="0" />
+ <value cell_index="10799" local_entity="0" value="0" />
+ <value cell_index="10800" local_entity="0" value="0" />
+ <value cell_index="10801" local_entity="0" value="0" />
+ <value cell_index="10802" local_entity="0" value="0" />
+ <value cell_index="10803" local_entity="0" value="0" />
+ <value cell_index="10804" local_entity="0" value="0" />
+ <value cell_index="10805" local_entity="0" value="0" />
+ <value cell_index="10806" local_entity="0" value="0" />
+ <value cell_index="10807" local_entity="0" value="0" />
+ <value cell_index="10808" local_entity="0" value="0" />
+ <value cell_index="10809" local_entity="0" value="0" />
+ <value cell_index="10810" local_entity="0" value="0" />
+ <value cell_index="10811" local_entity="0" value="0" />
+ <value cell_index="10812" local_entity="0" value="0" />
+ <value cell_index="10813" local_entity="0" value="0" />
+ <value cell_index="10814" local_entity="0" value="0" />
+ <value cell_index="10815" local_entity="0" value="0" />
+ <value cell_index="10816" local_entity="0" value="0" />
+ <value cell_index="10817" local_entity="0" value="0" />
+ <value cell_index="10818" local_entity="0" value="0" />
+ <value cell_index="10819" local_entity="0" value="0" />
+ <value cell_index="10820" local_entity="0" value="0" />
+ <value cell_index="10821" local_entity="0" value="0" />
+ <value cell_index="10822" local_entity="0" value="0" />
+ <value cell_index="10823" local_entity="0" value="0" />
+ <value cell_index="10824" local_entity="0" value="0" />
+ <value cell_index="10825" local_entity="0" value="0" />
+ <value cell_index="10826" local_entity="0" value="0" />
+ <value cell_index="10827" local_entity="0" value="0" />
+ <value cell_index="10828" local_entity="0" value="0" />
+ <value cell_index="10829" local_entity="0" value="0" />
+ <value cell_index="10830" local_entity="0" value="0" />
+ <value cell_index="10831" local_entity="0" value="0" />
+ <value cell_index="10832" local_entity="0" value="0" />
+ <value cell_index="10833" local_entity="0" value="0" />
+ <value cell_index="10834" local_entity="0" value="0" />
+ <value cell_index="10835" local_entity="0" value="0" />
+ <value cell_index="10836" local_entity="0" value="0" />
+ <value cell_index="10837" local_entity="0" value="0" />
+ <value cell_index="10838" local_entity="0" value="0" />
+ <value cell_index="10839" local_entity="0" value="0" />
+ <value cell_index="10840" local_entity="0" value="0" />
+ <value cell_index="10841" local_entity="0" value="0" />
+ <value cell_index="10842" local_entity="0" value="0" />
+ <value cell_index="10843" local_entity="0" value="0" />
+ <value cell_index="10844" local_entity="0" value="0" />
+ <value cell_index="10845" local_entity="0" value="0" />
+ <value cell_index="10846" local_entity="0" value="0" />
+ <value cell_index="10847" local_entity="0" value="0" />
+ <value cell_index="10848" local_entity="0" value="0" />
+ <value cell_index="10849" local_entity="0" value="0" />
+ <value cell_index="10850" local_entity="0" value="0" />
+ <value cell_index="10851" local_entity="0" value="0" />
+ <value cell_index="10852" local_entity="0" value="0" />
+ <value cell_index="10853" local_entity="0" value="0" />
+ <value cell_index="10854" local_entity="0" value="0" />
+ <value cell_index="10855" local_entity="0" value="0" />
+ <value cell_index="10856" local_entity="0" value="0" />
+ <value cell_index="10857" local_entity="0" value="0" />
+ <value cell_index="10858" local_entity="0" value="0" />
+ <value cell_index="10859" local_entity="0" value="0" />
+ <value cell_index="10860" local_entity="0" value="0" />
+ <value cell_index="10861" local_entity="0" value="0" />
+ <value cell_index="10862" local_entity="0" value="0" />
+ <value cell_index="10863" local_entity="0" value="0" />
+ <value cell_index="10864" local_entity="0" value="0" />
+ <value cell_index="10865" local_entity="0" value="0" />
+ <value cell_index="10866" local_entity="0" value="0" />
+ <value cell_index="10867" local_entity="0" value="0" />
+ <value cell_index="10868" local_entity="0" value="0" />
+ <value cell_index="10869" local_entity="0" value="0" />
+ <value cell_index="10870" local_entity="0" value="0" />
+ <value cell_index="10871" local_entity="0" value="0" />
+ <value cell_index="10872" local_entity="0" value="0" />
+ <value cell_index="10873" local_entity="0" value="0" />
+ <value cell_index="10874" local_entity="0" value="0" />
+ <value cell_index="10875" local_entity="0" value="0" />
+ <value cell_index="10876" local_entity="0" value="0" />
+ <value cell_index="10877" local_entity="0" value="0" />
+ <value cell_index="10878" local_entity="0" value="0" />
+ <value cell_index="10879" local_entity="0" value="0" />
+ <value cell_index="10880" local_entity="0" value="0" />
+ <value cell_index="10881" local_entity="0" value="0" />
+ <value cell_index="10882" local_entity="0" value="0" />
+ <value cell_index="10883" local_entity="0" value="0" />
+ <value cell_index="10884" local_entity="0" value="0" />
+ <value cell_index="10885" local_entity="0" value="0" />
+ <value cell_index="10886" local_entity="0" value="0" />
+ <value cell_index="10887" local_entity="0" value="0" />
+ <value cell_index="10888" local_entity="0" value="0" />
+ <value cell_index="10889" local_entity="0" value="0" />
+ <value cell_index="10890" local_entity="0" value="0" />
+ <value cell_index="10891" local_entity="0" value="0" />
+ <value cell_index="10892" local_entity="0" value="0" />
+ <value cell_index="10893" local_entity="0" value="0" />
+ <value cell_index="10894" local_entity="0" value="0" />
+ <value cell_index="10895" local_entity="0" value="0" />
+ <value cell_index="10896" local_entity="0" value="0" />
+ <value cell_index="10897" local_entity="0" value="0" />
+ <value cell_index="10898" local_entity="0" value="0" />
+ <value cell_index="10899" local_entity="0" value="0" />
+ <value cell_index="10900" local_entity="0" value="0" />
+ <value cell_index="10901" local_entity="0" value="0" />
+ <value cell_index="10902" local_entity="0" value="0" />
+ <value cell_index="10903" local_entity="0" value="0" />
+ <value cell_index="10904" local_entity="0" value="0" />
+ <value cell_index="10905" local_entity="0" value="0" />
+ <value cell_index="10906" local_entity="0" value="0" />
+ <value cell_index="10907" local_entity="0" value="0" />
+ <value cell_index="10908" local_entity="0" value="0" />
+ <value cell_index="10909" local_entity="0" value="0" />
+ <value cell_index="10910" local_entity="0" value="0" />
+ <value cell_index="10911" local_entity="0" value="0" />
+ <value cell_index="10912" local_entity="0" value="0" />
+ <value cell_index="10913" local_entity="0" value="0" />
+ <value cell_index="10914" local_entity="0" value="0" />
+ <value cell_index="10915" local_entity="0" value="0" />
+ <value cell_index="10916" local_entity="0" value="0" />
+ <value cell_index="10917" local_entity="0" value="0" />
+ <value cell_index="10918" local_entity="0" value="0" />
+ <value cell_index="10919" local_entity="0" value="0" />
+ <value cell_index="10920" local_entity="0" value="0" />
+ <value cell_index="10921" local_entity="0" value="0" />
+ <value cell_index="10922" local_entity="0" value="0" />
+ <value cell_index="10923" local_entity="0" value="0" />
+ <value cell_index="10924" local_entity="0" value="0" />
+ <value cell_index="10925" local_entity="0" value="0" />
+ <value cell_index="10926" local_entity="0" value="0" />
+ <value cell_index="10927" local_entity="0" value="0" />
+ <value cell_index="10928" local_entity="0" value="0" />
+ <value cell_index="10929" local_entity="0" value="0" />
+ <value cell_index="10930" local_entity="0" value="0" />
+ <value cell_index="10931" local_entity="0" value="0" />
+ <value cell_index="10932" local_entity="0" value="0" />
+ <value cell_index="10933" local_entity="0" value="0" />
+ <value cell_index="10934" local_entity="0" value="0" />
+ <value cell_index="10935" local_entity="0" value="0" />
+ <value cell_index="10936" local_entity="0" value="0" />
+ <value cell_index="10937" local_entity="0" value="0" />
+ <value cell_index="10938" local_entity="0" value="0" />
+ <value cell_index="10939" local_entity="0" value="0" />
+ <value cell_index="10940" local_entity="0" value="0" />
+ <value cell_index="10941" local_entity="0" value="0" />
+ <value cell_index="10942" local_entity="0" value="0" />
+ <value cell_index="10943" local_entity="0" value="0" />
+ <value cell_index="10944" local_entity="0" value="0" />
+ <value cell_index="10945" local_entity="0" value="0" />
+ <value cell_index="10946" local_entity="0" value="0" />
+ <value cell_index="10947" local_entity="0" value="0" />
+ <value cell_index="10948" local_entity="0" value="0" />
+ <value cell_index="10949" local_entity="0" value="0" />
+ <value cell_index="10950" local_entity="0" value="0" />
+ <value cell_index="10951" local_entity="0" value="0" />
+ <value cell_index="10952" local_entity="0" value="0" />
+ <value cell_index="10953" local_entity="0" value="0" />
+ <value cell_index="10954" local_entity="0" value="0" />
+ <value cell_index="10955" local_entity="0" value="0" />
+ <value cell_index="10956" local_entity="0" value="0" />
+ <value cell_index="10957" local_entity="0" value="0" />
+ <value cell_index="10958" local_entity="0" value="0" />
+ <value cell_index="10959" local_entity="0" value="0" />
+ <value cell_index="10960" local_entity="0" value="0" />
+ <value cell_index="10961" local_entity="0" value="0" />
+ <value cell_index="10962" local_entity="0" value="0" />
+ <value cell_index="10963" local_entity="0" value="0" />
+ <value cell_index="10964" local_entity="0" value="0" />
+ <value cell_index="10965" local_entity="0" value="0" />
+ <value cell_index="10966" local_entity="0" value="0" />
+ <value cell_index="10967" local_entity="0" value="0" />
+ <value cell_index="10968" local_entity="0" value="0" />
+ <value cell_index="10969" local_entity="0" value="0" />
+ <value cell_index="10970" local_entity="0" value="0" />
+ <value cell_index="10971" local_entity="0" value="0" />
+ <value cell_index="10972" local_entity="0" value="0" />
+ <value cell_index="10973" local_entity="0" value="0" />
+ <value cell_index="10974" local_entity="0" value="0" />
+ <value cell_index="10975" local_entity="0" value="0" />
+ <value cell_index="10976" local_entity="0" value="0" />
+ <value cell_index="10977" local_entity="0" value="0" />
+ <value cell_index="10978" local_entity="0" value="0" />
+ <value cell_index="10979" local_entity="0" value="0" />
+ <value cell_index="10980" local_entity="0" value="0" />
+ <value cell_index="10981" local_entity="0" value="0" />
+ <value cell_index="10982" local_entity="0" value="0" />
+ <value cell_index="10983" local_entity="0" value="0" />
+ <value cell_index="10984" local_entity="0" value="0" />
+ <value cell_index="10985" local_entity="0" value="0" />
+ <value cell_index="10986" local_entity="0" value="0" />
+ <value cell_index="10987" local_entity="0" value="0" />
+ <value cell_index="10988" local_entity="0" value="0" />
+ <value cell_index="10989" local_entity="0" value="0" />
+ <value cell_index="10990" local_entity="0" value="0" />
+ <value cell_index="10991" local_entity="0" value="0" />
+ <value cell_index="10992" local_entity="0" value="0" />
+ <value cell_index="10993" local_entity="0" value="0" />
+ <value cell_index="10994" local_entity="0" value="0" />
+ <value cell_index="10995" local_entity="0" value="0" />
+ <value cell_index="10996" local_entity="0" value="0" />
+ <value cell_index="10997" local_entity="0" value="0" />
+ <value cell_index="10998" local_entity="0" value="0" />
+ <value cell_index="10999" local_entity="0" value="0" />
+ <value cell_index="11000" local_entity="0" value="0" />
+ <value cell_index="11001" local_entity="0" value="0" />
+ <value cell_index="11002" local_entity="0" value="0" />
+ <value cell_index="11003" local_entity="0" value="0" />
+ <value cell_index="11004" local_entity="0" value="0" />
+ <value cell_index="11005" local_entity="0" value="0" />
+ <value cell_index="11006" local_entity="0" value="0" />
+ <value cell_index="11007" local_entity="0" value="0" />
+ <value cell_index="11008" local_entity="0" value="0" />
+ <value cell_index="11009" local_entity="0" value="0" />
+ <value cell_index="11010" local_entity="0" value="0" />
+ <value cell_index="11011" local_entity="0" value="0" />
+ <value cell_index="11012" local_entity="0" value="0" />
+ <value cell_index="11013" local_entity="0" value="0" />
+ <value cell_index="11014" local_entity="0" value="0" />
+ <value cell_index="11015" local_entity="0" value="0" />
+ <value cell_index="11016" local_entity="0" value="0" />
+ <value cell_index="11017" local_entity="0" value="0" />
+ <value cell_index="11018" local_entity="0" value="0" />
+ <value cell_index="11019" local_entity="0" value="0" />
+ <value cell_index="11020" local_entity="0" value="0" />
+ <value cell_index="11021" local_entity="0" value="0" />
+ <value cell_index="11022" local_entity="0" value="0" />
+ <value cell_index="11023" local_entity="0" value="0" />
+ <value cell_index="11024" local_entity="0" value="0" />
+ <value cell_index="11025" local_entity="0" value="0" />
+ <value cell_index="11026" local_entity="0" value="0" />
+ <value cell_index="11027" local_entity="0" value="0" />
+ <value cell_index="11028" local_entity="0" value="0" />
+ <value cell_index="11029" local_entity="0" value="0" />
+ <value cell_index="11030" local_entity="0" value="0" />
+ <value cell_index="11031" local_entity="0" value="0" />
+ <value cell_index="11032" local_entity="0" value="0" />
+ <value cell_index="11033" local_entity="0" value="0" />
+ <value cell_index="11034" local_entity="0" value="0" />
+ <value cell_index="11035" local_entity="0" value="0" />
+ <value cell_index="11036" local_entity="0" value="0" />
+ <value cell_index="11037" local_entity="0" value="0" />
+ <value cell_index="11038" local_entity="0" value="0" />
+ <value cell_index="11039" local_entity="0" value="0" />
+ <value cell_index="11040" local_entity="0" value="0" />
+ <value cell_index="11041" local_entity="0" value="0" />
+ <value cell_index="11042" local_entity="0" value="0" />
+ <value cell_index="11043" local_entity="0" value="0" />
+ <value cell_index="11044" local_entity="0" value="0" />
+ <value cell_index="11045" local_entity="0" value="0" />
+ <value cell_index="11046" local_entity="0" value="0" />
+ <value cell_index="11047" local_entity="0" value="0" />
+ <value cell_index="11048" local_entity="0" value="0" />
+ <value cell_index="11049" local_entity="0" value="0" />
+ <value cell_index="11050" local_entity="0" value="0" />
+ <value cell_index="11051" local_entity="0" value="0" />
+ <value cell_index="11052" local_entity="0" value="0" />
+ <value cell_index="11053" local_entity="0" value="0" />
+ <value cell_index="11054" local_entity="0" value="0" />
+ <value cell_index="11055" local_entity="0" value="0" />
+ <value cell_index="11056" local_entity="0" value="0" />
+ <value cell_index="11057" local_entity="0" value="0" />
+ <value cell_index="11058" local_entity="0" value="0" />
+ <value cell_index="11059" local_entity="0" value="0" />
+ <value cell_index="11060" local_entity="0" value="0" />
+ <value cell_index="11061" local_entity="0" value="0" />
+ <value cell_index="11062" local_entity="0" value="0" />
+ <value cell_index="11063" local_entity="0" value="0" />
+ <value cell_index="11064" local_entity="0" value="0" />
+ <value cell_index="11065" local_entity="0" value="0" />
+ <value cell_index="11066" local_entity="0" value="0" />
+ <value cell_index="11067" local_entity="0" value="0" />
+ <value cell_index="11068" local_entity="0" value="0" />
+ <value cell_index="11069" local_entity="0" value="0" />
+ <value cell_index="11070" local_entity="0" value="0" />
+ <value cell_index="11071" local_entity="0" value="0" />
+ <value cell_index="11072" local_entity="0" value="0" />
+ <value cell_index="11073" local_entity="0" value="0" />
+ <value cell_index="11074" local_entity="0" value="0" />
+ <value cell_index="11075" local_entity="0" value="0" />
+ <value cell_index="11076" local_entity="0" value="0" />
+ <value cell_index="11077" local_entity="0" value="0" />
+ <value cell_index="11078" local_entity="0" value="0" />
+ <value cell_index="11079" local_entity="0" value="0" />
+ <value cell_index="11080" local_entity="0" value="0" />
+ <value cell_index="11081" local_entity="0" value="0" />
+ <value cell_index="11082" local_entity="0" value="0" />
+ <value cell_index="11083" local_entity="0" value="0" />
+ <value cell_index="11084" local_entity="0" value="0" />
+ <value cell_index="11085" local_entity="0" value="0" />
+ <value cell_index="11086" local_entity="0" value="0" />
+ <value cell_index="11087" local_entity="0" value="0" />
+ <value cell_index="11088" local_entity="0" value="0" />
+ <value cell_index="11089" local_entity="0" value="0" />
+ <value cell_index="11090" local_entity="0" value="0" />
+ <value cell_index="11091" local_entity="0" value="0" />
+ <value cell_index="11092" local_entity="0" value="0" />
+ <value cell_index="11093" local_entity="0" value="0" />
+ <value cell_index="11094" local_entity="0" value="0" />
+ <value cell_index="11095" local_entity="0" value="0" />
+ <value cell_index="11096" local_entity="0" value="0" />
+ <value cell_index="11097" local_entity="0" value="0" />
+ <value cell_index="11098" local_entity="0" value="0" />
+ <value cell_index="11099" local_entity="0" value="0" />
+ <value cell_index="11100" local_entity="0" value="0" />
+ <value cell_index="11101" local_entity="0" value="0" />
+ <value cell_index="11102" local_entity="0" value="0" />
+ <value cell_index="11103" local_entity="0" value="0" />
+ <value cell_index="11104" local_entity="0" value="0" />
+ <value cell_index="11105" local_entity="0" value="0" />
+ <value cell_index="11106" local_entity="0" value="0" />
+ <value cell_index="11107" local_entity="0" value="0" />
+ <value cell_index="11108" local_entity="0" value="0" />
+ <value cell_index="11109" local_entity="0" value="0" />
+ <value cell_index="11110" local_entity="0" value="0" />
+ <value cell_index="11111" local_entity="0" value="0" />
+ <value cell_index="11112" local_entity="0" value="0" />
+ <value cell_index="11113" local_entity="0" value="0" />
+ <value cell_index="11114" local_entity="0" value="0" />
+ <value cell_index="11115" local_entity="0" value="0" />
+ <value cell_index="11116" local_entity="0" value="0" />
+ <value cell_index="11117" local_entity="0" value="0" />
+ <value cell_index="11118" local_entity="0" value="0" />
+ <value cell_index="11119" local_entity="0" value="0" />
+ <value cell_index="11120" local_entity="0" value="0" />
+ <value cell_index="11121" local_entity="0" value="0" />
+ <value cell_index="11122" local_entity="0" value="0" />
+ <value cell_index="11123" local_entity="0" value="0" />
+ <value cell_index="11124" local_entity="0" value="0" />
+ <value cell_index="11125" local_entity="0" value="0" />
+ <value cell_index="11126" local_entity="0" value="0" />
+ <value cell_index="11127" local_entity="0" value="0" />
+ <value cell_index="11128" local_entity="0" value="0" />
+ <value cell_index="11129" local_entity="0" value="0" />
+ <value cell_index="11130" local_entity="0" value="0" />
+ <value cell_index="11131" local_entity="0" value="0" />
+ <value cell_index="11132" local_entity="0" value="0" />
+ <value cell_index="11133" local_entity="0" value="0" />
+ <value cell_index="11134" local_entity="0" value="0" />
+ <value cell_index="11135" local_entity="0" value="0" />
+ <value cell_index="11136" local_entity="0" value="0" />
+ <value cell_index="11137" local_entity="0" value="0" />
+ <value cell_index="11138" local_entity="0" value="0" />
+ <value cell_index="11139" local_entity="0" value="0" />
+ <value cell_index="11140" local_entity="0" value="0" />
+ <value cell_index="11141" local_entity="0" value="0" />
+ <value cell_index="11142" local_entity="0" value="0" />
+ <value cell_index="11143" local_entity="0" value="0" />
+ <value cell_index="11144" local_entity="0" value="0" />
+ <value cell_index="11145" local_entity="0" value="0" />
+ <value cell_index="11146" local_entity="0" value="0" />
+ <value cell_index="11147" local_entity="0" value="0" />
+ <value cell_index="11148" local_entity="0" value="0" />
+ <value cell_index="11149" local_entity="0" value="0" />
+ <value cell_index="11150" local_entity="0" value="0" />
+ <value cell_index="11151" local_entity="0" value="0" />
+ <value cell_index="11152" local_entity="0" value="0" />
+ <value cell_index="11153" local_entity="0" value="0" />
+ <value cell_index="11154" local_entity="0" value="0" />
+ <value cell_index="11155" local_entity="0" value="0" />
+ <value cell_index="11156" local_entity="0" value="0" />
+ <value cell_index="11157" local_entity="0" value="0" />
+ <value cell_index="11158" local_entity="0" value="0" />
+ <value cell_index="11159" local_entity="0" value="0" />
+ <value cell_index="11160" local_entity="0" value="0" />
+ <value cell_index="11161" local_entity="0" value="0" />
+ <value cell_index="11162" local_entity="0" value="0" />
+ <value cell_index="11163" local_entity="0" value="0" />
+ <value cell_index="11164" local_entity="0" value="0" />
+ <value cell_index="11165" local_entity="0" value="0" />
+ <value cell_index="11166" local_entity="0" value="0" />
+ <value cell_index="11167" local_entity="0" value="0" />
+ <value cell_index="11168" local_entity="0" value="0" />
+ <value cell_index="11169" local_entity="0" value="0" />
+ <value cell_index="11170" local_entity="0" value="0" />
+ <value cell_index="11171" local_entity="0" value="0" />
+ <value cell_index="11172" local_entity="0" value="0" />
+ <value cell_index="11173" local_entity="0" value="0" />
+ <value cell_index="11174" local_entity="0" value="0" />
+ <value cell_index="11175" local_entity="0" value="0" />
+ <value cell_index="11176" local_entity="0" value="0" />
+ <value cell_index="11177" local_entity="0" value="0" />
+ <value cell_index="11178" local_entity="0" value="0" />
+ <value cell_index="11179" local_entity="0" value="0" />
+ <value cell_index="11180" local_entity="0" value="0" />
+ <value cell_index="11181" local_entity="0" value="0" />
+ <value cell_index="11182" local_entity="0" value="0" />
+ <value cell_index="11183" local_entity="0" value="0" />
+ <value cell_index="11184" local_entity="0" value="0" />
+ <value cell_index="11185" local_entity="0" value="0" />
+ <value cell_index="11186" local_entity="0" value="0" />
+ <value cell_index="11187" local_entity="0" value="0" />
+ <value cell_index="11188" local_entity="0" value="0" />
+ <value cell_index="11189" local_entity="0" value="0" />
+ <value cell_index="11190" local_entity="0" value="0" />
+ <value cell_index="11191" local_entity="0" value="0" />
+ <value cell_index="11192" local_entity="0" value="0" />
+ <value cell_index="11193" local_entity="0" value="0" />
+ <value cell_index="11194" local_entity="0" value="0" />
+ <value cell_index="11195" local_entity="0" value="0" />
+ <value cell_index="11196" local_entity="0" value="0" />
+ <value cell_index="11197" local_entity="0" value="0" />
+ <value cell_index="11198" local_entity="0" value="0" />
+ <value cell_index="11199" local_entity="0" value="0" />
+ <value cell_index="11200" local_entity="0" value="0" />
+ <value cell_index="11201" local_entity="0" value="0" />
+ <value cell_index="11202" local_entity="0" value="0" />
+ <value cell_index="11203" local_entity="0" value="0" />
+ <value cell_index="11204" local_entity="0" value="0" />
+ <value cell_index="11205" local_entity="0" value="0" />
+ <value cell_index="11206" local_entity="0" value="0" />
+ <value cell_index="11207" local_entity="0" value="0" />
+ <value cell_index="11208" local_entity="0" value="0" />
+ <value cell_index="11209" local_entity="0" value="0" />
+ <value cell_index="11210" local_entity="0" value="0" />
+ <value cell_index="11211" local_entity="0" value="0" />
+ <value cell_index="11212" local_entity="0" value="0" />
+ <value cell_index="11213" local_entity="0" value="0" />
+ <value cell_index="11214" local_entity="0" value="0" />
+ <value cell_index="11215" local_entity="0" value="0" />
+ <value cell_index="11216" local_entity="0" value="0" />
+ <value cell_index="11217" local_entity="0" value="0" />
+ <value cell_index="11218" local_entity="0" value="0" />
+ <value cell_index="11219" local_entity="0" value="0" />
+ <value cell_index="11220" local_entity="0" value="0" />
+ <value cell_index="11221" local_entity="0" value="0" />
+ <value cell_index="11222" local_entity="0" value="0" />
+ <value cell_index="11223" local_entity="0" value="0" />
+ <value cell_index="11224" local_entity="0" value="0" />
+ <value cell_index="11225" local_entity="0" value="0" />
+ <value cell_index="11226" local_entity="0" value="0" />
+ <value cell_index="11227" local_entity="0" value="0" />
+ <value cell_index="11228" local_entity="0" value="0" />
+ <value cell_index="11229" local_entity="0" value="0" />
+ <value cell_index="11230" local_entity="0" value="0" />
+ <value cell_index="11231" local_entity="0" value="0" />
+ <value cell_index="11232" local_entity="0" value="0" />
+ <value cell_index="11233" local_entity="0" value="0" />
+ <value cell_index="11234" local_entity="0" value="0" />
+ <value cell_index="11235" local_entity="0" value="0" />
+ <value cell_index="11236" local_entity="0" value="0" />
+ <value cell_index="11237" local_entity="0" value="0" />
+ <value cell_index="11238" local_entity="0" value="0" />
+ <value cell_index="11239" local_entity="0" value="0" />
+ <value cell_index="11240" local_entity="0" value="0" />
+ <value cell_index="11241" local_entity="0" value="0" />
+ <value cell_index="11242" local_entity="0" value="0" />
+ <value cell_index="11243" local_entity="0" value="0" />
+ <value cell_index="11244" local_entity="0" value="0" />
+ <value cell_index="11245" local_entity="0" value="0" />
+ <value cell_index="11246" local_entity="0" value="0" />
+ <value cell_index="11247" local_entity="0" value="0" />
+ <value cell_index="11248" local_entity="0" value="0" />
+ <value cell_index="11249" local_entity="0" value="0" />
+ <value cell_index="11250" local_entity="0" value="0" />
+ <value cell_index="11251" local_entity="0" value="0" />
+ <value cell_index="11252" local_entity="0" value="0" />
+ <value cell_index="11253" local_entity="0" value="0" />
+ <value cell_index="11254" local_entity="0" value="0" />
+ <value cell_index="11255" local_entity="0" value="0" />
+ <value cell_index="11256" local_entity="0" value="0" />
+ <value cell_index="11257" local_entity="0" value="0" />
+ <value cell_index="11258" local_entity="0" value="0" />
+ <value cell_index="11259" local_entity="0" value="0" />
+ <value cell_index="11260" local_entity="0" value="0" />
+ <value cell_index="11261" local_entity="0" value="0" />
+ <value cell_index="11262" local_entity="0" value="0" />
+ <value cell_index="11263" local_entity="0" value="0" />
+ <value cell_index="11264" local_entity="0" value="0" />
+ <value cell_index="11265" local_entity="0" value="0" />
+ <value cell_index="11266" local_entity="0" value="0" />
+ <value cell_index="11267" local_entity="0" value="0" />
+ <value cell_index="11268" local_entity="0" value="0" />
+ <value cell_index="11269" local_entity="0" value="0" />
+ <value cell_index="11270" local_entity="0" value="0" />
+ <value cell_index="11271" local_entity="0" value="0" />
+ <value cell_index="11272" local_entity="0" value="0" />
+ <value cell_index="11273" local_entity="0" value="0" />
+ <value cell_index="11274" local_entity="0" value="0" />
+ <value cell_index="11275" local_entity="0" value="0" />
+ <value cell_index="11276" local_entity="0" value="0" />
+ <value cell_index="11277" local_entity="0" value="0" />
+ <value cell_index="11278" local_entity="0" value="0" />
+ <value cell_index="11279" local_entity="0" value="0" />
+ <value cell_index="11280" local_entity="0" value="0" />
+ <value cell_index="11281" local_entity="0" value="0" />
+ <value cell_index="11282" local_entity="0" value="0" />
+ <value cell_index="11283" local_entity="0" value="0" />
+ <value cell_index="11284" local_entity="0" value="0" />
+ <value cell_index="11285" local_entity="0" value="0" />
+ <value cell_index="11286" local_entity="0" value="0" />
+ <value cell_index="11287" local_entity="0" value="0" />
+ <value cell_index="11288" local_entity="0" value="0" />
+ <value cell_index="11289" local_entity="0" value="0" />
+ <value cell_index="11290" local_entity="0" value="0" />
+ <value cell_index="11291" local_entity="0" value="0" />
+ <value cell_index="11292" local_entity="0" value="0" />
+ <value cell_index="11293" local_entity="0" value="0" />
+ <value cell_index="11294" local_entity="0" value="0" />
+ <value cell_index="11295" local_entity="0" value="0" />
+ <value cell_index="11296" local_entity="0" value="0" />
+ <value cell_index="11297" local_entity="0" value="0" />
+ <value cell_index="11298" local_entity="0" value="0" />
+ <value cell_index="11299" local_entity="0" value="0" />
+ <value cell_index="11300" local_entity="0" value="0" />
+ <value cell_index="11301" local_entity="0" value="0" />
+ <value cell_index="11302" local_entity="0" value="0" />
+ <value cell_index="11303" local_entity="0" value="0" />
+ <value cell_index="11304" local_entity="0" value="0" />
+ <value cell_index="11305" local_entity="0" value="0" />
+ <value cell_index="11306" local_entity="0" value="0" />
+ <value cell_index="11307" local_entity="0" value="0" />
+ <value cell_index="11308" local_entity="0" value="0" />
+ <value cell_index="11309" local_entity="0" value="0" />
+ <value cell_index="11310" local_entity="0" value="0" />
+ <value cell_index="11311" local_entity="0" value="0" />
+ <value cell_index="11312" local_entity="0" value="0" />
+ <value cell_index="11313" local_entity="0" value="0" />
+ <value cell_index="11314" local_entity="0" value="0" />
+ <value cell_index="11315" local_entity="0" value="0" />
+ <value cell_index="11316" local_entity="0" value="0" />
+ <value cell_index="11317" local_entity="0" value="0" />
+ <value cell_index="11318" local_entity="0" value="0" />
+ <value cell_index="11319" local_entity="0" value="0" />
+ <value cell_index="11320" local_entity="0" value="0" />
+ <value cell_index="11321" local_entity="0" value="0" />
+ <value cell_index="11322" local_entity="0" value="0" />
+ <value cell_index="11323" local_entity="0" value="0" />
+ <value cell_index="11324" local_entity="0" value="0" />
+ <value cell_index="11325" local_entity="0" value="0" />
+ <value cell_index="11326" local_entity="0" value="0" />
+ <value cell_index="11327" local_entity="0" value="0" />
+ <value cell_index="11328" local_entity="0" value="0" />
+ <value cell_index="11329" local_entity="0" value="0" />
+ <value cell_index="11330" local_entity="0" value="0" />
+ <value cell_index="11331" local_entity="0" value="0" />
+ <value cell_index="11332" local_entity="0" value="0" />
+ <value cell_index="11333" local_entity="0" value="0" />
+ <value cell_index="11334" local_entity="0" value="0" />
+ <value cell_index="11335" local_entity="0" value="0" />
+ <value cell_index="11336" local_entity="0" value="0" />
+ <value cell_index="11337" local_entity="0" value="0" />
+ <value cell_index="11338" local_entity="0" value="0" />
+ <value cell_index="11339" local_entity="0" value="0" />
+ <value cell_index="11340" local_entity="0" value="0" />
+ <value cell_index="11341" local_entity="0" value="0" />
+ <value cell_index="11342" local_entity="0" value="0" />
+ <value cell_index="11343" local_entity="0" value="0" />
+ <value cell_index="11344" local_entity="0" value="0" />
+ <value cell_index="11345" local_entity="0" value="0" />
+ <value cell_index="11346" local_entity="0" value="0" />
+ <value cell_index="11347" local_entity="0" value="0" />
+ <value cell_index="11348" local_entity="0" value="0" />
+ <value cell_index="11349" local_entity="0" value="0" />
+ <value cell_index="11350" local_entity="0" value="0" />
+ <value cell_index="11351" local_entity="0" value="0" />
+ <value cell_index="11352" local_entity="0" value="0" />
+ <value cell_index="11353" local_entity="0" value="0" />
+ <value cell_index="11354" local_entity="0" value="0" />
+ <value cell_index="11355" local_entity="0" value="0" />
+ <value cell_index="11356" local_entity="0" value="0" />
+ <value cell_index="11357" local_entity="0" value="0" />
+ <value cell_index="11358" local_entity="0" value="0" />
+ <value cell_index="11359" local_entity="0" value="0" />
+ <value cell_index="11360" local_entity="0" value="0" />
+ <value cell_index="11361" local_entity="0" value="0" />
+ <value cell_index="11362" local_entity="0" value="0" />
+ <value cell_index="11363" local_entity="0" value="0" />
+ <value cell_index="11364" local_entity="0" value="0" />
+ <value cell_index="11365" local_entity="0" value="0" />
+ <value cell_index="11366" local_entity="0" value="0" />
+ <value cell_index="11367" local_entity="0" value="0" />
+ <value cell_index="11368" local_entity="0" value="0" />
+ <value cell_index="11369" local_entity="0" value="0" />
+ <value cell_index="11370" local_entity="0" value="0" />
+ <value cell_index="11371" local_entity="0" value="0" />
+ <value cell_index="11372" local_entity="0" value="0" />
+ <value cell_index="11373" local_entity="0" value="0" />
+ <value cell_index="11374" local_entity="0" value="0" />
+ <value cell_index="11375" local_entity="0" value="0" />
+ <value cell_index="11376" local_entity="0" value="0" />
+ <value cell_index="11377" local_entity="0" value="0" />
+ <value cell_index="11378" local_entity="0" value="0" />
+ <value cell_index="11379" local_entity="0" value="0" />
+ <value cell_index="11380" local_entity="0" value="0" />
+ <value cell_index="11381" local_entity="0" value="0" />
+ <value cell_index="11382" local_entity="0" value="0" />
+ <value cell_index="11383" local_entity="0" value="0" />
+ <value cell_index="11384" local_entity="0" value="0" />
+ <value cell_index="11385" local_entity="0" value="0" />
+ <value cell_index="11386" local_entity="0" value="0" />
+ <value cell_index="11387" local_entity="0" value="0" />
+ <value cell_index="11388" local_entity="0" value="0" />
+ <value cell_index="11389" local_entity="0" value="0" />
+ <value cell_index="11390" local_entity="0" value="0" />
+ <value cell_index="11391" local_entity="0" value="0" />
+ <value cell_index="11392" local_entity="0" value="0" />
+ <value cell_index="11393" local_entity="0" value="0" />
+ <value cell_index="11394" local_entity="0" value="0" />
+ <value cell_index="11395" local_entity="0" value="0" />
+ <value cell_index="11396" local_entity="0" value="0" />
+ <value cell_index="11397" local_entity="0" value="0" />
+ <value cell_index="11398" local_entity="0" value="0" />
+ <value cell_index="11399" local_entity="0" value="0" />
+ <value cell_index="11400" local_entity="0" value="0" />
+ <value cell_index="11401" local_entity="0" value="0" />
+ <value cell_index="11402" local_entity="0" value="0" />
+ <value cell_index="11403" local_entity="0" value="0" />
+ <value cell_index="11404" local_entity="0" value="0" />
+ <value cell_index="11405" local_entity="0" value="0" />
+ <value cell_index="11406" local_entity="0" value="0" />
+ <value cell_index="11407" local_entity="0" value="0" />
+ <value cell_index="11408" local_entity="0" value="0" />
+ <value cell_index="11409" local_entity="0" value="0" />
+ <value cell_index="11410" local_entity="0" value="0" />
+ <value cell_index="11411" local_entity="0" value="0" />
+ <value cell_index="11412" local_entity="0" value="0" />
+ <value cell_index="11413" local_entity="0" value="0" />
+ <value cell_index="11414" local_entity="0" value="0" />
+ <value cell_index="11415" local_entity="0" value="0" />
+ <value cell_index="11416" local_entity="0" value="0" />
+ <value cell_index="11417" local_entity="0" value="0" />
+ <value cell_index="11418" local_entity="0" value="0" />
+ <value cell_index="11419" local_entity="0" value="0" />
+ <value cell_index="11420" local_entity="0" value="0" />
+ <value cell_index="11421" local_entity="0" value="0" />
+ <value cell_index="11422" local_entity="0" value="0" />
+ <value cell_index="11423" local_entity="0" value="0" />
+ <value cell_index="11424" local_entity="0" value="0" />
+ <value cell_index="11425" local_entity="0" value="0" />
+ <value cell_index="11426" local_entity="0" value="0" />
+ <value cell_index="11427" local_entity="0" value="0" />
+ <value cell_index="11428" local_entity="0" value="0" />
+ <value cell_index="11429" local_entity="0" value="0" />
+ <value cell_index="11430" local_entity="0" value="0" />
+ <value cell_index="11431" local_entity="0" value="0" />
+ <value cell_index="11432" local_entity="0" value="0" />
+ <value cell_index="11433" local_entity="0" value="0" />
+ <value cell_index="11434" local_entity="0" value="0" />
+ <value cell_index="11435" local_entity="0" value="0" />
+ <value cell_index="11436" local_entity="0" value="0" />
+ <value cell_index="11437" local_entity="0" value="0" />
+ <value cell_index="11438" local_entity="0" value="0" />
+ <value cell_index="11439" local_entity="0" value="0" />
+ <value cell_index="11440" local_entity="0" value="0" />
+ <value cell_index="11441" local_entity="0" value="0" />
+ <value cell_index="11442" local_entity="0" value="0" />
+ <value cell_index="11443" local_entity="0" value="0" />
+ <value cell_index="11444" local_entity="0" value="0" />
+ <value cell_index="11445" local_entity="0" value="0" />
+ <value cell_index="11446" local_entity="0" value="0" />
+ <value cell_index="11447" local_entity="0" value="0" />
+ <value cell_index="11448" local_entity="0" value="0" />
+ <value cell_index="11449" local_entity="0" value="0" />
+ <value cell_index="11450" local_entity="0" value="0" />
+ <value cell_index="11451" local_entity="0" value="0" />
+ <value cell_index="11452" local_entity="0" value="0" />
+ <value cell_index="11453" local_entity="0" value="0" />
+ <value cell_index="11454" local_entity="0" value="0" />
+ <value cell_index="11455" local_entity="0" value="0" />
+ <value cell_index="11456" local_entity="0" value="0" />
+ <value cell_index="11457" local_entity="0" value="0" />
+ <value cell_index="11458" local_entity="0" value="0" />
+ <value cell_index="11459" local_entity="0" value="0" />
+ <value cell_index="11460" local_entity="0" value="0" />
+ <value cell_index="11461" local_entity="0" value="0" />
+ <value cell_index="11462" local_entity="0" value="0" />
+ <value cell_index="11463" local_entity="0" value="0" />
+ <value cell_index="11464" local_entity="0" value="0" />
+ <value cell_index="11465" local_entity="0" value="0" />
+ <value cell_index="11466" local_entity="0" value="0" />
+ <value cell_index="11467" local_entity="0" value="0" />
+ <value cell_index="11468" local_entity="0" value="0" />
+ <value cell_index="11469" local_entity="0" value="0" />
+ <value cell_index="11470" local_entity="0" value="0" />
+ <value cell_index="11471" local_entity="0" value="0" />
+ <value cell_index="11472" local_entity="0" value="0" />
+ <value cell_index="11473" local_entity="0" value="0" />
+ <value cell_index="11474" local_entity="0" value="0" />
+ <value cell_index="11475" local_entity="0" value="0" />
+ <value cell_index="11476" local_entity="0" value="0" />
+ <value cell_index="11477" local_entity="0" value="0" />
+ <value cell_index="11478" local_entity="0" value="0" />
+ <value cell_index="11479" local_entity="0" value="0" />
+ <value cell_index="11480" local_entity="0" value="0" />
+ <value cell_index="11481" local_entity="0" value="0" />
+ <value cell_index="11482" local_entity="0" value="0" />
+ <value cell_index="11483" local_entity="0" value="0" />
+ <value cell_index="11484" local_entity="0" value="0" />
+ <value cell_index="11485" local_entity="0" value="0" />
+ <value cell_index="11486" local_entity="0" value="0" />
+ <value cell_index="11487" local_entity="0" value="0" />
+ <value cell_index="11488" local_entity="0" value="0" />
+ <value cell_index="11489" local_entity="0" value="0" />
+ <value cell_index="11490" local_entity="0" value="0" />
+ <value cell_index="11491" local_entity="0" value="0" />
+ <value cell_index="11492" local_entity="0" value="0" />
+ <value cell_index="11493" local_entity="0" value="0" />
+ <value cell_index="11494" local_entity="0" value="0" />
+ <value cell_index="11495" local_entity="0" value="0" />
+ <value cell_index="11496" local_entity="0" value="0" />
+ <value cell_index="11497" local_entity="0" value="0" />
+ <value cell_index="11498" local_entity="0" value="0" />
+ <value cell_index="11499" local_entity="0" value="0" />
+ <value cell_index="11500" local_entity="0" value="0" />
+ <value cell_index="11501" local_entity="0" value="0" />
+ <value cell_index="11502" local_entity="0" value="0" />
+ <value cell_index="11503" local_entity="0" value="0" />
+ <value cell_index="11504" local_entity="0" value="0" />
+ <value cell_index="11505" local_entity="0" value="0" />
+ <value cell_index="11506" local_entity="0" value="0" />
+ <value cell_index="11507" local_entity="0" value="0" />
+ <value cell_index="11508" local_entity="0" value="0" />
+ <value cell_index="11509" local_entity="0" value="0" />
+ <value cell_index="11510" local_entity="0" value="0" />
+ <value cell_index="11511" local_entity="0" value="0" />
+ <value cell_index="11512" local_entity="0" value="0" />
+ <value cell_index="11513" local_entity="0" value="0" />
+ <value cell_index="11514" local_entity="0" value="0" />
+ <value cell_index="11515" local_entity="0" value="0" />
+ <value cell_index="11516" local_entity="0" value="0" />
+ <value cell_index="11517" local_entity="0" value="0" />
+ <value cell_index="11518" local_entity="0" value="0" />
+ <value cell_index="11519" local_entity="0" value="0" />
+ <value cell_index="11520" local_entity="0" value="0" />
+ <value cell_index="11521" local_entity="0" value="0" />
+ <value cell_index="11522" local_entity="0" value="0" />
+ <value cell_index="11523" local_entity="0" value="0" />
+ <value cell_index="11524" local_entity="0" value="0" />
+ <value cell_index="11525" local_entity="0" value="0" />
+ <value cell_index="11526" local_entity="0" value="0" />
+ <value cell_index="11527" local_entity="0" value="0" />
+ <value cell_index="11528" local_entity="0" value="0" />
+ <value cell_index="11529" local_entity="0" value="0" />
+ <value cell_index="11530" local_entity="0" value="0" />
+ <value cell_index="11531" local_entity="0" value="0" />
+ <value cell_index="11532" local_entity="0" value="0" />
+ <value cell_index="11533" local_entity="0" value="0" />
+ <value cell_index="11534" local_entity="0" value="0" />
+ <value cell_index="11535" local_entity="0" value="0" />
+ <value cell_index="11536" local_entity="0" value="0" />
+ <value cell_index="11537" local_entity="0" value="0" />
+ <value cell_index="11538" local_entity="0" value="0" />
+ <value cell_index="11539" local_entity="0" value="0" />
+ <value cell_index="11540" local_entity="0" value="0" />
+ <value cell_index="11541" local_entity="0" value="0" />
+ <value cell_index="11542" local_entity="0" value="0" />
+ <value cell_index="11543" local_entity="0" value="0" />
+ <value cell_index="11544" local_entity="0" value="0" />
+ <value cell_index="11545" local_entity="0" value="0" />
+ <value cell_index="11546" local_entity="0" value="0" />
+ <value cell_index="11547" local_entity="0" value="0" />
+ <value cell_index="11548" local_entity="0" value="0" />
+ <value cell_index="11549" local_entity="0" value="0" />
+ <value cell_index="11550" local_entity="0" value="0" />
+ <value cell_index="11551" local_entity="0" value="0" />
+ <value cell_index="11552" local_entity="0" value="0" />
+ <value cell_index="11553" local_entity="0" value="0" />
+ <value cell_index="11554" local_entity="0" value="0" />
+ <value cell_index="11555" local_entity="0" value="0" />
+ <value cell_index="11556" local_entity="0" value="0" />
+ <value cell_index="11557" local_entity="0" value="0" />
+ <value cell_index="11558" local_entity="0" value="0" />
+ <value cell_index="11559" local_entity="0" value="0" />
+ <value cell_index="11560" local_entity="0" value="0" />
+ <value cell_index="11561" local_entity="0" value="0" />
+ <value cell_index="11562" local_entity="0" value="0" />
+ <value cell_index="11563" local_entity="0" value="0" />
+ <value cell_index="11564" local_entity="0" value="0" />
+ <value cell_index="11565" local_entity="0" value="0" />
+ <value cell_index="11566" local_entity="0" value="0" />
+ <value cell_index="11567" local_entity="0" value="0" />
+ <value cell_index="11568" local_entity="0" value="0" />
+ <value cell_index="11569" local_entity="0" value="0" />
+ <value cell_index="11570" local_entity="0" value="0" />
+ <value cell_index="11571" local_entity="0" value="0" />
+ <value cell_index="11572" local_entity="0" value="0" />
+ <value cell_index="11573" local_entity="0" value="0" />
+ <value cell_index="11574" local_entity="0" value="0" />
+ <value cell_index="11575" local_entity="0" value="0" />
+ <value cell_index="11576" local_entity="0" value="0" />
+ <value cell_index="11577" local_entity="0" value="0" />
+ <value cell_index="11578" local_entity="0" value="0" />
+ <value cell_index="11579" local_entity="0" value="0" />
+ <value cell_index="11580" local_entity="0" value="0" />
+ <value cell_index="11581" local_entity="0" value="0" />
+ <value cell_index="11582" local_entity="0" value="0" />
+ <value cell_index="11583" local_entity="0" value="0" />
+ <value cell_index="11584" local_entity="0" value="0" />
+ <value cell_index="11585" local_entity="0" value="0" />
+ <value cell_index="11586" local_entity="0" value="0" />
+ <value cell_index="11587" local_entity="0" value="0" />
+ <value cell_index="11588" local_entity="0" value="0" />
+ <value cell_index="11589" local_entity="0" value="0" />
+ <value cell_index="11590" local_entity="0" value="0" />
+ <value cell_index="11591" local_entity="0" value="0" />
+ <value cell_index="11592" local_entity="0" value="0" />
+ <value cell_index="11593" local_entity="0" value="0" />
+ <value cell_index="11594" local_entity="0" value="0" />
+ <value cell_index="11595" local_entity="0" value="0" />
+ <value cell_index="11596" local_entity="0" value="0" />
+ <value cell_index="11597" local_entity="0" value="0" />
+ <value cell_index="11598" local_entity="0" value="0" />
+ <value cell_index="11599" local_entity="0" value="0" />
+ <value cell_index="11600" local_entity="0" value="0" />
+ <value cell_index="11601" local_entity="0" value="0" />
+ <value cell_index="11602" local_entity="0" value="0" />
+ <value cell_index="11603" local_entity="0" value="0" />
+ <value cell_index="11604" local_entity="0" value="0" />
+ <value cell_index="11605" local_entity="0" value="0" />
+ <value cell_index="11606" local_entity="0" value="0" />
+ <value cell_index="11607" local_entity="0" value="0" />
+ <value cell_index="11608" local_entity="0" value="0" />
+ <value cell_index="11609" local_entity="0" value="0" />
+ <value cell_index="11610" local_entity="0" value="0" />
+ <value cell_index="11611" local_entity="0" value="0" />
+ <value cell_index="11612" local_entity="0" value="0" />
+ <value cell_index="11613" local_entity="0" value="0" />
+ <value cell_index="11614" local_entity="0" value="0" />
+ <value cell_index="11615" local_entity="0" value="0" />
+ <value cell_index="11616" local_entity="0" value="0" />
+ <value cell_index="11617" local_entity="0" value="0" />
+ <value cell_index="11618" local_entity="0" value="0" />
+ <value cell_index="11619" local_entity="0" value="0" />
+ <value cell_index="11620" local_entity="0" value="0" />
+ <value cell_index="11621" local_entity="0" value="0" />
+ <value cell_index="11622" local_entity="0" value="0" />
+ <value cell_index="11623" local_entity="0" value="0" />
+ <value cell_index="11624" local_entity="0" value="0" />
+ <value cell_index="11625" local_entity="0" value="0" />
+ <value cell_index="11626" local_entity="0" value="0" />
+ <value cell_index="11627" local_entity="0" value="0" />
+ <value cell_index="11628" local_entity="0" value="0" />
+ <value cell_index="11629" local_entity="0" value="0" />
+ <value cell_index="11630" local_entity="0" value="0" />
+ <value cell_index="11631" local_entity="0" value="0" />
+ <value cell_index="11632" local_entity="0" value="0" />
+ <value cell_index="11633" local_entity="0" value="0" />
+ <value cell_index="11634" local_entity="0" value="0" />
+ <value cell_index="11635" local_entity="0" value="0" />
+ <value cell_index="11636" local_entity="0" value="0" />
+ <value cell_index="11637" local_entity="0" value="0" />
+ <value cell_index="11638" local_entity="0" value="0" />
+ <value cell_index="11639" local_entity="0" value="0" />
+ <value cell_index="11640" local_entity="0" value="0" />
+ <value cell_index="11641" local_entity="0" value="0" />
+ <value cell_index="11642" local_entity="0" value="0" />
+ <value cell_index="11643" local_entity="0" value="0" />
+ <value cell_index="11644" local_entity="0" value="0" />
+ <value cell_index="11645" local_entity="0" value="0" />
+ <value cell_index="11646" local_entity="0" value="0" />
+ <value cell_index="11647" local_entity="0" value="0" />
+ <value cell_index="11648" local_entity="0" value="0" />
+ <value cell_index="11649" local_entity="0" value="0" />
+ <value cell_index="11650" local_entity="0" value="0" />
+ <value cell_index="11651" local_entity="0" value="0" />
+ <value cell_index="11652" local_entity="0" value="0" />
+ <value cell_index="11653" local_entity="0" value="0" />
+ <value cell_index="11654" local_entity="0" value="0" />
+ <value cell_index="11655" local_entity="0" value="0" />
+ <value cell_index="11656" local_entity="0" value="0" />
+ <value cell_index="11657" local_entity="0" value="0" />
+ <value cell_index="11658" local_entity="0" value="0" />
+ <value cell_index="11659" local_entity="0" value="0" />
+ <value cell_index="11660" local_entity="0" value="0" />
+ <value cell_index="11661" local_entity="0" value="0" />
+ <value cell_index="11662" local_entity="0" value="0" />
+ <value cell_index="11663" local_entity="0" value="0" />
+ <value cell_index="11664" local_entity="0" value="0" />
+ <value cell_index="11665" local_entity="0" value="0" />
+ <value cell_index="11666" local_entity="0" value="0" />
+ <value cell_index="11667" local_entity="0" value="0" />
+ <value cell_index="11668" local_entity="0" value="0" />
+ <value cell_index="11669" local_entity="0" value="0" />
+ <value cell_index="11670" local_entity="0" value="0" />
+ <value cell_index="11671" local_entity="0" value="0" />
+ <value cell_index="11672" local_entity="0" value="0" />
+ <value cell_index="11673" local_entity="0" value="0" />
+ <value cell_index="11674" local_entity="0" value="0" />
+ <value cell_index="11675" local_entity="0" value="0" />
+ <value cell_index="11676" local_entity="0" value="0" />
+ <value cell_index="11677" local_entity="0" value="0" />
+ <value cell_index="11678" local_entity="0" value="0" />
+ <value cell_index="11679" local_entity="0" value="0" />
+ <value cell_index="11680" local_entity="0" value="0" />
+ <value cell_index="11681" local_entity="0" value="0" />
+ <value cell_index="11682" local_entity="0" value="0" />
+ <value cell_index="11683" local_entity="0" value="0" />
+ <value cell_index="11684" local_entity="0" value="0" />
+ <value cell_index="11685" local_entity="0" value="0" />
+ <value cell_index="11686" local_entity="0" value="0" />
+ <value cell_index="11687" local_entity="0" value="0" />
+ <value cell_index="11688" local_entity="0" value="0" />
+ <value cell_index="11689" local_entity="0" value="0" />
+ <value cell_index="11690" local_entity="0" value="0" />
+ <value cell_index="11691" local_entity="0" value="0" />
+ <value cell_index="11692" local_entity="0" value="0" />
+ <value cell_index="11693" local_entity="0" value="0" />
+ <value cell_index="11694" local_entity="0" value="0" />
+ <value cell_index="11695" local_entity="0" value="0" />
+ <value cell_index="11696" local_entity="0" value="0" />
+ <value cell_index="11697" local_entity="0" value="0" />
+ <value cell_index="11698" local_entity="0" value="0" />
+ <value cell_index="11699" local_entity="0" value="0" />
+ <value cell_index="11700" local_entity="0" value="0" />
+ <value cell_index="11701" local_entity="0" value="0" />
+ <value cell_index="11702" local_entity="0" value="0" />
+ <value cell_index="11703" local_entity="0" value="0" />
+ <value cell_index="11704" local_entity="0" value="0" />
+ <value cell_index="11705" local_entity="0" value="0" />
+ <value cell_index="11706" local_entity="0" value="0" />
+ <value cell_index="11707" local_entity="0" value="0" />
+ <value cell_index="11708" local_entity="0" value="0" />
+ <value cell_index="11709" local_entity="0" value="0" />
+ <value cell_index="11710" local_entity="0" value="0" />
+ <value cell_index="11711" local_entity="0" value="0" />
+ <value cell_index="11712" local_entity="0" value="0" />
+ <value cell_index="11713" local_entity="0" value="0" />
+ <value cell_index="11714" local_entity="0" value="0" />
+ <value cell_index="11715" local_entity="0" value="0" />
+ <value cell_index="11716" local_entity="0" value="0" />
+ <value cell_index="11717" local_entity="0" value="0" />
+ <value cell_index="11718" local_entity="0" value="0" />
+ <value cell_index="11719" local_entity="0" value="0" />
+ <value cell_index="11720" local_entity="0" value="0" />
+ <value cell_index="11721" local_entity="0" value="0" />
+ <value cell_index="11722" local_entity="0" value="0" />
+ <value cell_index="11723" local_entity="0" value="0" />
+ <value cell_index="11724" local_entity="0" value="0" />
+ <value cell_index="11725" local_entity="0" value="0" />
+ <value cell_index="11726" local_entity="0" value="0" />
+ <value cell_index="11727" local_entity="0" value="0" />
+ <value cell_index="11728" local_entity="0" value="0" />
+ <value cell_index="11729" local_entity="0" value="0" />
+ <value cell_index="11730" local_entity="0" value="0" />
+ <value cell_index="11731" local_entity="0" value="0" />
+ <value cell_index="11732" local_entity="0" value="0" />
+ <value cell_index="11733" local_entity="0" value="0" />
+ <value cell_index="11734" local_entity="0" value="0" />
+ <value cell_index="11735" local_entity="0" value="0" />
+ <value cell_index="11736" local_entity="0" value="0" />
+ <value cell_index="11737" local_entity="0" value="0" />
+ <value cell_index="11738" local_entity="0" value="0" />
+ <value cell_index="11739" local_entity="0" value="0" />
+ <value cell_index="11740" local_entity="0" value="0" />
+ <value cell_index="11741" local_entity="0" value="0" />
+ <value cell_index="11742" local_entity="0" value="0" />
+ <value cell_index="11743" local_entity="0" value="0" />
+ <value cell_index="11744" local_entity="0" value="0" />
+ <value cell_index="11745" local_entity="0" value="0" />
+ <value cell_index="11746" local_entity="0" value="0" />
+ <value cell_index="11747" local_entity="0" value="0" />
+ <value cell_index="11748" local_entity="0" value="0" />
+ <value cell_index="11749" local_entity="0" value="0" />
+ <value cell_index="11750" local_entity="0" value="0" />
+ <value cell_index="11751" local_entity="0" value="0" />
+ <value cell_index="11752" local_entity="0" value="0" />
+ <value cell_index="11753" local_entity="0" value="0" />
+ <value cell_index="11754" local_entity="0" value="0" />
+ <value cell_index="11755" local_entity="0" value="0" />
+ <value cell_index="11756" local_entity="0" value="0" />
+ <value cell_index="11757" local_entity="0" value="0" />
+ <value cell_index="11758" local_entity="0" value="0" />
+ <value cell_index="11759" local_entity="0" value="0" />
+ <value cell_index="11760" local_entity="0" value="0" />
+ <value cell_index="11761" local_entity="0" value="0" />
+ <value cell_index="11762" local_entity="0" value="0" />
+ <value cell_index="11763" local_entity="0" value="0" />
+ <value cell_index="11764" local_entity="0" value="0" />
+ <value cell_index="11765" local_entity="0" value="0" />
+ <value cell_index="11766" local_entity="0" value="0" />
+ <value cell_index="11767" local_entity="0" value="0" />
+ <value cell_index="11768" local_entity="0" value="0" />
+ <value cell_index="11769" local_entity="0" value="0" />
+ <value cell_index="11770" local_entity="0" value="0" />
+ <value cell_index="11771" local_entity="0" value="0" />
+ <value cell_index="11772" local_entity="0" value="0" />
+ <value cell_index="11773" local_entity="0" value="0" />
+ <value cell_index="11774" local_entity="0" value="0" />
+ <value cell_index="11775" local_entity="0" value="0" />
+ <value cell_index="11776" local_entity="0" value="0" />
+ <value cell_index="11777" local_entity="0" value="0" />
+ <value cell_index="11778" local_entity="0" value="0" />
+ <value cell_index="11779" local_entity="0" value="0" />
+ <value cell_index="11780" local_entity="0" value="0" />
+ <value cell_index="11781" local_entity="0" value="0" />
+ <value cell_index="11782" local_entity="0" value="0" />
+ <value cell_index="11783" local_entity="0" value="0" />
+ <value cell_index="11784" local_entity="0" value="0" />
+ <value cell_index="11785" local_entity="0" value="0" />
+ <value cell_index="11786" local_entity="0" value="0" />
+ <value cell_index="11787" local_entity="0" value="0" />
+ <value cell_index="11788" local_entity="0" value="0" />
+ <value cell_index="11789" local_entity="0" value="0" />
+ <value cell_index="11790" local_entity="0" value="0" />
+ <value cell_index="11791" local_entity="0" value="0" />
+ <value cell_index="11792" local_entity="0" value="0" />
+ <value cell_index="11793" local_entity="0" value="0" />
+ <value cell_index="11794" local_entity="0" value="0" />
+ <value cell_index="11795" local_entity="0" value="0" />
+ <value cell_index="11796" local_entity="0" value="0" />
+ <value cell_index="11797" local_entity="0" value="0" />
+ <value cell_index="11798" local_entity="0" value="0" />
+ <value cell_index="11799" local_entity="0" value="0" />
+ <value cell_index="11800" local_entity="0" value="0" />
+ <value cell_index="11801" local_entity="0" value="0" />
+ <value cell_index="11802" local_entity="0" value="0" />
+ <value cell_index="11803" local_entity="0" value="0" />
+ <value cell_index="11804" local_entity="0" value="0" />
+ <value cell_index="11805" local_entity="0" value="0" />
+ <value cell_index="11806" local_entity="0" value="0" />
+ <value cell_index="11807" local_entity="0" value="0" />
+ <value cell_index="11808" local_entity="0" value="0" />
+ <value cell_index="11809" local_entity="0" value="0" />
+ <value cell_index="11810" local_entity="0" value="0" />
+ <value cell_index="11811" local_entity="0" value="0" />
+ <value cell_index="11812" local_entity="0" value="0" />
+ <value cell_index="11813" local_entity="0" value="0" />
+ <value cell_index="11814" local_entity="0" value="0" />
+ <value cell_index="11815" local_entity="0" value="0" />
+ <value cell_index="11816" local_entity="0" value="0" />
+ <value cell_index="11817" local_entity="0" value="0" />
+ <value cell_index="11818" local_entity="0" value="0" />
+ <value cell_index="11819" local_entity="0" value="0" />
+ <value cell_index="11820" local_entity="0" value="0" />
+ <value cell_index="11821" local_entity="0" value="0" />
+ <value cell_index="11822" local_entity="0" value="0" />
+ <value cell_index="11823" local_entity="0" value="0" />
+ <value cell_index="11824" local_entity="0" value="0" />
+ <value cell_index="11825" local_entity="0" value="0" />
+ <value cell_index="11826" local_entity="0" value="0" />
+ <value cell_index="11827" local_entity="0" value="0" />
+ <value cell_index="11828" local_entity="0" value="0" />
+ <value cell_index="11829" local_entity="0" value="0" />
+ <value cell_index="11830" local_entity="0" value="0" />
+ <value cell_index="11831" local_entity="0" value="0" />
+ <value cell_index="11832" local_entity="0" value="0" />
+ <value cell_index="11833" local_entity="0" value="0" />
+ <value cell_index="11834" local_entity="0" value="0" />
+ <value cell_index="11835" local_entity="0" value="0" />
+ <value cell_index="11836" local_entity="0" value="0" />
+ <value cell_index="11837" local_entity="0" value="0" />
+ <value cell_index="11838" local_entity="0" value="0" />
+ <value cell_index="11839" local_entity="0" value="0" />
+ <value cell_index="11840" local_entity="0" value="0" />
+ <value cell_index="11841" local_entity="0" value="0" />
+ <value cell_index="11842" local_entity="0" value="0" />
+ <value cell_index="11843" local_entity="0" value="0" />
+ <value cell_index="11844" local_entity="0" value="0" />
+ <value cell_index="11845" local_entity="0" value="0" />
+ <value cell_index="11846" local_entity="0" value="0" />
+ <value cell_index="11847" local_entity="0" value="0" />
+ <value cell_index="11848" local_entity="0" value="0" />
+ <value cell_index="11849" local_entity="0" value="0" />
+ <value cell_index="11850" local_entity="0" value="0" />
+ <value cell_index="11851" local_entity="0" value="0" />
+ <value cell_index="11852" local_entity="0" value="0" />
+ <value cell_index="11853" local_entity="0" value="0" />
+ <value cell_index="11854" local_entity="0" value="0" />
+ <value cell_index="11855" local_entity="0" value="0" />
+ <value cell_index="11856" local_entity="0" value="0" />
+ <value cell_index="11857" local_entity="0" value="0" />
+ <value cell_index="11858" local_entity="0" value="0" />
+ <value cell_index="11859" local_entity="0" value="0" />
+ <value cell_index="11860" local_entity="0" value="0" />
+ <value cell_index="11861" local_entity="0" value="0" />
+ <value cell_index="11862" local_entity="0" value="0" />
+ <value cell_index="11863" local_entity="0" value="0" />
+ <value cell_index="11864" local_entity="0" value="0" />
+ <value cell_index="11865" local_entity="0" value="0" />
+ <value cell_index="11866" local_entity="0" value="0" />
+ <value cell_index="11867" local_entity="0" value="0" />
+ <value cell_index="11868" local_entity="0" value="0" />
+ <value cell_index="11869" local_entity="0" value="0" />
+ <value cell_index="11870" local_entity="0" value="0" />
+ <value cell_index="11871" local_entity="0" value="0" />
+ <value cell_index="11872" local_entity="0" value="0" />
+ <value cell_index="11873" local_entity="0" value="0" />
+ <value cell_index="11874" local_entity="0" value="0" />
+ <value cell_index="11875" local_entity="0" value="0" />
+ <value cell_index="11876" local_entity="0" value="0" />
+ <value cell_index="11877" local_entity="0" value="0" />
+ <value cell_index="11878" local_entity="0" value="0" />
+ <value cell_index="11879" local_entity="0" value="0" />
+ <value cell_index="11880" local_entity="0" value="0" />
+ <value cell_index="11881" local_entity="0" value="0" />
+ <value cell_index="11882" local_entity="0" value="0" />
+ <value cell_index="11883" local_entity="0" value="0" />
+ <value cell_index="11884" local_entity="0" value="0" />
+ <value cell_index="11885" local_entity="0" value="0" />
+ <value cell_index="11886" local_entity="0" value="0" />
+ <value cell_index="11887" local_entity="0" value="0" />
+ <value cell_index="11888" local_entity="0" value="0" />
+ <value cell_index="11889" local_entity="0" value="0" />
+ <value cell_index="11890" local_entity="0" value="0" />
+ <value cell_index="11891" local_entity="0" value="0" />
+ <value cell_index="11892" local_entity="0" value="0" />
+ <value cell_index="11893" local_entity="0" value="0" />
+ <value cell_index="11894" local_entity="0" value="0" />
+ <value cell_index="11895" local_entity="0" value="0" />
+ <value cell_index="11896" local_entity="0" value="0" />
+ <value cell_index="11897" local_entity="0" value="0" />
+ <value cell_index="11898" local_entity="0" value="0" />
+ <value cell_index="11899" local_entity="0" value="0" />
+ <value cell_index="11900" local_entity="0" value="0" />
+ <value cell_index="11901" local_entity="0" value="0" />
+ <value cell_index="11902" local_entity="0" value="0" />
+ <value cell_index="11903" local_entity="0" value="0" />
+ <value cell_index="11904" local_entity="0" value="0" />
+ <value cell_index="11905" local_entity="0" value="0" />
+ <value cell_index="11906" local_entity="0" value="0" />
+ <value cell_index="11907" local_entity="0" value="0" />
+ <value cell_index="11908" local_entity="0" value="0" />
+ <value cell_index="11909" local_entity="0" value="0" />
+ <value cell_index="11910" local_entity="0" value="0" />
+ <value cell_index="11911" local_entity="0" value="0" />
+ <value cell_index="11912" local_entity="0" value="0" />
+ <value cell_index="11913" local_entity="0" value="0" />
+ <value cell_index="11914" local_entity="0" value="0" />
+ <value cell_index="11915" local_entity="0" value="0" />
+ <value cell_index="11916" local_entity="0" value="0" />
+ <value cell_index="11917" local_entity="0" value="0" />
+ <value cell_index="11918" local_entity="0" value="0" />
+ <value cell_index="11919" local_entity="0" value="0" />
+ <value cell_index="11920" local_entity="0" value="0" />
+ <value cell_index="11921" local_entity="0" value="0" />
+ <value cell_index="11922" local_entity="0" value="0" />
+ <value cell_index="11923" local_entity="0" value="0" />
+ <value cell_index="11924" local_entity="0" value="0" />
+ <value cell_index="11925" local_entity="0" value="0" />
+ <value cell_index="11926" local_entity="0" value="0" />
+ <value cell_index="11927" local_entity="0" value="0" />
+ <value cell_index="11928" local_entity="0" value="0" />
+ <value cell_index="11929" local_entity="0" value="0" />
+ <value cell_index="11930" local_entity="0" value="0" />
+ <value cell_index="11931" local_entity="0" value="0" />
+ <value cell_index="11932" local_entity="0" value="0" />
+ <value cell_index="11933" local_entity="0" value="0" />
+ <value cell_index="11934" local_entity="0" value="0" />
+ <value cell_index="11935" local_entity="0" value="0" />
+ <value cell_index="11936" local_entity="0" value="0" />
+ <value cell_index="11937" local_entity="0" value="0" />
+ <value cell_index="11938" local_entity="0" value="0" />
+ <value cell_index="11939" local_entity="0" value="0" />
+ <value cell_index="11940" local_entity="0" value="0" />
+ <value cell_index="11941" local_entity="0" value="0" />
+ <value cell_index="11942" local_entity="0" value="0" />
+ <value cell_index="11943" local_entity="0" value="0" />
+ <value cell_index="11944" local_entity="0" value="0" />
+ <value cell_index="11945" local_entity="0" value="0" />
+ <value cell_index="11946" local_entity="0" value="0" />
+ <value cell_index="11947" local_entity="0" value="0" />
+ <value cell_index="11948" local_entity="0" value="0" />
+ <value cell_index="11949" local_entity="0" value="0" />
+ <value cell_index="11950" local_entity="0" value="0" />
+ <value cell_index="11951" local_entity="0" value="0" />
+ <value cell_index="11952" local_entity="0" value="0" />
+ <value cell_index="11953" local_entity="0" value="0" />
+ <value cell_index="11954" local_entity="0" value="0" />
+ <value cell_index="11955" local_entity="0" value="0" />
+ <value cell_index="11956" local_entity="0" value="0" />
+ <value cell_index="11957" local_entity="0" value="0" />
+ <value cell_index="11958" local_entity="0" value="0" />
+ <value cell_index="11959" local_entity="0" value="0" />
+ <value cell_index="11960" local_entity="0" value="0" />
+ <value cell_index="11961" local_entity="0" value="0" />
+ <value cell_index="11962" local_entity="0" value="0" />
+ <value cell_index="11963" local_entity="0" value="0" />
+ <value cell_index="11964" local_entity="0" value="0" />
+ <value cell_index="11965" local_entity="0" value="0" />
+ <value cell_index="11966" local_entity="0" value="0" />
+ <value cell_index="11967" local_entity="0" value="0" />
+ <value cell_index="11968" local_entity="0" value="0" />
+ <value cell_index="11969" local_entity="0" value="0" />
+ <value cell_index="11970" local_entity="0" value="0" />
+ <value cell_index="11971" local_entity="0" value="0" />
+ <value cell_index="11972" local_entity="0" value="0" />
+ <value cell_index="11973" local_entity="0" value="0" />
+ <value cell_index="11974" local_entity="0" value="0" />
+ <value cell_index="11975" local_entity="0" value="0" />
+ <value cell_index="11976" local_entity="0" value="0" />
+ <value cell_index="11977" local_entity="0" value="0" />
+ <value cell_index="11978" local_entity="0" value="0" />
+ <value cell_index="11979" local_entity="0" value="0" />
+ <value cell_index="11980" local_entity="0" value="0" />
+ <value cell_index="11981" local_entity="0" value="0" />
+ <value cell_index="11982" local_entity="0" value="0" />
+ <value cell_index="11983" local_entity="0" value="0" />
+ <value cell_index="11984" local_entity="0" value="0" />
+ <value cell_index="11985" local_entity="0" value="0" />
+ <value cell_index="11986" local_entity="0" value="0" />
+ <value cell_index="11987" local_entity="0" value="0" />
+ <value cell_index="11988" local_entity="0" value="0" />
+ <value cell_index="11989" local_entity="0" value="0" />
+ <value cell_index="11990" local_entity="0" value="0" />
+ <value cell_index="11991" local_entity="0" value="0" />
+ <value cell_index="11992" local_entity="0" value="0" />
+ <value cell_index="11993" local_entity="0" value="0" />
+ <value cell_index="11994" local_entity="0" value="0" />
+ <value cell_index="11995" local_entity="0" value="0" />
+ <value cell_index="11996" local_entity="0" value="0" />
+ <value cell_index="11997" local_entity="0" value="0" />
+ <value cell_index="11998" local_entity="0" value="0" />
+ <value cell_index="11999" local_entity="0" value="0" />
+ <value cell_index="12000" local_entity="0" value="0" />
+ <value cell_index="12001" local_entity="0" value="0" />
+ <value cell_index="12002" local_entity="0" value="0" />
+ <value cell_index="12003" local_entity="0" value="0" />
+ <value cell_index="12004" local_entity="0" value="0" />
+ <value cell_index="12005" local_entity="0" value="0" />
+ <value cell_index="12006" local_entity="0" value="0" />
+ <value cell_index="12007" local_entity="0" value="0" />
+ <value cell_index="12008" local_entity="0" value="0" />
+ <value cell_index="12009" local_entity="0" value="0" />
+ <value cell_index="12010" local_entity="0" value="0" />
+ <value cell_index="12011" local_entity="0" value="0" />
+ <value cell_index="12012" local_entity="0" value="0" />
+ <value cell_index="12013" local_entity="0" value="0" />
+ <value cell_index="12014" local_entity="0" value="0" />
+ <value cell_index="12015" local_entity="0" value="0" />
+ <value cell_index="12016" local_entity="0" value="0" />
+ <value cell_index="12017" local_entity="0" value="0" />
+ <value cell_index="12018" local_entity="0" value="0" />
+ <value cell_index="12019" local_entity="0" value="0" />
+ <value cell_index="12020" local_entity="0" value="0" />
+ <value cell_index="12021" local_entity="0" value="0" />
+ <value cell_index="12022" local_entity="0" value="0" />
+ <value cell_index="12023" local_entity="0" value="0" />
+ <value cell_index="12024" local_entity="0" value="0" />
+ <value cell_index="12025" local_entity="0" value="0" />
+ <value cell_index="12026" local_entity="0" value="0" />
+ <value cell_index="12027" local_entity="0" value="0" />
+ <value cell_index="12028" local_entity="0" value="0" />
+ <value cell_index="12029" local_entity="0" value="0" />
+ <value cell_index="12030" local_entity="0" value="0" />
+ <value cell_index="12031" local_entity="0" value="0" />
+ <value cell_index="12032" local_entity="0" value="0" />
+ <value cell_index="12033" local_entity="0" value="0" />
+ <value cell_index="12034" local_entity="0" value="0" />
+ <value cell_index="12035" local_entity="0" value="0" />
+ <value cell_index="12036" local_entity="0" value="0" />
+ <value cell_index="12037" local_entity="0" value="0" />
+ <value cell_index="12038" local_entity="0" value="0" />
+ <value cell_index="12039" local_entity="0" value="0" />
+ <value cell_index="12040" local_entity="0" value="0" />
+ <value cell_index="12041" local_entity="0" value="0" />
+ <value cell_index="12042" local_entity="0" value="0" />
+ <value cell_index="12043" local_entity="0" value="0" />
+ <value cell_index="12044" local_entity="0" value="0" />
+ <value cell_index="12045" local_entity="0" value="0" />
+ <value cell_index="12046" local_entity="0" value="0" />
+ <value cell_index="12047" local_entity="0" value="0" />
+ <value cell_index="12048" local_entity="0" value="0" />
+ <value cell_index="12049" local_entity="0" value="0" />
+ <value cell_index="12050" local_entity="0" value="0" />
+ <value cell_index="12051" local_entity="0" value="0" />
+ <value cell_index="12052" local_entity="0" value="0" />
+ <value cell_index="12053" local_entity="0" value="0" />
+ <value cell_index="12054" local_entity="0" value="0" />
+ <value cell_index="12055" local_entity="0" value="0" />
+ <value cell_index="12056" local_entity="0" value="0" />
+ <value cell_index="12057" local_entity="0" value="0" />
+ <value cell_index="12058" local_entity="0" value="0" />
+ <value cell_index="12059" local_entity="0" value="0" />
+ <value cell_index="12060" local_entity="0" value="0" />
+ <value cell_index="12061" local_entity="0" value="0" />
+ <value cell_index="12062" local_entity="0" value="0" />
+ <value cell_index="12063" local_entity="0" value="0" />
+ <value cell_index="12064" local_entity="0" value="0" />
+ <value cell_index="12065" local_entity="0" value="0" />
+ <value cell_index="12066" local_entity="0" value="0" />
+ <value cell_index="12067" local_entity="0" value="0" />
+ <value cell_index="12068" local_entity="0" value="0" />
+ <value cell_index="12069" local_entity="0" value="0" />
+ <value cell_index="12070" local_entity="0" value="0" />
+ <value cell_index="12071" local_entity="0" value="0" />
+ <value cell_index="12072" local_entity="0" value="0" />
+ <value cell_index="12073" local_entity="0" value="0" />
+ <value cell_index="12074" local_entity="0" value="0" />
+ <value cell_index="12075" local_entity="0" value="0" />
+ <value cell_index="12076" local_entity="0" value="0" />
+ <value cell_index="12077" local_entity="0" value="0" />
+ <value cell_index="12078" local_entity="0" value="0" />
+ <value cell_index="12079" local_entity="0" value="0" />
+ <value cell_index="12080" local_entity="0" value="0" />
+ <value cell_index="12081" local_entity="0" value="0" />
+ <value cell_index="12082" local_entity="0" value="0" />
+ <value cell_index="12083" local_entity="0" value="0" />
+ <value cell_index="12084" local_entity="0" value="0" />
+ <value cell_index="12085" local_entity="0" value="0" />
+ <value cell_index="12086" local_entity="0" value="0" />
+ <value cell_index="12087" local_entity="0" value="0" />
+ <value cell_index="12088" local_entity="0" value="0" />
+ <value cell_index="12089" local_entity="0" value="0" />
+ <value cell_index="12090" local_entity="0" value="0" />
+ <value cell_index="12091" local_entity="0" value="0" />
+ <value cell_index="12092" local_entity="0" value="0" />
+ <value cell_index="12093" local_entity="0" value="0" />
+ <value cell_index="12094" local_entity="0" value="0" />
+ <value cell_index="12095" local_entity="0" value="0" />
+ <value cell_index="12096" local_entity="0" value="0" />
+ <value cell_index="12097" local_entity="0" value="0" />
+ <value cell_index="12098" local_entity="0" value="0" />
+ <value cell_index="12099" local_entity="0" value="0" />
+ <value cell_index="12100" local_entity="0" value="0" />
+ <value cell_index="12101" local_entity="0" value="0" />
+ <value cell_index="12102" local_entity="0" value="0" />
+ <value cell_index="12103" local_entity="0" value="0" />
+ <value cell_index="12104" local_entity="0" value="0" />
+ <value cell_index="12105" local_entity="0" value="0" />
+ <value cell_index="12106" local_entity="0" value="0" />
+ <value cell_index="12107" local_entity="0" value="0" />
+ <value cell_index="12108" local_entity="0" value="0" />
+ <value cell_index="12109" local_entity="0" value="0" />
+ <value cell_index="12110" local_entity="0" value="0" />
+ <value cell_index="12111" local_entity="0" value="0" />
+ <value cell_index="12112" local_entity="0" value="0" />
+ <value cell_index="12113" local_entity="0" value="0" />
+ <value cell_index="12114" local_entity="0" value="0" />
+ <value cell_index="12115" local_entity="0" value="0" />
+ <value cell_index="12116" local_entity="0" value="0" />
+ <value cell_index="12117" local_entity="0" value="0" />
+ <value cell_index="12118" local_entity="0" value="0" />
+ <value cell_index="12119" local_entity="0" value="0" />
+ <value cell_index="12120" local_entity="0" value="0" />
+ <value cell_index="12121" local_entity="0" value="0" />
+ <value cell_index="12122" local_entity="0" value="0" />
+ <value cell_index="12123" local_entity="0" value="0" />
+ <value cell_index="12124" local_entity="0" value="0" />
+ <value cell_index="12125" local_entity="0" value="0" />
+ <value cell_index="12126" local_entity="0" value="0" />
+ <value cell_index="12127" local_entity="0" value="0" />
+ <value cell_index="12128" local_entity="0" value="0" />
+ <value cell_index="12129" local_entity="0" value="0" />
+ <value cell_index="12130" local_entity="0" value="0" />
+ <value cell_index="12131" local_entity="0" value="0" />
+ <value cell_index="12132" local_entity="0" value="0" />
+ <value cell_index="12133" local_entity="0" value="0" />
+ <value cell_index="12134" local_entity="0" value="0" />
+ <value cell_index="12135" local_entity="0" value="0" />
+ <value cell_index="12136" local_entity="0" value="0" />
+ <value cell_index="12137" local_entity="0" value="0" />
+ <value cell_index="12138" local_entity="0" value="0" />
+ <value cell_index="12139" local_entity="0" value="0" />
+ <value cell_index="12140" local_entity="0" value="0" />
+ <value cell_index="12141" local_entity="0" value="0" />
+ <value cell_index="12142" local_entity="0" value="0" />
+ <value cell_index="12143" local_entity="0" value="0" />
+ <value cell_index="12144" local_entity="0" value="0" />
+ <value cell_index="12145" local_entity="0" value="0" />
+ <value cell_index="12146" local_entity="0" value="0" />
+ <value cell_index="12147" local_entity="0" value="0" />
+ <value cell_index="12148" local_entity="0" value="0" />
+ <value cell_index="12149" local_entity="0" value="0" />
+ <value cell_index="12150" local_entity="0" value="0" />
+ <value cell_index="12151" local_entity="0" value="0" />
+ <value cell_index="12152" local_entity="0" value="0" />
+ <value cell_index="12153" local_entity="0" value="0" />
+ <value cell_index="12154" local_entity="0" value="0" />
+ <value cell_index="12155" local_entity="0" value="0" />
+ <value cell_index="12156" local_entity="0" value="0" />
+ <value cell_index="12157" local_entity="0" value="0" />
+ <value cell_index="12158" local_entity="0" value="0" />
+ <value cell_index="12159" local_entity="0" value="0" />
+ <value cell_index="12160" local_entity="0" value="0" />
+ <value cell_index="12161" local_entity="0" value="0" />
+ <value cell_index="12162" local_entity="0" value="0" />
+ <value cell_index="12163" local_entity="0" value="0" />
+ <value cell_index="12164" local_entity="0" value="0" />
+ <value cell_index="12165" local_entity="0" value="0" />
+ <value cell_index="12166" local_entity="0" value="0" />
+ <value cell_index="12167" local_entity="0" value="0" />
+ <value cell_index="12168" local_entity="0" value="0" />
+ <value cell_index="12169" local_entity="0" value="0" />
+ <value cell_index="12170" local_entity="0" value="0" />
+ <value cell_index="12171" local_entity="0" value="0" />
+ <value cell_index="12172" local_entity="0" value="0" />
+ <value cell_index="12173" local_entity="0" value="0" />
+ <value cell_index="12174" local_entity="0" value="0" />
+ <value cell_index="12175" local_entity="0" value="0" />
+ <value cell_index="12176" local_entity="0" value="0" />
+ <value cell_index="12177" local_entity="0" value="0" />
+ <value cell_index="12178" local_entity="0" value="0" />
+ <value cell_index="12179" local_entity="0" value="0" />
+ <value cell_index="12180" local_entity="0" value="0" />
+ <value cell_index="12181" local_entity="0" value="0" />
+ <value cell_index="12182" local_entity="0" value="0" />
+ <value cell_index="12183" local_entity="0" value="0" />
+ <value cell_index="12184" local_entity="0" value="0" />
+ <value cell_index="12185" local_entity="0" value="0" />
+ <value cell_index="12186" local_entity="0" value="0" />
+ <value cell_index="12187" local_entity="0" value="0" />
+ <value cell_index="12188" local_entity="0" value="0" />
+ <value cell_index="12189" local_entity="0" value="0" />
+ <value cell_index="12190" local_entity="0" value="0" />
+ <value cell_index="12191" local_entity="0" value="0" />
+ <value cell_index="12192" local_entity="0" value="0" />
+ <value cell_index="12193" local_entity="0" value="0" />
+ <value cell_index="12194" local_entity="0" value="0" />
+ <value cell_index="12195" local_entity="0" value="0" />
+ <value cell_index="12196" local_entity="0" value="0" />
+ <value cell_index="12197" local_entity="0" value="0" />
+ <value cell_index="12198" local_entity="0" value="0" />
+ <value cell_index="12199" local_entity="0" value="0" />
+ <value cell_index="12200" local_entity="0" value="0" />
+ <value cell_index="12201" local_entity="0" value="0" />
+ <value cell_index="12202" local_entity="0" value="0" />
+ <value cell_index="12203" local_entity="0" value="0" />
+ <value cell_index="12204" local_entity="0" value="0" />
+ <value cell_index="12205" local_entity="0" value="0" />
+ <value cell_index="12206" local_entity="0" value="0" />
+ <value cell_index="12207" local_entity="0" value="0" />
+ <value cell_index="12208" local_entity="0" value="0" />
+ <value cell_index="12209" local_entity="0" value="0" />
+ <value cell_index="12210" local_entity="0" value="0" />
+ <value cell_index="12211" local_entity="0" value="0" />
+ <value cell_index="12212" local_entity="0" value="0" />
+ <value cell_index="12213" local_entity="0" value="0" />
+ <value cell_index="12214" local_entity="0" value="0" />
+ <value cell_index="12215" local_entity="0" value="0" />
+ <value cell_index="12216" local_entity="0" value="0" />
+ <value cell_index="12217" local_entity="0" value="0" />
+ <value cell_index="12218" local_entity="0" value="0" />
+ <value cell_index="12219" local_entity="0" value="0" />
+ <value cell_index="12220" local_entity="0" value="0" />
+ <value cell_index="12221" local_entity="0" value="0" />
+ <value cell_index="12222" local_entity="0" value="0" />
+ <value cell_index="12223" local_entity="0" value="0" />
+ <value cell_index="12224" local_entity="0" value="0" />
+ <value cell_index="12225" local_entity="0" value="0" />
+ <value cell_index="12226" local_entity="0" value="0" />
+ <value cell_index="12227" local_entity="0" value="0" />
+ <value cell_index="12228" local_entity="0" value="0" />
+ <value cell_index="12229" local_entity="0" value="0" />
+ <value cell_index="12230" local_entity="0" value="0" />
+ <value cell_index="12231" local_entity="0" value="0" />
+ <value cell_index="12232" local_entity="0" value="0" />
+ <value cell_index="12233" local_entity="0" value="0" />
+ <value cell_index="12234" local_entity="0" value="0" />
+ <value cell_index="12235" local_entity="0" value="0" />
+ <value cell_index="12236" local_entity="0" value="0" />
+ <value cell_index="12237" local_entity="0" value="0" />
+ <value cell_index="12238" local_entity="0" value="0" />
+ <value cell_index="12239" local_entity="0" value="0" />
+ <value cell_index="12240" local_entity="0" value="0" />
+ <value cell_index="12241" local_entity="0" value="0" />
+ <value cell_index="12242" local_entity="0" value="0" />
+ <value cell_index="12243" local_entity="0" value="0" />
+ <value cell_index="12244" local_entity="0" value="0" />
+ <value cell_index="12245" local_entity="0" value="0" />
+ <value cell_index="12246" local_entity="0" value="0" />
+ <value cell_index="12247" local_entity="0" value="0" />
+ <value cell_index="12248" local_entity="0" value="0" />
+ <value cell_index="12249" local_entity="0" value="0" />
+ <value cell_index="12250" local_entity="0" value="0" />
+ <value cell_index="12251" local_entity="0" value="0" />
+ <value cell_index="12252" local_entity="0" value="0" />
+ <value cell_index="12253" local_entity="0" value="0" />
+ <value cell_index="12254" local_entity="0" value="0" />
+ <value cell_index="12255" local_entity="0" value="0" />
+ <value cell_index="12256" local_entity="0" value="0" />
+ <value cell_index="12257" local_entity="0" value="0" />
+ <value cell_index="12258" local_entity="0" value="0" />
+ <value cell_index="12259" local_entity="0" value="0" />
+ <value cell_index="12260" local_entity="0" value="0" />
+ <value cell_index="12261" local_entity="0" value="0" />
+ <value cell_index="12262" local_entity="0" value="0" />
+ <value cell_index="12263" local_entity="0" value="0" />
+ <value cell_index="12264" local_entity="0" value="0" />
+ <value cell_index="12265" local_entity="0" value="0" />
+ <value cell_index="12266" local_entity="0" value="0" />
+ <value cell_index="12267" local_entity="0" value="0" />
+ <value cell_index="12268" local_entity="0" value="0" />
+ <value cell_index="12269" local_entity="0" value="0" />
+ <value cell_index="12270" local_entity="0" value="0" />
+ <value cell_index="12271" local_entity="0" value="0" />
+ <value cell_index="12272" local_entity="0" value="0" />
+ <value cell_index="12273" local_entity="0" value="0" />
+ <value cell_index="12274" local_entity="0" value="0" />
+ <value cell_index="12275" local_entity="0" value="0" />
+ <value cell_index="12276" local_entity="0" value="0" />
+ <value cell_index="12277" local_entity="0" value="0" />
+ <value cell_index="12278" local_entity="0" value="0" />
+ <value cell_index="12279" local_entity="0" value="0" />
+ <value cell_index="12280" local_entity="0" value="0" />
+ <value cell_index="12281" local_entity="0" value="0" />
+ <value cell_index="12282" local_entity="0" value="0" />
+ <value cell_index="12283" local_entity="0" value="0" />
+ <value cell_index="12284" local_entity="0" value="0" />
+ <value cell_index="12285" local_entity="0" value="0" />
+ <value cell_index="12286" local_entity="0" value="0" />
+ <value cell_index="12287" local_entity="0" value="0" />
+ <value cell_index="12288" local_entity="0" value="0" />
+ <value cell_index="12289" local_entity="0" value="0" />
+ <value cell_index="12290" local_entity="0" value="0" />
+ <value cell_index="12291" local_entity="0" value="0" />
+ <value cell_index="12292" local_entity="0" value="0" />
+ <value cell_index="12293" local_entity="0" value="0" />
+ <value cell_index="12294" local_entity="0" value="0" />
+ <value cell_index="12295" local_entity="0" value="0" />
+ <value cell_index="12296" local_entity="0" value="0" />
+ <value cell_index="12297" local_entity="0" value="0" />
+ <value cell_index="12298" local_entity="0" value="0" />
+ <value cell_index="12299" local_entity="0" value="0" />
+ <value cell_index="12300" local_entity="0" value="0" />
+ <value cell_index="12301" local_entity="0" value="0" />
+ <value cell_index="12302" local_entity="0" value="0" />
+ <value cell_index="12303" local_entity="0" value="0" />
+ <value cell_index="12304" local_entity="0" value="0" />
+ <value cell_index="12305" local_entity="0" value="0" />
+ <value cell_index="12306" local_entity="0" value="0" />
+ <value cell_index="12307" local_entity="0" value="0" />
+ <value cell_index="12308" local_entity="0" value="0" />
+ <value cell_index="12309" local_entity="0" value="0" />
+ <value cell_index="12310" local_entity="0" value="0" />
+ <value cell_index="12311" local_entity="0" value="0" />
+ <value cell_index="12312" local_entity="0" value="0" />
+ <value cell_index="12313" local_entity="0" value="0" />
+ <value cell_index="12314" local_entity="0" value="0" />
+ <value cell_index="12315" local_entity="0" value="0" />
+ <value cell_index="12316" local_entity="0" value="0" />
+ <value cell_index="12317" local_entity="0" value="0" />
+ <value cell_index="12318" local_entity="0" value="0" />
+ <value cell_index="12319" local_entity="0" value="0" />
+ <value cell_index="12320" local_entity="0" value="0" />
+ <value cell_index="12321" local_entity="0" value="0" />
+ <value cell_index="12322" local_entity="0" value="0" />
+ <value cell_index="12323" local_entity="0" value="0" />
+ <value cell_index="12324" local_entity="0" value="0" />
+ <value cell_index="12325" local_entity="0" value="0" />
+ <value cell_index="12326" local_entity="0" value="0" />
+ <value cell_index="12327" local_entity="0" value="0" />
+ <value cell_index="12328" local_entity="0" value="0" />
+ <value cell_index="12329" local_entity="0" value="0" />
+ <value cell_index="12330" local_entity="0" value="0" />
+ <value cell_index="12331" local_entity="0" value="0" />
+ <value cell_index="12332" local_entity="0" value="0" />
+ <value cell_index="12333" local_entity="0" value="0" />
+ <value cell_index="12334" local_entity="0" value="0" />
+ <value cell_index="12335" local_entity="0" value="0" />
+ <value cell_index="12336" local_entity="0" value="0" />
+ <value cell_index="12337" local_entity="0" value="0" />
+ <value cell_index="12338" local_entity="0" value="0" />
+ <value cell_index="12339" local_entity="0" value="0" />
+ <value cell_index="12340" local_entity="0" value="0" />
+ <value cell_index="12341" local_entity="0" value="0" />
+ <value cell_index="12342" local_entity="0" value="0" />
+ <value cell_index="12343" local_entity="0" value="0" />
+ <value cell_index="12344" local_entity="0" value="0" />
+ <value cell_index="12345" local_entity="0" value="0" />
+ <value cell_index="12346" local_entity="0" value="0" />
+ <value cell_index="12347" local_entity="0" value="0" />
+ <value cell_index="12348" local_entity="0" value="0" />
+ <value cell_index="12349" local_entity="0" value="0" />
+ <value cell_index="12350" local_entity="0" value="0" />
+ <value cell_index="12351" local_entity="0" value="0" />
+ <value cell_index="12352" local_entity="0" value="0" />
+ <value cell_index="12353" local_entity="0" value="0" />
+ <value cell_index="12354" local_entity="0" value="0" />
+ <value cell_index="12355" local_entity="0" value="0" />
+ <value cell_index="12356" local_entity="0" value="0" />
+ <value cell_index="12357" local_entity="0" value="0" />
+ <value cell_index="12358" local_entity="0" value="0" />
+ <value cell_index="12359" local_entity="0" value="0" />
+ <value cell_index="12360" local_entity="0" value="0" />
+ <value cell_index="12361" local_entity="0" value="0" />
+ <value cell_index="12362" local_entity="0" value="0" />
+ <value cell_index="12363" local_entity="0" value="0" />
+ <value cell_index="12364" local_entity="0" value="0" />
+ <value cell_index="12365" local_entity="0" value="0" />
+ <value cell_index="12366" local_entity="0" value="0" />
+ <value cell_index="12367" local_entity="0" value="0" />
+ <value cell_index="12368" local_entity="0" value="0" />
+ <value cell_index="12369" local_entity="0" value="0" />
+ <value cell_index="12370" local_entity="0" value="0" />
+ <value cell_index="12371" local_entity="0" value="0" />
+ <value cell_index="12372" local_entity="0" value="0" />
+ <value cell_index="12373" local_entity="0" value="0" />
+ <value cell_index="12374" local_entity="0" value="0" />
+ <value cell_index="12375" local_entity="0" value="0" />
+ <value cell_index="12376" local_entity="0" value="0" />
+ <value cell_index="12377" local_entity="0" value="0" />
+ <value cell_index="12378" local_entity="0" value="0" />
+ <value cell_index="12379" local_entity="0" value="0" />
+ <value cell_index="12380" local_entity="0" value="0" />
+ <value cell_index="12381" local_entity="0" value="0" />
+ <value cell_index="12382" local_entity="0" value="0" />
+ <value cell_index="12383" local_entity="0" value="0" />
+ <value cell_index="12384" local_entity="0" value="0" />
+ <value cell_index="12385" local_entity="0" value="0" />
+ <value cell_index="12386" local_entity="0" value="0" />
+ <value cell_index="12387" local_entity="0" value="0" />
+ <value cell_index="12388" local_entity="0" value="0" />
+ <value cell_index="12389" local_entity="0" value="0" />
+ <value cell_index="12390" local_entity="0" value="0" />
+ <value cell_index="12391" local_entity="0" value="0" />
+ <value cell_index="12392" local_entity="0" value="0" />
+ <value cell_index="12393" local_entity="0" value="0" />
+ <value cell_index="12394" local_entity="0" value="0" />
+ <value cell_index="12395" local_entity="0" value="0" />
+ <value cell_index="12396" local_entity="0" value="0" />
+ <value cell_index="12397" local_entity="0" value="0" />
+ <value cell_index="12398" local_entity="0" value="0" />
+ <value cell_index="12399" local_entity="0" value="0" />
+ <value cell_index="12400" local_entity="0" value="0" />
+ <value cell_index="12401" local_entity="0" value="0" />
+ <value cell_index="12402" local_entity="0" value="0" />
+ <value cell_index="12403" local_entity="0" value="0" />
+ <value cell_index="12404" local_entity="0" value="0" />
+ <value cell_index="12405" local_entity="0" value="0" />
+ <value cell_index="12406" local_entity="0" value="0" />
+ <value cell_index="12407" local_entity="0" value="0" />
+ <value cell_index="12408" local_entity="0" value="0" />
+ <value cell_index="12409" local_entity="0" value="0" />
+ <value cell_index="12410" local_entity="0" value="0" />
+ <value cell_index="12411" local_entity="0" value="0" />
+ <value cell_index="12412" local_entity="0" value="0" />
+ <value cell_index="12413" local_entity="0" value="0" />
+ <value cell_index="12414" local_entity="0" value="0" />
+ <value cell_index="12415" local_entity="0" value="0" />
+ <value cell_index="12416" local_entity="0" value="0" />
+ <value cell_index="12417" local_entity="0" value="0" />
+ <value cell_index="12418" local_entity="0" value="0" />
+ <value cell_index="12419" local_entity="0" value="0" />
+ <value cell_index="12420" local_entity="0" value="0" />
+ <value cell_index="12421" local_entity="0" value="0" />
+ <value cell_index="12422" local_entity="0" value="0" />
+ <value cell_index="12423" local_entity="0" value="0" />
+ <value cell_index="12424" local_entity="0" value="0" />
+ <value cell_index="12425" local_entity="0" value="0" />
+ <value cell_index="12426" local_entity="0" value="0" />
+ <value cell_index="12427" local_entity="0" value="0" />
+ <value cell_index="12428" local_entity="0" value="0" />
+ <value cell_index="12429" local_entity="0" value="0" />
+ <value cell_index="12430" local_entity="0" value="0" />
+ <value cell_index="12431" local_entity="0" value="0" />
+ <value cell_index="12432" local_entity="0" value="0" />
+ <value cell_index="12433" local_entity="0" value="0" />
+ <value cell_index="12434" local_entity="0" value="0" />
+ <value cell_index="12435" local_entity="0" value="0" />
+ <value cell_index="12436" local_entity="0" value="0" />
+ <value cell_index="12437" local_entity="0" value="0" />
+ <value cell_index="12438" local_entity="0" value="0" />
+ <value cell_index="12439" local_entity="0" value="0" />
+ <value cell_index="12440" local_entity="0" value="0" />
+ <value cell_index="12441" local_entity="0" value="0" />
+ <value cell_index="12442" local_entity="0" value="0" />
+ <value cell_index="12443" local_entity="0" value="0" />
+ <value cell_index="12444" local_entity="0" value="0" />
+ <value cell_index="12445" local_entity="0" value="0" />
+ <value cell_index="12446" local_entity="0" value="0" />
+ <value cell_index="12447" local_entity="0" value="0" />
+ <value cell_index="12448" local_entity="0" value="0" />
+ <value cell_index="12449" local_entity="0" value="0" />
+ <value cell_index="12450" local_entity="0" value="0" />
+ <value cell_index="12451" local_entity="0" value="0" />
+ <value cell_index="12452" local_entity="0" value="0" />
+ <value cell_index="12453" local_entity="0" value="0" />
+ <value cell_index="12454" local_entity="0" value="0" />
+ <value cell_index="12455" local_entity="0" value="0" />
+ <value cell_index="12456" local_entity="0" value="0" />
+ <value cell_index="12457" local_entity="0" value="0" />
+ <value cell_index="12458" local_entity="0" value="0" />
+ <value cell_index="12459" local_entity="0" value="0" />
+ <value cell_index="12460" local_entity="0" value="0" />
+ <value cell_index="12461" local_entity="0" value="0" />
+ <value cell_index="12462" local_entity="0" value="0" />
+ <value cell_index="12463" local_entity="0" value="0" />
+ <value cell_index="12464" local_entity="0" value="0" />
+ <value cell_index="12465" local_entity="0" value="0" />
+ <value cell_index="12466" local_entity="0" value="0" />
+ <value cell_index="12467" local_entity="0" value="0" />
+ <value cell_index="12468" local_entity="0" value="0" />
+ <value cell_index="12469" local_entity="0" value="0" />
+ <value cell_index="12470" local_entity="0" value="0" />
+ <value cell_index="12471" local_entity="0" value="0" />
+ <value cell_index="12472" local_entity="0" value="0" />
+ <value cell_index="12473" local_entity="0" value="0" />
+ <value cell_index="12474" local_entity="0" value="0" />
+ <value cell_index="12475" local_entity="0" value="0" />
+ <value cell_index="12476" local_entity="0" value="0" />
+ <value cell_index="12477" local_entity="0" value="0" />
+ <value cell_index="12478" local_entity="0" value="0" />
+ <value cell_index="12479" local_entity="0" value="0" />
+ <value cell_index="12480" local_entity="0" value="0" />
+ <value cell_index="12481" local_entity="0" value="0" />
+ <value cell_index="12482" local_entity="0" value="0" />
+ <value cell_index="12483" local_entity="0" value="0" />
+ <value cell_index="12484" local_entity="0" value="0" />
+ <value cell_index="12485" local_entity="0" value="0" />
+ <value cell_index="12486" local_entity="0" value="0" />
+ <value cell_index="12487" local_entity="0" value="0" />
+ <value cell_index="12488" local_entity="0" value="0" />
+ <value cell_index="12489" local_entity="0" value="0" />
+ <value cell_index="12490" local_entity="0" value="0" />
+ <value cell_index="12491" local_entity="0" value="0" />
+ <value cell_index="12492" local_entity="0" value="0" />
+ <value cell_index="12493" local_entity="0" value="0" />
+ <value cell_index="12494" local_entity="0" value="0" />
+ <value cell_index="12495" local_entity="0" value="0" />
+ <value cell_index="12496" local_entity="0" value="0" />
+ <value cell_index="12497" local_entity="0" value="0" />
+ <value cell_index="12498" local_entity="0" value="0" />
+ <value cell_index="12499" local_entity="0" value="0" />
+ <value cell_index="12500" local_entity="0" value="0" />
+ <value cell_index="12501" local_entity="0" value="0" />
+ <value cell_index="12502" local_entity="0" value="0" />
+ <value cell_index="12503" local_entity="0" value="0" />
+ <value cell_index="12504" local_entity="0" value="0" />
+ <value cell_index="12505" local_entity="0" value="0" />
+ <value cell_index="12506" local_entity="0" value="0" />
+ <value cell_index="12507" local_entity="0" value="0" />
+ <value cell_index="12508" local_entity="0" value="0" />
+ <value cell_index="12509" local_entity="0" value="0" />
+ <value cell_index="12510" local_entity="0" value="0" />
+ <value cell_index="12511" local_entity="0" value="0" />
+ <value cell_index="12512" local_entity="0" value="0" />
+ <value cell_index="12513" local_entity="0" value="0" />
+ <value cell_index="12514" local_entity="0" value="0" />
+ <value cell_index="12515" local_entity="0" value="0" />
+ <value cell_index="12516" local_entity="0" value="0" />
+ <value cell_index="12517" local_entity="0" value="0" />
+ <value cell_index="12518" local_entity="0" value="0" />
+ <value cell_index="12519" local_entity="0" value="0" />
+ <value cell_index="12520" local_entity="0" value="0" />
+ <value cell_index="12521" local_entity="0" value="0" />
+ <value cell_index="12522" local_entity="0" value="0" />
+ <value cell_index="12523" local_entity="0" value="0" />
+ <value cell_index="12524" local_entity="0" value="0" />
+ <value cell_index="12525" local_entity="0" value="0" />
+ <value cell_index="12526" local_entity="0" value="0" />
+ <value cell_index="12527" local_entity="0" value="0" />
+ <value cell_index="12528" local_entity="0" value="0" />
+ <value cell_index="12529" local_entity="0" value="0" />
+ <value cell_index="12530" local_entity="0" value="0" />
+ <value cell_index="12531" local_entity="0" value="0" />
+ <value cell_index="12532" local_entity="0" value="0" />
+ <value cell_index="12533" local_entity="0" value="0" />
+ <value cell_index="12534" local_entity="0" value="0" />
+ <value cell_index="12535" local_entity="0" value="0" />
+ <value cell_index="12536" local_entity="0" value="0" />
+ <value cell_index="12537" local_entity="0" value="0" />
+ <value cell_index="12538" local_entity="0" value="0" />
+ <value cell_index="12539" local_entity="0" value="0" />
+ <value cell_index="12540" local_entity="0" value="0" />
+ <value cell_index="12541" local_entity="0" value="0" />
+ <value cell_index="12542" local_entity="0" value="0" />
+ <value cell_index="12543" local_entity="0" value="0" />
+ <value cell_index="12544" local_entity="0" value="0" />
+ <value cell_index="12545" local_entity="0" value="0" />
+ <value cell_index="12546" local_entity="0" value="0" />
+ <value cell_index="12547" local_entity="0" value="0" />
+ <value cell_index="12548" local_entity="0" value="0" />
+ <value cell_index="12549" local_entity="0" value="0" />
+ <value cell_index="12550" local_entity="0" value="0" />
+ <value cell_index="12551" local_entity="0" value="0" />
+ <value cell_index="12552" local_entity="0" value="0" />
+ <value cell_index="12553" local_entity="0" value="0" />
+ <value cell_index="12554" local_entity="0" value="0" />
+ <value cell_index="12555" local_entity="0" value="0" />
+ <value cell_index="12556" local_entity="0" value="0" />
+ <value cell_index="12557" local_entity="0" value="0" />
+ <value cell_index="12558" local_entity="0" value="0" />
+ <value cell_index="12559" local_entity="0" value="0" />
+ <value cell_index="12560" local_entity="0" value="0" />
+ <value cell_index="12561" local_entity="0" value="0" />
+ <value cell_index="12562" local_entity="0" value="0" />
+ <value cell_index="12563" local_entity="0" value="0" />
+ <value cell_index="12564" local_entity="0" value="0" />
+ <value cell_index="12565" local_entity="0" value="0" />
+ <value cell_index="12566" local_entity="0" value="0" />
+ <value cell_index="12567" local_entity="0" value="0" />
+ <value cell_index="12568" local_entity="0" value="0" />
+ <value cell_index="12569" local_entity="0" value="0" />
+ <value cell_index="12570" local_entity="0" value="0" />
+ <value cell_index="12571" local_entity="0" value="0" />
+ <value cell_index="12572" local_entity="0" value="0" />
+ <value cell_index="12573" local_entity="0" value="0" />
+ <value cell_index="12574" local_entity="0" value="0" />
+ <value cell_index="12575" local_entity="0" value="0" />
+ <value cell_index="12576" local_entity="0" value="0" />
+ <value cell_index="12577" local_entity="0" value="0" />
+ <value cell_index="12578" local_entity="0" value="0" />
+ <value cell_index="12579" local_entity="0" value="0" />
+ <value cell_index="12580" local_entity="0" value="0" />
+ <value cell_index="12581" local_entity="0" value="0" />
+ <value cell_index="12582" local_entity="0" value="0" />
+ <value cell_index="12583" local_entity="0" value="0" />
+ <value cell_index="12584" local_entity="0" value="0" />
+ <value cell_index="12585" local_entity="0" value="0" />
+ <value cell_index="12586" local_entity="0" value="0" />
+ <value cell_index="12587" local_entity="0" value="0" />
+ <value cell_index="12588" local_entity="0" value="0" />
+ <value cell_index="12589" local_entity="0" value="0" />
+ <value cell_index="12590" local_entity="0" value="0" />
+ <value cell_index="12591" local_entity="0" value="0" />
+ <value cell_index="12592" local_entity="0" value="0" />
+ <value cell_index="12593" local_entity="0" value="0" />
+ <value cell_index="12594" local_entity="0" value="0" />
+ <value cell_index="12595" local_entity="0" value="0" />
+ <value cell_index="12596" local_entity="0" value="0" />
+ <value cell_index="12597" local_entity="0" value="0" />
+ <value cell_index="12598" local_entity="0" value="0" />
+ <value cell_index="12599" local_entity="0" value="0" />
+ <value cell_index="12600" local_entity="0" value="0" />
+ <value cell_index="12601" local_entity="0" value="0" />
+ <value cell_index="12602" local_entity="0" value="0" />
+ <value cell_index="12603" local_entity="0" value="0" />
+ <value cell_index="12604" local_entity="0" value="0" />
+ <value cell_index="12605" local_entity="0" value="0" />
+ <value cell_index="12606" local_entity="0" value="0" />
+ <value cell_index="12607" local_entity="0" value="0" />
+ <value cell_index="12608" local_entity="0" value="0" />
+ <value cell_index="12609" local_entity="0" value="0" />
+ <value cell_index="12610" local_entity="0" value="0" />
+ <value cell_index="12611" local_entity="0" value="0" />
+ <value cell_index="12612" local_entity="0" value="0" />
+ <value cell_index="12613" local_entity="0" value="0" />
+ <value cell_index="12614" local_entity="0" value="0" />
+ <value cell_index="12615" local_entity="0" value="0" />
+ <value cell_index="12616" local_entity="0" value="0" />
+ <value cell_index="12617" local_entity="0" value="0" />
+ <value cell_index="12618" local_entity="0" value="0" />
+ <value cell_index="12619" local_entity="0" value="0" />
+ <value cell_index="12620" local_entity="0" value="0" />
+ <value cell_index="12621" local_entity="0" value="0" />
+ <value cell_index="12622" local_entity="0" value="0" />
+ <value cell_index="12623" local_entity="0" value="0" />
+ <value cell_index="12624" local_entity="0" value="0" />
+ <value cell_index="12625" local_entity="0" value="0" />
+ <value cell_index="12626" local_entity="0" value="0" />
+ <value cell_index="12627" local_entity="0" value="0" />
+ <value cell_index="12628" local_entity="0" value="0" />
+ <value cell_index="12629" local_entity="0" value="0" />
+ <value cell_index="12630" local_entity="0" value="0" />
+ <value cell_index="12631" local_entity="0" value="0" />
+ <value cell_index="12632" local_entity="0" value="0" />
+ <value cell_index="12633" local_entity="0" value="0" />
+ <value cell_index="12634" local_entity="0" value="0" />
+ <value cell_index="12635" local_entity="0" value="0" />
+ <value cell_index="12636" local_entity="0" value="0" />
+ <value cell_index="12637" local_entity="0" value="0" />
+ <value cell_index="12638" local_entity="0" value="0" />
+ <value cell_index="12639" local_entity="0" value="0" />
+ <value cell_index="12640" local_entity="0" value="0" />
+ <value cell_index="12641" local_entity="0" value="0" />
+ <value cell_index="12642" local_entity="0" value="0" />
+ <value cell_index="12643" local_entity="0" value="0" />
+ <value cell_index="12644" local_entity="0" value="0" />
+ <value cell_index="12645" local_entity="0" value="0" />
+ <value cell_index="12646" local_entity="0" value="0" />
+ <value cell_index="12647" local_entity="0" value="0" />
+ <value cell_index="12648" local_entity="0" value="0" />
+ <value cell_index="12649" local_entity="0" value="0" />
+ <value cell_index="12650" local_entity="0" value="0" />
+ <value cell_index="12651" local_entity="0" value="0" />
+ <value cell_index="12652" local_entity="0" value="0" />
+ <value cell_index="12653" local_entity="0" value="0" />
+ <value cell_index="12654" local_entity="0" value="0" />
+ <value cell_index="12655" local_entity="0" value="0" />
+ <value cell_index="12656" local_entity="0" value="0" />
+ <value cell_index="12657" local_entity="0" value="0" />
+ <value cell_index="12658" local_entity="0" value="0" />
+ <value cell_index="12659" local_entity="0" value="0" />
+ <value cell_index="12660" local_entity="0" value="0" />
+ <value cell_index="12661" local_entity="0" value="0" />
+ <value cell_index="12662" local_entity="0" value="0" />
+ <value cell_index="12663" local_entity="0" value="0" />
+ <value cell_index="12664" local_entity="0" value="0" />
+ <value cell_index="12665" local_entity="0" value="0" />
+ <value cell_index="12666" local_entity="0" value="0" />
+ <value cell_index="12667" local_entity="0" value="0" />
+ <value cell_index="12668" local_entity="0" value="0" />
+ <value cell_index="12669" local_entity="0" value="0" />
+ <value cell_index="12670" local_entity="0" value="0" />
+ <value cell_index="12671" local_entity="0" value="0" />
+ <value cell_index="12672" local_entity="0" value="0" />
+ <value cell_index="12673" local_entity="0" value="0" />
+ <value cell_index="12674" local_entity="0" value="0" />
+ <value cell_index="12675" local_entity="0" value="0" />
+ <value cell_index="12676" local_entity="0" value="0" />
+ <value cell_index="12677" local_entity="0" value="0" />
+ <value cell_index="12678" local_entity="0" value="0" />
+ <value cell_index="12679" local_entity="0" value="0" />
+ <value cell_index="12680" local_entity="0" value="0" />
+ <value cell_index="12681" local_entity="0" value="0" />
+ <value cell_index="12682" local_entity="0" value="0" />
+ <value cell_index="12683" local_entity="0" value="0" />
+ <value cell_index="12684" local_entity="0" value="0" />
+ <value cell_index="12685" local_entity="0" value="0" />
+ <value cell_index="12686" local_entity="0" value="0" />
+ <value cell_index="12687" local_entity="0" value="0" />
+ <value cell_index="12688" local_entity="0" value="0" />
+ <value cell_index="12689" local_entity="0" value="0" />
+ <value cell_index="12690" local_entity="0" value="0" />
+ <value cell_index="12691" local_entity="0" value="0" />
+ <value cell_index="12692" local_entity="0" value="0" />
+ <value cell_index="12693" local_entity="0" value="0" />
+ <value cell_index="12694" local_entity="0" value="0" />
+ <value cell_index="12695" local_entity="0" value="0" />
+ <value cell_index="12696" local_entity="0" value="0" />
+ <value cell_index="12697" local_entity="0" value="0" />
+ <value cell_index="12698" local_entity="0" value="0" />
+ <value cell_index="12699" local_entity="0" value="0" />
+ <value cell_index="12700" local_entity="0" value="0" />
+ <value cell_index="12701" local_entity="0" value="0" />
+ <value cell_index="12702" local_entity="0" value="0" />
+ <value cell_index="12703" local_entity="0" value="0" />
+ <value cell_index="12704" local_entity="0" value="0" />
+ <value cell_index="12705" local_entity="0" value="0" />
+ <value cell_index="12706" local_entity="0" value="0" />
+ <value cell_index="12707" local_entity="0" value="0" />
+ <value cell_index="12708" local_entity="0" value="0" />
+ <value cell_index="12709" local_entity="0" value="0" />
+ <value cell_index="12710" local_entity="0" value="0" />
+ <value cell_index="12711" local_entity="0" value="0" />
+ <value cell_index="12712" local_entity="0" value="0" />
+ <value cell_index="12713" local_entity="0" value="0" />
+ <value cell_index="12714" local_entity="0" value="0" />
+ <value cell_index="12715" local_entity="0" value="0" />
+ <value cell_index="12716" local_entity="0" value="0" />
+ <value cell_index="12717" local_entity="0" value="0" />
+ <value cell_index="12718" local_entity="0" value="0" />
+ <value cell_index="12719" local_entity="0" value="0" />
+ <value cell_index="12720" local_entity="0" value="0" />
+ <value cell_index="12721" local_entity="0" value="0" />
+ <value cell_index="12722" local_entity="0" value="0" />
+ <value cell_index="12723" local_entity="0" value="0" />
+ <value cell_index="12724" local_entity="0" value="0" />
+ <value cell_index="12725" local_entity="0" value="0" />
+ <value cell_index="12726" local_entity="0" value="0" />
+ <value cell_index="12727" local_entity="0" value="0" />
+ <value cell_index="12728" local_entity="0" value="0" />
+ <value cell_index="12729" local_entity="0" value="0" />
+ <value cell_index="12730" local_entity="0" value="0" />
+ <value cell_index="12731" local_entity="0" value="0" />
+ <value cell_index="12732" local_entity="0" value="0" />
+ <value cell_index="12733" local_entity="0" value="0" />
+ <value cell_index="12734" local_entity="0" value="0" />
+ <value cell_index="12735" local_entity="0" value="0" />
+ <value cell_index="12736" local_entity="0" value="0" />
+ <value cell_index="12737" local_entity="0" value="0" />
+ <value cell_index="12738" local_entity="0" value="0" />
+ <value cell_index="12739" local_entity="0" value="0" />
+ <value cell_index="12740" local_entity="0" value="0" />
+ <value cell_index="12741" local_entity="0" value="0" />
+ <value cell_index="12742" local_entity="0" value="0" />
+ <value cell_index="12743" local_entity="0" value="0" />
+ <value cell_index="12744" local_entity="0" value="0" />
+ <value cell_index="12745" local_entity="0" value="0" />
+ <value cell_index="12746" local_entity="0" value="0" />
+ <value cell_index="12747" local_entity="0" value="0" />
+ <value cell_index="12748" local_entity="0" value="0" />
+ <value cell_index="12749" local_entity="0" value="0" />
+ <value cell_index="12750" local_entity="0" value="0" />
+ <value cell_index="12751" local_entity="0" value="0" />
+ <value cell_index="12752" local_entity="0" value="0" />
+ <value cell_index="12753" local_entity="0" value="0" />
+ <value cell_index="12754" local_entity="0" value="0" />
+ <value cell_index="12755" local_entity="0" value="0" />
+ <value cell_index="12756" local_entity="0" value="0" />
+ <value cell_index="12757" local_entity="0" value="0" />
+ <value cell_index="12758" local_entity="0" value="0" />
+ <value cell_index="12759" local_entity="0" value="0" />
+ <value cell_index="12760" local_entity="0" value="0" />
+ <value cell_index="12761" local_entity="0" value="0" />
+ <value cell_index="12762" local_entity="0" value="0" />
+ <value cell_index="12763" local_entity="0" value="0" />
+ <value cell_index="12764" local_entity="0" value="0" />
+ <value cell_index="12765" local_entity="0" value="0" />
+ <value cell_index="12766" local_entity="0" value="0" />
+ <value cell_index="12767" local_entity="0" value="0" />
+ <value cell_index="12768" local_entity="0" value="0" />
+ <value cell_index="12769" local_entity="0" value="0" />
+ <value cell_index="12770" local_entity="0" value="0" />
+ <value cell_index="12771" local_entity="0" value="0" />
+ <value cell_index="12772" local_entity="0" value="0" />
+ <value cell_index="12773" local_entity="0" value="0" />
+ <value cell_index="12774" local_entity="0" value="0" />
+ <value cell_index="12775" local_entity="0" value="0" />
+ <value cell_index="12776" local_entity="0" value="0" />
+ <value cell_index="12777" local_entity="0" value="0" />
+ <value cell_index="12778" local_entity="0" value="0" />
+ <value cell_index="12779" local_entity="0" value="0" />
+ <value cell_index="12780" local_entity="0" value="0" />
+ <value cell_index="12781" local_entity="0" value="0" />
+ <value cell_index="12782" local_entity="0" value="0" />
+ <value cell_index="12783" local_entity="0" value="0" />
+ <value cell_index="12784" local_entity="0" value="0" />
+ <value cell_index="12785" local_entity="0" value="0" />
+ <value cell_index="12786" local_entity="0" value="0" />
+ <value cell_index="12787" local_entity="0" value="0" />
+ <value cell_index="12788" local_entity="0" value="0" />
+ <value cell_index="12789" local_entity="0" value="0" />
+ <value cell_index="12790" local_entity="0" value="0" />
+ <value cell_index="12791" local_entity="0" value="0" />
+ <value cell_index="12792" local_entity="0" value="0" />
+ <value cell_index="12793" local_entity="0" value="0" />
+ <value cell_index="12794" local_entity="0" value="0" />
+ <value cell_index="12795" local_entity="0" value="0" />
+ <value cell_index="12796" local_entity="0" value="0" />
+ <value cell_index="12797" local_entity="0" value="0" />
+ <value cell_index="12798" local_entity="0" value="0" />
+ <value cell_index="12799" local_entity="0" value="0" />
+ <value cell_index="12800" local_entity="0" value="0" />
+ <value cell_index="12801" local_entity="0" value="0" />
+ <value cell_index="12802" local_entity="0" value="0" />
+ <value cell_index="12803" local_entity="0" value="0" />
+ <value cell_index="12804" local_entity="0" value="0" />
+ <value cell_index="12805" local_entity="0" value="0" />
+ <value cell_index="12806" local_entity="0" value="0" />
+ <value cell_index="12807" local_entity="0" value="0" />
+ <value cell_index="12808" local_entity="0" value="0" />
+ <value cell_index="12809" local_entity="0" value="0" />
+ <value cell_index="12810" local_entity="0" value="0" />
+ <value cell_index="12811" local_entity="0" value="0" />
+ <value cell_index="12812" local_entity="0" value="0" />
+ <value cell_index="12813" local_entity="0" value="0" />
+ <value cell_index="12814" local_entity="0" value="0" />
+ <value cell_index="12815" local_entity="0" value="0" />
+ <value cell_index="12816" local_entity="0" value="0" />
+ <value cell_index="12817" local_entity="0" value="0" />
+ <value cell_index="12818" local_entity="0" value="0" />
+ <value cell_index="12819" local_entity="0" value="0" />
+ <value cell_index="12820" local_entity="0" value="0" />
+ <value cell_index="12821" local_entity="0" value="0" />
+ <value cell_index="12822" local_entity="0" value="0" />
+ <value cell_index="12823" local_entity="0" value="0" />
+ <value cell_index="12824" local_entity="0" value="0" />
+ <value cell_index="12825" local_entity="0" value="0" />
+ <value cell_index="12826" local_entity="0" value="0" />
+ <value cell_index="12827" local_entity="0" value="0" />
+ <value cell_index="12828" local_entity="0" value="0" />
+ <value cell_index="12829" local_entity="0" value="0" />
+ <value cell_index="12830" local_entity="0" value="0" />
+ <value cell_index="12831" local_entity="0" value="0" />
+ <value cell_index="12832" local_entity="0" value="0" />
+ <value cell_index="12833" local_entity="0" value="0" />
+ <value cell_index="12834" local_entity="0" value="0" />
+ <value cell_index="12835" local_entity="0" value="0" />
+ <value cell_index="12836" local_entity="0" value="0" />
+ <value cell_index="12837" local_entity="0" value="0" />
+ <value cell_index="12838" local_entity="0" value="0" />
+ <value cell_index="12839" local_entity="0" value="0" />
+ <value cell_index="12840" local_entity="0" value="0" />
+ <value cell_index="12841" local_entity="0" value="0" />
+ <value cell_index="12842" local_entity="0" value="0" />
+ <value cell_index="12843" local_entity="0" value="0" />
+ <value cell_index="12844" local_entity="0" value="0" />
+ <value cell_index="12845" local_entity="0" value="0" />
+ <value cell_index="12846" local_entity="0" value="0" />
+ <value cell_index="12847" local_entity="0" value="0" />
+ <value cell_index="12848" local_entity="0" value="0" />
+ <value cell_index="12849" local_entity="0" value="0" />
+ <value cell_index="12850" local_entity="0" value="0" />
+ <value cell_index="12851" local_entity="0" value="0" />
+ <value cell_index="12852" local_entity="0" value="0" />
+ <value cell_index="12853" local_entity="0" value="0" />
+ <value cell_index="12854" local_entity="0" value="0" />
+ <value cell_index="12855" local_entity="0" value="0" />
+ <value cell_index="12856" local_entity="0" value="0" />
+ <value cell_index="12857" local_entity="0" value="0" />
+ <value cell_index="12858" local_entity="0" value="0" />
+ <value cell_index="12859" local_entity="0" value="0" />
+ <value cell_index="12860" local_entity="0" value="0" />
+ <value cell_index="12861" local_entity="0" value="0" />
+ <value cell_index="12862" local_entity="0" value="0" />
+ <value cell_index="12863" local_entity="0" value="0" />
+ <value cell_index="12864" local_entity="0" value="0" />
+ <value cell_index="12865" local_entity="0" value="0" />
+ <value cell_index="12866" local_entity="0" value="0" />
+ <value cell_index="12867" local_entity="0" value="0" />
+ <value cell_index="12868" local_entity="0" value="0" />
+ <value cell_index="12869" local_entity="0" value="0" />
+ <value cell_index="12870" local_entity="0" value="0" />
+ <value cell_index="12871" local_entity="0" value="0" />
+ <value cell_index="12872" local_entity="0" value="0" />
+ <value cell_index="12873" local_entity="0" value="0" />
+ <value cell_index="12874" local_entity="0" value="0" />
+ <value cell_index="12875" local_entity="0" value="0" />
+ <value cell_index="12876" local_entity="0" value="0" />
+ <value cell_index="12877" local_entity="0" value="0" />
+ <value cell_index="12878" local_entity="0" value="0" />
+ <value cell_index="12879" local_entity="0" value="0" />
+ <value cell_index="12880" local_entity="0" value="0" />
+ <value cell_index="12881" local_entity="0" value="0" />
+ <value cell_index="12882" local_entity="0" value="0" />
+ <value cell_index="12883" local_entity="0" value="0" />
+ <value cell_index="12884" local_entity="0" value="0" />
+ <value cell_index="12885" local_entity="0" value="0" />
+ <value cell_index="12886" local_entity="0" value="0" />
+ <value cell_index="12887" local_entity="0" value="0" />
+ <value cell_index="12888" local_entity="0" value="0" />
+ <value cell_index="12889" local_entity="0" value="0" />
+ <value cell_index="12890" local_entity="0" value="0" />
+ <value cell_index="12891" local_entity="0" value="0" />
+ <value cell_index="12892" local_entity="0" value="0" />
+ <value cell_index="12893" local_entity="0" value="0" />
+ <value cell_index="12894" local_entity="0" value="0" />
+ <value cell_index="12895" local_entity="0" value="0" />
+ <value cell_index="12896" local_entity="0" value="0" />
+ <value cell_index="12897" local_entity="0" value="0" />
+ <value cell_index="12898" local_entity="0" value="0" />
+ <value cell_index="12899" local_entity="0" value="0" />
+ <value cell_index="12900" local_entity="0" value="0" />
+ <value cell_index="12901" local_entity="0" value="0" />
+ <value cell_index="12902" local_entity="0" value="0" />
+ <value cell_index="12903" local_entity="0" value="0" />
+ <value cell_index="12904" local_entity="0" value="0" />
+ <value cell_index="12905" local_entity="0" value="0" />
+ <value cell_index="12906" local_entity="0" value="0" />
+ <value cell_index="12907" local_entity="0" value="0" />
+ <value cell_index="12908" local_entity="0" value="0" />
+ <value cell_index="12909" local_entity="0" value="0" />
+ <value cell_index="12910" local_entity="0" value="0" />
+ <value cell_index="12911" local_entity="0" value="0" />
+ <value cell_index="12912" local_entity="0" value="0" />
+ <value cell_index="12913" local_entity="0" value="0" />
+ <value cell_index="12914" local_entity="0" value="0" />
+ <value cell_index="12915" local_entity="0" value="0" />
+ <value cell_index="12916" local_entity="0" value="0" />
+ <value cell_index="12917" local_entity="0" value="0" />
+ <value cell_index="12918" local_entity="0" value="0" />
+ <value cell_index="12919" local_entity="0" value="0" />
+ <value cell_index="12920" local_entity="0" value="0" />
+ <value cell_index="12921" local_entity="0" value="0" />
+ <value cell_index="12922" local_entity="0" value="0" />
+ <value cell_index="12923" local_entity="0" value="0" />
+ <value cell_index="12924" local_entity="0" value="0" />
+ <value cell_index="12925" local_entity="0" value="0" />
+ <value cell_index="12926" local_entity="0" value="0" />
+ <value cell_index="12927" local_entity="0" value="0" />
+ <value cell_index="12928" local_entity="0" value="0" />
+ <value cell_index="12929" local_entity="0" value="0" />
+ <value cell_index="12930" local_entity="0" value="0" />
+ <value cell_index="12931" local_entity="0" value="0" />
+ <value cell_index="12932" local_entity="0" value="0" />
+ <value cell_index="12933" local_entity="0" value="0" />
+ <value cell_index="12934" local_entity="0" value="0" />
+ <value cell_index="12935" local_entity="0" value="0" />
+ <value cell_index="12936" local_entity="0" value="0" />
+ <value cell_index="12937" local_entity="0" value="0" />
+ <value cell_index="12938" local_entity="0" value="0" />
+ <value cell_index="12939" local_entity="0" value="0" />
+ <value cell_index="12940" local_entity="0" value="0" />
+ <value cell_index="12941" local_entity="0" value="0" />
+ <value cell_index="12942" local_entity="0" value="0" />
+ <value cell_index="12943" local_entity="0" value="0" />
+ <value cell_index="12944" local_entity="0" value="0" />
+ <value cell_index="12945" local_entity="0" value="0" />
+ <value cell_index="12946" local_entity="0" value="0" />
+ <value cell_index="12947" local_entity="0" value="0" />
+ <value cell_index="12948" local_entity="0" value="0" />
+ <value cell_index="12949" local_entity="0" value="0" />
+ <value cell_index="12950" local_entity="0" value="0" />
+ <value cell_index="12951" local_entity="0" value="0" />
+ <value cell_index="12952" local_entity="0" value="0" />
+ <value cell_index="12953" local_entity="0" value="0" />
+ <value cell_index="12954" local_entity="0" value="0" />
+ <value cell_index="12955" local_entity="0" value="0" />
+ <value cell_index="12956" local_entity="0" value="0" />
+ <value cell_index="12957" local_entity="0" value="0" />
+ <value cell_index="12958" local_entity="0" value="0" />
+ <value cell_index="12959" local_entity="0" value="0" />
+ <value cell_index="12960" local_entity="0" value="0" />
+ <value cell_index="12961" local_entity="0" value="0" />
+ <value cell_index="12962" local_entity="0" value="0" />
+ <value cell_index="12963" local_entity="0" value="0" />
+ <value cell_index="12964" local_entity="0" value="0" />
+ <value cell_index="12965" local_entity="0" value="0" />
+ <value cell_index="12966" local_entity="0" value="0" />
+ <value cell_index="12967" local_entity="0" value="0" />
+ <value cell_index="12968" local_entity="0" value="0" />
+ <value cell_index="12969" local_entity="0" value="0" />
+ <value cell_index="12970" local_entity="0" value="0" />
+ <value cell_index="12971" local_entity="0" value="0" />
+ <value cell_index="12972" local_entity="0" value="0" />
+ <value cell_index="12973" local_entity="0" value="0" />
+ <value cell_index="12974" local_entity="0" value="0" />
+ <value cell_index="12975" local_entity="0" value="0" />
+ <value cell_index="12976" local_entity="0" value="0" />
+ <value cell_index="12977" local_entity="0" value="0" />
+ <value cell_index="12978" local_entity="0" value="0" />
+ <value cell_index="12979" local_entity="0" value="0" />
+ <value cell_index="12980" local_entity="0" value="0" />
+ <value cell_index="12981" local_entity="0" value="0" />
+ <value cell_index="12982" local_entity="0" value="0" />
+ <value cell_index="12983" local_entity="0" value="0" />
+ <value cell_index="12984" local_entity="0" value="0" />
+ <value cell_index="12985" local_entity="0" value="0" />
+ <value cell_index="12986" local_entity="0" value="0" />
+ <value cell_index="12987" local_entity="0" value="0" />
+ <value cell_index="12988" local_entity="0" value="0" />
+ <value cell_index="12989" local_entity="0" value="0" />
+ <value cell_index="12990" local_entity="0" value="0" />
+ <value cell_index="12991" local_entity="0" value="0" />
+ <value cell_index="12992" local_entity="0" value="0" />
+ <value cell_index="12993" local_entity="0" value="0" />
+ <value cell_index="12994" local_entity="0" value="0" />
+ <value cell_index="12995" local_entity="0" value="0" />
+ <value cell_index="12996" local_entity="0" value="0" />
+ <value cell_index="12997" local_entity="0" value="0" />
+ <value cell_index="12998" local_entity="0" value="0" />
+ <value cell_index="12999" local_entity="0" value="0" />
+ <value cell_index="13000" local_entity="0" value="0" />
+ <value cell_index="13001" local_entity="0" value="0" />
+ <value cell_index="13002" local_entity="0" value="0" />
+ <value cell_index="13003" local_entity="0" value="0" />
+ <value cell_index="13004" local_entity="0" value="0" />
+ <value cell_index="13005" local_entity="0" value="0" />
+ <value cell_index="13006" local_entity="0" value="0" />
+ <value cell_index="13007" local_entity="0" value="0" />
+ <value cell_index="13008" local_entity="0" value="0" />
+ <value cell_index="13009" local_entity="0" value="0" />
+ <value cell_index="13010" local_entity="0" value="0" />
+ <value cell_index="13011" local_entity="0" value="0" />
+ <value cell_index="13012" local_entity="0" value="0" />
+ <value cell_index="13013" local_entity="0" value="0" />
+ <value cell_index="13014" local_entity="0" value="0" />
+ <value cell_index="13015" local_entity="0" value="0" />
+ <value cell_index="13016" local_entity="0" value="0" />
+ <value cell_index="13017" local_entity="0" value="0" />
+ <value cell_index="13018" local_entity="0" value="0" />
+ <value cell_index="13019" local_entity="0" value="0" />
+ <value cell_index="13020" local_entity="0" value="0" />
+ <value cell_index="13021" local_entity="0" value="0" />
+ <value cell_index="13022" local_entity="0" value="0" />
+ <value cell_index="13023" local_entity="0" value="0" />
+ <value cell_index="13024" local_entity="0" value="0" />
+ <value cell_index="13025" local_entity="0" value="0" />
+ <value cell_index="13026" local_entity="0" value="0" />
+ <value cell_index="13027" local_entity="0" value="0" />
+ <value cell_index="13028" local_entity="0" value="0" />
+ <value cell_index="13029" local_entity="0" value="0" />
+ <value cell_index="13030" local_entity="0" value="0" />
+ <value cell_index="13031" local_entity="0" value="0" />
+ <value cell_index="13032" local_entity="0" value="0" />
+ <value cell_index="13033" local_entity="0" value="0" />
+ <value cell_index="13034" local_entity="0" value="0" />
+ <value cell_index="13035" local_entity="0" value="0" />
+ <value cell_index="13036" local_entity="0" value="0" />
+ <value cell_index="13037" local_entity="0" value="0" />
+ <value cell_index="13038" local_entity="0" value="0" />
+ <value cell_index="13039" local_entity="0" value="0" />
+ <value cell_index="13040" local_entity="0" value="0" />
+ <value cell_index="13041" local_entity="0" value="0" />
+ <value cell_index="13042" local_entity="0" value="0" />
+ <value cell_index="13043" local_entity="0" value="0" />
+ <value cell_index="13044" local_entity="0" value="0" />
+ <value cell_index="13045" local_entity="0" value="0" />
+ <value cell_index="13046" local_entity="0" value="0" />
+ <value cell_index="13047" local_entity="0" value="0" />
+ <value cell_index="13048" local_entity="0" value="0" />
+ <value cell_index="13049" local_entity="0" value="0" />
+ <value cell_index="13050" local_entity="0" value="0" />
+ <value cell_index="13051" local_entity="0" value="0" />
+ <value cell_index="13052" local_entity="0" value="0" />
+ <value cell_index="13053" local_entity="0" value="0" />
+ <value cell_index="13054" local_entity="0" value="0" />
+ <value cell_index="13055" local_entity="0" value="0" />
+ <value cell_index="13056" local_entity="0" value="0" />
+ <value cell_index="13057" local_entity="0" value="0" />
+ <value cell_index="13058" local_entity="0" value="0" />
+ <value cell_index="13059" local_entity="0" value="0" />
+ <value cell_index="13060" local_entity="0" value="0" />
+ <value cell_index="13061" local_entity="0" value="0" />
+ <value cell_index="13062" local_entity="0" value="0" />
+ <value cell_index="13063" local_entity="0" value="0" />
+ <value cell_index="13064" local_entity="0" value="0" />
+ <value cell_index="13065" local_entity="0" value="0" />
+ <value cell_index="13066" local_entity="0" value="0" />
+ <value cell_index="13067" local_entity="0" value="0" />
+ <value cell_index="13068" local_entity="0" value="0" />
+ <value cell_index="13069" local_entity="0" value="0" />
+ <value cell_index="13070" local_entity="0" value="0" />
+ <value cell_index="13071" local_entity="0" value="0" />
+ <value cell_index="13072" local_entity="0" value="0" />
+ <value cell_index="13073" local_entity="0" value="0" />
+ <value cell_index="13074" local_entity="0" value="0" />
+ <value cell_index="13075" local_entity="0" value="0" />
+ <value cell_index="13076" local_entity="0" value="0" />
+ <value cell_index="13077" local_entity="0" value="0" />
+ <value cell_index="13078" local_entity="0" value="0" />
+ <value cell_index="13079" local_entity="0" value="0" />
+ <value cell_index="13080" local_entity="0" value="0" />
+ <value cell_index="13081" local_entity="0" value="0" />
+ <value cell_index="13082" local_entity="0" value="0" />
+ <value cell_index="13083" local_entity="0" value="0" />
+ <value cell_index="13084" local_entity="0" value="0" />
+ <value cell_index="13085" local_entity="0" value="0" />
+ <value cell_index="13086" local_entity="0" value="0" />
+ <value cell_index="13087" local_entity="0" value="0" />
+ <value cell_index="13088" local_entity="0" value="0" />
+ <value cell_index="13089" local_entity="0" value="0" />
+ <value cell_index="13090" local_entity="0" value="0" />
+ <value cell_index="13091" local_entity="0" value="0" />
+ <value cell_index="13092" local_entity="0" value="0" />
+ <value cell_index="13093" local_entity="0" value="0" />
+ <value cell_index="13094" local_entity="0" value="0" />
+ <value cell_index="13095" local_entity="0" value="0" />
+ <value cell_index="13096" local_entity="0" value="0" />
+ <value cell_index="13097" local_entity="0" value="0" />
+ <value cell_index="13098" local_entity="0" value="0" />
+ <value cell_index="13099" local_entity="0" value="0" />
+ <value cell_index="13100" local_entity="0" value="0" />
+ <value cell_index="13101" local_entity="0" value="0" />
+ <value cell_index="13102" local_entity="0" value="0" />
+ <value cell_index="13103" local_entity="0" value="0" />
+ <value cell_index="13104" local_entity="0" value="0" />
+ <value cell_index="13105" local_entity="0" value="0" />
+ <value cell_index="13106" local_entity="0" value="0" />
+ <value cell_index="13107" local_entity="0" value="0" />
+ <value cell_index="13108" local_entity="0" value="0" />
+ <value cell_index="13109" local_entity="0" value="0" />
+ <value cell_index="13110" local_entity="0" value="0" />
+ <value cell_index="13111" local_entity="0" value="0" />
+ <value cell_index="13112" local_entity="0" value="0" />
+ <value cell_index="13113" local_entity="0" value="0" />
+ <value cell_index="13114" local_entity="0" value="0" />
+ <value cell_index="13115" local_entity="0" value="0" />
+ <value cell_index="13116" local_entity="0" value="0" />
+ <value cell_index="13117" local_entity="0" value="0" />
+ <value cell_index="13118" local_entity="0" value="0" />
+ <value cell_index="13119" local_entity="0" value="0" />
+ <value cell_index="13120" local_entity="0" value="0" />
+ <value cell_index="13121" local_entity="0" value="0" />
+ <value cell_index="13122" local_entity="0" value="0" />
+ <value cell_index="13123" local_entity="0" value="0" />
+ <value cell_index="13124" local_entity="0" value="0" />
+ <value cell_index="13125" local_entity="0" value="0" />
+ <value cell_index="13126" local_entity="0" value="0" />
+ <value cell_index="13127" local_entity="0" value="0" />
+ <value cell_index="13128" local_entity="0" value="0" />
+ <value cell_index="13129" local_entity="0" value="0" />
+ <value cell_index="13130" local_entity="0" value="0" />
+ <value cell_index="13131" local_entity="0" value="0" />
+ <value cell_index="13132" local_entity="0" value="0" />
+ <value cell_index="13133" local_entity="0" value="0" />
+ <value cell_index="13134" local_entity="0" value="0" />
+ <value cell_index="13135" local_entity="0" value="0" />
+ <value cell_index="13136" local_entity="0" value="0" />
+ <value cell_index="13137" local_entity="0" value="0" />
+ <value cell_index="13138" local_entity="0" value="0" />
+ <value cell_index="13139" local_entity="0" value="0" />
+ <value cell_index="13140" local_entity="0" value="0" />
+ <value cell_index="13141" local_entity="0" value="0" />
+ <value cell_index="13142" local_entity="0" value="0" />
+ <value cell_index="13143" local_entity="0" value="0" />
+ <value cell_index="13144" local_entity="0" value="0" />
+ <value cell_index="13145" local_entity="0" value="0" />
+ <value cell_index="13146" local_entity="0" value="0" />
+ <value cell_index="13147" local_entity="0" value="0" />
+ <value cell_index="13148" local_entity="0" value="0" />
+ <value cell_index="13149" local_entity="0" value="0" />
+ <value cell_index="13150" local_entity="0" value="0" />
+ <value cell_index="13151" local_entity="0" value="0" />
+ <value cell_index="13152" local_entity="0" value="0" />
+ <value cell_index="13153" local_entity="0" value="0" />
+ <value cell_index="13154" local_entity="0" value="0" />
+ <value cell_index="13155" local_entity="0" value="0" />
+ <value cell_index="13156" local_entity="0" value="0" />
+ <value cell_index="13157" local_entity="0" value="0" />
+ <value cell_index="13158" local_entity="0" value="0" />
+ <value cell_index="13159" local_entity="0" value="0" />
+ <value cell_index="13160" local_entity="0" value="0" />
+ <value cell_index="13161" local_entity="0" value="0" />
+ <value cell_index="13162" local_entity="0" value="0" />
+ <value cell_index="13163" local_entity="0" value="0" />
+ <value cell_index="13164" local_entity="0" value="0" />
+ <value cell_index="13165" local_entity="0" value="0" />
+ <value cell_index="13166" local_entity="0" value="0" />
+ <value cell_index="13167" local_entity="0" value="0" />
+ <value cell_index="13168" local_entity="0" value="0" />
+ <value cell_index="13169" local_entity="0" value="0" />
+ <value cell_index="13170" local_entity="0" value="0" />
+ <value cell_index="13171" local_entity="0" value="0" />
+ <value cell_index="13172" local_entity="0" value="0" />
+ <value cell_index="13173" local_entity="0" value="0" />
+ <value cell_index="13174" local_entity="0" value="0" />
+ <value cell_index="13175" local_entity="0" value="0" />
+ <value cell_index="13176" local_entity="0" value="0" />
+ <value cell_index="13177" local_entity="0" value="0" />
+ <value cell_index="13178" local_entity="0" value="0" />
+ <value cell_index="13179" local_entity="0" value="0" />
+ <value cell_index="13180" local_entity="0" value="0" />
+ <value cell_index="13181" local_entity="0" value="0" />
+ <value cell_index="13182" local_entity="0" value="0" />
+ <value cell_index="13183" local_entity="0" value="0" />
+ <value cell_index="13184" local_entity="0" value="0" />
+ <value cell_index="13185" local_entity="0" value="0" />
+ <value cell_index="13186" local_entity="0" value="0" />
+ <value cell_index="13187" local_entity="0" value="0" />
+ <value cell_index="13188" local_entity="0" value="0" />
+ <value cell_index="13189" local_entity="0" value="0" />
+ <value cell_index="13190" local_entity="0" value="0" />
+ <value cell_index="13191" local_entity="0" value="0" />
+ <value cell_index="13192" local_entity="0" value="0" />
+ <value cell_index="13193" local_entity="0" value="0" />
+ <value cell_index="13194" local_entity="0" value="0" />
+ <value cell_index="13195" local_entity="0" value="0" />
+ <value cell_index="13196" local_entity="0" value="0" />
+ <value cell_index="13197" local_entity="0" value="0" />
+ <value cell_index="13198" local_entity="0" value="0" />
+ <value cell_index="13199" local_entity="0" value="0" />
+ <value cell_index="13200" local_entity="0" value="0" />
+ <value cell_index="13201" local_entity="0" value="0" />
+ <value cell_index="13202" local_entity="0" value="0" />
+ <value cell_index="13203" local_entity="0" value="0" />
+ <value cell_index="13204" local_entity="0" value="0" />
+ <value cell_index="13205" local_entity="0" value="0" />
+ <value cell_index="13206" local_entity="0" value="0" />
+ <value cell_index="13207" local_entity="0" value="0" />
+ <value cell_index="13208" local_entity="0" value="0" />
+ <value cell_index="13209" local_entity="0" value="0" />
+ <value cell_index="13210" local_entity="0" value="0" />
+ <value cell_index="13211" local_entity="0" value="0" />
+ <value cell_index="13212" local_entity="0" value="0" />
+ <value cell_index="13213" local_entity="0" value="0" />
+ <value cell_index="13214" local_entity="0" value="0" />
+ <value cell_index="13215" local_entity="0" value="0" />
+ <value cell_index="13216" local_entity="0" value="0" />
+ <value cell_index="13217" local_entity="0" value="0" />
+ <value cell_index="13218" local_entity="0" value="0" />
+ <value cell_index="13219" local_entity="0" value="0" />
+ <value cell_index="13220" local_entity="0" value="0" />
+ <value cell_index="13221" local_entity="0" value="0" />
+ <value cell_index="13222" local_entity="0" value="0" />
+ <value cell_index="13223" local_entity="0" value="0" />
+ <value cell_index="13224" local_entity="0" value="0" />
+ <value cell_index="13225" local_entity="0" value="0" />
+ <value cell_index="13226" local_entity="0" value="0" />
+ <value cell_index="13227" local_entity="0" value="0" />
+ <value cell_index="13228" local_entity="0" value="0" />
+ <value cell_index="13229" local_entity="0" value="0" />
+ <value cell_index="13230" local_entity="0" value="0" />
+ <value cell_index="13231" local_entity="0" value="0" />
+ <value cell_index="13232" local_entity="0" value="0" />
+ <value cell_index="13233" local_entity="0" value="0" />
+ <value cell_index="13234" local_entity="0" value="0" />
+ <value cell_index="13235" local_entity="0" value="0" />
+ <value cell_index="13236" local_entity="0" value="0" />
+ <value cell_index="13237" local_entity="0" value="0" />
+ <value cell_index="13238" local_entity="0" value="0" />
+ <value cell_index="13239" local_entity="0" value="0" />
+ <value cell_index="13240" local_entity="0" value="0" />
+ <value cell_index="13241" local_entity="0" value="0" />
+ <value cell_index="13242" local_entity="0" value="0" />
+ <value cell_index="13243" local_entity="0" value="0" />
+ <value cell_index="13244" local_entity="0" value="0" />
+ <value cell_index="13245" local_entity="0" value="0" />
+ <value cell_index="13246" local_entity="0" value="0" />
+ <value cell_index="13247" local_entity="0" value="0" />
+ <value cell_index="13248" local_entity="0" value="0" />
+ <value cell_index="13249" local_entity="0" value="0" />
+ <value cell_index="13250" local_entity="0" value="0" />
+ <value cell_index="13251" local_entity="0" value="0" />
+ <value cell_index="13252" local_entity="0" value="0" />
+ <value cell_index="13253" local_entity="0" value="0" />
+ <value cell_index="13254" local_entity="0" value="0" />
+ <value cell_index="13255" local_entity="0" value="0" />
+ <value cell_index="13256" local_entity="0" value="0" />
+ <value cell_index="13257" local_entity="0" value="0" />
+ <value cell_index="13258" local_entity="0" value="0" />
+ <value cell_index="13259" local_entity="0" value="0" />
+ <value cell_index="13260" local_entity="0" value="0" />
+ <value cell_index="13261" local_entity="0" value="0" />
+ <value cell_index="13262" local_entity="0" value="0" />
+ <value cell_index="13263" local_entity="0" value="0" />
+ <value cell_index="13264" local_entity="0" value="0" />
+ <value cell_index="13265" local_entity="0" value="0" />
+ <value cell_index="13266" local_entity="0" value="0" />
+ <value cell_index="13267" local_entity="0" value="0" />
+ <value cell_index="13268" local_entity="0" value="0" />
+ <value cell_index="13269" local_entity="0" value="0" />
+ <value cell_index="13270" local_entity="0" value="0" />
+ <value cell_index="13271" local_entity="0" value="0" />
+ <value cell_index="13272" local_entity="0" value="0" />
+ <value cell_index="13273" local_entity="0" value="0" />
+ <value cell_index="13274" local_entity="0" value="0" />
+ <value cell_index="13275" local_entity="0" value="0" />
+ <value cell_index="13276" local_entity="0" value="0" />
+ <value cell_index="13277" local_entity="0" value="0" />
+ <value cell_index="13278" local_entity="0" value="0" />
+ <value cell_index="13279" local_entity="0" value="0" />
+ <value cell_index="13280" local_entity="0" value="0" />
+ <value cell_index="13281" local_entity="0" value="0" />
+ <value cell_index="13282" local_entity="0" value="0" />
+ <value cell_index="13283" local_entity="0" value="0" />
+ <value cell_index="13284" local_entity="0" value="0" />
+ <value cell_index="13285" local_entity="0" value="0" />
+ <value cell_index="13286" local_entity="0" value="0" />
+ <value cell_index="13287" local_entity="0" value="0" />
+ <value cell_index="13288" local_entity="0" value="0" />
+ <value cell_index="13289" local_entity="0" value="0" />
+ <value cell_index="13290" local_entity="0" value="0" />
+ <value cell_index="13291" local_entity="0" value="0" />
+ <value cell_index="13292" local_entity="0" value="0" />
+ <value cell_index="13293" local_entity="0" value="0" />
+ <value cell_index="13294" local_entity="0" value="0" />
+ <value cell_index="13295" local_entity="0" value="0" />
+ <value cell_index="13296" local_entity="0" value="0" />
+ <value cell_index="13297" local_entity="0" value="0" />
+ <value cell_index="13298" local_entity="0" value="0" />
+ <value cell_index="13299" local_entity="0" value="0" />
+ <value cell_index="13300" local_entity="0" value="0" />
+ <value cell_index="13301" local_entity="0" value="0" />
+ <value cell_index="13302" local_entity="0" value="0" />
+ <value cell_index="13303" local_entity="0" value="0" />
+ <value cell_index="13304" local_entity="0" value="0" />
+ <value cell_index="13305" local_entity="0" value="0" />
+ <value cell_index="13306" local_entity="0" value="0" />
+ <value cell_index="13307" local_entity="0" value="0" />
+ <value cell_index="13308" local_entity="0" value="0" />
+ <value cell_index="13309" local_entity="0" value="0" />
+ <value cell_index="13310" local_entity="0" value="0" />
+ <value cell_index="13311" local_entity="0" value="0" />
+ <value cell_index="13312" local_entity="0" value="0" />
+ <value cell_index="13313" local_entity="0" value="0" />
+ <value cell_index="13314" local_entity="0" value="0" />
+ <value cell_index="13315" local_entity="0" value="0" />
+ <value cell_index="13316" local_entity="0" value="0" />
+ <value cell_index="13317" local_entity="0" value="0" />
+ <value cell_index="13318" local_entity="0" value="0" />
+ <value cell_index="13319" local_entity="0" value="0" />
+ <value cell_index="13320" local_entity="0" value="0" />
+ <value cell_index="13321" local_entity="0" value="0" />
+ <value cell_index="13322" local_entity="0" value="0" />
+ <value cell_index="13323" local_entity="0" value="0" />
+ <value cell_index="13324" local_entity="0" value="0" />
+ <value cell_index="13325" local_entity="0" value="0" />
+ <value cell_index="13326" local_entity="0" value="0" />
+ <value cell_index="13327" local_entity="0" value="0" />
+ <value cell_index="13328" local_entity="0" value="0" />
+ <value cell_index="13329" local_entity="0" value="0" />
+ <value cell_index="13330" local_entity="0" value="0" />
+ <value cell_index="13331" local_entity="0" value="0" />
+ <value cell_index="13332" local_entity="0" value="0" />
+ <value cell_index="13333" local_entity="0" value="0" />
+ <value cell_index="13334" local_entity="0" value="0" />
+ <value cell_index="13335" local_entity="0" value="0" />
+ <value cell_index="13336" local_entity="0" value="0" />
+ <value cell_index="13337" local_entity="0" value="0" />
+ <value cell_index="13338" local_entity="0" value="0" />
+ <value cell_index="13339" local_entity="0" value="0" />
+ <value cell_index="13340" local_entity="0" value="0" />
+ <value cell_index="13341" local_entity="0" value="0" />
+ <value cell_index="13342" local_entity="0" value="0" />
+ <value cell_index="13343" local_entity="0" value="0" />
+ <value cell_index="13344" local_entity="0" value="0" />
+ <value cell_index="13345" local_entity="0" value="0" />
+ <value cell_index="13346" local_entity="0" value="0" />
+ <value cell_index="13347" local_entity="0" value="0" />
+ <value cell_index="13348" local_entity="0" value="0" />
+ <value cell_index="13349" local_entity="0" value="0" />
+ <value cell_index="13350" local_entity="0" value="0" />
+ <value cell_index="13351" local_entity="0" value="0" />
+ <value cell_index="13352" local_entity="0" value="0" />
+ <value cell_index="13353" local_entity="0" value="0" />
+ <value cell_index="13354" local_entity="0" value="0" />
+ <value cell_index="13355" local_entity="0" value="0" />
+ <value cell_index="13356" local_entity="0" value="0" />
+ <value cell_index="13357" local_entity="0" value="0" />
+ <value cell_index="13358" local_entity="0" value="0" />
+ <value cell_index="13359" local_entity="0" value="0" />
+ <value cell_index="13360" local_entity="0" value="0" />
+ <value cell_index="13361" local_entity="0" value="0" />
+ <value cell_index="13362" local_entity="0" value="0" />
+ <value cell_index="13363" local_entity="0" value="0" />
+ <value cell_index="13364" local_entity="0" value="0" />
+ <value cell_index="13365" local_entity="0" value="0" />
+ <value cell_index="13366" local_entity="0" value="0" />
+ <value cell_index="13367" local_entity="0" value="0" />
+ <value cell_index="13368" local_entity="0" value="0" />
+ <value cell_index="13369" local_entity="0" value="0" />
+ <value cell_index="13370" local_entity="0" value="0" />
+ <value cell_index="13371" local_entity="0" value="0" />
+ <value cell_index="13372" local_entity="0" value="0" />
+ <value cell_index="13373" local_entity="0" value="0" />
+ <value cell_index="13374" local_entity="0" value="0" />
+ <value cell_index="13375" local_entity="0" value="0" />
+ <value cell_index="13376" local_entity="0" value="0" />
+ <value cell_index="13377" local_entity="0" value="0" />
+ <value cell_index="13378" local_entity="0" value="0" />
+ <value cell_index="13379" local_entity="0" value="0" />
+ <value cell_index="13380" local_entity="0" value="0" />
+ <value cell_index="13381" local_entity="0" value="0" />
+ <value cell_index="13382" local_entity="0" value="0" />
+ <value cell_index="13383" local_entity="0" value="0" />
+ <value cell_index="13384" local_entity="0" value="0" />
+ <value cell_index="13385" local_entity="0" value="0" />
+ <value cell_index="13386" local_entity="0" value="0" />
+ <value cell_index="13387" local_entity="0" value="0" />
+ <value cell_index="13388" local_entity="0" value="0" />
+ <value cell_index="13389" local_entity="0" value="0" />
+ <value cell_index="13390" local_entity="0" value="0" />
+ <value cell_index="13391" local_entity="0" value="0" />
+ <value cell_index="13392" local_entity="0" value="0" />
+ <value cell_index="13393" local_entity="0" value="0" />
+ <value cell_index="13394" local_entity="0" value="0" />
+ <value cell_index="13395" local_entity="0" value="0" />
+ <value cell_index="13396" local_entity="0" value="0" />
+ <value cell_index="13397" local_entity="0" value="0" />
+ <value cell_index="13398" local_entity="0" value="0" />
+ <value cell_index="13399" local_entity="0" value="0" />
+ <value cell_index="13400" local_entity="0" value="0" />
+ <value cell_index="13401" local_entity="0" value="0" />
+ <value cell_index="13402" local_entity="0" value="0" />
+ <value cell_index="13403" local_entity="0" value="0" />
+ <value cell_index="13404" local_entity="0" value="0" />
+ <value cell_index="13405" local_entity="0" value="0" />
+ <value cell_index="13406" local_entity="0" value="0" />
+ <value cell_index="13407" local_entity="0" value="0" />
+ <value cell_index="13408" local_entity="0" value="0" />
+ <value cell_index="13409" local_entity="0" value="0" />
+ <value cell_index="13410" local_entity="0" value="0" />
+ <value cell_index="13411" local_entity="0" value="0" />
+ <value cell_index="13412" local_entity="0" value="0" />
+ <value cell_index="13413" local_entity="0" value="0" />
+ <value cell_index="13414" local_entity="0" value="0" />
+ <value cell_index="13415" local_entity="0" value="0" />
+ <value cell_index="13416" local_entity="0" value="0" />
+ <value cell_index="13417" local_entity="0" value="0" />
+ <value cell_index="13418" local_entity="0" value="0" />
+ <value cell_index="13419" local_entity="0" value="0" />
+ <value cell_index="13420" local_entity="0" value="0" />
+ <value cell_index="13421" local_entity="0" value="0" />
+ <value cell_index="13422" local_entity="0" value="0" />
+ <value cell_index="13423" local_entity="0" value="0" />
+ <value cell_index="13424" local_entity="0" value="0" />
+ <value cell_index="13425" local_entity="0" value="0" />
+ <value cell_index="13426" local_entity="0" value="0" />
+ <value cell_index="13427" local_entity="0" value="0" />
+ <value cell_index="13428" local_entity="0" value="0" />
+ <value cell_index="13429" local_entity="0" value="0" />
+ <value cell_index="13430" local_entity="0" value="0" />
+ <value cell_index="13431" local_entity="0" value="0" />
+ <value cell_index="13432" local_entity="0" value="0" />
+ <value cell_index="13433" local_entity="0" value="0" />
+ <value cell_index="13434" local_entity="0" value="0" />
+ <value cell_index="13435" local_entity="0" value="0" />
+ <value cell_index="13436" local_entity="0" value="0" />
+ <value cell_index="13437" local_entity="0" value="0" />
+ <value cell_index="13438" local_entity="0" value="0" />
+ <value cell_index="13439" local_entity="0" value="0" />
+ <value cell_index="13440" local_entity="0" value="0" />
+ <value cell_index="13441" local_entity="0" value="0" />
+ <value cell_index="13442" local_entity="0" value="0" />
+ <value cell_index="13443" local_entity="0" value="0" />
+ <value cell_index="13444" local_entity="0" value="0" />
+ <value cell_index="13445" local_entity="0" value="0" />
+ <value cell_index="13446" local_entity="0" value="0" />
+ <value cell_index="13447" local_entity="0" value="0" />
+ <value cell_index="13448" local_entity="0" value="0" />
+ <value cell_index="13449" local_entity="0" value="0" />
+ <value cell_index="13450" local_entity="0" value="0" />
+ <value cell_index="13451" local_entity="0" value="0" />
+ <value cell_index="13452" local_entity="0" value="0" />
+ <value cell_index="13453" local_entity="0" value="0" />
+ <value cell_index="13454" local_entity="0" value="0" />
+ <value cell_index="13455" local_entity="0" value="0" />
+ <value cell_index="13456" local_entity="0" value="0" />
+ <value cell_index="13457" local_entity="0" value="0" />
+ <value cell_index="13458" local_entity="0" value="0" />
+ <value cell_index="13459" local_entity="0" value="0" />
+ <value cell_index="13460" local_entity="0" value="0" />
+ <value cell_index="13461" local_entity="0" value="0" />
+ <value cell_index="13462" local_entity="0" value="0" />
+ <value cell_index="13463" local_entity="0" value="0" />
+ <value cell_index="13464" local_entity="0" value="0" />
+ <value cell_index="13465" local_entity="0" value="0" />
+ <value cell_index="13466" local_entity="0" value="0" />
+ <value cell_index="13467" local_entity="0" value="0" />
+ <value cell_index="13468" local_entity="0" value="0" />
+ <value cell_index="13469" local_entity="0" value="0" />
+ <value cell_index="13470" local_entity="0" value="0" />
+ <value cell_index="13471" local_entity="0" value="0" />
+ <value cell_index="13472" local_entity="0" value="0" />
+ <value cell_index="13473" local_entity="0" value="0" />
+ <value cell_index="13474" local_entity="0" value="0" />
+ <value cell_index="13475" local_entity="0" value="0" />
+ <value cell_index="13476" local_entity="0" value="0" />
+ <value cell_index="13477" local_entity="0" value="0" />
+ <value cell_index="13478" local_entity="0" value="0" />
+ <value cell_index="13479" local_entity="0" value="0" />
+ <value cell_index="13480" local_entity="0" value="0" />
+ <value cell_index="13481" local_entity="0" value="0" />
+ <value cell_index="13482" local_entity="0" value="0" />
+ <value cell_index="13483" local_entity="0" value="0" />
+ <value cell_index="13484" local_entity="0" value="0" />
+ <value cell_index="13485" local_entity="0" value="0" />
+ <value cell_index="13486" local_entity="0" value="0" />
+ <value cell_index="13487" local_entity="0" value="0" />
+ <value cell_index="13488" local_entity="0" value="0" />
+ <value cell_index="13489" local_entity="0" value="0" />
+ <value cell_index="13490" local_entity="0" value="0" />
+ <value cell_index="13491" local_entity="0" value="0" />
+ <value cell_index="13492" local_entity="0" value="0" />
+ <value cell_index="13493" local_entity="0" value="0" />
+ <value cell_index="13494" local_entity="0" value="0" />
+ <value cell_index="13495" local_entity="0" value="0" />
+ <value cell_index="13496" local_entity="0" value="0" />
+ <value cell_index="13497" local_entity="0" value="0" />
+ <value cell_index="13498" local_entity="0" value="0" />
+ <value cell_index="13499" local_entity="0" value="0" />
+ <value cell_index="13500" local_entity="0" value="0" />
+ <value cell_index="13501" local_entity="0" value="0" />
+ <value cell_index="13502" local_entity="0" value="0" />
+ <value cell_index="13503" local_entity="0" value="0" />
+ <value cell_index="13504" local_entity="0" value="0" />
+ <value cell_index="13505" local_entity="0" value="0" />
+ <value cell_index="13506" local_entity="0" value="0" />
+ <value cell_index="13507" local_entity="0" value="0" />
+ <value cell_index="13508" local_entity="0" value="0" />
+ <value cell_index="13509" local_entity="0" value="0" />
+ <value cell_index="13510" local_entity="0" value="0" />
+ <value cell_index="13511" local_entity="0" value="0" />
+ <value cell_index="13512" local_entity="0" value="0" />
+ <value cell_index="13513" local_entity="0" value="0" />
+ <value cell_index="13514" local_entity="0" value="0" />
+ <value cell_index="13515" local_entity="0" value="0" />
+ <value cell_index="13516" local_entity="0" value="0" />
+ <value cell_index="13517" local_entity="0" value="0" />
+ <value cell_index="13518" local_entity="0" value="0" />
+ <value cell_index="13519" local_entity="0" value="0" />
+ <value cell_index="13520" local_entity="0" value="0" />
+ <value cell_index="13521" local_entity="0" value="0" />
+ <value cell_index="13522" local_entity="0" value="0" />
+ <value cell_index="13523" local_entity="0" value="0" />
+ <value cell_index="13524" local_entity="0" value="0" />
+ <value cell_index="13525" local_entity="0" value="0" />
+ <value cell_index="13526" local_entity="0" value="0" />
+ <value cell_index="13527" local_entity="0" value="0" />
+ <value cell_index="13528" local_entity="0" value="0" />
+ <value cell_index="13529" local_entity="0" value="0" />
+ <value cell_index="13530" local_entity="0" value="0" />
+ <value cell_index="13531" local_entity="0" value="0" />
+ <value cell_index="13532" local_entity="0" value="0" />
+ <value cell_index="13533" local_entity="0" value="0" />
+ <value cell_index="13534" local_entity="0" value="0" />
+ <value cell_index="13535" local_entity="0" value="0" />
+ <value cell_index="13536" local_entity="0" value="0" />
+ <value cell_index="13537" local_entity="0" value="0" />
+ <value cell_index="13538" local_entity="0" value="0" />
+ <value cell_index="13539" local_entity="0" value="0" />
+ <value cell_index="13540" local_entity="0" value="0" />
+ <value cell_index="13541" local_entity="0" value="0" />
+ <value cell_index="13542" local_entity="0" value="0" />
+ <value cell_index="13543" local_entity="0" value="0" />
+ <value cell_index="13544" local_entity="0" value="0" />
+ <value cell_index="13545" local_entity="0" value="0" />
+ <value cell_index="13546" local_entity="0" value="0" />
+ <value cell_index="13547" local_entity="0" value="0" />
+ <value cell_index="13548" local_entity="0" value="0" />
+ <value cell_index="13549" local_entity="0" value="0" />
+ <value cell_index="13550" local_entity="0" value="0" />
+ <value cell_index="13551" local_entity="0" value="0" />
+ <value cell_index="13552" local_entity="0" value="0" />
+ <value cell_index="13553" local_entity="0" value="0" />
+ <value cell_index="13554" local_entity="0" value="0" />
+ <value cell_index="13555" local_entity="0" value="0" />
+ <value cell_index="13556" local_entity="0" value="0" />
+ <value cell_index="13557" local_entity="0" value="0" />
+ <value cell_index="13558" local_entity="0" value="0" />
+ <value cell_index="13559" local_entity="0" value="0" />
+ <value cell_index="13560" local_entity="0" value="0" />
+ <value cell_index="13561" local_entity="0" value="0" />
+ <value cell_index="13562" local_entity="0" value="0" />
+ <value cell_index="13563" local_entity="0" value="0" />
+ <value cell_index="13564" local_entity="0" value="0" />
+ <value cell_index="13565" local_entity="0" value="0" />
+ <value cell_index="13566" local_entity="0" value="0" />
+ <value cell_index="13567" local_entity="0" value="0" />
+ <value cell_index="13568" local_entity="0" value="0" />
+ <value cell_index="13569" local_entity="0" value="0" />
+ <value cell_index="13570" local_entity="0" value="0" />
+ <value cell_index="13571" local_entity="0" value="0" />
+ <value cell_index="13572" local_entity="0" value="0" />
+ <value cell_index="13573" local_entity="0" value="0" />
+ <value cell_index="13574" local_entity="0" value="0" />
+ <value cell_index="13575" local_entity="0" value="0" />
+ <value cell_index="13576" local_entity="0" value="0" />
+ <value cell_index="13577" local_entity="0" value="0" />
+ <value cell_index="13578" local_entity="0" value="0" />
+ <value cell_index="13579" local_entity="0" value="0" />
+ <value cell_index="13580" local_entity="0" value="0" />
+ <value cell_index="13581" local_entity="0" value="0" />
+ <value cell_index="13582" local_entity="0" value="0" />
+ <value cell_index="13583" local_entity="0" value="0" />
+ <value cell_index="13584" local_entity="0" value="0" />
+ <value cell_index="13585" local_entity="0" value="0" />
+ <value cell_index="13586" local_entity="0" value="0" />
+ <value cell_index="13587" local_entity="0" value="0" />
+ <value cell_index="13588" local_entity="0" value="0" />
+ <value cell_index="13589" local_entity="0" value="0" />
+ <value cell_index="13590" local_entity="0" value="0" />
+ <value cell_index="13591" local_entity="0" value="0" />
+ <value cell_index="13592" local_entity="0" value="0" />
+ <value cell_index="13593" local_entity="0" value="0" />
+ <value cell_index="13594" local_entity="0" value="0" />
+ <value cell_index="13595" local_entity="0" value="0" />
+ <value cell_index="13596" local_entity="0" value="0" />
+ <value cell_index="13597" local_entity="0" value="0" />
+ <value cell_index="13598" local_entity="0" value="0" />
+ <value cell_index="13599" local_entity="0" value="0" />
+ <value cell_index="13600" local_entity="0" value="0" />
+ <value cell_index="13601" local_entity="0" value="0" />
+ <value cell_index="13602" local_entity="0" value="0" />
+ <value cell_index="13603" local_entity="0" value="0" />
+ <value cell_index="13604" local_entity="0" value="0" />
+ <value cell_index="13605" local_entity="0" value="0" />
+ <value cell_index="13606" local_entity="0" value="0" />
+ <value cell_index="13607" local_entity="0" value="0" />
+ <value cell_index="13608" local_entity="0" value="0" />
+ <value cell_index="13609" local_entity="0" value="0" />
+ <value cell_index="13610" local_entity="0" value="0" />
+ <value cell_index="13611" local_entity="0" value="0" />
+ <value cell_index="13612" local_entity="0" value="0" />
+ <value cell_index="13613" local_entity="0" value="0" />
+ <value cell_index="13614" local_entity="0" value="0" />
+ <value cell_index="13615" local_entity="0" value="0" />
+ <value cell_index="13616" local_entity="0" value="0" />
+ <value cell_index="13617" local_entity="0" value="0" />
+ <value cell_index="13618" local_entity="0" value="0" />
+ <value cell_index="13619" local_entity="0" value="0" />
+ <value cell_index="13620" local_entity="0" value="0" />
+ <value cell_index="13621" local_entity="0" value="0" />
+ <value cell_index="13622" local_entity="0" value="0" />
+ <value cell_index="13623" local_entity="0" value="0" />
+ <value cell_index="13624" local_entity="0" value="0" />
+ <value cell_index="13625" local_entity="0" value="0" />
+ <value cell_index="13626" local_entity="0" value="0" />
+ <value cell_index="13627" local_entity="0" value="0" />
+ <value cell_index="13628" local_entity="0" value="0" />
+ <value cell_index="13629" local_entity="0" value="0" />
+ <value cell_index="13630" local_entity="0" value="0" />
+ <value cell_index="13631" local_entity="0" value="0" />
+ <value cell_index="13632" local_entity="0" value="0" />
+ <value cell_index="13633" local_entity="0" value="0" />
+ <value cell_index="13634" local_entity="0" value="0" />
+ <value cell_index="13635" local_entity="0" value="0" />
+ <value cell_index="13636" local_entity="0" value="0" />
+ <value cell_index="13637" local_entity="0" value="0" />
+ <value cell_index="13638" local_entity="0" value="0" />
+ <value cell_index="13639" local_entity="0" value="0" />
+ <value cell_index="13640" local_entity="0" value="0" />
+ <value cell_index="13641" local_entity="0" value="0" />
+ <value cell_index="13642" local_entity="0" value="0" />
+ <value cell_index="13643" local_entity="0" value="0" />
+ <value cell_index="13644" local_entity="0" value="0" />
+ <value cell_index="13645" local_entity="0" value="0" />
+ <value cell_index="13646" local_entity="0" value="0" />
+ <value cell_index="13647" local_entity="0" value="0" />
+ <value cell_index="13648" local_entity="0" value="0" />
+ <value cell_index="13649" local_entity="0" value="0" />
+ <value cell_index="13650" local_entity="0" value="0" />
+ <value cell_index="13651" local_entity="0" value="0" />
+ <value cell_index="13652" local_entity="0" value="0" />
+ <value cell_index="13653" local_entity="0" value="0" />
+ <value cell_index="13654" local_entity="0" value="0" />
+ <value cell_index="13655" local_entity="0" value="0" />
+ <value cell_index="13656" local_entity="0" value="0" />
+ <value cell_index="13657" local_entity="0" value="0" />
+ <value cell_index="13658" local_entity="0" value="0" />
+ <value cell_index="13659" local_entity="0" value="0" />
+ <value cell_index="13660" local_entity="0" value="0" />
+ <value cell_index="13661" local_entity="0" value="0" />
+ <value cell_index="13662" local_entity="0" value="0" />
+ <value cell_index="13663" local_entity="0" value="0" />
+ <value cell_index="13664" local_entity="0" value="0" />
+ <value cell_index="13665" local_entity="0" value="0" />
+ <value cell_index="13666" local_entity="0" value="0" />
+ <value cell_index="13667" local_entity="0" value="0" />
+ <value cell_index="13668" local_entity="0" value="0" />
+ <value cell_index="13669" local_entity="0" value="0" />
+ <value cell_index="13670" local_entity="0" value="0" />
+ <value cell_index="13671" local_entity="0" value="0" />
+ <value cell_index="13672" local_entity="0" value="0" />
+ <value cell_index="13673" local_entity="0" value="0" />
+ <value cell_index="13674" local_entity="0" value="0" />
+ <value cell_index="13675" local_entity="0" value="0" />
+ <value cell_index="13676" local_entity="0" value="0" />
+ <value cell_index="13677" local_entity="0" value="0" />
+ <value cell_index="13678" local_entity="0" value="0" />
+ <value cell_index="13679" local_entity="0" value="0" />
+ <value cell_index="13680" local_entity="0" value="0" />
+ <value cell_index="13681" local_entity="0" value="0" />
+ <value cell_index="13682" local_entity="0" value="0" />
+ <value cell_index="13683" local_entity="0" value="0" />
+ <value cell_index="13684" local_entity="0" value="0" />
+ <value cell_index="13685" local_entity="0" value="0" />
+ <value cell_index="13686" local_entity="0" value="0" />
+ <value cell_index="13687" local_entity="0" value="0" />
+ <value cell_index="13688" local_entity="0" value="0" />
+ <value cell_index="13689" local_entity="0" value="0" />
+ <value cell_index="13690" local_entity="0" value="0" />
+ <value cell_index="13691" local_entity="0" value="0" />
+ <value cell_index="13692" local_entity="0" value="0" />
+ <value cell_index="13693" local_entity="0" value="0" />
+ <value cell_index="13694" local_entity="0" value="0" />
+ <value cell_index="13695" local_entity="0" value="0" />
+ <value cell_index="13696" local_entity="0" value="0" />
+ <value cell_index="13697" local_entity="0" value="0" />
+ <value cell_index="13698" local_entity="0" value="0" />
+ <value cell_index="13699" local_entity="0" value="0" />
+ <value cell_index="13700" local_entity="0" value="0" />
+ <value cell_index="13701" local_entity="0" value="0" />
+ <value cell_index="13702" local_entity="0" value="0" />
+ <value cell_index="13703" local_entity="0" value="0" />
+ <value cell_index="13704" local_entity="0" value="0" />
+ <value cell_index="13705" local_entity="0" value="0" />
+ <value cell_index="13706" local_entity="0" value="0" />
+ <value cell_index="13707" local_entity="0" value="0" />
+ <value cell_index="13708" local_entity="0" value="0" />
+ <value cell_index="13709" local_entity="0" value="0" />
+ <value cell_index="13710" local_entity="0" value="0" />
+ <value cell_index="13711" local_entity="0" value="0" />
+ <value cell_index="13712" local_entity="0" value="0" />
+ <value cell_index="13713" local_entity="0" value="0" />
+ <value cell_index="13714" local_entity="0" value="0" />
+ <value cell_index="13715" local_entity="0" value="0" />
+ <value cell_index="13716" local_entity="0" value="0" />
+ <value cell_index="13717" local_entity="0" value="0" />
+ <value cell_index="13718" local_entity="0" value="0" />
+ <value cell_index="13719" local_entity="0" value="0" />
+ <value cell_index="13720" local_entity="0" value="0" />
+ <value cell_index="13721" local_entity="0" value="0" />
+ <value cell_index="13722" local_entity="0" value="0" />
+ <value cell_index="13723" local_entity="0" value="0" />
+ <value cell_index="13724" local_entity="0" value="0" />
+ <value cell_index="13725" local_entity="0" value="0" />
+ <value cell_index="13726" local_entity="0" value="0" />
+ <value cell_index="13727" local_entity="0" value="0" />
+ <value cell_index="13728" local_entity="0" value="0" />
+ <value cell_index="13729" local_entity="0" value="0" />
+ <value cell_index="13730" local_entity="0" value="0" />
+ <value cell_index="13731" local_entity="0" value="0" />
+ <value cell_index="13732" local_entity="0" value="0" />
+ <value cell_index="13733" local_entity="0" value="0" />
+ <value cell_index="13734" local_entity="0" value="0" />
+ <value cell_index="13735" local_entity="0" value="0" />
+ <value cell_index="13736" local_entity="0" value="0" />
+ <value cell_index="13737" local_entity="0" value="0" />
+ <value cell_index="13738" local_entity="0" value="0" />
+ <value cell_index="13739" local_entity="0" value="0" />
+ <value cell_index="13740" local_entity="0" value="0" />
+ <value cell_index="13741" local_entity="0" value="0" />
+ <value cell_index="13742" local_entity="0" value="0" />
+ <value cell_index="13743" local_entity="0" value="0" />
+ <value cell_index="13744" local_entity="0" value="0" />
+ <value cell_index="13745" local_entity="0" value="0" />
+ <value cell_index="13746" local_entity="0" value="0" />
+ <value cell_index="13747" local_entity="0" value="0" />
+ <value cell_index="13748" local_entity="0" value="0" />
+ <value cell_index="13749" local_entity="0" value="0" />
+ <value cell_index="13750" local_entity="0" value="0" />
+ <value cell_index="13751" local_entity="0" value="0" />
+ <value cell_index="13752" local_entity="0" value="0" />
+ <value cell_index="13753" local_entity="0" value="0" />
+ <value cell_index="13754" local_entity="0" value="0" />
+ <value cell_index="13755" local_entity="0" value="0" />
+ <value cell_index="13756" local_entity="0" value="0" />
+ <value cell_index="13757" local_entity="0" value="0" />
+ <value cell_index="13758" local_entity="0" value="0" />
+ <value cell_index="13759" local_entity="0" value="0" />
+ <value cell_index="13760" local_entity="0" value="0" />
+ <value cell_index="13761" local_entity="0" value="0" />
+ <value cell_index="13762" local_entity="0" value="0" />
+ <value cell_index="13763" local_entity="0" value="0" />
+ <value cell_index="13764" local_entity="0" value="0" />
+ <value cell_index="13765" local_entity="0" value="0" />
+ <value cell_index="13766" local_entity="0" value="0" />
+ <value cell_index="13767" local_entity="0" value="0" />
+ <value cell_index="13768" local_entity="0" value="0" />
+ <value cell_index="13769" local_entity="0" value="0" />
+ <value cell_index="13770" local_entity="0" value="0" />
+ <value cell_index="13771" local_entity="0" value="0" />
+ <value cell_index="13772" local_entity="0" value="0" />
+ <value cell_index="13773" local_entity="0" value="0" />
+ <value cell_index="13774" local_entity="0" value="0" />
+ <value cell_index="13775" local_entity="0" value="0" />
+ <value cell_index="13776" local_entity="0" value="0" />
+ <value cell_index="13777" local_entity="0" value="0" />
+ <value cell_index="13778" local_entity="0" value="0" />
+ <value cell_index="13779" local_entity="0" value="0" />
+ <value cell_index="13780" local_entity="0" value="0" />
+ <value cell_index="13781" local_entity="0" value="0" />
+ <value cell_index="13782" local_entity="0" value="0" />
+ <value cell_index="13783" local_entity="0" value="0" />
+ <value cell_index="13784" local_entity="0" value="0" />
+ <value cell_index="13785" local_entity="0" value="0" />
+ <value cell_index="13786" local_entity="0" value="0" />
+ <value cell_index="13787" local_entity="0" value="0" />
+ <value cell_index="13788" local_entity="0" value="0" />
+ <value cell_index="13789" local_entity="0" value="0" />
+ <value cell_index="13790" local_entity="0" value="0" />
+ <value cell_index="13791" local_entity="0" value="0" />
+ <value cell_index="13792" local_entity="0" value="0" />
+ <value cell_index="13793" local_entity="0" value="0" />
+ <value cell_index="13794" local_entity="0" value="0" />
+ <value cell_index="13795" local_entity="0" value="0" />
+ <value cell_index="13796" local_entity="0" value="0" />
+ <value cell_index="13797" local_entity="0" value="0" />
+ <value cell_index="13798" local_entity="0" value="0" />
+ <value cell_index="13799" local_entity="0" value="0" />
+ <value cell_index="13800" local_entity="0" value="0" />
+ <value cell_index="13801" local_entity="0" value="0" />
+ <value cell_index="13802" local_entity="0" value="0" />
+ <value cell_index="13803" local_entity="0" value="0" />
+ <value cell_index="13804" local_entity="0" value="0" />
+ <value cell_index="13805" local_entity="0" value="0" />
+ <value cell_index="13806" local_entity="0" value="0" />
+ <value cell_index="13807" local_entity="0" value="0" />
+ <value cell_index="13808" local_entity="0" value="0" />
+ <value cell_index="13809" local_entity="0" value="0" />
+ <value cell_index="13810" local_entity="0" value="0" />
+ <value cell_index="13811" local_entity="0" value="0" />
+ <value cell_index="13812" local_entity="0" value="0" />
+ <value cell_index="13813" local_entity="0" value="0" />
+ <value cell_index="13814" local_entity="0" value="0" />
+ <value cell_index="13815" local_entity="0" value="0" />
+ <value cell_index="13816" local_entity="0" value="0" />
+ <value cell_index="13817" local_entity="0" value="0" />
+ <value cell_index="13818" local_entity="0" value="0" />
+ <value cell_index="13819" local_entity="0" value="0" />
+ <value cell_index="13820" local_entity="0" value="0" />
+ <value cell_index="13821" local_entity="0" value="0" />
+ <value cell_index="13822" local_entity="0" value="0" />
+ <value cell_index="13823" local_entity="0" value="0" />
+ <value cell_index="13824" local_entity="0" value="0" />
+ <value cell_index="13825" local_entity="0" value="0" />
+ <value cell_index="13826" local_entity="0" value="0" />
+ <value cell_index="13827" local_entity="0" value="0" />
+ <value cell_index="13828" local_entity="0" value="0" />
+ <value cell_index="13829" local_entity="0" value="0" />
+ <value cell_index="13830" local_entity="0" value="0" />
+ <value cell_index="13831" local_entity="0" value="0" />
+ <value cell_index="13832" local_entity="0" value="0" />
+ <value cell_index="13833" local_entity="0" value="0" />
+ <value cell_index="13834" local_entity="0" value="0" />
+ <value cell_index="13835" local_entity="0" value="0" />
+ <value cell_index="13836" local_entity="0" value="0" />
+ <value cell_index="13837" local_entity="0" value="0" />
+ <value cell_index="13838" local_entity="0" value="0" />
+ <value cell_index="13839" local_entity="0" value="0" />
+ <value cell_index="13840" local_entity="0" value="0" />
+ <value cell_index="13841" local_entity="0" value="0" />
+ <value cell_index="13842" local_entity="0" value="0" />
+ <value cell_index="13843" local_entity="0" value="0" />
+ <value cell_index="13844" local_entity="0" value="0" />
+ <value cell_index="13845" local_entity="0" value="0" />
+ <value cell_index="13846" local_entity="0" value="0" />
+ <value cell_index="13847" local_entity="0" value="0" />
+ <value cell_index="13848" local_entity="0" value="0" />
+ <value cell_index="13849" local_entity="0" value="0" />
+ <value cell_index="13850" local_entity="0" value="0" />
+ <value cell_index="13851" local_entity="0" value="0" />
+ <value cell_index="13852" local_entity="0" value="0" />
+ <value cell_index="13853" local_entity="0" value="0" />
+ <value cell_index="13854" local_entity="0" value="0" />
+ <value cell_index="13855" local_entity="0" value="0" />
+ <value cell_index="13856" local_entity="0" value="0" />
+ <value cell_index="13857" local_entity="0" value="0" />
+ <value cell_index="13858" local_entity="0" value="0" />
+ <value cell_index="13859" local_entity="0" value="0" />
+ <value cell_index="13860" local_entity="0" value="0" />
+ <value cell_index="13861" local_entity="0" value="0" />
+ <value cell_index="13862" local_entity="0" value="0" />
+ <value cell_index="13863" local_entity="0" value="0" />
+ <value cell_index="13864" local_entity="0" value="0" />
+ <value cell_index="13865" local_entity="0" value="0" />
+ <value cell_index="13866" local_entity="0" value="0" />
+ <value cell_index="13867" local_entity="0" value="0" />
+ <value cell_index="13868" local_entity="0" value="0" />
+ <value cell_index="13869" local_entity="0" value="0" />
+ <value cell_index="13870" local_entity="0" value="0" />
+ <value cell_index="13871" local_entity="0" value="0" />
+ <value cell_index="13872" local_entity="0" value="0" />
+ <value cell_index="13873" local_entity="0" value="0" />
+ <value cell_index="13874" local_entity="0" value="0" />
+ <value cell_index="13875" local_entity="0" value="0" />
+ <value cell_index="13876" local_entity="0" value="0" />
+ <value cell_index="13877" local_entity="0" value="0" />
+ <value cell_index="13878" local_entity="0" value="0" />
+ <value cell_index="13879" local_entity="0" value="0" />
+ <value cell_index="13880" local_entity="0" value="0" />
+ <value cell_index="13881" local_entity="0" value="0" />
+ <value cell_index="13882" local_entity="0" value="0" />
+ <value cell_index="13883" local_entity="0" value="0" />
+ <value cell_index="13884" local_entity="0" value="0" />
+ <value cell_index="13885" local_entity="0" value="0" />
+ <value cell_index="13886" local_entity="0" value="0" />
+ <value cell_index="13887" local_entity="0" value="0" />
+ <value cell_index="13888" local_entity="0" value="0" />
+ <value cell_index="13889" local_entity="0" value="0" />
+ <value cell_index="13890" local_entity="0" value="0" />
+ <value cell_index="13891" local_entity="0" value="0" />
+ <value cell_index="13892" local_entity="0" value="0" />
+ <value cell_index="13893" local_entity="0" value="0" />
+ <value cell_index="13894" local_entity="0" value="0" />
+ <value cell_index="13895" local_entity="0" value="0" />
+ <value cell_index="13896" local_entity="0" value="0" />
+ <value cell_index="13897" local_entity="0" value="0" />
+ <value cell_index="13898" local_entity="0" value="0" />
+ <value cell_index="13899" local_entity="0" value="0" />
+ <value cell_index="13900" local_entity="0" value="0" />
+ <value cell_index="13901" local_entity="0" value="0" />
+ <value cell_index="13902" local_entity="0" value="0" />
+ <value cell_index="13903" local_entity="0" value="0" />
+ <value cell_index="13904" local_entity="0" value="0" />
+ <value cell_index="13905" local_entity="0" value="0" />
+ <value cell_index="13906" local_entity="0" value="0" />
+ <value cell_index="13907" local_entity="0" value="0" />
+ <value cell_index="13908" local_entity="0" value="0" />
+ <value cell_index="13909" local_entity="0" value="0" />
+ <value cell_index="13910" local_entity="0" value="0" />
+ <value cell_index="13911" local_entity="0" value="0" />
+ <value cell_index="13912" local_entity="0" value="0" />
+ <value cell_index="13913" local_entity="0" value="0" />
+ <value cell_index="13914" local_entity="0" value="0" />
+ <value cell_index="13915" local_entity="0" value="0" />
+ <value cell_index="13916" local_entity="0" value="0" />
+ <value cell_index="13917" local_entity="0" value="0" />
+ <value cell_index="13918" local_entity="0" value="0" />
+ <value cell_index="13919" local_entity="0" value="0" />
+ <value cell_index="13920" local_entity="0" value="0" />
+ <value cell_index="13921" local_entity="0" value="0" />
+ <value cell_index="13922" local_entity="0" value="0" />
+ <value cell_index="13923" local_entity="0" value="0" />
+ <value cell_index="13924" local_entity="0" value="0" />
+ <value cell_index="13925" local_entity="0" value="0" />
+ <value cell_index="13926" local_entity="0" value="0" />
+ <value cell_index="13927" local_entity="0" value="0" />
+ <value cell_index="13928" local_entity="0" value="0" />
+ <value cell_index="13929" local_entity="0" value="0" />
+ <value cell_index="13930" local_entity="0" value="0" />
+ <value cell_index="13931" local_entity="0" value="0" />
+ <value cell_index="13932" local_entity="0" value="0" />
+ <value cell_index="13933" local_entity="0" value="0" />
+ <value cell_index="13934" local_entity="0" value="0" />
+ <value cell_index="13935" local_entity="0" value="0" />
+ <value cell_index="13936" local_entity="0" value="0" />
+ <value cell_index="13937" local_entity="0" value="0" />
+ <value cell_index="13938" local_entity="0" value="0" />
+ <value cell_index="13939" local_entity="0" value="0" />
+ <value cell_index="13940" local_entity="0" value="0" />
+ <value cell_index="13941" local_entity="0" value="0" />
+ <value cell_index="13942" local_entity="0" value="0" />
+ <value cell_index="13943" local_entity="0" value="0" />
+ <value cell_index="13944" local_entity="0" value="0" />
+ <value cell_index="13945" local_entity="0" value="0" />
+ <value cell_index="13946" local_entity="0" value="0" />
+ <value cell_index="13947" local_entity="0" value="0" />
+ <value cell_index="13948" local_entity="0" value="0" />
+ <value cell_index="13949" local_entity="0" value="0" />
+ <value cell_index="13950" local_entity="0" value="0" />
+ <value cell_index="13951" local_entity="0" value="0" />
+ <value cell_index="13952" local_entity="0" value="0" />
+ <value cell_index="13953" local_entity="0" value="0" />
+ <value cell_index="13954" local_entity="0" value="0" />
+ <value cell_index="13955" local_entity="0" value="0" />
+ <value cell_index="13956" local_entity="0" value="0" />
+ <value cell_index="13957" local_entity="0" value="0" />
+ <value cell_index="13958" local_entity="0" value="0" />
+ <value cell_index="13959" local_entity="0" value="0" />
+ <value cell_index="13960" local_entity="0" value="0" />
+ <value cell_index="13961" local_entity="0" value="0" />
+ <value cell_index="13962" local_entity="0" value="0" />
+ <value cell_index="13963" local_entity="0" value="0" />
+ <value cell_index="13964" local_entity="0" value="0" />
+ <value cell_index="13965" local_entity="0" value="0" />
+ <value cell_index="13966" local_entity="0" value="0" />
+ <value cell_index="13967" local_entity="0" value="0" />
+ <value cell_index="13968" local_entity="0" value="0" />
+ <value cell_index="13969" local_entity="0" value="0" />
+ <value cell_index="13970" local_entity="0" value="0" />
+ <value cell_index="13971" local_entity="0" value="0" />
+ <value cell_index="13972" local_entity="0" value="0" />
+ <value cell_index="13973" local_entity="0" value="0" />
+ <value cell_index="13974" local_entity="0" value="0" />
+ <value cell_index="13975" local_entity="0" value="0" />
+ <value cell_index="13976" local_entity="0" value="0" />
+ <value cell_index="13977" local_entity="0" value="0" />
+ <value cell_index="13978" local_entity="0" value="0" />
+ <value cell_index="13979" local_entity="0" value="0" />
+ <value cell_index="13980" local_entity="0" value="0" />
+ <value cell_index="13981" local_entity="0" value="0" />
+ <value cell_index="13982" local_entity="0" value="0" />
+ <value cell_index="13983" local_entity="0" value="0" />
+ <value cell_index="13984" local_entity="0" value="0" />
+ <value cell_index="13985" local_entity="0" value="0" />
+ <value cell_index="13986" local_entity="0" value="0" />
+ <value cell_index="13987" local_entity="0" value="0" />
+ <value cell_index="13988" local_entity="0" value="0" />
+ <value cell_index="13989" local_entity="0" value="0" />
+ <value cell_index="13990" local_entity="0" value="0" />
+ <value cell_index="13991" local_entity="0" value="0" />
+ <value cell_index="13992" local_entity="0" value="0" />
+ <value cell_index="13993" local_entity="0" value="0" />
+ <value cell_index="13994" local_entity="0" value="0" />
+ <value cell_index="13995" local_entity="0" value="0" />
+ <value cell_index="13996" local_entity="0" value="0" />
+ <value cell_index="13997" local_entity="0" value="0" />
+ <value cell_index="13998" local_entity="0" value="0" />
+ <value cell_index="13999" local_entity="0" value="0" />
+ <value cell_index="14000" local_entity="0" value="0" />
+ <value cell_index="14001" local_entity="0" value="0" />
+ <value cell_index="14002" local_entity="0" value="0" />
+ <value cell_index="14003" local_entity="0" value="0" />
+ <value cell_index="14004" local_entity="0" value="0" />
+ <value cell_index="14005" local_entity="0" value="0" />
+ <value cell_index="14006" local_entity="0" value="0" />
+ <value cell_index="14007" local_entity="0" value="0" />
+ <value cell_index="14008" local_entity="0" value="0" />
+ <value cell_index="14009" local_entity="0" value="0" />
+ <value cell_index="14010" local_entity="0" value="0" />
+ <value cell_index="14011" local_entity="0" value="0" />
+ <value cell_index="14012" local_entity="0" value="0" />
+ <value cell_index="14013" local_entity="0" value="0" />
+ <value cell_index="14014" local_entity="0" value="0" />
+ <value cell_index="14015" local_entity="0" value="0" />
+ <value cell_index="14016" local_entity="0" value="0" />
+ <value cell_index="14017" local_entity="0" value="0" />
+ <value cell_index="14018" local_entity="0" value="0" />
+ <value cell_index="14019" local_entity="0" value="0" />
+ <value cell_index="14020" local_entity="0" value="0" />
+ <value cell_index="14021" local_entity="0" value="0" />
+ <value cell_index="14022" local_entity="0" value="0" />
+ <value cell_index="14023" local_entity="0" value="0" />
+ <value cell_index="14024" local_entity="0" value="0" />
+ <value cell_index="14025" local_entity="0" value="0" />
+ <value cell_index="14026" local_entity="0" value="0" />
+ <value cell_index="14027" local_entity="0" value="0" />
+ <value cell_index="14028" local_entity="0" value="0" />
+ <value cell_index="14029" local_entity="0" value="0" />
+ <value cell_index="14030" local_entity="0" value="0" />
+ <value cell_index="14031" local_entity="0" value="0" />
+ <value cell_index="14032" local_entity="0" value="0" />
+ <value cell_index="14033" local_entity="0" value="0" />
+ <value cell_index="14034" local_entity="0" value="0" />
+ <value cell_index="14035" local_entity="0" value="0" />
+ <value cell_index="14036" local_entity="0" value="0" />
+ <value cell_index="14037" local_entity="0" value="0" />
+ <value cell_index="14038" local_entity="0" value="0" />
+ <value cell_index="14039" local_entity="0" value="0" />
+ <value cell_index="14040" local_entity="0" value="0" />
+ <value cell_index="14041" local_entity="0" value="0" />
+ <value cell_index="14042" local_entity="0" value="0" />
+ <value cell_index="14043" local_entity="0" value="0" />
+ <value cell_index="14044" local_entity="0" value="0" />
+ <value cell_index="14045" local_entity="0" value="0" />
+ <value cell_index="14046" local_entity="0" value="0" />
+ <value cell_index="14047" local_entity="0" value="0" />
+ <value cell_index="14048" local_entity="0" value="0" />
+ <value cell_index="14049" local_entity="0" value="0" />
+ <value cell_index="14050" local_entity="0" value="0" />
+ <value cell_index="14051" local_entity="0" value="0" />
+ <value cell_index="14052" local_entity="0" value="0" />
+ <value cell_index="14053" local_entity="0" value="0" />
+ <value cell_index="14054" local_entity="0" value="0" />
+ <value cell_index="14055" local_entity="0" value="0" />
+ <value cell_index="14056" local_entity="0" value="0" />
+ <value cell_index="14057" local_entity="0" value="0" />
+ <value cell_index="14058" local_entity="0" value="0" />
+ <value cell_index="14059" local_entity="0" value="0" />
+ <value cell_index="14060" local_entity="0" value="0" />
+ <value cell_index="14061" local_entity="0" value="0" />
+ <value cell_index="14062" local_entity="0" value="0" />
+ <value cell_index="14063" local_entity="0" value="0" />
+ <value cell_index="14064" local_entity="0" value="0" />
+ <value cell_index="14065" local_entity="0" value="0" />
+ <value cell_index="14066" local_entity="0" value="0" />
+ <value cell_index="14067" local_entity="0" value="0" />
+ <value cell_index="14068" local_entity="0" value="0" />
+ <value cell_index="14069" local_entity="0" value="0" />
+ <value cell_index="14070" local_entity="0" value="0" />
+ <value cell_index="14071" local_entity="0" value="0" />
+ <value cell_index="14072" local_entity="0" value="0" />
+ <value cell_index="14073" local_entity="0" value="0" />
+ <value cell_index="14074" local_entity="0" value="0" />
+ <value cell_index="14075" local_entity="0" value="0" />
+ <value cell_index="14076" local_entity="0" value="0" />
+ <value cell_index="14077" local_entity="0" value="0" />
+ <value cell_index="14078" local_entity="0" value="0" />
+ <value cell_index="14079" local_entity="0" value="0" />
+ <value cell_index="14080" local_entity="0" value="0" />
+ <value cell_index="14081" local_entity="0" value="0" />
+ <value cell_index="14082" local_entity="0" value="0" />
+ <value cell_index="14083" local_entity="0" value="0" />
+ <value cell_index="14084" local_entity="0" value="0" />
+ <value cell_index="14085" local_entity="0" value="0" />
+ <value cell_index="14086" local_entity="0" value="0" />
+ <value cell_index="14087" local_entity="0" value="0" />
+ <value cell_index="14088" local_entity="0" value="0" />
+ <value cell_index="14089" local_entity="0" value="0" />
+ <value cell_index="14090" local_entity="0" value="0" />
+ <value cell_index="14091" local_entity="0" value="0" />
+ <value cell_index="14092" local_entity="0" value="0" />
+ <value cell_index="14093" local_entity="0" value="0" />
+ <value cell_index="14094" local_entity="0" value="0" />
+ <value cell_index="14095" local_entity="0" value="0" />
+ <value cell_index="14096" local_entity="0" value="0" />
+ <value cell_index="14097" local_entity="0" value="0" />
+ <value cell_index="14098" local_entity="0" value="0" />
+ <value cell_index="14099" local_entity="0" value="0" />
+ <value cell_index="14100" local_entity="0" value="0" />
+ <value cell_index="14101" local_entity="0" value="0" />
+ <value cell_index="14102" local_entity="0" value="0" />
+ <value cell_index="14103" local_entity="0" value="0" />
+ <value cell_index="14104" local_entity="0" value="0" />
+ <value cell_index="14105" local_entity="0" value="0" />
+ <value cell_index="14106" local_entity="0" value="0" />
+ <value cell_index="14107" local_entity="0" value="0" />
+ <value cell_index="14108" local_entity="0" value="0" />
+ <value cell_index="14109" local_entity="0" value="0" />
+ <value cell_index="14110" local_entity="0" value="0" />
+ <value cell_index="14111" local_entity="0" value="0" />
+ <value cell_index="14112" local_entity="0" value="0" />
+ <value cell_index="14113" local_entity="0" value="0" />
+ <value cell_index="14114" local_entity="0" value="0" />
+ <value cell_index="14115" local_entity="0" value="0" />
+ <value cell_index="14116" local_entity="0" value="0" />
+ <value cell_index="14117" local_entity="0" value="0" />
+ <value cell_index="14118" local_entity="0" value="0" />
+ <value cell_index="14119" local_entity="0" value="0" />
+ <value cell_index="14120" local_entity="0" value="0" />
+ <value cell_index="14121" local_entity="0" value="0" />
+ <value cell_index="14122" local_entity="0" value="0" />
+ <value cell_index="14123" local_entity="0" value="0" />
+ <value cell_index="14124" local_entity="0" value="0" />
+ <value cell_index="14125" local_entity="0" value="0" />
+ <value cell_index="14126" local_entity="0" value="0" />
+ <value cell_index="14127" local_entity="0" value="0" />
+ <value cell_index="14128" local_entity="0" value="0" />
+ <value cell_index="14129" local_entity="0" value="0" />
+ <value cell_index="14130" local_entity="0" value="0" />
+ <value cell_index="14131" local_entity="0" value="0" />
+ <value cell_index="14132" local_entity="0" value="0" />
+ <value cell_index="14133" local_entity="0" value="0" />
+ <value cell_index="14134" local_entity="0" value="0" />
+ <value cell_index="14135" local_entity="0" value="0" />
+ <value cell_index="14136" local_entity="0" value="0" />
+ <value cell_index="14137" local_entity="0" value="0" />
+ <value cell_index="14138" local_entity="0" value="0" />
+ <value cell_index="14139" local_entity="0" value="0" />
+ <value cell_index="14140" local_entity="0" value="0" />
+ <value cell_index="14141" local_entity="0" value="0" />
+ <value cell_index="14142" local_entity="0" value="0" />
+ <value cell_index="14143" local_entity="0" value="0" />
+ <value cell_index="14144" local_entity="0" value="0" />
+ <value cell_index="14145" local_entity="0" value="0" />
+ <value cell_index="14146" local_entity="0" value="0" />
+ <value cell_index="14147" local_entity="0" value="0" />
+ <value cell_index="14148" local_entity="0" value="0" />
+ <value cell_index="14149" local_entity="0" value="0" />
+ <value cell_index="14150" local_entity="0" value="0" />
+ <value cell_index="14151" local_entity="0" value="0" />
+ <value cell_index="14152" local_entity="0" value="0" />
+ <value cell_index="14153" local_entity="0" value="0" />
+ <value cell_index="14154" local_entity="0" value="0" />
+ <value cell_index="14155" local_entity="0" value="0" />
+ <value cell_index="14156" local_entity="0" value="0" />
+ <value cell_index="14157" local_entity="0" value="0" />
+ <value cell_index="14158" local_entity="0" value="0" />
+ <value cell_index="14159" local_entity="0" value="0" />
+ <value cell_index="14160" local_entity="0" value="0" />
+ <value cell_index="14161" local_entity="0" value="0" />
+ <value cell_index="14162" local_entity="0" value="0" />
+ <value cell_index="14163" local_entity="0" value="0" />
+ <value cell_index="14164" local_entity="0" value="0" />
+ <value cell_index="14165" local_entity="0" value="0" />
+ <value cell_index="14166" local_entity="0" value="0" />
+ <value cell_index="14167" local_entity="0" value="0" />
+ <value cell_index="14168" local_entity="0" value="0" />
+ <value cell_index="14169" local_entity="0" value="0" />
+ <value cell_index="14170" local_entity="0" value="0" />
+ <value cell_index="14171" local_entity="0" value="0" />
+ <value cell_index="14172" local_entity="0" value="0" />
+ <value cell_index="14173" local_entity="0" value="0" />
+ <value cell_index="14174" local_entity="0" value="0" />
+ <value cell_index="14175" local_entity="0" value="0" />
+ <value cell_index="14176" local_entity="0" value="0" />
+ <value cell_index="14177" local_entity="0" value="0" />
+ <value cell_index="14178" local_entity="0" value="0" />
+ <value cell_index="14179" local_entity="0" value="0" />
+ <value cell_index="14180" local_entity="0" value="0" />
+ <value cell_index="14181" local_entity="0" value="0" />
+ <value cell_index="14182" local_entity="0" value="0" />
+ <value cell_index="14183" local_entity="0" value="0" />
+ <value cell_index="14184" local_entity="0" value="0" />
+ <value cell_index="14185" local_entity="0" value="0" />
+ <value cell_index="14186" local_entity="0" value="0" />
+ <value cell_index="14187" local_entity="0" value="0" />
+ <value cell_index="14188" local_entity="0" value="0" />
+ <value cell_index="14189" local_entity="0" value="0" />
+ <value cell_index="14190" local_entity="0" value="0" />
+ <value cell_index="14191" local_entity="0" value="0" />
+ <value cell_index="14192" local_entity="0" value="0" />
+ <value cell_index="14193" local_entity="0" value="0" />
+ <value cell_index="14194" local_entity="0" value="0" />
+ <value cell_index="14195" local_entity="0" value="0" />
+ <value cell_index="14196" local_entity="0" value="0" />
+ <value cell_index="14197" local_entity="0" value="0" />
+ <value cell_index="14198" local_entity="0" value="0" />
+ <value cell_index="14199" local_entity="0" value="0" />
+ <value cell_index="14200" local_entity="0" value="0" />
+ <value cell_index="14201" local_entity="0" value="0" />
+ <value cell_index="14202" local_entity="0" value="0" />
+ <value cell_index="14203" local_entity="0" value="0" />
+ <value cell_index="14204" local_entity="0" value="0" />
+ <value cell_index="14205" local_entity="0" value="0" />
+ <value cell_index="14206" local_entity="0" value="0" />
+ <value cell_index="14207" local_entity="0" value="0" />
+ <value cell_index="14208" local_entity="0" value="0" />
+ <value cell_index="14209" local_entity="0" value="0" />
+ <value cell_index="14210" local_entity="0" value="0" />
+ <value cell_index="14211" local_entity="0" value="0" />
+ <value cell_index="14212" local_entity="0" value="0" />
+ <value cell_index="14213" local_entity="0" value="0" />
+ <value cell_index="14214" local_entity="0" value="0" />
+ <value cell_index="14215" local_entity="0" value="0" />
+ <value cell_index="14216" local_entity="0" value="0" />
+ <value cell_index="14217" local_entity="0" value="0" />
+ <value cell_index="14218" local_entity="0" value="0" />
+ <value cell_index="14219" local_entity="0" value="0" />
+ <value cell_index="14220" local_entity="0" value="0" />
+ <value cell_index="14221" local_entity="0" value="0" />
+ <value cell_index="14222" local_entity="0" value="0" />
+ <value cell_index="14223" local_entity="0" value="0" />
+ <value cell_index="14224" local_entity="0" value="0" />
+ <value cell_index="14225" local_entity="0" value="0" />
+ <value cell_index="14226" local_entity="0" value="0" />
+ <value cell_index="14227" local_entity="0" value="0" />
+ <value cell_index="14228" local_entity="0" value="0" />
+ <value cell_index="14229" local_entity="0" value="0" />
+ <value cell_index="14230" local_entity="0" value="0" />
+ <value cell_index="14231" local_entity="0" value="0" />
+ <value cell_index="14232" local_entity="0" value="0" />
+ <value cell_index="14233" local_entity="0" value="0" />
+ <value cell_index="14234" local_entity="0" value="0" />
+ <value cell_index="14235" local_entity="0" value="0" />
+ <value cell_index="14236" local_entity="0" value="0" />
+ <value cell_index="14237" local_entity="0" value="0" />
+ <value cell_index="14238" local_entity="0" value="0" />
+ <value cell_index="14239" local_entity="0" value="0" />
+ <value cell_index="14240" local_entity="0" value="0" />
+ <value cell_index="14241" local_entity="0" value="0" />
+ <value cell_index="14242" local_entity="0" value="0" />
+ <value cell_index="14243" local_entity="0" value="0" />
+ <value cell_index="14244" local_entity="0" value="0" />
+ <value cell_index="14245" local_entity="0" value="0" />
+ <value cell_index="14246" local_entity="0" value="0" />
+ <value cell_index="14247" local_entity="0" value="0" />
+ <value cell_index="14248" local_entity="0" value="0" />
+ <value cell_index="14249" local_entity="0" value="0" />
+ <value cell_index="14250" local_entity="0" value="0" />
+ <value cell_index="14251" local_entity="0" value="0" />
+ <value cell_index="14252" local_entity="0" value="0" />
+ <value cell_index="14253" local_entity="0" value="0" />
+ <value cell_index="14254" local_entity="0" value="0" />
+ <value cell_index="14255" local_entity="0" value="0" />
+ <value cell_index="14256" local_entity="0" value="0" />
+ <value cell_index="14257" local_entity="0" value="0" />
+ <value cell_index="14258" local_entity="0" value="0" />
+ <value cell_index="14259" local_entity="0" value="0" />
+ <value cell_index="14260" local_entity="0" value="0" />
+ <value cell_index="14261" local_entity="0" value="0" />
+ <value cell_index="14262" local_entity="0" value="0" />
+ <value cell_index="14263" local_entity="0" value="0" />
+ <value cell_index="14264" local_entity="0" value="0" />
+ <value cell_index="14265" local_entity="0" value="0" />
+ <value cell_index="14266" local_entity="0" value="0" />
+ <value cell_index="14267" local_entity="0" value="0" />
+ <value cell_index="14268" local_entity="0" value="0" />
+ <value cell_index="14269" local_entity="0" value="0" />
+ <value cell_index="14270" local_entity="0" value="0" />
+ <value cell_index="14271" local_entity="0" value="0" />
+ <value cell_index="14272" local_entity="0" value="0" />
+ <value cell_index="14273" local_entity="0" value="0" />
+ <value cell_index="14274" local_entity="0" value="0" />
+ <value cell_index="14275" local_entity="0" value="0" />
+ <value cell_index="14276" local_entity="0" value="0" />
+ <value cell_index="14277" local_entity="0" value="0" />
+ <value cell_index="14278" local_entity="0" value="0" />
+ <value cell_index="14279" local_entity="0" value="0" />
+ <value cell_index="14280" local_entity="0" value="0" />
+ <value cell_index="14281" local_entity="0" value="0" />
+ <value cell_index="14282" local_entity="0" value="0" />
+ <value cell_index="14283" local_entity="0" value="0" />
+ <value cell_index="14284" local_entity="0" value="0" />
+ <value cell_index="14285" local_entity="0" value="0" />
+ <value cell_index="14286" local_entity="0" value="0" />
+ <value cell_index="14287" local_entity="0" value="0" />
+ <value cell_index="14288" local_entity="0" value="0" />
+ <value cell_index="14289" local_entity="0" value="0" />
+ <value cell_index="14290" local_entity="0" value="0" />
+ <value cell_index="14291" local_entity="0" value="0" />
+ <value cell_index="14292" local_entity="0" value="0" />
+ <value cell_index="14293" local_entity="0" value="0" />
+ <value cell_index="14294" local_entity="0" value="0" />
+ <value cell_index="14295" local_entity="0" value="0" />
+ <value cell_index="14296" local_entity="0" value="0" />
+ <value cell_index="14297" local_entity="0" value="0" />
+ <value cell_index="14298" local_entity="0" value="0" />
+ <value cell_index="14299" local_entity="0" value="0" />
+ <value cell_index="14300" local_entity="0" value="0" />
+ <value cell_index="14301" local_entity="0" value="0" />
+ <value cell_index="14302" local_entity="0" value="0" />
+ <value cell_index="14303" local_entity="0" value="0" />
+ <value cell_index="14304" local_entity="0" value="0" />
+ <value cell_index="14305" local_entity="0" value="0" />
+ <value cell_index="14306" local_entity="0" value="0" />
+ <value cell_index="14307" local_entity="0" value="0" />
+ <value cell_index="14308" local_entity="0" value="0" />
+ <value cell_index="14309" local_entity="0" value="0" />
+ <value cell_index="14310" local_entity="0" value="0" />
+ <value cell_index="14311" local_entity="0" value="0" />
+ <value cell_index="14312" local_entity="0" value="0" />
+ <value cell_index="14313" local_entity="0" value="0" />
+ <value cell_index="14314" local_entity="0" value="0" />
+ <value cell_index="14315" local_entity="0" value="0" />
+ <value cell_index="14316" local_entity="0" value="0" />
+ <value cell_index="14317" local_entity="0" value="0" />
+ <value cell_index="14318" local_entity="0" value="0" />
+ <value cell_index="14319" local_entity="0" value="0" />
+ <value cell_index="14320" local_entity="0" value="0" />
+ <value cell_index="14321" local_entity="0" value="0" />
+ <value cell_index="14322" local_entity="0" value="0" />
+ <value cell_index="14323" local_entity="0" value="0" />
+ <value cell_index="14324" local_entity="0" value="0" />
+ <value cell_index="14325" local_entity="0" value="0" />
+ <value cell_index="14326" local_entity="0" value="0" />
+ <value cell_index="14327" local_entity="0" value="0" />
+ <value cell_index="14328" local_entity="0" value="0" />
+ <value cell_index="14329" local_entity="0" value="0" />
+ <value cell_index="14330" local_entity="0" value="0" />
+ <value cell_index="14331" local_entity="0" value="0" />
+ <value cell_index="14332" local_entity="0" value="0" />
+ <value cell_index="14333" local_entity="0" value="0" />
+ <value cell_index="14334" local_entity="0" value="0" />
+ <value cell_index="14335" local_entity="0" value="0" />
+ <value cell_index="14336" local_entity="0" value="0" />
+ <value cell_index="14337" local_entity="0" value="0" />
+ <value cell_index="14338" local_entity="0" value="0" />
+ <value cell_index="14339" local_entity="0" value="0" />
+ <value cell_index="14340" local_entity="0" value="0" />
+ <value cell_index="14341" local_entity="0" value="0" />
+ <value cell_index="14342" local_entity="0" value="0" />
+ <value cell_index="14343" local_entity="0" value="0" />
+ <value cell_index="14344" local_entity="0" value="0" />
+ <value cell_index="14345" local_entity="0" value="0" />
+ <value cell_index="14346" local_entity="0" value="0" />
+ <value cell_index="14347" local_entity="0" value="0" />
+ <value cell_index="14348" local_entity="0" value="0" />
+ <value cell_index="14349" local_entity="0" value="0" />
+ <value cell_index="14350" local_entity="0" value="0" />
+ <value cell_index="14351" local_entity="0" value="0" />
+ <value cell_index="14352" local_entity="0" value="0" />
+ <value cell_index="14353" local_entity="0" value="0" />
+ <value cell_index="14354" local_entity="0" value="0" />
+ <value cell_index="14355" local_entity="0" value="0" />
+ <value cell_index="14356" local_entity="0" value="0" />
+ <value cell_index="14357" local_entity="0" value="0" />
+ <value cell_index="14358" local_entity="0" value="0" />
+ <value cell_index="14359" local_entity="0" value="0" />
+ <value cell_index="14360" local_entity="0" value="0" />
+ <value cell_index="14361" local_entity="0" value="0" />
+ <value cell_index="14362" local_entity="0" value="0" />
+ <value cell_index="14363" local_entity="0" value="0" />
+ <value cell_index="14364" local_entity="0" value="0" />
+ <value cell_index="14365" local_entity="0" value="0" />
+ <value cell_index="14366" local_entity="0" value="0" />
+ <value cell_index="14367" local_entity="0" value="0" />
+ <value cell_index="14368" local_entity="0" value="0" />
+ <value cell_index="14369" local_entity="0" value="0" />
+ <value cell_index="14370" local_entity="0" value="0" />
+ <value cell_index="14371" local_entity="0" value="0" />
+ <value cell_index="14372" local_entity="0" value="0" />
+ <value cell_index="14373" local_entity="0" value="0" />
+ <value cell_index="14374" local_entity="0" value="0" />
+ <value cell_index="14375" local_entity="0" value="0" />
+ <value cell_index="14376" local_entity="0" value="0" />
+ <value cell_index="14377" local_entity="0" value="0" />
+ <value cell_index="14378" local_entity="0" value="0" />
+ <value cell_index="14379" local_entity="0" value="0" />
+ <value cell_index="14380" local_entity="0" value="0" />
+ <value cell_index="14381" local_entity="0" value="0" />
+ <value cell_index="14382" local_entity="0" value="0" />
+ <value cell_index="14383" local_entity="0" value="0" />
+ <value cell_index="14384" local_entity="0" value="0" />
+ <value cell_index="14385" local_entity="0" value="0" />
+ <value cell_index="14386" local_entity="0" value="0" />
+ <value cell_index="14387" local_entity="0" value="0" />
+ <value cell_index="14388" local_entity="0" value="0" />
+ <value cell_index="14389" local_entity="0" value="0" />
+ <value cell_index="14390" local_entity="0" value="0" />
+ <value cell_index="14391" local_entity="0" value="0" />
+ <value cell_index="14392" local_entity="0" value="0" />
+ <value cell_index="14393" local_entity="0" value="0" />
+ <value cell_index="14394" local_entity="0" value="0" />
+ <value cell_index="14395" local_entity="0" value="0" />
+ <value cell_index="14396" local_entity="0" value="0" />
+ <value cell_index="14397" local_entity="0" value="0" />
+ <value cell_index="14398" local_entity="0" value="0" />
+ <value cell_index="14399" local_entity="0" value="0" />
+ <value cell_index="14400" local_entity="0" value="0" />
+ <value cell_index="14401" local_entity="0" value="0" />
+ <value cell_index="14402" local_entity="0" value="0" />
+ <value cell_index="14403" local_entity="0" value="0" />
+ <value cell_index="14404" local_entity="0" value="0" />
+ <value cell_index="14405" local_entity="0" value="0" />
+ <value cell_index="14406" local_entity="0" value="0" />
+ <value cell_index="14407" local_entity="0" value="0" />
+ <value cell_index="14408" local_entity="0" value="0" />
+ <value cell_index="14409" local_entity="0" value="0" />
+ <value cell_index="14410" local_entity="0" value="0" />
+ <value cell_index="14411" local_entity="0" value="0" />
+ <value cell_index="14412" local_entity="0" value="0" />
+ <value cell_index="14413" local_entity="0" value="0" />
+ <value cell_index="14414" local_entity="0" value="0" />
+ <value cell_index="14415" local_entity="0" value="0" />
+ <value cell_index="14416" local_entity="0" value="0" />
+ <value cell_index="14417" local_entity="0" value="0" />
+ <value cell_index="14418" local_entity="0" value="0" />
+ <value cell_index="14419" local_entity="0" value="0" />
+ <value cell_index="14420" local_entity="0" value="0" />
+ <value cell_index="14421" local_entity="0" value="0" />
+ <value cell_index="14422" local_entity="0" value="0" />
+ <value cell_index="14423" local_entity="0" value="0" />
+ <value cell_index="14424" local_entity="0" value="0" />
+ <value cell_index="14425" local_entity="0" value="0" />
+ <value cell_index="14426" local_entity="0" value="0" />
+ <value cell_index="14427" local_entity="0" value="0" />
+ <value cell_index="14428" local_entity="0" value="0" />
+ <value cell_index="14429" local_entity="0" value="0" />
+ <value cell_index="14430" local_entity="0" value="0" />
+ <value cell_index="14431" local_entity="0" value="0" />
+ <value cell_index="14432" local_entity="0" value="0" />
+ <value cell_index="14433" local_entity="0" value="0" />
+ <value cell_index="14434" local_entity="0" value="0" />
+ <value cell_index="14435" local_entity="0" value="0" />
+ <value cell_index="14436" local_entity="0" value="0" />
+ <value cell_index="14437" local_entity="0" value="0" />
+ <value cell_index="14438" local_entity="0" value="0" />
+ <value cell_index="14439" local_entity="0" value="0" />
+ <value cell_index="14440" local_entity="0" value="0" />
+ <value cell_index="14441" local_entity="0" value="0" />
+ <value cell_index="14442" local_entity="0" value="0" />
+ <value cell_index="14443" local_entity="0" value="0" />
+ <value cell_index="14444" local_entity="0" value="0" />
+ <value cell_index="14445" local_entity="0" value="0" />
+ <value cell_index="14446" local_entity="0" value="0" />
+ <value cell_index="14447" local_entity="0" value="0" />
+ <value cell_index="14448" local_entity="0" value="0" />
+ <value cell_index="14449" local_entity="0" value="0" />
+ <value cell_index="14450" local_entity="0" value="0" />
+ <value cell_index="14451" local_entity="0" value="0" />
+ <value cell_index="14452" local_entity="0" value="0" />
+ <value cell_index="14453" local_entity="0" value="0" />
+ <value cell_index="14454" local_entity="0" value="0" />
+ <value cell_index="14455" local_entity="0" value="0" />
+ <value cell_index="14456" local_entity="0" value="0" />
+ <value cell_index="14457" local_entity="0" value="0" />
+ <value cell_index="14458" local_entity="0" value="0" />
+ <value cell_index="14459" local_entity="0" value="0" />
+ <value cell_index="14460" local_entity="0" value="0" />
+ <value cell_index="14461" local_entity="0" value="0" />
+ <value cell_index="14462" local_entity="0" value="0" />
+ <value cell_index="14463" local_entity="0" value="0" />
+ <value cell_index="14464" local_entity="0" value="0" />
+ <value cell_index="14465" local_entity="0" value="0" />
+ <value cell_index="14466" local_entity="0" value="0" />
+ <value cell_index="14467" local_entity="0" value="0" />
+ <value cell_index="14468" local_entity="0" value="0" />
+ <value cell_index="14469" local_entity="0" value="0" />
+ <value cell_index="14470" local_entity="0" value="0" />
+ <value cell_index="14471" local_entity="0" value="0" />
+ <value cell_index="14472" local_entity="0" value="0" />
+ <value cell_index="14473" local_entity="0" value="0" />
+ <value cell_index="14474" local_entity="0" value="0" />
+ <value cell_index="14475" local_entity="0" value="0" />
+ <value cell_index="14476" local_entity="0" value="0" />
+ <value cell_index="14477" local_entity="0" value="0" />
+ <value cell_index="14478" local_entity="0" value="0" />
+ <value cell_index="14479" local_entity="0" value="0" />
+ <value cell_index="14480" local_entity="0" value="0" />
+ <value cell_index="14481" local_entity="0" value="0" />
+ <value cell_index="14482" local_entity="0" value="0" />
+ <value cell_index="14483" local_entity="0" value="0" />
+ <value cell_index="14484" local_entity="0" value="0" />
+ <value cell_index="14485" local_entity="0" value="0" />
+ <value cell_index="14486" local_entity="0" value="0" />
+ <value cell_index="14487" local_entity="0" value="0" />
+ <value cell_index="14488" local_entity="0" value="0" />
+ <value cell_index="14489" local_entity="0" value="0" />
+ <value cell_index="14490" local_entity="0" value="0" />
+ <value cell_index="14491" local_entity="0" value="0" />
+ <value cell_index="14492" local_entity="0" value="0" />
+ <value cell_index="14493" local_entity="0" value="0" />
+ <value cell_index="14494" local_entity="0" value="0" />
+ <value cell_index="14495" local_entity="0" value="0" />
+ <value cell_index="14496" local_entity="0" value="0" />
+ <value cell_index="14497" local_entity="0" value="0" />
+ <value cell_index="14498" local_entity="0" value="0" />
+ <value cell_index="14499" local_entity="0" value="0" />
+ <value cell_index="14500" local_entity="0" value="0" />
+ <value cell_index="14501" local_entity="0" value="0" />
+ <value cell_index="14502" local_entity="0" value="0" />
+ <value cell_index="14503" local_entity="0" value="0" />
+ <value cell_index="14504" local_entity="0" value="0" />
+ <value cell_index="14505" local_entity="0" value="0" />
+ <value cell_index="14506" local_entity="0" value="0" />
+ <value cell_index="14507" local_entity="0" value="0" />
+ <value cell_index="14508" local_entity="0" value="0" />
+ <value cell_index="14509" local_entity="0" value="0" />
+ <value cell_index="14510" local_entity="0" value="0" />
+ <value cell_index="14511" local_entity="0" value="0" />
+ <value cell_index="14512" local_entity="0" value="0" />
+ <value cell_index="14513" local_entity="0" value="0" />
+ <value cell_index="14514" local_entity="0" value="0" />
+ <value cell_index="14515" local_entity="0" value="0" />
+ <value cell_index="14516" local_entity="0" value="0" />
+ <value cell_index="14517" local_entity="0" value="0" />
+ <value cell_index="14518" local_entity="0" value="0" />
+ <value cell_index="14519" local_entity="0" value="0" />
+ <value cell_index="14520" local_entity="0" value="0" />
+ <value cell_index="14521" local_entity="0" value="0" />
+ <value cell_index="14522" local_entity="0" value="0" />
+ <value cell_index="14523" local_entity="0" value="0" />
+ <value cell_index="14524" local_entity="0" value="0" />
+ <value cell_index="14525" local_entity="0" value="0" />
+ <value cell_index="14526" local_entity="0" value="0" />
+ <value cell_index="14527" local_entity="0" value="0" />
+ <value cell_index="14528" local_entity="0" value="0" />
+ <value cell_index="14529" local_entity="0" value="0" />
+ <value cell_index="14530" local_entity="0" value="0" />
+ <value cell_index="14531" local_entity="0" value="0" />
+ <value cell_index="14532" local_entity="0" value="0" />
+ <value cell_index="14533" local_entity="0" value="0" />
+ <value cell_index="14534" local_entity="0" value="0" />
+ <value cell_index="14535" local_entity="0" value="0" />
+ <value cell_index="14536" local_entity="0" value="0" />
+ <value cell_index="14537" local_entity="0" value="0" />
+ <value cell_index="14538" local_entity="0" value="0" />
+ <value cell_index="14539" local_entity="0" value="0" />
+ <value cell_index="14540" local_entity="0" value="0" />
+ <value cell_index="14541" local_entity="0" value="0" />
+ <value cell_index="14542" local_entity="0" value="0" />
+ <value cell_index="14543" local_entity="0" value="0" />
+ <value cell_index="14544" local_entity="0" value="0" />
+ <value cell_index="14545" local_entity="0" value="0" />
+ <value cell_index="14546" local_entity="0" value="0" />
+ <value cell_index="14547" local_entity="0" value="0" />
+ <value cell_index="14548" local_entity="0" value="0" />
+ <value cell_index="14549" local_entity="0" value="0" />
+ <value cell_index="14550" local_entity="0" value="0" />
+ <value cell_index="14551" local_entity="0" value="0" />
+ <value cell_index="14552" local_entity="0" value="0" />
+ <value cell_index="14553" local_entity="0" value="0" />
+ <value cell_index="14554" local_entity="0" value="0" />
+ <value cell_index="14555" local_entity="0" value="0" />
+ <value cell_index="14556" local_entity="0" value="0" />
+ <value cell_index="14557" local_entity="0" value="0" />
+ <value cell_index="14558" local_entity="0" value="0" />
+ <value cell_index="14559" local_entity="0" value="0" />
+ <value cell_index="14560" local_entity="0" value="0" />
+ <value cell_index="14561" local_entity="0" value="0" />
+ <value cell_index="14562" local_entity="0" value="0" />
+ <value cell_index="14563" local_entity="0" value="0" />
+ <value cell_index="14564" local_entity="0" value="0" />
+ <value cell_index="14565" local_entity="0" value="0" />
+ <value cell_index="14566" local_entity="0" value="0" />
+ <value cell_index="14567" local_entity="0" value="0" />
+ <value cell_index="14568" local_entity="0" value="0" />
+ <value cell_index="14569" local_entity="0" value="0" />
+ <value cell_index="14570" local_entity="0" value="0" />
+ <value cell_index="14571" local_entity="0" value="0" />
+ <value cell_index="14572" local_entity="0" value="0" />
+ <value cell_index="14573" local_entity="0" value="0" />
+ <value cell_index="14574" local_entity="0" value="0" />
+ <value cell_index="14575" local_entity="0" value="0" />
+ <value cell_index="14576" local_entity="0" value="0" />
+ <value cell_index="14577" local_entity="0" value="0" />
+ <value cell_index="14578" local_entity="0" value="0" />
+ <value cell_index="14579" local_entity="0" value="0" />
+ <value cell_index="14580" local_entity="0" value="0" />
+ <value cell_index="14581" local_entity="0" value="0" />
+ <value cell_index="14582" local_entity="0" value="0" />
+ <value cell_index="14583" local_entity="0" value="0" />
+ <value cell_index="14584" local_entity="0" value="0" />
+ <value cell_index="14585" local_entity="0" value="0" />
+ <value cell_index="14586" local_entity="0" value="0" />
+ <value cell_index="14587" local_entity="0" value="0" />
+ <value cell_index="14588" local_entity="0" value="0" />
+ <value cell_index="14589" local_entity="0" value="0" />
+ <value cell_index="14590" local_entity="0" value="0" />
+ <value cell_index="14591" local_entity="0" value="0" />
+ <value cell_index="14592" local_entity="0" value="0" />
+ <value cell_index="14593" local_entity="0" value="0" />
+ <value cell_index="14594" local_entity="0" value="0" />
+ <value cell_index="14595" local_entity="0" value="0" />
+ <value cell_index="14596" local_entity="0" value="0" />
+ <value cell_index="14597" local_entity="0" value="0" />
+ <value cell_index="14598" local_entity="0" value="0" />
+ <value cell_index="14599" local_entity="0" value="0" />
+ <value cell_index="14600" local_entity="0" value="0" />
+ <value cell_index="14601" local_entity="0" value="0" />
+ <value cell_index="14602" local_entity="0" value="0" />
+ <value cell_index="14603" local_entity="0" value="0" />
+ <value cell_index="14604" local_entity="0" value="0" />
+ <value cell_index="14605" local_entity="0" value="0" />
+ <value cell_index="14606" local_entity="0" value="0" />
+ <value cell_index="14607" local_entity="0" value="0" />
+ <value cell_index="14608" local_entity="0" value="0" />
+ <value cell_index="14609" local_entity="0" value="0" />
+ <value cell_index="14610" local_entity="0" value="0" />
+ <value cell_index="14611" local_entity="0" value="0" />
+ <value cell_index="14612" local_entity="0" value="0" />
+ <value cell_index="14613" local_entity="0" value="0" />
+ <value cell_index="14614" local_entity="0" value="0" />
+ <value cell_index="14615" local_entity="0" value="0" />
+ <value cell_index="14616" local_entity="0" value="0" />
+ <value cell_index="14617" local_entity="0" value="0" />
+ <value cell_index="14618" local_entity="0" value="0" />
+ <value cell_index="14619" local_entity="0" value="0" />
+ <value cell_index="14620" local_entity="0" value="0" />
+ <value cell_index="14621" local_entity="0" value="0" />
+ <value cell_index="14622" local_entity="0" value="0" />
+ <value cell_index="14623" local_entity="0" value="0" />
+ <value cell_index="14624" local_entity="0" value="0" />
+ <value cell_index="14625" local_entity="0" value="0" />
+ <value cell_index="14626" local_entity="0" value="0" />
+ <value cell_index="14627" local_entity="0" value="0" />
+ <value cell_index="14628" local_entity="0" value="0" />
+ <value cell_index="14629" local_entity="0" value="0" />
+ <value cell_index="14630" local_entity="0" value="0" />
+ <value cell_index="14631" local_entity="0" value="0" />
+ <value cell_index="14632" local_entity="0" value="0" />
+ <value cell_index="14633" local_entity="0" value="0" />
+ <value cell_index="14634" local_entity="0" value="0" />
+ <value cell_index="14635" local_entity="0" value="0" />
+ <value cell_index="14636" local_entity="0" value="0" />
+ <value cell_index="14637" local_entity="0" value="0" />
+ <value cell_index="14638" local_entity="0" value="0" />
+ <value cell_index="14639" local_entity="0" value="0" />
+ <value cell_index="14640" local_entity="0" value="0" />
+ <value cell_index="14641" local_entity="0" value="0" />
+ <value cell_index="14642" local_entity="0" value="0" />
+ <value cell_index="14643" local_entity="0" value="0" />
+ <value cell_index="14644" local_entity="0" value="0" />
+ <value cell_index="14645" local_entity="0" value="0" />
+ <value cell_index="14646" local_entity="0" value="0" />
+ <value cell_index="14647" local_entity="0" value="0" />
+ <value cell_index="14648" local_entity="0" value="0" />
+ <value cell_index="14649" local_entity="0" value="0" />
+ <value cell_index="14650" local_entity="0" value="0" />
+ <value cell_index="14651" local_entity="0" value="0" />
+ <value cell_index="14652" local_entity="0" value="0" />
+ <value cell_index="14653" local_entity="0" value="0" />
+ <value cell_index="14654" local_entity="0" value="0" />
+ <value cell_index="14655" local_entity="0" value="0" />
+ <value cell_index="14656" local_entity="0" value="0" />
+ <value cell_index="14657" local_entity="0" value="0" />
+ <value cell_index="14658" local_entity="0" value="0" />
+ <value cell_index="14659" local_entity="0" value="0" />
+ <value cell_index="14660" local_entity="0" value="0" />
+ <value cell_index="14661" local_entity="0" value="0" />
+ <value cell_index="14662" local_entity="0" value="0" />
+ <value cell_index="14663" local_entity="0" value="0" />
+ <value cell_index="14664" local_entity="0" value="0" />
+ <value cell_index="14665" local_entity="0" value="0" />
+ <value cell_index="14666" local_entity="0" value="0" />
+ <value cell_index="14667" local_entity="0" value="0" />
+ <value cell_index="14668" local_entity="0" value="0" />
+ <value cell_index="14669" local_entity="0" value="0" />
+ <value cell_index="14670" local_entity="0" value="0" />
+ <value cell_index="14671" local_entity="0" value="0" />
+ <value cell_index="14672" local_entity="0" value="0" />
+ <value cell_index="14673" local_entity="0" value="0" />
+ <value cell_index="14674" local_entity="0" value="0" />
+ <value cell_index="14675" local_entity="0" value="0" />
+ <value cell_index="14676" local_entity="0" value="0" />
+ <value cell_index="14677" local_entity="0" value="0" />
+ <value cell_index="14678" local_entity="0" value="0" />
+ <value cell_index="14679" local_entity="0" value="0" />
+ <value cell_index="14680" local_entity="0" value="0" />
+ <value cell_index="14681" local_entity="0" value="0" />
+ <value cell_index="14682" local_entity="0" value="0" />
+ <value cell_index="14683" local_entity="0" value="0" />
+ <value cell_index="14684" local_entity="0" value="0" />
+ <value cell_index="14685" local_entity="0" value="0" />
+ <value cell_index="14686" local_entity="0" value="0" />
+ <value cell_index="14687" local_entity="0" value="0" />
+ <value cell_index="14688" local_entity="0" value="0" />
+ <value cell_index="14689" local_entity="0" value="0" />
+ <value cell_index="14690" local_entity="0" value="0" />
+ <value cell_index="14691" local_entity="0" value="0" />
+ <value cell_index="14692" local_entity="0" value="0" />
+ <value cell_index="14693" local_entity="0" value="0" />
+ <value cell_index="14694" local_entity="0" value="0" />
+ <value cell_index="14695" local_entity="0" value="0" />
+ <value cell_index="14696" local_entity="0" value="0" />
+ <value cell_index="14697" local_entity="0" value="0" />
+ <value cell_index="14698" local_entity="0" value="0" />
+ <value cell_index="14699" local_entity="0" value="0" />
+ <value cell_index="14700" local_entity="0" value="0" />
+ <value cell_index="14701" local_entity="0" value="0" />
+ <value cell_index="14702" local_entity="0" value="0" />
+ <value cell_index="14703" local_entity="0" value="0" />
+ <value cell_index="14704" local_entity="0" value="0" />
+ <value cell_index="14705" local_entity="0" value="0" />
+ <value cell_index="14706" local_entity="0" value="0" />
+ <value cell_index="14707" local_entity="0" value="0" />
+ <value cell_index="14708" local_entity="0" value="0" />
+ <value cell_index="14709" local_entity="0" value="0" />
+ <value cell_index="14710" local_entity="0" value="0" />
+ <value cell_index="14711" local_entity="0" value="0" />
+ <value cell_index="14712" local_entity="0" value="0" />
+ <value cell_index="14713" local_entity="0" value="0" />
+ <value cell_index="14714" local_entity="0" value="0" />
+ <value cell_index="14715" local_entity="0" value="0" />
+ <value cell_index="14716" local_entity="0" value="0" />
+ <value cell_index="14717" local_entity="0" value="0" />
+ <value cell_index="14718" local_entity="0" value="0" />
+ <value cell_index="14719" local_entity="0" value="0" />
+ <value cell_index="14720" local_entity="0" value="0" />
+ <value cell_index="14721" local_entity="0" value="0" />
+ <value cell_index="14722" local_entity="0" value="0" />
+ <value cell_index="14723" local_entity="0" value="0" />
+ <value cell_index="14724" local_entity="0" value="0" />
+ <value cell_index="14725" local_entity="0" value="0" />
+ <value cell_index="14726" local_entity="0" value="0" />
+ <value cell_index="14727" local_entity="0" value="0" />
+ <value cell_index="14728" local_entity="0" value="0" />
+ <value cell_index="14729" local_entity="0" value="0" />
+ <value cell_index="14730" local_entity="0" value="0" />
+ <value cell_index="14731" local_entity="0" value="0" />
+ <value cell_index="14732" local_entity="0" value="0" />
+ <value cell_index="14733" local_entity="0" value="0" />
+ <value cell_index="14734" local_entity="0" value="0" />
+ <value cell_index="14735" local_entity="0" value="0" />
+ <value cell_index="14736" local_entity="0" value="0" />
+ <value cell_index="14737" local_entity="0" value="0" />
+ <value cell_index="14738" local_entity="0" value="0" />
+ <value cell_index="14739" local_entity="0" value="0" />
+ <value cell_index="14740" local_entity="0" value="0" />
+ <value cell_index="14741" local_entity="0" value="0" />
+ <value cell_index="14742" local_entity="0" value="0" />
+ <value cell_index="14743" local_entity="0" value="0" />
+ <value cell_index="14744" local_entity="0" value="0" />
+ <value cell_index="14745" local_entity="0" value="0" />
+ <value cell_index="14746" local_entity="0" value="0" />
+ <value cell_index="14747" local_entity="0" value="0" />
+ <value cell_index="14748" local_entity="0" value="0" />
+ <value cell_index="14749" local_entity="0" value="0" />
+ <value cell_index="14750" local_entity="0" value="0" />
+ <value cell_index="14751" local_entity="0" value="0" />
+ <value cell_index="14752" local_entity="0" value="0" />
+ <value cell_index="14753" local_entity="0" value="0" />
+ <value cell_index="14754" local_entity="0" value="0" />
+ <value cell_index="14755" local_entity="0" value="0" />
+ <value cell_index="14756" local_entity="0" value="0" />
+ <value cell_index="14757" local_entity="0" value="0" />
+ <value cell_index="14758" local_entity="0" value="0" />
+ <value cell_index="14759" local_entity="0" value="0" />
+ <value cell_index="14760" local_entity="0" value="0" />
+ <value cell_index="14761" local_entity="0" value="0" />
+ <value cell_index="14762" local_entity="0" value="0" />
+ <value cell_index="14763" local_entity="0" value="0" />
+ <value cell_index="14764" local_entity="0" value="0" />
+ <value cell_index="14765" local_entity="0" value="0" />
+ <value cell_index="14766" local_entity="0" value="0" />
+ <value cell_index="14767" local_entity="0" value="0" />
+ <value cell_index="14768" local_entity="0" value="0" />
+ <value cell_index="14769" local_entity="0" value="0" />
+ <value cell_index="14770" local_entity="0" value="0" />
+ <value cell_index="14771" local_entity="0" value="0" />
+ <value cell_index="14772" local_entity="0" value="0" />
+ <value cell_index="14773" local_entity="0" value="0" />
+ <value cell_index="14774" local_entity="0" value="0" />
+ <value cell_index="14775" local_entity="0" value="0" />
+ <value cell_index="14776" local_entity="0" value="0" />
+ <value cell_index="14777" local_entity="0" value="0" />
+ <value cell_index="14778" local_entity="0" value="0" />
+ <value cell_index="14779" local_entity="0" value="0" />
+ <value cell_index="14780" local_entity="0" value="0" />
+ <value cell_index="14781" local_entity="0" value="0" />
+ <value cell_index="14782" local_entity="0" value="0" />
+ <value cell_index="14783" local_entity="0" value="0" />
+ <value cell_index="14784" local_entity="0" value="0" />
+ <value cell_index="14785" local_entity="0" value="0" />
+ <value cell_index="14786" local_entity="0" value="0" />
+ <value cell_index="14787" local_entity="0" value="0" />
+ <value cell_index="14788" local_entity="0" value="0" />
+ <value cell_index="14789" local_entity="0" value="0" />
+ <value cell_index="14790" local_entity="0" value="0" />
+ <value cell_index="14791" local_entity="0" value="0" />
+ <value cell_index="14792" local_entity="0" value="0" />
+ <value cell_index="14793" local_entity="0" value="0" />
+ <value cell_index="14794" local_entity="0" value="0" />
+ <value cell_index="14795" local_entity="0" value="0" />
+ <value cell_index="14796" local_entity="0" value="0" />
+ <value cell_index="14797" local_entity="0" value="0" />
+ <value cell_index="14798" local_entity="0" value="0" />
+ <value cell_index="14799" local_entity="0" value="0" />
+ <value cell_index="14800" local_entity="0" value="0" />
+ <value cell_index="14801" local_entity="0" value="0" />
+ <value cell_index="14802" local_entity="0" value="0" />
+ <value cell_index="14803" local_entity="0" value="0" />
+ <value cell_index="14804" local_entity="0" value="0" />
+ <value cell_index="14805" local_entity="0" value="0" />
+ <value cell_index="14806" local_entity="0" value="0" />
+ <value cell_index="14807" local_entity="0" value="0" />
+ <value cell_index="14808" local_entity="0" value="0" />
+ <value cell_index="14809" local_entity="0" value="0" />
+ <value cell_index="14810" local_entity="0" value="0" />
+ <value cell_index="14811" local_entity="0" value="0" />
+ <value cell_index="14812" local_entity="0" value="0" />
+ <value cell_index="14813" local_entity="0" value="0" />
+ <value cell_index="14814" local_entity="0" value="0" />
+ <value cell_index="14815" local_entity="0" value="0" />
+ <value cell_index="14816" local_entity="0" value="0" />
+ <value cell_index="14817" local_entity="0" value="0" />
+ <value cell_index="14818" local_entity="0" value="0" />
+ <value cell_index="14819" local_entity="0" value="0" />
+ <value cell_index="14820" local_entity="0" value="0" />
+ <value cell_index="14821" local_entity="0" value="0" />
+ <value cell_index="14822" local_entity="0" value="0" />
+ <value cell_index="14823" local_entity="0" value="0" />
+ <value cell_index="14824" local_entity="0" value="0" />
+ <value cell_index="14825" local_entity="0" value="0" />
+ <value cell_index="14826" local_entity="0" value="0" />
+ <value cell_index="14827" local_entity="0" value="0" />
+ <value cell_index="14828" local_entity="0" value="0" />
+ <value cell_index="14829" local_entity="0" value="0" />
+ <value cell_index="14830" local_entity="0" value="0" />
+ <value cell_index="14831" local_entity="0" value="0" />
+ <value cell_index="14832" local_entity="0" value="0" />
+ <value cell_index="14833" local_entity="0" value="0" />
+ <value cell_index="14834" local_entity="0" value="0" />
+ <value cell_index="14835" local_entity="0" value="0" />
+ <value cell_index="14836" local_entity="0" value="0" />
+ <value cell_index="14837" local_entity="0" value="0" />
+ <value cell_index="14838" local_entity="0" value="0" />
+ <value cell_index="14839" local_entity="0" value="0" />
+ <value cell_index="14840" local_entity="0" value="0" />
+ <value cell_index="14841" local_entity="0" value="0" />
+ <value cell_index="14842" local_entity="0" value="0" />
+ <value cell_index="14843" local_entity="0" value="0" />
+ <value cell_index="14844" local_entity="0" value="0" />
+ <value cell_index="14845" local_entity="0" value="0" />
+ <value cell_index="14846" local_entity="0" value="0" />
+ <value cell_index="14847" local_entity="0" value="0" />
+ <value cell_index="14848" local_entity="0" value="0" />
+ <value cell_index="14849" local_entity="0" value="0" />
+ <value cell_index="14850" local_entity="0" value="0" />
+ <value cell_index="14851" local_entity="0" value="0" />
+ <value cell_index="14852" local_entity="0" value="0" />
+ <value cell_index="14853" local_entity="0" value="0" />
+ <value cell_index="14854" local_entity="0" value="0" />
+ <value cell_index="14855" local_entity="0" value="0" />
+ <value cell_index="14856" local_entity="0" value="0" />
+ <value cell_index="14857" local_entity="0" value="0" />
+ <value cell_index="14858" local_entity="0" value="0" />
+ <value cell_index="14859" local_entity="0" value="0" />
+ <value cell_index="14860" local_entity="0" value="0" />
+ <value cell_index="14861" local_entity="0" value="0" />
+ <value cell_index="14862" local_entity="0" value="0" />
+ <value cell_index="14863" local_entity="0" value="0" />
+ <value cell_index="14864" local_entity="0" value="0" />
+ <value cell_index="14865" local_entity="0" value="0" />
+ <value cell_index="14866" local_entity="0" value="0" />
+ <value cell_index="14867" local_entity="0" value="0" />
+ <value cell_index="14868" local_entity="0" value="0" />
+ <value cell_index="14869" local_entity="0" value="0" />
+ <value cell_index="14870" local_entity="0" value="0" />
+ <value cell_index="14871" local_entity="0" value="0" />
+ <value cell_index="14872" local_entity="0" value="0" />
+ <value cell_index="14873" local_entity="0" value="0" />
+ <value cell_index="14874" local_entity="0" value="0" />
+ <value cell_index="14875" local_entity="0" value="0" />
+ <value cell_index="14876" local_entity="0" value="0" />
+ <value cell_index="14877" local_entity="0" value="0" />
+ <value cell_index="14878" local_entity="0" value="0" />
+ <value cell_index="14879" local_entity="0" value="0" />
+ <value cell_index="14880" local_entity="0" value="0" />
+ <value cell_index="14881" local_entity="0" value="0" />
+ <value cell_index="14882" local_entity="0" value="0" />
+ <value cell_index="14883" local_entity="0" value="0" />
+ <value cell_index="14884" local_entity="0" value="0" />
+ <value cell_index="14885" local_entity="0" value="0" />
+ <value cell_index="14886" local_entity="0" value="0" />
+ <value cell_index="14887" local_entity="0" value="0" />
+ <value cell_index="14888" local_entity="0" value="0" />
+ <value cell_index="14889" local_entity="0" value="0" />
+ <value cell_index="14890" local_entity="0" value="0" />
+ <value cell_index="14891" local_entity="0" value="0" />
+ <value cell_index="14892" local_entity="0" value="0" />
+ <value cell_index="14893" local_entity="0" value="0" />
+ <value cell_index="14894" local_entity="0" value="0" />
+ <value cell_index="14895" local_entity="0" value="0" />
+ <value cell_index="14896" local_entity="0" value="0" />
+ <value cell_index="14897" local_entity="0" value="0" />
+ <value cell_index="14898" local_entity="0" value="0" />
+ <value cell_index="14899" local_entity="0" value="0" />
+ <value cell_index="14900" local_entity="0" value="0" />
+ <value cell_index="14901" local_entity="0" value="0" />
+ <value cell_index="14902" local_entity="0" value="0" />
+ <value cell_index="14903" local_entity="0" value="0" />
+ <value cell_index="14904" local_entity="0" value="0" />
+ <value cell_index="14905" local_entity="0" value="0" />
+ <value cell_index="14906" local_entity="0" value="0" />
+ <value cell_index="14907" local_entity="0" value="0" />
+ <value cell_index="14908" local_entity="0" value="0" />
+ <value cell_index="14909" local_entity="0" value="0" />
+ <value cell_index="14910" local_entity="0" value="0" />
+ <value cell_index="14911" local_entity="0" value="0" />
+ <value cell_index="14912" local_entity="0" value="0" />
+ <value cell_index="14913" local_entity="0" value="0" />
+ <value cell_index="14914" local_entity="0" value="0" />
+ <value cell_index="14915" local_entity="0" value="0" />
+ <value cell_index="14916" local_entity="0" value="0" />
+ <value cell_index="14917" local_entity="0" value="0" />
+ <value cell_index="14918" local_entity="0" value="0" />
+ <value cell_index="14919" local_entity="0" value="0" />
+ <value cell_index="14920" local_entity="0" value="0" />
+ <value cell_index="14921" local_entity="0" value="0" />
+ <value cell_index="14922" local_entity="0" value="0" />
+ <value cell_index="14923" local_entity="0" value="0" />
+ <value cell_index="14924" local_entity="0" value="0" />
+ <value cell_index="14925" local_entity="0" value="0" />
+ <value cell_index="14926" local_entity="0" value="0" />
+ <value cell_index="14927" local_entity="0" value="0" />
+ <value cell_index="14928" local_entity="0" value="0" />
+ <value cell_index="14929" local_entity="0" value="0" />
+ <value cell_index="14930" local_entity="0" value="0" />
+ <value cell_index="14931" local_entity="0" value="0" />
+ <value cell_index="14932" local_entity="0" value="0" />
+ <value cell_index="14933" local_entity="0" value="0" />
+ <value cell_index="14934" local_entity="0" value="0" />
+ <value cell_index="14935" local_entity="0" value="0" />
+ <value cell_index="14936" local_entity="0" value="0" />
+ <value cell_index="14937" local_entity="0" value="0" />
+ <value cell_index="14938" local_entity="0" value="0" />
+ <value cell_index="14939" local_entity="0" value="0" />
+ <value cell_index="14940" local_entity="0" value="0" />
+ <value cell_index="14941" local_entity="0" value="0" />
+ <value cell_index="14942" local_entity="0" value="0" />
+ <value cell_index="14943" local_entity="0" value="0" />
+ <value cell_index="14944" local_entity="0" value="0" />
+ <value cell_index="14945" local_entity="0" value="0" />
+ <value cell_index="14946" local_entity="0" value="0" />
+ <value cell_index="14947" local_entity="0" value="0" />
+ <value cell_index="14948" local_entity="0" value="0" />
+ <value cell_index="14949" local_entity="0" value="0" />
+ <value cell_index="14950" local_entity="0" value="0" />
+ <value cell_index="14951" local_entity="0" value="0" />
+ <value cell_index="14952" local_entity="0" value="0" />
+ <value cell_index="14953" local_entity="0" value="0" />
+ <value cell_index="14954" local_entity="0" value="0" />
+ <value cell_index="14955" local_entity="0" value="0" />
+ <value cell_index="14956" local_entity="0" value="0" />
+ <value cell_index="14957" local_entity="0" value="0" />
+ <value cell_index="14958" local_entity="0" value="0" />
+ <value cell_index="14959" local_entity="0" value="0" />
+ <value cell_index="14960" local_entity="0" value="0" />
+ <value cell_index="14961" local_entity="0" value="0" />
+ <value cell_index="14962" local_entity="0" value="0" />
+ <value cell_index="14963" local_entity="0" value="0" />
+ <value cell_index="14964" local_entity="0" value="0" />
+ <value cell_index="14965" local_entity="0" value="0" />
+ <value cell_index="14966" local_entity="0" value="0" />
+ <value cell_index="14967" local_entity="0" value="0" />
+ <value cell_index="14968" local_entity="0" value="0" />
+ <value cell_index="14969" local_entity="0" value="0" />
+ <value cell_index="14970" local_entity="0" value="0" />
+ <value cell_index="14971" local_entity="0" value="0" />
+ <value cell_index="14972" local_entity="0" value="0" />
+ <value cell_index="14973" local_entity="0" value="0" />
+ <value cell_index="14974" local_entity="0" value="0" />
+ <value cell_index="14975" local_entity="0" value="0" />
+ <value cell_index="14976" local_entity="0" value="0" />
+ <value cell_index="14977" local_entity="0" value="0" />
+ <value cell_index="14978" local_entity="0" value="0" />
+ <value cell_index="14979" local_entity="0" value="0" />
+ <value cell_index="14980" local_entity="0" value="0" />
+ <value cell_index="14981" local_entity="0" value="0" />
+ <value cell_index="14982" local_entity="0" value="0" />
+ <value cell_index="14983" local_entity="0" value="0" />
+ <value cell_index="14984" local_entity="0" value="0" />
+ <value cell_index="14985" local_entity="0" value="0" />
+ <value cell_index="14986" local_entity="0" value="0" />
+ <value cell_index="14987" local_entity="0" value="0" />
+ <value cell_index="14988" local_entity="0" value="0" />
+ <value cell_index="14989" local_entity="0" value="0" />
+ <value cell_index="14990" local_entity="0" value="0" />
+ <value cell_index="14991" local_entity="0" value="0" />
+ <value cell_index="14992" local_entity="0" value="0" />
+ <value cell_index="14993" local_entity="0" value="0" />
+ <value cell_index="14994" local_entity="0" value="0" />
+ <value cell_index="14995" local_entity="0" value="0" />
+ <value cell_index="14996" local_entity="0" value="0" />
+ <value cell_index="14997" local_entity="0" value="0" />
+ <value cell_index="14998" local_entity="0" value="0" />
+ <value cell_index="14999" local_entity="0" value="0" />
+ <value cell_index="15000" local_entity="0" value="0" />
+ <value cell_index="15001" local_entity="0" value="0" />
+ <value cell_index="15002" local_entity="0" value="0" />
+ <value cell_index="15003" local_entity="0" value="0" />
+ <value cell_index="15004" local_entity="0" value="0" />
+ <value cell_index="15005" local_entity="0" value="0" />
+ <value cell_index="15006" local_entity="0" value="0" />
+ <value cell_index="15007" local_entity="0" value="0" />
+ <value cell_index="15008" local_entity="0" value="0" />
+ <value cell_index="15009" local_entity="0" value="0" />
+ <value cell_index="15010" local_entity="0" value="0" />
+ <value cell_index="15011" local_entity="0" value="0" />
+ <value cell_index="15012" local_entity="0" value="0" />
+ <value cell_index="15013" local_entity="0" value="0" />
+ <value cell_index="15014" local_entity="0" value="0" />
+ <value cell_index="15015" local_entity="0" value="0" />
+ <value cell_index="15016" local_entity="0" value="0" />
+ <value cell_index="15017" local_entity="0" value="0" />
+ <value cell_index="15018" local_entity="0" value="0" />
+ <value cell_index="15019" local_entity="0" value="0" />
+ <value cell_index="15020" local_entity="0" value="0" />
+ <value cell_index="15021" local_entity="0" value="0" />
+ <value cell_index="15022" local_entity="0" value="0" />
+ <value cell_index="15023" local_entity="0" value="0" />
+ <value cell_index="15024" local_entity="0" value="0" />
+ <value cell_index="15025" local_entity="0" value="0" />
+ <value cell_index="15026" local_entity="0" value="0" />
+ <value cell_index="15027" local_entity="0" value="0" />
+ <value cell_index="15028" local_entity="0" value="0" />
+ <value cell_index="15029" local_entity="0" value="0" />
+ <value cell_index="15030" local_entity="0" value="0" />
+ <value cell_index="15031" local_entity="0" value="0" />
+ <value cell_index="15032" local_entity="0" value="0" />
+ <value cell_index="15033" local_entity="0" value="0" />
+ <value cell_index="15034" local_entity="0" value="0" />
+ <value cell_index="15035" local_entity="0" value="0" />
+ <value cell_index="15036" local_entity="0" value="0" />
+ <value cell_index="15037" local_entity="0" value="0" />
+ <value cell_index="15038" local_entity="0" value="0" />
+ <value cell_index="15039" local_entity="0" value="0" />
+ <value cell_index="15040" local_entity="0" value="0" />
+ <value cell_index="15041" local_entity="0" value="0" />
+ <value cell_index="15042" local_entity="0" value="0" />
+ <value cell_index="15043" local_entity="0" value="0" />
+ <value cell_index="15044" local_entity="0" value="0" />
+ <value cell_index="15045" local_entity="0" value="0" />
+ <value cell_index="15046" local_entity="0" value="0" />
+ <value cell_index="15047" local_entity="0" value="0" />
+ <value cell_index="15048" local_entity="0" value="0" />
+ <value cell_index="15049" local_entity="0" value="0" />
+ <value cell_index="15050" local_entity="0" value="0" />
+ <value cell_index="15051" local_entity="0" value="0" />
+ <value cell_index="15052" local_entity="0" value="0" />
+ <value cell_index="15053" local_entity="0" value="0" />
+ <value cell_index="15054" local_entity="0" value="0" />
+ <value cell_index="15055" local_entity="0" value="0" />
+ <value cell_index="15056" local_entity="0" value="0" />
+ <value cell_index="15057" local_entity="0" value="0" />
+ <value cell_index="15058" local_entity="0" value="0" />
+ <value cell_index="15059" local_entity="0" value="0" />
+ <value cell_index="15060" local_entity="0" value="0" />
+ <value cell_index="15061" local_entity="0" value="0" />
+ <value cell_index="15062" local_entity="0" value="0" />
+ <value cell_index="15063" local_entity="0" value="0" />
+ <value cell_index="15064" local_entity="0" value="0" />
+ <value cell_index="15065" local_entity="0" value="0" />
+ <value cell_index="15066" local_entity="0" value="0" />
+ <value cell_index="15067" local_entity="0" value="0" />
+ <value cell_index="15068" local_entity="0" value="0" />
+ <value cell_index="15069" local_entity="0" value="0" />
+ <value cell_index="15070" local_entity="0" value="0" />
+ <value cell_index="15071" local_entity="0" value="0" />
+ <value cell_index="15072" local_entity="0" value="0" />
+ <value cell_index="15073" local_entity="0" value="0" />
+ <value cell_index="15074" local_entity="0" value="0" />
+ <value cell_index="15075" local_entity="0" value="0" />
+ <value cell_index="15076" local_entity="0" value="0" />
+ <value cell_index="15077" local_entity="0" value="0" />
+ <value cell_index="15078" local_entity="0" value="0" />
+ <value cell_index="15079" local_entity="0" value="0" />
+ <value cell_index="15080" local_entity="0" value="0" />
+ <value cell_index="15081" local_entity="0" value="0" />
+ <value cell_index="15082" local_entity="0" value="0" />
+ <value cell_index="15083" local_entity="0" value="0" />
+ <value cell_index="15084" local_entity="0" value="0" />
+ <value cell_index="15085" local_entity="0" value="0" />
+ <value cell_index="15086" local_entity="0" value="0" />
+ <value cell_index="15087" local_entity="0" value="0" />
+ <value cell_index="15088" local_entity="0" value="0" />
+ <value cell_index="15089" local_entity="0" value="0" />
+ <value cell_index="15090" local_entity="0" value="0" />
+ <value cell_index="15091" local_entity="0" value="0" />
+ <value cell_index="15092" local_entity="0" value="0" />
+ <value cell_index="15093" local_entity="0" value="0" />
+ <value cell_index="15094" local_entity="0" value="0" />
+ <value cell_index="15095" local_entity="0" value="0" />
+ <value cell_index="15096" local_entity="0" value="0" />
+ <value cell_index="15097" local_entity="0" value="0" />
+ <value cell_index="15098" local_entity="0" value="0" />
+ <value cell_index="15099" local_entity="0" value="0" />
+ <value cell_index="15100" local_entity="0" value="0" />
+ <value cell_index="15101" local_entity="0" value="0" />
+ <value cell_index="15102" local_entity="0" value="0" />
+ <value cell_index="15103" local_entity="0" value="0" />
+ <value cell_index="15104" local_entity="0" value="0" />
+ <value cell_index="15105" local_entity="0" value="0" />
+ <value cell_index="15106" local_entity="0" value="0" />
+ <value cell_index="15107" local_entity="0" value="0" />
+ <value cell_index="15108" local_entity="0" value="0" />
+ <value cell_index="15109" local_entity="0" value="0" />
+ <value cell_index="15110" local_entity="0" value="0" />
+ <value cell_index="15111" local_entity="0" value="0" />
+ <value cell_index="15112" local_entity="0" value="0" />
+ <value cell_index="15113" local_entity="0" value="0" />
+ <value cell_index="15114" local_entity="0" value="0" />
+ <value cell_index="15115" local_entity="0" value="0" />
+ <value cell_index="15116" local_entity="0" value="0" />
+ <value cell_index="15117" local_entity="0" value="0" />
+ <value cell_index="15118" local_entity="0" value="0" />
+ <value cell_index="15119" local_entity="0" value="0" />
+ <value cell_index="15120" local_entity="0" value="0" />
+ <value cell_index="15121" local_entity="0" value="0" />
+ <value cell_index="15122" local_entity="0" value="0" />
+ <value cell_index="15123" local_entity="0" value="0" />
+ <value cell_index="15124" local_entity="0" value="0" />
+ <value cell_index="15125" local_entity="0" value="0" />
+ <value cell_index="15126" local_entity="0" value="0" />
+ <value cell_index="15127" local_entity="0" value="0" />
+ <value cell_index="15128" local_entity="0" value="0" />
+ <value cell_index="15129" local_entity="0" value="0" />
+ <value cell_index="15130" local_entity="0" value="0" />
+ <value cell_index="15131" local_entity="0" value="0" />
+ <value cell_index="15132" local_entity="0" value="0" />
+ <value cell_index="15133" local_entity="0" value="0" />
+ <value cell_index="15134" local_entity="0" value="0" />
+ <value cell_index="15135" local_entity="0" value="0" />
+ <value cell_index="15136" local_entity="0" value="0" />
+ <value cell_index="15137" local_entity="0" value="0" />
+ <value cell_index="15138" local_entity="0" value="0" />
+ <value cell_index="15139" local_entity="0" value="0" />
+ <value cell_index="15140" local_entity="0" value="0" />
+ <value cell_index="15141" local_entity="0" value="0" />
+ <value cell_index="15142" local_entity="0" value="0" />
+ <value cell_index="15143" local_entity="0" value="0" />
+ <value cell_index="15144" local_entity="0" value="0" />
+ <value cell_index="15145" local_entity="0" value="0" />
+ <value cell_index="15146" local_entity="0" value="0" />
+ <value cell_index="15147" local_entity="0" value="0" />
+ <value cell_index="15148" local_entity="0" value="0" />
+ <value cell_index="15149" local_entity="0" value="0" />
+ <value cell_index="15150" local_entity="0" value="0" />
+ <value cell_index="15151" local_entity="0" value="0" />
+ <value cell_index="15152" local_entity="0" value="0" />
+ <value cell_index="15153" local_entity="0" value="0" />
+ <value cell_index="15154" local_entity="0" value="0" />
+ <value cell_index="15155" local_entity="0" value="0" />
+ <value cell_index="15156" local_entity="0" value="0" />
+ <value cell_index="15157" local_entity="0" value="0" />
+ <value cell_index="15158" local_entity="0" value="0" />
+ <value cell_index="15159" local_entity="0" value="0" />
+ <value cell_index="15160" local_entity="0" value="0" />
+ <value cell_index="15161" local_entity="0" value="0" />
+ <value cell_index="15162" local_entity="0" value="0" />
+ <value cell_index="15163" local_entity="0" value="0" />
+ <value cell_index="15164" local_entity="0" value="0" />
+ <value cell_index="15165" local_entity="0" value="0" />
+ <value cell_index="15166" local_entity="0" value="0" />
+ <value cell_index="15167" local_entity="0" value="0" />
+ <value cell_index="15168" local_entity="0" value="0" />
+ <value cell_index="15169" local_entity="0" value="0" />
+ <value cell_index="15170" local_entity="0" value="0" />
+ <value cell_index="15171" local_entity="0" value="0" />
+ <value cell_index="15172" local_entity="0" value="0" />
+ <value cell_index="15173" local_entity="0" value="0" />
+ <value cell_index="15174" local_entity="0" value="0" />
+ <value cell_index="15175" local_entity="0" value="0" />
+ <value cell_index="15176" local_entity="0" value="0" />
+ <value cell_index="15177" local_entity="0" value="0" />
+ <value cell_index="15178" local_entity="0" value="0" />
+ <value cell_index="15179" local_entity="0" value="0" />
+ <value cell_index="15180" local_entity="0" value="0" />
+ <value cell_index="15181" local_entity="0" value="0" />
+ <value cell_index="15182" local_entity="0" value="0" />
+ <value cell_index="15183" local_entity="0" value="0" />
+ <value cell_index="15184" local_entity="0" value="0" />
+ <value cell_index="15185" local_entity="0" value="0" />
+ <value cell_index="15186" local_entity="0" value="0" />
+ <value cell_index="15187" local_entity="0" value="0" />
+ <value cell_index="15188" local_entity="0" value="0" />
+ <value cell_index="15189" local_entity="0" value="0" />
+ <value cell_index="15190" local_entity="0" value="0" />
+ <value cell_index="15191" local_entity="0" value="0" />
+ <value cell_index="15192" local_entity="0" value="0" />
+ <value cell_index="15193" local_entity="0" value="0" />
+ <value cell_index="15194" local_entity="0" value="0" />
+ <value cell_index="15195" local_entity="0" value="0" />
+ <value cell_index="15196" local_entity="0" value="0" />
+ <value cell_index="15197" local_entity="0" value="0" />
+ <value cell_index="15198" local_entity="0" value="0" />
+ <value cell_index="15199" local_entity="0" value="0" />
+ <value cell_index="15200" local_entity="0" value="0" />
+ <value cell_index="15201" local_entity="0" value="0" />
+ <value cell_index="15202" local_entity="0" value="0" />
+ <value cell_index="15203" local_entity="0" value="0" />
+ <value cell_index="15204" local_entity="0" value="0" />
+ <value cell_index="15205" local_entity="0" value="0" />
+ <value cell_index="15206" local_entity="0" value="0" />
+ <value cell_index="15207" local_entity="0" value="0" />
+ <value cell_index="15208" local_entity="0" value="0" />
+ <value cell_index="15209" local_entity="0" value="0" />
+ <value cell_index="15210" local_entity="0" value="0" />
+ <value cell_index="15211" local_entity="0" value="0" />
+ <value cell_index="15212" local_entity="0" value="0" />
+ <value cell_index="15213" local_entity="0" value="0" />
+ <value cell_index="15214" local_entity="0" value="0" />
+ <value cell_index="15215" local_entity="0" value="0" />
+ <value cell_index="15216" local_entity="0" value="0" />
+ <value cell_index="15217" local_entity="0" value="0" />
+ <value cell_index="15218" local_entity="0" value="0" />
+ <value cell_index="15219" local_entity="0" value="0" />
+ <value cell_index="15220" local_entity="0" value="0" />
+ <value cell_index="15221" local_entity="0" value="0" />
+ <value cell_index="15222" local_entity="0" value="0" />
+ <value cell_index="15223" local_entity="0" value="0" />
+ <value cell_index="15224" local_entity="0" value="0" />
+ <value cell_index="15225" local_entity="0" value="0" />
+ <value cell_index="15226" local_entity="0" value="0" />
+ <value cell_index="15227" local_entity="0" value="0" />
+ <value cell_index="15228" local_entity="0" value="0" />
+ <value cell_index="15229" local_entity="0" value="0" />
+ <value cell_index="15230" local_entity="0" value="0" />
+ <value cell_index="15231" local_entity="0" value="0" />
+ <value cell_index="15232" local_entity="0" value="0" />
+ <value cell_index="15233" local_entity="0" value="0" />
+ <value cell_index="15234" local_entity="0" value="0" />
+ <value cell_index="15235" local_entity="0" value="0" />
+ <value cell_index="15236" local_entity="0" value="0" />
+ <value cell_index="15237" local_entity="0" value="0" />
+ <value cell_index="15238" local_entity="0" value="0" />
+ <value cell_index="15239" local_entity="0" value="0" />
+ <value cell_index="15240" local_entity="0" value="0" />
+ <value cell_index="15241" local_entity="0" value="0" />
+ <value cell_index="15242" local_entity="0" value="0" />
+ <value cell_index="15243" local_entity="0" value="0" />
+ <value cell_index="15244" local_entity="0" value="0" />
+ <value cell_index="15245" local_entity="0" value="0" />
+ <value cell_index="15246" local_entity="0" value="0" />
+ <value cell_index="15247" local_entity="0" value="0" />
+ <value cell_index="15248" local_entity="0" value="0" />
+ <value cell_index="15249" local_entity="0" value="0" />
+ <value cell_index="15250" local_entity="0" value="0" />
+ <value cell_index="15251" local_entity="0" value="0" />
+ <value cell_index="15252" local_entity="0" value="0" />
+ <value cell_index="15253" local_entity="0" value="0" />
+ <value cell_index="15254" local_entity="0" value="0" />
+ <value cell_index="15255" local_entity="0" value="0" />
+ <value cell_index="15256" local_entity="0" value="0" />
+ <value cell_index="15257" local_entity="0" value="0" />
+ <value cell_index="15258" local_entity="0" value="0" />
+ <value cell_index="15259" local_entity="0" value="0" />
+ <value cell_index="15260" local_entity="0" value="0" />
+ <value cell_index="15261" local_entity="0" value="0" />
+ <value cell_index="15262" local_entity="0" value="0" />
+ <value cell_index="15263" local_entity="0" value="0" />
+ <value cell_index="15264" local_entity="0" value="0" />
+ <value cell_index="15265" local_entity="0" value="0" />
+ <value cell_index="15266" local_entity="0" value="0" />
+ <value cell_index="15267" local_entity="0" value="0" />
+ <value cell_index="15268" local_entity="0" value="0" />
+ <value cell_index="15269" local_entity="0" value="0" />
+ <value cell_index="15270" local_entity="0" value="0" />
+ <value cell_index="15271" local_entity="0" value="0" />
+ <value cell_index="15272" local_entity="0" value="0" />
+ <value cell_index="15273" local_entity="0" value="0" />
+ <value cell_index="15274" local_entity="0" value="0" />
+ <value cell_index="15275" local_entity="0" value="0" />
+ <value cell_index="15276" local_entity="0" value="0" />
+ <value cell_index="15277" local_entity="0" value="0" />
+ <value cell_index="15278" local_entity="0" value="0" />
+ <value cell_index="15279" local_entity="0" value="0" />
+ <value cell_index="15280" local_entity="0" value="0" />
+ <value cell_index="15281" local_entity="0" value="0" />
+ <value cell_index="15282" local_entity="0" value="0" />
+ <value cell_index="15283" local_entity="0" value="0" />
+ <value cell_index="15284" local_entity="0" value="0" />
+ <value cell_index="15285" local_entity="0" value="0" />
+ <value cell_index="15286" local_entity="0" value="0" />
+ <value cell_index="15287" local_entity="0" value="0" />
+ <value cell_index="15288" local_entity="0" value="0" />
+ <value cell_index="15289" local_entity="0" value="0" />
+ <value cell_index="15290" local_entity="0" value="0" />
+ <value cell_index="15291" local_entity="0" value="0" />
+ <value cell_index="15292" local_entity="0" value="0" />
+ <value cell_index="15293" local_entity="0" value="0" />
+ <value cell_index="15294" local_entity="0" value="0" />
+ <value cell_index="15295" local_entity="0" value="0" />
+ <value cell_index="15296" local_entity="0" value="0" />
+ <value cell_index="15297" local_entity="0" value="0" />
+ <value cell_index="15298" local_entity="0" value="0" />
+ <value cell_index="15299" local_entity="0" value="0" />
+ <value cell_index="15300" local_entity="0" value="0" />
+ <value cell_index="15301" local_entity="0" value="0" />
+ <value cell_index="15302" local_entity="0" value="0" />
+ <value cell_index="15303" local_entity="0" value="0" />
+ <value cell_index="15304" local_entity="0" value="0" />
+ <value cell_index="15305" local_entity="0" value="0" />
+ <value cell_index="15306" local_entity="0" value="0" />
+ <value cell_index="15307" local_entity="0" value="0" />
+ <value cell_index="15308" local_entity="0" value="0" />
+ <value cell_index="15309" local_entity="0" value="0" />
+ <value cell_index="15310" local_entity="0" value="0" />
+ <value cell_index="15311" local_entity="0" value="0" />
+ <value cell_index="15312" local_entity="0" value="0" />
+ <value cell_index="15313" local_entity="0" value="0" />
+ <value cell_index="15314" local_entity="0" value="0" />
+ <value cell_index="15315" local_entity="0" value="0" />
+ <value cell_index="15316" local_entity="0" value="0" />
+ <value cell_index="15317" local_entity="0" value="0" />
+ <value cell_index="15318" local_entity="0" value="0" />
+ <value cell_index="15319" local_entity="0" value="0" />
+ <value cell_index="15320" local_entity="0" value="0" />
+ <value cell_index="15321" local_entity="0" value="0" />
+ <value cell_index="15322" local_entity="0" value="0" />
+ <value cell_index="15323" local_entity="0" value="0" />
+ <value cell_index="15324" local_entity="0" value="0" />
+ <value cell_index="15325" local_entity="0" value="0" />
+ <value cell_index="15326" local_entity="0" value="0" />
+ <value cell_index="15327" local_entity="0" value="0" />
+ <value cell_index="15328" local_entity="0" value="0" />
+ <value cell_index="15329" local_entity="0" value="0" />
+ <value cell_index="15330" local_entity="0" value="0" />
+ <value cell_index="15331" local_entity="0" value="0" />
+ <value cell_index="15332" local_entity="0" value="0" />
+ <value cell_index="15333" local_entity="0" value="0" />
+ <value cell_index="15334" local_entity="0" value="0" />
+ <value cell_index="15335" local_entity="0" value="0" />
+ <value cell_index="15336" local_entity="0" value="0" />
+ <value cell_index="15337" local_entity="0" value="0" />
+ <value cell_index="15338" local_entity="0" value="0" />
+ <value cell_index="15339" local_entity="0" value="0" />
+ <value cell_index="15340" local_entity="0" value="0" />
+ <value cell_index="15341" local_entity="0" value="0" />
+ <value cell_index="15342" local_entity="0" value="0" />
+ <value cell_index="15343" local_entity="0" value="0" />
+ <value cell_index="15344" local_entity="0" value="0" />
+ <value cell_index="15345" local_entity="0" value="0" />
+ <value cell_index="15346" local_entity="0" value="0" />
+ <value cell_index="15347" local_entity="0" value="0" />
+ <value cell_index="15348" local_entity="0" value="0" />
+ <value cell_index="15349" local_entity="0" value="0" />
+ <value cell_index="15350" local_entity="0" value="0" />
+ <value cell_index="15351" local_entity="0" value="0" />
+ <value cell_index="15352" local_entity="0" value="0" />
+ <value cell_index="15353" local_entity="0" value="0" />
+ <value cell_index="15354" local_entity="0" value="0" />
+ <value cell_index="15355" local_entity="0" value="0" />
+ <value cell_index="15356" local_entity="0" value="0" />
+ <value cell_index="15357" local_entity="0" value="0" />
+ <value cell_index="15358" local_entity="0" value="0" />
+ <value cell_index="15359" local_entity="0" value="0" />
+ <value cell_index="15360" local_entity="0" value="0" />
+ <value cell_index="15361" local_entity="0" value="0" />
+ <value cell_index="15362" local_entity="0" value="0" />
+ <value cell_index="15363" local_entity="0" value="0" />
+ <value cell_index="15364" local_entity="0" value="0" />
+ <value cell_index="15365" local_entity="0" value="0" />
+ <value cell_index="15366" local_entity="0" value="0" />
+ <value cell_index="15367" local_entity="0" value="0" />
+ <value cell_index="15368" local_entity="0" value="0" />
+ <value cell_index="15369" local_entity="0" value="0" />
+ <value cell_index="15370" local_entity="0" value="0" />
+ <value cell_index="15371" local_entity="0" value="0" />
+ <value cell_index="15372" local_entity="0" value="0" />
+ <value cell_index="15373" local_entity="0" value="0" />
+ <value cell_index="15374" local_entity="0" value="0" />
+ <value cell_index="15375" local_entity="0" value="0" />
+ <value cell_index="15376" local_entity="0" value="0" />
+ <value cell_index="15377" local_entity="0" value="0" />
+ <value cell_index="15378" local_entity="0" value="0" />
+ <value cell_index="15379" local_entity="0" value="0" />
+ <value cell_index="15380" local_entity="0" value="0" />
+ <value cell_index="15381" local_entity="0" value="0" />
+ <value cell_index="15382" local_entity="0" value="0" />
+ <value cell_index="15383" local_entity="0" value="0" />
+ <value cell_index="15384" local_entity="0" value="0" />
+ <value cell_index="15385" local_entity="0" value="0" />
+ <value cell_index="15386" local_entity="0" value="0" />
+ <value cell_index="15387" local_entity="0" value="0" />
+ <value cell_index="15388" local_entity="0" value="0" />
+ <value cell_index="15389" local_entity="0" value="0" />
+ <value cell_index="15390" local_entity="0" value="0" />
+ <value cell_index="15391" local_entity="0" value="0" />
+ <value cell_index="15392" local_entity="0" value="0" />
+ <value cell_index="15393" local_entity="0" value="0" />
+ <value cell_index="15394" local_entity="0" value="0" />
+ <value cell_index="15395" local_entity="0" value="0" />
+ <value cell_index="15396" local_entity="0" value="0" />
+ <value cell_index="15397" local_entity="0" value="0" />
+ <value cell_index="15398" local_entity="0" value="0" />
+ <value cell_index="15399" local_entity="0" value="0" />
+ <value cell_index="15400" local_entity="0" value="0" />
+ <value cell_index="15401" local_entity="0" value="0" />
+ <value cell_index="15402" local_entity="0" value="0" />
+ <value cell_index="15403" local_entity="0" value="0" />
+ <value cell_index="15404" local_entity="0" value="0" />
+ <value cell_index="15405" local_entity="0" value="0" />
+ <value cell_index="15406" local_entity="0" value="0" />
+ <value cell_index="15407" local_entity="0" value="0" />
+ <value cell_index="15408" local_entity="0" value="0" />
+ <value cell_index="15409" local_entity="0" value="0" />
+ <value cell_index="15410" local_entity="0" value="0" />
+ <value cell_index="15411" local_entity="0" value="0" />
+ <value cell_index="15412" local_entity="0" value="0" />
+ <value cell_index="15413" local_entity="0" value="0" />
+ <value cell_index="15414" local_entity="0" value="0" />
+ <value cell_index="15415" local_entity="0" value="0" />
+ <value cell_index="15416" local_entity="0" value="0" />
+ <value cell_index="15417" local_entity="0" value="0" />
+ <value cell_index="15418" local_entity="0" value="0" />
+ <value cell_index="15419" local_entity="0" value="0" />
+ <value cell_index="15420" local_entity="0" value="0" />
+ <value cell_index="15421" local_entity="0" value="0" />
+ <value cell_index="15422" local_entity="0" value="0" />
+ <value cell_index="15423" local_entity="0" value="0" />
+ <value cell_index="15424" local_entity="0" value="0" />
+ <value cell_index="15425" local_entity="0" value="0" />
+ <value cell_index="15426" local_entity="0" value="0" />
+ <value cell_index="15427" local_entity="0" value="0" />
+ <value cell_index="15428" local_entity="0" value="0" />
+ <value cell_index="15429" local_entity="0" value="0" />
+ <value cell_index="15430" local_entity="0" value="0" />
+ <value cell_index="15431" local_entity="0" value="0" />
+ <value cell_index="15432" local_entity="0" value="0" />
+ <value cell_index="15433" local_entity="0" value="0" />
+ <value cell_index="15434" local_entity="0" value="0" />
+ <value cell_index="15435" local_entity="0" value="0" />
+ <value cell_index="15436" local_entity="0" value="0" />
+ <value cell_index="15437" local_entity="0" value="0" />
+ <value cell_index="15438" local_entity="0" value="0" />
+ <value cell_index="15439" local_entity="0" value="0" />
+ <value cell_index="15440" local_entity="0" value="0" />
+ <value cell_index="15441" local_entity="0" value="0" />
+ <value cell_index="15442" local_entity="0" value="0" />
+ <value cell_index="15443" local_entity="0" value="0" />
+ <value cell_index="15444" local_entity="0" value="0" />
+ <value cell_index="15445" local_entity="0" value="0" />
+ <value cell_index="15446" local_entity="0" value="0" />
+ <value cell_index="15447" local_entity="0" value="0" />
+ <value cell_index="15448" local_entity="0" value="0" />
+ <value cell_index="15449" local_entity="0" value="0" />
+ <value cell_index="15450" local_entity="0" value="0" />
+ <value cell_index="15451" local_entity="0" value="0" />
+ <value cell_index="15452" local_entity="0" value="0" />
+ <value cell_index="15453" local_entity="0" value="0" />
+ <value cell_index="15454" local_entity="0" value="0" />
+ <value cell_index="15455" local_entity="0" value="0" />
+ <value cell_index="15456" local_entity="0" value="0" />
+ <value cell_index="15457" local_entity="0" value="0" />
+ <value cell_index="15458" local_entity="0" value="0" />
+ <value cell_index="15459" local_entity="0" value="0" />
+ <value cell_index="15460" local_entity="0" value="0" />
+ <value cell_index="15461" local_entity="0" value="0" />
+ <value cell_index="15462" local_entity="0" value="0" />
+ <value cell_index="15463" local_entity="0" value="0" />
+ <value cell_index="15464" local_entity="0" value="0" />
+ <value cell_index="15465" local_entity="0" value="0" />
+ <value cell_index="15466" local_entity="0" value="0" />
+ <value cell_index="15467" local_entity="0" value="0" />
+ <value cell_index="15468" local_entity="0" value="0" />
+ <value cell_index="15469" local_entity="0" value="0" />
+ <value cell_index="15470" local_entity="0" value="0" />
+ <value cell_index="15471" local_entity="0" value="0" />
+ <value cell_index="15472" local_entity="0" value="0" />
+ <value cell_index="15473" local_entity="0" value="0" />
+ <value cell_index="15474" local_entity="0" value="0" />
+ <value cell_index="15475" local_entity="0" value="0" />
+ <value cell_index="15476" local_entity="0" value="0" />
+ <value cell_index="15477" local_entity="0" value="0" />
+ <value cell_index="15478" local_entity="0" value="0" />
+ <value cell_index="15479" local_entity="0" value="0" />
+ <value cell_index="15480" local_entity="0" value="0" />
+ <value cell_index="15481" local_entity="0" value="0" />
+ <value cell_index="15482" local_entity="0" value="0" />
+ <value cell_index="15483" local_entity="0" value="0" />
+ <value cell_index="15484" local_entity="0" value="0" />
+ <value cell_index="15485" local_entity="0" value="0" />
+ <value cell_index="15486" local_entity="0" value="0" />
+ <value cell_index="15487" local_entity="0" value="0" />
+ <value cell_index="15488" local_entity="0" value="0" />
+ <value cell_index="15489" local_entity="0" value="0" />
+ <value cell_index="15490" local_entity="0" value="0" />
+ <value cell_index="15491" local_entity="0" value="0" />
+ <value cell_index="15492" local_entity="0" value="0" />
+ <value cell_index="15493" local_entity="0" value="0" />
+ <value cell_index="15494" local_entity="0" value="0" />
+ <value cell_index="15495" local_entity="0" value="0" />
+ <value cell_index="15496" local_entity="0" value="0" />
+ <value cell_index="15497" local_entity="0" value="0" />
+ <value cell_index="15498" local_entity="0" value="0" />
+ <value cell_index="15499" local_entity="0" value="0" />
+ <value cell_index="15500" local_entity="0" value="0" />
+ <value cell_index="15501" local_entity="0" value="0" />
+ <value cell_index="15502" local_entity="0" value="0" />
+ <value cell_index="15503" local_entity="0" value="0" />
+ <value cell_index="15504" local_entity="0" value="0" />
+ <value cell_index="15505" local_entity="0" value="0" />
+ <value cell_index="15506" local_entity="0" value="0" />
+ <value cell_index="15507" local_entity="0" value="0" />
+ <value cell_index="15508" local_entity="0" value="0" />
+ <value cell_index="15509" local_entity="0" value="0" />
+ <value cell_index="15510" local_entity="0" value="0" />
+ <value cell_index="15511" local_entity="0" value="0" />
+ <value cell_index="15512" local_entity="0" value="0" />
+ <value cell_index="15513" local_entity="0" value="0" />
+ <value cell_index="15514" local_entity="0" value="0" />
+ <value cell_index="15515" local_entity="0" value="0" />
+ <value cell_index="15516" local_entity="0" value="0" />
+ <value cell_index="15517" local_entity="0" value="0" />
+ <value cell_index="15518" local_entity="0" value="0" />
+ <value cell_index="15519" local_entity="0" value="0" />
+ <value cell_index="15520" local_entity="0" value="0" />
+ <value cell_index="15521" local_entity="0" value="0" />
+ <value cell_index="15522" local_entity="0" value="0" />
+ <value cell_index="15523" local_entity="0" value="0" />
+ <value cell_index="15524" local_entity="0" value="0" />
+ <value cell_index="15525" local_entity="0" value="0" />
+ <value cell_index="15526" local_entity="0" value="0" />
+ <value cell_index="15527" local_entity="0" value="0" />
+ <value cell_index="15528" local_entity="0" value="0" />
+ <value cell_index="15529" local_entity="0" value="0" />
+ <value cell_index="15530" local_entity="0" value="0" />
+ <value cell_index="15531" local_entity="0" value="0" />
+ <value cell_index="15532" local_entity="0" value="0" />
+ <value cell_index="15533" local_entity="0" value="0" />
+ <value cell_index="15534" local_entity="0" value="0" />
+ <value cell_index="15535" local_entity="0" value="0" />
+ <value cell_index="15536" local_entity="0" value="0" />
+ <value cell_index="15537" local_entity="0" value="0" />
+ <value cell_index="15538" local_entity="0" value="0" />
+ <value cell_index="15539" local_entity="0" value="0" />
+ <value cell_index="15540" local_entity="0" value="0" />
+ <value cell_index="15541" local_entity="0" value="0" />
+ <value cell_index="15542" local_entity="0" value="0" />
+ <value cell_index="15543" local_entity="0" value="0" />
+ <value cell_index="15544" local_entity="0" value="0" />
+ <value cell_index="15545" local_entity="0" value="0" />
+ <value cell_index="15546" local_entity="0" value="0" />
+ <value cell_index="15547" local_entity="0" value="0" />
+ <value cell_index="15548" local_entity="0" value="0" />
+ <value cell_index="15549" local_entity="0" value="0" />
+ <value cell_index="15550" local_entity="0" value="0" />
+ <value cell_index="15551" local_entity="0" value="0" />
+ <value cell_index="15552" local_entity="0" value="0" />
+ <value cell_index="15553" local_entity="0" value="0" />
+ <value cell_index="15554" local_entity="0" value="0" />
+ <value cell_index="15555" local_entity="0" value="0" />
+ <value cell_index="15556" local_entity="0" value="0" />
+ <value cell_index="15557" local_entity="0" value="0" />
+ <value cell_index="15558" local_entity="0" value="0" />
+ <value cell_index="15559" local_entity="0" value="0" />
+ <value cell_index="15560" local_entity="0" value="0" />
+ <value cell_index="15561" local_entity="0" value="0" />
+ <value cell_index="15562" local_entity="0" value="0" />
+ <value cell_index="15563" local_entity="0" value="0" />
+ <value cell_index="15564" local_entity="0" value="0" />
+ <value cell_index="15565" local_entity="0" value="0" />
+ <value cell_index="15566" local_entity="0" value="0" />
+ <value cell_index="15567" local_entity="0" value="0" />
+ <value cell_index="15568" local_entity="0" value="0" />
+ <value cell_index="15569" local_entity="0" value="0" />
+ <value cell_index="15570" local_entity="0" value="0" />
+ <value cell_index="15571" local_entity="0" value="0" />
+ <value cell_index="15572" local_entity="0" value="0" />
+ <value cell_index="15573" local_entity="0" value="0" />
+ <value cell_index="15574" local_entity="0" value="0" />
+ <value cell_index="15575" local_entity="0" value="0" />
+ <value cell_index="15576" local_entity="0" value="0" />
+ <value cell_index="15577" local_entity="0" value="0" />
+ <value cell_index="15578" local_entity="0" value="0" />
+ <value cell_index="15579" local_entity="0" value="0" />
+ <value cell_index="15580" local_entity="0" value="0" />
+ <value cell_index="15581" local_entity="0" value="0" />
+ <value cell_index="15582" local_entity="0" value="0" />
+ <value cell_index="15583" local_entity="0" value="0" />
+ <value cell_index="15584" local_entity="0" value="0" />
+ <value cell_index="15585" local_entity="0" value="0" />
+ <value cell_index="15586" local_entity="0" value="0" />
+ <value cell_index="15587" local_entity="0" value="0" />
+ <value cell_index="15588" local_entity="0" value="0" />
+ <value cell_index="15589" local_entity="0" value="0" />
+ <value cell_index="15590" local_entity="0" value="0" />
+ <value cell_index="15591" local_entity="0" value="0" />
+ <value cell_index="15592" local_entity="0" value="0" />
+ <value cell_index="15593" local_entity="0" value="0" />
+ <value cell_index="15594" local_entity="0" value="0" />
+ <value cell_index="15595" local_entity="0" value="0" />
+ <value cell_index="15596" local_entity="0" value="0" />
+ <value cell_index="15597" local_entity="0" value="0" />
+ <value cell_index="15598" local_entity="0" value="0" />
+ <value cell_index="15599" local_entity="0" value="0" />
+ <value cell_index="15600" local_entity="0" value="0" />
+ <value cell_index="15601" local_entity="0" value="0" />
+ <value cell_index="15602" local_entity="0" value="0" />
+ <value cell_index="15603" local_entity="0" value="0" />
+ <value cell_index="15604" local_entity="0" value="0" />
+ <value cell_index="15605" local_entity="0" value="0" />
+ <value cell_index="15606" local_entity="0" value="0" />
+ <value cell_index="15607" local_entity="0" value="0" />
+ <value cell_index="15608" local_entity="0" value="0" />
+ <value cell_index="15609" local_entity="0" value="0" />
+ <value cell_index="15610" local_entity="0" value="0" />
+ <value cell_index="15611" local_entity="0" value="0" />
+ <value cell_index="15612" local_entity="0" value="0" />
+ <value cell_index="15613" local_entity="0" value="0" />
+ <value cell_index="15614" local_entity="0" value="0" />
+ <value cell_index="15615" local_entity="0" value="0" />
+ <value cell_index="15616" local_entity="0" value="0" />
+ <value cell_index="15617" local_entity="0" value="0" />
+ <value cell_index="15618" local_entity="0" value="0" />
+ <value cell_index="15619" local_entity="0" value="0" />
+ <value cell_index="15620" local_entity="0" value="0" />
+ <value cell_index="15621" local_entity="0" value="0" />
+ <value cell_index="15622" local_entity="0" value="0" />
+ <value cell_index="15623" local_entity="0" value="0" />
+ <value cell_index="15624" local_entity="0" value="0" />
+ <value cell_index="15625" local_entity="0" value="0" />
+ <value cell_index="15626" local_entity="0" value="0" />
+ <value cell_index="15627" local_entity="0" value="0" />
+ <value cell_index="15628" local_entity="0" value="0" />
+ <value cell_index="15629" local_entity="0" value="0" />
+ <value cell_index="15630" local_entity="0" value="0" />
+ <value cell_index="15631" local_entity="0" value="0" />
+ <value cell_index="15632" local_entity="0" value="0" />
+ <value cell_index="15633" local_entity="0" value="0" />
+ <value cell_index="15634" local_entity="0" value="0" />
+ <value cell_index="15635" local_entity="0" value="0" />
+ <value cell_index="15636" local_entity="0" value="0" />
+ <value cell_index="15637" local_entity="0" value="0" />
+ <value cell_index="15638" local_entity="0" value="0" />
+ <value cell_index="15639" local_entity="0" value="0" />
+ <value cell_index="15640" local_entity="0" value="0" />
+ <value cell_index="15641" local_entity="0" value="0" />
+ <value cell_index="15642" local_entity="0" value="0" />
+ <value cell_index="15643" local_entity="0" value="0" />
+ <value cell_index="15644" local_entity="0" value="0" />
+ <value cell_index="15645" local_entity="0" value="0" />
+ <value cell_index="15646" local_entity="0" value="0" />
+ <value cell_index="15647" local_entity="0" value="0" />
+ <value cell_index="15648" local_entity="0" value="0" />
+ <value cell_index="15649" local_entity="0" value="0" />
+ <value cell_index="15650" local_entity="0" value="0" />
+ <value cell_index="15651" local_entity="0" value="0" />
+ <value cell_index="15652" local_entity="0" value="0" />
+ <value cell_index="15653" local_entity="0" value="0" />
+ <value cell_index="15654" local_entity="0" value="0" />
+ <value cell_index="15655" local_entity="0" value="0" />
+ <value cell_index="15656" local_entity="0" value="0" />
+ <value cell_index="15657" local_entity="0" value="0" />
+ <value cell_index="15658" local_entity="0" value="0" />
+ <value cell_index="15659" local_entity="0" value="0" />
+ <value cell_index="15660" local_entity="0" value="0" />
+ <value cell_index="15661" local_entity="0" value="0" />
+ <value cell_index="15662" local_entity="0" value="0" />
+ <value cell_index="15663" local_entity="0" value="0" />
+ <value cell_index="15664" local_entity="0" value="0" />
+ <value cell_index="15665" local_entity="0" value="0" />
+ <value cell_index="15666" local_entity="0" value="0" />
+ <value cell_index="15667" local_entity="0" value="0" />
+ <value cell_index="15668" local_entity="0" value="0" />
+ <value cell_index="15669" local_entity="0" value="0" />
+ <value cell_index="15670" local_entity="0" value="0" />
+ <value cell_index="15671" local_entity="0" value="0" />
+ <value cell_index="15672" local_entity="0" value="0" />
+ <value cell_index="15673" local_entity="0" value="0" />
+ <value cell_index="15674" local_entity="0" value="0" />
+ <value cell_index="15675" local_entity="0" value="0" />
+ <value cell_index="15676" local_entity="0" value="0" />
+ <value cell_index="15677" local_entity="0" value="0" />
+ <value cell_index="15678" local_entity="0" value="0" />
+ <value cell_index="15679" local_entity="0" value="0" />
+ <value cell_index="15680" local_entity="0" value="0" />
+ <value cell_index="15681" local_entity="0" value="0" />
+ <value cell_index="15682" local_entity="0" value="0" />
+ <value cell_index="15683" local_entity="0" value="0" />
+ <value cell_index="15684" local_entity="0" value="0" />
+ <value cell_index="15685" local_entity="0" value="0" />
+ <value cell_index="15686" local_entity="0" value="0" />
+ <value cell_index="15687" local_entity="0" value="0" />
+ <value cell_index="15688" local_entity="0" value="0" />
+ <value cell_index="15689" local_entity="0" value="0" />
+ <value cell_index="15690" local_entity="0" value="0" />
+ <value cell_index="15691" local_entity="0" value="0" />
+ <value cell_index="15692" local_entity="0" value="0" />
+ <value cell_index="15693" local_entity="0" value="0" />
+ <value cell_index="15694" local_entity="0" value="0" />
+ <value cell_index="15695" local_entity="0" value="0" />
+ <value cell_index="15696" local_entity="0" value="0" />
+ <value cell_index="15697" local_entity="0" value="0" />
+ <value cell_index="15698" local_entity="0" value="0" />
+ <value cell_index="15699" local_entity="0" value="0" />
+ <value cell_index="15700" local_entity="0" value="0" />
+ <value cell_index="15701" local_entity="0" value="0" />
+ <value cell_index="15702" local_entity="0" value="0" />
+ <value cell_index="15703" local_entity="0" value="0" />
+ <value cell_index="15704" local_entity="0" value="0" />
+ <value cell_index="15705" local_entity="0" value="0" />
+ <value cell_index="15706" local_entity="0" value="0" />
+ <value cell_index="15707" local_entity="0" value="0" />
+ <value cell_index="15708" local_entity="0" value="0" />
+ <value cell_index="15709" local_entity="0" value="0" />
+ <value cell_index="15710" local_entity="0" value="0" />
+ <value cell_index="15711" local_entity="0" value="0" />
+ <value cell_index="15712" local_entity="0" value="0" />
+ <value cell_index="15713" local_entity="0" value="0" />
+ <value cell_index="15714" local_entity="0" value="0" />
+ <value cell_index="15715" local_entity="0" value="0" />
+ <value cell_index="15716" local_entity="0" value="0" />
+ <value cell_index="15717" local_entity="0" value="0" />
+ <value cell_index="15718" local_entity="0" value="0" />
+ <value cell_index="15719" local_entity="0" value="0" />
+ <value cell_index="15720" local_entity="0" value="0" />
+ <value cell_index="15721" local_entity="0" value="0" />
+ <value cell_index="15722" local_entity="0" value="0" />
+ <value cell_index="15723" local_entity="0" value="0" />
+ <value cell_index="15724" local_entity="0" value="0" />
+ <value cell_index="15725" local_entity="0" value="0" />
+ <value cell_index="15726" local_entity="0" value="0" />
+ <value cell_index="15727" local_entity="0" value="0" />
+ <value cell_index="15728" local_entity="0" value="0" />
+ <value cell_index="15729" local_entity="0" value="0" />
+ <value cell_index="15730" local_entity="0" value="0" />
+ <value cell_index="15731" local_entity="0" value="0" />
+ <value cell_index="15732" local_entity="0" value="0" />
+ <value cell_index="15733" local_entity="0" value="0" />
+ <value cell_index="15734" local_entity="0" value="0" />
+ <value cell_index="15735" local_entity="0" value="0" />
+ <value cell_index="15736" local_entity="0" value="0" />
+ <value cell_index="15737" local_entity="0" value="0" />
+ <value cell_index="15738" local_entity="0" value="0" />
+ <value cell_index="15739" local_entity="0" value="0" />
+ <value cell_index="15740" local_entity="0" value="0" />
+ <value cell_index="15741" local_entity="0" value="0" />
+ <value cell_index="15742" local_entity="0" value="0" />
+ <value cell_index="15743" local_entity="0" value="0" />
+ <value cell_index="15744" local_entity="0" value="0" />
+ <value cell_index="15745" local_entity="0" value="0" />
+ <value cell_index="15746" local_entity="0" value="0" />
+ <value cell_index="15747" local_entity="0" value="0" />
+ <value cell_index="15748" local_entity="0" value="0" />
+ <value cell_index="15749" local_entity="0" value="0" />
+ <value cell_index="15750" local_entity="0" value="0" />
+ <value cell_index="15751" local_entity="0" value="0" />
+ <value cell_index="15752" local_entity="0" value="0" />
+ <value cell_index="15753" local_entity="0" value="0" />
+ <value cell_index="15754" local_entity="0" value="0" />
+ <value cell_index="15755" local_entity="0" value="0" />
+ <value cell_index="15756" local_entity="0" value="0" />
+ <value cell_index="15757" local_entity="0" value="0" />
+ <value cell_index="15758" local_entity="0" value="0" />
+ <value cell_index="15759" local_entity="0" value="0" />
+ <value cell_index="15760" local_entity="0" value="0" />
+ <value cell_index="15761" local_entity="0" value="0" />
+ <value cell_index="15762" local_entity="0" value="0" />
+ <value cell_index="15763" local_entity="0" value="0" />
+ <value cell_index="15764" local_entity="0" value="0" />
+ <value cell_index="15765" local_entity="0" value="0" />
+ <value cell_index="15766" local_entity="0" value="0" />
+ <value cell_index="15767" local_entity="0" value="0" />
+ <value cell_index="15768" local_entity="0" value="0" />
+ <value cell_index="15769" local_entity="0" value="0" />
+ <value cell_index="15770" local_entity="0" value="0" />
+ <value cell_index="15771" local_entity="0" value="0" />
+ <value cell_index="15772" local_entity="0" value="0" />
+ <value cell_index="15773" local_entity="0" value="0" />
+ <value cell_index="15774" local_entity="0" value="0" />
+ <value cell_index="15775" local_entity="0" value="0" />
+ <value cell_index="15776" local_entity="0" value="0" />
+ <value cell_index="15777" local_entity="0" value="0" />
+ <value cell_index="15778" local_entity="0" value="0" />
+ <value cell_index="15779" local_entity="0" value="0" />
+ <value cell_index="15780" local_entity="0" value="0" />
+ <value cell_index="15781" local_entity="0" value="0" />
+ <value cell_index="15782" local_entity="0" value="0" />
+ <value cell_index="15783" local_entity="0" value="0" />
+ <value cell_index="15784" local_entity="0" value="0" />
+ <value cell_index="15785" local_entity="0" value="0" />
+ <value cell_index="15786" local_entity="0" value="0" />
+ <value cell_index="15787" local_entity="0" value="0" />
+ <value cell_index="15788" local_entity="0" value="0" />
+ <value cell_index="15789" local_entity="0" value="0" />
+ <value cell_index="15790" local_entity="0" value="0" />
+ <value cell_index="15791" local_entity="0" value="0" />
+ <value cell_index="15792" local_entity="0" value="0" />
+ <value cell_index="15793" local_entity="0" value="0" />
+ <value cell_index="15794" local_entity="0" value="0" />
+ <value cell_index="15795" local_entity="0" value="0" />
+ <value cell_index="15796" local_entity="0" value="0" />
+ <value cell_index="15797" local_entity="0" value="0" />
+ <value cell_index="15798" local_entity="0" value="0" />
+ <value cell_index="15799" local_entity="0" value="0" />
+ <value cell_index="15800" local_entity="0" value="0" />
+ <value cell_index="15801" local_entity="0" value="0" />
+ <value cell_index="15802" local_entity="0" value="0" />
+ <value cell_index="15803" local_entity="0" value="0" />
+ <value cell_index="15804" local_entity="0" value="0" />
+ <value cell_index="15805" local_entity="0" value="0" />
+ <value cell_index="15806" local_entity="0" value="0" />
+ <value cell_index="15807" local_entity="0" value="0" />
+ <value cell_index="15808" local_entity="0" value="0" />
+ <value cell_index="15809" local_entity="0" value="0" />
+ <value cell_index="15810" local_entity="0" value="0" />
+ <value cell_index="15811" local_entity="0" value="0" />
+ <value cell_index="15812" local_entity="0" value="0" />
+ <value cell_index="15813" local_entity="0" value="0" />
+ <value cell_index="15814" local_entity="0" value="0" />
+ <value cell_index="15815" local_entity="0" value="0" />
+ <value cell_index="15816" local_entity="0" value="0" />
+ <value cell_index="15817" local_entity="0" value="0" />
+ <value cell_index="15818" local_entity="0" value="0" />
+ <value cell_index="15819" local_entity="0" value="0" />
+ <value cell_index="15820" local_entity="0" value="0" />
+ <value cell_index="15821" local_entity="0" value="0" />
+ <value cell_index="15822" local_entity="0" value="0" />
+ <value cell_index="15823" local_entity="0" value="0" />
+ <value cell_index="15824" local_entity="0" value="0" />
+ <value cell_index="15825" local_entity="0" value="0" />
+ <value cell_index="15826" local_entity="0" value="0" />
+ <value cell_index="15827" local_entity="0" value="0" />
+ <value cell_index="15828" local_entity="0" value="0" />
+ <value cell_index="15829" local_entity="0" value="0" />
+ <value cell_index="15830" local_entity="0" value="0" />
+ <value cell_index="15831" local_entity="0" value="0" />
+ <value cell_index="15832" local_entity="0" value="0" />
+ <value cell_index="15833" local_entity="0" value="0" />
+ <value cell_index="15834" local_entity="0" value="0" />
+ <value cell_index="15835" local_entity="0" value="0" />
+ <value cell_index="15836" local_entity="0" value="0" />
+ <value cell_index="15837" local_entity="0" value="0" />
+ <value cell_index="15838" local_entity="0" value="0" />
+ <value cell_index="15839" local_entity="0" value="0" />
+ <value cell_index="15840" local_entity="0" value="0" />
+ <value cell_index="15841" local_entity="0" value="0" />
+ <value cell_index="15842" local_entity="0" value="0" />
+ <value cell_index="15843" local_entity="0" value="0" />
+ <value cell_index="15844" local_entity="0" value="0" />
+ <value cell_index="15845" local_entity="0" value="0" />
+ <value cell_index="15846" local_entity="0" value="0" />
+ <value cell_index="15847" local_entity="0" value="0" />
+ <value cell_index="15848" local_entity="0" value="0" />
+ <value cell_index="15849" local_entity="0" value="0" />
+ <value cell_index="15850" local_entity="0" value="0" />
+ <value cell_index="15851" local_entity="0" value="0" />
+ <value cell_index="15852" local_entity="0" value="0" />
+ <value cell_index="15853" local_entity="0" value="0" />
+ <value cell_index="15854" local_entity="0" value="0" />
+ <value cell_index="15855" local_entity="0" value="0" />
+ <value cell_index="15856" local_entity="0" value="0" />
+ <value cell_index="15857" local_entity="0" value="0" />
+ <value cell_index="15858" local_entity="0" value="0" />
+ <value cell_index="15859" local_entity="0" value="0" />
+ <value cell_index="15860" local_entity="0" value="0" />
+ <value cell_index="15861" local_entity="0" value="0" />
+ <value cell_index="15862" local_entity="0" value="0" />
+ <value cell_index="15863" local_entity="0" value="0" />
+ <value cell_index="15864" local_entity="0" value="0" />
+ <value cell_index="15865" local_entity="0" value="0" />
+ <value cell_index="15866" local_entity="0" value="0" />
+ <value cell_index="15867" local_entity="0" value="0" />
+ <value cell_index="15868" local_entity="0" value="0" />
+ <value cell_index="15869" local_entity="0" value="0" />
+ <value cell_index="15870" local_entity="0" value="0" />
+ <value cell_index="15871" local_entity="0" value="0" />
+ <value cell_index="15872" local_entity="0" value="0" />
+ <value cell_index="15873" local_entity="0" value="0" />
+ <value cell_index="15874" local_entity="0" value="0" />
+ <value cell_index="15875" local_entity="0" value="0" />
+ <value cell_index="15876" local_entity="0" value="0" />
+ <value cell_index="15877" local_entity="0" value="0" />
+ <value cell_index="15878" local_entity="0" value="0" />
+ <value cell_index="15879" local_entity="0" value="0" />
+ <value cell_index="15880" local_entity="0" value="0" />
+ <value cell_index="15881" local_entity="0" value="0" />
+ <value cell_index="15882" local_entity="0" value="0" />
+ <value cell_index="15883" local_entity="0" value="0" />
+ <value cell_index="15884" local_entity="0" value="0" />
+ <value cell_index="15885" local_entity="0" value="0" />
+ <value cell_index="15886" local_entity="0" value="0" />
+ <value cell_index="15887" local_entity="0" value="0" />
+ <value cell_index="15888" local_entity="0" value="0" />
+ <value cell_index="15889" local_entity="0" value="0" />
+ <value cell_index="15890" local_entity="0" value="0" />
+ <value cell_index="15891" local_entity="0" value="0" />
+ <value cell_index="15892" local_entity="0" value="0" />
+ <value cell_index="15893" local_entity="0" value="0" />
+ <value cell_index="15894" local_entity="0" value="0" />
+ <value cell_index="15895" local_entity="0" value="0" />
+ <value cell_index="15896" local_entity="0" value="0" />
+ <value cell_index="15897" local_entity="0" value="0" />
+ <value cell_index="15898" local_entity="0" value="0" />
+ <value cell_index="15899" local_entity="0" value="0" />
+ <value cell_index="15900" local_entity="0" value="0" />
+ <value cell_index="15901" local_entity="0" value="0" />
+ <value cell_index="15902" local_entity="0" value="0" />
+ <value cell_index="15903" local_entity="0" value="0" />
+ <value cell_index="15904" local_entity="0" value="0" />
+ <value cell_index="15905" local_entity="0" value="0" />
+ <value cell_index="15906" local_entity="0" value="0" />
+ <value cell_index="15907" local_entity="0" value="0" />
+ <value cell_index="15908" local_entity="0" value="0" />
+ <value cell_index="15909" local_entity="0" value="0" />
+ <value cell_index="15910" local_entity="0" value="0" />
+ <value cell_index="15911" local_entity="0" value="0" />
+ <value cell_index="15912" local_entity="0" value="0" />
+ <value cell_index="15913" local_entity="0" value="0" />
+ <value cell_index="15914" local_entity="0" value="0" />
+ <value cell_index="15915" local_entity="0" value="0" />
+ <value cell_index="15916" local_entity="0" value="0" />
+ <value cell_index="15917" local_entity="0" value="0" />
+ <value cell_index="15918" local_entity="0" value="0" />
+ <value cell_index="15919" local_entity="0" value="0" />
+ <value cell_index="15920" local_entity="0" value="0" />
+ <value cell_index="15921" local_entity="0" value="0" />
+ <value cell_index="15922" local_entity="0" value="0" />
+ <value cell_index="15923" local_entity="0" value="0" />
+ <value cell_index="15924" local_entity="0" value="0" />
+ <value cell_index="15925" local_entity="0" value="0" />
+ <value cell_index="15926" local_entity="0" value="0" />
+ <value cell_index="15927" local_entity="0" value="0" />
+ <value cell_index="15928" local_entity="0" value="0" />
+ <value cell_index="15929" local_entity="0" value="0" />
+ <value cell_index="15930" local_entity="0" value="0" />
+ <value cell_index="15931" local_entity="0" value="0" />
+ <value cell_index="15932" local_entity="0" value="0" />
+ <value cell_index="15933" local_entity="0" value="0" />
+ <value cell_index="15934" local_entity="0" value="0" />
+ <value cell_index="15935" local_entity="0" value="0" />
+ <value cell_index="15936" local_entity="0" value="0" />
+ <value cell_index="15937" local_entity="0" value="0" />
+ <value cell_index="15938" local_entity="0" value="0" />
+ <value cell_index="15939" local_entity="0" value="0" />
+ <value cell_index="15940" local_entity="0" value="0" />
+ <value cell_index="15941" local_entity="0" value="0" />
+ <value cell_index="15942" local_entity="0" value="0" />
+ <value cell_index="15943" local_entity="0" value="0" />
+ <value cell_index="15944" local_entity="0" value="0" />
+ <value cell_index="15945" local_entity="0" value="0" />
+ <value cell_index="15946" local_entity="0" value="0" />
+ <value cell_index="15947" local_entity="0" value="0" />
+ <value cell_index="15948" local_entity="0" value="0" />
+ <value cell_index="15949" local_entity="0" value="0" />
+ <value cell_index="15950" local_entity="0" value="0" />
+ <value cell_index="15951" local_entity="0" value="0" />
+ <value cell_index="15952" local_entity="0" value="0" />
+ <value cell_index="15953" local_entity="0" value="0" />
+ <value cell_index="15954" local_entity="0" value="0" />
+ <value cell_index="15955" local_entity="0" value="0" />
+ <value cell_index="15956" local_entity="0" value="0" />
+ <value cell_index="15957" local_entity="0" value="0" />
+ <value cell_index="15958" local_entity="0" value="0" />
+ <value cell_index="15959" local_entity="0" value="0" />
+ <value cell_index="15960" local_entity="0" value="0" />
+ <value cell_index="15961" local_entity="0" value="0" />
+ <value cell_index="15962" local_entity="0" value="0" />
+ <value cell_index="15963" local_entity="0" value="0" />
+ <value cell_index="15964" local_entity="0" value="0" />
+ <value cell_index="15965" local_entity="0" value="0" />
+ <value cell_index="15966" local_entity="0" value="0" />
+ <value cell_index="15967" local_entity="0" value="0" />
+ <value cell_index="15968" local_entity="0" value="0" />
+ <value cell_index="15969" local_entity="0" value="0" />
+ <value cell_index="15970" local_entity="0" value="0" />
+ <value cell_index="15971" local_entity="0" value="0" />
+ <value cell_index="15972" local_entity="0" value="0" />
+ <value cell_index="15973" local_entity="0" value="0" />
+ <value cell_index="15974" local_entity="0" value="0" />
+ <value cell_index="15975" local_entity="0" value="0" />
+ <value cell_index="15976" local_entity="0" value="0" />
+ <value cell_index="15977" local_entity="0" value="0" />
+ <value cell_index="15978" local_entity="0" value="0" />
+ <value cell_index="15979" local_entity="0" value="0" />
+ <value cell_index="15980" local_entity="0" value="0" />
+ <value cell_index="15981" local_entity="0" value="0" />
+ <value cell_index="15982" local_entity="0" value="0" />
+ <value cell_index="15983" local_entity="0" value="0" />
+ <value cell_index="15984" local_entity="0" value="0" />
+ <value cell_index="15985" local_entity="0" value="0" />
+ <value cell_index="15986" local_entity="0" value="0" />
+ <value cell_index="15987" local_entity="0" value="0" />
+ <value cell_index="15988" local_entity="0" value="0" />
+ <value cell_index="15989" local_entity="0" value="0" />
+ <value cell_index="15990" local_entity="0" value="0" />
+ <value cell_index="15991" local_entity="0" value="0" />
+ <value cell_index="15992" local_entity="0" value="0" />
+ <value cell_index="15993" local_entity="0" value="0" />
+ <value cell_index="15994" local_entity="0" value="0" />
+ <value cell_index="15995" local_entity="0" value="0" />
+ <value cell_index="15996" local_entity="0" value="0" />
+ <value cell_index="15997" local_entity="0" value="0" />
+ <value cell_index="15998" local_entity="0" value="0" />
+ <value cell_index="15999" local_entity="0" value="0" />
+ <value cell_index="16000" local_entity="0" value="0" />
+ <value cell_index="16001" local_entity="0" value="0" />
+ <value cell_index="16002" local_entity="0" value="0" />
+ <value cell_index="16003" local_entity="0" value="0" />
+ <value cell_index="16004" local_entity="0" value="0" />
+ <value cell_index="16005" local_entity="0" value="0" />
+ <value cell_index="16006" local_entity="0" value="0" />
+ <value cell_index="16007" local_entity="0" value="0" />
+ <value cell_index="16008" local_entity="0" value="0" />
+ <value cell_index="16009" local_entity="0" value="0" />
+ <value cell_index="16010" local_entity="0" value="0" />
+ <value cell_index="16011" local_entity="0" value="0" />
+ <value cell_index="16012" local_entity="0" value="0" />
+ <value cell_index="16013" local_entity="0" value="0" />
+ <value cell_index="16014" local_entity="0" value="0" />
+ <value cell_index="16015" local_entity="0" value="0" />
+ <value cell_index="16016" local_entity="0" value="0" />
+ <value cell_index="16017" local_entity="0" value="0" />
+ <value cell_index="16018" local_entity="0" value="0" />
+ <value cell_index="16019" local_entity="0" value="0" />
+ <value cell_index="16020" local_entity="0" value="0" />
+ <value cell_index="16021" local_entity="0" value="0" />
+ <value cell_index="16022" local_entity="0" value="0" />
+ <value cell_index="16023" local_entity="0" value="0" />
+ <value cell_index="16024" local_entity="0" value="0" />
+ <value cell_index="16025" local_entity="0" value="0" />
+ <value cell_index="16026" local_entity="0" value="0" />
+ <value cell_index="16027" local_entity="0" value="0" />
+ <value cell_index="16028" local_entity="0" value="0" />
+ <value cell_index="16029" local_entity="0" value="0" />
+ <value cell_index="16030" local_entity="0" value="0" />
+ <value cell_index="16031" local_entity="0" value="0" />
+ <value cell_index="16032" local_entity="0" value="0" />
+ <value cell_index="16033" local_entity="0" value="0" />
+ <value cell_index="16034" local_entity="0" value="0" />
+ <value cell_index="16035" local_entity="0" value="0" />
+ <value cell_index="16036" local_entity="0" value="0" />
+ <value cell_index="16037" local_entity="0" value="0" />
+ <value cell_index="16038" local_entity="0" value="0" />
+ <value cell_index="16039" local_entity="0" value="0" />
+ <value cell_index="16040" local_entity="0" value="0" />
+ <value cell_index="16041" local_entity="0" value="0" />
+ <value cell_index="16042" local_entity="0" value="0" />
+ <value cell_index="16043" local_entity="0" value="0" />
+ <value cell_index="16044" local_entity="0" value="0" />
+ <value cell_index="16045" local_entity="0" value="0" />
+ <value cell_index="16046" local_entity="0" value="0" />
+ <value cell_index="16047" local_entity="0" value="0" />
+ <value cell_index="16048" local_entity="0" value="0" />
+ <value cell_index="16049" local_entity="0" value="0" />
+ <value cell_index="16050" local_entity="0" value="0" />
+ <value cell_index="16051" local_entity="0" value="0" />
+ <value cell_index="16052" local_entity="0" value="0" />
+ <value cell_index="16053" local_entity="0" value="0" />
+ <value cell_index="16054" local_entity="0" value="0" />
+ <value cell_index="16055" local_entity="0" value="0" />
+ <value cell_index="16056" local_entity="0" value="0" />
+ <value cell_index="16057" local_entity="0" value="0" />
+ <value cell_index="16058" local_entity="0" value="0" />
+ <value cell_index="16059" local_entity="0" value="0" />
+ <value cell_index="16060" local_entity="0" value="0" />
+ <value cell_index="16061" local_entity="0" value="0" />
+ <value cell_index="16062" local_entity="0" value="0" />
+ <value cell_index="16063" local_entity="0" value="0" />
+ <value cell_index="16064" local_entity="0" value="0" />
+ <value cell_index="16065" local_entity="0" value="0" />
+ <value cell_index="16066" local_entity="0" value="0" />
+ <value cell_index="16067" local_entity="0" value="0" />
+ <value cell_index="16068" local_entity="0" value="0" />
+ <value cell_index="16069" local_entity="0" value="0" />
+ <value cell_index="16070" local_entity="0" value="0" />
+ <value cell_index="16071" local_entity="0" value="0" />
+ <value cell_index="16072" local_entity="0" value="0" />
+ <value cell_index="16073" local_entity="0" value="0" />
+ <value cell_index="16074" local_entity="0" value="0" />
+ <value cell_index="16075" local_entity="0" value="0" />
+ <value cell_index="16076" local_entity="0" value="0" />
+ <value cell_index="16077" local_entity="0" value="0" />
+ <value cell_index="16078" local_entity="0" value="0" />
+ <value cell_index="16079" local_entity="0" value="0" />
+ <value cell_index="16080" local_entity="0" value="0" />
+ <value cell_index="16081" local_entity="0" value="0" />
+ <value cell_index="16082" local_entity="0" value="0" />
+ <value cell_index="16083" local_entity="0" value="0" />
+ <value cell_index="16084" local_entity="0" value="0" />
+ <value cell_index="16085" local_entity="0" value="0" />
+ <value cell_index="16086" local_entity="0" value="0" />
+ <value cell_index="16087" local_entity="0" value="0" />
+ <value cell_index="16088" local_entity="0" value="0" />
+ <value cell_index="16089" local_entity="0" value="0" />
+ <value cell_index="16090" local_entity="0" value="0" />
+ <value cell_index="16091" local_entity="0" value="0" />
+ <value cell_index="16092" local_entity="0" value="0" />
+ <value cell_index="16093" local_entity="0" value="0" />
+ <value cell_index="16094" local_entity="0" value="0" />
+ <value cell_index="16095" local_entity="0" value="0" />
+ <value cell_index="16096" local_entity="0" value="0" />
+ <value cell_index="16097" local_entity="0" value="0" />
+ <value cell_index="16098" local_entity="0" value="0" />
+ <value cell_index="16099" local_entity="0" value="0" />
+ <value cell_index="16100" local_entity="0" value="0" />
+ <value cell_index="16101" local_entity="0" value="0" />
+ <value cell_index="16102" local_entity="0" value="0" />
+ <value cell_index="16103" local_entity="0" value="0" />
+ <value cell_index="16104" local_entity="0" value="0" />
+ <value cell_index="16105" local_entity="0" value="0" />
+ <value cell_index="16106" local_entity="0" value="0" />
+ <value cell_index="16107" local_entity="0" value="0" />
+ <value cell_index="16108" local_entity="0" value="0" />
+ <value cell_index="16109" local_entity="0" value="0" />
+ <value cell_index="16110" local_entity="0" value="0" />
+ <value cell_index="16111" local_entity="0" value="0" />
+ <value cell_index="16112" local_entity="0" value="0" />
+ <value cell_index="16113" local_entity="0" value="0" />
+ <value cell_index="16114" local_entity="0" value="0" />
+ <value cell_index="16115" local_entity="0" value="0" />
+ <value cell_index="16116" local_entity="0" value="0" />
+ <value cell_index="16117" local_entity="0" value="0" />
+ <value cell_index="16118" local_entity="0" value="0" />
+ <value cell_index="16119" local_entity="0" value="0" />
+ <value cell_index="16120" local_entity="0" value="0" />
+ <value cell_index="16121" local_entity="0" value="0" />
+ <value cell_index="16122" local_entity="0" value="0" />
+ <value cell_index="16123" local_entity="0" value="0" />
+ <value cell_index="16124" local_entity="0" value="0" />
+ <value cell_index="16125" local_entity="0" value="0" />
+ <value cell_index="16126" local_entity="0" value="0" />
+ <value cell_index="16127" local_entity="0" value="0" />
+ <value cell_index="16128" local_entity="0" value="0" />
+ <value cell_index="16129" local_entity="0" value="0" />
+ <value cell_index="16130" local_entity="0" value="0" />
+ <value cell_index="16131" local_entity="0" value="0" />
+ <value cell_index="16132" local_entity="0" value="0" />
+ <value cell_index="16133" local_entity="0" value="0" />
+ <value cell_index="16134" local_entity="0" value="0" />
+ <value cell_index="16135" local_entity="0" value="0" />
+ <value cell_index="16136" local_entity="0" value="0" />
+ <value cell_index="16137" local_entity="0" value="0" />
+ <value cell_index="16138" local_entity="0" value="0" />
+ <value cell_index="16139" local_entity="0" value="0" />
+ <value cell_index="16140" local_entity="0" value="0" />
+ <value cell_index="16141" local_entity="0" value="0" />
+ <value cell_index="16142" local_entity="0" value="0" />
+ <value cell_index="16143" local_entity="0" value="0" />
+ <value cell_index="16144" local_entity="0" value="0" />
+ <value cell_index="16145" local_entity="0" value="0" />
+ <value cell_index="16146" local_entity="0" value="0" />
+ <value cell_index="16147" local_entity="0" value="0" />
+ <value cell_index="16148" local_entity="0" value="0" />
+ <value cell_index="16149" local_entity="0" value="0" />
+ <value cell_index="16150" local_entity="0" value="0" />
+ <value cell_index="16151" local_entity="0" value="0" />
+ <value cell_index="16152" local_entity="0" value="0" />
+ <value cell_index="16153" local_entity="0" value="0" />
+ <value cell_index="16154" local_entity="0" value="0" />
+ <value cell_index="16155" local_entity="0" value="0" />
+ <value cell_index="16156" local_entity="0" value="0" />
+ <value cell_index="16157" local_entity="0" value="0" />
+ <value cell_index="16158" local_entity="0" value="0" />
+ <value cell_index="16159" local_entity="0" value="0" />
+ <value cell_index="16160" local_entity="0" value="0" />
+ <value cell_index="16161" local_entity="0" value="0" />
+ <value cell_index="16162" local_entity="0" value="0" />
+ <value cell_index="16163" local_entity="0" value="0" />
+ <value cell_index="16164" local_entity="0" value="0" />
+ <value cell_index="16165" local_entity="0" value="0" />
+ <value cell_index="16166" local_entity="0" value="0" />
+ <value cell_index="16167" local_entity="0" value="0" />
+ <value cell_index="16168" local_entity="0" value="0" />
+ <value cell_index="16169" local_entity="0" value="0" />
+ <value cell_index="16170" local_entity="0" value="0" />
+ <value cell_index="16171" local_entity="0" value="0" />
+ <value cell_index="16172" local_entity="0" value="0" />
+ <value cell_index="16173" local_entity="0" value="0" />
+ <value cell_index="16174" local_entity="0" value="0" />
+ <value cell_index="16175" local_entity="0" value="0" />
+ <value cell_index="16176" local_entity="0" value="0" />
+ <value cell_index="16177" local_entity="0" value="0" />
+ <value cell_index="16178" local_entity="0" value="0" />
+ <value cell_index="16179" local_entity="0" value="0" />
+ <value cell_index="16180" local_entity="0" value="0" />
+ <value cell_index="16181" local_entity="0" value="0" />
+ <value cell_index="16182" local_entity="0" value="0" />
+ <value cell_index="16183" local_entity="0" value="0" />
+ <value cell_index="16184" local_entity="0" value="0" />
+ <value cell_index="16185" local_entity="0" value="0" />
+ <value cell_index="16186" local_entity="0" value="0" />
+ <value cell_index="16187" local_entity="0" value="0" />
+ <value cell_index="16188" local_entity="0" value="0" />
+ <value cell_index="16189" local_entity="0" value="0" />
+ <value cell_index="16190" local_entity="0" value="0" />
+ <value cell_index="16191" local_entity="0" value="0" />
+ <value cell_index="16192" local_entity="0" value="0" />
+ <value cell_index="16193" local_entity="0" value="0" />
+ <value cell_index="16194" local_entity="0" value="0" />
+ <value cell_index="16195" local_entity="0" value="0" />
+ <value cell_index="16196" local_entity="0" value="0" />
+ <value cell_index="16197" local_entity="0" value="0" />
+ <value cell_index="16198" local_entity="0" value="0" />
+ <value cell_index="16199" local_entity="0" value="0" />
+ <value cell_index="16200" local_entity="0" value="0" />
+ <value cell_index="16201" local_entity="0" value="0" />
+ <value cell_index="16202" local_entity="0" value="0" />
+ <value cell_index="16203" local_entity="0" value="0" />
+ <value cell_index="16204" local_entity="0" value="0" />
+ <value cell_index="16205" local_entity="0" value="0" />
+ <value cell_index="16206" local_entity="0" value="0" />
+ <value cell_index="16207" local_entity="0" value="0" />
+ <value cell_index="16208" local_entity="0" value="0" />
+ <value cell_index="16209" local_entity="0" value="0" />
+ <value cell_index="16210" local_entity="0" value="0" />
+ <value cell_index="16211" local_entity="0" value="0" />
+ <value cell_index="16212" local_entity="0" value="0" />
+ <value cell_index="16213" local_entity="0" value="0" />
+ <value cell_index="16214" local_entity="0" value="0" />
+ <value cell_index="16215" local_entity="0" value="0" />
+ <value cell_index="16216" local_entity="0" value="0" />
+ <value cell_index="16217" local_entity="0" value="0" />
+ <value cell_index="16218" local_entity="0" value="0" />
+ <value cell_index="16219" local_entity="0" value="0" />
+ <value cell_index="16220" local_entity="0" value="0" />
+ <value cell_index="16221" local_entity="0" value="0" />
+ <value cell_index="16222" local_entity="0" value="0" />
+ <value cell_index="16223" local_entity="0" value="0" />
+ <value cell_index="16224" local_entity="0" value="0" />
+ <value cell_index="16225" local_entity="0" value="0" />
+ <value cell_index="16226" local_entity="0" value="0" />
+ <value cell_index="16227" local_entity="0" value="0" />
+ <value cell_index="16228" local_entity="0" value="0" />
+ <value cell_index="16229" local_entity="0" value="0" />
+ <value cell_index="16230" local_entity="0" value="0" />
+ <value cell_index="16231" local_entity="0" value="0" />
+ <value cell_index="16232" local_entity="0" value="0" />
+ <value cell_index="16233" local_entity="0" value="0" />
+ <value cell_index="16234" local_entity="0" value="0" />
+ <value cell_index="16235" local_entity="0" value="0" />
+ <value cell_index="16236" local_entity="0" value="0" />
+ <value cell_index="16237" local_entity="0" value="0" />
+ <value cell_index="16238" local_entity="0" value="0" />
+ <value cell_index="16239" local_entity="0" value="0" />
+ <value cell_index="16240" local_entity="0" value="0" />
+ <value cell_index="16241" local_entity="0" value="0" />
+ <value cell_index="16242" local_entity="0" value="0" />
+ <value cell_index="16243" local_entity="0" value="0" />
+ <value cell_index="16244" local_entity="0" value="0" />
+ <value cell_index="16245" local_entity="0" value="0" />
+ <value cell_index="16246" local_entity="0" value="0" />
+ <value cell_index="16247" local_entity="0" value="0" />
+ <value cell_index="16248" local_entity="0" value="0" />
+ <value cell_index="16249" local_entity="0" value="0" />
+ <value cell_index="16250" local_entity="0" value="0" />
+ <value cell_index="16251" local_entity="0" value="0" />
+ <value cell_index="16252" local_entity="0" value="0" />
+ <value cell_index="16253" local_entity="0" value="0" />
+ <value cell_index="16254" local_entity="0" value="0" />
+ <value cell_index="16255" local_entity="0" value="0" />
+ <value cell_index="16256" local_entity="0" value="0" />
+ <value cell_index="16257" local_entity="0" value="0" />
+ <value cell_index="16258" local_entity="0" value="0" />
+ <value cell_index="16259" local_entity="0" value="0" />
+ <value cell_index="16260" local_entity="0" value="0" />
+ <value cell_index="16261" local_entity="0" value="0" />
+ <value cell_index="16262" local_entity="0" value="0" />
+ <value cell_index="16263" local_entity="0" value="0" />
+ <value cell_index="16264" local_entity="0" value="0" />
+ <value cell_index="16265" local_entity="0" value="0" />
+ <value cell_index="16266" local_entity="0" value="0" />
+ <value cell_index="16267" local_entity="0" value="0" />
+ <value cell_index="16268" local_entity="0" value="0" />
+ <value cell_index="16269" local_entity="0" value="0" />
+ <value cell_index="16270" local_entity="0" value="0" />
+ <value cell_index="16271" local_entity="0" value="0" />
+ <value cell_index="16272" local_entity="0" value="0" />
+ <value cell_index="16273" local_entity="0" value="0" />
+ <value cell_index="16274" local_entity="0" value="0" />
+ <value cell_index="16275" local_entity="0" value="0" />
+ <value cell_index="16276" local_entity="0" value="0" />
+ <value cell_index="16277" local_entity="0" value="0" />
+ <value cell_index="16278" local_entity="0" value="0" />
+ <value cell_index="16279" local_entity="0" value="0" />
+ <value cell_index="16280" local_entity="0" value="0" />
+ <value cell_index="16281" local_entity="0" value="0" />
+ <value cell_index="16282" local_entity="0" value="0" />
+ <value cell_index="16283" local_entity="0" value="0" />
+ <value cell_index="16284" local_entity="0" value="0" />
+ <value cell_index="16285" local_entity="0" value="0" />
+ <value cell_index="16286" local_entity="0" value="0" />
+ <value cell_index="16287" local_entity="0" value="0" />
+ <value cell_index="16288" local_entity="0" value="0" />
+ <value cell_index="16289" local_entity="0" value="0" />
+ <value cell_index="16290" local_entity="0" value="0" />
+ <value cell_index="16291" local_entity="0" value="0" />
+ <value cell_index="16292" local_entity="0" value="0" />
+ <value cell_index="16293" local_entity="0" value="0" />
+ <value cell_index="16294" local_entity="0" value="0" />
+ <value cell_index="16295" local_entity="0" value="0" />
+ <value cell_index="16296" local_entity="0" value="0" />
+ <value cell_index="16297" local_entity="0" value="0" />
+ <value cell_index="16298" local_entity="0" value="0" />
+ <value cell_index="16299" local_entity="0" value="0" />
+ <value cell_index="16300" local_entity="0" value="0" />
+ <value cell_index="16301" local_entity="0" value="0" />
+ <value cell_index="16302" local_entity="0" value="0" />
+ <value cell_index="16303" local_entity="0" value="0" />
+ <value cell_index="16304" local_entity="0" value="0" />
+ <value cell_index="16305" local_entity="0" value="0" />
+ <value cell_index="16306" local_entity="0" value="0" />
+ <value cell_index="16307" local_entity="0" value="0" />
+ <value cell_index="16308" local_entity="0" value="0" />
+ <value cell_index="16309" local_entity="0" value="0" />
+ <value cell_index="16310" local_entity="0" value="0" />
+ <value cell_index="16311" local_entity="0" value="0" />
+ <value cell_index="16312" local_entity="0" value="0" />
+ <value cell_index="16313" local_entity="0" value="0" />
+ <value cell_index="16314" local_entity="0" value="0" />
+ <value cell_index="16315" local_entity="0" value="0" />
+ <value cell_index="16316" local_entity="0" value="0" />
+ <value cell_index="16317" local_entity="0" value="0" />
+ <value cell_index="16318" local_entity="0" value="0" />
+ <value cell_index="16319" local_entity="0" value="0" />
+ <value cell_index="16320" local_entity="0" value="0" />
+ <value cell_index="16321" local_entity="0" value="0" />
+ <value cell_index="16322" local_entity="0" value="0" />
+ <value cell_index="16323" local_entity="0" value="0" />
+ <value cell_index="16324" local_entity="0" value="0" />
+ <value cell_index="16325" local_entity="0" value="0" />
+ <value cell_index="16326" local_entity="0" value="0" />
+ <value cell_index="16327" local_entity="0" value="0" />
+ <value cell_index="16328" local_entity="0" value="0" />
+ <value cell_index="16329" local_entity="0" value="0" />
+ <value cell_index="16330" local_entity="0" value="0" />
+ <value cell_index="16331" local_entity="0" value="0" />
+ <value cell_index="16332" local_entity="0" value="0" />
+ <value cell_index="16333" local_entity="0" value="0" />
+ <value cell_index="16334" local_entity="0" value="0" />
+ <value cell_index="16335" local_entity="0" value="0" />
+ <value cell_index="16336" local_entity="0" value="0" />
+ <value cell_index="16337" local_entity="0" value="0" />
+ <value cell_index="16338" local_entity="0" value="0" />
+ <value cell_index="16339" local_entity="0" value="0" />
+ <value cell_index="16340" local_entity="0" value="0" />
+ <value cell_index="16341" local_entity="0" value="0" />
+ <value cell_index="16342" local_entity="0" value="0" />
+ <value cell_index="16343" local_entity="0" value="0" />
+ <value cell_index="16344" local_entity="0" value="0" />
+ <value cell_index="16345" local_entity="0" value="0" />
+ <value cell_index="16346" local_entity="0" value="0" />
+ <value cell_index="16347" local_entity="0" value="0" />
+ <value cell_index="16348" local_entity="0" value="0" />
+ <value cell_index="16349" local_entity="0" value="0" />
+ <value cell_index="16350" local_entity="0" value="0" />
+ <value cell_index="16351" local_entity="0" value="0" />
+ <value cell_index="16352" local_entity="0" value="0" />
+ <value cell_index="16353" local_entity="0" value="0" />
+ <value cell_index="16354" local_entity="0" value="0" />
+ <value cell_index="16355" local_entity="0" value="0" />
+ <value cell_index="16356" local_entity="0" value="0" />
+ <value cell_index="16357" local_entity="0" value="0" />
+ <value cell_index="16358" local_entity="0" value="0" />
+ <value cell_index="16359" local_entity="0" value="0" />
+ <value cell_index="16360" local_entity="0" value="0" />
+ <value cell_index="16361" local_entity="0" value="0" />
+ <value cell_index="16362" local_entity="0" value="0" />
+ <value cell_index="16363" local_entity="0" value="0" />
+ <value cell_index="16364" local_entity="0" value="0" />
+ <value cell_index="16365" local_entity="0" value="0" />
+ <value cell_index="16366" local_entity="0" value="0" />
+ <value cell_index="16367" local_entity="0" value="0" />
+ <value cell_index="16368" local_entity="0" value="0" />
+ <value cell_index="16369" local_entity="0" value="0" />
+ <value cell_index="16370" local_entity="0" value="0" />
+ <value cell_index="16371" local_entity="0" value="0" />
+ <value cell_index="16372" local_entity="0" value="0" />
+ <value cell_index="16373" local_entity="0" value="0" />
+ <value cell_index="16374" local_entity="0" value="0" />
+ <value cell_index="16375" local_entity="0" value="0" />
+ <value cell_index="16376" local_entity="0" value="0" />
+ <value cell_index="16377" local_entity="0" value="0" />
+ <value cell_index="16378" local_entity="0" value="0" />
+ <value cell_index="16379" local_entity="0" value="0" />
+ <value cell_index="16380" local_entity="0" value="0" />
+ <value cell_index="16381" local_entity="0" value="0" />
+ <value cell_index="16382" local_entity="0" value="0" />
+ <value cell_index="16383" local_entity="0" value="0" />
+ <value cell_index="16384" local_entity="0" value="0" />
+ <value cell_index="16385" local_entity="0" value="0" />
+ <value cell_index="16386" local_entity="0" value="0" />
+ <value cell_index="16387" local_entity="0" value="0" />
+ <value cell_index="16388" local_entity="0" value="0" />
+ <value cell_index="16389" local_entity="0" value="0" />
+ <value cell_index="16390" local_entity="0" value="0" />
+ <value cell_index="16391" local_entity="0" value="0" />
+ <value cell_index="16392" local_entity="0" value="0" />
+ <value cell_index="16393" local_entity="0" value="0" />
+ <value cell_index="16394" local_entity="0" value="0" />
+ <value cell_index="16395" local_entity="0" value="0" />
+ <value cell_index="16396" local_entity="0" value="0" />
+ <value cell_index="16397" local_entity="0" value="0" />
+ <value cell_index="16398" local_entity="0" value="0" />
+ <value cell_index="16399" local_entity="0" value="0" />
+ <value cell_index="16400" local_entity="0" value="0" />
+ <value cell_index="16401" local_entity="0" value="0" />
+ <value cell_index="16402" local_entity="0" value="0" />
+ <value cell_index="16403" local_entity="0" value="0" />
+ <value cell_index="16404" local_entity="0" value="0" />
+ <value cell_index="16405" local_entity="0" value="0" />
+ <value cell_index="16406" local_entity="0" value="0" />
+ <value cell_index="16407" local_entity="0" value="0" />
+ <value cell_index="16408" local_entity="0" value="0" />
+ <value cell_index="16409" local_entity="0" value="0" />
+ <value cell_index="16410" local_entity="0" value="0" />
+ <value cell_index="16411" local_entity="0" value="0" />
+ <value cell_index="16412" local_entity="0" value="0" />
+ <value cell_index="16413" local_entity="0" value="0" />
+ <value cell_index="16414" local_entity="0" value="0" />
+ <value cell_index="16415" local_entity="0" value="0" />
+ <value cell_index="16416" local_entity="0" value="0" />
+ <value cell_index="16417" local_entity="0" value="0" />
+ <value cell_index="16418" local_entity="0" value="0" />
+ <value cell_index="16419" local_entity="0" value="0" />
+ <value cell_index="16420" local_entity="0" value="0" />
+ <value cell_index="16421" local_entity="0" value="0" />
+ <value cell_index="16422" local_entity="0" value="0" />
+ <value cell_index="16423" local_entity="0" value="0" />
+ <value cell_index="16424" local_entity="0" value="0" />
+ <value cell_index="16425" local_entity="0" value="0" />
+ <value cell_index="16426" local_entity="0" value="0" />
+ <value cell_index="16427" local_entity="0" value="0" />
+ <value cell_index="16428" local_entity="0" value="0" />
+ <value cell_index="16429" local_entity="0" value="0" />
+ <value cell_index="16430" local_entity="0" value="0" />
+ <value cell_index="16431" local_entity="0" value="0" />
+ <value cell_index="16432" local_entity="0" value="0" />
+ <value cell_index="16433" local_entity="0" value="0" />
+ <value cell_index="16434" local_entity="0" value="0" />
+ <value cell_index="16435" local_entity="0" value="0" />
+ <value cell_index="16436" local_entity="0" value="0" />
+ <value cell_index="16437" local_entity="0" value="0" />
+ <value cell_index="16438" local_entity="0" value="0" />
+ <value cell_index="16439" local_entity="0" value="0" />
+ <value cell_index="16440" local_entity="0" value="0" />
+ <value cell_index="16441" local_entity="0" value="0" />
+ <value cell_index="16442" local_entity="0" value="0" />
+ <value cell_index="16443" local_entity="0" value="0" />
+ <value cell_index="16444" local_entity="0" value="0" />
+ <value cell_index="16445" local_entity="0" value="0" />
+ <value cell_index="16446" local_entity="0" value="0" />
+ <value cell_index="16447" local_entity="0" value="0" />
+ <value cell_index="16448" local_entity="0" value="0" />
+ <value cell_index="16449" local_entity="0" value="0" />
+ <value cell_index="16450" local_entity="0" value="0" />
+ <value cell_index="16451" local_entity="0" value="0" />
+ <value cell_index="16452" local_entity="0" value="0" />
+ <value cell_index="16453" local_entity="0" value="0" />
+ <value cell_index="16454" local_entity="0" value="0" />
+ <value cell_index="16455" local_entity="0" value="0" />
+ <value cell_index="16456" local_entity="0" value="0" />
+ <value cell_index="16457" local_entity="0" value="0" />
+ <value cell_index="16458" local_entity="0" value="0" />
+ <value cell_index="16459" local_entity="0" value="0" />
+ <value cell_index="16460" local_entity="0" value="0" />
+ <value cell_index="16461" local_entity="0" value="0" />
+ <value cell_index="16462" local_entity="0" value="0" />
+ <value cell_index="16463" local_entity="0" value="0" />
+ <value cell_index="16464" local_entity="0" value="0" />
+ <value cell_index="16465" local_entity="0" value="0" />
+ <value cell_index="16466" local_entity="0" value="0" />
+ <value cell_index="16467" local_entity="0" value="0" />
+ <value cell_index="16468" local_entity="0" value="0" />
+ <value cell_index="16469" local_entity="0" value="0" />
+ <value cell_index="16470" local_entity="0" value="0" />
+ <value cell_index="16471" local_entity="0" value="0" />
+ <value cell_index="16472" local_entity="0" value="0" />
+ <value cell_index="16473" local_entity="0" value="0" />
+ <value cell_index="16474" local_entity="0" value="0" />
+ <value cell_index="16475" local_entity="0" value="0" />
+ <value cell_index="16476" local_entity="0" value="0" />
+ <value cell_index="16477" local_entity="0" value="0" />
+ <value cell_index="16478" local_entity="0" value="0" />
+ <value cell_index="16479" local_entity="0" value="0" />
+ <value cell_index="16480" local_entity="0" value="0" />
+ <value cell_index="16481" local_entity="0" value="0" />
+ <value cell_index="16482" local_entity="0" value="0" />
+ <value cell_index="16483" local_entity="0" value="0" />
+ <value cell_index="16484" local_entity="0" value="0" />
+ <value cell_index="16485" local_entity="0" value="0" />
+ <value cell_index="16486" local_entity="0" value="0" />
+ <value cell_index="16487" local_entity="0" value="0" />
+ <value cell_index="16488" local_entity="0" value="0" />
+ <value cell_index="16489" local_entity="0" value="0" />
+ <value cell_index="16490" local_entity="0" value="0" />
+ <value cell_index="16491" local_entity="0" value="0" />
+ <value cell_index="16492" local_entity="0" value="0" />
+ <value cell_index="16493" local_entity="0" value="0" />
+ <value cell_index="16494" local_entity="0" value="0" />
+ <value cell_index="16495" local_entity="0" value="0" />
+ <value cell_index="16496" local_entity="0" value="0" />
+ <value cell_index="16497" local_entity="0" value="0" />
+ <value cell_index="16498" local_entity="0" value="0" />
+ <value cell_index="16499" local_entity="0" value="0" />
+ <value cell_index="16500" local_entity="0" value="0" />
+ <value cell_index="16501" local_entity="0" value="0" />
+ <value cell_index="16502" local_entity="0" value="0" />
+ <value cell_index="16503" local_entity="0" value="0" />
+ <value cell_index="16504" local_entity="0" value="0" />
+ <value cell_index="16505" local_entity="0" value="0" />
+ <value cell_index="16506" local_entity="0" value="0" />
+ <value cell_index="16507" local_entity="0" value="0" />
+ <value cell_index="16508" local_entity="0" value="0" />
+ <value cell_index="16509" local_entity="0" value="0" />
+ <value cell_index="16510" local_entity="0" value="0" />
+ <value cell_index="16511" local_entity="0" value="0" />
+ <value cell_index="16512" local_entity="0" value="0" />
+ <value cell_index="16513" local_entity="0" value="0" />
+ <value cell_index="16514" local_entity="0" value="0" />
+ <value cell_index="16515" local_entity="0" value="0" />
+ <value cell_index="16516" local_entity="0" value="0" />
+ <value cell_index="16517" local_entity="0" value="0" />
+ <value cell_index="16518" local_entity="0" value="0" />
+ <value cell_index="16519" local_entity="0" value="0" />
+ <value cell_index="16520" local_entity="0" value="0" />
+ <value cell_index="16521" local_entity="0" value="0" />
+ <value cell_index="16522" local_entity="0" value="0" />
+ <value cell_index="16523" local_entity="0" value="0" />
+ <value cell_index="16524" local_entity="0" value="0" />
+ <value cell_index="16525" local_entity="0" value="0" />
+ <value cell_index="16526" local_entity="0" value="0" />
+ <value cell_index="16527" local_entity="0" value="0" />
+ <value cell_index="16528" local_entity="0" value="0" />
+ <value cell_index="16529" local_entity="0" value="0" />
+ <value cell_index="16530" local_entity="0" value="0" />
+ <value cell_index="16531" local_entity="0" value="0" />
+ <value cell_index="16532" local_entity="0" value="0" />
+ <value cell_index="16533" local_entity="0" value="0" />
+ <value cell_index="16534" local_entity="0" value="0" />
+ <value cell_index="16535" local_entity="0" value="0" />
+ <value cell_index="16536" local_entity="0" value="0" />
+ <value cell_index="16537" local_entity="0" value="0" />
+ <value cell_index="16538" local_entity="0" value="0" />
+ <value cell_index="16539" local_entity="0" value="0" />
+ <value cell_index="16540" local_entity="0" value="0" />
+ <value cell_index="16541" local_entity="0" value="0" />
+ <value cell_index="16542" local_entity="0" value="0" />
+ <value cell_index="16543" local_entity="0" value="0" />
+ <value cell_index="16544" local_entity="0" value="0" />
+ <value cell_index="16545" local_entity="0" value="0" />
+ <value cell_index="16546" local_entity="0" value="0" />
+ <value cell_index="16547" local_entity="0" value="0" />
+ <value cell_index="16548" local_entity="0" value="0" />
+ <value cell_index="16549" local_entity="0" value="0" />
+ <value cell_index="16550" local_entity="0" value="0" />
+ <value cell_index="16551" local_entity="0" value="0" />
+ <value cell_index="16552" local_entity="0" value="0" />
+ <value cell_index="16553" local_entity="0" value="0" />
+ <value cell_index="16554" local_entity="0" value="0" />
+ <value cell_index="16555" local_entity="0" value="0" />
+ <value cell_index="16556" local_entity="0" value="0" />
+ <value cell_index="16557" local_entity="0" value="0" />
+ <value cell_index="16558" local_entity="0" value="0" />
+ <value cell_index="16559" local_entity="0" value="0" />
+ <value cell_index="16560" local_entity="0" value="0" />
+ <value cell_index="16561" local_entity="0" value="0" />
+ <value cell_index="16562" local_entity="0" value="0" />
+ <value cell_index="16563" local_entity="0" value="0" />
+ <value cell_index="16564" local_entity="0" value="0" />
+ <value cell_index="16565" local_entity="0" value="0" />
+ <value cell_index="16566" local_entity="0" value="0" />
+ <value cell_index="16567" local_entity="0" value="0" />
+ <value cell_index="16568" local_entity="0" value="0" />
+ <value cell_index="16569" local_entity="0" value="0" />
+ <value cell_index="16570" local_entity="0" value="0" />
+ <value cell_index="16571" local_entity="0" value="0" />
+ <value cell_index="16572" local_entity="0" value="0" />
+ <value cell_index="16573" local_entity="0" value="0" />
+ <value cell_index="16574" local_entity="0" value="0" />
+ <value cell_index="16575" local_entity="0" value="0" />
+ <value cell_index="16576" local_entity="0" value="0" />
+ <value cell_index="16577" local_entity="0" value="0" />
+ <value cell_index="16578" local_entity="0" value="0" />
+ <value cell_index="16579" local_entity="0" value="0" />
+ <value cell_index="16580" local_entity="0" value="0" />
+ <value cell_index="16581" local_entity="0" value="0" />
+ <value cell_index="16582" local_entity="0" value="0" />
+ <value cell_index="16583" local_entity="0" value="0" />
+ <value cell_index="16584" local_entity="0" value="0" />
+ <value cell_index="16585" local_entity="0" value="0" />
+ <value cell_index="16586" local_entity="0" value="0" />
+ <value cell_index="16587" local_entity="0" value="0" />
+ <value cell_index="16588" local_entity="0" value="0" />
+ <value cell_index="16589" local_entity="0" value="0" />
+ <value cell_index="16590" local_entity="0" value="0" />
+ <value cell_index="16591" local_entity="0" value="0" />
+ <value cell_index="16592" local_entity="0" value="0" />
+ <value cell_index="16593" local_entity="0" value="0" />
+ <value cell_index="16594" local_entity="0" value="0" />
+ <value cell_index="16595" local_entity="0" value="0" />
+ <value cell_index="16596" local_entity="0" value="0" />
+ <value cell_index="16597" local_entity="0" value="0" />
+ <value cell_index="16598" local_entity="0" value="0" />
+ <value cell_index="16599" local_entity="0" value="0" />
+ <value cell_index="16600" local_entity="0" value="0" />
+ <value cell_index="16601" local_entity="0" value="0" />
+ <value cell_index="16602" local_entity="0" value="0" />
+ <value cell_index="16603" local_entity="0" value="0" />
+ <value cell_index="16604" local_entity="0" value="0" />
+ <value cell_index="16605" local_entity="0" value="0" />
+ <value cell_index="16606" local_entity="0" value="0" />
+ <value cell_index="16607" local_entity="0" value="0" />
+ <value cell_index="16608" local_entity="0" value="0" />
+ <value cell_index="16609" local_entity="0" value="0" />
+ <value cell_index="16610" local_entity="0" value="0" />
+ <value cell_index="16611" local_entity="0" value="0" />
+ <value cell_index="16612" local_entity="0" value="0" />
+ <value cell_index="16613" local_entity="0" value="0" />
+ <value cell_index="16614" local_entity="0" value="0" />
+ <value cell_index="16615" local_entity="0" value="0" />
+ <value cell_index="16616" local_entity="0" value="0" />
+ <value cell_index="16617" local_entity="0" value="0" />
+ <value cell_index="16618" local_entity="0" value="0" />
+ <value cell_index="16619" local_entity="0" value="0" />
+ <value cell_index="16620" local_entity="0" value="0" />
+ <value cell_index="16621" local_entity="0" value="0" />
+ <value cell_index="16622" local_entity="0" value="0" />
+ <value cell_index="16623" local_entity="0" value="0" />
+ <value cell_index="16624" local_entity="0" value="0" />
+ <value cell_index="16625" local_entity="0" value="0" />
+ <value cell_index="16626" local_entity="0" value="0" />
+ <value cell_index="16627" local_entity="0" value="0" />
+ <value cell_index="16628" local_entity="0" value="0" />
+ <value cell_index="16629" local_entity="0" value="0" />
+ <value cell_index="16630" local_entity="0" value="0" />
+ <value cell_index="16631" local_entity="0" value="0" />
+ <value cell_index="16632" local_entity="0" value="0" />
+ <value cell_index="16633" local_entity="0" value="0" />
+ <value cell_index="16634" local_entity="0" value="0" />
+ <value cell_index="16635" local_entity="0" value="0" />
+ <value cell_index="16636" local_entity="0" value="0" />
+ <value cell_index="16637" local_entity="0" value="0" />
+ <value cell_index="16638" local_entity="0" value="0" />
+ <value cell_index="16639" local_entity="0" value="0" />
+ <value cell_index="16640" local_entity="0" value="0" />
+ <value cell_index="16641" local_entity="0" value="0" />
+ <value cell_index="16642" local_entity="0" value="0" />
+ <value cell_index="16643" local_entity="0" value="0" />
+ <value cell_index="16644" local_entity="0" value="0" />
+ <value cell_index="16645" local_entity="0" value="0" />
+ <value cell_index="16646" local_entity="0" value="0" />
+ <value cell_index="16647" local_entity="0" value="0" />
+ <value cell_index="16648" local_entity="0" value="0" />
+ <value cell_index="16649" local_entity="0" value="0" />
+ <value cell_index="16650" local_entity="0" value="0" />
+ <value cell_index="16651" local_entity="0" value="0" />
+ <value cell_index="16652" local_entity="0" value="0" />
+ <value cell_index="16653" local_entity="0" value="0" />
+ <value cell_index="16654" local_entity="0" value="0" />
+ <value cell_index="16655" local_entity="0" value="0" />
+ <value cell_index="16656" local_entity="0" value="0" />
+ <value cell_index="16657" local_entity="0" value="0" />
+ <value cell_index="16658" local_entity="0" value="0" />
+ <value cell_index="16659" local_entity="0" value="0" />
+ <value cell_index="16660" local_entity="0" value="0" />
+ <value cell_index="16661" local_entity="0" value="0" />
+ <value cell_index="16662" local_entity="0" value="0" />
+ <value cell_index="16663" local_entity="0" value="0" />
+ <value cell_index="16664" local_entity="0" value="0" />
+ <value cell_index="16665" local_entity="0" value="0" />
+ <value cell_index="16666" local_entity="0" value="0" />
+ <value cell_index="16667" local_entity="0" value="0" />
+ <value cell_index="16668" local_entity="0" value="0" />
+ <value cell_index="16669" local_entity="0" value="0" />
+ <value cell_index="16670" local_entity="0" value="0" />
+ <value cell_index="16671" local_entity="0" value="0" />
+ <value cell_index="16672" local_entity="0" value="0" />
+ <value cell_index="16673" local_entity="0" value="0" />
+ <value cell_index="16674" local_entity="0" value="0" />
+ <value cell_index="16675" local_entity="0" value="0" />
+ <value cell_index="16676" local_entity="0" value="0" />
+ <value cell_index="16677" local_entity="0" value="0" />
+ <value cell_index="16678" local_entity="0" value="0" />
+ <value cell_index="16679" local_entity="0" value="0" />
+ <value cell_index="16680" local_entity="0" value="0" />
+ <value cell_index="16681" local_entity="0" value="0" />
+ <value cell_index="16682" local_entity="0" value="0" />
+ <value cell_index="16683" local_entity="0" value="0" />
+ <value cell_index="16684" local_entity="0" value="0" />
+ <value cell_index="16685" local_entity="0" value="0" />
+ <value cell_index="16686" local_entity="0" value="0" />
+ <value cell_index="16687" local_entity="0" value="0" />
+ <value cell_index="16688" local_entity="0" value="0" />
+ <value cell_index="16689" local_entity="0" value="0" />
+ <value cell_index="16690" local_entity="0" value="0" />
+ <value cell_index="16691" local_entity="0" value="0" />
+ <value cell_index="16692" local_entity="0" value="0" />
+ <value cell_index="16693" local_entity="0" value="0" />
+ <value cell_index="16694" local_entity="0" value="0" />
+ <value cell_index="16695" local_entity="0" value="0" />
+ <value cell_index="16696" local_entity="0" value="0" />
+ <value cell_index="16697" local_entity="0" value="0" />
+ <value cell_index="16698" local_entity="0" value="0" />
+ <value cell_index="16699" local_entity="0" value="0" />
+ <value cell_index="16700" local_entity="0" value="0" />
+ <value cell_index="16701" local_entity="0" value="0" />
+ <value cell_index="16702" local_entity="0" value="0" />
+ <value cell_index="16703" local_entity="0" value="0" />
+ <value cell_index="16704" local_entity="0" value="0" />
+ <value cell_index="16705" local_entity="0" value="0" />
+ <value cell_index="16706" local_entity="0" value="0" />
+ <value cell_index="16707" local_entity="0" value="0" />
+ <value cell_index="16708" local_entity="0" value="0" />
+ <value cell_index="16709" local_entity="0" value="0" />
+ <value cell_index="16710" local_entity="0" value="0" />
+ <value cell_index="16711" local_entity="0" value="0" />
+ <value cell_index="16712" local_entity="0" value="0" />
+ <value cell_index="16713" local_entity="0" value="0" />
+ <value cell_index="16714" local_entity="0" value="0" />
+ <value cell_index="16715" local_entity="0" value="0" />
+ <value cell_index="16716" local_entity="0" value="0" />
+ <value cell_index="16717" local_entity="0" value="0" />
+ <value cell_index="16718" local_entity="0" value="0" />
+ <value cell_index="16719" local_entity="0" value="0" />
+ <value cell_index="16720" local_entity="0" value="0" />
+ <value cell_index="16721" local_entity="0" value="0" />
+ <value cell_index="16722" local_entity="0" value="0" />
+ <value cell_index="16723" local_entity="0" value="0" />
+ <value cell_index="16724" local_entity="0" value="0" />
+ <value cell_index="16725" local_entity="0" value="0" />
+ <value cell_index="16726" local_entity="0" value="0" />
+ <value cell_index="16727" local_entity="0" value="0" />
+ <value cell_index="16728" local_entity="0" value="0" />
+ <value cell_index="16729" local_entity="0" value="0" />
+ <value cell_index="16730" local_entity="0" value="0" />
+ <value cell_index="16731" local_entity="0" value="0" />
+ <value cell_index="16732" local_entity="0" value="0" />
+ <value cell_index="16733" local_entity="0" value="0" />
+ <value cell_index="16734" local_entity="0" value="0" />
+ <value cell_index="16735" local_entity="0" value="0" />
+ <value cell_index="16736" local_entity="0" value="0" />
+ <value cell_index="16737" local_entity="0" value="0" />
+ <value cell_index="16738" local_entity="0" value="0" />
+ <value cell_index="16739" local_entity="0" value="0" />
+ <value cell_index="16740" local_entity="0" value="0" />
+ <value cell_index="16741" local_entity="0" value="0" />
+ <value cell_index="16742" local_entity="0" value="0" />
+ <value cell_index="16743" local_entity="0" value="0" />
+ <value cell_index="16744" local_entity="0" value="0" />
+ <value cell_index="16745" local_entity="0" value="0" />
+ <value cell_index="16746" local_entity="0" value="0" />
+ <value cell_index="16747" local_entity="0" value="0" />
+ <value cell_index="16748" local_entity="0" value="0" />
+ <value cell_index="16749" local_entity="0" value="0" />
+ <value cell_index="16750" local_entity="0" value="0" />
+ <value cell_index="16751" local_entity="0" value="0" />
+ <value cell_index="16752" local_entity="0" value="0" />
+ <value cell_index="16753" local_entity="0" value="0" />
+ <value cell_index="16754" local_entity="0" value="0" />
+ <value cell_index="16755" local_entity="0" value="0" />
+ <value cell_index="16756" local_entity="0" value="0" />
+ <value cell_index="16757" local_entity="0" value="0" />
+ <value cell_index="16758" local_entity="0" value="0" />
+ <value cell_index="16759" local_entity="0" value="0" />
+ <value cell_index="16760" local_entity="0" value="0" />
+ <value cell_index="16761" local_entity="0" value="0" />
+ <value cell_index="16762" local_entity="0" value="0" />
+ <value cell_index="16763" local_entity="0" value="0" />
+ <value cell_index="16764" local_entity="0" value="0" />
+ <value cell_index="16765" local_entity="0" value="0" />
+ <value cell_index="16766" local_entity="0" value="0" />
+ <value cell_index="16767" local_entity="0" value="0" />
+ <value cell_index="16768" local_entity="0" value="0" />
+ <value cell_index="16769" local_entity="0" value="0" />
+ <value cell_index="16770" local_entity="0" value="0" />
+ <value cell_index="16771" local_entity="0" value="0" />
+ <value cell_index="16772" local_entity="0" value="0" />
+ <value cell_index="16773" local_entity="0" value="0" />
+ <value cell_index="16774" local_entity="0" value="0" />
+ <value cell_index="16775" local_entity="0" value="0" />
+ <value cell_index="16776" local_entity="0" value="0" />
+ <value cell_index="16777" local_entity="0" value="0" />
+ <value cell_index="16778" local_entity="0" value="0" />
+ <value cell_index="16779" local_entity="0" value="0" />
+ <value cell_index="16780" local_entity="0" value="0" />
+ <value cell_index="16781" local_entity="0" value="0" />
+ <value cell_index="16782" local_entity="0" value="0" />
+ <value cell_index="16783" local_entity="0" value="0" />
+ <value cell_index="16784" local_entity="0" value="0" />
+ <value cell_index="16785" local_entity="0" value="0" />
+ <value cell_index="16786" local_entity="0" value="0" />
+ <value cell_index="16787" local_entity="0" value="0" />
+ <value cell_index="16788" local_entity="0" value="0" />
+ <value cell_index="16789" local_entity="0" value="0" />
+ <value cell_index="16790" local_entity="0" value="0" />
+ <value cell_index="16791" local_entity="0" value="0" />
+ <value cell_index="16792" local_entity="0" value="0" />
+ <value cell_index="16793" local_entity="0" value="0" />
+ <value cell_index="16794" local_entity="0" value="0" />
+ <value cell_index="16795" local_entity="0" value="0" />
+ <value cell_index="16796" local_entity="0" value="0" />
+ <value cell_index="16797" local_entity="0" value="0" />
+ <value cell_index="16798" local_entity="0" value="0" />
+ <value cell_index="16799" local_entity="0" value="0" />
+ <value cell_index="16800" local_entity="0" value="0" />
+ <value cell_index="16801" local_entity="0" value="0" />
+ <value cell_index="16802" local_entity="0" value="0" />
+ <value cell_index="16803" local_entity="0" value="0" />
+ <value cell_index="16804" local_entity="0" value="0" />
+ <value cell_index="16805" local_entity="0" value="0" />
+ <value cell_index="16806" local_entity="0" value="0" />
+ <value cell_index="16807" local_entity="0" value="0" />
+ <value cell_index="16808" local_entity="0" value="0" />
+ <value cell_index="16809" local_entity="0" value="0" />
+ <value cell_index="16810" local_entity="0" value="0" />
+ <value cell_index="16811" local_entity="0" value="0" />
+ <value cell_index="16812" local_entity="0" value="0" />
+ <value cell_index="16813" local_entity="0" value="0" />
+ <value cell_index="16814" local_entity="0" value="0" />
+ <value cell_index="16815" local_entity="0" value="0" />
+ <value cell_index="16816" local_entity="0" value="0" />
+ <value cell_index="16817" local_entity="0" value="0" />
+ <value cell_index="16818" local_entity="0" value="0" />
+ <value cell_index="16819" local_entity="0" value="0" />
+ <value cell_index="16820" local_entity="0" value="0" />
+ <value cell_index="16821" local_entity="0" value="0" />
+ <value cell_index="16822" local_entity="0" value="0" />
+ <value cell_index="16823" local_entity="0" value="0" />
+ <value cell_index="16824" local_entity="0" value="0" />
+ <value cell_index="16825" local_entity="0" value="0" />
+ <value cell_index="16826" local_entity="0" value="0" />
+ <value cell_index="16827" local_entity="0" value="0" />
+ <value cell_index="16828" local_entity="0" value="0" />
+ <value cell_index="16829" local_entity="0" value="0" />
+ <value cell_index="16830" local_entity="0" value="0" />
+ <value cell_index="16831" local_entity="0" value="0" />
+ <value cell_index="16832" local_entity="0" value="0" />
+ <value cell_index="16833" local_entity="0" value="0" />
+ <value cell_index="16834" local_entity="0" value="0" />
+ <value cell_index="16835" local_entity="0" value="0" />
+ <value cell_index="16836" local_entity="0" value="0" />
+ <value cell_index="16837" local_entity="0" value="0" />
+ <value cell_index="16838" local_entity="0" value="0" />
+ <value cell_index="16839" local_entity="0" value="0" />
+ <value cell_index="16840" local_entity="0" value="0" />
+ <value cell_index="16841" local_entity="0" value="0" />
+ <value cell_index="16842" local_entity="0" value="0" />
+ <value cell_index="16843" local_entity="0" value="0" />
+ <value cell_index="16844" local_entity="0" value="0" />
+ <value cell_index="16845" local_entity="0" value="0" />
+ <value cell_index="16846" local_entity="0" value="0" />
+ <value cell_index="16847" local_entity="0" value="0" />
+ <value cell_index="16848" local_entity="0" value="0" />
+ <value cell_index="16849" local_entity="0" value="0" />
+ <value cell_index="16850" local_entity="0" value="0" />
+ <value cell_index="16851" local_entity="0" value="0" />
+ <value cell_index="16852" local_entity="0" value="0" />
+ <value cell_index="16853" local_entity="0" value="0" />
+ <value cell_index="16854" local_entity="0" value="0" />
+ <value cell_index="16855" local_entity="0" value="0" />
+ <value cell_index="16856" local_entity="0" value="0" />
+ <value cell_index="16857" local_entity="0" value="0" />
+ <value cell_index="16858" local_entity="0" value="0" />
+ <value cell_index="16859" local_entity="0" value="0" />
+ <value cell_index="16860" local_entity="0" value="0" />
+ <value cell_index="16861" local_entity="0" value="0" />
+ <value cell_index="16862" local_entity="0" value="0" />
+ <value cell_index="16863" local_entity="0" value="0" />
+ <value cell_index="16864" local_entity="0" value="0" />
+ <value cell_index="16865" local_entity="0" value="0" />
+ <value cell_index="16866" local_entity="0" value="0" />
+ <value cell_index="16867" local_entity="0" value="0" />
+ <value cell_index="16868" local_entity="0" value="0" />
+ <value cell_index="16869" local_entity="0" value="0" />
+ <value cell_index="16870" local_entity="0" value="0" />
+ <value cell_index="16871" local_entity="0" value="0" />
+ <value cell_index="16872" local_entity="0" value="0" />
+ <value cell_index="16873" local_entity="0" value="0" />
+ <value cell_index="16874" local_entity="0" value="0" />
+ <value cell_index="16875" local_entity="0" value="0" />
+ <value cell_index="16876" local_entity="0" value="0" />
+ <value cell_index="16877" local_entity="0" value="0" />
+ <value cell_index="16878" local_entity="0" value="0" />
+ <value cell_index="16879" local_entity="0" value="0" />
+ <value cell_index="16880" local_entity="0" value="0" />
+ <value cell_index="16881" local_entity="0" value="0" />
+ <value cell_index="16882" local_entity="0" value="0" />
+ <value cell_index="16883" local_entity="0" value="0" />
+ <value cell_index="16884" local_entity="0" value="0" />
+ <value cell_index="16885" local_entity="0" value="0" />
+ <value cell_index="16886" local_entity="0" value="0" />
+ <value cell_index="16887" local_entity="0" value="0" />
+ <value cell_index="16888" local_entity="0" value="0" />
+ <value cell_index="16889" local_entity="0" value="0" />
+ <value cell_index="16890" local_entity="0" value="0" />
+ <value cell_index="16891" local_entity="0" value="0" />
+ <value cell_index="16892" local_entity="0" value="0" />
+ <value cell_index="16893" local_entity="0" value="0" />
+ <value cell_index="16894" local_entity="0" value="0" />
+ <value cell_index="16895" local_entity="0" value="0" />
+ <value cell_index="16896" local_entity="0" value="0" />
+ <value cell_index="16897" local_entity="0" value="0" />
+ <value cell_index="16898" local_entity="0" value="0" />
+ <value cell_index="16899" local_entity="0" value="0" />
+ <value cell_index="16900" local_entity="0" value="0" />
+ <value cell_index="16901" local_entity="0" value="0" />
+ <value cell_index="16902" local_entity="0" value="0" />
+ <value cell_index="16903" local_entity="0" value="0" />
+ <value cell_index="16904" local_entity="0" value="0" />
+ <value cell_index="16905" local_entity="0" value="0" />
+ <value cell_index="16906" local_entity="0" value="0" />
+ <value cell_index="16907" local_entity="0" value="0" />
+ <value cell_index="16908" local_entity="0" value="0" />
+ <value cell_index="16909" local_entity="0" value="0" />
+ <value cell_index="16910" local_entity="0" value="0" />
+ <value cell_index="16911" local_entity="0" value="0" />
+ <value cell_index="16912" local_entity="0" value="0" />
+ <value cell_index="16913" local_entity="0" value="0" />
+ <value cell_index="16914" local_entity="0" value="0" />
+ <value cell_index="16915" local_entity="0" value="0" />
+ <value cell_index="16916" local_entity="0" value="0" />
+ <value cell_index="16917" local_entity="0" value="0" />
+ <value cell_index="16918" local_entity="0" value="0" />
+ <value cell_index="16919" local_entity="0" value="0" />
+ <value cell_index="16920" local_entity="0" value="0" />
+ <value cell_index="16921" local_entity="0" value="0" />
+ <value cell_index="16922" local_entity="0" value="0" />
+ <value cell_index="16923" local_entity="0" value="0" />
+ <value cell_index="16924" local_entity="0" value="0" />
+ <value cell_index="16925" local_entity="0" value="0" />
+ <value cell_index="16926" local_entity="0" value="0" />
+ <value cell_index="16927" local_entity="0" value="0" />
+ <value cell_index="16928" local_entity="0" value="0" />
+ <value cell_index="16929" local_entity="0" value="0" />
+ <value cell_index="16930" local_entity="0" value="0" />
+ <value cell_index="16931" local_entity="0" value="0" />
+ <value cell_index="16932" local_entity="0" value="0" />
+ <value cell_index="16933" local_entity="0" value="0" />
+ <value cell_index="16934" local_entity="0" value="0" />
+ <value cell_index="16935" local_entity="0" value="0" />
+ <value cell_index="16936" local_entity="0" value="0" />
+ <value cell_index="16937" local_entity="0" value="0" />
+ <value cell_index="16938" local_entity="0" value="0" />
+ <value cell_index="16939" local_entity="0" value="0" />
+ <value cell_index="16940" local_entity="0" value="0" />
+ <value cell_index="16941" local_entity="0" value="0" />
+ <value cell_index="16942" local_entity="0" value="0" />
+ <value cell_index="16943" local_entity="0" value="0" />
+ <value cell_index="16944" local_entity="0" value="0" />
+ <value cell_index="16945" local_entity="0" value="0" />
+ <value cell_index="16946" local_entity="0" value="0" />
+ <value cell_index="16947" local_entity="0" value="0" />
+ <value cell_index="16948" local_entity="0" value="0" />
+ <value cell_index="16949" local_entity="0" value="0" />
+ <value cell_index="16950" local_entity="0" value="0" />
+ <value cell_index="16951" local_entity="0" value="0" />
+ <value cell_index="16952" local_entity="0" value="0" />
+ <value cell_index="16953" local_entity="0" value="0" />
+ <value cell_index="16954" local_entity="0" value="0" />
+ <value cell_index="16955" local_entity="0" value="0" />
+ <value cell_index="16956" local_entity="0" value="0" />
+ <value cell_index="16957" local_entity="0" value="0" />
+ <value cell_index="16958" local_entity="0" value="0" />
+ <value cell_index="16959" local_entity="0" value="0" />
+ <value cell_index="16960" local_entity="0" value="0" />
+ <value cell_index="16961" local_entity="0" value="0" />
+ <value cell_index="16962" local_entity="0" value="0" />
+ <value cell_index="16963" local_entity="0" value="0" />
+ <value cell_index="16964" local_entity="0" value="0" />
+ <value cell_index="16965" local_entity="0" value="0" />
+ <value cell_index="16966" local_entity="0" value="0" />
+ <value cell_index="16967" local_entity="0" value="0" />
+ <value cell_index="16968" local_entity="0" value="0" />
+ <value cell_index="16969" local_entity="0" value="0" />
+ <value cell_index="16970" local_entity="0" value="0" />
+ <value cell_index="16971" local_entity="0" value="0" />
+ <value cell_index="16972" local_entity="0" value="0" />
+ <value cell_index="16973" local_entity="0" value="0" />
+ <value cell_index="16974" local_entity="0" value="0" />
+ <value cell_index="16975" local_entity="0" value="0" />
+ <value cell_index="16976" local_entity="0" value="0" />
+ <value cell_index="16977" local_entity="0" value="0" />
+ <value cell_index="16978" local_entity="0" value="0" />
+ <value cell_index="16979" local_entity="0" value="0" />
+ <value cell_index="16980" local_entity="0" value="0" />
+ <value cell_index="16981" local_entity="0" value="0" />
+ <value cell_index="16982" local_entity="0" value="0" />
+ <value cell_index="16983" local_entity="0" value="0" />
+ <value cell_index="16984" local_entity="0" value="0" />
+ <value cell_index="16985" local_entity="0" value="0" />
+ <value cell_index="16986" local_entity="0" value="0" />
+ <value cell_index="16987" local_entity="0" value="0" />
+ <value cell_index="16988" local_entity="0" value="0" />
+ <value cell_index="16989" local_entity="0" value="0" />
+ <value cell_index="16990" local_entity="0" value="0" />
+ <value cell_index="16991" local_entity="0" value="0" />
+ <value cell_index="16992" local_entity="0" value="0" />
+ <value cell_index="16993" local_entity="0" value="0" />
+ <value cell_index="16994" local_entity="0" value="0" />
+ <value cell_index="16995" local_entity="0" value="0" />
+ <value cell_index="16996" local_entity="0" value="0" />
+ <value cell_index="16997" local_entity="0" value="0" />
+ <value cell_index="16998" local_entity="0" value="0" />
+ <value cell_index="16999" local_entity="0" value="0" />
+ <value cell_index="17000" local_entity="0" value="0" />
+ <value cell_index="17001" local_entity="0" value="0" />
+ <value cell_index="17002" local_entity="0" value="0" />
+ <value cell_index="17003" local_entity="0" value="0" />
+ <value cell_index="17004" local_entity="0" value="0" />
+ <value cell_index="17005" local_entity="0" value="0" />
+ <value cell_index="17006" local_entity="0" value="0" />
+ <value cell_index="17007" local_entity="0" value="0" />
+ <value cell_index="17008" local_entity="0" value="0" />
+ <value cell_index="17009" local_entity="0" value="0" />
+ <value cell_index="17010" local_entity="0" value="0" />
+ <value cell_index="17011" local_entity="0" value="0" />
+ <value cell_index="17012" local_entity="0" value="0" />
+ <value cell_index="17013" local_entity="0" value="0" />
+ <value cell_index="17014" local_entity="0" value="0" />
+ <value cell_index="17015" local_entity="0" value="0" />
+ <value cell_index="17016" local_entity="0" value="0" />
+ <value cell_index="17017" local_entity="0" value="0" />
+ <value cell_index="17018" local_entity="0" value="0" />
+ <value cell_index="17019" local_entity="0" value="0" />
+ <value cell_index="17020" local_entity="0" value="0" />
+ <value cell_index="17021" local_entity="0" value="0" />
+ <value cell_index="17022" local_entity="0" value="0" />
+ <value cell_index="17023" local_entity="0" value="0" />
+ <value cell_index="17024" local_entity="0" value="0" />
+ <value cell_index="17025" local_entity="0" value="0" />
+ <value cell_index="17026" local_entity="0" value="0" />
+ <value cell_index="17027" local_entity="0" value="0" />
+ <value cell_index="17028" local_entity="0" value="0" />
+ <value cell_index="17029" local_entity="0" value="0" />
+ <value cell_index="17030" local_entity="0" value="0" />
+ <value cell_index="17031" local_entity="0" value="0" />
+ <value cell_index="17032" local_entity="0" value="0" />
+ <value cell_index="17033" local_entity="0" value="0" />
+ <value cell_index="17034" local_entity="0" value="0" />
+ <value cell_index="17035" local_entity="0" value="0" />
+ <value cell_index="17036" local_entity="0" value="0" />
+ <value cell_index="17037" local_entity="0" value="0" />
+ <value cell_index="17038" local_entity="0" value="0" />
+ <value cell_index="17039" local_entity="0" value="0" />
+ <value cell_index="17040" local_entity="0" value="0" />
+ <value cell_index="17041" local_entity="0" value="0" />
+ <value cell_index="17042" local_entity="0" value="0" />
+ <value cell_index="17043" local_entity="0" value="0" />
+ <value cell_index="17044" local_entity="0" value="0" />
+ <value cell_index="17045" local_entity="0" value="0" />
+ <value cell_index="17046" local_entity="0" value="0" />
+ <value cell_index="17047" local_entity="0" value="0" />
+ <value cell_index="17048" local_entity="0" value="0" />
+ <value cell_index="17049" local_entity="0" value="0" />
+ <value cell_index="17050" local_entity="0" value="0" />
+ <value cell_index="17051" local_entity="0" value="0" />
+ <value cell_index="17052" local_entity="0" value="0" />
+ <value cell_index="17053" local_entity="0" value="0" />
+ <value cell_index="17054" local_entity="0" value="0" />
+ <value cell_index="17055" local_entity="0" value="0" />
+ <value cell_index="17056" local_entity="0" value="0" />
+ <value cell_index="17057" local_entity="0" value="0" />
+ <value cell_index="17058" local_entity="0" value="0" />
+ <value cell_index="17059" local_entity="0" value="0" />
+ <value cell_index="17060" local_entity="0" value="0" />
+ <value cell_index="17061" local_entity="0" value="0" />
+ <value cell_index="17062" local_entity="0" value="0" />
+ <value cell_index="17063" local_entity="0" value="0" />
+ <value cell_index="17064" local_entity="0" value="0" />
+ <value cell_index="17065" local_entity="0" value="0" />
+ <value cell_index="17066" local_entity="0" value="0" />
+ <value cell_index="17067" local_entity="0" value="0" />
+ <value cell_index="17068" local_entity="0" value="0" />
+ <value cell_index="17069" local_entity="0" value="0" />
+ <value cell_index="17070" local_entity="0" value="0" />
+ <value cell_index="17071" local_entity="0" value="0" />
+ <value cell_index="17072" local_entity="0" value="0" />
+ <value cell_index="17073" local_entity="0" value="0" />
+ <value cell_index="17074" local_entity="0" value="0" />
+ <value cell_index="17075" local_entity="0" value="0" />
+ <value cell_index="17076" local_entity="0" value="0" />
+ <value cell_index="17077" local_entity="0" value="0" />
+ <value cell_index="17078" local_entity="0" value="0" />
+ <value cell_index="17079" local_entity="0" value="0" />
+ <value cell_index="17080" local_entity="0" value="0" />
+ <value cell_index="17081" local_entity="0" value="0" />
+ <value cell_index="17082" local_entity="0" value="0" />
+ <value cell_index="17083" local_entity="0" value="0" />
+ <value cell_index="17084" local_entity="0" value="0" />
+ <value cell_index="17085" local_entity="0" value="0" />
+ <value cell_index="17086" local_entity="0" value="0" />
+ <value cell_index="17087" local_entity="0" value="0" />
+ <value cell_index="17088" local_entity="0" value="0" />
+ <value cell_index="17089" local_entity="0" value="0" />
+ <value cell_index="17090" local_entity="0" value="0" />
+ <value cell_index="17091" local_entity="0" value="0" />
+ <value cell_index="17092" local_entity="0" value="0" />
+ <value cell_index="17093" local_entity="0" value="0" />
+ <value cell_index="17094" local_entity="0" value="0" />
+ <value cell_index="17095" local_entity="0" value="0" />
+ <value cell_index="17096" local_entity="0" value="0" />
+ <value cell_index="17097" local_entity="0" value="0" />
+ <value cell_index="17098" local_entity="0" value="0" />
+ <value cell_index="17099" local_entity="0" value="0" />
+ <value cell_index="17100" local_entity="0" value="0" />
+ <value cell_index="17101" local_entity="0" value="0" />
+ <value cell_index="17102" local_entity="0" value="0" />
+ <value cell_index="17103" local_entity="0" value="0" />
+ <value cell_index="17104" local_entity="0" value="0" />
+ <value cell_index="17105" local_entity="0" value="0" />
+ <value cell_index="17106" local_entity="0" value="0" />
+ <value cell_index="17107" local_entity="0" value="0" />
+ <value cell_index="17108" local_entity="0" value="0" />
+ <value cell_index="17109" local_entity="0" value="0" />
+ <value cell_index="17110" local_entity="0" value="0" />
+ <value cell_index="17111" local_entity="0" value="0" />
+ <value cell_index="17112" local_entity="0" value="0" />
+ <value cell_index="17113" local_entity="0" value="0" />
+ <value cell_index="17114" local_entity="0" value="0" />
+ <value cell_index="17115" local_entity="0" value="0" />
+ <value cell_index="17116" local_entity="0" value="0" />
+ <value cell_index="17117" local_entity="0" value="0" />
+ <value cell_index="17118" local_entity="0" value="0" />
+ <value cell_index="17119" local_entity="0" value="0" />
+ <value cell_index="17120" local_entity="0" value="0" />
+ <value cell_index="17121" local_entity="0" value="0" />
+ <value cell_index="17122" local_entity="0" value="0" />
+ <value cell_index="17123" local_entity="0" value="0" />
+ <value cell_index="17124" local_entity="0" value="0" />
+ <value cell_index="17125" local_entity="0" value="0" />
+ <value cell_index="17126" local_entity="0" value="0" />
+ <value cell_index="17127" local_entity="0" value="0" />
+ <value cell_index="17128" local_entity="0" value="0" />
+ <value cell_index="17129" local_entity="0" value="0" />
+ <value cell_index="17130" local_entity="0" value="0" />
+ <value cell_index="17131" local_entity="0" value="0" />
+ <value cell_index="17132" local_entity="0" value="0" />
+ <value cell_index="17133" local_entity="0" value="0" />
+ <value cell_index="17134" local_entity="0" value="0" />
+ <value cell_index="17135" local_entity="0" value="0" />
+ <value cell_index="17136" local_entity="0" value="0" />
+ <value cell_index="17137" local_entity="0" value="0" />
+ <value cell_index="17138" local_entity="0" value="0" />
+ <value cell_index="17139" local_entity="0" value="0" />
+ <value cell_index="17140" local_entity="0" value="0" />
+ <value cell_index="17141" local_entity="0" value="0" />
+ <value cell_index="17142" local_entity="0" value="0" />
+ <value cell_index="17143" local_entity="0" value="0" />
+ <value cell_index="17144" local_entity="0" value="0" />
+ <value cell_index="17145" local_entity="0" value="0" />
+ <value cell_index="17146" local_entity="0" value="0" />
+ <value cell_index="17147" local_entity="0" value="0" />
+ <value cell_index="17148" local_entity="0" value="0" />
+ <value cell_index="17149" local_entity="0" value="0" />
+ <value cell_index="17150" local_entity="0" value="0" />
+ <value cell_index="17151" local_entity="0" value="0" />
+ <value cell_index="17152" local_entity="0" value="0" />
+ <value cell_index="17153" local_entity="0" value="0" />
+ <value cell_index="17154" local_entity="0" value="0" />
+ <value cell_index="17155" local_entity="0" value="0" />
+ <value cell_index="17156" local_entity="0" value="0" />
+ <value cell_index="17157" local_entity="0" value="0" />
+ <value cell_index="17158" local_entity="0" value="0" />
+ <value cell_index="17159" local_entity="0" value="0" />
+ <value cell_index="17160" local_entity="0" value="0" />
+ <value cell_index="17161" local_entity="0" value="0" />
+ <value cell_index="17162" local_entity="0" value="0" />
+ <value cell_index="17163" local_entity="0" value="0" />
+ <value cell_index="17164" local_entity="0" value="0" />
+ <value cell_index="17165" local_entity="0" value="0" />
+ <value cell_index="17166" local_entity="0" value="0" />
+ <value cell_index="17167" local_entity="0" value="0" />
+ <value cell_index="17168" local_entity="0" value="0" />
+ <value cell_index="17169" local_entity="0" value="0" />
+ <value cell_index="17170" local_entity="0" value="0" />
+ <value cell_index="17171" local_entity="0" value="0" />
+ <value cell_index="17172" local_entity="0" value="0" />
+ <value cell_index="17173" local_entity="0" value="0" />
+ <value cell_index="17174" local_entity="0" value="0" />
+ <value cell_index="17175" local_entity="0" value="0" />
+ <value cell_index="17176" local_entity="0" value="0" />
+ <value cell_index="17177" local_entity="0" value="0" />
+ <value cell_index="17178" local_entity="0" value="0" />
+ <value cell_index="17179" local_entity="0" value="0" />
+ <value cell_index="17180" local_entity="0" value="0" />
+ <value cell_index="17181" local_entity="0" value="0" />
+ <value cell_index="17182" local_entity="0" value="0" />
+ <value cell_index="17183" local_entity="0" value="0" />
+ <value cell_index="17184" local_entity="0" value="0" />
+ <value cell_index="17185" local_entity="0" value="0" />
+ <value cell_index="17186" local_entity="0" value="0" />
+ <value cell_index="17187" local_entity="0" value="0" />
+ <value cell_index="17188" local_entity="0" value="0" />
+ <value cell_index="17189" local_entity="0" value="0" />
+ <value cell_index="17190" local_entity="0" value="0" />
+ <value cell_index="17191" local_entity="0" value="0" />
+ <value cell_index="17192" local_entity="0" value="0" />
+ <value cell_index="17193" local_entity="0" value="0" />
+ <value cell_index="17194" local_entity="0" value="0" />
+ <value cell_index="17195" local_entity="0" value="0" />
+ <value cell_index="17196" local_entity="0" value="0" />
+ <value cell_index="17197" local_entity="0" value="0" />
+ <value cell_index="17198" local_entity="0" value="0" />
+ <value cell_index="17199" local_entity="0" value="0" />
+ <value cell_index="17200" local_entity="0" value="0" />
+ <value cell_index="17201" local_entity="0" value="0" />
+ <value cell_index="17202" local_entity="0" value="0" />
+ <value cell_index="17203" local_entity="0" value="0" />
+ <value cell_index="17204" local_entity="0" value="0" />
+ <value cell_index="17205" local_entity="0" value="0" />
+ <value cell_index="17206" local_entity="0" value="0" />
+ <value cell_index="17207" local_entity="0" value="0" />
+ <value cell_index="17208" local_entity="0" value="0" />
+ <value cell_index="17209" local_entity="0" value="0" />
+ <value cell_index="17210" local_entity="0" value="0" />
+ <value cell_index="17211" local_entity="0" value="0" />
+ <value cell_index="17212" local_entity="0" value="0" />
+ <value cell_index="17213" local_entity="0" value="0" />
+ <value cell_index="17214" local_entity="0" value="0" />
+ <value cell_index="17215" local_entity="0" value="0" />
+ <value cell_index="17216" local_entity="0" value="0" />
+ <value cell_index="17217" local_entity="0" value="0" />
+ <value cell_index="17218" local_entity="0" value="0" />
+ <value cell_index="17219" local_entity="0" value="0" />
+ <value cell_index="17220" local_entity="0" value="0" />
+ <value cell_index="17221" local_entity="0" value="0" />
+ <value cell_index="17222" local_entity="0" value="0" />
+ <value cell_index="17223" local_entity="0" value="0" />
+ <value cell_index="17224" local_entity="0" value="0" />
+ <value cell_index="17225" local_entity="0" value="0" />
+ <value cell_index="17226" local_entity="0" value="0" />
+ <value cell_index="17227" local_entity="0" value="0" />
+ <value cell_index="17228" local_entity="0" value="0" />
+ <value cell_index="17229" local_entity="0" value="0" />
+ <value cell_index="17230" local_entity="0" value="0" />
+ <value cell_index="17231" local_entity="0" value="0" />
+ <value cell_index="17232" local_entity="0" value="0" />
+ <value cell_index="17233" local_entity="0" value="0" />
+ <value cell_index="17234" local_entity="0" value="0" />
+ <value cell_index="17235" local_entity="0" value="0" />
+ <value cell_index="17236" local_entity="0" value="0" />
+ <value cell_index="17237" local_entity="0" value="0" />
+ <value cell_index="17238" local_entity="0" value="0" />
+ <value cell_index="17239" local_entity="0" value="0" />
+ <value cell_index="17240" local_entity="0" value="0" />
+ <value cell_index="17241" local_entity="0" value="0" />
+ <value cell_index="17242" local_entity="0" value="0" />
+ <value cell_index="17243" local_entity="0" value="0" />
+ <value cell_index="17244" local_entity="0" value="0" />
+ <value cell_index="17245" local_entity="0" value="0" />
+ <value cell_index="17246" local_entity="0" value="0" />
+ <value cell_index="17247" local_entity="0" value="0" />
+ <value cell_index="17248" local_entity="0" value="0" />
+ <value cell_index="17249" local_entity="0" value="0" />
+ <value cell_index="17250" local_entity="0" value="0" />
+ <value cell_index="17251" local_entity="0" value="0" />
+ <value cell_index="17252" local_entity="0" value="0" />
+ <value cell_index="17253" local_entity="0" value="0" />
+ <value cell_index="17254" local_entity="0" value="0" />
+ <value cell_index="17255" local_entity="0" value="0" />
+ <value cell_index="17256" local_entity="0" value="0" />
+ <value cell_index="17257" local_entity="0" value="0" />
+ <value cell_index="17258" local_entity="0" value="0" />
+ <value cell_index="17259" local_entity="0" value="0" />
+ <value cell_index="17260" local_entity="0" value="0" />
+ <value cell_index="17261" local_entity="0" value="0" />
+ <value cell_index="17262" local_entity="0" value="0" />
+ <value cell_index="17263" local_entity="0" value="0" />
+ <value cell_index="17264" local_entity="0" value="0" />
+ <value cell_index="17265" local_entity="0" value="0" />
+ <value cell_index="17266" local_entity="0" value="0" />
+ <value cell_index="17267" local_entity="0" value="0" />
+ <value cell_index="17268" local_entity="0" value="0" />
+ <value cell_index="17269" local_entity="0" value="0" />
+ <value cell_index="17270" local_entity="0" value="0" />
+ <value cell_index="17271" local_entity="0" value="0" />
+ <value cell_index="17272" local_entity="0" value="0" />
+ <value cell_index="17273" local_entity="0" value="0" />
+ <value cell_index="17274" local_entity="0" value="0" />
+ <value cell_index="17275" local_entity="0" value="0" />
+ <value cell_index="17276" local_entity="0" value="0" />
+ <value cell_index="17277" local_entity="0" value="0" />
+ <value cell_index="17278" local_entity="0" value="0" />
+ <value cell_index="17279" local_entity="0" value="0" />
+ <value cell_index="17280" local_entity="0" value="0" />
+ <value cell_index="17281" local_entity="0" value="0" />
+ <value cell_index="17282" local_entity="0" value="0" />
+ <value cell_index="17283" local_entity="0" value="0" />
+ <value cell_index="17284" local_entity="0" value="0" />
+ <value cell_index="17285" local_entity="0" value="0" />
+ <value cell_index="17286" local_entity="0" value="0" />
+ <value cell_index="17287" local_entity="0" value="0" />
+ <value cell_index="17288" local_entity="0" value="0" />
+ <value cell_index="17289" local_entity="0" value="0" />
+ <value cell_index="17290" local_entity="0" value="0" />
+ <value cell_index="17291" local_entity="0" value="0" />
+ <value cell_index="17292" local_entity="0" value="0" />
+ <value cell_index="17293" local_entity="0" value="0" />
+ <value cell_index="17294" local_entity="0" value="0" />
+ <value cell_index="17295" local_entity="0" value="0" />
+ <value cell_index="17296" local_entity="0" value="0" />
+ <value cell_index="17297" local_entity="0" value="0" />
+ <value cell_index="17298" local_entity="0" value="0" />
+ <value cell_index="17299" local_entity="0" value="0" />
+ <value cell_index="17300" local_entity="0" value="0" />
+ <value cell_index="17301" local_entity="0" value="0" />
+ <value cell_index="17302" local_entity="0" value="0" />
+ <value cell_index="17303" local_entity="0" value="0" />
+ <value cell_index="17304" local_entity="0" value="0" />
+ <value cell_index="17305" local_entity="0" value="0" />
+ <value cell_index="17306" local_entity="0" value="0" />
+ <value cell_index="17307" local_entity="0" value="0" />
+ <value cell_index="17308" local_entity="0" value="0" />
+ <value cell_index="17309" local_entity="0" value="0" />
+ <value cell_index="17310" local_entity="0" value="0" />
+ <value cell_index="17311" local_entity="0" value="0" />
+ <value cell_index="17312" local_entity="0" value="0" />
+ <value cell_index="17313" local_entity="0" value="0" />
+ <value cell_index="17314" local_entity="0" value="0" />
+ <value cell_index="17315" local_entity="0" value="0" />
+ <value cell_index="17316" local_entity="0" value="0" />
+ <value cell_index="17317" local_entity="0" value="0" />
+ <value cell_index="17318" local_entity="0" value="0" />
+ <value cell_index="17319" local_entity="0" value="0" />
+ <value cell_index="17320" local_entity="0" value="0" />
+ <value cell_index="17321" local_entity="0" value="0" />
+ <value cell_index="17322" local_entity="0" value="0" />
+ <value cell_index="17323" local_entity="0" value="0" />
+ <value cell_index="17324" local_entity="0" value="0" />
+ <value cell_index="17325" local_entity="0" value="0" />
+ <value cell_index="17326" local_entity="0" value="0" />
+ <value cell_index="17327" local_entity="0" value="0" />
+ <value cell_index="17328" local_entity="0" value="0" />
+ <value cell_index="17329" local_entity="0" value="0" />
+ <value cell_index="17330" local_entity="0" value="0" />
+ <value cell_index="17331" local_entity="0" value="0" />
+ <value cell_index="17332" local_entity="0" value="0" />
+ <value cell_index="17333" local_entity="0" value="0" />
+ <value cell_index="17334" local_entity="0" value="0" />
+ <value cell_index="17335" local_entity="0" value="0" />
+ <value cell_index="17336" local_entity="0" value="0" />
+ <value cell_index="17337" local_entity="0" value="0" />
+ <value cell_index="17338" local_entity="0" value="0" />
+ <value cell_index="17339" local_entity="0" value="0" />
+ <value cell_index="17340" local_entity="0" value="0" />
+ <value cell_index="17341" local_entity="0" value="0" />
+ <value cell_index="17342" local_entity="0" value="0" />
+ <value cell_index="17343" local_entity="0" value="0" />
+ <value cell_index="17344" local_entity="0" value="0" />
+ <value cell_index="17345" local_entity="0" value="0" />
+ <value cell_index="17346" local_entity="0" value="0" />
+ <value cell_index="17347" local_entity="0" value="0" />
+ <value cell_index="17348" local_entity="0" value="0" />
+ <value cell_index="17349" local_entity="0" value="0" />
+ <value cell_index="17350" local_entity="0" value="0" />
+ <value cell_index="17351" local_entity="0" value="0" />
+ <value cell_index="17352" local_entity="0" value="0" />
+ <value cell_index="17353" local_entity="0" value="0" />
+ <value cell_index="17354" local_entity="0" value="0" />
+ <value cell_index="17355" local_entity="0" value="0" />
+ <value cell_index="17356" local_entity="0" value="0" />
+ <value cell_index="17357" local_entity="0" value="0" />
+ <value cell_index="17358" local_entity="0" value="0" />
+ <value cell_index="17359" local_entity="0" value="0" />
+ <value cell_index="17360" local_entity="0" value="0" />
+ <value cell_index="17361" local_entity="0" value="0" />
+ <value cell_index="17362" local_entity="0" value="0" />
+ <value cell_index="17363" local_entity="0" value="0" />
+ <value cell_index="17364" local_entity="0" value="0" />
+ <value cell_index="17365" local_entity="0" value="0" />
+ <value cell_index="17366" local_entity="0" value="0" />
+ <value cell_index="17367" local_entity="0" value="0" />
+ <value cell_index="17368" local_entity="0" value="0" />
+ <value cell_index="17369" local_entity="0" value="0" />
+ <value cell_index="17370" local_entity="0" value="0" />
+ <value cell_index="17371" local_entity="0" value="0" />
+ <value cell_index="17372" local_entity="0" value="0" />
+ <value cell_index="17373" local_entity="0" value="0" />
+ <value cell_index="17374" local_entity="0" value="0" />
+ <value cell_index="17375" local_entity="0" value="0" />
+ <value cell_index="17376" local_entity="0" value="0" />
+ <value cell_index="17377" local_entity="0" value="0" />
+ <value cell_index="17378" local_entity="0" value="0" />
+ <value cell_index="17379" local_entity="0" value="0" />
+ <value cell_index="17380" local_entity="0" value="0" />
+ <value cell_index="17381" local_entity="0" value="0" />
+ <value cell_index="17382" local_entity="0" value="0" />
+ <value cell_index="17383" local_entity="0" value="0" />
+ <value cell_index="17384" local_entity="0" value="0" />
+ <value cell_index="17385" local_entity="0" value="0" />
+ <value cell_index="17386" local_entity="0" value="0" />
+ <value cell_index="17387" local_entity="0" value="0" />
+ <value cell_index="17388" local_entity="0" value="0" />
+ <value cell_index="17389" local_entity="0" value="0" />
+ <value cell_index="17390" local_entity="0" value="0" />
+ <value cell_index="17391" local_entity="0" value="0" />
+ <value cell_index="17392" local_entity="0" value="0" />
+ <value cell_index="17393" local_entity="0" value="0" />
+ <value cell_index="17394" local_entity="0" value="0" />
+ <value cell_index="17395" local_entity="0" value="0" />
+ <value cell_index="17396" local_entity="0" value="0" />
+ <value cell_index="17397" local_entity="0" value="0" />
+ <value cell_index="17398" local_entity="0" value="0" />
+ <value cell_index="17399" local_entity="0" value="0" />
+ <value cell_index="17400" local_entity="0" value="0" />
+ <value cell_index="17401" local_entity="0" value="0" />
+ <value cell_index="17402" local_entity="0" value="0" />
+ <value cell_index="17403" local_entity="0" value="0" />
+ <value cell_index="17404" local_entity="0" value="0" />
+ <value cell_index="17405" local_entity="0" value="0" />
+ <value cell_index="17406" local_entity="0" value="0" />
+ <value cell_index="17407" local_entity="0" value="0" />
+ <value cell_index="17408" local_entity="0" value="0" />
+ <value cell_index="17409" local_entity="0" value="0" />
+ <value cell_index="17410" local_entity="0" value="0" />
+ <value cell_index="17411" local_entity="0" value="0" />
+ <value cell_index="17412" local_entity="0" value="0" />
+ <value cell_index="17413" local_entity="0" value="0" />
+ <value cell_index="17414" local_entity="0" value="0" />
+ <value cell_index="17415" local_entity="0" value="0" />
+ <value cell_index="17416" local_entity="0" value="0" />
+ <value cell_index="17417" local_entity="0" value="0" />
+ <value cell_index="17418" local_entity="0" value="0" />
+ <value cell_index="17419" local_entity="0" value="0" />
+ <value cell_index="17420" local_entity="0" value="0" />
+ <value cell_index="17421" local_entity="0" value="0" />
+ <value cell_index="17422" local_entity="0" value="0" />
+ <value cell_index="17423" local_entity="0" value="0" />
+ <value cell_index="17424" local_entity="0" value="0" />
+ <value cell_index="17425" local_entity="0" value="0" />
+ <value cell_index="17426" local_entity="0" value="0" />
+ <value cell_index="17427" local_entity="0" value="0" />
+ <value cell_index="17428" local_entity="0" value="0" />
+ <value cell_index="17429" local_entity="0" value="0" />
+ <value cell_index="17430" local_entity="0" value="0" />
+ <value cell_index="17431" local_entity="0" value="0" />
+ <value cell_index="17432" local_entity="0" value="0" />
+ <value cell_index="17433" local_entity="0" value="0" />
+ <value cell_index="17434" local_entity="0" value="0" />
+ <value cell_index="17435" local_entity="0" value="0" />
+ <value cell_index="17436" local_entity="0" value="0" />
+ <value cell_index="17437" local_entity="0" value="0" />
+ <value cell_index="17438" local_entity="0" value="0" />
+ <value cell_index="17439" local_entity="0" value="0" />
+ <value cell_index="17440" local_entity="0" value="0" />
+ <value cell_index="17441" local_entity="0" value="0" />
+ <value cell_index="17442" local_entity="0" value="0" />
+ <value cell_index="17443" local_entity="0" value="0" />
+ <value cell_index="17444" local_entity="0" value="0" />
+ <value cell_index="17445" local_entity="0" value="0" />
+ <value cell_index="17446" local_entity="0" value="0" />
+ <value cell_index="17447" local_entity="0" value="0" />
+ <value cell_index="17448" local_entity="0" value="0" />
+ <value cell_index="17449" local_entity="0" value="0" />
+ <value cell_index="17450" local_entity="0" value="0" />
+ <value cell_index="17451" local_entity="0" value="0" />
+ <value cell_index="17452" local_entity="0" value="0" />
+ <value cell_index="17453" local_entity="0" value="0" />
+ <value cell_index="17454" local_entity="0" value="0" />
+ <value cell_index="17455" local_entity="0" value="0" />
+ <value cell_index="17456" local_entity="0" value="0" />
+ <value cell_index="17457" local_entity="0" value="0" />
+ <value cell_index="17458" local_entity="0" value="0" />
+ <value cell_index="17459" local_entity="0" value="0" />
+ <value cell_index="17460" local_entity="0" value="0" />
+ <value cell_index="17461" local_entity="0" value="0" />
+ <value cell_index="17462" local_entity="0" value="0" />
+ <value cell_index="17463" local_entity="0" value="0" />
+ <value cell_index="17464" local_entity="0" value="0" />
+ <value cell_index="17465" local_entity="0" value="0" />
+ <value cell_index="17466" local_entity="0" value="0" />
+ <value cell_index="17467" local_entity="0" value="0" />
+ <value cell_index="17468" local_entity="0" value="0" />
+ <value cell_index="17469" local_entity="0" value="0" />
+ <value cell_index="17470" local_entity="0" value="0" />
+ <value cell_index="17471" local_entity="0" value="0" />
+ <value cell_index="17472" local_entity="0" value="0" />
+ <value cell_index="17473" local_entity="0" value="0" />
+ <value cell_index="17474" local_entity="0" value="0" />
+ <value cell_index="17475" local_entity="0" value="0" />
+ <value cell_index="17476" local_entity="0" value="0" />
+ <value cell_index="17477" local_entity="0" value="0" />
+ <value cell_index="17478" local_entity="0" value="0" />
+ <value cell_index="17479" local_entity="0" value="0" />
+ <value cell_index="17480" local_entity="0" value="0" />
+ <value cell_index="17481" local_entity="0" value="0" />
+ <value cell_index="17482" local_entity="0" value="0" />
+ <value cell_index="17483" local_entity="0" value="0" />
+ <value cell_index="17484" local_entity="0" value="0" />
+ <value cell_index="17485" local_entity="0" value="0" />
+ <value cell_index="17486" local_entity="0" value="0" />
+ <value cell_index="17487" local_entity="0" value="0" />
+ <value cell_index="17488" local_entity="0" value="0" />
+ <value cell_index="17489" local_entity="0" value="0" />
+ <value cell_index="17490" local_entity="0" value="0" />
+ <value cell_index="17491" local_entity="0" value="0" />
+ <value cell_index="17492" local_entity="0" value="0" />
+ <value cell_index="17493" local_entity="0" value="0" />
+ <value cell_index="17494" local_entity="0" value="0" />
+ <value cell_index="17495" local_entity="0" value="0" />
+ <value cell_index="17496" local_entity="0" value="0" />
+ <value cell_index="17497" local_entity="0" value="0" />
+ <value cell_index="17498" local_entity="0" value="0" />
+ <value cell_index="17499" local_entity="0" value="0" />
+ <value cell_index="17500" local_entity="0" value="0" />
+ <value cell_index="17501" local_entity="0" value="0" />
+ <value cell_index="17502" local_entity="0" value="0" />
+ <value cell_index="17503" local_entity="0" value="0" />
+ <value cell_index="17504" local_entity="0" value="0" />
+ <value cell_index="17505" local_entity="0" value="0" />
+ <value cell_index="17506" local_entity="0" value="0" />
+ <value cell_index="17507" local_entity="0" value="0" />
+ <value cell_index="17508" local_entity="0" value="0" />
+ <value cell_index="17509" local_entity="0" value="0" />
+ <value cell_index="17510" local_entity="0" value="0" />
+ <value cell_index="17511" local_entity="0" value="0" />
+ <value cell_index="17512" local_entity="0" value="0" />
+ <value cell_index="17513" local_entity="0" value="0" />
+ <value cell_index="17514" local_entity="0" value="0" />
+ <value cell_index="17515" local_entity="0" value="0" />
+ <value cell_index="17516" local_entity="0" value="0" />
+ <value cell_index="17517" local_entity="0" value="0" />
+ <value cell_index="17518" local_entity="0" value="0" />
+ <value cell_index="17519" local_entity="0" value="0" />
+ <value cell_index="17520" local_entity="0" value="0" />
+ <value cell_index="17521" local_entity="0" value="0" />
+ <value cell_index="17522" local_entity="0" value="0" />
+ <value cell_index="17523" local_entity="0" value="0" />
+ <value cell_index="17524" local_entity="0" value="0" />
+ <value cell_index="17525" local_entity="0" value="0" />
+ <value cell_index="17526" local_entity="0" value="0" />
+ <value cell_index="17527" local_entity="0" value="0" />
+ <value cell_index="17528" local_entity="0" value="0" />
+ <value cell_index="17529" local_entity="0" value="0" />
+ <value cell_index="17530" local_entity="0" value="0" />
+ <value cell_index="17531" local_entity="0" value="0" />
+ <value cell_index="17532" local_entity="0" value="0" />
+ <value cell_index="17533" local_entity="0" value="0" />
+ <value cell_index="17534" local_entity="0" value="0" />
+ <value cell_index="17535" local_entity="0" value="0" />
+ <value cell_index="17536" local_entity="0" value="0" />
+ <value cell_index="17537" local_entity="0" value="0" />
+ <value cell_index="17538" local_entity="0" value="0" />
+ <value cell_index="17539" local_entity="0" value="0" />
+ <value cell_index="17540" local_entity="0" value="0" />
+ <value cell_index="17541" local_entity="0" value="0" />
+ <value cell_index="17542" local_entity="0" value="0" />
+ <value cell_index="17543" local_entity="0" value="0" />
+ <value cell_index="17544" local_entity="0" value="0" />
+ <value cell_index="17545" local_entity="0" value="0" />
+ <value cell_index="17546" local_entity="0" value="0" />
+ <value cell_index="17547" local_entity="0" value="0" />
+ <value cell_index="17548" local_entity="0" value="0" />
+ <value cell_index="17549" local_entity="0" value="0" />
+ <value cell_index="17550" local_entity="0" value="0" />
+ <value cell_index="17551" local_entity="0" value="0" />
+ <value cell_index="17552" local_entity="0" value="0" />
+ <value cell_index="17553" local_entity="0" value="0" />
+ <value cell_index="17554" local_entity="0" value="0" />
+ <value cell_index="17555" local_entity="0" value="0" />
+ <value cell_index="17556" local_entity="0" value="0" />
+ <value cell_index="17557" local_entity="0" value="0" />
+ <value cell_index="17558" local_entity="0" value="0" />
+ <value cell_index="17559" local_entity="0" value="0" />
+ <value cell_index="17560" local_entity="0" value="0" />
+ <value cell_index="17561" local_entity="0" value="0" />
+ <value cell_index="17562" local_entity="0" value="0" />
+ <value cell_index="17563" local_entity="0" value="0" />
+ <value cell_index="17564" local_entity="0" value="0" />
+ <value cell_index="17565" local_entity="0" value="0" />
+ <value cell_index="17566" local_entity="0" value="0" />
+ <value cell_index="17567" local_entity="0" value="0" />
+ <value cell_index="17568" local_entity="0" value="0" />
+ <value cell_index="17569" local_entity="0" value="0" />
+ <value cell_index="17570" local_entity="0" value="0" />
+ <value cell_index="17571" local_entity="0" value="0" />
+ <value cell_index="17572" local_entity="0" value="0" />
+ <value cell_index="17573" local_entity="0" value="0" />
+ <value cell_index="17574" local_entity="0" value="0" />
+ <value cell_index="17575" local_entity="0" value="0" />
+ <value cell_index="17576" local_entity="0" value="0" />
+ <value cell_index="17577" local_entity="0" value="0" />
+ <value cell_index="17578" local_entity="0" value="0" />
+ <value cell_index="17579" local_entity="0" value="0" />
+ <value cell_index="17580" local_entity="0" value="0" />
+ <value cell_index="17581" local_entity="0" value="0" />
+ <value cell_index="17582" local_entity="0" value="0" />
+ <value cell_index="17583" local_entity="0" value="0" />
+ <value cell_index="17584" local_entity="0" value="0" />
+ <value cell_index="17585" local_entity="0" value="0" />
+ <value cell_index="17586" local_entity="0" value="0" />
+ <value cell_index="17587" local_entity="0" value="0" />
+ <value cell_index="17588" local_entity="0" value="0" />
+ <value cell_index="17589" local_entity="0" value="0" />
+ <value cell_index="17590" local_entity="0" value="0" />
+ <value cell_index="17591" local_entity="0" value="0" />
+ <value cell_index="17592" local_entity="0" value="0" />
+ <value cell_index="17593" local_entity="0" value="0" />
+ <value cell_index="17594" local_entity="0" value="0" />
+ <value cell_index="17595" local_entity="0" value="0" />
+ <value cell_index="17596" local_entity="0" value="0" />
+ <value cell_index="17597" local_entity="0" value="0" />
+ <value cell_index="17598" local_entity="0" value="0" />
+ <value cell_index="17599" local_entity="0" value="0" />
+ <value cell_index="17600" local_entity="0" value="0" />
+ <value cell_index="17601" local_entity="0" value="0" />
+ <value cell_index="17602" local_entity="0" value="0" />
+ <value cell_index="17603" local_entity="0" value="0" />
+ <value cell_index="17604" local_entity="0" value="0" />
+ <value cell_index="17605" local_entity="0" value="0" />
+ <value cell_index="17606" local_entity="0" value="0" />
+ <value cell_index="17607" local_entity="0" value="0" />
+ <value cell_index="17608" local_entity="0" value="0" />
+ <value cell_index="17609" local_entity="0" value="0" />
+ <value cell_index="17610" local_entity="0" value="0" />
+ <value cell_index="17611" local_entity="0" value="0" />
+ <value cell_index="17612" local_entity="0" value="0" />
+ <value cell_index="17613" local_entity="0" value="0" />
+ <value cell_index="17614" local_entity="0" value="0" />
+ <value cell_index="17615" local_entity="0" value="0" />
+ <value cell_index="17616" local_entity="0" value="0" />
+ <value cell_index="17617" local_entity="0" value="0" />
+ <value cell_index="17618" local_entity="0" value="0" />
+ <value cell_index="17619" local_entity="0" value="0" />
+ <value cell_index="17620" local_entity="0" value="0" />
+ <value cell_index="17621" local_entity="0" value="0" />
+ <value cell_index="17622" local_entity="0" value="0" />
+ <value cell_index="17623" local_entity="0" value="0" />
+ <value cell_index="17624" local_entity="0" value="0" />
+ <value cell_index="17625" local_entity="0" value="0" />
+ <value cell_index="17626" local_entity="0" value="0" />
+ <value cell_index="17627" local_entity="0" value="0" />
+ <value cell_index="17628" local_entity="0" value="0" />
+ <value cell_index="17629" local_entity="0" value="0" />
+ <value cell_index="17630" local_entity="0" value="0" />
+ <value cell_index="17631" local_entity="0" value="0" />
+ <value cell_index="17632" local_entity="0" value="0" />
+ <value cell_index="17633" local_entity="0" value="0" />
+ <value cell_index="17634" local_entity="0" value="0" />
+ <value cell_index="17635" local_entity="0" value="0" />
+ <value cell_index="17636" local_entity="0" value="0" />
+ <value cell_index="17637" local_entity="0" value="0" />
+ <value cell_index="17638" local_entity="0" value="0" />
+ <value cell_index="17639" local_entity="0" value="0" />
+ <value cell_index="17640" local_entity="0" value="0" />
+ <value cell_index="17641" local_entity="0" value="0" />
+ <value cell_index="17642" local_entity="0" value="0" />
+ <value cell_index="17643" local_entity="0" value="0" />
+ <value cell_index="17644" local_entity="0" value="0" />
+ <value cell_index="17645" local_entity="0" value="0" />
+ <value cell_index="17646" local_entity="0" value="0" />
+ <value cell_index="17647" local_entity="0" value="0" />
+ <value cell_index="17648" local_entity="0" value="0" />
+ <value cell_index="17649" local_entity="0" value="0" />
+ <value cell_index="17650" local_entity="0" value="0" />
+ <value cell_index="17651" local_entity="0" value="0" />
+ <value cell_index="17652" local_entity="0" value="0" />
+ <value cell_index="17653" local_entity="0" value="0" />
+ <value cell_index="17654" local_entity="0" value="0" />
+ <value cell_index="17655" local_entity="0" value="0" />
+ <value cell_index="17656" local_entity="0" value="0" />
+ <value cell_index="17657" local_entity="0" value="0" />
+ <value cell_index="17658" local_entity="0" value="0" />
+ <value cell_index="17659" local_entity="0" value="0" />
+ <value cell_index="17660" local_entity="0" value="0" />
+ <value cell_index="17661" local_entity="0" value="0" />
+ <value cell_index="17662" local_entity="0" value="0" />
+ <value cell_index="17663" local_entity="0" value="0" />
+ <value cell_index="17664" local_entity="0" value="0" />
+ <value cell_index="17665" local_entity="0" value="0" />
+ <value cell_index="17666" local_entity="0" value="0" />
+ <value cell_index="17667" local_entity="0" value="0" />
+ <value cell_index="17668" local_entity="0" value="0" />
+ <value cell_index="17669" local_entity="0" value="0" />
+ <value cell_index="17670" local_entity="0" value="0" />
+ <value cell_index="17671" local_entity="0" value="0" />
+ <value cell_index="17672" local_entity="0" value="0" />
+ <value cell_index="17673" local_entity="0" value="0" />
+ <value cell_index="17674" local_entity="0" value="0" />
+ <value cell_index="17675" local_entity="0" value="0" />
+ <value cell_index="17676" local_entity="0" value="0" />
+ <value cell_index="17677" local_entity="0" value="0" />
+ <value cell_index="17678" local_entity="0" value="0" />
+ <value cell_index="17679" local_entity="0" value="0" />
+ <value cell_index="17680" local_entity="0" value="0" />
+ <value cell_index="17681" local_entity="0" value="0" />
+ <value cell_index="17682" local_entity="0" value="0" />
+ <value cell_index="17683" local_entity="0" value="0" />
+ <value cell_index="17684" local_entity="0" value="0" />
+ <value cell_index="17685" local_entity="0" value="0" />
+ <value cell_index="17686" local_entity="0" value="0" />
+ <value cell_index="17687" local_entity="0" value="0" />
+ <value cell_index="17688" local_entity="0" value="0" />
+ <value cell_index="17689" local_entity="0" value="0" />
+ <value cell_index="17690" local_entity="0" value="0" />
+ <value cell_index="17691" local_entity="0" value="0" />
+ <value cell_index="17692" local_entity="0" value="0" />
+ <value cell_index="17693" local_entity="0" value="0" />
+ <value cell_index="17694" local_entity="0" value="0" />
+ <value cell_index="17695" local_entity="0" value="0" />
+ <value cell_index="17696" local_entity="0" value="0" />
+ <value cell_index="17697" local_entity="0" value="0" />
+ <value cell_index="17698" local_entity="0" value="0" />
+ <value cell_index="17699" local_entity="0" value="0" />
+ <value cell_index="17700" local_entity="0" value="0" />
+ <value cell_index="17701" local_entity="0" value="0" />
+ <value cell_index="17702" local_entity="0" value="0" />
+ <value cell_index="17703" local_entity="0" value="0" />
+ <value cell_index="17704" local_entity="0" value="0" />
+ <value cell_index="17705" local_entity="0" value="0" />
+ <value cell_index="17706" local_entity="0" value="0" />
+ <value cell_index="17707" local_entity="0" value="0" />
+ <value cell_index="17708" local_entity="0" value="0" />
+ <value cell_index="17709" local_entity="0" value="0" />
+ <value cell_index="17710" local_entity="0" value="0" />
+ <value cell_index="17711" local_entity="0" value="0" />
+ <value cell_index="17712" local_entity="0" value="0" />
+ <value cell_index="17713" local_entity="0" value="0" />
+ <value cell_index="17714" local_entity="0" value="0" />
+ <value cell_index="17715" local_entity="0" value="0" />
+ <value cell_index="17716" local_entity="0" value="0" />
+ <value cell_index="17717" local_entity="0" value="0" />
+ <value cell_index="17718" local_entity="0" value="0" />
+ <value cell_index="17719" local_entity="0" value="0" />
+ <value cell_index="17720" local_entity="0" value="0" />
+ <value cell_index="17721" local_entity="0" value="0" />
+ <value cell_index="17722" local_entity="0" value="0" />
+ <value cell_index="17723" local_entity="0" value="0" />
+ <value cell_index="17724" local_entity="0" value="0" />
+ <value cell_index="17725" local_entity="0" value="0" />
+ <value cell_index="17726" local_entity="0" value="0" />
+ <value cell_index="17727" local_entity="0" value="0" />
+ <value cell_index="17728" local_entity="0" value="0" />
+ <value cell_index="17729" local_entity="0" value="0" />
+ <value cell_index="17730" local_entity="0" value="0" />
+ <value cell_index="17731" local_entity="0" value="0" />
+ <value cell_index="17732" local_entity="0" value="0" />
+ <value cell_index="17733" local_entity="0" value="0" />
+ <value cell_index="17734" local_entity="0" value="0" />
+ <value cell_index="17735" local_entity="0" value="0" />
+ <value cell_index="17736" local_entity="0" value="0" />
+ <value cell_index="17737" local_entity="0" value="0" />
+ <value cell_index="17738" local_entity="0" value="0" />
+ <value cell_index="17739" local_entity="0" value="0" />
+ <value cell_index="17740" local_entity="0" value="0" />
+ <value cell_index="17741" local_entity="0" value="0" />
+ <value cell_index="17742" local_entity="0" value="0" />
+ <value cell_index="17743" local_entity="0" value="0" />
+ <value cell_index="17744" local_entity="0" value="0" />
+ <value cell_index="17745" local_entity="0" value="0" />
+ <value cell_index="17746" local_entity="0" value="0" />
+ <value cell_index="17747" local_entity="0" value="0" />
+ <value cell_index="17748" local_entity="0" value="0" />
+ <value cell_index="17749" local_entity="0" value="0" />
+ <value cell_index="17750" local_entity="0" value="0" />
+ <value cell_index="17751" local_entity="0" value="0" />
+ <value cell_index="17752" local_entity="0" value="0" />
+ <value cell_index="17753" local_entity="0" value="0" />
+ <value cell_index="17754" local_entity="0" value="0" />
+ <value cell_index="17755" local_entity="0" value="0" />
+ <value cell_index="17756" local_entity="0" value="0" />
+ <value cell_index="17757" local_entity="0" value="0" />
+ <value cell_index="17758" local_entity="0" value="0" />
+ <value cell_index="17759" local_entity="0" value="0" />
+ <value cell_index="17760" local_entity="0" value="0" />
+ <value cell_index="17761" local_entity="0" value="0" />
+ <value cell_index="17762" local_entity="0" value="0" />
+ <value cell_index="17763" local_entity="0" value="0" />
+ <value cell_index="17764" local_entity="0" value="0" />
+ <value cell_index="17765" local_entity="0" value="0" />
+ <value cell_index="17766" local_entity="0" value="0" />
+ <value cell_index="17767" local_entity="0" value="0" />
+ <value cell_index="17768" local_entity="0" value="0" />
+ <value cell_index="17769" local_entity="0" value="0" />
+ <value cell_index="17770" local_entity="0" value="0" />
+ <value cell_index="17771" local_entity="0" value="0" />
+ <value cell_index="17772" local_entity="0" value="0" />
+ <value cell_index="17773" local_entity="0" value="0" />
+ <value cell_index="17774" local_entity="0" value="0" />
+ <value cell_index="17775" local_entity="0" value="0" />
+ <value cell_index="17776" local_entity="0" value="0" />
+ <value cell_index="17777" local_entity="0" value="0" />
+ <value cell_index="17778" local_entity="0" value="0" />
+ <value cell_index="17779" local_entity="0" value="0" />
+ <value cell_index="17780" local_entity="0" value="0" />
+ <value cell_index="17781" local_entity="0" value="0" />
+ <value cell_index="17782" local_entity="0" value="0" />
+ <value cell_index="17783" local_entity="0" value="0" />
+ <value cell_index="17784" local_entity="0" value="0" />
+ <value cell_index="17785" local_entity="0" value="0" />
+ <value cell_index="17786" local_entity="0" value="0" />
+ <value cell_index="17787" local_entity="0" value="0" />
+ <value cell_index="17788" local_entity="0" value="0" />
+ <value cell_index="17789" local_entity="0" value="0" />
+ <value cell_index="17790" local_entity="0" value="0" />
+ <value cell_index="17791" local_entity="0" value="0" />
+ <value cell_index="17792" local_entity="0" value="0" />
+ <value cell_index="17793" local_entity="0" value="0" />
+ <value cell_index="17794" local_entity="0" value="0" />
+ <value cell_index="17795" local_entity="0" value="0" />
+ <value cell_index="17796" local_entity="0" value="0" />
+ <value cell_index="17797" local_entity="0" value="0" />
+ <value cell_index="17798" local_entity="0" value="0" />
+ <value cell_index="17799" local_entity="0" value="0" />
+ <value cell_index="17800" local_entity="0" value="0" />
+ <value cell_index="17801" local_entity="0" value="0" />
+ <value cell_index="17802" local_entity="0" value="0" />
+ <value cell_index="17803" local_entity="0" value="0" />
+ <value cell_index="17804" local_entity="0" value="0" />
+ <value cell_index="17805" local_entity="0" value="0" />
+ <value cell_index="17806" local_entity="0" value="0" />
+ <value cell_index="17807" local_entity="0" value="0" />
+ <value cell_index="17808" local_entity="0" value="0" />
+ <value cell_index="17809" local_entity="0" value="0" />
+ <value cell_index="17810" local_entity="0" value="0" />
+ <value cell_index="17811" local_entity="0" value="0" />
+ <value cell_index="17812" local_entity="0" value="0" />
+ <value cell_index="17813" local_entity="0" value="0" />
+ <value cell_index="17814" local_entity="0" value="0" />
+ <value cell_index="17815" local_entity="0" value="0" />
+ <value cell_index="17816" local_entity="0" value="0" />
+ <value cell_index="17817" local_entity="0" value="0" />
+ <value cell_index="17818" local_entity="0" value="0" />
+ <value cell_index="17819" local_entity="0" value="0" />
+ <value cell_index="17820" local_entity="0" value="0" />
+ <value cell_index="17821" local_entity="0" value="0" />
+ <value cell_index="17822" local_entity="0" value="0" />
+ <value cell_index="17823" local_entity="0" value="0" />
+ <value cell_index="17824" local_entity="0" value="0" />
+ <value cell_index="17825" local_entity="0" value="0" />
+ <value cell_index="17826" local_entity="0" value="0" />
+ <value cell_index="17827" local_entity="0" value="0" />
+ <value cell_index="17828" local_entity="0" value="0" />
+ <value cell_index="17829" local_entity="0" value="0" />
+ <value cell_index="17830" local_entity="0" value="0" />
+ <value cell_index="17831" local_entity="0" value="0" />
+ <value cell_index="17832" local_entity="0" value="0" />
+ <value cell_index="17833" local_entity="0" value="0" />
+ <value cell_index="17834" local_entity="0" value="0" />
+ <value cell_index="17835" local_entity="0" value="0" />
+ <value cell_index="17836" local_entity="0" value="0" />
+ <value cell_index="17837" local_entity="0" value="0" />
+ <value cell_index="17838" local_entity="0" value="0" />
+ <value cell_index="17839" local_entity="0" value="0" />
+ <value cell_index="17840" local_entity="0" value="0" />
+ <value cell_index="17841" local_entity="0" value="0" />
+ <value cell_index="17842" local_entity="0" value="0" />
+ <value cell_index="17843" local_entity="0" value="0" />
+ <value cell_index="17844" local_entity="0" value="0" />
+ <value cell_index="17845" local_entity="0" value="0" />
+ <value cell_index="17846" local_entity="0" value="0" />
+ <value cell_index="17847" local_entity="0" value="0" />
+ <value cell_index="17848" local_entity="0" value="0" />
+ <value cell_index="17849" local_entity="0" value="0" />
+ <value cell_index="17850" local_entity="0" value="0" />
+ <value cell_index="17851" local_entity="0" value="0" />
+ <value cell_index="17852" local_entity="0" value="0" />
+ <value cell_index="17853" local_entity="0" value="0" />
+ <value cell_index="17854" local_entity="0" value="0" />
+ <value cell_index="17855" local_entity="0" value="0" />
+ <value cell_index="17856" local_entity="0" value="0" />
+ <value cell_index="17857" local_entity="0" value="0" />
+ <value cell_index="17858" local_entity="0" value="0" />
+ <value cell_index="17859" local_entity="0" value="0" />
+ <value cell_index="17860" local_entity="0" value="0" />
+ <value cell_index="17861" local_entity="0" value="0" />
+ <value cell_index="17862" local_entity="0" value="0" />
+ <value cell_index="17863" local_entity="0" value="0" />
+ <value cell_index="17864" local_entity="0" value="0" />
+ <value cell_index="17865" local_entity="0" value="0" />
+ <value cell_index="17866" local_entity="0" value="0" />
+ <value cell_index="17867" local_entity="0" value="0" />
+ <value cell_index="17868" local_entity="0" value="0" />
+ <value cell_index="17869" local_entity="0" value="0" />
+ <value cell_index="17870" local_entity="0" value="0" />
+ <value cell_index="17871" local_entity="0" value="0" />
+ <value cell_index="17872" local_entity="0" value="0" />
+ <value cell_index="17873" local_entity="0" value="0" />
+ <value cell_index="17874" local_entity="0" value="0" />
+ <value cell_index="17875" local_entity="0" value="0" />
+ <value cell_index="17876" local_entity="0" value="0" />
+ <value cell_index="17877" local_entity="0" value="0" />
+ <value cell_index="17878" local_entity="0" value="0" />
+ <value cell_index="17879" local_entity="0" value="0" />
+ <value cell_index="17880" local_entity="0" value="0" />
+ <value cell_index="17881" local_entity="0" value="0" />
+ <value cell_index="17882" local_entity="0" value="0" />
+ <value cell_index="17883" local_entity="0" value="0" />
+ <value cell_index="17884" local_entity="0" value="0" />
+ <value cell_index="17885" local_entity="0" value="0" />
+ <value cell_index="17886" local_entity="0" value="0" />
+ <value cell_index="17887" local_entity="0" value="0" />
+ <value cell_index="17888" local_entity="0" value="0" />
+ <value cell_index="17889" local_entity="0" value="0" />
+ <value cell_index="17890" local_entity="0" value="0" />
+ <value cell_index="17891" local_entity="0" value="0" />
+ <value cell_index="17892" local_entity="0" value="0" />
+ <value cell_index="17893" local_entity="0" value="0" />
+ <value cell_index="17894" local_entity="0" value="0" />
+ <value cell_index="17895" local_entity="0" value="0" />
+ <value cell_index="17896" local_entity="0" value="0" />
+ <value cell_index="17897" local_entity="0" value="0" />
+ <value cell_index="17898" local_entity="0" value="0" />
+ <value cell_index="17899" local_entity="0" value="0" />
+ <value cell_index="17900" local_entity="0" value="0" />
+ <value cell_index="17901" local_entity="0" value="0" />
+ <value cell_index="17902" local_entity="0" value="0" />
+ <value cell_index="17903" local_entity="0" value="0" />
+ <value cell_index="17904" local_entity="0" value="0" />
+ <value cell_index="17905" local_entity="0" value="0" />
+ <value cell_index="17906" local_entity="0" value="0" />
+ <value cell_index="17907" local_entity="0" value="0" />
+ <value cell_index="17908" local_entity="0" value="0" />
+ <value cell_index="17909" local_entity="0" value="0" />
+ <value cell_index="17910" local_entity="0" value="0" />
+ <value cell_index="17911" local_entity="0" value="0" />
+ <value cell_index="17912" local_entity="0" value="0" />
+ <value cell_index="17913" local_entity="0" value="0" />
+ <value cell_index="17914" local_entity="0" value="0" />
+ <value cell_index="17915" local_entity="0" value="0" />
+ <value cell_index="17916" local_entity="0" value="0" />
+ <value cell_index="17917" local_entity="0" value="0" />
+ <value cell_index="17918" local_entity="0" value="0" />
+ <value cell_index="17919" local_entity="0" value="0" />
+ <value cell_index="17920" local_entity="0" value="0" />
+ <value cell_index="17921" local_entity="0" value="0" />
+ <value cell_index="17922" local_entity="0" value="0" />
+ <value cell_index="17923" local_entity="0" value="0" />
+ <value cell_index="17924" local_entity="0" value="0" />
+ <value cell_index="17925" local_entity="0" value="0" />
+ <value cell_index="17926" local_entity="0" value="0" />
+ <value cell_index="17927" local_entity="0" value="0" />
+ <value cell_index="17928" local_entity="0" value="0" />
+ <value cell_index="17929" local_entity="0" value="0" />
+ <value cell_index="17930" local_entity="0" value="0" />
+ <value cell_index="17931" local_entity="0" value="0" />
+ <value cell_index="17932" local_entity="0" value="0" />
+ <value cell_index="17933" local_entity="0" value="0" />
+ <value cell_index="17934" local_entity="0" value="0" />
+ <value cell_index="17935" local_entity="0" value="0" />
+ <value cell_index="17936" local_entity="0" value="0" />
+ <value cell_index="17937" local_entity="0" value="0" />
+ <value cell_index="17938" local_entity="0" value="0" />
+ <value cell_index="17939" local_entity="0" value="0" />
+ <value cell_index="17940" local_entity="0" value="0" />
+ <value cell_index="17941" local_entity="0" value="0" />
+ <value cell_index="17942" local_entity="0" value="0" />
+ <value cell_index="17943" local_entity="0" value="0" />
+ <value cell_index="17944" local_entity="0" value="0" />
+ <value cell_index="17945" local_entity="0" value="0" />
+ <value cell_index="17946" local_entity="0" value="0" />
+ <value cell_index="17947" local_entity="0" value="0" />
+ <value cell_index="17948" local_entity="0" value="0" />
+ <value cell_index="17949" local_entity="0" value="0" />
+ <value cell_index="17950" local_entity="0" value="0" />
+ <value cell_index="17951" local_entity="0" value="0" />
+ <value cell_index="17952" local_entity="0" value="0" />
+ <value cell_index="17953" local_entity="0" value="0" />
+ <value cell_index="17954" local_entity="0" value="0" />
+ <value cell_index="17955" local_entity="0" value="0" />
+ <value cell_index="17956" local_entity="0" value="0" />
+ <value cell_index="17957" local_entity="0" value="0" />
+ <value cell_index="17958" local_entity="0" value="0" />
+ <value cell_index="17959" local_entity="0" value="0" />
+ <value cell_index="17960" local_entity="0" value="0" />
+ <value cell_index="17961" local_entity="0" value="0" />
+ <value cell_index="17962" local_entity="0" value="0" />
+ <value cell_index="17963" local_entity="0" value="0" />
+ <value cell_index="17964" local_entity="0" value="0" />
+ <value cell_index="17965" local_entity="0" value="0" />
+ <value cell_index="17966" local_entity="0" value="0" />
+ <value cell_index="17967" local_entity="0" value="0" />
+ <value cell_index="17968" local_entity="0" value="0" />
+ <value cell_index="17969" local_entity="0" value="0" />
+ <value cell_index="17970" local_entity="0" value="0" />
+ <value cell_index="17971" local_entity="0" value="0" />
+ <value cell_index="17972" local_entity="0" value="0" />
+ <value cell_index="17973" local_entity="0" value="0" />
+ <value cell_index="17974" local_entity="0" value="0" />
+ <value cell_index="17975" local_entity="0" value="0" />
+ <value cell_index="17976" local_entity="0" value="0" />
+ <value cell_index="17977" local_entity="0" value="0" />
+ <value cell_index="17978" local_entity="0" value="0" />
+ <value cell_index="17979" local_entity="0" value="0" />
+ <value cell_index="17980" local_entity="0" value="0" />
+ <value cell_index="17981" local_entity="0" value="0" />
+ <value cell_index="17982" local_entity="0" value="0" />
+ <value cell_index="17983" local_entity="0" value="0" />
+ <value cell_index="17984" local_entity="0" value="0" />
+ <value cell_index="17985" local_entity="0" value="0" />
+ <value cell_index="17986" local_entity="0" value="0" />
+ <value cell_index="17987" local_entity="0" value="0" />
+ <value cell_index="17988" local_entity="0" value="0" />
+ <value cell_index="17989" local_entity="0" value="0" />
+ <value cell_index="17990" local_entity="0" value="0" />
+ <value cell_index="17991" local_entity="0" value="0" />
+ <value cell_index="17992" local_entity="0" value="0" />
+ <value cell_index="17993" local_entity="0" value="0" />
+ <value cell_index="17994" local_entity="0" value="0" />
+ <value cell_index="17995" local_entity="0" value="0" />
+ <value cell_index="17996" local_entity="0" value="0" />
+ <value cell_index="17997" local_entity="0" value="0" />
+ <value cell_index="17998" local_entity="0" value="0" />
+ <value cell_index="17999" local_entity="0" value="0" />
+ <value cell_index="18000" local_entity="0" value="0" />
+ <value cell_index="18001" local_entity="0" value="0" />
+ <value cell_index="18002" local_entity="0" value="0" />
+ <value cell_index="18003" local_entity="0" value="0" />
+ <value cell_index="18004" local_entity="0" value="0" />
+ <value cell_index="18005" local_entity="0" value="0" />
+ <value cell_index="18006" local_entity="0" value="0" />
+ <value cell_index="18007" local_entity="0" value="0" />
+ <value cell_index="18008" local_entity="0" value="0" />
+ <value cell_index="18009" local_entity="0" value="0" />
+ <value cell_index="18010" local_entity="0" value="0" />
+ <value cell_index="18011" local_entity="0" value="0" />
+ <value cell_index="18012" local_entity="0" value="0" />
+ <value cell_index="18013" local_entity="0" value="0" />
+ <value cell_index="18014" local_entity="0" value="0" />
+ <value cell_index="18015" local_entity="0" value="0" />
+ <value cell_index="18016" local_entity="0" value="0" />
+ <value cell_index="18017" local_entity="0" value="0" />
+ <value cell_index="18018" local_entity="0" value="0" />
+ <value cell_index="18019" local_entity="0" value="0" />
+ <value cell_index="18020" local_entity="0" value="0" />
+ <value cell_index="18021" local_entity="0" value="0" />
+ <value cell_index="18022" local_entity="0" value="0" />
+ <value cell_index="18023" local_entity="0" value="0" />
+ <value cell_index="18024" local_entity="0" value="0" />
+ <value cell_index="18025" local_entity="0" value="0" />
+ <value cell_index="18026" local_entity="0" value="0" />
+ <value cell_index="18027" local_entity="0" value="0" />
+ <value cell_index="18028" local_entity="0" value="0" />
+ <value cell_index="18029" local_entity="0" value="0" />
+ <value cell_index="18030" local_entity="0" value="0" />
+ <value cell_index="18031" local_entity="0" value="0" />
+ <value cell_index="18032" local_entity="0" value="0" />
+ <value cell_index="18033" local_entity="0" value="0" />
+ <value cell_index="18034" local_entity="0" value="0" />
+ <value cell_index="18035" local_entity="0" value="0" />
+ <value cell_index="18036" local_entity="0" value="0" />
+ <value cell_index="18037" local_entity="0" value="0" />
+ <value cell_index="18038" local_entity="0" value="0" />
+ <value cell_index="18039" local_entity="0" value="0" />
+ <value cell_index="18040" local_entity="0" value="0" />
+ <value cell_index="18041" local_entity="0" value="0" />
+ <value cell_index="18042" local_entity="0" value="0" />
+ <value cell_index="18043" local_entity="0" value="0" />
+ <value cell_index="18044" local_entity="0" value="0" />
+ <value cell_index="18045" local_entity="0" value="0" />
+ <value cell_index="18046" local_entity="0" value="0" />
+ <value cell_index="18047" local_entity="0" value="0" />
+ <value cell_index="18048" local_entity="0" value="0" />
+ <value cell_index="18049" local_entity="0" value="0" />
+ <value cell_index="18050" local_entity="0" value="0" />
+ <value cell_index="18051" local_entity="0" value="0" />
+ <value cell_index="18052" local_entity="0" value="0" />
+ <value cell_index="18053" local_entity="0" value="0" />
+ <value cell_index="18054" local_entity="0" value="0" />
+ <value cell_index="18055" local_entity="0" value="0" />
+ <value cell_index="18056" local_entity="0" value="0" />
+ <value cell_index="18057" local_entity="0" value="0" />
+ <value cell_index="18058" local_entity="0" value="0" />
+ <value cell_index="18059" local_entity="0" value="0" />
+ <value cell_index="18060" local_entity="0" value="0" />
+ <value cell_index="18061" local_entity="0" value="0" />
+ <value cell_index="18062" local_entity="0" value="0" />
+ <value cell_index="18063" local_entity="0" value="0" />
+ <value cell_index="18064" local_entity="0" value="0" />
+ <value cell_index="18065" local_entity="0" value="0" />
+ <value cell_index="18066" local_entity="0" value="0" />
+ <value cell_index="18067" local_entity="0" value="0" />
+ <value cell_index="18068" local_entity="0" value="0" />
+ <value cell_index="18069" local_entity="0" value="0" />
+ <value cell_index="18070" local_entity="0" value="0" />
+ <value cell_index="18071" local_entity="0" value="0" />
+ <value cell_index="18072" local_entity="0" value="0" />
+ <value cell_index="18073" local_entity="0" value="0" />
+ <value cell_index="18074" local_entity="0" value="0" />
+ <value cell_index="18075" local_entity="0" value="0" />
+ <value cell_index="18076" local_entity="0" value="0" />
+ <value cell_index="18077" local_entity="0" value="0" />
+ <value cell_index="18078" local_entity="0" value="0" />
+ <value cell_index="18079" local_entity="0" value="0" />
+ <value cell_index="18080" local_entity="0" value="0" />
+ <value cell_index="18081" local_entity="0" value="0" />
+ <value cell_index="18082" local_entity="0" value="0" />
+ <value cell_index="18083" local_entity="0" value="0" />
+ <value cell_index="18084" local_entity="0" value="0" />
+ <value cell_index="18085" local_entity="0" value="0" />
+ <value cell_index="18086" local_entity="0" value="0" />
+ <value cell_index="18087" local_entity="0" value="0" />
+ <value cell_index="18088" local_entity="0" value="0" />
+ <value cell_index="18089" local_entity="0" value="0" />
+ <value cell_index="18090" local_entity="0" value="0" />
+ <value cell_index="18091" local_entity="0" value="0" />
+ <value cell_index="18092" local_entity="0" value="0" />
+ <value cell_index="18093" local_entity="0" value="0" />
+ <value cell_index="18094" local_entity="0" value="0" />
+ <value cell_index="18095" local_entity="0" value="0" />
+ <value cell_index="18096" local_entity="0" value="0" />
+ <value cell_index="18097" local_entity="0" value="0" />
+ <value cell_index="18098" local_entity="0" value="0" />
+ <value cell_index="18099" local_entity="0" value="0" />
+ <value cell_index="18100" local_entity="0" value="0" />
+ <value cell_index="18101" local_entity="0" value="0" />
+ <value cell_index="18102" local_entity="0" value="0" />
+ <value cell_index="18103" local_entity="0" value="0" />
+ <value cell_index="18104" local_entity="0" value="0" />
+ <value cell_index="18105" local_entity="0" value="0" />
+ <value cell_index="18106" local_entity="0" value="0" />
+ <value cell_index="18107" local_entity="0" value="0" />
+ <value cell_index="18108" local_entity="0" value="0" />
+ <value cell_index="18109" local_entity="0" value="0" />
+ <value cell_index="18110" local_entity="0" value="0" />
+ <value cell_index="18111" local_entity="0" value="0" />
+ <value cell_index="18112" local_entity="0" value="0" />
+ <value cell_index="18113" local_entity="0" value="0" />
+ <value cell_index="18114" local_entity="0" value="0" />
+ <value cell_index="18115" local_entity="0" value="0" />
+ <value cell_index="18116" local_entity="0" value="0" />
+ <value cell_index="18117" local_entity="0" value="0" />
+ <value cell_index="18118" local_entity="0" value="0" />
+ <value cell_index="18119" local_entity="0" value="0" />
+ <value cell_index="18120" local_entity="0" value="0" />
+ <value cell_index="18121" local_entity="0" value="0" />
+ <value cell_index="18122" local_entity="0" value="0" />
+ <value cell_index="18123" local_entity="0" value="0" />
+ <value cell_index="18124" local_entity="0" value="0" />
+ <value cell_index="18125" local_entity="0" value="0" />
+ <value cell_index="18126" local_entity="0" value="0" />
+ <value cell_index="18127" local_entity="0" value="0" />
+ <value cell_index="18128" local_entity="0" value="0" />
+ <value cell_index="18129" local_entity="0" value="0" />
+ <value cell_index="18130" local_entity="0" value="0" />
+ <value cell_index="18131" local_entity="0" value="0" />
+ <value cell_index="18132" local_entity="0" value="0" />
+ <value cell_index="18133" local_entity="0" value="0" />
+ <value cell_index="18134" local_entity="0" value="0" />
+ <value cell_index="18135" local_entity="0" value="0" />
+ <value cell_index="18136" local_entity="0" value="0" />
+ <value cell_index="18137" local_entity="0" value="0" />
+ <value cell_index="18138" local_entity="0" value="0" />
+ <value cell_index="18139" local_entity="0" value="0" />
+ <value cell_index="18140" local_entity="0" value="0" />
+ <value cell_index="18141" local_entity="0" value="0" />
+ <value cell_index="18142" local_entity="0" value="0" />
+ <value cell_index="18143" local_entity="0" value="0" />
+ <value cell_index="18144" local_entity="0" value="0" />
+ <value cell_index="18145" local_entity="0" value="0" />
+ <value cell_index="18146" local_entity="0" value="0" />
+ <value cell_index="18147" local_entity="0" value="0" />
+ <value cell_index="18148" local_entity="0" value="0" />
+ <value cell_index="18149" local_entity="0" value="0" />
+ <value cell_index="18150" local_entity="0" value="0" />
+ <value cell_index="18151" local_entity="0" value="0" />
+ <value cell_index="18152" local_entity="0" value="0" />
+ <value cell_index="18153" local_entity="0" value="0" />
+ <value cell_index="18154" local_entity="0" value="0" />
+ <value cell_index="18155" local_entity="0" value="0" />
+ <value cell_index="18156" local_entity="0" value="0" />
+ <value cell_index="18157" local_entity="0" value="0" />
+ <value cell_index="18158" local_entity="0" value="0" />
+ <value cell_index="18159" local_entity="0" value="0" />
+ <value cell_index="18160" local_entity="0" value="0" />
+ <value cell_index="18161" local_entity="0" value="0" />
+ <value cell_index="18162" local_entity="0" value="0" />
+ <value cell_index="18163" local_entity="0" value="0" />
+ <value cell_index="18164" local_entity="0" value="0" />
+ <value cell_index="18165" local_entity="0" value="0" />
+ <value cell_index="18166" local_entity="0" value="0" />
+ <value cell_index="18167" local_entity="0" value="0" />
+ <value cell_index="18168" local_entity="0" value="0" />
+ <value cell_index="18169" local_entity="0" value="0" />
+ <value cell_index="18170" local_entity="0" value="0" />
+ <value cell_index="18171" local_entity="0" value="0" />
+ <value cell_index="18172" local_entity="0" value="0" />
+ <value cell_index="18173" local_entity="0" value="0" />
+ <value cell_index="18174" local_entity="0" value="0" />
+ <value cell_index="18175" local_entity="0" value="0" />
+ <value cell_index="18176" local_entity="0" value="0" />
+ <value cell_index="18177" local_entity="0" value="0" />
+ <value cell_index="18178" local_entity="0" value="0" />
+ <value cell_index="18179" local_entity="0" value="0" />
+ <value cell_index="18180" local_entity="0" value="0" />
+ <value cell_index="18181" local_entity="0" value="0" />
+ <value cell_index="18182" local_entity="0" value="0" />
+ <value cell_index="18183" local_entity="0" value="0" />
+ <value cell_index="18184" local_entity="0" value="0" />
+ <value cell_index="18185" local_entity="0" value="0" />
+ <value cell_index="18186" local_entity="0" value="0" />
+ <value cell_index="18187" local_entity="0" value="0" />
+ <value cell_index="18188" local_entity="0" value="0" />
+ <value cell_index="18189" local_entity="0" value="0" />
+ <value cell_index="18190" local_entity="0" value="0" />
+ <value cell_index="18191" local_entity="0" value="0" />
+ <value cell_index="18192" local_entity="0" value="0" />
+ <value cell_index="18193" local_entity="0" value="0" />
+ <value cell_index="18194" local_entity="0" value="0" />
+ <value cell_index="18195" local_entity="0" value="0" />
+ <value cell_index="18196" local_entity="0" value="0" />
+ <value cell_index="18197" local_entity="0" value="0" />
+ <value cell_index="18198" local_entity="0" value="0" />
+ <value cell_index="18199" local_entity="0" value="0" />
+ <value cell_index="18200" local_entity="0" value="0" />
+ <value cell_index="18201" local_entity="0" value="0" />
+ <value cell_index="18202" local_entity="0" value="0" />
+ <value cell_index="18203" local_entity="0" value="0" />
+ <value cell_index="18204" local_entity="0" value="0" />
+ <value cell_index="18205" local_entity="0" value="0" />
+ <value cell_index="18206" local_entity="0" value="0" />
+ <value cell_index="18207" local_entity="0" value="0" />
+ <value cell_index="18208" local_entity="0" value="0" />
+ <value cell_index="18209" local_entity="0" value="0" />
+ <value cell_index="18210" local_entity="0" value="0" />
+ <value cell_index="18211" local_entity="0" value="0" />
+ <value cell_index="18212" local_entity="0" value="0" />
+ <value cell_index="18213" local_entity="0" value="0" />
+ <value cell_index="18214" local_entity="0" value="0" />
+ <value cell_index="18215" local_entity="0" value="0" />
+ <value cell_index="18216" local_entity="0" value="0" />
+ <value cell_index="18217" local_entity="0" value="0" />
+ <value cell_index="18218" local_entity="0" value="0" />
+ <value cell_index="18219" local_entity="0" value="0" />
+ <value cell_index="18220" local_entity="0" value="0" />
+ <value cell_index="18221" local_entity="0" value="0" />
+ <value cell_index="18222" local_entity="0" value="0" />
+ <value cell_index="18223" local_entity="0" value="0" />
+ <value cell_index="18224" local_entity="0" value="0" />
+ <value cell_index="18225" local_entity="0" value="0" />
+ <value cell_index="18226" local_entity="0" value="0" />
+ <value cell_index="18227" local_entity="0" value="0" />
+ <value cell_index="18228" local_entity="0" value="0" />
+ <value cell_index="18229" local_entity="0" value="0" />
+ <value cell_index="18230" local_entity="0" value="0" />
+ <value cell_index="18231" local_entity="0" value="0" />
+ <value cell_index="18232" local_entity="0" value="0" />
+ <value cell_index="18233" local_entity="0" value="0" />
+ <value cell_index="18234" local_entity="0" value="0" />
+ <value cell_index="18235" local_entity="0" value="0" />
+ <value cell_index="18236" local_entity="0" value="0" />
+ <value cell_index="18237" local_entity="0" value="0" />
+ <value cell_index="18238" local_entity="0" value="0" />
+ <value cell_index="18239" local_entity="0" value="0" />
+ <value cell_index="18240" local_entity="0" value="0" />
+ <value cell_index="18241" local_entity="0" value="0" />
+ <value cell_index="18242" local_entity="0" value="0" />
+ <value cell_index="18243" local_entity="0" value="0" />
+ <value cell_index="18244" local_entity="0" value="0" />
+ <value cell_index="18245" local_entity="0" value="0" />
+ <value cell_index="18246" local_entity="0" value="0" />
+ <value cell_index="18247" local_entity="0" value="0" />
+ <value cell_index="18248" local_entity="0" value="0" />
+ <value cell_index="18249" local_entity="0" value="0" />
+ <value cell_index="18250" local_entity="0" value="0" />
+ <value cell_index="18251" local_entity="0" value="0" />
+ <value cell_index="18252" local_entity="0" value="0" />
+ <value cell_index="18253" local_entity="0" value="0" />
+ <value cell_index="18254" local_entity="0" value="0" />
+ <value cell_index="18255" local_entity="0" value="0" />
+ <value cell_index="18256" local_entity="0" value="0" />
+ <value cell_index="18257" local_entity="0" value="0" />
+ <value cell_index="18258" local_entity="0" value="0" />
+ <value cell_index="18259" local_entity="0" value="0" />
+ <value cell_index="18260" local_entity="0" value="0" />
+ <value cell_index="18261" local_entity="0" value="0" />
+ <value cell_index="18262" local_entity="0" value="0" />
+ <value cell_index="18263" local_entity="0" value="0" />
+ <value cell_index="18264" local_entity="0" value="0" />
+ <value cell_index="18265" local_entity="0" value="0" />
+ <value cell_index="18266" local_entity="0" value="0" />
+ <value cell_index="18267" local_entity="0" value="0" />
+ <value cell_index="18268" local_entity="0" value="0" />
+ <value cell_index="18269" local_entity="0" value="0" />
+ <value cell_index="18270" local_entity="0" value="0" />
+ <value cell_index="18271" local_entity="0" value="0" />
+ <value cell_index="18272" local_entity="0" value="0" />
+ <value cell_index="18273" local_entity="0" value="0" />
+ <value cell_index="18274" local_entity="0" value="0" />
+ <value cell_index="18275" local_entity="0" value="0" />
+ <value cell_index="18276" local_entity="0" value="0" />
+ <value cell_index="18277" local_entity="0" value="0" />
+ <value cell_index="18278" local_entity="0" value="0" />
+ <value cell_index="18279" local_entity="0" value="0" />
+ <value cell_index="18280" local_entity="0" value="0" />
+ <value cell_index="18281" local_entity="0" value="0" />
+ <value cell_index="18282" local_entity="0" value="0" />
+ <value cell_index="18283" local_entity="0" value="0" />
+ <value cell_index="18284" local_entity="0" value="0" />
+ <value cell_index="18285" local_entity="0" value="0" />
+ <value cell_index="18286" local_entity="0" value="0" />
+ <value cell_index="18287" local_entity="0" value="0" />
+ <value cell_index="18288" local_entity="0" value="0" />
+ <value cell_index="18289" local_entity="0" value="0" />
+ <value cell_index="18290" local_entity="0" value="0" />
+ <value cell_index="18291" local_entity="0" value="0" />
+ <value cell_index="18292" local_entity="0" value="0" />
+ <value cell_index="18293" local_entity="0" value="0" />
+ <value cell_index="18294" local_entity="0" value="0" />
+ <value cell_index="18295" local_entity="0" value="0" />
+ <value cell_index="18296" local_entity="0" value="0" />
+ <value cell_index="18297" local_entity="0" value="0" />
+ <value cell_index="18298" local_entity="0" value="0" />
+ <value cell_index="18299" local_entity="0" value="0" />
+ <value cell_index="18300" local_entity="0" value="0" />
+ <value cell_index="18301" local_entity="0" value="0" />
+ <value cell_index="18302" local_entity="0" value="0" />
+ <value cell_index="18303" local_entity="0" value="0" />
+ <value cell_index="18304" local_entity="0" value="0" />
+ <value cell_index="18305" local_entity="0" value="0" />
+ <value cell_index="18306" local_entity="0" value="0" />
+ <value cell_index="18307" local_entity="0" value="0" />
+ <value cell_index="18308" local_entity="0" value="0" />
+ <value cell_index="18309" local_entity="0" value="0" />
+ <value cell_index="18310" local_entity="0" value="0" />
+ <value cell_index="18311" local_entity="0" value="0" />
+ <value cell_index="18312" local_entity="0" value="0" />
+ <value cell_index="18313" local_entity="0" value="0" />
+ <value cell_index="18314" local_entity="0" value="0" />
+ <value cell_index="18315" local_entity="0" value="0" />
+ <value cell_index="18316" local_entity="0" value="0" />
+ <value cell_index="18317" local_entity="0" value="0" />
+ <value cell_index="18318" local_entity="0" value="0" />
+ <value cell_index="18319" local_entity="0" value="0" />
+ <value cell_index="18320" local_entity="0" value="0" />
+ <value cell_index="18321" local_entity="0" value="0" />
+ <value cell_index="18322" local_entity="0" value="0" />
+ <value cell_index="18323" local_entity="0" value="0" />
+ <value cell_index="18324" local_entity="0" value="0" />
+ <value cell_index="18325" local_entity="0" value="0" />
+ <value cell_index="18326" local_entity="0" value="0" />
+ <value cell_index="18327" local_entity="0" value="0" />
+ <value cell_index="18328" local_entity="0" value="0" />
+ <value cell_index="18329" local_entity="0" value="0" />
+ <value cell_index="18330" local_entity="0" value="0" />
+ <value cell_index="18331" local_entity="0" value="0" />
+ <value cell_index="18332" local_entity="0" value="0" />
+ <value cell_index="18333" local_entity="0" value="0" />
+ <value cell_index="18334" local_entity="0" value="0" />
+ <value cell_index="18335" local_entity="0" value="0" />
+ <value cell_index="18336" local_entity="0" value="0" />
+ <value cell_index="18337" local_entity="0" value="0" />
+ <value cell_index="18338" local_entity="0" value="0" />
+ <value cell_index="18339" local_entity="0" value="0" />
+ <value cell_index="18340" local_entity="0" value="0" />
+ <value cell_index="18341" local_entity="0" value="0" />
+ <value cell_index="18342" local_entity="0" value="0" />
+ <value cell_index="18343" local_entity="0" value="0" />
+ <value cell_index="18344" local_entity="0" value="0" />
+ <value cell_index="18345" local_entity="0" value="0" />
+ <value cell_index="18346" local_entity="0" value="0" />
+ <value cell_index="18347" local_entity="0" value="0" />
+ <value cell_index="18348" local_entity="0" value="0" />
+ <value cell_index="18349" local_entity="0" value="0" />
+ <value cell_index="18350" local_entity="0" value="0" />
+ <value cell_index="18351" local_entity="0" value="0" />
+ <value cell_index="18352" local_entity="0" value="0" />
+ <value cell_index="18353" local_entity="0" value="0" />
+ <value cell_index="18354" local_entity="0" value="0" />
+ <value cell_index="18355" local_entity="0" value="0" />
+ <value cell_index="18356" local_entity="0" value="0" />
+ <value cell_index="18357" local_entity="0" value="0" />
+ <value cell_index="18358" local_entity="0" value="0" />
+ <value cell_index="18359" local_entity="0" value="0" />
+ <value cell_index="18360" local_entity="0" value="0" />
+ <value cell_index="18361" local_entity="0" value="0" />
+ <value cell_index="18362" local_entity="0" value="0" />
+ <value cell_index="18363" local_entity="0" value="0" />
+ <value cell_index="18364" local_entity="0" value="0" />
+ <value cell_index="18365" local_entity="0" value="0" />
+ <value cell_index="18366" local_entity="0" value="0" />
+ <value cell_index="18367" local_entity="0" value="0" />
+ <value cell_index="18368" local_entity="0" value="0" />
+ <value cell_index="18369" local_entity="0" value="0" />
+ <value cell_index="18370" local_entity="0" value="0" />
+ <value cell_index="18371" local_entity="0" value="0" />
+ <value cell_index="18372" local_entity="0" value="0" />
+ <value cell_index="18373" local_entity="0" value="0" />
+ <value cell_index="18374" local_entity="0" value="0" />
+ <value cell_index="18375" local_entity="0" value="0" />
+ <value cell_index="18376" local_entity="0" value="0" />
+ <value cell_index="18377" local_entity="0" value="0" />
+ <value cell_index="18378" local_entity="0" value="0" />
+ <value cell_index="18379" local_entity="0" value="0" />
+ <value cell_index="18380" local_entity="0" value="0" />
+ <value cell_index="18381" local_entity="0" value="0" />
+ <value cell_index="18382" local_entity="0" value="0" />
+ <value cell_index="18383" local_entity="0" value="0" />
+ <value cell_index="18384" local_entity="0" value="0" />
+ <value cell_index="18385" local_entity="0" value="0" />
+ <value cell_index="18386" local_entity="0" value="0" />
+ <value cell_index="18387" local_entity="0" value="0" />
+ <value cell_index="18388" local_entity="0" value="0" />
+ <value cell_index="18389" local_entity="0" value="0" />
+ <value cell_index="18390" local_entity="0" value="0" />
+ <value cell_index="18391" local_entity="0" value="0" />
+ <value cell_index="18392" local_entity="0" value="0" />
+ <value cell_index="18393" local_entity="0" value="0" />
+ <value cell_index="18394" local_entity="0" value="0" />
+ <value cell_index="18395" local_entity="0" value="0" />
+ <value cell_index="18396" local_entity="0" value="0" />
+ <value cell_index="18397" local_entity="0" value="0" />
+ <value cell_index="18398" local_entity="0" value="0" />
+ <value cell_index="18399" local_entity="0" value="0" />
+ <value cell_index="18400" local_entity="0" value="0" />
+ <value cell_index="18401" local_entity="0" value="0" />
+ <value cell_index="18402" local_entity="0" value="0" />
+ <value cell_index="18403" local_entity="0" value="0" />
+ <value cell_index="18404" local_entity="0" value="0" />
+ <value cell_index="18405" local_entity="0" value="0" />
+ <value cell_index="18406" local_entity="0" value="0" />
+ <value cell_index="18407" local_entity="0" value="0" />
+ <value cell_index="18408" local_entity="0" value="0" />
+ <value cell_index="18409" local_entity="0" value="0" />
+ <value cell_index="18410" local_entity="0" value="0" />
+ <value cell_index="18411" local_entity="0" value="0" />
+ <value cell_index="18412" local_entity="0" value="0" />
+ <value cell_index="18413" local_entity="0" value="0" />
+ <value cell_index="18414" local_entity="0" value="0" />
+ <value cell_index="18415" local_entity="0" value="0" />
+ <value cell_index="18416" local_entity="0" value="0" />
+ <value cell_index="18417" local_entity="0" value="0" />
+ <value cell_index="18418" local_entity="0" value="0" />
+ <value cell_index="18419" local_entity="0" value="0" />
+ <value cell_index="18420" local_entity="0" value="0" />
+ <value cell_index="18421" local_entity="0" value="0" />
+ <value cell_index="18422" local_entity="0" value="0" />
+ <value cell_index="18423" local_entity="0" value="0" />
+ <value cell_index="18424" local_entity="0" value="0" />
+ <value cell_index="18425" local_entity="0" value="0" />
+ <value cell_index="18426" local_entity="0" value="0" />
+ <value cell_index="18427" local_entity="0" value="0" />
+ <value cell_index="18428" local_entity="0" value="0" />
+ <value cell_index="18429" local_entity="0" value="0" />
+ <value cell_index="18430" local_entity="0" value="0" />
+ <value cell_index="18431" local_entity="0" value="0" />
+ <value cell_index="18432" local_entity="0" value="0" />
+ <value cell_index="18433" local_entity="0" value="0" />
+ <value cell_index="18434" local_entity="0" value="0" />
+ <value cell_index="18435" local_entity="0" value="0" />
+ <value cell_index="18436" local_entity="0" value="0" />
+ <value cell_index="18437" local_entity="0" value="0" />
+ <value cell_index="18438" local_entity="0" value="0" />
+ <value cell_index="18439" local_entity="0" value="0" />
+ <value cell_index="18440" local_entity="0" value="0" />
+ <value cell_index="18441" local_entity="0" value="0" />
+ <value cell_index="18442" local_entity="0" value="0" />
+ <value cell_index="18443" local_entity="0" value="0" />
+ <value cell_index="18444" local_entity="0" value="0" />
+ <value cell_index="18445" local_entity="0" value="0" />
+ <value cell_index="18446" local_entity="0" value="0" />
+ <value cell_index="18447" local_entity="0" value="0" />
+ <value cell_index="18448" local_entity="0" value="0" />
+ <value cell_index="18449" local_entity="0" value="0" />
+ <value cell_index="18450" local_entity="0" value="0" />
+ <value cell_index="18451" local_entity="0" value="0" />
+ <value cell_index="18452" local_entity="0" value="0" />
+ <value cell_index="18453" local_entity="0" value="0" />
+ <value cell_index="18454" local_entity="0" value="0" />
+ <value cell_index="18455" local_entity="0" value="0" />
+ <value cell_index="18456" local_entity="0" value="0" />
+ <value cell_index="18457" local_entity="0" value="0" />
+ <value cell_index="18458" local_entity="0" value="0" />
+ <value cell_index="18459" local_entity="0" value="0" />
+ <value cell_index="18460" local_entity="0" value="0" />
+ <value cell_index="18461" local_entity="0" value="0" />
+ <value cell_index="18462" local_entity="0" value="0" />
+ <value cell_index="18463" local_entity="0" value="0" />
+ <value cell_index="18464" local_entity="0" value="0" />
+ <value cell_index="18465" local_entity="0" value="0" />
+ <value cell_index="18466" local_entity="0" value="0" />
+ <value cell_index="18467" local_entity="0" value="0" />
+ <value cell_index="18468" local_entity="0" value="0" />
+ <value cell_index="18469" local_entity="0" value="0" />
+ <value cell_index="18470" local_entity="0" value="0" />
+ <value cell_index="18471" local_entity="0" value="0" />
+ <value cell_index="18472" local_entity="0" value="0" />
+ <value cell_index="18473" local_entity="0" value="0" />
+ <value cell_index="18474" local_entity="0" value="0" />
+ <value cell_index="18475" local_entity="0" value="0" />
+ <value cell_index="18476" local_entity="0" value="0" />
+ <value cell_index="18477" local_entity="0" value="0" />
+ <value cell_index="18478" local_entity="0" value="0" />
+ <value cell_index="18479" local_entity="0" value="0" />
+ <value cell_index="18480" local_entity="0" value="0" />
+ <value cell_index="18481" local_entity="0" value="0" />
+ <value cell_index="18482" local_entity="0" value="0" />
+ <value cell_index="18483" local_entity="0" value="0" />
+ <value cell_index="18484" local_entity="0" value="0" />
+ <value cell_index="18485" local_entity="0" value="0" />
+ <value cell_index="18486" local_entity="0" value="0" />
+ <value cell_index="18487" local_entity="0" value="0" />
+ <value cell_index="18488" local_entity="0" value="0" />
+ <value cell_index="18489" local_entity="0" value="0" />
+ <value cell_index="18490" local_entity="0" value="0" />
+ <value cell_index="18491" local_entity="0" value="0" />
+ <value cell_index="18492" local_entity="0" value="0" />
+ <value cell_index="18493" local_entity="0" value="0" />
+ <value cell_index="18494" local_entity="0" value="0" />
+ <value cell_index="18495" local_entity="0" value="0" />
+ <value cell_index="18496" local_entity="0" value="0" />
+ <value cell_index="18497" local_entity="0" value="0" />
+ <value cell_index="18498" local_entity="0" value="0" />
+ <value cell_index="18499" local_entity="0" value="0" />
+ <value cell_index="18500" local_entity="0" value="0" />
+ <value cell_index="18501" local_entity="0" value="0" />
+ <value cell_index="18502" local_entity="0" value="0" />
+ <value cell_index="18503" local_entity="0" value="0" />
+ <value cell_index="18504" local_entity="0" value="0" />
+ <value cell_index="18505" local_entity="0" value="0" />
+ <value cell_index="18506" local_entity="0" value="0" />
+ <value cell_index="18507" local_entity="0" value="0" />
+ <value cell_index="18508" local_entity="0" value="0" />
+ <value cell_index="18509" local_entity="0" value="0" />
+ <value cell_index="18510" local_entity="0" value="0" />
+ <value cell_index="18511" local_entity="0" value="0" />
+ <value cell_index="18512" local_entity="0" value="0" />
+ <value cell_index="18513" local_entity="0" value="0" />
+ <value cell_index="18514" local_entity="0" value="0" />
+ <value cell_index="18515" local_entity="0" value="0" />
+ <value cell_index="18516" local_entity="0" value="0" />
+ <value cell_index="18517" local_entity="0" value="0" />
+ <value cell_index="18518" local_entity="0" value="0" />
+ <value cell_index="18519" local_entity="0" value="0" />
+ <value cell_index="18520" local_entity="0" value="0" />
+ <value cell_index="18521" local_entity="0" value="0" />
+ <value cell_index="18522" local_entity="0" value="0" />
+ <value cell_index="18523" local_entity="0" value="0" />
+ <value cell_index="18524" local_entity="0" value="0" />
+ <value cell_index="18525" local_entity="0" value="0" />
+ <value cell_index="18526" local_entity="0" value="0" />
+ <value cell_index="18527" local_entity="0" value="0" />
+ <value cell_index="18528" local_entity="0" value="0" />
+ <value cell_index="18529" local_entity="0" value="0" />
+ <value cell_index="18530" local_entity="0" value="0" />
+ <value cell_index="18531" local_entity="0" value="0" />
+ <value cell_index="18532" local_entity="0" value="0" />
+ <value cell_index="18533" local_entity="0" value="0" />
+ <value cell_index="18534" local_entity="0" value="0" />
+ <value cell_index="18535" local_entity="0" value="0" />
+ <value cell_index="18536" local_entity="0" value="0" />
+ <value cell_index="18537" local_entity="0" value="0" />
+ <value cell_index="18538" local_entity="0" value="0" />
+ <value cell_index="18539" local_entity="0" value="0" />
+ <value cell_index="18540" local_entity="0" value="0" />
+ <value cell_index="18541" local_entity="0" value="0" />
+ <value cell_index="18542" local_entity="0" value="0" />
+ <value cell_index="18543" local_entity="0" value="0" />
+ <value cell_index="18544" local_entity="0" value="0" />
+ <value cell_index="18545" local_entity="0" value="0" />
+ <value cell_index="18546" local_entity="0" value="0" />
+ <value cell_index="18547" local_entity="0" value="0" />
+ <value cell_index="18548" local_entity="0" value="0" />
+ <value cell_index="18549" local_entity="0" value="0" />
+ <value cell_index="18550" local_entity="0" value="0" />
+ <value cell_index="18551" local_entity="0" value="0" />
+ <value cell_index="18552" local_entity="0" value="0" />
+ <value cell_index="18553" local_entity="0" value="0" />
+ <value cell_index="18554" local_entity="0" value="0" />
+ <value cell_index="18555" local_entity="0" value="0" />
+ <value cell_index="18556" local_entity="0" value="0" />
+ <value cell_index="18557" local_entity="0" value="0" />
+ <value cell_index="18558" local_entity="0" value="0" />
+ <value cell_index="18559" local_entity="0" value="0" />
+ <value cell_index="18560" local_entity="0" value="0" />
+ <value cell_index="18561" local_entity="0" value="0" />
+ <value cell_index="18562" local_entity="0" value="0" />
+ <value cell_index="18563" local_entity="0" value="0" />
+ <value cell_index="18564" local_entity="0" value="0" />
+ <value cell_index="18565" local_entity="0" value="0" />
+ <value cell_index="18566" local_entity="0" value="0" />
+ <value cell_index="18567" local_entity="0" value="0" />
+ <value cell_index="18568" local_entity="0" value="0" />
+ <value cell_index="18569" local_entity="0" value="0" />
+ <value cell_index="18570" local_entity="0" value="0" />
+ <value cell_index="18571" local_entity="0" value="0" />
+ <value cell_index="18572" local_entity="0" value="0" />
+ <value cell_index="18573" local_entity="0" value="0" />
+ <value cell_index="18574" local_entity="0" value="0" />
+ <value cell_index="18575" local_entity="0" value="0" />
+ <value cell_index="18576" local_entity="0" value="0" />
+ <value cell_index="18577" local_entity="0" value="0" />
+ <value cell_index="18578" local_entity="0" value="0" />
+ <value cell_index="18579" local_entity="0" value="0" />
+ <value cell_index="18580" local_entity="0" value="0" />
+ <value cell_index="18581" local_entity="0" value="0" />
+ <value cell_index="18582" local_entity="0" value="0" />
+ <value cell_index="18583" local_entity="0" value="0" />
+ <value cell_index="18584" local_entity="0" value="0" />
+ <value cell_index="18585" local_entity="0" value="0" />
+ <value cell_index="18586" local_entity="0" value="0" />
+ <value cell_index="18587" local_entity="0" value="0" />
+ <value cell_index="18588" local_entity="0" value="0" />
+ <value cell_index="18589" local_entity="0" value="0" />
+ <value cell_index="18590" local_entity="0" value="0" />
+ <value cell_index="18591" local_entity="0" value="0" />
+ <value cell_index="18592" local_entity="0" value="0" />
+ <value cell_index="18593" local_entity="0" value="0" />
+ <value cell_index="18594" local_entity="0" value="0" />
+ <value cell_index="18595" local_entity="0" value="0" />
+ <value cell_index="18596" local_entity="0" value="0" />
+ <value cell_index="18597" local_entity="0" value="0" />
+ <value cell_index="18598" local_entity="0" value="0" />
+ <value cell_index="18599" local_entity="0" value="0" />
+ <value cell_index="18600" local_entity="0" value="0" />
+ <value cell_index="18601" local_entity="0" value="0" />
+ <value cell_index="18602" local_entity="0" value="0" />
+ <value cell_index="18603" local_entity="0" value="0" />
+ <value cell_index="18604" local_entity="0" value="0" />
+ <value cell_index="18605" local_entity="0" value="0" />
+ <value cell_index="18606" local_entity="0" value="0" />
+ <value cell_index="18607" local_entity="0" value="0" />
+ <value cell_index="18608" local_entity="0" value="0" />
+ <value cell_index="18609" local_entity="0" value="0" />
+ <value cell_index="18610" local_entity="0" value="0" />
+ <value cell_index="18611" local_entity="0" value="0" />
+ <value cell_index="18612" local_entity="0" value="0" />
+ <value cell_index="18613" local_entity="0" value="0" />
+ <value cell_index="18614" local_entity="0" value="0" />
+ <value cell_index="18615" local_entity="0" value="0" />
+ <value cell_index="18616" local_entity="0" value="0" />
+ <value cell_index="18617" local_entity="0" value="0" />
+ <value cell_index="18618" local_entity="0" value="0" />
+ <value cell_index="18619" local_entity="0" value="0" />
+ <value cell_index="18620" local_entity="0" value="0" />
+ <value cell_index="18621" local_entity="0" value="0" />
+ <value cell_index="18622" local_entity="0" value="0" />
+ <value cell_index="18623" local_entity="0" value="0" />
+ <value cell_index="18624" local_entity="0" value="0" />
+ <value cell_index="18625" local_entity="0" value="0" />
+ <value cell_index="18626" local_entity="0" value="0" />
+ <value cell_index="18627" local_entity="0" value="0" />
+ <value cell_index="18628" local_entity="0" value="0" />
+ <value cell_index="18629" local_entity="0" value="0" />
+ <value cell_index="18630" local_entity="0" value="0" />
+ <value cell_index="18631" local_entity="0" value="0" />
+ <value cell_index="18632" local_entity="0" value="0" />
+ <value cell_index="18633" local_entity="0" value="0" />
+ <value cell_index="18634" local_entity="0" value="0" />
+ <value cell_index="18635" local_entity="0" value="0" />
+ <value cell_index="18636" local_entity="0" value="0" />
+ <value cell_index="18637" local_entity="0" value="0" />
+ <value cell_index="18638" local_entity="0" value="0" />
+ <value cell_index="18639" local_entity="0" value="0" />
+ <value cell_index="18640" local_entity="0" value="0" />
+ <value cell_index="18641" local_entity="0" value="0" />
+ <value cell_index="18642" local_entity="0" value="0" />
+ <value cell_index="18643" local_entity="0" value="0" />
+ <value cell_index="18644" local_entity="0" value="0" />
+ <value cell_index="18645" local_entity="0" value="0" />
+ <value cell_index="18646" local_entity="0" value="0" />
+ <value cell_index="18647" local_entity="0" value="0" />
+ <value cell_index="18648" local_entity="0" value="0" />
+ <value cell_index="18649" local_entity="0" value="0" />
+ <value cell_index="18650" local_entity="0" value="0" />
+ <value cell_index="18651" local_entity="0" value="0" />
+ <value cell_index="18652" local_entity="0" value="0" />
+ <value cell_index="18653" local_entity="0" value="0" />
+ <value cell_index="18654" local_entity="0" value="0" />
+ <value cell_index="18655" local_entity="0" value="0" />
+ <value cell_index="18656" local_entity="0" value="0" />
+ <value cell_index="18657" local_entity="0" value="0" />
+ <value cell_index="18658" local_entity="0" value="0" />
+ <value cell_index="18659" local_entity="0" value="0" />
+ <value cell_index="18660" local_entity="0" value="0" />
+ <value cell_index="18661" local_entity="0" value="0" />
+ <value cell_index="18662" local_entity="0" value="0" />
+ <value cell_index="18663" local_entity="0" value="0" />
+ <value cell_index="18664" local_entity="0" value="0" />
+ <value cell_index="18665" local_entity="0" value="0" />
+ <value cell_index="18666" local_entity="0" value="0" />
+ <value cell_index="18667" local_entity="0" value="0" />
+ <value cell_index="18668" local_entity="0" value="0" />
+ <value cell_index="18669" local_entity="0" value="0" />
+ <value cell_index="18670" local_entity="0" value="0" />
+ <value cell_index="18671" local_entity="0" value="0" />
+ <value cell_index="18672" local_entity="0" value="0" />
+ <value cell_index="18673" local_entity="0" value="0" />
+ <value cell_index="18674" local_entity="0" value="0" />
+ <value cell_index="18675" local_entity="0" value="0" />
+ <value cell_index="18676" local_entity="0" value="0" />
+ <value cell_index="18677" local_entity="0" value="0" />
+ <value cell_index="18678" local_entity="0" value="0" />
+ <value cell_index="18679" local_entity="0" value="0" />
+ <value cell_index="18680" local_entity="0" value="0" />
+ <value cell_index="18681" local_entity="0" value="0" />
+ <value cell_index="18682" local_entity="0" value="0" />
+ <value cell_index="18683" local_entity="0" value="0" />
+ <value cell_index="18684" local_entity="0" value="0" />
+ <value cell_index="18685" local_entity="0" value="0" />
+ <value cell_index="18686" local_entity="0" value="0" />
+ <value cell_index="18687" local_entity="0" value="0" />
+ <value cell_index="18688" local_entity="0" value="0" />
+ <value cell_index="18689" local_entity="0" value="0" />
+ <value cell_index="18690" local_entity="0" value="0" />
+ <value cell_index="18691" local_entity="0" value="0" />
+ <value cell_index="18692" local_entity="0" value="0" />
+ <value cell_index="18693" local_entity="0" value="0" />
+ <value cell_index="18694" local_entity="0" value="0" />
+ <value cell_index="18695" local_entity="0" value="0" />
+ <value cell_index="18696" local_entity="0" value="0" />
+ <value cell_index="18697" local_entity="0" value="0" />
+ <value cell_index="18698" local_entity="0" value="0" />
+ <value cell_index="18699" local_entity="0" value="0" />
+ <value cell_index="18700" local_entity="0" value="0" />
+ <value cell_index="18701" local_entity="0" value="0" />
+ <value cell_index="18702" local_entity="0" value="0" />
+ <value cell_index="18703" local_entity="0" value="0" />
+ <value cell_index="18704" local_entity="0" value="0" />
+ <value cell_index="18705" local_entity="0" value="0" />
+ <value cell_index="18706" local_entity="0" value="0" />
+ <value cell_index="18707" local_entity="0" value="0" />
+ <value cell_index="18708" local_entity="0" value="0" />
+ <value cell_index="18709" local_entity="0" value="0" />
+ <value cell_index="18710" local_entity="0" value="0" />
+ <value cell_index="18711" local_entity="0" value="0" />
+ <value cell_index="18712" local_entity="0" value="0" />
+ <value cell_index="18713" local_entity="0" value="0" />
+ <value cell_index="18714" local_entity="0" value="0" />
+ <value cell_index="18715" local_entity="0" value="0" />
+ <value cell_index="18716" local_entity="0" value="0" />
+ <value cell_index="18717" local_entity="0" value="0" />
+ <value cell_index="18718" local_entity="0" value="0" />
+ <value cell_index="18719" local_entity="0" value="0" />
+ <value cell_index="18720" local_entity="0" value="0" />
+ <value cell_index="18721" local_entity="0" value="0" />
+ <value cell_index="18722" local_entity="0" value="0" />
+ <value cell_index="18723" local_entity="0" value="0" />
+ <value cell_index="18724" local_entity="0" value="0" />
+ <value cell_index="18725" local_entity="0" value="0" />
+ <value cell_index="18726" local_entity="0" value="0" />
+ <value cell_index="18727" local_entity="0" value="0" />
+ <value cell_index="18728" local_entity="0" value="0" />
+ <value cell_index="18729" local_entity="0" value="0" />
+ <value cell_index="18730" local_entity="0" value="0" />
+ <value cell_index="18731" local_entity="0" value="0" />
+ <value cell_index="18732" local_entity="0" value="0" />
+ <value cell_index="18733" local_entity="0" value="0" />
+ <value cell_index="18734" local_entity="0" value="0" />
+ <value cell_index="18735" local_entity="0" value="0" />
+ <value cell_index="18736" local_entity="0" value="0" />
+ <value cell_index="18737" local_entity="0" value="0" />
+ <value cell_index="18738" local_entity="0" value="0" />
+ <value cell_index="18739" local_entity="0" value="0" />
+ <value cell_index="18740" local_entity="0" value="0" />
+ <value cell_index="18741" local_entity="0" value="0" />
+ <value cell_index="18742" local_entity="0" value="0" />
+ <value cell_index="18743" local_entity="0" value="0" />
+ <value cell_index="18744" local_entity="0" value="0" />
+ <value cell_index="18745" local_entity="0" value="0" />
+ <value cell_index="18746" local_entity="0" value="0" />
+ <value cell_index="18747" local_entity="0" value="0" />
+ <value cell_index="18748" local_entity="0" value="0" />
+ <value cell_index="18749" local_entity="0" value="0" />
+ <value cell_index="18750" local_entity="0" value="0" />
+ <value cell_index="18751" local_entity="0" value="0" />
+ <value cell_index="18752" local_entity="0" value="0" />
+ <value cell_index="18753" local_entity="0" value="0" />
+ <value cell_index="18754" local_entity="0" value="0" />
+ <value cell_index="18755" local_entity="0" value="0" />
+ <value cell_index="18756" local_entity="0" value="0" />
+ <value cell_index="18757" local_entity="0" value="0" />
+ <value cell_index="18758" local_entity="0" value="0" />
+ <value cell_index="18759" local_entity="0" value="0" />
+ <value cell_index="18760" local_entity="0" value="0" />
+ <value cell_index="18761" local_entity="0" value="0" />
+ <value cell_index="18762" local_entity="0" value="0" />
+ <value cell_index="18763" local_entity="0" value="0" />
+ <value cell_index="18764" local_entity="0" value="0" />
+ <value cell_index="18765" local_entity="0" value="0" />
+ <value cell_index="18766" local_entity="0" value="0" />
+ <value cell_index="18767" local_entity="0" value="0" />
+ <value cell_index="18768" local_entity="0" value="0" />
+ <value cell_index="18769" local_entity="0" value="0" />
+ <value cell_index="18770" local_entity="0" value="0" />
+ <value cell_index="18771" local_entity="0" value="0" />
+ <value cell_index="18772" local_entity="0" value="0" />
+ <value cell_index="18773" local_entity="0" value="0" />
+ <value cell_index="18774" local_entity="0" value="0" />
+ <value cell_index="18775" local_entity="0" value="0" />
+ <value cell_index="18776" local_entity="0" value="0" />
+ <value cell_index="18777" local_entity="0" value="0" />
+ <value cell_index="18778" local_entity="0" value="0" />
+ <value cell_index="18779" local_entity="0" value="0" />
+ <value cell_index="18780" local_entity="0" value="0" />
+ <value cell_index="18781" local_entity="0" value="0" />
+ <value cell_index="18782" local_entity="0" value="0" />
+ <value cell_index="18783" local_entity="0" value="0" />
+ <value cell_index="18784" local_entity="0" value="0" />
+ <value cell_index="18785" local_entity="0" value="0" />
+ <value cell_index="18786" local_entity="0" value="0" />
+ <value cell_index="18787" local_entity="0" value="0" />
+ <value cell_index="18788" local_entity="0" value="0" />
+ <value cell_index="18789" local_entity="0" value="0" />
+ <value cell_index="18790" local_entity="0" value="0" />
+ <value cell_index="18791" local_entity="0" value="0" />
+ <value cell_index="18792" local_entity="0" value="0" />
+ <value cell_index="18793" local_entity="0" value="0" />
+ <value cell_index="18794" local_entity="0" value="0" />
+ <value cell_index="18795" local_entity="0" value="0" />
+ <value cell_index="18796" local_entity="0" value="0" />
+ <value cell_index="18797" local_entity="0" value="0" />
+ <value cell_index="18798" local_entity="0" value="0" />
+ <value cell_index="18799" local_entity="0" value="0" />
+ <value cell_index="18800" local_entity="0" value="0" />
+ <value cell_index="18801" local_entity="0" value="0" />
+ <value cell_index="18802" local_entity="0" value="0" />
+ <value cell_index="18803" local_entity="0" value="0" />
+ <value cell_index="18804" local_entity="0" value="0" />
+ <value cell_index="18805" local_entity="0" value="0" />
+ <value cell_index="18806" local_entity="0" value="0" />
+ <value cell_index="18807" local_entity="0" value="0" />
+ <value cell_index="18808" local_entity="0" value="0" />
+ <value cell_index="18809" local_entity="0" value="0" />
+ <value cell_index="18810" local_entity="0" value="0" />
+ <value cell_index="18811" local_entity="0" value="0" />
+ <value cell_index="18812" local_entity="0" value="0" />
+ <value cell_index="18813" local_entity="0" value="0" />
+ <value cell_index="18814" local_entity="0" value="0" />
+ <value cell_index="18815" local_entity="0" value="0" />
+ <value cell_index="18816" local_entity="0" value="0" />
+ <value cell_index="18817" local_entity="0" value="0" />
+ <value cell_index="18818" local_entity="0" value="0" />
+ <value cell_index="18819" local_entity="0" value="0" />
+ <value cell_index="18820" local_entity="0" value="0" />
+ <value cell_index="18821" local_entity="0" value="0" />
+ <value cell_index="18822" local_entity="0" value="0" />
+ <value cell_index="18823" local_entity="0" value="0" />
+ <value cell_index="18824" local_entity="0" value="0" />
+ <value cell_index="18825" local_entity="0" value="0" />
+ <value cell_index="18826" local_entity="0" value="0" />
+ <value cell_index="18827" local_entity="0" value="0" />
+ <value cell_index="18828" local_entity="0" value="0" />
+ <value cell_index="18829" local_entity="0" value="0" />
+ <value cell_index="18830" local_entity="0" value="0" />
+ <value cell_index="18831" local_entity="0" value="0" />
+ <value cell_index="18832" local_entity="0" value="0" />
+ <value cell_index="18833" local_entity="0" value="0" />
+ <value cell_index="18834" local_entity="0" value="0" />
+ <value cell_index="18835" local_entity="0" value="0" />
+ <value cell_index="18836" local_entity="0" value="0" />
+ <value cell_index="18837" local_entity="0" value="0" />
+ <value cell_index="18838" local_entity="0" value="0" />
+ <value cell_index="18839" local_entity="0" value="0" />
+ <value cell_index="18840" local_entity="0" value="0" />
+ <value cell_index="18841" local_entity="0" value="0" />
+ <value cell_index="18842" local_entity="0" value="0" />
+ <value cell_index="18843" local_entity="0" value="0" />
+ <value cell_index="18844" local_entity="0" value="0" />
+ <value cell_index="18845" local_entity="0" value="0" />
+ <value cell_index="18846" local_entity="0" value="0" />
+ <value cell_index="18847" local_entity="0" value="0" />
+ <value cell_index="18848" local_entity="0" value="0" />
+ <value cell_index="18849" local_entity="0" value="0" />
+ <value cell_index="18850" local_entity="0" value="0" />
+ <value cell_index="18851" local_entity="0" value="0" />
+ <value cell_index="18852" local_entity="0" value="0" />
+ <value cell_index="18853" local_entity="0" value="0" />
+ <value cell_index="18854" local_entity="0" value="0" />
+ <value cell_index="18855" local_entity="0" value="0" />
+ <value cell_index="18856" local_entity="0" value="0" />
+ <value cell_index="18857" local_entity="0" value="0" />
+ <value cell_index="18858" local_entity="0" value="0" />
+ <value cell_index="18859" local_entity="0" value="0" />
+ <value cell_index="18860" local_entity="0" value="0" />
+ <value cell_index="18861" local_entity="0" value="0" />
+ <value cell_index="18862" local_entity="0" value="0" />
+ <value cell_index="18863" local_entity="0" value="0" />
+ <value cell_index="18864" local_entity="0" value="0" />
+ <value cell_index="18865" local_entity="0" value="0" />
+ <value cell_index="18866" local_entity="0" value="0" />
+ <value cell_index="18867" local_entity="0" value="0" />
+ <value cell_index="18868" local_entity="0" value="0" />
+ <value cell_index="18869" local_entity="0" value="0" />
+ <value cell_index="18870" local_entity="0" value="0" />
+ <value cell_index="18871" local_entity="0" value="0" />
+ <value cell_index="18872" local_entity="0" value="0" />
+ <value cell_index="18873" local_entity="0" value="0" />
+ <value cell_index="18874" local_entity="0" value="0" />
+ <value cell_index="18875" local_entity="0" value="0" />
+ <value cell_index="18876" local_entity="0" value="0" />
+ <value cell_index="18877" local_entity="0" value="0" />
+ <value cell_index="18878" local_entity="0" value="0" />
+ <value cell_index="18879" local_entity="0" value="0" />
+ <value cell_index="18880" local_entity="0" value="0" />
+ <value cell_index="18881" local_entity="0" value="0" />
+ <value cell_index="18882" local_entity="0" value="0" />
+ <value cell_index="18883" local_entity="0" value="0" />
+ <value cell_index="18884" local_entity="0" value="0" />
+ <value cell_index="18885" local_entity="0" value="0" />
+ <value cell_index="18886" local_entity="0" value="0" />
+ <value cell_index="18887" local_entity="0" value="0" />
+ <value cell_index="18888" local_entity="0" value="0" />
+ <value cell_index="18889" local_entity="0" value="0" />
+ <value cell_index="18890" local_entity="0" value="0" />
+ <value cell_index="18891" local_entity="0" value="0" />
+ <value cell_index="18892" local_entity="0" value="0" />
+ <value cell_index="18893" local_entity="0" value="0" />
+ <value cell_index="18894" local_entity="0" value="0" />
+ <value cell_index="18895" local_entity="0" value="0" />
+ <value cell_index="18896" local_entity="0" value="0" />
+ <value cell_index="18897" local_entity="0" value="0" />
+ <value cell_index="18898" local_entity="0" value="0" />
+ <value cell_index="18899" local_entity="0" value="0" />
+ <value cell_index="18900" local_entity="0" value="0" />
+ <value cell_index="18901" local_entity="0" value="0" />
+ <value cell_index="18902" local_entity="0" value="0" />
+ <value cell_index="18903" local_entity="0" value="0" />
+ <value cell_index="18904" local_entity="0" value="0" />
+ <value cell_index="18905" local_entity="0" value="0" />
+ <value cell_index="18906" local_entity="0" value="0" />
+ <value cell_index="18907" local_entity="0" value="0" />
+ <value cell_index="18908" local_entity="0" value="0" />
+ <value cell_index="18909" local_entity="0" value="0" />
+ <value cell_index="18910" local_entity="0" value="0" />
+ <value cell_index="18911" local_entity="0" value="0" />
+ <value cell_index="18912" local_entity="0" value="0" />
+ <value cell_index="18913" local_entity="0" value="0" />
+ <value cell_index="18914" local_entity="0" value="0" />
+ <value cell_index="18915" local_entity="0" value="0" />
+ <value cell_index="18916" local_entity="0" value="0" />
+ <value cell_index="18917" local_entity="0" value="0" />
+ <value cell_index="18918" local_entity="0" value="0" />
+ <value cell_index="18919" local_entity="0" value="0" />
+ <value cell_index="18920" local_entity="0" value="0" />
+ <value cell_index="18921" local_entity="0" value="0" />
+ <value cell_index="18922" local_entity="0" value="0" />
+ <value cell_index="18923" local_entity="0" value="0" />
+ <value cell_index="18924" local_entity="0" value="0" />
+ <value cell_index="18925" local_entity="0" value="0" />
+ <value cell_index="18926" local_entity="0" value="0" />
+ <value cell_index="18927" local_entity="0" value="0" />
+ <value cell_index="18928" local_entity="0" value="0" />
+ <value cell_index="18929" local_entity="0" value="0" />
+ <value cell_index="18930" local_entity="0" value="0" />
+ <value cell_index="18931" local_entity="0" value="0" />
+ <value cell_index="18932" local_entity="0" value="0" />
+ <value cell_index="18933" local_entity="0" value="0" />
+ <value cell_index="18934" local_entity="0" value="0" />
+ <value cell_index="18935" local_entity="0" value="0" />
+ <value cell_index="18936" local_entity="0" value="0" />
+ <value cell_index="18937" local_entity="0" value="0" />
+ <value cell_index="18938" local_entity="0" value="0" />
+ <value cell_index="18939" local_entity="0" value="0" />
+ <value cell_index="18940" local_entity="0" value="0" />
+ <value cell_index="18941" local_entity="0" value="0" />
+ <value cell_index="18942" local_entity="0" value="0" />
+ <value cell_index="18943" local_entity="0" value="0" />
+ <value cell_index="18944" local_entity="0" value="0" />
+ <value cell_index="18945" local_entity="0" value="0" />
+ <value cell_index="18946" local_entity="0" value="0" />
+ <value cell_index="18947" local_entity="0" value="0" />
+ <value cell_index="18948" local_entity="0" value="0" />
+ <value cell_index="18949" local_entity="0" value="0" />
+ <value cell_index="18950" local_entity="0" value="0" />
+ <value cell_index="18951" local_entity="0" value="0" />
+ <value cell_index="18952" local_entity="0" value="0" />
+ <value cell_index="18953" local_entity="0" value="0" />
+ <value cell_index="18954" local_entity="0" value="0" />
+ <value cell_index="18955" local_entity="0" value="0" />
+ <value cell_index="18956" local_entity="0" value="0" />
+ <value cell_index="18957" local_entity="0" value="0" />
+ <value cell_index="18958" local_entity="0" value="0" />
+ <value cell_index="18959" local_entity="0" value="0" />
+ <value cell_index="18960" local_entity="0" value="0" />
+ <value cell_index="18961" local_entity="0" value="0" />
+ <value cell_index="18962" local_entity="0" value="0" />
+ <value cell_index="18963" local_entity="0" value="0" />
+ <value cell_index="18964" local_entity="0" value="0" />
+ <value cell_index="18965" local_entity="0" value="0" />
+ <value cell_index="18966" local_entity="0" value="0" />
+ <value cell_index="18967" local_entity="0" value="0" />
+ <value cell_index="18968" local_entity="0" value="0" />
+ <value cell_index="18969" local_entity="0" value="0" />
+ <value cell_index="18970" local_entity="0" value="0" />
+ <value cell_index="18971" local_entity="0" value="0" />
+ <value cell_index="18972" local_entity="0" value="0" />
+ <value cell_index="18973" local_entity="0" value="0" />
+ <value cell_index="18974" local_entity="0" value="0" />
+ <value cell_index="18975" local_entity="0" value="0" />
+ <value cell_index="18976" local_entity="0" value="0" />
+ <value cell_index="18977" local_entity="0" value="0" />
+ <value cell_index="18978" local_entity="0" value="0" />
+ <value cell_index="18979" local_entity="0" value="0" />
+ <value cell_index="18980" local_entity="0" value="0" />
+ <value cell_index="18981" local_entity="0" value="0" />
+ <value cell_index="18982" local_entity="0" value="0" />
+ <value cell_index="18983" local_entity="0" value="0" />
+ <value cell_index="18984" local_entity="0" value="0" />
+ <value cell_index="18985" local_entity="0" value="0" />
+ <value cell_index="18986" local_entity="0" value="0" />
+ <value cell_index="18987" local_entity="0" value="0" />
+ <value cell_index="18988" local_entity="0" value="0" />
+ <value cell_index="18989" local_entity="0" value="0" />
+ <value cell_index="18990" local_entity="0" value="0" />
+ <value cell_index="18991" local_entity="0" value="0" />
+ <value cell_index="18992" local_entity="0" value="0" />
+ <value cell_index="18993" local_entity="0" value="0" />
+ <value cell_index="18994" local_entity="0" value="0" />
+ <value cell_index="18995" local_entity="0" value="0" />
+ <value cell_index="18996" local_entity="0" value="0" />
+ <value cell_index="18997" local_entity="0" value="0" />
+ <value cell_index="18998" local_entity="0" value="0" />
+ <value cell_index="18999" local_entity="0" value="0" />
+ <value cell_index="19000" local_entity="0" value="0" />
+ <value cell_index="19001" local_entity="0" value="0" />
+ <value cell_index="19002" local_entity="0" value="0" />
+ <value cell_index="19003" local_entity="0" value="0" />
+ <value cell_index="19004" local_entity="0" value="0" />
+ <value cell_index="19005" local_entity="0" value="0" />
+ <value cell_index="19006" local_entity="0" value="0" />
+ <value cell_index="19007" local_entity="0" value="0" />
+ <value cell_index="19008" local_entity="0" value="0" />
+ <value cell_index="19009" local_entity="0" value="0" />
+ <value cell_index="19010" local_entity="0" value="0" />
+ <value cell_index="19011" local_entity="0" value="0" />
+ <value cell_index="19012" local_entity="0" value="0" />
+ <value cell_index="19013" local_entity="0" value="0" />
+ <value cell_index="19014" local_entity="0" value="0" />
+ <value cell_index="19015" local_entity="0" value="0" />
+ <value cell_index="19016" local_entity="0" value="0" />
+ <value cell_index="19017" local_entity="0" value="0" />
+ <value cell_index="19018" local_entity="0" value="0" />
+ <value cell_index="19019" local_entity="0" value="0" />
+ <value cell_index="19020" local_entity="0" value="0" />
+ <value cell_index="19021" local_entity="0" value="0" />
+ <value cell_index="19022" local_entity="0" value="0" />
+ <value cell_index="19023" local_entity="0" value="0" />
+ <value cell_index="19024" local_entity="0" value="0" />
+ <value cell_index="19025" local_entity="0" value="0" />
+ <value cell_index="19026" local_entity="0" value="0" />
+ <value cell_index="19027" local_entity="0" value="0" />
+ <value cell_index="19028" local_entity="0" value="0" />
+ <value cell_index="19029" local_entity="0" value="0" />
+ <value cell_index="19030" local_entity="0" value="0" />
+ <value cell_index="19031" local_entity="0" value="0" />
+ <value cell_index="19032" local_entity="0" value="0" />
+ <value cell_index="19033" local_entity="0" value="0" />
+ <value cell_index="19034" local_entity="0" value="0" />
+ <value cell_index="19035" local_entity="0" value="0" />
+ <value cell_index="19036" local_entity="0" value="0" />
+ <value cell_index="19037" local_entity="0" value="0" />
+ <value cell_index="19038" local_entity="0" value="0" />
+ <value cell_index="19039" local_entity="0" value="0" />
+ <value cell_index="19040" local_entity="0" value="0" />
+ <value cell_index="19041" local_entity="0" value="0" />
+ <value cell_index="19042" local_entity="0" value="0" />
+ <value cell_index="19043" local_entity="0" value="0" />
+ <value cell_index="19044" local_entity="0" value="0" />
+ <value cell_index="19045" local_entity="0" value="0" />
+ <value cell_index="19046" local_entity="0" value="0" />
+ <value cell_index="19047" local_entity="0" value="0" />
+ <value cell_index="19048" local_entity="0" value="0" />
+ <value cell_index="19049" local_entity="0" value="0" />
+ <value cell_index="19050" local_entity="0" value="0" />
+ <value cell_index="19051" local_entity="0" value="0" />
+ <value cell_index="19052" local_entity="0" value="0" />
+ <value cell_index="19053" local_entity="0" value="0" />
+ <value cell_index="19054" local_entity="0" value="0" />
+ <value cell_index="19055" local_entity="0" value="0" />
+ <value cell_index="19056" local_entity="0" value="0" />
+ <value cell_index="19057" local_entity="0" value="0" />
+ <value cell_index="19058" local_entity="0" value="0" />
+ <value cell_index="19059" local_entity="0" value="0" />
+ <value cell_index="19060" local_entity="0" value="0" />
+ <value cell_index="19061" local_entity="0" value="0" />
+ <value cell_index="19062" local_entity="0" value="0" />
+ <value cell_index="19063" local_entity="0" value="0" />
+ <value cell_index="19064" local_entity="0" value="0" />
+ <value cell_index="19065" local_entity="0" value="0" />
+ <value cell_index="19066" local_entity="0" value="0" />
+ <value cell_index="19067" local_entity="0" value="0" />
+ <value cell_index="19068" local_entity="0" value="0" />
+ <value cell_index="19069" local_entity="0" value="0" />
+ <value cell_index="19070" local_entity="0" value="0" />
+ <value cell_index="19071" local_entity="0" value="0" />
+ <value cell_index="19072" local_entity="0" value="0" />
+ <value cell_index="19073" local_entity="0" value="0" />
+ <value cell_index="19074" local_entity="0" value="0" />
+ <value cell_index="19075" local_entity="0" value="0" />
+ <value cell_index="19076" local_entity="0" value="0" />
+ <value cell_index="19077" local_entity="0" value="0" />
+ <value cell_index="19078" local_entity="0" value="0" />
+ <value cell_index="19079" local_entity="0" value="0" />
+ <value cell_index="19080" local_entity="0" value="0" />
+ <value cell_index="19081" local_entity="0" value="0" />
+ <value cell_index="19082" local_entity="0" value="0" />
+ <value cell_index="19083" local_entity="0" value="0" />
+ <value cell_index="19084" local_entity="0" value="0" />
+ <value cell_index="19085" local_entity="0" value="0" />
+ <value cell_index="19086" local_entity="0" value="0" />
+ <value cell_index="19087" local_entity="0" value="0" />
+ <value cell_index="19088" local_entity="0" value="0" />
+ <value cell_index="19089" local_entity="0" value="0" />
+ <value cell_index="19090" local_entity="0" value="0" />
+ <value cell_index="19091" local_entity="0" value="0" />
+ <value cell_index="19092" local_entity="0" value="0" />
+ <value cell_index="19093" local_entity="0" value="0" />
+ <value cell_index="19094" local_entity="0" value="0" />
+ <value cell_index="19095" local_entity="0" value="0" />
+ <value cell_index="19096" local_entity="0" value="0" />
+ <value cell_index="19097" local_entity="0" value="0" />
+ <value cell_index="19098" local_entity="0" value="0" />
+ <value cell_index="19099" local_entity="0" value="0" />
+ <value cell_index="19100" local_entity="0" value="0" />
+ <value cell_index="19101" local_entity="0" value="0" />
+ <value cell_index="19102" local_entity="0" value="0" />
+ <value cell_index="19103" local_entity="0" value="0" />
+ <value cell_index="19104" local_entity="0" value="0" />
+ <value cell_index="19105" local_entity="0" value="0" />
+ <value cell_index="19106" local_entity="0" value="0" />
+ <value cell_index="19107" local_entity="0" value="0" />
+ <value cell_index="19108" local_entity="0" value="0" />
+ <value cell_index="19109" local_entity="0" value="0" />
+ <value cell_index="19110" local_entity="0" value="0" />
+ <value cell_index="19111" local_entity="0" value="0" />
+ <value cell_index="19112" local_entity="0" value="0" />
+ <value cell_index="19113" local_entity="0" value="0" />
+ <value cell_index="19114" local_entity="0" value="0" />
+ <value cell_index="19115" local_entity="0" value="0" />
+ <value cell_index="19116" local_entity="0" value="0" />
+ <value cell_index="19117" local_entity="0" value="0" />
+ <value cell_index="19118" local_entity="0" value="0" />
+ <value cell_index="19119" local_entity="0" value="0" />
+ <value cell_index="19120" local_entity="0" value="0" />
+ <value cell_index="19121" local_entity="0" value="0" />
+ <value cell_index="19122" local_entity="0" value="0" />
+ <value cell_index="19123" local_entity="0" value="0" />
+ <value cell_index="19124" local_entity="0" value="0" />
+ <value cell_index="19125" local_entity="0" value="0" />
+ <value cell_index="19126" local_entity="0" value="0" />
+ <value cell_index="19127" local_entity="0" value="0" />
+ <value cell_index="19128" local_entity="0" value="0" />
+ <value cell_index="19129" local_entity="0" value="0" />
+ <value cell_index="19130" local_entity="0" value="0" />
+ <value cell_index="19131" local_entity="0" value="0" />
+ <value cell_index="19132" local_entity="0" value="0" />
+ <value cell_index="19133" local_entity="0" value="0" />
+ <value cell_index="19134" local_entity="0" value="0" />
+ <value cell_index="19135" local_entity="0" value="0" />
+ <value cell_index="19136" local_entity="0" value="0" />
+ <value cell_index="19137" local_entity="0" value="0" />
+ <value cell_index="19138" local_entity="0" value="0" />
+ <value cell_index="19139" local_entity="0" value="0" />
+ <value cell_index="19140" local_entity="0" value="0" />
+ <value cell_index="19141" local_entity="0" value="0" />
+ <value cell_index="19142" local_entity="0" value="0" />
+ <value cell_index="19143" local_entity="0" value="0" />
+ <value cell_index="19144" local_entity="0" value="0" />
+ <value cell_index="19145" local_entity="0" value="0" />
+ <value cell_index="19146" local_entity="0" value="0" />
+ <value cell_index="19147" local_entity="0" value="0" />
+ <value cell_index="19148" local_entity="0" value="0" />
+ <value cell_index="19149" local_entity="0" value="0" />
+ <value cell_index="19150" local_entity="0" value="0" />
+ <value cell_index="19151" local_entity="0" value="0" />
+ <value cell_index="19152" local_entity="0" value="0" />
+ <value cell_index="19153" local_entity="0" value="0" />
+ <value cell_index="19154" local_entity="0" value="0" />
+ <value cell_index="19155" local_entity="0" value="0" />
+ <value cell_index="19156" local_entity="0" value="0" />
+ <value cell_index="19157" local_entity="0" value="0" />
+ <value cell_index="19158" local_entity="0" value="0" />
+ <value cell_index="19159" local_entity="0" value="0" />
+ <value cell_index="19160" local_entity="0" value="0" />
+ <value cell_index="19161" local_entity="0" value="0" />
+ <value cell_index="19162" local_entity="0" value="0" />
+ <value cell_index="19163" local_entity="0" value="0" />
+ <value cell_index="19164" local_entity="0" value="0" />
+ <value cell_index="19165" local_entity="0" value="0" />
+ <value cell_index="19166" local_entity="0" value="0" />
+ <value cell_index="19167" local_entity="0" value="0" />
+ <value cell_index="19168" local_entity="0" value="0" />
+ <value cell_index="19169" local_entity="0" value="0" />
+ <value cell_index="19170" local_entity="0" value="0" />
+ <value cell_index="19171" local_entity="0" value="0" />
+ <value cell_index="19172" local_entity="0" value="0" />
+ <value cell_index="19173" local_entity="0" value="0" />
+ <value cell_index="19174" local_entity="0" value="0" />
+ <value cell_index="19175" local_entity="0" value="0" />
+ <value cell_index="19176" local_entity="0" value="0" />
+ <value cell_index="19177" local_entity="0" value="0" />
+ <value cell_index="19178" local_entity="0" value="0" />
+ <value cell_index="19179" local_entity="0" value="0" />
+ <value cell_index="19180" local_entity="0" value="0" />
+ <value cell_index="19181" local_entity="0" value="0" />
+ <value cell_index="19182" local_entity="0" value="0" />
+ <value cell_index="19183" local_entity="0" value="0" />
+ <value cell_index="19184" local_entity="0" value="0" />
+ <value cell_index="19185" local_entity="0" value="0" />
+ <value cell_index="19186" local_entity="0" value="0" />
+ <value cell_index="19187" local_entity="0" value="0" />
+ <value cell_index="19188" local_entity="0" value="0" />
+ <value cell_index="19189" local_entity="0" value="0" />
+ <value cell_index="19190" local_entity="0" value="0" />
+ <value cell_index="19191" local_entity="0" value="0" />
+ <value cell_index="19192" local_entity="0" value="0" />
+ <value cell_index="19193" local_entity="0" value="0" />
+ <value cell_index="19194" local_entity="0" value="0" />
+ <value cell_index="19195" local_entity="0" value="0" />
+ <value cell_index="19196" local_entity="0" value="0" />
+ <value cell_index="19197" local_entity="0" value="0" />
+ <value cell_index="19198" local_entity="0" value="0" />
+ <value cell_index="19199" local_entity="0" value="0" />
+ <value cell_index="19200" local_entity="0" value="0" />
+ <value cell_index="19201" local_entity="0" value="0" />
+ <value cell_index="19202" local_entity="0" value="0" />
+ <value cell_index="19203" local_entity="0" value="0" />
+ <value cell_index="19204" local_entity="0" value="0" />
+ <value cell_index="19205" local_entity="0" value="0" />
+ <value cell_index="19206" local_entity="0" value="0" />
+ <value cell_index="19207" local_entity="0" value="0" />
+ <value cell_index="19208" local_entity="0" value="0" />
+ <value cell_index="19209" local_entity="0" value="0" />
+ <value cell_index="19210" local_entity="0" value="0" />
+ <value cell_index="19211" local_entity="0" value="0" />
+ <value cell_index="19212" local_entity="0" value="0" />
+ <value cell_index="19213" local_entity="0" value="0" />
+ <value cell_index="19214" local_entity="0" value="0" />
+ <value cell_index="19215" local_entity="0" value="0" />
+ <value cell_index="19216" local_entity="0" value="0" />
+ <value cell_index="19217" local_entity="0" value="0" />
+ <value cell_index="19218" local_entity="0" value="0" />
+ <value cell_index="19219" local_entity="0" value="0" />
+ <value cell_index="19220" local_entity="0" value="0" />
+ <value cell_index="19221" local_entity="0" value="0" />
+ <value cell_index="19222" local_entity="0" value="0" />
+ <value cell_index="19223" local_entity="0" value="0" />
+ <value cell_index="19224" local_entity="0" value="0" />
+ <value cell_index="19225" local_entity="0" value="0" />
+ <value cell_index="19226" local_entity="0" value="0" />
+ <value cell_index="19227" local_entity="0" value="0" />
+ <value cell_index="19228" local_entity="0" value="0" />
+ <value cell_index="19229" local_entity="0" value="0" />
+ <value cell_index="19230" local_entity="0" value="0" />
+ <value cell_index="19231" local_entity="0" value="0" />
+ <value cell_index="19232" local_entity="0" value="0" />
+ <value cell_index="19233" local_entity="0" value="0" />
+ <value cell_index="19234" local_entity="0" value="0" />
+ <value cell_index="19235" local_entity="0" value="0" />
+ <value cell_index="19236" local_entity="0" value="0" />
+ <value cell_index="19237" local_entity="0" value="0" />
+ <value cell_index="19238" local_entity="0" value="0" />
+ <value cell_index="19239" local_entity="0" value="0" />
+ <value cell_index="19240" local_entity="0" value="0" />
+ <value cell_index="19241" local_entity="0" value="0" />
+ <value cell_index="19242" local_entity="0" value="0" />
+ <value cell_index="19243" local_entity="0" value="0" />
+ <value cell_index="19244" local_entity="0" value="0" />
+ <value cell_index="19245" local_entity="0" value="0" />
+ <value cell_index="19246" local_entity="0" value="0" />
+ <value cell_index="19247" local_entity="0" value="0" />
+ <value cell_index="19248" local_entity="0" value="0" />
+ <value cell_index="19249" local_entity="0" value="0" />
+ <value cell_index="19250" local_entity="0" value="0" />
+ <value cell_index="19251" local_entity="0" value="0" />
+ <value cell_index="19252" local_entity="0" value="0" />
+ <value cell_index="19253" local_entity="0" value="0" />
+ <value cell_index="19254" local_entity="0" value="0" />
+ <value cell_index="19255" local_entity="0" value="0" />
+ <value cell_index="19256" local_entity="0" value="0" />
+ <value cell_index="19257" local_entity="0" value="0" />
+ <value cell_index="19258" local_entity="0" value="0" />
+ <value cell_index="19259" local_entity="0" value="0" />
+ <value cell_index="19260" local_entity="0" value="0" />
+ <value cell_index="19261" local_entity="0" value="0" />
+ <value cell_index="19262" local_entity="0" value="0" />
+ <value cell_index="19263" local_entity="0" value="0" />
+ <value cell_index="19264" local_entity="0" value="0" />
+ <value cell_index="19265" local_entity="0" value="0" />
+ <value cell_index="19266" local_entity="0" value="0" />
+ <value cell_index="19267" local_entity="0" value="0" />
+ <value cell_index="19268" local_entity="0" value="0" />
+ <value cell_index="19269" local_entity="0" value="0" />
+ <value cell_index="19270" local_entity="0" value="0" />
+ <value cell_index="19271" local_entity="0" value="0" />
+ <value cell_index="19272" local_entity="0" value="0" />
+ <value cell_index="19273" local_entity="0" value="0" />
+ <value cell_index="19274" local_entity="0" value="0" />
+ <value cell_index="19275" local_entity="0" value="0" />
+ <value cell_index="19276" local_entity="0" value="0" />
+ <value cell_index="19277" local_entity="0" value="0" />
+ <value cell_index="19278" local_entity="0" value="0" />
+ <value cell_index="19279" local_entity="0" value="0" />
+ <value cell_index="19280" local_entity="0" value="0" />
+ <value cell_index="19281" local_entity="0" value="0" />
+ <value cell_index="19282" local_entity="0" value="0" />
+ <value cell_index="19283" local_entity="0" value="0" />
+ <value cell_index="19284" local_entity="0" value="0" />
+ <value cell_index="19285" local_entity="0" value="0" />
+ <value cell_index="19286" local_entity="0" value="0" />
+ <value cell_index="19287" local_entity="0" value="0" />
+ <value cell_index="19288" local_entity="0" value="0" />
+ <value cell_index="19289" local_entity="0" value="0" />
+ <value cell_index="19290" local_entity="0" value="0" />
+ <value cell_index="19291" local_entity="0" value="0" />
+ <value cell_index="19292" local_entity="0" value="0" />
+ <value cell_index="19293" local_entity="0" value="0" />
+ <value cell_index="19294" local_entity="0" value="0" />
+ <value cell_index="19295" local_entity="0" value="0" />
+ <value cell_index="19296" local_entity="0" value="0" />
+ <value cell_index="19297" local_entity="0" value="0" />
+ <value cell_index="19298" local_entity="0" value="0" />
+ <value cell_index="19299" local_entity="0" value="0" />
+ <value cell_index="19300" local_entity="0" value="0" />
+ <value cell_index="19301" local_entity="0" value="0" />
+ <value cell_index="19302" local_entity="0" value="0" />
+ <value cell_index="19303" local_entity="0" value="0" />
+ <value cell_index="19304" local_entity="0" value="0" />
+ <value cell_index="19305" local_entity="0" value="0" />
+ <value cell_index="19306" local_entity="0" value="0" />
+ <value cell_index="19307" local_entity="0" value="0" />
+ <value cell_index="19308" local_entity="0" value="0" />
+ <value cell_index="19309" local_entity="0" value="0" />
+ <value cell_index="19310" local_entity="0" value="0" />
+ <value cell_index="19311" local_entity="0" value="0" />
+ <value cell_index="19312" local_entity="0" value="0" />
+ <value cell_index="19313" local_entity="0" value="0" />
+ <value cell_index="19314" local_entity="0" value="0" />
+ <value cell_index="19315" local_entity="0" value="0" />
+ <value cell_index="19316" local_entity="0" value="0" />
+ <value cell_index="19317" local_entity="0" value="0" />
+ <value cell_index="19318" local_entity="0" value="0" />
+ <value cell_index="19319" local_entity="0" value="0" />
+ <value cell_index="19320" local_entity="0" value="0" />
+ <value cell_index="19321" local_entity="0" value="0" />
+ <value cell_index="19322" local_entity="0" value="0" />
+ <value cell_index="19323" local_entity="0" value="0" />
+ <value cell_index="19324" local_entity="0" value="0" />
+ <value cell_index="19325" local_entity="0" value="0" />
+ <value cell_index="19326" local_entity="0" value="0" />
+ <value cell_index="19327" local_entity="0" value="0" />
+ <value cell_index="19328" local_entity="0" value="0" />
+ <value cell_index="19329" local_entity="0" value="0" />
+ <value cell_index="19330" local_entity="0" value="0" />
+ <value cell_index="19331" local_entity="0" value="0" />
+ <value cell_index="19332" local_entity="0" value="0" />
+ <value cell_index="19333" local_entity="0" value="0" />
+ <value cell_index="19334" local_entity="0" value="0" />
+ <value cell_index="19335" local_entity="0" value="0" />
+ <value cell_index="19336" local_entity="0" value="0" />
+ <value cell_index="19337" local_entity="0" value="0" />
+ <value cell_index="19338" local_entity="0" value="0" />
+ <value cell_index="19339" local_entity="0" value="0" />
+ <value cell_index="19340" local_entity="0" value="0" />
+ <value cell_index="19341" local_entity="0" value="0" />
+ <value cell_index="19342" local_entity="0" value="0" />
+ <value cell_index="19343" local_entity="0" value="0" />
+ <value cell_index="19344" local_entity="0" value="0" />
+ <value cell_index="19345" local_entity="0" value="0" />
+ <value cell_index="19346" local_entity="0" value="0" />
+ <value cell_index="19347" local_entity="0" value="0" />
+ <value cell_index="19348" local_entity="0" value="0" />
+ <value cell_index="19349" local_entity="0" value="0" />
+ <value cell_index="19350" local_entity="0" value="0" />
+ <value cell_index="19351" local_entity="0" value="0" />
+ <value cell_index="19352" local_entity="0" value="0" />
+ <value cell_index="19353" local_entity="0" value="0" />
+ <value cell_index="19354" local_entity="0" value="0" />
+ <value cell_index="19355" local_entity="0" value="0" />
+ <value cell_index="19356" local_entity="0" value="0" />
+ <value cell_index="19357" local_entity="0" value="0" />
+ <value cell_index="19358" local_entity="0" value="0" />
+ <value cell_index="19359" local_entity="0" value="0" />
+ <value cell_index="19360" local_entity="0" value="0" />
+ <value cell_index="19361" local_entity="0" value="0" />
+ <value cell_index="19362" local_entity="0" value="0" />
+ <value cell_index="19363" local_entity="0" value="0" />
+ <value cell_index="19364" local_entity="0" value="0" />
+ <value cell_index="19365" local_entity="0" value="0" />
+ <value cell_index="19366" local_entity="0" value="0" />
+ <value cell_index="19367" local_entity="0" value="0" />
+ <value cell_index="19368" local_entity="0" value="0" />
+ <value cell_index="19369" local_entity="0" value="0" />
+ <value cell_index="19370" local_entity="0" value="0" />
+ <value cell_index="19371" local_entity="0" value="0" />
+ <value cell_index="19372" local_entity="0" value="0" />
+ <value cell_index="19373" local_entity="0" value="0" />
+ <value cell_index="19374" local_entity="0" value="0" />
+ <value cell_index="19375" local_entity="0" value="0" />
+ <value cell_index="19376" local_entity="0" value="0" />
+ <value cell_index="19377" local_entity="0" value="0" />
+ <value cell_index="19378" local_entity="0" value="0" />
+ <value cell_index="19379" local_entity="0" value="0" />
+ <value cell_index="19380" local_entity="0" value="0" />
+ <value cell_index="19381" local_entity="0" value="0" />
+ <value cell_index="19382" local_entity="0" value="0" />
+ <value cell_index="19383" local_entity="0" value="0" />
+ <value cell_index="19384" local_entity="0" value="0" />
+ <value cell_index="19385" local_entity="0" value="0" />
+ <value cell_index="19386" local_entity="0" value="0" />
+ <value cell_index="19387" local_entity="0" value="0" />
+ <value cell_index="19388" local_entity="0" value="0" />
+ <value cell_index="19389" local_entity="0" value="0" />
+ <value cell_index="19390" local_entity="0" value="0" />
+ <value cell_index="19391" local_entity="0" value="0" />
+ <value cell_index="19392" local_entity="0" value="0" />
+ <value cell_index="19393" local_entity="0" value="0" />
+ <value cell_index="19394" local_entity="0" value="0" />
+ <value cell_index="19395" local_entity="0" value="0" />
+ <value cell_index="19396" local_entity="0" value="0" />
+ <value cell_index="19397" local_entity="0" value="0" />
+ <value cell_index="19398" local_entity="0" value="0" />
+ <value cell_index="19399" local_entity="0" value="0" />
+ <value cell_index="19400" local_entity="0" value="0" />
+ <value cell_index="19401" local_entity="0" value="0" />
+ <value cell_index="19402" local_entity="0" value="0" />
+ <value cell_index="19403" local_entity="0" value="0" />
+ <value cell_index="19404" local_entity="0" value="0" />
+ <value cell_index="19405" local_entity="0" value="0" />
+ <value cell_index="19406" local_entity="0" value="0" />
+ <value cell_index="19407" local_entity="0" value="0" />
+ <value cell_index="19408" local_entity="0" value="0" />
+ <value cell_index="19409" local_entity="0" value="0" />
+ <value cell_index="19410" local_entity="0" value="0" />
+ <value cell_index="19411" local_entity="0" value="0" />
+ <value cell_index="19412" local_entity="0" value="0" />
+ <value cell_index="19413" local_entity="0" value="0" />
+ <value cell_index="19414" local_entity="0" value="0" />
+ <value cell_index="19415" local_entity="0" value="0" />
+ <value cell_index="19416" local_entity="0" value="0" />
+ <value cell_index="19417" local_entity="0" value="0" />
+ <value cell_index="19418" local_entity="0" value="0" />
+ <value cell_index="19419" local_entity="0" value="0" />
+ <value cell_index="19420" local_entity="0" value="0" />
+ <value cell_index="19421" local_entity="0" value="0" />
+ <value cell_index="19422" local_entity="0" value="0" />
+ <value cell_index="19423" local_entity="0" value="0" />
+ <value cell_index="19424" local_entity="0" value="0" />
+ <value cell_index="19425" local_entity="0" value="0" />
+ <value cell_index="19426" local_entity="0" value="0" />
+ <value cell_index="19427" local_entity="0" value="0" />
+ <value cell_index="19428" local_entity="0" value="0" />
+ <value cell_index="19429" local_entity="0" value="0" />
+ <value cell_index="19430" local_entity="0" value="0" />
+ <value cell_index="19431" local_entity="0" value="0" />
+ <value cell_index="19432" local_entity="0" value="0" />
+ <value cell_index="19433" local_entity="0" value="0" />
+ <value cell_index="19434" local_entity="0" value="0" />
+ <value cell_index="19435" local_entity="0" value="0" />
+ <value cell_index="19436" local_entity="0" value="0" />
+ <value cell_index="19437" local_entity="0" value="0" />
+ <value cell_index="19438" local_entity="0" value="0" />
+ <value cell_index="19439" local_entity="0" value="0" />
+ <value cell_index="19440" local_entity="0" value="0" />
+ <value cell_index="19441" local_entity="0" value="0" />
+ <value cell_index="19442" local_entity="0" value="0" />
+ <value cell_index="19443" local_entity="0" value="0" />
+ <value cell_index="19444" local_entity="0" value="0" />
+ <value cell_index="19445" local_entity="0" value="0" />
+ <value cell_index="19446" local_entity="0" value="0" />
+ <value cell_index="19447" local_entity="0" value="0" />
+ <value cell_index="19448" local_entity="0" value="0" />
+ <value cell_index="19449" local_entity="0" value="0" />
+ <value cell_index="19450" local_entity="0" value="0" />
+ <value cell_index="19451" local_entity="0" value="0" />
+ <value cell_index="19452" local_entity="0" value="0" />
+ <value cell_index="19453" local_entity="0" value="0" />
+ <value cell_index="19454" local_entity="0" value="0" />
+ <value cell_index="19455" local_entity="0" value="0" />
+ <value cell_index="19456" local_entity="0" value="0" />
+ <value cell_index="19457" local_entity="0" value="0" />
+ <value cell_index="19458" local_entity="0" value="0" />
+ <value cell_index="19459" local_entity="0" value="0" />
+ <value cell_index="19460" local_entity="0" value="0" />
+ <value cell_index="19461" local_entity="0" value="0" />
+ <value cell_index="19462" local_entity="0" value="0" />
+ <value cell_index="19463" local_entity="0" value="0" />
+ <value cell_index="19464" local_entity="0" value="0" />
+ <value cell_index="19465" local_entity="0" value="0" />
+ <value cell_index="19466" local_entity="0" value="0" />
+ <value cell_index="19467" local_entity="0" value="0" />
+ <value cell_index="19468" local_entity="0" value="0" />
+ <value cell_index="19469" local_entity="0" value="0" />
+ <value cell_index="19470" local_entity="0" value="0" />
+ <value cell_index="19471" local_entity="0" value="0" />
+ <value cell_index="19472" local_entity="0" value="0" />
+ <value cell_index="19473" local_entity="0" value="0" />
+ <value cell_index="19474" local_entity="0" value="0" />
+ <value cell_index="19475" local_entity="0" value="0" />
+ <value cell_index="19476" local_entity="0" value="0" />
+ <value cell_index="19477" local_entity="0" value="0" />
+ <value cell_index="19478" local_entity="0" value="0" />
+ <value cell_index="19479" local_entity="0" value="0" />
+ <value cell_index="19480" local_entity="0" value="0" />
+ <value cell_index="19481" local_entity="0" value="0" />
+ <value cell_index="19482" local_entity="0" value="0" />
+ <value cell_index="19483" local_entity="0" value="0" />
+ <value cell_index="19484" local_entity="0" value="0" />
+ <value cell_index="19485" local_entity="0" value="0" />
+ <value cell_index="19486" local_entity="0" value="0" />
+ <value cell_index="19487" local_entity="0" value="0" />
+ <value cell_index="19488" local_entity="0" value="0" />
+ <value cell_index="19489" local_entity="0" value="0" />
+ <value cell_index="19490" local_entity="0" value="0" />
+ <value cell_index="19491" local_entity="0" value="0" />
+ <value cell_index="19492" local_entity="0" value="0" />
+ <value cell_index="19493" local_entity="0" value="0" />
+ <value cell_index="19494" local_entity="0" value="0" />
+ <value cell_index="19495" local_entity="0" value="0" />
+ <value cell_index="19496" local_entity="0" value="0" />
+ <value cell_index="19497" local_entity="0" value="0" />
+ <value cell_index="19498" local_entity="0" value="0" />
+ <value cell_index="19499" local_entity="0" value="0" />
+ <value cell_index="19500" local_entity="0" value="0" />
+ <value cell_index="19501" local_entity="0" value="0" />
+ <value cell_index="19502" local_entity="0" value="0" />
+ <value cell_index="19503" local_entity="0" value="0" />
+ <value cell_index="19504" local_entity="0" value="0" />
+ <value cell_index="19505" local_entity="0" value="0" />
+ <value cell_index="19506" local_entity="0" value="0" />
+ <value cell_index="19507" local_entity="0" value="0" />
+ <value cell_index="19508" local_entity="0" value="0" />
+ <value cell_index="19509" local_entity="0" value="0" />
+ <value cell_index="19510" local_entity="0" value="0" />
+ <value cell_index="19511" local_entity="0" value="0" />
+ <value cell_index="19512" local_entity="0" value="0" />
+ <value cell_index="19513" local_entity="0" value="0" />
+ <value cell_index="19514" local_entity="0" value="0" />
+ <value cell_index="19515" local_entity="0" value="0" />
+ <value cell_index="19516" local_entity="0" value="0" />
+ <value cell_index="19517" local_entity="0" value="0" />
+ <value cell_index="19518" local_entity="0" value="0" />
+ <value cell_index="19519" local_entity="0" value="0" />
+ <value cell_index="19520" local_entity="0" value="0" />
+ <value cell_index="19521" local_entity="0" value="0" />
+ <value cell_index="19522" local_entity="0" value="0" />
+ <value cell_index="19523" local_entity="0" value="0" />
+ <value cell_index="19524" local_entity="0" value="0" />
+ <value cell_index="19525" local_entity="0" value="0" />
+ <value cell_index="19526" local_entity="0" value="0" />
+ <value cell_index="19527" local_entity="0" value="0" />
+ <value cell_index="19528" local_entity="0" value="0" />
+ <value cell_index="19529" local_entity="0" value="0" />
+ <value cell_index="19530" local_entity="0" value="0" />
+ <value cell_index="19531" local_entity="0" value="0" />
+ <value cell_index="19532" local_entity="0" value="0" />
+ <value cell_index="19533" local_entity="0" value="0" />
+ <value cell_index="19534" local_entity="0" value="0" />
+ <value cell_index="19535" local_entity="0" value="0" />
+ <value cell_index="19536" local_entity="0" value="0" />
+ <value cell_index="19537" local_entity="0" value="0" />
+ <value cell_index="19538" local_entity="0" value="0" />
+ <value cell_index="19539" local_entity="0" value="0" />
+ <value cell_index="19540" local_entity="0" value="0" />
+ <value cell_index="19541" local_entity="0" value="0" />
+ <value cell_index="19542" local_entity="0" value="0" />
+ <value cell_index="19543" local_entity="0" value="0" />
+ <value cell_index="19544" local_entity="0" value="0" />
+ <value cell_index="19545" local_entity="0" value="0" />
+ <value cell_index="19546" local_entity="0" value="0" />
+ <value cell_index="19547" local_entity="0" value="0" />
+ <value cell_index="19548" local_entity="0" value="0" />
+ <value cell_index="19549" local_entity="0" value="0" />
+ <value cell_index="19550" local_entity="0" value="0" />
+ <value cell_index="19551" local_entity="0" value="0" />
+ <value cell_index="19552" local_entity="0" value="0" />
+ <value cell_index="19553" local_entity="0" value="0" />
+ <value cell_index="19554" local_entity="0" value="0" />
+ <value cell_index="19555" local_entity="0" value="0" />
+ <value cell_index="19556" local_entity="0" value="0" />
+ <value cell_index="19557" local_entity="0" value="0" />
+ <value cell_index="19558" local_entity="0" value="0" />
+ <value cell_index="19559" local_entity="0" value="0" />
+ <value cell_index="19560" local_entity="0" value="0" />
+ <value cell_index="19561" local_entity="0" value="0" />
+ <value cell_index="19562" local_entity="0" value="0" />
+ <value cell_index="19563" local_entity="0" value="0" />
+ <value cell_index="19564" local_entity="0" value="0" />
+ <value cell_index="19565" local_entity="0" value="0" />
+ <value cell_index="19566" local_entity="0" value="0" />
+ <value cell_index="19567" local_entity="0" value="0" />
+ <value cell_index="19568" local_entity="0" value="0" />
+ <value cell_index="19569" local_entity="0" value="0" />
+ <value cell_index="19570" local_entity="0" value="0" />
+ <value cell_index="19571" local_entity="0" value="0" />
+ <value cell_index="19572" local_entity="0" value="0" />
+ <value cell_index="19573" local_entity="0" value="0" />
+ <value cell_index="19574" local_entity="0" value="0" />
+ <value cell_index="19575" local_entity="0" value="0" />
+ <value cell_index="19576" local_entity="0" value="0" />
+ <value cell_index="19577" local_entity="0" value="0" />
+ <value cell_index="19578" local_entity="0" value="0" />
+ <value cell_index="19579" local_entity="0" value="0" />
+ <value cell_index="19580" local_entity="0" value="0" />
+ <value cell_index="19581" local_entity="0" value="0" />
+ <value cell_index="19582" local_entity="0" value="0" />
+ <value cell_index="19583" local_entity="0" value="0" />
+ <value cell_index="19584" local_entity="0" value="0" />
+ <value cell_index="19585" local_entity="0" value="0" />
+ <value cell_index="19586" local_entity="0" value="0" />
+ <value cell_index="19587" local_entity="0" value="0" />
+ <value cell_index="19588" local_entity="0" value="0" />
+ <value cell_index="19589" local_entity="0" value="0" />
+ <value cell_index="19590" local_entity="0" value="0" />
+ <value cell_index="19591" local_entity="0" value="0" />
+ <value cell_index="19592" local_entity="0" value="0" />
+ <value cell_index="19593" local_entity="0" value="0" />
+ <value cell_index="19594" local_entity="0" value="0" />
+ <value cell_index="19595" local_entity="0" value="0" />
+ <value cell_index="19596" local_entity="0" value="0" />
+ <value cell_index="19597" local_entity="0" value="0" />
+ <value cell_index="19598" local_entity="0" value="0" />
+ <value cell_index="19599" local_entity="0" value="0" />
+ <value cell_index="19600" local_entity="0" value="0" />
+ <value cell_index="19601" local_entity="0" value="0" />
+ <value cell_index="19602" local_entity="0" value="0" />
+ <value cell_index="19603" local_entity="0" value="0" />
+ <value cell_index="19604" local_entity="0" value="0" />
+ <value cell_index="19605" local_entity="0" value="0" />
+ <value cell_index="19606" local_entity="0" value="0" />
+ <value cell_index="19607" local_entity="0" value="0" />
+ <value cell_index="19608" local_entity="0" value="0" />
+ <value cell_index="19609" local_entity="0" value="0" />
+ <value cell_index="19610" local_entity="0" value="0" />
+ <value cell_index="19611" local_entity="0" value="0" />
+ <value cell_index="19612" local_entity="0" value="0" />
+ <value cell_index="19613" local_entity="0" value="0" />
+ <value cell_index="19614" local_entity="0" value="0" />
+ <value cell_index="19615" local_entity="0" value="0" />
+ <value cell_index="19616" local_entity="0" value="0" />
+ <value cell_index="19617" local_entity="0" value="0" />
+ <value cell_index="19618" local_entity="0" value="0" />
+ <value cell_index="19619" local_entity="0" value="0" />
+ <value cell_index="19620" local_entity="0" value="0" />
+ <value cell_index="19621" local_entity="0" value="0" />
+ <value cell_index="19622" local_entity="0" value="0" />
+ <value cell_index="19623" local_entity="0" value="0" />
+ <value cell_index="19624" local_entity="0" value="0" />
+ <value cell_index="19625" local_entity="0" value="0" />
+ <value cell_index="19626" local_entity="0" value="0" />
+ <value cell_index="19627" local_entity="0" value="0" />
+ <value cell_index="19628" local_entity="0" value="0" />
+ <value cell_index="19629" local_entity="0" value="0" />
+ <value cell_index="19630" local_entity="0" value="0" />
+ <value cell_index="19631" local_entity="0" value="0" />
+ <value cell_index="19632" local_entity="0" value="0" />
+ <value cell_index="19633" local_entity="0" value="0" />
+ <value cell_index="19634" local_entity="0" value="0" />
+ <value cell_index="19635" local_entity="0" value="0" />
+ <value cell_index="19636" local_entity="0" value="0" />
+ <value cell_index="19637" local_entity="0" value="0" />
+ <value cell_index="19638" local_entity="0" value="0" />
+ <value cell_index="19639" local_entity="0" value="0" />
+ <value cell_index="19640" local_entity="0" value="0" />
+ <value cell_index="19641" local_entity="0" value="0" />
+ <value cell_index="19642" local_entity="0" value="0" />
+ <value cell_index="19643" local_entity="0" value="0" />
+ <value cell_index="19644" local_entity="0" value="0" />
+ <value cell_index="19645" local_entity="0" value="0" />
+ <value cell_index="19646" local_entity="0" value="0" />
+ <value cell_index="19647" local_entity="0" value="0" />
+ <value cell_index="19648" local_entity="0" value="0" />
+ <value cell_index="19649" local_entity="0" value="0" />
+ <value cell_index="19650" local_entity="0" value="0" />
+ <value cell_index="19651" local_entity="0" value="0" />
+ <value cell_index="19652" local_entity="0" value="0" />
+ <value cell_index="19653" local_entity="0" value="0" />
+ <value cell_index="19654" local_entity="0" value="0" />
+ <value cell_index="19655" local_entity="0" value="0" />
+ <value cell_index="19656" local_entity="0" value="0" />
+ <value cell_index="19657" local_entity="0" value="0" />
+ <value cell_index="19658" local_entity="0" value="0" />
+ <value cell_index="19659" local_entity="0" value="0" />
+ <value cell_index="19660" local_entity="0" value="0" />
+ <value cell_index="19661" local_entity="0" value="0" />
+ <value cell_index="19662" local_entity="0" value="0" />
+ <value cell_index="19663" local_entity="0" value="0" />
+ <value cell_index="19664" local_entity="0" value="0" />
+ <value cell_index="19665" local_entity="0" value="0" />
+ <value cell_index="19666" local_entity="0" value="0" />
+ <value cell_index="19667" local_entity="0" value="0" />
+ <value cell_index="19668" local_entity="0" value="0" />
+ <value cell_index="19669" local_entity="0" value="0" />
+ <value cell_index="19670" local_entity="0" value="0" />
+ <value cell_index="19671" local_entity="0" value="0" />
+ <value cell_index="19672" local_entity="0" value="0" />
+ <value cell_index="19673" local_entity="0" value="0" />
+ <value cell_index="19674" local_entity="0" value="0" />
+ <value cell_index="19675" local_entity="0" value="0" />
+ <value cell_index="19676" local_entity="0" value="0" />
+ <value cell_index="19677" local_entity="0" value="0" />
+ <value cell_index="19678" local_entity="0" value="0" />
+ <value cell_index="19679" local_entity="0" value="0" />
+ <value cell_index="19680" local_entity="0" value="0" />
+ <value cell_index="19681" local_entity="0" value="0" />
+ <value cell_index="19682" local_entity="0" value="0" />
+ <value cell_index="19683" local_entity="0" value="0" />
+ <value cell_index="19684" local_entity="0" value="0" />
+ <value cell_index="19685" local_entity="0" value="0" />
+ <value cell_index="19686" local_entity="0" value="0" />
+ <value cell_index="19687" local_entity="0" value="0" />
+ <value cell_index="19688" local_entity="0" value="0" />
+ <value cell_index="19689" local_entity="0" value="0" />
+ <value cell_index="19690" local_entity="0" value="0" />
+ <value cell_index="19691" local_entity="0" value="0" />
+ <value cell_index="19692" local_entity="0" value="0" />
+ <value cell_index="19693" local_entity="0" value="0" />
+ <value cell_index="19694" local_entity="0" value="0" />
+ <value cell_index="19695" local_entity="0" value="0" />
+ <value cell_index="19696" local_entity="0" value="0" />
+ <value cell_index="19697" local_entity="0" value="0" />
+ <value cell_index="19698" local_entity="0" value="0" />
+ <value cell_index="19699" local_entity="0" value="0" />
+ <value cell_index="19700" local_entity="0" value="0" />
+ <value cell_index="19701" local_entity="0" value="0" />
+ <value cell_index="19702" local_entity="0" value="0" />
+ <value cell_index="19703" local_entity="0" value="0" />
+ <value cell_index="19704" local_entity="0" value="0" />
+ <value cell_index="19705" local_entity="0" value="0" />
+ <value cell_index="19706" local_entity="0" value="0" />
+ <value cell_index="19707" local_entity="0" value="0" />
+ <value cell_index="19708" local_entity="0" value="0" />
+ <value cell_index="19709" local_entity="0" value="0" />
+ <value cell_index="19710" local_entity="0" value="0" />
+ <value cell_index="19711" local_entity="0" value="0" />
+ <value cell_index="19712" local_entity="0" value="0" />
+ <value cell_index="19713" local_entity="0" value="0" />
+ <value cell_index="19714" local_entity="0" value="0" />
+ <value cell_index="19715" local_entity="0" value="0" />
+ <value cell_index="19716" local_entity="0" value="0" />
+ <value cell_index="19717" local_entity="0" value="0" />
+ <value cell_index="19718" local_entity="0" value="0" />
+ <value cell_index="19719" local_entity="0" value="0" />
+ <value cell_index="19720" local_entity="0" value="0" />
+ <value cell_index="19721" local_entity="0" value="0" />
+ <value cell_index="19722" local_entity="0" value="0" />
+ <value cell_index="19723" local_entity="0" value="0" />
+ <value cell_index="19724" local_entity="0" value="0" />
+ <value cell_index="19725" local_entity="0" value="0" />
+ <value cell_index="19726" local_entity="0" value="0" />
+ <value cell_index="19727" local_entity="0" value="0" />
+ <value cell_index="19728" local_entity="0" value="0" />
+ <value cell_index="19729" local_entity="0" value="0" />
+ <value cell_index="19730" local_entity="0" value="0" />
+ <value cell_index="19731" local_entity="0" value="0" />
+ <value cell_index="19732" local_entity="0" value="0" />
+ <value cell_index="19733" local_entity="0" value="0" />
+ <value cell_index="19734" local_entity="0" value="0" />
+ <value cell_index="19735" local_entity="0" value="0" />
+ <value cell_index="19736" local_entity="0" value="0" />
+ <value cell_index="19737" local_entity="0" value="0" />
+ <value cell_index="19738" local_entity="0" value="0" />
+ <value cell_index="19739" local_entity="0" value="0" />
+ <value cell_index="19740" local_entity="0" value="0" />
+ <value cell_index="19741" local_entity="0" value="0" />
+ <value cell_index="19742" local_entity="0" value="0" />
+ <value cell_index="19743" local_entity="0" value="0" />
+ <value cell_index="19744" local_entity="0" value="0" />
+ <value cell_index="19745" local_entity="0" value="0" />
+ <value cell_index="19746" local_entity="0" value="0" />
+ <value cell_index="19747" local_entity="0" value="0" />
+ <value cell_index="19748" local_entity="0" value="0" />
+ <value cell_index="19749" local_entity="0" value="0" />
+ <value cell_index="19750" local_entity="0" value="0" />
+ <value cell_index="19751" local_entity="0" value="0" />
+ <value cell_index="19752" local_entity="0" value="0" />
+ <value cell_index="19753" local_entity="0" value="0" />
+ <value cell_index="19754" local_entity="0" value="0" />
+ <value cell_index="19755" local_entity="0" value="0" />
+ <value cell_index="19756" local_entity="0" value="0" />
+ <value cell_index="19757" local_entity="0" value="0" />
+ <value cell_index="19758" local_entity="0" value="0" />
+ <value cell_index="19759" local_entity="0" value="0" />
+ <value cell_index="19760" local_entity="0" value="0" />
+ <value cell_index="19761" local_entity="0" value="0" />
+ <value cell_index="19762" local_entity="0" value="0" />
+ <value cell_index="19763" local_entity="0" value="0" />
+ <value cell_index="19764" local_entity="0" value="0" />
+ <value cell_index="19765" local_entity="0" value="0" />
+ <value cell_index="19766" local_entity="0" value="0" />
+ <value cell_index="19767" local_entity="0" value="0" />
+ <value cell_index="19768" local_entity="0" value="0" />
+ <value cell_index="19769" local_entity="0" value="0" />
+ <value cell_index="19770" local_entity="0" value="0" />
+ <value cell_index="19771" local_entity="0" value="0" />
+ <value cell_index="19772" local_entity="0" value="0" />
+ <value cell_index="19773" local_entity="0" value="0" />
+ <value cell_index="19774" local_entity="0" value="0" />
+ <value cell_index="19775" local_entity="0" value="0" />
+ <value cell_index="19776" local_entity="0" value="0" />
+ <value cell_index="19777" local_entity="0" value="0" />
+ <value cell_index="19778" local_entity="0" value="0" />
+ <value cell_index="19779" local_entity="0" value="0" />
+ <value cell_index="19780" local_entity="0" value="0" />
+ <value cell_index="19781" local_entity="0" value="0" />
+ <value cell_index="19782" local_entity="0" value="0" />
+ <value cell_index="19783" local_entity="0" value="0" />
+ <value cell_index="19784" local_entity="0" value="0" />
+ <value cell_index="19785" local_entity="0" value="0" />
+ <value cell_index="19786" local_entity="0" value="0" />
+ <value cell_index="19787" local_entity="0" value="0" />
+ <value cell_index="19788" local_entity="0" value="0" />
+ <value cell_index="19789" local_entity="0" value="0" />
+ <value cell_index="19790" local_entity="0" value="0" />
+ <value cell_index="19791" local_entity="0" value="0" />
+ <value cell_index="19792" local_entity="0" value="0" />
+ <value cell_index="19793" local_entity="0" value="0" />
+ <value cell_index="19794" local_entity="0" value="0" />
+ <value cell_index="19795" local_entity="0" value="0" />
+ <value cell_index="19796" local_entity="0" value="0" />
+ <value cell_index="19797" local_entity="0" value="0" />
+ <value cell_index="19798" local_entity="0" value="0" />
+ <value cell_index="19799" local_entity="0" value="0" />
+ <value cell_index="19800" local_entity="0" value="0" />
+ <value cell_index="19801" local_entity="0" value="0" />
+ <value cell_index="19802" local_entity="0" value="0" />
+ <value cell_index="19803" local_entity="0" value="0" />
+ <value cell_index="19804" local_entity="0" value="0" />
+ <value cell_index="19805" local_entity="0" value="0" />
+ <value cell_index="19806" local_entity="0" value="0" />
+ <value cell_index="19807" local_entity="0" value="0" />
+ <value cell_index="19808" local_entity="0" value="0" />
+ <value cell_index="19809" local_entity="0" value="0" />
+ <value cell_index="19810" local_entity="0" value="0" />
+ <value cell_index="19811" local_entity="0" value="0" />
+ <value cell_index="19812" local_entity="0" value="0" />
+ <value cell_index="19813" local_entity="0" value="0" />
+ <value cell_index="19814" local_entity="0" value="0" />
+ <value cell_index="19815" local_entity="0" value="0" />
+ <value cell_index="19816" local_entity="0" value="0" />
+ <value cell_index="19817" local_entity="0" value="0" />
+ <value cell_index="19818" local_entity="0" value="0" />
+ <value cell_index="19819" local_entity="0" value="0" />
+ <value cell_index="19820" local_entity="0" value="0" />
+ <value cell_index="19821" local_entity="0" value="0" />
+ <value cell_index="19822" local_entity="0" value="0" />
+ <value cell_index="19823" local_entity="0" value="0" />
+ <value cell_index="19824" local_entity="0" value="0" />
+ <value cell_index="19825" local_entity="0" value="0" />
+ <value cell_index="19826" local_entity="0" value="0" />
+ <value cell_index="19827" local_entity="0" value="0" />
+ <value cell_index="19828" local_entity="0" value="0" />
+ <value cell_index="19829" local_entity="0" value="0" />
+ <value cell_index="19830" local_entity="0" value="0" />
+ <value cell_index="19831" local_entity="0" value="0" />
+ <value cell_index="19832" local_entity="0" value="0" />
+ <value cell_index="19833" local_entity="0" value="0" />
+ <value cell_index="19834" local_entity="0" value="0" />
+ <value cell_index="19835" local_entity="0" value="0" />
+ <value cell_index="19836" local_entity="0" value="0" />
+ <value cell_index="19837" local_entity="0" value="0" />
+ <value cell_index="19838" local_entity="0" value="0" />
+ <value cell_index="19839" local_entity="0" value="0" />
+ <value cell_index="19840" local_entity="0" value="0" />
+ <value cell_index="19841" local_entity="0" value="0" />
+ <value cell_index="19842" local_entity="0" value="0" />
+ <value cell_index="19843" local_entity="0" value="0" />
+ <value cell_index="19844" local_entity="0" value="0" />
+ <value cell_index="19845" local_entity="0" value="0" />
+ <value cell_index="19846" local_entity="0" value="0" />
+ <value cell_index="19847" local_entity="0" value="0" />
+ <value cell_index="19848" local_entity="0" value="0" />
+ <value cell_index="19849" local_entity="0" value="0" />
+ <value cell_index="19850" local_entity="0" value="0" />
+ <value cell_index="19851" local_entity="0" value="0" />
+ <value cell_index="19852" local_entity="0" value="0" />
+ <value cell_index="19853" local_entity="0" value="0" />
+ <value cell_index="19854" local_entity="0" value="0" />
+ <value cell_index="19855" local_entity="0" value="0" />
+ <value cell_index="19856" local_entity="0" value="0" />
+ <value cell_index="19857" local_entity="0" value="0" />
+ <value cell_index="19858" local_entity="0" value="0" />
+ <value cell_index="19859" local_entity="0" value="0" />
+ <value cell_index="19860" local_entity="0" value="0" />
+ <value cell_index="19861" local_entity="0" value="0" />
+ <value cell_index="19862" local_entity="0" value="0" />
+ <value cell_index="19863" local_entity="0" value="0" />
+ <value cell_index="19864" local_entity="0" value="0" />
+ <value cell_index="19865" local_entity="0" value="0" />
+ <value cell_index="19866" local_entity="0" value="0" />
+ <value cell_index="19867" local_entity="0" value="0" />
+ <value cell_index="19868" local_entity="0" value="0" />
+ <value cell_index="19869" local_entity="0" value="0" />
+ <value cell_index="19870" local_entity="0" value="0" />
+ <value cell_index="19871" local_entity="0" value="0" />
+ <value cell_index="19872" local_entity="0" value="0" />
+ <value cell_index="19873" local_entity="0" value="0" />
+ <value cell_index="19874" local_entity="0" value="0" />
+ <value cell_index="19875" local_entity="0" value="0" />
+ <value cell_index="19876" local_entity="0" value="0" />
+ <value cell_index="19877" local_entity="0" value="0" />
+ <value cell_index="19878" local_entity="0" value="0" />
+ <value cell_index="19879" local_entity="0" value="0" />
+ <value cell_index="19880" local_entity="0" value="0" />
+ <value cell_index="19881" local_entity="0" value="0" />
+ <value cell_index="19882" local_entity="0" value="0" />
+ <value cell_index="19883" local_entity="0" value="0" />
+ <value cell_index="19884" local_entity="0" value="0" />
+ <value cell_index="19885" local_entity="0" value="0" />
+ <value cell_index="19886" local_entity="0" value="0" />
+ <value cell_index="19887" local_entity="0" value="0" />
+ <value cell_index="19888" local_entity="0" value="0" />
+ <value cell_index="19889" local_entity="0" value="0" />
+ <value cell_index="19890" local_entity="0" value="0" />
+ <value cell_index="19891" local_entity="0" value="0" />
+ <value cell_index="19892" local_entity="0" value="0" />
+ <value cell_index="19893" local_entity="0" value="0" />
+ <value cell_index="19894" local_entity="0" value="0" />
+ <value cell_index="19895" local_entity="0" value="0" />
+ <value cell_index="19896" local_entity="0" value="0" />
+ <value cell_index="19897" local_entity="0" value="0" />
+ <value cell_index="19898" local_entity="0" value="0" />
+ <value cell_index="19899" local_entity="0" value="0" />
+ <value cell_index="19900" local_entity="0" value="0" />
+ <value cell_index="19901" local_entity="0" value="0" />
+ <value cell_index="19902" local_entity="0" value="0" />
+ <value cell_index="19903" local_entity="0" value="0" />
+ <value cell_index="19904" local_entity="0" value="0" />
+ <value cell_index="19905" local_entity="0" value="0" />
+ <value cell_index="19906" local_entity="0" value="0" />
+ <value cell_index="19907" local_entity="0" value="0" />
+ <value cell_index="19908" local_entity="0" value="0" />
+ <value cell_index="19909" local_entity="0" value="0" />
+ <value cell_index="19910" local_entity="0" value="0" />
+ <value cell_index="19911" local_entity="0" value="0" />
+ <value cell_index="19912" local_entity="0" value="0" />
+ <value cell_index="19913" local_entity="0" value="0" />
+ <value cell_index="19914" local_entity="0" value="0" />
+ <value cell_index="19915" local_entity="0" value="0" />
+ <value cell_index="19916" local_entity="0" value="0" />
+ <value cell_index="19917" local_entity="0" value="0" />
+ <value cell_index="19918" local_entity="0" value="0" />
+ <value cell_index="19919" local_entity="0" value="0" />
+ <value cell_index="19920" local_entity="0" value="0" />
+ <value cell_index="19921" local_entity="0" value="0" />
+ <value cell_index="19922" local_entity="0" value="0" />
+ <value cell_index="19923" local_entity="0" value="0" />
+ <value cell_index="19924" local_entity="0" value="0" />
+ <value cell_index="19925" local_entity="0" value="0" />
+ <value cell_index="19926" local_entity="0" value="0" />
+ <value cell_index="19927" local_entity="0" value="0" />
+ <value cell_index="19928" local_entity="0" value="0" />
+ <value cell_index="19929" local_entity="0" value="0" />
+ <value cell_index="19930" local_entity="0" value="0" />
+ <value cell_index="19931" local_entity="0" value="0" />
+ <value cell_index="19932" local_entity="0" value="0" />
+ <value cell_index="19933" local_entity="0" value="0" />
+ <value cell_index="19934" local_entity="0" value="0" />
+ <value cell_index="19935" local_entity="0" value="0" />
+ <value cell_index="19936" local_entity="0" value="0" />
+ <value cell_index="19937" local_entity="0" value="0" />
+ <value cell_index="19938" local_entity="0" value="0" />
+ <value cell_index="19939" local_entity="0" value="0" />
+ <value cell_index="19940" local_entity="0" value="0" />
+ <value cell_index="19941" local_entity="0" value="0" />
+ <value cell_index="19942" local_entity="0" value="0" />
+ <value cell_index="19943" local_entity="0" value="0" />
+ <value cell_index="19944" local_entity="0" value="0" />
+ <value cell_index="19945" local_entity="0" value="0" />
+ <value cell_index="19946" local_entity="0" value="0" />
+ <value cell_index="19947" local_entity="0" value="0" />
+ <value cell_index="19948" local_entity="0" value="0" />
+ <value cell_index="19949" local_entity="0" value="0" />
+ <value cell_index="19950" local_entity="0" value="0" />
+ <value cell_index="19951" local_entity="0" value="0" />
+ <value cell_index="19952" local_entity="0" value="0" />
+ <value cell_index="19953" local_entity="0" value="0" />
+ <value cell_index="19954" local_entity="0" value="0" />
+ <value cell_index="19955" local_entity="0" value="0" />
+ <value cell_index="19956" local_entity="0" value="0" />
+ <value cell_index="19957" local_entity="0" value="0" />
+ <value cell_index="19958" local_entity="0" value="0" />
+ <value cell_index="19959" local_entity="0" value="0" />
+ <value cell_index="19960" local_entity="0" value="0" />
+ <value cell_index="19961" local_entity="0" value="0" />
+ <value cell_index="19962" local_entity="0" value="0" />
+ <value cell_index="19963" local_entity="0" value="0" />
+ <value cell_index="19964" local_entity="0" value="0" />
+ <value cell_index="19965" local_entity="0" value="0" />
+ <value cell_index="19966" local_entity="0" value="0" />
+ <value cell_index="19967" local_entity="0" value="0" />
+ <value cell_index="19968" local_entity="0" value="0" />
+ <value cell_index="19969" local_entity="0" value="0" />
+ <value cell_index="19970" local_entity="0" value="0" />
+ <value cell_index="19971" local_entity="0" value="0" />
+ <value cell_index="19972" local_entity="0" value="0" />
+ <value cell_index="19973" local_entity="0" value="0" />
+ <value cell_index="19974" local_entity="0" value="0" />
+ <value cell_index="19975" local_entity="0" value="0" />
+ <value cell_index="19976" local_entity="0" value="0" />
+ <value cell_index="19977" local_entity="0" value="0" />
+ <value cell_index="19978" local_entity="0" value="0" />
+ <value cell_index="19979" local_entity="0" value="0" />
+ <value cell_index="19980" local_entity="0" value="0" />
+ <value cell_index="19981" local_entity="0" value="0" />
+ <value cell_index="19982" local_entity="0" value="0" />
+ <value cell_index="19983" local_entity="0" value="0" />
+ <value cell_index="19984" local_entity="0" value="0" />
+ <value cell_index="19985" local_entity="0" value="0" />
+ <value cell_index="19986" local_entity="0" value="0" />
+ <value cell_index="19987" local_entity="0" value="0" />
+ <value cell_index="19988" local_entity="0" value="0" />
+ <value cell_index="19989" local_entity="0" value="0" />
+ <value cell_index="19990" local_entity="0" value="0" />
+ <value cell_index="19991" local_entity="0" value="0" />
+ <value cell_index="19992" local_entity="0" value="0" />
+ <value cell_index="19993" local_entity="0" value="0" />
+ <value cell_index="19994" local_entity="0" value="0" />
+ <value cell_index="19995" local_entity="0" value="0" />
+ <value cell_index="19996" local_entity="0" value="0" />
+ <value cell_index="19997" local_entity="0" value="0" />
+ <value cell_index="19998" local_entity="0" value="0" />
+ <value cell_index="19999" local_entity="0" value="0" />
+ <value cell_index="20000" local_entity="0" value="0" />
+ <value cell_index="20001" local_entity="0" value="0" />
+ <value cell_index="20002" local_entity="0" value="0" />
+ <value cell_index="20003" local_entity="0" value="0" />
+ <value cell_index="20004" local_entity="0" value="0" />
+ <value cell_index="20005" local_entity="0" value="0" />
+ <value cell_index="20006" local_entity="0" value="0" />
+ <value cell_index="20007" local_entity="0" value="0" />
+ <value cell_index="20008" local_entity="0" value="0" />
+ <value cell_index="20009" local_entity="0" value="0" />
+ <value cell_index="20010" local_entity="0" value="0" />
+ <value cell_index="20011" local_entity="0" value="0" />
+ <value cell_index="20012" local_entity="0" value="0" />
+ <value cell_index="20013" local_entity="0" value="0" />
+ <value cell_index="20014" local_entity="0" value="0" />
+ <value cell_index="20015" local_entity="0" value="0" />
+ <value cell_index="20016" local_entity="0" value="0" />
+ <value cell_index="20017" local_entity="0" value="0" />
+ <value cell_index="20018" local_entity="0" value="0" />
+ <value cell_index="20019" local_entity="0" value="0" />
+ <value cell_index="20020" local_entity="0" value="0" />
+ <value cell_index="20021" local_entity="0" value="0" />
+ <value cell_index="20022" local_entity="0" value="0" />
+ <value cell_index="20023" local_entity="0" value="0" />
+ <value cell_index="20024" local_entity="0" value="0" />
+ <value cell_index="20025" local_entity="0" value="0" />
+ <value cell_index="20026" local_entity="0" value="0" />
+ <value cell_index="20027" local_entity="0" value="0" />
+ <value cell_index="20028" local_entity="0" value="0" />
+ <value cell_index="20029" local_entity="0" value="0" />
+ <value cell_index="20030" local_entity="0" value="0" />
+ <value cell_index="20031" local_entity="0" value="0" />
+ <value cell_index="20032" local_entity="0" value="0" />
+ <value cell_index="20033" local_entity="0" value="0" />
+ <value cell_index="20034" local_entity="0" value="0" />
+ <value cell_index="20035" local_entity="0" value="0" />
+ <value cell_index="20036" local_entity="0" value="0" />
+ <value cell_index="20037" local_entity="0" value="0" />
+ <value cell_index="20038" local_entity="0" value="0" />
+ <value cell_index="20039" local_entity="0" value="0" />
+ <value cell_index="20040" local_entity="0" value="0" />
+ <value cell_index="20041" local_entity="0" value="0" />
+ <value cell_index="20042" local_entity="0" value="0" />
+ <value cell_index="20043" local_entity="0" value="0" />
+ <value cell_index="20044" local_entity="0" value="0" />
+ <value cell_index="20045" local_entity="0" value="0" />
+ <value cell_index="20046" local_entity="0" value="0" />
+ <value cell_index="20047" local_entity="0" value="0" />
+ <value cell_index="20048" local_entity="0" value="0" />
+ <value cell_index="20049" local_entity="0" value="0" />
+ <value cell_index="20050" local_entity="0" value="0" />
+ <value cell_index="20051" local_entity="0" value="0" />
+ <value cell_index="20052" local_entity="0" value="0" />
+ <value cell_index="20053" local_entity="0" value="0" />
+ <value cell_index="20054" local_entity="0" value="0" />
+ <value cell_index="20055" local_entity="0" value="0" />
+ <value cell_index="20056" local_entity="0" value="0" />
+ <value cell_index="20057" local_entity="0" value="0" />
+ <value cell_index="20058" local_entity="0" value="0" />
+ <value cell_index="20059" local_entity="0" value="0" />
+ <value cell_index="20060" local_entity="0" value="0" />
+ <value cell_index="20061" local_entity="0" value="0" />
+ <value cell_index="20062" local_entity="0" value="0" />
+ <value cell_index="20063" local_entity="0" value="0" />
+ <value cell_index="20064" local_entity="0" value="0" />
+ <value cell_index="20065" local_entity="0" value="0" />
+ <value cell_index="20066" local_entity="0" value="0" />
+ <value cell_index="20067" local_entity="0" value="0" />
+ <value cell_index="20068" local_entity="0" value="0" />
+ <value cell_index="20069" local_entity="0" value="0" />
+ <value cell_index="20070" local_entity="0" value="0" />
+ <value cell_index="20071" local_entity="0" value="0" />
+ <value cell_index="20072" local_entity="0" value="0" />
+ <value cell_index="20073" local_entity="0" value="0" />
+ <value cell_index="20074" local_entity="0" value="0" />
+ <value cell_index="20075" local_entity="0" value="0" />
+ <value cell_index="20076" local_entity="0" value="0" />
+ <value cell_index="20077" local_entity="0" value="0" />
+ <value cell_index="20078" local_entity="0" value="0" />
+ <value cell_index="20079" local_entity="0" value="0" />
+ <value cell_index="20080" local_entity="0" value="0" />
+ <value cell_index="20081" local_entity="0" value="0" />
+ <value cell_index="20082" local_entity="0" value="0" />
+ <value cell_index="20083" local_entity="0" value="0" />
+ <value cell_index="20084" local_entity="0" value="0" />
+ <value cell_index="20085" local_entity="0" value="0" />
+ <value cell_index="20086" local_entity="0" value="0" />
+ <value cell_index="20087" local_entity="0" value="0" />
+ <value cell_index="20088" local_entity="0" value="0" />
+ <value cell_index="20089" local_entity="0" value="0" />
+ <value cell_index="20090" local_entity="0" value="0" />
+ <value cell_index="20091" local_entity="0" value="0" />
+ <value cell_index="20092" local_entity="0" value="0" />
+ <value cell_index="20093" local_entity="0" value="0" />
+ <value cell_index="20094" local_entity="0" value="0" />
+ <value cell_index="20095" local_entity="0" value="0" />
+ <value cell_index="20096" local_entity="0" value="0" />
+ <value cell_index="20097" local_entity="0" value="0" />
+ <value cell_index="20098" local_entity="0" value="0" />
+ <value cell_index="20099" local_entity="0" value="0" />
+ <value cell_index="20100" local_entity="0" value="0" />
+ <value cell_index="20101" local_entity="0" value="0" />
+ <value cell_index="20102" local_entity="0" value="0" />
+ <value cell_index="20103" local_entity="0" value="0" />
+ <value cell_index="20104" local_entity="0" value="0" />
+ <value cell_index="20105" local_entity="0" value="0" />
+ <value cell_index="20106" local_entity="0" value="0" />
+ <value cell_index="20107" local_entity="0" value="0" />
+ <value cell_index="20108" local_entity="0" value="0" />
+ <value cell_index="20109" local_entity="0" value="0" />
+ <value cell_index="20110" local_entity="0" value="0" />
+ <value cell_index="20111" local_entity="0" value="0" />
+ <value cell_index="20112" local_entity="0" value="0" />
+ <value cell_index="20113" local_entity="0" value="0" />
+ <value cell_index="20114" local_entity="0" value="0" />
+ <value cell_index="20115" local_entity="0" value="0" />
+ <value cell_index="20116" local_entity="0" value="0" />
+ <value cell_index="20117" local_entity="0" value="0" />
+ <value cell_index="20118" local_entity="0" value="0" />
+ <value cell_index="20119" local_entity="0" value="0" />
+ <value cell_index="20120" local_entity="0" value="0" />
+ <value cell_index="20121" local_entity="0" value="0" />
+ <value cell_index="20122" local_entity="0" value="0" />
+ <value cell_index="20123" local_entity="0" value="0" />
+ <value cell_index="20124" local_entity="0" value="0" />
+ <value cell_index="20125" local_entity="0" value="0" />
+ <value cell_index="20126" local_entity="0" value="0" />
+ <value cell_index="20127" local_entity="0" value="0" />
+ <value cell_index="20128" local_entity="0" value="0" />
+ <value cell_index="20129" local_entity="0" value="0" />
+ <value cell_index="20130" local_entity="0" value="0" />
+ <value cell_index="20131" local_entity="0" value="0" />
+ <value cell_index="20132" local_entity="0" value="0" />
+ <value cell_index="20133" local_entity="0" value="0" />
+ <value cell_index="20134" local_entity="0" value="0" />
+ <value cell_index="20135" local_entity="0" value="0" />
+ <value cell_index="20136" local_entity="0" value="0" />
+ <value cell_index="20137" local_entity="0" value="0" />
+ <value cell_index="20138" local_entity="0" value="0" />
+ <value cell_index="20139" local_entity="0" value="0" />
+ <value cell_index="20140" local_entity="0" value="0" />
+ <value cell_index="20141" local_entity="0" value="0" />
+ <value cell_index="20142" local_entity="0" value="0" />
+ <value cell_index="20143" local_entity="0" value="0" />
+ <value cell_index="20144" local_entity="0" value="0" />
+ <value cell_index="20145" local_entity="0" value="0" />
+ <value cell_index="20146" local_entity="0" value="0" />
+ <value cell_index="20147" local_entity="0" value="0" />
+ <value cell_index="20148" local_entity="0" value="0" />
+ <value cell_index="20149" local_entity="0" value="0" />
+ <value cell_index="20150" local_entity="0" value="0" />
+ <value cell_index="20151" local_entity="0" value="0" />
+ <value cell_index="20152" local_entity="0" value="0" />
+ <value cell_index="20153" local_entity="0" value="0" />
+ <value cell_index="20154" local_entity="0" value="0" />
+ <value cell_index="20155" local_entity="0" value="0" />
+ <value cell_index="20156" local_entity="0" value="0" />
+ <value cell_index="20157" local_entity="0" value="0" />
+ <value cell_index="20158" local_entity="0" value="0" />
+ <value cell_index="20159" local_entity="0" value="0" />
+ <value cell_index="20160" local_entity="0" value="0" />
+ <value cell_index="20161" local_entity="0" value="0" />
+ <value cell_index="20162" local_entity="0" value="0" />
+ <value cell_index="20163" local_entity="0" value="0" />
+ <value cell_index="20164" local_entity="0" value="0" />
+ <value cell_index="20165" local_entity="0" value="0" />
+ <value cell_index="20166" local_entity="0" value="0" />
+ <value cell_index="20167" local_entity="0" value="0" />
+ <value cell_index="20168" local_entity="0" value="0" />
+ <value cell_index="20169" local_entity="0" value="0" />
+ <value cell_index="20170" local_entity="0" value="0" />
+ <value cell_index="20171" local_entity="0" value="0" />
+ <value cell_index="20172" local_entity="0" value="0" />
+ <value cell_index="20173" local_entity="0" value="0" />
+ <value cell_index="20174" local_entity="0" value="0" />
+ <value cell_index="20175" local_entity="0" value="0" />
+ <value cell_index="20176" local_entity="0" value="0" />
+ <value cell_index="20177" local_entity="0" value="0" />
+ <value cell_index="20178" local_entity="0" value="0" />
+ <value cell_index="20179" local_entity="0" value="0" />
+ <value cell_index="20180" local_entity="0" value="0" />
+ <value cell_index="20181" local_entity="0" value="0" />
+ <value cell_index="20182" local_entity="0" value="0" />
+ <value cell_index="20183" local_entity="0" value="0" />
+ <value cell_index="20184" local_entity="0" value="0" />
+ <value cell_index="20185" local_entity="0" value="0" />
+ <value cell_index="20186" local_entity="0" value="0" />
+ <value cell_index="20187" local_entity="0" value="0" />
+ <value cell_index="20188" local_entity="0" value="0" />
+ <value cell_index="20189" local_entity="0" value="0" />
+ <value cell_index="20190" local_entity="0" value="0" />
+ <value cell_index="20191" local_entity="0" value="0" />
+ <value cell_index="20192" local_entity="0" value="0" />
+ <value cell_index="20193" local_entity="0" value="0" />
+ <value cell_index="20194" local_entity="0" value="0" />
+ <value cell_index="20195" local_entity="0" value="0" />
+ <value cell_index="20196" local_entity="0" value="0" />
+ <value cell_index="20197" local_entity="0" value="0" />
+ <value cell_index="20198" local_entity="0" value="0" />
+ <value cell_index="20199" local_entity="0" value="0" />
+ <value cell_index="20200" local_entity="0" value="0" />
+ <value cell_index="20201" local_entity="0" value="0" />
+ <value cell_index="20202" local_entity="0" value="0" />
+ <value cell_index="20203" local_entity="0" value="0" />
+ <value cell_index="20204" local_entity="0" value="0" />
+ <value cell_index="20205" local_entity="0" value="0" />
+ <value cell_index="20206" local_entity="0" value="0" />
+ <value cell_index="20207" local_entity="0" value="0" />
+ <value cell_index="20208" local_entity="0" value="0" />
+ <value cell_index="20209" local_entity="0" value="0" />
+ <value cell_index="20210" local_entity="0" value="0" />
+ <value cell_index="20211" local_entity="0" value="0" />
+ <value cell_index="20212" local_entity="0" value="0" />
+ <value cell_index="20213" local_entity="0" value="0" />
+ <value cell_index="20214" local_entity="0" value="0" />
+ <value cell_index="20215" local_entity="0" value="0" />
+ <value cell_index="20216" local_entity="0" value="0" />
+ <value cell_index="20217" local_entity="0" value="0" />
+ <value cell_index="20218" local_entity="0" value="0" />
+ <value cell_index="20219" local_entity="0" value="0" />
+ <value cell_index="20220" local_entity="0" value="0" />
+ <value cell_index="20221" local_entity="0" value="0" />
+ <value cell_index="20222" local_entity="0" value="0" />
+ <value cell_index="20223" local_entity="0" value="0" />
+ <value cell_index="20224" local_entity="0" value="0" />
+ <value cell_index="20225" local_entity="0" value="0" />
+ <value cell_index="20226" local_entity="0" value="0" />
+ <value cell_index="20227" local_entity="0" value="0" />
+ <value cell_index="20228" local_entity="0" value="0" />
+ <value cell_index="20229" local_entity="0" value="0" />
+ <value cell_index="20230" local_entity="0" value="0" />
+ <value cell_index="20231" local_entity="0" value="0" />
+ <value cell_index="20232" local_entity="0" value="0" />
+ <value cell_index="20233" local_entity="0" value="0" />
+ <value cell_index="20234" local_entity="0" value="0" />
+ <value cell_index="20235" local_entity="0" value="0" />
+ <value cell_index="20236" local_entity="0" value="0" />
+ <value cell_index="20237" local_entity="0" value="0" />
+ <value cell_index="20238" local_entity="0" value="0" />
+ <value cell_index="20239" local_entity="0" value="0" />
+ <value cell_index="20240" local_entity="0" value="0" />
+ <value cell_index="20241" local_entity="0" value="0" />
+ <value cell_index="20242" local_entity="0" value="0" />
+ <value cell_index="20243" local_entity="0" value="0" />
+ <value cell_index="20244" local_entity="0" value="0" />
+ <value cell_index="20245" local_entity="0" value="0" />
+ <value cell_index="20246" local_entity="0" value="0" />
+ <value cell_index="20247" local_entity="0" value="0" />
+ <value cell_index="20248" local_entity="0" value="0" />
+ <value cell_index="20249" local_entity="0" value="0" />
+ <value cell_index="20250" local_entity="0" value="0" />
+ <value cell_index="20251" local_entity="0" value="0" />
+ <value cell_index="20252" local_entity="0" value="0" />
+ <value cell_index="20253" local_entity="0" value="0" />
+ <value cell_index="20254" local_entity="0" value="0" />
+ <value cell_index="20255" local_entity="0" value="0" />
+ <value cell_index="20256" local_entity="0" value="0" />
+ <value cell_index="20257" local_entity="0" value="0" />
+ <value cell_index="20258" local_entity="0" value="0" />
+ <value cell_index="20259" local_entity="0" value="0" />
+ <value cell_index="20260" local_entity="0" value="0" />
+ <value cell_index="20261" local_entity="0" value="0" />
+ <value cell_index="20262" local_entity="0" value="0" />
+ <value cell_index="20263" local_entity="0" value="0" />
+ <value cell_index="20264" local_entity="0" value="0" />
+ <value cell_index="20265" local_entity="0" value="0" />
+ <value cell_index="20266" local_entity="0" value="0" />
+ <value cell_index="20267" local_entity="0" value="0" />
+ <value cell_index="20268" local_entity="0" value="0" />
+ <value cell_index="20269" local_entity="0" value="0" />
+ <value cell_index="20270" local_entity="0" value="0" />
+ <value cell_index="20271" local_entity="0" value="0" />
+ <value cell_index="20272" local_entity="0" value="0" />
+ <value cell_index="20273" local_entity="0" value="0" />
+ <value cell_index="20274" local_entity="0" value="0" />
+ <value cell_index="20275" local_entity="0" value="0" />
+ <value cell_index="20276" local_entity="0" value="0" />
+ <value cell_index="20277" local_entity="0" value="0" />
+ <value cell_index="20278" local_entity="0" value="0" />
+ <value cell_index="20279" local_entity="0" value="0" />
+ <value cell_index="20280" local_entity="0" value="0" />
+ <value cell_index="20281" local_entity="0" value="0" />
+ <value cell_index="20282" local_entity="0" value="0" />
+ <value cell_index="20283" local_entity="0" value="0" />
+ <value cell_index="20284" local_entity="0" value="0" />
+ <value cell_index="20285" local_entity="0" value="0" />
+ <value cell_index="20286" local_entity="0" value="0" />
+ <value cell_index="20287" local_entity="0" value="0" />
+ <value cell_index="20288" local_entity="0" value="0" />
+ <value cell_index="20289" local_entity="0" value="0" />
+ <value cell_index="20290" local_entity="0" value="0" />
+ <value cell_index="20291" local_entity="0" value="0" />
+ <value cell_index="20292" local_entity="0" value="0" />
+ <value cell_index="20293" local_entity="0" value="0" />
+ <value cell_index="20294" local_entity="0" value="0" />
+ <value cell_index="20295" local_entity="0" value="0" />
+ <value cell_index="20296" local_entity="0" value="0" />
+ <value cell_index="20297" local_entity="0" value="0" />
+ <value cell_index="20298" local_entity="0" value="0" />
+ <value cell_index="20299" local_entity="0" value="0" />
+ <value cell_index="20300" local_entity="0" value="0" />
+ <value cell_index="20301" local_entity="0" value="0" />
+ <value cell_index="20302" local_entity="0" value="0" />
+ <value cell_index="20303" local_entity="0" value="0" />
+ <value cell_index="20304" local_entity="0" value="0" />
+ <value cell_index="20305" local_entity="0" value="0" />
+ <value cell_index="20306" local_entity="0" value="0" />
+ <value cell_index="20307" local_entity="0" value="0" />
+ <value cell_index="20308" local_entity="0" value="0" />
+ <value cell_index="20309" local_entity="0" value="0" />
+ <value cell_index="20310" local_entity="0" value="0" />
+ <value cell_index="20311" local_entity="0" value="0" />
+ <value cell_index="20312" local_entity="0" value="0" />
+ <value cell_index="20313" local_entity="0" value="0" />
+ <value cell_index="20314" local_entity="0" value="0" />
+ <value cell_index="20315" local_entity="0" value="0" />
+ <value cell_index="20316" local_entity="0" value="0" />
+ <value cell_index="20317" local_entity="0" value="0" />
+ <value cell_index="20318" local_entity="0" value="0" />
+ <value cell_index="20319" local_entity="0" value="0" />
+ <value cell_index="20320" local_entity="0" value="0" />
+ <value cell_index="20321" local_entity="0" value="0" />
+ <value cell_index="20322" local_entity="0" value="0" />
+ <value cell_index="20323" local_entity="0" value="0" />
+ <value cell_index="20324" local_entity="0" value="0" />
+ <value cell_index="20325" local_entity="0" value="0" />
+ <value cell_index="20326" local_entity="0" value="0" />
+ <value cell_index="20327" local_entity="0" value="0" />
+ <value cell_index="20328" local_entity="0" value="0" />
+ <value cell_index="20329" local_entity="0" value="0" />
+ <value cell_index="20330" local_entity="0" value="0" />
+ <value cell_index="20331" local_entity="0" value="0" />
+ <value cell_index="20332" local_entity="0" value="0" />
+ <value cell_index="20333" local_entity="0" value="0" />
+ <value cell_index="20334" local_entity="0" value="0" />
+ <value cell_index="20335" local_entity="0" value="0" />
+ <value cell_index="20336" local_entity="0" value="0" />
+ <value cell_index="20337" local_entity="0" value="0" />
+ <value cell_index="20338" local_entity="0" value="0" />
+ <value cell_index="20339" local_entity="0" value="0" />
+ <value cell_index="20340" local_entity="0" value="0" />
+ <value cell_index="20341" local_entity="0" value="0" />
+ <value cell_index="20342" local_entity="0" value="0" />
+ <value cell_index="20343" local_entity="0" value="0" />
+ <value cell_index="20344" local_entity="0" value="0" />
+ <value cell_index="20345" local_entity="0" value="0" />
+ <value cell_index="20346" local_entity="0" value="0" />
+ <value cell_index="20347" local_entity="0" value="0" />
+ <value cell_index="20348" local_entity="0" value="0" />
+ <value cell_index="20349" local_entity="0" value="0" />
+ <value cell_index="20350" local_entity="0" value="0" />
+ <value cell_index="20351" local_entity="0" value="0" />
+ <value cell_index="20352" local_entity="0" value="0" />
+ <value cell_index="20353" local_entity="0" value="0" />
+ <value cell_index="20354" local_entity="0" value="0" />
+ <value cell_index="20355" local_entity="0" value="0" />
+ <value cell_index="20356" local_entity="0" value="0" />
+ <value cell_index="20357" local_entity="0" value="0" />
+ <value cell_index="20358" local_entity="0" value="0" />
+ <value cell_index="20359" local_entity="0" value="0" />
+ <value cell_index="20360" local_entity="0" value="0" />
+ <value cell_index="20361" local_entity="0" value="0" />
+ <value cell_index="20362" local_entity="0" value="0" />
+ <value cell_index="20363" local_entity="0" value="0" />
+ <value cell_index="20364" local_entity="0" value="0" />
+ <value cell_index="20365" local_entity="0" value="0" />
+ <value cell_index="20366" local_entity="0" value="0" />
+ <value cell_index="20367" local_entity="0" value="0" />
+ <value cell_index="20368" local_entity="0" value="0" />
+ <value cell_index="20369" local_entity="0" value="0" />
+ <value cell_index="20370" local_entity="0" value="0" />
+ <value cell_index="20371" local_entity="0" value="0" />
+ <value cell_index="20372" local_entity="0" value="0" />
+ <value cell_index="20373" local_entity="0" value="0" />
+ <value cell_index="20374" local_entity="0" value="0" />
+ <value cell_index="20375" local_entity="0" value="0" />
+ <value cell_index="20376" local_entity="0" value="0" />
+ <value cell_index="20377" local_entity="0" value="0" />
+ <value cell_index="20378" local_entity="0" value="0" />
+ <value cell_index="20379" local_entity="0" value="0" />
+ <value cell_index="20380" local_entity="0" value="0" />
+ <value cell_index="20381" local_entity="0" value="0" />
+ <value cell_index="20382" local_entity="0" value="0" />
+ <value cell_index="20383" local_entity="0" value="0" />
+ <value cell_index="20384" local_entity="0" value="0" />
+ <value cell_index="20385" local_entity="0" value="0" />
+ <value cell_index="20386" local_entity="0" value="0" />
+ <value cell_index="20387" local_entity="0" value="0" />
+ <value cell_index="20388" local_entity="0" value="0" />
+ <value cell_index="20389" local_entity="0" value="0" />
+ <value cell_index="20390" local_entity="0" value="0" />
+ <value cell_index="20391" local_entity="0" value="0" />
+ <value cell_index="20392" local_entity="0" value="0" />
+ <value cell_index="20393" local_entity="0" value="0" />
+ <value cell_index="20394" local_entity="0" value="0" />
+ <value cell_index="20395" local_entity="0" value="0" />
+ <value cell_index="20396" local_entity="0" value="0" />
+ <value cell_index="20397" local_entity="0" value="0" />
+ <value cell_index="20398" local_entity="0" value="0" />
+ <value cell_index="20399" local_entity="0" value="0" />
+ <value cell_index="20400" local_entity="0" value="0" />
+ <value cell_index="20401" local_entity="0" value="0" />
+ <value cell_index="20402" local_entity="0" value="0" />
+ <value cell_index="20403" local_entity="0" value="0" />
+ <value cell_index="20404" local_entity="0" value="0" />
+ <value cell_index="20405" local_entity="0" value="0" />
+ <value cell_index="20406" local_entity="0" value="0" />
+ <value cell_index="20407" local_entity="0" value="0" />
+ <value cell_index="20408" local_entity="0" value="0" />
+ <value cell_index="20409" local_entity="0" value="0" />
+ <value cell_index="20410" local_entity="0" value="0" />
+ <value cell_index="20411" local_entity="0" value="0" />
+ <value cell_index="20412" local_entity="0" value="0" />
+ <value cell_index="20413" local_entity="0" value="0" />
+ <value cell_index="20414" local_entity="0" value="0" />
+ <value cell_index="20415" local_entity="0" value="0" />
+ <value cell_index="20416" local_entity="0" value="0" />
+ <value cell_index="20417" local_entity="0" value="0" />
+ <value cell_index="20418" local_entity="0" value="0" />
+ <value cell_index="20419" local_entity="0" value="0" />
+ <value cell_index="20420" local_entity="0" value="0" />
+ <value cell_index="20421" local_entity="0" value="0" />
+ <value cell_index="20422" local_entity="0" value="0" />
+ <value cell_index="20423" local_entity="0" value="0" />
+ <value cell_index="20424" local_entity="0" value="0" />
+ <value cell_index="20425" local_entity="0" value="0" />
+ <value cell_index="20426" local_entity="0" value="0" />
+ <value cell_index="20427" local_entity="0" value="0" />
+ <value cell_index="20428" local_entity="0" value="0" />
+ <value cell_index="20429" local_entity="0" value="0" />
+ <value cell_index="20430" local_entity="0" value="0" />
+ <value cell_index="20431" local_entity="0" value="0" />
+ <value cell_index="20432" local_entity="0" value="0" />
+ <value cell_index="20433" local_entity="0" value="0" />
+ <value cell_index="20434" local_entity="0" value="0" />
+ <value cell_index="20435" local_entity="0" value="0" />
+ <value cell_index="20436" local_entity="0" value="0" />
+ <value cell_index="20437" local_entity="0" value="0" />
+ <value cell_index="20438" local_entity="0" value="0" />
+ <value cell_index="20439" local_entity="0" value="0" />
+ <value cell_index="20440" local_entity="0" value="0" />
+ <value cell_index="20441" local_entity="0" value="0" />
+ <value cell_index="20442" local_entity="0" value="0" />
+ <value cell_index="20443" local_entity="0" value="0" />
+ <value cell_index="20444" local_entity="0" value="0" />
+ <value cell_index="20445" local_entity="0" value="0" />
+ <value cell_index="20446" local_entity="0" value="0" />
+ <value cell_index="20447" local_entity="0" value="0" />
+ <value cell_index="20448" local_entity="0" value="0" />
+ <value cell_index="20449" local_entity="0" value="0" />
+ <value cell_index="20450" local_entity="0" value="0" />
+ <value cell_index="20451" local_entity="0" value="0" />
+ <value cell_index="20452" local_entity="0" value="0" />
+ <value cell_index="20453" local_entity="0" value="0" />
+ <value cell_index="20454" local_entity="0" value="0" />
+ <value cell_index="20455" local_entity="0" value="0" />
+ <value cell_index="20456" local_entity="0" value="0" />
+ <value cell_index="20457" local_entity="0" value="0" />
+ <value cell_index="20458" local_entity="0" value="0" />
+ <value cell_index="20459" local_entity="0" value="0" />
+ <value cell_index="20460" local_entity="0" value="0" />
+ <value cell_index="20461" local_entity="0" value="0" />
+ <value cell_index="20462" local_entity="0" value="0" />
+ <value cell_index="20463" local_entity="0" value="0" />
+ <value cell_index="20464" local_entity="0" value="0" />
+ <value cell_index="20465" local_entity="0" value="0" />
+ <value cell_index="20466" local_entity="0" value="0" />
+ <value cell_index="20467" local_entity="0" value="0" />
+ <value cell_index="20468" local_entity="0" value="0" />
+ <value cell_index="20469" local_entity="0" value="0" />
+ <value cell_index="20470" local_entity="0" value="0" />
+ <value cell_index="20471" local_entity="0" value="0" />
+ <value cell_index="20472" local_entity="0" value="0" />
+ <value cell_index="20473" local_entity="0" value="0" />
+ <value cell_index="20474" local_entity="0" value="0" />
+ <value cell_index="20475" local_entity="0" value="0" />
+ <value cell_index="20476" local_entity="0" value="0" />
+ <value cell_index="20477" local_entity="0" value="0" />
+ <value cell_index="20478" local_entity="0" value="0" />
+ <value cell_index="20479" local_entity="0" value="0" />
+ <value cell_index="20480" local_entity="0" value="0" />
+ <value cell_index="20481" local_entity="0" value="0" />
+ <value cell_index="20482" local_entity="0" value="0" />
+ <value cell_index="20483" local_entity="0" value="0" />
+ <value cell_index="20484" local_entity="0" value="0" />
+ <value cell_index="20485" local_entity="0" value="0" />
+ <value cell_index="20486" local_entity="0" value="0" />
+ <value cell_index="20487" local_entity="0" value="0" />
+ <value cell_index="20488" local_entity="0" value="0" />
+ <value cell_index="20489" local_entity="0" value="0" />
+ <value cell_index="20490" local_entity="0" value="0" />
+ <value cell_index="20491" local_entity="0" value="0" />
+ <value cell_index="20492" local_entity="0" value="0" />
+ <value cell_index="20493" local_entity="0" value="0" />
+ <value cell_index="20494" local_entity="0" value="0" />
+ <value cell_index="20495" local_entity="0" value="0" />
+ <value cell_index="20496" local_entity="0" value="0" />
+ <value cell_index="20497" local_entity="0" value="0" />
+ <value cell_index="20498" local_entity="0" value="0" />
+ <value cell_index="20499" local_entity="0" value="0" />
+ <value cell_index="20500" local_entity="0" value="0" />
+ <value cell_index="20501" local_entity="0" value="0" />
+ <value cell_index="20502" local_entity="0" value="0" />
+ <value cell_index="20503" local_entity="0" value="0" />
+ <value cell_index="20504" local_entity="0" value="0" />
+ <value cell_index="20505" local_entity="0" value="0" />
+ <value cell_index="20506" local_entity="0" value="0" />
+ <value cell_index="20507" local_entity="0" value="0" />
+ <value cell_index="20508" local_entity="0" value="0" />
+ <value cell_index="20509" local_entity="0" value="0" />
+ <value cell_index="20510" local_entity="0" value="0" />
+ <value cell_index="20511" local_entity="0" value="0" />
+ <value cell_index="20512" local_entity="0" value="0" />
+ <value cell_index="20513" local_entity="0" value="0" />
+ <value cell_index="20514" local_entity="0" value="0" />
+ <value cell_index="20515" local_entity="0" value="0" />
+ <value cell_index="20516" local_entity="0" value="0" />
+ <value cell_index="20517" local_entity="0" value="0" />
+ <value cell_index="20518" local_entity="0" value="0" />
+ <value cell_index="20519" local_entity="0" value="0" />
+ <value cell_index="20520" local_entity="0" value="0" />
+ <value cell_index="20521" local_entity="0" value="0" />
+ <value cell_index="20522" local_entity="0" value="0" />
+ <value cell_index="20523" local_entity="0" value="0" />
+ <value cell_index="20524" local_entity="0" value="0" />
+ <value cell_index="20525" local_entity="0" value="0" />
+ <value cell_index="20526" local_entity="0" value="0" />
+ <value cell_index="20527" local_entity="0" value="0" />
+ <value cell_index="20528" local_entity="0" value="0" />
+ <value cell_index="20529" local_entity="0" value="0" />
+ <value cell_index="20530" local_entity="0" value="0" />
+ <value cell_index="20531" local_entity="0" value="0" />
+ <value cell_index="20532" local_entity="0" value="0" />
+ <value cell_index="20533" local_entity="0" value="0" />
+ <value cell_index="20534" local_entity="0" value="0" />
+ <value cell_index="20535" local_entity="0" value="0" />
+ <value cell_index="20536" local_entity="0" value="0" />
+ <value cell_index="20537" local_entity="0" value="0" />
+ <value cell_index="20538" local_entity="0" value="0" />
+ <value cell_index="20539" local_entity="0" value="0" />
+ <value cell_index="20540" local_entity="0" value="0" />
+ <value cell_index="20541" local_entity="0" value="0" />
+ <value cell_index="20542" local_entity="0" value="0" />
+ <value cell_index="20543" local_entity="0" value="0" />
+ <value cell_index="20544" local_entity="0" value="0" />
+ <value cell_index="20545" local_entity="0" value="0" />
+ <value cell_index="20546" local_entity="0" value="0" />
+ <value cell_index="20547" local_entity="0" value="0" />
+ <value cell_index="20548" local_entity="0" value="0" />
+ <value cell_index="20549" local_entity="0" value="0" />
+ <value cell_index="20550" local_entity="0" value="0" />
+ <value cell_index="20551" local_entity="0" value="0" />
+ <value cell_index="20552" local_entity="0" value="0" />
+ <value cell_index="20553" local_entity="0" value="0" />
+ <value cell_index="20554" local_entity="0" value="0" />
+ <value cell_index="20555" local_entity="0" value="0" />
+ <value cell_index="20556" local_entity="0" value="0" />
+ <value cell_index="20557" local_entity="0" value="0" />
+ <value cell_index="20558" local_entity="0" value="0" />
+ <value cell_index="20559" local_entity="0" value="0" />
+ <value cell_index="20560" local_entity="0" value="0" />
+ <value cell_index="20561" local_entity="0" value="0" />
+ <value cell_index="20562" local_entity="0" value="0" />
+ <value cell_index="20563" local_entity="0" value="0" />
+ <value cell_index="20564" local_entity="0" value="0" />
+ <value cell_index="20565" local_entity="0" value="0" />
+ <value cell_index="20566" local_entity="0" value="0" />
+ <value cell_index="20567" local_entity="0" value="0" />
+ <value cell_index="20568" local_entity="0" value="0" />
+ <value cell_index="20569" local_entity="0" value="0" />
+ <value cell_index="20570" local_entity="0" value="0" />
+ <value cell_index="20571" local_entity="0" value="0" />
+ <value cell_index="20572" local_entity="0" value="0" />
+ <value cell_index="20573" local_entity="0" value="0" />
+ <value cell_index="20574" local_entity="0" value="0" />
+ <value cell_index="20575" local_entity="0" value="0" />
+ <value cell_index="20576" local_entity="0" value="0" />
+ <value cell_index="20577" local_entity="0" value="0" />
+ <value cell_index="20578" local_entity="0" value="0" />
+ <value cell_index="20579" local_entity="0" value="0" />
+ <value cell_index="20580" local_entity="0" value="0" />
+ <value cell_index="20581" local_entity="0" value="0" />
+ <value cell_index="20582" local_entity="0" value="0" />
+ <value cell_index="20583" local_entity="0" value="0" />
+ <value cell_index="20584" local_entity="0" value="0" />
+ <value cell_index="20585" local_entity="0" value="0" />
+ <value cell_index="20586" local_entity="0" value="0" />
+ <value cell_index="20587" local_entity="0" value="0" />
+ <value cell_index="20588" local_entity="0" value="0" />
+ <value cell_index="20589" local_entity="0" value="0" />
+ <value cell_index="20590" local_entity="0" value="0" />
+ <value cell_index="20591" local_entity="0" value="0" />
+ <value cell_index="20592" local_entity="0" value="0" />
+ <value cell_index="20593" local_entity="0" value="0" />
+ <value cell_index="20594" local_entity="0" value="0" />
+ <value cell_index="20595" local_entity="0" value="0" />
+ <value cell_index="20596" local_entity="0" value="0" />
+ <value cell_index="20597" local_entity="0" value="0" />
+ <value cell_index="20598" local_entity="0" value="0" />
+ <value cell_index="20599" local_entity="0" value="0" />
+ <value cell_index="20600" local_entity="0" value="0" />
+ <value cell_index="20601" local_entity="0" value="0" />
+ <value cell_index="20602" local_entity="0" value="0" />
+ <value cell_index="20603" local_entity="0" value="0" />
+ <value cell_index="20604" local_entity="0" value="0" />
+ <value cell_index="20605" local_entity="0" value="0" />
+ <value cell_index="20606" local_entity="0" value="0" />
+ <value cell_index="20607" local_entity="0" value="0" />
+ <value cell_index="20608" local_entity="0" value="0" />
+ <value cell_index="20609" local_entity="0" value="0" />
+ <value cell_index="20610" local_entity="0" value="0" />
+ <value cell_index="20611" local_entity="0" value="0" />
+ <value cell_index="20612" local_entity="0" value="0" />
+ <value cell_index="20613" local_entity="0" value="0" />
+ <value cell_index="20614" local_entity="0" value="0" />
+ <value cell_index="20615" local_entity="0" value="0" />
+ <value cell_index="20616" local_entity="0" value="0" />
+ <value cell_index="20617" local_entity="0" value="0" />
+ <value cell_index="20618" local_entity="0" value="0" />
+ <value cell_index="20619" local_entity="0" value="0" />
+ <value cell_index="20620" local_entity="0" value="0" />
+ <value cell_index="20621" local_entity="0" value="0" />
+ <value cell_index="20622" local_entity="0" value="0" />
+ <value cell_index="20623" local_entity="0" value="0" />
+ <value cell_index="20624" local_entity="0" value="0" />
+ <value cell_index="20625" local_entity="0" value="0" />
+ <value cell_index="20626" local_entity="0" value="0" />
+ <value cell_index="20627" local_entity="0" value="0" />
+ <value cell_index="20628" local_entity="0" value="0" />
+ <value cell_index="20629" local_entity="0" value="0" />
+ <value cell_index="20630" local_entity="0" value="0" />
+ <value cell_index="20631" local_entity="0" value="0" />
+ <value cell_index="20632" local_entity="0" value="0" />
+ <value cell_index="20633" local_entity="0" value="0" />
+ <value cell_index="20634" local_entity="0" value="0" />
+ <value cell_index="20635" local_entity="0" value="0" />
+ <value cell_index="20636" local_entity="0" value="0" />
+ <value cell_index="20637" local_entity="0" value="0" />
+ <value cell_index="20638" local_entity="0" value="0" />
+ <value cell_index="20639" local_entity="0" value="0" />
+ <value cell_index="20640" local_entity="0" value="0" />
+ <value cell_index="20641" local_entity="0" value="0" />
+ <value cell_index="20642" local_entity="0" value="0" />
+ <value cell_index="20643" local_entity="0" value="0" />
+ <value cell_index="20644" local_entity="0" value="0" />
+ <value cell_index="20645" local_entity="0" value="0" />
+ <value cell_index="20646" local_entity="0" value="0" />
+ <value cell_index="20647" local_entity="0" value="0" />
+ <value cell_index="20648" local_entity="0" value="0" />
+ <value cell_index="20649" local_entity="0" value="0" />
+ <value cell_index="20650" local_entity="0" value="0" />
+ <value cell_index="20651" local_entity="0" value="0" />
+ <value cell_index="20652" local_entity="0" value="0" />
+ <value cell_index="20653" local_entity="0" value="0" />
+ <value cell_index="20654" local_entity="0" value="0" />
+ <value cell_index="20655" local_entity="0" value="0" />
+ <value cell_index="20656" local_entity="0" value="0" />
+ <value cell_index="20657" local_entity="0" value="0" />
+ <value cell_index="20658" local_entity="0" value="0" />
+ <value cell_index="20659" local_entity="0" value="0" />
+ <value cell_index="20660" local_entity="0" value="0" />
+ <value cell_index="20661" local_entity="0" value="0" />
+ <value cell_index="20662" local_entity="0" value="0" />
+ <value cell_index="20663" local_entity="0" value="0" />
+ <value cell_index="20664" local_entity="0" value="0" />
+ <value cell_index="20665" local_entity="0" value="0" />
+ <value cell_index="20666" local_entity="0" value="0" />
+ <value cell_index="20667" local_entity="0" value="0" />
+ <value cell_index="20668" local_entity="0" value="0" />
+ <value cell_index="20669" local_entity="0" value="0" />
+ <value cell_index="20670" local_entity="0" value="0" />
+ <value cell_index="20671" local_entity="0" value="0" />
+ <value cell_index="20672" local_entity="0" value="0" />
+ <value cell_index="20673" local_entity="0" value="0" />
+ <value cell_index="20674" local_entity="0" value="0" />
+ <value cell_index="20675" local_entity="0" value="0" />
+ <value cell_index="20676" local_entity="0" value="0" />
+ <value cell_index="20677" local_entity="0" value="0" />
+ <value cell_index="20678" local_entity="0" value="0" />
+ <value cell_index="20679" local_entity="0" value="0" />
+ <value cell_index="20680" local_entity="0" value="0" />
+ <value cell_index="20681" local_entity="0" value="0" />
+ <value cell_index="20682" local_entity="0" value="0" />
+ <value cell_index="20683" local_entity="0" value="0" />
+ <value cell_index="20684" local_entity="0" value="0" />
+ <value cell_index="20685" local_entity="0" value="0" />
+ <value cell_index="20686" local_entity="0" value="0" />
+ <value cell_index="20687" local_entity="0" value="0" />
+ <value cell_index="20688" local_entity="0" value="0" />
+ <value cell_index="20689" local_entity="0" value="0" />
+ <value cell_index="20690" local_entity="0" value="0" />
+ <value cell_index="20691" local_entity="0" value="0" />
+ <value cell_index="20692" local_entity="0" value="0" />
+ <value cell_index="20693" local_entity="0" value="0" />
+ <value cell_index="20694" local_entity="0" value="0" />
+ <value cell_index="20695" local_entity="0" value="0" />
+ <value cell_index="20696" local_entity="0" value="0" />
+ <value cell_index="20697" local_entity="0" value="0" />
+ <value cell_index="20698" local_entity="0" value="0" />
+ <value cell_index="20699" local_entity="0" value="0" />
+ <value cell_index="20700" local_entity="0" value="0" />
+ <value cell_index="20701" local_entity="0" value="0" />
+ <value cell_index="20702" local_entity="0" value="0" />
+ <value cell_index="20703" local_entity="0" value="0" />
+ <value cell_index="20704" local_entity="0" value="0" />
+ <value cell_index="20705" local_entity="0" value="0" />
+ <value cell_index="20706" local_entity="0" value="0" />
+ <value cell_index="20707" local_entity="0" value="0" />
+ <value cell_index="20708" local_entity="0" value="0" />
+ <value cell_index="20709" local_entity="0" value="0" />
+ <value cell_index="20710" local_entity="0" value="0" />
+ <value cell_index="20711" local_entity="0" value="0" />
+ <value cell_index="20712" local_entity="0" value="0" />
+ <value cell_index="20713" local_entity="0" value="0" />
+ <value cell_index="20714" local_entity="0" value="0" />
+ <value cell_index="20715" local_entity="0" value="0" />
+ <value cell_index="20716" local_entity="0" value="0" />
+ <value cell_index="20717" local_entity="0" value="0" />
+ <value cell_index="20718" local_entity="0" value="0" />
+ <value cell_index="20719" local_entity="0" value="0" />
+ <value cell_index="20720" local_entity="0" value="0" />
+ <value cell_index="20721" local_entity="0" value="0" />
+ <value cell_index="20722" local_entity="0" value="0" />
+ <value cell_index="20723" local_entity="0" value="0" />
+ <value cell_index="20724" local_entity="0" value="0" />
+ <value cell_index="20725" local_entity="0" value="0" />
+ <value cell_index="20726" local_entity="0" value="0" />
+ <value cell_index="20727" local_entity="0" value="0" />
+ <value cell_index="20728" local_entity="0" value="0" />
+ <value cell_index="20729" local_entity="0" value="0" />
+ <value cell_index="20730" local_entity="0" value="0" />
+ <value cell_index="20731" local_entity="0" value="0" />
+ <value cell_index="20732" local_entity="0" value="0" />
+ <value cell_index="20733" local_entity="0" value="0" />
+ <value cell_index="20734" local_entity="0" value="0" />
+ <value cell_index="20735" local_entity="0" value="0" />
+ <value cell_index="20736" local_entity="0" value="0" />
+ <value cell_index="20737" local_entity="0" value="0" />
+ <value cell_index="20738" local_entity="0" value="0" />
+ <value cell_index="20739" local_entity="0" value="0" />
+ <value cell_index="20740" local_entity="0" value="0" />
+ <value cell_index="20741" local_entity="0" value="0" />
+ <value cell_index="20742" local_entity="0" value="0" />
+ <value cell_index="20743" local_entity="0" value="0" />
+ <value cell_index="20744" local_entity="0" value="0" />
+ <value cell_index="20745" local_entity="0" value="0" />
+ <value cell_index="20746" local_entity="0" value="0" />
+ <value cell_index="20747" local_entity="0" value="0" />
+ <value cell_index="20748" local_entity="0" value="0" />
+ <value cell_index="20749" local_entity="0" value="0" />
+ <value cell_index="20750" local_entity="0" value="0" />
+ <value cell_index="20751" local_entity="0" value="0" />
+ <value cell_index="20752" local_entity="0" value="0" />
+ <value cell_index="20753" local_entity="0" value="0" />
+ <value cell_index="20754" local_entity="0" value="0" />
+ <value cell_index="20755" local_entity="0" value="0" />
+ <value cell_index="20756" local_entity="0" value="0" />
+ <value cell_index="20757" local_entity="0" value="0" />
+ <value cell_index="20758" local_entity="0" value="0" />
+ <value cell_index="20759" local_entity="0" value="0" />
+ <value cell_index="20760" local_entity="0" value="0" />
+ <value cell_index="20761" local_entity="0" value="0" />
+ <value cell_index="20762" local_entity="0" value="0" />
+ <value cell_index="20763" local_entity="0" value="0" />
+ <value cell_index="20764" local_entity="0" value="0" />
+ <value cell_index="20765" local_entity="0" value="0" />
+ <value cell_index="20766" local_entity="0" value="0" />
+ <value cell_index="20767" local_entity="0" value="0" />
+ <value cell_index="20768" local_entity="0" value="0" />
+ <value cell_index="20769" local_entity="0" value="0" />
+ <value cell_index="20770" local_entity="0" value="0" />
+ <value cell_index="20771" local_entity="0" value="0" />
+ <value cell_index="20772" local_entity="0" value="0" />
+ <value cell_index="20773" local_entity="0" value="0" />
+ <value cell_index="20774" local_entity="0" value="0" />
+ <value cell_index="20775" local_entity="0" value="0" />
+ <value cell_index="20776" local_entity="0" value="0" />
+ <value cell_index="20777" local_entity="0" value="0" />
+ <value cell_index="20778" local_entity="0" value="0" />
+ <value cell_index="20779" local_entity="0" value="0" />
+ <value cell_index="20780" local_entity="0" value="0" />
+ <value cell_index="20781" local_entity="0" value="0" />
+ <value cell_index="20782" local_entity="0" value="0" />
+ <value cell_index="20783" local_entity="0" value="0" />
+ <value cell_index="20784" local_entity="0" value="0" />
+ <value cell_index="20785" local_entity="0" value="0" />
+ <value cell_index="20786" local_entity="0" value="0" />
+ <value cell_index="20787" local_entity="0" value="0" />
+ <value cell_index="20788" local_entity="0" value="0" />
+ <value cell_index="20789" local_entity="0" value="0" />
+ <value cell_index="20790" local_entity="0" value="0" />
+ <value cell_index="20791" local_entity="0" value="0" />
+ <value cell_index="20792" local_entity="0" value="0" />
+ <value cell_index="20793" local_entity="0" value="0" />
+ <value cell_index="20794" local_entity="0" value="0" />
+ <value cell_index="20795" local_entity="0" value="0" />
+ <value cell_index="20796" local_entity="0" value="0" />
+ <value cell_index="20797" local_entity="0" value="0" />
+ <value cell_index="20798" local_entity="0" value="0" />
+ <value cell_index="20799" local_entity="0" value="0" />
+ <value cell_index="20800" local_entity="0" value="0" />
+ <value cell_index="20801" local_entity="0" value="0" />
+ <value cell_index="20802" local_entity="0" value="0" />
+ <value cell_index="20803" local_entity="0" value="0" />
+ <value cell_index="20804" local_entity="0" value="0" />
+ <value cell_index="20805" local_entity="0" value="0" />
+ <value cell_index="20806" local_entity="0" value="0" />
+ <value cell_index="20807" local_entity="0" value="0" />
+ <value cell_index="20808" local_entity="0" value="0" />
+ <value cell_index="20809" local_entity="0" value="0" />
+ <value cell_index="20810" local_entity="0" value="0" />
+ <value cell_index="20811" local_entity="0" value="0" />
+ <value cell_index="20812" local_entity="0" value="0" />
+ <value cell_index="20813" local_entity="0" value="0" />
+ <value cell_index="20814" local_entity="0" value="0" />
+ <value cell_index="20815" local_entity="0" value="0" />
+ <value cell_index="20816" local_entity="0" value="0" />
+ <value cell_index="20817" local_entity="0" value="0" />
+ <value cell_index="20818" local_entity="0" value="0" />
+ <value cell_index="20819" local_entity="0" value="0" />
+ <value cell_index="20820" local_entity="0" value="0" />
+ <value cell_index="20821" local_entity="0" value="0" />
+ <value cell_index="20822" local_entity="0" value="0" />
+ <value cell_index="20823" local_entity="0" value="0" />
+ <value cell_index="20824" local_entity="0" value="0" />
+ <value cell_index="20825" local_entity="0" value="0" />
+ <value cell_index="20826" local_entity="0" value="0" />
+ <value cell_index="20827" local_entity="0" value="0" />
+ <value cell_index="20828" local_entity="0" value="0" />
+ <value cell_index="20829" local_entity="0" value="0" />
+ <value cell_index="20830" local_entity="0" value="0" />
+ <value cell_index="20831" local_entity="0" value="0" />
+ <value cell_index="20832" local_entity="0" value="0" />
+ <value cell_index="20833" local_entity="0" value="0" />
+ <value cell_index="20834" local_entity="0" value="0" />
+ <value cell_index="20835" local_entity="0" value="0" />
+ <value cell_index="20836" local_entity="0" value="0" />
+ <value cell_index="20837" local_entity="0" value="0" />
+ <value cell_index="20838" local_entity="0" value="0" />
+ <value cell_index="20839" local_entity="0" value="0" />
+ <value cell_index="20840" local_entity="0" value="0" />
+ <value cell_index="20841" local_entity="0" value="0" />
+ <value cell_index="20842" local_entity="0" value="0" />
+ <value cell_index="20843" local_entity="0" value="0" />
+ <value cell_index="20844" local_entity="0" value="0" />
+ <value cell_index="20845" local_entity="0" value="0" />
+ <value cell_index="20846" local_entity="0" value="0" />
+ <value cell_index="20847" local_entity="0" value="0" />
+ <value cell_index="20848" local_entity="0" value="0" />
+ <value cell_index="20849" local_entity="0" value="0" />
+ <value cell_index="20850" local_entity="0" value="0" />
+ <value cell_index="20851" local_entity="0" value="0" />
+ <value cell_index="20852" local_entity="0" value="0" />
+ <value cell_index="20853" local_entity="0" value="0" />
+ <value cell_index="20854" local_entity="0" value="0" />
+ <value cell_index="20855" local_entity="0" value="0" />
+ <value cell_index="20856" local_entity="0" value="0" />
+ <value cell_index="20857" local_entity="0" value="0" />
+ <value cell_index="20858" local_entity="0" value="0" />
+ <value cell_index="20859" local_entity="0" value="0" />
+ <value cell_index="20860" local_entity="0" value="0" />
+ <value cell_index="20861" local_entity="0" value="0" />
+ <value cell_index="20862" local_entity="0" value="0" />
+ <value cell_index="20863" local_entity="0" value="0" />
+ <value cell_index="20864" local_entity="0" value="0" />
+ <value cell_index="20865" local_entity="0" value="0" />
+ <value cell_index="20866" local_entity="0" value="0" />
+ <value cell_index="20867" local_entity="0" value="0" />
+ <value cell_index="20868" local_entity="0" value="0" />
+ <value cell_index="20869" local_entity="0" value="0" />
+ <value cell_index="20870" local_entity="0" value="0" />
+ <value cell_index="20871" local_entity="0" value="0" />
+ <value cell_index="20872" local_entity="0" value="0" />
+ <value cell_index="20873" local_entity="0" value="0" />
+ <value cell_index="20874" local_entity="0" value="0" />
+ <value cell_index="20875" local_entity="0" value="0" />
+ <value cell_index="20876" local_entity="0" value="0" />
+ <value cell_index="20877" local_entity="0" value="0" />
+ <value cell_index="20878" local_entity="0" value="0" />
+ <value cell_index="20879" local_entity="0" value="0" />
+ <value cell_index="20880" local_entity="0" value="0" />
+ <value cell_index="20881" local_entity="0" value="0" />
+ <value cell_index="20882" local_entity="0" value="0" />
+ <value cell_index="20883" local_entity="0" value="0" />
+ <value cell_index="20884" local_entity="0" value="0" />
+ <value cell_index="20885" local_entity="0" value="0" />
+ <value cell_index="20886" local_entity="0" value="0" />
+ <value cell_index="20887" local_entity="0" value="0" />
+ <value cell_index="20888" local_entity="0" value="0" />
+ <value cell_index="20889" local_entity="0" value="0" />
+ <value cell_index="20890" local_entity="0" value="0" />
+ <value cell_index="20891" local_entity="0" value="0" />
+ <value cell_index="20892" local_entity="0" value="0" />
+ <value cell_index="20893" local_entity="0" value="0" />
+ <value cell_index="20894" local_entity="0" value="0" />
+ <value cell_index="20895" local_entity="0" value="0" />
+ <value cell_index="20896" local_entity="0" value="0" />
+ <value cell_index="20897" local_entity="0" value="0" />
+ <value cell_index="20898" local_entity="0" value="0" />
+ <value cell_index="20899" local_entity="0" value="0" />
+ <value cell_index="20900" local_entity="0" value="0" />
+ <value cell_index="20901" local_entity="0" value="0" />
+ <value cell_index="20902" local_entity="0" value="0" />
+ <value cell_index="20903" local_entity="0" value="0" />
+ <value cell_index="20904" local_entity="0" value="0" />
+ <value cell_index="20905" local_entity="0" value="0" />
+ <value cell_index="20906" local_entity="0" value="0" />
+ <value cell_index="20907" local_entity="0" value="0" />
+ <value cell_index="20908" local_entity="0" value="0" />
+ <value cell_index="20909" local_entity="0" value="0" />
+ <value cell_index="20910" local_entity="0" value="0" />
+ <value cell_index="20911" local_entity="0" value="0" />
+ <value cell_index="20912" local_entity="0" value="0" />
+ <value cell_index="20913" local_entity="0" value="0" />
+ <value cell_index="20914" local_entity="0" value="0" />
+ <value cell_index="20915" local_entity="0" value="0" />
+ <value cell_index="20916" local_entity="0" value="0" />
+ <value cell_index="20917" local_entity="0" value="0" />
+ <value cell_index="20918" local_entity="0" value="0" />
+ <value cell_index="20919" local_entity="0" value="0" />
+ <value cell_index="20920" local_entity="0" value="0" />
+ <value cell_index="20921" local_entity="0" value="0" />
+ <value cell_index="20922" local_entity="0" value="0" />
+ <value cell_index="20923" local_entity="0" value="0" />
+ <value cell_index="20924" local_entity="0" value="0" />
+ <value cell_index="20925" local_entity="0" value="0" />
+ <value cell_index="20926" local_entity="0" value="0" />
+ <value cell_index="20927" local_entity="0" value="0" />
+ <value cell_index="20928" local_entity="0" value="0" />
+ <value cell_index="20929" local_entity="0" value="0" />
+ <value cell_index="20930" local_entity="0" value="0" />
+ <value cell_index="20931" local_entity="0" value="0" />
+ <value cell_index="20932" local_entity="0" value="0" />
+ <value cell_index="20933" local_entity="0" value="0" />
+ <value cell_index="20934" local_entity="0" value="0" />
+ <value cell_index="20935" local_entity="0" value="0" />
+ <value cell_index="20936" local_entity="0" value="0" />
+ <value cell_index="20937" local_entity="0" value="0" />
+ <value cell_index="20938" local_entity="0" value="0" />
+ <value cell_index="20939" local_entity="0" value="0" />
+ <value cell_index="20940" local_entity="0" value="0" />
+ <value cell_index="20941" local_entity="0" value="0" />
+ <value cell_index="20942" local_entity="0" value="0" />
+ <value cell_index="20943" local_entity="0" value="0" />
+ <value cell_index="20944" local_entity="0" value="0" />
+ <value cell_index="20945" local_entity="0" value="0" />
+ <value cell_index="20946" local_entity="0" value="0" />
+ <value cell_index="20947" local_entity="0" value="0" />
+ <value cell_index="20948" local_entity="0" value="0" />
+ <value cell_index="20949" local_entity="0" value="0" />
+ <value cell_index="20950" local_entity="0" value="0" />
+ <value cell_index="20951" local_entity="0" value="0" />
+ <value cell_index="20952" local_entity="0" value="0" />
+ <value cell_index="20953" local_entity="0" value="0" />
+ <value cell_index="20954" local_entity="0" value="0" />
+ <value cell_index="20955" local_entity="0" value="0" />
+ <value cell_index="20956" local_entity="0" value="0" />
+ <value cell_index="20957" local_entity="0" value="0" />
+ <value cell_index="20958" local_entity="0" value="0" />
+ <value cell_index="20959" local_entity="0" value="0" />
+ <value cell_index="20960" local_entity="0" value="0" />
+ <value cell_index="20961" local_entity="0" value="0" />
+ <value cell_index="20962" local_entity="0" value="0" />
+ <value cell_index="20963" local_entity="0" value="0" />
+ <value cell_index="20964" local_entity="0" value="0" />
+ <value cell_index="20965" local_entity="0" value="0" />
+ <value cell_index="20966" local_entity="0" value="0" />
+ <value cell_index="20967" local_entity="0" value="0" />
+ <value cell_index="20968" local_entity="0" value="0" />
+ <value cell_index="20969" local_entity="0" value="0" />
+ <value cell_index="20970" local_entity="0" value="0" />
+ <value cell_index="20971" local_entity="0" value="0" />
+ <value cell_index="20972" local_entity="0" value="0" />
+ <value cell_index="20973" local_entity="0" value="0" />
+ <value cell_index="20974" local_entity="0" value="0" />
+ <value cell_index="20975" local_entity="0" value="0" />
+ <value cell_index="20976" local_entity="0" value="0" />
+ <value cell_index="20977" local_entity="0" value="0" />
+ <value cell_index="20978" local_entity="0" value="0" />
+ <value cell_index="20979" local_entity="0" value="0" />
+ <value cell_index="20980" local_entity="0" value="0" />
+ <value cell_index="20981" local_entity="0" value="0" />
+ <value cell_index="20982" local_entity="0" value="0" />
+ <value cell_index="20983" local_entity="0" value="0" />
+ <value cell_index="20984" local_entity="0" value="0" />
+ <value cell_index="20985" local_entity="0" value="0" />
+ <value cell_index="20986" local_entity="0" value="0" />
+ <value cell_index="20987" local_entity="0" value="0" />
+ <value cell_index="20988" local_entity="0" value="0" />
+ <value cell_index="20989" local_entity="0" value="0" />
+ <value cell_index="20990" local_entity="0" value="0" />
+ <value cell_index="20991" local_entity="0" value="0" />
+ <value cell_index="20992" local_entity="0" value="0" />
+ <value cell_index="20993" local_entity="0" value="0" />
+ <value cell_index="20994" local_entity="0" value="0" />
+ <value cell_index="20995" local_entity="0" value="0" />
+ <value cell_index="20996" local_entity="0" value="0" />
+ <value cell_index="20997" local_entity="0" value="0" />
+ <value cell_index="20998" local_entity="0" value="0" />
+ <value cell_index="20999" local_entity="0" value="0" />
+ <value cell_index="21000" local_entity="0" value="0" />
+ <value cell_index="21001" local_entity="0" value="0" />
+ <value cell_index="21002" local_entity="0" value="0" />
+ <value cell_index="21003" local_entity="0" value="0" />
+ <value cell_index="21004" local_entity="0" value="0" />
+ <value cell_index="21005" local_entity="0" value="0" />
+ <value cell_index="21006" local_entity="0" value="0" />
+ <value cell_index="21007" local_entity="0" value="0" />
+ <value cell_index="21008" local_entity="0" value="0" />
+ <value cell_index="21009" local_entity="0" value="0" />
+ <value cell_index="21010" local_entity="0" value="0" />
+ <value cell_index="21011" local_entity="0" value="0" />
+ <value cell_index="21012" local_entity="0" value="0" />
+ <value cell_index="21013" local_entity="0" value="0" />
+ <value cell_index="21014" local_entity="0" value="0" />
+ <value cell_index="21015" local_entity="0" value="0" />
+ <value cell_index="21016" local_entity="0" value="0" />
+ <value cell_index="21017" local_entity="0" value="0" />
+ <value cell_index="21018" local_entity="0" value="0" />
+ <value cell_index="21019" local_entity="0" value="0" />
+ <value cell_index="21020" local_entity="0" value="0" />
+ <value cell_index="21021" local_entity="0" value="0" />
+ <value cell_index="21022" local_entity="0" value="0" />
+ <value cell_index="21023" local_entity="0" value="0" />
+ <value cell_index="21024" local_entity="0" value="0" />
+ <value cell_index="21025" local_entity="0" value="0" />
+ <value cell_index="21026" local_entity="0" value="0" />
+ <value cell_index="21027" local_entity="0" value="0" />
+ <value cell_index="21028" local_entity="0" value="0" />
+ <value cell_index="21029" local_entity="0" value="0" />
+ <value cell_index="21030" local_entity="0" value="0" />
+ <value cell_index="21031" local_entity="0" value="0" />
+ <value cell_index="21032" local_entity="0" value="0" />
+ <value cell_index="21033" local_entity="0" value="0" />
+ <value cell_index="21034" local_entity="0" value="0" />
+ <value cell_index="21035" local_entity="0" value="0" />
+ <value cell_index="21036" local_entity="0" value="0" />
+ <value cell_index="21037" local_entity="0" value="0" />
+ <value cell_index="21038" local_entity="0" value="0" />
+ <value cell_index="21039" local_entity="0" value="0" />
+ <value cell_index="21040" local_entity="0" value="0" />
+ <value cell_index="21041" local_entity="0" value="0" />
+ <value cell_index="21042" local_entity="0" value="0" />
+ <value cell_index="21043" local_entity="0" value="0" />
+ <value cell_index="21044" local_entity="0" value="0" />
+ <value cell_index="21045" local_entity="0" value="0" />
+ <value cell_index="21046" local_entity="0" value="0" />
+ <value cell_index="21047" local_entity="0" value="0" />
+ <value cell_index="21048" local_entity="0" value="0" />
+ <value cell_index="21049" local_entity="0" value="0" />
+ <value cell_index="21050" local_entity="0" value="0" />
+ <value cell_index="21051" local_entity="0" value="0" />
+ <value cell_index="21052" local_entity="0" value="0" />
+ <value cell_index="21053" local_entity="0" value="0" />
+ <value cell_index="21054" local_entity="0" value="0" />
+ <value cell_index="21055" local_entity="0" value="0" />
+ <value cell_index="21056" local_entity="0" value="0" />
+ <value cell_index="21057" local_entity="0" value="0" />
+ <value cell_index="21058" local_entity="0" value="0" />
+ <value cell_index="21059" local_entity="0" value="0" />
+ <value cell_index="21060" local_entity="0" value="0" />
+ <value cell_index="21061" local_entity="0" value="0" />
+ <value cell_index="21062" local_entity="0" value="0" />
+ <value cell_index="21063" local_entity="0" value="0" />
+ <value cell_index="21064" local_entity="0" value="0" />
+ <value cell_index="21065" local_entity="0" value="0" />
+ <value cell_index="21066" local_entity="0" value="0" />
+ <value cell_index="21067" local_entity="0" value="0" />
+ <value cell_index="21068" local_entity="0" value="0" />
+ <value cell_index="21069" local_entity="0" value="0" />
+ <value cell_index="21070" local_entity="0" value="0" />
+ <value cell_index="21071" local_entity="0" value="0" />
+ <value cell_index="21072" local_entity="0" value="0" />
+ <value cell_index="21073" local_entity="0" value="0" />
+ <value cell_index="21074" local_entity="0" value="0" />
+ <value cell_index="21075" local_entity="0" value="0" />
+ <value cell_index="21076" local_entity="0" value="0" />
+ <value cell_index="21077" local_entity="0" value="0" />
+ <value cell_index="21078" local_entity="0" value="0" />
+ <value cell_index="21079" local_entity="0" value="0" />
+ <value cell_index="21080" local_entity="0" value="0" />
+ <value cell_index="21081" local_entity="0" value="0" />
+ <value cell_index="21082" local_entity="0" value="0" />
+ <value cell_index="21083" local_entity="0" value="0" />
+ <value cell_index="21084" local_entity="0" value="0" />
+ <value cell_index="21085" local_entity="0" value="0" />
+ <value cell_index="21086" local_entity="0" value="0" />
+ <value cell_index="21087" local_entity="0" value="0" />
+ <value cell_index="21088" local_entity="0" value="0" />
+ <value cell_index="21089" local_entity="0" value="0" />
+ <value cell_index="21090" local_entity="0" value="0" />
+ <value cell_index="21091" local_entity="0" value="0" />
+ <value cell_index="21092" local_entity="0" value="0" />
+ <value cell_index="21093" local_entity="0" value="0" />
+ <value cell_index="21094" local_entity="0" value="0" />
+ <value cell_index="21095" local_entity="0" value="0" />
+ <value cell_index="21096" local_entity="0" value="0" />
+ <value cell_index="21097" local_entity="0" value="0" />
+ <value cell_index="21098" local_entity="0" value="0" />
+ <value cell_index="21099" local_entity="0" value="0" />
+ <value cell_index="21100" local_entity="0" value="0" />
+ <value cell_index="21101" local_entity="0" value="0" />
+ <value cell_index="21102" local_entity="0" value="0" />
+ <value cell_index="21103" local_entity="0" value="0" />
+ <value cell_index="21104" local_entity="0" value="0" />
+ <value cell_index="21105" local_entity="0" value="0" />
+ <value cell_index="21106" local_entity="0" value="0" />
+ <value cell_index="21107" local_entity="0" value="0" />
+ <value cell_index="21108" local_entity="0" value="0" />
+ <value cell_index="21109" local_entity="0" value="0" />
+ <value cell_index="21110" local_entity="0" value="0" />
+ <value cell_index="21111" local_entity="0" value="0" />
+ <value cell_index="21112" local_entity="0" value="0" />
+ <value cell_index="21113" local_entity="0" value="0" />
+ <value cell_index="21114" local_entity="0" value="0" />
+ <value cell_index="21115" local_entity="0" value="0" />
+ <value cell_index="21116" local_entity="0" value="0" />
+ <value cell_index="21117" local_entity="0" value="0" />
+ <value cell_index="21118" local_entity="0" value="0" />
+ <value cell_index="21119" local_entity="0" value="0" />
+ <value cell_index="21120" local_entity="0" value="0" />
+ <value cell_index="21121" local_entity="0" value="0" />
+ <value cell_index="21122" local_entity="0" value="0" />
+ <value cell_index="21123" local_entity="0" value="0" />
+ <value cell_index="21124" local_entity="0" value="0" />
+ <value cell_index="21125" local_entity="0" value="0" />
+ <value cell_index="21126" local_entity="0" value="0" />
+ <value cell_index="21127" local_entity="0" value="0" />
+ <value cell_index="21128" local_entity="0" value="0" />
+ <value cell_index="21129" local_entity="0" value="0" />
+ <value cell_index="21130" local_entity="0" value="0" />
+ <value cell_index="21131" local_entity="0" value="0" />
+ <value cell_index="21132" local_entity="0" value="0" />
+ <value cell_index="21133" local_entity="0" value="0" />
+ <value cell_index="21134" local_entity="0" value="0" />
+ <value cell_index="21135" local_entity="0" value="0" />
+ <value cell_index="21136" local_entity="0" value="0" />
+ <value cell_index="21137" local_entity="0" value="0" />
+ <value cell_index="21138" local_entity="0" value="0" />
+ <value cell_index="21139" local_entity="0" value="0" />
+ <value cell_index="21140" local_entity="0" value="0" />
+ <value cell_index="21141" local_entity="0" value="0" />
+ <value cell_index="21142" local_entity="0" value="0" />
+ <value cell_index="21143" local_entity="0" value="0" />
+ <value cell_index="21144" local_entity="0" value="0" />
+ <value cell_index="21145" local_entity="0" value="0" />
+ <value cell_index="21146" local_entity="0" value="0" />
+ <value cell_index="21147" local_entity="0" value="0" />
+ <value cell_index="21148" local_entity="0" value="0" />
+ <value cell_index="21149" local_entity="0" value="0" />
+ <value cell_index="21150" local_entity="0" value="0" />
+ <value cell_index="21151" local_entity="0" value="0" />
+ <value cell_index="21152" local_entity="0" value="0" />
+ <value cell_index="21153" local_entity="0" value="0" />
+ <value cell_index="21154" local_entity="0" value="0" />
+ <value cell_index="21155" local_entity="0" value="0" />
+ <value cell_index="21156" local_entity="0" value="0" />
+ <value cell_index="21157" local_entity="0" value="0" />
+ <value cell_index="21158" local_entity="0" value="0" />
+ <value cell_index="21159" local_entity="0" value="0" />
+ <value cell_index="21160" local_entity="0" value="0" />
+ <value cell_index="21161" local_entity="0" value="0" />
+ <value cell_index="21162" local_entity="0" value="0" />
+ <value cell_index="21163" local_entity="0" value="0" />
+ <value cell_index="21164" local_entity="0" value="0" />
+ <value cell_index="21165" local_entity="0" value="0" />
+ <value cell_index="21166" local_entity="0" value="0" />
+ <value cell_index="21167" local_entity="0" value="0" />
+ <value cell_index="21168" local_entity="0" value="0" />
+ <value cell_index="21169" local_entity="0" value="0" />
+ <value cell_index="21170" local_entity="0" value="0" />
+ <value cell_index="21171" local_entity="0" value="0" />
+ <value cell_index="21172" local_entity="0" value="0" />
+ <value cell_index="21173" local_entity="0" value="0" />
+ <value cell_index="21174" local_entity="0" value="0" />
+ <value cell_index="21175" local_entity="0" value="0" />
+ <value cell_index="21176" local_entity="0" value="0" />
+ <value cell_index="21177" local_entity="0" value="0" />
+ <value cell_index="21178" local_entity="0" value="0" />
+ <value cell_index="21179" local_entity="0" value="0" />
+ <value cell_index="21180" local_entity="0" value="0" />
+ <value cell_index="21181" local_entity="0" value="0" />
+ <value cell_index="21182" local_entity="0" value="0" />
+ <value cell_index="21183" local_entity="0" value="0" />
+ <value cell_index="21184" local_entity="0" value="0" />
+ <value cell_index="21185" local_entity="0" value="0" />
+ <value cell_index="21186" local_entity="0" value="0" />
+ <value cell_index="21187" local_entity="0" value="0" />
+ <value cell_index="21188" local_entity="0" value="0" />
+ <value cell_index="21189" local_entity="0" value="0" />
+ <value cell_index="21190" local_entity="0" value="0" />
+ <value cell_index="21191" local_entity="0" value="0" />
+ <value cell_index="21192" local_entity="0" value="0" />
+ <value cell_index="21193" local_entity="0" value="0" />
+ <value cell_index="21194" local_entity="0" value="0" />
+ <value cell_index="21195" local_entity="0" value="0" />
+ <value cell_index="21196" local_entity="0" value="0" />
+ <value cell_index="21197" local_entity="0" value="0" />
+ <value cell_index="21198" local_entity="0" value="0" />
+ <value cell_index="21199" local_entity="0" value="0" />
+ <value cell_index="21200" local_entity="0" value="0" />
+ <value cell_index="21201" local_entity="0" value="0" />
+ <value cell_index="21202" local_entity="0" value="0" />
+ <value cell_index="21203" local_entity="0" value="0" />
+ <value cell_index="21204" local_entity="0" value="0" />
+ <value cell_index="21205" local_entity="0" value="0" />
+ <value cell_index="21206" local_entity="0" value="0" />
+ <value cell_index="21207" local_entity="0" value="0" />
+ <value cell_index="21208" local_entity="0" value="0" />
+ <value cell_index="21209" local_entity="0" value="0" />
+ <value cell_index="21210" local_entity="0" value="0" />
+ <value cell_index="21211" local_entity="0" value="0" />
+ <value cell_index="21212" local_entity="0" value="0" />
+ <value cell_index="21213" local_entity="0" value="0" />
+ <value cell_index="21214" local_entity="0" value="0" />
+ <value cell_index="21215" local_entity="0" value="0" />
+ <value cell_index="21216" local_entity="0" value="0" />
+ <value cell_index="21217" local_entity="0" value="0" />
+ <value cell_index="21218" local_entity="0" value="0" />
+ <value cell_index="21219" local_entity="0" value="0" />
+ <value cell_index="21220" local_entity="0" value="0" />
+ <value cell_index="21221" local_entity="0" value="0" />
+ <value cell_index="21222" local_entity="0" value="0" />
+ <value cell_index="21223" local_entity="0" value="0" />
+ <value cell_index="21224" local_entity="0" value="0" />
+ <value cell_index="21225" local_entity="0" value="0" />
+ <value cell_index="21226" local_entity="0" value="0" />
+ <value cell_index="21227" local_entity="0" value="0" />
+ <value cell_index="21228" local_entity="0" value="0" />
+ <value cell_index="21229" local_entity="0" value="0" />
+ <value cell_index="21230" local_entity="0" value="0" />
+ <value cell_index="21231" local_entity="0" value="0" />
+ <value cell_index="21232" local_entity="0" value="0" />
+ <value cell_index="21233" local_entity="0" value="0" />
+ <value cell_index="21234" local_entity="0" value="0" />
+ <value cell_index="21235" local_entity="0" value="0" />
+ <value cell_index="21236" local_entity="0" value="0" />
+ <value cell_index="21237" local_entity="0" value="0" />
+ <value cell_index="21238" local_entity="0" value="0" />
+ <value cell_index="21239" local_entity="0" value="0" />
+ <value cell_index="21240" local_entity="0" value="0" />
+ <value cell_index="21241" local_entity="0" value="0" />
+ <value cell_index="21242" local_entity="0" value="0" />
+ <value cell_index="21243" local_entity="0" value="0" />
+ <value cell_index="21244" local_entity="0" value="0" />
+ <value cell_index="21245" local_entity="0" value="0" />
+ <value cell_index="21246" local_entity="0" value="0" />
+ <value cell_index="21247" local_entity="0" value="0" />
+ <value cell_index="21248" local_entity="0" value="0" />
+ <value cell_index="21249" local_entity="0" value="0" />
+ <value cell_index="21250" local_entity="0" value="0" />
+ <value cell_index="21251" local_entity="0" value="0" />
+ <value cell_index="21252" local_entity="0" value="0" />
+ <value cell_index="21253" local_entity="0" value="0" />
+ <value cell_index="21254" local_entity="0" value="0" />
+ <value cell_index="21255" local_entity="0" value="0" />
+ <value cell_index="21256" local_entity="0" value="0" />
+ <value cell_index="21257" local_entity="0" value="0" />
+ <value cell_index="21258" local_entity="0" value="0" />
+ <value cell_index="21259" local_entity="0" value="0" />
+ <value cell_index="21260" local_entity="0" value="0" />
+ <value cell_index="21261" local_entity="0" value="0" />
+ <value cell_index="21262" local_entity="0" value="0" />
+ <value cell_index="21263" local_entity="0" value="0" />
+ <value cell_index="21264" local_entity="0" value="0" />
+ <value cell_index="21265" local_entity="0" value="0" />
+ <value cell_index="21266" local_entity="0" value="0" />
+ <value cell_index="21267" local_entity="0" value="0" />
+ <value cell_index="21268" local_entity="0" value="0" />
+ <value cell_index="21269" local_entity="0" value="0" />
+ <value cell_index="21270" local_entity="0" value="0" />
+ <value cell_index="21271" local_entity="0" value="0" />
+ <value cell_index="21272" local_entity="0" value="0" />
+ <value cell_index="21273" local_entity="0" value="0" />
+ <value cell_index="21274" local_entity="0" value="0" />
+ <value cell_index="21275" local_entity="0" value="0" />
+ <value cell_index="21276" local_entity="0" value="0" />
+ <value cell_index="21277" local_entity="0" value="0" />
+ <value cell_index="21278" local_entity="0" value="0" />
+ <value cell_index="21279" local_entity="0" value="0" />
+ <value cell_index="21280" local_entity="0" value="0" />
+ <value cell_index="21281" local_entity="0" value="0" />
+ <value cell_index="21282" local_entity="0" value="0" />
+ <value cell_index="21283" local_entity="0" value="0" />
+ <value cell_index="21284" local_entity="0" value="0" />
+ <value cell_index="21285" local_entity="0" value="0" />
+ <value cell_index="21286" local_entity="0" value="0" />
+ <value cell_index="21287" local_entity="0" value="0" />
+ <value cell_index="21288" local_entity="0" value="0" />
+ <value cell_index="21289" local_entity="0" value="0" />
+ <value cell_index="21290" local_entity="0" value="0" />
+ <value cell_index="21291" local_entity="0" value="0" />
+ <value cell_index="21292" local_entity="0" value="0" />
+ <value cell_index="21293" local_entity="0" value="0" />
+ <value cell_index="21294" local_entity="0" value="0" />
+ <value cell_index="21295" local_entity="0" value="0" />
+ <value cell_index="21296" local_entity="0" value="0" />
+ <value cell_index="21297" local_entity="0" value="0" />
+ <value cell_index="21298" local_entity="0" value="0" />
+ <value cell_index="21299" local_entity="0" value="0" />
+ <value cell_index="21300" local_entity="0" value="0" />
+ <value cell_index="21301" local_entity="0" value="0" />
+ <value cell_index="21302" local_entity="0" value="0" />
+ <value cell_index="21303" local_entity="0" value="0" />
+ <value cell_index="21304" local_entity="0" value="0" />
+ <value cell_index="21305" local_entity="0" value="0" />
+ <value cell_index="21306" local_entity="0" value="0" />
+ <value cell_index="21307" local_entity="0" value="0" />
+ <value cell_index="21308" local_entity="0" value="0" />
+ <value cell_index="21309" local_entity="0" value="0" />
+ <value cell_index="21310" local_entity="0" value="0" />
+ <value cell_index="21311" local_entity="0" value="0" />
+ <value cell_index="21312" local_entity="0" value="0" />
+ <value cell_index="21313" local_entity="0" value="0" />
+ <value cell_index="21314" local_entity="0" value="0" />
+ <value cell_index="21315" local_entity="0" value="0" />
+ <value cell_index="21316" local_entity="0" value="0" />
+ <value cell_index="21317" local_entity="0" value="0" />
+ <value cell_index="21318" local_entity="0" value="0" />
+ <value cell_index="21319" local_entity="0" value="0" />
+ <value cell_index="21320" local_entity="0" value="0" />
+ <value cell_index="21321" local_entity="0" value="0" />
+ <value cell_index="21322" local_entity="0" value="0" />
+ <value cell_index="21323" local_entity="0" value="0" />
+ <value cell_index="21324" local_entity="0" value="0" />
+ <value cell_index="21325" local_entity="0" value="0" />
+ <value cell_index="21326" local_entity="0" value="0" />
+ <value cell_index="21327" local_entity="0" value="0" />
+ <value cell_index="21328" local_entity="0" value="0" />
+ <value cell_index="21329" local_entity="0" value="0" />
+ <value cell_index="21330" local_entity="0" value="0" />
+ <value cell_index="21331" local_entity="0" value="0" />
+ <value cell_index="21332" local_entity="0" value="0" />
+ <value cell_index="21333" local_entity="0" value="0" />
+ <value cell_index="21334" local_entity="0" value="0" />
+ <value cell_index="21335" local_entity="0" value="0" />
+ <value cell_index="21336" local_entity="0" value="0" />
+ <value cell_index="21337" local_entity="0" value="0" />
+ <value cell_index="21338" local_entity="0" value="0" />
+ <value cell_index="21339" local_entity="0" value="0" />
+ <value cell_index="21340" local_entity="0" value="0" />
+ <value cell_index="21341" local_entity="0" value="0" />
+ <value cell_index="21342" local_entity="0" value="0" />
+ <value cell_index="21343" local_entity="0" value="0" />
+ <value cell_index="21344" local_entity="0" value="0" />
+ <value cell_index="21345" local_entity="0" value="0" />
+ <value cell_index="21346" local_entity="0" value="0" />
+ <value cell_index="21347" local_entity="0" value="0" />
+ <value cell_index="21348" local_entity="0" value="0" />
+ <value cell_index="21349" local_entity="0" value="0" />
+ <value cell_index="21350" local_entity="0" value="0" />
+ <value cell_index="21351" local_entity="0" value="0" />
+ <value cell_index="21352" local_entity="0" value="0" />
+ <value cell_index="21353" local_entity="0" value="0" />
+ <value cell_index="21354" local_entity="0" value="0" />
+ <value cell_index="21355" local_entity="0" value="0" />
+ <value cell_index="21356" local_entity="0" value="0" />
+ <value cell_index="21357" local_entity="0" value="0" />
+ <value cell_index="21358" local_entity="0" value="0" />
+ <value cell_index="21359" local_entity="0" value="0" />
+ <value cell_index="21360" local_entity="0" value="0" />
+ <value cell_index="21361" local_entity="0" value="0" />
+ <value cell_index="21362" local_entity="0" value="0" />
+ <value cell_index="21363" local_entity="0" value="0" />
+ <value cell_index="21364" local_entity="0" value="0" />
+ <value cell_index="21365" local_entity="0" value="0" />
+ <value cell_index="21366" local_entity="0" value="0" />
+ <value cell_index="21367" local_entity="0" value="0" />
+ <value cell_index="21368" local_entity="0" value="0" />
+ <value cell_index="21369" local_entity="0" value="0" />
+ <value cell_index="21370" local_entity="0" value="0" />
+ <value cell_index="21371" local_entity="0" value="0" />
+ <value cell_index="21372" local_entity="0" value="0" />
+ <value cell_index="21373" local_entity="0" value="0" />
+ <value cell_index="21374" local_entity="0" value="0" />
+ <value cell_index="21375" local_entity="0" value="0" />
+ <value cell_index="21376" local_entity="0" value="0" />
+ <value cell_index="21377" local_entity="0" value="0" />
+ <value cell_index="21378" local_entity="0" value="0" />
+ <value cell_index="21379" local_entity="0" value="0" />
+ <value cell_index="21380" local_entity="0" value="0" />
+ <value cell_index="21381" local_entity="0" value="0" />
+ <value cell_index="21382" local_entity="0" value="0" />
+ <value cell_index="21383" local_entity="0" value="0" />
+ <value cell_index="21384" local_entity="0" value="0" />
+ <value cell_index="21385" local_entity="0" value="0" />
+ <value cell_index="21386" local_entity="0" value="0" />
+ <value cell_index="21387" local_entity="0" value="0" />
+ <value cell_index="21388" local_entity="0" value="0" />
+ <value cell_index="21389" local_entity="0" value="0" />
+ <value cell_index="21390" local_entity="0" value="0" />
+ <value cell_index="21391" local_entity="0" value="0" />
+ <value cell_index="21392" local_entity="0" value="0" />
+ <value cell_index="21393" local_entity="0" value="0" />
+ <value cell_index="21394" local_entity="0" value="0" />
+ <value cell_index="21395" local_entity="0" value="0" />
+ <value cell_index="21396" local_entity="0" value="0" />
+ <value cell_index="21397" local_entity="0" value="0" />
+ <value cell_index="21398" local_entity="0" value="0" />
+ <value cell_index="21399" local_entity="0" value="0" />
+ <value cell_index="21400" local_entity="0" value="0" />
+ <value cell_index="21401" local_entity="0" value="0" />
+ <value cell_index="21402" local_entity="0" value="0" />
+ <value cell_index="21403" local_entity="0" value="0" />
+ <value cell_index="21404" local_entity="0" value="0" />
+ <value cell_index="21405" local_entity="0" value="0" />
+ <value cell_index="21406" local_entity="0" value="0" />
+ <value cell_index="21407" local_entity="0" value="0" />
+ <value cell_index="21408" local_entity="0" value="0" />
+ <value cell_index="21409" local_entity="0" value="0" />
+ <value cell_index="21410" local_entity="0" value="0" />
+ <value cell_index="21411" local_entity="0" value="0" />
+ <value cell_index="21412" local_entity="0" value="0" />
+ <value cell_index="21413" local_entity="0" value="0" />
+ <value cell_index="21414" local_entity="0" value="0" />
+ <value cell_index="21415" local_entity="0" value="0" />
+ <value cell_index="21416" local_entity="0" value="0" />
+ <value cell_index="21417" local_entity="0" value="0" />
+ <value cell_index="21418" local_entity="0" value="0" />
+ <value cell_index="21419" local_entity="0" value="0" />
+ <value cell_index="21420" local_entity="0" value="0" />
+ <value cell_index="21421" local_entity="0" value="0" />
+ <value cell_index="21422" local_entity="0" value="0" />
+ <value cell_index="21423" local_entity="0" value="0" />
+ <value cell_index="21424" local_entity="0" value="0" />
+ <value cell_index="21425" local_entity="0" value="0" />
+ <value cell_index="21426" local_entity="0" value="0" />
+ <value cell_index="21427" local_entity="0" value="0" />
+ <value cell_index="21428" local_entity="0" value="0" />
+ <value cell_index="21429" local_entity="0" value="0" />
+ <value cell_index="21430" local_entity="0" value="0" />
+ <value cell_index="21431" local_entity="0" value="0" />
+ <value cell_index="21432" local_entity="0" value="0" />
+ <value cell_index="21433" local_entity="0" value="0" />
+ <value cell_index="21434" local_entity="0" value="0" />
+ <value cell_index="21435" local_entity="0" value="0" />
+ <value cell_index="21436" local_entity="0" value="0" />
+ <value cell_index="21437" local_entity="0" value="0" />
+ <value cell_index="21438" local_entity="0" value="0" />
+ <value cell_index="21439" local_entity="0" value="0" />
+ <value cell_index="21440" local_entity="0" value="0" />
+ <value cell_index="21441" local_entity="0" value="0" />
+ <value cell_index="21442" local_entity="0" value="0" />
+ <value cell_index="21443" local_entity="0" value="0" />
+ <value cell_index="21444" local_entity="0" value="0" />
+ <value cell_index="21445" local_entity="0" value="0" />
+ <value cell_index="21446" local_entity="0" value="0" />
+ <value cell_index="21447" local_entity="0" value="0" />
+ <value cell_index="21448" local_entity="0" value="0" />
+ <value cell_index="21449" local_entity="0" value="0" />
+ <value cell_index="21450" local_entity="0" value="0" />
+ <value cell_index="21451" local_entity="0" value="0" />
+ <value cell_index="21452" local_entity="0" value="0" />
+ <value cell_index="21453" local_entity="0" value="0" />
+ <value cell_index="21454" local_entity="0" value="0" />
+ <value cell_index="21455" local_entity="0" value="0" />
+ <value cell_index="21456" local_entity="0" value="0" />
+ <value cell_index="21457" local_entity="0" value="0" />
+ <value cell_index="21458" local_entity="0" value="0" />
+ <value cell_index="21459" local_entity="0" value="0" />
+ <value cell_index="21460" local_entity="0" value="0" />
+ <value cell_index="21461" local_entity="0" value="0" />
+ <value cell_index="21462" local_entity="0" value="0" />
+ <value cell_index="21463" local_entity="0" value="0" />
+ <value cell_index="21464" local_entity="0" value="0" />
+ <value cell_index="21465" local_entity="0" value="0" />
+ <value cell_index="21466" local_entity="0" value="0" />
+ <value cell_index="21467" local_entity="0" value="0" />
+ <value cell_index="21468" local_entity="0" value="0" />
+ <value cell_index="21469" local_entity="0" value="0" />
+ <value cell_index="21470" local_entity="0" value="0" />
+ <value cell_index="21471" local_entity="0" value="0" />
+ <value cell_index="21472" local_entity="0" value="0" />
+ <value cell_index="21473" local_entity="0" value="0" />
+ <value cell_index="21474" local_entity="0" value="0" />
+ <value cell_index="21475" local_entity="0" value="0" />
+ <value cell_index="21476" local_entity="0" value="0" />
+ <value cell_index="21477" local_entity="0" value="0" />
+ <value cell_index="21478" local_entity="0" value="0" />
+ <value cell_index="21479" local_entity="0" value="0" />
+ <value cell_index="21480" local_entity="0" value="0" />
+ <value cell_index="21481" local_entity="0" value="0" />
+ <value cell_index="21482" local_entity="0" value="0" />
+ <value cell_index="21483" local_entity="0" value="0" />
+ <value cell_index="21484" local_entity="0" value="0" />
+ <value cell_index="21485" local_entity="0" value="0" />
+ <value cell_index="21486" local_entity="0" value="0" />
+ <value cell_index="21487" local_entity="0" value="0" />
+ <value cell_index="21488" local_entity="0" value="0" />
+ <value cell_index="21489" local_entity="0" value="0" />
+ <value cell_index="21490" local_entity="0" value="0" />
+ <value cell_index="21491" local_entity="0" value="0" />
+ <value cell_index="21492" local_entity="0" value="0" />
+ <value cell_index="21493" local_entity="0" value="0" />
+ <value cell_index="21494" local_entity="0" value="0" />
+ <value cell_index="21495" local_entity="0" value="0" />
+ <value cell_index="21496" local_entity="0" value="0" />
+ <value cell_index="21497" local_entity="0" value="0" />
+ <value cell_index="21498" local_entity="0" value="0" />
+ <value cell_index="21499" local_entity="0" value="0" />
+ <value cell_index="21500" local_entity="0" value="0" />
+ <value cell_index="21501" local_entity="0" value="0" />
+ <value cell_index="21502" local_entity="0" value="0" />
+ <value cell_index="21503" local_entity="0" value="0" />
+ <value cell_index="21504" local_entity="0" value="0" />
+ <value cell_index="21505" local_entity="0" value="0" />
+ <value cell_index="21506" local_entity="0" value="0" />
+ <value cell_index="21507" local_entity="0" value="0" />
+ <value cell_index="21508" local_entity="0" value="0" />
+ <value cell_index="21509" local_entity="0" value="0" />
+ <value cell_index="21510" local_entity="0" value="0" />
+ <value cell_index="21511" local_entity="0" value="0" />
+ <value cell_index="21512" local_entity="0" value="0" />
+ <value cell_index="21513" local_entity="0" value="0" />
+ <value cell_index="21514" local_entity="0" value="0" />
+ <value cell_index="21515" local_entity="0" value="0" />
+ <value cell_index="21516" local_entity="0" value="0" />
+ <value cell_index="21517" local_entity="0" value="0" />
+ <value cell_index="21518" local_entity="0" value="0" />
+ <value cell_index="21519" local_entity="0" value="0" />
+ <value cell_index="21520" local_entity="0" value="0" />
+ <value cell_index="21521" local_entity="0" value="0" />
+ <value cell_index="21522" local_entity="0" value="0" />
+ <value cell_index="21523" local_entity="0" value="0" />
+ <value cell_index="21524" local_entity="0" value="0" />
+ <value cell_index="21525" local_entity="0" value="0" />
+ <value cell_index="21526" local_entity="0" value="0" />
+ <value cell_index="21527" local_entity="0" value="0" />
+ <value cell_index="21528" local_entity="0" value="0" />
+ <value cell_index="21529" local_entity="0" value="0" />
+ <value cell_index="21530" local_entity="0" value="0" />
+ <value cell_index="21531" local_entity="0" value="0" />
+ <value cell_index="21532" local_entity="0" value="0" />
+ <value cell_index="21533" local_entity="0" value="0" />
+ <value cell_index="21534" local_entity="0" value="0" />
+ <value cell_index="21535" local_entity="0" value="0" />
+ <value cell_index="21536" local_entity="0" value="0" />
+ <value cell_index="21537" local_entity="0" value="0" />
+ <value cell_index="21538" local_entity="0" value="0" />
+ <value cell_index="21539" local_entity="0" value="0" />
+ <value cell_index="21540" local_entity="0" value="0" />
+ <value cell_index="21541" local_entity="0" value="0" />
+ <value cell_index="21542" local_entity="0" value="0" />
+ <value cell_index="21543" local_entity="0" value="0" />
+ <value cell_index="21544" local_entity="0" value="0" />
+ <value cell_index="21545" local_entity="0" value="0" />
+ <value cell_index="21546" local_entity="0" value="0" />
+ <value cell_index="21547" local_entity="0" value="0" />
+ <value cell_index="21548" local_entity="0" value="0" />
+ <value cell_index="21549" local_entity="0" value="0" />
+ <value cell_index="21550" local_entity="0" value="0" />
+ <value cell_index="21551" local_entity="0" value="0" />
+ <value cell_index="21552" local_entity="0" value="0" />
+ <value cell_index="21553" local_entity="0" value="0" />
+ <value cell_index="21554" local_entity="0" value="0" />
+ <value cell_index="21555" local_entity="0" value="0" />
+ <value cell_index="21556" local_entity="0" value="0" />
+ <value cell_index="21557" local_entity="0" value="0" />
+ <value cell_index="21558" local_entity="0" value="0" />
+ <value cell_index="21559" local_entity="0" value="0" />
+ <value cell_index="21560" local_entity="0" value="0" />
+ <value cell_index="21561" local_entity="0" value="0" />
+ <value cell_index="21562" local_entity="0" value="0" />
+ <value cell_index="21563" local_entity="0" value="0" />
+ <value cell_index="21564" local_entity="0" value="0" />
+ <value cell_index="21565" local_entity="0" value="0" />
+ <value cell_index="21566" local_entity="0" value="0" />
+ <value cell_index="21567" local_entity="0" value="0" />
+ <value cell_index="21568" local_entity="0" value="0" />
+ <value cell_index="21569" local_entity="0" value="0" />
+ <value cell_index="21570" local_entity="0" value="0" />
+ <value cell_index="21571" local_entity="0" value="0" />
+ <value cell_index="21572" local_entity="0" value="0" />
+ <value cell_index="21573" local_entity="0" value="0" />
+ <value cell_index="21574" local_entity="0" value="0" />
+ <value cell_index="21575" local_entity="0" value="0" />
+ <value cell_index="21576" local_entity="0" value="0" />
+ <value cell_index="21577" local_entity="0" value="0" />
+ <value cell_index="21578" local_entity="0" value="0" />
+ <value cell_index="21579" local_entity="0" value="0" />
+ <value cell_index="21580" local_entity="0" value="0" />
+ <value cell_index="21581" local_entity="0" value="0" />
+ <value cell_index="21582" local_entity="0" value="0" />
+ <value cell_index="21583" local_entity="0" value="0" />
+ <value cell_index="21584" local_entity="0" value="0" />
+ <value cell_index="21585" local_entity="0" value="0" />
+ <value cell_index="21586" local_entity="0" value="0" />
+ <value cell_index="21587" local_entity="0" value="0" />
+ <value cell_index="21588" local_entity="0" value="0" />
+ <value cell_index="21589" local_entity="0" value="0" />
+ <value cell_index="21590" local_entity="0" value="0" />
+ <value cell_index="21591" local_entity="0" value="0" />
+ <value cell_index="21592" local_entity="0" value="0" />
+ <value cell_index="21593" local_entity="0" value="0" />
+ <value cell_index="21594" local_entity="0" value="0" />
+ <value cell_index="21595" local_entity="0" value="0" />
+ <value cell_index="21596" local_entity="0" value="0" />
+ <value cell_index="21597" local_entity="0" value="0" />
+ <value cell_index="21598" local_entity="0" value="0" />
+ <value cell_index="21599" local_entity="0" value="0" />
+ <value cell_index="21600" local_entity="0" value="0" />
+ <value cell_index="21601" local_entity="0" value="0" />
+ <value cell_index="21602" local_entity="0" value="0" />
+ <value cell_index="21603" local_entity="0" value="0" />
+ <value cell_index="21604" local_entity="0" value="0" />
+ <value cell_index="21605" local_entity="0" value="0" />
+ <value cell_index="21606" local_entity="0" value="0" />
+ <value cell_index="21607" local_entity="0" value="0" />
+ <value cell_index="21608" local_entity="0" value="0" />
+ <value cell_index="21609" local_entity="0" value="0" />
+ <value cell_index="21610" local_entity="0" value="0" />
+ <value cell_index="21611" local_entity="0" value="0" />
+ <value cell_index="21612" local_entity="0" value="0" />
+ <value cell_index="21613" local_entity="0" value="0" />
+ <value cell_index="21614" local_entity="0" value="0" />
+ <value cell_index="21615" local_entity="0" value="0" />
+ <value cell_index="21616" local_entity="0" value="0" />
+ <value cell_index="21617" local_entity="0" value="0" />
+ <value cell_index="21618" local_entity="0" value="0" />
+ <value cell_index="21619" local_entity="0" value="0" />
+ <value cell_index="21620" local_entity="0" value="0" />
+ <value cell_index="21621" local_entity="0" value="0" />
+ <value cell_index="21622" local_entity="0" value="0" />
+ <value cell_index="21623" local_entity="0" value="0" />
+ <value cell_index="21624" local_entity="0" value="0" />
+ <value cell_index="21625" local_entity="0" value="0" />
+ <value cell_index="21626" local_entity="0" value="0" />
+ <value cell_index="21627" local_entity="0" value="0" />
+ <value cell_index="21628" local_entity="0" value="0" />
+ <value cell_index="21629" local_entity="0" value="0" />
+ <value cell_index="21630" local_entity="0" value="0" />
+ <value cell_index="21631" local_entity="0" value="0" />
+ <value cell_index="21632" local_entity="0" value="0" />
+ <value cell_index="21633" local_entity="0" value="0" />
+ <value cell_index="21634" local_entity="0" value="0" />
+ <value cell_index="21635" local_entity="0" value="0" />
+ <value cell_index="21636" local_entity="0" value="0" />
+ <value cell_index="21637" local_entity="0" value="0" />
+ <value cell_index="21638" local_entity="0" value="0" />
+ <value cell_index="21639" local_entity="0" value="0" />
+ <value cell_index="21640" local_entity="0" value="0" />
+ <value cell_index="21641" local_entity="0" value="0" />
+ <value cell_index="21642" local_entity="0" value="0" />
+ <value cell_index="21643" local_entity="0" value="0" />
+ <value cell_index="21644" local_entity="0" value="0" />
+ <value cell_index="21645" local_entity="0" value="0" />
+ <value cell_index="21646" local_entity="0" value="0" />
+ <value cell_index="21647" local_entity="0" value="0" />
+ <value cell_index="21648" local_entity="0" value="0" />
+ <value cell_index="21649" local_entity="0" value="0" />
+ <value cell_index="21650" local_entity="0" value="0" />
+ <value cell_index="21651" local_entity="0" value="0" />
+ <value cell_index="21652" local_entity="0" value="0" />
+ <value cell_index="21653" local_entity="0" value="0" />
+ <value cell_index="21654" local_entity="0" value="0" />
+ <value cell_index="21655" local_entity="0" value="0" />
+ <value cell_index="21656" local_entity="0" value="0" />
+ <value cell_index="21657" local_entity="0" value="0" />
+ <value cell_index="21658" local_entity="0" value="0" />
+ <value cell_index="21659" local_entity="0" value="0" />
+ <value cell_index="21660" local_entity="0" value="0" />
+ <value cell_index="21661" local_entity="0" value="0" />
+ <value cell_index="21662" local_entity="0" value="0" />
+ <value cell_index="21663" local_entity="0" value="0" />
+ <value cell_index="21664" local_entity="0" value="0" />
+ <value cell_index="21665" local_entity="0" value="0" />
+ <value cell_index="21666" local_entity="0" value="0" />
+ <value cell_index="21667" local_entity="0" value="0" />
+ <value cell_index="21668" local_entity="0" value="0" />
+ <value cell_index="21669" local_entity="0" value="0" />
+ <value cell_index="21670" local_entity="0" value="0" />
+ <value cell_index="21671" local_entity="0" value="0" />
+ <value cell_index="21672" local_entity="0" value="0" />
+ <value cell_index="21673" local_entity="0" value="0" />
+ <value cell_index="21674" local_entity="0" value="0" />
+ <value cell_index="21675" local_entity="0" value="0" />
+ <value cell_index="21676" local_entity="0" value="0" />
+ <value cell_index="21677" local_entity="0" value="0" />
+ <value cell_index="21678" local_entity="0" value="0" />
+ <value cell_index="21679" local_entity="0" value="0" />
+ <value cell_index="21680" local_entity="0" value="0" />
+ <value cell_index="21681" local_entity="0" value="0" />
+ <value cell_index="21682" local_entity="0" value="0" />
+ <value cell_index="21683" local_entity="0" value="0" />
+ <value cell_index="21684" local_entity="0" value="0" />
+ <value cell_index="21685" local_entity="0" value="0" />
+ <value cell_index="21686" local_entity="0" value="0" />
+ <value cell_index="21687" local_entity="0" value="0" />
+ <value cell_index="21688" local_entity="0" value="0" />
+ <value cell_index="21689" local_entity="0" value="0" />
+ <value cell_index="21690" local_entity="0" value="0" />
+ <value cell_index="21691" local_entity="0" value="0" />
+ <value cell_index="21692" local_entity="0" value="0" />
+ <value cell_index="21693" local_entity="0" value="0" />
+ <value cell_index="21694" local_entity="0" value="0" />
+ <value cell_index="21695" local_entity="0" value="0" />
+ <value cell_index="21696" local_entity="0" value="0" />
+ <value cell_index="21697" local_entity="0" value="0" />
+ <value cell_index="21698" local_entity="0" value="0" />
+ <value cell_index="21699" local_entity="0" value="0" />
+ <value cell_index="21700" local_entity="0" value="0" />
+ <value cell_index="21701" local_entity="0" value="0" />
+ <value cell_index="21702" local_entity="0" value="0" />
+ <value cell_index="21703" local_entity="0" value="0" />
+ <value cell_index="21704" local_entity="0" value="0" />
+ <value cell_index="21705" local_entity="0" value="0" />
+ <value cell_index="21706" local_entity="0" value="0" />
+ <value cell_index="21707" local_entity="0" value="0" />
+ <value cell_index="21708" local_entity="0" value="0" />
+ <value cell_index="21709" local_entity="0" value="0" />
+ <value cell_index="21710" local_entity="0" value="0" />
+ <value cell_index="21711" local_entity="0" value="0" />
+ <value cell_index="21712" local_entity="0" value="0" />
+ <value cell_index="21713" local_entity="0" value="0" />
+ <value cell_index="21714" local_entity="0" value="0" />
+ <value cell_index="21715" local_entity="0" value="0" />
+ <value cell_index="21716" local_entity="0" value="0" />
+ <value cell_index="21717" local_entity="0" value="0" />
+ <value cell_index="21718" local_entity="0" value="0" />
+ <value cell_index="21719" local_entity="0" value="0" />
+ <value cell_index="21720" local_entity="0" value="0" />
+ <value cell_index="21721" local_entity="0" value="0" />
+ <value cell_index="21722" local_entity="0" value="0" />
+ <value cell_index="21723" local_entity="0" value="0" />
+ <value cell_index="21724" local_entity="0" value="0" />
+ <value cell_index="21725" local_entity="0" value="0" />
+ <value cell_index="21726" local_entity="0" value="0" />
+ <value cell_index="21727" local_entity="0" value="0" />
+ <value cell_index="21728" local_entity="0" value="0" />
+ <value cell_index="21729" local_entity="0" value="0" />
+ <value cell_index="21730" local_entity="0" value="0" />
+ <value cell_index="21731" local_entity="0" value="0" />
+ <value cell_index="21732" local_entity="0" value="0" />
+ <value cell_index="21733" local_entity="0" value="0" />
+ <value cell_index="21734" local_entity="0" value="0" />
+ <value cell_index="21735" local_entity="0" value="0" />
+ <value cell_index="21736" local_entity="0" value="0" />
+ <value cell_index="21737" local_entity="0" value="0" />
+ <value cell_index="21738" local_entity="0" value="0" />
+ <value cell_index="21739" local_entity="0" value="0" />
+ <value cell_index="21740" local_entity="0" value="0" />
+ <value cell_index="21741" local_entity="0" value="0" />
+ <value cell_index="21742" local_entity="0" value="0" />
+ <value cell_index="21743" local_entity="0" value="0" />
+ <value cell_index="21744" local_entity="0" value="0" />
+ <value cell_index="21745" local_entity="0" value="0" />
+ <value cell_index="21746" local_entity="0" value="0" />
+ <value cell_index="21747" local_entity="0" value="0" />
+ <value cell_index="21748" local_entity="0" value="0" />
+ <value cell_index="21749" local_entity="0" value="0" />
+ <value cell_index="21750" local_entity="0" value="0" />
+ <value cell_index="21751" local_entity="0" value="0" />
+ <value cell_index="21752" local_entity="0" value="0" />
+ <value cell_index="21753" local_entity="0" value="0" />
+ <value cell_index="21754" local_entity="0" value="0" />
+ <value cell_index="21755" local_entity="0" value="0" />
+ <value cell_index="21756" local_entity="0" value="0" />
+ <value cell_index="21757" local_entity="0" value="0" />
+ <value cell_index="21758" local_entity="0" value="0" />
+ <value cell_index="21759" local_entity="0" value="0" />
+ <value cell_index="21760" local_entity="0" value="0" />
+ <value cell_index="21761" local_entity="0" value="0" />
+ <value cell_index="21762" local_entity="0" value="0" />
+ <value cell_index="21763" local_entity="0" value="0" />
+ <value cell_index="21764" local_entity="0" value="0" />
+ <value cell_index="21765" local_entity="0" value="0" />
+ <value cell_index="21766" local_entity="0" value="0" />
+ <value cell_index="21767" local_entity="0" value="0" />
+ <value cell_index="21768" local_entity="0" value="0" />
+ <value cell_index="21769" local_entity="0" value="0" />
+ <value cell_index="21770" local_entity="0" value="0" />
+ <value cell_index="21771" local_entity="0" value="0" />
+ <value cell_index="21772" local_entity="0" value="0" />
+ <value cell_index="21773" local_entity="0" value="0" />
+ <value cell_index="21774" local_entity="0" value="0" />
+ <value cell_index="21775" local_entity="0" value="0" />
+ <value cell_index="21776" local_entity="0" value="0" />
+ <value cell_index="21777" local_entity="0" value="0" />
+ <value cell_index="21778" local_entity="0" value="0" />
+ <value cell_index="21779" local_entity="0" value="0" />
+ <value cell_index="21780" local_entity="0" value="0" />
+ <value cell_index="21781" local_entity="0" value="0" />
+ <value cell_index="21782" local_entity="0" value="0" />
+ <value cell_index="21783" local_entity="0" value="0" />
+ <value cell_index="21784" local_entity="0" value="0" />
+ <value cell_index="21785" local_entity="0" value="0" />
+ <value cell_index="21786" local_entity="0" value="0" />
+ <value cell_index="21787" local_entity="0" value="0" />
+ <value cell_index="21788" local_entity="0" value="0" />
+ <value cell_index="21789" local_entity="0" value="0" />
+ <value cell_index="21790" local_entity="0" value="0" />
+ <value cell_index="21791" local_entity="0" value="0" />
+ <value cell_index="21792" local_entity="0" value="0" />
+ <value cell_index="21793" local_entity="0" value="0" />
+ <value cell_index="21794" local_entity="0" value="0" />
+ <value cell_index="21795" local_entity="0" value="0" />
+ <value cell_index="21796" local_entity="0" value="0" />
+ <value cell_index="21797" local_entity="0" value="0" />
+ <value cell_index="21798" local_entity="0" value="0" />
+ <value cell_index="21799" local_entity="0" value="0" />
+ <value cell_index="21800" local_entity="0" value="0" />
+ <value cell_index="21801" local_entity="0" value="0" />
+ <value cell_index="21802" local_entity="0" value="0" />
+ <value cell_index="21803" local_entity="0" value="0" />
+ <value cell_index="21804" local_entity="0" value="0" />
+ <value cell_index="21805" local_entity="0" value="0" />
+ <value cell_index="21806" local_entity="0" value="0" />
+ <value cell_index="21807" local_entity="0" value="0" />
+ <value cell_index="21808" local_entity="0" value="0" />
+ <value cell_index="21809" local_entity="0" value="0" />
+ <value cell_index="21810" local_entity="0" value="0" />
+ <value cell_index="21811" local_entity="0" value="0" />
+ <value cell_index="21812" local_entity="0" value="0" />
+ <value cell_index="21813" local_entity="0" value="0" />
+ <value cell_index="21814" local_entity="0" value="0" />
+ <value cell_index="21815" local_entity="0" value="0" />
+ <value cell_index="21816" local_entity="0" value="0" />
+ <value cell_index="21817" local_entity="0" value="0" />
+ <value cell_index="21818" local_entity="0" value="0" />
+ <value cell_index="21819" local_entity="0" value="0" />
+ <value cell_index="21820" local_entity="0" value="0" />
+ <value cell_index="21821" local_entity="0" value="0" />
+ <value cell_index="21822" local_entity="0" value="0" />
+ <value cell_index="21823" local_entity="0" value="0" />
+ <value cell_index="21824" local_entity="0" value="0" />
+ <value cell_index="21825" local_entity="0" value="0" />
+ <value cell_index="21826" local_entity="0" value="0" />
+ <value cell_index="21827" local_entity="0" value="0" />
+ <value cell_index="21828" local_entity="0" value="0" />
+ <value cell_index="21829" local_entity="0" value="0" />
+ <value cell_index="21830" local_entity="0" value="0" />
+ <value cell_index="21831" local_entity="0" value="0" />
+ <value cell_index="21832" local_entity="0" value="0" />
+ <value cell_index="21833" local_entity="0" value="0" />
+ <value cell_index="21834" local_entity="0" value="0" />
+ <value cell_index="21835" local_entity="0" value="0" />
+ <value cell_index="21836" local_entity="0" value="0" />
+ <value cell_index="21837" local_entity="0" value="0" />
+ <value cell_index="21838" local_entity="0" value="0" />
+ <value cell_index="21839" local_entity="0" value="0" />
+ <value cell_index="21840" local_entity="0" value="0" />
+ <value cell_index="21841" local_entity="0" value="0" />
+ <value cell_index="21842" local_entity="0" value="0" />
+ <value cell_index="21843" local_entity="0" value="0" />
+ <value cell_index="21844" local_entity="0" value="0" />
+ <value cell_index="21845" local_entity="0" value="0" />
+ <value cell_index="21846" local_entity="0" value="0" />
+ <value cell_index="21847" local_entity="0" value="0" />
+ <value cell_index="21848" local_entity="0" value="0" />
+ <value cell_index="21849" local_entity="0" value="0" />
+ <value cell_index="21850" local_entity="0" value="0" />
+ <value cell_index="21851" local_entity="0" value="0" />
+ <value cell_index="21852" local_entity="0" value="0" />
+ <value cell_index="21853" local_entity="0" value="0" />
+ <value cell_index="21854" local_entity="0" value="0" />
+ <value cell_index="21855" local_entity="0" value="0" />
+ <value cell_index="21856" local_entity="0" value="0" />
+ <value cell_index="21857" local_entity="0" value="0" />
+ <value cell_index="21858" local_entity="0" value="0" />
+ <value cell_index="21859" local_entity="0" value="0" />
+ <value cell_index="21860" local_entity="0" value="0" />
+ <value cell_index="21861" local_entity="0" value="0" />
+ <value cell_index="21862" local_entity="0" value="0" />
+ <value cell_index="21863" local_entity="0" value="0" />
+ <value cell_index="21864" local_entity="0" value="0" />
+ <value cell_index="21865" local_entity="0" value="0" />
+ <value cell_index="21866" local_entity="0" value="0" />
+ <value cell_index="21867" local_entity="0" value="0" />
+ <value cell_index="21868" local_entity="0" value="0" />
+ <value cell_index="21869" local_entity="0" value="0" />
+ <value cell_index="21870" local_entity="0" value="0" />
+ <value cell_index="21871" local_entity="0" value="0" />
+ <value cell_index="21872" local_entity="0" value="0" />
+ <value cell_index="21873" local_entity="0" value="0" />
+ <value cell_index="21874" local_entity="0" value="0" />
+ <value cell_index="21875" local_entity="0" value="0" />
+ <value cell_index="21876" local_entity="0" value="0" />
+ <value cell_index="21877" local_entity="0" value="0" />
+ <value cell_index="21878" local_entity="0" value="0" />
+ <value cell_index="21879" local_entity="0" value="0" />
+ <value cell_index="21880" local_entity="0" value="0" />
+ <value cell_index="21881" local_entity="0" value="0" />
+ <value cell_index="21882" local_entity="0" value="0" />
+ <value cell_index="21883" local_entity="0" value="0" />
+ <value cell_index="21884" local_entity="0" value="0" />
+ <value cell_index="21885" local_entity="0" value="0" />
+ <value cell_index="21886" local_entity="0" value="0" />
+ <value cell_index="21887" local_entity="0" value="0" />
+ <value cell_index="21888" local_entity="0" value="0" />
+ <value cell_index="21889" local_entity="0" value="0" />
+ <value cell_index="21890" local_entity="0" value="0" />
+ <value cell_index="21891" local_entity="0" value="0" />
+ <value cell_index="21892" local_entity="0" value="0" />
+ <value cell_index="21893" local_entity="0" value="0" />
+ <value cell_index="21894" local_entity="0" value="0" />
+ <value cell_index="21895" local_entity="0" value="0" />
+ <value cell_index="21896" local_entity="0" value="0" />
+ <value cell_index="21897" local_entity="0" value="0" />
+ <value cell_index="21898" local_entity="0" value="0" />
+ <value cell_index="21899" local_entity="0" value="0" />
+ <value cell_index="21900" local_entity="0" value="0" />
+ <value cell_index="21901" local_entity="0" value="0" />
+ <value cell_index="21902" local_entity="0" value="0" />
+ <value cell_index="21903" local_entity="0" value="0" />
+ <value cell_index="21904" local_entity="0" value="0" />
+ <value cell_index="21905" local_entity="0" value="0" />
+ <value cell_index="21906" local_entity="0" value="0" />
+ <value cell_index="21907" local_entity="0" value="0" />
+ <value cell_index="21908" local_entity="0" value="0" />
+ <value cell_index="21909" local_entity="0" value="0" />
+ <value cell_index="21910" local_entity="0" value="0" />
+ <value cell_index="21911" local_entity="0" value="0" />
+ <value cell_index="21912" local_entity="0" value="0" />
+ <value cell_index="21913" local_entity="0" value="0" />
+ <value cell_index="21914" local_entity="0" value="0" />
+ <value cell_index="21915" local_entity="0" value="0" />
+ <value cell_index="21916" local_entity="0" value="0" />
+ <value cell_index="21917" local_entity="0" value="0" />
+ <value cell_index="21918" local_entity="0" value="0" />
+ <value cell_index="21919" local_entity="0" value="0" />
+ <value cell_index="21920" local_entity="0" value="0" />
+ <value cell_index="21921" local_entity="0" value="0" />
+ <value cell_index="21922" local_entity="0" value="0" />
+ <value cell_index="21923" local_entity="0" value="0" />
+ <value cell_index="21924" local_entity="0" value="0" />
+ <value cell_index="21925" local_entity="0" value="0" />
+ <value cell_index="21926" local_entity="0" value="0" />
+ <value cell_index="21927" local_entity="0" value="0" />
+ <value cell_index="21928" local_entity="0" value="0" />
+ <value cell_index="21929" local_entity="0" value="0" />
+ <value cell_index="21930" local_entity="0" value="0" />
+ <value cell_index="21931" local_entity="0" value="0" />
+ <value cell_index="21932" local_entity="0" value="0" />
+ <value cell_index="21933" local_entity="0" value="0" />
+ <value cell_index="21934" local_entity="0" value="0" />
+ <value cell_index="21935" local_entity="0" value="0" />
+ <value cell_index="21936" local_entity="0" value="0" />
+ <value cell_index="21937" local_entity="0" value="0" />
+ <value cell_index="21938" local_entity="0" value="0" />
+ <value cell_index="21939" local_entity="0" value="0" />
+ <value cell_index="21940" local_entity="0" value="0" />
+ <value cell_index="21941" local_entity="0" value="0" />
+ <value cell_index="21942" local_entity="0" value="0" />
+ <value cell_index="21943" local_entity="0" value="0" />
+ <value cell_index="21944" local_entity="0" value="0" />
+ <value cell_index="21945" local_entity="0" value="0" />
+ <value cell_index="21946" local_entity="0" value="0" />
+ <value cell_index="21947" local_entity="0" value="0" />
+ <value cell_index="21948" local_entity="0" value="0" />
+ <value cell_index="21949" local_entity="0" value="0" />
+ <value cell_index="21950" local_entity="0" value="0" />
+ <value cell_index="21951" local_entity="0" value="0" />
+ <value cell_index="21952" local_entity="0" value="0" />
+ <value cell_index="21953" local_entity="0" value="0" />
+ <value cell_index="21954" local_entity="0" value="0" />
+ <value cell_index="21955" local_entity="0" value="0" />
+ <value cell_index="21956" local_entity="0" value="0" />
+ <value cell_index="21957" local_entity="0" value="0" />
+ <value cell_index="21958" local_entity="0" value="0" />
+ <value cell_index="21959" local_entity="0" value="0" />
+ <value cell_index="21960" local_entity="0" value="0" />
+ <value cell_index="21961" local_entity="0" value="0" />
+ <value cell_index="21962" local_entity="0" value="0" />
+ <value cell_index="21963" local_entity="0" value="0" />
+ <value cell_index="21964" local_entity="0" value="0" />
+ <value cell_index="21965" local_entity="0" value="0" />
+ <value cell_index="21966" local_entity="0" value="0" />
+ <value cell_index="21967" local_entity="0" value="0" />
+ <value cell_index="21968" local_entity="0" value="0" />
+ <value cell_index="21969" local_entity="0" value="0" />
+ <value cell_index="21970" local_entity="0" value="0" />
+ <value cell_index="21971" local_entity="0" value="0" />
+ <value cell_index="21972" local_entity="0" value="0" />
+ <value cell_index="21973" local_entity="0" value="0" />
+ <value cell_index="21974" local_entity="0" value="0" />
+ <value cell_index="21975" local_entity="0" value="0" />
+ <value cell_index="21976" local_entity="0" value="0" />
+ <value cell_index="21977" local_entity="0" value="0" />
+ <value cell_index="21978" local_entity="0" value="0" />
+ <value cell_index="21979" local_entity="0" value="0" />
+ <value cell_index="21980" local_entity="0" value="0" />
+ <value cell_index="21981" local_entity="0" value="0" />
+ <value cell_index="21982" local_entity="0" value="0" />
+ <value cell_index="21983" local_entity="0" value="0" />
+ <value cell_index="21984" local_entity="0" value="0" />
+ <value cell_index="21985" local_entity="0" value="0" />
+ <value cell_index="21986" local_entity="0" value="0" />
+ <value cell_index="21987" local_entity="0" value="0" />
+ <value cell_index="21988" local_entity="0" value="0" />
+ <value cell_index="21989" local_entity="0" value="0" />
+ <value cell_index="21990" local_entity="0" value="0" />
+ <value cell_index="21991" local_entity="0" value="0" />
+ <value cell_index="21992" local_entity="0" value="0" />
+ <value cell_index="21993" local_entity="0" value="0" />
+ <value cell_index="21994" local_entity="0" value="0" />
+ <value cell_index="21995" local_entity="0" value="0" />
+ <value cell_index="21996" local_entity="0" value="0" />
+ <value cell_index="21997" local_entity="0" value="0" />
+ <value cell_index="21998" local_entity="0" value="0" />
+ <value cell_index="21999" local_entity="0" value="0" />
+ <value cell_index="22000" local_entity="0" value="0" />
+ <value cell_index="22001" local_entity="0" value="0" />
+ <value cell_index="22002" local_entity="0" value="0" />
+ <value cell_index="22003" local_entity="0" value="0" />
+ <value cell_index="22004" local_entity="0" value="0" />
+ <value cell_index="22005" local_entity="0" value="0" />
+ <value cell_index="22006" local_entity="0" value="0" />
+ <value cell_index="22007" local_entity="0" value="0" />
+ <value cell_index="22008" local_entity="0" value="0" />
+ <value cell_index="22009" local_entity="0" value="0" />
+ <value cell_index="22010" local_entity="0" value="0" />
+ <value cell_index="22011" local_entity="0" value="0" />
+ <value cell_index="22012" local_entity="0" value="0" />
+ <value cell_index="22013" local_entity="0" value="0" />
+ <value cell_index="22014" local_entity="0" value="0" />
+ <value cell_index="22015" local_entity="0" value="0" />
+ <value cell_index="22016" local_entity="0" value="0" />
+ <value cell_index="22017" local_entity="0" value="0" />
+ <value cell_index="22018" local_entity="0" value="0" />
+ <value cell_index="22019" local_entity="0" value="0" />
+ <value cell_index="22020" local_entity="0" value="0" />
+ <value cell_index="22021" local_entity="0" value="0" />
+ <value cell_index="22022" local_entity="0" value="0" />
+ <value cell_index="22023" local_entity="0" value="0" />
+ <value cell_index="22024" local_entity="0" value="0" />
+ <value cell_index="22025" local_entity="0" value="0" />
+ <value cell_index="22026" local_entity="0" value="0" />
+ <value cell_index="22027" local_entity="0" value="0" />
+ <value cell_index="22028" local_entity="0" value="0" />
+ <value cell_index="22029" local_entity="0" value="0" />
+ <value cell_index="22030" local_entity="0" value="0" />
+ <value cell_index="22031" local_entity="0" value="0" />
+ <value cell_index="22032" local_entity="0" value="0" />
+ <value cell_index="22033" local_entity="0" value="0" />
+ <value cell_index="22034" local_entity="0" value="0" />
+ <value cell_index="22035" local_entity="0" value="0" />
+ <value cell_index="22036" local_entity="0" value="0" />
+ <value cell_index="22037" local_entity="0" value="0" />
+ <value cell_index="22038" local_entity="0" value="0" />
+ <value cell_index="22039" local_entity="0" value="0" />
+ <value cell_index="22040" local_entity="0" value="0" />
+ <value cell_index="22041" local_entity="0" value="0" />
+ <value cell_index="22042" local_entity="0" value="0" />
+ <value cell_index="22043" local_entity="0" value="0" />
+ <value cell_index="22044" local_entity="0" value="0" />
+ <value cell_index="22045" local_entity="0" value="0" />
+ <value cell_index="22046" local_entity="0" value="0" />
+ <value cell_index="22047" local_entity="0" value="0" />
+ <value cell_index="22048" local_entity="0" value="0" />
+ <value cell_index="22049" local_entity="0" value="0" />
+ <value cell_index="22050" local_entity="0" value="0" />
+ <value cell_index="22051" local_entity="0" value="0" />
+ <value cell_index="22052" local_entity="0" value="0" />
+ <value cell_index="22053" local_entity="0" value="0" />
+ <value cell_index="22054" local_entity="0" value="0" />
+ <value cell_index="22055" local_entity="0" value="0" />
+ <value cell_index="22056" local_entity="0" value="0" />
+ <value cell_index="22057" local_entity="0" value="0" />
+ <value cell_index="22058" local_entity="0" value="0" />
+ <value cell_index="22059" local_entity="0" value="0" />
+ <value cell_index="22060" local_entity="0" value="0" />
+ <value cell_index="22061" local_entity="0" value="0" />
+ <value cell_index="22062" local_entity="0" value="0" />
+ <value cell_index="22063" local_entity="0" value="0" />
+ <value cell_index="22064" local_entity="0" value="0" />
+ <value cell_index="22065" local_entity="0" value="0" />
+ <value cell_index="22066" local_entity="0" value="0" />
+ <value cell_index="22067" local_entity="0" value="0" />
+ <value cell_index="22068" local_entity="0" value="0" />
+ <value cell_index="22069" local_entity="0" value="0" />
+ <value cell_index="22070" local_entity="0" value="0" />
+ <value cell_index="22071" local_entity="0" value="0" />
+ <value cell_index="22072" local_entity="0" value="0" />
+ <value cell_index="22073" local_entity="0" value="0" />
+ <value cell_index="22074" local_entity="0" value="0" />
+ <value cell_index="22075" local_entity="0" value="0" />
+ <value cell_index="22076" local_entity="0" value="0" />
+ <value cell_index="22077" local_entity="0" value="0" />
+ <value cell_index="22078" local_entity="0" value="0" />
+ <value cell_index="22079" local_entity="0" value="0" />
+ <value cell_index="22080" local_entity="0" value="0" />
+ <value cell_index="22081" local_entity="0" value="0" />
+ <value cell_index="22082" local_entity="0" value="0" />
+ <value cell_index="22083" local_entity="0" value="0" />
+ <value cell_index="22084" local_entity="0" value="0" />
+ <value cell_index="22085" local_entity="0" value="0" />
+ <value cell_index="22086" local_entity="0" value="0" />
+ <value cell_index="22087" local_entity="0" value="0" />
+ <value cell_index="22088" local_entity="0" value="0" />
+ <value cell_index="22089" local_entity="0" value="0" />
+ <value cell_index="22090" local_entity="0" value="0" />
+ <value cell_index="22091" local_entity="0" value="0" />
+ <value cell_index="22092" local_entity="0" value="0" />
+ <value cell_index="22093" local_entity="0" value="0" />
+ <value cell_index="22094" local_entity="0" value="0" />
+ <value cell_index="22095" local_entity="0" value="0" />
+ <value cell_index="22096" local_entity="0" value="0" />
+ <value cell_index="22097" local_entity="0" value="0" />
+ <value cell_index="22098" local_entity="0" value="0" />
+ <value cell_index="22099" local_entity="0" value="0" />
+ <value cell_index="22100" local_entity="0" value="0" />
+ <value cell_index="22101" local_entity="0" value="0" />
+ <value cell_index="22102" local_entity="0" value="0" />
+ <value cell_index="22103" local_entity="0" value="0" />
+ <value cell_index="22104" local_entity="0" value="0" />
+ <value cell_index="22105" local_entity="0" value="0" />
+ <value cell_index="22106" local_entity="0" value="0" />
+ <value cell_index="22107" local_entity="0" value="0" />
+ <value cell_index="22108" local_entity="0" value="0" />
+ <value cell_index="22109" local_entity="0" value="0" />
+ <value cell_index="22110" local_entity="0" value="0" />
+ <value cell_index="22111" local_entity="0" value="0" />
+ <value cell_index="22112" local_entity="0" value="0" />
+ <value cell_index="22113" local_entity="0" value="0" />
+ <value cell_index="22114" local_entity="0" value="0" />
+ <value cell_index="22115" local_entity="0" value="0" />
+ <value cell_index="22116" local_entity="0" value="0" />
+ <value cell_index="22117" local_entity="0" value="0" />
+ <value cell_index="22118" local_entity="0" value="0" />
+ <value cell_index="22119" local_entity="0" value="0" />
+ <value cell_index="22120" local_entity="0" value="0" />
+ <value cell_index="22121" local_entity="0" value="0" />
+ <value cell_index="22122" local_entity="0" value="0" />
+ <value cell_index="22123" local_entity="0" value="0" />
+ <value cell_index="22124" local_entity="0" value="0" />
+ <value cell_index="22125" local_entity="0" value="0" />
+ <value cell_index="22126" local_entity="0" value="0" />
+ <value cell_index="22127" local_entity="0" value="0" />
+ <value cell_index="22128" local_entity="0" value="0" />
+ <value cell_index="22129" local_entity="0" value="0" />
+ <value cell_index="22130" local_entity="0" value="0" />
+ <value cell_index="22131" local_entity="0" value="0" />
+ <value cell_index="22132" local_entity="0" value="0" />
+ <value cell_index="22133" local_entity="0" value="0" />
+ <value cell_index="22134" local_entity="0" value="0" />
+ <value cell_index="22135" local_entity="0" value="0" />
+ <value cell_index="22136" local_entity="0" value="0" />
+ <value cell_index="22137" local_entity="0" value="0" />
+ <value cell_index="22138" local_entity="0" value="0" />
+ <value cell_index="22139" local_entity="0" value="0" />
+ <value cell_index="22140" local_entity="0" value="0" />
+ <value cell_index="22141" local_entity="0" value="0" />
+ <value cell_index="22142" local_entity="0" value="0" />
+ <value cell_index="22143" local_entity="0" value="0" />
+ <value cell_index="22144" local_entity="0" value="0" />
+ <value cell_index="22145" local_entity="0" value="0" />
+ <value cell_index="22146" local_entity="0" value="0" />
+ <value cell_index="22147" local_entity="0" value="0" />
+ <value cell_index="22148" local_entity="0" value="0" />
+ <value cell_index="22149" local_entity="0" value="0" />
+ <value cell_index="22150" local_entity="0" value="0" />
+ <value cell_index="22151" local_entity="0" value="0" />
+ <value cell_index="22152" local_entity="0" value="0" />
+ <value cell_index="22153" local_entity="0" value="0" />
+ <value cell_index="22154" local_entity="0" value="0" />
+ <value cell_index="22155" local_entity="0" value="0" />
+ <value cell_index="22156" local_entity="0" value="0" />
+ <value cell_index="22157" local_entity="0" value="0" />
+ <value cell_index="22158" local_entity="0" value="0" />
+ <value cell_index="22159" local_entity="0" value="0" />
+ <value cell_index="22160" local_entity="0" value="0" />
+ <value cell_index="22161" local_entity="0" value="0" />
+ <value cell_index="22162" local_entity="0" value="0" />
+ <value cell_index="22163" local_entity="0" value="0" />
+ <value cell_index="22164" local_entity="0" value="0" />
+ <value cell_index="22165" local_entity="0" value="0" />
+ <value cell_index="22166" local_entity="0" value="0" />
+ <value cell_index="22167" local_entity="0" value="0" />
+ <value cell_index="22168" local_entity="0" value="0" />
+ <value cell_index="22169" local_entity="0" value="0" />
+ <value cell_index="22170" local_entity="0" value="0" />
+ <value cell_index="22171" local_entity="0" value="0" />
+ <value cell_index="22172" local_entity="0" value="0" />
+ <value cell_index="22173" local_entity="0" value="0" />
+ <value cell_index="22174" local_entity="0" value="0" />
+ <value cell_index="22175" local_entity="0" value="0" />
+ <value cell_index="22176" local_entity="0" value="0" />
+ <value cell_index="22177" local_entity="0" value="0" />
+ <value cell_index="22178" local_entity="0" value="0" />
+ <value cell_index="22179" local_entity="0" value="0" />
+ <value cell_index="22180" local_entity="0" value="0" />
+ <value cell_index="22181" local_entity="0" value="0" />
+ <value cell_index="22182" local_entity="0" value="0" />
+ <value cell_index="22183" local_entity="0" value="0" />
+ <value cell_index="22184" local_entity="0" value="0" />
+ <value cell_index="22185" local_entity="0" value="0" />
+ <value cell_index="22186" local_entity="0" value="0" />
+ <value cell_index="22187" local_entity="0" value="0" />
+ <value cell_index="22188" local_entity="0" value="0" />
+ <value cell_index="22189" local_entity="0" value="0" />
+ <value cell_index="22190" local_entity="0" value="0" />
+ <value cell_index="22191" local_entity="0" value="0" />
+ <value cell_index="22192" local_entity="0" value="0" />
+ <value cell_index="22193" local_entity="0" value="0" />
+ <value cell_index="22194" local_entity="0" value="0" />
+ <value cell_index="22195" local_entity="0" value="0" />
+ <value cell_index="22196" local_entity="0" value="0" />
+ <value cell_index="22197" local_entity="0" value="0" />
+ <value cell_index="22198" local_entity="0" value="0" />
+ <value cell_index="22199" local_entity="0" value="0" />
+ <value cell_index="22200" local_entity="0" value="0" />
+ <value cell_index="22201" local_entity="0" value="0" />
+ <value cell_index="22202" local_entity="0" value="0" />
+ <value cell_index="22203" local_entity="0" value="0" />
+ <value cell_index="22204" local_entity="0" value="0" />
+ <value cell_index="22205" local_entity="0" value="0" />
+ <value cell_index="22206" local_entity="0" value="0" />
+ <value cell_index="22207" local_entity="0" value="0" />
+ <value cell_index="22208" local_entity="0" value="0" />
+ <value cell_index="22209" local_entity="0" value="0" />
+ <value cell_index="22210" local_entity="0" value="0" />
+ <value cell_index="22211" local_entity="0" value="0" />
+ <value cell_index="22212" local_entity="0" value="0" />
+ <value cell_index="22213" local_entity="0" value="0" />
+ <value cell_index="22214" local_entity="0" value="0" />
+ <value cell_index="22215" local_entity="0" value="0" />
+ <value cell_index="22216" local_entity="0" value="0" />
+ <value cell_index="22217" local_entity="0" value="0" />
+ <value cell_index="22218" local_entity="0" value="0" />
+ <value cell_index="22219" local_entity="0" value="0" />
+ <value cell_index="22220" local_entity="0" value="0" />
+ <value cell_index="22221" local_entity="0" value="0" />
+ <value cell_index="22222" local_entity="0" value="0" />
+ <value cell_index="22223" local_entity="0" value="0" />
+ <value cell_index="22224" local_entity="0" value="0" />
+ <value cell_index="22225" local_entity="0" value="0" />
+ <value cell_index="22226" local_entity="0" value="0" />
+ <value cell_index="22227" local_entity="0" value="0" />
+ <value cell_index="22228" local_entity="0" value="0" />
+ <value cell_index="22229" local_entity="0" value="0" />
+ <value cell_index="22230" local_entity="0" value="0" />
+ <value cell_index="22231" local_entity="0" value="0" />
+ <value cell_index="22232" local_entity="0" value="0" />
+ <value cell_index="22233" local_entity="0" value="0" />
+ <value cell_index="22234" local_entity="0" value="0" />
+ <value cell_index="22235" local_entity="0" value="0" />
+ <value cell_index="22236" local_entity="0" value="0" />
+ <value cell_index="22237" local_entity="0" value="0" />
+ <value cell_index="22238" local_entity="0" value="0" />
+ <value cell_index="22239" local_entity="0" value="0" />
+ <value cell_index="22240" local_entity="0" value="0" />
+ <value cell_index="22241" local_entity="0" value="0" />
+ <value cell_index="22242" local_entity="0" value="0" />
+ <value cell_index="22243" local_entity="0" value="0" />
+ <value cell_index="22244" local_entity="0" value="0" />
+ <value cell_index="22245" local_entity="0" value="0" />
+ <value cell_index="22246" local_entity="0" value="0" />
+ <value cell_index="22247" local_entity="0" value="0" />
+ <value cell_index="22248" local_entity="0" value="0" />
+ <value cell_index="22249" local_entity="0" value="0" />
+ <value cell_index="22250" local_entity="0" value="0" />
+ <value cell_index="22251" local_entity="0" value="0" />
+ <value cell_index="22252" local_entity="0" value="0" />
+ <value cell_index="22253" local_entity="0" value="0" />
+ <value cell_index="22254" local_entity="0" value="0" />
+ <value cell_index="22255" local_entity="0" value="0" />
+ <value cell_index="22256" local_entity="0" value="0" />
+ <value cell_index="22257" local_entity="0" value="0" />
+ <value cell_index="22258" local_entity="0" value="0" />
+ <value cell_index="22259" local_entity="0" value="0" />
+ <value cell_index="22260" local_entity="0" value="0" />
+ <value cell_index="22261" local_entity="0" value="0" />
+ <value cell_index="22262" local_entity="0" value="0" />
+ <value cell_index="22263" local_entity="0" value="0" />
+ <value cell_index="22264" local_entity="0" value="0" />
+ <value cell_index="22265" local_entity="0" value="0" />
+ <value cell_index="22266" local_entity="0" value="0" />
+ <value cell_index="22267" local_entity="0" value="0" />
+ <value cell_index="22268" local_entity="0" value="0" />
+ <value cell_index="22269" local_entity="0" value="0" />
+ <value cell_index="22270" local_entity="0" value="0" />
+ <value cell_index="22271" local_entity="0" value="0" />
+ <value cell_index="22272" local_entity="0" value="0" />
+ <value cell_index="22273" local_entity="0" value="0" />
+ <value cell_index="22274" local_entity="0" value="0" />
+ <value cell_index="22275" local_entity="0" value="0" />
+ <value cell_index="22276" local_entity="0" value="0" />
+ <value cell_index="22277" local_entity="0" value="0" />
+ <value cell_index="22278" local_entity="0" value="0" />
+ <value cell_index="22279" local_entity="0" value="0" />
+ <value cell_index="22280" local_entity="0" value="0" />
+ <value cell_index="22281" local_entity="0" value="0" />
+ <value cell_index="22282" local_entity="0" value="0" />
+ <value cell_index="22283" local_entity="0" value="0" />
+ <value cell_index="22284" local_entity="0" value="0" />
+ <value cell_index="22285" local_entity="0" value="0" />
+ <value cell_index="22286" local_entity="0" value="0" />
+ <value cell_index="22287" local_entity="0" value="0" />
+ <value cell_index="22288" local_entity="0" value="0" />
+ <value cell_index="22289" local_entity="0" value="0" />
+ <value cell_index="22290" local_entity="0" value="0" />
+ <value cell_index="22291" local_entity="0" value="0" />
+ <value cell_index="22292" local_entity="0" value="0" />
+ <value cell_index="22293" local_entity="0" value="0" />
+ <value cell_index="22294" local_entity="0" value="0" />
+ <value cell_index="22295" local_entity="0" value="0" />
+ <value cell_index="22296" local_entity="0" value="0" />
+ <value cell_index="22297" local_entity="0" value="0" />
+ <value cell_index="22298" local_entity="0" value="0" />
+ <value cell_index="22299" local_entity="0" value="0" />
+ <value cell_index="22300" local_entity="0" value="0" />
+ <value cell_index="22301" local_entity="0" value="0" />
+ <value cell_index="22302" local_entity="0" value="0" />
+ <value cell_index="22303" local_entity="0" value="0" />
+ <value cell_index="22304" local_entity="0" value="0" />
+ <value cell_index="22305" local_entity="0" value="0" />
+ <value cell_index="22306" local_entity="0" value="0" />
+ <value cell_index="22307" local_entity="0" value="0" />
+ <value cell_index="22308" local_entity="0" value="0" />
+ <value cell_index="22309" local_entity="0" value="0" />
+ <value cell_index="22310" local_entity="0" value="0" />
+ <value cell_index="22311" local_entity="0" value="0" />
+ <value cell_index="22312" local_entity="0" value="0" />
+ <value cell_index="22313" local_entity="0" value="0" />
+ <value cell_index="22314" local_entity="0" value="0" />
+ <value cell_index="22315" local_entity="0" value="0" />
+ <value cell_index="22316" local_entity="0" value="0" />
+ <value cell_index="22317" local_entity="0" value="0" />
+ <value cell_index="22318" local_entity="0" value="0" />
+ <value cell_index="22319" local_entity="0" value="0" />
+ <value cell_index="22320" local_entity="0" value="0" />
+ <value cell_index="22321" local_entity="0" value="0" />
+ <value cell_index="22322" local_entity="0" value="0" />
+ <value cell_index="22323" local_entity="0" value="0" />
+ <value cell_index="22324" local_entity="0" value="0" />
+ <value cell_index="22325" local_entity="0" value="0" />
+ <value cell_index="22326" local_entity="0" value="0" />
+ <value cell_index="22327" local_entity="0" value="0" />
+ <value cell_index="22328" local_entity="0" value="0" />
+ <value cell_index="22329" local_entity="0" value="0" />
+ <value cell_index="22330" local_entity="0" value="0" />
+ <value cell_index="22331" local_entity="0" value="0" />
+ <value cell_index="22332" local_entity="0" value="0" />
+ <value cell_index="22333" local_entity="0" value="0" />
+ <value cell_index="22334" local_entity="0" value="0" />
+ <value cell_index="22335" local_entity="0" value="0" />
+ <value cell_index="22336" local_entity="0" value="0" />
+ <value cell_index="22337" local_entity="0" value="0" />
+ <value cell_index="22338" local_entity="0" value="0" />
+ <value cell_index="22339" local_entity="0" value="0" />
+ <value cell_index="22340" local_entity="0" value="0" />
+ <value cell_index="22341" local_entity="0" value="0" />
+ <value cell_index="22342" local_entity="0" value="0" />
+ <value cell_index="22343" local_entity="0" value="0" />
+ <value cell_index="22344" local_entity="0" value="0" />
+ <value cell_index="22345" local_entity="0" value="0" />
+ <value cell_index="22346" local_entity="0" value="0" />
+ <value cell_index="22347" local_entity="0" value="0" />
+ <value cell_index="22348" local_entity="0" value="0" />
+ <value cell_index="22349" local_entity="0" value="0" />
+ <value cell_index="22350" local_entity="0" value="0" />
+ <value cell_index="22351" local_entity="0" value="0" />
+ <value cell_index="22352" local_entity="0" value="0" />
+ <value cell_index="22353" local_entity="0" value="0" />
+ <value cell_index="22354" local_entity="0" value="0" />
+ <value cell_index="22355" local_entity="0" value="0" />
+ <value cell_index="22356" local_entity="0" value="0" />
+ <value cell_index="22357" local_entity="0" value="0" />
+ <value cell_index="22358" local_entity="0" value="0" />
+ <value cell_index="22359" local_entity="0" value="0" />
+ <value cell_index="22360" local_entity="0" value="0" />
+ <value cell_index="22361" local_entity="0" value="0" />
+ <value cell_index="22362" local_entity="0" value="0" />
+ <value cell_index="22363" local_entity="0" value="0" />
+ <value cell_index="22364" local_entity="0" value="0" />
+ <value cell_index="22365" local_entity="0" value="0" />
+ <value cell_index="22366" local_entity="0" value="0" />
+ <value cell_index="22367" local_entity="0" value="0" />
+ <value cell_index="22368" local_entity="0" value="0" />
+ <value cell_index="22369" local_entity="0" value="0" />
+ <value cell_index="22370" local_entity="0" value="0" />
+ <value cell_index="22371" local_entity="0" value="0" />
+ <value cell_index="22372" local_entity="0" value="0" />
+ <value cell_index="22373" local_entity="0" value="0" />
+ <value cell_index="22374" local_entity="0" value="0" />
+ <value cell_index="22375" local_entity="0" value="0" />
+ <value cell_index="22376" local_entity="0" value="0" />
+ <value cell_index="22377" local_entity="0" value="0" />
+ <value cell_index="22378" local_entity="0" value="0" />
+ <value cell_index="22379" local_entity="0" value="0" />
+ <value cell_index="22380" local_entity="0" value="0" />
+ <value cell_index="22381" local_entity="0" value="0" />
+ <value cell_index="22382" local_entity="0" value="0" />
+ <value cell_index="22383" local_entity="0" value="0" />
+ <value cell_index="22384" local_entity="0" value="0" />
+ <value cell_index="22385" local_entity="0" value="0" />
+ <value cell_index="22386" local_entity="0" value="0" />
+ <value cell_index="22387" local_entity="0" value="0" />
+ <value cell_index="22388" local_entity="0" value="0" />
+ <value cell_index="22389" local_entity="0" value="0" />
+ <value cell_index="22390" local_entity="0" value="0" />
+ <value cell_index="22391" local_entity="0" value="0" />
+ <value cell_index="22392" local_entity="0" value="0" />
+ <value cell_index="22393" local_entity="0" value="0" />
+ <value cell_index="22394" local_entity="0" value="0" />
+ <value cell_index="22395" local_entity="0" value="0" />
+ <value cell_index="22396" local_entity="0" value="0" />
+ <value cell_index="22397" local_entity="0" value="0" />
+ <value cell_index="22398" local_entity="0" value="0" />
+ <value cell_index="22399" local_entity="0" value="0" />
+ <value cell_index="22400" local_entity="0" value="0" />
+ <value cell_index="22401" local_entity="0" value="0" />
+ <value cell_index="22402" local_entity="0" value="0" />
+ <value cell_index="22403" local_entity="0" value="0" />
+ <value cell_index="22404" local_entity="0" value="0" />
+ <value cell_index="22405" local_entity="0" value="0" />
+ <value cell_index="22406" local_entity="0" value="0" />
+ <value cell_index="22407" local_entity="0" value="0" />
+ <value cell_index="22408" local_entity="0" value="0" />
+ <value cell_index="22409" local_entity="0" value="0" />
+ <value cell_index="22410" local_entity="0" value="0" />
+ <value cell_index="22411" local_entity="0" value="0" />
+ <value cell_index="22412" local_entity="0" value="0" />
+ <value cell_index="22413" local_entity="0" value="0" />
+ <value cell_index="22414" local_entity="0" value="0" />
+ <value cell_index="22415" local_entity="0" value="0" />
+ <value cell_index="22416" local_entity="0" value="0" />
+ <value cell_index="22417" local_entity="0" value="0" />
+ <value cell_index="22418" local_entity="0" value="0" />
+ <value cell_index="22419" local_entity="0" value="0" />
+ <value cell_index="22420" local_entity="0" value="0" />
+ <value cell_index="22421" local_entity="0" value="0" />
+ <value cell_index="22422" local_entity="0" value="0" />
+ <value cell_index="22423" local_entity="0" value="0" />
+ <value cell_index="22424" local_entity="0" value="0" />
+ <value cell_index="22425" local_entity="0" value="0" />
+ <value cell_index="22426" local_entity="0" value="0" />
+ <value cell_index="22427" local_entity="0" value="0" />
+ <value cell_index="22428" local_entity="0" value="0" />
+ <value cell_index="22429" local_entity="0" value="0" />
+ <value cell_index="22430" local_entity="0" value="0" />
+ <value cell_index="22431" local_entity="0" value="0" />
+ <value cell_index="22432" local_entity="0" value="0" />
+ <value cell_index="22433" local_entity="0" value="0" />
+ <value cell_index="22434" local_entity="0" value="0" />
+ <value cell_index="22435" local_entity="0" value="0" />
+ <value cell_index="22436" local_entity="0" value="0" />
+ <value cell_index="22437" local_entity="0" value="0" />
+ <value cell_index="22438" local_entity="0" value="0" />
+ <value cell_index="22439" local_entity="0" value="0" />
+ <value cell_index="22440" local_entity="0" value="0" />
+ <value cell_index="22441" local_entity="0" value="0" />
+ <value cell_index="22442" local_entity="0" value="0" />
+ <value cell_index="22443" local_entity="0" value="0" />
+ <value cell_index="22444" local_entity="0" value="0" />
+ <value cell_index="22445" local_entity="0" value="0" />
+ <value cell_index="22446" local_entity="0" value="0" />
+ <value cell_index="22447" local_entity="0" value="0" />
+ <value cell_index="22448" local_entity="0" value="0" />
+ <value cell_index="22449" local_entity="0" value="0" />
+ <value cell_index="22450" local_entity="0" value="0" />
+ <value cell_index="22451" local_entity="0" value="0" />
+ <value cell_index="22452" local_entity="0" value="0" />
+ <value cell_index="22453" local_entity="0" value="0" />
+ <value cell_index="22454" local_entity="0" value="0" />
+ <value cell_index="22455" local_entity="0" value="0" />
+ <value cell_index="22456" local_entity="0" value="0" />
+ <value cell_index="22457" local_entity="0" value="0" />
+ <value cell_index="22458" local_entity="0" value="0" />
+ <value cell_index="22459" local_entity="0" value="0" />
+ <value cell_index="22460" local_entity="0" value="0" />
+ <value cell_index="22461" local_entity="0" value="0" />
+ <value cell_index="22462" local_entity="0" value="0" />
+ <value cell_index="22463" local_entity="0" value="0" />
+ <value cell_index="22464" local_entity="0" value="0" />
+ <value cell_index="22465" local_entity="0" value="0" />
+ <value cell_index="22466" local_entity="0" value="0" />
+ <value cell_index="22467" local_entity="0" value="0" />
+ <value cell_index="22468" local_entity="0" value="0" />
+ <value cell_index="22469" local_entity="0" value="0" />
+ <value cell_index="22470" local_entity="0" value="0" />
+ <value cell_index="22471" local_entity="0" value="0" />
+ <value cell_index="22472" local_entity="0" value="0" />
+ <value cell_index="22473" local_entity="0" value="0" />
+ <value cell_index="22474" local_entity="0" value="0" />
+ <value cell_index="22475" local_entity="0" value="0" />
+ <value cell_index="22476" local_entity="0" value="0" />
+ <value cell_index="22477" local_entity="0" value="0" />
+ <value cell_index="22478" local_entity="0" value="0" />
+ <value cell_index="22479" local_entity="0" value="0" />
+ <value cell_index="22480" local_entity="0" value="0" />
+ <value cell_index="22481" local_entity="0" value="0" />
+ <value cell_index="22482" local_entity="0" value="0" />
+ <value cell_index="22483" local_entity="0" value="0" />
+ <value cell_index="22484" local_entity="0" value="0" />
+ <value cell_index="22485" local_entity="0" value="0" />
+ <value cell_index="22486" local_entity="0" value="0" />
+ <value cell_index="22487" local_entity="0" value="0" />
+ <value cell_index="22488" local_entity="0" value="0" />
+ <value cell_index="22489" local_entity="0" value="0" />
+ <value cell_index="22490" local_entity="0" value="0" />
+ <value cell_index="22491" local_entity="0" value="0" />
+ <value cell_index="22492" local_entity="0" value="0" />
+ <value cell_index="22493" local_entity="0" value="0" />
+ <value cell_index="22494" local_entity="0" value="0" />
+ <value cell_index="22495" local_entity="0" value="0" />
+ <value cell_index="22496" local_entity="0" value="0" />
+ <value cell_index="22497" local_entity="0" value="0" />
+ <value cell_index="22498" local_entity="0" value="0" />
+ <value cell_index="22499" local_entity="0" value="0" />
+ <value cell_index="22500" local_entity="0" value="0" />
+ <value cell_index="22501" local_entity="0" value="0" />
+ <value cell_index="22502" local_entity="0" value="0" />
+ <value cell_index="22503" local_entity="0" value="0" />
+ <value cell_index="22504" local_entity="0" value="0" />
+ <value cell_index="22505" local_entity="0" value="0" />
+ <value cell_index="22506" local_entity="0" value="0" />
+ <value cell_index="22507" local_entity="0" value="0" />
+ <value cell_index="22508" local_entity="0" value="0" />
+ <value cell_index="22509" local_entity="0" value="0" />
+ <value cell_index="22510" local_entity="0" value="0" />
+ <value cell_index="22511" local_entity="0" value="0" />
+ <value cell_index="22512" local_entity="0" value="0" />
+ <value cell_index="22513" local_entity="0" value="0" />
+ <value cell_index="22514" local_entity="0" value="0" />
+ <value cell_index="22515" local_entity="0" value="0" />
+ <value cell_index="22516" local_entity="0" value="0" />
+ <value cell_index="22517" local_entity="0" value="0" />
+ <value cell_index="22518" local_entity="0" value="0" />
+ <value cell_index="22519" local_entity="0" value="0" />
+ <value cell_index="22520" local_entity="0" value="0" />
+ <value cell_index="22521" local_entity="0" value="0" />
+ <value cell_index="22522" local_entity="0" value="0" />
+ <value cell_index="22523" local_entity="0" value="0" />
+ <value cell_index="22524" local_entity="0" value="0" />
+ <value cell_index="22525" local_entity="0" value="0" />
+ <value cell_index="22526" local_entity="0" value="0" />
+ <value cell_index="22527" local_entity="0" value="0" />
+ <value cell_index="22528" local_entity="0" value="0" />
+ <value cell_index="22529" local_entity="0" value="0" />
+ <value cell_index="22530" local_entity="0" value="0" />
+ <value cell_index="22531" local_entity="0" value="0" />
+ <value cell_index="22532" local_entity="0" value="0" />
+ <value cell_index="22533" local_entity="0" value="0" />
+ <value cell_index="22534" local_entity="0" value="0" />
+ <value cell_index="22535" local_entity="0" value="0" />
+ <value cell_index="22536" local_entity="0" value="0" />
+ <value cell_index="22537" local_entity="0" value="0" />
+ <value cell_index="22538" local_entity="0" value="0" />
+ <value cell_index="22539" local_entity="0" value="0" />
+ <value cell_index="22540" local_entity="0" value="0" />
+ <value cell_index="22541" local_entity="0" value="0" />
+ <value cell_index="22542" local_entity="0" value="0" />
+ <value cell_index="22543" local_entity="0" value="0" />
+ <value cell_index="22544" local_entity="0" value="0" />
+ <value cell_index="22545" local_entity="0" value="0" />
+ <value cell_index="22546" local_entity="0" value="0" />
+ <value cell_index="22547" local_entity="0" value="0" />
+ <value cell_index="22548" local_entity="0" value="0" />
+ <value cell_index="22549" local_entity="0" value="0" />
+ <value cell_index="22550" local_entity="0" value="0" />
+ <value cell_index="22551" local_entity="0" value="0" />
+ <value cell_index="22552" local_entity="0" value="0" />
+ <value cell_index="22553" local_entity="0" value="0" />
+ <value cell_index="22554" local_entity="0" value="0" />
+ <value cell_index="22555" local_entity="0" value="0" />
+ <value cell_index="22556" local_entity="0" value="0" />
+ <value cell_index="22557" local_entity="0" value="0" />
+ <value cell_index="22558" local_entity="0" value="0" />
+ <value cell_index="22559" local_entity="0" value="0" />
+ <value cell_index="22560" local_entity="0" value="0" />
+ <value cell_index="22561" local_entity="0" value="0" />
+ <value cell_index="22562" local_entity="0" value="0" />
+ <value cell_index="22563" local_entity="0" value="0" />
+ <value cell_index="22564" local_entity="0" value="0" />
+ <value cell_index="22565" local_entity="0" value="0" />
+ <value cell_index="22566" local_entity="0" value="0" />
+ <value cell_index="22567" local_entity="0" value="0" />
+ <value cell_index="22568" local_entity="0" value="0" />
+ <value cell_index="22569" local_entity="0" value="0" />
+ <value cell_index="22570" local_entity="0" value="0" />
+ <value cell_index="22571" local_entity="0" value="0" />
+ <value cell_index="22572" local_entity="0" value="0" />
+ <value cell_index="22573" local_entity="0" value="0" />
+ <value cell_index="22574" local_entity="0" value="0" />
+ <value cell_index="22575" local_entity="0" value="0" />
+ <value cell_index="22576" local_entity="0" value="0" />
+ <value cell_index="22577" local_entity="0" value="0" />
+ <value cell_index="22578" local_entity="0" value="0" />
+ <value cell_index="22579" local_entity="0" value="0" />
+ <value cell_index="22580" local_entity="0" value="0" />
+ <value cell_index="22581" local_entity="0" value="0" />
+ <value cell_index="22582" local_entity="0" value="0" />
+ <value cell_index="22583" local_entity="0" value="0" />
+ <value cell_index="22584" local_entity="0" value="0" />
+ <value cell_index="22585" local_entity="0" value="0" />
+ <value cell_index="22586" local_entity="0" value="0" />
+ <value cell_index="22587" local_entity="0" value="0" />
+ <value cell_index="22588" local_entity="0" value="0" />
+ <value cell_index="22589" local_entity="0" value="0" />
+ <value cell_index="22590" local_entity="0" value="0" />
+ <value cell_index="22591" local_entity="0" value="0" />
+ <value cell_index="22592" local_entity="0" value="0" />
+ <value cell_index="22593" local_entity="0" value="0" />
+ <value cell_index="22594" local_entity="0" value="0" />
+ <value cell_index="22595" local_entity="0" value="0" />
+ <value cell_index="22596" local_entity="0" value="0" />
+ <value cell_index="22597" local_entity="0" value="0" />
+ <value cell_index="22598" local_entity="0" value="0" />
+ <value cell_index="22599" local_entity="0" value="0" />
+ <value cell_index="22600" local_entity="0" value="0" />
+ <value cell_index="22601" local_entity="0" value="0" />
+ <value cell_index="22602" local_entity="0" value="0" />
+ <value cell_index="22603" local_entity="0" value="0" />
+ <value cell_index="22604" local_entity="0" value="0" />
+ <value cell_index="22605" local_entity="0" value="0" />
+ <value cell_index="22606" local_entity="0" value="0" />
+ <value cell_index="22607" local_entity="0" value="0" />
+ <value cell_index="22608" local_entity="0" value="0" />
+ <value cell_index="22609" local_entity="0" value="0" />
+ <value cell_index="22610" local_entity="0" value="0" />
+ <value cell_index="22611" local_entity="0" value="0" />
+ <value cell_index="22612" local_entity="0" value="0" />
+ <value cell_index="22613" local_entity="0" value="0" />
+ <value cell_index="22614" local_entity="0" value="0" />
+ <value cell_index="22615" local_entity="0" value="0" />
+ <value cell_index="22616" local_entity="0" value="0" />
+ <value cell_index="22617" local_entity="0" value="0" />
+ <value cell_index="22618" local_entity="0" value="0" />
+ <value cell_index="22619" local_entity="0" value="0" />
+ <value cell_index="22620" local_entity="0" value="0" />
+ <value cell_index="22621" local_entity="0" value="0" />
+ <value cell_index="22622" local_entity="0" value="0" />
+ <value cell_index="22623" local_entity="0" value="0" />
+ <value cell_index="22624" local_entity="0" value="0" />
+ <value cell_index="22625" local_entity="0" value="0" />
+ <value cell_index="22626" local_entity="0" value="0" />
+ <value cell_index="22627" local_entity="0" value="0" />
+ <value cell_index="22628" local_entity="0" value="0" />
+ <value cell_index="22629" local_entity="0" value="0" />
+ <value cell_index="22630" local_entity="0" value="0" />
+ <value cell_index="22631" local_entity="0" value="0" />
+ <value cell_index="22632" local_entity="0" value="0" />
+ <value cell_index="22633" local_entity="0" value="0" />
+ <value cell_index="22634" local_entity="0" value="0" />
+ <value cell_index="22635" local_entity="0" value="0" />
+ <value cell_index="22636" local_entity="0" value="0" />
+ <value cell_index="22637" local_entity="0" value="0" />
+ <value cell_index="22638" local_entity="0" value="0" />
+ <value cell_index="22639" local_entity="0" value="0" />
+ <value cell_index="22640" local_entity="0" value="0" />
+ <value cell_index="22641" local_entity="0" value="0" />
+ <value cell_index="22642" local_entity="0" value="0" />
+ <value cell_index="22643" local_entity="0" value="0" />
+ <value cell_index="22644" local_entity="0" value="0" />
+ <value cell_index="22645" local_entity="0" value="0" />
+ <value cell_index="22646" local_entity="0" value="0" />
+ <value cell_index="22647" local_entity="0" value="0" />
+ <value cell_index="22648" local_entity="0" value="0" />
+ <value cell_index="22649" local_entity="0" value="0" />
+ <value cell_index="22650" local_entity="0" value="0" />
+ <value cell_index="22651" local_entity="0" value="0" />
+ <value cell_index="22652" local_entity="0" value="0" />
+ <value cell_index="22653" local_entity="0" value="0" />
+ <value cell_index="22654" local_entity="0" value="0" />
+ <value cell_index="22655" local_entity="0" value="0" />
+ <value cell_index="22656" local_entity="0" value="0" />
+ <value cell_index="22657" local_entity="0" value="0" />
+ <value cell_index="22658" local_entity="0" value="0" />
+ <value cell_index="22659" local_entity="0" value="0" />
+ <value cell_index="22660" local_entity="0" value="0" />
+ <value cell_index="22661" local_entity="0" value="0" />
+ <value cell_index="22662" local_entity="0" value="0" />
+ <value cell_index="22663" local_entity="0" value="0" />
+ <value cell_index="22664" local_entity="0" value="0" />
+ <value cell_index="22665" local_entity="0" value="0" />
+ <value cell_index="22666" local_entity="0" value="0" />
+ <value cell_index="22667" local_entity="0" value="0" />
+ <value cell_index="22668" local_entity="0" value="0" />
+ <value cell_index="22669" local_entity="0" value="0" />
+ <value cell_index="22670" local_entity="0" value="0" />
+ <value cell_index="22671" local_entity="0" value="0" />
+ <value cell_index="22672" local_entity="0" value="0" />
+ <value cell_index="22673" local_entity="0" value="0" />
+ <value cell_index="22674" local_entity="0" value="0" />
+ <value cell_index="22675" local_entity="0" value="0" />
+ <value cell_index="22676" local_entity="0" value="0" />
+ <value cell_index="22677" local_entity="0" value="0" />
+ <value cell_index="22678" local_entity="0" value="0" />
+ <value cell_index="22679" local_entity="0" value="0" />
+ <value cell_index="22680" local_entity="0" value="0" />
+ <value cell_index="22681" local_entity="0" value="0" />
+ <value cell_index="22682" local_entity="0" value="0" />
+ <value cell_index="22683" local_entity="0" value="0" />
+ <value cell_index="22684" local_entity="0" value="0" />
+ <value cell_index="22685" local_entity="0" value="0" />
+ <value cell_index="22686" local_entity="0" value="0" />
+ <value cell_index="22687" local_entity="0" value="0" />
+ <value cell_index="22688" local_entity="0" value="0" />
+ <value cell_index="22689" local_entity="0" value="0" />
+ <value cell_index="22690" local_entity="0" value="0" />
+ <value cell_index="22691" local_entity="0" value="0" />
+ <value cell_index="22692" local_entity="0" value="0" />
+ <value cell_index="22693" local_entity="0" value="0" />
+ <value cell_index="22694" local_entity="0" value="0" />
+ <value cell_index="22695" local_entity="0" value="0" />
+ <value cell_index="22696" local_entity="0" value="0" />
+ <value cell_index="22697" local_entity="0" value="0" />
+ <value cell_index="22698" local_entity="0" value="0" />
+ <value cell_index="22699" local_entity="0" value="0" />
+ <value cell_index="22700" local_entity="0" value="0" />
+ <value cell_index="22701" local_entity="0" value="0" />
+ <value cell_index="22702" local_entity="0" value="0" />
+ <value cell_index="22703" local_entity="0" value="0" />
+ <value cell_index="22704" local_entity="0" value="0" />
+ <value cell_index="22705" local_entity="0" value="0" />
+ <value cell_index="22706" local_entity="0" value="0" />
+ <value cell_index="22707" local_entity="0" value="0" />
+ <value cell_index="22708" local_entity="0" value="0" />
+ <value cell_index="22709" local_entity="0" value="0" />
+ <value cell_index="22710" local_entity="0" value="0" />
+ <value cell_index="22711" local_entity="0" value="0" />
+ <value cell_index="22712" local_entity="0" value="0" />
+ <value cell_index="22713" local_entity="0" value="0" />
+ <value cell_index="22714" local_entity="0" value="0" />
+ <value cell_index="22715" local_entity="0" value="0" />
+ <value cell_index="22716" local_entity="0" value="0" />
+ <value cell_index="22717" local_entity="0" value="0" />
+ <value cell_index="22718" local_entity="0" value="0" />
+ <value cell_index="22719" local_entity="0" value="0" />
+ <value cell_index="22720" local_entity="0" value="0" />
+ <value cell_index="22721" local_entity="0" value="0" />
+ <value cell_index="22722" local_entity="0" value="0" />
+ <value cell_index="22723" local_entity="0" value="0" />
+ <value cell_index="22724" local_entity="0" value="0" />
+ <value cell_index="22725" local_entity="0" value="0" />
+ <value cell_index="22726" local_entity="0" value="0" />
+ <value cell_index="22727" local_entity="0" value="0" />
+ <value cell_index="22728" local_entity="0" value="0" />
+ <value cell_index="22729" local_entity="0" value="0" />
+ <value cell_index="22730" local_entity="0" value="0" />
+ <value cell_index="22731" local_entity="0" value="0" />
+ <value cell_index="22732" local_entity="0" value="0" />
+ <value cell_index="22733" local_entity="0" value="0" />
+ <value cell_index="22734" local_entity="0" value="0" />
+ <value cell_index="22735" local_entity="0" value="0" />
+ <value cell_index="22736" local_entity="0" value="0" />
+ <value cell_index="22737" local_entity="0" value="0" />
+ <value cell_index="22738" local_entity="0" value="0" />
+ <value cell_index="22739" local_entity="0" value="0" />
+ <value cell_index="22740" local_entity="0" value="0" />
+ <value cell_index="22741" local_entity="0" value="0" />
+ <value cell_index="22742" local_entity="0" value="0" />
+ <value cell_index="22743" local_entity="0" value="0" />
+ <value cell_index="22744" local_entity="0" value="0" />
+ <value cell_index="22745" local_entity="0" value="0" />
+ <value cell_index="22746" local_entity="0" value="0" />
+ <value cell_index="22747" local_entity="0" value="0" />
+ <value cell_index="22748" local_entity="0" value="0" />
+ <value cell_index="22749" local_entity="0" value="0" />
+ <value cell_index="22750" local_entity="0" value="0" />
+ <value cell_index="22751" local_entity="0" value="0" />
+ <value cell_index="22752" local_entity="0" value="0" />
+ <value cell_index="22753" local_entity="0" value="0" />
+ <value cell_index="22754" local_entity="0" value="0" />
+ <value cell_index="22755" local_entity="0" value="0" />
+ <value cell_index="22756" local_entity="0" value="0" />
+ <value cell_index="22757" local_entity="0" value="0" />
+ <value cell_index="22758" local_entity="0" value="0" />
+ <value cell_index="22759" local_entity="0" value="0" />
+ <value cell_index="22760" local_entity="0" value="0" />
+ <value cell_index="22761" local_entity="0" value="0" />
+ <value cell_index="22762" local_entity="0" value="0" />
+ <value cell_index="22763" local_entity="0" value="0" />
+ <value cell_index="22764" local_entity="0" value="0" />
+ <value cell_index="22765" local_entity="0" value="0" />
+ <value cell_index="22766" local_entity="0" value="0" />
+ <value cell_index="22767" local_entity="0" value="0" />
+ <value cell_index="22768" local_entity="0" value="0" />
+ <value cell_index="22769" local_entity="0" value="0" />
+ <value cell_index="22770" local_entity="0" value="0" />
+ <value cell_index="22771" local_entity="0" value="0" />
+ <value cell_index="22772" local_entity="0" value="0" />
+ <value cell_index="22773" local_entity="0" value="0" />
+ <value cell_index="22774" local_entity="0" value="0" />
+ <value cell_index="22775" local_entity="0" value="0" />
+ <value cell_index="22776" local_entity="0" value="0" />
+ <value cell_index="22777" local_entity="0" value="0" />
+ <value cell_index="22778" local_entity="0" value="0" />
+ <value cell_index="22779" local_entity="0" value="0" />
+ <value cell_index="22780" local_entity="0" value="0" />
+ <value cell_index="22781" local_entity="0" value="0" />
+ <value cell_index="22782" local_entity="0" value="0" />
+ <value cell_index="22783" local_entity="0" value="0" />
+ <value cell_index="22784" local_entity="0" value="0" />
+ <value cell_index="22785" local_entity="0" value="0" />
+ <value cell_index="22786" local_entity="0" value="0" />
+ <value cell_index="22787" local_entity="0" value="0" />
+ <value cell_index="22788" local_entity="0" value="0" />
+ <value cell_index="22789" local_entity="0" value="0" />
+ <value cell_index="22790" local_entity="0" value="0" />
+ <value cell_index="22791" local_entity="0" value="0" />
+ <value cell_index="22792" local_entity="0" value="0" />
+ <value cell_index="22793" local_entity="0" value="0" />
+ <value cell_index="22794" local_entity="0" value="0" />
+ <value cell_index="22795" local_entity="0" value="0" />
+ <value cell_index="22796" local_entity="0" value="0" />
+ <value cell_index="22797" local_entity="0" value="0" />
+ <value cell_index="22798" local_entity="0" value="0" />
+ <value cell_index="22799" local_entity="0" value="0" />
+ <value cell_index="22800" local_entity="0" value="0" />
+ <value cell_index="22801" local_entity="0" value="0" />
+ <value cell_index="22802" local_entity="0" value="0" />
+ <value cell_index="22803" local_entity="0" value="0" />
+ <value cell_index="22804" local_entity="0" value="0" />
+ <value cell_index="22805" local_entity="0" value="0" />
+ <value cell_index="22806" local_entity="0" value="0" />
+ <value cell_index="22807" local_entity="0" value="0" />
+ <value cell_index="22808" local_entity="0" value="0" />
+ <value cell_index="22809" local_entity="0" value="0" />
+ <value cell_index="22810" local_entity="0" value="0" />
+ <value cell_index="22811" local_entity="0" value="0" />
+ <value cell_index="22812" local_entity="0" value="0" />
+ <value cell_index="22813" local_entity="0" value="0" />
+ <value cell_index="22814" local_entity="0" value="0" />
+ <value cell_index="22815" local_entity="0" value="0" />
+ <value cell_index="22816" local_entity="0" value="0" />
+ <value cell_index="22817" local_entity="0" value="0" />
+ <value cell_index="22818" local_entity="0" value="0" />
+ <value cell_index="22819" local_entity="0" value="0" />
+ <value cell_index="22820" local_entity="0" value="0" />
+ <value cell_index="22821" local_entity="0" value="0" />
+ <value cell_index="22822" local_entity="0" value="0" />
+ <value cell_index="22823" local_entity="0" value="0" />
+ <value cell_index="22824" local_entity="0" value="0" />
+ <value cell_index="22825" local_entity="0" value="0" />
+ <value cell_index="22826" local_entity="0" value="0" />
+ <value cell_index="22827" local_entity="0" value="0" />
+ <value cell_index="22828" local_entity="0" value="0" />
+ <value cell_index="22829" local_entity="0" value="0" />
+ <value cell_index="22830" local_entity="0" value="0" />
+ <value cell_index="22831" local_entity="0" value="0" />
+ <value cell_index="22832" local_entity="0" value="0" />
+ <value cell_index="22833" local_entity="0" value="0" />
+ <value cell_index="22834" local_entity="0" value="0" />
+ <value cell_index="22835" local_entity="0" value="0" />
+ <value cell_index="22836" local_entity="0" value="0" />
+ <value cell_index="22837" local_entity="0" value="0" />
+ <value cell_index="22838" local_entity="0" value="0" />
+ <value cell_index="22839" local_entity="0" value="0" />
+ <value cell_index="22840" local_entity="0" value="0" />
+ <value cell_index="22841" local_entity="0" value="0" />
+ <value cell_index="22842" local_entity="0" value="0" />
+ <value cell_index="22843" local_entity="0" value="0" />
+ <value cell_index="22844" local_entity="0" value="0" />
+ <value cell_index="22845" local_entity="0" value="0" />
+ <value cell_index="22846" local_entity="0" value="0" />
+ <value cell_index="22847" local_entity="0" value="0" />
+ <value cell_index="22848" local_entity="0" value="0" />
+ <value cell_index="22849" local_entity="0" value="0" />
+ <value cell_index="22850" local_entity="0" value="0" />
+ <value cell_index="22851" local_entity="0" value="0" />
+ <value cell_index="22852" local_entity="0" value="0" />
+ <value cell_index="22853" local_entity="0" value="0" />
+ <value cell_index="22854" local_entity="0" value="0" />
+ <value cell_index="22855" local_entity="0" value="0" />
+ <value cell_index="22856" local_entity="0" value="0" />
+ <value cell_index="22857" local_entity="0" value="0" />
+ <value cell_index="22858" local_entity="0" value="0" />
+ <value cell_index="22859" local_entity="0" value="0" />
+ <value cell_index="22860" local_entity="0" value="0" />
+ <value cell_index="22861" local_entity="0" value="0" />
+ <value cell_index="22862" local_entity="0" value="0" />
+ <value cell_index="22863" local_entity="0" value="0" />
+ <value cell_index="22864" local_entity="0" value="0" />
+ <value cell_index="22865" local_entity="0" value="0" />
+ <value cell_index="22866" local_entity="0" value="0" />
+ <value cell_index="22867" local_entity="0" value="0" />
+ <value cell_index="22868" local_entity="0" value="0" />
+ <value cell_index="22869" local_entity="0" value="0" />
+ <value cell_index="22870" local_entity="0" value="0" />
+ <value cell_index="22871" local_entity="0" value="0" />
+ <value cell_index="22872" local_entity="0" value="0" />
+ <value cell_index="22873" local_entity="0" value="0" />
+ <value cell_index="22874" local_entity="0" value="0" />
+ <value cell_index="22875" local_entity="0" value="0" />
+ <value cell_index="22876" local_entity="0" value="0" />
+ <value cell_index="22877" local_entity="0" value="0" />
+ <value cell_index="22878" local_entity="0" value="0" />
+ <value cell_index="22879" local_entity="0" value="0" />
+ <value cell_index="22880" local_entity="0" value="0" />
+ <value cell_index="22881" local_entity="0" value="0" />
+ <value cell_index="22882" local_entity="0" value="0" />
+ <value cell_index="22883" local_entity="0" value="0" />
+ <value cell_index="22884" local_entity="0" value="0" />
+ <value cell_index="22885" local_entity="0" value="0" />
+ <value cell_index="22886" local_entity="0" value="0" />
+ <value cell_index="22887" local_entity="0" value="0" />
+ <value cell_index="22888" local_entity="0" value="0" />
+ <value cell_index="22889" local_entity="0" value="0" />
+ <value cell_index="22890" local_entity="0" value="0" />
+ <value cell_index="22891" local_entity="0" value="0" />
+ <value cell_index="22892" local_entity="0" value="0" />
+ <value cell_index="22893" local_entity="0" value="0" />
+ <value cell_index="22894" local_entity="0" value="0" />
+ <value cell_index="22895" local_entity="0" value="0" />
+ <value cell_index="22896" local_entity="0" value="0" />
+ <value cell_index="22897" local_entity="0" value="0" />
+ <value cell_index="22898" local_entity="0" value="0" />
+ <value cell_index="22899" local_entity="0" value="0" />
+ <value cell_index="22900" local_entity="0" value="0" />
+ <value cell_index="22901" local_entity="0" value="0" />
+ <value cell_index="22902" local_entity="0" value="0" />
+ <value cell_index="22903" local_entity="0" value="0" />
+ <value cell_index="22904" local_entity="0" value="0" />
+ <value cell_index="22905" local_entity="0" value="0" />
+ <value cell_index="22906" local_entity="0" value="0" />
+ <value cell_index="22907" local_entity="0" value="0" />
+ <value cell_index="22908" local_entity="0" value="0" />
+ <value cell_index="22909" local_entity="0" value="0" />
+ <value cell_index="22910" local_entity="0" value="0" />
+ <value cell_index="22911" local_entity="0" value="0" />
+ <value cell_index="22912" local_entity="0" value="0" />
+ <value cell_index="22913" local_entity="0" value="0" />
+ <value cell_index="22914" local_entity="0" value="0" />
+ <value cell_index="22915" local_entity="0" value="0" />
+ <value cell_index="22916" local_entity="0" value="0" />
+ <value cell_index="22917" local_entity="0" value="0" />
+ <value cell_index="22918" local_entity="0" value="0" />
+ <value cell_index="22919" local_entity="0" value="0" />
+ <value cell_index="22920" local_entity="0" value="0" />
+ <value cell_index="22921" local_entity="0" value="0" />
+ <value cell_index="22922" local_entity="0" value="0" />
+ <value cell_index="22923" local_entity="0" value="0" />
+ <value cell_index="22924" local_entity="0" value="0" />
+ <value cell_index="22925" local_entity="0" value="0" />
+ <value cell_index="22926" local_entity="0" value="0" />
+ <value cell_index="22927" local_entity="0" value="0" />
+ <value cell_index="22928" local_entity="0" value="0" />
+ <value cell_index="22929" local_entity="0" value="0" />
+ <value cell_index="22930" local_entity="0" value="0" />
+ <value cell_index="22931" local_entity="0" value="0" />
+ <value cell_index="22932" local_entity="0" value="0" />
+ <value cell_index="22933" local_entity="0" value="0" />
+ <value cell_index="22934" local_entity="0" value="0" />
+ <value cell_index="22935" local_entity="0" value="0" />
+ <value cell_index="22936" local_entity="0" value="0" />
+ <value cell_index="22937" local_entity="0" value="0" />
+ <value cell_index="22938" local_entity="0" value="0" />
+ <value cell_index="22939" local_entity="0" value="0" />
+ <value cell_index="22940" local_entity="0" value="0" />
+ <value cell_index="22941" local_entity="0" value="0" />
+ <value cell_index="22942" local_entity="0" value="0" />
+ <value cell_index="22943" local_entity="0" value="0" />
+ <value cell_index="22944" local_entity="0" value="0" />
+ <value cell_index="22945" local_entity="0" value="0" />
+ <value cell_index="22946" local_entity="0" value="0" />
+ <value cell_index="22947" local_entity="0" value="0" />
+ <value cell_index="22948" local_entity="0" value="0" />
+ <value cell_index="22949" local_entity="0" value="0" />
+ <value cell_index="22950" local_entity="0" value="0" />
+ <value cell_index="22951" local_entity="0" value="0" />
+ <value cell_index="22952" local_entity="0" value="0" />
+ <value cell_index="22953" local_entity="0" value="0" />
+ <value cell_index="22954" local_entity="0" value="0" />
+ <value cell_index="22955" local_entity="0" value="0" />
+ <value cell_index="22956" local_entity="0" value="0" />
+ <value cell_index="22957" local_entity="0" value="0" />
+ <value cell_index="22958" local_entity="0" value="0" />
+ <value cell_index="22959" local_entity="0" value="0" />
+ <value cell_index="22960" local_entity="0" value="0" />
+ <value cell_index="22961" local_entity="0" value="0" />
+ <value cell_index="22962" local_entity="0" value="0" />
+ <value cell_index="22963" local_entity="0" value="0" />
+ <value cell_index="22964" local_entity="0" value="0" />
+ <value cell_index="22965" local_entity="0" value="0" />
+ <value cell_index="22966" local_entity="0" value="0" />
+ <value cell_index="22967" local_entity="0" value="0" />
+ <value cell_index="22968" local_entity="0" value="0" />
+ <value cell_index="22969" local_entity="0" value="0" />
+ <value cell_index="22970" local_entity="0" value="0" />
+ <value cell_index="22971" local_entity="0" value="0" />
+ <value cell_index="22972" local_entity="0" value="0" />
+ <value cell_index="22973" local_entity="0" value="0" />
+ <value cell_index="22974" local_entity="0" value="0" />
+ <value cell_index="22975" local_entity="0" value="0" />
+ <value cell_index="22976" local_entity="0" value="0" />
+ <value cell_index="22977" local_entity="0" value="0" />
+ <value cell_index="22978" local_entity="0" value="0" />
+ <value cell_index="22979" local_entity="0" value="0" />
+ <value cell_index="22980" local_entity="0" value="0" />
+ <value cell_index="22981" local_entity="0" value="0" />
+ <value cell_index="22982" local_entity="0" value="0" />
+ <value cell_index="22983" local_entity="0" value="0" />
+ <value cell_index="22984" local_entity="0" value="0" />
+ <value cell_index="22985" local_entity="0" value="0" />
+ <value cell_index="22986" local_entity="0" value="0" />
+ <value cell_index="22987" local_entity="0" value="0" />
+ <value cell_index="22988" local_entity="0" value="0" />
+ <value cell_index="22989" local_entity="0" value="0" />
+ <value cell_index="22990" local_entity="0" value="0" />
+ <value cell_index="22991" local_entity="0" value="0" />
+ <value cell_index="22992" local_entity="0" value="0" />
+ <value cell_index="22993" local_entity="0" value="0" />
+ <value cell_index="22994" local_entity="0" value="0" />
+ <value cell_index="22995" local_entity="0" value="0" />
+ <value cell_index="22996" local_entity="0" value="0" />
+ <value cell_index="22997" local_entity="0" value="0" />
+ <value cell_index="22998" local_entity="0" value="0" />
+ <value cell_index="22999" local_entity="0" value="0" />
+ <value cell_index="23000" local_entity="0" value="0" />
+ <value cell_index="23001" local_entity="0" value="0" />
+ <value cell_index="23002" local_entity="0" value="0" />
+ <value cell_index="23003" local_entity="0" value="0" />
+ <value cell_index="23004" local_entity="0" value="0" />
+ <value cell_index="23005" local_entity="0" value="0" />
+ <value cell_index="23006" local_entity="0" value="0" />
+ <value cell_index="23007" local_entity="0" value="0" />
+ <value cell_index="23008" local_entity="0" value="0" />
+ <value cell_index="23009" local_entity="0" value="0" />
+ <value cell_index="23010" local_entity="0" value="0" />
+ <value cell_index="23011" local_entity="0" value="0" />
+ <value cell_index="23012" local_entity="0" value="0" />
+ <value cell_index="23013" local_entity="0" value="0" />
+ <value cell_index="23014" local_entity="0" value="0" />
+ <value cell_index="23015" local_entity="0" value="0" />
+ <value cell_index="23016" local_entity="0" value="0" />
+ <value cell_index="23017" local_entity="0" value="0" />
+ <value cell_index="23018" local_entity="0" value="0" />
+ <value cell_index="23019" local_entity="0" value="0" />
+ <value cell_index="23020" local_entity="0" value="0" />
+ <value cell_index="23021" local_entity="0" value="0" />
+ <value cell_index="23022" local_entity="0" value="0" />
+ <value cell_index="23023" local_entity="0" value="0" />
+ <value cell_index="23024" local_entity="0" value="0" />
+ <value cell_index="23025" local_entity="0" value="0" />
+ <value cell_index="23026" local_entity="0" value="0" />
+ <value cell_index="23027" local_entity="0" value="0" />
+ <value cell_index="23028" local_entity="0" value="0" />
+ <value cell_index="23029" local_entity="0" value="0" />
+ <value cell_index="23030" local_entity="0" value="0" />
+ <value cell_index="23031" local_entity="0" value="0" />
+ <value cell_index="23032" local_entity="0" value="0" />
+ <value cell_index="23033" local_entity="0" value="0" />
+ <value cell_index="23034" local_entity="0" value="0" />
+ <value cell_index="23035" local_entity="0" value="0" />
+ <value cell_index="23036" local_entity="0" value="0" />
+ <value cell_index="23037" local_entity="0" value="0" />
+ <value cell_index="23038" local_entity="0" value="0" />
+ <value cell_index="23039" local_entity="0" value="0" />
+ <value cell_index="23040" local_entity="0" value="0" />
+ <value cell_index="23041" local_entity="0" value="0" />
+ <value cell_index="23042" local_entity="0" value="0" />
+ <value cell_index="23043" local_entity="0" value="0" />
+ <value cell_index="23044" local_entity="0" value="0" />
+ <value cell_index="23045" local_entity="0" value="0" />
+ <value cell_index="23046" local_entity="0" value="0" />
+ <value cell_index="23047" local_entity="0" value="0" />
+ <value cell_index="23048" local_entity="0" value="0" />
+ <value cell_index="23049" local_entity="0" value="0" />
+ <value cell_index="23050" local_entity="0" value="0" />
+ <value cell_index="23051" local_entity="0" value="0" />
+ <value cell_index="23052" local_entity="0" value="0" />
+ <value cell_index="23053" local_entity="0" value="0" />
+ <value cell_index="23054" local_entity="0" value="0" />
+ <value cell_index="23055" local_entity="0" value="0" />
+ <value cell_index="23056" local_entity="0" value="0" />
+ <value cell_index="23057" local_entity="0" value="0" />
+ <value cell_index="23058" local_entity="0" value="0" />
+ <value cell_index="23059" local_entity="0" value="0" />
+ <value cell_index="23060" local_entity="0" value="0" />
+ <value cell_index="23061" local_entity="0" value="0" />
+ <value cell_index="23062" local_entity="0" value="0" />
+ <value cell_index="23063" local_entity="0" value="0" />
+ <value cell_index="23064" local_entity="0" value="0" />
+ <value cell_index="23065" local_entity="0" value="0" />
+ <value cell_index="23066" local_entity="0" value="0" />
+ <value cell_index="23067" local_entity="0" value="0" />
+ <value cell_index="23068" local_entity="0" value="0" />
+ <value cell_index="23069" local_entity="0" value="0" />
+ <value cell_index="23070" local_entity="0" value="0" />
+ <value cell_index="23071" local_entity="0" value="0" />
+ <value cell_index="23072" local_entity="0" value="0" />
+ <value cell_index="23073" local_entity="0" value="0" />
+ <value cell_index="23074" local_entity="0" value="0" />
+ <value cell_index="23075" local_entity="0" value="0" />
+ <value cell_index="23076" local_entity="0" value="0" />
+ <value cell_index="23077" local_entity="0" value="0" />
+ <value cell_index="23078" local_entity="0" value="0" />
+ <value cell_index="23079" local_entity="0" value="0" />
+ <value cell_index="23080" local_entity="0" value="0" />
+ <value cell_index="23081" local_entity="0" value="0" />
+ <value cell_index="23082" local_entity="0" value="0" />
+ <value cell_index="23083" local_entity="0" value="0" />
+ <value cell_index="23084" local_entity="0" value="0" />
+ <value cell_index="23085" local_entity="0" value="0" />
+ <value cell_index="23086" local_entity="0" value="0" />
+ <value cell_index="23087" local_entity="0" value="0" />
+ <value cell_index="23088" local_entity="0" value="0" />
+ <value cell_index="23089" local_entity="0" value="0" />
+ <value cell_index="23090" local_entity="0" value="0" />
+ <value cell_index="23091" local_entity="0" value="0" />
+ <value cell_index="23092" local_entity="0" value="0" />
+ <value cell_index="23093" local_entity="0" value="0" />
+ <value cell_index="23094" local_entity="0" value="0" />
+ <value cell_index="23095" local_entity="0" value="0" />
+ <value cell_index="23096" local_entity="0" value="0" />
+ <value cell_index="23097" local_entity="0" value="0" />
+ <value cell_index="23098" local_entity="0" value="0" />
+ <value cell_index="23099" local_entity="0" value="0" />
+ <value cell_index="23100" local_entity="0" value="0" />
+ <value cell_index="23101" local_entity="0" value="0" />
+ <value cell_index="23102" local_entity="0" value="0" />
+ <value cell_index="23103" local_entity="0" value="0" />
+ <value cell_index="23104" local_entity="0" value="0" />
+ <value cell_index="23105" local_entity="0" value="0" />
+ <value cell_index="23106" local_entity="0" value="0" />
+ <value cell_index="23107" local_entity="0" value="0" />
+ <value cell_index="23108" local_entity="0" value="0" />
+ <value cell_index="23109" local_entity="0" value="0" />
+ <value cell_index="23110" local_entity="0" value="0" />
+ <value cell_index="23111" local_entity="0" value="0" />
+ <value cell_index="23112" local_entity="0" value="0" />
+ <value cell_index="23113" local_entity="0" value="0" />
+ <value cell_index="23114" local_entity="0" value="0" />
+ <value cell_index="23115" local_entity="0" value="0" />
+ <value cell_index="23116" local_entity="0" value="0" />
+ <value cell_index="23117" local_entity="0" value="0" />
+ <value cell_index="23118" local_entity="0" value="0" />
+ <value cell_index="23119" local_entity="0" value="0" />
+ <value cell_index="23120" local_entity="0" value="0" />
+ <value cell_index="23121" local_entity="0" value="0" />
+ <value cell_index="23122" local_entity="0" value="0" />
+ <value cell_index="23123" local_entity="0" value="0" />
+ <value cell_index="23124" local_entity="0" value="0" />
+ <value cell_index="23125" local_entity="0" value="0" />
+ <value cell_index="23126" local_entity="0" value="0" />
+ <value cell_index="23127" local_entity="0" value="0" />
+ <value cell_index="23128" local_entity="0" value="0" />
+ <value cell_index="23129" local_entity="0" value="0" />
+ <value cell_index="23130" local_entity="0" value="0" />
+ <value cell_index="23131" local_entity="0" value="0" />
+ <value cell_index="23132" local_entity="0" value="0" />
+ <value cell_index="23133" local_entity="0" value="0" />
+ <value cell_index="23134" local_entity="0" value="0" />
+ <value cell_index="23135" local_entity="0" value="0" />
+ <value cell_index="23136" local_entity="0" value="0" />
+ <value cell_index="23137" local_entity="0" value="0" />
+ <value cell_index="23138" local_entity="0" value="0" />
+ <value cell_index="23139" local_entity="0" value="0" />
+ <value cell_index="23140" local_entity="0" value="0" />
+ <value cell_index="23141" local_entity="0" value="0" />
+ <value cell_index="23142" local_entity="0" value="0" />
+ <value cell_index="23143" local_entity="0" value="0" />
+ <value cell_index="23144" local_entity="0" value="0" />
+ <value cell_index="23145" local_entity="0" value="0" />
+ <value cell_index="23146" local_entity="0" value="0" />
+ <value cell_index="23147" local_entity="0" value="0" />
+ <value cell_index="23148" local_entity="0" value="0" />
+ <value cell_index="23149" local_entity="0" value="0" />
+ <value cell_index="23150" local_entity="0" value="0" />
+ <value cell_index="23151" local_entity="0" value="0" />
+ <value cell_index="23152" local_entity="0" value="0" />
+ <value cell_index="23153" local_entity="0" value="0" />
+ <value cell_index="23154" local_entity="0" value="0" />
+ <value cell_index="23155" local_entity="0" value="0" />
+ <value cell_index="23156" local_entity="0" value="0" />
+ <value cell_index="23157" local_entity="0" value="0" />
+ <value cell_index="23158" local_entity="0" value="0" />
+ <value cell_index="23159" local_entity="0" value="0" />
+ <value cell_index="23160" local_entity="0" value="0" />
+ <value cell_index="23161" local_entity="0" value="0" />
+ <value cell_index="23162" local_entity="0" value="0" />
+ <value cell_index="23163" local_entity="0" value="0" />
+ <value cell_index="23164" local_entity="0" value="0" />
+ <value cell_index="23165" local_entity="0" value="0" />
+ <value cell_index="23166" local_entity="0" value="0" />
+ <value cell_index="23167" local_entity="0" value="0" />
+ <value cell_index="23168" local_entity="0" value="0" />
+ <value cell_index="23169" local_entity="0" value="0" />
+ <value cell_index="23170" local_entity="0" value="0" />
+ <value cell_index="23171" local_entity="0" value="0" />
+ <value cell_index="23172" local_entity="0" value="0" />
+ <value cell_index="23173" local_entity="0" value="0" />
+ <value cell_index="23174" local_entity="0" value="0" />
+ <value cell_index="23175" local_entity="0" value="0" />
+ <value cell_index="23176" local_entity="0" value="0" />
+ <value cell_index="23177" local_entity="0" value="0" />
+ <value cell_index="23178" local_entity="0" value="0" />
+ <value cell_index="23179" local_entity="0" value="0" />
+ <value cell_index="23180" local_entity="0" value="0" />
+ <value cell_index="23181" local_entity="0" value="0" />
+ <value cell_index="23182" local_entity="0" value="0" />
+ <value cell_index="23183" local_entity="0" value="0" />
+ <value cell_index="23184" local_entity="0" value="0" />
+ <value cell_index="23185" local_entity="0" value="0" />
+ <value cell_index="23186" local_entity="0" value="0" />
+ <value cell_index="23187" local_entity="0" value="0" />
+ <value cell_index="23188" local_entity="0" value="0" />
+ <value cell_index="23189" local_entity="0" value="0" />
+ <value cell_index="23190" local_entity="0" value="0" />
+ <value cell_index="23191" local_entity="0" value="0" />
+ <value cell_index="23192" local_entity="0" value="0" />
+ <value cell_index="23193" local_entity="0" value="0" />
+ <value cell_index="23194" local_entity="0" value="0" />
+ <value cell_index="23195" local_entity="0" value="0" />
+ <value cell_index="23196" local_entity="0" value="0" />
+ <value cell_index="23197" local_entity="0" value="0" />
+ <value cell_index="23198" local_entity="0" value="0" />
+ <value cell_index="23199" local_entity="0" value="0" />
+ <value cell_index="23200" local_entity="0" value="0" />
+ <value cell_index="23201" local_entity="0" value="0" />
+ <value cell_index="23202" local_entity="0" value="0" />
+ <value cell_index="23203" local_entity="0" value="0" />
+ <value cell_index="23204" local_entity="0" value="0" />
+ <value cell_index="23205" local_entity="0" value="0" />
+ <value cell_index="23206" local_entity="0" value="0" />
+ <value cell_index="23207" local_entity="0" value="0" />
+ <value cell_index="23208" local_entity="0" value="0" />
+ <value cell_index="23209" local_entity="0" value="0" />
+ <value cell_index="23210" local_entity="0" value="0" />
+ <value cell_index="23211" local_entity="0" value="0" />
+ <value cell_index="23212" local_entity="0" value="0" />
+ <value cell_index="23213" local_entity="0" value="0" />
+ <value cell_index="23214" local_entity="0" value="0" />
+ <value cell_index="23215" local_entity="0" value="0" />
+ <value cell_index="23216" local_entity="0" value="0" />
+ <value cell_index="23217" local_entity="0" value="0" />
+ <value cell_index="23218" local_entity="0" value="0" />
+ <value cell_index="23219" local_entity="0" value="0" />
+ <value cell_index="23220" local_entity="0" value="0" />
+ <value cell_index="23221" local_entity="0" value="0" />
+ <value cell_index="23222" local_entity="0" value="0" />
+ <value cell_index="23223" local_entity="0" value="0" />
+ <value cell_index="23224" local_entity="0" value="0" />
+ <value cell_index="23225" local_entity="0" value="0" />
+ <value cell_index="23226" local_entity="0" value="0" />
+ <value cell_index="23227" local_entity="0" value="0" />
+ <value cell_index="23228" local_entity="0" value="0" />
+ <value cell_index="23229" local_entity="0" value="0" />
+ <value cell_index="23230" local_entity="0" value="0" />
+ <value cell_index="23231" local_entity="0" value="0" />
+ <value cell_index="23232" local_entity="0" value="0" />
+ <value cell_index="23233" local_entity="0" value="0" />
+ <value cell_index="23234" local_entity="0" value="0" />
+ <value cell_index="23235" local_entity="0" value="0" />
+ <value cell_index="23236" local_entity="0" value="0" />
+ <value cell_index="23237" local_entity="0" value="0" />
+ <value cell_index="23238" local_entity="0" value="0" />
+ <value cell_index="23239" local_entity="0" value="0" />
+ <value cell_index="23240" local_entity="0" value="0" />
+ <value cell_index="23241" local_entity="0" value="0" />
+ <value cell_index="23242" local_entity="0" value="0" />
+ <value cell_index="23243" local_entity="0" value="0" />
+ <value cell_index="23244" local_entity="0" value="0" />
+ <value cell_index="23245" local_entity="0" value="0" />
+ <value cell_index="23246" local_entity="0" value="0" />
+ <value cell_index="23247" local_entity="0" value="0" />
+ <value cell_index="23248" local_entity="0" value="0" />
+ <value cell_index="23249" local_entity="0" value="0" />
+ <value cell_index="23250" local_entity="0" value="0" />
+ <value cell_index="23251" local_entity="0" value="0" />
+ <value cell_index="23252" local_entity="0" value="0" />
+ <value cell_index="23253" local_entity="0" value="0" />
+ <value cell_index="23254" local_entity="0" value="0" />
+ <value cell_index="23255" local_entity="0" value="0" />
+ <value cell_index="23256" local_entity="0" value="0" />
+ <value cell_index="23257" local_entity="0" value="0" />
+ <value cell_index="23258" local_entity="0" value="0" />
+ <value cell_index="23259" local_entity="0" value="0" />
+ <value cell_index="23260" local_entity="0" value="0" />
+ <value cell_index="23261" local_entity="0" value="0" />
+ <value cell_index="23262" local_entity="0" value="0" />
+ <value cell_index="23263" local_entity="0" value="0" />
+ <value cell_index="23264" local_entity="0" value="0" />
+ <value cell_index="23265" local_entity="0" value="0" />
+ <value cell_index="23266" local_entity="0" value="0" />
+ <value cell_index="23267" local_entity="0" value="0" />
+ <value cell_index="23268" local_entity="0" value="0" />
+ <value cell_index="23269" local_entity="0" value="0" />
+ <value cell_index="23270" local_entity="0" value="0" />
+ <value cell_index="23271" local_entity="0" value="0" />
+ <value cell_index="23272" local_entity="0" value="0" />
+ <value cell_index="23273" local_entity="0" value="0" />
+ <value cell_index="23274" local_entity="0" value="0" />
+ <value cell_index="23275" local_entity="0" value="0" />
+ <value cell_index="23276" local_entity="0" value="0" />
+ <value cell_index="23277" local_entity="0" value="0" />
+ <value cell_index="23278" local_entity="0" value="0" />
+ <value cell_index="23279" local_entity="0" value="0" />
+ <value cell_index="23280" local_entity="0" value="0" />
+ <value cell_index="23281" local_entity="0" value="0" />
+ <value cell_index="23282" local_entity="0" value="0" />
+ <value cell_index="23283" local_entity="0" value="0" />
+ <value cell_index="23284" local_entity="0" value="0" />
+ <value cell_index="23285" local_entity="0" value="0" />
+ <value cell_index="23286" local_entity="0" value="0" />
+ <value cell_index="23287" local_entity="0" value="0" />
+ <value cell_index="23288" local_entity="0" value="0" />
+ <value cell_index="23289" local_entity="0" value="0" />
+ <value cell_index="23290" local_entity="0" value="0" />
+ <value cell_index="23291" local_entity="0" value="0" />
+ <value cell_index="23292" local_entity="0" value="0" />
+ <value cell_index="23293" local_entity="0" value="0" />
+ <value cell_index="23294" local_entity="0" value="0" />
+ <value cell_index="23295" local_entity="0" value="0" />
+ <value cell_index="23296" local_entity="0" value="0" />
+ <value cell_index="23297" local_entity="0" value="0" />
+ <value cell_index="23298" local_entity="0" value="0" />
+ <value cell_index="23299" local_entity="0" value="0" />
+ <value cell_index="23300" local_entity="0" value="0" />
+ <value cell_index="23301" local_entity="0" value="0" />
+ <value cell_index="23302" local_entity="0" value="0" />
+ <value cell_index="23303" local_entity="0" value="0" />
+ <value cell_index="23304" local_entity="0" value="0" />
+ <value cell_index="23305" local_entity="0" value="0" />
+ <value cell_index="23306" local_entity="0" value="0" />
+ <value cell_index="23307" local_entity="0" value="0" />
+ <value cell_index="23308" local_entity="0" value="0" />
+ <value cell_index="23309" local_entity="0" value="0" />
+ <value cell_index="23310" local_entity="0" value="0" />
+ <value cell_index="23311" local_entity="0" value="0" />
+ <value cell_index="23312" local_entity="0" value="0" />
+ <value cell_index="23313" local_entity="0" value="0" />
+ <value cell_index="23314" local_entity="0" value="0" />
+ <value cell_index="23315" local_entity="0" value="0" />
+ <value cell_index="23316" local_entity="0" value="0" />
+ <value cell_index="23317" local_entity="0" value="0" />
+ <value cell_index="23318" local_entity="0" value="0" />
+ <value cell_index="23319" local_entity="0" value="0" />
+ <value cell_index="23320" local_entity="0" value="0" />
+ <value cell_index="23321" local_entity="0" value="0" />
+ <value cell_index="23322" local_entity="0" value="0" />
+ <value cell_index="23323" local_entity="0" value="0" />
+ <value cell_index="23324" local_entity="0" value="0" />
+ <value cell_index="23325" local_entity="0" value="0" />
+ <value cell_index="23326" local_entity="0" value="0" />
+ <value cell_index="23327" local_entity="0" value="0" />
+ <value cell_index="23328" local_entity="0" value="0" />
+ <value cell_index="23329" local_entity="0" value="0" />
+ <value cell_index="23330" local_entity="0" value="0" />
+ <value cell_index="23331" local_entity="0" value="0" />
+ <value cell_index="23332" local_entity="0" value="0" />
+ <value cell_index="23333" local_entity="0" value="0" />
+ <value cell_index="23334" local_entity="0" value="0" />
+ <value cell_index="23335" local_entity="0" value="0" />
+ <value cell_index="23336" local_entity="0" value="0" />
+ <value cell_index="23337" local_entity="0" value="0" />
+ <value cell_index="23338" local_entity="0" value="0" />
+ <value cell_index="23339" local_entity="0" value="0" />
+ <value cell_index="23340" local_entity="0" value="0" />
+ <value cell_index="23341" local_entity="0" value="0" />
+ <value cell_index="23342" local_entity="0" value="0" />
+ <value cell_index="23343" local_entity="0" value="0" />
+ <value cell_index="23344" local_entity="0" value="0" />
+ <value cell_index="23345" local_entity="0" value="0" />
+ <value cell_index="23346" local_entity="0" value="0" />
+ <value cell_index="23347" local_entity="0" value="0" />
+ <value cell_index="23348" local_entity="0" value="0" />
+ <value cell_index="23349" local_entity="0" value="0" />
+ <value cell_index="23350" local_entity="0" value="0" />
+ <value cell_index="23351" local_entity="0" value="0" />
+ <value cell_index="23352" local_entity="0" value="0" />
+ <value cell_index="23353" local_entity="0" value="0" />
+ <value cell_index="23354" local_entity="0" value="0" />
+ <value cell_index="23355" local_entity="0" value="0" />
+ <value cell_index="23356" local_entity="0" value="0" />
+ <value cell_index="23357" local_entity="0" value="0" />
+ <value cell_index="23358" local_entity="0" value="0" />
+ <value cell_index="23359" local_entity="0" value="0" />
+ <value cell_index="23360" local_entity="0" value="0" />
+ <value cell_index="23361" local_entity="0" value="0" />
+ <value cell_index="23362" local_entity="0" value="0" />
+ <value cell_index="23363" local_entity="0" value="0" />
+ <value cell_index="23364" local_entity="0" value="0" />
+ <value cell_index="23365" local_entity="0" value="0" />
+ <value cell_index="23366" local_entity="0" value="0" />
+ <value cell_index="23367" local_entity="0" value="0" />
+ <value cell_index="23368" local_entity="0" value="0" />
+ <value cell_index="23369" local_entity="0" value="0" />
+ <value cell_index="23370" local_entity="0" value="0" />
+ <value cell_index="23371" local_entity="0" value="0" />
+ <value cell_index="23372" local_entity="0" value="0" />
+ <value cell_index="23373" local_entity="0" value="0" />
+ <value cell_index="23374" local_entity="0" value="0" />
+ <value cell_index="23375" local_entity="0" value="0" />
+ <value cell_index="23376" local_entity="0" value="0" />
+ <value cell_index="23377" local_entity="0" value="0" />
+ <value cell_index="23378" local_entity="0" value="0" />
+ <value cell_index="23379" local_entity="0" value="0" />
+ <value cell_index="23380" local_entity="0" value="0" />
+ <value cell_index="23381" local_entity="0" value="0" />
+ <value cell_index="23382" local_entity="0" value="0" />
+ <value cell_index="23383" local_entity="0" value="0" />
+ <value cell_index="23384" local_entity="0" value="0" />
+ <value cell_index="23385" local_entity="0" value="0" />
+ <value cell_index="23386" local_entity="0" value="0" />
+ <value cell_index="23387" local_entity="0" value="0" />
+ <value cell_index="23388" local_entity="0" value="0" />
+ <value cell_index="23389" local_entity="0" value="0" />
+ <value cell_index="23390" local_entity="0" value="0" />
+ <value cell_index="23391" local_entity="0" value="0" />
+ <value cell_index="23392" local_entity="0" value="0" />
+ <value cell_index="23393" local_entity="0" value="0" />
+ <value cell_index="23394" local_entity="0" value="0" />
+ <value cell_index="23395" local_entity="0" value="0" />
+ <value cell_index="23396" local_entity="0" value="0" />
+ <value cell_index="23397" local_entity="0" value="0" />
+ <value cell_index="23398" local_entity="0" value="0" />
+ <value cell_index="23399" local_entity="0" value="0" />
+ <value cell_index="23400" local_entity="0" value="0" />
+ <value cell_index="23401" local_entity="0" value="0" />
+ <value cell_index="23402" local_entity="0" value="0" />
+ <value cell_index="23403" local_entity="0" value="0" />
+ <value cell_index="23404" local_entity="0" value="0" />
+ <value cell_index="23405" local_entity="0" value="0" />
+ <value cell_index="23406" local_entity="0" value="0" />
+ <value cell_index="23407" local_entity="0" value="0" />
+ <value cell_index="23408" local_entity="0" value="0" />
+ <value cell_index="23409" local_entity="0" value="0" />
+ <value cell_index="23410" local_entity="0" value="0" />
+ <value cell_index="23411" local_entity="0" value="0" />
+ <value cell_index="23412" local_entity="0" value="0" />
+ <value cell_index="23413" local_entity="0" value="0" />
+ <value cell_index="23414" local_entity="0" value="0" />
+ <value cell_index="23415" local_entity="0" value="0" />
+ <value cell_index="23416" local_entity="0" value="0" />
+ <value cell_index="23417" local_entity="0" value="0" />
+ <value cell_index="23418" local_entity="0" value="0" />
+ <value cell_index="23419" local_entity="0" value="0" />
+ <value cell_index="23420" local_entity="0" value="0" />
+ <value cell_index="23421" local_entity="0" value="0" />
+ <value cell_index="23422" local_entity="0" value="0" />
+ <value cell_index="23423" local_entity="0" value="0" />
+ <value cell_index="23424" local_entity="0" value="0" />
+ <value cell_index="23425" local_entity="0" value="0" />
+ <value cell_index="23426" local_entity="0" value="0" />
+ <value cell_index="23427" local_entity="0" value="0" />
+ <value cell_index="23428" local_entity="0" value="0" />
+ <value cell_index="23429" local_entity="0" value="0" />
+ <value cell_index="23430" local_entity="0" value="0" />
+ <value cell_index="23431" local_entity="0" value="0" />
+ <value cell_index="23432" local_entity="0" value="0" />
+ <value cell_index="23433" local_entity="0" value="0" />
+ <value cell_index="23434" local_entity="0" value="0" />
+ <value cell_index="23435" local_entity="0" value="0" />
+ <value cell_index="23436" local_entity="0" value="0" />
+ <value cell_index="23437" local_entity="0" value="0" />
+ <value cell_index="23438" local_entity="0" value="0" />
+ <value cell_index="23439" local_entity="0" value="0" />
+ <value cell_index="23440" local_entity="0" value="0" />
+ <value cell_index="23441" local_entity="0" value="0" />
+ <value cell_index="23442" local_entity="0" value="0" />
+ <value cell_index="23443" local_entity="0" value="0" />
+ <value cell_index="23444" local_entity="0" value="0" />
+ <value cell_index="23445" local_entity="0" value="0" />
+ <value cell_index="23446" local_entity="0" value="0" />
+ <value cell_index="23447" local_entity="0" value="0" />
+ <value cell_index="23448" local_entity="0" value="0" />
+ <value cell_index="23449" local_entity="0" value="0" />
+ <value cell_index="23450" local_entity="0" value="0" />
+ <value cell_index="23451" local_entity="0" value="0" />
+ <value cell_index="23452" local_entity="0" value="0" />
+ <value cell_index="23453" local_entity="0" value="0" />
+ <value cell_index="23454" local_entity="0" value="0" />
+ <value cell_index="23455" local_entity="0" value="0" />
+ <value cell_index="23456" local_entity="0" value="0" />
+ <value cell_index="23457" local_entity="0" value="0" />
+ <value cell_index="23458" local_entity="0" value="0" />
+ <value cell_index="23459" local_entity="0" value="0" />
+ <value cell_index="23460" local_entity="0" value="0" />
+ <value cell_index="23461" local_entity="0" value="0" />
+ <value cell_index="23462" local_entity="0" value="0" />
+ <value cell_index="23463" local_entity="0" value="0" />
+ <value cell_index="23464" local_entity="0" value="0" />
+ <value cell_index="23465" local_entity="0" value="0" />
+ <value cell_index="23466" local_entity="0" value="0" />
+ <value cell_index="23467" local_entity="0" value="0" />
+ <value cell_index="23468" local_entity="0" value="0" />
+ <value cell_index="23469" local_entity="0" value="0" />
+ <value cell_index="23470" local_entity="0" value="0" />
+ <value cell_index="23471" local_entity="0" value="0" />
+ <value cell_index="23472" local_entity="0" value="0" />
+ <value cell_index="23473" local_entity="0" value="0" />
+ <value cell_index="23474" local_entity="0" value="0" />
+ <value cell_index="23475" local_entity="0" value="0" />
+ <value cell_index="23476" local_entity="0" value="0" />
+ <value cell_index="23477" local_entity="0" value="0" />
+ <value cell_index="23478" local_entity="0" value="0" />
+ <value cell_index="23479" local_entity="0" value="0" />
+ <value cell_index="23480" local_entity="0" value="0" />
+ <value cell_index="23481" local_entity="0" value="0" />
+ <value cell_index="23482" local_entity="0" value="0" />
+ <value cell_index="23483" local_entity="0" value="0" />
+ <value cell_index="23484" local_entity="0" value="0" />
+ <value cell_index="23485" local_entity="0" value="0" />
+ <value cell_index="23486" local_entity="0" value="0" />
+ <value cell_index="23487" local_entity="0" value="0" />
+ <value cell_index="23488" local_entity="0" value="0" />
+ <value cell_index="23489" local_entity="0" value="0" />
+ <value cell_index="23490" local_entity="0" value="0" />
+ <value cell_index="23491" local_entity="0" value="0" />
+ <value cell_index="23492" local_entity="0" value="0" />
+ <value cell_index="23493" local_entity="0" value="0" />
+ <value cell_index="23494" local_entity="0" value="0" />
+ <value cell_index="23495" local_entity="0" value="0" />
+ <value cell_index="23496" local_entity="0" value="0" />
+ <value cell_index="23497" local_entity="0" value="0" />
+ <value cell_index="23498" local_entity="0" value="0" />
+ <value cell_index="23499" local_entity="0" value="0" />
+ <value cell_index="23500" local_entity="0" value="0" />
+ <value cell_index="23501" local_entity="0" value="0" />
+ <value cell_index="23502" local_entity="0" value="0" />
+ <value cell_index="23503" local_entity="0" value="0" />
+ <value cell_index="23504" local_entity="0" value="0" />
+ <value cell_index="23505" local_entity="0" value="0" />
+ <value cell_index="23506" local_entity="0" value="0" />
+ <value cell_index="23507" local_entity="0" value="0" />
+ <value cell_index="23508" local_entity="0" value="0" />
+ <value cell_index="23509" local_entity="0" value="0" />
+ <value cell_index="23510" local_entity="0" value="0" />
+ <value cell_index="23511" local_entity="0" value="0" />
+ <value cell_index="23512" local_entity="0" value="0" />
+ <value cell_index="23513" local_entity="0" value="0" />
+ <value cell_index="23514" local_entity="0" value="0" />
+ <value cell_index="23515" local_entity="0" value="0" />
+ <value cell_index="23516" local_entity="0" value="0" />
+ <value cell_index="23517" local_entity="0" value="0" />
+ <value cell_index="23518" local_entity="0" value="0" />
+ <value cell_index="23519" local_entity="0" value="0" />
+ <value cell_index="23520" local_entity="0" value="0" />
+ <value cell_index="23521" local_entity="0" value="0" />
+ <value cell_index="23522" local_entity="0" value="0" />
+ <value cell_index="23523" local_entity="0" value="0" />
+ <value cell_index="23524" local_entity="0" value="0" />
+ <value cell_index="23525" local_entity="0" value="0" />
+ <value cell_index="23526" local_entity="0" value="0" />
+ <value cell_index="23527" local_entity="0" value="0" />
+ <value cell_index="23528" local_entity="0" value="0" />
+ <value cell_index="23529" local_entity="0" value="0" />
+ <value cell_index="23530" local_entity="0" value="0" />
+ <value cell_index="23531" local_entity="0" value="0" />
+ <value cell_index="23532" local_entity="0" value="0" />
+ <value cell_index="23533" local_entity="0" value="0" />
+ <value cell_index="23534" local_entity="0" value="0" />
+ <value cell_index="23535" local_entity="0" value="0" />
+ <value cell_index="23536" local_entity="0" value="0" />
+ <value cell_index="23537" local_entity="0" value="0" />
+ <value cell_index="23538" local_entity="0" value="0" />
+ <value cell_index="23539" local_entity="0" value="0" />
+ <value cell_index="23540" local_entity="0" value="0" />
+ <value cell_index="23541" local_entity="0" value="0" />
+ <value cell_index="23542" local_entity="0" value="0" />
+ <value cell_index="23543" local_entity="0" value="0" />
+ <value cell_index="23544" local_entity="0" value="0" />
+ <value cell_index="23545" local_entity="0" value="0" />
+ <value cell_index="23546" local_entity="0" value="0" />
+ <value cell_index="23547" local_entity="0" value="0" />
+ <value cell_index="23548" local_entity="0" value="0" />
+ <value cell_index="23549" local_entity="0" value="0" />
+ <value cell_index="23550" local_entity="0" value="0" />
+ <value cell_index="23551" local_entity="0" value="0" />
+ <value cell_index="23552" local_entity="0" value="0" />
+ <value cell_index="23553" local_entity="0" value="0" />
+ <value cell_index="23554" local_entity="0" value="0" />
+ <value cell_index="23555" local_entity="0" value="0" />
+ <value cell_index="23556" local_entity="0" value="0" />
+ <value cell_index="23557" local_entity="0" value="0" />
+ <value cell_index="23558" local_entity="0" value="0" />
+ <value cell_index="23559" local_entity="0" value="0" />
+ <value cell_index="23560" local_entity="0" value="0" />
+ <value cell_index="23561" local_entity="0" value="0" />
+ <value cell_index="23562" local_entity="0" value="0" />
+ <value cell_index="23563" local_entity="0" value="0" />
+ <value cell_index="23564" local_entity="0" value="0" />
+ <value cell_index="23565" local_entity="0" value="0" />
+ <value cell_index="23566" local_entity="0" value="0" />
+ <value cell_index="23567" local_entity="0" value="0" />
+ <value cell_index="23568" local_entity="0" value="0" />
+ <value cell_index="23569" local_entity="0" value="0" />
+ <value cell_index="23570" local_entity="0" value="0" />
+ <value cell_index="23571" local_entity="0" value="0" />
+ <value cell_index="23572" local_entity="0" value="0" />
+ <value cell_index="23573" local_entity="0" value="0" />
+ <value cell_index="23574" local_entity="0" value="0" />
+ <value cell_index="23575" local_entity="0" value="0" />
+ <value cell_index="23576" local_entity="0" value="0" />
+ <value cell_index="23577" local_entity="0" value="0" />
+ <value cell_index="23578" local_entity="0" value="0" />
+ <value cell_index="23579" local_entity="0" value="0" />
+ <value cell_index="23580" local_entity="0" value="0" />
+ <value cell_index="23581" local_entity="0" value="0" />
+ <value cell_index="23582" local_entity="0" value="0" />
+ <value cell_index="23583" local_entity="0" value="0" />
+ <value cell_index="23584" local_entity="0" value="0" />
+ <value cell_index="23585" local_entity="0" value="0" />
+ <value cell_index="23586" local_entity="0" value="0" />
+ <value cell_index="23587" local_entity="0" value="0" />
+ <value cell_index="23588" local_entity="0" value="0" />
+ <value cell_index="23589" local_entity="0" value="0" />
+ <value cell_index="23590" local_entity="0" value="0" />
+ <value cell_index="23591" local_entity="0" value="0" />
+ <value cell_index="23592" local_entity="0" value="0" />
+ <value cell_index="23593" local_entity="0" value="0" />
+ <value cell_index="23594" local_entity="0" value="0" />
+ <value cell_index="23595" local_entity="0" value="0" />
+ <value cell_index="23596" local_entity="0" value="0" />
+ <value cell_index="23597" local_entity="0" value="0" />
+ <value cell_index="23598" local_entity="0" value="0" />
+ <value cell_index="23599" local_entity="0" value="0" />
+ <value cell_index="23600" local_entity="0" value="0" />
+ <value cell_index="23601" local_entity="0" value="0" />
+ <value cell_index="23602" local_entity="0" value="0" />
+ <value cell_index="23603" local_entity="0" value="0" />
+ <value cell_index="23604" local_entity="0" value="0" />
+ <value cell_index="23605" local_entity="0" value="0" />
+ <value cell_index="23606" local_entity="0" value="0" />
+ <value cell_index="23607" local_entity="0" value="0" />
+ <value cell_index="23608" local_entity="0" value="0" />
+ <value cell_index="23609" local_entity="0" value="0" />
+ <value cell_index="23610" local_entity="0" value="0" />
+ <value cell_index="23611" local_entity="0" value="0" />
+ <value cell_index="23612" local_entity="0" value="0" />
+ <value cell_index="23613" local_entity="0" value="0" />
+ <value cell_index="23614" local_entity="0" value="0" />
+ <value cell_index="23615" local_entity="0" value="0" />
+ <value cell_index="23616" local_entity="0" value="0" />
+ <value cell_index="23617" local_entity="0" value="0" />
+ <value cell_index="23618" local_entity="0" value="0" />
+ <value cell_index="23619" local_entity="0" value="0" />
+ <value cell_index="23620" local_entity="0" value="0" />
+ <value cell_index="23621" local_entity="0" value="0" />
+ <value cell_index="23622" local_entity="0" value="0" />
+ <value cell_index="23623" local_entity="0" value="0" />
+ <value cell_index="23624" local_entity="0" value="0" />
+ <value cell_index="23625" local_entity="0" value="0" />
+ <value cell_index="23626" local_entity="0" value="0" />
+ <value cell_index="23627" local_entity="0" value="0" />
+ <value cell_index="23628" local_entity="0" value="0" />
+ <value cell_index="23629" local_entity="0" value="0" />
+ <value cell_index="23630" local_entity="0" value="0" />
+ <value cell_index="23631" local_entity="0" value="0" />
+ <value cell_index="23632" local_entity="0" value="0" />
+ <value cell_index="23633" local_entity="0" value="0" />
+ <value cell_index="23634" local_entity="0" value="0" />
+ <value cell_index="23635" local_entity="0" value="0" />
+ <value cell_index="23636" local_entity="0" value="0" />
+ <value cell_index="23637" local_entity="0" value="0" />
+ <value cell_index="23638" local_entity="0" value="0" />
+ <value cell_index="23639" local_entity="0" value="0" />
+ <value cell_index="23640" local_entity="0" value="0" />
+ <value cell_index="23641" local_entity="0" value="0" />
+ <value cell_index="23642" local_entity="0" value="0" />
+ <value cell_index="23643" local_entity="0" value="0" />
+ <value cell_index="23644" local_entity="0" value="0" />
+ <value cell_index="23645" local_entity="0" value="0" />
+ <value cell_index="23646" local_entity="0" value="0" />
+ <value cell_index="23647" local_entity="0" value="0" />
+ <value cell_index="23648" local_entity="0" value="0" />
+ <value cell_index="23649" local_entity="0" value="0" />
+ <value cell_index="23650" local_entity="0" value="0" />
+ <value cell_index="23651" local_entity="0" value="0" />
+ <value cell_index="23652" local_entity="0" value="0" />
+ <value cell_index="23653" local_entity="0" value="0" />
+ <value cell_index="23654" local_entity="0" value="0" />
+ <value cell_index="23655" local_entity="0" value="0" />
+ <value cell_index="23656" local_entity="0" value="0" />
+ <value cell_index="23657" local_entity="0" value="0" />
+ <value cell_index="23658" local_entity="0" value="0" />
+ <value cell_index="23659" local_entity="0" value="0" />
+ <value cell_index="23660" local_entity="0" value="0" />
+ <value cell_index="23661" local_entity="0" value="0" />
+ <value cell_index="23662" local_entity="0" value="0" />
+ <value cell_index="23663" local_entity="0" value="0" />
+ <value cell_index="23664" local_entity="0" value="0" />
+ <value cell_index="23665" local_entity="0" value="0" />
+ <value cell_index="23666" local_entity="0" value="0" />
+ <value cell_index="23667" local_entity="0" value="0" />
+ <value cell_index="23668" local_entity="0" value="0" />
+ <value cell_index="23669" local_entity="0" value="0" />
+ <value cell_index="23670" local_entity="0" value="0" />
+ <value cell_index="23671" local_entity="0" value="0" />
+ <value cell_index="23672" local_entity="0" value="0" />
+ <value cell_index="23673" local_entity="0" value="0" />
+ <value cell_index="23674" local_entity="0" value="0" />
+ <value cell_index="23675" local_entity="0" value="0" />
+ <value cell_index="23676" local_entity="0" value="0" />
+ <value cell_index="23677" local_entity="0" value="0" />
+ <value cell_index="23678" local_entity="0" value="0" />
+ <value cell_index="23679" local_entity="0" value="0" />
+ <value cell_index="23680" local_entity="0" value="0" />
+ <value cell_index="23681" local_entity="0" value="0" />
+ <value cell_index="23682" local_entity="0" value="0" />
+ <value cell_index="23683" local_entity="0" value="0" />
+ <value cell_index="23684" local_entity="0" value="0" />
+ <value cell_index="23685" local_entity="0" value="0" />
+ <value cell_index="23686" local_entity="0" value="0" />
+ <value cell_index="23687" local_entity="0" value="0" />
+ <value cell_index="23688" local_entity="0" value="0" />
+ <value cell_index="23689" local_entity="0" value="0" />
+ <value cell_index="23690" local_entity="0" value="0" />
+ <value cell_index="23691" local_entity="0" value="0" />
+ <value cell_index="23692" local_entity="0" value="0" />
+ <value cell_index="23693" local_entity="0" value="0" />
+ <value cell_index="23694" local_entity="0" value="0" />
+ <value cell_index="23695" local_entity="0" value="0" />
+ <value cell_index="23696" local_entity="0" value="0" />
+ <value cell_index="23697" local_entity="0" value="0" />
+ <value cell_index="23698" local_entity="0" value="0" />
+ <value cell_index="23699" local_entity="0" value="0" />
+ <value cell_index="23700" local_entity="0" value="0" />
+ <value cell_index="23701" local_entity="0" value="0" />
+ <value cell_index="23702" local_entity="0" value="0" />
+ <value cell_index="23703" local_entity="0" value="0" />
+ <value cell_index="23704" local_entity="0" value="0" />
+ <value cell_index="23705" local_entity="0" value="0" />
+ <value cell_index="23706" local_entity="0" value="0" />
+ <value cell_index="23707" local_entity="0" value="0" />
+ <value cell_index="23708" local_entity="0" value="0" />
+ <value cell_index="23709" local_entity="0" value="0" />
+ <value cell_index="23710" local_entity="0" value="0" />
+ <value cell_index="23711" local_entity="0" value="0" />
+ <value cell_index="23712" local_entity="0" value="0" />
+ <value cell_index="23713" local_entity="0" value="0" />
+ <value cell_index="23714" local_entity="0" value="0" />
+ <value cell_index="23715" local_entity="0" value="0" />
+ <value cell_index="23716" local_entity="0" value="0" />
+ <value cell_index="23717" local_entity="0" value="0" />
+ <value cell_index="23718" local_entity="0" value="0" />
+ <value cell_index="23719" local_entity="0" value="0" />
+ <value cell_index="23720" local_entity="0" value="0" />
+ <value cell_index="23721" local_entity="0" value="0" />
+ <value cell_index="23722" local_entity="0" value="0" />
+ <value cell_index="23723" local_entity="0" value="0" />
+ <value cell_index="23724" local_entity="0" value="0" />
+ <value cell_index="23725" local_entity="0" value="0" />
+ <value cell_index="23726" local_entity="0" value="0" />
+ <value cell_index="23727" local_entity="0" value="0" />
+ <value cell_index="23728" local_entity="0" value="0" />
+ <value cell_index="23729" local_entity="0" value="0" />
+ <value cell_index="23730" local_entity="0" value="0" />
+ <value cell_index="23731" local_entity="0" value="0" />
+ <value cell_index="23732" local_entity="0" value="0" />
+ <value cell_index="23733" local_entity="0" value="0" />
+ <value cell_index="23734" local_entity="0" value="0" />
+ <value cell_index="23735" local_entity="0" value="0" />
+ <value cell_index="23736" local_entity="0" value="0" />
+ <value cell_index="23737" local_entity="0" value="0" />
+ <value cell_index="23738" local_entity="0" value="0" />
+ <value cell_index="23739" local_entity="0" value="0" />
+ <value cell_index="23740" local_entity="0" value="0" />
+ <value cell_index="23741" local_entity="0" value="0" />
+ <value cell_index="23742" local_entity="0" value="0" />
+ <value cell_index="23743" local_entity="0" value="0" />
+ <value cell_index="23744" local_entity="0" value="0" />
+ <value cell_index="23745" local_entity="0" value="0" />
+ <value cell_index="23746" local_entity="0" value="0" />
+ <value cell_index="23747" local_entity="0" value="0" />
+ <value cell_index="23748" local_entity="0" value="0" />
+ <value cell_index="23749" local_entity="0" value="0" />
+ <value cell_index="23750" local_entity="0" value="0" />
+ <value cell_index="23751" local_entity="0" value="0" />
+ <value cell_index="23752" local_entity="0" value="0" />
+ <value cell_index="23753" local_entity="0" value="0" />
+ <value cell_index="23754" local_entity="0" value="0" />
+ <value cell_index="23755" local_entity="0" value="0" />
+ <value cell_index="23756" local_entity="0" value="0" />
+ <value cell_index="23757" local_entity="0" value="0" />
+ <value cell_index="23758" local_entity="0" value="0" />
+ <value cell_index="23759" local_entity="0" value="0" />
+ <value cell_index="23760" local_entity="0" value="0" />
+ <value cell_index="23761" local_entity="0" value="0" />
+ <value cell_index="23762" local_entity="0" value="0" />
+ <value cell_index="23763" local_entity="0" value="0" />
+ <value cell_index="23764" local_entity="0" value="0" />
+ <value cell_index="23765" local_entity="0" value="0" />
+ <value cell_index="23766" local_entity="0" value="0" />
+ <value cell_index="23767" local_entity="0" value="0" />
+ <value cell_index="23768" local_entity="0" value="0" />
+ <value cell_index="23769" local_entity="0" value="0" />
+ <value cell_index="23770" local_entity="0" value="0" />
+ <value cell_index="23771" local_entity="0" value="0" />
+ <value cell_index="23772" local_entity="0" value="0" />
+ <value cell_index="23773" local_entity="0" value="0" />
+ <value cell_index="23774" local_entity="0" value="0" />
+ <value cell_index="23775" local_entity="0" value="0" />
+ <value cell_index="23776" local_entity="0" value="0" />
+ <value cell_index="23777" local_entity="0" value="0" />
+ <value cell_index="23778" local_entity="0" value="0" />
+ <value cell_index="23779" local_entity="0" value="0" />
+ <value cell_index="23780" local_entity="0" value="0" />
+ <value cell_index="23781" local_entity="0" value="0" />
+ <value cell_index="23782" local_entity="0" value="0" />
+ <value cell_index="23783" local_entity="0" value="0" />
+ <value cell_index="23784" local_entity="0" value="0" />
+ <value cell_index="23785" local_entity="0" value="0" />
+ <value cell_index="23786" local_entity="0" value="0" />
+ <value cell_index="23787" local_entity="0" value="0" />
+ <value cell_index="23788" local_entity="0" value="0" />
+ <value cell_index="23789" local_entity="0" value="0" />
+ <value cell_index="23790" local_entity="0" value="0" />
+ <value cell_index="23791" local_entity="0" value="0" />
+ <value cell_index="23792" local_entity="0" value="0" />
+ <value cell_index="23793" local_entity="0" value="0" />
+ <value cell_index="23794" local_entity="0" value="0" />
+ <value cell_index="23795" local_entity="0" value="0" />
+ <value cell_index="23796" local_entity="0" value="0" />
+ <value cell_index="23797" local_entity="0" value="0" />
+ <value cell_index="23798" local_entity="0" value="0" />
+ <value cell_index="23799" local_entity="0" value="0" />
+ <value cell_index="23800" local_entity="0" value="0" />
+ <value cell_index="23801" local_entity="0" value="0" />
+ <value cell_index="23802" local_entity="0" value="0" />
+ <value cell_index="23803" local_entity="0" value="0" />
+ <value cell_index="23804" local_entity="0" value="0" />
+ <value cell_index="23805" local_entity="0" value="0" />
+ <value cell_index="23806" local_entity="0" value="0" />
+ <value cell_index="23807" local_entity="0" value="0" />
+ <value cell_index="23808" local_entity="0" value="0" />
+ <value cell_index="23809" local_entity="0" value="0" />
+ <value cell_index="23810" local_entity="0" value="0" />
+ <value cell_index="23811" local_entity="0" value="0" />
+ <value cell_index="23812" local_entity="0" value="0" />
+ <value cell_index="23813" local_entity="0" value="0" />
+ <value cell_index="23814" local_entity="0" value="0" />
+ <value cell_index="23815" local_entity="0" value="0" />
+ <value cell_index="23816" local_entity="0" value="0" />
+ <value cell_index="23817" local_entity="0" value="0" />
+ <value cell_index="23818" local_entity="0" value="0" />
+ <value cell_index="23819" local_entity="0" value="0" />
+ <value cell_index="23820" local_entity="0" value="0" />
+ <value cell_index="23821" local_entity="0" value="0" />
+ <value cell_index="23822" local_entity="0" value="0" />
+ <value cell_index="23823" local_entity="0" value="0" />
+ <value cell_index="23824" local_entity="0" value="0" />
+ <value cell_index="23825" local_entity="0" value="0" />
+ <value cell_index="23826" local_entity="0" value="0" />
+ <value cell_index="23827" local_entity="0" value="0" />
+ <value cell_index="23828" local_entity="0" value="0" />
+ <value cell_index="23829" local_entity="0" value="0" />
+ <value cell_index="23830" local_entity="0" value="0" />
+ <value cell_index="23831" local_entity="0" value="0" />
+ <value cell_index="23832" local_entity="0" value="0" />
+ <value cell_index="23833" local_entity="0" value="0" />
+ <value cell_index="23834" local_entity="0" value="0" />
+ <value cell_index="23835" local_entity="0" value="0" />
+ <value cell_index="23836" local_entity="0" value="0" />
+ <value cell_index="23837" local_entity="0" value="0" />
+ <value cell_index="23838" local_entity="0" value="0" />
+ <value cell_index="23839" local_entity="0" value="0" />
+ <value cell_index="23840" local_entity="0" value="0" />
+ <value cell_index="23841" local_entity="0" value="0" />
+ <value cell_index="23842" local_entity="0" value="0" />
+ <value cell_index="23843" local_entity="0" value="0" />
+ <value cell_index="23844" local_entity="0" value="0" />
+ <value cell_index="23845" local_entity="0" value="0" />
+ <value cell_index="23846" local_entity="0" value="0" />
+ <value cell_index="23847" local_entity="0" value="0" />
+ <value cell_index="23848" local_entity="0" value="0" />
+ <value cell_index="23849" local_entity="0" value="0" />
+ <value cell_index="23850" local_entity="0" value="0" />
+ <value cell_index="23851" local_entity="0" value="0" />
+ <value cell_index="23852" local_entity="0" value="0" />
+ <value cell_index="23853" local_entity="0" value="0" />
+ <value cell_index="23854" local_entity="0" value="0" />
+ <value cell_index="23855" local_entity="0" value="0" />
+ <value cell_index="23856" local_entity="0" value="0" />
+ <value cell_index="23857" local_entity="0" value="0" />
+ <value cell_index="23858" local_entity="0" value="0" />
+ <value cell_index="23859" local_entity="0" value="0" />
+ <value cell_index="23860" local_entity="0" value="0" />
+ <value cell_index="23861" local_entity="0" value="0" />
+ <value cell_index="23862" local_entity="0" value="0" />
+ <value cell_index="23863" local_entity="0" value="0" />
+ <value cell_index="23864" local_entity="0" value="0" />
+ <value cell_index="23865" local_entity="0" value="0" />
+ <value cell_index="23866" local_entity="0" value="0" />
+ <value cell_index="23867" local_entity="0" value="0" />
+ <value cell_index="23868" local_entity="0" value="0" />
+ <value cell_index="23869" local_entity="0" value="0" />
+ <value cell_index="23870" local_entity="0" value="0" />
+ <value cell_index="23871" local_entity="0" value="0" />
+ <value cell_index="23872" local_entity="0" value="0" />
+ <value cell_index="23873" local_entity="0" value="0" />
+ <value cell_index="23874" local_entity="0" value="0" />
+ <value cell_index="23875" local_entity="0" value="0" />
+ <value cell_index="23876" local_entity="0" value="0" />
+ <value cell_index="23877" local_entity="0" value="0" />
+ <value cell_index="23878" local_entity="0" value="0" />
+ <value cell_index="23879" local_entity="0" value="0" />
+ <value cell_index="23880" local_entity="0" value="0" />
+ <value cell_index="23881" local_entity="0" value="0" />
+ <value cell_index="23882" local_entity="0" value="0" />
+ <value cell_index="23883" local_entity="0" value="0" />
+ <value cell_index="23884" local_entity="0" value="0" />
+ <value cell_index="23885" local_entity="0" value="0" />
+ <value cell_index="23886" local_entity="0" value="0" />
+ <value cell_index="23887" local_entity="0" value="0" />
+ <value cell_index="23888" local_entity="0" value="0" />
+ <value cell_index="23889" local_entity="0" value="0" />
+ <value cell_index="23890" local_entity="0" value="0" />
+ <value cell_index="23891" local_entity="0" value="0" />
+ <value cell_index="23892" local_entity="0" value="0" />
+ <value cell_index="23893" local_entity="0" value="0" />
+ <value cell_index="23894" local_entity="0" value="0" />
+ <value cell_index="23895" local_entity="0" value="0" />
+ <value cell_index="23896" local_entity="0" value="0" />
+ <value cell_index="23897" local_entity="0" value="0" />
+ <value cell_index="23898" local_entity="0" value="0" />
+ <value cell_index="23899" local_entity="0" value="0" />
+ <value cell_index="23900" local_entity="0" value="0" />
+ <value cell_index="23901" local_entity="0" value="0" />
+ <value cell_index="23902" local_entity="0" value="0" />
+ <value cell_index="23903" local_entity="0" value="0" />
+ <value cell_index="23904" local_entity="0" value="0" />
+ <value cell_index="23905" local_entity="0" value="0" />
+ <value cell_index="23906" local_entity="0" value="0" />
+ <value cell_index="23907" local_entity="0" value="0" />
+ <value cell_index="23908" local_entity="0" value="0" />
+ <value cell_index="23909" local_entity="0" value="0" />
+ <value cell_index="23910" local_entity="0" value="0" />
+ <value cell_index="23911" local_entity="0" value="0" />
+ <value cell_index="23912" local_entity="0" value="0" />
+ <value cell_index="23913" local_entity="0" value="0" />
+ <value cell_index="23914" local_entity="0" value="0" />
+ <value cell_index="23915" local_entity="0" value="0" />
+ <value cell_index="23916" local_entity="0" value="0" />
+ <value cell_index="23917" local_entity="0" value="0" />
+ <value cell_index="23918" local_entity="0" value="0" />
+ <value cell_index="23919" local_entity="0" value="0" />
+ <value cell_index="23920" local_entity="0" value="0" />
+ <value cell_index="23921" local_entity="0" value="0" />
+ <value cell_index="23922" local_entity="0" value="0" />
+ <value cell_index="23923" local_entity="0" value="0" />
+ <value cell_index="23924" local_entity="0" value="0" />
+ <value cell_index="23925" local_entity="0" value="0" />
+ <value cell_index="23926" local_entity="0" value="0" />
+ <value cell_index="23927" local_entity="0" value="0" />
+ <value cell_index="23928" local_entity="0" value="0" />
+ <value cell_index="23929" local_entity="0" value="0" />
+ <value cell_index="23930" local_entity="0" value="0" />
+ <value cell_index="23931" local_entity="0" value="0" />
+ <value cell_index="23932" local_entity="0" value="0" />
+ <value cell_index="23933" local_entity="0" value="0" />
+ <value cell_index="23934" local_entity="0" value="0" />
+ <value cell_index="23935" local_entity="0" value="0" />
+ <value cell_index="23936" local_entity="0" value="0" />
+ <value cell_index="23937" local_entity="0" value="0" />
+ <value cell_index="23938" local_entity="0" value="0" />
+ <value cell_index="23939" local_entity="0" value="0" />
+ <value cell_index="23940" local_entity="0" value="0" />
+ <value cell_index="23941" local_entity="0" value="0" />
+ <value cell_index="23942" local_entity="0" value="0" />
+ <value cell_index="23943" local_entity="0" value="0" />
+ <value cell_index="23944" local_entity="0" value="0" />
+ <value cell_index="23945" local_entity="0" value="0" />
+ <value cell_index="23946" local_entity="0" value="0" />
+ <value cell_index="23947" local_entity="0" value="0" />
+ <value cell_index="23948" local_entity="0" value="0" />
+ <value cell_index="23949" local_entity="0" value="0" />
+ <value cell_index="23950" local_entity="0" value="0" />
+ <value cell_index="23951" local_entity="0" value="0" />
+ <value cell_index="23952" local_entity="0" value="0" />
+ <value cell_index="23953" local_entity="0" value="0" />
+ <value cell_index="23954" local_entity="0" value="0" />
+ <value cell_index="23955" local_entity="0" value="0" />
+ <value cell_index="23956" local_entity="0" value="0" />
+ <value cell_index="23957" local_entity="0" value="0" />
+ <value cell_index="23958" local_entity="0" value="0" />
+ <value cell_index="23959" local_entity="0" value="0" />
+ <value cell_index="23960" local_entity="0" value="0" />
+ <value cell_index="23961" local_entity="0" value="0" />
+ <value cell_index="23962" local_entity="0" value="0" />
+ <value cell_index="23963" local_entity="0" value="0" />
+ <value cell_index="23964" local_entity="0" value="0" />
+ <value cell_index="23965" local_entity="0" value="0" />
+ <value cell_index="23966" local_entity="0" value="0" />
+ <value cell_index="23967" local_entity="0" value="0" />
+ <value cell_index="23968" local_entity="0" value="0" />
+ <value cell_index="23969" local_entity="0" value="0" />
+ <value cell_index="23970" local_entity="0" value="0" />
+ <value cell_index="23971" local_entity="0" value="0" />
+ <value cell_index="23972" local_entity="0" value="0" />
+ <value cell_index="23973" local_entity="0" value="0" />
+ <value cell_index="23974" local_entity="0" value="0" />
+ <value cell_index="23975" local_entity="0" value="0" />
+ <value cell_index="23976" local_entity="0" value="0" />
+ <value cell_index="23977" local_entity="0" value="0" />
+ <value cell_index="23978" local_entity="0" value="0" />
+ <value cell_index="23979" local_entity="0" value="0" />
+ <value cell_index="23980" local_entity="0" value="0" />
+ <value cell_index="23981" local_entity="0" value="0" />
+ <value cell_index="23982" local_entity="0" value="0" />
+ <value cell_index="23983" local_entity="0" value="0" />
+ <value cell_index="23984" local_entity="0" value="0" />
+ <value cell_index="23985" local_entity="0" value="0" />
+ <value cell_index="23986" local_entity="0" value="0" />
+ <value cell_index="23987" local_entity="0" value="0" />
+ <value cell_index="23988" local_entity="0" value="0" />
+ <value cell_index="23989" local_entity="0" value="0" />
+ <value cell_index="23990" local_entity="0" value="0" />
+ <value cell_index="23991" local_entity="0" value="0" />
+ <value cell_index="23992" local_entity="0" value="0" />
+ <value cell_index="23993" local_entity="0" value="0" />
+ <value cell_index="23994" local_entity="0" value="0" />
+ <value cell_index="23995" local_entity="0" value="0" />
+ <value cell_index="23996" local_entity="0" value="0" />
+ <value cell_index="23997" local_entity="0" value="0" />
+ <value cell_index="23998" local_entity="0" value="0" />
+ <value cell_index="23999" local_entity="0" value="0" />
+ <value cell_index="24000" local_entity="0" value="0" />
+ <value cell_index="24001" local_entity="0" value="0" />
+ <value cell_index="24002" local_entity="0" value="0" />
+ <value cell_index="24003" local_entity="0" value="0" />
+ <value cell_index="24004" local_entity="0" value="0" />
+ <value cell_index="24005" local_entity="0" value="0" />
+ <value cell_index="24006" local_entity="0" value="0" />
+ <value cell_index="24007" local_entity="0" value="0" />
+ <value cell_index="24008" local_entity="0" value="0" />
+ <value cell_index="24009" local_entity="0" value="0" />
+ <value cell_index="24010" local_entity="0" value="0" />
+ <value cell_index="24011" local_entity="0" value="0" />
+ <value cell_index="24012" local_entity="0" value="0" />
+ <value cell_index="24013" local_entity="0" value="0" />
+ <value cell_index="24014" local_entity="0" value="0" />
+ <value cell_index="24015" local_entity="0" value="0" />
+ <value cell_index="24016" local_entity="0" value="0" />
+ <value cell_index="24017" local_entity="0" value="0" />
+ <value cell_index="24018" local_entity="0" value="0" />
+ <value cell_index="24019" local_entity="0" value="0" />
+ <value cell_index="24020" local_entity="0" value="0" />
+ <value cell_index="24021" local_entity="0" value="0" />
+ <value cell_index="24022" local_entity="0" value="0" />
+ <value cell_index="24023" local_entity="0" value="0" />
+ <value cell_index="24024" local_entity="0" value="0" />
+ <value cell_index="24025" local_entity="0" value="0" />
+ <value cell_index="24026" local_entity="0" value="0" />
+ <value cell_index="24027" local_entity="0" value="0" />
+ <value cell_index="24028" local_entity="0" value="0" />
+ <value cell_index="24029" local_entity="0" value="0" />
+ <value cell_index="24030" local_entity="0" value="0" />
+ <value cell_index="24031" local_entity="0" value="0" />
+ <value cell_index="24032" local_entity="0" value="0" />
+ <value cell_index="24033" local_entity="0" value="0" />
+ <value cell_index="24034" local_entity="0" value="0" />
+ <value cell_index="24035" local_entity="0" value="0" />
+ <value cell_index="24036" local_entity="0" value="0" />
+ <value cell_index="24037" local_entity="0" value="0" />
+ <value cell_index="24038" local_entity="0" value="0" />
+ <value cell_index="24039" local_entity="0" value="0" />
+ <value cell_index="24040" local_entity="0" value="0" />
+ <value cell_index="24041" local_entity="0" value="0" />
+ <value cell_index="24042" local_entity="0" value="0" />
+ <value cell_index="24043" local_entity="0" value="0" />
+ <value cell_index="24044" local_entity="0" value="0" />
+ <value cell_index="24045" local_entity="0" value="0" />
+ <value cell_index="24046" local_entity="0" value="0" />
+ <value cell_index="24047" local_entity="0" value="0" />
+ <value cell_index="24048" local_entity="0" value="0" />
+ <value cell_index="24049" local_entity="0" value="0" />
+ <value cell_index="24050" local_entity="0" value="0" />
+ <value cell_index="24051" local_entity="0" value="0" />
+ <value cell_index="24052" local_entity="0" value="0" />
+ <value cell_index="24053" local_entity="0" value="0" />
+ <value cell_index="24054" local_entity="0" value="0" />
+ <value cell_index="24055" local_entity="0" value="0" />
+ <value cell_index="24056" local_entity="0" value="0" />
+ <value cell_index="24057" local_entity="0" value="0" />
+ <value cell_index="24058" local_entity="0" value="0" />
+ <value cell_index="24059" local_entity="0" value="0" />
+ <value cell_index="24060" local_entity="0" value="0" />
+ <value cell_index="24061" local_entity="0" value="0" />
+ <value cell_index="24062" local_entity="0" value="0" />
+ <value cell_index="24063" local_entity="0" value="0" />
+ <value cell_index="24064" local_entity="0" value="0" />
+ <value cell_index="24065" local_entity="0" value="0" />
+ <value cell_index="24066" local_entity="0" value="0" />
+ <value cell_index="24067" local_entity="0" value="0" />
+ <value cell_index="24068" local_entity="0" value="0" />
+ <value cell_index="24069" local_entity="0" value="0" />
+ <value cell_index="24070" local_entity="0" value="0" />
+ <value cell_index="24071" local_entity="0" value="0" />
+ <value cell_index="24072" local_entity="0" value="0" />
+ <value cell_index="24073" local_entity="0" value="0" />
+ <value cell_index="24074" local_entity="0" value="0" />
+ <value cell_index="24075" local_entity="0" value="0" />
+ <value cell_index="24076" local_entity="0" value="0" />
+ <value cell_index="24077" local_entity="0" value="0" />
+ <value cell_index="24078" local_entity="0" value="0" />
+ <value cell_index="24079" local_entity="0" value="0" />
+ <value cell_index="24080" local_entity="0" value="0" />
+ <value cell_index="24081" local_entity="0" value="0" />
+ <value cell_index="24082" local_entity="0" value="0" />
+ <value cell_index="24083" local_entity="0" value="0" />
+ <value cell_index="24084" local_entity="0" value="0" />
+ <value cell_index="24085" local_entity="0" value="0" />
+ <value cell_index="24086" local_entity="0" value="0" />
+ <value cell_index="24087" local_entity="0" value="0" />
+ <value cell_index="24088" local_entity="0" value="0" />
+ <value cell_index="24089" local_entity="0" value="0" />
+ <value cell_index="24090" local_entity="0" value="0" />
+ <value cell_index="24091" local_entity="0" value="0" />
+ <value cell_index="24092" local_entity="0" value="0" />
+ <value cell_index="24093" local_entity="0" value="0" />
+ <value cell_index="24094" local_entity="0" value="0" />
+ <value cell_index="24095" local_entity="0" value="0" />
+ <value cell_index="24096" local_entity="0" value="0" />
+ <value cell_index="24097" local_entity="0" value="0" />
+ <value cell_index="24098" local_entity="0" value="0" />
+ <value cell_index="24099" local_entity="0" value="0" />
+ <value cell_index="24100" local_entity="0" value="0" />
+ <value cell_index="24101" local_entity="0" value="0" />
+ <value cell_index="24102" local_entity="0" value="0" />
+ <value cell_index="24103" local_entity="0" value="0" />
+ <value cell_index="24104" local_entity="0" value="0" />
+ <value cell_index="24105" local_entity="0" value="0" />
+ <value cell_index="24106" local_entity="0" value="0" />
+ <value cell_index="24107" local_entity="0" value="0" />
+ <value cell_index="24108" local_entity="0" value="0" />
+ <value cell_index="24109" local_entity="0" value="0" />
+ <value cell_index="24110" local_entity="0" value="0" />
+ <value cell_index="24111" local_entity="0" value="0" />
+ <value cell_index="24112" local_entity="0" value="0" />
+ <value cell_index="24113" local_entity="0" value="0" />
+ <value cell_index="24114" local_entity="0" value="0" />
+ <value cell_index="24115" local_entity="0" value="0" />
+ <value cell_index="24116" local_entity="0" value="0" />
+ <value cell_index="24117" local_entity="0" value="0" />
+ <value cell_index="24118" local_entity="0" value="0" />
+ <value cell_index="24119" local_entity="0" value="0" />
+ <value cell_index="24120" local_entity="0" value="0" />
+ <value cell_index="24121" local_entity="0" value="0" />
+ <value cell_index="24122" local_entity="0" value="0" />
+ <value cell_index="24123" local_entity="0" value="0" />
+ <value cell_index="24124" local_entity="0" value="0" />
+ <value cell_index="24125" local_entity="0" value="0" />
+ <value cell_index="24126" local_entity="0" value="0" />
+ <value cell_index="24127" local_entity="0" value="0" />
+ <value cell_index="24128" local_entity="0" value="0" />
+ <value cell_index="24129" local_entity="0" value="0" />
+ <value cell_index="24130" local_entity="0" value="0" />
+ <value cell_index="24131" local_entity="0" value="0" />
+ <value cell_index="24132" local_entity="0" value="0" />
+ <value cell_index="24133" local_entity="0" value="0" />
+ <value cell_index="24134" local_entity="0" value="0" />
+ <value cell_index="24135" local_entity="0" value="0" />
+ <value cell_index="24136" local_entity="0" value="0" />
+ <value cell_index="24137" local_entity="0" value="0" />
+ <value cell_index="24138" local_entity="0" value="0" />
+ <value cell_index="24139" local_entity="0" value="0" />
+ <value cell_index="24140" local_entity="0" value="0" />
+ <value cell_index="24141" local_entity="0" value="0" />
+ <value cell_index="24142" local_entity="0" value="0" />
+ <value cell_index="24143" local_entity="0" value="0" />
+ <value cell_index="24144" local_entity="0" value="0" />
+ <value cell_index="24145" local_entity="0" value="0" />
+ <value cell_index="24146" local_entity="0" value="0" />
+ <value cell_index="24147" local_entity="0" value="0" />
+ <value cell_index="24148" local_entity="0" value="0" />
+ <value cell_index="24149" local_entity="0" value="0" />
+ <value cell_index="24150" local_entity="0" value="0" />
+ <value cell_index="24151" local_entity="0" value="0" />
+ <value cell_index="24152" local_entity="0" value="0" />
+ <value cell_index="24153" local_entity="0" value="0" />
+ <value cell_index="24154" local_entity="0" value="0" />
+ <value cell_index="24155" local_entity="0" value="0" />
+ <value cell_index="24156" local_entity="0" value="0" />
+ <value cell_index="24157" local_entity="0" value="0" />
+ <value cell_index="24158" local_entity="0" value="0" />
+ <value cell_index="24159" local_entity="0" value="0" />
+ <value cell_index="24160" local_entity="0" value="0" />
+ <value cell_index="24161" local_entity="0" value="0" />
+ <value cell_index="24162" local_entity="0" value="0" />
+ <value cell_index="24163" local_entity="0" value="0" />
+ <value cell_index="24164" local_entity="0" value="0" />
+ <value cell_index="24165" local_entity="0" value="0" />
+ <value cell_index="24166" local_entity="0" value="0" />
+ <value cell_index="24167" local_entity="0" value="0" />
+ <value cell_index="24168" local_entity="0" value="0" />
+ <value cell_index="24169" local_entity="0" value="0" />
+ <value cell_index="24170" local_entity="0" value="0" />
+ <value cell_index="24171" local_entity="0" value="0" />
+ <value cell_index="24172" local_entity="0" value="0" />
+ <value cell_index="24173" local_entity="0" value="0" />
+ <value cell_index="24174" local_entity="0" value="0" />
+ <value cell_index="24175" local_entity="0" value="0" />
+ <value cell_index="24176" local_entity="0" value="0" />
+ <value cell_index="24177" local_entity="0" value="0" />
+ <value cell_index="24178" local_entity="0" value="0" />
+ <value cell_index="24179" local_entity="0" value="0" />
+ <value cell_index="24180" local_entity="0" value="0" />
+ <value cell_index="24181" local_entity="0" value="0" />
+ <value cell_index="24182" local_entity="0" value="0" />
+ <value cell_index="24183" local_entity="0" value="0" />
+ <value cell_index="24184" local_entity="0" value="0" />
+ <value cell_index="24185" local_entity="0" value="0" />
+ <value cell_index="24186" local_entity="0" value="0" />
+ <value cell_index="24187" local_entity="0" value="0" />
+ <value cell_index="24188" local_entity="0" value="0" />
+ <value cell_index="24189" local_entity="0" value="0" />
+ <value cell_index="24190" local_entity="0" value="0" />
+ <value cell_index="24191" local_entity="0" value="0" />
+ <value cell_index="24192" local_entity="0" value="0" />
+ <value cell_index="24193" local_entity="0" value="0" />
+ <value cell_index="24194" local_entity="0" value="0" />
+ <value cell_index="24195" local_entity="0" value="0" />
+ <value cell_index="24196" local_entity="0" value="0" />
+ <value cell_index="24197" local_entity="0" value="0" />
+ <value cell_index="24198" local_entity="0" value="0" />
+ <value cell_index="24199" local_entity="0" value="0" />
+ <value cell_index="24200" local_entity="0" value="0" />
+ <value cell_index="24201" local_entity="0" value="0" />
+ <value cell_index="24202" local_entity="0" value="0" />
+ <value cell_index="24203" local_entity="0" value="0" />
+ <value cell_index="24204" local_entity="0" value="0" />
+ <value cell_index="24205" local_entity="0" value="0" />
+ <value cell_index="24206" local_entity="0" value="0" />
+ <value cell_index="24207" local_entity="0" value="0" />
+ <value cell_index="24208" local_entity="0" value="0" />
+ <value cell_index="24209" local_entity="0" value="0" />
+ <value cell_index="24210" local_entity="0" value="0" />
+ <value cell_index="24211" local_entity="0" value="0" />
+ <value cell_index="24212" local_entity="0" value="0" />
+ <value cell_index="24213" local_entity="0" value="0" />
+ <value cell_index="24214" local_entity="0" value="0" />
+ <value cell_index="24215" local_entity="0" value="0" />
+ <value cell_index="24216" local_entity="0" value="0" />
+ <value cell_index="24217" local_entity="0" value="0" />
+ <value cell_index="24218" local_entity="0" value="0" />
+ <value cell_index="24219" local_entity="0" value="0" />
+ <value cell_index="24220" local_entity="0" value="0" />
+ <value cell_index="24221" local_entity="0" value="0" />
+ <value cell_index="24222" local_entity="0" value="0" />
+ <value cell_index="24223" local_entity="0" value="0" />
+ <value cell_index="24224" local_entity="0" value="0" />
+ <value cell_index="24225" local_entity="0" value="0" />
+ <value cell_index="24226" local_entity="0" value="0" />
+ <value cell_index="24227" local_entity="0" value="0" />
+ <value cell_index="24228" local_entity="0" value="0" />
+ <value cell_index="24229" local_entity="0" value="0" />
+ <value cell_index="24230" local_entity="0" value="0" />
+ <value cell_index="24231" local_entity="0" value="0" />
+ <value cell_index="24232" local_entity="0" value="0" />
+ <value cell_index="24233" local_entity="0" value="0" />
+ <value cell_index="24234" local_entity="0" value="0" />
+ <value cell_index="24235" local_entity="0" value="0" />
+ <value cell_index="24236" local_entity="0" value="0" />
+ <value cell_index="24237" local_entity="0" value="0" />
+ <value cell_index="24238" local_entity="0" value="0" />
+ <value cell_index="24239" local_entity="0" value="0" />
+ <value cell_index="24240" local_entity="0" value="0" />
+ <value cell_index="24241" local_entity="0" value="0" />
+ <value cell_index="24242" local_entity="0" value="0" />
+ <value cell_index="24243" local_entity="0" value="0" />
+ <value cell_index="24244" local_entity="0" value="0" />
+ <value cell_index="24245" local_entity="0" value="0" />
+ <value cell_index="24246" local_entity="0" value="0" />
+ <value cell_index="24247" local_entity="0" value="0" />
+ <value cell_index="24248" local_entity="0" value="0" />
+ <value cell_index="24249" local_entity="0" value="0" />
+ <value cell_index="24250" local_entity="0" value="0" />
+ <value cell_index="24251" local_entity="0" value="0" />
+ <value cell_index="24252" local_entity="0" value="0" />
+ <value cell_index="24253" local_entity="0" value="0" />
+ <value cell_index="24254" local_entity="0" value="0" />
+ <value cell_index="24255" local_entity="0" value="0" />
+ <value cell_index="24256" local_entity="0" value="0" />
+ <value cell_index="24257" local_entity="0" value="0" />
+ <value cell_index="24258" local_entity="0" value="0" />
+ <value cell_index="24259" local_entity="0" value="0" />
+ <value cell_index="24260" local_entity="0" value="0" />
+ <value cell_index="24261" local_entity="0" value="0" />
+ <value cell_index="24262" local_entity="0" value="0" />
+ <value cell_index="24263" local_entity="0" value="0" />
+ <value cell_index="24264" local_entity="0" value="0" />
+ <value cell_index="24265" local_entity="0" value="0" />
+ <value cell_index="24266" local_entity="0" value="0" />
+ <value cell_index="24267" local_entity="0" value="0" />
+ <value cell_index="24268" local_entity="0" value="0" />
+ <value cell_index="24269" local_entity="0" value="0" />
+ <value cell_index="24270" local_entity="0" value="0" />
+ <value cell_index="24271" local_entity="0" value="0" />
+ <value cell_index="24272" local_entity="0" value="0" />
+ <value cell_index="24273" local_entity="0" value="0" />
+ <value cell_index="24274" local_entity="0" value="0" />
+ <value cell_index="24275" local_entity="0" value="0" />
+ <value cell_index="24276" local_entity="0" value="0" />
+ <value cell_index="24277" local_entity="0" value="0" />
+ <value cell_index="24278" local_entity="0" value="0" />
+ <value cell_index="24279" local_entity="0" value="0" />
+ <value cell_index="24280" local_entity="0" value="0" />
+ <value cell_index="24281" local_entity="0" value="0" />
+ <value cell_index="24282" local_entity="0" value="0" />
+ <value cell_index="24283" local_entity="0" value="0" />
+ <value cell_index="24284" local_entity="0" value="0" />
+ <value cell_index="24285" local_entity="0" value="0" />
+ <value cell_index="24286" local_entity="0" value="0" />
+ <value cell_index="24287" local_entity="0" value="0" />
+ <value cell_index="24288" local_entity="0" value="0" />
+ <value cell_index="24289" local_entity="0" value="0" />
+ <value cell_index="24290" local_entity="0" value="0" />
+ <value cell_index="24291" local_entity="0" value="0" />
+ <value cell_index="24292" local_entity="0" value="0" />
+ <value cell_index="24293" local_entity="0" value="0" />
+ <value cell_index="24294" local_entity="0" value="0" />
+ <value cell_index="24295" local_entity="0" value="0" />
+ <value cell_index="24296" local_entity="0" value="0" />
+ <value cell_index="24297" local_entity="0" value="0" />
+ <value cell_index="24298" local_entity="0" value="0" />
+ <value cell_index="24299" local_entity="0" value="0" />
+ <value cell_index="24300" local_entity="0" value="0" />
+ <value cell_index="24301" local_entity="0" value="0" />
+ <value cell_index="24302" local_entity="0" value="0" />
+ <value cell_index="24303" local_entity="0" value="0" />
+ <value cell_index="24304" local_entity="0" value="0" />
+ <value cell_index="24305" local_entity="0" value="0" />
+ <value cell_index="24306" local_entity="0" value="0" />
+ <value cell_index="24307" local_entity="0" value="0" />
+ <value cell_index="24308" local_entity="0" value="0" />
+ <value cell_index="24309" local_entity="0" value="0" />
+ <value cell_index="24310" local_entity="0" value="0" />
+ <value cell_index="24311" local_entity="0" value="0" />
+ <value cell_index="24312" local_entity="0" value="0" />
+ <value cell_index="24313" local_entity="0" value="0" />
+ <value cell_index="24314" local_entity="0" value="0" />
+ <value cell_index="24315" local_entity="0" value="0" />
+ <value cell_index="24316" local_entity="0" value="0" />
+ <value cell_index="24317" local_entity="0" value="0" />
+ <value cell_index="24318" local_entity="0" value="0" />
+ <value cell_index="24319" local_entity="0" value="0" />
+ <value cell_index="24320" local_entity="0" value="0" />
+ <value cell_index="24321" local_entity="0" value="0" />
+ <value cell_index="24322" local_entity="0" value="0" />
+ <value cell_index="24323" local_entity="0" value="0" />
+ <value cell_index="24324" local_entity="0" value="0" />
+ <value cell_index="24325" local_entity="0" value="0" />
+ <value cell_index="24326" local_entity="0" value="0" />
+ <value cell_index="24327" local_entity="0" value="0" />
+ <value cell_index="24328" local_entity="0" value="0" />
+ <value cell_index="24329" local_entity="0" value="0" />
+ <value cell_index="24330" local_entity="0" value="0" />
+ <value cell_index="24331" local_entity="0" value="0" />
+ <value cell_index="24332" local_entity="0" value="0" />
+ <value cell_index="24333" local_entity="0" value="0" />
+ <value cell_index="24334" local_entity="0" value="0" />
+ <value cell_index="24335" local_entity="0" value="0" />
+ <value cell_index="24336" local_entity="0" value="0" />
+ <value cell_index="24337" local_entity="0" value="0" />
+ <value cell_index="24338" local_entity="0" value="0" />
+ <value cell_index="24339" local_entity="0" value="0" />
+ <value cell_index="24340" local_entity="0" value="0" />
+ <value cell_index="24341" local_entity="0" value="0" />
+ <value cell_index="24342" local_entity="0" value="0" />
+ <value cell_index="24343" local_entity="0" value="0" />
+ <value cell_index="24344" local_entity="0" value="0" />
+ <value cell_index="24345" local_entity="0" value="0" />
+ <value cell_index="24346" local_entity="0" value="0" />
+ <value cell_index="24347" local_entity="0" value="0" />
+ <value cell_index="24348" local_entity="0" value="0" />
+ <value cell_index="24349" local_entity="0" value="0" />
+ <value cell_index="24350" local_entity="0" value="0" />
+ <value cell_index="24351" local_entity="0" value="0" />
+ <value cell_index="24352" local_entity="0" value="0" />
+ <value cell_index="24353" local_entity="0" value="0" />
+ <value cell_index="24354" local_entity="0" value="0" />
+ <value cell_index="24355" local_entity="0" value="0" />
+ <value cell_index="24356" local_entity="0" value="0" />
+ <value cell_index="24357" local_entity="0" value="0" />
+ <value cell_index="24358" local_entity="0" value="0" />
+ <value cell_index="24359" local_entity="0" value="0" />
+ <value cell_index="24360" local_entity="0" value="0" />
+ <value cell_index="24361" local_entity="0" value="0" />
+ <value cell_index="24362" local_entity="0" value="0" />
+ <value cell_index="24363" local_entity="0" value="0" />
+ <value cell_index="24364" local_entity="0" value="0" />
+ <value cell_index="24365" local_entity="0" value="0" />
+ <value cell_index="24366" local_entity="0" value="0" />
+ <value cell_index="24367" local_entity="0" value="0" />
+ <value cell_index="24368" local_entity="0" value="0" />
+ <value cell_index="24369" local_entity="0" value="0" />
+ <value cell_index="24370" local_entity="0" value="0" />
+ <value cell_index="24371" local_entity="0" value="0" />
+ <value cell_index="24372" local_entity="0" value="0" />
+ <value cell_index="24373" local_entity="0" value="0" />
+ <value cell_index="24374" local_entity="0" value="0" />
+ <value cell_index="24375" local_entity="0" value="0" />
+ <value cell_index="24376" local_entity="0" value="0" />
+ <value cell_index="24377" local_entity="0" value="0" />
+ <value cell_index="24378" local_entity="0" value="0" />
+ <value cell_index="24379" local_entity="0" value="0" />
+ <value cell_index="24380" local_entity="0" value="0" />
+ <value cell_index="24381" local_entity="0" value="0" />
+ <value cell_index="24382" local_entity="0" value="0" />
+ <value cell_index="24383" local_entity="0" value="0" />
+ <value cell_index="24384" local_entity="0" value="0" />
+ <value cell_index="24385" local_entity="0" value="0" />
+ <value cell_index="24386" local_entity="0" value="0" />
+ <value cell_index="24387" local_entity="0" value="0" />
+ <value cell_index="24388" local_entity="0" value="0" />
+ <value cell_index="24389" local_entity="0" value="0" />
+ <value cell_index="24390" local_entity="0" value="0" />
+ <value cell_index="24391" local_entity="0" value="0" />
+ <value cell_index="24392" local_entity="0" value="0" />
+ <value cell_index="24393" local_entity="0" value="0" />
+ <value cell_index="24394" local_entity="0" value="0" />
+ <value cell_index="24395" local_entity="0" value="0" />
+ <value cell_index="24396" local_entity="0" value="0" />
+ <value cell_index="24397" local_entity="0" value="0" />
+ <value cell_index="24398" local_entity="0" value="0" />
+ <value cell_index="24399" local_entity="0" value="0" />
+ <value cell_index="24400" local_entity="0" value="0" />
+ <value cell_index="24401" local_entity="0" value="0" />
+ <value cell_index="24402" local_entity="0" value="0" />
+ <value cell_index="24403" local_entity="0" value="0" />
+ <value cell_index="24404" local_entity="0" value="0" />
+ <value cell_index="24405" local_entity="0" value="0" />
+ <value cell_index="24406" local_entity="0" value="0" />
+ <value cell_index="24407" local_entity="0" value="0" />
+ <value cell_index="24408" local_entity="0" value="0" />
+ <value cell_index="24409" local_entity="0" value="0" />
+ <value cell_index="24410" local_entity="0" value="0" />
+ <value cell_index="24411" local_entity="0" value="0" />
+ <value cell_index="24412" local_entity="0" value="0" />
+ <value cell_index="24413" local_entity="0" value="0" />
+ <value cell_index="24414" local_entity="0" value="0" />
+ <value cell_index="24415" local_entity="0" value="0" />
+ <value cell_index="24416" local_entity="0" value="0" />
+ <value cell_index="24417" local_entity="0" value="0" />
+ <value cell_index="24418" local_entity="0" value="0" />
+ <value cell_index="24419" local_entity="0" value="0" />
+ <value cell_index="24420" local_entity="0" value="0" />
+ <value cell_index="24421" local_entity="0" value="0" />
+ <value cell_index="24422" local_entity="0" value="0" />
+ <value cell_index="24423" local_entity="0" value="0" />
+ <value cell_index="24424" local_entity="0" value="0" />
+ <value cell_index="24425" local_entity="0" value="0" />
+ <value cell_index="24426" local_entity="0" value="0" />
+ <value cell_index="24427" local_entity="0" value="0" />
+ <value cell_index="24428" local_entity="0" value="0" />
+ <value cell_index="24429" local_entity="0" value="0" />
+ <value cell_index="24430" local_entity="0" value="0" />
+ <value cell_index="24431" local_entity="0" value="0" />
+ <value cell_index="24432" local_entity="0" value="0" />
+ <value cell_index="24433" local_entity="0" value="0" />
+ <value cell_index="24434" local_entity="0" value="0" />
+ <value cell_index="24435" local_entity="0" value="0" />
+ <value cell_index="24436" local_entity="0" value="0" />
+ <value cell_index="24437" local_entity="0" value="0" />
+ <value cell_index="24438" local_entity="0" value="0" />
+ <value cell_index="24439" local_entity="0" value="0" />
+ <value cell_index="24440" local_entity="0" value="0" />
+ <value cell_index="24441" local_entity="0" value="0" />
+ <value cell_index="24442" local_entity="0" value="0" />
+ <value cell_index="24443" local_entity="0" value="0" />
+ <value cell_index="24444" local_entity="0" value="0" />
+ <value cell_index="24445" local_entity="0" value="0" />
+ <value cell_index="24446" local_entity="0" value="0" />
+ <value cell_index="24447" local_entity="0" value="0" />
+ <value cell_index="24448" local_entity="0" value="0" />
+ <value cell_index="24449" local_entity="0" value="0" />
+ <value cell_index="24450" local_entity="0" value="0" />
+ <value cell_index="24451" local_entity="0" value="0" />
+ <value cell_index="24452" local_entity="0" value="0" />
+ <value cell_index="24453" local_entity="0" value="0" />
+ <value cell_index="24454" local_entity="0" value="0" />
+ <value cell_index="24455" local_entity="0" value="0" />
+ <value cell_index="24456" local_entity="0" value="0" />
+ <value cell_index="24457" local_entity="0" value="0" />
+ <value cell_index="24458" local_entity="0" value="0" />
+ <value cell_index="24459" local_entity="0" value="0" />
+ <value cell_index="24460" local_entity="0" value="0" />
+ <value cell_index="24461" local_entity="0" value="0" />
+ <value cell_index="24462" local_entity="0" value="0" />
+ <value cell_index="24463" local_entity="0" value="0" />
+ <value cell_index="24464" local_entity="0" value="0" />
+ <value cell_index="24465" local_entity="0" value="0" />
+ <value cell_index="24466" local_entity="0" value="0" />
+ <value cell_index="24467" local_entity="0" value="0" />
+ <value cell_index="24468" local_entity="0" value="0" />
+ <value cell_index="24469" local_entity="0" value="0" />
+ <value cell_index="24470" local_entity="0" value="0" />
+ <value cell_index="24471" local_entity="0" value="0" />
+ <value cell_index="24472" local_entity="0" value="0" />
+ <value cell_index="24473" local_entity="0" value="0" />
+ <value cell_index="24474" local_entity="0" value="0" />
+ <value cell_index="24475" local_entity="0" value="0" />
+ <value cell_index="24476" local_entity="0" value="0" />
+ <value cell_index="24477" local_entity="0" value="0" />
+ <value cell_index="24478" local_entity="0" value="0" />
+ <value cell_index="24479" local_entity="0" value="0" />
+ <value cell_index="24480" local_entity="0" value="0" />
+ <value cell_index="24481" local_entity="0" value="0" />
+ <value cell_index="24482" local_entity="0" value="0" />
+ <value cell_index="24483" local_entity="0" value="0" />
+ <value cell_index="24484" local_entity="0" value="0" />
+ <value cell_index="24485" local_entity="0" value="0" />
+ <value cell_index="24486" local_entity="0" value="0" />
+ <value cell_index="24487" local_entity="0" value="0" />
+ <value cell_index="24488" local_entity="0" value="0" />
+ <value cell_index="24489" local_entity="0" value="0" />
+ <value cell_index="24490" local_entity="0" value="0" />
+ <value cell_index="24491" local_entity="0" value="0" />
+ <value cell_index="24492" local_entity="0" value="0" />
+ <value cell_index="24493" local_entity="0" value="0" />
+ <value cell_index="24494" local_entity="0" value="0" />
+ <value cell_index="24495" local_entity="0" value="0" />
+ <value cell_index="24496" local_entity="0" value="0" />
+ <value cell_index="24497" local_entity="0" value="0" />
+ <value cell_index="24498" local_entity="0" value="0" />
+ <value cell_index="24499" local_entity="0" value="0" />
+ <value cell_index="24500" local_entity="0" value="0" />
+ <value cell_index="24501" local_entity="0" value="0" />
+ <value cell_index="24502" local_entity="0" value="0" />
+ <value cell_index="24503" local_entity="0" value="0" />
+ <value cell_index="24504" local_entity="0" value="0" />
+ <value cell_index="24505" local_entity="0" value="0" />
+ <value cell_index="24506" local_entity="0" value="0" />
+ <value cell_index="24507" local_entity="0" value="0" />
+ <value cell_index="24508" local_entity="0" value="0" />
+ <value cell_index="24509" local_entity="0" value="0" />
+ <value cell_index="24510" local_entity="0" value="0" />
+ <value cell_index="24511" local_entity="0" value="0" />
+ <value cell_index="24512" local_entity="0" value="0" />
+ <value cell_index="24513" local_entity="0" value="0" />
+ <value cell_index="24514" local_entity="0" value="0" />
+ <value cell_index="24515" local_entity="0" value="0" />
+ <value cell_index="24516" local_entity="0" value="0" />
+ <value cell_index="24517" local_entity="0" value="0" />
+ <value cell_index="24518" local_entity="0" value="0" />
+ <value cell_index="24519" local_entity="0" value="0" />
+ <value cell_index="24520" local_entity="0" value="0" />
+ <value cell_index="24521" local_entity="0" value="0" />
+ <value cell_index="24522" local_entity="0" value="0" />
+ <value cell_index="24523" local_entity="0" value="0" />
+ <value cell_index="24524" local_entity="0" value="0" />
+ <value cell_index="24525" local_entity="0" value="0" />
+ <value cell_index="24526" local_entity="0" value="0" />
+ <value cell_index="24527" local_entity="0" value="0" />
+ <value cell_index="24528" local_entity="0" value="0" />
+ <value cell_index="24529" local_entity="0" value="0" />
+ <value cell_index="24530" local_entity="0" value="0" />
+ <value cell_index="24531" local_entity="0" value="0" />
+ <value cell_index="24532" local_entity="0" value="0" />
+ <value cell_index="24533" local_entity="0" value="0" />
+ <value cell_index="24534" local_entity="0" value="0" />
+ <value cell_index="24535" local_entity="0" value="0" />
+ <value cell_index="24536" local_entity="0" value="0" />
+ <value cell_index="24537" local_entity="0" value="0" />
+ <value cell_index="24538" local_entity="0" value="0" />
+ <value cell_index="24539" local_entity="0" value="0" />
+ <value cell_index="24540" local_entity="0" value="0" />
+ <value cell_index="24541" local_entity="0" value="0" />
+ <value cell_index="24542" local_entity="0" value="0" />
+ <value cell_index="24543" local_entity="0" value="0" />
+ <value cell_index="24544" local_entity="0" value="0" />
+ <value cell_index="24545" local_entity="0" value="0" />
+ <value cell_index="24546" local_entity="0" value="0" />
+ <value cell_index="24547" local_entity="0" value="0" />
+ <value cell_index="24548" local_entity="0" value="0" />
+ <value cell_index="24549" local_entity="0" value="0" />
+ <value cell_index="24550" local_entity="0" value="0" />
+ <value cell_index="24551" local_entity="0" value="0" />
+ <value cell_index="24552" local_entity="0" value="0" />
+ <value cell_index="24553" local_entity="0" value="0" />
+ <value cell_index="24554" local_entity="0" value="0" />
+ <value cell_index="24555" local_entity="0" value="0" />
+ <value cell_index="24556" local_entity="0" value="0" />
+ <value cell_index="24557" local_entity="0" value="0" />
+ <value cell_index="24558" local_entity="0" value="0" />
+ <value cell_index="24559" local_entity="0" value="0" />
+ <value cell_index="24560" local_entity="0" value="0" />
+ <value cell_index="24561" local_entity="0" value="0" />
+ <value cell_index="24562" local_entity="0" value="0" />
+ <value cell_index="24563" local_entity="0" value="0" />
+ <value cell_index="24564" local_entity="0" value="0" />
+ <value cell_index="24565" local_entity="0" value="0" />
+ <value cell_index="24566" local_entity="0" value="0" />
+ <value cell_index="24567" local_entity="0" value="0" />
+ <value cell_index="24568" local_entity="0" value="0" />
+ <value cell_index="24569" local_entity="0" value="0" />
+ <value cell_index="24570" local_entity="0" value="0" />
+ <value cell_index="24571" local_entity="0" value="0" />
+ <value cell_index="24572" local_entity="0" value="0" />
+ <value cell_index="24573" local_entity="0" value="0" />
+ <value cell_index="24574" local_entity="0" value="0" />
+ <value cell_index="24575" local_entity="0" value="0" />
+ <value cell_index="24576" local_entity="0" value="0" />
+ <value cell_index="24577" local_entity="0" value="0" />
+ <value cell_index="24578" local_entity="0" value="0" />
+ <value cell_index="24579" local_entity="0" value="0" />
+ <value cell_index="24580" local_entity="0" value="0" />
+ <value cell_index="24581" local_entity="0" value="0" />
+ <value cell_index="24582" local_entity="0" value="0" />
+ <value cell_index="24583" local_entity="0" value="0" />
+ <value cell_index="24584" local_entity="0" value="0" />
+ <value cell_index="24585" local_entity="0" value="0" />
+ <value cell_index="24586" local_entity="0" value="0" />
+ <value cell_index="24587" local_entity="0" value="0" />
+ <value cell_index="24588" local_entity="0" value="0" />
+ <value cell_index="24589" local_entity="0" value="0" />
+ <value cell_index="24590" local_entity="0" value="0" />
+ <value cell_index="24591" local_entity="0" value="0" />
+ <value cell_index="24592" local_entity="0" value="0" />
+ <value cell_index="24593" local_entity="0" value="0" />
+ <value cell_index="24594" local_entity="0" value="0" />
+ <value cell_index="24595" local_entity="0" value="0" />
+ <value cell_index="24596" local_entity="0" value="0" />
+ <value cell_index="24597" local_entity="0" value="0" />
+ <value cell_index="24598" local_entity="0" value="0" />
+ <value cell_index="24599" local_entity="0" value="0" />
+ <value cell_index="24600" local_entity="0" value="0" />
+ <value cell_index="24601" local_entity="0" value="0" />
+ <value cell_index="24602" local_entity="0" value="0" />
+ <value cell_index="24603" local_entity="0" value="0" />
+ <value cell_index="24604" local_entity="0" value="0" />
+ <value cell_index="24605" local_entity="0" value="0" />
+ <value cell_index="24606" local_entity="0" value="0" />
+ <value cell_index="24607" local_entity="0" value="0" />
+ <value cell_index="24608" local_entity="0" value="0" />
+ <value cell_index="24609" local_entity="0" value="0" />
+ <value cell_index="24610" local_entity="0" value="0" />
+ <value cell_index="24611" local_entity="0" value="0" />
+ <value cell_index="24612" local_entity="0" value="0" />
+ <value cell_index="24613" local_entity="0" value="0" />
+ <value cell_index="24614" local_entity="0" value="0" />
+ <value cell_index="24615" local_entity="0" value="0" />
+ <value cell_index="24616" local_entity="0" value="0" />
+ <value cell_index="24617" local_entity="0" value="0" />
+ <value cell_index="24618" local_entity="0" value="0" />
+ <value cell_index="24619" local_entity="0" value="0" />
+ <value cell_index="24620" local_entity="0" value="0" />
+ <value cell_index="24621" local_entity="0" value="0" />
+ <value cell_index="24622" local_entity="0" value="0" />
+ <value cell_index="24623" local_entity="0" value="0" />
+ <value cell_index="24624" local_entity="0" value="0" />
+ <value cell_index="24625" local_entity="0" value="0" />
+ <value cell_index="24626" local_entity="0" value="0" />
+ <value cell_index="24627" local_entity="0" value="0" />
+ <value cell_index="24628" local_entity="0" value="0" />
+ <value cell_index="24629" local_entity="0" value="0" />
+ <value cell_index="24630" local_entity="0" value="0" />
+ <value cell_index="24631" local_entity="0" value="0" />
+ <value cell_index="24632" local_entity="0" value="0" />
+ <value cell_index="24633" local_entity="0" value="0" />
+ <value cell_index="24634" local_entity="0" value="0" />
+ <value cell_index="24635" local_entity="0" value="0" />
+ <value cell_index="24636" local_entity="0" value="0" />
+ <value cell_index="24637" local_entity="0" value="0" />
+ <value cell_index="24638" local_entity="0" value="0" />
+ <value cell_index="24639" local_entity="0" value="0" />
+ <value cell_index="24640" local_entity="0" value="0" />
+ <value cell_index="24641" local_entity="0" value="0" />
+ <value cell_index="24642" local_entity="0" value="0" />
+ <value cell_index="24643" local_entity="0" value="0" />
+ <value cell_index="24644" local_entity="0" value="0" />
+ <value cell_index="24645" local_entity="0" value="0" />
+ <value cell_index="24646" local_entity="0" value="0" />
+ <value cell_index="24647" local_entity="0" value="0" />
+ <value cell_index="24648" local_entity="0" value="0" />
+ <value cell_index="24649" local_entity="0" value="0" />
+ <value cell_index="24650" local_entity="0" value="0" />
+ <value cell_index="24651" local_entity="0" value="0" />
+ <value cell_index="24652" local_entity="0" value="0" />
+ <value cell_index="24653" local_entity="0" value="0" />
+ <value cell_index="24654" local_entity="0" value="0" />
+ <value cell_index="24655" local_entity="0" value="0" />
+ <value cell_index="24656" local_entity="0" value="0" />
+ <value cell_index="24657" local_entity="0" value="0" />
+ <value cell_index="24658" local_entity="0" value="0" />
+ <value cell_index="24659" local_entity="0" value="0" />
+ <value cell_index="24660" local_entity="0" value="0" />
+ <value cell_index="24661" local_entity="0" value="0" />
+ <value cell_index="24662" local_entity="0" value="0" />
+ <value cell_index="24663" local_entity="0" value="0" />
+ <value cell_index="24664" local_entity="0" value="0" />
+ <value cell_index="24665" local_entity="0" value="0" />
+ <value cell_index="24666" local_entity="0" value="0" />
+ <value cell_index="24667" local_entity="0" value="0" />
+ <value cell_index="24668" local_entity="0" value="0" />
+ <value cell_index="24669" local_entity="0" value="0" />
+ <value cell_index="24670" local_entity="0" value="0" />
+ <value cell_index="24671" local_entity="0" value="0" />
+ <value cell_index="24672" local_entity="0" value="0" />
+ <value cell_index="24673" local_entity="0" value="0" />
+ <value cell_index="24674" local_entity="0" value="0" />
+ <value cell_index="24675" local_entity="0" value="0" />
+ <value cell_index="24676" local_entity="0" value="0" />
+ <value cell_index="24677" local_entity="0" value="0" />
+ <value cell_index="24678" local_entity="0" value="0" />
+ <value cell_index="24679" local_entity="0" value="0" />
+ <value cell_index="24680" local_entity="0" value="0" />
+ <value cell_index="24681" local_entity="0" value="0" />
+ <value cell_index="24682" local_entity="0" value="0" />
+ <value cell_index="24683" local_entity="0" value="0" />
+ <value cell_index="24684" local_entity="0" value="0" />
+ <value cell_index="24685" local_entity="0" value="0" />
+ <value cell_index="24686" local_entity="0" value="0" />
+ <value cell_index="24687" local_entity="0" value="0" />
+ <value cell_index="24688" local_entity="0" value="0" />
+ <value cell_index="24689" local_entity="0" value="0" />
+ <value cell_index="24690" local_entity="0" value="0" />
+ <value cell_index="24691" local_entity="0" value="0" />
+ <value cell_index="24692" local_entity="0" value="0" />
+ <value cell_index="24693" local_entity="0" value="0" />
+ <value cell_index="24694" local_entity="0" value="0" />
+ <value cell_index="24695" local_entity="0" value="0" />
+ <value cell_index="24696" local_entity="0" value="0" />
+ <value cell_index="24697" local_entity="0" value="0" />
+ <value cell_index="24698" local_entity="0" value="0" />
+ <value cell_index="24699" local_entity="0" value="0" />
+ <value cell_index="24700" local_entity="0" value="0" />
+ <value cell_index="24701" local_entity="0" value="0" />
+ <value cell_index="24702" local_entity="0" value="0" />
+ <value cell_index="24703" local_entity="0" value="0" />
+ <value cell_index="24704" local_entity="0" value="0" />
+ <value cell_index="24705" local_entity="0" value="0" />
+ <value cell_index="24706" local_entity="0" value="0" />
+ <value cell_index="24707" local_entity="0" value="0" />
+ <value cell_index="24708" local_entity="0" value="0" />
+ <value cell_index="24709" local_entity="0" value="0" />
+ <value cell_index="24710" local_entity="0" value="0" />
+ <value cell_index="24711" local_entity="0" value="0" />
+ <value cell_index="24712" local_entity="0" value="0" />
+ <value cell_index="24713" local_entity="0" value="0" />
+ <value cell_index="24714" local_entity="0" value="0" />
+ <value cell_index="24715" local_entity="0" value="0" />
+ <value cell_index="24716" local_entity="0" value="0" />
+ <value cell_index="24717" local_entity="0" value="0" />
+ <value cell_index="24718" local_entity="0" value="0" />
+ <value cell_index="24719" local_entity="0" value="0" />
+ <value cell_index="24720" local_entity="0" value="0" />
+ <value cell_index="24721" local_entity="0" value="0" />
+ <value cell_index="24722" local_entity="0" value="0" />
+ <value cell_index="24723" local_entity="0" value="0" />
+ <value cell_index="24724" local_entity="0" value="0" />
+ <value cell_index="24725" local_entity="0" value="0" />
+ <value cell_index="24726" local_entity="0" value="0" />
+ <value cell_index="24727" local_entity="0" value="0" />
+ <value cell_index="24728" local_entity="0" value="0" />
+ <value cell_index="24729" local_entity="0" value="0" />
+ <value cell_index="24730" local_entity="0" value="0" />
+ <value cell_index="24731" local_entity="0" value="0" />
+ <value cell_index="24732" local_entity="0" value="0" />
+ <value cell_index="24733" local_entity="0" value="0" />
+ <value cell_index="24734" local_entity="0" value="0" />
+ <value cell_index="24735" local_entity="0" value="0" />
+ <value cell_index="24736" local_entity="0" value="0" />
+ <value cell_index="24737" local_entity="0" value="0" />
+ <value cell_index="24738" local_entity="0" value="0" />
+ <value cell_index="24739" local_entity="0" value="0" />
+ <value cell_index="24740" local_entity="0" value="0" />
+ <value cell_index="24741" local_entity="0" value="0" />
+ <value cell_index="24742" local_entity="0" value="0" />
+ <value cell_index="24743" local_entity="0" value="0" />
+ <value cell_index="24744" local_entity="0" value="0" />
+ <value cell_index="24745" local_entity="0" value="0" />
+ <value cell_index="24746" local_entity="0" value="0" />
+ <value cell_index="24747" local_entity="0" value="0" />
+ <value cell_index="24748" local_entity="0" value="0" />
+ <value cell_index="24749" local_entity="0" value="0" />
+ <value cell_index="24750" local_entity="0" value="0" />
+ <value cell_index="24751" local_entity="0" value="0" />
+ <value cell_index="24752" local_entity="0" value="0" />
+ <value cell_index="24753" local_entity="0" value="0" />
+ <value cell_index="24754" local_entity="0" value="0" />
+ <value cell_index="24755" local_entity="0" value="0" />
+ <value cell_index="24756" local_entity="0" value="0" />
+ <value cell_index="24757" local_entity="0" value="0" />
+ <value cell_index="24758" local_entity="0" value="0" />
+ <value cell_index="24759" local_entity="0" value="0" />
+ <value cell_index="24760" local_entity="0" value="0" />
+ <value cell_index="24761" local_entity="0" value="0" />
+ <value cell_index="24762" local_entity="0" value="0" />
+ <value cell_index="24763" local_entity="0" value="0" />
+ <value cell_index="24764" local_entity="0" value="0" />
+ <value cell_index="24765" local_entity="0" value="0" />
+ <value cell_index="24766" local_entity="0" value="0" />
+ <value cell_index="24767" local_entity="0" value="0" />
+ <value cell_index="24768" local_entity="0" value="0" />
+ <value cell_index="24769" local_entity="0" value="0" />
+ <value cell_index="24770" local_entity="0" value="0" />
+ <value cell_index="24771" local_entity="0" value="0" />
+ <value cell_index="24772" local_entity="0" value="0" />
+ <value cell_index="24773" local_entity="0" value="0" />
+ <value cell_index="24774" local_entity="0" value="0" />
+ <value cell_index="24775" local_entity="0" value="0" />
+ <value cell_index="24776" local_entity="0" value="0" />
+ <value cell_index="24777" local_entity="0" value="0" />
+ <value cell_index="24778" local_entity="0" value="0" />
+ <value cell_index="24779" local_entity="0" value="0" />
+ <value cell_index="24780" local_entity="0" value="0" />
+ <value cell_index="24781" local_entity="0" value="0" />
+ <value cell_index="24782" local_entity="0" value="0" />
+ <value cell_index="24783" local_entity="0" value="0" />
+ <value cell_index="24784" local_entity="0" value="0" />
+ <value cell_index="24785" local_entity="0" value="0" />
+ <value cell_index="24786" local_entity="0" value="0" />
+ <value cell_index="24787" local_entity="0" value="0" />
+ <value cell_index="24788" local_entity="0" value="0" />
+ <value cell_index="24789" local_entity="0" value="0" />
+ <value cell_index="24790" local_entity="0" value="0" />
+ <value cell_index="24791" local_entity="0" value="0" />
+ <value cell_index="24792" local_entity="0" value="0" />
+ <value cell_index="24793" local_entity="0" value="0" />
+ <value cell_index="24794" local_entity="0" value="0" />
+ <value cell_index="24795" local_entity="0" value="0" />
+ <value cell_index="24796" local_entity="0" value="0" />
+ <value cell_index="24797" local_entity="0" value="0" />
+ <value cell_index="24798" local_entity="0" value="0" />
+ <value cell_index="24799" local_entity="0" value="0" />
+ <value cell_index="24800" local_entity="0" value="0" />
+ <value cell_index="24801" local_entity="0" value="0" />
+ <value cell_index="24802" local_entity="0" value="0" />
+ <value cell_index="24803" local_entity="0" value="0" />
+ <value cell_index="24804" local_entity="0" value="0" />
+ <value cell_index="24805" local_entity="0" value="0" />
+ <value cell_index="24806" local_entity="0" value="0" />
+ <value cell_index="24807" local_entity="0" value="0" />
+ <value cell_index="24808" local_entity="0" value="0" />
+ <value cell_index="24809" local_entity="0" value="0" />
+ <value cell_index="24810" local_entity="0" value="0" />
+ <value cell_index="24811" local_entity="0" value="0" />
+ <value cell_index="24812" local_entity="0" value="0" />
+ <value cell_index="24813" local_entity="0" value="0" />
+ <value cell_index="24814" local_entity="0" value="0" />
+ <value cell_index="24815" local_entity="0" value="0" />
+ <value cell_index="24816" local_entity="0" value="0" />
+ <value cell_index="24817" local_entity="0" value="0" />
+ <value cell_index="24818" local_entity="0" value="0" />
+ <value cell_index="24819" local_entity="0" value="0" />
+ <value cell_index="24820" local_entity="0" value="0" />
+ <value cell_index="24821" local_entity="0" value="0" />
+ <value cell_index="24822" local_entity="0" value="0" />
+ <value cell_index="24823" local_entity="0" value="0" />
+ <value cell_index="24824" local_entity="0" value="0" />
+ <value cell_index="24825" local_entity="0" value="0" />
+ <value cell_index="24826" local_entity="0" value="0" />
+ <value cell_index="24827" local_entity="0" value="0" />
+ <value cell_index="24828" local_entity="0" value="0" />
+ <value cell_index="24829" local_entity="0" value="0" />
+ <value cell_index="24830" local_entity="0" value="0" />
+ <value cell_index="24831" local_entity="0" value="0" />
+ <value cell_index="24832" local_entity="0" value="0" />
+ <value cell_index="24833" local_entity="0" value="0" />
+ <value cell_index="24834" local_entity="0" value="0" />
+ <value cell_index="24835" local_entity="0" value="0" />
+ <value cell_index="24836" local_entity="0" value="0" />
+ <value cell_index="24837" local_entity="0" value="0" />
+ <value cell_index="24838" local_entity="0" value="0" />
+ <value cell_index="24839" local_entity="0" value="0" />
+ <value cell_index="24840" local_entity="0" value="0" />
+ <value cell_index="24841" local_entity="0" value="0" />
+ <value cell_index="24842" local_entity="0" value="0" />
+ <value cell_index="24843" local_entity="0" value="0" />
+ <value cell_index="24844" local_entity="0" value="0" />
+ <value cell_index="24845" local_entity="0" value="0" />
+ <value cell_index="24846" local_entity="0" value="0" />
+ <value cell_index="24847" local_entity="0" value="0" />
+ <value cell_index="24848" local_entity="0" value="0" />
+ <value cell_index="24849" local_entity="0" value="0" />
+ <value cell_index="24850" local_entity="0" value="0" />
+ <value cell_index="24851" local_entity="0" value="0" />
+ <value cell_index="24852" local_entity="0" value="0" />
+ <value cell_index="24853" local_entity="0" value="0" />
+ <value cell_index="24854" local_entity="0" value="0" />
+ <value cell_index="24855" local_entity="0" value="0" />
+ <value cell_index="24856" local_entity="0" value="0" />
+ <value cell_index="24857" local_entity="0" value="0" />
+ <value cell_index="24858" local_entity="0" value="0" />
+ <value cell_index="24859" local_entity="0" value="0" />
+ <value cell_index="24860" local_entity="0" value="0" />
+ <value cell_index="24861" local_entity="0" value="0" />
+ <value cell_index="24862" local_entity="0" value="0" />
+ <value cell_index="24863" local_entity="0" value="0" />
+ <value cell_index="24864" local_entity="0" value="0" />
+ <value cell_index="24865" local_entity="0" value="0" />
+ <value cell_index="24866" local_entity="0" value="0" />
+ <value cell_index="24867" local_entity="0" value="0" />
+ <value cell_index="24868" local_entity="0" value="0" />
+ <value cell_index="24869" local_entity="0" value="0" />
+ <value cell_index="24870" local_entity="0" value="0" />
+ <value cell_index="24871" local_entity="0" value="0" />
+ <value cell_index="24872" local_entity="0" value="0" />
+ <value cell_index="24873" local_entity="0" value="0" />
+ <value cell_index="24874" local_entity="0" value="0" />
+ <value cell_index="24875" local_entity="0" value="0" />
+ <value cell_index="24876" local_entity="0" value="0" />
+ <value cell_index="24877" local_entity="0" value="0" />
+ <value cell_index="24878" local_entity="0" value="0" />
+ <value cell_index="24879" local_entity="0" value="0" />
+ <value cell_index="24880" local_entity="0" value="0" />
+ <value cell_index="24881" local_entity="0" value="0" />
+ <value cell_index="24882" local_entity="0" value="0" />
+ <value cell_index="24883" local_entity="0" value="0" />
+ <value cell_index="24884" local_entity="0" value="0" />
+ <value cell_index="24885" local_entity="0" value="0" />
+ <value cell_index="24886" local_entity="0" value="0" />
+ <value cell_index="24887" local_entity="0" value="0" />
+ <value cell_index="24888" local_entity="0" value="0" />
+ <value cell_index="24889" local_entity="0" value="0" />
+ <value cell_index="24890" local_entity="0" value="0" />
+ <value cell_index="24891" local_entity="0" value="0" />
+ <value cell_index="24892" local_entity="0" value="0" />
+ <value cell_index="24893" local_entity="0" value="0" />
+ <value cell_index="24894" local_entity="0" value="0" />
+ <value cell_index="24895" local_entity="0" value="0" />
+ <value cell_index="24896" local_entity="0" value="0" />
+ <value cell_index="24897" local_entity="0" value="0" />
+ <value cell_index="24898" local_entity="0" value="0" />
+ <value cell_index="24899" local_entity="0" value="0" />
+ <value cell_index="24900" local_entity="0" value="0" />
+ <value cell_index="24901" local_entity="0" value="0" />
+ <value cell_index="24902" local_entity="0" value="0" />
+ <value cell_index="24903" local_entity="0" value="0" />
+ <value cell_index="24904" local_entity="0" value="0" />
+ <value cell_index="24905" local_entity="0" value="0" />
+ <value cell_index="24906" local_entity="0" value="0" />
+ <value cell_index="24907" local_entity="0" value="0" />
+ <value cell_index="24908" local_entity="0" value="0" />
+ <value cell_index="24909" local_entity="0" value="0" />
+ <value cell_index="24910" local_entity="0" value="0" />
+ <value cell_index="24911" local_entity="0" value="0" />
+ <value cell_index="24912" local_entity="0" value="0" />
+ <value cell_index="24913" local_entity="0" value="0" />
+ <value cell_index="24914" local_entity="0" value="0" />
+ <value cell_index="24915" local_entity="0" value="0" />
+ <value cell_index="24916" local_entity="0" value="0" />
+ <value cell_index="24917" local_entity="0" value="0" />
+ <value cell_index="24918" local_entity="0" value="0" />
+ <value cell_index="24919" local_entity="0" value="0" />
+ <value cell_index="24920" local_entity="0" value="0" />
+ <value cell_index="24921" local_entity="0" value="0" />
+ <value cell_index="24922" local_entity="0" value="0" />
+ <value cell_index="24923" local_entity="0" value="0" />
+ <value cell_index="24924" local_entity="0" value="0" />
+ <value cell_index="24925" local_entity="0" value="0" />
+ <value cell_index="24926" local_entity="0" value="0" />
+ <value cell_index="24927" local_entity="0" value="0" />
+ <value cell_index="24928" local_entity="0" value="0" />
+ <value cell_index="24929" local_entity="0" value="0" />
+ <value cell_index="24930" local_entity="0" value="0" />
+ <value cell_index="24931" local_entity="0" value="0" />
+ <value cell_index="24932" local_entity="0" value="0" />
+ <value cell_index="24933" local_entity="0" value="0" />
+ <value cell_index="24934" local_entity="0" value="0" />
+ <value cell_index="24935" local_entity="0" value="0" />
+ <value cell_index="24936" local_entity="0" value="0" />
+ <value cell_index="24937" local_entity="0" value="0" />
+ <value cell_index="24938" local_entity="0" value="0" />
+ <value cell_index="24939" local_entity="0" value="0" />
+ <value cell_index="24940" local_entity="0" value="0" />
+ <value cell_index="24941" local_entity="0" value="0" />
+ <value cell_index="24942" local_entity="0" value="0" />
+ <value cell_index="24943" local_entity="0" value="0" />
+ <value cell_index="24944" local_entity="0" value="0" />
+ <value cell_index="24945" local_entity="0" value="0" />
+ <value cell_index="24946" local_entity="0" value="0" />
+ <value cell_index="24947" local_entity="0" value="0" />
+ <value cell_index="24948" local_entity="0" value="0" />
+ <value cell_index="24949" local_entity="0" value="0" />
+ <value cell_index="24950" local_entity="0" value="0" />
+ <value cell_index="24951" local_entity="0" value="0" />
+ <value cell_index="24952" local_entity="0" value="0" />
+ <value cell_index="24953" local_entity="0" value="0" />
+ <value cell_index="24954" local_entity="0" value="0" />
+ <value cell_index="24955" local_entity="0" value="0" />
+ <value cell_index="24956" local_entity="0" value="0" />
+ <value cell_index="24957" local_entity="0" value="0" />
+ <value cell_index="24958" local_entity="0" value="0" />
+ <value cell_index="24959" local_entity="0" value="0" />
+ <value cell_index="24960" local_entity="0" value="0" />
+ <value cell_index="24961" local_entity="0" value="0" />
+ <value cell_index="24962" local_entity="0" value="0" />
+ <value cell_index="24963" local_entity="0" value="0" />
+ <value cell_index="24964" local_entity="0" value="0" />
+ <value cell_index="24965" local_entity="0" value="0" />
+ <value cell_index="24966" local_entity="0" value="0" />
+ <value cell_index="24967" local_entity="0" value="0" />
+ <value cell_index="24968" local_entity="0" value="0" />
+ <value cell_index="24969" local_entity="0" value="0" />
+ <value cell_index="24970" local_entity="0" value="0" />
+ <value cell_index="24971" local_entity="0" value="0" />
+ <value cell_index="24972" local_entity="0" value="0" />
+ <value cell_index="24973" local_entity="0" value="0" />
+ <value cell_index="24974" local_entity="0" value="0" />
+ <value cell_index="24975" local_entity="0" value="0" />
+ <value cell_index="24976" local_entity="0" value="0" />
+ <value cell_index="24977" local_entity="0" value="0" />
+ <value cell_index="24978" local_entity="0" value="0" />
+ <value cell_index="24979" local_entity="0" value="0" />
+ <value cell_index="24980" local_entity="0" value="0" />
+ <value cell_index="24981" local_entity="0" value="0" />
+ <value cell_index="24982" local_entity="0" value="0" />
+ <value cell_index="24983" local_entity="0" value="0" />
+ <value cell_index="24984" local_entity="0" value="0" />
+ <value cell_index="24985" local_entity="0" value="0" />
+ <value cell_index="24986" local_entity="0" value="0" />
+ <value cell_index="24987" local_entity="0" value="0" />
+ <value cell_index="24988" local_entity="0" value="0" />
+ <value cell_index="24989" local_entity="0" value="0" />
+ <value cell_index="24990" local_entity="0" value="0" />
+ <value cell_index="24991" local_entity="0" value="0" />
+ <value cell_index="24992" local_entity="0" value="0" />
+ <value cell_index="24993" local_entity="0" value="0" />
+ <value cell_index="24994" local_entity="0" value="0" />
+ <value cell_index="24995" local_entity="0" value="0" />
+ <value cell_index="24996" local_entity="0" value="0" />
+ <value cell_index="24997" local_entity="0" value="0" />
+ <value cell_index="24998" local_entity="0" value="0" />
+ <value cell_index="24999" local_entity="0" value="0" />
+ <value cell_index="25000" local_entity="0" value="0" />
+ <value cell_index="25001" local_entity="0" value="0" />
+ <value cell_index="25002" local_entity="0" value="0" />
+ <value cell_index="25003" local_entity="0" value="0" />
+ <value cell_index="25004" local_entity="0" value="0" />
+ <value cell_index="25005" local_entity="0" value="0" />
+ <value cell_index="25006" local_entity="0" value="0" />
+ <value cell_index="25007" local_entity="0" value="0" />
+ <value cell_index="25008" local_entity="0" value="0" />
+ <value cell_index="25009" local_entity="0" value="0" />
+ <value cell_index="25010" local_entity="0" value="0" />
+ <value cell_index="25011" local_entity="0" value="0" />
+ <value cell_index="25012" local_entity="0" value="0" />
+ <value cell_index="25013" local_entity="0" value="0" />
+ <value cell_index="25014" local_entity="0" value="0" />
+ <value cell_index="25015" local_entity="0" value="0" />
+ <value cell_index="25016" local_entity="0" value="0" />
+ <value cell_index="25017" local_entity="0" value="0" />
+ <value cell_index="25018" local_entity="0" value="0" />
+ <value cell_index="25019" local_entity="0" value="0" />
+ <value cell_index="25020" local_entity="0" value="0" />
+ <value cell_index="25021" local_entity="0" value="0" />
+ <value cell_index="25022" local_entity="0" value="0" />
+ <value cell_index="25023" local_entity="0" value="0" />
+ <value cell_index="25024" local_entity="0" value="0" />
+ <value cell_index="25025" local_entity="0" value="0" />
+ <value cell_index="25026" local_entity="0" value="0" />
+ <value cell_index="25027" local_entity="0" value="0" />
+ <value cell_index="25028" local_entity="0" value="0" />
+ <value cell_index="25029" local_entity="0" value="0" />
+ <value cell_index="25030" local_entity="0" value="0" />
+ <value cell_index="25031" local_entity="0" value="0" />
+ <value cell_index="25032" local_entity="0" value="0" />
+ <value cell_index="25033" local_entity="0" value="0" />
+ <value cell_index="25034" local_entity="0" value="0" />
+ <value cell_index="25035" local_entity="0" value="0" />
+ <value cell_index="25036" local_entity="0" value="0" />
+ <value cell_index="25037" local_entity="0" value="0" />
+ <value cell_index="25038" local_entity="0" value="0" />
+ <value cell_index="25039" local_entity="0" value="0" />
+ <value cell_index="25040" local_entity="0" value="0" />
+ <value cell_index="25041" local_entity="0" value="0" />
+ <value cell_index="25042" local_entity="0" value="0" />
+ <value cell_index="25043" local_entity="0" value="0" />
+ <value cell_index="25044" local_entity="0" value="0" />
+ <value cell_index="25045" local_entity="0" value="0" />
+ <value cell_index="25046" local_entity="0" value="0" />
+ <value cell_index="25047" local_entity="0" value="0" />
+ <value cell_index="25048" local_entity="0" value="0" />
+ <value cell_index="25049" local_entity="0" value="0" />
+ <value cell_index="25050" local_entity="0" value="0" />
+ <value cell_index="25051" local_entity="0" value="0" />
+ <value cell_index="25052" local_entity="0" value="0" />
+ <value cell_index="25053" local_entity="0" value="0" />
+ <value cell_index="25054" local_entity="0" value="0" />
+ <value cell_index="25055" local_entity="0" value="0" />
+ <value cell_index="25056" local_entity="0" value="0" />
+ <value cell_index="25057" local_entity="0" value="0" />
+ <value cell_index="25058" local_entity="0" value="0" />
+ <value cell_index="25059" local_entity="0" value="0" />
+ <value cell_index="25060" local_entity="0" value="0" />
+ <value cell_index="25061" local_entity="0" value="0" />
+ <value cell_index="25062" local_entity="0" value="0" />
+ <value cell_index="25063" local_entity="0" value="0" />
+ <value cell_index="25064" local_entity="0" value="0" />
+ <value cell_index="25065" local_entity="0" value="0" />
+ <value cell_index="25066" local_entity="0" value="0" />
+ <value cell_index="25067" local_entity="0" value="0" />
+ <value cell_index="25068" local_entity="0" value="0" />
+ <value cell_index="25069" local_entity="0" value="0" />
+ <value cell_index="25070" local_entity="0" value="0" />
+ <value cell_index="25071" local_entity="0" value="0" />
+ <value cell_index="25072" local_entity="0" value="0" />
+ <value cell_index="25073" local_entity="0" value="0" />
+ <value cell_index="25074" local_entity="0" value="0" />
+ <value cell_index="25075" local_entity="0" value="0" />
+ <value cell_index="25076" local_entity="0" value="0" />
+ <value cell_index="25077" local_entity="0" value="0" />
+ <value cell_index="25078" local_entity="0" value="0" />
+ <value cell_index="25079" local_entity="0" value="0" />
+ <value cell_index="25080" local_entity="0" value="0" />
+ <value cell_index="25081" local_entity="0" value="0" />
+ <value cell_index="25082" local_entity="0" value="0" />
+ <value cell_index="25083" local_entity="0" value="0" />
+ <value cell_index="25084" local_entity="0" value="0" />
+ <value cell_index="25085" local_entity="0" value="0" />
+ <value cell_index="25086" local_entity="0" value="0" />
+ <value cell_index="25087" local_entity="0" value="0" />
+ <value cell_index="25088" local_entity="0" value="0" />
+ <value cell_index="25089" local_entity="0" value="0" />
+ <value cell_index="25090" local_entity="0" value="0" />
+ <value cell_index="25091" local_entity="0" value="0" />
+ <value cell_index="25092" local_entity="0" value="0" />
+ <value cell_index="25093" local_entity="0" value="0" />
+ <value cell_index="25094" local_entity="0" value="0" />
+ <value cell_index="25095" local_entity="0" value="0" />
+ <value cell_index="25096" local_entity="0" value="0" />
+ <value cell_index="25097" local_entity="0" value="0" />
+ <value cell_index="25098" local_entity="0" value="0" />
+ <value cell_index="25099" local_entity="0" value="0" />
+ <value cell_index="25100" local_entity="0" value="0" />
+ <value cell_index="25101" local_entity="0" value="0" />
+ <value cell_index="25102" local_entity="0" value="0" />
+ <value cell_index="25103" local_entity="0" value="0" />
+ <value cell_index="25104" local_entity="0" value="0" />
+ <value cell_index="25105" local_entity="0" value="0" />
+ <value cell_index="25106" local_entity="0" value="0" />
+ <value cell_index="25107" local_entity="0" value="0" />
+ <value cell_index="25108" local_entity="0" value="0" />
+ <value cell_index="25109" local_entity="0" value="0" />
+ <value cell_index="25110" local_entity="0" value="0" />
+ <value cell_index="25111" local_entity="0" value="0" />
+ <value cell_index="25112" local_entity="0" value="0" />
+ <value cell_index="25113" local_entity="0" value="0" />
+ <value cell_index="25114" local_entity="0" value="0" />
+ <value cell_index="25115" local_entity="0" value="0" />
+ <value cell_index="25116" local_entity="0" value="0" />
+ <value cell_index="25117" local_entity="0" value="0" />
+ <value cell_index="25118" local_entity="0" value="0" />
+ <value cell_index="25119" local_entity="0" value="0" />
+ <value cell_index="25120" local_entity="0" value="0" />
+ <value cell_index="25121" local_entity="0" value="0" />
+ <value cell_index="25122" local_entity="0" value="0" />
+ <value cell_index="25123" local_entity="0" value="0" />
+ <value cell_index="25124" local_entity="0" value="0" />
+ <value cell_index="25125" local_entity="0" value="0" />
+ <value cell_index="25126" local_entity="0" value="0" />
+ <value cell_index="25127" local_entity="0" value="0" />
+ <value cell_index="25128" local_entity="0" value="0" />
+ <value cell_index="25129" local_entity="0" value="0" />
+ <value cell_index="25130" local_entity="0" value="0" />
+ <value cell_index="25131" local_entity="0" value="0" />
+ <value cell_index="25132" local_entity="0" value="0" />
+ <value cell_index="25133" local_entity="0" value="0" />
+ <value cell_index="25134" local_entity="0" value="0" />
+ <value cell_index="25135" local_entity="0" value="0" />
+ <value cell_index="25136" local_entity="0" value="0" />
+ <value cell_index="25137" local_entity="0" value="0" />
+ <value cell_index="25138" local_entity="0" value="0" />
+ <value cell_index="25139" local_entity="0" value="0" />
+ <value cell_index="25140" local_entity="0" value="0" />
+ <value cell_index="25141" local_entity="0" value="0" />
+ <value cell_index="25142" local_entity="0" value="0" />
+ <value cell_index="25143" local_entity="0" value="0" />
+ <value cell_index="25144" local_entity="0" value="0" />
+ <value cell_index="25145" local_entity="0" value="0" />
+ <value cell_index="25146" local_entity="0" value="0" />
+ <value cell_index="25147" local_entity="0" value="0" />
+ <value cell_index="25148" local_entity="0" value="0" />
+ <value cell_index="25149" local_entity="0" value="0" />
+ <value cell_index="25150" local_entity="0" value="0" />
+ <value cell_index="25151" local_entity="0" value="0" />
+ <value cell_index="25152" local_entity="0" value="0" />
+ <value cell_index="25153" local_entity="0" value="0" />
+ <value cell_index="25154" local_entity="0" value="0" />
+ <value cell_index="25155" local_entity="0" value="0" />
+ <value cell_index="25156" local_entity="0" value="0" />
+ <value cell_index="25157" local_entity="0" value="0" />
+ <value cell_index="25158" local_entity="0" value="0" />
+ <value cell_index="25159" local_entity="0" value="0" />
+ <value cell_index="25160" local_entity="0" value="0" />
+ <value cell_index="25161" local_entity="0" value="0" />
+ <value cell_index="25162" local_entity="0" value="0" />
+ <value cell_index="25163" local_entity="0" value="0" />
+ <value cell_index="25164" local_entity="0" value="0" />
+ <value cell_index="25165" local_entity="0" value="0" />
+ <value cell_index="25166" local_entity="0" value="0" />
+ <value cell_index="25167" local_entity="0" value="0" />
+ <value cell_index="25168" local_entity="0" value="0" />
+ <value cell_index="25169" local_entity="0" value="0" />
+ <value cell_index="25170" local_entity="0" value="0" />
+ <value cell_index="25171" local_entity="0" value="0" />
+ <value cell_index="25172" local_entity="0" value="0" />
+ <value cell_index="25173" local_entity="0" value="0" />
+ <value cell_index="25174" local_entity="0" value="0" />
+ <value cell_index="25175" local_entity="0" value="0" />
+ <value cell_index="25176" local_entity="0" value="0" />
+ <value cell_index="25177" local_entity="0" value="0" />
+ <value cell_index="25178" local_entity="0" value="0" />
+ <value cell_index="25179" local_entity="0" value="0" />
+ <value cell_index="25180" local_entity="0" value="0" />
+ <value cell_index="25181" local_entity="0" value="0" />
+ <value cell_index="25182" local_entity="0" value="0" />
+ <value cell_index="25183" local_entity="0" value="0" />
+ <value cell_index="25184" local_entity="0" value="0" />
+ <value cell_index="25185" local_entity="0" value="0" />
+ <value cell_index="25186" local_entity="0" value="0" />
+ <value cell_index="25187" local_entity="0" value="0" />
+ <value cell_index="25188" local_entity="0" value="0" />
+ <value cell_index="25189" local_entity="0" value="0" />
+ <value cell_index="25190" local_entity="0" value="0" />
+ <value cell_index="25191" local_entity="0" value="0" />
+ <value cell_index="25192" local_entity="0" value="0" />
+ <value cell_index="25193" local_entity="0" value="0" />
+ <value cell_index="25194" local_entity="0" value="0" />
+ <value cell_index="25195" local_entity="0" value="0" />
+ <value cell_index="25196" local_entity="0" value="0" />
+ <value cell_index="25197" local_entity="0" value="0" />
+ <value cell_index="25198" local_entity="0" value="0" />
+ <value cell_index="25199" local_entity="0" value="0" />
+ <value cell_index="25200" local_entity="0" value="0" />
+ <value cell_index="25201" local_entity="0" value="0" />
+ <value cell_index="25202" local_entity="0" value="0" />
+ <value cell_index="25203" local_entity="0" value="0" />
+ <value cell_index="25204" local_entity="0" value="0" />
+ <value cell_index="25205" local_entity="0" value="0" />
+ <value cell_index="25206" local_entity="0" value="0" />
+ <value cell_index="25207" local_entity="0" value="0" />
+ <value cell_index="25208" local_entity="0" value="0" />
+ <value cell_index="25209" local_entity="0" value="0" />
+ <value cell_index="25210" local_entity="0" value="0" />
+ <value cell_index="25211" local_entity="0" value="0" />
+ <value cell_index="25212" local_entity="0" value="0" />
+ <value cell_index="25213" local_entity="0" value="0" />
+ <value cell_index="25214" local_entity="0" value="0" />
+ <value cell_index="25215" local_entity="0" value="0" />
+ <value cell_index="25216" local_entity="0" value="0" />
+ <value cell_index="25217" local_entity="0" value="0" />
+ <value cell_index="25218" local_entity="0" value="0" />
+ <value cell_index="25219" local_entity="0" value="0" />
+ <value cell_index="25220" local_entity="0" value="0" />
+ <value cell_index="25221" local_entity="0" value="0" />
+ <value cell_index="25222" local_entity="0" value="0" />
+ <value cell_index="25223" local_entity="0" value="0" />
+ <value cell_index="25224" local_entity="0" value="0" />
+ <value cell_index="25225" local_entity="0" value="0" />
+ <value cell_index="25226" local_entity="0" value="0" />
+ <value cell_index="25227" local_entity="0" value="0" />
+ <value cell_index="25228" local_entity="0" value="0" />
+ <value cell_index="25229" local_entity="0" value="0" />
+ <value cell_index="25230" local_entity="0" value="0" />
+ <value cell_index="25231" local_entity="0" value="0" />
+ <value cell_index="25232" local_entity="0" value="0" />
+ <value cell_index="25233" local_entity="0" value="0" />
+ <value cell_index="25234" local_entity="0" value="0" />
+ <value cell_index="25235" local_entity="0" value="0" />
+ <value cell_index="25236" local_entity="0" value="0" />
+ <value cell_index="25237" local_entity="0" value="0" />
+ <value cell_index="25238" local_entity="0" value="0" />
+ <value cell_index="25239" local_entity="0" value="0" />
+ <value cell_index="25240" local_entity="0" value="0" />
+ <value cell_index="25241" local_entity="0" value="0" />
+ <value cell_index="25242" local_entity="0" value="0" />
+ <value cell_index="25243" local_entity="0" value="0" />
+ <value cell_index="25244" local_entity="0" value="0" />
+ <value cell_index="25245" local_entity="0" value="0" />
+ <value cell_index="25246" local_entity="0" value="0" />
+ <value cell_index="25247" local_entity="0" value="0" />
+ <value cell_index="25248" local_entity="0" value="0" />
+ <value cell_index="25249" local_entity="0" value="0" />
+ <value cell_index="25250" local_entity="0" value="0" />
+ <value cell_index="25251" local_entity="0" value="0" />
+ <value cell_index="25252" local_entity="0" value="0" />
+ <value cell_index="25253" local_entity="0" value="0" />
+ <value cell_index="25254" local_entity="0" value="0" />
+ <value cell_index="25255" local_entity="0" value="0" />
+ <value cell_index="25256" local_entity="0" value="0" />
+ <value cell_index="25257" local_entity="0" value="0" />
+ <value cell_index="25258" local_entity="0" value="0" />
+ <value cell_index="25259" local_entity="0" value="0" />
+ <value cell_index="25260" local_entity="0" value="0" />
+ <value cell_index="25261" local_entity="0" value="0" />
+ <value cell_index="25262" local_entity="0" value="0" />
+ <value cell_index="25263" local_entity="0" value="0" />
+ <value cell_index="25264" local_entity="0" value="0" />
+ <value cell_index="25265" local_entity="0" value="0" />
+ <value cell_index="25266" local_entity="0" value="0" />
+ <value cell_index="25267" local_entity="0" value="0" />
+ <value cell_index="25268" local_entity="0" value="0" />
+ <value cell_index="25269" local_entity="0" value="0" />
+ <value cell_index="25270" local_entity="0" value="0" />
+ <value cell_index="25271" local_entity="0" value="0" />
+ <value cell_index="25272" local_entity="0" value="0" />
+ <value cell_index="25273" local_entity="0" value="0" />
+ <value cell_index="25274" local_entity="0" value="0" />
+ <value cell_index="25275" local_entity="0" value="0" />
+ <value cell_index="25276" local_entity="0" value="0" />
+ <value cell_index="25277" local_entity="0" value="0" />
+ <value cell_index="25278" local_entity="0" value="0" />
+ <value cell_index="25279" local_entity="0" value="0" />
+ <value cell_index="25280" local_entity="0" value="0" />
+ <value cell_index="25281" local_entity="0" value="0" />
+ <value cell_index="25282" local_entity="0" value="0" />
+ <value cell_index="25283" local_entity="0" value="0" />
+ <value cell_index="25284" local_entity="0" value="0" />
+ <value cell_index="25285" local_entity="0" value="0" />
+ <value cell_index="25286" local_entity="0" value="0" />
+ <value cell_index="25287" local_entity="0" value="0" />
+ <value cell_index="25288" local_entity="0" value="0" />
+ <value cell_index="25289" local_entity="0" value="0" />
+ <value cell_index="25290" local_entity="0" value="0" />
+ <value cell_index="25291" local_entity="0" value="0" />
+ <value cell_index="25292" local_entity="0" value="0" />
+ <value cell_index="25293" local_entity="0" value="0" />
+ <value cell_index="25294" local_entity="0" value="0" />
+ <value cell_index="25295" local_entity="0" value="0" />
+ <value cell_index="25296" local_entity="0" value="0" />
+ <value cell_index="25297" local_entity="0" value="0" />
+ <value cell_index="25298" local_entity="0" value="0" />
+ <value cell_index="25299" local_entity="0" value="0" />
+ <value cell_index="25300" local_entity="0" value="0" />
+ <value cell_index="25301" local_entity="0" value="0" />
+ <value cell_index="25302" local_entity="0" value="0" />
+ <value cell_index="25303" local_entity="0" value="0" />
+ <value cell_index="25304" local_entity="0" value="0" />
+ <value cell_index="25305" local_entity="0" value="0" />
+ <value cell_index="25306" local_entity="0" value="0" />
+ <value cell_index="25307" local_entity="0" value="0" />
+ <value cell_index="25308" local_entity="0" value="0" />
+ <value cell_index="25309" local_entity="0" value="0" />
+ <value cell_index="25310" local_entity="0" value="0" />
+ <value cell_index="25311" local_entity="0" value="0" />
+ <value cell_index="25312" local_entity="0" value="0" />
+ <value cell_index="25313" local_entity="0" value="0" />
+ <value cell_index="25314" local_entity="0" value="0" />
+ <value cell_index="25315" local_entity="0" value="0" />
+ <value cell_index="25316" local_entity="0" value="0" />
+ <value cell_index="25317" local_entity="0" value="0" />
+ <value cell_index="25318" local_entity="0" value="0" />
+ <value cell_index="25319" local_entity="0" value="0" />
+ <value cell_index="25320" local_entity="0" value="0" />
+ <value cell_index="25321" local_entity="0" value="0" />
+ <value cell_index="25322" local_entity="0" value="0" />
+ <value cell_index="25323" local_entity="0" value="0" />
+ <value cell_index="25324" local_entity="0" value="0" />
+ <value cell_index="25325" local_entity="0" value="0" />
+ <value cell_index="25326" local_entity="0" value="0" />
+ <value cell_index="25327" local_entity="0" value="0" />
+ <value cell_index="25328" local_entity="0" value="0" />
+ <value cell_index="25329" local_entity="0" value="0" />
+ <value cell_index="25330" local_entity="0" value="0" />
+ <value cell_index="25331" local_entity="0" value="0" />
+ <value cell_index="25332" local_entity="0" value="0" />
+ <value cell_index="25333" local_entity="0" value="0" />
+ <value cell_index="25334" local_entity="0" value="0" />
+ <value cell_index="25335" local_entity="0" value="0" />
+ <value cell_index="25336" local_entity="0" value="0" />
+ <value cell_index="25337" local_entity="0" value="0" />
+ <value cell_index="25338" local_entity="0" value="0" />
+ <value cell_index="25339" local_entity="0" value="0" />
+ <value cell_index="25340" local_entity="0" value="0" />
+ <value cell_index="25341" local_entity="0" value="0" />
+ <value cell_index="25342" local_entity="0" value="0" />
+ <value cell_index="25343" local_entity="0" value="0" />
+ <value cell_index="25344" local_entity="0" value="0" />
+ <value cell_index="25345" local_entity="0" value="0" />
+ <value cell_index="25346" local_entity="0" value="0" />
+ <value cell_index="25347" local_entity="0" value="0" />
+ <value cell_index="25348" local_entity="0" value="0" />
+ <value cell_index="25349" local_entity="0" value="0" />
+ <value cell_index="25350" local_entity="0" value="0" />
+ <value cell_index="25351" local_entity="0" value="0" />
+ <value cell_index="25352" local_entity="0" value="0" />
+ <value cell_index="25353" local_entity="0" value="0" />
+ <value cell_index="25354" local_entity="0" value="0" />
+ <value cell_index="25355" local_entity="0" value="0" />
+ <value cell_index="25356" local_entity="0" value="0" />
+ <value cell_index="25357" local_entity="0" value="0" />
+ <value cell_index="25358" local_entity="0" value="0" />
+ <value cell_index="25359" local_entity="0" value="0" />
+ <value cell_index="25360" local_entity="0" value="0" />
+ <value cell_index="25361" local_entity="0" value="0" />
+ <value cell_index="25362" local_entity="0" value="0" />
+ <value cell_index="25363" local_entity="0" value="0" />
+ <value cell_index="25364" local_entity="0" value="0" />
+ <value cell_index="25365" local_entity="0" value="0" />
+ <value cell_index="25366" local_entity="0" value="0" />
+ <value cell_index="25367" local_entity="0" value="0" />
+ <value cell_index="25368" local_entity="0" value="0" />
+ <value cell_index="25369" local_entity="0" value="0" />
+ <value cell_index="25370" local_entity="0" value="0" />
+ <value cell_index="25371" local_entity="0" value="0" />
+ <value cell_index="25372" local_entity="0" value="0" />
+ <value cell_index="25373" local_entity="0" value="0" />
+ <value cell_index="25374" local_entity="0" value="0" />
+ <value cell_index="25375" local_entity="0" value="0" />
+ <value cell_index="25376" local_entity="0" value="0" />
+ <value cell_index="25377" local_entity="0" value="0" />
+ <value cell_index="25378" local_entity="0" value="0" />
+ <value cell_index="25379" local_entity="0" value="0" />
+ <value cell_index="25380" local_entity="0" value="0" />
+ <value cell_index="25381" local_entity="0" value="0" />
+ <value cell_index="25382" local_entity="0" value="0" />
+ <value cell_index="25383" local_entity="0" value="0" />
+ <value cell_index="25384" local_entity="0" value="0" />
+ <value cell_index="25385" local_entity="0" value="0" />
+ <value cell_index="25386" local_entity="0" value="0" />
+ <value cell_index="25387" local_entity="0" value="0" />
+ <value cell_index="25388" local_entity="0" value="0" />
+ <value cell_index="25389" local_entity="0" value="0" />
+ <value cell_index="25390" local_entity="0" value="0" />
+ <value cell_index="25391" local_entity="0" value="0" />
+ <value cell_index="25392" local_entity="0" value="0" />
+ <value cell_index="25393" local_entity="0" value="0" />
+ <value cell_index="25394" local_entity="0" value="0" />
+ <value cell_index="25395" local_entity="0" value="0" />
+ <value cell_index="25396" local_entity="0" value="0" />
+ <value cell_index="25397" local_entity="0" value="0" />
+ <value cell_index="25398" local_entity="0" value="0" />
+ <value cell_index="25399" local_entity="0" value="0" />
+ <value cell_index="25400" local_entity="0" value="0" />
+ <value cell_index="25401" local_entity="0" value="0" />
+ <value cell_index="25402" local_entity="0" value="0" />
+ <value cell_index="25403" local_entity="0" value="0" />
+ <value cell_index="25404" local_entity="0" value="0" />
+ <value cell_index="25405" local_entity="0" value="0" />
+ <value cell_index="25406" local_entity="0" value="0" />
+ <value cell_index="25407" local_entity="0" value="0" />
+ <value cell_index="25408" local_entity="0" value="0" />
+ <value cell_index="25409" local_entity="0" value="0" />
+ <value cell_index="25410" local_entity="0" value="0" />
+ <value cell_index="25411" local_entity="0" value="0" />
+ <value cell_index="25412" local_entity="0" value="0" />
+ <value cell_index="25413" local_entity="0" value="0" />
+ <value cell_index="25414" local_entity="0" value="0" />
+ <value cell_index="25415" local_entity="0" value="0" />
+ <value cell_index="25416" local_entity="0" value="0" />
+ <value cell_index="25417" local_entity="0" value="0" />
+ <value cell_index="25418" local_entity="0" value="0" />
+ <value cell_index="25419" local_entity="0" value="0" />
+ <value cell_index="25420" local_entity="0" value="0" />
+ <value cell_index="25421" local_entity="0" value="0" />
+ <value cell_index="25422" local_entity="0" value="0" />
+ <value cell_index="25423" local_entity="0" value="0" />
+ <value cell_index="25424" local_entity="0" value="0" />
+ <value cell_index="25425" local_entity="0" value="0" />
+ <value cell_index="25426" local_entity="0" value="0" />
+ <value cell_index="25427" local_entity="0" value="0" />
+ <value cell_index="25428" local_entity="0" value="0" />
+ <value cell_index="25429" local_entity="0" value="0" />
+ <value cell_index="25430" local_entity="0" value="0" />
+ <value cell_index="25431" local_entity="0" value="0" />
+ <value cell_index="25432" local_entity="0" value="0" />
+ <value cell_index="25433" local_entity="0" value="0" />
+ <value cell_index="25434" local_entity="0" value="0" />
+ <value cell_index="25435" local_entity="0" value="0" />
+ <value cell_index="25436" local_entity="0" value="0" />
+ <value cell_index="25437" local_entity="0" value="0" />
+ <value cell_index="25438" local_entity="0" value="0" />
+ <value cell_index="25439" local_entity="0" value="0" />
+ <value cell_index="25440" local_entity="0" value="0" />
+ <value cell_index="25441" local_entity="0" value="0" />
+ <value cell_index="25442" local_entity="0" value="0" />
+ <value cell_index="25443" local_entity="0" value="0" />
+ <value cell_index="25444" local_entity="0" value="0" />
+ <value cell_index="25445" local_entity="0" value="0" />
+ <value cell_index="25446" local_entity="0" value="0" />
+ <value cell_index="25447" local_entity="0" value="0" />
+ <value cell_index="25448" local_entity="0" value="0" />
+ <value cell_index="25449" local_entity="0" value="0" />
+ <value cell_index="25450" local_entity="0" value="0" />
+ <value cell_index="25451" local_entity="0" value="0" />
+ <value cell_index="25452" local_entity="0" value="0" />
+ <value cell_index="25453" local_entity="0" value="0" />
+ <value cell_index="25454" local_entity="0" value="0" />
+ <value cell_index="25455" local_entity="0" value="0" />
+ <value cell_index="25456" local_entity="0" value="0" />
+ <value cell_index="25457" local_entity="0" value="0" />
+ <value cell_index="25458" local_entity="0" value="0" />
+ <value cell_index="25459" local_entity="0" value="0" />
+ <value cell_index="25460" local_entity="0" value="0" />
+ <value cell_index="25461" local_entity="0" value="0" />
+ <value cell_index="25462" local_entity="0" value="0" />
+ <value cell_index="25463" local_entity="0" value="0" />
+ <value cell_index="25464" local_entity="0" value="0" />
+ <value cell_index="25465" local_entity="0" value="0" />
+ <value cell_index="25466" local_entity="0" value="0" />
+ <value cell_index="25467" local_entity="0" value="0" />
+ <value cell_index="25468" local_entity="0" value="0" />
+ <value cell_index="25469" local_entity="0" value="0" />
+ <value cell_index="25470" local_entity="0" value="0" />
+ <value cell_index="25471" local_entity="0" value="0" />
+ <value cell_index="25472" local_entity="0" value="0" />
+ <value cell_index="25473" local_entity="0" value="0" />
+ <value cell_index="25474" local_entity="0" value="0" />
+ <value cell_index="25475" local_entity="0" value="0" />
+ <value cell_index="25476" local_entity="0" value="0" />
+ <value cell_index="25477" local_entity="0" value="0" />
+ <value cell_index="25478" local_entity="0" value="0" />
+ <value cell_index="25479" local_entity="0" value="0" />
+ <value cell_index="25480" local_entity="0" value="0" />
+ <value cell_index="25481" local_entity="0" value="0" />
+ <value cell_index="25482" local_entity="0" value="0" />
+ <value cell_index="25483" local_entity="0" value="0" />
+ <value cell_index="25484" local_entity="0" value="0" />
+ <value cell_index="25485" local_entity="0" value="0" />
+ <value cell_index="25486" local_entity="0" value="0" />
+ <value cell_index="25487" local_entity="0" value="0" />
+ <value cell_index="25488" local_entity="0" value="0" />
+ <value cell_index="25489" local_entity="0" value="0" />
+ <value cell_index="25490" local_entity="0" value="0" />
+ <value cell_index="25491" local_entity="0" value="0" />
+ <value cell_index="25492" local_entity="0" value="0" />
+ <value cell_index="25493" local_entity="0" value="0" />
+ <value cell_index="25494" local_entity="0" value="0" />
+ <value cell_index="25495" local_entity="0" value="0" />
+ <value cell_index="25496" local_entity="0" value="0" />
+ <value cell_index="25497" local_entity="0" value="0" />
+ <value cell_index="25498" local_entity="0" value="0" />
+ <value cell_index="25499" local_entity="0" value="0" />
+ <value cell_index="25500" local_entity="0" value="0" />
+ <value cell_index="25501" local_entity="0" value="0" />
+ <value cell_index="25502" local_entity="0" value="0" />
+ <value cell_index="25503" local_entity="0" value="0" />
+ <value cell_index="25504" local_entity="0" value="0" />
+ <value cell_index="25505" local_entity="0" value="0" />
+ <value cell_index="25506" local_entity="0" value="0" />
+ <value cell_index="25507" local_entity="0" value="0" />
+ <value cell_index="25508" local_entity="0" value="0" />
+ <value cell_index="25509" local_entity="0" value="0" />
+ <value cell_index="25510" local_entity="0" value="0" />
+ <value cell_index="25511" local_entity="0" value="0" />
+ <value cell_index="25512" local_entity="0" value="0" />
+ <value cell_index="25513" local_entity="0" value="0" />
+ <value cell_index="25514" local_entity="0" value="0" />
+ <value cell_index="25515" local_entity="0" value="0" />
+ <value cell_index="25516" local_entity="0" value="0" />
+ <value cell_index="25517" local_entity="0" value="0" />
+ <value cell_index="25518" local_entity="0" value="0" />
+ <value cell_index="25519" local_entity="0" value="0" />
+ <value cell_index="25520" local_entity="0" value="0" />
+ <value cell_index="25521" local_entity="0" value="0" />
+ <value cell_index="25522" local_entity="0" value="0" />
+ <value cell_index="25523" local_entity="0" value="0" />
+ <value cell_index="25524" local_entity="0" value="0" />
+ <value cell_index="25525" local_entity="0" value="0" />
+ <value cell_index="25526" local_entity="0" value="0" />
+ <value cell_index="25527" local_entity="0" value="0" />
+ <value cell_index="25528" local_entity="0" value="0" />
+ <value cell_index="25529" local_entity="0" value="0" />
+ <value cell_index="25530" local_entity="0" value="0" />
+ <value cell_index="25531" local_entity="0" value="0" />
+ <value cell_index="25532" local_entity="0" value="0" />
+ <value cell_index="25533" local_entity="0" value="0" />
+ <value cell_index="25534" local_entity="0" value="0" />
+ <value cell_index="25535" local_entity="0" value="0" />
+ <value cell_index="25536" local_entity="0" value="0" />
+ <value cell_index="25537" local_entity="0" value="0" />
+ <value cell_index="25538" local_entity="0" value="0" />
+ <value cell_index="25539" local_entity="0" value="0" />
+ <value cell_index="25540" local_entity="0" value="0" />
+ <value cell_index="25541" local_entity="0" value="0" />
+ <value cell_index="25542" local_entity="0" value="0" />
+ <value cell_index="25543" local_entity="0" value="0" />
+ <value cell_index="25544" local_entity="0" value="0" />
+ <value cell_index="25545" local_entity="0" value="0" />
+ <value cell_index="25546" local_entity="0" value="0" />
+ <value cell_index="25547" local_entity="0" value="0" />
+ <value cell_index="25548" local_entity="0" value="0" />
+ <value cell_index="25549" local_entity="0" value="0" />
+ <value cell_index="25550" local_entity="0" value="0" />
+ <value cell_index="25551" local_entity="0" value="0" />
+ <value cell_index="25552" local_entity="0" value="0" />
+ <value cell_index="25553" local_entity="0" value="0" />
+ <value cell_index="25554" local_entity="0" value="0" />
+ <value cell_index="25555" local_entity="0" value="0" />
+ <value cell_index="25556" local_entity="0" value="0" />
+ <value cell_index="25557" local_entity="0" value="0" />
+ <value cell_index="25558" local_entity="0" value="0" />
+ <value cell_index="25559" local_entity="0" value="0" />
+ <value cell_index="25560" local_entity="0" value="0" />
+ <value cell_index="25561" local_entity="0" value="0" />
+ <value cell_index="25562" local_entity="0" value="0" />
+ <value cell_index="25563" local_entity="0" value="0" />
+ <value cell_index="25564" local_entity="0" value="0" />
+ <value cell_index="25565" local_entity="0" value="0" />
+ <value cell_index="25566" local_entity="0" value="0" />
+ <value cell_index="25567" local_entity="0" value="0" />
+ <value cell_index="25568" local_entity="0" value="0" />
+ <value cell_index="25569" local_entity="0" value="0" />
+ <value cell_index="25570" local_entity="0" value="0" />
+ <value cell_index="25571" local_entity="0" value="0" />
+ <value cell_index="25572" local_entity="0" value="0" />
+ <value cell_index="25573" local_entity="0" value="0" />
+ <value cell_index="25574" local_entity="0" value="0" />
+ <value cell_index="25575" local_entity="0" value="0" />
+ <value cell_index="25576" local_entity="0" value="0" />
+ <value cell_index="25577" local_entity="0" value="0" />
+ <value cell_index="25578" local_entity="0" value="0" />
+ <value cell_index="25579" local_entity="0" value="0" />
+ <value cell_index="25580" local_entity="0" value="0" />
+ <value cell_index="25581" local_entity="0" value="0" />
+ <value cell_index="25582" local_entity="0" value="0" />
+ <value cell_index="25583" local_entity="0" value="0" />
+ <value cell_index="25584" local_entity="0" value="0" />
+ <value cell_index="25585" local_entity="0" value="0" />
+ <value cell_index="25586" local_entity="0" value="0" />
+ <value cell_index="25587" local_entity="0" value="0" />
+ <value cell_index="25588" local_entity="0" value="0" />
+ <value cell_index="25589" local_entity="0" value="0" />
+ <value cell_index="25590" local_entity="0" value="0" />
+ <value cell_index="25591" local_entity="0" value="0" />
+ <value cell_index="25592" local_entity="0" value="0" />
+ <value cell_index="25593" local_entity="0" value="0" />
+ <value cell_index="25594" local_entity="0" value="0" />
+ <value cell_index="25595" local_entity="0" value="0" />
+ <value cell_index="25596" local_entity="0" value="0" />
+ <value cell_index="25597" local_entity="0" value="0" />
+ <value cell_index="25598" local_entity="0" value="0" />
+ <value cell_index="25599" local_entity="0" value="0" />
+ <value cell_index="25600" local_entity="0" value="0" />
+ <value cell_index="25601" local_entity="0" value="0" />
+ <value cell_index="25602" local_entity="0" value="0" />
+ <value cell_index="25603" local_entity="0" value="0" />
+ <value cell_index="25604" local_entity="0" value="0" />
+ <value cell_index="25605" local_entity="0" value="0" />
+ <value cell_index="25606" local_entity="0" value="0" />
+ <value cell_index="25607" local_entity="0" value="0" />
+ <value cell_index="25608" local_entity="0" value="0" />
+ <value cell_index="25609" local_entity="0" value="0" />
+ <value cell_index="25610" local_entity="0" value="0" />
+ <value cell_index="25611" local_entity="0" value="0" />
+ <value cell_index="25612" local_entity="0" value="0" />
+ <value cell_index="25613" local_entity="0" value="0" />
+ <value cell_index="25614" local_entity="0" value="0" />
+ <value cell_index="25615" local_entity="0" value="0" />
+ <value cell_index="25616" local_entity="0" value="0" />
+ <value cell_index="25617" local_entity="0" value="0" />
+ <value cell_index="25618" local_entity="0" value="0" />
+ <value cell_index="25619" local_entity="0" value="0" />
+ <value cell_index="25620" local_entity="0" value="0" />
+ <value cell_index="25621" local_entity="0" value="0" />
+ <value cell_index="25622" local_entity="0" value="0" />
+ <value cell_index="25623" local_entity="0" value="0" />
+ <value cell_index="25624" local_entity="0" value="0" />
+ <value cell_index="25625" local_entity="0" value="0" />
+ <value cell_index="25626" local_entity="0" value="0" />
+ <value cell_index="25627" local_entity="0" value="0" />
+ <value cell_index="25628" local_entity="0" value="0" />
+ <value cell_index="25629" local_entity="0" value="0" />
+ <value cell_index="25630" local_entity="0" value="0" />
+ <value cell_index="25631" local_entity="0" value="0" />
+ <value cell_index="25632" local_entity="0" value="0" />
+ <value cell_index="25633" local_entity="0" value="0" />
+ <value cell_index="25634" local_entity="0" value="0" />
+ <value cell_index="25635" local_entity="0" value="0" />
+ <value cell_index="25636" local_entity="0" value="0" />
+ <value cell_index="25637" local_entity="0" value="0" />
+ <value cell_index="25638" local_entity="0" value="0" />
+ <value cell_index="25639" local_entity="0" value="0" />
+ <value cell_index="25640" local_entity="0" value="0" />
+ <value cell_index="25641" local_entity="0" value="0" />
+ <value cell_index="25642" local_entity="0" value="0" />
+ <value cell_index="25643" local_entity="0" value="0" />
+ <value cell_index="25644" local_entity="0" value="0" />
+ <value cell_index="25645" local_entity="0" value="0" />
+ <value cell_index="25646" local_entity="0" value="0" />
+ <value cell_index="25647" local_entity="0" value="0" />
+ <value cell_index="25648" local_entity="0" value="0" />
+ <value cell_index="25649" local_entity="0" value="0" />
+ <value cell_index="25650" local_entity="0" value="0" />
+ <value cell_index="25651" local_entity="0" value="0" />
+ <value cell_index="25652" local_entity="0" value="0" />
+ <value cell_index="25653" local_entity="0" value="0" />
+ <value cell_index="25654" local_entity="0" value="0" />
+ <value cell_index="25655" local_entity="0" value="0" />
+ <value cell_index="25656" local_entity="0" value="0" />
+ <value cell_index="25657" local_entity="0" value="0" />
+ <value cell_index="25658" local_entity="0" value="0" />
+ <value cell_index="25659" local_entity="0" value="0" />
+ <value cell_index="25660" local_entity="0" value="0" />
+ <value cell_index="25661" local_entity="0" value="0" />
+ <value cell_index="25662" local_entity="0" value="0" />
+ <value cell_index="25663" local_entity="0" value="0" />
+ <value cell_index="25664" local_entity="0" value="0" />
+ <value cell_index="25665" local_entity="0" value="0" />
+ <value cell_index="25666" local_entity="0" value="0" />
+ <value cell_index="25667" local_entity="0" value="0" />
+ <value cell_index="25668" local_entity="0" value="0" />
+ <value cell_index="25669" local_entity="0" value="0" />
+ <value cell_index="25670" local_entity="0" value="0" />
+ <value cell_index="25671" local_entity="0" value="0" />
+ <value cell_index="25672" local_entity="0" value="0" />
+ <value cell_index="25673" local_entity="0" value="0" />
+ <value cell_index="25674" local_entity="0" value="0" />
+ <value cell_index="25675" local_entity="0" value="0" />
+ <value cell_index="25676" local_entity="0" value="0" />
+ <value cell_index="25677" local_entity="0" value="0" />
+ <value cell_index="25678" local_entity="0" value="0" />
+ <value cell_index="25679" local_entity="0" value="0" />
+ <value cell_index="25680" local_entity="0" value="0" />
+ <value cell_index="25681" local_entity="0" value="0" />
+ <value cell_index="25682" local_entity="0" value="0" />
+ <value cell_index="25683" local_entity="0" value="0" />
+ <value cell_index="25684" local_entity="0" value="0" />
+ <value cell_index="25685" local_entity="0" value="0" />
+ <value cell_index="25686" local_entity="0" value="0" />
+ <value cell_index="25687" local_entity="0" value="0" />
+ <value cell_index="25688" local_entity="0" value="0" />
+ <value cell_index="25689" local_entity="0" value="0" />
+ <value cell_index="25690" local_entity="0" value="0" />
+ <value cell_index="25691" local_entity="0" value="0" />
+ <value cell_index="25692" local_entity="0" value="0" />
+ <value cell_index="25693" local_entity="0" value="0" />
+ <value cell_index="25694" local_entity="0" value="0" />
+ <value cell_index="25695" local_entity="0" value="0" />
+ <value cell_index="25696" local_entity="0" value="0" />
+ <value cell_index="25697" local_entity="0" value="0" />
+ <value cell_index="25698" local_entity="0" value="0" />
+ <value cell_index="25699" local_entity="0" value="0" />
+ <value cell_index="25700" local_entity="0" value="0" />
+ <value cell_index="25701" local_entity="0" value="0" />
+ <value cell_index="25702" local_entity="0" value="0" />
+ <value cell_index="25703" local_entity="0" value="0" />
+ <value cell_index="25704" local_entity="0" value="0" />
+ <value cell_index="25705" local_entity="0" value="0" />
+ <value cell_index="25706" local_entity="0" value="0" />
+ <value cell_index="25707" local_entity="0" value="0" />
+ <value cell_index="25708" local_entity="0" value="0" />
+ <value cell_index="25709" local_entity="0" value="0" />
+ <value cell_index="25710" local_entity="0" value="0" />
+ <value cell_index="25711" local_entity="0" value="0" />
+ <value cell_index="25712" local_entity="0" value="0" />
+ <value cell_index="25713" local_entity="0" value="0" />
+ <value cell_index="25714" local_entity="0" value="0" />
+ <value cell_index="25715" local_entity="0" value="0" />
+ <value cell_index="25716" local_entity="0" value="0" />
+ <value cell_index="25717" local_entity="0" value="0" />
+ <value cell_index="25718" local_entity="0" value="0" />
+ <value cell_index="25719" local_entity="0" value="0" />
+ <value cell_index="25720" local_entity="0" value="0" />
+ <value cell_index="25721" local_entity="0" value="0" />
+ <value cell_index="25722" local_entity="0" value="0" />
+ <value cell_index="25723" local_entity="0" value="0" />
+ <value cell_index="25724" local_entity="0" value="0" />
+ <value cell_index="25725" local_entity="0" value="0" />
+ <value cell_index="25726" local_entity="0" value="0" />
+ <value cell_index="25727" local_entity="0" value="0" />
+ <value cell_index="25728" local_entity="0" value="0" />
+ <value cell_index="25729" local_entity="0" value="0" />
+ <value cell_index="25730" local_entity="0" value="0" />
+ <value cell_index="25731" local_entity="0" value="0" />
+ <value cell_index="25732" local_entity="0" value="0" />
+ <value cell_index="25733" local_entity="0" value="0" />
+ <value cell_index="25734" local_entity="0" value="0" />
+ <value cell_index="25735" local_entity="0" value="0" />
+ <value cell_index="25736" local_entity="0" value="0" />
+ <value cell_index="25737" local_entity="0" value="0" />
+ <value cell_index="25738" local_entity="0" value="0" />
+ <value cell_index="25739" local_entity="0" value="0" />
+ <value cell_index="25740" local_entity="0" value="0" />
+ <value cell_index="25741" local_entity="0" value="0" />
+ <value cell_index="25742" local_entity="0" value="0" />
+ <value cell_index="25743" local_entity="0" value="0" />
+ <value cell_index="25744" local_entity="0" value="0" />
+ <value cell_index="25745" local_entity="0" value="0" />
+ <value cell_index="25746" local_entity="0" value="0" />
+ <value cell_index="25747" local_entity="0" value="0" />
+ <value cell_index="25748" local_entity="0" value="0" />
+ <value cell_index="25749" local_entity="0" value="0" />
+ <value cell_index="25750" local_entity="0" value="0" />
+ <value cell_index="25751" local_entity="0" value="0" />
+ <value cell_index="25752" local_entity="0" value="0" />
+ <value cell_index="25753" local_entity="0" value="0" />
+ <value cell_index="25754" local_entity="0" value="0" />
+ <value cell_index="25755" local_entity="0" value="0" />
+ <value cell_index="25756" local_entity="0" value="0" />
+ <value cell_index="25757" local_entity="0" value="0" />
+ <value cell_index="25758" local_entity="0" value="0" />
+ <value cell_index="25759" local_entity="0" value="0" />
+ <value cell_index="25760" local_entity="0" value="0" />
+ <value cell_index="25761" local_entity="0" value="0" />
+ <value cell_index="25762" local_entity="0" value="0" />
+ <value cell_index="25763" local_entity="0" value="0" />
+ <value cell_index="25764" local_entity="0" value="0" />
+ <value cell_index="25765" local_entity="0" value="0" />
+ <value cell_index="25766" local_entity="0" value="0" />
+ <value cell_index="25767" local_entity="0" value="0" />
+ <value cell_index="25768" local_entity="0" value="0" />
+ <value cell_index="25769" local_entity="0" value="0" />
+ <value cell_index="25770" local_entity="0" value="0" />
+ <value cell_index="25771" local_entity="0" value="0" />
+ <value cell_index="25772" local_entity="0" value="0" />
+ <value cell_index="25773" local_entity="0" value="0" />
+ <value cell_index="25774" local_entity="0" value="0" />
+ <value cell_index="25775" local_entity="0" value="0" />
+ <value cell_index="25776" local_entity="0" value="0" />
+ <value cell_index="25777" local_entity="0" value="0" />
+ <value cell_index="25778" local_entity="0" value="0" />
+ <value cell_index="25779" local_entity="0" value="0" />
+ <value cell_index="25780" local_entity="0" value="0" />
+ <value cell_index="25781" local_entity="0" value="0" />
+ <value cell_index="25782" local_entity="0" value="0" />
+ <value cell_index="25783" local_entity="0" value="0" />
+ <value cell_index="25784" local_entity="0" value="0" />
+ <value cell_index="25785" local_entity="0" value="0" />
+ <value cell_index="25786" local_entity="0" value="0" />
+ <value cell_index="25787" local_entity="0" value="0" />
+ <value cell_index="25788" local_entity="0" value="0" />
+ <value cell_index="25789" local_entity="0" value="0" />
+ <value cell_index="25790" local_entity="0" value="0" />
+ <value cell_index="25791" local_entity="0" value="0" />
+ <value cell_index="25792" local_entity="0" value="0" />
+ <value cell_index="25793" local_entity="0" value="0" />
+ <value cell_index="25794" local_entity="0" value="0" />
+ <value cell_index="25795" local_entity="0" value="0" />
+ <value cell_index="25796" local_entity="0" value="0" />
+ <value cell_index="25797" local_entity="0" value="0" />
+ <value cell_index="25798" local_entity="0" value="0" />
+ <value cell_index="25799" local_entity="0" value="0" />
+ <value cell_index="25800" local_entity="0" value="0" />
+ <value cell_index="25801" local_entity="0" value="0" />
+ <value cell_index="25802" local_entity="0" value="0" />
+ <value cell_index="25803" local_entity="0" value="0" />
+ <value cell_index="25804" local_entity="0" value="0" />
+ <value cell_index="25805" local_entity="0" value="0" />
+ <value cell_index="25806" local_entity="0" value="0" />
+ <value cell_index="25807" local_entity="0" value="0" />
+ <value cell_index="25808" local_entity="0" value="0" />
+ <value cell_index="25809" local_entity="0" value="0" />
+ <value cell_index="25810" local_entity="0" value="0" />
+ <value cell_index="25811" local_entity="0" value="0" />
+ <value cell_index="25812" local_entity="0" value="0" />
+ <value cell_index="25813" local_entity="0" value="0" />
+ <value cell_index="25814" local_entity="0" value="0" />
+ <value cell_index="25815" local_entity="0" value="0" />
+ <value cell_index="25816" local_entity="0" value="0" />
+ <value cell_index="25817" local_entity="0" value="0" />
+ <value cell_index="25818" local_entity="0" value="0" />
+ <value cell_index="25819" local_entity="0" value="0" />
+ <value cell_index="25820" local_entity="0" value="0" />
+ <value cell_index="25821" local_entity="0" value="0" />
+ <value cell_index="25822" local_entity="0" value="0" />
+ <value cell_index="25823" local_entity="0" value="0" />
+ <value cell_index="25824" local_entity="0" value="0" />
+ <value cell_index="25825" local_entity="0" value="0" />
+ <value cell_index="25826" local_entity="0" value="0" />
+ <value cell_index="25827" local_entity="0" value="0" />
+ <value cell_index="25828" local_entity="0" value="0" />
+ <value cell_index="25829" local_entity="0" value="0" />
+ <value cell_index="25830" local_entity="0" value="0" />
+ <value cell_index="25831" local_entity="0" value="0" />
+ <value cell_index="25832" local_entity="0" value="0" />
+ <value cell_index="25833" local_entity="0" value="0" />
+ <value cell_index="25834" local_entity="0" value="0" />
+ <value cell_index="25835" local_entity="0" value="0" />
+ <value cell_index="25836" local_entity="0" value="0" />
+ <value cell_index="25837" local_entity="0" value="0" />
+ <value cell_index="25838" local_entity="0" value="0" />
+ <value cell_index="25839" local_entity="0" value="0" />
+ <value cell_index="25840" local_entity="0" value="0" />
+ <value cell_index="25841" local_entity="0" value="0" />
+ <value cell_index="25842" local_entity="0" value="0" />
+ <value cell_index="25843" local_entity="0" value="0" />
+ <value cell_index="25844" local_entity="0" value="0" />
+ <value cell_index="25845" local_entity="0" value="0" />
+ <value cell_index="25846" local_entity="0" value="0" />
+ <value cell_index="25847" local_entity="0" value="0" />
+ <value cell_index="25848" local_entity="0" value="0" />
+ <value cell_index="25849" local_entity="0" value="0" />
+ <value cell_index="25850" local_entity="0" value="0" />
+ <value cell_index="25851" local_entity="0" value="0" />
+ <value cell_index="25852" local_entity="0" value="0" />
+ <value cell_index="25853" local_entity="0" value="0" />
+ <value cell_index="25854" local_entity="0" value="0" />
+ <value cell_index="25855" local_entity="0" value="0" />
+ <value cell_index="25856" local_entity="0" value="0" />
+ <value cell_index="25857" local_entity="0" value="0" />
+ <value cell_index="25858" local_entity="0" value="0" />
+ <value cell_index="25859" local_entity="0" value="0" />
+ <value cell_index="25860" local_entity="0" value="0" />
+ <value cell_index="25861" local_entity="0" value="0" />
+ <value cell_index="25862" local_entity="0" value="0" />
+ <value cell_index="25863" local_entity="0" value="0" />
+ <value cell_index="25864" local_entity="0" value="0" />
+ <value cell_index="25865" local_entity="0" value="0" />
+ <value cell_index="25866" local_entity="0" value="0" />
+ <value cell_index="25867" local_entity="0" value="0" />
+ <value cell_index="25868" local_entity="0" value="0" />
+ <value cell_index="25869" local_entity="0" value="0" />
+ <value cell_index="25870" local_entity="0" value="0" />
+ <value cell_index="25871" local_entity="0" value="0" />
+ <value cell_index="25872" local_entity="0" value="0" />
+ <value cell_index="25873" local_entity="0" value="0" />
+ <value cell_index="25874" local_entity="0" value="0" />
+ <value cell_index="25875" local_entity="0" value="0" />
+ <value cell_index="25876" local_entity="0" value="0" />
+ <value cell_index="25877" local_entity="0" value="0" />
+ <value cell_index="25878" local_entity="0" value="0" />
+ <value cell_index="25879" local_entity="0" value="0" />
+ <value cell_index="25880" local_entity="0" value="0" />
+ <value cell_index="25881" local_entity="0" value="0" />
+ <value cell_index="25882" local_entity="0" value="0" />
+ <value cell_index="25883" local_entity="0" value="0" />
+ <value cell_index="25884" local_entity="0" value="0" />
+ <value cell_index="25885" local_entity="0" value="0" />
+ <value cell_index="25886" local_entity="0" value="0" />
+ <value cell_index="25887" local_entity="0" value="0" />
+ <value cell_index="25888" local_entity="0" value="0" />
+ <value cell_index="25889" local_entity="0" value="0" />
+ <value cell_index="25890" local_entity="0" value="0" />
+ <value cell_index="25891" local_entity="0" value="0" />
+ <value cell_index="25892" local_entity="0" value="0" />
+ <value cell_index="25893" local_entity="0" value="0" />
+ <value cell_index="25894" local_entity="0" value="0" />
+ <value cell_index="25895" local_entity="0" value="0" />
+ <value cell_index="25896" local_entity="0" value="0" />
+ <value cell_index="25897" local_entity="0" value="0" />
+ <value cell_index="25898" local_entity="0" value="0" />
+ <value cell_index="25899" local_entity="0" value="0" />
+ <value cell_index="25900" local_entity="0" value="0" />
+ <value cell_index="25901" local_entity="0" value="0" />
+ <value cell_index="25902" local_entity="0" value="0" />
+ <value cell_index="25903" local_entity="0" value="0" />
+ <value cell_index="25904" local_entity="0" value="0" />
+ <value cell_index="25905" local_entity="0" value="0" />
+ <value cell_index="25906" local_entity="0" value="0" />
+ <value cell_index="25907" local_entity="0" value="0" />
+ <value cell_index="25908" local_entity="0" value="0" />
+ <value cell_index="25909" local_entity="0" value="0" />
+ <value cell_index="25910" local_entity="0" value="0" />
+ <value cell_index="25911" local_entity="0" value="0" />
+ <value cell_index="25912" local_entity="0" value="0" />
+ <value cell_index="25913" local_entity="0" value="0" />
+ <value cell_index="25914" local_entity="0" value="0" />
+ <value cell_index="25915" local_entity="0" value="0" />
+ <value cell_index="25916" local_entity="0" value="0" />
+ <value cell_index="25917" local_entity="0" value="0" />
+ <value cell_index="25918" local_entity="0" value="0" />
+ <value cell_index="25919" local_entity="0" value="0" />
+ <value cell_index="25920" local_entity="0" value="0" />
+ <value cell_index="25921" local_entity="0" value="0" />
+ <value cell_index="25922" local_entity="0" value="0" />
+ <value cell_index="25923" local_entity="0" value="0" />
+ <value cell_index="25924" local_entity="0" value="0" />
+ <value cell_index="25925" local_entity="0" value="0" />
+ <value cell_index="25926" local_entity="0" value="0" />
+ <value cell_index="25927" local_entity="0" value="0" />
+ <value cell_index="25928" local_entity="0" value="0" />
+ <value cell_index="25929" local_entity="0" value="0" />
+ <value cell_index="25930" local_entity="0" value="0" />
+ <value cell_index="25931" local_entity="0" value="0" />
+ <value cell_index="25932" local_entity="0" value="0" />
+ <value cell_index="25933" local_entity="0" value="0" />
+ <value cell_index="25934" local_entity="0" value="0" />
+ <value cell_index="25935" local_entity="0" value="0" />
+ <value cell_index="25936" local_entity="0" value="0" />
+ <value cell_index="25937" local_entity="0" value="0" />
+ <value cell_index="25938" local_entity="0" value="0" />
+ <value cell_index="25939" local_entity="0" value="0" />
+ <value cell_index="25940" local_entity="0" value="0" />
+ <value cell_index="25941" local_entity="0" value="0" />
+ <value cell_index="25942" local_entity="0" value="0" />
+ <value cell_index="25943" local_entity="0" value="0" />
+ <value cell_index="25944" local_entity="0" value="0" />
+ <value cell_index="25945" local_entity="0" value="0" />
+ <value cell_index="25946" local_entity="0" value="0" />
+ <value cell_index="25947" local_entity="0" value="0" />
+ <value cell_index="25948" local_entity="0" value="0" />
+ <value cell_index="25949" local_entity="0" value="0" />
+ <value cell_index="25950" local_entity="0" value="0" />
+ <value cell_index="25951" local_entity="0" value="0" />
+ <value cell_index="25952" local_entity="0" value="0" />
+ <value cell_index="25953" local_entity="0" value="0" />
+ <value cell_index="25954" local_entity="0" value="0" />
+ <value cell_index="25955" local_entity="0" value="0" />
+ <value cell_index="25956" local_entity="0" value="0" />
+ <value cell_index="25957" local_entity="0" value="0" />
+ <value cell_index="25958" local_entity="0" value="0" />
+ <value cell_index="25959" local_entity="0" value="0" />
+ <value cell_index="25960" local_entity="0" value="0" />
+ <value cell_index="25961" local_entity="0" value="0" />
+ <value cell_index="25962" local_entity="0" value="0" />
+ <value cell_index="25963" local_entity="0" value="0" />
+ <value cell_index="25964" local_entity="0" value="0" />
+ <value cell_index="25965" local_entity="0" value="0" />
+ <value cell_index="25966" local_entity="0" value="0" />
+ <value cell_index="25967" local_entity="0" value="0" />
+ <value cell_index="25968" local_entity="0" value="0" />
+ <value cell_index="25969" local_entity="0" value="0" />
+ <value cell_index="25970" local_entity="0" value="0" />
+ <value cell_index="25971" local_entity="0" value="0" />
+ <value cell_index="25972" local_entity="0" value="0" />
+ <value cell_index="25973" local_entity="0" value="0" />
+ <value cell_index="25974" local_entity="0" value="0" />
+ <value cell_index="25975" local_entity="0" value="0" />
+ <value cell_index="25976" local_entity="0" value="0" />
+ <value cell_index="25977" local_entity="0" value="0" />
+ <value cell_index="25978" local_entity="0" value="0" />
+ <value cell_index="25979" local_entity="0" value="0" />
+ <value cell_index="25980" local_entity="0" value="0" />
+ <value cell_index="25981" local_entity="0" value="0" />
+ <value cell_index="25982" local_entity="0" value="0" />
+ <value cell_index="25983" local_entity="0" value="0" />
+ <value cell_index="25984" local_entity="0" value="0" />
+ <value cell_index="25985" local_entity="0" value="0" />
+ <value cell_index="25986" local_entity="0" value="0" />
+ <value cell_index="25987" local_entity="0" value="0" />
+ <value cell_index="25988" local_entity="0" value="0" />
+ <value cell_index="25989" local_entity="0" value="0" />
+ <value cell_index="25990" local_entity="0" value="0" />
+ <value cell_index="25991" local_entity="0" value="0" />
+ <value cell_index="25992" local_entity="0" value="0" />
+ <value cell_index="25993" local_entity="0" value="0" />
+ <value cell_index="25994" local_entity="0" value="0" />
+ <value cell_index="25995" local_entity="0" value="0" />
+ <value cell_index="25996" local_entity="0" value="0" />
+ <value cell_index="25997" local_entity="0" value="0" />
+ <value cell_index="25998" local_entity="0" value="0" />
+ <value cell_index="25999" local_entity="0" value="0" />
+ <value cell_index="26000" local_entity="0" value="0" />
+ <value cell_index="26001" local_entity="0" value="0" />
+ <value cell_index="26002" local_entity="0" value="0" />
+ <value cell_index="26003" local_entity="0" value="0" />
+ <value cell_index="26004" local_entity="0" value="0" />
+ <value cell_index="26005" local_entity="0" value="0" />
+ <value cell_index="26006" local_entity="0" value="0" />
+ <value cell_index="26007" local_entity="0" value="0" />
+ <value cell_index="26008" local_entity="0" value="0" />
+ <value cell_index="26009" local_entity="0" value="0" />
+ <value cell_index="26010" local_entity="0" value="0" />
+ <value cell_index="26011" local_entity="0" value="0" />
+ <value cell_index="26012" local_entity="0" value="0" />
+ <value cell_index="26013" local_entity="0" value="0" />
+ <value cell_index="26014" local_entity="0" value="0" />
+ <value cell_index="26015" local_entity="0" value="0" />
+ <value cell_index="26016" local_entity="0" value="0" />
+ <value cell_index="26017" local_entity="0" value="0" />
+ <value cell_index="26018" local_entity="0" value="0" />
+ <value cell_index="26019" local_entity="0" value="0" />
+ <value cell_index="26020" local_entity="0" value="0" />
+ <value cell_index="26021" local_entity="0" value="0" />
+ <value cell_index="26022" local_entity="0" value="0" />
+ <value cell_index="26023" local_entity="0" value="0" />
+ <value cell_index="26024" local_entity="0" value="0" />
+ <value cell_index="26025" local_entity="0" value="0" />
+ <value cell_index="26026" local_entity="0" value="0" />
+ <value cell_index="26027" local_entity="0" value="0" />
+ <value cell_index="26028" local_entity="0" value="0" />
+ <value cell_index="26029" local_entity="0" value="0" />
+ <value cell_index="26030" local_entity="0" value="0" />
+ <value cell_index="26031" local_entity="0" value="0" />
+ <value cell_index="26032" local_entity="0" value="0" />
+ <value cell_index="26033" local_entity="0" value="0" />
+ <value cell_index="26034" local_entity="0" value="0" />
+ <value cell_index="26035" local_entity="0" value="0" />
+ <value cell_index="26036" local_entity="0" value="0" />
+ <value cell_index="26037" local_entity="0" value="0" />
+ <value cell_index="26038" local_entity="0" value="0" />
+ <value cell_index="26039" local_entity="0" value="0" />
+ <value cell_index="26040" local_entity="0" value="0" />
+ <value cell_index="26041" local_entity="0" value="0" />
+ <value cell_index="26042" local_entity="0" value="0" />
+ <value cell_index="26043" local_entity="0" value="0" />
+ <value cell_index="26044" local_entity="0" value="0" />
+ <value cell_index="26045" local_entity="0" value="0" />
+ <value cell_index="26046" local_entity="0" value="0" />
+ <value cell_index="26047" local_entity="0" value="0" />
+ <value cell_index="26048" local_entity="0" value="0" />
+ <value cell_index="26049" local_entity="0" value="0" />
+ <value cell_index="26050" local_entity="0" value="0" />
+ <value cell_index="26051" local_entity="0" value="0" />
+ <value cell_index="26052" local_entity="0" value="0" />
+ <value cell_index="26053" local_entity="0" value="0" />
+ <value cell_index="26054" local_entity="0" value="0" />
+ <value cell_index="26055" local_entity="0" value="0" />
+ <value cell_index="26056" local_entity="0" value="0" />
+ <value cell_index="26057" local_entity="0" value="0" />
+ <value cell_index="26058" local_entity="0" value="0" />
+ <value cell_index="26059" local_entity="0" value="0" />
+ <value cell_index="26060" local_entity="0" value="0" />
+ <value cell_index="26061" local_entity="0" value="0" />
+ <value cell_index="26062" local_entity="0" value="0" />
+ <value cell_index="26063" local_entity="0" value="0" />
+ <value cell_index="26064" local_entity="0" value="0" />
+ <value cell_index="26065" local_entity="0" value="0" />
+ <value cell_index="26066" local_entity="0" value="0" />
+ <value cell_index="26067" local_entity="0" value="0" />
+ <value cell_index="26068" local_entity="0" value="0" />
+ <value cell_index="26069" local_entity="0" value="0" />
+ <value cell_index="26070" local_entity="0" value="0" />
+ <value cell_index="26071" local_entity="0" value="0" />
+ <value cell_index="26072" local_entity="0" value="0" />
+ <value cell_index="26073" local_entity="0" value="0" />
+ <value cell_index="26074" local_entity="0" value="0" />
+ <value cell_index="26075" local_entity="0" value="0" />
+ <value cell_index="26076" local_entity="0" value="0" />
+ <value cell_index="26077" local_entity="0" value="0" />
+ <value cell_index="26078" local_entity="0" value="0" />
+ <value cell_index="26079" local_entity="0" value="0" />
+ <value cell_index="26080" local_entity="0" value="0" />
+ <value cell_index="26081" local_entity="0" value="0" />
+ <value cell_index="26082" local_entity="0" value="0" />
+ <value cell_index="26083" local_entity="0" value="0" />
+ <value cell_index="26084" local_entity="0" value="0" />
+ <value cell_index="26085" local_entity="0" value="0" />
+ <value cell_index="26086" local_entity="0" value="0" />
+ <value cell_index="26087" local_entity="0" value="0" />
+ <value cell_index="26088" local_entity="0" value="0" />
+ <value cell_index="26089" local_entity="0" value="0" />
+ <value cell_index="26090" local_entity="0" value="0" />
+ <value cell_index="26091" local_entity="0" value="0" />
+ <value cell_index="26092" local_entity="0" value="0" />
+ <value cell_index="26093" local_entity="0" value="0" />
+ <value cell_index="26094" local_entity="0" value="0" />
+ <value cell_index="26095" local_entity="0" value="0" />
+ <value cell_index="26096" local_entity="0" value="0" />
+ <value cell_index="26097" local_entity="0" value="0" />
+ <value cell_index="26098" local_entity="0" value="0" />
+ <value cell_index="26099" local_entity="0" value="0" />
+ <value cell_index="26100" local_entity="0" value="0" />
+ <value cell_index="26101" local_entity="0" value="0" />
+ <value cell_index="26102" local_entity="0" value="0" />
+ <value cell_index="26103" local_entity="0" value="0" />
+ <value cell_index="26104" local_entity="0" value="0" />
+ <value cell_index="26105" local_entity="0" value="0" />
+ <value cell_index="26106" local_entity="0" value="0" />
+ <value cell_index="26107" local_entity="0" value="0" />
+ <value cell_index="26108" local_entity="0" value="0" />
+ <value cell_index="26109" local_entity="0" value="0" />
+ <value cell_index="26110" local_entity="0" value="0" />
+ <value cell_index="26111" local_entity="0" value="0" />
+ <value cell_index="26112" local_entity="0" value="0" />
+ <value cell_index="26113" local_entity="0" value="0" />
+ <value cell_index="26114" local_entity="0" value="0" />
+ <value cell_index="26115" local_entity="0" value="0" />
+ <value cell_index="26116" local_entity="0" value="0" />
+ <value cell_index="26117" local_entity="0" value="0" />
+ <value cell_index="26118" local_entity="0" value="0" />
+ <value cell_index="26119" local_entity="0" value="0" />
+ <value cell_index="26120" local_entity="0" value="0" />
+ <value cell_index="26121" local_entity="0" value="0" />
+ <value cell_index="26122" local_entity="0" value="0" />
+ <value cell_index="26123" local_entity="0" value="0" />
+ <value cell_index="26124" local_entity="0" value="0" />
+ <value cell_index="26125" local_entity="0" value="0" />
+ <value cell_index="26126" local_entity="0" value="0" />
+ <value cell_index="26127" local_entity="0" value="0" />
+ <value cell_index="26128" local_entity="0" value="0" />
+ <value cell_index="26129" local_entity="0" value="0" />
+ <value cell_index="26130" local_entity="0" value="0" />
+ <value cell_index="26131" local_entity="0" value="0" />
+ <value cell_index="26132" local_entity="0" value="0" />
+ <value cell_index="26133" local_entity="0" value="0" />
+ <value cell_index="26134" local_entity="0" value="0" />
+ <value cell_index="26135" local_entity="0" value="0" />
+ <value cell_index="26136" local_entity="0" value="0" />
+ <value cell_index="26137" local_entity="0" value="0" />
+ <value cell_index="26138" local_entity="0" value="0" />
+ <value cell_index="26139" local_entity="0" value="0" />
+ <value cell_index="26140" local_entity="0" value="0" />
+ <value cell_index="26141" local_entity="0" value="0" />
+ <value cell_index="26142" local_entity="0" value="0" />
+ <value cell_index="26143" local_entity="0" value="0" />
+ <value cell_index="26144" local_entity="0" value="0" />
+ <value cell_index="26145" local_entity="0" value="0" />
+ <value cell_index="26146" local_entity="0" value="0" />
+ <value cell_index="26147" local_entity="0" value="0" />
+ <value cell_index="26148" local_entity="0" value="0" />
+ <value cell_index="26149" local_entity="0" value="0" />
+ <value cell_index="26150" local_entity="0" value="0" />
+ <value cell_index="26151" local_entity="0" value="0" />
+ <value cell_index="26152" local_entity="0" value="0" />
+ <value cell_index="26153" local_entity="0" value="0" />
+ <value cell_index="26154" local_entity="0" value="0" />
+ <value cell_index="26155" local_entity="0" value="0" />
+ <value cell_index="26156" local_entity="0" value="0" />
+ <value cell_index="26157" local_entity="0" value="0" />
+ <value cell_index="26158" local_entity="0" value="0" />
+ <value cell_index="26159" local_entity="0" value="0" />
+ <value cell_index="26160" local_entity="0" value="0" />
+ <value cell_index="26161" local_entity="0" value="0" />
+ <value cell_index="26162" local_entity="0" value="0" />
+ <value cell_index="26163" local_entity="0" value="0" />
+ <value cell_index="26164" local_entity="0" value="0" />
+ <value cell_index="26165" local_entity="0" value="0" />
+ <value cell_index="26166" local_entity="0" value="0" />
+ <value cell_index="26167" local_entity="0" value="0" />
+ <value cell_index="26168" local_entity="0" value="0" />
+ <value cell_index="26169" local_entity="0" value="0" />
+ <value cell_index="26170" local_entity="0" value="0" />
+ <value cell_index="26171" local_entity="0" value="0" />
+ <value cell_index="26172" local_entity="0" value="0" />
+ <value cell_index="26173" local_entity="0" value="0" />
+ <value cell_index="26174" local_entity="0" value="0" />
+ <value cell_index="26175" local_entity="0" value="0" />
+ <value cell_index="26176" local_entity="0" value="0" />
+ <value cell_index="26177" local_entity="0" value="0" />
+ <value cell_index="26178" local_entity="0" value="0" />
+ <value cell_index="26179" local_entity="0" value="0" />
+ <value cell_index="26180" local_entity="0" value="0" />
+ <value cell_index="26181" local_entity="0" value="0" />
+ <value cell_index="26182" local_entity="0" value="0" />
+ <value cell_index="26183" local_entity="0" value="0" />
+ <value cell_index="26184" local_entity="0" value="0" />
+ <value cell_index="26185" local_entity="0" value="0" />
+ <value cell_index="26186" local_entity="0" value="0" />
+ <value cell_index="26187" local_entity="0" value="0" />
+ <value cell_index="26188" local_entity="0" value="0" />
+ <value cell_index="26189" local_entity="0" value="0" />
+ <value cell_index="26190" local_entity="0" value="0" />
+ <value cell_index="26191" local_entity="0" value="0" />
+ <value cell_index="26192" local_entity="0" value="0" />
+ <value cell_index="26193" local_entity="0" value="0" />
+ <value cell_index="26194" local_entity="0" value="0" />
+ <value cell_index="26195" local_entity="0" value="0" />
+ <value cell_index="26196" local_entity="0" value="0" />
+ <value cell_index="26197" local_entity="0" value="0" />
+ <value cell_index="26198" local_entity="0" value="0" />
+ <value cell_index="26199" local_entity="0" value="0" />
+ <value cell_index="26200" local_entity="0" value="0" />
+ <value cell_index="26201" local_entity="0" value="0" />
+ <value cell_index="26202" local_entity="0" value="0" />
+ <value cell_index="26203" local_entity="0" value="0" />
+ <value cell_index="26204" local_entity="0" value="0" />
+ <value cell_index="26205" local_entity="0" value="0" />
+ <value cell_index="26206" local_entity="0" value="0" />
+ <value cell_index="26207" local_entity="0" value="0" />
+ <value cell_index="26208" local_entity="0" value="0" />
+ <value cell_index="26209" local_entity="0" value="0" />
+ <value cell_index="26210" local_entity="0" value="0" />
+ <value cell_index="26211" local_entity="0" value="0" />
+ <value cell_index="26212" local_entity="0" value="0" />
+ <value cell_index="26213" local_entity="0" value="0" />
+ <value cell_index="26214" local_entity="0" value="0" />
+ <value cell_index="26215" local_entity="0" value="0" />
+ <value cell_index="26216" local_entity="0" value="0" />
+ <value cell_index="26217" local_entity="0" value="0" />
+ <value cell_index="26218" local_entity="0" value="0" />
+ <value cell_index="26219" local_entity="0" value="0" />
+ <value cell_index="26220" local_entity="0" value="0" />
+ <value cell_index="26221" local_entity="0" value="0" />
+ <value cell_index="26222" local_entity="0" value="0" />
+ <value cell_index="26223" local_entity="0" value="0" />
+ <value cell_index="26224" local_entity="0" value="0" />
+ <value cell_index="26225" local_entity="0" value="0" />
+ <value cell_index="26226" local_entity="0" value="0" />
+ <value cell_index="26227" local_entity="0" value="0" />
+ <value cell_index="26228" local_entity="0" value="0" />
+ <value cell_index="26229" local_entity="0" value="0" />
+ <value cell_index="26230" local_entity="0" value="0" />
+ <value cell_index="26231" local_entity="0" value="0" />
+ <value cell_index="26232" local_entity="0" value="0" />
+ <value cell_index="26233" local_entity="0" value="0" />
+ <value cell_index="26234" local_entity="0" value="0" />
+ <value cell_index="26235" local_entity="0" value="0" />
+ <value cell_index="26236" local_entity="0" value="0" />
+ <value cell_index="26237" local_entity="0" value="0" />
+ <value cell_index="26238" local_entity="0" value="0" />
+ <value cell_index="26239" local_entity="0" value="0" />
+ <value cell_index="26240" local_entity="0" value="0" />
+ <value cell_index="26241" local_entity="0" value="0" />
+ <value cell_index="26242" local_entity="0" value="0" />
+ <value cell_index="26243" local_entity="0" value="0" />
+ <value cell_index="26244" local_entity="0" value="0" />
+ <value cell_index="26245" local_entity="0" value="0" />
+ <value cell_index="26246" local_entity="0" value="0" />
+ <value cell_index="26247" local_entity="0" value="0" />
+ <value cell_index="26248" local_entity="0" value="0" />
+ <value cell_index="26249" local_entity="0" value="0" />
+ <value cell_index="26250" local_entity="0" value="0" />
+ <value cell_index="26251" local_entity="0" value="0" />
+ <value cell_index="26252" local_entity="0" value="0" />
+ <value cell_index="26253" local_entity="0" value="0" />
+ <value cell_index="26254" local_entity="0" value="0" />
+ <value cell_index="26255" local_entity="0" value="0" />
+ <value cell_index="26256" local_entity="0" value="0" />
+ <value cell_index="26257" local_entity="0" value="0" />
+ <value cell_index="26258" local_entity="0" value="0" />
+ <value cell_index="26259" local_entity="0" value="0" />
+ <value cell_index="26260" local_entity="0" value="0" />
+ <value cell_index="26261" local_entity="0" value="0" />
+ <value cell_index="26262" local_entity="0" value="0" />
+ <value cell_index="26263" local_entity="0" value="0" />
+ <value cell_index="26264" local_entity="0" value="0" />
+ <value cell_index="26265" local_entity="0" value="0" />
+ <value cell_index="26266" local_entity="0" value="0" />
+ <value cell_index="26267" local_entity="0" value="0" />
+ <value cell_index="26268" local_entity="0" value="0" />
+ <value cell_index="26269" local_entity="0" value="0" />
+ <value cell_index="26270" local_entity="0" value="0" />
+ <value cell_index="26271" local_entity="0" value="0" />
+ <value cell_index="26272" local_entity="0" value="0" />
+ <value cell_index="26273" local_entity="0" value="0" />
+ <value cell_index="26274" local_entity="0" value="0" />
+ <value cell_index="26275" local_entity="0" value="0" />
+ <value cell_index="26276" local_entity="0" value="0" />
+ <value cell_index="26277" local_entity="0" value="0" />
+ <value cell_index="26278" local_entity="0" value="0" />
+ <value cell_index="26279" local_entity="0" value="0" />
+ <value cell_index="26280" local_entity="0" value="0" />
+ <value cell_index="26281" local_entity="0" value="0" />
+ <value cell_index="26282" local_entity="0" value="0" />
+ <value cell_index="26283" local_entity="0" value="0" />
+ <value cell_index="26284" local_entity="0" value="0" />
+ <value cell_index="26285" local_entity="0" value="0" />
+ <value cell_index="26286" local_entity="0" value="0" />
+ <value cell_index="26287" local_entity="0" value="0" />
+ <value cell_index="26288" local_entity="0" value="0" />
+ <value cell_index="26289" local_entity="0" value="0" />
+ <value cell_index="26290" local_entity="0" value="0" />
+ <value cell_index="26291" local_entity="0" value="0" />
+ <value cell_index="26292" local_entity="0" value="0" />
+ <value cell_index="26293" local_entity="0" value="0" />
+ <value cell_index="26294" local_entity="0" value="0" />
+ <value cell_index="26295" local_entity="0" value="0" />
+ <value cell_index="26296" local_entity="0" value="0" />
+ <value cell_index="26297" local_entity="0" value="0" />
+ <value cell_index="26298" local_entity="0" value="0" />
+ <value cell_index="26299" local_entity="0" value="0" />
+ <value cell_index="26300" local_entity="0" value="0" />
+ <value cell_index="26301" local_entity="0" value="0" />
+ <value cell_index="26302" local_entity="0" value="0" />
+ <value cell_index="26303" local_entity="0" value="0" />
+ <value cell_index="26304" local_entity="0" value="0" />
+ <value cell_index="26305" local_entity="0" value="0" />
+ <value cell_index="26306" local_entity="0" value="0" />
+ <value cell_index="26307" local_entity="0" value="0" />
+ <value cell_index="26308" local_entity="0" value="0" />
+ <value cell_index="26309" local_entity="0" value="0" />
+ <value cell_index="26310" local_entity="0" value="0" />
+ <value cell_index="26311" local_entity="0" value="0" />
+ <value cell_index="26312" local_entity="0" value="0" />
+ <value cell_index="26313" local_entity="0" value="0" />
+ <value cell_index="26314" local_entity="0" value="0" />
+ <value cell_index="26315" local_entity="0" value="0" />
+ <value cell_index="26316" local_entity="0" value="0" />
+ <value cell_index="26317" local_entity="0" value="0" />
+ <value cell_index="26318" local_entity="0" value="0" />
+ <value cell_index="26319" local_entity="0" value="0" />
+ <value cell_index="26320" local_entity="0" value="0" />
+ <value cell_index="26321" local_entity="0" value="0" />
+ <value cell_index="26322" local_entity="0" value="0" />
+ <value cell_index="26323" local_entity="0" value="0" />
+ <value cell_index="26324" local_entity="0" value="0" />
+ <value cell_index="26325" local_entity="0" value="0" />
+ <value cell_index="26326" local_entity="0" value="0" />
+ <value cell_index="26327" local_entity="0" value="0" />
+ <value cell_index="26328" local_entity="0" value="0" />
+ <value cell_index="26329" local_entity="0" value="0" />
+ <value cell_index="26330" local_entity="0" value="0" />
+ <value cell_index="26331" local_entity="0" value="0" />
+ <value cell_index="26332" local_entity="0" value="0" />
+ <value cell_index="26333" local_entity="0" value="0" />
+ <value cell_index="26334" local_entity="0" value="0" />
+ <value cell_index="26335" local_entity="0" value="0" />
+ <value cell_index="26336" local_entity="0" value="0" />
+ <value cell_index="26337" local_entity="0" value="0" />
+ <value cell_index="26338" local_entity="0" value="0" />
+ <value cell_index="26339" local_entity="0" value="0" />
+ <value cell_index="26340" local_entity="0" value="0" />
+ <value cell_index="26341" local_entity="0" value="0" />
+ <value cell_index="26342" local_entity="0" value="0" />
+ <value cell_index="26343" local_entity="0" value="0" />
+ <value cell_index="26344" local_entity="0" value="0" />
+ <value cell_index="26345" local_entity="0" value="0" />
+ <value cell_index="26346" local_entity="0" value="0" />
+ <value cell_index="26347" local_entity="0" value="0" />
+ <value cell_index="26348" local_entity="0" value="0" />
+ <value cell_index="26349" local_entity="0" value="0" />
+ <value cell_index="26350" local_entity="0" value="0" />
+ <value cell_index="26351" local_entity="0" value="0" />
+ <value cell_index="26352" local_entity="0" value="0" />
+ <value cell_index="26353" local_entity="0" value="0" />
+ <value cell_index="26354" local_entity="0" value="0" />
+ <value cell_index="26355" local_entity="0" value="0" />
+ <value cell_index="26356" local_entity="0" value="0" />
+ <value cell_index="26357" local_entity="0" value="0" />
+ <value cell_index="26358" local_entity="0" value="0" />
+ <value cell_index="26359" local_entity="0" value="0" />
+ <value cell_index="26360" local_entity="0" value="0" />
+ <value cell_index="26361" local_entity="0" value="0" />
+ <value cell_index="26362" local_entity="0" value="0" />
+ <value cell_index="26363" local_entity="0" value="0" />
+ <value cell_index="26364" local_entity="0" value="0" />
+ <value cell_index="26365" local_entity="0" value="0" />
+ <value cell_index="26366" local_entity="0" value="0" />
+ <value cell_index="26367" local_entity="0" value="0" />
+ <value cell_index="26368" local_entity="0" value="0" />
+ <value cell_index="26369" local_entity="0" value="0" />
+ <value cell_index="26370" local_entity="0" value="0" />
+ <value cell_index="26371" local_entity="0" value="0" />
+ <value cell_index="26372" local_entity="0" value="0" />
+ <value cell_index="26373" local_entity="0" value="0" />
+ <value cell_index="26374" local_entity="0" value="0" />
+ <value cell_index="26375" local_entity="0" value="0" />
+ <value cell_index="26376" local_entity="0" value="0" />
+ <value cell_index="26377" local_entity="0" value="0" />
+ <value cell_index="26378" local_entity="0" value="0" />
+ <value cell_index="26379" local_entity="0" value="0" />
+ <value cell_index="26380" local_entity="0" value="0" />
+ <value cell_index="26381" local_entity="0" value="0" />
+ <value cell_index="26382" local_entity="0" value="0" />
+ <value cell_index="26383" local_entity="0" value="0" />
+ <value cell_index="26384" local_entity="0" value="0" />
+ <value cell_index="26385" local_entity="0" value="0" />
+ <value cell_index="26386" local_entity="0" value="0" />
+ <value cell_index="26387" local_entity="0" value="0" />
+ <value cell_index="26388" local_entity="0" value="0" />
+ <value cell_index="26389" local_entity="0" value="0" />
+ <value cell_index="26390" local_entity="0" value="0" />
+ <value cell_index="26391" local_entity="0" value="0" />
+ <value cell_index="26392" local_entity="0" value="0" />
+ <value cell_index="26393" local_entity="0" value="0" />
+ <value cell_index="26394" local_entity="0" value="0" />
+ <value cell_index="26395" local_entity="0" value="0" />
+ <value cell_index="26396" local_entity="0" value="0" />
+ <value cell_index="26397" local_entity="0" value="0" />
+ <value cell_index="26398" local_entity="0" value="0" />
+ <value cell_index="26399" local_entity="0" value="0" />
+ <value cell_index="26400" local_entity="0" value="0" />
+ <value cell_index="26401" local_entity="0" value="0" />
+ <value cell_index="26402" local_entity="0" value="0" />
+ <value cell_index="26403" local_entity="0" value="0" />
+ <value cell_index="26404" local_entity="0" value="0" />
+ <value cell_index="26405" local_entity="0" value="0" />
+ <value cell_index="26406" local_entity="0" value="0" />
+ <value cell_index="26407" local_entity="0" value="0" />
+ <value cell_index="26408" local_entity="0" value="0" />
+ <value cell_index="26409" local_entity="0" value="0" />
+ <value cell_index="26410" local_entity="0" value="0" />
+ <value cell_index="26411" local_entity="0" value="0" />
+ <value cell_index="26412" local_entity="0" value="0" />
+ <value cell_index="26413" local_entity="0" value="0" />
+ <value cell_index="26414" local_entity="0" value="0" />
+ <value cell_index="26415" local_entity="0" value="0" />
+ <value cell_index="26416" local_entity="0" value="0" />
+ <value cell_index="26417" local_entity="0" value="0" />
+ <value cell_index="26418" local_entity="0" value="0" />
+ <value cell_index="26419" local_entity="0" value="0" />
+ <value cell_index="26420" local_entity="0" value="0" />
+ <value cell_index="26421" local_entity="0" value="0" />
+ <value cell_index="26422" local_entity="0" value="0" />
+ <value cell_index="26423" local_entity="0" value="0" />
+ <value cell_index="26424" local_entity="0" value="0" />
+ <value cell_index="26425" local_entity="0" value="0" />
+ <value cell_index="26426" local_entity="0" value="0" />
+ <value cell_index="26427" local_entity="0" value="0" />
+ <value cell_index="26428" local_entity="0" value="0" />
+ <value cell_index="26429" local_entity="0" value="0" />
+ <value cell_index="26430" local_entity="0" value="0" />
+ <value cell_index="26431" local_entity="0" value="0" />
+ <value cell_index="26432" local_entity="0" value="0" />
+ <value cell_index="26433" local_entity="0" value="0" />
+ <value cell_index="26434" local_entity="0" value="0" />
+ <value cell_index="26435" local_entity="0" value="0" />
+ <value cell_index="26436" local_entity="0" value="0" />
+ <value cell_index="26437" local_entity="0" value="0" />
+ <value cell_index="26438" local_entity="0" value="0" />
+ <value cell_index="26439" local_entity="0" value="0" />
+ <value cell_index="26440" local_entity="0" value="0" />
+ <value cell_index="26441" local_entity="0" value="0" />
+ <value cell_index="26442" local_entity="0" value="0" />
+ <value cell_index="26443" local_entity="0" value="0" />
+ <value cell_index="26444" local_entity="0" value="0" />
+ <value cell_index="26445" local_entity="0" value="0" />
+ <value cell_index="26446" local_entity="0" value="0" />
+ <value cell_index="26447" local_entity="0" value="0" />
+ <value cell_index="26448" local_entity="0" value="0" />
+ <value cell_index="26449" local_entity="0" value="0" />
+ <value cell_index="26450" local_entity="0" value="0" />
+ <value cell_index="26451" local_entity="0" value="0" />
+ <value cell_index="26452" local_entity="0" value="0" />
+ <value cell_index="26453" local_entity="0" value="0" />
+ <value cell_index="26454" local_entity="0" value="0" />
+ <value cell_index="26455" local_entity="0" value="0" />
+ <value cell_index="26456" local_entity="0" value="0" />
+ <value cell_index="26457" local_entity="0" value="0" />
+ <value cell_index="26458" local_entity="0" value="0" />
+ <value cell_index="26459" local_entity="0" value="0" />
+ <value cell_index="26460" local_entity="0" value="0" />
+ <value cell_index="26461" local_entity="0" value="0" />
+ <value cell_index="26462" local_entity="0" value="0" />
+ <value cell_index="26463" local_entity="0" value="0" />
+ <value cell_index="26464" local_entity="0" value="0" />
+ <value cell_index="26465" local_entity="0" value="0" />
+ <value cell_index="26466" local_entity="0" value="0" />
+ <value cell_index="26467" local_entity="0" value="0" />
+ <value cell_index="26468" local_entity="0" value="0" />
+ <value cell_index="26469" local_entity="0" value="0" />
+ <value cell_index="26470" local_entity="0" value="0" />
+ <value cell_index="26471" local_entity="0" value="0" />
+ <value cell_index="26472" local_entity="0" value="0" />
+ <value cell_index="26473" local_entity="0" value="0" />
+ <value cell_index="26474" local_entity="0" value="0" />
+ <value cell_index="26475" local_entity="0" value="0" />
+ <value cell_index="26476" local_entity="0" value="0" />
+ <value cell_index="26477" local_entity="0" value="0" />
+ <value cell_index="26478" local_entity="0" value="0" />
+ <value cell_index="26479" local_entity="0" value="0" />
+ <value cell_index="26480" local_entity="0" value="0" />
+ <value cell_index="26481" local_entity="0" value="0" />
+ <value cell_index="26482" local_entity="0" value="0" />
+ <value cell_index="26483" local_entity="0" value="0" />
+ <value cell_index="26484" local_entity="0" value="0" />
+ <value cell_index="26485" local_entity="0" value="0" />
+ <value cell_index="26486" local_entity="0" value="0" />
+ <value cell_index="26487" local_entity="0" value="0" />
+ <value cell_index="26488" local_entity="0" value="0" />
+ <value cell_index="26489" local_entity="0" value="0" />
+ <value cell_index="26490" local_entity="0" value="0" />
+ <value cell_index="26491" local_entity="0" value="0" />
+ <value cell_index="26492" local_entity="0" value="0" />
+ <value cell_index="26493" local_entity="0" value="0" />
+ <value cell_index="26494" local_entity="0" value="0" />
+ <value cell_index="26495" local_entity="0" value="0" />
+ <value cell_index="26496" local_entity="0" value="0" />
+ <value cell_index="26497" local_entity="0" value="0" />
+ <value cell_index="26498" local_entity="0" value="0" />
+ <value cell_index="26499" local_entity="0" value="0" />
+ <value cell_index="26500" local_entity="0" value="0" />
+ <value cell_index="26501" local_entity="0" value="0" />
+ <value cell_index="26502" local_entity="0" value="0" />
+ <value cell_index="26503" local_entity="0" value="0" />
+ <value cell_index="26504" local_entity="0" value="0" />
+ <value cell_index="26505" local_entity="0" value="0" />
+ <value cell_index="26506" local_entity="0" value="0" />
+ <value cell_index="26507" local_entity="0" value="0" />
+ <value cell_index="26508" local_entity="0" value="0" />
+ <value cell_index="26509" local_entity="0" value="0" />
+ <value cell_index="26510" local_entity="0" value="0" />
+ <value cell_index="26511" local_entity="0" value="0" />
+ <value cell_index="26512" local_entity="0" value="0" />
+ <value cell_index="26513" local_entity="0" value="0" />
+ <value cell_index="26514" local_entity="0" value="0" />
+ <value cell_index="26515" local_entity="0" value="0" />
+ <value cell_index="26516" local_entity="0" value="0" />
+ <value cell_index="26517" local_entity="0" value="0" />
+ <value cell_index="26518" local_entity="0" value="0" />
+ <value cell_index="26519" local_entity="0" value="0" />
+ <value cell_index="26520" local_entity="0" value="0" />
+ <value cell_index="26521" local_entity="0" value="0" />
+ <value cell_index="26522" local_entity="0" value="0" />
+ <value cell_index="26523" local_entity="0" value="0" />
+ <value cell_index="26524" local_entity="0" value="0" />
+ <value cell_index="26525" local_entity="0" value="0" />
+ <value cell_index="26526" local_entity="0" value="0" />
+ <value cell_index="26527" local_entity="0" value="0" />
+ <value cell_index="26528" local_entity="0" value="0" />
+ <value cell_index="26529" local_entity="0" value="0" />
+ <value cell_index="26530" local_entity="0" value="0" />
+ <value cell_index="26531" local_entity="0" value="0" />
+ <value cell_index="26532" local_entity="0" value="0" />
+ <value cell_index="26533" local_entity="0" value="0" />
+ <value cell_index="26534" local_entity="0" value="0" />
+ <value cell_index="26535" local_entity="0" value="0" />
+ <value cell_index="26536" local_entity="0" value="0" />
+ <value cell_index="26537" local_entity="0" value="0" />
+ <value cell_index="26538" local_entity="0" value="0" />
+ <value cell_index="26539" local_entity="0" value="0" />
+ <value cell_index="26540" local_entity="0" value="0" />
+ <value cell_index="26541" local_entity="0" value="0" />
+ <value cell_index="26542" local_entity="0" value="0" />
+ <value cell_index="26543" local_entity="0" value="0" />
+ <value cell_index="26544" local_entity="0" value="0" />
+ <value cell_index="26545" local_entity="0" value="0" />
+ <value cell_index="26546" local_entity="0" value="0" />
+ <value cell_index="26547" local_entity="0" value="0" />
+ <value cell_index="26548" local_entity="0" value="0" />
+ <value cell_index="26549" local_entity="0" value="0" />
+ <value cell_index="26550" local_entity="0" value="0" />
+ <value cell_index="26551" local_entity="0" value="0" />
+ <value cell_index="26552" local_entity="0" value="0" />
+ <value cell_index="26553" local_entity="0" value="0" />
+ <value cell_index="26554" local_entity="0" value="0" />
+ <value cell_index="26555" local_entity="0" value="0" />
+ <value cell_index="26556" local_entity="0" value="0" />
+ <value cell_index="26557" local_entity="0" value="0" />
+ <value cell_index="26558" local_entity="0" value="0" />
+ <value cell_index="26559" local_entity="0" value="0" />
+ <value cell_index="26560" local_entity="0" value="0" />
+ <value cell_index="26561" local_entity="0" value="0" />
+ <value cell_index="26562" local_entity="0" value="0" />
+ <value cell_index="26563" local_entity="0" value="0" />
+ <value cell_index="26564" local_entity="0" value="0" />
+ <value cell_index="26565" local_entity="0" value="0" />
+ <value cell_index="26566" local_entity="0" value="0" />
+ <value cell_index="26567" local_entity="0" value="0" />
+ <value cell_index="26568" local_entity="0" value="0" />
+ <value cell_index="26569" local_entity="0" value="0" />
+ <value cell_index="26570" local_entity="0" value="0" />
+ <value cell_index="26571" local_entity="0" value="0" />
+ <value cell_index="26572" local_entity="0" value="0" />
+ <value cell_index="26573" local_entity="0" value="0" />
+ <value cell_index="26574" local_entity="0" value="0" />
+ <value cell_index="26575" local_entity="0" value="0" />
+ <value cell_index="26576" local_entity="0" value="0" />
+ <value cell_index="26577" local_entity="0" value="0" />
+ <value cell_index="26578" local_entity="0" value="0" />
+ <value cell_index="26579" local_entity="0" value="0" />
+ <value cell_index="26580" local_entity="0" value="0" />
+ <value cell_index="26581" local_entity="0" value="0" />
+ <value cell_index="26582" local_entity="0" value="0" />
+ <value cell_index="26583" local_entity="0" value="0" />
+ <value cell_index="26584" local_entity="0" value="0" />
+ <value cell_index="26585" local_entity="0" value="0" />
+ <value cell_index="26586" local_entity="0" value="0" />
+ <value cell_index="26587" local_entity="0" value="0" />
+ <value cell_index="26588" local_entity="0" value="0" />
+ <value cell_index="26589" local_entity="0" value="0" />
+ <value cell_index="26590" local_entity="0" value="0" />
+ <value cell_index="26591" local_entity="0" value="0" />
+ <value cell_index="26592" local_entity="0" value="0" />
+ <value cell_index="26593" local_entity="0" value="0" />
+ <value cell_index="26594" local_entity="0" value="0" />
+ <value cell_index="26595" local_entity="0" value="0" />
+ <value cell_index="26596" local_entity="0" value="0" />
+ <value cell_index="26597" local_entity="0" value="0" />
+ <value cell_index="26598" local_entity="0" value="0" />
+ <value cell_index="26599" local_entity="0" value="0" />
+ <value cell_index="26600" local_entity="0" value="0" />
+ <value cell_index="26601" local_entity="0" value="0" />
+ <value cell_index="26602" local_entity="0" value="0" />
+ <value cell_index="26603" local_entity="0" value="0" />
+ <value cell_index="26604" local_entity="0" value="0" />
+ <value cell_index="26605" local_entity="0" value="0" />
+ <value cell_index="26606" local_entity="0" value="0" />
+ <value cell_index="26607" local_entity="0" value="0" />
+ <value cell_index="26608" local_entity="0" value="0" />
+ <value cell_index="26609" local_entity="0" value="0" />
+ <value cell_index="26610" local_entity="0" value="0" />
+ <value cell_index="26611" local_entity="0" value="0" />
+ <value cell_index="26612" local_entity="0" value="0" />
+ <value cell_index="26613" local_entity="0" value="0" />
+ <value cell_index="26614" local_entity="0" value="0" />
+ <value cell_index="26615" local_entity="0" value="0" />
+ <value cell_index="26616" local_entity="0" value="0" />
+ <value cell_index="26617" local_entity="0" value="0" />
+ <value cell_index="26618" local_entity="0" value="0" />
+ <value cell_index="26619" local_entity="0" value="0" />
+ <value cell_index="26620" local_entity="0" value="0" />
+ <value cell_index="26621" local_entity="0" value="0" />
+ <value cell_index="26622" local_entity="0" value="0" />
+ <value cell_index="26623" local_entity="0" value="0" />
+ <value cell_index="26624" local_entity="0" value="0" />
+ <value cell_index="26625" local_entity="0" value="0" />
+ <value cell_index="26626" local_entity="0" value="0" />
+ <value cell_index="26627" local_entity="0" value="0" />
+ <value cell_index="26628" local_entity="0" value="0" />
+ <value cell_index="26629" local_entity="0" value="0" />
+ <value cell_index="26630" local_entity="0" value="0" />
+ <value cell_index="26631" local_entity="0" value="0" />
+ <value cell_index="26632" local_entity="0" value="0" />
+ <value cell_index="26633" local_entity="0" value="0" />
+ <value cell_index="26634" local_entity="0" value="0" />
+ <value cell_index="26635" local_entity="0" value="0" />
+ <value cell_index="26636" local_entity="0" value="0" />
+ <value cell_index="26637" local_entity="0" value="0" />
+ <value cell_index="26638" local_entity="0" value="0" />
+ <value cell_index="26639" local_entity="0" value="0" />
+ <value cell_index="26640" local_entity="0" value="0" />
+ <value cell_index="26641" local_entity="0" value="0" />
+ <value cell_index="26642" local_entity="0" value="0" />
+ <value cell_index="26643" local_entity="0" value="0" />
+ <value cell_index="26644" local_entity="0" value="0" />
+ <value cell_index="26645" local_entity="0" value="0" />
+ <value cell_index="26646" local_entity="0" value="0" />
+ <value cell_index="26647" local_entity="0" value="0" />
+ <value cell_index="26648" local_entity="0" value="0" />
+ <value cell_index="26649" local_entity="0" value="0" />
+ <value cell_index="26650" local_entity="0" value="0" />
+ <value cell_index="26651" local_entity="0" value="0" />
+ <value cell_index="26652" local_entity="0" value="0" />
+ <value cell_index="26653" local_entity="0" value="0" />
+ <value cell_index="26654" local_entity="0" value="0" />
+ <value cell_index="26655" local_entity="0" value="0" />
+ <value cell_index="26656" local_entity="0" value="0" />
+ <value cell_index="26657" local_entity="0" value="0" />
+ <value cell_index="26658" local_entity="0" value="0" />
+ <value cell_index="26659" local_entity="0" value="0" />
+ <value cell_index="26660" local_entity="0" value="0" />
+ <value cell_index="26661" local_entity="0" value="0" />
+ <value cell_index="26662" local_entity="0" value="0" />
+ <value cell_index="26663" local_entity="0" value="0" />
+ <value cell_index="26664" local_entity="0" value="0" />
+ <value cell_index="26665" local_entity="0" value="0" />
+ <value cell_index="26666" local_entity="0" value="0" />
+ <value cell_index="26667" local_entity="0" value="0" />
+ <value cell_index="26668" local_entity="0" value="0" />
+ <value cell_index="26669" local_entity="0" value="0" />
+ <value cell_index="26670" local_entity="0" value="0" />
+ <value cell_index="26671" local_entity="0" value="0" />
+ <value cell_index="26672" local_entity="0" value="0" />
+ <value cell_index="26673" local_entity="0" value="0" />
+ <value cell_index="26674" local_entity="0" value="0" />
+ <value cell_index="26675" local_entity="0" value="0" />
+ <value cell_index="26676" local_entity="0" value="0" />
+ <value cell_index="26677" local_entity="0" value="0" />
+ <value cell_index="26678" local_entity="0" value="0" />
+ <value cell_index="26679" local_entity="0" value="0" />
+ <value cell_index="26680" local_entity="0" value="0" />
+ <value cell_index="26681" local_entity="0" value="0" />
+ <value cell_index="26682" local_entity="0" value="0" />
+ <value cell_index="26683" local_entity="0" value="0" />
+ <value cell_index="26684" local_entity="0" value="0" />
+ <value cell_index="26685" local_entity="0" value="0" />
+ <value cell_index="26686" local_entity="0" value="0" />
+ <value cell_index="26687" local_entity="0" value="0" />
+ <value cell_index="26688" local_entity="0" value="0" />
+ <value cell_index="26689" local_entity="0" value="0" />
+ <value cell_index="26690" local_entity="0" value="0" />
+ <value cell_index="26691" local_entity="0" value="0" />
+ <value cell_index="26692" local_entity="0" value="0" />
+ <value cell_index="26693" local_entity="0" value="0" />
+ <value cell_index="26694" local_entity="0" value="0" />
+ <value cell_index="26695" local_entity="0" value="0" />
+ <value cell_index="26696" local_entity="0" value="0" />
+ <value cell_index="26697" local_entity="0" value="0" />
+ <value cell_index="26698" local_entity="0" value="0" />
+ <value cell_index="26699" local_entity="0" value="0" />
+ <value cell_index="26700" local_entity="0" value="0" />
+ <value cell_index="26701" local_entity="0" value="0" />
+ <value cell_index="26702" local_entity="0" value="0" />
+ <value cell_index="26703" local_entity="0" value="0" />
+ <value cell_index="26704" local_entity="0" value="0" />
+ <value cell_index="26705" local_entity="0" value="0" />
+ <value cell_index="26706" local_entity="0" value="0" />
+ <value cell_index="26707" local_entity="0" value="0" />
+ <value cell_index="26708" local_entity="0" value="0" />
+ <value cell_index="26709" local_entity="0" value="0" />
+ <value cell_index="26710" local_entity="0" value="0" />
+ <value cell_index="26711" local_entity="0" value="0" />
+ <value cell_index="26712" local_entity="0" value="0" />
+ <value cell_index="26713" local_entity="0" value="0" />
+ <value cell_index="26714" local_entity="0" value="0" />
+ <value cell_index="26715" local_entity="0" value="0" />
+ <value cell_index="26716" local_entity="0" value="0" />
+ <value cell_index="26717" local_entity="0" value="0" />
+ <value cell_index="26718" local_entity="0" value="0" />
+ <value cell_index="26719" local_entity="0" value="0" />
+ <value cell_index="26720" local_entity="0" value="0" />
+ <value cell_index="26721" local_entity="0" value="0" />
+ <value cell_index="26722" local_entity="0" value="0" />
+ <value cell_index="26723" local_entity="0" value="0" />
+ <value cell_index="26724" local_entity="0" value="0" />
+ <value cell_index="26725" local_entity="0" value="0" />
+ <value cell_index="26726" local_entity="0" value="0" />
+ <value cell_index="26727" local_entity="0" value="0" />
+ <value cell_index="26728" local_entity="0" value="0" />
+ <value cell_index="26729" local_entity="0" value="0" />
+ <value cell_index="26730" local_entity="0" value="0" />
+ <value cell_index="26731" local_entity="0" value="0" />
+ <value cell_index="26732" local_entity="0" value="0" />
+ <value cell_index="26733" local_entity="0" value="0" />
+ <value cell_index="26734" local_entity="0" value="0" />
+ <value cell_index="26735" local_entity="0" value="0" />
+ <value cell_index="26736" local_entity="0" value="0" />
+ <value cell_index="26737" local_entity="0" value="0" />
+ <value cell_index="26738" local_entity="0" value="0" />
+ <value cell_index="26739" local_entity="0" value="0" />
+ <value cell_index="26740" local_entity="0" value="0" />
+ <value cell_index="26741" local_entity="0" value="0" />
+ <value cell_index="26742" local_entity="0" value="0" />
+ <value cell_index="26743" local_entity="0" value="0" />
+ <value cell_index="26744" local_entity="0" value="0" />
+ <value cell_index="26745" local_entity="0" value="0" />
+ <value cell_index="26746" local_entity="0" value="0" />
+ <value cell_index="26747" local_entity="0" value="0" />
+ <value cell_index="26748" local_entity="0" value="0" />
+ <value cell_index="26749" local_entity="0" value="0" />
+ <value cell_index="26750" local_entity="0" value="0" />
+ <value cell_index="26751" local_entity="0" value="0" />
+ <value cell_index="26752" local_entity="0" value="0" />
+ <value cell_index="26753" local_entity="0" value="0" />
+ <value cell_index="26754" local_entity="0" value="0" />
+ <value cell_index="26755" local_entity="0" value="0" />
+ <value cell_index="26756" local_entity="0" value="0" />
+ <value cell_index="26757" local_entity="0" value="0" />
+ <value cell_index="26758" local_entity="0" value="0" />
+ <value cell_index="26759" local_entity="0" value="0" />
+ <value cell_index="26760" local_entity="0" value="0" />
+ <value cell_index="26761" local_entity="0" value="0" />
+ <value cell_index="26762" local_entity="0" value="0" />
+ <value cell_index="26763" local_entity="0" value="0" />
+ <value cell_index="26764" local_entity="0" value="0" />
+ <value cell_index="26765" local_entity="0" value="0" />
+ <value cell_index="26766" local_entity="0" value="0" />
+ <value cell_index="26767" local_entity="0" value="0" />
+ <value cell_index="26768" local_entity="0" value="0" />
+ <value cell_index="26769" local_entity="0" value="0" />
+ <value cell_index="26770" local_entity="0" value="0" />
+ <value cell_index="26771" local_entity="0" value="0" />
+ <value cell_index="26772" local_entity="0" value="0" />
+ <value cell_index="26773" local_entity="0" value="0" />
+ <value cell_index="26774" local_entity="0" value="0" />
+ <value cell_index="26775" local_entity="0" value="0" />
+ <value cell_index="26776" local_entity="0" value="0" />
+ <value cell_index="26777" local_entity="0" value="0" />
+ <value cell_index="26778" local_entity="0" value="0" />
+ <value cell_index="26779" local_entity="0" value="0" />
+ <value cell_index="26780" local_entity="0" value="0" />
+ <value cell_index="26781" local_entity="0" value="0" />
+ <value cell_index="26782" local_entity="0" value="0" />
+ <value cell_index="26783" local_entity="0" value="0" />
+ <value cell_index="26784" local_entity="0" value="0" />
+ <value cell_index="26785" local_entity="0" value="0" />
+ <value cell_index="26786" local_entity="0" value="0" />
+ <value cell_index="26787" local_entity="0" value="0" />
+ <value cell_index="26788" local_entity="0" value="0" />
+ <value cell_index="26789" local_entity="0" value="0" />
+ <value cell_index="26790" local_entity="0" value="0" />
+ <value cell_index="26791" local_entity="0" value="0" />
+ <value cell_index="26792" local_entity="0" value="0" />
+ <value cell_index="26793" local_entity="0" value="0" />
+ <value cell_index="26794" local_entity="0" value="0" />
+ <value cell_index="26795" local_entity="0" value="0" />
+ <value cell_index="26796" local_entity="0" value="0" />
+ <value cell_index="26797" local_entity="0" value="0" />
+ <value cell_index="26798" local_entity="0" value="0" />
+ <value cell_index="26799" local_entity="0" value="0" />
+ <value cell_index="26800" local_entity="0" value="0" />
+ <value cell_index="26801" local_entity="0" value="0" />
+ <value cell_index="26802" local_entity="0" value="0" />
+ <value cell_index="26803" local_entity="0" value="0" />
+ <value cell_index="26804" local_entity="0" value="0" />
+ <value cell_index="26805" local_entity="0" value="0" />
+ <value cell_index="26806" local_entity="0" value="0" />
+ <value cell_index="26807" local_entity="0" value="0" />
+ <value cell_index="26808" local_entity="0" value="0" />
+ <value cell_index="26809" local_entity="0" value="0" />
+ <value cell_index="26810" local_entity="0" value="0" />
+ <value cell_index="26811" local_entity="0" value="0" />
+ <value cell_index="26812" local_entity="0" value="0" />
+ <value cell_index="26813" local_entity="0" value="0" />
+ <value cell_index="26814" local_entity="0" value="0" />
+ <value cell_index="26815" local_entity="0" value="0" />
+ <value cell_index="26816" local_entity="0" value="0" />
+ <value cell_index="26817" local_entity="0" value="0" />
+ <value cell_index="26818" local_entity="0" value="0" />
+ <value cell_index="26819" local_entity="0" value="0" />
+ <value cell_index="26820" local_entity="0" value="0" />
+ <value cell_index="26821" local_entity="0" value="0" />
+ <value cell_index="26822" local_entity="0" value="0" />
+ <value cell_index="26823" local_entity="0" value="0" />
+ <value cell_index="26824" local_entity="0" value="0" />
+ <value cell_index="26825" local_entity="0" value="0" />
+ <value cell_index="26826" local_entity="0" value="0" />
+ <value cell_index="26827" local_entity="0" value="0" />
+ <value cell_index="26828" local_entity="0" value="0" />
+ <value cell_index="26829" local_entity="0" value="0" />
+ <value cell_index="26830" local_entity="0" value="0" />
+ <value cell_index="26831" local_entity="0" value="0" />
+ <value cell_index="26832" local_entity="0" value="0" />
+ <value cell_index="26833" local_entity="0" value="0" />
+ <value cell_index="26834" local_entity="0" value="0" />
+ <value cell_index="26835" local_entity="0" value="0" />
+ <value cell_index="26836" local_entity="0" value="0" />
+ <value cell_index="26837" local_entity="0" value="0" />
+ <value cell_index="26838" local_entity="0" value="0" />
+ <value cell_index="26839" local_entity="0" value="0" />
+ <value cell_index="26840" local_entity="0" value="0" />
+ <value cell_index="26841" local_entity="0" value="0" />
+ <value cell_index="26842" local_entity="0" value="0" />
+ <value cell_index="26843" local_entity="0" value="0" />
+ <value cell_index="26844" local_entity="0" value="0" />
+ <value cell_index="26845" local_entity="0" value="0" />
+ <value cell_index="26846" local_entity="0" value="0" />
+ <value cell_index="26847" local_entity="0" value="0" />
+ <value cell_index="26848" local_entity="0" value="0" />
+ <value cell_index="26849" local_entity="0" value="0" />
+ <value cell_index="26850" local_entity="0" value="0" />
+ <value cell_index="26851" local_entity="0" value="0" />
+ <value cell_index="26852" local_entity="0" value="0" />
+ <value cell_index="26853" local_entity="0" value="0" />
+ <value cell_index="26854" local_entity="0" value="0" />
+ <value cell_index="26855" local_entity="0" value="0" />
+ <value cell_index="26856" local_entity="0" value="0" />
+ <value cell_index="26857" local_entity="0" value="0" />
+ <value cell_index="26858" local_entity="0" value="0" />
+ <value cell_index="26859" local_entity="0" value="0" />
+ <value cell_index="26860" local_entity="0" value="0" />
+ <value cell_index="26861" local_entity="0" value="0" />
+ <value cell_index="26862" local_entity="0" value="0" />
+ <value cell_index="26863" local_entity="0" value="0" />
+ <value cell_index="26864" local_entity="0" value="0" />
+ <value cell_index="26865" local_entity="0" value="0" />
+ <value cell_index="26866" local_entity="0" value="0" />
+ <value cell_index="26867" local_entity="0" value="0" />
+ <value cell_index="26868" local_entity="0" value="0" />
+ <value cell_index="26869" local_entity="0" value="0" />
+ <value cell_index="26870" local_entity="0" value="0" />
+ <value cell_index="26871" local_entity="0" value="0" />
+ <value cell_index="26872" local_entity="0" value="0" />
+ <value cell_index="26873" local_entity="0" value="0" />
+ <value cell_index="26874" local_entity="0" value="0" />
+ <value cell_index="26875" local_entity="0" value="0" />
+ <value cell_index="26876" local_entity="0" value="0" />
+ <value cell_index="26877" local_entity="0" value="0" />
+ <value cell_index="26878" local_entity="0" value="0" />
+ <value cell_index="26879" local_entity="0" value="0" />
+ <value cell_index="26880" local_entity="0" value="0" />
+ <value cell_index="26881" local_entity="0" value="0" />
+ <value cell_index="26882" local_entity="0" value="0" />
+ <value cell_index="26883" local_entity="0" value="0" />
+ <value cell_index="26884" local_entity="0" value="0" />
+ <value cell_index="26885" local_entity="0" value="0" />
+ <value cell_index="26886" local_entity="0" value="0" />
+ <value cell_index="26887" local_entity="0" value="0" />
+ <value cell_index="26888" local_entity="0" value="0" />
+ <value cell_index="26889" local_entity="0" value="0" />
+ <value cell_index="26890" local_entity="0" value="0" />
+ <value cell_index="26891" local_entity="0" value="0" />
+ <value cell_index="26892" local_entity="0" value="0" />
+ <value cell_index="26893" local_entity="0" value="0" />
+ <value cell_index="26894" local_entity="0" value="0" />
+ <value cell_index="26895" local_entity="0" value="0" />
+ <value cell_index="26896" local_entity="0" value="0" />
+ <value cell_index="26897" local_entity="0" value="0" />
+ <value cell_index="26898" local_entity="0" value="0" />
+ <value cell_index="26899" local_entity="0" value="0" />
+ <value cell_index="26900" local_entity="0" value="0" />
+ <value cell_index="26901" local_entity="0" value="0" />
+ <value cell_index="26902" local_entity="0" value="0" />
+ <value cell_index="26903" local_entity="0" value="0" />
+ <value cell_index="26904" local_entity="0" value="0" />
+ <value cell_index="26905" local_entity="0" value="0" />
+ <value cell_index="26906" local_entity="0" value="0" />
+ <value cell_index="26907" local_entity="0" value="0" />
+ <value cell_index="26908" local_entity="0" value="0" />
+ <value cell_index="26909" local_entity="0" value="0" />
+ <value cell_index="26910" local_entity="0" value="0" />
+ <value cell_index="26911" local_entity="0" value="0" />
+ <value cell_index="26912" local_entity="0" value="0" />
+ <value cell_index="26913" local_entity="0" value="0" />
+ <value cell_index="26914" local_entity="0" value="0" />
+ <value cell_index="26915" local_entity="0" value="0" />
+ <value cell_index="26916" local_entity="0" value="0" />
+ <value cell_index="26917" local_entity="0" value="0" />
+ <value cell_index="26918" local_entity="0" value="0" />
+ <value cell_index="26919" local_entity="0" value="0" />
+ <value cell_index="26920" local_entity="0" value="0" />
+ <value cell_index="26921" local_entity="0" value="0" />
+ <value cell_index="26922" local_entity="0" value="0" />
+ <value cell_index="26923" local_entity="0" value="0" />
+ <value cell_index="26924" local_entity="0" value="0" />
+ <value cell_index="26925" local_entity="0" value="0" />
+ <value cell_index="26926" local_entity="0" value="0" />
+ <value cell_index="26927" local_entity="0" value="0" />
+ <value cell_index="26928" local_entity="0" value="0" />
+ <value cell_index="26929" local_entity="0" value="0" />
+ <value cell_index="26930" local_entity="0" value="0" />
+ <value cell_index="26931" local_entity="0" value="0" />
+ <value cell_index="26932" local_entity="0" value="0" />
+ <value cell_index="26933" local_entity="0" value="0" />
+ <value cell_index="26934" local_entity="0" value="0" />
+ <value cell_index="26935" local_entity="0" value="0" />
+ <value cell_index="26936" local_entity="0" value="0" />
+ <value cell_index="26937" local_entity="0" value="0" />
+ <value cell_index="26938" local_entity="0" value="0" />
+ <value cell_index="26939" local_entity="0" value="0" />
+ <value cell_index="26940" local_entity="0" value="0" />
+ <value cell_index="26941" local_entity="0" value="0" />
+ <value cell_index="26942" local_entity="0" value="0" />
+ <value cell_index="26943" local_entity="0" value="0" />
+ <value cell_index="26944" local_entity="0" value="0" />
+ <value cell_index="26945" local_entity="0" value="0" />
+ <value cell_index="26946" local_entity="0" value="0" />
+ <value cell_index="26947" local_entity="0" value="0" />
+ <value cell_index="26948" local_entity="0" value="0" />
+ <value cell_index="26949" local_entity="0" value="0" />
+ <value cell_index="26950" local_entity="0" value="0" />
+ <value cell_index="26951" local_entity="0" value="0" />
+ <value cell_index="26952" local_entity="0" value="0" />
+ <value cell_index="26953" local_entity="0" value="0" />
+ <value cell_index="26954" local_entity="0" value="0" />
+ <value cell_index="26955" local_entity="0" value="0" />
+ <value cell_index="26956" local_entity="0" value="0" />
+ <value cell_index="26957" local_entity="0" value="0" />
+ <value cell_index="26958" local_entity="0" value="0" />
+ <value cell_index="26959" local_entity="0" value="0" />
+ <value cell_index="26960" local_entity="0" value="0" />
+ <value cell_index="26961" local_entity="0" value="0" />
+ <value cell_index="26962" local_entity="0" value="0" />
+ <value cell_index="26963" local_entity="0" value="0" />
+ <value cell_index="26964" local_entity="0" value="0" />
+ <value cell_index="26965" local_entity="0" value="0" />
+ <value cell_index="26966" local_entity="0" value="0" />
+ <value cell_index="26967" local_entity="0" value="0" />
+ <value cell_index="26968" local_entity="0" value="0" />
+ <value cell_index="26969" local_entity="0" value="0" />
+ <value cell_index="26970" local_entity="0" value="0" />
+ <value cell_index="26971" local_entity="0" value="0" />
+ <value cell_index="26972" local_entity="0" value="0" />
+ <value cell_index="26973" local_entity="0" value="0" />
+ <value cell_index="26974" local_entity="0" value="0" />
+ <value cell_index="26975" local_entity="0" value="0" />
+ <value cell_index="26976" local_entity="0" value="0" />
+ <value cell_index="26977" local_entity="0" value="0" />
+ <value cell_index="26978" local_entity="0" value="0" />
+ <value cell_index="26979" local_entity="0" value="0" />
+ <value cell_index="26980" local_entity="0" value="0" />
+ <value cell_index="26981" local_entity="0" value="0" />
+ <value cell_index="26982" local_entity="0" value="0" />
+ <value cell_index="26983" local_entity="0" value="0" />
+ <value cell_index="26984" local_entity="0" value="0" />
+ <value cell_index="26985" local_entity="0" value="0" />
+ <value cell_index="26986" local_entity="0" value="0" />
+ <value cell_index="26987" local_entity="0" value="0" />
+ <value cell_index="26988" local_entity="0" value="0" />
+ <value cell_index="26989" local_entity="0" value="0" />
+ <value cell_index="26990" local_entity="0" value="0" />
+ <value cell_index="26991" local_entity="0" value="0" />
+ <value cell_index="26992" local_entity="0" value="0" />
+ <value cell_index="26993" local_entity="0" value="0" />
+ <value cell_index="26994" local_entity="0" value="0" />
+ <value cell_index="26995" local_entity="0" value="0" />
+ <value cell_index="26996" local_entity="0" value="0" />
+ <value cell_index="26997" local_entity="0" value="0" />
+ <value cell_index="26998" local_entity="0" value="0" />
+ <value cell_index="26999" local_entity="0" value="0" />
+ <value cell_index="27000" local_entity="0" value="0" />
+ <value cell_index="27001" local_entity="0" value="0" />
+ <value cell_index="27002" local_entity="0" value="0" />
+ <value cell_index="27003" local_entity="0" value="0" />
+ <value cell_index="27004" local_entity="0" value="0" />
+ <value cell_index="27005" local_entity="0" value="0" />
+ <value cell_index="27006" local_entity="0" value="0" />
+ <value cell_index="27007" local_entity="0" value="0" />
+ <value cell_index="27008" local_entity="0" value="0" />
+ <value cell_index="27009" local_entity="0" value="0" />
+ <value cell_index="27010" local_entity="0" value="0" />
+ <value cell_index="27011" local_entity="0" value="0" />
+ <value cell_index="27012" local_entity="0" value="0" />
+ <value cell_index="27013" local_entity="0" value="0" />
+ <value cell_index="27014" local_entity="0" value="0" />
+ <value cell_index="27015" local_entity="0" value="0" />
+ <value cell_index="27016" local_entity="0" value="0" />
+ <value cell_index="27017" local_entity="0" value="0" />
+ <value cell_index="27018" local_entity="0" value="0" />
+ <value cell_index="27019" local_entity="0" value="0" />
+ <value cell_index="27020" local_entity="0" value="0" />
+ <value cell_index="27021" local_entity="0" value="0" />
+ <value cell_index="27022" local_entity="0" value="0" />
+ <value cell_index="27023" local_entity="0" value="0" />
+ <value cell_index="27024" local_entity="0" value="0" />
+ <value cell_index="27025" local_entity="0" value="0" />
+ <value cell_index="27026" local_entity="0" value="0" />
+ <value cell_index="27027" local_entity="0" value="0" />
+ <value cell_index="27028" local_entity="0" value="0" />
+ <value cell_index="27029" local_entity="0" value="0" />
+ <value cell_index="27030" local_entity="0" value="0" />
+ <value cell_index="27031" local_entity="0" value="0" />
+ <value cell_index="27032" local_entity="0" value="0" />
+ <value cell_index="27033" local_entity="0" value="0" />
+ <value cell_index="27034" local_entity="0" value="0" />
+ <value cell_index="27035" local_entity="0" value="0" />
+ <value cell_index="27036" local_entity="0" value="0" />
+ <value cell_index="27037" local_entity="0" value="0" />
+ <value cell_index="27038" local_entity="0" value="0" />
+ <value cell_index="27039" local_entity="0" value="0" />
+ <value cell_index="27040" local_entity="0" value="0" />
+ <value cell_index="27041" local_entity="0" value="0" />
+ <value cell_index="27042" local_entity="0" value="0" />
+ <value cell_index="27043" local_entity="0" value="0" />
+ <value cell_index="27044" local_entity="0" value="0" />
+ <value cell_index="27045" local_entity="0" value="0" />
+ <value cell_index="27046" local_entity="0" value="0" />
+ <value cell_index="27047" local_entity="0" value="0" />
+ <value cell_index="27048" local_entity="0" value="0" />
+ <value cell_index="27049" local_entity="0" value="0" />
+ <value cell_index="27050" local_entity="0" value="0" />
+ <value cell_index="27051" local_entity="0" value="0" />
+ <value cell_index="27052" local_entity="0" value="0" />
+ <value cell_index="27053" local_entity="0" value="0" />
+ <value cell_index="27054" local_entity="0" value="0" />
+ <value cell_index="27055" local_entity="0" value="0" />
+ <value cell_index="27056" local_entity="0" value="0" />
+ <value cell_index="27057" local_entity="0" value="0" />
+ <value cell_index="27058" local_entity="0" value="0" />
+ <value cell_index="27059" local_entity="0" value="0" />
+ <value cell_index="27060" local_entity="0" value="0" />
+ <value cell_index="27061" local_entity="0" value="0" />
+ <value cell_index="27062" local_entity="0" value="0" />
+ <value cell_index="27063" local_entity="0" value="0" />
+ <value cell_index="27064" local_entity="0" value="0" />
+ <value cell_index="27065" local_entity="0" value="0" />
+ <value cell_index="27066" local_entity="0" value="0" />
+ <value cell_index="27067" local_entity="0" value="0" />
+ <value cell_index="27068" local_entity="0" value="0" />
+ <value cell_index="27069" local_entity="0" value="0" />
+ <value cell_index="27070" local_entity="0" value="0" />
+ <value cell_index="27071" local_entity="0" value="0" />
+ <value cell_index="27072" local_entity="0" value="0" />
+ <value cell_index="27073" local_entity="0" value="0" />
+ <value cell_index="27074" local_entity="0" value="0" />
+ <value cell_index="27075" local_entity="0" value="0" />
+ <value cell_index="27076" local_entity="0" value="0" />
+ <value cell_index="27077" local_entity="0" value="0" />
+ <value cell_index="27078" local_entity="0" value="0" />
+ <value cell_index="27079" local_entity="0" value="0" />
+ <value cell_index="27080" local_entity="0" value="0" />
+ <value cell_index="27081" local_entity="0" value="0" />
+ <value cell_index="27082" local_entity="0" value="0" />
+ <value cell_index="27083" local_entity="0" value="0" />
+ <value cell_index="27084" local_entity="0" value="0" />
+ <value cell_index="27085" local_entity="0" value="0" />
+ <value cell_index="27086" local_entity="0" value="0" />
+ <value cell_index="27087" local_entity="0" value="0" />
+ <value cell_index="27088" local_entity="0" value="0" />
+ <value cell_index="27089" local_entity="0" value="0" />
+ <value cell_index="27090" local_entity="0" value="0" />
+ <value cell_index="27091" local_entity="0" value="0" />
+ <value cell_index="27092" local_entity="0" value="0" />
+ <value cell_index="27093" local_entity="0" value="0" />
+ <value cell_index="27094" local_entity="0" value="0" />
+ <value cell_index="27095" local_entity="0" value="0" />
+ <value cell_index="27096" local_entity="0" value="0" />
+ <value cell_index="27097" local_entity="0" value="0" />
+ <value cell_index="27098" local_entity="0" value="0" />
+ <value cell_index="27099" local_entity="0" value="0" />
+ <value cell_index="27100" local_entity="0" value="0" />
+ <value cell_index="27101" local_entity="0" value="0" />
+ <value cell_index="27102" local_entity="0" value="0" />
+ <value cell_index="27103" local_entity="0" value="0" />
+ <value cell_index="27104" local_entity="0" value="0" />
+ <value cell_index="27105" local_entity="0" value="0" />
+ <value cell_index="27106" local_entity="0" value="0" />
+ <value cell_index="27107" local_entity="0" value="0" />
+ <value cell_index="27108" local_entity="0" value="0" />
+ <value cell_index="27109" local_entity="0" value="0" />
+ <value cell_index="27110" local_entity="0" value="0" />
+ <value cell_index="27111" local_entity="0" value="0" />
+ <value cell_index="27112" local_entity="0" value="0" />
+ <value cell_index="27113" local_entity="0" value="0" />
+ <value cell_index="27114" local_entity="0" value="0" />
+ <value cell_index="27115" local_entity="0" value="0" />
+ <value cell_index="27116" local_entity="0" value="0" />
+ <value cell_index="27117" local_entity="0" value="0" />
+ <value cell_index="27118" local_entity="0" value="0" />
+ <value cell_index="27119" local_entity="0" value="0" />
+ <value cell_index="27120" local_entity="0" value="0" />
+ <value cell_index="27121" local_entity="0" value="0" />
+ <value cell_index="27122" local_entity="0" value="0" />
+ <value cell_index="27123" local_entity="0" value="0" />
+ <value cell_index="27124" local_entity="0" value="0" />
+ <value cell_index="27125" local_entity="0" value="0" />
+ <value cell_index="27126" local_entity="0" value="0" />
+ <value cell_index="27127" local_entity="0" value="0" />
+ <value cell_index="27128" local_entity="0" value="0" />
+ <value cell_index="27129" local_entity="0" value="0" />
+ <value cell_index="27130" local_entity="0" value="0" />
+ <value cell_index="27131" local_entity="0" value="0" />
+ <value cell_index="27132" local_entity="0" value="0" />
+ <value cell_index="27133" local_entity="0" value="0" />
+ <value cell_index="27134" local_entity="0" value="0" />
+ <value cell_index="27135" local_entity="0" value="0" />
+ <value cell_index="27136" local_entity="0" value="0" />
+ <value cell_index="27137" local_entity="0" value="0" />
+ <value cell_index="27138" local_entity="0" value="0" />
+ <value cell_index="27139" local_entity="0" value="0" />
+ <value cell_index="27140" local_entity="0" value="0" />
+ <value cell_index="27141" local_entity="0" value="0" />
+ <value cell_index="27142" local_entity="0" value="0" />
+ <value cell_index="27143" local_entity="0" value="0" />
+ <value cell_index="27144" local_entity="0" value="0" />
+ <value cell_index="27145" local_entity="0" value="0" />
+ <value cell_index="27146" local_entity="0" value="0" />
+ <value cell_index="27147" local_entity="0" value="0" />
+ <value cell_index="27148" local_entity="0" value="0" />
+ <value cell_index="27149" local_entity="0" value="0" />
+ <value cell_index="27150" local_entity="0" value="0" />
+ <value cell_index="27151" local_entity="0" value="0" />
+ <value cell_index="27152" local_entity="0" value="0" />
+ <value cell_index="27153" local_entity="0" value="0" />
+ <value cell_index="27154" local_entity="0" value="0" />
+ <value cell_index="27155" local_entity="0" value="0" />
+ <value cell_index="27156" local_entity="0" value="0" />
+ <value cell_index="27157" local_entity="0" value="0" />
+ <value cell_index="27158" local_entity="0" value="0" />
+ <value cell_index="27159" local_entity="0" value="0" />
+ <value cell_index="27160" local_entity="0" value="0" />
+ <value cell_index="27161" local_entity="0" value="0" />
+ <value cell_index="27162" local_entity="0" value="0" />
+ <value cell_index="27163" local_entity="0" value="0" />
+ <value cell_index="27164" local_entity="0" value="0" />
+ <value cell_index="27165" local_entity="0" value="0" />
+ <value cell_index="27166" local_entity="0" value="0" />
+ <value cell_index="27167" local_entity="0" value="0" />
+ <value cell_index="27168" local_entity="0" value="0" />
+ <value cell_index="27169" local_entity="0" value="0" />
+ <value cell_index="27170" local_entity="0" value="0" />
+ <value cell_index="27171" local_entity="0" value="0" />
+ <value cell_index="27172" local_entity="0" value="0" />
+ <value cell_index="27173" local_entity="0" value="0" />
+ <value cell_index="27174" local_entity="0" value="0" />
+ <value cell_index="27175" local_entity="0" value="0" />
+ <value cell_index="27176" local_entity="0" value="0" />
+ <value cell_index="27177" local_entity="0" value="0" />
+ <value cell_index="27178" local_entity="0" value="0" />
+ <value cell_index="27179" local_entity="0" value="0" />
+ <value cell_index="27180" local_entity="0" value="0" />
+ <value cell_index="27181" local_entity="0" value="0" />
+ <value cell_index="27182" local_entity="0" value="0" />
+ <value cell_index="27183" local_entity="0" value="0" />
+ <value cell_index="27184" local_entity="0" value="0" />
+ <value cell_index="27185" local_entity="0" value="0" />
+ <value cell_index="27186" local_entity="0" value="0" />
+ <value cell_index="27187" local_entity="0" value="0" />
+ <value cell_index="27188" local_entity="0" value="0" />
+ <value cell_index="27189" local_entity="0" value="0" />
+ <value cell_index="27190" local_entity="0" value="0" />
+ <value cell_index="27191" local_entity="0" value="0" />
+ <value cell_index="27192" local_entity="0" value="0" />
+ <value cell_index="27193" local_entity="0" value="0" />
+ <value cell_index="27194" local_entity="0" value="0" />
+ <value cell_index="27195" local_entity="0" value="0" />
+ <value cell_index="27196" local_entity="0" value="0" />
+ <value cell_index="27197" local_entity="0" value="0" />
+ <value cell_index="27198" local_entity="0" value="0" />
+ <value cell_index="27199" local_entity="0" value="0" />
+ <value cell_index="27200" local_entity="0" value="0" />
+ <value cell_index="27201" local_entity="0" value="0" />
+ <value cell_index="27202" local_entity="0" value="0" />
+ <value cell_index="27203" local_entity="0" value="0" />
+ <value cell_index="27204" local_entity="0" value="0" />
+ <value cell_index="27205" local_entity="0" value="0" />
+ <value cell_index="27206" local_entity="0" value="0" />
+ <value cell_index="27207" local_entity="0" value="0" />
+ <value cell_index="27208" local_entity="0" value="0" />
+ <value cell_index="27209" local_entity="0" value="0" />
+ <value cell_index="27210" local_entity="0" value="0" />
+ <value cell_index="27211" local_entity="0" value="0" />
+ <value cell_index="27212" local_entity="0" value="0" />
+ <value cell_index="27213" local_entity="0" value="0" />
+ <value cell_index="27214" local_entity="0" value="0" />
+ <value cell_index="27215" local_entity="0" value="0" />
+ <value cell_index="27216" local_entity="0" value="0" />
+ <value cell_index="27217" local_entity="0" value="0" />
+ <value cell_index="27218" local_entity="0" value="0" />
+ <value cell_index="27219" local_entity="0" value="0" />
+ <value cell_index="27220" local_entity="0" value="0" />
+ <value cell_index="27221" local_entity="0" value="0" />
+ <value cell_index="27222" local_entity="0" value="0" />
+ <value cell_index="27223" local_entity="0" value="0" />
+ <value cell_index="27224" local_entity="0" value="0" />
+ <value cell_index="27225" local_entity="0" value="0" />
+ <value cell_index="27226" local_entity="0" value="0" />
+ <value cell_index="27227" local_entity="0" value="0" />
+ <value cell_index="27228" local_entity="0" value="0" />
+ <value cell_index="27229" local_entity="0" value="0" />
+ <value cell_index="27230" local_entity="0" value="0" />
+ <value cell_index="27231" local_entity="0" value="0" />
+ <value cell_index="27232" local_entity="0" value="0" />
+ <value cell_index="27233" local_entity="0" value="0" />
+ <value cell_index="27234" local_entity="0" value="0" />
+ <value cell_index="27235" local_entity="0" value="0" />
+ <value cell_index="27236" local_entity="0" value="0" />
+ <value cell_index="27237" local_entity="0" value="0" />
+ <value cell_index="27238" local_entity="0" value="0" />
+ <value cell_index="27239" local_entity="0" value="0" />
+ <value cell_index="27240" local_entity="0" value="0" />
+ <value cell_index="27241" local_entity="0" value="0" />
+ <value cell_index="27242" local_entity="0" value="0" />
+ <value cell_index="27243" local_entity="0" value="0" />
+ <value cell_index="27244" local_entity="0" value="0" />
+ <value cell_index="27245" local_entity="0" value="0" />
+ <value cell_index="27246" local_entity="0" value="0" />
+ <value cell_index="27247" local_entity="0" value="0" />
+ <value cell_index="27248" local_entity="0" value="0" />
+ <value cell_index="27249" local_entity="0" value="0" />
+ <value cell_index="27250" local_entity="0" value="0" />
+ <value cell_index="27251" local_entity="0" value="0" />
+ <value cell_index="27252" local_entity="0" value="0" />
+ <value cell_index="27253" local_entity="0" value="0" />
+ <value cell_index="27254" local_entity="0" value="0" />
+ <value cell_index="27255" local_entity="0" value="0" />
+ <value cell_index="27256" local_entity="0" value="0" />
+ <value cell_index="27257" local_entity="0" value="0" />
+ <value cell_index="27258" local_entity="0" value="0" />
+ <value cell_index="27259" local_entity="0" value="0" />
+ <value cell_index="27260" local_entity="0" value="0" />
+ <value cell_index="27261" local_entity="0" value="0" />
+ <value cell_index="27262" local_entity="0" value="0" />
+ <value cell_index="27263" local_entity="0" value="0" />
+ <value cell_index="27264" local_entity="0" value="0" />
+ <value cell_index="27265" local_entity="0" value="0" />
+ <value cell_index="27266" local_entity="0" value="0" />
+ <value cell_index="27267" local_entity="0" value="0" />
+ <value cell_index="27268" local_entity="0" value="0" />
+ <value cell_index="27269" local_entity="0" value="0" />
+ <value cell_index="27270" local_entity="0" value="0" />
+ <value cell_index="27271" local_entity="0" value="0" />
+ <value cell_index="27272" local_entity="0" value="0" />
+ <value cell_index="27273" local_entity="0" value="0" />
+ <value cell_index="27274" local_entity="0" value="0" />
+ <value cell_index="27275" local_entity="0" value="0" />
+ <value cell_index="27276" local_entity="0" value="0" />
+ <value cell_index="27277" local_entity="0" value="0" />
+ <value cell_index="27278" local_entity="0" value="0" />
+ <value cell_index="27279" local_entity="0" value="0" />
+ <value cell_index="27280" local_entity="0" value="0" />
+ <value cell_index="27281" local_entity="0" value="0" />
+ <value cell_index="27282" local_entity="0" value="0" />
+ <value cell_index="27283" local_entity="0" value="0" />
+ <value cell_index="27284" local_entity="0" value="0" />
+ <value cell_index="27285" local_entity="0" value="0" />
+ <value cell_index="27286" local_entity="0" value="0" />
+ <value cell_index="27287" local_entity="0" value="0" />
+ <value cell_index="27288" local_entity="0" value="0" />
+ <value cell_index="27289" local_entity="0" value="0" />
+ <value cell_index="27290" local_entity="0" value="0" />
+ <value cell_index="27291" local_entity="0" value="0" />
+ <value cell_index="27292" local_entity="0" value="0" />
+ <value cell_index="27293" local_entity="0" value="0" />
+ <value cell_index="27294" local_entity="0" value="0" />
+ <value cell_index="27295" local_entity="0" value="0" />
+ <value cell_index="27296" local_entity="0" value="0" />
+ <value cell_index="27297" local_entity="0" value="0" />
+ <value cell_index="27298" local_entity="0" value="0" />
+ <value cell_index="27299" local_entity="0" value="0" />
+ <value cell_index="27300" local_entity="0" value="0" />
+ <value cell_index="27301" local_entity="0" value="0" />
+ <value cell_index="27302" local_entity="0" value="0" />
+ <value cell_index="27303" local_entity="0" value="0" />
+ <value cell_index="27304" local_entity="0" value="0" />
+ <value cell_index="27305" local_entity="0" value="0" />
+ <value cell_index="27306" local_entity="0" value="0" />
+ <value cell_index="27307" local_entity="0" value="0" />
+ <value cell_index="27308" local_entity="0" value="0" />
+ <value cell_index="27309" local_entity="0" value="0" />
+ <value cell_index="27310" local_entity="0" value="0" />
+ <value cell_index="27311" local_entity="0" value="0" />
+ <value cell_index="27312" local_entity="0" value="0" />
+ <value cell_index="27313" local_entity="0" value="0" />
+ <value cell_index="27314" local_entity="0" value="0" />
+ <value cell_index="27315" local_entity="0" value="0" />
+ <value cell_index="27316" local_entity="0" value="0" />
+ <value cell_index="27317" local_entity="0" value="0" />
+ <value cell_index="27318" local_entity="0" value="0" />
+ <value cell_index="27319" local_entity="0" value="0" />
+ <value cell_index="27320" local_entity="0" value="0" />
+ <value cell_index="27321" local_entity="0" value="0" />
+ <value cell_index="27322" local_entity="0" value="0" />
+ <value cell_index="27323" local_entity="0" value="0" />
+ <value cell_index="27324" local_entity="0" value="0" />
+ <value cell_index="27325" local_entity="0" value="0" />
+ <value cell_index="27326" local_entity="0" value="0" />
+ <value cell_index="27327" local_entity="0" value="0" />
+ <value cell_index="27328" local_entity="0" value="0" />
+ <value cell_index="27329" local_entity="0" value="0" />
+ <value cell_index="27330" local_entity="0" value="0" />
+ <value cell_index="27331" local_entity="0" value="0" />
+ <value cell_index="27332" local_entity="0" value="0" />
+ <value cell_index="27333" local_entity="0" value="0" />
+ <value cell_index="27334" local_entity="0" value="0" />
+ <value cell_index="27335" local_entity="0" value="0" />
+ <value cell_index="27336" local_entity="0" value="0" />
+ <value cell_index="27337" local_entity="0" value="0" />
+ <value cell_index="27338" local_entity="0" value="0" />
+ <value cell_index="27339" local_entity="0" value="0" />
+ <value cell_index="27340" local_entity="0" value="0" />
+ <value cell_index="27341" local_entity="0" value="0" />
+ <value cell_index="27342" local_entity="0" value="0" />
+ <value cell_index="27343" local_entity="0" value="0" />
+ <value cell_index="27344" local_entity="0" value="0" />
+ <value cell_index="27345" local_entity="0" value="0" />
+ <value cell_index="27346" local_entity="0" value="0" />
+ <value cell_index="27347" local_entity="0" value="0" />
+ <value cell_index="27348" local_entity="0" value="0" />
+ <value cell_index="27349" local_entity="0" value="0" />
+ <value cell_index="27350" local_entity="0" value="0" />
+ <value cell_index="27351" local_entity="0" value="0" />
+ <value cell_index="27352" local_entity="0" value="0" />
+ <value cell_index="27353" local_entity="0" value="0" />
+ <value cell_index="27354" local_entity="0" value="0" />
+ <value cell_index="27355" local_entity="0" value="0" />
+ <value cell_index="27356" local_entity="0" value="0" />
+ <value cell_index="27357" local_entity="0" value="0" />
+ <value cell_index="27358" local_entity="0" value="0" />
+ <value cell_index="27359" local_entity="0" value="0" />
+ <value cell_index="27360" local_entity="0" value="0" />
+ <value cell_index="27361" local_entity="0" value="0" />
+ <value cell_index="27362" local_entity="0" value="0" />
+ <value cell_index="27363" local_entity="0" value="0" />
+ <value cell_index="27364" local_entity="0" value="0" />
+ <value cell_index="27365" local_entity="0" value="0" />
+ <value cell_index="27366" local_entity="0" value="0" />
+ <value cell_index="27367" local_entity="0" value="0" />
+ <value cell_index="27368" local_entity="0" value="0" />
+ <value cell_index="27369" local_entity="0" value="0" />
+ <value cell_index="27370" local_entity="0" value="0" />
+ <value cell_index="27371" local_entity="0" value="0" />
+ <value cell_index="27372" local_entity="0" value="0" />
+ <value cell_index="27373" local_entity="0" value="0" />
+ <value cell_index="27374" local_entity="0" value="0" />
+ <value cell_index="27375" local_entity="0" value="0" />
+ <value cell_index="27376" local_entity="0" value="0" />
+ <value cell_index="27377" local_entity="0" value="0" />
+ <value cell_index="27378" local_entity="0" value="0" />
+ <value cell_index="27379" local_entity="0" value="0" />
+ <value cell_index="27380" local_entity="0" value="0" />
+ <value cell_index="27381" local_entity="0" value="0" />
+ <value cell_index="27382" local_entity="0" value="0" />
+ <value cell_index="27383" local_entity="0" value="0" />
+ <value cell_index="27384" local_entity="0" value="0" />
+ <value cell_index="27385" local_entity="0" value="0" />
+ <value cell_index="27386" local_entity="0" value="0" />
+ <value cell_index="27387" local_entity="0" value="0" />
+ <value cell_index="27388" local_entity="0" value="0" />
+ <value cell_index="27389" local_entity="0" value="0" />
+ <value cell_index="27390" local_entity="0" value="0" />
+ <value cell_index="27391" local_entity="0" value="0" />
+ <value cell_index="27392" local_entity="0" value="0" />
+ <value cell_index="27393" local_entity="0" value="0" />
+ <value cell_index="27394" local_entity="0" value="0" />
+ <value cell_index="27395" local_entity="0" value="0" />
+ <value cell_index="27396" local_entity="0" value="0" />
+ <value cell_index="27397" local_entity="0" value="0" />
+ <value cell_index="27398" local_entity="0" value="0" />
+ <value cell_index="27399" local_entity="0" value="0" />
+ <value cell_index="27400" local_entity="0" value="0" />
+ <value cell_index="27401" local_entity="0" value="0" />
+ <value cell_index="27402" local_entity="0" value="0" />
+ <value cell_index="27403" local_entity="0" value="0" />
+ <value cell_index="27404" local_entity="0" value="0" />
+ <value cell_index="27405" local_entity="0" value="0" />
+ <value cell_index="27406" local_entity="0" value="0" />
+ <value cell_index="27407" local_entity="0" value="0" />
+ <value cell_index="27408" local_entity="0" value="0" />
+ <value cell_index="27409" local_entity="0" value="0" />
+ <value cell_index="27410" local_entity="0" value="0" />
+ <value cell_index="27411" local_entity="0" value="0" />
+ <value cell_index="27412" local_entity="0" value="0" />
+ <value cell_index="27413" local_entity="0" value="0" />
+ <value cell_index="27414" local_entity="0" value="0" />
+ <value cell_index="27415" local_entity="0" value="0" />
+ <value cell_index="27416" local_entity="0" value="0" />
+ <value cell_index="27417" local_entity="0" value="0" />
+ <value cell_index="27418" local_entity="0" value="0" />
+ <value cell_index="27419" local_entity="0" value="0" />
+ <value cell_index="27420" local_entity="0" value="0" />
+ <value cell_index="27421" local_entity="0" value="0" />
+ <value cell_index="27422" local_entity="0" value="0" />
+ <value cell_index="27423" local_entity="0" value="0" />
+ <value cell_index="27424" local_entity="0" value="0" />
+ <value cell_index="27425" local_entity="0" value="0" />
+ <value cell_index="27426" local_entity="0" value="0" />
+ <value cell_index="27427" local_entity="0" value="0" />
+ <value cell_index="27428" local_entity="0" value="0" />
+ <value cell_index="27429" local_entity="0" value="0" />
+ <value cell_index="27430" local_entity="0" value="0" />
+ <value cell_index="27431" local_entity="0" value="0" />
+ <value cell_index="27432" local_entity="0" value="0" />
+ <value cell_index="27433" local_entity="0" value="0" />
+ <value cell_index="27434" local_entity="0" value="0" />
+ <value cell_index="27435" local_entity="0" value="0" />
+ <value cell_index="27436" local_entity="0" value="0" />
+ <value cell_index="27437" local_entity="0" value="0" />
+ <value cell_index="27438" local_entity="0" value="0" />
+ <value cell_index="27439" local_entity="0" value="0" />
+ <value cell_index="27440" local_entity="0" value="0" />
+ <value cell_index="27441" local_entity="0" value="0" />
+ <value cell_index="27442" local_entity="0" value="0" />
+ <value cell_index="27443" local_entity="0" value="0" />
+ <value cell_index="27444" local_entity="0" value="0" />
+ <value cell_index="27445" local_entity="0" value="0" />
+ <value cell_index="27446" local_entity="0" value="0" />
+ <value cell_index="27447" local_entity="0" value="0" />
+ <value cell_index="27448" local_entity="0" value="0" />
+ <value cell_index="27449" local_entity="0" value="0" />
+ <value cell_index="27450" local_entity="0" value="0" />
+ <value cell_index="27451" local_entity="0" value="0" />
+ <value cell_index="27452" local_entity="0" value="0" />
+ <value cell_index="27453" local_entity="0" value="0" />
+ <value cell_index="27454" local_entity="0" value="0" />
+ <value cell_index="27455" local_entity="0" value="0" />
+ <value cell_index="27456" local_entity="0" value="0" />
+ <value cell_index="27457" local_entity="0" value="0" />
+ <value cell_index="27458" local_entity="0" value="0" />
+ <value cell_index="27459" local_entity="0" value="0" />
+ <value cell_index="27460" local_entity="0" value="0" />
+ <value cell_index="27461" local_entity="0" value="0" />
+ <value cell_index="27462" local_entity="0" value="0" />
+ <value cell_index="27463" local_entity="0" value="0" />
+ <value cell_index="27464" local_entity="0" value="0" />
+ <value cell_index="27465" local_entity="0" value="0" />
+ <value cell_index="27466" local_entity="0" value="0" />
+ <value cell_index="27467" local_entity="0" value="0" />
+ <value cell_index="27468" local_entity="0" value="0" />
+ <value cell_index="27469" local_entity="0" value="0" />
+ <value cell_index="27470" local_entity="0" value="0" />
+ <value cell_index="27471" local_entity="0" value="0" />
+ <value cell_index="27472" local_entity="0" value="0" />
+ <value cell_index="27473" local_entity="0" value="0" />
+ <value cell_index="27474" local_entity="0" value="0" />
+ <value cell_index="27475" local_entity="0" value="0" />
+ <value cell_index="27476" local_entity="0" value="0" />
+ <value cell_index="27477" local_entity="0" value="0" />
+ <value cell_index="27478" local_entity="0" value="0" />
+ <value cell_index="27479" local_entity="0" value="0" />
+ <value cell_index="27480" local_entity="0" value="0" />
+ <value cell_index="27481" local_entity="0" value="0" />
+ <value cell_index="27482" local_entity="0" value="0" />
+ <value cell_index="27483" local_entity="0" value="0" />
+ <value cell_index="27484" local_entity="0" value="0" />
+ <value cell_index="27485" local_entity="0" value="0" />
+ <value cell_index="27486" local_entity="0" value="0" />
+ <value cell_index="27487" local_entity="0" value="0" />
+ <value cell_index="27488" local_entity="0" value="0" />
+ <value cell_index="27489" local_entity="0" value="0" />
+ <value cell_index="27490" local_entity="0" value="0" />
+ <value cell_index="27491" local_entity="0" value="0" />
+ <value cell_index="27492" local_entity="0" value="0" />
+ <value cell_index="27493" local_entity="0" value="0" />
+ <value cell_index="27494" local_entity="0" value="0" />
+ <value cell_index="27495" local_entity="0" value="0" />
+ <value cell_index="27496" local_entity="0" value="0" />
+ <value cell_index="27497" local_entity="0" value="0" />
+ <value cell_index="27498" local_entity="0" value="0" />
+ <value cell_index="27499" local_entity="0" value="0" />
+ <value cell_index="27500" local_entity="0" value="0" />
+ <value cell_index="27501" local_entity="0" value="0" />
+ <value cell_index="27502" local_entity="0" value="0" />
+ <value cell_index="27503" local_entity="0" value="0" />
+ <value cell_index="27504" local_entity="0" value="0" />
+ <value cell_index="27505" local_entity="0" value="0" />
+ <value cell_index="27506" local_entity="0" value="0" />
+ <value cell_index="27507" local_entity="0" value="0" />
+ <value cell_index="27508" local_entity="0" value="0" />
+ <value cell_index="27509" local_entity="0" value="0" />
+ <value cell_index="27510" local_entity="0" value="0" />
+ <value cell_index="27511" local_entity="0" value="0" />
+ <value cell_index="27512" local_entity="0" value="0" />
+ <value cell_index="27513" local_entity="0" value="0" />
+ <value cell_index="27514" local_entity="0" value="0" />
+ <value cell_index="27515" local_entity="0" value="0" />
+ <value cell_index="27516" local_entity="0" value="0" />
+ <value cell_index="27517" local_entity="0" value="0" />
+ <value cell_index="27518" local_entity="0" value="0" />
+ <value cell_index="27519" local_entity="0" value="0" />
+ <value cell_index="27520" local_entity="0" value="0" />
+ <value cell_index="27521" local_entity="0" value="0" />
+ <value cell_index="27522" local_entity="0" value="0" />
+ <value cell_index="27523" local_entity="0" value="0" />
+ <value cell_index="27524" local_entity="0" value="0" />
+ <value cell_index="27525" local_entity="0" value="0" />
+ <value cell_index="27526" local_entity="0" value="0" />
+ <value cell_index="27527" local_entity="0" value="0" />
+ <value cell_index="27528" local_entity="0" value="0" />
+ <value cell_index="27529" local_entity="0" value="0" />
+ <value cell_index="27530" local_entity="0" value="0" />
+ <value cell_index="27531" local_entity="0" value="0" />
+ <value cell_index="27532" local_entity="0" value="0" />
+ <value cell_index="27533" local_entity="0" value="0" />
+ <value cell_index="27534" local_entity="0" value="0" />
+ <value cell_index="27535" local_entity="0" value="0" />
+ <value cell_index="27536" local_entity="0" value="0" />
+ <value cell_index="27537" local_entity="0" value="0" />
+ <value cell_index="27538" local_entity="0" value="0" />
+ <value cell_index="27539" local_entity="0" value="0" />
+ <value cell_index="27540" local_entity="0" value="0" />
+ <value cell_index="27541" local_entity="0" value="0" />
+ <value cell_index="27542" local_entity="0" value="0" />
+ <value cell_index="27543" local_entity="0" value="0" />
+ <value cell_index="27544" local_entity="0" value="0" />
+ <value cell_index="27545" local_entity="0" value="0" />
+ <value cell_index="27546" local_entity="0" value="0" />
+ <value cell_index="27547" local_entity="0" value="0" />
+ <value cell_index="27548" local_entity="0" value="0" />
+ <value cell_index="27549" local_entity="0" value="0" />
+ <value cell_index="27550" local_entity="0" value="0" />
+ <value cell_index="27551" local_entity="0" value="0" />
+ <value cell_index="27552" local_entity="0" value="0" />
+ <value cell_index="27553" local_entity="0" value="0" />
+ <value cell_index="27554" local_entity="0" value="0" />
+ <value cell_index="27555" local_entity="0" value="0" />
+ <value cell_index="27556" local_entity="0" value="0" />
+ <value cell_index="27557" local_entity="0" value="0" />
+ <value cell_index="27558" local_entity="0" value="0" />
+ <value cell_index="27559" local_entity="0" value="0" />
+ <value cell_index="27560" local_entity="0" value="0" />
+ <value cell_index="27561" local_entity="0" value="0" />
+ <value cell_index="27562" local_entity="0" value="0" />
+ <value cell_index="27563" local_entity="0" value="0" />
+ <value cell_index="27564" local_entity="0" value="0" />
+ <value cell_index="27565" local_entity="0" value="0" />
+ <value cell_index="27566" local_entity="0" value="0" />
+ <value cell_index="27567" local_entity="0" value="0" />
+ <value cell_index="27568" local_entity="0" value="0" />
+ <value cell_index="27569" local_entity="0" value="0" />
+ <value cell_index="27570" local_entity="0" value="0" />
+ <value cell_index="27571" local_entity="0" value="0" />
+ <value cell_index="27572" local_entity="0" value="0" />
+ <value cell_index="27573" local_entity="0" value="0" />
+ <value cell_index="27574" local_entity="0" value="0" />
+ <value cell_index="27575" local_entity="0" value="0" />
+ <value cell_index="27576" local_entity="0" value="0" />
+ <value cell_index="27577" local_entity="0" value="0" />
+ <value cell_index="27578" local_entity="0" value="0" />
+ <value cell_index="27579" local_entity="0" value="0" />
+ <value cell_index="27580" local_entity="0" value="0" />
+ <value cell_index="27581" local_entity="0" value="0" />
+ <value cell_index="27582" local_entity="0" value="0" />
+ <value cell_index="27583" local_entity="0" value="0" />
+ <value cell_index="27584" local_entity="0" value="0" />
+ <value cell_index="27585" local_entity="0" value="0" />
+ <value cell_index="27586" local_entity="0" value="0" />
+ <value cell_index="27587" local_entity="0" value="0" />
+ <value cell_index="27588" local_entity="0" value="0" />
+ <value cell_index="27589" local_entity="0" value="0" />
+ <value cell_index="27590" local_entity="0" value="0" />
+ <value cell_index="27591" local_entity="0" value="0" />
+ <value cell_index="27592" local_entity="0" value="0" />
+ <value cell_index="27593" local_entity="0" value="0" />
+ <value cell_index="27594" local_entity="0" value="0" />
+ <value cell_index="27595" local_entity="0" value="0" />
+ <value cell_index="27596" local_entity="0" value="0" />
+ <value cell_index="27597" local_entity="0" value="0" />
+ <value cell_index="27598" local_entity="0" value="0" />
+ <value cell_index="27599" local_entity="0" value="0" />
+ <value cell_index="27600" local_entity="0" value="0" />
+ <value cell_index="27601" local_entity="0" value="0" />
+ <value cell_index="27602" local_entity="0" value="0" />
+ <value cell_index="27603" local_entity="0" value="0" />
+ <value cell_index="27604" local_entity="0" value="0" />
+ <value cell_index="27605" local_entity="0" value="0" />
+ <value cell_index="27606" local_entity="0" value="0" />
+ <value cell_index="27607" local_entity="0" value="0" />
+ <value cell_index="27608" local_entity="0" value="0" />
+ <value cell_index="27609" local_entity="0" value="0" />
+ <value cell_index="27610" local_entity="0" value="0" />
+ <value cell_index="27611" local_entity="0" value="0" />
+ <value cell_index="27612" local_entity="0" value="0" />
+ <value cell_index="27613" local_entity="0" value="0" />
+ <value cell_index="27614" local_entity="0" value="0" />
+ <value cell_index="27615" local_entity="0" value="0" />
+ <value cell_index="27616" local_entity="0" value="0" />
+ <value cell_index="27617" local_entity="0" value="0" />
+ <value cell_index="27618" local_entity="0" value="0" />
+ <value cell_index="27619" local_entity="0" value="0" />
+ <value cell_index="27620" local_entity="0" value="0" />
+ <value cell_index="27621" local_entity="0" value="0" />
+ <value cell_index="27622" local_entity="0" value="0" />
+ <value cell_index="27623" local_entity="0" value="0" />
+ <value cell_index="27624" local_entity="0" value="0" />
+ <value cell_index="27625" local_entity="0" value="0" />
+ <value cell_index="27626" local_entity="0" value="0" />
+ <value cell_index="27627" local_entity="0" value="0" />
+ <value cell_index="27628" local_entity="0" value="0" />
+ <value cell_index="27629" local_entity="0" value="0" />
+ <value cell_index="27630" local_entity="0" value="0" />
+ <value cell_index="27631" local_entity="0" value="0" />
+ <value cell_index="27632" local_entity="0" value="0" />
+ <value cell_index="27633" local_entity="0" value="0" />
+ <value cell_index="27634" local_entity="0" value="0" />
+ <value cell_index="27635" local_entity="0" value="0" />
+ <value cell_index="27636" local_entity="0" value="0" />
+ <value cell_index="27637" local_entity="0" value="0" />
+ <value cell_index="27638" local_entity="0" value="0" />
+ <value cell_index="27639" local_entity="0" value="0" />
+ <value cell_index="27640" local_entity="0" value="0" />
+ <value cell_index="27641" local_entity="0" value="0" />
+ <value cell_index="27642" local_entity="0" value="0" />
+ <value cell_index="27643" local_entity="0" value="0" />
+ <value cell_index="27644" local_entity="0" value="0" />
+ <value cell_index="27645" local_entity="0" value="0" />
+ <value cell_index="27646" local_entity="0" value="0" />
+ <value cell_index="27647" local_entity="0" value="0" />
+ <value cell_index="27648" local_entity="0" value="0" />
+ <value cell_index="27649" local_entity="0" value="0" />
+ <value cell_index="27650" local_entity="0" value="0" />
+ <value cell_index="27651" local_entity="0" value="0" />
+ <value cell_index="27652" local_entity="0" value="0" />
+ <value cell_index="27653" local_entity="0" value="0" />
+ <value cell_index="27654" local_entity="0" value="0" />
+ <value cell_index="27655" local_entity="0" value="0" />
+ <value cell_index="27656" local_entity="0" value="0" />
+ <value cell_index="27657" local_entity="0" value="0" />
+ <value cell_index="27658" local_entity="0" value="0" />
+ <value cell_index="27659" local_entity="0" value="0" />
+ <value cell_index="27660" local_entity="0" value="0" />
+ <value cell_index="27661" local_entity="0" value="0" />
+ <value cell_index="27662" local_entity="0" value="0" />
+ <value cell_index="27663" local_entity="0" value="0" />
+ <value cell_index="27664" local_entity="0" value="0" />
+ <value cell_index="27665" local_entity="0" value="0" />
+ <value cell_index="27666" local_entity="0" value="0" />
+ <value cell_index="27667" local_entity="0" value="0" />
+ <value cell_index="27668" local_entity="0" value="0" />
+ <value cell_index="27669" local_entity="0" value="0" />
+ <value cell_index="27670" local_entity="0" value="0" />
+ <value cell_index="27671" local_entity="0" value="0" />
+ <value cell_index="27672" local_entity="0" value="0" />
+ <value cell_index="27673" local_entity="0" value="0" />
+ <value cell_index="27674" local_entity="0" value="0" />
+ <value cell_index="27675" local_entity="0" value="0" />
+ <value cell_index="27676" local_entity="0" value="0" />
+ <value cell_index="27677" local_entity="0" value="0" />
+ <value cell_index="27678" local_entity="0" value="0" />
+ <value cell_index="27679" local_entity="0" value="0" />
+ <value cell_index="27680" local_entity="0" value="0" />
+ <value cell_index="27681" local_entity="0" value="0" />
+ <value cell_index="27682" local_entity="0" value="0" />
+ <value cell_index="27683" local_entity="0" value="0" />
+ <value cell_index="27684" local_entity="0" value="0" />
+ <value cell_index="27685" local_entity="0" value="0" />
+ <value cell_index="27686" local_entity="0" value="0" />
+ <value cell_index="27687" local_entity="0" value="0" />
+ <value cell_index="27688" local_entity="0" value="0" />
+ <value cell_index="27689" local_entity="0" value="0" />
+ <value cell_index="27690" local_entity="0" value="0" />
+ <value cell_index="27691" local_entity="0" value="0" />
+ <value cell_index="27692" local_entity="0" value="0" />
+ <value cell_index="27693" local_entity="0" value="0" />
+ <value cell_index="27694" local_entity="0" value="0" />
+ <value cell_index="27695" local_entity="0" value="0" />
+ <value cell_index="27696" local_entity="0" value="0" />
+ <value cell_index="27697" local_entity="0" value="0" />
+ <value cell_index="27698" local_entity="0" value="0" />
+ <value cell_index="27699" local_entity="0" value="0" />
+ <value cell_index="27700" local_entity="0" value="0" />
+ <value cell_index="27701" local_entity="0" value="0" />
+ <value cell_index="27702" local_entity="0" value="0" />
+ <value cell_index="27703" local_entity="0" value="0" />
+ <value cell_index="27704" local_entity="0" value="0" />
+ <value cell_index="27705" local_entity="0" value="0" />
+ <value cell_index="27706" local_entity="0" value="0" />
+ <value cell_index="27707" local_entity="0" value="0" />
+ <value cell_index="27708" local_entity="0" value="0" />
+ <value cell_index="27709" local_entity="0" value="0" />
+ <value cell_index="27710" local_entity="0" value="0" />
+ <value cell_index="27711" local_entity="0" value="0" />
+ <value cell_index="27712" local_entity="0" value="0" />
+ <value cell_index="27713" local_entity="0" value="0" />
+ <value cell_index="27714" local_entity="0" value="0" />
+ <value cell_index="27715" local_entity="0" value="0" />
+ <value cell_index="27716" local_entity="0" value="0" />
+ <value cell_index="27717" local_entity="0" value="0" />
+ <value cell_index="27718" local_entity="0" value="0" />
+ <value cell_index="27719" local_entity="0" value="0" />
+ <value cell_index="27720" local_entity="0" value="0" />
+ <value cell_index="27721" local_entity="0" value="0" />
+ <value cell_index="27722" local_entity="0" value="0" />
+ <value cell_index="27723" local_entity="0" value="0" />
+ <value cell_index="27724" local_entity="0" value="0" />
+ <value cell_index="27725" local_entity="0" value="0" />
+ <value cell_index="27726" local_entity="0" value="0" />
+ <value cell_index="27727" local_entity="0" value="0" />
+ <value cell_index="27728" local_entity="0" value="0" />
+ <value cell_index="27729" local_entity="0" value="0" />
+ <value cell_index="27730" local_entity="0" value="0" />
+ <value cell_index="27731" local_entity="0" value="0" />
+ <value cell_index="27732" local_entity="0" value="0" />
+ <value cell_index="27733" local_entity="0" value="0" />
+ <value cell_index="27734" local_entity="0" value="0" />
+ <value cell_index="27735" local_entity="0" value="0" />
+ <value cell_index="27736" local_entity="0" value="0" />
+ <value cell_index="27737" local_entity="0" value="0" />
+ <value cell_index="27738" local_entity="0" value="0" />
+ <value cell_index="27739" local_entity="0" value="0" />
+ <value cell_index="27740" local_entity="0" value="0" />
+ <value cell_index="27741" local_entity="0" value="0" />
+ <value cell_index="27742" local_entity="0" value="0" />
+ <value cell_index="27743" local_entity="0" value="0" />
+ <value cell_index="27744" local_entity="0" value="0" />
+ <value cell_index="27745" local_entity="0" value="0" />
+ <value cell_index="27746" local_entity="0" value="0" />
+ <value cell_index="27747" local_entity="0" value="0" />
+ <value cell_index="27748" local_entity="0" value="0" />
+ <value cell_index="27749" local_entity="0" value="0" />
+ <value cell_index="27750" local_entity="0" value="0" />
+ <value cell_index="27751" local_entity="0" value="0" />
+ <value cell_index="27752" local_entity="0" value="0" />
+ <value cell_index="27753" local_entity="0" value="0" />
+ <value cell_index="27754" local_entity="0" value="0" />
+ <value cell_index="27755" local_entity="0" value="0" />
+ <value cell_index="27756" local_entity="0" value="0" />
+ <value cell_index="27757" local_entity="0" value="0" />
+ <value cell_index="27758" local_entity="0" value="0" />
+ <value cell_index="27759" local_entity="0" value="0" />
+ <value cell_index="27760" local_entity="0" value="0" />
+ <value cell_index="27761" local_entity="0" value="0" />
+ <value cell_index="27762" local_entity="0" value="0" />
+ <value cell_index="27763" local_entity="0" value="0" />
+ <value cell_index="27764" local_entity="0" value="0" />
+ <value cell_index="27765" local_entity="0" value="0" />
+ <value cell_index="27766" local_entity="0" value="0" />
+ <value cell_index="27767" local_entity="0" value="0" />
+ <value cell_index="27768" local_entity="0" value="0" />
+ <value cell_index="27769" local_entity="0" value="0" />
+ <value cell_index="27770" local_entity="0" value="0" />
+ <value cell_index="27771" local_entity="0" value="0" />
+ <value cell_index="27772" local_entity="0" value="0" />
+ <value cell_index="27773" local_entity="0" value="0" />
+ <value cell_index="27774" local_entity="0" value="0" />
+ <value cell_index="27775" local_entity="0" value="0" />
+ <value cell_index="27776" local_entity="0" value="0" />
+ <value cell_index="27777" local_entity="0" value="0" />
+ <value cell_index="27778" local_entity="0" value="0" />
+ <value cell_index="27779" local_entity="0" value="0" />
+ <value cell_index="27780" local_entity="0" value="0" />
+ <value cell_index="27781" local_entity="0" value="0" />
+ <value cell_index="27782" local_entity="0" value="0" />
+ <value cell_index="27783" local_entity="0" value="0" />
+ <value cell_index="27784" local_entity="0" value="0" />
+ <value cell_index="27785" local_entity="0" value="0" />
+ <value cell_index="27786" local_entity="0" value="0" />
+ <value cell_index="27787" local_entity="0" value="0" />
+ <value cell_index="27788" local_entity="0" value="0" />
+ <value cell_index="27789" local_entity="0" value="0" />
+ <value cell_index="27790" local_entity="0" value="0" />
+ <value cell_index="27791" local_entity="0" value="0" />
+ <value cell_index="27792" local_entity="0" value="0" />
+ <value cell_index="27793" local_entity="0" value="0" />
+ <value cell_index="27794" local_entity="0" value="0" />
+ <value cell_index="27795" local_entity="0" value="0" />
+ <value cell_index="27796" local_entity="0" value="0" />
+ <value cell_index="27797" local_entity="0" value="0" />
+ <value cell_index="27798" local_entity="0" value="0" />
+ <value cell_index="27799" local_entity="0" value="0" />
+ <value cell_index="27800" local_entity="0" value="0" />
+ <value cell_index="27801" local_entity="0" value="0" />
+ <value cell_index="27802" local_entity="0" value="0" />
+ <value cell_index="27803" local_entity="0" value="0" />
+ <value cell_index="27804" local_entity="0" value="0" />
+ <value cell_index="27805" local_entity="0" value="0" />
+ <value cell_index="27806" local_entity="0" value="0" />
+ <value cell_index="27807" local_entity="0" value="0" />
+ <value cell_index="27808" local_entity="0" value="0" />
+ <value cell_index="27809" local_entity="0" value="0" />
+ <value cell_index="27810" local_entity="0" value="0" />
+ <value cell_index="27811" local_entity="0" value="0" />
+ <value cell_index="27812" local_entity="0" value="0" />
+ <value cell_index="27813" local_entity="0" value="0" />
+ <value cell_index="27814" local_entity="0" value="0" />
+ <value cell_index="27815" local_entity="0" value="0" />
+ <value cell_index="27816" local_entity="0" value="0" />
+ <value cell_index="27817" local_entity="0" value="0" />
+ <value cell_index="27818" local_entity="0" value="0" />
+ <value cell_index="27819" local_entity="0" value="0" />
+ <value cell_index="27820" local_entity="0" value="0" />
+ <value cell_index="27821" local_entity="0" value="0" />
+ <value cell_index="27822" local_entity="0" value="0" />
+ <value cell_index="27823" local_entity="0" value="0" />
+ <value cell_index="27824" local_entity="0" value="0" />
+ <value cell_index="27825" local_entity="0" value="0" />
+ <value cell_index="27826" local_entity="0" value="0" />
+ <value cell_index="27827" local_entity="0" value="0" />
+ <value cell_index="27828" local_entity="0" value="0" />
+ <value cell_index="27829" local_entity="0" value="0" />
+ <value cell_index="27830" local_entity="0" value="0" />
+ <value cell_index="27831" local_entity="0" value="0" />
+ <value cell_index="27832" local_entity="0" value="0" />
+ <value cell_index="27833" local_entity="0" value="0" />
+ <value cell_index="27834" local_entity="0" value="0" />
+ <value cell_index="27835" local_entity="0" value="0" />
+ <value cell_index="27836" local_entity="0" value="0" />
+ <value cell_index="27837" local_entity="0" value="0" />
+ <value cell_index="27838" local_entity="0" value="0" />
+ <value cell_index="27839" local_entity="0" value="0" />
+ <value cell_index="27840" local_entity="0" value="0" />
+ <value cell_index="27841" local_entity="0" value="0" />
+ <value cell_index="27842" local_entity="0" value="0" />
+ <value cell_index="27843" local_entity="0" value="0" />
+ <value cell_index="27844" local_entity="0" value="0" />
+ <value cell_index="27845" local_entity="0" value="0" />
+ <value cell_index="27846" local_entity="0" value="0" />
+ <value cell_index="27847" local_entity="0" value="0" />
+ <value cell_index="27848" local_entity="0" value="0" />
+ <value cell_index="27849" local_entity="0" value="0" />
+ <value cell_index="27850" local_entity="0" value="0" />
+ <value cell_index="27851" local_entity="0" value="0" />
+ <value cell_index="27852" local_entity="0" value="0" />
+ <value cell_index="27853" local_entity="0" value="0" />
+ <value cell_index="27854" local_entity="0" value="0" />
+ <value cell_index="27855" local_entity="0" value="0" />
+ <value cell_index="27856" local_entity="0" value="0" />
+ <value cell_index="27857" local_entity="0" value="0" />
+ <value cell_index="27858" local_entity="0" value="0" />
+ <value cell_index="27859" local_entity="0" value="0" />
+ <value cell_index="27860" local_entity="0" value="0" />
+ <value cell_index="27861" local_entity="0" value="0" />
+ <value cell_index="27862" local_entity="0" value="0" />
+ <value cell_index="27863" local_entity="0" value="0" />
+ <value cell_index="27864" local_entity="0" value="0" />
+ <value cell_index="27865" local_entity="0" value="0" />
+ <value cell_index="27866" local_entity="0" value="0" />
+ <value cell_index="27867" local_entity="0" value="0" />
+ <value cell_index="27868" local_entity="0" value="0" />
+ <value cell_index="27869" local_entity="0" value="0" />
+ <value cell_index="27870" local_entity="0" value="0" />
+ <value cell_index="27871" local_entity="0" value="0" />
+ <value cell_index="27872" local_entity="0" value="0" />
+ <value cell_index="27873" local_entity="0" value="0" />
+ <value cell_index="27874" local_entity="0" value="0" />
+ <value cell_index="27875" local_entity="0" value="0" />
+ <value cell_index="27876" local_entity="0" value="0" />
+ <value cell_index="27877" local_entity="0" value="0" />
+ <value cell_index="27878" local_entity="0" value="0" />
+ <value cell_index="27879" local_entity="0" value="0" />
+ <value cell_index="27880" local_entity="0" value="0" />
+ <value cell_index="27881" local_entity="0" value="0" />
+ <value cell_index="27882" local_entity="0" value="0" />
+ <value cell_index="27883" local_entity="0" value="0" />
+ <value cell_index="27884" local_entity="0" value="0" />
+ <value cell_index="27885" local_entity="0" value="0" />
+ <value cell_index="27886" local_entity="0" value="0" />
+ <value cell_index="27887" local_entity="0" value="0" />
+ <value cell_index="27888" local_entity="0" value="0" />
+ <value cell_index="27889" local_entity="0" value="0" />
+ <value cell_index="27890" local_entity="0" value="0" />
+ <value cell_index="27891" local_entity="0" value="0" />
+ <value cell_index="27892" local_entity="0" value="0" />
+ <value cell_index="27893" local_entity="0" value="0" />
+ <value cell_index="27894" local_entity="0" value="0" />
+ <value cell_index="27895" local_entity="0" value="0" />
+ <value cell_index="27896" local_entity="0" value="0" />
+ <value cell_index="27897" local_entity="0" value="0" />
+ <value cell_index="27898" local_entity="0" value="0" />
+ <value cell_index="27899" local_entity="0" value="0" />
+ <value cell_index="27900" local_entity="0" value="0" />
+ <value cell_index="27901" local_entity="0" value="0" />
+ <value cell_index="27902" local_entity="0" value="0" />
+ <value cell_index="27903" local_entity="0" value="0" />
+ <value cell_index="27904" local_entity="0" value="0" />
+ <value cell_index="27905" local_entity="0" value="0" />
+ <value cell_index="27906" local_entity="0" value="0" />
+ <value cell_index="27907" local_entity="0" value="0" />
+ <value cell_index="27908" local_entity="0" value="0" />
+ <value cell_index="27909" local_entity="0" value="0" />
+ <value cell_index="27910" local_entity="0" value="0" />
+ <value cell_index="27911" local_entity="0" value="0" />
+ <value cell_index="27912" local_entity="0" value="0" />
+ <value cell_index="27913" local_entity="0" value="0" />
+ <value cell_index="27914" local_entity="0" value="0" />
+ <value cell_index="27915" local_entity="0" value="0" />
+ <value cell_index="27916" local_entity="0" value="0" />
+ <value cell_index="27917" local_entity="0" value="0" />
+ <value cell_index="27918" local_entity="0" value="0" />
+ <value cell_index="27919" local_entity="0" value="0" />
+ <value cell_index="27920" local_entity="0" value="0" />
+ <value cell_index="27921" local_entity="0" value="0" />
+ <value cell_index="27922" local_entity="0" value="0" />
+ <value cell_index="27923" local_entity="0" value="0" />
+ <value cell_index="27924" local_entity="0" value="0" />
+ <value cell_index="27925" local_entity="0" value="0" />
+ <value cell_index="27926" local_entity="0" value="0" />
+ <value cell_index="27927" local_entity="0" value="0" />
+ <value cell_index="27928" local_entity="0" value="0" />
+ <value cell_index="27929" local_entity="0" value="0" />
+ <value cell_index="27930" local_entity="0" value="0" />
+ <value cell_index="27931" local_entity="0" value="0" />
+ <value cell_index="27932" local_entity="0" value="0" />
+ <value cell_index="27933" local_entity="0" value="0" />
+ <value cell_index="27934" local_entity="0" value="0" />
+ <value cell_index="27935" local_entity="0" value="0" />
+ <value cell_index="27936" local_entity="0" value="0" />
+ <value cell_index="27937" local_entity="0" value="0" />
+ <value cell_index="27938" local_entity="0" value="0" />
+ <value cell_index="27939" local_entity="0" value="0" />
+ <value cell_index="27940" local_entity="0" value="0" />
+ <value cell_index="27941" local_entity="0" value="0" />
+ <value cell_index="27942" local_entity="0" value="0" />
+ <value cell_index="27943" local_entity="0" value="0" />
+ <value cell_index="27944" local_entity="0" value="0" />
+ <value cell_index="27945" local_entity="0" value="0" />
+ <value cell_index="27946" local_entity="0" value="0" />
+ <value cell_index="27947" local_entity="0" value="0" />
+ <value cell_index="27948" local_entity="0" value="0" />
+ <value cell_index="27949" local_entity="0" value="0" />
+ <value cell_index="27950" local_entity="0" value="0" />
+ <value cell_index="27951" local_entity="0" value="0" />
+ <value cell_index="27952" local_entity="0" value="0" />
+ <value cell_index="27953" local_entity="0" value="0" />
+ <value cell_index="27954" local_entity="0" value="0" />
+ <value cell_index="27955" local_entity="0" value="0" />
+ <value cell_index="27956" local_entity="0" value="0" />
+ <value cell_index="27957" local_entity="0" value="0" />
+ <value cell_index="27958" local_entity="0" value="0" />
+ <value cell_index="27959" local_entity="0" value="0" />
+ <value cell_index="27960" local_entity="0" value="0" />
+ <value cell_index="27961" local_entity="0" value="0" />
+ <value cell_index="27962" local_entity="0" value="0" />
+ <value cell_index="27963" local_entity="0" value="0" />
+ <value cell_index="27964" local_entity="0" value="0" />
+ <value cell_index="27965" local_entity="0" value="0" />
+ <value cell_index="27966" local_entity="0" value="0" />
+ <value cell_index="27967" local_entity="0" value="0" />
+ <value cell_index="27968" local_entity="0" value="0" />
+ <value cell_index="27969" local_entity="0" value="0" />
+ <value cell_index="27970" local_entity="0" value="0" />
+ <value cell_index="27971" local_entity="0" value="0" />
+ <value cell_index="27972" local_entity="0" value="0" />
+ <value cell_index="27973" local_entity="0" value="0" />
+ <value cell_index="27974" local_entity="0" value="0" />
+ <value cell_index="27975" local_entity="0" value="0" />
+ <value cell_index="27976" local_entity="0" value="0" />
+ <value cell_index="27977" local_entity="0" value="0" />
+ <value cell_index="27978" local_entity="0" value="0" />
+ <value cell_index="27979" local_entity="0" value="0" />
+ <value cell_index="27980" local_entity="0" value="0" />
+ <value cell_index="27981" local_entity="0" value="0" />
+ <value cell_index="27982" local_entity="0" value="0" />
+ <value cell_index="27983" local_entity="0" value="0" />
+ <value cell_index="27984" local_entity="0" value="0" />
+ <value cell_index="27985" local_entity="0" value="0" />
+ <value cell_index="27986" local_entity="0" value="0" />
+ <value cell_index="27987" local_entity="0" value="0" />
+ <value cell_index="27988" local_entity="0" value="0" />
+ <value cell_index="27989" local_entity="0" value="0" />
+ <value cell_index="27990" local_entity="0" value="0" />
+ <value cell_index="27991" local_entity="0" value="0" />
+ <value cell_index="27992" local_entity="0" value="0" />
+ <value cell_index="27993" local_entity="0" value="0" />
+ <value cell_index="27994" local_entity="0" value="0" />
+ <value cell_index="27995" local_entity="0" value="0" />
+ <value cell_index="27996" local_entity="0" value="0" />
+ <value cell_index="27997" local_entity="0" value="0" />
+ <value cell_index="27998" local_entity="0" value="0" />
+ <value cell_index="27999" local_entity="0" value="0" />
+ <value cell_index="28000" local_entity="0" value="0" />
+ <value cell_index="28001" local_entity="0" value="0" />
+ <value cell_index="28002" local_entity="0" value="0" />
+ <value cell_index="28003" local_entity="0" value="0" />
+ <value cell_index="28004" local_entity="0" value="0" />
+ <value cell_index="28005" local_entity="0" value="0" />
+ <value cell_index="28006" local_entity="0" value="0" />
+ <value cell_index="28007" local_entity="0" value="0" />
+ <value cell_index="28008" local_entity="0" value="0" />
+ <value cell_index="28009" local_entity="0" value="0" />
+ <value cell_index="28010" local_entity="0" value="0" />
+ <value cell_index="28011" local_entity="0" value="0" />
+ <value cell_index="28012" local_entity="0" value="0" />
+ <value cell_index="28013" local_entity="0" value="0" />
+ <value cell_index="28014" local_entity="0" value="0" />
+ <value cell_index="28015" local_entity="0" value="0" />
+ <value cell_index="28016" local_entity="0" value="0" />
+ <value cell_index="28017" local_entity="0" value="0" />
+ <value cell_index="28018" local_entity="0" value="0" />
+ <value cell_index="28019" local_entity="0" value="0" />
+ <value cell_index="28020" local_entity="0" value="0" />
+ <value cell_index="28021" local_entity="0" value="0" />
+ <value cell_index="28022" local_entity="0" value="0" />
+ <value cell_index="28023" local_entity="0" value="0" />
+ <value cell_index="28024" local_entity="0" value="0" />
+ <value cell_index="28025" local_entity="0" value="0" />
+ <value cell_index="28026" local_entity="0" value="0" />
+ <value cell_index="28027" local_entity="0" value="0" />
+ <value cell_index="28028" local_entity="0" value="0" />
+ <value cell_index="28029" local_entity="0" value="0" />
+ <value cell_index="28030" local_entity="0" value="0" />
+ <value cell_index="28031" local_entity="0" value="0" />
+ <value cell_index="28032" local_entity="0" value="0" />
+ <value cell_index="28033" local_entity="0" value="0" />
+ <value cell_index="28034" local_entity="0" value="0" />
+ <value cell_index="28035" local_entity="0" value="0" />
+ <value cell_index="28036" local_entity="0" value="0" />
+ <value cell_index="28037" local_entity="0" value="0" />
+ <value cell_index="28038" local_entity="0" value="0" />
+ <value cell_index="28039" local_entity="0" value="0" />
+ <value cell_index="28040" local_entity="0" value="0" />
+ <value cell_index="28041" local_entity="0" value="0" />
+ <value cell_index="28042" local_entity="0" value="0" />
+ <value cell_index="28043" local_entity="0" value="0" />
+ <value cell_index="28044" local_entity="0" value="0" />
+ <value cell_index="28045" local_entity="0" value="0" />
+ <value cell_index="28046" local_entity="0" value="0" />
+ <value cell_index="28047" local_entity="0" value="0" />
+ <value cell_index="28048" local_entity="0" value="0" />
+ <value cell_index="28049" local_entity="0" value="0" />
+ <value cell_index="28050" local_entity="0" value="0" />
+ <value cell_index="28051" local_entity="0" value="0" />
+ <value cell_index="28052" local_entity="0" value="0" />
+ <value cell_index="28053" local_entity="0" value="0" />
+ <value cell_index="28054" local_entity="0" value="0" />
+ <value cell_index="28055" local_entity="0" value="0" />
+ <value cell_index="28056" local_entity="0" value="0" />
+ <value cell_index="28057" local_entity="0" value="0" />
+ <value cell_index="28058" local_entity="0" value="0" />
+ <value cell_index="28059" local_entity="0" value="0" />
+ <value cell_index="28060" local_entity="0" value="0" />
+ <value cell_index="28061" local_entity="0" value="0" />
+ <value cell_index="28062" local_entity="0" value="0" />
+ <value cell_index="28063" local_entity="0" value="0" />
+ <value cell_index="28064" local_entity="0" value="0" />
+ <value cell_index="28065" local_entity="0" value="0" />
+ <value cell_index="28066" local_entity="0" value="0" />
+ <value cell_index="28067" local_entity="0" value="0" />
+ <value cell_index="28068" local_entity="0" value="0" />
+ <value cell_index="28069" local_entity="0" value="0" />
+ <value cell_index="28070" local_entity="0" value="0" />
+ <value cell_index="28071" local_entity="0" value="0" />
+ <value cell_index="28072" local_entity="0" value="0" />
+ <value cell_index="28073" local_entity="0" value="0" />
+ <value cell_index="28074" local_entity="0" value="0" />
+ <value cell_index="28075" local_entity="0" value="0" />
+ <value cell_index="28076" local_entity="0" value="0" />
+ <value cell_index="28077" local_entity="0" value="0" />
+ <value cell_index="28078" local_entity="0" value="0" />
+ <value cell_index="28079" local_entity="0" value="0" />
+ <value cell_index="28080" local_entity="0" value="0" />
+ <value cell_index="28081" local_entity="0" value="0" />
+ <value cell_index="28082" local_entity="0" value="0" />
+ <value cell_index="28083" local_entity="0" value="0" />
+ <value cell_index="28084" local_entity="0" value="0" />
+ <value cell_index="28085" local_entity="0" value="0" />
+ <value cell_index="28086" local_entity="0" value="0" />
+ <value cell_index="28087" local_entity="0" value="0" />
+ <value cell_index="28088" local_entity="0" value="0" />
+ <value cell_index="28089" local_entity="0" value="0" />
+ <value cell_index="28090" local_entity="0" value="0" />
+ <value cell_index="28091" local_entity="0" value="0" />
+ <value cell_index="28092" local_entity="0" value="0" />
+ <value cell_index="28093" local_entity="0" value="0" />
+ <value cell_index="28094" local_entity="0" value="0" />
+ <value cell_index="28095" local_entity="0" value="0" />
+ <value cell_index="28096" local_entity="0" value="0" />
+ <value cell_index="28097" local_entity="0" value="0" />
+ <value cell_index="28098" local_entity="0" value="0" />
+ <value cell_index="28099" local_entity="0" value="0" />
+ <value cell_index="28100" local_entity="0" value="0" />
+ <value cell_index="28101" local_entity="0" value="0" />
+ <value cell_index="28102" local_entity="0" value="0" />
+ <value cell_index="28103" local_entity="0" value="0" />
+ <value cell_index="28104" local_entity="0" value="0" />
+ <value cell_index="28105" local_entity="0" value="0" />
+ <value cell_index="28106" local_entity="0" value="0" />
+ <value cell_index="28107" local_entity="0" value="0" />
+ <value cell_index="28108" local_entity="0" value="0" />
+ <value cell_index="28109" local_entity="0" value="0" />
+ <value cell_index="28110" local_entity="0" value="0" />
+ <value cell_index="28111" local_entity="0" value="0" />
+ <value cell_index="28112" local_entity="0" value="0" />
+ <value cell_index="28113" local_entity="0" value="0" />
+ <value cell_index="28114" local_entity="0" value="0" />
+ <value cell_index="28115" local_entity="0" value="0" />
+ <value cell_index="28116" local_entity="0" value="0" />
+ <value cell_index="28117" local_entity="0" value="0" />
+ <value cell_index="28118" local_entity="0" value="0" />
+ <value cell_index="28119" local_entity="0" value="0" />
+ <value cell_index="28120" local_entity="0" value="0" />
+ <value cell_index="28121" local_entity="0" value="0" />
+ <value cell_index="28122" local_entity="0" value="0" />
+ <value cell_index="28123" local_entity="0" value="0" />
+ <value cell_index="28124" local_entity="0" value="0" />
+ <value cell_index="28125" local_entity="0" value="0" />
+ <value cell_index="28126" local_entity="0" value="0" />
+ <value cell_index="28127" local_entity="0" value="0" />
+ <value cell_index="28128" local_entity="0" value="0" />
+ <value cell_index="28129" local_entity="0" value="0" />
+ <value cell_index="28130" local_entity="0" value="0" />
+ <value cell_index="28131" local_entity="0" value="0" />
+ <value cell_index="28132" local_entity="0" value="0" />
+ <value cell_index="28133" local_entity="0" value="0" />
+ <value cell_index="28134" local_entity="0" value="0" />
+ <value cell_index="28135" local_entity="0" value="0" />
+ <value cell_index="28136" local_entity="0" value="0" />
+ <value cell_index="28137" local_entity="0" value="0" />
+ <value cell_index="28138" local_entity="0" value="0" />
+ <value cell_index="28139" local_entity="0" value="0" />
+ <value cell_index="28140" local_entity="0" value="0" />
+ <value cell_index="28141" local_entity="0" value="0" />
+ <value cell_index="28142" local_entity="0" value="0" />
+ <value cell_index="28143" local_entity="0" value="0" />
+ <value cell_index="28144" local_entity="0" value="0" />
+ <value cell_index="28145" local_entity="0" value="0" />
+ <value cell_index="28146" local_entity="0" value="0" />
+ <value cell_index="28147" local_entity="0" value="0" />
+ <value cell_index="28148" local_entity="0" value="0" />
+ <value cell_index="28149" local_entity="0" value="0" />
+ <value cell_index="28150" local_entity="0" value="0" />
+ <value cell_index="28151" local_entity="0" value="0" />
+ <value cell_index="28152" local_entity="0" value="0" />
+ <value cell_index="28153" local_entity="0" value="0" />
+ <value cell_index="28154" local_entity="0" value="0" />
+ <value cell_index="28155" local_entity="0" value="0" />
+ <value cell_index="28156" local_entity="0" value="0" />
+ <value cell_index="28157" local_entity="0" value="0" />
+ <value cell_index="28158" local_entity="0" value="0" />
+ <value cell_index="28159" local_entity="0" value="0" />
+ <value cell_index="28160" local_entity="0" value="0" />
+ <value cell_index="28161" local_entity="0" value="0" />
+ <value cell_index="28162" local_entity="0" value="0" />
+ <value cell_index="28163" local_entity="0" value="0" />
+ <value cell_index="28164" local_entity="0" value="0" />
+ <value cell_index="28165" local_entity="0" value="0" />
+ <value cell_index="28166" local_entity="0" value="0" />
+ <value cell_index="28167" local_entity="0" value="0" />
+ <value cell_index="28168" local_entity="0" value="0" />
+ <value cell_index="28169" local_entity="0" value="0" />
+ <value cell_index="28170" local_entity="0" value="0" />
+ <value cell_index="28171" local_entity="0" value="0" />
+ <value cell_index="28172" local_entity="0" value="0" />
+ <value cell_index="28173" local_entity="0" value="0" />
+ <value cell_index="28174" local_entity="0" value="0" />
+ <value cell_index="28175" local_entity="0" value="0" />
+ <value cell_index="28176" local_entity="0" value="0" />
+ <value cell_index="28177" local_entity="0" value="0" />
+ <value cell_index="28178" local_entity="0" value="0" />
+ <value cell_index="28179" local_entity="0" value="0" />
+ <value cell_index="28180" local_entity="0" value="0" />
+ <value cell_index="28181" local_entity="0" value="0" />
+ <value cell_index="28182" local_entity="0" value="0" />
+ <value cell_index="28183" local_entity="0" value="0" />
+ <value cell_index="28184" local_entity="0" value="0" />
+ <value cell_index="28185" local_entity="0" value="0" />
+ <value cell_index="28186" local_entity="0" value="0" />
+ <value cell_index="28187" local_entity="0" value="0" />
+ <value cell_index="28188" local_entity="0" value="0" />
+ <value cell_index="28189" local_entity="0" value="0" />
+ <value cell_index="28190" local_entity="0" value="0" />
+ <value cell_index="28191" local_entity="0" value="0" />
+ <value cell_index="28192" local_entity="0" value="0" />
+ <value cell_index="28193" local_entity="0" value="0" />
+ <value cell_index="28194" local_entity="0" value="0" />
+ <value cell_index="28195" local_entity="0" value="0" />
+ <value cell_index="28196" local_entity="0" value="0" />
+ <value cell_index="28197" local_entity="0" value="0" />
+ <value cell_index="28198" local_entity="0" value="0" />
+ <value cell_index="28199" local_entity="0" value="0" />
+ <value cell_index="28200" local_entity="0" value="0" />
+ <value cell_index="28201" local_entity="0" value="0" />
+ <value cell_index="28202" local_entity="0" value="0" />
+ <value cell_index="28203" local_entity="0" value="0" />
+ <value cell_index="28204" local_entity="0" value="0" />
+ <value cell_index="28205" local_entity="0" value="0" />
+ <value cell_index="28206" local_entity="0" value="0" />
+ <value cell_index="28207" local_entity="0" value="0" />
+ <value cell_index="28208" local_entity="0" value="0" />
+ <value cell_index="28209" local_entity="0" value="0" />
+ <value cell_index="28210" local_entity="0" value="0" />
+ <value cell_index="28211" local_entity="0" value="0" />
+ <value cell_index="28212" local_entity="0" value="0" />
+ <value cell_index="28213" local_entity="0" value="0" />
+ <value cell_index="28214" local_entity="0" value="0" />
+ <value cell_index="28215" local_entity="0" value="0" />
+ <value cell_index="28216" local_entity="0" value="0" />
+ <value cell_index="28217" local_entity="0" value="0" />
+ <value cell_index="28218" local_entity="0" value="0" />
+ <value cell_index="28219" local_entity="0" value="0" />
+ <value cell_index="28220" local_entity="0" value="0" />
+ <value cell_index="28221" local_entity="0" value="0" />
+ <value cell_index="28222" local_entity="0" value="0" />
+ <value cell_index="28223" local_entity="0" value="0" />
+ <value cell_index="28224" local_entity="0" value="0" />
+ <value cell_index="28225" local_entity="0" value="0" />
+ <value cell_index="28226" local_entity="0" value="0" />
+ <value cell_index="28227" local_entity="0" value="0" />
+ <value cell_index="28228" local_entity="0" value="0" />
+ <value cell_index="28229" local_entity="0" value="0" />
+ <value cell_index="28230" local_entity="0" value="0" />
+ <value cell_index="28231" local_entity="0" value="0" />
+ <value cell_index="28232" local_entity="0" value="0" />
+ <value cell_index="28233" local_entity="0" value="0" />
+ <value cell_index="28234" local_entity="0" value="0" />
+ <value cell_index="28235" local_entity="0" value="0" />
+ <value cell_index="28236" local_entity="0" value="0" />
+ <value cell_index="28237" local_entity="0" value="0" />
+ <value cell_index="28238" local_entity="0" value="0" />
+ <value cell_index="28239" local_entity="0" value="0" />
+ <value cell_index="28240" local_entity="0" value="0" />
+ <value cell_index="28241" local_entity="0" value="0" />
+ <value cell_index="28242" local_entity="0" value="0" />
+ <value cell_index="28243" local_entity="0" value="0" />
+ <value cell_index="28244" local_entity="0" value="0" />
+ <value cell_index="28245" local_entity="0" value="0" />
+ <value cell_index="28246" local_entity="0" value="0" />
+ <value cell_index="28247" local_entity="0" value="0" />
+ <value cell_index="28248" local_entity="0" value="0" />
+ <value cell_index="28249" local_entity="0" value="0" />
+ <value cell_index="28250" local_entity="0" value="0" />
+ <value cell_index="28251" local_entity="0" value="0" />
+ <value cell_index="28252" local_entity="0" value="0" />
+ <value cell_index="28253" local_entity="0" value="0" />
+ <value cell_index="28254" local_entity="0" value="0" />
+ <value cell_index="28255" local_entity="0" value="0" />
+ <value cell_index="28256" local_entity="0" value="0" />
+ <value cell_index="28257" local_entity="0" value="0" />
+ <value cell_index="28258" local_entity="0" value="0" />
+ <value cell_index="28259" local_entity="0" value="0" />
+ <value cell_index="28260" local_entity="0" value="0" />
+ <value cell_index="28261" local_entity="0" value="0" />
+ <value cell_index="28262" local_entity="0" value="0" />
+ <value cell_index="28263" local_entity="0" value="0" />
+ <value cell_index="28264" local_entity="0" value="0" />
+ <value cell_index="28265" local_entity="0" value="0" />
+ <value cell_index="28266" local_entity="0" value="0" />
+ <value cell_index="28267" local_entity="0" value="0" />
+ <value cell_index="28268" local_entity="0" value="0" />
+ <value cell_index="28269" local_entity="0" value="0" />
+ <value cell_index="28270" local_entity="0" value="0" />
+ <value cell_index="28271" local_entity="0" value="0" />
+ <value cell_index="28272" local_entity="0" value="0" />
+ <value cell_index="28273" local_entity="0" value="0" />
+ <value cell_index="28274" local_entity="0" value="0" />
+ <value cell_index="28275" local_entity="0" value="0" />
+ <value cell_index="28276" local_entity="0" value="0" />
+ <value cell_index="28277" local_entity="0" value="0" />
+ <value cell_index="28278" local_entity="0" value="0" />
+ <value cell_index="28279" local_entity="0" value="0" />
+ <value cell_index="28280" local_entity="0" value="0" />
+ <value cell_index="28281" local_entity="0" value="0" />
+ <value cell_index="28282" local_entity="0" value="0" />
+ <value cell_index="28283" local_entity="0" value="0" />
+ <value cell_index="28284" local_entity="0" value="0" />
+ <value cell_index="28285" local_entity="0" value="0" />
+ <value cell_index="28286" local_entity="0" value="0" />
+ <value cell_index="28287" local_entity="0" value="0" />
+ <value cell_index="28288" local_entity="0" value="0" />
+ <value cell_index="28289" local_entity="0" value="0" />
+ <value cell_index="28290" local_entity="0" value="0" />
+ <value cell_index="28291" local_entity="0" value="0" />
+ <value cell_index="28292" local_entity="0" value="0" />
+ <value cell_index="28293" local_entity="0" value="0" />
+ <value cell_index="28294" local_entity="0" value="0" />
+ <value cell_index="28295" local_entity="0" value="0" />
+ <value cell_index="28296" local_entity="0" value="0" />
+ <value cell_index="28297" local_entity="0" value="0" />
+ <value cell_index="28298" local_entity="0" value="0" />
+ <value cell_index="28299" local_entity="0" value="0" />
+ <value cell_index="28300" local_entity="0" value="0" />
+ <value cell_index="28301" local_entity="0" value="0" />
+ <value cell_index="28302" local_entity="0" value="0" />
+ <value cell_index="28303" local_entity="0" value="0" />
+ <value cell_index="28304" local_entity="0" value="0" />
+ <value cell_index="28305" local_entity="0" value="0" />
+ <value cell_index="28306" local_entity="0" value="0" />
+ <value cell_index="28307" local_entity="0" value="0" />
+ <value cell_index="28308" local_entity="0" value="0" />
+ <value cell_index="28309" local_entity="0" value="0" />
+ <value cell_index="28310" local_entity="0" value="0" />
+ <value cell_index="28311" local_entity="0" value="0" />
+ <value cell_index="28312" local_entity="0" value="0" />
+ <value cell_index="28313" local_entity="0" value="0" />
+ <value cell_index="28314" local_entity="0" value="0" />
+ <value cell_index="28315" local_entity="0" value="0" />
+ <value cell_index="28316" local_entity="0" value="0" />
+ <value cell_index="28317" local_entity="0" value="0" />
+ <value cell_index="28318" local_entity="0" value="0" />
+ <value cell_index="28319" local_entity="0" value="0" />
+ <value cell_index="28320" local_entity="0" value="0" />
+ <value cell_index="28321" local_entity="0" value="0" />
+ <value cell_index="28322" local_entity="0" value="0" />
+ <value cell_index="28323" local_entity="0" value="0" />
+ <value cell_index="28324" local_entity="0" value="0" />
+ <value cell_index="28325" local_entity="0" value="0" />
+ <value cell_index="28326" local_entity="0" value="0" />
+ <value cell_index="28327" local_entity="0" value="0" />
+ <value cell_index="28328" local_entity="0" value="0" />
+ <value cell_index="28329" local_entity="0" value="0" />
+ <value cell_index="28330" local_entity="0" value="0" />
+ <value cell_index="28331" local_entity="0" value="0" />
+ <value cell_index="28332" local_entity="0" value="0" />
+ <value cell_index="28333" local_entity="0" value="0" />
+ <value cell_index="28334" local_entity="0" value="0" />
+ <value cell_index="28335" local_entity="0" value="0" />
+ <value cell_index="28336" local_entity="0" value="0" />
+ <value cell_index="28337" local_entity="0" value="0" />
+ <value cell_index="28338" local_entity="0" value="0" />
+ <value cell_index="28339" local_entity="0" value="0" />
+ <value cell_index="28340" local_entity="0" value="0" />
+ <value cell_index="28341" local_entity="0" value="0" />
+ <value cell_index="28342" local_entity="0" value="0" />
+ <value cell_index="28343" local_entity="0" value="0" />
+ <value cell_index="28344" local_entity="0" value="0" />
+ <value cell_index="28345" local_entity="0" value="0" />
+ <value cell_index="28346" local_entity="0" value="0" />
+ <value cell_index="28347" local_entity="0" value="0" />
+ <value cell_index="28348" local_entity="0" value="0" />
+ <value cell_index="28349" local_entity="0" value="0" />
+ <value cell_index="28350" local_entity="0" value="0" />
+ <value cell_index="28351" local_entity="0" value="0" />
+ <value cell_index="28352" local_entity="0" value="0" />
+ <value cell_index="28353" local_entity="0" value="0" />
+ <value cell_index="28354" local_entity="0" value="0" />
+ <value cell_index="28355" local_entity="0" value="0" />
+ <value cell_index="28356" local_entity="0" value="0" />
+ <value cell_index="28357" local_entity="0" value="0" />
+ <value cell_index="28358" local_entity="0" value="0" />
+ <value cell_index="28359" local_entity="0" value="0" />
+ <value cell_index="28360" local_entity="0" value="0" />
+ <value cell_index="28361" local_entity="0" value="0" />
+ <value cell_index="28362" local_entity="0" value="0" />
+ <value cell_index="28363" local_entity="0" value="0" />
+ <value cell_index="28364" local_entity="0" value="0" />
+ <value cell_index="28365" local_entity="0" value="0" />
+ <value cell_index="28366" local_entity="0" value="0" />
+ <value cell_index="28367" local_entity="0" value="0" />
+ <value cell_index="28368" local_entity="0" value="0" />
+ <value cell_index="28369" local_entity="0" value="0" />
+ <value cell_index="28370" local_entity="0" value="0" />
+ <value cell_index="28371" local_entity="0" value="0" />
+ <value cell_index="28372" local_entity="0" value="0" />
+ <value cell_index="28373" local_entity="0" value="0" />
+ <value cell_index="28374" local_entity="0" value="0" />
+ <value cell_index="28375" local_entity="0" value="0" />
+ <value cell_index="28376" local_entity="0" value="0" />
+ <value cell_index="28377" local_entity="0" value="0" />
+ <value cell_index="28378" local_entity="0" value="0" />
+ <value cell_index="28379" local_entity="0" value="0" />
+ <value cell_index="28380" local_entity="0" value="0" />
+ <value cell_index="28381" local_entity="0" value="0" />
+ <value cell_index="28382" local_entity="0" value="0" />
+ <value cell_index="28383" local_entity="0" value="0" />
+ <value cell_index="28384" local_entity="0" value="0" />
+ <value cell_index="28385" local_entity="0" value="0" />
+ <value cell_index="28386" local_entity="0" value="0" />
+ <value cell_index="28387" local_entity="0" value="0" />
+ <value cell_index="28388" local_entity="0" value="0" />
+ <value cell_index="28389" local_entity="0" value="0" />
+ <value cell_index="28390" local_entity="0" value="0" />
+ <value cell_index="28391" local_entity="0" value="0" />
+ <value cell_index="28392" local_entity="0" value="0" />
+ <value cell_index="28393" local_entity="0" value="0" />
+ <value cell_index="28394" local_entity="0" value="0" />
+ <value cell_index="28395" local_entity="0" value="0" />
+ <value cell_index="28396" local_entity="0" value="0" />
+ <value cell_index="28397" local_entity="0" value="0" />
+ <value cell_index="28398" local_entity="0" value="0" />
+ <value cell_index="28399" local_entity="0" value="0" />
+ <value cell_index="28400" local_entity="0" value="0" />
+ <value cell_index="28401" local_entity="0" value="0" />
+ <value cell_index="28402" local_entity="0" value="0" />
+ <value cell_index="28403" local_entity="0" value="0" />
+ <value cell_index="28404" local_entity="0" value="0" />
+ <value cell_index="28405" local_entity="0" value="0" />
+ <value cell_index="28406" local_entity="0" value="0" />
+ <value cell_index="28407" local_entity="0" value="0" />
+ <value cell_index="28408" local_entity="0" value="0" />
+ <value cell_index="28409" local_entity="0" value="0" />
+ <value cell_index="28410" local_entity="0" value="0" />
+ <value cell_index="28411" local_entity="0" value="0" />
+ <value cell_index="28412" local_entity="0" value="0" />
+ <value cell_index="28413" local_entity="0" value="0" />
+ <value cell_index="28414" local_entity="0" value="0" />
+ <value cell_index="28415" local_entity="0" value="0" />
+ <value cell_index="28416" local_entity="0" value="0" />
+ <value cell_index="28417" local_entity="0" value="0" />
+ <value cell_index="28418" local_entity="0" value="0" />
+ <value cell_index="28419" local_entity="0" value="0" />
+ <value cell_index="28420" local_entity="0" value="0" />
+ <value cell_index="28421" local_entity="0" value="0" />
+ <value cell_index="28422" local_entity="0" value="0" />
+ <value cell_index="28423" local_entity="0" value="0" />
+ <value cell_index="28424" local_entity="0" value="0" />
+ <value cell_index="28425" local_entity="0" value="0" />
+ <value cell_index="28426" local_entity="0" value="0" />
+ <value cell_index="28427" local_entity="0" value="0" />
+ <value cell_index="28428" local_entity="0" value="0" />
+ <value cell_index="28429" local_entity="0" value="0" />
+ <value cell_index="28430" local_entity="0" value="0" />
+ <value cell_index="28431" local_entity="0" value="0" />
+ <value cell_index="28432" local_entity="0" value="0" />
+ <value cell_index="28433" local_entity="0" value="0" />
+ <value cell_index="28434" local_entity="0" value="0" />
+ <value cell_index="28435" local_entity="0" value="0" />
+ <value cell_index="28436" local_entity="0" value="0" />
+ <value cell_index="28437" local_entity="0" value="0" />
+ <value cell_index="28438" local_entity="0" value="0" />
+ <value cell_index="28439" local_entity="0" value="0" />
+ <value cell_index="28440" local_entity="0" value="0" />
+ <value cell_index="28441" local_entity="0" value="0" />
+ <value cell_index="28442" local_entity="0" value="0" />
+ <value cell_index="28443" local_entity="0" value="0" />
+ <value cell_index="28444" local_entity="0" value="0" />
+ <value cell_index="28445" local_entity="0" value="0" />
+ <value cell_index="28446" local_entity="0" value="0" />
+ <value cell_index="28447" local_entity="0" value="0" />
+ <value cell_index="28448" local_entity="0" value="0" />
+ <value cell_index="28449" local_entity="0" value="0" />
+ <value cell_index="28450" local_entity="0" value="0" />
+ <value cell_index="28451" local_entity="0" value="0" />
+ <value cell_index="28452" local_entity="0" value="0" />
+ <value cell_index="28453" local_entity="0" value="0" />
+ <value cell_index="28454" local_entity="0" value="0" />
+ <value cell_index="28455" local_entity="0" value="0" />
+ <value cell_index="28456" local_entity="0" value="0" />
+ <value cell_index="28457" local_entity="0" value="0" />
+ <value cell_index="28458" local_entity="0" value="0" />
+ <value cell_index="28459" local_entity="0" value="0" />
+ <value cell_index="28460" local_entity="0" value="0" />
+ <value cell_index="28461" local_entity="0" value="0" />
+ <value cell_index="28462" local_entity="0" value="0" />
+ <value cell_index="28463" local_entity="0" value="0" />
+ <value cell_index="28464" local_entity="0" value="0" />
+ <value cell_index="28465" local_entity="0" value="0" />
+ <value cell_index="28466" local_entity="0" value="0" />
+ <value cell_index="28467" local_entity="0" value="0" />
+ <value cell_index="28468" local_entity="0" value="0" />
+ <value cell_index="28469" local_entity="0" value="0" />
+ <value cell_index="28470" local_entity="0" value="0" />
+ <value cell_index="28471" local_entity="0" value="0" />
+ <value cell_index="28472" local_entity="0" value="0" />
+ <value cell_index="28473" local_entity="0" value="0" />
+ <value cell_index="28474" local_entity="0" value="0" />
+ <value cell_index="28475" local_entity="0" value="0" />
+ <value cell_index="28476" local_entity="0" value="0" />
+ <value cell_index="28477" local_entity="0" value="0" />
+ <value cell_index="28478" local_entity="0" value="0" />
+ <value cell_index="28479" local_entity="0" value="0" />
+ <value cell_index="28480" local_entity="0" value="0" />
+ <value cell_index="28481" local_entity="0" value="0" />
+ <value cell_index="28482" local_entity="0" value="0" />
+ <value cell_index="28483" local_entity="0" value="0" />
+ <value cell_index="28484" local_entity="0" value="0" />
+ <value cell_index="28485" local_entity="0" value="0" />
+ <value cell_index="28486" local_entity="0" value="0" />
+ <value cell_index="28487" local_entity="0" value="0" />
+ <value cell_index="28488" local_entity="0" value="0" />
+ <value cell_index="28489" local_entity="0" value="0" />
+ <value cell_index="28490" local_entity="0" value="0" />
+ <value cell_index="28491" local_entity="0" value="0" />
+ <value cell_index="28492" local_entity="0" value="0" />
+ <value cell_index="28493" local_entity="0" value="0" />
+ <value cell_index="28494" local_entity="0" value="0" />
+ <value cell_index="28495" local_entity="0" value="0" />
+ <value cell_index="28496" local_entity="0" value="0" />
+ <value cell_index="28497" local_entity="0" value="0" />
+ <value cell_index="28498" local_entity="0" value="0" />
+ <value cell_index="28499" local_entity="0" value="0" />
+ <value cell_index="28500" local_entity="0" value="0" />
+ <value cell_index="28501" local_entity="0" value="0" />
+ <value cell_index="28502" local_entity="0" value="0" />
+ <value cell_index="28503" local_entity="0" value="0" />
+ <value cell_index="28504" local_entity="0" value="0" />
+ <value cell_index="28505" local_entity="0" value="0" />
+ <value cell_index="28506" local_entity="0" value="0" />
+ <value cell_index="28507" local_entity="0" value="0" />
+ <value cell_index="28508" local_entity="0" value="0" />
+ <value cell_index="28509" local_entity="0" value="0" />
+ <value cell_index="28510" local_entity="0" value="0" />
+ <value cell_index="28511" local_entity="0" value="0" />
+ <value cell_index="28512" local_entity="0" value="0" />
+ <value cell_index="28513" local_entity="0" value="0" />
+ <value cell_index="28514" local_entity="0" value="0" />
+ <value cell_index="28515" local_entity="0" value="0" />
+ <value cell_index="28516" local_entity="0" value="0" />
+ <value cell_index="28517" local_entity="0" value="0" />
+ <value cell_index="28518" local_entity="0" value="0" />
+ <value cell_index="28519" local_entity="0" value="0" />
+ <value cell_index="28520" local_entity="0" value="0" />
+ <value cell_index="28521" local_entity="0" value="0" />
+ <value cell_index="28522" local_entity="0" value="0" />
+ <value cell_index="28523" local_entity="0" value="0" />
+ <value cell_index="28524" local_entity="0" value="0" />
+ <value cell_index="28525" local_entity="0" value="0" />
+ <value cell_index="28526" local_entity="0" value="0" />
+ <value cell_index="28527" local_entity="0" value="0" />
+ <value cell_index="28528" local_entity="0" value="0" />
+ <value cell_index="28529" local_entity="0" value="0" />
+ <value cell_index="28530" local_entity="0" value="0" />
+ <value cell_index="28531" local_entity="0" value="0" />
+ <value cell_index="28532" local_entity="0" value="0" />
+ <value cell_index="28533" local_entity="0" value="0" />
+ <value cell_index="28534" local_entity="0" value="0" />
+ <value cell_index="28535" local_entity="0" value="0" />
+ <value cell_index="28536" local_entity="0" value="0" />
+ <value cell_index="28537" local_entity="0" value="0" />
+ <value cell_index="28538" local_entity="0" value="0" />
+ <value cell_index="28539" local_entity="0" value="0" />
+ <value cell_index="28540" local_entity="0" value="0" />
+ <value cell_index="28541" local_entity="0" value="0" />
+ <value cell_index="28542" local_entity="0" value="0" />
+ <value cell_index="28543" local_entity="0" value="0" />
+ <value cell_index="28544" local_entity="0" value="0" />
+ <value cell_index="28545" local_entity="0" value="0" />
+ <value cell_index="28546" local_entity="0" value="0" />
+ <value cell_index="28547" local_entity="0" value="0" />
+ <value cell_index="28548" local_entity="0" value="0" />
+ <value cell_index="28549" local_entity="0" value="0" />
+ <value cell_index="28550" local_entity="0" value="0" />
+ <value cell_index="28551" local_entity="0" value="0" />
+ <value cell_index="28552" local_entity="0" value="0" />
+ <value cell_index="28553" local_entity="0" value="0" />
+ <value cell_index="28554" local_entity="0" value="0" />
+ <value cell_index="28555" local_entity="0" value="0" />
+ <value cell_index="28556" local_entity="0" value="0" />
+ <value cell_index="28557" local_entity="0" value="0" />
+ <value cell_index="28558" local_entity="0" value="0" />
+ <value cell_index="28559" local_entity="0" value="0" />
+ <value cell_index="28560" local_entity="0" value="0" />
+ <value cell_index="28561" local_entity="0" value="0" />
+ <value cell_index="28562" local_entity="0" value="0" />
+ <value cell_index="28563" local_entity="0" value="0" />
+ <value cell_index="28564" local_entity="0" value="0" />
+ <value cell_index="28565" local_entity="0" value="0" />
+ <value cell_index="28566" local_entity="0" value="0" />
+ <value cell_index="28567" local_entity="0" value="0" />
+ <value cell_index="28568" local_entity="0" value="0" />
+ <value cell_index="28569" local_entity="0" value="0" />
+ <value cell_index="28570" local_entity="0" value="0" />
+ <value cell_index="28571" local_entity="0" value="0" />
+ <value cell_index="28572" local_entity="0" value="0" />
+ <value cell_index="28573" local_entity="0" value="0" />
+ <value cell_index="28574" local_entity="0" value="0" />
+ <value cell_index="28575" local_entity="0" value="0" />
+ <value cell_index="28576" local_entity="0" value="0" />
+ <value cell_index="28577" local_entity="0" value="0" />
+ <value cell_index="28578" local_entity="0" value="0" />
+ <value cell_index="28579" local_entity="0" value="0" />
+ <value cell_index="28580" local_entity="0" value="0" />
+ <value cell_index="28581" local_entity="0" value="0" />
+ <value cell_index="28582" local_entity="0" value="0" />
+ <value cell_index="28583" local_entity="0" value="0" />
+ <value cell_index="28584" local_entity="0" value="0" />
+ <value cell_index="28585" local_entity="0" value="0" />
+ <value cell_index="28586" local_entity="0" value="0" />
+ <value cell_index="28587" local_entity="0" value="0" />
+ <value cell_index="28588" local_entity="0" value="0" />
+ <value cell_index="28589" local_entity="0" value="0" />
+ <value cell_index="28590" local_entity="0" value="0" />
+ <value cell_index="28591" local_entity="0" value="0" />
+ <value cell_index="28592" local_entity="0" value="0" />
+ <value cell_index="28593" local_entity="0" value="0" />
+ <value cell_index="28594" local_entity="0" value="0" />
+ <value cell_index="28595" local_entity="0" value="0" />
+ <value cell_index="28596" local_entity="0" value="0" />
+ <value cell_index="28597" local_entity="0" value="0" />
+ <value cell_index="28598" local_entity="0" value="0" />
+ <value cell_index="28599" local_entity="0" value="0" />
+ <value cell_index="28600" local_entity="0" value="0" />
+ <value cell_index="28601" local_entity="0" value="0" />
+ <value cell_index="28602" local_entity="0" value="0" />
+ <value cell_index="28603" local_entity="0" value="0" />
+ <value cell_index="28604" local_entity="0" value="0" />
+ <value cell_index="28605" local_entity="0" value="0" />
+ <value cell_index="28606" local_entity="0" value="0" />
+ <value cell_index="28607" local_entity="0" value="0" />
+ <value cell_index="28608" local_entity="0" value="0" />
+ <value cell_index="28609" local_entity="0" value="0" />
+ <value cell_index="28610" local_entity="0" value="0" />
+ <value cell_index="28611" local_entity="0" value="0" />
+ <value cell_index="28612" local_entity="0" value="0" />
+ <value cell_index="28613" local_entity="0" value="0" />
+ <value cell_index="28614" local_entity="0" value="0" />
+ <value cell_index="28615" local_entity="0" value="0" />
+ <value cell_index="28616" local_entity="0" value="0" />
+ <value cell_index="28617" local_entity="0" value="0" />
+ <value cell_index="28618" local_entity="0" value="0" />
+ <value cell_index="28619" local_entity="0" value="0" />
+ <value cell_index="28620" local_entity="0" value="0" />
+ <value cell_index="28621" local_entity="0" value="0" />
+ <value cell_index="28622" local_entity="0" value="0" />
+ <value cell_index="28623" local_entity="0" value="0" />
+ <value cell_index="28624" local_entity="0" value="0" />
+ <value cell_index="28625" local_entity="0" value="0" />
+ <value cell_index="28626" local_entity="0" value="0" />
+ <value cell_index="28627" local_entity="0" value="0" />
+ <value cell_index="28628" local_entity="0" value="0" />
+ <value cell_index="28629" local_entity="0" value="0" />
+ <value cell_index="28630" local_entity="0" value="0" />
+ <value cell_index="28631" local_entity="0" value="0" />
+ <value cell_index="28632" local_entity="0" value="0" />
+ <value cell_index="28633" local_entity="0" value="0" />
+ <value cell_index="28634" local_entity="0" value="0" />
+ <value cell_index="28635" local_entity="0" value="0" />
+ <value cell_index="28636" local_entity="0" value="0" />
+ <value cell_index="28637" local_entity="0" value="0" />
+ <value cell_index="28638" local_entity="0" value="0" />
+ <value cell_index="28639" local_entity="0" value="0" />
+ <value cell_index="28640" local_entity="0" value="0" />
+ <value cell_index="28641" local_entity="0" value="0" />
+ <value cell_index="28642" local_entity="0" value="0" />
+ <value cell_index="28643" local_entity="0" value="0" />
+ <value cell_index="28644" local_entity="0" value="0" />
+ <value cell_index="28645" local_entity="0" value="0" />
+ <value cell_index="28646" local_entity="0" value="0" />
+ <value cell_index="28647" local_entity="0" value="0" />
+ <value cell_index="28648" local_entity="0" value="0" />
+ <value cell_index="28649" local_entity="0" value="0" />
+ <value cell_index="28650" local_entity="0" value="0" />
+ <value cell_index="28651" local_entity="0" value="0" />
+ <value cell_index="28652" local_entity="0" value="0" />
+ <value cell_index="28653" local_entity="0" value="0" />
+ <value cell_index="28654" local_entity="0" value="0" />
+ <value cell_index="28655" local_entity="0" value="0" />
+ <value cell_index="28656" local_entity="0" value="0" />
+ <value cell_index="28657" local_entity="0" value="0" />
+ <value cell_index="28658" local_entity="0" value="0" />
+ <value cell_index="28659" local_entity="0" value="0" />
+ <value cell_index="28660" local_entity="0" value="0" />
+ <value cell_index="28661" local_entity="0" value="0" />
+ <value cell_index="28662" local_entity="0" value="0" />
+ <value cell_index="28663" local_entity="0" value="0" />
+ <value cell_index="28664" local_entity="0" value="0" />
+ <value cell_index="28665" local_entity="0" value="0" />
+ <value cell_index="28666" local_entity="0" value="0" />
+ <value cell_index="28667" local_entity="0" value="0" />
+ <value cell_index="28668" local_entity="0" value="0" />
+ <value cell_index="28669" local_entity="0" value="0" />
+ <value cell_index="28670" local_entity="0" value="0" />
+ <value cell_index="28671" local_entity="0" value="0" />
+ <value cell_index="28672" local_entity="0" value="0" />
+ <value cell_index="28673" local_entity="0" value="0" />
+ <value cell_index="28674" local_entity="0" value="0" />
+ <value cell_index="28675" local_entity="0" value="0" />
+ <value cell_index="28676" local_entity="0" value="0" />
+ <value cell_index="28677" local_entity="0" value="0" />
+ <value cell_index="28678" local_entity="0" value="0" />
+ <value cell_index="28679" local_entity="0" value="0" />
+ <value cell_index="28680" local_entity="0" value="0" />
+ <value cell_index="28681" local_entity="0" value="0" />
+ <value cell_index="28682" local_entity="0" value="0" />
+ <value cell_index="28683" local_entity="0" value="0" />
+ <value cell_index="28684" local_entity="0" value="0" />
+ <value cell_index="28685" local_entity="0" value="0" />
+ <value cell_index="28686" local_entity="0" value="0" />
+ <value cell_index="28687" local_entity="0" value="0" />
+ <value cell_index="28688" local_entity="0" value="0" />
+ <value cell_index="28689" local_entity="0" value="0" />
+ <value cell_index="28690" local_entity="0" value="0" />
+ <value cell_index="28691" local_entity="0" value="0" />
+ <value cell_index="28692" local_entity="0" value="0" />
+ <value cell_index="28693" local_entity="0" value="0" />
+ <value cell_index="28694" local_entity="0" value="0" />
+ <value cell_index="28695" local_entity="0" value="0" />
+ <value cell_index="28696" local_entity="0" value="0" />
+ <value cell_index="28697" local_entity="0" value="0" />
+ <value cell_index="28698" local_entity="0" value="0" />
+ <value cell_index="28699" local_entity="0" value="0" />
+ <value cell_index="28700" local_entity="0" value="0" />
+ <value cell_index="28701" local_entity="0" value="0" />
+ <value cell_index="28702" local_entity="0" value="0" />
+ <value cell_index="28703" local_entity="0" value="0" />
+ <value cell_index="28704" local_entity="0" value="0" />
+ <value cell_index="28705" local_entity="0" value="0" />
+ <value cell_index="28706" local_entity="0" value="0" />
+ <value cell_index="28707" local_entity="0" value="0" />
+ <value cell_index="28708" local_entity="0" value="0" />
+ <value cell_index="28709" local_entity="0" value="0" />
+ <value cell_index="28710" local_entity="0" value="0" />
+ <value cell_index="28711" local_entity="0" value="0" />
+ <value cell_index="28712" local_entity="0" value="0" />
+ <value cell_index="28713" local_entity="0" value="0" />
+ <value cell_index="28714" local_entity="0" value="0" />
+ <value cell_index="28715" local_entity="0" value="0" />
+ <value cell_index="28716" local_entity="0" value="0" />
+ <value cell_index="28717" local_entity="0" value="0" />
+ <value cell_index="28718" local_entity="0" value="0" />
+ <value cell_index="28719" local_entity="0" value="0" />
+ <value cell_index="28720" local_entity="0" value="0" />
+ <value cell_index="28721" local_entity="0" value="0" />
+ <value cell_index="28722" local_entity="0" value="0" />
+ <value cell_index="28723" local_entity="0" value="0" />
+ <value cell_index="28724" local_entity="0" value="0" />
+ <value cell_index="28725" local_entity="0" value="0" />
+ <value cell_index="28726" local_entity="0" value="0" />
+ <value cell_index="28727" local_entity="0" value="0" />
+ <value cell_index="28728" local_entity="0" value="0" />
+ <value cell_index="28729" local_entity="0" value="0" />
+ <value cell_index="28730" local_entity="0" value="0" />
+ <value cell_index="28731" local_entity="0" value="0" />
+ <value cell_index="28732" local_entity="0" value="0" />
+ <value cell_index="28733" local_entity="0" value="0" />
+ <value cell_index="28734" local_entity="0" value="0" />
+ <value cell_index="28735" local_entity="0" value="0" />
+ <value cell_index="28736" local_entity="0" value="0" />
+ <value cell_index="28737" local_entity="0" value="0" />
+ <value cell_index="28738" local_entity="0" value="0" />
+ <value cell_index="28739" local_entity="0" value="0" />
+ <value cell_index="28740" local_entity="0" value="0" />
+ <value cell_index="28741" local_entity="0" value="0" />
+ <value cell_index="28742" local_entity="0" value="0" />
+ <value cell_index="28743" local_entity="0" value="0" />
+ <value cell_index="28744" local_entity="0" value="0" />
+ <value cell_index="28745" local_entity="0" value="0" />
+ <value cell_index="28746" local_entity="0" value="0" />
+ <value cell_index="28747" local_entity="0" value="0" />
+ <value cell_index="28748" local_entity="0" value="0" />
+ <value cell_index="28749" local_entity="0" value="0" />
+ <value cell_index="28750" local_entity="0" value="0" />
+ <value cell_index="28751" local_entity="0" value="0" />
+ <value cell_index="28752" local_entity="0" value="0" />
+ <value cell_index="28753" local_entity="0" value="0" />
+ <value cell_index="28754" local_entity="0" value="0" />
+ <value cell_index="28755" local_entity="0" value="0" />
+ <value cell_index="28756" local_entity="0" value="0" />
+ <value cell_index="28757" local_entity="0" value="0" />
+ <value cell_index="28758" local_entity="0" value="0" />
+ <value cell_index="28759" local_entity="0" value="0" />
+ <value cell_index="28760" local_entity="0" value="0" />
+ <value cell_index="28761" local_entity="0" value="0" />
+ <value cell_index="28762" local_entity="0" value="0" />
+ <value cell_index="28763" local_entity="0" value="0" />
+ <value cell_index="28764" local_entity="0" value="0" />
+ <value cell_index="28765" local_entity="0" value="0" />
+ <value cell_index="28766" local_entity="0" value="0" />
+ <value cell_index="28767" local_entity="0" value="0" />
+ <value cell_index="28768" local_entity="0" value="0" />
+ <value cell_index="28769" local_entity="0" value="0" />
+ <value cell_index="28770" local_entity="0" value="0" />
+ <value cell_index="28771" local_entity="0" value="0" />
+ <value cell_index="28772" local_entity="0" value="0" />
+ <value cell_index="28773" local_entity="0" value="0" />
+ <value cell_index="28774" local_entity="0" value="0" />
+ <value cell_index="28775" local_entity="0" value="0" />
+ <value cell_index="28776" local_entity="0" value="0" />
+ <value cell_index="28777" local_entity="0" value="0" />
+ <value cell_index="28778" local_entity="0" value="0" />
+ <value cell_index="28779" local_entity="0" value="0" />
+ <value cell_index="28780" local_entity="0" value="0" />
+ <value cell_index="28781" local_entity="0" value="0" />
+ <value cell_index="28782" local_entity="0" value="0" />
+ <value cell_index="28783" local_entity="0" value="0" />
+ <value cell_index="28784" local_entity="0" value="0" />
+ <value cell_index="28785" local_entity="0" value="0" />
+ <value cell_index="28786" local_entity="0" value="0" />
+ <value cell_index="28787" local_entity="0" value="0" />
+ <value cell_index="28788" local_entity="0" value="0" />
+ <value cell_index="28789" local_entity="0" value="0" />
+ <value cell_index="28790" local_entity="0" value="0" />
+ <value cell_index="28791" local_entity="0" value="0" />
+ <value cell_index="28792" local_entity="0" value="0" />
+ <value cell_index="28793" local_entity="0" value="0" />
+ <value cell_index="28794" local_entity="0" value="0" />
+ <value cell_index="28795" local_entity="0" value="0" />
+ <value cell_index="28796" local_entity="0" value="0" />
+ <value cell_index="28797" local_entity="0" value="0" />
+ <value cell_index="28798" local_entity="0" value="0" />
+ <value cell_index="28799" local_entity="0" value="0" />
+ <value cell_index="28800" local_entity="0" value="0" />
+ <value cell_index="28801" local_entity="0" value="0" />
+ <value cell_index="28802" local_entity="0" value="0" />
+ <value cell_index="28803" local_entity="0" value="0" />
+ <value cell_index="28804" local_entity="0" value="0" />
+ <value cell_index="28805" local_entity="0" value="0" />
+ <value cell_index="28806" local_entity="0" value="0" />
+ <value cell_index="28807" local_entity="0" value="0" />
+ <value cell_index="28808" local_entity="0" value="0" />
+ <value cell_index="28809" local_entity="0" value="0" />
+ <value cell_index="28810" local_entity="0" value="0" />
+ <value cell_index="28811" local_entity="0" value="0" />
+ <value cell_index="28812" local_entity="0" value="0" />
+ <value cell_index="28813" local_entity="0" value="0" />
+ <value cell_index="28814" local_entity="0" value="0" />
+ <value cell_index="28815" local_entity="0" value="0" />
+ <value cell_index="28816" local_entity="0" value="0" />
+ <value cell_index="28817" local_entity="0" value="0" />
+ <value cell_index="28818" local_entity="0" value="0" />
+ <value cell_index="28819" local_entity="0" value="0" />
+ <value cell_index="28820" local_entity="0" value="0" />
+ <value cell_index="28821" local_entity="0" value="0" />
+ <value cell_index="28822" local_entity="0" value="0" />
+ <value cell_index="28823" local_entity="0" value="0" />
+ <value cell_index="28824" local_entity="0" value="0" />
+ <value cell_index="28825" local_entity="0" value="0" />
+ <value cell_index="28826" local_entity="0" value="0" />
+ <value cell_index="28827" local_entity="0" value="0" />
+ <value cell_index="28828" local_entity="0" value="0" />
+ <value cell_index="28829" local_entity="0" value="0" />
+ <value cell_index="28830" local_entity="0" value="0" />
+ <value cell_index="28831" local_entity="0" value="0" />
+ <value cell_index="28832" local_entity="0" value="0" />
+ <value cell_index="28833" local_entity="0" value="0" />
+ <value cell_index="28834" local_entity="0" value="0" />
+ <value cell_index="28835" local_entity="0" value="0" />
+ <value cell_index="28836" local_entity="0" value="0" />
+ <value cell_index="28837" local_entity="0" value="0" />
+ <value cell_index="28838" local_entity="0" value="0" />
+ <value cell_index="28839" local_entity="0" value="0" />
+ <value cell_index="28840" local_entity="0" value="0" />
+ <value cell_index="28841" local_entity="0" value="0" />
+ <value cell_index="28842" local_entity="0" value="0" />
+ <value cell_index="28843" local_entity="0" value="0" />
+ <value cell_index="28844" local_entity="0" value="0" />
+ <value cell_index="28845" local_entity="0" value="0" />
+ <value cell_index="28846" local_entity="0" value="0" />
+ <value cell_index="28847" local_entity="0" value="0" />
+ <value cell_index="28848" local_entity="0" value="0" />
+ <value cell_index="28849" local_entity="0" value="0" />
+ <value cell_index="28850" local_entity="0" value="0" />
+ <value cell_index="28851" local_entity="0" value="0" />
+ <value cell_index="28852" local_entity="0" value="0" />
+ <value cell_index="28853" local_entity="0" value="0" />
+ <value cell_index="28854" local_entity="0" value="0" />
+ <value cell_index="28855" local_entity="0" value="0" />
+ <value cell_index="28856" local_entity="0" value="0" />
+ <value cell_index="28857" local_entity="0" value="0" />
+ <value cell_index="28858" local_entity="0" value="0" />
+ <value cell_index="28859" local_entity="0" value="0" />
+ <value cell_index="28860" local_entity="0" value="0" />
+ <value cell_index="28861" local_entity="0" value="0" />
+ <value cell_index="28862" local_entity="0" value="0" />
+ <value cell_index="28863" local_entity="0" value="0" />
+ <value cell_index="28864" local_entity="0" value="0" />
+ <value cell_index="28865" local_entity="0" value="0" />
+ <value cell_index="28866" local_entity="0" value="0" />
+ <value cell_index="28867" local_entity="0" value="0" />
+ <value cell_index="28868" local_entity="0" value="0" />
+ <value cell_index="28869" local_entity="0" value="0" />
+ <value cell_index="28870" local_entity="0" value="0" />
+ <value cell_index="28871" local_entity="0" value="0" />
+ <value cell_index="28872" local_entity="0" value="0" />
+ <value cell_index="28873" local_entity="0" value="0" />
+ <value cell_index="28874" local_entity="0" value="0" />
+ <value cell_index="28875" local_entity="0" value="0" />
+ <value cell_index="28876" local_entity="0" value="0" />
+ <value cell_index="28877" local_entity="0" value="0" />
+ <value cell_index="28878" local_entity="0" value="0" />
+ <value cell_index="28879" local_entity="0" value="0" />
+ <value cell_index="28880" local_entity="0" value="0" />
+ <value cell_index="28881" local_entity="0" value="0" />
+ <value cell_index="28882" local_entity="0" value="0" />
+ <value cell_index="28883" local_entity="0" value="0" />
+ <value cell_index="28884" local_entity="0" value="0" />
+ <value cell_index="28885" local_entity="0" value="0" />
+ <value cell_index="28886" local_entity="0" value="0" />
+ <value cell_index="28887" local_entity="0" value="0" />
+ <value cell_index="28888" local_entity="0" value="0" />
+ <value cell_index="28889" local_entity="0" value="0" />
+ <value cell_index="28890" local_entity="0" value="0" />
+ <value cell_index="28891" local_entity="0" value="0" />
+ <value cell_index="28892" local_entity="0" value="0" />
+ <value cell_index="28893" local_entity="0" value="0" />
+ <value cell_index="28894" local_entity="0" value="0" />
+ <value cell_index="28895" local_entity="0" value="0" />
+ <value cell_index="28896" local_entity="0" value="0" />
+ <value cell_index="28897" local_entity="0" value="0" />
+ <value cell_index="28898" local_entity="0" value="0" />
+ <value cell_index="28899" local_entity="0" value="0" />
+ <value cell_index="28900" local_entity="0" value="0" />
+ <value cell_index="28901" local_entity="0" value="0" />
+ <value cell_index="28902" local_entity="0" value="0" />
+ <value cell_index="28903" local_entity="0" value="0" />
+ <value cell_index="28904" local_entity="0" value="0" />
+ <value cell_index="28905" local_entity="0" value="0" />
+ <value cell_index="28906" local_entity="0" value="0" />
+ <value cell_index="28907" local_entity="0" value="0" />
+ <value cell_index="28908" local_entity="0" value="0" />
+ <value cell_index="28909" local_entity="0" value="0" />
+ <value cell_index="28910" local_entity="0" value="0" />
+ <value cell_index="28911" local_entity="0" value="0" />
+ <value cell_index="28912" local_entity="0" value="0" />
+ <value cell_index="28913" local_entity="0" value="0" />
+ <value cell_index="28914" local_entity="0" value="0" />
+ <value cell_index="28915" local_entity="0" value="0" />
+ <value cell_index="28916" local_entity="0" value="0" />
+ <value cell_index="28917" local_entity="0" value="0" />
+ <value cell_index="28918" local_entity="0" value="0" />
+ <value cell_index="28919" local_entity="0" value="0" />
+ <value cell_index="28920" local_entity="0" value="0" />
+ <value cell_index="28921" local_entity="0" value="0" />
+ <value cell_index="28922" local_entity="0" value="0" />
+ <value cell_index="28923" local_entity="0" value="0" />
+ <value cell_index="28924" local_entity="0" value="0" />
+ <value cell_index="28925" local_entity="0" value="0" />
+ <value cell_index="28926" local_entity="0" value="0" />
+ <value cell_index="28927" local_entity="0" value="0" />
+ <value cell_index="28928" local_entity="0" value="0" />
+ <value cell_index="28929" local_entity="0" value="0" />
+ <value cell_index="28930" local_entity="0" value="0" />
+ <value cell_index="28931" local_entity="0" value="0" />
+ <value cell_index="28932" local_entity="0" value="0" />
+ <value cell_index="28933" local_entity="0" value="0" />
+ <value cell_index="28934" local_entity="0" value="0" />
+ <value cell_index="28935" local_entity="0" value="0" />
+ <value cell_index="28936" local_entity="0" value="0" />
+ <value cell_index="28937" local_entity="0" value="0" />
+ <value cell_index="28938" local_entity="0" value="0" />
+ <value cell_index="28939" local_entity="0" value="0" />
+ <value cell_index="28940" local_entity="0" value="0" />
+ <value cell_index="28941" local_entity="0" value="0" />
+ <value cell_index="28942" local_entity="0" value="0" />
+ <value cell_index="28943" local_entity="0" value="0" />
+ <value cell_index="28944" local_entity="0" value="0" />
+ <value cell_index="28945" local_entity="0" value="0" />
+ <value cell_index="28946" local_entity="0" value="0" />
+ <value cell_index="28947" local_entity="0" value="0" />
+ <value cell_index="28948" local_entity="0" value="0" />
+ <value cell_index="28949" local_entity="0" value="0" />
+ <value cell_index="28950" local_entity="0" value="0" />
+ <value cell_index="28951" local_entity="0" value="0" />
+ <value cell_index="28952" local_entity="0" value="0" />
+ <value cell_index="28953" local_entity="0" value="0" />
+ <value cell_index="28954" local_entity="0" value="0" />
+ <value cell_index="28955" local_entity="0" value="0" />
+ <value cell_index="28956" local_entity="0" value="0" />
+ <value cell_index="28957" local_entity="0" value="0" />
+ <value cell_index="28958" local_entity="0" value="0" />
+ <value cell_index="28959" local_entity="0" value="0" />
+ <value cell_index="28960" local_entity="0" value="0" />
+ <value cell_index="28961" local_entity="0" value="0" />
+ <value cell_index="28962" local_entity="0" value="0" />
+ <value cell_index="28963" local_entity="0" value="0" />
+ <value cell_index="28964" local_entity="0" value="0" />
+ <value cell_index="28965" local_entity="0" value="0" />
+ <value cell_index="28966" local_entity="0" value="0" />
+ <value cell_index="28967" local_entity="0" value="0" />
+ <value cell_index="28968" local_entity="0" value="0" />
+ <value cell_index="28969" local_entity="0" value="0" />
+ <value cell_index="28970" local_entity="0" value="0" />
+ <value cell_index="28971" local_entity="0" value="0" />
+ <value cell_index="28972" local_entity="0" value="0" />
+ <value cell_index="28973" local_entity="0" value="0" />
+ <value cell_index="28974" local_entity="0" value="0" />
+ <value cell_index="28975" local_entity="0" value="0" />
+ <value cell_index="28976" local_entity="0" value="0" />
+ <value cell_index="28977" local_entity="0" value="0" />
+ <value cell_index="28978" local_entity="0" value="0" />
+ <value cell_index="28979" local_entity="0" value="0" />
+ <value cell_index="28980" local_entity="0" value="0" />
+ <value cell_index="28981" local_entity="0" value="0" />
+ <value cell_index="28982" local_entity="0" value="0" />
+ <value cell_index="28983" local_entity="0" value="0" />
+ <value cell_index="28984" local_entity="0" value="0" />
+ <value cell_index="28985" local_entity="0" value="0" />
+ <value cell_index="28986" local_entity="0" value="0" />
+ <value cell_index="28987" local_entity="0" value="0" />
+ <value cell_index="28988" local_entity="0" value="0" />
+ <value cell_index="28989" local_entity="0" value="0" />
+ <value cell_index="28990" local_entity="0" value="0" />
+ <value cell_index="28991" local_entity="0" value="0" />
+ <value cell_index="28992" local_entity="0" value="0" />
+ <value cell_index="28993" local_entity="0" value="0" />
+ <value cell_index="28994" local_entity="0" value="0" />
+ <value cell_index="28995" local_entity="0" value="0" />
+ <value cell_index="28996" local_entity="0" value="0" />
+ <value cell_index="28997" local_entity="0" value="0" />
+ <value cell_index="28998" local_entity="0" value="0" />
+ <value cell_index="28999" local_entity="0" value="0" />
+ <value cell_index="29000" local_entity="0" value="0" />
+ <value cell_index="29001" local_entity="0" value="0" />
+ <value cell_index="29002" local_entity="0" value="0" />
+ <value cell_index="29003" local_entity="0" value="0" />
+ <value cell_index="29004" local_entity="0" value="0" />
+ <value cell_index="29005" local_entity="0" value="0" />
+ <value cell_index="29006" local_entity="0" value="0" />
+ <value cell_index="29007" local_entity="0" value="0" />
+ <value cell_index="29008" local_entity="0" value="0" />
+ <value cell_index="29009" local_entity="0" value="0" />
+ <value cell_index="29010" local_entity="0" value="0" />
+ <value cell_index="29011" local_entity="0" value="0" />
+ <value cell_index="29012" local_entity="0" value="0" />
+ <value cell_index="29013" local_entity="0" value="0" />
+ <value cell_index="29014" local_entity="0" value="0" />
+ <value cell_index="29015" local_entity="0" value="0" />
+ <value cell_index="29016" local_entity="0" value="0" />
+ <value cell_index="29017" local_entity="0" value="0" />
+ <value cell_index="29018" local_entity="0" value="0" />
+ <value cell_index="29019" local_entity="0" value="0" />
+ <value cell_index="29020" local_entity="0" value="0" />
+ <value cell_index="29021" local_entity="0" value="0" />
+ <value cell_index="29022" local_entity="0" value="0" />
+ <value cell_index="29023" local_entity="0" value="0" />
+ <value cell_index="29024" local_entity="0" value="0" />
+ <value cell_index="29025" local_entity="0" value="0" />
+ <value cell_index="29026" local_entity="0" value="0" />
+ <value cell_index="29027" local_entity="0" value="0" />
+ <value cell_index="29028" local_entity="0" value="0" />
+ <value cell_index="29029" local_entity="0" value="0" />
+ <value cell_index="29030" local_entity="0" value="0" />
+ <value cell_index="29031" local_entity="0" value="0" />
+ <value cell_index="29032" local_entity="0" value="0" />
+ <value cell_index="29033" local_entity="0" value="0" />
+ <value cell_index="29034" local_entity="0" value="0" />
+ <value cell_index="29035" local_entity="0" value="0" />
+ <value cell_index="29036" local_entity="0" value="0" />
+ <value cell_index="29037" local_entity="0" value="0" />
+ <value cell_index="29038" local_entity="0" value="0" />
+ <value cell_index="29039" local_entity="0" value="0" />
+ <value cell_index="29040" local_entity="0" value="0" />
+ <value cell_index="29041" local_entity="0" value="0" />
+ <value cell_index="29042" local_entity="0" value="0" />
+ <value cell_index="29043" local_entity="0" value="0" />
+ <value cell_index="29044" local_entity="0" value="0" />
+ <value cell_index="29045" local_entity="0" value="0" />
+ <value cell_index="29046" local_entity="0" value="0" />
+ <value cell_index="29047" local_entity="0" value="0" />
+ <value cell_index="29048" local_entity="0" value="0" />
+ <value cell_index="29049" local_entity="0" value="0" />
+ <value cell_index="29050" local_entity="0" value="0" />
+ <value cell_index="29051" local_entity="0" value="0" />
+ <value cell_index="29052" local_entity="0" value="0" />
+ <value cell_index="29053" local_entity="0" value="0" />
+ <value cell_index="29054" local_entity="0" value="0" />
+ <value cell_index="29055" local_entity="0" value="0" />
+ <value cell_index="29056" local_entity="0" value="0" />
+ <value cell_index="29057" local_entity="0" value="0" />
+ <value cell_index="29058" local_entity="0" value="0" />
+ <value cell_index="29059" local_entity="0" value="0" />
+ <value cell_index="29060" local_entity="0" value="0" />
+ <value cell_index="29061" local_entity="0" value="0" />
+ <value cell_index="29062" local_entity="0" value="0" />
+ <value cell_index="29063" local_entity="0" value="0" />
+ <value cell_index="29064" local_entity="0" value="0" />
+ <value cell_index="29065" local_entity="0" value="0" />
+ <value cell_index="29066" local_entity="0" value="0" />
+ <value cell_index="29067" local_entity="0" value="0" />
+ <value cell_index="29068" local_entity="0" value="0" />
+ <value cell_index="29069" local_entity="0" value="0" />
+ <value cell_index="29070" local_entity="0" value="0" />
+ <value cell_index="29071" local_entity="0" value="0" />
+ <value cell_index="29072" local_entity="0" value="0" />
+ <value cell_index="29073" local_entity="0" value="0" />
+ <value cell_index="29074" local_entity="0" value="0" />
+ <value cell_index="29075" local_entity="0" value="0" />
+ <value cell_index="29076" local_entity="0" value="0" />
+ <value cell_index="29077" local_entity="0" value="0" />
+ <value cell_index="29078" local_entity="0" value="0" />
+ <value cell_index="29079" local_entity="0" value="0" />
+ <value cell_index="29080" local_entity="0" value="0" />
+ <value cell_index="29081" local_entity="0" value="0" />
+ <value cell_index="29082" local_entity="0" value="0" />
+ <value cell_index="29083" local_entity="0" value="0" />
+ <value cell_index="29084" local_entity="0" value="0" />
+ <value cell_index="29085" local_entity="0" value="0" />
+ <value cell_index="29086" local_entity="0" value="0" />
+ <value cell_index="29087" local_entity="0" value="0" />
+ <value cell_index="29088" local_entity="0" value="0" />
+ <value cell_index="29089" local_entity="0" value="0" />
+ <value cell_index="29090" local_entity="0" value="0" />
+ <value cell_index="29091" local_entity="0" value="0" />
+ <value cell_index="29092" local_entity="0" value="0" />
+ <value cell_index="29093" local_entity="0" value="0" />
+ <value cell_index="29094" local_entity="0" value="0" />
+ <value cell_index="29095" local_entity="0" value="0" />
+ <value cell_index="29096" local_entity="0" value="0" />
+ <value cell_index="29097" local_entity="0" value="0" />
+ <value cell_index="29098" local_entity="0" value="0" />
+ <value cell_index="29099" local_entity="0" value="0" />
+ <value cell_index="29100" local_entity="0" value="0" />
+ <value cell_index="29101" local_entity="0" value="0" />
+ <value cell_index="29102" local_entity="0" value="0" />
+ <value cell_index="29103" local_entity="0" value="0" />
+ <value cell_index="29104" local_entity="0" value="0" />
+ <value cell_index="29105" local_entity="0" value="0" />
+ <value cell_index="29106" local_entity="0" value="0" />
+ <value cell_index="29107" local_entity="0" value="0" />
+ <value cell_index="29108" local_entity="0" value="0" />
+ <value cell_index="29109" local_entity="0" value="0" />
+ <value cell_index="29110" local_entity="0" value="0" />
+ <value cell_index="29111" local_entity="0" value="0" />
+ <value cell_index="29112" local_entity="0" value="0" />
+ <value cell_index="29113" local_entity="0" value="0" />
+ <value cell_index="29114" local_entity="0" value="0" />
+ <value cell_index="29115" local_entity="0" value="0" />
+ <value cell_index="29116" local_entity="0" value="0" />
+ <value cell_index="29117" local_entity="0" value="0" />
+ <value cell_index="29118" local_entity="0" value="0" />
+ <value cell_index="29119" local_entity="0" value="0" />
+ <value cell_index="29120" local_entity="0" value="0" />
+ <value cell_index="29121" local_entity="0" value="0" />
+ <value cell_index="29122" local_entity="0" value="0" />
+ <value cell_index="29123" local_entity="0" value="0" />
+ <value cell_index="29124" local_entity="0" value="0" />
+ <value cell_index="29125" local_entity="0" value="0" />
+ <value cell_index="29126" local_entity="0" value="0" />
+ <value cell_index="29127" local_entity="0" value="0" />
+ <value cell_index="29128" local_entity="0" value="0" />
+ <value cell_index="29129" local_entity="0" value="0" />
+ <value cell_index="29130" local_entity="0" value="0" />
+ <value cell_index="29131" local_entity="0" value="0" />
+ <value cell_index="29132" local_entity="0" value="0" />
+ <value cell_index="29133" local_entity="0" value="0" />
+ <value cell_index="29134" local_entity="0" value="0" />
+ <value cell_index="29135" local_entity="0" value="0" />
+ <value cell_index="29136" local_entity="0" value="0" />
+ <value cell_index="29137" local_entity="0" value="0" />
+ <value cell_index="29138" local_entity="0" value="0" />
+ <value cell_index="29139" local_entity="0" value="0" />
+ <value cell_index="29140" local_entity="0" value="0" />
+ <value cell_index="29141" local_entity="0" value="0" />
+ <value cell_index="29142" local_entity="0" value="0" />
+ <value cell_index="29143" local_entity="0" value="0" />
+ <value cell_index="29144" local_entity="0" value="0" />
+ <value cell_index="29145" local_entity="0" value="0" />
+ <value cell_index="29146" local_entity="0" value="0" />
+ <value cell_index="29147" local_entity="0" value="0" />
+ <value cell_index="29148" local_entity="0" value="0" />
+ <value cell_index="29149" local_entity="0" value="0" />
+ <value cell_index="29150" local_entity="0" value="0" />
+ <value cell_index="29151" local_entity="0" value="0" />
+ <value cell_index="29152" local_entity="0" value="0" />
+ <value cell_index="29153" local_entity="0" value="0" />
+ <value cell_index="29154" local_entity="0" value="0" />
+ <value cell_index="29155" local_entity="0" value="0" />
+ <value cell_index="29156" local_entity="0" value="0" />
+ <value cell_index="29157" local_entity="0" value="0" />
+ <value cell_index="29158" local_entity="0" value="0" />
+ <value cell_index="29159" local_entity="0" value="0" />
+ <value cell_index="29160" local_entity="0" value="0" />
+ <value cell_index="29161" local_entity="0" value="0" />
+ <value cell_index="29162" local_entity="0" value="0" />
+ <value cell_index="29163" local_entity="0" value="0" />
+ <value cell_index="29164" local_entity="0" value="0" />
+ <value cell_index="29165" local_entity="0" value="0" />
+ <value cell_index="29166" local_entity="0" value="0" />
+ <value cell_index="29167" local_entity="0" value="0" />
+ <value cell_index="29168" local_entity="0" value="0" />
+ <value cell_index="29169" local_entity="0" value="0" />
+ <value cell_index="29170" local_entity="0" value="0" />
+ <value cell_index="29171" local_entity="0" value="0" />
+ <value cell_index="29172" local_entity="0" value="0" />
+ <value cell_index="29173" local_entity="0" value="0" />
+ <value cell_index="29174" local_entity="0" value="0" />
+ <value cell_index="29175" local_entity="0" value="0" />
+ <value cell_index="29176" local_entity="0" value="0" />
+ <value cell_index="29177" local_entity="0" value="0" />
+ <value cell_index="29178" local_entity="0" value="0" />
+ <value cell_index="29179" local_entity="0" value="0" />
+ <value cell_index="29180" local_entity="0" value="0" />
+ <value cell_index="29181" local_entity="0" value="0" />
+ <value cell_index="29182" local_entity="0" value="0" />
+ <value cell_index="29183" local_entity="0" value="0" />
+ <value cell_index="29184" local_entity="0" value="0" />
+ <value cell_index="29185" local_entity="0" value="0" />
+ <value cell_index="29186" local_entity="0" value="0" />
+ <value cell_index="29187" local_entity="0" value="0" />
+ <value cell_index="29188" local_entity="0" value="0" />
+ <value cell_index="29189" local_entity="0" value="0" />
+ <value cell_index="29190" local_entity="0" value="0" />
+ <value cell_index="29191" local_entity="0" value="0" />
+ <value cell_index="29192" local_entity="0" value="0" />
+ <value cell_index="29193" local_entity="0" value="0" />
+ <value cell_index="29194" local_entity="0" value="0" />
+ <value cell_index="29195" local_entity="0" value="0" />
+ <value cell_index="29196" local_entity="0" value="0" />
+ <value cell_index="29197" local_entity="0" value="0" />
+ <value cell_index="29198" local_entity="0" value="0" />
+ <value cell_index="29199" local_entity="0" value="0" />
+ <value cell_index="29200" local_entity="0" value="0" />
+ <value cell_index="29201" local_entity="0" value="0" />
+ <value cell_index="29202" local_entity="0" value="0" />
+ <value cell_index="29203" local_entity="0" value="0" />
+ <value cell_index="29204" local_entity="0" value="0" />
+ <value cell_index="29205" local_entity="0" value="0" />
+ <value cell_index="29206" local_entity="0" value="0" />
+ <value cell_index="29207" local_entity="0" value="0" />
+ <value cell_index="29208" local_entity="0" value="0" />
+ <value cell_index="29209" local_entity="0" value="0" />
+ <value cell_index="29210" local_entity="0" value="0" />
+ <value cell_index="29211" local_entity="0" value="0" />
+ <value cell_index="29212" local_entity="0" value="0" />
+ <value cell_index="29213" local_entity="0" value="0" />
+ <value cell_index="29214" local_entity="0" value="0" />
+ <value cell_index="29215" local_entity="0" value="0" />
+ <value cell_index="29216" local_entity="0" value="0" />
+ <value cell_index="29217" local_entity="0" value="0" />
+ <value cell_index="29218" local_entity="0" value="0" />
+ <value cell_index="29219" local_entity="0" value="0" />
+ <value cell_index="29220" local_entity="0" value="0" />
+ <value cell_index="29221" local_entity="0" value="0" />
+ <value cell_index="29222" local_entity="0" value="0" />
+ <value cell_index="29223" local_entity="0" value="0" />
+ <value cell_index="29224" local_entity="0" value="0" />
+ <value cell_index="29225" local_entity="0" value="0" />
+ <value cell_index="29226" local_entity="0" value="0" />
+ <value cell_index="29227" local_entity="0" value="0" />
+ <value cell_index="29228" local_entity="0" value="0" />
+ <value cell_index="29229" local_entity="0" value="0" />
+ <value cell_index="29230" local_entity="0" value="0" />
+ <value cell_index="29231" local_entity="0" value="0" />
+ <value cell_index="29232" local_entity="0" value="0" />
+ <value cell_index="29233" local_entity="0" value="0" />
+ <value cell_index="29234" local_entity="0" value="0" />
+ <value cell_index="29235" local_entity="0" value="0" />
+ <value cell_index="29236" local_entity="0" value="0" />
+ <value cell_index="29237" local_entity="0" value="0" />
+ <value cell_index="29238" local_entity="0" value="0" />
+ <value cell_index="29239" local_entity="0" value="0" />
+ <value cell_index="29240" local_entity="0" value="0" />
+ <value cell_index="29241" local_entity="0" value="0" />
+ <value cell_index="29242" local_entity="0" value="0" />
+ <value cell_index="29243" local_entity="0" value="0" />
+ <value cell_index="29244" local_entity="0" value="0" />
+ <value cell_index="29245" local_entity="0" value="0" />
+ <value cell_index="29246" local_entity="0" value="0" />
+ <value cell_index="29247" local_entity="0" value="0" />
+ <value cell_index="29248" local_entity="0" value="0" />
+ <value cell_index="29249" local_entity="0" value="0" />
+ <value cell_index="29250" local_entity="0" value="0" />
+ <value cell_index="29251" local_entity="0" value="0" />
+ <value cell_index="29252" local_entity="0" value="0" />
+ <value cell_index="29253" local_entity="0" value="0" />
+ <value cell_index="29254" local_entity="0" value="0" />
+ <value cell_index="29255" local_entity="0" value="0" />
+ <value cell_index="29256" local_entity="0" value="0" />
+ <value cell_index="29257" local_entity="0" value="0" />
+ <value cell_index="29258" local_entity="0" value="0" />
+ <value cell_index="29259" local_entity="0" value="0" />
+ <value cell_index="29260" local_entity="0" value="0" />
+ <value cell_index="29261" local_entity="0" value="0" />
+ <value cell_index="29262" local_entity="0" value="0" />
+ <value cell_index="29263" local_entity="0" value="0" />
+ <value cell_index="29264" local_entity="0" value="0" />
+ <value cell_index="29265" local_entity="0" value="0" />
+ <value cell_index="29266" local_entity="0" value="0" />
+ <value cell_index="29267" local_entity="0" value="0" />
+ <value cell_index="29268" local_entity="0" value="0" />
+ <value cell_index="29269" local_entity="0" value="0" />
+ <value cell_index="29270" local_entity="0" value="0" />
+ <value cell_index="29271" local_entity="0" value="0" />
+ <value cell_index="29272" local_entity="0" value="0" />
+ <value cell_index="29273" local_entity="0" value="0" />
+ <value cell_index="29274" local_entity="0" value="0" />
+ <value cell_index="29275" local_entity="0" value="0" />
+ <value cell_index="29276" local_entity="0" value="0" />
+ <value cell_index="29277" local_entity="0" value="0" />
+ <value cell_index="29278" local_entity="0" value="0" />
+ <value cell_index="29279" local_entity="0" value="0" />
+ <value cell_index="29280" local_entity="0" value="0" />
+ <value cell_index="29281" local_entity="0" value="0" />
+ <value cell_index="29282" local_entity="0" value="0" />
+ <value cell_index="29283" local_entity="0" value="0" />
+ <value cell_index="29284" local_entity="0" value="0" />
+ <value cell_index="29285" local_entity="0" value="0" />
+ <value cell_index="29286" local_entity="0" value="0" />
+ <value cell_index="29287" local_entity="0" value="0" />
+ <value cell_index="29288" local_entity="0" value="0" />
+ <value cell_index="29289" local_entity="0" value="0" />
+ <value cell_index="29290" local_entity="0" value="0" />
+ <value cell_index="29291" local_entity="0" value="0" />
+ <value cell_index="29292" local_entity="0" value="0" />
+ <value cell_index="29293" local_entity="0" value="0" />
+ <value cell_index="29294" local_entity="0" value="0" />
+ <value cell_index="29295" local_entity="0" value="0" />
+ <value cell_index="29296" local_entity="0" value="0" />
+ <value cell_index="29297" local_entity="0" value="0" />
+ <value cell_index="29298" local_entity="0" value="0" />
+ <value cell_index="29299" local_entity="0" value="0" />
+ <value cell_index="29300" local_entity="0" value="0" />
+ <value cell_index="29301" local_entity="0" value="0" />
+ <value cell_index="29302" local_entity="0" value="0" />
+ <value cell_index="29303" local_entity="0" value="0" />
+ <value cell_index="29304" local_entity="0" value="0" />
+ <value cell_index="29305" local_entity="0" value="0" />
+ <value cell_index="29306" local_entity="0" value="0" />
+ <value cell_index="29307" local_entity="0" value="0" />
+ <value cell_index="29308" local_entity="0" value="0" />
+ <value cell_index="29309" local_entity="0" value="0" />
+ <value cell_index="29310" local_entity="0" value="0" />
+ <value cell_index="29311" local_entity="0" value="0" />
+ <value cell_index="29312" local_entity="0" value="0" />
+ <value cell_index="29313" local_entity="0" value="0" />
+ <value cell_index="29314" local_entity="0" value="0" />
+ <value cell_index="29315" local_entity="0" value="0" />
+ <value cell_index="29316" local_entity="0" value="0" />
+ <value cell_index="29317" local_entity="0" value="0" />
+ <value cell_index="29318" local_entity="0" value="0" />
+ <value cell_index="29319" local_entity="0" value="0" />
+ <value cell_index="29320" local_entity="0" value="0" />
+ <value cell_index="29321" local_entity="0" value="0" />
+ <value cell_index="29322" local_entity="0" value="0" />
+ <value cell_index="29323" local_entity="0" value="0" />
+ <value cell_index="29324" local_entity="0" value="0" />
+ <value cell_index="29325" local_entity="0" value="0" />
+ <value cell_index="29326" local_entity="0" value="0" />
+ <value cell_index="29327" local_entity="0" value="0" />
+ <value cell_index="29328" local_entity="0" value="0" />
+ <value cell_index="29329" local_entity="0" value="0" />
+ <value cell_index="29330" local_entity="0" value="0" />
+ <value cell_index="29331" local_entity="0" value="0" />
+ <value cell_index="29332" local_entity="0" value="0" />
+ <value cell_index="29333" local_entity="0" value="0" />
+ <value cell_index="29334" local_entity="0" value="0" />
+ <value cell_index="29335" local_entity="0" value="0" />
+ <value cell_index="29336" local_entity="0" value="0" />
+ <value cell_index="29337" local_entity="0" value="0" />
+ <value cell_index="29338" local_entity="0" value="0" />
+ <value cell_index="29339" local_entity="0" value="0" />
+ <value cell_index="29340" local_entity="0" value="0" />
+ <value cell_index="29341" local_entity="0" value="0" />
+ <value cell_index="29342" local_entity="0" value="0" />
+ <value cell_index="29343" local_entity="0" value="0" />
+ <value cell_index="29344" local_entity="0" value="0" />
+ <value cell_index="29345" local_entity="0" value="0" />
+ <value cell_index="29346" local_entity="0" value="0" />
+ <value cell_index="29347" local_entity="0" value="0" />
+ <value cell_index="29348" local_entity="0" value="0" />
+ <value cell_index="29349" local_entity="0" value="0" />
+ <value cell_index="29350" local_entity="0" value="0" />
+ <value cell_index="29351" local_entity="0" value="0" />
+ <value cell_index="29352" local_entity="0" value="0" />
+ <value cell_index="29353" local_entity="0" value="0" />
+ <value cell_index="29354" local_entity="0" value="0" />
+ <value cell_index="29355" local_entity="0" value="0" />
+ <value cell_index="29356" local_entity="0" value="0" />
+ <value cell_index="29357" local_entity="0" value="0" />
+ <value cell_index="29358" local_entity="0" value="0" />
+ <value cell_index="29359" local_entity="0" value="0" />
+ <value cell_index="29360" local_entity="0" value="0" />
+ <value cell_index="29361" local_entity="0" value="0" />
+ <value cell_index="29362" local_entity="0" value="0" />
+ <value cell_index="29363" local_entity="0" value="0" />
+ <value cell_index="29364" local_entity="0" value="0" />
+ <value cell_index="29365" local_entity="0" value="0" />
+ <value cell_index="29366" local_entity="0" value="0" />
+ <value cell_index="29367" local_entity="0" value="0" />
+ <value cell_index="29368" local_entity="0" value="0" />
+ <value cell_index="29369" local_entity="0" value="0" />
+ <value cell_index="29370" local_entity="0" value="0" />
+ <value cell_index="29371" local_entity="0" value="0" />
+ <value cell_index="29372" local_entity="0" value="0" />
+ <value cell_index="29373" local_entity="0" value="0" />
+ <value cell_index="29374" local_entity="0" value="0" />
+ <value cell_index="29375" local_entity="0" value="0" />
+ <value cell_index="29376" local_entity="0" value="0" />
+ <value cell_index="29377" local_entity="0" value="0" />
+ <value cell_index="29378" local_entity="0" value="0" />
+ <value cell_index="29379" local_entity="0" value="0" />
+ <value cell_index="29380" local_entity="0" value="0" />
+ <value cell_index="29381" local_entity="0" value="0" />
+ <value cell_index="29382" local_entity="0" value="0" />
+ <value cell_index="29383" local_entity="0" value="0" />
+ <value cell_index="29384" local_entity="0" value="0" />
+ <value cell_index="29385" local_entity="0" value="0" />
+ <value cell_index="29386" local_entity="0" value="0" />
+ <value cell_index="29387" local_entity="0" value="0" />
+ <value cell_index="29388" local_entity="0" value="0" />
+ <value cell_index="29389" local_entity="0" value="0" />
+ <value cell_index="29390" local_entity="0" value="0" />
+ <value cell_index="29391" local_entity="0" value="0" />
+ <value cell_index="29392" local_entity="0" value="0" />
+ <value cell_index="29393" local_entity="0" value="0" />
+ <value cell_index="29394" local_entity="0" value="0" />
+ <value cell_index="29395" local_entity="0" value="0" />
+ <value cell_index="29396" local_entity="0" value="0" />
+ <value cell_index="29397" local_entity="0" value="0" />
+ <value cell_index="29398" local_entity="0" value="0" />
+ <value cell_index="29399" local_entity="0" value="0" />
+ <value cell_index="29400" local_entity="0" value="0" />
+ <value cell_index="29401" local_entity="0" value="0" />
+ <value cell_index="29402" local_entity="0" value="0" />
+ <value cell_index="29403" local_entity="0" value="0" />
+ <value cell_index="29404" local_entity="0" value="0" />
+ <value cell_index="29405" local_entity="0" value="0" />
+ <value cell_index="29406" local_entity="0" value="0" />
+ <value cell_index="29407" local_entity="0" value="0" />
+ <value cell_index="29408" local_entity="0" value="0" />
+ <value cell_index="29409" local_entity="0" value="0" />
+ <value cell_index="29410" local_entity="0" value="0" />
+ <value cell_index="29411" local_entity="0" value="0" />
+ <value cell_index="29412" local_entity="0" value="0" />
+ <value cell_index="29413" local_entity="0" value="0" />
+ <value cell_index="29414" local_entity="0" value="0" />
+ <value cell_index="29415" local_entity="0" value="0" />
+ <value cell_index="29416" local_entity="0" value="0" />
+ <value cell_index="29417" local_entity="0" value="0" />
+ <value cell_index="29418" local_entity="0" value="0" />
+ <value cell_index="29419" local_entity="0" value="0" />
+ <value cell_index="29420" local_entity="0" value="0" />
+ <value cell_index="29421" local_entity="0" value="0" />
+ <value cell_index="29422" local_entity="0" value="0" />
+ <value cell_index="29423" local_entity="0" value="0" />
+ <value cell_index="29424" local_entity="0" value="0" />
+ <value cell_index="29425" local_entity="0" value="0" />
+ <value cell_index="29426" local_entity="0" value="0" />
+ <value cell_index="29427" local_entity="0" value="0" />
+ <value cell_index="29428" local_entity="0" value="0" />
+ <value cell_index="29429" local_entity="0" value="0" />
+ <value cell_index="29430" local_entity="0" value="0" />
+ <value cell_index="29431" local_entity="0" value="0" />
+ <value cell_index="29432" local_entity="0" value="0" />
+ <value cell_index="29433" local_entity="0" value="0" />
+ <value cell_index="29434" local_entity="0" value="0" />
+ <value cell_index="29435" local_entity="0" value="0" />
+ <value cell_index="29436" local_entity="0" value="0" />
+ <value cell_index="29437" local_entity="0" value="0" />
+ <value cell_index="29438" local_entity="0" value="0" />
+ <value cell_index="29439" local_entity="0" value="0" />
+ <value cell_index="29440" local_entity="0" value="0" />
+ <value cell_index="29441" local_entity="0" value="0" />
+ <value cell_index="29442" local_entity="0" value="0" />
+ <value cell_index="29443" local_entity="0" value="0" />
+ <value cell_index="29444" local_entity="0" value="0" />
+ <value cell_index="29445" local_entity="0" value="0" />
+ <value cell_index="29446" local_entity="0" value="0" />
+ <value cell_index="29447" local_entity="0" value="0" />
+ <value cell_index="29448" local_entity="0" value="0" />
+ <value cell_index="29449" local_entity="0" value="0" />
+ <value cell_index="29450" local_entity="0" value="0" />
+ <value cell_index="29451" local_entity="0" value="0" />
+ <value cell_index="29452" local_entity="0" value="0" />
+ <value cell_index="29453" local_entity="0" value="0" />
+ <value cell_index="29454" local_entity="0" value="0" />
+ <value cell_index="29455" local_entity="0" value="0" />
+ <value cell_index="29456" local_entity="0" value="0" />
+ <value cell_index="29457" local_entity="0" value="0" />
+ <value cell_index="29458" local_entity="0" value="0" />
+ <value cell_index="29459" local_entity="0" value="0" />
+ <value cell_index="29460" local_entity="0" value="0" />
+ <value cell_index="29461" local_entity="0" value="0" />
+ <value cell_index="29462" local_entity="0" value="0" />
+ <value cell_index="29463" local_entity="0" value="0" />
+ <value cell_index="29464" local_entity="0" value="0" />
+ <value cell_index="29465" local_entity="0" value="0" />
+ <value cell_index="29466" local_entity="0" value="0" />
+ <value cell_index="29467" local_entity="0" value="0" />
+ <value cell_index="29468" local_entity="0" value="0" />
+ <value cell_index="29469" local_entity="0" value="0" />
+ <value cell_index="29470" local_entity="0" value="0" />
+ <value cell_index="29471" local_entity="0" value="0" />
+ <value cell_index="29472" local_entity="0" value="0" />
+ <value cell_index="29473" local_entity="0" value="0" />
+ <value cell_index="29474" local_entity="0" value="0" />
+ <value cell_index="29475" local_entity="0" value="0" />
+ <value cell_index="29476" local_entity="0" value="0" />
+ <value cell_index="29477" local_entity="0" value="0" />
+ <value cell_index="29478" local_entity="0" value="0" />
+ <value cell_index="29479" local_entity="0" value="0" />
+ <value cell_index="29480" local_entity="0" value="0" />
+ <value cell_index="29481" local_entity="0" value="0" />
+ <value cell_index="29482" local_entity="0" value="0" />
+ <value cell_index="29483" local_entity="0" value="0" />
+ <value cell_index="29484" local_entity="0" value="0" />
+ <value cell_index="29485" local_entity="0" value="0" />
+ <value cell_index="29486" local_entity="0" value="0" />
+ <value cell_index="29487" local_entity="0" value="0" />
+ <value cell_index="29488" local_entity="0" value="0" />
+ <value cell_index="29489" local_entity="0" value="0" />
+ <value cell_index="29490" local_entity="0" value="0" />
+ <value cell_index="29491" local_entity="0" value="0" />
+ <value cell_index="29492" local_entity="0" value="0" />
+ <value cell_index="29493" local_entity="0" value="0" />
+ <value cell_index="29494" local_entity="0" value="0" />
+ <value cell_index="29495" local_entity="0" value="0" />
+ <value cell_index="29496" local_entity="0" value="0" />
+ <value cell_index="29497" local_entity="0" value="0" />
+ <value cell_index="29498" local_entity="0" value="0" />
+ <value cell_index="29499" local_entity="0" value="0" />
+ <value cell_index="29500" local_entity="0" value="0" />
+ <value cell_index="29501" local_entity="0" value="0" />
+ <value cell_index="29502" local_entity="0" value="0" />
+ <value cell_index="29503" local_entity="0" value="0" />
+ <value cell_index="29504" local_entity="0" value="0" />
+ <value cell_index="29505" local_entity="0" value="0" />
+ <value cell_index="29506" local_entity="0" value="0" />
+ <value cell_index="29507" local_entity="0" value="0" />
+ <value cell_index="29508" local_entity="0" value="0" />
+ <value cell_index="29509" local_entity="0" value="0" />
+ <value cell_index="29510" local_entity="0" value="0" />
+ <value cell_index="29511" local_entity="0" value="0" />
+ <value cell_index="29512" local_entity="0" value="0" />
+ <value cell_index="29513" local_entity="0" value="0" />
+ <value cell_index="29514" local_entity="0" value="0" />
+ <value cell_index="29515" local_entity="0" value="0" />
+ <value cell_index="29516" local_entity="0" value="0" />
+ <value cell_index="29517" local_entity="0" value="0" />
+ <value cell_index="29518" local_entity="0" value="0" />
+ <value cell_index="29519" local_entity="0" value="0" />
+ <value cell_index="29520" local_entity="0" value="0" />
+ <value cell_index="29521" local_entity="0" value="0" />
+ <value cell_index="29522" local_entity="0" value="0" />
+ <value cell_index="29523" local_entity="0" value="0" />
+ <value cell_index="29524" local_entity="0" value="0" />
+ <value cell_index="29525" local_entity="0" value="0" />
+ <value cell_index="29526" local_entity="0" value="0" />
+ <value cell_index="29527" local_entity="0" value="0" />
+ <value cell_index="29528" local_entity="0" value="0" />
+ <value cell_index="29529" local_entity="0" value="0" />
+ <value cell_index="29530" local_entity="0" value="0" />
+ <value cell_index="29531" local_entity="0" value="0" />
+ <value cell_index="29532" local_entity="0" value="0" />
+ <value cell_index="29533" local_entity="0" value="0" />
+ <value cell_index="29534" local_entity="0" value="0" />
+ <value cell_index="29535" local_entity="0" value="0" />
+ <value cell_index="29536" local_entity="0" value="0" />
+ <value cell_index="29537" local_entity="0" value="0" />
+ <value cell_index="29538" local_entity="0" value="0" />
+ <value cell_index="29539" local_entity="0" value="0" />
+ <value cell_index="29540" local_entity="0" value="0" />
+ <value cell_index="29541" local_entity="0" value="0" />
+ <value cell_index="29542" local_entity="0" value="0" />
+ <value cell_index="29543" local_entity="0" value="0" />
+ <value cell_index="29544" local_entity="0" value="0" />
+ <value cell_index="29545" local_entity="0" value="0" />
+ <value cell_index="29546" local_entity="0" value="0" />
+ <value cell_index="29547" local_entity="0" value="0" />
+ <value cell_index="29548" local_entity="0" value="0" />
+ <value cell_index="29549" local_entity="0" value="0" />
+ <value cell_index="29550" local_entity="0" value="0" />
+ <value cell_index="29551" local_entity="0" value="0" />
+ <value cell_index="29552" local_entity="0" value="0" />
+ <value cell_index="29553" local_entity="0" value="0" />
+ <value cell_index="29554" local_entity="0" value="0" />
+ <value cell_index="29555" local_entity="0" value="0" />
+ <value cell_index="29556" local_entity="0" value="0" />
+ <value cell_index="29557" local_entity="0" value="0" />
+ <value cell_index="29558" local_entity="0" value="0" />
+ <value cell_index="29559" local_entity="0" value="0" />
+ <value cell_index="29560" local_entity="0" value="0" />
+ <value cell_index="29561" local_entity="0" value="0" />
+ <value cell_index="29562" local_entity="0" value="0" />
+ <value cell_index="29563" local_entity="0" value="0" />
+ <value cell_index="29564" local_entity="0" value="0" />
+ <value cell_index="29565" local_entity="0" value="0" />
+ <value cell_index="29566" local_entity="0" value="0" />
+ <value cell_index="29567" local_entity="0" value="0" />
+ <value cell_index="29568" local_entity="0" value="0" />
+ <value cell_index="29569" local_entity="0" value="0" />
+ <value cell_index="29570" local_entity="0" value="0" />
+ <value cell_index="29571" local_entity="0" value="0" />
+ <value cell_index="29572" local_entity="0" value="0" />
+ <value cell_index="29573" local_entity="0" value="0" />
+ <value cell_index="29574" local_entity="0" value="0" />
+ <value cell_index="29575" local_entity="0" value="0" />
+ <value cell_index="29576" local_entity="0" value="0" />
+ <value cell_index="29577" local_entity="0" value="0" />
+ <value cell_index="29578" local_entity="0" value="0" />
+ <value cell_index="29579" local_entity="0" value="0" />
+ <value cell_index="29580" local_entity="0" value="0" />
+ <value cell_index="29581" local_entity="0" value="0" />
+ <value cell_index="29582" local_entity="0" value="0" />
+ <value cell_index="29583" local_entity="0" value="0" />
+ <value cell_index="29584" local_entity="0" value="0" />
+ <value cell_index="29585" local_entity="0" value="0" />
+ <value cell_index="29586" local_entity="0" value="0" />
+ <value cell_index="29587" local_entity="0" value="0" />
+ <value cell_index="29588" local_entity="0" value="0" />
+ <value cell_index="29589" local_entity="0" value="0" />
+ <value cell_index="29590" local_entity="0" value="0" />
+ <value cell_index="29591" local_entity="0" value="0" />
+ <value cell_index="29592" local_entity="0" value="0" />
+ <value cell_index="29593" local_entity="0" value="0" />
+ <value cell_index="29594" local_entity="0" value="0" />
+ <value cell_index="29595" local_entity="0" value="0" />
+ <value cell_index="29596" local_entity="0" value="0" />
+ <value cell_index="29597" local_entity="0" value="0" />
+ <value cell_index="29598" local_entity="0" value="0" />
+ <value cell_index="29599" local_entity="0" value="0" />
+ <value cell_index="29600" local_entity="0" value="0" />
+ <value cell_index="29601" local_entity="0" value="0" />
+ <value cell_index="29602" local_entity="0" value="0" />
+ <value cell_index="29603" local_entity="0" value="0" />
+ <value cell_index="29604" local_entity="0" value="0" />
+ <value cell_index="29605" local_entity="0" value="0" />
+ <value cell_index="29606" local_entity="0" value="0" />
+ <value cell_index="29607" local_entity="0" value="0" />
+ <value cell_index="29608" local_entity="0" value="0" />
+ <value cell_index="29609" local_entity="0" value="0" />
+ <value cell_index="29610" local_entity="0" value="0" />
+ <value cell_index="29611" local_entity="0" value="0" />
+ <value cell_index="29612" local_entity="0" value="0" />
+ <value cell_index="29613" local_entity="0" value="0" />
+ <value cell_index="29614" local_entity="0" value="0" />
+ <value cell_index="29615" local_entity="0" value="0" />
+ <value cell_index="29616" local_entity="0" value="0" />
+ <value cell_index="29617" local_entity="0" value="0" />
+ <value cell_index="29618" local_entity="0" value="0" />
+ <value cell_index="29619" local_entity="0" value="0" />
+ <value cell_index="29620" local_entity="0" value="0" />
+ <value cell_index="29621" local_entity="0" value="0" />
+ <value cell_index="29622" local_entity="0" value="0" />
+ <value cell_index="29623" local_entity="0" value="0" />
+ <value cell_index="29624" local_entity="0" value="0" />
+ <value cell_index="29625" local_entity="0" value="0" />
+ <value cell_index="29626" local_entity="0" value="0" />
+ <value cell_index="29627" local_entity="0" value="0" />
+ <value cell_index="29628" local_entity="0" value="0" />
+ <value cell_index="29629" local_entity="0" value="0" />
+ <value cell_index="29630" local_entity="0" value="0" />
+ <value cell_index="29631" local_entity="0" value="0" />
+ <value cell_index="29632" local_entity="0" value="0" />
+ <value cell_index="29633" local_entity="0" value="0" />
+ <value cell_index="29634" local_entity="0" value="0" />
+ <value cell_index="29635" local_entity="0" value="0" />
+ <value cell_index="29636" local_entity="0" value="0" />
+ <value cell_index="29637" local_entity="0" value="0" />
+ <value cell_index="29638" local_entity="0" value="0" />
+ <value cell_index="29639" local_entity="0" value="0" />
+ <value cell_index="29640" local_entity="0" value="0" />
+ <value cell_index="29641" local_entity="0" value="0" />
+ <value cell_index="29642" local_entity="0" value="0" />
+ <value cell_index="29643" local_entity="0" value="0" />
+ <value cell_index="29644" local_entity="0" value="0" />
+ <value cell_index="29645" local_entity="0" value="0" />
+ <value cell_index="29646" local_entity="0" value="0" />
+ <value cell_index="29647" local_entity="0" value="0" />
+ <value cell_index="29648" local_entity="0" value="0" />
+ <value cell_index="29649" local_entity="0" value="0" />
+ <value cell_index="29650" local_entity="0" value="0" />
+ <value cell_index="29651" local_entity="0" value="0" />
+ <value cell_index="29652" local_entity="0" value="0" />
+ <value cell_index="29653" local_entity="0" value="0" />
+ <value cell_index="29654" local_entity="0" value="0" />
+ <value cell_index="29655" local_entity="0" value="0" />
+ <value cell_index="29656" local_entity="0" value="0" />
+ <value cell_index="29657" local_entity="0" value="0" />
+ <value cell_index="29658" local_entity="0" value="0" />
+ <value cell_index="29659" local_entity="0" value="0" />
+ <value cell_index="29660" local_entity="0" value="0" />
+ <value cell_index="29661" local_entity="0" value="0" />
+ <value cell_index="29662" local_entity="0" value="0" />
+ <value cell_index="29663" local_entity="0" value="0" />
+ <value cell_index="29664" local_entity="0" value="0" />
+ <value cell_index="29665" local_entity="0" value="0" />
+ <value cell_index="29666" local_entity="0" value="0" />
+ <value cell_index="29667" local_entity="0" value="0" />
+ <value cell_index="29668" local_entity="0" value="0" />
+ <value cell_index="29669" local_entity="0" value="0" />
+ <value cell_index="29670" local_entity="0" value="0" />
+ <value cell_index="29671" local_entity="0" value="0" />
+ <value cell_index="29672" local_entity="0" value="0" />
+ <value cell_index="29673" local_entity="0" value="0" />
+ <value cell_index="29674" local_entity="0" value="0" />
+ <value cell_index="29675" local_entity="0" value="0" />
+ <value cell_index="29676" local_entity="0" value="0" />
+ <value cell_index="29677" local_entity="0" value="0" />
+ <value cell_index="29678" local_entity="0" value="0" />
+ <value cell_index="29679" local_entity="0" value="0" />
+ <value cell_index="29680" local_entity="0" value="0" />
+ <value cell_index="29681" local_entity="0" value="0" />
+ <value cell_index="29682" local_entity="0" value="0" />
+ <value cell_index="29683" local_entity="0" value="0" />
+ <value cell_index="29684" local_entity="0" value="0" />
+ <value cell_index="29685" local_entity="0" value="0" />
+ <value cell_index="29686" local_entity="0" value="0" />
+ <value cell_index="29687" local_entity="0" value="0" />
+ <value cell_index="29688" local_entity="0" value="0" />
+ <value cell_index="29689" local_entity="0" value="0" />
+ <value cell_index="29690" local_entity="0" value="0" />
+ <value cell_index="29691" local_entity="0" value="0" />
+ <value cell_index="29692" local_entity="0" value="0" />
+ <value cell_index="29693" local_entity="0" value="0" />
+ <value cell_index="29694" local_entity="0" value="0" />
+ <value cell_index="29695" local_entity="0" value="0" />
+ <value cell_index="29696" local_entity="0" value="0" />
+ <value cell_index="29697" local_entity="0" value="0" />
+ <value cell_index="29698" local_entity="0" value="0" />
+ <value cell_index="29699" local_entity="0" value="0" />
+ <value cell_index="29700" local_entity="0" value="0" />
+ <value cell_index="29701" local_entity="0" value="0" />
+ <value cell_index="29702" local_entity="0" value="0" />
+ <value cell_index="29703" local_entity="0" value="0" />
+ <value cell_index="29704" local_entity="0" value="0" />
+ <value cell_index="29705" local_entity="0" value="0" />
+ <value cell_index="29706" local_entity="0" value="0" />
+ <value cell_index="29707" local_entity="0" value="0" />
+ <value cell_index="29708" local_entity="0" value="0" />
+ <value cell_index="29709" local_entity="0" value="0" />
+ <value cell_index="29710" local_entity="0" value="0" />
+ <value cell_index="29711" local_entity="0" value="0" />
+ <value cell_index="29712" local_entity="0" value="0" />
+ <value cell_index="29713" local_entity="0" value="0" />
+ <value cell_index="29714" local_entity="0" value="0" />
+ <value cell_index="29715" local_entity="0" value="0" />
+ <value cell_index="29716" local_entity="0" value="0" />
+ <value cell_index="29717" local_entity="0" value="0" />
+ <value cell_index="29718" local_entity="0" value="0" />
+ <value cell_index="29719" local_entity="0" value="0" />
+ <value cell_index="29720" local_entity="0" value="0" />
+ <value cell_index="29721" local_entity="0" value="0" />
+ <value cell_index="29722" local_entity="0" value="0" />
+ <value cell_index="29723" local_entity="0" value="0" />
+ <value cell_index="29724" local_entity="0" value="0" />
+ <value cell_index="29725" local_entity="0" value="0" />
+ <value cell_index="29726" local_entity="0" value="0" />
+ <value cell_index="29727" local_entity="0" value="0" />
+ <value cell_index="29728" local_entity="0" value="0" />
+ <value cell_index="29729" local_entity="0" value="0" />
+ <value cell_index="29730" local_entity="0" value="0" />
+ <value cell_index="29731" local_entity="0" value="0" />
+ <value cell_index="29732" local_entity="0" value="0" />
+ <value cell_index="29733" local_entity="0" value="0" />
+ <value cell_index="29734" local_entity="0" value="0" />
+ <value cell_index="29735" local_entity="0" value="0" />
+ <value cell_index="29736" local_entity="0" value="0" />
+ <value cell_index="29737" local_entity="0" value="0" />
+ <value cell_index="29738" local_entity="0" value="0" />
+ <value cell_index="29739" local_entity="0" value="0" />
+ <value cell_index="29740" local_entity="0" value="0" />
+ <value cell_index="29741" local_entity="0" value="0" />
+ <value cell_index="29742" local_entity="0" value="0" />
+ <value cell_index="29743" local_entity="0" value="0" />
+ <value cell_index="29744" local_entity="0" value="0" />
+ <value cell_index="29745" local_entity="0" value="0" />
+ <value cell_index="29746" local_entity="0" value="0" />
+ <value cell_index="29747" local_entity="0" value="0" />
+ <value cell_index="29748" local_entity="0" value="0" />
+ <value cell_index="29749" local_entity="0" value="0" />
+ <value cell_index="29750" local_entity="0" value="0" />
+ <value cell_index="29751" local_entity="0" value="0" />
+ <value cell_index="29752" local_entity="0" value="0" />
+ <value cell_index="29753" local_entity="0" value="0" />
+ <value cell_index="29754" local_entity="0" value="0" />
+ <value cell_index="29755" local_entity="0" value="0" />
+ <value cell_index="29756" local_entity="0" value="0" />
+ <value cell_index="29757" local_entity="0" value="0" />
+ <value cell_index="29758" local_entity="0" value="0" />
+ <value cell_index="29759" local_entity="0" value="0" />
+ <value cell_index="29760" local_entity="0" value="0" />
+ <value cell_index="29761" local_entity="0" value="0" />
+ <value cell_index="29762" local_entity="0" value="0" />
+ <value cell_index="29763" local_entity="0" value="0" />
+ <value cell_index="29764" local_entity="0" value="0" />
+ <value cell_index="29765" local_entity="0" value="0" />
+ <value cell_index="29766" local_entity="0" value="0" />
+ <value cell_index="29767" local_entity="0" value="0" />
+ <value cell_index="29768" local_entity="0" value="0" />
+ <value cell_index="29769" local_entity="0" value="0" />
+ <value cell_index="29770" local_entity="0" value="0" />
+ <value cell_index="29771" local_entity="0" value="0" />
+ <value cell_index="29772" local_entity="0" value="0" />
+ <value cell_index="29773" local_entity="0" value="0" />
+ <value cell_index="29774" local_entity="0" value="0" />
+ <value cell_index="29775" local_entity="0" value="0" />
+ <value cell_index="29776" local_entity="0" value="0" />
+ <value cell_index="29777" local_entity="0" value="0" />
+ <value cell_index="29778" local_entity="0" value="0" />
+ <value cell_index="29779" local_entity="0" value="0" />
+ <value cell_index="29780" local_entity="0" value="0" />
+ <value cell_index="29781" local_entity="0" value="0" />
+ <value cell_index="29782" local_entity="0" value="0" />
+ <value cell_index="29783" local_entity="0" value="0" />
+ <value cell_index="29784" local_entity="0" value="0" />
+ <value cell_index="29785" local_entity="0" value="0" />
+ <value cell_index="29786" local_entity="0" value="0" />
+ <value cell_index="29787" local_entity="0" value="0" />
+ <value cell_index="29788" local_entity="0" value="0" />
+ <value cell_index="29789" local_entity="0" value="0" />
+ <value cell_index="29790" local_entity="0" value="0" />
+ <value cell_index="29791" local_entity="0" value="0" />
+ <value cell_index="29792" local_entity="0" value="0" />
+ <value cell_index="29793" local_entity="0" value="0" />
+ <value cell_index="29794" local_entity="0" value="0" />
+ <value cell_index="29795" local_entity="0" value="0" />
+ <value cell_index="29796" local_entity="0" value="0" />
+ <value cell_index="29797" local_entity="0" value="0" />
+ <value cell_index="29798" local_entity="0" value="0" />
+ <value cell_index="29799" local_entity="0" value="0" />
+ <value cell_index="29800" local_entity="0" value="0" />
+ <value cell_index="29801" local_entity="0" value="0" />
+ <value cell_index="29802" local_entity="0" value="0" />
+ <value cell_index="29803" local_entity="0" value="0" />
+ <value cell_index="29804" local_entity="0" value="0" />
+ <value cell_index="29805" local_entity="0" value="0" />
+ <value cell_index="29806" local_entity="0" value="0" />
+ <value cell_index="29807" local_entity="0" value="0" />
+ <value cell_index="29808" local_entity="0" value="0" />
+ <value cell_index="29809" local_entity="0" value="0" />
+ <value cell_index="29810" local_entity="0" value="0" />
+ <value cell_index="29811" local_entity="0" value="0" />
+ <value cell_index="29812" local_entity="0" value="0" />
+ <value cell_index="29813" local_entity="0" value="0" />
+ <value cell_index="29814" local_entity="0" value="0" />
+ <value cell_index="29815" local_entity="0" value="0" />
+ <value cell_index="29816" local_entity="0" value="0" />
+ <value cell_index="29817" local_entity="0" value="0" />
+ <value cell_index="29818" local_entity="0" value="0" />
+ <value cell_index="29819" local_entity="0" value="0" />
+ <value cell_index="29820" local_entity="0" value="0" />
+ <value cell_index="29821" local_entity="0" value="0" />
+ <value cell_index="29822" local_entity="0" value="0" />
+ <value cell_index="29823" local_entity="0" value="0" />
+ <value cell_index="29824" local_entity="0" value="0" />
+ <value cell_index="29825" local_entity="0" value="0" />
+ <value cell_index="29826" local_entity="0" value="0" />
+ <value cell_index="29827" local_entity="0" value="0" />
+ <value cell_index="29828" local_entity="0" value="0" />
+ <value cell_index="29829" local_entity="0" value="0" />
+ <value cell_index="29830" local_entity="0" value="0" />
+ <value cell_index="29831" local_entity="0" value="0" />
+ <value cell_index="29832" local_entity="0" value="0" />
+ <value cell_index="29833" local_entity="0" value="0" />
+ <value cell_index="29834" local_entity="0" value="0" />
+ <value cell_index="29835" local_entity="0" value="0" />
+ <value cell_index="29836" local_entity="0" value="0" />
+ <value cell_index="29837" local_entity="0" value="0" />
+ <value cell_index="29838" local_entity="0" value="0" />
+ <value cell_index="29839" local_entity="0" value="0" />
+ <value cell_index="29840" local_entity="0" value="0" />
+ <value cell_index="29841" local_entity="0" value="0" />
+ <value cell_index="29842" local_entity="0" value="0" />
+ <value cell_index="29843" local_entity="0" value="0" />
+ <value cell_index="29844" local_entity="0" value="0" />
+ <value cell_index="29845" local_entity="0" value="0" />
+ <value cell_index="29846" local_entity="0" value="0" />
+ <value cell_index="29847" local_entity="0" value="0" />
+ <value cell_index="29848" local_entity="0" value="0" />
+ <value cell_index="29849" local_entity="0" value="0" />
+ <value cell_index="29850" local_entity="0" value="0" />
+ <value cell_index="29851" local_entity="0" value="0" />
+ <value cell_index="29852" local_entity="0" value="0" />
+ <value cell_index="29853" local_entity="0" value="0" />
+ <value cell_index="29854" local_entity="0" value="0" />
+ <value cell_index="29855" local_entity="0" value="0" />
+ <value cell_index="29856" local_entity="0" value="0" />
+ <value cell_index="29857" local_entity="0" value="0" />
+ <value cell_index="29858" local_entity="0" value="0" />
+ <value cell_index="29859" local_entity="0" value="0" />
+ <value cell_index="29860" local_entity="0" value="0" />
+ <value cell_index="29861" local_entity="0" value="0" />
+ <value cell_index="29862" local_entity="0" value="0" />
+ <value cell_index="29863" local_entity="0" value="0" />
+ <value cell_index="29864" local_entity="0" value="0" />
+ <value cell_index="29865" local_entity="0" value="0" />
+ <value cell_index="29866" local_entity="0" value="0" />
+ <value cell_index="29867" local_entity="0" value="0" />
+ <value cell_index="29868" local_entity="0" value="0" />
+ <value cell_index="29869" local_entity="0" value="0" />
+ <value cell_index="29870" local_entity="0" value="0" />
+ <value cell_index="29871" local_entity="0" value="0" />
+ <value cell_index="29872" local_entity="0" value="0" />
+ <value cell_index="29873" local_entity="0" value="0" />
+ <value cell_index="29874" local_entity="0" value="0" />
+ <value cell_index="29875" local_entity="0" value="0" />
+ <value cell_index="29876" local_entity="0" value="0" />
+ <value cell_index="29877" local_entity="0" value="0" />
+ <value cell_index="29878" local_entity="0" value="0" />
+ <value cell_index="29879" local_entity="0" value="0" />
+ <value cell_index="29880" local_entity="0" value="0" />
+ <value cell_index="29881" local_entity="0" value="0" />
+ <value cell_index="29882" local_entity="0" value="0" />
+ <value cell_index="29883" local_entity="0" value="0" />
+ <value cell_index="29884" local_entity="0" value="0" />
+ <value cell_index="29885" local_entity="0" value="0" />
+ <value cell_index="29886" local_entity="0" value="0" />
+ <value cell_index="29887" local_entity="0" value="0" />
+ <value cell_index="29888" local_entity="0" value="0" />
+ <value cell_index="29889" local_entity="0" value="0" />
+ <value cell_index="29890" local_entity="0" value="0" />
+ <value cell_index="29891" local_entity="0" value="0" />
+ <value cell_index="29892" local_entity="0" value="0" />
+ <value cell_index="29893" local_entity="0" value="0" />
+ <value cell_index="29894" local_entity="0" value="0" />
+ <value cell_index="29895" local_entity="0" value="0" />
+ <value cell_index="29896" local_entity="0" value="0" />
+ <value cell_index="29897" local_entity="0" value="0" />
+ <value cell_index="29898" local_entity="0" value="0" />
+ <value cell_index="29899" local_entity="0" value="0" />
+ <value cell_index="29900" local_entity="0" value="0" />
+ <value cell_index="29901" local_entity="0" value="0" />
+ <value cell_index="29902" local_entity="0" value="0" />
+ <value cell_index="29903" local_entity="0" value="0" />
+ <value cell_index="29904" local_entity="0" value="0" />
+ <value cell_index="29905" local_entity="0" value="0" />
+ <value cell_index="29906" local_entity="0" value="0" />
+ <value cell_index="29907" local_entity="0" value="0" />
+ <value cell_index="29908" local_entity="0" value="0" />
+ <value cell_index="29909" local_entity="0" value="0" />
+ <value cell_index="29910" local_entity="0" value="0" />
+ <value cell_index="29911" local_entity="0" value="0" />
+ <value cell_index="29912" local_entity="0" value="0" />
+ <value cell_index="29913" local_entity="0" value="0" />
+ <value cell_index="29914" local_entity="0" value="0" />
+ <value cell_index="29915" local_entity="0" value="0" />
+ <value cell_index="29916" local_entity="0" value="0" />
+ <value cell_index="29917" local_entity="0" value="0" />
+ <value cell_index="29918" local_entity="0" value="0" />
+ <value cell_index="29919" local_entity="0" value="0" />
+ <value cell_index="29920" local_entity="0" value="0" />
+ <value cell_index="29921" local_entity="0" value="0" />
+ <value cell_index="29922" local_entity="0" value="0" />
+ <value cell_index="29923" local_entity="0" value="0" />
+ <value cell_index="29924" local_entity="0" value="0" />
+ <value cell_index="29925" local_entity="0" value="0" />
+ <value cell_index="29926" local_entity="0" value="0" />
+ <value cell_index="29927" local_entity="0" value="0" />
+ <value cell_index="29928" local_entity="0" value="0" />
+ <value cell_index="29929" local_entity="0" value="0" />
+ <value cell_index="29930" local_entity="0" value="0" />
+ <value cell_index="29931" local_entity="0" value="0" />
+ <value cell_index="29932" local_entity="0" value="0" />
+ <value cell_index="29933" local_entity="0" value="0" />
+ <value cell_index="29934" local_entity="0" value="0" />
+ <value cell_index="29935" local_entity="0" value="0" />
+ <value cell_index="29936" local_entity="0" value="0" />
+ <value cell_index="29937" local_entity="0" value="0" />
+ <value cell_index="29938" local_entity="0" value="0" />
+ <value cell_index="29939" local_entity="0" value="0" />
+ <value cell_index="29940" local_entity="0" value="0" />
+ <value cell_index="29941" local_entity="0" value="0" />
+ <value cell_index="29942" local_entity="0" value="0" />
+ <value cell_index="29943" local_entity="0" value="0" />
+ <value cell_index="29944" local_entity="0" value="0" />
+ <value cell_index="29945" local_entity="0" value="0" />
+ <value cell_index="29946" local_entity="0" value="0" />
+ <value cell_index="29947" local_entity="0" value="0" />
+ <value cell_index="29948" local_entity="0" value="0" />
+ <value cell_index="29949" local_entity="0" value="0" />
+ <value cell_index="29950" local_entity="0" value="0" />
+ <value cell_index="29951" local_entity="0" value="0" />
+ <value cell_index="29952" local_entity="0" value="0" />
+ <value cell_index="29953" local_entity="0" value="0" />
+ <value cell_index="29954" local_entity="0" value="0" />
+ <value cell_index="29955" local_entity="0" value="0" />
+ <value cell_index="29956" local_entity="0" value="0" />
+ <value cell_index="29957" local_entity="0" value="0" />
+ <value cell_index="29958" local_entity="0" value="0" />
+ <value cell_index="29959" local_entity="0" value="0" />
+ <value cell_index="29960" local_entity="0" value="0" />
+ <value cell_index="29961" local_entity="0" value="0" />
+ <value cell_index="29962" local_entity="0" value="0" />
+ <value cell_index="29963" local_entity="0" value="0" />
+ <value cell_index="29964" local_entity="0" value="0" />
+ <value cell_index="29965" local_entity="0" value="0" />
+ <value cell_index="29966" local_entity="0" value="0" />
+ <value cell_index="29967" local_entity="0" value="0" />
+ <value cell_index="29968" local_entity="0" value="0" />
+ <value cell_index="29969" local_entity="0" value="0" />
+ <value cell_index="29970" local_entity="0" value="0" />
+ <value cell_index="29971" local_entity="0" value="0" />
+ <value cell_index="29972" local_entity="0" value="0" />
+ <value cell_index="29973" local_entity="0" value="0" />
+ <value cell_index="29974" local_entity="0" value="0" />
+ <value cell_index="29975" local_entity="0" value="0" />
+ <value cell_index="29976" local_entity="0" value="0" />
+ <value cell_index="29977" local_entity="0" value="0" />
+ <value cell_index="29978" local_entity="0" value="0" />
+ <value cell_index="29979" local_entity="0" value="0" />
+ <value cell_index="29980" local_entity="0" value="0" />
+ <value cell_index="29981" local_entity="0" value="0" />
+ <value cell_index="29982" local_entity="0" value="0" />
+ <value cell_index="29983" local_entity="0" value="0" />
+ <value cell_index="29984" local_entity="0" value="0" />
+ <value cell_index="29985" local_entity="0" value="0" />
+ <value cell_index="29986" local_entity="0" value="0" />
+ <value cell_index="29987" local_entity="0" value="0" />
+ <value cell_index="29988" local_entity="0" value="0" />
+ <value cell_index="29989" local_entity="0" value="0" />
+ <value cell_index="29990" local_entity="0" value="0" />
+ <value cell_index="29991" local_entity="0" value="0" />
+ <value cell_index="29992" local_entity="0" value="0" />
+ <value cell_index="29993" local_entity="0" value="0" />
+ <value cell_index="29994" local_entity="0" value="0" />
+ <value cell_index="29995" local_entity="0" value="0" />
+ <value cell_index="29996" local_entity="0" value="0" />
+ <value cell_index="29997" local_entity="0" value="0" />
+ <value cell_index="29998" local_entity="0" value="0" />
+ <value cell_index="29999" local_entity="0" value="0" />
+ <value cell_index="30000" local_entity="0" value="0" />
+ <value cell_index="30001" local_entity="0" value="0" />
+ <value cell_index="30002" local_entity="0" value="0" />
+ <value cell_index="30003" local_entity="0" value="0" />
+ <value cell_index="30004" local_entity="0" value="0" />
+ <value cell_index="30005" local_entity="0" value="0" />
+ <value cell_index="30006" local_entity="0" value="0" />
+ <value cell_index="30007" local_entity="0" value="0" />
+ <value cell_index="30008" local_entity="0" value="0" />
+ <value cell_index="30009" local_entity="0" value="0" />
+ <value cell_index="30010" local_entity="0" value="0" />
+ <value cell_index="30011" local_entity="0" value="0" />
+ <value cell_index="30012" local_entity="0" value="0" />
+ <value cell_index="30013" local_entity="0" value="0" />
+ <value cell_index="30014" local_entity="0" value="0" />
+ <value cell_index="30015" local_entity="0" value="0" />
+ <value cell_index="30016" local_entity="0" value="0" />
+ <value cell_index="30017" local_entity="0" value="0" />
+ <value cell_index="30018" local_entity="0" value="0" />
+ <value cell_index="30019" local_entity="0" value="0" />
+ <value cell_index="30020" local_entity="0" value="0" />
+ <value cell_index="30021" local_entity="0" value="0" />
+ <value cell_index="30022" local_entity="0" value="0" />
+ <value cell_index="30023" local_entity="0" value="0" />
+ <value cell_index="30024" local_entity="0" value="0" />
+ <value cell_index="30025" local_entity="0" value="0" />
+ <value cell_index="30026" local_entity="0" value="0" />
+ <value cell_index="30027" local_entity="0" value="0" />
+ <value cell_index="30028" local_entity="0" value="0" />
+ <value cell_index="30029" local_entity="0" value="0" />
+ <value cell_index="30030" local_entity="0" value="0" />
+ <value cell_index="30031" local_entity="0" value="0" />
+ <value cell_index="30032" local_entity="0" value="0" />
+ <value cell_index="30033" local_entity="0" value="0" />
+ <value cell_index="30034" local_entity="0" value="0" />
+ <value cell_index="30035" local_entity="0" value="0" />
+ <value cell_index="30036" local_entity="0" value="0" />
+ <value cell_index="30037" local_entity="0" value="0" />
+ <value cell_index="30038" local_entity="0" value="0" />
+ <value cell_index="30039" local_entity="0" value="0" />
+ <value cell_index="30040" local_entity="0" value="0" />
+ <value cell_index="30041" local_entity="0" value="0" />
+ <value cell_index="30042" local_entity="0" value="0" />
+ <value cell_index="30043" local_entity="0" value="0" />
+ <value cell_index="30044" local_entity="0" value="0" />
+ <value cell_index="30045" local_entity="0" value="0" />
+ <value cell_index="30046" local_entity="0" value="0" />
+ <value cell_index="30047" local_entity="0" value="0" />
+ <value cell_index="30048" local_entity="0" value="0" />
+ <value cell_index="30049" local_entity="0" value="0" />
+ <value cell_index="30050" local_entity="0" value="0" />
+ <value cell_index="30051" local_entity="0" value="0" />
+ <value cell_index="30052" local_entity="0" value="0" />
+ <value cell_index="30053" local_entity="0" value="0" />
+ <value cell_index="30054" local_entity="0" value="0" />
+ <value cell_index="30055" local_entity="0" value="0" />
+ <value cell_index="30056" local_entity="0" value="0" />
+ <value cell_index="30057" local_entity="0" value="0" />
+ <value cell_index="30058" local_entity="0" value="0" />
+ <value cell_index="30059" local_entity="0" value="0" />
+ <value cell_index="30060" local_entity="0" value="0" />
+ <value cell_index="30061" local_entity="0" value="0" />
+ <value cell_index="30062" local_entity="0" value="0" />
+ <value cell_index="30063" local_entity="0" value="0" />
+ <value cell_index="30064" local_entity="0" value="0" />
+ <value cell_index="30065" local_entity="0" value="0" />
+ <value cell_index="30066" local_entity="0" value="0" />
+ <value cell_index="30067" local_entity="0" value="0" />
+ <value cell_index="30068" local_entity="0" value="0" />
+ <value cell_index="30069" local_entity="0" value="0" />
+ <value cell_index="30070" local_entity="0" value="0" />
+ <value cell_index="30071" local_entity="0" value="0" />
+ <value cell_index="30072" local_entity="0" value="0" />
+ <value cell_index="30073" local_entity="0" value="0" />
+ <value cell_index="30074" local_entity="0" value="0" />
+ <value cell_index="30075" local_entity="0" value="0" />
+ <value cell_index="30076" local_entity="0" value="0" />
+ <value cell_index="30077" local_entity="0" value="0" />
+ <value cell_index="30078" local_entity="0" value="0" />
+ <value cell_index="30079" local_entity="0" value="0" />
+ <value cell_index="30080" local_entity="0" value="0" />
+ <value cell_index="30081" local_entity="0" value="0" />
+ <value cell_index="30082" local_entity="0" value="0" />
+ <value cell_index="30083" local_entity="0" value="0" />
+ <value cell_index="30084" local_entity="0" value="0" />
+ <value cell_index="30085" local_entity="0" value="0" />
+ <value cell_index="30086" local_entity="0" value="0" />
+ <value cell_index="30087" local_entity="0" value="0" />
+ <value cell_index="30088" local_entity="0" value="0" />
+ <value cell_index="30089" local_entity="0" value="0" />
+ <value cell_index="30090" local_entity="0" value="0" />
+ <value cell_index="30091" local_entity="0" value="0" />
+ <value cell_index="30092" local_entity="0" value="0" />
+ <value cell_index="30093" local_entity="0" value="0" />
+ <value cell_index="30094" local_entity="0" value="0" />
+ <value cell_index="30095" local_entity="0" value="0" />
+ <value cell_index="30096" local_entity="0" value="0" />
+ <value cell_index="30097" local_entity="0" value="0" />
+ <value cell_index="30098" local_entity="0" value="0" />
+ <value cell_index="30099" local_entity="0" value="0" />
+ <value cell_index="30100" local_entity="0" value="0" />
+ <value cell_index="30101" local_entity="0" value="0" />
+ <value cell_index="30102" local_entity="0" value="0" />
+ <value cell_index="30103" local_entity="0" value="0" />
+ <value cell_index="30104" local_entity="0" value="0" />
+ <value cell_index="30105" local_entity="0" value="0" />
+ <value cell_index="30106" local_entity="0" value="0" />
+ <value cell_index="30107" local_entity="0" value="0" />
+ <value cell_index="30108" local_entity="0" value="0" />
+ <value cell_index="30109" local_entity="0" value="0" />
+ <value cell_index="30110" local_entity="0" value="0" />
+ <value cell_index="30111" local_entity="0" value="0" />
+ <value cell_index="30112" local_entity="0" value="0" />
+ <value cell_index="30113" local_entity="0" value="0" />
+ <value cell_index="30114" local_entity="0" value="0" />
+ <value cell_index="30115" local_entity="0" value="0" />
+ <value cell_index="30116" local_entity="0" value="0" />
+ <value cell_index="30117" local_entity="0" value="0" />
+ <value cell_index="30118" local_entity="0" value="0" />
+ <value cell_index="30119" local_entity="0" value="0" />
+ <value cell_index="30120" local_entity="0" value="0" />
+ <value cell_index="30121" local_entity="0" value="0" />
+ <value cell_index="30122" local_entity="0" value="0" />
+ <value cell_index="30123" local_entity="0" value="0" />
+ <value cell_index="30124" local_entity="0" value="0" />
+ <value cell_index="30125" local_entity="0" value="0" />
+ <value cell_index="30126" local_entity="0" value="0" />
+ <value cell_index="30127" local_entity="0" value="0" />
+ <value cell_index="30128" local_entity="0" value="0" />
+ <value cell_index="30129" local_entity="0" value="0" />
+ <value cell_index="30130" local_entity="0" value="0" />
+ <value cell_index="30131" local_entity="0" value="0" />
+ <value cell_index="30132" local_entity="0" value="0" />
+ <value cell_index="30133" local_entity="0" value="0" />
+ <value cell_index="30134" local_entity="0" value="0" />
+ <value cell_index="30135" local_entity="0" value="0" />
+ <value cell_index="30136" local_entity="0" value="0" />
+ <value cell_index="30137" local_entity="0" value="0" />
+ <value cell_index="30138" local_entity="0" value="0" />
+ <value cell_index="30139" local_entity="0" value="0" />
+ <value cell_index="30140" local_entity="0" value="0" />
+ <value cell_index="30141" local_entity="0" value="0" />
+ <value cell_index="30142" local_entity="0" value="0" />
+ <value cell_index="30143" local_entity="0" value="0" />
+ <value cell_index="30144" local_entity="0" value="0" />
+ <value cell_index="30145" local_entity="0" value="0" />
+ <value cell_index="30146" local_entity="0" value="0" />
+ <value cell_index="30147" local_entity="0" value="0" />
+ <value cell_index="30148" local_entity="0" value="0" />
+ <value cell_index="30149" local_entity="0" value="0" />
+ <value cell_index="30150" local_entity="0" value="0" />
+ <value cell_index="30151" local_entity="0" value="0" />
+ <value cell_index="30152" local_entity="0" value="0" />
+ <value cell_index="30153" local_entity="0" value="0" />
+ <value cell_index="30154" local_entity="0" value="0" />
+ <value cell_index="30155" local_entity="0" value="0" />
+ <value cell_index="30156" local_entity="0" value="0" />
+ <value cell_index="30157" local_entity="0" value="0" />
+ <value cell_index="30158" local_entity="0" value="0" />
+ <value cell_index="30159" local_entity="0" value="0" />
+ <value cell_index="30160" local_entity="0" value="0" />
+ <value cell_index="30161" local_entity="0" value="0" />
+ <value cell_index="30162" local_entity="0" value="0" />
+ <value cell_index="30163" local_entity="0" value="0" />
+ <value cell_index="30164" local_entity="0" value="0" />
+ <value cell_index="30165" local_entity="0" value="0" />
+ <value cell_index="30166" local_entity="0" value="0" />
+ <value cell_index="30167" local_entity="0" value="0" />
+ <value cell_index="30168" local_entity="0" value="0" />
+ <value cell_index="30169" local_entity="0" value="0" />
+ <value cell_index="30170" local_entity="0" value="0" />
+ <value cell_index="30171" local_entity="0" value="0" />
+ <value cell_index="30172" local_entity="0" value="0" />
+ <value cell_index="30173" local_entity="0" value="0" />
+ <value cell_index="30174" local_entity="0" value="0" />
+ <value cell_index="30175" local_entity="0" value="0" />
+ <value cell_index="30176" local_entity="0" value="0" />
+ <value cell_index="30177" local_entity="0" value="0" />
+ <value cell_index="30178" local_entity="0" value="0" />
+ <value cell_index="30179" local_entity="0" value="0" />
+ <value cell_index="30180" local_entity="0" value="0" />
+ <value cell_index="30181" local_entity="0" value="0" />
+ <value cell_index="30182" local_entity="0" value="0" />
+ <value cell_index="30183" local_entity="0" value="0" />
+ <value cell_index="30184" local_entity="0" value="0" />
+ <value cell_index="30185" local_entity="0" value="0" />
+ <value cell_index="30186" local_entity="0" value="0" />
+ <value cell_index="30187" local_entity="0" value="0" />
+ <value cell_index="30188" local_entity="0" value="0" />
+ <value cell_index="30189" local_entity="0" value="0" />
+ <value cell_index="30190" local_entity="0" value="0" />
+ <value cell_index="30191" local_entity="0" value="0" />
+ <value cell_index="30192" local_entity="0" value="0" />
+ <value cell_index="30193" local_entity="0" value="0" />
+ <value cell_index="30194" local_entity="0" value="0" />
+ <value cell_index="30195" local_entity="0" value="0" />
+ <value cell_index="30196" local_entity="0" value="0" />
+ <value cell_index="30197" local_entity="0" value="0" />
+ <value cell_index="30198" local_entity="0" value="0" />
+ <value cell_index="30199" local_entity="0" value="0" />
+ <value cell_index="30200" local_entity="0" value="0" />
+ <value cell_index="30201" local_entity="0" value="0" />
+ <value cell_index="30202" local_entity="0" value="0" />
+ <value cell_index="30203" local_entity="0" value="0" />
+ <value cell_index="30204" local_entity="0" value="0" />
+ <value cell_index="30205" local_entity="0" value="0" />
+ <value cell_index="30206" local_entity="0" value="0" />
+ <value cell_index="30207" local_entity="0" value="0" />
+ <value cell_index="30208" local_entity="0" value="0" />
+ <value cell_index="30209" local_entity="0" value="0" />
+ <value cell_index="30210" local_entity="0" value="0" />
+ <value cell_index="30211" local_entity="0" value="0" />
+ <value cell_index="30212" local_entity="0" value="0" />
+ <value cell_index="30213" local_entity="0" value="0" />
+ <value cell_index="30214" local_entity="0" value="0" />
+ <value cell_index="30215" local_entity="0" value="0" />
+ <value cell_index="30216" local_entity="0" value="0" />
+ <value cell_index="30217" local_entity="0" value="0" />
+ <value cell_index="30218" local_entity="0" value="0" />
+ <value cell_index="30219" local_entity="0" value="0" />
+ <value cell_index="30220" local_entity="0" value="0" />
+ <value cell_index="30221" local_entity="0" value="0" />
+ <value cell_index="30222" local_entity="0" value="0" />
+ <value cell_index="30223" local_entity="0" value="0" />
+ <value cell_index="30224" local_entity="0" value="0" />
+ <value cell_index="30225" local_entity="0" value="0" />
+ <value cell_index="30226" local_entity="0" value="0" />
+ <value cell_index="30227" local_entity="0" value="0" />
+ <value cell_index="30228" local_entity="0" value="0" />
+ <value cell_index="30229" local_entity="0" value="0" />
+ <value cell_index="30230" local_entity="0" value="0" />
+ <value cell_index="30231" local_entity="0" value="0" />
+ <value cell_index="30232" local_entity="0" value="0" />
+ <value cell_index="30233" local_entity="0" value="0" />
+ <value cell_index="30234" local_entity="0" value="0" />
+ <value cell_index="30235" local_entity="0" value="0" />
+ <value cell_index="30236" local_entity="0" value="0" />
+ <value cell_index="30237" local_entity="0" value="0" />
+ <value cell_index="30238" local_entity="0" value="0" />
+ <value cell_index="30239" local_entity="0" value="0" />
+ <value cell_index="30240" local_entity="0" value="0" />
+ <value cell_index="30241" local_entity="0" value="0" />
+ <value cell_index="30242" local_entity="0" value="0" />
+ <value cell_index="30243" local_entity="0" value="0" />
+ <value cell_index="30244" local_entity="0" value="0" />
+ <value cell_index="30245" local_entity="0" value="0" />
+ <value cell_index="30246" local_entity="0" value="0" />
+ <value cell_index="30247" local_entity="0" value="0" />
+ <value cell_index="30248" local_entity="0" value="0" />
+ <value cell_index="30249" local_entity="0" value="0" />
+ <value cell_index="30250" local_entity="0" value="0" />
+ <value cell_index="30251" local_entity="0" value="0" />
+ <value cell_index="30252" local_entity="0" value="0" />
+ <value cell_index="30253" local_entity="0" value="0" />
+ <value cell_index="30254" local_entity="0" value="0" />
+ <value cell_index="30255" local_entity="0" value="0" />
+ <value cell_index="30256" local_entity="0" value="0" />
+ <value cell_index="30257" local_entity="0" value="0" />
+ <value cell_index="30258" local_entity="0" value="0" />
+ <value cell_index="30259" local_entity="0" value="0" />
+ <value cell_index="30260" local_entity="0" value="0" />
+ <value cell_index="30261" local_entity="0" value="0" />
+ <value cell_index="30262" local_entity="0" value="0" />
+ <value cell_index="30263" local_entity="0" value="0" />
+ <value cell_index="30264" local_entity="0" value="0" />
+ <value cell_index="30265" local_entity="0" value="0" />
+ <value cell_index="30266" local_entity="0" value="0" />
+ <value cell_index="30267" local_entity="0" value="0" />
+ <value cell_index="30268" local_entity="0" value="0" />
+ <value cell_index="30269" local_entity="0" value="0" />
+ <value cell_index="30270" local_entity="0" value="0" />
+ <value cell_index="30271" local_entity="0" value="0" />
+ <value cell_index="30272" local_entity="0" value="0" />
+ <value cell_index="30273" local_entity="0" value="0" />
+ <value cell_index="30274" local_entity="0" value="0" />
+ <value cell_index="30275" local_entity="0" value="0" />
+ <value cell_index="30276" local_entity="0" value="0" />
+ <value cell_index="30277" local_entity="0" value="0" />
+ <value cell_index="30278" local_entity="0" value="0" />
+ <value cell_index="30279" local_entity="0" value="0" />
+ <value cell_index="30280" local_entity="0" value="0" />
+ <value cell_index="30281" local_entity="0" value="0" />
+ <value cell_index="30282" local_entity="0" value="0" />
+ <value cell_index="30283" local_entity="0" value="0" />
+ <value cell_index="30284" local_entity="0" value="0" />
+ <value cell_index="30285" local_entity="0" value="0" />
+ <value cell_index="30286" local_entity="0" value="0" />
+ <value cell_index="30287" local_entity="0" value="0" />
+ <value cell_index="30288" local_entity="0" value="0" />
+ <value cell_index="30289" local_entity="0" value="0" />
+ <value cell_index="30290" local_entity="0" value="0" />
+ <value cell_index="30291" local_entity="0" value="0" />
+ <value cell_index="30292" local_entity="0" value="0" />
+ <value cell_index="30293" local_entity="0" value="0" />
+ <value cell_index="30294" local_entity="0" value="0" />
+ <value cell_index="30295" local_entity="0" value="0" />
+ <value cell_index="30296" local_entity="0" value="0" />
+ <value cell_index="30297" local_entity="0" value="0" />
+ <value cell_index="30298" local_entity="0" value="0" />
+ <value cell_index="30299" local_entity="0" value="0" />
+ <value cell_index="30300" local_entity="0" value="0" />
+ <value cell_index="30301" local_entity="0" value="0" />
+ <value cell_index="30302" local_entity="0" value="0" />
+ <value cell_index="30303" local_entity="0" value="0" />
+ <value cell_index="30304" local_entity="0" value="0" />
+ <value cell_index="30305" local_entity="0" value="0" />
+ <value cell_index="30306" local_entity="0" value="0" />
+ <value cell_index="30307" local_entity="0" value="0" />
+ <value cell_index="30308" local_entity="0" value="0" />
+ <value cell_index="30309" local_entity="0" value="0" />
+ <value cell_index="30310" local_entity="0" value="0" />
+ <value cell_index="30311" local_entity="0" value="0" />
+ <value cell_index="30312" local_entity="0" value="0" />
+ <value cell_index="30313" local_entity="0" value="0" />
+ <value cell_index="30314" local_entity="0" value="0" />
+ <value cell_index="30315" local_entity="0" value="0" />
+ <value cell_index="30316" local_entity="0" value="0" />
+ <value cell_index="30317" local_entity="0" value="0" />
+ <value cell_index="30318" local_entity="0" value="0" />
+ <value cell_index="30319" local_entity="0" value="0" />
+ <value cell_index="30320" local_entity="0" value="0" />
+ <value cell_index="30321" local_entity="0" value="0" />
+ <value cell_index="30322" local_entity="0" value="0" />
+ <value cell_index="30323" local_entity="0" value="0" />
+ <value cell_index="30324" local_entity="0" value="0" />
+ <value cell_index="30325" local_entity="0" value="0" />
+ <value cell_index="30326" local_entity="0" value="0" />
+ <value cell_index="30327" local_entity="0" value="0" />
+ <value cell_index="30328" local_entity="0" value="0" />
+ <value cell_index="30329" local_entity="0" value="0" />
+ <value cell_index="30330" local_entity="0" value="0" />
+ <value cell_index="30331" local_entity="0" value="0" />
+ <value cell_index="30332" local_entity="0" value="0" />
+ <value cell_index="30333" local_entity="0" value="0" />
+ <value cell_index="30334" local_entity="0" value="0" />
+ <value cell_index="30335" local_entity="0" value="0" />
+ <value cell_index="30336" local_entity="0" value="0" />
+ <value cell_index="30337" local_entity="0" value="0" />
+ <value cell_index="30338" local_entity="0" value="0" />
+ <value cell_index="30339" local_entity="0" value="0" />
+ <value cell_index="30340" local_entity="0" value="0" />
+ <value cell_index="30341" local_entity="0" value="0" />
+ <value cell_index="30342" local_entity="0" value="0" />
+ <value cell_index="30343" local_entity="0" value="0" />
+ <value cell_index="30344" local_entity="0" value="0" />
+ <value cell_index="30345" local_entity="0" value="0" />
+ <value cell_index="30346" local_entity="0" value="0" />
+ <value cell_index="30347" local_entity="0" value="0" />
+ <value cell_index="30348" local_entity="0" value="0" />
+ <value cell_index="30349" local_entity="0" value="0" />
+ <value cell_index="30350" local_entity="0" value="0" />
+ <value cell_index="30351" local_entity="0" value="0" />
+ <value cell_index="30352" local_entity="0" value="0" />
+ <value cell_index="30353" local_entity="0" value="0" />
+ <value cell_index="30354" local_entity="0" value="0" />
+ <value cell_index="30355" local_entity="0" value="0" />
+ <value cell_index="30356" local_entity="0" value="0" />
+ <value cell_index="30357" local_entity="0" value="0" />
+ <value cell_index="30358" local_entity="0" value="0" />
+ <value cell_index="30359" local_entity="0" value="0" />
+ <value cell_index="30360" local_entity="0" value="0" />
+ <value cell_index="30361" local_entity="0" value="0" />
+ <value cell_index="30362" local_entity="0" value="0" />
+ <value cell_index="30363" local_entity="0" value="0" />
+ <value cell_index="30364" local_entity="0" value="0" />
+ <value cell_index="30365" local_entity="0" value="0" />
+ <value cell_index="30366" local_entity="0" value="0" />
+ <value cell_index="30367" local_entity="0" value="0" />
+ <value cell_index="30368" local_entity="0" value="0" />
+ <value cell_index="30369" local_entity="0" value="0" />
+ <value cell_index="30370" local_entity="0" value="0" />
+ <value cell_index="30371" local_entity="0" value="0" />
+ <value cell_index="30372" local_entity="0" value="0" />
+ <value cell_index="30373" local_entity="0" value="0" />
+ <value cell_index="30374" local_entity="0" value="0" />
+ <value cell_index="30375" local_entity="0" value="0" />
+ <value cell_index="30376" local_entity="0" value="0" />
+ <value cell_index="30377" local_entity="0" value="0" />
+ <value cell_index="30378" local_entity="0" value="0" />
+ <value cell_index="30379" local_entity="0" value="0" />
+ <value cell_index="30380" local_entity="0" value="0" />
+ <value cell_index="30381" local_entity="0" value="0" />
+ <value cell_index="30382" local_entity="0" value="0" />
+ <value cell_index="30383" local_entity="0" value="0" />
+ <value cell_index="30384" local_entity="0" value="0" />
+ <value cell_index="30385" local_entity="0" value="0" />
+ <value cell_index="30386" local_entity="0" value="0" />
+ <value cell_index="30387" local_entity="0" value="0" />
+ <value cell_index="30388" local_entity="0" value="0" />
+ <value cell_index="30389" local_entity="0" value="0" />
+ <value cell_index="30390" local_entity="0" value="0" />
+ <value cell_index="30391" local_entity="0" value="0" />
+ <value cell_index="30392" local_entity="0" value="0" />
+ <value cell_index="30393" local_entity="0" value="0" />
+ <value cell_index="30394" local_entity="0" value="0" />
+ <value cell_index="30395" local_entity="0" value="0" />
+ <value cell_index="30396" local_entity="0" value="0" />
+ <value cell_index="30397" local_entity="0" value="0" />
+ <value cell_index="30398" local_entity="0" value="0" />
+ <value cell_index="30399" local_entity="0" value="0" />
+ <value cell_index="30400" local_entity="0" value="0" />
+ <value cell_index="30401" local_entity="0" value="0" />
+ <value cell_index="30402" local_entity="0" value="0" />
+ <value cell_index="30403" local_entity="0" value="0" />
+ <value cell_index="30404" local_entity="0" value="0" />
+ <value cell_index="30405" local_entity="0" value="0" />
+ <value cell_index="30406" local_entity="0" value="0" />
+ <value cell_index="30407" local_entity="0" value="0" />
+ <value cell_index="30408" local_entity="0" value="0" />
+ <value cell_index="30409" local_entity="0" value="0" />
+ <value cell_index="30410" local_entity="0" value="0" />
+ <value cell_index="30411" local_entity="0" value="0" />
+ <value cell_index="30412" local_entity="0" value="0" />
+ <value cell_index="30413" local_entity="0" value="0" />
+ <value cell_index="30414" local_entity="0" value="0" />
+ <value cell_index="30415" local_entity="0" value="0" />
+ <value cell_index="30416" local_entity="0" value="0" />
+ <value cell_index="30417" local_entity="0" value="0" />
+ <value cell_index="30418" local_entity="0" value="0" />
+ <value cell_index="30419" local_entity="0" value="0" />
+ <value cell_index="30420" local_entity="0" value="0" />
+ <value cell_index="30421" local_entity="0" value="0" />
+ <value cell_index="30422" local_entity="0" value="0" />
+ <value cell_index="30423" local_entity="0" value="0" />
+ <value cell_index="30424" local_entity="0" value="0" />
+ <value cell_index="30425" local_entity="0" value="0" />
+ <value cell_index="30426" local_entity="0" value="0" />
+ <value cell_index="30427" local_entity="0" value="0" />
+ <value cell_index="30428" local_entity="0" value="0" />
+ <value cell_index="30429" local_entity="0" value="0" />
+ <value cell_index="30430" local_entity="0" value="0" />
+ <value cell_index="30431" local_entity="0" value="0" />
+ <value cell_index="30432" local_entity="0" value="0" />
+ <value cell_index="30433" local_entity="0" value="0" />
+ <value cell_index="30434" local_entity="0" value="0" />
+ <value cell_index="30435" local_entity="0" value="0" />
+ <value cell_index="30436" local_entity="0" value="0" />
+ <value cell_index="30437" local_entity="0" value="0" />
+ <value cell_index="30438" local_entity="0" value="0" />
+ <value cell_index="30439" local_entity="0" value="0" />
+ <value cell_index="30440" local_entity="0" value="0" />
+ <value cell_index="30441" local_entity="0" value="0" />
+ <value cell_index="30442" local_entity="0" value="0" />
+ <value cell_index="30443" local_entity="0" value="0" />
+ <value cell_index="30444" local_entity="0" value="0" />
+ <value cell_index="30445" local_entity="0" value="0" />
+ <value cell_index="30446" local_entity="0" value="0" />
+ <value cell_index="30447" local_entity="0" value="0" />
+ <value cell_index="30448" local_entity="0" value="0" />
+ <value cell_index="30449" local_entity="0" value="0" />
+ <value cell_index="30450" local_entity="0" value="0" />
+ <value cell_index="30451" local_entity="0" value="0" />
+ <value cell_index="30452" local_entity="0" value="0" />
+ <value cell_index="30453" local_entity="0" value="0" />
+ <value cell_index="30454" local_entity="0" value="0" />
+ <value cell_index="30455" local_entity="0" value="0" />
+ <value cell_index="30456" local_entity="0" value="0" />
+ <value cell_index="30457" local_entity="0" value="0" />
+ <value cell_index="30458" local_entity="0" value="0" />
+ <value cell_index="30459" local_entity="0" value="0" />
+ <value cell_index="30460" local_entity="0" value="0" />
+ <value cell_index="30461" local_entity="0" value="0" />
+ <value cell_index="30462" local_entity="0" value="0" />
+ <value cell_index="30463" local_entity="0" value="0" />
+ <value cell_index="30464" local_entity="0" value="0" />
+ <value cell_index="30465" local_entity="0" value="0" />
+ <value cell_index="30466" local_entity="0" value="0" />
+ <value cell_index="30467" local_entity="0" value="0" />
+ <value cell_index="30468" local_entity="0" value="0" />
+ <value cell_index="30469" local_entity="0" value="0" />
+ <value cell_index="30470" local_entity="0" value="0" />
+ <value cell_index="30471" local_entity="0" value="0" />
+ <value cell_index="30472" local_entity="0" value="0" />
+ <value cell_index="30473" local_entity="0" value="0" />
+ <value cell_index="30474" local_entity="0" value="0" />
+ <value cell_index="30475" local_entity="0" value="0" />
+ <value cell_index="30476" local_entity="0" value="0" />
+ <value cell_index="30477" local_entity="0" value="0" />
+ <value cell_index="30478" local_entity="0" value="0" />
+ <value cell_index="30479" local_entity="0" value="0" />
+ <value cell_index="30480" local_entity="0" value="0" />
+ <value cell_index="30481" local_entity="0" value="0" />
+ <value cell_index="30482" local_entity="0" value="0" />
+ <value cell_index="30483" local_entity="0" value="0" />
+ <value cell_index="30484" local_entity="0" value="0" />
+ <value cell_index="30485" local_entity="0" value="0" />
+ <value cell_index="30486" local_entity="0" value="0" />
+ <value cell_index="30487" local_entity="0" value="0" />
+ <value cell_index="30488" local_entity="0" value="0" />
+ <value cell_index="30489" local_entity="0" value="0" />
+ <value cell_index="30490" local_entity="0" value="0" />
+ <value cell_index="30491" local_entity="0" value="0" />
+ <value cell_index="30492" local_entity="0" value="0" />
+ <value cell_index="30493" local_entity="0" value="0" />
+ <value cell_index="30494" local_entity="0" value="0" />
+ <value cell_index="30495" local_entity="0" value="0" />
+ <value cell_index="30496" local_entity="0" value="0" />
+ <value cell_index="30497" local_entity="0" value="0" />
+ <value cell_index="30498" local_entity="0" value="0" />
+ <value cell_index="30499" local_entity="0" value="0" />
+ <value cell_index="30500" local_entity="0" value="0" />
+ <value cell_index="30501" local_entity="0" value="0" />
+ <value cell_index="30502" local_entity="0" value="0" />
+ <value cell_index="30503" local_entity="0" value="0" />
+ <value cell_index="30504" local_entity="0" value="0" />
+ <value cell_index="30505" local_entity="0" value="0" />
+ <value cell_index="30506" local_entity="0" value="0" />
+ <value cell_index="30507" local_entity="0" value="0" />
+ <value cell_index="30508" local_entity="0" value="0" />
+ <value cell_index="30509" local_entity="0" value="0" />
+ <value cell_index="30510" local_entity="0" value="0" />
+ <value cell_index="30511" local_entity="0" value="0" />
+ <value cell_index="30512" local_entity="0" value="0" />
+ <value cell_index="30513" local_entity="0" value="0" />
+ <value cell_index="30514" local_entity="0" value="0" />
+ <value cell_index="30515" local_entity="0" value="0" />
+ <value cell_index="30516" local_entity="0" value="0" />
+ <value cell_index="30517" local_entity="0" value="0" />
+ <value cell_index="30518" local_entity="0" value="0" />
+ <value cell_index="30519" local_entity="0" value="0" />
+ <value cell_index="30520" local_entity="0" value="0" />
+ <value cell_index="30521" local_entity="0" value="0" />
+ <value cell_index="30522" local_entity="0" value="0" />
+ <value cell_index="30523" local_entity="0" value="0" />
+ <value cell_index="30524" local_entity="0" value="0" />
+ <value cell_index="30525" local_entity="0" value="0" />
+ <value cell_index="30526" local_entity="0" value="0" />
+ <value cell_index="30527" local_entity="0" value="0" />
+ <value cell_index="30528" local_entity="0" value="0" />
+ <value cell_index="30529" local_entity="0" value="0" />
+ <value cell_index="30530" local_entity="0" value="0" />
+ <value cell_index="30531" local_entity="0" value="0" />
+ <value cell_index="30532" local_entity="0" value="0" />
+ <value cell_index="30533" local_entity="0" value="0" />
+ <value cell_index="30534" local_entity="0" value="0" />
+ <value cell_index="30535" local_entity="0" value="0" />
+ <value cell_index="30536" local_entity="0" value="0" />
+ <value cell_index="30537" local_entity="0" value="0" />
+ <value cell_index="30538" local_entity="0" value="0" />
+ <value cell_index="30539" local_entity="0" value="0" />
+ <value cell_index="30540" local_entity="0" value="0" />
+ <value cell_index="30541" local_entity="0" value="0" />
+ <value cell_index="30542" local_entity="0" value="0" />
+ <value cell_index="30543" local_entity="0" value="0" />
+ <value cell_index="30544" local_entity="0" value="0" />
+ <value cell_index="30545" local_entity="0" value="0" />
+ <value cell_index="30546" local_entity="0" value="0" />
+ <value cell_index="30547" local_entity="0" value="0" />
+ <value cell_index="30548" local_entity="0" value="0" />
+ <value cell_index="30549" local_entity="0" value="0" />
+ <value cell_index="30550" local_entity="0" value="0" />
+ <value cell_index="30551" local_entity="0" value="0" />
+ <value cell_index="30552" local_entity="0" value="0" />
+ <value cell_index="30553" local_entity="0" value="0" />
+ <value cell_index="30554" local_entity="0" value="0" />
+ <value cell_index="30555" local_entity="0" value="0" />
+ <value cell_index="30556" local_entity="0" value="0" />
+ <value cell_index="30557" local_entity="0" value="0" />
+ <value cell_index="30558" local_entity="0" value="0" />
+ <value cell_index="30559" local_entity="0" value="0" />
+ <value cell_index="30560" local_entity="0" value="0" />
+ <value cell_index="30561" local_entity="0" value="0" />
+ <value cell_index="30562" local_entity="0" value="0" />
+ <value cell_index="30563" local_entity="0" value="0" />
+ <value cell_index="30564" local_entity="0" value="0" />
+ <value cell_index="30565" local_entity="0" value="0" />
+ <value cell_index="30566" local_entity="0" value="0" />
+ <value cell_index="30567" local_entity="0" value="0" />
+ <value cell_index="30568" local_entity="0" value="0" />
+ <value cell_index="30569" local_entity="0" value="0" />
+ <value cell_index="30570" local_entity="0" value="0" />
+ <value cell_index="30571" local_entity="0" value="0" />
+ <value cell_index="30572" local_entity="0" value="0" />
+ <value cell_index="30573" local_entity="0" value="0" />
+ <value cell_index="30574" local_entity="0" value="0" />
+ <value cell_index="30575" local_entity="0" value="0" />
+ <value cell_index="30576" local_entity="0" value="0" />
+ <value cell_index="30577" local_entity="0" value="0" />
+ <value cell_index="30578" local_entity="0" value="0" />
+ <value cell_index="30579" local_entity="0" value="0" />
+ <value cell_index="30580" local_entity="0" value="0" />
+ <value cell_index="30581" local_entity="0" value="0" />
+ <value cell_index="30582" local_entity="0" value="0" />
+ <value cell_index="30583" local_entity="0" value="0" />
+ <value cell_index="30584" local_entity="0" value="0" />
+ <value cell_index="30585" local_entity="0" value="0" />
+ <value cell_index="30586" local_entity="0" value="0" />
+ <value cell_index="30587" local_entity="0" value="0" />
+ <value cell_index="30588" local_entity="0" value="0" />
+ <value cell_index="30589" local_entity="0" value="0" />
+ <value cell_index="30590" local_entity="0" value="0" />
+ <value cell_index="30591" local_entity="0" value="0" />
+ <value cell_index="30592" local_entity="0" value="0" />
+ <value cell_index="30593" local_entity="0" value="0" />
+ <value cell_index="30594" local_entity="0" value="0" />
+ <value cell_index="30595" local_entity="0" value="0" />
+ <value cell_index="30596" local_entity="0" value="0" />
+ <value cell_index="30597" local_entity="0" value="0" />
+ <value cell_index="30598" local_entity="0" value="0" />
+ <value cell_index="30599" local_entity="0" value="0" />
+ <value cell_index="30600" local_entity="0" value="0" />
+ <value cell_index="30601" local_entity="0" value="0" />
+ <value cell_index="30602" local_entity="0" value="0" />
+ <value cell_index="30603" local_entity="0" value="0" />
+ <value cell_index="30604" local_entity="0" value="0" />
+ <value cell_index="30605" local_entity="0" value="0" />
+ <value cell_index="30606" local_entity="0" value="0" />
+ <value cell_index="30607" local_entity="0" value="0" />
+ <value cell_index="30608" local_entity="0" value="0" />
+ <value cell_index="30609" local_entity="0" value="0" />
+ <value cell_index="30610" local_entity="0" value="0" />
+ <value cell_index="30611" local_entity="0" value="0" />
+ <value cell_index="30612" local_entity="0" value="0" />
+ <value cell_index="30613" local_entity="0" value="0" />
+ <value cell_index="30614" local_entity="0" value="0" />
+ <value cell_index="30615" local_entity="0" value="0" />
+ <value cell_index="30616" local_entity="0" value="0" />
+ <value cell_index="30617" local_entity="0" value="0" />
+ <value cell_index="30618" local_entity="0" value="0" />
+ <value cell_index="30619" local_entity="0" value="0" />
+ <value cell_index="30620" local_entity="0" value="0" />
+ <value cell_index="30621" local_entity="0" value="0" />
+ <value cell_index="30622" local_entity="0" value="0" />
+ <value cell_index="30623" local_entity="0" value="0" />
+ <value cell_index="30624" local_entity="0" value="0" />
+ <value cell_index="30625" local_entity="0" value="0" />
+ <value cell_index="30626" local_entity="0" value="0" />
+ <value cell_index="30627" local_entity="0" value="0" />
+ <value cell_index="30628" local_entity="0" value="0" />
+ <value cell_index="30629" local_entity="0" value="0" />
+ <value cell_index="30630" local_entity="0" value="0" />
+ <value cell_index="30631" local_entity="0" value="0" />
+ <value cell_index="30632" local_entity="0" value="0" />
+ <value cell_index="30633" local_entity="0" value="0" />
+ <value cell_index="30634" local_entity="0" value="0" />
+ <value cell_index="30635" local_entity="0" value="0" />
+ <value cell_index="30636" local_entity="0" value="0" />
+ <value cell_index="30637" local_entity="0" value="0" />
+ <value cell_index="30638" local_entity="0" value="0" />
+ <value cell_index="30639" local_entity="0" value="0" />
+ <value cell_index="30640" local_entity="0" value="0" />
+ <value cell_index="30641" local_entity="0" value="0" />
+ <value cell_index="30642" local_entity="0" value="0" />
+ <value cell_index="30643" local_entity="0" value="0" />
+ <value cell_index="30644" local_entity="0" value="0" />
+ <value cell_index="30645" local_entity="0" value="0" />
+ <value cell_index="30646" local_entity="0" value="0" />
+ <value cell_index="30647" local_entity="0" value="0" />
+ <value cell_index="30648" local_entity="0" value="0" />
+ <value cell_index="30649" local_entity="0" value="0" />
+ <value cell_index="30650" local_entity="0" value="0" />
+ <value cell_index="30651" local_entity="0" value="0" />
+ <value cell_index="30652" local_entity="0" value="0" />
+ <value cell_index="30653" local_entity="0" value="0" />
+ <value cell_index="30654" local_entity="0" value="0" />
+ <value cell_index="30655" local_entity="0" value="0" />
+ <value cell_index="30656" local_entity="0" value="0" />
+ <value cell_index="30657" local_entity="0" value="0" />
+ <value cell_index="30658" local_entity="0" value="0" />
+ <value cell_index="30659" local_entity="0" value="0" />
+ <value cell_index="30660" local_entity="0" value="0" />
+ <value cell_index="30661" local_entity="0" value="0" />
+ <value cell_index="30662" local_entity="0" value="0" />
+ <value cell_index="30663" local_entity="0" value="0" />
+ <value cell_index="30664" local_entity="0" value="0" />
+ <value cell_index="30665" local_entity="0" value="0" />
+ <value cell_index="30666" local_entity="0" value="0" />
+ <value cell_index="30667" local_entity="0" value="0" />
+ <value cell_index="30668" local_entity="0" value="0" />
+ <value cell_index="30669" local_entity="0" value="0" />
+ <value cell_index="30670" local_entity="0" value="0" />
+ <value cell_index="30671" local_entity="0" value="0" />
+ <value cell_index="30672" local_entity="0" value="0" />
+ <value cell_index="30673" local_entity="0" value="0" />
+ <value cell_index="30674" local_entity="0" value="0" />
+ <value cell_index="30675" local_entity="0" value="0" />
+ <value cell_index="30676" local_entity="0" value="0" />
+ <value cell_index="30677" local_entity="0" value="0" />
+ <value cell_index="30678" local_entity="0" value="0" />
+ <value cell_index="30679" local_entity="0" value="0" />
+ <value cell_index="30680" local_entity="0" value="0" />
+ <value cell_index="30681" local_entity="0" value="0" />
+ <value cell_index="30682" local_entity="0" value="0" />
+ <value cell_index="30683" local_entity="0" value="0" />
+ <value cell_index="30684" local_entity="0" value="0" />
+ <value cell_index="30685" local_entity="0" value="0" />
+ <value cell_index="30686" local_entity="0" value="0" />
+ <value cell_index="30687" local_entity="0" value="0" />
+ <value cell_index="30688" local_entity="0" value="0" />
+ <value cell_index="30689" local_entity="0" value="0" />
+ <value cell_index="30690" local_entity="0" value="0" />
+ <value cell_index="30691" local_entity="0" value="0" />
+ <value cell_index="30692" local_entity="0" value="0" />
+ <value cell_index="30693" local_entity="0" value="0" />
+ <value cell_index="30694" local_entity="0" value="0" />
+ <value cell_index="30695" local_entity="0" value="0" />
+ <value cell_index="30696" local_entity="0" value="0" />
+ <value cell_index="30697" local_entity="0" value="0" />
+ <value cell_index="30698" local_entity="0" value="0" />
+ <value cell_index="30699" local_entity="0" value="0" />
+ <value cell_index="30700" local_entity="0" value="0" />
+ <value cell_index="30701" local_entity="0" value="0" />
+ <value cell_index="30702" local_entity="0" value="0" />
+ <value cell_index="30703" local_entity="0" value="0" />
+ <value cell_index="30704" local_entity="0" value="0" />
+ <value cell_index="30705" local_entity="0" value="0" />
+ <value cell_index="30706" local_entity="0" value="0" />
+ <value cell_index="30707" local_entity="0" value="0" />
+ <value cell_index="30708" local_entity="0" value="0" />
+ <value cell_index="30709" local_entity="0" value="0" />
+ <value cell_index="30710" local_entity="0" value="0" />
+ <value cell_index="30711" local_entity="0" value="0" />
+ <value cell_index="30712" local_entity="0" value="0" />
+ <value cell_index="30713" local_entity="0" value="0" />
+ <value cell_index="30714" local_entity="0" value="0" />
+ <value cell_index="30715" local_entity="0" value="0" />
+ <value cell_index="30716" local_entity="0" value="0" />
+ <value cell_index="30717" local_entity="0" value="0" />
+ <value cell_index="30718" local_entity="0" value="0" />
+ <value cell_index="30719" local_entity="0" value="0" />
+ <value cell_index="30720" local_entity="0" value="0" />
+ <value cell_index="30721" local_entity="0" value="0" />
+ <value cell_index="30722" local_entity="0" value="0" />
+ <value cell_index="30723" local_entity="0" value="0" />
+ <value cell_index="30724" local_entity="0" value="0" />
+ <value cell_index="30725" local_entity="0" value="0" />
+ <value cell_index="30726" local_entity="0" value="0" />
+ <value cell_index="30727" local_entity="0" value="0" />
+ <value cell_index="30728" local_entity="0" value="0" />
+ <value cell_index="30729" local_entity="0" value="0" />
+ <value cell_index="30730" local_entity="0" value="0" />
+ <value cell_index="30731" local_entity="0" value="0" />
+ <value cell_index="30732" local_entity="0" value="0" />
+ <value cell_index="30733" local_entity="0" value="0" />
+ <value cell_index="30734" local_entity="0" value="0" />
+ <value cell_index="30735" local_entity="0" value="0" />
+ <value cell_index="30736" local_entity="0" value="0" />
+ <value cell_index="30737" local_entity="0" value="0" />
+ <value cell_index="30738" local_entity="0" value="0" />
+ <value cell_index="30739" local_entity="0" value="0" />
+ <value cell_index="30740" local_entity="0" value="0" />
+ <value cell_index="30741" local_entity="0" value="0" />
+ <value cell_index="30742" local_entity="0" value="0" />
+ <value cell_index="30743" local_entity="0" value="0" />
+ <value cell_index="30744" local_entity="0" value="0" />
+ <value cell_index="30745" local_entity="0" value="0" />
+ <value cell_index="30746" local_entity="0" value="0" />
+ <value cell_index="30747" local_entity="0" value="0" />
+ <value cell_index="30748" local_entity="0" value="0" />
+ <value cell_index="30749" local_entity="0" value="0" />
+ <value cell_index="30750" local_entity="0" value="0" />
+ <value cell_index="30751" local_entity="0" value="0" />
+ <value cell_index="30752" local_entity="0" value="0" />
+ <value cell_index="30753" local_entity="0" value="0" />
+ <value cell_index="30754" local_entity="0" value="0" />
+ <value cell_index="30755" local_entity="0" value="0" />
+ <value cell_index="30756" local_entity="0" value="0" />
+ <value cell_index="30757" local_entity="0" value="0" />
+ <value cell_index="30758" local_entity="0" value="0" />
+ <value cell_index="30759" local_entity="0" value="0" />
+ <value cell_index="30760" local_entity="0" value="0" />
+ <value cell_index="30761" local_entity="0" value="0" />
+ <value cell_index="30762" local_entity="0" value="0" />
+ <value cell_index="30763" local_entity="0" value="0" />
+ <value cell_index="30764" local_entity="0" value="0" />
+ <value cell_index="30765" local_entity="0" value="0" />
+ <value cell_index="30766" local_entity="0" value="0" />
+ <value cell_index="30767" local_entity="0" value="0" />
+ <value cell_index="30768" local_entity="0" value="0" />
+ <value cell_index="30769" local_entity="0" value="0" />
+ <value cell_index="30770" local_entity="0" value="0" />
+ <value cell_index="30771" local_entity="0" value="0" />
+ <value cell_index="30772" local_entity="0" value="0" />
+ <value cell_index="30773" local_entity="0" value="0" />
+ <value cell_index="30774" local_entity="0" value="0" />
+ <value cell_index="30775" local_entity="0" value="0" />
+ <value cell_index="30776" local_entity="0" value="0" />
+ <value cell_index="30777" local_entity="0" value="0" />
+ <value cell_index="30778" local_entity="0" value="0" />
+ <value cell_index="30779" local_entity="0" value="0" />
+ <value cell_index="30780" local_entity="0" value="0" />
+ <value cell_index="30781" local_entity="0" value="0" />
+ <value cell_index="30782" local_entity="0" value="0" />
+ <value cell_index="30783" local_entity="0" value="0" />
+ <value cell_index="30784" local_entity="0" value="0" />
+ <value cell_index="30785" local_entity="0" value="0" />
+ <value cell_index="30786" local_entity="0" value="0" />
+ <value cell_index="30787" local_entity="0" value="0" />
+ <value cell_index="30788" local_entity="0" value="0" />
+ <value cell_index="30789" local_entity="0" value="0" />
+ <value cell_index="30790" local_entity="0" value="0" />
+ <value cell_index="30791" local_entity="0" value="0" />
+ <value cell_index="30792" local_entity="0" value="0" />
+ <value cell_index="30793" local_entity="0" value="0" />
+ <value cell_index="30794" local_entity="0" value="0" />
+ <value cell_index="30795" local_entity="0" value="0" />
+ <value cell_index="30796" local_entity="0" value="0" />
+ <value cell_index="30797" local_entity="0" value="0" />
+ <value cell_index="30798" local_entity="0" value="0" />
+ <value cell_index="30799" local_entity="0" value="0" />
+ <value cell_index="30800" local_entity="0" value="0" />
+ <value cell_index="30801" local_entity="0" value="0" />
+ <value cell_index="30802" local_entity="0" value="0" />
+ <value cell_index="30803" local_entity="0" value="0" />
+ <value cell_index="30804" local_entity="0" value="0" />
+ <value cell_index="30805" local_entity="0" value="0" />
+ <value cell_index="30806" local_entity="0" value="0" />
+ <value cell_index="30807" local_entity="0" value="0" />
+ <value cell_index="30808" local_entity="0" value="0" />
+ <value cell_index="30809" local_entity="0" value="0" />
+ <value cell_index="30810" local_entity="0" value="0" />
+ <value cell_index="30811" local_entity="0" value="0" />
+ <value cell_index="30812" local_entity="0" value="0" />
+ <value cell_index="30813" local_entity="0" value="0" />
+ <value cell_index="30814" local_entity="0" value="0" />
+ <value cell_index="30815" local_entity="0" value="0" />
+ <value cell_index="30816" local_entity="0" value="0" />
+ <value cell_index="30817" local_entity="0" value="0" />
+ <value cell_index="30818" local_entity="0" value="0" />
+ <value cell_index="30819" local_entity="0" value="0" />
+ <value cell_index="30820" local_entity="0" value="0" />
+ <value cell_index="30821" local_entity="0" value="0" />
+ <value cell_index="30822" local_entity="0" value="0" />
+ <value cell_index="30823" local_entity="0" value="0" />
+ <value cell_index="30824" local_entity="0" value="0" />
+ <value cell_index="30825" local_entity="0" value="0" />
+ <value cell_index="30826" local_entity="0" value="0" />
+ <value cell_index="30827" local_entity="0" value="0" />
+ <value cell_index="30828" local_entity="0" value="0" />
+ <value cell_index="30829" local_entity="0" value="0" />
+ <value cell_index="30830" local_entity="0" value="0" />
+ <value cell_index="30831" local_entity="0" value="0" />
+ <value cell_index="30832" local_entity="0" value="0" />
+ <value cell_index="30833" local_entity="0" value="0" />
+ <value cell_index="30834" local_entity="0" value="0" />
+ <value cell_index="30835" local_entity="0" value="0" />
+ <value cell_index="30836" local_entity="0" value="0" />
+ <value cell_index="30837" local_entity="0" value="0" />
+ <value cell_index="30838" local_entity="0" value="0" />
+ <value cell_index="30839" local_entity="0" value="0" />
+ <value cell_index="30840" local_entity="0" value="0" />
+ <value cell_index="30841" local_entity="0" value="0" />
+ <value cell_index="30842" local_entity="0" value="0" />
+ <value cell_index="30843" local_entity="0" value="0" />
+ <value cell_index="30844" local_entity="0" value="0" />
+ <value cell_index="30845" local_entity="0" value="0" />
+ <value cell_index="30846" local_entity="0" value="0" />
+ <value cell_index="30847" local_entity="0" value="0" />
+ <value cell_index="30848" local_entity="0" value="0" />
+ <value cell_index="30849" local_entity="0" value="0" />
+ <value cell_index="30850" local_entity="0" value="0" />
+ <value cell_index="30851" local_entity="0" value="0" />
+ <value cell_index="30852" local_entity="0" value="0" />
+ <value cell_index="30853" local_entity="0" value="0" />
+ <value cell_index="30854" local_entity="0" value="0" />
+ <value cell_index="30855" local_entity="0" value="0" />
+ <value cell_index="30856" local_entity="0" value="0" />
+ <value cell_index="30857" local_entity="0" value="0" />
+ <value cell_index="30858" local_entity="0" value="0" />
+ <value cell_index="30859" local_entity="0" value="0" />
+ <value cell_index="30860" local_entity="0" value="0" />
+ <value cell_index="30861" local_entity="0" value="0" />
+ <value cell_index="30862" local_entity="0" value="0" />
+ <value cell_index="30863" local_entity="0" value="0" />
+ <value cell_index="30864" local_entity="0" value="0" />
+ <value cell_index="30865" local_entity="0" value="0" />
+ <value cell_index="30866" local_entity="0" value="0" />
+ <value cell_index="30867" local_entity="0" value="0" />
+ <value cell_index="30868" local_entity="0" value="0" />
+ <value cell_index="30869" local_entity="0" value="0" />
+ <value cell_index="30870" local_entity="0" value="0" />
+ <value cell_index="30871" local_entity="0" value="0" />
+ <value cell_index="30872" local_entity="0" value="0" />
+ <value cell_index="30873" local_entity="0" value="0" />
+ <value cell_index="30874" local_entity="0" value="0" />
+ <value cell_index="30875" local_entity="0" value="0" />
+ <value cell_index="30876" local_entity="0" value="0" />
+ <value cell_index="30877" local_entity="0" value="0" />
+ <value cell_index="30878" local_entity="0" value="0" />
+ <value cell_index="30879" local_entity="0" value="0" />
+ <value cell_index="30880" local_entity="0" value="0" />
+ <value cell_index="30881" local_entity="0" value="0" />
+ <value cell_index="30882" local_entity="0" value="0" />
+ <value cell_index="30883" local_entity="0" value="0" />
+ <value cell_index="30884" local_entity="0" value="0" />
+ <value cell_index="30885" local_entity="0" value="0" />
+ <value cell_index="30886" local_entity="0" value="0" />
+ <value cell_index="30887" local_entity="0" value="0" />
+ <value cell_index="30888" local_entity="0" value="0" />
+ <value cell_index="30889" local_entity="0" value="0" />
+ <value cell_index="30890" local_entity="0" value="0" />
+ <value cell_index="30891" local_entity="0" value="0" />
+ <value cell_index="30892" local_entity="0" value="0" />
+ <value cell_index="30893" local_entity="0" value="0" />
+ <value cell_index="30894" local_entity="0" value="0" />
+ <value cell_index="30895" local_entity="0" value="0" />
+ <value cell_index="30896" local_entity="0" value="0" />
+ <value cell_index="30897" local_entity="0" value="0" />
+ <value cell_index="30898" local_entity="0" value="0" />
+ <value cell_index="30899" local_entity="0" value="0" />
+ <value cell_index="30900" local_entity="0" value="0" />
+ <value cell_index="30901" local_entity="0" value="0" />
+ <value cell_index="30902" local_entity="0" value="0" />
+ <value cell_index="30903" local_entity="0" value="0" />
+ <value cell_index="30904" local_entity="0" value="0" />
+ <value cell_index="30905" local_entity="0" value="0" />
+ <value cell_index="30906" local_entity="0" value="0" />
+ <value cell_index="30907" local_entity="0" value="0" />
+ <value cell_index="30908" local_entity="0" value="0" />
+ <value cell_index="30909" local_entity="0" value="0" />
+ <value cell_index="30910" local_entity="0" value="0" />
+ <value cell_index="30911" local_entity="0" value="0" />
+ <value cell_index="30912" local_entity="0" value="0" />
+ <value cell_index="30913" local_entity="0" value="0" />
+ <value cell_index="30914" local_entity="0" value="0" />
+ <value cell_index="30915" local_entity="0" value="0" />
+ <value cell_index="30916" local_entity="0" value="0" />
+ <value cell_index="30917" local_entity="0" value="0" />
+ <value cell_index="30918" local_entity="0" value="0" />
+ <value cell_index="30919" local_entity="0" value="0" />
+ <value cell_index="30920" local_entity="0" value="0" />
+ <value cell_index="30921" local_entity="0" value="0" />
+ <value cell_index="30922" local_entity="0" value="0" />
+ <value cell_index="30923" local_entity="0" value="0" />
+ <value cell_index="30924" local_entity="0" value="0" />
+ <value cell_index="30925" local_entity="0" value="0" />
+ <value cell_index="30926" local_entity="0" value="0" />
+ <value cell_index="30927" local_entity="0" value="0" />
+ <value cell_index="30928" local_entity="0" value="0" />
+ <value cell_index="30929" local_entity="0" value="0" />
+ <value cell_index="30930" local_entity="0" value="0" />
+ <value cell_index="30931" local_entity="0" value="0" />
+ <value cell_index="30932" local_entity="0" value="0" />
+ <value cell_index="30933" local_entity="0" value="0" />
+ <value cell_index="30934" local_entity="0" value="0" />
+ <value cell_index="30935" local_entity="0" value="0" />
+ <value cell_index="30936" local_entity="0" value="0" />
+ <value cell_index="30937" local_entity="0" value="0" />
+ <value cell_index="30938" local_entity="0" value="0" />
+ <value cell_index="30939" local_entity="0" value="0" />
+ <value cell_index="30940" local_entity="0" value="0" />
+ <value cell_index="30941" local_entity="0" value="0" />
+ <value cell_index="30942" local_entity="0" value="0" />
+ <value cell_index="30943" local_entity="0" value="0" />
+ <value cell_index="30944" local_entity="0" value="0" />
+ <value cell_index="30945" local_entity="0" value="0" />
+ <value cell_index="30946" local_entity="0" value="0" />
+ <value cell_index="30947" local_entity="0" value="0" />
+ <value cell_index="30948" local_entity="0" value="0" />
+ <value cell_index="30949" local_entity="0" value="0" />
+ <value cell_index="30950" local_entity="0" value="0" />
+ <value cell_index="30951" local_entity="0" value="0" />
+ <value cell_index="30952" local_entity="0" value="0" />
+ <value cell_index="30953" local_entity="0" value="0" />
+ <value cell_index="30954" local_entity="0" value="0" />
+ <value cell_index="30955" local_entity="0" value="0" />
+ <value cell_index="30956" local_entity="0" value="0" />
+ <value cell_index="30957" local_entity="0" value="0" />
+ <value cell_index="30958" local_entity="0" value="0" />
+ <value cell_index="30959" local_entity="0" value="0" />
+ <value cell_index="30960" local_entity="0" value="0" />
+ <value cell_index="30961" local_entity="0" value="0" />
+ <value cell_index="30962" local_entity="0" value="0" />
+ <value cell_index="30963" local_entity="0" value="0" />
+ <value cell_index="30964" local_entity="0" value="0" />
+ <value cell_index="30965" local_entity="0" value="0" />
+ <value cell_index="30966" local_entity="0" value="0" />
+ <value cell_index="30967" local_entity="0" value="0" />
+ <value cell_index="30968" local_entity="0" value="0" />
+ <value cell_index="30969" local_entity="0" value="0" />
+ <value cell_index="30970" local_entity="0" value="0" />
+ <value cell_index="30971" local_entity="0" value="0" />
+ <value cell_index="30972" local_entity="0" value="0" />
+ <value cell_index="30973" local_entity="0" value="0" />
+ <value cell_index="30974" local_entity="0" value="0" />
+ <value cell_index="30975" local_entity="0" value="0" />
+ <value cell_index="30976" local_entity="0" value="0" />
+ <value cell_index="30977" local_entity="0" value="0" />
+ <value cell_index="30978" local_entity="0" value="0" />
+ <value cell_index="30979" local_entity="0" value="0" />
+ <value cell_index="30980" local_entity="0" value="0" />
+ <value cell_index="30981" local_entity="0" value="0" />
+ <value cell_index="30982" local_entity="0" value="0" />
+ <value cell_index="30983" local_entity="0" value="0" />
+ <value cell_index="30984" local_entity="0" value="0" />
+ <value cell_index="30985" local_entity="0" value="0" />
+ <value cell_index="30986" local_entity="0" value="0" />
+ <value cell_index="30987" local_entity="0" value="0" />
+ <value cell_index="30988" local_entity="0" value="0" />
+ <value cell_index="30989" local_entity="0" value="0" />
+ <value cell_index="30990" local_entity="0" value="0" />
+ <value cell_index="30991" local_entity="0" value="0" />
+ <value cell_index="30992" local_entity="0" value="0" />
+ <value cell_index="30993" local_entity="0" value="0" />
+ <value cell_index="30994" local_entity="0" value="0" />
+ <value cell_index="30995" local_entity="0" value="0" />
+ <value cell_index="30996" local_entity="0" value="0" />
+ <value cell_index="30997" local_entity="0" value="0" />
+ <value cell_index="30998" local_entity="0" value="0" />
+ <value cell_index="30999" local_entity="0" value="0" />
+ <value cell_index="31000" local_entity="0" value="0" />
+ <value cell_index="31001" local_entity="0" value="0" />
+ <value cell_index="31002" local_entity="0" value="0" />
+ <value cell_index="31003" local_entity="0" value="0" />
+ <value cell_index="31004" local_entity="0" value="0" />
+ <value cell_index="31005" local_entity="0" value="0" />
+ <value cell_index="31006" local_entity="0" value="0" />
+ <value cell_index="31007" local_entity="0" value="0" />
+ <value cell_index="31008" local_entity="0" value="0" />
+ <value cell_index="31009" local_entity="0" value="0" />
+ <value cell_index="31010" local_entity="0" value="0" />
+ <value cell_index="31011" local_entity="0" value="0" />
+ <value cell_index="31012" local_entity="0" value="0" />
+ <value cell_index="31013" local_entity="0" value="0" />
+ <value cell_index="31014" local_entity="0" value="0" />
+ <value cell_index="31015" local_entity="0" value="0" />
+ <value cell_index="31016" local_entity="0" value="0" />
+ <value cell_index="31017" local_entity="0" value="0" />
+ <value cell_index="31018" local_entity="0" value="0" />
+ <value cell_index="31019" local_entity="0" value="0" />
+ <value cell_index="31020" local_entity="0" value="0" />
+ <value cell_index="31021" local_entity="0" value="0" />
+ <value cell_index="31022" local_entity="0" value="0" />
+ <value cell_index="31023" local_entity="0" value="0" />
+ <value cell_index="31024" local_entity="0" value="0" />
+ <value cell_index="31025" local_entity="0" value="0" />
+ <value cell_index="31026" local_entity="0" value="0" />
+ <value cell_index="31027" local_entity="0" value="0" />
+ <value cell_index="31028" local_entity="0" value="0" />
+ <value cell_index="31029" local_entity="0" value="0" />
+ <value cell_index="31030" local_entity="0" value="0" />
+ <value cell_index="31031" local_entity="0" value="0" />
+ <value cell_index="31032" local_entity="0" value="0" />
+ <value cell_index="31033" local_entity="0" value="0" />
+ <value cell_index="31034" local_entity="0" value="0" />
+ <value cell_index="31035" local_entity="0" value="0" />
+ <value cell_index="31036" local_entity="0" value="0" />
+ <value cell_index="31037" local_entity="0" value="0" />
+ <value cell_index="31038" local_entity="0" value="0" />
+ <value cell_index="31039" local_entity="0" value="0" />
+ <value cell_index="31040" local_entity="0" value="0" />
+ <value cell_index="31041" local_entity="0" value="0" />
+ <value cell_index="31042" local_entity="0" value="0" />
+ <value cell_index="31043" local_entity="0" value="0" />
+ <value cell_index="31044" local_entity="0" value="0" />
+ <value cell_index="31045" local_entity="0" value="0" />
+ <value cell_index="31046" local_entity="0" value="0" />
+ <value cell_index="31047" local_entity="0" value="0" />
+ <value cell_index="31048" local_entity="0" value="0" />
+ <value cell_index="31049" local_entity="0" value="0" />
+ <value cell_index="31050" local_entity="0" value="0" />
+ <value cell_index="31051" local_entity="0" value="0" />
+ <value cell_index="31052" local_entity="0" value="0" />
+ <value cell_index="31053" local_entity="0" value="0" />
+ <value cell_index="31054" local_entity="0" value="0" />
+ <value cell_index="31055" local_entity="0" value="0" />
+ <value cell_index="31056" local_entity="0" value="0" />
+ <value cell_index="31057" local_entity="0" value="0" />
+ <value cell_index="31058" local_entity="0" value="0" />
+ <value cell_index="31059" local_entity="0" value="0" />
+ <value cell_index="31060" local_entity="0" value="0" />
+ <value cell_index="31061" local_entity="0" value="0" />
+ <value cell_index="31062" local_entity="0" value="0" />
+ <value cell_index="31063" local_entity="0" value="0" />
+ <value cell_index="31064" local_entity="0" value="0" />
+ <value cell_index="31065" local_entity="0" value="0" />
+ <value cell_index="31066" local_entity="0" value="0" />
+ <value cell_index="31067" local_entity="0" value="0" />
+ <value cell_index="31068" local_entity="0" value="0" />
+ <value cell_index="31069" local_entity="0" value="0" />
+ <value cell_index="31070" local_entity="0" value="0" />
+ <value cell_index="31071" local_entity="0" value="0" />
+ <value cell_index="31072" local_entity="0" value="0" />
+ <value cell_index="31073" local_entity="0" value="0" />
+ <value cell_index="31074" local_entity="0" value="0" />
+ <value cell_index="31075" local_entity="0" value="0" />
+ <value cell_index="31076" local_entity="0" value="0" />
+ <value cell_index="31077" local_entity="0" value="0" />
+ <value cell_index="31078" local_entity="0" value="0" />
+ <value cell_index="31079" local_entity="0" value="0" />
+ <value cell_index="31080" local_entity="0" value="0" />
+ <value cell_index="31081" local_entity="0" value="0" />
+ <value cell_index="31082" local_entity="0" value="0" />
+ <value cell_index="31083" local_entity="0" value="0" />
+ <value cell_index="31084" local_entity="0" value="0" />
+ <value cell_index="31085" local_entity="0" value="0" />
+ <value cell_index="31086" local_entity="0" value="0" />
+ <value cell_index="31087" local_entity="0" value="0" />
+ <value cell_index="31088" local_entity="0" value="0" />
+ <value cell_index="31089" local_entity="0" value="0" />
+ <value cell_index="31090" local_entity="0" value="0" />
+ <value cell_index="31091" local_entity="0" value="0" />
+ <value cell_index="31092" local_entity="0" value="0" />
+ <value cell_index="31093" local_entity="0" value="0" />
+ <value cell_index="31094" local_entity="0" value="0" />
+ <value cell_index="31095" local_entity="0" value="0" />
+ <value cell_index="31096" local_entity="0" value="0" />
+ <value cell_index="31097" local_entity="0" value="0" />
+ <value cell_index="31098" local_entity="0" value="0" />
+ <value cell_index="31099" local_entity="0" value="0" />
+ <value cell_index="31100" local_entity="0" value="0" />
+ <value cell_index="31101" local_entity="0" value="0" />
+ <value cell_index="31102" local_entity="0" value="0" />
+ <value cell_index="31103" local_entity="0" value="0" />
+ <value cell_index="31104" local_entity="0" value="0" />
+ <value cell_index="31105" local_entity="0" value="0" />
+ <value cell_index="31106" local_entity="0" value="0" />
+ <value cell_index="31107" local_entity="0" value="0" />
+ <value cell_index="31108" local_entity="0" value="0" />
+ <value cell_index="31109" local_entity="0" value="0" />
+ <value cell_index="31110" local_entity="0" value="0" />
+ <value cell_index="31111" local_entity="0" value="0" />
+ <value cell_index="31112" local_entity="0" value="0" />
+ <value cell_index="31113" local_entity="0" value="0" />
+ <value cell_index="31114" local_entity="0" value="0" />
+ <value cell_index="31115" local_entity="0" value="0" />
+ <value cell_index="31116" local_entity="0" value="0" />
+ <value cell_index="31117" local_entity="0" value="0" />
+ <value cell_index="31118" local_entity="0" value="0" />
+ <value cell_index="31119" local_entity="0" value="0" />
+ <value cell_index="31120" local_entity="0" value="0" />
+ <value cell_index="31121" local_entity="0" value="0" />
+ <value cell_index="31122" local_entity="0" value="0" />
+ <value cell_index="31123" local_entity="0" value="0" />
+ <value cell_index="31124" local_entity="0" value="0" />
+ <value cell_index="31125" local_entity="0" value="0" />
+ <value cell_index="31126" local_entity="0" value="0" />
+ <value cell_index="31127" local_entity="0" value="0" />
+ <value cell_index="31128" local_entity="0" value="0" />
+ <value cell_index="31129" local_entity="0" value="0" />
+ <value cell_index="31130" local_entity="0" value="0" />
+ <value cell_index="31131" local_entity="0" value="0" />
+ <value cell_index="31132" local_entity="0" value="0" />
+ <value cell_index="31133" local_entity="0" value="0" />
+ <value cell_index="31134" local_entity="0" value="0" />
+ <value cell_index="31135" local_entity="0" value="0" />
+ <value cell_index="31136" local_entity="0" value="0" />
+ <value cell_index="31137" local_entity="0" value="0" />
+ <value cell_index="31138" local_entity="0" value="0" />
+ <value cell_index="31139" local_entity="0" value="0" />
+ <value cell_index="31140" local_entity="0" value="0" />
+ <value cell_index="31141" local_entity="0" value="0" />
+ <value cell_index="31142" local_entity="0" value="0" />
+ <value cell_index="31143" local_entity="0" value="0" />
+ <value cell_index="31144" local_entity="0" value="0" />
+ <value cell_index="31145" local_entity="0" value="0" />
+ <value cell_index="31146" local_entity="0" value="0" />
+ <value cell_index="31147" local_entity="0" value="0" />
+ <value cell_index="31148" local_entity="0" value="0" />
+ <value cell_index="31149" local_entity="0" value="0" />
+ <value cell_index="31150" local_entity="0" value="0" />
+ <value cell_index="31151" local_entity="0" value="0" />
+ <value cell_index="31152" local_entity="0" value="0" />
+ <value cell_index="31153" local_entity="0" value="0" />
+ <value cell_index="31154" local_entity="0" value="0" />
+ <value cell_index="31155" local_entity="0" value="0" />
+ <value cell_index="31156" local_entity="0" value="0" />
+ <value cell_index="31157" local_entity="0" value="0" />
+ <value cell_index="31158" local_entity="0" value="0" />
+ <value cell_index="31159" local_entity="0" value="0" />
+ <value cell_index="31160" local_entity="0" value="0" />
+ <value cell_index="31161" local_entity="0" value="0" />
+ <value cell_index="31162" local_entity="0" value="0" />
+ <value cell_index="31163" local_entity="0" value="0" />
+ <value cell_index="31164" local_entity="0" value="0" />
+ <value cell_index="31165" local_entity="0" value="0" />
+ <value cell_index="31166" local_entity="0" value="0" />
+ <value cell_index="31167" local_entity="0" value="0" />
+ <value cell_index="31168" local_entity="0" value="0" />
+ <value cell_index="31169" local_entity="0" value="0" />
+ <value cell_index="31170" local_entity="0" value="0" />
+ <value cell_index="31171" local_entity="0" value="0" />
+ <value cell_index="31172" local_entity="0" value="0" />
+ <value cell_index="31173" local_entity="0" value="0" />
+ <value cell_index="31174" local_entity="0" value="0" />
+ <value cell_index="31175" local_entity="0" value="0" />
+ <value cell_index="31176" local_entity="0" value="0" />
+ <value cell_index="31177" local_entity="0" value="0" />
+ <value cell_index="31178" local_entity="0" value="0" />
+ <value cell_index="31179" local_entity="0" value="0" />
+ <value cell_index="31180" local_entity="0" value="0" />
+ <value cell_index="31181" local_entity="0" value="0" />
+ <value cell_index="31182" local_entity="0" value="0" />
+ <value cell_index="31183" local_entity="0" value="0" />
+ <value cell_index="31184" local_entity="0" value="0" />
+ <value cell_index="31185" local_entity="0" value="0" />
+ <value cell_index="31186" local_entity="0" value="0" />
+ <value cell_index="31187" local_entity="0" value="0" />
+ <value cell_index="31188" local_entity="0" value="0" />
+ <value cell_index="31189" local_entity="0" value="0" />
+ <value cell_index="31190" local_entity="0" value="0" />
+ <value cell_index="31191" local_entity="0" value="0" />
+ <value cell_index="31192" local_entity="0" value="0" />
+ <value cell_index="31193" local_entity="0" value="0" />
+ <value cell_index="31194" local_entity="0" value="0" />
+ <value cell_index="31195" local_entity="0" value="0" />
+ <value cell_index="31196" local_entity="0" value="0" />
+ <value cell_index="31197" local_entity="0" value="0" />
+ <value cell_index="31198" local_entity="0" value="0" />
+ <value cell_index="31199" local_entity="0" value="0" />
+ <value cell_index="31200" local_entity="0" value="0" />
+ <value cell_index="31201" local_entity="0" value="0" />
+ <value cell_index="31202" local_entity="0" value="0" />
+ <value cell_index="31203" local_entity="0" value="0" />
+ <value cell_index="31204" local_entity="0" value="0" />
+ <value cell_index="31205" local_entity="0" value="0" />
+ <value cell_index="31206" local_entity="0" value="0" />
+ <value cell_index="31207" local_entity="0" value="0" />
+ <value cell_index="31208" local_entity="0" value="0" />
+ <value cell_index="31209" local_entity="0" value="0" />
+ <value cell_index="31210" local_entity="0" value="0" />
+ <value cell_index="31211" local_entity="0" value="0" />
+ <value cell_index="31212" local_entity="0" value="0" />
+ <value cell_index="31213" local_entity="0" value="0" />
+ <value cell_index="31214" local_entity="0" value="0" />
+ <value cell_index="31215" local_entity="0" value="0" />
+ <value cell_index="31216" local_entity="0" value="0" />
+ <value cell_index="31217" local_entity="0" value="0" />
+ <value cell_index="31218" local_entity="0" value="0" />
+ <value cell_index="31219" local_entity="0" value="0" />
+ <value cell_index="31220" local_entity="0" value="0" />
+ <value cell_index="31221" local_entity="0" value="0" />
+ <value cell_index="31222" local_entity="0" value="0" />
+ <value cell_index="31223" local_entity="0" value="0" />
+ <value cell_index="31224" local_entity="0" value="0" />
+ <value cell_index="31225" local_entity="0" value="0" />
+ <value cell_index="31226" local_entity="0" value="0" />
+ <value cell_index="31227" local_entity="0" value="0" />
+ <value cell_index="31228" local_entity="0" value="0" />
+ <value cell_index="31229" local_entity="0" value="0" />
+ <value cell_index="31230" local_entity="0" value="0" />
+ <value cell_index="31231" local_entity="0" value="0" />
+ <value cell_index="31232" local_entity="0" value="0" />
+ <value cell_index="31233" local_entity="0" value="0" />
+ <value cell_index="31234" local_entity="0" value="0" />
+ <value cell_index="31235" local_entity="0" value="0" />
+ <value cell_index="31236" local_entity="0" value="0" />
+ <value cell_index="31237" local_entity="0" value="0" />
+ <value cell_index="31238" local_entity="0" value="0" />
+ <value cell_index="31239" local_entity="0" value="0" />
+ <value cell_index="31240" local_entity="0" value="0" />
+ <value cell_index="31241" local_entity="0" value="0" />
+ <value cell_index="31242" local_entity="0" value="0" />
+ <value cell_index="31243" local_entity="0" value="0" />
+ <value cell_index="31244" local_entity="0" value="0" />
+ <value cell_index="31245" local_entity="0" value="0" />
+ <value cell_index="31246" local_entity="0" value="0" />
+ <value cell_index="31247" local_entity="0" value="0" />
+ <value cell_index="31248" local_entity="0" value="0" />
+ <value cell_index="31249" local_entity="0" value="0" />
+ <value cell_index="31250" local_entity="0" value="0" />
+ <value cell_index="31251" local_entity="0" value="0" />
+ <value cell_index="31252" local_entity="0" value="0" />
+ <value cell_index="31253" local_entity="0" value="0" />
+ <value cell_index="31254" local_entity="0" value="0" />
+ <value cell_index="31255" local_entity="0" value="0" />
+ <value cell_index="31256" local_entity="0" value="0" />
+ <value cell_index="31257" local_entity="0" value="0" />
+ <value cell_index="31258" local_entity="0" value="0" />
+ <value cell_index="31259" local_entity="0" value="0" />
+ <value cell_index="31260" local_entity="0" value="0" />
+ <value cell_index="31261" local_entity="0" value="0" />
+ <value cell_index="31262" local_entity="0" value="0" />
+ <value cell_index="31263" local_entity="0" value="0" />
+ <value cell_index="31264" local_entity="0" value="0" />
+ <value cell_index="31265" local_entity="0" value="0" />
+ <value cell_index="31266" local_entity="0" value="0" />
+ <value cell_index="31267" local_entity="0" value="0" />
+ <value cell_index="31268" local_entity="0" value="0" />
+ <value cell_index="31269" local_entity="0" value="0" />
+ <value cell_index="31270" local_entity="0" value="0" />
+ <value cell_index="31271" local_entity="0" value="0" />
+ <value cell_index="31272" local_entity="0" value="0" />
+ <value cell_index="31273" local_entity="0" value="0" />
+ <value cell_index="31274" local_entity="0" value="0" />
+ <value cell_index="31275" local_entity="0" value="0" />
+ <value cell_index="31276" local_entity="0" value="0" />
+ <value cell_index="31277" local_entity="0" value="0" />
+ <value cell_index="31278" local_entity="0" value="0" />
+ <value cell_index="31279" local_entity="0" value="0" />
+ <value cell_index="31280" local_entity="0" value="0" />
+ <value cell_index="31281" local_entity="0" value="0" />
+ <value cell_index="31282" local_entity="0" value="0" />
+ <value cell_index="31283" local_entity="0" value="0" />
+ <value cell_index="31284" local_entity="0" value="0" />
+ <value cell_index="31285" local_entity="0" value="0" />
+ <value cell_index="31286" local_entity="0" value="0" />
+ <value cell_index="31287" local_entity="0" value="0" />
+ <value cell_index="31288" local_entity="0" value="0" />
+ <value cell_index="31289" local_entity="0" value="0" />
+ <value cell_index="31290" local_entity="0" value="0" />
+ <value cell_index="31291" local_entity="0" value="0" />
+ <value cell_index="31292" local_entity="0" value="0" />
+ <value cell_index="31293" local_entity="0" value="0" />
+ <value cell_index="31294" local_entity="0" value="0" />
+ <value cell_index="31295" local_entity="0" value="0" />
+ <value cell_index="31296" local_entity="0" value="0" />
+ <value cell_index="31297" local_entity="0" value="0" />
+ <value cell_index="31298" local_entity="0" value="0" />
+ <value cell_index="31299" local_entity="0" value="0" />
+ <value cell_index="31300" local_entity="0" value="0" />
+ <value cell_index="31301" local_entity="0" value="0" />
+ <value cell_index="31302" local_entity="0" value="0" />
+ <value cell_index="31303" local_entity="0" value="0" />
+ <value cell_index="31304" local_entity="0" value="0" />
+ <value cell_index="31305" local_entity="0" value="0" />
+ <value cell_index="31306" local_entity="0" value="0" />
+ <value cell_index="31307" local_entity="0" value="0" />
+ <value cell_index="31308" local_entity="0" value="0" />
+ <value cell_index="31309" local_entity="0" value="0" />
+ <value cell_index="31310" local_entity="0" value="0" />
+ <value cell_index="31311" local_entity="0" value="0" />
+ <value cell_index="31312" local_entity="0" value="0" />
+ <value cell_index="31313" local_entity="0" value="0" />
+ <value cell_index="31314" local_entity="0" value="0" />
+ <value cell_index="31315" local_entity="0" value="0" />
+ <value cell_index="31316" local_entity="0" value="0" />
+ <value cell_index="31317" local_entity="0" value="0" />
+ <value cell_index="31318" local_entity="0" value="0" />
+ <value cell_index="31319" local_entity="0" value="0" />
+ <value cell_index="31320" local_entity="0" value="0" />
+ <value cell_index="31321" local_entity="0" value="0" />
+ <value cell_index="31322" local_entity="0" value="0" />
+ <value cell_index="31323" local_entity="0" value="0" />
+ <value cell_index="31324" local_entity="0" value="0" />
+ <value cell_index="31325" local_entity="0" value="0" />
+ <value cell_index="31326" local_entity="0" value="0" />
+ <value cell_index="31327" local_entity="0" value="0" />
+ <value cell_index="31328" local_entity="0" value="0" />
+ <value cell_index="31329" local_entity="0" value="0" />
+ <value cell_index="31330" local_entity="0" value="0" />
+ <value cell_index="31331" local_entity="0" value="0" />
+ <value cell_index="31332" local_entity="0" value="0" />
+ <value cell_index="31333" local_entity="0" value="0" />
+ <value cell_index="31334" local_entity="0" value="0" />
+ <value cell_index="31335" local_entity="0" value="0" />
+ <value cell_index="31336" local_entity="0" value="0" />
+ <value cell_index="31337" local_entity="0" value="0" />
+ <value cell_index="31338" local_entity="0" value="0" />
+ <value cell_index="31339" local_entity="0" value="0" />
+ <value cell_index="31340" local_entity="0" value="0" />
+ <value cell_index="31341" local_entity="0" value="0" />
+ <value cell_index="31342" local_entity="0" value="0" />
+ <value cell_index="31343" local_entity="0" value="0" />
+ <value cell_index="31344" local_entity="0" value="0" />
+ <value cell_index="31345" local_entity="0" value="0" />
+ <value cell_index="31346" local_entity="0" value="0" />
+ <value cell_index="31347" local_entity="0" value="0" />
+ <value cell_index="31348" local_entity="0" value="0" />
+ <value cell_index="31349" local_entity="0" value="0" />
+ <value cell_index="31350" local_entity="0" value="0" />
+ <value cell_index="31351" local_entity="0" value="0" />
+ <value cell_index="31352" local_entity="0" value="0" />
+ <value cell_index="31353" local_entity="0" value="0" />
+ <value cell_index="31354" local_entity="0" value="0" />
+ <value cell_index="31355" local_entity="0" value="0" />
+ <value cell_index="31356" local_entity="0" value="0" />
+ <value cell_index="31357" local_entity="0" value="0" />
+ <value cell_index="31358" local_entity="0" value="0" />
+ <value cell_index="31359" local_entity="0" value="0" />
+ <value cell_index="31360" local_entity="0" value="0" />
+ <value cell_index="31361" local_entity="0" value="0" />
+ <value cell_index="31362" local_entity="0" value="0" />
+ <value cell_index="31363" local_entity="0" value="0" />
+ <value cell_index="31364" local_entity="0" value="0" />
+ <value cell_index="31365" local_entity="0" value="0" />
+ <value cell_index="31366" local_entity="0" value="0" />
+ <value cell_index="31367" local_entity="0" value="0" />
+ <value cell_index="31368" local_entity="0" value="0" />
+ <value cell_index="31369" local_entity="0" value="0" />
+ <value cell_index="31370" local_entity="0" value="0" />
+ <value cell_index="31371" local_entity="0" value="0" />
+ <value cell_index="31372" local_entity="0" value="0" />
+ <value cell_index="31373" local_entity="0" value="0" />
+ <value cell_index="31374" local_entity="0" value="0" />
+ <value cell_index="31375" local_entity="0" value="0" />
+ <value cell_index="31376" local_entity="0" value="0" />
+ <value cell_index="31377" local_entity="0" value="0" />
+ <value cell_index="31378" local_entity="0" value="0" />
+ <value cell_index="31379" local_entity="0" value="0" />
+ <value cell_index="31380" local_entity="0" value="0" />
+ <value cell_index="31381" local_entity="0" value="0" />
+ <value cell_index="31382" local_entity="0" value="0" />
+ <value cell_index="31383" local_entity="0" value="0" />
+ <value cell_index="31384" local_entity="0" value="0" />
+ <value cell_index="31385" local_entity="0" value="0" />
+ <value cell_index="31386" local_entity="0" value="0" />
+ <value cell_index="31387" local_entity="0" value="0" />
+ <value cell_index="31388" local_entity="0" value="0" />
+ <value cell_index="31389" local_entity="0" value="0" />
+ <value cell_index="31390" local_entity="0" value="0" />
+ <value cell_index="31391" local_entity="0" value="0" />
+ <value cell_index="31392" local_entity="0" value="0" />
+ <value cell_index="31393" local_entity="0" value="0" />
+ <value cell_index="31394" local_entity="0" value="0" />
+ <value cell_index="31395" local_entity="0" value="0" />
+ <value cell_index="31396" local_entity="0" value="0" />
+ <value cell_index="31397" local_entity="0" value="0" />
+ <value cell_index="31398" local_entity="0" value="0" />
+ <value cell_index="31399" local_entity="0" value="0" />
+ <value cell_index="31400" local_entity="0" value="0" />
+ <value cell_index="31401" local_entity="0" value="0" />
+ <value cell_index="31402" local_entity="0" value="0" />
+ <value cell_index="31403" local_entity="0" value="0" />
+ <value cell_index="31404" local_entity="0" value="0" />
+ <value cell_index="31405" local_entity="0" value="0" />
+ <value cell_index="31406" local_entity="0" value="0" />
+ <value cell_index="31407" local_entity="0" value="0" />
+ <value cell_index="31408" local_entity="0" value="0" />
+ <value cell_index="31409" local_entity="0" value="0" />
+ <value cell_index="31410" local_entity="0" value="0" />
+ <value cell_index="31411" local_entity="0" value="0" />
+ <value cell_index="31412" local_entity="0" value="0" />
+ <value cell_index="31413" local_entity="0" value="0" />
+ <value cell_index="31414" local_entity="0" value="0" />
+ <value cell_index="31415" local_entity="0" value="0" />
+ <value cell_index="31416" local_entity="0" value="0" />
+ <value cell_index="31417" local_entity="0" value="0" />
+ <value cell_index="31418" local_entity="0" value="0" />
+ <value cell_index="31419" local_entity="0" value="0" />
+ <value cell_index="31420" local_entity="0" value="0" />
+ <value cell_index="31421" local_entity="0" value="0" />
+ <value cell_index="31422" local_entity="0" value="0" />
+ <value cell_index="31423" local_entity="0" value="0" />
+ <value cell_index="31424" local_entity="0" value="0" />
+ <value cell_index="31425" local_entity="0" value="0" />
+ <value cell_index="31426" local_entity="0" value="0" />
+ <value cell_index="31427" local_entity="0" value="0" />
+ <value cell_index="31428" local_entity="0" value="0" />
+ <value cell_index="31429" local_entity="0" value="0" />
+ <value cell_index="31430" local_entity="0" value="0" />
+ <value cell_index="31431" local_entity="0" value="0" />
+ <value cell_index="31432" local_entity="0" value="0" />
+ <value cell_index="31433" local_entity="0" value="0" />
+ <value cell_index="31434" local_entity="0" value="0" />
+ <value cell_index="31435" local_entity="0" value="0" />
+ <value cell_index="31436" local_entity="0" value="0" />
+ <value cell_index="31437" local_entity="0" value="0" />
+ <value cell_index="31438" local_entity="0" value="0" />
+ <value cell_index="31439" local_entity="0" value="0" />
+ <value cell_index="31440" local_entity="0" value="0" />
+ <value cell_index="31441" local_entity="0" value="0" />
+ <value cell_index="31442" local_entity="0" value="0" />
+ <value cell_index="31443" local_entity="0" value="0" />
+ <value cell_index="31444" local_entity="0" value="0" />
+ <value cell_index="31445" local_entity="0" value="0" />
+ <value cell_index="31446" local_entity="0" value="0" />
+ <value cell_index="31447" local_entity="0" value="0" />
+ <value cell_index="31448" local_entity="0" value="0" />
+ <value cell_index="31449" local_entity="0" value="0" />
+ <value cell_index="31450" local_entity="0" value="0" />
+ <value cell_index="31451" local_entity="0" value="0" />
+ <value cell_index="31452" local_entity="0" value="0" />
+ <value cell_index="31453" local_entity="0" value="0" />
+ <value cell_index="31454" local_entity="0" value="0" />
+ <value cell_index="31455" local_entity="0" value="0" />
+ <value cell_index="31456" local_entity="0" value="0" />
+ <value cell_index="31457" local_entity="0" value="0" />
+ <value cell_index="31458" local_entity="0" value="0" />
+ <value cell_index="31459" local_entity="0" value="0" />
+ <value cell_index="31460" local_entity="0" value="0" />
+ <value cell_index="31461" local_entity="0" value="0" />
+ <value cell_index="31462" local_entity="0" value="0" />
+ <value cell_index="31463" local_entity="0" value="0" />
+ <value cell_index="31464" local_entity="0" value="0" />
+ <value cell_index="31465" local_entity="0" value="0" />
+ <value cell_index="31466" local_entity="0" value="0" />
+ <value cell_index="31467" local_entity="0" value="0" />
+ <value cell_index="31468" local_entity="0" value="0" />
+ <value cell_index="31469" local_entity="0" value="0" />
+ <value cell_index="31470" local_entity="0" value="0" />
+ <value cell_index="31471" local_entity="0" value="0" />
+ <value cell_index="31472" local_entity="0" value="0" />
+ <value cell_index="31473" local_entity="0" value="0" />
+ <value cell_index="31474" local_entity="0" value="0" />
+ <value cell_index="31475" local_entity="0" value="0" />
+ <value cell_index="31476" local_entity="0" value="0" />
+ <value cell_index="31477" local_entity="0" value="0" />
+ <value cell_index="31478" local_entity="0" value="0" />
+ <value cell_index="31479" local_entity="0" value="0" />
+ <value cell_index="31480" local_entity="0" value="0" />
+ <value cell_index="31481" local_entity="0" value="0" />
+ <value cell_index="31482" local_entity="0" value="0" />
+ <value cell_index="31483" local_entity="0" value="0" />
+ <value cell_index="31484" local_entity="0" value="0" />
+ <value cell_index="31485" local_entity="0" value="0" />
+ <value cell_index="31486" local_entity="0" value="0" />
+ <value cell_index="31487" local_entity="0" value="0" />
+ <value cell_index="31488" local_entity="0" value="0" />
+ <value cell_index="31489" local_entity="0" value="0" />
+ <value cell_index="31490" local_entity="0" value="0" />
+ <value cell_index="31491" local_entity="0" value="0" />
+ <value cell_index="31492" local_entity="0" value="0" />
+ <value cell_index="31493" local_entity="0" value="0" />
+ <value cell_index="31494" local_entity="0" value="0" />
+ <value cell_index="31495" local_entity="0" value="0" />
+ <value cell_index="31496" local_entity="0" value="0" />
+ <value cell_index="31497" local_entity="0" value="0" />
+ <value cell_index="31498" local_entity="0" value="0" />
+ <value cell_index="31499" local_entity="0" value="0" />
+ <value cell_index="31500" local_entity="0" value="0" />
+ <value cell_index="31501" local_entity="0" value="0" />
+ <value cell_index="31502" local_entity="0" value="0" />
+ <value cell_index="31503" local_entity="0" value="0" />
+ <value cell_index="31504" local_entity="0" value="0" />
+ <value cell_index="31505" local_entity="0" value="0" />
+ <value cell_index="31506" local_entity="0" value="0" />
+ <value cell_index="31507" local_entity="0" value="0" />
+ <value cell_index="31508" local_entity="0" value="0" />
+ <value cell_index="31509" local_entity="0" value="0" />
+ <value cell_index="31510" local_entity="0" value="0" />
+ <value cell_index="31511" local_entity="0" value="0" />
+ <value cell_index="31512" local_entity="0" value="0" />
+ <value cell_index="31513" local_entity="0" value="0" />
+ <value cell_index="31514" local_entity="0" value="0" />
+ <value cell_index="31515" local_entity="0" value="0" />
+ <value cell_index="31516" local_entity="0" value="0" />
+ <value cell_index="31517" local_entity="0" value="0" />
+ <value cell_index="31518" local_entity="0" value="0" />
+ <value cell_index="31519" local_entity="0" value="0" />
+ <value cell_index="31520" local_entity="0" value="0" />
+ <value cell_index="31521" local_entity="0" value="0" />
+ <value cell_index="31522" local_entity="0" value="0" />
+ <value cell_index="31523" local_entity="0" value="0" />
+ <value cell_index="31524" local_entity="0" value="0" />
+ <value cell_index="31525" local_entity="0" value="0" />
+ <value cell_index="31526" local_entity="0" value="0" />
+ <value cell_index="31527" local_entity="0" value="0" />
+ <value cell_index="31528" local_entity="0" value="0" />
+ <value cell_index="31529" local_entity="0" value="0" />
+ <value cell_index="31530" local_entity="0" value="0" />
+ <value cell_index="31531" local_entity="0" value="0" />
+ <value cell_index="31532" local_entity="0" value="0" />
+ <value cell_index="31533" local_entity="0" value="0" />
+ <value cell_index="31534" local_entity="0" value="0" />
+ <value cell_index="31535" local_entity="0" value="0" />
+ <value cell_index="31536" local_entity="0" value="0" />
+ <value cell_index="31537" local_entity="0" value="0" />
+ <value cell_index="31538" local_entity="0" value="0" />
+ <value cell_index="31539" local_entity="0" value="0" />
+ <value cell_index="31540" local_entity="0" value="0" />
+ <value cell_index="31541" local_entity="0" value="0" />
+ <value cell_index="31542" local_entity="0" value="0" />
+ <value cell_index="31543" local_entity="0" value="0" />
+ <value cell_index="31544" local_entity="0" value="0" />
+ <value cell_index="31545" local_entity="0" value="0" />
+ <value cell_index="31546" local_entity="0" value="0" />
+ <value cell_index="31547" local_entity="0" value="0" />
+ <value cell_index="31548" local_entity="0" value="0" />
+ <value cell_index="31549" local_entity="0" value="0" />
+ <value cell_index="31550" local_entity="0" value="0" />
+ <value cell_index="31551" local_entity="0" value="0" />
+ <value cell_index="31552" local_entity="0" value="0" />
+ <value cell_index="31553" local_entity="0" value="0" />
+ <value cell_index="31554" local_entity="0" value="0" />
+ <value cell_index="31555" local_entity="0" value="0" />
+ <value cell_index="31556" local_entity="0" value="0" />
+ <value cell_index="31557" local_entity="0" value="0" />
+ <value cell_index="31558" local_entity="0" value="0" />
+ <value cell_index="31559" local_entity="0" value="0" />
+ <value cell_index="31560" local_entity="0" value="0" />
+ <value cell_index="31561" local_entity="0" value="0" />
+ <value cell_index="31562" local_entity="0" value="0" />
+ <value cell_index="31563" local_entity="0" value="0" />
+ <value cell_index="31564" local_entity="0" value="0" />
+ <value cell_index="31565" local_entity="0" value="0" />
+ <value cell_index="31566" local_entity="0" value="0" />
+ <value cell_index="31567" local_entity="0" value="0" />
+ <value cell_index="31568" local_entity="0" value="0" />
+ <value cell_index="31569" local_entity="0" value="0" />
+ <value cell_index="31570" local_entity="0" value="0" />
+ <value cell_index="31571" local_entity="0" value="0" />
+ <value cell_index="31572" local_entity="0" value="0" />
+ <value cell_index="31573" local_entity="0" value="0" />
+ <value cell_index="31574" local_entity="0" value="0" />
+ <value cell_index="31575" local_entity="0" value="0" />
+ <value cell_index="31576" local_entity="0" value="0" />
+ <value cell_index="31577" local_entity="0" value="0" />
+ <value cell_index="31578" local_entity="0" value="0" />
+ <value cell_index="31579" local_entity="0" value="0" />
+ <value cell_index="31580" local_entity="0" value="0" />
+ <value cell_index="31581" local_entity="0" value="0" />
+ <value cell_index="31582" local_entity="0" value="0" />
+ <value cell_index="31583" local_entity="0" value="0" />
+ <value cell_index="31584" local_entity="0" value="0" />
+ <value cell_index="31585" local_entity="0" value="0" />
+ <value cell_index="31586" local_entity="0" value="0" />
+ <value cell_index="31587" local_entity="0" value="0" />
+ <value cell_index="31588" local_entity="0" value="0" />
+ <value cell_index="31589" local_entity="0" value="0" />
+ <value cell_index="31590" local_entity="0" value="0" />
+ <value cell_index="31591" local_entity="0" value="0" />
+ <value cell_index="31592" local_entity="0" value="0" />
+ <value cell_index="31593" local_entity="0" value="0" />
+ <value cell_index="31594" local_entity="0" value="0" />
+ <value cell_index="31595" local_entity="0" value="0" />
+ <value cell_index="31596" local_entity="0" value="0" />
+ <value cell_index="31597" local_entity="0" value="0" />
+ <value cell_index="31598" local_entity="0" value="0" />
+ <value cell_index="31599" local_entity="0" value="0" />
+ <value cell_index="31600" local_entity="0" value="0" />
+ <value cell_index="31601" local_entity="0" value="0" />
+ <value cell_index="31602" local_entity="0" value="0" />
+ <value cell_index="31603" local_entity="0" value="0" />
+ <value cell_index="31604" local_entity="0" value="0" />
+ <value cell_index="31605" local_entity="0" value="0" />
+ <value cell_index="31606" local_entity="0" value="0" />
+ <value cell_index="31607" local_entity="0" value="0" />
+ <value cell_index="31608" local_entity="0" value="0" />
+ <value cell_index="31609" local_entity="0" value="0" />
+ <value cell_index="31610" local_entity="0" value="0" />
+ <value cell_index="31611" local_entity="0" value="0" />
+ <value cell_index="31612" local_entity="0" value="0" />
+ <value cell_index="31613" local_entity="0" value="0" />
+ <value cell_index="31614" local_entity="0" value="0" />
+ <value cell_index="31615" local_entity="0" value="0" />
+ <value cell_index="31616" local_entity="0" value="0" />
+ <value cell_index="31617" local_entity="0" value="0" />
+ <value cell_index="31618" local_entity="0" value="0" />
+ <value cell_index="31619" local_entity="0" value="0" />
+ <value cell_index="31620" local_entity="0" value="0" />
+ <value cell_index="31621" local_entity="0" value="0" />
+ <value cell_index="31622" local_entity="0" value="0" />
+ <value cell_index="31623" local_entity="0" value="0" />
+ <value cell_index="31624" local_entity="0" value="0" />
+ <value cell_index="31625" local_entity="0" value="0" />
+ <value cell_index="31626" local_entity="0" value="0" />
+ <value cell_index="31627" local_entity="0" value="0" />
+ <value cell_index="31628" local_entity="0" value="0" />
+ <value cell_index="31629" local_entity="0" value="0" />
+ <value cell_index="31630" local_entity="0" value="0" />
+ <value cell_index="31631" local_entity="0" value="0" />
+ <value cell_index="31632" local_entity="0" value="0" />
+ <value cell_index="31633" local_entity="0" value="0" />
+ <value cell_index="31634" local_entity="0" value="0" />
+ <value cell_index="31635" local_entity="0" value="0" />
+ <value cell_index="31636" local_entity="0" value="0" />
+ <value cell_index="31637" local_entity="0" value="0" />
+ <value cell_index="31638" local_entity="0" value="0" />
+ <value cell_index="31639" local_entity="0" value="0" />
+ <value cell_index="31640" local_entity="0" value="0" />
+ <value cell_index="31641" local_entity="0" value="0" />
+ <value cell_index="31642" local_entity="0" value="0" />
+ <value cell_index="31643" local_entity="0" value="0" />
+ <value cell_index="31644" local_entity="0" value="0" />
+ <value cell_index="31645" local_entity="0" value="0" />
+ <value cell_index="31646" local_entity="0" value="0" />
+ <value cell_index="31647" local_entity="0" value="0" />
+ <value cell_index="31648" local_entity="0" value="0" />
+ <value cell_index="31649" local_entity="0" value="0" />
+ <value cell_index="31650" local_entity="0" value="0" />
+ <value cell_index="31651" local_entity="0" value="0" />
+ <value cell_index="31652" local_entity="0" value="0" />
+ <value cell_index="31653" local_entity="0" value="0" />
+ <value cell_index="31654" local_entity="0" value="0" />
+ <value cell_index="31655" local_entity="0" value="0" />
+ <value cell_index="31656" local_entity="0" value="0" />
+ <value cell_index="31657" local_entity="0" value="0" />
+ <value cell_index="31658" local_entity="0" value="0" />
+ <value cell_index="31659" local_entity="0" value="0" />
+ <value cell_index="31660" local_entity="0" value="0" />
+ <value cell_index="31661" local_entity="0" value="0" />
+ <value cell_index="31662" local_entity="0" value="0" />
+ <value cell_index="31663" local_entity="0" value="0" />
+ <value cell_index="31664" local_entity="0" value="0" />
+ <value cell_index="31665" local_entity="0" value="0" />
+ <value cell_index="31666" local_entity="0" value="0" />
+ <value cell_index="31667" local_entity="0" value="0" />
+ <value cell_index="31668" local_entity="0" value="0" />
+ <value cell_index="31669" local_entity="0" value="0" />
+ <value cell_index="31670" local_entity="0" value="0" />
+ <value cell_index="31671" local_entity="0" value="0" />
+ <value cell_index="31672" local_entity="0" value="0" />
+ <value cell_index="31673" local_entity="0" value="0" />
+ <value cell_index="31674" local_entity="0" value="0" />
+ <value cell_index="31675" local_entity="0" value="0" />
+ <value cell_index="31676" local_entity="0" value="0" />
+ <value cell_index="31677" local_entity="0" value="0" />
+ <value cell_index="31678" local_entity="0" value="0" />
+ <value cell_index="31679" local_entity="0" value="0" />
+ <value cell_index="31680" local_entity="0" value="0" />
+ <value cell_index="31681" local_entity="0" value="0" />
+ <value cell_index="31682" local_entity="0" value="0" />
+ <value cell_index="31683" local_entity="0" value="0" />
+ <value cell_index="31684" local_entity="0" value="0" />
+ <value cell_index="31685" local_entity="0" value="0" />
+ <value cell_index="31686" local_entity="0" value="0" />
+ <value cell_index="31687" local_entity="0" value="0" />
+ <value cell_index="31688" local_entity="0" value="0" />
+ <value cell_index="31689" local_entity="0" value="0" />
+ <value cell_index="31690" local_entity="0" value="0" />
+ <value cell_index="31691" local_entity="0" value="0" />
+ <value cell_index="31692" local_entity="0" value="0" />
+ <value cell_index="31693" local_entity="0" value="0" />
+ <value cell_index="31694" local_entity="0" value="0" />
+ <value cell_index="31695" local_entity="0" value="0" />
+ <value cell_index="31696" local_entity="0" value="0" />
+ <value cell_index="31697" local_entity="0" value="0" />
+ <value cell_index="31698" local_entity="0" value="0" />
+ <value cell_index="31699" local_entity="0" value="0" />
+ <value cell_index="31700" local_entity="0" value="0" />
+ <value cell_index="31701" local_entity="0" value="0" />
+ <value cell_index="31702" local_entity="0" value="0" />
+ <value cell_index="31703" local_entity="0" value="0" />
+ <value cell_index="31704" local_entity="0" value="0" />
+ <value cell_index="31705" local_entity="0" value="0" />
+ <value cell_index="31706" local_entity="0" value="0" />
+ <value cell_index="31707" local_entity="0" value="0" />
+ <value cell_index="31708" local_entity="0" value="0" />
+ <value cell_index="31709" local_entity="0" value="0" />
+ <value cell_index="31710" local_entity="0" value="0" />
+ <value cell_index="31711" local_entity="0" value="0" />
+ <value cell_index="31712" local_entity="0" value="0" />
+ <value cell_index="31713" local_entity="0" value="0" />
+ <value cell_index="31714" local_entity="0" value="0" />
+ <value cell_index="31715" local_entity="0" value="0" />
+ <value cell_index="31716" local_entity="0" value="0" />
+ <value cell_index="31717" local_entity="0" value="0" />
+ <value cell_index="31718" local_entity="0" value="0" />
+ <value cell_index="31719" local_entity="0" value="0" />
+ <value cell_index="31720" local_entity="0" value="0" />
+ <value cell_index="31721" local_entity="0" value="0" />
+ <value cell_index="31722" local_entity="0" value="0" />
+ <value cell_index="31723" local_entity="0" value="0" />
+ <value cell_index="31724" local_entity="0" value="0" />
+ <value cell_index="31725" local_entity="0" value="0" />
+ <value cell_index="31726" local_entity="0" value="0" />
+ <value cell_index="31727" local_entity="0" value="0" />
+ <value cell_index="31728" local_entity="0" value="0" />
+ <value cell_index="31729" local_entity="0" value="0" />
+ <value cell_index="31730" local_entity="0" value="0" />
+ <value cell_index="31731" local_entity="0" value="0" />
+ <value cell_index="31732" local_entity="0" value="0" />
+ <value cell_index="31733" local_entity="0" value="0" />
+ <value cell_index="31734" local_entity="0" value="0" />
+ <value cell_index="31735" local_entity="0" value="0" />
+ <value cell_index="31736" local_entity="0" value="0" />
+ <value cell_index="31737" local_entity="0" value="0" />
+ <value cell_index="31738" local_entity="0" value="0" />
+ <value cell_index="31739" local_entity="0" value="0" />
+ <value cell_index="31740" local_entity="0" value="0" />
+ <value cell_index="31741" local_entity="0" value="0" />
+ <value cell_index="31742" local_entity="0" value="0" />
+ <value cell_index="31743" local_entity="0" value="0" />
+ <value cell_index="31744" local_entity="0" value="0" />
+ <value cell_index="31745" local_entity="0" value="0" />
+ <value cell_index="31746" local_entity="0" value="0" />
+ <value cell_index="31747" local_entity="0" value="0" />
+ <value cell_index="31748" local_entity="0" value="0" />
+ <value cell_index="31749" local_entity="0" value="0" />
+ <value cell_index="31750" local_entity="0" value="0" />
+ <value cell_index="31751" local_entity="0" value="0" />
+ <value cell_index="31752" local_entity="0" value="0" />
+ <value cell_index="31753" local_entity="0" value="0" />
+ <value cell_index="31754" local_entity="0" value="0" />
+ <value cell_index="31755" local_entity="0" value="0" />
+ <value cell_index="31756" local_entity="0" value="0" />
+ <value cell_index="31757" local_entity="0" value="0" />
+ <value cell_index="31758" local_entity="0" value="0" />
+ <value cell_index="31759" local_entity="0" value="0" />
+ <value cell_index="31760" local_entity="0" value="0" />
+ <value cell_index="31761" local_entity="0" value="0" />
+ <value cell_index="31762" local_entity="0" value="0" />
+ <value cell_index="31763" local_entity="0" value="0" />
+ <value cell_index="31764" local_entity="0" value="0" />
+ <value cell_index="31765" local_entity="0" value="0" />
+ <value cell_index="31766" local_entity="0" value="0" />
+ <value cell_index="31767" local_entity="0" value="0" />
+ <value cell_index="31768" local_entity="0" value="0" />
+ <value cell_index="31769" local_entity="0" value="0" />
+ <value cell_index="31770" local_entity="0" value="0" />
+ <value cell_index="31771" local_entity="0" value="0" />
+ <value cell_index="31772" local_entity="0" value="0" />
+ <value cell_index="31773" local_entity="0" value="0" />
+ <value cell_index="31774" local_entity="0" value="0" />
+ <value cell_index="31775" local_entity="0" value="0" />
+ <value cell_index="31776" local_entity="0" value="0" />
+ <value cell_index="31777" local_entity="0" value="0" />
+ <value cell_index="31778" local_entity="0" value="0" />
+ <value cell_index="31779" local_entity="0" value="0" />
+ <value cell_index="31780" local_entity="0" value="0" />
+ <value cell_index="31781" local_entity="0" value="0" />
+ <value cell_index="31782" local_entity="0" value="0" />
+ <value cell_index="31783" local_entity="0" value="0" />
+ <value cell_index="31784" local_entity="0" value="0" />
+ <value cell_index="31785" local_entity="0" value="0" />
+ <value cell_index="31786" local_entity="0" value="0" />
+ <value cell_index="31787" local_entity="0" value="0" />
+ <value cell_index="31788" local_entity="0" value="0" />
+ <value cell_index="31789" local_entity="0" value="0" />
+ <value cell_index="31790" local_entity="0" value="0" />
+ <value cell_index="31791" local_entity="0" value="0" />
+ <value cell_index="31792" local_entity="0" value="0" />
+ <value cell_index="31793" local_entity="0" value="0" />
+ <value cell_index="31794" local_entity="0" value="0" />
+ <value cell_index="31795" local_entity="0" value="0" />
+ <value cell_index="31796" local_entity="0" value="0" />
+ <value cell_index="31797" local_entity="0" value="0" />
+ <value cell_index="31798" local_entity="0" value="0" />
+ <value cell_index="31799" local_entity="0" value="0" />
+ <value cell_index="31800" local_entity="0" value="0" />
+ <value cell_index="31801" local_entity="0" value="0" />
+ <value cell_index="31802" local_entity="0" value="0" />
+ <value cell_index="31803" local_entity="0" value="0" />
+ <value cell_index="31804" local_entity="0" value="0" />
+ <value cell_index="31805" local_entity="0" value="0" />
+ <value cell_index="31806" local_entity="0" value="0" />
+ <value cell_index="31807" local_entity="0" value="0" />
+ <value cell_index="31808" local_entity="0" value="0" />
+ <value cell_index="31809" local_entity="0" value="0" />
+ <value cell_index="31810" local_entity="0" value="0" />
+ <value cell_index="31811" local_entity="0" value="0" />
+ <value cell_index="31812" local_entity="0" value="0" />
+ <value cell_index="31813" local_entity="0" value="0" />
+ <value cell_index="31814" local_entity="0" value="0" />
+ <value cell_index="31815" local_entity="0" value="0" />
+ <value cell_index="31816" local_entity="0" value="0" />
+ <value cell_index="31817" local_entity="0" value="0" />
+ <value cell_index="31818" local_entity="0" value="0" />
+ <value cell_index="31819" local_entity="0" value="0" />
+ <value cell_index="31820" local_entity="0" value="0" />
+ <value cell_index="31821" local_entity="0" value="0" />
+ <value cell_index="31822" local_entity="0" value="0" />
+ <value cell_index="31823" local_entity="0" value="0" />
+ <value cell_index="31824" local_entity="0" value="0" />
+ <value cell_index="31825" local_entity="0" value="0" />
+ <value cell_index="31826" local_entity="0" value="0" />
+ <value cell_index="31827" local_entity="0" value="0" />
+ <value cell_index="31828" local_entity="0" value="0" />
+ <value cell_index="31829" local_entity="0" value="0" />
+ <value cell_index="31830" local_entity="0" value="0" />
+ <value cell_index="31831" local_entity="0" value="0" />
+ <value cell_index="31832" local_entity="0" value="0" />
+ <value cell_index="31833" local_entity="0" value="0" />
+ <value cell_index="31834" local_entity="0" value="0" />
+ <value cell_index="31835" local_entity="0" value="0" />
+ <value cell_index="31836" local_entity="0" value="0" />
+ <value cell_index="31837" local_entity="0" value="0" />
+ <value cell_index="31838" local_entity="0" value="0" />
+ <value cell_index="31839" local_entity="0" value="0" />
+ <value cell_index="31840" local_entity="0" value="0" />
+ <value cell_index="31841" local_entity="0" value="0" />
+ <value cell_index="31842" local_entity="0" value="0" />
+ <value cell_index="31843" local_entity="0" value="0" />
+ <value cell_index="31844" local_entity="0" value="0" />
+ <value cell_index="31845" local_entity="0" value="0" />
+ <value cell_index="31846" local_entity="0" value="0" />
+ <value cell_index="31847" local_entity="0" value="0" />
+ <value cell_index="31848" local_entity="0" value="0" />
+ <value cell_index="31849" local_entity="0" value="0" />
+ <value cell_index="31850" local_entity="0" value="0" />
+ <value cell_index="31851" local_entity="0" value="0" />
+ <value cell_index="31852" local_entity="0" value="0" />
+ <value cell_index="31853" local_entity="0" value="0" />
+ <value cell_index="31854" local_entity="0" value="0" />
+ <value cell_index="31855" local_entity="0" value="0" />
+ <value cell_index="31856" local_entity="0" value="0" />
+ <value cell_index="31857" local_entity="0" value="0" />
+ <value cell_index="31858" local_entity="0" value="0" />
+ <value cell_index="31859" local_entity="0" value="0" />
+ <value cell_index="31860" local_entity="0" value="0" />
+ <value cell_index="31861" local_entity="0" value="0" />
+ <value cell_index="31862" local_entity="0" value="0" />
+ <value cell_index="31863" local_entity="0" value="0" />
+ <value cell_index="31864" local_entity="0" value="0" />
+ <value cell_index="31865" local_entity="0" value="0" />
+ <value cell_index="31866" local_entity="0" value="0" />
+ <value cell_index="31867" local_entity="0" value="0" />
+ <value cell_index="31868" local_entity="0" value="0" />
+ <value cell_index="31869" local_entity="0" value="0" />
+ <value cell_index="31870" local_entity="0" value="0" />
+ <value cell_index="31871" local_entity="0" value="0" />
+ <value cell_index="31872" local_entity="0" value="0" />
+ <value cell_index="31873" local_entity="0" value="0" />
+ <value cell_index="31874" local_entity="0" value="0" />
+ <value cell_index="31875" local_entity="0" value="0" />
+ <value cell_index="31876" local_entity="0" value="0" />
+ <value cell_index="31877" local_entity="0" value="0" />
+ <value cell_index="31878" local_entity="0" value="0" />
+ <value cell_index="31879" local_entity="0" value="0" />
+ <value cell_index="31880" local_entity="0" value="0" />
+ <value cell_index="31881" local_entity="0" value="0" />
+ <value cell_index="31882" local_entity="0" value="0" />
+ <value cell_index="31883" local_entity="0" value="0" />
+ <value cell_index="31884" local_entity="0" value="0" />
+ <value cell_index="31885" local_entity="0" value="0" />
+ <value cell_index="31886" local_entity="0" value="0" />
+ <value cell_index="31887" local_entity="0" value="0" />
+ <value cell_index="31888" local_entity="0" value="0" />
+ <value cell_index="31889" local_entity="0" value="0" />
+ <value cell_index="31890" local_entity="0" value="0" />
+ <value cell_index="31891" local_entity="0" value="0" />
+ <value cell_index="31892" local_entity="0" value="0" />
+ <value cell_index="31893" local_entity="0" value="0" />
+ <value cell_index="31894" local_entity="0" value="0" />
+ <value cell_index="31895" local_entity="0" value="0" />
+ <value cell_index="31896" local_entity="0" value="0" />
+ <value cell_index="31897" local_entity="0" value="0" />
+ <value cell_index="31898" local_entity="0" value="0" />
+ <value cell_index="31899" local_entity="0" value="0" />
+ <value cell_index="31900" local_entity="0" value="0" />
+ <value cell_index="31901" local_entity="0" value="0" />
+ <value cell_index="31902" local_entity="0" value="0" />
+ <value cell_index="31903" local_entity="0" value="0" />
+ <value cell_index="31904" local_entity="0" value="0" />
+ <value cell_index="31905" local_entity="0" value="0" />
+ <value cell_index="31906" local_entity="0" value="0" />
+ <value cell_index="31907" local_entity="0" value="0" />
+ <value cell_index="31908" local_entity="0" value="0" />
+ <value cell_index="31909" local_entity="0" value="0" />
+ <value cell_index="31910" local_entity="0" value="0" />
+ <value cell_index="31911" local_entity="0" value="0" />
+ <value cell_index="31912" local_entity="0" value="0" />
+ <value cell_index="31913" local_entity="0" value="0" />
+ <value cell_index="31914" local_entity="0" value="0" />
+ <value cell_index="31915" local_entity="0" value="0" />
+ <value cell_index="31916" local_entity="0" value="0" />
+ <value cell_index="31917" local_entity="0" value="0" />
+ <value cell_index="31918" local_entity="0" value="0" />
+ <value cell_index="31919" local_entity="0" value="0" />
+ <value cell_index="31920" local_entity="0" value="0" />
+ <value cell_index="31921" local_entity="0" value="0" />
+ <value cell_index="31922" local_entity="0" value="0" />
+ <value cell_index="31923" local_entity="0" value="0" />
+ <value cell_index="31924" local_entity="0" value="0" />
+ <value cell_index="31925" local_entity="0" value="0" />
+ <value cell_index="31926" local_entity="0" value="0" />
+ <value cell_index="31927" local_entity="0" value="0" />
+ <value cell_index="31928" local_entity="0" value="0" />
+ <value cell_index="31929" local_entity="0" value="0" />
+ <value cell_index="31930" local_entity="0" value="0" />
+ <value cell_index="31931" local_entity="0" value="0" />
+ <value cell_index="31932" local_entity="0" value="0" />
+ <value cell_index="31933" local_entity="0" value="0" />
+ <value cell_index="31934" local_entity="0" value="0" />
+ <value cell_index="31935" local_entity="0" value="0" />
+ <value cell_index="31936" local_entity="0" value="0" />
+ <value cell_index="31937" local_entity="0" value="0" />
+ <value cell_index="31938" local_entity="0" value="0" />
+ <value cell_index="31939" local_entity="0" value="0" />
+ <value cell_index="31940" local_entity="0" value="0" />
+ <value cell_index="31941" local_entity="0" value="0" />
+ <value cell_index="31942" local_entity="0" value="0" />
+ <value cell_index="31943" local_entity="0" value="0" />
+ <value cell_index="31944" local_entity="0" value="0" />
+ <value cell_index="31945" local_entity="0" value="0" />
+ <value cell_index="31946" local_entity="0" value="0" />
+ <value cell_index="31947" local_entity="0" value="0" />
+ <value cell_index="31948" local_entity="0" value="0" />
+ <value cell_index="31949" local_entity="0" value="0" />
+ <value cell_index="31950" local_entity="0" value="0" />
+ <value cell_index="31951" local_entity="0" value="0" />
+ <value cell_index="31952" local_entity="0" value="0" />
+ <value cell_index="31953" local_entity="0" value="0" />
+ <value cell_index="31954" local_entity="0" value="0" />
+ <value cell_index="31955" local_entity="0" value="0" />
+ <value cell_index="31956" local_entity="0" value="0" />
+ <value cell_index="31957" local_entity="0" value="0" />
+ <value cell_index="31958" local_entity="0" value="0" />
+ <value cell_index="31959" local_entity="0" value="0" />
+ <value cell_index="31960" local_entity="0" value="0" />
+ <value cell_index="31961" local_entity="0" value="0" />
+ <value cell_index="31962" local_entity="0" value="0" />
+ <value cell_index="31963" local_entity="0" value="0" />
+ <value cell_index="31964" local_entity="0" value="0" />
+ <value cell_index="31965" local_entity="0" value="0" />
+ <value cell_index="31966" local_entity="0" value="0" />
+ <value cell_index="31967" local_entity="0" value="0" />
+ <value cell_index="31968" local_entity="0" value="0" />
+ <value cell_index="31969" local_entity="0" value="0" />
+ <value cell_index="31970" local_entity="0" value="0" />
+ <value cell_index="31971" local_entity="0" value="0" />
+ <value cell_index="31972" local_entity="0" value="0" />
+ <value cell_index="31973" local_entity="0" value="0" />
+ <value cell_index="31974" local_entity="0" value="0" />
+ <value cell_index="31975" local_entity="0" value="0" />
+ <value cell_index="31976" local_entity="0" value="0" />
+ <value cell_index="31977" local_entity="0" value="0" />
+ <value cell_index="31978" local_entity="0" value="0" />
+ <value cell_index="31979" local_entity="0" value="0" />
+ <value cell_index="31980" local_entity="0" value="0" />
+ <value cell_index="31981" local_entity="0" value="0" />
+ <value cell_index="31982" local_entity="0" value="0" />
+ <value cell_index="31983" local_entity="0" value="0" />
+ <value cell_index="31984" local_entity="0" value="0" />
+ <value cell_index="31985" local_entity="0" value="0" />
+ <value cell_index="31986" local_entity="0" value="0" />
+ <value cell_index="31987" local_entity="0" value="0" />
+ <value cell_index="31988" local_entity="0" value="0" />
+ <value cell_index="31989" local_entity="0" value="0" />
+ <value cell_index="31990" local_entity="0" value="0" />
+ <value cell_index="31991" local_entity="0" value="0" />
+ <value cell_index="31992" local_entity="0" value="0" />
+ <value cell_index="31993" local_entity="0" value="0" />
+ <value cell_index="31994" local_entity="0" value="0" />
+ <value cell_index="31995" local_entity="0" value="0" />
+ <value cell_index="31996" local_entity="0" value="0" />
+ <value cell_index="31997" local_entity="0" value="0" />
+ <value cell_index="31998" local_entity="0" value="0" />
+ <value cell_index="31999" local_entity="0" value="0" />
+ <value cell_index="32000" local_entity="0" value="0" />
+ <value cell_index="32001" local_entity="0" value="0" />
+ <value cell_index="32002" local_entity="0" value="0" />
+ <value cell_index="32003" local_entity="0" value="0" />
+ <value cell_index="32004" local_entity="0" value="0" />
+ <value cell_index="32005" local_entity="0" value="0" />
+ <value cell_index="32006" local_entity="0" value="0" />
+ <value cell_index="32007" local_entity="0" value="0" />
+ <value cell_index="32008" local_entity="0" value="0" />
+ <value cell_index="32009" local_entity="0" value="0" />
+ <value cell_index="32010" local_entity="0" value="0" />
+ <value cell_index="32011" local_entity="0" value="0" />
+ <value cell_index="32012" local_entity="0" value="0" />
+ <value cell_index="32013" local_entity="0" value="0" />
+ <value cell_index="32014" local_entity="0" value="0" />
+ <value cell_index="32015" local_entity="0" value="0" />
+ <value cell_index="32016" local_entity="0" value="0" />
+ <value cell_index="32017" local_entity="0" value="0" />
+ <value cell_index="32018" local_entity="0" value="0" />
+ <value cell_index="32019" local_entity="0" value="0" />
+ <value cell_index="32020" local_entity="0" value="0" />
+ <value cell_index="32021" local_entity="0" value="0" />
+ <value cell_index="32022" local_entity="0" value="0" />
+ <value cell_index="32023" local_entity="0" value="0" />
+ <value cell_index="32024" local_entity="0" value="0" />
+ <value cell_index="32025" local_entity="0" value="0" />
+ <value cell_index="32026" local_entity="0" value="0" />
+ <value cell_index="32027" local_entity="0" value="0" />
+ <value cell_index="32028" local_entity="0" value="0" />
+ <value cell_index="32029" local_entity="0" value="0" />
+ <value cell_index="32030" local_entity="0" value="0" />
+ <value cell_index="32031" local_entity="0" value="0" />
+ <value cell_index="32032" local_entity="0" value="0" />
+ <value cell_index="32033" local_entity="0" value="0" />
+ <value cell_index="32034" local_entity="0" value="0" />
+ <value cell_index="32035" local_entity="0" value="0" />
+ <value cell_index="32036" local_entity="0" value="0" />
+ <value cell_index="32037" local_entity="0" value="0" />
+ <value cell_index="32038" local_entity="0" value="0" />
+ <value cell_index="32039" local_entity="0" value="0" />
+ <value cell_index="32040" local_entity="0" value="0" />
+ <value cell_index="32041" local_entity="0" value="0" />
+ <value cell_index="32042" local_entity="0" value="0" />
+ <value cell_index="32043" local_entity="0" value="0" />
+ <value cell_index="32044" local_entity="0" value="0" />
+ <value cell_index="32045" local_entity="0" value="0" />
+ <value cell_index="32046" local_entity="0" value="0" />
+ <value cell_index="32047" local_entity="0" value="0" />
+ <value cell_index="32048" local_entity="0" value="0" />
+ <value cell_index="32049" local_entity="0" value="0" />
+ <value cell_index="32050" local_entity="0" value="0" />
+ <value cell_index="32051" local_entity="0" value="0" />
+ <value cell_index="32052" local_entity="0" value="0" />
+ <value cell_index="32053" local_entity="0" value="0" />
+ <value cell_index="32054" local_entity="0" value="0" />
+ <value cell_index="32055" local_entity="0" value="0" />
+ <value cell_index="32056" local_entity="0" value="0" />
+ <value cell_index="32057" local_entity="0" value="0" />
+ <value cell_index="32058" local_entity="0" value="0" />
+ <value cell_index="32059" local_entity="0" value="0" />
+ <value cell_index="32060" local_entity="0" value="0" />
+ <value cell_index="32061" local_entity="0" value="0" />
+ <value cell_index="32062" local_entity="0" value="0" />
+ <value cell_index="32063" local_entity="0" value="0" />
+ <value cell_index="32064" local_entity="0" value="0" />
+ <value cell_index="32065" local_entity="0" value="0" />
+ <value cell_index="32066" local_entity="0" value="0" />
+ <value cell_index="32067" local_entity="0" value="0" />
+ <value cell_index="32068" local_entity="0" value="0" />
+ <value cell_index="32069" local_entity="0" value="0" />
+ <value cell_index="32070" local_entity="0" value="0" />
+ <value cell_index="32071" local_entity="0" value="0" />
+ <value cell_index="32072" local_entity="0" value="0" />
+ <value cell_index="32073" local_entity="0" value="0" />
+ <value cell_index="32074" local_entity="0" value="0" />
+ <value cell_index="32075" local_entity="0" value="0" />
+ <value cell_index="32076" local_entity="0" value="0" />
+ <value cell_index="32077" local_entity="0" value="0" />
+ <value cell_index="32078" local_entity="0" value="0" />
+ <value cell_index="32079" local_entity="0" value="0" />
+ <value cell_index="32080" local_entity="0" value="0" />
+ <value cell_index="32081" local_entity="0" value="0" />
+ <value cell_index="32082" local_entity="0" value="0" />
+ <value cell_index="32083" local_entity="0" value="0" />
+ <value cell_index="32084" local_entity="0" value="0" />
+ <value cell_index="32085" local_entity="0" value="0" />
+ <value cell_index="32086" local_entity="0" value="0" />
+ <value cell_index="32087" local_entity="0" value="0" />
+ <value cell_index="32088" local_entity="0" value="0" />
+ <value cell_index="32089" local_entity="0" value="0" />
+ <value cell_index="32090" local_entity="0" value="0" />
+ <value cell_index="32091" local_entity="0" value="0" />
+ <value cell_index="32092" local_entity="0" value="0" />
+ <value cell_index="32093" local_entity="0" value="0" />
+ <value cell_index="32094" local_entity="0" value="0" />
+ <value cell_index="32095" local_entity="0" value="0" />
+ <value cell_index="32096" local_entity="0" value="0" />
+ <value cell_index="32097" local_entity="0" value="0" />
+ <value cell_index="32098" local_entity="0" value="0" />
+ <value cell_index="32099" local_entity="0" value="0" />
+ <value cell_index="32100" local_entity="0" value="0" />
+ <value cell_index="32101" local_entity="0" value="0" />
+ <value cell_index="32102" local_entity="0" value="0" />
+ <value cell_index="32103" local_entity="0" value="0" />
+ <value cell_index="32104" local_entity="0" value="0" />
+ <value cell_index="32105" local_entity="0" value="0" />
+ <value cell_index="32106" local_entity="0" value="0" />
+ <value cell_index="32107" local_entity="0" value="0" />
+ <value cell_index="32108" local_entity="0" value="0" />
+ <value cell_index="32109" local_entity="0" value="0" />
+ <value cell_index="32110" local_entity="0" value="0" />
+ <value cell_index="32111" local_entity="0" value="0" />
+ <value cell_index="32112" local_entity="0" value="0" />
+ <value cell_index="32113" local_entity="0" value="0" />
+ <value cell_index="32114" local_entity="0" value="0" />
+ <value cell_index="32115" local_entity="0" value="0" />
+ <value cell_index="32116" local_entity="0" value="0" />
+ <value cell_index="32117" local_entity="0" value="0" />
+ <value cell_index="32118" local_entity="0" value="0" />
+ <value cell_index="32119" local_entity="0" value="0" />
+ <value cell_index="32120" local_entity="0" value="0" />
+ <value cell_index="32121" local_entity="0" value="0" />
+ <value cell_index="32122" local_entity="0" value="0" />
+ <value cell_index="32123" local_entity="0" value="0" />
+ <value cell_index="32124" local_entity="0" value="0" />
+ <value cell_index="32125" local_entity="0" value="0" />
+ <value cell_index="32126" local_entity="0" value="0" />
+ <value cell_index="32127" local_entity="0" value="0" />
+ <value cell_index="32128" local_entity="0" value="0" />
+ <value cell_index="32129" local_entity="0" value="0" />
+ <value cell_index="32130" local_entity="0" value="0" />
+ <value cell_index="32131" local_entity="0" value="0" />
+ <value cell_index="32132" local_entity="0" value="0" />
+ <value cell_index="32133" local_entity="0" value="0" />
+ <value cell_index="32134" local_entity="0" value="0" />
+ <value cell_index="32135" local_entity="0" value="0" />
+ <value cell_index="32136" local_entity="0" value="0" />
+ <value cell_index="32137" local_entity="0" value="0" />
+ <value cell_index="32138" local_entity="0" value="0" />
+ <value cell_index="32139" local_entity="0" value="0" />
+ <value cell_index="32140" local_entity="0" value="0" />
+ <value cell_index="32141" local_entity="0" value="0" />
+ <value cell_index="32142" local_entity="0" value="0" />
+ <value cell_index="32143" local_entity="0" value="0" />
+ <value cell_index="32144" local_entity="0" value="0" />
+ <value cell_index="32145" local_entity="0" value="0" />
+ <value cell_index="32146" local_entity="0" value="0" />
+ <value cell_index="32147" local_entity="0" value="0" />
+ <value cell_index="32148" local_entity="0" value="0" />
+ <value cell_index="32149" local_entity="0" value="0" />
+ <value cell_index="32150" local_entity="0" value="0" />
+ <value cell_index="32151" local_entity="0" value="0" />
+ <value cell_index="32152" local_entity="0" value="0" />
+ <value cell_index="32153" local_entity="0" value="0" />
+ <value cell_index="32154" local_entity="0" value="0" />
+ <value cell_index="32155" local_entity="0" value="0" />
+ <value cell_index="32156" local_entity="0" value="0" />
+ <value cell_index="32157" local_entity="0" value="0" />
+ <value cell_index="32158" local_entity="0" value="0" />
+ <value cell_index="32159" local_entity="0" value="0" />
+ <value cell_index="32160" local_entity="0" value="0" />
+ <value cell_index="32161" local_entity="0" value="0" />
+ <value cell_index="32162" local_entity="0" value="0" />
+ <value cell_index="32163" local_entity="0" value="0" />
+ <value cell_index="32164" local_entity="0" value="0" />
+ <value cell_index="32165" local_entity="0" value="0" />
+ <value cell_index="32166" local_entity="0" value="0" />
+ <value cell_index="32167" local_entity="0" value="0" />
+ <value cell_index="32168" local_entity="0" value="0" />
+ <value cell_index="32169" local_entity="0" value="0" />
+ <value cell_index="32170" local_entity="0" value="0" />
+ <value cell_index="32171" local_entity="0" value="0" />
+ <value cell_index="32172" local_entity="0" value="0" />
+ <value cell_index="32173" local_entity="0" value="0" />
+ <value cell_index="32174" local_entity="0" value="0" />
+ <value cell_index="32175" local_entity="0" value="0" />
+ <value cell_index="32176" local_entity="0" value="0" />
+ <value cell_index="32177" local_entity="0" value="0" />
+ <value cell_index="32178" local_entity="0" value="0" />
+ <value cell_index="32179" local_entity="0" value="0" />
+ <value cell_index="32180" local_entity="0" value="0" />
+ <value cell_index="32181" local_entity="0" value="0" />
+ <value cell_index="32182" local_entity="0" value="0" />
+ <value cell_index="32183" local_entity="0" value="0" />
+ <value cell_index="32184" local_entity="0" value="0" />
+ <value cell_index="32185" local_entity="0" value="0" />
+ <value cell_index="32186" local_entity="0" value="0" />
+ <value cell_index="32187" local_entity="0" value="0" />
+ <value cell_index="32188" local_entity="0" value="0" />
+ <value cell_index="32189" local_entity="0" value="0" />
+ <value cell_index="32190" local_entity="0" value="0" />
+ <value cell_index="32191" local_entity="0" value="0" />
+ <value cell_index="32192" local_entity="0" value="0" />
+ <value cell_index="32193" local_entity="0" value="0" />
+ <value cell_index="32194" local_entity="0" value="0" />
+ <value cell_index="32195" local_entity="0" value="0" />
+ <value cell_index="32196" local_entity="0" value="0" />
+ <value cell_index="32197" local_entity="0" value="0" />
+ <value cell_index="32198" local_entity="0" value="0" />
+ <value cell_index="32199" local_entity="0" value="0" />
+ <value cell_index="32200" local_entity="0" value="0" />
+ <value cell_index="32201" local_entity="0" value="0" />
+ <value cell_index="32202" local_entity="0" value="0" />
+ <value cell_index="32203" local_entity="0" value="0" />
+ <value cell_index="32204" local_entity="0" value="0" />
+ <value cell_index="32205" local_entity="0" value="0" />
+ <value cell_index="32206" local_entity="0" value="0" />
+ <value cell_index="32207" local_entity="0" value="0" />
+ <value cell_index="32208" local_entity="0" value="0" />
+ <value cell_index="32209" local_entity="0" value="0" />
+ <value cell_index="32210" local_entity="0" value="0" />
+ <value cell_index="32211" local_entity="0" value="0" />
+ <value cell_index="32212" local_entity="0" value="0" />
+ <value cell_index="32213" local_entity="0" value="0" />
+ <value cell_index="32214" local_entity="0" value="0" />
+ <value cell_index="32215" local_entity="0" value="0" />
+ <value cell_index="32216" local_entity="0" value="0" />
+ <value cell_index="32217" local_entity="0" value="0" />
+ <value cell_index="32218" local_entity="0" value="0" />
+ <value cell_index="32219" local_entity="0" value="0" />
+ <value cell_index="32220" local_entity="0" value="0" />
+ <value cell_index="32221" local_entity="0" value="0" />
+ <value cell_index="32222" local_entity="0" value="0" />
+ <value cell_index="32223" local_entity="0" value="0" />
+ <value cell_index="32224" local_entity="0" value="0" />
+ <value cell_index="32225" local_entity="0" value="0" />
+ <value cell_index="32226" local_entity="0" value="0" />
+ <value cell_index="32227" local_entity="0" value="0" />
+ <value cell_index="32228" local_entity="0" value="0" />
+ <value cell_index="32229" local_entity="0" value="0" />
+ <value cell_index="32230" local_entity="0" value="0" />
+ <value cell_index="32231" local_entity="0" value="0" />
+ <value cell_index="32232" local_entity="0" value="0" />
+ <value cell_index="32233" local_entity="0" value="0" />
+ <value cell_index="32234" local_entity="0" value="0" />
+ <value cell_index="32235" local_entity="0" value="0" />
+ <value cell_index="32236" local_entity="0" value="0" />
+ <value cell_index="32237" local_entity="0" value="0" />
+ <value cell_index="32238" local_entity="0" value="0" />
+ <value cell_index="32239" local_entity="0" value="0" />
+ <value cell_index="32240" local_entity="0" value="0" />
+ <value cell_index="32241" local_entity="0" value="0" />
+ <value cell_index="32242" local_entity="0" value="0" />
+ <value cell_index="32243" local_entity="0" value="0" />
+ <value cell_index="32244" local_entity="0" value="0" />
+ <value cell_index="32245" local_entity="0" value="0" />
+ <value cell_index="32246" local_entity="0" value="0" />
+ <value cell_index="32247" local_entity="0" value="0" />
+ <value cell_index="32248" local_entity="0" value="0" />
+ <value cell_index="32249" local_entity="0" value="0" />
+ <value cell_index="32250" local_entity="0" value="0" />
+ <value cell_index="32251" local_entity="0" value="0" />
+ <value cell_index="32252" local_entity="0" value="0" />
+ <value cell_index="32253" local_entity="0" value="0" />
+ <value cell_index="32254" local_entity="0" value="0" />
+ <value cell_index="32255" local_entity="0" value="0" />
+ <value cell_index="32256" local_entity="0" value="0" />
+ <value cell_index="32257" local_entity="0" value="0" />
+ <value cell_index="32258" local_entity="0" value="0" />
+ <value cell_index="32259" local_entity="0" value="0" />
+ <value cell_index="32260" local_entity="0" value="0" />
+ <value cell_index="32261" local_entity="0" value="0" />
+ <value cell_index="32262" local_entity="0" value="0" />
+ <value cell_index="32263" local_entity="0" value="0" />
+ <value cell_index="32264" local_entity="0" value="0" />
+ <value cell_index="32265" local_entity="0" value="0" />
+ <value cell_index="32266" local_entity="0" value="0" />
+ <value cell_index="32267" local_entity="0" value="0" />
+ <value cell_index="32268" local_entity="0" value="0" />
+ <value cell_index="32269" local_entity="0" value="0" />
+ <value cell_index="32270" local_entity="0" value="0" />
+ <value cell_index="32271" local_entity="0" value="0" />
+ <value cell_index="32272" local_entity="0" value="0" />
+ <value cell_index="32273" local_entity="0" value="0" />
+ <value cell_index="32274" local_entity="0" value="0" />
+ <value cell_index="32275" local_entity="0" value="0" />
+ <value cell_index="32276" local_entity="0" value="0" />
+ <value cell_index="32277" local_entity="0" value="0" />
+ <value cell_index="32278" local_entity="0" value="0" />
+ <value cell_index="32279" local_entity="0" value="0" />
+ <value cell_index="32280" local_entity="0" value="0" />
+ <value cell_index="32281" local_entity="0" value="0" />
+ <value cell_index="32282" local_entity="0" value="0" />
+ <value cell_index="32283" local_entity="0" value="0" />
+ <value cell_index="32284" local_entity="0" value="0" />
+ <value cell_index="32285" local_entity="0" value="0" />
+ <value cell_index="32286" local_entity="0" value="0" />
+ <value cell_index="32287" local_entity="0" value="0" />
+ <value cell_index="32288" local_entity="0" value="0" />
+ <value cell_index="32289" local_entity="0" value="0" />
+ <value cell_index="32290" local_entity="0" value="0" />
+ <value cell_index="32291" local_entity="0" value="0" />
+ <value cell_index="32292" local_entity="0" value="0" />
+ <value cell_index="32293" local_entity="0" value="0" />
+ <value cell_index="32294" local_entity="0" value="0" />
+ <value cell_index="32295" local_entity="0" value="0" />
+ <value cell_index="32296" local_entity="0" value="0" />
+ <value cell_index="32297" local_entity="0" value="0" />
+ <value cell_index="32298" local_entity="0" value="0" />
+ <value cell_index="32299" local_entity="0" value="0" />
+ <value cell_index="32300" local_entity="0" value="0" />
+ <value cell_index="32301" local_entity="0" value="0" />
+ <value cell_index="32302" local_entity="0" value="0" />
+ <value cell_index="32303" local_entity="0" value="0" />
+ <value cell_index="32304" local_entity="0" value="0" />
+ <value cell_index="32305" local_entity="0" value="0" />
+ <value cell_index="32306" local_entity="0" value="0" />
+ <value cell_index="32307" local_entity="0" value="0" />
+ <value cell_index="32308" local_entity="0" value="0" />
+ <value cell_index="32309" local_entity="0" value="0" />
+ <value cell_index="32310" local_entity="0" value="0" />
+ <value cell_index="32311" local_entity="0" value="0" />
+ <value cell_index="32312" local_entity="0" value="0" />
+ <value cell_index="32313" local_entity="0" value="0" />
+ <value cell_index="32314" local_entity="0" value="0" />
+ <value cell_index="32315" local_entity="0" value="0" />
+ <value cell_index="32316" local_entity="0" value="0" />
+ <value cell_index="32317" local_entity="0" value="0" />
+ <value cell_index="32318" local_entity="0" value="0" />
+ <value cell_index="32319" local_entity="0" value="0" />
+ <value cell_index="32320" local_entity="0" value="0" />
+ <value cell_index="32321" local_entity="0" value="0" />
+ <value cell_index="32322" local_entity="0" value="0" />
+ <value cell_index="32323" local_entity="0" value="0" />
+ <value cell_index="32324" local_entity="0" value="0" />
+ <value cell_index="32325" local_entity="0" value="0" />
+ <value cell_index="32326" local_entity="0" value="0" />
+ <value cell_index="32327" local_entity="0" value="0" />
+ <value cell_index="32328" local_entity="0" value="0" />
+ <value cell_index="32329" local_entity="0" value="0" />
+ <value cell_index="32330" local_entity="0" value="0" />
+ <value cell_index="32331" local_entity="0" value="0" />
+ <value cell_index="32332" local_entity="0" value="0" />
+ <value cell_index="32333" local_entity="0" value="0" />
+ <value cell_index="32334" local_entity="0" value="0" />
+ <value cell_index="32335" local_entity="0" value="0" />
+ <value cell_index="32336" local_entity="0" value="0" />
+ <value cell_index="32337" local_entity="0" value="0" />
+ <value cell_index="32338" local_entity="0" value="0" />
+ <value cell_index="32339" local_entity="0" value="0" />
+ <value cell_index="32340" local_entity="0" value="0" />
+ <value cell_index="32341" local_entity="0" value="0" />
+ <value cell_index="32342" local_entity="0" value="0" />
+ <value cell_index="32343" local_entity="0" value="0" />
+ <value cell_index="32344" local_entity="0" value="0" />
+ <value cell_index="32345" local_entity="0" value="0" />
+ <value cell_index="32346" local_entity="0" value="0" />
+ <value cell_index="32347" local_entity="0" value="0" />
+ <value cell_index="32348" local_entity="0" value="0" />
+ <value cell_index="32349" local_entity="0" value="0" />
+ <value cell_index="32350" local_entity="0" value="0" />
+ <value cell_index="32351" local_entity="0" value="0" />
+ <value cell_index="32352" local_entity="0" value="0" />
+ <value cell_index="32353" local_entity="0" value="0" />
+ <value cell_index="32354" local_entity="0" value="0" />
+ <value cell_index="32355" local_entity="0" value="0" />
+ <value cell_index="32356" local_entity="0" value="0" />
+ <value cell_index="32357" local_entity="0" value="0" />
+ <value cell_index="32358" local_entity="0" value="0" />
+ <value cell_index="32359" local_entity="0" value="0" />
+ <value cell_index="32360" local_entity="0" value="0" />
+ <value cell_index="32361" local_entity="0" value="0" />
+ <value cell_index="32362" local_entity="0" value="0" />
+ <value cell_index="32363" local_entity="0" value="0" />
+ <value cell_index="32364" local_entity="0" value="0" />
+ <value cell_index="32365" local_entity="0" value="0" />
+ <value cell_index="32366" local_entity="0" value="0" />
+ <value cell_index="32367" local_entity="0" value="0" />
+ <value cell_index="32368" local_entity="0" value="0" />
+ <value cell_index="32369" local_entity="0" value="0" />
+ <value cell_index="32370" local_entity="0" value="0" />
+ <value cell_index="32371" local_entity="0" value="0" />
+ <value cell_index="32372" local_entity="0" value="0" />
+ <value cell_index="32373" local_entity="0" value="0" />
+ <value cell_index="32374" local_entity="0" value="0" />
+ <value cell_index="32375" local_entity="0" value="0" />
+ <value cell_index="32376" local_entity="0" value="0" />
+ <value cell_index="32377" local_entity="0" value="0" />
+ <value cell_index="32378" local_entity="0" value="0" />
+ <value cell_index="32379" local_entity="0" value="0" />
+ <value cell_index="32380" local_entity="0" value="0" />
+ <value cell_index="32381" local_entity="0" value="0" />
+ <value cell_index="32382" local_entity="0" value="0" />
+ <value cell_index="32383" local_entity="0" value="0" />
+ <value cell_index="32384" local_entity="0" value="0" />
+ <value cell_index="32385" local_entity="0" value="0" />
+ <value cell_index="32386" local_entity="0" value="0" />
+ <value cell_index="32387" local_entity="0" value="0" />
+ <value cell_index="32388" local_entity="0" value="0" />
+ <value cell_index="32389" local_entity="0" value="0" />
+ <value cell_index="32390" local_entity="0" value="0" />
+ <value cell_index="32391" local_entity="0" value="0" />
+ <value cell_index="32392" local_entity="0" value="0" />
+ <value cell_index="32393" local_entity="0" value="0" />
+ <value cell_index="32394" local_entity="0" value="0" />
+ <value cell_index="32395" local_entity="0" value="0" />
+ <value cell_index="32396" local_entity="0" value="0" />
+ <value cell_index="32397" local_entity="0" value="0" />
+ <value cell_index="32398" local_entity="0" value="0" />
+ <value cell_index="32399" local_entity="0" value="0" />
+ <value cell_index="32400" local_entity="0" value="0" />
+ <value cell_index="32401" local_entity="0" value="0" />
+ <value cell_index="32402" local_entity="0" value="0" />
+ <value cell_index="32403" local_entity="0" value="0" />
+ <value cell_index="32404" local_entity="0" value="0" />
+ <value cell_index="32405" local_entity="0" value="0" />
+ <value cell_index="32406" local_entity="0" value="0" />
+ <value cell_index="32407" local_entity="0" value="0" />
+ <value cell_index="32408" local_entity="0" value="0" />
+ <value cell_index="32409" local_entity="0" value="0" />
+ <value cell_index="32410" local_entity="0" value="0" />
+ <value cell_index="32411" local_entity="0" value="0" />
+ <value cell_index="32412" local_entity="0" value="0" />
+ <value cell_index="32413" local_entity="0" value="0" />
+ <value cell_index="32414" local_entity="0" value="0" />
+ <value cell_index="32415" local_entity="0" value="0" />
+ <value cell_index="32416" local_entity="0" value="0" />
+ <value cell_index="32417" local_entity="0" value="0" />
+ <value cell_index="32418" local_entity="0" value="0" />
+ <value cell_index="32419" local_entity="0" value="0" />
+ <value cell_index="32420" local_entity="0" value="0" />
+ <value cell_index="32421" local_entity="0" value="0" />
+ <value cell_index="32422" local_entity="0" value="0" />
+ <value cell_index="32423" local_entity="0" value="0" />
+ <value cell_index="32424" local_entity="0" value="0" />
+ <value cell_index="32425" local_entity="0" value="0" />
+ <value cell_index="32426" local_entity="0" value="0" />
+ <value cell_index="32427" local_entity="0" value="0" />
+ <value cell_index="32428" local_entity="0" value="0" />
+ <value cell_index="32429" local_entity="0" value="0" />
+ <value cell_index="32430" local_entity="0" value="0" />
+ <value cell_index="32431" local_entity="0" value="0" />
+ <value cell_index="32432" local_entity="0" value="0" />
+ <value cell_index="32433" local_entity="0" value="0" />
+ <value cell_index="32434" local_entity="0" value="0" />
+ <value cell_index="32435" local_entity="0" value="0" />
+ <value cell_index="32436" local_entity="0" value="0" />
+ <value cell_index="32437" local_entity="0" value="0" />
+ <value cell_index="32438" local_entity="0" value="0" />
+ <value cell_index="32439" local_entity="0" value="0" />
+ <value cell_index="32440" local_entity="0" value="0" />
+ <value cell_index="32441" local_entity="0" value="0" />
+ <value cell_index="32442" local_entity="0" value="0" />
+ <value cell_index="32443" local_entity="0" value="0" />
+ <value cell_index="32444" local_entity="0" value="0" />
+ <value cell_index="32445" local_entity="0" value="0" />
+ <value cell_index="32446" local_entity="0" value="0" />
+ <value cell_index="32447" local_entity="0" value="0" />
+ <value cell_index="32448" local_entity="0" value="0" />
+ <value cell_index="32449" local_entity="0" value="0" />
+ <value cell_index="32450" local_entity="0" value="0" />
+ <value cell_index="32451" local_entity="0" value="0" />
+ <value cell_index="32452" local_entity="0" value="0" />
+ <value cell_index="32453" local_entity="0" value="0" />
+ <value cell_index="32454" local_entity="0" value="0" />
+ <value cell_index="32455" local_entity="0" value="0" />
+ <value cell_index="32456" local_entity="0" value="0" />
+ <value cell_index="32457" local_entity="0" value="0" />
+ <value cell_index="32458" local_entity="0" value="0" />
+ <value cell_index="32459" local_entity="0" value="0" />
+ <value cell_index="32460" local_entity="0" value="0" />
+ <value cell_index="32461" local_entity="0" value="0" />
+ <value cell_index="32462" local_entity="0" value="0" />
+ <value cell_index="32463" local_entity="0" value="0" />
+ <value cell_index="32464" local_entity="0" value="0" />
+ <value cell_index="32465" local_entity="0" value="0" />
+ <value cell_index="32466" local_entity="0" value="0" />
+ <value cell_index="32467" local_entity="0" value="0" />
+ <value cell_index="32468" local_entity="0" value="0" />
+ <value cell_index="32469" local_entity="0" value="0" />
+ <value cell_index="32470" local_entity="0" value="0" />
+ <value cell_index="32471" local_entity="0" value="0" />
+ <value cell_index="32472" local_entity="0" value="0" />
+ <value cell_index="32473" local_entity="0" value="0" />
+ <value cell_index="32474" local_entity="0" value="0" />
+ <value cell_index="32475" local_entity="0" value="0" />
+ <value cell_index="32476" local_entity="0" value="0" />
+ <value cell_index="32477" local_entity="0" value="0" />
+ <value cell_index="32478" local_entity="0" value="0" />
+ <value cell_index="32479" local_entity="0" value="0" />
+ <value cell_index="32480" local_entity="0" value="0" />
+ <value cell_index="32481" local_entity="0" value="0" />
+ <value cell_index="32482" local_entity="0" value="0" />
+ <value cell_index="32483" local_entity="0" value="0" />
+ <value cell_index="32484" local_entity="0" value="0" />
+ <value cell_index="32485" local_entity="0" value="0" />
+ <value cell_index="32486" local_entity="0" value="0" />
+ <value cell_index="32487" local_entity="0" value="0" />
+ <value cell_index="32488" local_entity="0" value="0" />
+ <value cell_index="32489" local_entity="0" value="0" />
+ <value cell_index="32490" local_entity="0" value="0" />
+ <value cell_index="32491" local_entity="0" value="0" />
+ <value cell_index="32492" local_entity="0" value="0" />
+ <value cell_index="32493" local_entity="0" value="0" />
+ <value cell_index="32494" local_entity="0" value="0" />
+ <value cell_index="32495" local_entity="0" value="0" />
+ <value cell_index="32496" local_entity="0" value="0" />
+ <value cell_index="32497" local_entity="0" value="0" />
+ <value cell_index="32498" local_entity="0" value="0" />
+ <value cell_index="32499" local_entity="0" value="0" />
+ <value cell_index="32500" local_entity="0" value="0" />
+ <value cell_index="32501" local_entity="0" value="0" />
+ <value cell_index="32502" local_entity="0" value="0" />
+ <value cell_index="32503" local_entity="0" value="0" />
+ <value cell_index="32504" local_entity="0" value="0" />
+ <value cell_index="32505" local_entity="0" value="0" />
+ <value cell_index="32506" local_entity="0" value="0" />
+ <value cell_index="32507" local_entity="0" value="0" />
+ <value cell_index="32508" local_entity="0" value="0" />
+ <value cell_index="32509" local_entity="0" value="0" />
+ <value cell_index="32510" local_entity="0" value="0" />
+ <value cell_index="32511" local_entity="0" value="0" />
+ <value cell_index="32512" local_entity="0" value="0" />
+ <value cell_index="32513" local_entity="0" value="0" />
+ <value cell_index="32514" local_entity="0" value="0" />
+ <value cell_index="32515" local_entity="0" value="0" />
+ <value cell_index="32516" local_entity="0" value="0" />
+ <value cell_index="32517" local_entity="0" value="0" />
+ <value cell_index="32518" local_entity="0" value="0" />
+ <value cell_index="32519" local_entity="0" value="0" />
+ <value cell_index="32520" local_entity="0" value="0" />
+ <value cell_index="32521" local_entity="0" value="0" />
+ <value cell_index="32522" local_entity="0" value="0" />
+ <value cell_index="32523" local_entity="0" value="0" />
+ <value cell_index="32524" local_entity="0" value="0" />
+ <value cell_index="32525" local_entity="0" value="0" />
+ <value cell_index="32526" local_entity="0" value="0" />
+ <value cell_index="32527" local_entity="0" value="0" />
+ <value cell_index="32528" local_entity="0" value="0" />
+ <value cell_index="32529" local_entity="0" value="0" />
+ <value cell_index="32530" local_entity="0" value="0" />
+ <value cell_index="32531" local_entity="0" value="0" />
+ <value cell_index="32532" local_entity="0" value="0" />
+ <value cell_index="32533" local_entity="0" value="0" />
+ <value cell_index="32534" local_entity="0" value="0" />
+ <value cell_index="32535" local_entity="0" value="0" />
+ <value cell_index="32536" local_entity="0" value="0" />
+ <value cell_index="32537" local_entity="0" value="0" />
+ <value cell_index="32538" local_entity="0" value="0" />
+ <value cell_index="32539" local_entity="0" value="0" />
+ <value cell_index="32540" local_entity="0" value="0" />
+ <value cell_index="32541" local_entity="0" value="0" />
+ <value cell_index="32542" local_entity="0" value="0" />
+ <value cell_index="32543" local_entity="0" value="0" />
+ <value cell_index="32544" local_entity="0" value="0" />
+ <value cell_index="32545" local_entity="0" value="0" />
+ <value cell_index="32546" local_entity="0" value="0" />
+ <value cell_index="32547" local_entity="0" value="0" />
+ <value cell_index="32548" local_entity="0" value="0" />
+ <value cell_index="32549" local_entity="0" value="0" />
+ <value cell_index="32550" local_entity="0" value="0" />
+ <value cell_index="32551" local_entity="0" value="0" />
+ <value cell_index="32552" local_entity="0" value="0" />
+ <value cell_index="32553" local_entity="0" value="0" />
+ <value cell_index="32554" local_entity="0" value="0" />
+ <value cell_index="32555" local_entity="0" value="0" />
+ <value cell_index="32556" local_entity="0" value="0" />
+ <value cell_index="32557" local_entity="0" value="0" />
+ <value cell_index="32558" local_entity="0" value="0" />
+ <value cell_index="32559" local_entity="0" value="0" />
+ <value cell_index="32560" local_entity="0" value="0" />
+ <value cell_index="32561" local_entity="0" value="0" />
+ <value cell_index="32562" local_entity="0" value="0" />
+ <value cell_index="32563" local_entity="0" value="0" />
+ <value cell_index="32564" local_entity="0" value="0" />
+ <value cell_index="32565" local_entity="0" value="0" />
+ <value cell_index="32566" local_entity="0" value="0" />
+ <value cell_index="32567" local_entity="0" value="0" />
+ <value cell_index="32568" local_entity="0" value="0" />
+ <value cell_index="32569" local_entity="0" value="0" />
+ <value cell_index="32570" local_entity="0" value="0" />
+ <value cell_index="32571" local_entity="0" value="0" />
+ <value cell_index="32572" local_entity="0" value="0" />
+ <value cell_index="32573" local_entity="0" value="0" />
+ <value cell_index="32574" local_entity="0" value="0" />
+ <value cell_index="32575" local_entity="0" value="0" />
+ <value cell_index="32576" local_entity="0" value="0" />
+ <value cell_index="32577" local_entity="0" value="0" />
+ <value cell_index="32578" local_entity="0" value="0" />
+ <value cell_index="32579" local_entity="0" value="0" />
+ <value cell_index="32580" local_entity="0" value="0" />
+ <value cell_index="32581" local_entity="0" value="0" />
+ <value cell_index="32582" local_entity="0" value="0" />
+ <value cell_index="32583" local_entity="0" value="0" />
+ <value cell_index="32584" local_entity="0" value="0" />
+ <value cell_index="32585" local_entity="0" value="0" />
+ <value cell_index="32586" local_entity="0" value="0" />
+ <value cell_index="32587" local_entity="0" value="0" />
+ <value cell_index="32588" local_entity="0" value="0" />
+ <value cell_index="32589" local_entity="0" value="0" />
+ <value cell_index="32590" local_entity="0" value="0" />
+ <value cell_index="32591" local_entity="0" value="0" />
+ <value cell_index="32592" local_entity="0" value="0" />
+ <value cell_index="32593" local_entity="0" value="0" />
+ <value cell_index="32594" local_entity="0" value="0" />
+ <value cell_index="32595" local_entity="0" value="0" />
+ <value cell_index="32596" local_entity="0" value="0" />
+ <value cell_index="32597" local_entity="0" value="0" />
+ <value cell_index="32598" local_entity="0" value="0" />
+ <value cell_index="32599" local_entity="0" value="0" />
+ <value cell_index="32600" local_entity="0" value="0" />
+ <value cell_index="32601" local_entity="0" value="0" />
+ <value cell_index="32602" local_entity="0" value="0" />
+ <value cell_index="32603" local_entity="0" value="0" />
+ <value cell_index="32604" local_entity="0" value="0" />
+ <value cell_index="32605" local_entity="0" value="0" />
+ <value cell_index="32606" local_entity="0" value="0" />
+ <value cell_index="32607" local_entity="0" value="0" />
+ <value cell_index="32608" local_entity="0" value="0" />
+ <value cell_index="32609" local_entity="0" value="0" />
+ <value cell_index="32610" local_entity="0" value="0" />
+ <value cell_index="32611" local_entity="0" value="0" />
+ <value cell_index="32612" local_entity="0" value="0" />
+ <value cell_index="32613" local_entity="0" value="0" />
+ <value cell_index="32614" local_entity="0" value="0" />
+ <value cell_index="32615" local_entity="0" value="0" />
+ <value cell_index="32616" local_entity="0" value="0" />
+ <value cell_index="32617" local_entity="0" value="0" />
+ <value cell_index="32618" local_entity="0" value="0" />
+ <value cell_index="32619" local_entity="0" value="0" />
+ <value cell_index="32620" local_entity="0" value="0" />
+ <value cell_index="32621" local_entity="0" value="0" />
+ <value cell_index="32622" local_entity="0" value="0" />
+ <value cell_index="32623" local_entity="0" value="0" />
+ <value cell_index="32624" local_entity="0" value="0" />
+ <value cell_index="32625" local_entity="0" value="0" />
+ <value cell_index="32626" local_entity="0" value="0" />
+ <value cell_index="32627" local_entity="0" value="0" />
+ <value cell_index="32628" local_entity="0" value="0" />
+ <value cell_index="32629" local_entity="0" value="0" />
+ <value cell_index="32630" local_entity="0" value="0" />
+ <value cell_index="32631" local_entity="0" value="0" />
+ <value cell_index="32632" local_entity="0" value="0" />
+ <value cell_index="32633" local_entity="0" value="0" />
+ <value cell_index="32634" local_entity="0" value="0" />
+ <value cell_index="32635" local_entity="0" value="0" />
+ <value cell_index="32636" local_entity="0" value="0" />
+ <value cell_index="32637" local_entity="0" value="0" />
+ <value cell_index="32638" local_entity="0" value="0" />
+ <value cell_index="32639" local_entity="0" value="0" />
+ <value cell_index="32640" local_entity="0" value="0" />
+ <value cell_index="32641" local_entity="0" value="0" />
+ <value cell_index="32642" local_entity="0" value="0" />
+ <value cell_index="32643" local_entity="0" value="0" />
+ <value cell_index="32644" local_entity="0" value="0" />
+ <value cell_index="32645" local_entity="0" value="0" />
+ <value cell_index="32646" local_entity="0" value="0" />
+ <value cell_index="32647" local_entity="0" value="0" />
+ <value cell_index="32648" local_entity="0" value="0" />
+ <value cell_index="32649" local_entity="0" value="0" />
+ <value cell_index="32650" local_entity="0" value="0" />
+ <value cell_index="32651" local_entity="0" value="0" />
+ <value cell_index="32652" local_entity="0" value="0" />
+ <value cell_index="32653" local_entity="0" value="0" />
+ <value cell_index="32654" local_entity="0" value="0" />
+ <value cell_index="32655" local_entity="0" value="0" />
+ <value cell_index="32656" local_entity="0" value="0" />
+ <value cell_index="32657" local_entity="0" value="0" />
+ <value cell_index="32658" local_entity="0" value="0" />
+ <value cell_index="32659" local_entity="0" value="0" />
+ <value cell_index="32660" local_entity="0" value="0" />
+ <value cell_index="32661" local_entity="0" value="0" />
+ <value cell_index="32662" local_entity="0" value="0" />
+ <value cell_index="32663" local_entity="0" value="0" />
+ <value cell_index="32664" local_entity="0" value="0" />
+ <value cell_index="32665" local_entity="0" value="0" />
+ <value cell_index="32666" local_entity="0" value="0" />
+ <value cell_index="32667" local_entity="0" value="0" />
+ <value cell_index="32668" local_entity="0" value="0" />
+ <value cell_index="32669" local_entity="0" value="0" />
+ <value cell_index="32670" local_entity="0" value="0" />
+ <value cell_index="32671" local_entity="0" value="0" />
+ <value cell_index="32672" local_entity="0" value="0" />
+ <value cell_index="32673" local_entity="0" value="0" />
+ <value cell_index="32674" local_entity="0" value="0" />
+ <value cell_index="32675" local_entity="0" value="0" />
+ <value cell_index="32676" local_entity="0" value="0" />
+ <value cell_index="32677" local_entity="0" value="0" />
+ <value cell_index="32678" local_entity="0" value="0" />
+ <value cell_index="32679" local_entity="0" value="0" />
+ <value cell_index="32680" local_entity="0" value="0" />
+ <value cell_index="32681" local_entity="0" value="0" />
+ <value cell_index="32682" local_entity="0" value="0" />
+ <value cell_index="32683" local_entity="0" value="0" />
+ <value cell_index="32684" local_entity="0" value="0" />
+ <value cell_index="32685" local_entity="0" value="0" />
+ <value cell_index="32686" local_entity="0" value="0" />
+ <value cell_index="32687" local_entity="0" value="0" />
+ <value cell_index="32688" local_entity="0" value="0" />
+ <value cell_index="32689" local_entity="0" value="0" />
+ <value cell_index="32690" local_entity="0" value="0" />
+ <value cell_index="32691" local_entity="0" value="0" />
+ <value cell_index="32692" local_entity="0" value="0" />
+ <value cell_index="32693" local_entity="0" value="0" />
+ <value cell_index="32694" local_entity="0" value="0" />
+ <value cell_index="32695" local_entity="0" value="0" />
+ <value cell_index="32696" local_entity="0" value="0" />
+ <value cell_index="32697" local_entity="0" value="0" />
+ <value cell_index="32698" local_entity="0" value="0" />
+ <value cell_index="32699" local_entity="0" value="0" />
+ <value cell_index="32700" local_entity="0" value="0" />
+ <value cell_index="32701" local_entity="0" value="0" />
+ <value cell_index="32702" local_entity="0" value="0" />
+ <value cell_index="32703" local_entity="0" value="0" />
+ <value cell_index="32704" local_entity="0" value="0" />
+ <value cell_index="32705" local_entity="0" value="0" />
+ <value cell_index="32706" local_entity="0" value="0" />
+ <value cell_index="32707" local_entity="0" value="0" />
+ <value cell_index="32708" local_entity="0" value="0" />
+ <value cell_index="32709" local_entity="0" value="0" />
+ <value cell_index="32710" local_entity="0" value="0" />
+ <value cell_index="32711" local_entity="0" value="0" />
+ <value cell_index="32712" local_entity="0" value="0" />
+ <value cell_index="32713" local_entity="0" value="0" />
+ <value cell_index="32714" local_entity="0" value="0" />
+ <value cell_index="32715" local_entity="0" value="0" />
+ <value cell_index="32716" local_entity="0" value="0" />
+ <value cell_index="32717" local_entity="0" value="0" />
+ <value cell_index="32718" local_entity="0" value="0" />
+ <value cell_index="32719" local_entity="0" value="0" />
+ <value cell_index="32720" local_entity="0" value="0" />
+ <value cell_index="32721" local_entity="0" value="0" />
+ <value cell_index="32722" local_entity="0" value="0" />
+ <value cell_index="32723" local_entity="0" value="0" />
+ <value cell_index="32724" local_entity="0" value="0" />
+ <value cell_index="32725" local_entity="0" value="0" />
+ <value cell_index="32726" local_entity="0" value="0" />
+ <value cell_index="32727" local_entity="0" value="0" />
+ <value cell_index="32728" local_entity="0" value="0" />
+ <value cell_index="32729" local_entity="0" value="0" />
+ <value cell_index="32730" local_entity="0" value="0" />
+ <value cell_index="32731" local_entity="0" value="0" />
+ <value cell_index="32732" local_entity="0" value="0" />
+ <value cell_index="32733" local_entity="0" value="0" />
+ <value cell_index="32734" local_entity="0" value="0" />
+ <value cell_index="32735" local_entity="0" value="0" />
+ <value cell_index="32736" local_entity="0" value="0" />
+ <value cell_index="32737" local_entity="0" value="0" />
+ <value cell_index="32738" local_entity="0" value="0" />
+ <value cell_index="32739" local_entity="0" value="0" />
+ <value cell_index="32740" local_entity="0" value="0" />
+ <value cell_index="32741" local_entity="0" value="0" />
+ <value cell_index="32742" local_entity="0" value="0" />
+ <value cell_index="32743" local_entity="0" value="0" />
+ <value cell_index="32744" local_entity="0" value="0" />
+ <value cell_index="32745" local_entity="0" value="0" />
+ <value cell_index="32746" local_entity="0" value="0" />
+ <value cell_index="32747" local_entity="0" value="0" />
+ <value cell_index="32748" local_entity="0" value="0" />
+ <value cell_index="32749" local_entity="0" value="0" />
+ <value cell_index="32750" local_entity="0" value="0" />
+ <value cell_index="32751" local_entity="0" value="0" />
+ <value cell_index="32752" local_entity="0" value="0" />
+ <value cell_index="32753" local_entity="0" value="0" />
+ <value cell_index="32754" local_entity="0" value="0" />
+ <value cell_index="32755" local_entity="0" value="0" />
+ <value cell_index="32756" local_entity="0" value="0" />
+ <value cell_index="32757" local_entity="0" value="0" />
+ <value cell_index="32758" local_entity="0" value="0" />
+ <value cell_index="32759" local_entity="0" value="0" />
+ <value cell_index="32760" local_entity="0" value="0" />
+ <value cell_index="32761" local_entity="0" value="0" />
+ <value cell_index="32762" local_entity="0" value="0" />
+ <value cell_index="32763" local_entity="0" value="0" />
+ <value cell_index="32764" local_entity="0" value="0" />
+ <value cell_index="32765" local_entity="0" value="0" />
+ <value cell_index="32766" local_entity="0" value="0" />
+ <value cell_index="32767" local_entity="0" value="0" />
+ <value cell_index="32768" local_entity="0" value="0" />
+ <value cell_index="32769" local_entity="0" value="0" />
+ <value cell_index="32770" local_entity="0" value="0" />
+ <value cell_index="32771" local_entity="0" value="0" />
+ <value cell_index="32772" local_entity="0" value="0" />
+ <value cell_index="32773" local_entity="0" value="0" />
+ <value cell_index="32774" local_entity="0" value="0" />
+ <value cell_index="32775" local_entity="0" value="0" />
+ <value cell_index="32776" local_entity="0" value="0" />
+ <value cell_index="32777" local_entity="0" value="0" />
+ <value cell_index="32778" local_entity="0" value="0" />
+ <value cell_index="32779" local_entity="0" value="0" />
+ <value cell_index="32780" local_entity="0" value="0" />
+ <value cell_index="32781" local_entity="0" value="0" />
+ <value cell_index="32782" local_entity="0" value="0" />
+ <value cell_index="32783" local_entity="0" value="0" />
+ <value cell_index="32784" local_entity="0" value="0" />
+ <value cell_index="32785" local_entity="0" value="0" />
+ <value cell_index="32786" local_entity="0" value="0" />
+ <value cell_index="32787" local_entity="0" value="0" />
+ <value cell_index="32788" local_entity="0" value="0" />
+ <value cell_index="32789" local_entity="0" value="0" />
+ <value cell_index="32790" local_entity="0" value="0" />
+ <value cell_index="32791" local_entity="0" value="0" />
+ <value cell_index="32792" local_entity="0" value="0" />
+ <value cell_index="32793" local_entity="0" value="0" />
+ <value cell_index="32794" local_entity="0" value="0" />
+ <value cell_index="32795" local_entity="0" value="0" />
+ <value cell_index="32796" local_entity="0" value="0" />
+ <value cell_index="32797" local_entity="0" value="0" />
+ <value cell_index="32798" local_entity="0" value="0" />
+ <value cell_index="32799" local_entity="0" value="0" />
+ <value cell_index="32800" local_entity="0" value="0" />
+ <value cell_index="32801" local_entity="0" value="0" />
+ <value cell_index="32802" local_entity="0" value="0" />
+ <value cell_index="32803" local_entity="0" value="0" />
+ <value cell_index="32804" local_entity="0" value="0" />
+ <value cell_index="32805" local_entity="0" value="0" />
+ <value cell_index="32806" local_entity="0" value="0" />
+ <value cell_index="32807" local_entity="0" value="0" />
+ <value cell_index="32808" local_entity="0" value="0" />
+ <value cell_index="32809" local_entity="0" value="0" />
+ <value cell_index="32810" local_entity="0" value="0" />
+ <value cell_index="32811" local_entity="0" value="0" />
+ <value cell_index="32812" local_entity="0" value="0" />
+ <value cell_index="32813" local_entity="0" value="0" />
+ <value cell_index="32814" local_entity="0" value="0" />
+ <value cell_index="32815" local_entity="0" value="0" />
+ <value cell_index="32816" local_entity="0" value="0" />
+ <value cell_index="32817" local_entity="0" value="0" />
+ <value cell_index="32818" local_entity="0" value="0" />
+ <value cell_index="32819" local_entity="0" value="0" />
+ <value cell_index="32820" local_entity="0" value="0" />
+ <value cell_index="32821" local_entity="0" value="0" />
+ <value cell_index="32822" local_entity="0" value="0" />
+ <value cell_index="32823" local_entity="0" value="0" />
+ <value cell_index="32824" local_entity="0" value="0" />
+ <value cell_index="32825" local_entity="0" value="0" />
+ <value cell_index="32826" local_entity="0" value="0" />
+ <value cell_index="32827" local_entity="0" value="0" />
+ <value cell_index="32828" local_entity="0" value="0" />
+ <value cell_index="32829" local_entity="0" value="0" />
+ <value cell_index="32830" local_entity="0" value="0" />
+ <value cell_index="32831" local_entity="0" value="0" />
+ <value cell_index="32832" local_entity="0" value="0" />
+ <value cell_index="32833" local_entity="0" value="0" />
+ <value cell_index="32834" local_entity="0" value="0" />
+ <value cell_index="32835" local_entity="0" value="0" />
+ <value cell_index="32836" local_entity="0" value="0" />
+ <value cell_index="32837" local_entity="0" value="0" />
+ <value cell_index="32838" local_entity="0" value="0" />
+ <value cell_index="32839" local_entity="0" value="0" />
+ <value cell_index="32840" local_entity="0" value="0" />
+ <value cell_index="32841" local_entity="0" value="0" />
+ <value cell_index="32842" local_entity="0" value="0" />
+ <value cell_index="32843" local_entity="0" value="0" />
+ <value cell_index="32844" local_entity="0" value="0" />
+ <value cell_index="32845" local_entity="0" value="0" />
+ <value cell_index="32846" local_entity="0" value="0" />
+ <value cell_index="32847" local_entity="0" value="0" />
+ <value cell_index="32848" local_entity="0" value="0" />
+ <value cell_index="32849" local_entity="0" value="0" />
+ <value cell_index="32850" local_entity="0" value="0" />
+ <value cell_index="32851" local_entity="0" value="0" />
+ <value cell_index="32852" local_entity="0" value="0" />
+ <value cell_index="32853" local_entity="0" value="0" />
+ <value cell_index="32854" local_entity="0" value="0" />
+ <value cell_index="32855" local_entity="0" value="0" />
+ <value cell_index="32856" local_entity="0" value="0" />
+ <value cell_index="32857" local_entity="0" value="0" />
+ <value cell_index="32858" local_entity="0" value="0" />
+ <value cell_index="32859" local_entity="0" value="0" />
+ <value cell_index="32860" local_entity="0" value="0" />
+ <value cell_index="32861" local_entity="0" value="0" />
+ <value cell_index="32862" local_entity="0" value="0" />
+ <value cell_index="32863" local_entity="0" value="0" />
+ <value cell_index="32864" local_entity="0" value="0" />
+ <value cell_index="32865" local_entity="0" value="0" />
+ <value cell_index="32866" local_entity="0" value="0" />
+ <value cell_index="32867" local_entity="0" value="0" />
+ <value cell_index="32868" local_entity="0" value="0" />
+ <value cell_index="32869" local_entity="0" value="0" />
+ <value cell_index="32870" local_entity="0" value="0" />
+ <value cell_index="32871" local_entity="0" value="0" />
+ <value cell_index="32872" local_entity="0" value="0" />
+ <value cell_index="32873" local_entity="0" value="0" />
+ <value cell_index="32874" local_entity="0" value="0" />
+ <value cell_index="32875" local_entity="0" value="0" />
+ <value cell_index="32876" local_entity="0" value="0" />
+ <value cell_index="32877" local_entity="0" value="0" />
+ <value cell_index="32878" local_entity="0" value="0" />
+ <value cell_index="32879" local_entity="0" value="0" />
+ <value cell_index="32880" local_entity="0" value="0" />
+ <value cell_index="32881" local_entity="0" value="0" />
+ <value cell_index="32882" local_entity="0" value="0" />
+ <value cell_index="32883" local_entity="0" value="0" />
+ <value cell_index="32884" local_entity="0" value="0" />
+ <value cell_index="32885" local_entity="0" value="0" />
+ <value cell_index="32886" local_entity="0" value="0" />
+ <value cell_index="32887" local_entity="0" value="0" />
+ <value cell_index="32888" local_entity="0" value="0" />
+ <value cell_index="32889" local_entity="0" value="0" />
+ <value cell_index="32890" local_entity="0" value="0" />
+ <value cell_index="32891" local_entity="0" value="0" />
+ <value cell_index="32892" local_entity="0" value="0" />
+ <value cell_index="32893" local_entity="0" value="0" />
+ <value cell_index="32894" local_entity="0" value="0" />
+ <value cell_index="32895" local_entity="0" value="0" />
+ <value cell_index="32896" local_entity="0" value="0" />
+ <value cell_index="32897" local_entity="0" value="0" />
+ <value cell_index="32898" local_entity="0" value="0" />
+ <value cell_index="32899" local_entity="0" value="0" />
+ <value cell_index="32900" local_entity="0" value="0" />
+ <value cell_index="32901" local_entity="0" value="0" />
+ <value cell_index="32902" local_entity="0" value="0" />
+ <value cell_index="32903" local_entity="0" value="0" />
+ <value cell_index="32904" local_entity="0" value="0" />
+ <value cell_index="32905" local_entity="0" value="0" />
+ <value cell_index="32906" local_entity="0" value="0" />
+ <value cell_index="32907" local_entity="0" value="0" />
+ <value cell_index="32908" local_entity="0" value="0" />
+ <value cell_index="32909" local_entity="0" value="0" />
+ <value cell_index="32910" local_entity="0" value="0" />
+ <value cell_index="32911" local_entity="0" value="0" />
+ <value cell_index="32912" local_entity="0" value="0" />
+ <value cell_index="32913" local_entity="0" value="0" />
+ <value cell_index="32914" local_entity="0" value="0" />
+ <value cell_index="32915" local_entity="0" value="0" />
+ <value cell_index="32916" local_entity="0" value="0" />
+ <value cell_index="32917" local_entity="0" value="0" />
+ <value cell_index="32918" local_entity="0" value="0" />
+ <value cell_index="32919" local_entity="0" value="0" />
+ <value cell_index="32920" local_entity="0" value="0" />
+ <value cell_index="32921" local_entity="0" value="0" />
+ <value cell_index="32922" local_entity="0" value="0" />
+ <value cell_index="32923" local_entity="0" value="0" />
+ <value cell_index="32924" local_entity="0" value="0" />
+ <value cell_index="32925" local_entity="0" value="0" />
+ <value cell_index="32926" local_entity="0" value="0" />
+ <value cell_index="32927" local_entity="0" value="0" />
+ <value cell_index="32928" local_entity="0" value="0" />
+ <value cell_index="32929" local_entity="0" value="0" />
+ <value cell_index="32930" local_entity="0" value="0" />
+ <value cell_index="32931" local_entity="0" value="0" />
+ <value cell_index="32932" local_entity="0" value="0" />
+ <value cell_index="32933" local_entity="0" value="0" />
+ <value cell_index="32934" local_entity="0" value="0" />
+ <value cell_index="32935" local_entity="0" value="0" />
+ <value cell_index="32936" local_entity="0" value="0" />
+ <value cell_index="32937" local_entity="0" value="0" />
+ <value cell_index="32938" local_entity="0" value="0" />
+ <value cell_index="32939" local_entity="0" value="0" />
+ <value cell_index="32940" local_entity="0" value="0" />
+ <value cell_index="32941" local_entity="0" value="0" />
+ <value cell_index="32942" local_entity="0" value="0" />
+ <value cell_index="32943" local_entity="0" value="0" />
+ <value cell_index="32944" local_entity="0" value="0" />
+ <value cell_index="32945" local_entity="0" value="0" />
+ <value cell_index="32946" local_entity="0" value="0" />
+ <value cell_index="32947" local_entity="0" value="0" />
+ <value cell_index="32948" local_entity="0" value="0" />
+ <value cell_index="32949" local_entity="0" value="0" />
+ <value cell_index="32950" local_entity="0" value="0" />
+ <value cell_index="32951" local_entity="0" value="0" />
+ <value cell_index="32952" local_entity="0" value="0" />
+ <value cell_index="32953" local_entity="0" value="0" />
+ <value cell_index="32954" local_entity="0" value="0" />
+ <value cell_index="32955" local_entity="0" value="0" />
+ <value cell_index="32956" local_entity="0" value="0" />
+ <value cell_index="32957" local_entity="0" value="0" />
+ <value cell_index="32958" local_entity="0" value="0" />
+ <value cell_index="32959" local_entity="0" value="0" />
+ <value cell_index="32960" local_entity="0" value="0" />
+ <value cell_index="32961" local_entity="0" value="0" />
+ <value cell_index="32962" local_entity="0" value="0" />
+ <value cell_index="32963" local_entity="0" value="0" />
+ <value cell_index="32964" local_entity="0" value="0" />
+ <value cell_index="32965" local_entity="0" value="0" />
+ <value cell_index="32966" local_entity="0" value="0" />
+ <value cell_index="32967" local_entity="0" value="0" />
+ <value cell_index="32968" local_entity="0" value="0" />
+ <value cell_index="32969" local_entity="0" value="0" />
+ <value cell_index="32970" local_entity="0" value="0" />
+ <value cell_index="32971" local_entity="0" value="0" />
+ <value cell_index="32972" local_entity="0" value="0" />
+ <value cell_index="32973" local_entity="0" value="0" />
+ <value cell_index="32974" local_entity="0" value="0" />
+ <value cell_index="32975" local_entity="0" value="0" />
+ <value cell_index="32976" local_entity="0" value="0" />
+ <value cell_index="32977" local_entity="0" value="0" />
+ <value cell_index="32978" local_entity="0" value="0" />
+ <value cell_index="32979" local_entity="0" value="0" />
+ <value cell_index="32980" local_entity="0" value="0" />
+ <value cell_index="32981" local_entity="0" value="0" />
+ <value cell_index="32982" local_entity="0" value="0" />
+ <value cell_index="32983" local_entity="0" value="0" />
+ <value cell_index="32984" local_entity="0" value="0" />
+ <value cell_index="32985" local_entity="0" value="0" />
+ <value cell_index="32986" local_entity="0" value="0" />
+ <value cell_index="32987" local_entity="0" value="0" />
+ <value cell_index="32988" local_entity="0" value="0" />
+ <value cell_index="32989" local_entity="0" value="0" />
+ <value cell_index="32990" local_entity="0" value="0" />
+ <value cell_index="32991" local_entity="0" value="0" />
+ <value cell_index="32992" local_entity="0" value="0" />
+ <value cell_index="32993" local_entity="0" value="0" />
+ <value cell_index="32994" local_entity="0" value="0" />
+ <value cell_index="32995" local_entity="0" value="0" />
+ <value cell_index="32996" local_entity="0" value="0" />
+ <value cell_index="32997" local_entity="0" value="0" />
+ <value cell_index="32998" local_entity="0" value="0" />
+ <value cell_index="32999" local_entity="0" value="0" />
+ <value cell_index="33000" local_entity="0" value="0" />
+ <value cell_index="33001" local_entity="0" value="0" />
+ <value cell_index="33002" local_entity="0" value="0" />
+ <value cell_index="33003" local_entity="0" value="0" />
+ <value cell_index="33004" local_entity="0" value="0" />
+ <value cell_index="33005" local_entity="0" value="0" />
+ <value cell_index="33006" local_entity="0" value="0" />
+ <value cell_index="33007" local_entity="0" value="0" />
+ <value cell_index="33008" local_entity="0" value="0" />
+ <value cell_index="33009" local_entity="0" value="0" />
+ <value cell_index="33010" local_entity="0" value="0" />
+ <value cell_index="33011" local_entity="0" value="0" />
+ <value cell_index="33012" local_entity="0" value="0" />
+ <value cell_index="33013" local_entity="0" value="0" />
+ <value cell_index="33014" local_entity="0" value="0" />
+ <value cell_index="33015" local_entity="0" value="0" />
+ <value cell_index="33016" local_entity="0" value="0" />
+ <value cell_index="33017" local_entity="0" value="0" />
+ <value cell_index="33018" local_entity="0" value="0" />
+ <value cell_index="33019" local_entity="0" value="0" />
+ <value cell_index="33020" local_entity="0" value="0" />
+ <value cell_index="33021" local_entity="0" value="0" />
+ <value cell_index="33022" local_entity="0" value="0" />
+ <value cell_index="33023" local_entity="0" value="0" />
+ <value cell_index="33024" local_entity="0" value="0" />
+ <value cell_index="33025" local_entity="0" value="0" />
+ <value cell_index="33026" local_entity="0" value="0" />
+ <value cell_index="33027" local_entity="0" value="0" />
+ <value cell_index="33028" local_entity="0" value="0" />
+ <value cell_index="33029" local_entity="0" value="0" />
+ <value cell_index="33030" local_entity="0" value="0" />
+ <value cell_index="33031" local_entity="0" value="0" />
+ <value cell_index="33032" local_entity="0" value="0" />
+ <value cell_index="33033" local_entity="0" value="0" />
+ <value cell_index="33034" local_entity="0" value="0" />
+ <value cell_index="33035" local_entity="0" value="0" />
+ <value cell_index="33036" local_entity="0" value="0" />
+ <value cell_index="33037" local_entity="0" value="0" />
+ <value cell_index="33038" local_entity="0" value="0" />
+ <value cell_index="33039" local_entity="0" value="0" />
+ <value cell_index="33040" local_entity="0" value="0" />
+ <value cell_index="33041" local_entity="0" value="0" />
+ <value cell_index="33042" local_entity="0" value="0" />
+ <value cell_index="33043" local_entity="0" value="0" />
+ <value cell_index="33044" local_entity="0" value="0" />
+ <value cell_index="33045" local_entity="0" value="0" />
+ <value cell_index="33046" local_entity="0" value="0" />
+ <value cell_index="33047" local_entity="0" value="0" />
+ <value cell_index="33048" local_entity="0" value="0" />
+ <value cell_index="33049" local_entity="0" value="0" />
+ <value cell_index="33050" local_entity="0" value="0" />
+ <value cell_index="33051" local_entity="0" value="0" />
+ <value cell_index="33052" local_entity="0" value="0" />
+ <value cell_index="33053" local_entity="0" value="0" />
+ <value cell_index="33054" local_entity="0" value="0" />
+ <value cell_index="33055" local_entity="0" value="0" />
+ <value cell_index="33056" local_entity="0" value="0" />
+ <value cell_index="33057" local_entity="0" value="0" />
+ <value cell_index="33058" local_entity="0" value="0" />
+ <value cell_index="33059" local_entity="0" value="0" />
+ <value cell_index="33060" local_entity="0" value="0" />
+ <value cell_index="33061" local_entity="0" value="0" />
+ <value cell_index="33062" local_entity="0" value="0" />
+ <value cell_index="33063" local_entity="0" value="0" />
+ <value cell_index="33064" local_entity="0" value="0" />
+ <value cell_index="33065" local_entity="0" value="0" />
+ <value cell_index="33066" local_entity="0" value="0" />
+ <value cell_index="33067" local_entity="0" value="0" />
+ <value cell_index="33068" local_entity="0" value="0" />
+ <value cell_index="33069" local_entity="0" value="0" />
+ <value cell_index="33070" local_entity="0" value="0" />
+ <value cell_index="33071" local_entity="0" value="0" />
+ <value cell_index="33072" local_entity="0" value="0" />
+ <value cell_index="33073" local_entity="0" value="0" />
+ <value cell_index="33074" local_entity="0" value="0" />
+ <value cell_index="33075" local_entity="0" value="0" />
+ <value cell_index="33076" local_entity="0" value="0" />
+ <value cell_index="33077" local_entity="0" value="0" />
+ <value cell_index="33078" local_entity="0" value="0" />
+ <value cell_index="33079" local_entity="0" value="0" />
+ <value cell_index="33080" local_entity="0" value="0" />
+ <value cell_index="33081" local_entity="0" value="0" />
+ <value cell_index="33082" local_entity="0" value="0" />
+ <value cell_index="33083" local_entity="0" value="0" />
+ <value cell_index="33084" local_entity="0" value="0" />
+ <value cell_index="33085" local_entity="0" value="0" />
+ <value cell_index="33086" local_entity="0" value="0" />
+ <value cell_index="33087" local_entity="0" value="0" />
+ <value cell_index="33088" local_entity="0" value="0" />
+ <value cell_index="33089" local_entity="0" value="0" />
+ <value cell_index="33090" local_entity="0" value="0" />
+ <value cell_index="33091" local_entity="0" value="0" />
+ <value cell_index="33092" local_entity="0" value="0" />
+ <value cell_index="33093" local_entity="0" value="0" />
+ <value cell_index="33094" local_entity="0" value="0" />
+ <value cell_index="33095" local_entity="0" value="0" />
+ <value cell_index="33096" local_entity="0" value="0" />
+ <value cell_index="33097" local_entity="0" value="0" />
+ <value cell_index="33098" local_entity="0" value="0" />
+ <value cell_index="33099" local_entity="0" value="0" />
+ <value cell_index="33100" local_entity="0" value="0" />
+ <value cell_index="33101" local_entity="0" value="0" />
+ <value cell_index="33102" local_entity="0" value="0" />
+ <value cell_index="33103" local_entity="0" value="0" />
+ <value cell_index="33104" local_entity="0" value="0" />
+ <value cell_index="33105" local_entity="0" value="0" />
+ <value cell_index="33106" local_entity="0" value="0" />
+ <value cell_index="33107" local_entity="0" value="0" />
+ <value cell_index="33108" local_entity="0" value="0" />
+ <value cell_index="33109" local_entity="0" value="0" />
+ <value cell_index="33110" local_entity="0" value="0" />
+ <value cell_index="33111" local_entity="0" value="0" />
+ <value cell_index="33112" local_entity="0" value="0" />
+ <value cell_index="33113" local_entity="0" value="0" />
+ <value cell_index="33114" local_entity="0" value="0" />
+ <value cell_index="33115" local_entity="0" value="0" />
+ <value cell_index="33116" local_entity="0" value="0" />
+ <value cell_index="33117" local_entity="0" value="0" />
+ <value cell_index="33118" local_entity="0" value="0" />
+ <value cell_index="33119" local_entity="0" value="0" />
+ <value cell_index="33120" local_entity="0" value="0" />
+ <value cell_index="33121" local_entity="0" value="0" />
+ <value cell_index="33122" local_entity="0" value="0" />
+ <value cell_index="33123" local_entity="0" value="0" />
+ <value cell_index="33124" local_entity="0" value="0" />
+ <value cell_index="33125" local_entity="0" value="0" />
+ <value cell_index="33126" local_entity="0" value="0" />
+ <value cell_index="33127" local_entity="0" value="0" />
+ <value cell_index="33128" local_entity="0" value="0" />
+ <value cell_index="33129" local_entity="0" value="0" />
+ <value cell_index="33130" local_entity="0" value="0" />
+ <value cell_index="33131" local_entity="0" value="0" />
+ <value cell_index="33132" local_entity="0" value="0" />
+ <value cell_index="33133" local_entity="0" value="0" />
+ <value cell_index="33134" local_entity="0" value="0" />
+ <value cell_index="33135" local_entity="0" value="0" />
+ <value cell_index="33136" local_entity="0" value="0" />
+ <value cell_index="33137" local_entity="0" value="0" />
+ <value cell_index="33138" local_entity="0" value="0" />
+ <value cell_index="33139" local_entity="0" value="0" />
+ <value cell_index="33140" local_entity="0" value="0" />
+ <value cell_index="33141" local_entity="0" value="0" />
+ <value cell_index="33142" local_entity="0" value="0" />
+ <value cell_index="33143" local_entity="0" value="0" />
+ <value cell_index="33144" local_entity="0" value="0" />
+ <value cell_index="33145" local_entity="0" value="0" />
+ <value cell_index="33146" local_entity="0" value="0" />
+ <value cell_index="33147" local_entity="0" value="0" />
+ <value cell_index="33148" local_entity="0" value="0" />
+ <value cell_index="33149" local_entity="0" value="0" />
+ <value cell_index="33150" local_entity="0" value="0" />
+ <value cell_index="33151" local_entity="0" value="0" />
+ <value cell_index="33152" local_entity="0" value="0" />
+ <value cell_index="33153" local_entity="0" value="0" />
+ <value cell_index="33154" local_entity="0" value="0" />
+ <value cell_index="33155" local_entity="0" value="0" />
+ <value cell_index="33156" local_entity="0" value="0" />
+ <value cell_index="33157" local_entity="0" value="0" />
+ <value cell_index="33158" local_entity="0" value="0" />
+ <value cell_index="33159" local_entity="0" value="0" />
+ <value cell_index="33160" local_entity="0" value="0" />
+ <value cell_index="33161" local_entity="0" value="0" />
+ <value cell_index="33162" local_entity="0" value="0" />
+ <value cell_index="33163" local_entity="0" value="0" />
+ <value cell_index="33164" local_entity="0" value="0" />
+ <value cell_index="33165" local_entity="0" value="0" />
+ <value cell_index="33166" local_entity="0" value="0" />
+ <value cell_index="33167" local_entity="0" value="0" />
+ <value cell_index="33168" local_entity="0" value="0" />
+ <value cell_index="33169" local_entity="0" value="0" />
+ <value cell_index="33170" local_entity="0" value="0" />
+ <value cell_index="33171" local_entity="0" value="0" />
+ <value cell_index="33172" local_entity="0" value="0" />
+ <value cell_index="33173" local_entity="0" value="0" />
+ <value cell_index="33174" local_entity="0" value="0" />
+ <value cell_index="33175" local_entity="0" value="0" />
+ <value cell_index="33176" local_entity="0" value="0" />
+ <value cell_index="33177" local_entity="0" value="0" />
+ <value cell_index="33178" local_entity="0" value="0" />
+ <value cell_index="33179" local_entity="0" value="0" />
+ <value cell_index="33180" local_entity="0" value="0" />
+ <value cell_index="33181" local_entity="0" value="0" />
+ <value cell_index="33182" local_entity="0" value="0" />
+ <value cell_index="33183" local_entity="0" value="0" />
+ <value cell_index="33184" local_entity="0" value="0" />
+ <value cell_index="33185" local_entity="0" value="0" />
+ <value cell_index="33186" local_entity="0" value="0" />
+ <value cell_index="33187" local_entity="0" value="0" />
+ <value cell_index="33188" local_entity="0" value="0" />
+ <value cell_index="33189" local_entity="0" value="0" />
+ <value cell_index="33190" local_entity="0" value="0" />
+ <value cell_index="33191" local_entity="0" value="0" />
+ <value cell_index="33192" local_entity="0" value="0" />
+ <value cell_index="33193" local_entity="0" value="0" />
+ <value cell_index="33194" local_entity="0" value="0" />
+ <value cell_index="33195" local_entity="0" value="0" />
+ <value cell_index="33196" local_entity="0" value="0" />
+ <value cell_index="33197" local_entity="0" value="0" />
+ <value cell_index="33198" local_entity="0" value="0" />
+ <value cell_index="33199" local_entity="0" value="0" />
+ <value cell_index="33200" local_entity="0" value="0" />
+ <value cell_index="33201" local_entity="0" value="0" />
+ <value cell_index="33202" local_entity="0" value="0" />
+ <value cell_index="33203" local_entity="0" value="0" />
+ <value cell_index="33204" local_entity="0" value="0" />
+ <value cell_index="33205" local_entity="0" value="0" />
+ <value cell_index="33206" local_entity="0" value="0" />
+ <value cell_index="33207" local_entity="0" value="0" />
+ <value cell_index="33208" local_entity="0" value="0" />
+ <value cell_index="33209" local_entity="0" value="0" />
+ <value cell_index="33210" local_entity="0" value="0" />
+ <value cell_index="33211" local_entity="0" value="0" />
+ <value cell_index="33212" local_entity="0" value="0" />
+ <value cell_index="33213" local_entity="0" value="0" />
+ <value cell_index="33214" local_entity="0" value="0" />
+ <value cell_index="33215" local_entity="0" value="0" />
+ <value cell_index="33216" local_entity="0" value="0" />
+ <value cell_index="33217" local_entity="0" value="0" />
+ <value cell_index="33218" local_entity="0" value="0" />
+ <value cell_index="33219" local_entity="0" value="0" />
+ <value cell_index="33220" local_entity="0" value="0" />
+ <value cell_index="33221" local_entity="0" value="0" />
+ <value cell_index="33222" local_entity="0" value="0" />
+ <value cell_index="33223" local_entity="0" value="0" />
+ <value cell_index="33224" local_entity="0" value="0" />
+ <value cell_index="33225" local_entity="0" value="0" />
+ <value cell_index="33226" local_entity="0" value="0" />
+ <value cell_index="33227" local_entity="0" value="0" />
+ <value cell_index="33228" local_entity="0" value="0" />
+ <value cell_index="33229" local_entity="0" value="0" />
+ <value cell_index="33230" local_entity="0" value="0" />
+ <value cell_index="33231" local_entity="0" value="0" />
+ <value cell_index="33232" local_entity="0" value="0" />
+ <value cell_index="33233" local_entity="0" value="0" />
+ <value cell_index="33234" local_entity="0" value="0" />
+ <value cell_index="33235" local_entity="0" value="0" />
+ <value cell_index="33236" local_entity="0" value="0" />
+ <value cell_index="33237" local_entity="0" value="0" />
+ <value cell_index="33238" local_entity="0" value="0" />
+ <value cell_index="33239" local_entity="0" value="0" />
+ <value cell_index="33240" local_entity="0" value="0" />
+ <value cell_index="33241" local_entity="0" value="0" />
+ <value cell_index="33242" local_entity="0" value="0" />
+ <value cell_index="33243" local_entity="0" value="0" />
+ <value cell_index="33244" local_entity="0" value="0" />
+ <value cell_index="33245" local_entity="0" value="0" />
+ <value cell_index="33246" local_entity="0" value="0" />
+ <value cell_index="33247" local_entity="0" value="0" />
+ <value cell_index="33248" local_entity="0" value="0" />
+ <value cell_index="33249" local_entity="0" value="0" />
+ <value cell_index="33250" local_entity="0" value="0" />
+ <value cell_index="33251" local_entity="0" value="0" />
+ <value cell_index="33252" local_entity="0" value="0" />
+ <value cell_index="33253" local_entity="0" value="0" />
+ <value cell_index="33254" local_entity="0" value="0" />
+ <value cell_index="33255" local_entity="0" value="0" />
+ <value cell_index="33256" local_entity="0" value="0" />
+ <value cell_index="33257" local_entity="0" value="0" />
+ <value cell_index="33258" local_entity="0" value="0" />
+ <value cell_index="33259" local_entity="0" value="0" />
+ <value cell_index="33260" local_entity="0" value="0" />
+ <value cell_index="33261" local_entity="0" value="0" />
+ <value cell_index="33262" local_entity="0" value="0" />
+ <value cell_index="33263" local_entity="0" value="0" />
+ <value cell_index="33264" local_entity="0" value="0" />
+ <value cell_index="33265" local_entity="0" value="0" />
+ <value cell_index="33266" local_entity="0" value="0" />
+ <value cell_index="33267" local_entity="0" value="0" />
+ <value cell_index="33268" local_entity="0" value="0" />
+ <value cell_index="33269" local_entity="0" value="0" />
+ <value cell_index="33270" local_entity="0" value="0" />
+ <value cell_index="33271" local_entity="0" value="0" />
+ <value cell_index="33272" local_entity="0" value="0" />
+ <value cell_index="33273" local_entity="0" value="0" />
+ <value cell_index="33274" local_entity="0" value="0" />
+ <value cell_index="33275" local_entity="0" value="0" />
+ <value cell_index="33276" local_entity="0" value="0" />
+ <value cell_index="33277" local_entity="0" value="0" />
+ <value cell_index="33278" local_entity="0" value="0" />
+ <value cell_index="33279" local_entity="0" value="0" />
+ <value cell_index="33280" local_entity="0" value="0" />
+ <value cell_index="33281" local_entity="0" value="0" />
+ <value cell_index="33282" local_entity="0" value="0" />
+ <value cell_index="33283" local_entity="0" value="0" />
+ <value cell_index="33284" local_entity="0" value="0" />
+ <value cell_index="33285" local_entity="0" value="0" />
+ <value cell_index="33286" local_entity="0" value="0" />
+ <value cell_index="33287" local_entity="0" value="0" />
+ <value cell_index="33288" local_entity="0" value="0" />
+ <value cell_index="33289" local_entity="0" value="0" />
+ <value cell_index="33290" local_entity="0" value="0" />
+ <value cell_index="33291" local_entity="0" value="0" />
+ <value cell_index="33292" local_entity="0" value="0" />
+ <value cell_index="33293" local_entity="0" value="0" />
+ <value cell_index="33294" local_entity="0" value="0" />
+ <value cell_index="33295" local_entity="0" value="0" />
+ <value cell_index="33296" local_entity="0" value="0" />
+ <value cell_index="33297" local_entity="0" value="0" />
+ <value cell_index="33298" local_entity="0" value="0" />
+ <value cell_index="33299" local_entity="0" value="0" />
+ <value cell_index="33300" local_entity="0" value="0" />
+ <value cell_index="33301" local_entity="0" value="0" />
+ <value cell_index="33302" local_entity="0" value="0" />
+ <value cell_index="33303" local_entity="0" value="0" />
+ <value cell_index="33304" local_entity="0" value="0" />
+ <value cell_index="33305" local_entity="0" value="0" />
+ <value cell_index="33306" local_entity="0" value="0" />
+ <value cell_index="33307" local_entity="0" value="0" />
+ <value cell_index="33308" local_entity="0" value="0" />
+ <value cell_index="33309" local_entity="0" value="0" />
+ <value cell_index="33310" local_entity="0" value="0" />
+ <value cell_index="33311" local_entity="0" value="0" />
+ <value cell_index="33312" local_entity="0" value="0" />
+ <value cell_index="33313" local_entity="0" value="0" />
+ <value cell_index="33314" local_entity="0" value="0" />
+ <value cell_index="33315" local_entity="0" value="0" />
+ <value cell_index="33316" local_entity="0" value="0" />
+ <value cell_index="33317" local_entity="0" value="0" />
+ <value cell_index="33318" local_entity="0" value="0" />
+ <value cell_index="33319" local_entity="0" value="0" />
+ <value cell_index="33320" local_entity="0" value="0" />
+ <value cell_index="33321" local_entity="0" value="0" />
+ <value cell_index="33322" local_entity="0" value="0" />
+ <value cell_index="33323" local_entity="0" value="0" />
+ <value cell_index="33324" local_entity="0" value="0" />
+ <value cell_index="33325" local_entity="0" value="0" />
+ <value cell_index="33326" local_entity="0" value="0" />
+ <value cell_index="33327" local_entity="0" value="0" />
+ <value cell_index="33328" local_entity="0" value="0" />
+ <value cell_index="33329" local_entity="0" value="0" />
+ <value cell_index="33330" local_entity="0" value="0" />
+ <value cell_index="33331" local_entity="0" value="0" />
+ <value cell_index="33332" local_entity="0" value="0" />
+ <value cell_index="33333" local_entity="0" value="0" />
+ <value cell_index="33334" local_entity="0" value="0" />
+ <value cell_index="33335" local_entity="0" value="0" />
+ <value cell_index="33336" local_entity="0" value="0" />
+ <value cell_index="33337" local_entity="0" value="0" />
+ <value cell_index="33338" local_entity="0" value="0" />
+ <value cell_index="33339" local_entity="0" value="0" />
+ <value cell_index="33340" local_entity="0" value="0" />
+ <value cell_index="33341" local_entity="0" value="0" />
+ <value cell_index="33342" local_entity="0" value="0" />
+ <value cell_index="33343" local_entity="0" value="0" />
+ <value cell_index="33344" local_entity="0" value="0" />
+ <value cell_index="33345" local_entity="0" value="0" />
+ <value cell_index="33346" local_entity="0" value="0" />
+ <value cell_index="33347" local_entity="0" value="0" />
+ <value cell_index="33348" local_entity="0" value="0" />
+ <value cell_index="33349" local_entity="0" value="0" />
+ <value cell_index="33350" local_entity="0" value="0" />
+ <value cell_index="33351" local_entity="0" value="0" />
+ <value cell_index="33352" local_entity="0" value="0" />
+ <value cell_index="33353" local_entity="0" value="0" />
+ <value cell_index="33354" local_entity="0" value="0" />
+ <value cell_index="33355" local_entity="0" value="0" />
+ <value cell_index="33356" local_entity="0" value="0" />
+ <value cell_index="33357" local_entity="0" value="0" />
+ <value cell_index="33358" local_entity="0" value="0" />
+ <value cell_index="33359" local_entity="0" value="0" />
+ <value cell_index="33360" local_entity="0" value="0" />
+ <value cell_index="33361" local_entity="0" value="0" />
+ <value cell_index="33362" local_entity="0" value="0" />
+ <value cell_index="33363" local_entity="0" value="0" />
+ <value cell_index="33364" local_entity="0" value="0" />
+ <value cell_index="33365" local_entity="0" value="0" />
+ <value cell_index="33366" local_entity="0" value="0" />
+ <value cell_index="33367" local_entity="0" value="0" />
+ <value cell_index="33368" local_entity="0" value="0" />
+ <value cell_index="33369" local_entity="0" value="0" />
+ <value cell_index="33370" local_entity="0" value="0" />
+ <value cell_index="33371" local_entity="0" value="0" />
+ <value cell_index="33372" local_entity="0" value="0" />
+ <value cell_index="33373" local_entity="0" value="0" />
+ <value cell_index="33374" local_entity="0" value="0" />
+ <value cell_index="33375" local_entity="0" value="0" />
+ <value cell_index="33376" local_entity="0" value="0" />
+ <value cell_index="33377" local_entity="0" value="0" />
+ <value cell_index="33378" local_entity="0" value="0" />
+ <value cell_index="33379" local_entity="0" value="0" />
+ <value cell_index="33380" local_entity="0" value="0" />
+ <value cell_index="33381" local_entity="0" value="0" />
+ <value cell_index="33382" local_entity="0" value="0" />
+ <value cell_index="33383" local_entity="0" value="0" />
+ <value cell_index="33384" local_entity="0" value="0" />
+ <value cell_index="33385" local_entity="0" value="0" />
+ <value cell_index="33386" local_entity="0" value="0" />
+ <value cell_index="33387" local_entity="0" value="0" />
+ <value cell_index="33388" local_entity="0" value="0" />
+ <value cell_index="33389" local_entity="0" value="0" />
+ <value cell_index="33390" local_entity="0" value="0" />
+ <value cell_index="33391" local_entity="0" value="0" />
+ <value cell_index="33392" local_entity="0" value="0" />
+ <value cell_index="33393" local_entity="0" value="0" />
+ <value cell_index="33394" local_entity="0" value="0" />
+ <value cell_index="33395" local_entity="0" value="0" />
+ <value cell_index="33396" local_entity="0" value="0" />
+ <value cell_index="33397" local_entity="0" value="0" />
+ <value cell_index="33398" local_entity="0" value="0" />
+ <value cell_index="33399" local_entity="0" value="0" />
+ <value cell_index="33400" local_entity="0" value="0" />
+ <value cell_index="33401" local_entity="0" value="0" />
+ <value cell_index="33402" local_entity="0" value="0" />
+ <value cell_index="33403" local_entity="0" value="0" />
+ <value cell_index="33404" local_entity="0" value="0" />
+ <value cell_index="33405" local_entity="0" value="0" />
+ <value cell_index="33406" local_entity="0" value="0" />
+ <value cell_index="33407" local_entity="0" value="0" />
+ <value cell_index="33408" local_entity="0" value="0" />
+ <value cell_index="33409" local_entity="0" value="0" />
+ <value cell_index="33410" local_entity="0" value="0" />
+ <value cell_index="33411" local_entity="0" value="0" />
+ <value cell_index="33412" local_entity="0" value="0" />
+ <value cell_index="33413" local_entity="0" value="0" />
+ <value cell_index="33414" local_entity="0" value="0" />
+ <value cell_index="33415" local_entity="0" value="0" />
+ <value cell_index="33416" local_entity="0" value="0" />
+ <value cell_index="33417" local_entity="0" value="0" />
+ <value cell_index="33418" local_entity="0" value="0" />
+ <value cell_index="33419" local_entity="0" value="0" />
+ <value cell_index="33420" local_entity="0" value="0" />
+ <value cell_index="33421" local_entity="0" value="0" />
+ <value cell_index="33422" local_entity="0" value="0" />
+ <value cell_index="33423" local_entity="0" value="0" />
+ <value cell_index="33424" local_entity="0" value="0" />
+ <value cell_index="33425" local_entity="0" value="0" />
+ <value cell_index="33426" local_entity="0" value="0" />
+ <value cell_index="33427" local_entity="0" value="0" />
+ <value cell_index="33428" local_entity="0" value="0" />
+ <value cell_index="33429" local_entity="0" value="0" />
+ <value cell_index="33430" local_entity="0" value="0" />
+ <value cell_index="33431" local_entity="0" value="0" />
+ <value cell_index="33432" local_entity="0" value="0" />
+ <value cell_index="33433" local_entity="0" value="0" />
+ <value cell_index="33434" local_entity="0" value="0" />
+ <value cell_index="33435" local_entity="0" value="0" />
+ <value cell_index="33436" local_entity="0" value="0" />
+ <value cell_index="33437" local_entity="0" value="0" />
+ <value cell_index="33438" local_entity="0" value="0" />
+ <value cell_index="33439" local_entity="0" value="0" />
+ <value cell_index="33440" local_entity="0" value="0" />
+ <value cell_index="33441" local_entity="0" value="0" />
+ <value cell_index="33442" local_entity="0" value="0" />
+ <value cell_index="33443" local_entity="0" value="0" />
+ <value cell_index="33444" local_entity="0" value="0" />
+ <value cell_index="33445" local_entity="0" value="0" />
+ <value cell_index="33446" local_entity="0" value="0" />
+ <value cell_index="33447" local_entity="0" value="0" />
+ <value cell_index="33448" local_entity="0" value="0" />
+ <value cell_index="33449" local_entity="0" value="0" />
+ <value cell_index="33450" local_entity="0" value="0" />
+ <value cell_index="33451" local_entity="0" value="0" />
+ <value cell_index="33452" local_entity="0" value="0" />
+ <value cell_index="33453" local_entity="0" value="0" />
+ <value cell_index="33454" local_entity="0" value="0" />
+ <value cell_index="33455" local_entity="0" value="0" />
+ <value cell_index="33456" local_entity="0" value="0" />
+ <value cell_index="33457" local_entity="0" value="0" />
+ <value cell_index="33458" local_entity="0" value="0" />
+ <value cell_index="33459" local_entity="0" value="0" />
+ <value cell_index="33460" local_entity="0" value="0" />
+ <value cell_index="33461" local_entity="0" value="0" />
+ <value cell_index="33462" local_entity="0" value="0" />
+ <value cell_index="33463" local_entity="0" value="0" />
+ <value cell_index="33464" local_entity="0" value="0" />
+ <value cell_index="33465" local_entity="0" value="0" />
+ <value cell_index="33466" local_entity="0" value="0" />
+ <value cell_index="33467" local_entity="0" value="0" />
+ <value cell_index="33468" local_entity="0" value="0" />
+ <value cell_index="33469" local_entity="0" value="0" />
+ <value cell_index="33470" local_entity="0" value="0" />
+ <value cell_index="33471" local_entity="0" value="0" />
+ <value cell_index="33472" local_entity="0" value="0" />
+ <value cell_index="33473" local_entity="0" value="0" />
+ <value cell_index="33474" local_entity="0" value="0" />
+ <value cell_index="33475" local_entity="0" value="0" />
+ <value cell_index="33476" local_entity="0" value="0" />
+ <value cell_index="33477" local_entity="0" value="0" />
+ <value cell_index="33478" local_entity="0" value="0" />
+ <value cell_index="33479" local_entity="0" value="0" />
+ <value cell_index="33480" local_entity="0" value="0" />
+ <value cell_index="33481" local_entity="0" value="0" />
+ <value cell_index="33482" local_entity="0" value="0" />
+ <value cell_index="33483" local_entity="0" value="0" />
+ <value cell_index="33484" local_entity="0" value="0" />
+ <value cell_index="33485" local_entity="0" value="0" />
+ <value cell_index="33486" local_entity="0" value="0" />
+ <value cell_index="33487" local_entity="0" value="0" />
+ <value cell_index="33488" local_entity="0" value="0" />
+ <value cell_index="33489" local_entity="0" value="0" />
+ <value cell_index="33490" local_entity="0" value="0" />
+ <value cell_index="33491" local_entity="0" value="0" />
+ <value cell_index="33492" local_entity="0" value="0" />
+ <value cell_index="33493" local_entity="0" value="0" />
+ <value cell_index="33494" local_entity="0" value="0" />
+ <value cell_index="33495" local_entity="0" value="0" />
+ <value cell_index="33496" local_entity="0" value="0" />
+ <value cell_index="33497" local_entity="0" value="0" />
+ <value cell_index="33498" local_entity="0" value="0" />
+ <value cell_index="33499" local_entity="0" value="0" />
+ <value cell_index="33500" local_entity="0" value="0" />
+ <value cell_index="33501" local_entity="0" value="0" />
+ <value cell_index="33502" local_entity="0" value="0" />
+ <value cell_index="33503" local_entity="0" value="0" />
+ <value cell_index="33504" local_entity="0" value="0" />
+ <value cell_index="33505" local_entity="0" value="0" />
+ <value cell_index="33506" local_entity="0" value="0" />
+ <value cell_index="33507" local_entity="0" value="0" />
+ <value cell_index="33508" local_entity="0" value="0" />
+ <value cell_index="33509" local_entity="0" value="0" />
+ <value cell_index="33510" local_entity="0" value="0" />
+ <value cell_index="33511" local_entity="0" value="0" />
+ <value cell_index="33512" local_entity="0" value="0" />
+ <value cell_index="33513" local_entity="0" value="0" />
+ <value cell_index="33514" local_entity="0" value="0" />
+ <value cell_index="33515" local_entity="0" value="0" />
+ <value cell_index="33516" local_entity="0" value="0" />
+ <value cell_index="33517" local_entity="0" value="0" />
+ <value cell_index="33518" local_entity="0" value="0" />
+ <value cell_index="33519" local_entity="0" value="0" />
+ <value cell_index="33520" local_entity="0" value="0" />
+ <value cell_index="33521" local_entity="0" value="0" />
+ <value cell_index="33522" local_entity="0" value="0" />
+ <value cell_index="33523" local_entity="0" value="0" />
+ <value cell_index="33524" local_entity="0" value="0" />
+ <value cell_index="33525" local_entity="0" value="0" />
+ <value cell_index="33526" local_entity="0" value="0" />
+ <value cell_index="33527" local_entity="0" value="0" />
+ <value cell_index="33528" local_entity="0" value="0" />
+ <value cell_index="33529" local_entity="0" value="0" />
+ <value cell_index="33530" local_entity="0" value="0" />
+ <value cell_index="33531" local_entity="0" value="0" />
+ <value cell_index="33532" local_entity="0" value="0" />
+ <value cell_index="33533" local_entity="0" value="0" />
+ <value cell_index="33534" local_entity="0" value="0" />
+ <value cell_index="33535" local_entity="0" value="0" />
+ <value cell_index="33536" local_entity="0" value="0" />
+ <value cell_index="33537" local_entity="0" value="0" />
+ <value cell_index="33538" local_entity="0" value="0" />
+ <value cell_index="33539" local_entity="0" value="0" />
+ <value cell_index="33540" local_entity="0" value="0" />
+ <value cell_index="33541" local_entity="0" value="0" />
+ <value cell_index="33542" local_entity="0" value="0" />
+ <value cell_index="33543" local_entity="0" value="0" />
+ <value cell_index="33544" local_entity="0" value="0" />
+ <value cell_index="33545" local_entity="0" value="0" />
+ <value cell_index="33546" local_entity="0" value="0" />
+ <value cell_index="33547" local_entity="0" value="0" />
+ <value cell_index="33548" local_entity="0" value="0" />
+ <value cell_index="33549" local_entity="0" value="0" />
+ <value cell_index="33550" local_entity="0" value="0" />
+ <value cell_index="33551" local_entity="0" value="0" />
+ <value cell_index="33552" local_entity="0" value="0" />
+ <value cell_index="33553" local_entity="0" value="0" />
+ <value cell_index="33554" local_entity="0" value="0" />
+ <value cell_index="33555" local_entity="0" value="0" />
+ <value cell_index="33556" local_entity="0" value="0" />
+ <value cell_index="33557" local_entity="0" value="0" />
+ <value cell_index="33558" local_entity="0" value="0" />
+ <value cell_index="33559" local_entity="0" value="0" />
+ <value cell_index="33560" local_entity="0" value="0" />
+ <value cell_index="33561" local_entity="0" value="0" />
+ <value cell_index="33562" local_entity="0" value="0" />
+ <value cell_index="33563" local_entity="0" value="0" />
+ <value cell_index="33564" local_entity="0" value="0" />
+ <value cell_index="33565" local_entity="0" value="0" />
+ <value cell_index="33566" local_entity="0" value="0" />
+ <value cell_index="33567" local_entity="0" value="0" />
+ <value cell_index="33568" local_entity="0" value="0" />
+ <value cell_index="33569" local_entity="0" value="0" />
+ <value cell_index="33570" local_entity="0" value="0" />
+ <value cell_index="33571" local_entity="0" value="0" />
+ <value cell_index="33572" local_entity="0" value="0" />
+ <value cell_index="33573" local_entity="0" value="0" />
+ <value cell_index="33574" local_entity="0" value="0" />
+ <value cell_index="33575" local_entity="0" value="0" />
+ <value cell_index="33576" local_entity="0" value="0" />
+ <value cell_index="33577" local_entity="0" value="0" />
+ <value cell_index="33578" local_entity="0" value="0" />
+ <value cell_index="33579" local_entity="0" value="0" />
+ <value cell_index="33580" local_entity="0" value="0" />
+ <value cell_index="33581" local_entity="0" value="0" />
+ <value cell_index="33582" local_entity="0" value="0" />
+ <value cell_index="33583" local_entity="0" value="0" />
+ <value cell_index="33584" local_entity="0" value="0" />
+ <value cell_index="33585" local_entity="0" value="0" />
+ <value cell_index="33586" local_entity="0" value="0" />
+ <value cell_index="33587" local_entity="0" value="0" />
+ <value cell_index="33588" local_entity="0" value="0" />
+ <value cell_index="33589" local_entity="0" value="0" />
+ <value cell_index="33590" local_entity="0" value="0" />
+ <value cell_index="33591" local_entity="0" value="0" />
+ <value cell_index="33592" local_entity="0" value="0" />
+ <value cell_index="33593" local_entity="0" value="0" />
+ <value cell_index="33594" local_entity="0" value="0" />
+ <value cell_index="33595" local_entity="0" value="0" />
+ <value cell_index="33596" local_entity="0" value="0" />
+ <value cell_index="33597" local_entity="0" value="0" />
+ <value cell_index="33598" local_entity="0" value="0" />
+ <value cell_index="33599" local_entity="0" value="0" />
+ <value cell_index="33600" local_entity="0" value="0" />
+ <value cell_index="33601" local_entity="0" value="0" />
+ <value cell_index="33602" local_entity="0" value="0" />
+ <value cell_index="33603" local_entity="0" value="0" />
+ <value cell_index="33604" local_entity="0" value="0" />
+ <value cell_index="33605" local_entity="0" value="0" />
+ <value cell_index="33606" local_entity="0" value="0" />
+ <value cell_index="33607" local_entity="0" value="0" />
+ <value cell_index="33608" local_entity="0" value="0" />
+ <value cell_index="33609" local_entity="0" value="0" />
+ <value cell_index="33610" local_entity="0" value="0" />
+ <value cell_index="33611" local_entity="0" value="0" />
+ <value cell_index="33612" local_entity="0" value="0" />
+ <value cell_index="33613" local_entity="0" value="0" />
+ <value cell_index="33614" local_entity="0" value="0" />
+ <value cell_index="33615" local_entity="0" value="0" />
+ <value cell_index="33616" local_entity="0" value="0" />
+ <value cell_index="33617" local_entity="0" value="0" />
+ <value cell_index="33618" local_entity="0" value="0" />
+ <value cell_index="33619" local_entity="0" value="0" />
+ <value cell_index="33620" local_entity="0" value="0" />
+ <value cell_index="33621" local_entity="0" value="0" />
+ <value cell_index="33622" local_entity="0" value="0" />
+ <value cell_index="33623" local_entity="0" value="0" />
+ <value cell_index="33624" local_entity="0" value="0" />
+ <value cell_index="33625" local_entity="0" value="0" />
+ <value cell_index="33626" local_entity="0" value="0" />
+ <value cell_index="33627" local_entity="0" value="0" />
+ <value cell_index="33628" local_entity="0" value="0" />
+ <value cell_index="33629" local_entity="0" value="0" />
+ <value cell_index="33630" local_entity="0" value="0" />
+ <value cell_index="33631" local_entity="0" value="0" />
+ <value cell_index="33632" local_entity="0" value="0" />
+ <value cell_index="33633" local_entity="0" value="0" />
+ <value cell_index="33634" local_entity="0" value="0" />
+ <value cell_index="33635" local_entity="0" value="0" />
+ <value cell_index="33636" local_entity="0" value="0" />
+ <value cell_index="33637" local_entity="0" value="0" />
+ <value cell_index="33638" local_entity="0" value="0" />
+ <value cell_index="33639" local_entity="0" value="0" />
+ <value cell_index="33640" local_entity="0" value="0" />
+ <value cell_index="33641" local_entity="0" value="0" />
+ <value cell_index="33642" local_entity="0" value="0" />
+ <value cell_index="33643" local_entity="0" value="0" />
+ <value cell_index="33644" local_entity="0" value="0" />
+ <value cell_index="33645" local_entity="0" value="0" />
+ <value cell_index="33646" local_entity="0" value="0" />
+ <value cell_index="33647" local_entity="0" value="0" />
+ <value cell_index="33648" local_entity="0" value="0" />
+ <value cell_index="33649" local_entity="0" value="0" />
+ <value cell_index="33650" local_entity="0" value="0" />
+ <value cell_index="33651" local_entity="0" value="0" />
+ <value cell_index="33652" local_entity="0" value="0" />
+ <value cell_index="33653" local_entity="0" value="0" />
+ <value cell_index="33654" local_entity="0" value="0" />
+ <value cell_index="33655" local_entity="0" value="0" />
+ <value cell_index="33656" local_entity="0" value="0" />
+ <value cell_index="33657" local_entity="0" value="0" />
+ <value cell_index="33658" local_entity="0" value="0" />
+ <value cell_index="33659" local_entity="0" value="0" />
+ <value cell_index="33660" local_entity="0" value="0" />
+ <value cell_index="33661" local_entity="0" value="0" />
+ <value cell_index="33662" local_entity="0" value="0" />
+ <value cell_index="33663" local_entity="0" value="0" />
+ <value cell_index="33664" local_entity="0" value="0" />
+ <value cell_index="33665" local_entity="0" value="0" />
+ <value cell_index="33666" local_entity="0" value="0" />
+ <value cell_index="33667" local_entity="0" value="0" />
+ <value cell_index="33668" local_entity="0" value="0" />
+ <value cell_index="33669" local_entity="0" value="0" />
+ <value cell_index="33670" local_entity="0" value="0" />
+ <value cell_index="33671" local_entity="0" value="0" />
+ <value cell_index="33672" local_entity="0" value="0" />
+ <value cell_index="33673" local_entity="0" value="0" />
+ <value cell_index="33674" local_entity="0" value="0" />
+ <value cell_index="33675" local_entity="0" value="0" />
+ <value cell_index="33676" local_entity="0" value="0" />
+ <value cell_index="33677" local_entity="0" value="0" />
+ <value cell_index="33678" local_entity="0" value="0" />
+ <value cell_index="33679" local_entity="0" value="0" />
+ <value cell_index="33680" local_entity="0" value="0" />
+ <value cell_index="33681" local_entity="0" value="0" />
+ <value cell_index="33682" local_entity="0" value="0" />
+ <value cell_index="33683" local_entity="0" value="0" />
+ <value cell_index="33684" local_entity="0" value="0" />
+ <value cell_index="33685" local_entity="0" value="0" />
+ <value cell_index="33686" local_entity="0" value="0" />
+ <value cell_index="33687" local_entity="0" value="0" />
+ <value cell_index="33688" local_entity="0" value="0" />
+ <value cell_index="33689" local_entity="0" value="0" />
+ <value cell_index="33690" local_entity="0" value="0" />
+ <value cell_index="33691" local_entity="0" value="0" />
+ <value cell_index="33692" local_entity="0" value="0" />
+ <value cell_index="33693" local_entity="0" value="0" />
+ <value cell_index="33694" local_entity="0" value="0" />
+ <value cell_index="33695" local_entity="0" value="0" />
+ <value cell_index="33696" local_entity="0" value="0" />
+ <value cell_index="33697" local_entity="0" value="0" />
+ <value cell_index="33698" local_entity="0" value="0" />
+ <value cell_index="33699" local_entity="0" value="0" />
+ <value cell_index="33700" local_entity="0" value="0" />
+ <value cell_index="33701" local_entity="0" value="0" />
+ <value cell_index="33702" local_entity="0" value="0" />
+ <value cell_index="33703" local_entity="0" value="0" />
+ <value cell_index="33704" local_entity="0" value="0" />
+ <value cell_index="33705" local_entity="0" value="0" />
+ <value cell_index="33706" local_entity="0" value="0" />
+ <value cell_index="33707" local_entity="0" value="0" />
+ <value cell_index="33708" local_entity="0" value="0" />
+ <value cell_index="33709" local_entity="0" value="0" />
+ <value cell_index="33710" local_entity="0" value="0" />
+ <value cell_index="33711" local_entity="0" value="0" />
+ <value cell_index="33712" local_entity="0" value="0" />
+ <value cell_index="33713" local_entity="0" value="0" />
+ <value cell_index="33714" local_entity="0" value="0" />
+ <value cell_index="33715" local_entity="0" value="0" />
+ <value cell_index="33716" local_entity="0" value="0" />
+ <value cell_index="33717" local_entity="0" value="0" />
+ <value cell_index="33718" local_entity="0" value="0" />
+ <value cell_index="33719" local_entity="0" value="0" />
+ <value cell_index="33720" local_entity="0" value="0" />
+ <value cell_index="33721" local_entity="0" value="0" />
+ <value cell_index="33722" local_entity="0" value="0" />
+ <value cell_index="33723" local_entity="0" value="0" />
+ <value cell_index="33724" local_entity="0" value="0" />
+ <value cell_index="33725" local_entity="0" value="0" />
+ <value cell_index="33726" local_entity="0" value="0" />
+ <value cell_index="33727" local_entity="0" value="0" />
+ <value cell_index="33728" local_entity="0" value="0" />
+ <value cell_index="33729" local_entity="0" value="0" />
+ <value cell_index="33730" local_entity="0" value="0" />
+ <value cell_index="33731" local_entity="0" value="0" />
+ <value cell_index="33732" local_entity="0" value="0" />
+ <value cell_index="33733" local_entity="0" value="0" />
+ <value cell_index="33734" local_entity="0" value="0" />
+ <value cell_index="33735" local_entity="0" value="0" />
+ <value cell_index="33736" local_entity="0" value="0" />
+ <value cell_index="33737" local_entity="0" value="0" />
+ <value cell_index="33738" local_entity="0" value="0" />
+ <value cell_index="33739" local_entity="0" value="0" />
+ <value cell_index="33740" local_entity="0" value="0" />
+ <value cell_index="33741" local_entity="0" value="0" />
+ <value cell_index="33742" local_entity="0" value="0" />
+ <value cell_index="33743" local_entity="0" value="0" />
+ <value cell_index="33744" local_entity="0" value="0" />
+ <value cell_index="33745" local_entity="0" value="0" />
+ <value cell_index="33746" local_entity="0" value="0" />
+ <value cell_index="33747" local_entity="0" value="0" />
+ <value cell_index="33748" local_entity="0" value="0" />
+ <value cell_index="33749" local_entity="0" value="0" />
+ <value cell_index="33750" local_entity="0" value="0" />
+ <value cell_index="33751" local_entity="0" value="0" />
+ <value cell_index="33752" local_entity="0" value="0" />
+ <value cell_index="33753" local_entity="0" value="0" />
+ <value cell_index="33754" local_entity="0" value="0" />
+ <value cell_index="33755" local_entity="0" value="0" />
+ <value cell_index="33756" local_entity="0" value="0" />
+ <value cell_index="33757" local_entity="0" value="0" />
+ <value cell_index="33758" local_entity="0" value="0" />
+ <value cell_index="33759" local_entity="0" value="0" />
+ <value cell_index="33760" local_entity="0" value="0" />
+ <value cell_index="33761" local_entity="0" value="0" />
+ <value cell_index="33762" local_entity="0" value="0" />
+ <value cell_index="33763" local_entity="0" value="0" />
+ <value cell_index="33764" local_entity="0" value="0" />
+ <value cell_index="33765" local_entity="0" value="0" />
+ <value cell_index="33766" local_entity="0" value="0" />
+ <value cell_index="33767" local_entity="0" value="0" />
+ <value cell_index="33768" local_entity="0" value="0" />
+ <value cell_index="33769" local_entity="0" value="0" />
+ <value cell_index="33770" local_entity="0" value="0" />
+ <value cell_index="33771" local_entity="0" value="0" />
+ <value cell_index="33772" local_entity="0" value="0" />
+ <value cell_index="33773" local_entity="0" value="0" />
+ <value cell_index="33774" local_entity="0" value="0" />
+ <value cell_index="33775" local_entity="0" value="0" />
+ <value cell_index="33776" local_entity="0" value="0" />
+ <value cell_index="33777" local_entity="0" value="0" />
+ <value cell_index="33778" local_entity="0" value="0" />
+ <value cell_index="33779" local_entity="0" value="0" />
+ <value cell_index="33780" local_entity="0" value="0" />
+ <value cell_index="33781" local_entity="0" value="0" />
+ <value cell_index="33782" local_entity="0" value="0" />
+ <value cell_index="33783" local_entity="0" value="0" />
+ <value cell_index="33784" local_entity="0" value="0" />
+ <value cell_index="33785" local_entity="0" value="0" />
+ <value cell_index="33786" local_entity="0" value="0" />
+ <value cell_index="33787" local_entity="0" value="0" />
+ <value cell_index="33788" local_entity="0" value="0" />
+ <value cell_index="33789" local_entity="0" value="0" />
+ <value cell_index="33790" local_entity="0" value="0" />
+ <value cell_index="33791" local_entity="0" value="0" />
+ <value cell_index="33792" local_entity="0" value="0" />
+ <value cell_index="33793" local_entity="0" value="0" />
+ <value cell_index="33794" local_entity="0" value="0" />
+ <value cell_index="33795" local_entity="0" value="0" />
+ <value cell_index="33796" local_entity="0" value="0" />
+ <value cell_index="33797" local_entity="0" value="0" />
+ <value cell_index="33798" local_entity="0" value="0" />
+ <value cell_index="33799" local_entity="0" value="0" />
+ <value cell_index="33800" local_entity="0" value="0" />
+ <value cell_index="33801" local_entity="0" value="0" />
+ <value cell_index="33802" local_entity="0" value="0" />
+ <value cell_index="33803" local_entity="0" value="0" />
+ <value cell_index="33804" local_entity="0" value="0" />
+ <value cell_index="33805" local_entity="0" value="0" />
+ <value cell_index="33806" local_entity="0" value="0" />
+ <value cell_index="33807" local_entity="0" value="0" />
+ <value cell_index="33808" local_entity="0" value="0" />
+ <value cell_index="33809" local_entity="0" value="0" />
+ <value cell_index="33810" local_entity="0" value="0" />
+ <value cell_index="33811" local_entity="0" value="0" />
+ <value cell_index="33812" local_entity="0" value="0" />
+ <value cell_index="33813" local_entity="0" value="0" />
+ <value cell_index="33814" local_entity="0" value="0" />
+ <value cell_index="33815" local_entity="0" value="0" />
+ <value cell_index="33816" local_entity="0" value="0" />
+ <value cell_index="33817" local_entity="0" value="0" />
+ <value cell_index="33818" local_entity="0" value="0" />
+ <value cell_index="33819" local_entity="0" value="0" />
+ <value cell_index="33820" local_entity="0" value="0" />
+ <value cell_index="33821" local_entity="0" value="0" />
+ <value cell_index="33822" local_entity="0" value="0" />
+ <value cell_index="33823" local_entity="0" value="0" />
+ <value cell_index="33824" local_entity="0" value="0" />
+ <value cell_index="33825" local_entity="0" value="0" />
+ <value cell_index="33826" local_entity="0" value="0" />
+ <value cell_index="33827" local_entity="0" value="0" />
+ <value cell_index="33828" local_entity="0" value="0" />
+ <value cell_index="33829" local_entity="0" value="0" />
+ <value cell_index="33830" local_entity="0" value="0" />
+ <value cell_index="33831" local_entity="0" value="0" />
+ <value cell_index="33832" local_entity="0" value="0" />
+ <value cell_index="33833" local_entity="0" value="0" />
+ <value cell_index="33834" local_entity="0" value="0" />
+ <value cell_index="33835" local_entity="0" value="0" />
+ <value cell_index="33836" local_entity="0" value="0" />
+ <value cell_index="33837" local_entity="0" value="0" />
+ <value cell_index="33838" local_entity="0" value="0" />
+ <value cell_index="33839" local_entity="0" value="0" />
+ <value cell_index="33840" local_entity="0" value="0" />
+ <value cell_index="33841" local_entity="0" value="0" />
+ <value cell_index="33842" local_entity="0" value="0" />
+ <value cell_index="33843" local_entity="0" value="0" />
+ <value cell_index="33844" local_entity="0" value="0" />
+ <value cell_index="33845" local_entity="0" value="0" />
+ <value cell_index="33846" local_entity="0" value="0" />
+ <value cell_index="33847" local_entity="0" value="0" />
+ <value cell_index="33848" local_entity="0" value="0" />
+ <value cell_index="33849" local_entity="0" value="0" />
+ <value cell_index="33850" local_entity="0" value="0" />
+ <value cell_index="33851" local_entity="0" value="0" />
+ <value cell_index="33852" local_entity="0" value="0" />
+ <value cell_index="33853" local_entity="0" value="0" />
+ <value cell_index="33854" local_entity="0" value="0" />
+ <value cell_index="33855" local_entity="0" value="0" />
+ <value cell_index="33856" local_entity="0" value="0" />
+ <value cell_index="33857" local_entity="0" value="0" />
+ <value cell_index="33858" local_entity="0" value="0" />
+ <value cell_index="33859" local_entity="0" value="0" />
+ <value cell_index="33860" local_entity="0" value="0" />
+ <value cell_index="33861" local_entity="0" value="0" />
+ <value cell_index="33862" local_entity="0" value="0" />
+ <value cell_index="33863" local_entity="0" value="0" />
+ <value cell_index="33864" local_entity="0" value="0" />
+ <value cell_index="33865" local_entity="0" value="0" />
+ <value cell_index="33866" local_entity="0" value="0" />
+ <value cell_index="33867" local_entity="0" value="0" />
+ <value cell_index="33868" local_entity="0" value="0" />
+ <value cell_index="33869" local_entity="0" value="0" />
+ <value cell_index="33870" local_entity="0" value="0" />
+ <value cell_index="33871" local_entity="0" value="0" />
+ <value cell_index="33872" local_entity="0" value="0" />
+ <value cell_index="33873" local_entity="0" value="0" />
+ <value cell_index="33874" local_entity="0" value="0" />
+ <value cell_index="33875" local_entity="0" value="0" />
+ <value cell_index="33876" local_entity="0" value="0" />
+ <value cell_index="33877" local_entity="0" value="0" />
+ <value cell_index="33878" local_entity="0" value="0" />
+ <value cell_index="33879" local_entity="0" value="0" />
+ <value cell_index="33880" local_entity="0" value="0" />
+ <value cell_index="33881" local_entity="0" value="0" />
+ <value cell_index="33882" local_entity="0" value="0" />
+ <value cell_index="33883" local_entity="0" value="0" />
+ <value cell_index="33884" local_entity="0" value="0" />
+ <value cell_index="33885" local_entity="0" value="0" />
+ <value cell_index="33886" local_entity="0" value="0" />
+ <value cell_index="33887" local_entity="0" value="0" />
+ <value cell_index="33888" local_entity="0" value="0" />
+ <value cell_index="33889" local_entity="0" value="0" />
+ <value cell_index="33890" local_entity="0" value="0" />
+ <value cell_index="33891" local_entity="0" value="0" />
+ <value cell_index="33892" local_entity="0" value="0" />
+ <value cell_index="33893" local_entity="0" value="0" />
+ <value cell_index="33894" local_entity="0" value="0" />
+ <value cell_index="33895" local_entity="0" value="0" />
+ <value cell_index="33896" local_entity="0" value="0" />
+ <value cell_index="33897" local_entity="0" value="0" />
+ <value cell_index="33898" local_entity="0" value="0" />
+ <value cell_index="33899" local_entity="0" value="0" />
+ <value cell_index="33900" local_entity="0" value="0" />
+ <value cell_index="33901" local_entity="0" value="0" />
+ <value cell_index="33902" local_entity="0" value="0" />
+ <value cell_index="33903" local_entity="0" value="0" />
+ <value cell_index="33904" local_entity="0" value="0" />
+ <value cell_index="33905" local_entity="0" value="0" />
+ <value cell_index="33906" local_entity="0" value="0" />
+ <value cell_index="33907" local_entity="0" value="0" />
+ <value cell_index="33908" local_entity="0" value="0" />
+ <value cell_index="33909" local_entity="0" value="0" />
+ <value cell_index="33910" local_entity="0" value="0" />
+ <value cell_index="33911" local_entity="0" value="0" />
+ <value cell_index="33912" local_entity="0" value="0" />
+ <value cell_index="33913" local_entity="0" value="0" />
+ <value cell_index="33914" local_entity="0" value="0" />
+ <value cell_index="33915" local_entity="0" value="0" />
+ <value cell_index="33916" local_entity="0" value="0" />
+ <value cell_index="33917" local_entity="0" value="0" />
+ <value cell_index="33918" local_entity="0" value="0" />
+ <value cell_index="33919" local_entity="0" value="0" />
+ <value cell_index="33920" local_entity="0" value="0" />
+ <value cell_index="33921" local_entity="0" value="0" />
+ <value cell_index="33922" local_entity="0" value="0" />
+ <value cell_index="33923" local_entity="0" value="0" />
+ <value cell_index="33924" local_entity="0" value="0" />
+ <value cell_index="33925" local_entity="0" value="0" />
+ <value cell_index="33926" local_entity="0" value="0" />
+ <value cell_index="33927" local_entity="0" value="0" />
+ <value cell_index="33928" local_entity="0" value="0" />
+ <value cell_index="33929" local_entity="0" value="0" />
+ <value cell_index="33930" local_entity="0" value="0" />
+ <value cell_index="33931" local_entity="0" value="0" />
+ <value cell_index="33932" local_entity="0" value="0" />
+ <value cell_index="33933" local_entity="0" value="0" />
+ <value cell_index="33934" local_entity="0" value="0" />
+ <value cell_index="33935" local_entity="0" value="0" />
+ <value cell_index="33936" local_entity="0" value="0" />
+ <value cell_index="33937" local_entity="0" value="0" />
+ <value cell_index="33938" local_entity="0" value="0" />
+ <value cell_index="33939" local_entity="0" value="0" />
+ <value cell_index="33940" local_entity="0" value="0" />
+ <value cell_index="33941" local_entity="0" value="0" />
+ <value cell_index="33942" local_entity="0" value="0" />
+ <value cell_index="33943" local_entity="0" value="0" />
+ <value cell_index="33944" local_entity="0" value="0" />
+ <value cell_index="33945" local_entity="0" value="0" />
+ <value cell_index="33946" local_entity="0" value="0" />
+ <value cell_index="33947" local_entity="0" value="0" />
+ <value cell_index="33948" local_entity="0" value="0" />
+ <value cell_index="33949" local_entity="0" value="0" />
+ <value cell_index="33950" local_entity="0" value="0" />
+ <value cell_index="33951" local_entity="0" value="0" />
+ <value cell_index="33952" local_entity="0" value="0" />
+ <value cell_index="33953" local_entity="0" value="0" />
+ <value cell_index="33954" local_entity="0" value="0" />
+ <value cell_index="33955" local_entity="0" value="0" />
+ <value cell_index="33956" local_entity="0" value="0" />
+ <value cell_index="33957" local_entity="0" value="0" />
+ <value cell_index="33958" local_entity="0" value="0" />
+ <value cell_index="33959" local_entity="0" value="0" />
+ <value cell_index="33960" local_entity="0" value="0" />
+ <value cell_index="33961" local_entity="0" value="0" />
+ <value cell_index="33962" local_entity="0" value="0" />
+ <value cell_index="33963" local_entity="0" value="0" />
+ <value cell_index="33964" local_entity="0" value="0" />
+ <value cell_index="33965" local_entity="0" value="0" />
+ <value cell_index="33966" local_entity="0" value="0" />
+ <value cell_index="33967" local_entity="0" value="0" />
+ <value cell_index="33968" local_entity="0" value="0" />
+ <value cell_index="33969" local_entity="0" value="0" />
+ <value cell_index="33970" local_entity="0" value="0" />
+ <value cell_index="33971" local_entity="0" value="0" />
+ <value cell_index="33972" local_entity="0" value="0" />
+ <value cell_index="33973" local_entity="0" value="0" />
+ <value cell_index="33974" local_entity="0" value="0" />
+ <value cell_index="33975" local_entity="0" value="0" />
+ <value cell_index="33976" local_entity="0" value="0" />
+ <value cell_index="33977" local_entity="0" value="0" />
+ <value cell_index="33978" local_entity="0" value="0" />
+ <value cell_index="33979" local_entity="0" value="0" />
+ <value cell_index="33980" local_entity="0" value="0" />
+ <value cell_index="33981" local_entity="0" value="0" />
+ <value cell_index="33982" local_entity="0" value="0" />
+ <value cell_index="33983" local_entity="0" value="0" />
+ <value cell_index="33984" local_entity="0" value="0" />
+ <value cell_index="33985" local_entity="0" value="0" />
+ <value cell_index="33986" local_entity="0" value="0" />
+ <value cell_index="33987" local_entity="0" value="0" />
+ <value cell_index="33988" local_entity="0" value="0" />
+ <value cell_index="33989" local_entity="0" value="0" />
+ <value cell_index="33990" local_entity="0" value="0" />
+ <value cell_index="33991" local_entity="0" value="0" />
+ <value cell_index="33992" local_entity="0" value="0" />
+ <value cell_index="33993" local_entity="0" value="0" />
+ <value cell_index="33994" local_entity="0" value="0" />
+ <value cell_index="33995" local_entity="0" value="0" />
+ <value cell_index="33996" local_entity="0" value="0" />
+ <value cell_index="33997" local_entity="0" value="0" />
+ <value cell_index="33998" local_entity="0" value="0" />
+ <value cell_index="33999" local_entity="0" value="0" />
+ <value cell_index="34000" local_entity="0" value="0" />
+ <value cell_index="34001" local_entity="0" value="0" />
+ <value cell_index="34002" local_entity="0" value="0" />
+ <value cell_index="34003" local_entity="0" value="0" />
+ <value cell_index="34004" local_entity="0" value="0" />
+ <value cell_index="34005" local_entity="0" value="0" />
+ <value cell_index="34006" local_entity="0" value="0" />
+ <value cell_index="34007" local_entity="0" value="0" />
+ <value cell_index="34008" local_entity="0" value="0" />
+ <value cell_index="34009" local_entity="0" value="0" />
+ <value cell_index="34010" local_entity="0" value="0" />
+ <value cell_index="34011" local_entity="0" value="0" />
+ <value cell_index="34012" local_entity="0" value="0" />
+ <value cell_index="34013" local_entity="0" value="0" />
+ <value cell_index="34014" local_entity="0" value="0" />
+ <value cell_index="34015" local_entity="0" value="0" />
+ <value cell_index="34016" local_entity="0" value="0" />
+ <value cell_index="34017" local_entity="0" value="0" />
+ <value cell_index="34018" local_entity="0" value="0" />
+ <value cell_index="34019" local_entity="0" value="0" />
+ <value cell_index="34020" local_entity="0" value="0" />
+ <value cell_index="34021" local_entity="0" value="0" />
+ <value cell_index="34022" local_entity="0" value="0" />
+ <value cell_index="34023" local_entity="0" value="0" />
+ <value cell_index="34024" local_entity="0" value="0" />
+ <value cell_index="34025" local_entity="0" value="0" />
+ <value cell_index="34026" local_entity="0" value="0" />
+ <value cell_index="34027" local_entity="0" value="0" />
+ <value cell_index="34028" local_entity="0" value="0" />
+ <value cell_index="34029" local_entity="0" value="0" />
+ <value cell_index="34030" local_entity="0" value="0" />
+ <value cell_index="34031" local_entity="0" value="0" />
+ <value cell_index="34032" local_entity="0" value="0" />
+ <value cell_index="34033" local_entity="0" value="0" />
+ <value cell_index="34034" local_entity="0" value="0" />
+ <value cell_index="34035" local_entity="0" value="0" />
+ <value cell_index="34036" local_entity="0" value="0" />
+ <value cell_index="34037" local_entity="0" value="0" />
+ <value cell_index="34038" local_entity="0" value="0" />
+ <value cell_index="34039" local_entity="0" value="0" />
+ <value cell_index="34040" local_entity="0" value="0" />
+ <value cell_index="34041" local_entity="0" value="0" />
+ <value cell_index="34042" local_entity="0" value="0" />
+ <value cell_index="34043" local_entity="0" value="0" />
+ <value cell_index="34044" local_entity="0" value="0" />
+ <value cell_index="34045" local_entity="0" value="0" />
+ <value cell_index="34046" local_entity="0" value="0" />
+ <value cell_index="34047" local_entity="0" value="0" />
+ <value cell_index="34048" local_entity="0" value="0" />
+ <value cell_index="34049" local_entity="0" value="0" />
+ <value cell_index="34050" local_entity="0" value="0" />
+ <value cell_index="34051" local_entity="0" value="0" />
+ <value cell_index="34052" local_entity="0" value="0" />
+ <value cell_index="34053" local_entity="0" value="0" />
+ <value cell_index="34054" local_entity="0" value="0" />
+ <value cell_index="34055" local_entity="0" value="0" />
+ <value cell_index="34056" local_entity="0" value="0" />
+ <value cell_index="34057" local_entity="0" value="0" />
+ <value cell_index="34058" local_entity="0" value="0" />
+ <value cell_index="34059" local_entity="0" value="0" />
+ <value cell_index="34060" local_entity="0" value="0" />
+ <value cell_index="34061" local_entity="0" value="0" />
+ <value cell_index="34062" local_entity="0" value="0" />
+ <value cell_index="34063" local_entity="0" value="0" />
+ <value cell_index="34064" local_entity="0" value="0" />
+ <value cell_index="34065" local_entity="0" value="0" />
+ <value cell_index="34066" local_entity="0" value="0" />
+ <value cell_index="34067" local_entity="0" value="0" />
+ <value cell_index="34068" local_entity="0" value="0" />
+ <value cell_index="34069" local_entity="0" value="0" />
+ <value cell_index="34070" local_entity="0" value="0" />
+ <value cell_index="34071" local_entity="0" value="0" />
+ <value cell_index="34072" local_entity="0" value="0" />
+ <value cell_index="34073" local_entity="0" value="0" />
+ <value cell_index="34074" local_entity="0" value="0" />
+ <value cell_index="34075" local_entity="0" value="0" />
+ <value cell_index="34076" local_entity="0" value="0" />
+ <value cell_index="34077" local_entity="0" value="0" />
+ <value cell_index="34078" local_entity="0" value="0" />
+ <value cell_index="34079" local_entity="0" value="0" />
+ <value cell_index="34080" local_entity="0" value="0" />
+ <value cell_index="34081" local_entity="0" value="0" />
+ <value cell_index="34082" local_entity="0" value="0" />
+ <value cell_index="34083" local_entity="0" value="0" />
+ <value cell_index="34084" local_entity="0" value="0" />
+ <value cell_index="34085" local_entity="0" value="0" />
+ <value cell_index="34086" local_entity="0" value="0" />
+ <value cell_index="34087" local_entity="0" value="0" />
+ <value cell_index="34088" local_entity="0" value="0" />
+ <value cell_index="34089" local_entity="0" value="0" />
+ <value cell_index="34090" local_entity="0" value="0" />
+ <value cell_index="34091" local_entity="0" value="0" />
+ <value cell_index="34092" local_entity="0" value="0" />
+ <value cell_index="34093" local_entity="0" value="0" />
+ <value cell_index="34094" local_entity="0" value="0" />
+ <value cell_index="34095" local_entity="0" value="0" />
+ <value cell_index="34096" local_entity="0" value="0" />
+ <value cell_index="34097" local_entity="0" value="0" />
+ <value cell_index="34098" local_entity="0" value="0" />
+ <value cell_index="34099" local_entity="0" value="0" />
+ <value cell_index="34100" local_entity="0" value="0" />
+ <value cell_index="34101" local_entity="0" value="0" />
+ <value cell_index="34102" local_entity="0" value="0" />
+ <value cell_index="34103" local_entity="0" value="0" />
+ <value cell_index="34104" local_entity="0" value="0" />
+ <value cell_index="34105" local_entity="0" value="0" />
+ <value cell_index="34106" local_entity="0" value="0" />
+ <value cell_index="34107" local_entity="0" value="0" />
+ <value cell_index="34108" local_entity="0" value="0" />
+ <value cell_index="34109" local_entity="0" value="0" />
+ <value cell_index="34110" local_entity="0" value="0" />
+ <value cell_index="34111" local_entity="0" value="0" />
+ <value cell_index="34112" local_entity="0" value="0" />
+ <value cell_index="34113" local_entity="0" value="0" />
+ <value cell_index="34114" local_entity="0" value="0" />
+ <value cell_index="34115" local_entity="0" value="0" />
+ <value cell_index="34116" local_entity="0" value="0" />
+ <value cell_index="34117" local_entity="0" value="0" />
+ <value cell_index="34118" local_entity="0" value="0" />
+ <value cell_index="34119" local_entity="0" value="0" />
+ <value cell_index="34120" local_entity="0" value="0" />
+ <value cell_index="34121" local_entity="0" value="0" />
+ <value cell_index="34122" local_entity="0" value="0" />
+ <value cell_index="34123" local_entity="0" value="0" />
+ <value cell_index="34124" local_entity="0" value="0" />
+ <value cell_index="34125" local_entity="0" value="0" />
+ <value cell_index="34126" local_entity="0" value="0" />
+ <value cell_index="34127" local_entity="0" value="0" />
+ <value cell_index="34128" local_entity="0" value="0" />
+ <value cell_index="34129" local_entity="0" value="0" />
+ <value cell_index="34130" local_entity="0" value="0" />
+ <value cell_index="34131" local_entity="0" value="0" />
+ <value cell_index="34132" local_entity="0" value="0" />
+ <value cell_index="34133" local_entity="0" value="0" />
+ <value cell_index="34134" local_entity="0" value="0" />
+ <value cell_index="34135" local_entity="0" value="0" />
+ <value cell_index="34136" local_entity="0" value="0" />
+ <value cell_index="34137" local_entity="0" value="0" />
+ <value cell_index="34138" local_entity="0" value="0" />
+ <value cell_index="34139" local_entity="0" value="0" />
+ <value cell_index="34140" local_entity="0" value="0" />
+ <value cell_index="34141" local_entity="0" value="0" />
+ <value cell_index="34142" local_entity="0" value="0" />
+ <value cell_index="34143" local_entity="0" value="0" />
+ <value cell_index="34144" local_entity="0" value="0" />
+ <value cell_index="34145" local_entity="0" value="0" />
+ <value cell_index="34146" local_entity="0" value="0" />
+ <value cell_index="34147" local_entity="0" value="0" />
+ <value cell_index="34148" local_entity="0" value="0" />
+ <value cell_index="34149" local_entity="0" value="0" />
+ <value cell_index="34150" local_entity="0" value="0" />
+ <value cell_index="34151" local_entity="0" value="0" />
+ <value cell_index="34152" local_entity="0" value="0" />
+ <value cell_index="34153" local_entity="0" value="0" />
+ <value cell_index="34154" local_entity="0" value="0" />
+ <value cell_index="34155" local_entity="0" value="0" />
+ <value cell_index="34156" local_entity="0" value="0" />
+ <value cell_index="34157" local_entity="0" value="0" />
+ <value cell_index="34158" local_entity="0" value="0" />
+ <value cell_index="34159" local_entity="0" value="0" />
+ <value cell_index="34160" local_entity="0" value="0" />
+ <value cell_index="34161" local_entity="0" value="0" />
+ <value cell_index="34162" local_entity="0" value="0" />
+ <value cell_index="34163" local_entity="0" value="0" />
+ <value cell_index="34164" local_entity="0" value="0" />
+ <value cell_index="34165" local_entity="0" value="0" />
+ <value cell_index="34166" local_entity="0" value="0" />
+ <value cell_index="34167" local_entity="0" value="0" />
+ <value cell_index="34168" local_entity="0" value="0" />
+ <value cell_index="34169" local_entity="0" value="0" />
+ <value cell_index="34170" local_entity="0" value="0" />
+ <value cell_index="34171" local_entity="0" value="0" />
+ <value cell_index="34172" local_entity="0" value="0" />
+ <value cell_index="34173" local_entity="0" value="0" />
+ <value cell_index="34174" local_entity="0" value="0" />
+ <value cell_index="34175" local_entity="0" value="0" />
+ <value cell_index="34176" local_entity="0" value="0" />
+ <value cell_index="34177" local_entity="0" value="0" />
+ <value cell_index="34178" local_entity="0" value="0" />
+ <value cell_index="34179" local_entity="0" value="0" />
+ <value cell_index="34180" local_entity="0" value="0" />
+ <value cell_index="34181" local_entity="0" value="0" />
+ <value cell_index="34182" local_entity="0" value="0" />
+ <value cell_index="34183" local_entity="0" value="0" />
+ <value cell_index="34184" local_entity="0" value="0" />
+ <value cell_index="34185" local_entity="0" value="0" />
+ <value cell_index="34186" local_entity="0" value="0" />
+ <value cell_index="34187" local_entity="0" value="0" />
+ <value cell_index="34188" local_entity="0" value="0" />
+ <value cell_index="34189" local_entity="0" value="0" />
+ <value cell_index="34190" local_entity="0" value="0" />
+ <value cell_index="34191" local_entity="0" value="0" />
+ <value cell_index="34192" local_entity="0" value="0" />
+ <value cell_index="34193" local_entity="0" value="0" />
+ <value cell_index="34194" local_entity="0" value="0" />
+ <value cell_index="34195" local_entity="0" value="0" />
+ <value cell_index="34196" local_entity="0" value="0" />
+ <value cell_index="34197" local_entity="0" value="0" />
+ <value cell_index="34198" local_entity="0" value="0" />
+ <value cell_index="34199" local_entity="0" value="0" />
+ <value cell_index="34200" local_entity="0" value="0" />
+ <value cell_index="34201" local_entity="0" value="0" />
+ <value cell_index="34202" local_entity="0" value="0" />
+ <value cell_index="34203" local_entity="0" value="0" />
+ <value cell_index="34204" local_entity="0" value="0" />
+ <value cell_index="34205" local_entity="0" value="0" />
+ <value cell_index="34206" local_entity="0" value="0" />
+ <value cell_index="34207" local_entity="0" value="0" />
+ <value cell_index="34208" local_entity="0" value="0" />
+ <value cell_index="34209" local_entity="0" value="0" />
+ <value cell_index="34210" local_entity="0" value="0" />
+ <value cell_index="34211" local_entity="0" value="0" />
+ <value cell_index="34212" local_entity="0" value="0" />
+ <value cell_index="34213" local_entity="0" value="0" />
+ <value cell_index="34214" local_entity="0" value="0" />
+ <value cell_index="34215" local_entity="0" value="0" />
+ <value cell_index="34216" local_entity="0" value="0" />
+ <value cell_index="34217" local_entity="0" value="0" />
+ <value cell_index="34218" local_entity="0" value="0" />
+ <value cell_index="34219" local_entity="0" value="0" />
+ <value cell_index="34220" local_entity="0" value="0" />
+ <value cell_index="34221" local_entity="0" value="0" />
+ <value cell_index="34222" local_entity="0" value="0" />
+ <value cell_index="34223" local_entity="0" value="0" />
+ <value cell_index="34224" local_entity="0" value="0" />
+ <value cell_index="34225" local_entity="0" value="0" />
+ <value cell_index="34226" local_entity="0" value="0" />
+ <value cell_index="34227" local_entity="0" value="0" />
+ <value cell_index="34228" local_entity="0" value="0" />
+ <value cell_index="34229" local_entity="0" value="0" />
+ <value cell_index="34230" local_entity="0" value="0" />
+ <value cell_index="34231" local_entity="0" value="0" />
+ <value cell_index="34232" local_entity="0" value="0" />
+ <value cell_index="34233" local_entity="0" value="0" />
+ <value cell_index="34234" local_entity="0" value="0" />
+ <value cell_index="34235" local_entity="0" value="0" />
+ <value cell_index="34236" local_entity="0" value="0" />
+ <value cell_index="34237" local_entity="0" value="0" />
+ <value cell_index="34238" local_entity="0" value="0" />
+ <value cell_index="34239" local_entity="0" value="0" />
+ <value cell_index="34240" local_entity="0" value="0" />
+ <value cell_index="34241" local_entity="0" value="0" />
+ <value cell_index="34242" local_entity="0" value="0" />
+ <value cell_index="34243" local_entity="0" value="0" />
+ <value cell_index="34244" local_entity="0" value="0" />
+ <value cell_index="34245" local_entity="0" value="0" />
+ <value cell_index="34246" local_entity="0" value="0" />
+ <value cell_index="34247" local_entity="0" value="0" />
+ <value cell_index="34248" local_entity="0" value="0" />
+ <value cell_index="34249" local_entity="0" value="0" />
+ <value cell_index="34250" local_entity="0" value="0" />
+ <value cell_index="34251" local_entity="0" value="0" />
+ <value cell_index="34252" local_entity="0" value="0" />
+ <value cell_index="34253" local_entity="0" value="0" />
+ <value cell_index="34254" local_entity="0" value="0" />
+ <value cell_index="34255" local_entity="0" value="0" />
+ <value cell_index="34256" local_entity="0" value="0" />
+ <value cell_index="34257" local_entity="0" value="0" />
+ <value cell_index="34258" local_entity="0" value="0" />
+ <value cell_index="34259" local_entity="0" value="0" />
+ <value cell_index="34260" local_entity="0" value="0" />
+ <value cell_index="34261" local_entity="0" value="0" />
+ <value cell_index="34262" local_entity="0" value="0" />
+ <value cell_index="34263" local_entity="0" value="0" />
+ <value cell_index="34264" local_entity="0" value="0" />
+ <value cell_index="34265" local_entity="0" value="0" />
+ <value cell_index="34266" local_entity="0" value="0" />
+ <value cell_index="34267" local_entity="0" value="0" />
+ <value cell_index="34268" local_entity="0" value="0" />
+ <value cell_index="34269" local_entity="0" value="0" />
+ <value cell_index="34270" local_entity="0" value="0" />
+ <value cell_index="34271" local_entity="0" value="0" />
+ <value cell_index="34272" local_entity="0" value="0" />
+ <value cell_index="34273" local_entity="0" value="0" />
+ <value cell_index="34274" local_entity="0" value="0" />
+ <value cell_index="34275" local_entity="0" value="0" />
+ <value cell_index="34276" local_entity="0" value="0" />
+ <value cell_index="34277" local_entity="0" value="0" />
+ <value cell_index="34278" local_entity="0" value="0" />
+ <value cell_index="34279" local_entity="0" value="0" />
+ <value cell_index="34280" local_entity="0" value="0" />
+ <value cell_index="34281" local_entity="0" value="0" />
+ <value cell_index="34282" local_entity="0" value="0" />
+ <value cell_index="34283" local_entity="0" value="0" />
+ <value cell_index="34284" local_entity="0" value="0" />
+ <value cell_index="34285" local_entity="0" value="0" />
+ <value cell_index="34286" local_entity="0" value="0" />
+ <value cell_index="34287" local_entity="0" value="0" />
+ <value cell_index="34288" local_entity="0" value="0" />
+ <value cell_index="34289" local_entity="0" value="0" />
+ <value cell_index="34290" local_entity="0" value="0" />
+ <value cell_index="34291" local_entity="0" value="0" />
+ <value cell_index="34292" local_entity="0" value="0" />
+ <value cell_index="34293" local_entity="0" value="0" />
+ <value cell_index="34294" local_entity="0" value="0" />
+ <value cell_index="34295" local_entity="0" value="0" />
+ <value cell_index="34296" local_entity="0" value="0" />
+ <value cell_index="34297" local_entity="0" value="0" />
+ <value cell_index="34298" local_entity="0" value="0" />
+ <value cell_index="34299" local_entity="0" value="0" />
+ <value cell_index="34300" local_entity="0" value="0" />
+ <value cell_index="34301" local_entity="0" value="0" />
+ <value cell_index="34302" local_entity="0" value="0" />
+ <value cell_index="34303" local_entity="0" value="0" />
+ <value cell_index="34304" local_entity="0" value="0" />
+ <value cell_index="34305" local_entity="0" value="0" />
+ <value cell_index="34306" local_entity="0" value="0" />
+ <value cell_index="34307" local_entity="0" value="0" />
+ <value cell_index="34308" local_entity="0" value="0" />
+ <value cell_index="34309" local_entity="0" value="0" />
+ <value cell_index="34310" local_entity="0" value="0" />
+ <value cell_index="34311" local_entity="0" value="0" />
+ <value cell_index="34312" local_entity="0" value="0" />
+ <value cell_index="34313" local_entity="0" value="0" />
+ <value cell_index="34314" local_entity="0" value="0" />
+ <value cell_index="34315" local_entity="0" value="0" />
+ <value cell_index="34316" local_entity="0" value="0" />
+ <value cell_index="34317" local_entity="0" value="0" />
+ <value cell_index="34318" local_entity="0" value="0" />
+ <value cell_index="34319" local_entity="0" value="0" />
+ <value cell_index="34320" local_entity="0" value="0" />
+ <value cell_index="34321" local_entity="0" value="0" />
+ <value cell_index="34322" local_entity="0" value="0" />
+ <value cell_index="34323" local_entity="0" value="0" />
+ <value cell_index="34324" local_entity="0" value="0" />
+ <value cell_index="34325" local_entity="0" value="0" />
+ <value cell_index="34326" local_entity="0" value="0" />
+ <value cell_index="34327" local_entity="0" value="0" />
+ <value cell_index="34328" local_entity="0" value="0" />
+ <value cell_index="34329" local_entity="0" value="0" />
+ <value cell_index="34330" local_entity="0" value="0" />
+ <value cell_index="34331" local_entity="0" value="0" />
+ <value cell_index="34332" local_entity="0" value="0" />
+ <value cell_index="34333" local_entity="0" value="0" />
+ <value cell_index="34334" local_entity="0" value="0" />
+ <value cell_index="34335" local_entity="0" value="0" />
+ <value cell_index="34336" local_entity="0" value="0" />
+ <value cell_index="34337" local_entity="0" value="0" />
+ <value cell_index="34338" local_entity="0" value="0" />
+ <value cell_index="34339" local_entity="0" value="0" />
+ <value cell_index="34340" local_entity="0" value="0" />
+ <value cell_index="34341" local_entity="0" value="0" />
+ <value cell_index="34342" local_entity="0" value="0" />
+ <value cell_index="34343" local_entity="0" value="0" />
+ <value cell_index="34344" local_entity="0" value="0" />
+ <value cell_index="34345" local_entity="0" value="0" />
+ <value cell_index="34346" local_entity="0" value="0" />
+ <value cell_index="34347" local_entity="0" value="0" />
+ <value cell_index="34348" local_entity="0" value="0" />
+ <value cell_index="34349" local_entity="0" value="0" />
+ <value cell_index="34350" local_entity="0" value="0" />
+ <value cell_index="34351" local_entity="0" value="0" />
+ <value cell_index="34352" local_entity="0" value="0" />
+ <value cell_index="34353" local_entity="0" value="0" />
+ <value cell_index="34354" local_entity="0" value="0" />
+ <value cell_index="34355" local_entity="0" value="0" />
+ <value cell_index="34356" local_entity="0" value="0" />
+ <value cell_index="34357" local_entity="0" value="0" />
+ <value cell_index="34358" local_entity="0" value="0" />
+ <value cell_index="34359" local_entity="0" value="0" />
+ <value cell_index="34360" local_entity="0" value="0" />
+ <value cell_index="34361" local_entity="0" value="0" />
+ <value cell_index="34362" local_entity="0" value="0" />
+ <value cell_index="34363" local_entity="0" value="0" />
+ <value cell_index="34364" local_entity="0" value="0" />
+ <value cell_index="34365" local_entity="0" value="0" />
+ <value cell_index="34366" local_entity="0" value="0" />
+ <value cell_index="34367" local_entity="0" value="0" />
+ <value cell_index="34368" local_entity="0" value="0" />
+ <value cell_index="34369" local_entity="0" value="0" />
+ <value cell_index="34370" local_entity="0" value="0" />
+ <value cell_index="34371" local_entity="0" value="0" />
+ <value cell_index="34372" local_entity="0" value="0" />
+ <value cell_index="34373" local_entity="0" value="0" />
+ <value cell_index="34374" local_entity="0" value="0" />
+ <value cell_index="34375" local_entity="0" value="0" />
+ <value cell_index="34376" local_entity="0" value="0" />
+ <value cell_index="34377" local_entity="0" value="0" />
+ <value cell_index="34378" local_entity="0" value="0" />
+ <value cell_index="34379" local_entity="0" value="0" />
+ <value cell_index="34380" local_entity="0" value="0" />
+ <value cell_index="34381" local_entity="0" value="0" />
+ <value cell_index="34382" local_entity="0" value="0" />
+ <value cell_index="34383" local_entity="0" value="0" />
+ <value cell_index="34384" local_entity="0" value="0" />
+ <value cell_index="34385" local_entity="0" value="0" />
+ <value cell_index="34386" local_entity="0" value="0" />
+ <value cell_index="34387" local_entity="0" value="0" />
+ <value cell_index="34388" local_entity="0" value="0" />
+ <value cell_index="34389" local_entity="0" value="0" />
+ <value cell_index="34390" local_entity="0" value="0" />
+ <value cell_index="34391" local_entity="0" value="0" />
+ <value cell_index="34392" local_entity="0" value="0" />
+ <value cell_index="34393" local_entity="0" value="0" />
+ <value cell_index="34394" local_entity="0" value="0" />
+ <value cell_index="34395" local_entity="0" value="0" />
+ <value cell_index="34396" local_entity="0" value="0" />
+ <value cell_index="34397" local_entity="0" value="0" />
+ <value cell_index="34398" local_entity="0" value="0" />
+ <value cell_index="34399" local_entity="0" value="0" />
+ <value cell_index="34400" local_entity="0" value="0" />
+ <value cell_index="34401" local_entity="0" value="0" />
+ <value cell_index="34402" local_entity="0" value="0" />
+ <value cell_index="34403" local_entity="0" value="0" />
+ <value cell_index="34404" local_entity="0" value="0" />
+ <value cell_index="34405" local_entity="0" value="0" />
+ <value cell_index="34406" local_entity="0" value="0" />
+ <value cell_index="34407" local_entity="0" value="0" />
+ <value cell_index="34408" local_entity="0" value="0" />
+ <value cell_index="34409" local_entity="0" value="0" />
+ <value cell_index="34410" local_entity="0" value="0" />
+ <value cell_index="34411" local_entity="0" value="0" />
+ <value cell_index="34412" local_entity="0" value="0" />
+ <value cell_index="34413" local_entity="0" value="0" />
+ <value cell_index="34414" local_entity="0" value="0" />
+ <value cell_index="34415" local_entity="0" value="0" />
+ <value cell_index="34416" local_entity="0" value="0" />
+ <value cell_index="34417" local_entity="0" value="0" />
+ <value cell_index="34418" local_entity="0" value="0" />
+ <value cell_index="34419" local_entity="0" value="0" />
+ <value cell_index="34420" local_entity="0" value="0" />
+ <value cell_index="34421" local_entity="0" value="0" />
+ <value cell_index="34422" local_entity="0" value="0" />
+ <value cell_index="34423" local_entity="0" value="0" />
+ <value cell_index="34424" local_entity="0" value="0" />
+ <value cell_index="34425" local_entity="0" value="0" />
+ <value cell_index="34426" local_entity="0" value="0" />
+ <value cell_index="34427" local_entity="0" value="0" />
+ <value cell_index="34428" local_entity="0" value="0" />
+ <value cell_index="34429" local_entity="0" value="0" />
+ <value cell_index="34430" local_entity="0" value="0" />
+ <value cell_index="34431" local_entity="0" value="0" />
+ <value cell_index="34432" local_entity="0" value="0" />
+ <value cell_index="34433" local_entity="0" value="0" />
+ <value cell_index="34434" local_entity="0" value="0" />
+ <value cell_index="34435" local_entity="0" value="0" />
+ <value cell_index="34436" local_entity="0" value="0" />
+ <value cell_index="34437" local_entity="0" value="0" />
+ <value cell_index="34438" local_entity="0" value="0" />
+ <value cell_index="34439" local_entity="0" value="0" />
+ <value cell_index="34440" local_entity="0" value="0" />
+ <value cell_index="34441" local_entity="0" value="0" />
+ <value cell_index="34442" local_entity="0" value="0" />
+ <value cell_index="34443" local_entity="0" value="0" />
+ <value cell_index="34444" local_entity="0" value="0" />
+ <value cell_index="34445" local_entity="0" value="0" />
+ <value cell_index="34446" local_entity="0" value="0" />
+ <value cell_index="34447" local_entity="0" value="0" />
+ <value cell_index="34448" local_entity="0" value="0" />
+ <value cell_index="34449" local_entity="0" value="0" />
+ <value cell_index="34450" local_entity="0" value="0" />
+ <value cell_index="34451" local_entity="0" value="0" />
+ <value cell_index="34452" local_entity="0" value="0" />
+ <value cell_index="34453" local_entity="0" value="0" />
+ <value cell_index="34454" local_entity="0" value="0" />
+ <value cell_index="34455" local_entity="0" value="0" />
+ <value cell_index="34456" local_entity="0" value="0" />
+ <value cell_index="34457" local_entity="0" value="0" />
+ <value cell_index="34458" local_entity="0" value="0" />
+ <value cell_index="34459" local_entity="0" value="0" />
+ <value cell_index="34460" local_entity="0" value="0" />
+ <value cell_index="34461" local_entity="0" value="0" />
+ <value cell_index="34462" local_entity="0" value="0" />
+ <value cell_index="34463" local_entity="0" value="0" />
+ <value cell_index="34464" local_entity="0" value="0" />
+ <value cell_index="34465" local_entity="0" value="0" />
+ <value cell_index="34466" local_entity="0" value="0" />
+ <value cell_index="34467" local_entity="0" value="0" />
+ <value cell_index="34468" local_entity="0" value="0" />
+ <value cell_index="34469" local_entity="0" value="0" />
+ <value cell_index="34470" local_entity="0" value="0" />
+ <value cell_index="34471" local_entity="0" value="0" />
+ <value cell_index="34472" local_entity="0" value="0" />
+ <value cell_index="34473" local_entity="0" value="0" />
+ <value cell_index="34474" local_entity="0" value="0" />
+ <value cell_index="34475" local_entity="0" value="0" />
+ <value cell_index="34476" local_entity="0" value="0" />
+ <value cell_index="34477" local_entity="0" value="0" />
+ <value cell_index="34478" local_entity="0" value="0" />
+ <value cell_index="34479" local_entity="0" value="0" />
+ <value cell_index="34480" local_entity="0" value="0" />
+ <value cell_index="34481" local_entity="0" value="0" />
+ <value cell_index="34482" local_entity="0" value="0" />
+ <value cell_index="34483" local_entity="0" value="0" />
+ <value cell_index="34484" local_entity="0" value="0" />
+ <value cell_index="34485" local_entity="0" value="0" />
+ <value cell_index="34486" local_entity="0" value="0" />
+ <value cell_index="34487" local_entity="0" value="0" />
+ <value cell_index="34488" local_entity="0" value="0" />
+ <value cell_index="34489" local_entity="0" value="0" />
+ <value cell_index="34490" local_entity="0" value="0" />
+ <value cell_index="34491" local_entity="0" value="0" />
+ <value cell_index="34492" local_entity="0" value="0" />
+ <value cell_index="34493" local_entity="0" value="0" />
+ <value cell_index="34494" local_entity="0" value="0" />
+ <value cell_index="34495" local_entity="0" value="0" />
+ <value cell_index="34496" local_entity="0" value="0" />
+ <value cell_index="34497" local_entity="0" value="0" />
+ <value cell_index="34498" local_entity="0" value="0" />
+ <value cell_index="34499" local_entity="0" value="0" />
+ <value cell_index="34500" local_entity="0" value="0" />
+ <value cell_index="34501" local_entity="0" value="0" />
+ <value cell_index="34502" local_entity="0" value="0" />
+ <value cell_index="34503" local_entity="0" value="0" />
+ <value cell_index="34504" local_entity="0" value="0" />
+ <value cell_index="34505" local_entity="0" value="0" />
+ <value cell_index="34506" local_entity="0" value="0" />
+ <value cell_index="34507" local_entity="0" value="0" />
+ <value cell_index="34508" local_entity="0" value="0" />
+ <value cell_index="34509" local_entity="0" value="0" />
+ <value cell_index="34510" local_entity="0" value="0" />
+ <value cell_index="34511" local_entity="0" value="0" />
+ <value cell_index="34512" local_entity="0" value="0" />
+ <value cell_index="34513" local_entity="0" value="0" />
+ <value cell_index="34514" local_entity="0" value="0" />
+ <value cell_index="34515" local_entity="0" value="0" />
+ <value cell_index="34516" local_entity="0" value="0" />
+ <value cell_index="34517" local_entity="0" value="0" />
+ <value cell_index="34518" local_entity="0" value="0" />
+ <value cell_index="34519" local_entity="0" value="0" />
+ <value cell_index="34520" local_entity="0" value="0" />
+ <value cell_index="34521" local_entity="0" value="0" />
+ <value cell_index="34522" local_entity="0" value="0" />
+ <value cell_index="34523" local_entity="0" value="0" />
+ <value cell_index="34524" local_entity="0" value="0" />
+ <value cell_index="34525" local_entity="0" value="0" />
+ <value cell_index="34526" local_entity="0" value="0" />
+ <value cell_index="34527" local_entity="0" value="0" />
+ <value cell_index="34528" local_entity="0" value="0" />
+ <value cell_index="34529" local_entity="0" value="0" />
+ <value cell_index="34530" local_entity="0" value="0" />
+ <value cell_index="34531" local_entity="0" value="0" />
+ <value cell_index="34532" local_entity="0" value="0" />
+ <value cell_index="34533" local_entity="0" value="0" />
+ <value cell_index="34534" local_entity="0" value="0" />
+ <value cell_index="34535" local_entity="0" value="0" />
+ <value cell_index="34536" local_entity="0" value="0" />
+ <value cell_index="34537" local_entity="0" value="0" />
+ <value cell_index="34538" local_entity="0" value="0" />
+ <value cell_index="34539" local_entity="0" value="0" />
+ <value cell_index="34540" local_entity="0" value="0" />
+ <value cell_index="34541" local_entity="0" value="0" />
+ <value cell_index="34542" local_entity="0" value="0" />
+ <value cell_index="34543" local_entity="0" value="0" />
+ <value cell_index="34544" local_entity="0" value="0" />
+ <value cell_index="34545" local_entity="0" value="0" />
+ <value cell_index="34546" local_entity="0" value="0" />
+ <value cell_index="34547" local_entity="0" value="0" />
+ <value cell_index="34548" local_entity="0" value="0" />
+ <value cell_index="34549" local_entity="0" value="0" />
+ <value cell_index="34550" local_entity="0" value="0" />
+ <value cell_index="34551" local_entity="0" value="0" />
+ <value cell_index="34552" local_entity="0" value="0" />
+ <value cell_index="34553" local_entity="0" value="0" />
+ <value cell_index="34554" local_entity="0" value="0" />
+ <value cell_index="34555" local_entity="0" value="0" />
+ <value cell_index="34556" local_entity="0" value="0" />
+ <value cell_index="34557" local_entity="0" value="0" />
+ <value cell_index="34558" local_entity="0" value="0" />
+ <value cell_index="34559" local_entity="0" value="0" />
+ <value cell_index="34560" local_entity="0" value="0" />
+ <value cell_index="34561" local_entity="0" value="0" />
+ <value cell_index="34562" local_entity="0" value="0" />
+ <value cell_index="34563" local_entity="0" value="0" />
+ <value cell_index="34564" local_entity="0" value="0" />
+ <value cell_index="34565" local_entity="0" value="0" />
+ <value cell_index="34566" local_entity="0" value="0" />
+ <value cell_index="34567" local_entity="0" value="0" />
+ <value cell_index="34568" local_entity="0" value="0" />
+ <value cell_index="34569" local_entity="0" value="0" />
+ <value cell_index="34570" local_entity="0" value="0" />
+ <value cell_index="34571" local_entity="0" value="0" />
+ <value cell_index="34572" local_entity="0" value="0" />
+ <value cell_index="34573" local_entity="0" value="0" />
+ <value cell_index="34574" local_entity="0" value="0" />
+ <value cell_index="34575" local_entity="0" value="0" />
+ <value cell_index="34576" local_entity="0" value="0" />
+ <value cell_index="34577" local_entity="0" value="0" />
+ <value cell_index="34578" local_entity="0" value="0" />
+ <value cell_index="34579" local_entity="0" value="0" />
+ <value cell_index="34580" local_entity="0" value="0" />
+ <value cell_index="34581" local_entity="0" value="0" />
+ <value cell_index="34582" local_entity="0" value="0" />
+ <value cell_index="34583" local_entity="0" value="0" />
+ <value cell_index="34584" local_entity="0" value="0" />
+ <value cell_index="34585" local_entity="0" value="0" />
+ <value cell_index="34586" local_entity="0" value="0" />
+ <value cell_index="34587" local_entity="0" value="0" />
+ <value cell_index="34588" local_entity="0" value="0" />
+ <value cell_index="34589" local_entity="0" value="0" />
+ <value cell_index="34590" local_entity="0" value="0" />
+ <value cell_index="34591" local_entity="0" value="0" />
+ <value cell_index="34592" local_entity="0" value="0" />
+ <value cell_index="34593" local_entity="0" value="0" />
+ <value cell_index="34594" local_entity="0" value="0" />
+ <value cell_index="34595" local_entity="0" value="0" />
+ <value cell_index="34596" local_entity="0" value="0" />
+ <value cell_index="34597" local_entity="0" value="0" />
+ <value cell_index="34598" local_entity="0" value="0" />
+ <value cell_index="34599" local_entity="0" value="0" />
+ <value cell_index="34600" local_entity="0" value="0" />
+ <value cell_index="34601" local_entity="0" value="0" />
+ <value cell_index="34602" local_entity="0" value="0" />
+ <value cell_index="34603" local_entity="0" value="0" />
+ <value cell_index="34604" local_entity="0" value="0" />
+ <value cell_index="34605" local_entity="0" value="0" />
+ <value cell_index="34606" local_entity="0" value="0" />
+ <value cell_index="34607" local_entity="0" value="0" />
+ <value cell_index="34608" local_entity="0" value="0" />
+ <value cell_index="34609" local_entity="0" value="0" />
+ <value cell_index="34610" local_entity="0" value="0" />
+ <value cell_index="34611" local_entity="0" value="0" />
+ <value cell_index="34612" local_entity="0" value="0" />
+ <value cell_index="34613" local_entity="0" value="0" />
+ <value cell_index="34614" local_entity="0" value="0" />
+ <value cell_index="34615" local_entity="0" value="0" />
+ <value cell_index="34616" local_entity="0" value="0" />
+ <value cell_index="34617" local_entity="0" value="0" />
+ <value cell_index="34618" local_entity="0" value="0" />
+ <value cell_index="34619" local_entity="0" value="0" />
+ <value cell_index="34620" local_entity="0" value="0" />
+ <value cell_index="34621" local_entity="0" value="0" />
+ <value cell_index="34622" local_entity="0" value="0" />
+ <value cell_index="34623" local_entity="0" value="0" />
+ <value cell_index="34624" local_entity="0" value="0" />
+ <value cell_index="34625" local_entity="0" value="0" />
+ <value cell_index="34626" local_entity="0" value="0" />
+ <value cell_index="34627" local_entity="0" value="0" />
+ <value cell_index="34628" local_entity="0" value="0" />
+ <value cell_index="34629" local_entity="0" value="0" />
+ <value cell_index="34630" local_entity="0" value="0" />
+ <value cell_index="34631" local_entity="0" value="0" />
+ <value cell_index="34632" local_entity="0" value="0" />
+ <value cell_index="34633" local_entity="0" value="0" />
+ <value cell_index="34634" local_entity="0" value="0" />
+ <value cell_index="34635" local_entity="0" value="0" />
+ <value cell_index="34636" local_entity="0" value="0" />
+ <value cell_index="34637" local_entity="0" value="0" />
+ <value cell_index="34638" local_entity="0" value="0" />
+ <value cell_index="34639" local_entity="0" value="0" />
+ <value cell_index="34640" local_entity="0" value="0" />
+ <value cell_index="34641" local_entity="0" value="0" />
+ <value cell_index="34642" local_entity="0" value="0" />
+ <value cell_index="34643" local_entity="0" value="0" />
+ <value cell_index="34644" local_entity="0" value="0" />
+ <value cell_index="34645" local_entity="0" value="0" />
+ <value cell_index="34646" local_entity="0" value="0" />
+ <value cell_index="34647" local_entity="0" value="0" />
+ <value cell_index="34648" local_entity="0" value="0" />
+ <value cell_index="34649" local_entity="0" value="0" />
+ <value cell_index="34650" local_entity="0" value="0" />
+ <value cell_index="34651" local_entity="0" value="0" />
+ <value cell_index="34652" local_entity="0" value="0" />
+ <value cell_index="34653" local_entity="0" value="0" />
+ <value cell_index="34654" local_entity="0" value="0" />
+ <value cell_index="34655" local_entity="0" value="0" />
+ <value cell_index="34656" local_entity="0" value="0" />
+ <value cell_index="34657" local_entity="0" value="0" />
+ <value cell_index="34658" local_entity="0" value="0" />
+ <value cell_index="34659" local_entity="0" value="0" />
+ <value cell_index="34660" local_entity="0" value="0" />
+ <value cell_index="34661" local_entity="0" value="0" />
+ <value cell_index="34662" local_entity="0" value="0" />
+ <value cell_index="34663" local_entity="0" value="0" />
+ <value cell_index="34664" local_entity="0" value="0" />
+ <value cell_index="34665" local_entity="0" value="0" />
+ <value cell_index="34666" local_entity="0" value="0" />
+ <value cell_index="34667" local_entity="0" value="0" />
+ <value cell_index="34668" local_entity="0" value="0" />
+ <value cell_index="34669" local_entity="0" value="0" />
+ <value cell_index="34670" local_entity="0" value="0" />
+ <value cell_index="34671" local_entity="0" value="0" />
+ <value cell_index="34672" local_entity="0" value="0" />
+ <value cell_index="34673" local_entity="0" value="0" />
+ <value cell_index="34674" local_entity="0" value="0" />
+ <value cell_index="34675" local_entity="0" value="0" />
+ <value cell_index="34676" local_entity="0" value="0" />
+ <value cell_index="34677" local_entity="0" value="0" />
+ <value cell_index="34678" local_entity="0" value="0" />
+ <value cell_index="34679" local_entity="0" value="0" />
+ <value cell_index="34680" local_entity="0" value="0" />
+ <value cell_index="34681" local_entity="0" value="0" />
+ <value cell_index="34682" local_entity="0" value="0" />
+ <value cell_index="34683" local_entity="0" value="0" />
+ <value cell_index="34684" local_entity="0" value="0" />
+ <value cell_index="34685" local_entity="0" value="0" />
+ <value cell_index="34686" local_entity="0" value="0" />
+ <value cell_index="34687" local_entity="0" value="0" />
+ <value cell_index="34688" local_entity="0" value="0" />
+ <value cell_index="34689" local_entity="0" value="0" />
+ <value cell_index="34690" local_entity="0" value="0" />
+ <value cell_index="34691" local_entity="0" value="0" />
+ <value cell_index="34692" local_entity="0" value="0" />
+ <value cell_index="34693" local_entity="0" value="0" />
+ <value cell_index="34694" local_entity="0" value="0" />
+ <value cell_index="34695" local_entity="0" value="0" />
+ <value cell_index="34696" local_entity="0" value="0" />
+ <value cell_index="34697" local_entity="0" value="0" />
+ <value cell_index="34698" local_entity="0" value="0" />
+ <value cell_index="34699" local_entity="0" value="0" />
+ <value cell_index="34700" local_entity="0" value="0" />
+ <value cell_index="34701" local_entity="0" value="0" />
+ <value cell_index="34702" local_entity="0" value="0" />
+ <value cell_index="34703" local_entity="0" value="0" />
+ <value cell_index="34704" local_entity="0" value="0" />
+ <value cell_index="34705" local_entity="0" value="0" />
+ <value cell_index="34706" local_entity="0" value="0" />
+ <value cell_index="34707" local_entity="0" value="0" />
+ <value cell_index="34708" local_entity="0" value="0" />
+ <value cell_index="34709" local_entity="0" value="0" />
+ <value cell_index="34710" local_entity="0" value="0" />
+ <value cell_index="34711" local_entity="0" value="0" />
+ <value cell_index="34712" local_entity="0" value="0" />
+ <value cell_index="34713" local_entity="0" value="0" />
+ <value cell_index="34714" local_entity="0" value="0" />
+ <value cell_index="34715" local_entity="0" value="0" />
+ <value cell_index="34716" local_entity="0" value="0" />
+ <value cell_index="34717" local_entity="0" value="0" />
+ <value cell_index="34718" local_entity="0" value="0" />
+ <value cell_index="34719" local_entity="0" value="0" />
+ <value cell_index="34720" local_entity="0" value="0" />
+ <value cell_index="34721" local_entity="0" value="0" />
+ <value cell_index="34722" local_entity="0" value="0" />
+ <value cell_index="34723" local_entity="0" value="0" />
+ <value cell_index="34724" local_entity="0" value="0" />
+ <value cell_index="34725" local_entity="0" value="0" />
+ <value cell_index="34726" local_entity="0" value="0" />
+ <value cell_index="34727" local_entity="0" value="0" />
+ <value cell_index="34728" local_entity="0" value="0" />
+ <value cell_index="34729" local_entity="0" value="0" />
+ <value cell_index="34730" local_entity="0" value="0" />
+ <value cell_index="34731" local_entity="0" value="0" />
+ <value cell_index="34732" local_entity="0" value="0" />
+ <value cell_index="34733" local_entity="0" value="0" />
+ <value cell_index="34734" local_entity="0" value="0" />
+ <value cell_index="34735" local_entity="0" value="0" />
+ <value cell_index="34736" local_entity="0" value="0" />
+ <value cell_index="34737" local_entity="0" value="0" />
+ <value cell_index="34738" local_entity="0" value="0" />
+ <value cell_index="34739" local_entity="0" value="0" />
+ <value cell_index="34740" local_entity="0" value="0" />
+ <value cell_index="34741" local_entity="0" value="0" />
+ <value cell_index="34742" local_entity="0" value="0" />
+ <value cell_index="34743" local_entity="0" value="0" />
+ <value cell_index="34744" local_entity="0" value="0" />
+ <value cell_index="34745" local_entity="0" value="0" />
+ <value cell_index="34746" local_entity="0" value="0" />
+ <value cell_index="34747" local_entity="0" value="0" />
+ <value cell_index="34748" local_entity="0" value="0" />
+ <value cell_index="34749" local_entity="0" value="0" />
+ <value cell_index="34750" local_entity="0" value="0" />
+ <value cell_index="34751" local_entity="0" value="0" />
+ <value cell_index="34752" local_entity="0" value="0" />
+ <value cell_index="34753" local_entity="0" value="0" />
+ <value cell_index="34754" local_entity="0" value="0" />
+ <value cell_index="34755" local_entity="0" value="0" />
+ <value cell_index="34756" local_entity="0" value="0" />
+ <value cell_index="34757" local_entity="0" value="0" />
+ <value cell_index="34758" local_entity="0" value="0" />
+ <value cell_index="34759" local_entity="0" value="0" />
+ <value cell_index="34760" local_entity="0" value="0" />
+ <value cell_index="34761" local_entity="0" value="0" />
+ <value cell_index="34762" local_entity="0" value="0" />
+ <value cell_index="34763" local_entity="0" value="0" />
+ <value cell_index="34764" local_entity="0" value="0" />
+ <value cell_index="34765" local_entity="0" value="0" />
+ <value cell_index="34766" local_entity="0" value="0" />
+ <value cell_index="34767" local_entity="0" value="0" />
+ <value cell_index="34768" local_entity="0" value="0" />
+ <value cell_index="34769" local_entity="0" value="0" />
+ <value cell_index="34770" local_entity="0" value="0" />
+ <value cell_index="34771" local_entity="0" value="0" />
+ <value cell_index="34772" local_entity="0" value="0" />
+ <value cell_index="34773" local_entity="0" value="0" />
+ <value cell_index="34774" local_entity="0" value="0" />
+ <value cell_index="34775" local_entity="0" value="0" />
+ <value cell_index="34776" local_entity="0" value="0" />
+ <value cell_index="34777" local_entity="0" value="0" />
+ <value cell_index="34778" local_entity="0" value="0" />
+ <value cell_index="34779" local_entity="0" value="0" />
+ <value cell_index="34780" local_entity="0" value="0" />
+ <value cell_index="34781" local_entity="0" value="0" />
+ <value cell_index="34782" local_entity="0" value="0" />
+ <value cell_index="34783" local_entity="0" value="0" />
+ <value cell_index="34784" local_entity="0" value="0" />
+ <value cell_index="34785" local_entity="0" value="0" />
+ <value cell_index="34786" local_entity="0" value="0" />
+ <value cell_index="34787" local_entity="0" value="0" />
+ <value cell_index="34788" local_entity="0" value="0" />
+ <value cell_index="34789" local_entity="0" value="0" />
+ <value cell_index="34790" local_entity="0" value="0" />
+ <value cell_index="34791" local_entity="0" value="0" />
+ <value cell_index="34792" local_entity="0" value="0" />
+ <value cell_index="34793" local_entity="0" value="0" />
+ <value cell_index="34794" local_entity="0" value="0" />
+ <value cell_index="34795" local_entity="0" value="0" />
+ <value cell_index="34796" local_entity="0" value="0" />
+ <value cell_index="34797" local_entity="0" value="0" />
+ <value cell_index="34798" local_entity="0" value="0" />
+ <value cell_index="34799" local_entity="0" value="0" />
+ <value cell_index="34800" local_entity="0" value="0" />
+ <value cell_index="34801" local_entity="0" value="0" />
+ <value cell_index="34802" local_entity="0" value="0" />
+ <value cell_index="34803" local_entity="0" value="0" />
+ <value cell_index="34804" local_entity="0" value="0" />
+ <value cell_index="34805" local_entity="0" value="0" />
+ <value cell_index="34806" local_entity="0" value="0" />
+ <value cell_index="34807" local_entity="0" value="0" />
+ <value cell_index="34808" local_entity="0" value="0" />
+ <value cell_index="34809" local_entity="0" value="0" />
+ <value cell_index="34810" local_entity="0" value="0" />
+ <value cell_index="34811" local_entity="0" value="0" />
+ <value cell_index="34812" local_entity="0" value="0" />
+ <value cell_index="34813" local_entity="0" value="0" />
+ <value cell_index="34814" local_entity="0" value="0" />
+ <value cell_index="34815" local_entity="0" value="0" />
+ <value cell_index="34816" local_entity="0" value="0" />
+ <value cell_index="34817" local_entity="0" value="0" />
+ <value cell_index="34818" local_entity="0" value="0" />
+ <value cell_index="34819" local_entity="0" value="0" />
+ <value cell_index="34820" local_entity="0" value="0" />
+ <value cell_index="34821" local_entity="0" value="0" />
+ <value cell_index="34822" local_entity="0" value="0" />
+ <value cell_index="34823" local_entity="0" value="0" />
+ <value cell_index="34824" local_entity="0" value="0" />
+ <value cell_index="34825" local_entity="0" value="0" />
+ <value cell_index="34826" local_entity="0" value="0" />
+ <value cell_index="34827" local_entity="0" value="0" />
+ <value cell_index="34828" local_entity="0" value="0" />
+ <value cell_index="34829" local_entity="0" value="0" />
+ <value cell_index="34830" local_entity="0" value="0" />
+ <value cell_index="34831" local_entity="0" value="0" />
+ <value cell_index="34832" local_entity="0" value="0" />
+ <value cell_index="34833" local_entity="0" value="0" />
+ <value cell_index="34834" local_entity="0" value="0" />
+ <value cell_index="34835" local_entity="0" value="0" />
+ <value cell_index="34836" local_entity="0" value="0" />
+ <value cell_index="34837" local_entity="0" value="0" />
+ <value cell_index="34838" local_entity="0" value="0" />
+ <value cell_index="34839" local_entity="0" value="0" />
+ <value cell_index="34840" local_entity="0" value="0" />
+ <value cell_index="34841" local_entity="0" value="0" />
+ <value cell_index="34842" local_entity="0" value="0" />
+ <value cell_index="34843" local_entity="0" value="0" />
+ <value cell_index="34844" local_entity="0" value="0" />
+ <value cell_index="34845" local_entity="0" value="0" />
+ <value cell_index="34846" local_entity="0" value="0" />
+ <value cell_index="34847" local_entity="0" value="0" />
+ <value cell_index="34848" local_entity="0" value="0" />
+ <value cell_index="34849" local_entity="0" value="0" />
+ <value cell_index="34850" local_entity="0" value="0" />
+ <value cell_index="34851" local_entity="0" value="0" />
+ <value cell_index="34852" local_entity="0" value="0" />
+ <value cell_index="34853" local_entity="0" value="0" />
+ <value cell_index="34854" local_entity="0" value="0" />
+ <value cell_index="34855" local_entity="0" value="0" />
+ <value cell_index="34856" local_entity="0" value="0" />
+ <value cell_index="34857" local_entity="0" value="0" />
+ <value cell_index="34858" local_entity="0" value="0" />
+ <value cell_index="34859" local_entity="0" value="0" />
+ <value cell_index="34860" local_entity="0" value="0" />
+ <value cell_index="34861" local_entity="0" value="0" />
+ <value cell_index="34862" local_entity="0" value="0" />
+ <value cell_index="34863" local_entity="0" value="0" />
+ <value cell_index="34864" local_entity="0" value="0" />
+ <value cell_index="34865" local_entity="0" value="0" />
+ <value cell_index="34866" local_entity="0" value="0" />
+ <value cell_index="34867" local_entity="0" value="0" />
+ <value cell_index="34868" local_entity="0" value="0" />
+ <value cell_index="34869" local_entity="0" value="0" />
+ <value cell_index="34870" local_entity="0" value="0" />
+ <value cell_index="34871" local_entity="0" value="0" />
+ <value cell_index="34872" local_entity="0" value="0" />
+ <value cell_index="34873" local_entity="0" value="0" />
+ <value cell_index="34874" local_entity="0" value="0" />
+ <value cell_index="34875" local_entity="0" value="0" />
+ <value cell_index="34876" local_entity="0" value="0" />
+ <value cell_index="34877" local_entity="0" value="0" />
+ <value cell_index="34878" local_entity="0" value="0" />
+ <value cell_index="34879" local_entity="0" value="0" />
+ <value cell_index="34880" local_entity="0" value="0" />
+ <value cell_index="34881" local_entity="0" value="0" />
+ <value cell_index="34882" local_entity="0" value="0" />
+ <value cell_index="34883" local_entity="0" value="0" />
+ <value cell_index="34884" local_entity="0" value="0" />
+ <value cell_index="34885" local_entity="0" value="0" />
+ <value cell_index="34886" local_entity="0" value="0" />
+ <value cell_index="34887" local_entity="0" value="0" />
+ <value cell_index="34888" local_entity="0" value="0" />
+ <value cell_index="34889" local_entity="0" value="0" />
+ <value cell_index="34890" local_entity="0" value="0" />
+ <value cell_index="34891" local_entity="0" value="0" />
+ <value cell_index="34892" local_entity="0" value="0" />
+ <value cell_index="34893" local_entity="0" value="0" />
+ <value cell_index="34894" local_entity="0" value="0" />
+ <value cell_index="34895" local_entity="0" value="0" />
+ <value cell_index="34896" local_entity="0" value="0" />
+ <value cell_index="34897" local_entity="0" value="0" />
+ <value cell_index="34898" local_entity="0" value="0" />
+ <value cell_index="34899" local_entity="0" value="0" />
+ <value cell_index="34900" local_entity="0" value="0" />
+ <value cell_index="34901" local_entity="0" value="0" />
+ <value cell_index="34902" local_entity="0" value="0" />
+ <value cell_index="34903" local_entity="0" value="0" />
+ <value cell_index="34904" local_entity="0" value="0" />
+ <value cell_index="34905" local_entity="0" value="0" />
+ <value cell_index="34906" local_entity="0" value="0" />
+ <value cell_index="34907" local_entity="0" value="0" />
+ <value cell_index="34908" local_entity="0" value="0" />
+ <value cell_index="34909" local_entity="0" value="0" />
+ <value cell_index="34910" local_entity="0" value="0" />
+ <value cell_index="34911" local_entity="0" value="0" />
+ <value cell_index="34912" local_entity="0" value="0" />
+ <value cell_index="34913" local_entity="0" value="0" />
+ <value cell_index="34914" local_entity="0" value="0" />
+ <value cell_index="34915" local_entity="0" value="0" />
+ <value cell_index="34916" local_entity="0" value="0" />
+ <value cell_index="34917" local_entity="0" value="0" />
+ <value cell_index="34918" local_entity="0" value="0" />
+ <value cell_index="34919" local_entity="0" value="0" />
+ <value cell_index="34920" local_entity="0" value="0" />
+ <value cell_index="34921" local_entity="0" value="0" />
+ <value cell_index="34922" local_entity="0" value="0" />
+ <value cell_index="34923" local_entity="0" value="0" />
+ <value cell_index="34924" local_entity="0" value="0" />
+ <value cell_index="34925" local_entity="0" value="0" />
+ <value cell_index="34926" local_entity="0" value="0" />
+ <value cell_index="34927" local_entity="0" value="0" />
+ <value cell_index="34928" local_entity="0" value="0" />
+ <value cell_index="34929" local_entity="0" value="0" />
+ <value cell_index="34930" local_entity="0" value="0" />
+ <value cell_index="34931" local_entity="0" value="0" />
+ <value cell_index="34932" local_entity="0" value="0" />
+ <value cell_index="34933" local_entity="0" value="0" />
+ <value cell_index="34934" local_entity="0" value="0" />
+ <value cell_index="34935" local_entity="0" value="0" />
+ <value cell_index="34936" local_entity="0" value="0" />
+ <value cell_index="34937" local_entity="0" value="0" />
+ <value cell_index="34938" local_entity="0" value="0" />
+ <value cell_index="34939" local_entity="0" value="0" />
+ <value cell_index="34940" local_entity="0" value="0" />
+ <value cell_index="34941" local_entity="0" value="0" />
+ <value cell_index="34942" local_entity="0" value="0" />
+ <value cell_index="34943" local_entity="0" value="0" />
+ <value cell_index="34944" local_entity="0" value="0" />
+ <value cell_index="34945" local_entity="0" value="0" />
+ <value cell_index="34946" local_entity="0" value="0" />
+ <value cell_index="34947" local_entity="0" value="0" />
+ <value cell_index="34948" local_entity="0" value="0" />
+ <value cell_index="34949" local_entity="0" value="0" />
+ <value cell_index="34950" local_entity="0" value="0" />
+ <value cell_index="34951" local_entity="0" value="0" />
+ <value cell_index="34952" local_entity="0" value="0" />
+ <value cell_index="34953" local_entity="0" value="0" />
+ <value cell_index="34954" local_entity="0" value="0" />
+ <value cell_index="34955" local_entity="0" value="0" />
+ <value cell_index="34956" local_entity="0" value="0" />
+ <value cell_index="34957" local_entity="0" value="0" />
+ <value cell_index="34958" local_entity="0" value="0" />
+ <value cell_index="34959" local_entity="0" value="0" />
+ <value cell_index="34960" local_entity="0" value="0" />
+ <value cell_index="34961" local_entity="0" value="0" />
+ <value cell_index="34962" local_entity="0" value="0" />
+ <value cell_index="34963" local_entity="0" value="0" />
+ <value cell_index="34964" local_entity="0" value="0" />
+ <value cell_index="34965" local_entity="0" value="0" />
+ <value cell_index="34966" local_entity="0" value="0" />
+ <value cell_index="34967" local_entity="0" value="0" />
+ <value cell_index="34968" local_entity="0" value="0" />
+ <value cell_index="34969" local_entity="0" value="0" />
+ <value cell_index="34970" local_entity="0" value="0" />
+ <value cell_index="34971" local_entity="0" value="0" />
+ <value cell_index="34972" local_entity="0" value="0" />
+ <value cell_index="34973" local_entity="0" value="0" />
+ <value cell_index="34974" local_entity="0" value="0" />
+ <value cell_index="34975" local_entity="0" value="0" />
+ <value cell_index="34976" local_entity="0" value="0" />
+ <value cell_index="34977" local_entity="0" value="0" />
+ <value cell_index="34978" local_entity="0" value="0" />
+ <value cell_index="34979" local_entity="0" value="0" />
+ <value cell_index="34980" local_entity="0" value="0" />
+ <value cell_index="34981" local_entity="0" value="0" />
+ <value cell_index="34982" local_entity="0" value="0" />
+ <value cell_index="34983" local_entity="0" value="0" />
+ <value cell_index="34984" local_entity="0" value="0" />
+ <value cell_index="34985" local_entity="0" value="0" />
+ <value cell_index="34986" local_entity="0" value="0" />
+ <value cell_index="34987" local_entity="0" value="0" />
+ <value cell_index="34988" local_entity="0" value="0" />
+ <value cell_index="34989" local_entity="0" value="0" />
+ <value cell_index="34990" local_entity="0" value="0" />
+ <value cell_index="34991" local_entity="0" value="0" />
+ <value cell_index="34992" local_entity="0" value="0" />
+ <value cell_index="34993" local_entity="0" value="0" />
+ <value cell_index="34994" local_entity="0" value="0" />
+ <value cell_index="34995" local_entity="0" value="0" />
+ <value cell_index="34996" local_entity="0" value="0" />
+ <value cell_index="34997" local_entity="0" value="0" />
+ <value cell_index="34998" local_entity="0" value="0" />
+ <value cell_index="34999" local_entity="0" value="0" />
+ <value cell_index="35000" local_entity="0" value="0" />
+ <value cell_index="35001" local_entity="0" value="0" />
+ <value cell_index="35002" local_entity="0" value="0" />
+ <value cell_index="35003" local_entity="0" value="0" />
+ <value cell_index="35004" local_entity="0" value="0" />
+ <value cell_index="35005" local_entity="0" value="0" />
+ <value cell_index="35006" local_entity="0" value="0" />
+ <value cell_index="35007" local_entity="0" value="0" />
+ <value cell_index="35008" local_entity="0" value="0" />
+ <value cell_index="35009" local_entity="0" value="0" />
+ <value cell_index="35010" local_entity="0" value="0" />
+ <value cell_index="35011" local_entity="0" value="0" />
+ <value cell_index="35012" local_entity="0" value="0" />
+ <value cell_index="35013" local_entity="0" value="0" />
+ <value cell_index="35014" local_entity="0" value="0" />
+ <value cell_index="35015" local_entity="0" value="0" />
+ <value cell_index="35016" local_entity="0" value="0" />
+ <value cell_index="35017" local_entity="0" value="0" />
+ <value cell_index="35018" local_entity="0" value="0" />
+ <value cell_index="35019" local_entity="0" value="0" />
+ <value cell_index="35020" local_entity="0" value="0" />
+ <value cell_index="35021" local_entity="0" value="0" />
+ <value cell_index="35022" local_entity="0" value="0" />
+ <value cell_index="35023" local_entity="0" value="0" />
+ <value cell_index="35024" local_entity="0" value="0" />
+ <value cell_index="35025" local_entity="0" value="0" />
+ <value cell_index="35026" local_entity="0" value="0" />
+ <value cell_index="35027" local_entity="0" value="0" />
+ <value cell_index="35028" local_entity="0" value="0" />
+ <value cell_index="35029" local_entity="0" value="0" />
+ <value cell_index="35030" local_entity="0" value="0" />
+ <value cell_index="35031" local_entity="0" value="0" />
+ <value cell_index="35032" local_entity="0" value="0" />
+ <value cell_index="35033" local_entity="0" value="0" />
+ <value cell_index="35034" local_entity="0" value="0" />
+ <value cell_index="35035" local_entity="0" value="0" />
+ <value cell_index="35036" local_entity="0" value="0" />
+ <value cell_index="35037" local_entity="0" value="0" />
+ <value cell_index="35038" local_entity="0" value="0" />
+ <value cell_index="35039" local_entity="0" value="0" />
+ <value cell_index="35040" local_entity="0" value="0" />
+ <value cell_index="35041" local_entity="0" value="0" />
+ <value cell_index="35042" local_entity="0" value="0" />
+ <value cell_index="35043" local_entity="0" value="0" />
+ <value cell_index="35044" local_entity="0" value="0" />
+ <value cell_index="35045" local_entity="0" value="0" />
+ <value cell_index="35046" local_entity="0" value="0" />
+ <value cell_index="35047" local_entity="0" value="0" />
+ <value cell_index="35048" local_entity="0" value="0" />
+ <value cell_index="35049" local_entity="0" value="0" />
+ <value cell_index="35050" local_entity="0" value="0" />
+ <value cell_index="35051" local_entity="0" value="0" />
+ <value cell_index="35052" local_entity="0" value="0" />
+ <value cell_index="35053" local_entity="0" value="0" />
+ <value cell_index="35054" local_entity="0" value="0" />
+ <value cell_index="35055" local_entity="0" value="0" />
+ <value cell_index="35056" local_entity="0" value="0" />
+ <value cell_index="35057" local_entity="0" value="0" />
+ <value cell_index="35058" local_entity="0" value="0" />
+ <value cell_index="35059" local_entity="0" value="0" />
+ <value cell_index="35060" local_entity="0" value="0" />
+ <value cell_index="35061" local_entity="0" value="0" />
+ <value cell_index="35062" local_entity="0" value="0" />
+ <value cell_index="35063" local_entity="0" value="0" />
+ <value cell_index="35064" local_entity="0" value="0" />
+ <value cell_index="35065" local_entity="0" value="0" />
+ <value cell_index="35066" local_entity="0" value="0" />
+ <value cell_index="35067" local_entity="0" value="0" />
+ <value cell_index="35068" local_entity="0" value="0" />
+ <value cell_index="35069" local_entity="0" value="0" />
+ <value cell_index="35070" local_entity="0" value="0" />
+ <value cell_index="35071" local_entity="0" value="0" />
+ <value cell_index="35072" local_entity="0" value="0" />
+ <value cell_index="35073" local_entity="0" value="0" />
+ <value cell_index="35074" local_entity="0" value="0" />
+ <value cell_index="35075" local_entity="0" value="0" />
+ <value cell_index="35076" local_entity="0" value="0" />
+ <value cell_index="35077" local_entity="0" value="0" />
+ <value cell_index="35078" local_entity="0" value="0" />
+ <value cell_index="35079" local_entity="0" value="0" />
+ <value cell_index="35080" local_entity="0" value="0" />
+ <value cell_index="35081" local_entity="0" value="0" />
+ <value cell_index="35082" local_entity="0" value="0" />
+ <value cell_index="35083" local_entity="0" value="0" />
+ <value cell_index="35084" local_entity="0" value="0" />
+ <value cell_index="35085" local_entity="0" value="0" />
+ <value cell_index="35086" local_entity="0" value="0" />
+ <value cell_index="35087" local_entity="0" value="0" />
+ <value cell_index="35088" local_entity="0" value="0" />
+ <value cell_index="35089" local_entity="0" value="0" />
+ <value cell_index="35090" local_entity="0" value="0" />
+ <value cell_index="35091" local_entity="0" value="0" />
+ <value cell_index="35092" local_entity="0" value="0" />
+ <value cell_index="35093" local_entity="0" value="0" />
+ <value cell_index="35094" local_entity="0" value="0" />
+ <value cell_index="35095" local_entity="0" value="0" />
+ <value cell_index="35096" local_entity="0" value="0" />
+ <value cell_index="35097" local_entity="0" value="0" />
+ <value cell_index="35098" local_entity="0" value="0" />
+ <value cell_index="35099" local_entity="0" value="0" />
+ <value cell_index="35100" local_entity="0" value="0" />
+ <value cell_index="35101" local_entity="0" value="0" />
+ <value cell_index="35102" local_entity="0" value="0" />
+ <value cell_index="35103" local_entity="0" value="0" />
+ <value cell_index="35104" local_entity="0" value="0" />
+ <value cell_index="35105" local_entity="0" value="0" />
+ <value cell_index="35106" local_entity="0" value="0" />
+ <value cell_index="35107" local_entity="0" value="0" />
+ <value cell_index="35108" local_entity="0" value="0" />
+ <value cell_index="35109" local_entity="0" value="0" />
+ <value cell_index="35110" local_entity="0" value="0" />
+ <value cell_index="35111" local_entity="0" value="0" />
+ <value cell_index="35112" local_entity="0" value="0" />
+ <value cell_index="35113" local_entity="0" value="0" />
+ <value cell_index="35114" local_entity="0" value="0" />
+ <value cell_index="35115" local_entity="0" value="0" />
+ <value cell_index="35116" local_entity="0" value="0" />
+ <value cell_index="35117" local_entity="0" value="0" />
+ <value cell_index="35118" local_entity="0" value="0" />
+ <value cell_index="35119" local_entity="0" value="0" />
+ <value cell_index="35120" local_entity="0" value="0" />
+ <value cell_index="35121" local_entity="0" value="0" />
+ <value cell_index="35122" local_entity="0" value="0" />
+ <value cell_index="35123" local_entity="0" value="0" />
+ <value cell_index="35124" local_entity="0" value="0" />
+ <value cell_index="35125" local_entity="0" value="0" />
+ <value cell_index="35126" local_entity="0" value="0" />
+ <value cell_index="35127" local_entity="0" value="0" />
+ <value cell_index="35128" local_entity="0" value="0" />
+ <value cell_index="35129" local_entity="0" value="0" />
+ <value cell_index="35130" local_entity="0" value="0" />
+ <value cell_index="35131" local_entity="0" value="0" />
+ <value cell_index="35132" local_entity="0" value="0" />
+ <value cell_index="35133" local_entity="0" value="0" />
+ <value cell_index="35134" local_entity="0" value="0" />
+ <value cell_index="35135" local_entity="0" value="0" />
+ <value cell_index="35136" local_entity="0" value="0" />
+ <value cell_index="35137" local_entity="0" value="0" />
+ <value cell_index="35138" local_entity="0" value="0" />
+ <value cell_index="35139" local_entity="0" value="0" />
+ <value cell_index="35140" local_entity="0" value="0" />
+ <value cell_index="35141" local_entity="0" value="0" />
+ <value cell_index="35142" local_entity="0" value="0" />
+ <value cell_index="35143" local_entity="0" value="0" />
+ <value cell_index="35144" local_entity="0" value="0" />
+ <value cell_index="35145" local_entity="0" value="0" />
+ <value cell_index="35146" local_entity="0" value="0" />
+ <value cell_index="35147" local_entity="0" value="0" />
+ <value cell_index="35148" local_entity="0" value="0" />
+ <value cell_index="35149" local_entity="0" value="0" />
+ <value cell_index="35150" local_entity="0" value="0" />
+ <value cell_index="35151" local_entity="0" value="0" />
+ <value cell_index="35152" local_entity="0" value="0" />
+ <value cell_index="35153" local_entity="0" value="0" />
+ <value cell_index="35154" local_entity="0" value="0" />
+ <value cell_index="35155" local_entity="0" value="0" />
+ <value cell_index="35156" local_entity="0" value="0" />
+ <value cell_index="35157" local_entity="0" value="0" />
+ <value cell_index="35158" local_entity="0" value="0" />
+ <value cell_index="35159" local_entity="0" value="0" />
+ <value cell_index="35160" local_entity="0" value="0" />
+ <value cell_index="35161" local_entity="0" value="0" />
+ <value cell_index="35162" local_entity="0" value="0" />
+ <value cell_index="35163" local_entity="0" value="0" />
+ <value cell_index="35164" local_entity="0" value="0" />
+ <value cell_index="35165" local_entity="0" value="0" />
+ <value cell_index="35166" local_entity="0" value="0" />
+ <value cell_index="35167" local_entity="0" value="0" />
+ <value cell_index="35168" local_entity="0" value="0" />
+ <value cell_index="35169" local_entity="0" value="0" />
+ <value cell_index="35170" local_entity="0" value="0" />
+ <value cell_index="35171" local_entity="0" value="0" />
+ <value cell_index="35172" local_entity="0" value="0" />
+ <value cell_index="35173" local_entity="0" value="0" />
+ <value cell_index="35174" local_entity="0" value="0" />
+ <value cell_index="35175" local_entity="0" value="0" />
+ <value cell_index="35176" local_entity="0" value="0" />
+ <value cell_index="35177" local_entity="0" value="0" />
+ <value cell_index="35178" local_entity="0" value="0" />
+ <value cell_index="35179" local_entity="0" value="0" />
+ <value cell_index="35180" local_entity="0" value="0" />
+ <value cell_index="35181" local_entity="0" value="0" />
+ <value cell_index="35182" local_entity="0" value="0" />
+ <value cell_index="35183" local_entity="0" value="0" />
+ <value cell_index="35184" local_entity="0" value="0" />
+ <value cell_index="35185" local_entity="0" value="0" />
+ <value cell_index="35186" local_entity="0" value="0" />
+ <value cell_index="35187" local_entity="0" value="0" />
+ <value cell_index="35188" local_entity="0" value="0" />
+ <value cell_index="35189" local_entity="0" value="0" />
+ <value cell_index="35190" local_entity="0" value="0" />
+ <value cell_index="35191" local_entity="0" value="0" />
+ <value cell_index="35192" local_entity="0" value="0" />
+ <value cell_index="35193" local_entity="0" value="0" />
+ <value cell_index="35194" local_entity="0" value="0" />
+ <value cell_index="35195" local_entity="0" value="0" />
+ <value cell_index="35196" local_entity="0" value="0" />
+ <value cell_index="35197" local_entity="0" value="0" />
+ <value cell_index="35198" local_entity="0" value="0" />
+ <value cell_index="35199" local_entity="0" value="0" />
+ <value cell_index="35200" local_entity="0" value="0" />
+ <value cell_index="35201" local_entity="0" value="0" />
+ <value cell_index="35202" local_entity="0" value="0" />
+ <value cell_index="35203" local_entity="0" value="0" />
+ <value cell_index="35204" local_entity="0" value="0" />
+ <value cell_index="35205" local_entity="0" value="0" />
+ <value cell_index="35206" local_entity="0" value="0" />
+ <value cell_index="35207" local_entity="0" value="0" />
+ <value cell_index="35208" local_entity="0" value="0" />
+ <value cell_index="35209" local_entity="0" value="0" />
+ <value cell_index="35210" local_entity="0" value="0" />
+ <value cell_index="35211" local_entity="0" value="0" />
+ <value cell_index="35212" local_entity="0" value="0" />
+ <value cell_index="35213" local_entity="0" value="0" />
+ <value cell_index="35214" local_entity="0" value="0" />
+ <value cell_index="35215" local_entity="0" value="0" />
+ <value cell_index="35216" local_entity="0" value="0" />
+ <value cell_index="35217" local_entity="0" value="0" />
+ <value cell_index="35218" local_entity="0" value="0" />
+ <value cell_index="35219" local_entity="0" value="0" />
+ <value cell_index="35220" local_entity="0" value="0" />
+ <value cell_index="35221" local_entity="0" value="0" />
+ <value cell_index="35222" local_entity="0" value="0" />
+ <value cell_index="35223" local_entity="0" value="0" />
+ <value cell_index="35224" local_entity="0" value="0" />
+ <value cell_index="35225" local_entity="0" value="0" />
+ <value cell_index="35226" local_entity="0" value="0" />
+ <value cell_index="35227" local_entity="0" value="0" />
+ <value cell_index="35228" local_entity="0" value="0" />
+ <value cell_index="35229" local_entity="0" value="0" />
+ <value cell_index="35230" local_entity="0" value="0" />
+ <value cell_index="35231" local_entity="0" value="0" />
+ <value cell_index="35232" local_entity="0" value="0" />
+ <value cell_index="35233" local_entity="0" value="0" />
+ <value cell_index="35234" local_entity="0" value="0" />
+ <value cell_index="35235" local_entity="0" value="0" />
+ <value cell_index="35236" local_entity="0" value="0" />
+ <value cell_index="35237" local_entity="0" value="0" />
+ <value cell_index="35238" local_entity="0" value="0" />
+ <value cell_index="35239" local_entity="0" value="0" />
+ <value cell_index="35240" local_entity="0" value="0" />
+ <value cell_index="35241" local_entity="0" value="0" />
+ <value cell_index="35242" local_entity="0" value="0" />
+ <value cell_index="35243" local_entity="0" value="0" />
+ <value cell_index="35244" local_entity="0" value="0" />
+ <value cell_index="35245" local_entity="0" value="0" />
+ <value cell_index="35246" local_entity="0" value="0" />
+ <value cell_index="35247" local_entity="0" value="0" />
+ <value cell_index="35248" local_entity="0" value="0" />
+ <value cell_index="35249" local_entity="0" value="0" />
+ <value cell_index="35250" local_entity="0" value="0" />
+ <value cell_index="35251" local_entity="0" value="0" />
+ <value cell_index="35252" local_entity="0" value="0" />
+ <value cell_index="35253" local_entity="0" value="0" />
+ <value cell_index="35254" local_entity="0" value="0" />
+ <value cell_index="35255" local_entity="0" value="0" />
+ <value cell_index="35256" local_entity="0" value="0" />
+ <value cell_index="35257" local_entity="0" value="0" />
+ <value cell_index="35258" local_entity="0" value="0" />
+ <value cell_index="35259" local_entity="0" value="0" />
+ <value cell_index="35260" local_entity="0" value="0" />
+ <value cell_index="35261" local_entity="0" value="0" />
+ <value cell_index="35262" local_entity="0" value="0" />
+ <value cell_index="35263" local_entity="0" value="0" />
+ <value cell_index="35264" local_entity="0" value="0" />
+ <value cell_index="35265" local_entity="0" value="0" />
+ <value cell_index="35266" local_entity="0" value="0" />
+ <value cell_index="35267" local_entity="0" value="0" />
+ <value cell_index="35268" local_entity="0" value="0" />
+ <value cell_index="35269" local_entity="0" value="0" />
+ <value cell_index="35270" local_entity="0" value="0" />
+ <value cell_index="35271" local_entity="0" value="0" />
+ <value cell_index="35272" local_entity="0" value="0" />
+ <value cell_index="35273" local_entity="0" value="0" />
+ <value cell_index="35274" local_entity="0" value="0" />
+ <value cell_index="35275" local_entity="0" value="0" />
+ <value cell_index="35276" local_entity="0" value="0" />
+ <value cell_index="35277" local_entity="0" value="0" />
+ <value cell_index="35278" local_entity="0" value="0" />
+ <value cell_index="35279" local_entity="0" value="0" />
+ <value cell_index="35280" local_entity="0" value="0" />
+ <value cell_index="35281" local_entity="0" value="0" />
+ <value cell_index="35282" local_entity="0" value="0" />
+ <value cell_index="35283" local_entity="0" value="0" />
+ <value cell_index="35284" local_entity="0" value="0" />
+ <value cell_index="35285" local_entity="0" value="0" />
+ <value cell_index="35286" local_entity="0" value="0" />
+ <value cell_index="35287" local_entity="0" value="0" />
+ <value cell_index="35288" local_entity="0" value="0" />
+ <value cell_index="35289" local_entity="0" value="0" />
+ <value cell_index="35290" local_entity="0" value="0" />
+ <value cell_index="35291" local_entity="0" value="0" />
+ <value cell_index="35292" local_entity="0" value="0" />
+ <value cell_index="35293" local_entity="0" value="0" />
+ <value cell_index="35294" local_entity="0" value="0" />
+ <value cell_index="35295" local_entity="0" value="0" />
+ <value cell_index="35296" local_entity="0" value="0" />
+ <value cell_index="35297" local_entity="0" value="0" />
+ <value cell_index="35298" local_entity="0" value="0" />
+ <value cell_index="35299" local_entity="0" value="0" />
+ <value cell_index="35300" local_entity="0" value="0" />
+ <value cell_index="35301" local_entity="0" value="0" />
+ <value cell_index="35302" local_entity="0" value="0" />
+ <value cell_index="35303" local_entity="0" value="0" />
+ <value cell_index="35304" local_entity="0" value="0" />
+ <value cell_index="35305" local_entity="0" value="0" />
+ <value cell_index="35306" local_entity="0" value="0" />
+ <value cell_index="35307" local_entity="0" value="0" />
+ <value cell_index="35308" local_entity="0" value="0" />
+ <value cell_index="35309" local_entity="0" value="0" />
+ <value cell_index="35310" local_entity="0" value="0" />
+ <value cell_index="35311" local_entity="0" value="0" />
+ <value cell_index="35312" local_entity="0" value="0" />
+ <value cell_index="35313" local_entity="0" value="0" />
+ <value cell_index="35314" local_entity="0" value="0" />
+ <value cell_index="35315" local_entity="0" value="0" />
+ <value cell_index="35316" local_entity="0" value="0" />
+ <value cell_index="35317" local_entity="0" value="0" />
+ <value cell_index="35318" local_entity="0" value="0" />
+ <value cell_index="35319" local_entity="0" value="0" />
+ <value cell_index="35320" local_entity="0" value="0" />
+ <value cell_index="35321" local_entity="0" value="0" />
+ <value cell_index="35322" local_entity="0" value="0" />
+ <value cell_index="35323" local_entity="0" value="0" />
+ <value cell_index="35324" local_entity="0" value="0" />
+ <value cell_index="35325" local_entity="0" value="0" />
+ <value cell_index="35326" local_entity="0" value="0" />
+ <value cell_index="35327" local_entity="0" value="0" />
+ <value cell_index="35328" local_entity="0" value="0" />
+ <value cell_index="35329" local_entity="0" value="0" />
+ <value cell_index="35330" local_entity="0" value="0" />
+ <value cell_index="35331" local_entity="0" value="0" />
+ <value cell_index="35332" local_entity="0" value="0" />
+ <value cell_index="35333" local_entity="0" value="0" />
+ <value cell_index="35334" local_entity="0" value="0" />
+ <value cell_index="35335" local_entity="0" value="0" />
+ <value cell_index="35336" local_entity="0" value="0" />
+ <value cell_index="35337" local_entity="0" value="0" />
+ <value cell_index="35338" local_entity="0" value="0" />
+ <value cell_index="35339" local_entity="0" value="0" />
+ <value cell_index="35340" local_entity="0" value="0" />
+ <value cell_index="35341" local_entity="0" value="0" />
+ <value cell_index="35342" local_entity="0" value="0" />
+ <value cell_index="35343" local_entity="0" value="0" />
+ <value cell_index="35344" local_entity="0" value="0" />
+ <value cell_index="35345" local_entity="0" value="0" />
+ <value cell_index="35346" local_entity="0" value="0" />
+ <value cell_index="35347" local_entity="0" value="0" />
+ <value cell_index="35348" local_entity="0" value="0" />
+ <value cell_index="35349" local_entity="0" value="0" />
+ <value cell_index="35350" local_entity="0" value="0" />
+ <value cell_index="35351" local_entity="0" value="0" />
+ <value cell_index="35352" local_entity="0" value="0" />
+ <value cell_index="35353" local_entity="0" value="0" />
+ <value cell_index="35354" local_entity="0" value="0" />
+ <value cell_index="35355" local_entity="0" value="0" />
+ <value cell_index="35356" local_entity="0" value="0" />
+ <value cell_index="35357" local_entity="0" value="0" />
+ <value cell_index="35358" local_entity="0" value="0" />
+ <value cell_index="35359" local_entity="0" value="0" />
+ <value cell_index="35360" local_entity="0" value="0" />
+ <value cell_index="35361" local_entity="0" value="0" />
+ <value cell_index="35362" local_entity="0" value="0" />
+ <value cell_index="35363" local_entity="0" value="0" />
+ <value cell_index="35364" local_entity="0" value="0" />
+ <value cell_index="35365" local_entity="0" value="0" />
+ <value cell_index="35366" local_entity="0" value="0" />
+ <value cell_index="35367" local_entity="0" value="0" />
+ <value cell_index="35368" local_entity="0" value="0" />
+ <value cell_index="35369" local_entity="0" value="0" />
+ <value cell_index="35370" local_entity="0" value="0" />
+ <value cell_index="35371" local_entity="0" value="0" />
+ <value cell_index="35372" local_entity="0" value="0" />
+ <value cell_index="35373" local_entity="0" value="0" />
+ <value cell_index="35374" local_entity="0" value="0" />
+ <value cell_index="35375" local_entity="0" value="0" />
+ <value cell_index="35376" local_entity="0" value="0" />
+ <value cell_index="35377" local_entity="0" value="0" />
+ <value cell_index="35378" local_entity="0" value="0" />
+ <value cell_index="35379" local_entity="0" value="0" />
+ <value cell_index="35380" local_entity="0" value="0" />
+ <value cell_index="35381" local_entity="0" value="0" />
+ <value cell_index="35382" local_entity="0" value="0" />
+ <value cell_index="35383" local_entity="0" value="0" />
+ <value cell_index="35384" local_entity="0" value="0" />
+ <value cell_index="35385" local_entity="0" value="0" />
+ <value cell_index="35386" local_entity="0" value="0" />
+ <value cell_index="35387" local_entity="0" value="0" />
+ <value cell_index="35388" local_entity="0" value="0" />
+ <value cell_index="35389" local_entity="0" value="0" />
+ <value cell_index="35390" local_entity="0" value="0" />
+ <value cell_index="35391" local_entity="0" value="0" />
+ <value cell_index="35392" local_entity="0" value="0" />
+ <value cell_index="35393" local_entity="0" value="0" />
+ <value cell_index="35394" local_entity="0" value="0" />
+ <value cell_index="35395" local_entity="0" value="0" />
+ <value cell_index="35396" local_entity="0" value="0" />
+ <value cell_index="35397" local_entity="0" value="0" />
+ <value cell_index="35398" local_entity="0" value="0" />
+ <value cell_index="35399" local_entity="0" value="0" />
+ <value cell_index="35400" local_entity="0" value="0" />
+ <value cell_index="35401" local_entity="0" value="0" />
+ <value cell_index="35402" local_entity="0" value="0" />
+ <value cell_index="35403" local_entity="0" value="0" />
+ <value cell_index="35404" local_entity="0" value="0" />
+ <value cell_index="35405" local_entity="0" value="0" />
+ <value cell_index="35406" local_entity="0" value="0" />
+ <value cell_index="35407" local_entity="0" value="0" />
+ <value cell_index="35408" local_entity="0" value="0" />
+ <value cell_index="35409" local_entity="0" value="0" />
+ <value cell_index="35410" local_entity="0" value="0" />
+ <value cell_index="35411" local_entity="0" value="0" />
+ <value cell_index="35412" local_entity="0" value="0" />
+ <value cell_index="35413" local_entity="0" value="0" />
+ <value cell_index="35414" local_entity="0" value="0" />
+ <value cell_index="35415" local_entity="0" value="0" />
+ <value cell_index="35416" local_entity="0" value="0" />
+ <value cell_index="35417" local_entity="0" value="0" />
+ <value cell_index="35418" local_entity="0" value="0" />
+ <value cell_index="35419" local_entity="0" value="0" />
+ <value cell_index="35420" local_entity="0" value="0" />
+ <value cell_index="35421" local_entity="0" value="0" />
+ <value cell_index="35422" local_entity="0" value="0" />
+ <value cell_index="35423" local_entity="0" value="0" />
+ <value cell_index="35424" local_entity="0" value="0" />
+ <value cell_index="35425" local_entity="0" value="0" />
+ <value cell_index="35426" local_entity="0" value="0" />
+ <value cell_index="35427" local_entity="0" value="0" />
+ <value cell_index="35428" local_entity="0" value="0" />
+ <value cell_index="35429" local_entity="0" value="0" />
+ <value cell_index="35430" local_entity="0" value="0" />
+ <value cell_index="35431" local_entity="0" value="0" />
+ <value cell_index="35432" local_entity="0" value="0" />
+ <value cell_index="35433" local_entity="0" value="0" />
+ <value cell_index="35434" local_entity="0" value="0" />
+ <value cell_index="35435" local_entity="0" value="0" />
+ <value cell_index="35436" local_entity="0" value="0" />
+ <value cell_index="35437" local_entity="0" value="0" />
+ <value cell_index="35438" local_entity="0" value="0" />
+ <value cell_index="35439" local_entity="0" value="0" />
+ <value cell_index="35440" local_entity="0" value="0" />
+ <value cell_index="35441" local_entity="0" value="0" />
+ <value cell_index="35442" local_entity="0" value="0" />
+ <value cell_index="35443" local_entity="0" value="0" />
+ <value cell_index="35444" local_entity="0" value="0" />
+ <value cell_index="35445" local_entity="0" value="0" />
+ <value cell_index="35446" local_entity="0" value="0" />
+ <value cell_index="35447" local_entity="0" value="0" />
+ <value cell_index="35448" local_entity="0" value="0" />
+ <value cell_index="35449" local_entity="0" value="0" />
+ <value cell_index="35450" local_entity="0" value="0" />
+ <value cell_index="35451" local_entity="0" value="0" />
+ <value cell_index="35452" local_entity="0" value="0" />
+ <value cell_index="35453" local_entity="0" value="0" />
+ <value cell_index="35454" local_entity="0" value="0" />
+ <value cell_index="35455" local_entity="0" value="0" />
+ <value cell_index="35456" local_entity="0" value="0" />
+ <value cell_index="35457" local_entity="0" value="0" />
+ <value cell_index="35458" local_entity="0" value="0" />
+ <value cell_index="35459" local_entity="0" value="0" />
+ <value cell_index="35460" local_entity="0" value="0" />
+ <value cell_index="35461" local_entity="0" value="0" />
+ <value cell_index="35462" local_entity="0" value="0" />
+ <value cell_index="35463" local_entity="0" value="0" />
+ <value cell_index="35464" local_entity="0" value="0" />
+ <value cell_index="35465" local_entity="0" value="0" />
+ <value cell_index="35466" local_entity="0" value="0" />
+ <value cell_index="35467" local_entity="0" value="0" />
+ <value cell_index="35468" local_entity="0" value="0" />
+ <value cell_index="35469" local_entity="0" value="0" />
+ <value cell_index="35470" local_entity="0" value="0" />
+ <value cell_index="35471" local_entity="0" value="0" />
+ <value cell_index="35472" local_entity="0" value="0" />
+ <value cell_index="35473" local_entity="0" value="0" />
+ <value cell_index="35474" local_entity="0" value="0" />
+ <value cell_index="35475" local_entity="0" value="0" />
+ <value cell_index="35476" local_entity="0" value="0" />
+ <value cell_index="35477" local_entity="0" value="0" />
+ <value cell_index="35478" local_entity="0" value="0" />
+ <value cell_index="35479" local_entity="0" value="0" />
+ <value cell_index="35480" local_entity="0" value="0" />
+ <value cell_index="35481" local_entity="0" value="0" />
+ <value cell_index="35482" local_entity="0" value="0" />
+ <value cell_index="35483" local_entity="0" value="0" />
+ <value cell_index="35484" local_entity="0" value="0" />
+ <value cell_index="35485" local_entity="0" value="0" />
+ <value cell_index="35486" local_entity="0" value="0" />
+ <value cell_index="35487" local_entity="0" value="0" />
+ <value cell_index="35488" local_entity="0" value="0" />
+ <value cell_index="35489" local_entity="0" value="0" />
+ <value cell_index="35490" local_entity="0" value="0" />
+ <value cell_index="35491" local_entity="0" value="0" />
+ <value cell_index="35492" local_entity="0" value="0" />
+ <value cell_index="35493" local_entity="0" value="0" />
+ <value cell_index="35494" local_entity="0" value="0" />
+ <value cell_index="35495" local_entity="0" value="0" />
+ <value cell_index="35496" local_entity="0" value="0" />
+ <value cell_index="35497" local_entity="0" value="0" />
+ <value cell_index="35498" local_entity="0" value="0" />
+ <value cell_index="35499" local_entity="0" value="0" />
+ <value cell_index="35500" local_entity="0" value="0" />
+ <value cell_index="35501" local_entity="0" value="0" />
+ <value cell_index="35502" local_entity="0" value="0" />
+ <value cell_index="35503" local_entity="0" value="0" />
+ <value cell_index="35504" local_entity="0" value="0" />
+ <value cell_index="35505" local_entity="0" value="0" />
+ <value cell_index="35506" local_entity="0" value="0" />
+ <value cell_index="35507" local_entity="0" value="0" />
+ <value cell_index="35508" local_entity="0" value="0" />
+ <value cell_index="35509" local_entity="0" value="0" />
+ <value cell_index="35510" local_entity="0" value="0" />
+ <value cell_index="35511" local_entity="0" value="0" />
+ <value cell_index="35512" local_entity="0" value="0" />
+ <value cell_index="35513" local_entity="0" value="0" />
+ <value cell_index="35514" local_entity="0" value="0" />
+ <value cell_index="35515" local_entity="0" value="0" />
+ <value cell_index="35516" local_entity="0" value="0" />
+ <value cell_index="35517" local_entity="0" value="0" />
+ <value cell_index="35518" local_entity="0" value="0" />
+ <value cell_index="35519" local_entity="0" value="0" />
+ <value cell_index="35520" local_entity="0" value="0" />
+ <value cell_index="35521" local_entity="0" value="0" />
+ <value cell_index="35522" local_entity="0" value="0" />
+ <value cell_index="35523" local_entity="0" value="0" />
+ <value cell_index="35524" local_entity="0" value="0" />
+ <value cell_index="35525" local_entity="0" value="0" />
+ <value cell_index="35526" local_entity="0" value="0" />
+ <value cell_index="35527" local_entity="0" value="0" />
+ <value cell_index="35528" local_entity="0" value="0" />
+ <value cell_index="35529" local_entity="0" value="0" />
+ <value cell_index="35530" local_entity="0" value="0" />
+ <value cell_index="35531" local_entity="0" value="0" />
+ <value cell_index="35532" local_entity="0" value="0" />
+ <value cell_index="35533" local_entity="0" value="0" />
+ <value cell_index="35534" local_entity="0" value="0" />
+ <value cell_index="35535" local_entity="0" value="0" />
+ <value cell_index="35536" local_entity="0" value="0" />
+ <value cell_index="35537" local_entity="0" value="0" />
+ <value cell_index="35538" local_entity="0" value="0" />
+ <value cell_index="35539" local_entity="0" value="0" />
+ <value cell_index="35540" local_entity="0" value="0" />
+ <value cell_index="35541" local_entity="0" value="0" />
+ <value cell_index="35542" local_entity="0" value="0" />
+ <value cell_index="35543" local_entity="0" value="0" />
+ <value cell_index="35544" local_entity="0" value="0" />
+ <value cell_index="35545" local_entity="0" value="0" />
+ <value cell_index="35546" local_entity="0" value="0" />
+ <value cell_index="35547" local_entity="0" value="0" />
+ <value cell_index="35548" local_entity="0" value="0" />
+ <value cell_index="35549" local_entity="0" value="0" />
+ <value cell_index="35550" local_entity="0" value="0" />
+ <value cell_index="35551" local_entity="0" value="0" />
+ <value cell_index="35552" local_entity="0" value="0" />
+ <value cell_index="35553" local_entity="0" value="0" />
+ <value cell_index="35554" local_entity="0" value="0" />
+ <value cell_index="35555" local_entity="0" value="0" />
+ <value cell_index="35556" local_entity="0" value="0" />
+ <value cell_index="35557" local_entity="0" value="0" />
+ <value cell_index="35558" local_entity="0" value="0" />
+ <value cell_index="35559" local_entity="0" value="0" />
+ <value cell_index="35560" local_entity="0" value="0" />
+ <value cell_index="35561" local_entity="0" value="0" />
+ <value cell_index="35562" local_entity="0" value="0" />
+ <value cell_index="35563" local_entity="0" value="0" />
+ <value cell_index="35564" local_entity="0" value="0" />
+ <value cell_index="35565" local_entity="0" value="0" />
+ <value cell_index="35566" local_entity="0" value="0" />
+ <value cell_index="35567" local_entity="0" value="0" />
+ <value cell_index="35568" local_entity="0" value="0" />
+ <value cell_index="35569" local_entity="0" value="0" />
+ <value cell_index="35570" local_entity="0" value="0" />
+ <value cell_index="35571" local_entity="0" value="0" />
+ <value cell_index="35572" local_entity="0" value="0" />
+ <value cell_index="35573" local_entity="0" value="0" />
+ <value cell_index="35574" local_entity="0" value="0" />
+ <value cell_index="35575" local_entity="0" value="0" />
+ <value cell_index="35576" local_entity="0" value="0" />
+ <value cell_index="35577" local_entity="0" value="0" />
+ <value cell_index="35578" local_entity="0" value="0" />
+ <value cell_index="35579" local_entity="0" value="0" />
+ <value cell_index="35580" local_entity="0" value="0" />
+ <value cell_index="35581" local_entity="0" value="0" />
+ <value cell_index="35582" local_entity="0" value="0" />
+ <value cell_index="35583" local_entity="0" value="0" />
+ <value cell_index="35584" local_entity="0" value="0" />
+ <value cell_index="35585" local_entity="0" value="0" />
+ <value cell_index="35586" local_entity="0" value="0" />
+ <value cell_index="35587" local_entity="0" value="0" />
+ <value cell_index="35588" local_entity="0" value="0" />
+ <value cell_index="35589" local_entity="0" value="0" />
+ <value cell_index="35590" local_entity="0" value="0" />
+ <value cell_index="35591" local_entity="0" value="0" />
+ <value cell_index="35592" local_entity="0" value="0" />
+ <value cell_index="35593" local_entity="0" value="0" />
+ <value cell_index="35594" local_entity="0" value="0" />
+ <value cell_index="35595" local_entity="0" value="0" />
+ <value cell_index="35596" local_entity="0" value="0" />
+ <value cell_index="35597" local_entity="0" value="0" />
+ <value cell_index="35598" local_entity="0" value="0" />
+ <value cell_index="35599" local_entity="0" value="0" />
+ <value cell_index="35600" local_entity="0" value="0" />
+ <value cell_index="35601" local_entity="0" value="0" />
+ <value cell_index="35602" local_entity="0" value="0" />
+ <value cell_index="35603" local_entity="0" value="0" />
+ <value cell_index="35604" local_entity="0" value="0" />
+ <value cell_index="35605" local_entity="0" value="0" />
+ <value cell_index="35606" local_entity="0" value="0" />
+ <value cell_index="35607" local_entity="0" value="0" />
+ <value cell_index="35608" local_entity="0" value="0" />
+ <value cell_index="35609" local_entity="0" value="0" />
+ <value cell_index="35610" local_entity="0" value="0" />
+ <value cell_index="35611" local_entity="0" value="0" />
+ <value cell_index="35612" local_entity="0" value="0" />
+ <value cell_index="35613" local_entity="0" value="0" />
+ <value cell_index="35614" local_entity="0" value="0" />
+ <value cell_index="35615" local_entity="0" value="0" />
+ <value cell_index="35616" local_entity="0" value="0" />
+ <value cell_index="35617" local_entity="0" value="0" />
+ <value cell_index="35618" local_entity="0" value="0" />
+ <value cell_index="35619" local_entity="0" value="0" />
+ <value cell_index="35620" local_entity="0" value="0" />
+ <value cell_index="35621" local_entity="0" value="0" />
+ <value cell_index="35622" local_entity="0" value="0" />
+ <value cell_index="35623" local_entity="0" value="0" />
+ <value cell_index="35624" local_entity="0" value="0" />
+ <value cell_index="35625" local_entity="0" value="0" />
+ <value cell_index="35626" local_entity="0" value="0" />
+ <value cell_index="35627" local_entity="0" value="0" />
+ <value cell_index="35628" local_entity="0" value="0" />
+ <value cell_index="35629" local_entity="0" value="0" />
+ <value cell_index="35630" local_entity="0" value="0" />
+ <value cell_index="35631" local_entity="0" value="0" />
+ <value cell_index="35632" local_entity="0" value="0" />
+ <value cell_index="35633" local_entity="0" value="0" />
+ <value cell_index="35634" local_entity="0" value="0" />
+ <value cell_index="35635" local_entity="0" value="0" />
+ <value cell_index="35636" local_entity="0" value="0" />
+ <value cell_index="35637" local_entity="0" value="0" />
+ <value cell_index="35638" local_entity="0" value="0" />
+ <value cell_index="35639" local_entity="0" value="0" />
+ <value cell_index="35640" local_entity="0" value="0" />
+ <value cell_index="35641" local_entity="0" value="0" />
+ <value cell_index="35642" local_entity="0" value="0" />
+ <value cell_index="35643" local_entity="0" value="0" />
+ <value cell_index="35644" local_entity="0" value="0" />
+ <value cell_index="35645" local_entity="0" value="0" />
+ <value cell_index="35646" local_entity="0" value="0" />
+ <value cell_index="35647" local_entity="0" value="0" />
+ <value cell_index="35648" local_entity="0" value="0" />
+ <value cell_index="35649" local_entity="0" value="0" />
+ <value cell_index="35650" local_entity="0" value="0" />
+ <value cell_index="35651" local_entity="0" value="0" />
+ <value cell_index="35652" local_entity="0" value="0" />
+ <value cell_index="35653" local_entity="0" value="0" />
+ <value cell_index="35654" local_entity="0" value="0" />
+ <value cell_index="35655" local_entity="0" value="0" />
+ <value cell_index="35656" local_entity="0" value="0" />
+ <value cell_index="35657" local_entity="0" value="0" />
+ <value cell_index="35658" local_entity="0" value="0" />
+ <value cell_index="35659" local_entity="0" value="0" />
+ <value cell_index="35660" local_entity="0" value="0" />
+ <value cell_index="35661" local_entity="0" value="0" />
+ <value cell_index="35662" local_entity="0" value="0" />
+ <value cell_index="35663" local_entity="0" value="0" />
+ <value cell_index="35664" local_entity="0" value="0" />
+ <value cell_index="35665" local_entity="0" value="0" />
+ <value cell_index="35666" local_entity="0" value="0" />
+ <value cell_index="35667" local_entity="0" value="0" />
+ <value cell_index="35668" local_entity="0" value="0" />
+ <value cell_index="35669" local_entity="0" value="0" />
+ <value cell_index="35670" local_entity="0" value="0" />
+ <value cell_index="35671" local_entity="0" value="0" />
+ <value cell_index="35672" local_entity="0" value="0" />
+ <value cell_index="35673" local_entity="0" value="0" />
+ <value cell_index="35674" local_entity="0" value="0" />
+ <value cell_index="35675" local_entity="0" value="0" />
+ <value cell_index="35676" local_entity="0" value="0" />
+ <value cell_index="35677" local_entity="0" value="0" />
+ <value cell_index="35678" local_entity="0" value="0" />
+ <value cell_index="35679" local_entity="0" value="0" />
+ <value cell_index="35680" local_entity="0" value="0" />
+ <value cell_index="35681" local_entity="0" value="0" />
+ <value cell_index="35682" local_entity="0" value="0" />
+ <value cell_index="35683" local_entity="0" value="0" />
+ <value cell_index="35684" local_entity="0" value="0" />
+ <value cell_index="35685" local_entity="0" value="0" />
+ <value cell_index="35686" local_entity="0" value="0" />
+ <value cell_index="35687" local_entity="0" value="0" />
+ <value cell_index="35688" local_entity="0" value="0" />
+ <value cell_index="35689" local_entity="0" value="0" />
+ <value cell_index="35690" local_entity="0" value="0" />
+ <value cell_index="35691" local_entity="0" value="0" />
+ <value cell_index="35692" local_entity="0" value="0" />
+ <value cell_index="35693" local_entity="0" value="0" />
+ <value cell_index="35694" local_entity="0" value="0" />
+ <value cell_index="35695" local_entity="0" value="0" />
+ <value cell_index="35696" local_entity="0" value="0" />
+ <value cell_index="35697" local_entity="0" value="0" />
+ <value cell_index="35698" local_entity="0" value="0" />
+ <value cell_index="35699" local_entity="0" value="0" />
+ <value cell_index="35700" local_entity="0" value="0" />
+ <value cell_index="35701" local_entity="0" value="0" />
+ <value cell_index="35702" local_entity="0" value="0" />
+ <value cell_index="35703" local_entity="0" value="0" />
+ <value cell_index="35704" local_entity="0" value="0" />
+ <value cell_index="35705" local_entity="0" value="0" />
+ <value cell_index="35706" local_entity="0" value="0" />
+ <value cell_index="35707" local_entity="0" value="0" />
+ <value cell_index="35708" local_entity="0" value="0" />
+ <value cell_index="35709" local_entity="0" value="0" />
+ <value cell_index="35710" local_entity="0" value="0" />
+ <value cell_index="35711" local_entity="0" value="0" />
+ <value cell_index="35712" local_entity="0" value="0" />
+ <value cell_index="35713" local_entity="0" value="0" />
+ <value cell_index="35714" local_entity="0" value="0" />
+ <value cell_index="35715" local_entity="0" value="0" />
+ <value cell_index="35716" local_entity="0" value="0" />
+ <value cell_index="35717" local_entity="0" value="0" />
+ <value cell_index="35718" local_entity="0" value="0" />
+ <value cell_index="35719" local_entity="0" value="0" />
+ <value cell_index="35720" local_entity="0" value="0" />
+ <value cell_index="35721" local_entity="0" value="0" />
+ <value cell_index="35722" local_entity="0" value="0" />
+ <value cell_index="35723" local_entity="0" value="0" />
+ <value cell_index="35724" local_entity="0" value="0" />
+ <value cell_index="35725" local_entity="0" value="0" />
+ <value cell_index="35726" local_entity="0" value="0" />
+ <value cell_index="35727" local_entity="0" value="0" />
+ <value cell_index="35728" local_entity="0" value="0" />
+ <value cell_index="35729" local_entity="0" value="0" />
+ <value cell_index="35730" local_entity="0" value="0" />
+ <value cell_index="35731" local_entity="0" value="0" />
+ <value cell_index="35732" local_entity="0" value="0" />
+ <value cell_index="35733" local_entity="0" value="0" />
+ <value cell_index="35734" local_entity="0" value="0" />
+ <value cell_index="35735" local_entity="0" value="0" />
+ <value cell_index="35736" local_entity="0" value="0" />
+ <value cell_index="35737" local_entity="0" value="0" />
+ <value cell_index="35738" local_entity="0" value="0" />
+ <value cell_index="35739" local_entity="0" value="0" />
+ <value cell_index="35740" local_entity="0" value="0" />
+ <value cell_index="35741" local_entity="0" value="0" />
+ <value cell_index="35742" local_entity="0" value="0" />
+ <value cell_index="35743" local_entity="0" value="0" />
+ <value cell_index="35744" local_entity="0" value="0" />
+ <value cell_index="35745" local_entity="0" value="0" />
+ <value cell_index="35746" local_entity="0" value="0" />
+ <value cell_index="35747" local_entity="0" value="0" />
+ <value cell_index="35748" local_entity="0" value="0" />
+ <value cell_index="35749" local_entity="0" value="0" />
+ <value cell_index="35750" local_entity="0" value="0" />
+ <value cell_index="35751" local_entity="0" value="0" />
+ <value cell_index="35752" local_entity="0" value="0" />
+ <value cell_index="35753" local_entity="0" value="0" />
+ <value cell_index="35754" local_entity="0" value="0" />
+ <value cell_index="35755" local_entity="0" value="0" />
+ <value cell_index="35756" local_entity="0" value="0" />
+ <value cell_index="35757" local_entity="0" value="0" />
+ <value cell_index="35758" local_entity="0" value="0" />
+ <value cell_index="35759" local_entity="0" value="0" />
+ <value cell_index="35760" local_entity="0" value="0" />
+ <value cell_index="35761" local_entity="0" value="0" />
+ <value cell_index="35762" local_entity="0" value="0" />
+ <value cell_index="35763" local_entity="0" value="0" />
+ <value cell_index="35764" local_entity="0" value="0" />
+ <value cell_index="35765" local_entity="0" value="0" />
+ <value cell_index="35766" local_entity="0" value="0" />
+ <value cell_index="35767" local_entity="0" value="0" />
+ <value cell_index="35768" local_entity="0" value="0" />
+ <value cell_index="35769" local_entity="0" value="0" />
+ <value cell_index="35770" local_entity="0" value="0" />
+ <value cell_index="35771" local_entity="0" value="0" />
+ <value cell_index="35772" local_entity="0" value="0" />
+ <value cell_index="35773" local_entity="0" value="0" />
+ <value cell_index="35774" local_entity="0" value="0" />
+ <value cell_index="35775" local_entity="0" value="0" />
+ <value cell_index="35776" local_entity="0" value="0" />
+ <value cell_index="35777" local_entity="0" value="0" />
+ <value cell_index="35778" local_entity="0" value="0" />
+ <value cell_index="35779" local_entity="0" value="0" />
+ <value cell_index="35780" local_entity="0" value="0" />
+ <value cell_index="35781" local_entity="0" value="0" />
+ <value cell_index="35782" local_entity="0" value="0" />
+ <value cell_index="35783" local_entity="0" value="0" />
+ <value cell_index="35784" local_entity="0" value="0" />
+ <value cell_index="35785" local_entity="0" value="0" />
+ <value cell_index="35786" local_entity="0" value="0" />
+ <value cell_index="35787" local_entity="0" value="0" />
+ <value cell_index="35788" local_entity="0" value="0" />
+ <value cell_index="35789" local_entity="0" value="0" />
+ <value cell_index="35790" local_entity="0" value="0" />
+ <value cell_index="35791" local_entity="0" value="0" />
+ <value cell_index="35792" local_entity="0" value="0" />
+ <value cell_index="35793" local_entity="0" value="0" />
+ <value cell_index="35794" local_entity="0" value="0" />
+ <value cell_index="35795" local_entity="0" value="0" />
+ <value cell_index="35796" local_entity="0" value="0" />
+ <value cell_index="35797" local_entity="0" value="0" />
+ <value cell_index="35798" local_entity="0" value="0" />
+ <value cell_index="35799" local_entity="0" value="0" />
+ <value cell_index="35800" local_entity="0" value="0" />
+ <value cell_index="35801" local_entity="0" value="0" />
+ <value cell_index="35802" local_entity="0" value="0" />
+ <value cell_index="35803" local_entity="0" value="0" />
+ <value cell_index="35804" local_entity="0" value="0" />
+ <value cell_index="35805" local_entity="0" value="0" />
+ <value cell_index="35806" local_entity="0" value="0" />
+ <value cell_index="35807" local_entity="0" value="0" />
+ <value cell_index="35808" local_entity="0" value="0" />
+ <value cell_index="35809" local_entity="0" value="0" />
+ <value cell_index="35810" local_entity="0" value="0" />
+ <value cell_index="35811" local_entity="0" value="0" />
+ <value cell_index="35812" local_entity="0" value="0" />
+ <value cell_index="35813" local_entity="0" value="0" />
+ <value cell_index="35814" local_entity="0" value="0" />
+ <value cell_index="35815" local_entity="0" value="0" />
+ <value cell_index="35816" local_entity="0" value="0" />
+ <value cell_index="35817" local_entity="0" value="0" />
+ <value cell_index="35818" local_entity="0" value="0" />
+ <value cell_index="35819" local_entity="0" value="0" />
+ <value cell_index="35820" local_entity="0" value="0" />
+ <value cell_index="35821" local_entity="0" value="0" />
+ <value cell_index="35822" local_entity="0" value="0" />
+ <value cell_index="35823" local_entity="0" value="0" />
+ <value cell_index="35824" local_entity="0" value="0" />
+ <value cell_index="35825" local_entity="0" value="0" />
+ <value cell_index="35826" local_entity="0" value="0" />
+ <value cell_index="35827" local_entity="0" value="0" />
+ <value cell_index="35828" local_entity="0" value="0" />
+ <value cell_index="35829" local_entity="0" value="0" />
+ <value cell_index="35830" local_entity="0" value="0" />
+ <value cell_index="35831" local_entity="0" value="0" />
+ <value cell_index="35832" local_entity="0" value="0" />
+ <value cell_index="35833" local_entity="0" value="0" />
+ <value cell_index="35834" local_entity="0" value="0" />
+ <value cell_index="35835" local_entity="0" value="0" />
+ <value cell_index="35836" local_entity="0" value="0" />
+ <value cell_index="35837" local_entity="0" value="0" />
+ <value cell_index="35838" local_entity="0" value="0" />
+ <value cell_index="35839" local_entity="0" value="0" />
+ <value cell_index="35840" local_entity="0" value="0" />
+ <value cell_index="35841" local_entity="0" value="0" />
+ <value cell_index="35842" local_entity="0" value="0" />
+ <value cell_index="35843" local_entity="0" value="0" />
+ <value cell_index="35844" local_entity="0" value="0" />
+ <value cell_index="35845" local_entity="0" value="0" />
+ <value cell_index="35846" local_entity="0" value="0" />
+ <value cell_index="35847" local_entity="0" value="0" />
+ <value cell_index="35848" local_entity="0" value="0" />
+ <value cell_index="35849" local_entity="0" value="0" />
+ <value cell_index="35850" local_entity="0" value="0" />
+ <value cell_index="35851" local_entity="0" value="0" />
+ <value cell_index="35852" local_entity="0" value="0" />
+ <value cell_index="35853" local_entity="0" value="0" />
+ <value cell_index="35854" local_entity="0" value="0" />
+ <value cell_index="35855" local_entity="0" value="0" />
+ <value cell_index="35856" local_entity="0" value="0" />
+ <value cell_index="35857" local_entity="0" value="0" />
+ <value cell_index="35858" local_entity="0" value="0" />
+ <value cell_index="35859" local_entity="0" value="0" />
+ <value cell_index="35860" local_entity="0" value="0" />
+ <value cell_index="35861" local_entity="0" value="0" />
+ <value cell_index="35862" local_entity="0" value="0" />
+ <value cell_index="35863" local_entity="0" value="0" />
+ <value cell_index="35864" local_entity="0" value="0" />
+ <value cell_index="35865" local_entity="0" value="0" />
+ <value cell_index="35866" local_entity="0" value="0" />
+ <value cell_index="35867" local_entity="0" value="0" />
+ <value cell_index="35868" local_entity="0" value="0" />
+ <value cell_index="35869" local_entity="0" value="0" />
+ <value cell_index="35870" local_entity="0" value="0" />
+ <value cell_index="35871" local_entity="0" value="0" />
+ <value cell_index="35872" local_entity="0" value="0" />
+ <value cell_index="35873" local_entity="0" value="0" />
+ <value cell_index="35874" local_entity="0" value="0" />
+ <value cell_index="35875" local_entity="0" value="0" />
+ <value cell_index="35876" local_entity="0" value="0" />
+ <value cell_index="35877" local_entity="0" value="0" />
+ <value cell_index="35878" local_entity="0" value="0" />
+ <value cell_index="35879" local_entity="0" value="0" />
+ <value cell_index="35880" local_entity="0" value="0" />
+ <value cell_index="35881" local_entity="0" value="0" />
+ <value cell_index="35882" local_entity="0" value="0" />
+ <value cell_index="35883" local_entity="0" value="0" />
+ <value cell_index="35884" local_entity="0" value="0" />
+ <value cell_index="35885" local_entity="0" value="0" />
+ <value cell_index="35886" local_entity="0" value="0" />
+ <value cell_index="35887" local_entity="0" value="0" />
+ <value cell_index="35888" local_entity="0" value="0" />
+ <value cell_index="35889" local_entity="0" value="0" />
+ <value cell_index="35890" local_entity="0" value="0" />
+ <value cell_index="35891" local_entity="0" value="0" />
+ <value cell_index="35892" local_entity="0" value="0" />
+ <value cell_index="35893" local_entity="0" value="0" />
+ <value cell_index="35894" local_entity="0" value="0" />
+ <value cell_index="35895" local_entity="0" value="0" />
+ <value cell_index="35896" local_entity="0" value="0" />
+ <value cell_index="35897" local_entity="0" value="0" />
+ <value cell_index="35898" local_entity="0" value="0" />
+ <value cell_index="35899" local_entity="0" value="0" />
+ <value cell_index="35900" local_entity="0" value="0" />
+ <value cell_index="35901" local_entity="0" value="0" />
+ <value cell_index="35902" local_entity="0" value="0" />
+ <value cell_index="35903" local_entity="0" value="0" />
+ <value cell_index="35904" local_entity="0" value="0" />
+ <value cell_index="35905" local_entity="0" value="0" />
+ <value cell_index="35906" local_entity="0" value="0" />
+ <value cell_index="35907" local_entity="0" value="0" />
+ <value cell_index="35908" local_entity="0" value="0" />
+ <value cell_index="35909" local_entity="0" value="0" />
+ <value cell_index="35910" local_entity="0" value="0" />
+ <value cell_index="35911" local_entity="0" value="0" />
+ <value cell_index="35912" local_entity="0" value="0" />
+ <value cell_index="35913" local_entity="0" value="0" />
+ <value cell_index="35914" local_entity="0" value="0" />
+ <value cell_index="35915" local_entity="0" value="0" />
+ <value cell_index="35916" local_entity="0" value="0" />
+ <value cell_index="35917" local_entity="0" value="0" />
+ <value cell_index="35918" local_entity="0" value="0" />
+ <value cell_index="35919" local_entity="0" value="0" />
+ <value cell_index="35920" local_entity="0" value="0" />
+ <value cell_index="35921" local_entity="0" value="0" />
+ <value cell_index="35922" local_entity="0" value="0" />
+ <value cell_index="35923" local_entity="0" value="0" />
+ <value cell_index="35924" local_entity="0" value="0" />
+ <value cell_index="35925" local_entity="0" value="0" />
+ <value cell_index="35926" local_entity="0" value="0" />
+ <value cell_index="35927" local_entity="0" value="0" />
+ <value cell_index="35928" local_entity="0" value="0" />
+ <value cell_index="35929" local_entity="0" value="0" />
+ <value cell_index="35930" local_entity="0" value="0" />
+ <value cell_index="35931" local_entity="0" value="0" />
+ <value cell_index="35932" local_entity="0" value="0" />
+ <value cell_index="35933" local_entity="0" value="0" />
+ <value cell_index="35934" local_entity="0" value="0" />
+ <value cell_index="35935" local_entity="0" value="0" />
+ <value cell_index="35936" local_entity="0" value="0" />
+ <value cell_index="35937" local_entity="0" value="0" />
+ <value cell_index="35938" local_entity="0" value="0" />
+ <value cell_index="35939" local_entity="0" value="0" />
+ <value cell_index="35940" local_entity="0" value="0" />
+ <value cell_index="35941" local_entity="0" value="0" />
+ <value cell_index="35942" local_entity="0" value="0" />
+ <value cell_index="35943" local_entity="0" value="0" />
+ <value cell_index="35944" local_entity="0" value="0" />
+ <value cell_index="35945" local_entity="0" value="0" />
+ <value cell_index="35946" local_entity="0" value="0" />
+ <value cell_index="35947" local_entity="0" value="0" />
+ <value cell_index="35948" local_entity="0" value="0" />
+ <value cell_index="35949" local_entity="0" value="0" />
+ <value cell_index="35950" local_entity="0" value="0" />
+ <value cell_index="35951" local_entity="0" value="0" />
+ <value cell_index="35952" local_entity="0" value="0" />
+ <value cell_index="35953" local_entity="0" value="0" />
+ <value cell_index="35954" local_entity="0" value="0" />
+ <value cell_index="35955" local_entity="0" value="0" />
+ <value cell_index="35956" local_entity="0" value="0" />
+ <value cell_index="35957" local_entity="0" value="0" />
+ <value cell_index="35958" local_entity="0" value="0" />
+ <value cell_index="35959" local_entity="0" value="0" />
+ <value cell_index="35960" local_entity="0" value="0" />
+ <value cell_index="35961" local_entity="0" value="0" />
+ <value cell_index="35962" local_entity="0" value="0" />
+ <value cell_index="35963" local_entity="0" value="0" />
+ <value cell_index="35964" local_entity="0" value="0" />
+ <value cell_index="35965" local_entity="0" value="0" />
+ <value cell_index="35966" local_entity="0" value="0" />
+ <value cell_index="35967" local_entity="0" value="0" />
+ <value cell_index="35968" local_entity="0" value="0" />
+ <value cell_index="35969" local_entity="0" value="0" />
+ <value cell_index="35970" local_entity="0" value="0" />
+ <value cell_index="35971" local_entity="0" value="0" />
+ <value cell_index="35972" local_entity="0" value="0" />
+ <value cell_index="35973" local_entity="0" value="0" />
+ <value cell_index="35974" local_entity="0" value="0" />
+ <value cell_index="35975" local_entity="0" value="0" />
+ <value cell_index="35976" local_entity="0" value="0" />
+ <value cell_index="35977" local_entity="0" value="0" />
+ <value cell_index="35978" local_entity="0" value="0" />
+ <value cell_index="35979" local_entity="0" value="0" />
+ <value cell_index="35980" local_entity="0" value="0" />
+ <value cell_index="35981" local_entity="0" value="0" />
+ <value cell_index="35982" local_entity="0" value="0" />
+ <value cell_index="35983" local_entity="0" value="0" />
+ <value cell_index="35984" local_entity="0" value="0" />
+ <value cell_index="35985" local_entity="0" value="0" />
+ <value cell_index="35986" local_entity="0" value="0" />
+ <value cell_index="35987" local_entity="0" value="0" />
+ <value cell_index="35988" local_entity="0" value="0" />
+ <value cell_index="35989" local_entity="0" value="0" />
+ <value cell_index="35990" local_entity="0" value="0" />
+ <value cell_index="35991" local_entity="0" value="0" />
+ <value cell_index="35992" local_entity="0" value="0" />
+ <value cell_index="35993" local_entity="0" value="0" />
+ <value cell_index="35994" local_entity="0" value="0" />
+ <value cell_index="35995" local_entity="0" value="0" />
+ <value cell_index="35996" local_entity="0" value="0" />
+ <value cell_index="35997" local_entity="0" value="0" />
+ <value cell_index="35998" local_entity="0" value="0" />
+ <value cell_index="35999" local_entity="0" value="0" />
+ <value cell_index="36000" local_entity="0" value="0" />
+ <value cell_index="36001" local_entity="0" value="0" />
+ <value cell_index="36002" local_entity="0" value="0" />
+ <value cell_index="36003" local_entity="0" value="0" />
+ <value cell_index="36004" local_entity="0" value="0" />
+ <value cell_index="36005" local_entity="0" value="0" />
+ <value cell_index="36006" local_entity="0" value="0" />
+ <value cell_index="36007" local_entity="0" value="0" />
+ <value cell_index="36008" local_entity="0" value="0" />
+ <value cell_index="36009" local_entity="0" value="0" />
+ <value cell_index="36010" local_entity="0" value="0" />
+ <value cell_index="36011" local_entity="0" value="0" />
+ <value cell_index="36012" local_entity="0" value="0" />
+ <value cell_index="36013" local_entity="0" value="0" />
+ <value cell_index="36014" local_entity="0" value="0" />
+ <value cell_index="36015" local_entity="0" value="0" />
+ <value cell_index="36016" local_entity="0" value="0" />
+ <value cell_index="36017" local_entity="0" value="0" />
+ <value cell_index="36018" local_entity="0" value="0" />
+ <value cell_index="36019" local_entity="0" value="0" />
+ <value cell_index="36020" local_entity="0" value="0" />
+ <value cell_index="36021" local_entity="0" value="0" />
+ <value cell_index="36022" local_entity="0" value="0" />
+ <value cell_index="36023" local_entity="0" value="0" />
+ <value cell_index="36024" local_entity="0" value="0" />
+ <value cell_index="36025" local_entity="0" value="0" />
+ <value cell_index="36026" local_entity="0" value="0" />
+ <value cell_index="36027" local_entity="0" value="0" />
+ <value cell_index="36028" local_entity="0" value="0" />
+ <value cell_index="36029" local_entity="0" value="0" />
+ <value cell_index="36030" local_entity="0" value="0" />
+ <value cell_index="36031" local_entity="0" value="0" />
+ <value cell_index="36032" local_entity="0" value="0" />
+ <value cell_index="36033" local_entity="0" value="0" />
+ <value cell_index="36034" local_entity="0" value="0" />
+ <value cell_index="36035" local_entity="0" value="0" />
+ <value cell_index="36036" local_entity="0" value="0" />
+ <value cell_index="36037" local_entity="0" value="0" />
+ <value cell_index="36038" local_entity="0" value="0" />
+ <value cell_index="36039" local_entity="0" value="0" />
+ <value cell_index="36040" local_entity="0" value="0" />
+ <value cell_index="36041" local_entity="0" value="0" />
+ <value cell_index="36042" local_entity="0" value="0" />
+ <value cell_index="36043" local_entity="0" value="0" />
+ <value cell_index="36044" local_entity="0" value="0" />
+ <value cell_index="36045" local_entity="0" value="0" />
+ <value cell_index="36046" local_entity="0" value="0" />
+ <value cell_index="36047" local_entity="0" value="0" />
+ <value cell_index="36048" local_entity="0" value="0" />
+ <value cell_index="36049" local_entity="0" value="0" />
+ <value cell_index="36050" local_entity="0" value="0" />
+ <value cell_index="36051" local_entity="0" value="0" />
+ <value cell_index="36052" local_entity="0" value="0" />
+ <value cell_index="36053" local_entity="0" value="0" />
+ <value cell_index="36054" local_entity="0" value="0" />
+ <value cell_index="36055" local_entity="0" value="0" />
+ <value cell_index="36056" local_entity="0" value="0" />
+ <value cell_index="36057" local_entity="0" value="0" />
+ <value cell_index="36058" local_entity="0" value="0" />
+ <value cell_index="36059" local_entity="0" value="0" />
+ <value cell_index="36060" local_entity="0" value="0" />
+ <value cell_index="36061" local_entity="0" value="0" />
+ <value cell_index="36062" local_entity="0" value="0" />
+ <value cell_index="36063" local_entity="0" value="0" />
+ <value cell_index="36064" local_entity="0" value="0" />
+ <value cell_index="36065" local_entity="0" value="0" />
+ <value cell_index="36066" local_entity="0" value="0" />
+ <value cell_index="36067" local_entity="0" value="0" />
+ <value cell_index="36068" local_entity="0" value="0" />
+ <value cell_index="36069" local_entity="0" value="0" />
+ <value cell_index="36070" local_entity="0" value="0" />
+ <value cell_index="36071" local_entity="0" value="0" />
+ <value cell_index="36072" local_entity="0" value="0" />
+ <value cell_index="36073" local_entity="0" value="0" />
+ <value cell_index="36074" local_entity="0" value="0" />
+ <value cell_index="36075" local_entity="0" value="0" />
+ <value cell_index="36076" local_entity="0" value="0" />
+ <value cell_index="36077" local_entity="0" value="0" />
+ <value cell_index="36078" local_entity="0" value="0" />
+ <value cell_index="36079" local_entity="0" value="0" />
+ <value cell_index="36080" local_entity="0" value="0" />
+ <value cell_index="36081" local_entity="0" value="0" />
+ <value cell_index="36082" local_entity="0" value="0" />
+ <value cell_index="36083" local_entity="0" value="0" />
+ <value cell_index="36084" local_entity="0" value="0" />
+ <value cell_index="36085" local_entity="0" value="0" />
+ <value cell_index="36086" local_entity="0" value="0" />
+ <value cell_index="36087" local_entity="0" value="0" />
+ <value cell_index="36088" local_entity="0" value="0" />
+ <value cell_index="36089" local_entity="0" value="0" />
+ <value cell_index="36090" local_entity="0" value="0" />
+ <value cell_index="36091" local_entity="0" value="0" />
+ <value cell_index="36092" local_entity="0" value="0" />
+ <value cell_index="36093" local_entity="0" value="0" />
+ <value cell_index="36094" local_entity="0" value="0" />
+ <value cell_index="36095" local_entity="0" value="0" />
+ <value cell_index="36096" local_entity="0" value="0" />
+ <value cell_index="36097" local_entity="0" value="0" />
+ <value cell_index="36098" local_entity="0" value="0" />
+ <value cell_index="36099" local_entity="0" value="0" />
+ <value cell_index="36100" local_entity="0" value="0" />
+ <value cell_index="36101" local_entity="0" value="0" />
+ <value cell_index="36102" local_entity="0" value="0" />
+ <value cell_index="36103" local_entity="0" value="0" />
+ <value cell_index="36104" local_entity="0" value="0" />
+ <value cell_index="36105" local_entity="0" value="0" />
+ <value cell_index="36106" local_entity="0" value="0" />
+ <value cell_index="36107" local_entity="0" value="0" />
+ <value cell_index="36108" local_entity="0" value="0" />
+ <value cell_index="36109" local_entity="0" value="0" />
+ <value cell_index="36110" local_entity="0" value="0" />
+ <value cell_index="36111" local_entity="0" value="0" />
+ <value cell_index="36112" local_entity="0" value="0" />
+ <value cell_index="36113" local_entity="0" value="0" />
+ <value cell_index="36114" local_entity="0" value="0" />
+ <value cell_index="36115" local_entity="0" value="0" />
+ <value cell_index="36116" local_entity="0" value="0" />
+ <value cell_index="36117" local_entity="0" value="0" />
+ <value cell_index="36118" local_entity="0" value="0" />
+ <value cell_index="36119" local_entity="0" value="0" />
+ <value cell_index="36120" local_entity="0" value="0" />
+ <value cell_index="36121" local_entity="0" value="0" />
+ <value cell_index="36122" local_entity="0" value="0" />
+ <value cell_index="36123" local_entity="0" value="0" />
+ <value cell_index="36124" local_entity="0" value="0" />
+ <value cell_index="36125" local_entity="0" value="0" />
+ <value cell_index="36126" local_entity="0" value="0" />
+ <value cell_index="36127" local_entity="0" value="0" />
+ <value cell_index="36128" local_entity="0" value="0" />
+ <value cell_index="36129" local_entity="0" value="0" />
+ <value cell_index="36130" local_entity="0" value="0" />
+ <value cell_index="36131" local_entity="0" value="0" />
+ <value cell_index="36132" local_entity="0" value="0" />
+ <value cell_index="36133" local_entity="0" value="0" />
+ <value cell_index="36134" local_entity="0" value="0" />
+ <value cell_index="36135" local_entity="0" value="0" />
+ <value cell_index="36136" local_entity="0" value="0" />
+ <value cell_index="36137" local_entity="0" value="0" />
+ <value cell_index="36138" local_entity="0" value="0" />
+ <value cell_index="36139" local_entity="0" value="0" />
+ <value cell_index="36140" local_entity="0" value="0" />
+ <value cell_index="36141" local_entity="0" value="0" />
+ <value cell_index="36142" local_entity="0" value="0" />
+ <value cell_index="36143" local_entity="0" value="0" />
+ <value cell_index="36144" local_entity="0" value="0" />
+ <value cell_index="36145" local_entity="0" value="0" />
+ <value cell_index="36146" local_entity="0" value="0" />
+ <value cell_index="36147" local_entity="0" value="0" />
+ <value cell_index="36148" local_entity="0" value="0" />
+ <value cell_index="36149" local_entity="0" value="0" />
+ <value cell_index="36150" local_entity="0" value="0" />
+ <value cell_index="36151" local_entity="0" value="0" />
+ <value cell_index="36152" local_entity="0" value="0" />
+ <value cell_index="36153" local_entity="0" value="0" />
+ <value cell_index="36154" local_entity="0" value="0" />
+ <value cell_index="36155" local_entity="0" value="0" />
+ <value cell_index="36156" local_entity="0" value="0" />
+ <value cell_index="36157" local_entity="0" value="0" />
+ <value cell_index="36158" local_entity="0" value="0" />
+ <value cell_index="36159" local_entity="0" value="0" />
+ <value cell_index="36160" local_entity="0" value="0" />
+ <value cell_index="36161" local_entity="0" value="0" />
+ <value cell_index="36162" local_entity="0" value="0" />
+ <value cell_index="36163" local_entity="0" value="0" />
+ <value cell_index="36164" local_entity="0" value="0" />
+ <value cell_index="36165" local_entity="0" value="0" />
+ <value cell_index="36166" local_entity="0" value="0" />
+ <value cell_index="36167" local_entity="0" value="0" />
+ <value cell_index="36168" local_entity="0" value="0" />
+ <value cell_index="36169" local_entity="0" value="0" />
+ <value cell_index="36170" local_entity="0" value="0" />
+ <value cell_index="36171" local_entity="0" value="0" />
+ <value cell_index="36172" local_entity="0" value="0" />
+ <value cell_index="36173" local_entity="0" value="0" />
+ <value cell_index="36174" local_entity="0" value="0" />
+ <value cell_index="36175" local_entity="0" value="0" />
+ <value cell_index="36176" local_entity="0" value="0" />
+ <value cell_index="36177" local_entity="0" value="0" />
+ <value cell_index="36178" local_entity="0" value="0" />
+ <value cell_index="36179" local_entity="0" value="0" />
+ <value cell_index="36180" local_entity="0" value="0" />
+ <value cell_index="36181" local_entity="0" value="0" />
+ <value cell_index="36182" local_entity="0" value="0" />
+ <value cell_index="36183" local_entity="0" value="0" />
+ <value cell_index="36184" local_entity="0" value="0" />
+ <value cell_index="36185" local_entity="0" value="0" />
+ <value cell_index="36186" local_entity="0" value="0" />
+ <value cell_index="36187" local_entity="0" value="0" />
+ <value cell_index="36188" local_entity="0" value="0" />
+ <value cell_index="36189" local_entity="0" value="0" />
+ <value cell_index="36190" local_entity="0" value="0" />
+ <value cell_index="36191" local_entity="0" value="0" />
+ <value cell_index="36192" local_entity="0" value="0" />
+ <value cell_index="36193" local_entity="0" value="0" />
+ <value cell_index="36194" local_entity="0" value="0" />
+ <value cell_index="36195" local_entity="0" value="0" />
+ <value cell_index="36196" local_entity="0" value="0" />
+ <value cell_index="36197" local_entity="0" value="0" />
+ <value cell_index="36198" local_entity="0" value="0" />
+ <value cell_index="36199" local_entity="0" value="0" />
+ <value cell_index="36200" local_entity="0" value="0" />
+ <value cell_index="36201" local_entity="0" value="0" />
+ <value cell_index="36202" local_entity="0" value="0" />
+ <value cell_index="36203" local_entity="0" value="0" />
+ <value cell_index="36204" local_entity="0" value="0" />
+ <value cell_index="36205" local_entity="0" value="0" />
+ <value cell_index="36206" local_entity="0" value="0" />
+ <value cell_index="36207" local_entity="0" value="0" />
+ <value cell_index="36208" local_entity="0" value="0" />
+ <value cell_index="36209" local_entity="0" value="0" />
+ <value cell_index="36210" local_entity="0" value="0" />
+ <value cell_index="36211" local_entity="0" value="0" />
+ <value cell_index="36212" local_entity="0" value="0" />
+ <value cell_index="36213" local_entity="0" value="0" />
+ <value cell_index="36214" local_entity="0" value="0" />
+ <value cell_index="36215" local_entity="0" value="0" />
+ <value cell_index="36216" local_entity="0" value="0" />
+ <value cell_index="36217" local_entity="0" value="0" />
+ <value cell_index="36218" local_entity="0" value="0" />
+ <value cell_index="36219" local_entity="0" value="0" />
+ <value cell_index="36220" local_entity="0" value="0" />
+ <value cell_index="36221" local_entity="0" value="0" />
+ <value cell_index="36222" local_entity="0" value="0" />
+ <value cell_index="36223" local_entity="0" value="0" />
+ <value cell_index="36224" local_entity="0" value="0" />
+ <value cell_index="36225" local_entity="0" value="0" />
+ <value cell_index="36226" local_entity="0" value="0" />
+ <value cell_index="36227" local_entity="0" value="0" />
+ <value cell_index="36228" local_entity="0" value="0" />
+ <value cell_index="36229" local_entity="0" value="0" />
+ <value cell_index="36230" local_entity="0" value="0" />
+ <value cell_index="36231" local_entity="0" value="0" />
+ <value cell_index="36232" local_entity="0" value="0" />
+ <value cell_index="36233" local_entity="0" value="0" />
+ <value cell_index="36234" local_entity="0" value="0" />
+ <value cell_index="36235" local_entity="0" value="0" />
+ <value cell_index="36236" local_entity="0" value="0" />
+ <value cell_index="36237" local_entity="0" value="0" />
+ <value cell_index="36238" local_entity="0" value="0" />
+ <value cell_index="36239" local_entity="0" value="0" />
+ <value cell_index="36240" local_entity="0" value="0" />
+ <value cell_index="36241" local_entity="0" value="0" />
+ <value cell_index="36242" local_entity="0" value="0" />
+ <value cell_index="36243" local_entity="0" value="0" />
+ <value cell_index="36244" local_entity="0" value="0" />
+ <value cell_index="36245" local_entity="0" value="0" />
+ <value cell_index="36246" local_entity="0" value="0" />
+ <value cell_index="36247" local_entity="0" value="0" />
+ <value cell_index="36248" local_entity="0" value="0" />
+ <value cell_index="36249" local_entity="0" value="0" />
+ <value cell_index="36250" local_entity="0" value="0" />
+ <value cell_index="36251" local_entity="0" value="0" />
+ <value cell_index="36252" local_entity="0" value="0" />
+ <value cell_index="36253" local_entity="0" value="0" />
+ <value cell_index="36254" local_entity="0" value="0" />
+ <value cell_index="36255" local_entity="0" value="0" />
+ <value cell_index="36256" local_entity="0" value="0" />
+ <value cell_index="36257" local_entity="0" value="0" />
+ <value cell_index="36258" local_entity="0" value="0" />
+ <value cell_index="36259" local_entity="0" value="0" />
+ <value cell_index="36260" local_entity="0" value="0" />
+ <value cell_index="36261" local_entity="0" value="0" />
+ <value cell_index="36262" local_entity="0" value="0" />
+ <value cell_index="36263" local_entity="0" value="0" />
+ <value cell_index="36264" local_entity="0" value="0" />
+ <value cell_index="36265" local_entity="0" value="0" />
+ <value cell_index="36266" local_entity="0" value="0" />
+ <value cell_index="36267" local_entity="0" value="0" />
+ <value cell_index="36268" local_entity="0" value="0" />
+ <value cell_index="36269" local_entity="0" value="0" />
+ <value cell_index="36270" local_entity="0" value="0" />
+ <value cell_index="36271" local_entity="0" value="0" />
+ <value cell_index="36272" local_entity="0" value="0" />
+ <value cell_index="36273" local_entity="0" value="0" />
+ <value cell_index="36274" local_entity="0" value="0" />
+ <value cell_index="36275" local_entity="0" value="0" />
+ <value cell_index="36276" local_entity="0" value="0" />
+ <value cell_index="36277" local_entity="0" value="0" />
+ <value cell_index="36278" local_entity="0" value="0" />
+ <value cell_index="36279" local_entity="0" value="0" />
+ <value cell_index="36280" local_entity="0" value="0" />
+ <value cell_index="36281" local_entity="0" value="0" />
+ <value cell_index="36282" local_entity="0" value="0" />
+ <value cell_index="36283" local_entity="0" value="0" />
+ <value cell_index="36284" local_entity="0" value="0" />
+ <value cell_index="36285" local_entity="0" value="0" />
+ <value cell_index="36286" local_entity="0" value="0" />
+ <value cell_index="36287" local_entity="0" value="0" />
+ <value cell_index="36288" local_entity="0" value="0" />
+ <value cell_index="36289" local_entity="0" value="0" />
+ <value cell_index="36290" local_entity="0" value="0" />
+ <value cell_index="36291" local_entity="0" value="0" />
+ <value cell_index="36292" local_entity="0" value="0" />
+ <value cell_index="36293" local_entity="0" value="0" />
+ <value cell_index="36294" local_entity="0" value="0" />
+ <value cell_index="36295" local_entity="0" value="0" />
+ <value cell_index="36296" local_entity="0" value="0" />
+ <value cell_index="36297" local_entity="0" value="0" />
+ <value cell_index="36298" local_entity="0" value="0" />
+ <value cell_index="36299" local_entity="0" value="0" />
+ <value cell_index="36300" local_entity="0" value="0" />
+ <value cell_index="36301" local_entity="0" value="0" />
+ <value cell_index="36302" local_entity="0" value="0" />
+ <value cell_index="36303" local_entity="0" value="0" />
+ <value cell_index="36304" local_entity="0" value="0" />
+ <value cell_index="36305" local_entity="0" value="0" />
+ <value cell_index="36306" local_entity="0" value="0" />
+ <value cell_index="36307" local_entity="0" value="0" />
+ <value cell_index="36308" local_entity="0" value="0" />
+ <value cell_index="36309" local_entity="0" value="0" />
+ <value cell_index="36310" local_entity="0" value="0" />
+ <value cell_index="36311" local_entity="0" value="0" />
+ <value cell_index="36312" local_entity="0" value="0" />
+ <value cell_index="36313" local_entity="0" value="0" />
+ <value cell_index="36314" local_entity="0" value="0" />
+ <value cell_index="36315" local_entity="0" value="0" />
+ <value cell_index="36316" local_entity="0" value="0" />
+ <value cell_index="36317" local_entity="0" value="0" />
+ <value cell_index="36318" local_entity="0" value="0" />
+ <value cell_index="36319" local_entity="0" value="0" />
+ <value cell_index="36320" local_entity="0" value="0" />
+ <value cell_index="36321" local_entity="0" value="0" />
+ <value cell_index="36322" local_entity="0" value="0" />
+ <value cell_index="36323" local_entity="0" value="0" />
+ <value cell_index="36324" local_entity="0" value="0" />
+ <value cell_index="36325" local_entity="0" value="0" />
+ <value cell_index="36326" local_entity="0" value="0" />
+ <value cell_index="36327" local_entity="0" value="0" />
+ <value cell_index="36328" local_entity="0" value="0" />
+ <value cell_index="36329" local_entity="0" value="0" />
+ <value cell_index="36330" local_entity="0" value="0" />
+ <value cell_index="36331" local_entity="0" value="0" />
+ <value cell_index="36332" local_entity="0" value="0" />
+ <value cell_index="36333" local_entity="0" value="0" />
+ <value cell_index="36334" local_entity="0" value="0" />
+ <value cell_index="36335" local_entity="0" value="0" />
+ <value cell_index="36336" local_entity="0" value="0" />
+ <value cell_index="36337" local_entity="0" value="0" />
+ <value cell_index="36338" local_entity="0" value="0" />
+ <value cell_index="36339" local_entity="0" value="0" />
+ <value cell_index="36340" local_entity="0" value="0" />
+ <value cell_index="36341" local_entity="0" value="0" />
+ <value cell_index="36342" local_entity="0" value="0" />
+ <value cell_index="36343" local_entity="0" value="0" />
+ <value cell_index="36344" local_entity="0" value="0" />
+ <value cell_index="36345" local_entity="0" value="0" />
+ <value cell_index="36346" local_entity="0" value="0" />
+ <value cell_index="36347" local_entity="0" value="0" />
+ <value cell_index="36348" local_entity="0" value="0" />
+ <value cell_index="36349" local_entity="0" value="0" />
+ <value cell_index="36350" local_entity="0" value="0" />
+ <value cell_index="36351" local_entity="0" value="0" />
+ <value cell_index="36352" local_entity="0" value="0" />
+ <value cell_index="36353" local_entity="0" value="0" />
+ <value cell_index="36354" local_entity="0" value="0" />
+ <value cell_index="36355" local_entity="0" value="0" />
+ <value cell_index="36356" local_entity="0" value="0" />
+ <value cell_index="36357" local_entity="0" value="0" />
+ <value cell_index="36358" local_entity="0" value="0" />
+ <value cell_index="36359" local_entity="0" value="0" />
+ <value cell_index="36360" local_entity="0" value="0" />
+ <value cell_index="36361" local_entity="0" value="0" />
+ <value cell_index="36362" local_entity="0" value="0" />
+ <value cell_index="36363" local_entity="0" value="0" />
+ <value cell_index="36364" local_entity="0" value="0" />
+ <value cell_index="36365" local_entity="0" value="0" />
+ <value cell_index="36366" local_entity="0" value="0" />
+ <value cell_index="36367" local_entity="0" value="0" />
+ <value cell_index="36368" local_entity="0" value="0" />
+ <value cell_index="36369" local_entity="0" value="0" />
+ <value cell_index="36370" local_entity="0" value="0" />
+ <value cell_index="36371" local_entity="0" value="0" />
+ <value cell_index="36372" local_entity="0" value="0" />
+ <value cell_index="36373" local_entity="0" value="0" />
+ <value cell_index="36374" local_entity="0" value="0" />
+ <value cell_index="36375" local_entity="0" value="0" />
+ <value cell_index="36376" local_entity="0" value="0" />
+ <value cell_index="36377" local_entity="0" value="0" />
+ <value cell_index="36378" local_entity="0" value="0" />
+ <value cell_index="36379" local_entity="0" value="0" />
+ <value cell_index="36380" local_entity="0" value="0" />
+ <value cell_index="36381" local_entity="0" value="0" />
+ <value cell_index="36382" local_entity="0" value="0" />
+ <value cell_index="36383" local_entity="0" value="0" />
+ <value cell_index="36384" local_entity="0" value="0" />
+ <value cell_index="36385" local_entity="0" value="0" />
+ <value cell_index="36386" local_entity="0" value="0" />
+ <value cell_index="36387" local_entity="0" value="0" />
+ <value cell_index="36388" local_entity="0" value="0" />
+ <value cell_index="36389" local_entity="0" value="0" />
+ <value cell_index="36390" local_entity="0" value="0" />
+ <value cell_index="36391" local_entity="0" value="0" />
+ <value cell_index="36392" local_entity="0" value="0" />
+ <value cell_index="36393" local_entity="0" value="0" />
+ <value cell_index="36394" local_entity="0" value="0" />
+ <value cell_index="36395" local_entity="0" value="0" />
+ <value cell_index="36396" local_entity="0" value="0" />
+ <value cell_index="36397" local_entity="0" value="0" />
+ <value cell_index="36398" local_entity="0" value="0" />
+ <value cell_index="36399" local_entity="0" value="0" />
+ <value cell_index="36400" local_entity="0" value="0" />
+ <value cell_index="36401" local_entity="0" value="0" />
+ <value cell_index="36402" local_entity="0" value="0" />
+ <value cell_index="36403" local_entity="0" value="0" />
+ <value cell_index="36404" local_entity="0" value="0" />
+ <value cell_index="36405" local_entity="0" value="0" />
+ <value cell_index="36406" local_entity="0" value="0" />
+ <value cell_index="36407" local_entity="0" value="0" />
+ <value cell_index="36408" local_entity="0" value="0" />
+ <value cell_index="36409" local_entity="0" value="0" />
+ <value cell_index="36410" local_entity="0" value="0" />
+ <value cell_index="36411" local_entity="0" value="0" />
+ <value cell_index="36412" local_entity="0" value="0" />
+ <value cell_index="36413" local_entity="0" value="0" />
+ <value cell_index="36414" local_entity="0" value="0" />
+ <value cell_index="36415" local_entity="0" value="0" />
+ <value cell_index="36416" local_entity="0" value="0" />
+ <value cell_index="36417" local_entity="0" value="0" />
+ <value cell_index="36418" local_entity="0" value="0" />
+ <value cell_index="36419" local_entity="0" value="0" />
+ <value cell_index="36420" local_entity="0" value="0" />
+ <value cell_index="36421" local_entity="0" value="0" />
+ <value cell_index="36422" local_entity="0" value="0" />
+ <value cell_index="36423" local_entity="0" value="0" />
+ <value cell_index="36424" local_entity="0" value="0" />
+ <value cell_index="36425" local_entity="0" value="0" />
+ <value cell_index="36426" local_entity="0" value="0" />
+ <value cell_index="36427" local_entity="0" value="0" />
+ <value cell_index="36428" local_entity="0" value="0" />
+ <value cell_index="36429" local_entity="0" value="0" />
+ <value cell_index="36430" local_entity="0" value="0" />
+ <value cell_index="36431" local_entity="0" value="0" />
+ <value cell_index="36432" local_entity="0" value="0" />
+ <value cell_index="36433" local_entity="0" value="0" />
+ <value cell_index="36434" local_entity="0" value="0" />
+ <value cell_index="36435" local_entity="0" value="0" />
+ <value cell_index="36436" local_entity="0" value="0" />
+ <value cell_index="36437" local_entity="0" value="0" />
+ <value cell_index="36438" local_entity="0" value="0" />
+ <value cell_index="36439" local_entity="0" value="0" />
+ <value cell_index="36440" local_entity="0" value="0" />
+ <value cell_index="36441" local_entity="0" value="0" />
+ <value cell_index="36442" local_entity="0" value="0" />
+ <value cell_index="36443" local_entity="0" value="0" />
+ <value cell_index="36444" local_entity="0" value="0" />
+ <value cell_index="36445" local_entity="0" value="0" />
+ <value cell_index="36446" local_entity="0" value="0" />
+ <value cell_index="36447" local_entity="0" value="0" />
+ <value cell_index="36448" local_entity="0" value="0" />
+ <value cell_index="36449" local_entity="0" value="0" />
+ <value cell_index="36450" local_entity="0" value="0" />
+ <value cell_index="36451" local_entity="0" value="0" />
+ <value cell_index="36452" local_entity="0" value="0" />
+ <value cell_index="36453" local_entity="0" value="0" />
+ <value cell_index="36454" local_entity="0" value="0" />
+ <value cell_index="36455" local_entity="0" value="0" />
+ <value cell_index="36456" local_entity="0" value="0" />
+ <value cell_index="36457" local_entity="0" value="0" />
+ <value cell_index="36458" local_entity="0" value="0" />
+ <value cell_index="36459" local_entity="0" value="0" />
+ <value cell_index="36460" local_entity="0" value="0" />
+ <value cell_index="36461" local_entity="0" value="0" />
+ <value cell_index="36462" local_entity="0" value="0" />
+ <value cell_index="36463" local_entity="0" value="0" />
+ <value cell_index="36464" local_entity="0" value="0" />
+ <value cell_index="36465" local_entity="0" value="0" />
+ <value cell_index="36466" local_entity="0" value="0" />
+ <value cell_index="36467" local_entity="0" value="0" />
+ <value cell_index="36468" local_entity="0" value="0" />
+ <value cell_index="36469" local_entity="0" value="0" />
+ <value cell_index="36470" local_entity="0" value="0" />
+ <value cell_index="36471" local_entity="0" value="0" />
+ <value cell_index="36472" local_entity="0" value="0" />
+ <value cell_index="36473" local_entity="0" value="0" />
+ <value cell_index="36474" local_entity="0" value="0" />
+ <value cell_index="36475" local_entity="0" value="0" />
+ <value cell_index="36476" local_entity="0" value="0" />
+ <value cell_index="36477" local_entity="0" value="0" />
+ <value cell_index="36478" local_entity="0" value="0" />
+ <value cell_index="36479" local_entity="0" value="0" />
+ <value cell_index="36480" local_entity="0" value="0" />
+ <value cell_index="36481" local_entity="0" value="0" />
+ <value cell_index="36482" local_entity="0" value="0" />
+ <value cell_index="36483" local_entity="0" value="0" />
+ <value cell_index="36484" local_entity="0" value="0" />
+ <value cell_index="36485" local_entity="0" value="0" />
+ <value cell_index="36486" local_entity="0" value="0" />
+ <value cell_index="36487" local_entity="0" value="0" />
+ <value cell_index="36488" local_entity="0" value="0" />
+ <value cell_index="36489" local_entity="0" value="0" />
+ <value cell_index="36490" local_entity="0" value="0" />
+ <value cell_index="36491" local_entity="0" value="0" />
+ <value cell_index="36492" local_entity="0" value="0" />
+ <value cell_index="36493" local_entity="0" value="0" />
+ <value cell_index="36494" local_entity="0" value="0" />
+ <value cell_index="36495" local_entity="0" value="0" />
+ <value cell_index="36496" local_entity="0" value="0" />
+ <value cell_index="36497" local_entity="0" value="0" />
+ <value cell_index="36498" local_entity="0" value="0" />
+ <value cell_index="36499" local_entity="0" value="0" />
+ <value cell_index="36500" local_entity="0" value="0" />
+ <value cell_index="36501" local_entity="0" value="0" />
+ <value cell_index="36502" local_entity="0" value="0" />
+ <value cell_index="36503" local_entity="0" value="0" />
+ <value cell_index="36504" local_entity="0" value="0" />
+ <value cell_index="36505" local_entity="0" value="0" />
+ <value cell_index="36506" local_entity="0" value="0" />
+ <value cell_index="36507" local_entity="0" value="0" />
+ <value cell_index="36508" local_entity="0" value="0" />
+ <value cell_index="36509" local_entity="0" value="0" />
+ <value cell_index="36510" local_entity="0" value="0" />
+ <value cell_index="36511" local_entity="0" value="0" />
+ <value cell_index="36512" local_entity="0" value="0" />
+ <value cell_index="36513" local_entity="0" value="0" />
+ <value cell_index="36514" local_entity="0" value="0" />
+ <value cell_index="36515" local_entity="0" value="0" />
+ <value cell_index="36516" local_entity="0" value="0" />
+ <value cell_index="36517" local_entity="0" value="0" />
+ <value cell_index="36518" local_entity="0" value="0" />
+ <value cell_index="36519" local_entity="0" value="0" />
+ <value cell_index="36520" local_entity="0" value="0" />
+ <value cell_index="36521" local_entity="0" value="0" />
+ <value cell_index="36522" local_entity="0" value="0" />
+ <value cell_index="36523" local_entity="0" value="0" />
+ <value cell_index="36524" local_entity="0" value="0" />
+ <value cell_index="36525" local_entity="0" value="0" />
+ <value cell_index="36526" local_entity="0" value="0" />
+ <value cell_index="36527" local_entity="0" value="0" />
+ <value cell_index="36528" local_entity="0" value="0" />
+ <value cell_index="36529" local_entity="0" value="0" />
+ <value cell_index="36530" local_entity="0" value="0" />
+ <value cell_index="36531" local_entity="0" value="0" />
+ <value cell_index="36532" local_entity="0" value="0" />
+ <value cell_index="36533" local_entity="0" value="0" />
+ <value cell_index="36534" local_entity="0" value="0" />
+ <value cell_index="36535" local_entity="0" value="0" />
+ <value cell_index="36536" local_entity="0" value="0" />
+ <value cell_index="36537" local_entity="0" value="0" />
+ <value cell_index="36538" local_entity="0" value="0" />
+ <value cell_index="36539" local_entity="0" value="0" />
+ <value cell_index="36540" local_entity="0" value="0" />
+ <value cell_index="36541" local_entity="0" value="0" />
+ <value cell_index="36542" local_entity="0" value="0" />
+ <value cell_index="36543" local_entity="0" value="0" />
+ <value cell_index="36544" local_entity="0" value="0" />
+ <value cell_index="36545" local_entity="0" value="0" />
+ <value cell_index="36546" local_entity="0" value="0" />
+ <value cell_index="36547" local_entity="0" value="0" />
+ <value cell_index="36548" local_entity="0" value="0" />
+ <value cell_index="36549" local_entity="0" value="0" />
+ <value cell_index="36550" local_entity="0" value="0" />
+ <value cell_index="36551" local_entity="0" value="0" />
+ <value cell_index="36552" local_entity="0" value="0" />
+ <value cell_index="36553" local_entity="0" value="0" />
+ <value cell_index="36554" local_entity="0" value="0" />
+ <value cell_index="36555" local_entity="0" value="0" />
+ <value cell_index="36556" local_entity="0" value="0" />
+ <value cell_index="36557" local_entity="0" value="0" />
+ <value cell_index="36558" local_entity="0" value="0" />
+ <value cell_index="36559" local_entity="0" value="0" />
+ <value cell_index="36560" local_entity="0" value="0" />
+ <value cell_index="36561" local_entity="0" value="0" />
+ <value cell_index="36562" local_entity="0" value="0" />
+ <value cell_index="36563" local_entity="0" value="0" />
+ <value cell_index="36564" local_entity="0" value="0" />
+ <value cell_index="36565" local_entity="0" value="0" />
+ <value cell_index="36566" local_entity="0" value="0" />
+ <value cell_index="36567" local_entity="0" value="0" />
+ <value cell_index="36568" local_entity="0" value="0" />
+ <value cell_index="36569" local_entity="0" value="0" />
+ <value cell_index="36570" local_entity="0" value="0" />
+ <value cell_index="36571" local_entity="0" value="0" />
+ <value cell_index="36572" local_entity="0" value="0" />
+ <value cell_index="36573" local_entity="0" value="0" />
+ <value cell_index="36574" local_entity="0" value="0" />
+ <value cell_index="36575" local_entity="0" value="0" />
+ <value cell_index="36576" local_entity="0" value="0" />
+ <value cell_index="36577" local_entity="0" value="0" />
+ <value cell_index="36578" local_entity="0" value="0" />
+ <value cell_index="36579" local_entity="0" value="0" />
+ <value cell_index="36580" local_entity="0" value="0" />
+ <value cell_index="36581" local_entity="0" value="0" />
+ <value cell_index="36582" local_entity="0" value="0" />
+ <value cell_index="36583" local_entity="0" value="0" />
+ <value cell_index="36584" local_entity="0" value="0" />
+ <value cell_index="36585" local_entity="0" value="0" />
+ <value cell_index="36586" local_entity="0" value="0" />
+ <value cell_index="36587" local_entity="0" value="0" />
+ <value cell_index="36588" local_entity="0" value="0" />
+ <value cell_index="36589" local_entity="0" value="0" />
+ <value cell_index="36590" local_entity="0" value="0" />
+ <value cell_index="36591" local_entity="0" value="0" />
+ <value cell_index="36592" local_entity="0" value="0" />
+ <value cell_index="36593" local_entity="0" value="0" />
+ <value cell_index="36594" local_entity="0" value="0" />
+ <value cell_index="36595" local_entity="0" value="0" />
+ <value cell_index="36596" local_entity="0" value="0" />
+ <value cell_index="36597" local_entity="0" value="0" />
+ <value cell_index="36598" local_entity="0" value="0" />
+ <value cell_index="36599" local_entity="0" value="0" />
+ <value cell_index="36600" local_entity="0" value="0" />
+ <value cell_index="36601" local_entity="0" value="0" />
+ <value cell_index="36602" local_entity="0" value="0" />
+ <value cell_index="36603" local_entity="0" value="0" />
+ <value cell_index="36604" local_entity="0" value="0" />
+ <value cell_index="36605" local_entity="0" value="0" />
+ <value cell_index="36606" local_entity="0" value="0" />
+ <value cell_index="36607" local_entity="0" value="0" />
+ <value cell_index="36608" local_entity="0" value="0" />
+ <value cell_index="36609" local_entity="0" value="0" />
+ <value cell_index="36610" local_entity="0" value="0" />
+ <value cell_index="36611" local_entity="0" value="0" />
+ <value cell_index="36612" local_entity="0" value="0" />
+ <value cell_index="36613" local_entity="0" value="0" />
+ <value cell_index="36614" local_entity="0" value="0" />
+ <value cell_index="36615" local_entity="0" value="0" />
+ <value cell_index="36616" local_entity="0" value="0" />
+ <value cell_index="36617" local_entity="0" value="0" />
+ <value cell_index="36618" local_entity="0" value="0" />
+ <value cell_index="36619" local_entity="0" value="0" />
+ <value cell_index="36620" local_entity="0" value="0" />
+ <value cell_index="36621" local_entity="0" value="0" />
+ <value cell_index="36622" local_entity="0" value="0" />
+ <value cell_index="36623" local_entity="0" value="0" />
+ <value cell_index="36624" local_entity="0" value="0" />
+ <value cell_index="36625" local_entity="0" value="0" />
+ <value cell_index="36626" local_entity="0" value="0" />
+ <value cell_index="36627" local_entity="0" value="0" />
+ <value cell_index="36628" local_entity="0" value="0" />
+ <value cell_index="36629" local_entity="0" value="0" />
+ <value cell_index="36630" local_entity="0" value="0" />
+ <value cell_index="36631" local_entity="0" value="0" />
+ <value cell_index="36632" local_entity="0" value="0" />
+ <value cell_index="36633" local_entity="0" value="0" />
+ <value cell_index="36634" local_entity="0" value="0" />
+ <value cell_index="36635" local_entity="0" value="0" />
+ <value cell_index="36636" local_entity="0" value="0" />
+ <value cell_index="36637" local_entity="0" value="0" />
+ <value cell_index="36638" local_entity="0" value="0" />
+ <value cell_index="36639" local_entity="0" value="0" />
+ <value cell_index="36640" local_entity="0" value="0" />
+ <value cell_index="36641" local_entity="0" value="0" />
+ <value cell_index="36642" local_entity="0" value="0" />
+ <value cell_index="36643" local_entity="0" value="0" />
+ <value cell_index="36644" local_entity="0" value="0" />
+ <value cell_index="36645" local_entity="0" value="0" />
+ <value cell_index="36646" local_entity="0" value="0" />
+ <value cell_index="36647" local_entity="0" value="0" />
+ <value cell_index="36648" local_entity="0" value="0" />
+ <value cell_index="36649" local_entity="0" value="0" />
+ <value cell_index="36650" local_entity="0" value="0" />
+ <value cell_index="36651" local_entity="0" value="0" />
+ <value cell_index="36652" local_entity="0" value="0" />
+ <value cell_index="36653" local_entity="0" value="0" />
+ <value cell_index="36654" local_entity="0" value="0" />
+ <value cell_index="36655" local_entity="0" value="0" />
+ <value cell_index="36656" local_entity="0" value="0" />
+ <value cell_index="36657" local_entity="0" value="0" />
+ <value cell_index="36658" local_entity="0" value="0" />
+ <value cell_index="36659" local_entity="0" value="0" />
+ <value cell_index="36660" local_entity="0" value="0" />
+ <value cell_index="36661" local_entity="0" value="0" />
+ <value cell_index="36662" local_entity="0" value="0" />
+ <value cell_index="36663" local_entity="0" value="0" />
+ <value cell_index="36664" local_entity="0" value="0" />
+ <value cell_index="36665" local_entity="0" value="0" />
+ <value cell_index="36666" local_entity="0" value="0" />
+ <value cell_index="36667" local_entity="0" value="0" />
+ <value cell_index="36668" local_entity="0" value="0" />
+ <value cell_index="36669" local_entity="0" value="0" />
+ <value cell_index="36670" local_entity="0" value="0" />
+ <value cell_index="36671" local_entity="0" value="0" />
+ <value cell_index="36672" local_entity="0" value="0" />
+ <value cell_index="36673" local_entity="0" value="0" />
+ <value cell_index="36674" local_entity="0" value="0" />
+ <value cell_index="36675" local_entity="0" value="0" />
+ <value cell_index="36676" local_entity="0" value="0" />
+ <value cell_index="36677" local_entity="0" value="0" />
+ <value cell_index="36678" local_entity="0" value="0" />
+ <value cell_index="36679" local_entity="0" value="0" />
+ <value cell_index="36680" local_entity="0" value="0" />
+ <value cell_index="36681" local_entity="0" value="0" />
+ <value cell_index="36682" local_entity="0" value="0" />
+ <value cell_index="36683" local_entity="0" value="0" />
+ <value cell_index="36684" local_entity="0" value="0" />
+ <value cell_index="36685" local_entity="0" value="0" />
+ <value cell_index="36686" local_entity="0" value="0" />
+ <value cell_index="36687" local_entity="0" value="0" />
+ <value cell_index="36688" local_entity="0" value="0" />
+ <value cell_index="36689" local_entity="0" value="0" />
+ <value cell_index="36690" local_entity="0" value="0" />
+ <value cell_index="36691" local_entity="0" value="0" />
+ <value cell_index="36692" local_entity="0" value="0" />
+ <value cell_index="36693" local_entity="0" value="0" />
+ <value cell_index="36694" local_entity="0" value="0" />
+ <value cell_index="36695" local_entity="0" value="0" />
+ <value cell_index="36696" local_entity="0" value="0" />
+ <value cell_index="36697" local_entity="0" value="0" />
+ <value cell_index="36698" local_entity="0" value="0" />
+ <value cell_index="36699" local_entity="0" value="0" />
+ <value cell_index="36700" local_entity="0" value="0" />
+ <value cell_index="36701" local_entity="0" value="0" />
+ <value cell_index="36702" local_entity="0" value="0" />
+ <value cell_index="36703" local_entity="0" value="0" />
+ <value cell_index="36704" local_entity="0" value="0" />
+ <value cell_index="36705" local_entity="0" value="0" />
+ <value cell_index="36706" local_entity="0" value="0" />
+ <value cell_index="36707" local_entity="0" value="0" />
+ <value cell_index="36708" local_entity="0" value="0" />
+ <value cell_index="36709" local_entity="0" value="0" />
+ <value cell_index="36710" local_entity="0" value="0" />
+ <value cell_index="36711" local_entity="0" value="0" />
+ <value cell_index="36712" local_entity="0" value="0" />
+ <value cell_index="36713" local_entity="0" value="0" />
+ <value cell_index="36714" local_entity="0" value="0" />
+ <value cell_index="36715" local_entity="0" value="0" />
+ <value cell_index="36716" local_entity="0" value="0" />
+ <value cell_index="36717" local_entity="0" value="0" />
+ <value cell_index="36718" local_entity="0" value="0" />
+ <value cell_index="36719" local_entity="0" value="0" />
+ <value cell_index="36720" local_entity="0" value="0" />
+ <value cell_index="36721" local_entity="0" value="0" />
+ <value cell_index="36722" local_entity="0" value="0" />
+ <value cell_index="36723" local_entity="0" value="0" />
+ <value cell_index="36724" local_entity="0" value="0" />
+ <value cell_index="36725" local_entity="0" value="0" />
+ <value cell_index="36726" local_entity="0" value="0" />
+ <value cell_index="36727" local_entity="0" value="0" />
+ <value cell_index="36728" local_entity="0" value="0" />
+ <value cell_index="36729" local_entity="0" value="0" />
+ <value cell_index="36730" local_entity="0" value="0" />
+ <value cell_index="36731" local_entity="0" value="0" />
+ <value cell_index="36732" local_entity="0" value="0" />
+ <value cell_index="36733" local_entity="0" value="0" />
+ <value cell_index="36734" local_entity="0" value="0" />
+ <value cell_index="36735" local_entity="0" value="0" />
+ <value cell_index="36736" local_entity="0" value="0" />
+ <value cell_index="36737" local_entity="0" value="0" />
+ <value cell_index="36738" local_entity="0" value="0" />
+ <value cell_index="36739" local_entity="0" value="0" />
+ <value cell_index="36740" local_entity="0" value="0" />
+ <value cell_index="36741" local_entity="0" value="0" />
+ <value cell_index="36742" local_entity="0" value="0" />
+ <value cell_index="36743" local_entity="0" value="0" />
+ <value cell_index="36744" local_entity="0" value="0" />
+ <value cell_index="36745" local_entity="0" value="0" />
+ <value cell_index="36746" local_entity="0" value="0" />
+ <value cell_index="36747" local_entity="0" value="0" />
+ <value cell_index="36748" local_entity="0" value="0" />
+ <value cell_index="36749" local_entity="0" value="0" />
+ <value cell_index="36750" local_entity="0" value="0" />
+ <value cell_index="36751" local_entity="0" value="0" />
+ <value cell_index="36752" local_entity="0" value="0" />
+ <value cell_index="36753" local_entity="0" value="0" />
+ <value cell_index="36754" local_entity="0" value="0" />
+ <value cell_index="36755" local_entity="0" value="0" />
+ <value cell_index="36756" local_entity="0" value="0" />
+ <value cell_index="36757" local_entity="0" value="0" />
+ <value cell_index="36758" local_entity="0" value="0" />
+ <value cell_index="36759" local_entity="0" value="0" />
+ <value cell_index="36760" local_entity="0" value="0" />
+ <value cell_index="36761" local_entity="0" value="0" />
+ <value cell_index="36762" local_entity="0" value="0" />
+ <value cell_index="36763" local_entity="0" value="0" />
+ <value cell_index="36764" local_entity="0" value="0" />
+ <value cell_index="36765" local_entity="0" value="0" />
+ <value cell_index="36766" local_entity="0" value="0" />
+ <value cell_index="36767" local_entity="0" value="0" />
+ <value cell_index="36768" local_entity="0" value="0" />
+ <value cell_index="36769" local_entity="0" value="0" />
+ <value cell_index="36770" local_entity="0" value="0" />
+ <value cell_index="36771" local_entity="0" value="0" />
+ <value cell_index="36772" local_entity="0" value="0" />
+ <value cell_index="36773" local_entity="0" value="0" />
+ <value cell_index="36774" local_entity="0" value="0" />
+ <value cell_index="36775" local_entity="0" value="0" />
+ <value cell_index="36776" local_entity="0" value="0" />
+ <value cell_index="36777" local_entity="0" value="0" />
+ <value cell_index="36778" local_entity="0" value="0" />
+ <value cell_index="36779" local_entity="0" value="0" />
+ <value cell_index="36780" local_entity="0" value="0" />
+ <value cell_index="36781" local_entity="0" value="0" />
+ <value cell_index="36782" local_entity="0" value="0" />
+ <value cell_index="36783" local_entity="0" value="0" />
+ <value cell_index="36784" local_entity="0" value="0" />
+ <value cell_index="36785" local_entity="0" value="0" />
+ <value cell_index="36786" local_entity="0" value="0" />
+ <value cell_index="36787" local_entity="0" value="0" />
+ <value cell_index="36788" local_entity="0" value="0" />
+ <value cell_index="36789" local_entity="0" value="0" />
+ <value cell_index="36790" local_entity="0" value="0" />
+ <value cell_index="36791" local_entity="0" value="0" />
+ <value cell_index="36792" local_entity="0" value="0" />
+ <value cell_index="36793" local_entity="0" value="0" />
+ <value cell_index="36794" local_entity="0" value="0" />
+ <value cell_index="36795" local_entity="0" value="0" />
+ <value cell_index="36796" local_entity="0" value="0" />
+ <value cell_index="36797" local_entity="0" value="0" />
+ <value cell_index="36798" local_entity="0" value="0" />
+ <value cell_index="36799" local_entity="0" value="0" />
+ <value cell_index="36800" local_entity="0" value="0" />
+ <value cell_index="36801" local_entity="0" value="0" />
+ <value cell_index="36802" local_entity="0" value="0" />
+ <value cell_index="36803" local_entity="0" value="0" />
+ <value cell_index="36804" local_entity="0" value="0" />
+ <value cell_index="36805" local_entity="0" value="0" />
+ <value cell_index="36806" local_entity="0" value="0" />
+ <value cell_index="36807" local_entity="0" value="0" />
+ <value cell_index="36808" local_entity="0" value="0" />
+ <value cell_index="36809" local_entity="0" value="0" />
+ <value cell_index="36810" local_entity="0" value="0" />
+ <value cell_index="36811" local_entity="0" value="0" />
+ <value cell_index="36812" local_entity="0" value="0" />
+ <value cell_index="36813" local_entity="0" value="0" />
+ <value cell_index="36814" local_entity="0" value="0" />
+ <value cell_index="36815" local_entity="0" value="0" />
+ <value cell_index="36816" local_entity="0" value="0" />
+ <value cell_index="36817" local_entity="0" value="0" />
+ <value cell_index="36818" local_entity="0" value="0" />
+ <value cell_index="36819" local_entity="0" value="0" />
+ <value cell_index="36820" local_entity="0" value="0" />
+ <value cell_index="36821" local_entity="0" value="0" />
+ <value cell_index="36822" local_entity="0" value="0" />
+ <value cell_index="36823" local_entity="0" value="0" />
+ <value cell_index="36824" local_entity="0" value="0" />
+ <value cell_index="36825" local_entity="0" value="0" />
+ <value cell_index="36826" local_entity="0" value="0" />
+ <value cell_index="36827" local_entity="0" value="0" />
+ <value cell_index="36828" local_entity="0" value="0" />
+ <value cell_index="36829" local_entity="0" value="0" />
+ <value cell_index="36830" local_entity="0" value="0" />
+ <value cell_index="36831" local_entity="0" value="0" />
+ <value cell_index="36832" local_entity="0" value="0" />
+ <value cell_index="36833" local_entity="0" value="0" />
+ <value cell_index="36834" local_entity="0" value="0" />
+ <value cell_index="36835" local_entity="0" value="0" />
+ <value cell_index="36836" local_entity="0" value="0" />
+ <value cell_index="36837" local_entity="0" value="0" />
+ <value cell_index="36838" local_entity="0" value="0" />
+ <value cell_index="36839" local_entity="0" value="0" />
+ <value cell_index="36840" local_entity="0" value="0" />
+ <value cell_index="36841" local_entity="0" value="0" />
+ <value cell_index="36842" local_entity="0" value="0" />
+ <value cell_index="36843" local_entity="0" value="0" />
+ <value cell_index="36844" local_entity="0" value="0" />
+ <value cell_index="36845" local_entity="0" value="0" />
+ <value cell_index="36846" local_entity="0" value="0" />
+ <value cell_index="36847" local_entity="0" value="0" />
+ <value cell_index="36848" local_entity="0" value="0" />
+ <value cell_index="36849" local_entity="0" value="0" />
+ <value cell_index="36850" local_entity="0" value="0" />
+ <value cell_index="36851" local_entity="0" value="0" />
+ <value cell_index="36852" local_entity="0" value="0" />
+ <value cell_index="36853" local_entity="0" value="0" />
+ <value cell_index="36854" local_entity="0" value="0" />
+ <value cell_index="36855" local_entity="0" value="0" />
+ <value cell_index="36856" local_entity="0" value="0" />
+ <value cell_index="36857" local_entity="0" value="0" />
+ <value cell_index="36858" local_entity="0" value="0" />
+ <value cell_index="36859" local_entity="0" value="0" />
+ <value cell_index="36860" local_entity="0" value="0" />
+ <value cell_index="36861" local_entity="0" value="0" />
+ <value cell_index="36862" local_entity="0" value="0" />
+ <value cell_index="36863" local_entity="0" value="0" />
+ <value cell_index="36864" local_entity="0" value="0" />
+ <value cell_index="36865" local_entity="0" value="0" />
+ <value cell_index="36866" local_entity="0" value="0" />
+ <value cell_index="36867" local_entity="0" value="0" />
+ <value cell_index="36868" local_entity="0" value="0" />
+ <value cell_index="36869" local_entity="0" value="0" />
+ <value cell_index="36870" local_entity="0" value="0" />
+ <value cell_index="36871" local_entity="0" value="0" />
+ <value cell_index="36872" local_entity="0" value="0" />
+ <value cell_index="36873" local_entity="0" value="0" />
+ <value cell_index="36874" local_entity="0" value="0" />
+ <value cell_index="36875" local_entity="0" value="0" />
+ <value cell_index="36876" local_entity="0" value="0" />
+ <value cell_index="36877" local_entity="0" value="0" />
+ <value cell_index="36878" local_entity="0" value="0" />
+ <value cell_index="36879" local_entity="0" value="0" />
+ <value cell_index="36880" local_entity="0" value="0" />
+ <value cell_index="36881" local_entity="0" value="0" />
+ <value cell_index="36882" local_entity="0" value="0" />
+ <value cell_index="36883" local_entity="0" value="0" />
+ <value cell_index="36884" local_entity="0" value="0" />
+ <value cell_index="36885" local_entity="0" value="0" />
+ <value cell_index="36886" local_entity="0" value="0" />
+ <value cell_index="36887" local_entity="0" value="0" />
+ <value cell_index="36888" local_entity="0" value="0" />
+ <value cell_index="36889" local_entity="0" value="0" />
+ <value cell_index="36890" local_entity="0" value="0" />
+ <value cell_index="36891" local_entity="0" value="0" />
+ <value cell_index="36892" local_entity="0" value="0" />
+ <value cell_index="36893" local_entity="0" value="0" />
+ <value cell_index="36894" local_entity="0" value="0" />
+ <value cell_index="36895" local_entity="0" value="0" />
+ <value cell_index="36896" local_entity="0" value="0" />
+ <value cell_index="36897" local_entity="0" value="0" />
+ <value cell_index="36898" local_entity="0" value="0" />
+ <value cell_index="36899" local_entity="0" value="0" />
+ <value cell_index="36900" local_entity="0" value="0" />
+ <value cell_index="36901" local_entity="0" value="0" />
+ <value cell_index="36902" local_entity="0" value="0" />
+ <value cell_index="36903" local_entity="0" value="0" />
+ <value cell_index="36904" local_entity="0" value="0" />
+ <value cell_index="36905" local_entity="0" value="0" />
+ <value cell_index="36906" local_entity="0" value="0" />
+ <value cell_index="36907" local_entity="0" value="0" />
+ <value cell_index="36908" local_entity="0" value="0" />
+ <value cell_index="36909" local_entity="0" value="0" />
+ <value cell_index="36910" local_entity="0" value="0" />
+ <value cell_index="36911" local_entity="0" value="0" />
+ <value cell_index="36912" local_entity="0" value="0" />
+ <value cell_index="36913" local_entity="0" value="0" />
+ <value cell_index="36914" local_entity="0" value="0" />
+ <value cell_index="36915" local_entity="0" value="0" />
+ <value cell_index="36916" local_entity="0" value="0" />
+ <value cell_index="36917" local_entity="0" value="0" />
+ <value cell_index="36918" local_entity="0" value="0" />
+ <value cell_index="36919" local_entity="0" value="0" />
+ <value cell_index="36920" local_entity="0" value="0" />
+ <value cell_index="36921" local_entity="0" value="0" />
+ <value cell_index="36922" local_entity="0" value="0" />
+ <value cell_index="36923" local_entity="0" value="0" />
+ <value cell_index="36924" local_entity="0" value="0" />
+ <value cell_index="36925" local_entity="0" value="0" />
+ <value cell_index="36926" local_entity="0" value="0" />
+ <value cell_index="36927" local_entity="0" value="0" />
+ <value cell_index="36928" local_entity="0" value="0" />
+ <value cell_index="36929" local_entity="0" value="0" />
+ <value cell_index="36930" local_entity="0" value="0" />
+ <value cell_index="36931" local_entity="0" value="0" />
+ <value cell_index="36932" local_entity="0" value="0" />
+ <value cell_index="36933" local_entity="0" value="0" />
+ <value cell_index="36934" local_entity="0" value="0" />
+ <value cell_index="36935" local_entity="0" value="0" />
+ <value cell_index="36936" local_entity="0" value="0" />
+ <value cell_index="36937" local_entity="0" value="0" />
+ <value cell_index="36938" local_entity="0" value="0" />
+ <value cell_index="36939" local_entity="0" value="0" />
+ <value cell_index="36940" local_entity="0" value="0" />
+ <value cell_index="36941" local_entity="0" value="0" />
+ <value cell_index="36942" local_entity="0" value="0" />
+ <value cell_index="36943" local_entity="0" value="0" />
+ <value cell_index="36944" local_entity="0" value="0" />
+ <value cell_index="36945" local_entity="0" value="0" />
+ <value cell_index="36946" local_entity="0" value="0" />
+ <value cell_index="36947" local_entity="0" value="0" />
+ <value cell_index="36948" local_entity="0" value="0" />
+ <value cell_index="36949" local_entity="0" value="0" />
+ <value cell_index="36950" local_entity="0" value="0" />
+ <value cell_index="36951" local_entity="0" value="0" />
+ <value cell_index="36952" local_entity="0" value="0" />
+ <value cell_index="36953" local_entity="0" value="0" />
+ <value cell_index="36954" local_entity="0" value="0" />
+ <value cell_index="36955" local_entity="0" value="0" />
+ <value cell_index="36956" local_entity="0" value="0" />
+ <value cell_index="36957" local_entity="0" value="0" />
+ <value cell_index="36958" local_entity="0" value="0" />
+ <value cell_index="36959" local_entity="0" value="0" />
+ <value cell_index="36960" local_entity="0" value="0" />
+ <value cell_index="36961" local_entity="0" value="0" />
+ <value cell_index="36962" local_entity="0" value="0" />
+ <value cell_index="36963" local_entity="0" value="0" />
+ <value cell_index="36964" local_entity="0" value="0" />
+ <value cell_index="36965" local_entity="0" value="0" />
+ <value cell_index="36966" local_entity="0" value="0" />
+ <value cell_index="36967" local_entity="0" value="0" />
+ <value cell_index="36968" local_entity="0" value="0" />
+ <value cell_index="36969" local_entity="0" value="0" />
+ <value cell_index="36970" local_entity="0" value="0" />
+ <value cell_index="36971" local_entity="0" value="0" />
+ <value cell_index="36972" local_entity="0" value="0" />
+ <value cell_index="36973" local_entity="0" value="0" />
+ <value cell_index="36974" local_entity="0" value="0" />
+ <value cell_index="36975" local_entity="0" value="0" />
+ <value cell_index="36976" local_entity="0" value="0" />
+ <value cell_index="36977" local_entity="0" value="0" />
+ <value cell_index="36978" local_entity="0" value="0" />
+ <value cell_index="36979" local_entity="0" value="0" />
+ <value cell_index="36980" local_entity="0" value="0" />
+ <value cell_index="36981" local_entity="0" value="0" />
+ <value cell_index="36982" local_entity="0" value="0" />
+ <value cell_index="36983" local_entity="0" value="0" />
+ <value cell_index="36984" local_entity="0" value="0" />
+ <value cell_index="36985" local_entity="0" value="0" />
+ <value cell_index="36986" local_entity="0" value="0" />
+ <value cell_index="36987" local_entity="0" value="0" />
+ <value cell_index="36988" local_entity="0" value="0" />
+ <value cell_index="36989" local_entity="0" value="0" />
+ <value cell_index="36990" local_entity="0" value="0" />
+ <value cell_index="36991" local_entity="0" value="0" />
+ <value cell_index="36992" local_entity="0" value="0" />
+ <value cell_index="36993" local_entity="0" value="0" />
+ <value cell_index="36994" local_entity="0" value="0" />
+ <value cell_index="36995" local_entity="0" value="0" />
+ <value cell_index="36996" local_entity="0" value="0" />
+ <value cell_index="36997" local_entity="0" value="0" />
+ <value cell_index="36998" local_entity="0" value="0" />
+ <value cell_index="36999" local_entity="0" value="0" />
+ <value cell_index="37000" local_entity="0" value="0" />
+ <value cell_index="37001" local_entity="0" value="0" />
+ <value cell_index="37002" local_entity="0" value="0" />
+ <value cell_index="37003" local_entity="0" value="0" />
+ <value cell_index="37004" local_entity="0" value="0" />
+ <value cell_index="37005" local_entity="0" value="0" />
+ <value cell_index="37006" local_entity="0" value="0" />
+ <value cell_index="37007" local_entity="0" value="0" />
+ <value cell_index="37008" local_entity="0" value="0" />
+ <value cell_index="37009" local_entity="0" value="0" />
+ <value cell_index="37010" local_entity="0" value="0" />
+ <value cell_index="37011" local_entity="0" value="0" />
+ <value cell_index="37012" local_entity="0" value="0" />
+ <value cell_index="37013" local_entity="0" value="0" />
+ <value cell_index="37014" local_entity="0" value="0" />
+ <value cell_index="37015" local_entity="0" value="0" />
+ <value cell_index="37016" local_entity="0" value="0" />
+ <value cell_index="37017" local_entity="0" value="0" />
+ <value cell_index="37018" local_entity="0" value="0" />
+ <value cell_index="37019" local_entity="0" value="0" />
+ <value cell_index="37020" local_entity="0" value="0" />
+ <value cell_index="37021" local_entity="0" value="0" />
+ <value cell_index="37022" local_entity="0" value="0" />
+ <value cell_index="37023" local_entity="0" value="0" />
+ <value cell_index="37024" local_entity="0" value="0" />
+ <value cell_index="37025" local_entity="0" value="0" />
+ <value cell_index="37026" local_entity="0" value="0" />
+ <value cell_index="37027" local_entity="0" value="0" />
+ <value cell_index="37028" local_entity="0" value="0" />
+ <value cell_index="37029" local_entity="0" value="0" />
+ <value cell_index="37030" local_entity="0" value="0" />
+ <value cell_index="37031" local_entity="0" value="0" />
+ <value cell_index="37032" local_entity="0" value="0" />
+ <value cell_index="37033" local_entity="0" value="0" />
+ <value cell_index="37034" local_entity="0" value="0" />
+ <value cell_index="37035" local_entity="0" value="0" />
+ <value cell_index="37036" local_entity="0" value="0" />
+ <value cell_index="37037" local_entity="0" value="0" />
+ <value cell_index="37038" local_entity="0" value="0" />
+ <value cell_index="37039" local_entity="0" value="0" />
+ <value cell_index="37040" local_entity="0" value="0" />
+ <value cell_index="37041" local_entity="0" value="0" />
+ <value cell_index="37042" local_entity="0" value="0" />
+ <value cell_index="37043" local_entity="0" value="0" />
+ <value cell_index="37044" local_entity="0" value="0" />
+ <value cell_index="37045" local_entity="0" value="0" />
+ <value cell_index="37046" local_entity="0" value="0" />
+ <value cell_index="37047" local_entity="0" value="0" />
+ <value cell_index="37048" local_entity="0" value="0" />
+ <value cell_index="37049" local_entity="0" value="0" />
+ <value cell_index="37050" local_entity="0" value="0" />
+ <value cell_index="37051" local_entity="0" value="0" />
+ <value cell_index="37052" local_entity="0" value="0" />
+ <value cell_index="37053" local_entity="0" value="0" />
+ <value cell_index="37054" local_entity="0" value="0" />
+ <value cell_index="37055" local_entity="0" value="0" />
+ <value cell_index="37056" local_entity="0" value="0" />
+ <value cell_index="37057" local_entity="0" value="0" />
+ <value cell_index="37058" local_entity="0" value="0" />
+ <value cell_index="37059" local_entity="0" value="0" />
+ <value cell_index="37060" local_entity="0" value="0" />
+ <value cell_index="37061" local_entity="0" value="0" />
+ <value cell_index="37062" local_entity="0" value="0" />
+ <value cell_index="37063" local_entity="0" value="0" />
+ <value cell_index="37064" local_entity="0" value="0" />
+ <value cell_index="37065" local_entity="0" value="0" />
+ <value cell_index="37066" local_entity="0" value="0" />
+ <value cell_index="37067" local_entity="0" value="0" />
+ <value cell_index="37068" local_entity="0" value="0" />
+ <value cell_index="37069" local_entity="0" value="0" />
+ <value cell_index="37070" local_entity="0" value="0" />
+ <value cell_index="37071" local_entity="0" value="0" />
+ <value cell_index="37072" local_entity="0" value="0" />
+ <value cell_index="37073" local_entity="0" value="0" />
+ <value cell_index="37074" local_entity="0" value="0" />
+ <value cell_index="37075" local_entity="0" value="0" />
+ <value cell_index="37076" local_entity="0" value="0" />
+ <value cell_index="37077" local_entity="0" value="0" />
+ <value cell_index="37078" local_entity="0" value="0" />
+ <value cell_index="37079" local_entity="0" value="0" />
+ <value cell_index="37080" local_entity="0" value="0" />
+ <value cell_index="37081" local_entity="0" value="0" />
+ <value cell_index="37082" local_entity="0" value="0" />
+ <value cell_index="37083" local_entity="0" value="0" />
+ <value cell_index="37084" local_entity="0" value="0" />
+ <value cell_index="37085" local_entity="0" value="0" />
+ <value cell_index="37086" local_entity="0" value="0" />
+ <value cell_index="37087" local_entity="0" value="0" />
+ <value cell_index="37088" local_entity="0" value="0" />
+ <value cell_index="37089" local_entity="0" value="0" />
+ <value cell_index="37090" local_entity="0" value="0" />
+ <value cell_index="37091" local_entity="0" value="0" />
+ <value cell_index="37092" local_entity="0" value="0" />
+ <value cell_index="37093" local_entity="0" value="0" />
+ <value cell_index="37094" local_entity="0" value="0" />
+ <value cell_index="37095" local_entity="0" value="0" />
+ <value cell_index="37096" local_entity="0" value="0" />
+ <value cell_index="37097" local_entity="0" value="0" />
+ <value cell_index="37098" local_entity="0" value="0" />
+ <value cell_index="37099" local_entity="0" value="0" />
+ <value cell_index="37100" local_entity="0" value="0" />
+ <value cell_index="37101" local_entity="0" value="0" />
+ <value cell_index="37102" local_entity="0" value="0" />
+ <value cell_index="37103" local_entity="0" value="0" />
+ <value cell_index="37104" local_entity="0" value="0" />
+ <value cell_index="37105" local_entity="0" value="0" />
+ <value cell_index="37106" local_entity="0" value="0" />
+ <value cell_index="37107" local_entity="0" value="0" />
+ <value cell_index="37108" local_entity="0" value="0" />
+ <value cell_index="37109" local_entity="0" value="0" />
+ <value cell_index="37110" local_entity="0" value="0" />
+ <value cell_index="37111" local_entity="0" value="0" />
+ <value cell_index="37112" local_entity="0" value="0" />
+ <value cell_index="37113" local_entity="0" value="0" />
+ <value cell_index="37114" local_entity="0" value="0" />
+ <value cell_index="37115" local_entity="0" value="0" />
+ <value cell_index="37116" local_entity="0" value="0" />
+ <value cell_index="37117" local_entity="0" value="0" />
+ <value cell_index="37118" local_entity="0" value="0" />
+ <value cell_index="37119" local_entity="0" value="0" />
+ <value cell_index="37120" local_entity="0" value="0" />
+ <value cell_index="37121" local_entity="0" value="0" />
+ <value cell_index="37122" local_entity="0" value="0" />
+ <value cell_index="37123" local_entity="0" value="0" />
+ <value cell_index="37124" local_entity="0" value="0" />
+ <value cell_index="37125" local_entity="0" value="0" />
+ <value cell_index="37126" local_entity="0" value="0" />
+ <value cell_index="37127" local_entity="0" value="0" />
+ <value cell_index="37128" local_entity="0" value="0" />
+ <value cell_index="37129" local_entity="0" value="0" />
+ <value cell_index="37130" local_entity="0" value="0" />
+ <value cell_index="37131" local_entity="0" value="0" />
+ <value cell_index="37132" local_entity="0" value="0" />
+ <value cell_index="37133" local_entity="0" value="0" />
+ <value cell_index="37134" local_entity="0" value="0" />
+ <value cell_index="37135" local_entity="0" value="0" />
+ <value cell_index="37136" local_entity="0" value="0" />
+ <value cell_index="37137" local_entity="0" value="0" />
+ <value cell_index="37138" local_entity="0" value="0" />
+ <value cell_index="37139" local_entity="0" value="0" />
+ <value cell_index="37140" local_entity="0" value="0" />
+ <value cell_index="37141" local_entity="0" value="0" />
+ <value cell_index="37142" local_entity="0" value="0" />
+ <value cell_index="37143" local_entity="0" value="0" />
+ <value cell_index="37144" local_entity="0" value="0" />
+ <value cell_index="37145" local_entity="0" value="0" />
+ <value cell_index="37146" local_entity="0" value="0" />
+ <value cell_index="37147" local_entity="0" value="0" />
+ <value cell_index="37148" local_entity="0" value="0" />
+ <value cell_index="37149" local_entity="0" value="0" />
+ <value cell_index="37150" local_entity="0" value="0" />
+ <value cell_index="37151" local_entity="0" value="0" />
+ <value cell_index="37152" local_entity="0" value="0" />
+ <value cell_index="37153" local_entity="0" value="0" />
+ <value cell_index="37154" local_entity="0" value="0" />
+ <value cell_index="37155" local_entity="0" value="0" />
+ <value cell_index="37156" local_entity="0" value="0" />
+ <value cell_index="37157" local_entity="0" value="0" />
+ <value cell_index="37158" local_entity="0" value="0" />
+ <value cell_index="37159" local_entity="0" value="0" />
+ <value cell_index="37160" local_entity="0" value="0" />
+ <value cell_index="37161" local_entity="0" value="0" />
+ <value cell_index="37162" local_entity="0" value="0" />
+ <value cell_index="37163" local_entity="0" value="0" />
+ <value cell_index="37164" local_entity="0" value="0" />
+ <value cell_index="37165" local_entity="0" value="0" />
+ <value cell_index="37166" local_entity="0" value="0" />
+ <value cell_index="37167" local_entity="0" value="0" />
+ <value cell_index="37168" local_entity="0" value="0" />
+ <value cell_index="37169" local_entity="0" value="0" />
+ <value cell_index="37170" local_entity="0" value="0" />
+ <value cell_index="37171" local_entity="0" value="0" />
+ <value cell_index="37172" local_entity="0" value="0" />
+ <value cell_index="37173" local_entity="0" value="0" />
+ <value cell_index="37174" local_entity="0" value="0" />
+ <value cell_index="37175" local_entity="0" value="0" />
+ <value cell_index="37176" local_entity="0" value="0" />
+ <value cell_index="37177" local_entity="0" value="0" />
+ <value cell_index="37178" local_entity="0" value="0" />
+ <value cell_index="37179" local_entity="0" value="0" />
+ <value cell_index="37180" local_entity="0" value="0" />
+ <value cell_index="37181" local_entity="0" value="0" />
+ <value cell_index="37182" local_entity="0" value="0" />
+ <value cell_index="37183" local_entity="0" value="0" />
+ <value cell_index="37184" local_entity="0" value="0" />
+ <value cell_index="37185" local_entity="0" value="0" />
+ <value cell_index="37186" local_entity="0" value="0" />
+ <value cell_index="37187" local_entity="0" value="0" />
+ <value cell_index="37188" local_entity="0" value="0" />
+ <value cell_index="37189" local_entity="0" value="0" />
+ <value cell_index="37190" local_entity="0" value="0" />
+ <value cell_index="37191" local_entity="0" value="0" />
+ <value cell_index="37192" local_entity="0" value="0" />
+ <value cell_index="37193" local_entity="0" value="0" />
+ <value cell_index="37194" local_entity="0" value="0" />
+ <value cell_index="37195" local_entity="0" value="0" />
+ <value cell_index="37196" local_entity="0" value="0" />
+ <value cell_index="37197" local_entity="0" value="0" />
+ <value cell_index="37198" local_entity="0" value="0" />
+ <value cell_index="37199" local_entity="0" value="0" />
+ <value cell_index="37200" local_entity="0" value="0" />
+ <value cell_index="37201" local_entity="0" value="0" />
+ <value cell_index="37202" local_entity="0" value="0" />
+ <value cell_index="37203" local_entity="0" value="0" />
+ <value cell_index="37204" local_entity="0" value="0" />
+ <value cell_index="37205" local_entity="0" value="0" />
+ <value cell_index="37206" local_entity="0" value="0" />
+ <value cell_index="37207" local_entity="0" value="0" />
+ <value cell_index="37208" local_entity="0" value="0" />
+ <value cell_index="37209" local_entity="0" value="0" />
+ <value cell_index="37210" local_entity="0" value="0" />
+ <value cell_index="37211" local_entity="0" value="0" />
+ <value cell_index="37212" local_entity="0" value="0" />
+ <value cell_index="37213" local_entity="0" value="0" />
+ <value cell_index="37214" local_entity="0" value="0" />
+ <value cell_index="37215" local_entity="0" value="0" />
+ <value cell_index="37216" local_entity="0" value="0" />
+ <value cell_index="37217" local_entity="0" value="0" />
+ <value cell_index="37218" local_entity="0" value="0" />
+ <value cell_index="37219" local_entity="0" value="0" />
+ <value cell_index="37220" local_entity="0" value="0" />
+ <value cell_index="37221" local_entity="0" value="0" />
+ <value cell_index="37222" local_entity="0" value="0" />
+ <value cell_index="37223" local_entity="0" value="0" />
+ <value cell_index="37224" local_entity="0" value="0" />
+ <value cell_index="37225" local_entity="0" value="0" />
+ <value cell_index="37226" local_entity="0" value="0" />
+ <value cell_index="37227" local_entity="0" value="0" />
+ <value cell_index="37228" local_entity="0" value="0" />
+ <value cell_index="37229" local_entity="0" value="0" />
+ <value cell_index="37230" local_entity="0" value="0" />
+ <value cell_index="37231" local_entity="0" value="0" />
+ <value cell_index="37232" local_entity="0" value="0" />
+ <value cell_index="37233" local_entity="0" value="0" />
+ <value cell_index="37234" local_entity="0" value="0" />
+ <value cell_index="37235" local_entity="0" value="0" />
+ <value cell_index="37236" local_entity="0" value="0" />
+ <value cell_index="37237" local_entity="0" value="0" />
+ <value cell_index="37238" local_entity="0" value="0" />
+ <value cell_index="37239" local_entity="0" value="0" />
+ <value cell_index="37240" local_entity="0" value="0" />
+ <value cell_index="37241" local_entity="0" value="0" />
+ <value cell_index="37242" local_entity="0" value="0" />
+ <value cell_index="37243" local_entity="0" value="0" />
+ <value cell_index="37244" local_entity="0" value="0" />
+ <value cell_index="37245" local_entity="0" value="0" />
+ <value cell_index="37246" local_entity="0" value="0" />
+ <value cell_index="37247" local_entity="0" value="0" />
+ <value cell_index="37248" local_entity="0" value="0" />
+ <value cell_index="37249" local_entity="0" value="0" />
+ <value cell_index="37250" local_entity="0" value="0" />
+ <value cell_index="37251" local_entity="0" value="0" />
+ <value cell_index="37252" local_entity="0" value="0" />
+ <value cell_index="37253" local_entity="0" value="0" />
+ <value cell_index="37254" local_entity="0" value="0" />
+ <value cell_index="37255" local_entity="0" value="0" />
+ <value cell_index="37256" local_entity="0" value="0" />
+ <value cell_index="37257" local_entity="0" value="0" />
+ <value cell_index="37258" local_entity="0" value="0" />
+ <value cell_index="37259" local_entity="0" value="0" />
+ <value cell_index="37260" local_entity="0" value="0" />
+ <value cell_index="37261" local_entity="0" value="0" />
+ <value cell_index="37262" local_entity="0" value="0" />
+ <value cell_index="37263" local_entity="0" value="0" />
+ <value cell_index="37264" local_entity="0" value="0" />
+ <value cell_index="37265" local_entity="0" value="0" />
+ <value cell_index="37266" local_entity="0" value="0" />
+ <value cell_index="37267" local_entity="0" value="0" />
+ <value cell_index="37268" local_entity="0" value="0" />
+ <value cell_index="37269" local_entity="0" value="0" />
+ <value cell_index="37270" local_entity="0" value="0" />
+ <value cell_index="37271" local_entity="0" value="0" />
+ <value cell_index="37272" local_entity="0" value="0" />
+ <value cell_index="37273" local_entity="0" value="0" />
+ <value cell_index="37274" local_entity="0" value="0" />
+ <value cell_index="37275" local_entity="0" value="0" />
+ <value cell_index="37276" local_entity="0" value="0" />
+ <value cell_index="37277" local_entity="0" value="0" />
+ <value cell_index="37278" local_entity="0" value="0" />
+ <value cell_index="37279" local_entity="0" value="0" />
+ <value cell_index="37280" local_entity="0" value="0" />
+ <value cell_index="37281" local_entity="0" value="0" />
+ <value cell_index="37282" local_entity="0" value="0" />
+ <value cell_index="37283" local_entity="0" value="0" />
+ <value cell_index="37284" local_entity="0" value="0" />
+ <value cell_index="37285" local_entity="0" value="0" />
+ <value cell_index="37286" local_entity="0" value="0" />
+ <value cell_index="37287" local_entity="0" value="0" />
+ <value cell_index="37288" local_entity="0" value="0" />
+ <value cell_index="37289" local_entity="0" value="0" />
+ <value cell_index="37290" local_entity="0" value="0" />
+ <value cell_index="37291" local_entity="0" value="0" />
+ <value cell_index="37292" local_entity="0" value="0" />
+ <value cell_index="37293" local_entity="0" value="0" />
+ <value cell_index="37294" local_entity="0" value="0" />
+ <value cell_index="37295" local_entity="0" value="0" />
+ <value cell_index="37296" local_entity="0" value="0" />
+ <value cell_index="37297" local_entity="0" value="0" />
+ <value cell_index="37298" local_entity="0" value="0" />
+ <value cell_index="37299" local_entity="0" value="0" />
+ <value cell_index="37300" local_entity="0" value="0" />
+ <value cell_index="37301" local_entity="0" value="0" />
+ <value cell_index="37302" local_entity="0" value="0" />
+ <value cell_index="37303" local_entity="0" value="0" />
+ <value cell_index="37304" local_entity="0" value="0" />
+ <value cell_index="37305" local_entity="0" value="0" />
+ <value cell_index="37306" local_entity="0" value="0" />
+ <value cell_index="37307" local_entity="0" value="0" />
+ <value cell_index="37308" local_entity="0" value="0" />
+ <value cell_index="37309" local_entity="0" value="0" />
+ <value cell_index="37310" local_entity="0" value="0" />
+ <value cell_index="37311" local_entity="0" value="0" />
+ <value cell_index="37312" local_entity="0" value="0" />
+ <value cell_index="37313" local_entity="0" value="0" />
+ <value cell_index="37314" local_entity="0" value="0" />
+ <value cell_index="37315" local_entity="0" value="0" />
+ <value cell_index="37316" local_entity="0" value="0" />
+ <value cell_index="37317" local_entity="0" value="0" />
+ <value cell_index="37318" local_entity="0" value="0" />
+ <value cell_index="37319" local_entity="0" value="0" />
+ <value cell_index="37320" local_entity="0" value="0" />
+ <value cell_index="37321" local_entity="0" value="0" />
+ <value cell_index="37322" local_entity="0" value="0" />
+ <value cell_index="37323" local_entity="0" value="0" />
+ <value cell_index="37324" local_entity="0" value="0" />
+ <value cell_index="37325" local_entity="0" value="0" />
+ <value cell_index="37326" local_entity="0" value="0" />
+ <value cell_index="37327" local_entity="0" value="0" />
+ <value cell_index="37328" local_entity="0" value="0" />
+ <value cell_index="37329" local_entity="0" value="0" />
+ <value cell_index="37330" local_entity="0" value="0" />
+ <value cell_index="37331" local_entity="0" value="0" />
+ <value cell_index="37332" local_entity="0" value="0" />
+ <value cell_index="37333" local_entity="0" value="0" />
+ <value cell_index="37334" local_entity="0" value="0" />
+ <value cell_index="37335" local_entity="0" value="0" />
+ <value cell_index="37336" local_entity="0" value="0" />
+ <value cell_index="37337" local_entity="0" value="0" />
+ <value cell_index="37338" local_entity="0" value="0" />
+ <value cell_index="37339" local_entity="0" value="0" />
+ <value cell_index="37340" local_entity="0" value="0" />
+ <value cell_index="37341" local_entity="0" value="0" />
+ <value cell_index="37342" local_entity="0" value="0" />
+ <value cell_index="37343" local_entity="0" value="0" />
+ <value cell_index="37344" local_entity="0" value="0" />
+ <value cell_index="37345" local_entity="0" value="0" />
+ <value cell_index="37346" local_entity="0" value="0" />
+ <value cell_index="37347" local_entity="0" value="0" />
+ <value cell_index="37348" local_entity="0" value="0" />
+ <value cell_index="37349" local_entity="0" value="0" />
+ <value cell_index="37350" local_entity="0" value="0" />
+ <value cell_index="37351" local_entity="0" value="0" />
+ <value cell_index="37352" local_entity="0" value="0" />
+ <value cell_index="37353" local_entity="0" value="0" />
+ <value cell_index="37354" local_entity="0" value="0" />
+ <value cell_index="37355" local_entity="0" value="0" />
+ <value cell_index="37356" local_entity="0" value="0" />
+ <value cell_index="37357" local_entity="0" value="0" />
+ <value cell_index="37358" local_entity="0" value="0" />
+ <value cell_index="37359" local_entity="0" value="0" />
+ <value cell_index="37360" local_entity="0" value="0" />
+ <value cell_index="37361" local_entity="0" value="0" />
+ <value cell_index="37362" local_entity="0" value="0" />
+ <value cell_index="37363" local_entity="0" value="0" />
+ <value cell_index="37364" local_entity="0" value="0" />
+ <value cell_index="37365" local_entity="0" value="0" />
+ <value cell_index="37366" local_entity="0" value="0" />
+ <value cell_index="37367" local_entity="0" value="0" />
+ <value cell_index="37368" local_entity="0" value="0" />
+ <value cell_index="37369" local_entity="0" value="0" />
+ <value cell_index="37370" local_entity="0" value="0" />
+ <value cell_index="37371" local_entity="0" value="0" />
+ <value cell_index="37372" local_entity="0" value="0" />
+ <value cell_index="37373" local_entity="0" value="0" />
+ <value cell_index="37374" local_entity="0" value="0" />
+ <value cell_index="37375" local_entity="0" value="0" />
+ <value cell_index="37376" local_entity="0" value="0" />
+ <value cell_index="37377" local_entity="0" value="0" />
+ <value cell_index="37378" local_entity="0" value="0" />
+ <value cell_index="37379" local_entity="0" value="0" />
+ <value cell_index="37380" local_entity="0" value="0" />
+ <value cell_index="37381" local_entity="0" value="0" />
+ <value cell_index="37382" local_entity="0" value="0" />
+ <value cell_index="37383" local_entity="0" value="0" />
+ <value cell_index="37384" local_entity="0" value="0" />
+ <value cell_index="37385" local_entity="0" value="0" />
+ <value cell_index="37386" local_entity="0" value="0" />
+ <value cell_index="37387" local_entity="0" value="0" />
+ <value cell_index="37388" local_entity="0" value="0" />
+ <value cell_index="37389" local_entity="0" value="0" />
+ <value cell_index="37390" local_entity="0" value="0" />
+ <value cell_index="37391" local_entity="0" value="0" />
+ <value cell_index="37392" local_entity="0" value="0" />
+ <value cell_index="37393" local_entity="0" value="0" />
+ <value cell_index="37394" local_entity="0" value="0" />
+ <value cell_index="37395" local_entity="0" value="0" />
+ <value cell_index="37396" local_entity="0" value="0" />
+ <value cell_index="37397" local_entity="0" value="0" />
+ <value cell_index="37398" local_entity="0" value="0" />
+ <value cell_index="37399" local_entity="0" value="0" />
+ <value cell_index="37400" local_entity="0" value="0" />
+ <value cell_index="37401" local_entity="0" value="0" />
+ <value cell_index="37402" local_entity="0" value="0" />
+ <value cell_index="37403" local_entity="0" value="0" />
+ <value cell_index="37404" local_entity="0" value="0" />
+ <value cell_index="37405" local_entity="0" value="0" />
+ <value cell_index="37406" local_entity="0" value="0" />
+ <value cell_index="37407" local_entity="0" value="0" />
+ <value cell_index="37408" local_entity="0" value="0" />
+ <value cell_index="37409" local_entity="0" value="0" />
+ <value cell_index="37410" local_entity="0" value="0" />
+ <value cell_index="37411" local_entity="0" value="0" />
+ <value cell_index="37412" local_entity="0" value="0" />
+ <value cell_index="37413" local_entity="0" value="0" />
+ <value cell_index="37414" local_entity="0" value="0" />
+ <value cell_index="37415" local_entity="0" value="0" />
+ <value cell_index="37416" local_entity="0" value="0" />
+ <value cell_index="37417" local_entity="0" value="0" />
+ <value cell_index="37418" local_entity="0" value="0" />
+ <value cell_index="37419" local_entity="0" value="0" />
+ <value cell_index="37420" local_entity="0" value="0" />
+ <value cell_index="37421" local_entity="0" value="0" />
+ <value cell_index="37422" local_entity="0" value="0" />
+ <value cell_index="37423" local_entity="0" value="0" />
+ <value cell_index="37424" local_entity="0" value="0" />
+ <value cell_index="37425" local_entity="0" value="0" />
+ <value cell_index="37426" local_entity="0" value="0" />
+ <value cell_index="37427" local_entity="0" value="0" />
+ <value cell_index="37428" local_entity="0" value="0" />
+ <value cell_index="37429" local_entity="0" value="0" />
+ <value cell_index="37430" local_entity="0" value="0" />
+ <value cell_index="37431" local_entity="0" value="0" />
+ <value cell_index="37432" local_entity="0" value="0" />
+ <value cell_index="37433" local_entity="0" value="0" />
+ <value cell_index="37434" local_entity="0" value="0" />
+ <value cell_index="37435" local_entity="0" value="0" />
+ <value cell_index="37436" local_entity="0" value="0" />
+ <value cell_index="37437" local_entity="0" value="0" />
+ <value cell_index="37438" local_entity="0" value="0" />
+ <value cell_index="37439" local_entity="0" value="0" />
+ <value cell_index="37440" local_entity="0" value="0" />
+ <value cell_index="37441" local_entity="0" value="0" />
+ <value cell_index="37442" local_entity="0" value="0" />
+ <value cell_index="37443" local_entity="0" value="0" />
+ <value cell_index="37444" local_entity="0" value="0" />
+ <value cell_index="37445" local_entity="0" value="0" />
+ <value cell_index="37446" local_entity="0" value="0" />
+ <value cell_index="37447" local_entity="0" value="0" />
+ <value cell_index="37448" local_entity="0" value="0" />
+ <value cell_index="37449" local_entity="0" value="0" />
+ <value cell_index="37450" local_entity="0" value="0" />
+ <value cell_index="37451" local_entity="0" value="0" />
+ <value cell_index="37452" local_entity="0" value="0" />
+ <value cell_index="37453" local_entity="0" value="0" />
+ <value cell_index="37454" local_entity="0" value="0" />
+ <value cell_index="37455" local_entity="0" value="0" />
+ <value cell_index="37456" local_entity="0" value="0" />
+ <value cell_index="37457" local_entity="0" value="0" />
+ <value cell_index="37458" local_entity="0" value="0" />
+ <value cell_index="37459" local_entity="0" value="0" />
+ <value cell_index="37460" local_entity="0" value="0" />
+ <value cell_index="37461" local_entity="0" value="0" />
+ <value cell_index="37462" local_entity="0" value="0" />
+ <value cell_index="37463" local_entity="0" value="0" />
+ <value cell_index="37464" local_entity="0" value="0" />
+ <value cell_index="37465" local_entity="0" value="0" />
+ <value cell_index="37466" local_entity="0" value="0" />
+ <value cell_index="37467" local_entity="0" value="0" />
+ <value cell_index="37468" local_entity="0" value="0" />
+ <value cell_index="37469" local_entity="0" value="0" />
+ <value cell_index="37470" local_entity="0" value="0" />
+ <value cell_index="37471" local_entity="0" value="0" />
+ <value cell_index="37472" local_entity="0" value="0" />
+ <value cell_index="37473" local_entity="0" value="0" />
+ <value cell_index="37474" local_entity="0" value="0" />
+ <value cell_index="37475" local_entity="0" value="0" />
+ <value cell_index="37476" local_entity="0" value="0" />
+ <value cell_index="37477" local_entity="0" value="0" />
+ <value cell_index="37478" local_entity="0" value="0" />
+ <value cell_index="37479" local_entity="0" value="0" />
+ <value cell_index="37480" local_entity="0" value="0" />
+ <value cell_index="37481" local_entity="0" value="0" />
+ <value cell_index="37482" local_entity="0" value="0" />
+ <value cell_index="37483" local_entity="0" value="0" />
+ <value cell_index="37484" local_entity="0" value="0" />
+ <value cell_index="37485" local_entity="0" value="0" />
+ <value cell_index="37486" local_entity="0" value="0" />
+ <value cell_index="37487" local_entity="0" value="0" />
+ <value cell_index="37488" local_entity="0" value="0" />
+ <value cell_index="37489" local_entity="0" value="0" />
+ <value cell_index="37490" local_entity="0" value="0" />
+ <value cell_index="37491" local_entity="0" value="0" />
+ <value cell_index="37492" local_entity="0" value="0" />
+ <value cell_index="37493" local_entity="0" value="0" />
+ <value cell_index="37494" local_entity="0" value="0" />
+ <value cell_index="37495" local_entity="0" value="0" />
+ <value cell_index="37496" local_entity="0" value="0" />
+ <value cell_index="37497" local_entity="0" value="0" />
+ <value cell_index="37498" local_entity="0" value="0" />
+ <value cell_index="37499" local_entity="0" value="0" />
+ <value cell_index="37500" local_entity="0" value="0" />
+ <value cell_index="37501" local_entity="0" value="0" />
+ <value cell_index="37502" local_entity="0" value="0" />
+ <value cell_index="37503" local_entity="0" value="0" />
+ <value cell_index="37504" local_entity="0" value="0" />
+ <value cell_index="37505" local_entity="0" value="0" />
+ <value cell_index="37506" local_entity="0" value="0" />
+ <value cell_index="37507" local_entity="0" value="0" />
+ <value cell_index="37508" local_entity="0" value="0" />
+ <value cell_index="37509" local_entity="0" value="0" />
+ <value cell_index="37510" local_entity="0" value="0" />
+ <value cell_index="37511" local_entity="0" value="0" />
+ <value cell_index="37512" local_entity="0" value="0" />
+ <value cell_index="37513" local_entity="0" value="0" />
+ <value cell_index="37514" local_entity="0" value="0" />
+ <value cell_index="37515" local_entity="0" value="0" />
+ <value cell_index="37516" local_entity="0" value="0" />
+ <value cell_index="37517" local_entity="0" value="0" />
+ <value cell_index="37518" local_entity="0" value="0" />
+ <value cell_index="37519" local_entity="0" value="0" />
+ <value cell_index="37520" local_entity="0" value="0" />
+ <value cell_index="37521" local_entity="0" value="0" />
+ <value cell_index="37522" local_entity="0" value="0" />
+ <value cell_index="37523" local_entity="0" value="0" />
+ <value cell_index="37524" local_entity="0" value="0" />
+ <value cell_index="37525" local_entity="0" value="0" />
+ <value cell_index="37526" local_entity="0" value="0" />
+ <value cell_index="37527" local_entity="0" value="0" />
+ <value cell_index="37528" local_entity="0" value="0" />
+ <value cell_index="37529" local_entity="0" value="0" />
+ <value cell_index="37530" local_entity="0" value="0" />
+ <value cell_index="37531" local_entity="0" value="0" />
+ <value cell_index="37532" local_entity="0" value="0" />
+ <value cell_index="37533" local_entity="0" value="0" />
+ <value cell_index="37534" local_entity="0" value="0" />
+ <value cell_index="37535" local_entity="0" value="0" />
+ <value cell_index="37536" local_entity="0" value="0" />
+ <value cell_index="37537" local_entity="0" value="0" />
+ <value cell_index="37538" local_entity="0" value="0" />
+ <value cell_index="37539" local_entity="0" value="0" />
+ <value cell_index="37540" local_entity="0" value="0" />
+ <value cell_index="37541" local_entity="0" value="0" />
+ <value cell_index="37542" local_entity="0" value="0" />
+ <value cell_index="37543" local_entity="0" value="0" />
+ <value cell_index="37544" local_entity="0" value="0" />
+ <value cell_index="37545" local_entity="0" value="0" />
+ <value cell_index="37546" local_entity="0" value="0" />
+ <value cell_index="37547" local_entity="0" value="0" />
+ </mesh_value_collection>
+ </domains>
+ </mesh>
+</dolfin>
diff --git a/test/data/aneurysm.xml.gz b/test/data/aneurysm.xml.gz
deleted file mode 100644
index 7660eb8..0000000
Binary files a/test/data/aneurysm.xml.gz and /dev/null differ
diff --git a/test/data/boxes.xml b/test/data/boxes.xml
new file mode 100644
index 0000000..1adf033
--- /dev/null
+++ b/test/data/boxes.xml
@@ -0,0 +1,2473 @@
+<?xml version="1.0"?>
+<dolfin xmlns:dolfin="http://fenicsproject.org">
+ <mesh celltype="tetrahedron" dim="3">
+ <vertices size="236">
+ <vertex index="0" x="200.000000" y="200.000000" z="-200.000000" />
+ <vertex index="1" x="200.000000" y="-200.000000" z="-200.000000" />
+ <vertex index="2" x="-200.000031" y="-199.999969" z="-200.000000" />
+ <vertex index="3" x="-199.999939" y="200.000061" z="-200.000000" />
+ <vertex index="4" x="200.000092" y="199.999908" z="200.000000" />
+ <vertex index="5" x="199.999863" y="-200.000137" z="200.000000" />
+ <vertex index="6" x="-200.000076" y="-199.999924" z="200.000000" />
+ <vertex index="7" x="-200.000000" y="200.000000" z="200.000000" />
+ <vertex index="8" x="-0.000019" y="-199.999985" z="-200.000000" />
+ <vertex index="9" x="200.000000" y="0.000000" z="-200.000000" />
+ <vertex index="10" x="0.000038" y="200.000031" z="-200.000000" />
+ <vertex index="11" x="-200.000000" y="0.000038" z="-200.000000" />
+ <vertex index="12" x="199.999985" y="-0.000114" z="200.000000" />
+ <vertex index="13" x="-0.000095" y="-200.000031" z="200.000000" />
+ <vertex index="14" x="-200.000031" y="0.000038" z="200.000000" />
+ <vertex index="15" x="0.000057" y="199.999969" z="200.000000" />
+ <vertex index="16" x="199.999924" y="-200.000076" z="0.000000" />
+ <vertex index="17" x="200.000031" y="199.999969" z="0.000000" />
+ <vertex index="18" x="-200.000061" y="-199.999939" z="0.000000" />
+ <vertex index="19" x="-199.999969" y="200.000031" z="0.000000" />
+ <vertex index="20" x="0.000000" y="200.000000" z="0.000000" />
+ <vertex index="21" x="-200.000015" y="0.000019" z="0.000000" />
+ <vertex index="22" x="-0.000076" y="-200.000031" z="0.000000" />
+ <vertex index="23" x="200.000031" y="-0.000038" z="0.000000" />
+ <vertex index="24" x="0.000019" y="-0.000019" z="200.000000" />
+ <vertex index="25" x="-0.000019" y="0.000019" z="-200.000000" />
+ <vertex index="26" x="99.999992" y="-200.000000" z="-200.000000" />
+ <vertex index="27" x="-100.000031" y="-199.999969" z="-200.000000" />
+ <vertex index="28" x="200.000000" y="100.000000" z="-200.000000" />
+ <vertex index="29" x="200.000000" y="-100.000000" z="-200.000000" />
+ <vertex index="30" x="100.000015" y="200.000015" z="-200.000000" />
+ <vertex index="31" x="-99.999954" y="200.000031" z="-200.000000" />
+ <vertex index="32" x="-200.000015" y="-99.999962" z="-200.000000" />
+ <vertex index="33" x="-199.999969" y="100.000046" z="-200.000000" />
+ <vertex index="34" x="200.000031" y="99.999893" z="200.000000" />
+ <vertex index="35" x="199.999924" y="-100.000122" z="200.000000" />
+ <vertex index="36" x="99.999886" y="-200.000076" z="200.000000" />
+ <vertex index="37" x="-100.000084" y="-199.999985" z="200.000000" />
+ <vertex index="38" x="-200.000061" y="-99.999939" z="200.000000" />
+ <vertex index="39" x="-200.000015" y="100.000015" z="200.000000" />
+ <vertex index="40" x="100.000076" y="199.999924" z="200.000000" />
+ <vertex index="41" x="-99.999969" y="199.999985" z="200.000000" />
+ <vertex index="42" x="199.999969" y="-200.000031" z="-100.000000" />
+ <vertex index="43" x="199.999878" y="-200.000122" z="100.000000" />
+ <vertex index="44" x="200.000015" y="199.999985" z="-100.000000" />
+ <vertex index="45" x="200.000076" y="199.999924" z="100.000000" />
+ <vertex index="46" x="-200.000031" y="-199.999969" z="-100.000000" />
+ <vertex index="47" x="-200.000076" y="-199.999924" z="100.000000" />
+ <vertex index="48" x="-199.999969" y="200.000031" z="-100.000000" />
+ <vertex index="49" x="-199.999985" y="200.000015" z="100.000000" />
+ <vertex index="50" x="100.000000" y="200.000000" z="-100.000000" />
+ <vertex index="51" x="-100.000000" y="200.000000" z="100.000000" />
+ <vertex index="52" x="-200.000031" y="-99.999969" z="-100.000000" />
+ <vertex index="53" x="-200.000000" y="100.000008" z="100.000000" />
+ <vertex index="54" x="-100.000061" y="-200.000000" z="-100.000000" />
+ <vertex index="55" x="99.999893" y="-200.000076" z="100.000000" />
+ <vertex index="56" x="200.000015" y="-100.000015" z="-100.000000" />
+ <vertex index="57" x="200.000076" y="99.999931" z="100.000000" />
+ <vertex index="58" x="100.000061" y="99.999939" z="200.000000" />
+ <vertex index="59" x="-100.000031" y="-99.999969" z="200.000000" />
+ <vertex index="60" x="99.999992" y="100.000008" z="-200.000000" />
+ <vertex index="61" x="-100.000031" y="-99.999969" z="-200.000000" />
+ <vertex index="62" x="100.000046" y="199.999969" z="100.000000" />
+ <vertex index="63" x="100.000015" y="199.999985" z="0.000000" />
+ <vertex index="64" x="0.000029" y="199.999985" z="100.000000" />
+ <vertex index="65" x="0.000019" y="200.000015" z="-100.000000" />
+ <vertex index="66" x="-99.999962" y="200.000031" z="-100.000000" />
+ <vertex index="67" x="-99.999985" y="200.000015" z="0.000000" />
+ <vertex index="68" x="-200.000031" y="-99.999962" z="0.000000" />
+ <vertex index="69" x="-200.000031" y="-99.999954" z="100.000000" />
+ <vertex index="70" x="-200.000031" y="0.000029" z="100.000000" />
+ <vertex index="71" x="-200.000000" y="0.000029" z="-100.000000" />
+ <vertex index="72" x="-200.000000" y="100.000031" z="0.000000" />
+ <vertex index="73" x="-199.999985" y="100.000038" z="-100.000000" />
+ <vertex index="74" x="99.999954" y="-200.000031" z="-100.000000" />
+ <vertex index="75" x="99.999924" y="-200.000061" z="0.000000" />
+ <vertex index="76" x="-0.000048" y="-200.000000" z="-100.000000" />
+ <vertex index="77" x="-0.000086" y="-200.000031" z="100.000000" />
+ <vertex index="78" x="-100.000076" y="-200.000000" z="100.000000" />
+ <vertex index="79" x="-100.000069" y="-200.000000" z="0.000000" />
+ <vertex index="80" x="200.000015" y="99.999985" z="-100.000000" />
+ <vertex index="81" x="200.000031" y="99.999962" z="0.000000" />
+ <vertex index="82" x="200.000015" y="-0.000019" z="-100.000000" />
+ <vertex index="83" x="200.000000" y="-0.000076" z="100.000000" />
+ <vertex index="84" x="199.999969" y="-100.000092" z="100.000000" />
+ <vertex index="85" x="199.999985" y="-100.000061" z="0.000000" />
+ <vertex index="86" x="0.000038" y="99.999969" z="200.000000" />
+ <vertex index="87" x="-99.999992" y="100.000000" z="200.000000" />
+ <vertex index="88" x="-100.000008" y="0.000010" z="200.000000" />
+ <vertex index="89" x="100.000000" y="-0.000067" z="200.000000" />
+ <vertex index="90" x="-0.000038" y="-100.000031" z="200.000000" />
+ <vertex index="91" x="99.999939" y="-100.000076" z="200.000000" />
+ <vertex index="92" x="99.999992" y="0.000010" z="-200.000000" />
+ <vertex index="93" x="99.999992" y="-99.999992" z="-200.000000" />
+ <vertex index="94" x="-0.000019" y="-99.999985" z="-200.000000" />
+ <vertex index="95" x="0.000010" y="100.000031" z="-200.000000" />
+ <vertex index="96" x="-100.000008" y="0.000029" z="-200.000000" />
+ <vertex index="97" x="-99.999985" y="100.000038" z="-200.000000" />
+ <vertex index="98" x="100.000000" y="100.000000" z="-100.000000" />
+ <vertex index="99" x="100.000000" y="-100.000000" z="-100.000000" />
+ <vertex index="100" x="-100.000015" y="-99.999985" z="-100.000000" />
+ <vertex index="101" x="-99.999969" y="100.000031" z="-100.000000" />
+ <vertex index="102" x="100.000046" y="99.999954" z="100.000000" />
+ <vertex index="103" x="99.999931" y="-100.000069" z="100.000000" />
+ <vertex index="104" x="-100.000038" y="-99.999962" z="100.000000" />
+ <vertex index="105" x="-100.000000" y="100.000000" z="100.000000" />
+ <vertex index="106" x="-0.000010" y="-99.999992" z="-100.000000" />
+ <vertex index="107" x="100.000000" y="0.000000" z="-100.000000" />
+ <vertex index="108" x="0.000019" y="100.000015" z="-100.000000" />
+ <vertex index="109" x="-100.000000" y="0.000019" z="-100.000000" />
+ <vertex index="110" x="99.999992" y="-0.000057" z="100.000000" />
+ <vertex index="111" x="-0.000048" y="-100.000015" z="100.000000" />
+ <vertex index="112" x="-100.000015" y="0.000019" z="100.000000" />
+ <vertex index="113" x="0.000029" y="99.999985" z="100.000000" />
+ <vertex index="114" x="99.999962" y="-100.000038" z="0.000000" />
+ <vertex index="115" x="100.000015" y="99.999985" z="0.000000" />
+ <vertex index="116" x="-100.000031" y="-99.999969" z="0.000000" />
+ <vertex index="117" x="-99.999985" y="100.000015" z="0.000000" />
+ <vertex index="118" x="0.000000" y="100.000000" z="0.000000" />
+ <vertex index="119" x="-100.000008" y="0.000010" z="0.000000" />
+ <vertex index="120" x="-0.000038" y="-100.000015" z="0.000000" />
+ <vertex index="121" x="100.000015" y="-0.000019" z="0.000000" />
+ <vertex index="122" x="0.000010" y="-0.000010" z="100.000000" />
+ <vertex index="123" x="-0.000010" y="0.000010" z="-100.000000" />
+ <vertex index="124" x="49.999996" y="-100.000000" z="-100.000000" />
+ <vertex index="125" x="-50.000015" y="-99.999985" z="-100.000000" />
+ <vertex index="126" x="100.000000" y="50.000000" z="-100.000000" />
+ <vertex index="127" x="100.000000" y="-50.000000" z="-100.000000" />
+ <vertex index="128" x="50.000008" y="100.000008" z="-100.000000" />
+ <vertex index="129" x="-49.999977" y="100.000015" z="-100.000000" />
+ <vertex index="130" x="-100.000008" y="-49.999981" z="-100.000000" />
+ <vertex index="131" x="-99.999985" y="50.000023" z="-100.000000" />
+ <vertex index="132" x="100.000015" y="49.999947" z="100.000000" />
+ <vertex index="133" x="99.999962" y="-50.000061" z="100.000000" />
+ <vertex index="134" x="49.999943" y="-100.000038" z="100.000000" />
+ <vertex index="135" x="-50.000042" y="-99.999992" z="100.000000" />
+ <vertex index="136" x="-100.000031" y="-49.999969" z="100.000000" />
+ <vertex index="137" x="-100.000008" y="50.000008" z="100.000000" />
+ <vertex index="138" x="50.000038" y="99.999962" z="100.000000" />
+ <vertex index="139" x="-49.999985" y="99.999992" z="100.000000" />
+ <vertex index="140" x="99.999985" y="-100.000015" z="-50.000000" />
+ <vertex index="141" x="99.999939" y="-100.000061" z="50.000000" />
+ <vertex index="142" x="100.000008" y="99.999992" z="-50.000000" />
+ <vertex index="143" x="100.000038" y="99.999962" z="50.000000" />
+ <vertex index="144" x="-100.000015" y="-99.999985" z="-50.000000" />
+ <vertex index="145" x="-100.000038" y="-99.999962" z="50.000000" />
+ <vertex index="146" x="-99.999985" y="100.000015" z="-50.000000" />
+ <vertex index="147" x="-99.999992" y="100.000008" z="50.000000" />
+ <vertex index="148" x="50.000000" y="100.000000" z="-50.000000" />
+ <vertex index="149" x="-50.000000" y="100.000000" z="50.000000" />
+ <vertex index="150" x="-100.000015" y="-49.999985" z="-50.000000" />
+ <vertex index="151" x="-100.000000" y="50.000004" z="50.000000" />
+ <vertex index="152" x="-50.000031" y="-100.000000" z="-50.000000" />
+ <vertex index="153" x="49.999947" y="-100.000038" z="50.000000" />
+ <vertex index="154" x="100.000008" y="-50.000008" z="-50.000000" />
+ <vertex index="155" x="100.000038" y="49.999966" z="50.000000" />
+ <vertex index="156" x="50.000031" y="49.999969" z="100.000000" />
+ <vertex index="157" x="-50.000015" y="-49.999985" z="100.000000" />
+ <vertex index="158" x="49.999996" y="50.000004" z="-100.000000" />
+ <vertex index="159" x="-50.000015" y="-49.999985" z="-100.000000" />
+ <vertex index="160" x="50.000023" y="99.999985" z="50.000000" />
+ <vertex index="161" x="50.000008" y="99.999992" z="0.000000" />
+ <vertex index="162" x="0.000014" y="99.999992" z="50.000000" />
+ <vertex index="163" x="0.000010" y="100.000008" z="-50.000000" />
+ <vertex index="164" x="-49.999981" y="100.000015" z="-50.000000" />
+ <vertex index="165" x="-49.999992" y="100.000008" z="0.000000" />
+ <vertex index="166" x="-100.000015" y="-49.999981" z="0.000000" />
+ <vertex index="167" x="-100.000015" y="-49.999977" z="50.000000" />
+ <vertex index="168" x="-100.000015" y="0.000014" z="50.000000" />
+ <vertex index="169" x="-100.000000" y="0.000014" z="-50.000000" />
+ <vertex index="170" x="-100.000000" y="50.000015" z="0.000000" />
+ <vertex index="171" x="-99.999992" y="50.000019" z="-50.000000" />
+ <vertex index="172" x="49.999977" y="-100.000015" z="-50.000000" />
+ <vertex index="173" x="49.999962" y="-100.000031" z="0.000000" />
+ <vertex index="174" x="-0.000024" y="-100.000000" z="-50.000000" />
+ <vertex index="175" x="-0.000043" y="-100.000015" z="50.000000" />
+ <vertex index="176" x="-50.000038" y="-100.000000" z="50.000000" />
+ <vertex index="177" x="-50.000034" y="-100.000000" z="0.000000" />
+ <vertex index="178" x="100.000008" y="49.999992" z="-50.000000" />
+ <vertex index="179" x="100.000015" y="49.999981" z="0.000000" />
+ <vertex index="180" x="100.000008" y="-0.000010" z="-50.000000" />
+ <vertex index="181" x="100.000000" y="-0.000038" z="50.000000" />
+ <vertex index="182" x="99.999985" y="-50.000046" z="50.000000" />
+ <vertex index="183" x="99.999992" y="-50.000031" z="0.000000" />
+ <vertex index="184" x="0.000019" y="49.999985" z="100.000000" />
+ <vertex index="185" x="-49.999996" y="50.000000" z="100.000000" />
+ <vertex index="186" x="-50.000004" y="0.000005" z="100.000000" />
+ <vertex index="187" x="50.000000" y="-0.000033" z="100.000000" />
+ <vertex index="188" x="-0.000019" y="-50.000015" z="100.000000" />
+ <vertex index="189" x="49.999969" y="-50.000038" z="100.000000" />
+ <vertex index="190" x="49.999996" y="0.000005" z="-100.000000" />
+ <vertex index="191" x="49.999996" y="-49.999996" z="-100.000000" />
+ <vertex index="192" x="-0.000010" y="-49.999992" z="-100.000000" />
+ <vertex index="193" x="0.000005" y="50.000015" z="-100.000000" />
+ <vertex index="194" x="-50.000004" y="0.000014" z="-100.000000" />
+ <vertex index="195" x="-49.999992" y="50.000019" z="-100.000000" />
+ <vertex index="196" x="-100.000023" y="-74.999969" z="25.000000" />
+ <vertex index="197" x="-149.999969" y="200.000031" z="-150.000000" />
+ <vertex index="198" x="-100.000015" y="-74.999985" z="-25.000000" />
+ <vertex index="199" x="-200.000031" y="-149.999969" z="-50.000000" />
+ <vertex index="200" x="-200.000031" y="-49.999958" z="150.000000" />
+ <vertex index="201" x="-74.999985" y="100.000015" z="-75.000000" />
+ <vertex index="202" x="-200.000046" y="-149.999939" z="50.000000" />
+ <vertex index="203" x="-200.000031" y="-49.999966" z="50.000000" />
+ <vertex index="204" x="-200.000061" y="-149.999939" z="150.000000" />
+ <vertex index="205" x="25.000017" y="24.999983" z="25.000015" />
+ <vertex index="206" x="-25.000017" y="-25.000008" z="-25.000002" />
+ <vertex index="207" x="-50.000004" y="-49.999989" z="25.000000" />
+ <vertex index="208" x="200.000015" y="49.999985" z="-149.999985" />
+ <vertex index="209" x="200.000000" y="50.000000" z="-200.000000" />
+ <vertex index="210" x="49.999989" y="-49.999992" z="-200.000000" />
+ <vertex index="211" x="50.000034" y="49.999966" z="200.000000" />
+ <vertex index="212" x="50.000008" y="200.000000" z="-49.999992" />
+ <vertex index="213" x="49.999973" y="-50.000053" z="200.000000" />
+ <vertex index="214" x="49.999992" y="50.000008" z="-200.000000" />
+ <vertex index="215" x="-49.999981" y="49.999985" z="200.000000" />
+ <vertex index="216" x="200.000015" y="49.999985" z="-99.999992" />
+ <vertex index="217" x="50.000008" y="199.999985" z="0.000015" />
+ <vertex index="218" x="-50.000004" y="-49.999996" z="200.000000" />
+ <vertex index="219" x="-49.999985" y="200.000000" z="50.000015" />
+ <vertex index="220" x="-50.000019" y="-49.999985" z="-200.000000" />
+ <vertex index="221" x="-49.999992" y="200.000000" z="0.000022" />
+ <vertex index="222" x="-25.000019" y="200.000015" z="-50.000004" />
+ <vertex index="223" x="-49.999981" y="153.125000" z="-75.000000" />
+ <vertex index="224" x="-50.000008" y="50.000023" z="-200.000000" />
+ <vertex index="225" x="-50.000015" y="0.000011" z="-200.000000" />
+ <vertex index="226" x="24.999996" y="25.000004" z="-42.499992" />
+ <vertex index="227" x="-42.499992" y="25.000004" z="24.999994" />
+ <vertex index="228" x="24.999979" y="-42.500019" z="25.000002" />
+ <vertex index="229" x="137.500000" y="50.000008" z="-200.000000" />
+ <vertex index="230" x="0.000014" y="200.000000" z="50.000000" />
+ <vertex index="231" x="64.583328" y="-25.000008" z="-25.000000" />
+ <vertex index="232" x="-149.999985" y="200.000000" z="200.000000" />
+ <vertex index="233" x="70.000000" y="150.000000" z="-24.999996" />
+ <vertex index="234" x="-40.000004" y="150.000000" z="25.000010" />
+ <vertex index="235" x="-50.000011" y="25.000017" z="-150.000000" />
+ </vertices>
+ <cells size="960">
+ <tetrahedron index="0" v0="24" v1="122" v2="187" v3="189" />
+ <tetrahedron index="1" v0="62" v1="63" v2="160" v3="217" />
+ <tetrahedron index="2" v0="104" v1="135" v2="145" v3="157" />
+ <tetrahedron index="3" v0="25" v1="94" v2="192" v3="210" />
+ <tetrahedron index="4" v0="21" v1="119" v2="150" v3="166" />
+ <tetrahedron index="5" v0="31" v1="97" v2="101" v3="197" />
+ <tetrahedron index="6" v0="24" v1="89" v2="189" v3="213" />
+ <tetrahedron index="7" v0="99" v1="124" v2="140" v3="154" />
+ <tetrahedron index="8" v0="9" v1="29" v2="82" v3="127" />
+ <tetrahedron index="9" v0="93" v1="94" v2="124" v3="210" />
+ <tetrahedron index="10" v0="57" v1="81" v2="143" v3="155" />
+ <tetrahedron index="11" v0="56" v1="85" v2="140" v3="154" />
+ <tetrahedron index="12" v0="56" v1="99" v2="127" v3="154" />
+ <tetrahedron index="13" v0="99" v1="124" v2="127" v3="154" />
+ <tetrahedron index="14" v0="121" v1="181" v2="183" v3="228" />
+ <tetrahedron index="15" v0="10" v1="95" v2="108" v3="129" />
+ <tetrahedron index="16" v0="68" v1="79" v2="144" v3="199" />
+ <tetrahedron index="17" v0="122" v1="187" v2="189" v3="228" />
+ <tetrahedron index="18" v0="57" v1="102" v2="132" v3="155" />
+ <tetrahedron index="19" v0="74" v1="124" v2="140" v3="172" />
+ <tetrahedron index="20" v0="132" v1="138" v2="156" v3="211" />
+ <tetrahedron index="21" v0="1" v1="29" v2="56" v3="99" />
+ <tetrahedron index="22" v0="1" v1="26" v2="29" v3="99" />
+ <tetrahedron index="23" v0="120" v1="152" v2="177" v3="206" />
+ <tetrahedron index="24" v0="123" v1="193" v2="195" v3="226" />
+ <tetrahedron index="25" v0="75" v1="114" v2="141" v3="173" />
+ <tetrahedron index="26" v0="109" v1="169" v2="171" v3="194" />
+ <tetrahedron index="27" v0="115" v1="161" v2="178" v3="179" />
+ <tetrahedron index="28" v0="23" v1="82" v2="154" v3="180" />
+ <tetrahedron index="29" v0="55" v1="75" v2="141" v3="153" />
+ <tetrahedron index="30" v0="98" v1="126" v2="208" v3="216" />
+ <tetrahedron index="31" v0="86" v1="138" v2="184" v3="211" />
+ <tetrahedron index="32" v0="9" v1="92" v2="93" v3="127" />
+ <tetrahedron index="33" v0="95" v1="158" v2="193" v3="214" />
+ <tetrahedron index="34" v0="107" v1="127" v2="191" v3="210" />
+ <tetrahedron index="35" v0="80" v1="98" v2="142" v3="216" />
+ <tetrahedron index="36" v0="23" v1="181" v2="182" v3="183" />
+ <tetrahedron index="37" v0="95" v1="97" v2="224" v3="235" />
+ <tetrahedron index="38" v0="74" v1="75" v2="140" v3="172" />
+ <tetrahedron index="39" v0="1" v1="26" v2="42" v3="99" />
+ <tetrahedron index="40" v0="59" v1="69" v2="136" v3="200" />
+ <tetrahedron index="41" v0="70" v1="88" v2="112" v3="136" />
+ <tetrahedron index="42" v0="38" v1="59" v2="69" v3="204" />
+ <tetrahedron index="43" v0="34" v1="40" v2="58" v3="102" />
+ <tetrahedron index="44" v0="24" v1="184" v2="187" v3="211" />
+ <tetrahedron index="45" v0="53" v1="105" v2="147" v3="151" />
+ <tetrahedron index="46" v0="40" v1="62" v2="102" v3="138" />
+ <tetrahedron index="47" v0="117" v1="164" v2="223" v3="234" />
+ <tetrahedron index="48" v0="8" v1="93" v2="94" v3="124" />
+ <tetrahedron index="49" v0="167" v1="176" v2="196" v3="207" />
+ <tetrahedron index="50" v0="122" v1="157" v2="188" v3="207" />
+ <tetrahedron index="51" v0="153" v1="188" v2="189" v3="228" />
+ <tetrahedron index="52" v0="107" v1="126" v2="178" v3="216" />
+ <tetrahedron index="53" v0="156" v1="184" v2="187" v3="205" />
+ <tetrahedron index="54" v0="28" v1="60" v2="98" v3="229" />
+ <tetrahedron index="55" v0="111" v1="157" v2="175" v3="176" />
+ <tetrahedron index="56" v0="57" v1="83" v2="132" v3="155" />
+ <tetrahedron index="57" v0="67" v1="222" v2="223" v3="234" />
+ <tetrahedron index="58" v0="21" v1="52" v2="71" v3="150" />
+ <tetrahedron index="59" v0="47" v1="69" v2="104" v3="204" />
+ <tetrahedron index="60" v0="145" v1="157" v2="167" v3="176" />
+ <tetrahedron index="61" v0="181" v1="187" v2="205" v3="228" />
+ <tetrahedron index="62" v0="1" v1="42" v2="56" v3="99" />
+ <tetrahedron index="63" v0="155" v1="156" v2="160" v3="205" />
+ <tetrahedron index="64" v0="12" v1="34" v2="58" v3="132" />
+ <tetrahedron index="65" v0="132" v1="138" v2="155" v3="156" />
+ <tetrahedron index="66" v0="157" v1="167" v2="176" v3="207" />
+ <tetrahedron index="67" v0="181" v1="182" v2="187" v3="228" />
+ <tetrahedron index="68" v0="45" v1="57" v2="81" v3="143" />
+ <tetrahedron index="69" v0="10" v1="65" v2="108" v3="128" />
+ <tetrahedron index="70" v0="10" v1="95" v2="108" v3="128" />
+ <tetrahedron index="71" v0="59" v1="88" v2="136" v3="218" />
+ <tetrahedron index="72" v0="12" v1="83" v2="110" v3="133" />
+ <tetrahedron index="73" v0="90" v1="111" v2="134" v3="213" />
+ <tetrahedron index="74" v0="16" v1="42" v2="85" v3="140" />
+ <tetrahedron index="75" v0="142" v1="148" v2="161" v3="178" />
+ <tetrahedron index="76" v0="96" v1="130" v2="220" v3="235" />
+ <tetrahedron index="77" v0="40" v1="58" v2="102" v3="138" />
+ <tetrahedron index="78" v0="16" v1="42" v2="74" v3="140" />
+ <tetrahedron index="79" v0="26" v1="42" v2="74" v3="99" />
+ <tetrahedron index="80" v0="91" v1="103" v2="134" v3="213" />
+ <tetrahedron index="81" v0="24" v1="188" v2="189" v3="213" />
+ <tetrahedron index="82" v0="12" v1="83" v2="110" v3="132" />
+ <tetrahedron index="83" v0="34" v1="58" v2="102" v3="132" />
+ <tetrahedron index="84" v0="17" v1="62" v2="63" v3="143" />
+ <tetrahedron index="85" v0="95" v1="108" v2="128" v3="158" />
+ <tetrahedron index="86" v0="120" v1="177" v2="206" v3="207" />
+ <tetrahedron index="87" v0="113" v1="139" v2="162" v3="230" />
+ <tetrahedron index="88" v0="89" v1="110" v2="133" v3="187" />
+ <tetrahedron index="89" v0="12" v1="35" v2="84" v3="133" />
+ <tetrahedron index="90" v0="82" v1="107" v2="180" v3="216" />
+ <tetrahedron index="91" v0="93" v1="99" v2="124" v3="127" />
+ <tetrahedron index="92" v0="156" v1="184" v2="187" v3="211" />
+ <tetrahedron index="93" v0="57" v1="102" v2="143" v3="155" />
+ <tetrahedron index="94" v0="107" v1="180" v2="190" v3="191" />
+ <tetrahedron index="95" v0="21" v1="52" v2="68" v3="150" />
+ <tetrahedron index="96" v0="115" v1="160" v2="161" v3="179" />
+ <tetrahedron index="97" v0="59" v1="136" v2="157" v3="218" />
+ <tetrahedron index="98" v0="23" v1="121" v2="155" v3="179" />
+ <tetrahedron index="99" v0="205" v1="206" v2="226" v3="231" />
+ <tetrahedron index="100" v0="23" v1="121" v2="154" v3="183" />
+ <tetrahedron index="101" v0="37" v1="47" v2="104" v3="204" />
+ <tetrahedron index="102" v0="17" v1="44" v2="63" v3="142" />
+ <tetrahedron index="103" v0="126" v1="142" v2="178" v3="216" />
+ <tetrahedron index="104" v0="45" v1="57" v2="102" v3="143" />
+ <tetrahedron index="105" v0="16" v1="74" v2="75" v3="140" />
+ <tetrahedron index="106" v0="55" v1="103" v2="141" v3="153" />
+ <tetrahedron index="107" v0="56" v1="99" v2="140" v3="154" />
+ <tetrahedron index="108" v0="164" v1="171" v2="226" v3="227" />
+ <tetrahedron index="109" v0="40" v1="45" v2="62" v3="102" />
+ <tetrahedron index="110" v0="160" v1="162" v2="217" v3="230" />
+ <tetrahedron index="111" v0="81" v1="115" v2="142" v3="178" />
+ <tetrahedron index="112" v0="40" v1="58" v2="86" v3="138" />
+ <tetrahedron index="113" v0="8" v1="27" v2="94" v3="125" />
+ <tetrahedron index="114" v0="34" v1="57" v2="83" v3="132" />
+ <tetrahedron index="115" v0="75" v1="114" v2="172" v3="173" />
+ <tetrahedron index="116" v0="92" v1="107" v2="127" v3="210" />
+ <tetrahedron index="117" v0="98" v1="126" v2="142" v3="216" />
+ <tetrahedron index="118" v0="62" v1="64" v2="138" v3="230" />
+ <tetrahedron index="119" v0="118" v1="149" v2="165" v3="234" />
+ <tetrahedron index="120" v0="81" v1="143" v2="155" v3="179" />
+ <tetrahedron index="121" v0="19" v1="67" v2="117" v3="146" />
+ <tetrahedron index="122" v0="12" v1="35" v2="89" v3="133" />
+ <tetrahedron index="123" v0="103" v1="134" v2="153" v3="189" />
+ <tetrahedron index="124" v0="85" v1="114" v2="141" v3="182" />
+ <tetrahedron index="125" v0="83" v1="110" v2="181" v3="182" />
+ <tetrahedron index="126" v0="17" v1="45" v2="62" v3="143" />
+ <tetrahedron index="127" v0="110" v1="133" v2="182" v3="187" />
+ <tetrahedron index="128" v0="113" v1="138" v2="160" v3="184" />
+ <tetrahedron index="129" v0="90" v1="91" v2="134" v3="213" />
+ <tetrahedron index="130" v0="42" v1="56" v2="99" v3="140" />
+ <tetrahedron index="131" v0="82" v1="107" v2="127" v3="180" />
+ <tetrahedron index="132" v0="159" v1="169" v2="194" v3="226" />
+ <tetrahedron index="133" v0="45" v1="62" v2="102" v3="143" />
+ <tetrahedron index="134" v0="5" v1="35" v2="91" v3="103" />
+ <tetrahedron index="135" v0="4" v1="34" v2="40" v3="57" />
+ <tetrahedron index="136" v0="81" v1="115" v2="143" v3="179" />
+ <tetrahedron index="137" v0="17" v1="45" v2="81" v3="143" />
+ <tetrahedron index="138" v0="74" v1="99" v2="124" v3="140" />
+ <tetrahedron index="139" v0="14" v1="70" v2="88" v3="200" />
+ <tetrahedron index="140" v0="122" v1="184" v2="186" v3="227" />
+ <tetrahedron index="141" v0="17" v1="81" v2="115" v3="143" />
+ <tetrahedron index="142" v0="28" v1="44" v2="80" v3="98" />
+ <tetrahedron index="143" v0="12" v1="58" v2="89" v3="132" />
+ <tetrahedron index="144" v0="75" v1="141" v2="153" v3="173" />
+ <tetrahedron index="145" v0="118" v1="149" v2="162" v3="234" />
+ <tetrahedron index="146" v0="94" v1="125" v2="192" v3="220" />
+ <tetrahedron index="147" v0="83" v1="84" v2="85" v3="182" />
+ <tetrahedron index="148" v0="114" v1="173" v2="182" v3="183" />
+ <tetrahedron index="149" v0="84" v1="85" v2="141" v3="182" />
+ <tetrahedron index="150" v0="16" v1="85" v2="114" v3="141" />
+ <tetrahedron index="151" v0="155" v1="156" v2="181" v3="205" />
+ <tetrahedron index="152" v0="113" v1="160" v2="162" v3="184" />
+ <tetrahedron index="153" v0="69" v1="104" v2="136" v3="145" />
+ <tetrahedron index="154" v0="56" v1="82" v2="127" v3="154" />
+ <tetrahedron index="155" v0="23" v1="81" v2="178" v3="179" />
+ <tetrahedron index="156" v0="16" v1="75" v2="114" v3="140" />
+ <tetrahedron index="157" v0="70" v1="88" v2="112" v3="137" />
+ <tetrahedron index="158" v0="58" v1="132" v2="138" v3="211" />
+ <tetrahedron index="159" v0="23" v1="81" v2="155" v3="179" />
+ <tetrahedron index="160" v0="180" v1="190" v2="191" v3="231" />
+ <tetrahedron index="161" v0="106" v1="124" v2="172" v3="191" />
+ <tetrahedron index="162" v0="26" v1="29" v2="93" v3="99" />
+ <tetrahedron index="163" v0="34" v1="57" v2="102" v3="132" />
+ <tetrahedron index="164" v0="92" v1="107" v2="210" v3="214" />
+ <tetrahedron index="165" v0="58" v1="102" v2="132" v3="138" />
+ <tetrahedron index="166" v0="42" v1="56" v2="85" v3="140" />
+ <tetrahedron index="167" v0="107" v1="126" v2="208" v3="229" />
+ <tetrahedron index="168" v0="17" v1="63" v2="115" v3="143" />
+ <tetrahedron index="169" v0="120" v1="175" v2="177" v3="207" />
+ <tetrahedron index="170" v0="43" v1="55" v2="75" v3="141" />
+ <tetrahedron index="171" v0="12" v1="89" v2="110" v3="133" />
+ <tetrahedron index="172" v0="159" v1="169" v2="206" v3="226" />
+ <tetrahedron index="173" v0="95" v1="193" v2="214" v3="235" />
+ <tetrahedron index="174" v0="12" v1="89" v2="110" v3="132" />
+ <tetrahedron index="175" v0="93" v1="124" v2="127" v3="210" />
+ <tetrahedron index="176" v0="23" v1="83" v2="181" v3="182" />
+ <tetrahedron index="177" v0="110" v1="156" v2="187" v3="211" />
+ <tetrahedron index="178" v0="50" v1="65" v2="128" v3="212" />
+ <tetrahedron index="179" v0="121" v1="205" v2="228" v3="231" />
+ <tetrahedron index="180" v0="16" v1="84" v2="85" v3="141" />
+ <tetrahedron index="181" v0="124" v1="140" v2="154" v3="172" />
+ <tetrahedron index="182" v0="148" v1="158" v2="193" v3="226" />
+ <tetrahedron index="183" v0="10" v1="65" v2="66" v3="223" />
+ <tetrahedron index="184" v0="16" v1="75" v2="114" v3="141" />
+ <tetrahedron index="185" v0="86" v1="113" v2="138" v3="184" />
+ <tetrahedron index="186" v0="62" v1="63" v2="143" v3="160" />
+ <tetrahedron index="187" v0="9" v1="82" v2="107" v3="127" />
+ <tetrahedron index="188" v0="69" v1="70" v2="136" v3="203" />
+ <tetrahedron index="189" v0="20" v1="221" v2="222" v3="234" />
+ <tetrahedron index="190" v0="111" v1="188" v2="213" v3="218" />
+ <tetrahedron index="191" v0="59" v1="69" v2="104" v3="204" />
+ <tetrahedron index="192" v0="5" v1="36" v2="55" v3="103" />
+ <tetrahedron index="193" v0="103" v1="134" v2="189" v3="213" />
+ <tetrahedron index="194" v0="24" v1="86" v2="184" v3="211" />
+ <tetrahedron index="195" v0="19" v1="72" v2="117" v3="146" />
+ <tetrahedron index="196" v0="44" v1="50" v2="63" v3="142" />
+ <tetrahedron index="197" v0="16" v1="43" v2="84" v3="141" />
+ <tetrahedron index="198" v0="16" v1="43" v2="75" v3="141" />
+ <tetrahedron index="199" v0="44" v1="80" v2="98" v3="142" />
+ <tetrahedron index="200" v0="44" v1="50" v2="98" v3="142" />
+ <tetrahedron index="201" v0="155" v1="160" v2="179" v3="205" />
+ <tetrahedron index="202" v0="149" v1="162" v2="185" v3="227" />
+ <tetrahedron index="203" v0="43" v1="84" v2="103" v3="141" />
+ <tetrahedron index="204" v0="43" v1="55" v2="103" v3="141" />
+ <tetrahedron index="205" v0="55" v1="103" v2="134" v3="153" />
+ <tetrahedron index="206" v0="9" v1="92" v2="107" v3="127" />
+ <tetrahedron index="207" v0="23" v1="56" v2="82" v3="154" />
+ <tetrahedron index="208" v0="107" v1="178" v2="180" v3="190" />
+ <tetrahedron index="209" v0="103" v1="133" v2="141" v3="153" />
+ <tetrahedron index="210" v0="23" v1="83" v2="85" v3="182" />
+ <tetrahedron index="211" v0="103" v1="133" v2="153" v3="189" />
+ <tetrahedron index="212" v0="24" v1="122" v2="184" v3="186" />
+ <tetrahedron index="213" v0="120" v1="153" v2="175" v3="228" />
+ <tetrahedron index="214" v0="138" v1="155" v2="156" v3="160" />
+ <tetrahedron index="215" v0="133" v1="141" v2="153" v3="182" />
+ <tetrahedron index="216" v0="66" v1="67" v2="222" v3="223" />
+ <tetrahedron index="217" v0="138" v1="143" v2="155" v3="160" />
+ <tetrahedron index="218" v0="67" v1="221" v2="222" v3="234" />
+ <tetrahedron index="219" v0="12" v1="34" v2="83" v3="132" />
+ <tetrahedron index="220" v0="81" v1="115" v2="178" v3="179" />
+ <tetrahedron index="221" v0="23" v1="121" v2="154" v3="180" />
+ <tetrahedron index="222" v0="169" v1="171" v2="226" v3="227" />
+ <tetrahedron index="223" v0="42" v1="74" v2="99" v3="140" />
+ <tetrahedron index="224" v0="25" v1="214" v2="224" v3="235" />
+ <tetrahedron index="225" v0="92" v1="107" v2="214" v3="229" />
+ <tetrahedron index="226" v0="105" v1="139" v2="149" v3="185" />
+ <tetrahedron index="227" v0="5" v1="36" v2="91" v3="103" />
+ <tetrahedron index="228" v0="67" v1="219" v2="221" v3="234" />
+ <tetrahedron index="229" v0="19" v1="72" v2="117" v3="147" />
+ <tetrahedron index="230" v0="125" v1="130" v2="152" v3="159" />
+ <tetrahedron index="231" v0="23" v1="82" v2="180" v3="216" />
+ <tetrahedron index="232" v0="13" v1="36" v2="77" v3="134" />
+ <tetrahedron index="233" v0="41" v1="51" v2="105" v3="139" />
+ <tetrahedron index="234" v0="105" v1="147" v2="149" v3="234" />
+ <tetrahedron index="235" v0="149" v1="151" v2="170" v3="227" />
+ <tetrahedron index="236" v0="35" v1="43" v2="84" v3="103" />
+ <tetrahedron index="237" v0="12" v1="83" v2="84" v3="133" />
+ <tetrahedron index="238" v0="34" v1="40" v2="57" v3="102" />
+ <tetrahedron index="239" v0="108" v1="128" v2="148" v3="158" />
+ <tetrahedron index="240" v0="87" v1="88" v2="137" v3="215" />
+ <tetrahedron index="241" v0="5" v1="35" v2="43" v3="103" />
+ <tetrahedron index="242" v0="107" v1="126" v2="208" v3="216" />
+ <tetrahedron index="243" v0="81" v1="142" v2="178" v3="216" />
+ <tetrahedron index="244" v0="124" v1="154" v2="172" v3="191" />
+ <tetrahedron index="245" v0="130" v1="159" v2="220" v3="235" />
+ <tetrahedron index="246" v0="114" v1="141" v2="173" v3="182" />
+ <tetrahedron index="247" v0="145" v1="167" v2="196" v3="203" />
+ <tetrahedron index="248" v0="68" v1="145" v2="196" v3="203" />
+ <tetrahedron index="249" v0="24" v1="86" v2="184" v3="185" />
+ <tetrahedron index="250" v0="13" v1="90" v2="111" v3="135" />
+ <tetrahedron index="251" v0="117" v1="147" v2="149" v3="234" />
+ <tetrahedron index="252" v0="105" v1="139" v2="149" v3="234" />
+ <tetrahedron index="253" v0="125" v1="159" v2="174" v3="192" />
+ <tetrahedron index="254" v0="118" v1="149" v2="162" v3="227" />
+ <tetrahedron index="255" v0="5" v1="43" v2="55" v3="103" />
+ <tetrahedron index="256" v0="11" v1="33" v2="96" v3="131" />
+ <tetrahedron index="257" v0="120" v1="173" v2="228" v3="231" />
+ <tetrahedron index="258" v0="86" v1="87" v2="139" v3="185" />
+ <tetrahedron index="259" v0="119" v1="166" v2="206" v3="207" />
+ <tetrahedron index="260" v0="19" v1="72" v2="73" v3="146" />
+ <tetrahedron index="261" v0="138" v1="156" v2="160" v3="184" />
+ <tetrahedron index="262" v0="75" v1="114" v2="140" v3="172" />
+ <tetrahedron index="263" v0="36" v1="91" v2="103" v3="134" />
+ <tetrahedron index="264" v0="36" v1="55" v2="103" v3="134" />
+ <tetrahedron index="265" v0="164" v1="170" v2="171" v3="227" />
+ <tetrahedron index="266" v0="92" v1="93" v2="127" v3="210" />
+ <tetrahedron index="267" v0="122" v1="205" v2="207" v3="227" />
+ <tetrahedron index="268" v0="35" v1="89" v2="91" v3="133" />
+ <tetrahedron index="269" v0="35" v1="84" v2="103" v3="133" />
+ <tetrahedron index="270" v0="35" v1="91" v2="103" v3="133" />
+ <tetrahedron index="271" v0="21" v1="167" v2="196" v3="203" />
+ <tetrahedron index="272" v0="171" v1="194" v2="195" v3="226" />
+ <tetrahedron index="273" v0="24" v1="122" v2="184" v3="187" />
+ <tetrahedron index="274" v0="95" v1="108" v2="129" v3="193" />
+ <tetrahedron index="275" v0="134" v1="153" v2="188" v3="189" />
+ <tetrahedron index="276" v0="18" v1="68" v2="79" v3="199" />
+ <tetrahedron index="277" v0="205" v1="206" v2="207" v3="227" />
+ <tetrahedron index="278" v0="4" v1="40" v2="45" v3="57" />
+ <tetrahedron index="279" v0="0" v1="28" v2="44" v3="98" />
+ <tetrahedron index="280" v0="110" v1="181" v2="182" v3="187" />
+ <tetrahedron index="281" v0="26" v1="93" v2="99" v3="124" />
+ <tetrahedron index="282" v0="123" v1="193" v2="195" v3="235" />
+ <tetrahedron index="283" v0="123" v1="158" v2="190" v3="214" />
+ <tetrahedron index="284" v0="65" v1="108" v2="128" v3="212" />
+ <tetrahedron index="285" v0="117" v1="164" v2="170" v3="171" />
+ <tetrahedron index="286" v0="164" v1="171" v2="195" v3="226" />
+ <tetrahedron index="287" v0="29" v1="56" v2="82" v3="127" />
+ <tetrahedron index="288" v0="107" v1="127" v2="180" v3="191" />
+ <tetrahedron index="289" v0="26" v1="74" v2="99" v3="124" />
+ <tetrahedron index="290" v0="29" v1="93" v2="99" v3="127" />
+ <tetrahedron index="291" v0="29" v1="56" v2="99" v3="127" />
+ <tetrahedron index="292" v0="69" v1="136" v2="145" v3="203" />
+ <tetrahedron index="293" v0="9" v1="29" v2="93" v3="127" />
+ <tetrahedron index="294" v0="107" v1="126" v2="214" v3="229" />
+ <tetrahedron index="295" v0="118" v1="161" v2="163" v3="233" />
+ <tetrahedron index="296" v0="132" v1="155" v2="156" v3="181" />
+ <tetrahedron index="297" v0="85" v1="114" v2="182" v3="183" />
+ <tetrahedron index="298" v0="157" v1="175" v2="176" v3="207" />
+ <tetrahedron index="299" v0="23" v1="56" v2="85" v3="154" />
+ <tetrahedron index="300" v0="140" v1="154" v2="172" v3="183" />
+ <tetrahedron index="301" v0="58" v1="89" v2="132" v3="211" />
+ <tetrahedron index="302" v0="124" v1="127" v2="154" v3="191" />
+ <tetrahedron index="303" v0="114" v1="140" v2="172" v3="183" />
+ <tetrahedron index="304" v0="141" v1="153" v2="173" v3="182" />
+ <tetrahedron index="305" v0="23" v1="57" v2="83" v3="155" />
+ <tetrahedron index="306" v0="23" v1="57" v2="81" v3="155" />
+ <tetrahedron index="307" v0="153" v1="175" v2="188" v3="228" />
+ <tetrahedron index="308" v0="143" v1="155" v2="160" v3="179" />
+ <tetrahedron index="309" v0="82" v1="127" v2="154" v3="180" />
+ <tetrahedron index="310" v0="83" v1="84" v2="133" v3="182" />
+ <tetrahedron index="311" v0="159" v1="174" v2="192" v3="206" />
+ <tetrahedron index="312" v0="40" v1="45" v2="57" v3="102" />
+ <tetrahedron index="313" v0="83" v1="110" v2="133" v3="182" />
+ <tetrahedron index="314" v0="24" v1="122" v2="188" v3="189" />
+ <tetrahedron index="315" v0="115" v1="143" v2="160" v3="179" />
+ <tetrahedron index="316" v0="17" v1="80" v2="81" v3="142" />
+ <tetrahedron index="317" v0="17" v1="44" v2="80" v3="142" />
+ <tetrahedron index="318" v0="17" v1="63" v2="115" v3="142" />
+ <tetrahedron index="319" v0="17" v1="81" v2="115" v3="142" />
+ <tetrahedron index="320" v0="16" v1="85" v2="114" v3="140" />
+ <tetrahedron index="321" v0="160" v1="161" v2="162" v3="233" />
+ <tetrahedron index="322" v0="122" v1="205" v2="207" v3="228" />
+ <tetrahedron index="323" v0="110" v1="156" v2="181" v3="187" />
+ <tetrahedron index="324" v0="15" v1="40" v2="86" v3="138" />
+ <tetrahedron index="325" v0="15" v1="62" v2="64" v3="138" />
+ <tetrahedron index="326" v0="15" v1="40" v2="62" v3="138" />
+ <tetrahedron index="327" v0="153" v1="173" v2="182" v3="228" />
+ <tetrahedron index="328" v0="15" v1="64" v2="113" v3="138" />
+ <tetrahedron index="329" v0="15" v1="86" v2="113" v3="138" />
+ <tetrahedron index="330" v0="110" v1="132" v2="156" v3="181" />
+ <tetrahedron index="331" v0="83" v1="110" v2="132" v3="181" />
+ <tetrahedron index="332" v0="83" v1="132" v2="155" v3="181" />
+ <tetrahedron index="333" v0="121" v1="154" v2="183" v3="231" />
+ <tetrahedron index="334" v0="120" v1="153" v2="173" v3="228" />
+ <tetrahedron index="335" v0="31" v1="66" v2="101" v3="197" />
+ <tetrahedron index="336" v0="127" v1="154" v2="180" v3="191" />
+ <tetrahedron index="337" v0="115" v1="142" v2="161" v3="178" />
+ <tetrahedron index="338" v0="22" v1="54" v2="76" v3="152" />
+ <tetrahedron index="339" v0="23" v1="121" v2="155" v3="181" />
+ <tetrahedron index="340" v0="23" v1="83" v2="155" v3="181" />
+ <tetrahedron index="341" v0="36" v1="90" v2="91" v3="134" />
+ <tetrahedron index="342" v0="111" v1="157" v2="175" v3="188" />
+ <tetrahedron index="343" v0="0" v1="28" v2="60" v3="98" />
+ <tetrahedron index="344" v0="20" v1="163" v2="212" v3="233" />
+ <tetrahedron index="345" v0="41" v1="87" v2="105" v3="232" />
+ <tetrahedron index="346" v0="23" v1="178" v2="179" v3="180" />
+ <tetrahedron index="347" v0="23" v1="121" v2="179" v3="180" />
+ <tetrahedron index="348" v0="20" v1="212" v2="217" v3="233" />
+ <tetrahedron index="349" v0="25" v1="192" v2="220" v3="235" />
+ <tetrahedron index="350" v0="114" v1="172" v2="173" v3="183" />
+ <tetrahedron index="351" v0="24" v1="122" v2="188" v3="218" />
+ <tetrahedron index="352" v0="117" v1="164" v2="165" v3="170" />
+ <tetrahedron index="353" v0="113" v1="138" v2="160" v3="230" />
+ <tetrahedron index="354" v0="23" v1="85" v2="182" v3="183" />
+ <tetrahedron index="355" v0="70" v1="136" v2="167" v3="203" />
+ <tetrahedron index="356" v0="169" v1="170" v2="171" v3="227" />
+ <tetrahedron index="357" v0="85" v1="114" v2="140" v3="183" />
+ <tetrahedron index="358" v0="85" v1="140" v2="154" v3="183" />
+ <tetrahedron index="359" v0="10" v1="108" v2="129" v3="223" />
+ <tetrahedron index="360" v0="23" v1="121" v2="181" v3="183" />
+ <tetrahedron index="361" v0="22" v1="120" v2="173" v3="174" />
+ <tetrahedron index="362" v0="23" v1="85" v2="154" v3="183" />
+ <tetrahedron index="363" v0="107" v1="190" v2="191" v3="210" />
+ <tetrahedron index="364" v0="111" v1="135" v2="157" v3="218" />
+ <tetrahedron index="365" v0="79" v1="116" v2="176" v3="177" />
+ <tetrahedron index="366" v0="80" v1="81" v2="142" v3="216" />
+ <tetrahedron index="367" v0="111" v1="157" v2="188" v3="218" />
+ <tetrahedron index="368" v0="60" v1="98" v2="128" v3="214" />
+ <tetrahedron index="369" v0="120" v1="174" v2="206" v3="231" />
+ <tetrahedron index="370" v0="120" v1="152" v2="174" v3="206" />
+ <tetrahedron index="371" v0="25" v1="123" v2="214" v3="235" />
+ <tetrahedron index="372" v0="157" v1="175" v2="188" v3="207" />
+ <tetrahedron index="373" v0="182" v1="187" v2="189" v3="228" />
+ <tetrahedron index="374" v0="156" v1="160" v2="184" v3="205" />
+ <tetrahedron index="375" v0="121" v1="179" v2="205" v3="226" />
+ <tetrahedron index="376" v0="10" v1="50" v2="65" v3="128" />
+ <tetrahedron index="377" v0="10" v1="30" v2="50" v3="128" />
+ <tetrahedron index="378" v0="10" v1="60" v2="95" v3="128" />
+ <tetrahedron index="379" v0="10" v1="30" v2="60" v3="128" />
+ <tetrahedron index="380" v0="103" v1="133" v2="189" v3="213" />
+ <tetrahedron index="381" v0="176" v1="177" v2="196" v3="207" />
+ <tetrahedron index="382" v0="133" v1="153" v2="182" v3="189" />
+ <tetrahedron index="383" v0="133" v1="182" v2="187" v3="189" />
+ <tetrahedron index="384" v0="100" v1="130" v2="150" v3="152" />
+ <tetrahedron index="385" v0="25" v1="123" v2="210" v3="214" />
+ <tetrahedron index="386" v0="70" v1="87" v2="88" v3="137" />
+ <tetrahedron index="387" v0="108" v1="148" v2="163" v3="233" />
+ <tetrahedron index="388" v0="126" v1="158" v2="178" v3="190" />
+ <tetrahedron index="389" v0="107" v1="126" v2="178" v3="190" />
+ <tetrahedron index="390" v0="121" v1="179" v2="180" v3="226" />
+ <tetrahedron index="391" v0="178" v1="179" v2="180" v3="226" />
+ <tetrahedron index="392" v0="160" v1="162" v2="217" v3="233" />
+ <tetrahedron index="393" v0="84" v1="133" v2="141" v3="182" />
+ <tetrahedron index="394" v0="77" v1="111" v2="135" v3="176" />
+ <tetrahedron index="395" v0="121" v1="155" v2="181" v3="205" />
+ <tetrahedron index="396" v0="28" v1="80" v2="98" v3="208" />
+ <tetrahedron index="397" v0="8" v1="76" v2="106" v3="125" />
+ <tetrahedron index="398" v0="168" v1="186" v2="207" v3="227" />
+ <tetrahedron index="399" v0="190" v1="191" v2="192" v3="231" />
+ <tetrahedron index="400" v0="113" v1="162" v2="184" v3="185" />
+ <tetrahedron index="401" v0="205" v1="206" v2="207" v3="228" />
+ <tetrahedron index="402" v0="138" v1="156" v2="184" v3="211" />
+ <tetrahedron index="403" v0="0" v1="44" v2="50" v3="98" />
+ <tetrahedron index="404" v0="164" v1="193" v2="195" v3="226" />
+ <tetrahedron index="405" v0="77" v1="78" v2="135" v3="176" />
+ <tetrahedron index="406" v0="62" v1="138" v2="143" v3="160" />
+ <tetrahedron index="407" v0="119" v1="151" v2="168" v3="227" />
+ <tetrahedron index="408" v0="64" v1="113" v2="139" v3="230" />
+ <tetrahedron index="409" v0="156" v1="181" v2="187" v3="205" />
+ <tetrahedron index="410" v0="77" v1="111" v2="175" v3="176" />
+ <tetrahedron index="411" v0="8" v1="26" v2="93" v3="124" />
+ <tetrahedron index="412" v0="98" v1="128" v2="142" v3="158" />
+ <tetrahedron index="413" v0="8" v1="26" v2="74" v3="124" />
+ <tetrahedron index="414" v0="13" v1="37" v2="59" v3="135" />
+ <tetrahedron index="415" v0="6" v1="37" v2="59" v3="204" />
+ <tetrahedron index="416" v0="115" v1="160" v2="161" v3="233" />
+ <tetrahedron index="417" v0="152" v1="177" v2="198" v3="206" />
+ <tetrahedron index="418" v0="8" v1="27" v2="76" v3="125" />
+ <tetrahedron index="419" v0="8" v1="76" v2="106" v3="124" />
+ <tetrahedron index="420" v0="163" v1="164" v2="193" v3="226" />
+ <tetrahedron index="421" v0="118" v1="163" v2="164" v3="226" />
+ <tetrahedron index="422" v0="37" v1="78" v2="104" v3="135" />
+ <tetrahedron index="423" v0="118" v1="164" v2="165" v3="227" />
+ <tetrahedron index="424" v0="22" v1="76" v2="152" v3="174" />
+ <tetrahedron index="425" v0="123" v1="159" v2="194" v3="235" />
+ <tetrahedron index="426" v0="148" v1="161" v2="163" v3="233" />
+ <tetrahedron index="427" v0="51" v1="105" v2="147" v3="219" />
+ <tetrahedron index="428" v0="110" v1="132" v2="156" v3="211" />
+ <tetrahedron index="429" v0="8" v1="94" v2="106" v3="124" />
+ <tetrahedron index="430" v0="96" v1="97" v2="224" v3="235" />
+ <tetrahedron index="431" v0="27" v1="61" v2="94" v3="125" />
+ <tetrahedron index="432" v0="27" v1="61" v2="100" v3="125" />
+ <tetrahedron index="433" v0="89" v1="110" v2="187" v3="211" />
+ <tetrahedron index="434" v0="119" v1="169" v2="206" v3="227" />
+ <tetrahedron index="435" v0="13" v1="77" v2="78" v3="135" />
+ <tetrahedron index="436" v0="111" v1="135" v2="157" v3="176" />
+ <tetrahedron index="437" v0="8" v1="94" v2="106" v3="125" />
+ <tetrahedron index="438" v0="123" v1="194" v2="195" v3="235" />
+ <tetrahedron index="439" v0="118" v1="205" v2="226" v3="227" />
+ <tetrahedron index="440" v0="120" v1="175" v2="207" v3="228" />
+ <tetrahedron index="441" v0="129" v1="164" v2="201" v3="223" />
+ <tetrahedron index="442" v0="115" v1="142" v2="161" v3="233" />
+ <tetrahedron index="443" v0="106" v1="172" v2="191" v3="192" />
+ <tetrahedron index="444" v0="59" v1="104" v2="135" v3="157" />
+ <tetrahedron index="445" v0="87" v1="105" v2="139" v3="185" />
+ <tetrahedron index="446" v0="123" v1="194" v2="195" v3="226" />
+ <tetrahedron index="447" v0="116" v1="145" v2="176" v3="196" />
+ <tetrahedron index="448" v0="77" v1="134" v2="153" v3="175" />
+ <tetrahedron index="449" v0="70" v1="112" v2="136" v3="167" />
+ <tetrahedron index="450" v0="135" v1="145" v2="157" v3="176" />
+ <tetrahedron index="451" v0="76" v1="106" v2="125" v3="174" />
+ <tetrahedron index="452" v0="22" v1="55" v2="77" v3="153" />
+ <tetrahedron index="453" v0="160" v1="161" v2="179" v3="205" />
+ <tetrahedron index="454" v0="77" v1="78" v2="79" v3="176" />
+ <tetrahedron index="455" v0="32" v1="52" v2="71" v3="130" />
+ <tetrahedron index="456" v0="94" v1="106" v2="125" v3="192" />
+ <tetrahedron index="457" v0="136" v1="145" v2="157" v3="167" />
+ <tetrahedron index="458" v0="63" v1="115" v2="142" v3="233" />
+ <tetrahedron index="459" v0="173" v1="183" v2="228" v3="231" />
+ <tetrahedron index="460" v0="59" v1="135" v2="157" v3="218" />
+ <tetrahedron index="461" v0="119" v1="206" v2="207" v3="227" />
+ <tetrahedron index="462" v0="107" v1="190" v2="210" v3="214" />
+ <tetrahedron index="463" v0="63" v1="160" v2="217" v3="233" />
+ <tetrahedron index="464" v0="28" v1="98" v2="208" v3="229" />
+ <tetrahedron index="465" v0="106" v1="172" v2="174" v3="192" />
+ <tetrahedron index="466" v0="106" v1="125" v2="174" v3="192" />
+ <tetrahedron index="467" v0="89" v1="133" v2="189" v3="213" />
+ <tetrahedron index="468" v0="51" v1="105" v2="139" v3="219" />
+ <tetrahedron index="469" v0="41" v1="51" v2="64" v3="139" />
+ <tetrahedron index="470" v0="77" v1="111" v2="134" v3="175" />
+ <tetrahedron index="471" v0="98" v1="126" v2="214" v3="229" />
+ <tetrahedron index="472" v0="61" v1="100" v2="125" v3="130" />
+ <tetrahedron index="473" v0="54" v1="100" v2="144" v3="152" />
+ <tetrahedron index="474" v0="60" v1="95" v2="128" v3="214" />
+ <tetrahedron index="475" v0="52" v1="68" v2="144" v3="150" />
+ <tetrahedron index="476" v0="122" v1="184" v2="205" v3="227" />
+ <tetrahedron index="477" v0="95" v1="214" v2="224" v3="235" />
+ <tetrahedron index="478" v0="55" v1="77" v2="134" v3="153" />
+ <tetrahedron index="479" v0="63" v1="115" v2="160" v3="233" />
+ <tetrahedron index="480" v0="22" v1="76" v2="172" v3="174" />
+ <tetrahedron index="481" v0="19" v1="66" v2="67" v3="146" />
+ <tetrahedron index="482" v0="148" v1="161" v2="178" v3="226" />
+ <tetrahedron index="483" v0="76" v1="106" v2="172" v3="174" />
+ <tetrahedron index="484" v0="60" v1="98" v2="214" v3="229" />
+ <tetrahedron index="485" v0="38" v1="59" v2="69" v3="200" />
+ <tetrahedron index="486" v0="146" v1="164" v2="201" v3="223" />
+ <tetrahedron index="487" v0="24" v1="86" v2="185" v3="215" />
+ <tetrahedron index="488" v0="105" v1="147" v2="149" v3="151" />
+ <tetrahedron index="489" v0="128" v1="142" v2="148" v3="233" />
+ <tetrahedron index="490" v0="36" v1="55" v2="77" v3="134" />
+ <tetrahedron index="491" v0="134" v1="153" v2="175" v3="188" />
+ <tetrahedron index="492" v0="76" v1="125" v2="152" v3="174" />
+ <tetrahedron index="493" v0="134" v1="188" v2="189" v3="213" />
+ <tetrahedron index="494" v0="111" v1="134" v2="175" v3="188" />
+ <tetrahedron index="495" v0="22" v1="55" v2="75" v3="153" />
+ <tetrahedron index="496" v0="13" v1="36" v2="90" v3="134" />
+ <tetrahedron index="497" v0="122" v1="186" v2="207" v3="227" />
+ <tetrahedron index="498" v0="13" v1="77" v2="111" v3="135" />
+ <tetrahedron index="499" v0="54" v1="100" v2="125" v3="152" />
+ <tetrahedron index="500" v0="14" v1="38" v2="88" v3="200" />
+ <tetrahedron index="501" v0="79" v1="144" v2="152" v3="177" />
+ <tetrahedron index="502" v0="39" v1="53" v2="70" v3="87" />
+ <tetrahedron index="503" v0="122" v1="157" v2="186" v3="207" />
+ <tetrahedron index="504" v0="161" v1="179" v2="205" v3="226" />
+ <tetrahedron index="505" v0="129" v1="164" v2="193" v3="195" />
+ <tetrahedron index="506" v0="24" v1="184" v2="185" v3="186" />
+ <tetrahedron index="507" v0="150" v1="152" v2="198" v3="206" />
+ <tetrahedron index="508" v0="31" v1="97" v2="101" v3="129" />
+ <tetrahedron index="509" v0="9" v1="208" v2="209" v3="229" />
+ <tetrahedron index="510" v0="166" v1="177" v2="196" v3="207" />
+ <tetrahedron index="511" v0="161" v1="178" v2="179" v3="226" />
+ <tetrahedron index="512" v0="8" v1="74" v2="76" v3="124" />
+ <tetrahedron index="513" v0="118" v1="161" v2="205" v3="226" />
+ <tetrahedron index="514" v0="118" v1="161" v2="163" v3="226" />
+ <tetrahedron index="515" v0="180" v1="190" v2="226" v3="231" />
+ <tetrahedron index="516" v0="122" v1="188" v2="189" v3="228" />
+ <tetrahedron index="517" v0="6" v1="37" v2="47" v3="204" />
+ <tetrahedron index="518" v0="98" v1="126" v2="158" v3="214" />
+ <tetrahedron index="519" v0="13" v1="77" v2="111" v3="134" />
+ <tetrahedron index="520" v0="129" v1="164" v2="195" v3="201" />
+ <tetrahedron index="521" v0="79" v1="116" v2="144" v3="177" />
+ <tetrahedron index="522" v0="123" v1="158" v2="190" v3="226" />
+ <tetrahedron index="523" v0="15" v1="41" v2="64" v3="139" />
+ <tetrahedron index="524" v0="59" v1="104" v2="136" v3="157" />
+ <tetrahedron index="525" v0="178" v1="180" v2="190" v3="226" />
+ <tetrahedron index="526" v0="108" v1="163" v2="212" v3="222" />
+ <tetrahedron index="527" v0="9" v1="107" v2="208" v3="229" />
+ <tetrahedron index="528" v0="119" v1="151" v2="170" v3="227" />
+ <tetrahedron index="529" v0="97" v1="101" v2="129" v3="235" />
+ <tetrahedron index="530" v0="172" v1="173" v2="183" v3="231" />
+ <tetrahedron index="531" v0="22" v1="172" v2="173" v3="174" />
+ <tetrahedron index="532" v0="22" v1="79" v2="176" v3="177" />
+ <tetrahedron index="533" v0="22" v1="77" v2="79" v3="176" />
+ <tetrahedron index="534" v0="22" v1="120" v2="175" v3="177" />
+ <tetrahedron index="535" v0="22" v1="75" v2="153" v3="173" />
+ <tetrahedron index="536" v0="22" v1="120" v2="153" v3="173" />
+ <tetrahedron index="537" v0="22" v1="120" v2="153" v3="175" />
+ <tetrahedron index="538" v0="22" v1="77" v2="153" v3="175" />
+ <tetrahedron index="539" v0="22" v1="75" v2="172" v3="173" />
+ <tetrahedron index="540" v0="13" v1="37" v2="78" v3="135" />
+ <tetrahedron index="541" v0="22" v1="175" v2="176" v3="177" />
+ <tetrahedron index="542" v0="22" v1="77" v2="175" v3="176" />
+ <tetrahedron index="543" v0="108" v1="163" v2="222" v3="223" />
+ <tetrahedron index="544" v0="27" v1="32" v2="61" v3="100" />
+ <tetrahedron index="545" v0="74" v1="76" v2="124" v3="172" />
+ <tetrahedron index="546" v0="76" v1="106" v2="124" v3="172" />
+ <tetrahedron index="547" v0="74" v1="75" v2="76" v3="172" />
+ <tetrahedron index="548" v0="22" v1="75" v2="76" v3="172" />
+ <tetrahedron index="549" v0="157" v1="167" v2="186" v3="207" />
+ <tetrahedron index="550" v0="22" v1="120" v2="152" v3="174" />
+ <tetrahedron index="551" v0="95" v1="128" v2="158" v3="214" />
+ <tetrahedron index="552" v0="111" v1="134" v2="188" v3="213" />
+ <tetrahedron index="553" v0="3" v1="33" v2="97" v3="197" />
+ <tetrahedron index="554" v0="52" v1="100" v2="130" v3="150" />
+ <tetrahedron index="555" v0="65" v1="108" v2="222" v3="223" />
+ <tetrahedron index="556" v0="119" v1="166" v2="168" v3="207" />
+ <tetrahedron index="557" v0="118" v1="164" v2="226" v3="227" />
+ <tetrahedron index="558" v0="71" v1="109" v2="130" v3="169" />
+ <tetrahedron index="559" v0="160" v1="161" v2="162" v3="205" />
+ <tetrahedron index="560" v0="109" v1="159" v2="169" v3="194" />
+ <tetrahedron index="561" v0="121" v1="181" v2="205" v3="228" />
+ <tetrahedron index="562" v0="37" v1="59" v2="104" v3="135" />
+ <tetrahedron index="563" v0="52" v1="54" v2="100" v3="144" />
+ <tetrahedron index="564" v0="109" v1="130" v2="159" v3="169" />
+ <tetrahedron index="565" v0="130" v1="150" v2="152" v3="159" />
+ <tetrahedron index="566" v0="21" v1="166" v2="167" v3="168" />
+ <tetrahedron index="567" v0="25" v1="94" v2="192" v3="220" />
+ <tetrahedron index="568" v0="65" v1="108" v2="212" v3="222" />
+ <tetrahedron index="569" v0="25" v1="123" v2="192" v3="235" />
+ <tetrahedron index="570" v0="71" v1="109" v2="169" v3="171" />
+ <tetrahedron index="571" v0="95" v1="129" v2="193" v3="235" />
+ <tetrahedron index="572" v0="66" v1="67" v2="146" v3="223" />
+ <tetrahedron index="573" v0="22" v1="120" v2="152" v3="177" />
+ <tetrahedron index="574" v0="24" v1="185" v2="186" v3="215" />
+ <tetrahedron index="575" v0="13" v1="59" v2="90" v3="135" />
+ <tetrahedron index="576" v0="117" v1="147" v2="149" v3="170" />
+ <tetrahedron index="577" v0="2" v1="27" v2="52" v3="54" />
+ <tetrahedron index="578" v0="101" v1="131" v2="195" v3="235" />
+ <tetrahedron index="579" v0="101" v1="131" v2="195" v3="201" />
+ <tetrahedron index="580" v0="100" v1="125" v2="130" v3="152" />
+ <tetrahedron index="581" v0="136" v1="145" v2="167" v3="203" />
+ <tetrahedron index="582" v0="125" v1="152" v2="159" v3="174" />
+ <tetrahedron index="583" v0="181" v1="182" v2="183" v3="228" />
+ <tetrahedron index="584" v0="89" v1="133" v2="187" v3="189" />
+ <tetrahedron index="585" v0="22" v1="79" v2="152" v3="177" />
+ <tetrahedron index="586" v0="96" v1="224" v2="225" v3="235" />
+ <tetrahedron index="587" v0="53" v1="70" v2="87" v3="137" />
+ <tetrahedron index="588" v0="3" v1="33" v2="48" v3="197" />
+ <tetrahedron index="589" v0="3" v1="31" v2="97" v3="197" />
+ <tetrahedron index="590" v0="184" v1="185" v2="186" v3="227" />
+ <tetrahedron index="591" v0="21" v1="119" v2="166" v3="168" />
+ <tetrahedron index="592" v0="62" v1="138" v2="160" v3="230" />
+ <tetrahedron index="593" v0="172" v1="173" v2="174" v3="231" />
+ <tetrahedron index="594" v0="25" v1="224" v2="225" v3="235" />
+ <tetrahedron index="595" v0="104" v1="136" v2="145" v3="157" />
+ <tetrahedron index="596" v0="54" v1="76" v2="125" v3="152" />
+ <tetrahedron index="597" v0="24" v1="188" v2="213" v3="218" />
+ <tetrahedron index="598" v0="63" v1="115" v2="143" v3="160" />
+ <tetrahedron index="599" v0="117" v1="146" v2="164" v3="223" />
+ <tetrahedron index="600" v0="13" v1="90" v2="111" v3="134" />
+ <tetrahedron index="601" v0="79" v1="116" v2="145" v3="176" />
+ <tetrahedron index="602" v0="78" v1="79" v2="145" v3="176" />
+ <tetrahedron index="603" v0="52" v1="54" v2="144" v3="199" />
+ <tetrahedron index="604" v0="50" v1="63" v2="142" v3="233" />
+ <tetrahedron index="605" v0="98" v1="126" v2="142" v3="158" />
+ <tetrahedron index="606" v0="33" v1="48" v2="101" v3="197" />
+ <tetrahedron index="607" v0="105" v1="139" v2="219" v3="234" />
+ <tetrahedron index="608" v0="108" v1="129" v2="164" v3="223" />
+ <tetrahedron index="609" v0="109" v1="130" v2="159" v3="235" />
+ <tetrahedron index="610" v0="120" v1="206" v2="207" v3="228" />
+ <tetrahedron index="611" v0="62" v1="160" v2="217" v3="230" />
+ <tetrahedron index="612" v0="70" v1="112" v2="137" v3="168" />
+ <tetrahedron index="613" v0="120" v1="173" v2="174" v3="231" />
+ <tetrahedron index="614" v0="69" v1="70" v2="136" v3="200" />
+ <tetrahedron index="615" v0="125" v1="130" v2="159" v3="220" />
+ <tetrahedron index="616" v0="167" v1="168" v2="186" v3="207" />
+ <tetrahedron index="617" v0="27" v1="54" v2="76" v3="125" />
+ <tetrahedron index="618" v0="27" v1="54" v2="100" v3="125" />
+ <tetrahedron index="619" v0="108" v1="163" v2="212" v3="233" />
+ <tetrahedron index="620" v0="123" v1="158" v2="193" v3="214" />
+ <tetrahedron index="621" v0="52" v1="100" v2="144" v3="150" />
+ <tetrahedron index="622" v0="91" v1="103" v2="133" v3="213" />
+ <tetrahedron index="623" v0="139" v1="149" v2="162" v3="234" />
+ <tetrahedron index="624" v0="37" v1="59" v2="104" v3="204" />
+ <tetrahedron index="625" v0="72" v1="117" v2="147" v3="170" />
+ <tetrahedron index="626" v0="108" v1="128" v2="212" v3="233" />
+ <tetrahedron index="627" v0="49" v1="53" v2="105" v3="147" />
+ <tetrahedron index="628" v0="154" v1="172" v2="183" v3="231" />
+ <tetrahedron index="629" v0="154" v1="180" v2="191" v3="231" />
+ <tetrahedron index="630" v0="154" v1="172" v2="191" v3="231" />
+ <tetrahedron index="631" v0="54" v1="79" v2="144" v3="152" />
+ <tetrahedron index="632" v0="22" v1="54" v2="79" v3="152" />
+ <tetrahedron index="633" v0="11" v1="61" v2="96" v3="130" />
+ <tetrahedron index="634" v0="20" v1="118" v2="162" v3="234" />
+ <tetrahedron index="635" v0="51" v1="64" v2="139" v3="219" />
+ <tetrahedron index="636" v0="166" v1="167" v2="168" v3="207" />
+ <tetrahedron index="637" v0="33" v1="48" v2="73" v3="101" />
+ <tetrahedron index="638" v0="49" v1="53" v2="105" v3="232" />
+ <tetrahedron index="639" v0="49" v1="51" v2="105" v3="147" />
+ <tetrahedron index="640" v0="52" v1="68" v2="144" v3="199" />
+ <tetrahedron index="641" v0="11" v1="71" v2="109" v3="131" />
+ <tetrahedron index="642" v0="108" v1="163" v2="164" v3="223" />
+ <tetrahedron index="643" v0="107" v1="178" v2="180" v3="216" />
+ <tetrahedron index="644" v0="18" v1="46" v2="79" v3="199" />
+ <tetrahedron index="645" v0="88" v1="112" v2="215" v3="218" />
+ <tetrahedron index="646" v0="46" v1="52" v2="54" v3="199" />
+ <tetrahedron index="647" v0="172" v1="174" v2="192" v3="231" />
+ <tetrahedron index="648" v0="68" v1="79" v2="116" v3="144" />
+ <tetrahedron index="649" v0="78" v1="135" v2="145" v3="176" />
+ <tetrahedron index="650" v0="78" v1="104" v2="135" v3="145" />
+ <tetrahedron index="651" v0="117" v1="146" v2="164" v3="171" />
+ <tetrahedron index="652" v0="50" v1="63" v2="212" v3="233" />
+ <tetrahedron index="653" v0="32" v1="52" v2="100" v3="130" />
+ <tetrahedron index="654" v0="53" v1="87" v2="105" v3="137" />
+ <tetrahedron index="655" v0="11" v1="71" v2="109" v3="130" />
+ <tetrahedron index="656" v0="71" v1="109" v2="131" v3="171" />
+ <tetrahedron index="657" v0="66" v1="101" v2="146" v3="223" />
+ <tetrahedron index="658" v0="11" v1="96" v2="109" v3="130" />
+ <tetrahedron index="659" v0="88" v1="112" v2="137" v3="215" />
+ <tetrahedron index="660" v0="90" v1="111" v2="213" v3="218" />
+ <tetrahedron index="661" v0="52" v1="71" v2="130" v3="150" />
+ <tetrahedron index="662" v0="130" v1="150" v2="159" v3="169" />
+ <tetrahedron index="663" v0="153" v1="182" v2="189" v3="228" />
+ <tetrahedron index="664" v0="10" v1="31" v2="66" v3="223" />
+ <tetrahedron index="665" v0="82" v1="107" v2="208" v3="216" />
+ <tetrahedron index="666" v0="142" v1="148" v2="158" v3="178" />
+ <tetrahedron index="667" v0="123" v1="190" v2="210" v3="214" />
+ <tetrahedron index="668" v0="21" v1="68" v2="150" v3="166" />
+ <tetrahedron index="669" v0="142" v1="148" v2="161" v3="233" />
+ <tetrahedron index="670" v0="97" v1="101" v2="131" v3="235" />
+ <tetrahedron index="671" v0="33" v1="73" v2="101" v3="131" />
+ <tetrahedron index="672" v0="126" v1="142" v2="158" v3="178" />
+ <tetrahedron index="673" v0="108" v1="129" v2="164" v3="193" />
+ <tetrahedron index="674" v0="14" v1="39" v2="70" v3="87" />
+ <tetrahedron index="675" v0="15" v1="86" v2="113" v3="139" />
+ <tetrahedron index="676" v0="19" v1="49" v2="51" v3="147" />
+ <tetrahedron index="677" v0="21" v1="119" v2="150" v3="169" />
+ <tetrahedron index="678" v0="49" v1="51" v2="105" v3="232" />
+ <tetrahedron index="679" v0="48" v1="66" v2="101" v3="197" />
+ <tetrahedron index="680" v0="128" v1="142" v2="148" v3="158" />
+ <tetrahedron index="681" v0="164" v1="171" v2="195" v3="201" />
+ <tetrahedron index="682" v0="15" v1="64" v2="113" v3="139" />
+ <tetrahedron index="683" v0="112" v1="186" v2="215" v3="218" />
+ <tetrahedron index="684" v0="168" v1="185" v2="186" v3="227" />
+ <tetrahedron index="685" v0="71" v1="73" v2="131" v3="171" />
+ <tetrahedron index="686" v0="146" v1="164" v2="171" v3="201" />
+ <tetrahedron index="687" v0="51" v1="67" v2="147" v3="219" />
+ <tetrahedron index="688" v0="25" v1="220" v2="225" v3="235" />
+ <tetrahedron index="689" v0="116" v1="166" v2="177" v3="196" />
+ <tetrahedron index="690" v0="61" v1="96" v2="130" v3="220" />
+ <tetrahedron index="691" v0="117" v1="149" v2="165" v3="234" />
+ <tetrahedron index="692" v0="105" v1="147" v2="219" v3="234" />
+ <tetrahedron index="693" v0="23" v1="178" v2="180" v3="216" />
+ <tetrahedron index="694" v0="173" v1="182" v2="183" v3="228" />
+ <tetrahedron index="695" v0="122" v1="188" v2="207" v3="228" />
+ <tetrahedron index="696" v0="160" v1="162" v2="184" v3="205" />
+ <tetrahedron index="697" v0="68" v1="79" v2="145" v3="202" />
+ <tetrahedron index="698" v0="169" v1="206" v2="226" v3="227" />
+ <tetrahedron index="699" v0="23" v1="81" v2="178" v3="216" />
+ <tetrahedron index="700" v0="72" v1="117" v2="170" v3="171" />
+ <tetrahedron index="701" v0="21" v1="68" v2="196" v3="203" />
+ <tetrahedron index="702" v0="87" v1="137" v2="185" v3="215" />
+ <tetrahedron index="703" v0="2" v1="46" v2="52" v3="54" />
+ <tetrahedron index="704" v0="107" v1="126" v2="190" v3="214" />
+ <tetrahedron index="705" v0="219" v1="221" v2="230" v3="234" />
+ <tetrahedron index="706" v0="59" v1="90" v2="135" v3="218" />
+ <tetrahedron index="707" v0="96" v1="109" v2="131" v3="235" />
+ <tetrahedron index="708" v0="15" v1="86" v2="87" v3="139" />
+ <tetrahedron index="709" v0="112" v1="137" v2="168" v3="185" />
+ <tetrahedron index="710" v0="9" v1="92" v2="107" v3="229" />
+ <tetrahedron index="711" v0="109" v1="159" v2="194" v3="235" />
+ <tetrahedron index="712" v0="20" v1="221" v2="230" v3="234" />
+ <tetrahedron index="713" v0="21" v1="72" v2="170" v3="171" />
+ <tetrahedron index="714" v0="119" v1="168" v2="207" v3="227" />
+ <tetrahedron index="715" v0="72" v1="117" v2="146" v3="171" />
+ <tetrahedron index="716" v0="49" v1="53" v2="72" v3="147" />
+ <tetrahedron index="717" v0="112" v1="136" v2="186" v3="218" />
+ <tetrahedron index="718" v0="108" v1="163" v2="164" v3="193" />
+ <tetrahedron index="719" v0="33" v1="97" v2="101" v3="131" />
+ <tetrahedron index="720" v0="166" v1="167" v2="196" v3="207" />
+ <tetrahedron index="721" v0="123" v1="190" v2="192" v3="210" />
+ <tetrahedron index="722" v0="67" v1="117" v2="146" v3="223" />
+ <tetrahedron index="723" v0="90" v1="111" v2="135" v3="218" />
+ <tetrahedron index="724" v0="175" v1="176" v2="177" v3="207" />
+ <tetrahedron index="725" v0="96" v1="109" v2="130" v3="235" />
+ <tetrahedron index="726" v0="15" v1="41" v2="87" v3="139" />
+ <tetrahedron index="727" v0="80" v1="98" v2="208" v3="216" />
+ <tetrahedron index="728" v0="113" v1="160" v2="162" v3="230" />
+ <tetrahedron index="729" v0="119" v1="150" v2="169" v3="206" />
+ <tetrahedron index="730" v0="102" v1="132" v2="138" v3="155" />
+ <tetrahedron index="731" v0="61" v1="94" v2="125" v3="220" />
+ <tetrahedron index="732" v0="101" v1="131" v2="146" v3="201" />
+ <tetrahedron index="733" v0="21" v1="72" v2="151" v3="170" />
+ <tetrahedron index="734" v0="21" v1="119" v2="169" v3="170" />
+ <tetrahedron index="735" v0="73" v1="131" v2="146" v3="171" />
+ <tetrahedron index="736" v0="32" v1="61" v2="100" v3="130" />
+ <tetrahedron index="737" v0="24" v1="89" v2="187" v3="211" />
+ <tetrahedron index="738" v0="20" v1="162" v2="217" v3="230" />
+ <tetrahedron index="739" v0="164" v1="165" v2="170" v3="227" />
+ <tetrahedron index="740" v0="73" v1="101" v2="131" v3="146" />
+ <tetrahedron index="741" v0="119" v1="150" v2="166" v3="206" />
+ <tetrahedron index="742" v0="109" v1="131" v2="194" v3="235" />
+ <tetrahedron index="743" v0="86" v1="113" v2="139" v3="185" />
+ <tetrahedron index="744" v0="71" v1="72" v2="73" v3="171" />
+ <tetrahedron index="745" v0="24" v1="89" v2="187" v3="189" />
+ <tetrahedron index="746" v0="166" v1="177" v2="206" v3="207" />
+ <tetrahedron index="747" v0="147" v1="149" v2="151" v3="170" />
+ <tetrahedron index="748" v0="151" v1="168" v2="185" v3="227" />
+ <tetrahedron index="749" v0="6" v1="38" v2="59" v3="204" />
+ <tetrahedron index="750" v0="21" v1="71" v2="72" v3="171" />
+ <tetrahedron index="751" v0="53" v1="70" v2="137" v3="151" />
+ <tetrahedron index="752" v0="70" v1="137" v2="151" v3="168" />
+ <tetrahedron index="753" v0="31" v1="95" v2="97" v3="129" />
+ <tetrahedron index="754" v0="190" v1="191" v2="192" v3="210" />
+ <tetrahedron index="755" v0="145" v1="167" v2="176" v3="196" />
+ <tetrahedron index="756" v0="72" v1="73" v2="146" v3="171" />
+ <tetrahedron index="757" v0="61" v1="125" v2="130" v3="220" />
+ <tetrahedron index="758" v0="118" v1="161" v2="162" v3="233" />
+ <tetrahedron index="759" v0="18" v1="68" v2="79" v3="202" />
+ <tetrahedron index="760" v0="19" v1="49" v2="72" v3="147" />
+ <tetrahedron index="761" v0="19" v1="51" v2="67" v3="147" />
+ <tetrahedron index="762" v0="102" v1="138" v2="143" v3="155" />
+ <tetrahedron index="763" v0="71" v1="130" v2="150" v3="169" />
+ <tetrahedron index="764" v0="19" v1="67" v2="117" v3="147" />
+ <tetrahedron index="765" v0="205" v1="206" v2="228" v3="231" />
+ <tetrahedron index="766" v0="122" v1="187" v2="205" v3="228" />
+ <tetrahedron index="767" v0="86" v1="113" v2="184" v3="185" />
+ <tetrahedron index="768" v0="31" v1="101" v2="129" v3="223" />
+ <tetrahedron index="769" v0="89" v1="91" v2="133" v3="213" />
+ <tetrahedron index="770" v0="136" v1="157" v2="186" v3="218" />
+ <tetrahedron index="771" v0="18" v1="47" v2="78" v3="202" />
+ <tetrahedron index="772" v0="58" v1="86" v2="138" v3="211" />
+ <tetrahedron index="773" v0="159" v1="192" v2="206" v3="226" />
+ <tetrahedron index="774" v0="33" v1="96" v2="97" v3="131" />
+ <tetrahedron index="775" v0="10" v1="65" v2="108" v3="223" />
+ <tetrahedron index="776" v0="139" v1="149" v2="162" v3="185" />
+ <tetrahedron index="777" v0="113" v1="139" v2="162" v3="185" />
+ <tetrahedron index="778" v0="150" v1="159" v2="169" v3="206" />
+ <tetrahedron index="779" v0="53" v1="72" v2="147" v3="151" />
+ <tetrahedron index="780" v0="72" v1="147" v2="151" v3="170" />
+ <tetrahedron index="781" v0="67" v1="147" v2="219" v3="234" />
+ <tetrahedron index="782" v0="89" v1="110" v2="132" v3="211" />
+ <tetrahedron index="783" v0="112" v1="185" v2="186" v3="215" />
+ <tetrahedron index="784" v0="123" v1="159" v2="194" v3="226" />
+ <tetrahedron index="785" v0="68" v1="150" v2="166" v3="198" />
+ <tetrahedron index="786" v0="109" v1="131" v2="171" v3="194" />
+ <tetrahedron index="787" v0="150" v1="166" v2="198" v3="206" />
+ <tetrahedron index="788" v0="121" v1="155" v2="179" v3="205" />
+ <tetrahedron index="789" v0="62" v1="102" v2="138" v3="143" />
+ <tetrahedron index="790" v0="148" v1="163" v2="193" v3="226" />
+ <tetrahedron index="791" v0="10" v1="31" v2="95" v3="129" />
+ <tetrahedron index="792" v0="131" v1="194" v2="195" v3="235" />
+ <tetrahedron index="793" v0="7" v1="39" v2="53" v3="232" />
+ <tetrahedron index="794" v0="24" v1="186" v2="215" v3="218" />
+ <tetrahedron index="795" v0="162" v1="184" v2="205" v3="227" />
+ <tetrahedron index="796" v0="21" v1="70" v2="151" v3="168" />
+ <tetrahedron index="797" v0="152" v1="159" v2="174" v3="206" />
+ <tetrahedron index="798" v0="101" v1="146" v2="201" v3="223" />
+ <tetrahedron index="799" v0="21" v1="71" v2="150" v3="169" />
+ <tetrahedron index="800" v0="21" v1="71" v2="169" v3="171" />
+ <tetrahedron index="801" v0="21" v1="169" v2="170" v3="171" />
+ <tetrahedron index="802" v0="162" v1="184" v2="185" v3="227" />
+ <tetrahedron index="803" v0="121" v1="180" v2="226" v3="231" />
+ <tetrahedron index="804" v0="20" v1="162" v2="230" v3="234" />
+ <tetrahedron index="805" v0="68" v1="69" v2="145" v3="203" />
+ <tetrahedron index="806" v0="169" v1="171" v2="194" v3="226" />
+ <tetrahedron index="807" v0="21" v1="53" v2="70" v3="151" />
+ <tetrahedron index="808" v0="118" v1="149" v2="165" v3="227" />
+ <tetrahedron index="809" v0="21" v1="53" v2="72" v3="151" />
+ <tetrahedron index="810" v0="70" v1="88" v2="136" v3="200" />
+ <tetrahedron index="811" v0="50" v1="98" v2="128" v3="142" />
+ <tetrahedron index="812" v0="119" v1="169" v2="170" v3="227" />
+ <tetrahedron index="813" v0="96" v1="97" v2="131" v3="235" />
+ <tetrahedron index="814" v0="19" v1="48" v2="66" v3="146" />
+ <tetrahedron index="815" v0="100" v1="144" v2="150" v3="152" />
+ <tetrahedron index="816" v0="123" v1="158" v2="193" v3="226" />
+ <tetrahedron index="817" v0="148" v1="158" v2="178" v3="226" />
+ <tetrahedron index="818" v0="95" v1="97" v2="129" v3="235" />
+ <tetrahedron index="819" v0="19" v1="48" v2="73" v3="146" />
+ <tetrahedron index="820" v0="123" v1="190" v2="192" v3="226" />
+ <tetrahedron index="821" v0="87" v1="105" v2="137" v3="185" />
+ <tetrahedron index="822" v0="86" v1="87" v2="185" v3="215" />
+ <tetrahedron index="823" v0="121" v1="154" v2="180" v3="231" />
+ <tetrahedron index="824" v0="94" v1="106" v2="192" v3="210" />
+ <tetrahedron index="825" v0="41" v1="87" v2="105" v3="139" />
+ <tetrahedron index="826" v0="121" v1="183" v2="228" v3="231" />
+ <tetrahedron index="827" v0="63" v1="212" v2="217" v3="233" />
+ <tetrahedron index="828" v0="166" v1="177" v2="198" v3="206" />
+ <tetrahedron index="829" v0="27" v1="32" v2="52" v3="100" />
+ <tetrahedron index="830" v0="117" v1="149" v2="165" v3="170" />
+ <tetrahedron index="831" v0="120" v1="206" v2="228" v3="231" />
+ <tetrahedron index="832" v0="117" v1="164" v2="165" v3="234" />
+ <tetrahedron index="833" v0="27" v1="52" v2="54" v3="100" />
+ <tetrahedron index="834" v0="112" v1="137" v2="185" v3="215" />
+ <tetrahedron index="835" v0="148" v1="161" v2="163" v3="226" />
+ <tetrahedron index="836" v0="10" v1="31" v2="129" v3="223" />
+ <tetrahedron index="837" v0="50" v1="128" v2="142" v3="233" />
+ <tetrahedron index="838" v0="24" v1="122" v2="186" v3="218" />
+ <tetrahedron index="839" v0="9" v1="82" v2="107" v3="208" />
+ <tetrahedron index="840" v0="158" v1="178" v2="190" v3="226" />
+ <tetrahedron index="841" v0="129" v1="193" v2="195" v3="235" />
+ <tetrahedron index="842" v0="68" v1="116" v2="145" v3="196" />
+ <tetrahedron index="843" v0="98" v1="128" v2="158" v3="214" />
+ <tetrahedron index="844" v0="122" v1="184" v2="187" v3="205" />
+ <tetrahedron index="845" v0="11" v1="71" v2="73" v3="131" />
+ <tetrahedron index="846" v0="11" v1="33" v2="73" v3="131" />
+ <tetrahedron index="847" v0="11" v1="32" v2="61" v3="130" />
+ <tetrahedron index="848" v0="11" v1="32" v2="71" v3="130" />
+ <tetrahedron index="849" v0="68" v1="116" v2="166" v3="196" />
+ <tetrahedron index="850" v0="68" v1="79" v2="116" v3="145" />
+ <tetrahedron index="851" v0="11" v1="96" v2="109" v3="131" />
+ <tetrahedron index="852" v0="21" v1="70" v2="167" v3="203" />
+ <tetrahedron index="853" v0="21" v1="70" v2="167" v3="168" />
+ <tetrahedron index="854" v0="101" v1="129" v2="195" v3="201" />
+ <tetrahedron index="855" v0="95" v1="108" v2="158" v3="193" />
+ <tetrahedron index="856" v0="70" v1="112" v2="167" v3="168" />
+ <tetrahedron index="857" v0="21" v1="119" v2="151" v3="170" />
+ <tetrahedron index="858" v0="112" v1="167" v2="168" v3="186" />
+ <tetrahedron index="859" v0="150" v1="152" v2="159" v3="206" />
+ <tetrahedron index="860" v0="126" v1="158" v2="190" v3="214" />
+ <tetrahedron index="861" v0="84" v1="103" v2="133" v3="141" />
+ <tetrahedron index="862" v0="98" v1="126" v2="208" v3="229" />
+ <tetrahedron index="863" v0="96" v1="220" v2="225" v3="235" />
+ <tetrahedron index="864" v0="122" v1="157" v2="188" v3="218" />
+ <tetrahedron index="865" v0="122" v1="157" v2="186" v3="218" />
+ <tetrahedron index="866" v0="192" v1="206" v2="226" v3="231" />
+ <tetrahedron index="867" v0="139" v1="219" v2="230" v3="234" />
+ <tetrahedron index="868" v0="136" v1="157" v2="167" v3="186" />
+ <tetrahedron index="869" v0="112" v1="136" v2="167" v3="186" />
+ <tetrahedron index="870" v0="116" v1="176" v2="177" v3="196" />
+ <tetrahedron index="871" v0="94" v1="106" v2="124" v3="210" />
+ <tetrahedron index="872" v0="31" v1="66" v2="101" v3="223" />
+ <tetrahedron index="873" v0="108" v1="148" v2="158" v3="193" />
+ <tetrahedron index="874" v0="108" v1="148" v2="163" v3="193" />
+ <tetrahedron index="875" v0="20" v1="163" v2="212" v3="222" />
+ <tetrahedron index="876" v0="123" v1="193" v2="214" v3="235" />
+ <tetrahedron index="877" v0="175" v1="188" v2="207" v3="228" />
+ <tetrahedron index="878" v0="64" v1="139" v2="219" v3="230" />
+ <tetrahedron index="879" v0="88" v1="112" v2="136" v3="218" />
+ <tetrahedron index="880" v0="41" v1="51" v2="105" v3="232" />
+ <tetrahedron index="881" v0="21" v1="119" v2="151" v3="168" />
+ <tetrahedron index="882" v0="149" v1="165" v2="170" v3="227" />
+ <tetrahedron index="883" v0="124" v1="127" v2="191" v3="210" />
+ <tetrahedron index="884" v0="68" v1="116" v2="166" v3="198" />
+ <tetrahedron index="885" v0="137" v1="151" v2="168" v3="185" />
+ <tetrahedron index="886" v0="33" v1="97" v2="101" v3="197" />
+ <tetrahedron index="887" v0="172" v1="191" v2="192" v3="231" />
+ <tetrahedron index="888" v0="53" v1="105" v2="137" v3="151" />
+ <tetrahedron index="889" v0="53" v1="87" v2="105" v3="232" />
+ <tetrahedron index="890" v0="39" v1="53" v2="87" v3="232" />
+ <tetrahedron index="891" v0="7" v1="49" v2="53" v3="232" />
+ <tetrahedron index="892" v0="105" v1="137" v2="151" v3="185" />
+ <tetrahedron index="893" v0="105" v1="149" v2="151" v3="185" />
+ <tetrahedron index="894" v0="25" v1="123" v2="192" v3="210" />
+ <tetrahedron index="895" v0="131" v1="171" v2="194" v3="195" />
+ <tetrahedron index="896" v0="68" v1="144" v2="150" v3="198" />
+ <tetrahedron index="897" v0="116" v1="166" v2="177" v3="198" />
+ <tetrahedron index="898" v0="101" v1="129" v2="195" v3="235" />
+ <tetrahedron index="899" v0="48" v1="66" v2="101" v3="146" />
+ <tetrahedron index="900" v0="48" v1="73" v2="101" v3="146" />
+ <tetrahedron index="901" v0="68" v1="116" v2="144" v3="198" />
+ <tetrahedron index="902" v0="116" v1="144" v2="177" v3="198" />
+ <tetrahedron index="903" v0="144" v1="152" v2="177" v3="198" />
+ <tetrahedron index="904" v0="144" v1="150" v2="152" v3="198" />
+ <tetrahedron index="905" v0="18" v1="78" v2="79" v3="202" />
+ <tetrahedron index="906" v0="106" v1="191" v2="192" v3="210" />
+ <tetrahedron index="907" v0="106" v1="124" v2="191" v3="210" />
+ <tetrahedron index="908" v0="68" v1="69" v2="145" v3="202" />
+ <tetrahedron index="909" v0="205" v1="206" v2="226" v3="227" />
+ <tetrahedron index="910" v0="37" v1="47" v2="78" v3="104" />
+ <tetrahedron index="911" v0="149" v1="151" v2="185" v3="227" />
+ <tetrahedron index="912" v0="112" v1="168" v2="185" v3="186" />
+ <tetrahedron index="913" v0="21" v1="68" v2="166" v3="196" />
+ <tetrahedron index="914" v0="123" v1="159" v2="192" v3="226" />
+ <tetrahedron index="915" v0="59" v1="69" v2="104" v3="136" />
+ <tetrahedron index="916" v0="54" v1="79" v2="144" v3="199" />
+ <tetrahedron index="917" v0="46" v1="54" v2="79" v3="199" />
+ <tetrahedron index="918" v0="38" v1="59" v2="88" v3="200" />
+ <tetrahedron index="919" v0="59" v1="88" v2="136" v3="200" />
+ <tetrahedron index="920" v0="0" v1="30" v2="50" v3="98" />
+ <tetrahedron index="921" v0="20" v1="118" v2="162" v3="233" />
+ <tetrahedron index="922" v0="20" v1="162" v2="217" v3="233" />
+ <tetrahedron index="923" v0="101" v1="129" v2="201" v3="223" />
+ <tetrahedron index="924" v0="65" v1="66" v2="222" v3="223" />
+ <tetrahedron index="925" v0="125" v1="159" v2="192" v3="220" />
+ <tetrahedron index="926" v0="131" v1="146" v2="171" v3="201" />
+ <tetrahedron index="927" v0="131" v1="171" v2="195" v3="201" />
+ <tetrahedron index="928" v0="78" v1="79" v2="145" v3="202" />
+ <tetrahedron index="929" v0="78" v1="104" v2="145" v3="202" />
+ <tetrahedron index="930" v0="47" v1="78" v2="104" v3="202" />
+ <tetrahedron index="931" v0="69" v1="104" v2="145" v3="202" />
+ <tetrahedron index="932" v0="47" v1="69" v2="104" v3="202" />
+ <tetrahedron index="933" v0="28" v1="208" v2="209" v3="229" />
+ <tetrahedron index="934" v0="118" v1="162" v2="205" v3="227" />
+ <tetrahedron index="935" v0="118" v1="161" v2="162" v3="205" />
+ <tetrahedron index="936" v0="174" v1="192" v2="206" v3="231" />
+ <tetrahedron index="937" v0="121" v1="205" v2="226" v3="231" />
+ <tetrahedron index="938" v0="20" v1="118" v2="163" v3="233" />
+ <tetrahedron index="939" v0="2" v1="27" v2="32" v3="52" />
+ <tetrahedron index="940" v0="50" v1="128" v2="212" v3="233" />
+ <tetrahedron index="941" v0="14" v1="70" v2="87" v3="88" />
+ <tetrahedron index="942" v0="67" v1="117" v2="147" v3="234" />
+ <tetrahedron index="943" v0="190" v1="192" v2="226" v3="231" />
+ <tetrahedron index="944" v0="67" v1="117" v2="223" v3="234" />
+ <tetrahedron index="945" v0="64" v1="113" v2="138" v3="230" />
+ <tetrahedron index="946" v0="139" v1="162" v2="230" v3="234" />
+ <tetrahedron index="947" v0="108" v1="128" v2="148" v3="233" />
+ <tetrahedron index="948" v0="20" v1="118" v2="163" v3="234" />
+ <tetrahedron index="949" v0="20" v1="163" v2="222" v3="234" />
+ <tetrahedron index="950" v0="163" v1="222" v2="223" v3="234" />
+ <tetrahedron index="951" v0="118" v1="164" v2="165" v3="234" />
+ <tetrahedron index="952" v0="21" v1="166" v2="167" v3="196" />
+ <tetrahedron index="953" v0="118" v1="163" v2="164" v3="234" />
+ <tetrahedron index="954" v0="163" v1="164" v2="223" v3="234" />
+ <tetrahedron index="955" v0="123" v1="159" v2="192" v3="235" />
+ <tetrahedron index="956" v0="159" v1="192" v2="220" v3="235" />
+ <tetrahedron index="957" v0="30" v1="50" v2="98" v3="128" />
+ <tetrahedron index="958" v0="0" v1="30" v2="60" v3="98" />
+ <tetrahedron index="959" v0="30" v1="60" v2="98" v3="128" />
+ </cells>
+ <domains>
+ <mesh_value_collection name="m" type="uint" dim="2" size="302">
+ <value cell_index="0" local_entity="0" value="5" />
+ <value cell_index="2" local_entity="2" value="5" />
+ <value cell_index="2" local_entity="3" value="10" />
+ <value cell_index="6" local_entity="2" value="20" />
+ <value cell_index="7" local_entity="1" value="15" />
+ <value cell_index="7" local_entity="3" value="10" />
+ <value cell_index="8" local_entity="3" value="30" />
+ <value cell_index="12" local_entity="0" value="15" />
+ <value cell_index="13" local_entity="1" value="15" />
+ <value cell_index="14" local_entity="3" value="15" />
+ <value cell_index="17" local_entity="3" value="5" />
+ <value cell_index="18" local_entity="0" value="15" />
+ <value cell_index="19" local_entity="0" value="10" />
+ <value cell_index="20" local_entity="3" value="5" />
+ <value cell_index="21" local_entity="3" value="30" />
+ <value cell_index="23" local_entity="3" value="10" />
+ <value cell_index="25" local_entity="0" value="10" />
+ <value cell_index="27" local_entity="1" value="15" />
+ <value cell_index="36" local_entity="0" value="15" />
+ <value cell_index="39" local_entity="3" value="25" />
+ <value cell_index="43" local_entity="3" value="20" />
+ <value cell_index="50" local_entity="3" value="5" />
+ <value cell_index="52" local_entity="3" value="15" />
+ <value cell_index="53" local_entity="3" value="5" />
+ <value cell_index="55" local_entity="1" value="10" />
+ <value cell_index="62" local_entity="3" value="30" />
+ <value cell_index="64" local_entity="3" value="20" />
+ <value cell_index="65" local_entity="2" value="5" />
+ <value cell_index="68" local_entity="3" value="30" />
+ <value cell_index="71" local_entity="2" value="20" />
+ <value cell_index="74" local_entity="3" value="30" />
+ <value cell_index="78" local_entity="3" value="25" />
+ <value cell_index="79" local_entity="3" value="25" />
+ <value cell_index="88" local_entity="0" value="5" />
+ <value cell_index="89" local_entity="3" value="30" />
+ <value cell_index="92" local_entity="3" value="5" />
+ <value cell_index="93" local_entity="0" value="15" />
+ <value cell_index="98" local_entity="0" value="15" />
+ <value cell_index="100" local_entity="0" value="15" />
+ <value cell_index="103" local_entity="3" value="15" />
+ <value cell_index="105" local_entity="3" value="25" />
+ <value cell_index="106" local_entity="0" value="10" />
+ <value cell_index="107" local_entity="0" value="15" />
+ <value cell_index="111" local_entity="0" value="15" />
+ <value cell_index="112" local_entity="3" value="20" />
+ <value cell_index="114" local_entity="3" value="30" />
+ <value cell_index="115" local_entity="0" value="10" />
+ <value cell_index="117" local_entity="3" value="15" />
+ <value cell_index="120" local_entity="0" value="15" />
+ <value cell_index="122" local_entity="3" value="20" />
+ <value cell_index="123" local_entity="2" value="5" />
+ <value cell_index="123" local_entity="3" value="10" />
+ <value cell_index="124" local_entity="0" value="15" />
+ <value cell_index="125" local_entity="0" value="15" />
+ <value cell_index="127" local_entity="2" value="5" />
+ <value cell_index="127" local_entity="3" value="15" />
+ <value cell_index="128" local_entity="2" value="5" />
+ <value cell_index="129" local_entity="2" value="20" />
+ <value cell_index="131" local_entity="0" value="15" />
+ <value cell_index="134" local_entity="3" value="20" />
+ <value cell_index="135" local_entity="2" value="30" />
+ <value cell_index="135" local_entity="3" value="20" />
+ <value cell_index="136" local_entity="0" value="15" />
+ <value cell_index="137" local_entity="3" value="30" />
+ <value cell_index="138" local_entity="0" value="10" />
+ <value cell_index="140" local_entity="3" value="5" />
+ <value cell_index="142" local_entity="3" value="30" />
+ <value cell_index="143" local_entity="3" value="20" />
+ <value cell_index="144" local_entity="0" value="10" />
+ <value cell_index="147" local_entity="3" value="30" />
+ <value cell_index="148" local_entity="1" value="15" />
+ <value cell_index="161" local_entity="3" value="10" />
+ <value cell_index="165" local_entity="0" value="5" />
+ <value cell_index="166" local_entity="3" value="30" />
+ <value cell_index="169" local_entity="3" value="10" />
+ <value cell_index="170" local_entity="3" value="25" />
+ <value cell_index="177" local_entity="3" value="5" />
+ <value cell_index="180" local_entity="3" value="30" />
+ <value cell_index="181" local_entity="2" value="10" />
+ <value cell_index="185" local_entity="0" value="5" />
+ <value cell_index="192" local_entity="3" value="25" />
+ <value cell_index="193" local_entity="3" value="5" />
+ <value cell_index="194" local_entity="2" value="20" />
+ <value cell_index="197" local_entity="3" value="30" />
+ <value cell_index="198" local_entity="3" value="25" />
+ <value cell_index="205" local_entity="0" value="10" />
+ <value cell_index="207" local_entity="3" value="30" />
+ <value cell_index="208" local_entity="3" value="15" />
+ <value cell_index="209" local_entity="1" value="10" />
+ <value cell_index="209" local_entity="3" value="15" />
+ <value cell_index="210" local_entity="3" value="30" />
+ <value cell_index="211" local_entity="2" value="5" />
+ <value cell_index="212" local_entity="0" value="5" />
+ <value cell_index="213" local_entity="3" value="10" />
+ <value cell_index="215" local_entity="2" value="15" />
+ <value cell_index="219" local_entity="3" value="30" />
+ <value cell_index="220" local_entity="0" value="15" />
+ <value cell_index="221" local_entity="0" value="15" />
+ <value cell_index="226" local_entity="2" value="5" />
+ <value cell_index="227" local_entity="3" value="20" />
+ <value cell_index="231" local_entity="2" value="30" />
+ <value cell_index="232" local_entity="3" value="25" />
+ <value cell_index="236" local_entity="3" value="30" />
+ <value cell_index="237" local_entity="3" value="30" />
+ <value cell_index="240" local_entity="2" value="20" />
+ <value cell_index="241" local_entity="3" value="30" />
+ <value cell_index="246" local_entity="2" value="15" />
+ <value cell_index="246" local_entity="3" value="10" />
+ <value cell_index="255" local_entity="3" value="25" />
+ <value cell_index="261" local_entity="2" value="5" />
+ <value cell_index="262" local_entity="0" value="10" />
+ <value cell_index="268" local_entity="3" value="20" />
+ <value cell_index="273" local_entity="0" value="5" />
+ <value cell_index="275" local_entity="1" value="5" />
+ <value cell_index="278" local_entity="1" value="30" />
+ <value cell_index="279" local_entity="3" value="30" />
+ <value cell_index="280" local_entity="3" value="15" />
+ <value cell_index="287" local_entity="3" value="30" />
+ <value cell_index="288" local_entity="3" value="15" />
+ <value cell_index="296" local_entity="2" value="15" />
+ <value cell_index="297" local_entity="0" value="15" />
+ <value cell_index="299" local_entity="3" value="30" />
+ <value cell_index="300" local_entity="2" value="15" />
+ <value cell_index="301" local_entity="2" value="20" />
+ <value cell_index="303" local_entity="2" value="15" />
+ <value cell_index="303" local_entity="3" value="10" />
+ <value cell_index="304" local_entity="3" value="10" />
+ <value cell_index="305" local_entity="3" value="30" />
+ <value cell_index="306" local_entity="3" value="30" />
+ <value cell_index="308" local_entity="2" value="15" />
+ <value cell_index="309" local_entity="0" value="15" />
+ <value cell_index="313" local_entity="0" value="15" />
+ <value cell_index="314" local_entity="0" value="5" />
+ <value cell_index="315" local_entity="2" value="15" />
+ <value cell_index="316" local_entity="3" value="30" />
+ <value cell_index="317" local_entity="3" value="30" />
+ <value cell_index="323" local_entity="2" value="5" />
+ <value cell_index="324" local_entity="3" value="20" />
+ <value cell_index="330" local_entity="2" value="15" />
+ <value cell_index="330" local_entity="3" value="5" />
+ <value cell_index="331" local_entity="0" value="15" />
+ <value cell_index="332" local_entity="0" value="15" />
+ <value cell_index="333" local_entity="3" value="15" />
+ <value cell_index="334" local_entity="3" value="10" />
+ <value cell_index="336" local_entity="3" value="15" />
+ <value cell_index="337" local_entity="2" value="15" />
+ <value cell_index="338" local_entity="3" value="25" />
+ <value cell_index="339" local_entity="0" value="15" />
+ <value cell_index="341" local_entity="3" value="20" />
+ <value cell_index="342" local_entity="2" value="5" />
+ <value cell_index="345" local_entity="2" value="20" />
+ <value cell_index="346" local_entity="0" value="15" />
+ <value cell_index="347" local_entity="0" value="15" />
+ <value cell_index="350" local_entity="3" value="10" />
+ <value cell_index="357" local_entity="0" value="15" />
+ <value cell_index="358" local_entity="0" value="15" />
+ <value cell_index="360" local_entity="0" value="15" />
+ <value cell_index="361" local_entity="0" value="10" />
+ <value cell_index="364" local_entity="3" value="5" />
+ <value cell_index="365" local_entity="0" value="10" />
+ <value cell_index="366" local_entity="2" value="30" />
+ <value cell_index="367" local_entity="3" value="5" />
+ <value cell_index="370" local_entity="3" value="10" />
+ <value cell_index="380" local_entity="3" value="5" />
+ <value cell_index="383" local_entity="1" value="5" />
+ <value cell_index="389" local_entity="3" value="15" />
+ <value cell_index="390" local_entity="3" value="15" />
+ <value cell_index="391" local_entity="3" value="15" />
+ <value cell_index="393" local_entity="0" value="15" />
+ <value cell_index="394" local_entity="0" value="10" />
+ <value cell_index="395" local_entity="3" value="15" />
+ <value cell_index="396" local_entity="2" value="30" />
+ <value cell_index="400" local_entity="1" value="5" />
+ <value cell_index="402" local_entity="3" value="5" />
+ <value cell_index="410" local_entity="0" value="10" />
+ <value cell_index="413" local_entity="3" value="25" />
+ <value cell_index="414" local_entity="3" value="20" />
+ <value cell_index="415" local_entity="3" value="20" />
+ <value cell_index="418" local_entity="3" value="25" />
+ <value cell_index="428" local_entity="3" value="5" />
+ <value cell_index="435" local_entity="3" value="25" />
+ <value cell_index="436" local_entity="2" value="10" />
+ <value cell_index="436" local_entity="3" value="5" />
+ <value cell_index="444" local_entity="0" value="5" />
+ <value cell_index="445" local_entity="0" value="5" />
+ <value cell_index="447" local_entity="3" value="10" />
+ <value cell_index="448" local_entity="0" value="10" />
+ <value cell_index="450" local_entity="2" value="10" />
+ <value cell_index="451" local_entity="0" value="10" />
+ <value cell_index="452" local_entity="3" value="25" />
+ <value cell_index="454" local_entity="3" value="25" />
+ <value cell_index="465" local_entity="3" value="10" />
+ <value cell_index="466" local_entity="3" value="10" />
+ <value cell_index="470" local_entity="0" value="10" />
+ <value cell_index="473" local_entity="0" value="10" />
+ <value cell_index="483" local_entity="0" value="10" />
+ <value cell_index="487" local_entity="2" value="20" />
+ <value cell_index="490" local_entity="3" value="25" />
+ <value cell_index="491" local_entity="3" value="10" />
+ <value cell_index="492" local_entity="0" value="10" />
+ <value cell_index="493" local_entity="3" value="5" />
+ <value cell_index="494" local_entity="2" value="5" />
+ <value cell_index="494" local_entity="3" value="10" />
+ <value cell_index="495" local_entity="3" value="25" />
+ <value cell_index="496" local_entity="3" value="20" />
+ <value cell_index="499" local_entity="0" value="10" />
+ <value cell_index="500" local_entity="3" value="20" />
+ <value cell_index="501" local_entity="0" value="10" />
+ <value cell_index="503" local_entity="3" value="5" />
+ <value cell_index="506" local_entity="0" value="5" />
+ <value cell_index="509" local_entity="3" value="30" />
+ <value cell_index="512" local_entity="3" value="25" />
+ <value cell_index="516" local_entity="3" value="5" />
+ <value cell_index="517" local_entity="3" value="25" />
+ <value cell_index="521" local_entity="0" value="10" />
+ <value cell_index="524" local_entity="0" value="5" />
+ <value cell_index="531" local_entity="0" value="10" />
+ <value cell_index="533" local_entity="3" value="25" />
+ <value cell_index="534" local_entity="0" value="10" />
+ <value cell_index="536" local_entity="0" value="10" />
+ <value cell_index="537" local_entity="0" value="10" />
+ <value cell_index="540" local_entity="3" value="25" />
+ <value cell_index="541" local_entity="0" value="10" />
+ <value cell_index="546" local_entity="0" value="10" />
+ <value cell_index="547" local_entity="3" value="25" />
+ <value cell_index="548" local_entity="3" value="25" />
+ <value cell_index="550" local_entity="0" value="10" />
+ <value cell_index="552" local_entity="3" value="5" />
+ <value cell_index="573" local_entity="0" value="10" />
+ <value cell_index="575" local_entity="3" value="20" />
+ <value cell_index="577" local_entity="2" value="25" />
+ <value cell_index="580" local_entity="2" value="10" />
+ <value cell_index="582" local_entity="2" value="10" />
+ <value cell_index="583" local_entity="3" value="15" />
+ <value cell_index="584" local_entity="0" value="5" />
+ <value cell_index="590" local_entity="3" value="5" />
+ <value cell_index="593" local_entity="3" value="10" />
+ <value cell_index="595" local_entity="2" value="5" />
+ <value cell_index="597" local_entity="1" value="20" />
+ <value cell_index="601" local_entity="0" value="10" />
+ <value cell_index="605" local_entity="3" value="15" />
+ <value cell_index="613" local_entity="3" value="10" />
+ <value cell_index="617" local_entity="3" value="25" />
+ <value cell_index="632" local_entity="3" value="25" />
+ <value cell_index="643" local_entity="3" value="15" />
+ <value cell_index="644" local_entity="3" value="25" />
+ <value cell_index="645" local_entity="1" value="20" />
+ <value cell_index="649" local_entity="0" value="10" />
+ <value cell_index="650" local_entity="0" value="10" />
+ <value cell_index="660" local_entity="1" value="20" />
+ <value cell_index="665" local_entity="1" value="30" />
+ <value cell_index="672" local_entity="2" value="15" />
+ <value cell_index="674" local_entity="2" value="20" />
+ <value cell_index="699" local_entity="2" value="30" />
+ <value cell_index="703" local_entity="2" value="25" />
+ <value cell_index="706" local_entity="2" value="20" />
+ <value cell_index="708" local_entity="3" value="20" />
+ <value cell_index="709" local_entity="2" value="5" />
+ <value cell_index="717" local_entity="3" value="5" />
+ <value cell_index="724" local_entity="3" value="10" />
+ <value cell_index="726" local_entity="3" value="20" />
+ <value cell_index="727" local_entity="1" value="30" />
+ <value cell_index="730" local_entity="2" value="15" />
+ <value cell_index="730" local_entity="3" value="5" />
+ <value cell_index="737" local_entity="2" value="20" />
+ <value cell_index="743" local_entity="0" value="5" />
+ <value cell_index="749" local_entity="3" value="20" />
+ <value cell_index="762" local_entity="1" value="15" />
+ <value cell_index="767" local_entity="0" value="5" />
+ <value cell_index="769" local_entity="2" value="20" />
+ <value cell_index="770" local_entity="3" value="5" />
+ <value cell_index="771" local_entity="3" value="25" />
+ <value cell_index="772" local_entity="2" value="20" />
+ <value cell_index="777" local_entity="2" value="5" />
+ <value cell_index="783" local_entity="3" value="5" />
+ <value cell_index="788" local_entity="3" value="15" />
+ <value cell_index="793" local_entity="2" value="20" />
+ <value cell_index="794" local_entity="1" value="20" />
+ <value cell_index="815" local_entity="2" value="10" />
+ <value cell_index="821" local_entity="0" value="5" />
+ <value cell_index="822" local_entity="2" value="20" />
+ <value cell_index="823" local_entity="3" value="15" />
+ <value cell_index="834" local_entity="3" value="5" />
+ <value cell_index="839" local_entity="2" value="30" />
+ <value cell_index="844" local_entity="3" value="5" />
+ <value cell_index="861" local_entity="0" value="15" />
+ <value cell_index="864" local_entity="3" value="5" />
+ <value cell_index="865" local_entity="3" value="5" />
+ <value cell_index="868" local_entity="2" value="5" />
+ <value cell_index="869" local_entity="2" value="5" />
+ <value cell_index="870" local_entity="3" value="10" />
+ <value cell_index="890" local_entity="1" value="20" />
+ <value cell_index="892" local_entity="2" value="5" />
+ <value cell_index="902" local_entity="3" value="10" />
+ <value cell_index="903" local_entity="3" value="10" />
+ <value cell_index="905" local_entity="3" value="25" />
+ <value cell_index="910" local_entity="3" value="25" />
+ <value cell_index="912" local_entity="1" value="5" />
+ <value cell_index="917" local_entity="3" value="25" />
+ <value cell_index="918" local_entity="3" value="20" />
+ <value cell_index="933" local_entity="3" value="30" />
+ <value cell_index="941" local_entity="1" value="20" />
+ </mesh_value_collection>
+ <mesh_value_collection name="m" type="uint" dim="3" size="960">
+ <value cell_index="0" local_entity="0" value="2" />
+ <value cell_index="1" local_entity="0" value="2" />
+ <value cell_index="2" local_entity="0" value="1" />
+ <value cell_index="3" local_entity="0" value="2" />
+ <value cell_index="4" local_entity="0" value="2" />
+ <value cell_index="5" local_entity="0" value="2" />
+ <value cell_index="6" local_entity="0" value="2" />
+ <value cell_index="7" local_entity="0" value="1" />
+ <value cell_index="8" local_entity="0" value="2" />
+ <value cell_index="9" local_entity="0" value="2" />
+ <value cell_index="10" local_entity="0" value="2" />
+ <value cell_index="11" local_entity="0" value="2" />
+ <value cell_index="12" local_entity="0" value="2" />
+ <value cell_index="13" local_entity="0" value="1" />
+ <value cell_index="14" local_entity="0" value="1" />
+ <value cell_index="15" local_entity="0" value="2" />
+ <value cell_index="16" local_entity="0" value="2" />
+ <value cell_index="17" local_entity="0" value="1" />
+ <value cell_index="18" local_entity="0" value="2" />
+ <value cell_index="19" local_entity="0" value="2" />
+ <value cell_index="20" local_entity="0" value="2" />
+ <value cell_index="21" local_entity="0" value="2" />
+ <value cell_index="22" local_entity="0" value="2" />
+ <value cell_index="23" local_entity="0" value="1" />
+ <value cell_index="24" local_entity="0" value="1" />
+ <value cell_index="25" local_entity="0" value="2" />
+ <value cell_index="26" local_entity="0" value="1" />
+ <value cell_index="27" local_entity="0" value="1" />
+ <value cell_index="28" local_entity="0" value="2" />
+ <value cell_index="29" local_entity="0" value="2" />
+ <value cell_index="30" local_entity="0" value="2" />
+ <value cell_index="31" local_entity="0" value="2" />
+ <value cell_index="32" local_entity="0" value="2" />
+ <value cell_index="33" local_entity="0" value="2" />
+ <value cell_index="34" local_entity="0" value="2" />
+ <value cell_index="35" local_entity="0" value="2" />
+ <value cell_index="36" local_entity="0" value="2" />
+ <value cell_index="37" local_entity="0" value="2" />
+ <value cell_index="38" local_entity="0" value="2" />
+ <value cell_index="39" local_entity="0" value="2" />
+ <value cell_index="40" local_entity="0" value="2" />
+ <value cell_index="41" local_entity="0" value="2" />
+ <value cell_index="42" local_entity="0" value="2" />
+ <value cell_index="43" local_entity="0" value="2" />
+ <value cell_index="44" local_entity="0" value="2" />
+ <value cell_index="45" local_entity="0" value="2" />
+ <value cell_index="46" local_entity="0" value="2" />
+ <value cell_index="47" local_entity="0" value="2" />
+ <value cell_index="48" local_entity="0" value="2" />
+ <value cell_index="49" local_entity="0" value="1" />
+ <value cell_index="50" local_entity="0" value="1" />
+ <value cell_index="51" local_entity="0" value="1" />
+ <value cell_index="52" local_entity="0" value="2" />
+ <value cell_index="53" local_entity="0" value="1" />
+ <value cell_index="54" local_entity="0" value="2" />
+ <value cell_index="55" local_entity="0" value="1" />
+ <value cell_index="56" local_entity="0" value="2" />
+ <value cell_index="57" local_entity="0" value="2" />
+ <value cell_index="58" local_entity="0" value="2" />
+ <value cell_index="59" local_entity="0" value="2" />
+ <value cell_index="60" local_entity="0" value="1" />
+ <value cell_index="61" local_entity="0" value="1" />
+ <value cell_index="62" local_entity="0" value="2" />
+ <value cell_index="63" local_entity="0" value="1" />
+ <value cell_index="64" local_entity="0" value="2" />
+ <value cell_index="65" local_entity="0" value="1" />
+ <value cell_index="66" local_entity="0" value="1" />
+ <value cell_index="67" local_entity="0" value="1" />
+ <value cell_index="68" local_entity="0" value="2" />
+ <value cell_index="69" local_entity="0" value="2" />
+ <value cell_index="70" local_entity="0" value="2" />
+ <value cell_index="71" local_entity="0" value="2" />
+ <value cell_index="72" local_entity="0" value="2" />
+ <value cell_index="73" local_entity="0" value="2" />
+ <value cell_index="74" local_entity="0" value="2" />
+ <value cell_index="75" local_entity="0" value="1" />
+ <value cell_index="76" local_entity="0" value="2" />
+ <value cell_index="77" local_entity="0" value="2" />
+ <value cell_index="78" local_entity="0" value="2" />
+ <value cell_index="79" local_entity="0" value="2" />
+ <value cell_index="80" local_entity="0" value="2" />
+ <value cell_index="81" local_entity="0" value="2" />
+ <value cell_index="82" local_entity="0" value="2" />
+ <value cell_index="83" local_entity="0" value="2" />
+ <value cell_index="84" local_entity="0" value="2" />
+ <value cell_index="85" local_entity="0" value="2" />
+ <value cell_index="86" local_entity="0" value="1" />
+ <value cell_index="87" local_entity="0" value="2" />
+ <value cell_index="88" local_entity="0" value="2" />
+ <value cell_index="89" local_entity="0" value="2" />
+ <value cell_index="90" local_entity="0" value="2" />
+ <value cell_index="91" local_entity="0" value="2" />
+ <value cell_index="92" local_entity="0" value="2" />
+ <value cell_index="93" local_entity="0" value="2" />
+ <value cell_index="94" local_entity="0" value="1" />
+ <value cell_index="95" local_entity="0" value="2" />
+ <value cell_index="96" local_entity="0" value="1" />
+ <value cell_index="97" local_entity="0" value="2" />
+ <value cell_index="98" local_entity="0" value="2" />
+ <value cell_index="99" local_entity="0" value="1" />
+ <value cell_index="100" local_entity="0" value="2" />
+ <value cell_index="101" local_entity="0" value="2" />
+ <value cell_index="102" local_entity="0" value="2" />
+ <value cell_index="103" local_entity="0" value="2" />
+ <value cell_index="104" local_entity="0" value="2" />
+ <value cell_index="105" local_entity="0" value="2" />
+ <value cell_index="106" local_entity="0" value="2" />
+ <value cell_index="107" local_entity="0" value="2" />
+ <value cell_index="108" local_entity="0" value="1" />
+ <value cell_index="109" local_entity="0" value="2" />
+ <value cell_index="110" local_entity="0" value="2" />
+ <value cell_index="111" local_entity="0" value="2" />
+ <value cell_index="112" local_entity="0" value="2" />
+ <value cell_index="113" local_entity="0" value="2" />
+ <value cell_index="114" local_entity="0" value="2" />
+ <value cell_index="115" local_entity="0" value="2" />
+ <value cell_index="116" local_entity="0" value="2" />
+ <value cell_index="117" local_entity="0" value="2" />
+ <value cell_index="118" local_entity="0" value="2" />
+ <value cell_index="119" local_entity="0" value="2" />
+ <value cell_index="120" local_entity="0" value="2" />
+ <value cell_index="121" local_entity="0" value="2" />
+ <value cell_index="122" local_entity="0" value="2" />
+ <value cell_index="123" local_entity="0" value="1" />
+ <value cell_index="124" local_entity="0" value="2" />
+ <value cell_index="125" local_entity="0" value="2" />
+ <value cell_index="126" local_entity="0" value="2" />
+ <value cell_index="127" local_entity="0" value="1" />
+ <value cell_index="128" local_entity="0" value="1" />
+ <value cell_index="129" local_entity="0" value="2" />
+ <value cell_index="130" local_entity="0" value="2" />
+ <value cell_index="131" local_entity="0" value="2" />
+ <value cell_index="132" local_entity="0" value="1" />
+ <value cell_index="133" local_entity="0" value="2" />
+ <value cell_index="134" local_entity="0" value="2" />
+ <value cell_index="135" local_entity="0" value="2" />
+ <value cell_index="136" local_entity="0" value="2" />
+ <value cell_index="137" local_entity="0" value="2" />
+ <value cell_index="138" local_entity="0" value="2" />
+ <value cell_index="139" local_entity="0" value="2" />
+ <value cell_index="140" local_entity="0" value="1" />
+ <value cell_index="141" local_entity="0" value="2" />
+ <value cell_index="142" local_entity="0" value="2" />
+ <value cell_index="143" local_entity="0" value="2" />
+ <value cell_index="144" local_entity="0" value="2" />
+ <value cell_index="145" local_entity="0" value="2" />
+ <value cell_index="146" local_entity="0" value="2" />
+ <value cell_index="147" local_entity="0" value="2" />
+ <value cell_index="148" local_entity="0" value="1" />
+ <value cell_index="149" local_entity="0" value="2" />
+ <value cell_index="150" local_entity="0" value="2" />
+ <value cell_index="151" local_entity="0" value="1" />
+ <value cell_index="152" local_entity="0" value="1" />
+ <value cell_index="153" local_entity="0" value="2" />
+ <value cell_index="154" local_entity="0" value="2" />
+ <value cell_index="155" local_entity="0" value="2" />
+ <value cell_index="156" local_entity="0" value="2" />
+ <value cell_index="157" local_entity="0" value="2" />
+ <value cell_index="158" local_entity="0" value="2" />
+ <value cell_index="159" local_entity="0" value="2" />
+ <value cell_index="160" local_entity="0" value="1" />
+ <value cell_index="161" local_entity="0" value="1" />
+ <value cell_index="162" local_entity="0" value="2" />
+ <value cell_index="163" local_entity="0" value="2" />
+ <value cell_index="164" local_entity="0" value="2" />
+ <value cell_index="165" local_entity="0" value="2" />
+ <value cell_index="166" local_entity="0" value="2" />
+ <value cell_index="167" local_entity="0" value="2" />
+ <value cell_index="168" local_entity="0" value="2" />
+ <value cell_index="169" local_entity="0" value="1" />
+ <value cell_index="170" local_entity="0" value="2" />
+ <value cell_index="171" local_entity="0" value="2" />
+ <value cell_index="172" local_entity="0" value="1" />
+ <value cell_index="173" local_entity="0" value="2" />
+ <value cell_index="174" local_entity="0" value="2" />
+ <value cell_index="175" local_entity="0" value="2" />
+ <value cell_index="176" local_entity="0" value="2" />
+ <value cell_index="177" local_entity="0" value="2" />
+ <value cell_index="178" local_entity="0" value="2" />
+ <value cell_index="179" local_entity="0" value="1" />
+ <value cell_index="180" local_entity="0" value="2" />
+ <value cell_index="181" local_entity="0" value="1" />
+ <value cell_index="182" local_entity="0" value="1" />
+ <value cell_index="183" local_entity="0" value="2" />
+ <value cell_index="184" local_entity="0" value="2" />
+ <value cell_index="185" local_entity="0" value="2" />
+ <value cell_index="186" local_entity="0" value="2" />
+ <value cell_index="187" local_entity="0" value="2" />
+ <value cell_index="188" local_entity="0" value="2" />
+ <value cell_index="189" local_entity="0" value="2" />
+ <value cell_index="190" local_entity="0" value="2" />
+ <value cell_index="191" local_entity="0" value="2" />
+ <value cell_index="192" local_entity="0" value="2" />
+ <value cell_index="193" local_entity="0" value="2" />
+ <value cell_index="194" local_entity="0" value="2" />
+ <value cell_index="195" local_entity="0" value="2" />
+ <value cell_index="196" local_entity="0" value="2" />
+ <value cell_index="197" local_entity="0" value="2" />
+ <value cell_index="198" local_entity="0" value="2" />
+ <value cell_index="199" local_entity="0" value="2" />
+ <value cell_index="200" local_entity="0" value="2" />
+ <value cell_index="201" local_entity="0" value="1" />
+ <value cell_index="202" local_entity="0" value="1" />
+ <value cell_index="203" local_entity="0" value="2" />
+ <value cell_index="204" local_entity="0" value="2" />
+ <value cell_index="205" local_entity="0" value="2" />
+ <value cell_index="206" local_entity="0" value="2" />
+ <value cell_index="207" local_entity="0" value="2" />
+ <value cell_index="208" local_entity="0" value="1" />
+ <value cell_index="209" local_entity="0" value="1" />
+ <value cell_index="210" local_entity="0" value="2" />
+ <value cell_index="211" local_entity="0" value="1" />
+ <value cell_index="212" local_entity="0" value="2" />
+ <value cell_index="213" local_entity="0" value="1" />
+ <value cell_index="214" local_entity="0" value="1" />
+ <value cell_index="215" local_entity="0" value="1" />
+ <value cell_index="216" local_entity="0" value="2" />
+ <value cell_index="217" local_entity="0" value="1" />
+ <value cell_index="218" local_entity="0" value="2" />
+ <value cell_index="219" local_entity="0" value="2" />
+ <value cell_index="220" local_entity="0" value="2" />
+ <value cell_index="221" local_entity="0" value="2" />
+ <value cell_index="222" local_entity="0" value="1" />
+ <value cell_index="223" local_entity="0" value="2" />
+ <value cell_index="224" local_entity="0" value="2" />
+ <value cell_index="225" local_entity="0" value="2" />
+ <value cell_index="226" local_entity="0" value="1" />
+ <value cell_index="227" local_entity="0" value="2" />
+ <value cell_index="228" local_entity="0" value="2" />
+ <value cell_index="229" local_entity="0" value="2" />
+ <value cell_index="230" local_entity="0" value="1" />
+ <value cell_index="231" local_entity="0" value="2" />
+ <value cell_index="232" local_entity="0" value="2" />
+ <value cell_index="233" local_entity="0" value="2" />
+ <value cell_index="234" local_entity="0" value="2" />
+ <value cell_index="235" local_entity="0" value="1" />
+ <value cell_index="236" local_entity="0" value="2" />
+ <value cell_index="237" local_entity="0" value="2" />
+ <value cell_index="238" local_entity="0" value="2" />
+ <value cell_index="239" local_entity="0" value="1" />
+ <value cell_index="240" local_entity="0" value="2" />
+ <value cell_index="241" local_entity="0" value="2" />
+ <value cell_index="242" local_entity="0" value="2" />
+ <value cell_index="243" local_entity="0" value="2" />
+ <value cell_index="244" local_entity="0" value="1" />
+ <value cell_index="245" local_entity="0" value="2" />
+ <value cell_index="246" local_entity="0" value="1" />
+ <value cell_index="247" local_entity="0" value="2" />
+ <value cell_index="248" local_entity="0" value="2" />
+ <value cell_index="249" local_entity="0" value="2" />
+ <value cell_index="250" local_entity="0" value="2" />
+ <value cell_index="251" local_entity="0" value="2" />
+ <value cell_index="252" local_entity="0" value="2" />
+ <value cell_index="253" local_entity="0" value="1" />
+ <value cell_index="254" local_entity="0" value="1" />
+ <value cell_index="255" local_entity="0" value="2" />
+ <value cell_index="256" local_entity="0" value="2" />
+ <value cell_index="257" local_entity="0" value="1" />
+ <value cell_index="258" local_entity="0" value="2" />
+ <value cell_index="259" local_entity="0" value="1" />
+ <value cell_index="260" local_entity="0" value="2" />
+ <value cell_index="261" local_entity="0" value="1" />
+ <value cell_index="262" local_entity="0" value="2" />
+ <value cell_index="263" local_entity="0" value="2" />
+ <value cell_index="264" local_entity="0" value="2" />
+ <value cell_index="265" local_entity="0" value="1" />
+ <value cell_index="266" local_entity="0" value="2" />
+ <value cell_index="267" local_entity="0" value="1" />
+ <value cell_index="268" local_entity="0" value="2" />
+ <value cell_index="269" local_entity="0" value="2" />
+ <value cell_index="270" local_entity="0" value="2" />
+ <value cell_index="271" local_entity="0" value="2" />
+ <value cell_index="272" local_entity="0" value="1" />
+ <value cell_index="273" local_entity="0" value="2" />
+ <value cell_index="274" local_entity="0" value="2" />
+ <value cell_index="275" local_entity="0" value="1" />
+ <value cell_index="276" local_entity="0" value="2" />
+ <value cell_index="277" local_entity="0" value="1" />
+ <value cell_index="278" local_entity="0" value="2" />
+ <value cell_index="279" local_entity="0" value="2" />
+ <value cell_index="280" local_entity="0" value="1" />
+ <value cell_index="281" local_entity="0" value="2" />
+ <value cell_index="282" local_entity="0" value="2" />
+ <value cell_index="283" local_entity="0" value="2" />
+ <value cell_index="284" local_entity="0" value="2" />
+ <value cell_index="285" local_entity="0" value="1" />
+ <value cell_index="286" local_entity="0" value="1" />
+ <value cell_index="287" local_entity="0" value="2" />
+ <value cell_index="288" local_entity="0" value="1" />
+ <value cell_index="289" local_entity="0" value="2" />
+ <value cell_index="290" local_entity="0" value="2" />
+ <value cell_index="291" local_entity="0" value="2" />
+ <value cell_index="292" local_entity="0" value="2" />
+ <value cell_index="293" local_entity="0" value="2" />
+ <value cell_index="294" local_entity="0" value="2" />
+ <value cell_index="295" local_entity="0" value="2" />
+ <value cell_index="296" local_entity="0" value="1" />
+ <value cell_index="297" local_entity="0" value="2" />
+ <value cell_index="298" local_entity="0" value="1" />
+ <value cell_index="299" local_entity="0" value="2" />
+ <value cell_index="300" local_entity="0" value="1" />
+ <value cell_index="301" local_entity="0" value="2" />
+ <value cell_index="302" local_entity="0" value="1" />
+ <value cell_index="303" local_entity="0" value="1" />
+ <value cell_index="304" local_entity="0" value="1" />
+ <value cell_index="305" local_entity="0" value="2" />
+ <value cell_index="306" local_entity="0" value="2" />
+ <value cell_index="307" local_entity="0" value="1" />
+ <value cell_index="308" local_entity="0" value="1" />
+ <value cell_index="309" local_entity="0" value="2" />
+ <value cell_index="310" local_entity="0" value="2" />
+ <value cell_index="311" local_entity="0" value="1" />
+ <value cell_index="312" local_entity="0" value="2" />
+ <value cell_index="313" local_entity="0" value="2" />
+ <value cell_index="314" local_entity="0" value="2" />
+ <value cell_index="315" local_entity="0" value="1" />
+ <value cell_index="316" local_entity="0" value="2" />
+ <value cell_index="317" local_entity="0" value="2" />
+ <value cell_index="318" local_entity="0" value="2" />
+ <value cell_index="319" local_entity="0" value="2" />
+ <value cell_index="320" local_entity="0" value="2" />
+ <value cell_index="321" local_entity="0" value="2" />
+ <value cell_index="322" local_entity="0" value="1" />
+ <value cell_index="323" local_entity="0" value="1" />
+ <value cell_index="324" local_entity="0" value="2" />
+ <value cell_index="325" local_entity="0" value="2" />
+ <value cell_index="326" local_entity="0" value="2" />
+ <value cell_index="327" local_entity="0" value="1" />
+ <value cell_index="328" local_entity="0" value="2" />
+ <value cell_index="329" local_entity="0" value="2" />
+ <value cell_index="330" local_entity="0" value="1" />
+ <value cell_index="331" local_entity="0" value="2" />
+ <value cell_index="332" local_entity="0" value="2" />
+ <value cell_index="333" local_entity="0" value="1" />
+ <value cell_index="334" local_entity="0" value="1" />
+ <value cell_index="335" local_entity="0" value="2" />
+ <value cell_index="336" local_entity="0" value="1" />
+ <value cell_index="337" local_entity="0" value="1" />
+ <value cell_index="338" local_entity="0" value="2" />
+ <value cell_index="339" local_entity="0" value="2" />
+ <value cell_index="340" local_entity="0" value="2" />
+ <value cell_index="341" local_entity="0" value="2" />
+ <value cell_index="342" local_entity="0" value="1" />
+ <value cell_index="343" local_entity="0" value="2" />
+ <value cell_index="344" local_entity="0" value="2" />
+ <value cell_index="345" local_entity="0" value="2" />
+ <value cell_index="346" local_entity="0" value="2" />
+ <value cell_index="347" local_entity="0" value="2" />
+ <value cell_index="348" local_entity="0" value="2" />
+ <value cell_index="349" local_entity="0" value="2" />
+ <value cell_index="350" local_entity="0" value="1" />
+ <value cell_index="351" local_entity="0" value="2" />
+ <value cell_index="352" local_entity="0" value="1" />
+ <value cell_index="353" local_entity="0" value="2" />
+ <value cell_index="354" local_entity="0" value="2" />
+ <value cell_index="355" local_entity="0" value="2" />
+ <value cell_index="356" local_entity="0" value="1" />
+ <value cell_index="357" local_entity="0" value="2" />
+ <value cell_index="358" local_entity="0" value="2" />
+ <value cell_index="359" local_entity="0" value="2" />
+ <value cell_index="360" local_entity="0" value="2" />
+ <value cell_index="361" local_entity="0" value="2" />
+ <value cell_index="362" local_entity="0" value="2" />
+ <value cell_index="363" local_entity="0" value="2" />
+ <value cell_index="364" local_entity="0" value="2" />
+ <value cell_index="365" local_entity="0" value="2" />
+ <value cell_index="366" local_entity="0" value="2" />
+ <value cell_index="367" local_entity="0" value="2" />
+ <value cell_index="368" local_entity="0" value="2" />
+ <value cell_index="369" local_entity="0" value="1" />
+ <value cell_index="370" local_entity="0" value="1" />
+ <value cell_index="371" local_entity="0" value="2" />
+ <value cell_index="372" local_entity="0" value="1" />
+ <value cell_index="373" local_entity="0" value="1" />
+ <value cell_index="374" local_entity="0" value="1" />
+ <value cell_index="375" local_entity="0" value="1" />
+ <value cell_index="376" local_entity="0" value="2" />
+ <value cell_index="377" local_entity="0" value="2" />
+ <value cell_index="378" local_entity="0" value="2" />
+ <value cell_index="379" local_entity="0" value="2" />
+ <value cell_index="380" local_entity="0" value="2" />
+ <value cell_index="381" local_entity="0" value="1" />
+ <value cell_index="382" local_entity="0" value="1" />
+ <value cell_index="383" local_entity="0" value="1" />
+ <value cell_index="384" local_entity="0" value="1" />
+ <value cell_index="385" local_entity="0" value="2" />
+ <value cell_index="386" local_entity="0" value="2" />
+ <value cell_index="387" local_entity="0" value="2" />
+ <value cell_index="388" local_entity="0" value="1" />
+ <value cell_index="389" local_entity="0" value="1" />
+ <value cell_index="390" local_entity="0" value="1" />
+ <value cell_index="391" local_entity="0" value="1" />
+ <value cell_index="392" local_entity="0" value="2" />
+ <value cell_index="393" local_entity="0" value="2" />
+ <value cell_index="394" local_entity="0" value="2" />
+ <value cell_index="395" local_entity="0" value="1" />
+ <value cell_index="396" local_entity="0" value="2" />
+ <value cell_index="397" local_entity="0" value="2" />
+ <value cell_index="398" local_entity="0" value="1" />
+ <value cell_index="399" local_entity="0" value="1" />
+ <value cell_index="400" local_entity="0" value="1" />
+ <value cell_index="401" local_entity="0" value="1" />
+ <value cell_index="402" local_entity="0" value="2" />
+ <value cell_index="403" local_entity="0" value="2" />
+ <value cell_index="404" local_entity="0" value="1" />
+ <value cell_index="405" local_entity="0" value="2" />
+ <value cell_index="406" local_entity="0" value="2" />
+ <value cell_index="407" local_entity="0" value="1" />
+ <value cell_index="408" local_entity="0" value="2" />
+ <value cell_index="409" local_entity="0" value="1" />
+ <value cell_index="410" local_entity="0" value="2" />
+ <value cell_index="411" local_entity="0" value="2" />
+ <value cell_index="412" local_entity="0" value="1" />
+ <value cell_index="413" local_entity="0" value="2" />
+ <value cell_index="414" local_entity="0" value="2" />
+ <value cell_index="415" local_entity="0" value="2" />
+ <value cell_index="416" local_entity="0" value="2" />
+ <value cell_index="417" local_entity="0" value="1" />
+ <value cell_index="418" local_entity="0" value="2" />
+ <value cell_index="419" local_entity="0" value="2" />
+ <value cell_index="420" local_entity="0" value="1" />
+ <value cell_index="421" local_entity="0" value="1" />
+ <value cell_index="422" local_entity="0" value="2" />
+ <value cell_index="423" local_entity="0" value="1" />
+ <value cell_index="424" local_entity="0" value="2" />
+ <value cell_index="425" local_entity="0" value="2" />
+ <value cell_index="426" local_entity="0" value="2" />
+ <value cell_index="427" local_entity="0" value="2" />
+ <value cell_index="428" local_entity="0" value="2" />
+ <value cell_index="429" local_entity="0" value="2" />
+ <value cell_index="430" local_entity="0" value="2" />
+ <value cell_index="431" local_entity="0" value="2" />
+ <value cell_index="432" local_entity="0" value="2" />
+ <value cell_index="433" local_entity="0" value="2" />
+ <value cell_index="434" local_entity="0" value="1" />
+ <value cell_index="435" local_entity="0" value="2" />
+ <value cell_index="436" local_entity="0" value="1" />
+ <value cell_index="437" local_entity="0" value="2" />
+ <value cell_index="438" local_entity="0" value="2" />
+ <value cell_index="439" local_entity="0" value="1" />
+ <value cell_index="440" local_entity="0" value="1" />
+ <value cell_index="441" local_entity="0" value="2" />
+ <value cell_index="442" local_entity="0" value="2" />
+ <value cell_index="443" local_entity="0" value="1" />
+ <value cell_index="444" local_entity="0" value="2" />
+ <value cell_index="445" local_entity="0" value="2" />
+ <value cell_index="446" local_entity="0" value="1" />
+ <value cell_index="447" local_entity="0" value="1" />
+ <value cell_index="448" local_entity="0" value="2" />
+ <value cell_index="449" local_entity="0" value="2" />
+ <value cell_index="450" local_entity="0" value="1" />
+ <value cell_index="451" local_entity="0" value="2" />
+ <value cell_index="452" local_entity="0" value="2" />
+ <value cell_index="453" local_entity="0" value="1" />
+ <value cell_index="454" local_entity="0" value="2" />
+ <value cell_index="455" local_entity="0" value="2" />
+ <value cell_index="456" local_entity="0" value="2" />
+ <value cell_index="457" local_entity="0" value="1" />
+ <value cell_index="458" local_entity="0" value="2" />
+ <value cell_index="459" local_entity="0" value="1" />
+ <value cell_index="460" local_entity="0" value="2" />
+ <value cell_index="461" local_entity="0" value="1" />
+ <value cell_index="462" local_entity="0" value="2" />
+ <value cell_index="463" local_entity="0" value="2" />
+ <value cell_index="464" local_entity="0" value="2" />
+ <value cell_index="465" local_entity="0" value="1" />
+ <value cell_index="466" local_entity="0" value="1" />
+ <value cell_index="467" local_entity="0" value="2" />
+ <value cell_index="468" local_entity="0" value="2" />
+ <value cell_index="469" local_entity="0" value="2" />
+ <value cell_index="470" local_entity="0" value="2" />
+ <value cell_index="471" local_entity="0" value="2" />
+ <value cell_index="472" local_entity="0" value="2" />
+ <value cell_index="473" local_entity="0" value="2" />
+ <value cell_index="474" local_entity="0" value="2" />
+ <value cell_index="475" local_entity="0" value="2" />
+ <value cell_index="476" local_entity="0" value="1" />
+ <value cell_index="477" local_entity="0" value="2" />
+ <value cell_index="478" local_entity="0" value="2" />
+ <value cell_index="479" local_entity="0" value="2" />
+ <value cell_index="480" local_entity="0" value="2" />
+ <value cell_index="481" local_entity="0" value="2" />
+ <value cell_index="482" local_entity="0" value="1" />
+ <value cell_index="483" local_entity="0" value="2" />
+ <value cell_index="484" local_entity="0" value="2" />
+ <value cell_index="485" local_entity="0" value="2" />
+ <value cell_index="486" local_entity="0" value="2" />
+ <value cell_index="487" local_entity="0" value="2" />
+ <value cell_index="488" local_entity="0" value="1" />
+ <value cell_index="489" local_entity="0" value="2" />
+ <value cell_index="490" local_entity="0" value="2" />
+ <value cell_index="491" local_entity="0" value="1" />
+ <value cell_index="492" local_entity="0" value="2" />
+ <value cell_index="493" local_entity="0" value="2" />
+ <value cell_index="494" local_entity="0" value="1" />
+ <value cell_index="495" local_entity="0" value="2" />
+ <value cell_index="496" local_entity="0" value="2" />
+ <value cell_index="497" local_entity="0" value="1" />
+ <value cell_index="498" local_entity="0" value="2" />
+ <value cell_index="499" local_entity="0" value="2" />
+ <value cell_index="500" local_entity="0" value="2" />
+ <value cell_index="501" local_entity="0" value="2" />
+ <value cell_index="502" local_entity="0" value="2" />
+ <value cell_index="503" local_entity="0" value="1" />
+ <value cell_index="504" local_entity="0" value="1" />
+ <value cell_index="505" local_entity="0" value="1" />
+ <value cell_index="506" local_entity="0" value="2" />
+ <value cell_index="507" local_entity="0" value="1" />
+ <value cell_index="508" local_entity="0" value="2" />
+ <value cell_index="509" local_entity="0" value="2" />
+ <value cell_index="510" local_entity="0" value="1" />
+ <value cell_index="511" local_entity="0" value="1" />
+ <value cell_index="512" local_entity="0" value="2" />
+ <value cell_index="513" local_entity="0" value="1" />
+ <value cell_index="514" local_entity="0" value="1" />
+ <value cell_index="515" local_entity="0" value="1" />
+ <value cell_index="516" local_entity="0" value="1" />
+ <value cell_index="517" local_entity="0" value="2" />
+ <value cell_index="518" local_entity="0" value="2" />
+ <value cell_index="519" local_entity="0" value="2" />
+ <value cell_index="520" local_entity="0" value="1" />
+ <value cell_index="521" local_entity="0" value="2" />
+ <value cell_index="522" local_entity="0" value="1" />
+ <value cell_index="523" local_entity="0" value="2" />
+ <value cell_index="524" local_entity="0" value="2" />
+ <value cell_index="525" local_entity="0" value="1" />
+ <value cell_index="526" local_entity="0" value="2" />
+ <value cell_index="527" local_entity="0" value="2" />
+ <value cell_index="528" local_entity="0" value="1" />
+ <value cell_index="529" local_entity="0" value="2" />
+ <value cell_index="530" local_entity="0" value="1" />
+ <value cell_index="531" local_entity="0" value="2" />
+ <value cell_index="532" local_entity="0" value="2" />
+ <value cell_index="533" local_entity="0" value="2" />
+ <value cell_index="534" local_entity="0" value="2" />
+ <value cell_index="535" local_entity="0" value="2" />
+ <value cell_index="536" local_entity="0" value="2" />
+ <value cell_index="537" local_entity="0" value="2" />
+ <value cell_index="538" local_entity="0" value="2" />
+ <value cell_index="539" local_entity="0" value="2" />
+ <value cell_index="540" local_entity="0" value="2" />
+ <value cell_index="541" local_entity="0" value="2" />
+ <value cell_index="542" local_entity="0" value="2" />
+ <value cell_index="543" local_entity="0" value="2" />
+ <value cell_index="544" local_entity="0" value="2" />
+ <value cell_index="545" local_entity="0" value="2" />
+ <value cell_index="546" local_entity="0" value="2" />
+ <value cell_index="547" local_entity="0" value="2" />
+ <value cell_index="548" local_entity="0" value="2" />
+ <value cell_index="549" local_entity="0" value="1" />
+ <value cell_index="550" local_entity="0" value="2" />
+ <value cell_index="551" local_entity="0" value="2" />
+ <value cell_index="552" local_entity="0" value="2" />
+ <value cell_index="553" local_entity="0" value="2" />
+ <value cell_index="554" local_entity="0" value="2" />
+ <value cell_index="555" local_entity="0" value="2" />
+ <value cell_index="556" local_entity="0" value="1" />
+ <value cell_index="557" local_entity="0" value="1" />
+ <value cell_index="558" local_entity="0" value="2" />
+ <value cell_index="559" local_entity="0" value="1" />
+ <value cell_index="560" local_entity="0" value="1" />
+ <value cell_index="561" local_entity="0" value="1" />
+ <value cell_index="562" local_entity="0" value="2" />
+ <value cell_index="563" local_entity="0" value="2" />
+ <value cell_index="564" local_entity="0" value="1" />
+ <value cell_index="565" local_entity="0" value="1" />
+ <value cell_index="566" local_entity="0" value="2" />
+ <value cell_index="567" local_entity="0" value="2" />
+ <value cell_index="568" local_entity="0" value="2" />
+ <value cell_index="569" local_entity="0" value="2" />
+ <value cell_index="570" local_entity="0" value="2" />
+ <value cell_index="571" local_entity="0" value="2" />
+ <value cell_index="572" local_entity="0" value="2" />
+ <value cell_index="573" local_entity="0" value="2" />
+ <value cell_index="574" local_entity="0" value="2" />
+ <value cell_index="575" local_entity="0" value="2" />
+ <value cell_index="576" local_entity="0" value="1" />
+ <value cell_index="577" local_entity="0" value="2" />
+ <value cell_index="578" local_entity="0" value="2" />
+ <value cell_index="579" local_entity="0" value="1" />
+ <value cell_index="580" local_entity="0" value="1" />
+ <value cell_index="581" local_entity="0" value="2" />
+ <value cell_index="582" local_entity="0" value="1" />
+ <value cell_index="583" local_entity="0" value="1" />
+ <value cell_index="584" local_entity="0" value="2" />
+ <value cell_index="585" local_entity="0" value="2" />
+ <value cell_index="586" local_entity="0" value="2" />
+ <value cell_index="587" local_entity="0" value="2" />
+ <value cell_index="588" local_entity="0" value="2" />
+ <value cell_index="589" local_entity="0" value="2" />
+ <value cell_index="590" local_entity="0" value="1" />
+ <value cell_index="591" local_entity="0" value="2" />
+ <value cell_index="592" local_entity="0" value="2" />
+ <value cell_index="593" local_entity="0" value="1" />
+ <value cell_index="594" local_entity="0" value="2" />
+ <value cell_index="595" local_entity="0" value="1" />
+ <value cell_index="596" local_entity="0" value="2" />
+ <value cell_index="597" local_entity="0" value="2" />
+ <value cell_index="598" local_entity="0" value="2" />
+ <value cell_index="599" local_entity="0" value="2" />
+ <value cell_index="600" local_entity="0" value="2" />
+ <value cell_index="601" local_entity="0" value="2" />
+ <value cell_index="602" local_entity="0" value="2" />
+ <value cell_index="603" local_entity="0" value="2" />
+ <value cell_index="604" local_entity="0" value="2" />
+ <value cell_index="605" local_entity="0" value="1" />
+ <value cell_index="606" local_entity="0" value="2" />
+ <value cell_index="607" local_entity="0" value="2" />
+ <value cell_index="608" local_entity="0" value="2" />
+ <value cell_index="609" local_entity="0" value="2" />
+ <value cell_index="610" local_entity="0" value="1" />
+ <value cell_index="611" local_entity="0" value="2" />
+ <value cell_index="612" local_entity="0" value="2" />
+ <value cell_index="613" local_entity="0" value="1" />
+ <value cell_index="614" local_entity="0" value="2" />
+ <value cell_index="615" local_entity="0" value="2" />
+ <value cell_index="616" local_entity="0" value="1" />
+ <value cell_index="617" local_entity="0" value="2" />
+ <value cell_index="618" local_entity="0" value="2" />
+ <value cell_index="619" local_entity="0" value="2" />
+ <value cell_index="620" local_entity="0" value="2" />
+ <value cell_index="621" local_entity="0" value="2" />
+ <value cell_index="622" local_entity="0" value="2" />
+ <value cell_index="623" local_entity="0" value="2" />
+ <value cell_index="624" local_entity="0" value="2" />
+ <value cell_index="625" local_entity="0" value="2" />
+ <value cell_index="626" local_entity="0" value="2" />
+ <value cell_index="627" local_entity="0" value="2" />
+ <value cell_index="628" local_entity="0" value="1" />
+ <value cell_index="629" local_entity="0" value="1" />
+ <value cell_index="630" local_entity="0" value="1" />
+ <value cell_index="631" local_entity="0" value="2" />
+ <value cell_index="632" local_entity="0" value="2" />
+ <value cell_index="633" local_entity="0" value="2" />
+ <value cell_index="634" local_entity="0" value="2" />
+ <value cell_index="635" local_entity="0" value="2" />
+ <value cell_index="636" local_entity="0" value="1" />
+ <value cell_index="637" local_entity="0" value="2" />
+ <value cell_index="638" local_entity="0" value="2" />
+ <value cell_index="639" local_entity="0" value="2" />
+ <value cell_index="640" local_entity="0" value="2" />
+ <value cell_index="641" local_entity="0" value="2" />
+ <value cell_index="642" local_entity="0" value="2" />
+ <value cell_index="643" local_entity="0" value="2" />
+ <value cell_index="644" local_entity="0" value="2" />
+ <value cell_index="645" local_entity="0" value="2" />
+ <value cell_index="646" local_entity="0" value="2" />
+ <value cell_index="647" local_entity="0" value="1" />
+ <value cell_index="648" local_entity="0" value="2" />
+ <value cell_index="649" local_entity="0" value="2" />
+ <value cell_index="650" local_entity="0" value="2" />
+ <value cell_index="651" local_entity="0" value="1" />
+ <value cell_index="652" local_entity="0" value="2" />
+ <value cell_index="653" local_entity="0" value="2" />
+ <value cell_index="654" local_entity="0" value="2" />
+ <value cell_index="655" local_entity="0" value="2" />
+ <value cell_index="656" local_entity="0" value="2" />
+ <value cell_index="657" local_entity="0" value="2" />
+ <value cell_index="658" local_entity="0" value="2" />
+ <value cell_index="659" local_entity="0" value="2" />
+ <value cell_index="660" local_entity="0" value="2" />
+ <value cell_index="661" local_entity="0" value="2" />
+ <value cell_index="662" local_entity="0" value="1" />
+ <value cell_index="663" local_entity="0" value="1" />
+ <value cell_index="664" local_entity="0" value="2" />
+ <value cell_index="665" local_entity="0" value="2" />
+ <value cell_index="666" local_entity="0" value="1" />
+ <value cell_index="667" local_entity="0" value="2" />
+ <value cell_index="668" local_entity="0" value="2" />
+ <value cell_index="669" local_entity="0" value="2" />
+ <value cell_index="670" local_entity="0" value="2" />
+ <value cell_index="671" local_entity="0" value="2" />
+ <value cell_index="672" local_entity="0" value="1" />
+ <value cell_index="673" local_entity="0" value="1" />
+ <value cell_index="674" local_entity="0" value="2" />
+ <value cell_index="675" local_entity="0" value="2" />
+ <value cell_index="676" local_entity="0" value="2" />
+ <value cell_index="677" local_entity="0" value="2" />
+ <value cell_index="678" local_entity="0" value="2" />
+ <value cell_index="679" local_entity="0" value="2" />
+ <value cell_index="680" local_entity="0" value="1" />
+ <value cell_index="681" local_entity="0" value="1" />
+ <value cell_index="682" local_entity="0" value="2" />
+ <value cell_index="683" local_entity="0" value="2" />
+ <value cell_index="684" local_entity="0" value="1" />
+ <value cell_index="685" local_entity="0" value="2" />
+ <value cell_index="686" local_entity="0" value="1" />
+ <value cell_index="687" local_entity="0" value="2" />
+ <value cell_index="688" local_entity="0" value="2" />
+ <value cell_index="689" local_entity="0" value="1" />
+ <value cell_index="690" local_entity="0" value="2" />
+ <value cell_index="691" local_entity="0" value="2" />
+ <value cell_index="692" local_entity="0" value="2" />
+ <value cell_index="693" local_entity="0" value="2" />
+ <value cell_index="694" local_entity="0" value="1" />
+ <value cell_index="695" local_entity="0" value="1" />
+ <value cell_index="696" local_entity="0" value="1" />
+ <value cell_index="697" local_entity="0" value="2" />
+ <value cell_index="698" local_entity="0" value="1" />
+ <value cell_index="699" local_entity="0" value="2" />
+ <value cell_index="700" local_entity="0" value="2" />
+ <value cell_index="701" local_entity="0" value="2" />
+ <value cell_index="702" local_entity="0" value="2" />
+ <value cell_index="703" local_entity="0" value="2" />
+ <value cell_index="704" local_entity="0" value="2" />
+ <value cell_index="705" local_entity="0" value="2" />
+ <value cell_index="706" local_entity="0" value="2" />
+ <value cell_index="707" local_entity="0" value="2" />
+ <value cell_index="708" local_entity="0" value="2" />
+ <value cell_index="709" local_entity="0" value="1" />
+ <value cell_index="710" local_entity="0" value="2" />
+ <value cell_index="711" local_entity="0" value="2" />
+ <value cell_index="712" local_entity="0" value="2" />
+ <value cell_index="713" local_entity="0" value="2" />
+ <value cell_index="714" local_entity="0" value="1" />
+ <value cell_index="715" local_entity="0" value="2" />
+ <value cell_index="716" local_entity="0" value="2" />
+ <value cell_index="717" local_entity="0" value="2" />
+ <value cell_index="718" local_entity="0" value="1" />
+ <value cell_index="719" local_entity="0" value="2" />
+ <value cell_index="720" local_entity="0" value="1" />
+ <value cell_index="721" local_entity="0" value="2" />
+ <value cell_index="722" local_entity="0" value="2" />
+ <value cell_index="723" local_entity="0" value="2" />
+ <value cell_index="724" local_entity="0" value="1" />
+ <value cell_index="725" local_entity="0" value="2" />
+ <value cell_index="726" local_entity="0" value="2" />
+ <value cell_index="727" local_entity="0" value="2" />
+ <value cell_index="728" local_entity="0" value="2" />
+ <value cell_index="729" local_entity="0" value="1" />
+ <value cell_index="730" local_entity="0" value="1" />
+ <value cell_index="731" local_entity="0" value="2" />
+ <value cell_index="732" local_entity="0" value="1" />
+ <value cell_index="733" local_entity="0" value="2" />
+ <value cell_index="734" local_entity="0" value="2" />
+ <value cell_index="735" local_entity="0" value="2" />
+ <value cell_index="736" local_entity="0" value="2" />
+ <value cell_index="737" local_entity="0" value="2" />
+ <value cell_index="738" local_entity="0" value="2" />
+ <value cell_index="739" local_entity="0" value="1" />
+ <value cell_index="740" local_entity="0" value="2" />
+ <value cell_index="741" local_entity="0" value="1" />
+ <value cell_index="742" local_entity="0" value="2" />
+ <value cell_index="743" local_entity="0" value="2" />
+ <value cell_index="744" local_entity="0" value="2" />
+ <value cell_index="745" local_entity="0" value="2" />
+ <value cell_index="746" local_entity="0" value="1" />
+ <value cell_index="747" local_entity="0" value="1" />
+ <value cell_index="748" local_entity="0" value="1" />
+ <value cell_index="749" local_entity="0" value="2" />
+ <value cell_index="750" local_entity="0" value="2" />
+ <value cell_index="751" local_entity="0" value="2" />
+ <value cell_index="752" local_entity="0" value="2" />
+ <value cell_index="753" local_entity="0" value="2" />
+ <value cell_index="754" local_entity="0" value="2" />
+ <value cell_index="755" local_entity="0" value="1" />
+ <value cell_index="756" local_entity="0" value="2" />
+ <value cell_index="757" local_entity="0" value="2" />
+ <value cell_index="758" local_entity="0" value="2" />
+ <value cell_index="759" local_entity="0" value="2" />
+ <value cell_index="760" local_entity="0" value="2" />
+ <value cell_index="761" local_entity="0" value="2" />
+ <value cell_index="762" local_entity="0" value="1" />
+ <value cell_index="763" local_entity="0" value="2" />
+ <value cell_index="764" local_entity="0" value="2" />
+ <value cell_index="765" local_entity="0" value="1" />
+ <value cell_index="766" local_entity="0" value="1" />
+ <value cell_index="767" local_entity="0" value="2" />
+ <value cell_index="768" local_entity="0" value="2" />
+ <value cell_index="769" local_entity="0" value="2" />
+ <value cell_index="770" local_entity="0" value="2" />
+ <value cell_index="771" local_entity="0" value="2" />
+ <value cell_index="772" local_entity="0" value="2" />
+ <value cell_index="773" local_entity="0" value="1" />
+ <value cell_index="774" local_entity="0" value="2" />
+ <value cell_index="775" local_entity="0" value="2" />
+ <value cell_index="776" local_entity="0" value="1" />
+ <value cell_index="777" local_entity="0" value="1" />
+ <value cell_index="778" local_entity="0" value="1" />
+ <value cell_index="779" local_entity="0" value="2" />
+ <value cell_index="780" local_entity="0" value="2" />
+ <value cell_index="781" local_entity="0" value="2" />
+ <value cell_index="782" local_entity="0" value="2" />
+ <value cell_index="783" local_entity="0" value="2" />
+ <value cell_index="784" local_entity="0" value="1" />
+ <value cell_index="785" local_entity="0" value="2" />
+ <value cell_index="786" local_entity="0" value="1" />
+ <value cell_index="787" local_entity="0" value="1" />
+ <value cell_index="788" local_entity="0" value="1" />
+ <value cell_index="789" local_entity="0" value="2" />
+ <value cell_index="790" local_entity="0" value="1" />
+ <value cell_index="791" local_entity="0" value="2" />
+ <value cell_index="792" local_entity="0" value="2" />
+ <value cell_index="793" local_entity="0" value="2" />
+ <value cell_index="794" local_entity="0" value="2" />
+ <value cell_index="795" local_entity="0" value="1" />
+ <value cell_index="796" local_entity="0" value="2" />
+ <value cell_index="797" local_entity="0" value="1" />
+ <value cell_index="798" local_entity="0" value="2" />
+ <value cell_index="799" local_entity="0" value="2" />
+ <value cell_index="800" local_entity="0" value="2" />
+ <value cell_index="801" local_entity="0" value="2" />
+ <value cell_index="802" local_entity="0" value="1" />
+ <value cell_index="803" local_entity="0" value="1" />
+ <value cell_index="804" local_entity="0" value="2" />
+ <value cell_index="805" local_entity="0" value="2" />
+ <value cell_index="806" local_entity="0" value="1" />
+ <value cell_index="807" local_entity="0" value="2" />
+ <value cell_index="808" local_entity="0" value="1" />
+ <value cell_index="809" local_entity="0" value="2" />
+ <value cell_index="810" local_entity="0" value="2" />
+ <value cell_index="811" local_entity="0" value="2" />
+ <value cell_index="812" local_entity="0" value="1" />
+ <value cell_index="813" local_entity="0" value="2" />
+ <value cell_index="814" local_entity="0" value="2" />
+ <value cell_index="815" local_entity="0" value="1" />
+ <value cell_index="816" local_entity="0" value="1" />
+ <value cell_index="817" local_entity="0" value="1" />
+ <value cell_index="818" local_entity="0" value="2" />
+ <value cell_index="819" local_entity="0" value="2" />
+ <value cell_index="820" local_entity="0" value="1" />
+ <value cell_index="821" local_entity="0" value="2" />
+ <value cell_index="822" local_entity="0" value="2" />
+ <value cell_index="823" local_entity="0" value="1" />
+ <value cell_index="824" local_entity="0" value="2" />
+ <value cell_index="825" local_entity="0" value="2" />
+ <value cell_index="826" local_entity="0" value="1" />
+ <value cell_index="827" local_entity="0" value="2" />
+ <value cell_index="828" local_entity="0" value="1" />
+ <value cell_index="829" local_entity="0" value="2" />
+ <value cell_index="830" local_entity="0" value="1" />
+ <value cell_index="831" local_entity="0" value="1" />
+ <value cell_index="832" local_entity="0" value="2" />
+ <value cell_index="833" local_entity="0" value="2" />
+ <value cell_index="834" local_entity="0" value="2" />
+ <value cell_index="835" local_entity="0" value="1" />
+ <value cell_index="836" local_entity="0" value="2" />
+ <value cell_index="837" local_entity="0" value="2" />
+ <value cell_index="838" local_entity="0" value="2" />
+ <value cell_index="839" local_entity="0" value="2" />
+ <value cell_index="840" local_entity="0" value="1" />
+ <value cell_index="841" local_entity="0" value="2" />
+ <value cell_index="842" local_entity="0" value="2" />
+ <value cell_index="843" local_entity="0" value="2" />
+ <value cell_index="844" local_entity="0" value="1" />
+ <value cell_index="845" local_entity="0" value="2" />
+ <value cell_index="846" local_entity="0" value="2" />
+ <value cell_index="847" local_entity="0" value="2" />
+ <value cell_index="848" local_entity="0" value="2" />
+ <value cell_index="849" local_entity="0" value="2" />
+ <value cell_index="850" local_entity="0" value="2" />
+ <value cell_index="851" local_entity="0" value="2" />
+ <value cell_index="852" local_entity="0" value="2" />
+ <value cell_index="853" local_entity="0" value="2" />
+ <value cell_index="854" local_entity="0" value="1" />
+ <value cell_index="855" local_entity="0" value="2" />
+ <value cell_index="856" local_entity="0" value="2" />
+ <value cell_index="857" local_entity="0" value="2" />
+ <value cell_index="858" local_entity="0" value="1" />
+ <value cell_index="859" local_entity="0" value="1" />
+ <value cell_index="860" local_entity="0" value="2" />
+ <value cell_index="861" local_entity="0" value="2" />
+ <value cell_index="862" local_entity="0" value="2" />
+ <value cell_index="863" local_entity="0" value="2" />
+ <value cell_index="864" local_entity="0" value="2" />
+ <value cell_index="865" local_entity="0" value="2" />
+ <value cell_index="866" local_entity="0" value="1" />
+ <value cell_index="867" local_entity="0" value="2" />
+ <value cell_index="868" local_entity="0" value="1" />
+ <value cell_index="869" local_entity="0" value="1" />
+ <value cell_index="870" local_entity="0" value="1" />
+ <value cell_index="871" local_entity="0" value="2" />
+ <value cell_index="872" local_entity="0" value="2" />
+ <value cell_index="873" local_entity="0" value="1" />
+ <value cell_index="874" local_entity="0" value="1" />
+ <value cell_index="875" local_entity="0" value="2" />
+ <value cell_index="876" local_entity="0" value="2" />
+ <value cell_index="877" local_entity="0" value="1" />
+ <value cell_index="878" local_entity="0" value="2" />
+ <value cell_index="879" local_entity="0" value="2" />
+ <value cell_index="880" local_entity="0" value="2" />
+ <value cell_index="881" local_entity="0" value="2" />
+ <value cell_index="882" local_entity="0" value="1" />
+ <value cell_index="883" local_entity="0" value="2" />
+ <value cell_index="884" local_entity="0" value="2" />
+ <value cell_index="885" local_entity="0" value="1" />
+ <value cell_index="886" local_entity="0" value="2" />
+ <value cell_index="887" local_entity="0" value="1" />
+ <value cell_index="888" local_entity="0" value="2" />
+ <value cell_index="889" local_entity="0" value="2" />
+ <value cell_index="890" local_entity="0" value="2" />
+ <value cell_index="891" local_entity="0" value="2" />
+ <value cell_index="892" local_entity="0" value="1" />
+ <value cell_index="893" local_entity="0" value="1" />
+ <value cell_index="894" local_entity="0" value="2" />
+ <value cell_index="895" local_entity="0" value="1" />
+ <value cell_index="896" local_entity="0" value="2" />
+ <value cell_index="897" local_entity="0" value="1" />
+ <value cell_index="898" local_entity="0" value="2" />
+ <value cell_index="899" local_entity="0" value="2" />
+ <value cell_index="900" local_entity="0" value="2" />
+ <value cell_index="901" local_entity="0" value="2" />
+ <value cell_index="902" local_entity="0" value="1" />
+ <value cell_index="903" local_entity="0" value="1" />
+ <value cell_index="904" local_entity="0" value="1" />
+ <value cell_index="905" local_entity="0" value="2" />
+ <value cell_index="906" local_entity="0" value="2" />
+ <value cell_index="907" local_entity="0" value="2" />
+ <value cell_index="908" local_entity="0" value="2" />
+ <value cell_index="909" local_entity="0" value="1" />
+ <value cell_index="910" local_entity="0" value="2" />
+ <value cell_index="911" local_entity="0" value="1" />
+ <value cell_index="912" local_entity="0" value="1" />
+ <value cell_index="913" local_entity="0" value="2" />
+ <value cell_index="914" local_entity="0" value="1" />
+ <value cell_index="915" local_entity="0" value="2" />
+ <value cell_index="916" local_entity="0" value="2" />
+ <value cell_index="917" local_entity="0" value="2" />
+ <value cell_index="918" local_entity="0" value="2" />
+ <value cell_index="919" local_entity="0" value="2" />
+ <value cell_index="920" local_entity="0" value="2" />
+ <value cell_index="921" local_entity="0" value="2" />
+ <value cell_index="922" local_entity="0" value="2" />
+ <value cell_index="923" local_entity="0" value="2" />
+ <value cell_index="924" local_entity="0" value="2" />
+ <value cell_index="925" local_entity="0" value="2" />
+ <value cell_index="926" local_entity="0" value="1" />
+ <value cell_index="927" local_entity="0" value="1" />
+ <value cell_index="928" local_entity="0" value="2" />
+ <value cell_index="929" local_entity="0" value="2" />
+ <value cell_index="930" local_entity="0" value="2" />
+ <value cell_index="931" local_entity="0" value="2" />
+ <value cell_index="932" local_entity="0" value="2" />
+ <value cell_index="933" local_entity="0" value="2" />
+ <value cell_index="934" local_entity="0" value="1" />
+ <value cell_index="935" local_entity="0" value="1" />
+ <value cell_index="936" local_entity="0" value="1" />
+ <value cell_index="937" local_entity="0" value="1" />
+ <value cell_index="938" local_entity="0" value="2" />
+ <value cell_index="939" local_entity="0" value="2" />
+ <value cell_index="940" local_entity="0" value="2" />
+ <value cell_index="941" local_entity="0" value="2" />
+ <value cell_index="942" local_entity="0" value="2" />
+ <value cell_index="943" local_entity="0" value="1" />
+ <value cell_index="944" local_entity="0" value="2" />
+ <value cell_index="945" local_entity="0" value="2" />
+ <value cell_index="946" local_entity="0" value="2" />
+ <value cell_index="947" local_entity="0" value="2" />
+ <value cell_index="948" local_entity="0" value="2" />
+ <value cell_index="949" local_entity="0" value="2" />
+ <value cell_index="950" local_entity="0" value="2" />
+ <value cell_index="951" local_entity="0" value="2" />
+ <value cell_index="952" local_entity="0" value="2" />
+ <value cell_index="953" local_entity="0" value="2" />
+ <value cell_index="954" local_entity="0" value="2" />
+ <value cell_index="955" local_entity="0" value="2" />
+ <value cell_index="956" local_entity="0" value="2" />
+ <value cell_index="957" local_entity="0" value="2" />
+ <value cell_index="958" local_entity="0" value="2" />
+ <value cell_index="959" local_entity="0" value="2" />
+ </mesh_value_collection>
+ </domains>
+ </mesh>
+</dolfin>
diff --git a/test/data/boxes.xml.gz b/test/data/boxes.xml.gz
deleted file mode 100644
index 805421d..0000000
Binary files a/test/data/boxes.xml.gz and /dev/null differ
diff --git a/test/data/doughnut.xml b/test/data/doughnut.xml
new file mode 100644
index 0000000..6296fca
--- /dev/null
+++ b/test/data/doughnut.xml
@@ -0,0 +1,1072 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<dolfin xmlns:dolfin="http://www.fenicsproject.org">
+ <mesh celltype="triangle" dim="2">
+ <vertices size="386">
+ <vertex index="0" x="1.2222200000000001e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
+ <vertex index="1" x="8.6424005010182225e-01" y="8.6424005010182214e-01" z="0.0000000000000000e+00"/>
+ <vertex index="2" x="2.2204460492503131e-16" y="1.2222200000000001e+00" z="0.0000000000000000e+00"/>
+ <vertex index="3" x="-8.6424005010182203e-01" y="8.6424005010182237e-01" z="0.0000000000000000e+00"/>
+ <vertex index="4" x="-1.2222200000000001e+00" y="3.3306690738754701e-16" z="0.0000000000000000e+00"/>
+ <vertex index="5" x="-8.6424005010182248e-01" y="-8.6424005010182192e-01" z="0.0000000000000000e+00"/>
+ <vertex index="6" x="-4.4408920985006262e-16" y="-1.2222200000000001e+00" z="0.0000000000000000e+00"/>
+ <vertex index="7" x="8.6424005010182181e-01" y="-8.6424005010182259e-01" z="0.0000000000000000e+00"/>
+ <vertex index="8" x="2.2222200000000001e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
+ <vertex index="9" x="1.5713468312883700e+00" y="1.5713468312883700e+00" z="0.0000000000000000e+00"/>
+ <vertex index="10" x="4.4408920985006262e-16" y="2.2222200000000001e+00" z="0.0000000000000000e+00"/>
+ <vertex index="11" x="-1.5713468312883689e+00" y="1.5713468312883700e+00" z="0.0000000000000000e+00"/>
+ <vertex index="12" x="-2.2222200000000001e+00" y="4.4408920985006262e-16" z="0.0000000000000000e+00"/>
+ <vertex index="13" x="-1.5713468312883700e+00" y="-1.5713468312883689e+00" z="0.0000000000000000e+00"/>
+ <vertex index="14" x="-4.4408920985006262e-16" y="-2.2222200000000001e+00" z="0.0000000000000000e+00"/>
+ <vertex index="15" x="1.5713468312883689e+00" y="-1.5713468312883700e+00" z="0.0000000000000000e+00"/>
+ <vertex index="16" x="1.1987353854145240e+00" y="2.3844329337411341e-01" z="0.0000000000000000e+00"/>
+ <vertex index="17" x="1.1291840422258621e+00" y="4.6772334470545962e-01" z="0.0000000000000000e+00"/>
+ <vertex index="18" x="1.0162387895484979e+00" y="6.7902905020109761e-01" z="0.0000000000000000e+00"/>
+ <vertex index="19" x="6.7902905020236082e-01" y="1.0162387895476530e+00" z="0.0000000000000000e+00"/>
+ <vertex index="20" x="4.6772334470596288e-01" y="1.1291840422256540e+00" z="0.0000000000000000e+00"/>
+ <vertex index="21" x="2.3844329337544920e-01" y="1.1987353854142579e+00" z="0.0000000000000000e+00"/>
+ <vertex index="22" x="-2.3844329337411310e-01" y="1.1987353854145240e+00" z="0.0000000000000000e+00"/>
+ <vertex index="23" x="-4.6772334470545940e-01" y="1.1291840422258621e+00" z="0.0000000000000000e+00"/>
+ <vertex index="24" x="-6.7902905020109738e-01" y="1.0162387895484979e+00" z="0.0000000000000000e+00"/>
+ <vertex index="25" x="-1.0162387895472491e+00" y="6.7902905020296611e-01" z="0.0000000000000000e+00"/>
+ <vertex index="26" x="-1.1291840422253920e+00" y="4.6772334470659588e-01" z="0.0000000000000000e+00"/>
+ <vertex index="27" x="-1.1987353854141700e+00" y="2.3844329337588849e-01" z="0.0000000000000000e+00"/>
+ <vertex index="28" x="-1.1987353854138330e+00" y="-2.3844329337758630e-01" z="0.0000000000000000e+00"/>
+ <vertex index="29" x="-1.1291840422257471e+00" y="-4.6772334470573729e-01" z="0.0000000000000000e+00"/>
+ <vertex index="30" x="-1.0162387895498921e+00" y="-6.7902905019901072e-01" z="0.0000000000000000e+00"/>
+ <vertex index="31" x="-6.7902905019964521e-01" y="-1.0162387895494680e+00" z="0.0000000000000000e+00"/>
+ <vertex index="32" x="-4.6772334470523008e-01" y="-1.1291840422259569e+00" z="0.0000000000000000e+00"/>
+ <vertex index="33" x="-2.3844329337699549e-01" y="-1.1987353854139500e+00" z="0.0000000000000000e+00"/>
+ <vertex index="34" x="2.3844329337411291e-01" y="-1.1987353854145240e+00" z="0.0000000000000000e+00"/>
+ <vertex index="35" x="4.6772334470545918e-01" y="-1.1291840422258630e+00" z="0.0000000000000000e+00"/>
+ <vertex index="36" x="6.7902905020109727e-01" y="-1.0162387895484979e+00" z="0.0000000000000000e+00"/>
+ <vertex index="37" x="1.0162387895479970e+00" y="-6.7902905020184634e-01" z="0.0000000000000000e+00"/>
+ <vertex index="38" x="1.1291840422259241e+00" y="-4.6772334470530991e-01" z="0.0000000000000000e+00"/>
+ <vertex index="39" x="1.1987353854145459e+00" y="-2.3844329337400230e-01" z="0.0000000000000000e+00"/>
+ <vertex index="40" x="2.2115194033055472e+00" y="2.1781564958257321e-01" z="0.0000000000000000e+00"/>
+ <vertex index="41" x="2.1795206658178961e+00" y="4.3353361538953139e-01" z="0.0000000000000000e+00"/>
+ <vertex index="42" x="2.1265319528710021e+00" y="6.4507641548784300e-01" z="0.0000000000000000e+00"/>
+ <vertex index="43" x="2.0530635747372381e+00" y="8.5040677707033485e-01" z="0.0000000000000000e+00"/>
+ <vertex index="44" x="1.9598230720602019e+00" y="1.0475472565094679e+00" z="0.0000000000000000e+00"/>
+ <vertex index="45" x="1.8477084018509540e+00" y="1.2345992832208330e+00" z="0.0000000000000000e+00"/>
+ <vertex index="46" x="1.7177992896717360e+00" y="1.4097614439341419e+00" z="0.0000000000000000e+00"/>
+ <vertex index="47" x="1.4097614439349111e+00" y="1.7177992896711050e+00" z="0.0000000000000000e+00"/>
+ <vertex index="48" x="1.2345992832224870e+00" y="1.8477084018498480e+00" z="0.0000000000000000e+00"/>
+ <vertex index="49" x="1.0475472565105550e+00" y="1.9598230720596210e+00" z="0.0000000000000000e+00"/>
+ <vertex index="50" x="8.5040677707077306e-01" y="2.0530635747370560e+00" z="0.0000000000000000e+00"/>
+ <vertex index="51" x="6.4507641548944983e-01" y="2.1265319528705140e+00" z="0.0000000000000000e+00"/>
+ <vertex index="52" x="4.3353361539235957e-01" y="2.1795206658173329e+00" z="0.0000000000000000e+00"/>
+ <vertex index="53" x="2.1781564958400820e-01" y="2.2115194033054060e+00" z="0.0000000000000000e+00"/>
+ <vertex index="54" x="-2.1781564958257271e-01" y="2.2115194033055472e+00" z="0.0000000000000000e+00"/>
+ <vertex index="55" x="-4.3353361538953089e-01" y="2.1795206658178961e+00" z="0.0000000000000000e+00"/>
+ <vertex index="56" x="-6.4507641548784256e-01" y="2.1265319528710021e+00" z="0.0000000000000000e+00"/>
+ <vertex index="57" x="-8.5040677707033441e-01" y="2.0530635747372381e+00" z="0.0000000000000000e+00"/>
+ <vertex index="58" x="-1.0475472565094670e+00" y="1.9598230720602019e+00" z="0.0000000000000000e+00"/>
+ <vertex index="59" x="-1.2345992832208330e+00" y="1.8477084018509540e+00" z="0.0000000000000000e+00"/>
+ <vertex index="60" x="-1.4097614439341419e+00" y="1.7177992896717369e+00" z="0.0000000000000000e+00"/>
+ <vertex index="61" x="-1.7177992896712171e+00" y="1.4097614439347750e+00" z="0.0000000000000000e+00"/>
+ <vertex index="62" x="-1.8477084018500440e+00" y="1.2345992832221939e+00" z="0.0000000000000000e+00"/>
+ <vertex index="63" x="-1.9598230720600209e+00" y="1.0475472565098050e+00" z="0.0000000000000000e+00"/>
+ <vertex index="64" x="-2.0530635747375721e+00" y="8.5040677706952916e-01" z="0.0000000000000000e+00"/>
+ <vertex index="65" x="-2.1265319528712570e+00" y="6.4507641548700212e-01" z="0.0000000000000000e+00"/>
+ <vertex index="66" x="-2.1795206658180679e+00" y="4.3353361538866281e-01" z="0.0000000000000000e+00"/>
+ <vertex index="67" x="-2.2115194033055898e+00" y="2.1781564958213270e-01" z="0.0000000000000000e+00"/>
+ <vertex index="68" x="-2.2115194033055472e+00" y="-2.1781564958257271e-01" z="0.0000000000000000e+00"/>
+ <vertex index="69" x="-2.1795206658178961e+00" y="-4.3353361538953089e-01" z="0.0000000000000000e+00"/>
+ <vertex index="70" x="-2.1265319528710021e+00" y="-6.4507641548784256e-01" z="0.0000000000000000e+00"/>
+ <vertex index="71" x="-2.0530635747372381e+00" y="-8.5040677707033441e-01" z="0.0000000000000000e+00"/>
+ <vertex index="72" x="-1.9598230720602019e+00" y="-1.0475472565094670e+00" z="0.0000000000000000e+00"/>
+ <vertex index="73" x="-1.8477084018509540e+00" y="-1.2345992832208330e+00" z="0.0000000000000000e+00"/>
+ <vertex index="74" x="-1.7177992896717369e+00" y="-1.4097614439341419e+00" z="0.0000000000000000e+00"/>
+ <vertex index="75" x="-1.4097614439347750e+00" y="-1.7177992896712171e+00" z="0.0000000000000000e+00"/>
+ <vertex index="76" x="-1.2345992832221939e+00" y="-1.8477084018500440e+00" z="0.0000000000000000e+00"/>
+ <vertex index="77" x="-1.0475472565098050e+00" y="-1.9598230720600209e+00" z="0.0000000000000000e+00"/>
+ <vertex index="78" x="-8.5040677706952916e-01" y="-2.0530635747375721e+00" z="0.0000000000000000e+00"/>
+ <vertex index="79" x="-6.4507641548700212e-01" y="-2.1265319528712570e+00" z="0.0000000000000000e+00"/>
+ <vertex index="80" x="-4.3353361538866281e-01" y="-2.1795206658180679e+00" z="0.0000000000000000e+00"/>
+ <vertex index="81" x="-2.1781564958213270e-01" y="-2.2115194033055898e+00" z="0.0000000000000000e+00"/>
+ <vertex index="82" x="2.1781564958257271e-01" y="-2.2115194033055472e+00" z="0.0000000000000000e+00"/>
+ <vertex index="83" x="4.3353361538953089e-01" y="-2.1795206658178961e+00" z="0.0000000000000000e+00"/>
+ <vertex index="84" x="6.4507641548784256e-01" y="-2.1265319528710021e+00" z="0.0000000000000000e+00"/>
+ <vertex index="85" x="8.5040677707033441e-01" y="-2.0530635747372381e+00" z="0.0000000000000000e+00"/>
+ <vertex index="86" x="1.0475472565094670e+00" y="-1.9598230720602019e+00" z="0.0000000000000000e+00"/>
+ <vertex index="87" x="1.2345992832208330e+00" y="-1.8477084018509540e+00" z="0.0000000000000000e+00"/>
+ <vertex index="88" x="1.4097614439341419e+00" y="-1.7177992896717369e+00" z="0.0000000000000000e+00"/>
+ <vertex index="89" x="1.7177992896712171e+00" y="-1.4097614439347750e+00" z="0.0000000000000000e+00"/>
+ <vertex index="90" x="1.8477084018500440e+00" y="-1.2345992832221939e+00" z="0.0000000000000000e+00"/>
+ <vertex index="91" x="1.9598230720600209e+00" y="-1.0475472565098050e+00" z="0.0000000000000000e+00"/>
+ <vertex index="92" x="2.0530635747375721e+00" y="-8.5040677706952916e-01" z="0.0000000000000000e+00"/>
+ <vertex index="93" x="2.1265319528712570e+00" y="-6.4507641548700212e-01" z="0.0000000000000000e+00"/>
+ <vertex index="94" x="2.1795206658180679e+00" y="-4.3353361538866281e-01" z="0.0000000000000000e+00"/>
+ <vertex index="95" x="2.2115194033055898e+00" y="-2.1781564958213270e-01" z="0.0000000000000000e+00"/>
+ <vertex index="96" x="-2.7266862769841271e-01" y="-1.6867324588028760e+00" z="0.0000000000000000e+00"/>
+ <vertex index="97" x="-7.4419016214636668e-01" y="-1.5568494403348170e+00" z="0.0000000000000000e+00"/>
+ <vertex index="98" x="-1.1469655816102371e+00" y="-1.2813179478465400e+00" z="0.0000000000000000e+00"/>
+ <vertex index="99" x="-1.4854127379939761e+00" y="-8.8924564563187269e-01" z="0.0000000000000000e+00"/>
+ <vertex index="100" x="-1.6647158068980299e+00" y="-4.2514859142523898e-01" z="0.0000000000000000e+00"/>
+ <vertex index="101" x="-1.7207745601242941e+00" y="8.6685432165435658e-02" z="0.0000000000000000e+00"/>
+ <vertex index="102" x="-1.6328627168303380e+00" y="5.8422363386384435e-01" z="0.0000000000000000e+00"/>
+ <vertex index="103" x="-1.3719652751312610e+00" y="1.0298483268282981e+00" z="0.0000000000000000e+00"/>
+ <vertex index="104" x="-1.0347056530266689e+00" y="1.3832169695919161e+00" z="0.0000000000000000e+00"/>
+ <vertex index="105" x="-5.8236912067247792e-01" y="1.6303524326476571e+00" z="0.0000000000000000e+00"/>
+ <vertex index="106" x="-8.4121696133807697e-02" y="1.7241107493798780e+00" z="0.0000000000000000e+00"/>
+ <vertex index="107" x="4.2680236064687882e-01" y="1.6739891314485951e+00" z="0.0000000000000000e+00"/>
+ <vertex index="108" x="8.9321700503798995e-01" y="1.4883022736792120e+00" z="0.0000000000000000e+00"/>
+ <vertex index="109" x="1.2776105752198130e+00" y="1.1604544596285371e+00" z="0.0000000000000000e+00"/>
+ <vertex index="110" x="1.5591669104199530e+00" y="7.4496770216492803e-01" z="0.0000000000000000e+00"/>
+ <vertex index="111" x="1.7154553181325920e+00" y="2.5464782640824490e-01" z="0.0000000000000000e+00"/>
+ <vertex index="112" x="1.7046218267428890e+00" y="-2.5068666324200561e-01" z="0.0000000000000000e+00"/>
+ <vertex index="113" x="1.5695459641074261e+00" y="-7.4126207804204058e-01" z="0.0000000000000000e+00"/>
+ <vertex index="114" x="1.2774187802469070e+00" y="-1.1665425665042319e+00" z="0.0000000000000000e+00"/>
+ <vertex index="115" x="8.8890719405081942e-01" y="-1.4794550804766140e+00" z="0.0000000000000000e+00"/>
+ <vertex index="116" x="3.8797170357331601e-01" y="-1.6839597523502410e+00" z="0.0000000000000000e+00"/>
+ <vertex index="117" x="4.5009140306323879e-02" y="-1.8660374960189690e+00" z="0.0000000000000000e+00"/>
+ <vertex index="118" x="-5.3546807685066178e-01" y="-1.8326987694868770e+00" z="0.0000000000000000e+00"/>
+ <vertex index="119" x="-1.4825594467878580e+00" y="-1.2124791099433609e+00" z="0.0000000000000000e+00"/>
+ <vertex index="120" x="-1.9068981218837651e+00" y="-1.8472350240381580e-01" z="0.0000000000000000e+00"/>
+ <vertex index="121" x="-1.6913849775836090e+00" y="8.9758562868246861e-01" z="0.0000000000000000e+00"/>
+ <vertex index="122" x="-8.9758562848620160e-01" y="1.6913849776535561e+00" z="0.0000000000000000e+00"/>
+ <vertex index="123" x="1.5703944742565401e+00" y="-1.0535689124827330e+00" z="0.0000000000000000e+00"/>
+ <vertex index="124" x="7.2080978867295131e-01" y="1.7568816452297980e+00" z="0.0000000000000000e+00"/>
+ <vertex index="125" x="7.2973716477939476e-01" y="-1.7570105411626600e+00" z="0.0000000000000000e+00"/>
+ <vertex index="126" x="1.8199598213942059e-01" y="1.9061271115988030e+00" z="0.0000000000000000e+00"/>
+ <vertex index="127" x="1.1931712958874241e+00" y="1.4782569603468290e+00" z="0.0000000000000000e+00"/>
+ <vertex index="128" x="1.8339957588728750e+00" y="5.5036593237918219e-01" z="0.0000000000000000e+00"/>
+ <vertex index="129" x="1.2170764950267221e+00" y="-1.4586384704221460e+00" z="0.0000000000000000e+00"/>
+ <vertex index="130" x="1.8143727454704259e+00" y="-5.5812075369731373e-01" z="0.0000000000000000e+00"/>
+ <vertex index="131" x="1.9023800606955670e+00" y="1.5996809597812311e-02" z="0.0000000000000000e+00"/>
+ <vertex index="132" x="1.5831086639835561e+00" y="1.0494973871081910e+00" z="0.0000000000000000e+00"/>
+ <vertex index="133" x="-3.8449775579762469e-01" y="1.8615468363700849e+00" z="0.0000000000000000e+00"/>
+ <vertex index="134" x="-1.3326747641406731e+00" y="1.3548489506640500e+00" z="0.0000000000000000e+00"/>
+ <vertex index="135" x="-1.8624261121512671e+00" y="3.8624494259384939e-01" z="0.0000000000000000e+00"/>
+ <vertex index="136" x="-1.7507665050474350e+00" y="-7.4027893431893987e-01" z="0.0000000000000000e+00"/>
+ <vertex index="137" x="-1.0436525774510139e+00" y="-1.5906449261855771e+00" z="0.0000000000000000e+00"/>
+ <vertex index="138" x="1.1149133706256351e-01" y="-1.5366635475670609e+00" z="0.0000000000000000e+00"/>
+ <vertex index="139" x="9.5141546696956736e-01" y="1.1719342141494180e+00" z="0.0000000000000000e+00"/>
+ <vertex index="140" x="1.4421648138984291e+00" y="-4.4584957399955588e-01" z="0.0000000000000000e+00"/>
+ <vertex index="141" x="1.4460627127555590e+00" y="4.4438122725277318e-01" z="0.0000000000000000e+00"/>
+ <vertex index="142" x="9.6380387701659465e-01" y="-1.1617673087711280e+00" z="0.0000000000000000e+00"/>
+ <vertex index="143" x="1.5372972629068471e-01" y="1.5049714999326520e+00" z="0.0000000000000000e+00"/>
+ <vertex index="144" x="-7.1905136580290341e-01" y="1.3337560180477639e+00" z="0.0000000000000000e+00"/>
+ <vertex index="145" x="-1.3340545557438390e+00" y="7.1993391129731732e-01" z="0.0000000000000000e+00"/>
+ <vertex index="146" x="-1.5082199239510401e+00" y="-1.5517286785793469e-01" z="0.0000000000000000e+00"/>
+ <vertex index="147" x="-1.1678299120574720e+00" y="-9.6693798101503736e-01" z="0.0000000000000000e+00"/>
+ <vertex index="148" x="-4.5056788247362928e-01" y="-1.4538228020760660e+00" z="0.0000000000000000e+00"/>
+ <vertex index="149" x="-8.3832303903222671e-01" y="-1.2688713578691719e+00" z="0.0000000000000000e+00"/>
+ <vertex index="150" x="-1.4019149687503420e+00" y="-5.8924057752951009e-01" z="0.0000000000000000e+00"/>
+ <vertex index="151" x="-1.4863766545270700e+00" y="3.0407403108243231e-01" z="0.0000000000000000e+00"/>
+ <vertex index="152" x="-1.0669425251806219e+00" y="1.0786149389186359e+00" z="0.0000000000000000e+00"/>
+ <vertex index="153" x="-3.0363625393846361e-01" y="1.4864637211196281e+00" z="0.0000000000000000e+00"/>
+ <vertex index="154" x="1.2713190385236490e+00" y="8.3958578495274949e-01" z="0.0000000000000000e+00"/>
+ <vertex index="155" x="5.9982813783448807e-01" y="-1.3998769200108849e+00" z="0.0000000000000000e+00"/>
+ <vertex index="156" x="1.2639364413225209e+00" y="-8.4924259672427971e-01" z="0.0000000000000000e+00"/>
+ <vertex index="157" x="1.5171382320774640e+00" y="8.2536430652933312e-03" z="0.0000000000000000e+00"/>
+ <vertex index="158" x="5.7407975497567731e-01" y="1.4105094393670230e+00" z="0.0000000000000000e+00"/>
+ <vertex index="159" x="-1.7723424042959290e-01" y="-1.9353984464758420e+00" z="0.0000000000000000e+00"/>
+ <vertex index="160" x="3.5017936675073852e-01" y="-1.9351852676386141e+00" z="0.0000000000000000e+00"/>
+ <vertex index="161" x="-1.4012234444483210e-01" y="-1.4238364151648910e+00" z="0.0000000000000000e+00"/>
+ <vertex index="162" x="-1.3364880113286499e+00" y="-1.5101710979463121e+00" z="0.0000000000000000e+00"/>
+ <vertex index="163" x="-1.9495579199767521e+00" y="-5.1066598214328696e-01" z="0.0000000000000000e+00"/>
+ <vertex index="164" x="-1.8714796095218360e+00" y="6.1913259414241451e-01" z="0.0000000000000000e+00"/>
+ <vertex index="165" x="-1.2121067907499770e+00" y="1.5545282948142960e+00" z="0.0000000000000000e+00"/>
+ <vertex index="166" x="-1.2051423149854730e-01" y="2.0117235102424860e+00" z="0.0000000000000000e+00"/>
+ <vertex index="167" x="1.9563188153435840e+00" y="2.4346163488098099e-01" z="0.0000000000000000e+00"/>
+ <vertex index="168" x="5.2494843174362515e-01" y="1.9000500613028639e+00" z="0.0000000000000000e+00"/>
+ <vertex index="169" x="1.4284849655492800e+00" y="-1.3586977500692390e+00" z="0.0000000000000000e+00"/>
+ <vertex index="170" x="1.0539071618614890e+00" y="1.6661058090715259e+00" z="0.0000000000000000e+00"/>
+ <vertex index="171" x="1.8019305718561891e+00" y="-7.9979690362789457e-01" z="0.0000000000000000e+00"/>
+ <vertex index="172" x="1.7612207072466679e+00" y="8.8554654478252248e-01" z="0.0000000000000000e+00"/>
+ <vertex index="173" x="1.4778238379319200e+00" y="1.3700109046013029e+00" z="0.0000000000000000e+00"/>
+ <vertex index="174" x="1.0553774007994761e+00" y="-1.7167037358167070e+00" z="0.0000000000000000e+00"/>
+ <vertex index="175" x="1.9981705011280111e+00" y="-2.7221236096980977e-01" z="0.0000000000000000e+00"/>
+ <vertex index="176" x="-6.2024848729821014e-01" y="1.8711351306043551e+00" z="0.0000000000000000e+00"/>
+ <vertex index="177" x="-1.6054031175621180e+00" y="1.2204367049376279e+00" z="0.0000000000000000e+00"/>
+ <vertex index="178" x="-2.0128822063028990e+00" y="1.2284185303576510e-01" z="0.0000000000000000e+00"/>
+ <vertex index="179" x="-1.7141774426008951e+00" y="-9.7337064729582023e-01" z="0.0000000000000000e+00"/>
+ <vertex index="180" x="-8.8500225583806180e-01" y="-1.7616377201018880e+00" z="0.0000000000000000e+00"/>
+ <vertex index="181" x="3.3228478239411707e-01" y="-1.4109974250833830e+00" z="0.0000000000000000e+00"/>
+ <vertex index="182" x="-1.0244729200439460e+00" y="-1.1407404412262929e+00" z="0.0000000000000000e+00"/>
+ <vertex index="183" x="-1.4856043042608731e+00" y="-3.7931162254881090e-01" z="0.0000000000000000e+00"/>
+ <vertex index="184" x="-1.4366920210799909e+00" y="5.2233557749812665e-01" z="0.0000000000000000e+00"/>
+ <vertex index="185" x="-9.0562945357483182e-01" y="1.2248847619935270e+00" z="0.0000000000000000e+00"/>
+ <vertex index="186" x="-7.6880740221999991e-02" y="1.5353006086345251e+00" z="0.0000000000000000e+00"/>
+ <vertex index="187" x="1.3784329963219630e+00" y="-6.6366455307685346e-01" z="0.0000000000000000e+00"/>
+ <vertex index="188" x="1.3785593717913720e+00" y="6.5114336962704811e-01" z="0.0000000000000000e+00"/>
+ <vertex index="189" x="1.5108976157801339e+00" y="2.3253165751601471e-01" z="0.0000000000000000e+00"/>
+ <vertex index="190" x="3.6968824060196809e-01" y="1.4791025096736079e+00" z="0.0000000000000000e+00"/>
+ <vertex index="191" x="1.1333534047574250e+00" y="-1.0195888856538220e+00" z="0.0000000000000000e+00"/>
+ <vertex index="192" x="7.7750626439948056e-01" y="1.3173845257994601e+00" z="0.0000000000000000e+00"/>
+ <vertex index="193" x="7.8967051978270519e-01" y="-1.3189741189344950e+00" z="0.0000000000000000e+00"/>
+ <vertex index="194" x="1.1395733250932261e+00" y="1.0318163077655420e+00" z="0.0000000000000000e+00"/>
+ <vertex index="195" x="1.5193158240981779e+00" y="-2.2379181216122421e-01" z="0.0000000000000000e+00"/>
+ <vertex index="196" x="-5.2263036779067940e-01" y="1.4364129288794920e+00" z="0.0000000000000000e+00"/>
+ <vertex index="197" x="-1.2238518519678980e+00" y="9.1896909204324662e-01" z="0.0000000000000000e+00"/>
+ <vertex index="198" x="-1.5344284426135091e+00" y="7.6984265816432029e-02" z="0.0000000000000000e+00"/>
+ <vertex index="199" x="-1.3071639479094259e+00" y="-7.9309852065049125e-01" z="0.0000000000000000e+00"/>
+ <vertex index="200" x="-6.5105093254490864e-01" y="-1.3779095599021161e+00" z="0.0000000000000000e+00"/>
+ <vertex index="201" x="-4.3355033345695397e-03" y="-1.6757058259655000e+00" z="0.0000000000000000e+00"/>
+ <vertex index="202" x="5.9177067498632030e-01" y="-1.8976151601789939e+00" z="0.0000000000000000e+00"/>
+ <vertex index="203" x="-3.8687208352851871e-01" y="-1.9654403343410229e+00" z="0.0000000000000000e+00"/>
+ <vertex index="204" x="1.0357116944938509e+00" y="-1.3464498320048881e+00" z="0.0000000000000000e+00"/>
+ <vertex index="205" x="1.1185208480376401e+00" y="1.2784901160056581e+00" z="0.0000000000000000e+00"/>
+ <vertex index="206" x="1.6541569775870171e+00" y="4.4705883706921301e-01" z="0.0000000000000000e+00"/>
+ <vertex index="207" x="1.1486435989843920e-01" y="1.7095904188772979e+00" z="0.0000000000000000e+00"/>
+ <vertex index="208" x="1.6425477063918541e+00" y="-4.3983067364237888e-01" z="0.0000000000000000e+00"/>
+ <vertex index="209" x="-7.6106891076657979e-01" y="1.5351200929439519e+00" z="0.0000000000000000e+00"/>
+ <vertex index="210" x="-1.5354141803743300e+00" y="7.6130150729107293e-01" z="0.0000000000000000e+00"/>
+ <vertex index="211" x="-1.7095724377746260e+00" y="-1.1500757794814601e-01" z="0.0000000000000000e+00"/>
+ <vertex index="212" x="-1.3570576342808880e+00" y="-1.0463104613527650e+00" z="0.0000000000000000e+00"/>
+ <vertex index="213" x="-4.5425298894123289e-01" y="-1.6523772071369800e+00" z="0.0000000000000000e+00"/>
+ <vertex index="214" x="1.8874705591976740e-01" y="-1.6981855269003581e+00" z="0.0000000000000000e+00"/>
+ <vertex index="215" x="1.7025976048482481e+00" y="-5.4146149142089782e-02" z="0.0000000000000000e+00"/>
+ <vertex index="216" x="7.0453756565751646e-01" y="1.5530097853265890e+00" z="0.0000000000000000e+00"/>
+ <vertex index="217" x="1.3849461147475510e+00" y="9.9468533463659337e-01" z="0.0000000000000000e+00"/>
+ <vertex index="218" x="1.4604575193549381e+00" y="-8.8159670623449082e-01" z="0.0000000000000000e+00"/>
+ <vertex index="219" x="7.0696595171815024e-01" y="-1.5502771239344431e+00" z="0.0000000000000000e+00"/>
+ <vertex index="220" x="-2.7654894418758852e-01" y="1.6798131699730050e+00" z="0.0000000000000000e+00"/>
+ <vertex index="221" x="-1.2402475527471630e+00" y="1.1659176645591840e+00" z="0.0000000000000000e+00"/>
+ <vertex index="222" x="-1.6804809995365451e+00" y="2.7900616285657698e-01" z="0.0000000000000000e+00"/>
+ <vertex index="223" x="-1.5924607183153969e+00" y="-6.0010422607843328e-01" z="0.0000000000000000e+00"/>
+ <vertex index="224" x="-9.8984362328237130e-01" y="-1.3863459742934801e+00" z="0.0000000000000000e+00"/>
+ <vertex index="225" x="-7.0861642131788749e-01" y="-1.9067060009320580e+00" z="0.0000000000000000e+00"/>
+ <vertex index="226" x="-1.6520692987148480e+00" y="-1.1867356096435040e+00" z="0.0000000000000000e+00"/>
+ <vertex index="227" x="-2.0381665768078379e+00" y="-7.1136500246098022e-02" z="0.0000000000000000e+00"/>
+ <vertex index="228" x="-1.7357245833455131e+00" y="1.0732946409470820e+00" z="0.0000000000000000e+00"/>
+ <vertex index="229" x="-8.4173004421746778e-01" y="1.8533789654653230e+00" z="0.0000000000000000e+00"/>
+ <vertex index="230" x="1.9818848518922130e+00" y="-4.7804471986090918e-01" z="0.0000000000000000e+00"/>
+ <vertex index="231" x="3.2867003363023217e-01" y="2.0087558362759150e+00" z="0.0000000000000000e+00"/>
+ <vertex index="232" x="1.6138951883246699e+00" y="-1.2361795770405319e+00" z="0.0000000000000000e+00"/>
+ <vertex index="233" x="8.9260526653052297e-01" y="-1.8336424045361990e+00" z="0.0000000000000000e+00"/>
+ <vertex index="234" x="1.6268751715739089e+00" y="1.2286527102587239e+00" z="0.0000000000000000e+00"/>
+ <vertex index="235" x="1.9060480282997101e+00" y="7.1424393978291945e-01" z="0.0000000000000000e+00"/>
+ <vertex index="236" x="1.9819949208961560e+00" y="4.6399918309564520e-01" z="0.0000000000000000e+00"/>
+ <vertex index="237" x="8.8752990736767778e-01" y="1.8296298364860470e+00" z="0.0000000000000000e+00"/>
+ <vertex index="238" x="7.0900102473214072e-02" y="2.0394885058088290e+00" z="0.0000000000000000e+00"/>
+ <vertex index="239" x="1.7592541568090370e+00" y="-1.0186345071517080e+00" z="0.0000000000000000e+00"/>
+ <vertex index="240" x="-1.0723690951912550e+00" y="1.7300718264303350e+00" z="0.0000000000000000e+00"/>
+ <vertex index="241" x="-1.8534172413086449e+00" y="8.4160605972984170e-01" z="0.0000000000000000e+00"/>
+ <vertex index="242" x="-2.0143425142452509e+00" y="-3.2738598993312518e-01" z="0.0000000000000000e+00"/>
+ <vertex index="243" x="-1.4928636742080010e+00" y="-1.3915304835666420e+00" z="0.0000000000000000e+00"/>
+ <vertex index="244" x="1.1117101278481180e-01" y="-2.0488239278174150e+00" z="0.0000000000000000e+00"/>
+ <vertex index="245" x="-1.2118084355860290e+00" y="-1.6529355209532359e+00" z="0.0000000000000000e+00"/>
+ <vertex index="246" x="-1.9275969911528270e+00" y="-6.9832911461681291e-01" z="0.0000000000000000e+00"/>
+ <vertex index="247" x="-2.0102461406307390e+00" y="4.8388851784625908e-01" z="0.0000000000000000e+00"/>
+ <vertex index="248" x="-1.4026172434896029e+00" y="1.5188770915779890e+00" z="0.0000000000000000e+00"/>
+ <vertex index="249" x="-3.0767475562844898e-01" y="2.0277540995901191e+00" z="0.0000000000000000e+00"/>
+ <vertex index="250" x="2.0660808176691332e+00" y="8.2665164516005737e-02" z="0.0000000000000000e+00"/>
+ <vertex index="251" x="1.9525366000532369e+00" y="-6.7332973693229059e-01" z="0.0000000000000000e+00"/>
+ <vertex index="252" x="1.2467151712013840e+00" y="1.6488188683234890e+00" z="0.0000000000000000e+00"/>
+ <vertex index="253" x="7.1832561552146679e-01" y="1.9357379143859630e+00" z="0.0000000000000000e+00"/>
+ <vertex index="254" x="1.7592381587291790e+00" y="1.0823034552120590e+00" z="0.0000000000000000e+00"/>
+ <vertex index="255" x="1.3750879033082850e+00" y="-1.5463503189999710e+00" z="0.0000000000000000e+00"/>
+ <vertex index="256" x="1.2272090619717930e+00" y="-1.6397945059917849e+00" z="0.0000000000000000e+00"/>
+ <vertex index="257" x="1.3675559446610319e+00" y="1.5238291557072470e+00" z="0.0000000000000000e+00"/>
+ <vertex index="258" x="2.0476035565689288e+00" y="-8.9218460992548571e-02" z="0.0000000000000000e+00"/>
+ <vertex index="259" x="-4.8372842600644861e-01" y="2.0120917396893510e+00" z="0.0000000000000000e+00"/>
+ <vertex index="260" x="-1.5122064897556149e+00" y="1.3835188764283410e+00" z="0.0000000000000000e+00"/>
+ <vertex index="261" x="-2.0256340377941058e+00" y="3.1189900456933178e-01" z="0.0000000000000000e+00"/>
+ <vertex index="262" x="-1.8773056400069259e+00" y="-8.6628751277091121e-01" z="0.0000000000000000e+00"/>
+ <vertex index="263" x="-1.0792302679202910e+00" y="-1.7637552924046580e+00" z="0.0000000000000000e+00"/>
+ <vertex index="264" x="-2.9328962516511120e-01" y="-1.5328742315750430e+00" z="0.0000000000000000e+00"/>
+ <vertex index="265" x="-3.1122270855249362e-01" y="-1.3753982044684181e+00" z="0.0000000000000000e+00"/>
+ <vertex index="266" x="-1.3158772786015440e+00" y="-1.2934556526946479e+00" z="0.0000000000000000e+00"/>
+ <vertex index="267" x="-1.8142145385687469e+00" y="-3.4183801841300709e-01" z="0.0000000000000000e+00"/>
+ <vertex index="268" x="-1.7157281575913130e+00" y="7.3664842362727734e-01" z="0.0000000000000000e+00"/>
+ <vertex index="269" x="-9.8899273813265554e-01" y="1.5520501839690619e+00" z="0.0000000000000000e+00"/>
+ <vertex index="270" x="2.2202871140331610e-03" y="1.8697099145307010e+00" z="0.0000000000000000e+00"/>
+ <vertex index="271" x="1.8264376018013799e+00" y="3.8798753963830818e-01" z="0.0000000000000000e+00"/>
+ <vertex index="272" x="1.6327825079029601e+00" y="-8.9692680661774959e-01" z="0.0000000000000000e+00"/>
+ <vertex index="273" x="3.1969810137935678e-01" y="1.8123979223632840e+00" z="0.0000000000000000e+00"/>
+ <vertex index="274" x="1.4486106521380200e+00" y="-1.1671044730447750e+00" z="0.0000000000000000e+00"/>
+ <vertex index="275" x="8.5545031831195062e-01" y="1.6558605019362080e+00" z="0.0000000000000000e+00"/>
+ <vertex index="276" x="1.7152626382134810e+00" y="6.6721071143236510e-01" z="0.0000000000000000e+00"/>
+ <vertex index="277" x="8.7822008605422952e-01" y="-1.6443486939813490e+00" z="0.0000000000000000e+00"/>
+ <vertex index="278" x="1.4422215258453761e+00" y="1.1805127777569890e+00" z="0.0000000000000000e+00"/>
+ <vertex index="279" x="1.8295889411956521e+00" y="-3.6684775141029691e-01" z="0.0000000000000000e+00"/>
+ <vertex index="280" x="-7.3653546063158426e-01" y="1.7153032049647781e+00" z="0.0000000000000000e+00"/>
+ <vertex index="281" x="-1.5427584205724281e+00" y="1.0113256309712120e+00" z="0.0000000000000000e+00"/>
+ <vertex index="282" x="-1.8679016078042869e+00" y="6.8469147381620813e-04" z="0.0000000000000000e+00"/>
+ <vertex index="283" x="-1.5382799939753080e+00" y="-1.0573097107379010e+00" z="0.0000000000000000e+00"/>
+ <vertex index="284" x="-6.6548324160656380e-01" y="-1.7147814238106740e+00" z="0.0000000000000000e+00"/>
+ <vertex index="285" x="5.6712399796692869e-01" y="-1.6949974265600509e+00" z="0.0000000000000000e+00"/>
+ <vertex index="286" x="5.7821882663846302e-01" y="1.6805402913267851e+00" z="0.0000000000000000e+00"/>
+ <vertex index="287" x="1.5355154054599500e+00" y="8.9500377451825086e-01" z="0.0000000000000000e+00"/>
+ <vertex index="288" x="-4.5497240989718291e-01" y="1.7183491489896510e+00" z="0.0000000000000000e+00"/>
+ <vertex index="289" x="1.7748452926288261e+00" y="1.1180988729344060e-01" z="0.0000000000000000e+00"/>
+ <vertex index="290" x="-1.1758816310813729e+00" y="1.3324440603038661e+00" z="0.0000000000000000e+00"/>
+ <vertex index="291" x="-1.7189360630822861e+00" y="4.5563147901746942e-01" z="0.0000000000000000e+00"/>
+ <vertex index="292" x="-1.5964224821114290e+00" y="-7.8161731626647268e-01" z="0.0000000000000000e+00"/>
+ <vertex index="293" x="-8.9345730270924684e-01" y="-1.5364885592559880e+00" z="0.0000000000000000e+00"/>
+ <vertex index="294" x="1.6667461713522640e+00" y="-6.2034961864668048e-01" z="0.0000000000000000e+00"/>
+ <vertex index="295" x="1.2109428332366960e+00" y="-1.3015884349697240e+00" z="0.0000000000000000e+00"/>
+ <vertex index="296" x="1.0401090532873991e+00" y="1.4426485561134561e+00" z="0.0000000000000000e+00"/>
+ <vertex index="297" x="1.5480966321729219e+00" y="5.8507070331793820e-01" z="0.0000000000000000e+00"/>
+ <vertex index="298" x="2.7172630681761312e-01" y="1.6324084428081269e+00" z="0.0000000000000000e+00"/>
+ <vertex index="299" x="-8.7569876822839687e-01" y="1.4043741689643421e+00" z="0.0000000000000000e+00"/>
+ <vertex index="300" x="-1.4015763366210170e+00" y="8.7995614808857525e-01" z="0.0000000000000000e+00"/>
+ <vertex index="301" x="-1.6327118198748789e+00" y="-2.7595239702038299e-01" z="0.0000000000000000e+00"/>
+ <vertex index="302" x="-1.2036790096832239e+00" y="-1.1372160586286140e+00" z="0.0000000000000000e+00"/>
+ <vertex index="303" x="-5.8655369945769587e-01" y="-1.5484474516266880e+00" z="0.0000000000000000e+00"/>
+ <vertex index="304" x="1.7053233394758979e-01" y="-1.3807826097405660e+00" z="0.0000000000000000e+00"/>
+ <vertex index="305" x="7.4086248513196251e-01" y="-1.9310942193582381e+00" z="0.0000000000000000e+00"/>
+ <vertex index="306" x="-6.7305173817573738e-01" y="-1.1955833556227531e+00" z="0.0000000000000000e+00"/>
+ <vertex index="307" x="-8.4497604339310717e-01" y="-1.0835501588714831e+00" z="0.0000000000000000e+00"/>
+ <vertex index="308" x="-5.4349236981519244e-01" y="-1.9978494468347860e+00" z="0.0000000000000000e+00"/>
+ <vertex index="309" x="-1.2238616274945600e+00" y="-6.2117190186725624e-01" z="0.0000000000000000e+00"/>
+ <vertex index="310" x="-1.3045771420039700e+00" y="-4.3158342562990598e-01" z="0.0000000000000000e+00"/>
+ <vertex index="311" x="-1.3627416641121499e+00" y="1.6627177139704291e-01" z="0.0000000000000000e+00"/>
+ <vertex index="312" x="-1.3227266895465790e+00" y="3.6930594047993720e-01" z="0.0000000000000000e+00"/>
+ <vertex index="313" x="-1.0396794545176860e+00" y="8.9562376285669643e-01" z="0.0000000000000000e+00"/>
+ <vertex index="314" x="-8.9465772414437772e-01" y="1.0411198514040860e+00" z="0.0000000000000000e+00"/>
+ <vertex index="315" x="-3.7036207420643641e-01" y="1.3211043511903160e+00" z="0.0000000000000000e+00"/>
+ <vertex index="316" x="-1.6809010195070240e-01" y="1.3637466644705989e+00" z="0.0000000000000000e+00"/>
+ <vertex index="317" x="1.3689229845219590e+00" y="-1.0277466147597090e-01" z="0.0000000000000000e+00"/>
+ <vertex index="318" x="1.3693407308454770e+00" y="1.0421682562274701e-01" z="0.0000000000000000e+00"/>
+ <vertex index="319" x="1.0817770625417189e+00" y="8.4656744357093427e-01" z="0.0000000000000000e+00"/>
+ <vertex index="320" x="1.1963586631557801e+00" y="6.7513724839635725e-01" z="0.0000000000000000e+00"/>
+ <vertex index="321" x="6.2190074677297813e-01" y="-1.2249405265031781e+00" z="0.0000000000000000e+00"/>
+ <vertex index="322" x="4.5497712741619378e-01" y="-1.3145908906369299e+00" z="0.0000000000000000e+00"/>
+ <vertex index="323" x="6.1775489211876489e-01" y="1.2259518887268250e+00" z="0.0000000000000000e+00"/>
+ <vertex index="324" x="4.2844964043178829e-01" y="1.3050422803754940e+00" z="0.0000000000000000e+00"/>
+ <vertex index="325" x="1.0800316330081019e+00" y="-8.4364250222683512e-01" z="0.0000000000000000e+00"/>
+ <vertex index="326" x="1.1973921019049170e+00" y="-6.7612077705368157e-01" z="0.0000000000000000e+00"/>
+ <vertex index="327" x="1.3492137904049131e+00" y="-1.0190909936386690e+00" z="0.0000000000000000e+00"/>
+ <vertex index="328" x="-3.4622808579250108e-01" y="-1.8080971173068670e+00" z="0.0000000000000000e+00"/>
+ <vertex index="329" x="2.2139783836735771e-02" y="-1.4108600877645900e+00" z="0.0000000000000000e+00"/>
+ <vertex index="330" x="1.0480568745304530e+00" y="-1.5357167228204061e+00" z="0.0000000000000000e+00"/>
+ <vertex index="331" x="1.3016856047690071e+00" y="1.3273737212922350e+00" z="0.0000000000000000e+00"/>
+ <vertex index="332" x="1.5292334744389460e+00" y="-5.8363503021002872e-01" z="0.0000000000000000e+00"/>
+ <vertex index="333" x="1.1224754715923830e+00" y="-1.1890212499498189e+00" z="0.0000000000000000e+00"/>
+ <vertex index="334" x="9.4674904475241961e-01" y="1.3349793160220991e+00" z="0.0000000000000000e+00"/>
+ <vertex index="335" x="4.7528195808120610e-01" y="-1.5209412820533110e+00" z="0.0000000000000000e+00"/>
+ <vertex index="336" x="1.7023597976629670e+00" y="-1.1383492210081110e+00" z="0.0000000000000000e+00"/>
+ <vertex index="337" x="1.9646669817708731e+00" y="5.9478314492838458e-01" z="0.0000000000000000e+00"/>
+ <vertex index="338" x="2.0048140202045650e-01" y="2.0437937615021471e+00" z="0.0000000000000000e+00"/>
+ <vertex index="339" x="-9.6663808045551425e-01" y="1.8108765759852381e+00" z="0.0000000000000000e+00"/>
+ <vertex index="340" x="-1.8118250783440650e+00" y="9.6677167442655954e-01" z="0.0000000000000000e+00"/>
+ <vertex index="341" x="-2.0446329142988668e+00" y="-2.0076126282302609e-01" z="0.0000000000000000e+00"/>
+ <vertex index="342" x="-1.5879203033670770e+00" y="-1.3020080294698431e+00" z="0.0000000000000000e+00"/>
+ <vertex index="343" x="-1.4504021422126129e-01" y="-1.7748669195906199e+00" z="0.0000000000000000e+00"/>
+ <vertex index="344" x="-1.5793490153977181e+00" y="4.3365376590183990e-01" z="0.0000000000000000e+00"/>
+ <vertex index="345" x="-1.0723389184619221e+00" y="1.2355553712481191e+00" z="0.0000000000000000e+00"/>
+ <vertex index="346" x="1.4217133075984640e+00" y="8.1240097522630761e-01" z="0.0000000000000000e+00"/>
+ <vertex index="347" x="5.1917597164005058e-01" y="1.5528621081733609e+00" z="0.0000000000000000e+00"/>
+ <vertex index="348" x="1.6335937627391850e+00" y="1.1734662406630250e-01" z="0.0000000000000000e+00"/>
+ <vertex index="349" x="-4.3297192931033868e-01" y="1.5788214095234749e+00" z="0.0000000000000000e+00"/>
+ <vertex index="350" x="-1.4643238693392810e+00" y="-7.3306947918483567e-01" z="0.0000000000000000e+00"/>
+ <vertex index="351" x="-8.1137618530993805e-01" y="-1.4213758324220049e+00" z="0.0000000000000000e+00"/>
+ <vertex index="352" x="-1.1642081729533400e+00" y="-1.4531744146000249e+00" z="0.0000000000000000e+00"/>
+ <vertex index="353" x="-1.7764523850773579e+00" y="-5.5324173214100059e-01" z="0.0000000000000000e+00"/>
+ <vertex index="354" x="-1.9499416939581271e-01" y="1.8512853677571379e+00" z="0.0000000000000000e+00"/>
+ <vertex index="355" x="1.8570705719254439e+00" y="-1.6228683113047171e-01" z="0.0000000000000000e+00"/>
+ <vertex index="356" x="-1.4248635423780089e+00" y="1.1973407412776180e+00" z="0.0000000000000000e+00"/>
+ <vertex index="357" x="-1.8537078785664010e+00" y="2.0504746246611069e-01" z="0.0000000000000000e+00"/>
+ <vertex index="358" x="9.6143088579451441e-01" y="1.0071742884596280e+00" z="0.0000000000000000e+00"/>
+ <vertex index="359" x="1.3586472019442710e+00" y="-3.0314091611085431e-01" z="0.0000000000000000e+00"/>
+ <vertex index="360" x="8.0581462710998641e-01" y="1.1093766265647189e+00" z="0.0000000000000000e+00"/>
+ <vertex index="361" x="9.2987391473561076e-01" y="-1.0052383838797401e+00" z="0.0000000000000000e+00"/>
+ <vertex index="362" x="7.9800986273443397e-01" y="-1.1393396483850240e+00" z="0.0000000000000000e+00"/>
+ <vertex index="363" x="1.2969233133915010e+00" y="5.0371267822394239e-01" z="0.0000000000000000e+00"/>
+ <vertex index="364" x="1.3326685147191539e+00" y="3.2390791902158472e-01" z="0.0000000000000000e+00"/>
+ <vertex index="365" x="1.2866132757219391e+00" y="-4.7473660406116008e-01" z="0.0000000000000000e+00"/>
+ <vertex index="366" x="2.4097452175469089e-01" y="1.3702672402208080e+00" z="0.0000000000000000e+00"/>
+ <vertex index="367" x="5.6206229187131890e-02" y="1.3711918525302500e+00" z="0.0000000000000000e+00"/>
+ <vertex index="368" x="-5.6366169262138444e-01" y="1.2727037263185650e+00" z="0.0000000000000000e+00"/>
+ <vertex index="369" x="-7.1500155953656686e-01" y="1.1700123749574520e+00" z="0.0000000000000000e+00"/>
+ <vertex index="370" x="-1.1736413090665569e+00" y="7.4884227018741734e-01" z="0.0000000000000000e+00"/>
+ <vertex index="371" x="-1.2441591612494129e+00" y="5.7803335486549168e-01" z="0.0000000000000000e+00"/>
+ <vertex index="372" x="-1.3926814383946919e+00" y="-3.2145456792208767e-02" z="0.0000000000000000e+00"/>
+ <vertex index="373" x="-1.3556474532561760e+00" y="-2.1444240906183790e-01" z="0.0000000000000000e+00"/>
+ <vertex index="374" x="-1.1383789867308729e+00" y="-8.0138192051712920e-01" z="0.0000000000000000e+00"/>
+ <vertex index="375" x="-1.0078521669504239e+00" y="-9.3154686319722246e-01" z="0.0000000000000000e+00"/>
+ <vertex index="376" x="-4.7458927669985312e-01" y="-1.2894722632468820e+00" z="0.0000000000000000e+00"/>
+ <vertex index="377" x="-7.4367524746918004e-02" y="-2.0635085311670949e+00" z="0.0000000000000000e+00"/>
+ <vertex index="378" x="2.8717852699560670e-01" y="-2.0473672315923621e+00" z="0.0000000000000000e+00"/>
+ <vertex index="379" x="4.3903500836265641e-01" y="-1.8386466823130010e+00" z="0.0000000000000000e+00"/>
+ <vertex index="380" x="4.6003113758322389e-01" y="-2.0122235546786378e+00" z="0.0000000000000000e+00"/>
+ <vertex index="381" x="-2.5984410822283099e-01" y="-2.0687880359536850e+00" z="0.0000000000000000e+00"/>
+ <vertex index="382" x="2.7322250633154771e-01" y="-1.5471937152269619e+00" z="0.0000000000000000e+00"/>
+ <vertex index="383" x="-1.4931695712977519e-01" y="-1.6032014058413930e+00" z="0.0000000000000000e+00"/>
+ <vertex index="384" x="-2.8442325669186249e-02" y="-1.5321026192930181e+00" z="0.0000000000000000e+00"/>
+ <vertex index="385" x="2.4974546433744371e-01" y="-1.8644012794418729e+00" z="0.0000000000000000e+00"/>
+ </vertices>
+ <cells size="676">
+ <triangle index="0" v0="182" v1="98" v2="224"/>
+ <triangle index="1" v0="182" v1="224" v2="149"/>
+ <triangle index="2" v0="183" v1="100" v2="223"/>
+ <triangle index="3" v0="183" v1="223" v2="150"/>
+ <triangle index="4" v0="184" v1="210" v2="102"/>
+ <triangle index="5" v0="184" v1="145" v2="210"/>
+ <triangle index="6" v0="186" v1="207" v2="106"/>
+ <triangle index="7" v0="143" v1="207" v2="186"/>
+ <triangle index="8" v0="186" v1="106" v2="220"/>
+ <triangle index="9" v0="153" v1="186" v2="220"/>
+ <triangle index="10" v0="156" v1="218" v2="187"/>
+ <triangle index="11" v0="187" v1="218" v2="113"/>
+ <triangle index="12" v0="141" v1="189" v2="206"/>
+ <triangle index="13" v0="189" v1="111" v2="206"/>
+ <triangle index="14" v0="192" v1="108" v2="216"/>
+ <triangle index="15" v0="192" v1="216" v2="158"/>
+ <triangle index="16" v0="193" v1="115" v2="204"/>
+ <triangle index="17" v0="142" v1="193" v2="204"/>
+ <triangle index="18" v0="193" v1="155" v2="219"/>
+ <triangle index="19" v0="193" v1="219" v2="115"/>
+ <triangle index="20" v0="194" v1="109" v2="205"/>
+ <triangle index="21" v0="139" v1="194" v2="205"/>
+ <triangle index="22" v0="194" v1="154" v2="217"/>
+ <triangle index="23" v0="194" v1="217" v2="109"/>
+ <triangle index="24" v0="157" v1="195" v2="215"/>
+ <triangle index="25" v0="112" v1="215" v2="195"/>
+ <triangle index="26" v0="112" v1="195" v2="208"/>
+ <triangle index="27" v0="140" v1="208" v2="195"/>
+ <triangle index="28" v0="105" v1="209" v2="196"/>
+ <triangle index="29" v0="144" v1="196" v2="209"/>
+ <triangle index="30" v0="152" v1="221" v2="197"/>
+ <triangle index="31" v0="103" v1="197" v2="221"/>
+ <triangle index="32" v0="146" v1="198" v2="211"/>
+ <triangle index="33" v0="101" v1="211" v2="198"/>
+ <triangle index="34" v0="151" v1="222" v2="198"/>
+ <triangle index="35" v0="101" v1="198" v2="222"/>
+ <triangle index="36" v0="147" v1="199" v2="212"/>
+ <triangle index="37" v0="99" v1="212" v2="199"/>
+ <triangle index="38" v0="77" v1="78" v2="180"/>
+ <triangle index="39" v0="72" v1="73" v2="179"/>
+ <triangle index="40" v0="12" v1="178" v2="67"/>
+ <triangle index="41" v0="61" v1="62" v2="177"/>
+ <triangle index="42" v0="51" v1="52" v2="168"/>
+ <triangle index="43" v0="15" v1="89" v2="169"/>
+ <triangle index="44" v0="94" v1="95" v2="175"/>
+ <triangle index="45" v0="9" v1="173" v2="46"/>
+ <triangle index="46" v0="56" v1="57" v2="176"/>
+ <triangle index="47" v0="86" v1="87" v2="174"/>
+ <triangle index="48" v0="48" v1="49" v2="170"/>
+ <triangle index="49" v0="43" v1="44" v2="172"/>
+ <triangle index="50" v0="40" v1="41" v2="167"/>
+ <triangle index="51" v0="91" v1="92" v2="171"/>
+ <triangle index="52" v0="10" v1="54" v2="166"/>
+ <triangle index="53" v0="59" v1="60" v2="165"/>
+ <triangle index="54" v0="64" v1="65" v2="164"/>
+ <triangle index="55" v0="69" v1="70" v2="163"/>
+ <triangle index="56" v0="13" v1="75" v2="162"/>
+ <triangle index="57" v0="78" v1="225" v2="180"/>
+ <triangle index="58" v0="73" v1="226" v2="179"/>
+ <triangle index="59" v0="12" v1="227" v2="178"/>
+ <triangle index="60" v0="62" v1="228" v2="177"/>
+ <triangle index="61" v0="57" v1="229" v2="176"/>
+ <triangle index="62" v0="52" v1="231" v2="168"/>
+ <triangle index="63" v0="86" v1="174" v2="233"/>
+ <triangle index="64" v0="94" v1="175" v2="230"/>
+ <triangle index="65" v0="89" v1="232" v2="169"/>
+ <triangle index="66" v0="46" v1="173" v2="234"/>
+ <triangle index="67" v0="43" v1="172" v2="235"/>
+ <triangle index="68" v0="91" v1="171" v2="239"/>
+ <triangle index="69" v0="49" v1="237" v2="170"/>
+ <triangle index="70" v0="41" v1="236" v2="167"/>
+ <triangle index="71" v0="10" v1="166" v2="238"/>
+ <triangle index="72" v0="59" v1="165" v2="240"/>
+ <triangle index="73" v0="64" v1="164" v2="241"/>
+ <triangle index="74" v0="69" v1="163" v2="242"/>
+ <triangle index="75" v0="13" v1="162" v2="243"/>
+ <triangle index="76" v0="159" v1="343" v2="328"/>
+ <triangle index="77" v0="159" v1="377" v2="117"/>
+ <triangle index="78" v0="159" v1="328" v2="203"/>
+ <triangle index="79" v0="6" v1="33" v2="161"/>
+ <triangle index="80" v0="33" v1="265" v2="161"/>
+ <triangle index="81" v0="159" v1="117" v2="343"/>
+ <triangle index="82" v0="6" v1="161" v2="329"/>
+ <triangle index="83" v0="117" v1="214" v2="201"/>
+ <triangle index="84" v0="138" v1="201" v2="214"/>
+ <triangle index="85" v0="96" v1="328" v2="343"/>
+ <triangle index="86" v0="212" v1="266" v2="302"/>
+ <triangle index="87" v0="211" v1="267" v2="301"/>
+ <triangle index="88" v0="209" v1="269" v2="299"/>
+ <triangle index="89" v0="207" v1="298" v2="273"/>
+ <triangle index="90" v0="206" v1="276" v2="297"/>
+ <triangle index="91" v0="210" v1="300" v2="281"/>
+ <triangle index="92" v0="164" v1="291" v2="102"/>
+ <triangle index="93" v0="164" v1="135" v2="291"/>
+ <triangle index="94" v0="165" v1="134" v2="290"/>
+ <triangle index="95" v0="165" v1="290" v2="104"/>
+ <triangle index="96" v0="168" v1="286" v2="124"/>
+ <triangle index="97" v0="168" v1="107" v2="286"/>
+ <triangle index="98" v0="110" v1="172" v2="287"/>
+ <triangle index="99" v0="132" v1="287" v2="172"/>
+ <triangle index="100" v0="131" v1="167" v2="289"/>
+ <triangle index="101" v0="167" v1="111" v2="289"/>
+ <triangle index="102" v0="176" v1="105" v2="288"/>
+ <triangle index="103" v0="133" v1="176" v2="288"/>
+ <triangle index="104" v0="179" v1="99" v2="292"/>
+ <triangle index="105" v0="136" v1="179" v2="292"/>
+ <triangle index="106" v0="137" v1="180" v2="293"/>
+ <triangle index="107" v0="97" v1="293" v2="180"/>
+ <triangle index="108" v0="213" v1="303" v2="284"/>
+ <triangle index="109" v0="117" v1="377" v2="244"/>
+ <triangle index="110" v0="119" v1="266" v2="212"/>
+ <triangle index="111" v0="120" v1="267" v2="211"/>
+ <triangle index="112" v0="122" v1="269" v2="209"/>
+ <triangle index="113" v0="126" v1="207" v2="273"/>
+ <triangle index="114" v0="128" v1="276" v2="206"/>
+ <triangle index="115" v0="121" v1="210" v2="281"/>
+ <triangle index="116" v0="171" v1="130" v2="294"/>
+ <triangle index="117" v0="171" v1="294" v2="113"/>
+ <triangle index="118" v0="169" v1="295" v2="129"/>
+ <triangle index="119" v0="169" v1="114" v2="295"/>
+ <triangle index="120" v0="170" v1="296" v2="127"/>
+ <triangle index="121" v0="170" v1="108" v2="296"/>
+ <triangle index="122" v0="118" v1="213" v2="284"/>
+ <triangle index="123" v0="93" v1="230" v2="251"/>
+ <triangle index="124" v0="45" v1="234" v2="254"/>
+ <triangle index="125" v0="50" v1="253" v2="237"/>
+ <triangle index="126" v0="123" v1="327" v2="274"/>
+ <triangle index="127" v0="123" v1="218" v2="327"/>
+ <triangle index="128" v0="17" v1="364" v2="363"/>
+ <triangle index="129" v0="36" v1="362" v2="361"/>
+ <triangle index="130" v0="21" v1="366" v2="367"/>
+ <triangle index="131" v0="1" v1="358" v2="360"/>
+ <triangle index="132" v0="39" v1="365" v2="359"/>
+ <triangle index="133" v0="23" v1="368" v2="369"/>
+ <triangle index="134" v0="25" v1="370" v2="371"/>
+ <triangle index="135" v0="4" v1="372" v2="373"/>
+ <triangle index="136" v0="30" v1="374" v2="375"/>
+ <triangle index="137" v0="34" v1="181" v2="322"/>
+ <triangle index="138" v0="34" v1="304" v2="181"/>
+ <triangle index="139" v0="116" v1="385" v2="379"/>
+ <triangle index="140" v0="33" v1="376" v2="265"/>
+ <triangle index="141" v0="116" v1="214" v2="385"/>
+ <triangle index="142" v0="164" v1="247" v2="135"/>
+ <triangle index="143" v0="165" v1="248" v2="134"/>
+ <triangle index="144" v0="171" v1="251" v2="130"/>
+ <triangle index="145" v0="131" v1="250" v2="167"/>
+ <triangle index="146" v0="168" v1="124" v2="253"/>
+ <triangle index="147" v0="169" v1="129" v2="255"/>
+ <triangle index="148" v0="132" v1="172" v2="254"/>
+ <triangle index="149" v0="170" v1="127" v2="252"/>
+ <triangle index="150" v0="133" v1="259" v2="176"/>
+ <triangle index="151" v0="136" v1="262" v2="179"/>
+ <triangle index="152" v0="137" v1="263" v2="180"/>
+ <triangle index="153" v0="164" v1="102" v2="268"/>
+ <triangle index="154" v0="165" v1="104" v2="269"/>
+ <triangle index="155" v0="171" v1="113" v2="272"/>
+ <triangle index="156" v0="168" v1="273" v2="107"/>
+ <triangle index="157" v0="167" v1="271" v2="111"/>
+ <triangle index="158" v0="169" v1="274" v2="114"/>
+ <triangle index="159" v0="110" v1="276" v2="172"/>
+ <triangle index="160" v0="170" v1="275" v2="108"/>
+ <triangle index="161" v0="176" v1="280" v2="105"/>
+ <triangle index="162" v0="179" v1="283" v2="99"/>
+ <triangle index="163" v0="97" v1="180" v2="284"/>
+ <triangle index="164" v0="125" v1="285" v2="202"/>
+ <triangle index="165" v0="130" v1="251" v2="230"/>
+ <triangle index="166" v0="132" v1="254" v2="234"/>
+ <triangle index="167" v0="124" v1="237" v2="253"/>
+ <triangle index="168" v0="244" v1="378" v2="385"/>
+ <triangle index="169" v0="75" v1="245" v2="162"/>
+ <triangle index="170" v0="70" v1="246" v2="163"/>
+ <triangle index="171" v0="65" v1="247" v2="164"/>
+ <triangle index="172" v0="60" v1="248" v2="165"/>
+ <triangle index="173" v0="51" v1="168" v2="253"/>
+ <triangle index="174" v0="15" v1="169" v2="255"/>
+ <triangle index="175" v0="54" v1="249" v2="166"/>
+ <triangle index="176" v0="40" v1="167" v2="250"/>
+ <triangle index="177" v0="48" v1="170" v2="252"/>
+ <triangle index="178" v0="92" v1="251" v2="171"/>
+ <triangle index="179" v0="44" v1="254" v2="172"/>
+ <triangle index="180" v0="9" v1="257" v2="173"/>
+ <triangle index="181" v0="87" v1="256" v2="174"/>
+ <triangle index="182" v0="95" v1="258" v2="175"/>
+ <triangle index="183" v0="56" v1="176" v2="259"/>
+ <triangle index="184" v0="61" v1="177" v2="260"/>
+ <triangle index="185" v0="67" v1="178" v2="261"/>
+ <triangle index="186" v0="72" v1="179" v2="262"/>
+ <triangle index="187" v0="77" v1="180" v2="263"/>
+ <triangle index="188" v0="90" v1="239" v2="336"/>
+ <triangle index="189" v0="42" v1="235" v2="337"/>
+ <triangle index="190" v0="53" v1="338" v2="231"/>
+ <triangle index="191" v0="58" v1="339" v2="229"/>
+ <triangle index="192" v0="90" v1="336" v2="232"/>
+ <triangle index="193" v0="42" v1="337" v2="236"/>
+ <triangle index="194" v0="53" v1="238" v2="338"/>
+ <triangle index="195" v0="63" v1="340" v2="228"/>
+ <triangle index="196" v0="58" v1="240" v2="339"/>
+ <triangle index="197" v0="68" v1="341" v2="227"/>
+ <triangle index="198" v0="63" v1="241" v2="340"/>
+ <triangle index="199" v0="74" v1="342" v2="226"/>
+ <triangle index="200" v0="68" v1="242" v2="341"/>
+ <triangle index="201" v0="74" v1="243" v2="342"/>
+ <triangle index="202" v0="117" v1="244" v2="385"/>
+ <triangle index="203" v0="78" v1="79" v2="225"/>
+ <triangle index="204" v0="73" v1="74" v2="226"/>
+ <triangle index="205" v0="12" v1="68" v2="227"/>
+ <triangle index="206" v0="62" v1="63" v2="228"/>
+ <triangle index="207" v0="57" v1="58" v2="229"/>
+ <triangle index="208" v0="93" v1="94" v2="230"/>
+ <triangle index="209" v0="90" v1="91" v2="239"/>
+ <triangle index="210" v0="52" v1="53" v2="231"/>
+ <triangle index="211" v0="85" v1="86" v2="233"/>
+ <triangle index="212" v0="45" v1="46" v2="234"/>
+ <triangle index="213" v0="49" v1="50" v2="237"/>
+ <triangle index="214" v0="42" v1="43" v2="235"/>
+ <triangle index="215" v0="89" v1="90" v2="232"/>
+ <triangle index="216" v0="41" v1="42" v2="236"/>
+ <triangle index="217" v0="10" v1="238" v2="53"/>
+ <triangle index="218" v0="58" v1="59" v2="240"/>
+ <triangle index="219" v0="63" v1="64" v2="241"/>
+ <triangle index="220" v0="68" v1="69" v2="242"/>
+ <triangle index="221" v0="13" v1="243" v2="74"/>
+ <triangle index="222" v0="202" v1="285" v2="379"/>
+ <triangle index="223" v0="85" v1="233" v2="305"/>
+ <triangle index="224" v0="79" v1="308" v2="225"/>
+ <triangle index="225" v0="133" v1="354" v2="249"/>
+ <triangle index="226" v0="136" v1="353" v2="246"/>
+ <triangle index="227" v0="32" v1="376" v2="33"/>
+ <triangle index="228" v0="16" v1="364" v2="17"/>
+ <triangle index="229" v0="1" v1="360" v2="19"/>
+ <triangle index="230" v0="7" v1="36" v2="361"/>
+ <triangle index="231" v0="2" v1="21" v2="367"/>
+ <triangle index="232" v0="38" v1="365" v2="39"/>
+ <triangle index="233" v0="23" v1="369" v2="24"/>
+ <triangle index="234" v0="25" v1="371" v2="26"/>
+ <triangle index="235" v0="4" v1="373" v2="28"/>
+ <triangle index="236" v0="5" v1="30" v2="375"/>
+ <triangle index="237" v0="166" v1="249" v2="354"/>
+ <triangle index="238" v0="163" v1="246" v2="353"/>
+ <triangle index="239" v0="129" v1="330" v2="256"/>
+ <triangle index="240" v0="127" v1="331" v2="257"/>
+ <triangle index="241" v0="174" v1="256" v2="330"/>
+ <triangle index="242" v0="173" v1="257" v2="331"/>
+ <triangle index="243" v0="117" v1="201" v2="343"/>
+ <triangle index="244" v0="101" v1="357" v2="282"/>
+ <triangle index="245" v0="103" v1="356" v2="281"/>
+ <triangle index="246" v0="112" v1="279" v2="355"/>
+ <triangle index="247" v0="98" v1="266" v2="352"/>
+ <triangle index="248" v0="178" v1="282" v2="357"/>
+ <triangle index="249" v0="177" v1="281" v2="356"/>
+ <triangle index="250" v0="175" v1="355" v2="279"/>
+ <triangle index="251" v0="162" v1="352" v2="266"/>
+ <triangle index="252" v0="156" v1="191" v2="327"/>
+ <triangle index="253" v0="191" v1="114" v2="327"/>
+ <triangle index="254" v0="155" v1="335" v2="219"/>
+ <triangle index="255" v0="5" v1="375" v2="307"/>
+ <triangle index="256" v0="28" v1="373" v2="310"/>
+ <triangle index="257" v0="26" v1="371" v2="312"/>
+ <triangle index="258" v0="24" v1="369" v2="314"/>
+ <triangle index="259" v0="2" v1="367" v2="316"/>
+ <triangle index="260" v0="38" v1="326" v2="365"/>
+ <triangle index="261" v0="17" v1="363" v2="320"/>
+ <triangle index="262" v0="21" v1="324" v2="366"/>
+ <triangle index="263" v0="16" v1="318" v2="364"/>
+ <triangle index="264" v0="219" v1="335" v2="285"/>
+ <triangle index="265" v0="84" v1="305" v2="202"/>
+ <triangle index="266" v0="80" v1="203" v2="308"/>
+ <triangle index="267" v0="19" v1="360" v2="323"/>
+ <triangle index="268" v0="7" v1="361" v2="325"/>
+ <triangle index="269" v0="36" v1="321" v2="362"/>
+ <triangle index="270" v0="1" v1="319" v2="358"/>
+ <triangle index="271" v0="39" v1="359" v2="317"/>
+ <triangle index="272" v0="23" v1="315" v2="368"/>
+ <triangle index="273" v0="25" v1="313" v2="370"/>
+ <triangle index="274" v0="4" v1="311" v2="372"/>
+ <triangle index="275" v0="30" v1="309" v2="374"/>
+ <triangle index="276" v0="32" v1="306" v2="376"/>
+ <triangle index="277" v0="182" v1="147" v2="302"/>
+ <triangle index="278" v0="182" v1="302" v2="98"/>
+ <triangle index="279" v0="183" v1="301" v2="100"/>
+ <triangle index="280" v0="183" v1="146" v2="301"/>
+ <triangle index="281" v0="185" v1="299" v2="104"/>
+ <triangle index="282" v0="185" v1="144" v2="299"/>
+ <triangle index="283" v0="141" v1="297" v2="188"/>
+ <triangle index="284" v0="188" v1="297" v2="110"/>
+ <triangle index="285" v0="190" v1="107" v2="298"/>
+ <triangle index="286" v0="143" v1="190" v2="298"/>
+ <triangle index="287" v0="103" v1="300" v2="197"/>
+ <triangle index="288" v0="145" v1="197" v2="300"/>
+ <triangle index="289" v0="148" v1="200" v2="303"/>
+ <triangle index="290" v0="97" v1="303" v2="200"/>
+ <triangle index="291" v0="173" v1="331" v2="278"/>
+ <triangle index="292" v0="174" v1="330" v2="277"/>
+ <triangle index="293" v0="37" v1="326" v2="38"/>
+ <triangle index="294" v0="20" v1="324" v2="21"/>
+ <triangle index="295" v0="17" v1="320" v2="18"/>
+ <triangle index="296" v0="2" v1="316" v2="22"/>
+ <triangle index="297" v0="0" v1="318" v2="16"/>
+ <triangle index="298" v0="3" v1="24" v2="314"/>
+ <triangle index="299" v0="26" v1="312" v2="27"/>
+ <triangle index="300" v0="28" v1="310" v2="29"/>
+ <triangle index="301" v0="5" v1="307" v2="31"/>
+ <triangle index="302" v0="34" v1="322" v2="35"/>
+ <triangle index="303" v0="191" v1="325" v2="361"/>
+ <triangle index="304" v0="192" v1="323" v2="360"/>
+ <triangle index="305" v0="193" v1="362" v2="321"/>
+ <triangle index="306" v0="194" v1="358" v2="319"/>
+ <triangle index="307" v0="195" v1="317" v2="359"/>
+ <triangle index="308" v0="196" v1="368" v2="315"/>
+ <triangle index="309" v0="197" v1="370" v2="313"/>
+ <triangle index="310" v0="198" v1="372" v2="311"/>
+ <triangle index="311" v0="199" v1="374" v2="309"/>
+ <triangle index="312" v0="200" v1="376" v2="306"/>
+ <triangle index="313" v0="109" v1="278" v2="331"/>
+ <triangle index="314" v0="115" v1="277" v2="330"/>
+ <triangle index="315" v0="182" v1="307" v2="375"/>
+ <triangle index="316" v0="183" v1="310" v2="373"/>
+ <triangle index="317" v0="184" v1="312" v2="371"/>
+ <triangle index="318" v0="185" v1="314" v2="369"/>
+ <triangle index="319" v0="186" v1="316" v2="367"/>
+ <triangle index="320" v0="187" v1="365" v2="326"/>
+ <triangle index="321" v0="189" v1="364" v2="318"/>
+ <triangle index="322" v0="188" v1="320" v2="363"/>
+ <triangle index="323" v0="190" v1="366" v2="324"/>
+ <triangle index="324" v0="156" v1="325" v2="191"/>
+ <triangle index="325" v0="192" v1="158" v2="323"/>
+ <triangle index="326" v0="193" v1="321" v2="155"/>
+ <triangle index="327" v0="194" v1="319" v2="154"/>
+ <triangle index="328" v0="157" v1="317" v2="195"/>
+ <triangle index="329" v0="153" v1="196" v2="315"/>
+ <triangle index="330" v0="152" v1="197" v2="313"/>
+ <triangle index="331" v0="151" v1="198" v2="311"/>
+ <triangle index="332" v0="150" v1="199" v2="309"/>
+ <triangle index="333" v0="6" v1="304" v2="34"/>
+ <triangle index="334" v0="149" v1="200" v2="306"/>
+ <triangle index="335" v0="19" v1="323" v2="20"/>
+ <triangle index="336" v0="1" v1="18" v2="319"/>
+ <triangle index="337" v0="7" v1="325" v2="37"/>
+ <triangle index="338" v0="35" v1="321" v2="36"/>
+ <triangle index="339" v0="0" v1="39" v2="317"/>
+ <triangle index="340" v0="22" v1="315" v2="23"/>
+ <triangle index="341" v0="3" v1="313" v2="25"/>
+ <triangle index="342" v0="4" v1="27" v2="311"/>
+ <triangle index="343" v0="29" v1="309" v2="30"/>
+ <triangle index="344" v0="31" v1="306" v2="32"/>
+ <triangle index="345" v0="125" v1="202" v2="305"/>
+ <triangle index="346" v0="162" v1="245" v2="352"/>
+ <triangle index="347" v0="137" v1="352" v2="245"/>
+ <triangle index="348" v0="175" v1="258" v2="355"/>
+ <triangle index="349" v0="131" v1="355" v2="258"/>
+ <triangle index="350" v0="177" v1="356" v2="260"/>
+ <triangle index="351" v0="260" v1="356" v2="134"/>
+ <triangle index="352" v0="178" v1="357" v2="261"/>
+ <triangle index="353" v0="135" v1="261" v2="357"/>
+ <triangle index="354" v0="118" v1="308" v2="203"/>
+ <triangle index="355" v0="182" v1="149" v2="307"/>
+ <triangle index="356" v0="183" v1="150" v2="310"/>
+ <triangle index="357" v0="151" v1="312" v2="184"/>
+ <triangle index="358" v0="152" v1="314" v2="185"/>
+ <triangle index="359" v0="153" v1="316" v2="186"/>
+ <triangle index="360" v0="156" v1="187" v2="326"/>
+ <triangle index="361" v0="157" v1="189" v2="318"/>
+ <triangle index="362" v0="188" v1="154" v2="320"/>
+ <triangle index="363" v0="190" v1="324" v2="158"/>
+ <triangle index="364" v0="79" v1="80" v2="308"/>
+ <triangle index="365" v0="84" v1="85" v2="305"/>
+ <triangle index="366" v0="84" v1="202" v2="380"/>
+ <triangle index="367" v0="6" v1="329" v2="304"/>
+ <triangle index="368" v0="125" v1="305" v2="233"/>
+ <triangle index="369" v0="80" v1="381" v2="203"/>
+ <triangle index="370" v0="118" v1="203" v2="328"/>
+ <triangle index="371" v0="182" v1="375" v2="147"/>
+ <triangle index="372" v0="225" v1="308" v2="118"/>
+ <triangle index="373" v0="183" v1="373" v2="146"/>
+ <triangle index="374" v0="184" v1="371" v2="145"/>
+ <triangle index="375" v0="185" v1="369" v2="144"/>
+ <triangle index="376" v0="143" v1="186" v2="367"/>
+ <triangle index="377" v0="140" v1="365" v2="187"/>
+ <triangle index="378" v0="141" v1="188" v2="363"/>
+ <triangle index="379" v0="141" v1="364" v2="189"/>
+ <triangle index="380" v0="143" v1="366" v2="190"/>
+ <triangle index="381" v0="142" v1="191" v2="361"/>
+ <triangle index="382" v0="139" v1="192" v2="360"/>
+ <triangle index="383" v0="142" v1="362" v2="193"/>
+ <triangle index="384" v0="139" v1="358" v2="194"/>
+ <triangle index="385" v0="140" v1="195" v2="359"/>
+ <triangle index="386" v0="144" v1="368" v2="196"/>
+ <triangle index="387" v0="145" v1="370" v2="197"/>
+ <triangle index="388" v0="146" v1="372" v2="198"/>
+ <triangle index="389" v0="147" v1="374" v2="199"/>
+ <triangle index="390" v0="160" v1="379" v2="385"/>
+ <triangle index="391" v0="148" v1="376" v2="200"/>
+ <triangle index="392" v0="184" v1="102" v2="344"/>
+ <triangle index="393" v0="151" v1="184" v2="344"/>
+ <triangle index="394" v0="185" v1="104" v2="345"/>
+ <triangle index="395" v0="152" v1="185" v2="345"/>
+ <triangle index="396" v0="188" v1="110" v2="346"/>
+ <triangle index="397" v0="188" v1="346" v2="154"/>
+ <triangle index="398" v0="157" v1="348" v2="189"/>
+ <triangle index="399" v0="189" v1="348" v2="111"/>
+ <triangle index="400" v0="190" v1="158" v2="347"/>
+ <triangle index="401" v0="190" v1="347" v2="107"/>
+ <triangle index="402" v0="153" v1="349" v2="196"/>
+ <triangle index="403" v0="105" v1="196" v2="349"/>
+ <triangle index="404" v0="99" v1="199" v2="350"/>
+ <triangle index="405" v0="150" v1="350" v2="199"/>
+ <triangle index="406" v0="166" v1="354" v2="270"/>
+ <triangle index="407" v0="163" v1="353" v2="267"/>
+ <triangle index="408" v0="159" v1="203" v2="381"/>
+ <triangle index="409" v0="140" v1="187" v2="332"/>
+ <triangle index="410" v0="187" v1="113" v2="332"/>
+ <triangle index="411" v0="142" v1="333" v2="191"/>
+ <triangle index="412" v0="191" v1="333" v2="114"/>
+ <triangle index="413" v0="192" v1="334" v2="108"/>
+ <triangle index="414" v0="139" v1="334" v2="192"/>
+ <triangle index="415" v0="149" v1="351" v2="200"/>
+ <triangle index="416" v0="97" v1="200" v2="351"/>
+ <triangle index="417" v0="98" v1="302" v2="266"/>
+ <triangle index="418" v0="100" v1="301" v2="267"/>
+ <triangle index="419" v0="104" v1="299" v2="269"/>
+ <triangle index="420" v0="107" v1="273" v2="298"/>
+ <triangle index="421" v0="110" v1="297" v2="276"/>
+ <triangle index="422" v0="103" v1="281" v2="300"/>
+ <triangle index="423" v0="116" v1="335" v2="382"/>
+ <triangle index="424" v0="151" v1="344" v2="222"/>
+ <triangle index="425" v0="152" v1="345" v2="221"/>
+ <triangle index="426" v0="158" v1="216" v2="347"/>
+ <triangle index="427" v0="154" v1="346" v2="217"/>
+ <triangle index="428" v0="157" v1="215" v2="348"/>
+ <triangle index="429" v0="153" v1="220" v2="349"/>
+ <triangle index="430" v0="150" v1="223" v2="350"/>
+ <triangle index="431" v0="97" v1="284" v2="303"/>
+ <triangle index="432" v0="149" v1="224" v2="351"/>
+ <triangle index="433" v0="14" v1="82" v2="244"/>
+ <triangle index="434" v0="148" v1="265" v2="376"/>
+ <triangle index="435" v0="138" v1="384" v2="201"/>
+ <triangle index="436" v0="106" v1="270" v2="354"/>
+ <triangle index="437" v0="100" v1="267" v2="353"/>
+ <triangle index="438" v0="83" v1="380" v2="378"/>
+ <triangle index="439" v0="81" v1="377" v2="381"/>
+ <triangle index="440" v0="76" v1="77" v2="263"/>
+ <triangle index="441" v0="71" v1="72" v2="262"/>
+ <triangle index="442" v0="66" v1="67" v2="261"/>
+ <triangle index="443" v0="11" v1="61" v2="260"/>
+ <triangle index="444" v0="55" v1="56" v2="259"/>
+ <triangle index="445" v0="15" v1="255" v2="88"/>
+ <triangle index="446" v0="50" v1="51" v2="253"/>
+ <triangle index="447" v0="8" v1="258" v2="95"/>
+ <triangle index="448" v0="9" v1="47" v2="257"/>
+ <triangle index="449" v0="87" v1="88" v2="256"/>
+ <triangle index="450" v0="44" v1="45" v2="254"/>
+ <triangle index="451" v0="47" v1="48" v2="252"/>
+ <triangle index="452" v0="8" v1="40" v2="250"/>
+ <triangle index="453" v0="92" v1="93" v2="251"/>
+ <triangle index="454" v0="54" v1="55" v2="249"/>
+ <triangle index="455" v0="11" v1="248" v2="60"/>
+ <triangle index="456" v0="65" v1="66" v2="247"/>
+ <triangle index="457" v0="70" v1="71" v2="246"/>
+ <triangle index="458" v0="75" v1="76" v2="245"/>
+ <triangle index="459" v0="155" v1="322" v2="335"/>
+ <triangle index="460" v0="181" v1="335" v2="322"/>
+ <triangle index="461" v0="14" v1="377" v2="81"/>
+ <triangle index="462" v0="140" v1="332" v2="208"/>
+ <triangle index="463" v0="142" v1="204" v2="333"/>
+ <triangle index="464" v0="139" v1="205" v2="334"/>
+ <triangle index="465" v0="82" v1="83" v2="378"/>
+ <triangle index="466" v0="96" v1="264" v2="213"/>
+ <triangle index="467" v0="148" v1="213" v2="264"/>
+ <triangle index="468" v0="181" v1="382" v2="335"/>
+ <triangle index="469" v0="222" v1="344" v2="291"/>
+ <triangle index="470" v0="221" v1="345" v2="290"/>
+ <triangle index="471" v0="216" v1="286" v2="347"/>
+ <triangle index="472" v0="217" v1="346" v2="287"/>
+ <triangle index="473" v0="215" v1="289" v2="348"/>
+ <triangle index="474" v0="220" v1="288" v2="349"/>
+ <triangle index="475" v0="223" v1="292" v2="350"/>
+ <triangle index="476" v0="224" v1="293" v2="351"/>
+ <triangle index="477" v0="102" v1="210" v2="268"/>
+ <triangle index="478" v0="121" v1="268" v2="210"/>
+ <triangle index="479" v0="106" v1="207" v2="270"/>
+ <triangle index="480" v0="126" v1="270" v2="207"/>
+ <triangle index="481" v0="128" v1="206" v2="271"/>
+ <triangle index="482" v0="111" v1="271" v2="206"/>
+ <triangle index="483" v0="112" v1="208" v2="279"/>
+ <triangle index="484" v0="130" v1="279" v2="208"/>
+ <triangle index="485" v0="105" v1="280" v2="209"/>
+ <triangle index="486" v0="122" v1="209" v2="280"/>
+ <triangle index="487" v0="101" v1="282" v2="211"/>
+ <triangle index="488" v0="120" v1="211" v2="282"/>
+ <triangle index="489" v0="99" v1="283" v2="212"/>
+ <triangle index="490" v0="119" v1="212" v2="283"/>
+ <triangle index="491" v0="180" v1="225" v2="284"/>
+ <triangle index="492" v0="179" v1="226" v2="283"/>
+ <triangle index="493" v0="178" v1="227" v2="282"/>
+ <triangle index="494" v0="177" v1="228" v2="281"/>
+ <triangle index="495" v0="176" v1="229" v2="280"/>
+ <triangle index="496" v0="175" v1="279" v2="230"/>
+ <triangle index="497" v0="174" v1="277" v2="233"/>
+ <triangle index="498" v0="173" v1="278" v2="234"/>
+ <triangle index="499" v0="168" v1="231" v2="273"/>
+ <triangle index="500" v0="172" v1="276" v2="235"/>
+ <triangle index="501" v0="169" v1="232" v2="274"/>
+ <triangle index="502" v0="170" v1="237" v2="275"/>
+ <triangle index="503" v0="171" v1="272" v2="239"/>
+ <triangle index="504" v0="167" v1="236" v2="271"/>
+ <triangle index="505" v0="166" v1="270" v2="238"/>
+ <triangle index="506" v0="165" v1="269" v2="240"/>
+ <triangle index="507" v0="164" v1="268" v2="241"/>
+ <triangle index="508" v0="163" v1="267" v2="242"/>
+ <triangle index="509" v0="162" v1="266" v2="243"/>
+ <triangle index="510" v0="160" v1="385" v2="378"/>
+ <triangle index="511" v0="83" v1="84" v2="380"/>
+ <triangle index="512" v0="80" v1="81" v2="381"/>
+ <triangle index="513" v0="129" v1="256" v2="255"/>
+ <triangle index="514" v0="131" v1="258" v2="250"/>
+ <triangle index="515" v0="127" v1="257" v2="252"/>
+ <triangle index="516" v0="133" v1="249" v2="259"/>
+ <triangle index="517" v0="134" v1="248" v2="260"/>
+ <triangle index="518" v0="135" v1="247" v2="261"/>
+ <triangle index="519" v0="136" v1="246" v2="262"/>
+ <triangle index="520" v0="137" v1="245" v2="263"/>
+ <triangle index="521" v0="138" v1="382" v2="304"/>
+ <triangle index="522" v0="181" v1="304" v2="382"/>
+ <triangle index="523" v0="114" v1="274" v2="327"/>
+ <triangle index="524" v0="116" v1="382" v2="214"/>
+ <triangle index="525" v0="225" v1="118" v2="284"/>
+ <triangle index="526" v0="119" v1="243" v2="266"/>
+ <triangle index="527" v0="226" v1="119" v2="283"/>
+ <triangle index="528" v0="120" v1="242" v2="267"/>
+ <triangle index="529" v0="227" v1="120" v2="282"/>
+ <triangle index="530" v0="121" v1="241" v2="268"/>
+ <triangle index="531" v0="121" v1="281" v2="228"/>
+ <triangle index="532" v0="122" v1="240" v2="269"/>
+ <triangle index="533" v0="122" v1="280" v2="229"/>
+ <triangle index="534" v0="126" v1="238" v2="270"/>
+ <triangle index="535" v0="126" v1="273" v2="231"/>
+ <triangle index="536" v0="123" v1="274" v2="232"/>
+ <triangle index="537" v0="128" v1="271" v2="236"/>
+ <triangle index="538" v0="123" v1="239" v2="272"/>
+ <triangle index="539" v0="128" v1="235" v2="276"/>
+ <triangle index="540" v0="125" v1="233" v2="277"/>
+ <triangle index="541" v0="130" v1="230" v2="279"/>
+ <triangle index="542" v0="124" v1="275" v2="237"/>
+ <triangle index="543" v0="132" v1="234" v2="278"/>
+ <triangle index="544" v0="160" v1="378" v2="380"/>
+ <triangle index="545" v0="113" v1="218" v2="272"/>
+ <triangle index="546" v0="123" v1="272" v2="218"/>
+ <triangle index="547" v0="108" v1="275" v2="216"/>
+ <triangle index="548" v0="124" v1="216" v2="275"/>
+ <triangle index="549" v0="125" v1="277" v2="219"/>
+ <triangle index="550" v0="115" v1="219" v2="277"/>
+ <triangle index="551" v0="109" v1="217" v2="278"/>
+ <triangle index="552" v0="132" v1="278" v2="217"/>
+ <triangle index="553" v0="159" v1="381" v2="377"/>
+ <triangle index="554" v0="130" v1="208" v2="294"/>
+ <triangle index="555" v0="129" v1="295" v2="204"/>
+ <triangle index="556" v0="127" v1="296" v2="205"/>
+ <triangle index="557" v0="141" v1="206" v2="297"/>
+ <triangle index="558" v0="143" v1="298" v2="207"/>
+ <triangle index="559" v0="144" v1="209" v2="299"/>
+ <triangle index="560" v0="145" v1="300" v2="210"/>
+ <triangle index="561" v0="146" v1="211" v2="301"/>
+ <triangle index="562" v0="147" v1="212" v2="302"/>
+ <triangle index="563" v0="118" v1="328" v2="213"/>
+ <triangle index="564" v0="148" v1="303" v2="213"/>
+ <triangle index="565" v0="160" v1="380" v2="379"/>
+ <triangle index="566" v0="202" v1="379" v2="380"/>
+ <triangle index="567" v0="129" v1="204" v2="330"/>
+ <triangle index="568" v0="127" v1="205" v2="331"/>
+ <triangle index="569" v0="8" v1="250" v2="258"/>
+ <triangle index="570" v0="47" v1="252" v2="257"/>
+ <triangle index="571" v0="88" v1="255" v2="256"/>
+ <triangle index="572" v0="55" v1="259" v2="249"/>
+ <triangle index="573" v0="11" v1="260" v2="248"/>
+ <triangle index="574" v0="66" v1="261" v2="247"/>
+ <triangle index="575" v0="71" v1="262" v2="246"/>
+ <triangle index="576" v0="76" v1="263" v2="245"/>
+ <triangle index="577" v0="96" v1="213" v2="328"/>
+ <triangle index="578" v0="115" v1="330" v2="204"/>
+ <triangle index="579" v0="109" v1="331" v2="205"/>
+ <triangle index="580" v0="208" v1="332" v2="294"/>
+ <triangle index="581" v0="204" v1="295" v2="333"/>
+ <triangle index="582" v0="205" v1="296" v2="334"/>
+ <triangle index="583" v0="112" v1="355" v2="215"/>
+ <triangle index="584" v0="133" v1="220" v2="354"/>
+ <triangle index="585" v0="103" v1="221" v2="356"/>
+ <triangle index="586" v0="101" v1="222" v2="357"/>
+ <triangle index="587" v0="136" v1="223" v2="353"/>
+ <triangle index="588" v0="98" v1="352" v2="224"/>
+ <triangle index="589" v0="125" v1="219" v2="285"/>
+ <triangle index="590" v0="124" v1="286" v2="216"/>
+ <triangle index="591" v0="132" v1="217" v2="287"/>
+ <triangle index="592" v0="133" v1="288" v2="220"/>
+ <triangle index="593" v0="131" v1="289" v2="215"/>
+ <triangle index="594" v0="134" v1="221" v2="290"/>
+ <triangle index="595" v0="135" v1="222" v2="291"/>
+ <triangle index="596" v0="136" v1="292" v2="223"/>
+ <triangle index="597" v0="137" v1="293" v2="224"/>
+ <triangle index="598" v0="116" v1="379" v2="285"/>
+ <triangle index="599" v0="156" v1="327" v2="218"/>
+ <triangle index="600" v0="96" v1="343" v2="383"/>
+ <triangle index="601" v0="201" v1="383" v2="343"/>
+ <triangle index="602" v0="139" v1="360" v2="358"/>
+ <triangle index="603" v0="142" v1="361" v2="362"/>
+ <triangle index="604" v0="140" v1="359" v2="365"/>
+ <triangle index="605" v0="141" v1="363" v2="364"/>
+ <triangle index="606" v0="143" v1="367" v2="366"/>
+ <triangle index="607" v0="144" v1="369" v2="368"/>
+ <triangle index="608" v0="145" v1="371" v2="370"/>
+ <triangle index="609" v0="146" v1="373" v2="372"/>
+ <triangle index="610" v0="147" v1="375" v2="374"/>
+ <triangle index="611" v0="138" v1="214" v2="382"/>
+ <triangle index="612" v0="123" v1="232" v2="336"/>
+ <triangle index="613" v0="123" v1="336" v2="239"/>
+ <triangle index="614" v0="128" v1="337" v2="235"/>
+ <triangle index="615" v0="128" v1="236" v2="337"/>
+ <triangle index="616" v0="126" v1="231" v2="338"/>
+ <triangle index="617" v0="126" v1="338" v2="238"/>
+ <triangle index="618" v0="122" v1="229" v2="339"/>
+ <triangle index="619" v0="122" v1="339" v2="240"/>
+ <triangle index="620" v0="121" v1="228" v2="340"/>
+ <triangle index="621" v0="121" v1="340" v2="241"/>
+ <triangle index="622" v0="227" v1="341" v2="120"/>
+ <triangle index="623" v0="120" v1="341" v2="242"/>
+ <triangle index="624" v0="226" v1="342" v2="119"/>
+ <triangle index="625" v0="119" v1="342" v2="243"/>
+ <triangle index="626" v0="117" v1="385" v2="214"/>
+ <triangle index="627" v0="138" v1="304" v2="329"/>
+ <triangle index="628" v0="137" v1="224" v2="352"/>
+ <triangle index="629" v0="100" v1="353" v2="223"/>
+ <triangle index="630" v0="106" v1="354" v2="220"/>
+ <triangle index="631" v0="131" v1="215" v2="355"/>
+ <triangle index="632" v0="134" v1="356" v2="221"/>
+ <triangle index="633" v0="135" v1="357" v2="222"/>
+ <triangle index="634" v0="161" v1="265" v2="264"/>
+ <triangle index="635" v0="148" v1="264" v2="265"/>
+ <triangle index="636" v0="155" v1="321" v2="322"/>
+ <triangle index="637" v0="149" v1="306" v2="307"/>
+ <triangle index="638" v0="150" v1="309" v2="310"/>
+ <triangle index="639" v0="151" v1="311" v2="312"/>
+ <triangle index="640" v0="152" v1="313" v2="314"/>
+ <triangle index="641" v0="153" v1="315" v2="316"/>
+ <triangle index="642" v0="157" v1="318" v2="317"/>
+ <triangle index="643" v0="154" v1="319" v2="320"/>
+ <triangle index="644" v0="158" v1="324" v2="323"/>
+ <triangle index="645" v0="156" v1="326" v2="325"/>
+ <triangle index="646" v0="14" v1="244" v2="377"/>
+ <triangle index="647" v0="82" v1="378" v2="244"/>
+ <triangle index="648" v0="116" v1="285" v2="335"/>
+ <triangle index="649" v0="35" v1="322" v2="321"/>
+ <triangle index="650" v0="31" v1="307" v2="306"/>
+ <triangle index="651" v0="29" v1="310" v2="309"/>
+ <triangle index="652" v0="27" v1="312" v2="311"/>
+ <triangle index="653" v0="3" v1="314" v2="313"/>
+ <triangle index="654" v0="22" v1="316" v2="315"/>
+ <triangle index="655" v0="18" v1="320" v2="319"/>
+ <triangle index="656" v0="37" v1="325" v2="326"/>
+ <triangle index="657" v0="0" v1="317" v2="318"/>
+ <triangle index="658" v0="20" v1="323" v2="324"/>
+ <triangle index="659" v0="113" v1="294" v2="332"/>
+ <triangle index="660" v0="114" v1="333" v2="295"/>
+ <triangle index="661" v0="108" v1="334" v2="296"/>
+ <triangle index="662" v0="102" v1="291" v2="344"/>
+ <triangle index="663" v0="104" v1="290" v2="345"/>
+ <triangle index="664" v0="111" v1="348" v2="289"/>
+ <triangle index="665" v0="107" v1="347" v2="286"/>
+ <triangle index="666" v0="110" v1="287" v2="346"/>
+ <triangle index="667" v0="105" v1="349" v2="288"/>
+ <triangle index="668" v0="99" v1="350" v2="292"/>
+ <triangle index="669" v0="97" v1="351" v2="293"/>
+ <triangle index="670" v0="96" v1="383" v2="264"/>
+ <triangle index="671" v0="161" v1="264" v2="383"/>
+ <triangle index="672" v0="161" v1="384" v2="329"/>
+ <triangle index="673" v0="138" v1="329" v2="384"/>
+ <triangle index="674" v0="201" v1="384" v2="383"/>
+ <triangle index="675" v0="161" v1="383" v2="384"/>
+ </cells>
+ </mesh>
+</dolfin>
diff --git a/test/data/doughnut.xml.gz b/test/data/doughnut.xml.gz
deleted file mode 100644
index 66b00d9..0000000
Binary files a/test/data/doughnut.xml.gz and /dev/null differ
diff --git a/test/data/intersecting_surfaces.xml b/test/data/intersecting_surfaces.xml
new file mode 100644
index 0000000..cae46a9
--- /dev/null
+++ b/test/data/intersecting_surfaces.xml
@@ -0,0 +1,5515 @@
+<?xml version="1.0"?>
+<dolfin xmlns:dolfin="http://fenicsproject.org">
+ <mesh celltype="triangle" dim="3">
+ <vertices size="1906">
+ <vertex index="0" x="0.000000000000000e+00" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="1" x="3.333333333333333e-02" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="2" x="6.666666666666667e-02" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="3" x="1.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="4" x="1.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="5" x="1.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="6" x="2.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="7" x="2.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="8" x="2.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="9" x="3.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="10" x="3.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="11" x="3.666666666666666e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="12" x="4.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="13" x="4.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="14" x="4.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="15" x="5.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="16" x="5.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="17" x="5.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="18" x="6.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="19" x="6.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="20" x="6.666666666666666e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="21" x="7.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="22" x="7.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="23" x="7.666666666666666e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="24" x="8.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="25" x="8.333333333333334e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="26" x="8.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="27" x="9.000000000000000e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="28" x="9.333333333333333e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="29" x="9.666666666666667e-01" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="30" x="1.000000000000000e+00" y="0.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="31" x="0.000000000000000e+00" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="32" x="3.333333333333333e-02" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="33" x="6.666666666666667e-02" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="34" x="1.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="35" x="1.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="36" x="1.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="37" x="2.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="38" x="2.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="39" x="2.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="40" x="3.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="41" x="3.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="42" x="3.666666666666666e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="43" x="4.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="44" x="4.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="45" x="4.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="46" x="5.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="47" x="5.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="48" x="5.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="49" x="6.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="50" x="6.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="51" x="6.666666666666666e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="52" x="7.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="53" x="7.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="54" x="7.666666666666666e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="55" x="8.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="56" x="8.333333333333334e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="57" x="8.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="58" x="9.000000000000000e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="59" x="9.333333333333333e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="60" x="9.666666666666667e-01" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="61" x="1.000000000000000e+00" y="3.333333333333333e-02" z="0.000000000000000e+00" />
+ <vertex index="62" x="0.000000000000000e+00" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="63" x="3.333333333333333e-02" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="64" x="6.666666666666667e-02" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="65" x="1.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="66" x="1.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="67" x="1.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="68" x="2.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="69" x="2.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="70" x="2.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="71" x="3.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="72" x="3.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="73" x="3.666666666666666e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="74" x="4.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="75" x="4.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="76" x="4.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="77" x="5.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="78" x="5.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="79" x="5.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="80" x="6.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="81" x="6.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="82" x="6.666666666666666e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="83" x="7.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="84" x="7.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="85" x="7.666666666666666e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="86" x="8.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="87" x="8.333333333333334e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="88" x="8.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="89" x="9.000000000000000e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="90" x="9.333333333333333e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="91" x="9.666666666666667e-01" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="92" x="1.000000000000000e+00" y="6.666666666666667e-02" z="0.000000000000000e+00" />
+ <vertex index="93" x="0.000000000000000e+00" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="94" x="3.333333333333333e-02" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="95" x="6.666666666666667e-02" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="96" x="1.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="97" x="1.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="98" x="1.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="99" x="2.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="100" x="2.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="101" x="2.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="102" x="3.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="103" x="3.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="104" x="3.666666666666666e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="105" x="4.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="106" x="4.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="107" x="4.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="108" x="5.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="109" x="5.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="110" x="5.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="111" x="6.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="112" x="6.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="113" x="6.666666666666666e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="114" x="7.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="115" x="7.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="116" x="7.666666666666666e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="117" x="8.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="118" x="8.333333333333334e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="119" x="8.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="120" x="9.000000000000000e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="121" x="9.333333333333333e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="122" x="9.666666666666667e-01" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="123" x="1.000000000000000e+00" y="1.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="124" x="0.000000000000000e+00" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="125" x="3.333333333333333e-02" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="126" x="6.666666666666667e-02" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="127" x="1.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="128" x="1.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="129" x="1.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="130" x="2.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="131" x="2.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="132" x="2.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="133" x="3.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="134" x="3.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="135" x="3.666666666666666e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="136" x="4.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="137" x="4.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="138" x="4.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="139" x="5.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="140" x="5.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="141" x="5.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="142" x="6.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="143" x="6.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="144" x="6.666666666666666e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="145" x="7.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="146" x="7.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="147" x="7.666666666666666e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="148" x="8.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="149" x="8.333333333333334e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="150" x="8.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="151" x="9.000000000000000e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="152" x="9.333333333333333e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="153" x="9.666666666666667e-01" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="154" x="1.000000000000000e+00" y="1.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="155" x="0.000000000000000e+00" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="156" x="3.333333333333333e-02" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="157" x="6.666666666666667e-02" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="158" x="1.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="159" x="1.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="160" x="1.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="161" x="2.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="162" x="2.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="163" x="2.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="164" x="3.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="165" x="3.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="166" x="3.666666666666666e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="167" x="4.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="168" x="4.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="169" x="4.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="170" x="5.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="171" x="5.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="172" x="5.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="173" x="6.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="174" x="6.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="175" x="6.666666666666666e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="176" x="7.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="177" x="7.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="178" x="7.666666666666666e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="179" x="8.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="180" x="8.333333333333334e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="181" x="8.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="182" x="9.000000000000000e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="183" x="9.333333333333333e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="184" x="9.666666666666667e-01" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="185" x="1.000000000000000e+00" y="1.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="186" x="0.000000000000000e+00" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="187" x="3.333333333333333e-02" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="188" x="6.666666666666667e-02" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="189" x="1.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="190" x="1.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="191" x="1.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="192" x="2.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="193" x="2.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="194" x="2.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="195" x="3.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="196" x="3.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="197" x="3.666666666666666e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="198" x="4.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="199" x="4.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="200" x="4.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="201" x="5.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="202" x="5.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="203" x="5.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="204" x="6.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="205" x="6.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="206" x="6.666666666666666e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="207" x="7.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="208" x="7.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="209" x="7.666666666666666e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="210" x="8.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="211" x="8.333333333333334e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="212" x="8.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="213" x="9.000000000000000e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="214" x="9.333333333333333e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="215" x="9.666666666666667e-01" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="216" x="1.000000000000000e+00" y="2.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="217" x="0.000000000000000e+00" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="218" x="3.333333333333333e-02" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="219" x="6.666666666666667e-02" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="220" x="1.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="221" x="1.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="222" x="1.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="223" x="2.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="224" x="2.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="225" x="2.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="226" x="3.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="227" x="3.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="228" x="3.666666666666666e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="229" x="4.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="230" x="4.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="231" x="4.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="232" x="5.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="233" x="5.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="234" x="5.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="235" x="6.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="236" x="6.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="237" x="6.666666666666666e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="238" x="7.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="239" x="7.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="240" x="7.666666666666666e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="241" x="8.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="242" x="8.333333333333334e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="243" x="8.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="244" x="9.000000000000000e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="245" x="9.333333333333333e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="246" x="9.666666666666667e-01" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="247" x="1.000000000000000e+00" y="2.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="248" x="0.000000000000000e+00" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="249" x="3.333333333333333e-02" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="250" x="6.666666666666667e-02" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="251" x="1.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="252" x="1.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="253" x="1.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="254" x="2.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="255" x="2.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="256" x="2.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="257" x="3.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="258" x="3.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="259" x="3.666666666666666e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="260" x="4.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="261" x="4.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="262" x="4.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="263" x="5.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="264" x="5.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="265" x="5.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="266" x="6.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="267" x="6.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="268" x="6.666666666666666e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="269" x="7.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="270" x="7.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="271" x="7.666666666666666e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="272" x="8.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="273" x="8.333333333333334e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="274" x="8.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="275" x="9.000000000000000e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="276" x="9.333333333333333e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="277" x="9.666666666666667e-01" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="278" x="1.000000000000000e+00" y="2.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="279" x="0.000000000000000e+00" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="280" x="3.333333333333333e-02" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="281" x="6.666666666666667e-02" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="282" x="1.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="283" x="1.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="284" x="1.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="285" x="2.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="286" x="2.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="287" x="2.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="288" x="3.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="289" x="3.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="290" x="3.666666666666666e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="291" x="4.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="292" x="4.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="293" x="4.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="294" x="5.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="295" x="5.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="296" x="5.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="297" x="6.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="298" x="6.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="299" x="6.666666666666666e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="300" x="7.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="301" x="7.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="302" x="7.666666666666666e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="303" x="8.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="304" x="8.333333333333334e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="305" x="8.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="306" x="9.000000000000000e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="307" x="9.333333333333333e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="308" x="9.666666666666667e-01" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="309" x="1.000000000000000e+00" y="3.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="310" x="0.000000000000000e+00" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="311" x="3.333333333333333e-02" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="312" x="6.666666666666667e-02" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="313" x="1.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="314" x="1.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="315" x="1.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="316" x="2.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="317" x="2.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="318" x="2.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="319" x="3.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="320" x="3.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="321" x="3.666666666666666e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="322" x="4.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="323" x="4.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="324" x="4.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="325" x="5.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="326" x="5.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="327" x="5.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="328" x="6.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="329" x="6.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="330" x="6.666666666666666e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="331" x="7.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="332" x="7.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="333" x="7.666666666666666e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="334" x="8.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="335" x="8.333333333333334e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="336" x="8.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="337" x="9.000000000000000e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="338" x="9.333333333333333e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="339" x="9.666666666666667e-01" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="340" x="1.000000000000000e+00" y="3.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="341" x="0.000000000000000e+00" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="342" x="3.333333333333333e-02" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="343" x="6.666666666666667e-02" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="344" x="1.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="345" x="1.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="346" x="1.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="347" x="2.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="348" x="2.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="349" x="2.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="350" x="3.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="351" x="3.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="352" x="3.666666666666666e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="353" x="4.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="354" x="4.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="355" x="4.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="356" x="5.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="357" x="5.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="358" x="5.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="359" x="6.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="360" x="6.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="361" x="6.666666666666666e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="362" x="7.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="363" x="7.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="364" x="7.666666666666666e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="365" x="8.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="366" x="8.333333333333334e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="367" x="8.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="368" x="9.000000000000000e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="369" x="9.333333333333333e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="370" x="9.666666666666667e-01" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="371" x="1.000000000000000e+00" y="3.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="372" x="0.000000000000000e+00" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="373" x="3.333333333333333e-02" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="374" x="6.666666666666667e-02" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="375" x="1.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="376" x="1.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="377" x="1.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="378" x="2.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="379" x="2.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="380" x="2.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="381" x="3.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="382" x="3.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="383" x="3.666666666666666e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="384" x="4.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="385" x="4.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="386" x="4.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="387" x="5.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="388" x="5.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="389" x="5.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="390" x="6.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="391" x="6.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="392" x="6.666666666666666e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="393" x="7.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="394" x="7.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="395" x="7.666666666666666e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="396" x="8.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="397" x="8.333333333333334e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="398" x="8.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="399" x="9.000000000000000e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="400" x="9.333333333333333e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="401" x="9.666666666666667e-01" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="402" x="1.000000000000000e+00" y="4.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="403" x="0.000000000000000e+00" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="404" x="3.333333333333333e-02" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="405" x="6.666666666666667e-02" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="406" x="1.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="407" x="1.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="408" x="1.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="409" x="2.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="410" x="2.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="411" x="2.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="412" x="3.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="413" x="3.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="414" x="3.666666666666666e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="415" x="4.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="416" x="4.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="417" x="4.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="418" x="5.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="419" x="5.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="420" x="5.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="421" x="6.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="422" x="6.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="423" x="6.666666666666666e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="424" x="7.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="425" x="7.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="426" x="7.666666666666666e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="427" x="8.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="428" x="8.333333333333334e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="429" x="8.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="430" x="9.000000000000000e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="431" x="9.333333333333333e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="432" x="9.666666666666667e-01" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="433" x="1.000000000000000e+00" y="4.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="434" x="0.000000000000000e+00" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="435" x="3.333333333333333e-02" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="436" x="6.666666666666667e-02" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="437" x="1.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="438" x="1.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="439" x="1.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="440" x="2.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="441" x="2.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="442" x="2.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="443" x="3.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="444" x="3.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="445" x="3.666666666666666e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="446" x="4.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="447" x="4.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="448" x="4.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="449" x="5.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="450" x="5.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="451" x="5.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="452" x="6.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="453" x="6.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="454" x="6.666666666666666e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="455" x="7.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="456" x="7.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="457" x="7.666666666666666e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="458" x="8.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="459" x="8.333333333333334e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="460" x="8.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="461" x="9.000000000000000e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="462" x="9.333333333333333e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="463" x="9.666666666666667e-01" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="464" x="1.000000000000000e+00" y="4.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="465" x="0.000000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="466" x="3.333333333333333e-02" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="467" x="6.666666666666667e-02" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="468" x="1.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="469" x="1.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="470" x="1.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="471" x="2.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="472" x="2.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="473" x="2.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="474" x="3.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="475" x="3.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="476" x="3.666666666666666e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="477" x="4.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="478" x="4.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="479" x="4.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="480" x="5.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="481" x="5.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="482" x="5.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="483" x="6.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="484" x="6.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="485" x="6.666666666666666e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="486" x="7.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="487" x="7.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="488" x="7.666666666666666e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="489" x="8.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="490" x="8.333333333333334e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="491" x="8.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="492" x="9.000000000000000e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="493" x="9.333333333333333e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="494" x="9.666666666666667e-01" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="495" x="1.000000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="496" x="0.000000000000000e+00" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="497" x="3.333333333333333e-02" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="498" x="6.666666666666667e-02" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="499" x="1.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="500" x="1.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="501" x="1.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="502" x="2.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="503" x="2.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="504" x="2.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="505" x="3.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="506" x="3.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="507" x="3.666666666666666e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="508" x="4.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="509" x="4.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="510" x="4.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="511" x="5.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="512" x="5.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="513" x="5.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="514" x="6.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="515" x="6.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="516" x="6.666666666666666e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="517" x="7.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="518" x="7.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="519" x="7.666666666666666e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="520" x="8.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="521" x="8.333333333333334e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="522" x="8.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="523" x="9.000000000000000e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="524" x="9.333333333333333e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="525" x="9.666666666666667e-01" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="526" x="1.000000000000000e+00" y="5.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="527" x="0.000000000000000e+00" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="528" x="3.333333333333333e-02" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="529" x="6.666666666666667e-02" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="530" x="1.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="531" x="1.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="532" x="1.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="533" x="2.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="534" x="2.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="535" x="2.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="536" x="3.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="537" x="3.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="538" x="3.666666666666666e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="539" x="4.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="540" x="4.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="541" x="4.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="542" x="5.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="543" x="5.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="544" x="5.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="545" x="6.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="546" x="6.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="547" x="6.666666666666666e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="548" x="7.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="549" x="7.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="550" x="7.666666666666666e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="551" x="8.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="552" x="8.333333333333334e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="553" x="8.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="554" x="9.000000000000000e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="555" x="9.333333333333333e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="556" x="9.666666666666667e-01" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="557" x="1.000000000000000e+00" y="5.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="558" x="0.000000000000000e+00" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="559" x="3.333333333333333e-02" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="560" x="6.666666666666667e-02" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="561" x="1.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="562" x="1.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="563" x="1.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="564" x="2.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="565" x="2.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="566" x="2.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="567" x="3.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="568" x="3.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="569" x="3.666666666666666e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="570" x="4.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="571" x="4.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="572" x="4.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="573" x="5.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="574" x="5.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="575" x="5.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="576" x="6.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="577" x="6.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="578" x="6.666666666666666e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="579" x="7.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="580" x="7.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="581" x="7.666666666666666e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="582" x="8.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="583" x="8.333333333333334e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="584" x="8.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="585" x="9.000000000000000e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="586" x="9.333333333333333e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="587" x="9.666666666666667e-01" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="588" x="1.000000000000000e+00" y="6.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="589" x="0.000000000000000e+00" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="590" x="3.333333333333333e-02" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="591" x="6.666666666666667e-02" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="592" x="1.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="593" x="1.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="594" x="1.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="595" x="2.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="596" x="2.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="597" x="2.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="598" x="3.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="599" x="3.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="600" x="3.666666666666666e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="601" x="4.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="602" x="4.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="603" x="4.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="604" x="5.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="605" x="5.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="606" x="5.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="607" x="6.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="608" x="6.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="609" x="6.666666666666666e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="610" x="7.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="611" x="7.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="612" x="7.666666666666666e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="613" x="8.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="614" x="8.333333333333334e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="615" x="8.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="616" x="9.000000000000000e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="617" x="9.333333333333333e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="618" x="9.666666666666667e-01" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="619" x="1.000000000000000e+00" y="6.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="620" x="0.000000000000000e+00" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="621" x="3.333333333333333e-02" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="622" x="6.666666666666667e-02" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="623" x="1.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="624" x="1.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="625" x="1.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="626" x="2.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="627" x="2.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="628" x="2.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="629" x="3.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="630" x="3.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="631" x="3.666666666666666e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="632" x="4.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="633" x="4.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="634" x="4.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="635" x="5.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="636" x="5.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="637" x="5.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="638" x="6.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="639" x="6.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="640" x="6.666666666666666e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="641" x="7.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="642" x="7.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="643" x="7.666666666666666e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="644" x="8.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="645" x="8.333333333333334e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="646" x="8.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="647" x="9.000000000000000e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="648" x="9.333333333333333e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="649" x="9.666666666666667e-01" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="650" x="1.000000000000000e+00" y="6.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="651" x="0.000000000000000e+00" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="652" x="3.333333333333333e-02" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="653" x="6.666666666666667e-02" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="654" x="1.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="655" x="1.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="656" x="1.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="657" x="2.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="658" x="2.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="659" x="2.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="660" x="3.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="661" x="3.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="662" x="3.666666666666666e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="663" x="4.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="664" x="4.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="665" x="4.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="666" x="5.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="667" x="5.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="668" x="5.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="669" x="6.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="670" x="6.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="671" x="6.666666666666666e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="672" x="7.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="673" x="7.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="674" x="7.666666666666666e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="675" x="8.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="676" x="8.333333333333334e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="677" x="8.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="678" x="9.000000000000000e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="679" x="9.333333333333333e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="680" x="9.666666666666667e-01" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="681" x="1.000000000000000e+00" y="7.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="682" x="0.000000000000000e+00" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="683" x="3.333333333333333e-02" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="684" x="6.666666666666667e-02" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="685" x="1.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="686" x="1.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="687" x="1.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="688" x="2.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="689" x="2.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="690" x="2.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="691" x="3.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="692" x="3.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="693" x="3.666666666666666e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="694" x="4.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="695" x="4.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="696" x="4.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="697" x="5.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="698" x="5.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="699" x="5.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="700" x="6.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="701" x="6.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="702" x="6.666666666666666e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="703" x="7.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="704" x="7.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="705" x="7.666666666666666e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="706" x="8.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="707" x="8.333333333333334e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="708" x="8.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="709" x="9.000000000000000e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="710" x="9.333333333333333e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="711" x="9.666666666666667e-01" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="712" x="1.000000000000000e+00" y="7.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="713" x="0.000000000000000e+00" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="714" x="3.333333333333333e-02" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="715" x="6.666666666666667e-02" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="716" x="1.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="717" x="1.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="718" x="1.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="719" x="2.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="720" x="2.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="721" x="2.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="722" x="3.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="723" x="3.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="724" x="3.666666666666666e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="725" x="4.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="726" x="4.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="727" x="4.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="728" x="5.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="729" x="5.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="730" x="5.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="731" x="6.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="732" x="6.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="733" x="6.666666666666666e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="734" x="7.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="735" x="7.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="736" x="7.666666666666666e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="737" x="8.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="738" x="8.333333333333334e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="739" x="8.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="740" x="9.000000000000000e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="741" x="9.333333333333333e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="742" x="9.666666666666667e-01" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="743" x="1.000000000000000e+00" y="7.666666666666666e-01" z="0.000000000000000e+00" />
+ <vertex index="744" x="0.000000000000000e+00" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="745" x="3.333333333333333e-02" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="746" x="6.666666666666667e-02" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="747" x="1.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="748" x="1.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="749" x="1.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="750" x="2.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="751" x="2.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="752" x="2.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="753" x="3.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="754" x="3.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="755" x="3.666666666666666e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="756" x="4.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="757" x="4.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="758" x="4.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="759" x="5.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="760" x="5.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="761" x="5.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="762" x="6.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="763" x="6.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="764" x="6.666666666666666e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="765" x="7.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="766" x="7.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="767" x="7.666666666666666e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="768" x="8.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="769" x="8.333333333333334e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="770" x="8.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="771" x="9.000000000000000e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="772" x="9.333333333333333e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="773" x="9.666666666666667e-01" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="774" x="1.000000000000000e+00" y="8.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="775" x="0.000000000000000e+00" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="776" x="3.333333333333333e-02" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="777" x="6.666666666666667e-02" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="778" x="1.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="779" x="1.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="780" x="1.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="781" x="2.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="782" x="2.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="783" x="2.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="784" x="3.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="785" x="3.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="786" x="3.666666666666666e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="787" x="4.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="788" x="4.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="789" x="4.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="790" x="5.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="791" x="5.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="792" x="5.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="793" x="6.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="794" x="6.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="795" x="6.666666666666666e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="796" x="7.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="797" x="7.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="798" x="7.666666666666666e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="799" x="8.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="800" x="8.333333333333334e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="801" x="8.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="802" x="9.000000000000000e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="803" x="9.333333333333333e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="804" x="9.666666666666667e-01" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="805" x="1.000000000000000e+00" y="8.333333333333334e-01" z="0.000000000000000e+00" />
+ <vertex index="806" x="0.000000000000000e+00" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="807" x="3.333333333333333e-02" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="808" x="6.666666666666667e-02" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="809" x="1.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="810" x="1.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="811" x="1.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="812" x="2.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="813" x="2.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="814" x="2.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="815" x="3.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="816" x="3.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="817" x="3.666666666666666e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="818" x="4.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="819" x="4.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="820" x="4.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="821" x="5.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="822" x="5.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="823" x="5.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="824" x="6.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="825" x="6.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="826" x="6.666666666666666e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="827" x="7.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="828" x="7.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="829" x="7.666666666666666e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="830" x="8.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="831" x="8.333333333333334e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="832" x="8.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="833" x="9.000000000000000e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="834" x="9.333333333333333e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="835" x="9.666666666666667e-01" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="836" x="1.000000000000000e+00" y="8.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="837" x="0.000000000000000e+00" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="838" x="3.333333333333333e-02" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="839" x="6.666666666666667e-02" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="840" x="1.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="841" x="1.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="842" x="1.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="843" x="2.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="844" x="2.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="845" x="2.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="846" x="3.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="847" x="3.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="848" x="3.666666666666666e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="849" x="4.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="850" x="4.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="851" x="4.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="852" x="5.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="853" x="5.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="854" x="5.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="855" x="6.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="856" x="6.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="857" x="6.666666666666666e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="858" x="7.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="859" x="7.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="860" x="7.666666666666666e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="861" x="8.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="862" x="8.333333333333334e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="863" x="8.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="864" x="9.000000000000000e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="865" x="9.333333333333333e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="866" x="9.666666666666667e-01" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="867" x="1.000000000000000e+00" y="9.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="868" x="0.000000000000000e+00" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="869" x="3.333333333333333e-02" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="870" x="6.666666666666667e-02" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="871" x="1.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="872" x="1.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="873" x="1.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="874" x="2.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="875" x="2.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="876" x="2.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="877" x="3.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="878" x="3.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="879" x="3.666666666666666e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="880" x="4.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="881" x="4.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="882" x="4.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="883" x="5.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="884" x="5.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="885" x="5.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="886" x="6.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="887" x="6.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="888" x="6.666666666666666e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="889" x="7.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="890" x="7.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="891" x="7.666666666666666e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="892" x="8.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="893" x="8.333333333333334e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="894" x="8.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="895" x="9.000000000000000e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="896" x="9.333333333333333e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="897" x="9.666666666666667e-01" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="898" x="1.000000000000000e+00" y="9.333333333333333e-01" z="0.000000000000000e+00" />
+ <vertex index="899" x="0.000000000000000e+00" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="900" x="3.333333333333333e-02" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="901" x="6.666666666666667e-02" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="902" x="1.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="903" x="1.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="904" x="1.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="905" x="2.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="906" x="2.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="907" x="2.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="908" x="3.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="909" x="3.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="910" x="3.666666666666666e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="911" x="4.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="912" x="4.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="913" x="4.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="914" x="5.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="915" x="5.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="916" x="5.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="917" x="6.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="918" x="6.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="919" x="6.666666666666666e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="920" x="7.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="921" x="7.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="922" x="7.666666666666666e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="923" x="8.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="924" x="8.333333333333334e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="925" x="8.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="926" x="9.000000000000000e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="927" x="9.333333333333333e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="928" x="9.666666666666667e-01" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="929" x="1.000000000000000e+00" y="9.666666666666667e-01" z="0.000000000000000e+00" />
+ <vertex index="930" x="0.000000000000000e+00" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="931" x="3.333333333333333e-02" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="932" x="6.666666666666667e-02" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="933" x="1.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="934" x="1.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="935" x="1.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="936" x="2.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="937" x="2.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="938" x="2.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="939" x="3.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="940" x="3.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="941" x="3.666666666666666e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="942" x="4.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="943" x="4.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="944" x="4.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="945" x="5.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="946" x="5.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="947" x="5.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="948" x="6.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="949" x="6.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="950" x="6.666666666666666e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="951" x="7.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="952" x="7.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="953" x="7.666666666666666e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="954" x="8.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="955" x="8.333333333333334e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="956" x="8.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="957" x="9.000000000000000e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="958" x="9.333333333333333e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="959" x="9.666666666666667e-01" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="960" x="1.000000000000000e+00" y="1.000000000000000e+00" z="0.000000000000000e+00" />
+ <vertex index="961" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="962" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="963" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="964" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="965" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="966" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="967" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="968" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="969" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="970" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="971" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="972" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="973" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="974" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="975" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="976" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="977" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="978" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="979" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="980" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="981" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="982" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="983" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="984" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="985" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="986" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="987" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="988" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="989" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="990" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="991" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-5.000000000000000e-01" />
+ <vertex index="992" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="993" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="994" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="995" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="996" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="997" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="998" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="999" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1000" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1001" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1002" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1003" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1004" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1005" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1006" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1007" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1008" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1009" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1010" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1011" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1012" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1013" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1014" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1015" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1016" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1017" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1018" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1019" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1020" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1021" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1022" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-4.666666666666667e-01" />
+ <vertex index="1023" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1024" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1025" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1026" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1027" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1028" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1029" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1030" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1031" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1032" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1033" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1034" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1035" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1036" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1037" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1038" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1039" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1040" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1041" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1042" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1043" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1044" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1045" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1046" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1047" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1048" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1049" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1050" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1051" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1052" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1053" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-4.333333333333333e-01" />
+ <vertex index="1054" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1055" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1056" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1057" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1058" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1059" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1060" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1061" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1062" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1063" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1064" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1065" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1066" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1067" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1068" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1069" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1070" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1071" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1072" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1073" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1074" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1075" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1076" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1077" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1078" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1079" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1080" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1081" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1082" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1083" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1084" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-4.000000000000000e-01" />
+ <vertex index="1085" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1086" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1087" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1088" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1089" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1090" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1091" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1092" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1093" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1094" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1095" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1096" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1097" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1098" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1099" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1100" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1101" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1102" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1103" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1104" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1105" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1106" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1107" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1108" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1109" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1110" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1111" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1112" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1113" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1114" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1115" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-3.666666666666667e-01" />
+ <vertex index="1116" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1117" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1118" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1119" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1120" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1121" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1122" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1123" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1124" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1125" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1126" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1127" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1128" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1129" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1130" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1131" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1132" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1133" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1134" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1135" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1136" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1137" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1138" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1139" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1140" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1141" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1142" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1143" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1144" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1145" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1146" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333334e-01" />
+ <vertex index="1147" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1148" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1149" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1150" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1151" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1152" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1153" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1154" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1155" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1156" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1157" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1158" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1159" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1160" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1161" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1162" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1163" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1164" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1165" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1166" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1167" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1168" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1169" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1170" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1171" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1172" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1173" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1174" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1175" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1176" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1177" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-3.000000000000000e-01" />
+ <vertex index="1178" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1179" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1180" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1181" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1182" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1183" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1184" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1185" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1186" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1187" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1188" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1189" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1190" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1191" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1192" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1193" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1194" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1195" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1196" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1197" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1198" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1199" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1200" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1201" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1202" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1203" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1204" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1205" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1206" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1207" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1208" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-2.666666666666667e-01" />
+ <vertex index="1209" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1210" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1211" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1212" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1213" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1214" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1215" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1216" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1217" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1218" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1219" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1220" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1221" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1222" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1223" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1224" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1225" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1226" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1227" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1228" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1229" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1230" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1231" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1232" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1233" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1234" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1235" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1236" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1237" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1238" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1239" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-2.333333333333333e-01" />
+ <vertex index="1240" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1241" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1242" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1243" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1244" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1245" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1246" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1247" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1248" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1249" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1250" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1251" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1252" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1253" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1254" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1255" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1256" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1257" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1258" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1259" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1260" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1261" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1262" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1263" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1264" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1265" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1266" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1267" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1268" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1269" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1270" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-2.000000000000000e-01" />
+ <vertex index="1271" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1272" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1273" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1274" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1275" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1276" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1277" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1278" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1279" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1280" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1281" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1282" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1283" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1284" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1285" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1286" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1287" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1288" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1289" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1290" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1291" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1292" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1293" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1294" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1295" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1296" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1297" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1298" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1299" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1300" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1301" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-1.666666666666667e-01" />
+ <vertex index="1302" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1303" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1304" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1305" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1306" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1307" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1308" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1309" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1310" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1311" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1312" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1313" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1314" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1315" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1316" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1317" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1318" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1319" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1320" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1321" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1322" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1323" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1324" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1325" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1326" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1327" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1328" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1329" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1330" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1331" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1332" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-1.333333333333334e-01" />
+ <vertex index="1333" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1334" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1335" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1336" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1337" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1338" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1339" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1340" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1341" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1342" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1343" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1344" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1345" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1346" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1347" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1348" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1349" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1350" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1351" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1352" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1353" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1354" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1355" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1356" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1357" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1358" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1359" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1360" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1361" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1362" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1363" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-9.999999999999998e-02" />
+ <vertex index="1364" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1365" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1366" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1367" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1368" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1369" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1370" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1371" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1372" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1373" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1374" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1375" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1376" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1377" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1378" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1379" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1380" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1381" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1382" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1383" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1384" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1385" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1386" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1387" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1388" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1389" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1390" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1391" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1392" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1393" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1394" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-6.666666666666665e-02" />
+ <vertex index="1395" x="5.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1396" x="5.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1397" x="5.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1398" x="6.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1399" x="6.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1400" x="6.666666666666666e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1401" x="7.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1402" x="7.333333333333334e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1403" x="7.666666666666666e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1404" x="8.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1405" x="8.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1406" x="8.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1407" x="9.000000000000000e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1408" x="9.333333333333333e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1409" x="9.666666666666667e-01" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1410" x="1.000000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1411" x="1.033333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1412" x="1.066666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1413" x="1.100000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1414" x="1.133333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1415" x="1.166666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1416" x="1.200000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1417" x="1.233333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1418" x="1.266666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1419" x="1.300000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1420" x="1.333333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1421" x="1.366666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1422" x="1.400000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1423" x="1.433333333333333e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1424" x="1.466666666666667e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1425" x="1.500000000000000e+00" y="5.000000000000000e-01" z="-3.333333333333333e-02" />
+ <vertex index="1426" x="1.033333333333333e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1427" x="1.066666666666667e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1428" x="1.100000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1429" x="1.133333333333333e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1430" x="1.166666666666667e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1431" x="1.200000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1432" x="1.233333333333333e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1433" x="1.266666666666667e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1434" x="1.300000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1435" x="1.333333333333333e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1436" x="1.366666666666667e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1437" x="1.400000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1438" x="1.433333333333333e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1439" x="1.466666666666667e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1440" x="1.500000000000000e+00" y="5.000000000000000e-01" z="0.000000000000000e+00" />
+ <vertex index="1441" x="5.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1442" x="5.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1443" x="5.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1444" x="6.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1445" x="6.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1446" x="6.666666666666666e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1447" x="7.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1448" x="7.333333333333334e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1449" x="7.666666666666666e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1450" x="8.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1451" x="8.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1452" x="8.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1453" x="9.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1454" x="9.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1455" x="9.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1456" x="1.000000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1457" x="1.033333333333333e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1458" x="1.066666666666667e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1459" x="1.100000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1460" x="1.133333333333333e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1461" x="1.166666666666667e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1462" x="1.200000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1463" x="1.233333333333333e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1464" x="1.266666666666667e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1465" x="1.300000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1466" x="1.333333333333333e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1467" x="1.366666666666667e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1468" x="1.400000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1469" x="1.433333333333333e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1470" x="1.466666666666667e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1471" x="1.500000000000000e+00" y="5.000000000000000e-01" z="3.333333333333333e-02" />
+ <vertex index="1472" x="5.000000000000000e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1473" x="5.333333333333333e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1474" x="5.666666666666667e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1475" x="6.000000000000000e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1476" x="6.333333333333333e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1477" x="6.666666666666666e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1478" x="7.000000000000000e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1479" x="7.333333333333334e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1480" x="7.666666666666666e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1481" x="8.000000000000000e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1482" x="8.333333333333333e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1483" x="8.666666666666667e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1484" x="9.000000000000000e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1485" x="9.333333333333333e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1486" x="9.666666666666667e-01" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1487" x="1.000000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1488" x="1.033333333333333e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1489" x="1.066666666666667e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1490" x="1.100000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1491" x="1.133333333333333e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1492" x="1.166666666666667e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1493" x="1.200000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1494" x="1.233333333333333e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1495" x="1.266666666666667e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1496" x="1.300000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1497" x="1.333333333333333e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1498" x="1.366666666666667e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1499" x="1.400000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1500" x="1.433333333333333e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1501" x="1.466666666666667e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1502" x="1.500000000000000e+00" y="5.000000000000000e-01" z="6.666666666666665e-02" />
+ <vertex index="1503" x="5.000000000000000e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1504" x="5.333333333333333e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1505" x="5.666666666666667e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1506" x="6.000000000000000e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1507" x="6.333333333333333e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1508" x="6.666666666666666e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1509" x="7.000000000000000e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1510" x="7.333333333333334e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1511" x="7.666666666666666e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1512" x="8.000000000000000e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1513" x="8.333333333333333e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1514" x="8.666666666666667e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1515" x="9.000000000000000e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1516" x="9.333333333333333e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1517" x="9.666666666666667e-01" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1518" x="1.000000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1519" x="1.033333333333333e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1520" x="1.066666666666667e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1521" x="1.100000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1522" x="1.133333333333333e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1523" x="1.166666666666667e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1524" x="1.200000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1525" x="1.233333333333333e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1526" x="1.266666666666667e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1527" x="1.300000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1528" x="1.333333333333333e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1529" x="1.366666666666667e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1530" x="1.400000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1531" x="1.433333333333333e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1532" x="1.466666666666667e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1533" x="1.500000000000000e+00" y="5.000000000000000e-01" z="9.999999999999998e-02" />
+ <vertex index="1534" x="5.000000000000000e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1535" x="5.333333333333333e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1536" x="5.666666666666667e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1537" x="6.000000000000000e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1538" x="6.333333333333333e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1539" x="6.666666666666666e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1540" x="7.000000000000000e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1541" x="7.333333333333334e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1542" x="7.666666666666666e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1543" x="8.000000000000000e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1544" x="8.333333333333333e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1545" x="8.666666666666667e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1546" x="9.000000000000000e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1547" x="9.333333333333333e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1548" x="9.666666666666667e-01" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1549" x="1.000000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1550" x="1.033333333333333e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1551" x="1.066666666666667e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1552" x="1.100000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1553" x="1.133333333333333e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1554" x="1.166666666666667e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1555" x="1.200000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1556" x="1.233333333333333e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1557" x="1.266666666666667e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1558" x="1.300000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1559" x="1.333333333333333e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1560" x="1.366666666666667e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1561" x="1.400000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1562" x="1.433333333333333e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1563" x="1.466666666666667e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1564" x="1.500000000000000e+00" y="5.000000000000000e-01" z="1.333333333333333e-01" />
+ <vertex index="1565" x="5.000000000000000e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1566" x="5.333333333333333e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1567" x="5.666666666666667e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1568" x="6.000000000000000e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1569" x="6.333333333333333e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1570" x="6.666666666666666e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1571" x="7.000000000000000e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1572" x="7.333333333333334e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1573" x="7.666666666666666e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1574" x="8.000000000000000e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1575" x="8.333333333333333e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1576" x="8.666666666666667e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1577" x="9.000000000000000e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1578" x="9.333333333333333e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1579" x="9.666666666666667e-01" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1580" x="1.000000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1581" x="1.033333333333333e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1582" x="1.066666666666667e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1583" x="1.100000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1584" x="1.133333333333333e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1585" x="1.166666666666667e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1586" x="1.200000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1587" x="1.233333333333333e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1588" x="1.266666666666667e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1589" x="1.300000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1590" x="1.333333333333333e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1591" x="1.366666666666667e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1592" x="1.400000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1593" x="1.433333333333333e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1594" x="1.466666666666667e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1595" x="1.500000000000000e+00" y="5.000000000000000e-01" z="1.666666666666666e-01" />
+ <vertex index="1596" x="5.000000000000000e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1597" x="5.333333333333333e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1598" x="5.666666666666667e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1599" x="6.000000000000000e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1600" x="6.333333333333333e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1601" x="6.666666666666666e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1602" x="7.000000000000000e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1603" x="7.333333333333334e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1604" x="7.666666666666666e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1605" x="8.000000000000000e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1606" x="8.333333333333333e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1607" x="8.666666666666667e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1608" x="9.000000000000000e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1609" x="9.333333333333333e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1610" x="9.666666666666667e-01" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1611" x="1.000000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1612" x="1.033333333333333e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1613" x="1.066666666666667e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1614" x="1.100000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1615" x="1.133333333333333e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1616" x="1.166666666666667e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1617" x="1.200000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1618" x="1.233333333333333e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1619" x="1.266666666666667e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1620" x="1.300000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1621" x="1.333333333333333e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1622" x="1.366666666666667e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1623" x="1.400000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1624" x="1.433333333333333e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1625" x="1.466666666666667e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1626" x="1.500000000000000e+00" y="5.000000000000000e-01" z="2.000000000000000e-01" />
+ <vertex index="1627" x="5.000000000000000e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1628" x="5.333333333333333e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1629" x="5.666666666666667e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1630" x="6.000000000000000e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1631" x="6.333333333333333e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1632" x="6.666666666666666e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1633" x="7.000000000000000e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1634" x="7.333333333333334e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1635" x="7.666666666666666e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1636" x="8.000000000000000e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1637" x="8.333333333333333e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1638" x="8.666666666666667e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1639" x="9.000000000000000e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1640" x="9.333333333333333e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1641" x="9.666666666666667e-01" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1642" x="1.000000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1643" x="1.033333333333333e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1644" x="1.066666666666667e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1645" x="1.100000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1646" x="1.133333333333333e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1647" x="1.166666666666667e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1648" x="1.200000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1649" x="1.233333333333333e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1650" x="1.266666666666667e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1651" x="1.300000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1652" x="1.333333333333333e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1653" x="1.366666666666667e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1654" x="1.400000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1655" x="1.433333333333333e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1656" x="1.466666666666667e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1657" x="1.500000000000000e+00" y="5.000000000000000e-01" z="2.333333333333333e-01" />
+ <vertex index="1658" x="5.000000000000000e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1659" x="5.333333333333333e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1660" x="5.666666666666667e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1661" x="6.000000000000000e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1662" x="6.333333333333333e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1663" x="6.666666666666666e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1664" x="7.000000000000000e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1665" x="7.333333333333334e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1666" x="7.666666666666666e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1667" x="8.000000000000000e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1668" x="8.333333333333333e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1669" x="8.666666666666667e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1670" x="9.000000000000000e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1671" x="9.333333333333333e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1672" x="9.666666666666667e-01" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1673" x="1.000000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1674" x="1.033333333333333e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1675" x="1.066666666666667e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1676" x="1.100000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1677" x="1.133333333333333e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1678" x="1.166666666666667e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1679" x="1.200000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1680" x="1.233333333333333e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1681" x="1.266666666666667e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1682" x="1.300000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1683" x="1.333333333333333e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1684" x="1.366666666666667e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1685" x="1.400000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1686" x="1.433333333333333e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1687" x="1.466666666666667e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1688" x="1.500000000000000e+00" y="5.000000000000000e-01" z="2.666666666666666e-01" />
+ <vertex index="1689" x="5.000000000000000e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1690" x="5.333333333333333e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1691" x="5.666666666666667e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1692" x="6.000000000000000e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1693" x="6.333333333333333e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1694" x="6.666666666666666e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1695" x="7.000000000000000e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1696" x="7.333333333333334e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1697" x="7.666666666666666e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1698" x="8.000000000000000e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1699" x="8.333333333333333e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1700" x="8.666666666666667e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1701" x="9.000000000000000e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1702" x="9.333333333333333e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1703" x="9.666666666666667e-01" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1704" x="1.000000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1705" x="1.033333333333333e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1706" x="1.066666666666667e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1707" x="1.100000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1708" x="1.133333333333333e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1709" x="1.166666666666667e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1710" x="1.200000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1711" x="1.233333333333333e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1712" x="1.266666666666667e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1713" x="1.300000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1714" x="1.333333333333333e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1715" x="1.366666666666667e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1716" x="1.400000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1717" x="1.433333333333333e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1718" x="1.466666666666667e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1719" x="1.500000000000000e+00" y="5.000000000000000e-01" z="3.000000000000000e-01" />
+ <vertex index="1720" x="5.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1721" x="5.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1722" x="5.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1723" x="6.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1724" x="6.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1725" x="6.666666666666666e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1726" x="7.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1727" x="7.333333333333334e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1728" x="7.666666666666666e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1729" x="8.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1730" x="8.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1731" x="8.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1732" x="9.000000000000000e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1733" x="9.333333333333333e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1734" x="9.666666666666667e-01" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1735" x="1.000000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1736" x="1.033333333333333e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1737" x="1.066666666666667e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1738" x="1.100000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1739" x="1.133333333333333e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1740" x="1.166666666666667e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1741" x="1.200000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1742" x="1.233333333333333e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1743" x="1.266666666666667e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1744" x="1.300000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1745" x="1.333333333333333e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1746" x="1.366666666666667e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1747" x="1.400000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1748" x="1.433333333333333e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1749" x="1.466666666666667e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1750" x="1.500000000000000e+00" y="5.000000000000000e-01" z="3.333333333333334e-01" />
+ <vertex index="1751" x="5.000000000000000e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1752" x="5.333333333333333e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1753" x="5.666666666666667e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1754" x="6.000000000000000e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1755" x="6.333333333333333e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1756" x="6.666666666666666e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1757" x="7.000000000000000e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1758" x="7.333333333333334e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1759" x="7.666666666666666e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1760" x="8.000000000000000e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1761" x="8.333333333333333e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1762" x="8.666666666666667e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1763" x="9.000000000000000e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1764" x="9.333333333333333e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1765" x="9.666666666666667e-01" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1766" x="1.000000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1767" x="1.033333333333333e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1768" x="1.066666666666667e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1769" x="1.100000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1770" x="1.133333333333333e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1771" x="1.166666666666667e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1772" x="1.200000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1773" x="1.233333333333333e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1774" x="1.266666666666667e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1775" x="1.300000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1776" x="1.333333333333333e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1777" x="1.366666666666667e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1778" x="1.400000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1779" x="1.433333333333333e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1780" x="1.466666666666667e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1781" x="1.500000000000000e+00" y="5.000000000000000e-01" z="3.666666666666667e-01" />
+ <vertex index="1782" x="5.000000000000000e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1783" x="5.333333333333333e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1784" x="5.666666666666667e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1785" x="6.000000000000000e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1786" x="6.333333333333333e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1787" x="6.666666666666666e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1788" x="7.000000000000000e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1789" x="7.333333333333334e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1790" x="7.666666666666666e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1791" x="8.000000000000000e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1792" x="8.333333333333333e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1793" x="8.666666666666667e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1794" x="9.000000000000000e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1795" x="9.333333333333333e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1796" x="9.666666666666667e-01" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1797" x="1.000000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1798" x="1.033333333333333e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1799" x="1.066666666666667e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1800" x="1.100000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1801" x="1.133333333333333e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1802" x="1.166666666666667e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1803" x="1.200000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1804" x="1.233333333333333e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1805" x="1.266666666666667e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1806" x="1.300000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1807" x="1.333333333333333e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1808" x="1.366666666666667e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1809" x="1.400000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1810" x="1.433333333333333e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1811" x="1.466666666666667e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1812" x="1.500000000000000e+00" y="5.000000000000000e-01" z="4.000000000000000e-01" />
+ <vertex index="1813" x="5.000000000000000e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1814" x="5.333333333333333e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1815" x="5.666666666666667e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1816" x="6.000000000000000e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1817" x="6.333333333333333e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1818" x="6.666666666666666e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1819" x="7.000000000000000e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1820" x="7.333333333333334e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1821" x="7.666666666666666e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1822" x="8.000000000000000e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1823" x="8.333333333333333e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1824" x="8.666666666666667e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1825" x="9.000000000000000e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1826" x="9.333333333333333e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1827" x="9.666666666666667e-01" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1828" x="1.000000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1829" x="1.033333333333333e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1830" x="1.066666666666667e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1831" x="1.100000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1832" x="1.133333333333333e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1833" x="1.166666666666667e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1834" x="1.200000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1835" x="1.233333333333333e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1836" x="1.266666666666667e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1837" x="1.300000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1838" x="1.333333333333333e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1839" x="1.366666666666667e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1840" x="1.400000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1841" x="1.433333333333333e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1842" x="1.466666666666667e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1843" x="1.500000000000000e+00" y="5.000000000000000e-01" z="4.333333333333333e-01" />
+ <vertex index="1844" x="5.000000000000000e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1845" x="5.333333333333333e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1846" x="5.666666666666667e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1847" x="6.000000000000000e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1848" x="6.333333333333333e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1849" x="6.666666666666666e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1850" x="7.000000000000000e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1851" x="7.333333333333334e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1852" x="7.666666666666666e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1853" x="8.000000000000000e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1854" x="8.333333333333333e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1855" x="8.666666666666667e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1856" x="9.000000000000000e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1857" x="9.333333333333333e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1858" x="9.666666666666667e-01" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1859" x="1.000000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1860" x="1.033333333333333e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1861" x="1.066666666666667e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1862" x="1.100000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1863" x="1.133333333333333e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1864" x="1.166666666666667e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1865" x="1.200000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1866" x="1.233333333333333e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1867" x="1.266666666666667e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1868" x="1.300000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1869" x="1.333333333333333e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1870" x="1.366666666666667e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1871" x="1.400000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1872" x="1.433333333333333e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1873" x="1.466666666666667e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1874" x="1.500000000000000e+00" y="5.000000000000000e-01" z="4.666666666666667e-01" />
+ <vertex index="1875" x="5.000000000000000e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1876" x="5.333333333333333e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1877" x="5.666666666666667e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1878" x="6.000000000000000e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1879" x="6.333333333333333e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1880" x="6.666666666666666e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1881" x="7.000000000000000e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1882" x="7.333333333333334e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1883" x="7.666666666666666e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1884" x="8.000000000000000e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1885" x="8.333333333333333e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1886" x="8.666666666666667e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1887" x="9.000000000000000e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1888" x="9.333333333333333e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1889" x="9.666666666666667e-01" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1890" x="1.000000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1891" x="1.033333333333333e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1892" x="1.066666666666667e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1893" x="1.100000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1894" x="1.133333333333333e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1895" x="1.166666666666667e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1896" x="1.200000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1897" x="1.233333333333333e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1898" x="1.266666666666667e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1899" x="1.300000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1900" x="1.333333333333333e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1901" x="1.366666666666667e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1902" x="1.400000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1903" x="1.433333333333333e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1904" x="1.466666666666667e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ <vertex index="1905" x="1.500000000000000e+00" y="5.000000000000000e-01" z="5.000000000000000e-01" />
+ </vertices>
+ <cells size="3600">
+ <triangle index="0" v0="0" v1="1" v2="31" />
+ <triangle index="1" v0="1" v1="31" v2="32" />
+ <triangle index="2" v0="1" v1="2" v2="32" />
+ <triangle index="3" v0="2" v1="32" v2="33" />
+ <triangle index="4" v0="2" v1="3" v2="33" />
+ <triangle index="5" v0="3" v1="33" v2="34" />
+ <triangle index="6" v0="3" v1="4" v2="34" />
+ <triangle index="7" v0="4" v1="34" v2="35" />
+ <triangle index="8" v0="4" v1="5" v2="35" />
+ <triangle index="9" v0="5" v1="35" v2="36" />
+ <triangle index="10" v0="5" v1="6" v2="36" />
+ <triangle index="11" v0="6" v1="36" v2="37" />
+ <triangle index="12" v0="6" v1="7" v2="37" />
+ <triangle index="13" v0="7" v1="37" v2="38" />
+ <triangle index="14" v0="7" v1="8" v2="38" />
+ <triangle index="15" v0="8" v1="38" v2="39" />
+ <triangle index="16" v0="8" v1="9" v2="39" />
+ <triangle index="17" v0="9" v1="39" v2="40" />
+ <triangle index="18" v0="9" v1="10" v2="40" />
+ <triangle index="19" v0="10" v1="40" v2="41" />
+ <triangle index="20" v0="10" v1="11" v2="41" />
+ <triangle index="21" v0="11" v1="41" v2="42" />
+ <triangle index="22" v0="11" v1="12" v2="42" />
+ <triangle index="23" v0="12" v1="42" v2="43" />
+ <triangle index="24" v0="12" v1="13" v2="43" />
+ <triangle index="25" v0="13" v1="43" v2="44" />
+ <triangle index="26" v0="13" v1="14" v2="44" />
+ <triangle index="27" v0="14" v1="44" v2="45" />
+ <triangle index="28" v0="14" v1="15" v2="45" />
+ <triangle index="29" v0="15" v1="45" v2="46" />
+ <triangle index="30" v0="15" v1="16" v2="46" />
+ <triangle index="31" v0="16" v1="46" v2="47" />
+ <triangle index="32" v0="16" v1="17" v2="47" />
+ <triangle index="33" v0="17" v1="47" v2="48" />
+ <triangle index="34" v0="17" v1="18" v2="48" />
+ <triangle index="35" v0="18" v1="48" v2="49" />
+ <triangle index="36" v0="18" v1="19" v2="49" />
+ <triangle index="37" v0="19" v1="49" v2="50" />
+ <triangle index="38" v0="19" v1="20" v2="50" />
+ <triangle index="39" v0="20" v1="50" v2="51" />
+ <triangle index="40" v0="20" v1="21" v2="51" />
+ <triangle index="41" v0="21" v1="51" v2="52" />
+ <triangle index="42" v0="21" v1="22" v2="52" />
+ <triangle index="43" v0="22" v1="52" v2="53" />
+ <triangle index="44" v0="22" v1="23" v2="53" />
+ <triangle index="45" v0="23" v1="53" v2="54" />
+ <triangle index="46" v0="23" v1="24" v2="54" />
+ <triangle index="47" v0="24" v1="54" v2="55" />
+ <triangle index="48" v0="24" v1="25" v2="55" />
+ <triangle index="49" v0="25" v1="55" v2="56" />
+ <triangle index="50" v0="25" v1="26" v2="56" />
+ <triangle index="51" v0="26" v1="56" v2="57" />
+ <triangle index="52" v0="26" v1="27" v2="57" />
+ <triangle index="53" v0="27" v1="57" v2="58" />
+ <triangle index="54" v0="27" v1="28" v2="58" />
+ <triangle index="55" v0="28" v1="58" v2="59" />
+ <triangle index="56" v0="28" v1="29" v2="59" />
+ <triangle index="57" v0="29" v1="59" v2="60" />
+ <triangle index="58" v0="29" v1="30" v2="60" />
+ <triangle index="59" v0="30" v1="60" v2="61" />
+ <triangle index="60" v0="31" v1="32" v2="62" />
+ <triangle index="61" v0="32" v1="62" v2="63" />
+ <triangle index="62" v0="32" v1="33" v2="63" />
+ <triangle index="63" v0="33" v1="63" v2="64" />
+ <triangle index="64" v0="33" v1="34" v2="64" />
+ <triangle index="65" v0="34" v1="64" v2="65" />
+ <triangle index="66" v0="34" v1="35" v2="65" />
+ <triangle index="67" v0="35" v1="65" v2="66" />
+ <triangle index="68" v0="35" v1="36" v2="66" />
+ <triangle index="69" v0="36" v1="66" v2="67" />
+ <triangle index="70" v0="36" v1="37" v2="67" />
+ <triangle index="71" v0="37" v1="67" v2="68" />
+ <triangle index="72" v0="37" v1="38" v2="68" />
+ <triangle index="73" v0="38" v1="68" v2="69" />
+ <triangle index="74" v0="38" v1="39" v2="69" />
+ <triangle index="75" v0="39" v1="69" v2="70" />
+ <triangle index="76" v0="39" v1="40" v2="70" />
+ <triangle index="77" v0="40" v1="70" v2="71" />
+ <triangle index="78" v0="40" v1="41" v2="71" />
+ <triangle index="79" v0="41" v1="71" v2="72" />
+ <triangle index="80" v0="41" v1="42" v2="72" />
+ <triangle index="81" v0="42" v1="72" v2="73" />
+ <triangle index="82" v0="42" v1="43" v2="73" />
+ <triangle index="83" v0="43" v1="73" v2="74" />
+ <triangle index="84" v0="43" v1="44" v2="74" />
+ <triangle index="85" v0="44" v1="74" v2="75" />
+ <triangle index="86" v0="44" v1="45" v2="75" />
+ <triangle index="87" v0="45" v1="75" v2="76" />
+ <triangle index="88" v0="45" v1="46" v2="76" />
+ <triangle index="89" v0="46" v1="76" v2="77" />
+ <triangle index="90" v0="46" v1="47" v2="77" />
+ <triangle index="91" v0="47" v1="77" v2="78" />
+ <triangle index="92" v0="47" v1="48" v2="78" />
+ <triangle index="93" v0="48" v1="78" v2="79" />
+ <triangle index="94" v0="48" v1="49" v2="79" />
+ <triangle index="95" v0="49" v1="79" v2="80" />
+ <triangle index="96" v0="49" v1="50" v2="80" />
+ <triangle index="97" v0="50" v1="80" v2="81" />
+ <triangle index="98" v0="50" v1="51" v2="81" />
+ <triangle index="99" v0="51" v1="81" v2="82" />
+ <triangle index="100" v0="51" v1="52" v2="82" />
+ <triangle index="101" v0="52" v1="82" v2="83" />
+ <triangle index="102" v0="52" v1="53" v2="83" />
+ <triangle index="103" v0="53" v1="83" v2="84" />
+ <triangle index="104" v0="53" v1="54" v2="84" />
+ <triangle index="105" v0="54" v1="84" v2="85" />
+ <triangle index="106" v0="54" v1="55" v2="85" />
+ <triangle index="107" v0="55" v1="85" v2="86" />
+ <triangle index="108" v0="55" v1="56" v2="86" />
+ <triangle index="109" v0="56" v1="86" v2="87" />
+ <triangle index="110" v0="56" v1="57" v2="87" />
+ <triangle index="111" v0="57" v1="87" v2="88" />
+ <triangle index="112" v0="57" v1="58" v2="88" />
+ <triangle index="113" v0="58" v1="88" v2="89" />
+ <triangle index="114" v0="58" v1="59" v2="89" />
+ <triangle index="115" v0="59" v1="89" v2="90" />
+ <triangle index="116" v0="59" v1="60" v2="90" />
+ <triangle index="117" v0="60" v1="90" v2="91" />
+ <triangle index="118" v0="60" v1="61" v2="91" />
+ <triangle index="119" v0="61" v1="91" v2="92" />
+ <triangle index="120" v0="62" v1="63" v2="93" />
+ <triangle index="121" v0="63" v1="93" v2="94" />
+ <triangle index="122" v0="63" v1="64" v2="94" />
+ <triangle index="123" v0="64" v1="94" v2="95" />
+ <triangle index="124" v0="64" v1="65" v2="95" />
+ <triangle index="125" v0="65" v1="95" v2="96" />
+ <triangle index="126" v0="65" v1="66" v2="96" />
+ <triangle index="127" v0="66" v1="96" v2="97" />
+ <triangle index="128" v0="66" v1="67" v2="97" />
+ <triangle index="129" v0="67" v1="97" v2="98" />
+ <triangle index="130" v0="67" v1="68" v2="98" />
+ <triangle index="131" v0="68" v1="98" v2="99" />
+ <triangle index="132" v0="68" v1="69" v2="99" />
+ <triangle index="133" v0="69" v1="99" v2="100" />
+ <triangle index="134" v0="69" v1="70" v2="100" />
+ <triangle index="135" v0="70" v1="100" v2="101" />
+ <triangle index="136" v0="70" v1="71" v2="101" />
+ <triangle index="137" v0="71" v1="101" v2="102" />
+ <triangle index="138" v0="71" v1="72" v2="102" />
+ <triangle index="139" v0="72" v1="102" v2="103" />
+ <triangle index="140" v0="72" v1="73" v2="103" />
+ <triangle index="141" v0="73" v1="103" v2="104" />
+ <triangle index="142" v0="73" v1="74" v2="104" />
+ <triangle index="143" v0="74" v1="104" v2="105" />
+ <triangle index="144" v0="74" v1="75" v2="105" />
+ <triangle index="145" v0="75" v1="105" v2="106" />
+ <triangle index="146" v0="75" v1="76" v2="106" />
+ <triangle index="147" v0="76" v1="106" v2="107" />
+ <triangle index="148" v0="76" v1="77" v2="107" />
+ <triangle index="149" v0="77" v1="107" v2="108" />
+ <triangle index="150" v0="77" v1="78" v2="108" />
+ <triangle index="151" v0="78" v1="108" v2="109" />
+ <triangle index="152" v0="78" v1="79" v2="109" />
+ <triangle index="153" v0="79" v1="109" v2="110" />
+ <triangle index="154" v0="79" v1="80" v2="110" />
+ <triangle index="155" v0="80" v1="110" v2="111" />
+ <triangle index="156" v0="80" v1="81" v2="111" />
+ <triangle index="157" v0="81" v1="111" v2="112" />
+ <triangle index="158" v0="81" v1="82" v2="112" />
+ <triangle index="159" v0="82" v1="112" v2="113" />
+ <triangle index="160" v0="82" v1="83" v2="113" />
+ <triangle index="161" v0="83" v1="113" v2="114" />
+ <triangle index="162" v0="83" v1="84" v2="114" />
+ <triangle index="163" v0="84" v1="114" v2="115" />
+ <triangle index="164" v0="84" v1="85" v2="115" />
+ <triangle index="165" v0="85" v1="115" v2="116" />
+ <triangle index="166" v0="85" v1="86" v2="116" />
+ <triangle index="167" v0="86" v1="116" v2="117" />
+ <triangle index="168" v0="86" v1="87" v2="117" />
+ <triangle index="169" v0="87" v1="117" v2="118" />
+ <triangle index="170" v0="87" v1="88" v2="118" />
+ <triangle index="171" v0="88" v1="118" v2="119" />
+ <triangle index="172" v0="88" v1="89" v2="119" />
+ <triangle index="173" v0="89" v1="119" v2="120" />
+ <triangle index="174" v0="89" v1="90" v2="120" />
+ <triangle index="175" v0="90" v1="120" v2="121" />
+ <triangle index="176" v0="90" v1="91" v2="121" />
+ <triangle index="177" v0="91" v1="121" v2="122" />
+ <triangle index="178" v0="91" v1="92" v2="122" />
+ <triangle index="179" v0="92" v1="122" v2="123" />
+ <triangle index="180" v0="93" v1="94" v2="124" />
+ <triangle index="181" v0="94" v1="124" v2="125" />
+ <triangle index="182" v0="94" v1="95" v2="125" />
+ <triangle index="183" v0="95" v1="125" v2="126" />
+ <triangle index="184" v0="95" v1="96" v2="126" />
+ <triangle index="185" v0="96" v1="126" v2="127" />
+ <triangle index="186" v0="96" v1="97" v2="127" />
+ <triangle index="187" v0="97" v1="127" v2="128" />
+ <triangle index="188" v0="97" v1="98" v2="128" />
+ <triangle index="189" v0="98" v1="128" v2="129" />
+ <triangle index="190" v0="98" v1="99" v2="129" />
+ <triangle index="191" v0="99" v1="129" v2="130" />
+ <triangle index="192" v0="99" v1="100" v2="130" />
+ <triangle index="193" v0="100" v1="130" v2="131" />
+ <triangle index="194" v0="100" v1="101" v2="131" />
+ <triangle index="195" v0="101" v1="131" v2="132" />
+ <triangle index="196" v0="101" v1="102" v2="132" />
+ <triangle index="197" v0="102" v1="132" v2="133" />
+ <triangle index="198" v0="102" v1="103" v2="133" />
+ <triangle index="199" v0="103" v1="133" v2="134" />
+ <triangle index="200" v0="103" v1="104" v2="134" />
+ <triangle index="201" v0="104" v1="134" v2="135" />
+ <triangle index="202" v0="104" v1="105" v2="135" />
+ <triangle index="203" v0="105" v1="135" v2="136" />
+ <triangle index="204" v0="105" v1="106" v2="136" />
+ <triangle index="205" v0="106" v1="136" v2="137" />
+ <triangle index="206" v0="106" v1="107" v2="137" />
+ <triangle index="207" v0="107" v1="137" v2="138" />
+ <triangle index="208" v0="107" v1="108" v2="138" />
+ <triangle index="209" v0="108" v1="138" v2="139" />
+ <triangle index="210" v0="108" v1="109" v2="139" />
+ <triangle index="211" v0="109" v1="139" v2="140" />
+ <triangle index="212" v0="109" v1="110" v2="140" />
+ <triangle index="213" v0="110" v1="140" v2="141" />
+ <triangle index="214" v0="110" v1="111" v2="141" />
+ <triangle index="215" v0="111" v1="141" v2="142" />
+ <triangle index="216" v0="111" v1="112" v2="142" />
+ <triangle index="217" v0="112" v1="142" v2="143" />
+ <triangle index="218" v0="112" v1="113" v2="143" />
+ <triangle index="219" v0="113" v1="143" v2="144" />
+ <triangle index="220" v0="113" v1="114" v2="144" />
+ <triangle index="221" v0="114" v1="144" v2="145" />
+ <triangle index="222" v0="114" v1="115" v2="145" />
+ <triangle index="223" v0="115" v1="145" v2="146" />
+ <triangle index="224" v0="115" v1="116" v2="146" />
+ <triangle index="225" v0="116" v1="146" v2="147" />
+ <triangle index="226" v0="116" v1="117" v2="147" />
+ <triangle index="227" v0="117" v1="147" v2="148" />
+ <triangle index="228" v0="117" v1="118" v2="148" />
+ <triangle index="229" v0="118" v1="148" v2="149" />
+ <triangle index="230" v0="118" v1="119" v2="149" />
+ <triangle index="231" v0="119" v1="149" v2="150" />
+ <triangle index="232" v0="119" v1="120" v2="150" />
+ <triangle index="233" v0="120" v1="150" v2="151" />
+ <triangle index="234" v0="120" v1="121" v2="151" />
+ <triangle index="235" v0="121" v1="151" v2="152" />
+ <triangle index="236" v0="121" v1="122" v2="152" />
+ <triangle index="237" v0="122" v1="152" v2="153" />
+ <triangle index="238" v0="122" v1="123" v2="153" />
+ <triangle index="239" v0="123" v1="153" v2="154" />
+ <triangle index="240" v0="124" v1="125" v2="155" />
+ <triangle index="241" v0="125" v1="155" v2="156" />
+ <triangle index="242" v0="125" v1="126" v2="156" />
+ <triangle index="243" v0="126" v1="156" v2="157" />
+ <triangle index="244" v0="126" v1="127" v2="157" />
+ <triangle index="245" v0="127" v1="157" v2="158" />
+ <triangle index="246" v0="127" v1="128" v2="158" />
+ <triangle index="247" v0="128" v1="158" v2="159" />
+ <triangle index="248" v0="128" v1="129" v2="159" />
+ <triangle index="249" v0="129" v1="159" v2="160" />
+ <triangle index="250" v0="129" v1="130" v2="160" />
+ <triangle index="251" v0="130" v1="160" v2="161" />
+ <triangle index="252" v0="130" v1="131" v2="161" />
+ <triangle index="253" v0="131" v1="161" v2="162" />
+ <triangle index="254" v0="131" v1="132" v2="162" />
+ <triangle index="255" v0="132" v1="162" v2="163" />
+ <triangle index="256" v0="132" v1="133" v2="163" />
+ <triangle index="257" v0="133" v1="163" v2="164" />
+ <triangle index="258" v0="133" v1="134" v2="164" />
+ <triangle index="259" v0="134" v1="164" v2="165" />
+ <triangle index="260" v0="134" v1="135" v2="165" />
+ <triangle index="261" v0="135" v1="165" v2="166" />
+ <triangle index="262" v0="135" v1="136" v2="166" />
+ <triangle index="263" v0="136" v1="166" v2="167" />
+ <triangle index="264" v0="136" v1="137" v2="167" />
+ <triangle index="265" v0="137" v1="167" v2="168" />
+ <triangle index="266" v0="137" v1="138" v2="168" />
+ <triangle index="267" v0="138" v1="168" v2="169" />
+ <triangle index="268" v0="138" v1="139" v2="169" />
+ <triangle index="269" v0="139" v1="169" v2="170" />
+ <triangle index="270" v0="139" v1="140" v2="170" />
+ <triangle index="271" v0="140" v1="170" v2="171" />
+ <triangle index="272" v0="140" v1="141" v2="171" />
+ <triangle index="273" v0="141" v1="171" v2="172" />
+ <triangle index="274" v0="141" v1="142" v2="172" />
+ <triangle index="275" v0="142" v1="172" v2="173" />
+ <triangle index="276" v0="142" v1="143" v2="173" />
+ <triangle index="277" v0="143" v1="173" v2="174" />
+ <triangle index="278" v0="143" v1="144" v2="174" />
+ <triangle index="279" v0="144" v1="174" v2="175" />
+ <triangle index="280" v0="144" v1="145" v2="175" />
+ <triangle index="281" v0="145" v1="175" v2="176" />
+ <triangle index="282" v0="145" v1="146" v2="176" />
+ <triangle index="283" v0="146" v1="176" v2="177" />
+ <triangle index="284" v0="146" v1="147" v2="177" />
+ <triangle index="285" v0="147" v1="177" v2="178" />
+ <triangle index="286" v0="147" v1="148" v2="178" />
+ <triangle index="287" v0="148" v1="178" v2="179" />
+ <triangle index="288" v0="148" v1="149" v2="179" />
+ <triangle index="289" v0="149" v1="179" v2="180" />
+ <triangle index="290" v0="149" v1="150" v2="180" />
+ <triangle index="291" v0="150" v1="180" v2="181" />
+ <triangle index="292" v0="150" v1="151" v2="181" />
+ <triangle index="293" v0="151" v1="181" v2="182" />
+ <triangle index="294" v0="151" v1="152" v2="182" />
+ <triangle index="295" v0="152" v1="182" v2="183" />
+ <triangle index="296" v0="152" v1="153" v2="183" />
+ <triangle index="297" v0="153" v1="183" v2="184" />
+ <triangle index="298" v0="153" v1="154" v2="184" />
+ <triangle index="299" v0="154" v1="184" v2="185" />
+ <triangle index="300" v0="155" v1="156" v2="186" />
+ <triangle index="301" v0="156" v1="186" v2="187" />
+ <triangle index="302" v0="156" v1="157" v2="187" />
+ <triangle index="303" v0="157" v1="187" v2="188" />
+ <triangle index="304" v0="157" v1="158" v2="188" />
+ <triangle index="305" v0="158" v1="188" v2="189" />
+ <triangle index="306" v0="158" v1="159" v2="189" />
+ <triangle index="307" v0="159" v1="189" v2="190" />
+ <triangle index="308" v0="159" v1="160" v2="190" />
+ <triangle index="309" v0="160" v1="190" v2="191" />
+ <triangle index="310" v0="160" v1="161" v2="191" />
+ <triangle index="311" v0="161" v1="191" v2="192" />
+ <triangle index="312" v0="161" v1="162" v2="192" />
+ <triangle index="313" v0="162" v1="192" v2="193" />
+ <triangle index="314" v0="162" v1="163" v2="193" />
+ <triangle index="315" v0="163" v1="193" v2="194" />
+ <triangle index="316" v0="163" v1="164" v2="194" />
+ <triangle index="317" v0="164" v1="194" v2="195" />
+ <triangle index="318" v0="164" v1="165" v2="195" />
+ <triangle index="319" v0="165" v1="195" v2="196" />
+ <triangle index="320" v0="165" v1="166" v2="196" />
+ <triangle index="321" v0="166" v1="196" v2="197" />
+ <triangle index="322" v0="166" v1="167" v2="197" />
+ <triangle index="323" v0="167" v1="197" v2="198" />
+ <triangle index="324" v0="167" v1="168" v2="198" />
+ <triangle index="325" v0="168" v1="198" v2="199" />
+ <triangle index="326" v0="168" v1="169" v2="199" />
+ <triangle index="327" v0="169" v1="199" v2="200" />
+ <triangle index="328" v0="169" v1="170" v2="200" />
+ <triangle index="329" v0="170" v1="200" v2="201" />
+ <triangle index="330" v0="170" v1="171" v2="201" />
+ <triangle index="331" v0="171" v1="201" v2="202" />
+ <triangle index="332" v0="171" v1="172" v2="202" />
+ <triangle index="333" v0="172" v1="202" v2="203" />
+ <triangle index="334" v0="172" v1="173" v2="203" />
+ <triangle index="335" v0="173" v1="203" v2="204" />
+ <triangle index="336" v0="173" v1="174" v2="204" />
+ <triangle index="337" v0="174" v1="204" v2="205" />
+ <triangle index="338" v0="174" v1="175" v2="205" />
+ <triangle index="339" v0="175" v1="205" v2="206" />
+ <triangle index="340" v0="175" v1="176" v2="206" />
+ <triangle index="341" v0="176" v1="206" v2="207" />
+ <triangle index="342" v0="176" v1="177" v2="207" />
+ <triangle index="343" v0="177" v1="207" v2="208" />
+ <triangle index="344" v0="177" v1="178" v2="208" />
+ <triangle index="345" v0="178" v1="208" v2="209" />
+ <triangle index="346" v0="178" v1="179" v2="209" />
+ <triangle index="347" v0="179" v1="209" v2="210" />
+ <triangle index="348" v0="179" v1="180" v2="210" />
+ <triangle index="349" v0="180" v1="210" v2="211" />
+ <triangle index="350" v0="180" v1="181" v2="211" />
+ <triangle index="351" v0="181" v1="211" v2="212" />
+ <triangle index="352" v0="181" v1="182" v2="212" />
+ <triangle index="353" v0="182" v1="212" v2="213" />
+ <triangle index="354" v0="182" v1="183" v2="213" />
+ <triangle index="355" v0="183" v1="213" v2="214" />
+ <triangle index="356" v0="183" v1="184" v2="214" />
+ <triangle index="357" v0="184" v1="214" v2="215" />
+ <triangle index="358" v0="184" v1="185" v2="215" />
+ <triangle index="359" v0="185" v1="215" v2="216" />
+ <triangle index="360" v0="186" v1="187" v2="217" />
+ <triangle index="361" v0="187" v1="217" v2="218" />
+ <triangle index="362" v0="187" v1="188" v2="218" />
+ <triangle index="363" v0="188" v1="218" v2="219" />
+ <triangle index="364" v0="188" v1="189" v2="219" />
+ <triangle index="365" v0="189" v1="219" v2="220" />
+ <triangle index="366" v0="189" v1="190" v2="220" />
+ <triangle index="367" v0="190" v1="220" v2="221" />
+ <triangle index="368" v0="190" v1="191" v2="221" />
+ <triangle index="369" v0="191" v1="221" v2="222" />
+ <triangle index="370" v0="191" v1="192" v2="222" />
+ <triangle index="371" v0="192" v1="222" v2="223" />
+ <triangle index="372" v0="192" v1="193" v2="223" />
+ <triangle index="373" v0="193" v1="223" v2="224" />
+ <triangle index="374" v0="193" v1="194" v2="224" />
+ <triangle index="375" v0="194" v1="224" v2="225" />
+ <triangle index="376" v0="194" v1="195" v2="225" />
+ <triangle index="377" v0="195" v1="225" v2="226" />
+ <triangle index="378" v0="195" v1="196" v2="226" />
+ <triangle index="379" v0="196" v1="226" v2="227" />
+ <triangle index="380" v0="196" v1="197" v2="227" />
+ <triangle index="381" v0="197" v1="227" v2="228" />
+ <triangle index="382" v0="197" v1="198" v2="228" />
+ <triangle index="383" v0="198" v1="228" v2="229" />
+ <triangle index="384" v0="198" v1="199" v2="229" />
+ <triangle index="385" v0="199" v1="229" v2="230" />
+ <triangle index="386" v0="199" v1="200" v2="230" />
+ <triangle index="387" v0="200" v1="230" v2="231" />
+ <triangle index="388" v0="200" v1="201" v2="231" />
+ <triangle index="389" v0="201" v1="231" v2="232" />
+ <triangle index="390" v0="201" v1="202" v2="232" />
+ <triangle index="391" v0="202" v1="232" v2="233" />
+ <triangle index="392" v0="202" v1="203" v2="233" />
+ <triangle index="393" v0="203" v1="233" v2="234" />
+ <triangle index="394" v0="203" v1="204" v2="234" />
+ <triangle index="395" v0="204" v1="234" v2="235" />
+ <triangle index="396" v0="204" v1="205" v2="235" />
+ <triangle index="397" v0="205" v1="235" v2="236" />
+ <triangle index="398" v0="205" v1="206" v2="236" />
+ <triangle index="399" v0="206" v1="236" v2="237" />
+ <triangle index="400" v0="206" v1="207" v2="237" />
+ <triangle index="401" v0="207" v1="237" v2="238" />
+ <triangle index="402" v0="207" v1="208" v2="238" />
+ <triangle index="403" v0="208" v1="238" v2="239" />
+ <triangle index="404" v0="208" v1="209" v2="239" />
+ <triangle index="405" v0="209" v1="239" v2="240" />
+ <triangle index="406" v0="209" v1="210" v2="240" />
+ <triangle index="407" v0="210" v1="240" v2="241" />
+ <triangle index="408" v0="210" v1="211" v2="241" />
+ <triangle index="409" v0="211" v1="241" v2="242" />
+ <triangle index="410" v0="211" v1="212" v2="242" />
+ <triangle index="411" v0="212" v1="242" v2="243" />
+ <triangle index="412" v0="212" v1="213" v2="243" />
+ <triangle index="413" v0="213" v1="243" v2="244" />
+ <triangle index="414" v0="213" v1="214" v2="244" />
+ <triangle index="415" v0="214" v1="244" v2="245" />
+ <triangle index="416" v0="214" v1="215" v2="245" />
+ <triangle index="417" v0="215" v1="245" v2="246" />
+ <triangle index="418" v0="215" v1="216" v2="246" />
+ <triangle index="419" v0="216" v1="246" v2="247" />
+ <triangle index="420" v0="217" v1="218" v2="248" />
+ <triangle index="421" v0="218" v1="248" v2="249" />
+ <triangle index="422" v0="218" v1="219" v2="249" />
+ <triangle index="423" v0="219" v1="249" v2="250" />
+ <triangle index="424" v0="219" v1="220" v2="250" />
+ <triangle index="425" v0="220" v1="250" v2="251" />
+ <triangle index="426" v0="220" v1="221" v2="251" />
+ <triangle index="427" v0="221" v1="251" v2="252" />
+ <triangle index="428" v0="221" v1="222" v2="252" />
+ <triangle index="429" v0="222" v1="252" v2="253" />
+ <triangle index="430" v0="222" v1="223" v2="253" />
+ <triangle index="431" v0="223" v1="253" v2="254" />
+ <triangle index="432" v0="223" v1="224" v2="254" />
+ <triangle index="433" v0="224" v1="254" v2="255" />
+ <triangle index="434" v0="224" v1="225" v2="255" />
+ <triangle index="435" v0="225" v1="255" v2="256" />
+ <triangle index="436" v0="225" v1="226" v2="256" />
+ <triangle index="437" v0="226" v1="256" v2="257" />
+ <triangle index="438" v0="226" v1="227" v2="257" />
+ <triangle index="439" v0="227" v1="257" v2="258" />
+ <triangle index="440" v0="227" v1="228" v2="258" />
+ <triangle index="441" v0="228" v1="258" v2="259" />
+ <triangle index="442" v0="228" v1="229" v2="259" />
+ <triangle index="443" v0="229" v1="259" v2="260" />
+ <triangle index="444" v0="229" v1="230" v2="260" />
+ <triangle index="445" v0="230" v1="260" v2="261" />
+ <triangle index="446" v0="230" v1="231" v2="261" />
+ <triangle index="447" v0="231" v1="261" v2="262" />
+ <triangle index="448" v0="231" v1="232" v2="262" />
+ <triangle index="449" v0="232" v1="262" v2="263" />
+ <triangle index="450" v0="232" v1="233" v2="263" />
+ <triangle index="451" v0="233" v1="263" v2="264" />
+ <triangle index="452" v0="233" v1="234" v2="264" />
+ <triangle index="453" v0="234" v1="264" v2="265" />
+ <triangle index="454" v0="234" v1="235" v2="265" />
+ <triangle index="455" v0="235" v1="265" v2="266" />
+ <triangle index="456" v0="235" v1="236" v2="266" />
+ <triangle index="457" v0="236" v1="266" v2="267" />
+ <triangle index="458" v0="236" v1="237" v2="267" />
+ <triangle index="459" v0="237" v1="267" v2="268" />
+ <triangle index="460" v0="237" v1="238" v2="268" />
+ <triangle index="461" v0="238" v1="268" v2="269" />
+ <triangle index="462" v0="238" v1="239" v2="269" />
+ <triangle index="463" v0="239" v1="269" v2="270" />
+ <triangle index="464" v0="239" v1="240" v2="270" />
+ <triangle index="465" v0="240" v1="270" v2="271" />
+ <triangle index="466" v0="240" v1="241" v2="271" />
+ <triangle index="467" v0="241" v1="271" v2="272" />
+ <triangle index="468" v0="241" v1="242" v2="272" />
+ <triangle index="469" v0="242" v1="272" v2="273" />
+ <triangle index="470" v0="242" v1="243" v2="273" />
+ <triangle index="471" v0="243" v1="273" v2="274" />
+ <triangle index="472" v0="243" v1="244" v2="274" />
+ <triangle index="473" v0="244" v1="274" v2="275" />
+ <triangle index="474" v0="244" v1="245" v2="275" />
+ <triangle index="475" v0="245" v1="275" v2="276" />
+ <triangle index="476" v0="245" v1="246" v2="276" />
+ <triangle index="477" v0="246" v1="276" v2="277" />
+ <triangle index="478" v0="246" v1="247" v2="277" />
+ <triangle index="479" v0="247" v1="277" v2="278" />
+ <triangle index="480" v0="248" v1="249" v2="279" />
+ <triangle index="481" v0="249" v1="279" v2="280" />
+ <triangle index="482" v0="249" v1="250" v2="280" />
+ <triangle index="483" v0="250" v1="280" v2="281" />
+ <triangle index="484" v0="250" v1="251" v2="281" />
+ <triangle index="485" v0="251" v1="281" v2="282" />
+ <triangle index="486" v0="251" v1="252" v2="282" />
+ <triangle index="487" v0="252" v1="282" v2="283" />
+ <triangle index="488" v0="252" v1="253" v2="283" />
+ <triangle index="489" v0="253" v1="283" v2="284" />
+ <triangle index="490" v0="253" v1="254" v2="284" />
+ <triangle index="491" v0="254" v1="284" v2="285" />
+ <triangle index="492" v0="254" v1="255" v2="285" />
+ <triangle index="493" v0="255" v1="285" v2="286" />
+ <triangle index="494" v0="255" v1="256" v2="286" />
+ <triangle index="495" v0="256" v1="286" v2="287" />
+ <triangle index="496" v0="256" v1="257" v2="287" />
+ <triangle index="497" v0="257" v1="287" v2="288" />
+ <triangle index="498" v0="257" v1="258" v2="288" />
+ <triangle index="499" v0="258" v1="288" v2="289" />
+ <triangle index="500" v0="258" v1="259" v2="289" />
+ <triangle index="501" v0="259" v1="289" v2="290" />
+ <triangle index="502" v0="259" v1="260" v2="290" />
+ <triangle index="503" v0="260" v1="290" v2="291" />
+ <triangle index="504" v0="260" v1="261" v2="291" />
+ <triangle index="505" v0="261" v1="291" v2="292" />
+ <triangle index="506" v0="261" v1="262" v2="292" />
+ <triangle index="507" v0="262" v1="292" v2="293" />
+ <triangle index="508" v0="262" v1="263" v2="293" />
+ <triangle index="509" v0="263" v1="293" v2="294" />
+ <triangle index="510" v0="263" v1="264" v2="294" />
+ <triangle index="511" v0="264" v1="294" v2="295" />
+ <triangle index="512" v0="264" v1="265" v2="295" />
+ <triangle index="513" v0="265" v1="295" v2="296" />
+ <triangle index="514" v0="265" v1="266" v2="296" />
+ <triangle index="515" v0="266" v1="296" v2="297" />
+ <triangle index="516" v0="266" v1="267" v2="297" />
+ <triangle index="517" v0="267" v1="297" v2="298" />
+ <triangle index="518" v0="267" v1="268" v2="298" />
+ <triangle index="519" v0="268" v1="298" v2="299" />
+ <triangle index="520" v0="268" v1="269" v2="299" />
+ <triangle index="521" v0="269" v1="299" v2="300" />
+ <triangle index="522" v0="269" v1="270" v2="300" />
+ <triangle index="523" v0="270" v1="300" v2="301" />
+ <triangle index="524" v0="270" v1="271" v2="301" />
+ <triangle index="525" v0="271" v1="301" v2="302" />
+ <triangle index="526" v0="271" v1="272" v2="302" />
+ <triangle index="527" v0="272" v1="302" v2="303" />
+ <triangle index="528" v0="272" v1="273" v2="303" />
+ <triangle index="529" v0="273" v1="303" v2="304" />
+ <triangle index="530" v0="273" v1="274" v2="304" />
+ <triangle index="531" v0="274" v1="304" v2="305" />
+ <triangle index="532" v0="274" v1="275" v2="305" />
+ <triangle index="533" v0="275" v1="305" v2="306" />
+ <triangle index="534" v0="275" v1="276" v2="306" />
+ <triangle index="535" v0="276" v1="306" v2="307" />
+ <triangle index="536" v0="276" v1="277" v2="307" />
+ <triangle index="537" v0="277" v1="307" v2="308" />
+ <triangle index="538" v0="277" v1="278" v2="308" />
+ <triangle index="539" v0="278" v1="308" v2="309" />
+ <triangle index="540" v0="279" v1="280" v2="310" />
+ <triangle index="541" v0="280" v1="310" v2="311" />
+ <triangle index="542" v0="280" v1="281" v2="311" />
+ <triangle index="543" v0="281" v1="311" v2="312" />
+ <triangle index="544" v0="281" v1="282" v2="312" />
+ <triangle index="545" v0="282" v1="312" v2="313" />
+ <triangle index="546" v0="282" v1="283" v2="313" />
+ <triangle index="547" v0="283" v1="313" v2="314" />
+ <triangle index="548" v0="283" v1="284" v2="314" />
+ <triangle index="549" v0="284" v1="314" v2="315" />
+ <triangle index="550" v0="284" v1="285" v2="315" />
+ <triangle index="551" v0="285" v1="315" v2="316" />
+ <triangle index="552" v0="285" v1="286" v2="316" />
+ <triangle index="553" v0="286" v1="316" v2="317" />
+ <triangle index="554" v0="286" v1="287" v2="317" />
+ <triangle index="555" v0="287" v1="317" v2="318" />
+ <triangle index="556" v0="287" v1="288" v2="318" />
+ <triangle index="557" v0="288" v1="318" v2="319" />
+ <triangle index="558" v0="288" v1="289" v2="319" />
+ <triangle index="559" v0="289" v1="319" v2="320" />
+ <triangle index="560" v0="289" v1="290" v2="320" />
+ <triangle index="561" v0="290" v1="320" v2="321" />
+ <triangle index="562" v0="290" v1="291" v2="321" />
+ <triangle index="563" v0="291" v1="321" v2="322" />
+ <triangle index="564" v0="291" v1="292" v2="322" />
+ <triangle index="565" v0="292" v1="322" v2="323" />
+ <triangle index="566" v0="292" v1="293" v2="323" />
+ <triangle index="567" v0="293" v1="323" v2="324" />
+ <triangle index="568" v0="293" v1="294" v2="324" />
+ <triangle index="569" v0="294" v1="324" v2="325" />
+ <triangle index="570" v0="294" v1="295" v2="325" />
+ <triangle index="571" v0="295" v1="325" v2="326" />
+ <triangle index="572" v0="295" v1="296" v2="326" />
+ <triangle index="573" v0="296" v1="326" v2="327" />
+ <triangle index="574" v0="296" v1="297" v2="327" />
+ <triangle index="575" v0="297" v1="327" v2="328" />
+ <triangle index="576" v0="297" v1="298" v2="328" />
+ <triangle index="577" v0="298" v1="328" v2="329" />
+ <triangle index="578" v0="298" v1="299" v2="329" />
+ <triangle index="579" v0="299" v1="329" v2="330" />
+ <triangle index="580" v0="299" v1="300" v2="330" />
+ <triangle index="581" v0="300" v1="330" v2="331" />
+ <triangle index="582" v0="300" v1="301" v2="331" />
+ <triangle index="583" v0="301" v1="331" v2="332" />
+ <triangle index="584" v0="301" v1="302" v2="332" />
+ <triangle index="585" v0="302" v1="332" v2="333" />
+ <triangle index="586" v0="302" v1="303" v2="333" />
+ <triangle index="587" v0="303" v1="333" v2="334" />
+ <triangle index="588" v0="303" v1="304" v2="334" />
+ <triangle index="589" v0="304" v1="334" v2="335" />
+ <triangle index="590" v0="304" v1="305" v2="335" />
+ <triangle index="591" v0="305" v1="335" v2="336" />
+ <triangle index="592" v0="305" v1="306" v2="336" />
+ <triangle index="593" v0="306" v1="336" v2="337" />
+ <triangle index="594" v0="306" v1="307" v2="337" />
+ <triangle index="595" v0="307" v1="337" v2="338" />
+ <triangle index="596" v0="307" v1="308" v2="338" />
+ <triangle index="597" v0="308" v1="338" v2="339" />
+ <triangle index="598" v0="308" v1="309" v2="339" />
+ <triangle index="599" v0="309" v1="339" v2="340" />
+ <triangle index="600" v0="310" v1="311" v2="341" />
+ <triangle index="601" v0="311" v1="341" v2="342" />
+ <triangle index="602" v0="311" v1="312" v2="342" />
+ <triangle index="603" v0="312" v1="342" v2="343" />
+ <triangle index="604" v0="312" v1="313" v2="343" />
+ <triangle index="605" v0="313" v1="343" v2="344" />
+ <triangle index="606" v0="313" v1="314" v2="344" />
+ <triangle index="607" v0="314" v1="344" v2="345" />
+ <triangle index="608" v0="314" v1="315" v2="345" />
+ <triangle index="609" v0="315" v1="345" v2="346" />
+ <triangle index="610" v0="315" v1="316" v2="346" />
+ <triangle index="611" v0="316" v1="346" v2="347" />
+ <triangle index="612" v0="316" v1="317" v2="347" />
+ <triangle index="613" v0="317" v1="347" v2="348" />
+ <triangle index="614" v0="317" v1="318" v2="348" />
+ <triangle index="615" v0="318" v1="348" v2="349" />
+ <triangle index="616" v0="318" v1="319" v2="349" />
+ <triangle index="617" v0="319" v1="349" v2="350" />
+ <triangle index="618" v0="319" v1="320" v2="350" />
+ <triangle index="619" v0="320" v1="350" v2="351" />
+ <triangle index="620" v0="320" v1="321" v2="351" />
+ <triangle index="621" v0="321" v1="351" v2="352" />
+ <triangle index="622" v0="321" v1="322" v2="352" />
+ <triangle index="623" v0="322" v1="352" v2="353" />
+ <triangle index="624" v0="322" v1="323" v2="353" />
+ <triangle index="625" v0="323" v1="353" v2="354" />
+ <triangle index="626" v0="323" v1="324" v2="354" />
+ <triangle index="627" v0="324" v1="354" v2="355" />
+ <triangle index="628" v0="324" v1="325" v2="355" />
+ <triangle index="629" v0="325" v1="355" v2="356" />
+ <triangle index="630" v0="325" v1="326" v2="356" />
+ <triangle index="631" v0="326" v1="356" v2="357" />
+ <triangle index="632" v0="326" v1="327" v2="357" />
+ <triangle index="633" v0="327" v1="357" v2="358" />
+ <triangle index="634" v0="327" v1="328" v2="358" />
+ <triangle index="635" v0="328" v1="358" v2="359" />
+ <triangle index="636" v0="328" v1="329" v2="359" />
+ <triangle index="637" v0="329" v1="359" v2="360" />
+ <triangle index="638" v0="329" v1="330" v2="360" />
+ <triangle index="639" v0="330" v1="360" v2="361" />
+ <triangle index="640" v0="330" v1="331" v2="361" />
+ <triangle index="641" v0="331" v1="361" v2="362" />
+ <triangle index="642" v0="331" v1="332" v2="362" />
+ <triangle index="643" v0="332" v1="362" v2="363" />
+ <triangle index="644" v0="332" v1="333" v2="363" />
+ <triangle index="645" v0="333" v1="363" v2="364" />
+ <triangle index="646" v0="333" v1="334" v2="364" />
+ <triangle index="647" v0="334" v1="364" v2="365" />
+ <triangle index="648" v0="334" v1="335" v2="365" />
+ <triangle index="649" v0="335" v1="365" v2="366" />
+ <triangle index="650" v0="335" v1="336" v2="366" />
+ <triangle index="651" v0="336" v1="366" v2="367" />
+ <triangle index="652" v0="336" v1="337" v2="367" />
+ <triangle index="653" v0="337" v1="367" v2="368" />
+ <triangle index="654" v0="337" v1="338" v2="368" />
+ <triangle index="655" v0="338" v1="368" v2="369" />
+ <triangle index="656" v0="338" v1="339" v2="369" />
+ <triangle index="657" v0="339" v1="369" v2="370" />
+ <triangle index="658" v0="339" v1="340" v2="370" />
+ <triangle index="659" v0="340" v1="370" v2="371" />
+ <triangle index="660" v0="341" v1="342" v2="372" />
+ <triangle index="661" v0="342" v1="372" v2="373" />
+ <triangle index="662" v0="342" v1="343" v2="373" />
+ <triangle index="663" v0="343" v1="373" v2="374" />
+ <triangle index="664" v0="343" v1="344" v2="374" />
+ <triangle index="665" v0="344" v1="374" v2="375" />
+ <triangle index="666" v0="344" v1="345" v2="375" />
+ <triangle index="667" v0="345" v1="375" v2="376" />
+ <triangle index="668" v0="345" v1="346" v2="376" />
+ <triangle index="669" v0="346" v1="376" v2="377" />
+ <triangle index="670" v0="346" v1="347" v2="377" />
+ <triangle index="671" v0="347" v1="377" v2="378" />
+ <triangle index="672" v0="347" v1="348" v2="378" />
+ <triangle index="673" v0="348" v1="378" v2="379" />
+ <triangle index="674" v0="348" v1="349" v2="379" />
+ <triangle index="675" v0="349" v1="379" v2="380" />
+ <triangle index="676" v0="349" v1="350" v2="380" />
+ <triangle index="677" v0="350" v1="380" v2="381" />
+ <triangle index="678" v0="350" v1="351" v2="381" />
+ <triangle index="679" v0="351" v1="381" v2="382" />
+ <triangle index="680" v0="351" v1="352" v2="382" />
+ <triangle index="681" v0="352" v1="382" v2="383" />
+ <triangle index="682" v0="352" v1="353" v2="383" />
+ <triangle index="683" v0="353" v1="383" v2="384" />
+ <triangle index="684" v0="353" v1="354" v2="384" />
+ <triangle index="685" v0="354" v1="384" v2="385" />
+ <triangle index="686" v0="354" v1="355" v2="385" />
+ <triangle index="687" v0="355" v1="385" v2="386" />
+ <triangle index="688" v0="355" v1="356" v2="386" />
+ <triangle index="689" v0="356" v1="386" v2="387" />
+ <triangle index="690" v0="356" v1="357" v2="387" />
+ <triangle index="691" v0="357" v1="387" v2="388" />
+ <triangle index="692" v0="357" v1="358" v2="388" />
+ <triangle index="693" v0="358" v1="388" v2="389" />
+ <triangle index="694" v0="358" v1="359" v2="389" />
+ <triangle index="695" v0="359" v1="389" v2="390" />
+ <triangle index="696" v0="359" v1="360" v2="390" />
+ <triangle index="697" v0="360" v1="390" v2="391" />
+ <triangle index="698" v0="360" v1="361" v2="391" />
+ <triangle index="699" v0="361" v1="391" v2="392" />
+ <triangle index="700" v0="361" v1="362" v2="392" />
+ <triangle index="701" v0="362" v1="392" v2="393" />
+ <triangle index="702" v0="362" v1="363" v2="393" />
+ <triangle index="703" v0="363" v1="393" v2="394" />
+ <triangle index="704" v0="363" v1="364" v2="394" />
+ <triangle index="705" v0="364" v1="394" v2="395" />
+ <triangle index="706" v0="364" v1="365" v2="395" />
+ <triangle index="707" v0="365" v1="395" v2="396" />
+ <triangle index="708" v0="365" v1="366" v2="396" />
+ <triangle index="709" v0="366" v1="396" v2="397" />
+ <triangle index="710" v0="366" v1="367" v2="397" />
+ <triangle index="711" v0="367" v1="397" v2="398" />
+ <triangle index="712" v0="367" v1="368" v2="398" />
+ <triangle index="713" v0="368" v1="398" v2="399" />
+ <triangle index="714" v0="368" v1="369" v2="399" />
+ <triangle index="715" v0="369" v1="399" v2="400" />
+ <triangle index="716" v0="369" v1="370" v2="400" />
+ <triangle index="717" v0="370" v1="400" v2="401" />
+ <triangle index="718" v0="370" v1="371" v2="401" />
+ <triangle index="719" v0="371" v1="401" v2="402" />
+ <triangle index="720" v0="372" v1="373" v2="403" />
+ <triangle index="721" v0="373" v1="403" v2="404" />
+ <triangle index="722" v0="373" v1="374" v2="404" />
+ <triangle index="723" v0="374" v1="404" v2="405" />
+ <triangle index="724" v0="374" v1="375" v2="405" />
+ <triangle index="725" v0="375" v1="405" v2="406" />
+ <triangle index="726" v0="375" v1="376" v2="406" />
+ <triangle index="727" v0="376" v1="406" v2="407" />
+ <triangle index="728" v0="376" v1="377" v2="407" />
+ <triangle index="729" v0="377" v1="407" v2="408" />
+ <triangle index="730" v0="377" v1="378" v2="408" />
+ <triangle index="731" v0="378" v1="408" v2="409" />
+ <triangle index="732" v0="378" v1="379" v2="409" />
+ <triangle index="733" v0="379" v1="409" v2="410" />
+ <triangle index="734" v0="379" v1="380" v2="410" />
+ <triangle index="735" v0="380" v1="410" v2="411" />
+ <triangle index="736" v0="380" v1="381" v2="411" />
+ <triangle index="737" v0="381" v1="411" v2="412" />
+ <triangle index="738" v0="381" v1="382" v2="412" />
+ <triangle index="739" v0="382" v1="412" v2="413" />
+ <triangle index="740" v0="382" v1="383" v2="413" />
+ <triangle index="741" v0="383" v1="413" v2="414" />
+ <triangle index="742" v0="383" v1="384" v2="414" />
+ <triangle index="743" v0="384" v1="414" v2="415" />
+ <triangle index="744" v0="384" v1="385" v2="415" />
+ <triangle index="745" v0="385" v1="415" v2="416" />
+ <triangle index="746" v0="385" v1="386" v2="416" />
+ <triangle index="747" v0="386" v1="416" v2="417" />
+ <triangle index="748" v0="386" v1="387" v2="417" />
+ <triangle index="749" v0="387" v1="417" v2="418" />
+ <triangle index="750" v0="387" v1="388" v2="418" />
+ <triangle index="751" v0="388" v1="418" v2="419" />
+ <triangle index="752" v0="388" v1="389" v2="419" />
+ <triangle index="753" v0="389" v1="419" v2="420" />
+ <triangle index="754" v0="389" v1="390" v2="420" />
+ <triangle index="755" v0="390" v1="420" v2="421" />
+ <triangle index="756" v0="390" v1="391" v2="421" />
+ <triangle index="757" v0="391" v1="421" v2="422" />
+ <triangle index="758" v0="391" v1="392" v2="422" />
+ <triangle index="759" v0="392" v1="422" v2="423" />
+ <triangle index="760" v0="392" v1="393" v2="423" />
+ <triangle index="761" v0="393" v1="423" v2="424" />
+ <triangle index="762" v0="393" v1="394" v2="424" />
+ <triangle index="763" v0="394" v1="424" v2="425" />
+ <triangle index="764" v0="394" v1="395" v2="425" />
+ <triangle index="765" v0="395" v1="425" v2="426" />
+ <triangle index="766" v0="395" v1="396" v2="426" />
+ <triangle index="767" v0="396" v1="426" v2="427" />
+ <triangle index="768" v0="396" v1="397" v2="427" />
+ <triangle index="769" v0="397" v1="427" v2="428" />
+ <triangle index="770" v0="397" v1="398" v2="428" />
+ <triangle index="771" v0="398" v1="428" v2="429" />
+ <triangle index="772" v0="398" v1="399" v2="429" />
+ <triangle index="773" v0="399" v1="429" v2="430" />
+ <triangle index="774" v0="399" v1="400" v2="430" />
+ <triangle index="775" v0="400" v1="430" v2="431" />
+ <triangle index="776" v0="400" v1="401" v2="431" />
+ <triangle index="777" v0="401" v1="431" v2="432" />
+ <triangle index="778" v0="401" v1="402" v2="432" />
+ <triangle index="779" v0="402" v1="432" v2="433" />
+ <triangle index="780" v0="403" v1="404" v2="434" />
+ <triangle index="781" v0="404" v1="434" v2="435" />
+ <triangle index="782" v0="404" v1="405" v2="435" />
+ <triangle index="783" v0="405" v1="435" v2="436" />
+ <triangle index="784" v0="405" v1="406" v2="436" />
+ <triangle index="785" v0="406" v1="436" v2="437" />
+ <triangle index="786" v0="406" v1="407" v2="437" />
+ <triangle index="787" v0="407" v1="437" v2="438" />
+ <triangle index="788" v0="407" v1="408" v2="438" />
+ <triangle index="789" v0="408" v1="438" v2="439" />
+ <triangle index="790" v0="408" v1="409" v2="439" />
+ <triangle index="791" v0="409" v1="439" v2="440" />
+ <triangle index="792" v0="409" v1="410" v2="440" />
+ <triangle index="793" v0="410" v1="440" v2="441" />
+ <triangle index="794" v0="410" v1="411" v2="441" />
+ <triangle index="795" v0="411" v1="441" v2="442" />
+ <triangle index="796" v0="411" v1="412" v2="442" />
+ <triangle index="797" v0="412" v1="442" v2="443" />
+ <triangle index="798" v0="412" v1="413" v2="443" />
+ <triangle index="799" v0="413" v1="443" v2="444" />
+ <triangle index="800" v0="413" v1="414" v2="444" />
+ <triangle index="801" v0="414" v1="444" v2="445" />
+ <triangle index="802" v0="414" v1="415" v2="445" />
+ <triangle index="803" v0="415" v1="445" v2="446" />
+ <triangle index="804" v0="415" v1="416" v2="446" />
+ <triangle index="805" v0="416" v1="446" v2="447" />
+ <triangle index="806" v0="416" v1="417" v2="447" />
+ <triangle index="807" v0="417" v1="447" v2="448" />
+ <triangle index="808" v0="417" v1="418" v2="448" />
+ <triangle index="809" v0="418" v1="448" v2="449" />
+ <triangle index="810" v0="418" v1="419" v2="449" />
+ <triangle index="811" v0="419" v1="449" v2="450" />
+ <triangle index="812" v0="419" v1="420" v2="450" />
+ <triangle index="813" v0="420" v1="450" v2="451" />
+ <triangle index="814" v0="420" v1="421" v2="451" />
+ <triangle index="815" v0="421" v1="451" v2="452" />
+ <triangle index="816" v0="421" v1="422" v2="452" />
+ <triangle index="817" v0="422" v1="452" v2="453" />
+ <triangle index="818" v0="422" v1="423" v2="453" />
+ <triangle index="819" v0="423" v1="453" v2="454" />
+ <triangle index="820" v0="423" v1="424" v2="454" />
+ <triangle index="821" v0="424" v1="454" v2="455" />
+ <triangle index="822" v0="424" v1="425" v2="455" />
+ <triangle index="823" v0="425" v1="455" v2="456" />
+ <triangle index="824" v0="425" v1="426" v2="456" />
+ <triangle index="825" v0="426" v1="456" v2="457" />
+ <triangle index="826" v0="426" v1="427" v2="457" />
+ <triangle index="827" v0="427" v1="457" v2="458" />
+ <triangle index="828" v0="427" v1="428" v2="458" />
+ <triangle index="829" v0="428" v1="458" v2="459" />
+ <triangle index="830" v0="428" v1="429" v2="459" />
+ <triangle index="831" v0="429" v1="459" v2="460" />
+ <triangle index="832" v0="429" v1="430" v2="460" />
+ <triangle index="833" v0="430" v1="460" v2="461" />
+ <triangle index="834" v0="430" v1="431" v2="461" />
+ <triangle index="835" v0="431" v1="461" v2="462" />
+ <triangle index="836" v0="431" v1="432" v2="462" />
+ <triangle index="837" v0="432" v1="462" v2="463" />
+ <triangle index="838" v0="432" v1="433" v2="463" />
+ <triangle index="839" v0="433" v1="463" v2="464" />
+ <triangle index="840" v0="434" v1="435" v2="465" />
+ <triangle index="841" v0="435" v1="465" v2="466" />
+ <triangle index="842" v0="435" v1="436" v2="466" />
+ <triangle index="843" v0="436" v1="466" v2="467" />
+ <triangle index="844" v0="436" v1="437" v2="467" />
+ <triangle index="845" v0="437" v1="467" v2="468" />
+ <triangle index="846" v0="437" v1="438" v2="468" />
+ <triangle index="847" v0="438" v1="468" v2="469" />
+ <triangle index="848" v0="438" v1="439" v2="469" />
+ <triangle index="849" v0="439" v1="469" v2="470" />
+ <triangle index="850" v0="439" v1="440" v2="470" />
+ <triangle index="851" v0="440" v1="470" v2="471" />
+ <triangle index="852" v0="440" v1="441" v2="471" />
+ <triangle index="853" v0="441" v1="471" v2="472" />
+ <triangle index="854" v0="441" v1="442" v2="472" />
+ <triangle index="855" v0="442" v1="472" v2="473" />
+ <triangle index="856" v0="442" v1="443" v2="473" />
+ <triangle index="857" v0="443" v1="473" v2="474" />
+ <triangle index="858" v0="443" v1="444" v2="474" />
+ <triangle index="859" v0="444" v1="474" v2="475" />
+ <triangle index="860" v0="444" v1="445" v2="475" />
+ <triangle index="861" v0="445" v1="475" v2="476" />
+ <triangle index="862" v0="445" v1="446" v2="476" />
+ <triangle index="863" v0="446" v1="476" v2="477" />
+ <triangle index="864" v0="446" v1="447" v2="477" />
+ <triangle index="865" v0="447" v1="477" v2="478" />
+ <triangle index="866" v0="447" v1="448" v2="478" />
+ <triangle index="867" v0="448" v1="478" v2="479" />
+ <triangle index="868" v0="448" v1="449" v2="479" />
+ <triangle index="869" v0="449" v1="479" v2="480" />
+ <triangle index="870" v0="449" v1="450" v2="480" />
+ <triangle index="871" v0="450" v1="480" v2="481" />
+ <triangle index="872" v0="450" v1="451" v2="481" />
+ <triangle index="873" v0="451" v1="481" v2="482" />
+ <triangle index="874" v0="451" v1="452" v2="482" />
+ <triangle index="875" v0="452" v1="482" v2="483" />
+ <triangle index="876" v0="452" v1="453" v2="483" />
+ <triangle index="877" v0="453" v1="483" v2="484" />
+ <triangle index="878" v0="453" v1="454" v2="484" />
+ <triangle index="879" v0="454" v1="484" v2="485" />
+ <triangle index="880" v0="454" v1="455" v2="485" />
+ <triangle index="881" v0="455" v1="485" v2="486" />
+ <triangle index="882" v0="455" v1="456" v2="486" />
+ <triangle index="883" v0="456" v1="486" v2="487" />
+ <triangle index="884" v0="456" v1="457" v2="487" />
+ <triangle index="885" v0="457" v1="487" v2="488" />
+ <triangle index="886" v0="457" v1="458" v2="488" />
+ <triangle index="887" v0="458" v1="488" v2="489" />
+ <triangle index="888" v0="458" v1="459" v2="489" />
+ <triangle index="889" v0="459" v1="489" v2="490" />
+ <triangle index="890" v0="459" v1="460" v2="490" />
+ <triangle index="891" v0="460" v1="490" v2="491" />
+ <triangle index="892" v0="460" v1="461" v2="491" />
+ <triangle index="893" v0="461" v1="491" v2="492" />
+ <triangle index="894" v0="461" v1="462" v2="492" />
+ <triangle index="895" v0="462" v1="492" v2="493" />
+ <triangle index="896" v0="462" v1="463" v2="493" />
+ <triangle index="897" v0="463" v1="493" v2="494" />
+ <triangle index="898" v0="463" v1="464" v2="494" />
+ <triangle index="899" v0="464" v1="494" v2="495" />
+ <triangle index="900" v0="465" v1="466" v2="496" />
+ <triangle index="901" v0="466" v1="496" v2="497" />
+ <triangle index="902" v0="466" v1="467" v2="497" />
+ <triangle index="903" v0="467" v1="497" v2="498" />
+ <triangle index="904" v0="467" v1="468" v2="498" />
+ <triangle index="905" v0="468" v1="498" v2="499" />
+ <triangle index="906" v0="468" v1="469" v2="499" />
+ <triangle index="907" v0="469" v1="499" v2="500" />
+ <triangle index="908" v0="469" v1="470" v2="500" />
+ <triangle index="909" v0="470" v1="500" v2="501" />
+ <triangle index="910" v0="470" v1="471" v2="501" />
+ <triangle index="911" v0="471" v1="501" v2="502" />
+ <triangle index="912" v0="471" v1="472" v2="502" />
+ <triangle index="913" v0="472" v1="502" v2="503" />
+ <triangle index="914" v0="472" v1="473" v2="503" />
+ <triangle index="915" v0="473" v1="503" v2="504" />
+ <triangle index="916" v0="473" v1="474" v2="504" />
+ <triangle index="917" v0="474" v1="504" v2="505" />
+ <triangle index="918" v0="474" v1="475" v2="505" />
+ <triangle index="919" v0="475" v1="505" v2="506" />
+ <triangle index="920" v0="475" v1="476" v2="506" />
+ <triangle index="921" v0="476" v1="506" v2="507" />
+ <triangle index="922" v0="476" v1="477" v2="507" />
+ <triangle index="923" v0="477" v1="507" v2="508" />
+ <triangle index="924" v0="477" v1="478" v2="508" />
+ <triangle index="925" v0="478" v1="508" v2="509" />
+ <triangle index="926" v0="478" v1="479" v2="509" />
+ <triangle index="927" v0="479" v1="509" v2="510" />
+ <triangle index="928" v0="479" v1="480" v2="510" />
+ <triangle index="929" v0="480" v1="510" v2="511" />
+ <triangle index="930" v0="480" v1="481" v2="511" />
+ <triangle index="931" v0="481" v1="511" v2="512" />
+ <triangle index="932" v0="481" v1="482" v2="512" />
+ <triangle index="933" v0="482" v1="512" v2="513" />
+ <triangle index="934" v0="482" v1="483" v2="513" />
+ <triangle index="935" v0="483" v1="513" v2="514" />
+ <triangle index="936" v0="483" v1="484" v2="514" />
+ <triangle index="937" v0="484" v1="514" v2="515" />
+ <triangle index="938" v0="484" v1="485" v2="515" />
+ <triangle index="939" v0="485" v1="515" v2="516" />
+ <triangle index="940" v0="485" v1="486" v2="516" />
+ <triangle index="941" v0="486" v1="516" v2="517" />
+ <triangle index="942" v0="486" v1="487" v2="517" />
+ <triangle index="943" v0="487" v1="517" v2="518" />
+ <triangle index="944" v0="487" v1="488" v2="518" />
+ <triangle index="945" v0="488" v1="518" v2="519" />
+ <triangle index="946" v0="488" v1="489" v2="519" />
+ <triangle index="947" v0="489" v1="519" v2="520" />
+ <triangle index="948" v0="489" v1="490" v2="520" />
+ <triangle index="949" v0="490" v1="520" v2="521" />
+ <triangle index="950" v0="490" v1="491" v2="521" />
+ <triangle index="951" v0="491" v1="521" v2="522" />
+ <triangle index="952" v0="491" v1="492" v2="522" />
+ <triangle index="953" v0="492" v1="522" v2="523" />
+ <triangle index="954" v0="492" v1="493" v2="523" />
+ <triangle index="955" v0="493" v1="523" v2="524" />
+ <triangle index="956" v0="493" v1="494" v2="524" />
+ <triangle index="957" v0="494" v1="524" v2="525" />
+ <triangle index="958" v0="494" v1="495" v2="525" />
+ <triangle index="959" v0="495" v1="525" v2="526" />
+ <triangle index="960" v0="496" v1="497" v2="527" />
+ <triangle index="961" v0="497" v1="527" v2="528" />
+ <triangle index="962" v0="497" v1="498" v2="528" />
+ <triangle index="963" v0="498" v1="528" v2="529" />
+ <triangle index="964" v0="498" v1="499" v2="529" />
+ <triangle index="965" v0="499" v1="529" v2="530" />
+ <triangle index="966" v0="499" v1="500" v2="530" />
+ <triangle index="967" v0="500" v1="530" v2="531" />
+ <triangle index="968" v0="500" v1="501" v2="531" />
+ <triangle index="969" v0="501" v1="531" v2="532" />
+ <triangle index="970" v0="501" v1="502" v2="532" />
+ <triangle index="971" v0="502" v1="532" v2="533" />
+ <triangle index="972" v0="502" v1="503" v2="533" />
+ <triangle index="973" v0="503" v1="533" v2="534" />
+ <triangle index="974" v0="503" v1="504" v2="534" />
+ <triangle index="975" v0="504" v1="534" v2="535" />
+ <triangle index="976" v0="504" v1="505" v2="535" />
+ <triangle index="977" v0="505" v1="535" v2="536" />
+ <triangle index="978" v0="505" v1="506" v2="536" />
+ <triangle index="979" v0="506" v1="536" v2="537" />
+ <triangle index="980" v0="506" v1="507" v2="537" />
+ <triangle index="981" v0="507" v1="537" v2="538" />
+ <triangle index="982" v0="507" v1="508" v2="538" />
+ <triangle index="983" v0="508" v1="538" v2="539" />
+ <triangle index="984" v0="508" v1="509" v2="539" />
+ <triangle index="985" v0="509" v1="539" v2="540" />
+ <triangle index="986" v0="509" v1="510" v2="540" />
+ <triangle index="987" v0="510" v1="540" v2="541" />
+ <triangle index="988" v0="510" v1="511" v2="541" />
+ <triangle index="989" v0="511" v1="541" v2="542" />
+ <triangle index="990" v0="511" v1="512" v2="542" />
+ <triangle index="991" v0="512" v1="542" v2="543" />
+ <triangle index="992" v0="512" v1="513" v2="543" />
+ <triangle index="993" v0="513" v1="543" v2="544" />
+ <triangle index="994" v0="513" v1="514" v2="544" />
+ <triangle index="995" v0="514" v1="544" v2="545" />
+ <triangle index="996" v0="514" v1="515" v2="545" />
+ <triangle index="997" v0="515" v1="545" v2="546" />
+ <triangle index="998" v0="515" v1="516" v2="546" />
+ <triangle index="999" v0="516" v1="546" v2="547" />
+ <triangle index="1000" v0="516" v1="517" v2="547" />
+ <triangle index="1001" v0="517" v1="547" v2="548" />
+ <triangle index="1002" v0="517" v1="518" v2="548" />
+ <triangle index="1003" v0="518" v1="548" v2="549" />
+ <triangle index="1004" v0="518" v1="519" v2="549" />
+ <triangle index="1005" v0="519" v1="549" v2="550" />
+ <triangle index="1006" v0="519" v1="520" v2="550" />
+ <triangle index="1007" v0="520" v1="550" v2="551" />
+ <triangle index="1008" v0="520" v1="521" v2="551" />
+ <triangle index="1009" v0="521" v1="551" v2="552" />
+ <triangle index="1010" v0="521" v1="522" v2="552" />
+ <triangle index="1011" v0="522" v1="552" v2="553" />
+ <triangle index="1012" v0="522" v1="523" v2="553" />
+ <triangle index="1013" v0="523" v1="553" v2="554" />
+ <triangle index="1014" v0="523" v1="524" v2="554" />
+ <triangle index="1015" v0="524" v1="554" v2="555" />
+ <triangle index="1016" v0="524" v1="525" v2="555" />
+ <triangle index="1017" v0="525" v1="555" v2="556" />
+ <triangle index="1018" v0="525" v1="526" v2="556" />
+ <triangle index="1019" v0="526" v1="556" v2="557" />
+ <triangle index="1020" v0="527" v1="528" v2="558" />
+ <triangle index="1021" v0="528" v1="558" v2="559" />
+ <triangle index="1022" v0="528" v1="529" v2="559" />
+ <triangle index="1023" v0="529" v1="559" v2="560" />
+ <triangle index="1024" v0="529" v1="530" v2="560" />
+ <triangle index="1025" v0="530" v1="560" v2="561" />
+ <triangle index="1026" v0="530" v1="531" v2="561" />
+ <triangle index="1027" v0="531" v1="561" v2="562" />
+ <triangle index="1028" v0="531" v1="532" v2="562" />
+ <triangle index="1029" v0="532" v1="562" v2="563" />
+ <triangle index="1030" v0="532" v1="533" v2="563" />
+ <triangle index="1031" v0="533" v1="563" v2="564" />
+ <triangle index="1032" v0="533" v1="534" v2="564" />
+ <triangle index="1033" v0="534" v1="564" v2="565" />
+ <triangle index="1034" v0="534" v1="535" v2="565" />
+ <triangle index="1035" v0="535" v1="565" v2="566" />
+ <triangle index="1036" v0="535" v1="536" v2="566" />
+ <triangle index="1037" v0="536" v1="566" v2="567" />
+ <triangle index="1038" v0="536" v1="537" v2="567" />
+ <triangle index="1039" v0="537" v1="567" v2="568" />
+ <triangle index="1040" v0="537" v1="538" v2="568" />
+ <triangle index="1041" v0="538" v1="568" v2="569" />
+ <triangle index="1042" v0="538" v1="539" v2="569" />
+ <triangle index="1043" v0="539" v1="569" v2="570" />
+ <triangle index="1044" v0="539" v1="540" v2="570" />
+ <triangle index="1045" v0="540" v1="570" v2="571" />
+ <triangle index="1046" v0="540" v1="541" v2="571" />
+ <triangle index="1047" v0="541" v1="571" v2="572" />
+ <triangle index="1048" v0="541" v1="542" v2="572" />
+ <triangle index="1049" v0="542" v1="572" v2="573" />
+ <triangle index="1050" v0="542" v1="543" v2="573" />
+ <triangle index="1051" v0="543" v1="573" v2="574" />
+ <triangle index="1052" v0="543" v1="544" v2="574" />
+ <triangle index="1053" v0="544" v1="574" v2="575" />
+ <triangle index="1054" v0="544" v1="545" v2="575" />
+ <triangle index="1055" v0="545" v1="575" v2="576" />
+ <triangle index="1056" v0="545" v1="546" v2="576" />
+ <triangle index="1057" v0="546" v1="576" v2="577" />
+ <triangle index="1058" v0="546" v1="547" v2="577" />
+ <triangle index="1059" v0="547" v1="577" v2="578" />
+ <triangle index="1060" v0="547" v1="548" v2="578" />
+ <triangle index="1061" v0="548" v1="578" v2="579" />
+ <triangle index="1062" v0="548" v1="549" v2="579" />
+ <triangle index="1063" v0="549" v1="579" v2="580" />
+ <triangle index="1064" v0="549" v1="550" v2="580" />
+ <triangle index="1065" v0="550" v1="580" v2="581" />
+ <triangle index="1066" v0="550" v1="551" v2="581" />
+ <triangle index="1067" v0="551" v1="581" v2="582" />
+ <triangle index="1068" v0="551" v1="552" v2="582" />
+ <triangle index="1069" v0="552" v1="582" v2="583" />
+ <triangle index="1070" v0="552" v1="553" v2="583" />
+ <triangle index="1071" v0="553" v1="583" v2="584" />
+ <triangle index="1072" v0="553" v1="554" v2="584" />
+ <triangle index="1073" v0="554" v1="584" v2="585" />
+ <triangle index="1074" v0="554" v1="555" v2="585" />
+ <triangle index="1075" v0="555" v1="585" v2="586" />
+ <triangle index="1076" v0="555" v1="556" v2="586" />
+ <triangle index="1077" v0="556" v1="586" v2="587" />
+ <triangle index="1078" v0="556" v1="557" v2="587" />
+ <triangle index="1079" v0="557" v1="587" v2="588" />
+ <triangle index="1080" v0="558" v1="559" v2="589" />
+ <triangle index="1081" v0="559" v1="589" v2="590" />
+ <triangle index="1082" v0="559" v1="560" v2="590" />
+ <triangle index="1083" v0="560" v1="590" v2="591" />
+ <triangle index="1084" v0="560" v1="561" v2="591" />
+ <triangle index="1085" v0="561" v1="591" v2="592" />
+ <triangle index="1086" v0="561" v1="562" v2="592" />
+ <triangle index="1087" v0="562" v1="592" v2="593" />
+ <triangle index="1088" v0="562" v1="563" v2="593" />
+ <triangle index="1089" v0="563" v1="593" v2="594" />
+ <triangle index="1090" v0="563" v1="564" v2="594" />
+ <triangle index="1091" v0="564" v1="594" v2="595" />
+ <triangle index="1092" v0="564" v1="565" v2="595" />
+ <triangle index="1093" v0="565" v1="595" v2="596" />
+ <triangle index="1094" v0="565" v1="566" v2="596" />
+ <triangle index="1095" v0="566" v1="596" v2="597" />
+ <triangle index="1096" v0="566" v1="567" v2="597" />
+ <triangle index="1097" v0="567" v1="597" v2="598" />
+ <triangle index="1098" v0="567" v1="568" v2="598" />
+ <triangle index="1099" v0="568" v1="598" v2="599" />
+ <triangle index="1100" v0="568" v1="569" v2="599" />
+ <triangle index="1101" v0="569" v1="599" v2="600" />
+ <triangle index="1102" v0="569" v1="570" v2="600" />
+ <triangle index="1103" v0="570" v1="600" v2="601" />
+ <triangle index="1104" v0="570" v1="571" v2="601" />
+ <triangle index="1105" v0="571" v1="601" v2="602" />
+ <triangle index="1106" v0="571" v1="572" v2="602" />
+ <triangle index="1107" v0="572" v1="602" v2="603" />
+ <triangle index="1108" v0="572" v1="573" v2="603" />
+ <triangle index="1109" v0="573" v1="603" v2="604" />
+ <triangle index="1110" v0="573" v1="574" v2="604" />
+ <triangle index="1111" v0="574" v1="604" v2="605" />
+ <triangle index="1112" v0="574" v1="575" v2="605" />
+ <triangle index="1113" v0="575" v1="605" v2="606" />
+ <triangle index="1114" v0="575" v1="576" v2="606" />
+ <triangle index="1115" v0="576" v1="606" v2="607" />
+ <triangle index="1116" v0="576" v1="577" v2="607" />
+ <triangle index="1117" v0="577" v1="607" v2="608" />
+ <triangle index="1118" v0="577" v1="578" v2="608" />
+ <triangle index="1119" v0="578" v1="608" v2="609" />
+ <triangle index="1120" v0="578" v1="579" v2="609" />
+ <triangle index="1121" v0="579" v1="609" v2="610" />
+ <triangle index="1122" v0="579" v1="580" v2="610" />
+ <triangle index="1123" v0="580" v1="610" v2="611" />
+ <triangle index="1124" v0="580" v1="581" v2="611" />
+ <triangle index="1125" v0="581" v1="611" v2="612" />
+ <triangle index="1126" v0="581" v1="582" v2="612" />
+ <triangle index="1127" v0="582" v1="612" v2="613" />
+ <triangle index="1128" v0="582" v1="583" v2="613" />
+ <triangle index="1129" v0="583" v1="613" v2="614" />
+ <triangle index="1130" v0="583" v1="584" v2="614" />
+ <triangle index="1131" v0="584" v1="614" v2="615" />
+ <triangle index="1132" v0="584" v1="585" v2="615" />
+ <triangle index="1133" v0="585" v1="615" v2="616" />
+ <triangle index="1134" v0="585" v1="586" v2="616" />
+ <triangle index="1135" v0="586" v1="616" v2="617" />
+ <triangle index="1136" v0="586" v1="587" v2="617" />
+ <triangle index="1137" v0="587" v1="617" v2="618" />
+ <triangle index="1138" v0="587" v1="588" v2="618" />
+ <triangle index="1139" v0="588" v1="618" v2="619" />
+ <triangle index="1140" v0="589" v1="590" v2="620" />
+ <triangle index="1141" v0="590" v1="620" v2="621" />
+ <triangle index="1142" v0="590" v1="591" v2="621" />
+ <triangle index="1143" v0="591" v1="621" v2="622" />
+ <triangle index="1144" v0="591" v1="592" v2="622" />
+ <triangle index="1145" v0="592" v1="622" v2="623" />
+ <triangle index="1146" v0="592" v1="593" v2="623" />
+ <triangle index="1147" v0="593" v1="623" v2="624" />
+ <triangle index="1148" v0="593" v1="594" v2="624" />
+ <triangle index="1149" v0="594" v1="624" v2="625" />
+ <triangle index="1150" v0="594" v1="595" v2="625" />
+ <triangle index="1151" v0="595" v1="625" v2="626" />
+ <triangle index="1152" v0="595" v1="596" v2="626" />
+ <triangle index="1153" v0="596" v1="626" v2="627" />
+ <triangle index="1154" v0="596" v1="597" v2="627" />
+ <triangle index="1155" v0="597" v1="627" v2="628" />
+ <triangle index="1156" v0="597" v1="598" v2="628" />
+ <triangle index="1157" v0="598" v1="628" v2="629" />
+ <triangle index="1158" v0="598" v1="599" v2="629" />
+ <triangle index="1159" v0="599" v1="629" v2="630" />
+ <triangle index="1160" v0="599" v1="600" v2="630" />
+ <triangle index="1161" v0="600" v1="630" v2="631" />
+ <triangle index="1162" v0="600" v1="601" v2="631" />
+ <triangle index="1163" v0="601" v1="631" v2="632" />
+ <triangle index="1164" v0="601" v1="602" v2="632" />
+ <triangle index="1165" v0="602" v1="632" v2="633" />
+ <triangle index="1166" v0="602" v1="603" v2="633" />
+ <triangle index="1167" v0="603" v1="633" v2="634" />
+ <triangle index="1168" v0="603" v1="604" v2="634" />
+ <triangle index="1169" v0="604" v1="634" v2="635" />
+ <triangle index="1170" v0="604" v1="605" v2="635" />
+ <triangle index="1171" v0="605" v1="635" v2="636" />
+ <triangle index="1172" v0="605" v1="606" v2="636" />
+ <triangle index="1173" v0="606" v1="636" v2="637" />
+ <triangle index="1174" v0="606" v1="607" v2="637" />
+ <triangle index="1175" v0="607" v1="637" v2="638" />
+ <triangle index="1176" v0="607" v1="608" v2="638" />
+ <triangle index="1177" v0="608" v1="638" v2="639" />
+ <triangle index="1178" v0="608" v1="609" v2="639" />
+ <triangle index="1179" v0="609" v1="639" v2="640" />
+ <triangle index="1180" v0="609" v1="610" v2="640" />
+ <triangle index="1181" v0="610" v1="640" v2="641" />
+ <triangle index="1182" v0="610" v1="611" v2="641" />
+ <triangle index="1183" v0="611" v1="641" v2="642" />
+ <triangle index="1184" v0="611" v1="612" v2="642" />
+ <triangle index="1185" v0="612" v1="642" v2="643" />
+ <triangle index="1186" v0="612" v1="613" v2="643" />
+ <triangle index="1187" v0="613" v1="643" v2="644" />
+ <triangle index="1188" v0="613" v1="614" v2="644" />
+ <triangle index="1189" v0="614" v1="644" v2="645" />
+ <triangle index="1190" v0="614" v1="615" v2="645" />
+ <triangle index="1191" v0="615" v1="645" v2="646" />
+ <triangle index="1192" v0="615" v1="616" v2="646" />
+ <triangle index="1193" v0="616" v1="646" v2="647" />
+ <triangle index="1194" v0="616" v1="617" v2="647" />
+ <triangle index="1195" v0="617" v1="647" v2="648" />
+ <triangle index="1196" v0="617" v1="618" v2="648" />
+ <triangle index="1197" v0="618" v1="648" v2="649" />
+ <triangle index="1198" v0="618" v1="619" v2="649" />
+ <triangle index="1199" v0="619" v1="649" v2="650" />
+ <triangle index="1200" v0="620" v1="621" v2="651" />
+ <triangle index="1201" v0="621" v1="651" v2="652" />
+ <triangle index="1202" v0="621" v1="622" v2="652" />
+ <triangle index="1203" v0="622" v1="652" v2="653" />
+ <triangle index="1204" v0="622" v1="623" v2="653" />
+ <triangle index="1205" v0="623" v1="653" v2="654" />
+ <triangle index="1206" v0="623" v1="624" v2="654" />
+ <triangle index="1207" v0="624" v1="654" v2="655" />
+ <triangle index="1208" v0="624" v1="625" v2="655" />
+ <triangle index="1209" v0="625" v1="655" v2="656" />
+ <triangle index="1210" v0="625" v1="626" v2="656" />
+ <triangle index="1211" v0="626" v1="656" v2="657" />
+ <triangle index="1212" v0="626" v1="627" v2="657" />
+ <triangle index="1213" v0="627" v1="657" v2="658" />
+ <triangle index="1214" v0="627" v1="628" v2="658" />
+ <triangle index="1215" v0="628" v1="658" v2="659" />
+ <triangle index="1216" v0="628" v1="629" v2="659" />
+ <triangle index="1217" v0="629" v1="659" v2="660" />
+ <triangle index="1218" v0="629" v1="630" v2="660" />
+ <triangle index="1219" v0="630" v1="660" v2="661" />
+ <triangle index="1220" v0="630" v1="631" v2="661" />
+ <triangle index="1221" v0="631" v1="661" v2="662" />
+ <triangle index="1222" v0="631" v1="632" v2="662" />
+ <triangle index="1223" v0="632" v1="662" v2="663" />
+ <triangle index="1224" v0="632" v1="633" v2="663" />
+ <triangle index="1225" v0="633" v1="663" v2="664" />
+ <triangle index="1226" v0="633" v1="634" v2="664" />
+ <triangle index="1227" v0="634" v1="664" v2="665" />
+ <triangle index="1228" v0="634" v1="635" v2="665" />
+ <triangle index="1229" v0="635" v1="665" v2="666" />
+ <triangle index="1230" v0="635" v1="636" v2="666" />
+ <triangle index="1231" v0="636" v1="666" v2="667" />
+ <triangle index="1232" v0="636" v1="637" v2="667" />
+ <triangle index="1233" v0="637" v1="667" v2="668" />
+ <triangle index="1234" v0="637" v1="638" v2="668" />
+ <triangle index="1235" v0="638" v1="668" v2="669" />
+ <triangle index="1236" v0="638" v1="639" v2="669" />
+ <triangle index="1237" v0="639" v1="669" v2="670" />
+ <triangle index="1238" v0="639" v1="640" v2="670" />
+ <triangle index="1239" v0="640" v1="670" v2="671" />
+ <triangle index="1240" v0="640" v1="641" v2="671" />
+ <triangle index="1241" v0="641" v1="671" v2="672" />
+ <triangle index="1242" v0="641" v1="642" v2="672" />
+ <triangle index="1243" v0="642" v1="672" v2="673" />
+ <triangle index="1244" v0="642" v1="643" v2="673" />
+ <triangle index="1245" v0="643" v1="673" v2="674" />
+ <triangle index="1246" v0="643" v1="644" v2="674" />
+ <triangle index="1247" v0="644" v1="674" v2="675" />
+ <triangle index="1248" v0="644" v1="645" v2="675" />
+ <triangle index="1249" v0="645" v1="675" v2="676" />
+ <triangle index="1250" v0="645" v1="646" v2="676" />
+ <triangle index="1251" v0="646" v1="676" v2="677" />
+ <triangle index="1252" v0="646" v1="647" v2="677" />
+ <triangle index="1253" v0="647" v1="677" v2="678" />
+ <triangle index="1254" v0="647" v1="648" v2="678" />
+ <triangle index="1255" v0="648" v1="678" v2="679" />
+ <triangle index="1256" v0="648" v1="649" v2="679" />
+ <triangle index="1257" v0="649" v1="679" v2="680" />
+ <triangle index="1258" v0="649" v1="650" v2="680" />
+ <triangle index="1259" v0="650" v1="680" v2="681" />
+ <triangle index="1260" v0="651" v1="652" v2="682" />
+ <triangle index="1261" v0="652" v1="682" v2="683" />
+ <triangle index="1262" v0="652" v1="653" v2="683" />
+ <triangle index="1263" v0="653" v1="683" v2="684" />
+ <triangle index="1264" v0="653" v1="654" v2="684" />
+ <triangle index="1265" v0="654" v1="684" v2="685" />
+ <triangle index="1266" v0="654" v1="655" v2="685" />
+ <triangle index="1267" v0="655" v1="685" v2="686" />
+ <triangle index="1268" v0="655" v1="656" v2="686" />
+ <triangle index="1269" v0="656" v1="686" v2="687" />
+ <triangle index="1270" v0="656" v1="657" v2="687" />
+ <triangle index="1271" v0="657" v1="687" v2="688" />
+ <triangle index="1272" v0="657" v1="658" v2="688" />
+ <triangle index="1273" v0="658" v1="688" v2="689" />
+ <triangle index="1274" v0="658" v1="659" v2="689" />
+ <triangle index="1275" v0="659" v1="689" v2="690" />
+ <triangle index="1276" v0="659" v1="660" v2="690" />
+ <triangle index="1277" v0="660" v1="690" v2="691" />
+ <triangle index="1278" v0="660" v1="661" v2="691" />
+ <triangle index="1279" v0="661" v1="691" v2="692" />
+ <triangle index="1280" v0="661" v1="662" v2="692" />
+ <triangle index="1281" v0="662" v1="692" v2="693" />
+ <triangle index="1282" v0="662" v1="663" v2="693" />
+ <triangle index="1283" v0="663" v1="693" v2="694" />
+ <triangle index="1284" v0="663" v1="664" v2="694" />
+ <triangle index="1285" v0="664" v1="694" v2="695" />
+ <triangle index="1286" v0="664" v1="665" v2="695" />
+ <triangle index="1287" v0="665" v1="695" v2="696" />
+ <triangle index="1288" v0="665" v1="666" v2="696" />
+ <triangle index="1289" v0="666" v1="696" v2="697" />
+ <triangle index="1290" v0="666" v1="667" v2="697" />
+ <triangle index="1291" v0="667" v1="697" v2="698" />
+ <triangle index="1292" v0="667" v1="668" v2="698" />
+ <triangle index="1293" v0="668" v1="698" v2="699" />
+ <triangle index="1294" v0="668" v1="669" v2="699" />
+ <triangle index="1295" v0="669" v1="699" v2="700" />
+ <triangle index="1296" v0="669" v1="670" v2="700" />
+ <triangle index="1297" v0="670" v1="700" v2="701" />
+ <triangle index="1298" v0="670" v1="671" v2="701" />
+ <triangle index="1299" v0="671" v1="701" v2="702" />
+ <triangle index="1300" v0="671" v1="672" v2="702" />
+ <triangle index="1301" v0="672" v1="702" v2="703" />
+ <triangle index="1302" v0="672" v1="673" v2="703" />
+ <triangle index="1303" v0="673" v1="703" v2="704" />
+ <triangle index="1304" v0="673" v1="674" v2="704" />
+ <triangle index="1305" v0="674" v1="704" v2="705" />
+ <triangle index="1306" v0="674" v1="675" v2="705" />
+ <triangle index="1307" v0="675" v1="705" v2="706" />
+ <triangle index="1308" v0="675" v1="676" v2="706" />
+ <triangle index="1309" v0="676" v1="706" v2="707" />
+ <triangle index="1310" v0="676" v1="677" v2="707" />
+ <triangle index="1311" v0="677" v1="707" v2="708" />
+ <triangle index="1312" v0="677" v1="678" v2="708" />
+ <triangle index="1313" v0="678" v1="708" v2="709" />
+ <triangle index="1314" v0="678" v1="679" v2="709" />
+ <triangle index="1315" v0="679" v1="709" v2="710" />
+ <triangle index="1316" v0="679" v1="680" v2="710" />
+ <triangle index="1317" v0="680" v1="710" v2="711" />
+ <triangle index="1318" v0="680" v1="681" v2="711" />
+ <triangle index="1319" v0="681" v1="711" v2="712" />
+ <triangle index="1320" v0="682" v1="683" v2="713" />
+ <triangle index="1321" v0="683" v1="713" v2="714" />
+ <triangle index="1322" v0="683" v1="684" v2="714" />
+ <triangle index="1323" v0="684" v1="714" v2="715" />
+ <triangle index="1324" v0="684" v1="685" v2="715" />
+ <triangle index="1325" v0="685" v1="715" v2="716" />
+ <triangle index="1326" v0="685" v1="686" v2="716" />
+ <triangle index="1327" v0="686" v1="716" v2="717" />
+ <triangle index="1328" v0="686" v1="687" v2="717" />
+ <triangle index="1329" v0="687" v1="717" v2="718" />
+ <triangle index="1330" v0="687" v1="688" v2="718" />
+ <triangle index="1331" v0="688" v1="718" v2="719" />
+ <triangle index="1332" v0="688" v1="689" v2="719" />
+ <triangle index="1333" v0="689" v1="719" v2="720" />
+ <triangle index="1334" v0="689" v1="690" v2="720" />
+ <triangle index="1335" v0="690" v1="720" v2="721" />
+ <triangle index="1336" v0="690" v1="691" v2="721" />
+ <triangle index="1337" v0="691" v1="721" v2="722" />
+ <triangle index="1338" v0="691" v1="692" v2="722" />
+ <triangle index="1339" v0="692" v1="722" v2="723" />
+ <triangle index="1340" v0="692" v1="693" v2="723" />
+ <triangle index="1341" v0="693" v1="723" v2="724" />
+ <triangle index="1342" v0="693" v1="694" v2="724" />
+ <triangle index="1343" v0="694" v1="724" v2="725" />
+ <triangle index="1344" v0="694" v1="695" v2="725" />
+ <triangle index="1345" v0="695" v1="725" v2="726" />
+ <triangle index="1346" v0="695" v1="696" v2="726" />
+ <triangle index="1347" v0="696" v1="726" v2="727" />
+ <triangle index="1348" v0="696" v1="697" v2="727" />
+ <triangle index="1349" v0="697" v1="727" v2="728" />
+ <triangle index="1350" v0="697" v1="698" v2="728" />
+ <triangle index="1351" v0="698" v1="728" v2="729" />
+ <triangle index="1352" v0="698" v1="699" v2="729" />
+ <triangle index="1353" v0="699" v1="729" v2="730" />
+ <triangle index="1354" v0="699" v1="700" v2="730" />
+ <triangle index="1355" v0="700" v1="730" v2="731" />
+ <triangle index="1356" v0="700" v1="701" v2="731" />
+ <triangle index="1357" v0="701" v1="731" v2="732" />
+ <triangle index="1358" v0="701" v1="702" v2="732" />
+ <triangle index="1359" v0="702" v1="732" v2="733" />
+ <triangle index="1360" v0="702" v1="703" v2="733" />
+ <triangle index="1361" v0="703" v1="733" v2="734" />
+ <triangle index="1362" v0="703" v1="704" v2="734" />
+ <triangle index="1363" v0="704" v1="734" v2="735" />
+ <triangle index="1364" v0="704" v1="705" v2="735" />
+ <triangle index="1365" v0="705" v1="735" v2="736" />
+ <triangle index="1366" v0="705" v1="706" v2="736" />
+ <triangle index="1367" v0="706" v1="736" v2="737" />
+ <triangle index="1368" v0="706" v1="707" v2="737" />
+ <triangle index="1369" v0="707" v1="737" v2="738" />
+ <triangle index="1370" v0="707" v1="708" v2="738" />
+ <triangle index="1371" v0="708" v1="738" v2="739" />
+ <triangle index="1372" v0="708" v1="709" v2="739" />
+ <triangle index="1373" v0="709" v1="739" v2="740" />
+ <triangle index="1374" v0="709" v1="710" v2="740" />
+ <triangle index="1375" v0="710" v1="740" v2="741" />
+ <triangle index="1376" v0="710" v1="711" v2="741" />
+ <triangle index="1377" v0="711" v1="741" v2="742" />
+ <triangle index="1378" v0="711" v1="712" v2="742" />
+ <triangle index="1379" v0="712" v1="742" v2="743" />
+ <triangle index="1380" v0="713" v1="714" v2="744" />
+ <triangle index="1381" v0="714" v1="744" v2="745" />
+ <triangle index="1382" v0="714" v1="715" v2="745" />
+ <triangle index="1383" v0="715" v1="745" v2="746" />
+ <triangle index="1384" v0="715" v1="716" v2="746" />
+ <triangle index="1385" v0="716" v1="746" v2="747" />
+ <triangle index="1386" v0="716" v1="717" v2="747" />
+ <triangle index="1387" v0="717" v1="747" v2="748" />
+ <triangle index="1388" v0="717" v1="718" v2="748" />
+ <triangle index="1389" v0="718" v1="748" v2="749" />
+ <triangle index="1390" v0="718" v1="719" v2="749" />
+ <triangle index="1391" v0="719" v1="749" v2="750" />
+ <triangle index="1392" v0="719" v1="720" v2="750" />
+ <triangle index="1393" v0="720" v1="750" v2="751" />
+ <triangle index="1394" v0="720" v1="721" v2="751" />
+ <triangle index="1395" v0="721" v1="751" v2="752" />
+ <triangle index="1396" v0="721" v1="722" v2="752" />
+ <triangle index="1397" v0="722" v1="752" v2="753" />
+ <triangle index="1398" v0="722" v1="723" v2="753" />
+ <triangle index="1399" v0="723" v1="753" v2="754" />
+ <triangle index="1400" v0="723" v1="724" v2="754" />
+ <triangle index="1401" v0="724" v1="754" v2="755" />
+ <triangle index="1402" v0="724" v1="725" v2="755" />
+ <triangle index="1403" v0="725" v1="755" v2="756" />
+ <triangle index="1404" v0="725" v1="726" v2="756" />
+ <triangle index="1405" v0="726" v1="756" v2="757" />
+ <triangle index="1406" v0="726" v1="727" v2="757" />
+ <triangle index="1407" v0="727" v1="757" v2="758" />
+ <triangle index="1408" v0="727" v1="728" v2="758" />
+ <triangle index="1409" v0="728" v1="758" v2="759" />
+ <triangle index="1410" v0="728" v1="729" v2="759" />
+ <triangle index="1411" v0="729" v1="759" v2="760" />
+ <triangle index="1412" v0="729" v1="730" v2="760" />
+ <triangle index="1413" v0="730" v1="760" v2="761" />
+ <triangle index="1414" v0="730" v1="731" v2="761" />
+ <triangle index="1415" v0="731" v1="761" v2="762" />
+ <triangle index="1416" v0="731" v1="732" v2="762" />
+ <triangle index="1417" v0="732" v1="762" v2="763" />
+ <triangle index="1418" v0="732" v1="733" v2="763" />
+ <triangle index="1419" v0="733" v1="763" v2="764" />
+ <triangle index="1420" v0="733" v1="734" v2="764" />
+ <triangle index="1421" v0="734" v1="764" v2="765" />
+ <triangle index="1422" v0="734" v1="735" v2="765" />
+ <triangle index="1423" v0="735" v1="765" v2="766" />
+ <triangle index="1424" v0="735" v1="736" v2="766" />
+ <triangle index="1425" v0="736" v1="766" v2="767" />
+ <triangle index="1426" v0="736" v1="737" v2="767" />
+ <triangle index="1427" v0="737" v1="767" v2="768" />
+ <triangle index="1428" v0="737" v1="738" v2="768" />
+ <triangle index="1429" v0="738" v1="768" v2="769" />
+ <triangle index="1430" v0="738" v1="739" v2="769" />
+ <triangle index="1431" v0="739" v1="769" v2="770" />
+ <triangle index="1432" v0="739" v1="740" v2="770" />
+ <triangle index="1433" v0="740" v1="770" v2="771" />
+ <triangle index="1434" v0="740" v1="741" v2="771" />
+ <triangle index="1435" v0="741" v1="771" v2="772" />
+ <triangle index="1436" v0="741" v1="742" v2="772" />
+ <triangle index="1437" v0="742" v1="772" v2="773" />
+ <triangle index="1438" v0="742" v1="743" v2="773" />
+ <triangle index="1439" v0="743" v1="773" v2="774" />
+ <triangle index="1440" v0="744" v1="745" v2="775" />
+ <triangle index="1441" v0="745" v1="775" v2="776" />
+ <triangle index="1442" v0="745" v1="746" v2="776" />
+ <triangle index="1443" v0="746" v1="776" v2="777" />
+ <triangle index="1444" v0="746" v1="747" v2="777" />
+ <triangle index="1445" v0="747" v1="777" v2="778" />
+ <triangle index="1446" v0="747" v1="748" v2="778" />
+ <triangle index="1447" v0="748" v1="778" v2="779" />
+ <triangle index="1448" v0="748" v1="749" v2="779" />
+ <triangle index="1449" v0="749" v1="779" v2="780" />
+ <triangle index="1450" v0="749" v1="750" v2="780" />
+ <triangle index="1451" v0="750" v1="780" v2="781" />
+ <triangle index="1452" v0="750" v1="751" v2="781" />
+ <triangle index="1453" v0="751" v1="781" v2="782" />
+ <triangle index="1454" v0="751" v1="752" v2="782" />
+ <triangle index="1455" v0="752" v1="782" v2="783" />
+ <triangle index="1456" v0="752" v1="753" v2="783" />
+ <triangle index="1457" v0="753" v1="783" v2="784" />
+ <triangle index="1458" v0="753" v1="754" v2="784" />
+ <triangle index="1459" v0="754" v1="784" v2="785" />
+ <triangle index="1460" v0="754" v1="755" v2="785" />
+ <triangle index="1461" v0="755" v1="785" v2="786" />
+ <triangle index="1462" v0="755" v1="756" v2="786" />
+ <triangle index="1463" v0="756" v1="786" v2="787" />
+ <triangle index="1464" v0="756" v1="757" v2="787" />
+ <triangle index="1465" v0="757" v1="787" v2="788" />
+ <triangle index="1466" v0="757" v1="758" v2="788" />
+ <triangle index="1467" v0="758" v1="788" v2="789" />
+ <triangle index="1468" v0="758" v1="759" v2="789" />
+ <triangle index="1469" v0="759" v1="789" v2="790" />
+ <triangle index="1470" v0="759" v1="760" v2="790" />
+ <triangle index="1471" v0="760" v1="790" v2="791" />
+ <triangle index="1472" v0="760" v1="761" v2="791" />
+ <triangle index="1473" v0="761" v1="791" v2="792" />
+ <triangle index="1474" v0="761" v1="762" v2="792" />
+ <triangle index="1475" v0="762" v1="792" v2="793" />
+ <triangle index="1476" v0="762" v1="763" v2="793" />
+ <triangle index="1477" v0="763" v1="793" v2="794" />
+ <triangle index="1478" v0="763" v1="764" v2="794" />
+ <triangle index="1479" v0="764" v1="794" v2="795" />
+ <triangle index="1480" v0="764" v1="765" v2="795" />
+ <triangle index="1481" v0="765" v1="795" v2="796" />
+ <triangle index="1482" v0="765" v1="766" v2="796" />
+ <triangle index="1483" v0="766" v1="796" v2="797" />
+ <triangle index="1484" v0="766" v1="767" v2="797" />
+ <triangle index="1485" v0="767" v1="797" v2="798" />
+ <triangle index="1486" v0="767" v1="768" v2="798" />
+ <triangle index="1487" v0="768" v1="798" v2="799" />
+ <triangle index="1488" v0="768" v1="769" v2="799" />
+ <triangle index="1489" v0="769" v1="799" v2="800" />
+ <triangle index="1490" v0="769" v1="770" v2="800" />
+ <triangle index="1491" v0="770" v1="800" v2="801" />
+ <triangle index="1492" v0="770" v1="771" v2="801" />
+ <triangle index="1493" v0="771" v1="801" v2="802" />
+ <triangle index="1494" v0="771" v1="772" v2="802" />
+ <triangle index="1495" v0="772" v1="802" v2="803" />
+ <triangle index="1496" v0="772" v1="773" v2="803" />
+ <triangle index="1497" v0="773" v1="803" v2="804" />
+ <triangle index="1498" v0="773" v1="774" v2="804" />
+ <triangle index="1499" v0="774" v1="804" v2="805" />
+ <triangle index="1500" v0="775" v1="776" v2="806" />
+ <triangle index="1501" v0="776" v1="806" v2="807" />
+ <triangle index="1502" v0="776" v1="777" v2="807" />
+ <triangle index="1503" v0="777" v1="807" v2="808" />
+ <triangle index="1504" v0="777" v1="778" v2="808" />
+ <triangle index="1505" v0="778" v1="808" v2="809" />
+ <triangle index="1506" v0="778" v1="779" v2="809" />
+ <triangle index="1507" v0="779" v1="809" v2="810" />
+ <triangle index="1508" v0="779" v1="780" v2="810" />
+ <triangle index="1509" v0="780" v1="810" v2="811" />
+ <triangle index="1510" v0="780" v1="781" v2="811" />
+ <triangle index="1511" v0="781" v1="811" v2="812" />
+ <triangle index="1512" v0="781" v1="782" v2="812" />
+ <triangle index="1513" v0="782" v1="812" v2="813" />
+ <triangle index="1514" v0="782" v1="783" v2="813" />
+ <triangle index="1515" v0="783" v1="813" v2="814" />
+ <triangle index="1516" v0="783" v1="784" v2="814" />
+ <triangle index="1517" v0="784" v1="814" v2="815" />
+ <triangle index="1518" v0="784" v1="785" v2="815" />
+ <triangle index="1519" v0="785" v1="815" v2="816" />
+ <triangle index="1520" v0="785" v1="786" v2="816" />
+ <triangle index="1521" v0="786" v1="816" v2="817" />
+ <triangle index="1522" v0="786" v1="787" v2="817" />
+ <triangle index="1523" v0="787" v1="817" v2="818" />
+ <triangle index="1524" v0="787" v1="788" v2="818" />
+ <triangle index="1525" v0="788" v1="818" v2="819" />
+ <triangle index="1526" v0="788" v1="789" v2="819" />
+ <triangle index="1527" v0="789" v1="819" v2="820" />
+ <triangle index="1528" v0="789" v1="790" v2="820" />
+ <triangle index="1529" v0="790" v1="820" v2="821" />
+ <triangle index="1530" v0="790" v1="791" v2="821" />
+ <triangle index="1531" v0="791" v1="821" v2="822" />
+ <triangle index="1532" v0="791" v1="792" v2="822" />
+ <triangle index="1533" v0="792" v1="822" v2="823" />
+ <triangle index="1534" v0="792" v1="793" v2="823" />
+ <triangle index="1535" v0="793" v1="823" v2="824" />
+ <triangle index="1536" v0="793" v1="794" v2="824" />
+ <triangle index="1537" v0="794" v1="824" v2="825" />
+ <triangle index="1538" v0="794" v1="795" v2="825" />
+ <triangle index="1539" v0="795" v1="825" v2="826" />
+ <triangle index="1540" v0="795" v1="796" v2="826" />
+ <triangle index="1541" v0="796" v1="826" v2="827" />
+ <triangle index="1542" v0="796" v1="797" v2="827" />
+ <triangle index="1543" v0="797" v1="827" v2="828" />
+ <triangle index="1544" v0="797" v1="798" v2="828" />
+ <triangle index="1545" v0="798" v1="828" v2="829" />
+ <triangle index="1546" v0="798" v1="799" v2="829" />
+ <triangle index="1547" v0="799" v1="829" v2="830" />
+ <triangle index="1548" v0="799" v1="800" v2="830" />
+ <triangle index="1549" v0="800" v1="830" v2="831" />
+ <triangle index="1550" v0="800" v1="801" v2="831" />
+ <triangle index="1551" v0="801" v1="831" v2="832" />
+ <triangle index="1552" v0="801" v1="802" v2="832" />
+ <triangle index="1553" v0="802" v1="832" v2="833" />
+ <triangle index="1554" v0="802" v1="803" v2="833" />
+ <triangle index="1555" v0="803" v1="833" v2="834" />
+ <triangle index="1556" v0="803" v1="804" v2="834" />
+ <triangle index="1557" v0="804" v1="834" v2="835" />
+ <triangle index="1558" v0="804" v1="805" v2="835" />
+ <triangle index="1559" v0="805" v1="835" v2="836" />
+ <triangle index="1560" v0="806" v1="807" v2="837" />
+ <triangle index="1561" v0="807" v1="837" v2="838" />
+ <triangle index="1562" v0="807" v1="808" v2="838" />
+ <triangle index="1563" v0="808" v1="838" v2="839" />
+ <triangle index="1564" v0="808" v1="809" v2="839" />
+ <triangle index="1565" v0="809" v1="839" v2="840" />
+ <triangle index="1566" v0="809" v1="810" v2="840" />
+ <triangle index="1567" v0="810" v1="840" v2="841" />
+ <triangle index="1568" v0="810" v1="811" v2="841" />
+ <triangle index="1569" v0="811" v1="841" v2="842" />
+ <triangle index="1570" v0="811" v1="812" v2="842" />
+ <triangle index="1571" v0="812" v1="842" v2="843" />
+ <triangle index="1572" v0="812" v1="813" v2="843" />
+ <triangle index="1573" v0="813" v1="843" v2="844" />
+ <triangle index="1574" v0="813" v1="814" v2="844" />
+ <triangle index="1575" v0="814" v1="844" v2="845" />
+ <triangle index="1576" v0="814" v1="815" v2="845" />
+ <triangle index="1577" v0="815" v1="845" v2="846" />
+ <triangle index="1578" v0="815" v1="816" v2="846" />
+ <triangle index="1579" v0="816" v1="846" v2="847" />
+ <triangle index="1580" v0="816" v1="817" v2="847" />
+ <triangle index="1581" v0="817" v1="847" v2="848" />
+ <triangle index="1582" v0="817" v1="818" v2="848" />
+ <triangle index="1583" v0="818" v1="848" v2="849" />
+ <triangle index="1584" v0="818" v1="819" v2="849" />
+ <triangle index="1585" v0="819" v1="849" v2="850" />
+ <triangle index="1586" v0="819" v1="820" v2="850" />
+ <triangle index="1587" v0="820" v1="850" v2="851" />
+ <triangle index="1588" v0="820" v1="821" v2="851" />
+ <triangle index="1589" v0="821" v1="851" v2="852" />
+ <triangle index="1590" v0="821" v1="822" v2="852" />
+ <triangle index="1591" v0="822" v1="852" v2="853" />
+ <triangle index="1592" v0="822" v1="823" v2="853" />
+ <triangle index="1593" v0="823" v1="853" v2="854" />
+ <triangle index="1594" v0="823" v1="824" v2="854" />
+ <triangle index="1595" v0="824" v1="854" v2="855" />
+ <triangle index="1596" v0="824" v1="825" v2="855" />
+ <triangle index="1597" v0="825" v1="855" v2="856" />
+ <triangle index="1598" v0="825" v1="826" v2="856" />
+ <triangle index="1599" v0="826" v1="856" v2="857" />
+ <triangle index="1600" v0="826" v1="827" v2="857" />
+ <triangle index="1601" v0="827" v1="857" v2="858" />
+ <triangle index="1602" v0="827" v1="828" v2="858" />
+ <triangle index="1603" v0="828" v1="858" v2="859" />
+ <triangle index="1604" v0="828" v1="829" v2="859" />
+ <triangle index="1605" v0="829" v1="859" v2="860" />
+ <triangle index="1606" v0="829" v1="830" v2="860" />
+ <triangle index="1607" v0="830" v1="860" v2="861" />
+ <triangle index="1608" v0="830" v1="831" v2="861" />
+ <triangle index="1609" v0="831" v1="861" v2="862" />
+ <triangle index="1610" v0="831" v1="832" v2="862" />
+ <triangle index="1611" v0="832" v1="862" v2="863" />
+ <triangle index="1612" v0="832" v1="833" v2="863" />
+ <triangle index="1613" v0="833" v1="863" v2="864" />
+ <triangle index="1614" v0="833" v1="834" v2="864" />
+ <triangle index="1615" v0="834" v1="864" v2="865" />
+ <triangle index="1616" v0="834" v1="835" v2="865" />
+ <triangle index="1617" v0="835" v1="865" v2="866" />
+ <triangle index="1618" v0="835" v1="836" v2="866" />
+ <triangle index="1619" v0="836" v1="866" v2="867" />
+ <triangle index="1620" v0="837" v1="838" v2="868" />
+ <triangle index="1621" v0="838" v1="868" v2="869" />
+ <triangle index="1622" v0="838" v1="839" v2="869" />
+ <triangle index="1623" v0="839" v1="869" v2="870" />
+ <triangle index="1624" v0="839" v1="840" v2="870" />
+ <triangle index="1625" v0="840" v1="870" v2="871" />
+ <triangle index="1626" v0="840" v1="841" v2="871" />
+ <triangle index="1627" v0="841" v1="871" v2="872" />
+ <triangle index="1628" v0="841" v1="842" v2="872" />
+ <triangle index="1629" v0="842" v1="872" v2="873" />
+ <triangle index="1630" v0="842" v1="843" v2="873" />
+ <triangle index="1631" v0="843" v1="873" v2="874" />
+ <triangle index="1632" v0="843" v1="844" v2="874" />
+ <triangle index="1633" v0="844" v1="874" v2="875" />
+ <triangle index="1634" v0="844" v1="845" v2="875" />
+ <triangle index="1635" v0="845" v1="875" v2="876" />
+ <triangle index="1636" v0="845" v1="846" v2="876" />
+ <triangle index="1637" v0="846" v1="876" v2="877" />
+ <triangle index="1638" v0="846" v1="847" v2="877" />
+ <triangle index="1639" v0="847" v1="877" v2="878" />
+ <triangle index="1640" v0="847" v1="848" v2="878" />
+ <triangle index="1641" v0="848" v1="878" v2="879" />
+ <triangle index="1642" v0="848" v1="849" v2="879" />
+ <triangle index="1643" v0="849" v1="879" v2="880" />
+ <triangle index="1644" v0="849" v1="850" v2="880" />
+ <triangle index="1645" v0="850" v1="880" v2="881" />
+ <triangle index="1646" v0="850" v1="851" v2="881" />
+ <triangle index="1647" v0="851" v1="881" v2="882" />
+ <triangle index="1648" v0="851" v1="852" v2="882" />
+ <triangle index="1649" v0="852" v1="882" v2="883" />
+ <triangle index="1650" v0="852" v1="853" v2="883" />
+ <triangle index="1651" v0="853" v1="883" v2="884" />
+ <triangle index="1652" v0="853" v1="854" v2="884" />
+ <triangle index="1653" v0="854" v1="884" v2="885" />
+ <triangle index="1654" v0="854" v1="855" v2="885" />
+ <triangle index="1655" v0="855" v1="885" v2="886" />
+ <triangle index="1656" v0="855" v1="856" v2="886" />
+ <triangle index="1657" v0="856" v1="886" v2="887" />
+ <triangle index="1658" v0="856" v1="857" v2="887" />
+ <triangle index="1659" v0="857" v1="887" v2="888" />
+ <triangle index="1660" v0="857" v1="858" v2="888" />
+ <triangle index="1661" v0="858" v1="888" v2="889" />
+ <triangle index="1662" v0="858" v1="859" v2="889" />
+ <triangle index="1663" v0="859" v1="889" v2="890" />
+ <triangle index="1664" v0="859" v1="860" v2="890" />
+ <triangle index="1665" v0="860" v1="890" v2="891" />
+ <triangle index="1666" v0="860" v1="861" v2="891" />
+ <triangle index="1667" v0="861" v1="891" v2="892" />
+ <triangle index="1668" v0="861" v1="862" v2="892" />
+ <triangle index="1669" v0="862" v1="892" v2="893" />
+ <triangle index="1670" v0="862" v1="863" v2="893" />
+ <triangle index="1671" v0="863" v1="893" v2="894" />
+ <triangle index="1672" v0="863" v1="864" v2="894" />
+ <triangle index="1673" v0="864" v1="894" v2="895" />
+ <triangle index="1674" v0="864" v1="865" v2="895" />
+ <triangle index="1675" v0="865" v1="895" v2="896" />
+ <triangle index="1676" v0="865" v1="866" v2="896" />
+ <triangle index="1677" v0="866" v1="896" v2="897" />
+ <triangle index="1678" v0="866" v1="867" v2="897" />
+ <triangle index="1679" v0="867" v1="897" v2="898" />
+ <triangle index="1680" v0="868" v1="869" v2="899" />
+ <triangle index="1681" v0="869" v1="899" v2="900" />
+ <triangle index="1682" v0="869" v1="870" v2="900" />
+ <triangle index="1683" v0="870" v1="900" v2="901" />
+ <triangle index="1684" v0="870" v1="871" v2="901" />
+ <triangle index="1685" v0="871" v1="901" v2="902" />
+ <triangle index="1686" v0="871" v1="872" v2="902" />
+ <triangle index="1687" v0="872" v1="902" v2="903" />
+ <triangle index="1688" v0="872" v1="873" v2="903" />
+ <triangle index="1689" v0="873" v1="903" v2="904" />
+ <triangle index="1690" v0="873" v1="874" v2="904" />
+ <triangle index="1691" v0="874" v1="904" v2="905" />
+ <triangle index="1692" v0="874" v1="875" v2="905" />
+ <triangle index="1693" v0="875" v1="905" v2="906" />
+ <triangle index="1694" v0="875" v1="876" v2="906" />
+ <triangle index="1695" v0="876" v1="906" v2="907" />
+ <triangle index="1696" v0="876" v1="877" v2="907" />
+ <triangle index="1697" v0="877" v1="907" v2="908" />
+ <triangle index="1698" v0="877" v1="878" v2="908" />
+ <triangle index="1699" v0="878" v1="908" v2="909" />
+ <triangle index="1700" v0="878" v1="879" v2="909" />
+ <triangle index="1701" v0="879" v1="909" v2="910" />
+ <triangle index="1702" v0="879" v1="880" v2="910" />
+ <triangle index="1703" v0="880" v1="910" v2="911" />
+ <triangle index="1704" v0="880" v1="881" v2="911" />
+ <triangle index="1705" v0="881" v1="911" v2="912" />
+ <triangle index="1706" v0="881" v1="882" v2="912" />
+ <triangle index="1707" v0="882" v1="912" v2="913" />
+ <triangle index="1708" v0="882" v1="883" v2="913" />
+ <triangle index="1709" v0="883" v1="913" v2="914" />
+ <triangle index="1710" v0="883" v1="884" v2="914" />
+ <triangle index="1711" v0="884" v1="914" v2="915" />
+ <triangle index="1712" v0="884" v1="885" v2="915" />
+ <triangle index="1713" v0="885" v1="915" v2="916" />
+ <triangle index="1714" v0="885" v1="886" v2="916" />
+ <triangle index="1715" v0="886" v1="916" v2="917" />
+ <triangle index="1716" v0="886" v1="887" v2="917" />
+ <triangle index="1717" v0="887" v1="917" v2="918" />
+ <triangle index="1718" v0="887" v1="888" v2="918" />
+ <triangle index="1719" v0="888" v1="918" v2="919" />
+ <triangle index="1720" v0="888" v1="889" v2="919" />
+ <triangle index="1721" v0="889" v1="919" v2="920" />
+ <triangle index="1722" v0="889" v1="890" v2="920" />
+ <triangle index="1723" v0="890" v1="920" v2="921" />
+ <triangle index="1724" v0="890" v1="891" v2="921" />
+ <triangle index="1725" v0="891" v1="921" v2="922" />
+ <triangle index="1726" v0="891" v1="892" v2="922" />
+ <triangle index="1727" v0="892" v1="922" v2="923" />
+ <triangle index="1728" v0="892" v1="893" v2="923" />
+ <triangle index="1729" v0="893" v1="923" v2="924" />
+ <triangle index="1730" v0="893" v1="894" v2="924" />
+ <triangle index="1731" v0="894" v1="924" v2="925" />
+ <triangle index="1732" v0="894" v1="895" v2="925" />
+ <triangle index="1733" v0="895" v1="925" v2="926" />
+ <triangle index="1734" v0="895" v1="896" v2="926" />
+ <triangle index="1735" v0="896" v1="926" v2="927" />
+ <triangle index="1736" v0="896" v1="897" v2="927" />
+ <triangle index="1737" v0="897" v1="927" v2="928" />
+ <triangle index="1738" v0="897" v1="898" v2="928" />
+ <triangle index="1739" v0="898" v1="928" v2="929" />
+ <triangle index="1740" v0="899" v1="900" v2="930" />
+ <triangle index="1741" v0="900" v1="930" v2="931" />
+ <triangle index="1742" v0="900" v1="901" v2="931" />
+ <triangle index="1743" v0="901" v1="931" v2="932" />
+ <triangle index="1744" v0="901" v1="902" v2="932" />
+ <triangle index="1745" v0="902" v1="932" v2="933" />
+ <triangle index="1746" v0="902" v1="903" v2="933" />
+ <triangle index="1747" v0="903" v1="933" v2="934" />
+ <triangle index="1748" v0="903" v1="904" v2="934" />
+ <triangle index="1749" v0="904" v1="934" v2="935" />
+ <triangle index="1750" v0="904" v1="905" v2="935" />
+ <triangle index="1751" v0="905" v1="935" v2="936" />
+ <triangle index="1752" v0="905" v1="906" v2="936" />
+ <triangle index="1753" v0="906" v1="936" v2="937" />
+ <triangle index="1754" v0="906" v1="907" v2="937" />
+ <triangle index="1755" v0="907" v1="937" v2="938" />
+ <triangle index="1756" v0="907" v1="908" v2="938" />
+ <triangle index="1757" v0="908" v1="938" v2="939" />
+ <triangle index="1758" v0="908" v1="909" v2="939" />
+ <triangle index="1759" v0="909" v1="939" v2="940" />
+ <triangle index="1760" v0="909" v1="910" v2="940" />
+ <triangle index="1761" v0="910" v1="940" v2="941" />
+ <triangle index="1762" v0="910" v1="911" v2="941" />
+ <triangle index="1763" v0="911" v1="941" v2="942" />
+ <triangle index="1764" v0="911" v1="912" v2="942" />
+ <triangle index="1765" v0="912" v1="942" v2="943" />
+ <triangle index="1766" v0="912" v1="913" v2="943" />
+ <triangle index="1767" v0="913" v1="943" v2="944" />
+ <triangle index="1768" v0="913" v1="914" v2="944" />
+ <triangle index="1769" v0="914" v1="944" v2="945" />
+ <triangle index="1770" v0="914" v1="915" v2="945" />
+ <triangle index="1771" v0="915" v1="945" v2="946" />
+ <triangle index="1772" v0="915" v1="916" v2="946" />
+ <triangle index="1773" v0="916" v1="946" v2="947" />
+ <triangle index="1774" v0="916" v1="917" v2="947" />
+ <triangle index="1775" v0="917" v1="947" v2="948" />
+ <triangle index="1776" v0="917" v1="918" v2="948" />
+ <triangle index="1777" v0="918" v1="948" v2="949" />
+ <triangle index="1778" v0="918" v1="919" v2="949" />
+ <triangle index="1779" v0="919" v1="949" v2="950" />
+ <triangle index="1780" v0="919" v1="920" v2="950" />
+ <triangle index="1781" v0="920" v1="950" v2="951" />
+ <triangle index="1782" v0="920" v1="921" v2="951" />
+ <triangle index="1783" v0="921" v1="951" v2="952" />
+ <triangle index="1784" v0="921" v1="922" v2="952" />
+ <triangle index="1785" v0="922" v1="952" v2="953" />
+ <triangle index="1786" v0="922" v1="923" v2="953" />
+ <triangle index="1787" v0="923" v1="953" v2="954" />
+ <triangle index="1788" v0="923" v1="924" v2="954" />
+ <triangle index="1789" v0="924" v1="954" v2="955" />
+ <triangle index="1790" v0="924" v1="925" v2="955" />
+ <triangle index="1791" v0="925" v1="955" v2="956" />
+ <triangle index="1792" v0="925" v1="926" v2="956" />
+ <triangle index="1793" v0="926" v1="956" v2="957" />
+ <triangle index="1794" v0="926" v1="927" v2="957" />
+ <triangle index="1795" v0="927" v1="957" v2="958" />
+ <triangle index="1796" v0="927" v1="928" v2="958" />
+ <triangle index="1797" v0="928" v1="958" v2="959" />
+ <triangle index="1798" v0="928" v1="929" v2="959" />
+ <triangle index="1799" v0="929" v1="959" v2="960" />
+ <triangle index="1800" v0="961" v1="962" v2="992" />
+ <triangle index="1801" v0="962" v1="992" v2="993" />
+ <triangle index="1802" v0="962" v1="963" v2="993" />
+ <triangle index="1803" v0="963" v1="993" v2="994" />
+ <triangle index="1804" v0="963" v1="964" v2="994" />
+ <triangle index="1805" v0="964" v1="994" v2="995" />
+ <triangle index="1806" v0="964" v1="965" v2="995" />
+ <triangle index="1807" v0="965" v1="995" v2="996" />
+ <triangle index="1808" v0="965" v1="966" v2="996" />
+ <triangle index="1809" v0="966" v1="996" v2="997" />
+ <triangle index="1810" v0="966" v1="967" v2="997" />
+ <triangle index="1811" v0="967" v1="997" v2="998" />
+ <triangle index="1812" v0="967" v1="968" v2="998" />
+ <triangle index="1813" v0="968" v1="998" v2="999" />
+ <triangle index="1814" v0="968" v1="969" v2="999" />
+ <triangle index="1815" v0="969" v1="999" v2="1000" />
+ <triangle index="1816" v0="969" v1="970" v2="1000" />
+ <triangle index="1817" v0="970" v1="1000" v2="1001" />
+ <triangle index="1818" v0="970" v1="971" v2="1001" />
+ <triangle index="1819" v0="971" v1="1001" v2="1002" />
+ <triangle index="1820" v0="971" v1="972" v2="1002" />
+ <triangle index="1821" v0="972" v1="1002" v2="1003" />
+ <triangle index="1822" v0="972" v1="973" v2="1003" />
+ <triangle index="1823" v0="973" v1="1003" v2="1004" />
+ <triangle index="1824" v0="973" v1="974" v2="1004" />
+ <triangle index="1825" v0="974" v1="1004" v2="1005" />
+ <triangle index="1826" v0="974" v1="975" v2="1005" />
+ <triangle index="1827" v0="975" v1="1005" v2="1006" />
+ <triangle index="1828" v0="975" v1="976" v2="1006" />
+ <triangle index="1829" v0="976" v1="1006" v2="1007" />
+ <triangle index="1830" v0="976" v1="977" v2="1007" />
+ <triangle index="1831" v0="977" v1="1007" v2="1008" />
+ <triangle index="1832" v0="977" v1="978" v2="1008" />
+ <triangle index="1833" v0="978" v1="1008" v2="1009" />
+ <triangle index="1834" v0="978" v1="979" v2="1009" />
+ <triangle index="1835" v0="979" v1="1009" v2="1010" />
+ <triangle index="1836" v0="979" v1="980" v2="1010" />
+ <triangle index="1837" v0="980" v1="1010" v2="1011" />
+ <triangle index="1838" v0="980" v1="981" v2="1011" />
+ <triangle index="1839" v0="981" v1="1011" v2="1012" />
+ <triangle index="1840" v0="981" v1="982" v2="1012" />
+ <triangle index="1841" v0="982" v1="1012" v2="1013" />
+ <triangle index="1842" v0="982" v1="983" v2="1013" />
+ <triangle index="1843" v0="983" v1="1013" v2="1014" />
+ <triangle index="1844" v0="983" v1="984" v2="1014" />
+ <triangle index="1845" v0="984" v1="1014" v2="1015" />
+ <triangle index="1846" v0="984" v1="985" v2="1015" />
+ <triangle index="1847" v0="985" v1="1015" v2="1016" />
+ <triangle index="1848" v0="985" v1="986" v2="1016" />
+ <triangle index="1849" v0="986" v1="1016" v2="1017" />
+ <triangle index="1850" v0="986" v1="987" v2="1017" />
+ <triangle index="1851" v0="987" v1="1017" v2="1018" />
+ <triangle index="1852" v0="987" v1="988" v2="1018" />
+ <triangle index="1853" v0="988" v1="1018" v2="1019" />
+ <triangle index="1854" v0="988" v1="989" v2="1019" />
+ <triangle index="1855" v0="989" v1="1019" v2="1020" />
+ <triangle index="1856" v0="989" v1="990" v2="1020" />
+ <triangle index="1857" v0="990" v1="1020" v2="1021" />
+ <triangle index="1858" v0="990" v1="991" v2="1021" />
+ <triangle index="1859" v0="991" v1="1021" v2="1022" />
+ <triangle index="1860" v0="992" v1="993" v2="1023" />
+ <triangle index="1861" v0="993" v1="1023" v2="1024" />
+ <triangle index="1862" v0="993" v1="994" v2="1024" />
+ <triangle index="1863" v0="994" v1="1024" v2="1025" />
+ <triangle index="1864" v0="994" v1="995" v2="1025" />
+ <triangle index="1865" v0="995" v1="1025" v2="1026" />
+ <triangle index="1866" v0="995" v1="996" v2="1026" />
+ <triangle index="1867" v0="996" v1="1026" v2="1027" />
+ <triangle index="1868" v0="996" v1="997" v2="1027" />
+ <triangle index="1869" v0="997" v1="1027" v2="1028" />
+ <triangle index="1870" v0="997" v1="998" v2="1028" />
+ <triangle index="1871" v0="998" v1="1028" v2="1029" />
+ <triangle index="1872" v0="998" v1="999" v2="1029" />
+ <triangle index="1873" v0="999" v1="1029" v2="1030" />
+ <triangle index="1874" v0="999" v1="1000" v2="1030" />
+ <triangle index="1875" v0="1000" v1="1030" v2="1031" />
+ <triangle index="1876" v0="1000" v1="1001" v2="1031" />
+ <triangle index="1877" v0="1001" v1="1031" v2="1032" />
+ <triangle index="1878" v0="1001" v1="1002" v2="1032" />
+ <triangle index="1879" v0="1002" v1="1032" v2="1033" />
+ <triangle index="1880" v0="1002" v1="1003" v2="1033" />
+ <triangle index="1881" v0="1003" v1="1033" v2="1034" />
+ <triangle index="1882" v0="1003" v1="1004" v2="1034" />
+ <triangle index="1883" v0="1004" v1="1034" v2="1035" />
+ <triangle index="1884" v0="1004" v1="1005" v2="1035" />
+ <triangle index="1885" v0="1005" v1="1035" v2="1036" />
+ <triangle index="1886" v0="1005" v1="1006" v2="1036" />
+ <triangle index="1887" v0="1006" v1="1036" v2="1037" />
+ <triangle index="1888" v0="1006" v1="1007" v2="1037" />
+ <triangle index="1889" v0="1007" v1="1037" v2="1038" />
+ <triangle index="1890" v0="1007" v1="1008" v2="1038" />
+ <triangle index="1891" v0="1008" v1="1038" v2="1039" />
+ <triangle index="1892" v0="1008" v1="1009" v2="1039" />
+ <triangle index="1893" v0="1009" v1="1039" v2="1040" />
+ <triangle index="1894" v0="1009" v1="1010" v2="1040" />
+ <triangle index="1895" v0="1010" v1="1040" v2="1041" />
+ <triangle index="1896" v0="1010" v1="1011" v2="1041" />
+ <triangle index="1897" v0="1011" v1="1041" v2="1042" />
+ <triangle index="1898" v0="1011" v1="1012" v2="1042" />
+ <triangle index="1899" v0="1012" v1="1042" v2="1043" />
+ <triangle index="1900" v0="1012" v1="1013" v2="1043" />
+ <triangle index="1901" v0="1013" v1="1043" v2="1044" />
+ <triangle index="1902" v0="1013" v1="1014" v2="1044" />
+ <triangle index="1903" v0="1014" v1="1044" v2="1045" />
+ <triangle index="1904" v0="1014" v1="1015" v2="1045" />
+ <triangle index="1905" v0="1015" v1="1045" v2="1046" />
+ <triangle index="1906" v0="1015" v1="1016" v2="1046" />
+ <triangle index="1907" v0="1016" v1="1046" v2="1047" />
+ <triangle index="1908" v0="1016" v1="1017" v2="1047" />
+ <triangle index="1909" v0="1017" v1="1047" v2="1048" />
+ <triangle index="1910" v0="1017" v1="1018" v2="1048" />
+ <triangle index="1911" v0="1018" v1="1048" v2="1049" />
+ <triangle index="1912" v0="1018" v1="1019" v2="1049" />
+ <triangle index="1913" v0="1019" v1="1049" v2="1050" />
+ <triangle index="1914" v0="1019" v1="1020" v2="1050" />
+ <triangle index="1915" v0="1020" v1="1050" v2="1051" />
+ <triangle index="1916" v0="1020" v1="1021" v2="1051" />
+ <triangle index="1917" v0="1021" v1="1051" v2="1052" />
+ <triangle index="1918" v0="1021" v1="1022" v2="1052" />
+ <triangle index="1919" v0="1022" v1="1052" v2="1053" />
+ <triangle index="1920" v0="1023" v1="1024" v2="1054" />
+ <triangle index="1921" v0="1024" v1="1054" v2="1055" />
+ <triangle index="1922" v0="1024" v1="1025" v2="1055" />
+ <triangle index="1923" v0="1025" v1="1055" v2="1056" />
+ <triangle index="1924" v0="1025" v1="1026" v2="1056" />
+ <triangle index="1925" v0="1026" v1="1056" v2="1057" />
+ <triangle index="1926" v0="1026" v1="1027" v2="1057" />
+ <triangle index="1927" v0="1027" v1="1057" v2="1058" />
+ <triangle index="1928" v0="1027" v1="1028" v2="1058" />
+ <triangle index="1929" v0="1028" v1="1058" v2="1059" />
+ <triangle index="1930" v0="1028" v1="1029" v2="1059" />
+ <triangle index="1931" v0="1029" v1="1059" v2="1060" />
+ <triangle index="1932" v0="1029" v1="1030" v2="1060" />
+ <triangle index="1933" v0="1030" v1="1060" v2="1061" />
+ <triangle index="1934" v0="1030" v1="1031" v2="1061" />
+ <triangle index="1935" v0="1031" v1="1061" v2="1062" />
+ <triangle index="1936" v0="1031" v1="1032" v2="1062" />
+ <triangle index="1937" v0="1032" v1="1062" v2="1063" />
+ <triangle index="1938" v0="1032" v1="1033" v2="1063" />
+ <triangle index="1939" v0="1033" v1="1063" v2="1064" />
+ <triangle index="1940" v0="1033" v1="1034" v2="1064" />
+ <triangle index="1941" v0="1034" v1="1064" v2="1065" />
+ <triangle index="1942" v0="1034" v1="1035" v2="1065" />
+ <triangle index="1943" v0="1035" v1="1065" v2="1066" />
+ <triangle index="1944" v0="1035" v1="1036" v2="1066" />
+ <triangle index="1945" v0="1036" v1="1066" v2="1067" />
+ <triangle index="1946" v0="1036" v1="1037" v2="1067" />
+ <triangle index="1947" v0="1037" v1="1067" v2="1068" />
+ <triangle index="1948" v0="1037" v1="1038" v2="1068" />
+ <triangle index="1949" v0="1038" v1="1068" v2="1069" />
+ <triangle index="1950" v0="1038" v1="1039" v2="1069" />
+ <triangle index="1951" v0="1039" v1="1069" v2="1070" />
+ <triangle index="1952" v0="1039" v1="1040" v2="1070" />
+ <triangle index="1953" v0="1040" v1="1070" v2="1071" />
+ <triangle index="1954" v0="1040" v1="1041" v2="1071" />
+ <triangle index="1955" v0="1041" v1="1071" v2="1072" />
+ <triangle index="1956" v0="1041" v1="1042" v2="1072" />
+ <triangle index="1957" v0="1042" v1="1072" v2="1073" />
+ <triangle index="1958" v0="1042" v1="1043" v2="1073" />
+ <triangle index="1959" v0="1043" v1="1073" v2="1074" />
+ <triangle index="1960" v0="1043" v1="1044" v2="1074" />
+ <triangle index="1961" v0="1044" v1="1074" v2="1075" />
+ <triangle index="1962" v0="1044" v1="1045" v2="1075" />
+ <triangle index="1963" v0="1045" v1="1075" v2="1076" />
+ <triangle index="1964" v0="1045" v1="1046" v2="1076" />
+ <triangle index="1965" v0="1046" v1="1076" v2="1077" />
+ <triangle index="1966" v0="1046" v1="1047" v2="1077" />
+ <triangle index="1967" v0="1047" v1="1077" v2="1078" />
+ <triangle index="1968" v0="1047" v1="1048" v2="1078" />
+ <triangle index="1969" v0="1048" v1="1078" v2="1079" />
+ <triangle index="1970" v0="1048" v1="1049" v2="1079" />
+ <triangle index="1971" v0="1049" v1="1079" v2="1080" />
+ <triangle index="1972" v0="1049" v1="1050" v2="1080" />
+ <triangle index="1973" v0="1050" v1="1080" v2="1081" />
+ <triangle index="1974" v0="1050" v1="1051" v2="1081" />
+ <triangle index="1975" v0="1051" v1="1081" v2="1082" />
+ <triangle index="1976" v0="1051" v1="1052" v2="1082" />
+ <triangle index="1977" v0="1052" v1="1082" v2="1083" />
+ <triangle index="1978" v0="1052" v1="1053" v2="1083" />
+ <triangle index="1979" v0="1053" v1="1083" v2="1084" />
+ <triangle index="1980" v0="1054" v1="1055" v2="1085" />
+ <triangle index="1981" v0="1055" v1="1085" v2="1086" />
+ <triangle index="1982" v0="1055" v1="1056" v2="1086" />
+ <triangle index="1983" v0="1056" v1="1086" v2="1087" />
+ <triangle index="1984" v0="1056" v1="1057" v2="1087" />
+ <triangle index="1985" v0="1057" v1="1087" v2="1088" />
+ <triangle index="1986" v0="1057" v1="1058" v2="1088" />
+ <triangle index="1987" v0="1058" v1="1088" v2="1089" />
+ <triangle index="1988" v0="1058" v1="1059" v2="1089" />
+ <triangle index="1989" v0="1059" v1="1089" v2="1090" />
+ <triangle index="1990" v0="1059" v1="1060" v2="1090" />
+ <triangle index="1991" v0="1060" v1="1090" v2="1091" />
+ <triangle index="1992" v0="1060" v1="1061" v2="1091" />
+ <triangle index="1993" v0="1061" v1="1091" v2="1092" />
+ <triangle index="1994" v0="1061" v1="1062" v2="1092" />
+ <triangle index="1995" v0="1062" v1="1092" v2="1093" />
+ <triangle index="1996" v0="1062" v1="1063" v2="1093" />
+ <triangle index="1997" v0="1063" v1="1093" v2="1094" />
+ <triangle index="1998" v0="1063" v1="1064" v2="1094" />
+ <triangle index="1999" v0="1064" v1="1094" v2="1095" />
+ <triangle index="2000" v0="1064" v1="1065" v2="1095" />
+ <triangle index="2001" v0="1065" v1="1095" v2="1096" />
+ <triangle index="2002" v0="1065" v1="1066" v2="1096" />
+ <triangle index="2003" v0="1066" v1="1096" v2="1097" />
+ <triangle index="2004" v0="1066" v1="1067" v2="1097" />
+ <triangle index="2005" v0="1067" v1="1097" v2="1098" />
+ <triangle index="2006" v0="1067" v1="1068" v2="1098" />
+ <triangle index="2007" v0="1068" v1="1098" v2="1099" />
+ <triangle index="2008" v0="1068" v1="1069" v2="1099" />
+ <triangle index="2009" v0="1069" v1="1099" v2="1100" />
+ <triangle index="2010" v0="1069" v1="1070" v2="1100" />
+ <triangle index="2011" v0="1070" v1="1100" v2="1101" />
+ <triangle index="2012" v0="1070" v1="1071" v2="1101" />
+ <triangle index="2013" v0="1071" v1="1101" v2="1102" />
+ <triangle index="2014" v0="1071" v1="1072" v2="1102" />
+ <triangle index="2015" v0="1072" v1="1102" v2="1103" />
+ <triangle index="2016" v0="1072" v1="1073" v2="1103" />
+ <triangle index="2017" v0="1073" v1="1103" v2="1104" />
+ <triangle index="2018" v0="1073" v1="1074" v2="1104" />
+ <triangle index="2019" v0="1074" v1="1104" v2="1105" />
+ <triangle index="2020" v0="1074" v1="1075" v2="1105" />
+ <triangle index="2021" v0="1075" v1="1105" v2="1106" />
+ <triangle index="2022" v0="1075" v1="1076" v2="1106" />
+ <triangle index="2023" v0="1076" v1="1106" v2="1107" />
+ <triangle index="2024" v0="1076" v1="1077" v2="1107" />
+ <triangle index="2025" v0="1077" v1="1107" v2="1108" />
+ <triangle index="2026" v0="1077" v1="1078" v2="1108" />
+ <triangle index="2027" v0="1078" v1="1108" v2="1109" />
+ <triangle index="2028" v0="1078" v1="1079" v2="1109" />
+ <triangle index="2029" v0="1079" v1="1109" v2="1110" />
+ <triangle index="2030" v0="1079" v1="1080" v2="1110" />
+ <triangle index="2031" v0="1080" v1="1110" v2="1111" />
+ <triangle index="2032" v0="1080" v1="1081" v2="1111" />
+ <triangle index="2033" v0="1081" v1="1111" v2="1112" />
+ <triangle index="2034" v0="1081" v1="1082" v2="1112" />
+ <triangle index="2035" v0="1082" v1="1112" v2="1113" />
+ <triangle index="2036" v0="1082" v1="1083" v2="1113" />
+ <triangle index="2037" v0="1083" v1="1113" v2="1114" />
+ <triangle index="2038" v0="1083" v1="1084" v2="1114" />
+ <triangle index="2039" v0="1084" v1="1114" v2="1115" />
+ <triangle index="2040" v0="1085" v1="1086" v2="1116" />
+ <triangle index="2041" v0="1086" v1="1116" v2="1117" />
+ <triangle index="2042" v0="1086" v1="1087" v2="1117" />
+ <triangle index="2043" v0="1087" v1="1117" v2="1118" />
+ <triangle index="2044" v0="1087" v1="1088" v2="1118" />
+ <triangle index="2045" v0="1088" v1="1118" v2="1119" />
+ <triangle index="2046" v0="1088" v1="1089" v2="1119" />
+ <triangle index="2047" v0="1089" v1="1119" v2="1120" />
+ <triangle index="2048" v0="1089" v1="1090" v2="1120" />
+ <triangle index="2049" v0="1090" v1="1120" v2="1121" />
+ <triangle index="2050" v0="1090" v1="1091" v2="1121" />
+ <triangle index="2051" v0="1091" v1="1121" v2="1122" />
+ <triangle index="2052" v0="1091" v1="1092" v2="1122" />
+ <triangle index="2053" v0="1092" v1="1122" v2="1123" />
+ <triangle index="2054" v0="1092" v1="1093" v2="1123" />
+ <triangle index="2055" v0="1093" v1="1123" v2="1124" />
+ <triangle index="2056" v0="1093" v1="1094" v2="1124" />
+ <triangle index="2057" v0="1094" v1="1124" v2="1125" />
+ <triangle index="2058" v0="1094" v1="1095" v2="1125" />
+ <triangle index="2059" v0="1095" v1="1125" v2="1126" />
+ <triangle index="2060" v0="1095" v1="1096" v2="1126" />
+ <triangle index="2061" v0="1096" v1="1126" v2="1127" />
+ <triangle index="2062" v0="1096" v1="1097" v2="1127" />
+ <triangle index="2063" v0="1097" v1="1127" v2="1128" />
+ <triangle index="2064" v0="1097" v1="1098" v2="1128" />
+ <triangle index="2065" v0="1098" v1="1128" v2="1129" />
+ <triangle index="2066" v0="1098" v1="1099" v2="1129" />
+ <triangle index="2067" v0="1099" v1="1129" v2="1130" />
+ <triangle index="2068" v0="1099" v1="1100" v2="1130" />
+ <triangle index="2069" v0="1100" v1="1130" v2="1131" />
+ <triangle index="2070" v0="1100" v1="1101" v2="1131" />
+ <triangle index="2071" v0="1101" v1="1131" v2="1132" />
+ <triangle index="2072" v0="1101" v1="1102" v2="1132" />
+ <triangle index="2073" v0="1102" v1="1132" v2="1133" />
+ <triangle index="2074" v0="1102" v1="1103" v2="1133" />
+ <triangle index="2075" v0="1103" v1="1133" v2="1134" />
+ <triangle index="2076" v0="1103" v1="1104" v2="1134" />
+ <triangle index="2077" v0="1104" v1="1134" v2="1135" />
+ <triangle index="2078" v0="1104" v1="1105" v2="1135" />
+ <triangle index="2079" v0="1105" v1="1135" v2="1136" />
+ <triangle index="2080" v0="1105" v1="1106" v2="1136" />
+ <triangle index="2081" v0="1106" v1="1136" v2="1137" />
+ <triangle index="2082" v0="1106" v1="1107" v2="1137" />
+ <triangle index="2083" v0="1107" v1="1137" v2="1138" />
+ <triangle index="2084" v0="1107" v1="1108" v2="1138" />
+ <triangle index="2085" v0="1108" v1="1138" v2="1139" />
+ <triangle index="2086" v0="1108" v1="1109" v2="1139" />
+ <triangle index="2087" v0="1109" v1="1139" v2="1140" />
+ <triangle index="2088" v0="1109" v1="1110" v2="1140" />
+ <triangle index="2089" v0="1110" v1="1140" v2="1141" />
+ <triangle index="2090" v0="1110" v1="1111" v2="1141" />
+ <triangle index="2091" v0="1111" v1="1141" v2="1142" />
+ <triangle index="2092" v0="1111" v1="1112" v2="1142" />
+ <triangle index="2093" v0="1112" v1="1142" v2="1143" />
+ <triangle index="2094" v0="1112" v1="1113" v2="1143" />
+ <triangle index="2095" v0="1113" v1="1143" v2="1144" />
+ <triangle index="2096" v0="1113" v1="1114" v2="1144" />
+ <triangle index="2097" v0="1114" v1="1144" v2="1145" />
+ <triangle index="2098" v0="1114" v1="1115" v2="1145" />
+ <triangle index="2099" v0="1115" v1="1145" v2="1146" />
+ <triangle index="2100" v0="1116" v1="1117" v2="1147" />
+ <triangle index="2101" v0="1117" v1="1147" v2="1148" />
+ <triangle index="2102" v0="1117" v1="1118" v2="1148" />
+ <triangle index="2103" v0="1118" v1="1148" v2="1149" />
+ <triangle index="2104" v0="1118" v1="1119" v2="1149" />
+ <triangle index="2105" v0="1119" v1="1149" v2="1150" />
+ <triangle index="2106" v0="1119" v1="1120" v2="1150" />
+ <triangle index="2107" v0="1120" v1="1150" v2="1151" />
+ <triangle index="2108" v0="1120" v1="1121" v2="1151" />
+ <triangle index="2109" v0="1121" v1="1151" v2="1152" />
+ <triangle index="2110" v0="1121" v1="1122" v2="1152" />
+ <triangle index="2111" v0="1122" v1="1152" v2="1153" />
+ <triangle index="2112" v0="1122" v1="1123" v2="1153" />
+ <triangle index="2113" v0="1123" v1="1153" v2="1154" />
+ <triangle index="2114" v0="1123" v1="1124" v2="1154" />
+ <triangle index="2115" v0="1124" v1="1154" v2="1155" />
+ <triangle index="2116" v0="1124" v1="1125" v2="1155" />
+ <triangle index="2117" v0="1125" v1="1155" v2="1156" />
+ <triangle index="2118" v0="1125" v1="1126" v2="1156" />
+ <triangle index="2119" v0="1126" v1="1156" v2="1157" />
+ <triangle index="2120" v0="1126" v1="1127" v2="1157" />
+ <triangle index="2121" v0="1127" v1="1157" v2="1158" />
+ <triangle index="2122" v0="1127" v1="1128" v2="1158" />
+ <triangle index="2123" v0="1128" v1="1158" v2="1159" />
+ <triangle index="2124" v0="1128" v1="1129" v2="1159" />
+ <triangle index="2125" v0="1129" v1="1159" v2="1160" />
+ <triangle index="2126" v0="1129" v1="1130" v2="1160" />
+ <triangle index="2127" v0="1130" v1="1160" v2="1161" />
+ <triangle index="2128" v0="1130" v1="1131" v2="1161" />
+ <triangle index="2129" v0="1131" v1="1161" v2="1162" />
+ <triangle index="2130" v0="1131" v1="1132" v2="1162" />
+ <triangle index="2131" v0="1132" v1="1162" v2="1163" />
+ <triangle index="2132" v0="1132" v1="1133" v2="1163" />
+ <triangle index="2133" v0="1133" v1="1163" v2="1164" />
+ <triangle index="2134" v0="1133" v1="1134" v2="1164" />
+ <triangle index="2135" v0="1134" v1="1164" v2="1165" />
+ <triangle index="2136" v0="1134" v1="1135" v2="1165" />
+ <triangle index="2137" v0="1135" v1="1165" v2="1166" />
+ <triangle index="2138" v0="1135" v1="1136" v2="1166" />
+ <triangle index="2139" v0="1136" v1="1166" v2="1167" />
+ <triangle index="2140" v0="1136" v1="1137" v2="1167" />
+ <triangle index="2141" v0="1137" v1="1167" v2="1168" />
+ <triangle index="2142" v0="1137" v1="1138" v2="1168" />
+ <triangle index="2143" v0="1138" v1="1168" v2="1169" />
+ <triangle index="2144" v0="1138" v1="1139" v2="1169" />
+ <triangle index="2145" v0="1139" v1="1169" v2="1170" />
+ <triangle index="2146" v0="1139" v1="1140" v2="1170" />
+ <triangle index="2147" v0="1140" v1="1170" v2="1171" />
+ <triangle index="2148" v0="1140" v1="1141" v2="1171" />
+ <triangle index="2149" v0="1141" v1="1171" v2="1172" />
+ <triangle index="2150" v0="1141" v1="1142" v2="1172" />
+ <triangle index="2151" v0="1142" v1="1172" v2="1173" />
+ <triangle index="2152" v0="1142" v1="1143" v2="1173" />
+ <triangle index="2153" v0="1143" v1="1173" v2="1174" />
+ <triangle index="2154" v0="1143" v1="1144" v2="1174" />
+ <triangle index="2155" v0="1144" v1="1174" v2="1175" />
+ <triangle index="2156" v0="1144" v1="1145" v2="1175" />
+ <triangle index="2157" v0="1145" v1="1175" v2="1176" />
+ <triangle index="2158" v0="1145" v1="1146" v2="1176" />
+ <triangle index="2159" v0="1146" v1="1176" v2="1177" />
+ <triangle index="2160" v0="1147" v1="1148" v2="1178" />
+ <triangle index="2161" v0="1148" v1="1178" v2="1179" />
+ <triangle index="2162" v0="1148" v1="1149" v2="1179" />
+ <triangle index="2163" v0="1149" v1="1179" v2="1180" />
+ <triangle index="2164" v0="1149" v1="1150" v2="1180" />
+ <triangle index="2165" v0="1150" v1="1180" v2="1181" />
+ <triangle index="2166" v0="1150" v1="1151" v2="1181" />
+ <triangle index="2167" v0="1151" v1="1181" v2="1182" />
+ <triangle index="2168" v0="1151" v1="1152" v2="1182" />
+ <triangle index="2169" v0="1152" v1="1182" v2="1183" />
+ <triangle index="2170" v0="1152" v1="1153" v2="1183" />
+ <triangle index="2171" v0="1153" v1="1183" v2="1184" />
+ <triangle index="2172" v0="1153" v1="1154" v2="1184" />
+ <triangle index="2173" v0="1154" v1="1184" v2="1185" />
+ <triangle index="2174" v0="1154" v1="1155" v2="1185" />
+ <triangle index="2175" v0="1155" v1="1185" v2="1186" />
+ <triangle index="2176" v0="1155" v1="1156" v2="1186" />
+ <triangle index="2177" v0="1156" v1="1186" v2="1187" />
+ <triangle index="2178" v0="1156" v1="1157" v2="1187" />
+ <triangle index="2179" v0="1157" v1="1187" v2="1188" />
+ <triangle index="2180" v0="1157" v1="1158" v2="1188" />
+ <triangle index="2181" v0="1158" v1="1188" v2="1189" />
+ <triangle index="2182" v0="1158" v1="1159" v2="1189" />
+ <triangle index="2183" v0="1159" v1="1189" v2="1190" />
+ <triangle index="2184" v0="1159" v1="1160" v2="1190" />
+ <triangle index="2185" v0="1160" v1="1190" v2="1191" />
+ <triangle index="2186" v0="1160" v1="1161" v2="1191" />
+ <triangle index="2187" v0="1161" v1="1191" v2="1192" />
+ <triangle index="2188" v0="1161" v1="1162" v2="1192" />
+ <triangle index="2189" v0="1162" v1="1192" v2="1193" />
+ <triangle index="2190" v0="1162" v1="1163" v2="1193" />
+ <triangle index="2191" v0="1163" v1="1193" v2="1194" />
+ <triangle index="2192" v0="1163" v1="1164" v2="1194" />
+ <triangle index="2193" v0="1164" v1="1194" v2="1195" />
+ <triangle index="2194" v0="1164" v1="1165" v2="1195" />
+ <triangle index="2195" v0="1165" v1="1195" v2="1196" />
+ <triangle index="2196" v0="1165" v1="1166" v2="1196" />
+ <triangle index="2197" v0="1166" v1="1196" v2="1197" />
+ <triangle index="2198" v0="1166" v1="1167" v2="1197" />
+ <triangle index="2199" v0="1167" v1="1197" v2="1198" />
+ <triangle index="2200" v0="1167" v1="1168" v2="1198" />
+ <triangle index="2201" v0="1168" v1="1198" v2="1199" />
+ <triangle index="2202" v0="1168" v1="1169" v2="1199" />
+ <triangle index="2203" v0="1169" v1="1199" v2="1200" />
+ <triangle index="2204" v0="1169" v1="1170" v2="1200" />
+ <triangle index="2205" v0="1170" v1="1200" v2="1201" />
+ <triangle index="2206" v0="1170" v1="1171" v2="1201" />
+ <triangle index="2207" v0="1171" v1="1201" v2="1202" />
+ <triangle index="2208" v0="1171" v1="1172" v2="1202" />
+ <triangle index="2209" v0="1172" v1="1202" v2="1203" />
+ <triangle index="2210" v0="1172" v1="1173" v2="1203" />
+ <triangle index="2211" v0="1173" v1="1203" v2="1204" />
+ <triangle index="2212" v0="1173" v1="1174" v2="1204" />
+ <triangle index="2213" v0="1174" v1="1204" v2="1205" />
+ <triangle index="2214" v0="1174" v1="1175" v2="1205" />
+ <triangle index="2215" v0="1175" v1="1205" v2="1206" />
+ <triangle index="2216" v0="1175" v1="1176" v2="1206" />
+ <triangle index="2217" v0="1176" v1="1206" v2="1207" />
+ <triangle index="2218" v0="1176" v1="1177" v2="1207" />
+ <triangle index="2219" v0="1177" v1="1207" v2="1208" />
+ <triangle index="2220" v0="1178" v1="1179" v2="1209" />
+ <triangle index="2221" v0="1179" v1="1209" v2="1210" />
+ <triangle index="2222" v0="1179" v1="1180" v2="1210" />
+ <triangle index="2223" v0="1180" v1="1210" v2="1211" />
+ <triangle index="2224" v0="1180" v1="1181" v2="1211" />
+ <triangle index="2225" v0="1181" v1="1211" v2="1212" />
+ <triangle index="2226" v0="1181" v1="1182" v2="1212" />
+ <triangle index="2227" v0="1182" v1="1212" v2="1213" />
+ <triangle index="2228" v0="1182" v1="1183" v2="1213" />
+ <triangle index="2229" v0="1183" v1="1213" v2="1214" />
+ <triangle index="2230" v0="1183" v1="1184" v2="1214" />
+ <triangle index="2231" v0="1184" v1="1214" v2="1215" />
+ <triangle index="2232" v0="1184" v1="1185" v2="1215" />
+ <triangle index="2233" v0="1185" v1="1215" v2="1216" />
+ <triangle index="2234" v0="1185" v1="1186" v2="1216" />
+ <triangle index="2235" v0="1186" v1="1216" v2="1217" />
+ <triangle index="2236" v0="1186" v1="1187" v2="1217" />
+ <triangle index="2237" v0="1187" v1="1217" v2="1218" />
+ <triangle index="2238" v0="1187" v1="1188" v2="1218" />
+ <triangle index="2239" v0="1188" v1="1218" v2="1219" />
+ <triangle index="2240" v0="1188" v1="1189" v2="1219" />
+ <triangle index="2241" v0="1189" v1="1219" v2="1220" />
+ <triangle index="2242" v0="1189" v1="1190" v2="1220" />
+ <triangle index="2243" v0="1190" v1="1220" v2="1221" />
+ <triangle index="2244" v0="1190" v1="1191" v2="1221" />
+ <triangle index="2245" v0="1191" v1="1221" v2="1222" />
+ <triangle index="2246" v0="1191" v1="1192" v2="1222" />
+ <triangle index="2247" v0="1192" v1="1222" v2="1223" />
+ <triangle index="2248" v0="1192" v1="1193" v2="1223" />
+ <triangle index="2249" v0="1193" v1="1223" v2="1224" />
+ <triangle index="2250" v0="1193" v1="1194" v2="1224" />
+ <triangle index="2251" v0="1194" v1="1224" v2="1225" />
+ <triangle index="2252" v0="1194" v1="1195" v2="1225" />
+ <triangle index="2253" v0="1195" v1="1225" v2="1226" />
+ <triangle index="2254" v0="1195" v1="1196" v2="1226" />
+ <triangle index="2255" v0="1196" v1="1226" v2="1227" />
+ <triangle index="2256" v0="1196" v1="1197" v2="1227" />
+ <triangle index="2257" v0="1197" v1="1227" v2="1228" />
+ <triangle index="2258" v0="1197" v1="1198" v2="1228" />
+ <triangle index="2259" v0="1198" v1="1228" v2="1229" />
+ <triangle index="2260" v0="1198" v1="1199" v2="1229" />
+ <triangle index="2261" v0="1199" v1="1229" v2="1230" />
+ <triangle index="2262" v0="1199" v1="1200" v2="1230" />
+ <triangle index="2263" v0="1200" v1="1230" v2="1231" />
+ <triangle index="2264" v0="1200" v1="1201" v2="1231" />
+ <triangle index="2265" v0="1201" v1="1231" v2="1232" />
+ <triangle index="2266" v0="1201" v1="1202" v2="1232" />
+ <triangle index="2267" v0="1202" v1="1232" v2="1233" />
+ <triangle index="2268" v0="1202" v1="1203" v2="1233" />
+ <triangle index="2269" v0="1203" v1="1233" v2="1234" />
+ <triangle index="2270" v0="1203" v1="1204" v2="1234" />
+ <triangle index="2271" v0="1204" v1="1234" v2="1235" />
+ <triangle index="2272" v0="1204" v1="1205" v2="1235" />
+ <triangle index="2273" v0="1205" v1="1235" v2="1236" />
+ <triangle index="2274" v0="1205" v1="1206" v2="1236" />
+ <triangle index="2275" v0="1206" v1="1236" v2="1237" />
+ <triangle index="2276" v0="1206" v1="1207" v2="1237" />
+ <triangle index="2277" v0="1207" v1="1237" v2="1238" />
+ <triangle index="2278" v0="1207" v1="1208" v2="1238" />
+ <triangle index="2279" v0="1208" v1="1238" v2="1239" />
+ <triangle index="2280" v0="1209" v1="1210" v2="1240" />
+ <triangle index="2281" v0="1210" v1="1240" v2="1241" />
+ <triangle index="2282" v0="1210" v1="1211" v2="1241" />
+ <triangle index="2283" v0="1211" v1="1241" v2="1242" />
+ <triangle index="2284" v0="1211" v1="1212" v2="1242" />
+ <triangle index="2285" v0="1212" v1="1242" v2="1243" />
+ <triangle index="2286" v0="1212" v1="1213" v2="1243" />
+ <triangle index="2287" v0="1213" v1="1243" v2="1244" />
+ <triangle index="2288" v0="1213" v1="1214" v2="1244" />
+ <triangle index="2289" v0="1214" v1="1244" v2="1245" />
+ <triangle index="2290" v0="1214" v1="1215" v2="1245" />
+ <triangle index="2291" v0="1215" v1="1245" v2="1246" />
+ <triangle index="2292" v0="1215" v1="1216" v2="1246" />
+ <triangle index="2293" v0="1216" v1="1246" v2="1247" />
+ <triangle index="2294" v0="1216" v1="1217" v2="1247" />
+ <triangle index="2295" v0="1217" v1="1247" v2="1248" />
+ <triangle index="2296" v0="1217" v1="1218" v2="1248" />
+ <triangle index="2297" v0="1218" v1="1248" v2="1249" />
+ <triangle index="2298" v0="1218" v1="1219" v2="1249" />
+ <triangle index="2299" v0="1219" v1="1249" v2="1250" />
+ <triangle index="2300" v0="1219" v1="1220" v2="1250" />
+ <triangle index="2301" v0="1220" v1="1250" v2="1251" />
+ <triangle index="2302" v0="1220" v1="1221" v2="1251" />
+ <triangle index="2303" v0="1221" v1="1251" v2="1252" />
+ <triangle index="2304" v0="1221" v1="1222" v2="1252" />
+ <triangle index="2305" v0="1222" v1="1252" v2="1253" />
+ <triangle index="2306" v0="1222" v1="1223" v2="1253" />
+ <triangle index="2307" v0="1223" v1="1253" v2="1254" />
+ <triangle index="2308" v0="1223" v1="1224" v2="1254" />
+ <triangle index="2309" v0="1224" v1="1254" v2="1255" />
+ <triangle index="2310" v0="1224" v1="1225" v2="1255" />
+ <triangle index="2311" v0="1225" v1="1255" v2="1256" />
+ <triangle index="2312" v0="1225" v1="1226" v2="1256" />
+ <triangle index="2313" v0="1226" v1="1256" v2="1257" />
+ <triangle index="2314" v0="1226" v1="1227" v2="1257" />
+ <triangle index="2315" v0="1227" v1="1257" v2="1258" />
+ <triangle index="2316" v0="1227" v1="1228" v2="1258" />
+ <triangle index="2317" v0="1228" v1="1258" v2="1259" />
+ <triangle index="2318" v0="1228" v1="1229" v2="1259" />
+ <triangle index="2319" v0="1229" v1="1259" v2="1260" />
+ <triangle index="2320" v0="1229" v1="1230" v2="1260" />
+ <triangle index="2321" v0="1230" v1="1260" v2="1261" />
+ <triangle index="2322" v0="1230" v1="1231" v2="1261" />
+ <triangle index="2323" v0="1231" v1="1261" v2="1262" />
+ <triangle index="2324" v0="1231" v1="1232" v2="1262" />
+ <triangle index="2325" v0="1232" v1="1262" v2="1263" />
+ <triangle index="2326" v0="1232" v1="1233" v2="1263" />
+ <triangle index="2327" v0="1233" v1="1263" v2="1264" />
+ <triangle index="2328" v0="1233" v1="1234" v2="1264" />
+ <triangle index="2329" v0="1234" v1="1264" v2="1265" />
+ <triangle index="2330" v0="1234" v1="1235" v2="1265" />
+ <triangle index="2331" v0="1235" v1="1265" v2="1266" />
+ <triangle index="2332" v0="1235" v1="1236" v2="1266" />
+ <triangle index="2333" v0="1236" v1="1266" v2="1267" />
+ <triangle index="2334" v0="1236" v1="1237" v2="1267" />
+ <triangle index="2335" v0="1237" v1="1267" v2="1268" />
+ <triangle index="2336" v0="1237" v1="1238" v2="1268" />
+ <triangle index="2337" v0="1238" v1="1268" v2="1269" />
+ <triangle index="2338" v0="1238" v1="1239" v2="1269" />
+ <triangle index="2339" v0="1239" v1="1269" v2="1270" />
+ <triangle index="2340" v0="1240" v1="1241" v2="1271" />
+ <triangle index="2341" v0="1241" v1="1271" v2="1272" />
+ <triangle index="2342" v0="1241" v1="1242" v2="1272" />
+ <triangle index="2343" v0="1242" v1="1272" v2="1273" />
+ <triangle index="2344" v0="1242" v1="1243" v2="1273" />
+ <triangle index="2345" v0="1243" v1="1273" v2="1274" />
+ <triangle index="2346" v0="1243" v1="1244" v2="1274" />
+ <triangle index="2347" v0="1244" v1="1274" v2="1275" />
+ <triangle index="2348" v0="1244" v1="1245" v2="1275" />
+ <triangle index="2349" v0="1245" v1="1275" v2="1276" />
+ <triangle index="2350" v0="1245" v1="1246" v2="1276" />
+ <triangle index="2351" v0="1246" v1="1276" v2="1277" />
+ <triangle index="2352" v0="1246" v1="1247" v2="1277" />
+ <triangle index="2353" v0="1247" v1="1277" v2="1278" />
+ <triangle index="2354" v0="1247" v1="1248" v2="1278" />
+ <triangle index="2355" v0="1248" v1="1278" v2="1279" />
+ <triangle index="2356" v0="1248" v1="1249" v2="1279" />
+ <triangle index="2357" v0="1249" v1="1279" v2="1280" />
+ <triangle index="2358" v0="1249" v1="1250" v2="1280" />
+ <triangle index="2359" v0="1250" v1="1280" v2="1281" />
+ <triangle index="2360" v0="1250" v1="1251" v2="1281" />
+ <triangle index="2361" v0="1251" v1="1281" v2="1282" />
+ <triangle index="2362" v0="1251" v1="1252" v2="1282" />
+ <triangle index="2363" v0="1252" v1="1282" v2="1283" />
+ <triangle index="2364" v0="1252" v1="1253" v2="1283" />
+ <triangle index="2365" v0="1253" v1="1283" v2="1284" />
+ <triangle index="2366" v0="1253" v1="1254" v2="1284" />
+ <triangle index="2367" v0="1254" v1="1284" v2="1285" />
+ <triangle index="2368" v0="1254" v1="1255" v2="1285" />
+ <triangle index="2369" v0="1255" v1="1285" v2="1286" />
+ <triangle index="2370" v0="1255" v1="1256" v2="1286" />
+ <triangle index="2371" v0="1256" v1="1286" v2="1287" />
+ <triangle index="2372" v0="1256" v1="1257" v2="1287" />
+ <triangle index="2373" v0="1257" v1="1287" v2="1288" />
+ <triangle index="2374" v0="1257" v1="1258" v2="1288" />
+ <triangle index="2375" v0="1258" v1="1288" v2="1289" />
+ <triangle index="2376" v0="1258" v1="1259" v2="1289" />
+ <triangle index="2377" v0="1259" v1="1289" v2="1290" />
+ <triangle index="2378" v0="1259" v1="1260" v2="1290" />
+ <triangle index="2379" v0="1260" v1="1290" v2="1291" />
+ <triangle index="2380" v0="1260" v1="1261" v2="1291" />
+ <triangle index="2381" v0="1261" v1="1291" v2="1292" />
+ <triangle index="2382" v0="1261" v1="1262" v2="1292" />
+ <triangle index="2383" v0="1262" v1="1292" v2="1293" />
+ <triangle index="2384" v0="1262" v1="1263" v2="1293" />
+ <triangle index="2385" v0="1263" v1="1293" v2="1294" />
+ <triangle index="2386" v0="1263" v1="1264" v2="1294" />
+ <triangle index="2387" v0="1264" v1="1294" v2="1295" />
+ <triangle index="2388" v0="1264" v1="1265" v2="1295" />
+ <triangle index="2389" v0="1265" v1="1295" v2="1296" />
+ <triangle index="2390" v0="1265" v1="1266" v2="1296" />
+ <triangle index="2391" v0="1266" v1="1296" v2="1297" />
+ <triangle index="2392" v0="1266" v1="1267" v2="1297" />
+ <triangle index="2393" v0="1267" v1="1297" v2="1298" />
+ <triangle index="2394" v0="1267" v1="1268" v2="1298" />
+ <triangle index="2395" v0="1268" v1="1298" v2="1299" />
+ <triangle index="2396" v0="1268" v1="1269" v2="1299" />
+ <triangle index="2397" v0="1269" v1="1299" v2="1300" />
+ <triangle index="2398" v0="1269" v1="1270" v2="1300" />
+ <triangle index="2399" v0="1270" v1="1300" v2="1301" />
+ <triangle index="2400" v0="1271" v1="1272" v2="1302" />
+ <triangle index="2401" v0="1272" v1="1302" v2="1303" />
+ <triangle index="2402" v0="1272" v1="1273" v2="1303" />
+ <triangle index="2403" v0="1273" v1="1303" v2="1304" />
+ <triangle index="2404" v0="1273" v1="1274" v2="1304" />
+ <triangle index="2405" v0="1274" v1="1304" v2="1305" />
+ <triangle index="2406" v0="1274" v1="1275" v2="1305" />
+ <triangle index="2407" v0="1275" v1="1305" v2="1306" />
+ <triangle index="2408" v0="1275" v1="1276" v2="1306" />
+ <triangle index="2409" v0="1276" v1="1306" v2="1307" />
+ <triangle index="2410" v0="1276" v1="1277" v2="1307" />
+ <triangle index="2411" v0="1277" v1="1307" v2="1308" />
+ <triangle index="2412" v0="1277" v1="1278" v2="1308" />
+ <triangle index="2413" v0="1278" v1="1308" v2="1309" />
+ <triangle index="2414" v0="1278" v1="1279" v2="1309" />
+ <triangle index="2415" v0="1279" v1="1309" v2="1310" />
+ <triangle index="2416" v0="1279" v1="1280" v2="1310" />
+ <triangle index="2417" v0="1280" v1="1310" v2="1311" />
+ <triangle index="2418" v0="1280" v1="1281" v2="1311" />
+ <triangle index="2419" v0="1281" v1="1311" v2="1312" />
+ <triangle index="2420" v0="1281" v1="1282" v2="1312" />
+ <triangle index="2421" v0="1282" v1="1312" v2="1313" />
+ <triangle index="2422" v0="1282" v1="1283" v2="1313" />
+ <triangle index="2423" v0="1283" v1="1313" v2="1314" />
+ <triangle index="2424" v0="1283" v1="1284" v2="1314" />
+ <triangle index="2425" v0="1284" v1="1314" v2="1315" />
+ <triangle index="2426" v0="1284" v1="1285" v2="1315" />
+ <triangle index="2427" v0="1285" v1="1315" v2="1316" />
+ <triangle index="2428" v0="1285" v1="1286" v2="1316" />
+ <triangle index="2429" v0="1286" v1="1316" v2="1317" />
+ <triangle index="2430" v0="1286" v1="1287" v2="1317" />
+ <triangle index="2431" v0="1287" v1="1317" v2="1318" />
+ <triangle index="2432" v0="1287" v1="1288" v2="1318" />
+ <triangle index="2433" v0="1288" v1="1318" v2="1319" />
+ <triangle index="2434" v0="1288" v1="1289" v2="1319" />
+ <triangle index="2435" v0="1289" v1="1319" v2="1320" />
+ <triangle index="2436" v0="1289" v1="1290" v2="1320" />
+ <triangle index="2437" v0="1290" v1="1320" v2="1321" />
+ <triangle index="2438" v0="1290" v1="1291" v2="1321" />
+ <triangle index="2439" v0="1291" v1="1321" v2="1322" />
+ <triangle index="2440" v0="1291" v1="1292" v2="1322" />
+ <triangle index="2441" v0="1292" v1="1322" v2="1323" />
+ <triangle index="2442" v0="1292" v1="1293" v2="1323" />
+ <triangle index="2443" v0="1293" v1="1323" v2="1324" />
+ <triangle index="2444" v0="1293" v1="1294" v2="1324" />
+ <triangle index="2445" v0="1294" v1="1324" v2="1325" />
+ <triangle index="2446" v0="1294" v1="1295" v2="1325" />
+ <triangle index="2447" v0="1295" v1="1325" v2="1326" />
+ <triangle index="2448" v0="1295" v1="1296" v2="1326" />
+ <triangle index="2449" v0="1296" v1="1326" v2="1327" />
+ <triangle index="2450" v0="1296" v1="1297" v2="1327" />
+ <triangle index="2451" v0="1297" v1="1327" v2="1328" />
+ <triangle index="2452" v0="1297" v1="1298" v2="1328" />
+ <triangle index="2453" v0="1298" v1="1328" v2="1329" />
+ <triangle index="2454" v0="1298" v1="1299" v2="1329" />
+ <triangle index="2455" v0="1299" v1="1329" v2="1330" />
+ <triangle index="2456" v0="1299" v1="1300" v2="1330" />
+ <triangle index="2457" v0="1300" v1="1330" v2="1331" />
+ <triangle index="2458" v0="1300" v1="1301" v2="1331" />
+ <triangle index="2459" v0="1301" v1="1331" v2="1332" />
+ <triangle index="2460" v0="1302" v1="1303" v2="1333" />
+ <triangle index="2461" v0="1303" v1="1333" v2="1334" />
+ <triangle index="2462" v0="1303" v1="1304" v2="1334" />
+ <triangle index="2463" v0="1304" v1="1334" v2="1335" />
+ <triangle index="2464" v0="1304" v1="1305" v2="1335" />
+ <triangle index="2465" v0="1305" v1="1335" v2="1336" />
+ <triangle index="2466" v0="1305" v1="1306" v2="1336" />
+ <triangle index="2467" v0="1306" v1="1336" v2="1337" />
+ <triangle index="2468" v0="1306" v1="1307" v2="1337" />
+ <triangle index="2469" v0="1307" v1="1337" v2="1338" />
+ <triangle index="2470" v0="1307" v1="1308" v2="1338" />
+ <triangle index="2471" v0="1308" v1="1338" v2="1339" />
+ <triangle index="2472" v0="1308" v1="1309" v2="1339" />
+ <triangle index="2473" v0="1309" v1="1339" v2="1340" />
+ <triangle index="2474" v0="1309" v1="1310" v2="1340" />
+ <triangle index="2475" v0="1310" v1="1340" v2="1341" />
+ <triangle index="2476" v0="1310" v1="1311" v2="1341" />
+ <triangle index="2477" v0="1311" v1="1341" v2="1342" />
+ <triangle index="2478" v0="1311" v1="1312" v2="1342" />
+ <triangle index="2479" v0="1312" v1="1342" v2="1343" />
+ <triangle index="2480" v0="1312" v1="1313" v2="1343" />
+ <triangle index="2481" v0="1313" v1="1343" v2="1344" />
+ <triangle index="2482" v0="1313" v1="1314" v2="1344" />
+ <triangle index="2483" v0="1314" v1="1344" v2="1345" />
+ <triangle index="2484" v0="1314" v1="1315" v2="1345" />
+ <triangle index="2485" v0="1315" v1="1345" v2="1346" />
+ <triangle index="2486" v0="1315" v1="1316" v2="1346" />
+ <triangle index="2487" v0="1316" v1="1346" v2="1347" />
+ <triangle index="2488" v0="1316" v1="1317" v2="1347" />
+ <triangle index="2489" v0="1317" v1="1347" v2="1348" />
+ <triangle index="2490" v0="1317" v1="1318" v2="1348" />
+ <triangle index="2491" v0="1318" v1="1348" v2="1349" />
+ <triangle index="2492" v0="1318" v1="1319" v2="1349" />
+ <triangle index="2493" v0="1319" v1="1349" v2="1350" />
+ <triangle index="2494" v0="1319" v1="1320" v2="1350" />
+ <triangle index="2495" v0="1320" v1="1350" v2="1351" />
+ <triangle index="2496" v0="1320" v1="1321" v2="1351" />
+ <triangle index="2497" v0="1321" v1="1351" v2="1352" />
+ <triangle index="2498" v0="1321" v1="1322" v2="1352" />
+ <triangle index="2499" v0="1322" v1="1352" v2="1353" />
+ <triangle index="2500" v0="1322" v1="1323" v2="1353" />
+ <triangle index="2501" v0="1323" v1="1353" v2="1354" />
+ <triangle index="2502" v0="1323" v1="1324" v2="1354" />
+ <triangle index="2503" v0="1324" v1="1354" v2="1355" />
+ <triangle index="2504" v0="1324" v1="1325" v2="1355" />
+ <triangle index="2505" v0="1325" v1="1355" v2="1356" />
+ <triangle index="2506" v0="1325" v1="1326" v2="1356" />
+ <triangle index="2507" v0="1326" v1="1356" v2="1357" />
+ <triangle index="2508" v0="1326" v1="1327" v2="1357" />
+ <triangle index="2509" v0="1327" v1="1357" v2="1358" />
+ <triangle index="2510" v0="1327" v1="1328" v2="1358" />
+ <triangle index="2511" v0="1328" v1="1358" v2="1359" />
+ <triangle index="2512" v0="1328" v1="1329" v2="1359" />
+ <triangle index="2513" v0="1329" v1="1359" v2="1360" />
+ <triangle index="2514" v0="1329" v1="1330" v2="1360" />
+ <triangle index="2515" v0="1330" v1="1360" v2="1361" />
+ <triangle index="2516" v0="1330" v1="1331" v2="1361" />
+ <triangle index="2517" v0="1331" v1="1361" v2="1362" />
+ <triangle index="2518" v0="1331" v1="1332" v2="1362" />
+ <triangle index="2519" v0="1332" v1="1362" v2="1363" />
+ <triangle index="2520" v0="1333" v1="1334" v2="1364" />
+ <triangle index="2521" v0="1334" v1="1364" v2="1365" />
+ <triangle index="2522" v0="1334" v1="1335" v2="1365" />
+ <triangle index="2523" v0="1335" v1="1365" v2="1366" />
+ <triangle index="2524" v0="1335" v1="1336" v2="1366" />
+ <triangle index="2525" v0="1336" v1="1366" v2="1367" />
+ <triangle index="2526" v0="1336" v1="1337" v2="1367" />
+ <triangle index="2527" v0="1337" v1="1367" v2="1368" />
+ <triangle index="2528" v0="1337" v1="1338" v2="1368" />
+ <triangle index="2529" v0="1338" v1="1368" v2="1369" />
+ <triangle index="2530" v0="1338" v1="1339" v2="1369" />
+ <triangle index="2531" v0="1339" v1="1369" v2="1370" />
+ <triangle index="2532" v0="1339" v1="1340" v2="1370" />
+ <triangle index="2533" v0="1340" v1="1370" v2="1371" />
+ <triangle index="2534" v0="1340" v1="1341" v2="1371" />
+ <triangle index="2535" v0="1341" v1="1371" v2="1372" />
+ <triangle index="2536" v0="1341" v1="1342" v2="1372" />
+ <triangle index="2537" v0="1342" v1="1372" v2="1373" />
+ <triangle index="2538" v0="1342" v1="1343" v2="1373" />
+ <triangle index="2539" v0="1343" v1="1373" v2="1374" />
+ <triangle index="2540" v0="1343" v1="1344" v2="1374" />
+ <triangle index="2541" v0="1344" v1="1374" v2="1375" />
+ <triangle index="2542" v0="1344" v1="1345" v2="1375" />
+ <triangle index="2543" v0="1345" v1="1375" v2="1376" />
+ <triangle index="2544" v0="1345" v1="1346" v2="1376" />
+ <triangle index="2545" v0="1346" v1="1376" v2="1377" />
+ <triangle index="2546" v0="1346" v1="1347" v2="1377" />
+ <triangle index="2547" v0="1347" v1="1377" v2="1378" />
+ <triangle index="2548" v0="1347" v1="1348" v2="1378" />
+ <triangle index="2549" v0="1348" v1="1378" v2="1379" />
+ <triangle index="2550" v0="1348" v1="1349" v2="1379" />
+ <triangle index="2551" v0="1349" v1="1379" v2="1380" />
+ <triangle index="2552" v0="1349" v1="1350" v2="1380" />
+ <triangle index="2553" v0="1350" v1="1380" v2="1381" />
+ <triangle index="2554" v0="1350" v1="1351" v2="1381" />
+ <triangle index="2555" v0="1351" v1="1381" v2="1382" />
+ <triangle index="2556" v0="1351" v1="1352" v2="1382" />
+ <triangle index="2557" v0="1352" v1="1382" v2="1383" />
+ <triangle index="2558" v0="1352" v1="1353" v2="1383" />
+ <triangle index="2559" v0="1353" v1="1383" v2="1384" />
+ <triangle index="2560" v0="1353" v1="1354" v2="1384" />
+ <triangle index="2561" v0="1354" v1="1384" v2="1385" />
+ <triangle index="2562" v0="1354" v1="1355" v2="1385" />
+ <triangle index="2563" v0="1355" v1="1385" v2="1386" />
+ <triangle index="2564" v0="1355" v1="1356" v2="1386" />
+ <triangle index="2565" v0="1356" v1="1386" v2="1387" />
+ <triangle index="2566" v0="1356" v1="1357" v2="1387" />
+ <triangle index="2567" v0="1357" v1="1387" v2="1388" />
+ <triangle index="2568" v0="1357" v1="1358" v2="1388" />
+ <triangle index="2569" v0="1358" v1="1388" v2="1389" />
+ <triangle index="2570" v0="1358" v1="1359" v2="1389" />
+ <triangle index="2571" v0="1359" v1="1389" v2="1390" />
+ <triangle index="2572" v0="1359" v1="1360" v2="1390" />
+ <triangle index="2573" v0="1360" v1="1390" v2="1391" />
+ <triangle index="2574" v0="1360" v1="1361" v2="1391" />
+ <triangle index="2575" v0="1361" v1="1391" v2="1392" />
+ <triangle index="2576" v0="1361" v1="1362" v2="1392" />
+ <triangle index="2577" v0="1362" v1="1392" v2="1393" />
+ <triangle index="2578" v0="1362" v1="1363" v2="1393" />
+ <triangle index="2579" v0="1363" v1="1393" v2="1394" />
+ <triangle index="2580" v0="1364" v1="1365" v2="1395" />
+ <triangle index="2581" v0="1365" v1="1395" v2="1396" />
+ <triangle index="2582" v0="1365" v1="1366" v2="1396" />
+ <triangle index="2583" v0="1366" v1="1396" v2="1397" />
+ <triangle index="2584" v0="1366" v1="1367" v2="1397" />
+ <triangle index="2585" v0="1367" v1="1397" v2="1398" />
+ <triangle index="2586" v0="1367" v1="1368" v2="1398" />
+ <triangle index="2587" v0="1368" v1="1398" v2="1399" />
+ <triangle index="2588" v0="1368" v1="1369" v2="1399" />
+ <triangle index="2589" v0="1369" v1="1399" v2="1400" />
+ <triangle index="2590" v0="1369" v1="1370" v2="1400" />
+ <triangle index="2591" v0="1370" v1="1400" v2="1401" />
+ <triangle index="2592" v0="1370" v1="1371" v2="1401" />
+ <triangle index="2593" v0="1371" v1="1401" v2="1402" />
+ <triangle index="2594" v0="1371" v1="1372" v2="1402" />
+ <triangle index="2595" v0="1372" v1="1402" v2="1403" />
+ <triangle index="2596" v0="1372" v1="1373" v2="1403" />
+ <triangle index="2597" v0="1373" v1="1403" v2="1404" />
+ <triangle index="2598" v0="1373" v1="1374" v2="1404" />
+ <triangle index="2599" v0="1374" v1="1404" v2="1405" />
+ <triangle index="2600" v0="1374" v1="1375" v2="1405" />
+ <triangle index="2601" v0="1375" v1="1405" v2="1406" />
+ <triangle index="2602" v0="1375" v1="1376" v2="1406" />
+ <triangle index="2603" v0="1376" v1="1406" v2="1407" />
+ <triangle index="2604" v0="1376" v1="1377" v2="1407" />
+ <triangle index="2605" v0="1377" v1="1407" v2="1408" />
+ <triangle index="2606" v0="1377" v1="1378" v2="1408" />
+ <triangle index="2607" v0="1378" v1="1408" v2="1409" />
+ <triangle index="2608" v0="1378" v1="1379" v2="1409" />
+ <triangle index="2609" v0="1379" v1="1409" v2="1410" />
+ <triangle index="2610" v0="1379" v1="1380" v2="1410" />
+ <triangle index="2611" v0="1380" v1="1410" v2="1411" />
+ <triangle index="2612" v0="1380" v1="1381" v2="1411" />
+ <triangle index="2613" v0="1381" v1="1411" v2="1412" />
+ <triangle index="2614" v0="1381" v1="1382" v2="1412" />
+ <triangle index="2615" v0="1382" v1="1412" v2="1413" />
+ <triangle index="2616" v0="1382" v1="1383" v2="1413" />
+ <triangle index="2617" v0="1383" v1="1413" v2="1414" />
+ <triangle index="2618" v0="1383" v1="1384" v2="1414" />
+ <triangle index="2619" v0="1384" v1="1414" v2="1415" />
+ <triangle index="2620" v0="1384" v1="1385" v2="1415" />
+ <triangle index="2621" v0="1385" v1="1415" v2="1416" />
+ <triangle index="2622" v0="1385" v1="1386" v2="1416" />
+ <triangle index="2623" v0="1386" v1="1416" v2="1417" />
+ <triangle index="2624" v0="1386" v1="1387" v2="1417" />
+ <triangle index="2625" v0="1387" v1="1417" v2="1418" />
+ <triangle index="2626" v0="1387" v1="1388" v2="1418" />
+ <triangle index="2627" v0="1388" v1="1418" v2="1419" />
+ <triangle index="2628" v0="1388" v1="1389" v2="1419" />
+ <triangle index="2629" v0="1389" v1="1419" v2="1420" />
+ <triangle index="2630" v0="1389" v1="1390" v2="1420" />
+ <triangle index="2631" v0="1390" v1="1420" v2="1421" />
+ <triangle index="2632" v0="1390" v1="1391" v2="1421" />
+ <triangle index="2633" v0="1391" v1="1421" v2="1422" />
+ <triangle index="2634" v0="1391" v1="1392" v2="1422" />
+ <triangle index="2635" v0="1392" v1="1422" v2="1423" />
+ <triangle index="2636" v0="1392" v1="1393" v2="1423" />
+ <triangle index="2637" v0="1393" v1="1423" v2="1424" />
+ <triangle index="2638" v0="1393" v1="1394" v2="1424" />
+ <triangle index="2639" v0="1394" v1="1424" v2="1425" />
+ <triangle index="2640" v0="480" v1="1395" v2="1396" />
+ <triangle index="2641" v0="480" v1="481" v2="1396" />
+ <triangle index="2642" v0="481" v1="1396" v2="1397" />
+ <triangle index="2643" v0="481" v1="482" v2="1397" />
+ <triangle index="2644" v0="482" v1="1397" v2="1398" />
+ <triangle index="2645" v0="482" v1="483" v2="1398" />
+ <triangle index="2646" v0="483" v1="1398" v2="1399" />
+ <triangle index="2647" v0="483" v1="484" v2="1399" />
+ <triangle index="2648" v0="484" v1="1399" v2="1400" />
+ <triangle index="2649" v0="484" v1="485" v2="1400" />
+ <triangle index="2650" v0="485" v1="1400" v2="1401" />
+ <triangle index="2651" v0="485" v1="486" v2="1401" />
+ <triangle index="2652" v0="486" v1="1401" v2="1402" />
+ <triangle index="2653" v0="486" v1="487" v2="1402" />
+ <triangle index="2654" v0="487" v1="1402" v2="1403" />
+ <triangle index="2655" v0="487" v1="488" v2="1403" />
+ <triangle index="2656" v0="488" v1="1403" v2="1404" />
+ <triangle index="2657" v0="488" v1="489" v2="1404" />
+ <triangle index="2658" v0="489" v1="1404" v2="1405" />
+ <triangle index="2659" v0="489" v1="490" v2="1405" />
+ <triangle index="2660" v0="490" v1="1405" v2="1406" />
+ <triangle index="2661" v0="490" v1="491" v2="1406" />
+ <triangle index="2662" v0="491" v1="1406" v2="1407" />
+ <triangle index="2663" v0="491" v1="492" v2="1407" />
+ <triangle index="2664" v0="492" v1="1407" v2="1408" />
+ <triangle index="2665" v0="492" v1="493" v2="1408" />
+ <triangle index="2666" v0="493" v1="1408" v2="1409" />
+ <triangle index="2667" v0="493" v1="494" v2="1409" />
+ <triangle index="2668" v0="494" v1="1409" v2="1410" />
+ <triangle index="2669" v0="494" v1="495" v2="1410" />
+ <triangle index="2670" v0="495" v1="1410" v2="1411" />
+ <triangle index="2671" v0="495" v1="1411" v2="1426" />
+ <triangle index="2672" v0="1411" v1="1412" v2="1426" />
+ <triangle index="2673" v0="1412" v1="1426" v2="1427" />
+ <triangle index="2674" v0="1412" v1="1413" v2="1427" />
+ <triangle index="2675" v0="1413" v1="1427" v2="1428" />
+ <triangle index="2676" v0="1413" v1="1414" v2="1428" />
+ <triangle index="2677" v0="1414" v1="1428" v2="1429" />
+ <triangle index="2678" v0="1414" v1="1415" v2="1429" />
+ <triangle index="2679" v0="1415" v1="1429" v2="1430" />
+ <triangle index="2680" v0="1415" v1="1416" v2="1430" />
+ <triangle index="2681" v0="1416" v1="1430" v2="1431" />
+ <triangle index="2682" v0="1416" v1="1417" v2="1431" />
+ <triangle index="2683" v0="1417" v1="1431" v2="1432" />
+ <triangle index="2684" v0="1417" v1="1418" v2="1432" />
+ <triangle index="2685" v0="1418" v1="1432" v2="1433" />
+ <triangle index="2686" v0="1418" v1="1419" v2="1433" />
+ <triangle index="2687" v0="1419" v1="1433" v2="1434" />
+ <triangle index="2688" v0="1419" v1="1420" v2="1434" />
+ <triangle index="2689" v0="1420" v1="1434" v2="1435" />
+ <triangle index="2690" v0="1420" v1="1421" v2="1435" />
+ <triangle index="2691" v0="1421" v1="1435" v2="1436" />
+ <triangle index="2692" v0="1421" v1="1422" v2="1436" />
+ <triangle index="2693" v0="1422" v1="1436" v2="1437" />
+ <triangle index="2694" v0="1422" v1="1423" v2="1437" />
+ <triangle index="2695" v0="1423" v1="1437" v2="1438" />
+ <triangle index="2696" v0="1423" v1="1424" v2="1438" />
+ <triangle index="2697" v0="1424" v1="1438" v2="1439" />
+ <triangle index="2698" v0="1424" v1="1425" v2="1439" />
+ <triangle index="2699" v0="1425" v1="1439" v2="1440" />
+ <triangle index="2700" v0="480" v1="481" v2="1441" />
+ <triangle index="2701" v0="481" v1="1441" v2="1442" />
+ <triangle index="2702" v0="481" v1="482" v2="1442" />
+ <triangle index="2703" v0="482" v1="1442" v2="1443" />
+ <triangle index="2704" v0="482" v1="483" v2="1443" />
+ <triangle index="2705" v0="483" v1="1443" v2="1444" />
+ <triangle index="2706" v0="483" v1="484" v2="1444" />
+ <triangle index="2707" v0="484" v1="1444" v2="1445" />
+ <triangle index="2708" v0="484" v1="485" v2="1445" />
+ <triangle index="2709" v0="485" v1="1445" v2="1446" />
+ <triangle index="2710" v0="485" v1="486" v2="1446" />
+ <triangle index="2711" v0="486" v1="1446" v2="1447" />
+ <triangle index="2712" v0="486" v1="487" v2="1447" />
+ <triangle index="2713" v0="487" v1="1447" v2="1448" />
+ <triangle index="2714" v0="487" v1="488" v2="1448" />
+ <triangle index="2715" v0="488" v1="1448" v2="1449" />
+ <triangle index="2716" v0="488" v1="489" v2="1449" />
+ <triangle index="2717" v0="489" v1="1449" v2="1450" />
+ <triangle index="2718" v0="489" v1="490" v2="1450" />
+ <triangle index="2719" v0="490" v1="1450" v2="1451" />
+ <triangle index="2720" v0="490" v1="491" v2="1451" />
+ <triangle index="2721" v0="491" v1="1451" v2="1452" />
+ <triangle index="2722" v0="491" v1="492" v2="1452" />
+ <triangle index="2723" v0="492" v1="1452" v2="1453" />
+ <triangle index="2724" v0="492" v1="493" v2="1453" />
+ <triangle index="2725" v0="493" v1="1453" v2="1454" />
+ <triangle index="2726" v0="493" v1="494" v2="1454" />
+ <triangle index="2727" v0="494" v1="1454" v2="1455" />
+ <triangle index="2728" v0="494" v1="495" v2="1455" />
+ <triangle index="2729" v0="495" v1="1455" v2="1456" />
+ <triangle index="2730" v0="495" v1="1426" v2="1456" />
+ <triangle index="2731" v0="1426" v1="1456" v2="1457" />
+ <triangle index="2732" v0="1426" v1="1427" v2="1457" />
+ <triangle index="2733" v0="1427" v1="1457" v2="1458" />
+ <triangle index="2734" v0="1427" v1="1428" v2="1458" />
+ <triangle index="2735" v0="1428" v1="1458" v2="1459" />
+ <triangle index="2736" v0="1428" v1="1429" v2="1459" />
+ <triangle index="2737" v0="1429" v1="1459" v2="1460" />
+ <triangle index="2738" v0="1429" v1="1430" v2="1460" />
+ <triangle index="2739" v0="1430" v1="1460" v2="1461" />
+ <triangle index="2740" v0="1430" v1="1431" v2="1461" />
+ <triangle index="2741" v0="1431" v1="1461" v2="1462" />
+ <triangle index="2742" v0="1431" v1="1432" v2="1462" />
+ <triangle index="2743" v0="1432" v1="1462" v2="1463" />
+ <triangle index="2744" v0="1432" v1="1433" v2="1463" />
+ <triangle index="2745" v0="1433" v1="1463" v2="1464" />
+ <triangle index="2746" v0="1433" v1="1434" v2="1464" />
+ <triangle index="2747" v0="1434" v1="1464" v2="1465" />
+ <triangle index="2748" v0="1434" v1="1435" v2="1465" />
+ <triangle index="2749" v0="1435" v1="1465" v2="1466" />
+ <triangle index="2750" v0="1435" v1="1436" v2="1466" />
+ <triangle index="2751" v0="1436" v1="1466" v2="1467" />
+ <triangle index="2752" v0="1436" v1="1437" v2="1467" />
+ <triangle index="2753" v0="1437" v1="1467" v2="1468" />
+ <triangle index="2754" v0="1437" v1="1438" v2="1468" />
+ <triangle index="2755" v0="1438" v1="1468" v2="1469" />
+ <triangle index="2756" v0="1438" v1="1439" v2="1469" />
+ <triangle index="2757" v0="1439" v1="1469" v2="1470" />
+ <triangle index="2758" v0="1439" v1="1440" v2="1470" />
+ <triangle index="2759" v0="1440" v1="1470" v2="1471" />
+ <triangle index="2760" v0="1441" v1="1442" v2="1472" />
+ <triangle index="2761" v0="1442" v1="1472" v2="1473" />
+ <triangle index="2762" v0="1442" v1="1443" v2="1473" />
+ <triangle index="2763" v0="1443" v1="1473" v2="1474" />
+ <triangle index="2764" v0="1443" v1="1444" v2="1474" />
+ <triangle index="2765" v0="1444" v1="1474" v2="1475" />
+ <triangle index="2766" v0="1444" v1="1445" v2="1475" />
+ <triangle index="2767" v0="1445" v1="1475" v2="1476" />
+ <triangle index="2768" v0="1445" v1="1446" v2="1476" />
+ <triangle index="2769" v0="1446" v1="1476" v2="1477" />
+ <triangle index="2770" v0="1446" v1="1447" v2="1477" />
+ <triangle index="2771" v0="1447" v1="1477" v2="1478" />
+ <triangle index="2772" v0="1447" v1="1448" v2="1478" />
+ <triangle index="2773" v0="1448" v1="1478" v2="1479" />
+ <triangle index="2774" v0="1448" v1="1449" v2="1479" />
+ <triangle index="2775" v0="1449" v1="1479" v2="1480" />
+ <triangle index="2776" v0="1449" v1="1450" v2="1480" />
+ <triangle index="2777" v0="1450" v1="1480" v2="1481" />
+ <triangle index="2778" v0="1450" v1="1451" v2="1481" />
+ <triangle index="2779" v0="1451" v1="1481" v2="1482" />
+ <triangle index="2780" v0="1451" v1="1452" v2="1482" />
+ <triangle index="2781" v0="1452" v1="1482" v2="1483" />
+ <triangle index="2782" v0="1452" v1="1453" v2="1483" />
+ <triangle index="2783" v0="1453" v1="1483" v2="1484" />
+ <triangle index="2784" v0="1453" v1="1454" v2="1484" />
+ <triangle index="2785" v0="1454" v1="1484" v2="1485" />
+ <triangle index="2786" v0="1454" v1="1455" v2="1485" />
+ <triangle index="2787" v0="1455" v1="1485" v2="1486" />
+ <triangle index="2788" v0="1455" v1="1456" v2="1486" />
+ <triangle index="2789" v0="1456" v1="1486" v2="1487" />
+ <triangle index="2790" v0="1456" v1="1457" v2="1487" />
+ <triangle index="2791" v0="1457" v1="1487" v2="1488" />
+ <triangle index="2792" v0="1457" v1="1458" v2="1488" />
+ <triangle index="2793" v0="1458" v1="1488" v2="1489" />
+ <triangle index="2794" v0="1458" v1="1459" v2="1489" />
+ <triangle index="2795" v0="1459" v1="1489" v2="1490" />
+ <triangle index="2796" v0="1459" v1="1460" v2="1490" />
+ <triangle index="2797" v0="1460" v1="1490" v2="1491" />
+ <triangle index="2798" v0="1460" v1="1461" v2="1491" />
+ <triangle index="2799" v0="1461" v1="1491" v2="1492" />
+ <triangle index="2800" v0="1461" v1="1462" v2="1492" />
+ <triangle index="2801" v0="1462" v1="1492" v2="1493" />
+ <triangle index="2802" v0="1462" v1="1463" v2="1493" />
+ <triangle index="2803" v0="1463" v1="1493" v2="1494" />
+ <triangle index="2804" v0="1463" v1="1464" v2="1494" />
+ <triangle index="2805" v0="1464" v1="1494" v2="1495" />
+ <triangle index="2806" v0="1464" v1="1465" v2="1495" />
+ <triangle index="2807" v0="1465" v1="1495" v2="1496" />
+ <triangle index="2808" v0="1465" v1="1466" v2="1496" />
+ <triangle index="2809" v0="1466" v1="1496" v2="1497" />
+ <triangle index="2810" v0="1466" v1="1467" v2="1497" />
+ <triangle index="2811" v0="1467" v1="1497" v2="1498" />
+ <triangle index="2812" v0="1467" v1="1468" v2="1498" />
+ <triangle index="2813" v0="1468" v1="1498" v2="1499" />
+ <triangle index="2814" v0="1468" v1="1469" v2="1499" />
+ <triangle index="2815" v0="1469" v1="1499" v2="1500" />
+ <triangle index="2816" v0="1469" v1="1470" v2="1500" />
+ <triangle index="2817" v0="1470" v1="1500" v2="1501" />
+ <triangle index="2818" v0="1470" v1="1471" v2="1501" />
+ <triangle index="2819" v0="1471" v1="1501" v2="1502" />
+ <triangle index="2820" v0="1472" v1="1473" v2="1503" />
+ <triangle index="2821" v0="1473" v1="1503" v2="1504" />
+ <triangle index="2822" v0="1473" v1="1474" v2="1504" />
+ <triangle index="2823" v0="1474" v1="1504" v2="1505" />
+ <triangle index="2824" v0="1474" v1="1475" v2="1505" />
+ <triangle index="2825" v0="1475" v1="1505" v2="1506" />
+ <triangle index="2826" v0="1475" v1="1476" v2="1506" />
+ <triangle index="2827" v0="1476" v1="1506" v2="1507" />
+ <triangle index="2828" v0="1476" v1="1477" v2="1507" />
+ <triangle index="2829" v0="1477" v1="1507" v2="1508" />
+ <triangle index="2830" v0="1477" v1="1478" v2="1508" />
+ <triangle index="2831" v0="1478" v1="1508" v2="1509" />
+ <triangle index="2832" v0="1478" v1="1479" v2="1509" />
+ <triangle index="2833" v0="1479" v1="1509" v2="1510" />
+ <triangle index="2834" v0="1479" v1="1480" v2="1510" />
+ <triangle index="2835" v0="1480" v1="1510" v2="1511" />
+ <triangle index="2836" v0="1480" v1="1481" v2="1511" />
+ <triangle index="2837" v0="1481" v1="1511" v2="1512" />
+ <triangle index="2838" v0="1481" v1="1482" v2="1512" />
+ <triangle index="2839" v0="1482" v1="1512" v2="1513" />
+ <triangle index="2840" v0="1482" v1="1483" v2="1513" />
+ <triangle index="2841" v0="1483" v1="1513" v2="1514" />
+ <triangle index="2842" v0="1483" v1="1484" v2="1514" />
+ <triangle index="2843" v0="1484" v1="1514" v2="1515" />
+ <triangle index="2844" v0="1484" v1="1485" v2="1515" />
+ <triangle index="2845" v0="1485" v1="1515" v2="1516" />
+ <triangle index="2846" v0="1485" v1="1486" v2="1516" />
+ <triangle index="2847" v0="1486" v1="1516" v2="1517" />
+ <triangle index="2848" v0="1486" v1="1487" v2="1517" />
+ <triangle index="2849" v0="1487" v1="1517" v2="1518" />
+ <triangle index="2850" v0="1487" v1="1488" v2="1518" />
+ <triangle index="2851" v0="1488" v1="1518" v2="1519" />
+ <triangle index="2852" v0="1488" v1="1489" v2="1519" />
+ <triangle index="2853" v0="1489" v1="1519" v2="1520" />
+ <triangle index="2854" v0="1489" v1="1490" v2="1520" />
+ <triangle index="2855" v0="1490" v1="1520" v2="1521" />
+ <triangle index="2856" v0="1490" v1="1491" v2="1521" />
+ <triangle index="2857" v0="1491" v1="1521" v2="1522" />
+ <triangle index="2858" v0="1491" v1="1492" v2="1522" />
+ <triangle index="2859" v0="1492" v1="1522" v2="1523" />
+ <triangle index="2860" v0="1492" v1="1493" v2="1523" />
+ <triangle index="2861" v0="1493" v1="1523" v2="1524" />
+ <triangle index="2862" v0="1493" v1="1494" v2="1524" />
+ <triangle index="2863" v0="1494" v1="1524" v2="1525" />
+ <triangle index="2864" v0="1494" v1="1495" v2="1525" />
+ <triangle index="2865" v0="1495" v1="1525" v2="1526" />
+ <triangle index="2866" v0="1495" v1="1496" v2="1526" />
+ <triangle index="2867" v0="1496" v1="1526" v2="1527" />
+ <triangle index="2868" v0="1496" v1="1497" v2="1527" />
+ <triangle index="2869" v0="1497" v1="1527" v2="1528" />
+ <triangle index="2870" v0="1497" v1="1498" v2="1528" />
+ <triangle index="2871" v0="1498" v1="1528" v2="1529" />
+ <triangle index="2872" v0="1498" v1="1499" v2="1529" />
+ <triangle index="2873" v0="1499" v1="1529" v2="1530" />
+ <triangle index="2874" v0="1499" v1="1500" v2="1530" />
+ <triangle index="2875" v0="1500" v1="1530" v2="1531" />
+ <triangle index="2876" v0="1500" v1="1501" v2="1531" />
+ <triangle index="2877" v0="1501" v1="1531" v2="1532" />
+ <triangle index="2878" v0="1501" v1="1502" v2="1532" />
+ <triangle index="2879" v0="1502" v1="1532" v2="1533" />
+ <triangle index="2880" v0="1503" v1="1504" v2="1534" />
+ <triangle index="2881" v0="1504" v1="1534" v2="1535" />
+ <triangle index="2882" v0="1504" v1="1505" v2="1535" />
+ <triangle index="2883" v0="1505" v1="1535" v2="1536" />
+ <triangle index="2884" v0="1505" v1="1506" v2="1536" />
+ <triangle index="2885" v0="1506" v1="1536" v2="1537" />
+ <triangle index="2886" v0="1506" v1="1507" v2="1537" />
+ <triangle index="2887" v0="1507" v1="1537" v2="1538" />
+ <triangle index="2888" v0="1507" v1="1508" v2="1538" />
+ <triangle index="2889" v0="1508" v1="1538" v2="1539" />
+ <triangle index="2890" v0="1508" v1="1509" v2="1539" />
+ <triangle index="2891" v0="1509" v1="1539" v2="1540" />
+ <triangle index="2892" v0="1509" v1="1510" v2="1540" />
+ <triangle index="2893" v0="1510" v1="1540" v2="1541" />
+ <triangle index="2894" v0="1510" v1="1511" v2="1541" />
+ <triangle index="2895" v0="1511" v1="1541" v2="1542" />
+ <triangle index="2896" v0="1511" v1="1512" v2="1542" />
+ <triangle index="2897" v0="1512" v1="1542" v2="1543" />
+ <triangle index="2898" v0="1512" v1="1513" v2="1543" />
+ <triangle index="2899" v0="1513" v1="1543" v2="1544" />
+ <triangle index="2900" v0="1513" v1="1514" v2="1544" />
+ <triangle index="2901" v0="1514" v1="1544" v2="1545" />
+ <triangle index="2902" v0="1514" v1="1515" v2="1545" />
+ <triangle index="2903" v0="1515" v1="1545" v2="1546" />
+ <triangle index="2904" v0="1515" v1="1516" v2="1546" />
+ <triangle index="2905" v0="1516" v1="1546" v2="1547" />
+ <triangle index="2906" v0="1516" v1="1517" v2="1547" />
+ <triangle index="2907" v0="1517" v1="1547" v2="1548" />
+ <triangle index="2908" v0="1517" v1="1518" v2="1548" />
+ <triangle index="2909" v0="1518" v1="1548" v2="1549" />
+ <triangle index="2910" v0="1518" v1="1519" v2="1549" />
+ <triangle index="2911" v0="1519" v1="1549" v2="1550" />
+ <triangle index="2912" v0="1519" v1="1520" v2="1550" />
+ <triangle index="2913" v0="1520" v1="1550" v2="1551" />
+ <triangle index="2914" v0="1520" v1="1521" v2="1551" />
+ <triangle index="2915" v0="1521" v1="1551" v2="1552" />
+ <triangle index="2916" v0="1521" v1="1522" v2="1552" />
+ <triangle index="2917" v0="1522" v1="1552" v2="1553" />
+ <triangle index="2918" v0="1522" v1="1523" v2="1553" />
+ <triangle index="2919" v0="1523" v1="1553" v2="1554" />
+ <triangle index="2920" v0="1523" v1="1524" v2="1554" />
+ <triangle index="2921" v0="1524" v1="1554" v2="1555" />
+ <triangle index="2922" v0="1524" v1="1525" v2="1555" />
+ <triangle index="2923" v0="1525" v1="1555" v2="1556" />
+ <triangle index="2924" v0="1525" v1="1526" v2="1556" />
+ <triangle index="2925" v0="1526" v1="1556" v2="1557" />
+ <triangle index="2926" v0="1526" v1="1527" v2="1557" />
+ <triangle index="2927" v0="1527" v1="1557" v2="1558" />
+ <triangle index="2928" v0="1527" v1="1528" v2="1558" />
+ <triangle index="2929" v0="1528" v1="1558" v2="1559" />
+ <triangle index="2930" v0="1528" v1="1529" v2="1559" />
+ <triangle index="2931" v0="1529" v1="1559" v2="1560" />
+ <triangle index="2932" v0="1529" v1="1530" v2="1560" />
+ <triangle index="2933" v0="1530" v1="1560" v2="1561" />
+ <triangle index="2934" v0="1530" v1="1531" v2="1561" />
+ <triangle index="2935" v0="1531" v1="1561" v2="1562" />
+ <triangle index="2936" v0="1531" v1="1532" v2="1562" />
+ <triangle index="2937" v0="1532" v1="1562" v2="1563" />
+ <triangle index="2938" v0="1532" v1="1533" v2="1563" />
+ <triangle index="2939" v0="1533" v1="1563" v2="1564" />
+ <triangle index="2940" v0="1534" v1="1535" v2="1565" />
+ <triangle index="2941" v0="1535" v1="1565" v2="1566" />
+ <triangle index="2942" v0="1535" v1="1536" v2="1566" />
+ <triangle index="2943" v0="1536" v1="1566" v2="1567" />
+ <triangle index="2944" v0="1536" v1="1537" v2="1567" />
+ <triangle index="2945" v0="1537" v1="1567" v2="1568" />
+ <triangle index="2946" v0="1537" v1="1538" v2="1568" />
+ <triangle index="2947" v0="1538" v1="1568" v2="1569" />
+ <triangle index="2948" v0="1538" v1="1539" v2="1569" />
+ <triangle index="2949" v0="1539" v1="1569" v2="1570" />
+ <triangle index="2950" v0="1539" v1="1540" v2="1570" />
+ <triangle index="2951" v0="1540" v1="1570" v2="1571" />
+ <triangle index="2952" v0="1540" v1="1541" v2="1571" />
+ <triangle index="2953" v0="1541" v1="1571" v2="1572" />
+ <triangle index="2954" v0="1541" v1="1542" v2="1572" />
+ <triangle index="2955" v0="1542" v1="1572" v2="1573" />
+ <triangle index="2956" v0="1542" v1="1543" v2="1573" />
+ <triangle index="2957" v0="1543" v1="1573" v2="1574" />
+ <triangle index="2958" v0="1543" v1="1544" v2="1574" />
+ <triangle index="2959" v0="1544" v1="1574" v2="1575" />
+ <triangle index="2960" v0="1544" v1="1545" v2="1575" />
+ <triangle index="2961" v0="1545" v1="1575" v2="1576" />
+ <triangle index="2962" v0="1545" v1="1546" v2="1576" />
+ <triangle index="2963" v0="1546" v1="1576" v2="1577" />
+ <triangle index="2964" v0="1546" v1="1547" v2="1577" />
+ <triangle index="2965" v0="1547" v1="1577" v2="1578" />
+ <triangle index="2966" v0="1547" v1="1548" v2="1578" />
+ <triangle index="2967" v0="1548" v1="1578" v2="1579" />
+ <triangle index="2968" v0="1548" v1="1549" v2="1579" />
+ <triangle index="2969" v0="1549" v1="1579" v2="1580" />
+ <triangle index="2970" v0="1549" v1="1550" v2="1580" />
+ <triangle index="2971" v0="1550" v1="1580" v2="1581" />
+ <triangle index="2972" v0="1550" v1="1551" v2="1581" />
+ <triangle index="2973" v0="1551" v1="1581" v2="1582" />
+ <triangle index="2974" v0="1551" v1="1552" v2="1582" />
+ <triangle index="2975" v0="1552" v1="1582" v2="1583" />
+ <triangle index="2976" v0="1552" v1="1553" v2="1583" />
+ <triangle index="2977" v0="1553" v1="1583" v2="1584" />
+ <triangle index="2978" v0="1553" v1="1554" v2="1584" />
+ <triangle index="2979" v0="1554" v1="1584" v2="1585" />
+ <triangle index="2980" v0="1554" v1="1555" v2="1585" />
+ <triangle index="2981" v0="1555" v1="1585" v2="1586" />
+ <triangle index="2982" v0="1555" v1="1556" v2="1586" />
+ <triangle index="2983" v0="1556" v1="1586" v2="1587" />
+ <triangle index="2984" v0="1556" v1="1557" v2="1587" />
+ <triangle index="2985" v0="1557" v1="1587" v2="1588" />
+ <triangle index="2986" v0="1557" v1="1558" v2="1588" />
+ <triangle index="2987" v0="1558" v1="1588" v2="1589" />
+ <triangle index="2988" v0="1558" v1="1559" v2="1589" />
+ <triangle index="2989" v0="1559" v1="1589" v2="1590" />
+ <triangle index="2990" v0="1559" v1="1560" v2="1590" />
+ <triangle index="2991" v0="1560" v1="1590" v2="1591" />
+ <triangle index="2992" v0="1560" v1="1561" v2="1591" />
+ <triangle index="2993" v0="1561" v1="1591" v2="1592" />
+ <triangle index="2994" v0="1561" v1="1562" v2="1592" />
+ <triangle index="2995" v0="1562" v1="1592" v2="1593" />
+ <triangle index="2996" v0="1562" v1="1563" v2="1593" />
+ <triangle index="2997" v0="1563" v1="1593" v2="1594" />
+ <triangle index="2998" v0="1563" v1="1564" v2="1594" />
+ <triangle index="2999" v0="1564" v1="1594" v2="1595" />
+ <triangle index="3000" v0="1565" v1="1566" v2="1596" />
+ <triangle index="3001" v0="1566" v1="1596" v2="1597" />
+ <triangle index="3002" v0="1566" v1="1567" v2="1597" />
+ <triangle index="3003" v0="1567" v1="1597" v2="1598" />
+ <triangle index="3004" v0="1567" v1="1568" v2="1598" />
+ <triangle index="3005" v0="1568" v1="1598" v2="1599" />
+ <triangle index="3006" v0="1568" v1="1569" v2="1599" />
+ <triangle index="3007" v0="1569" v1="1599" v2="1600" />
+ <triangle index="3008" v0="1569" v1="1570" v2="1600" />
+ <triangle index="3009" v0="1570" v1="1600" v2="1601" />
+ <triangle index="3010" v0="1570" v1="1571" v2="1601" />
+ <triangle index="3011" v0="1571" v1="1601" v2="1602" />
+ <triangle index="3012" v0="1571" v1="1572" v2="1602" />
+ <triangle index="3013" v0="1572" v1="1602" v2="1603" />
+ <triangle index="3014" v0="1572" v1="1573" v2="1603" />
+ <triangle index="3015" v0="1573" v1="1603" v2="1604" />
+ <triangle index="3016" v0="1573" v1="1574" v2="1604" />
+ <triangle index="3017" v0="1574" v1="1604" v2="1605" />
+ <triangle index="3018" v0="1574" v1="1575" v2="1605" />
+ <triangle index="3019" v0="1575" v1="1605" v2="1606" />
+ <triangle index="3020" v0="1575" v1="1576" v2="1606" />
+ <triangle index="3021" v0="1576" v1="1606" v2="1607" />
+ <triangle index="3022" v0="1576" v1="1577" v2="1607" />
+ <triangle index="3023" v0="1577" v1="1607" v2="1608" />
+ <triangle index="3024" v0="1577" v1="1578" v2="1608" />
+ <triangle index="3025" v0="1578" v1="1608" v2="1609" />
+ <triangle index="3026" v0="1578" v1="1579" v2="1609" />
+ <triangle index="3027" v0="1579" v1="1609" v2="1610" />
+ <triangle index="3028" v0="1579" v1="1580" v2="1610" />
+ <triangle index="3029" v0="1580" v1="1610" v2="1611" />
+ <triangle index="3030" v0="1580" v1="1581" v2="1611" />
+ <triangle index="3031" v0="1581" v1="1611" v2="1612" />
+ <triangle index="3032" v0="1581" v1="1582" v2="1612" />
+ <triangle index="3033" v0="1582" v1="1612" v2="1613" />
+ <triangle index="3034" v0="1582" v1="1583" v2="1613" />
+ <triangle index="3035" v0="1583" v1="1613" v2="1614" />
+ <triangle index="3036" v0="1583" v1="1584" v2="1614" />
+ <triangle index="3037" v0="1584" v1="1614" v2="1615" />
+ <triangle index="3038" v0="1584" v1="1585" v2="1615" />
+ <triangle index="3039" v0="1585" v1="1615" v2="1616" />
+ <triangle index="3040" v0="1585" v1="1586" v2="1616" />
+ <triangle index="3041" v0="1586" v1="1616" v2="1617" />
+ <triangle index="3042" v0="1586" v1="1587" v2="1617" />
+ <triangle index="3043" v0="1587" v1="1617" v2="1618" />
+ <triangle index="3044" v0="1587" v1="1588" v2="1618" />
+ <triangle index="3045" v0="1588" v1="1618" v2="1619" />
+ <triangle index="3046" v0="1588" v1="1589" v2="1619" />
+ <triangle index="3047" v0="1589" v1="1619" v2="1620" />
+ <triangle index="3048" v0="1589" v1="1590" v2="1620" />
+ <triangle index="3049" v0="1590" v1="1620" v2="1621" />
+ <triangle index="3050" v0="1590" v1="1591" v2="1621" />
+ <triangle index="3051" v0="1591" v1="1621" v2="1622" />
+ <triangle index="3052" v0="1591" v1="1592" v2="1622" />
+ <triangle index="3053" v0="1592" v1="1622" v2="1623" />
+ <triangle index="3054" v0="1592" v1="1593" v2="1623" />
+ <triangle index="3055" v0="1593" v1="1623" v2="1624" />
+ <triangle index="3056" v0="1593" v1="1594" v2="1624" />
+ <triangle index="3057" v0="1594" v1="1624" v2="1625" />
+ <triangle index="3058" v0="1594" v1="1595" v2="1625" />
+ <triangle index="3059" v0="1595" v1="1625" v2="1626" />
+ <triangle index="3060" v0="1596" v1="1597" v2="1627" />
+ <triangle index="3061" v0="1597" v1="1627" v2="1628" />
+ <triangle index="3062" v0="1597" v1="1598" v2="1628" />
+ <triangle index="3063" v0="1598" v1="1628" v2="1629" />
+ <triangle index="3064" v0="1598" v1="1599" v2="1629" />
+ <triangle index="3065" v0="1599" v1="1629" v2="1630" />
+ <triangle index="3066" v0="1599" v1="1600" v2="1630" />
+ <triangle index="3067" v0="1600" v1="1630" v2="1631" />
+ <triangle index="3068" v0="1600" v1="1601" v2="1631" />
+ <triangle index="3069" v0="1601" v1="1631" v2="1632" />
+ <triangle index="3070" v0="1601" v1="1602" v2="1632" />
+ <triangle index="3071" v0="1602" v1="1632" v2="1633" />
+ <triangle index="3072" v0="1602" v1="1603" v2="1633" />
+ <triangle index="3073" v0="1603" v1="1633" v2="1634" />
+ <triangle index="3074" v0="1603" v1="1604" v2="1634" />
+ <triangle index="3075" v0="1604" v1="1634" v2="1635" />
+ <triangle index="3076" v0="1604" v1="1605" v2="1635" />
+ <triangle index="3077" v0="1605" v1="1635" v2="1636" />
+ <triangle index="3078" v0="1605" v1="1606" v2="1636" />
+ <triangle index="3079" v0="1606" v1="1636" v2="1637" />
+ <triangle index="3080" v0="1606" v1="1607" v2="1637" />
+ <triangle index="3081" v0="1607" v1="1637" v2="1638" />
+ <triangle index="3082" v0="1607" v1="1608" v2="1638" />
+ <triangle index="3083" v0="1608" v1="1638" v2="1639" />
+ <triangle index="3084" v0="1608" v1="1609" v2="1639" />
+ <triangle index="3085" v0="1609" v1="1639" v2="1640" />
+ <triangle index="3086" v0="1609" v1="1610" v2="1640" />
+ <triangle index="3087" v0="1610" v1="1640" v2="1641" />
+ <triangle index="3088" v0="1610" v1="1611" v2="1641" />
+ <triangle index="3089" v0="1611" v1="1641" v2="1642" />
+ <triangle index="3090" v0="1611" v1="1612" v2="1642" />
+ <triangle index="3091" v0="1612" v1="1642" v2="1643" />
+ <triangle index="3092" v0="1612" v1="1613" v2="1643" />
+ <triangle index="3093" v0="1613" v1="1643" v2="1644" />
+ <triangle index="3094" v0="1613" v1="1614" v2="1644" />
+ <triangle index="3095" v0="1614" v1="1644" v2="1645" />
+ <triangle index="3096" v0="1614" v1="1615" v2="1645" />
+ <triangle index="3097" v0="1615" v1="1645" v2="1646" />
+ <triangle index="3098" v0="1615" v1="1616" v2="1646" />
+ <triangle index="3099" v0="1616" v1="1646" v2="1647" />
+ <triangle index="3100" v0="1616" v1="1617" v2="1647" />
+ <triangle index="3101" v0="1617" v1="1647" v2="1648" />
+ <triangle index="3102" v0="1617" v1="1618" v2="1648" />
+ <triangle index="3103" v0="1618" v1="1648" v2="1649" />
+ <triangle index="3104" v0="1618" v1="1619" v2="1649" />
+ <triangle index="3105" v0="1619" v1="1649" v2="1650" />
+ <triangle index="3106" v0="1619" v1="1620" v2="1650" />
+ <triangle index="3107" v0="1620" v1="1650" v2="1651" />
+ <triangle index="3108" v0="1620" v1="1621" v2="1651" />
+ <triangle index="3109" v0="1621" v1="1651" v2="1652" />
+ <triangle index="3110" v0="1621" v1="1622" v2="1652" />
+ <triangle index="3111" v0="1622" v1="1652" v2="1653" />
+ <triangle index="3112" v0="1622" v1="1623" v2="1653" />
+ <triangle index="3113" v0="1623" v1="1653" v2="1654" />
+ <triangle index="3114" v0="1623" v1="1624" v2="1654" />
+ <triangle index="3115" v0="1624" v1="1654" v2="1655" />
+ <triangle index="3116" v0="1624" v1="1625" v2="1655" />
+ <triangle index="3117" v0="1625" v1="1655" v2="1656" />
+ <triangle index="3118" v0="1625" v1="1626" v2="1656" />
+ <triangle index="3119" v0="1626" v1="1656" v2="1657" />
+ <triangle index="3120" v0="1627" v1="1628" v2="1658" />
+ <triangle index="3121" v0="1628" v1="1658" v2="1659" />
+ <triangle index="3122" v0="1628" v1="1629" v2="1659" />
+ <triangle index="3123" v0="1629" v1="1659" v2="1660" />
+ <triangle index="3124" v0="1629" v1="1630" v2="1660" />
+ <triangle index="3125" v0="1630" v1="1660" v2="1661" />
+ <triangle index="3126" v0="1630" v1="1631" v2="1661" />
+ <triangle index="3127" v0="1631" v1="1661" v2="1662" />
+ <triangle index="3128" v0="1631" v1="1632" v2="1662" />
+ <triangle index="3129" v0="1632" v1="1662" v2="1663" />
+ <triangle index="3130" v0="1632" v1="1633" v2="1663" />
+ <triangle index="3131" v0="1633" v1="1663" v2="1664" />
+ <triangle index="3132" v0="1633" v1="1634" v2="1664" />
+ <triangle index="3133" v0="1634" v1="1664" v2="1665" />
+ <triangle index="3134" v0="1634" v1="1635" v2="1665" />
+ <triangle index="3135" v0="1635" v1="1665" v2="1666" />
+ <triangle index="3136" v0="1635" v1="1636" v2="1666" />
+ <triangle index="3137" v0="1636" v1="1666" v2="1667" />
+ <triangle index="3138" v0="1636" v1="1637" v2="1667" />
+ <triangle index="3139" v0="1637" v1="1667" v2="1668" />
+ <triangle index="3140" v0="1637" v1="1638" v2="1668" />
+ <triangle index="3141" v0="1638" v1="1668" v2="1669" />
+ <triangle index="3142" v0="1638" v1="1639" v2="1669" />
+ <triangle index="3143" v0="1639" v1="1669" v2="1670" />
+ <triangle index="3144" v0="1639" v1="1640" v2="1670" />
+ <triangle index="3145" v0="1640" v1="1670" v2="1671" />
+ <triangle index="3146" v0="1640" v1="1641" v2="1671" />
+ <triangle index="3147" v0="1641" v1="1671" v2="1672" />
+ <triangle index="3148" v0="1641" v1="1642" v2="1672" />
+ <triangle index="3149" v0="1642" v1="1672" v2="1673" />
+ <triangle index="3150" v0="1642" v1="1643" v2="1673" />
+ <triangle index="3151" v0="1643" v1="1673" v2="1674" />
+ <triangle index="3152" v0="1643" v1="1644" v2="1674" />
+ <triangle index="3153" v0="1644" v1="1674" v2="1675" />
+ <triangle index="3154" v0="1644" v1="1645" v2="1675" />
+ <triangle index="3155" v0="1645" v1="1675" v2="1676" />
+ <triangle index="3156" v0="1645" v1="1646" v2="1676" />
+ <triangle index="3157" v0="1646" v1="1676" v2="1677" />
+ <triangle index="3158" v0="1646" v1="1647" v2="1677" />
+ <triangle index="3159" v0="1647" v1="1677" v2="1678" />
+ <triangle index="3160" v0="1647" v1="1648" v2="1678" />
+ <triangle index="3161" v0="1648" v1="1678" v2="1679" />
+ <triangle index="3162" v0="1648" v1="1649" v2="1679" />
+ <triangle index="3163" v0="1649" v1="1679" v2="1680" />
+ <triangle index="3164" v0="1649" v1="1650" v2="1680" />
+ <triangle index="3165" v0="1650" v1="1680" v2="1681" />
+ <triangle index="3166" v0="1650" v1="1651" v2="1681" />
+ <triangle index="3167" v0="1651" v1="1681" v2="1682" />
+ <triangle index="3168" v0="1651" v1="1652" v2="1682" />
+ <triangle index="3169" v0="1652" v1="1682" v2="1683" />
+ <triangle index="3170" v0="1652" v1="1653" v2="1683" />
+ <triangle index="3171" v0="1653" v1="1683" v2="1684" />
+ <triangle index="3172" v0="1653" v1="1654" v2="1684" />
+ <triangle index="3173" v0="1654" v1="1684" v2="1685" />
+ <triangle index="3174" v0="1654" v1="1655" v2="1685" />
+ <triangle index="3175" v0="1655" v1="1685" v2="1686" />
+ <triangle index="3176" v0="1655" v1="1656" v2="1686" />
+ <triangle index="3177" v0="1656" v1="1686" v2="1687" />
+ <triangle index="3178" v0="1656" v1="1657" v2="1687" />
+ <triangle index="3179" v0="1657" v1="1687" v2="1688" />
+ <triangle index="3180" v0="1658" v1="1659" v2="1689" />
+ <triangle index="3181" v0="1659" v1="1689" v2="1690" />
+ <triangle index="3182" v0="1659" v1="1660" v2="1690" />
+ <triangle index="3183" v0="1660" v1="1690" v2="1691" />
+ <triangle index="3184" v0="1660" v1="1661" v2="1691" />
+ <triangle index="3185" v0="1661" v1="1691" v2="1692" />
+ <triangle index="3186" v0="1661" v1="1662" v2="1692" />
+ <triangle index="3187" v0="1662" v1="1692" v2="1693" />
+ <triangle index="3188" v0="1662" v1="1663" v2="1693" />
+ <triangle index="3189" v0="1663" v1="1693" v2="1694" />
+ <triangle index="3190" v0="1663" v1="1664" v2="1694" />
+ <triangle index="3191" v0="1664" v1="1694" v2="1695" />
+ <triangle index="3192" v0="1664" v1="1665" v2="1695" />
+ <triangle index="3193" v0="1665" v1="1695" v2="1696" />
+ <triangle index="3194" v0="1665" v1="1666" v2="1696" />
+ <triangle index="3195" v0="1666" v1="1696" v2="1697" />
+ <triangle index="3196" v0="1666" v1="1667" v2="1697" />
+ <triangle index="3197" v0="1667" v1="1697" v2="1698" />
+ <triangle index="3198" v0="1667" v1="1668" v2="1698" />
+ <triangle index="3199" v0="1668" v1="1698" v2="1699" />
+ <triangle index="3200" v0="1668" v1="1669" v2="1699" />
+ <triangle index="3201" v0="1669" v1="1699" v2="1700" />
+ <triangle index="3202" v0="1669" v1="1670" v2="1700" />
+ <triangle index="3203" v0="1670" v1="1700" v2="1701" />
+ <triangle index="3204" v0="1670" v1="1671" v2="1701" />
+ <triangle index="3205" v0="1671" v1="1701" v2="1702" />
+ <triangle index="3206" v0="1671" v1="1672" v2="1702" />
+ <triangle index="3207" v0="1672" v1="1702" v2="1703" />
+ <triangle index="3208" v0="1672" v1="1673" v2="1703" />
+ <triangle index="3209" v0="1673" v1="1703" v2="1704" />
+ <triangle index="3210" v0="1673" v1="1674" v2="1704" />
+ <triangle index="3211" v0="1674" v1="1704" v2="1705" />
+ <triangle index="3212" v0="1674" v1="1675" v2="1705" />
+ <triangle index="3213" v0="1675" v1="1705" v2="1706" />
+ <triangle index="3214" v0="1675" v1="1676" v2="1706" />
+ <triangle index="3215" v0="1676" v1="1706" v2="1707" />
+ <triangle index="3216" v0="1676" v1="1677" v2="1707" />
+ <triangle index="3217" v0="1677" v1="1707" v2="1708" />
+ <triangle index="3218" v0="1677" v1="1678" v2="1708" />
+ <triangle index="3219" v0="1678" v1="1708" v2="1709" />
+ <triangle index="3220" v0="1678" v1="1679" v2="1709" />
+ <triangle index="3221" v0="1679" v1="1709" v2="1710" />
+ <triangle index="3222" v0="1679" v1="1680" v2="1710" />
+ <triangle index="3223" v0="1680" v1="1710" v2="1711" />
+ <triangle index="3224" v0="1680" v1="1681" v2="1711" />
+ <triangle index="3225" v0="1681" v1="1711" v2="1712" />
+ <triangle index="3226" v0="1681" v1="1682" v2="1712" />
+ <triangle index="3227" v0="1682" v1="1712" v2="1713" />
+ <triangle index="3228" v0="1682" v1="1683" v2="1713" />
+ <triangle index="3229" v0="1683" v1="1713" v2="1714" />
+ <triangle index="3230" v0="1683" v1="1684" v2="1714" />
+ <triangle index="3231" v0="1684" v1="1714" v2="1715" />
+ <triangle index="3232" v0="1684" v1="1685" v2="1715" />
+ <triangle index="3233" v0="1685" v1="1715" v2="1716" />
+ <triangle index="3234" v0="1685" v1="1686" v2="1716" />
+ <triangle index="3235" v0="1686" v1="1716" v2="1717" />
+ <triangle index="3236" v0="1686" v1="1687" v2="1717" />
+ <triangle index="3237" v0="1687" v1="1717" v2="1718" />
+ <triangle index="3238" v0="1687" v1="1688" v2="1718" />
+ <triangle index="3239" v0="1688" v1="1718" v2="1719" />
+ <triangle index="3240" v0="1689" v1="1690" v2="1720" />
+ <triangle index="3241" v0="1690" v1="1720" v2="1721" />
+ <triangle index="3242" v0="1690" v1="1691" v2="1721" />
+ <triangle index="3243" v0="1691" v1="1721" v2="1722" />
+ <triangle index="3244" v0="1691" v1="1692" v2="1722" />
+ <triangle index="3245" v0="1692" v1="1722" v2="1723" />
+ <triangle index="3246" v0="1692" v1="1693" v2="1723" />
+ <triangle index="3247" v0="1693" v1="1723" v2="1724" />
+ <triangle index="3248" v0="1693" v1="1694" v2="1724" />
+ <triangle index="3249" v0="1694" v1="1724" v2="1725" />
+ <triangle index="3250" v0="1694" v1="1695" v2="1725" />
+ <triangle index="3251" v0="1695" v1="1725" v2="1726" />
+ <triangle index="3252" v0="1695" v1="1696" v2="1726" />
+ <triangle index="3253" v0="1696" v1="1726" v2="1727" />
+ <triangle index="3254" v0="1696" v1="1697" v2="1727" />
+ <triangle index="3255" v0="1697" v1="1727" v2="1728" />
+ <triangle index="3256" v0="1697" v1="1698" v2="1728" />
+ <triangle index="3257" v0="1698" v1="1728" v2="1729" />
+ <triangle index="3258" v0="1698" v1="1699" v2="1729" />
+ <triangle index="3259" v0="1699" v1="1729" v2="1730" />
+ <triangle index="3260" v0="1699" v1="1700" v2="1730" />
+ <triangle index="3261" v0="1700" v1="1730" v2="1731" />
+ <triangle index="3262" v0="1700" v1="1701" v2="1731" />
+ <triangle index="3263" v0="1701" v1="1731" v2="1732" />
+ <triangle index="3264" v0="1701" v1="1702" v2="1732" />
+ <triangle index="3265" v0="1702" v1="1732" v2="1733" />
+ <triangle index="3266" v0="1702" v1="1703" v2="1733" />
+ <triangle index="3267" v0="1703" v1="1733" v2="1734" />
+ <triangle index="3268" v0="1703" v1="1704" v2="1734" />
+ <triangle index="3269" v0="1704" v1="1734" v2="1735" />
+ <triangle index="3270" v0="1704" v1="1705" v2="1735" />
+ <triangle index="3271" v0="1705" v1="1735" v2="1736" />
+ <triangle index="3272" v0="1705" v1="1706" v2="1736" />
+ <triangle index="3273" v0="1706" v1="1736" v2="1737" />
+ <triangle index="3274" v0="1706" v1="1707" v2="1737" />
+ <triangle index="3275" v0="1707" v1="1737" v2="1738" />
+ <triangle index="3276" v0="1707" v1="1708" v2="1738" />
+ <triangle index="3277" v0="1708" v1="1738" v2="1739" />
+ <triangle index="3278" v0="1708" v1="1709" v2="1739" />
+ <triangle index="3279" v0="1709" v1="1739" v2="1740" />
+ <triangle index="3280" v0="1709" v1="1710" v2="1740" />
+ <triangle index="3281" v0="1710" v1="1740" v2="1741" />
+ <triangle index="3282" v0="1710" v1="1711" v2="1741" />
+ <triangle index="3283" v0="1711" v1="1741" v2="1742" />
+ <triangle index="3284" v0="1711" v1="1712" v2="1742" />
+ <triangle index="3285" v0="1712" v1="1742" v2="1743" />
+ <triangle index="3286" v0="1712" v1="1713" v2="1743" />
+ <triangle index="3287" v0="1713" v1="1743" v2="1744" />
+ <triangle index="3288" v0="1713" v1="1714" v2="1744" />
+ <triangle index="3289" v0="1714" v1="1744" v2="1745" />
+ <triangle index="3290" v0="1714" v1="1715" v2="1745" />
+ <triangle index="3291" v0="1715" v1="1745" v2="1746" />
+ <triangle index="3292" v0="1715" v1="1716" v2="1746" />
+ <triangle index="3293" v0="1716" v1="1746" v2="1747" />
+ <triangle index="3294" v0="1716" v1="1717" v2="1747" />
+ <triangle index="3295" v0="1717" v1="1747" v2="1748" />
+ <triangle index="3296" v0="1717" v1="1718" v2="1748" />
+ <triangle index="3297" v0="1718" v1="1748" v2="1749" />
+ <triangle index="3298" v0="1718" v1="1719" v2="1749" />
+ <triangle index="3299" v0="1719" v1="1749" v2="1750" />
+ <triangle index="3300" v0="1720" v1="1721" v2="1751" />
+ <triangle index="3301" v0="1721" v1="1751" v2="1752" />
+ <triangle index="3302" v0="1721" v1="1722" v2="1752" />
+ <triangle index="3303" v0="1722" v1="1752" v2="1753" />
+ <triangle index="3304" v0="1722" v1="1723" v2="1753" />
+ <triangle index="3305" v0="1723" v1="1753" v2="1754" />
+ <triangle index="3306" v0="1723" v1="1724" v2="1754" />
+ <triangle index="3307" v0="1724" v1="1754" v2="1755" />
+ <triangle index="3308" v0="1724" v1="1725" v2="1755" />
+ <triangle index="3309" v0="1725" v1="1755" v2="1756" />
+ <triangle index="3310" v0="1725" v1="1726" v2="1756" />
+ <triangle index="3311" v0="1726" v1="1756" v2="1757" />
+ <triangle index="3312" v0="1726" v1="1727" v2="1757" />
+ <triangle index="3313" v0="1727" v1="1757" v2="1758" />
+ <triangle index="3314" v0="1727" v1="1728" v2="1758" />
+ <triangle index="3315" v0="1728" v1="1758" v2="1759" />
+ <triangle index="3316" v0="1728" v1="1729" v2="1759" />
+ <triangle index="3317" v0="1729" v1="1759" v2="1760" />
+ <triangle index="3318" v0="1729" v1="1730" v2="1760" />
+ <triangle index="3319" v0="1730" v1="1760" v2="1761" />
+ <triangle index="3320" v0="1730" v1="1731" v2="1761" />
+ <triangle index="3321" v0="1731" v1="1761" v2="1762" />
+ <triangle index="3322" v0="1731" v1="1732" v2="1762" />
+ <triangle index="3323" v0="1732" v1="1762" v2="1763" />
+ <triangle index="3324" v0="1732" v1="1733" v2="1763" />
+ <triangle index="3325" v0="1733" v1="1763" v2="1764" />
+ <triangle index="3326" v0="1733" v1="1734" v2="1764" />
+ <triangle index="3327" v0="1734" v1="1764" v2="1765" />
+ <triangle index="3328" v0="1734" v1="1735" v2="1765" />
+ <triangle index="3329" v0="1735" v1="1765" v2="1766" />
+ <triangle index="3330" v0="1735" v1="1736" v2="1766" />
+ <triangle index="3331" v0="1736" v1="1766" v2="1767" />
+ <triangle index="3332" v0="1736" v1="1737" v2="1767" />
+ <triangle index="3333" v0="1737" v1="1767" v2="1768" />
+ <triangle index="3334" v0="1737" v1="1738" v2="1768" />
+ <triangle index="3335" v0="1738" v1="1768" v2="1769" />
+ <triangle index="3336" v0="1738" v1="1739" v2="1769" />
+ <triangle index="3337" v0="1739" v1="1769" v2="1770" />
+ <triangle index="3338" v0="1739" v1="1740" v2="1770" />
+ <triangle index="3339" v0="1740" v1="1770" v2="1771" />
+ <triangle index="3340" v0="1740" v1="1741" v2="1771" />
+ <triangle index="3341" v0="1741" v1="1771" v2="1772" />
+ <triangle index="3342" v0="1741" v1="1742" v2="1772" />
+ <triangle index="3343" v0="1742" v1="1772" v2="1773" />
+ <triangle index="3344" v0="1742" v1="1743" v2="1773" />
+ <triangle index="3345" v0="1743" v1="1773" v2="1774" />
+ <triangle index="3346" v0="1743" v1="1744" v2="1774" />
+ <triangle index="3347" v0="1744" v1="1774" v2="1775" />
+ <triangle index="3348" v0="1744" v1="1745" v2="1775" />
+ <triangle index="3349" v0="1745" v1="1775" v2="1776" />
+ <triangle index="3350" v0="1745" v1="1746" v2="1776" />
+ <triangle index="3351" v0="1746" v1="1776" v2="1777" />
+ <triangle index="3352" v0="1746" v1="1747" v2="1777" />
+ <triangle index="3353" v0="1747" v1="1777" v2="1778" />
+ <triangle index="3354" v0="1747" v1="1748" v2="1778" />
+ <triangle index="3355" v0="1748" v1="1778" v2="1779" />
+ <triangle index="3356" v0="1748" v1="1749" v2="1779" />
+ <triangle index="3357" v0="1749" v1="1779" v2="1780" />
+ <triangle index="3358" v0="1749" v1="1750" v2="1780" />
+ <triangle index="3359" v0="1750" v1="1780" v2="1781" />
+ <triangle index="3360" v0="1751" v1="1752" v2="1782" />
+ <triangle index="3361" v0="1752" v1="1782" v2="1783" />
+ <triangle index="3362" v0="1752" v1="1753" v2="1783" />
+ <triangle index="3363" v0="1753" v1="1783" v2="1784" />
+ <triangle index="3364" v0="1753" v1="1754" v2="1784" />
+ <triangle index="3365" v0="1754" v1="1784" v2="1785" />
+ <triangle index="3366" v0="1754" v1="1755" v2="1785" />
+ <triangle index="3367" v0="1755" v1="1785" v2="1786" />
+ <triangle index="3368" v0="1755" v1="1756" v2="1786" />
+ <triangle index="3369" v0="1756" v1="1786" v2="1787" />
+ <triangle index="3370" v0="1756" v1="1757" v2="1787" />
+ <triangle index="3371" v0="1757" v1="1787" v2="1788" />
+ <triangle index="3372" v0="1757" v1="1758" v2="1788" />
+ <triangle index="3373" v0="1758" v1="1788" v2="1789" />
+ <triangle index="3374" v0="1758" v1="1759" v2="1789" />
+ <triangle index="3375" v0="1759" v1="1789" v2="1790" />
+ <triangle index="3376" v0="1759" v1="1760" v2="1790" />
+ <triangle index="3377" v0="1760" v1="1790" v2="1791" />
+ <triangle index="3378" v0="1760" v1="1761" v2="1791" />
+ <triangle index="3379" v0="1761" v1="1791" v2="1792" />
+ <triangle index="3380" v0="1761" v1="1762" v2="1792" />
+ <triangle index="3381" v0="1762" v1="1792" v2="1793" />
+ <triangle index="3382" v0="1762" v1="1763" v2="1793" />
+ <triangle index="3383" v0="1763" v1="1793" v2="1794" />
+ <triangle index="3384" v0="1763" v1="1764" v2="1794" />
+ <triangle index="3385" v0="1764" v1="1794" v2="1795" />
+ <triangle index="3386" v0="1764" v1="1765" v2="1795" />
+ <triangle index="3387" v0="1765" v1="1795" v2="1796" />
+ <triangle index="3388" v0="1765" v1="1766" v2="1796" />
+ <triangle index="3389" v0="1766" v1="1796" v2="1797" />
+ <triangle index="3390" v0="1766" v1="1767" v2="1797" />
+ <triangle index="3391" v0="1767" v1="1797" v2="1798" />
+ <triangle index="3392" v0="1767" v1="1768" v2="1798" />
+ <triangle index="3393" v0="1768" v1="1798" v2="1799" />
+ <triangle index="3394" v0="1768" v1="1769" v2="1799" />
+ <triangle index="3395" v0="1769" v1="1799" v2="1800" />
+ <triangle index="3396" v0="1769" v1="1770" v2="1800" />
+ <triangle index="3397" v0="1770" v1="1800" v2="1801" />
+ <triangle index="3398" v0="1770" v1="1771" v2="1801" />
+ <triangle index="3399" v0="1771" v1="1801" v2="1802" />
+ <triangle index="3400" v0="1771" v1="1772" v2="1802" />
+ <triangle index="3401" v0="1772" v1="1802" v2="1803" />
+ <triangle index="3402" v0="1772" v1="1773" v2="1803" />
+ <triangle index="3403" v0="1773" v1="1803" v2="1804" />
+ <triangle index="3404" v0="1773" v1="1774" v2="1804" />
+ <triangle index="3405" v0="1774" v1="1804" v2="1805" />
+ <triangle index="3406" v0="1774" v1="1775" v2="1805" />
+ <triangle index="3407" v0="1775" v1="1805" v2="1806" />
+ <triangle index="3408" v0="1775" v1="1776" v2="1806" />
+ <triangle index="3409" v0="1776" v1="1806" v2="1807" />
+ <triangle index="3410" v0="1776" v1="1777" v2="1807" />
+ <triangle index="3411" v0="1777" v1="1807" v2="1808" />
+ <triangle index="3412" v0="1777" v1="1778" v2="1808" />
+ <triangle index="3413" v0="1778" v1="1808" v2="1809" />
+ <triangle index="3414" v0="1778" v1="1779" v2="1809" />
+ <triangle index="3415" v0="1779" v1="1809" v2="1810" />
+ <triangle index="3416" v0="1779" v1="1780" v2="1810" />
+ <triangle index="3417" v0="1780" v1="1810" v2="1811" />
+ <triangle index="3418" v0="1780" v1="1781" v2="1811" />
+ <triangle index="3419" v0="1781" v1="1811" v2="1812" />
+ <triangle index="3420" v0="1782" v1="1783" v2="1813" />
+ <triangle index="3421" v0="1783" v1="1813" v2="1814" />
+ <triangle index="3422" v0="1783" v1="1784" v2="1814" />
+ <triangle index="3423" v0="1784" v1="1814" v2="1815" />
+ <triangle index="3424" v0="1784" v1="1785" v2="1815" />
+ <triangle index="3425" v0="1785" v1="1815" v2="1816" />
+ <triangle index="3426" v0="1785" v1="1786" v2="1816" />
+ <triangle index="3427" v0="1786" v1="1816" v2="1817" />
+ <triangle index="3428" v0="1786" v1="1787" v2="1817" />
+ <triangle index="3429" v0="1787" v1="1817" v2="1818" />
+ <triangle index="3430" v0="1787" v1="1788" v2="1818" />
+ <triangle index="3431" v0="1788" v1="1818" v2="1819" />
+ <triangle index="3432" v0="1788" v1="1789" v2="1819" />
+ <triangle index="3433" v0="1789" v1="1819" v2="1820" />
+ <triangle index="3434" v0="1789" v1="1790" v2="1820" />
+ <triangle index="3435" v0="1790" v1="1820" v2="1821" />
+ <triangle index="3436" v0="1790" v1="1791" v2="1821" />
+ <triangle index="3437" v0="1791" v1="1821" v2="1822" />
+ <triangle index="3438" v0="1791" v1="1792" v2="1822" />
+ <triangle index="3439" v0="1792" v1="1822" v2="1823" />
+ <triangle index="3440" v0="1792" v1="1793" v2="1823" />
+ <triangle index="3441" v0="1793" v1="1823" v2="1824" />
+ <triangle index="3442" v0="1793" v1="1794" v2="1824" />
+ <triangle index="3443" v0="1794" v1="1824" v2="1825" />
+ <triangle index="3444" v0="1794" v1="1795" v2="1825" />
+ <triangle index="3445" v0="1795" v1="1825" v2="1826" />
+ <triangle index="3446" v0="1795" v1="1796" v2="1826" />
+ <triangle index="3447" v0="1796" v1="1826" v2="1827" />
+ <triangle index="3448" v0="1796" v1="1797" v2="1827" />
+ <triangle index="3449" v0="1797" v1="1827" v2="1828" />
+ <triangle index="3450" v0="1797" v1="1798" v2="1828" />
+ <triangle index="3451" v0="1798" v1="1828" v2="1829" />
+ <triangle index="3452" v0="1798" v1="1799" v2="1829" />
+ <triangle index="3453" v0="1799" v1="1829" v2="1830" />
+ <triangle index="3454" v0="1799" v1="1800" v2="1830" />
+ <triangle index="3455" v0="1800" v1="1830" v2="1831" />
+ <triangle index="3456" v0="1800" v1="1801" v2="1831" />
+ <triangle index="3457" v0="1801" v1="1831" v2="1832" />
+ <triangle index="3458" v0="1801" v1="1802" v2="1832" />
+ <triangle index="3459" v0="1802" v1="1832" v2="1833" />
+ <triangle index="3460" v0="1802" v1="1803" v2="1833" />
+ <triangle index="3461" v0="1803" v1="1833" v2="1834" />
+ <triangle index="3462" v0="1803" v1="1804" v2="1834" />
+ <triangle index="3463" v0="1804" v1="1834" v2="1835" />
+ <triangle index="3464" v0="1804" v1="1805" v2="1835" />
+ <triangle index="3465" v0="1805" v1="1835" v2="1836" />
+ <triangle index="3466" v0="1805" v1="1806" v2="1836" />
+ <triangle index="3467" v0="1806" v1="1836" v2="1837" />
+ <triangle index="3468" v0="1806" v1="1807" v2="1837" />
+ <triangle index="3469" v0="1807" v1="1837" v2="1838" />
+ <triangle index="3470" v0="1807" v1="1808" v2="1838" />
+ <triangle index="3471" v0="1808" v1="1838" v2="1839" />
+ <triangle index="3472" v0="1808" v1="1809" v2="1839" />
+ <triangle index="3473" v0="1809" v1="1839" v2="1840" />
+ <triangle index="3474" v0="1809" v1="1810" v2="1840" />
+ <triangle index="3475" v0="1810" v1="1840" v2="1841" />
+ <triangle index="3476" v0="1810" v1="1811" v2="1841" />
+ <triangle index="3477" v0="1811" v1="1841" v2="1842" />
+ <triangle index="3478" v0="1811" v1="1812" v2="1842" />
+ <triangle index="3479" v0="1812" v1="1842" v2="1843" />
+ <triangle index="3480" v0="1813" v1="1814" v2="1844" />
+ <triangle index="3481" v0="1814" v1="1844" v2="1845" />
+ <triangle index="3482" v0="1814" v1="1815" v2="1845" />
+ <triangle index="3483" v0="1815" v1="1845" v2="1846" />
+ <triangle index="3484" v0="1815" v1="1816" v2="1846" />
+ <triangle index="3485" v0="1816" v1="1846" v2="1847" />
+ <triangle index="3486" v0="1816" v1="1817" v2="1847" />
+ <triangle index="3487" v0="1817" v1="1847" v2="1848" />
+ <triangle index="3488" v0="1817" v1="1818" v2="1848" />
+ <triangle index="3489" v0="1818" v1="1848" v2="1849" />
+ <triangle index="3490" v0="1818" v1="1819" v2="1849" />
+ <triangle index="3491" v0="1819" v1="1849" v2="1850" />
+ <triangle index="3492" v0="1819" v1="1820" v2="1850" />
+ <triangle index="3493" v0="1820" v1="1850" v2="1851" />
+ <triangle index="3494" v0="1820" v1="1821" v2="1851" />
+ <triangle index="3495" v0="1821" v1="1851" v2="1852" />
+ <triangle index="3496" v0="1821" v1="1822" v2="1852" />
+ <triangle index="3497" v0="1822" v1="1852" v2="1853" />
+ <triangle index="3498" v0="1822" v1="1823" v2="1853" />
+ <triangle index="3499" v0="1823" v1="1853" v2="1854" />
+ <triangle index="3500" v0="1823" v1="1824" v2="1854" />
+ <triangle index="3501" v0="1824" v1="1854" v2="1855" />
+ <triangle index="3502" v0="1824" v1="1825" v2="1855" />
+ <triangle index="3503" v0="1825" v1="1855" v2="1856" />
+ <triangle index="3504" v0="1825" v1="1826" v2="1856" />
+ <triangle index="3505" v0="1826" v1="1856" v2="1857" />
+ <triangle index="3506" v0="1826" v1="1827" v2="1857" />
+ <triangle index="3507" v0="1827" v1="1857" v2="1858" />
+ <triangle index="3508" v0="1827" v1="1828" v2="1858" />
+ <triangle index="3509" v0="1828" v1="1858" v2="1859" />
+ <triangle index="3510" v0="1828" v1="1829" v2="1859" />
+ <triangle index="3511" v0="1829" v1="1859" v2="1860" />
+ <triangle index="3512" v0="1829" v1="1830" v2="1860" />
+ <triangle index="3513" v0="1830" v1="1860" v2="1861" />
+ <triangle index="3514" v0="1830" v1="1831" v2="1861" />
+ <triangle index="3515" v0="1831" v1="1861" v2="1862" />
+ <triangle index="3516" v0="1831" v1="1832" v2="1862" />
+ <triangle index="3517" v0="1832" v1="1862" v2="1863" />
+ <triangle index="3518" v0="1832" v1="1833" v2="1863" />
+ <triangle index="3519" v0="1833" v1="1863" v2="1864" />
+ <triangle index="3520" v0="1833" v1="1834" v2="1864" />
+ <triangle index="3521" v0="1834" v1="1864" v2="1865" />
+ <triangle index="3522" v0="1834" v1="1835" v2="1865" />
+ <triangle index="3523" v0="1835" v1="1865" v2="1866" />
+ <triangle index="3524" v0="1835" v1="1836" v2="1866" />
+ <triangle index="3525" v0="1836" v1="1866" v2="1867" />
+ <triangle index="3526" v0="1836" v1="1837" v2="1867" />
+ <triangle index="3527" v0="1837" v1="1867" v2="1868" />
+ <triangle index="3528" v0="1837" v1="1838" v2="1868" />
+ <triangle index="3529" v0="1838" v1="1868" v2="1869" />
+ <triangle index="3530" v0="1838" v1="1839" v2="1869" />
+ <triangle index="3531" v0="1839" v1="1869" v2="1870" />
+ <triangle index="3532" v0="1839" v1="1840" v2="1870" />
+ <triangle index="3533" v0="1840" v1="1870" v2="1871" />
+ <triangle index="3534" v0="1840" v1="1841" v2="1871" />
+ <triangle index="3535" v0="1841" v1="1871" v2="1872" />
+ <triangle index="3536" v0="1841" v1="1842" v2="1872" />
+ <triangle index="3537" v0="1842" v1="1872" v2="1873" />
+ <triangle index="3538" v0="1842" v1="1843" v2="1873" />
+ <triangle index="3539" v0="1843" v1="1873" v2="1874" />
+ <triangle index="3540" v0="1844" v1="1845" v2="1875" />
+ <triangle index="3541" v0="1845" v1="1875" v2="1876" />
+ <triangle index="3542" v0="1845" v1="1846" v2="1876" />
+ <triangle index="3543" v0="1846" v1="1876" v2="1877" />
+ <triangle index="3544" v0="1846" v1="1847" v2="1877" />
+ <triangle index="3545" v0="1847" v1="1877" v2="1878" />
+ <triangle index="3546" v0="1847" v1="1848" v2="1878" />
+ <triangle index="3547" v0="1848" v1="1878" v2="1879" />
+ <triangle index="3548" v0="1848" v1="1849" v2="1879" />
+ <triangle index="3549" v0="1849" v1="1879" v2="1880" />
+ <triangle index="3550" v0="1849" v1="1850" v2="1880" />
+ <triangle index="3551" v0="1850" v1="1880" v2="1881" />
+ <triangle index="3552" v0="1850" v1="1851" v2="1881" />
+ <triangle index="3553" v0="1851" v1="1881" v2="1882" />
+ <triangle index="3554" v0="1851" v1="1852" v2="1882" />
+ <triangle index="3555" v0="1852" v1="1882" v2="1883" />
+ <triangle index="3556" v0="1852" v1="1853" v2="1883" />
+ <triangle index="3557" v0="1853" v1="1883" v2="1884" />
+ <triangle index="3558" v0="1853" v1="1854" v2="1884" />
+ <triangle index="3559" v0="1854" v1="1884" v2="1885" />
+ <triangle index="3560" v0="1854" v1="1855" v2="1885" />
+ <triangle index="3561" v0="1855" v1="1885" v2="1886" />
+ <triangle index="3562" v0="1855" v1="1856" v2="1886" />
+ <triangle index="3563" v0="1856" v1="1886" v2="1887" />
+ <triangle index="3564" v0="1856" v1="1857" v2="1887" />
+ <triangle index="3565" v0="1857" v1="1887" v2="1888" />
+ <triangle index="3566" v0="1857" v1="1858" v2="1888" />
+ <triangle index="3567" v0="1858" v1="1888" v2="1889" />
+ <triangle index="3568" v0="1858" v1="1859" v2="1889" />
+ <triangle index="3569" v0="1859" v1="1889" v2="1890" />
+ <triangle index="3570" v0="1859" v1="1860" v2="1890" />
+ <triangle index="3571" v0="1860" v1="1890" v2="1891" />
+ <triangle index="3572" v0="1860" v1="1861" v2="1891" />
+ <triangle index="3573" v0="1861" v1="1891" v2="1892" />
+ <triangle index="3574" v0="1861" v1="1862" v2="1892" />
+ <triangle index="3575" v0="1862" v1="1892" v2="1893" />
+ <triangle index="3576" v0="1862" v1="1863" v2="1893" />
+ <triangle index="3577" v0="1863" v1="1893" v2="1894" />
+ <triangle index="3578" v0="1863" v1="1864" v2="1894" />
+ <triangle index="3579" v0="1864" v1="1894" v2="1895" />
+ <triangle index="3580" v0="1864" v1="1865" v2="1895" />
+ <triangle index="3581" v0="1865" v1="1895" v2="1896" />
+ <triangle index="3582" v0="1865" v1="1866" v2="1896" />
+ <triangle index="3583" v0="1866" v1="1896" v2="1897" />
+ <triangle index="3584" v0="1866" v1="1867" v2="1897" />
+ <triangle index="3585" v0="1867" v1="1897" v2="1898" />
+ <triangle index="3586" v0="1867" v1="1868" v2="1898" />
+ <triangle index="3587" v0="1868" v1="1898" v2="1899" />
+ <triangle index="3588" v0="1868" v1="1869" v2="1899" />
+ <triangle index="3589" v0="1869" v1="1899" v2="1900" />
+ <triangle index="3590" v0="1869" v1="1870" v2="1900" />
+ <triangle index="3591" v0="1870" v1="1900" v2="1901" />
+ <triangle index="3592" v0="1870" v1="1871" v2="1901" />
+ <triangle index="3593" v0="1871" v1="1901" v2="1902" />
+ <triangle index="3594" v0="1871" v1="1872" v2="1902" />
+ <triangle index="3595" v0="1872" v1="1902" v2="1903" />
+ <triangle index="3596" v0="1872" v1="1873" v2="1903" />
+ <triangle index="3597" v0="1873" v1="1903" v2="1904" />
+ <triangle index="3598" v0="1873" v1="1874" v2="1904" />
+ <triangle index="3599" v0="1874" v1="1904" v2="1905" />
+ </cells>
+ </mesh>
+</dolfin>
diff --git a/test/data/intersecting_surfaces.xml.gz b/test/data/intersecting_surfaces.xml.gz
deleted file mode 100644
index 2517a22..0000000
Binary files a/test/data/intersecting_surfaces.xml.gz and /dev/null differ
diff --git a/test/data/manifest.xml b/test/data/manifest.xml
new file mode 100755
index 0000000..52291cc
--- /dev/null
+++ b/test/data/manifest.xml
@@ -0,0 +1,62 @@
+<courseModule>
+
+ <module id="0">
+ <name><![CDATA[ CourseModule ]]></name>
+ <description><![CDATA[ Course Module ]]></description>
+ <uri><![CDATA[ ]]></uri>
+ </module>
+
+ <questions>
+
+ <question uid="f7614ec0-4e5d-446d-a5a4-eabd194b2615" modifiedBy="8e899c32-a71f-4ac2-b140-990fee1afa57" school="450a5fd9-9ee9-4425-bc34-7463628c51cf">
+ <mode>Inline</mode>
+ <name><![CDATA[ Extremvärdesproblem 2 ]]></name>
+ <editing>useHTML</editing>
+ <numberOfAttempts>1</numberOfAttempts>
+ <numberOfAttemptsLeft>1</numberOfAttemptsLeft>
+ <numberOfTryAnother>0</numberOfTryAnother>
+ <numberOfTryAnotherLeft>0</numberOfTryAnotherLeft>
+ <privacy>0</privacy>
+ <allowRepublish>false</allowRepublish>
+ <attributeAuthor>true</attributeAuthor>
+ <modifiedIn>10</modifiedIn>
+ <difficulty>0.0</difficulty>
+ <text><![CDATA[ <p> Bestäm minsta värdet för funktionen \(f(x) = 2/|x| + |x - 3| - \ln |x|\).</p><p> </p><p> Svara med en formel.</p><p> </p><p> <1></p> ]]></text>
+ <weighting>1</weighting>
+ <numbering>alpha</numbering>
+
+ <parts>
+
+ <part>
+ <mode>Formula</mode>
+ <name><![CDATA[ sro_id_1 ]]></name>
+ <editing>useHTML</editing>
+ <numberOfAttempts>1</numberOfAttempts>
+ <numberOfAttemptsLeft>1</numberOfAttemptsLeft>
+ <numberOfTryAnother>0</numberOfTryAnother>
+ <numberOfTryAnotherLeft>0</numberOfTryAnotherLeft>
+ <allowRepublish>false</allowRepublish>
+ <attributeAuthor>false</attributeAuthor>
+ <modifiedIn>10</modifiedIn>
+ <difficulty>0.0</difficulty>
+ <text><![CDATA[ (Unset) ]]></text>
+ <answer><![CDATA[ 2/3-ln(3) ]]></answer>
+ </part>
+ </parts>
+ </question>
+ </questions>
+
+ <authors>
+
+ <author uid="8e899c32-a71f-4ac2-b140-990fee1afa57" instanceUid="7fc22d96-399b-4619-83c6-0560aad32b8d" defaultSchool="450a5fd9-9ee9-4425-bc34-7463628c51cf">
+ <displayName><![CDATA[ Anders Logg ]]></displayName>
+ </author>
+ </authors>
+
+ <schools>
+
+ <school uid="450a5fd9-9ee9-4425-bc34-7463628c51cf">
+ <name><![CDATA[ Chalmers University of Technology ]]></name>
+ </school>
+ </schools>
+</courseModule>
\ No newline at end of file
diff --git a/test/data/snake.xml b/test/data/snake.xml
new file mode 100644
index 0000000..ad5b630
--- /dev/null
+++ b/test/data/snake.xml
@@ -0,0 +1,9487 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<dolfin xmlns:dolfin="http://www.fenics.org/dolfin/">
+ <mesh celltype="triangle" dim="2">
+ <vertices size="3321">
+ <vertex index="0" x="165" y="-55"/>
+ <vertex index="1" x="170" y="-57"/>
+ <vertex index="2" x="175" y="-61"/>
+ <vertex index="3" x="178" y="-66"/>
+ <vertex index="4" x="180" y="-71"/>
+ <vertex index="5" x="181" y="-76"/>
+ <vertex index="6" x="182" y="-81"/>
+ <vertex index="7" x="182" y="-86"/>
+ <vertex index="8" x="182" y="-91"/>
+ <vertex index="9" x="182" y="-96"/>
+ <vertex index="10" x="185" y="-101"/>
+ <vertex index="11" x="190" y="-104"/>
+ <vertex index="12" x="192" y="-109"/>
+ <vertex index="13" x="191" y="-114"/>
+ <vertex index="14" x="189" y="-119"/>
+ <vertex index="15" x="187" y="-124"/>
+ <vertex index="16" x="183" y="-127"/>
+ <vertex index="17" x="184" y="-132"/>
+ <vertex index="18" x="185" y="-137"/>
+ <vertex index="19" x="186" y="-142"/>
+ <vertex index="20" x="189" y="-147"/>
+ <vertex index="21" x="194" y="-151"/>
+ <vertex index="22" x="199" y="-153"/>
+ <vertex index="23" x="204" y="-155"/>
+ <vertex index="24" x="208" y="-160"/>
+ <vertex index="25" x="210" y="-165"/>
+ <vertex index="26" x="211" y="-170"/>
+ <vertex index="27" x="211" y="-175"/>
+ <vertex index="28" x="212" y="-180"/>
+ <vertex index="29" x="212" y="-185"/>
+ <vertex index="30" x="214" y="-190"/>
+ <vertex index="31" x="215" y="-195"/>
+ <vertex index="32" x="213" y="-193"/>
+ <vertex index="33" x="210" y="-188"/>
+ <vertex index="34" x="208" y="-183"/>
+ <vertex index="35" x="207" y="-178"/>
+ <vertex index="36" x="207" y="-173"/>
+ <vertex index="37" x="207" y="-168"/>
+ <vertex index="38" x="205" y="-163"/>
+ <vertex index="39" x="201" y="-158"/>
+ <vertex index="40" x="196" y="-155"/>
+ <vertex index="41" x="191" y="-153"/>
+ <vertex index="42" x="186" y="-151"/>
+ <vertex index="43" x="184" y="-154"/>
+ <vertex index="44" x="184" y="-159"/>
+ <vertex index="45" x="184" y="-164"/>
+ <vertex index="46" x="184" y="-169"/>
+ <vertex index="47" x="185" y="-174"/>
+ <vertex index="48" x="187" y="-179"/>
+ <vertex index="49" x="190" y="-184"/>
+ <vertex index="50" x="193" y="-189"/>
+ <vertex index="51" x="189" y="-187"/>
+ <vertex index="52" x="186" y="-182"/>
+ <vertex index="53" x="183" y="-177"/>
+ <vertex index="54" x="181" y="-172"/>
+ <vertex index="55" x="180" y="-167"/>
+ <vertex index="56" x="179" y="-162"/>
+ <vertex index="57" x="180" y="-157"/>
+ <vertex index="58" x="181" y="-152"/>
+ <vertex index="59" x="182" y="-147"/>
+ <vertex index="60" x="183" y="-142"/>
+ <vertex index="61" x="182" y="-137"/>
+ <vertex index="62" x="181" y="-132"/>
+ <vertex index="63" x="178" y="-128"/>
+ <vertex index="64" x="173" y="-129"/>
+ <vertex index="65" x="168" y="-128"/>
+ <vertex index="66" x="163" y="-125"/>
+ <vertex index="67" x="159" y="-121"/>
+ <vertex index="68" x="155" y="-117"/>
+ <vertex index="69" x="150" y="-115"/>
+ <vertex index="70" x="145" y="-114"/>
+ <vertex index="71" x="140" y="-113"/>
+ <vertex index="72" x="135" y="-112"/>
+ <vertex index="73" x="130" y="-111"/>
+ <vertex index="74" x="125" y="-109"/>
+ <vertex index="75" x="120" y="-106"/>
+ <vertex index="76" x="116" y="-102"/>
+ <vertex index="77" x="111" y="-98"/>
+ <vertex index="78" x="106" y="-96"/>
+ <vertex index="79" x="101" y="-97"/>
+ <vertex index="80" x="96" y="-98"/>
+ <vertex index="81" x="91" y="-101"/>
+ <vertex index="82" x="88" y="-105"/>
+ <vertex index="83" x="85" y="-110"/>
+ <vertex index="84" x="83" y="-115"/>
+ <vertex index="85" x="82" y="-120"/>
+ <vertex index="86" x="82" y="-125"/>
+ <vertex index="87" x="82" y="-130"/>
+ <vertex index="88" x="81" y="-135"/>
+ <vertex index="89" x="82" y="-140"/>
+ <vertex index="90" x="82" y="-145"/>
+ <vertex index="91" x="84" y="-150"/>
+ <vertex index="92" x="86" y="-155"/>
+ <vertex index="93" x="90" y="-160"/>
+ <vertex index="94" x="93" y="-164"/>
+ <vertex index="95" x="98" y="-169"/>
+ <vertex index="96" x="101" y="-173"/>
+ <vertex index="97" x="105" y="-177"/>
+ <vertex index="98" x="110" y="-181"/>
+ <vertex index="99" x="115" y="-184"/>
+ <vertex index="100" x="120" y="-187"/>
+ <vertex index="101" x="125" y="-191"/>
+ <vertex index="102" x="130" y="-194"/>
+ <vertex index="103" x="135" y="-197"/>
+ <vertex index="104" x="140" y="-200"/>
+ <vertex index="105" x="145" y="-203"/>
+ <vertex index="106" x="150" y="-206"/>
+ <vertex index="107" x="155" y="-209"/>
+ <vertex index="108" x="160" y="-211"/>
+ <vertex index="109" x="165" y="-213"/>
+ <vertex index="110" x="170" y="-215"/>
+ <vertex index="111" x="175" y="-218"/>
+ <vertex index="112" x="180" y="-220"/>
+ <vertex index="113" x="185" y="-222"/>
+ <vertex index="114" x="190" y="-225"/>
+ <vertex index="115" x="195" y="-228"/>
+ <vertex index="116" x="200" y="-232"/>
+ <vertex index="117" x="205" y="-236"/>
+ <vertex index="118" x="210" y="-239"/>
+ <vertex index="119" x="214" y="-243"/>
+ <vertex index="120" x="218" y="-247"/>
+ <vertex index="121" x="222" y="-252"/>
+ <vertex index="122" x="225" y="-256"/>
+ <vertex index="123" x="229" y="-261"/>
+ <vertex index="124" x="232" y="-266"/>
+ <vertex index="125" x="235" y="-271"/>
+ <vertex index="126" x="237" y="-276"/>
+ <vertex index="127" x="239" y="-281"/>
+ <vertex index="128" x="241" y="-286"/>
+ <vertex index="129" x="243" y="-291"/>
+ <vertex index="130" x="244" y="-296"/>
+ <vertex index="131" x="245" y="-301"/>
+ <vertex index="132" x="246" y="-306"/>
+ <vertex index="133" x="247" y="-311"/>
+ <vertex index="134" x="247" y="-316"/>
+ <vertex index="135" x="247" y="-321"/>
+ <vertex index="136" x="248" y="-326"/>
+ <vertex index="137" x="247" y="-331"/>
+ <vertex index="138" x="247" y="-336"/>
+ <vertex index="139" x="246" y="-341"/>
+ <vertex index="140" x="245" y="-346"/>
+ <vertex index="141" x="244" y="-351"/>
+ <vertex index="142" x="242" y="-356"/>
+ <vertex index="143" x="240" y="-361"/>
+ <vertex index="144" x="237" y="-366"/>
+ <vertex index="145" x="234" y="-371"/>
+ <vertex index="146" x="230" y="-376"/>
+ <vertex index="147" x="225" y="-381"/>
+ <vertex index="148" x="220" y="-386"/>
+ <vertex index="149" x="216" y="-390"/>
+ <vertex index="150" x="211" y="-393"/>
+ <vertex index="151" x="206" y="-396"/>
+ <vertex index="152" x="201" y="-399"/>
+ <vertex index="153" x="196" y="-402"/>
+ <vertex index="154" x="191" y="-404"/>
+ <vertex index="155" x="186" y="-406"/>
+ <vertex index="156" x="181" y="-408"/>
+ <vertex index="157" x="176" y="-409"/>
+ <vertex index="158" x="171" y="-409"/>
+ <vertex index="159" x="166" y="-410"/>
+ <vertex index="160" x="161" y="-410"/>
+ <vertex index="161" x="156" y="-409"/>
+ <vertex index="162" x="151" y="-409"/>
+ <vertex index="163" x="146" y="-407"/>
+ <vertex index="164" x="141" y="-405"/>
+ <vertex index="165" x="136" y="-403"/>
+ <vertex index="166" x="131" y="-400"/>
+ <vertex index="167" x="126" y="-396"/>
+ <vertex index="168" x="122" y="-392"/>
+ <vertex index="169" x="118" y="-388"/>
+ <vertex index="170" x="113" y="-384"/>
+ <vertex index="171" x="109" y="-380"/>
+ <vertex index="172" x="104" y="-377"/>
+ <vertex index="173" x="100" y="-373"/>
+ <vertex index="174" x="96" y="-369"/>
+ <vertex index="175" x="91" y="-365"/>
+ <vertex index="176" x="87" y="-362"/>
+ <vertex index="177" x="82" y="-358"/>
+ <vertex index="178" x="78" y="-354"/>
+ <vertex index="179" x="73" y="-351"/>
+ <vertex index="180" x="68" y="-348"/>
+ <vertex index="181" x="63" y="-347"/>
+ <vertex index="182" x="58" y="-346"/>
+ <vertex index="183" x="53" y="-346"/>
+ <vertex index="184" x="49" y="-350"/>
+ <vertex index="185" x="47" y="-355"/>
+ <vertex index="186" x="48" y="-360"/>
+ <vertex index="187" x="50" y="-365"/>
+ <vertex index="188" x="52" y="-370"/>
+ <vertex index="189" x="55" y="-375"/>
+ <vertex index="190" x="58" y="-379"/>
+ <vertex index="191" x="63" y="-382"/>
+ <vertex index="192" x="68" y="-386"/>
+ <vertex index="193" x="73" y="-389"/>
+ <vertex index="194" x="78" y="-392"/>
+ <vertex index="195" x="83" y="-394"/>
+ <vertex index="196" x="88" y="-395"/>
+ <vertex index="197" x="93" y="-397"/>
+ <vertex index="198" x="98" y="-398"/>
+ <vertex index="199" x="103" y="-399"/>
+ <vertex index="200" x="108" y="-401"/>
+ <vertex index="201" x="113" y="-403"/>
+ <vertex index="202" x="118" y="-407"/>
+ <vertex index="203" x="121" y="-411"/>
+ <vertex index="204" x="124" y="-416"/>
+ <vertex index="205" x="126" y="-421"/>
+ <vertex index="206" x="128" y="-426"/>
+ <vertex index="207" x="130" y="-431"/>
+ <vertex index="208" x="130" y="-436"/>
+ <vertex index="209" x="131" y="-441"/>
+ <vertex index="210" x="131" y="-446"/>
+ <vertex index="211" x="130" y="-451"/>
+ <vertex index="212" x="129" y="-456"/>
+ <vertex index="213" x="128" y="-461"/>
+ <vertex index="214" x="126" y="-466"/>
+ <vertex index="215" x="123" y="-471"/>
+ <vertex index="216" x="120" y="-476"/>
+ <vertex index="217" x="116" y="-480"/>
+ <vertex index="218" x="111" y="-484"/>
+ <vertex index="219" x="106" y="-487"/>
+ <vertex index="220" x="101" y="-489"/>
+ <vertex index="221" x="96" y="-490"/>
+ <vertex index="222" x="91" y="-490"/>
+ <vertex index="223" x="86" y="-491"/>
+ <vertex index="224" x="81" y="-490"/>
+ <vertex index="225" x="76" y="-489"/>
+ <vertex index="226" x="71" y="-487"/>
+ <vertex index="227" x="66" y="-483"/>
+ <vertex index="228" x="62" y="-478"/>
+ <vertex index="229" x="59" y="-473"/>
+ <vertex index="230" x="58" y="-468"/>
+ <vertex index="231" x="57" y="-463"/>
+ <vertex index="232" x="57" y="-458"/>
+ <vertex index="233" x="58" y="-453"/>
+ <vertex index="234" x="60" y="-448"/>
+ <vertex index="235" x="64" y="-443"/>
+ <vertex index="236" x="69" y="-440"/>
+ <vertex index="237" x="74" y="-439"/>
+ <vertex index="238" x="79" y="-438"/>
+ <vertex index="239" x="84" y="-439"/>
+ <vertex index="240" x="89" y="-442"/>
+ <vertex index="241" x="92" y="-446"/>
+ <vertex index="242" x="94" y="-451"/>
+ <vertex index="243" x="95" y="-456"/>
+ <vertex index="244" x="94" y="-461"/>
+ <vertex index="245" x="90" y="-466"/>
+ <vertex index="246" x="85" y="-469"/>
+ <vertex index="247" x="80" y="-468"/>
+ <vertex index="248" x="75" y="-463"/>
+ <vertex index="249" x="73" y="-458"/>
+ <vertex index="250" x="75" y="-457"/>
+ <vertex index="251" x="79" y="-462"/>
+ <vertex index="252" x="84" y="-463"/>
+ <vertex index="253" x="88" y="-459"/>
+ <vertex index="254" x="89" y="-454"/>
+ <vertex index="255" x="88" y="-449"/>
+ <vertex index="256" x="83" y="-445"/>
+ <vertex index="257" x="78" y="-444"/>
+ <vertex index="258" x="73" y="-444"/>
+ <vertex index="259" x="68" y="-447"/>
+ <vertex index="260" x="64" y="-451"/>
+ <vertex index="261" x="63" y="-456"/>
+ <vertex index="262" x="63" y="-461"/>
+ <vertex index="263" x="64" y="-466"/>
+ <vertex index="264" x="68" y="-471"/>
+ <vertex index="265" x="71" y="-475"/>
+ <vertex index="266" x="76" y="-478"/>
+ <vertex index="267" x="81" y="-481"/>
+ <vertex index="268" x="86" y="-482"/>
+ <vertex index="269" x="91" y="-483"/>
+ <vertex index="270" x="96" y="-482"/>
+ <vertex index="271" x="101" y="-479"/>
+ <vertex index="272" x="106" y="-475"/>
+ <vertex index="273" x="110" y="-470"/>
+ <vertex index="274" x="112" y="-465"/>
+ <vertex index="275" x="114" y="-460"/>
+ <vertex index="276" x="116" y="-455"/>
+ <vertex index="277" x="117" y="-450"/>
+ <vertex index="278" x="118" y="-445"/>
+ <vertex index="279" x="117" y="-440"/>
+ <vertex index="280" x="116" y="-435"/>
+ <vertex index="281" x="114" y="-430"/>
+ <vertex index="282" x="110" y="-425"/>
+ <vertex index="283" x="105" y="-421"/>
+ <vertex index="284" x="101" y="-419"/>
+ <vertex index="285" x="96" y="-417"/>
+ <vertex index="286" x="91" y="-415"/>
+ <vertex index="287" x="86" y="-414"/>
+ <vertex index="288" x="81" y="-413"/>
+ <vertex index="289" x="76" y="-411"/>
+ <vertex index="290" x="71" y="-410"/>
+ <vertex index="291" x="66" y="-409"/>
+ <vertex index="292" x="61" y="-406"/>
+ <vertex index="293" x="56" y="-403"/>
+ <vertex index="294" x="51" y="-400"/>
+ <vertex index="295" x="46" y="-397"/>
+ <vertex index="296" x="41" y="-394"/>
+ <vertex index="297" x="36" y="-390"/>
+ <vertex index="298" x="32" y="-386"/>
+ <vertex index="299" x="28" y="-381"/>
+ <vertex index="300" x="25" y="-377"/>
+ <vertex index="301" x="22" y="-372"/>
+ <vertex index="302" x="20" y="-367"/>
+ <vertex index="303" x="20" y="-362"/>
+ <vertex index="304" x="19" y="-357"/>
+ <vertex index="305" x="20" y="-352"/>
+ <vertex index="306" x="20" y="-347"/>
+ <vertex index="307" x="21" y="-342"/>
+ <vertex index="308" x="23" y="-337"/>
+ <vertex index="309" x="27" y="-332"/>
+ <vertex index="310" x="31" y="-327"/>
+ <vertex index="311" x="36" y="-323"/>
+ <vertex index="312" x="41" y="-320"/>
+ <vertex index="313" x="46" y="-318"/>
+ <vertex index="314" x="51" y="-317"/>
+ <vertex index="315" x="56" y="-317"/>
+ <vertex index="316" x="61" y="-317"/>
+ <vertex index="317" x="66" y="-317"/>
+ <vertex index="318" x="71" y="-317"/>
+ <vertex index="319" x="76" y="-317"/>
+ <vertex index="320" x="81" y="-318"/>
+ <vertex index="321" x="86" y="-320"/>
+ <vertex index="322" x="91" y="-322"/>
+ <vertex index="323" x="96" y="-324"/>
+ <vertex index="324" x="101" y="-327"/>
+ <vertex index="325" x="106" y="-330"/>
+ <vertex index="326" x="111" y="-334"/>
+ <vertex index="327" x="116" y="-338"/>
+ <vertex index="328" x="119" y="-342"/>
+ <vertex index="329" x="124" y="-346"/>
+ <vertex index="330" x="129" y="-349"/>
+ <vertex index="331" x="134" y="-352"/>
+ <vertex index="332" x="139" y="-354"/>
+ <vertex index="333" x="144" y="-356"/>
+ <vertex index="334" x="149" y="-357"/>
+ <vertex index="335" x="154" y="-357"/>
+ <vertex index="336" x="159" y="-359"/>
+ <vertex index="337" x="164" y="-358"/>
+ <vertex index="338" x="169" y="-357"/>
+ <vertex index="339" x="174" y="-356"/>
+ <vertex index="340" x="179" y="-355"/>
+ <vertex index="341" x="184" y="-353"/>
+ <vertex index="342" x="189" y="-349"/>
+ <vertex index="343" x="193" y="-346"/>
+ <vertex index="344" x="198" y="-342"/>
+ <vertex index="345" x="202" y="-337"/>
+ <vertex index="346" x="204" y="-332"/>
+ <vertex index="347" x="205" y="-327"/>
+ <vertex index="348" x="205" y="-322"/>
+ <vertex index="349" x="205" y="-317"/>
+ <vertex index="350" x="204" y="-312"/>
+ <vertex index="351" x="202" y="-307"/>
+ <vertex index="352" x="199" y="-302"/>
+ <vertex index="353" x="196" y="-297"/>
+ <vertex index="354" x="192" y="-293"/>
+ <vertex index="355" x="188" y="-288"/>
+ <vertex index="356" x="183" y="-283"/>
+ <vertex index="357" x="178" y="-280"/>
+ <vertex index="358" x="173" y="-277"/>
+ <vertex index="359" x="168" y="-274"/>
+ <vertex index="360" x="163" y="-271"/>
+ <vertex index="361" x="158" y="-268"/>
+ <vertex index="362" x="153" y="-265"/>
+ <vertex index="363" x="148" y="-262"/>
+ <vertex index="364" x="143" y="-260"/>
+ <vertex index="365" x="138" y="-257"/>
+ <vertex index="366" x="133" y="-254"/>
+ <vertex index="367" x="128" y="-251"/>
+ <vertex index="368" x="123" y="-249"/>
+ <vertex index="369" x="118" y="-246"/>
+ <vertex index="370" x="113" y="-243"/>
+ <vertex index="371" x="108" y="-240"/>
+ <vertex index="372" x="103" y="-237"/>
+ <vertex index="373" x="98" y="-234"/>
+ <vertex index="374" x="93" y="-231"/>
+ <vertex index="375" x="88" y="-227"/>
+ <vertex index="376" x="83" y="-224"/>
+ <vertex index="377" x="78" y="-221"/>
+ <vertex index="378" x="73" y="-217"/>
+ <vertex index="379" x="68" y="-214"/>
+ <vertex index="380" x="63" y="-210"/>
+ <vertex index="381" x="58" y="-206"/>
+ <vertex index="382" x="53" y="-203"/>
+ <vertex index="383" x="48" y="-199"/>
+ <vertex index="384" x="45" y="-194"/>
+ <vertex index="385" x="42" y="-189"/>
+ <vertex index="386" x="38" y="-184"/>
+ <vertex index="387" x="35" y="-179"/>
+ <vertex index="388" x="32" y="-174"/>
+ <vertex index="389" x="30" y="-169"/>
+ <vertex index="390" x="27" y="-164"/>
+ <vertex index="391" x="26" y="-159"/>
+ <vertex index="392" x="24" y="-154"/>
+ <vertex index="393" x="22" y="-149"/>
+ <vertex index="394" x="21" y="-144"/>
+ <vertex index="395" x="21" y="-139"/>
+ <vertex index="396" x="20" y="-134"/>
+ <vertex index="397" x="20" y="-129"/>
+ <vertex index="398" x="20" y="-124"/>
+ <vertex index="399" x="20" y="-119"/>
+ <vertex index="400" x="21" y="-114"/>
+ <vertex index="401" x="22" y="-109"/>
+ <vertex index="402" x="24" y="-104"/>
+ <vertex index="403" x="26" y="-99"/>
+ <vertex index="404" x="28" y="-94"/>
+ <vertex index="405" x="31" y="-89"/>
+ <vertex index="406" x="34" y="-84"/>
+ <vertex index="407" x="39" y="-79"/>
+ <vertex index="408" x="42" y="-75"/>
+ <vertex index="409" x="46" y="-72"/>
+ <vertex index="410" x="51" y="-68"/>
+ <vertex index="411" x="56" y="-64"/>
+ <vertex index="412" x="61" y="-61"/>
+ <vertex index="413" x="66" y="-58"/>
+ <vertex index="414" x="71" y="-55"/>
+ <vertex index="415" x="76" y="-53"/>
+ <vertex index="416" x="81" y="-51"/>
+ <vertex index="417" x="86" y="-49"/>
+ <vertex index="418" x="91" y="-48"/>
+ <vertex index="419" x="96" y="-46"/>
+ <vertex index="420" x="101" y="-45"/>
+ <vertex index="421" x="106" y="-44"/>
+ <vertex index="422" x="111" y="-43"/>
+ <vertex index="423" x="116" y="-42"/>
+ <vertex index="424" x="121" y="-42"/>
+ <vertex index="425" x="126" y="-42"/>
+ <vertex index="426" x="131" y="-42"/>
+ <vertex index="427" x="136" y="-43"/>
+ <vertex index="428" x="141" y="-43"/>
+ <vertex index="429" x="146" y="-44"/>
+ <vertex index="430" x="151" y="-46"/>
+ <vertex index="431" x="156" y="-50"/>
+ <vertex index="432" x="161" y="-53"/>
+ <vertex index="433" x="191.5" y="-149"/>
+ <vertex index="434" x="77" y="-459.5"/>
+ <vertex index="435" x="77.5" y="-465.5"/>
+ <vertex index="436" x="107.364" y="-411.273"/>
+ <vertex index="437" x="181.091" y="-159.818"/>
+ <vertex index="438" x="157.612" y="-64.7754"/>
+ <vertex index="439" x="204.611" y="-158.611"/>
+ <vertex index="440" x="201.071" y="-155.071"/>
+ <vertex index="441" x="207.071" y="-165.071"/>
+ <vertex index="442" x="189.012" y="-150.72"/>
+ <vertex index="443" x="105.067" y="-415.866"/>
+ <vertex index="444" x="160.399" y="-59.2021"/>
+ <vertex index="445" x="103.792" y="-418.417"/>
+ <vertex index="446" x="161.892" y="-56.2166"/>
+ <vertex index="447" x="60.3125" y="-464.938"/>
+ <vertex index="448" x="61.9375" y="-469.812"/>
+ <vertex index="449" x="63.1716" y="-473.897"/>
+ <vertex index="450" x="66" y="-468.5"/>
+ <vertex index="451" x="66.7086" y="-477.126"/>
+ <vertex index="452" x="60.7308" y="-451.192"/>
+ <vertex index="453" x="59.6429" y="-455.929"/>
+ <vertex index="454" x="60.1203" y="-459.259"/>
+ <vertex index="455" x="63.875" y="-447"/>
+ <vertex index="456" x="81.0517" y="-464.741"/>
+ <vertex index="457" x="75.3" y="-483.5"/>
+ <vertex index="458" x="67.625" y="-443.375"/>
+ <vertex index="459" x="80.9194" y="-441.403"/>
+ <vertex index="460" x="75.5" y="-441.9"/>
+ <vertex index="461" x="42.8529" y="-379.147"/>
+ <vertex index="462" x="33.4693" y="-364.5"/>
+ <vertex index="463" x="70.5103" y="-399.448"/>
+ <vertex index="464" x="71.8333" y="-441.167"/>
+ <vertex index="465" x="84.3" y="-486.5"/>
+ <vertex index="466" x="87.8333" y="-462.833"/>
+ <vertex index="467" x="86.0396" y="-465.743"/>
+ <vertex index="468" x="92" y="-463.5"/>
+ <vertex index="469" x="91.3125" y="-457.062"/>
+ <vertex index="470" x="92.3327" y="-453.888"/>
+ <vertex index="471" x="90.6665" y="-451.001"/>
+ <vertex index="472" x="88.5" y="-445.5"/>
+ <vertex index="473" x="93.5" y="-486.5"/>
+ <vertex index="474" x="101.9" y="-484"/>
+ <vertex index="475" x="116.56" y="-469.724"/>
+ <vertex index="476" x="121.042" y="-459.917"/>
+ <vertex index="477" x="93.7609" y="-406.196"/>
+ <vertex index="478" x="83.6649" y="-403.675"/>
+ <vertex index="479" x="97.0816" y="-352.725"/>
+ <vertex index="480" x="112.775" y="-364.225"/>
+ <vertex index="481" x="33.9693" y="-347.194"/>
+ <vertex index="482" x="48.7727" y="-332.182"/>
+ <vertex index="483" x="68.5" y="-330.469"/>
+ <vertex index="484" x="34.4693" y="-141.5"/>
+ <vertex index="485" x="40.4693" y="-101.888"/>
+ <vertex index="486" x="39.9693" y="-158.806"/>
+ <vertex index="487" x="52.0816" y="-84.2754"/>
+ <vertex index="488" x="88.7246" y="-179.082"/>
+ <vertex index="489" x="68.5307" y="-127.5"/>
+ <vertex index="490" x="78.8877" y="-67.4693"/>
+ <vertex index="491" x="106.194" y="-57.9693"/>
+ <vertex index="492" x="121.538" y="-429.885"/>
+ <vertex index="493" x="123.636" y="-448.727"/>
+ <vertex index="494" x="117.614" y="-421.455"/>
+ <vertex index="495" x="123.949" y="-441.21"/>
+ <vertex index="496" x="163.5" y="-396.531"/>
+ <vertex index="497" x="136.112" y="-368.469"/>
+ <vertex index="498" x="130.888" y="-236.531"/>
+ <vertex index="499" x="151.5" y="-370.469"/>
+ <vertex index="500" x="188.112" y="-389.531"/>
+ <vertex index="501" x="216.469" y="-339.888"/>
+ <vertex index="502" x="199.082" y="-358.275"/>
+ <vertex index="503" x="218.469" y="-319.5"/>
+ <vertex index="504" x="212.725" y="-262.082"/>
+ <vertex index="505" x="226.531" y="-288.888"/>
+ <vertex index="506" x="235" y="-326"/>
+ <vertex index="507" x="162.112" y="-227.469"/>
+ <vertex index="508" x="181.022" y="-164.196"/>
+ <vertex index="509" x="173" y="-116"/>
+ <vertex index="510" x="183.167" y="-149.833"/>
+ <vertex index="511" x="180.804" y="-129.022"/>
+ <vertex index="512" x="128.775" y="-93.2246"/>
+ <vertex index="513" x="157.888" y="-102.531"/>
+ <vertex index="514" x="209.022" y="-180.196"/>
+ <vertex index="515" x="183.012" y="-109.802"/>
+ <vertex index="516" x="114.218" y="-412.961"/>
+ <vertex index="517" x="108.817" y="-406.207"/>
+ <vertex index="518" x="168.531" y="-83.5"/>
+ <vertex index="519" x="143.112" y="-58.4693"/>
+ <vertex index="520" x="100.198" y="-413.754"/>
+ <vertex index="521" x="165.732" y="-60.421"/>
+ <vertex index="522" x="67.923" y="-474.183"/>
+ <vertex index="523" x="64" y="-480.5"/>
+ <vertex index="524" x="74.1222" y="-486.444"/>
+ <vertex index="525" x="79.2414" y="-485.793"/>
+ <vertex index="526" x="81.6133" y="-487.273"/>
+ <vertex index="527" x="78.3713" y="-482.755"/>
+ <vertex index="528" x="71.2834" y="-480.194"/>
+ <vertex index="529" x="38.2006" y="-383.799"/>
+ <vertex index="530" x="50.4504" y="-381.537"/>
+ <vertex index="531" x="43.395" y="-370.542"/>
+ <vertex index="532" x="26.5026" y="-364.5"/>
+ <vertex index="533" x="33.5771" y="-373.692"/>
+ <vertex index="534" x="39.744" y="-359.051"/>
+ <vertex index="535" x="69.443" y="-404.785"/>
+ <vertex index="536" x="87.9393" y="-487.696"/>
+ <vertex index="537" x="90.4856" y="-486.01"/>
+ <vertex index="538" x="83.1045" y="-483.477"/>
+ <vertex index="539" x="83.7438" y="-489.281"/>
+ <vertex index="540" x="97.8438" y="-485.969"/>
+ <vertex index="541" x="103.012" y="-486.781"/>
+ <vertex index="542" x="106.45" y="-482.083"/>
+ <vertex index="543" x="99.3291" y="-481.882"/>
+ <vertex index="544" x="117.466" y="-464.286"/>
+ <vertex index="545" x="113.218" y="-468.387"/>
+ <vertex index="546" x="114.78" y="-474.78"/>
+ <vertex index="547" x="112.937" y="-471.843"/>
+ <vertex index="548" x="109.65" y="-473.82"/>
+ <vertex index="549" x="109.102" y="-478.359"/>
+ <vertex index="550" x="105.483" y="-478.589"/>
+ <vertex index="551" x="109.42" y="-481.392"/>
+ <vertex index="552" x="112.465" y="-479.539"/>
+ <vertex index="553" x="124.937" y="-457.787"/>
+ <vertex index="554" x="125.305" y="-453.111"/>
+ <vertex index="555" x="128.183" y="-453.237"/>
+ <vertex index="556" x="126.751" y="-450.051"/>
+ <vertex index="557" x="120.879" y="-452.286"/>
+ <vertex index="558" x="120.237" y="-448.941"/>
+ <vertex index="559" x="117.967" y="-452.793"/>
+ <vertex index="560" x="119.664" y="-456.286"/>
+ <vertex index="561" x="116.912" y="-458.265"/>
+ <vertex index="562" x="122.804" y="-455.267"/>
+ <vertex index="563" x="118.138" y="-461.188"/>
+ <vertex index="564" x="124.22" y="-462.388"/>
+ <vertex index="565" x="120.867" y="-463.421"/>
+ <vertex index="566" x="94.7023" y="-401.488"/>
+ <vertex index="567" x="89.4634" y="-409.683"/>
+ <vertex index="568" x="84.6506" y="-398.747"/>
+ <vertex index="569" x="80.2078" y="-407.73"/>
+ <vertex index="570" x="88.1123" y="-336.469"/>
+ <vertex index="571" x="87.2336" y="-348.766"/>
+ <vertex index="572" x="92.9016" y="-358.298"/>
+ <vertex index="573" x="107.945" y="-347.166"/>
+ <vertex index="574" x="103.945" y="-365.055"/>
+ <vertex index="575" x="118.957" y="-374.043"/>
+ <vertex index="576" x="27.0026" y="-345.801"/>
+ <vertex index="577" x="41.2593" y="-349.804"/>
+ <vertex index="578" x="55.5" y="-337.68"/>
+ <vertex index="579" x="53.5" y="-325.121"/>
+ <vertex index="580" x="46.0415" y="-325.354"/>
+ <vertex index="581" x="68.5" y="-323.503"/>
+ <vertex index="582" x="67.1593" y="-339.204"/>
+ <vertex index="583" x="79.501" y="-328.997"/>
+ <vertex index="584" x="27.5026" y="-141.5"/>
+ <vertex index="585" x="33.4693" y="-126.5"/>
+ <vertex index="586" x="33.5026" y="-99.1011"/>
+ <vertex index="587" x="33.2148" y="-110.586"/>
+ <vertex index="588" x="32.9074" y="-153.337"/>
+ <vertex index="589" x="39.3411" y="-168.164"/>
+ <vertex index="590" x="71.5307" y="-157.888"/>
+ <vertex index="591" x="47.9016" y="-78.7021"/>
+ <vertex index="592" x="70.5307" y="-107.112"/>
+ <vertex index="593" x="97.2135" y="-180.787"/>
+ <vertex index="594" x="82.0934" y="-169.055"/>
+ <vertex index="595" x="68.5307" y="-142.5"/>
+ <vertex index="596" x="74.8174" y="-131.163"/>
+ <vertex index="597" x="74.5693" y="-122.5"/>
+ <vertex index="598" x="95.8061" y="-84.0307"/>
+ <vertex index="599" x="91.1147" y="-61.5737"/>
+ <vertex index="600" x="81.4723" y="-59.4307"/>
+ <vertex index="601" x="104.801" y="-51.0026"/>
+ <vertex index="602" x="123.5" y="-55.4693"/>
+ <vertex index="603" x="117.791" y="-431.383"/>
+ <vertex index="604" x="117.977" y="-426.414"/>
+ <vertex index="605" x="125.366" y="-433.5"/>
+ <vertex index="606" x="120.825" y="-435.138"/>
+ <vertex index="607" x="123.049" y="-425.081"/>
+ <vertex index="608" x="121.73" y="-419.808"/>
+ <vertex index="609" x="119" y="-415.6"/>
+ <vertex index="610" x="120.578" y="-422.897"/>
+ <vertex index="611" x="118.885" y="-418.664"/>
+ <vertex index="612" x="113.825" y="-418.044"/>
+ <vertex index="613" x="127.546" y="-443.5"/>
+ <vertex index="614" x="126.346" y="-446.678"/>
+ <vertex index="615" x="127.415" y="-439.117"/>
+ <vertex index="616" x="126.953" y="-436.103"/>
+ <vertex index="617" x="120.24" y="-441.952"/>
+ <vertex index="618" x="121.77" y="-445.424"/>
+ <vertex index="619" x="121.504" y="-438.629"/>
+ <vertex index="620" x="123.77" y="-436.377"/>
+ <vertex index="621" x="124.566" y="-444.199"/>
+ <vertex index="622" x="159.837" y="-402.817"/>
+ <vertex index="623" x="167.163" y="-402.817"/>
+ <vertex index="624" x="148.888" y="-392.531"/>
+ <vertex index="625" x="138.899" y="-361.503"/>
+ <vertex index="626" x="134.5" y="-383.5"/>
+ <vertex index="627" x="128.101" y="-243.497"/>
+ <vertex index="628" x="154.105" y="-363.986"/>
+ <vertex index="629" x="169.194" y="-370.969"/>
+ <vertex index="630" x="190.899" y="-396.497"/>
+ <vertex index="631" x="179.414" y="-396.785"/>
+ <vertex index="632" x="232.031" y="-340.806"/>
+ <vertex index="633" x="213.209" y="-331.242"/>
+ <vertex index="634" x="186.888" y="-367.469"/>
+ <vertex index="635" x="207.225" y="-377.225"/>
+ <vertex index="636" x="194.902" y="-352.702"/>
+ <vertex index="637" x="232.031" y="-306.194"/>
+ <vertex index="638" x="212.736" y="-312.853"/>
+ <vertex index="639" x="218.298" y="-257.902"/>
+ <vertex index="640" x="208.766" y="-252.234"/>
+ <vertex index="641" x="204.775" y="-284.225"/>
+ <vertex index="642" x="234.067" y="-295.387"/>
+ <vertex index="643" x="233.497" y="-286.101"/>
+ <vertex index="644" x="225.785" y="-277.586"/>
+ <vertex index="645" x="241.5" y="-327.3"/>
+ <vertex index="646" x="238.917" y="-318.5"/>
+ <vertex index="647" x="177.112" y="-234.469"/>
+ <vertex index="648" x="164.899" y="-220.503"/>
+ <vertex index="649" x="153.414" y="-220.215"/>
+ <vertex index="650" x="150.888" y="-247.531"/>
+ <vertex index="651" x="171.7" y="-122.5"/>
+ <vertex index="652" x="179.1" y="-120.5"/>
+ <vertex index="653" x="163.763" y="-112.237"/>
+ <vertex index="654" x="123.202" y="-98.7979"/>
+ <vertex index="655" x="134.447" y="-101.764"/>
+ <vertex index="656" x="113.888" y="-83.5307"/>
+ <vertex index="657" x="155.101" y="-109.497"/>
+ <vertex index="658" x="187.624" y="-110.725"/>
+ <vertex index="659" x="190.368" y="-111.274"/>
+ <vertex index="660" x="188.829" y="-107.368"/>
+ <vertex index="661" x="186.25" y="-104.584"/>
+ <vertex index="662" x="180.447" y="-104.597"/>
+ <vertex index="663" x="185.586" y="-107.786"/>
+ <vertex index="664" x="183.346" y="-103.587"/>
+ <vertex index="665" x="180.53" y="-100.173"/>
+ <vertex index="666" x="184.263" y="-115.536"/>
+ <vertex index="667" x="170.912" y="-94.4409"/>
+ <vertex index="668" x="187.507" y="-114.223"/>
+ <vertex index="669" x="184.881" y="-112.397"/>
+ <vertex index="670" x="176.299" y="-96.3379"/>
+ <vertex index="671" x="179.22" y="-97.3667"/>
+ <vertex index="672" x="178.954" y="-93.4603"/>
+ <vertex index="673" x="174.722" y="-92.2189"/>
+ <vertex index="674" x="170.212" y="-88.8636"/>
+ <vertex index="675" x="171.751" y="-91.503"/>
+ <vertex index="676" x="117.238" y="-410.697"/>
+ <vertex index="677" x="113.292" y="-407.956"/>
+ <vertex index="678" x="109.956" y="-403.361"/>
+ <vertex index="679" x="103.767" y="-404.332"/>
+ <vertex index="680" x="175.497" y="-83.5"/>
+ <vertex index="681" x="169.062" y="-72.4753"/>
+ <vertex index="682" x="145.899" y="-51.5026"/>
+ <vertex index="683" x="99.0548" y="-416.613"/>
+ <vertex index="684" x="103.713" y="-412.318"/>
+ <vertex index="685" x="104.546" y="-408.33"/>
+ <vertex index="686" x="99.1447" y="-407.308"/>
+ <vertex index="687" x="100.854" y="-410.337"/>
+ <vertex index="688" x="102.049" y="-406.742"/>
+ <vertex index="689" x="95.2324" y="-411.669"/>
+ <vertex index="690" x="170.301" y="-61.7488"/>
+ <vertex index="691" x="166.899" y="-57.5037"/>
+ <vertex index="692" x="162.202" y="-63.5871"/>
+ <vertex index="693" x="162.849" y="-60.7578"/>
+ <vertex index="694" x="159.389" y="-62.1806"/>
+ <vertex index="695" x="151.87" y="-57.9716"/>
+ <vertex index="696" x="155.049" y="-61.114"/>
+ <vertex index="697" x="161.691" y="-71.0723"/>
+ <vertex index="698" x="156.43" y="-56.5381"/>
+ <vertex index="699" x="147.887" y="-65.1793"/>
+ <vertex index="700" x="160.7" y="-67.2446"/>
+ <vertex index="701" x="155.449" y="-70.6462"/>
+ <vertex index="702" x="166.117" y="-67.8844"/>
+ <vertex index="703" x="158.641" y="-69.8198"/>
+ <vertex index="704" x="158.286" y="-75.0253"/>
+ <vertex index="705" x="163.56" y="-66.2818"/>
+ <vertex index="706" x="152.769" y="-65.4384"/>
+ <vertex index="707" x="151.187" y="-61.8412"/>
+ <vertex index="708" x="147.547" y="-59.2034"/>
+ <vertex index="709" x="148.669" y="-54.9366"/>
+ <vertex index="710" x="144.746" y="-62.3602"/>
+ <vertex index="711" x="148.177" y="-62.1652"/>
+ <vertex index="712" x="150.485" y="-50.638"/>
+ <vertex index="713" x="144.899" y="-55.1432"/>
+ <vertex index="714" x="137.58" y="-51.1747"/>
+ <vertex index="715" x="140.332" y="-54.8329"/>
+ <vertex index="716" x="133.448" y="-64.817"/>
+ <vertex index="717" x="147.607" y="-47.9706"/>
+ <vertex index="718" x="142.612" y="-47.7337"/>
+ <vertex index="719" x="153.5" y="-48"/>
+ <vertex index="720" x="138.869" y="-62.5401"/>
+ <vertex index="721" x="133.236" y="-57.3062"/>
+ <vertex index="722" x="141.311" y="-51.2317"/>
+ <vertex index="723" x="141.773" y="-61.3203"/>
+ <vertex index="724" x="138.903" y="-58.5542"/>
+ <vertex index="725" x="136.597" y="-55.5345"/>
+ <vertex index="726" x="135.5" y="-60.5182"/>
+ <vertex index="727" x="141.996" y="-68.5833"/>
+ <vertex index="728" x="142.175" y="-64.9429"/>
+ <vertex index="729" x="144.954" y="-66.9043"/>
+ <vertex index="730" x="147.832" y="-75.4224"/>
+ <vertex index="731" x="148.93" y="-70.3066"/>
+ <vertex index="732" x="74.3327" y="-480.582"/>
+ <vertex index="733" x="72.8993" y="-477.501"/>
+ <vertex index="734" x="69.6545" y="-477.678"/>
+ <vertex index="735" x="71.8279" y="-483.626"/>
+ <vertex index="736" x="68.5" y="-485"/>
+ <vertex index="737" x="35.6241" y="-386.376"/>
+ <vertex index="738" x="53.8058" y="-379.021"/>
+ <vertex index="739" x="48.7708" y="-375.337"/>
+ <vertex index="740" x="55.9341" y="-385.354"/>
+ <vertex index="741" x="50.555" y="-378.182"/>
+ <vertex index="742" x="46.6983" y="-378.619"/>
+ <vertex index="743" x="44.3736" y="-374.856"/>
+ <vertex index="744" x="55.9168" y="-381.835"/>
+ <vertex index="745" x="59.4198" y="-383.577"/>
+ <vertex index="746" x="61.6177" y="-392.198"/>
+ <vertex index="747" x="63.0776" y="-387.028"/>
+ <vertex index="748" x="39.0263" y="-373.801"/>
+ <vertex index="749" x="41.9342" y="-373.141"/>
+ <vertex index="750" x="47.6084" y="-368.857"/>
+ <vertex index="751" x="43.3183" y="-364.241"/>
+ <vertex index="752" x="46.8749" y="-372.333"/>
+ <vertex index="753" x="44.5726" y="-367.377"/>
+ <vertex index="754" x="22.7707" y="-364.5"/>
+ <vertex index="755" x="24.6367" y="-368.481"/>
+ <vertex index="756" x="21" y="-369.5"/>
+ <vertex index="757" x="26.5557" y="-372.667"/>
+ <vertex index="758" x="29.986" y="-368.56"/>
+ <vertex index="759" x="23.5" y="-374.5"/>
+ <vertex index="760" x="29.6232" y="-376.214"/>
+ <vertex index="761" x="27.3292" y="-367.315"/>
+ <vertex index="762" x="30.1414" y="-372.666"/>
+ <vertex index="763" x="27.5807" y="-378.189"/>
+ <vertex index="764" x="34.4413" y="-379.408"/>
+ <vertex index="765" x="34.1381" y="-383.044"/>
+ <vertex index="766" x="31.4139" y="-380.986"/>
+ <vertex index="767" x="32.7409" y="-376.742"/>
+ <vertex index="768" x="36.367" y="-376.305"/>
+ <vertex index="769" x="38.4735" y="-379.761"/>
+ <vertex index="770" x="40.3088" y="-376.926"/>
+ <vertex index="771" x="27.4164" y="-356.083"/>
+ <vertex index="772" x="24.4" y="-359.909"/>
+ <vertex index="773" x="44.0249" y="-358.195"/>
+ <vertex index="774" x="42.7013" y="-353.98"/>
+ <vertex index="775" x="42.3731" y="-361.066"/>
+ <vertex index="776" x="38.2724" y="-363.694"/>
+ <vertex index="777" x="40.236" y="-367.565"/>
+ <vertex index="778" x="45.555" y="-351.522"/>
+ <vertex index="779" x="36.3733" y="-367.091"/>
+ <vertex index="780" x="33.1654" y="-367.764"/>
+ <vertex index="781" x="37.9332" y="-370.354"/>
+ <vertex index="782" x="68.8389" y="-407.805"/>
+ <vertex index="783" x="74.3692" y="-406.154"/>
+ <vertex index="784" x="64.5953" y="-401.041"/>
+ <vertex index="785" x="104.75" y="-484.407"/>
+ <vertex index="786" x="108.5" y="-485.5"/>
+ <vertex index="787" x="103.379" y="-481.153"/>
+ <vertex index="788" x="114.533" y="-463.113"/>
+ <vertex index="789" x="117.011" y="-477.011"/>
+ <vertex index="790" x="117.937" y="-473.05"/>
+ <vertex index="791" x="111.842" y="-476.293"/>
+ <vertex index="792" x="95.2579" y="-398.711"/>
+ <vertex index="793" x="89.2353" y="-402.843"/>
+ <vertex index="794" x="88.8519" y="-412.74"/>
+ <vertex index="795" x="85.2225" y="-395.888"/>
+ <vertex index="796" x="78.3954" y="-398.262"/>
+ <vertex index="797" x="79.0611" y="-410.597"/>
+ <vertex index="798" x="84.2362" y="-409.819"/>
+ <vertex index="799" x="83.239" y="-406.813"/>
+ <vertex index="800" x="90.8989" y="-329.503"/>
+ <vertex index="801" x="83.3403" y="-352.66"/>
+ <vertex index="802" x="90.6624" y="-361.283"/>
+ <vertex index="803" x="112.932" y="-343.426"/>
+ <vertex index="804" x="100.636" y="-368.364"/>
+ <vertex index="805" x="98" y="-371"/>
+ <vertex index="806" x="105.594" y="-371.406"/>
+ <vertex index="807" x="97.9804" y="-362.4"/>
+ <vertex index="808" x="94.3415" y="-361.71"/>
+ <vertex index="809" x="95.5518" y="-365.268"/>
+ <vertex index="810" x="98.8403" y="-365.59"/>
+ <vertex index="811" x="104.009" y="-368.428"/>
+ <vertex index="812" x="109.033" y="-367.663"/>
+ <vertex index="813" x="114.727" y="-378.273"/>
+ <vertex index="814" x="23.2707" y="-345.054"/>
+ <vertex index="815" x="24.2687" y="-349.767"/>
+ <vertex index="816" x="26.0362" y="-340.93"/>
+ <vertex index="817" x="45.3219" y="-342.322"/>
+ <vertex index="818" x="45.5798" y="-346.918"/>
+ <vertex index="819" x="49.266" y="-346.266"/>
+ <vertex index="820" x="50.7554" y="-340.832"/>
+ <vertex index="821" x="41.0849" y="-344.865"/>
+ <vertex index="822" x="43.8728" y="-344.709"/>
+ <vertex index="823" x="55.5" y="-342.215"/>
+ <vertex index="824" x="61.412" y="-341.028"/>
+ <vertex index="825" x="53.5872" y="-339.947"/>
+ <vertex index="826" x="51.2402" y="-336.027"/>
+ <vertex index="827" x="52.6774" y="-343.069"/>
+ <vertex index="828" x="58.6969" y="-342.822"/>
+ <vertex index="829" x="55.55" y="-331.233"/>
+ <vertex index="830" x="45.7758" y="-336.819"/>
+ <vertex index="831" x="52.2917" y="-332.638"/>
+ <vertex index="832" x="55.0061" y="-334.452"/>
+ <vertex index="833" x="60.7991" y="-335.217"/>
+ <vertex index="834" x="52.5811" y="-328.829"/>
+ <vertex index="835" x="49.7999" y="-326.172"/>
+ <vertex index="836" x="50.5004" y="-321.599"/>
+ <vertex index="837" x="47.2532" y="-328.829"/>
+ <vertex index="838" x="39.776" y="-329.487"/>
+ <vertex index="839" x="43.4314" y="-328.213"/>
+ <vertex index="840" x="41.9051" y="-324.198"/>
+ <vertex index="841" x="43.0311" y="-332.944"/>
+ <vertex index="842" x="45.7641" y="-331.525"/>
+ <vertex index="843" x="48.3281" y="-335.181"/>
+ <vertex index="844" x="54.7134" y="-321.049"/>
+ <vertex index="845" x="48.8179" y="-319.09"/>
+ <vertex index="846" x="46.1982" y="-321.676"/>
+ <vertex index="847" x="39.1565" y="-322.594"/>
+ <vertex index="848" x="38.0121" y="-326.171"/>
+ <vertex index="849" x="34.4605" y="-326.201"/>
+ <vertex index="850" x="34.1328" y="-332.672"/>
+ <vertex index="851" x="33.3746" y="-329.39"/>
+ <vertex index="852" x="30.0381" y="-330.33"/>
+ <vertex index="853" x="36.5609" y="-330.383"/>
+ <vertex index="854" x="38.5183" y="-334.891"/>
+ <vertex index="855" x="61.0923" y="-325.167"/>
+ <vertex index="856" x="58.5" y="-320.023"/>
+ <vertex index="857" x="57.4806" y="-323.762"/>
+ <vertex index="858" x="62.8357" y="-321.063"/>
+ <vertex index="859" x="57.9613" y="-327.871"/>
+ <vertex index="860" x="53.5" y="-318.435"/>
+ <vertex index="861" x="43.3225" y="-321.696"/>
+ <vertex index="862" x="40.1276" y="-332.417"/>
+ <vertex index="863" x="41.9425" y="-336.625"/>
+ <vertex index="864" x="37.8954" y="-340.368"/>
+ <vertex index="865" x="43.7225" y="-339.42"/>
+ <vertex index="866" x="64.792" y="-324.317"/>
+ <vertex index="867" x="63.9279" y="-329.031"/>
+ <vertex index="868" x="67.3213" y="-326.986"/>
+ <vertex index="869" x="73.0576" y="-326.986"/>
+ <vertex index="870" x="63.5" y="-318.317"/>
+ <vertex index="871" x="59.4795" y="-331.506"/>
+ <vertex index="872" x="57.9965" y="-334.123"/>
+ <vertex index="873" x="68.5" y="-319.771"/>
+ <vertex index="874" x="65.9002" y="-321.435"/>
+ <vertex index="875" x="66.2543" y="-343.728"/>
+ <vertex index="876" x="74.2149" y="-342.968"/>
+ <vertex index="877" x="64.5792" y="-341.04"/>
+ <vertex index="878" x="63.8935" y="-337.347"/>
+ <vertex index="879" x="67.5093" y="-334.787"/>
+ <vertex index="880" x="70.12" y="-342.149"/>
+ <vertex index="881" x="74.59" y="-334.139"/>
+ <vertex index="882" x="65.49" y="-332.051"/>
+ <vertex index="883" x="62.4145" y="-332.553"/>
+ <vertex index="884" x="71.4883" y="-345.954"/>
+ <vertex index="885" x="70.9434" y="-333.303"/>
+ <vertex index="886" x="71.8204" y="-337.846"/>
+ <vertex index="887" x="73.4741" y="-330.637"/>
+ <vertex index="888" x="76.9354" y="-331.463"/>
+ <vertex index="889" x="80.9926" y="-337.385"/>
+ <vertex index="890" x="76.2272" y="-328.159"/>
+ <vertex index="891" x="80.9445" y="-333.067"/>
+ <vertex index="892" x="79.2022" y="-323.356"/>
+ <vertex index="893" x="70.5" y="-349.5"/>
+ <vertex index="894" x="69.0847" y="-337.134"/>
+ <vertex index="895" x="76.4466" y="-338.415"/>
+ <vertex index="896" x="84.3289" y="-335.189"/>
+ <vertex index="897" x="87.46" y="-332.168"/>
+ <vertex index="898" x="78.034" y="-335.184"/>
+ <vertex index="899" x="73.9045" y="-339.992"/>
+ <vertex index="900" x="85.6022" y="-326.219"/>
+ <vertex index="901" x="87.639" y="-328.847"/>
+ <vertex index="902" x="89.9598" y="-325.738"/>
+ <vertex index="903" x="83.6061" y="-329.869"/>
+ <vertex index="904" x="93.5477" y="-326.842"/>
+ <vertex index="905" x="87.6657" y="-323.086"/>
+ <vertex index="906" x="97.1438" y="-333.072"/>
+ <vertex index="907" x="97.2602" y="-327.566"/>
+ <vertex index="908" x="94.5038" y="-330.443"/>
+ <vertex index="909" x="99.5975" y="-330.37"/>
+ <vertex index="910" x="91.6876" y="-333.859"/>
+ <vertex index="911" x="103.137" y="-336.049"/>
+ <vertex index="912" x="102.772" y="-329.714"/>
+ <vertex index="913" x="101.785" y="-332.949"/>
+ <vertex index="914" x="95.5841" y="-342.949"/>
+ <vertex index="915" x="92.5921" y="-338.851"/>
+ <vertex index="916" x="90.9296" y="-336.574"/>
+ <vertex index="917" x="23.7707" y="-141.5"/>
+ <vertex index="918" x="25.6367" y="-145.9"/>
+ <vertex index="919" x="26.1256" y="-135.375"/>
+ <vertex index="920" x="24.2597" y="-138.173"/>
+ <vertex index="921" x="26.5026" y="-126.5"/>
+ <vertex index="922" x="29.7707" y="-97.6083"/>
+ <vertex index="923" x="33.4801" y="-93.7461"/>
+ <vertex index="924" x="30.7863" y="-94.8713"/>
+ <vertex index="925" x="29.693" y="-103.377"/>
+ <vertex index="926" x="30.7758" y="-100.507"/>
+ <vertex index="927" x="27.2047" y="-112.641"/>
+ <vertex index="928" x="28.5585" y="-155.077"/>
+ <vertex index="929" x="25" y="-156.5"/>
+ <vertex index="930" x="33.168" y="-160.294"/>
+ <vertex index="931" x="29.0028" y="-149.881"/>
+ <vertex index="932" x="31.7951" y="-156.862"/>
+ <vertex index="933" x="29.5664" y="-159.744"/>
+ <vertex index="934" x="36.0441" y="-157.153"/>
+ <vertex index="935" x="30.0865" y="-152.591"/>
+ <vertex index="936" x="26.8055" y="-152.31"/>
+ <vertex index="937" x="41.6367" y="-149.359"/>
+ <vertex index="938" x="39.7276" y="-153.893"/>
+ <vertex index="939" x="34.7959" y="-169.982"/>
+ <vertex index="940" x="78.4974" y="-155.101"/>
+ <vertex index="941" x="45.6624" y="-75.7166"/>
+ <vertex index="942" x="43.4788" y="-79.6868"/>
+ <vertex index="943" x="40.3225" y="-85.3225"/>
+ <vertex index="944" x="46.7434" y="-83.9249"/>
+ <vertex index="945" x="40.8453" y="-81.9136"/>
+ <vertex index="946" x="36.5" y="-81.5"/>
+ <vertex index="947" x="43.4083" y="-84.0512"/>
+ <vertex index="948" x="45.2902" y="-92.9995"/>
+ <vertex index="949" x="45.2405" y="-88.3379"/>
+ <vertex index="950" x="46.1017" y="-81.0428"/>
+ <vertex index="951" x="40.396" y="-90.7207"/>
+ <vertex index="952" x="51.2136" y="-90.6052"/>
+ <vertex index="953" x="43.3885" y="-90.6888"/>
+ <vertex index="954" x="49.0939" y="-87.1879"/>
+ <vertex index="955" x="47.7828" y="-90.6418"/>
+ <vertex index="956" x="77.4974" y="-109.899"/>
+ <vertex index="957" x="78.7246" y="-94.9184"/>
+ <vertex index="958" x="100.452" y="-177.548"/>
+ <vertex index="959" x="103" y="-175"/>
+ <vertex index="960" x="94.3412" y="-174.675"/>
+ <vertex index="961" x="103.518" y="-183.853"/>
+ <vertex index="962" x="96.879" y="-177.213"/>
+ <vertex index="963" x="97.6798" y="-173.874"/>
+ <vertex index="964" x="92.9146" y="-178.64"/>
+ <vertex index="965" x="103.075" y="-180.17"/>
+ <vertex index="966" x="100.343" y="-182.367"/>
+ <vertex index="967" x="106.412" y="-181.636"/>
+ <vertex index="968" x="94.5202" y="-190.007"/>
+ <vertex index="969" x="109.203" y="-188.277"/>
+ <vertex index="970" x="96.7225" y="-185.647"/>
+ <vertex index="971" x="108.779" y="-184.549"/>
+ <vertex index="972" x="112.047" y="-186.065"/>
+ <vertex index="973" x="115.249" y="-193.115"/>
+ <vertex index="974" x="112.805" y="-189.973"/>
+ <vertex index="975" x="107.461" y="-196.653"/>
+ <vertex index="976" x="116.781" y="-189.402"/>
+ <vertex index="977" x="110.932" y="-193.952"/>
+ <vertex index="978" x="91.3637" y="-184.021"/>
+ <vertex index="979" x="120.338" y="-193.041"/>
+ <vertex index="980" x="117.5" y="-185.5"/>
+ <vertex index="981" x="114.904" y="-187.038"/>
+ <vertex index="982" x="106.729" y="-192.131"/>
+ <vertex index="983" x="114.841" y="-202.558"/>
+ <vertex index="984" x="91.0468" y="-181.015"/>
+ <vertex index="985" x="119.765" y="-190.043"/>
+ <vertex index="986" x="109.604" y="-191.256"/>
+ <vertex index="987" x="104.747" y="-188.138"/>
+ <vertex index="988" x="99.8423" y="-195.565"/>
+ <vertex index="989" x="113.916" y="-197.787"/>
+ <vertex index="990" x="105.981" y="-185.465"/>
+ <vertex index="991" x="100.709" y="-186.977"/>
+ <vertex index="992" x="103.821" y="-194.922"/>
+ <vertex index="993" x="110.688" y="-197.22"/>
+ <vertex index="994" x="107.889" y="-203.682"/>
+ <vertex index="995" x="108.515" y="-200.116"/>
+ <vertex index="996" x="102.569" y="-200.909"/>
+ <vertex index="997" x="111.254" y="-202.436"/>
+ <vertex index="998" x="105.668" y="-201.454"/>
+ <vertex index="999" x="103.258" y="-206.077"/>
+ <vertex index="1000" x="112.737" y="-211.606"/>
+ <vertex index="1001" x="112.898" y="-206.875"/>
+ <vertex index="1002" x="97.8363" y="-188.946"/>
+ <vertex index="1003" x="97.2244" y="-192.745"/>
+ <vertex index="1004" x="101.52" y="-191.241"/>
+ <vertex index="1005" x="88.4968" y="-198.66"/>
+ <vertex index="1006" x="92.3116" y="-194.893"/>
+ <vertex index="1007" x="104.499" y="-198.188"/>
+ <vertex index="1008" x="107.973" y="-209.076"/>
+ <vertex index="1009" x="124.835" y="-209.649"/>
+ <vertex index="1010" x="110.973" y="-209.178"/>
+ <vertex index="1011" x="119.14" y="-207.087"/>
+ <vertex index="1012" x="116.063" y="-205.703"/>
+ <vertex index="1013" x="116.143" y="-209.636"/>
+ <vertex index="1014" x="119.747" y="-219.795"/>
+ <vertex index="1015" x="120.486" y="-211.706"/>
+ <vertex index="1016" x="87.0093" y="-165.368"/>
+ <vertex index="1017" x="75.4974" y="-142.5"/>
+ <vertex index="1018" x="78.6263" y="-131.925"/>
+ <vertex index="1019" x="77.6023" y="-127.142"/>
+ <vertex index="1020" x="78.7052" y="-122.5"/>
+ <vertex index="1021" x="76.6373" y="-116.354"/>
+ <vertex index="1022" x="76.6373" y="-119.775"/>
+ <vertex index="1023" x="71.553" y="-118.064"/>
+ <vertex index="1024" x="97.1995" y="-90.9974"/>
+ <vertex index="1025" x="89.7596" y="-54.7978"/>
+ <vertex index="1026" x="79.8179" y="-55.2948"/>
+ <vertex index="1027" x="75.2629" y="-59.5156"/>
+ <vertex index="1028" x="84.821" y="-55.6924"/>
+ <vertex index="1029" x="78.3513" y="-58.2803"/>
+ <vertex index="1030" x="78.4029" y="-62.8874"/>
+ <vertex index="1031" x="82.221" y="-56.7324"/>
+ <vertex index="1032" x="71.7827" y="-65.9045"/>
+ <vertex index="1033" x="75.5964" y="-65.501"/>
+ <vertex index="1034" x="73.3637" y="-62.6234"/>
+ <vertex index="1035" x="74.2939" y="-71.4148"/>
+ <vertex index="1036" x="71.1449" y="-59.1332"/>
+ <vertex index="1037" x="75.9323" y="-68.6753"/>
+ <vertex index="1038" x="79.2163" y="-72.4989"/>
+ <vertex index="1039" x="68.5" y="-56.5"/>
+ <vertex index="1040" x="104.054" y="-47.2707"/>
+ <vertex index="1041" x="99.4386" y="-50.193"/>
+ <vertex index="1042" x="109.439" y="-48.193"/>
+ <vertex index="1043" x="123.5" y="-48.5026"/>
+ <vertex index="1044" x="114.257" y="-424.194"/>
+ <vertex index="1045" x="114.516" y="-421.085"/>
+ <vertex index="1046" x="112" y="-427.5"/>
+ <vertex index="1047" x="115.023" y="-427.136"/>
+ <vertex index="1048" x="126.253" y="-429.599"/>
+ <vertex index="1049" x="123.787" y="-427.952"/>
+ <vertex index="1050" x="122.509" y="-432.691"/>
+ <vertex index="1051" x="118.354" y="-437.129"/>
+ <vertex index="1052" x="125.815" y="-423.974"/>
+ <vertex index="1053" x="120.85" y="-427.029"/>
+ <vertex index="1054" x="122.5" y="-413.5"/>
+ <vertex index="1055" x="115.857" y="-415.644"/>
+ <vertex index="1056" x="110.033" y="-415.194"/>
+ <vertex index="1057" x="112.837" y="-415.411"/>
+ <vertex index="1058" x="110.882" y="-411.747"/>
+ <vertex index="1059" x="107.363" y="-414.143"/>
+ <vertex index="1060" x="109.516" y="-419.83"/>
+ <vertex index="1061" x="110.393" y="-408.774"/>
+ <vertex index="1062" x="107.788" y="-417.29"/>
+ <vertex index="1063" x="107.5" y="-423"/>
+ <vertex index="1064" x="159.075" y="-406.626"/>
+ <vertex index="1065" x="163.5" y="-405.531"/>
+ <vertex index="1066" x="167.042" y="-406.483"/>
+ <vertex index="1067" x="153.5" y="-403.167"/>
+ <vertex index="1068" x="155.841" y="-405.616"/>
+ <vertex index="1069" x="173.5" y="-403.167"/>
+ <vertex index="1070" x="170.235" y="-404.754"/>
+ <vertex index="1071" x="146.101" y="-399.497"/>
+ <vertex index="1072" x="140.392" y="-357.771"/>
+ <vertex index="1073" x="134.623" y="-357.693"/>
+ <vertex index="1074" x="137.493" y="-358.776"/>
+ <vertex index="1075" x="145.33" y="-362.349"/>
+ <vertex index="1076" x="143.445" y="-359.43"/>
+ <vertex index="1077" x="146.73" y="-359.376"/>
+ <vertex index="1078" x="149.815" y="-362.645"/>
+ <vertex index="1079" x="147.256" y="-367.289"/>
+ <vertex index="1080" x="152.837" y="-360.511"/>
+ <vertex index="1081" x="156.279" y="-361.224"/>
+ <vertex index="1082" x="161.579" y="-367.63"/>
+ <vertex index="1083" x="160.264" y="-363.323"/>
+ <vertex index="1084" x="151.017" y="-366.334"/>
+ <vertex index="1085" x="147.449" y="-364.368"/>
+ <vertex index="1086" x="157.494" y="-366.523"/>
+ <vertex index="1087" x="166.545" y="-363.759"/>
+ <vertex index="1088" x="161.9" y="-360.499"/>
+ <vertex index="1089" x="154.208" y="-368.057"/>
+ <vertex index="1090" x="158.331" y="-375.411"/>
+ <vertex index="1091" x="157.581" y="-370.999"/>
+ <vertex index="1092" x="163.321" y="-364.744"/>
+ <vertex index="1093" x="165.851" y="-368.239"/>
+ <vertex index="1094" x="154.271" y="-373.832"/>
+ <vertex index="1095" x="162.244" y="-372.476"/>
+ <vertex index="1096" x="144.556" y="-379.015"/>
+ <vertex index="1097" x="163.443" y="-369.843"/>
+ <vertex index="1098" x="148.891" y="-375.443"/>
+ <vertex index="1099" x="151.242" y="-373.505"/>
+ <vertex index="1100" x="153.631" y="-381.484"/>
+ <vertex index="1101" x="155.083" y="-377.752"/>
+ <vertex index="1102" x="151.303" y="-378.43"/>
+ <vertex index="1103" x="147.927" y="-378.689"/>
+ <vertex index="1104" x="146.905" y="-385.714"/>
+ <vertex index="1105" x="146.553" y="-382.076"/>
+ <vertex index="1106" x="140.641" y="-383.751"/>
+ <vertex index="1107" x="150.241" y="-383.556"/>
+ <vertex index="1108" x="143.336" y="-381.993"/>
+ <vertex index="1109" x="139.166" y="-378.545"/>
+ <vertex index="1110" x="150.909" y="-388.246"/>
+ <vertex index="1111" x="160.664" y="-382.072"/>
+ <vertex index="1112" x="147.475" y="-389.245"/>
+ <vertex index="1113" x="142.684" y="-388.207"/>
+ <vertex index="1114" x="156.478" y="-393.493"/>
+ <vertex index="1115" x="158.512" y="-379.087"/>
+ <vertex index="1116" x="163.669" y="-377.639"/>
+ <vertex index="1117" x="152.839" y="-391.776"/>
+ <vertex index="1118" x="151.894" y="-397.545"/>
+ <vertex index="1119" x="157.187" y="-387.275"/>
+ <vertex index="1120" x="153.71" y="-385.423"/>
+ <vertex index="1121" x="157.019" y="-383.4"/>
+ <vertex index="1122" x="151.309" y="-394.487"/>
+ <vertex index="1123" x="147.933" y="-396.189"/>
+ <vertex index="1124" x="143.836" y="-393.166"/>
+ <vertex index="1125" x="155.777" y="-390.263"/>
+ <vertex index="1126" x="160.884" y="-390.846"/>
+ <vertex index="1127" x="125.822" y="-384.178"/>
+ <vertex index="1128" x="126.608" y="-247.229"/>
+ <vertex index="1129" x="122.746" y="-243.52"/>
+ <vertex index="1130" x="123.871" y="-246.214"/>
+ <vertex index="1131" x="192.392" y="-400.229"/>
+ <vertex index="1132" x="196.254" y="-396.52"/>
+ <vertex index="1133" x="195.129" y="-399.214"/>
+ <vertex index="1134" x="186.623" y="-400.307"/>
+ <vertex index="1135" x="189.521" y="-401.312"/>
+ <vertex index="1136" x="238.997" y="-342.199"/>
+ <vertex index="1137" x="228.964" y="-353.686"/>
+ <vertex index="1138" x="208.496" y="-330.299"/>
+ <vertex index="1139" x="184.101" y="-360.503"/>
+ <vertex index="1140" x="212.798" y="-382.798"/>
+ <vertex index="1141" x="192.662" y="-349.717"/>
+ <vertex index="1142" x="239.069" y="-309.986"/>
+ <vertex index="1143" x="208.239" y="-313.752"/>
+ <vertex index="1144" x="211.73" y="-319.516"/>
+ <vertex index="1145" x="209.156" y="-306.646"/>
+ <vertex index="1146" x="211.028" y="-316.002"/>
+ <vertex index="1147" x="208.323" y="-318.37"/>
+ <vertex index="1148" x="215.094" y="-317.016"/>
+ <vertex index="1149" x="207.301" y="-310.019"/>
+ <vertex index="1150" x="210.877" y="-309.79"/>
+ <vertex index="1151" x="205.581" y="-306.876"/>
+ <vertex index="1152" x="220.058" y="-306.311"/>
+ <vertex index="1153" x="206.827" y="-298.315"/>
+ <vertex index="1154" x="214.584" y="-305.718"/>
+ <vertex index="1155" x="207.11" y="-302.727"/>
+ <vertex index="1156" x="220.601" y="-313.067"/>
+ <vertex index="1157" x="211.329" y="-303.018"/>
+ <vertex index="1158" x="203.198" y="-300.763"/>
+ <vertex index="1159" x="203.692" y="-304.091"/>
+ <vertex index="1160" x="218.49" y="-315.937"/>
+ <vertex index="1161" x="223.96" y="-317.75"/>
+ <vertex index="1162" x="216.684" y="-312.396"/>
+ <vertex index="1163" x="219.147" y="-309.784"/>
+ <vertex index="1164" x="224.563" y="-309.349"/>
+ <vertex index="1165" x="215.728" y="-309.028"/>
+ <vertex index="1166" x="218.181" y="-298.072"/>
+ <vertex index="1167" x="201.769" y="-294.732"/>
+ <vertex index="1168" x="215.394" y="-301.43"/>
+ <vertex index="1169" x="200.189" y="-298.291"/>
+ <vertex index="1170" x="203.622" y="-297.478"/>
+ <vertex index="1171" x="217.533" y="-304.055"/>
+ <vertex index="1172" x="222.069" y="-301.52"/>
+ <vertex index="1173" x="212.46" y="-296.16"/>
+ <vertex index="1174" x="212.363" y="-299.666"/>
+ <vertex index="1175" x="215.03" y="-297.986"/>
+ <vertex index="1176" x="216.747" y="-292.848"/>
+ <vertex index="1177" x="209.257" y="-300.374"/>
+ <vertex index="1178" x="221.283" y="-255.662"/>
+ <vertex index="1179" x="212.66" y="-248.34"/>
+ <vertex index="1180" x="239.115" y="-294.377"/>
+ <vertex index="1181" x="237.229" y="-284.608"/>
+ <vertex index="1182" x="237.101" y="-289.699"/>
+ <vertex index="1183" x="233.307" y="-280.377"/>
+ <vertex index="1184" x="234.502" y="-283.203"/>
+ <vertex index="1185" x="245.021" y="-328.004"/>
+ <vertex index="1186" x="244.004" y="-323.935"/>
+ <vertex index="1187" x="242.93" y="-319.842"/>
+ <vertex index="1188" x="239.413" y="-323.133"/>
+ <vertex index="1189" x="245.512" y="-318.5"/>
+ <vertex index="1190" x="242.214" y="-314.844"/>
+ <vertex index="1191" x="235.057" y="-321.257"/>
+ <vertex index="1192" x="238.323" y="-326.285"/>
+ <vertex index="1193" x="235.996" y="-333.9"/>
+ <vertex index="1194" x="236.344" y="-329.844"/>
+ <vertex index="1195" x="236.61" y="-323.648"/>
+ <vertex index="1196" x="232.883" y="-314.134"/>
+ <vertex index="1197" x="228.23" y="-323.547"/>
+ <vertex index="1198" x="240.744" y="-332.265"/>
+ <vertex index="1199" x="243.744" y="-330.999"/>
+ <vertex index="1200" x="235.166" y="-317.33"/>
+ <vertex index="1201" x="237.009" y="-313.6"/>
+ <vertex index="1202" x="230.035" y="-318.582"/>
+ <vertex index="1203" x="232.912" y="-319.232"/>
+ <vertex index="1204" x="232.043" y="-323.593"/>
+ <vertex index="1205" x="230.071" y="-329.035"/>
+ <vertex index="1206" x="232.006" y="-326.658"/>
+ <vertex index="1207" x="234.609" y="-309.837"/>
+ <vertex index="1208" x="239.934" y="-312.873"/>
+ <vertex index="1209" x="243.051" y="-310.367"/>
+ <vertex index="1210" x="232.929" y="-331.594"/>
+ <vertex index="1211" x="226.733" y="-335.639"/>
+ <vertex index="1212" x="231.907" y="-336.144"/>
+ <vertex index="1213" x="229.288" y="-332.785"/>
+ <vertex index="1214" x="222.693" y="-329.451"/>
+ <vertex index="1215" x="225.543" y="-332.003"/>
+ <vertex index="1216" x="226.327" y="-328.261"/>
+ <vertex index="1217" x="220.238" y="-335.061"/>
+ <vertex index="1218" x="222.388" y="-332.66"/>
+ <vertex index="1219" x="218.003" y="-330.624"/>
+ <vertex index="1220" x="229.06" y="-338.552"/>
+ <vertex index="1221" x="222.98" y="-341.024"/>
+ <vertex index="1222" x="225.654" y="-338.888"/>
+ <vertex index="1223" x="223.398" y="-336.335"/>
+ <vertex index="1224" x="227.581" y="-344.04"/>
+ <vertex index="1225" x="179.899" y="-227.503"/>
+ <vertex index="1226" x="166.392" y="-216.771"/>
+ <vertex index="1227" x="170.254" y="-220.48"/>
+ <vertex index="1228" x="169.129" y="-217.786"/>
+ <vertex index="1229" x="160.623" y="-216.693"/>
+ <vertex index="1230" x="163.493" y="-217.776"/>
+ <vertex index="1231" x="148.101" y="-254.497"/>
+ <vertex index="1232" x="170.996" y="-126.021"/>
+ <vertex index="1233" x="175.065" y="-125.004"/>
+ <vertex index="1234" x="167.262" y="-123.443"/>
+ <vertex index="1235" x="178.795" y="-124.286"/>
+ <vertex index="1236" x="175.309" y="-121.163"/>
+ <vertex index="1237" x="176.618" y="-117.48"/>
+ <vertex index="1238" x="172.564" y="-119.293"/>
+ <vertex index="1239" x="167.243" y="-116.913"/>
+ <vertex index="1240" x="180.517" y="-116.806"/>
+ <vertex index="1241" x="177.026" y="-111.318"/>
+ <vertex index="1242" x="175.794" y="-114.331"/>
+ <vertex index="1243" x="171.896" y="-110.979"/>
+ <vertex index="1244" x="165.5" y="-126.5"/>
+ <vertex index="1245" x="163.699" y="-120.301"/>
+ <vertex index="1246" x="168.886" y="-120.173"/>
+ <vertex index="1247" x="161" y="-123"/>
+ <vertex index="1248" x="160.694" y="-116.245"/>
+ <vertex index="1249" x="161.115" y="-119.074"/>
+ <vertex index="1250" x="182.869" y="-122.659"/>
+ <vertex index="1251" x="183.369" y="-119.059"/>
+ <vertex index="1252" x="120.217" y="-101.783"/>
+ <vertex index="1253" x="124.529" y="-104.119"/>
+ <vertex index="1254" x="133.409" y="-106.953"/>
+ <vertex index="1255" x="144.437" y="-103.817"/>
+ <vertex index="1256" x="111.101" y="-90.4974"/>
+ <vertex index="1257" x="153.608" y="-113.229"/>
+ <vertex index="1258" x="157.491" y="-113.938"/>
+ <vertex index="1259" x="177.84" y="-88.5"/>
+ <vertex index="1260" x="174.013" y="-88.4152"/>
+ <vertex index="1261" x="171.735" y="-85.4407"/>
+ <vertex index="1262" x="157.593" y="-89.8743"/>
+ <vertex index="1263" x="115.5" y="-405"/>
+ <vertex index="1264" x="106.818" y="-403.853"/>
+ <vertex index="1265" x="99.7626" y="-402.187"/>
+ <vertex index="1266" x="179.229" y="-83.5"/>
+ <vertex index="1267" x="177.363" y="-79.1004"/>
+ <vertex index="1268" x="174.345" y="-70.3619"/>
+ <vertex index="1269" x="94.0776" y="-414.556"/>
+ <vertex index="1270" x="96.0909" y="-408.504"/>
+ <vertex index="1271" x="92.7902" y="-409.391"/>
+ <vertex index="1272" x="172.5" y="-59"/>
+ <vertex index="1273" x="173.296" y="-65.4226"/>
+ <vertex index="1274" x="176.5" y="-63.5"/>
+ <vertex index="1275" x="169.341" y="-65.5887"/>
+ <vertex index="1276" x="169.368" y="-69.0388"/>
+ <vertex index="1277" x="175.422" y="-67.5519"/>
+ <vertex index="1278" x="157.43" y="-59.3365"/>
+ <vertex index="1279" x="165.414" y="-71.5749"/>
+ <vertex index="1280" x="165.802" y="-77.8435"/>
+ <vertex index="1281" x="166.59" y="-74.6485"/>
+ <vertex index="1282" x="162.46" y="-75.3237"/>
+ <vertex index="1283" x="171.293" y="-77.5043"/>
+ <vertex index="1284" x="171.964" y="-81.4474"/>
+ <vertex index="1285" x="174.131" y="-79.0499"/>
+ <vertex index="1286" x="175.815" y="-74.7447"/>
+ <vertex index="1287" x="159.868" y="-82.2363"/>
+ <vertex index="1288" x="178.168" y="-76.3613"/>
+ <vertex index="1289" x="177.035" y="-71.8976"/>
+ <vertex index="1290" x="172.503" y="-73.4176"/>
+ <vertex index="1291" x="162.186" y="-79.163"/>
+ <vertex index="1292" x="158.462" y="-78.7656"/>
+ <vertex index="1293" x="164.17" y="-83.0699"/>
+ <vertex index="1294" x="153.132" y="-77.1426"/>
+ <vertex index="1295" x="166.58" y="-80.9544"/>
+ <vertex index="1296" x="169.395" y="-79.8558"/>
+ <vertex index="1297" x="161.216" y="-86.7958"/>
+ <vertex index="1298" x="165.959" y="-87.2515"/>
+ <vertex index="1299" x="157.04" y="-85.5516"/>
+ <vertex index="1300" x="168.719" y="-86.3863"/>
+ <vertex index="1301" x="166.531" y="-92.1581"/>
+ <vertex index="1302" x="145.672" y="-89.2026"/>
+ <vertex index="1303" x="161.974" y="-91.3598"/>
+ <vertex index="1304" x="151.694" y="-88.4321"/>
+ <vertex index="1305" x="164.579" y="-89.8992"/>
+ <vertex index="1306" x="157.891" y="-96.199"/>
+ <vertex index="1307" x="154.921" y="-88.0194"/>
+ <vertex index="1308" x="158.983" y="-92.9781"/>
+ <vertex index="1309" x="163.388" y="-96.6951"/>
+ <vertex index="1310" x="163.913" y="-93.7011"/>
+ <vertex index="1311" x="155.495" y="-67.3291"/>
+ <vertex index="1312" x="153.108" y="-53.9399"/>
+ <vertex index="1313" x="156.315" y="-53.2625"/>
+ <vertex index="1314" x="132.413" y="-47.9329"/>
+ <vertex index="1315" x="132.91" y="-52.6121"/>
+ <vertex index="1316" x="134.68" y="-50.0585"/>
+ <vertex index="1317" x="137.544" y="-46.9416"/>
+ <vertex index="1318" x="128.119" y="-50.7542"/>
+ <vertex index="1319" x="134.662" y="-45.7975"/>
+ <vertex index="1320" x="130.993" y="-50.4495"/>
+ <vertex index="1321" x="129.137" y="-55.2332"/>
+ <vertex index="1322" x="126.243" y="-53.5362"/>
+ <vertex index="1323" x="128.697" y="-61.1924"/>
+ <vertex index="1324" x="132.067" y="-60.534"/>
+ <vertex index="1325" x="143.223" y="-44.8842"/>
+ <vertex index="1326" x="144.803" y="-72.097"/>
+ <vertex index="1327" x="146.144" y="-69.5375"/>
+ <vertex index="1328" x="133.934" y="-77.9041"/>
+ <vertex index="1329" x="141.197" y="-78.4229"/>
+ <vertex index="1330" x="144.027" y="-75.8454"/>
+ <vertex index="1331" x="139.123" y="-73.3023"/>
+ <vertex index="1332" x="146.581" y="-81.492"/>
+ <vertex index="1333" x="142.133" y="-73.4986"/>
+ <vertex index="1334" x="146.221" y="-78.2541"/>
+ <vertex index="1335" x="149.962" y="-79.4771"/>
+ <vertex index="1336" x="150.39" y="-84.0394"/>
+ <vertex index="1337" x="146.713" y="-85.4165"/>
+ <vertex index="1338" x="141.803" y="-83.6168"/>
+ <vertex index="1339" x="148.574" y="-87.9645"/>
+ <vertex index="1340" x="149.309" y="-93.7076"/>
+ <vertex index="1341" x="143.505" y="-86.5706"/>
+ <vertex index="1342" x="135.763" y="-89.0638"/>
+ <vertex index="1343" x="139.367" y="-86.9875"/>
+ <vertex index="1344" x="136.641" y="-82.4517"/>
+ <vertex index="1345" x="140.658" y="-93.3931"/>
+ <vertex index="1346" x="142.056" y="-89.9713"/>
+ <vertex index="1347" x="138.751" y="-90.6175"/>
+ <vertex index="1348" x="134.57" y="-95.0078"/>
+ <vertex index="1349" x="138.973" y="-84.1372"/>
+ <vertex index="1350" x="150.218" y="-67.3749"/>
+ <vertex index="1351" x="65.5" y="-384"/>
+ <vertex index="1352" x="58.9299" y="-388.648"/>
+ <vertex index="1353" x="60.3751" y="-386.229"/>
+ <vertex index="1354" x="51.9334" y="-392.001"/>
+ <vertex index="1355" x="54.9294" y="-389.277"/>
+ <vertex index="1356" x="51.2453" y="-386.243"/>
+ <vertex index="1357" x="56.7314" y="-394.268"/>
+ <vertex index="1358" x="58.5403" y="-391.736"/>
+ <vertex index="1359" x="66.4266" y="-390.765"/>
+ <vertex index="1360" x="46.8001" y="-363.38"/>
+ <vertex index="1361" x="23.0634" y="-355.213"/>
+ <vertex index="1362" x="21.9007" y="-358.082"/>
+ <vertex index="1363" x="25.7781" y="-352.957"/>
+ <vertex index="1364" x="31.2757" y="-352.068"/>
+ <vertex index="1365" x="22.8841" y="-352.317"/>
+ <vertex index="1366" x="36.8835" y="-353.652"/>
+ <vertex index="1367" x="39.8596" y="-352.624"/>
+ <vertex index="1368" x="37.2333" y="-349.563"/>
+ <vertex index="1369" x="37.4585" y="-345.82"/>
+ <vertex index="1370" x="34.0996" y="-350.447"/>
+ <vertex index="1371" x="29.1167" y="-360.526"/>
+ <vertex index="1372" x="26.5651" y="-361.694"/>
+ <vertex index="1373" x="29.986" y="-363.944"/>
+ <vertex index="1374" x="32.1852" y="-356.805"/>
+ <vertex index="1375" x="34.6923" y="-370.636"/>
+ <vertex index="1376" x="73.7908" y="-409.046"/>
+ <vertex index="1377" x="77.0133" y="-407.962"/>
+ <vertex index="1378" x="78.2795" y="-403.272"/>
+ <vertex index="1379" x="72.6872" y="-402.659"/>
+ <vertex index="1380" x="74.4888" y="-399.094"/>
+ <vertex index="1381" x="75.6007" y="-401.894"/>
+ <vertex index="1382" x="75.7196" y="-395.287"/>
+ <vertex index="1383" x="74.5678" y="-392.054"/>
+ <vertex index="1384" x="70.3585" y="-392.286"/>
+ <vertex index="1385" x="69.6117" y="-388.98"/>
+ <vertex index="1386" x="66.6825" y="-395.947"/>
+ <vertex index="1387" x="65.406" y="-405.001"/>
+ <vertex index="1388" x="67.9475" y="-401.711"/>
+ <vertex index="1389" x="90.2279" y="-406.234"/>
+ <vertex index="1390" x="86.6635" y="-405.68"/>
+ <vertex index="1391" x="92.2878" y="-403.453"/>
+ <vertex index="1392" x="91.3739" y="-400.086"/>
+ <vertex index="1393" x="87.9658" y="-399.65"/>
+ <vertex index="1394" x="89.9642" y="-397.34"/>
+ <vertex index="1395" x="81.6291" y="-397.137"/>
+ <vertex index="1396" x="79.0993" y="-395.074"/>
+ <vertex index="1397" x="81.0714" y="-354.929"/>
+ <vertex index="1398" x="87.3054" y="-356.493"/>
+ <vertex index="1399" x="89.8085" y="-358.31"/>
+ <vertex index="1400" x="91.3358" y="-353.574"/>
+ <vertex index="1401" x="115.654" y="-341.385"/>
+ <vertex index="1402" x="103.241" y="-373.759"/>
+ <vertex index="1403" x="114.58" y="-369.944"/>
+ <vertex index="1404" x="108.206" y="-363.008"/>
+ <vertex index="1405" x="106.853" y="-365.65"/>
+ <vertex index="1406" x="110.103" y="-365.072"/>
+ <vertex index="1407" x="112.782" y="-355.01"/>
+ <vertex index="1408" x="103.352" y="-358.362"/>
+ <vertex index="1409" x="111.556" y="-359.616"/>
+ <vertex index="1410" x="104.906" y="-361.597"/>
+ <vertex index="1411" x="107.554" y="-358.334"/>
+ <vertex index="1412" x="101.363" y="-361.308"/>
+ <vertex index="1413" x="98.6238" y="-357.315"/>
+ <vertex index="1414" x="95.97" y="-359.013"/>
+ <vertex index="1415" x="95.1423" y="-355.624"/>
+ <vertex index="1416" x="110.251" y="-356.802"/>
+ <vertex index="1417" x="108.791" y="-352.058"/>
+ <vertex index="1418" x="101.268" y="-364.136"/>
+ <vertex index="1419" x="105.429" y="-354.655"/>
+ <vertex index="1420" x="112.327" y="-380.673"/>
+ <vertex index="1421" x="21.4107" y="-349.5"/>
+ <vertex index="1422" x="23.2028" y="-339.981"/>
+ <vertex index="1423" x="31.3022" y="-342.416"/>
+ <vertex index="1424" x="34.6098" y="-343.703"/>
+ <vertex index="1425" x="27.6022" y="-336.582"/>
+ <vertex index="1426" x="25" y="-334.5"/>
+ <vertex index="1427" x="29.246" y="-339.63"/>
+ <vertex index="1428" x="33.6991" y="-338.496"/>
+ <vertex index="1429" x="30.5761" y="-334.14"/>
+ <vertex index="1430" x="33.2321" y="-335.533"/>
+ <vertex index="1431" x="35.1292" y="-340.929"/>
+ <vertex index="1432" x="36.6793" y="-337.456"/>
+ <vertex index="1433" x="48.4629" y="-343.125"/>
+ <vertex index="1434" x="47.5335" y="-339.734"/>
+ <vertex index="1435" x="41.0698" y="-341.496"/>
+ <vertex index="1436" x="73.5" y="-321.69"/>
+ <vertex index="1437" x="79.1886" y="-347.427"/>
+ <vertex index="1438" x="75.3318" y="-346.725"/>
+ <vertex index="1439" x="79.7254" y="-342.34"/>
+ <vertex index="1440" x="77.1397" y="-344.143"/>
+ <vertex index="1441" x="79.0908" y="-339.538"/>
+ <vertex index="1442" x="82.5059" y="-321.485"/>
+ <vertex index="1443" x="82.3104" y="-324.993"/>
+ <vertex index="1444" x="78.0051" y="-319.974"/>
+ <vertex index="1445" x="87.7148" y="-342.621"/>
+ <vertex index="1446" x="85.0258" y="-339.358"/>
+ <vertex index="1447" x="83.695" y="-343.195"/>
+ <vertex index="1448" x="81.2148" y="-345.069"/>
+ <vertex index="1449" x="83.0083" y="-348.66"/>
+ <vertex index="1450" x="86.0871" y="-345.585"/>
+ <vertex index="1451" x="97.7466" y="-338.229"/>
+ <vertex index="1452" x="99.5277" y="-335.407"/>
+ <vertex index="1453" x="94.7639" y="-335.879"/>
+ <vertex index="1454" x="22.7889" y="-146.242"/>
+ <vertex index="1455" x="23.7782" y="-131.5"/>
+ <vertex index="1456" x="23.0902" y="-134.565"/>
+ <vertex index="1457" x="28.8975" y="-131.047"/>
+ <vertex index="1458" x="23.3586" y="-128.029"/>
+ <vertex index="1459" x="26.4491" y="-132.53"/>
+ <vertex index="1460" x="24.693" y="-121.5"/>
+ <vertex index="1461" x="38.6229" y="-96.402"/>
+ <vertex index="1462" x="26.6806" y="-102.172"/>
+ <vertex index="1463" x="26.6136" y="-107.945"/>
+ <vertex index="1464" x="23.942" y="-106.877"/>
+ <vertex index="1465" x="24.7841" y="-110.561"/>
+ <vertex index="1466" x="29.6407" y="-109.949"/>
+ <vertex index="1467" x="32.0663" y="-106.682"/>
+ <vertex index="1468" x="29.1059" y="-106.303"/>
+ <vertex index="1469" x="37.8713" y="-107.095"/>
+ <vertex index="1470" x="34.8918" y="-107.972"/>
+ <vertex index="1471" x="34.5619" y="-147.534"/>
+ <vertex index="1472" x="25.3628" y="-149.261"/>
+ <vertex index="1473" x="50.6388" y="-155.819"/>
+ <vertex index="1474" x="36.3073" y="-153.74"/>
+ <vertex index="1475" x="34.9344" y="-150.777"/>
+ <vertex index="1476" x="38.0131" y="-148.781"/>
+ <vertex index="1477" x="40.8073" y="-142.918"/>
+ <vertex index="1478" x="37.4576" y="-144.919"/>
+ <vertex index="1479" x="40.5132" y="-146.23"/>
+ <vertex index="1480" x="48.1849" y="-145.242"/>
+ <vertex index="1481" x="44.2404" y="-144.892"/>
+ <vertex index="1482" x="47.0084" y="-136.105"/>
+ <vertex index="1483" x="44.6575" y="-140.194"/>
+ <vertex index="1484" x="49.7425" y="-140.397"/>
+ <vertex index="1485" x="38.6911" y="-134.043"/>
+ <vertex index="1486" x="47.2532" y="-138.966"/>
+ <vertex index="1487" x="40.44" y="-138.316"/>
+ <vertex index="1488" x="43.6101" y="-136.871"/>
+ <vertex index="1489" x="43.9707" y="-130.552"/>
+ <vertex index="1490" x="44.6948" y="-133.763"/>
+ <vertex index="1491" x="49.9415" y="-130.893"/>
+ <vertex index="1492" x="36.2007" y="-137.557"/>
+ <vertex index="1493" x="37.9467" y="-140.83"/>
+ <vertex index="1494" x="33.6267" y="-133.093"/>
+ <vertex index="1495" x="30.986" y="-137.619"/>
+ <vertex index="1496" x="35.9404" y="-134.733"/>
+ <vertex index="1497" x="33.6074" y="-138.77"/>
+ <vertex index="1498" x="32.0747" y="-171.07"/>
+ <vertex index="1499" x="36.9251" y="-174.445"/>
+ <vertex index="1500" x="35.3994" y="-164.9"/>
+ <vertex index="1501" x="82.2293" y="-153.608"/>
+ <vertex index="1502" x="78.307" y="-149.377"/>
+ <vertex index="1503" x="79.5024" y="-152.203"/>
+ <vertex index="1504" x="49.5628" y="-81.8103"/>
+ <vertex index="1505" x="57.4628" y="-76.2577"/>
+ <vertex index="1506" x="52.8318" y="-78.0652"/>
+ <vertex index="1507" x="50.1132" y="-74.2472"/>
+ <vertex index="1508" x="50.1963" y="-77.0649"/>
+ <vertex index="1509" x="54.0411" y="-74.3271"/>
+ <vertex index="1510" x="58.8049" y="-69.8814"/>
+ <vertex index="1511" x="52.1369" y="-71.3479"/>
+ <vertex index="1512" x="57.1258" y="-72.8574"/>
+ <vertex index="1513" x="48.5" y="-70"/>
+ <vertex index="1514" x="55.0072" y="-68.5062"/>
+ <vertex index="1515" x="62.6715" y="-74.0246"/>
+ <vertex index="1516" x="36.4472" y="-88.0749"/>
+ <vertex index="1517" x="39.3344" y="-88.0356"/>
+ <vertex index="1518" x="37.1104" y="-84.9043"/>
+ <vertex index="1519" x="33.4772" y="-87.0863"/>
+ <vertex index="1520" x="36.7736" y="-91.8574"/>
+ <vertex index="1521" x="33.8309" y="-90.5417"/>
+ <vertex index="1522" x="81.2293" y="-111.392"/>
+ <vertex index="1523" x="78.305" y="-113.291"/>
+ <vertex index="1524" x="84.2979" y="-99.0984"/>
+ <vertex index="1525" x="94.6061" y="-182.978"/>
+ <vertex index="1526" x="93.4654" y="-186.738"/>
+ <vertex index="1527" x="86.5469" y="-189.918"/>
+ <vertex index="1528" x="90.5388" y="-189.487"/>
+ <vertex index="1529" x="88.1792" y="-186.335"/>
+ <vertex index="1530" x="77.7122" y="-183.729"/>
+ <vertex index="1531" x="82.7039" y="-186.004"/>
+ <vertex index="1532" x="85.3778" y="-187.222"/>
+ <vertex index="1533" x="88.9009" y="-193.018"/>
+ <vertex index="1534" x="82.5484" y="-195.398"/>
+ <vertex index="1535" x="89.5375" y="-195.899"/>
+ <vertex index="1536" x="85.3682" y="-193.257"/>
+ <vertex index="1537" x="81.1859" y="-190.677"/>
+ <vertex index="1538" x="85.7271" y="-196.657"/>
+ <vertex index="1539" x="80.7485" y="-204.59"/>
+ <vertex index="1540" x="84.4269" y="-201.37"/>
+ <vertex index="1541" x="92.2456" y="-191.921"/>
+ <vertex index="1542" x="124.828" y="-196.953"/>
+ <vertex index="1543" x="117.842" y="-196.381"/>
+ <vertex index="1544" x="116.815" y="-199.7"/>
+ <vertex index="1545" x="121.127" y="-199.215"/>
+ <vertex index="1546" x="121.706" y="-196.004"/>
+ <vertex index="1547" x="119.364" y="-202.957"/>
+ <vertex index="1548" x="126.166" y="-203.3"/>
+ <vertex index="1549" x="124.371" y="-200.364"/>
+ <vertex index="1550" x="129.406" y="-199.303"/>
+ <vertex index="1551" x="122.66" y="-205.207"/>
+ <vertex index="1552" x="94.7667" y="-204.579"/>
+ <vertex index="1553" x="106.361" y="-206.404"/>
+ <vertex index="1554" x="98.5576" y="-218.674"/>
+ <vertex index="1555" x="121.783" y="-208.822"/>
+ <vertex index="1556" x="125.282" y="-216.222"/>
+ <vertex index="1557" x="89.7" y="-163.35"/>
+ <vertex index="1558" x="79.2293" y="-142.5"/>
+ <vertex index="1559" x="77.3633" y="-138.1"/>
+ <vertex index="1560" x="77.3633" y="-145.75"/>
+ <vertex index="1561" x="76.1055" y="-134.626"/>
+ <vertex index="1562" x="72.014" y="-146.661"/>
+ <vertex index="1563" x="68.9455" y="-135.319"/>
+ <vertex index="1564" x="75.0434" y="-148.29"/>
+ <vertex index="1565" x="72.7977" y="-137.789"/>
+ <vertex index="1566" x="72.4335" y="-134.021"/>
+ <vertex index="1567" x="70.9661" y="-152.239"/>
+ <vertex index="1568" x="71.0338" y="-130.43"/>
+ <vertex index="1569" x="72.7408" y="-126.438"/>
+ <vertex index="1570" x="69.3389" y="-138.944"/>
+ <vertex index="1571" x="59.4305" y="-138.185"/>
+ <vertex index="1572" x="72.014" y="-141.422"/>
+ <vertex index="1573" x="64.4555" y="-137.64"/>
+ <vertex index="1574" x="74.9622" y="-139.678"/>
+ <vertex index="1575" x="69.539" y="-122.621"/>
+ <vertex index="1576" x="75.3909" y="-125.275"/>
+ <vertex index="1577" x="80.4972" y="-127.5"/>
+ <vertex index="1578" x="80.1046" y="-117.021"/>
+ <vertex index="1579" x="72.5176" y="-112.52"/>
+ <vertex index="1580" x="97.9459" y="-94.7293"/>
+ <vertex index="1581" x="102.561" y="-91.807"/>
+ <vertex index="1582" x="89.0305" y="-51.1527"/>
+ <vertex index="1583" x="85.8482" y="-52.4233"/>
+ <vertex index="1584" x="74.3449" y="-56.1123"/>
+ <vertex index="1585" x="86.3161" y="-60.4007"/>
+ <vertex index="1586" x="83.3149" y="-64.6843"/>
+ <vertex index="1587" x="81.3583" y="-62.4206"/>
+ <vertex index="1588" x="67.6222" y="-62.8807"/>
+ <vertex index="1589" x="70.4601" y="-62.0189"/>
+ <vertex index="1590" x="74.19" y="-83.6038"/>
+ <vertex index="1591" x="98.8361" y="-47.1806"/>
+ <vertex index="1592" x="94.8725" y="-50.4311"/>
+ <vertex index="1593" x="92.153" y="-52.4237"/>
+ <vertex index="1594" x="94.6572" y="-57.3417"/>
+ <vertex index="1595" x="97.3461" y="-53.9669"/>
+ <vertex index="1596" x="94.3984" y="-54.3769"/>
+ <vertex index="1597" x="100.346" y="-59.1157"/>
+ <vertex index="1598" x="101.625" y="-53.8724"/>
+ <vertex index="1599" x="97.8462" y="-57.1239"/>
+ <vertex index="1600" x="105.13" y="-54.5593"/>
+ <vertex index="1601" x="102.987" y="-57.0986"/>
+ <vertex index="1602" x="111.717" y="-54.3759"/>
+ <vertex index="1603" x="108.368" y="-52.4654"/>
+ <vertex index="1604" x="108.698" y="-55.7773"/>
+ <vertex index="1605" x="113.351" y="-63.6201"/>
+ <vertex index="1606" x="112.066" y="-59.0807"/>
+ <vertex index="1607" x="108.363" y="-62.5804"/>
+ <vertex index="1608" x="118.548" y="-59.6977"/>
+ <vertex index="1609" x="111.128" y="-61.7977"/>
+ <vertex index="1610" x="115.587" y="-56.4541"/>
+ <vertex index="1611" x="115.188" y="-60.6489"/>
+ <vertex index="1612" x="119.527" y="-55.8303"/>
+ <vertex index="1613" x="121.181" y="-51.986"/>
+ <vertex index="1614" x="124.12" y="-51.429"/>
+ <vertex index="1615" x="117.953" y="-47.3234"/>
+ <vertex index="1616" x="120.493" y="-49.014"/>
+ <vertex index="1617" x="121.452" y="-45.5581"/>
+ <vertex index="1618" x="124.933" y="-45.3217"/>
+ <vertex index="1619" x="115.695" y="-51.6102"/>
+ <vertex index="1620" x="118.352" y="-53.0472"/>
+ <vertex index="1621" x="108.836" y="-45.1806"/>
+ <vertex index="1622" x="111.567" y="-422.246"/>
+ <vertex index="1623" x="163.5" y="-408.465"/>
+ <vertex index="1624" x="149.703" y="-404.992"/>
+ <vertex index="1625" x="150.16" y="-401.081"/>
+ <vertex index="1626" x="146.364" y="-403.253"/>
+ <vertex index="1627" x="142.863" y="-401.611"/>
+ <vertex index="1628" x="142.34" y="-397.272"/>
+ <vertex index="1629" x="139.346" y="-401.884"/>
+ <vertex index="1630" x="135.981" y="-397.366"/>
+ <vertex index="1631" x="144.977" y="-395.908"/>
+ <vertex index="1632" x="139.108" y="-393.769"/>
+ <vertex index="1633" x="173.5" y="-406.619"/>
+ <vertex index="1634" x="177.759" y="-404.794"/>
+ <vertex index="1635" x="182.142" y="-403.604"/>
+ <vertex index="1636" x="176.976" y="-400.457"/>
+ <vertex index="1637" x="185.172" y="-403.029"/>
+ <vertex index="1638" x="180.645" y="-400.248"/>
+ <vertex index="1639" x="183.664" y="-397.225"/>
+ <vertex index="1640" x="171.497" y="-394.172"/>
+ <vertex index="1641" x="187.268" y="-396.726"/>
+ <vertex index="1642" x="188.873" y="-393.267"/>
+ <vertex index="1643" x="194.656" y="-390.145"/>
+ <vertex index="1644" x="184.034" y="-392.306"/>
+ <vertex index="1645" x="191.291" y="-390.83"/>
+ <vertex index="1646" x="193.645" y="-393.786"/>
+ <vertex index="1647" x="191.844" y="-384.937"/>
+ <vertex index="1648" x="172.745" y="-398.615"/>
+ <vertex index="1649" x="170.325" y="-401.208"/>
+ <vertex index="1650" x="167.045" y="-398.676"/>
+ <vertex index="1651" x="181.787" y="-394.61"/>
+ <vertex index="1652" x="176.93" y="-387.625"/>
+ <vertex index="1653" x="177.553" y="-392.373"/>
+ <vertex index="1654" x="175.917" y="-397.108"/>
+ <vertex index="1655" x="163.407" y="-400.687"/>
+ <vertex index="1656" x="169.878" y="-397.023"/>
+ <vertex index="1657" x="135.828" y="-354.681"/>
+ <vertex index="1658" x="141.556" y="-366.666"/>
+ <vertex index="1659" x="172.629" y="-362.144"/>
+ <vertex index="1660" x="167.021" y="-360.107"/>
+ <vertex index="1661" x="169.407" y="-362.275"/>
+ <vertex index="1662" x="171.2" y="-366.669"/>
+ <vertex index="1663" x="168.189" y="-366.307"/>
+ <vertex index="1664" x="178.751" y="-372.81"/>
+ <vertex index="1665" x="177.802" y="-366.265"/>
+ <vertex index="1666" x="174.204" y="-370.689"/>
+ <vertex index="1667" x="174.424" y="-365.198"/>
+ <vertex index="1668" x="171.624" y="-369.485"/>
+ <vertex index="1669" x="160.38" y="-370.263"/>
+ <vertex index="1670" x="147.416" y="-371.498"/>
+ <vertex index="1671" x="144.129" y="-369.515"/>
+ <vertex index="1672" x="139.89" y="-370.756"/>
+ <vertex index="1673" x="143.482" y="-374.304"/>
+ <vertex index="1674" x="135.196" y="-374.247"/>
+ <vertex index="1675" x="136.832" y="-371.545"/>
+ <vertex index="1676" x="139.257" y="-374.625"/>
+ <vertex index="1677" x="137.646" y="-381.787"/>
+ <vertex index="1678" x="133.985" y="-378.809"/>
+ <vertex index="1679" x="136.492" y="-377.033"/>
+ <vertex index="1680" x="127.071" y="-374.533"/>
+ <vertex index="1681" x="129.987" y="-381.621"/>
+ <vertex index="1682" x="131.177" y="-375.622"/>
+ <vertex index="1683" x="132.762" y="-381.317"/>
+ <vertex index="1684" x="131.751" y="-370.739"/>
+ <vertex index="1685" x="128.303" y="-378.17"/>
+ <vertex index="1686" x="122.789" y="-378.01"/>
+ <vertex index="1687" x="129.683" y="-372.971"/>
+ <vertex index="1688" x="124.704" y="-366.284"/>
+ <vertex index="1689" x="126.306" y="-370.288"/>
+ <vertex index="1690" x="129.34" y="-366.752"/>
+ <vertex index="1691" x="121.473" y="-369.899"/>
+ <vertex index="1692" x="129.103" y="-369.618"/>
+ <vertex index="1693" x="132.781" y="-367.394"/>
+ <vertex index="1694" x="135.639" y="-364.239"/>
+ <vertex index="1695" x="127.707" y="-359.73"/>
+ <vertex index="1696" x="123.659" y="-372.957"/>
+ <vertex index="1697" x="138.341" y="-366.078"/>
+ <vertex index="1698" x="127.325" y="-363.52"/>
+ <vertex index="1699" x="131.546" y="-363.132"/>
+ <vertex index="1700" x="121.967" y="-361.065"/>
+ <vertex index="1701" x="124.227" y="-363.207"/>
+ <vertex index="1702" x="120.015" y="-365.387"/>
+ <vertex index="1703" x="134.293" y="-361.096"/>
+ <vertex index="1704" x="131.276" y="-359.086"/>
+ <vertex index="1705" x="128.587" y="-354.393"/>
+ <vertex index="1706" x="116.943" y="-361.397"/>
+ <vertex index="1707" x="118.018" y="-368.524"/>
+ <vertex index="1708" x="117.233" y="-371.497"/>
+ <vertex index="1709" x="113.916" y="-374.121"/>
+ <vertex index="1710" x="116.325" y="-365.242"/>
+ <vertex index="1711" x="119.544" y="-362.572"/>
+ <vertex index="1712" x="116.462" y="-375.779"/>
+ <vertex index="1713" x="110.71" y="-371.47"/>
+ <vertex index="1714" x="111.163" y="-376.814"/>
+ <vertex index="1715" x="107.576" y="-376.706"/>
+ <vertex index="1716" x="143.741" y="-385.177"/>
+ <vertex index="1717" x="137.394" y="-387.936"/>
+ <vertex index="1718" x="161.438" y="-375.476"/>
+ <vertex index="1719" x="166.245" y="-374.15"/>
+ <vertex index="1720" x="171.651" y="-380.837"/>
+ <vertex index="1721" x="168.077" y="-378.198"/>
+ <vertex index="1722" x="165.353" y="-382.015"/>
+ <vertex index="1723" x="172.682" y="-375.701"/>
+ <vertex index="1724" x="168.492" y="-381.375"/>
+ <vertex index="1725" x="168.246" y="-388.184"/>
+ <vertex index="1726" x="170.711" y="-384.864"/>
+ <vertex index="1727" x="162.989" y="-380.413"/>
+ <vertex index="1728" x="163.062" y="-386.402"/>
+ <vertex index="1729" x="170.964" y="-378.028"/>
+ <vertex index="1730" x="169.611" y="-374.313"/>
+ <vertex index="1731" x="167.266" y="-384.881"/>
+ <vertex index="1732" x="172.651" y="-388.88"/>
+ <vertex index="1733" x="174.938" y="-383.727"/>
+ <vertex index="1734" x="163.027" y="-383.592"/>
+ <vertex index="1735" x="170.045" y="-391.084"/>
+ <vertex index="1736" x="165.439" y="-391.934"/>
+ <vertex index="1737" x="166.887" y="-395.151"/>
+ <vertex index="1738" x="175.374" y="-390.244"/>
+ <vertex index="1739" x="183.574" y="-381.772"/>
+ <vertex index="1740" x="165.141" y="-388.785"/>
+ <vertex index="1741" x="162.665" y="-393.471"/>
+ <vertex index="1742" x="179.506" y="-383.851"/>
+ <vertex index="1743" x="181.701" y="-388.116"/>
+ <vertex index="1744" x="179.246" y="-378.323"/>
+ <vertex index="1745" x="182.628" y="-384.941"/>
+ <vertex index="1746" x="185.216" y="-387.42"/>
+ <vertex index="1747" x="188.465" y="-386.005"/>
+ <vertex index="1748" x="188.682" y="-380.812"/>
+ <vertex index="1749" x="180.629" y="-381.028"/>
+ <vertex index="1750" x="175.509" y="-379.763"/>
+ <vertex index="1751" x="144.729" y="-390.345"/>
+ <vertex index="1752" x="122.567" y="-387.433"/>
+ <vertex index="1753" x="120" y="-390"/>
+ <vertex index="1754" x="127.621" y="-390.379"/>
+ <vertex index="1755" x="121.073" y="-382.684"/>
+ <vertex index="1756" x="118.766" y="-379.232"/>
+ <vertex index="1757" x="125.905" y="-387.516"/>
+ <vertex index="1758" x="130.705" y="-386.584"/>
+ <vertex index="1759" x="123.058" y="-384.669"/>
+ <vertex index="1760" x="120.024" y="-385.624"/>
+ <vertex index="1761" x="116.025" y="-381.788"/>
+ <vertex index="1762" x="115.5" y="-386"/>
+ <vertex index="1763" x="120.19" y="-376.687"/>
+ <vertex index="1764" x="125.402" y="-238.377"/>
+ <vertex index="1765" x="118.032" y="-240.28"/>
+ <vertex index="1766" x="200.968" y="-393.28"/>
+ <vertex index="1767" x="197.258" y="-392.828"/>
+ <vertex index="1768" x="199.751" y="-387.808"/>
+ <vertex index="1769" x="242.729" y="-342.946"/>
+ <vertex index="1770" x="239.807" y="-347.561"/>
+ <vertex index="1771" x="235.242" y="-356.197"/>
+ <vertex index="1772" x="205.716" y="-329.743"/>
+ <vertex index="1773" x="209.49" y="-337.582"/>
+ <vertex index="1774" x="182.608" y="-356.771"/>
+ <vertex index="1775" x="215.783" y="-385.783"/>
+ <vertex index="1776" x="210.865" y="-387.717"/>
+ <vertex index="1777" x="213.815" y="-387.998"/>
+ <vertex index="1778" x="240.523" y="-304.495"/>
+ <vertex index="1779" x="241.303" y="-307.64"/>
+ <vertex index="1780" x="236.378" y="-305.852"/>
+ <vertex index="1781" x="236.843" y="-300.261"/>
+ <vertex index="1782" x="237.79" y="-303.154"/>
+ <vertex index="1783" x="209.746" y="-324.5"/>
+ <vertex index="1784" x="224.817" y="-313.589"/>
+ <vertex index="1785" x="227.258" y="-316.261"/>
+ <vertex index="1786" x="228.958" y="-312.257"/>
+ <vertex index="1787" x="231.861" y="-311.228"/>
+ <vertex index="1788" x="197.261" y="-291.739"/>
+ <vertex index="1789" x="218.901" y="-301.176"/>
+ <vertex index="1790" x="224.092" y="-305.187"/>
+ <vertex index="1791" x="227.913" y="-306.862"/>
+ <vertex index="1792" x="227.458" y="-309.749"/>
+ <vertex index="1793" x="230.317" y="-308.656"/>
+ <vertex index="1794" x="228.914" y="-300.011"/>
+ <vertex index="1795" x="229.495" y="-303.595"/>
+ <vertex index="1796" x="233.364" y="-302.357"/>
+ <vertex index="1797" x="226.176" y="-302.295"/>
+ <vertex index="1798" x="233.63" y="-298.863"/>
+ <vertex index="1799" x="224.222" y="-295.176"/>
+ <vertex index="1800" x="225.467" y="-298.662"/>
+ <vertex index="1801" x="210.39" y="-289.051"/>
+ <vertex index="1802" x="214.929" y="-246.071"/>
+ <vertex index="1803" x="208.534" y="-244.466"/>
+ <vertex index="1804" x="214.264" y="-253.838"/>
+ <vertex index="1805" x="217.9" y="-254.262"/>
+ <vertex index="1806" x="216.483" y="-250.611"/>
+ <vertex index="1807" x="220" y="-249.5"/>
+ <vertex index="1808" x="242.02" y="-293.796"/>
+ <vertex index="1809" x="232.374" y="-290.83"/>
+ <vertex index="1810" x="236.188" y="-292.865"/>
+ <vertex index="1811" x="239.843" y="-291.291"/>
+ <vertex index="1812" x="236.319" y="-279.172"/>
+ <vertex index="1813" x="231.656" y="-275.238"/>
+ <vertex index="1814" x="245.071" y="-313.5"/>
+ <vertex index="1815" x="239.389" y="-329.518"/>
+ <vertex index="1816" x="239.795" y="-337.219"/>
+ <vertex index="1817" x="242.778" y="-339.306"/>
+ <vertex index="1818" x="235.654" y="-338.125"/>
+ <vertex index="1819" x="235.479" y="-341.678"/>
+ <vertex index="1820" x="232.514" y="-346.15"/>
+ <vertex index="1821" x="226.72" y="-320.188"/>
+ <vertex index="1822" x="222.776" y="-323.98"/>
+ <vertex index="1823" x="223.622" y="-320.913"/>
+ <vertex index="1824" x="216.051" y="-334.388"/>
+ <vertex index="1825" x="212.267" y="-334.95"/>
+ <vertex index="1826" x="208.711" y="-333.979"/>
+ <vertex index="1827" x="213.041" y="-338.548"/>
+ <vertex index="1828" x="205.807" y="-336.493"/>
+ <vertex index="1829" x="208.663" y="-347.632"/>
+ <vertex index="1830" x="210.009" y="-342.684"/>
+ <vertex index="1831" x="204.583" y="-341.845"/>
+ <vertex index="1832" x="206.903" y="-339.559"/>
+ <vertex index="1833" x="217.775" y="-337.023"/>
+ <vertex index="1834" x="219.856" y="-339.702"/>
+ <vertex index="1835" x="218.564" y="-347.104"/>
+ <vertex index="1836" x="220.068" y="-343.552"/>
+ <vertex index="1837" x="223.607" y="-347.145"/>
+ <vertex index="1838" x="181.392" y="-223.771"/>
+ <vertex index="1839" x="185.254" y="-227.48"/>
+ <vertex index="1840" x="184.129" y="-224.786"/>
+ <vertex index="1841" x="175.623" y="-223.693"/>
+ <vertex index="1842" x="178.493" y="-224.776"/>
+ <vertex index="1843" x="167.598" y="-225.623"/>
+ <vertex index="1844" x="161.828" y="-213.681"/>
+ <vertex index="1845" x="155.762" y="-214.344"/>
+ <vertex index="1846" x="146.608" y="-258.229"/>
+ <vertex index="1847" x="142.746" y="-254.52"/>
+ <vertex index="1848" x="143.871" y="-257.214"/>
+ <vertex index="1849" x="169.745" y="-114.084"/>
+ <vertex index="1850" x="167.631" y="-110.321"/>
+ <vertex index="1851" x="166.56" y="-113.788"/>
+ <vertex index="1852" x="164.03" y="-115.978"/>
+ <vertex index="1853" x="170.985" y="-102.735"/>
+ <vertex index="1854" x="163.089" y="-106.014"/>
+ <vertex index="1855" x="170.33" y="-106.98"/>
+ <vertex index="1856" x="175.985" y="-102.301"/>
+ <vertex index="1857" x="164.569" y="-109.001"/>
+ <vertex index="1858" x="166.769" y="-106.051"/>
+ <vertex index="1859" x="159.847" y="-109.48"/>
+ <vertex index="1860" x="164.976" y="-101.41"/>
+ <vertex index="1861" x="173.729" y="-105.331"/>
+ <vertex index="1862" x="159.435" y="-105.845"/>
+ <vertex index="1863" x="155.554" y="-105.638"/>
+ <vertex index="1864" x="151.497" y="-100.162"/>
+ <vertex index="1865" x="149.64" y="-106.9"/>
+ <vertex index="1866" x="154.34" y="-102.297"/>
+ <vertex index="1867" x="152.811" y="-107.272"/>
+ <vertex index="1868" x="156.315" y="-99.364"/>
+ <vertex index="1869" x="151.084" y="-103.673"/>
+ <vertex index="1870" x="153.325" y="-95.9005"/>
+ <vertex index="1871" x="154.16" y="-91.9674"/>
+ <vertex index="1872" x="147.711" y="-101.496"/>
+ <vertex index="1873" x="157.48" y="-111.081"/>
+ <vertex index="1874" x="150.242" y="-110.931"/>
+ <vertex index="1875" x="150.097" y="-97.0386"/>
+ <vertex index="1876" x="144.875" y="-96.5152"/>
+ <vertex index="1877" x="144.542" y="-92.7793"/>
+ <vertex index="1878" x="151.216" y="-91.393"/>
+ <vertex index="1879" x="147.471" y="-104.627"/>
+ <vertex index="1880" x="144.703" y="-108.91"/>
+ <vertex index="1881" x="147.834" y="-112.83"/>
+ <vertex index="1882" x="144.293" y="-100.144"/>
+ <vertex index="1883" x="139.57" y="-102.169"/>
+ <vertex index="1884" x="147.718" y="-109.247"/>
+ <vertex index="1885" x="158.026" y="-117.974"/>
+ <vertex index="1886" x="186.203" y="-120.781"/>
+ <vertex index="1887" x="122.5" y="-107.5"/>
+ <vertex index="1888" x="128.841" y="-100.218"/>
+ <vertex index="1889" x="132.817" y="-109.914"/>
+ <vertex index="1890" x="138.367" y="-108.165"/>
+ <vertex index="1891" x="128.766" y="-106.173"/>
+ <vertex index="1892" x="127.915" y="-108.962"/>
+ <vertex index="1893" x="131.538" y="-103.88"/>
+ <vertex index="1894" x="127.6" y="-103.18"/>
+ <vertex index="1895" x="109.608" y="-94.2293"/>
+ <vertex index="1896" x="106.799" y="-90.941"/>
+ <vertex index="1897" x="105.066" y="-93.2599"/>
+ <vertex index="1898" x="108.399" y="-85.3759"/>
+ <vertex index="1899" x="108.719" y="-88.4805"/>
+ <vertex index="1900" x="112.129" y="-86.868"/>
+ <vertex index="1901" x="119.677" y="-90.9666"/>
+ <vertex index="1902" x="115.442" y="-89.7668"/>
+ <vertex index="1903" x="103.8" y="-87.066"/>
+ <vertex index="1904" x="117.83" y="-96.4806"/>
+ <vertex index="1905" x="118.912" y="-85.5903"/>
+ <vertex index="1906" x="117.99" y="-99.5969"/>
+ <vertex index="1907" x="114.63" y="-98.2073"/>
+ <vertex index="1908" x="114.385" y="-93.9245"/>
+ <vertex index="1909" x="118.103" y="-88.4478"/>
+ <vertex index="1910" x="117.513" y="-93.3084"/>
+ <vertex index="1911" x="180.671" y="-88.5"/>
+ <vertex index="1912" x="96.8826" y="-404.372"/>
+ <vertex index="1913" x="180.211" y="-78.7578"/>
+ <vertex index="1914" x="172.249" y="-68.2263"/>
+ <vertex index="1915" x="154.899" y="-74.1113"/>
+ <vertex index="1916" x="152.116" y="-71.8927"/>
+ <vertex index="1917" x="154.711" y="-81.5213"/>
+ <vertex index="1918" x="155.557" y="-78.742"/>
+ <vertex index="1919" x="151.863" y="-81.6003"/>
+ <vertex index="1920" x="153.718" y="-84.7833"/>
+ <vertex index="1921" x="160.376" y="-99.3662"/>
+ <vertex index="1922" x="161.478" y="-102.794"/>
+ <vertex index="1923" x="167.292" y="-96.0425"/>
+ <vertex index="1924" x="170.584" y="-98.5911"/>
+ <vertex index="1925" x="167.418" y="-99.2805"/>
+ <vertex index="1926" x="173.302" y="-100.42"/>
+ <vertex index="1927" x="173.142" y="-96.7052"/>
+ <vertex index="1928" x="140.306" y="-45.8776"/>
+ <vertex index="1929" x="126.431" y="-58.0291"/>
+ <vertex index="1930" x="122.612" y="-59.4433"/>
+ <vertex index="1931" x="121.142" y="-68.5383"/>
+ <vertex index="1932" x="120.847" y="-63.8242"/>
+ <vertex index="1933" x="117.095" y="-63.8806"/>
+ <vertex index="1934" x="114.79" y="-69.9703"/>
+ <vertex index="1935" x="115.026" y="-66.5787"/>
+ <vertex index="1936" x="109.939" y="-67.5051"/>
+ <vertex index="1937" x="117.79" y="-68.4751"/>
+ <vertex index="1938" x="119.337" y="-75.3371"/>
+ <vertex index="1939" x="119.405" y="-71.7163"/>
+ <vertex index="1940" x="126.75" y="-73.6658"/>
+ <vertex index="1941" x="123.317" y="-71.7901"/>
+ <vertex index="1942" x="127.863" y="-67.549"/>
+ <vertex index="1943" x="126.293" y="-70.423"/>
+ <vertex index="1944" x="131.413" y="-71.3545"/>
+ <vertex index="1945" x="124.908" y="-62.915"/>
+ <vertex index="1946" x="127.829" y="-64.3115"/>
+ <vertex index="1947" x="136.848" y="-68.6835"/>
+ <vertex index="1948" x="138.911" y="-65.958"/>
+ <vertex index="1949" x="137.658" y="-76.8764"/>
+ <vertex index="1950" x="134.929" y="-73.6705"/>
+ <vertex index="1951" x="138.444" y="-79.9002"/>
+ <vertex index="1952" x="136.856" y="-71.5492"/>
+ <vertex index="1953" x="143.41" y="-80.797"/>
+ <vertex index="1954" x="128.086" y="-84.4638"/>
+ <vertex index="1955" x="53.084" y="-383.512"/>
+ <vertex index="1956" x="45.2373" y="-384.838"/>
+ <vertex index="1957" x="45.1394" y="-381.534"/>
+ <vertex index="1958" x="41.6456" y="-382.592"/>
+ <vertex index="1959" x="52.8994" y="-396.168"/>
+ <vertex index="1960" x="49.2371" y="-394.821"/>
+ <vertex index="1961" x="46.9564" y="-389.942"/>
+ <vertex index="1962" x="48.5" y="-398.5"/>
+ <vertex index="1963" x="45.9264" y="-393.396"/>
+ <vertex index="1964" x="54.7245" y="-399.459"/>
+ <vertex index="1965" x="59.7565" y="-399.647"/>
+ <vertex index="1966" x="65.8339" y="-387.927"/>
+ <vertex index="1967" x="63.5679" y="-389.958"/>
+ <vertex index="1968" x="30.1342" y="-348.256"/>
+ <vertex index="1969" x="31.4295" y="-345.478"/>
+ <vertex index="1970" x="27.5046" y="-350.188"/>
+ <vertex index="1971" x="30.0559" y="-354.758"/>
+ <vertex index="1972" x="33.0213" y="-360.62"/>
+ <vertex index="1973" x="35.9494" y="-357.979"/>
+ <vertex index="1974" x="36.204" y="-361.205"/>
+ <vertex index="1975" x="33.7436" y="-354.05"/>
+ <vertex index="1976" x="80.873" y="-404.796"/>
+ <vertex index="1977" x="70.2679" y="-395.871"/>
+ <vertex index="1978" x="73.0967" y="-396.542"/>
+ <vertex index="1979" x="64.6094" y="-393.452"/>
+ <vertex index="1980" x="61.7088" y="-396.178"/>
+ <vertex index="1981" x="58.64" y="-396.735"/>
+ <vertex index="1982" x="86.8186" y="-408.552"/>
+ <vertex index="1983" x="81.1676" y="-400.867"/>
+ <vertex index="1984" x="84.2187" y="-355.719"/>
+ <vertex index="1985" x="84.5" y="-360"/>
+ <vertex index="1986" x="87.2043" y="-352.63"/>
+ <vertex index="1987" x="113.968" y="-349.232"/>
+ <vertex index="1988" x="101.208" y="-353.892"/>
+ <vertex index="1989" x="104.084" y="-350.036"/>
+ <vertex index="1990" x="28.2907" y="-343.014"/>
+ <vertex index="1991" x="73.5" y="-318.679"/>
+ <vertex index="1992" x="71.58" y="-324.196"/>
+ <vertex index="1993" x="75.7602" y="-324.545"/>
+ <vertex index="1994" x="80.0809" y="-350.982"/>
+ <vertex index="1995" x="76.5399" y="-350.767"/>
+ <vertex index="1996" x="89.3023" y="-339.635"/>
+ <vertex index="1997" x="91.6489" y="-342.797"/>
+ <vertex index="1998" x="89.7972" y="-346.045"/>
+ <vertex index="1999" x="90.9779" y="-349.726"/>
+ <vertex index="2000" x="93.9485" y="-351.391"/>
+ <vertex index="2001" x="93.9008" y="-346.758"/>
+ <vertex index="2002" x="99.4618" y="-346.939"/>
+ <vertex index="2003" x="96.7324" y="-349.198"/>
+ <vertex index="2004" x="100.091" y="-350.477"/>
+ <vertex index="2005" x="96.7177" y="-345.726"/>
+ <vertex index="2006" x="95.3437" y="-339.983"/>
+ <vertex index="2007" x="29.986" y="-127.57"/>
+ <vertex index="2008" x="32.5828" y="-129.82"/>
+ <vertex index="2009" x="30.1952" y="-122.045"/>
+ <vertex index="2010" x="37.4313" y="-129.336"/>
+ <vertex index="2011" x="21.6806" y="-121.5"/>
+ <vertex index="2012" x="23.3456" y="-124.626"/>
+ <vertex index="2013" x="23.974" y="-117.195"/>
+ <vertex index="2014" x="27.7404" y="-118.778"/>
+ <vertex index="2015" x="24.243" y="-113.963"/>
+ <vertex index="2016" x="33.7138" y="-116.845"/>
+ <vertex index="2017" x="31.0598" y="-118.839"/>
+ <vertex index="2018" x="35.2851" y="-121.698"/>
+ <vertex index="2019" x="30.2736" y="-115.03"/>
+ <vertex index="2020" x="33.1526" y="-113.74"/>
+ <vertex index="2021" x="40.5618" y="-114.004"/>
+ <vertex index="2022" x="37.4691" y="-111.23"/>
+ <vertex index="2023" x="36.9353" y="-114.936"/>
+ <vertex index="2024" x="39.9807" y="-119.262"/>
+ <vertex index="2025" x="35.3586" y="-96.4157"/>
+ <vertex index="2026" x="41.7286" y="-94.2539"/>
+ <vertex index="2027" x="42.1983" y="-98.2522"/>
+ <vertex index="2028" x="51.1274" y="-104.728"/>
+ <vertex index="2029" x="46.0619" y="-102.319"/>
+ <vertex index="2030" x="43.3484" y="-101.028"/>
+ <vertex index="2031" x="30.3575" y="-145.306"/>
+ <vertex index="2032" x="45.4024" y="-153.614"/>
+ <vertex index="2033" x="47.1227" y="-142.228"/>
+ <vertex index="2034" x="52.383" y="-135.698"/>
+ <vertex index="2035" x="30.986" y="-141.122"/>
+ <vertex index="2036" x="30.3377" y="-134.207"/>
+ <vertex index="2037" x="27.7578" y="-138.225"/>
+ <vertex index="2038" x="37.9299" y="-171.226"/>
+ <vertex index="2039" x="46.0986" y="-175.542"/>
+ <vertex index="2040" x="42.9204" y="-171.669"/>
+ <vertex index="2041" x="34.5893" y="-172.82"/>
+ <vertex index="2042" x="33.5" y="-176.5"/>
+ <vertex index="2043" x="40.9497" y="-178.83"/>
+ <vertex index="2044" x="36.4815" y="-167.605"/>
+ <vertex index="2045" x="39.8805" y="-163.5"/>
+ <vertex index="2046" x="36.9069" y="-161.096"/>
+ <vertex index="2047" x="46.4137" y="-161.276"/>
+ <vertex index="2048" x="42.7449" y="-161.206"/>
+ <vertex index="2049" x="44.4834" y="-166.313"/>
+ <vertex index="2050" x="44.648" y="-157.611"/>
+ <vertex index="2051" x="41.4841" y="-166.048"/>
+ <vertex index="2052" x="48.0907" y="-158.21"/>
+ <vertex index="2053" x="55.5109" y="-164.26"/>
+ <vertex index="2054" x="52.5098" y="-160.366"/>
+ <vertex index="2055" x="42.6343" y="-155.161"/>
+ <vertex index="2056" x="31.2402" y="-164.072"/>
+ <vertex index="2057" x="28.5" y="-166.5"/>
+ <vertex index="2058" x="32.8023" y="-167.085"/>
+ <vertex index="2059" x="81.3194" y="-148.172"/>
+ <vertex index="2060" x="56.9225" y="-81.7098"/>
+ <vertex index="2061" x="87.2834" y="-101.338"/>
+ <vertex index="2062" x="85.6638" y="-182.499"/>
+ <vertex index="2063" x="82.1187" y="-176.244"/>
+ <vertex index="2064" x="81.5152" y="-181.998"/>
+ <vertex index="2065" x="84.944" y="-178.775"/>
+ <vertex index="2066" x="87.2898" y="-173.313"/>
+ <vertex index="2067" x="85.1976" y="-175.649"/>
+ <vertex index="2068" x="83.7904" y="-172.284"/>
+ <vertex index="2069" x="86.551" y="-169.362"/>
+ <vertex index="2070" x="77.7134" y="-178.691"/>
+ <vertex index="2071" x="90.474" y="-175.584"/>
+ <vertex index="2072" x="91.4939" y="-170.482"/>
+ <vertex index="2073" x="90.7175" y="-166.886"/>
+ <vertex index="2074" x="94.3467" y="-167.985"/>
+ <vertex index="2075" x="95.3043" y="-171.331"/>
+ <vertex index="2076" x="79.0532" y="-187.401"/>
+ <vertex index="2077" x="68.4913" y="-189.178"/>
+ <vertex index="2078" x="74.5123" y="-192.69"/>
+ <vertex index="2079" x="73.6074" y="-187.309"/>
+ <vertex index="2080" x="77.5552" y="-190.709"/>
+ <vertex index="2081" x="78.1994" y="-195.026"/>
+ <vertex index="2082" x="80.527" y="-193.425"/>
+ <vertex index="2083" x="71.1863" y="-202.017"/>
+ <vertex index="2084" x="80.0084" y="-199.479"/>
+ <vertex index="2085" x="73.903" y="-197.729"/>
+ <vertex index="2086" x="75.4076" y="-195.355"/>
+ <vertex index="2087" x="127.975" y="-196.458"/>
+ <vertex index="2088" x="134.25" y="-206.542"/>
+ <vertex index="2089" x="131.676" y="-196.873"/>
+ <vertex index="2090" x="99.2498" y="-203.981"/>
+ <vertex index="2091" x="98.3587" y="-199.69"/>
+ <vertex index="2092" x="97.9419" y="-211.282"/>
+ <vertex index="2093" x="97.4272" y="-207.423"/>
+ <vertex index="2094" x="91.6558" y="-210.156"/>
+ <vertex index="2095" x="100.846" y="-208.931"/>
+ <vertex index="2096" x="94.9791" y="-209.713"/>
+ <vertex index="2097" x="94.0096" y="-215.125"/>
+ <vertex index="2098" x="103.017" y="-214.581"/>
+ <vertex index="2099" x="104.4" y="-209.488"/>
+ <vertex index="2100" x="101.015" y="-212.108"/>
+ <vertex index="2101" x="98.6038" y="-214.949"/>
+ <vertex index="2102" x="89.2263" y="-204.168"/>
+ <vertex index="2103" x="123.77" y="-213.024"/>
+ <vertex index="2104" x="120.746" y="-215.808"/>
+ <vertex index="2105" x="116.496" y="-214.175"/>
+ <vertex index="2106" x="109.919" y="-219.764"/>
+ <vertex index="2107" x="112.443" y="-216.071"/>
+ <vertex index="2108" x="108.636" y="-213.578"/>
+ <vertex index="2109" x="114.831" y="-220.412"/>
+ <vertex index="2110" x="109.339" y="-216.658"/>
+ <vertex index="2111" x="105.045" y="-219.067"/>
+ <vertex index="2112" x="115.459" y="-217.239"/>
+ <vertex index="2113" x="80.2111" y="-137.758"/>
+ <vertex index="2114" x="65.745" y="-148.371"/>
+ <vertex index="2115" x="74.9552" y="-128.284"/>
+ <vertex index="2116" x="55.9014" y="-145.05"/>
+ <vertex index="2117" x="64.2038" y="-131.65"/>
+ <vertex index="2118" x="67.5836" y="-130.843"/>
+ <vertex index="2119" x="72.0165" y="-120.992"/>
+ <vertex index="2120" x="73.5382" y="-115.554"/>
+ <vertex index="2121" x="73.8285" y="-108.969"/>
+ <vertex index="2122" x="77.4564" y="-102.355"/>
+ <vertex index="2123" x="76.4995" y="-106.132"/>
+ <vertex index="2124" x="81.9193" y="-105.496"/>
+ <vertex index="2125" x="72.9573" y="-103.225"/>
+ <vertex index="2126" x="79.3935" y="-107.381"/>
+ <vertex index="2127" x="84.835" y="-103.718"/>
+ <vertex index="2128" x="82.3154" y="-108.53"/>
+ <vertex index="2129" x="74.278" y="-97.9866"/>
+ <vertex index="2130" x="61.6925" y="-98.894"/>
+ <vertex index="2131" x="74.8443" y="-100.915"/>
+ <vertex index="2132" x="66.9062" y="-102.149"/>
+ <vertex index="2133" x="69.7155" y="-103.902"/>
+ <vertex index="2134" x="70.3856" y="-99.7019"/>
+ <vertex index="2135" x="68.7993" y="-90.8284"/>
+ <vertex index="2136" x="66.2098" y="-97.461"/>
+ <vertex index="2137" x="70.6697" y="-95.0726"/>
+ <vertex index="2138" x="64.5615" y="-100.101"/>
+ <vertex index="2139" x="59.8745" y="-107.226"/>
+ <vertex index="2140" x="63.0431" y="-104.207"/>
+ <vertex index="2141" x="66.4877" y="-106.431"/>
+ <vertex index="2142" x="61.9886" y="-91.9912"/>
+ <vertex index="2143" x="74.6743" y="-93.8048"/>
+ <vertex index="2144" x="67.2501" y="-94.0454"/>
+ <vertex index="2145" x="65.3494" y="-91.1485"/>
+ <vertex index="2146" x="63.8894" y="-94.888"/>
+ <vertex index="2147" x="66.3695" y="-83.3919"/>
+ <vertex index="2148" x="66.7401" y="-87.386"/>
+ <vertex index="2149" x="58.4401" y="-102.549"/>
+ <vertex index="2150" x="67.7628" y="-111.198"/>
+ <vertex index="2151" x="78.3055" y="-88.5204"/>
+ <vertex index="2152" x="71.2439" y="-87.029"/>
+ <vertex index="2153" x="61.0497" y="-85.8998"/>
+ <vertex index="2154" x="62.9555" y="-88.7241"/>
+ <vertex index="2155" x="77.406" y="-91.7921"/>
+ <vertex index="2156" x="82.574" y="-91.4536"/>
+ <vertex index="2157" x="74.4684" y="-89.2249"/>
+ <vertex index="2158" x="75.9212" y="-86.3355"/>
+ <vertex index="2159" x="82.9992" y="-81.0049"/>
+ <vertex index="2160" x="78.6996" y="-82.6603"/>
+ <vertex index="2161" x="70.2871" y="-83.2264"/>
+ <vertex index="2162" x="72.8109" y="-77.4971"/>
+ <vertex index="2163" x="72.4936" y="-80.7779"/>
+ <vertex index="2164" x="76.2735" y="-79.4877"/>
+ <vertex index="2165" x="67.9806" y="-78.6857"/>
+ <vertex index="2166" x="76.323" y="-75.3946"/>
+ <vertex index="2167" x="64.1645" y="-85.6107"/>
+ <vertex index="2168" x="62.2088" y="-81.4622"/>
+ <vertex index="2169" x="72.0864" y="-91.6265"/>
+ <vertex index="2170" x="82.3971" y="-85.8523"/>
+ <vertex index="2171" x="80.2583" y="-77.4891"/>
+ <vertex index="2172" x="59.6394" y="-83.1613"/>
+ <vertex index="2173" x="56.2358" y="-86.2638"/>
+ <vertex index="2174" x="65.2402" y="-80.3764"/>
+ <vertex index="2175" x="64.9297" y="-76.8067"/>
+ <vertex index="2176" x="69.1684" y="-73.3407"/>
+ <vertex index="2177" x="89.6794" y="-72.9707"/>
+ <vertex index="2178" x="54.8943" y="-83.7327"/>
+ <vertex index="2179" x="53.029" y="-87.6297"/>
+ <vertex index="2180" x="56.5352" y="-91.8105"/>
+ <vertex index="2181" x="59.2255" y="-89.1858"/>
+ <vertex index="2182" x="85.4622" y="-76.2585"/>
+ <vertex index="2183" x="83.1424" y="-78.0669"/>
+ <vertex index="2184" x="89.3469" y="-58.4038"/>
+ <vertex index="2185" x="83.3814" y="-69.7013"/>
+ <vertex index="2186" x="87.8205" y="-64.6479"/>
+ <vertex index="2187" x="85.5879" y="-67.1631"/>
+ <vertex index="2188" x="86.933" y="-70.5606"/>
+ <vertex index="2189" x="84.4717" y="-72.964"/>
+ <vertex index="2190" x="93.7446" y="-67.6938"/>
+ <vertex index="2191" x="90.4304" y="-69.345"/>
+ <vertex index="2192" x="91.3299" y="-65.1063"/>
+ <vertex index="2193" x="96.137" y="-63.0407"/>
+ <vertex index="2194" x="68.2663" y="-59.9567"/>
+ <vertex index="2195" x="64.5209" y="-61.2016"/>
+ <vertex index="2196" x="62.4756" y="-66.0767"/>
+ <vertex index="2197" x="108.948" y="-59.4897"/>
+ <vertex index="2198" x="103.919" y="-61.8547"/>
+ <vertex index="2199" x="100.128" y="-63.1009"/>
+ <vertex index="2200" x="103.832" y="-67.9796"/>
+ <vertex index="2201" x="102.82" y="-64.9021"/>
+ <vertex index="2202" x="98.8604" y="-67.9085"/>
+ <vertex index="2203" x="118.5" y="-44.1027"/>
+ <vertex index="2204" x="114.14" y="-45.7025"/>
+ <vertex index="2205" x="115.163" y="-48.5918"/>
+ <vertex index="2206" x="128.607" y="-46.8176"/>
+ <vertex index="2207" x="131.179" y="-45.0922"/>
+ <vertex index="2208" x="112.123" y="-50.7152"/>
+ <vertex index="2209" x="134.287" y="-400.189"/>
+ <vertex index="2210" x="139.177" y="-398.497"/>
+ <vertex index="2211" x="131.287" y="-394.517"/>
+ <vertex index="2212" x="141.18" y="-391.17"/>
+ <vertex index="2213" x="174.758" y="-394.057"/>
+ <vertex index="2214" x="171.954" y="-358.768"/>
+ <vertex index="2215" x="177.397" y="-359.983"/>
+ <vertex index="2216" x="176.922" y="-363.168"/>
+ <vertex index="2217" x="181.179" y="-363.632"/>
+ <vertex index="2218" x="180.794" y="-359.661"/>
+ <vertex index="2219" x="182.147" y="-368.356"/>
+ <vertex index="2220" x="184.934" y="-364.21"/>
+ <vertex index="2221" x="192.324" y="-361.996"/>
+ <vertex index="2222" x="188.91" y="-364.042"/>
+ <vertex index="2223" x="194.643" y="-369.735"/>
+ <vertex index="2224" x="188.525" y="-359.528"/>
+ <vertex index="2225" x="192.5" y="-366.16"/>
+ <vertex index="2226" x="192.79" y="-357.121"/>
+ <vertex index="2227" x="190.028" y="-353.465"/>
+ <vertex index="2228" x="186.533" y="-356.077"/>
+ <vertex index="2229" x="190.401" y="-369.848"/>
+ <vertex index="2230" x="198.859" y="-364.779"/>
+ <vertex index="2231" x="186.5" y="-351"/>
+ <vertex index="2232" x="189.682" y="-356.597"/>
+ <vertex index="2233" x="192.682" y="-375.822"/>
+ <vertex index="2234" x="195.35" y="-363.954"/>
+ <vertex index="2235" x="196.479" y="-367.026"/>
+ <vertex index="2236" x="201.552" y="-372.441"/>
+ <vertex index="2237" x="198.403" y="-370.307"/>
+ <vertex index="2238" x="197.781" y="-361.486"/>
+ <vertex index="2239" x="195.99" y="-373.528"/>
+ <vertex index="2240" x="195.735" y="-358.789"/>
+ <vertex index="2241" x="196.947" y="-355.523"/>
+ <vertex index="2242" x="203.516" y="-352.632"/>
+ <vertex index="2243" x="200.593" y="-354.899"/>
+ <vertex index="2244" x="206.584" y="-359.607"/>
+ <vertex index="2245" x="204.177" y="-356.504"/>
+ <vertex index="2246" x="202.382" y="-361.481"/>
+ <vertex index="2247" x="210.465" y="-354.112"/>
+ <vertex index="2248" x="206.845" y="-354.055"/>
+ <vertex index="2249" x="208.61" y="-356.92"/>
+ <vertex index="2250" x="208.701" y="-351.112"/>
+ <vertex index="2251" x="214.835" y="-363.72"/>
+ <vertex index="2252" x="214.002" y="-350.016"/>
+ <vertex index="2253" x="213.855" y="-358.368"/>
+ <vertex index="2254" x="192.592" y="-372.434"/>
+ <vertex index="2255" x="187.82" y="-374.256"/>
+ <vertex index="2256" x="198.396" y="-380.53"/>
+ <vertex index="2257" x="202.03" y="-358.541"/>
+ <vertex index="2258" x="207.533" y="-367.382"/>
+ <vertex index="2259" x="187.132" y="-370.893"/>
+ <vertex index="2260" x="183.302" y="-373.428"/>
+ <vertex index="2261" x="196.204" y="-377.369"/>
+ <vertex index="2262" x="192.905" y="-380.099"/>
+ <vertex index="2263" x="200.536" y="-376.705"/>
+ <vertex index="2264" x="205.864" y="-363.64"/>
+ <vertex index="2265" x="184.161" y="-370.565"/>
+ <vertex index="2266" x="180.715" y="-375.412"/>
+ <vertex index="2267" x="184.424" y="-377.568"/>
+ <vertex index="2268" x="198.986" y="-374.082"/>
+ <vertex index="2269" x="203.573" y="-380.916"/>
+ <vertex index="2270" x="204.011" y="-375.28"/>
+ <vertex index="2271" x="207.997" y="-372.323"/>
+ <vertex index="2272" x="202.852" y="-367.227"/>
+ <vertex index="2273" x="210.348" y="-363.884"/>
+ <vertex index="2274" x="185.895" y="-380.053"/>
+ <vertex index="2275" x="201.075" y="-379.517"/>
+ <vertex index="2276" x="201.826" y="-364.418"/>
+ <vertex index="2277" x="199.849" y="-367.643"/>
+ <vertex index="2278" x="205.099" y="-370.103"/>
+ <vertex index="2279" x="212.503" y="-361.382"/>
+ <vertex index="2280" x="177.454" y="-369.657"/>
+ <vertex index="2281" x="145.901" y="-376.23"/>
+ <vertex index="2282" x="142.006" y="-377.118"/>
+ <vertex index="2283" x="125.476" y="-380.519"/>
+ <vertex index="2284" x="130.695" y="-351.842"/>
+ <vertex index="2285" x="132.095" y="-355.146"/>
+ <vertex index="2286" x="124.194" y="-351.344"/>
+ <vertex index="2287" x="119.073" y="-355.461"/>
+ <vertex index="2288" x="115.051" y="-358.08"/>
+ <vertex index="2289" x="113.937" y="-361.452"/>
+ <vertex index="2290" x="108.127" y="-373.479"/>
+ <vertex index="2291" x="140.11" y="-386.691"/>
+ <vertex index="2292" x="175.51" y="-373.823"/>
+ <vertex index="2293" x="176.51" y="-376.793"/>
+ <vertex index="2294" x="159.899" y="-385.324"/>
+ <vertex index="2295" x="179.122" y="-389.752"/>
+ <vertex index="2296" x="186.51" y="-383.322"/>
+ <vertex index="2297" x="125.258" y="-392.742"/>
+ <vertex index="2298" x="134.121" y="-386.909"/>
+ <vertex index="2299" x="132.059" y="-390.473"/>
+ <vertex index="2300" x="135.102" y="-393.149"/>
+ <vertex index="2301" x="137.473" y="-391.081"/>
+ <vertex index="2302" x="134.884" y="-389.729"/>
+ <vertex index="2303" x="128.782" y="-384.329"/>
+ <vertex index="2304" x="125.416" y="-241.641"/>
+ <vertex index="2305" x="119.531" y="-243.148"/>
+ <vertex index="2306" x="199.469" y="-396.148"/>
+ <vertex index="2307" x="195.891" y="-386.115"/>
+ <vertex index="2308" x="199.043" y="-384.174"/>
+ <vertex index="2309" x="194.601" y="-383.006"/>
+ <vertex index="2310" x="242.819" y="-348.164"/>
+ <vertex index="2311" x="239.569" y="-352.128"/>
+ <vertex index="2312" x="235.623" y="-349.633"/>
+ <vertex index="2313" x="238.602" y="-355.434"/>
+ <vertex index="2314" x="236.274" y="-352.964"/>
+ <vertex index="2315" x="232.486" y="-351.975"/>
+ <vertex index="2316" x="228.886" y="-349.045"/>
+ <vertex index="2317" x="236.355" y="-345.85"/>
+ <vertex index="2318" x="231.867" y="-349.059"/>
+ <vertex index="2319" x="229.579" y="-346.192"/>
+ <vertex index="2320" x="225.046" y="-351.431"/>
+ <vertex index="2321" x="221.059" y="-350.384"/>
+ <vertex index="2322" x="222.766" y="-359.923"/>
+ <vertex index="2323" x="217.515" y="-350.491"/>
+ <vertex index="2324" x="215.223" y="-354.215"/>
+ <vertex index="2325" x="225.036" y="-355.98"/>
+ <vertex index="2326" x="218.576" y="-357.622"/>
+ <vertex index="2327" x="219.39" y="-353.856"/>
+ <vertex index="2328" x="221.684" y="-356.323"/>
+ <vertex index="2329" x="230.024" y="-361.476"/>
+ <vertex index="2330" x="228.67" y="-357.693"/>
+ <vertex index="2331" x="226.409" y="-360.636"/>
+ <vertex index="2332" x="222.765" y="-369.589"/>
+ <vertex index="2333" x="227.042" y="-366.112"/>
+ <vertex index="2334" x="232.315" y="-358.522"/>
+ <vertex index="2335" x="234.342" y="-362.459"/>
+ <vertex index="2336" x="231.893" y="-355.235"/>
+ <vertex index="2337" x="231.354" y="-365.608"/>
+ <vertex index="2338" x="237.468" y="-362.881"/>
+ <vertex index="2339" x="236.832" y="-359.38"/>
+ <vertex index="2340" x="229.657" y="-369.786"/>
+ <vertex index="2341" x="232.37" y="-368.454"/>
+ <vertex index="2342" x="226.218" y="-369.466"/>
+ <vertex index="2343" x="224.676" y="-374.72"/>
+ <vertex index="2344" x="232" y="-373.5"/>
+ <vertex index="2345" x="205.322" y="-389.441"/>
+ <vertex index="2346" x="243.639" y="-303.872"/>
+ <vertex index="2347" x="240.941" y="-300.416"/>
+ <vertex index="2348" x="238.992" y="-297.71"/>
+ <vertex index="2349" x="208.231" y="-321.622"/>
+ <vertex index="2350" x="206.715" y="-324.5"/>
+ <vertex index="2351" x="211.427" y="-327.897"/>
+ <vertex index="2352" x="215.204" y="-323.913"/>
+ <vertex index="2353" x="215.158" y="-320.465"/>
+ <vertex index="2354" x="195.017" y="-293.983"/>
+ <vertex index="2355" x="198.469" y="-294.81"/>
+ <vertex index="2356" x="202.211" y="-289.175"/>
+ <vertex index="2357" x="193.509" y="-287.692"/>
+ <vertex index="2358" x="220.274" y="-294.688"/>
+ <vertex index="2359" x="221.763" y="-297.948"/>
+ <vertex index="2360" x="222.726" y="-291.059"/>
+ <vertex index="2361" x="220.979" y="-283.578"/>
+ <vertex index="2362" x="222.965" y="-287.059"/>
+ <vertex index="2363" x="227.213" y="-283.167"/>
+ <vertex index="2364" x="230.856" y="-283.562"/>
+ <vertex index="2365" x="228.722" y="-286.248"/>
+ <vertex index="2366" x="217.773" y="-287.715"/>
+ <vertex index="2367" x="224.143" y="-284.08"/>
+ <vertex index="2368" x="223.11" y="-280.364"/>
+ <vertex index="2369" x="216.964" y="-271.768"/>
+ <vertex index="2370" x="220.835" y="-275.496"/>
+ <vertex index="2371" x="220.563" y="-288.923"/>
+ <vertex index="2372" x="219.557" y="-291.762"/>
+ <vertex index="2373" x="212.823" y="-292.199"/>
+ <vertex index="2374" x="215.223" y="-289.874"/>
+ <vertex index="2375" x="213.52" y="-285.278"/>
+ <vertex index="2376" x="207.967" y="-293.436"/>
+ <vertex index="2377" x="208.772" y="-248.346"/>
+ <vertex index="2378" x="198.201" y="-247.05"/>
+ <vertex index="2379" x="203.17" y="-250.281"/>
+ <vertex index="2380" x="206.307" y="-250.286"/>
+ <vertex index="2381" x="204.731" y="-254.803"/>
+ <vertex index="2382" x="211.675" y="-245.255"/>
+ <vertex index="2383" x="211.955" y="-251.529"/>
+ <vertex index="2384" x="234.39" y="-288.811"/>
+ <vertex index="2385" x="229.159" y="-294.618"/>
+ <vertex index="2386" x="234.547" y="-274.081"/>
+ <vertex index="2387" x="230.077" y="-270.554"/>
+ <vertex index="2388" x="229.643" y="-278.719"/>
+ <vertex index="2389" x="238.847" y="-334.469"/>
+ <vertex index="2390" x="243.176" y="-335.298"/>
+ <vertex index="2391" x="225.62" y="-325.234"/>
+ <vertex index="2392" x="219.505" y="-326.667"/>
+ <vertex index="2393" x="219.267" y="-323.043"/>
+ <vertex index="2394" x="215.9" y="-327.562"/>
+ <vertex index="2395" x="201.258" y="-340.507"/>
+ <vertex index="2396" x="206.949" y="-344.508"/>
+ <vertex index="2397" x="201.48" y="-346.984"/>
+ <vertex index="2398" x="205.047" y="-347.584"/>
+ <vertex index="2399" x="201.894" y="-343.727"/>
+ <vertex index="2400" x="197.037" y="-348.24"/>
+ <vertex index="2401" x="199.901" y="-350.99"/>
+ <vertex index="2402" x="198.601" y="-345.287"/>
+ <vertex index="2403" x="224.333" y="-343.978"/>
+ <vertex index="2404" x="182.598" y="-232.623"/>
+ <vertex index="2405" x="189.968" y="-230.72"/>
+ <vertex index="2406" x="176.828" y="-220.681"/>
+ <vertex index="2407" x="173.525" y="-221.107"/>
+ <vertex index="2408" x="171.64" y="-224.78"/>
+ <vertex index="2409" x="170.946" y="-231.562"/>
+ <vertex index="2410" x="174.803" y="-228.53"/>
+ <vertex index="2411" x="170.215" y="-228.061"/>
+ <vertex index="2412" x="165.944" y="-230.779"/>
+ <vertex index="2413" x="167.584" y="-222.359"/>
+ <vertex index="2414" x="156.919" y="-211.453"/>
+ <vertex index="2415" x="149.493" y="-212.512"/>
+ <vertex index="2416" x="156.896" y="-218.202"/>
+ <vertex index="2417" x="157.804" y="-223.793"/>
+ <vertex index="2418" x="160.775" y="-220.903"/>
+ <vertex index="2419" x="156.289" y="-221.17"/>
+ <vertex index="2420" x="161.138" y="-224.248"/>
+ <vertex index="2421" x="164.567" y="-224.003"/>
+ <vertex index="2422" x="145.402" y="-249.377"/>
+ <vertex index="2423" x="138.032" y="-251.28"/>
+ <vertex index="2424" x="160.518" y="-112.686"/>
+ <vertex index="2425" x="167.777" y="-102.995"/>
+ <vertex index="2426" x="174.621" y="-108.742"/>
+ <vertex index="2427" x="178.288" y="-107.729"/>
+ <vertex index="2428" x="147.321" y="-98.42"/>
+ <vertex index="2429" x="142.886" y="-111.569"/>
+ <vertex index="2430" x="140.505" y="-97.8294"/>
+ <vertex index="2431" x="137.964" y="-95.5214"/>
+ <vertex index="2432" x="135.791" y="-98.4091"/>
+ <vertex index="2433" x="131.941" y="-97.8718"/>
+ <vertex index="2434" x="131.464" y="-94.7951"/>
+ <vertex index="2435" x="132.029" y="-90.7409"/>
+ <vertex index="2436" x="134.824" y="-91.9669"/>
+ <vertex index="2437" x="132.246" y="-86.2278"/>
+ <vertex index="2438" x="128.031" y="-88.8756"/>
+ <vertex index="2439" x="135.592" y="-85.6769"/>
+ <vertex index="2440" x="131.678" y="-81.7797"/>
+ <vertex index="2441" x="123.694" y="-86.6149"/>
+ <vertex index="2442" x="124.312" y="-91.7507"/>
+ <vertex index="2443" x="134.346" y="-80.7381"/>
+ <vertex index="2444" x="129.19" y="-77.7373"/>
+ <vertex index="2445" x="125.187" y="-89.0404"/>
+ <vertex index="2446" x="121.442" y="-94.6237"/>
+ <vertex index="2447" x="125.531" y="-95.5536"/>
+ <vertex index="2448" x="126.266" y="-98.539"/>
+ <vertex index="2449" x="131.657" y="-75.1352"/>
+ <vertex index="2450" x="123.868" y="-78.1597"/>
+ <vertex index="2451" x="123.817" y="-74.9555"/>
+ <vertex index="2452" x="128.335" y="-81.0508"/>
+ <vertex index="2453" x="126.425" y="-76.6279"/>
+ <vertex index="2454" x="137.789" y="-111.053"/>
+ <vertex index="2455" x="141.773" y="-106.51"/>
+ <vertex index="2456" x="136.79" y="-104.73"/>
+ <vertex index="2457" x="100.291" y="-88.6818"/>
+ <vertex index="2458" x="100.332" y="-84.1541"/>
+ <vertex index="2459" x="96.9383" y="-87.4269"/>
+ <vertex index="2460" x="89.519" y="-88.0135"/>
+ <vertex index="2461" x="93.156" y="-86.801"/>
+ <vertex index="2462" x="89.9385" y="-81.0704"/>
+ <vertex index="2463" x="92.6476" y="-91.3372"/>
+ <vertex index="2464" x="92.421" y="-83.4452"/>
+ <vertex index="2465" x="94.2145" y="-94.7236"/>
+ <vertex index="2466" x="95.0737" y="-78.1873"/>
+ <vertex index="2467" x="88.5422" y="-95.2925"/>
+ <vertex index="2468" x="92.4771" y="-97.7951"/>
+ <vertex index="2469" x="91.2798" y="-94.0258"/>
+ <vertex index="2470" x="87.3117" y="-98.1899"/>
+ <vertex index="2471" x="98.1599" y="-80.7681"/>
+ <vertex index="2472" x="105.303" y="-78.5746"/>
+ <vertex index="2473" x="102.038" y="-80.6697"/>
+ <vertex index="2474" x="105.558" y="-82.5638"/>
+ <vertex index="2475" x="100.338" y="-74.4282"/>
+ <vertex index="2476" x="109.966" y="-80.9516"/>
+ <vertex index="2477" x="100.027" y="-77.8653"/>
+ <vertex index="2478" x="103.214" y="-84.2429"/>
+ <vertex index="2479" x="110.916" y="-83.7779"/>
+ <vertex index="2480" x="114.637" y="-78.1202"/>
+ <vertex index="2481" x="112.975" y="-80.6471"/>
+ <vertex index="2482" x="152.87" y="-68.9185"/>
+ <vertex index="2483" x="150.949" y="-74.8417"/>
+ <vertex index="2484" x="131.435" y="-67.7758"/>
+ <vertex index="2485" x="124.286" y="-66.5711"/>
+ <vertex index="2486" x="48.5359" y="-384.281"/>
+ <vertex index="2487" x="50.1383" y="-389.295"/>
+ <vertex index="2488" x="41.8351" y="-388.825"/>
+ <vertex index="2489" x="40.8136" y="-385.737"/>
+ <vertex index="2490" x="59.3899" y="-403.017"/>
+ <vertex index="2491" x="64.2828" y="-397.938"/>
+ <vertex index="2492" x="110.605" y="-349.225"/>
+ <vertex index="2493" x="110.97" y="-346.005"/>
+ <vertex index="2494" x="107.416" y="-341.266"/>
+ <vertex index="2495" x="106.948" y="-349.858"/>
+ <vertex index="2496" x="103.744" y="-345.546"/>
+ <vertex index="2497" x="106.633" y="-344.31"/>
+ <vertex index="2498" x="100.304" y="-342.249"/>
+ <vertex index="2499" x="27.284" y="-123.39"/>
+ <vertex index="2500" x="40.4977" y="-131.038"/>
+ <vertex index="2501" x="41.5086" y="-125.601"/>
+ <vertex index="2502" x="32.8525" y="-123.523"/>
+ <vertex index="2503" x="37.3731" y="-125.232"/>
+ <vertex index="2504" x="39.6846" y="-122.687"/>
+ <vertex index="2505" x="44.9537" y="-121.417"/>
+ <vertex index="2506" x="36.6453" y="-118.577"/>
+ <vertex index="2507" x="42.9368" y="-106.371"/>
+ <vertex index="2508" x="40.7951" y="-109.467"/>
+ <vertex index="2509" x="47.9217" y="-112.108"/>
+ <vertex index="2510" x="44.696" y="-109.876"/>
+ <vertex index="2511" x="44.4153" y="-113.729"/>
+ <vertex index="2512" x="48.4212" y="-107.938"/>
+ <vertex index="2513" x="42.7047" y="-116.902"/>
+ <vertex index="2514" x="48.2071" y="-117.327"/>
+ <vertex index="2515" x="54.3456" y="-110.763"/>
+ <vertex index="2516" x="47.9783" y="-104.819"/>
+ <vertex index="2517" x="51.9483" y="-108.165"/>
+ <vertex index="2518" x="55.8277" y="-106.99"/>
+ <vertex index="2519" x="51.3795" y="-97.6677"/>
+ <vertex index="2520" x="49.5362" y="-94.1778"/>
+ <vertex index="2521" x="53.4854" y="-94.3237"/>
+ <vertex index="2522" x="46.8344" y="-97.8365"/>
+ <vertex index="2523" x="56.1391" y="-98.33"/>
+ <vertex index="2524" x="49.211" y="-100.554"/>
+ <vertex index="2525" x="28.1919" y="-147.153"/>
+ <vertex index="2526" x="31.5452" y="-148.146"/>
+ <vertex index="2527" x="33.4594" y="-144.533"/>
+ <vertex index="2528" x="49.5601" y="-134.11"/>
+ <vertex index="2529" x="37.9361" y="-177.557"/>
+ <vertex index="2530" x="40.817" y="-174.942"/>
+ <vertex index="2531" x="43.2803" y="-176.804"/>
+ <vertex index="2532" x="46.9262" y="-183.352"/>
+ <vertex index="2533" x="46.1716" y="-179.483"/>
+ <vertex index="2534" x="56.9708" y="-179.385"/>
+ <vertex index="2535" x="51.5803" y="-180.436"/>
+ <vertex index="2536" x="48.6928" y="-180.999"/>
+ <vertex index="2537" x="48.446" y="-170.375"/>
+ <vertex index="2538" x="55.8049" y="-78.8462"/>
+ <vertex index="2539" x="80.7735" y="-179.012"/>
+ <vertex index="2540" x="77.2501" y="-172.667"/>
+ <vertex index="2541" x="80.49" y="-171.958"/>
+ <vertex index="2542" x="71.9003" y="-181.209"/>
+ <vertex index="2543" x="71.8277" y="-190.375"/>
+ <vertex index="2544" x="68.1475" y="-195.383"/>
+ <vertex index="2545" x="71.2248" y="-193.788"/>
+ <vertex index="2546" x="83.029" y="-198.528"/>
+ <vertex index="2547" x="76.144" y="-202.648"/>
+ <vertex index="2548" x="81.6044" y="-201.857"/>
+ <vertex index="2549" x="130.709" y="-203.671"/>
+ <vertex index="2550" x="133.199" y="-200.558"/>
+ <vertex index="2551" x="136.58" y="-200.034"/>
+ <vertex index="2552" x="135.349" y="-203.264"/>
+ <vertex index="2553" x="140.274" y="-206.74"/>
+ <vertex index="2554" x="128.148" y="-207.03"/>
+ <vertex index="2555" x="125.206" y="-206.714"/>
+ <vertex index="2556" x="129.867" y="-212.609"/>
+ <vertex index="2557" x="126.771" y="-212.116"/>
+ <vertex index="2558" x="95.9482" y="-196.518"/>
+ <vertex index="2559" x="94.1666" y="-200.374"/>
+ <vertex index="2560" x="92.1123" y="-202.813"/>
+ <vertex index="2561" x="85.6628" y="-216.037"/>
+ <vertex index="2562" x="87.5122" y="-201.593"/>
+ <vertex index="2563" x="85.0583" y="-205.802"/>
+ <vertex index="2564" x="81.2263" y="-211.163"/>
+ <vertex index="2565" x="88.3313" y="-208.018"/>
+ <vertex index="2566" x="84.8185" y="-209.681"/>
+ <vertex index="2567" x="81.943" y="-207.807"/>
+ <vertex index="2568" x="84.0914" y="-213.011"/>
+ <vertex index="2569" x="76.6169" y="-207.955"/>
+ <vertex index="2570" x="80.0007" y="-216.209"/>
+ <vertex index="2571" x="88.3104" y="-212.741"/>
+ <vertex index="2572" x="89.9675" y="-216.784"/>
+ <vertex index="2573" x="91.4209" y="-213.31"/>
+ <vertex index="2574" x="87.0327" y="-220.922"/>
+ <vertex index="2575" x="93.7227" y="-220.182"/>
+ <vertex index="2576" x="87.513" y="-218.153"/>
+ <vertex index="2577" x="91.8314" y="-206.598"/>
+ <vertex index="2578" x="105.551" y="-212.535"/>
+ <vertex index="2579" x="111.057" y="-230.081"/>
+ <vertex index="2580" x="106.088" y="-215.894"/>
+ <vertex index="2581" x="101.866" y="-217.803"/>
+ <vertex index="2582" x="101.535" y="-223.264"/>
+ <vertex index="2583" x="68.4866" y="-146.075"/>
+ <vertex index="2584" x="68.9849" y="-149.456"/>
+ <vertex index="2585" x="65.698" y="-153.892"/>
+ <vertex index="2586" x="62.5292" y="-143.314"/>
+ <vertex index="2587" x="65.3266" y="-145.086"/>
+ <vertex index="2588" x="54.7774" y="-140.135"/>
+ <vertex index="2589" x="52.0097" y="-143.799"/>
+ <vertex index="2590" x="52.1273" y="-149.9"/>
+ <vertex index="2591" x="50.9841" y="-146.871"/>
+ <vertex index="2592" x="47.4886" y="-149.659"/>
+ <vertex index="2593" x="44.5061" y="-150.613"/>
+ <vertex index="2594" x="48.7956" y="-152.876"/>
+ <vertex index="2595" x="61.6009" y="-134.76"/>
+ <vertex index="2596" x="57.2223" y="-128.45"/>
+ <vertex index="2597" x="56.8843" y="-134.172"/>
+ <vertex index="2598" x="60.2751" y="-131.006"/>
+ <vertex index="2599" x="62.6337" y="-125.087"/>
+ <vertex index="2600" x="60.4811" y="-127.658"/>
+ <vertex index="2601" x="57.6474" y="-123.1"/>
+ <vertex index="2602" x="55.3255" y="-136.975"/>
+ <vertex index="2603" x="53.649" y="-132.032"/>
+ <vertex index="2604" x="65.7219" y="-134.586"/>
+ <vertex index="2605" x="81.3055" y="-101.627"/>
+ <vertex index="2606" x="80.7855" y="-97.9761"/>
+ <vertex index="2607" x="83.5953" y="-95.2401"/>
+ <vertex index="2608" x="61.3022" y="-101.821"/>
+ <vertex index="2609" x="69.3173" y="-114.819"/>
+ <vertex index="2610" x="61.4268" y="-116.062"/>
+ <vertex index="2611" x="65.2138" y="-114.437"/>
+ <vertex index="2612" x="63.2763" y="-110.289"/>
+ <vertex index="2613" x="65.2179" y="-119.67"/>
+ <vertex index="2614" x="68.1669" y="-118.004"/>
+ <vertex index="2615" x="65.8408" y="-109.158"/>
+ <vertex index="2616" x="58.8761" y="-111.756"/>
+ <vertex index="2617" x="61.7272" y="-112.976"/>
+ <vertex index="2618" x="70.6153" y="-110.15"/>
+ <vertex index="2619" x="59.4543" y="-79.2078"/>
+ <vertex index="2620" x="61.7761" y="-77.0589"/>
+ <vertex index="2621" x="79.3477" y="-85.6472"/>
+ <vertex index="2622" x="81.3314" y="-88.6894"/>
+ <vertex index="2623" x="69.9601" y="-76.3211"/>
+ <vertex index="2624" x="70.7295" y="-69.7119"/>
+ <vertex index="2625" x="65.7907" y="-69.7375"/>
+ <vertex index="2626" x="81.8161" y="-67.2131"/>
+ <vertex index="2627" x="80.4863" y="-69.8904"/>
+ <vertex index="2628" x="81.6797" y="-74.5884"/>
+ <vertex index="2629" x="94.1493" y="-60.5152"/>
+ <vertex index="2630" x="59.5113" y="-64.1855"/>
+ <vertex index="2631" x="57.7515" y="-66.859"/>
+ <vertex index="2632" x="106.736" y="-65.8157"/>
+ <vertex index="2633" x="96.3737" y="-66.104"/>
+ <vertex index="2634" x="128.5" y="-398"/>
+ <vertex index="2635" x="132.782" y="-397.344"/>
+ <vertex index="2636" x="176.809" y="-357.044"/>
+ <vertex index="2637" x="214.133" y="-345.191"/>
+ <vertex index="2638" x="213.728" y="-341.846"/>
+ <vertex index="2639" x="189.5" y="-377.37"/>
+ <vertex index="2640" x="207.814" y="-383.678"/>
+ <vertex index="2641" x="214.21" y="-375.813"/>
+ <vertex index="2642" x="213.09" y="-369.353"/>
+ <vertex index="2643" x="212.677" y="-366.138"/>
+ <vertex index="2644" x="127.284" y="-351.581"/>
+ <vertex index="2645" x="125.835" y="-348.609"/>
+ <vertex index="2646" x="119.379" y="-348.843"/>
+ <vertex index="2647" x="119.3" y="-358.893"/>
+ <vertex index="2648" x="123.993" y="-356.377"/>
+ <vertex index="2649" x="216.631" y="-360.625"/>
+ <vertex index="2650" x="220.199" y="-364.765"/>
+ <vertex index="2651" x="227.906" y="-372.999"/>
+ <vertex index="2652" x="227.5" y="-378.5"/>
+ <vertex index="2653" x="202.086" y="-390.16"/>
+ <vertex index="2654" x="208.665" y="-390.416"/>
+ <vertex index="2655" x="206.194" y="-392.665"/>
+ <vertex index="2656" x="212.306" y="-322.632"/>
+ <vertex index="2657" x="200.448" y="-291.83"/>
+ <vertex index="2658" x="206.286" y="-288.146"/>
+ <vertex index="2659" x="209.142" y="-284.794"/>
+ <vertex index="2660" x="204.96" y="-291.48"/>
+ <vertex index="2661" x="205.04" y="-294.646"/>
+ <vertex index="2662" x="207.91" y="-290.542"/>
+ <vertex index="2663" x="212.139" y="-277.732"/>
+ <vertex index="2664" x="211.699" y="-281.712"/>
+ <vertex index="2665" x="216.575" y="-281.47"/>
+ <vertex index="2666" x="206.856" y="-279.162"/>
+ <vertex index="2667" x="207.249" y="-282.282"/>
+ <vertex index="2668" x="209.778" y="-279.485"/>
+ <vertex index="2669" x="190" y="-290.5"/>
+ <vertex index="2670" x="194.247" y="-290.771"/>
+ <vertex index="2671" x="198.065" y="-287.23"/>
+ <vertex index="2672" x="201.361" y="-285.595"/>
+ <vertex index="2673" x="200.98" y="-279.706"/>
+ <vertex index="2674" x="197.95" y="-282.859"/>
+ <vertex index="2675" x="202.136" y="-282.588"/>
+ <vertex index="2676" x="190.972" y="-273.12"/>
+ <vertex index="2677" x="195.364" y="-277.342"/>
+ <vertex index="2678" x="197.718" y="-279.604"/>
+ <vertex index="2679" x="231.168" y="-288.046"/>
+ <vertex index="2680" x="213.044" y="-288.068"/>
+ <vertex index="2681" x="209.292" y="-296.319"/>
+ <vertex index="2682" x="209.408" y="-257.695"/>
+ <vertex index="2683" x="211.035" y="-254.758"/>
+ <vertex index="2684" x="213.704" y="-257.999"/>
+ <vertex index="2685" x="196.488" y="-255.119"/>
+ <vertex index="2686" x="228.998" y="-291.224"/>
+ <vertex index="2687" x="225.833" y="-292.261"/>
+ <vertex index="2688" x="230.775" y="-297.394"/>
+ <vertex index="2689" x="231.829" y="-293.626"/>
+ <vertex index="2690" x="233.5" y="-268.5"/>
+ <vertex index="2691" x="226.05" y="-266.17"/>
+ <vertex index="2692" x="225.087" y="-272.333"/>
+ <vertex index="2693" x="205.719" y="-350.544"/>
+ <vertex index="2694" x="182.584" y="-229.359"/>
+ <vertex index="2695" x="188.469" y="-227.852"/>
+ <vertex index="2696" x="174.471" y="-232.078"/>
+ <vertex index="2697" x="171.861" y="-237.615"/>
+ <vertex index="2698" x="178.034" y="-230.797"/>
+ <vertex index="2699" x="174.008" y="-235.243"/>
+ <vertex index="2700" x="176.832" y="-239.959"/>
+ <vertex index="2701" x="165.248" y="-227.712"/>
+ <vertex index="2702" x="156.698" y="-237.611"/>
+ <vertex index="2703" x="153.043" y="-212.006"/>
+ <vertex index="2704" x="151.632" y="-208.947"/>
+ <vertex index="2705" x="145.416" y="-252.641"/>
+ <vertex index="2706" x="139.531" y="-254.148"/>
+ <vertex index="2707" x="119.284" y="-80.4703"/>
+ <vertex index="2708" x="124.294" y="-82.3979"/>
+ <vertex index="2709" x="122.159" y="-80.4717"/>
+ <vertex index="2710" x="121.715" y="-84.1822"/>
+ <vertex index="2711" x="85.4646" y="-88.5589"/>
+ <vertex index="2712" x="86.2749" y="-92.2586"/>
+ <vertex index="2713" x="86.9657" y="-84.375"/>
+ <vertex index="2714" x="89.3854" y="-91.2735"/>
+ <vertex index="2715" x="89.8861" y="-85.0408"/>
+ <vertex index="2716" x="86.4698" y="-80.9393"/>
+ <vertex index="2717" x="89.4553" y="-77.0319"/>
+ <vertex index="2718" x="92.0253" y="-78.7725"/>
+ <vertex index="2719" x="109.729" y="-73.9228"/>
+ <vertex index="2720" x="101.306" y="-70.7816"/>
+ <vertex index="2721" x="105.009" y="-73.7157"/>
+ <vertex index="2722" x="103.01" y="-76.2752"/>
+ <vertex index="2723" x="107.273" y="-76.017"/>
+ <vertex index="2724" x="107.509" y="-70.6381"/>
+ <vertex index="2725" x="96.1281" y="-71.9552"/>
+ <vertex index="2726" x="92.7874" y="-71.7238"/>
+ <vertex index="2727" x="92.9402" y="-75.3059"/>
+ <vertex index="2728" x="115.406" y="-74.0582"/>
+ <vertex index="2729" x="112.606" y="-72.3898"/>
+ <vertex index="2730" x="110.439" y="-70.4023"/>
+ <vertex index="2731" x="43.2187" y="-391.703"/>
+ <vertex index="2732" x="44.7302" y="-387.85"/>
+ <vertex index="2733" x="39.2498" y="-391.063"/>
+ <vertex index="2734" x="103.887" y="-341.954"/>
+ <vertex index="2735" x="105.104" y="-338.8"/>
+ <vertex index="2736" x="108.954" y="-337.508"/>
+ <vertex index="2737" x="112.203" y="-339.62"/>
+ <vertex index="2738" x="106.922" y="-333.972"/>
+ <vertex index="2739" x="113.5" y="-336"/>
+ <vertex index="2740" x="101.149" y="-338.888"/>
+ <vertex index="2741" x="46.5046" y="-126.205"/>
+ <vertex index="2742" x="40.1536" y="-104.982"/>
+ <vertex index="2743" x="45.3567" y="-118.399"/>
+ <vertex index="2744" x="51.7783" y="-114.514"/>
+ <vertex index="2745" x="51.0928" y="-111.319"/>
+ <vertex index="2746" x="53.1223" y="-119.894"/>
+ <vertex index="2747" x="51.2415" y="-117.506"/>
+ <vertex index="2748" x="54.6929" y="-103.333"/>
+ <vertex index="2749" x="52.535" y="-100.794"/>
+ <vertex index="2750" x="58.8147" y="-99.6076"/>
+ <vertex index="2751" x="59.2245" y="-95.3088"/>
+ <vertex index="2752" x="56.2603" y="-95.3677"/>
+ <vertex index="2753" x="54.466" y="-190.214"/>
+ <vertex index="2754" x="45.318" y="-169.463"/>
+ <vertex index="2755" x="53.203" y="-174.412"/>
+ <vertex index="2756" x="50.1927" y="-165.255"/>
+ <vertex index="2757" x="78.8637" y="-175.572"/>
+ <vertex index="2758" x="69.8871" y="-185.061"/>
+ <vertex index="2759" x="64.4972" y="-179.792"/>
+ <vertex index="2760" x="64.2439" y="-185.443"/>
+ <vertex index="2761" x="67.9855" y="-181.615"/>
+ <vertex index="2762" x="69.268" y="-174.912"/>
+ <vertex index="2763" x="65.2213" y="-182.656"/>
+ <vertex index="2764" x="60.5869" y="-182.304"/>
+ <vertex index="2765" x="67.6174" y="-178.07"/>
+ <vertex index="2766" x="63.1985" y="-173.751"/>
+ <vertex index="2767" x="64.7575" y="-176.576"/>
+ <vertex index="2768" x="60.5336" y="-177.064"/>
+ <vertex index="2769" x="67.1449" y="-186.426"/>
+ <vertex index="2770" x="55.6066" y="-184.774"/>
+ <vertex index="2771" x="58.0873" y="-172.368"/>
+ <vertex index="2772" x="61.6585" y="-179.673"/>
+ <vertex index="2773" x="57.5286" y="-182.393"/>
+ <vertex index="2774" x="57.1874" y="-175.822"/>
+ <vertex index="2775" x="60.3399" y="-174.18"/>
+ <vertex index="2776" x="74.2062" y="-183.853"/>
+ <vertex index="2777" x="75.1375" y="-180.713"/>
+ <vertex index="2778" x="73.7295" y="-176.268"/>
+ <vertex index="2779" x="72.6759" y="-171.716"/>
+ <vertex index="2780" x="76.2054" y="-166.212"/>
+ <vertex index="2781" x="78.1899" y="-169.203"/>
+ <vertex index="2782" x="74.8797" y="-169.246"/>
+ <vertex index="2783" x="68.9138" y="-164.832"/>
+ <vertex index="2784" x="71.1106" y="-168.102"/>
+ <vertex index="2785" x="72.726" y="-164.643"/>
+ <vertex index="2786" x="65.9295" y="-169.21"/>
+ <vertex index="2787" x="76.6797" y="-160.518"/>
+ <vertex index="2788" x="70.6609" y="-161.525"/>
+ <vertex index="2789" x="69.0515" y="-171.139"/>
+ <vertex index="2790" x="75.4337" y="-163.281"/>
+ <vertex index="2791" x="79.9556" y="-163.658"/>
+ <vertex index="2792" x="73.5484" y="-160.293"/>
+ <vertex index="2793" x="75.1698" y="-156.884"/>
+ <vertex index="2794" x="66.7168" y="-158.659"/>
+ <vertex index="2795" x="66.4533" y="-173.181"/>
+ <vertex index="2796" x="80.0512" y="-166.742"/>
+ <vertex index="2797" x="83.341" y="-165.097"/>
+ <vertex index="2798" x="75.0876" y="-152.734"/>
+ <vertex index="2799" x="72.6705" y="-154.921"/>
+ <vertex index="2800" x="85.4881" y="-161.003"/>
+ <vertex index="2801" x="88" y="-157.5"/>
+ <vertex index="2802" x="82.8413" y="-157.754"/>
+ <vertex index="2803" x="80.2025" y="-160.122"/>
+ <vertex index="2804" x="70.2628" y="-198.427"/>
+ <vertex index="2805" x="63.3612" y="-200.967"/>
+ <vertex index="2806" x="66.4814" y="-198.798"/>
+ <vertex index="2807" x="60.8726" y="-193.948"/>
+ <vertex index="2808" x="67.074" y="-202.98"/>
+ <vertex index="2809" x="64.3198" y="-195.63"/>
+ <vertex index="2810" x="66.0179" y="-192.153"/>
+ <vertex index="2811" x="61.1221" y="-197.81"/>
+ <vertex index="2812" x="55.2393" y="-196.251"/>
+ <vertex index="2813" x="58.9969" y="-201.69"/>
+ <vertex index="2814" x="58.4421" y="-196.044"/>
+ <vertex index="2815" x="57.4573" y="-192.445"/>
+ <vertex index="2816" x="60.9808" y="-189.07"/>
+ <vertex index="2817" x="63.3113" y="-205.488"/>
+ <vertex index="2818" x="70.4516" y="-208.141"/>
+ <vertex index="2819" x="56.2105" y="-203.316"/>
+ <vertex index="2820" x="55.9951" y="-199.746"/>
+ <vertex index="2821" x="52.0539" y="-198.769"/>
+ <vertex index="2822" x="60.5177" y="-204.312"/>
+ <vertex index="2823" x="60.5" y="-208"/>
+ <vertex index="2824" x="69.7031" y="-204.945"/>
+ <vertex index="2825" x="66.6874" y="-207.337"/>
+ <vertex index="2826" x="67.9701" y="-210.545"/>
+ <vertex index="2827" x="50.6869" y="-193.766"/>
+ <vertex index="2828" x="49.9008" y="-196.669"/>
+ <vertex index="2829" x="76.7236" y="-199.414"/>
+ <vertex index="2830" x="73.8711" y="-200.713"/>
+ <vertex index="2831" x="77.7895" y="-205.176"/>
+ <vertex index="2832" x="76.7089" y="-212.738"/>
+ <vertex index="2833" x="76.6137" y="-217.608"/>
+ <vertex index="2834" x="82.0686" y="-219.886"/>
+ <vertex index="2835" x="82.859" y="-217.021"/>
+ <vertex index="2836" x="86.3081" y="-224.153"/>
+ <vertex index="2837" x="90.7096" y="-223.463"/>
+ <vertex index="2838" x="91.9338" y="-227.208"/>
+ <vertex index="2839" x="97.7168" y="-227.628"/>
+ <vertex index="2840" x="94.7494" y="-228.462"/>
+ <vertex index="2841" x="95.1544" y="-224.208"/>
+ <vertex index="2842" x="90.3627" y="-220.121"/>
+ <vertex index="2843" x="98.4448" y="-224.413"/>
+ <vertex index="2844" x="96.7471" y="-221.374"/>
+ <vertex index="2845" x="95.6178" y="-217.753"/>
+ <vertex index="2846" x="111.756" y="-224.783"/>
+ <vertex index="2847" x="69.0283" y="-155.285"/>
+ <vertex index="2848" x="59.3501" y="-151.077"/>
+ <vertex index="2849" x="62.1727" y="-140.029"/>
+ <vertex index="2850" x="65.3186" y="-141.35"/>
+ <vertex index="2851" x="52.1771" y="-138.674"/>
+ <vertex index="2852" x="58.2623" y="-141.924"/>
+ <vertex index="2853" x="66.3167" y="-124.499"/>
+ <vertex index="2854" x="60.9622" y="-120.346"/>
+ <vertex index="2855" x="57.1779" y="-117.769"/>
+ <vertex index="2856" x="60.5078" y="-123.171"/>
+ <vertex index="2857" x="63.4294" y="-122.141"/>
+ <vertex index="2858" x="56.0527" y="-120.554"/>
+ <vertex index="2859" x="58.49" y="-114.893"/>
+ <vertex index="2860" x="55.1693" y="-114.081"/>
+ <vertex index="2861" x="54.2389" y="-116.978"/>
+ <vertex index="2862" x="68.0489" y="-66.6677"/>
+ <vertex index="2863" x="65.4026" y="-65.0483"/>
+ <vertex index="2864" x="62.2929" y="-69.5736"/>
+ <vertex index="2865" x="65.8546" y="-73.0624"/>
+ <vertex index="2866" x="215.701" y="-347.648"/>
+ <vertex index="2867" x="216.774" y="-343.188"/>
+ <vertex index="2868" x="211.046" y="-345.623"/>
+ <vertex index="2869" x="210.575" y="-384.764"/>
+ <vertex index="2870" x="209.777" y="-380.245"/>
+ <vertex index="2871" x="213.21" y="-379.246"/>
+ <vertex index="2872" x="206.645" y="-380.303"/>
+ <vertex index="2873" x="219.251" y="-379.142"/>
+ <vertex index="2874" x="210.747" y="-376.667"/>
+ <vertex index="2875" x="216.269" y="-381.401"/>
+ <vertex index="2876" x="216.224" y="-378.244"/>
+ <vertex index="2877" x="219.214" y="-373.716"/>
+ <vertex index="2878" x="219.511" y="-382.583"/>
+ <vertex index="2879" x="203.72" y="-385.328"/>
+ <vertex index="2880" x="201.768" y="-383.184"/>
+ <vertex index="2881" x="207.605" y="-387.008"/>
+ <vertex index="2882" x="209.855" y="-369.656"/>
+ <vertex index="2883" x="211.733" y="-372.946"/>
+ <vertex index="2884" x="122.495" y="-348.73"/>
+ <vertex index="2885" x="120.417" y="-345.353"/>
+ <vertex index="2886" x="116.446" y="-345.277"/>
+ <vertex index="2887" x="116.609" y="-348.132"/>
+ <vertex index="2888" x="116.74" y="-352.167"/>
+ <vertex index="2889" x="120.682" y="-352.219"/>
+ <vertex index="2890" x="126.927" y="-356.861"/>
+ <vertex index="2891" x="124.611" y="-359.426"/>
+ <vertex index="2892" x="216.894" y="-367.445"/>
+ <vertex index="2893" x="216.394" y="-371.194"/>
+ <vertex index="2894" x="219.595" y="-370.453"/>
+ <vertex index="2895" x="223.489" y="-366.11"/>
+ <vertex index="2896" x="224.073" y="-362.906"/>
+ <vertex index="2897" x="219.836" y="-361.47"/>
+ <vertex index="2898" x="216.39" y="-276.237"/>
+ <vertex index="2899" x="214.94" y="-278.908"/>
+ <vertex index="2900" x="219.095" y="-278.761"/>
+ <vertex index="2901" x="216.684" y="-284.686"/>
+ <vertex index="2902" x="207.131" y="-269.708"/>
+ <vertex index="2903" x="190.417" y="-281.797"/>
+ <vertex index="2904" x="194.302" y="-281.483"/>
+ <vertex index="2905" x="192.584" y="-284.419"/>
+ <vertex index="2906" x="195.693" y="-285.106"/>
+ <vertex index="2907" x="207.768" y="-255.119"/>
+ <vertex index="2908" x="200.562" y="-253.712"/>
+ <vertex index="2909" x="199.626" y="-250.294"/>
+ <vertex index="2910" x="200.847" y="-261.14"/>
+ <vertex index="2911" x="201.829" y="-257.383"/>
+ <vertex index="2912" x="198.228" y="-258.448"/>
+ <vertex index="2913" x="205.503" y="-260.35"/>
+ <vertex index="2914" x="188.391" y="-261.47"/>
+ <vertex index="2915" x="194.704" y="-264.497"/>
+ <vertex index="2916" x="193.029" y="-259.046"/>
+ <vertex index="2917" x="197.308" y="-261.963"/>
+ <vertex index="2918" x="200.556" y="-267.907"/>
+ <vertex index="2919" x="199.76" y="-264.483"/>
+ <vertex index="2920" x="204.605" y="-265.16"/>
+ <vertex index="2921" x="209.07" y="-261.397"/>
+ <vertex index="2922" x="210.096" y="-266.018"/>
+ <vertex index="2923" x="203.466" y="-262.458"/>
+ <vertex index="2924" x="207.575" y="-264.154"/>
+ <vertex index="2925" x="212.068" y="-270.639"/>
+ <vertex index="2926" x="209.848" y="-268.855"/>
+ <vertex index="2927" x="213.276" y="-274.174"/>
+ <vertex index="2928" x="229.064" y="-267.443"/>
+ <vertex index="2929" x="223.891" y="-275.165"/>
+ <vertex index="2930" x="228.003" y="-274.618"/>
+ <vertex index="2931" x="221.072" y="-271.375"/>
+ <vertex index="2932" x="223.768" y="-268.971"/>
+ <vertex index="2933" x="220.287" y="-263.805"/>
+ <vertex index="2934" x="222.81" y="-265.86"/>
+ <vertex index="2935" x="224.328" y="-261.422"/>
+ <vertex index="2936" x="222.9" y="-258.492"/>
+ <vertex index="2937" x="218.658" y="-267.8"/>
+ <vertex index="2938" x="226.843" y="-263.196"/>
+ <vertex index="2939" x="227" y="-258.5"/>
+ <vertex index="2940" x="220.302" y="-260.513"/>
+ <vertex index="2941" x="216.522" y="-261.339"/>
+ <vertex index="2942" x="215.328" y="-265.317"/>
+ <vertex index="2943" x="167.824" y="-235.13"/>
+ <vertex index="2944" x="170.894" y="-234.666"/>
+ <vertex index="2945" x="168.258" y="-232.36"/>
+ <vertex index="2946" x="161.973" y="-235.077"/>
+ <vertex index="2947" x="164.91" y="-233.807"/>
+ <vertex index="2948" x="162.072" y="-231.274"/>
+ <vertex index="2949" x="156.813" y="-229.316"/>
+ <vertex index="2950" x="158.405" y="-233.081"/>
+ <vertex index="2951" x="159.796" y="-229.347"/>
+ <vertex index="2952" x="164.814" y="-244.539"/>
+ <vertex index="2953" x="152.396" y="-233.403"/>
+ <vertex index="2954" x="167.482" y="-240.206"/>
+ <vertex index="2955" x="164.794" y="-237.57"/>
+ <vertex index="2956" x="160.754" y="-239.298"/>
+ <vertex index="2957" x="155.343" y="-232.157"/>
+ <vertex index="2958" x="152.144" y="-228.7"/>
+ <vertex index="2959" x="168.989" y="-237.758"/>
+ <vertex index="2960" x="156.383" y="-244.088"/>
+ <vertex index="2961" x="163.896" y="-241.057"/>
+ <vertex index="2962" x="160.493" y="-243.449"/>
+ <vertex index="2963" x="154.86" y="-226.115"/>
+ <vertex index="2964" x="141.159" y="-231.646"/>
+ <vertex index="2965" x="157.707" y="-240.906"/>
+ <vertex index="2966" x="152.626" y="-240.659"/>
+ <vertex index="2967" x="160.068" y="-254.24"/>
+ <vertex index="2968" x="146.963" y="-231.335"/>
+ <vertex index="2969" x="161.418" y="-248.889"/>
+ <vertex index="2970" x="150.138" y="-231.165"/>
+ <vertex index="2971" x="162.156" y="-245.965"/>
+ <vertex index="2972" x="181.162" y="-237.428"/>
+ <vertex index="2973" x="117.673" y="-77.8869"/>
+ <vertex index="2974" x="117.087" y="-82.8841"/>
+ <vertex index="2975" x="84.1967" y="-83.6147"/>
+ <vertex index="2976" x="111.006" y="-77.3982"/>
+ <vertex index="2977" x="96.2484" y="-69.0906"/>
+ <vertex index="2978" x="96.9909" y="-75.3064"/>
+ <vertex index="2979" x="44.1994" y="-124.306"/>
+ <vertex index="2980" x="43.8083" y="-127.545"/>
+ <vertex index="2981" x="47.0302" y="-129.423"/>
+ <vertex index="2982" x="49.1848" y="-121.443"/>
+ <vertex index="2983" x="47.0572" y="-123.381"/>
+ <vertex index="2984" x="51.0494" y="-125.628"/>
+ <vertex index="2985" x="54.0487" y="-123.582"/>
+ <vertex index="2986" x="52.6405" y="-128.712"/>
+ <vertex index="2987" x="54.8156" y="-126.551"/>
+ <vertex index="2988" x="53.8681" y="-177.822"/>
+ <vertex index="2989" x="53.4998" y="-169.241"/>
+ <vertex index="2990" x="52.5982" y="-163.401"/>
+ <vertex index="2991" x="47.0856" y="-164.422"/>
+ <vertex index="2992" x="51.1308" y="-184.891"/>
+ <vertex index="2993" x="47.3538" y="-188.697"/>
+ <vertex index="2994" x="53.4296" y="-187.157"/>
+ <vertex index="2995" x="50.8502" y="-189.736"/>
+ <vertex index="2996" x="48.3679" y="-185.927"/>
+ <vertex index="2997" x="70.9305" y="-178.041"/>
+ <vertex index="2998" x="61.5589" y="-169.673"/>
+ <vertex index="2999" x="57.599" y="-168.156"/>
+ <vertex index="3000" x="61.6651" y="-163.469"/>
+ <vertex index="3001" x="58.7388" y="-165.037"/>
+ <vertex index="3002" x="63.4436" y="-166.602"/>
+ <vertex index="3003" x="65.43" y="-163.403"/>
+ <vertex index="3004" x="62.923" y="-191.553"/>
+ <vertex index="3005" x="60.8629" y="-185.683"/>
+ <vertex index="3006" x="57.4344" y="-187.997"/>
+ <vertex index="3007" x="73.5503" y="-205.553"/>
+ <vertex index="3008" x="53.8633" y="-193.359"/>
+ <vertex index="3009" x="79.4761" y="-213.41"/>
+ <vertex index="3010" x="78.3969" y="-210.313"/>
+ <vertex index="3011" x="73.6055" y="-210.405"/>
+ <vertex index="3012" x="73.5391" y="-213.724"/>
+ <vertex index="3013" x="112.15" y="-221.793"/>
+ <vertex index="3014" x="106.865" y="-223.728"/>
+ <vertex index="3015" x="119.639" y="-228.518"/>
+ <vertex index="3016" x="63.1338" y="-151.109"/>
+ <vertex index="3017" x="61.8664" y="-147.287"/>
+ <vertex index="3018" x="59.2697" y="-145.139"/>
+ <vertex index="3019" x="56.434" y="-156.093"/>
+ <vertex index="3020" x="58.1425" y="-160.422"/>
+ <vertex index="3021" x="55.3398" y="-159.026"/>
+ <vertex index="3022" x="62.3441" y="-159.124"/>
+ <vertex index="3023" x="61.6891" y="-155.013"/>
+ <vertex index="3024" x="64.7189" y="-160.664"/>
+ <vertex index="3025" x="64.3167" y="-156.68"/>
+ <vertex index="3026" x="58.7612" y="-154.09"/>
+ <vertex index="3027" x="55.5103" y="-151.891"/>
+ <vertex index="3028" x="56.805" y="-148.533"/>
+ <vertex index="3029" x="52.4984" y="-153.14"/>
+ <vertex index="3030" x="59.4424" y="-157.407"/>
+ <vertex index="3031" x="221.542" y="-376.413"/>
+ <vertex index="3032" x="224.361" y="-377.885"/>
+ <vertex index="3033" x="222.222" y="-372.713"/>
+ <vertex index="3034" x="185.04" y="-249.41"/>
+ <vertex index="3035" x="191.829" y="-262.398"/>
+ <vertex index="3036" x="188.598" y="-267.535"/>
+ <vertex index="3037" x="191.546" y="-265.804"/>
+ <vertex index="3038" x="191.734" y="-269.499"/>
+ <vertex index="3039" x="203.924" y="-268.514"/>
+ <vertex index="3040" x="201.235" y="-273.79"/>
+ <vertex index="3041" x="198.7" y="-276.227"/>
+ <vertex index="3042" x="204.418" y="-272.089"/>
+ <vertex index="3043" x="196.564" y="-271.468"/>
+ <vertex index="3044" x="204.475" y="-276.026"/>
+ <vertex index="3045" x="208.792" y="-274.701"/>
+ <vertex index="3046" x="201.611" y="-276.806"/>
+ <vertex index="3047" x="212.962" y="-267.527"/>
+ <vertex index="3048" x="215.75" y="-268.904"/>
+ <vertex index="3049" x="172.318" y="-246.172"/>
+ <vertex index="3050" x="152.713" y="-244.337"/>
+ <vertex index="3051" x="146.159" y="-242.653"/>
+ <vertex index="3052" x="149.193" y="-244.443"/>
+ <vertex index="3053" x="146.193" y="-246.061"/>
+ <vertex index="3054" x="139.396" y="-244.423"/>
+ <vertex index="3055" x="142.393" y="-246.907"/>
+ <vertex index="3056" x="142.749" y="-243.428"/>
+ <vertex index="3057" x="139.03" y="-247.915"/>
+ <vertex index="3058" x="141.809" y="-250.686"/>
+ <vertex index="3059" x="143.166" y="-237.373"/>
+ <vertex index="3060" x="133.616" y="-245.582"/>
+ <vertex index="3061" x="143.869" y="-240.464"/>
+ <vertex index="3062" x="148.302" y="-238.118"/>
+ <vertex index="3063" x="148.725" y="-234.511"/>
+ <vertex index="3064" x="135.485" y="-248.694"/>
+ <vertex index="3065" x="145.158" y="-234.413"/>
+ <vertex index="3066" x="136.678" y="-245.86"/>
+ <vertex index="3067" x="135.615" y="-240.557"/>
+ <vertex index="3068" x="139.733" y="-239.779"/>
+ <vertex index="3069" x="131.477" y="-248.985"/>
+ <vertex index="3070" x="139.303" y="-235.512"/>
+ <vertex index="3071" x="130.344" y="-245.899"/>
+ <vertex index="3072" x="130.5" y="-252.5"/>
+ <vertex index="3073" x="133.643" y="-251.066"/>
+ <vertex index="3074" x="142.143" y="-234.497"/>
+ <vertex index="3075" x="134.465" y="-230.811"/>
+ <vertex index="3076" x="137.672" y="-232.35"/>
+ <vertex index="3077" x="138.365" y="-226.797"/>
+ <vertex index="3078" x="134.513" y="-234.82"/>
+ <vertex index="3079" x="133.768" y="-237.937"/>
+ <vertex index="3080" x="130.729" y="-240.508"/>
+ <vertex index="3081" x="128.472" y="-238.426"/>
+ <vertex index="3082" x="127.006" y="-234.071"/>
+ <vertex index="3083" x="130.745" y="-232.463"/>
+ <vertex index="3084" x="121.053" y="-234.305"/>
+ <vertex index="3085" x="129.189" y="-223.948"/>
+ <vertex index="3086" x="124.079" y="-235.432"/>
+ <vertex index="3087" x="121.327" y="-238.195"/>
+ <vertex index="3088" x="130.997" y="-228.017"/>
+ <vertex index="3089" x="134.624" y="-227.064"/>
+ <vertex index="3090" x="135.902" y="-218.633"/>
+ <vertex index="3091" x="136.213" y="-222.993"/>
+ <vertex index="3092" x="125.311" y="-228.107"/>
+ <vertex index="3093" x="123.778" y="-231.616"/>
+ <vertex index="3094" x="144.671" y="-220.72"/>
+ <vertex index="3095" x="132.375" y="-221.076"/>
+ <vertex index="3096" x="128.134" y="-226.852"/>
+ <vertex index="3097" x="127.745" y="-230.638"/>
+ <vertex index="3098" x="140.735" y="-222.946"/>
+ <vertex index="3099" x="132.518" y="-224.438"/>
+ <vertex index="3100" x="131.894" y="-216.613"/>
+ <vertex index="3101" x="128.169" y="-219.613"/>
+ <vertex index="3102" x="143.302" y="-227.181"/>
+ <vertex index="3103" x="140.641" y="-218.187"/>
+ <vertex index="3104" x="136.536" y="-212.388"/>
+ <vertex index="3105" x="128.628" y="-215.751"/>
+ <vertex index="3106" x="123.97" y="-220.264"/>
+ <vertex index="3107" x="143.889" y="-223.93"/>
+ <vertex index="3108" x="147.996" y="-226.349"/>
+ <vertex index="3109" x="133.232" y="-213.421"/>
+ <vertex index="3110" x="133.982" y="-210.017"/>
+ <vertex index="3111" x="137.398" y="-208.898"/>
+ <vertex index="3112" x="131.301" y="-208.062"/>
+ <vertex index="3113" x="141.862" y="-211.851"/>
+ <vertex index="3114" x="121.398" y="-224.178"/>
+ <vertex index="3115" x="125.297" y="-224.179"/>
+ <vertex index="3116" x="117.663" y="-223.083"/>
+ <vertex index="3117" x="122.387" y="-227.106"/>
+ <vertex index="3118" x="153.073" y="-237.013"/>
+ <vertex index="3119" x="155.878" y="-250.337"/>
+ <vertex index="3120" x="154.744" y="-247.101"/>
+ <vertex index="3121" x="158.322" y="-247.095"/>
+ <vertex index="3122" x="180.182" y="-234.518"/>
+ <vertex index="3123" x="178.168" y="-237.275"/>
+ <vertex index="3124" x="187.59" y="-236.732"/>
+ <vertex index="3125" x="47.2414" y="-132.335"/>
+ <vertex index="3126" x="50.6255" y="-168.261"/>
+ <vertex index="3127" x="51.4008" y="-171.715"/>
+ <vertex index="3128" x="49.6303" y="-174.848"/>
+ <vertex index="3129" x="55.0312" y="-171.923"/>
+ <vertex index="3130" x="44.5291" y="-186.234"/>
+ <vertex index="3131" x="42.9105" y="-182.449"/>
+ <vertex index="3132" x="41.0895" y="-185.628"/>
+ <vertex index="3133" x="39.9736" y="-181.7"/>
+ <vertex index="3134" x="44.7832" y="-190.73"/>
+ <vertex index="3135" x="67.6882" y="-161.469"/>
+ <vertex index="3136" x="107.272" y="-220.883"/>
+ <vertex index="3137" x="104.327" y="-222.033"/>
+ <vertex index="3138" x="103.719" y="-229.028"/>
+ <vertex index="3139" x="108.702" y="-227.075"/>
+ <vertex index="3140" x="105.634" y="-226.581"/>
+ <vertex index="3141" x="115.096" y="-227.919"/>
+ <vertex index="3142" x="115.495" y="-233.518"/>
+ <vertex index="3143" x="117.638" y="-226.169"/>
+ <vertex index="3144" x="117.054" y="-230.593"/>
+ <vertex index="3145" x="188.005" y="-255.082"/>
+ <vertex index="3146" x="181.973" y="-243.784"/>
+ <vertex index="3147" x="199.717" y="-270.984"/>
+ <vertex index="3148" x="196.769" y="-267.68"/>
+ <vertex index="3149" x="172.902" y="-241.85"/>
+ <vertex index="3150" x="169.418" y="-243.58"/>
+ <vertex index="3151" x="167.522" y="-250.153"/>
+ <vertex index="3152" x="168.962" y="-247.008"/>
+ <vertex index="3153" x="149.406" y="-241.188"/>
+ <vertex index="3154" x="133.152" y="-242.488"/>
+ <vertex index="3155" x="140.702" y="-228.68"/>
+ <vertex index="3156" x="143.995" y="-230.261"/>
+ <vertex index="3157" x="138.479" y="-220.61"/>
+ <vertex index="3158" x="138.016" y="-215.693"/>
+ <vertex index="3159" x="144.99" y="-215.74"/>
+ <vertex index="3160" x="145.138" y="-208.031"/>
+ <vertex index="3161" x="148.263" y="-209.35"/>
+ <vertex index="3162" x="159.046" y="-251.137"/>
+ <vertex index="3163" x="184.229" y="-235.728"/>
+ <vertex index="3164" x="184.705" y="-240.205"/>
+ <vertex index="3165" x="186.882" y="-232.976"/>
+ <vertex index="3166" x="181.527" y="-240.611"/>
+ <vertex index="3167" x="186.927" y="-244.733"/>
+ <vertex index="3168" x="184.687" y="-243.023"/>
+ <vertex index="3169" x="189.052" y="-240.881"/>
+ <vertex index="3170" x="192.667" y="-245.388"/>
+ <vertex index="3171" x="194.639" y="-236.58"/>
+ <vertex index="3172" x="189.932" y="-243.879"/>
+ <vertex index="3173" x="191.139" y="-237.813"/>
+ <vertex index="3174" x="194.273" y="-241.123"/>
+ <vertex index="3175" x="191.785" y="-234.063"/>
+ <vertex index="3176" x="195.746" y="-232.448"/>
+ <vertex index="3177" x="196.034" y="-244.22"/>
+ <vertex index="3178" x="202.091" y="-241.827"/>
+ <vertex index="3179" x="198.232" y="-240.921"/>
+ <vertex index="3180" x="199.547" y="-243.992"/>
+ <vertex index="3181" x="203.411" y="-245.954"/>
+ <vertex index="3182" x="201.033" y="-237.659"/>
+ <vertex index="3183" x="206.36" y="-246.547"/>
+ <vertex index="3184" x="193.152" y="-230.597"/>
+ <vertex index="3185" x="205.348" y="-243.06"/>
+ <vertex index="3186" x="204.816" y="-239.548"/>
+ <vertex index="3187" x="202.5" y="-234"/>
+ <vertex index="3188" x="198.192" y="-235.254"/>
+ <vertex index="3189" x="197.228" y="-238.094"/>
+ <vertex index="3190" x="110.528" y="-235.349"/>
+ <vertex index="3191" x="117.912" y="-236.468"/>
+ <vertex index="3192" x="113.827" y="-238.504"/>
+ <vertex index="3193" x="113.443" y="-235.603"/>
+ <vertex index="3194" x="110.71" y="-238.46"/>
+ <vertex index="3195" x="115.215" y="-241.083"/>
+ <vertex index="3196" x="189.629" y="-258.189"/>
+ <vertex index="3197" x="192.247" y="-254.843"/>
+ <vertex index="3198" x="194.659" y="-250.515"/>
+ <vertex index="3199" x="163.883" y="-252.357"/>
+ <vertex index="3200" x="166.176" y="-261.808"/>
+ <vertex index="3201" x="163.97" y="-257.34"/>
+ <vertex index="3202" x="141.779" y="-215.121"/>
+ <vertex index="3203" x="143.479" y="-218.143"/>
+ <vertex index="3204" x="148.928" y="-218.493"/>
+ <vertex index="3205" x="152.042" y="-215.919"/>
+ <vertex index="3206" x="143.188" y="-205.567"/>
+ <vertex index="3207" x="142.3" y="-208.912"/>
+ <vertex index="3208" x="146.921" y="-205.465"/>
+ <vertex index="3209" x="145.621" y="-212.03"/>
+ <vertex index="3210" x="184.06" y="-246.295"/>
+ <vertex index="3211" x="178.159" y="-249.074"/>
+ <vertex index="3212" x="181.622" y="-248.774"/>
+ <vertex index="3213" x="180.528" y="-256.264"/>
+ <vertex index="3214" x="182.651" y="-252.749"/>
+ <vertex index="3215" x="178.828" y="-252.839"/>
+ <vertex index="3216" x="173.107" y="-251.914"/>
+ <vertex index="3217" x="176.129" y="-251.377"/>
+ <vertex index="3218" x="175.386" y="-255.97"/>
+ <vertex index="3219" x="170.729" y="-249.719"/>
+ <vertex index="3220" x="184.345" y="-256.17"/>
+ <vertex index="3221" x="182.571" y="-261.719"/>
+ <vertex index="3222" x="182.496" y="-258.637"/>
+ <vertex index="3223" x="178.09" y="-260.287"/>
+ <vertex index="3224" x="185.917" y="-252.562"/>
+ <vertex index="3225" x="189.872" y="-249.763"/>
+ <vertex index="3226" x="169.662" y="-256.519"/>
+ <vertex index="3227" x="169.542" y="-253.016"/>
+ <vertex index="3228" x="166.519" y="-254.873"/>
+ <vertex index="3229" x="177.883" y="-257.411"/>
+ <vertex index="3230" x="177.68" y="-269.294"/>
+ <vertex index="3231" x="190.004" y="-252.797"/>
+ <vertex index="3232" x="172.403" y="-254.978"/>
+ <vertex index="3233" x="179.102" y="-264.846"/>
+ <vertex index="3234" x="172.5" y="-263.919"/>
+ <vertex index="3235" x="183.169" y="-268.597"/>
+ <vertex index="3236" x="175.974" y="-263.148"/>
+ <vertex index="3237" x="173.396" y="-259.746"/>
+ <vertex index="3238" x="174.949" y="-266.742"/>
+ <vertex index="3239" x="169.782" y="-268.751"/>
+ <vertex index="3240" x="182.552" y="-265.186"/>
+ <vertex index="3241" x="185.561" y="-263.469"/>
+ <vertex index="3242" x="180.262" y="-267.668"/>
+ <vertex index="3243" x="169.9" y="-261.178"/>
+ <vertex index="3244" x="168.622" y="-264.946"/>
+ <vertex index="3245" x="163.845" y="-266.147"/>
+ <vertex index="3246" x="106.989" y="-232.333"/>
+ <vertex index="3247" x="109.803" y="-232.615"/>
+ <vertex index="3248" x="103.026" y="-232.984"/>
+ <vertex index="3249" x="106.765" y="-236.18"/>
+ <vertex index="3250" x="100.222" y="-230.454"/>
+ <vertex index="3251" x="100.5" y="-235.5"/>
+ <vertex index="3252" x="96.967" y="-230.883"/>
+ <vertex index="3253" x="197.221" y="-252.163"/>
+ <vertex index="3254" x="195.079" y="-247.401"/>
+ <vertex index="3255" x="158.139" y="-260.675"/>
+ <vertex index="3256" x="148.26" y="-222.397"/>
+ <vertex index="3257" x="151.372" y="-224.589"/>
+ <vertex index="3258" x="148.157" y="-215.403"/>
+ <vertex index="3259" x="187.593" y="-247.72"/>
+ <vertex index="3260" x="167.056" y="-258.595"/>
+ <vertex index="3261" x="181.135" y="-274.548"/>
+ <vertex index="3262" x="186.591" y="-271.684"/>
+ <vertex index="3263" x="186.038" y="-268.857"/>
+ <vertex index="3264" x="183.25" y="-271.948"/>
+ <vertex index="3265" x="180.045" y="-271.502"/>
+ <vertex index="3266" x="175.95" y="-273.517"/>
+ <vertex index="3267" x="187.198" y="-277.235"/>
+ <vertex index="3268" x="184.505" y="-275.128"/>
+ <vertex index="3269" x="182.146" y="-278.757"/>
+ <vertex index="3270" x="171.936" y="-273.108"/>
+ <vertex index="3271" x="174.198" y="-270.283"/>
+ <vertex index="3272" x="176.444" y="-276.927"/>
+ <vertex index="3273" x="188.152" y="-274.322"/>
+ <vertex index="3274" x="185.371" y="-280.315"/>
+ <vertex index="3275" x="186.924" y="-284.076"/>
+ <vertex index="3276" x="179.513" y="-277.163"/>
+ <vertex index="3277" x="189.683" y="-285.429"/>
+ <vertex index="3278" x="166.634" y="-270.609"/>
+ <vertex index="3279" x="161.28" y="-268.2"/>
+ <vertex index="3280" x="160.207" y="-264.23"/>
+ <vertex index="3281" x="163.182" y="-262.996"/>
+ <vertex index="3282" x="156.536" y="-263.986"/>
+ <vertex index="3283" x="160.389" y="-257.843"/>
+ <vertex index="3284" x="191.275" y="-277.775"/>
+ <vertex index="3285" x="166.714" y="-267.457"/>
+ <vertex index="3286" x="85.4091" y="-442.318"/>
+ <vertex index="3287" x="185.5" y="-145.7"/>
+ <vertex index="3288" x="120.314" y="-467.667"/>
+ <vertex index="3289" x="119.939" y="-470.717"/>
+ <vertex index="3290" x="123.463" y="-467.878"/>
+ <vertex index="3291" x="51.7962" y="-373.522"/>
+ <vertex index="3292" x="59.0293" y="-338.342"/>
+ <vertex index="3293" x="156.463" y="-399.28"/>
+ <vertex index="3294" x="160.228" y="-398.536"/>
+ <vertex index="3295" x="157.849" y="-396.39"/>
+ <vertex index="3296" x="153.531" y="-400.118"/>
+ <vertex index="3297" x="156.64" y="-402.488"/>
+ <vertex index="3298" x="180.61" y="-112.893"/>
+ <vertex index="3299" x="166.21" y="-63.9311"/>
+ <vertex index="3300" x="37.2115" y="-99.9306"/>
+ <vertex index="3301" x="35.1398" y="-103.688"/>
+ <vertex index="3302" x="141.947" y="-363.2"/>
+ <vertex index="3303" x="148.931" y="-250.789"/>
+ <vertex index="3304" x="152.599" y="-253.556"/>
+ <vertex index="3305" x="155.973" y="-256.645"/>
+ <vertex index="3306" x="152.618" y="-250.295"/>
+ <vertex index="3307" x="155.757" y="-253.494"/>
+ <vertex index="3308" x="151.424" y="-258.227"/>
+ <vertex index="3309" x="153.834" y="-261.236"/>
+ <vertex index="3310" x="150.5" y="-263.5"/>
+ <vertex index="3311" x="138.929" y="-203.419"/>
+ <vertex index="3312" x="137.195" y="-205.888"/>
+ <vertex index="3313" x="141.914" y="-202.477"/>
+ <vertex index="3314" x="64.8757" y="-128.02"/>
+ <vertex index="3315" x="194.29" y="-274.063"/>
+ <vertex index="3316" x="101.091" y="-226.728"/>
+ <vertex index="3317" x="177.427" y="-244.527"/>
+ <vertex index="3318" x="180.027" y="-246.154"/>
+ <vertex index="3319" x="178.941" y="-242.007"/>
+ <vertex index="3320" x="174.525" y="-244.27"/>
+ </vertices>
+ <cells size="6156">
+ <triangle index="0" v0="230" v1="231" v2="447"/>
+ <triangle index="1" v0="494" v1="608" v2="610"/>
+ <triangle index="2" v0="209" v1="613" v2="615"/>
+ <triangle index="3" v0="229" v1="230" v2="448"/>
+ <triangle index="4" v0="229" v1="448" v2="449"/>
+ <triangle index="5" v0="2946" v1="2948" v2="2950"/>
+ <triangle index="6" v0="246" v1="247" v2="456"/>
+ <triangle index="7" v0="263" v1="447" v2="448"/>
+ <triangle index="8" v0="64" v1="1232" v2="1233"/>
+ <triangle index="9" v0="262" v1="447" v2="454"/>
+ <triangle index="10" v0="233" v1="234" v2="452"/>
+ <triangle index="11" v0="261" v1="452" v2="453"/>
+ <triangle index="12" v0="838" v1="839" v2="840"/>
+ <triangle index="13" v0="400" v1="1465" v2="2015"/>
+ <triangle index="14" v0="261" v1="453" v2="454"/>
+ <triangle index="15" v0="233" v1="452" v2="453"/>
+ <triangle index="16" v0="234" v1="235" v2="455"/>
+ <triangle index="17" v0="259" v1="455" v2="458"/>
+ <triangle index="18" v0="261" v1="262" v2="454"/>
+ <triangle index="19" v0="260" v1="261" v2="452"/>
+ <triangle index="20" v0="231" v1="447" v2="454"/>
+ <triangle index="21" v0="1997" v1="1998" v2="2001"/>
+ <triangle index="22" v0="451" v1="522" v2="734"/>
+ <triangle index="23" v0="1565" v1="1570" v2="1572"/>
+ <triangle index="24" v0="449" v1="451" v2="522"/>
+ <triangle index="25" v0="226" v1="524" v2="735"/>
+ <triangle index="26" v0="528" v1="732" v2="735"/>
+ <triangle index="27" v0="252" v1="456" v2="467"/>
+ <triangle index="28" v0="266" v1="527" v2="732"/>
+ <triangle index="29" v0="1845" v1="2414" v2="2703"/>
+ <triangle index="30" v0="241" v1="242" v2="471"/>
+ <triangle index="31" v0="221" v1="222" v2="473"/>
+ <triangle index="32" v0="251" v1="252" v2="456"/>
+ <triangle index="33" v0="225" v1="226" v2="524"/>
+ <triangle index="34" v0="650" v1="3052" v2="3053"/>
+ <triangle index="35" v0="236" v1="458" v2="464"/>
+ <triangle index="36" v0="41" v1="433" v2="442"/>
+ <triangle index="37" v0="228" v1="449" v2="451"/>
+ <triangle index="38" v0="432" v1="446" v2="698"/>
+ <triangle index="39" v0="235" v1="455" v2="458"/>
+ <triangle index="40" v0="249" v1="250" v2="434"/>
+ <triangle index="41" v0="247" v1="435" v2="456"/>
+ <triangle index="42" v0="24" v1="25" v2="441"/>
+ <triangle index="43" v0="23" v1="24" v2="439"/>
+ <triangle index="44" v0="238" v1="239" v2="459"/>
+ <triangle index="45" v0="248" v1="249" v2="434"/>
+ <triangle index="46" v0="256" v1="257" v2="459"/>
+ <triangle index="47" v0="258" v1="458" v2="464"/>
+ <triangle index="48" v0="21" v1="41" v2="433"/>
+ <triangle index="49" v0="532" v1="754" v2="755"/>
+ <triangle index="50" v0="3119" v1="3120" v2="3121"/>
+ <triangle index="51" v0="237" v1="460" v2="464"/>
+ <triangle index="52" v0="298" v1="737" v2="765"/>
+ <triangle index="53" v0="1527" v1="1528" v2="1529"/>
+ <triangle index="54" v0="589" v1="2038" v2="2040"/>
+ <triangle index="55" v0="297" v1="298" v2="737"/>
+ <triangle index="56" v0="1354" v1="1960" v2="2487"/>
+ <triangle index="57" v0="184" v1="818" v2="819"/>
+ <triangle index="58" v0="1752" v1="1757" v2="1759"/>
+ <triangle index="59" v0="1960" v1="1961" v2="1963"/>
+ <triangle index="60" v0="897" v1="901" v2="903"/>
+ <triangle index="61" v0="189" v1="190" v2="738"/>
+ <triangle index="62" v0="301" v1="755" v2="757"/>
+ <triangle index="63" v0="606" v1="619" v2="1051"/>
+ <triangle index="64" v0="302" v1="303" v2="754"/>
+ <triangle index="65" v0="605" v1="616" v2="620"/>
+ <triangle index="66" v0="743" v1="749" v2="770"/>
+ <triangle index="67" v0="534" v1="775" v2="776"/>
+ <triangle index="68" v0="231" v1="232" v2="454"/>
+ <triangle index="69" v0="739" v1="742" v2="743"/>
+ <triangle index="70" v0="187" v1="188" v2="750"/>
+ <triangle index="71" v0="533" v1="760" v2="762"/>
+ <triangle index="72" v0="494" v1="604" v2="1044"/>
+ <triangle index="73" v0="751" v1="753" v2="777"/>
+ <triangle index="74" v0="190" v1="744" v2="745"/>
+ <triangle index="75" v0="419" v1="420" v2="1591"/>
+ <triangle index="76" v0="566" v1="1265" v2="1912"/>
+ <triangle index="77" v0="287" v1="288" v2="798"/>
+ <triangle index="78" v0="554" v1="557" v2="562"/>
+ <triangle index="79" v0="291" v1="782" v2="1387"/>
+ <triangle index="80" v0="211" v1="212" v2="555"/>
+ <triangle index="81" v0="237" v1="238" v2="460"/>
+ <triangle index="82" v0="535" v1="782" v2="783"/>
+ <triangle index="83" v0="276" v1="559" v2="560"/>
+ <triangle index="84" v0="783" v1="1377" v2="1378"/>
+ <triangle index="85" v0="476" v1="553" v2="562"/>
+ <triangle index="86" v0="236" v1="237" v2="464"/>
+ <triangle index="87" v0="535" v1="783" v2="1379"/>
+ <triangle index="88" v0="189" v1="741" v2="3291"/>
+ <triangle index="89" v0="191" v1="747" v2="1351"/>
+ <triangle index="90" v0="190" v1="738" v2="744"/>
+ <triangle index="91" v0="243" v1="469" v2="470"/>
+ <triangle index="92" v0="174" v1="809" v2="810"/>
+ <triangle index="93" v0="1384" v1="1977" v2="1978"/>
+ <triangle index="94" v0="520" v1="689" v2="1269"/>
+ <triangle index="95" v0="191" v1="745" v2="1353"/>
+ <triangle index="96" v0="220" v1="221" v2="540"/>
+ <triangle index="97" v0="291" v1="292" v2="1387"/>
+ <triangle index="98" v0="290" v1="291" v2="782"/>
+ <triangle index="99" v0="1359" v1="1385" v2="1966"/>
+ <triangle index="100" v0="217" v1="552" v2="789"/>
+ <triangle index="101" v0="2735" v1="2736" v2="2738"/>
+ <triangle index="102" v0="213" v1="553" v2="564"/>
+ <triangle index="103" v0="582" v1="875" v2="880"/>
+ <triangle index="104" v0="457" v1="524" v2="525"/>
+ <triangle index="105" v0="509" v1="1238" v2="1239"/>
+ <triangle index="106" v0="568" v1="795" v2="1395"/>
+ <triangle index="107" v0="222" v1="223" v2="536"/>
+ <triangle index="108" v0="525" v1="526" v2="538"/>
+ <triangle index="109" v0="246" v1="456" v2="467"/>
+ <triangle index="110" v0="268" v1="465" v2="536"/>
+ <triangle index="111" v0="465" v1="536" v2="539"/>
+ <triangle index="112" v0="930" v1="932" v2="934"/>
+ <triangle index="113" v0="813" v1="1709" v2="1712"/>
+ <triangle index="114" v0="495" v1="615" v2="620"/>
+ <triangle index="115" v0="182" v1="183" v2="823"/>
+ <triangle index="116" v0="283" v1="284" v2="445"/>
+ <triangle index="117" v0="252" v1="253" v2="466"/>
+ <triangle index="118" v0="248" v1="251" v2="434"/>
+ <triangle index="119" v0="430" v1="712" v2="717"/>
+ <triangle index="120" v0="253" v1="254" v2="469"/>
+ <triangle index="121" v0="493" v1="554" v2="557"/>
+ <triangle index="122" v0="241" v1="255" v2="471"/>
+ <triangle index="123" v0="254" v1="470" v2="471"/>
+ <triangle index="124" v0="243" v1="244" v2="469"/>
+ <triangle index="125" v0="253" v1="466" v2="468"/>
+ <triangle index="126" v0="245" v1="466" v2="467"/>
+ <triangle index="127" v0="241" v1="255" v2="472"/>
+ <triangle index="128" v0="269" v1="473" v2="537"/>
+ <triangle index="129" v0="517" v1="677" v2="678"/>
+ <triangle index="130" v0="221" v1="473" v2="540"/>
+ <triangle index="131" v0="2969" v1="3162" v2="3199"/>
+ <triangle index="132" v0="474" v1="540" v2="543"/>
+ <triangle index="133" v0="83" v1="84" v2="1522"/>
+ <triangle index="134" v0="542" v1="785" v2="787"/>
+ <triangle index="135" v0="1156" v1="1164" v2="1784"/>
+ <triangle index="136" v0="546" v1="547" v2="791"/>
+ <triangle index="137" v0="271" v1="543" v2="787"/>
+ <triangle index="138" v0="1190" v1="1208" v2="1209"/>
+ <triangle index="139" v0="474" v1="540" v2="541"/>
+ <triangle index="140" v0="2943" v1="2944" v2="2945"/>
+ <triangle index="141" v0="600" v1="1029" v2="1031"/>
+ <triangle index="142" v0="515" v1="662" v2="663"/>
+ <triangle index="143" v0="242" v1="470" v2="471"/>
+ <triangle index="144" v0="1069" v1="1633" v2="1634"/>
+ <triangle index="145" v0="1678" v1="1681" v2="1685"/>
+ <triangle index="146" v0="342" v1="343" v2="1141"/>
+ <triangle index="147" v0="565" v1="3288" v2="3290"/>
+ <triangle index="148" v0="648" v1="1226" v2="1230"/>
+ <triangle index="149" v0="212" v1="213" v2="553"/>
+ <triangle index="150" v0="544" v1="545" v2="788"/>
+ <triangle index="151" v0="127" v1="128" v2="1181"/>
+ <triangle index="152" v0="272" v1="548" v2="549"/>
+ <triangle index="153" v0="285" v1="286" v2="1269"/>
+ <triangle index="154" v0="546" v1="789" v2="790"/>
+ <triangle index="155" v0="269" v1="270" v2="473"/>
+ <triangle index="156" v0="108" v1="109" v2="1844"/>
+ <triangle index="157" v0="697" v1="700" v2="703"/>
+ <triangle index="158" v0="272" v1="273" v2="548"/>
+ <triangle index="159" v0="239" v1="240" v2="3286"/>
+ <triangle index="160" v0="475" v1="790" v2="3289"/>
+ <triangle index="161" v0="218" v1="551" v2="552"/>
+ <triangle index="162" v0="219" v1="541" v2="785"/>
+ <triangle index="163" v0="268" v1="536" v2="537"/>
+ <triangle index="164" v0="198" v1="566" v2="792"/>
+ <triangle index="165" v0="223" v1="224" v2="539"/>
+ <triangle index="166" v0="255" v1="256" v2="472"/>
+ <triangle index="167" v0="286" v1="794" v2="1271"/>
+ <triangle index="168" v0="485" v1="2742" v2="3301"/>
+ <triangle index="169" v0="568" v1="795" v2="1393"/>
+ <triangle index="170" v0="546" v1="789" v2="791"/>
+ <triangle index="171" v0="569" v1="797" v2="1377"/>
+ <triangle index="172" v0="278" v1="279" v2="617"/>
+ <triangle index="173" v0="286" v1="287" v2="794"/>
+ <triangle index="174" v0="571" v1="801" v2="1986"/>
+ <triangle index="175" v0="577" v1="778" v2="818"/>
+ <triangle index="176" v0="146" v1="2343" v2="2651"/>
+ <triangle index="177" v0="89" v1="90" v2="1558"/>
+ <triangle index="178" v0="478" v1="799" v2="1390"/>
+ <triangle index="179" v0="326" v1="2736" v2="2738"/>
+ <triangle index="180" v0="285" v1="520" v2="683"/>
+ <triangle index="181" v0="256" v1="459" v2="3286"/>
+ <triangle index="182" v0="679" v1="685" v2="688"/>
+ <triangle index="183" v0="748" v1="749" v2="781"/>
+ <triangle index="184" v0="611" v1="612" v2="1045"/>
+ <triangle index="185" v0="566" v1="1391" v2="1912"/>
+ <triangle index="186" v0="603" v1="604" v2="1047"/>
+ <triangle index="187" v0="227" v1="528" v2="734"/>
+ <triangle index="188" v0="516" v1="676" v2="677"/>
+ <triangle index="189" v0="1056" v1="1060" v2="1062"/>
+ <triangle index="190" v0="436" v1="1058" v2="1059"/>
+ <triangle index="191" v0="186" v1="773" v2="775"/>
+ <triangle index="192" v0="224" v1="526" v2="539"/>
+ <triangle index="193" v0="10" v1="664" v2="665"/>
+ <triangle index="194" v0="607" v1="1049" v2="1052"/>
+ <triangle index="195" v0="354" v1="2354" v2="2670"/>
+ <triangle index="196" v0="367" v1="368" v2="1128"/>
+ <triangle index="197" v0="804" v1="811" v2="1402"/>
+ <triangle index="198" v0="62" v1="63" v2="511"/>
+ <triangle index="199" v0="667" v1="673" v2="1927"/>
+ <triangle index="200" v0="173" v1="804" v2="805"/>
+ <triangle index="201" v0="109" v1="110" v2="1226"/>
+ <triangle index="202" v0="2885" v1="2886" v2="2887"/>
+ <triangle index="203" v0="652" v1="1235" v2="1236"/>
+ <triangle index="204" v0="517" v1="678" v2="1264"/>
+ <triangle index="205" v0="574" v1="804" v2="811"/>
+ <triangle index="206" v0="168" v1="1757" v2="2297"/>
+ <triangle index="207" v0="445" v1="520" v2="683"/>
+ <triangle index="208" v0="225" v1="524" v2="525"/>
+ <triangle index="209" v0="327" v1="328" v2="1401"/>
+ <triangle index="210" v0="17" v1="62" v2="511"/>
+ <triangle index="211" v0="276" v1="560" v2="561"/>
+ <triangle index="212" v0="2408" v1="2410" v2="2411"/>
+ <triangle index="213" v0="254" v1="469" v2="470"/>
+ <triangle index="214" v0="1022" v1="1023" v2="2119"/>
+ <triangle index="215" v0="838" v1="841" v2="862"/>
+ <triangle index="216" v0="576" v1="814" v2="815"/>
+ <triangle index="217" v0="601" v1="1600" v2="1603"/>
+ <triangle index="218" v0="308" v1="816" v2="1422"/>
+ <triangle index="219" v0="814" v1="816" v2="1422"/>
+ <triangle index="220" v0="1680" v1="1689" v2="1696"/>
+ <triangle index="221" v0="484" v1="1492" v2="1493"/>
+ <triangle index="222" v0="304" v1="305" v2="1361"/>
+ <triangle index="223" v0="1000" v1="1001" v2="1010"/>
+ <triangle index="224" v0="568" v1="1395" v2="1983"/>
+ <triangle index="225" v0="841" v1="862" v2="863"/>
+ <triangle index="226" v0="478" v1="799" v2="1976"/>
+ <triangle index="227" v0="1439" v1="1446" v2="1447"/>
+ <triangle index="228" v0="476" v1="560" v2="562"/>
+ <triangle index="229" v0="580" v1="837" v2="839"/>
+ <triangle index="230" v0="2083" v1="2804" v2="2808"/>
+ <triangle index="231" v0="567" v1="1271" v2="1389"/>
+ <triangle index="232" v0="493" v1="558" v2="618"/>
+ <triangle index="233" v0="476" v1="563" v2="565"/>
+ <triangle index="234" v0="482" v1="837" v2="842"/>
+ <triangle index="235" v0="1500" v1="2045" v2="2046"/>
+ <triangle index="236" v0="303" v1="754" v2="772"/>
+ <triangle index="237" v0="1410" v1="1412" v2="1418"/>
+ <triangle index="238" v0="577" v1="818" v2="822"/>
+ <triangle index="239" v0="283" v1="1060" v2="1062"/>
+ <triangle index="240" v0="836" v1="845" v2="846"/>
+ <triangle index="241" v0="549" v1="551" v2="552"/>
+ <triangle index="242" v0="826" v1="843" v2="1434"/>
+ <triangle index="243" v0="263" v1="448" v2="450"/>
+ <triangle index="244" v0="580" v1="835" v2="836"/>
+ <triangle index="245" v0="443" v1="445" v2="520"/>
+ <triangle index="246" v0="823" v1="828" v2="3292"/>
+ <triangle index="247" v0="251" v1="435" v2="456"/>
+ <triangle index="248" v0="226" v1="735" v2="736"/>
+ <triangle index="249" v0="315" v1="316" v2="856"/>
+ <triangle index="250" v0="557" v1="559" v2="560"/>
+ <triangle index="251" v0="271" v1="272" v2="550"/>
+ <triangle index="252" v0="211" v1="555" v2="556"/>
+ <triangle index="253" v0="2084" v1="2547" v2="2829"/>
+ <triangle index="254" v0="223" v1="536" v2="539"/>
+ <triangle index="255" v0="315" v1="844" v2="856"/>
+ <triangle index="256" v0="2063" v1="2067" v2="2068"/>
+ <triangle index="257" v0="212" v1="553" v2="554"/>
+ <triangle index="258" v0="534" v1="773" v2="774"/>
+ <triangle index="259" v0="273" v1="545" v2="547"/>
+ <triangle index="260" v0="836" v1="844" v2="860"/>
+ <triangle index="261" v0="2805" v1="2811" v2="2813"/>
+ <triangle index="262" v0="2567" v1="2569" v2="3010"/>
+ <triangle index="263" v0="306" v1="307" v2="814"/>
+ <triangle index="264" v0="303" v1="772" v2="1362"/>
+ <triangle index="265" v0="1527" v1="1529" v2="1532"/>
+ <triangle index="266" v0="2800" v1="2802" v2="2803"/>
+ <triangle index="267" v0="84" v1="1522" v2="1523"/>
+ <triangle index="268" v0="392" v1="929" v2="936"/>
+ <triangle index="269" v0="395" v1="917" v2="920"/>
+ <triangle index="270" v0="584" v1="917" v2="918"/>
+ <triangle index="271" v0="394" v1="917" v2="1454"/>
+ <triangle index="272" v0="834" v1="835" v2="837"/>
+ <triangle index="273" v0="394" v1="395" v2="917"/>
+ <triangle index="274" v0="1499" v1="2038" v2="2530"/>
+ <triangle index="275" v0="2122" v1="2123" v2="2126"/>
+ <triangle index="276" v0="203" v1="609" v2="676"/>
+ <triangle index="277" v0="398" v1="1458" v2="2012"/>
+ <triangle index="278" v0="397" v1="398" v2="1458"/>
+ <triangle index="279" v0="493" v1="618" v2="621"/>
+ <triangle index="280" v0="495" v1="618" v2="621"/>
+ <triangle index="281" v0="1466" v1="1467" v2="1468"/>
+ <triangle index="282" v0="1118" v1="3293" v2="3296"/>
+ <triangle index="283" v0="398" v1="399" v2="2011"/>
+ <triangle index="284" v0="396" v1="1455" v2="1456"/>
+ <triangle index="285" v0="623" v1="1065" v2="1655"/>
+ <triangle index="286" v0="402" v1="1463" v2="1464"/>
+ <triangle index="287" v0="613" v1="614" v2="621"/>
+ <triangle index="288" v0="395" v1="920" v2="1456"/>
+ <triangle index="289" v0="603" v1="606" v2="1050"/>
+ <triangle index="290" v0="588" v1="932" v2="935"/>
+ <triangle index="291" v0="1366" v1="1368" v2="1370"/>
+ <triangle index="292" v0="404" v1="922" v2="924"/>
+ <triangle index="293" v0="1500" v1="2056" v2="2058"/>
+ <triangle index="294" v0="407" v1="942" v2="945"/>
+ <triangle index="295" v0="181" v1="875" v2="877"/>
+ <triangle index="296" v0="1100" v1="1107" v2="1120"/>
+ <triangle index="297" v0="1516" v1="1519" v2="1521"/>
+ <triangle index="298" v0="589" v1="2038" v2="2044"/>
+ <triangle index="299" v0="939" v1="1498" v2="2041"/>
+ <triangle index="300" v0="316" v1="856" v2="858"/>
+ <triangle index="301" v0="623" v1="1650" v2="1655"/>
+ <triangle index="302" v0="591" v1="941" v2="942"/>
+ <triangle index="303" v0="591" v1="941" v2="1508"/>
+ <triangle index="304" v0="609" v1="611" v2="1055"/>
+ <triangle index="305" v0="210" v1="556" v2="614"/>
+ <triangle index="306" v0="495" v1="613" v2="621"/>
+ <triangle index="307" v0="2152" v1="2157" v2="2158"/>
+ <triangle index="308" v0="2211" v1="2634" v2="2635"/>
+ <triangle index="309" v0="1516" v1="1517" v2="1520"/>
+ <triangle index="310" v0="409" v1="941" v2="1507"/>
+ <triangle index="311" v0="628" v1="1078" v2="1084"/>
+ <triangle index="312" v0="490" v1="1030" v2="1033"/>
+ <triangle index="313" v0="331" v1="332" v2="1657"/>
+ <triangle index="314" v0="391" v1="928" v2="929"/>
+ <triangle index="315" v0="1670" v1="1671" v2="1673"/>
+ <triangle index="316" v0="585" v1="2008" v2="2010"/>
+ <triangle index="317" v0="157" v1="158" v2="1633"/>
+ <triangle index="318" v0="317" v1="318" v2="873"/>
+ <triangle index="319" v0="606" v1="619" v2="620"/>
+ <triangle index="320" v0="873" v1="1436" v2="1992"/>
+ <triangle index="321" v0="483" v1="879" v2="885"/>
+ <triangle index="322" v0="238" v1="459" v2="460"/>
+ <triangle index="323" v0="178" v1="1397" v2="1994"/>
+ <triangle index="324" v0="9" v1="665" v2="671"/>
+ <triangle index="325" v0="890" v1="892" v2="1993"/>
+ <triangle index="326" v0="320" v1="321" v2="1442"/>
+ <triangle index="327" v0="27" v1="28" v2="514"/>
+ <triangle index="328" v0="1451" v1="2006" v2="2498"/>
+ <triangle index="329" v0="318" v1="319" v2="1991"/>
+ <triangle index="330" v0="544" v1="563" v2="565"/>
+ <triangle index="331" v0="296" v1="1963" v2="2731"/>
+ <triangle index="332" v0="546" v1="547" v2="790"/>
+ <triangle index="333" v0="593" v1="966" v2="970"/>
+ <triangle index="334" v0="98" v1="971" v2="972"/>
+ <triangle index="335" v0="1364" v1="1370" v2="1968"/>
+ <triangle index="336" v0="966" v1="970" v2="991"/>
+ <triangle index="337" v0="549" v1="552" v2="791"/>
+ <triangle index="338" v0="97" v1="958" v2="965"/>
+ <triangle index="339" v0="268" v1="269" v2="537"/>
+ <triangle index="340" v0="465" v1="526" v2="538"/>
+ <triangle index="341" v0="98" v1="967" v2="971"/>
+ <triangle index="342" v0="654" v1="1252" v2="1253"/>
+ <triangle index="343" v0="532" v1="755" v2="761"/>
+ <triangle index="344" v0="643" v1="1181" v2="1184"/>
+ <triangle index="345" v0="322" v1="902" v2="904"/>
+ <triangle index="346" v0="801" v1="1397" v2="1984"/>
+ <triangle index="347" v0="333" v1="1072" v2="1076"/>
+ <triangle index="348" v0="87" v1="88" v2="1018"/>
+ <triangle index="349" v0="322" v1="323" v2="904"/>
+ <triangle index="350" v0="1550" v1="2089" v2="2550"/>
+ <triangle index="351" v0="612" v1="1056" v2="1057"/>
+ <triangle index="352" v0="1129" v1="2304" v2="3087"/>
+ <triangle index="353" v0="1032" v1="1033" v2="1034"/>
+ <triangle index="354" v0="323" v1="324" v2="907"/>
+ <triangle index="355" v0="692" v1="693" v2="694"/>
+ <triangle index="356" v0="593" v1="958" v2="962"/>
+ <triangle index="357" v0="958" v1="962" v2="963"/>
+ <triangle index="358" v0="2069" v1="2072" v2="2073"/>
+ <triangle index="359" v0="974" v1="976" v2="981"/>
+ <triangle index="360" v0="97" v1="965" v2="967"/>
+ <triangle index="361" v0="973" v1="989" v2="1543"/>
+ <triangle index="362" v0="1127" v1="1757" v2="1759"/>
+ <triangle index="363" v0="96" v1="958" v2="959"/>
+ <triangle index="364" v0="1040" v1="1042" v2="1621"/>
+ <triangle index="365" v0="100" v1="976" v2="985"/>
+ <triangle index="366" v0="228" v1="451" v2="523"/>
+ <triangle index="367" v0="180" v1="181" v2="875"/>
+ <triangle index="368" v0="170" v1="171" v2="1420"/>
+ <triangle index="369" v0="45" v1="437" v2="508"/>
+ <triangle index="370" v0="325" v1="912" v2="913"/>
+ <triangle index="371" v0="93" v1="94" v2="1557"/>
+ <triangle index="372" v0="1559" v1="1561" v2="1565"/>
+ <triangle index="373" v0="597" v1="1020" v2="1022"/>
+ <triangle index="374" v0="240" v1="241" v2="472"/>
+ <triangle index="375" v0="245" v1="466" v2="468"/>
+ <triangle index="376" v0="252" v1="466" v2="467"/>
+ <triangle index="377" v0="474" v1="543" v2="787"/>
+ <triangle index="378" v0="940" v1="1501" v2="1503"/>
+ <triangle index="379" v0="1380" v1="1382" v2="1978"/>
+ <triangle index="380" v0="1502" v1="1503" v2="2798"/>
+ <triangle index="381" v0="1018" v1="1019" v2="2115"/>
+ <triangle index="382" v0="2423" v1="3057" v2="3064"/>
+ <triangle index="383" v0="79" v1="80" v2="1580"/>
+ <triangle index="384" v0="1026" v1="1029" v2="1584"/>
+ <triangle index="385" v0="368" v1="369" v2="1130"/>
+ <triangle index="386" v0="1569" v1="1576" v2="2115"/>
+ <triangle index="387" v0="235" v1="236" v2="458"/>
+ <triangle index="388" v0="408" v1="409" v2="941"/>
+ <triangle index="389" v0="232" v1="453" v2="454"/>
+ <triangle index="390" v0="530" v1="738" v2="741"/>
+ <triangle index="391" v0="81" v1="82" v2="2061"/>
+ <triangle index="392" v0="1477" v1="1479" v2="1481"/>
+ <triangle index="393" v0="2129" v1="2134" v2="2137"/>
+ <triangle index="394" v0="273" v1="274" v2="545"/>
+ <triangle index="395" v0="1017" v1="1558" v2="1559"/>
+ <triangle index="396" v0="431" v1="712" v2="1312"/>
+ <triangle index="397" v0="240" v1="472" v2="3286"/>
+ <triangle index="398" v0="448" v1="449" v2="450"/>
+ <triangle index="399" v0="1032" v1="1034" v2="1589"/>
+ <triangle index="400" v0="478" v1="568" v2="1393"/>
+ <triangle index="401" v0="228" v1="229" v2="449"/>
+ <triangle index="402" v0="1" v1="690" v2="691"/>
+ <triangle index="403" v0="262" v1="263" v2="447"/>
+ <triangle index="404" v0="185" v1="774" v2="778"/>
+ <triangle index="405" v0="77" v1="78" v2="1895"/>
+ <triangle index="406" v0="91" v1="92" v2="1501"/>
+ <triangle index="407" v0="415" v1="416" v2="1026"/>
+ <triangle index="408" v0="208" v1="615" v2="616"/>
+ <triangle index="409" v0="416" v1="1026" v2="1031"/>
+ <triangle index="410" v0="417" v1="418" v2="1582"/>
+ <triangle index="411" v0="1087" v1="1092" v2="1093"/>
+ <triangle index="412" v0="601" v1="1040" v2="1041"/>
+ <triangle index="413" v0="1041" v1="1591" v2="1592"/>
+ <triangle index="414" v0="153" v1="1131" v2="1133"/>
+ <triangle index="415" v0="420" v1="421" v2="1040"/>
+ <triangle index="416" v0="1615" v1="2203" v2="2204"/>
+ <triangle index="417" v0="636" v1="2226" v2="2227"/>
+ <triangle index="418" v0="2121" v1="2123" v2="2125"/>
+ <triangle index="419" v0="631" v1="1651" v2="1653"/>
+ <triangle index="420" v0="1581" v1="1903" v2="2457"/>
+ <triangle index="421" v0="1024" v1="2459" v2="2463"/>
+ <triangle index="422" v0="2800" v1="2801" v2="2802"/>
+ <triangle index="423" v0="334" v1="1078" v2="1080"/>
+ <triangle index="424" v0="633" v1="1825" v2="1826"/>
+ <triangle index="425" v0="1005" v1="1538" v2="1540"/>
+ <triangle index="426" v0="244" v1="253" v2="468"/>
+ <triangle index="427" v0="499" v1="1094" v2="1099"/>
+ <triangle index="428" v0="280" v1="281" v2="603"/>
+ <triangle index="429" v0="15" v1="16" v2="1250"/>
+ <triangle index="430" v0="476" v1="564" v2="565"/>
+ <triangle index="431" v0="216" v1="790" v2="3289"/>
+ <triangle index="432" v0="592" v1="2125" v2="2133"/>
+ <triangle index="433" v0="213" v1="214" v2="564"/>
+ <triangle index="434" v0="557" v1="560" v2="562"/>
+ <triangle index="435" v0="817" v1="865" v2="1435"/>
+ <triangle index="436" v0="572" v1="808" v2="1414"/>
+ <triangle index="437" v0="476" v1="553" v2="564"/>
+ <triangle index="438" v0="887" v1="888" v2="890"/>
+ <triangle index="439" v0="277" v1="558" v2="559"/>
+ <triangle index="440" v0="201" v1="677" v2="678"/>
+ <triangle index="441" v0="509" v1="1237" v2="1238"/>
+ <triangle index="442" v0="207" v1="605" v2="1048"/>
+ <triangle index="443" v0="525" v1="527" v2="538"/>
+ <triangle index="444" v0="273" v1="547" v2="548"/>
+ <triangle index="445" v0="281" v1="603" v2="1047"/>
+ <triangle index="446" v0="222" v1="473" v2="537"/>
+ <triangle index="447" v0="202" v1="203" v2="676"/>
+ <triangle index="448" v0="219" v1="220" v2="541"/>
+ <triangle index="449" v0="604" v1="610" v2="1053"/>
+ <triangle index="450" v0="495" v1="617" v2="618"/>
+ <triangle index="451" v0="294" v1="1959" v2="1964"/>
+ <triangle index="452" v0="554" v1="555" v2="556"/>
+ <triangle index="453" v0="606" v1="620" v2="1050"/>
+ <triangle index="454" v0="209" v1="210" v2="613"/>
+ <triangle index="455" v0="493" v1="556" v2="614"/>
+ <triangle index="456" v0="275" v1="276" v2="561"/>
+ <triangle index="457" v0="206" v1="207" v2="1048"/>
+ <triangle index="458" v0="207" v1="605" v2="616"/>
+ <triangle index="459" v0="196" v1="795" v2="1393"/>
+ <triangle index="460" v0="623" v1="1065" v2="1066"/>
+ <triangle index="461" v0="275" v1="561" v2="563"/>
+ <triangle index="462" v0="478" v1="793" v2="1393"/>
+ <triangle index="463" v0="476" v1="560" v2="561"/>
+ <triangle index="464" v0="801" v1="1397" v2="1994"/>
+ <triangle index="465" v0="557" v1="558" v2="559"/>
+ <triangle index="466" v0="163" v1="164" v2="1626"/>
+ <triangle index="467" v0="267" v1="527" v2="538"/>
+ <triangle index="468" v0="270" v1="540" v2="543"/>
+ <triangle index="469" v0="162" v1="1067" v2="1624"/>
+ <triangle index="470" v0="161" v1="1064" v2="1068"/>
+ <triangle index="471" v0="493" v1="557" v2="558"/>
+ <triangle index="472" v0="160" v1="161" v2="1064"/>
+ <triangle index="473" v0="564" v1="565" v2="3290"/>
+ <triangle index="474" v0="622" v1="1064" v2="1065"/>
+ <triangle index="475" v0="161" v1="162" v2="1068"/>
+ <triangle index="476" v0="542" v1="549" v2="551"/>
+ <triangle index="477" v0="154" v1="155" v2="1135"/>
+ <triangle index="478" v0="1398" v1="1399" v2="1400"/>
+ <triangle index="479" v0="217" v1="218" v2="552"/>
+ <triangle index="480" v0="87" v1="1018" v2="1577"/>
+ <triangle index="481" v0="764" v1="768" v2="769"/>
+ <triangle index="482" v0="625" v1="1072" v2="1074"/>
+ <triangle index="483" v0="443" v1="684" v2="1059"/>
+ <triangle index="484" v0="264" v1="449" v2="522"/>
+ <triangle index="485" v0="332" v1="333" v2="1072"/>
+ <triangle index="486" v0="1693" v1="1694" v2="1699"/>
+ <triangle index="487" v0="624" v1="1123" v2="1631"/>
+ <triangle index="488" v0="268" v1="465" v2="538"/>
+ <triangle index="489" v0="1629" v1="2209" v2="2210"/>
+ <triangle index="490" v0="265" v1="522" v2="734"/>
+ <triangle index="491" v0="1409" v1="2288" v2="2289"/>
+ <triangle index="492" v0="1142" v1="1208" v2="1209"/>
+ <triangle index="493" v0="1408" v1="1411" v2="1419"/>
+ <triangle index="494" v0="244" v1="253" v2="469"/>
+ <triangle index="495" v0="20" v1="42" v2="3287"/>
+ <triangle index="496" v0="630" v1="1131" v2="1133"/>
+ <triangle index="497" v0="254" v1="255" v2="471"/>
+ <triangle index="498" v0="365" v1="1847" v2="2706"/>
+ <triangle index="499" v0="1082" v1="1093" v2="1097"/>
+ <triangle index="500" v0="364" v1="1846" v2="1848"/>
+ <triangle index="501" v0="210" v1="613" v2="614"/>
+ <triangle index="502" v0="2648" v1="2890" v2="2891"/>
+ <triangle index="503" v0="2422" v1="3055" v2="3058"/>
+ <triangle index="504" v0="245" v1="246" v2="467"/>
+ <triangle index="505" v0="465" v1="526" v2="539"/>
+ <triangle index="506" v0="258" v1="259" v2="458"/>
+ <triangle index="507" v0="1078" v1="1084" v2="1085"/>
+ <triangle index="508" v0="333" v1="1076" v2="1077"/>
+ <triangle index="509" v0="258" v1="460" v2="464"/>
+ <triangle index="510" v0="227" v1="451" v2="523"/>
+ <triangle index="511" v0="335" v1="1080" v2="1081"/>
+ <triangle index="512" v0="185" v1="186" v2="773"/>
+ <triangle index="513" v0="336" v1="337" v2="1088"/>
+ <triangle index="514" v0="336" v1="1081" v2="1083"/>
+ <triangle index="515" v0="232" v1="233" v2="453"/>
+ <triangle index="516" v0="164" v1="1626" v2="1627"/>
+ <triangle index="517" v0="234" v1="260" v2="455"/>
+ <triangle index="518" v0="403" v1="404" v2="922"/>
+ <triangle index="519" v0="2155" v1="2156" v2="2622"/>
+ <triangle index="520" v0="647" v1="2696" v2="2699"/>
+ <triangle index="521" v0="363" v1="364" v2="1846"/>
+ <triangle index="522" v0="2377" v1="2380" v2="3183"/>
+ <triangle index="523" v0="274" v1="275" v2="788"/>
+ <triangle index="524" v0="113" v1="1838" v2="1840"/>
+ <triangle index="525" v0="312" v1="847" v2="861"/>
+ <triangle index="526" v0="3036" v1="3037" v2="3038"/>
+ <triangle index="527" v0="569" v1="797" v2="798"/>
+ <triangle index="528" v0="218" v1="551" v2="786"/>
+ <triangle index="529" v0="3034" v1="3212" v2="3214"/>
+ <triangle index="530" v0="234" v1="260" v2="452"/>
+ <triangle index="531" v0="257" v1="459" v2="460"/>
+ <triangle index="532" v0="1087" v1="1088" v2="1660"/>
+ <triangle index="533" v0="365" v1="366" v2="2706"/>
+ <triangle index="534" v0="156" v1="1634" v2="1635"/>
+ <triangle index="535" v0="1680" v1="1687" v2="1689"/>
+ <triangle index="536" v0="623" v1="1070" v2="1649"/>
+ <triangle index="537" v0="829" v1="831" v2="834"/>
+ <triangle index="538" v0="404" v1="405" v2="924"/>
+ <triangle index="539" v0="1660" v1="1661" v2="2214"/>
+ <triangle index="540" v0="153" v1="154" v2="1131"/>
+ <triangle index="541" v0="1028" v1="1585" v2="2184"/>
+ <triangle index="542" v0="607" v1="1049" v2="1053"/>
+ <triangle index="543" v0="1643" v1="1646" v2="1767"/>
+ <triangle index="544" v0="2039" v1="2531" v2="2533"/>
+ <triangle index="545" v0="2640" v1="2869" v2="2881"/>
+ <triangle index="546" v0="517" v1="685" v2="1264"/>
+ <triangle index="547" v0="338" v1="339" v2="2214"/>
+ <triangle index="548" v0="340" v1="341" v2="1774"/>
+ <triangle index="549" v0="264" v1="449" v2="450"/>
+ <triangle index="550" v0="23" v1="39" v2="440"/>
+ <triangle index="551" v0="1773" v1="1827" v2="1830"/>
+ <triangle index="552" v0="248" v1="251" v2="435"/>
+ <triangle index="553" v0="139" v1="140" v2="1769"/>
+ <triangle index="554" v0="343" v1="1141" v2="2400"/>
+ <triangle index="555" v0="20" v1="433" v2="442"/>
+ <triangle index="556" v0="1139" v1="2220" v2="2224"/>
+ <triangle index="557" v0="56" v1="437" v2="508"/>
+ <triangle index="558" v0="148" v1="149" v2="1775"/>
+ <triangle index="559" v0="154" v1="1131" v2="1135"/>
+ <triangle index="560" v0="635" v1="2271" v2="2874"/>
+ <triangle index="561" v0="1044" v1="1045" v2="1622"/>
+ <triangle index="562" v0="136" v1="1185" v2="1186"/>
+ <triangle index="563" v0="1137" v1="2320" v2="2325"/>
+ <triangle index="564" v0="2248" v1="2250" v2="2693"/>
+ <triangle index="565" v0="2387" v1="2690" v2="2928"/>
+ <triangle index="566" v0="2330" v1="2334" v2="2336"/>
+ <triangle index="567" v0="126" v1="127" v2="1812"/>
+ <triangle index="568" v0="1809" v1="1810" v2="2689"/>
+ <triangle index="569" v0="2324" v1="2326" v2="2327"/>
+ <triangle index="570" v0="2370" v1="2898" v2="2900"/>
+ <triangle index="571" v0="142" v1="143" v2="2313"/>
+ <triangle index="572" v0="140" v1="141" v2="2310"/>
+ <triangle index="573" v0="1799" v1="2358" v2="2360"/>
+ <triangle index="574" v0="2375" v1="2659" v2="2680"/>
+ <triangle index="575" v0="1769" v1="1770" v2="2310"/>
+ <triangle index="576" v0="1198" v1="1199" v2="1815"/>
+ <triangle index="577" v0="2357" v1="2905" v2="3277"/>
+ <triangle index="578" v0="1824" v1="1825" v2="1827"/>
+ <triangle index="579" v0="278" v1="558" v2="618"/>
+ <triangle index="580" v0="114" v1="2695" v2="3184"/>
+ <triangle index="581" v0="1192" v1="1194" v2="1815"/>
+ <triangle index="582" v0="1158" v1="1169" v2="1170"/>
+ <triangle index="583" v0="141" v1="2310" v2="2311"/>
+ <triangle index="584" v0="1780" v1="1782" v2="1796"/>
+ <triangle index="585" v0="1645" v1="1647" v2="1747"/>
+ <triangle index="586" v0="203" v1="609" v2="1054"/>
+ <triangle index="587" v0="136" v1="137" v2="1185"/>
+ <triangle index="588" v0="38" v1="39" v2="439"/>
+ <triangle index="589" v0="22" v1="23" v2="440"/>
+ <triangle index="590" v0="350" v1="1143" v2="1149"/>
+ <triangle index="591" v0="1155" v1="1158" v2="1159"/>
+ <triangle index="592" v0="37" v1="38" v2="441"/>
+ <triangle index="593" v0="1144" v1="1147" v2="2349"/>
+ <triangle index="594" v0="1144" v1="1146" v2="1148"/>
+ <triangle index="595" v0="44" v1="57" v2="437"/>
+ <triangle index="596" v0="444" v1="446" v2="693"/>
+ <triangle index="597" v0="349" v1="350" v2="1143"/>
+ <triangle index="598" v0="224" v1="225" v2="525"/>
+ <triangle index="599" v0="257" v1="258" v2="460"/>
+ <triangle index="600" v0="2904" v1="2905" v2="2906"/>
+ <triangle index="601" v0="640" v1="2377" v2="2380"/>
+ <triangle index="602" v0="1788" v1="2354" v2="2355"/>
+ <triangle index="603" v0="528" v1="732" v2="733"/>
+ <triangle index="604" v0="829" v1="871" v2="872"/>
+ <triangle index="605" v0="121" v1="122" v2="1178"/>
+ <triangle index="606" v0="641" v1="2659" v2="2667"/>
+ <triangle index="607" v0="639" v1="2936" v2="2940"/>
+ <triangle index="608" v0="612" v1="1056" v2="1060"/>
+ <triangle index="609" v0="2682" v1="2683" v2="2684"/>
+ <triangle index="610" v0="347" v1="1138" v2="1772"/>
+ <triangle index="611" v0="657" v1="1863" v2="1867"/>
+ <triangle index="612" v0="350" v1="1149" v2="1151"/>
+ <triangle index="613" v0="128" v1="1181" v2="1182"/>
+ <triangle index="614" v0="129" v1="130" v2="1808"/>
+ <triangle index="615" v0="503" v1="1148" v2="1160"/>
+ <triangle index="616" v0="1056" v1="1057" v2="1058"/>
+ <triangle index="617" v0="131" v1="132" v2="2346"/>
+ <triangle index="618" v0="1142" v1="1209" v2="1779"/>
+ <triangle index="619" v0="495" v1="617" v2="619"/>
+ <triangle index="620" v0="1179" v1="1806" v2="2383"/>
+ <triangle index="621" v0="645" v1="1186" v2="1188"/>
+ <triangle index="622" v0="646" v1="1191" v2="1200"/>
+ <triangle index="623" v0="638" v1="1162" v2="1165"/>
+ <triangle index="624" v0="1499" v1="2529" v2="2530"/>
+ <triangle index="625" v0="2369" v1="2931" v2="2937"/>
+ <triangle index="626" v0="643" v1="1184" v2="2364"/>
+ <triangle index="627" v0="944" v1="949" v2="954"/>
+ <triangle index="628" v0="603" v1="604" v2="1053"/>
+ <triangle index="629" v0="351" v1="1151" v2="1159"/>
+ <triangle index="630" v0="600" v1="1585" v2="1587"/>
+ <triangle index="631" v0="1813" v1="2386" v2="2387"/>
+ <triangle index="632" v0="492" v1="603" v2="1053"/>
+ <triangle index="633" v0="1183" v1="1812" v2="1813"/>
+ <triangle index="634" v0="642" v1="1180" v2="1810"/>
+ <triangle index="635" v0="2031" v1="2035" v2="2527"/>
+ <triangle index="636" v0="642" v1="1180" v2="2348"/>
+ <triangle index="637" v0="1816" v1="1818" v2="2389"/>
+ <triangle index="638" v0="645" v1="1185" v2="1186"/>
+ <triangle index="639" v0="402" v1="403" v2="1462"/>
+ <triangle index="640" v0="2932" v1="2934" v2="2937"/>
+ <triangle index="641" v0="230" v1="447" v2="448"/>
+ <triangle index="642" v0="493" v1="614" v2="621"/>
+ <triangle index="643" v0="1179" v1="1802" v2="1806"/>
+ <triangle index="644" v0="368" v1="1128" v2="1130"/>
+ <triangle index="645" v0="103" v1="104" v2="2551"/>
+ <triangle index="646" v0="457" v1="524" v2="735"/>
+ <triangle index="647" v0="983" v1="1001" v2="1012"/>
+ <triangle index="648" v0="768" v1="769" v2="770"/>
+ <triangle index="649" v0="105" v1="3206" v2="3313"/>
+ <triangle index="650" v0="2416" v1="2418" v2="2419"/>
+ <triangle index="651" v0="266" v1="267" v2="527"/>
+ <triangle index="652" v0="1229" v1="1844" v2="1845"/>
+ <triangle index="653" v0="302" v1="754" v2="755"/>
+ <triangle index="654" v0="55" v1="56" v2="508"/>
+ <triangle index="655" v0="987" v1="991" v2="1004"/>
+ <triangle index="656" v0="100" v1="101" v2="985"/>
+ <triangle index="657" v0="58" v1="59" v2="510"/>
+ <triangle index="658" v0="34" v1="35" v2="514"/>
+ <triangle index="659" v0="1543" v1="1544" v2="1545"/>
+ <triangle index="660" v0="653" v1="1852" v2="2424"/>
+ <triangle index="661" v0="638" v1="1143" v2="1146"/>
+ <triangle index="662" v0="1316" v1="1317" v2="1319"/>
+ <triangle index="663" v0="438" v1="694" v2="696"/>
+ <triangle index="664" v0="101" v1="1542" v2="2087"/>
+ <triangle index="665" v0="168" v1="1752" v2="1753"/>
+ <triangle index="666" v0="289" v1="290" v2="1376"/>
+ <triangle index="667" v0="1187" v1="1189" v2="1190"/>
+ <triangle index="668" v0="494" v1="608" v2="611"/>
+ <triangle index="669" v0="2952" v1="2962" v2="2971"/>
+ <triangle index="670" v0="475" v1="544" v2="545"/>
+ <triangle index="671" v0="506" v1="1195" v2="1204"/>
+ <triangle index="672" v0="697" v1="702" v2="705"/>
+ <triangle index="673" v0="46" v1="54" v2="55"/>
+ <triangle index="674" v0="56" v1="57" v2="437"/>
+ <triangle index="675" v0="45" v1="55" v2="508"/>
+ <triangle index="676" v0="43" v1="57" v2="58"/>
+ <triangle index="677" v0="272" v1="549" v2="550"/>
+ <triangle index="678" v0="110" v1="1226" v2="1228"/>
+ <triangle index="679" v0="121" v1="1805" v2="1807"/>
+ <triangle index="680" v0="651" v1="1232" v2="1233"/>
+ <triangle index="681" v0="208" v1="209" v2="615"/>
+ <triangle index="682" v0="939" v1="1498" v2="2058"/>
+ <triangle index="683" v0="64" v1="65" v2="1232"/>
+ <triangle index="684" v0="615" v1="616" v2="620"/>
+ <triangle index="685" v0="43" v1="58" v2="510"/>
+ <triangle index="686" v0="16" v1="511" v2="1235"/>
+ <triangle index="687" v0="1527" v1="1536" v2="1537"/>
+ <triangle index="688" v0="85" v1="86" v2="1020"/>
+ <triangle index="689" v0="3085" v1="3095" v2="3099"/>
+ <triangle index="690" v0="2242" v1="2243" v2="2401"/>
+ <triangle index="691" v0="65" v1="1232" v2="1234"/>
+ <triangle index="692" v0="553" v1="554" v2="562"/>
+ <triangle index="693" v0="220" v1="540" v2="541"/>
+ <triangle index="694" v0="1841" v1="2407" v2="2408"/>
+ <triangle index="695" v0="65" v1="1234" v2="1244"/>
+ <triangle index="696" v0="74" v1="1253" v2="1891"/>
+ <triangle index="697" v0="242" v1="243" v2="470"/>
+ <triangle index="698" v0="175" v1="176" v2="802"/>
+ <triangle index="699" v0="1255" v1="1880" v2="2455"/>
+ <triangle index="700" v0="72" v1="73" v2="1889"/>
+ <triangle index="701" v0="204" v1="608" v2="609"/>
+ <triangle index="702" v0="1659" v1="1662" v2="1667"/>
+ <triangle index="703" v0="75" v1="76" v2="1252"/>
+ <triangle index="704" v0="586" v1="922" v2="926"/>
+ <triangle index="705" v0="69" v1="70" v2="1881"/>
+ <triangle index="706" v0="421" v1="422" v2="1621"/>
+ <triangle index="707" v0="1043" v1="1613" v2="1616"/>
+ <triangle index="708" v0="1720" v1="1724" v2="1729"/>
+ <triangle index="709" v0="654" v1="1904" v2="1906"/>
+ <triangle index="710" v0="495" v1="613" v2="615"/>
+ <triangle index="711" v0="682" v1="718" v2="722"/>
+ <triangle index="712" v0="137" v1="1199" v2="2390"/>
+ <triangle index="713" v0="424" v1="1617" v2="1618"/>
+ <triangle index="714" v0="2334" v1="2335" v2="2339"/>
+ <triangle index="715" v0="424" v1="425" v2="1618"/>
+ <triangle index="716" v0="710" v1="728" v2="729"/>
+ <triangle index="717" v0="623" v1="1066" v2="1070"/>
+ <triangle index="718" v0="1253" v1="1894" v2="2448"/>
+ <triangle index="719" v0="259" v1="260" v2="455"/>
+ <triangle index="720" v0="3" v1="4" v2="1277"/>
+ <triangle index="721" v0="204" v1="205" v2="608"/>
+ <triangle index="722" v0="67" v1="1247" v2="1249"/>
+ <triangle index="723" v0="1" v1="690" v2="1272"/>
+ <triangle index="724" v0="4" v1="1288" v2="1289"/>
+ <triangle index="725" v0="2031" v1="2525" v2="2526"/>
+ <triangle index="726" v0="279" v1="617" v2="619"/>
+ <triangle index="727" v0="680" v1="1284" v2="1285"/>
+ <triangle index="728" v0="6" v1="7" v2="1266"/>
+ <triangle index="729" v0="673" v1="675" v2="1260"/>
+ <triangle index="730" v0="66" v1="1234" v2="1245"/>
+ <triangle index="731" v0="149" v1="1775" v2="1777"/>
+ <triangle index="732" v0="682" v1="712" v2="717"/>
+ <triangle index="733" v0="427" v1="1317" v2="1319"/>
+ <triangle index="734" v0="495" v1="619" v2="620"/>
+ <triangle index="735" v0="2351" v1="2352" v2="2656"/>
+ <triangle index="736" v0="500" v1="1642" v2="1645"/>
+ <triangle index="737" v0="446" v1="521" v2="691"/>
+ <triangle index="738" v0="207" v1="208" v2="616"/>
+ <triangle index="739" v0="0" v1="432" v2="446"/>
+ <triangle index="740" v0="494" v1="604" v2="610"/>
+ <triangle index="741" v0="0" v1="1" v2="691"/>
+ <triangle index="742" v0="682" v1="709" v2="712"/>
+ <triangle index="743" v0="2260" v1="2266" v2="2267"/>
+ <triangle index="744" v0="2221" v1="2225" v2="2234"/>
+ <triangle index="745" v0="68" v1="69" v2="1257"/>
+ <triangle index="746" v0="1256" v1="1900" v2="1902"/>
+ <triangle index="747" v0="1194" v1="1206" v2="1210"/>
+ <triangle index="748" v0="17" v1="61" v2="62"/>
+ <triangle index="749" v0="369" v1="1129" v2="2305"/>
+ <triangle index="750" v0="277" v1="278" v2="558"/>
+ <triangle index="751" v0="110" v1="111" v2="1228"/>
+ <triangle index="752" v0="275" v1="563" v2="788"/>
+ <triangle index="753" v0="271" v1="550" v2="787"/>
+ <triangle index="754" v0="475" v1="544" v2="3288"/>
+ <triangle index="755" v0="114" v1="1839" v2="2695"/>
+ <triangle index="756" v0="112" v1="113" v2="1838"/>
+ <triangle index="757" v0="194" v1="1382" v2="1396"/>
+ <triangle index="758" v0="1839" v1="2694" v2="3165"/>
+ <triangle index="759" v0="800" v1="897" v2="901"/>
+ <triangle index="760" v0="46" v1="47" v2="54"/>
+ <triangle index="761" v0="47" v1="48" v2="53"/>
+ <triangle index="762" v0="535" v1="1379" v2="1388"/>
+ <triangle index="763" v0="45" v1="46" v2="55"/>
+ <triangle index="764" v0="49" v1="51" v2="52"/>
+ <triangle index="765" v0="49" v1="50" v2="51"/>
+ <triangle index="766" v0="48" v1="52" v2="53"/>
+ <triangle index="767" v0="48" v1="49" v2="52"/>
+ <triangle index="768" v0="270" v1="271" v2="543"/>
+ <triangle index="769" v0="542" v1="549" v2="550"/>
+ <triangle index="770" v0="222" v1="536" v2="537"/>
+ <triangle index="771" v0="547" v1="548" v2="791"/>
+ <triangle index="772" v0="542" v1="551" v2="786"/>
+ <triangle index="773" v0="210" v1="211" v2="556"/>
+ <triangle index="774" v0="276" v1="277" v2="559"/>
+ <triangle index="775" v0="476" v1="561" v2="563"/>
+ <triangle index="776" v0="30" v1="32" v2="33"/>
+ <triangle index="777" v0="493" v1="554" v2="556"/>
+ <triangle index="778" v0="306" v1="814" v2="1421"/>
+ <triangle index="779" v0="3178" v1="3180" v2="3181"/>
+ <triangle index="780" v0="205" v1="608" v2="610"/>
+ <triangle index="781" v0="30" v1="31" v2="32"/>
+ <triangle index="782" v0="482" v1="826" v2="831"/>
+ <triangle index="783" v0="1404" v1="1405" v2="1410"/>
+ <triangle index="784" v0="640" v1="2377" v2="2383"/>
+ <triangle index="785" v0="29" v1="30" v2="33"/>
+ <triangle index="786" v0="27" v1="35" v2="36"/>
+ <triangle index="787" v0="212" v1="554" v2="555"/>
+ <triangle index="788" v0="28" v1="34" v2="514"/>
+ <triangle index="789" v0="475" v1="545" v2="547"/>
+ <triangle index="790" v0="27" v1="35" v2="514"/>
+ <triangle index="791" v0="1041" v1="1595" v2="1598"/>
+ <triangle index="792" v0="26" v1="27" v2="36"/>
+ <triangle index="793" v0="2182" v1="2183" v2="2628"/>
+ <triangle index="794" v0="280" v1="603" v2="606"/>
+ <triangle index="795" v0="28" v1="29" v2="34"/>
+ <triangle index="796" v0="29" v1="33" v2="34"/>
+ <triangle index="797" v0="270" v1="473" v2="540"/>
+ <triangle index="798" v0="609" v1="676" v2="1055"/>
+ <triangle index="799" v0="174" v1="804" v2="810"/>
+ <triangle index="800" v0="1804" v1="2683" v2="2684"/>
+ <triangle index="801" v0="26" v1="36" v2="37"/>
+ <triangle index="802" v0="43" v1="44" v2="57"/>
+ <triangle index="803" v0="44" v1="45" v2="437"/>
+ <triangle index="804" v0="695" v1="696" v2="707"/>
+ <triangle index="805" v0="42" v1="43" v2="510"/>
+ <triangle index="806" v0="19" v1="60" v2="3287"/>
+ <triangle index="807" v0="199" v1="679" v2="1264"/>
+ <triangle index="808" v0="858" v1="866" v2="874"/>
+ <triangle index="809" v0="59" v1="60" v2="3287"/>
+ <triangle index="810" v0="41" v1="42" v2="442"/>
+ <triangle index="811" v0="42" v1="510" v2="3287"/>
+ <triangle index="812" v0="224" v1="525" v2="526"/>
+ <triangle index="813" v0="18" v1="19" v2="60"/>
+ <triangle index="814" v0="1934" v1="1935" v2="1936"/>
+ <triangle index="815" v0="651" v1="1233" v2="1236"/>
+ <triangle index="816" v0="1504" v1="1506" v2="1508"/>
+ <triangle index="817" v0="680" v1="1266" v2="1267"/>
+ <triangle index="818" v0="925" v1="926" v2="3301"/>
+ <triangle index="819" v0="17" v1="18" v2="61"/>
+ <triangle index="820" v0="13" v1="14" v2="668"/>
+ <triangle index="821" v0="13" v1="659" v2="668"/>
+ <triangle index="822" v0="588" v1="934" v2="1474"/>
+ <triangle index="823" v0="876" v1="880" v2="884"/>
+ <triangle index="824" v0="16" v1="17" v2="511"/>
+ <triangle index="825" v0="1471" v1="1476" v2="1478"/>
+ <triangle index="826" v0="868" v1="869" v2="1992"/>
+ <triangle index="827" v0="18" v1="60" v2="61"/>
+ <triangle index="828" v0="39" v1="40" v2="440"/>
+ <triangle index="829" v0="457" v1="525" v2="527"/>
+ <triangle index="830" v0="23" v1="39" v2="439"/>
+ <triangle index="831" v0="22" v1="40" v2="440"/>
+ <triangle index="832" v0="25" v1="37" v2="441"/>
+ <triangle index="833" v0="25" v1="26" v2="37"/>
+ <triangle index="834" v0="24" v1="38" v2="439"/>
+ <triangle index="835" v0="24" v1="38" v2="441"/>
+ <triangle index="836" v0="205" v1="607" v2="610"/>
+ <triangle index="837" v0="1356" v1="1955" v2="2486"/>
+ <triangle index="838" v0="264" v1="265" v2="522"/>
+ <triangle index="839" v0="280" v1="606" v2="1051"/>
+ <triangle index="840" v0="658" v1="660" v2="663"/>
+ <triangle index="841" v0="20" v1="42" v2="442"/>
+ <triangle index="842" v0="1477" v1="1483" v2="1487"/>
+ <triangle index="843" v0="658" v1="659" v2="668"/>
+ <triangle index="844" v0="1473" v1="2052" v2="2054"/>
+ <triangle index="845" v0="21" v1="40" v2="41"/>
+ <triangle index="846" v0="11" v1="660" v2="661"/>
+ <triangle index="847" v0="1024" v1="1580" v2="1581"/>
+ <triangle index="848" v0="1602" v1="1606" v2="1610"/>
+ <triangle index="849" v0="408" v1="941" v2="942"/>
+ <triangle index="850" v0="21" v1="22" v2="40"/>
+ <triangle index="851" v0="608" v1="609" v2="611"/>
+ <triangle index="852" v0="605" v1="620" v2="1050"/>
+ <triangle index="853" v0="1366" v1="1973" v2="1975"/>
+ <triangle index="854" v0="267" v1="268" v2="538"/>
+ <triangle index="855" v0="682" v1="713" v2="722"/>
+ <triangle index="856" v0="278" v1="617" v2="618"/>
+ <triangle index="857" v0="47" v1="53" v2="54"/>
+ <triangle index="858" v0="1179" v1="1802" v2="2382"/>
+ <triangle index="859" v0="2224" v1="2226" v2="2232"/>
+ <triangle index="860" v0="2241" v1="2243" v2="2401"/>
+ <triangle index="861" v0="697" v1="703" v2="704"/>
+ <triangle index="862" v0="506" v1="1192" v2="1194"/>
+ <triangle index="863" v0="631" v1="1638" v2="1639"/>
+ <triangle index="864" v0="666" v1="1251" v2="1886"/>
+ <triangle index="865" v0="509" v1="1237" v2="1242"/>
+ <triangle index="866" v0="1854" v1="1857" v2="1859"/>
+ <triangle index="867" v0="75" v1="1252" v2="1253"/>
+ <triangle index="868" v0="656" v1="1900" v2="1902"/>
+ <triangle index="869" v0="70" v1="1880" v2="1881"/>
+ <triangle index="870" v0="1301" v1="1305" v2="1310"/>
+ <triangle index="871" v0="710" v1="723" v2="728"/>
+ <triangle index="872" v0="1605" v1="1609" v2="1611"/>
+ <triangle index="873" v0="68" v1="1257" v2="1258"/>
+ <triangle index="874" v0="1254" v1="1889" v2="1890"/>
+ <triangle index="875" v0="658" v1="659" v2="660"/>
+ <triangle index="876" v0="515" v1="669" v2="3298"/>
+ <triangle index="877" v0="12" v1="13" v2="659"/>
+ <triangle index="878" v0="12" v1="659" v2="660"/>
+ <triangle index="879" v0="11" v1="12" v2="660"/>
+ <triangle index="880" v0="10" v1="11" v2="661"/>
+ <triangle index="881" v0="10" v1="661" v2="664"/>
+ <triangle index="882" v0="661" v1="663" v2="664"/>
+ <triangle index="883" v0="662" v1="664" v2="665"/>
+ <triangle index="884" v0="509" v1="1242" v2="1243"/>
+ <triangle index="885" v0="515" v1="663" v2="669"/>
+ <triangle index="886" v0="660" v1="661" v2="663"/>
+ <triangle index="887" v0="9" v1="10" v2="665"/>
+ <triangle index="888" v0="662" v1="663" v2="664"/>
+ <triangle index="889" v0="670" v1="671" v2="672"/>
+ <triangle index="890" v0="1853" v1="1924" v2="1926"/>
+ <triangle index="891" v0="1240" v1="1242" v2="3298"/>
+ <triangle index="892" v0="666" v1="1240" v2="1251"/>
+ <triangle index="893" v0="674" v1="1298" v2="1301"/>
+ <triangle index="894" v0="653" v1="1850" v2="1851"/>
+ <triangle index="895" v0="658" v1="663" v2="669"/>
+ <triangle index="896" v0="14" v1="666" v2="668"/>
+ <triangle index="897" v0="666" v1="668" v2="669"/>
+ <triangle index="898" v0="658" v1="668" v2="669"/>
+ <triangle index="899" v0="9" v1="671" v2="672"/>
+ <triangle index="900" v0="670" v1="673" v2="1927"/>
+ <triangle index="901" v0="8" v1="9" v2="672"/>
+ <triangle index="902" v0="670" v1="671" v2="1856"/>
+ <triangle index="903" v0="672" v1="1259" v2="1911"/>
+ <triangle index="904" v0="670" v1="672" v2="673"/>
+ <triangle index="905" v0="8" v1="672" v2="1911"/>
+ <triangle index="906" v0="672" v1="673" v2="1259"/>
+ <triangle index="907" v0="518" v1="1293" v2="1298"/>
+ <triangle index="908" v0="667" v1="673" v2="675"/>
+ <triangle index="909" v0="673" v1="1259" v2="1260"/>
+ <triangle index="910" v0="674" v1="675" v2="1301"/>
+ <triangle index="911" v0="202" v1="676" v2="677"/>
+ <triangle index="912" v0="516" v1="676" v2="1055"/>
+ <triangle index="913" v0="201" v1="677" v2="1263"/>
+ <triangle index="914" v0="436" v1="1058" v2="1061"/>
+ <triangle index="915" v0="200" v1="201" v2="678"/>
+ <triangle index="916" v0="200" v1="678" v2="1264"/>
+ <triangle index="917" v0="198" v1="199" v2="1265"/>
+ <triangle index="918" v0="443" v1="520" v2="684"/>
+ <triangle index="919" v0="6" v1="1266" v2="1913"/>
+ <triangle index="920" v0="674" v1="1260" v2="1261"/>
+ <triangle index="921" v0="2" v1="690" v2="1273"/>
+ <triangle index="922" v0="692" v1="693" v2="3299"/>
+ <triangle index="923" v0="429" v1="717" v2="1325"/>
+ <triangle index="924" v0="696" v1="706" v2="707"/>
+ <triangle index="925" v0="284" v1="285" v2="683"/>
+ <triangle index="926" v0="284" v1="445" v2="683"/>
+ <triangle index="927" v0="436" v1="684" v2="685"/>
+ <triangle index="928" v0="685" v1="687" v2="688"/>
+ <triangle index="929" v0="436" v1="517" v2="685"/>
+ <triangle index="930" v0="199" v1="679" v2="1265"/>
+ <triangle index="931" v0="686" v1="1270" v2="1912"/>
+ <triangle index="932" v0="520" v1="684" v2="687"/>
+ <triangle index="933" v0="684" v1="685" v2="687"/>
+ <triangle index="934" v0="686" v1="687" v2="1270"/>
+ <triangle index="935" v0="679" v1="688" v2="1265"/>
+ <triangle index="936" v0="686" v1="687" v2="688"/>
+ <triangle index="937" v0="520" v1="687" v2="689"/>
+ <triangle index="938" v0="477" v1="1271" v2="1389"/>
+ <triangle index="939" v0="692" v1="705" v2="3299"/>
+ <triangle index="940" v0="702" v1="1275" v2="1276"/>
+ <triangle index="941" v0="0" v1="446" v2="691"/>
+ <triangle index="942" v0="521" v1="690" v2="691"/>
+ <triangle index="943" v0="438" v1="692" v2="700"/>
+ <triangle index="944" v0="692" v1="700" v2="705"/>
+ <triangle index="945" v0="446" v1="521" v2="693"/>
+ <triangle index="946" v0="444" v1="693" v2="694"/>
+ <triangle index="947" v0="696" v1="698" v2="1278"/>
+ <triangle index="948" v0="438" v1="692" v2="694"/>
+ <triangle index="949" v0="695" v1="696" v2="698"/>
+ <triangle index="950" v0="708" v1="709" v2="713"/>
+ <triangle index="951" v0="444" v1="694" v2="1278"/>
+ <triangle index="952" v0="699" v1="707" v2="711"/>
+ <triangle index="953" v0="438" v1="696" v2="706"/>
+ <triangle index="954" v0="518" v1="1261" v2="1284"/>
+ <triangle index="955" v0="444" v1="446" v2="698"/>
+ <triangle index="956" v0="431" v1="1312" v2="1313"/>
+ <triangle index="957" v0="699" v1="710" v2="711"/>
+ <triangle index="958" v0="1864" v1="1868" v2="1870"/>
+ <triangle index="959" v0="438" v1="703" v2="1311"/>
+ <triangle index="960" v0="697" v1="702" v2="1279"/>
+ <triangle index="961" v0="699" v1="710" v2="729"/>
+ <triangle index="962" v0="681" v1="1279" v2="1281"/>
+ <triangle index="963" v0="1275" v1="1276" v2="1914"/>
+ <triangle index="964" v0="521" v1="693" v2="3299"/>
+ <triangle index="965" v0="438" v1="700" v2="703"/>
+ <triangle index="966" v0="701" v1="703" v2="704"/>
+ <triangle index="967" v0="699" v1="729" v2="1327"/>
+ <triangle index="968" v0="1291" v1="1293" v2="1295"/>
+ <triangle index="969" v0="697" v1="700" v2="705"/>
+ <triangle index="970" v0="702" v1="1275" v2="3299"/>
+ <triangle index="971" v0="699" v1="706" v2="1350"/>
+ <triangle index="972" v0="706" v1="1350" v2="2482"/>
+ <triangle index="973" v0="695" v1="707" v2="708"/>
+ <triangle index="974" v0="699" v1="706" v2="707"/>
+ <triangle index="975" v0="695" v1="708" v2="709"/>
+ <triangle index="976" v0="519" v1="708" v2="710"/>
+ <triangle index="977" v0="695" v1="698" v2="1312"/>
+ <triangle index="978" v0="682" v1="709" v2="713"/>
+ <triangle index="979" v0="720" v1="723" v2="724"/>
+ <triangle index="980" v0="519" v1="710" v2="723"/>
+ <triangle index="981" v0="707" v1="708" v2="711"/>
+ <triangle index="982" v0="708" v1="710" v2="711"/>
+ <triangle index="983" v0="695" v1="709" v2="1312"/>
+ <triangle index="984" v0="430" v1="712" v2="719"/>
+ <triangle index="985" v0="682" v1="717" v2="718"/>
+ <triangle index="986" v0="519" v1="708" v2="713"/>
+ <triangle index="987" v0="427" v1="1319" v2="2207"/>
+ <triangle index="988" v0="519" v1="713" v2="715"/>
+ <triangle index="989" v0="720" v1="724" v2="726"/>
+ <triangle index="990" v0="721" v1="725" v2="726"/>
+ <triangle index="991" v0="716" v1="726" v2="1324"/>
+ <triangle index="992" v0="656" v1="1902" v2="1909"/>
+ <triangle index="993" v0="429" v1="430" v2="717"/>
+ <triangle index="994" v0="717" v1="718" v2="1325"/>
+ <triangle index="995" v0="427" v1="1317" v2="1928"/>
+ <triangle index="996" v0="714" v1="715" v2="722"/>
+ <triangle index="997" v0="519" v1="723" v2="724"/>
+ <triangle index="998" v0="431" v1="712" v2="719"/>
+ <triangle index="999" v0="716" v1="1947" v2="1948"/>
+ <triangle index="1000" v0="721" v1="725" v2="1315"/>
+ <triangle index="1001" v0="1321" v1="1323" v2="1324"/>
+ <triangle index="1002" v0="713" v1="715" v2="722"/>
+ <triangle index="1003" v0="718" v1="722" v2="1928"/>
+ <triangle index="1004" v0="519" v1="715" v2="724"/>
+ <triangle index="1005" v0="720" v1="728" v2="1948"/>
+ <triangle index="1006" v0="715" v1="724" v2="725"/>
+ <triangle index="1007" v0="724" v1="725" v2="726"/>
+ <triangle index="1008" v0="714" v1="715" v2="725"/>
+ <triangle index="1009" v0="714" v1="1315" v2="1316"/>
+ <triangle index="1010" v0="721" v1="726" v2="1324"/>
+ <triangle index="1011" v0="716" v1="720" v2="726"/>
+ <triangle index="1012" v0="1302" v1="1337" v2="1341"/>
+ <triangle index="1013" v0="731" v1="1916" v2="2483"/>
+ <triangle index="1014" v0="720" v1="723" v2="728"/>
+ <triangle index="1015" v0="727" v1="728" v2="729"/>
+ <triangle index="1016" v0="731" v1="1326" v2="1327"/>
+ <triangle index="1017" v0="727" v1="1326" v2="1327"/>
+ <triangle index="1018" v0="730" v1="1326" v2="1330"/>
+ <triangle index="1019" v0="1872" v1="1882" v2="2428"/>
+ <triangle index="1020" v0="1915" v1="1916" v2="2483"/>
+ <triangle index="1021" v0="706" v1="1311" v2="2482"/>
+ <triangle index="1022" v0="457" v1="527" v2="732"/>
+ <triangle index="1023" v0="266" v1="732" v2="733"/>
+ <triangle index="1024" v0="265" v1="266" v2="733"/>
+ <triangle index="1025" v0="265" v1="733" v2="734"/>
+ <triangle index="1026" v0="227" v1="451" v2="734"/>
+ <triangle index="1027" v0="528" v1="733" v2="734"/>
+ <triangle index="1028" v0="457" v1="732" v2="735"/>
+ <triangle index="1029" v0="227" v1="528" v2="736"/>
+ <triangle index="1030" v0="297" v1="2489" v2="2733"/>
+ <triangle index="1031" v0="528" v1="735" v2="736"/>
+ <triangle index="1032" v0="529" v1="765" v2="769"/>
+ <triangle index="1033" v0="188" v1="189" v2="3291"/>
+ <triangle index="1034" v0="738" v1="744" v2="1955"/>
+ <triangle index="1035" v0="188" v1="750" v2="752"/>
+ <triangle index="1036" v0="530" v1="741" v2="742"/>
+ <triangle index="1037" v0="1961" v1="2486" v2="2487"/>
+ <triangle index="1038" v0="746" v1="1352" v2="1358"/>
+ <triangle index="1039" v0="189" v1="738" v2="741"/>
+ <triangle index="1040" v0="739" v1="741" v2="742"/>
+ <triangle index="1041" v0="739" v1="743" v2="752"/>
+ <triangle index="1042" v0="461" v1="742" v2="1957"/>
+ <triangle index="1043" v0="531" v1="743" v2="749"/>
+ <triangle index="1044" v0="461" v1="742" v2="743"/>
+ <triangle index="1045" v0="530" v1="738" v2="1955"/>
+ <triangle index="1046" v0="740" v1="744" v2="745"/>
+ <triangle index="1047" v0="747" v1="1352" v2="1353"/>
+ <triangle index="1048" v0="190" v1="191" v2="745"/>
+ <triangle index="1049" v0="1355" v1="1357" v2="1358"/>
+ <triangle index="1050" v0="784" v1="1965" v2="2490"/>
+ <triangle index="1051" v0="740" v1="1352" v2="1353"/>
+ <triangle index="1052" v0="1359" v1="1966" v2="1967"/>
+ <triangle index="1053" v0="531" v1="753" v2="777"/>
+ <triangle index="1054" v0="533" v1="767" v2="768"/>
+ <triangle index="1055" v0="531" v1="777" v2="781"/>
+ <triangle index="1056" v0="748" v1="749" v2="770"/>
+ <triangle index="1057" v0="186" v1="187" v2="1360"/>
+ <triangle index="1058" v0="531" v1="743" v2="752"/>
+ <triangle index="1059" v0="531" v1="750" v2="753"/>
+ <triangle index="1060" v0="750" v1="753" v2="1360"/>
+ <triangle index="1061" v0="739" v1="752" v2="3291"/>
+ <triangle index="1062" v0="531" v1="750" v2="752"/>
+ <triangle index="1063" v0="187" v1="750" v2="1360"/>
+ <triangle index="1064" v0="751" v1="776" v2="777"/>
+ <triangle index="1065" v0="301" v1="755" v2="756"/>
+ <triangle index="1066" v0="772" v1="1371" v2="1372"/>
+ <triangle index="1067" v0="300" v1="757" v2="759"/>
+ <triangle index="1068" v0="758" v1="761" v2="1373"/>
+ <triangle index="1069" v0="300" v1="757" v2="760"/>
+ <triangle index="1070" v0="302" v1="755" v2="756"/>
+ <triangle index="1071" v0="779" v1="781" v2="1375"/>
+ <triangle index="1072" v0="757" v1="758" v2="761"/>
+ <triangle index="1073" v0="757" v1="760" v2="762"/>
+ <triangle index="1074" v0="300" v1="760" v2="763"/>
+ <triangle index="1075" v0="301" v1="757" v2="759"/>
+ <triangle index="1076" v0="298" v1="765" v2="766"/>
+ <triangle index="1077" v0="755" v1="757" v2="761"/>
+ <triangle index="1078" v0="758" v1="780" v2="1373"/>
+ <triangle index="1079" v0="533" v1="762" v2="1375"/>
+ <triangle index="1080" v0="757" v1="758" v2="762"/>
+ <triangle index="1081" v0="299" v1="300" v2="763"/>
+ <triangle index="1082" v0="299" v1="763" v2="766"/>
+ <triangle index="1083" v0="533" v1="760" v2="767"/>
+ <triangle index="1084" v0="760" v1="763" v2="766"/>
+ <triangle index="1085" v0="529" v1="737" v2="765"/>
+ <triangle index="1086" v0="764" v1="765" v2="766"/>
+ <triangle index="1087" v0="764" v1="766" v2="767"/>
+ <triangle index="1088" v0="298" v1="299" v2="766"/>
+ <triangle index="1089" v0="760" v1="766" v2="767"/>
+ <triangle index="1090" v0="764" v1="767" v2="768"/>
+ <triangle index="1091" v0="764" v1="765" v2="769"/>
+ <triangle index="1092" v0="533" v1="748" v2="768"/>
+ <triangle index="1093" v0="529" v1="769" v2="1958"/>
+ <triangle index="1094" v0="461" v1="769" v2="770"/>
+ <triangle index="1095" v0="461" v1="743" v2="770"/>
+ <triangle index="1096" v0="748" v1="768" v2="770"/>
+ <triangle index="1097" v0="771" v1="772" v2="1371"/>
+ <triangle index="1098" v0="1364" v1="1968" v2="1970"/>
+ <triangle index="1099" v0="532" v1="754" v2="1372"/>
+ <triangle index="1100" v0="771" v1="772" v2="1361"/>
+ <triangle index="1101" v0="185" v1="773" v2="774"/>
+ <triangle index="1102" v0="534" v1="773" v2="775"/>
+ <triangle index="1103" v0="184" v1="185" v2="778"/>
+ <triangle index="1104" v0="1366" v1="1367" v2="1368"/>
+ <triangle index="1105" v0="1972" v1="1973" v2="1974"/>
+ <triangle index="1106" v0="751" v1="775" v2="1360"/>
+ <triangle index="1107" v0="776" v1="777" v2="779"/>
+ <triangle index="1108" v0="751" v1="775" v2="776"/>
+ <triangle index="1109" v0="462" v1="776" v2="779"/>
+ <triangle index="1110" v0="531" v1="749" v2="781"/>
+ <triangle index="1111" v0="184" v1="778" v2="818"/>
+ <triangle index="1112" v0="577" v1="774" v2="778"/>
+ <triangle index="1113" v0="462" v1="779" v2="780"/>
+ <triangle index="1114" v0="748" v1="781" v2="1375"/>
+ <triangle index="1115" v0="462" v1="780" v2="1373"/>
+ <triangle index="1116" v0="758" v1="762" v2="1375"/>
+ <triangle index="1117" v0="777" v1="779" v2="781"/>
+ <triangle index="1118" v0="779" v1="780" v2="1375"/>
+ <triangle index="1119" v0="290" v1="782" v2="1376"/>
+ <triangle index="1120" v0="535" v1="782" v2="1387"/>
+ <triangle index="1121" v0="783" v1="1376" v2="1377"/>
+ <triangle index="1122" v0="1378" v1="1976" v2="1983"/>
+ <triangle index="1123" v0="463" v1="1386" v2="1977"/>
+ <triangle index="1124" v0="746" v1="1980" v2="1981"/>
+ <triangle index="1125" v0="474" v1="541" v2="785"/>
+ <triangle index="1126" v0="219" v1="785" v2="786"/>
+ <triangle index="1127" v0="474" v1="785" v2="787"/>
+ <triangle index="1128" v0="542" v1="785" v2="786"/>
+ <triangle index="1129" v0="542" v1="550" v2="787"/>
+ <triangle index="1130" v0="274" v1="545" v2="788"/>
+ <triangle index="1131" v0="544" v1="563" v2="788"/>
+ <triangle index="1132" v0="216" v1="217" v2="789"/>
+ <triangle index="1133" v0="216" v1="789" v2="790"/>
+ <triangle index="1134" v0="215" v1="216" v2="3289"/>
+ <triangle index="1135" v0="475" v1="547" v2="790"/>
+ <triangle index="1136" v0="548" v1="549" v2="791"/>
+ <triangle index="1137" v0="552" v1="789" v2="791"/>
+ <triangle index="1138" v0="197" v1="198" v2="792"/>
+ <triangle index="1139" v0="197" v1="792" v2="1392"/>
+ <triangle index="1140" v0="477" v1="1391" v2="1912"/>
+ <triangle index="1141" v0="566" v1="1391" v2="1392"/>
+ <triangle index="1142" v0="286" v1="1269" v2="1271"/>
+ <triangle index="1143" v0="567" v1="794" v2="1982"/>
+ <triangle index="1144" v0="195" v1="196" v2="795"/>
+ <triangle index="1145" v0="195" v1="795" v2="1395"/>
+ <triangle index="1146" v0="796" v1="1380" v2="1382"/>
+ <triangle index="1147" v0="463" v1="1379" v2="1388"/>
+ <triangle index="1148" v0="288" v1="289" v2="797"/>
+ <triangle index="1149" v0="288" v1="797" v2="798"/>
+ <triangle index="1150" v0="287" v1="794" v2="798"/>
+ <triangle index="1151" v0="1389" v1="1390" v2="1982"/>
+ <triangle index="1152" v0="569" v1="798" v2="799"/>
+ <triangle index="1153" v0="799" v1="1390" v2="1982"/>
+ <triangle index="1154" v0="322" v1="902" v2="905"/>
+ <triangle index="1155" v0="800" v1="908" v2="910"/>
+ <triangle index="1156" v0="176" v1="1398" v2="1985"/>
+ <triangle index="1157" v0="876" v1="884" v2="1438"/>
+ <triangle index="1158" v0="174" v1="175" v2="809"/>
+ <triangle index="1159" v0="572" v1="802" v2="1399"/>
+ <triangle index="1160" v0="2736" v1="2737" v2="2739"/>
+ <triangle index="1161" v0="573" v1="2492" v2="2495"/>
+ <triangle index="1162" v0="172" v1="173" v2="1402"/>
+ <triangle index="1163" v0="807" v1="1412" v2="1418"/>
+ <triangle index="1164" v0="171" v1="1714" v2="1715"/>
+ <triangle index="1165" v0="174" v1="804" v2="805"/>
+ <triangle index="1166" v0="811" v1="812" v2="1405"/>
+ <triangle index="1167" v0="574" v1="1405" v2="1410"/>
+ <triangle index="1168" v0="572" v1="802" v2="808"/>
+ <triangle index="1169" v0="175" v1="802" v2="808"/>
+ <triangle index="1170" v0="807" v1="1413" v2="1414"/>
+ <triangle index="1171" v0="807" v1="808" v2="809"/>
+ <triangle index="1172" v0="175" v1="808" v2="809"/>
+ <triangle index="1173" v0="574" v1="804" v2="1418"/>
+ <triangle index="1174" v0="807" v1="809" v2="810"/>
+ <triangle index="1175" v0="173" v1="804" v2="1402"/>
+ <triangle index="1176" v0="806" v1="811" v2="812"/>
+ <triangle index="1177" v0="813" v1="1709" v2="1714"/>
+ <triangle index="1178" v0="1404" v1="1405" v2="1406"/>
+ <triangle index="1179" v0="1760" v1="1761" v2="1762"/>
+ <triangle index="1180" v0="1708" v1="1709" v2="1712"/>
+ <triangle index="1181" v0="305" v1="306" v2="1421"/>
+ <triangle index="1182" v0="576" v1="814" v2="816"/>
+ <triangle index="1183" v0="815" v1="1365" v2="1421"/>
+ <triangle index="1184" v0="815" v1="1363" v2="1970"/>
+ <triangle index="1185" v0="576" v1="1968" v2="1969"/>
+ <triangle index="1186" v0="308" v1="816" v2="1425"/>
+ <triangle index="1187" v0="817" v1="818" v2="1433"/>
+ <triangle index="1188" v0="830" v1="865" v2="1434"/>
+ <triangle index="1189" v0="183" v1="184" v2="819"/>
+ <triangle index="1190" v0="817" v1="818" v2="822"/>
+ <triangle index="1191" v0="183" v1="819" v2="827"/>
+ <triangle index="1192" v0="818" v1="819" v2="1433"/>
+ <triangle index="1193" v0="823" v1="825" v2="827"/>
+ <triangle index="1194" v0="820" v1="825" v2="826"/>
+ <triangle index="1195" v0="830" v1="841" v2="863"/>
+ <triangle index="1196" v0="577" v1="1368" v2="1369"/>
+ <triangle index="1197" v0="817" v1="822" v2="1435"/>
+ <triangle index="1198" v0="577" v1="821" v2="822"/>
+ <triangle index="1199" v0="182" v1="823" v2="828"/>
+ <triangle index="1200" v0="578" v1="823" v2="825"/>
+ <triangle index="1201" v0="181" v1="824" v2="828"/>
+ <triangle index="1202" v0="483" v1="879" v2="882"/>
+ <triangle index="1203" v0="578" v1="825" v2="826"/>
+ <triangle index="1204" v0="820" v1="825" v2="827"/>
+ <triangle index="1205" v0="826" v1="831" v2="832"/>
+ <triangle index="1206" v0="482" v1="826" v2="843"/>
+ <triangle index="1207" v0="820" v1="827" v2="1433"/>
+ <triangle index="1208" v0="183" v1="823" v2="827"/>
+ <triangle index="1209" v0="181" v1="182" v2="828"/>
+ <triangle index="1210" v0="824" v1="828" v2="3292"/>
+ <triangle index="1211" v0="578" v1="872" v2="3292"/>
+ <triangle index="1212" v0="483" v1="868" v2="869"/>
+ <triangle index="1213" v0="482" v1="834" v2="837"/>
+ <triangle index="1214" v0="848" v1="849" v2="853"/>
+ <triangle index="1215" v0="578" v1="826" v2="832"/>
+ <triangle index="1216" v0="829" v1="834" v2="859"/>
+ <triangle index="1217" v0="833" v1="872" v2="3292"/>
+ <triangle index="1218" v0="829" v1="831" v2="832"/>
+ <triangle index="1219" v0="824" v1="877" v2="878"/>
+ <triangle index="1220" v0="483" v1="867" v2="868"/>
+ <triangle index="1221" v0="579" v1="834" v2="835"/>
+ <triangle index="1222" v0="482" v1="831" v2="834"/>
+ <triangle index="1223" v0="579" v1="835" v2="836"/>
+ <triangle index="1224" v0="580" v1="835" v2="837"/>
+ <triangle index="1225" v0="579" v1="836" v2="844"/>
+ <triangle index="1226" v0="314" v1="836" v2="845"/>
+ <triangle index="1227" v0="580" v1="839" v2="840"/>
+ <triangle index="1228" v0="839" v1="841" v2="842"/>
+ <triangle index="1229" v0="849" v1="851" v2="853"/>
+ <triangle index="1230" v0="850" v1="851" v2="852"/>
+ <triangle index="1231" v0="580" v1="846" v2="861"/>
+ <triangle index="1232" v0="838" v1="839" v2="841"/>
+ <triangle index="1233" v0="840" v1="847" v2="861"/>
+ <triangle index="1234" v0="840" v1="847" v2="848"/>
+ <triangle index="1235" v0="853" v1="854" v2="862"/>
+ <triangle index="1236" v0="830" v1="842" v2="843"/>
+ <triangle index="1237" v0="837" v1="839" v2="842"/>
+ <triangle index="1238" v0="830" v1="841" v2="842"/>
+ <triangle index="1239" v0="482" v1="842" v2="843"/>
+ <triangle index="1240" v0="830" v1="843" v2="1434"/>
+ <triangle index="1241" v0="855" v1="856" v2="857"/>
+ <triangle index="1242" v0="315" v1="844" v2="860"/>
+ <triangle index="1243" v0="313" v1="314" v2="845"/>
+ <triangle index="1244" v0="313" v1="845" v2="846"/>
+ <triangle index="1245" v0="312" v1="313" v2="861"/>
+ <triangle index="1246" v0="580" v1="836" v2="846"/>
+ <triangle index="1247" v0="311" v1="312" v2="847"/>
+ <triangle index="1248" v0="311" v1="847" v2="848"/>
+ <triangle index="1249" v0="311" v1="848" v2="849"/>
+ <triangle index="1250" v0="838" v1="840" v2="848"/>
+ <triangle index="1251" v0="310" v1="311" v2="849"/>
+ <triangle index="1252" v0="310" v1="849" v2="851"/>
+ <triangle index="1253" v0="308" v1="1425" v2="1426"/>
+ <triangle index="1254" v0="576" v1="816" v2="1990"/>
+ <triangle index="1255" v0="310" v1="851" v2="852"/>
+ <triangle index="1256" v0="850" v1="851" v2="853"/>
+ <triangle index="1257" v0="309" v1="310" v2="852"/>
+ <triangle index="1258" v0="309" v1="1425" v2="1429"/>
+ <triangle index="1259" v0="850" v1="853" v2="854"/>
+ <triangle index="1260" v0="838" v1="848" v2="853"/>
+ <triangle index="1261" v0="850" v1="852" v2="1429"/>
+ <triangle index="1262" v0="864" v1="1369" v2="1435"/>
+ <triangle index="1263" v0="579" v1="857" v2="859"/>
+ <triangle index="1264" v0="829" v1="859" v2="871"/>
+ <triangle index="1265" v0="844" v1="856" v2="857"/>
+ <triangle index="1266" v0="855" v1="856" v2="858"/>
+ <triangle index="1267" v0="579" v1="844" v2="857"/>
+ <triangle index="1268" v0="579" v1="834" v2="859"/>
+ <triangle index="1269" v0="855" v1="858" v2="866"/>
+ <triangle index="1270" v0="316" v1="317" v2="870"/>
+ <triangle index="1271" v0="829" v1="832" v2="872"/>
+ <triangle index="1272" v0="855" v1="857" v2="859"/>
+ <triangle index="1273" v0="314" v1="315" v2="860"/>
+ <triangle index="1274" v0="314" v1="836" v2="860"/>
+ <triangle index="1275" v0="580" v1="840" v2="861"/>
+ <triangle index="1276" v0="313" v1="846" v2="861"/>
+ <triangle index="1277" v0="838" v1="853" v2="862"/>
+ <triangle index="1278" v0="854" v1="862" v2="863"/>
+ <triangle index="1279" v0="854" v1="863" v2="1432"/>
+ <triangle index="1280" v0="817" v1="865" v2="1434"/>
+ <triangle index="1281" v0="850" v1="854" v2="1430"/>
+ <triangle index="1282" v0="481" v1="1368" v2="1369"/>
+ <triangle index="1283" v0="830" v1="863" v2="865"/>
+ <triangle index="1284" v0="863" v1="864" v2="1435"/>
+ <triangle index="1285" v0="855" v1="866" v2="867"/>
+ <triangle index="1286" v0="581" v1="873" v2="874"/>
+ <triangle index="1287" v0="855" v1="859" v2="867"/>
+ <triangle index="1288" v0="878" v1="879" v2="882"/>
+ <triangle index="1289" v0="581" v1="866" v2="868"/>
+ <triangle index="1290" v0="866" v1="867" v2="868"/>
+ <triangle index="1291" v0="483" v1="885" v2="887"/>
+ <triangle index="1292" v0="1436" v1="1444" v2="1993"/>
+ <triangle index="1293" v0="316" v1="858" v2="870"/>
+ <triangle index="1294" v0="858" v1="870" v2="874"/>
+ <triangle index="1295" v0="833" v1="871" v2="883"/>
+ <triangle index="1296" v0="859" v1="867" v2="871"/>
+ <triangle index="1297" v0="578" v1="832" v2="872"/>
+ <triangle index="1298" v0="833" v1="871" v2="872"/>
+ <triangle index="1299" v0="317" v1="870" v2="874"/>
+ <triangle index="1300" v0="581" v1="873" v2="1992"/>
+ <triangle index="1301" v0="581" v1="866" v2="874"/>
+ <triangle index="1302" v0="317" v1="873" v2="874"/>
+ <triangle index="1303" v0="875" v1="880" v2="884"/>
+ <triangle index="1304" v0="582" v1="875" v2="877"/>
+ <triangle index="1305" v0="178" v1="1994" v2="1995"/>
+ <triangle index="1306" v0="881" v1="888" v2="898"/>
+ <triangle index="1307" v0="582" v1="877" v2="878"/>
+ <triangle index="1308" v0="181" v1="824" v2="877"/>
+ <triangle index="1309" v0="582" v1="878" v2="879"/>
+ <triangle index="1310" v0="833" v1="878" v2="3292"/>
+ <triangle index="1311" v0="879" v1="885" v2="894"/>
+ <triangle index="1312" v0="483" v1="867" v2="882"/>
+ <triangle index="1313" v0="180" v1="875" v2="884"/>
+ <triangle index="1314" v0="889" v1="891" v2="898"/>
+ <triangle index="1315" v0="880" v1="886" v2="894"/>
+ <triangle index="1316" v0="583" v1="888" v2="891"/>
+ <triangle index="1317" v0="867" v1="871" v2="883"/>
+ <triangle index="1318" v0="878" v1="882" v2="883"/>
+ <triangle index="1319" v0="833" v1="878" v2="883"/>
+ <triangle index="1320" v0="867" v1="882" v2="883"/>
+ <triangle index="1321" v0="179" v1="884" v2="893"/>
+ <triangle index="1322" v0="1437" v1="1440" v2="1448"/>
+ <triangle index="1323" v0="582" v1="879" v2="894"/>
+ <triangle index="1324" v0="881" v1="885" v2="887"/>
+ <triangle index="1325" v0="876" v1="880" v2="899"/>
+ <triangle index="1326" v0="881" v1="885" v2="886"/>
+ <triangle index="1327" v0="881" v1="887" v2="888"/>
+ <triangle index="1328" v0="483" v1="869" v2="887"/>
+ <triangle index="1329" v0="888" v1="891" v2="898"/>
+ <triangle index="1330" v0="583" v1="888" v2="890"/>
+ <triangle index="1331" v0="881" v1="886" v2="895"/>
+ <triangle index="1332" v0="889" v1="898" v2="1441"/>
+ <triangle index="1333" v0="583" v1="890" v2="892"/>
+ <triangle index="1334" v0="869" v1="887" v2="890"/>
+ <triangle index="1335" v0="889" v1="891" v2="896"/>
+ <triangle index="1336" v0="570" v1="896" v2="897"/>
+ <triangle index="1337" v0="900" v1="905" v2="1443"/>
+ <triangle index="1338" v0="319" v1="320" v2="1444"/>
+ <triangle index="1339" v0="582" v1="880" v2="894"/>
+ <triangle index="1340" v0="180" v1="884" v2="893"/>
+ <triangle index="1341" v0="885" v1="886" v2="894"/>
+ <triangle index="1342" v0="886" v1="895" v2="899"/>
+ <triangle index="1343" v0="876" v1="1438" v2="1440"/>
+ <triangle index="1344" v0="1445" v1="1446" v2="1996"/>
+ <triangle index="1345" v0="570" v1="897" v2="910"/>
+ <triangle index="1346" v0="900" v1="901" v2="902"/>
+ <triangle index="1347" v0="896" v1="897" v2="903"/>
+ <triangle index="1348" v0="881" v1="895" v2="898"/>
+ <triangle index="1349" v0="895" v1="898" v2="1441"/>
+ <triangle index="1350" v0="880" v1="886" v2="899"/>
+ <triangle index="1351" v0="876" v1="895" v2="899"/>
+ <triangle index="1352" v0="905" v1="1442" v2="1443"/>
+ <triangle index="1353" v0="583" v1="891" v2="903"/>
+ <triangle index="1354" v0="800" v1="901" v2="902"/>
+ <triangle index="1355" v0="900" v1="901" v2="903"/>
+ <triangle index="1356" v0="800" v1="902" v2="904"/>
+ <triangle index="1357" v0="321" v1="322" v2="905"/>
+ <triangle index="1358" v0="900" v1="903" v2="1443"/>
+ <triangle index="1359" v0="891" v1="896" v2="903"/>
+ <triangle index="1360" v0="800" v1="904" v2="908"/>
+ <triangle index="1361" v0="323" v1="904" v2="907"/>
+ <triangle index="1362" v0="321" v1="905" v2="1442"/>
+ <triangle index="1363" v0="900" v1="902" v2="905"/>
+ <triangle index="1364" v0="570" v1="910" v2="916"/>
+ <triangle index="1365" v0="324" v1="907" v2="909"/>
+ <triangle index="1366" v0="904" v1="907" v2="908"/>
+ <triangle index="1367" v0="907" v1="908" v2="909"/>
+ <triangle index="1368" v0="800" v1="897" v2="910"/>
+ <triangle index="1369" v0="906" v1="908" v2="909"/>
+ <triangle index="1370" v0="906" v1="913" v2="1452"/>
+ <triangle index="1371" v0="324" v1="325" v2="912"/>
+ <triangle index="1372" v0="915" v1="1996" v2="1997"/>
+ <triangle index="1373" v0="908" v1="910" v2="1453"/>
+ <triangle index="1374" v0="1451" v1="1452" v2="1453"/>
+ <triangle index="1375" v0="2493" v1="2494" v2="2497"/>
+ <triangle index="1376" v0="324" v1="909" v2="912"/>
+ <triangle index="1377" v0="909" v1="912" v2="913"/>
+ <triangle index="1378" v0="906" v1="909" v2="913"/>
+ <triangle index="1379" v0="911" v1="913" v2="2738"/>
+ <triangle index="1380" v0="1989" v1="2002" v2="2004"/>
+ <triangle index="1381" v0="906" v1="908" v2="1453"/>
+ <triangle index="1382" v0="915" v1="916" v2="1996"/>
+ <triangle index="1383" v0="915" v1="1997" v2="2006"/>
+ <triangle index="1384" v0="570" v1="916" v2="1996"/>
+ <triangle index="1385" v0="915" v1="916" v2="1453"/>
+ <triangle index="1386" v0="917" v1="918" v2="1454"/>
+ <triangle index="1387" v0="584" v1="920" v2="2037"/>
+ <triangle index="1388" v0="392" v1="936" v2="1472"/>
+ <triangle index="1389" v0="584" v1="918" v2="2031"/>
+ <triangle index="1390" v0="484" v1="1492" v2="1497"/>
+ <triangle index="1391" v0="921" v1="1455" v2="1459"/>
+ <triangle index="1392" v0="584" v1="917" v2="920"/>
+ <triangle index="1393" v0="919" v1="920" v2="1456"/>
+ <triangle index="1394" v0="396" v1="397" v2="1455"/>
+ <triangle index="1395" v0="2014" v1="2017" v2="2019"/>
+ <triangle index="1396" v0="403" v1="926" v2="1462"/>
+ <triangle index="1397" v0="586" v1="924" v2="2025"/>
+ <triangle index="1398" v0="1461" v1="2025" v2="3300"/>
+ <triangle index="1399" v0="944" v1="947" v2="949"/>
+ <triangle index="1400" v0="586" v1="922" v2="924"/>
+ <triangle index="1401" v0="405" v1="923" v2="924"/>
+ <triangle index="1402" v0="1463" v1="1464" v2="1465"/>
+ <triangle index="1403" v0="925" v1="1467" v2="1468"/>
+ <triangle index="1404" v0="403" v1="922" v2="926"/>
+ <triangle index="1405" v0="925" v1="1467" v2="3301"/>
+ <triangle index="1406" v0="399" v1="2011" v2="2013"/>
+ <triangle index="1407" v0="1460" v1="2012" v2="2499"/>
+ <triangle index="1408" v0="930" v1="932" v2="933"/>
+ <triangle index="1409" v0="928" v1="932" v2="935"/>
+ <triangle index="1410" v0="928" v1="932" v2="933"/>
+ <triangle index="1411" v0="928" v1="929" v2="936"/>
+ <triangle index="1412" v0="2056" v1="2057" v2="2058"/>
+ <triangle index="1413" v0="588" v1="935" v2="2526"/>
+ <triangle index="1414" v0="918" v1="1454" v2="1472"/>
+ <triangle index="1415" v0="391" v1="928" v2="933"/>
+ <triangle index="1416" v0="930" v1="934" v2="2046"/>
+ <triangle index="1417" v0="390" v1="391" v2="933"/>
+ <triangle index="1418" v0="390" v1="933" v2="2056"/>
+ <triangle index="1419" v0="486" v1="934" v2="938"/>
+ <triangle index="1420" v0="588" v1="932" v2="934"/>
+ <triangle index="1421" v0="588" v1="1475" v2="2526"/>
+ <triangle index="1422" v0="931" v1="935" v2="936"/>
+ <triangle index="1423" v0="928" v1="935" v2="936"/>
+ <triangle index="1424" v0="931" v1="1472" v2="2525"/>
+ <triangle index="1425" v0="938" v1="2055" v2="2593"/>
+ <triangle index="1426" v0="484" v1="1478" v2="1493"/>
+ <triangle index="1427" v0="486" v1="2048" v2="2050"/>
+ <triangle index="1428" v0="1474" v1="1475" v2="1476"/>
+ <triangle index="1429" v0="387" v1="2042" v2="2529"/>
+ <triangle index="1430" v0="939" v1="2038" v2="2044"/>
+ <triangle index="1431" v0="90" v1="91" v2="2059"/>
+ <triangle index="1432" v0="940" v1="2787" v2="2793"/>
+ <triangle index="1433" v0="407" v1="408" v2="942"/>
+ <triangle index="1434" v0="591" v1="1504" v2="1508"/>
+ <triangle index="1435" v0="945" v1="946" v2="1518"/>
+ <triangle index="1436" v0="591" v1="942" v2="950"/>
+ <triangle index="1437" v0="948" v1="953" v2="2026"/>
+ <triangle index="1438" v0="944" v1="954" v2="1504"/>
+ <triangle index="1439" v0="942" v1="945" v2="947"/>
+ <triangle index="1440" v0="948" v1="953" v2="955"/>
+ <triangle index="1441" v0="406" v1="946" v2="1518"/>
+ <triangle index="1442" v0="943" v1="945" v2="947"/>
+ <triangle index="1443" v0="949" v1="953" v2="1517"/>
+ <triangle index="1444" v0="407" v1="945" v2="946"/>
+ <triangle index="1445" v0="944" v1="947" v2="950"/>
+ <triangle index="1446" v0="2029" v1="2522" v2="2524"/>
+ <triangle index="1447" v0="949" v1="954" v2="955"/>
+ <triangle index="1448" v0="943" v1="947" v2="949"/>
+ <triangle index="1449" v0="949" v1="953" v2="955"/>
+ <triangle index="1450" v0="942" v1="947" v2="950"/>
+ <triangle index="1451" v0="944" v1="950" v2="1504"/>
+ <triangle index="1452" v0="1516" v1="1517" v2="1518"/>
+ <triangle index="1453" v0="923" v1="924" v2="2025"/>
+ <triangle index="1454" v0="2519" v1="2520" v2="2522"/>
+ <triangle index="1455" v0="592" v1="2121" v2="2125"/>
+ <triangle index="1456" v0="943" v1="949" v2="1517"/>
+ <triangle index="1457" v0="951" v1="953" v2="2026"/>
+ <triangle index="1458" v0="952" v1="954" v2="2179"/>
+ <triangle index="1459" v0="487" v1="954" v2="1504"/>
+ <triangle index="1460" v0="2519" v1="2520" v2="2521"/>
+ <triangle index="1461" v0="952" v1="954" v2="955"/>
+ <triangle index="1462" v0="2124" v1="2127" v2="2605"/>
+ <triangle index="1463" v0="1523" v1="1579" v2="2120"/>
+ <triangle index="1464" v0="1037" v1="1038" v2="2627"/>
+ <triangle index="1465" v0="490" v1="1033" v2="1037"/>
+ <triangle index="1466" v0="95" v1="2074" v2="2075"/>
+ <triangle index="1467" v0="958" v1="965" v2="966"/>
+ <triangle index="1468" v0="94" v1="2073" v2="2074"/>
+ <triangle index="1469" v0="97" v1="958" v2="959"/>
+ <triangle index="1470" v0="960" v1="962" v2="964"/>
+ <triangle index="1471" v0="961" v1="965" v2="966"/>
+ <triangle index="1472" v0="994" v1="998" v2="1553"/>
+ <triangle index="1473" v0="96" v1="958" v2="963"/>
+ <triangle index="1474" v0="2066" v1="2067" v2="2071"/>
+ <triangle index="1475" v0="95" v1="96" v2="963"/>
+ <triangle index="1476" v0="960" v1="962" v2="963"/>
+ <triangle index="1477" v0="593" v1="970" v2="1525"/>
+ <triangle index="1478" v0="593" v1="962" v2="964"/>
+ <triangle index="1479" v0="593" v1="958" v2="966"/>
+ <triangle index="1480" v0="961" v1="965" v2="967"/>
+ <triangle index="1481" v0="488" v1="964" v2="984"/>
+ <triangle index="1482" v0="989" v1="993" v2="997"/>
+ <triangle index="1483" v0="967" v1="971" v2="990"/>
+ <triangle index="1484" v0="97" v1="98" v2="967"/>
+ <triangle index="1485" v0="2097" v1="2101" v2="2845"/>
+ <triangle index="1486" v0="1005" v1="1540" v2="2562"/>
+ <triangle index="1487" v0="973" v1="974" v2="977"/>
+ <triangle index="1488" v0="99" v1="980" v2="981"/>
+ <triangle index="1489" v0="964" v1="984" v2="1525"/>
+ <triangle index="1490" v0="1002" v1="1003" v2="1004"/>
+ <triangle index="1491" v0="961" v1="967" v2="990"/>
+ <triangle index="1492" v0="969" v1="971" v2="972"/>
+ <triangle index="1493" v0="969" v1="972" v2="974"/>
+ <triangle index="1494" v0="98" v1="99" v2="972"/>
+ <triangle index="1495" v0="975" v1="977" v2="982"/>
+ <triangle index="1496" v0="983" v1="997" v2="1001"/>
+ <triangle index="1497" v0="977" v1="982" v2="986"/>
+ <triangle index="1498" v0="973" v1="974" v2="976"/>
+ <triangle index="1499" v0="975" v1="982" v2="992"/>
+ <triangle index="1500" v0="2105" v1="2107" v2="2112"/>
+ <triangle index="1501" v0="973" v1="976" v2="979"/>
+ <triangle index="1502" v0="99" v1="972" v2="981"/>
+ <triangle index="1503" v0="969" v1="974" v2="986"/>
+ <triangle index="1504" v0="993" v1="995" v2="997"/>
+ <triangle index="1505" v0="1006" v1="1533" v2="1541"/>
+ <triangle index="1506" v0="968" v1="970" v2="1526"/>
+ <triangle index="1507" v0="973" v1="977" v2="989"/>
+ <triangle index="1508" v0="101" v1="979" v2="1546"/>
+ <triangle index="1509" v0="972" v1="974" v2="981"/>
+ <triangle index="1510" v0="100" v1="976" v2="980"/>
+ <triangle index="1511" v0="976" v1="980" v2="981"/>
+ <triangle index="1512" v0="969" v1="971" v2="990"/>
+ <triangle index="1513" v0="969" v1="982" v2="987"/>
+ <triangle index="1514" v0="988" v1="996" v2="1007"/>
+ <triangle index="1515" v0="1542" v1="1549" v2="1550"/>
+ <triangle index="1516" v0="488" v1="984" v2="2062"/>
+ <triangle index="1517" v0="978" v1="984" v2="1525"/>
+ <triangle index="1518" v0="976" v1="979" v2="985"/>
+ <triangle index="1519" v0="101" v1="979" v2="985"/>
+ <triangle index="1520" v0="974" v1="977" v2="986"/>
+ <triangle index="1521" v0="969" v1="982" v2="986"/>
+ <triangle index="1522" v0="961" v1="966" v2="991"/>
+ <triangle index="1523" v0="961" v1="987" v2="991"/>
+ <triangle index="1524" v0="1003" v1="1006" v2="2558"/>
+ <triangle index="1525" v0="998" v1="999" v2="1553"/>
+ <triangle index="1526" v0="975" v1="977" v2="993"/>
+ <triangle index="1527" v0="989" v1="1543" v2="1544"/>
+ <triangle index="1528" v0="961" v1="987" v2="990"/>
+ <triangle index="1529" v0="969" v1="987" v2="990"/>
+ <triangle index="1530" v0="968" v1="970" v2="1002"/>
+ <triangle index="1531" v0="970" v1="991" v2="1002"/>
+ <triangle index="1532" v0="982" v1="987" v2="1004"/>
+ <triangle index="1533" v0="995" v1="998" v2="1007"/>
+ <triangle index="1534" v0="975" v1="993" v2="995"/>
+ <triangle index="1535" v0="977" v1="989" v2="993"/>
+ <triangle index="1536" v0="994" v1="995" v2="998"/>
+ <triangle index="1537" v0="1008" v1="1553" v2="2099"/>
+ <triangle index="1538" v0="975" v1="992" v2="1007"/>
+ <triangle index="1539" v0="994" v1="995" v2="997"/>
+ <triangle index="1540" v0="996" v1="2090" v2="2091"/>
+ <triangle index="1541" v0="2092" v1="2096" v2="2097"/>
+ <triangle index="1542" v0="994" v1="1008" v2="1010"/>
+ <triangle index="1543" v0="983" v1="989" v2="997"/>
+ <triangle index="1544" v0="975" v1="995" v2="1007"/>
+ <triangle index="1545" v0="996" v1="998" v2="999"/>
+ <triangle index="1546" v0="1552" v1="2091" v2="2559"/>
+ <triangle index="1547" v0="999" v1="2090" v2="2095"/>
+ <triangle index="1548" v0="1764" v1="3082" v2="3086"/>
+ <triangle index="1549" v0="369" v1="2305" v2="3195"/>
+ <triangle index="1550" v0="994" v1="997" v2="1001"/>
+ <triangle index="1551" v0="1011" v1="1012" v2="1013"/>
+ <triangle index="1552" v0="968" v1="1002" v2="1003"/>
+ <triangle index="1553" v0="988" v1="1003" v2="1004"/>
+ <triangle index="1554" v0="968" v1="1003" v2="1541"/>
+ <triangle index="1555" v0="988" v1="992" v2="1004"/>
+ <triangle index="1556" v0="982" v1="992" v2="1004"/>
+ <triangle index="1557" v0="991" v1="1002" v2="1004"/>
+ <triangle index="1558" v0="1003" v1="1006" v2="1541"/>
+ <triangle index="1559" v0="2561" v1="2572" v2="2576"/>
+ <triangle index="1560" v0="968" v1="1526" v2="1528"/>
+ <triangle index="1561" v0="2091" v1="2558" v2="2559"/>
+ <triangle index="1562" v0="988" v1="992" v2="1007"/>
+ <triangle index="1563" v0="996" v1="998" v2="1007"/>
+ <triangle index="1564" v0="2090" v1="2093" v2="2095"/>
+ <triangle index="1565" v0="2846" v1="3014" v2="3139"/>
+ <triangle index="1566" v0="1015" v1="1555" v2="2103"/>
+ <triangle index="1567" v0="1845" v1="2703" v2="3205"/>
+ <triangle index="1568" v0="994" v1="1001" v2="1010"/>
+ <triangle index="1569" v0="1008" v1="1010" v2="2108"/>
+ <triangle index="1570" v0="1001" v1="1012" v2="1013"/>
+ <triangle index="1571" v0="1542" v1="1545" v2="1549"/>
+ <triangle index="1572" v0="1000" v1="1001" v2="1013"/>
+ <triangle index="1573" v0="1011" v1="1012" v2="1547"/>
+ <triangle index="1574" v0="1015" v1="2104" v2="2105"/>
+ <triangle index="1575" v0="1011" v1="1013" v2="1015"/>
+ <triangle index="1576" v0="1000" v1="2105" v2="2107"/>
+ <triangle index="1577" v0="1009" v1="1555" v2="2103"/>
+ <triangle index="1578" v0="1000" v1="1013" v2="2105"/>
+ <triangle index="1579" v0="1556" v1="2103" v2="2104"/>
+ <triangle index="1580" v0="2791" v1="2797" v2="2800"/>
+ <triangle index="1581" v0="594" v1="2068" v2="2069"/>
+ <triangle index="1582" v0="89" v1="1558" v2="2113"/>
+ <triangle index="1583" v0="1560" v1="1562" v2="1564"/>
+ <triangle index="1584" v0="86" v1="87" v2="1577"/>
+ <triangle index="1585" v0="596" v1="1018" v2="1561"/>
+ <triangle index="1586" v0="1019" v1="1020" v2="1577"/>
+ <triangle index="1587" v0="1569" v1="1575" v2="2119"/>
+ <triangle index="1588" v0="85" v1="1022" v2="1578"/>
+ <triangle index="1589" v0="597" v1="1020" v2="1576"/>
+ <triangle index="1590" v0="84" v1="85" v2="1578"/>
+ <triangle index="1591" v0="1022" v1="1023" v2="2120"/>
+ <triangle index="1592" v0="85" v1="1020" v2="1022"/>
+ <triangle index="1593" v0="1021" v1="1022" v2="2120"/>
+ <triangle index="1594" v0="2507" v1="2510" v2="2512"/>
+ <triangle index="1595" v0="597" v1="1569" v2="2119"/>
+ <triangle index="1596" v0="78" v1="79" v2="1897"/>
+ <triangle index="1597" v0="2460" v1="2711" v2="2713"/>
+ <triangle index="1598" v0="416" v1="1028" v2="1583"/>
+ <triangle index="1599" v0="1592" v1="1593" v2="1596"/>
+ <triangle index="1600" v0="414" v1="415" v2="1584"/>
+ <triangle index="1601" v0="1026" v1="1029" v2="1031"/>
+ <triangle index="1602" v0="1027" v1="1034" v2="1036"/>
+ <triangle index="1603" v0="600" v1="1029" v2="1030"/>
+ <triangle index="1604" v0="1028" v1="1031" v2="1585"/>
+ <triangle index="1605" v0="1025" v1="1582" v2="1583"/>
+ <triangle index="1606" v0="415" v1="1026" v2="1584"/>
+ <triangle index="1607" v0="1027" v1="1029" v2="1030"/>
+ <triangle index="1608" v0="1030" v1="1033" v2="1034"/>
+ <triangle index="1609" v0="1030" v1="1587" v2="2626"/>
+ <triangle index="1610" v0="600" v1="1031" v2="1585"/>
+ <triangle index="1611" v0="416" v1="1028" v2="1031"/>
+ <triangle index="1612" v0="410" v1="1511" v2="1514"/>
+ <triangle index="1613" v0="1511" v1="1512" v2="1514"/>
+ <triangle index="1614" v0="1027" v1="1030" v2="1034"/>
+ <triangle index="1615" v0="1032" v1="1037" v2="2624"/>
+ <triangle index="1616" v0="1027" v1="1036" v2="1584"/>
+ <triangle index="1617" v0="1034" v1="1036" v2="1589"/>
+ <triangle index="1618" v0="2176" v1="2624" v2="2625"/>
+ <triangle index="1619" v0="1590" v1="2158" v2="2160"/>
+ <triangle index="1620" v0="413" v1="1039" v2="2194"/>
+ <triangle index="1621" v0="1588" v1="1589" v2="2194"/>
+ <triangle index="1622" v0="1032" v1="1033" v2="1037"/>
+ <triangle index="1623" v0="1035" v1="1037" v2="1038"/>
+ <triangle index="1624" v0="2162" v1="2163" v2="2164"/>
+ <triangle index="1625" v0="2185" v1="2187" v2="2626"/>
+ <triangle index="1626" v0="420" v1="1040" v2="1591"/>
+ <triangle index="1627" v0="414" v1="1036" v2="1039"/>
+ <triangle index="1628" v0="601" v1="1040" v2="1042"/>
+ <triangle index="1629" v0="418" v1="419" v2="1592"/>
+ <triangle index="1630" v0="1592" v1="1595" v2="1596"/>
+ <triangle index="1631" v0="491" v1="1600" v2="1604"/>
+ <triangle index="1632" v0="1602" v1="1610" v2="1619"/>
+ <triangle index="1633" v0="423" v1="424" v2="2203"/>
+ <triangle index="1634" v0="1315" v1="1320" v2="1321"/>
+ <triangle index="1635" v0="494" v1="1044" v2="1045"/>
+ <triangle index="1636" v0="281" v1="1046" v2="1047"/>
+ <triangle index="1637" v0="494" v1="611" v2="1045"/>
+ <triangle index="1638" v0="612" v1="1060" v2="1622"/>
+ <triangle index="1639" v0="604" v1="1044" v2="1047"/>
+ <triangle index="1640" v0="282" v1="1044" v2="1046"/>
+ <triangle index="1641" v0="1044" v1="1046" v2="1047"/>
+ <triangle index="1642" v0="206" v1="1049" v2="1052"/>
+ <triangle index="1643" v0="492" v1="1048" v2="1050"/>
+ <triangle index="1644" v0="492" v1="1048" v2="1049"/>
+ <triangle index="1645" v0="206" v1="1048" v2="1049"/>
+ <triangle index="1646" v0="605" v1="1048" v2="1050"/>
+ <triangle index="1647" v0="492" v1="603" v2="1050"/>
+ <triangle index="1648" v0="279" v1="280" v2="1051"/>
+ <triangle index="1649" v0="279" v1="619" v2="1051"/>
+ <triangle index="1650" v0="205" v1="206" v2="1052"/>
+ <triangle index="1651" v0="205" v1="607" v2="1052"/>
+ <triangle index="1652" v0="492" v1="1049" v2="1053"/>
+ <triangle index="1653" v0="607" v1="610" v2="1053"/>
+ <triangle index="1654" v0="516" v1="1055" v2="1057"/>
+ <triangle index="1655" v0="204" v1="609" v2="1054"/>
+ <triangle index="1656" v0="611" v1="612" v2="1055"/>
+ <triangle index="1657" v0="1056" v1="1058" v2="1059"/>
+ <triangle index="1658" v0="283" v1="445" v2="1062"/>
+ <triangle index="1659" v0="612" v1="1055" v2="1057"/>
+ <triangle index="1660" v0="516" v1="1057" v2="1058"/>
+ <triangle index="1661" v0="516" v1="677" v2="1058"/>
+ <triangle index="1662" v0="677" v1="1058" v2="1061"/>
+ <triangle index="1663" v0="436" v1="684" v2="1059"/>
+ <triangle index="1664" v0="443" v1="1059" v2="1062"/>
+ <triangle index="1665" v0="282" v1="1063" v2="1622"/>
+ <triangle index="1666" v0="1060" v1="1063" v2="1622"/>
+ <triangle index="1667" v0="517" v1="677" v2="1061"/>
+ <triangle index="1668" v0="436" v1="517" v2="1061"/>
+ <triangle index="1669" v0="1056" v1="1059" v2="1062"/>
+ <triangle index="1670" v0="443" v1="445" v2="1062"/>
+ <triangle index="1671" v0="159" v1="160" v2="1623"/>
+ <triangle index="1672" v0="283" v1="1060" v2="1063"/>
+ <triangle index="1673" v0="1064" v1="1068" v2="3297"/>
+ <triangle index="1674" v0="160" v1="1064" v2="1623"/>
+ <triangle index="1675" v0="1065" v1="1066" v2="1623"/>
+ <triangle index="1676" v0="158" v1="159" v2="1066"/>
+ <triangle index="1677" v0="158" v1="1070" v2="1633"/>
+ <triangle index="1678" v0="1114" v1="1118" v2="3295"/>
+ <triangle index="1679" v0="1067" v1="1624" v2="1625"/>
+ <triangle index="1680" v0="622" v1="1064" v2="3297"/>
+ <triangle index="1681" v0="162" v1="1067" v2="1068"/>
+ <triangle index="1682" v0="156" v1="157" v2="1634"/>
+ <triangle index="1683" v0="1069" v1="1636" v2="1648"/>
+ <triangle index="1684" v0="158" v1="1066" v2="1070"/>
+ <triangle index="1685" v0="1069" v1="1648" v2="1649"/>
+ <triangle index="1686" v0="162" v1="163" v2="1624"/>
+ <triangle index="1687" v0="1104" v1="1112" v2="1751"/>
+ <triangle index="1688" v0="332" v1="1074" v2="1657"/>
+ <triangle index="1689" v0="625" v1="1076" v2="3302"/>
+ <triangle index="1690" v0="1073" v1="1704" v2="2285"/>
+ <triangle index="1691" v0="1689" v1="1691" v2="1696"/>
+ <triangle index="1692" v0="332" v1="1072" v2="1074"/>
+ <triangle index="1693" v0="1073" v1="1074" v2="1703"/>
+ <triangle index="1694" v0="625" v1="1694" v2="1697"/>
+ <triangle index="1695" v0="334" v1="1077" v2="1078"/>
+ <triangle index="1696" v0="625" v1="1072" v2="1076"/>
+ <triangle index="1697" v0="1075" v1="1076" v2="1077"/>
+ <triangle index="1698" v0="1075" v1="1077" v2="1078"/>
+ <triangle index="1699" v0="333" v1="334" v2="1077"/>
+ <triangle index="1700" v0="1075" v1="1078" v2="1085"/>
+ <triangle index="1701" v0="628" v1="1078" v2="1080"/>
+ <triangle index="1702" v0="1079" v1="1085" v2="1658"/>
+ <triangle index="1703" v0="626" v1="1677" v2="1717"/>
+ <triangle index="1704" v0="628" v1="1080" v2="1081"/>
+ <triangle index="1705" v0="334" v1="335" v2="1080"/>
+ <triangle index="1706" v0="1081" v1="1083" v2="1086"/>
+ <triangle index="1707" v0="335" v1="336" v2="1081"/>
+ <triangle index="1708" v0="1082" v1="1083" v2="1086"/>
+ <triangle index="1709" v0="1086" v1="1091" v2="1669"/>
+ <triangle index="1710" v0="628" v1="1081" v2="1086"/>
+ <triangle index="1711" v0="1082" v1="1083" v2="1092"/>
+ <triangle index="1712" v0="499" v1="1079" v2="1084"/>
+ <triangle index="1713" v0="499" v1="1084" v2="1089"/>
+ <triangle index="1714" v0="1075" v1="1085" v2="1658"/>
+ <triangle index="1715" v0="1079" v1="1084" v2="1085"/>
+ <triangle index="1716" v0="628" v1="1084" v2="1089"/>
+ <triangle index="1717" v0="1086" v1="1089" v2="1091"/>
+ <triangle index="1718" v0="1087" v1="1661" v2="1663"/>
+ <triangle index="1719" v0="337" v1="338" v2="1660"/>
+ <triangle index="1720" v0="336" v1="1083" v2="1088"/>
+ <triangle index="1721" v0="1083" v1="1088" v2="1092"/>
+ <triangle index="1722" v0="1089" v1="1091" v2="1094"/>
+ <triangle index="1723" v0="628" v1="1086" v2="1089"/>
+ <triangle index="1724" v0="1090" v1="1091" v2="1094"/>
+ <triangle index="1725" v0="1090" v1="1095" v2="1718"/>
+ <triangle index="1726" v0="499" v1="1089" v2="1094"/>
+ <triangle index="1727" v0="1090" v1="1091" v2="1095"/>
+ <triangle index="1728" v0="1082" v1="1092" v2="1093"/>
+ <triangle index="1729" v0="1087" v1="1088" v2="1092"/>
+ <triangle index="1730" v0="1095" v1="1097" v2="1669"/>
+ <triangle index="1731" v0="629" v1="1663" v2="1668"/>
+ <triangle index="1732" v0="1098" v1="1099" v2="1670"/>
+ <triangle index="1733" v0="1094" v1="1101" v2="1102"/>
+ <triangle index="1734" v0="1090" v1="1101" v2="1115"/>
+ <triangle index="1735" v0="1093" v1="1097" v2="1719"/>
+ <triangle index="1736" v0="624" v1="1110" v2="1112"/>
+ <triangle index="1737" v0="1090" v1="1094" v2="1101"/>
+ <triangle index="1738" v0="1082" v1="1097" v2="1669"/>
+ <triangle index="1739" v0="1095" v1="1097" v2="1719"/>
+ <triangle index="1740" v0="499" v1="1079" v2="1670"/>
+ <triangle index="1741" v0="1102" v1="1103" v2="1107"/>
+ <triangle index="1742" v0="499" v1="1099" v2="1670"/>
+ <triangle index="1743" v0="1098" v1="1099" v2="1102"/>
+ <triangle index="1744" v0="1103" v1="1105" v2="1107"/>
+ <triangle index="1745" v0="1119" v1="1121" v2="2294"/>
+ <triangle index="1746" v0="1094" v1="1099" v2="1102"/>
+ <triangle index="1747" v0="1100" v1="1115" v2="1121"/>
+ <triangle index="1748" v0="1098" v1="1102" v2="1103"/>
+ <triangle index="1749" v0="1100" v1="1101" v2="1102"/>
+ <triangle index="1750" v0="1098" v1="1103" v2="2281"/>
+ <triangle index="1751" v0="1096" v1="1103" v2="1105"/>
+ <triangle index="1752" v0="1096" v1="1105" v2="1108"/>
+ <triangle index="1753" v0="1104" v1="1107" v2="1110"/>
+ <triangle index="1754" v0="1106" v1="1108" v2="1109"/>
+ <triangle index="1755" v0="1104" v1="1105" v2="1107"/>
+ <triangle index="1756" v0="2298" v1="2299" v2="2302"/>
+ <triangle index="1757" v0="1105" v1="1108" v2="1716"/>
+ <triangle index="1758" v0="1104" v1="1110" v2="1112"/>
+ <triangle index="1759" v0="1100" v1="1102" v2="1107"/>
+ <triangle index="1760" v0="1096" v1="1108" v2="2282"/>
+ <triangle index="1761" v0="1106" v1="1716" v2="2291"/>
+ <triangle index="1762" v0="1670" v1="1673" v2="2281"/>
+ <triangle index="1763" v0="1674" v1="1675" v2="1676"/>
+ <triangle index="1764" v0="624" v1="1110" v2="1117"/>
+ <triangle index="1765" v0="1110" v1="1117" v2="1125"/>
+ <triangle index="1766" v0="1640" v1="1735" v2="1737"/>
+ <triangle index="1767" v0="1115" v1="1116" v2="1718"/>
+ <triangle index="1768" v0="1104" v1="1113" v2="1716"/>
+ <triangle index="1769" v0="1104" v1="1113" v2="1751"/>
+ <triangle index="1770" v0="1677" v1="1717" v2="2291"/>
+ <triangle index="1771" v0="624" v1="1124" v2="1631"/>
+ <triangle index="1772" v0="1114" v1="1117" v2="1122"/>
+ <triangle index="1773" v0="1119" v1="1125" v2="1126"/>
+ <triangle index="1774" v0="1100" v1="1101" v2="1115"/>
+ <triangle index="1775" v0="1111" v1="1115" v2="1727"/>
+ <triangle index="1776" v0="1720" v1="1724" v2="1726"/>
+ <triangle index="1777" v0="629" v1="1093" v2="1719"/>
+ <triangle index="1778" v0="624" v1="1117" v2="1122"/>
+ <triangle index="1779" v0="1114" v1="1117" v2="1125"/>
+ <triangle index="1780" v0="1118" v1="1122" v2="1123"/>
+ <triangle index="1781" v0="3293" v1="3296" v2="3297"/>
+ <triangle index="1782" v0="1114" v1="1741" v2="3295"/>
+ <triangle index="1783" v0="1119" v1="1120" v2="1121"/>
+ <triangle index="1784" v0="1107" v1="1110" v2="1120"/>
+ <triangle index="1785" v0="1110" v1="1120" v2="1125"/>
+ <triangle index="1786" v0="1111" v1="1115" v2="1121"/>
+ <triangle index="1787" v0="1100" v1="1120" v2="1121"/>
+ <triangle index="1788" v0="624" v1="1122" v2="1123"/>
+ <triangle index="1789" v0="1114" v1="1118" v2="1122"/>
+ <triangle index="1790" v0="624" v1="1112" v2="1751"/>
+ <triangle index="1791" v0="1071" v1="1123" v2="1625"/>
+ <triangle index="1792" v0="1630" v1="2209" v2="2635"/>
+ <triangle index="1793" v0="1071" v1="1627" v2="1628"/>
+ <triangle index="1794" v0="1114" v1="1125" v2="1126"/>
+ <triangle index="1795" v0="1119" v1="1120" v2="1125"/>
+ <triangle index="1796" v0="623" v1="1649" v2="1650"/>
+ <triangle index="1797" v0="1126" v1="1728" v2="2294"/>
+ <triangle index="1798" v0="1109" v1="1677" v2="1679"/>
+ <triangle index="1799" v0="813" v1="1756" v2="1761"/>
+ <triangle index="1800" v0="367" v1="1128" v2="3069"/>
+ <triangle index="1801" v0="627" v1="1130" v2="2304"/>
+ <triangle index="1802" v0="627" v1="2304" v2="3081"/>
+ <triangle index="1803" v0="1129" v1="1130" v2="2304"/>
+ <triangle index="1804" v0="627" v1="1128" v2="1130"/>
+ <triangle index="1805" v0="369" v1="1129" v2="1130"/>
+ <triangle index="1806" v0="152" v1="1132" v2="1133"/>
+ <triangle index="1807" v0="630" v1="1135" v2="1641"/>
+ <triangle index="1808" v0="151" v1="1766" v2="2306"/>
+ <triangle index="1809" v0="1132" v1="1767" v2="2306"/>
+ <triangle index="1810" v0="152" v1="153" v2="1133"/>
+ <triangle index="1811" v0="630" v1="1132" v2="1133"/>
+ <triangle index="1812" v0="1134" v1="1639" v2="1641"/>
+ <triangle index="1813" v0="1634" v1="1636" v2="1638"/>
+ <triangle index="1814" v0="630" v1="1131" v2="1135"/>
+ <triangle index="1815" v0="1134" v1="1135" v2="1637"/>
+ <triangle index="1816" v0="137" v1="138" v2="2390"/>
+ <triangle index="1817" v0="632" v1="1819" v2="1820"/>
+ <triangle index="1818" v0="1220" v1="1222" v2="1224"/>
+ <triangle index="1819" v0="1221" v1="1834" v2="1836"/>
+ <triangle index="1820" v0="346" v1="1826" v2="1828"/>
+ <triangle index="1821" v0="503" v1="1148" v2="2353"/>
+ <triangle index="1822" v0="2214" v1="2215" v2="2636"/>
+ <triangle index="1823" v0="2220" v1="2222" v2="2224"/>
+ <triangle index="1824" v0="1140" v1="2871" v2="2875"/>
+ <triangle index="1825" v0="1643" v1="1767" v2="1768"/>
+ <triangle index="1826" v0="342" v1="1141" v2="2227"/>
+ <triangle index="1827" v0="636" v1="2241" v2="2401"/>
+ <triangle index="1828" v0="1196" v1="1201" v2="1207"/>
+ <triangle index="1829" v0="646" v1="1187" v2="1190"/>
+ <triangle index="1830" v0="1144" v1="1146" v2="1147"/>
+ <triangle index="1831" v0="1143" v1="1149" v2="1150"/>
+ <triangle index="1832" v0="1143" v1="1146" v2="1147"/>
+ <triangle index="1833" v0="347" v1="348" v2="2350"/>
+ <triangle index="1834" v0="638" v1="1148" v2="1162"/>
+ <triangle index="1835" v0="1153" v1="1155" v2="1177"/>
+ <triangle index="1836" v0="349" v1="1143" v2="1147"/>
+ <triangle index="1837" v0="1144" v1="2353" v2="2656"/>
+ <triangle index="1838" v0="348" v1="349" v2="1147"/>
+ <triangle index="1839" v0="348" v1="1147" v2="2349"/>
+ <triangle index="1840" v0="1152" v1="1163" v2="1165"/>
+ <triangle index="1841" v0="638" v1="1146" v2="1148"/>
+ <triangle index="1842" v0="638" v1="1143" v2="1150"/>
+ <triangle index="1843" v0="1145" v1="1149" v2="1151"/>
+ <triangle index="1844" v0="1148" v1="1160" v2="1162"/>
+ <triangle index="1845" v0="1145" v1="1149" v2="1150"/>
+ <triangle index="1846" v0="1145" v1="1151" v2="1155"/>
+ <triangle index="1847" v0="350" v1="351" v2="1151"/>
+ <triangle index="1848" v0="1794" v1="1798" v2="2688"/>
+ <triangle index="1849" v0="1157" v1="1168" v2="1174"/>
+ <triangle index="1850" v0="1145" v1="1150" v2="1154"/>
+ <triangle index="1851" v0="352" v1="1158" v2="1169"/>
+ <triangle index="1852" v0="1154" v1="1157" v2="1168"/>
+ <triangle index="1853" v0="1145" v1="1155" v2="1157"/>
+ <triangle index="1854" v0="1145" v1="1154" v2="1157"/>
+ <triangle index="1855" v0="1153" v1="1155" v2="1158"/>
+ <triangle index="1856" v0="1156" v1="1160" v2="1161"/>
+ <triangle index="1857" v0="1152" v1="1163" v2="1164"/>
+ <triangle index="1858" v0="1168" v1="1171" v2="1789"/>
+ <triangle index="1859" v0="1157" v1="1174" v2="1177"/>
+ <triangle index="1860" v0="1153" v1="1158" v2="1170"/>
+ <triangle index="1861" v0="351" v1="352" v2="1159"/>
+ <triangle index="1862" v0="1151" v1="1155" v2="1159"/>
+ <triangle index="1863" v0="352" v1="1158" v2="1159"/>
+ <triangle index="1864" v0="503" v1="1160" v2="1161"/>
+ <triangle index="1865" v0="1156" v1="1160" v2="1162"/>
+ <triangle index="1866" v0="1214" v1="1216" v2="2391"/>
+ <triangle index="1867" v0="1191" v1="1195" v2="1204"/>
+ <triangle index="1868" v0="1156" v1="1162" v2="1163"/>
+ <triangle index="1869" v0="638" v1="1150" v2="1165"/>
+ <triangle index="1870" v0="1156" v1="1163" v2="1164"/>
+ <triangle index="1871" v0="1152" v1="1165" v2="1171"/>
+ <triangle index="1872" v0="1156" v1="1161" v2="1784"/>
+ <triangle index="1873" v0="1152" v1="1172" v2="1790"/>
+ <triangle index="1874" v0="1150" v1="1154" v2="1165"/>
+ <triangle index="1875" v0="1162" v1="1163" v2="1165"/>
+ <triangle index="1876" v0="1172" v1="1789" v2="2359"/>
+ <triangle index="1877" v0="1173" v1="1175" v2="1176"/>
+ <triangle index="1878" v0="2373" v1="2376" v2="2681"/>
+ <triangle index="1879" v0="1788" v1="2354" v2="2670"/>
+ <triangle index="1880" v0="1154" v1="1168" v2="1171"/>
+ <triangle index="1881" v0="1166" v1="1175" v2="1176"/>
+ <triangle index="1882" v0="1167" v1="1169" v2="2355"/>
+ <triangle index="1883" v0="352" v1="353" v2="1169"/>
+ <triangle index="1884" v0="1153" v1="2661" v2="2681"/>
+ <triangle index="1885" v0="1167" v1="1169" v2="1170"/>
+ <triangle index="1886" v0="1154" v1="1165" v2="1171"/>
+ <triangle index="1887" v0="1152" v1="1172" v2="1789"/>
+ <triangle index="1888" v0="1152" v1="1164" v2="1790"/>
+ <triangle index="1889" v0="637" v1="1791" v2="1795"/>
+ <triangle index="1890" v0="1166" v1="1176" v2="2358"/>
+ <triangle index="1891" v0="2376" v1="2661" v2="2681"/>
+ <triangle index="1892" v0="1166" v1="1168" v2="1175"/>
+ <triangle index="1893" v0="1174" v1="1177" v2="2681"/>
+ <triangle index="1894" v0="1173" v1="1174" v2="1175"/>
+ <triangle index="1895" v0="1168" v1="1174" v2="1175"/>
+ <triangle index="1896" v0="505" v1="2360" v2="2362"/>
+ <triangle index="1897" v0="1801" v1="2659" v2="2680"/>
+ <triangle index="1898" v0="1155" v1="1157" v2="1177"/>
+ <triangle index="1899" v0="1173" v1="1174" v2="2681"/>
+ <triangle index="1900" v0="1804" v1="1805" v2="2684"/>
+ <triangle index="1901" v0="2935" v1="2936" v2="2940"/>
+ <triangle index="1902" v0="118" v1="1803" v2="2382"/>
+ <triangle index="1903" v0="1179" v1="2377" v2="2383"/>
+ <triangle index="1904" v0="128" v1="1182" v2="1811"/>
+ <triangle index="1905" v0="642" v1="1798" v2="2348"/>
+ <triangle index="1906" v0="127" v1="1184" v2="1812"/>
+ <triangle index="1907" v0="643" v1="1181" v2="2384"/>
+ <triangle index="1908" v0="1809" v1="1810" v2="2384"/>
+ <triangle index="1909" v0="1182" v1="1810" v2="1811"/>
+ <triangle index="1910" v0="125" v1="126" v2="2386"/>
+ <triangle index="1911" v0="2363" v1="2367" v2="2368"/>
+ <triangle index="1912" v0="127" v1="1181" v2="1184"/>
+ <triangle index="1913" v0="1183" v1="2364" v2="2388"/>
+ <triangle index="1914" v0="135" v1="136" v2="1186"/>
+ <triangle index="1915" v0="645" v1="1199" v2="1815"/>
+ <triangle index="1916" v0="135" v1="1186" v2="1187"/>
+ <triangle index="1917" v0="1186" v1="1187" v2="1188"/>
+ <triangle index="1918" v0="135" v1="1187" v2="1189"/>
+ <triangle index="1919" v0="646" v1="1187" v2="1188"/>
+ <triangle index="1920" v0="646" v1="1188" v2="1191"/>
+ <triangle index="1921" v0="1188" v1="1192" v2="1195"/>
+ <triangle index="1922" v0="134" v1="135" v2="1189"/>
+ <triangle index="1923" v0="134" v1="1189" v2="1190"/>
+ <triangle index="1924" v0="134" v1="1190" v2="1814"/>
+ <triangle index="1925" v0="646" v1="1201" v2="1208"/>
+ <triangle index="1926" v0="1142" v1="1201" v2="1207"/>
+ <triangle index="1927" v0="1191" v1="1200" v2="1203"/>
+ <triangle index="1928" v0="506" v1="1194" v2="1206"/>
+ <triangle index="1929" v0="645" v1="1188" v2="1192"/>
+ <triangle index="1930" v0="1136" v1="1816" v2="1818"/>
+ <triangle index="1931" v0="138" v1="1817" v2="2390"/>
+ <triangle index="1932" v0="506" v1="1204" v2="1206"/>
+ <triangle index="1933" v0="1193" v1="1194" v2="2389"/>
+ <triangle index="1934" v0="506" v1="1192" v2="1195"/>
+ <triangle index="1935" v0="1188" v1="1191" v2="1195"/>
+ <triangle index="1936" v0="1786" v1="1792" v2="1793"/>
+ <triangle index="1937" v0="1202" v1="1203" v2="1204"/>
+ <triangle index="1938" v0="1144" v1="2349" v2="2656"/>
+ <triangle index="1939" v0="1215" v1="1218" v2="1223"/>
+ <triangle index="1940" v0="1194" v1="1198" v2="2389"/>
+ <triangle index="1941" v0="137" v1="1185" v2="1199"/>
+ <triangle index="1942" v0="645" v1="1185" v2="1199"/>
+ <triangle index="1943" v0="1198" v1="1199" v2="2390"/>
+ <triangle index="1944" v0="646" v1="1190" v2="1208"/>
+ <triangle index="1945" v0="1196" v1="1202" v2="1203"/>
+ <triangle index="1946" v0="1196" v1="1200" v2="1201"/>
+ <triangle index="1947" v0="646" v1="1200" v2="1201"/>
+ <triangle index="1948" v0="1196" v1="1785" v2="1786"/>
+ <triangle index="1949" v0="1202" v1="1785" v2="1821"/>
+ <triangle index="1950" v0="1196" v1="1200" v2="1203"/>
+ <triangle index="1951" v0="1197" v1="1202" v2="1204"/>
+ <triangle index="1952" v0="1191" v1="1203" v2="1204"/>
+ <triangle index="1953" v0="1197" v1="1205" v2="1206"/>
+ <triangle index="1954" v0="1211" v1="1213" v2="1215"/>
+ <triangle index="1955" v0="1193" v1="1194" v2="1210"/>
+ <triangle index="1956" v0="1197" v1="1204" v2="1206"/>
+ <triangle index="1957" v0="1205" v1="1206" v2="1210"/>
+ <triangle index="1958" v0="1142" v1="1779" v2="1780"/>
+ <triangle index="1959" v0="1207" v1="1787" v2="1793"/>
+ <triangle index="1960" v0="1190" v1="1209" v2="1814"/>
+ <triangle index="1961" v0="1142" v1="1201" v2="1208"/>
+ <triangle index="1962" v0="132" v1="133" v2="1209"/>
+ <triangle index="1963" v0="132" v1="1779" v2="2346"/>
+ <triangle index="1964" v0="1205" v1="1210" v2="1213"/>
+ <triangle index="1965" v0="1193" v1="1210" v2="1212"/>
+ <triangle index="1966" v0="1214" v1="1215" v2="1216"/>
+ <triangle index="1967" v0="632" v1="1212" v2="1220"/>
+ <triangle index="1968" v0="1210" v1="1212" v2="1213"/>
+ <triangle index="1969" v0="1211" v1="1212" v2="1220"/>
+ <triangle index="1970" v0="1213" v1="1215" v2="1216"/>
+ <triangle index="1971" v0="1211" v1="1212" v2="1213"/>
+ <triangle index="1972" v0="1821" v1="1823" v2="2391"/>
+ <triangle index="1973" v0="1217" v1="1219" v2="1824"/>
+ <triangle index="1974" v0="1205" v1="1213" v2="1216"/>
+ <triangle index="1975" v0="1214" v1="1215" v2="1218"/>
+ <triangle index="1976" v0="1197" v1="1205" v2="1216"/>
+ <triangle index="1977" v0="1197" v1="1216" v2="2391"/>
+ <triangle index="1978" v0="1217" v1="1218" v2="1219"/>
+ <triangle index="1979" v0="1217" v1="1223" v2="1834"/>
+ <triangle index="1980" v0="1214" v1="1218" v2="1219"/>
+ <triangle index="1981" v0="1217" v1="1218" v2="1223"/>
+ <triangle index="1982" v0="1214" v1="1822" v2="2392"/>
+ <triangle index="1983" v0="633" v1="1219" v2="1824"/>
+ <triangle index="1984" v0="1221" v1="1222" v2="1223"/>
+ <triangle index="1985" v0="1211" v1="1220" v2="1222"/>
+ <triangle index="1986" v0="501" v1="1827" v2="2638"/>
+ <triangle index="1987" v0="632" v1="1220" v2="1224"/>
+ <triangle index="1988" v0="1211" v1="1222" v2="1223"/>
+ <triangle index="1989" v0="1221" v1="1222" v2="2403"/>
+ <triangle index="1990" v0="1211" v1="1215" v2="1223"/>
+ <triangle index="1991" v0="1217" v1="1833" v2="1834"/>
+ <triangle index="1992" v0="1836" v1="1837" v2="2403"/>
+ <triangle index="1993" v0="1820" v1="2312" v2="2317"/>
+ <triangle index="1994" v0="111" v1="112" v2="2406"/>
+ <triangle index="1995" v0="113" v1="114" v2="1840"/>
+ <triangle index="1996" v0="109" v1="1230" v2="1844"/>
+ <triangle index="1997" v0="648" v1="1228" v2="2413"/>
+ <triangle index="1998" v0="1843" v1="2413" v2="2421"/>
+ <triangle index="1999" v0="1225" v1="1838" v2="1842"/>
+ <triangle index="2000" v0="648" v1="1226" v2="1228"/>
+ <triangle index="2001" v0="111" v1="1227" v2="1228"/>
+ <triangle index="2002" v0="107" v1="108" v2="2414"/>
+ <triangle index="2003" v0="648" v1="1230" v2="2418"/>
+ <triangle index="2004" v0="109" v1="1226" v2="1230"/>
+ <triangle index="2005" v0="1229" v1="2416" v2="2418"/>
+ <triangle index="2006" v0="3305" v1="3308" v2="3309"/>
+ <triangle index="2007" v0="364" v1="365" v2="1848"/>
+ <triangle index="2008" v0="63" v1="64" v2="1233"/>
+ <triangle index="2009" v0="651" v1="1232" v2="1234"/>
+ <triangle index="2010" v0="63" v1="1233" v2="1235"/>
+ <triangle index="2011" v0="1233" v1="1235" v2="1236"/>
+ <triangle index="2012" v0="1238" v1="1239" v2="1246"/>
+ <triangle index="2013" v0="66" v1="1245" v2="1247"/>
+ <triangle index="2014" v0="63" v1="511" v2="1235"/>
+ <triangle index="2015" v0="16" v1="1235" v2="1250"/>
+ <triangle index="2016" v0="652" v1="1236" v2="1237"/>
+ <triangle index="2017" v0="1236" v1="1237" v2="1238"/>
+ <triangle index="2018" v0="652" v1="1237" v2="1240"/>
+ <triangle index="2019" v0="1241" v1="1242" v2="3298"/>
+ <triangle index="2020" v0="509" v1="1239" v2="1849"/>
+ <triangle index="2021" v0="651" v1="1236" v2="1238"/>
+ <triangle index="2022" v0="1239" v1="1245" v2="1852"/>
+ <triangle index="2023" v0="651" v1="1234" v2="1246"/>
+ <triangle index="2024" v0="652" v1="1250" v2="1251"/>
+ <triangle index="2025" v0="666" v1="669" v2="3298"/>
+ <triangle index="2026" v0="515" v1="662" v2="2427"/>
+ <triangle index="2027" v0="662" v1="665" v2="1856"/>
+ <triangle index="2028" v0="1237" v1="1240" v2="1242"/>
+ <triangle index="2029" v0="1241" v1="1242" v2="1243"/>
+ <triangle index="2030" v0="1856" v1="1861" v2="1926"/>
+ <triangle index="2031" v0="1860" v1="1921" v2="1922"/>
+ <triangle index="2032" v0="1234" v1="1245" v2="1246"/>
+ <triangle index="2033" v0="66" v1="1234" v2="1244"/>
+ <triangle index="2034" v0="653" v1="1851" v2="1852"/>
+ <triangle index="2035" v0="651" v1="1238" v2="1246"/>
+ <triangle index="2036" v0="1239" v1="1245" v2="1246"/>
+ <triangle index="2037" v0="1859" v1="1873" v2="2424"/>
+ <triangle index="2038" v0="1245" v1="1247" v2="1249"/>
+ <triangle index="2039" v0="67" v1="68" v2="1885"/>
+ <triangle index="2040" v0="1245" v1="1249" v2="1852"/>
+ <triangle index="2041" v0="1248" v1="1249" v2="1885"/>
+ <triangle index="2042" v0="14" v1="15" v2="1886"/>
+ <triangle index="2043" v0="652" v1="1235" v2="1250"/>
+ <triangle index="2044" v0="652" v1="1240" v2="1251"/>
+ <triangle index="2045" v0="15" v1="1250" v2="1886"/>
+ <triangle index="2046" v0="74" v1="1253" v2="1887"/>
+ <triangle index="2047" v0="1901" v1="2442" v2="2446"/>
+ <triangle index="2048" v0="1889" v1="1891" v2="1892"/>
+ <triangle index="2049" v0="1888" v1="1894" v2="2448"/>
+ <triangle index="2050" v0="71" v1="72" v2="2454"/>
+ <triangle index="2051" v0="1254" v1="1891" v2="1893"/>
+ <triangle index="2052" v0="657" v1="1862" v2="1863"/>
+ <triangle index="2053" v0="1339" v1="1340" v2="1878"/>
+ <triangle index="2054" v0="76" v1="1252" v2="1906"/>
+ <triangle index="2055" v0="1896" v1="1899" v2="1903"/>
+ <triangle index="2056" v0="68" v1="1258" v2="1885"/>
+ <triangle index="2057" v0="657" v1="1867" v2="1874"/>
+ <triangle index="2058" v0="1248" v1="1852" v2="2424"/>
+ <triangle index="2059" v0="1257" v1="1258" v2="1873"/>
+ <triangle index="2060" v0="1259" v1="1266" v2="1911"/>
+ <triangle index="2061" v0="674" v1="675" v2="1260"/>
+ <triangle index="2062" v0="680" v1="1259" v2="1260"/>
+ <triangle index="2063" v0="518" v1="1261" v2="1300"/>
+ <triangle index="2064" v0="680" v1="1260" v2="1261"/>
+ <triangle index="2065" v0="1283" v1="1284" v2="1296"/>
+ <triangle index="2066" v0="1292" v1="1917" v2="1918"/>
+ <triangle index="2067" v0="1262" v1="1299" v2="1307"/>
+ <triangle index="2068" v0="199" v1="200" v2="1264"/>
+ <triangle index="2069" v0="202" v1="677" v2="1263"/>
+ <triangle index="2070" v0="679" v1="685" v2="1264"/>
+ <triangle index="2071" v0="198" v1="566" v2="1265"/>
+ <triangle index="2072" v0="686" v1="688" v2="1265"/>
+ <triangle index="2073" v0="1266" v1="1267" v2="1913"/>
+ <triangle index="2074" v0="680" v1="1259" v2="1266"/>
+ <triangle index="2075" v0="1286" v1="1288" v2="1289"/>
+ <triangle index="2076" v0="681" v1="1281" v2="1283"/>
+ <triangle index="2077" v0="2" v1="1273" v2="1274"/>
+ <triangle index="2078" v0="1283" v1="1286" v2="1290"/>
+ <triangle index="2079" v0="285" v1="520" v2="1269"/>
+ <triangle index="2080" v0="689" v1="1269" v2="1271"/>
+ <triangle index="2081" v0="477" v1="1270" v2="1271"/>
+ <triangle index="2082" v0="687" v1="689" v2="1270"/>
+ <triangle index="2083" v0="567" v1="794" v2="1271"/>
+ <triangle index="2084" v0="689" v1="1270" v2="1271"/>
+ <triangle index="2085" v0="690" v1="1273" v2="1275"/>
+ <triangle index="2086" v0="2" v1="690" v2="1272"/>
+ <triangle index="2087" v0="1273" v1="1277" v2="1914"/>
+ <triangle index="2088" v0="521" v1="690" v2="3299"/>
+ <triangle index="2089" v0="1273" v1="1274" v2="1277"/>
+ <triangle index="2090" v0="702" v1="1276" v2="1279"/>
+ <triangle index="2091" v0="681" v1="1276" v2="1290"/>
+ <triangle index="2092" v0="1268" v1="1277" v2="1914"/>
+ <triangle index="2093" v0="1268" v1="1277" v2="1289"/>
+ <triangle index="2094" v0="3" v1="1274" v2="1277"/>
+ <triangle index="2095" v0="694" v1="696" v2="1278"/>
+ <triangle index="2096" v0="444" v1="698" v2="1278"/>
+ <triangle index="2097" v0="1282" v1="1291" v2="1292"/>
+ <triangle index="2098" v0="681" v1="1276" v2="1279"/>
+ <triangle index="2099" v0="697" v1="704" v2="1282"/>
+ <triangle index="2100" v0="1280" v1="1282" v2="1291"/>
+ <triangle index="2101" v0="697" v1="1279" v2="1282"/>
+ <triangle index="2102" v0="1280" v1="1281" v2="1283"/>
+ <triangle index="2103" v0="1280" v1="1281" v2="1282"/>
+ <triangle index="2104" v0="1279" v1="1281" v2="1282"/>
+ <triangle index="2105" v0="1280" v1="1295" v2="1296"/>
+ <triangle index="2106" v0="1283" v1="1285" v2="1286"/>
+ <triangle index="2107" v0="680" v1="1261" v2="1284"/>
+ <triangle index="2108" v0="680" v1="1267" v2="1285"/>
+ <triangle index="2109" v0="1267" v1="1285" v2="1286"/>
+ <triangle index="2110" v0="1283" v1="1284" v2="1285"/>
+ <triangle index="2111" v0="1267" v1="1286" v2="1288"/>
+ <triangle index="2112" v0="1268" v1="1286" v2="1290"/>
+ <triangle index="2113" v0="1287" v1="1291" v2="1292"/>
+ <triangle index="2114" v0="518" v1="1293" v2="1295"/>
+ <triangle index="2115" v0="1267" v1="1288" v2="1913"/>
+ <triangle index="2116" v0="4" v1="5" v2="1288"/>
+ <triangle index="2117" v0="4" v1="1277" v2="1289"/>
+ <triangle index="2118" v0="1268" v1="1286" v2="1289"/>
+ <triangle index="2119" v0="1268" v1="1290" v2="1914"/>
+ <triangle index="2120" v0="681" v1="1283" v2="1290"/>
+ <triangle index="2121" v0="704" v1="1282" v2="1292"/>
+ <triangle index="2122" v0="1287" v1="1291" v2="1293"/>
+ <triangle index="2123" v0="701" v1="704" v2="1915"/>
+ <triangle index="2124" v0="704" v1="1915" v2="1918"/>
+ <triangle index="2125" v0="1287" v1="1297" v2="1299"/>
+ <triangle index="2126" v0="1287" v1="1293" v2="1297"/>
+ <triangle index="2127" v0="730" v1="731" v2="1326"/>
+ <triangle index="2128" v0="1262" v1="1297" v2="1299"/>
+ <triangle index="2129" v0="518" v1="1284" v2="1296"/>
+ <triangle index="2130" v0="1280" v1="1291" v2="1295"/>
+ <triangle index="2131" v0="1280" v1="1283" v2="1296"/>
+ <triangle index="2132" v0="518" v1="1295" v2="1296"/>
+ <triangle index="2133" v0="667" v1="675" v2="1301"/>
+ <triangle index="2134" v0="674" v1="1298" v2="1300"/>
+ <triangle index="2135" v0="1293" v1="1297" v2="1298"/>
+ <triangle index="2136" v0="1262" v1="1297" v2="1303"/>
+ <triangle index="2137" v0="1287" v1="1292" v2="1917"/>
+ <triangle index="2138" v0="1287" v1="1299" v2="1917"/>
+ <triangle index="2139" v0="674" v1="1261" v2="1300"/>
+ <triangle index="2140" v0="518" v1="1298" v2="1300"/>
+ <triangle index="2141" v0="1297" v1="1303" v2="1305"/>
+ <triangle index="2142" v0="1303" v1="1305" v2="1310"/>
+ <triangle index="2143" v0="730" v1="1334" v2="1335"/>
+ <triangle index="2144" v0="1345" v1="1876" v2="1877"/>
+ <triangle index="2145" v0="1262" v1="1303" v2="1308"/>
+ <triangle index="2146" v0="1308" v1="1309" v2="1310"/>
+ <triangle index="2147" v0="1294" v1="1335" v2="2483"/>
+ <triangle index="2148" v0="1262" v1="1307" v2="1871"/>
+ <triangle index="2149" v0="1298" v1="1301" v2="1305"/>
+ <triangle index="2150" v0="1297" v1="1298" v2="1305"/>
+ <triangle index="2151" v0="1870" v1="1871" v2="1878"/>
+ <triangle index="2152" v0="1306" v1="1309" v2="1921"/>
+ <triangle index="2153" v0="1299" v1="1307" v2="1920"/>
+ <triangle index="2154" v0="1304" v1="1871" v2="1878"/>
+ <triangle index="2155" v0="1262" v1="1308" v2="1871"/>
+ <triangle index="2156" v0="1306" v1="1308" v2="1309"/>
+ <triangle index="2157" v0="653" v1="1850" v2="1857"/>
+ <triangle index="2158" v0="1301" v1="1310" v2="1923"/>
+ <triangle index="2159" v0="1303" v1="1308" v2="1310"/>
+ <triangle index="2160" v0="1309" v1="1310" v2="1923"/>
+ <triangle index="2161" v0="701" v1="703" v2="1311"/>
+ <triangle index="2162" v0="438" v1="706" v2="1311"/>
+ <triangle index="2163" v0="698" v1="1312" v2="1313"/>
+ <triangle index="2164" v0="709" v1="712" v2="1312"/>
+ <triangle index="2165" v0="432" v1="698" v2="1313"/>
+ <triangle index="2166" v0="431" v1="432" v2="1313"/>
+ <triangle index="2167" v0="425" v1="1618" v2="2206"/>
+ <triangle index="2168" v0="1315" v1="1316" v2="1320"/>
+ <triangle index="2169" v0="714" v1="725" v2="1315"/>
+ <triangle index="2170" v0="425" v1="2206" v2="2207"/>
+ <triangle index="2171" v0="714" v1="1316" v2="1317"/>
+ <triangle index="2172" v0="1314" v1="1316" v2="1320"/>
+ <triangle index="2173" v0="714" v1="722" v2="1317"/>
+ <triangle index="2174" v0="718" v1="1325" v2="1928"/>
+ <triangle index="2175" v0="602" v1="1613" v2="1614"/>
+ <triangle index="2176" v0="721" v1="1315" v2="1321"/>
+ <triangle index="2177" v0="426" v1="427" v2="2207"/>
+ <triangle index="2178" v0="1314" v1="1316" v2="1319"/>
+ <triangle index="2179" v0="1314" v1="1320" v2="2206"/>
+ <triangle index="2180" v0="1318" v1="1320" v2="1321"/>
+ <triangle index="2181" v0="1318" v1="1321" v2="1322"/>
+ <triangle index="2182" v0="1321" v1="1322" v2="1929"/>
+ <triangle index="2183" v0="1043" v1="1318" v2="1614"/>
+ <triangle index="2184" v0="602" v1="1322" v2="1929"/>
+ <triangle index="2185" v0="1606" v1="1610" v2="1611"/>
+ <triangle index="2186" v0="1930" v1="1932" v2="1945"/>
+ <triangle index="2187" v0="721" v1="1321" v2="1324"/>
+ <triangle index="2188" v0="716" v1="1323" v2="1324"/>
+ <triangle index="2189" v0="428" v1="429" v2="1325"/>
+ <triangle index="2190" v0="428" v1="1325" v2="1928"/>
+ <triangle index="2191" v0="1329" v1="1330" v2="1333"/>
+ <triangle index="2192" v0="1326" v1="1330" v2="1333"/>
+ <triangle index="2193" v0="731" v1="1327" v2="1350"/>
+ <triangle index="2194" v0="727" v1="729" v2="1327"/>
+ <triangle index="2195" v0="716" v1="1946" v2="2484"/>
+ <triangle index="2196" v0="1941" v1="1943" v2="2485"/>
+ <triangle index="2197" v0="1337" v1="1338" v2="1341"/>
+ <triangle index="2198" v0="730" v1="1330" v2="1334"/>
+ <triangle index="2199" v0="727" v1="1331" v2="1333"/>
+ <triangle index="2200" v0="1330" v1="1334" v2="1953"/>
+ <triangle index="2201" v0="727" v1="1947" v2="1952"/>
+ <triangle index="2202" v0="1331" v1="1949" v2="1950"/>
+ <triangle index="2203" v0="1332" v1="1337" v2="1338"/>
+ <triangle index="2204" v0="1336" v1="1337" v2="1339"/>
+ <triangle index="2205" v0="727" v1="1326" v2="1333"/>
+ <triangle index="2206" v0="1329" v1="1331" v2="1333"/>
+ <triangle index="2207" v0="1329" v1="1330" v2="1953"/>
+ <triangle index="2208" v0="1332" v1="1334" v2="1335"/>
+ <triangle index="2209" v0="1332" v1="1335" v2="1336"/>
+ <triangle index="2210" v0="1335" v1="1336" v2="1919"/>
+ <triangle index="2211" v0="1332" v1="1336" v2="1337"/>
+ <triangle index="2212" v0="1304" v1="1307" v2="1920"/>
+ <triangle index="2213" v0="1332" v1="1338" v2="1953"/>
+ <triangle index="2214" v0="1302" v1="1337" v2="1339"/>
+ <triangle index="2215" v0="1328" v1="1949" v2="1951"/>
+ <triangle index="2216" v0="1954" v1="2437" v2="2438"/>
+ <triangle index="2217" v0="1302" v1="1339" v2="1340"/>
+ <triangle index="2218" v0="1304" v1="1336" v2="1339"/>
+ <triangle index="2219" v0="1302" v1="1346" v2="1877"/>
+ <triangle index="2220" v0="513" v1="1863" v2="1866"/>
+ <triangle index="2221" v0="1338" v1="1341" v2="1343"/>
+ <triangle index="2222" v0="1302" v1="1341" v2="1346"/>
+ <triangle index="2223" v0="1338" v1="1343" v2="1349"/>
+ <triangle index="2224" v0="1347" v1="2431" v2="2436"/>
+ <triangle index="2225" v0="1338" v1="1349" v2="1951"/>
+ <triangle index="2226" v0="1343" v1="1346" v2="1347"/>
+ <triangle index="2227" v0="2437" v1="2439" v2="2440"/>
+ <triangle index="2228" v0="1343" v1="1349" v2="2439"/>
+ <triangle index="2229" v0="1342" v1="1347" v2="2436"/>
+ <triangle index="2230" v0="1255" v1="1872" v2="1882"/>
+ <triangle index="2231" v0="1341" v1="1343" v2="1346"/>
+ <triangle index="2232" v0="1342" v1="1343" v2="1347"/>
+ <triangle index="2233" v0="1348" v1="2434" v2="2436"/>
+ <triangle index="2234" v0="1345" v1="1346" v2="1347"/>
+ <triangle index="2235" v0="512" v1="2434" v2="2448"/>
+ <triangle index="2236" v0="1883" v1="2430" v2="2432"/>
+ <triangle index="2237" v0="1338" v1="1951" v2="1953"/>
+ <triangle index="2238" v0="1344" v1="1349" v2="2439"/>
+ <triangle index="2239" v0="699" v1="1327" v2="1350"/>
+ <triangle index="2240" v0="731" v1="1916" v2="2482"/>
+ <triangle index="2241" v0="740" v1="1352" v2="1355"/>
+ <triangle index="2242" v0="747" v1="1351" v2="1966"/>
+ <triangle index="2243" v0="746" v1="1352" v2="1967"/>
+ <triangle index="2244" v0="191" v1="747" v2="1353"/>
+ <triangle index="2245" v0="740" v1="745" v2="1353"/>
+ <triangle index="2246" v0="740" v1="1355" v2="1356"/>
+ <triangle index="2247" v0="1959" v1="1960" v2="1962"/>
+ <triangle index="2248" v0="740" v1="744" v2="1955"/>
+ <triangle index="2249" v0="1354" v1="1355" v2="1357"/>
+ <triangle index="2250" v0="530" v1="742" v2="1957"/>
+ <triangle index="2251" v0="1355" v1="1356" v2="2487"/>
+ <triangle index="2252" v0="1354" v1="1357" v2="1959"/>
+ <triangle index="2253" v0="293" v1="1964" v2="1965"/>
+ <triangle index="2254" v0="1352" v1="1355" v2="1358"/>
+ <triangle index="2255" v0="1357" v1="1358" v2="1981"/>
+ <triangle index="2256" v0="1979" v1="1980" v2="2491"/>
+ <triangle index="2257" v0="1359" v1="1384" v2="1385"/>
+ <triangle index="2258" v0="186" v1="775" v2="1360"/>
+ <triangle index="2259" v0="751" v1="753" v2="1360"/>
+ <triangle index="2260" v0="304" v1="1361" v2="1362"/>
+ <triangle index="2261" v0="771" v1="1361" v2="1363"/>
+ <triangle index="2262" v0="303" v1="304" v2="1362"/>
+ <triangle index="2263" v0="772" v1="1361" v2="1362"/>
+ <triangle index="2264" v0="771" v1="1363" v2="1971"/>
+ <triangle index="2265" v0="815" v1="1363" v2="1365"/>
+ <triangle index="2266" v0="1374" v1="1971" v2="1975"/>
+ <triangle index="2267" v0="577" v1="774" v2="1367"/>
+ <triangle index="2268" v0="305" v1="1361" v2="1365"/>
+ <triangle index="2269" v0="1361" v1="1363" v2="1365"/>
+ <triangle index="2270" v0="771" v1="1371" v2="1374"/>
+ <triangle index="2271" v0="534" v1="774" v2="1367"/>
+ <triangle index="2272" v0="577" v1="1367" v2="1368"/>
+ <triangle index="2273" v0="534" v1="1366" v2="1367"/>
+ <triangle index="2274" v0="577" v1="821" v2="1369"/>
+ <triangle index="2275" v0="481" v1="1368" v2="1370"/>
+ <triangle index="2276" v0="821" v1="1369" v2="1435"/>
+ <triangle index="2277" v0="1423" v1="1424" v2="1969"/>
+ <triangle index="2278" v0="481" v1="1370" v2="1968"/>
+ <triangle index="2279" v0="1364" v1="1370" v2="1975"/>
+ <triangle index="2280" v0="1371" v1="1372" v2="1373"/>
+ <triangle index="2281" v0="1371" v1="1374" v2="1972"/>
+ <triangle index="2282" v0="754" v1="772" v2="1372"/>
+ <triangle index="2283" v0="532" v1="1372" v2="1373"/>
+ <triangle index="2284" v0="532" v1="761" v2="1373"/>
+ <triangle index="2285" v0="462" v1="1373" v2="1972"/>
+ <triangle index="2286" v0="1371" v1="1373" v2="1972"/>
+ <triangle index="2287" v0="1374" v1="1973" v2="1975"/>
+ <triangle index="2288" v0="758" v1="780" v2="1375"/>
+ <triangle index="2289" v0="533" v1="748" v2="1375"/>
+ <triangle index="2290" v0="289" v1="1376" v2="1377"/>
+ <triangle index="2291" v0="782" v1="783" v2="1376"/>
+ <triangle index="2292" v0="289" v1="797" v2="1377"/>
+ <triangle index="2293" v0="569" v1="1377" v2="1378"/>
+ <triangle index="2294" v0="569" v1="1378" v2="1976"/>
+ <triangle index="2295" v0="1379" v1="1380" v2="1381"/>
+ <triangle index="2296" v0="783" v1="1378" v2="1381"/>
+ <triangle index="2297" v0="796" v1="1380" v2="1381"/>
+ <triangle index="2298" v0="796" v1="1382" v2="1396"/>
+ <triangle index="2299" v0="463" v1="1379" v2="1380"/>
+ <triangle index="2300" v0="783" v1="1379" v2="1381"/>
+ <triangle index="2301" v0="796" v1="1378" v2="1381"/>
+ <triangle index="2302" v0="194" v1="1382" v2="1383"/>
+ <triangle index="2303" v0="193" v1="1383" v2="1384"/>
+ <triangle index="2304" v0="193" v1="194" v2="1383"/>
+ <triangle index="2305" v0="193" v1="1384" v2="1385"/>
+ <triangle index="2306" v0="1359" v1="1384" v2="1386"/>
+ <triangle index="2307" v0="1383" v1="1384" v2="1978"/>
+ <triangle index="2308" v0="192" v1="193" v2="1385"/>
+ <triangle index="2309" v0="192" v1="1385" v2="1966"/>
+ <triangle index="2310" v0="1359" v1="1967" v2="1979"/>
+ <triangle index="2311" v0="1386" v1="1388" v2="2491"/>
+ <triangle index="2312" v0="535" v1="1387" v2="1388"/>
+ <triangle index="2313" v0="292" v1="784" v2="1387"/>
+ <triangle index="2314" v0="463" v1="1386" v2="1388"/>
+ <triangle index="2315" v0="784" v1="1387" v2="1388"/>
+ <triangle index="2316" v0="477" v1="1389" v2="1391"/>
+ <triangle index="2317" v0="478" v1="793" v2="1390"/>
+ <triangle index="2318" v0="798" v1="799" v2="1982"/>
+ <triangle index="2319" v0="793" v1="1389" v2="1390"/>
+ <triangle index="2320" v0="566" v1="792" v2="1392"/>
+ <triangle index="2321" v0="793" v1="1389" v2="1391"/>
+ <triangle index="2322" v0="196" v1="197" v2="1394"/>
+ <triangle index="2323" v0="793" v1="1391" v2="1392"/>
+ <triangle index="2324" v0="793" v1="1392" v2="1393"/>
+ <triangle index="2325" v0="197" v1="1392" v2="1394"/>
+ <triangle index="2326" v0="196" v1="1393" v2="1394"/>
+ <triangle index="2327" v0="1392" v1="1393" v2="1394"/>
+ <triangle index="2328" v0="194" v1="195" v2="1396"/>
+ <triangle index="2329" v0="796" v1="1378" v2="1983"/>
+ <triangle index="2330" v0="796" v1="1395" v2="1396"/>
+ <triangle index="2331" v0="195" v1="1395" v2="1396"/>
+ <triangle index="2332" v0="177" v1="178" v2="1397"/>
+ <triangle index="2333" v0="177" v1="1397" v2="1984"/>
+ <triangle index="2334" v0="176" v1="802" v2="1399"/>
+ <triangle index="2335" v0="572" v1="1400" v2="1415"/>
+ <triangle index="2336" v0="572" v1="1399" v2="1400"/>
+ <triangle index="2337" v0="176" v1="1398" v2="1399"/>
+ <triangle index="2338" v0="1998" v1="1999" v2="2001"/>
+ <triangle index="2339" v0="1400" v1="1986" v2="1999"/>
+ <triangle index="2340" v0="326" v1="2736" v2="2739"/>
+ <triangle index="2341" v0="803" v1="1401" v2="2886"/>
+ <triangle index="2342" v0="172" v1="1402" v2="1715"/>
+ <triangle index="2343" v0="806" v1="811" v2="1402"/>
+ <triangle index="2344" v0="480" v1="1403" v2="1406"/>
+ <triangle index="2345" v0="1403" v1="1709" v2="1713"/>
+ <triangle index="2346" v0="480" v1="1404" v2="1409"/>
+ <triangle index="2347" v0="1408" v1="1412" v2="1413"/>
+ <triangle index="2348" v0="574" v1="811" v2="1405"/>
+ <triangle index="2349" v0="812" v1="1405" v2="1406"/>
+ <triangle index="2350" v0="812" v1="1403" v2="1406"/>
+ <triangle index="2351" v0="480" v1="1404" v2="1406"/>
+ <triangle index="2352" v0="1688" v1="1691" v2="1702"/>
+ <triangle index="2353" v0="803" v1="2493" v2="2494"/>
+ <triangle index="2354" v0="1404" v1="1410" v2="1411"/>
+ <triangle index="2355" v0="1411" v1="1416" v2="1419"/>
+ <triangle index="2356" v0="1688" v1="1698" v2="1701"/>
+ <triangle index="2357" v0="1408" v1="1410" v2="1411"/>
+ <triangle index="2358" v0="1404" v1="1409" v2="1411"/>
+ <triangle index="2359" v0="1408" v1="1410" v2="1412"/>
+ <triangle index="2360" v0="1409" v1="1411" v2="1416"/>
+ <triangle index="2361" v0="1407" v1="1416" v2="1417"/>
+ <triangle index="2362" v0="1408" v1="1419" v2="1988"/>
+ <triangle index="2363" v0="807" v1="810" v2="1418"/>
+ <triangle index="2364" v0="1413" v1="1414" v2="1415"/>
+ <triangle index="2365" v0="807" v1="1412" v2="1413"/>
+ <triangle index="2366" v0="807" v1="808" v2="1414"/>
+ <triangle index="2367" v0="479" v1="1413" v2="1415"/>
+ <triangle index="2368" v0="479" v1="1415" v2="2000"/>
+ <triangle index="2369" v0="572" v1="1414" v2="1415"/>
+ <triangle index="2370" v0="1407" v1="1409" v2="1416"/>
+ <triangle index="2371" v0="1407" v1="1987" v2="2492"/>
+ <triangle index="2372" v0="1419" v1="1988" v2="1989"/>
+ <triangle index="2373" v0="1416" v1="1417" v2="1419"/>
+ <triangle index="2374" v0="804" v1="810" v2="1418"/>
+ <triangle index="2375" v0="574" v1="1410" v2="1418"/>
+ <triangle index="2376" v0="1417" v1="2492" v2="2495"/>
+ <triangle index="2377" v0="479" v1="1413" v2="1988"/>
+ <triangle index="2378" v0="170" v1="1420" v2="1761"/>
+ <triangle index="2379" v0="813" v1="1420" v2="1714"/>
+ <triangle index="2380" v0="305" v1="1365" v2="1421"/>
+ <triangle index="2381" v0="814" v1="815" v2="1421"/>
+ <triangle index="2382" v0="307" v1="308" v2="1422"/>
+ <triangle index="2383" v0="307" v1="814" v2="1422"/>
+ <triangle index="2384" v0="481" v1="1369" v2="1424"/>
+ <triangle index="2385" v0="1423" v1="1427" v2="1428"/>
+ <triangle index="2386" v0="864" v1="1369" v2="1424"/>
+ <triangle index="2387" v0="864" v1="1424" v2="1431"/>
+ <triangle index="2388" v0="816" v1="1425" v2="1427"/>
+ <triangle index="2389" v0="1427" v1="1428" v2="1430"/>
+ <triangle index="2390" v0="816" v1="1427" v2="1990"/>
+ <triangle index="2391" v0="309" v1="1425" v2="1426"/>
+ <triangle index="2392" v0="1423" v1="1424" v2="1431"/>
+ <triangle index="2393" v0="1428" v1="1431" v2="1432"/>
+ <triangle index="2394" v0="1427" v1="1429" v2="1430"/>
+ <triangle index="2395" v0="309" v1="852" v2="1429"/>
+ <triangle index="2396" v0="1425" v1="1427" v2="1429"/>
+ <triangle index="2397" v0="1428" v1="1430" v2="1432"/>
+ <triangle index="2398" v0="850" v1="1429" v2="1430"/>
+ <triangle index="2399" v0="864" v1="1431" v2="1432"/>
+ <triangle index="2400" v0="1423" v1="1428" v2="1431"/>
+ <triangle index="2401" v0="863" v1="864" v2="1432"/>
+ <triangle index="2402" v0="854" v1="1430" v2="1432"/>
+ <triangle index="2403" v0="819" v1="827" v2="1433"/>
+ <triangle index="2404" v0="820" v1="1433" v2="1434"/>
+ <triangle index="2405" v0="817" v1="1433" v2="1434"/>
+ <triangle index="2406" v0="820" v1="826" v2="1434"/>
+ <triangle index="2407" v0="821" v1="822" v2="1435"/>
+ <triangle index="2408" v0="863" v1="865" v2="1435"/>
+ <triangle index="2409" v0="873" v1="1436" v2="1991"/>
+ <triangle index="2410" v0="1436" v1="1992" v2="1993"/>
+ <triangle index="2411" v0="1437" v1="1448" v2="1449"/>
+ <triangle index="2412" v0="1445" v1="1446" v2="1447"/>
+ <triangle index="2413" v0="179" v1="884" v2="1438"/>
+ <triangle index="2414" v0="178" v1="179" v2="1995"/>
+ <triangle index="2415" v0="876" v1="895" v2="1440"/>
+ <triangle index="2416" v0="571" v1="1450" v2="1998"/>
+ <triangle index="2417" v0="1437" v1="1438" v2="1440"/>
+ <triangle index="2418" v0="1439" v1="1440" v2="1441"/>
+ <triangle index="2419" v0="895" v1="1440" v2="1441"/>
+ <triangle index="2420" v0="1439" v1="1441" v2="1446"/>
+ <triangle index="2421" v0="320" v1="1442" v2="1444"/>
+ <triangle index="2422" v0="892" v1="1442" v2="1443"/>
+ <triangle index="2423" v0="583" v1="892" v2="1443"/>
+ <triangle index="2424" v0="583" v1="903" v2="1443"/>
+ <triangle index="2425" v0="319" v1="1444" v2="1991"/>
+ <triangle index="2426" v0="892" v1="1442" v2="1444"/>
+ <triangle index="2427" v0="570" v1="896" v2="1446"/>
+ <triangle index="2428" v0="914" v1="1997" v2="2006"/>
+ <triangle index="2429" v0="889" v1="896" v2="1446"/>
+ <triangle index="2430" v0="889" v1="1441" v2="1446"/>
+ <triangle index="2431" v0="1439" v1="1447" v2="1448"/>
+ <triangle index="2432" v0="1448" v1="1449" v2="1450"/>
+ <triangle index="2433" v0="1439" v1="1440" v2="1448"/>
+ <triangle index="2434" v0="1437" v1="1449" v2="1994"/>
+ <triangle index="2435" v0="571" v1="801" v2="1449"/>
+ <triangle index="2436" v0="571" v1="1449" v2="1450"/>
+ <triangle index="2437" v0="1445" v1="1447" v2="1450"/>
+ <triangle index="2438" v0="1447" v1="1448" v2="1450"/>
+ <triangle index="2439" v0="914" v1="2005" v2="2498"/>
+ <triangle index="2440" v0="911" v1="913" v2="1452"/>
+ <triangle index="2441" v0="906" v1="1452" v2="1453"/>
+ <triangle index="2442" v0="1451" v1="1452" v2="2740"/>
+ <triangle index="2443" v0="910" v1="916" v2="1453"/>
+ <triangle index="2444" v0="915" v1="1453" v2="2006"/>
+ <triangle index="2445" v0="393" v1="394" v2="1454"/>
+ <triangle index="2446" v0="393" v1="1454" v2="1472"/>
+ <triangle index="2447" v0="1455" v1="1456" v2="1459"/>
+ <triangle index="2448" v0="921" v1="1455" v2="1458"/>
+ <triangle index="2449" v0="395" v1="396" v2="1456"/>
+ <triangle index="2450" v0="919" v1="1456" v2="1459"/>
+ <triangle index="2451" v0="1495" v1="2035" v2="2037"/>
+ <triangle index="2452" v0="1457" v1="2008" v2="2036"/>
+ <triangle index="2453" v0="921" v1="2012" v2="2499"/>
+ <triangle index="2454" v0="397" v1="1455" v2="1458"/>
+ <triangle index="2455" v0="919" v1="1459" v2="2036"/>
+ <triangle index="2456" v0="921" v1="1457" v2="1459"/>
+ <triangle index="2457" v0="2007" v1="2009" v2="2499"/>
+ <triangle index="2458" v0="399" v1="400" v2="2013"/>
+ <triangle index="2459" v0="1461" v1="2026" v2="2027"/>
+ <triangle index="2460" v0="1461" v1="1520" v2="2026"/>
+ <triangle index="2461" v0="402" v1="1463" v2="1468"/>
+ <triangle index="2462" v0="925" v1="926" v2="1462"/>
+ <triangle index="2463" v0="927" v1="1463" v2="1466"/>
+ <triangle index="2464" v0="402" v1="1462" v2="1468"/>
+ <triangle index="2465" v0="401" v1="402" v2="1464"/>
+ <triangle index="2466" v0="401" v1="1464" v2="1465"/>
+ <triangle index="2467" v0="400" v1="401" v2="1465"/>
+ <triangle index="2468" v0="927" v1="1463" v2="1465"/>
+ <triangle index="2469" v0="927" v1="1466" v2="2019"/>
+ <triangle index="2470" v0="587" v1="1466" v2="1467"/>
+ <triangle index="2471" v0="587" v1="1467" v2="1470"/>
+ <triangle index="2472" v0="1467" v1="1470" v2="3301"/>
+ <triangle index="2473" v0="925" v1="1462" v2="1468"/>
+ <triangle index="2474" v0="1463" v1="1466" v2="1468"/>
+ <triangle index="2475" v0="1466" v1="2019" v2="2020"/>
+ <triangle index="2476" v0="1469" v1="1470" v2="2022"/>
+ <triangle index="2477" v0="2507" v1="2508" v2="2742"/>
+ <triangle index="2478" v0="1469" v1="2742" v2="3301"/>
+ <triangle index="2479" v0="1471" v1="1475" v2="2526"/>
+ <triangle index="2480" v0="937" v1="1476" v2="1479"/>
+ <triangle index="2481" v0="392" v1="393" v2="1472"/>
+ <triangle index="2482" v0="931" v1="936" v2="1472"/>
+ <triangle index="2483" v0="486" v1="2045" v2="2046"/>
+ <triangle index="2484" v0="3019" v1="3026" v2="3027"/>
+ <triangle index="2485" v0="934" v1="938" v2="1474"/>
+ <triangle index="2486" v0="937" v1="938" v2="1476"/>
+ <triangle index="2487" v0="588" v1="1474" v2="1475"/>
+ <triangle index="2488" v0="938" v1="1474" v2="1476"/>
+ <triangle index="2489" v0="1476" v1="1478" v2="1479"/>
+ <triangle index="2490" v0="1471" v1="1475" v2="1476"/>
+ <triangle index="2491" v0="937" v1="938" v2="2593"/>
+ <triangle index="2492" v0="1477" v1="1481" v2="1483"/>
+ <triangle index="2493" v0="1477" v1="1478" v2="1493"/>
+ <triangle index="2494" v0="484" v1="1478" v2="2527"/>
+ <triangle index="2495" v0="937" v1="1481" v2="2593"/>
+ <triangle index="2496" v0="1477" v1="1478" v2="1479"/>
+ <triangle index="2497" v0="2588" v1="2602" v2="2851"/>
+ <triangle index="2498" v0="1570" v1="1573" v2="2850"/>
+ <triangle index="2499" v0="937" v1="1479" v2="1481"/>
+ <triangle index="2500" v0="1484" v1="1486" v2="2033"/>
+ <triangle index="2501" v0="1482" v1="1486" v2="1488"/>
+ <triangle index="2502" v0="1023" v1="2120" v2="2609"/>
+ <triangle index="2503" v0="1480" v1="1481" v2="2033"/>
+ <triangle index="2504" v0="1483" v1="1487" v2="1488"/>
+ <triangle index="2505" v0="2114" v1="2585" v2="3016"/>
+ <triangle index="2506" v0="2034" v1="2528" v2="2603"/>
+ <triangle index="2507" v0="1485" v1="1488" v2="1490"/>
+ <triangle index="2508" v0="1494" v1="1496" v2="2010"/>
+ <triangle index="2509" v0="1483" v1="1486" v2="2033"/>
+ <triangle index="2510" v0="1484" v1="1486" v2="2851"/>
+ <triangle index="2511" v0="1483" v1="1486" v2="1488"/>
+ <triangle index="2512" v0="1485" v1="1487" v2="1492"/>
+ <triangle index="2513" v0="1482" v1="1488" v2="1490"/>
+ <triangle index="2514" v0="1485" v1="1487" v2="1488"/>
+ <triangle index="2515" v0="1482" v1="1490" v2="3125"/>
+ <triangle index="2516" v0="2016" v1="2020" v2="2023"/>
+ <triangle index="2517" v0="1482" v1="2528" v2="3125"/>
+ <triangle index="2518" v0="1489" v1="1490" v2="2500"/>
+ <triangle index="2519" v0="1482" v1="1486" v2="2851"/>
+ <triangle index="2520" v0="489" v1="1569" v2="1575"/>
+ <triangle index="2521" v0="1485" v1="1492" v2="1496"/>
+ <triangle index="2522" v0="1495" v1="2036" v2="2037"/>
+ <triangle index="2523" v0="1477" v1="1487" v2="1493"/>
+ <triangle index="2524" v0="1487" v1="1492" v2="1493"/>
+ <triangle index="2525" v0="1494" v1="2008" v2="2010"/>
+ <triangle index="2526" v0="919" v1="2036" v2="2037"/>
+ <triangle index="2527" v0="1494" v1="1496" v2="1497"/>
+ <triangle index="2528" v0="1494" v1="2008" v2="2036"/>
+ <triangle index="2529" v0="1485" v1="1496" v2="2010"/>
+ <triangle index="2530" v0="1494" v1="1495" v2="1497"/>
+ <triangle index="2531" v0="1492" v1="1496" v2="1497"/>
+ <triangle index="2532" v0="1495" v1="1497" v2="2035"/>
+ <triangle index="2533" v0="388" v1="389" v2="1498"/>
+ <triangle index="2534" v0="388" v1="1498" v2="2041"/>
+ <triangle index="2535" v0="387" v1="2529" v2="3133"/>
+ <triangle index="2536" v0="2043" v1="2533" v2="3131"/>
+ <triangle index="2537" v0="1500" v1="2044" v2="2045"/>
+ <triangle index="2538" v0="930" v1="1500" v2="2056"/>
+ <triangle index="2539" v0="91" v1="1503" v2="2059"/>
+ <triangle index="2540" v0="2787" v1="2791" v2="2803"/>
+ <triangle index="2541" v0="90" v1="1558" v2="1560"/>
+ <triangle index="2542" v0="1017" v1="1560" v2="1562"/>
+ <triangle index="2543" v0="91" v1="1501" v2="1503"/>
+ <triangle index="2544" v0="1502" v1="1564" v2="2798"/>
+ <triangle index="2545" v0="487" v1="1506" v2="2178"/>
+ <triangle index="2546" v0="591" v1="950" v2="1504"/>
+ <triangle index="2547" v0="2136" v1="2144" v2="2146"/>
+ <triangle index="2548" v0="1032" v1="2624" v2="2862"/>
+ <triangle index="2549" v0="487" v1="1504" v2="1506"/>
+ <triangle index="2550" v0="1507" v1="1508" v2="1509"/>
+ <triangle index="2551" v0="1506" v1="1509" v2="2538"/>
+ <triangle index="2552" v0="1507" v1="1511" v2="1513"/>
+ <triangle index="2553" v0="1506" v1="1508" v2="1509"/>
+ <triangle index="2554" v0="941" v1="1507" v2="1508"/>
+ <triangle index="2555" v0="1505" v1="1509" v2="1512"/>
+ <triangle index="2556" v0="409" v1="1507" v2="1513"/>
+ <triangle index="2557" v0="1510" v1="1512" v2="1515"/>
+ <triangle index="2558" v0="2196" v1="2630" v2="2631"/>
+ <triangle index="2559" v0="1507" v1="1509" v2="1511"/>
+ <triangle index="2560" v0="1509" v1="1511" v2="1512"/>
+ <triangle index="2561" v0="1505" v1="1512" v2="1515"/>
+ <triangle index="2562" v0="1510" v1="1512" v2="1514"/>
+ <triangle index="2563" v0="1510" v1="1514" v2="2631"/>
+ <triangle index="2564" v0="410" v1="1511" v2="1513"/>
+ <triangle index="2565" v0="410" v1="411" v2="1514"/>
+ <triangle index="2566" v0="1505" v1="1509" v2="2538"/>
+ <triangle index="2567" v0="2625" v1="2862" v2="2863"/>
+ <triangle index="2568" v0="1516" v1="1518" v2="1519"/>
+ <triangle index="2569" v0="405" v1="923" v2="1521"/>
+ <triangle index="2570" v0="951" v1="953" v2="1517"/>
+ <triangle index="2571" v0="943" v1="1517" v2="1518"/>
+ <triangle index="2572" v0="943" v1="945" v2="1518"/>
+ <triangle index="2573" v0="406" v1="1518" v2="1519"/>
+ <triangle index="2574" v0="405" v1="406" v2="1519"/>
+ <triangle index="2575" v0="405" v1="1519" v2="1521"/>
+ <triangle index="2576" v0="923" v1="1520" v2="2025"/>
+ <triangle index="2577" v0="951" v1="1517" v2="1520"/>
+ <triangle index="2578" v0="923" v1="1520" v2="1521"/>
+ <triangle index="2579" v0="1516" v1="1520" v2="1521"/>
+ <triangle index="2580" v0="956" v1="2123" v2="2126"/>
+ <triangle index="2581" v0="956" v1="1522" v2="1523"/>
+ <triangle index="2582" v0="956" v1="1523" v2="1579"/>
+ <triangle index="2583" v0="1021" v1="1523" v2="1578"/>
+ <triangle index="2584" v0="80" v1="1580" v2="2465"/>
+ <triangle index="2585" v0="2122" v1="2605" v2="2606"/>
+ <triangle index="2586" v0="593" v1="964" v2="1525"/>
+ <triangle index="2587" v0="978" v1="1525" v2="1526"/>
+ <triangle index="2588" v0="970" v1="1525" v2="1526"/>
+ <triangle index="2589" v0="1526" v1="1528" v2="1529"/>
+ <triangle index="2590" v0="1531" v1="1532" v2="2062"/>
+ <triangle index="2591" v0="1533" v1="1535" v2="1538"/>
+ <triangle index="2592" v0="978" v1="1526" v2="1529"/>
+ <triangle index="2593" v0="1527" v1="1528" v2="1533"/>
+ <triangle index="2594" v0="978" v1="984" v2="2062"/>
+ <triangle index="2595" v0="488" v1="2062" v2="2065"/>
+ <triangle index="2596" v0="2759" v1="2765" v2="2767"/>
+ <triangle index="2597" v0="2815" v1="2816" v2="3006"/>
+ <triangle index="2598" v0="978" v1="1529" v2="2062"/>
+ <triangle index="2599" v0="1536" v1="1537" v2="2082"/>
+ <triangle index="2600" v0="1529" v1="1532" v2="2062"/>
+ <triangle index="2601" v0="1531" v1="1532" v2="1537"/>
+ <triangle index="2602" v0="1527" v1="1533" v2="1536"/>
+ <triangle index="2603" v0="1005" v1="1535" v2="2559"/>
+ <triangle index="2604" v0="1537" v1="2076" v2="2080"/>
+ <triangle index="2605" v0="378" v1="379" v2="3012"/>
+ <triangle index="2606" v0="1006" v1="1533" v2="1535"/>
+ <triangle index="2607" v0="1533" v1="1536" v2="1538"/>
+ <triangle index="2608" v0="1527" v1="1532" v2="1537"/>
+ <triangle index="2609" v0="1534" v1="1536" v2="1538"/>
+ <triangle index="2610" v0="1530" v1="1531" v2="2076"/>
+ <triangle index="2611" v0="1531" v1="1537" v2="2076"/>
+ <triangle index="2612" v0="2080" v1="2081" v2="2082"/>
+ <triangle index="2613" v0="1005" v1="1535" v2="1538"/>
+ <triangle index="2614" v0="2568" v1="2570" v2="2835"/>
+ <triangle index="2615" v0="1534" v1="2081" v2="2084"/>
+ <triangle index="2616" v0="1534" v1="1538" v2="2546"/>
+ <triangle index="2617" v0="996" v1="999" v2="2090"/>
+ <triangle index="2618" v0="968" v1="1528" v2="1541"/>
+ <triangle index="2619" v0="1528" v1="1533" v2="1541"/>
+ <triangle index="2620" v0="973" v1="979" v2="1543"/>
+ <triangle index="2621" v0="1547" v1="1549" v2="1551"/>
+ <triangle index="2622" v0="983" v1="989" v2="1544"/>
+ <triangle index="2623" v0="1543" v1="1545" v2="1546"/>
+ <triangle index="2624" v0="983" v1="1012" v2="1547"/>
+ <triangle index="2625" v0="1542" v1="1545" v2="1546"/>
+ <triangle index="2626" v0="1544" v1="1545" v2="1547"/>
+ <triangle index="2627" v0="1011" v1="1547" v2="1551"/>
+ <triangle index="2628" v0="101" v1="1542" v2="1546"/>
+ <triangle index="2629" v0="979" v1="1543" v2="1546"/>
+ <triangle index="2630" v0="983" v1="1544" v2="1547"/>
+ <triangle index="2631" v0="1548" v1="1549" v2="1551"/>
+ <triangle index="2632" v0="1548" v1="2549" v2="2554"/>
+ <triangle index="2633" v0="1550" v1="2087" v2="2089"/>
+ <triangle index="2634" v0="1545" v1="1547" v2="1549"/>
+ <triangle index="2635" v0="1548" v1="1549" v2="1550"/>
+ <triangle index="2636" v0="1548" v1="1550" v2="2549"/>
+ <triangle index="2637" v0="102" v1="103" v2="2089"/>
+ <triangle index="2638" v0="1011" v1="1551" v2="1555"/>
+ <triangle index="2639" v0="1551" v1="1555" v2="2555"/>
+ <triangle index="2640" v0="2102" v1="2562" v2="2563"/>
+ <triangle index="2641" v0="2092" v1="2093" v2="2096"/>
+ <triangle index="2642" v0="999" v1="1553" v2="2099"/>
+ <triangle index="2643" v0="994" v1="1008" v2="1553"/>
+ <triangle index="2644" v0="2837" v1="2838" v2="2841"/>
+ <triangle index="2645" v0="2582" v1="2843" v2="2844"/>
+ <triangle index="2646" v0="1009" v1="1555" v2="2555"/>
+ <triangle index="2647" v0="1011" v1="1015" v2="1555"/>
+ <triangle index="2648" v0="3092" v1="3096" v2="3115"/>
+ <triangle index="2649" v0="2422" v1="3053" v2="3055"/>
+ <triangle index="2650" v0="93" v1="1557" v2="2800"/>
+ <triangle index="2651" v0="1016" v1="2069" v2="2073"/>
+ <triangle index="2652" v0="1558" v1="1559" v2="2113"/>
+ <triangle index="2653" v0="1017" v1="1558" v2="1560"/>
+ <triangle index="2654" v0="88" v1="1018" v2="1561"/>
+ <triangle index="2655" v0="1561" v1="1565" v2="1566"/>
+ <triangle index="2656" v0="1017" v1="1562" v2="1572"/>
+ <triangle index="2657" v0="1502" v1="1560" v2="2059"/>
+ <triangle index="2658" v0="596" v1="1561" v2="1566"/>
+ <triangle index="2659" v0="88" v1="1559" v2="1561"/>
+ <triangle index="2660" v0="1567" v1="2799" v2="2847"/>
+ <triangle index="2661" v0="1502" v1="1560" v2="1564"/>
+ <triangle index="2662" v0="1563" v1="1566" v2="1568"/>
+ <triangle index="2663" v0="1573" v1="2595" v2="2604"/>
+ <triangle index="2664" v0="1562" v1="1564" v2="1567"/>
+ <triangle index="2665" v0="1567" v1="2798" v2="2799"/>
+ <triangle index="2666" v0="1563" v1="1565" v2="1570"/>
+ <triangle index="2667" v0="1017" v1="1559" v2="1574"/>
+ <triangle index="2668" v0="596" v1="1566" v2="1568"/>
+ <triangle index="2669" v0="1563" v1="1565" v2="1566"/>
+ <triangle index="2670" v0="595" v1="1562" v2="2583"/>
+ <triangle index="2671" v0="1562" v1="2583" v2="2584"/>
+ <triangle index="2672" v0="596" v1="1018" v2="2115"/>
+ <triangle index="2673" v0="489" v1="1568" v2="2118"/>
+ <triangle index="2674" v0="489" v1="1568" v2="1569"/>
+ <triangle index="2675" v0="596" v1="1568" v2="2115"/>
+ <triangle index="2676" v0="1563" v1="1570" v2="1573"/>
+ <triangle index="2677" v0="595" v1="1570" v2="1572"/>
+ <triangle index="2678" v0="1563" v1="1573" v2="2604"/>
+ <triangle index="2679" v0="1484" v1="2033" v2="2589"/>
+ <triangle index="2680" v0="595" v1="1562" v2="1572"/>
+ <triangle index="2681" v0="1017" v1="1572" v2="1574"/>
+ <triangle index="2682" v0="1563" v1="1568" v2="2118"/>
+ <triangle index="2683" v0="1571" v1="1573" v2="2849"/>
+ <triangle index="2684" v0="1559" v1="1565" v2="1574"/>
+ <triangle index="2685" v0="1565" v1="1572" v2="1574"/>
+ <triangle index="2686" v0="2132" v1="2133" v2="2141"/>
+ <triangle index="2687" v0="2596" v1="2598" v2="2600"/>
+ <triangle index="2688" v0="1019" v1="1020" v2="1576"/>
+ <triangle index="2689" v0="597" v1="1569" v2="1576"/>
+ <triangle index="2690" v0="86" v1="1020" v2="1577"/>
+ <triangle index="2691" v0="1018" v1="1019" v2="1577"/>
+ <triangle index="2692" v0="84" v1="1523" v2="1578"/>
+ <triangle index="2693" v0="1021" v1="1022" v2="1578"/>
+ <triangle index="2694" v0="956" v1="1579" v2="2121"/>
+ <triangle index="2695" v0="592" v1="2141" v2="2615"/>
+ <triangle index="2696" v0="79" v1="1580" v2="1581"/>
+ <triangle index="2697" v0="1024" v1="2463" v2="2465"/>
+ <triangle index="2698" v0="1895" v1="1896" v2="1897"/>
+ <triangle index="2699" v0="1581" v1="1896" v2="1897"/>
+ <triangle index="2700" v0="417" v1="1582" v2="1583"/>
+ <triangle index="2701" v0="1025" v1="1582" v2="1593"/>
+ <triangle index="2702" v0="416" v1="417" v2="1583"/>
+ <triangle index="2703" v0="1025" v1="1028" v2="1583"/>
+ <triangle index="2704" v0="414" v1="1036" v2="1584"/>
+ <triangle index="2705" v0="1027" v1="1029" v2="1584"/>
+ <triangle index="2706" v0="600" v1="1030" v2="1587"/>
+ <triangle index="2707" v0="599" v1="1585" v2="2184"/>
+ <triangle index="2708" v0="2185" v1="2626" v2="2627"/>
+ <triangle index="2709" v0="1585" v1="1586" v2="2186"/>
+ <triangle index="2710" v0="490" v1="1030" v2="2626"/>
+ <triangle index="2711" v0="1585" v1="1586" v2="1587"/>
+ <triangle index="2712" v0="1588" v1="2194" v2="2195"/>
+ <triangle index="2713" v0="412" v1="2195" v2="2196"/>
+ <triangle index="2714" v0="1036" v1="1589" v2="2194"/>
+ <triangle index="2715" v0="1032" v1="1588" v2="1589"/>
+ <triangle index="2716" v0="2161" v1="2163" v2="2165"/>
+ <triangle index="2717" v0="1505" v1="2538" v2="2619"/>
+ <triangle index="2718" v0="419" v1="1591" v2="1592"/>
+ <triangle index="2719" v0="1040" v1="1041" v2="1591"/>
+ <triangle index="2720" v0="418" v1="1582" v2="1593"/>
+ <triangle index="2721" v0="1025" v1="1594" v2="1596"/>
+ <triangle index="2722" v0="1025" v1="1594" v2="2184"/>
+ <triangle index="2723" v0="418" v1="1592" v2="1593"/>
+ <triangle index="2724" v0="1598" v1="1599" v2="1601"/>
+ <triangle index="2725" v0="1041" v1="1592" v2="1595"/>
+ <triangle index="2726" v0="1594" v1="1595" v2="1599"/>
+ <triangle index="2727" v0="601" v1="1041" v2="1598"/>
+ <triangle index="2728" v0="1025" v1="1593" v2="1596"/>
+ <triangle index="2729" v0="1594" v1="1595" v2="1596"/>
+ <triangle index="2730" v0="1594" v1="2184" v2="2629"/>
+ <triangle index="2731" v0="599" v1="2192" v2="2193"/>
+ <triangle index="2732" v0="1595" v1="1598" v2="1599"/>
+ <triangle index="2733" v0="1597" v1="1601" v2="2198"/>
+ <triangle index="2734" v0="1594" v1="1599" v2="2629"/>
+ <triangle index="2735" v0="1597" v1="1599" v2="1601"/>
+ <triangle index="2736" v0="1600" v1="1603" v2="1604"/>
+ <triangle index="2737" v0="601" v1="1598" v2="1600"/>
+ <triangle index="2738" v0="491" v1="1600" v2="1601"/>
+ <triangle index="2739" v0="1598" v1="1600" v2="1601"/>
+ <triangle index="2740" v0="1602" v1="1604" v2="1606"/>
+ <triangle index="2741" v0="1612" v1="1613" v2="1620"/>
+ <triangle index="2742" v0="1602" v1="1603" v2="2208"/>
+ <triangle index="2743" v0="601" v1="1042" v2="1603"/>
+ <triangle index="2744" v0="1607" v1="1609" v2="2197"/>
+ <triangle index="2745" v0="1602" v1="1603" v2="1604"/>
+ <triangle index="2746" v0="491" v1="1601" v2="2198"/>
+ <triangle index="2747" v0="1931" v1="1937" v2="1939"/>
+ <triangle index="2748" v0="491" v1="1604" v2="2197"/>
+ <triangle index="2749" v0="1606" v1="1609" v2="1611"/>
+ <triangle index="2750" v0="599" v1="2186" v2="2192"/>
+ <triangle index="2751" v0="2472" v1="2474" v2="2476"/>
+ <triangle index="2752" v0="1608" v1="1930" v2="1932"/>
+ <triangle index="2753" v0="602" v1="1929" v2="1930"/>
+ <triangle index="2754" v0="1606" v1="1609" v2="2197"/>
+ <triangle index="2755" v0="1607" v1="1609" v2="1936"/>
+ <triangle index="2756" v0="1608" v1="1612" v2="1930"/>
+ <triangle index="2757" v0="1608" v1="1610" v2="1612"/>
+ <triangle index="2758" v0="1605" v1="1611" v2="1933"/>
+ <triangle index="2759" v0="1608" v1="1610" v2="1611"/>
+ <triangle index="2760" v0="602" v1="1322" v2="1614"/>
+ <triangle index="2761" v0="602" v1="1612" v2="1613"/>
+ <triangle index="2762" v0="1615" v1="1616" v2="1617"/>
+ <triangle index="2763" v0="1616" v1="1619" v2="1620"/>
+ <triangle index="2764" v0="1318" v1="1322" v2="1614"/>
+ <triangle index="2765" v0="1043" v1="1613" v2="1614"/>
+ <triangle index="2766" v0="422" v1="423" v2="2204"/>
+ <triangle index="2767" v0="1042" v1="1603" v2="2208"/>
+ <triangle index="2768" v0="1043" v1="1616" v2="1617"/>
+ <triangle index="2769" v0="1615" v1="1616" v2="1619"/>
+ <triangle index="2770" v0="1043" v1="1617" v2="1618"/>
+ <triangle index="2771" v0="424" v1="1617" v2="2203"/>
+ <triangle index="2772" v0="1043" v1="1318" v2="2206"/>
+ <triangle index="2773" v0="1318" v1="1320" v2="2206"/>
+ <triangle index="2774" v0="1610" v1="1612" v2="1620"/>
+ <triangle index="2775" v0="1615" v1="1619" v2="2205"/>
+ <triangle index="2776" v0="1613" v1="1616" v2="1620"/>
+ <triangle index="2777" v0="1610" v1="1619" v2="1620"/>
+ <triangle index="2778" v0="421" v1="1040" v2="1621"/>
+ <triangle index="2779" v0="1042" v1="1621" v2="2204"/>
+ <triangle index="2780" v0="282" v1="1044" v2="1622"/>
+ <triangle index="2781" v0="612" v1="1045" v2="1622"/>
+ <triangle index="2782" v0="159" v1="1066" v2="1623"/>
+ <triangle index="2783" v0="1064" v1="1065" v2="1623"/>
+ <triangle index="2784" v0="1067" v1="1625" v2="3296"/>
+ <triangle index="2785" v0="1624" v1="1625" v2="1626"/>
+ <triangle index="2786" v0="1118" v1="1123" v2="1625"/>
+ <triangle index="2787" v0="1071" v1="1625" v2="1626"/>
+ <triangle index="2788" v0="1071" v1="1626" v2="1627"/>
+ <triangle index="2789" v0="163" v1="1624" v2="1626"/>
+ <triangle index="2790" v0="1071" v1="1123" v2="1631"/>
+ <triangle index="2791" v0="164" v1="1627" v2="1629"/>
+ <triangle index="2792" v0="1630" v1="1632" v2="2210"/>
+ <triangle index="2793" v0="164" v1="165" v2="1629"/>
+ <triangle index="2794" v0="1627" v1="1628" v2="2210"/>
+ <triangle index="2795" v0="1627" v1="1629" v2="2210"/>
+ <triangle index="2796" v0="1124" v1="1628" v2="1632"/>
+ <triangle index="2797" v0="2300" v1="2301" v2="2302"/>
+ <triangle index="2798" v0="1124" v1="1628" v2="1631"/>
+ <triangle index="2799" v0="1071" v1="1628" v2="1631"/>
+ <triangle index="2800" v0="1124" v1="1632" v2="2212"/>
+ <triangle index="2801" v0="1113" v1="1716" v2="2291"/>
+ <triangle index="2802" v0="157" v1="1633" v2="1634"/>
+ <triangle index="2803" v0="1069" v1="1070" v2="1633"/>
+ <triangle index="2804" v0="155" v1="156" v2="1635"/>
+ <triangle index="2805" v0="1634" v1="1635" v2="1638"/>
+ <triangle index="2806" v0="155" v1="1635" v2="1637"/>
+ <triangle index="2807" v0="1134" v1="1638" v2="1639"/>
+ <triangle index="2808" v0="1636" v1="1648" v2="1654"/>
+ <triangle index="2809" v0="1069" v1="1634" v2="1636"/>
+ <triangle index="2810" v0="155" v1="1135" v2="1637"/>
+ <triangle index="2811" v0="1134" v1="1637" v2="1638"/>
+ <triangle index="2812" v0="1635" v1="1637" v2="1638"/>
+ <triangle index="2813" v0="631" v1="1636" v2="1638"/>
+ <triangle index="2814" v0="1134" v1="1135" v2="1641"/>
+ <triangle index="2815" v0="1639" v1="1641" v2="1644"/>
+ <triangle index="2816" v0="631" v1="1639" v2="1651"/>
+ <triangle index="2817" v0="1722" v1="1724" v2="1731"/>
+ <triangle index="2818" v0="630" v1="1641" v2="1642"/>
+ <triangle index="2819" v0="1641" v1="1642" v2="1644"/>
+ <triangle index="2820" v0="1643" v1="1645" v2="1646"/>
+ <triangle index="2821" v0="500" v1="1642" v2="1644"/>
+ <triangle index="2822" v0="152" v1="1132" v2="2306"/>
+ <triangle index="2823" v0="2223" v1="2229" v2="2254"/>
+ <triangle index="2824" v0="1746" v1="1747" v2="2296"/>
+ <triangle index="2825" v0="1644" v1="1651" v2="2295"/>
+ <triangle index="2826" v0="630" v1="1642" v2="1646"/>
+ <triangle index="2827" v0="1643" v1="1645" v2="1647"/>
+ <triangle index="2828" v0="1642" v1="1645" v2="1646"/>
+ <triangle index="2829" v0="630" v1="1132" v2="1646"/>
+ <triangle index="2830" v0="1643" v1="1768" v2="2307"/>
+ <triangle index="2831" v0="1139" v1="2217" v2="2218"/>
+ <triangle index="2832" v0="631" v1="1636" v2="1654"/>
+ <triangle index="2833" v0="496" v1="1650" v2="1655"/>
+ <triangle index="2834" v0="1069" v1="1070" v2="1649"/>
+ <triangle index="2835" v0="1640" v1="1648" v2="1656"/>
+ <triangle index="2836" v0="1648" v1="1649" v2="1656"/>
+ <triangle index="2837" v0="1650" v1="1656" v2="1737"/>
+ <triangle index="2838" v0="1639" v1="1644" v2="1651"/>
+ <triangle index="2839" v0="1644" v1="1743" v2="2295"/>
+ <triangle index="2840" v0="1739" v1="1745" v2="1749"/>
+ <triangle index="2841" v0="629" v1="1719" v2="1730"/>
+ <triangle index="2842" v0="1653" v1="1738" v2="2295"/>
+ <triangle index="2843" v0="1648" v1="1654" v2="2213"/>
+ <triangle index="2844" v0="631" v1="1653" v2="1654"/>
+ <triangle index="2845" v0="1653" v1="1654" v2="2213"/>
+ <triangle index="2846" v0="496" v1="1655" v2="3294"/>
+ <triangle index="2847" v0="622" v1="1065" v2="1655"/>
+ <triangle index="2848" v0="1735" v1="1736" v2="1737"/>
+ <triangle index="2849" v0="1649" v1="1650" v2="1656"/>
+ <triangle index="2850" v0="331" v1="1657" v2="2285"/>
+ <triangle index="2851" v0="1073" v1="1074" v2="1657"/>
+ <triangle index="2852" v0="1075" v1="1658" v2="3302"/>
+ <triangle index="2853" v0="1658" v1="1671" v2="1672"/>
+ <triangle index="2854" v0="1659" v1="1661" v2="1662"/>
+ <triangle index="2855" v0="339" v1="340" v2="2636"/>
+ <triangle index="2856" v0="337" v1="1088" v2="1660"/>
+ <triangle index="2857" v0="1087" v1="1660" v2="1661"/>
+ <triangle index="2858" v0="1087" v1="1093" v2="1663"/>
+ <triangle index="2859" v0="1659" v1="1661" v2="2214"/>
+ <triangle index="2860" v0="1662" v1="1663" v2="1668"/>
+ <triangle index="2861" v0="1666" v1="1667" v2="2280"/>
+ <triangle index="2862" v0="629" v1="1093" v2="1663"/>
+ <triangle index="2863" v0="1661" v1="1662" v2="1663"/>
+ <triangle index="2864" v0="1116" v1="1719" v2="1721"/>
+ <triangle index="2865" v0="1652" v1="1733" v2="1742"/>
+ <triangle index="2866" v0="634" v1="2219" v2="2220"/>
+ <triangle index="2867" v0="1139" v1="1774" v2="2218"/>
+ <triangle index="2868" v0="1721" v1="1729" v2="1730"/>
+ <triangle index="2869" v0="1666" v1="2280" v2="2292"/>
+ <triangle index="2870" v0="1662" v1="1667" v2="1668"/>
+ <triangle index="2871" v0="1665" v1="1667" v2="2216"/>
+ <triangle index="2872" v0="629" v1="1668" v2="1730"/>
+ <triangle index="2873" v0="1666" v1="1667" v2="1668"/>
+ <triangle index="2874" v0="1082" v1="1086" v2="1669"/>
+ <triangle index="2875" v0="1091" v1="1095" v2="1669"/>
+ <triangle index="2876" v0="1079" v1="1658" v2="1671"/>
+ <triangle index="2877" v0="1079" v1="1670" v2="1671"/>
+ <triangle index="2878" v0="1658" v1="1672" v2="1697"/>
+ <triangle index="2879" v0="1673" v1="2281" v2="2282"/>
+ <triangle index="2880" v0="497" v1="1672" v2="1675"/>
+ <triangle index="2881" v0="1108" v1="1109" v2="2282"/>
+ <triangle index="2882" v0="1671" v1="1672" v2="1673"/>
+ <triangle index="2883" v0="1672" v1="1673" v2="1676"/>
+ <triangle index="2884" v0="1680" v1="1682" v2="1687"/>
+ <triangle index="2885" v0="1677" v1="1678" v2="1683"/>
+ <triangle index="2886" v0="497" v1="1675" v2="1684"/>
+ <triangle index="2887" v0="1674" v1="1676" v2="1679"/>
+ <triangle index="2888" v0="1109" v1="1676" v2="2282"/>
+ <triangle index="2889" v0="1672" v1="1675" v2="1676"/>
+ <triangle index="2890" v0="1106" v1="1109" v2="1677"/>
+ <triangle index="2891" v0="1677" v1="1678" v2="1679"/>
+ <triangle index="2892" v0="1674" v1="1678" v2="1682"/>
+ <triangle index="2893" v0="1757" v1="1758" v2="2303"/>
+ <triangle index="2894" v0="1109" v1="1676" v2="1679"/>
+ <triangle index="2895" v0="1674" v1="1678" v2="1679"/>
+ <triangle index="2896" v0="1674" v1="1682" v2="1684"/>
+ <triangle index="2897" v0="1680" v1="1685" v2="1686"/>
+ <triangle index="2898" v0="626" v1="1677" v2="1683"/>
+ <triangle index="2899" v0="1678" v1="1682" v2="1685"/>
+ <triangle index="2900" v0="1674" v1="1675" v2="1684"/>
+ <triangle index="2901" v0="1680" v1="1682" v2="1685"/>
+ <triangle index="2902" v0="1678" v1="1681" v2="1683"/>
+ <triangle index="2903" v0="1681" v1="1683" v2="1758"/>
+ <triangle index="2904" v0="1688" v1="1689" v2="1690"/>
+ <triangle index="2905" v0="1403" v1="1707" v2="1708"/>
+ <triangle index="2906" v0="1680" v1="1686" v2="1696"/>
+ <triangle index="2907" v0="1681" v1="1685" v2="2283"/>
+ <triangle index="2908" v0="1712" v1="1756" v2="1763"/>
+ <triangle index="2909" v0="1127" v1="2283" v2="2303"/>
+ <triangle index="2910" v0="1682" v1="1684" v2="1687"/>
+ <triangle index="2911" v0="1689" v1="1690" v2="1692"/>
+ <triangle index="2912" v0="497" v1="1684" v2="1693"/>
+ <triangle index="2913" v0="1688" v1="1690" v2="1698"/>
+ <triangle index="2914" v0="1684" v1="1687" v2="1692"/>
+ <triangle index="2915" v0="1688" v1="1689" v2="1691"/>
+ <triangle index="2916" v0="1690" v1="1692" v2="1693"/>
+ <triangle index="2917" v0="1690" v1="1698" v2="1699"/>
+ <triangle index="2918" v0="1688" v1="1701" v2="1702"/>
+ <triangle index="2919" v0="1691" v1="1707" v2="1708"/>
+ <triangle index="2920" v0="1687" v1="1689" v2="1692"/>
+ <triangle index="2921" v0="1684" v1="1692" v2="1693"/>
+ <triangle index="2922" v0="497" v1="1694" v2="1697"/>
+ <triangle index="2923" v0="497" v1="1693" v2="1694"/>
+ <triangle index="2924" v0="625" v1="1074" v2="1703"/>
+ <triangle index="2925" v0="1699" v1="1703" v2="1704"/>
+ <triangle index="2926" v0="330" v1="331" v2="2284"/>
+ <triangle index="2927" v0="2286" v1="2644" v2="2648"/>
+ <triangle index="2928" v0="575" v1="1691" v2="1696"/>
+ <triangle index="2929" v0="575" v1="1696" v2="1763"/>
+ <triangle index="2930" v0="497" v1="1672" v2="1697"/>
+ <triangle index="2931" v0="1658" v1="1697" v2="3302"/>
+ <triangle index="2932" v0="1690" v1="1693" v2="1699"/>
+ <triangle index="2933" v0="1698" v1="1701" v2="2891"/>
+ <triangle index="2934" v0="1694" v1="1699" v2="1703"/>
+ <triangle index="2935" v0="1695" v1="1698" v2="1699"/>
+ <triangle index="2936" v0="2286" v1="2648" v2="2889"/>
+ <triangle index="2937" v0="1706" v1="1710" v2="2289"/>
+ <triangle index="2938" v0="1695" v1="1698" v2="2891"/>
+ <triangle index="2939" v0="1700" v1="1701" v2="1711"/>
+ <triangle index="2940" v0="1701" v1="1702" v2="1711"/>
+ <triangle index="2941" v0="1403" v1="1707" v2="1710"/>
+ <triangle index="2942" v0="625" v1="1694" v2="1703"/>
+ <triangle index="2943" v0="1073" v1="1703" v2="1704"/>
+ <triangle index="2944" v0="331" v1="2284" v2="2285"/>
+ <triangle index="2945" v0="1695" v1="1699" v2="1704"/>
+ <triangle index="2946" v0="2286" v1="2644" v2="2645"/>
+ <triangle index="2947" v0="1704" v1="1705" v2="2890"/>
+ <triangle index="2948" v0="1706" v1="1711" v2="2647"/>
+ <triangle index="2949" v0="480" v1="1409" v2="2289"/>
+ <triangle index="2950" v0="1691" v1="1702" v2="1707"/>
+ <triangle index="2951" v0="1702" v1="1707" v2="1710"/>
+ <triangle index="2952" v0="1403" v1="1708" v2="1709"/>
+ <triangle index="2953" v0="575" v1="1691" v2="1708"/>
+ <triangle index="2954" v0="812" v1="1403" v2="1713"/>
+ <triangle index="2955" v0="171" v1="1420" v2="1714"/>
+ <triangle index="2956" v0="1702" v1="1710" v2="1711"/>
+ <triangle index="2957" v0="480" v1="1403" v2="1710"/>
+ <triangle index="2958" v0="1700" v1="1711" v2="2647"/>
+ <triangle index="2959" v0="1706" v1="1710" v2="1711"/>
+ <triangle index="2960" v0="813" v1="1712" v2="1756"/>
+ <triangle index="2961" v0="575" v1="1708" v2="1712"/>
+ <triangle index="2962" v0="806" v1="812" v2="1713"/>
+ <triangle index="2963" v0="171" v1="172" v2="1715"/>
+ <triangle index="2964" v0="1709" v1="1713" v2="1714"/>
+ <triangle index="2965" v0="806" v1="1713" v2="2290"/>
+ <triangle index="2966" v0="1713" v1="1714" v2="2290"/>
+ <triangle index="2967" v0="1402" v1="1715" v2="2290"/>
+ <triangle index="2968" v0="1104" v1="1105" v2="1716"/>
+ <triangle index="2969" v0="1106" v1="1108" v2="1716"/>
+ <triangle index="2970" v0="1681" v1="2283" v2="2303"/>
+ <triangle index="2971" v0="1717" v1="2212" v2="2301"/>
+ <triangle index="2972" v0="1090" v1="1115" v2="1718"/>
+ <triangle index="2973" v0="1116" v1="1718" v2="1719"/>
+ <triangle index="2974" v0="1095" v1="1718" v2="1719"/>
+ <triangle index="2975" v0="1116" v1="1721" v2="1722"/>
+ <triangle index="2976" v0="1720" v1="1726" v2="1733"/>
+ <triangle index="2977" v0="1664" v1="2280" v2="2292"/>
+ <triangle index="2978" v0="1116" v1="1722" v2="1727"/>
+ <triangle index="2979" v0="1721" v1="1724" v2="1729"/>
+ <triangle index="2980" v0="1722" v1="1727" v2="1734"/>
+ <triangle index="2981" v0="1652" v1="1732" v2="1733"/>
+ <triangle index="2982" v0="1720" v1="1733" v2="1750"/>
+ <triangle index="2983" v0="1666" v1="1668" v2="1730"/>
+ <triangle index="2984" v0="1721" v1="1722" v2="1724"/>
+ <triangle index="2985" v0="1724" v1="1726" v2="1731"/>
+ <triangle index="2986" v0="1728" v1="1731" v2="1740"/>
+ <triangle index="2987" v0="1725" v1="1735" v2="1736"/>
+ <triangle index="2988" v0="1725" v1="1726" v2="1732"/>
+ <triangle index="2989" v0="1726" v1="1732" v2="1733"/>
+ <triangle index="2990" v0="1115" v1="1116" v2="1727"/>
+ <triangle index="2991" v0="1111" v1="1727" v2="1734"/>
+ <triangle index="2992" v0="1728" v1="1734" v2="2294"/>
+ <triangle index="2993" v0="1126" v1="1736" v2="1740"/>
+ <triangle index="2994" v0="1720" v1="1729" v2="1750"/>
+ <triangle index="2995" v0="1723" v1="1729" v2="1730"/>
+ <triangle index="2996" v0="1719" v1="1721" v2="1730"/>
+ <triangle index="2997" v0="1666" v1="1723" v2="1730"/>
+ <triangle index="2998" v0="1722" v1="1731" v2="1734"/>
+ <triangle index="2999" v0="1725" v1="1726" v2="1731"/>
+ <triangle index="3000" v0="1725" v1="1732" v2="1735"/>
+ <triangle index="3001" v0="1640" v1="1738" v2="2213"/>
+ <triangle index="3002" v0="500" v1="1746" v2="1747"/>
+ <triangle index="3003" v0="1742" v1="1749" v2="1750"/>
+ <triangle index="3004" v0="1111" v1="1734" v2="2294"/>
+ <triangle index="3005" v0="1728" v1="1731" v2="1734"/>
+ <triangle index="3006" v0="1725" v1="1736" v2="1740"/>
+ <triangle index="3007" v0="1640" v1="1732" v2="1735"/>
+ <triangle index="3008" v0="1126" v1="1736" v2="1741"/>
+ <triangle index="3009" v0="496" v1="1650" v2="1737"/>
+ <triangle index="3010" v0="1640" v1="1656" v2="1737"/>
+ <triangle index="3011" v0="1736" v1="1737" v2="1741"/>
+ <triangle index="3012" v0="1652" v1="1732" v2="1738"/>
+ <triangle index="3013" v0="1640" v1="1732" v2="1738"/>
+ <triangle index="3014" v0="1748" v1="2274" v2="2296"/>
+ <triangle index="3015" v0="1723" v1="1729" v2="1750"/>
+ <triangle index="3016" v0="1725" v1="1731" v2="1740"/>
+ <triangle index="3017" v0="1126" v1="1728" v2="1740"/>
+ <triangle index="3018" v0="1114" v1="1126" v2="1741"/>
+ <triangle index="3019" v0="496" v1="1737" v2="1741"/>
+ <triangle index="3020" v0="1652" v1="1742" v2="1743"/>
+ <triangle index="3021" v0="1742" v1="1745" v2="1749"/>
+ <triangle index="3022" v0="1652" v1="1738" v2="2295"/>
+ <triangle index="3023" v0="500" v1="1644" v2="1746"/>
+ <triangle index="3024" v0="2267" v1="2274" v2="2639"/>
+ <triangle index="3025" v0="1664" v1="2266" v2="2293"/>
+ <triangle index="3026" v0="1742" v1="1743" v2="1745"/>
+ <triangle index="3027" v0="1743" v1="1745" v2="1746"/>
+ <triangle index="3028" v0="1644" v1="1743" v2="1746"/>
+ <triangle index="3029" v0="500" v1="1645" v2="1747"/>
+ <triangle index="3030" v0="1647" v1="1747" v2="1748"/>
+ <triangle index="3031" v0="1745" v1="1746" v2="2296"/>
+ <triangle index="3032" v0="2233" v1="2239" v2="2261"/>
+ <triangle index="3033" v0="2259" v1="2260" v2="2265"/>
+ <triangle index="3034" v0="1739" v1="1749" v2="2267"/>
+ <triangle index="3035" v0="1744" v1="1749" v2="1750"/>
+ <triangle index="3036" v0="1733" v1="1742" v2="1750"/>
+ <triangle index="3037" v0="1744" v1="1750" v2="2293"/>
+ <triangle index="3038" v0="1113" v1="1751" v2="2212"/>
+ <triangle index="3039" v0="624" v1="1124" v2="1751"/>
+ <triangle index="3040" v0="167" v1="168" v2="2297"/>
+ <triangle index="3041" v0="1755" v1="1759" v2="2283"/>
+ <triangle index="3042" v0="166" v1="2634" v2="2635"/>
+ <triangle index="3043" v0="1752" v1="1753" v2="1760"/>
+ <triangle index="3044" v0="626" v1="1717" v2="2298"/>
+ <triangle index="3045" v0="1686" v1="1756" v2="1763"/>
+ <triangle index="3046" v0="169" v1="1753" v2="1760"/>
+ <triangle index="3047" v0="813" v1="1420" v2="1761"/>
+ <triangle index="3048" v0="1686" v1="1755" v2="1756"/>
+ <triangle index="3049" v0="168" v1="1752" v2="1757"/>
+ <triangle index="3050" v0="1754" v1="1757" v2="1758"/>
+ <triangle index="3051" v0="1754" v1="2211" v2="2299"/>
+ <triangle index="3052" v0="626" v1="1683" v2="1758"/>
+ <triangle index="3053" v0="1127" v1="1759" v2="2283"/>
+ <triangle index="3054" v0="1755" v1="1759" v2="1760"/>
+ <triangle index="3055" v0="1752" v1="1759" v2="1760"/>
+ <triangle index="3056" v0="1755" v1="1756" v2="1761"/>
+ <triangle index="3057" v0="169" v1="1760" v2="1762"/>
+ <triangle index="3058" v0="1755" v1="1760" v2="1761"/>
+ <triangle index="3059" v0="1686" v1="1696" v2="1763"/>
+ <triangle index="3060" v0="170" v1="1761" v2="1762"/>
+ <triangle index="3061" v0="575" v1="1712" v2="1763"/>
+ <triangle index="3062" v0="3088" v1="3096" v2="3097"/>
+ <triangle index="3063" v0="1014" v1="2104" v2="2112"/>
+ <triangle index="3064" v0="1014" v1="3114" v2="3116"/>
+ <triangle index="3065" v0="3142" v1="3191" v2="3193"/>
+ <triangle index="3066" v0="150" v1="1776" v2="2654"/>
+ <triangle index="3067" v0="149" v1="150" v2="1777"/>
+ <triangle index="3068" v0="1132" v1="1646" v2="1767"/>
+ <triangle index="3069" v0="1766" v1="1767" v2="2653"/>
+ <triangle index="3070" v0="150" v1="2654" v2="2655"/>
+ <triangle index="3071" v0="2261" v1="2263" v2="2268"/>
+ <triangle index="3072" v0="139" v1="1769" v2="1817"/>
+ <triangle index="3073" v0="1136" v1="1769" v2="1770"/>
+ <triangle index="3074" v0="1136" v1="1818" v2="1819"/>
+ <triangle index="3075" v0="1770" v1="2311" v2="2312"/>
+ <triangle index="3076" v0="141" v1="142" v2="2311"/>
+ <triangle index="3077" v0="1137" v1="2325" v2="2330"/>
+ <triangle index="3078" v0="346" v1="347" v2="1772"/>
+ <triangle index="3079" v0="346" v1="1138" v2="1772"/>
+ <triangle index="3080" v0="1773" v1="1825" v2="1826"/>
+ <triangle index="3081" v0="1773" v1="1830" v2="1832"/>
+ <triangle index="3082" v0="340" v1="2218" v2="2636"/>
+ <triangle index="3083" v0="1139" v1="2224" v2="2228"/>
+ <triangle index="3084" v0="1775" v1="2875" v2="2878"/>
+ <triangle index="3085" v0="1140" v1="1777" v2="2869"/>
+ <triangle index="3086" v0="2640" v1="2870" v2="2872"/>
+ <triangle index="3087" v0="1767" v1="1768" v2="2653"/>
+ <triangle index="3088" v0="1140" v1="1775" v2="1777"/>
+ <triangle index="3089" v0="150" v1="1776" v2="1777"/>
+ <triangle index="3090" v0="1781" v1="1782" v2="2347"/>
+ <triangle index="3091" v0="637" v1="1207" v2="1780"/>
+ <triangle index="3092" v0="132" v1="1209" v2="1779"/>
+ <triangle index="3093" v0="1778" v1="1779" v2="1780"/>
+ <triangle index="3094" v0="1142" v1="1207" v2="1780"/>
+ <triangle index="3095" v0="1778" v1="1780" v2="1782"/>
+ <triangle index="3096" v0="1778" v1="2346" v2="2347"/>
+ <triangle index="3097" v0="1781" v1="1796" v2="1798"/>
+ <triangle index="3098" v0="1778" v1="1782" v2="2347"/>
+ <triangle index="3099" v0="1781" v1="1782" v2="1796"/>
+ <triangle index="3100" v0="1138" v1="1783" v2="2350"/>
+ <triangle index="3101" v0="633" v1="1138" v2="2351"/>
+ <triangle index="3102" v0="1161" v1="1784" v2="1785"/>
+ <triangle index="3103" v0="1784" v1="1785" v2="1786"/>
+ <triangle index="3104" v0="1161" v1="1785" v2="1821"/>
+ <triangle index="3105" v0="1196" v1="1202" v2="1785"/>
+ <triangle index="3106" v0="1196" v1="1786" v2="1787"/>
+ <triangle index="3107" v0="1784" v1="1786" v2="1792"/>
+ <triangle index="3108" v0="1196" v1="1207" v2="1787"/>
+ <triangle index="3109" v0="637" v1="1207" v2="1793"/>
+ <triangle index="3110" v0="1788" v1="2355" v2="2657"/>
+ <triangle index="3111" v0="354" v1="2669" v2="2670"/>
+ <triangle index="3112" v0="1166" v1="1168" v2="1789"/>
+ <triangle index="3113" v0="1152" v1="1171" v2="1789"/>
+ <triangle index="3114" v0="1164" v1="1790" v2="1791"/>
+ <triangle index="3115" v0="1791" v1="1795" v2="1797"/>
+ <triangle index="3116" v0="1164" v1="1791" v2="1792"/>
+ <triangle index="3117" v0="1794" v1="1795" v2="1796"/>
+ <triangle index="3118" v0="1164" v1="1784" v2="1792"/>
+ <triangle index="3119" v0="1786" v1="1787" v2="1793"/>
+ <triangle index="3120" v0="637" v1="1791" v2="1793"/>
+ <triangle index="3121" v0="1791" v1="1792" v2="1793"/>
+ <triangle index="3122" v0="2385" v1="2686" v2="2689"/>
+ <triangle index="3123" v0="1790" v1="1791" v2="1797"/>
+ <triangle index="3124" v0="637" v1="1795" v2="1796"/>
+ <triangle index="3125" v0="1794" v1="1795" v2="1797"/>
+ <triangle index="3126" v0="637" v1="1780" v2="1796"/>
+ <triangle index="3127" v0="1781" v1="1798" v2="2348"/>
+ <triangle index="3128" v0="1794" v1="1797" v2="1800"/>
+ <triangle index="3129" v0="1172" v1="1790" v2="1797"/>
+ <triangle index="3130" v0="642" v1="2688" v2="2689"/>
+ <triangle index="3131" v0="1794" v1="1796" v2="1798"/>
+ <triangle index="3132" v0="1166" v1="2358" v2="2359"/>
+ <triangle index="3133" v0="1172" v1="1797" v2="1800"/>
+ <triangle index="3134" v0="1794" v1="1800" v2="2688"/>
+ <triangle index="3135" v0="1799" v1="1800" v2="2359"/>
+ <triangle index="3136" v0="1173" v1="1176" v2="2373"/>
+ <triangle index="3137" v0="2360" v1="2362" v2="2371"/>
+ <triangle index="3138" v0="119" v1="120" v2="1802"/>
+ <triangle index="3139" v0="119" v1="1802" v2="2382"/>
+ <triangle index="3140" v0="117" v1="3182" v2="3186"/>
+ <triangle index="3141" v0="3182" v1="3188" v2="3189"/>
+ <triangle index="3142" v0="1804" v1="2383" v2="2683"/>
+ <triangle index="3143" v0="639" v1="1178" v2="1805"/>
+ <triangle index="3144" v0="121" v1="1178" v2="1805"/>
+ <triangle index="3145" v0="120" v1="1806" v2="1807"/>
+ <triangle index="3146" v0="120" v1="1802" v2="1806"/>
+ <triangle index="3147" v0="1804" v1="1805" v2="1806"/>
+ <triangle index="3148" v0="129" v1="1808" v2="1811"/>
+ <triangle index="3149" v0="1805" v1="1806" v2="1807"/>
+ <triangle index="3150" v0="1180" v1="1808" v2="2348"/>
+ <triangle index="3151" v0="1809" v1="2384" v2="2679"/>
+ <triangle index="3152" v0="2385" v1="2686" v2="2687"/>
+ <triangle index="3153" v0="1180" v1="1810" v2="1811"/>
+ <triangle index="3154" v0="1182" v1="1810" v2="2384"/>
+ <triangle index="3155" v0="1180" v1="1808" v2="1811"/>
+ <triangle index="3156" v0="128" v1="129" v2="1811"/>
+ <triangle index="3157" v0="126" v1="1812" v2="2386"/>
+ <triangle index="3158" v0="1183" v1="1184" v2="1812"/>
+ <triangle index="3159" v0="124" v1="2690" v2="2928"/>
+ <triangle index="3160" v0="1813" v1="2388" v2="2930"/>
+ <triangle index="3161" v0="133" v1="134" v2="1814"/>
+ <triangle index="3162" v0="133" v1="1209" v2="1814"/>
+ <triangle index="3163" v0="645" v1="1192" v2="1815"/>
+ <triangle index="3164" v0="1194" v1="1198" v2="1815"/>
+ <triangle index="3165" v0="1193" v1="1212" v2="1818"/>
+ <triangle index="3166" v0="1136" v1="1769" v2="1817"/>
+ <triangle index="3167" v0="138" v1="139" v2="1817"/>
+ <triangle index="3168" v0="1136" v1="1816" v2="1817"/>
+ <triangle index="3169" v0="632" v1="1212" v2="1818"/>
+ <triangle index="3170" v0="632" v1="1818" v2="1819"/>
+ <triangle index="3171" v0="632" v1="1224" v2="2319"/>
+ <triangle index="3172" v0="1136" v1="1819" v2="2317"/>
+ <triangle index="3173" v0="1137" v1="2315" v2="2316"/>
+ <triangle index="3174" v0="2314" v1="2315" v2="2336"/>
+ <triangle index="3175" v0="503" v1="1823" v2="2393"/>
+ <triangle index="3176" v0="1197" v1="1202" v2="1821"/>
+ <triangle index="3177" v0="1161" v1="1821" v2="1823"/>
+ <triangle index="3178" v0="2352" v1="2392" v2="2393"/>
+ <triangle index="3179" v0="503" v1="1161" v2="1823"/>
+ <triangle index="3180" v0="1822" v1="1823" v2="2391"/>
+ <triangle index="3181" v0="633" v1="1824" v2="1825"/>
+ <triangle index="3182" v0="1824" v1="1827" v2="1833"/>
+ <triangle index="3183" v0="633" v1="1138" v2="1826"/>
+ <triangle index="3184" v0="1773" v1="1825" v2="1827"/>
+ <triangle index="3185" v0="346" v1="1138" v2="1826"/>
+ <triangle index="3186" v0="345" v1="346" v2="1828"/>
+ <triangle index="3187" v0="345" v1="1831" v2="1832"/>
+ <triangle index="3188" v0="501" v1="1827" v2="1833"/>
+ <triangle index="3189" v0="1829" v1="2396" v2="2868"/>
+ <triangle index="3190" v0="1773" v1="1826" v2="1828"/>
+ <triangle index="3191" v0="2242" v1="2245" v2="2248"/>
+ <triangle index="3192" v0="1830" v1="2638" v2="2868"/>
+ <triangle index="3193" v0="1773" v1="1828" v2="1832"/>
+ <triangle index="3194" v0="2252" v1="2637" v2="2868"/>
+ <triangle index="3195" v0="345" v1="1831" v2="2395"/>
+ <triangle index="3196" v0="1829" v1="2396" v2="2398"/>
+ <triangle index="3197" v0="345" v1="1828" v2="1832"/>
+ <triangle index="3198" v0="1831" v1="1832" v2="2396"/>
+ <triangle index="3199" v0="501" v1="1833" v2="1834"/>
+ <triangle index="3200" v0="1217" v1="1824" v2="1833"/>
+ <triangle index="3201" v0="1834" v1="1836" v2="2867"/>
+ <triangle index="3202" v0="1221" v1="1223" v2="1834"/>
+ <triangle index="3203" v0="2246" v1="2264" v2="2276"/>
+ <triangle index="3204" v0="1224" v1="1837" v2="2403"/>
+ <triangle index="3205" v0="501" v1="1834" v2="2867"/>
+ <triangle index="3206" v0="1835" v1="1836" v2="1837"/>
+ <triangle index="3207" v0="1835" v1="1837" v2="2321"/>
+ <triangle index="3208" v0="1837" v1="2316" v2="2320"/>
+ <triangle index="3209" v0="112" v1="1842" v2="2406"/>
+ <triangle index="3210" v0="1225" v1="1840" v2="2694"/>
+ <triangle index="3211" v0="2404" v1="2694" v2="2698"/>
+ <triangle index="3212" v0="1839" v1="1840" v2="2694"/>
+ <triangle index="3213" v0="1225" v1="1838" v2="1840"/>
+ <triangle index="3214" v0="114" v1="1839" v2="1840"/>
+ <triangle index="3215" v0="1227" v1="2408" v2="2413"/>
+ <triangle index="3216" v0="1227" v1="1228" v2="2413"/>
+ <triangle index="3217" v0="112" v1="1838" v2="1842"/>
+ <triangle index="3218" v0="1841" v1="1842" v2="2410"/>
+ <triangle index="3219" v0="2410" v1="2696" v2="2698"/>
+ <triangle index="3220" v0="1227" v1="2407" v2="2408"/>
+ <triangle index="3221" v0="108" v1="1844" v2="2414"/>
+ <triangle index="3222" v0="1229" v1="1230" v2="1844"/>
+ <triangle index="3223" v0="2415" v1="2703" v2="2704"/>
+ <triangle index="3224" v0="1845" v1="2416" v2="3205"/>
+ <triangle index="3225" v0="3304" v1="3305" v2="3308"/>
+ <triangle index="3226" v0="1231" v1="1848" v2="2705"/>
+ <triangle index="3227" v0="2422" v1="2705" v2="3303"/>
+ <triangle index="3228" v0="1847" v1="1848" v2="2705"/>
+ <triangle index="3229" v0="1231" v1="1846" v2="1848"/>
+ <triangle index="3230" v0="365" v1="1847" v2="1848"/>
+ <triangle index="3231" v0="509" v1="1243" v2="1849"/>
+ <triangle index="3232" v0="1243" v1="1849" v2="1850"/>
+ <triangle index="3233" v0="1243" v1="1850" v2="1855"/>
+ <triangle index="3234" v0="657" v1="1859" v2="1862"/>
+ <triangle index="3235" v0="1239" v1="1849" v2="1851"/>
+ <triangle index="3236" v0="1849" v1="1850" v2="1851"/>
+ <triangle index="3237" v0="1248" v1="1249" v2="1852"/>
+ <triangle index="3238" v0="1239" v1="1851" v2="1852"/>
+ <triangle index="3239" v0="1856" v1="1861" v2="2427"/>
+ <triangle index="3240" v0="667" v1="1301" v2="1923"/>
+ <triangle index="3241" v0="1850" v1="1857" v2="1858"/>
+ <triangle index="3242" v0="1309" v1="1860" v2="1921"/>
+ <triangle index="3243" v0="1241" v1="1243" v2="2426"/>
+ <triangle index="3244" v0="1854" v1="1857" v2="1858"/>
+ <triangle index="3245" v0="665" v1="671" v2="1856"/>
+ <triangle index="3246" v0="1853" v1="1855" v2="1861"/>
+ <triangle index="3247" v0="1850" v1="1855" v2="1858"/>
+ <triangle index="3248" v0="1854" v1="1859" v2="1862"/>
+ <triangle index="3249" v0="1853" v1="1855" v2="2425"/>
+ <triangle index="3250" v0="1923" v1="1924" v2="1925"/>
+ <triangle index="3251" v0="657" v1="1859" v2="1873"/>
+ <triangle index="3252" v0="653" v1="1857" v2="1859"/>
+ <triangle index="3253" v0="1854" v1="1858" v2="1860"/>
+ <triangle index="3254" v0="1858" v1="1860" v2="2425"/>
+ <triangle index="3255" v0="1243" v1="1855" v2="2426"/>
+ <triangle index="3256" v0="1861" v1="2426" v2="2427"/>
+ <triangle index="3257" v0="1854" v1="1862" v2="1922"/>
+ <triangle index="3258" v0="513" v1="1862" v2="1863"/>
+ <triangle index="3259" v0="1864" v1="1866" v2="1868"/>
+ <triangle index="3260" v0="1863" v1="1867" v2="1869"/>
+ <triangle index="3261" v0="1255" v1="1872" v2="1879"/>
+ <triangle index="3262" v0="1869" v1="1872" v2="1879"/>
+ <triangle index="3263" v0="1879" v1="1880" v2="1884"/>
+ <triangle index="3264" v0="69" v1="1257" v2="1874"/>
+ <triangle index="3265" v0="513" v1="1866" v2="1868"/>
+ <triangle index="3266" v0="1864" v1="1866" v2="1869"/>
+ <triangle index="3267" v0="1863" v1="1866" v2="1869"/>
+ <triangle index="3268" v0="1865" v1="1867" v2="1874"/>
+ <triangle index="3269" v0="513" v1="1868" v2="1921"/>
+ <triangle index="3270" v0="1306" v1="1868" v2="1870"/>
+ <triangle index="3271" v0="1864" v1="1869" v2="1872"/>
+ <triangle index="3272" v0="1865" v1="1867" v2="1869"/>
+ <triangle index="3273" v0="1306" v1="1308" v2="1871"/>
+ <triangle index="3274" v0="1340" v1="1870" v2="1875"/>
+ <triangle index="3275" v0="1304" v1="1307" v2="1871"/>
+ <triangle index="3276" v0="1306" v1="1870" v2="1871"/>
+ <triangle index="3277" v0="1864" v1="1870" v2="1875"/>
+ <triangle index="3278" v0="1340" v1="1876" v2="2428"/>
+ <triangle index="3279" v0="657" v1="1257" v2="1873"/>
+ <triangle index="3280" v0="1258" v1="1873" v2="2424"/>
+ <triangle index="3281" v0="657" v1="1257" v2="1874"/>
+ <triangle index="3282" v0="1865" v1="1874" v2="1884"/>
+ <triangle index="3283" v0="1302" v1="1340" v2="1877"/>
+ <triangle index="3284" v0="1864" v1="1875" v2="2428"/>
+ <triangle index="3285" v0="2430" v1="2431" v2="2432"/>
+ <triangle index="3286" v0="1864" v1="1872" v2="2428"/>
+ <triangle index="3287" v0="1345" v1="1346" v2="1877"/>
+ <triangle index="3288" v0="1340" v1="1876" v2="1877"/>
+ <triangle index="3289" v0="1304" v1="1339" v2="1878"/>
+ <triangle index="3290" v0="1340" v1="1870" v2="1878"/>
+ <triangle index="3291" v0="1255" v1="1879" v2="1880"/>
+ <triangle index="3292" v0="1865" v1="1869" v2="1879"/>
+ <triangle index="3293" v0="1883" v1="2455" v2="2456"/>
+ <triangle index="3294" v0="70" v1="71" v2="2429"/>
+ <triangle index="3295" v0="69" v1="1874" v2="1881"/>
+ <triangle index="3296" v0="1874" v1="1881" v2="1884"/>
+ <triangle index="3297" v0="1345" v1="1876" v2="2430"/>
+ <triangle index="3298" v0="1882" v1="1883" v2="2430"/>
+ <triangle index="3299" v0="1254" v1="1890" v2="2456"/>
+ <triangle index="3300" v0="1255" v1="1882" v2="1883"/>
+ <triangle index="3301" v0="1865" v1="1879" v2="1884"/>
+ <triangle index="3302" v0="1880" v1="1881" v2="1884"/>
+ <triangle index="3303" v0="67" v1="1249" v2="1885"/>
+ <triangle index="3304" v0="1248" v1="1258" v2="1885"/>
+ <triangle index="3305" v0="14" v1="666" v2="1886"/>
+ <triangle index="3306" v0="1250" v1="1251" v2="1886"/>
+ <triangle index="3307" v0="655" v1="2432" v2="2433"/>
+ <triangle index="3308" v0="75" v1="1253" v2="1887"/>
+ <triangle index="3309" v0="2433" v1="2434" v2="2448"/>
+ <triangle index="3310" v0="72" v1="1889" v2="2454"/>
+ <triangle index="3311" v0="1254" v1="1889" v2="1891"/>
+ <triangle index="3312" v0="1890" v1="2429" v2="2454"/>
+ <triangle index="3313" v0="655" v1="1883" v2="2456"/>
+ <triangle index="3314" v0="74" v1="1891" v2="1892"/>
+ <triangle index="3315" v0="655" v1="1254" v2="1893"/>
+ <triangle index="3316" v0="73" v1="74" v2="1892"/>
+ <triangle index="3317" v0="73" v1="1889" v2="1892"/>
+ <triangle index="3318" v0="655" v1="1888" v2="1893"/>
+ <triangle index="3319" v0="1888" v1="1893" v2="1894"/>
+ <triangle index="3320" v0="1253" v1="1891" v2="1894"/>
+ <triangle index="3321" v0="1891" v1="1893" v2="1894"/>
+ <triangle index="3322" v0="1904" v1="1907" v2="1908"/>
+ <triangle index="3323" v0="1256" v1="1895" v2="1896"/>
+ <triangle index="3324" v0="1898" v1="1899" v2="1900"/>
+ <triangle index="3325" v0="1256" v1="1896" v2="1899"/>
+ <triangle index="3326" v0="79" v1="1581" v2="1897"/>
+ <triangle index="3327" v0="78" v1="1895" v2="1897"/>
+ <triangle index="3328" v0="1936" v1="2724" v2="2730"/>
+ <triangle index="3329" v0="1581" v1="1896" v2="1903"/>
+ <triangle index="3330" v0="1256" v1="1899" v2="1900"/>
+ <triangle index="3331" v0="1898" v1="1899" v2="1903"/>
+ <triangle index="3332" v0="77" v1="1907" v2="1908"/>
+ <triangle index="3333" v0="656" v1="1900" v2="2479"/>
+ <triangle index="3334" v0="2442" v1="2446" v2="2447"/>
+ <triangle index="3335" v0="512" v1="2434" v2="2435"/>
+ <triangle index="3336" v0="1256" v1="1895" v2="1908"/>
+ <triangle index="3337" v0="1901" v1="1902" v2="1909"/>
+ <triangle index="3338" v0="2458" v1="2471" v2="2473"/>
+ <triangle index="3339" v0="1024" v1="1581" v2="2457"/>
+ <triangle index="3340" v0="1902" v1="1908" v2="1910"/>
+ <triangle index="3341" v0="76" v1="1906" v2="1907"/>
+ <triangle index="3342" v0="512" v1="2435" v2="2438"/>
+ <triangle index="3343" v0="1931" v1="1939" v2="1941"/>
+ <triangle index="3344" v0="654" v1="1252" v2="1906"/>
+ <triangle index="3345" v0="1904" v1="1906" v2="1907"/>
+ <triangle index="3346" v0="1904" v1="1908" v2="1910"/>
+ <triangle index="3347" v0="76" v1="77" v2="1907"/>
+ <triangle index="3348" v0="1256" v1="1902" v2="1908"/>
+ <triangle index="3349" v0="77" v1="1895" v2="1908"/>
+ <triangle index="3350" v0="1901" v1="1909" v2="2441"/>
+ <triangle index="3351" v0="656" v1="1905" v2="1909"/>
+ <triangle index="3352" v0="1904" v1="1910" v2="2446"/>
+ <triangle index="3353" v0="1901" v1="1902" v2="1910"/>
+ <triangle index="3354" v0="7" v1="8" v2="1911"/>
+ <triangle index="3355" v0="7" v1="1266" v2="1911"/>
+ <triangle index="3356" v0="477" v1="1270" v2="1912"/>
+ <triangle index="3357" v0="686" v1="1265" v2="1912"/>
+ <triangle index="3358" v0="5" v1="6" v2="1913"/>
+ <triangle index="3359" v0="5" v1="1288" v2="1913"/>
+ <triangle index="3360" v0="1273" v1="1275" v2="1914"/>
+ <triangle index="3361" v0="1276" v1="1290" v2="1914"/>
+ <triangle index="3362" v0="701" v1="1915" v2="1916"/>
+ <triangle index="3363" v0="1294" v1="1915" v2="1918"/>
+ <triangle index="3364" v0="701" v1="1311" v2="2482"/>
+ <triangle index="3365" v0="730" v1="731" v2="2483"/>
+ <triangle index="3366" v0="1294" v1="1335" v2="1919"/>
+ <triangle index="3367" v0="1917" v1="1919" v2="1920"/>
+ <triangle index="3368" v0="704" v1="1292" v2="1918"/>
+ <triangle index="3369" v0="1294" v1="1917" v2="1918"/>
+ <triangle index="3370" v0="1336" v1="1919" v2="1920"/>
+ <triangle index="3371" v0="1294" v1="1917" v2="1919"/>
+ <triangle index="3372" v0="1304" v1="1336" v2="1920"/>
+ <triangle index="3373" v0="1299" v1="1917" v2="1920"/>
+ <triangle index="3374" v0="1306" v1="1868" v2="1921"/>
+ <triangle index="3375" v0="513" v1="1921" v2="1922"/>
+ <triangle index="3376" v0="513" v1="1862" v2="1922"/>
+ <triangle index="3377" v0="1854" v1="1860" v2="1922"/>
+ <triangle index="3378" v0="1309" v1="1860" v2="1925"/>
+ <triangle index="3379" v0="1853" v1="1924" v2="1925"/>
+ <triangle index="3380" v0="1853" v1="1861" v2="1926"/>
+ <triangle index="3381" v0="667" v1="1923" v2="1924"/>
+ <triangle index="3382" v0="1309" v1="1923" v2="1925"/>
+ <triangle index="3383" v0="1860" v1="1925" v2="2425"/>
+ <triangle index="3384" v0="670" v1="1856" v2="1926"/>
+ <triangle index="3385" v0="670" v1="1926" v2="1927"/>
+ <triangle index="3386" v0="667" v1="1924" v2="1927"/>
+ <triangle index="3387" v0="1924" v1="1926" v2="1927"/>
+ <triangle index="3388" v0="427" v1="428" v2="1928"/>
+ <triangle index="3389" v0="722" v1="1317" v2="1928"/>
+ <triangle index="3390" v0="602" v1="1612" v2="1930"/>
+ <triangle index="3391" v0="1321" v1="1323" v2="1929"/>
+ <triangle index="3392" v0="1608" v1="1932" v2="1933"/>
+ <triangle index="3393" v0="1929" v1="1930" v2="1945"/>
+ <triangle index="3394" v0="1933" v1="1935" v2="1937"/>
+ <triangle index="3395" v0="1940" v1="1941" v2="1943"/>
+ <triangle index="3396" v0="1608" v1="1611" v2="1933"/>
+ <triangle index="3397" v0="1932" v1="1945" v2="2485"/>
+ <triangle index="3398" v0="1605" v1="1933" v2="1935"/>
+ <triangle index="3399" v0="1932" v1="1933" v2="1937"/>
+ <triangle index="3400" v0="1605" v1="1935" v2="1936"/>
+ <triangle index="3401" v0="2480" v1="2481" v2="2974"/>
+ <triangle index="3402" v0="1605" v1="1609" v2="1936"/>
+ <triangle index="3403" v0="1934" v1="1935" v2="1937"/>
+ <triangle index="3404" v0="491" v1="1607" v2="2198"/>
+ <triangle index="3405" v0="2200" v1="2720" v2="2721"/>
+ <triangle index="3406" v0="1934" v1="1939" v2="2728"/>
+ <triangle index="3407" v0="1931" v1="1932" v2="1937"/>
+ <triangle index="3408" v0="2476" v1="2479" v2="2481"/>
+ <triangle index="3409" v0="1940" v1="2444" v2="2453"/>
+ <triangle index="3410" v0="1934" v1="1937" v2="1939"/>
+ <triangle index="3411" v0="1938" v1="2450" v2="2451"/>
+ <triangle index="3412" v0="2707" v1="2709" v2="2710"/>
+ <triangle index="3413" v0="1942" v1="1943" v2="1944"/>
+ <triangle index="3414" v0="1938" v1="1939" v2="1941"/>
+ <triangle index="3415" v0="1940" v1="2444" v2="2449"/>
+ <triangle index="3416" v0="716" v1="1323" v2="1946"/>
+ <triangle index="3417" v0="1323" v1="1929" v2="1945"/>
+ <triangle index="3418" v0="1940" v1="1943" v2="1944"/>
+ <triangle index="3419" v0="1942" v1="1943" v2="2485"/>
+ <triangle index="3420" v0="1328" v1="1949" v2="1950"/>
+ <triangle index="3421" v0="1944" v1="1950" v2="1952"/>
+ <triangle index="3422" v0="1931" v1="1932" v2="2485"/>
+ <triangle index="3423" v0="1945" v1="1946" v2="2485"/>
+ <triangle index="3424" v0="1942" v1="1946" v2="2484"/>
+ <triangle index="3425" v0="1323" v1="1945" v2="1946"/>
+ <triangle index="3426" v0="727" v1="728" v2="1948"/>
+ <triangle index="3427" v0="716" v1="1947" v2="2484"/>
+ <triangle index="3428" v0="716" v1="720" v2="1948"/>
+ <triangle index="3429" v0="727" v1="1947" v2="1948"/>
+ <triangle index="3430" v0="1328" v1="1951" v2="2443"/>
+ <triangle index="3431" v0="1329" v1="1331" v2="1949"/>
+ <triangle index="3432" v0="1331" v1="1950" v2="1952"/>
+ <triangle index="3433" v0="1328" v1="2444" v2="2449"/>
+ <triangle index="3434" v0="1344" v1="1349" v2="1951"/>
+ <triangle index="3435" v0="1329" v1="1949" v2="1951"/>
+ <triangle index="3436" v0="727" v1="1331" v2="1952"/>
+ <triangle index="3437" v0="1944" v1="1947" v2="1952"/>
+ <triangle index="3438" v0="1332" v1="1334" v2="1953"/>
+ <triangle index="3439" v0="1329" v1="1951" v2="1953"/>
+ <triangle index="3440" v0="1328" v1="2440" v2="2444"/>
+ <triangle index="3441" v0="1901" v1="2442" v2="2445"/>
+ <triangle index="3442" v0="530" v1="1955" v2="2486"/>
+ <triangle index="3443" v0="740" v1="1356" v2="1955"/>
+ <triangle index="3444" v0="1956" v1="1957" v2="1958"/>
+ <triangle index="3445" v0="297" v1="737" v2="2489"/>
+ <triangle index="3446" v0="461" v1="1957" v2="1958"/>
+ <triangle index="3447" v0="1956" v1="1957" v2="2486"/>
+ <triangle index="3448" v0="461" v1="769" v2="1958"/>
+ <triangle index="3449" v0="529" v1="1958" v2="2489"/>
+ <triangle index="3450" v0="1354" v1="1959" v2="1960"/>
+ <triangle index="3451" v0="293" v1="294" v2="1964"/>
+ <triangle index="3452" v0="1960" v1="1961" v2="2487"/>
+ <triangle index="3453" v0="294" v1="1959" v2="1962"/>
+ <triangle index="3454" v0="2488" v1="2731" v2="2732"/>
+ <triangle index="3455" v0="295" v1="1960" v2="1963"/>
+ <triangle index="3456" v0="1961" v1="2731" v2="2732"/>
+ <triangle index="3457" v0="295" v1="1960" v2="1962"/>
+ <triangle index="3458" v0="295" v1="296" v2="1963"/>
+ <triangle index="3459" v0="293" v1="1965" v2="2490"/>
+ <triangle index="3460" v0="1357" v1="1959" v2="1964"/>
+ <triangle index="3461" v0="784" v1="1388" v2="2491"/>
+ <triangle index="3462" v0="1964" v1="1965" v2="1981"/>
+ <triangle index="3463" v0="192" v1="1351" v2="1966"/>
+ <triangle index="3464" v0="747" v1="1966" v2="1967"/>
+ <triangle index="3465" v0="747" v1="1352" v2="1967"/>
+ <triangle index="3466" v0="746" v1="1967" v2="1979"/>
+ <triangle index="3467" v0="481" v1="1968" v2="1969"/>
+ <triangle index="3468" v0="576" v1="815" v2="1970"/>
+ <triangle index="3469" v0="481" v1="1424" v2="1969"/>
+ <triangle index="3470" v0="1423" v1="1969" v2="1990"/>
+ <triangle index="3471" v0="1363" v1="1970" v2="1971"/>
+ <triangle index="3472" v0="576" v1="1968" v2="1970"/>
+ <triangle index="3473" v0="1364" v1="1970" v2="1971"/>
+ <triangle index="3474" v0="771" v1="1374" v2="1971"/>
+ <triangle index="3475" v0="462" v1="776" v2="1974"/>
+ <triangle index="3476" v0="534" v1="1973" v2="1974"/>
+ <triangle index="3477" v0="534" v1="1366" v2="1973"/>
+ <triangle index="3478" v0="1374" v1="1972" v2="1973"/>
+ <triangle index="3479" v0="462" v1="1972" v2="1974"/>
+ <triangle index="3480" v0="534" v1="776" v2="1974"/>
+ <triangle index="3481" v0="1366" v1="1370" v2="1975"/>
+ <triangle index="3482" v0="1364" v1="1971" v2="1975"/>
+ <triangle index="3483" v0="569" v1="799" v2="1976"/>
+ <triangle index="3484" v0="478" v1="1976" v2="1983"/>
+ <triangle index="3485" v0="463" v1="1380" v2="1978"/>
+ <triangle index="3486" v0="1384" v1="1386" v2="1977"/>
+ <triangle index="3487" v0="1382" v1="1383" v2="1978"/>
+ <triangle index="3488" v0="463" v1="1977" v2="1978"/>
+ <triangle index="3489" v0="746" v1="1979" v2="1980"/>
+ <triangle index="3490" v0="1359" v1="1386" v2="1979"/>
+ <triangle index="3491" v0="746" v1="1358" v2="1981"/>
+ <triangle index="3492" v0="784" v1="1965" v2="2491"/>
+ <triangle index="3493" v0="1357" v1="1964" v2="1981"/>
+ <triangle index="3494" v0="1965" v1="1980" v2="1981"/>
+ <triangle index="3495" v0="794" v1="798" v2="1982"/>
+ <triangle index="3496" v0="567" v1="1389" v2="1982"/>
+ <triangle index="3497" v0="478" v1="568" v2="1983"/>
+ <triangle index="3498" v0="796" v1="1395" v2="1983"/>
+ <triangle index="3499" v0="177" v1="1984" v2="1985"/>
+ <triangle index="3500" v0="1398" v1="1984" v2="1986"/>
+ <triangle index="3501" v0="801" v1="1984" v2="1986"/>
+ <triangle index="3502" v0="1398" v1="1984" v2="1985"/>
+ <triangle index="3503" v0="1398" v1="1400" v2="1986"/>
+ <triangle index="3504" v0="1407" v1="1409" v2="2288"/>
+ <triangle index="3505" v0="328" v1="2885" v2="2886"/>
+ <triangle index="3506" v0="1408" v1="1413" v2="1988"/>
+ <triangle index="3507" v0="1417" v1="1419" v2="2495"/>
+ <triangle index="3508" v0="1989" v1="2002" v2="2496"/>
+ <triangle index="3509" v0="2000" v1="2001" v2="2003"/>
+ <triangle index="3510" v0="576" v1="1969" v2="1990"/>
+ <triangle index="3511" v0="1423" v1="1427" v2="1990"/>
+ <triangle index="3512" v0="318" v1="873" v2="1991"/>
+ <triangle index="3513" v0="1436" v1="1444" v2="1991"/>
+ <triangle index="3514" v0="581" v1="868" v2="1992"/>
+ <triangle index="3515" v0="869" v1="1992" v2="1993"/>
+ <triangle index="3516" v0="869" v1="890" v2="1993"/>
+ <triangle index="3517" v0="892" v1="1444" v2="1993"/>
+ <triangle index="3518" v0="801" v1="1449" v2="1994"/>
+ <triangle index="3519" v0="1437" v1="1438" v2="1995"/>
+ <triangle index="3520" v0="1437" v1="1994" v2="1995"/>
+ <triangle index="3521" v0="179" v1="1438" v2="1995"/>
+ <triangle index="3522" v0="570" v1="1446" v2="1996"/>
+ <triangle index="3523" v0="1445" v1="1996" v2="1997"/>
+ <triangle index="3524" v0="1445" v1="1450" v2="1998"/>
+ <triangle index="3525" v0="1445" v1="1997" v2="1998"/>
+ <triangle index="3526" v0="571" v1="1986" v2="1999"/>
+ <triangle index="3527" v0="571" v1="1998" v2="1999"/>
+ <triangle index="3528" v0="1400" v1="1999" v2="2000"/>
+ <triangle index="3529" v0="914" v1="1997" v2="2001"/>
+ <triangle index="3530" v0="1400" v1="1415" v2="2000"/>
+ <triangle index="3531" v0="479" v1="2003" v2="2004"/>
+ <triangle index="3532" v0="1999" v1="2000" v2="2001"/>
+ <triangle index="3533" v0="479" v1="2000" v2="2003"/>
+ <triangle index="3534" v0="573" v1="1989" v2="2496"/>
+ <triangle index="3535" v0="914" v1="2001" v2="2005"/>
+ <triangle index="3536" v0="479" v1="1988" v2="2004"/>
+ <triangle index="3537" v0="2002" v1="2003" v2="2005"/>
+ <triangle index="3538" v0="1988" v1="1989" v2="2004"/>
+ <triangle index="3539" v0="2002" v1="2003" v2="2004"/>
+ <triangle index="3540" v0="2001" v1="2003" v2="2005"/>
+ <triangle index="3541" v0="2002" v1="2005" v2="2498"/>
+ <triangle index="3542" v0="914" v1="2006" v2="2498"/>
+ <triangle index="3543" v0="1451" v1="1453" v2="2006"/>
+ <triangle index="3544" v0="585" v1="2007" v2="2502"/>
+ <triangle index="3545" v0="921" v1="1457" v2="2007"/>
+ <triangle index="3546" v0="585" v1="2007" v2="2008"/>
+ <triangle index="3547" v0="1457" v1="2007" v2="2008"/>
+ <triangle index="3548" v0="2017" v1="2018" v2="2502"/>
+ <triangle index="3549" v0="1460" v1="2013" v2="2014"/>
+ <triangle index="3550" v0="1485" v1="2010" v2="2500"/>
+ <triangle index="3551" v0="2016" v1="2023" v2="2506"/>
+ <triangle index="3552" v0="398" v1="2011" v2="2012"/>
+ <triangle index="3553" v0="1460" v1="2011" v2="2013"/>
+ <triangle index="3554" v0="921" v1="1458" v2="2012"/>
+ <triangle index="3555" v0="1460" v1="2011" v2="2012"/>
+ <triangle index="3556" v0="1460" v1="2014" v2="2499"/>
+ <triangle index="3557" v0="2013" v1="2014" v2="2015"/>
+ <triangle index="3558" v0="2009" v1="2014" v2="2017"/>
+ <triangle index="3559" v0="927" v1="2014" v2="2015"/>
+ <triangle index="3560" v0="927" v1="1465" v2="2015"/>
+ <triangle index="3561" v0="400" v1="2013" v2="2015"/>
+ <triangle index="3562" v0="585" v1="2010" v2="2503"/>
+ <triangle index="3563" v0="2016" v1="2017" v2="2018"/>
+ <triangle index="3564" v0="2009" v1="2017" v2="2502"/>
+ <triangle index="3565" v0="2016" v1="2017" v2="2019"/>
+ <triangle index="3566" v0="2010" v1="2500" v2="2501"/>
+ <triangle index="3567" v0="2024" v1="2504" v2="2505"/>
+ <triangle index="3568" v0="2016" v1="2019" v2="2020"/>
+ <triangle index="3569" v0="927" v1="2014" v2="2019"/>
+ <triangle index="3570" v0="2020" v1="2022" v2="2023"/>
+ <triangle index="3571" v0="587" v1="1466" v2="2020"/>
+ <triangle index="3572" v0="2021" v1="2023" v2="2024"/>
+ <triangle index="3573" v0="2515" v1="2517" v2="2518"/>
+ <triangle index="3574" v0="587" v1="1470" v2="2022"/>
+ <triangle index="3575" v0="587" v1="2020" v2="2022"/>
+ <triangle index="3576" v0="2016" v1="2018" v2="2506"/>
+ <triangle index="3577" v0="2021" v1="2022" v2="2023"/>
+ <triangle index="3578" v0="2018" v1="2502" v2="2503"/>
+ <triangle index="3579" v0="2741" v1="2979" v2="2980"/>
+ <triangle index="3580" v0="586" v1="2025" v2="3300"/>
+ <triangle index="3581" v0="1461" v1="1520" v2="2025"/>
+ <triangle index="3582" v0="951" v1="1520" v2="2026"/>
+ <triangle index="3583" v0="1461" v1="2027" v2="3300"/>
+ <triangle index="3584" v0="485" v1="2027" v2="2030"/>
+ <triangle index="3585" v0="2026" v1="2027" v2="2522"/>
+ <triangle index="3586" v0="2029" v1="2030" v2="2507"/>
+ <triangle index="3587" v0="2021" v1="2511" v2="2513"/>
+ <triangle index="3588" v0="485" v1="2507" v2="2742"/>
+ <triangle index="3589" v0="2519" v1="2522" v2="2524"/>
+ <triangle index="3590" v0="485" v1="2030" v2="2507"/>
+ <triangle index="3591" v0="2029" v1="2030" v2="2522"/>
+ <triangle index="3592" v0="918" v1="2031" v2="2525"/>
+ <triangle index="3593" v0="2031" v1="2526" v2="2527"/>
+ <triangle index="3594" v0="486" v1="2050" v2="2055"/>
+ <triangle index="3595" v0="2590" v1="2592" v2="2594"/>
+ <triangle index="3596" v0="1481" v1="1483" v2="2033"/>
+ <triangle index="3597" v0="1480" v1="2033" v2="2589"/>
+ <triangle index="3598" v0="2588" v1="2589" v2="2851"/>
+ <triangle index="3599" v0="1571" v1="1573" v2="2595"/>
+ <triangle index="3600" v0="584" v1="2031" v2="2035"/>
+ <triangle index="3601" v0="484" v1="1497" v2="2035"/>
+ <triangle index="3602" v0="1457" v1="1459" v2="2036"/>
+ <triangle index="3603" v0="1494" v1="1495" v2="2036"/>
+ <triangle index="3604" v0="919" v1="920" v2="2037"/>
+ <triangle index="3605" v0="584" v1="2035" v2="2037"/>
+ <triangle index="3606" v0="939" v1="2038" v2="2041"/>
+ <triangle index="3607" v0="1499" v1="2042" v2="2529"/>
+ <triangle index="3608" v0="2753" v1="2994" v2="2995"/>
+ <triangle index="3609" v0="1530" v1="2064" v2="2070"/>
+ <triangle index="3610" v0="1567" v1="2584" v2="2585"/>
+ <triangle index="3611" v0="486" v1="2045" v2="2048"/>
+ <triangle index="3612" v0="388" v1="2041" v2="2042"/>
+ <triangle index="3613" v0="1499" v1="2038" v2="2041"/>
+ <triangle index="3614" v0="385" v1="386" v2="3132"/>
+ <triangle index="3615" v0="1499" v1="2041" v2="2042"/>
+ <triangle index="3616" v0="2040" v1="2530" v2="2531"/>
+ <triangle index="3617" v0="589" v1="2044" v2="2045"/>
+ <triangle index="3618" v0="1500" v1="2044" v2="2058"/>
+ <triangle index="3619" v0="2048" v1="2049" v2="2991"/>
+ <triangle index="3620" v0="2032" v1="2050" v2="2052"/>
+ <triangle index="3621" v0="486" v1="934" v2="2046"/>
+ <triangle index="3622" v0="930" v1="1500" v2="2046"/>
+ <triangle index="3623" v0="589" v1="2045" v2="2051"/>
+ <triangle index="3624" v0="2049" v1="2051" v2="2754"/>
+ <triangle index="3625" v0="2045" v1="2048" v2="2051"/>
+ <triangle index="3626" v0="2047" v1="2048" v2="2050"/>
+ <triangle index="3627" v0="2040" v1="2051" v2="2754"/>
+ <triangle index="3628" v0="2039" v1="2537" v2="2754"/>
+ <triangle index="3629" v0="2047" v1="2050" v2="2052"/>
+ <triangle index="3630" v0="2032" v1="2050" v2="2055"/>
+ <triangle index="3631" v0="589" v1="2040" v2="2051"/>
+ <triangle index="3632" v0="2048" v1="2049" v2="2051"/>
+ <triangle index="3633" v0="2989" v1="3126" v2="3127"/>
+ <triangle index="3634" v0="1473" v1="2052" v2="2594"/>
+ <triangle index="3635" v0="2537" v1="2754" v2="2991"/>
+ <triangle index="3636" v0="2770" v1="3005" v2="3006"/>
+ <triangle index="3637" v0="2047" v1="2052" v2="2054"/>
+ <triangle index="3638" v0="590" v1="2799" v2="2847"/>
+ <triangle index="3639" v0="2032" v1="2055" v2="2593"/>
+ <triangle index="3640" v0="486" v1="938" v2="2055"/>
+ <triangle index="3641" v0="930" v1="933" v2="2056"/>
+ <triangle index="3642" v0="389" v1="2057" v2="2058"/>
+ <triangle index="3643" v0="389" v1="1498" v2="2058"/>
+ <triangle index="3644" v0="390" v1="2056" v2="2057"/>
+ <triangle index="3645" v0="939" v1="2044" v2="2058"/>
+ <triangle index="3646" v0="90" v1="1560" v2="2059"/>
+ <triangle index="3647" v0="1502" v1="1503" v2="2059"/>
+ <triangle index="3648" v0="2173" v1="2180" v2="2181"/>
+ <triangle index="3649" v0="2168" v1="2172" v2="2619"/>
+ <triangle index="3650" v0="81" v1="2468" v2="2470"/>
+ <triangle index="3651" v0="1524" v1="2127" v2="2605"/>
+ <triangle index="3652" v0="2063" v1="2065" v2="2067"/>
+ <triangle index="3653" v0="1531" v1="2062" v2="2064"/>
+ <triangle index="3654" v0="2070" v1="2539" v2="2757"/>
+ <triangle index="3655" v0="1530" v1="1531" v2="2064"/>
+ <triangle index="3656" v0="2062" v1="2064" v2="2065"/>
+ <triangle index="3657" v0="2064" v1="2070" v2="2539"/>
+ <triangle index="3658" v0="488" v1="2067" v2="2071"/>
+ <triangle index="3659" v0="2063" v1="2065" v2="2539"/>
+ <triangle index="3660" v0="488" v1="964" v2="2071"/>
+ <triangle index="3661" v0="2066" v1="2069" v2="2072"/>
+ <triangle index="3662" v0="488" v1="2065" v2="2067"/>
+ <triangle index="3663" v0="2066" v1="2067" v2="2068"/>
+ <triangle index="3664" v0="2066" v1="2068" v2="2069"/>
+ <triangle index="3665" v0="594" v1="2068" v2="2541"/>
+ <triangle index="3666" v0="2066" v1="2071" v2="2072"/>
+ <triangle index="3667" v0="1016" v1="2069" v2="2797"/>
+ <triangle index="3668" v0="2063" v1="2068" v2="2541"/>
+ <triangle index="3669" v0="2533" v1="2536" v2="3128"/>
+ <triangle index="3670" v0="960" v1="964" v2="2071"/>
+ <triangle index="3671" v0="960" v1="2071" v2="2072"/>
+ <triangle index="3672" v0="960" v1="963" v2="2075"/>
+ <triangle index="3673" v0="94" v1="1557" v2="2073"/>
+ <triangle index="3674" v0="1016" v1="1557" v2="2073"/>
+ <triangle index="3675" v0="2072" v1="2073" v2="2074"/>
+ <triangle index="3676" v0="960" v1="2072" v2="2075"/>
+ <triangle index="3677" v0="94" v1="95" v2="2074"/>
+ <triangle index="3678" v0="95" v1="963" v2="2075"/>
+ <triangle index="3679" v0="2072" v1="2074" v2="2075"/>
+ <triangle index="3680" v0="1530" v1="2076" v2="2079"/>
+ <triangle index="3681" v0="2078" v1="2079" v2="2080"/>
+ <triangle index="3682" v0="1530" v1="2079" v2="2776"/>
+ <triangle index="3683" v0="2805" v1="2809" v2="2811"/>
+ <triangle index="3684" v0="2083" v1="2804" v2="2830"/>
+ <triangle index="3685" v0="1534" v1="2081" v2="2082"/>
+ <triangle index="3686" v0="1530" v1="2776" v2="2777"/>
+ <triangle index="3687" v0="2077" v1="2079" v2="2543"/>
+ <triangle index="3688" v0="2076" v1="2079" v2="2080"/>
+ <triangle index="3689" v0="2078" v1="2080" v2="2081"/>
+ <triangle index="3690" v0="2078" v1="2081" v2="2086"/>
+ <triangle index="3691" v0="2084" v1="2546" v2="2548"/>
+ <triangle index="3692" v0="1534" v1="1536" v2="2082"/>
+ <triangle index="3693" v0="1537" v1="2080" v2="2082"/>
+ <triangle index="3694" v0="2085" v1="2086" v2="2545"/>
+ <triangle index="3695" v0="2569" v1="2831" v2="3007"/>
+ <triangle index="3696" v0="2081" v1="2086" v2="2829"/>
+ <triangle index="3697" v0="1539" v1="2548" v2="2563"/>
+ <triangle index="3698" v0="2078" v1="2543" v2="2545"/>
+ <triangle index="3699" v0="2085" v1="2804" v2="2830"/>
+ <triangle index="3700" v0="2078" v1="2086" v2="2545"/>
+ <triangle index="3701" v0="2085" v1="2086" v2="2829"/>
+ <triangle index="3702" v0="101" v1="102" v2="2087"/>
+ <triangle index="3703" v0="1542" v1="1550" v2="2087"/>
+ <triangle index="3704" v0="1009" v1="2554" v2="2557"/>
+ <triangle index="3705" v0="104" v1="2551" v2="3311"/>
+ <triangle index="3706" v0="102" v1="2087" v2="2089"/>
+ <triangle index="3707" v0="1550" v1="2549" v2="2550"/>
+ <triangle index="3708" v0="988" v1="996" v2="2091"/>
+ <triangle index="3709" v0="1552" v1="2090" v2="2093"/>
+ <triangle index="3710" v0="988" v1="1003" v2="2558"/>
+ <triangle index="3711" v0="1552" v1="2090" v2="2091"/>
+ <triangle index="3712" v0="2102" v1="2560" v2="2577"/>
+ <triangle index="3713" v0="2092" v1="2095" v2="2100"/>
+ <triangle index="3714" v0="1552" v1="2096" v2="2577"/>
+ <triangle index="3715" v0="2092" v1="2093" v2="2095"/>
+ <triangle index="3716" v0="2565" v1="2566" v2="2571"/>
+ <triangle index="3717" v0="2097" v1="2572" v2="2573"/>
+ <triangle index="3718" v0="2098" v1="2100" v2="2101"/>
+ <triangle index="3719" v0="999" v1="2095" v2="2099"/>
+ <triangle index="3720" v0="1552" v1="2093" v2="2096"/>
+ <triangle index="3721" v0="2094" v1="2096" v2="2573"/>
+ <triangle index="3722" v0="2096" v1="2097" v2="2573"/>
+ <triangle index="3723" v0="2097" v1="2572" v2="2575"/>
+ <triangle index="3724" v0="2110" v1="2111" v2="3136"/>
+ <triangle index="3725" v0="1000" v1="2107" v2="2108"/>
+ <triangle index="3726" v0="2095" v1="2099" v2="2100"/>
+ <triangle index="3727" v0="2099" v1="2100" v2="2578"/>
+ <triangle index="3728" v0="2092" v1="2100" v2="2101"/>
+ <triangle index="3729" v0="2098" v1="2100" v2="2578"/>
+ <triangle index="3730" v0="2092" v1="2097" v2="2101"/>
+ <triangle index="3731" v0="1554" v1="2101" v2="2581"/>
+ <triangle index="3732" v0="1540" v1="2548" v2="2563"/>
+ <triangle index="3733" v0="2094" v1="2096" v2="2577"/>
+ <triangle index="3734" v0="1015" v1="2103" v2="2104"/>
+ <triangle index="3735" v0="1556" v1="2557" v2="3105"/>
+ <triangle index="3736" v0="1013" v1="1015" v2="2105"/>
+ <triangle index="3737" v0="1014" v1="2104" v2="3106"/>
+ <triangle index="3738" v0="2106" v1="2107" v2="2110"/>
+ <triangle index="3739" v0="2104" v1="2105" v2="2112"/>
+ <triangle index="3740" v0="2582" v1="3140" v2="3316"/>
+ <triangle index="3741" v0="3190" v1="3247" v2="3249"/>
+ <triangle index="3742" v0="1000" v1="1010" v2="2108"/>
+ <triangle index="3743" v0="2106" v1="2107" v2="2109"/>
+ <triangle index="3744" v0="1008" v1="2099" v2="2578"/>
+ <triangle index="3745" v0="2110" v1="2111" v2="2580"/>
+ <triangle index="3746" v0="2106" v1="2109" v2="3013"/>
+ <triangle index="3747" v0="2846" v1="3141" v2="3143"/>
+ <triangle index="3748" v0="2107" v1="2108" v2="2110"/>
+ <triangle index="3749" v0="2108" v1="2578" v2="2580"/>
+ <triangle index="3750" v0="2111" v1="2580" v2="2581"/>
+ <triangle index="3751" v0="2581" v1="2582" v2="3137"/>
+ <triangle index="3752" v0="2107" v1="2109" v2="2112"/>
+ <triangle index="3753" v0="1014" v1="2109" v2="2112"/>
+ <triangle index="3754" v0="88" v1="89" v2="2113"/>
+ <triangle index="3755" v0="88" v1="1559" v2="2113"/>
+ <triangle index="3756" v0="1573" v1="2849" v2="2850"/>
+ <triangle index="3757" v0="2053" v1="3001" v2="3020"/>
+ <triangle index="3758" v0="1019" v1="1576" v2="2115"/>
+ <triangle index="3759" v0="1568" v1="1569" v2="2115"/>
+ <triangle index="3760" v0="1480" v1="2589" v2="2591"/>
+ <triangle index="3761" v0="2114" v1="2583" v2="2587"/>
+ <triangle index="3762" v0="489" v1="1575" v2="2853"/>
+ <triangle index="3763" v0="2034" v1="2597" v2="2602"/>
+ <triangle index="3764" v0="489" v1="2118" v2="3314"/>
+ <triangle index="3765" v0="2117" v1="2118" v2="2604"/>
+ <triangle index="3766" v0="597" v1="1022" v2="2119"/>
+ <triangle index="3767" v0="1023" v1="2119" v2="2614"/>
+ <triangle index="3768" v0="1021" v1="1523" v2="2120"/>
+ <triangle index="3769" v0="1579" v1="2120" v2="2609"/>
+ <triangle index="3770" v0="956" v1="2121" v2="2123"/>
+ <triangle index="3771" v0="592" v1="2121" v2="2618"/>
+ <triangle index="3772" v0="83" v1="1522" v2="2128"/>
+ <triangle index="3773" v0="2129" v1="2131" v2="2606"/>
+ <triangle index="3774" v0="1522" v1="2126" v2="2128"/>
+ <triangle index="3775" v0="2122" v1="2123" v2="2125"/>
+ <triangle index="3776" v0="82" v1="83" v2="2127"/>
+ <triangle index="3777" v0="82" v1="2061" v2="2127"/>
+ <triangle index="3778" v0="2122" v1="2125" v2="2131"/>
+ <triangle index="3779" v0="2132" v1="2138" v2="2140"/>
+ <triangle index="3780" v0="956" v1="1522" v2="2126"/>
+ <triangle index="3781" v0="2122" v1="2124" v2="2126"/>
+ <triangle index="3782" v0="1524" v1="2061" v2="2127"/>
+ <triangle index="3783" v0="2124" v1="2127" v2="2128"/>
+ <triangle index="3784" v0="83" v1="2127" v2="2128"/>
+ <triangle index="3785" v0="2124" v1="2126" v2="2128"/>
+ <triangle index="3786" v0="2143" v1="2155" v2="2157"/>
+ <triangle index="3787" v0="2153" v1="2172" v2="2173"/>
+ <triangle index="3788" v0="2132" v1="2133" v2="2134"/>
+ <triangle index="3789" v0="2519" v1="2521" v2="2523"/>
+ <triangle index="3790" v0="2122" v1="2131" v2="2606"/>
+ <triangle index="3791" v0="2129" v1="2131" v2="2134"/>
+ <triangle index="3792" v0="2125" v1="2133" v2="2134"/>
+ <triangle index="3793" v0="2140" v1="2149" v2="2608"/>
+ <triangle index="3794" v0="2125" v1="2131" v2="2134"/>
+ <triangle index="3795" v0="2132" v1="2140" v2="2141"/>
+ <triangle index="3796" v0="2129" v1="2137" v2="2143"/>
+ <triangle index="3797" v0="2132" v1="2134" v2="2136"/>
+ <triangle index="3798" v0="2135" v1="2145" v2="2148"/>
+ <triangle index="3799" v0="2130" v1="2136" v2="2138"/>
+ <triangle index="3800" v0="2134" v1="2136" v2="2137"/>
+ <triangle index="3801" v0="2136" v1="2137" v2="2144"/>
+ <triangle index="3802" v0="957" v1="2129" v2="2143"/>
+ <triangle index="3803" v0="2135" v1="2137" v2="2144"/>
+ <triangle index="3804" v0="2139" v1="2140" v2="2149"/>
+ <triangle index="3805" v0="2132" v1="2136" v2="2138"/>
+ <triangle index="3806" v0="2507" v1="2512" v2="2516"/>
+ <triangle index="3807" v0="2150" v1="2609" v2="2618"/>
+ <triangle index="3808" v0="2130" v1="2138" v2="2608"/>
+ <triangle index="3809" v0="592" v1="2133" v2="2141"/>
+ <triangle index="3810" v0="2139" v1="2140" v2="2612"/>
+ <triangle index="3811" v0="1579" v1="2609" v2="2618"/>
+ <triangle index="3812" v0="2142" v1="2145" v2="2146"/>
+ <triangle index="3813" v0="2142" v1="2154" v2="2181"/>
+ <triangle index="3814" v0="957" v1="2143" v2="2155"/>
+ <triangle index="3815" v0="2137" v1="2143" v2="2169"/>
+ <triangle index="3816" v0="2135" v1="2144" v2="2145"/>
+ <triangle index="3817" v0="2144" v1="2145" v2="2146"/>
+ <triangle index="3818" v0="2148" v1="2152" v2="2161"/>
+ <triangle index="3819" v0="2148" v1="2154" v2="2167"/>
+ <triangle index="3820" v0="2142" v1="2146" v2="2751"/>
+ <triangle index="3821" v0="2130" v1="2136" v2="2146"/>
+ <triangle index="3822" v0="2147" v1="2148" v2="2161"/>
+ <triangle index="3823" v0="2147" v1="2148" v2="2167"/>
+ <triangle index="3824" v0="2135" v1="2148" v2="2152"/>
+ <triangle index="3825" v0="2153" v1="2167" v2="2168"/>
+ <triangle index="3826" v0="2521" v1="2523" v2="2752"/>
+ <triangle index="3827" v0="2028" v1="2517" v2="2518"/>
+ <triangle index="3828" v0="2140" v1="2612" v2="2615"/>
+ <triangle index="3829" v0="2139" v1="2612" v2="2616"/>
+ <triangle index="3830" v0="957" v1="2606" v2="2607"/>
+ <triangle index="3831" v0="1035" v1="2162" v2="2166"/>
+ <triangle index="3832" v0="2152" v1="2157" v2="2169"/>
+ <triangle index="3833" v0="1590" v1="2152" v2="2161"/>
+ <triangle index="3834" v0="2060" v1="2172" v2="2173"/>
+ <triangle index="3835" v0="2142" v1="2145" v2="2154"/>
+ <triangle index="3836" v0="2145" v1="2148" v2="2154"/>
+ <triangle index="3837" v0="2153" v1="2154" v2="2181"/>
+ <triangle index="3838" v0="957" v1="2155" v2="2156"/>
+ <triangle index="3839" v0="2151" v1="2155" v2="2157"/>
+ <triangle index="3840" v0="80" v1="81" v2="2468"/>
+ <triangle index="3841" v0="2459" v1="2461" v2="2463"/>
+ <triangle index="3842" v0="2151" v1="2157" v2="2158"/>
+ <triangle index="3843" v0="2135" v1="2152" v2="2169"/>
+ <triangle index="3844" v0="2160" v1="2170" v2="2621"/>
+ <triangle index="3845" v0="1590" v1="2152" v2="2158"/>
+ <triangle index="3846" v0="2159" v1="2160" v2="2170"/>
+ <triangle index="3847" v0="599" v1="1585" v2="2186"/>
+ <triangle index="3848" v0="2151" v1="2158" v2="2621"/>
+ <triangle index="3849" v0="2164" v1="2166" v2="2171"/>
+ <triangle index="3850" v0="1590" v1="2161" v2="2163"/>
+ <triangle index="3851" v0="2147" v1="2161" v2="2165"/>
+ <triangle index="3852" v0="1590" v1="2163" v2="2164"/>
+ <triangle index="3853" v0="2165" v1="2175" v2="2623"/>
+ <triangle index="3854" v0="1590" v1="2160" v2="2164"/>
+ <triangle index="3855" v0="2162" v1="2163" v2="2165"/>
+ <triangle index="3856" v0="2159" v1="2160" v2="2171"/>
+ <triangle index="3857" v0="2160" v1="2164" v2="2171"/>
+ <triangle index="3858" v0="1035" v1="2176" v2="2623"/>
+ <triangle index="3859" v0="2174" v1="2175" v2="2620"/>
+ <triangle index="3860" v0="1035" v1="1038" v2="2166"/>
+ <triangle index="3861" v0="2162" v1="2164" v2="2166"/>
+ <triangle index="3862" v0="2147" v1="2167" v2="2168"/>
+ <triangle index="3863" v0="2153" v1="2154" v2="2167"/>
+ <triangle index="3864" v0="2147" v1="2168" v2="2174"/>
+ <triangle index="3865" v0="1515" v1="2175" v2="2620"/>
+ <triangle index="3866" v0="2135" v1="2137" v2="2169"/>
+ <triangle index="3867" v0="2143" v1="2157" v2="2169"/>
+ <triangle index="3868" v0="2170" v1="2621" v2="2622"/>
+ <triangle index="3869" v0="598" v1="2459" v2="2461"/>
+ <triangle index="3870" v0="2159" v1="2171" v2="2183"/>
+ <triangle index="3871" v0="1038" v1="2166" v2="2171"/>
+ <triangle index="3872" v0="2060" v1="2173" v2="2178"/>
+ <triangle index="3873" v0="2153" v1="2168" v2="2172"/>
+ <triangle index="3874" v0="2173" v1="2178" v2="2179"/>
+ <triangle index="3875" v0="2173" v1="2179" v2="2180"/>
+ <triangle index="3876" v0="2147" v1="2165" v2="2174"/>
+ <triangle index="3877" v0="2165" v1="2174" v2="2175"/>
+ <triangle index="3878" v0="2162" v1="2165" v2="2623"/>
+ <triangle index="3879" v0="1505" v1="2619" v2="2620"/>
+ <triangle index="3880" v0="1035" v1="2176" v2="2624"/>
+ <triangle index="3881" v0="2175" v1="2176" v2="2865"/>
+ <triangle index="3882" v0="2177" v1="2182" v2="2717"/>
+ <triangle index="3883" v0="1607" v1="1936" v2="2632"/>
+ <triangle index="3884" v0="2060" v1="2178" v2="2538"/>
+ <triangle index="3885" v0="487" v1="2178" v2="2179"/>
+ <triangle index="3886" v0="487" v1="954" v2="2179"/>
+ <triangle index="3887" v0="952" v1="2179" v2="2180"/>
+ <triangle index="3888" v0="952" v1="955" v2="2520"/>
+ <triangle index="3889" v0="2180" v1="2521" v2="2752"/>
+ <triangle index="3890" v0="2153" v1="2173" v2="2181"/>
+ <triangle index="3891" v0="2142" v1="2180" v2="2181"/>
+ <triangle index="3892" v0="2461" v1="2464" v2="2715"/>
+ <triangle index="3893" v0="2177" v1="2188" v2="2189"/>
+ <triangle index="3894" v0="2159" v1="2183" v2="2716"/>
+ <triangle index="3895" v0="2182" v1="2189" v2="2628"/>
+ <triangle index="3896" v0="599" v1="2184" v2="2629"/>
+ <triangle index="3897" v0="1025" v1="1028" v2="2184"/>
+ <triangle index="3898" v0="1038" v1="2171" v2="2628"/>
+ <triangle index="3899" v0="2187" v1="2188" v2="2191"/>
+ <triangle index="3900" v0="1586" v1="2186" v2="2187"/>
+ <triangle index="3901" v0="2186" v1="2187" v2="2191"/>
+ <triangle index="3902" v0="1586" v1="2187" v2="2626"/>
+ <triangle index="3903" v0="2185" v1="2187" v2="2188"/>
+ <triangle index="3904" v0="2185" v1="2188" v2="2189"/>
+ <triangle index="3905" v0="2177" v1="2188" v2="2191"/>
+ <triangle index="3906" v0="2185" v1="2189" v2="2627"/>
+ <triangle index="3907" v0="2177" v1="2182" v2="2189"/>
+ <triangle index="3908" v0="2717" v1="2718" v2="2727"/>
+ <triangle index="3909" v0="2198" v1="2201" v2="2632"/>
+ <triangle index="3910" v0="2177" v1="2191" v2="2726"/>
+ <triangle index="3911" v0="2190" v1="2191" v2="2192"/>
+ <triangle index="3912" v0="2186" v1="2191" v2="2192"/>
+ <triangle index="3913" v0="2190" v1="2192" v2="2633"/>
+ <triangle index="3914" v0="2198" v1="2199" v2="2201"/>
+ <triangle index="3915" v0="1597" v1="1599" v2="2193"/>
+ <triangle index="3916" v0="1036" v1="1039" v2="2194"/>
+ <triangle index="3917" v0="413" v1="2194" v2="2195"/>
+ <triangle index="3918" v0="412" v1="413" v2="2195"/>
+ <triangle index="3919" v0="412" v1="2196" v2="2630"/>
+ <triangle index="3920" v0="1515" v1="2864" v2="2865"/>
+ <triangle index="3921" v0="2195" v1="2196" v2="2863"/>
+ <triangle index="3922" v0="1604" v1="1606" v2="2197"/>
+ <triangle index="3923" v0="491" v1="1607" v2="2197"/>
+ <triangle index="3924" v0="1597" v1="2193" v2="2199"/>
+ <triangle index="3925" v0="1597" v1="2198" v2="2199"/>
+ <triangle index="3926" v0="2192" v1="2193" v2="2633"/>
+ <triangle index="3927" v0="2193" v1="2199" v2="2633"/>
+ <triangle index="3928" v0="2200" v1="2201" v2="2202"/>
+ <triangle index="3929" v0="598" v1="2458" v2="2459"/>
+ <triangle index="3930" v0="2199" v1="2201" v2="2202"/>
+ <triangle index="3931" v0="2200" v1="2201" v2="2632"/>
+ <triangle index="3932" v0="2725" v1="2726" v2="2727"/>
+ <triangle index="3933" v0="598" v1="2466" v2="2471"/>
+ <triangle index="3934" v0="423" v1="2203" v2="2204"/>
+ <triangle index="3935" v0="1615" v1="1617" v2="2203"/>
+ <triangle index="3936" v0="422" v1="1621" v2="2204"/>
+ <triangle index="3937" v0="2204" v1="2205" v2="2208"/>
+ <triangle index="3938" v0="1615" v1="2204" v2="2205"/>
+ <triangle index="3939" v0="1042" v1="2204" v2="2208"/>
+ <triangle index="3940" v0="1314" v1="2206" v2="2207"/>
+ <triangle index="3941" v0="1043" v1="1618" v2="2206"/>
+ <triangle index="3942" v0="1314" v1="1319" v2="2207"/>
+ <triangle index="3943" v0="425" v1="426" v2="2207"/>
+ <triangle index="3944" v0="1602" v1="1619" v2="2208"/>
+ <triangle index="3945" v0="1619" v1="2205" v2="2208"/>
+ <triangle index="3946" v0="165" v1="166" v2="2209"/>
+ <triangle index="3947" v0="165" v1="1629" v2="2209"/>
+ <triangle index="3948" v0="1628" v1="1632" v2="2210"/>
+ <triangle index="3949" v0="1630" v1="2209" v2="2210"/>
+ <triangle index="3950" v0="1630" v1="1632" v2="2300"/>
+ <triangle index="3951" v0="1754" v1="2211" v2="2297"/>
+ <triangle index="3952" v0="1124" v1="1751" v2="2212"/>
+ <triangle index="3953" v0="1113" v1="2212" v2="2291"/>
+ <triangle index="3954" v0="1653" v1="1738" v2="2213"/>
+ <triangle index="3955" v0="1640" v1="1648" v2="2213"/>
+ <triangle index="3956" v0="338" v1="1660" v2="2214"/>
+ <triangle index="3957" v0="1659" v1="2214" v2="2215"/>
+ <triangle index="3958" v0="1659" v1="1667" v2="2216"/>
+ <triangle index="3959" v0="2215" v1="2216" v2="2217"/>
+ <triangle index="3960" v0="1665" v1="2216" v2="2217"/>
+ <triangle index="3961" v0="1659" v1="2215" v2="2216"/>
+ <triangle index="3962" v0="1665" v1="2217" v2="2219"/>
+ <triangle index="3963" v0="2217" v1="2219" v2="2220"/>
+ <triangle index="3964" v0="340" v1="1774" v2="2218"/>
+ <triangle index="3965" v0="2215" v1="2217" v2="2218"/>
+ <triangle index="3966" v0="1665" v1="2219" v2="2280"/>
+ <triangle index="3967" v0="1748" v1="2262" v2="2639"/>
+ <triangle index="3968" v0="634" v1="2220" v2="2222"/>
+ <triangle index="3969" v0="1139" v1="2217" v2="2220"/>
+ <triangle index="3970" v0="2221" v1="2222" v2="2225"/>
+ <triangle index="3971" v0="2226" v1="2240" v2="2241"/>
+ <triangle index="3972" v0="634" v1="2225" v2="2229"/>
+ <triangle index="3973" v0="2221" v1="2222" v2="2224"/>
+ <triangle index="3974" v0="2223" v1="2225" v2="2229"/>
+ <triangle index="3975" v0="2234" v1="2238" v2="2240"/>
+ <triangle index="3976" v0="2221" v1="2224" v2="2226"/>
+ <triangle index="3977" v0="1139" v1="1774" v2="2228"/>
+ <triangle index="3978" v0="634" v1="2222" v2="2225"/>
+ <triangle index="3979" v0="2225" v1="2234" v2="2235"/>
+ <triangle index="3980" v0="2221" v1="2234" v2="2240"/>
+ <triangle index="3981" v0="636" v1="1141" v2="2227"/>
+ <triangle index="3982" v0="341" v1="2228" v2="2231"/>
+ <triangle index="3983" v0="341" v1="1774" v2="2228"/>
+ <triangle index="3984" v0="2224" v1="2228" v2="2232"/>
+ <triangle index="3985" v0="2227" v1="2228" v2="2231"/>
+ <triangle index="3986" v0="2229" v1="2255" v2="2259"/>
+ <triangle index="3987" v0="2233" v1="2254" v2="2255"/>
+ <triangle index="3988" v0="2235" v1="2237" v2="2277"/>
+ <triangle index="3989" v0="2242" v1="2243" v2="2245"/>
+ <triangle index="3990" v0="2226" v1="2227" v2="2232"/>
+ <triangle index="3991" v0="342" v1="2227" v2="2231"/>
+ <triangle index="3992" v0="2227" v1="2228" v2="2232"/>
+ <triangle index="3993" v0="2233" v1="2261" v2="2262"/>
+ <triangle index="3994" v0="1643" v1="1647" v2="2307"/>
+ <triangle index="3995" v0="2223" v1="2225" v2="2235"/>
+ <triangle index="3996" v0="2230" v1="2234" v2="2238"/>
+ <triangle index="3997" v0="2223" v1="2235" v2="2237"/>
+ <triangle index="3998" v0="2230" v1="2234" v2="2235"/>
+ <triangle index="3999" v0="2223" v1="2237" v2="2239"/>
+ <triangle index="4000" v0="2258" v1="2272" v2="2278"/>
+ <triangle index="4001" v0="2223" v1="2239" v2="2254"/>
+ <triangle index="4002" v0="2236" v1="2272" v2="2277"/>
+ <triangle index="4003" v0="2244" v1="2245" v2="2257"/>
+ <triangle index="4004" v0="502" v1="2238" v2="2240"/>
+ <triangle index="4005" v0="2256" v1="2261" v2="2262"/>
+ <triangle index="4006" v0="2237" v1="2239" v2="2268"/>
+ <triangle index="4007" v0="502" v1="2240" v2="2241"/>
+ <triangle index="4008" v0="2221" v1="2226" v2="2240"/>
+ <triangle index="4009" v0="502" v1="2241" v2="2243"/>
+ <triangle index="4010" v0="636" v1="2226" v2="2241"/>
+ <triangle index="4011" v0="502" v1="2238" v2="2246"/>
+ <triangle index="4012" v0="1831" v1="2396" v2="2399"/>
+ <triangle index="4013" v0="2244" v1="2246" v2="2257"/>
+ <triangle index="4014" v0="2397" v1="2400" v2="2401"/>
+ <triangle index="4015" v0="2342" v1="2343" v2="3033"/>
+ <triangle index="4016" v0="1137" v1="2316" v2="2320"/>
+ <triangle index="4017" v0="502" v1="2243" v2="2257"/>
+ <triangle index="4018" v0="2245" v1="2248" v2="2249"/>
+ <triangle index="4019" v0="2230" v1="2238" v2="2246"/>
+ <triangle index="4020" v0="2258" v1="2264" v2="2272"/>
+ <triangle index="4021" v0="2247" v1="2248" v2="2249"/>
+ <triangle index="4022" v0="1829" v1="2250" v2="2252"/>
+ <triangle index="4023" v0="2244" v1="2245" v2="2249"/>
+ <triangle index="4024" v0="2247" v1="2248" v2="2250"/>
+ <triangle index="4025" v0="2244" v1="2246" v2="2264"/>
+ <triangle index="4026" v0="2244" v1="2273" v2="2279"/>
+ <triangle index="4027" v0="2247" v1="2250" v2="2252"/>
+ <triangle index="4028" v0="1829" v1="2398" v2="2693"/>
+ <triangle index="4029" v0="2650" v1="2895" v2="2896"/>
+ <triangle index="4030" v0="2244" v1="2249" v2="2279"/>
+ <triangle index="4031" v0="2247" v1="2249" v2="2253"/>
+ <triangle index="4032" v0="2252" v1="2637" v2="2866"/>
+ <triangle index="4033" v0="2321" v1="2323" v2="2327"/>
+ <triangle index="4034" v0="2247" v1="2253" v2="2324"/>
+ <triangle index="4035" v0="2229" v1="2254" v2="2255"/>
+ <triangle index="4036" v0="2233" v1="2239" v2="2254"/>
+ <triangle index="4037" v0="634" v1="2229" v2="2259"/>
+ <triangle index="4038" v0="1744" v1="2266" v2="2267"/>
+ <triangle index="4039" v0="635" v1="2269" v2="2270"/>
+ <triangle index="4040" v0="2236" v1="2263" v2="2268"/>
+ <triangle index="4041" v0="2243" v1="2245" v2="2257"/>
+ <triangle index="4042" v0="502" v1="2246" v2="2257"/>
+ <triangle index="4043" v0="2270" v1="2271" v2="2278"/>
+ <triangle index="4044" v0="2244" v1="2264" v2="2273"/>
+ <triangle index="4045" v0="634" v1="2219" v2="2265"/>
+ <triangle index="4046" v0="1664" v1="2260" v2="2265"/>
+ <triangle index="4047" v0="1664" v1="2260" v2="2266"/>
+ <triangle index="4048" v0="2255" v1="2259" v2="2260"/>
+ <triangle index="4049" v0="2233" v1="2262" v2="2639"/>
+ <triangle index="4050" v0="2256" v1="2261" v2="2263"/>
+ <triangle index="4051" v0="1647" v1="1748" v2="2262"/>
+ <triangle index="4052" v0="1647" v1="2307" v2="2309"/>
+ <triangle index="4053" v0="2256" v1="2263" v2="2275"/>
+ <triangle index="4054" v0="2263" v1="2270" v2="2275"/>
+ <triangle index="4055" v0="2230" v1="2246" v2="2276"/>
+ <triangle index="4056" v0="2258" v1="2264" v2="2273"/>
+ <triangle index="4057" v0="634" v1="2259" v2="2265"/>
+ <triangle index="4058" v0="1664" v1="2219" v2="2265"/>
+ <triangle index="4059" v0="1664" v1="2292" v2="2293"/>
+ <triangle index="4060" v0="1744" v1="1749" v2="2267"/>
+ <triangle index="4061" v0="1739" v1="2267" v2="2274"/>
+ <triangle index="4062" v0="2255" v1="2260" v2="2267"/>
+ <triangle index="4063" v0="2236" v1="2237" v2="2268"/>
+ <triangle index="4064" v0="2239" v1="2261" v2="2268"/>
+ <triangle index="4065" v0="2256" v1="2275" v2="2880"/>
+ <triangle index="4066" v0="2345" v1="2879" v2="2881"/>
+ <triangle index="4067" v0="635" v1="2270" v2="2271"/>
+ <triangle index="4068" v0="2236" v1="2263" v2="2270"/>
+ <triangle index="4069" v0="2870" v1="2871" v2="2874"/>
+ <triangle index="4070" v0="2258" v1="2278" v2="2882"/>
+ <triangle index="4071" v0="2272" v1="2276" v2="2277"/>
+ <triangle index="4072" v0="2271" v1="2278" v2="2882"/>
+ <triangle index="4073" v0="2258" v1="2643" v2="2882"/>
+ <triangle index="4074" v0="2251" v1="2273" v2="2279"/>
+ <triangle index="4075" v0="1739" v1="2274" v2="2296"/>
+ <triangle index="4076" v0="1748" v1="2274" v2="2639"/>
+ <triangle index="4077" v0="2256" v1="2308" v2="2880"/>
+ <triangle index="4078" v0="2269" v1="2270" v2="2275"/>
+ <triangle index="4079" v0="2230" v1="2276" v2="2277"/>
+ <triangle index="4080" v0="2264" v1="2272" v2="2276"/>
+ <triangle index="4081" v0="2230" v1="2235" v2="2277"/>
+ <triangle index="4082" v0="2236" v1="2237" v2="2277"/>
+ <triangle index="4083" v0="2236" v1="2272" v2="2278"/>
+ <triangle index="4084" v0="2236" v1="2270" v2="2278"/>
+ <triangle index="4085" v0="2251" v1="2279" v2="2649"/>
+ <triangle index="4086" v0="2249" v1="2253" v2="2279"/>
+ <triangle index="4087" v0="1664" v1="2219" v2="2280"/>
+ <triangle index="4088" v0="1665" v1="1667" v2="2280"/>
+ <triangle index="4089" v0="1096" v1="1103" v2="2281"/>
+ <triangle index="4090" v0="1098" v1="1670" v2="2281"/>
+ <triangle index="4091" v0="1096" v1="2281" v2="2282"/>
+ <triangle index="4092" v0="1673" v1="1676" v2="2282"/>
+ <triangle index="4093" v0="1685" v1="1686" v2="2283"/>
+ <triangle index="4094" v0="1686" v1="1755" v2="2283"/>
+ <triangle index="4095" v0="330" v1="2284" v2="2644"/>
+ <triangle index="4096" v0="1705" v1="2284" v2="2285"/>
+ <triangle index="4097" v0="1704" v1="1705" v2="2285"/>
+ <triangle index="4098" v0="1073" v1="1657" v2="2285"/>
+ <triangle index="4099" v0="2286" v1="2645" v2="2884"/>
+ <triangle index="4100" v0="1407" v1="2288" v2="2888"/>
+ <triangle index="4101" v0="1700" v1="2648" v2="2891"/>
+ <triangle index="4102" v0="2287" v1="2648" v2="2889"/>
+ <triangle index="4103" v0="1706" v1="2288" v2="2647"/>
+ <triangle index="4104" v0="2287" v1="2288" v2="2888"/>
+ <triangle index="4105" v0="480" v1="1710" v2="2289"/>
+ <triangle index="4106" v0="1706" v1="2288" v2="2289"/>
+ <triangle index="4107" v0="806" v1="1402" v2="2290"/>
+ <triangle index="4108" v0="1714" v1="1715" v2="2290"/>
+ <triangle index="4109" v0="1106" v1="1677" v2="2291"/>
+ <triangle index="4110" v0="1717" v1="2212" v2="2291"/>
+ <triangle index="4111" v0="1666" v1="1723" v2="2292"/>
+ <triangle index="4112" v0="1723" v1="1750" v2="2293"/>
+ <triangle index="4113" v0="1744" v1="2266" v2="2293"/>
+ <triangle index="4114" v0="1723" v1="2292" v2="2293"/>
+ <triangle index="4115" v0="1111" v1="1121" v2="2294"/>
+ <triangle index="4116" v0="1119" v1="1126" v2="2294"/>
+ <triangle index="4117" v0="1651" v1="1653" v2="2295"/>
+ <triangle index="4118" v0="1652" v1="1743" v2="2295"/>
+ <triangle index="4119" v0="1739" v1="1745" v2="2296"/>
+ <triangle index="4120" v0="1747" v1="1748" v2="2296"/>
+ <triangle index="4121" v0="167" v1="2211" v2="2297"/>
+ <triangle index="4122" v0="1754" v1="1757" v2="2297"/>
+ <triangle index="4123" v0="626" v1="1758" v2="2298"/>
+ <triangle index="4124" v0="1758" v1="2298" v2="2299"/>
+ <triangle index="4125" v0="1754" v1="1758" v2="2299"/>
+ <triangle index="4126" v0="2211" v1="2299" v2="2300"/>
+ <triangle index="4127" v0="2211" v1="2300" v2="2635"/>
+ <triangle index="4128" v0="1632" v1="2300" v2="2301"/>
+ <triangle index="4129" v0="1632" v1="2212" v2="2301"/>
+ <triangle index="4130" v0="1717" v1="2298" v2="2302"/>
+ <triangle index="4131" v0="2299" v1="2300" v2="2302"/>
+ <triangle index="4132" v0="1717" v1="2301" v2="2302"/>
+ <triangle index="4133" v0="1127" v1="1757" v2="2303"/>
+ <triangle index="4134" v0="1681" v1="1758" v2="2303"/>
+ <triangle index="4135" v0="627" v1="3080" v2="3081"/>
+ <triangle index="4136" v0="1764" v1="2304" v2="3087"/>
+ <triangle index="4137" v0="1129" v1="2305" v2="3087"/>
+ <triangle index="4138" v0="1765" v1="2305" v2="3195"/>
+ <triangle index="4139" v0="151" v1="152" v2="2306"/>
+ <triangle index="4140" v0="1766" v1="1767" v2="2306"/>
+ <triangle index="4141" v0="1768" v1="2307" v2="2308"/>
+ <triangle index="4142" v0="1647" v1="2262" v2="2309"/>
+ <triangle index="4143" v0="1768" v1="2879" v2="2880"/>
+ <triangle index="4144" v0="2256" v1="2308" v2="2309"/>
+ <triangle index="4145" v0="2307" v1="2308" v2="2309"/>
+ <triangle index="4146" v0="2256" v1="2262" v2="2309"/>
+ <triangle index="4147" v0="140" v1="1769" v2="2310"/>
+ <triangle index="4148" v0="1770" v1="2310" v2="2311"/>
+ <triangle index="4149" v0="1770" v1="2312" v2="2317"/>
+ <triangle index="4150" v0="2311" v1="2312" v2="2314"/>
+ <triangle index="4151" v0="2315" v1="2316" v2="2318"/>
+ <triangle index="4152" v0="2311" v1="2313" v2="2314"/>
+ <triangle index="4153" v0="1771" v1="2313" v2="2339"/>
+ <triangle index="4154" v0="142" v1="2311" v2="2313"/>
+ <triangle index="4155" v0="2312" v1="2314" v2="2315"/>
+ <triangle index="4156" v0="1771" v1="2313" v2="2314"/>
+ <triangle index="4157" v0="1820" v1="2312" v2="2318"/>
+ <triangle index="4158" v0="1137" v1="2315" v2="2336"/>
+ <triangle index="4159" v0="2316" v1="2318" v2="2319"/>
+ <triangle index="4160" v0="1837" v1="2316" v2="2319"/>
+ <triangle index="4161" v0="1136" v1="1770" v2="2317"/>
+ <triangle index="4162" v0="1819" v1="1820" v2="2317"/>
+ <triangle index="4163" v0="2312" v1="2315" v2="2318"/>
+ <triangle index="4164" v0="1820" v1="2318" v2="2319"/>
+ <triangle index="4165" v0="632" v1="1820" v2="2319"/>
+ <triangle index="4166" v0="1224" v1="1837" v2="2319"/>
+ <triangle index="4167" v0="1837" v1="2320" v2="2321"/>
+ <triangle index="4168" v0="2326" v1="2649" v2="2897"/>
+ <triangle index="4169" v0="1835" v1="2323" v2="2866"/>
+ <triangle index="4170" v0="1835" v1="2321" v2="2323"/>
+ <triangle index="4171" v0="145" v1="2340" v2="2341"/>
+ <triangle index="4172" v0="2329" v1="2335" v2="2337"/>
+ <triangle index="4173" v0="2252" v1="2323" v2="2324"/>
+ <triangle index="4174" v0="2320" v1="2327" v2="2328"/>
+ <triangle index="4175" v0="2247" v1="2252" v2="2324"/>
+ <triangle index="4176" v0="2253" v1="2324" v2="2326"/>
+ <triangle index="4177" v0="2320" v1="2321" v2="2327"/>
+ <triangle index="4178" v0="2325" v1="2330" v2="2331"/>
+ <triangle index="4179" v0="2253" v1="2326" v2="2649"/>
+ <triangle index="4180" v0="2322" v1="2325" v2="2328"/>
+ <triangle index="4181" v0="2323" v1="2324" v2="2327"/>
+ <triangle index="4182" v0="2326" v1="2327" v2="2328"/>
+ <triangle index="4183" v0="2322" v1="2326" v2="2328"/>
+ <triangle index="4184" v0="2320" v1="2325" v2="2328"/>
+ <triangle index="4185" v0="2329" v1="2331" v2="2333"/>
+ <triangle index="4186" v0="2335" v1="2338" v2="2339"/>
+ <triangle index="4187" v0="2322" v1="2325" v2="2331"/>
+ <triangle index="4188" v0="2329" v1="2330" v2="2334"/>
+ <triangle index="4189" v0="2322" v1="2331" v2="2896"/>
+ <triangle index="4190" v0="2329" v1="2330" v2="2331"/>
+ <triangle index="4191" v0="2251" v1="2650" v2="2897"/>
+ <triangle index="4192" v0="2251" v1="2273" v2="2643"/>
+ <triangle index="4193" v0="2342" v1="2343" v2="2651"/>
+ <triangle index="4194" v0="144" v1="2335" v2="2337"/>
+ <triangle index="4195" v0="2329" v1="2334" v2="2335"/>
+ <triangle index="4196" v0="1771" v1="2314" v2="2336"/>
+ <triangle index="4197" v0="2329" v1="2333" v2="2337"/>
+ <triangle index="4198" v0="144" v1="2335" v2="2338"/>
+ <triangle index="4199" v0="1137" v1="2330" v2="2336"/>
+ <triangle index="4200" v0="1771" v1="2334" v2="2336"/>
+ <triangle index="4201" v0="2333" v1="2337" v2="2340"/>
+ <triangle index="4202" v0="144" v1="2337" v2="2341"/>
+ <triangle index="4203" v0="143" v1="144" v2="2338"/>
+ <triangle index="4204" v0="143" v1="2338" v2="2339"/>
+ <triangle index="4205" v0="143" v1="2313" v2="2339"/>
+ <triangle index="4206" v0="1771" v1="2334" v2="2339"/>
+ <triangle index="4207" v0="2333" v1="2340" v2="2342"/>
+ <triangle index="4208" v0="145" v1="2340" v2="2344"/>
+ <triangle index="4209" v0="144" v1="145" v2="2341"/>
+ <triangle index="4210" v0="2337" v1="2340" v2="2341"/>
+ <triangle index="4211" v0="2333" v1="2342" v2="2895"/>
+ <triangle index="4212" v0="2332" v1="2342" v2="3033"/>
+ <triangle index="4213" v0="2641" v1="2876" v2="2877"/>
+ <triangle index="4214" v0="146" v1="2343" v2="2652"/>
+ <triangle index="4215" v0="151" v1="1766" v2="2655"/>
+ <triangle index="4216" v0="2340" v1="2344" v2="2651"/>
+ <triangle index="4217" v0="2345" v1="2654" v2="2881"/>
+ <triangle index="4218" v0="131" v1="2346" v2="2347"/>
+ <triangle index="4219" v0="1778" v1="1779" v2="2346"/>
+ <triangle index="4220" v0="130" v1="131" v2="2347"/>
+ <triangle index="4221" v0="130" v1="1808" v2="2348"/>
+ <triangle index="4222" v0="1781" v1="2347" v2="2348"/>
+ <triangle index="4223" v0="130" v1="2347" v2="2348"/>
+ <triangle index="4224" v0="348" v1="2349" v2="2350"/>
+ <triangle index="4225" v0="1783" v1="2349" v2="2656"/>
+ <triangle index="4226" v0="347" v1="1138" v2="2350"/>
+ <triangle index="4227" v0="1783" v1="2349" v2="2350"/>
+ <triangle index="4228" v0="633" v1="1219" v2="2394"/>
+ <triangle index="4229" v0="1138" v1="1783" v2="2351"/>
+ <triangle index="4230" v0="1219" v1="2392" v2="2394"/>
+ <triangle index="4231" v0="1214" v1="1219" v2="2392"/>
+ <triangle index="4232" v0="1144" v1="1148" v2="2353"/>
+ <triangle index="4233" v0="2352" v1="2353" v2="2393"/>
+ <triangle index="4234" v0="353" v1="354" v2="2354"/>
+ <triangle index="4235" v0="353" v1="2354" v2="2355"/>
+ <triangle index="4236" v0="353" v1="1169" v2="2355"/>
+ <triangle index="4237" v0="1167" v1="2355" v2="2657"/>
+ <triangle index="4238" v0="2376" v1="2660" v2="2662"/>
+ <triangle index="4239" v0="2357" v1="2670" v2="2671"/>
+ <triangle index="4240" v0="1788" v1="2657" v2="2671"/>
+ <triangle index="4241" v0="2672" v1="2674" v2="2675"/>
+ <triangle index="4242" v0="1166" v1="1789" v2="2359"/>
+ <triangle index="4243" v0="1799" v1="2360" v2="2687"/>
+ <triangle index="4244" v0="1172" v1="1800" v2="2359"/>
+ <triangle index="4245" v0="1799" v1="2358" v2="2359"/>
+ <triangle index="4246" v0="2361" v1="2362" v2="2367"/>
+ <triangle index="4247" v0="2360" v1="2371" v2="2372"/>
+ <triangle index="4248" v0="2361" v1="2367" v2="2368"/>
+ <triangle index="4249" v0="1176" v1="2358" v2="2372"/>
+ <triangle index="4250" v0="505" v1="2365" v2="2367"/>
+ <triangle index="4251" v0="2361" v1="2366" v2="2371"/>
+ <triangle index="4252" v0="2363" v1="2364" v2="2365"/>
+ <triangle index="4253" v0="2363" v1="2364" v2="2388"/>
+ <triangle index="4254" v0="1183" v1="1184" v2="2364"/>
+ <triangle index="4255" v0="2363" v1="2365" v2="2367"/>
+ <triangle index="4256" v0="505" v1="2679" v2="2686"/>
+ <triangle index="4257" v0="2364" v1="2365" v2="2679"/>
+ <triangle index="4258" v0="1801" v1="2658" v2="2659"/>
+ <triangle index="4259" v0="1176" v1="2373" v2="2374"/>
+ <triangle index="4260" v0="505" v1="2362" v2="2367"/>
+ <triangle index="4261" v0="644" v1="2363" v2="2368"/>
+ <triangle index="4262" v0="2692" v1="2929" v2="2931"/>
+ <triangle index="4263" v0="644" v1="2368" v2="2929"/>
+ <triangle index="4264" v0="2910" v1="2913" v2="2923"/>
+ <triangle index="4265" v0="2375" v1="2659" v2="2664"/>
+ <triangle index="4266" v0="2692" v1="2929" v2="2930"/>
+ <triangle index="4267" v0="2369" v1="2370" v2="2898"/>
+ <triangle index="4268" v0="2361" v1="2362" v2="2371"/>
+ <triangle index="4269" v0="2366" v1="2372" v2="2374"/>
+ <triangle index="4270" v0="2358" v1="2360" v2="2372"/>
+ <triangle index="4271" v0="2366" v1="2371" v2="2372"/>
+ <triangle index="4272" v0="1176" v1="2372" v2="2374"/>
+ <triangle index="4273" v0="1801" v1="2373" v2="2662"/>
+ <triangle index="4274" v0="2366" v1="2375" v2="2680"/>
+ <triangle index="4275" v0="2373" v1="2374" v2="2680"/>
+ <triangle index="4276" v0="2361" v1="2665" v2="2901"/>
+ <triangle index="4277" v0="2898" v1="2899" v2="2900"/>
+ <triangle index="4278" v0="2373" v1="2376" v2="2662"/>
+ <triangle index="4279" v0="1153" v1="1170" v2="2661"/>
+ <triangle index="4280" v0="1179" v1="2377" v2="2382"/>
+ <triangle index="4281" v0="3178" v1="3179" v2="3182"/>
+ <triangle index="4282" v0="2699" v1="2700" v2="3123"/>
+ <triangle index="4283" v0="2914" v1="3221" v2="3241"/>
+ <triangle index="4284" v0="2910" v1="2912" v2="2917"/>
+ <triangle index="4285" v0="640" v1="2380" v2="2381"/>
+ <triangle index="4286" v0="1803" v1="2377" v2="3183"/>
+ <triangle index="4287" v0="2379" v1="2380" v2="2381"/>
+ <triangle index="4288" v0="2908" v1="2909" v2="3253"/>
+ <triangle index="4289" v0="2671" v1="2672" v2="2674"/>
+ <triangle index="4290" v0="118" v1="119" v2="2382"/>
+ <triangle index="4291" v0="1803" v1="2377" v2="2382"/>
+ <triangle index="4292" v0="640" v1="2683" v2="2907"/>
+ <triangle index="4293" v0="1804" v1="1806" v2="2383"/>
+ <triangle index="4294" v0="1181" v1="1182" v2="2384"/>
+ <triangle index="4295" v0="643" v1="2384" v2="2679"/>
+ <triangle index="4296" v0="1799" v1="1800" v2="2385"/>
+ <triangle index="4297" v0="642" v1="1810" v2="2689"/>
+ <triangle index="4298" v0="125" v1="2386" v2="2387"/>
+ <triangle index="4299" v0="1812" v1="1813" v2="2386"/>
+ <triangle index="4300" v0="124" v1="2928" v2="2938"/>
+ <triangle index="4301" v0="2387" v1="2692" v2="2930"/>
+ <triangle index="4302" v0="644" v1="2363" v2="2388"/>
+ <triangle index="4303" v0="1183" v1="1813" v2="2388"/>
+ <triangle index="4304" v0="1193" v1="1818" v2="2389"/>
+ <triangle index="4305" v0="1816" v1="2389" v2="2390"/>
+ <triangle index="4306" v0="1198" v1="2389" v2="2390"/>
+ <triangle index="4307" v0="1816" v1="1817" v2="2390"/>
+ <triangle index="4308" v0="1197" v1="1821" v2="2391"/>
+ <triangle index="4309" v0="1214" v1="1822" v2="2391"/>
+ <triangle index="4310" v0="1822" v1="2392" v2="2393"/>
+ <triangle index="4311" v0="2352" v1="2392" v2="2394"/>
+ <triangle index="4312" v0="1822" v1="1823" v2="2393"/>
+ <triangle index="4313" v0="503" v1="2353" v2="2393"/>
+ <triangle index="4314" v0="2351" v1="2352" v2="2394"/>
+ <triangle index="4315" v0="633" v1="2351" v2="2394"/>
+ <triangle index="4316" v0="344" v1="345" v2="2395"/>
+ <triangle index="4317" v0="344" v1="2399" v2="2402"/>
+ <triangle index="4318" v0="1830" v1="1832" v2="2396"/>
+ <triangle index="4319" v0="2396" v1="2398" v2="2399"/>
+ <triangle index="4320" v0="1831" v1="2395" v2="2399"/>
+ <triangle index="4321" v0="343" v1="2400" v2="2402"/>
+ <triangle index="4322" v0="2242" v1="2397" v2="2693"/>
+ <triangle index="4323" v0="2397" v1="2398" v2="2693"/>
+ <triangle index="4324" v0="344" v1="2395" v2="2399"/>
+ <triangle index="4325" v0="2397" v1="2398" v2="2399"/>
+ <triangle index="4326" v0="636" v1="1141" v2="2400"/>
+ <triangle index="4327" v0="2397" v1="2400" v2="2402"/>
+ <triangle index="4328" v0="2242" v1="2397" v2="2401"/>
+ <triangle index="4329" v0="636" v1="2400" v2="2401"/>
+ <triangle index="4330" v0="2397" v1="2399" v2="2402"/>
+ <triangle index="4331" v0="343" v1="344" v2="2402"/>
+ <triangle index="4332" v0="1222" v1="1224" v2="2403"/>
+ <triangle index="4333" v0="1221" v1="1836" v2="2403"/>
+ <triangle index="4334" v0="2972" v1="3122" v2="3123"/>
+ <triangle index="4335" v0="3124" v1="3173" v2="3175"/>
+ <triangle index="4336" v0="2404" v1="3122" v2="3163"/>
+ <triangle index="4337" v0="3175" v1="3176" v2="3184"/>
+ <triangle index="4338" v0="111" v1="1227" v2="2407"/>
+ <triangle index="4339" v0="1841" v1="1842" v2="2406"/>
+ <triangle index="4340" v0="1841" v1="2406" v2="2407"/>
+ <triangle index="4341" v0="111" v1="2406" v2="2407"/>
+ <triangle index="4342" v0="1843" v1="2408" v2="2411"/>
+ <triangle index="4343" v0="1841" v1="2408" v2="2410"/>
+ <triangle index="4344" v0="1843" v1="2411" v2="2701"/>
+ <triangle index="4345" v0="2411" v1="2412" v2="2945"/>
+ <triangle index="4346" v0="2409" v1="2410" v2="2696"/>
+ <triangle index="4347" v0="1225" v1="1842" v2="2410"/>
+ <triangle index="4348" v0="2411" v1="2412" v2="2701"/>
+ <triangle index="4349" v0="2409" v1="2410" v2="2411"/>
+ <triangle index="4350" v0="2948" v1="2950" v2="2951"/>
+ <triangle index="4351" v0="2943" v1="2944" v2="2959"/>
+ <triangle index="4352" v0="648" v1="2418" v2="2421"/>
+ <triangle index="4353" v0="1843" v1="2408" v2="2413"/>
+ <triangle index="4354" v0="107" v1="2414" v2="2703"/>
+ <triangle index="4355" v0="1844" v1="1845" v2="2414"/>
+ <triangle index="4356" v0="3160" v1="3206" v2="3207"/>
+ <triangle index="4357" v0="3100" v1="3101" v2="3105"/>
+ <triangle index="4358" v0="649" v1="2416" v2="2419"/>
+ <triangle index="4359" v0="1229" v1="1845" v2="2416"/>
+ <triangle index="4360" v0="2702" v1="2950" v2="2957"/>
+ <triangle index="4361" v0="2418" v1="2420" v2="2421"/>
+ <triangle index="4362" v0="1229" v1="1230" v2="2418"/>
+ <triangle index="4363" v0="2417" v1="2418" v2="2420"/>
+ <triangle index="4364" v0="649" v1="2419" v2="3257"/>
+ <triangle index="4365" v0="2417" v1="2418" v2="2419"/>
+ <triangle index="4366" v0="2417" v1="2420" v2="2951"/>
+ <triangle index="4367" v0="507" v1="2421" v2="2701"/>
+ <triangle index="4368" v0="648" v1="2413" v2="2421"/>
+ <triangle index="4369" v0="507" v1="2420" v2="2421"/>
+ <triangle index="4370" v0="650" v1="3120" v2="3306"/>
+ <triangle index="4371" v0="3069" v1="3072" v2="3073"/>
+ <triangle index="4372" v0="3051" v1="3053" v2="3056"/>
+ <triangle index="4373" v0="3054" v1="3057" v2="3066"/>
+ <triangle index="4374" v0="1248" v1="1258" v2="2424"/>
+ <triangle index="4375" v0="653" v1="1859" v2="2424"/>
+ <triangle index="4376" v0="1855" v1="1858" v2="2425"/>
+ <triangle index="4377" v0="1853" v1="1925" v2="2425"/>
+ <triangle index="4378" v0="1241" v1="2426" v2="2427"/>
+ <triangle index="4379" v0="1855" v1="1861" v2="2426"/>
+ <triangle index="4380" v0="1241" v1="2427" v2="3298"/>
+ <triangle index="4381" v0="662" v1="1856" v2="2427"/>
+ <triangle index="4382" v0="1340" v1="1875" v2="2428"/>
+ <triangle index="4383" v0="1876" v1="1882" v2="2428"/>
+ <triangle index="4384" v0="70" v1="1880" v2="2429"/>
+ <triangle index="4385" v0="1880" v1="2429" v2="2455"/>
+ <triangle index="4386" v0="1876" v1="1882" v2="2430"/>
+ <triangle index="4387" v0="1345" v1="2430" v2="2431"/>
+ <triangle index="4388" v0="1345" v1="1347" v2="2431"/>
+ <triangle index="4389" v0="1348" v1="2431" v2="2432"/>
+ <triangle index="4390" v0="1348" v1="2432" v2="2433"/>
+ <triangle index="4391" v0="655" v1="1883" v2="2432"/>
+ <triangle index="4392" v0="1348" v1="2433" v2="2434"/>
+ <triangle index="4393" v0="655" v1="1888" v2="2433"/>
+ <triangle index="4394" v0="2434" v1="2435" v2="2436"/>
+ <triangle index="4395" v0="512" v1="2447" v2="2448"/>
+ <triangle index="4396" v0="1342" v1="2435" v2="2437"/>
+ <triangle index="4397" v0="2435" v1="2437" v2="2438"/>
+ <triangle index="4398" v0="1348" v1="2431" v2="2436"/>
+ <triangle index="4399" v0="1342" v1="2435" v2="2436"/>
+ <triangle index="4400" v0="1342" v1="2437" v2="2439"/>
+ <triangle index="4401" v0="2439" v1="2440" v2="2443"/>
+ <triangle index="4402" v0="1954" v1="2441" v2="2445"/>
+ <triangle index="4403" v0="2438" v1="2442" v2="2445"/>
+ <triangle index="4404" v0="1342" v1="1343" v2="2439"/>
+ <triangle index="4405" v0="1344" v1="2439" v2="2443"/>
+ <triangle index="4406" v0="1328" v1="1950" v2="2449"/>
+ <triangle index="4407" v0="1954" v1="2437" v2="2440"/>
+ <triangle index="4408" v0="1954" v1="2452" v2="2708"/>
+ <triangle index="4409" v0="1905" v1="1909" v2="2441"/>
+ <triangle index="4410" v0="1901" v1="1910" v2="2446"/>
+ <triangle index="4411" v0="512" v1="2438" v2="2442"/>
+ <triangle index="4412" v0="1344" v1="1951" v2="2443"/>
+ <triangle index="4413" v0="1328" v1="2440" v2="2443"/>
+ <triangle index="4414" v0="1940" v1="1941" v2="2451"/>
+ <triangle index="4415" v0="2440" v1="2444" v2="2452"/>
+ <triangle index="4416" v0="1954" v1="2438" v2="2445"/>
+ <triangle index="4417" v0="1901" v1="2441" v2="2445"/>
+ <triangle index="4418" v0="654" v1="1904" v2="2446"/>
+ <triangle index="4419" v0="654" v1="2446" v2="2447"/>
+ <triangle index="4420" v0="654" v1="2447" v2="2448"/>
+ <triangle index="4421" v0="512" v1="2442" v2="2447"/>
+ <triangle index="4422" v0="654" v1="1253" v2="2448"/>
+ <triangle index="4423" v0="1888" v1="2433" v2="2448"/>
+ <triangle index="4424" v0="1944" v1="1950" v2="2449"/>
+ <triangle index="4425" v0="1940" v1="1944" v2="2449"/>
+ <triangle index="4426" v0="1938" v1="2707" v2="2709"/>
+ <triangle index="4427" v0="1954" v1="2440" v2="2452"/>
+ <triangle index="4428" v0="1938" v1="1941" v2="2451"/>
+ <triangle index="4429" v0="2450" v1="2451" v2="2453"/>
+ <triangle index="4430" v0="2444" v1="2452" v2="2453"/>
+ <triangle index="4431" v0="2450" v1="2452" v2="2708"/>
+ <triangle index="4432" v0="1940" v1="2451" v2="2453"/>
+ <triangle index="4433" v0="2450" v1="2452" v2="2453"/>
+ <triangle index="4434" v0="71" v1="2429" v2="2454"/>
+ <triangle index="4435" v0="1889" v1="1890" v2="2454"/>
+ <triangle index="4436" v0="1255" v1="1883" v2="2455"/>
+ <triangle index="4437" v0="1890" v1="2429" v2="2455"/>
+ <triangle index="4438" v0="655" v1="1254" v2="2456"/>
+ <triangle index="4439" v0="1890" v1="2455" v2="2456"/>
+ <triangle index="4440" v0="1903" v1="2457" v2="2458"/>
+ <triangle index="4441" v0="2457" v1="2458" v2="2459"/>
+ <triangle index="4442" v0="1898" v1="2476" v2="2479"/>
+ <triangle index="4443" v0="2471" v1="2473" v2="2477"/>
+ <triangle index="4444" v0="2159" v1="2170" v2="2975"/>
+ <triangle index="4445" v0="1024" v1="2457" v2="2459"/>
+ <triangle index="4446" v0="2170" v1="2622" v2="2711"/>
+ <triangle index="4447" v0="957" v1="2156" v2="2607"/>
+ <triangle index="4448" v0="598" v1="2461" v2="2464"/>
+ <triangle index="4449" v0="2460" v1="2461" v2="2463"/>
+ <triangle index="4450" v0="2464" v1="2466" v2="2718"/>
+ <triangle index="4451" v0="2159" v1="2716" v2="2975"/>
+ <triangle index="4452" v0="2711" v1="2712" v2="2714"/>
+ <triangle index="4453" v0="1024" v1="1580" v2="2465"/>
+ <triangle index="4454" v0="598" v1="2464" v2="2466"/>
+ <triangle index="4455" v0="2462" v1="2713" v2="2715"/>
+ <triangle index="4456" v0="2463" v1="2465" v2="2469"/>
+ <triangle index="4457" v0="80" v1="2465" v2="2468"/>
+ <triangle index="4458" v0="598" v1="2458" v2="2471"/>
+ <triangle index="4459" v0="2475" v1="2720" v2="2725"/>
+ <triangle index="4460" v0="2463" v1="2469" v2="2714"/>
+ <triangle index="4461" v0="1524" v1="2061" v2="2470"/>
+ <triangle index="4462" v0="2465" v1="2468" v2="2469"/>
+ <triangle index="4463" v0="2467" v1="2468" v2="2470"/>
+ <triangle index="4464" v0="2460" v1="2463" v2="2714"/>
+ <triangle index="4465" v0="2467" v1="2468" v2="2469"/>
+ <triangle index="4466" v0="81" v1="2061" v2="2470"/>
+ <triangle index="4467" v0="2467" v1="2470" v2="2607"/>
+ <triangle index="4468" v0="1898" v1="1903" v2="2474"/>
+ <triangle index="4469" v0="2466" v1="2471" v2="2477"/>
+ <triangle index="4470" v0="1898" v1="2474" v2="2476"/>
+ <triangle index="4471" v0="2200" v1="2202" v2="2720"/>
+ <triangle index="4472" v0="1903" v1="2458" v2="2478"/>
+ <triangle index="4473" v0="2473" v1="2477" v2="2722"/>
+ <triangle index="4474" v0="2472" v1="2473" v2="2474"/>
+ <triangle index="4475" v0="2458" v1="2473" v2="2478"/>
+ <triangle index="4476" v0="2721" v1="2722" v2="2723"/>
+ <triangle index="4477" v0="2202" v1="2725" v2="2977"/>
+ <triangle index="4478" v0="656" v1="1905" v2="2974"/>
+ <triangle index="4479" v0="2476" v1="2481" v2="2976"/>
+ <triangle index="4480" v0="2472" v1="2473" v2="2722"/>
+ <triangle index="4481" v0="2475" v1="2477" v2="2978"/>
+ <triangle index="4482" v0="1903" v1="2474" v2="2478"/>
+ <triangle index="4483" v0="2473" v1="2474" v2="2478"/>
+ <triangle index="4484" v0="1898" v1="1900" v2="2479"/>
+ <triangle index="4485" v0="656" v1="2479" v2="2481"/>
+ <triangle index="4486" v0="2480" v1="2728" v2="2973"/>
+ <triangle index="4487" v0="2728" v1="2729" v2="2976"/>
+ <triangle index="4488" v0="656" v1="2481" v2="2974"/>
+ <triangle index="4489" v0="2480" v1="2481" v2="2976"/>
+ <triangle index="4490" v0="731" v1="1350" v2="2482"/>
+ <triangle index="4491" v0="701" v1="1916" v2="2482"/>
+ <triangle index="4492" v0="730" v1="1335" v2="2483"/>
+ <triangle index="4493" v0="1294" v1="1915" v2="2483"/>
+ <triangle index="4494" v0="1942" v1="1944" v2="2484"/>
+ <triangle index="4495" v0="1944" v1="1947" v2="2484"/>
+ <triangle index="4496" v0="1931" v1="1941" v2="2485"/>
+ <triangle index="4497" v0="1942" v1="1946" v2="2485"/>
+ <triangle index="4498" v0="530" v1="1957" v2="2486"/>
+ <triangle index="4499" v0="1956" v1="2486" v2="2732"/>
+ <triangle index="4500" v0="1354" v1="1355" v2="2487"/>
+ <triangle index="4501" v0="1356" v1="2486" v2="2487"/>
+ <triangle index="4502" v0="1956" v1="1958" v2="2489"/>
+ <triangle index="4503" v0="2488" v1="2489" v2="2733"/>
+ <triangle index="4504" v0="529" v1="737" v2="2489"/>
+ <triangle index="4505" v0="2488" v1="2489" v2="2732"/>
+ <triangle index="4506" v0="292" v1="293" v2="2490"/>
+ <triangle index="4507" v0="292" v1="784" v2="2490"/>
+ <triangle index="4508" v0="1386" v1="1979" v2="2491"/>
+ <triangle index="4509" v0="1965" v1="1980" v2="2491"/>
+ <triangle index="4510" v0="1407" v1="1417" v2="2492"/>
+ <triangle index="4511" v0="1987" v1="2493" v2="2886"/>
+ <triangle index="4512" v0="573" v1="2492" v2="2493"/>
+ <triangle index="4513" v0="1987" v1="2492" v2="2493"/>
+ <triangle index="4514" v0="803" v1="1401" v2="2737"/>
+ <triangle index="4515" v0="911" v1="1452" v2="2740"/>
+ <triangle index="4516" v0="573" v1="1989" v2="2495"/>
+ <triangle index="4517" v0="1419" v1="1989" v2="2495"/>
+ <triangle index="4518" v0="573" v1="2496" v2="2497"/>
+ <triangle index="4519" v0="2734" v1="2735" v2="2740"/>
+ <triangle index="4520" v0="573" v1="2493" v2="2497"/>
+ <triangle index="4521" v0="2494" v1="2497" v2="2734"/>
+ <triangle index="4522" v0="2002" v1="2496" v2="2498"/>
+ <triangle index="4523" v0="2496" v1="2498" v2="2734"/>
+ <triangle index="4524" v0="921" v1="2007" v2="2499"/>
+ <triangle index="4525" v0="2009" v1="2014" v2="2499"/>
+ <triangle index="4526" v0="1485" v1="1490" v2="2500"/>
+ <triangle index="4527" v0="1489" v1="2500" v2="2980"/>
+ <triangle index="4528" v0="2741" v1="2979" v2="2983"/>
+ <triangle index="4529" v0="2018" v1="2503" v2="2504"/>
+ <triangle index="4530" v0="2007" v1="2009" v2="2502"/>
+ <triangle index="4531" v0="585" v1="2502" v2="2503"/>
+ <triangle index="4532" v0="2010" v1="2501" v2="2503"/>
+ <triangle index="4533" v0="2501" v1="2503" v2="2504"/>
+ <triangle index="4534" v0="2501" v1="2504" v2="2979"/>
+ <triangle index="4535" v0="2024" v1="2504" v2="2506"/>
+ <triangle index="4536" v0="2034" v1="2597" v2="2603"/>
+ <triangle index="4537" v0="2028" v1="2512" v2="2517"/>
+ <triangle index="4538" v0="2018" v1="2504" v2="2506"/>
+ <triangle index="4539" v0="2023" v1="2024" v2="2506"/>
+ <triangle index="4540" v0="1469" v1="2022" v2="2508"/>
+ <triangle index="4541" v0="2507" v1="2508" v2="2510"/>
+ <triangle index="4542" v0="2021" v1="2022" v2="2508"/>
+ <triangle index="4543" v0="2508" v1="2510" v2="2511"/>
+ <triangle index="4544" v0="2509" v1="2510" v2="2511"/>
+ <triangle index="4545" v0="2509" v1="2511" v2="2514"/>
+ <triangle index="4546" v0="2021" v1="2508" v2="2511"/>
+ <triangle index="4547" v0="2509" v1="2510" v2="2512"/>
+ <triangle index="4548" v0="2021" v1="2024" v2="2513"/>
+ <triangle index="4549" v0="2511" v1="2513" v2="2743"/>
+ <triangle index="4550" v0="2512" v1="2517" v2="2745"/>
+ <triangle index="4551" v0="2028" v1="2512" v2="2516"/>
+ <triangle index="4552" v0="2024" v1="2505" v2="2513"/>
+ <triangle index="4553" v0="2505" v1="2513" v2="2743"/>
+ <triangle index="4554" v0="2982" v1="2984" v2="2985"/>
+ <triangle index="4555" v0="2854" v1="2856" v2="2857"/>
+ <triangle index="4556" v0="2509" v1="2514" v2="2744"/>
+ <triangle index="4557" v0="2596" v1="2600" v2="2601"/>
+ <triangle index="4558" v0="2028" v1="2516" v2="2524"/>
+ <triangle index="4559" v0="2029" v1="2507" v2="2516"/>
+ <triangle index="4560" v0="2509" v1="2512" v2="2745"/>
+ <triangle index="4561" v0="2515" v1="2518" v2="2616"/>
+ <triangle index="4562" v0="2139" v1="2149" v2="2518"/>
+ <triangle index="4563" v0="2149" v1="2518" v2="2748"/>
+ <triangle index="4564" v0="2028" v1="2518" v2="2748"/>
+ <triangle index="4565" v0="952" v1="2520" v2="2521"/>
+ <triangle index="4566" v0="948" v1="955" v2="2520"/>
+ <triangle index="4567" v0="948" v1="2026" v2="2522"/>
+ <triangle index="4568" v0="2519" v1="2524" v2="2749"/>
+ <triangle index="4569" v0="952" v1="2180" v2="2521"/>
+ <triangle index="4570" v0="948" v1="2520" v2="2522"/>
+ <triangle index="4571" v0="2027" v1="2030" v2="2522"/>
+ <triangle index="4572" v0="2149" v1="2523" v2="2750"/>
+ <triangle index="4573" v0="2130" v1="2750" v2="2751"/>
+ <triangle index="4574" v0="2029" v1="2516" v2="2524"/>
+ <triangle index="4575" v0="2028" v1="2748" v2="2749"/>
+ <triangle index="4576" v0="918" v1="1472" v2="2525"/>
+ <triangle index="4577" v0="931" v1="2525" v2="2526"/>
+ <triangle index="4578" v0="931" v1="935" v2="2526"/>
+ <triangle index="4579" v0="1471" v1="2526" v2="2527"/>
+ <triangle index="4580" v0="1471" v1="1478" v2="2527"/>
+ <triangle index="4581" v0="484" v1="2035" v2="2527"/>
+ <triangle index="4582" v0="1491" v1="2981" v2="3125"/>
+ <triangle index="4583" v0="1482" v1="2528" v2="2851"/>
+ <triangle index="4584" v0="386" v1="387" v2="3133"/>
+ <triangle index="4585" v0="2043" v1="2529" v2="2530"/>
+ <triangle index="4586" v0="2043" v1="2530" v2="2531"/>
+ <triangle index="4587" v0="2038" v1="2040" v2="2530"/>
+ <triangle index="4588" v0="3131" v1="3132" v2="3133"/>
+ <triangle index="4589" v0="2039" v1="2040" v2="2531"/>
+ <triangle index="4590" v0="2535" v1="2770" v2="2992"/>
+ <triangle index="4591" v0="2532" v1="2533" v2="2536"/>
+ <triangle index="4592" v0="2043" v1="2531" v2="2533"/>
+ <triangle index="4593" v0="383" v1="2821" v2="2828"/>
+ <triangle index="4594" v0="2079" v1="2758" v2="2776"/>
+ <triangle index="4595" v0="2537" v1="3127" v2="3128"/>
+ <triangle index="4596" v0="2532" v1="2992" v2="2996"/>
+ <triangle index="4597" v0="2534" v1="2535" v2="2988"/>
+ <triangle index="4598" v0="2532" v1="2536" v2="2992"/>
+ <triangle index="4599" v0="2535" v1="2536" v2="3128"/>
+ <triangle index="4600" v0="2535" v1="2988" v2="3128"/>
+ <triangle index="4601" v0="2053" v1="2054" v2="2990"/>
+ <triangle index="4602" v0="1506" v1="2178" v2="2538"/>
+ <triangle index="4603" v0="2060" v1="2538" v2="2619"/>
+ <triangle index="4604" v0="2064" v1="2065" v2="2539"/>
+ <triangle index="4605" v0="2063" v1="2539" v2="2757"/>
+ <triangle index="4606" v0="2540" v1="2781" v2="2782"/>
+ <triangle index="4607" v0="2768" v1="2774" v2="2775"/>
+ <triangle index="4608" v0="594" v1="2781" v2="2796"/>
+ <triangle index="4609" v0="2540" v1="2541" v2="2757"/>
+ <triangle index="4610" v0="2762" v1="2765" v2="2997"/>
+ <triangle index="4611" v0="2077" v1="2079" v2="2758"/>
+ <triangle index="4612" v0="2077" v1="2545" v2="2810"/>
+ <triangle index="4613" v0="2078" v1="2079" v2="2543"/>
+ <triangle index="4614" v0="2760" v1="2816" v2="3004"/>
+ <triangle index="4615" v0="2804" v1="2806" v2="2808"/>
+ <triangle index="4616" v0="2077" v1="2543" v2="2545"/>
+ <triangle index="4617" v0="2544" v1="2545" v2="2804"/>
+ <triangle index="4618" v0="1538" v1="1540" v2="2546"/>
+ <triangle index="4619" v0="1534" v1="2084" v2="2546"/>
+ <triangle index="4620" v0="2083" v1="2808" v2="2824"/>
+ <triangle index="4621" v0="1539" v1="2547" v2="2548"/>
+ <triangle index="4622" v0="1540" v1="2546" v2="2548"/>
+ <triangle index="4623" v0="2084" v1="2547" v2="2548"/>
+ <triangle index="4624" v0="1548" v1="1551" v2="2555"/>
+ <triangle index="4625" v0="103" v1="2089" v2="2550"/>
+ <triangle index="4626" v0="2088" v1="2549" v2="2552"/>
+ <triangle index="4627" v0="2551" v1="2552" v2="3311"/>
+ <triangle index="4628" v0="103" v1="2550" v2="2551"/>
+ <triangle index="4629" v0="2550" v1="2551" v2="2552"/>
+ <triangle index="4630" v0="2549" v1="2550" v2="2552"/>
+ <triangle index="4631" v0="2088" v1="3111" v2="3312"/>
+ <triangle index="4632" v0="2556" v1="3110" v2="3112"/>
+ <triangle index="4633" v0="3160" v1="3206" v2="3208"/>
+ <triangle index="4634" v0="1009" v1="2103" v2="2557"/>
+ <triangle index="4635" v0="2549" v1="2554" v2="3112"/>
+ <triangle index="4636" v0="1009" v1="2554" v2="2555"/>
+ <triangle index="4637" v0="1548" v1="2554" v2="2555"/>
+ <triangle index="4638" v0="3075" v1="3076" v2="3078"/>
+ <triangle index="4639" v0="2556" v1="3100" v2="3109"/>
+ <triangle index="4640" v0="1556" v1="2103" v2="2557"/>
+ <triangle index="4641" v0="2554" v1="2556" v2="2557"/>
+ <triangle index="4642" v0="1006" v1="1535" v2="2559"/>
+ <triangle index="4643" v0="988" v1="2091" v2="2558"/>
+ <triangle index="4644" v0="1006" v1="2558" v2="2559"/>
+ <triangle index="4645" v0="1005" v1="2560" v2="2562"/>
+ <triangle index="4646" v0="1552" v1="2559" v2="2560"/>
+ <triangle index="4647" v0="1005" v1="2559" v2="2560"/>
+ <triangle index="4648" v0="2094" v1="2565" v2="2577"/>
+ <triangle index="4649" v0="377" v1="2570" v2="2834"/>
+ <triangle index="4650" v0="1540" v1="2562" v2="2563"/>
+ <triangle index="4651" v0="2102" v1="2560" v2="2562"/>
+ <triangle index="4652" v0="2563" v1="2566" v2="2567"/>
+ <triangle index="4653" v0="2102" v1="2563" v2="2565"/>
+ <triangle index="4654" v0="1539" v1="2567" v2="2831"/>
+ <triangle index="4655" v0="377" v1="378" v2="2833"/>
+ <triangle index="4656" v0="1539" v1="2563" v2="2567"/>
+ <triangle index="4657" v0="2563" v1="2565" v2="2566"/>
+ <triangle index="4658" v0="2564" v1="2566" v2="2568"/>
+ <triangle index="4659" v0="2566" v1="2568" v2="2571"/>
+ <triangle index="4660" v0="1539" v1="2547" v2="2831"/>
+ <triangle index="4661" v0="2564" v1="2566" v2="2567"/>
+ <triangle index="4662" v0="2564" v1="2568" v2="3009"/>
+ <triangle index="4663" v0="2561" v1="2568" v2="2571"/>
+ <triangle index="4664" v0="2083" v1="2824" v2="3007"/>
+ <triangle index="4665" v0="2832" v1="2833" v2="3009"/>
+ <triangle index="4666" v0="2832" v1="3009" v2="3010"/>
+ <triangle index="4667" v0="376" v1="377" v2="2834"/>
+ <triangle index="4668" v0="2561" v1="2571" v2="2572"/>
+ <triangle index="4669" v0="2094" v1="2565" v2="2571"/>
+ <triangle index="4670" v0="2576" v1="2834" v2="2835"/>
+ <triangle index="4671" v0="2574" v1="2837" v2="2842"/>
+ <triangle index="4672" v0="2094" v1="2571" v2="2573"/>
+ <triangle index="4673" v0="2571" v1="2572" v2="2573"/>
+ <triangle index="4674" v0="376" v1="2574" v2="2836"/>
+ <triangle index="4675" v0="2575" v1="2844" v2="2845"/>
+ <triangle index="4676" v0="2574" v1="2836" v2="2837"/>
+ <triangle index="4677" v0="375" v1="2837" v2="2838"/>
+ <triangle index="4678" v0="2561" v1="2576" v2="2835"/>
+ <triangle index="4679" v0="2574" v1="2576" v2="2842"/>
+ <triangle index="4680" v0="1552" v1="2560" v2="2577"/>
+ <triangle index="4681" v0="2102" v1="2565" v2="2577"/>
+ <triangle index="4682" v0="2098" v1="2578" v2="2580"/>
+ <triangle index="4683" v0="1008" v1="2108" v2="2578"/>
+ <triangle index="4684" v0="2846" v1="3013" v2="3014"/>
+ <triangle index="4685" v0="1765" v1="3191" v2="3192"/>
+ <triangle index="4686" v0="2108" v1="2110" v2="2580"/>
+ <triangle index="4687" v0="2098" v1="2580" v2="2581"/>
+ <triangle index="4688" v0="2098" v1="2101" v2="2581"/>
+ <triangle index="4689" v0="1554" v1="2581" v2="2582"/>
+ <triangle index="4690" v0="1554" v1="2844" v2="2845"/>
+ <triangle index="4691" v0="2579" v1="2846" v2="3139"/>
+ <triangle index="4692" v0="595" v1="2587" v2="2850"/>
+ <triangle index="4693" v0="2114" v1="2583" v2="2584"/>
+ <triangle index="4694" v0="2114" v1="2584" v2="2585"/>
+ <triangle index="4695" v0="1562" v1="1567" v2="2584"/>
+ <triangle index="4696" v0="2114" v1="3016" v2="3017"/>
+ <triangle index="4697" v0="2788" v1="2794" v2="3135"/>
+ <triangle index="4698" v0="1571" v1="2588" v2="2852"/>
+ <triangle index="4699" v0="3017" v1="3018" v2="3028"/>
+ <triangle index="4700" v0="595" v1="2583" v2="2587"/>
+ <triangle index="4701" v0="2586" v1="2587" v2="3017"/>
+ <triangle index="4702" v0="2116" v1="2588" v2="2852"/>
+ <triangle index="4703" v0="1571" v1="2597" v2="2602"/>
+ <triangle index="4704" v0="2590" v1="2591" v2="2592"/>
+ <triangle index="4705" v0="2116" v1="2588" v2="2589"/>
+ <triangle index="4706" v0="1473" v1="2054" v2="3021"/>
+ <triangle index="4707" v0="2116" v1="2589" v2="2591"/>
+ <triangle index="4708" v0="1480" v1="2591" v2="2592"/>
+ <triangle index="4709" v0="2590" v1="2591" v2="3028"/>
+ <triangle index="4710" v0="1480" v1="1481" v2="2592"/>
+ <triangle index="4711" v0="2032" v1="2592" v2="2594"/>
+ <triangle index="4712" v0="2032" v1="2592" v2="2593"/>
+ <triangle index="4713" v0="1481" v1="2592" v2="2593"/>
+ <triangle index="4714" v0="2032" v1="2052" v2="2594"/>
+ <triangle index="4715" v0="1473" v1="2594" v2="3029"/>
+ <triangle index="4716" v0="2117" v1="2595" v2="2598"/>
+ <triangle index="4717" v0="1571" v1="2595" v2="2597"/>
+ <triangle index="4718" v0="2598" v1="2600" v2="3314"/>
+ <triangle index="4719" v0="2601" v1="2858" v2="2985"/>
+ <triangle index="4720" v0="2595" v1="2597" v2="2598"/>
+ <triangle index="4721" v0="1491" v1="2528" v2="2603"/>
+ <triangle index="4722" v0="2117" v1="2118" v2="3314"/>
+ <triangle index="4723" v0="2596" v1="2597" v2="2598"/>
+ <triangle index="4724" v0="2611" v1="2613" v2="2614"/>
+ <triangle index="4725" v0="2515" v1="2517" v2="2745"/>
+ <triangle index="4726" v0="2117" v1="2598" v2="3314"/>
+ <triangle index="4727" v0="2599" v1="2600" v2="2856"/>
+ <triangle index="4728" v0="1575" v1="2119" v2="2614"/>
+ <triangle index="4729" v0="2746" v1="2747" v2="2982"/>
+ <triangle index="4730" v0="2034" v1="2602" v2="2851"/>
+ <triangle index="4731" v0="1571" v1="2588" v2="2602"/>
+ <triangle index="4732" v0="2596" v1="2597" v2="2603"/>
+ <triangle index="4733" v0="1491" v1="2984" v2="2986"/>
+ <triangle index="4734" v0="1563" v1="2118" v2="2604"/>
+ <triangle index="4735" v0="2117" v1="2595" v2="2604"/>
+ <triangle index="4736" v0="1524" v1="2605" v2="2606"/>
+ <triangle index="4737" v0="2122" v1="2124" v2="2605"/>
+ <triangle index="4738" v0="1524" v1="2606" v2="2607"/>
+ <triangle index="4739" v0="957" v1="2129" v2="2606"/>
+ <triangle index="4740" v0="1524" v1="2470" v2="2607"/>
+ <triangle index="4741" v0="2467" v1="2607" v2="2712"/>
+ <triangle index="4742" v0="2138" v1="2140" v2="2608"/>
+ <triangle index="4743" v0="2130" v1="2608" v2="2750"/>
+ <triangle index="4744" v0="2150" v1="2609" v2="2611"/>
+ <triangle index="4745" v0="1023" v1="2609" v2="2614"/>
+ <triangle index="4746" v0="2611" v1="2612" v2="2617"/>
+ <triangle index="4747" v0="2515" v1="2744" v2="2860"/>
+ <triangle index="4748" v0="2150" v1="2611" v2="2612"/>
+ <triangle index="4749" v0="2610" v1="2611" v2="2613"/>
+ <triangle index="4750" v0="2150" v1="2612" v2="2615"/>
+ <triangle index="4751" v0="2139" v1="2518" v2="2616"/>
+ <triangle index="4752" v0="2610" v1="2613" v2="2854"/>
+ <triangle index="4753" v0="2613" v1="2853" v2="2857"/>
+ <triangle index="4754" v0="2609" v1="2611" v2="2614"/>
+ <triangle index="4755" v0="1575" v1="2613" v2="2614"/>
+ <triangle index="4756" v0="592" v1="2150" v2="2615"/>
+ <triangle index="4757" v0="2140" v1="2141" v2="2615"/>
+ <triangle index="4758" v0="2855" v1="2859" v2="2860"/>
+ <triangle index="4759" v0="2616" v1="2617" v2="2859"/>
+ <triangle index="4760" v0="2610" v1="2611" v2="2617"/>
+ <triangle index="4761" v0="2612" v1="2616" v2="2617"/>
+ <triangle index="4762" v0="1579" v1="2121" v2="2618"/>
+ <triangle index="4763" v0="592" v1="2150" v2="2618"/>
+ <triangle index="4764" v0="2060" v1="2172" v2="2619"/>
+ <triangle index="4765" v0="2168" v1="2174" v2="2620"/>
+ <triangle index="4766" v0="1505" v1="1515" v2="2620"/>
+ <triangle index="4767" v0="2168" v1="2619" v2="2620"/>
+ <triangle index="4768" v0="2158" v1="2160" v2="2621"/>
+ <triangle index="4769" v0="2151" v1="2621" v2="2622"/>
+ <triangle index="4770" v0="2151" v1="2155" v2="2622"/>
+ <triangle index="4771" v0="2156" v1="2622" v2="2711"/>
+ <triangle index="4772" v0="1035" v1="2162" v2="2623"/>
+ <triangle index="4773" v0="2175" v1="2176" v2="2623"/>
+ <triangle index="4774" v0="1035" v1="1037" v2="2624"/>
+ <triangle index="4775" v0="1032" v1="1588" v2="2862"/>
+ <triangle index="4776" v0="2196" v1="2625" v2="2864"/>
+ <triangle index="4777" v0="2625" v1="2864" v2="2865"/>
+ <triangle index="4778" v0="1586" v1="1587" v2="2626"/>
+ <triangle index="4779" v0="490" v1="2626" v2="2627"/>
+ <triangle index="4780" v0="490" v1="1037" v2="2627"/>
+ <triangle index="4781" v0="1038" v1="2627" v2="2628"/>
+ <triangle index="4782" v0="2171" v1="2183" v2="2628"/>
+ <triangle index="4783" v0="2189" v1="2627" v2="2628"/>
+ <triangle index="4784" v0="599" v1="2193" v2="2629"/>
+ <triangle index="4785" v0="1599" v1="2193" v2="2629"/>
+ <triangle index="4786" v0="411" v1="412" v2="2630"/>
+ <triangle index="4787" v0="411" v1="1514" v2="2631"/>
+ <triangle index="4788" v0="1510" v1="2196" v2="2631"/>
+ <triangle index="4789" v0="411" v1="2630" v2="2631"/>
+ <triangle index="4790" v0="1607" v1="2198" v2="2632"/>
+ <triangle index="4791" v0="2200" v1="2632" v2="2724"/>
+ <triangle index="4792" v0="2190" v1="2633" v2="2977"/>
+ <triangle index="4793" v0="2199" v1="2202" v2="2633"/>
+ <triangle index="4794" v0="166" v1="2209" v2="2635"/>
+ <triangle index="4795" v0="167" v1="2211" v2="2634"/>
+ <triangle index="4796" v0="1630" v1="2300" v2="2635"/>
+ <triangle index="4797" v0="339" v1="2214" v2="2636"/>
+ <triangle index="4798" v0="2215" v1="2218" v2="2636"/>
+ <triangle index="4799" v0="1835" v1="1836" v2="2867"/>
+ <triangle index="4800" v0="2637" v1="2638" v2="2868"/>
+ <triangle index="4801" v0="1827" v1="1830" v2="2638"/>
+ <triangle index="4802" v0="2637" v1="2638" v2="2867"/>
+ <triangle index="4803" v0="2233" v1="2255" v2="2639"/>
+ <triangle index="4804" v0="2255" v1="2267" v2="2639"/>
+ <triangle index="4805" v0="2640" v1="2869" v2="2870"/>
+ <triangle index="4806" v0="2269" v1="2640" v2="2879"/>
+ <triangle index="4807" v0="147" v1="2873" v2="2878"/>
+ <triangle index="4808" v0="2251" v1="2650" v2="2892"/>
+ <triangle index="4809" v0="2642" v1="2882" v2="2883"/>
+ <triangle index="4810" v0="2641" v1="2877" v2="2893"/>
+ <triangle index="4811" v0="2258" v1="2273" v2="2643"/>
+ <triangle index="4812" v0="2642" v1="2643" v2="2892"/>
+ <triangle index="4813" v0="1705" v1="2284" v2="2644"/>
+ <triangle index="4814" v0="330" v1="2644" v2="2645"/>
+ <triangle index="4815" v0="329" v1="330" v2="2645"/>
+ <triangle index="4816" v0="329" v1="2645" v2="2884"/>
+ <triangle index="4817" v0="2646" v1="2884" v2="2885"/>
+ <triangle index="4818" v0="2646" v1="2887" v2="2888"/>
+ <triangle index="4819" v0="1700" v1="2647" v2="2648"/>
+ <triangle index="4820" v0="2287" v1="2288" v2="2647"/>
+ <triangle index="4821" v0="1705" v1="2644" v2="2648"/>
+ <triangle index="4822" v0="2287" v1="2647" v2="2648"/>
+ <triangle index="4823" v0="2253" v1="2279" v2="2649"/>
+ <triangle index="4824" v0="2251" v1="2643" v2="2892"/>
+ <triangle index="4825" v0="2332" v1="2650" v2="2895"/>
+ <triangle index="4826" v0="2650" v1="2896" v2="2897"/>
+ <triangle index="4827" v0="146" v1="2344" v2="2651"/>
+ <triangle index="4828" v0="2340" v1="2342" v2="2651"/>
+ <triangle index="4829" v0="1766" v1="2653" v2="2655"/>
+ <triangle index="4830" v0="2343" v1="2652" v2="3032"/>
+ <triangle index="4831" v0="2345" v1="2653" v2="2879"/>
+ <triangle index="4832" v0="1776" v1="2654" v2="2881"/>
+ <triangle index="4833" v0="2345" v1="2654" v2="2655"/>
+ <triangle index="4834" v0="2345" v1="2653" v2="2655"/>
+ <triangle index="4835" v0="150" v1="151" v2="2655"/>
+ <triangle index="4836" v0="1783" v1="2351" v2="2656"/>
+ <triangle index="4837" v0="2352" v1="2353" v2="2656"/>
+ <triangle index="4838" v0="1167" v1="2657" v2="2660"/>
+ <triangle index="4839" v0="2356" v1="2657" v2="2671"/>
+ <triangle index="4840" v0="641" v1="2658" v2="2672"/>
+ <triangle index="4841" v0="2356" v1="2658" v2="2660"/>
+ <triangle index="4842" v0="2375" v1="2664" v2="2665"/>
+ <triangle index="4843" v0="641" v1="2658" v2="2659"/>
+ <triangle index="4844" v0="2356" v1="2657" v2="2660"/>
+ <triangle index="4845" v0="1167" v1="1170" v2="2661"/>
+ <triangle index="4846" v0="2376" v1="2660" v2="2661"/>
+ <triangle index="4847" v0="1167" v1="2660" v2="2661"/>
+ <triangle index="4848" v0="1801" v1="2658" v2="2662"/>
+ <triangle index="4849" v0="2658" v1="2660" v2="2662"/>
+ <triangle index="4850" v0="504" v1="2921" v2="2922"/>
+ <triangle index="4851" v0="2664" v1="2667" v2="2668"/>
+ <triangle index="4852" v0="2375" v1="2665" v2="2901"/>
+ <triangle index="4853" v0="2663" v1="2664" v2="2668"/>
+ <triangle index="4854" v0="2361" v1="2368" v2="2900"/>
+ <triangle index="4855" v0="2664" v1="2665" v2="2899"/>
+ <triangle index="4856" v0="2663" v1="2898" v2="2927"/>
+ <triangle index="4857" v0="2671" v1="2674" v2="2906"/>
+ <triangle index="4858" v0="2659" v1="2664" v2="2667"/>
+ <triangle index="4859" v0="2666" v1="2667" v2="2675"/>
+ <triangle index="4860" v0="2663" v1="2668" v2="3045"/>
+ <triangle index="4861" v0="2666" v1="2667" v2="2668"/>
+ <triangle index="4862" v0="1788" v1="2670" v2="2671"/>
+ <triangle index="4863" v0="2357" v1="2669" v2="3277"/>
+ <triangle index="4864" v0="2357" v1="2669" v2="2670"/>
+ <triangle index="4865" v0="2356" v1="2658" v2="2672"/>
+ <triangle index="4866" v0="2356" v1="2671" v2="2672"/>
+ <triangle index="4867" v0="2666" v1="2673" v2="2675"/>
+ <triangle index="4868" v0="641" v1="2672" v2="2675"/>
+ <triangle index="4869" v0="2666" v1="3044" v2="3045"/>
+ <triangle index="4870" v0="2676" v1="3038" v2="3262"/>
+ <triangle index="4871" v0="2673" v1="2674" v2="2678"/>
+ <triangle index="4872" v0="2674" v1="2678" v2="2904"/>
+ <triangle index="4873" v0="641" v1="2667" v2="2675"/>
+ <triangle index="4874" v0="2673" v1="2674" v2="2675"/>
+ <triangle index="4875" v0="2381" v1="2911" v2="2913"/>
+ <triangle index="4876" v0="2379" v1="2381" v2="2908"/>
+ <triangle index="4877" v0="2918" v1="3039" v2="3147"/>
+ <triangle index="4878" v0="2676" v1="3262" v2="3273"/>
+ <triangle index="4879" v0="2673" v1="3041" v2="3046"/>
+ <triangle index="4880" v0="2677" v1="2904" v2="3284"/>
+ <triangle index="4881" v0="643" v1="2364" v2="2679"/>
+ <triangle index="4882" v0="505" v1="2365" v2="2679"/>
+ <triangle index="4883" v0="1801" v1="2373" v2="2680"/>
+ <triangle index="4884" v0="2366" v1="2374" v2="2680"/>
+ <triangle index="4885" v0="1153" v1="1177" v2="2681"/>
+ <triangle index="4886" v0="1173" v1="2373" v2="2681"/>
+ <triangle index="4887" v0="640" v1="2381" v2="2907"/>
+ <triangle index="4888" v0="2381" v1="2908" v2="2911"/>
+ <triangle index="4889" v0="640" v1="2383" v2="2683"/>
+ <triangle index="4890" v0="504" v1="2682" v2="2684"/>
+ <triangle index="4891" v0="504" v1="2684" v2="2941"/>
+ <triangle index="4892" v0="639" v1="1805" v2="2684"/>
+ <triangle index="4893" v0="2972" v1="3122" v2="3163"/>
+ <triangle index="4894" v0="504" v1="2682" v2="2921"/>
+ <triangle index="4895" v0="1809" v1="2679" v2="2686"/>
+ <triangle index="4896" v0="505" v1="2360" v2="2687"/>
+ <triangle index="4897" v0="1799" v1="2385" v2="2687"/>
+ <triangle index="4898" v0="505" v1="2686" v2="2687"/>
+ <triangle index="4899" v0="642" v1="1798" v2="2688"/>
+ <triangle index="4900" v0="1800" v1="2385" v2="2688"/>
+ <triangle index="4901" v0="1809" v1="2686" v2="2689"/>
+ <triangle index="4902" v0="2385" v1="2688" v2="2689"/>
+ <triangle index="4903" v0="2933" v1="2934" v2="2935"/>
+ <triangle index="4904" v0="125" v1="2387" v2="2690"/>
+ <triangle index="4905" v0="2370" v1="2929" v2="2931"/>
+ <triangle index="4906" v0="2387" v1="2692" v2="2928"/>
+ <triangle index="4907" v0="2369" v1="2370" v2="2931"/>
+ <triangle index="4908" v0="2242" v1="2248" v2="2693"/>
+ <triangle index="4909" v0="1829" v1="2250" v2="2693"/>
+ <triangle index="4910" v0="1225" v1="2694" v2="2698"/>
+ <triangle index="4911" v0="2404" v1="2694" v2="3165"/>
+ <triangle index="4912" v0="1839" v1="2695" v2="3165"/>
+ <triangle index="4913" v0="2405" v1="2695" v2="3184"/>
+ <triangle index="4914" v0="2696" v1="2699" v2="2944"/>
+ <triangle index="4915" v0="647" v1="2696" v2="2698"/>
+ <triangle index="4916" v0="2697" v1="2944" v2="2959"/>
+ <triangle index="4917" v0="3145" v1="3220" v2="3224"/>
+ <triangle index="4918" v0="647" v1="2698" v2="3122"/>
+ <triangle index="4919" v0="1225" v1="2410" v2="2698"/>
+ <triangle index="4920" v0="2409" v1="2696" v2="2944"/>
+ <triangle index="4921" v0="2697" v1="2699" v2="2700"/>
+ <triangle index="4922" v0="2954" v1="3149" v2="3150"/>
+ <triangle index="4923" v0="3164" v1="3168" v2="3169"/>
+ <triangle index="4924" v0="1843" v1="2421" v2="2701"/>
+ <triangle index="4925" v0="507" v1="2701" v2="2948"/>
+ <triangle index="4926" v0="507" v1="2948" v2="2951"/>
+ <triangle index="4927" v0="2702" v1="2956" v2="2965"/>
+ <triangle index="4928" v0="107" v1="2703" v2="2704"/>
+ <triangle index="4929" v0="2415" v1="3205" v2="3258"/>
+ <triangle index="4930" v0="106" v1="107" v2="2704"/>
+ <triangle index="4931" v0="106" v1="3161" v2="3208"/>
+ <triangle index="4932" v0="1231" v1="2705" v2="3303"/>
+ <triangle index="4933" v0="2422" v1="2705" v2="3058"/>
+ <triangle index="4934" v0="1847" v1="2706" v2="3058"/>
+ <triangle index="4935" v0="366" v1="2423" v2="2706"/>
+ <triangle index="4936" v0="1938" v1="2707" v2="2973"/>
+ <triangle index="4937" v0="1905" v1="2441" v2="2710"/>
+ <triangle index="4938" v0="2450" v1="2708" v2="2709"/>
+ <triangle index="4939" v0="1954" v1="2441" v2="2708"/>
+ <triangle index="4940" v0="1938" v1="2450" v2="2709"/>
+ <triangle index="4941" v0="2707" v1="2710" v2="2974"/>
+ <triangle index="4942" v0="2441" v1="2708" v2="2710"/>
+ <triangle index="4943" v0="2708" v1="2709" v2="2710"/>
+ <triangle index="4944" v0="2156" v1="2711" v2="2712"/>
+ <triangle index="4945" v0="2460" v1="2713" v2="2715"/>
+ <triangle index="4946" v0="2156" v1="2607" v2="2712"/>
+ <triangle index="4947" v0="2467" v1="2469" v2="2714"/>
+ <triangle index="4948" v0="2462" v1="2713" v2="2716"/>
+ <triangle index="4949" v0="2711" v1="2713" v2="2975"/>
+ <triangle index="4950" v0="2460" v1="2711" v2="2714"/>
+ <triangle index="4951" v0="2467" v1="2712" v2="2714"/>
+ <triangle index="4952" v0="2460" v1="2461" v2="2715"/>
+ <triangle index="4953" v0="2462" v1="2464" v2="2715"/>
+ <triangle index="4954" v0="2462" v1="2716" v2="2717"/>
+ <triangle index="4955" v0="2182" v1="2183" v2="2716"/>
+ <triangle index="4956" v0="2182" v1="2716" v2="2717"/>
+ <triangle index="4957" v0="2462" v1="2717" v2="2718"/>
+ <triangle index="4958" v0="2462" v1="2464" v2="2718"/>
+ <triangle index="4959" v0="2466" v1="2718" v2="2727"/>
+ <triangle index="4960" v0="2200" v1="2721" v2="2724"/>
+ <triangle index="4961" v0="2476" v1="2723" v2="2976"/>
+ <triangle index="4962" v0="2202" v1="2720" v2="2725"/>
+ <triangle index="4963" v0="2475" v1="2720" v2="2721"/>
+ <triangle index="4964" v0="2475" v1="2721" v2="2722"/>
+ <triangle index="4965" v0="2719" v1="2721" v2="2724"/>
+ <triangle index="4966" v0="2475" v1="2477" v2="2722"/>
+ <triangle index="4967" v0="2472" v1="2722" v2="2723"/>
+ <triangle index="4968" v0="2472" v1="2476" v2="2723"/>
+ <triangle index="4969" v0="2719" v1="2721" v2="2723"/>
+ <triangle index="4970" v0="2719" v1="2729" v2="2730"/>
+ <triangle index="4971" v0="1936" v1="2632" v2="2724"/>
+ <triangle index="4972" v0="2190" v1="2191" v2="2726"/>
+ <triangle index="4973" v0="2725" v1="2727" v2="2978"/>
+ <triangle index="4974" v0="2177" v1="2717" v2="2727"/>
+ <triangle index="4975" v0="2725" v1="2726" v2="2977"/>
+ <triangle index="4976" v0="2466" v1="2727" v2="2978"/>
+ <triangle index="4977" v0="2177" v1="2726" v2="2727"/>
+ <triangle index="4978" v0="1938" v1="1939" v2="2728"/>
+ <triangle index="4979" v0="1934" v1="2728" v2="2729"/>
+ <triangle index="4980" v0="1934" v1="1936" v2="2730"/>
+ <triangle index="4981" v0="2719" v1="2729" v2="2976"/>
+ <triangle index="4982" v0="2719" v1="2724" v2="2730"/>
+ <triangle index="4983" v0="1934" v1="2729" v2="2730"/>
+ <triangle index="4984" v0="1961" v1="1963" v2="2731"/>
+ <triangle index="4985" v0="2488" v1="2731" v2="2733"/>
+ <triangle index="4986" v0="1961" v1="2486" v2="2732"/>
+ <triangle index="4987" v0="1956" v1="2489" v2="2732"/>
+ <triangle index="4988" v0="296" v1="297" v2="2733"/>
+ <triangle index="4989" v0="296" v1="2731" v2="2733"/>
+ <triangle index="4990" v0="2496" v1="2497" v2="2734"/>
+ <triangle index="4991" v0="2494" v1="2734" v2="2735"/>
+ <triangle index="4992" v0="2494" v1="2735" v2="2736"/>
+ <triangle index="4993" v0="911" v1="2735" v2="2740"/>
+ <triangle index="4994" v0="803" v1="2494" v2="2737"/>
+ <triangle index="4995" v0="325" v1="326" v2="2738"/>
+ <triangle index="4996" v0="327" v1="1401" v2="2737"/>
+ <triangle index="4997" v0="2494" v1="2736" v2="2737"/>
+ <triangle index="4998" v0="325" v1="913" v2="2738"/>
+ <triangle index="4999" v0="911" v1="2735" v2="2738"/>
+ <triangle index="5000" v0="1451" v1="2498" v2="2740"/>
+ <triangle index="5001" v0="327" v1="2737" v2="2739"/>
+ <triangle index="5002" v0="2498" v1="2734" v2="2740"/>
+ <triangle index="5003" v0="2741" v1="2980" v2="2981"/>
+ <triangle index="5004" v0="2982" v1="2983" v2="2984"/>
+ <triangle index="5005" v0="485" v1="3300" v2="3301"/>
+ <triangle index="5006" v0="1469" v1="2508" v2="2742"/>
+ <triangle index="5007" v0="2505" v1="2743" v2="2982"/>
+ <triangle index="5008" v0="2511" v1="2514" v2="2743"/>
+ <triangle index="5009" v0="2514" v1="2744" v2="2747"/>
+ <triangle index="5010" v0="2855" v1="2858" v2="2861"/>
+ <triangle index="5011" v0="2509" v1="2744" v2="2745"/>
+ <triangle index="5012" v0="2515" v1="2744" v2="2745"/>
+ <triangle index="5013" v0="2514" v1="2743" v2="2982"/>
+ <triangle index="5014" v0="2854" v1="2855" v2="2858"/>
+ <triangle index="5015" v0="2514" v1="2747" v2="2982"/>
+ <triangle index="5016" v0="2746" v1="2858" v2="2861"/>
+ <triangle index="5017" v0="2149" v1="2523" v2="2748"/>
+ <triangle index="5018" v0="2519" v1="2523" v2="2749"/>
+ <triangle index="5019" v0="2028" v1="2524" v2="2749"/>
+ <triangle index="5020" v0="2523" v1="2748" v2="2749"/>
+ <triangle index="5021" v0="2149" v1="2608" v2="2750"/>
+ <triangle index="5022" v0="2130" v1="2146" v2="2751"/>
+ <triangle index="5023" v0="2142" v1="2180" v2="2751"/>
+ <triangle index="5024" v0="2523" v1="2750" v2="2751"/>
+ <triangle index="5025" v0="2523" v1="2751" v2="2752"/>
+ <triangle index="5026" v0="2180" v1="2751" v2="2752"/>
+ <triangle index="5027" v0="382" v1="2820" v2="2821"/>
+ <triangle index="5028" v0="2077" v1="2758" v2="2769"/>
+ <triangle index="5029" v0="2039" v1="2040" v2="2754"/>
+ <triangle index="5030" v0="2537" v1="2991" v2="3126"/>
+ <triangle index="5031" v0="2767" v1="2768" v2="2772"/>
+ <triangle index="5032" v0="2756" v1="2989" v2="3126"/>
+ <triangle index="5033" v0="2047" v1="2756" v2="2990"/>
+ <triangle index="5034" v0="2047" v1="2048" v2="2991"/>
+ <triangle index="5035" v0="2063" v1="2541" v2="2757"/>
+ <triangle index="5036" v0="2540" v1="2757" v2="2778"/>
+ <triangle index="5037" v0="2542" v1="2758" v2="2761"/>
+ <triangle index="5038" v0="2761" v1="2763" v2="2769"/>
+ <triangle index="5039" v0="2777" v1="2778" v2="2997"/>
+ <triangle index="5040" v0="2759" v1="2761" v2="2765"/>
+ <triangle index="5041" v0="2759" v1="2763" v2="2772"/>
+ <triangle index="5042" v0="2770" v1="2994" v2="3006"/>
+ <triangle index="5043" v0="2761" v1="2765" v2="2997"/>
+ <triangle index="5044" v0="2759" v1="2761" v2="2763"/>
+ <triangle index="5045" v0="2762" v1="2778" v2="2779"/>
+ <triangle index="5046" v0="2771" v1="2775" v2="2998"/>
+ <triangle index="5047" v0="2763" v1="2764" v2="2772"/>
+ <triangle index="5048" v0="2760" v1="2763" v2="2769"/>
+ <triangle index="5049" v0="2534" v1="2764" v2="2773"/>
+ <triangle index="5050" v0="2760" v1="2763" v2="2764"/>
+ <triangle index="5051" v0="2542" v1="2761" v2="2997"/>
+ <triangle index="5052" v0="2762" v1="2767" v2="2795"/>
+ <triangle index="5053" v0="2784" v1="2786" v2="2789"/>
+ <triangle index="5054" v0="2534" v1="2768" v2="2774"/>
+ <triangle index="5055" v0="2762" v1="2765" v2="2767"/>
+ <triangle index="5056" v0="2766" v1="2767" v2="2768"/>
+ <triangle index="5057" v0="2766" v1="2768" v2="2775"/>
+ <triangle index="5058" v0="2534" v1="2764" v2="2772"/>
+ <triangle index="5059" v0="2758" v1="2761" v2="2769"/>
+ <triangle index="5060" v0="2760" v1="2769" v2="3004"/>
+ <triangle index="5061" v0="2535" v1="2770" v2="2773"/>
+ <triangle index="5062" v0="2535" v1="2536" v2="2992"/>
+ <triangle index="5063" v0="2766" v1="2767" v2="2795"/>
+ <triangle index="5064" v0="2771" v1="2998" v2="2999"/>
+ <triangle index="5065" v0="2759" v1="2767" v2="2772"/>
+ <triangle index="5066" v0="2534" v1="2768" v2="2772"/>
+ <triangle index="5067" v0="2534" v1="2535" v2="2773"/>
+ <triangle index="5068" v0="2770" v1="2773" v2="3005"/>
+ <triangle index="5069" v0="2771" v1="2774" v2="3129"/>
+ <triangle index="5070" v0="2755" v1="2774" v2="2988"/>
+ <triangle index="5071" v0="2766" v1="2775" v2="2998"/>
+ <triangle index="5072" v0="2771" v1="2774" v2="2775"/>
+ <triangle index="5073" v0="1530" v1="2070" v2="2777"/>
+ <triangle index="5074" v0="2542" v1="2758" v2="2776"/>
+ <triangle index="5075" v0="2070" v1="2777" v2="2778"/>
+ <triangle index="5076" v0="2542" v1="2776" v2="2777"/>
+ <triangle index="5077" v0="2070" v1="2757" v2="2778"/>
+ <triangle index="5078" v0="2540" v1="2778" v2="2779"/>
+ <triangle index="5079" v0="2540" v1="2541" v2="2781"/>
+ <triangle index="5080" v0="2779" v1="2782" v2="2784"/>
+ <triangle index="5081" v0="2787" v1="2790" v2="2791"/>
+ <triangle index="5082" v0="2782" v1="2784" v2="2785"/>
+ <triangle index="5083" v0="594" v1="2541" v2="2781"/>
+ <triangle index="5084" v0="2780" v1="2781" v2="2782"/>
+ <triangle index="5085" v0="2783" v1="2784" v2="2785"/>
+ <triangle index="5086" v0="2540" v1="2779" v2="2782"/>
+ <triangle index="5087" v0="590" v1="2788" v2="2794"/>
+ <triangle index="5088" v0="2779" v1="2784" v2="2789"/>
+ <triangle index="5089" v0="2780" v1="2782" v2="2785"/>
+ <triangle index="5090" v0="2783" v1="2784" v2="2786"/>
+ <triangle index="5091" v0="2780" v1="2785" v2="2790"/>
+ <triangle index="5092" v0="2785" v1="2790" v2="2792"/>
+ <triangle index="5093" v0="3000" v1="3002" v2="3003"/>
+ <triangle index="5094" v0="2766" v1="2786" v2="2998"/>
+ <triangle index="5095" v0="2780" v1="2781" v2="2796"/>
+ <triangle index="5096" v0="2787" v1="2792" v2="2793"/>
+ <triangle index="5097" v0="590" v1="2794" v2="2847"/>
+ <triangle index="5098" v0="2783" v1="2785" v2="2788"/>
+ <triangle index="5099" v0="2766" v1="2786" v2="2795"/>
+ <triangle index="5100" v0="2762" v1="2779" v2="2789"/>
+ <triangle index="5101" v0="2780" v1="2790" v2="2791"/>
+ <triangle index="5102" v0="2787" v1="2790" v2="2792"/>
+ <triangle index="5103" v0="594" v1="2796" v2="2797"/>
+ <triangle index="5104" v0="1016" v1="2797" v2="2800"/>
+ <triangle index="5105" v0="590" v1="2788" v2="2792"/>
+ <triangle index="5106" v0="2785" v1="2788" v2="2792"/>
+ <triangle index="5107" v0="940" v1="2793" v2="2798"/>
+ <triangle index="5108" v0="590" v1="2792" v2="2793"/>
+ <triangle index="5109" v0="3019" v1="3021" v2="3030"/>
+ <triangle index="5110" v0="2053" v1="2999" v2="3001"/>
+ <triangle index="5111" v0="2762" v1="2789" v2="2795"/>
+ <triangle index="5112" v0="2786" v1="2789" v2="2795"/>
+ <triangle index="5113" v0="594" v1="2069" v2="2797"/>
+ <triangle index="5114" v0="2780" v1="2791" v2="2796"/>
+ <triangle index="5115" v0="1016" v1="1557" v2="2800"/>
+ <triangle index="5116" v0="2791" v1="2796" v2="2797"/>
+ <triangle index="5117" v0="940" v1="1503" v2="2798"/>
+ <triangle index="5118" v0="1564" v1="1567" v2="2798"/>
+ <triangle index="5119" v0="590" v1="2793" v2="2799"/>
+ <triangle index="5120" v0="2793" v1="2798" v2="2799"/>
+ <triangle index="5121" v0="92" v1="2801" v2="2802"/>
+ <triangle index="5122" v0="92" v1="1501" v2="2802"/>
+ <triangle index="5123" v0="940" v1="1501" v2="2802"/>
+ <triangle index="5124" v0="93" v1="2800" v2="2801"/>
+ <triangle index="5125" v0="940" v1="2787" v2="2803"/>
+ <triangle index="5126" v0="2791" v1="2800" v2="2803"/>
+ <triangle index="5127" v0="940" v1="2802" v2="2803"/>
+ <triangle index="5128" v0="2085" v1="2545" v2="2804"/>
+ <triangle index="5129" v0="2544" v1="2804" v2="2806"/>
+ <triangle index="5130" v0="2805" v1="2806" v2="2809"/>
+ <triangle index="5131" v0="380" v1="2817" v2="2823"/>
+ <triangle index="5132" v0="2544" v1="2806" v2="2809"/>
+ <triangle index="5133" v0="2805" v1="2806" v2="2808"/>
+ <triangle index="5134" v0="2544" v1="2809" v2="2810"/>
+ <triangle index="5135" v0="2807" v1="2811" v2="2814"/>
+ <triangle index="5136" v0="2805" v1="2808" v2="2817"/>
+ <triangle index="5137" v0="379" v1="2826" v2="3012"/>
+ <triangle index="5138" v0="2544" v1="2545" v2="2810"/>
+ <triangle index="5139" v0="2807" v1="2809" v2="2811"/>
+ <triangle index="5140" v0="2077" v1="2769" v2="2810"/>
+ <triangle index="5141" v0="2809" v1="2810" v2="3004"/>
+ <triangle index="5142" v0="2812" v1="2814" v2="2815"/>
+ <triangle index="5143" v0="2813" v1="2819" v2="2822"/>
+ <triangle index="5144" v0="2812" v1="2827" v2="2828"/>
+ <triangle index="5145" v0="382" v1="2819" v2="2820"/>
+ <triangle index="5146" v0="2811" v1="2814" v2="2820"/>
+ <triangle index="5147" v0="381" v1="382" v2="2819"/>
+ <triangle index="5148" v0="2807" v1="2814" v2="2815"/>
+ <triangle index="5149" v0="2812" v1="2814" v2="2820"/>
+ <triangle index="5150" v0="2807" v1="2815" v2="2816"/>
+ <triangle index="5151" v0="2753" v1="2815" v2="3008"/>
+ <triangle index="5152" v0="2807" v1="2816" v2="3004"/>
+ <triangle index="5153" v0="2760" v1="2764" v2="3005"/>
+ <triangle index="5154" v0="2805" v1="2813" v2="2822"/>
+ <triangle index="5155" v0="2818" v1="2824" v2="2825"/>
+ <triangle index="5156" v0="2808" v1="2824" v2="2825"/>
+ <triangle index="5157" v0="378" v1="2833" v2="3012"/>
+ <triangle index="5158" v0="381" v1="2819" v2="2822"/>
+ <triangle index="5159" v0="2813" v1="2819" v2="2820"/>
+ <triangle index="5160" v0="2811" v1="2813" v2="2820"/>
+ <triangle index="5161" v0="2812" v1="2820" v2="2821"/>
+ <triangle index="5162" v0="2812" v1="2827" v2="3008"/>
+ <triangle index="5163" v0="382" v1="383" v2="2821"/>
+ <triangle index="5164" v0="381" v1="2822" v2="2823"/>
+ <triangle index="5165" v0="2805" v1="2817" v2="2822"/>
+ <triangle index="5166" v0="2808" v1="2817" v2="2825"/>
+ <triangle index="5167" v0="2817" v1="2822" v2="2823"/>
+ <triangle index="5168" v0="2818" v1="3007" v2="3011"/>
+ <triangle index="5169" v0="380" v1="2817" v2="2825"/>
+ <triangle index="5170" v0="379" v1="380" v2="2826"/>
+ <triangle index="5171" v0="2818" v1="2825" v2="2826"/>
+ <triangle index="5172" v0="380" v1="2825" v2="2826"/>
+ <triangle index="5173" v0="2992" v1="2994" v2="2995"/>
+ <triangle index="5174" v0="383" v1="384" v2="2828"/>
+ <triangle index="5175" v0="2812" v1="2821" v2="2828"/>
+ <triangle index="5176" v0="384" v1="2827" v2="2828"/>
+ <triangle index="5177" v0="2081" v1="2084" v2="2829"/>
+ <triangle index="5178" v0="2085" v1="2829" v2="2830"/>
+ <triangle index="5179" v0="2083" v1="2830" v2="3007"/>
+ <triangle index="5180" v0="2547" v1="2829" v2="2830"/>
+ <triangle index="5181" v0="2547" v1="2831" v2="3007"/>
+ <triangle index="5182" v0="2567" v1="2569" v2="2831"/>
+ <triangle index="5183" v0="2832" v1="3010" v2="3011"/>
+ <triangle index="5184" v0="2832" v1="2833" v2="3012"/>
+ <triangle index="5185" v0="377" v1="2570" v2="2833"/>
+ <triangle index="5186" v0="2570" v1="2833" v2="3009"/>
+ <triangle index="5187" v0="376" v1="2574" v2="2834"/>
+ <triangle index="5188" v0="2574" v1="2576" v2="2834"/>
+ <triangle index="5189" v0="2561" v1="2568" v2="2835"/>
+ <triangle index="5190" v0="2570" v1="2834" v2="2835"/>
+ <triangle index="5191" v0="375" v1="376" v2="2836"/>
+ <triangle index="5192" v0="375" v1="2836" v2="2837"/>
+ <triangle index="5193" v0="374" v1="375" v2="2838"/>
+ <triangle index="5194" v0="2575" v1="2837" v2="2842"/>
+ <triangle index="5195" v0="374" v1="2838" v2="2840"/>
+ <triangle index="5196" v0="2838" v1="2840" v2="2841"/>
+ <triangle index="5197" v0="2839" v1="3250" v2="3252"/>
+ <triangle index="5198" v0="372" v1="3248" v2="3249"/>
+ <triangle index="5199" v0="373" v1="374" v2="3252"/>
+ <triangle index="5200" v0="2839" v1="2840" v2="2841"/>
+ <triangle index="5201" v0="2839" v1="2841" v2="2843"/>
+ <triangle index="5202" v0="2575" v1="2837" v2="2841"/>
+ <triangle index="5203" v0="2572" v1="2575" v2="2842"/>
+ <triangle index="5204" v0="2572" v1="2576" v2="2842"/>
+ <triangle index="5205" v0="2839" v1="2843" v2="3316"/>
+ <triangle index="5206" v0="1554" v1="2582" v2="2844"/>
+ <triangle index="5207" v0="2575" v1="2841" v2="2844"/>
+ <triangle index="5208" v0="2841" v1="2843" v2="2844"/>
+ <triangle index="5209" v0="1554" v1="2101" v2="2845"/>
+ <triangle index="5210" v0="2097" v1="2575" v2="2845"/>
+ <triangle index="5211" v0="2106" v1="2110" v2="3136"/>
+ <triangle index="5212" v0="2579" v1="2846" v2="3141"/>
+ <triangle index="5213" v0="1567" v1="2585" v2="2847"/>
+ <triangle index="5214" v0="2585" v1="2847" v2="3025"/>
+ <triangle index="5215" v0="2590" v1="3027" v2="3028"/>
+ <triangle index="5216" v0="3019" v1="3027" v2="3029"/>
+ <triangle index="5217" v0="1571" v1="2849" v2="2852"/>
+ <triangle index="5218" v0="2586" v1="2849" v2="2850"/>
+ <triangle index="5219" v0="2586" v1="2587" v2="2850"/>
+ <triangle index="5220" v0="595" v1="1570" v2="2850"/>
+ <triangle index="5221" v0="2034" v1="2528" v2="2851"/>
+ <triangle index="5222" v0="1484" v1="2589" v2="2851"/>
+ <triangle index="5223" v0="2116" v1="2852" v2="3018"/>
+ <triangle index="5224" v0="2586" v1="2849" v2="2852"/>
+ <triangle index="5225" v0="1575" v1="2613" v2="2853"/>
+ <triangle index="5226" v0="2599" v1="2853" v2="3314"/>
+ <triangle index="5227" v0="2610" v1="2854" v2="2855"/>
+ <triangle index="5228" v0="2601" v1="2854" v2="2856"/>
+ <triangle index="5229" v0="2610" v1="2855" v2="2859"/>
+ <triangle index="5230" v0="2744" v1="2860" v2="2861"/>
+ <triangle index="5231" v0="2600" v1="2601" v2="2856"/>
+ <triangle index="5232" v0="2599" v1="2856" v2="2857"/>
+ <triangle index="5233" v0="2599" v1="2853" v2="2857"/>
+ <triangle index="5234" v0="2613" v1="2854" v2="2857"/>
+ <triangle index="5235" v0="2746" v1="2982" v2="2985"/>
+ <triangle index="5236" v0="2601" v1="2854" v2="2858"/>
+ <triangle index="5237" v0="2610" v1="2617" v2="2859"/>
+ <triangle index="5238" v0="2515" v1="2616" v2="2860"/>
+ <triangle index="5239" v0="2744" v1="2747" v2="2861"/>
+ <triangle index="5240" v0="2616" v1="2859" v2="2860"/>
+ <triangle index="5241" v0="2746" v1="2747" v2="2861"/>
+ <triangle index="5242" v0="2855" v1="2860" v2="2861"/>
+ <triangle index="5243" v0="1588" v1="2862" v2="2863"/>
+ <triangle index="5244" v0="2624" v1="2625" v2="2862"/>
+ <triangle index="5245" v0="1588" v1="2195" v2="2863"/>
+ <triangle index="5246" v0="2196" v1="2625" v2="2863"/>
+ <triangle index="5247" v0="1510" v1="2196" v2="2864"/>
+ <triangle index="5248" v0="1510" v1="1515" v2="2864"/>
+ <triangle index="5249" v0="1515" v1="2175" v2="2865"/>
+ <triangle index="5250" v0="2176" v1="2625" v2="2865"/>
+ <triangle index="5251" v0="2252" v1="2323" v2="2866"/>
+ <triangle index="5252" v0="1835" v1="2866" v2="2867"/>
+ <triangle index="5253" v0="501" v1="2638" v2="2867"/>
+ <triangle index="5254" v0="2637" v1="2866" v2="2867"/>
+ <triangle index="5255" v0="1830" v1="2396" v2="2868"/>
+ <triangle index="5256" v0="1829" v1="2252" v2="2868"/>
+ <triangle index="5257" v0="1776" v1="1777" v2="2869"/>
+ <triangle index="5258" v0="1140" v1="2869" v2="2870"/>
+ <triangle index="5259" v0="1140" v1="2870" v2="2871"/>
+ <triangle index="5260" v0="635" v1="2870" v2="2872"/>
+ <triangle index="5261" v0="2873" v1="2875" v2="2876"/>
+ <triangle index="5262" v0="2641" v1="2871" v2="2874"/>
+ <triangle index="5263" v0="635" v1="2269" v2="2872"/>
+ <triangle index="5264" v0="2269" v1="2640" v2="2872"/>
+ <triangle index="5265" v0="2873" v1="3031" v2="3032"/>
+ <triangle index="5266" v0="2871" v1="2875" v2="2876"/>
+ <triangle index="5267" v0="2641" v1="2874" v2="2883"/>
+ <triangle index="5268" v0="635" v1="2870" v2="2874"/>
+ <triangle index="5269" v0="1140" v1="1775" v2="2875"/>
+ <triangle index="5270" v0="148" v1="1775" v2="2878"/>
+ <triangle index="5271" v0="2873" v1="2876" v2="2877"/>
+ <triangle index="5272" v0="2641" v1="2871" v2="2876"/>
+ <triangle index="5273" v0="2873" v1="2877" v2="3031"/>
+ <triangle index="5274" v0="2650" v1="2892" v2="2894"/>
+ <triangle index="5275" v0="147" v1="148" v2="2878"/>
+ <triangle index="5276" v0="2873" v1="2875" v2="2878"/>
+ <triangle index="5277" v0="2269" v1="2879" v2="2880"/>
+ <triangle index="5278" v0="1768" v1="2653" v2="2879"/>
+ <triangle index="5279" v0="2269" v1="2275" v2="2880"/>
+ <triangle index="5280" v0="1768" v1="2308" v2="2880"/>
+ <triangle index="5281" v0="1776" v1="2869" v2="2881"/>
+ <triangle index="5282" v0="2640" v1="2879" v2="2881"/>
+ <triangle index="5283" v0="2271" v1="2882" v2="2883"/>
+ <triangle index="5284" v0="2642" v1="2643" v2="2882"/>
+ <triangle index="5285" v0="2271" v1="2874" v2="2883"/>
+ <triangle index="5286" v0="2641" v1="2883" v2="2893"/>
+ <triangle index="5287" v0="329" v1="2884" v2="2885"/>
+ <triangle index="5288" v0="2646" v1="2884" v2="2889"/>
+ <triangle index="5289" v0="328" v1="329" v2="2885"/>
+ <triangle index="5290" v0="328" v1="1401" v2="2886"/>
+ <triangle index="5291" v0="803" v1="2493" v2="2886"/>
+ <triangle index="5292" v0="1987" v1="2886" v2="2887"/>
+ <triangle index="5293" v0="1987" v1="2887" v2="2888"/>
+ <triangle index="5294" v0="2646" v1="2885" v2="2887"/>
+ <triangle index="5295" v0="1407" v1="1987" v2="2888"/>
+ <triangle index="5296" v0="2287" v1="2888" v2="2889"/>
+ <triangle index="5297" v0="2286" v1="2884" v2="2889"/>
+ <triangle index="5298" v0="2646" v1="2888" v2="2889"/>
+ <triangle index="5299" v0="1695" v1="1704" v2="2890"/>
+ <triangle index="5300" v0="1705" v1="2648" v2="2890"/>
+ <triangle index="5301" v0="1700" v1="1701" v2="2891"/>
+ <triangle index="5302" v0="1695" v1="2890" v2="2891"/>
+ <triangle index="5303" v0="2642" v1="2892" v2="2893"/>
+ <triangle index="5304" v0="2892" v1="2893" v2="2894"/>
+ <triangle index="5305" v0="2642" v1="2883" v2="2893"/>
+ <triangle index="5306" v0="2877" v1="2893" v2="2894"/>
+ <triangle index="5307" v0="2877" v1="2894" v2="3033"/>
+ <triangle index="5308" v0="2332" v1="2650" v2="2894"/>
+ <triangle index="5309" v0="2332" v1="2342" v2="2895"/>
+ <triangle index="5310" v0="2331" v1="2333" v2="2896"/>
+ <triangle index="5311" v0="2322" v1="2896" v2="2897"/>
+ <triangle index="5312" v0="2333" v1="2895" v2="2896"/>
+ <triangle index="5313" v0="2322" v1="2326" v2="2897"/>
+ <triangle index="5314" v0="2251" v1="2649" v2="2897"/>
+ <triangle index="5315" v0="2369" v1="2925" v2="2927"/>
+ <triangle index="5316" v0="2663" v1="2898" v2="2899"/>
+ <triangle index="5317" v0="2663" v1="2664" v2="2899"/>
+ <triangle index="5318" v0="2665" v1="2899" v2="2900"/>
+ <triangle index="5319" v0="2361" v1="2665" v2="2900"/>
+ <triangle index="5320" v0="2368" v1="2370" v2="2900"/>
+ <triangle index="5321" v0="2366" v1="2375" v2="2901"/>
+ <triangle index="5322" v0="2361" v1="2366" v2="2901"/>
+ <triangle index="5323" v0="2682" v1="2907" v2="2913"/>
+ <triangle index="5324" v0="2902" v1="3039" v2="3042"/>
+ <triangle index="5325" v0="2676" v1="3273" v2="3284"/>
+ <triangle index="5326" v0="356" v1="3274" v2="3275"/>
+ <triangle index="5327" v0="2677" v1="2678" v2="2904"/>
+ <triangle index="5328" v0="2903" v1="2904" v2="2905"/>
+ <triangle index="5329" v0="2903" v1="3275" v2="3277"/>
+ <triangle index="5330" v0="2357" v1="2671" v2="2906"/>
+ <triangle index="5331" v0="2674" v1="2904" v2="2906"/>
+ <triangle index="5332" v0="2357" v1="2905" v2="2906"/>
+ <triangle index="5333" v0="2381" v1="2907" v2="2913"/>
+ <triangle index="5334" v0="2682" v1="2683" v2="2907"/>
+ <triangle index="5335" v0="2379" v1="2908" v2="2909"/>
+ <triangle index="5336" v0="2908" v1="2911" v2="2912"/>
+ <triangle index="5337" v0="2379" v1="2909" v2="3181"/>
+ <triangle index="5338" v0="2378" v1="2909" v2="3198"/>
+ <triangle index="5339" v0="2910" v1="2911" v2="2912"/>
+ <triangle index="5340" v0="2910" v1="2917" v2="2919"/>
+ <triangle index="5341" v0="2685" v1="2908" v2="2912"/>
+ <triangle index="5342" v0="2910" v1="2911" v2="2913"/>
+ <triangle index="5343" v0="2685" v1="2912" v2="2916"/>
+ <triangle index="5344" v0="2916" v1="2917" v2="3035"/>
+ <triangle index="5345" v0="2919" v1="2920" v2="2923"/>
+ <triangle index="5346" v0="2682" v1="2913" v2="2921"/>
+ <triangle index="5347" v0="2914" v1="3035" v2="3196"/>
+ <triangle index="5348" v0="3221" v1="3240" v2="3241"/>
+ <triangle index="5349" v0="2915" v1="3035" v2="3037"/>
+ <triangle index="5350" v0="3038" v1="3043" v2="3315"/>
+ <triangle index="5351" v0="3145" v1="3196" v2="3197"/>
+ <triangle index="5352" v0="2916" v1="3035" v2="3196"/>
+ <triangle index="5353" v0="2912" v1="2916" v2="2917"/>
+ <triangle index="5354" v0="2915" v1="2919" v2="3148"/>
+ <triangle index="5355" v0="3038" v1="3043" v2="3148"/>
+ <triangle index="5356" v0="2677" v1="2678" v2="3041"/>
+ <triangle index="5357" v0="2915" v1="2917" v2="2919"/>
+ <triangle index="5358" v0="2918" v1="2919" v2="2920"/>
+ <triangle index="5359" v0="2918" v1="2920" v2="3039"/>
+ <triangle index="5360" v0="2921" v1="2922" v2="2924"/>
+ <triangle index="5361" v0="2913" v1="2923" v2="2924"/>
+ <triangle index="5362" v0="2902" v1="2922" v2="2924"/>
+ <triangle index="5363" v0="2902" v1="2922" v2="2926"/>
+ <triangle index="5364" v0="2369" v1="2937" v2="3048"/>
+ <triangle index="5365" v0="2910" v1="2919" v2="2923"/>
+ <triangle index="5366" v0="2920" v1="2923" v2="2924"/>
+ <triangle index="5367" v0="2913" v1="2921" v2="2924"/>
+ <triangle index="5368" v0="2902" v1="2920" v2="2924"/>
+ <triangle index="5369" v0="3042" v1="3044" v2="3045"/>
+ <triangle index="5370" v0="2942" v1="3047" v2="3048"/>
+ <triangle index="5371" v0="2902" v1="2926" v2="3045"/>
+ <triangle index="5372" v0="2925" v1="2926" v2="3047"/>
+ <triangle index="5373" v0="2369" v1="2898" v2="2927"/>
+ <triangle index="5374" v0="2925" v1="2926" v2="3045"/>
+ <triangle index="5375" v0="123" v1="124" v2="2938"/>
+ <triangle index="5376" v0="2691" v1="2928" v2="2932"/>
+ <triangle index="5377" v0="2368" v1="2370" v2="2929"/>
+ <triangle index="5378" v0="644" v1="2929" v2="2930"/>
+ <triangle index="5379" v0="644" v1="2388" v2="2930"/>
+ <triangle index="5380" v0="1813" v1="2387" v2="2930"/>
+ <triangle index="5381" v0="2692" v1="2931" v2="2932"/>
+ <triangle index="5382" v0="2691" v1="2932" v2="2934"/>
+ <triangle index="5383" v0="2692" v1="2928" v2="2932"/>
+ <triangle index="5384" v0="2691" v1="2934" v2="2938"/>
+ <triangle index="5385" v0="639" v1="2940" v2="2941"/>
+ <triangle index="5386" v0="2933" v1="2937" v2="2942"/>
+ <triangle index="5387" v0="2934" v1="2935" v2="2938"/>
+ <triangle index="5388" v0="2933" v1="2934" v2="2937"/>
+ <triangle index="5389" v0="122" v1="2936" v2="2939"/>
+ <triangle index="5390" v0="122" v1="1178" v2="2936"/>
+ <triangle index="5391" v0="639" v1="1178" v2="2936"/>
+ <triangle index="5392" v0="2935" v1="2936" v2="2939"/>
+ <triangle index="5393" v0="2931" v1="2932" v2="2937"/>
+ <triangle index="5394" v0="2933" v1="2941" v2="2942"/>
+ <triangle index="5395" v0="2691" v1="2928" v2="2938"/>
+ <triangle index="5396" v0="123" v1="2938" v2="2939"/>
+ <triangle index="5397" v0="639" v1="2684" v2="2941"/>
+ <triangle index="5398" v0="2935" v1="2938" v2="2939"/>
+ <triangle index="5399" v0="2933" v1="2935" v2="2940"/>
+ <triangle index="5400" v0="504" v1="2941" v2="2942"/>
+ <triangle index="5401" v0="2933" v1="2940" v2="2941"/>
+ <triangle index="5402" v0="504" v1="2922" v2="3047"/>
+ <triangle index="5403" v0="2922" v1="2926" v2="3047"/>
+ <triangle index="5404" v0="2943" v1="2945" v2="2947"/>
+ <triangle index="5405" v0="2954" v1="2955" v2="2961"/>
+ <triangle index="5406" v0="2697" v1="2699" v2="2944"/>
+ <triangle index="5407" v0="2409" v1="2944" v2="2945"/>
+ <triangle index="5408" v0="2409" v1="2411" v2="2945"/>
+ <triangle index="5409" v0="2412" v1="2945" v2="2947"/>
+ <triangle index="5410" v0="2412" v1="2947" v2="2948"/>
+ <triangle index="5411" v0="2946" v1="2955" v2="2956"/>
+ <triangle index="5412" v0="2412" v1="2701" v2="2948"/>
+ <triangle index="5413" v0="2946" v1="2947" v2="2955"/>
+ <triangle index="5414" v0="2417" v1="2949" v2="2951"/>
+ <triangle index="5415" v0="2946" v1="2947" v2="2948"/>
+ <triangle index="5416" v0="2949" v1="2958" v2="2963"/>
+ <triangle index="5417" v0="2953" v1="2957" v2="2958"/>
+ <triangle index="5418" v0="2949" v1="2950" v2="2957"/>
+ <triangle index="5419" v0="2702" v1="2946" v2="2950"/>
+ <triangle index="5420" v0="507" v1="2420" v2="2951"/>
+ <triangle index="5421" v0="2949" v1="2950" v2="2951"/>
+ <triangle index="5422" v0="362" v1="3282" v2="3309"/>
+ <triangle index="5423" v0="2967" v1="3199" v2="3201"/>
+ <triangle index="5424" v0="2417" v1="2949" v2="2963"/>
+ <triangle index="5425" v0="650" v1="3050" v2="3052"/>
+ <triangle index="5426" v0="2943" v1="2947" v2="2955"/>
+ <triangle index="5427" v0="3049" v1="3149" v2="3150"/>
+ <triangle index="5428" v0="2702" v1="2946" v2="2956"/>
+ <triangle index="5429" v0="2954" v1="2955" v2="2959"/>
+ <triangle index="5430" v0="2960" v1="2965" v2="2966"/>
+ <triangle index="5431" v0="2956" v1="2962" v2="2965"/>
+ <triangle index="5432" v0="2949" v1="2957" v2="2958"/>
+ <triangle index="5433" v0="2953" v1="2957" v2="3118"/>
+ <triangle index="5434" v0="3111" v1="3113" v2="3207"/>
+ <triangle index="5435" v0="2953" v1="2958" v2="2970"/>
+ <triangle index="5436" v0="2943" v1="2955" v2="2959"/>
+ <triangle index="5437" v0="2954" v1="2959" v2="3149"/>
+ <triangle index="5438" v0="3304" v1="3306" v2="3307"/>
+ <triangle index="5439" v0="2956" v1="2961" v2="2962"/>
+ <triangle index="5440" v0="2952" v1="2954" v2="2961"/>
+ <triangle index="5441" v0="2955" v1="2956" v2="2961"/>
+ <triangle index="5442" v0="2960" v1="3050" v2="3120"/>
+ <triangle index="5443" v0="2952" v1="2961" v2="2962"/>
+ <triangle index="5444" v0="2417" v1="2419" v2="2963"/>
+ <triangle index="5445" v0="649" v1="3256" v2="3257"/>
+ <triangle index="5446" v0="649" v1="3204" v2="3256"/>
+ <triangle index="5447" v0="3091" v1="3095" v2="3099"/>
+ <triangle index="5448" v0="2702" v1="2965" v2="2966"/>
+ <triangle index="5449" v0="2960" v1="2962" v2="2965"/>
+ <triangle index="5450" v0="2702" v1="2966" v2="3118"/>
+ <triangle index="5451" v0="3062" v1="3063" v2="3065"/>
+ <triangle index="5452" v0="361" v1="3279" v2="3280"/>
+ <triangle index="5453" v0="360" v1="3278" v2="3285"/>
+ <triangle index="5454" v0="3107" v1="3108" v2="3256"/>
+ <triangle index="5455" v0="3065" v1="3074" v2="3156"/>
+ <triangle index="5456" v0="2962" v1="2971" v2="3121"/>
+ <triangle index="5457" v0="3049" v1="3150" v2="3152"/>
+ <triangle index="5458" v0="2958" v1="2970" v2="3108"/>
+ <triangle index="5459" v0="2968" v1="2970" v2="3063"/>
+ <triangle index="5460" v0="2960" v1="2962" v2="3121"/>
+ <triangle index="5461" v0="2969" v1="2971" v2="3151"/>
+ <triangle index="5462" v0="2697" v1="2700" v2="3149"/>
+ <triangle index="5463" v0="3124" v1="3163" v2="3165"/>
+ <triangle index="5464" v0="1938" v1="2728" v2="2973"/>
+ <triangle index="5465" v0="2480" v1="2973" v2="2974"/>
+ <triangle index="5466" v0="1905" v1="2710" v2="2974"/>
+ <triangle index="5467" v0="2707" v1="2973" v2="2974"/>
+ <triangle index="5468" v0="2170" v1="2711" v2="2975"/>
+ <triangle index="5469" v0="2713" v1="2716" v2="2975"/>
+ <triangle index="5470" v0="2480" v1="2728" v2="2976"/>
+ <triangle index="5471" v0="2719" v1="2723" v2="2976"/>
+ <triangle index="5472" v0="2202" v1="2633" v2="2977"/>
+ <triangle index="5473" v0="2190" v1="2726" v2="2977"/>
+ <triangle index="5474" v0="2466" v1="2477" v2="2978"/>
+ <triangle index="5475" v0="2475" v1="2725" v2="2978"/>
+ <triangle index="5476" v0="2504" v1="2505" v2="2979"/>
+ <triangle index="5477" v0="2501" v1="2979" v2="2980"/>
+ <triangle index="5478" v0="2500" v1="2501" v2="2980"/>
+ <triangle index="5479" v0="1489" v1="2980" v2="2981"/>
+ <triangle index="5480" v0="1489" v1="1490" v2="3125"/>
+ <triangle index="5481" v0="1491" v1="2981" v2="2984"/>
+ <triangle index="5482" v0="2505" v1="2982" v2="2983"/>
+ <triangle index="5483" v0="2741" v1="2981" v2="2984"/>
+ <triangle index="5484" v0="2505" v1="2979" v2="2983"/>
+ <triangle index="5485" v0="2741" v1="2983" v2="2984"/>
+ <triangle index="5486" v0="1491" v1="2603" v2="2986"/>
+ <triangle index="5487" v0="2601" v1="2985" v2="2987"/>
+ <triangle index="5488" v0="2746" v1="2858" v2="2985"/>
+ <triangle index="5489" v0="2984" v1="2986" v2="2987"/>
+ <triangle index="5490" v0="2596" v1="2603" v2="2986"/>
+ <triangle index="5491" v0="2596" v1="2986" v2="2987"/>
+ <triangle index="5492" v0="2596" v1="2601" v2="2987"/>
+ <triangle index="5493" v0="2984" v1="2985" v2="2987"/>
+ <triangle index="5494" v0="2534" v1="2774" v2="2988"/>
+ <triangle index="5495" v0="2755" v1="2988" v2="3128"/>
+ <triangle index="5496" v0="2989" v1="3127" v2="3129"/>
+ <triangle index="5497" v0="2053" v1="2989" v2="2990"/>
+ <triangle index="5498" v0="2047" v1="2054" v2="2990"/>
+ <triangle index="5499" v0="2756" v1="2989" v2="2990"/>
+ <triangle index="5500" v0="2049" v1="2754" v2="2991"/>
+ <triangle index="5501" v0="2047" v1="2756" v2="2991"/>
+ <triangle index="5502" v0="2993" v1="2996" v2="3130"/>
+ <triangle index="5503" v0="2753" v1="2994" v2="3006"/>
+ <triangle index="5504" v0="2993" v1="3130" v2="3134"/>
+ <triangle index="5505" v0="2827" v1="2993" v2="3134"/>
+ <triangle index="5506" v0="2770" v1="2992" v2="2994"/>
+ <triangle index="5507" v0="2992" v1="2995" v2="2996"/>
+ <triangle index="5508" v0="2827" v1="2993" v2="2995"/>
+ <triangle index="5509" v0="2827" v1="2995" v2="3008"/>
+ <triangle index="5510" v0="2532" v1="2996" v2="3130"/>
+ <triangle index="5511" v0="2993" v1="2995" v2="2996"/>
+ <triangle index="5512" v0="2542" v1="2777" v2="2997"/>
+ <triangle index="5513" v0="2762" v1="2778" v2="2997"/>
+ <triangle index="5514" v0="2783" v1="3002" v2="3003"/>
+ <triangle index="5515" v0="2989" v1="2999" v2="3129"/>
+ <triangle index="5516" v0="2998" v1="3001" v2="3002"/>
+ <triangle index="5517" v0="2053" v1="2989" v2="2999"/>
+ <triangle index="5518" v0="2786" v1="2998" v2="3002"/>
+ <triangle index="5519" v0="3022" v1="3023" v2="3030"/>
+ <triangle index="5520" v0="2998" v1="2999" v2="3001"/>
+ <triangle index="5521" v0="3020" v1="3021" v2="3030"/>
+ <triangle index="5522" v0="2783" v1="2786" v2="3002"/>
+ <triangle index="5523" v0="3000" v1="3001" v2="3002"/>
+ <triangle index="5524" v0="2783" v1="2788" v2="3135"/>
+ <triangle index="5525" v0="3003" v1="3024" v2="3135"/>
+ <triangle index="5526" v0="2807" v1="2809" v2="3004"/>
+ <triangle index="5527" v0="2769" v1="2810" v2="3004"/>
+ <triangle index="5528" v0="2764" v1="2773" v2="3005"/>
+ <triangle index="5529" v0="2760" v1="2816" v2="3005"/>
+ <triangle index="5530" v0="2753" v1="2815" v2="3006"/>
+ <triangle index="5531" v0="2816" v1="3005" v2="3006"/>
+ <triangle index="5532" v0="2547" v1="2830" v2="3007"/>
+ <triangle index="5533" v0="2818" v1="2824" v2="3007"/>
+ <triangle index="5534" v0="2812" v1="2815" v2="3008"/>
+ <triangle index="5535" v0="2753" v1="2995" v2="3008"/>
+ <triangle index="5536" v0="2568" v1="2570" v2="3009"/>
+ <triangle index="5537" v0="2564" v1="3009" v2="3010"/>
+ <triangle index="5538" v0="2564" v1="2567" v2="3010"/>
+ <triangle index="5539" v0="2569" v1="3010" v2="3011"/>
+ <triangle index="5540" v0="2569" v1="3007" v2="3011"/>
+ <triangle index="5541" v0="2818" v1="2826" v2="3011"/>
+ <triangle index="5542" v0="2832" v1="3011" v2="3012"/>
+ <triangle index="5543" v0="2826" v1="3011" v2="3012"/>
+ <triangle index="5544" v0="2106" v1="3013" v2="3136"/>
+ <triangle index="5545" v0="2846" v1="3013" v2="3116"/>
+ <triangle index="5546" v0="3014" v1="3136" v2="3137"/>
+ <triangle index="5547" v0="2582" v1="2843" v2="3316"/>
+ <triangle index="5548" v0="3015" v1="3084" v2="3144"/>
+ <triangle index="5549" v0="1764" v1="3081" v2="3082"/>
+ <triangle index="5550" v0="2114" v1="2587" v2="3017"/>
+ <triangle index="5551" v0="3022" v1="3024" v2="3025"/>
+ <triangle index="5552" v0="2586" v1="2852" v2="3018"/>
+ <triangle index="5553" v0="2848" v1="3016" v2="3017"/>
+ <triangle index="5554" v0="2116" v1="3018" v2="3028"/>
+ <triangle index="5555" v0="2586" v1="3017" v2="3018"/>
+ <triangle index="5556" v0="2053" v1="3020" v2="3021"/>
+ <triangle index="5557" v0="3000" v1="3020" v2="3022"/>
+ <triangle index="5558" v0="3000" v1="3001" v2="3020"/>
+ <triangle index="5559" v0="3000" v1="3003" v2="3024"/>
+ <triangle index="5560" v0="1473" v1="3019" v2="3021"/>
+ <triangle index="5561" v0="2053" v1="2054" v2="3021"/>
+ <triangle index="5562" v0="2794" v1="2847" v2="3025"/>
+ <triangle index="5563" v0="2585" v1="3016" v2="3023"/>
+ <triangle index="5564" v0="2848" v1="3016" v2="3023"/>
+ <triangle index="5565" v0="2848" v1="3023" v2="3026"/>
+ <triangle index="5566" v0="2794" v1="3024" v2="3025"/>
+ <triangle index="5567" v0="3000" v1="3022" v2="3024"/>
+ <triangle index="5568" v0="2585" v1="3023" v2="3025"/>
+ <triangle index="5569" v0="3022" v1="3023" v2="3025"/>
+ <triangle index="5570" v0="2848" v1="3026" v2="3027"/>
+ <triangle index="5571" v0="3019" v1="3026" v2="3030"/>
+ <triangle index="5572" v0="2848" v1="3027" v2="3028"/>
+ <triangle index="5573" v0="2590" v1="3027" v2="3029"/>
+ <triangle index="5574" v0="2848" v1="3017" v2="3028"/>
+ <triangle index="5575" v0="2116" v1="2591" v2="3028"/>
+ <triangle index="5576" v0="2590" v1="2594" v2="3029"/>
+ <triangle index="5577" v0="1473" v1="3019" v2="3029"/>
+ <triangle index="5578" v0="3020" v1="3022" v2="3030"/>
+ <triangle index="5579" v0="3023" v1="3026" v2="3030"/>
+ <triangle index="5580" v0="147" v1="2873" v2="3032"/>
+ <triangle index="5581" v0="2343" v1="3031" v2="3033"/>
+ <triangle index="5582" v0="147" v1="2652" v2="3032"/>
+ <triangle index="5583" v0="2343" v1="3031" v2="3032"/>
+ <triangle index="5584" v0="2332" v1="2894" v2="3033"/>
+ <triangle index="5585" v0="2877" v1="3031" v2="3033"/>
+ <triangle index="5586" v0="2685" v1="3197" v2="3198"/>
+ <triangle index="5587" v0="3146" v1="3166" v2="3168"/>
+ <triangle index="5588" v0="2914" v1="3036" v2="3037"/>
+ <triangle index="5589" v0="2915" v1="2917" v2="3035"/>
+ <triangle index="5590" v0="2914" v1="3220" v2="3222"/>
+ <triangle index="5591" v0="3230" v1="3242" v2="3265"/>
+ <triangle index="5592" v0="2914" v1="3035" v2="3037"/>
+ <triangle index="5593" v0="3036" v1="3038" v2="3262"/>
+ <triangle index="5594" v0="3041" v1="3043" v2="3315"/>
+ <triangle index="5595" v0="3037" v1="3038" v2="3148"/>
+ <triangle index="5596" v0="3039" v1="3042" v2="3147"/>
+ <triangle index="5597" v0="2902" v1="2920" v2="3039"/>
+ <triangle index="5598" v0="2676" v1="3038" v2="3315"/>
+ <triangle index="5599" v0="2666" v1="2673" v2="3044"/>
+ <triangle index="5600" v0="2673" v1="2678" v2="3041"/>
+ <triangle index="5601" v0="3040" v1="3041" v2="3043"/>
+ <triangle index="5602" v0="3040" v1="3042" v2="3044"/>
+ <triangle index="5603" v0="2663" v1="2927" v2="3045"/>
+ <triangle index="5604" v0="3040" v1="3043" v2="3147"/>
+ <triangle index="5605" v0="3043" v1="3147" v2="3148"/>
+ <triangle index="5606" v0="3040" v1="3041" v2="3046"/>
+ <triangle index="5607" v0="2666" v1="2668" v2="3045"/>
+ <triangle index="5608" v0="2925" v1="2927" v2="3045"/>
+ <triangle index="5609" v0="2902" v1="3042" v2="3045"/>
+ <triangle index="5610" v0="2673" v1="3044" v2="3046"/>
+ <triangle index="5611" v0="3040" v1="3044" v2="3046"/>
+ <triangle index="5612" v0="2369" v1="2925" v2="3048"/>
+ <triangle index="5613" v0="504" v1="2942" v2="3047"/>
+ <triangle index="5614" v0="2937" v1="2942" v2="3048"/>
+ <triangle index="5615" v0="2925" v1="3047" v2="3048"/>
+ <triangle index="5616" v0="2952" v1="2971" v2="3151"/>
+ <triangle index="5617" v0="3210" v1="3212" v2="3318"/>
+ <triangle index="5618" v0="2960" v1="2966" v2="3050"/>
+ <triangle index="5619" v0="3050" v1="3052" v2="3153"/>
+ <triangle index="5620" v0="3059" v1="3061" v2="3062"/>
+ <triangle index="5621" v0="3079" v1="3080" v2="3154"/>
+ <triangle index="5622" v0="2966" v1="3050" v2="3153"/>
+ <triangle index="5623" v0="3051" v1="3052" v2="3053"/>
+ <triangle index="5624" v0="3053" v1="3055" v2="3056"/>
+ <triangle index="5625" v0="2422" v1="3053" v2="3303"/>
+ <triangle index="5626" v0="3054" v1="3055" v2="3056"/>
+ <triangle index="5627" v0="3060" v1="3066" v2="3154"/>
+ <triangle index="5628" v0="3054" v1="3055" v2="3057"/>
+ <triangle index="5629" v0="3055" v1="3057" v2="3058"/>
+ <triangle index="5630" v0="3051" v1="3056" v2="3061"/>
+ <triangle index="5631" v0="3056" v1="3061" v2="3068"/>
+ <triangle index="5632" v0="3057" v1="3064" v2="3066"/>
+ <triangle index="5633" v0="2423" v1="3057" v2="3058"/>
+ <triangle index="5634" v0="2423" v1="2706" v2="3058"/>
+ <triangle index="5635" v0="1847" v1="2705" v2="3058"/>
+ <triangle index="5636" v0="3051" v1="3061" v2="3062"/>
+ <triangle index="5637" v0="3070" v1="3078" v2="3079"/>
+ <triangle index="5638" v0="3066" v1="3067" v2="3154"/>
+ <triangle index="5639" v0="1128" v1="3069" v2="3071"/>
+ <triangle index="5640" v0="3051" v1="3052" v2="3153"/>
+ <triangle index="5641" v0="3059" v1="3061" v2="3068"/>
+ <triangle index="5642" v0="2966" v1="3062" v2="3118"/>
+ <triangle index="5643" v0="2953" v1="2970" v2="3063"/>
+ <triangle index="5644" v0="2968" v1="3063" v2="3065"/>
+ <triangle index="5645" v0="3062" v1="3063" v2="3118"/>
+ <triangle index="5646" v0="3060" v1="3064" v2="3069"/>
+ <triangle index="5647" v0="2423" v1="3064" v2="3073"/>
+ <triangle index="5648" v0="2968" v1="3065" v2="3156"/>
+ <triangle index="5649" v0="3059" v1="3062" v2="3065"/>
+ <triangle index="5650" v0="3054" v1="3066" v2="3067"/>
+ <triangle index="5651" v0="3060" v1="3064" v2="3066"/>
+ <triangle index="5652" v0="3054" v1="3056" v2="3068"/>
+ <triangle index="5653" v0="3059" v1="3068" v2="3070"/>
+ <triangle index="5654" v0="3059" v1="3065" v2="3074"/>
+ <triangle index="5655" v0="3054" v1="3067" v2="3068"/>
+ <triangle index="5656" v0="3060" v1="3069" v2="3071"/>
+ <triangle index="5657" v0="366" v1="3072" v2="3073"/>
+ <triangle index="5658" v0="2964" v1="3070" v2="3076"/>
+ <triangle index="5659" v0="3067" v1="3068" v2="3070"/>
+ <triangle index="5660" v0="3060" v1="3071" v2="3154"/>
+ <triangle index="5661" v0="627" v1="1128" v2="3071"/>
+ <triangle index="5662" v0="366" v1="2423" v2="3073"/>
+ <triangle index="5663" v0="367" v1="3069" v2="3072"/>
+ <triangle index="5664" v0="3064" v1="3069" v2="3073"/>
+ <triangle index="5665" v0="2964" v1="3070" v2="3074"/>
+ <triangle index="5666" v0="3059" v1="3070" v2="3074"/>
+ <triangle index="5667" v0="3075" v1="3076" v2="3077"/>
+ <triangle index="5668" v0="3082" v1="3083" v2="3097"/>
+ <triangle index="5669" v0="2964" v1="3076" v2="3155"/>
+ <triangle index="5670" v0="3075" v1="3078" v2="3083"/>
+ <triangle index="5671" v0="3077" v1="3098" v2="3102"/>
+ <triangle index="5672" v0="3090" v1="3103" v2="3157"/>
+ <triangle index="5673" v0="498" v1="3078" v2="3079"/>
+ <triangle index="5674" v0="3070" v1="3076" v2="3078"/>
+ <triangle index="5675" v0="498" v1="3079" v2="3080"/>
+ <triangle index="5676" v0="3067" v1="3070" v2="3079"/>
+ <triangle index="5677" v0="498" v1="3080" v2="3081"/>
+ <triangle index="5678" v0="627" v1="3071" v2="3154"/>
+ <triangle index="5679" v0="498" v1="3081" v2="3082"/>
+ <triangle index="5680" v0="1764" v1="2304" v2="3081"/>
+ <triangle index="5681" v0="498" v1="3082" v2="3083"/>
+ <triangle index="5682" v0="3084" v1="3086" v2="3093"/>
+ <triangle index="5683" v0="498" v1="3078" v2="3083"/>
+ <triangle index="5684" v0="3075" v1="3083" v2="3088"/>
+ <triangle index="5685" v0="3015" v1="3143" v2="3144"/>
+ <triangle index="5686" v0="3084" v1="3086" v2="3087"/>
+ <triangle index="5687" v0="3075" v1="3088" v2="3089"/>
+ <triangle index="5688" v0="1556" v1="3101" v2="3106"/>
+ <triangle index="5689" v0="3082" v1="3093" v2="3097"/>
+ <triangle index="5690" v0="3084" v1="3087" v2="3191"/>
+ <triangle index="5691" v0="1765" v1="2305" v2="3087"/>
+ <triangle index="5692" v0="1764" v1="3086" v2="3087"/>
+ <triangle index="5693" v0="3075" v1="3077" v2="3089"/>
+ <triangle index="5694" v0="3085" v1="3088" v2="3096"/>
+ <triangle index="5695" v0="3077" v1="3089" v2="3091"/>
+ <triangle index="5696" v0="3088" v1="3089" v2="3099"/>
+ <triangle index="5697" v0="3077" v1="3091" v2="3098"/>
+ <triangle index="5698" v0="2556" v1="3109" v2="3110"/>
+ <triangle index="5699" v0="3094" v1="3098" v2="3107"/>
+ <triangle index="5700" v0="3090" v1="3091" v2="3095"/>
+ <triangle index="5701" v0="3106" v1="3114" v2="3115"/>
+ <triangle index="5702" v0="3015" v1="3084" v2="3093"/>
+ <triangle index="5703" v0="3082" v1="3086" v2="3093"/>
+ <triangle index="5704" v0="3092" v1="3093" v2="3117"/>
+ <triangle index="5705" v0="2415" v1="3209" v2="3258"/>
+ <triangle index="5706" v0="3091" v1="3098" v2="3157"/>
+ <triangle index="5707" v0="3090" v1="3095" v2="3100"/>
+ <triangle index="5708" v0="3095" v1="3100" v2="3101"/>
+ <triangle index="5709" v0="3085" v1="3096" v2="3115"/>
+ <triangle index="5710" v0="3092" v1="3096" v2="3097"/>
+ <triangle index="5711" v0="3083" v1="3088" v2="3097"/>
+ <triangle index="5712" v0="3092" v1="3093" v2="3097"/>
+ <triangle index="5713" v0="3077" v1="3102" v2="3155"/>
+ <triangle index="5714" v0="3094" v1="3098" v2="3103"/>
+ <triangle index="5715" v0="3085" v1="3088" v2="3099"/>
+ <triangle index="5716" v0="3089" v1="3091" v2="3099"/>
+ <triangle index="5717" v0="3090" v1="3109" v2="3158"/>
+ <triangle index="5718" v0="2556" v1="3100" v2="3105"/>
+ <triangle index="5719" v0="1556" v1="2104" v2="3106"/>
+ <triangle index="5720" v0="3085" v1="3095" v2="3101"/>
+ <triangle index="5721" v0="3102" v1="3155" v2="3156"/>
+ <triangle index="5722" v0="2968" v1="2970" v2="3108"/>
+ <triangle index="5723" v0="3159" v1="3202" v2="3209"/>
+ <triangle index="5724" v0="3104" v1="3113" v2="3158"/>
+ <triangle index="5725" v0="3090" v1="3103" v2="3158"/>
+ <triangle index="5726" v0="2088" v1="3110" v2="3111"/>
+ <triangle index="5727" v0="2556" v1="2557" v2="3105"/>
+ <triangle index="5728" v0="1556" v1="3101" v2="3105"/>
+ <triangle index="5729" v0="1014" v1="3106" v2="3114"/>
+ <triangle index="5730" v0="3101" v1="3106" v2="3115"/>
+ <triangle index="5731" v0="3098" v1="3102" v2="3107"/>
+ <triangle index="5732" v0="3102" v1="3107" v2="3108"/>
+ <triangle index="5733" v0="3102" v1="3108" v2="3156"/>
+ <triangle index="5734" v0="2958" v1="2963" v2="3257"/>
+ <triangle index="5735" v0="3090" v1="3100" v2="3109"/>
+ <triangle index="5736" v0="3104" v1="3109" v2="3110"/>
+ <triangle index="5737" v0="3104" v1="3110" v2="3111"/>
+ <triangle index="5738" v0="2088" v1="3110" v2="3112"/>
+ <triangle index="5739" v0="3104" v1="3111" v2="3113"/>
+ <triangle index="5740" v0="2553" v1="3311" v2="3312"/>
+ <triangle index="5741" v0="2088" v1="2549" v2="3112"/>
+ <triangle index="5742" v0="2554" v1="2556" v2="3112"/>
+ <triangle index="5743" v0="3094" v1="3103" v2="3203"/>
+ <triangle index="5744" v0="2415" v1="2704" v2="3161"/>
+ <triangle index="5745" v0="1014" v1="2109" v2="3116"/>
+ <triangle index="5746" v0="3015" v1="3114" v2="3117"/>
+ <triangle index="5747" v0="3085" v1="3101" v2="3115"/>
+ <triangle index="5748" v0="3114" v1="3115" v2="3117"/>
+ <triangle index="5749" v0="2109" v1="3013" v2="3116"/>
+ <triangle index="5750" v0="3114" v1="3116" v2="3143"/>
+ <triangle index="5751" v0="3015" v1="3093" v2="3117"/>
+ <triangle index="5752" v0="3092" v1="3115" v2="3117"/>
+ <triangle index="5753" v0="2702" v1="2957" v2="3118"/>
+ <triangle index="5754" v0="2953" v1="3063" v2="3118"/>
+ <triangle index="5755" v0="3303" v1="3304" v2="3306"/>
+ <triangle index="5756" v0="2967" v1="3162" v2="3199"/>
+ <triangle index="5757" v0="650" v1="3050" v2="3120"/>
+ <triangle index="5758" v0="3119" v1="3121" v2="3162"/>
+ <triangle index="5759" v0="2969" v1="2971" v2="3121"/>
+ <triangle index="5760" v0="2960" v1="3120" v2="3121"/>
+ <triangle index="5761" v0="2404" v1="2698" v2="3122"/>
+ <triangle index="5762" v0="647" v1="3122" v2="3123"/>
+ <triangle index="5763" v0="647" v1="2699" v2="3123"/>
+ <triangle index="5764" v0="2700" v1="3123" v2="3166"/>
+ <triangle index="5765" v0="2972" v1="3163" v2="3164"/>
+ <triangle index="5766" v0="3124" v1="3169" v2="3173"/>
+ <triangle index="5767" v0="1491" v1="2528" v2="3125"/>
+ <triangle index="5768" v0="1489" v1="2981" v2="3125"/>
+ <triangle index="5769" v0="2756" v1="2991" v2="3126"/>
+ <triangle index="5770" v0="2537" v1="3126" v2="3127"/>
+ <triangle index="5771" v0="2039" v1="2537" v2="3128"/>
+ <triangle index="5772" v0="2755" v1="3127" v2="3129"/>
+ <triangle index="5773" v0="2039" v1="2533" v2="3128"/>
+ <triangle index="5774" v0="2755" v1="3127" v2="3128"/>
+ <triangle index="5775" v0="2755" v1="2774" v2="3129"/>
+ <triangle index="5776" v0="2771" v1="2999" v2="3129"/>
+ <triangle index="5777" v0="2532" v1="3130" v2="3131"/>
+ <triangle index="5778" v0="385" v1="3130" v2="3134"/>
+ <triangle index="5779" v0="2532" v1="2533" v2="3131"/>
+ <triangle index="5780" v0="2043" v1="3131" v2="3133"/>
+ <triangle index="5781" v0="385" v1="3130" v2="3132"/>
+ <triangle index="5782" v0="3130" v1="3131" v2="3132"/>
+ <triangle index="5783" v0="2043" v1="2529" v2="3133"/>
+ <triangle index="5784" v0="386" v1="3132" v2="3133"/>
+ <triangle index="5785" v0="384" v1="385" v2="3134"/>
+ <triangle index="5786" v0="384" v1="2827" v2="3134"/>
+ <triangle index="5787" v0="2794" v1="3024" v2="3135"/>
+ <triangle index="5788" v0="2783" v1="3003" v2="3135"/>
+ <triangle index="5789" v0="2111" v1="3136" v2="3137"/>
+ <triangle index="5790" v0="3013" v1="3014" v2="3136"/>
+ <triangle index="5791" v0="2111" v1="2581" v2="3137"/>
+ <triangle index="5792" v0="2582" v1="3137" v2="3140"/>
+ <triangle index="5793" v0="3138" v1="3248" v2="3250"/>
+ <triangle index="5794" v0="3246" v1="3247" v2="3249"/>
+ <triangle index="5795" v0="3014" v1="3139" v2="3140"/>
+ <triangle index="5796" v0="3139" v1="3140" v2="3246"/>
+ <triangle index="5797" v0="3014" v1="3137" v2="3140"/>
+ <triangle index="5798" v0="3138" v1="3140" v2="3246"/>
+ <triangle index="5799" v0="2579" v1="3142" v2="3144"/>
+ <triangle index="5800" v0="3141" v1="3143" v2="3144"/>
+ <triangle index="5801" v0="3142" v1="3193" v2="3247"/>
+ <triangle index="5802" v0="1765" v1="3087" v2="3191"/>
+ <triangle index="5803" v0="3015" v1="3114" v2="3143"/>
+ <triangle index="5804" v0="2846" v1="3116" v2="3143"/>
+ <triangle index="5805" v0="2579" v1="3141" v2="3144"/>
+ <triangle index="5806" v0="3084" v1="3142" v2="3144"/>
+ <triangle index="5807" v0="2916" v1="3196" v2="3197"/>
+ <triangle index="5808" v0="3034" v1="3210" v2="3212"/>
+ <triangle index="5809" v0="3211" v1="3212" v2="3318"/>
+ <triangle index="5810" v0="3164" v1="3166" v2="3168"/>
+ <triangle index="5811" v0="3040" v1="3042" v2="3147"/>
+ <triangle index="5812" v0="2918" v1="3147" v2="3148"/>
+ <triangle index="5813" v0="2918" v1="2919" v2="3148"/>
+ <triangle index="5814" v0="2915" v1="3037" v2="3148"/>
+ <triangle index="5815" v0="2697" v1="2959" v2="3149"/>
+ <triangle index="5816" v0="3049" v1="3149" v2="3320"/>
+ <triangle index="5817" v0="2952" v1="2954" v2="3150"/>
+ <triangle index="5818" v0="2952" v1="3151" v2="3152"/>
+ <triangle index="5819" v0="2969" v1="3151" v2="3199"/>
+ <triangle index="5820" v0="3214" v1="3220" v2="3224"/>
+ <triangle index="5821" v0="2952" v1="3150" v2="3152"/>
+ <triangle index="5822" v0="3151" v1="3152" v2="3219"/>
+ <triangle index="5823" v0="2966" v1="3062" v2="3153"/>
+ <triangle index="5824" v0="3051" v1="3062" v2="3153"/>
+ <triangle index="5825" v0="3067" v1="3079" v2="3154"/>
+ <triangle index="5826" v0="627" v1="3080" v2="3154"/>
+ <triangle index="5827" v0="3076" v1="3077" v2="3155"/>
+ <triangle index="5828" v0="2964" v1="3155" v2="3156"/>
+ <triangle index="5829" v0="2964" v1="3074" v2="3156"/>
+ <triangle index="5830" v0="2968" v1="3108" v2="3156"/>
+ <triangle index="5831" v0="3090" v1="3091" v2="3157"/>
+ <triangle index="5832" v0="3098" v1="3103" v2="3157"/>
+ <triangle index="5833" v0="3103" v1="3158" v2="3202"/>
+ <triangle index="5834" v0="3104" v1="3109" v2="3158"/>
+ <triangle index="5835" v0="3159" v1="3203" v2="3204"/>
+ <triangle index="5836" v0="2415" v1="3161" v2="3209"/>
+ <triangle index="5837" v0="3113" v1="3202" v2="3209"/>
+ <triangle index="5838" v0="3160" v1="3161" v2="3208"/>
+ <triangle index="5839" v0="106" v1="2704" v2="3161"/>
+ <triangle index="5840" v0="3160" v1="3207" v2="3209"/>
+ <triangle index="5841" v0="2969" v1="3121" v2="3162"/>
+ <triangle index="5842" v0="3119" v1="3162" v2="3307"/>
+ <triangle index="5843" v0="2972" v1="3164" v2="3166"/>
+ <triangle index="5844" v0="3124" v1="3165" v2="3175"/>
+ <triangle index="5845" v0="3167" v1="3168" v2="3210"/>
+ <triangle index="5846" v0="3124" v1="3163" v2="3164"/>
+ <triangle index="5847" v0="2405" v1="2695" v2="3165"/>
+ <triangle index="5848" v0="2404" v1="3163" v2="3165"/>
+ <triangle index="5849" v0="2972" v1="3123" v2="3166"/>
+ <triangle index="5850" v0="2700" v1="3166" v2="3319"/>
+ <triangle index="5851" v0="3198" v1="3225" v2="3231"/>
+ <triangle index="5852" v0="3124" v1="3164" v2="3169"/>
+ <triangle index="5853" v0="3146" v1="3168" v2="3210"/>
+ <triangle index="5854" v0="3167" v1="3168" v2="3169"/>
+ <triangle index="5855" v0="3167" v1="3169" v2="3172"/>
+ <triangle index="5856" v0="3171" v1="3175" v2="3176"/>
+ <triangle index="5857" v0="3167" v1="3210" v2="3259"/>
+ <triangle index="5858" v0="3174" v1="3177" v2="3179"/>
+ <triangle index="5859" v0="3169" v1="3173" v2="3174"/>
+ <triangle index="5860" v0="3171" v1="3173" v2="3174"/>
+ <triangle index="5861" v0="3167" v1="3172" v2="3259"/>
+ <triangle index="5862" v0="3170" v1="3172" v2="3174"/>
+ <triangle index="5863" v0="3169" v1="3172" v2="3174"/>
+ <triangle index="5864" v0="3171" v1="3173" v2="3175"/>
+ <triangle index="5865" v0="3170" v1="3174" v2="3177"/>
+ <triangle index="5866" v0="2378" v1="3177" v2="3180"/>
+ <triangle index="5867" v0="3182" v1="3187" v2="3188"/>
+ <triangle index="5868" v0="2405" v1="3165" v2="3175"/>
+ <triangle index="5869" v0="115" v1="116" v2="3176"/>
+ <triangle index="5870" v0="115" v1="3176" v2="3184"/>
+ <triangle index="5871" v0="3170" v1="3177" v2="3254"/>
+ <triangle index="5872" v0="3177" v1="3179" v2="3180"/>
+ <triangle index="5873" v0="2378" v1="3180" v2="3181"/>
+ <triangle index="5874" v0="3178" v1="3181" v2="3185"/>
+ <triangle index="5875" v0="3178" v1="3182" v2="3186"/>
+ <triangle index="5876" v0="3174" v1="3179" v2="3189"/>
+ <triangle index="5877" v0="2378" v1="2909" v2="3181"/>
+ <triangle index="5878" v0="3178" v1="3179" v2="3180"/>
+ <triangle index="5879" v0="2379" v1="2380" v2="3183"/>
+ <triangle index="5880" v0="3181" v1="3183" v2="3185"/>
+ <triangle index="5881" v0="116" v1="3187" v2="3188"/>
+ <triangle index="5882" v0="116" v1="3176" v2="3188"/>
+ <triangle index="5883" v0="1803" v1="3183" v2="3185"/>
+ <triangle index="5884" v0="2379" v1="3181" v2="3183"/>
+ <triangle index="5885" v0="114" v1="115" v2="3184"/>
+ <triangle index="5886" v0="2405" v1="3175" v2="3184"/>
+ <triangle index="5887" v0="118" v1="1803" v2="3185"/>
+ <triangle index="5888" v0="117" v1="118" v2="3186"/>
+ <triangle index="5889" v0="3178" v1="3185" v2="3186"/>
+ <triangle index="5890" v0="118" v1="3185" v2="3186"/>
+ <triangle index="5891" v0="3171" v1="3176" v2="3188"/>
+ <triangle index="5892" v0="117" v1="3182" v2="3187"/>
+ <triangle index="5893" v0="3171" v1="3188" v2="3189"/>
+ <triangle index="5894" v0="3171" v1="3174" v2="3189"/>
+ <triangle index="5895" v0="3179" v1="3182" v2="3189"/>
+ <triangle index="5896" v0="2579" v1="3139" v2="3246"/>
+ <triangle index="5897" v0="370" v1="3192" v2="3194"/>
+ <triangle index="5898" v0="3084" v1="3142" v2="3191"/>
+ <triangle index="5899" v0="3191" v1="3192" v2="3193"/>
+ <triangle index="5900" v0="3192" v1="3193" v2="3194"/>
+ <triangle index="5901" v0="370" v1="3192" v2="3195"/>
+ <triangle index="5902" v0="2579" v1="3142" v2="3247"/>
+ <triangle index="5903" v0="3190" v1="3193" v2="3194"/>
+ <triangle index="5904" v0="3190" v1="3194" v2="3249"/>
+ <triangle index="5905" v0="370" v1="371" v2="3194"/>
+ <triangle index="5906" v0="369" v1="370" v2="3195"/>
+ <triangle index="5907" v0="1765" v1="3192" v2="3195"/>
+ <triangle index="5908" v0="2685" v1="2916" v2="3197"/>
+ <triangle index="5909" v0="3145" v1="3196" v2="3220"/>
+ <triangle index="5910" v0="2685" v1="3198" v2="3253"/>
+ <triangle index="5911" v0="3145" v1="3224" v2="3231"/>
+ <triangle index="5912" v0="2378" v1="3198" v2="3254"/>
+ <triangle index="5913" v0="3034" v1="3224" v2="3225"/>
+ <triangle index="5914" v0="3245" v1="3280" v2="3281"/>
+ <triangle index="5915" v0="358" v1="3266" v2="3270"/>
+ <triangle index="5916" v0="3223" v1="3233" v2="3236"/>
+ <triangle index="5917" v0="3226" v1="3227" v2="3228"/>
+ <triangle index="5918" v0="2967" v1="3201" v2="3283"/>
+ <triangle index="5919" v0="3200" v1="3243" v2="3244"/>
+ <triangle index="5920" v0="3113" v1="3158" v2="3202"/>
+ <triangle index="5921" v0="3103" v1="3202" v2="3203"/>
+ <triangle index="5922" v0="3094" v1="3203" v2="3204"/>
+ <triangle index="5923" v0="3159" v1="3202" v2="3203"/>
+ <triangle index="5924" v0="3094" v1="3204" v2="3256"/>
+ <triangle index="5925" v0="649" v1="2416" v2="3205"/>
+ <triangle index="5926" v0="2415" v1="2703" v2="3205"/>
+ <triangle index="5927" v0="649" v1="3204" v2="3205"/>
+ <triangle index="5928" v0="104" v1="105" v2="3313"/>
+ <triangle index="5929" v0="2553" v1="3206" v2="3207"/>
+ <triangle index="5930" v0="2553" v1="3111" v2="3207"/>
+ <triangle index="5931" v0="3113" v1="3207" v2="3209"/>
+ <triangle index="5932" v0="105" v1="106" v2="3208"/>
+ <triangle index="5933" v0="105" v1="3206" v2="3208"/>
+ <triangle index="5934" v0="3159" v1="3209" v2="3258"/>
+ <triangle index="5935" v0="3160" v1="3161" v2="3209"/>
+ <triangle index="5936" v0="3146" v1="3166" v2="3319"/>
+ <triangle index="5937" v0="3034" v1="3210" v2="3259"/>
+ <triangle index="5938" v0="3049" v1="3152" v2="3219"/>
+ <triangle index="5939" v0="3215" v1="3217" v2="3218"/>
+ <triangle index="5940" v0="3146" v1="3210" v2="3318"/>
+ <triangle index="5941" v0="3212" v1="3214" v2="3215"/>
+ <triangle index="5942" v0="3213" v1="3214" v2="3215"/>
+ <triangle index="5943" v0="3221" v1="3222" v2="3223"/>
+ <triangle index="5944" v0="3211" v1="3212" v2="3215"/>
+ <triangle index="5945" v0="3213" v1="3214" v2="3220"/>
+ <triangle index="5946" v0="3049" v1="3216" v2="3217"/>
+ <triangle index="5947" v0="3211" v1="3215" v2="3217"/>
+ <triangle index="5948" v0="3201" v1="3228" v2="3260"/>
+ <triangle index="5949" v0="3215" v1="3218" v2="3229"/>
+ <triangle index="5950" v0="3049" v1="3211" v2="3217"/>
+ <triangle index="5951" v0="3216" v1="3217" v2="3218"/>
+ <triangle index="5952" v0="3216" v1="3218" v2="3232"/>
+ <triangle index="5953" v0="3239" v1="3270" v2="3271"/>
+ <triangle index="5954" v0="3151" v1="3219" v2="3227"/>
+ <triangle index="5955" v0="3049" v1="3216" v2="3219"/>
+ <triangle index="5956" v0="3213" v1="3220" v2="3222"/>
+ <triangle index="5957" v0="2914" v1="3196" v2="3220"/>
+ <triangle index="5958" v0="3222" v1="3223" v2="3229"/>
+ <triangle index="5959" v0="3221" v1="3233" v2="3240"/>
+ <triangle index="5960" v0="3213" v1="3222" v2="3229"/>
+ <triangle index="5961" v0="2914" v1="3221" v2="3222"/>
+ <triangle index="5962" v0="3234" v1="3236" v2="3237"/>
+ <triangle index="5963" v0="3230" v1="3233" v2="3238"/>
+ <triangle index="5964" v0="3145" v1="3197" v2="3231"/>
+ <triangle index="5965" v0="3034" v1="3214" v2="3224"/>
+ <triangle index="5966" v0="3198" v1="3225" v2="3254"/>
+ <triangle index="5967" v0="3170" v1="3172" v2="3259"/>
+ <triangle index="5968" v0="3216" v1="3219" v2="3227"/>
+ <triangle index="5969" v0="3200" v1="3201" v2="3260"/>
+ <triangle index="5970" v0="3151" v1="3199" v2="3228"/>
+ <triangle index="5971" v0="3226" v1="3227" v2="3232"/>
+ <triangle index="5972" v0="3151" v1="3227" v2="3228"/>
+ <triangle index="5973" v0="3199" v1="3201" v2="3228"/>
+ <triangle index="5974" v0="3213" v1="3215" v2="3229"/>
+ <triangle index="5975" v0="3218" v1="3229" v2="3237"/>
+ <triangle index="5976" v0="3266" v1="3272" v2="3276"/>
+ <triangle index="5977" v0="3221" v1="3223" v2="3233"/>
+ <triangle index="5978" v0="3197" v1="3198" v2="3231"/>
+ <triangle index="5979" v0="3224" v1="3225" v2="3231"/>
+ <triangle index="5980" v0="3216" v1="3227" v2="3232"/>
+ <triangle index="5981" v0="3226" v1="3232" v2="3237"/>
+ <triangle index="5982" v0="3223" v1="3236" v2="3237"/>
+ <triangle index="5983" v0="3230" v1="3233" v2="3242"/>
+ <triangle index="5984" v0="3244" v1="3245" v2="3285"/>
+ <triangle index="5985" v0="3233" v1="3236" v2="3238"/>
+ <triangle index="5986" v0="3261" v1="3265" v2="3266"/>
+ <triangle index="5987" v0="3036" v1="3262" v2="3263"/>
+ <triangle index="5988" v0="3223" v1="3229" v2="3237"/>
+ <triangle index="5989" v0="3234" v1="3236" v2="3238"/>
+ <triangle index="5990" v0="3218" v1="3232" v2="3237"/>
+ <triangle index="5991" v0="3226" v1="3243" v2="3260"/>
+ <triangle index="5992" v0="3234" v1="3238" v2="3239"/>
+ <triangle index="5993" v0="358" v1="359" v2="3270"/>
+ <triangle index="5994" v0="3234" v1="3243" v2="3244"/>
+ <triangle index="5995" v0="359" v1="360" v2="3278"/>
+ <triangle index="5996" v0="3233" v1="3240" v2="3242"/>
+ <triangle index="5997" v0="3240" v1="3241" v2="3263"/>
+ <triangle index="5998" v0="3235" v1="3240" v2="3263"/>
+ <triangle index="5999" v0="2914" v1="3036" v2="3241"/>
+ <triangle index="6000" v0="3235" v1="3264" v2="3265"/>
+ <triangle index="6001" v0="3235" v1="3240" v2="3242"/>
+ <triangle index="6002" v0="3234" v1="3237" v2="3243"/>
+ <triangle index="6003" v0="3226" v1="3237" v2="3243"/>
+ <triangle index="6004" v0="3200" v1="3244" v2="3245"/>
+ <triangle index="6005" v0="3234" v1="3239" v2="3244"/>
+ <triangle index="6006" v0="3255" v1="3280" v2="3281"/>
+ <triangle index="6007" v0="360" v1="361" v2="3279"/>
+ <triangle index="6008" v0="3138" v1="3246" v2="3248"/>
+ <triangle index="6009" v0="3246" v1="3248" v2="3249"/>
+ <triangle index="6010" v0="3190" v1="3193" v2="3247"/>
+ <triangle index="6011" v0="2579" v1="3246" v2="3247"/>
+ <triangle index="6012" v0="3138" v1="3250" v2="3316"/>
+ <triangle index="6013" v0="372" v1="3248" v2="3251"/>
+ <triangle index="6014" v0="371" v1="372" v2="3249"/>
+ <triangle index="6015" v0="371" v1="3194" v2="3249"/>
+ <triangle index="6016" v0="2839" v1="2840" v2="3252"/>
+ <triangle index="6017" v0="373" v1="3250" v2="3251"/>
+ <triangle index="6018" v0="374" v1="2840" v2="3252"/>
+ <triangle index="6019" v0="3248" v1="3250" v2="3251"/>
+ <triangle index="6020" v0="373" v1="3250" v2="3252"/>
+ <triangle index="6021" v0="2685" v1="2908" v2="3253"/>
+ <triangle index="6022" v0="2909" v1="3198" v2="3253"/>
+ <triangle index="6023" v0="2378" v1="3177" v2="3254"/>
+ <triangle index="6024" v0="3170" v1="3225" v2="3254"/>
+ <triangle index="6025" v0="3119" v1="3306" v2="3307"/>
+ <triangle index="6026" v0="361" v1="3280" v2="3282"/>
+ <triangle index="6027" v0="3094" v1="3107" v2="3256"/>
+ <triangle index="6028" v0="3108" v1="3256" v2="3257"/>
+ <triangle index="6029" v0="2958" v1="3108" v2="3257"/>
+ <triangle index="6030" v0="2419" v1="2963" v2="3257"/>
+ <triangle index="6031" v0="3159" v1="3204" v2="3258"/>
+ <triangle index="6032" v0="3204" v1="3205" v2="3258"/>
+ <triangle index="6033" v0="3034" v1="3225" v2="3259"/>
+ <triangle index="6034" v0="3170" v1="3225" v2="3259"/>
+ <triangle index="6035" v0="3200" v1="3243" v2="3260"/>
+ <triangle index="6036" v0="3226" v1="3228" v2="3260"/>
+ <triangle index="6037" v0="3261" v1="3268" v2="3269"/>
+ <triangle index="6038" v0="3267" v1="3269" v2="3274"/>
+ <triangle index="6039" v0="3262" v1="3263" v2="3264"/>
+ <triangle index="6040" v0="2903" v1="3267" v2="3284"/>
+ <triangle index="6041" v0="3036" v1="3241" v2="3263"/>
+ <triangle index="6042" v0="3235" v1="3263" v2="3264"/>
+ <triangle index="6043" v0="3235" v1="3242" v2="3265"/>
+ <triangle index="6044" v0="3261" v1="3264" v2="3268"/>
+ <triangle index="6045" v0="3230" v1="3265" v2="3266"/>
+ <triangle index="6046" v0="3261" v1="3264" v2="3265"/>
+ <triangle index="6047" v0="3230" v1="3238" v2="3271"/>
+ <triangle index="6048" v0="358" v1="3266" v2="3272"/>
+ <triangle index="6049" v0="3262" v1="3264" v2="3268"/>
+ <triangle index="6050" v0="3267" v1="3268" v2="3269"/>
+ <triangle index="6051" v0="3261" v1="3269" v2="3276"/>
+ <triangle index="6052" v0="3267" v1="3268" v2="3273"/>
+ <triangle index="6053" v0="356" v1="357" v2="3269"/>
+ <triangle index="6054" v0="356" v1="3269" v2="3274"/>
+ <triangle index="6055" v0="3230" v1="3266" v2="3271"/>
+ <triangle index="6056" v0="359" v1="3239" v2="3270"/>
+ <triangle index="6057" v0="3238" v1="3239" v2="3271"/>
+ <triangle index="6058" v0="3266" v1="3270" v2="3271"/>
+ <triangle index="6059" v0="357" v1="358" v2="3272"/>
+ <triangle index="6060" v0="357" v1="3269" v2="3276"/>
+ <triangle index="6061" v0="3262" v1="3268" v2="3273"/>
+ <triangle index="6062" v0="3267" v1="3273" v2="3284"/>
+ <triangle index="6063" v0="355" v1="356" v2="3275"/>
+ <triangle index="6064" v0="2903" v1="3267" v2="3274"/>
+ <triangle index="6065" v0="355" v1="3275" v2="3277"/>
+ <triangle index="6066" v0="2903" v1="3274" v2="3275"/>
+ <triangle index="6067" v0="3261" v1="3266" v2="3276"/>
+ <triangle index="6068" v0="357" v1="3272" v2="3276"/>
+ <triangle index="6069" v0="355" v1="2669" v2="3277"/>
+ <triangle index="6070" v0="2903" v1="2905" v2="3277"/>
+ <triangle index="6071" v0="359" v1="3239" v2="3278"/>
+ <triangle index="6072" v0="3239" v1="3244" v2="3285"/>
+ <triangle index="6073" v0="360" v1="3245" v2="3279"/>
+ <triangle index="6074" v0="3245" v1="3279" v2="3280"/>
+ <triangle index="6075" v0="3200" v1="3245" v2="3281"/>
+ <triangle index="6076" v0="3255" v1="3280" v2="3282"/>
+ <triangle index="6077" v0="3200" v1="3201" v2="3281"/>
+ <triangle index="6078" v0="3201" v1="3281" v2="3283"/>
+ <triangle index="6079" v0="3255" v1="3305" v2="3309"/>
+ <triangle index="6080" v0="361" v1="362" v2="3282"/>
+ <triangle index="6081" v0="2967" v1="3162" v2="3307"/>
+ <triangle index="6082" v0="3255" v1="3281" v2="3283"/>
+ <triangle index="6083" v0="2903" v1="2904" v2="3284"/>
+ <triangle index="6084" v0="2677" v1="3284" v2="3315"/>
+ <triangle index="6085" v0="360" v1="3245" v2="3285"/>
+ <triangle index="6086" v0="3239" v1="3278" v2="3285"/>
+ <triangle index="6087" v0="239" v1="459" v2="3286"/>
+ <triangle index="6088" v0="256" v1="472" v2="3286"/>
+ <triangle index="6089" v0="59" v1="510" v2="3287"/>
+ <triangle index="6090" v0="19" v1="20" v2="3287"/>
+ <triangle index="6091" v0="215" v1="3288" v2="3290"/>
+ <triangle index="6092" v0="544" v1="565" v2="3288"/>
+ <triangle index="6093" v0="215" v1="3288" v2="3289"/>
+ <triangle index="6094" v0="475" v1="3288" v2="3289"/>
+ <triangle index="6095" v0="214" v1="215" v2="3290"/>
+ <triangle index="6096" v0="214" v1="564" v2="3290"/>
+ <triangle index="6097" v0="188" v1="752" v2="3291"/>
+ <triangle index="6098" v0="739" v1="741" v2="3291"/>
+ <triangle index="6099" v0="578" v1="823" v2="3292"/>
+ <triangle index="6100" v0="824" v1="878" v2="3292"/>
+ <triangle index="6101" v0="622" v1="1655" v2="3294"/>
+ <triangle index="6102" v0="1118" v1="3293" v2="3295"/>
+ <triangle index="6103" v0="496" v1="1741" v2="3294"/>
+ <triangle index="6104" v0="622" v1="3293" v2="3294"/>
+ <triangle index="6105" v0="3293" v1="3294" v2="3295"/>
+ <triangle index="6106" v0="1741" v1="3294" v2="3295"/>
+ <triangle index="6107" v0="1118" v1="1625" v2="3296"/>
+ <triangle index="6108" v0="1067" v1="3296" v2="3297"/>
+ <triangle index="6109" v0="1067" v1="1068" v2="3297"/>
+ <triangle index="6110" v0="622" v1="3293" v2="3297"/>
+ <triangle index="6111" v0="666" v1="1240" v2="3298"/>
+ <triangle index="6112" v0="515" v1="2427" v2="3298"/>
+ <triangle index="6113" v0="702" v1="705" v2="3299"/>
+ <triangle index="6114" v0="690" v1="1275" v2="3299"/>
+ <triangle index="6115" v0="586" v1="926" v2="3301"/>
+ <triangle index="6116" v0="485" v1="2027" v2="3300"/>
+ <triangle index="6117" v0="1469" v1="1470" v2="3301"/>
+ <triangle index="6118" v0="586" v1="3300" v2="3301"/>
+ <triangle index="6119" v0="1075" v1="1076" v2="3302"/>
+ <triangle index="6120" v0="625" v1="1697" v2="3302"/>
+ <triangle index="6121" v0="1231" v1="3303" v2="3304"/>
+ <triangle index="6122" v0="650" v1="3053" v2="3303"/>
+ <triangle index="6123" v0="1231" v1="1846" v2="3308"/>
+ <triangle index="6124" v0="3255" v1="3283" v2="3305"/>
+ <triangle index="6125" v0="2967" v1="3283" v2="3305"/>
+ <triangle index="6126" v0="1231" v1="3304" v2="3308"/>
+ <triangle index="6127" v0="3119" v1="3120" v2="3306"/>
+ <triangle index="6128" v0="650" v1="3303" v2="3306"/>
+ <triangle index="6129" v0="3304" v1="3305" v2="3307"/>
+ <triangle index="6130" v0="2967" v1="3305" v2="3307"/>
+ <triangle index="6131" v0="363" v1="1846" v2="3308"/>
+ <triangle index="6132" v0="362" v1="3309" v2="3310"/>
+ <triangle index="6133" v0="3255" v1="3282" v2="3309"/>
+ <triangle index="6134" v0="363" v1="3308" v2="3310"/>
+ <triangle index="6135" v0="2088" v1="2552" v2="3312"/>
+ <triangle index="6136" v0="3308" v1="3309" v2="3310"/>
+ <triangle index="6137" v0="2553" v1="3206" v2="3313"/>
+ <triangle index="6138" v0="2553" v1="3111" v2="3312"/>
+ <triangle index="6139" v0="2552" v1="3311" v2="3312"/>
+ <triangle index="6140" v0="104" v1="3311" v2="3313"/>
+ <triangle index="6141" v0="2553" v1="3311" v2="3313"/>
+ <triangle index="6142" v0="489" v1="2853" v2="3314"/>
+ <triangle index="6143" v0="2599" v1="2600" v2="3314"/>
+ <triangle index="6144" v0="2676" v1="3284" v2="3315"/>
+ <triangle index="6145" v0="2677" v1="3041" v2="3315"/>
+ <triangle index="6146" v0="2839" v1="3250" v2="3316"/>
+ <triangle index="6147" v0="3138" v1="3140" v2="3316"/>
+ <triangle index="6148" v0="2700" v1="3149" v2="3320"/>
+ <triangle index="6149" v0="3211" v1="3317" v2="3320"/>
+ <triangle index="6150" v0="3146" v1="3318" v2="3319"/>
+ <triangle index="6151" v0="3211" v1="3317" v2="3318"/>
+ <triangle index="6152" v0="2700" v1="3317" v2="3319"/>
+ <triangle index="6153" v0="3317" v1="3318" v2="3319"/>
+ <triangle index="6154" v0="3049" v1="3211" v2="3320"/>
+ <triangle index="6155" v0="2700" v1="3317" v2="3320"/>
+ </cells>
+ </mesh>
+</dolfin>
diff --git a/test/data/snake.xml.gz b/test/data/snake.xml.gz
deleted file mode 100644
index ea05b94..0000000
Binary files a/test/data/snake.xml.gz and /dev/null differ
diff --git a/test/documentation/README b/test/documentation/README
deleted file mode 100644
index acf0de9..0000000
--- a/test/documentation/README
+++ /dev/null
@@ -1 +0,0 @@
-Tests for documentation.
diff --git a/test/documentation/test.py b/test/documentation/test.py
deleted file mode 100644
index d4501c1..0000000
--- a/test/documentation/test.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (C) 2011-2014 Marie E. Rognes
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import print_function
-import sys
-from instant import get_status_output
-
-def main():
- tests = ["verify_demo_code_snippets.py"]
-
- failed = []
- for test in tests:
- command = "%s %s" % (sys.executable, test)
- fail, output = get_status_output(command)
-
- if fail:
- failed.append(fail)
- print("*** %s failed" % test)
- print(output)
- else:
- print("OK")
-
- return len(failed)
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/test/documentation/verify_demo_code_snippets.py b/test/documentation/verify_demo_code_snippets.py
deleted file mode 100755
index 68f9913..0000000
--- a/test/documentation/verify_demo_code_snippets.py
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright (C) 2010-2014 Kristian B. Oelgaard
-#
-# This file is part of DOLFIN.
-#
-# DOLFIN is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# DOLFIN is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
-#
-# Modified by Marie E. Rognes (meg at simula.no)
-# Modified by Martin Sandve Alnaes, 2014
-
-"""This utility script will find all *.rst files in the source/demo
-directory and checks that any code snippets highlighted by the .. code-block::
-directive is legal in the sense that it is present in at least one of the
-source files (.ufl, .py, .cpp) that is associated with the demo."""
-
-from __future__ import print_function
-import sys
-import os
-from os import chdir, path, getcwd, curdir, pardir, listdir
-from sys import stderr, path as sys_path
-
-def verify_blocks(rst_file, source_files, source_dict):
- """Check that any code blocks in the rst file is present in at
- least one of the source files. Returns (False, block) if any block
- is not present, True otherwise."""
-
- for block_type, source_type in list(source_dict.items()):
- # Extract code blocks from rst file.
- blocks = get_blocks(rst_file, block_type)
- for line, block in blocks:
- sources = [sf for sf in source_files
- if path.splitext(sf)[-1] == source_type]
-
- # Check if block is in the list of files of correct type.
- in_source = block_in_source(line, block, sources)
- if not in_source:
- return (False, block)
-
- return (True, None)
-
-def get_blocks(rst_file, block_type):
- "Extract any code blocks of given type from the rst file."
-
- blocks = []
-
- # Open file and read lines.
- f = open(rst_file, "r")
- lines = f.read().split("\n")
-
- code = False
- block = []
- for e, l in enumerate(lines):
- # Don't tolerate non-space whitespace
- if l.lstrip() != l.lstrip(' '):
- raise RuntimeError("There are tabs or other suspicious whitespace "
- " in '%s'!" % rst_file)
- # Get start of code block.
- if "code-block::" in l and block_type in l:
- assert not code
- code = True
- block = []
- continue
- # The first line which is not an indented line terminates the code
- # block.
- if code and l and l[0] != " ":
- code = False
- # Join the block that we have and add to list of blocks.
- # Remove any whitespace.
- blocks.append((e, remove_whitespace("\n".join(block))))
- # If code is still True, then the line is part of the code block.
- if code:
- block.append(l)
-
- # Add block of code if found at the end of the rst file.
- if code:
- blocks.append((e, remove_whitespace("\n".join(block))))
-
- # Close file and return blocks.
- f.close()
- return blocks
-
-def remove_whitespace(code):
- "Remove blank lines and whitespace in front of lines."
- return "\n".join([" ".join(l.split())\
- for l in code.split("\n") if l != ""])
-
-def block_in_source(line, block, source_files):
- """Check that the code block is present in at least one of
- the source files."""
-
- present = False
- code = ""
-
- # Return fail if no source files are provided
- if not source_files:
- print("\ncode block:\n", block)
- raise RuntimeError("No source file!")
-
- # Go through each source file and check if any contains code block
- for sf in source_files:
- # Read code and remove whitespace before comparing block and code.
- f = open(sf, "r")
- code = remove_whitespace(f.read())
- f.close()
-
- # Check whether code block is in code. If so, look no further.
- if block in code:
- return True
-
- #print "\nError:"
- #print "\ncode line:\n", line
- #print "\ncode block:\n", block
- #print "\nsource_files:\n", source_files
- #print "\nin directory: ", getcwd()
- #print
- #raise RuntimeError("Illegal code block.")
- return False
-
-def main():
- # Make sure we start where this test script is located.
- chdir(sys_path[0])
-
- # We currently only verify demo code.
- chdir(path.join(pardir, pardir, "demo"))
-
- # We have C++ and Python versions of the demos.
- directories = ["cpp", "python"]
-
- # Dictionary of code blocks that has to be checked for each subdirectory
- # including information about file types of the source.
- block_source = {"cpp": {"c++": ".cpp", "python": ".ufl"},
- "python": {"python": ".py"}
- }
-
- # Loop categories/demos/directories
-
- # Get all demo categories (fem, la. pde, etc.)
- #categories = [d for d in listdir(curdir) if path.isdir(d)]
- # For now only check la/pde
- categories = ["documented"]
- #categories = ["pde"]
-
- failed = []
- for category in categories:
- chdir(category)
- # Get all demos (Poisson, mixed-Poisson etc.)
- demos = [d for d in listdir(curdir) if path.isdir(d)]
-
- stderr.write("\nChecking %s demos: %s\n" % (category, str(demos)))
- for demo in demos:
- chdir(demo)
- for directory in directories:
- if not os.path.isdir(directory):
- continue
- chdir(directory)
- stderr.write("Checking %s: " % path.join(category, demo, directory))
- # Get files in demo directory and sort in rst and source files.
- files = listdir(curdir)
- rst_files = [f for f in files if path.splitext(f)[-1] == ".rst"]
- source_files = [f for f in files if path.splitext(f)[-1] in\
- (".py", ".ufl", ".cpp")]
-
- # If no .rst files are found, that is ok, but suboptimal.
- if (len(rst_files) == 0):
- stderr.write("*** MISSING ***\n")
- # FIXME: Enable at some point
- #failed += [demo]
-
- # Loop files, check if code blocks are present in source files.
- for rst_file in rst_files:
- (ok, block) = verify_blocks(rst_file, source_files,
- block_source[directory])
- if not ok:
- stderr.write("*** FAILED ***\n")
- stderr.write("\nFailing block:\n\n %s\n\n" % block)
- failed += [demo]
- else:
- stderr.write("OK\n")
- chdir(pardir)
- chdir(pardir)
- chdir(pardir)
-
- return len(failed)
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/test/regression/test.py b/test/regression/test.py
index 96b8406..4978a43 100644
--- a/test/regression/test.py
+++ b/test/regression/test.py
@@ -58,7 +58,8 @@ def run_cpp_demo(prefix, demo, rootdir, timing, failed):
t1 = time()
os.chdir(demo)
- status, output = get_status_output("%s .%s%s" % (prefix, os.path.sep, cppdemo_executable))
+ status, output = get_status_output("%s .%s%s" % (prefix, os.path.sep,
+ cppdemo_executable))
os.chdir(rootdir)
t2 = time()
timing += [(t2 - t1, demo)]
@@ -81,7 +82,8 @@ def run_python_demo(prefix, demo, rootdir, timing, failed):
t1 = time()
os.chdir(demo)
- status, output = get_status_output("%s %s -u %s" % (prefix, sys.executable, demofile))
+ status, output = get_status_output("%s %s -u %s" % (prefix, sys.executable,
+ demofile))
os.chdir(rootdir)
t2 = time()
timing += [(t2 - t1, demo)]
@@ -95,7 +97,8 @@ def run_python_demo(prefix, demo, rootdir, timing, failed):
print(output)
# Add contents from Instant's compile.log to output
- instant_compile_log = os.path.join(instant.get_default_error_dir(), "compile.log")
+ instant_compile_log = os.path.join(instant.get_default_error_dir(),
+ "compile.log")
if os.path.isfile(instant_compile_log):
instant_error = file(instant_compile_log).read()
output += "\n\nInstant compile.log for %s:\n\n" % demo
@@ -126,6 +129,8 @@ def main():
os.path.join(demodir, 'documented', 'stokes-mini', 'cpp'),
os.path.join(demodir, 'documented', 'tensor-weighted-poisson', 'cpp'),
os.path.join(demodir, 'documented', 'subdomains-poisson', 'cpp'),
+ os.path.join(demodir, 'documented', 'singular-poisson-rst', 'cpp'),
+ os.path.join(demodir, 'documented', 'maxwell-eigenvalues', 'cpp'),
]
# Demos to run
@@ -184,8 +189,8 @@ def main():
os.path.join(demodir, 'undocumented', 'extrapolation', 'cpp'),
os.path.join(demodir, 'undocumented', 'extrapolation', 'python'),
os.path.join(demodir, 'undocumented', 'meshfunction-refinement', 'cpp'),
- os.path.join(demodir, 'undocumented', 'nonmatching-interpolation', 'cpp'),
- os.path.join(demodir, 'undocumented', 'nonmatching-interpolation', 'python'),
+ os.path.join(demodir, 'documented', 'nonmatching-interpolation', 'cpp'),
+ os.path.join(demodir, 'documented', 'nonmatching-interpolation', 'python'),
os.path.join(demodir, 'undocumented', 'nonmatching-projection', 'cpp'),
os.path.join(demodir, 'undocumented', 'nonmatching-projection', 'python'),
os.path.join(demodir, 'undocumented', 'poisson-disc', 'python'),
@@ -209,16 +214,29 @@ def main():
timing = []
# Check if we should run only Python tests, use for quick testing
- if len(sys.argv) == 2 and sys.argv[1] == "--only-python":
+ if (len(sys.argv) == 2 and sys.argv[1] == "--only-python") or \
+ "DISABLE_CPP_TESTING" in os.environ:
only_python = True
else:
only_python = False
+ # Check if we should run only C++ tests
+ if (len(sys.argv) == 2 and sys.argv[1] == "--only-cpp") or \
+ "DISABLE_PYTHON_TESTING" in os.environ:
+ only_cpp = True
+ else:
+ only_cpp = False
+
# Check if we should skip C++ demos
if only_python:
print("Skipping C++ demos")
cppdemos = []
+ # Check if we should skip Python demos
+ if only_cpp:
+ print("Skipping Python demos")
+ pydemos = []
+
# Build prefix list
prefixes = [""]
mpi_prefix = "mpirun -np 3 "
@@ -229,8 +247,14 @@ def main():
# Allow to disable parallel testing
if "DISABLE_PARALLEL_TESTING" in os.environ:
+ print("Skip running demos in parallel")
prefixes = [""]
+ # Allow to disable serial testing
+ if "DISABLE_SERIAL_TESTING" in os.environ:
+ print("Skip running demos in serial")
+ prefixes.remove("")
+
# Run in serial, then in parallel
for prefix in prefixes:
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 87ddf04..07b7ca1 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.2)
+cmake_minimum_required(VERSION 3.5)
project(googletest-download NONE)
diff --git a/test/unit/cpp/CMakeLists.txt b/test/unit/cpp/CMakeLists.txt
index 4e4c6ab..b00cbdd 100644
--- a/test/unit/cpp/CMakeLists.txt
+++ b/test/unit/cpp/CMakeLists.txt
@@ -1,7 +1,7 @@
project(dolfin-tests)
# Require CMake 2.8
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
# FIXME: Temporary fix for whitespace error
cmake_policy(SET CMP0004 OLD)
@@ -74,10 +74,12 @@ if (DOLFIN_FOUND)
endif()
# Google Test uses threads
- set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
- find_package(Threads REQUIRED)
- if (CMAKE_USE_PTHREADS_INIT)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+ if (NOT APPLE)
+ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+ find_package(Threads REQUIRED)
+ if (CMAKE_USE_PTHREADS_INIT)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+ endif()
endif()
add_executable(unittests_cpp ${added_files})
diff --git a/test/unit/cpp/function/Projection.h b/test/unit/cpp/function/Projection.h
index 717e662..52a2624 100644
--- a/test/unit/cpp/function/Projection.h
+++ b/test/unit/cpp/function/Projection.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -4015,60 +4016,28 @@ public:
y[2] = coordinate_dofs[2];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[3] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[4] = vals[1];
- y[0] = coordinate_dofs[3];
- y[1] = coordinate_dofs[4];
- y[2] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[5] = vals[1];
- y[0] = coordinate_dofs[6];
- y[1] = coordinate_dofs[7];
- y[2] = coordinate_dofs[8];
- f.evaluate(vals, y, c);
- values[6] = vals[1];
- y[0] = coordinate_dofs[9];
- y[1] = coordinate_dofs[10];
- y[2] = coordinate_dofs[11];
- f.evaluate(vals, y, c);
- values[7] = vals[1];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- y[2] = coordinate_dofs[2];
- f.evaluate(vals, y, c);
values[8] = vals[2];
y[0] = coordinate_dofs[3];
y[1] = coordinate_dofs[4];
y[2] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
+ values[5] = vals[1];
values[9] = vals[2];
y[0] = coordinate_dofs[6];
y[1] = coordinate_dofs[7];
y[2] = coordinate_dofs[8];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
+ values[6] = vals[1];
values[10] = vals[2];
y[0] = coordinate_dofs[9];
y[1] = coordinate_dofs[10];
y[2] = coordinate_dofs[11];
f.evaluate(vals, y, c);
+ values[3] = vals[0];
+ values[7] = vals[1];
values[11] = vals[2];
}
@@ -4331,7 +4300,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4377,7 +4346,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4423,7 +4392,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4515,7 +4484,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4561,7 +4530,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4607,7 +4576,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4653,7 +4622,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Compute value(s)
for (unsigned int r = 0; r < 10; r++)
@@ -4943,7 +4912,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189624, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -4964,9 +4933,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5146,7 +5115,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
+ {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.0503952630678969, -0.0411475599898912, 0.0290957186981323, 0.0237565548366599, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5167,9 +5136,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5349,7 +5318,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {-0.0577350269189626, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
+ {-0.0577350269189625, 0.0, 0.0702728368926307, -0.0248451997499977, 0.0, 0.0, 0.0, 0.0872871560943969, -0.0475131096733199, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5370,9 +5339,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5573,9 +5542,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5755,7 +5724,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999907, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
+ {0.23094010767585, 0.0, 0.140545673785261, 0.0993807989999906, 0.0, 0.0, 0.0, 0.0, 0.1187827741833, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5776,9 +5745,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -5958,7 +5927,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, 0.121716123890037, -0.0702728368926306, 0.0993807989999907, 0.0, 0.0, 0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -5979,9 +5948,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6161,7 +6130,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.087287156094397, -0.01187827741833, 0.0167984210226323};
+ {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0.0, 0.100790526135794, -0.0205737799949456, -0.0872871560943969, -0.01187827741833, 0.0167984210226323};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6182,9 +6151,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6364,7 +6333,7 @@ public:
// Table(s) of coefficients
static const double coefficients0[10] = \
- {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
+ {0.23094010767585, -0.121716123890037, -0.0702728368926307, 0.0993807989999906, 0.0, 0.0, -0.102868899974728, 0.0, -0.0593913870916499, -0.0671936840905293};
// Tables of derivatives of the polynomial base (transpose).
static const double dmats0[10][10] = \
@@ -6385,9 +6354,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6588,9 +6557,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -6791,9 +6760,9 @@ public:
{5.47722557505166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825972, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.59160797830997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {2.29128784747796, 7.24568837309473, 4.18330013267038, -0.591607978309971, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{1.87082869338698, 0.0, 0.0, 4.34741302385684, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
- {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063982, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+ {-2.64575131106462, 0.0, 9.66091783079296, 0.683130051063981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{3.24037034920394, 0.0, 0.0, 7.52994023880668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
@@ -7347,6 +7316,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ case 3:
+ {
+ return 4;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7456,6 +7454,156 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -7573,6 +7721,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 3;
+ break;
+ }
+ case 1:
+ {
+ return 6;
+ break;
+ }
+ case 2:
+ {
+ return 9;
+ break;
+ }
+ case 3:
+ {
+ return 12;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -7726,34 +7903,248 @@ public:
}
-
- std::size_t num_sub_dofmaps() const final override
- {
- return 3;
- }
-
- ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
{
- switch (i)
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
{
case 0:
{
- return new projection_dofmap_0();
- break;
- }
- case 1:
+ if (i > 3)
{
- return new projection_dofmap_0();
- break;
+ throw std::runtime_error("i is larger than number of entities (3)");
}
- case 2:
+
+ switch (i)
{
- return new projection_dofmap_0();
- break;
- }
- }
-
- return 0;
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 4;
+ dofs[2] = 8;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 5;
+ dofs[2] = 9;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 6;
+ dofs[2] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ dofs[1] = 7;
+ dofs[2] = 11;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 6;
+ dofs[3] = 7;
+ dofs[4] = 10;
+ dofs[5] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ dofs[3] = 7;
+ dofs[4] = 9;
+ dofs[5] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 5;
+ dofs[3] = 6;
+ dofs[4] = 9;
+ dofs[5] = 10;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ dofs[3] = 7;
+ dofs[4] = 8;
+ dofs[5] = 11;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 10;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 9;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 6;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 10;
+ dofs[8] = 11;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 7;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 11;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ dofs[6] = 8;
+ dofs[7] = 9;
+ dofs[8] = 10;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ dofs[10] = 10;
+ dofs[11] = 11;
+ break;
+ }
+ }
+
+ }
+
+
+ std::size_t num_sub_dofmaps() const final override
+ {
+ return 3;
+ }
+
+ ufc::dofmap * create_sub_dofmap(std::size_t i) const final override
+ {
+ switch (i)
+ {
+ case 0:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ case 1:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ case 2:
+ {
+ return new projection_dofmap_0();
+ break;
+ }
+ }
+
+ return 0;
}
ufc::dofmap * create() const final override
@@ -7862,6 +8253,35 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 3;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ case 3:
+ {
+ return 10;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -8030,6 +8450,180 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 3)
+ {
+ throw std::runtime_error("d is larger than dimension (3)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 3;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 5)
+ {
+ throw std::runtime_error("i is larger than number of entities (5)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 2;
+ dofs[1] = 3;
+ dofs[2] = 4;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 3;
+ dofs[2] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 6;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ dofs[2] = 7;
+ break;
+ }
+ case 4:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 8;
+ break;
+ }
+ case 5:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 3)
+ {
+ throw std::runtime_error("i is larger than number of entities (3)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 5;
+ dofs[5] = 6;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ dofs[4] = 7;
+ dofs[5] = 8;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ dofs[4] = 7;
+ dofs[5] = 9;
+ break;
+ }
+ case 3:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 6;
+ dofs[4] = 8;
+ dofs[5] = 9;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 3:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ dofs[6] = 6;
+ dofs[7] = 7;
+ dofs[8] = 8;
+ dofs[9] = 9;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -8074,6 +8668,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 0
// Number of operations (multiply-add pairs) for tensor contraction: 50
@@ -8096,38 +8705,38 @@ public:
// Compute element tensor
A[0] = 0.00238095238095238*G0_;
- A[1] = 0.000396825396825395*G0_;
- A[2] = 0.000396825396825396*G0_;
- A[3] = 0.000396825396825396*G0_;
+ A[1] = 0.000396825396825394*G0_;
+ A[2] = 0.000396825396825394*G0_;
+ A[3] = 0.000396825396825395*G0_;
A[4] = -0.00238095238095238*G0_;
A[5] = -0.00238095238095238*G0_;
A[6] = -0.00238095238095238*G0_;
A[7] = -0.00158730158730158*G0_;
A[8] = -0.00158730158730158*G0_;
A[9] = -0.00158730158730158*G0_;
- A[10] = 0.000396825396825395*G0_;
+ A[10] = 0.000396825396825394*G0_;
A[11] = 0.00238095238095238*G0_;
- A[12] = 0.000396825396825396*G0_;
- A[13] = 0.000396825396825396*G0_;
+ A[12] = 0.000396825396825394*G0_;
+ A[13] = 0.000396825396825395*G0_;
A[14] = -0.00238095238095238*G0_;
A[15] = -0.00158730158730158*G0_;
A[16] = -0.00158730158730158*G0_;
A[17] = -0.00238095238095238*G0_;
A[18] = -0.00238095238095238*G0_;
A[19] = -0.00158730158730158*G0_;
- A[20] = 0.000396825396825396*G0_;
- A[21] = 0.000396825396825396*G0_;
+ A[20] = 0.000396825396825394*G0_;
+ A[21] = 0.000396825396825395*G0_;
A[22] = 0.00238095238095238*G0_;
- A[23] = 0.000396825396825396*G0_;
- A[24] = -0.00158730158730159*G0_;
+ A[23] = 0.000396825396825395*G0_;
+ A[24] = -0.00158730158730158*G0_;
A[25] = -0.00238095238095238*G0_;
A[26] = -0.00158730158730158*G0_;
A[27] = -0.00238095238095238*G0_;
- A[28] = -0.00158730158730159*G0_;
+ A[28] = -0.00158730158730158*G0_;
A[29] = -0.00238095238095238*G0_;
- A[30] = 0.000396825396825396*G0_;
- A[31] = 0.000396825396825396*G0_;
- A[32] = 0.000396825396825396*G0_;
+ A[30] = 0.000396825396825395*G0_;
+ A[31] = 0.000396825396825395*G0_;
+ A[32] = 0.000396825396825395*G0_;
A[33] = 0.00238095238095238*G0_;
A[34] = -0.00158730158730159*G0_;
A[35] = -0.00158730158730159*G0_;
@@ -8137,13 +8746,13 @@ public:
A[39] = -0.00238095238095238*G0_;
A[40] = -0.00238095238095238*G0_;
A[41] = -0.00238095238095238*G0_;
- A[42] = -0.00158730158730159*G0_;
+ A[42] = -0.00158730158730158*G0_;
A[43] = -0.00158730158730159*G0_;
A[44] = 0.0126984126984127*G0_;
A[45] = 0.00634920634920635*G0_;
A[46] = 0.00634920634920635*G0_;
- A[47] = 0.00634920634920635*G0_;
- A[48] = 0.00634920634920634*G0_;
+ A[47] = 0.00634920634920634*G0_;
+ A[48] = 0.00634920634920635*G0_;
A[49] = 0.00317460317460317*G0_;
A[50] = -0.00238095238095238*G0_;
A[51] = -0.00158730158730158*G0_;
@@ -8153,38 +8762,38 @@ public:
A[55] = 0.0126984126984127*G0_;
A[56] = 0.00634920634920635*G0_;
A[57] = 0.00634920634920635*G0_;
- A[58] = 0.00317460317460317*G0_;
+ A[58] = 0.00317460317460318*G0_;
A[59] = 0.00634920634920635*G0_;
A[60] = -0.00238095238095238*G0_;
A[61] = -0.00158730158730158*G0_;
- A[62] = -0.00158730158730159*G0_;
+ A[62] = -0.00158730158730158*G0_;
A[63] = -0.00238095238095238*G0_;
A[64] = 0.00634920634920635*G0_;
A[65] = 0.00634920634920635*G0_;
A[66] = 0.0126984126984127*G0_;
A[67] = 0.00317460317460317*G0_;
- A[68] = 0.00634920634920634*G0_;
+ A[68] = 0.00634920634920635*G0_;
A[69] = 0.00634920634920635*G0_;
A[70] = -0.00158730158730158*G0_;
A[71] = -0.00238095238095238*G0_;
A[72] = -0.00238095238095238*G0_;
A[73] = -0.00158730158730159*G0_;
- A[74] = 0.00634920634920635*G0_;
+ A[74] = 0.00634920634920634*G0_;
A[75] = 0.00634920634920635*G0_;
A[76] = 0.00317460317460317*G0_;
A[77] = 0.0126984126984127*G0_;
A[78] = 0.00634920634920635*G0_;
- A[79] = 0.00634920634920635*G0_;
+ A[79] = 0.00634920634920634*G0_;
A[80] = -0.00158730158730158*G0_;
A[81] = -0.00238095238095238*G0_;
- A[82] = -0.00158730158730159*G0_;
+ A[82] = -0.00158730158730158*G0_;
A[83] = -0.00238095238095238*G0_;
- A[84] = 0.00634920634920634*G0_;
- A[85] = 0.00317460317460317*G0_;
- A[86] = 0.00634920634920634*G0_;
+ A[84] = 0.00634920634920635*G0_;
+ A[85] = 0.00317460317460318*G0_;
+ A[86] = 0.00634920634920635*G0_;
A[87] = 0.00634920634920635*G0_;
A[88] = 0.0126984126984127*G0_;
- A[89] = 0.00634920634920634*G0_;
+ A[89] = 0.00634920634920635*G0_;
A[90] = -0.00158730158730158*G0_;
A[91] = -0.00158730158730158*G0_;
A[92] = -0.00238095238095238*G0_;
@@ -8192,8 +8801,8 @@ public:
A[94] = 0.00317460317460317*G0_;
A[95] = 0.00634920634920635*G0_;
A[96] = 0.00634920634920635*G0_;
- A[97] = 0.00634920634920635*G0_;
- A[98] = 0.00634920634920634*G0_;
+ A[97] = 0.00634920634920634*G0_;
+ A[98] = 0.00634920634920635*G0_;
A[99] = 0.0126984126984127*G0_;
}
@@ -8225,6 +8834,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 4
+ // quadrature_degree: 4
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 10
// Number of operations (multiply-add pairs) for tensor contraction: 95
@@ -8255,16 +8879,16 @@ public:
const double G0_9 = det*w[0][9]*(1.0);
// Compute element tensor
- A[0] = 0.00238095238095238*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
- A[1] = 0.000396825396825395*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
- A[2] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825396*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730159*G0_8 - 0.00238095238095238*G0_9;
- A[3] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825396*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
- A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
- A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460317*G0_8 + 0.00634920634920635*G0_9;
- A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920635*G0_9;
- A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
- A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
- A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
+ A[0] = 0.00238095238095238*G0_0 + 0.000396825396825394*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
+ A[1] = 0.000396825396825394*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825394*G0_2 + 0.000396825396825395*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
+ A[2] = 0.000396825396825394*G0_0 + 0.000396825396825395*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825395*G0_3 - 0.00158730158730158*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730158*G0_8 - 0.00238095238095238*G0_9;
+ A[3] = 0.000396825396825395*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825395*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
+ A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.00317460317460317*G0_9;
+ A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.00317460317460318*G0_8 + 0.00634920634920635*G0_9;
+ A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920635*G0_9;
+ A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920635*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920635*G0_8 + 0.00634920634920634*G0_9;
+ A[8] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00317460317460318*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920635*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920635*G0_9;
+ A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920635*G0_8 + 0.0126984126984127*G0_9;
}
};
@@ -8967,10 +9591,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9133,10 +9757,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -9152,10 +9776,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/test/unit/cpp/function/compile.log b/test/unit/cpp/function/compile.log
deleted file mode 100644
index d36340a..0000000
--- a/test/unit/cpp/function/compile.log
+++ /dev/null
@@ -1,260 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form Projection
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Estimated cost of tensor representation: 0
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
- Geometric dimension: 3
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG2(?), Vector<3 x CG1(?)>'
- Unique sub elements: 'CG2(?), Vector<3 x CG1(?)>, CG1(?)'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 4
- quadrature_degree: 4
-
-Compiler stage 1 finished in 0.507837 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 3 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 3 dofmaps
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00175 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 2 dims = [10, 10] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [...]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 100 entries computed in 0.00144 seconds
- Shape of reference tensor: (10, 10)
- Primary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [10] indices = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0713201 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000255108 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 3 element(s)
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp4
- Removing unused variable: tmp3
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 3 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.683495 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.00129294 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.00176716 seconds.
-
-FFC finished in 1.2667 seconds.
-Output written to ./Projection.h.
diff --git a/test/unit/cpp/la/forms/ReactionDiffusion.h b/test/unit/cpp/la/forms/ReactionDiffusion.h
index a2acaed..296bb18 100644
--- a/test/unit/cpp/la/forms/ReactionDiffusion.h
+++ b/test/unit/cpp/la/forms/ReactionDiffusion.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 8
// Number of operations (multiply-add pairs) for tensor contraction: 20
@@ -2904,6 +3141,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 3
// Number of operations (multiply-add pairs) for tensor contraction: 7
@@ -3632,10 +3884,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V1->part(part), V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3798,10 +4050,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3817,10 +4069,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_L(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_L(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/test/unit/cpp/la/forms/ReactionDiffusionAction.h b/test/unit/cpp/la/forms/ReactionDiffusionAction.h
index c872a06..927ec2d 100644
--- a/test/unit/cpp/la/forms/ReactionDiffusionAction.h
+++ b/test/unit/cpp/la/forms/ReactionDiffusionAction.h
@@ -1,5 +1,5 @@
-// This code conforms with the UFC specification version 2016.1.0
-// and was automatically generated by FFC version 2016.1.0.
+// This code conforms with the UFC specification version 2016.2.0
+// and was automatically generated by FFC version 2016.2.0.
//
// This code was generated with the option '-l dolfin' and
// contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -13,6 +13,7 @@
// error_control: False
// form_postfix: True
// format: 'dolfin'
+// max_signature_length: 0
// optimize: True
// precision: 15
// quadrature_degree: -1
@@ -2309,25 +2310,16 @@ public:
y[1] = coordinate_dofs[1];
f.evaluate(vals, y, c);
values[0] = vals[0];
- y[0] = coordinate_dofs[2];
- y[1] = coordinate_dofs[3];
- f.evaluate(vals, y, c);
- values[1] = vals[0];
- y[0] = coordinate_dofs[4];
- y[1] = coordinate_dofs[5];
- f.evaluate(vals, y, c);
- values[2] = vals[0];
- y[0] = coordinate_dofs[0];
- y[1] = coordinate_dofs[1];
- f.evaluate(vals, y, c);
values[3] = vals[1];
y[0] = coordinate_dofs[2];
y[1] = coordinate_dofs[3];
f.evaluate(vals, y, c);
+ values[1] = vals[0];
values[4] = vals[1];
y[0] = coordinate_dofs[4];
y[1] = coordinate_dofs[5];
f.evaluate(vals, y, c);
+ values[2] = vals[0];
values[5] = vals[1];
}
@@ -2484,6 +2476,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 1;
+ break;
+ }
+ case 1:
+ {
+ return 2;
+ break;
+ }
+ case 2:
+ {
+ return 3;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2572,6 +2588,91 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2679,6 +2780,30 @@ public:
return 0;
}
+ std::size_t num_entity_closure_dofs(std::size_t d) const final override
+ {
+ switch (d)
+ {
+ case 0:
+ {
+ return 2;
+ break;
+ }
+ case 1:
+ {
+ return 4;
+ break;
+ }
+ case 2:
+ {
+ return 6;
+ break;
+ }
+ }
+
+ return 0;
+ }
+
void tabulate_dofs(std::size_t * dofs,
const std::vector<std::size_t>& num_global_entities,
const std::vector<std::vector<std::size_t>>& entity_indices) const final override
@@ -2782,6 +2907,103 @@ public:
}
+ void tabulate_entity_closure_dofs(std::size_t * dofs,
+ std::size_t d, std::size_t i) const final override
+ {
+ if (d > 2)
+ {
+ throw std::runtime_error("d is larger than dimension (2)");
+ }
+
+ switch (d)
+ {
+ case 0:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 0;
+ dofs[1] = 3;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 1;
+ dofs[1] = 4;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 2;
+ dofs[1] = 5;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 1:
+ {
+ if (i > 2)
+ {
+ throw std::runtime_error("i is larger than number of entities (2)");
+ }
+
+ switch (i)
+ {
+ case 0:
+ {
+ dofs[0] = 1;
+ dofs[1] = 2;
+ dofs[2] = 4;
+ dofs[3] = 5;
+ break;
+ }
+ case 1:
+ {
+ dofs[0] = 0;
+ dofs[1] = 2;
+ dofs[2] = 3;
+ dofs[3] = 5;
+ break;
+ }
+ case 2:
+ {
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 3;
+ dofs[3] = 4;
+ break;
+ }
+ }
+
+ break;
+ }
+ case 2:
+ {
+ if (i > 0)
+ {
+ throw std::runtime_error("i is larger than number of entities (0)");
+ }
+
+ dofs[0] = 0;
+ dofs[1] = 1;
+ dofs[2] = 2;
+ dofs[3] = 3;
+ dofs[4] = 4;
+ dofs[5] = 5;
+ break;
+ }
+ }
+
+ }
+
std::size_t num_sub_dofmaps() const final override
{
@@ -2840,6 +3062,21 @@ public:
const double * coordinate_dofs,
int cell_orientation) const final override
{
+ // This function was generated using 'tensor' representation
+ // with the following integrals metadata:
+ //
+ // num_cells: None
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+ //
+ // and the following integral 0 metadata:
+ //
+ // estimated_polynomial_degree: 2
+ // quadrature_degree: 2
+ // quadrature_rule: 'default'
+ // representation: 'tensor'
+
// Number of operations (multiply-add pairs) for Jacobian data: 3
// Number of operations (multiply-add pairs) for geometry tensor: 23
// Number of operations (multiply-add pairs) for tensor contraction: 23
@@ -3300,10 +3537,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
@@ -3319,10 +3556,10 @@ public:
std::size_t num_parts = V0->num_parts(); // assume all equal and pick first
for (std::size_t part = 0; part < num_parts; part++)
{
- std::shared_ptr<const dolfin::Form> a(new Form_a(V0->part(part)));
- add(a);
- }
+ std::shared_ptr<dolfin::Form> a(new Form_a(V0->part(part)));
+ add(a);
+ }
// Build multimesh form
build();
diff --git a/test/unit/cpp/la/forms/compile.log b/test/unit/cpp/la/forms/compile.log
deleted file mode 100644
index 0bd8bfb..0000000
--- a/test/unit/cpp/la/forms/compile.log
+++ /dev/null
@@ -1,319 +0,0 @@
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form ReactionDiffusionAction
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 3
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.0799441 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.0012 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00134 seconds
- Shape of reference tensor: (3, 2, 3, 2)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 3 dims = [2, 3, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 3 dims = [2, 3, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.017679 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000244141 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.115897 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000643969 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000732899 seconds.
-
-FFC finished in 0.215677 seconds.
-Output written to ./ReactionDiffusionAction.h.
-This is FFC, the FEniCS Form Compiler, version 2016.1.0.
-UFC backend version 2016.1.0, signature 1b14b3cad537cb974523d529928ad9bde02ef657.
-For further information, visit https://bitbucket.org/fenics-project/ffc/.
-
-Compiling form ReactionDiffusion
-
-Compiler stage 1: Analyzing form(s)
------------------------------------
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 2
- Arguments: '(v_0, v_1)'
- Number of coefficients: 0
- Coefficients: '[]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 2
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
- Geometric dimension: 2
- Number of cell subdomains: 0
- Rank: 1
- Arguments: '(v_0)'
- Number of coefficients: 1
- Coefficients: '[w_0]'
- Unique elements: 'CG1(?), Vector<2 x CG1(?)>'
- Unique sub elements: 'CG1(?), Vector<2 x CG1(?)>'
-
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Estimated cost of tensor representation: 1
- representation: auto --> tensor
- quadrature_rule: auto --> default
- quadrature_degree: auto --> 2
- quadrature_degree: 2
-
-Compiler stage 1 finished in 0.103298 seconds.
-
-Compiler stage 2: Computing intermediate representation
--------------------------------------------------------
- Computing representation of 2 elements
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Computing representation of 2 dofmaps
- Reusing element from cache
- Reusing element from cache
- Computing representation of 1 coordinate mappings
- Reusing element from cache
- Computing representation of integrals
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.000757 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 0 dims = [] indices = [[]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Precomputing integrals on reference element
- Reusing element from cache
- 36 entries computed in 0.00088 seconds
- Shape of reference tensor: (3, 3, 2, 2)
- Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
- External multi index: rank = 1 dims = [2] indices = [[0], [1]]
- Reusing element from cache
- Reusing element from cache
- Computing tensor representation
- Extracting monomial form representation from UFL form
- Transforming monomial form to reference element
- Reusing element from cache
- Reusing element from cache
- Precomputing integrals on reference element
- Reusing element from cache
- 9 entries computed in 0.00076 seconds
- Shape of reference tensor: (3, 3)
- Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- Internal multi index: rank = 0 dims = [] indices = [[]]
- Secondary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
- External multi index: rank = 0 dims = [] indices = [[]]
- Reusing element from cache
- Reusing element from cache
- Computing representation of forms
-
-Compiler stage 2 finished in 0.0150092 seconds.
-
-Compiler stage 3: Optimizing intermediate representation
---------------------------------------------------------
-
-Compiler stage 3 finished in 0.000590086 seconds.
-
-Compiler stage 4: Generating code
----------------------------------
- Generating code for 2 element(s)
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Removing unused variable: tmp2
- Removing unused variable: tmp1
- Generating code for 2 dofmap(s)
- Generating code for 1 coordinate_mapping(s)
- Generating code for integrals
- Generating code for forms
-
-Compiler stage 4 finished in 0.120591 seconds.
-
-Compiler stage 4.1: Generating additional wrapper code
-------------------------------------------------------
- Generating wrapper code for DOLFIN
-
-Compiler stage 4.1 finished in 0.000885963 seconds.
-
-Compiler stage 5: Formatting code
----------------------------------
-
-Compiler stage 5 finished in 0.000840187 seconds.
-
-FFC finished in 0.241861 seconds.
-Output written to ./ReactionDiffusion.h.
diff --git a/test/unit/python/book/test_chapter_10.py b/test/unit/python/book/test_chapter_10.py
index 3302a63..dbab2b3 100755
--- a/test/unit/python/book/test_chapter_10.py
+++ b/test/unit/python/book/test_chapter_10.py
@@ -29,10 +29,14 @@ import os
from dolfin_utils.test import * #cd_tempdir, pushpop_parameters, skip_in_parallel, use_gc_barrier
-def create_data(A=None):
+ at use_gc_barrier
+def create_data(A=None, mesh=None, V=None):
"This function creates data used in the tests below"
- mesh = UnitSquareMesh(4, 4)
- V = FunctionSpace(mesh, "Lagrange", 1)
+ assert not (mesh and V)
+ if not V:
+ if not mesh:
+ mesh = UnitSquareMesh(4, 4)
+ V = FunctionSpace(mesh, "Lagrange", 1)
u = TrialFunction(V)
v = TestFunction(V)
if A is None:
@@ -569,7 +573,7 @@ def test_p31_box_1():
def test_p31_box_2():
mesh = UnitSquareMesh(3, 3)
V = FunctionSpace(mesh, "CG", 1)
- A, x, b = create_data()
+ A, x, b = create_data(V=V)
u_0 = Expression("sin(x[0])", degree=1)
bc = DirichletBC(V, u_0, "x[0] > 0.5 && on_boundary")
u = Function(V)
@@ -720,7 +724,7 @@ def test_p35_box_2(cd_tempdir):
@skip_in_parallel
def test_p36_box_1(cd_tempdir, pushpop_parameters):
mesh = UnitSquareMesh(3, 3)
- matrix, x, vector = create_data()
+ matrix, x, vector = create_data(mesh=mesh)
vector_file = File("vector.xml")
vector_file << vector
@@ -787,12 +791,12 @@ def test_p38_box_1():
@use_gc_barrier
def test_p39_box_1():
- matrix, vector, b = create_data()
solver = KrylovSolver()
mesh = UnitSquareMesh(3, 3)
mesh_function = MeshFunction("size_t", mesh, 0)
function_space = FunctionSpace(mesh, "CG", 1)
function = Function(function_space)
+ matrix, vector, b = create_data(V=function_space)
info(vector)
info(matrix)
diff --git a/test/unit/python/fem/test_assembler.py b/test/unit/python/fem/test_assembler.py
index 351317e..ab2dd9c 100755
--- a/test/unit/python/fem/test_assembler.py
+++ b/test/unit/python/fem/test_assembler.py
@@ -560,7 +560,7 @@ def test_reference_assembly(filedir, pushpop_parameters):
parameters["reorder_dofs_serial"] = False
# Load reference mesh (just a simple tetrahedron)
- mesh = Mesh(os.path.join(filedir, "tetrahedron.xml.gz"))
+ mesh = Mesh(os.path.join(filedir, "tetrahedron.xml"))
# Assemble stiffness and mass matrices
V = FunctionSpace(mesh, "Lagrange", 1)
diff --git a/test/unit/python/fem/test_dirichlet_bc.py b/test/unit/python/fem/test_dirichlet_bc.py
index 123d5ab..d834169 100755
--- a/test/unit/python/fem/test_dirichlet_bc.py
+++ b/test/unit/python/fem/test_dirichlet_bc.py
@@ -83,7 +83,7 @@ def test_meshdomain_bcs(datadir):
part of the mesh. This test is also a compatibility test for
VMTK."""
- mesh = Mesh(os.path.join(datadir, "aneurysm.xml.gz"))
+ mesh = Mesh(os.path.join(datadir, "aneurysm.xml"))
V = FunctionSpace(mesh, "CG", 1)
v = TestFunction(V)
diff --git a/test/unit/python/fem/test_local_solver.py b/test/unit/python/fem/test_local_solver.py
index 573cfd1..6a20ac9 100755
--- a/test/unit/python/fem/test_local_solver.py
+++ b/test/unit/python/fem/test_local_solver.py
@@ -102,6 +102,12 @@ def test_solve_local_rhs(ghost_mode):
def test_solve_local_rhs_facet_integrals(ghost_mode):
mesh = UnitSquareMesh(4, 4)
+ # Facet function is used here to verify that the proper domains
+ # of the rhs are used unlike before where the rhs domains were
+ # taken to be the same as the lhs domains
+ marker = FacetFunction("size_t", mesh)
+ ds0 = Measure("ds", domain=mesh, subdomain_data=marker, subdomain_id=0)
+
Vu = VectorFunctionSpace(mesh, 'DG', 1)
Vv = FunctionSpace(mesh, 'DGT', 1)
u = TrialFunction(Vu)
@@ -111,7 +117,7 @@ def test_solve_local_rhs_facet_integrals(ghost_mode):
w = Constant([1, 1])
a = dot(u, n)*v*ds
- L = dot(w, n)*v*ds
+ L = dot(w, n)*v*ds0
for R in '+-':
a += dot(u(R), n(R))*v(R)*dS
diff --git a/test/unit/python/fem/test_manifolds.py b/test/unit/python/fem/test_manifolds.py
index 42fd4d1..a98a05e 100755
--- a/test/unit/python/fem/test_manifolds.py
+++ b/test/unit/python/fem/test_manifolds.py
@@ -288,7 +288,7 @@ def test_elliptic_eqn_on_intersecting_surface(datadir):
#mesh = make_mesh(num_vertices_side)
#file = File("intersecting_surfaces.xml.gz", "compressed")
#file << mesh
- filename = os.path.join(datadir, "intersecting_surfaces.xml.gz")
+ filename = os.path.join(datadir, "intersecting_surfaces.xml")
mesh = Mesh(filename)
# function space, etc
diff --git a/test/unit/python/fem/test_solving.py b/test/unit/python/fem/test_solving.py
index b5637c0..0e581c3 100755
--- a/test/unit/python/fem/test_solving.py
+++ b/test/unit/python/fem/test_solving.py
@@ -23,6 +23,7 @@ import pytest
from dolfin import *
from dolfin_utils.test import *
+
@use_gc_barrier
def test_bcs():
"Check that the bcs argument is picked up"
@@ -60,6 +61,31 @@ def test_bcs():
assert round(u3.vector().norm("l2") - 14.9362601686, 10) == 0
assert round(u4.vector().norm("l2") - 14.9362601686, 10) == 0
+
+ at use_gc_barrier
+def test_bcs_space():
+ "Check that the bc space is checked to be a subspace of trial space"
+ mesh = UnitSquareMesh(4, 4)
+ V = FunctionSpace(mesh, "Lagrange", 1)
+ u = TrialFunction(V)
+ v = TestFunction(V)
+ f = Constant(100.0)
+
+ a = dot(grad(u), grad(v))*dx + u*v*dx
+ L = f*v*dx
+
+ Q = FunctionSpace(mesh, "Lagrange", 2)
+ bc = DirichletBC(Q, 0.0, DomainBoundary())
+
+ u = Function(V)
+
+ with pytest.raises(RuntimeError):
+ solve(a == L, u, bc)
+
+ with pytest.raises(RuntimeError):
+ solve(action(a, u) - L == 0, u, bc)
+
+
@use_gc_barrier
def test_calling():
"Test that unappropriate arguments are not allowed"
diff --git a/test/unit/python/fem/test_symbolic_geometry_assembly.py b/test/unit/python/fem/test_symbolic_geometry_assembly.py
index 315fc55..7de716e 100755
--- a/test/unit/python/fem/test_symbolic_geometry_assembly.py
+++ b/test/unit/python/fem/test_symbolic_geometry_assembly.py
@@ -11,19 +11,12 @@ CellOrigin, Jacobian, JacobianInverse, JacobianDeterminant
# This was for debugging, don't enable this permanently here in tests
# parameters["reorder_dofs_serial"] = False
-
-# Hack to skip uflacs parameter if not installed. There's probably a
-# cleaner way to do this with pytest.
-try:
- import uflacs
- _uflacs = ["uflacs"]
-except:
- _uflacs = []
-any_representation = set_parameters_fixture("form_compiler.representation",
- ["quadrature"] + _uflacs)
+any_representation = \
+ set_parameters_fixture("form_compiler.representation",
+ ["quadrature", "uflacs"])
uflacs_representation_only \
= set_parameters_fixture("form_compiler.representation",
- _uflacs)
+ ["uflacs"])
def create_mesh(vertices, cells, cellname="simplex"):
diff --git a/test/unit/python/fem/tetrahedron.xml b/test/unit/python/fem/tetrahedron.xml
new file mode 100644
index 0000000..1b2f9f3
--- /dev/null
+++ b/test/unit/python/fem/tetrahedron.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<dolfin xmlns:dolfin="http://www.fenics.org/dolfin/">
+ <mesh celltype="tetrahedron" dim="3">
+ <vertices size="4">
+ <vertex index="0" x="0" y="0" z="0" />
+ <vertex index="1" x="1" y="0" z="0" />
+ <vertex index="2" x="0" y="1" z="0" />
+ <vertex index="3" x="0" y="0" z="1" />
+ </vertices>
+ <cells size="1">
+ <tetrahedron index="0" v0="0" v1="1" v2="2" v3="3"/>
+ </cells>
+ </mesh>
+</dolfin>
diff --git a/test/unit/python/fem/tetrahedron.xml.gz b/test/unit/python/fem/tetrahedron.xml.gz
deleted file mode 100644
index cef35b6..0000000
Binary files a/test/unit/python/fem/tetrahedron.xml.gz and /dev/null differ
diff --git a/test/unit/python/function/test_expression.py b/test/unit/python/function/test_expression.py
index 2b0e2fd..b804753 100755
--- a/test/unit/python/function/test_expression.py
+++ b/test/unit/python/function/test_expression.py
@@ -97,7 +97,8 @@ def test_arbitrary_eval(mesh):
# For MUMPS, increase estimated require memory increase. Typically
# required for small meshes in 3D (solver is called by 'project')
- PETScOptions.set("mat_mumps_icntl_14", 40)
+ if has_petsc():
+ PETScOptions.set("mat_mumps_icntl_14", 40)
x = (mesh.coordinates()[0]+mesh.coordinates()[1])/2
f2 = Expression("1.0 + 3.0*x[0] + 4.0*x[1] + 0.5*x[2]", degree=2)
@@ -111,7 +112,8 @@ def test_arbitrary_eval(mesh):
assert round(u3 - u4, 7) == 0
assert round(u3 - u5, 4) == 0
- PETScOptions.set("mat_mumps_icntl_14", 20)
+ if has_petsc():
+ PETScOptions.set("mat_mumps_icntl_14", 20)
def test_ufl_eval():
diff --git a/test/unit/python/function/test_function_space.py b/test/unit/python/function/test_function_space.py
index ad22d89..7595307 100755
--- a/test/unit/python/function/test_function_space.py
+++ b/test/unit/python/function/test_function_space.py
@@ -94,6 +94,47 @@ def test_equality(V, V2, W, W2):
assert W == W
assert W == W2
+def test_inclusion(V, Q):
+ assert V.contains(V)
+ assert not Q.contains(V)
+
+ assert Q.contains(Q)
+ assert Q.contains(Q.sub(0))
+ assert Q.contains(Q.sub(1))
+ assert Q.contains(Q.sub(0).sub(0))
+ assert Q.contains(Q.sub(0).sub(1))
+ assert Q.contains(Q.extract_sub_space((0, 0)))
+ assert Q.contains(Q.extract_sub_space((0, 1)))
+ assert Q.contains(Q.extract_sub_space((1,)))
+
+ assert not Q.sub(0).contains(Q)
+ assert Q.sub(0).contains(Q.sub(0))
+ assert not Q.sub(0).contains(Q.sub(1))
+ assert Q.sub(0).contains(Q.sub(0).sub(0))
+ assert Q.sub(0).contains(Q.sub(0).sub(1))
+ assert Q.sub(0).contains(Q.extract_sub_space((0, 0)))
+ assert Q.sub(0).contains(Q.extract_sub_space((0, 1)))
+ assert not Q.sub(0).contains(Q.extract_sub_space((1,)))
+
+ assert not Q.sub(1).contains(Q)
+ assert not Q.sub(1).contains(Q.sub(0))
+ assert Q.sub(1).contains(Q.sub(1))
+ assert not Q.sub(1).contains(Q.sub(0).sub(0))
+ assert not Q.sub(1).contains(Q.sub(0).sub(1))
+ assert not Q.sub(1).contains(Q.extract_sub_space((0, 0)))
+ assert not Q.sub(1).contains(Q.extract_sub_space((0, 1)))
+ assert Q.sub(1).contains(Q.extract_sub_space((1,)))
+
+ assert not Q.sub(0).sub(0).contains(Q)
+ assert not Q.sub(0).sub(0).contains(Q.sub(0))
+ assert not Q.sub(0).sub(0).contains(Q.sub(1))
+ assert Q.sub(0).sub(0).contains(Q.sub(0).sub(0))
+ assert not Q.sub(0).sub(0).contains(Q.sub(0).sub(1))
+ assert Q.sub(0).sub(0).contains(Q.extract_sub_space((0, 0)))
+ assert not Q.sub(0).sub(0).contains(Q.extract_sub_space((0, 1)))
+ assert not Q.sub(0).sub(0).contains(Q.extract_sub_space((1,)))
+
+
def test_boundary(mesh):
bmesh = BoundaryMesh(mesh, "exterior")
Vb = FunctionSpace(bmesh, "DG", 0)
diff --git a/test/unit/python/io/test_HDF5.py b/test/unit/python/io/test_HDF5.py
index 087032d..cb4e6ab 100755
--- a/test/unit/python/io/test_HDF5.py
+++ b/test/unit/python/io/test_HDF5.py
@@ -223,3 +223,13 @@ def test_save_and_read_mesh_3D(tempdir):
assert mesh0.size_global(0) == mesh1.size_global(0)
dim = mesh0.topology().dim()
assert mesh0.size_global(dim) == mesh1.size_global(dim)
+
+ at skip_if_not_HDF5
+def test_mpi_atomicity(tempdir):
+ comm_world = mpi_comm_world()
+ if MPI.size(comm_world) > 1:
+ filename = os.path.join(tempdir, "mpiatomic.h5")
+ with HDF5File(mpi_comm_world(), filename, "w") as f:
+ assert f.get_mpi_atomicity() is False
+ f.set_mpi_atomicity(True)
+ assert f.get_mpi_atomicity() is True
diff --git a/test/unit/python/io/test_XDMF.py b/test/unit/python/io/test_XDMF.py
index e160bc6..1d8eec3 100755
--- a/test/unit/python/io/test_XDMF.py
+++ b/test/unit/python/io/test_XDMF.py
@@ -20,11 +20,14 @@
import pytest
import os
from dolfin import *
-from dolfin_utils.test import skip_if_not_HDF5, skip_in_parallel, fixture, tempdir
+from dolfin_utils.test import skip_in_parallel, fixture, tempdir
# Currently supported XDMF file encoding
encodings = (XDMFFile.Encoding_HDF5, XDMFFile.Encoding_ASCII)
+# Data types supported in templating
+data_types = (('int', int), ('size_t', int), ('double', float), ('bool', bool))
+
def invalid_config(encoding):
return (not has_hdf5() and encoding == XDMFFile.Encoding_HDF5) \
@@ -44,7 +47,7 @@ def test_save_and_load_1d_mesh(tempdir, encoding):
mesh2 = Mesh()
file = XDMFFile(mpi_comm_world(), filename)
- file.read(mesh2, False)
+ file.read(mesh2)
assert mesh.size_global(0) == mesh2.size_global(0)
dim = mesh.topology().dim()
assert mesh.size_global(dim) == mesh2.size_global(dim)
@@ -63,7 +66,7 @@ def test_save_and_load_2d_mesh(tempdir, encoding):
mesh2 = Mesh()
file = XDMFFile(mpi_comm_world(), filename)
- file.read(mesh2, False)
+ file.read(mesh2)
assert mesh.size_global(0) == mesh2.size_global(0)
dim = mesh.topology().dim()
assert mesh.size_global(dim) == mesh2.size_global(dim)
@@ -82,7 +85,7 @@ def test_save_and_load_3d_mesh(tempdir, encoding):
mesh2 = Mesh()
file = XDMFFile(mpi_comm_world(), filename)
- file.read(mesh2, False)
+ file.read(mesh2)
assert mesh.size_global(0) == mesh2.size_global(0)
dim = mesh.topology().dim()
assert mesh.size_global(dim) == mesh2.size_global(dim)
@@ -231,103 +234,193 @@ def test_save_1d_mesh(tempdir, encoding):
@pytest.mark.parametrize("encoding", encodings)
-def test_save_2D_cell_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_2D_cell_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
- filename = os.path.join(tempdir, "mf_2D.xdmf")
+
+ dtype_str, dtype = data_type
+
+ filename = os.path.join(tempdir, "mf_2D_%s.xdmf" % dtype_str)
mesh = UnitSquareMesh(32, 32)
- mf = CellFunction("size_t", mesh)
+ mf = CellFunction(dtype_str, mesh)
+ mf.rename("cells", "cells")
for cell in cells(mesh):
- mf[cell] = cell.index()
+ mf[cell] = dtype(cell.index())
file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
del file
+ mf_in = CellFunction(dtype_str, mesh)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mf_in, "cells")
+ del xdmf
+
+ diff = 0
+ for cell in cells(mesh):
+ diff += (mf_in[cell] - mf[cell])
+ assert diff == 0
+
@pytest.mark.parametrize("encoding", encodings)
-def test_save_3D_cell_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_3D_cell_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitCubeMesh(8, 8, 8)
- mf = CellFunction("size_t", mesh)
+ mf = CellFunction(dtype_str, mesh)
+ mf.rename("cells", "cells")
for cell in cells(mesh):
- mf[cell] = cell.index()
- filename = os.path.join(tempdir, "mf_3D.xdmf")
+ mf[cell] = dtype(cell.index())
+ filename = os.path.join(tempdir, "mf_3D_%s.xdmf" % dtype_str)
file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
del file
+ mf_in = CellFunction(dtype_str, mesh)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mf_in, "cells")
+ del xdmf
+
+ diff = 0
+ for cell in cells(mesh):
+ diff += (mf_in[cell] - mf[cell])
+ assert diff == 0
@pytest.mark.parametrize("encoding", encodings)
-def test_save_2D_facet_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_2D_facet_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitSquareMesh(32, 32)
- mf = FacetFunction("size_t", mesh)
- for facet in facets(mesh):
- mf[facet] = facet.index()
- filename = os.path.join(tempdir, "mf_facet_2D.xdmf")
+ mf = FacetFunction(dtype_str, mesh)
+ mf.rename("facets", "facets")
- file = XDMFFile(mesh.mpi_comm(), filename)
- file.write(mf, encoding)
- del file
+ if (MPI.size(mesh.mpi_comm()) == 1):
+ for facet in facets(mesh):
+ mf[facet] = dtype(facet.index())
+ else:
+ for facet in facets(mesh):
+ mf[facet] = dtype(facet.global_index())
+ filename = os.path.join(tempdir, "mf_facet_2D_%s.xdmf" % dtype_str)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.write(mf, encoding)
+ del xdmf
+
+ mf_in = FacetFunction(dtype_str, mesh)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mf_in, "facets")
+ del xdmf
+
+ diff = 0
+ for facet in facets(mesh):
+ diff += (mf_in[facet] - mf[facet])
+ assert diff == 0
@pytest.mark.parametrize("encoding", encodings)
-def test_save_3D_facet_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_3D_facet_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitCubeMesh(8, 8, 8)
- mf = FacetFunction("size_t", mesh)
- for facet in facets(mesh):
- mf[facet] = facet.index()
- filename = os.path.join(tempdir, "mf_facet_3D.xdmf")
+ mf = FacetFunction(dtype_str, mesh)
+ mf.rename("facets", "facets")
+
+ if (MPI.size(mesh.mpi_comm()) == 1):
+ for facet in facets(mesh):
+ mf[facet] = dtype(facet.index())
+ else:
+ for facet in facets(mesh):
+ mf[facet] = dtype(facet.global_index())
+ filename = os.path.join(tempdir, "mf_facet_3D_%s.xdmf" % dtype_str)
file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
del file
+ mf_in = FacetFunction(dtype_str, mesh)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mf_in, "facets")
+ del xdmf
+
+ diff = 0
+ for facet in facets(mesh):
+ diff += (mf_in[facet] - mf[facet])
+ assert diff == 0
@pytest.mark.parametrize("encoding", encodings)
-def test_save_3D_edge_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_3D_edge_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitCubeMesh(8, 8, 8)
- mf = EdgeFunction("size_t", mesh)
+ mf = EdgeFunction(dtype_str, mesh)
+ mf.rename("edges", "edges")
for edge in edges(mesh):
- mf[edge] = edge.index()
+ mf[edge] = dtype(edge.index())
- file = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "mf_edge_3D.xdmf"))
+ filename = os.path.join(tempdir, "mf_edge_3D_%s.xdmf" % dtype_str)
+ file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
del file
-
@pytest.mark.parametrize("encoding", encodings)
-def test_save_2D_vertex_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_2D_vertex_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitSquareMesh(32, 32)
- mf = VertexFunction("size_t", mesh)
+ mf = VertexFunction(dtype_str, mesh)
+ mf.rename("vertices", "vertices")
for vertex in vertices(mesh):
- mf[vertex] = vertex.index()
- filename = os.path.join(tempdir, "mf_vertex_2D.xdmf")
+ mf[vertex] = dtype(vertex.global_index())
+ filename = os.path.join(tempdir, "mf_vertex_2D_%s.xdmf" % dtype_str)
file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
del file
+ mf_in = VertexFunction(dtype_str, mesh)
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mf_in, "vertices")
+ del xdmf
+
+ diff = 0
+ for v in vertices(mesh):
+ diff += (mf_in[v] - mf[v])
+ assert diff == 0
@pytest.mark.parametrize("encoding", encodings)
-def test_save_3D_vertex_function(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_3D_vertex_function(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
- filename = os.path.join(tempdir, "mf_vertex_3D.xdmf")
+
+ dtype_str, dtype = data_type
+
+ filename = os.path.join(tempdir, "mf_vertex_3D_%s.xdmf" % dtype_str)
mesh = UnitCubeMesh(8, 8, 8)
- mf = VertexFunction("size_t", mesh)
+ mf = VertexFunction(dtype_str, mesh)
for vertex in vertices(mesh):
- mf[vertex] = vertex.index()
+ mf[vertex] = dtype(vertex.index())
file = XDMFFile(mesh.mpi_comm(), filename)
file.write(mf, encoding)
@@ -347,16 +440,10 @@ def test_save_points_2D(tempdir, encoding):
vals = numpy.array(values)
file = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "points_2D.xdmf"))
- if encoding == XDMFFile.Encoding_ASCII: # Not implemented
- with pytest.raises(RuntimeError):
- file.write(points, encoding)
- else:
- file.write(points, encoding)
- del file
+ file.write(points, encoding)
file = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir,
"points_values_2D.xdmf"))
-
file.write(points, vals, encoding)
del file
@@ -374,44 +461,197 @@ def test_save_points_3D(tempdir, encoding):
vals = numpy.array(values)
file = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "points_3D.xdmf"))
- if encoding == XDMFFile.Encoding_ASCII: # Not implemented
- with pytest.raises(RuntimeError):
- file.write(points, encoding)
- else:
- file.write(points, encoding)
- del file
+ file.write(points, encoding)
file = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "points_values_3D.xdmf"))
-
file.write(points, vals, encoding)
del file
-
@pytest.mark.parametrize("encoding", encodings)
-def test_save_mesh_value_collection(tempdir, encoding):
+ at pytest.mark.parametrize("data_type", data_types)
+def test_save_mesh_value_collection(tempdir, encoding, data_type):
if invalid_config(encoding):
pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
mesh = UnitCubeMesh(4, 4, 4)
tdim = mesh.topology().dim()
- meshfn = CellFunction("size_t", mesh, 0)
+ meshfn = CellFunction(dtype_str, mesh, 0)
meshfn.rename("volume_marker", "Volume Markers")
for c in cells(mesh):
if c.midpoint().y() > 0.1:
- meshfn[c] = 1
+ meshfn[c] = dtype(1)
if c.midpoint().y() > 0.9:
- meshfn[c] = 2
+ meshfn[c] = dtype(2)
for mvc_dim in range(0, tdim + 1):
- mvc = MeshValueCollection("size_t", mesh, 2)
- mvc.rename("dim_%d_marker" % mvc_dim, "BC")
+ mvc = MeshValueCollection(dtype_str, mesh, mvc_dim)
+ tag = "dim_%d_marker" % mvc_dim
+ mvc.rename(tag, "BC")
mesh.init(mvc_dim, tdim)
for e in cpp.entities(mesh, mvc_dim):
if (e.midpoint().x() > 0.5):
- mvc.set_value(e.index(), 1)
+ mvc.set_value(e.index(), dtype(1))
+
+ filename = os.path.join(tempdir, "mvc_%d.xdmf" % mvc_dim)
- xdmf = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "mvc_%d.xdmf"
- % mvc_dim))
- xdmf.parameters['time_series'] = False
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
xdmf.write(meshfn, encoding)
xdmf.write(mvc, encoding)
+
+ del xdmf
+
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ mvc = MeshValueCollection(dtype_str, mesh)
+ xdmf.read(mvc, tag)
+
+ at skip_in_parallel
+ at pytest.mark.parametrize("encoding", encodings)
+def test_quadratic_mesh(tempdir, encoding):
+ if invalid_config(encoding):
+ pytest.xfail("XDMF unsupported in current configuration")
+ mesh = UnitDiscMesh(mpi_comm_world(), 2, 2, 2)
+ Q = FunctionSpace(mesh, "CG", 1)
+ u = Function(Q)
+ u.interpolate(Constant(1.0))
+ xdmf = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "quadratic1.xdmf"))
+ xdmf.write(u)
+
+ Q = FunctionSpace(mesh, "CG", 2)
+ u = Function(Q)
+ u.interpolate(Constant(1.0))
+ xdmf = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "quadratic2.xdmf"))
+ xdmf.write(u)
+
+ xdmf = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "qmesh.xdmf"))
+ xdmf.write(mesh)
+ c0 = mesh.coordinates()
+
+ mesh = Mesh()
+ xdmf = XDMFFile(mesh.mpi_comm(), os.path.join(tempdir, "qmesh.xdmf"))
+ xdmf.read(mesh)
+ c1 = mesh.coordinates()
+
+ assert (c0 - c1).sum() == 0.0
+
+ at pytest.mark.parametrize("encoding", encodings)
+ at pytest.mark.parametrize("data_type", data_types)
+def test_append_and_load_mesh_functions(tempdir, encoding, data_type):
+ if invalid_config(encoding):
+ pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
+ meshes = [UnitSquareMesh(32, 32), UnitCubeMesh(8, 8, 8)]
+
+ for mesh in meshes:
+ dim = mesh.topology().dim()
+
+ vf = VertexFunction(dtype_str, mesh)
+ vf.rename("vertices", "vertices")
+ ff = FacetFunction(dtype_str, mesh)
+ ff.rename("facets", "facets")
+ cf = CellFunction(dtype_str, mesh)
+ cf.rename("cells", "cells")
+
+ if (MPI.size(mesh.mpi_comm()) == 1):
+ for vertex in vertices(mesh):
+ vf[vertex] = dtype(vertex.index())
+ for facet in facets(mesh):
+ ff[facet] = dtype(facet.index())
+ for cell in cells(mesh):
+ cf[cell] = dtype(cell.index())
+ else:
+ for vertex in vertices(mesh):
+ vf[vertex] = dtype(vertex.global_index())
+ for facet in facets(mesh):
+ ff[facet] = dtype(facet.global_index())
+ for cell in cells(mesh):
+ cf[cell] = dtype(cell.global_index())
+
+ filename = os.path.join(tempdir, "appended_mf_%dD.xdmf" % dim)
+
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.write(mesh)
+ xdmf.write(vf, encoding)
+ xdmf.write(ff, encoding)
+ xdmf.write(cf, encoding)
+ del xdmf
+
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+
+ vf_in = VertexFunction(dtype_str, mesh)
+ xdmf.read(vf_in, "vertices")
+ ff_in = FacetFunction(dtype_str, mesh)
+ xdmf.read(ff_in, "facets")
+ cf_in = CellFunction(dtype_str, mesh)
+ xdmf.read(cf_in, "cells")
+ del xdmf
+
+ diff = 0
+ for vertex in vertices(mesh):
+ diff += (vf_in[vertex] - vf[vertex])
+ for facet in facets(mesh):
+ diff += (ff_in[facet] - ff[facet])
+ for cell in cells(mesh):
+ diff += (cf_in[cell] - cf[cell])
+ assert diff == 0
+
+
+ at pytest.mark.parametrize("encoding", encodings)
+ at pytest.mark.parametrize("data_type", data_types)
+def test_append_and_load_mesh_value_collections(tempdir, encoding, data_type):
+ if invalid_config(encoding):
+ pytest.xfail("XDMF unsupported in current configuration")
+
+ dtype_str, dtype = data_type
+
+ mesh = UnitCubeMesh(8, 8, 8)
+ mesh.init()
+ for d in range(mesh.geometry().dim() + 1):
+ mesh.init_global(d)
+
+ mvc_v = MeshValueCollection(dtype_str, mesh, 0)
+ mvc_v.rename("vertices", "vertices")
+ mvc_e = MeshValueCollection(dtype_str, mesh, 1)
+ mvc_e.rename("edges", "edges")
+ mvc_f = MeshValueCollection(dtype_str, mesh, 2)
+ mvc_f.rename("facets", "facets")
+ mvc_c = MeshValueCollection(dtype_str, mesh, 3)
+ mvc_c.rename("cells", "cells")
+
+ mvcs = [mvc_v, mvc_e, mvc_f, mvc_c]
+
+ filename = os.path.join(tempdir, "appended_mvcs.xdmf")
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+
+ for mvc in mvcs:
+ for ent in entities(mesh, mvc.dim()):
+ assert(mvc.set_value(ent.index(), dtype(ent.global_index())))
+ xdmf.write(mvc)
+
+ del xdmf
+
+ mvc_v_in = MeshValueCollection(dtype_str, mesh, 0)
+ mvc_e_in = MeshValueCollection(dtype_str, mesh, 1)
+ mvc_f_in = MeshValueCollection(dtype_str, mesh, 2)
+ mvc_c_in = MeshValueCollection(dtype_str, mesh, 3)
+
+ xdmf = XDMFFile(mesh.mpi_comm(), filename)
+ xdmf.read(mvc_v_in, "vertices")
+ xdmf.read(mvc_e_in, "edges")
+ xdmf.read(mvc_f_in, "facets")
+ xdmf.read(mvc_c_in, "cells")
+
+ mvcs_in = [mvc_v_in, mvc_e_in, mvc_f_in, mvc_c_in]
+
+ for (mvc, mvc_in) in zip(mvcs, mvcs_in):
+ mf = MeshFunction(dtype_str, mesh, mvc)
+ mf_in = MeshFunction(dtype_str, mesh, mvc_in)
+
+ diff = 0
+ for ent in entities(mesh, mf.dim()):
+ diff += (mf_in[ent] - mf[ent])
+ assert(diff == 0)
diff --git a/test/unit/python/io/test_XML_table.py b/test/unit/python/io/test_XML_table.py
new file mode 100755
index 0000000..b573892
--- /dev/null
+++ b/test/unit/python/io/test_XML_table.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env py.test
+
+"""Unit tests for the XML io library for Tables"""
+
+# Copyright (C) 2016 Simon Funke and Marie E. Rognes
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+
+import pytest
+from dolfin import *
+from dolfin_utils.test import cd_tempdir
+
+def test_write_and_read_table(cd_tempdir):
+ # Do something that takes time
+ x = PETScVector(mpi_comm_world(), 197)
+
+ if MPI.rank(mpi_comm_world()) == 0:
+ # Create table for timings
+ t = timings(TimingClear_keep, [TimingType_wall, TimingType_system])
+ t_str = t.str(True)
+
+ # Write table to file
+ file = File(mpi_comm_self(), "my_table.xml")
+ file << t
+ del t
+ del file
+
+ # Read table from file
+ file = File(mpi_comm_self(), "my_table.xml")
+ t = Table("My Table")
+ file >> t
+
+ t_new_str = t.str(True)
+
+ assert t_new_str == t_str
diff --git a/test/unit/python/jit/test_jit.py b/test/unit/python/jit/test_jit.py
index 8589a3f..54b88d3 100755
--- a/test/unit/python/jit/test_jit.py
+++ b/test/unit/python/jit/test_jit.py
@@ -20,6 +20,7 @@
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
import pytest
+import platform
from dolfin import *
from dolfin_utils.test import skip_if_not_PETSc, skip_in_serial, skip_if_not_petsc4py
@@ -63,7 +64,8 @@ def test_compile_extension_module():
}
}
"""
- for module_name in ["mypetscmodule", ""]:
+ for module_name in ["mypetscmodule_" + dolfin.__version__ +
+ "_py-" + platform.python_version()[:3], ""]:
ext_module = compile_extension_module(\
code, module_name=module_name,\
additional_system_headers=["petscvec.h"])
diff --git a/test/unit/python/la/test_petsc.py b/test/unit/python/la/test_petsc.py
index 91ece31..47f8a45 100755
--- a/test/unit/python/la/test_petsc.py
+++ b/test/unit/python/la/test_petsc.py
@@ -39,6 +39,7 @@ def test_vector():
assert x.get_options_prefix() == prefix
+ at skip_if_not_PETSc
def test_krylov_solver_norm_type():
"Check setting of norm type used in testing for convergence by PETScKrylovSolver"
diff --git a/test/unit/python/mesh/test_cell.py b/test/unit/python/mesh/test_cell.py
index 1f361d1..2c62684 100755
--- a/test/unit/python/mesh/test_cell.py
+++ b/test/unit/python/mesh/test_cell.py
@@ -26,7 +26,7 @@ import pytest
import numpy
from dolfin import *
-from dolfin_utils.test import skip_in_parallel
+from dolfin_utils.test import skip_in_parallel, skip_in_release
@skip_in_parallel
@@ -59,3 +59,18 @@ def test_distance_tetrahedron():
assert round(cell.distance(Point(-1.0, -1.0, -1.0))-numpy.sqrt(3), 7) == 0
assert round(cell.distance(Point(-1.0, 0.5, 0.5)) - 1, 7) == 0
assert round(cell.distance(Point(0.5, 0.5, 0.5)) - 0.0, 7) == 0
+
+
+ at skip_in_release
+ at skip_in_parallel
+def test_issue_568():
+ mesh = UnitSquareMesh(4, 4)
+ cell = Cell(mesh, 0)
+
+ # Should throw an error, not just segfault (only works in DEBUG mode!)
+ with pytest.raises(RuntimeError):
+ cell.facet_area(0)
+
+ # Should work after initializing the connectivity
+ mesh.init(2, 1)
+ cell.facet_area(0)
diff --git a/test/unit/python/mesh/test_mesh.py b/test/unit/python/mesh/test_mesh.py
index 6d84fa5..ebf9f6b 100755
--- a/test/unit/python/mesh/test_mesh.py
+++ b/test/unit/python/mesh/test_mesh.py
@@ -459,10 +459,12 @@ def test_shared_entities():
dim = ind+1
args = [4]*dim
mesh = MeshClass(*args)
- mesh.init()
# FIXME: Implement a proper test
for shared_dim in range(dim+1):
+ # Initialise global indices (if not already)
+ mesh.init_global(shared_dim)
+
assert isinstance(mesh.topology().shared_entities(shared_dim), dict)
assert isinstance(mesh.topology().global_indices(shared_dim),
numpy.ndarray)
@@ -473,3 +475,17 @@ def test_shared_entities():
sharing = e.sharing_processes()
assert isinstance(sharing, numpy.ndarray)
assert (sharing.size > 0) == e.is_shared()
+
+ n_entities = mesh.size(shared_dim)
+ n_global_entities = mesh.size_global(shared_dim)
+ shared_entities = mesh.topology().shared_entities(shared_dim)
+
+ # Check that sum(local-shared) = global count
+ rank = MPI.rank(mesh.mpi_comm())
+ ct = 0
+ for key, val in shared_entities.items():
+ if (val[0] < rank):
+ ct += 1
+ size_global = MPI.sum(mesh.mpi_comm(), mesh.size(shared_dim) - ct)
+
+ assert size_global == mesh.size_global(shared_dim)
diff --git a/test/unit/python/mesh/test_mesh_quality.py b/test/unit/python/mesh/test_mesh_quality.py
index 6f83215..ae5a28b 100755
--- a/test/unit/python/mesh/test_mesh_quality.py
+++ b/test/unit/python/mesh/test_mesh_quality.py
@@ -109,13 +109,15 @@ def test_radius_ratio_min_radius_ratio_max():
assert round(rmin - 0.0, 7) == 0
assert round(rmax - 1.0, 7) == 0
+
def test_dihedral_angles_min_max():
# Create 3D mesh with regular tetrahedron
- mesh = UnitCubeMesh(1, 1, 1)
+ mesh = UnitCubeMesh(2, 2, 2)
dang_min, dang_max = MeshQuality.dihedral_angles_min_max(mesh)
assert round(dang_min*(180/numpy.pi) - 45.0) == 0
assert round(dang_max*(180/numpy.pi) - 90.0) == 0
+
def test_dihedral_angles_matplotlib():
# Create mesh, collpase and compute min ratio
mesh = UnitCubeMesh(12, 12, 12)
diff --git a/test/unit/python/mesh/test_sub_domain.py b/test/unit/python/mesh/test_sub_domain.py
index cc24e8b..7da5158 100755
--- a/test/unit/python/mesh/test_sub_domain.py
+++ b/test/unit/python/mesh/test_sub_domain.py
@@ -55,13 +55,39 @@ def test_creation_and_marking():
def inside(self, x, on_boundary):
return x[0] > 1.0 - DOLFIN_EPS
+ left_cpp = """
+ class Left : public SubDomain
+ {
+ public:
+
+ virtual bool inside(const Array<double>& x, bool on_boundary) const
+ {
+ return x[0] < DOLFIN_EPS;
+ }
+ };
+ """
+
+ right_cpp = """
+ class Right : public SubDomain
+ {
+ public:
+
+ virtual bool inside(const Array<double>& x, bool on_boundary) const
+ {
+ return x[0] > 1.0 - DOLFIN_EPS;
+ }
+ };
+ """
+
subdomain_pairs = [(Left(), Right()),
(AutoSubDomain(lambda x, on_boundary: x[0] < DOLFIN_EPS),
AutoSubDomain(lambda x, on_boundary: x[0] > 1.0 - DOLFIN_EPS)),
(CompiledSubDomain("near(x[0], a)", a=0.0),
CompiledSubDomain("near(x[0], a)", a=1.0)),
(CompiledSubDomain("near(x[0], 0.0)"),
- CompiledSubDomain("near(x[0], 1.0)"))]
+ CompiledSubDomain("near(x[0], 1.0)")),
+ (CompiledSubDomain(left_cpp),
+ CompiledSubDomain(right_cpp))]
empty = CompiledSubDomain("false")
every = CompiledSubDomain("true")
diff --git a/test/unit/python/mesh/test_sub_mesh.py b/test/unit/python/mesh/test_sub_mesh.py
index f9c63c6..7958377 100755
--- a/test/unit/python/mesh/test_sub_mesh.py
+++ b/test/unit/python/mesh/test_sub_mesh.py
@@ -78,7 +78,7 @@ def test_facet_domain_propagation(datadir):
# Boxes contains two subdomains with marked faces between
# them. These faces are marked with 5, 10, 15.
- mesh = Mesh(os.path.join(datadir, "boxes.xml.gz"))
+ mesh = Mesh(os.path.join(datadir, "boxes.xml"))
inner = SubMesh(mesh, 1)
outer = SubMesh(mesh, 2)
diff --git a/test/unit/python/multimesh/test_multimesh.py b/test/unit/python/multimesh/test_multimesh.py
new file mode 100644
index 0000000..cc763a6
--- /dev/null
+++ b/test/unit/python/multimesh/test_multimesh.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+"""Unit tests for the MultiMeshFunction class"""
+
+# Copyright (C) 2016 Jørgen S. Dokken
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+#
+#
+# First added: 2016-06-11
+# Last changed: 2016-09-22
+
+import pytest
+from dolfin import *
+import ufl
+import numpy
+
+from dolfin_utils.test import fixture, skip_in_parallel
+
+ at fixture
+def multimesh():
+ mesh_0 = RectangleMesh(Point(0,0), Point(0.6, 1), 40, 20)
+ mesh_1 = RectangleMesh(Point(0.5,0), Point(1,1),25,40)
+ multimesh = MultiMesh()
+ multimesh.add(mesh_0)
+ multimesh.add(mesh_1)
+ multimesh.build()
+ return multimesh
+
+ at fixture
+def V(multimesh):
+ element = FiniteElement("Lagrange", triangle, 1)
+ return MultiMeshFunctionSpace(multimesh, element)
+
+ at fixture
+def v(V):
+ return MultiMeshFunction(V)
+
+ at skip_in_parallel
+def test_measure_mul(v, multimesh):
+ assert isinstance(v*dX, ufl.form.Form)
+
+ at skip_in_parallel
+def test_assemble_zero(v, multimesh):
+ assert numpy.isclose(assemble_multimesh(v*dX), 0)
+
+ at skip_in_parallel
+def test_assemble_area(v, multimesh):
+ v.vector()[:] = 1
+ assert numpy.isclose(assemble_multimesh(v*dX), 1)
diff --git a/test/unit/python/nls/test_PETScSNES_solver.py b/test/unit/python/nls/test_PETScSNES_solver.py
index 0e86912..c901f8d 100755
--- a/test/unit/python/nls/test_PETScSNES_solver.py
+++ b/test/unit/python/nls/test_PETScSNES_solver.py
@@ -20,7 +20,7 @@
# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
#
# First added: 2012-10-17
-# Last changed: 2013-11-22
+# Last changed: 2016-10-26
from __future__ import print_function
@@ -52,7 +52,7 @@ parameter_backend = set_parameters_fixture("linear_algebra_backend", ["PETSc"])
@fixture
def mesh(datadir):
- return Mesh(os.path.join(datadir, "doughnut.xml.gz"))
+ return Mesh(os.path.join(datadir, "doughnut.xml"))
@fixture
def V(mesh):
diff --git a/test/unit/python/nls/test_TAO_linear_bound_solver.py b/test/unit/python/nls/test_TAO_linear_bound_solver.py
index 5680157..095bcf6 100755
--- a/test/unit/python/nls/test_TAO_linear_bound_solver.py
+++ b/test/unit/python/nls/test_TAO_linear_bound_solver.py
@@ -93,7 +93,7 @@ def test_tao_linear_bound_solver(backend):
# Take the PETScVector of the solution function
xsol = usol.vector()
- solver = TAOLinearBoundSolver("tron","stcg")
+ solver = TAOLinearBoundSolver("tron", "cg")
solver.solve(A,xsol,b,xl,xu)
# Test that F(usol) = Ly
diff --git a/test/unit/python/parallel-assembly-solve/test_solve_result_against_reference.py b/test/unit/python/parallel-assembly-solve/test_solve_result_against_reference.py
index 0db4b94..b6aba91 100755
--- a/test/unit/python/parallel-assembly-solve/test_solve_result_against_reference.py
+++ b/test/unit/python/parallel-assembly-solve/test_solve_result_against_reference.py
@@ -115,7 +115,8 @@ def test_computed_norms_against_references():
# For MUMPS, increase estimated require memory increase. Typically
# required for high order elements on small meshes in 3D
- PETScOptions.set("mat_mumps_icntl_14", 40)
+ if has_petsc():
+ PETScOptions.set("mat_mumps_icntl_14", 40)
# Iterate over test cases and collect results
results = []
@@ -126,7 +127,8 @@ def test_computed_norms_against_references():
results.append((mesh[1], degree, norm))
# Change option back to default
- PETScOptions.set("mat_mumps_icntl_14", 20)
+ if has_petsc():
+ PETScOptions.set("mat_mumps_icntl_14", 20)
# Check results
errors = check_results(results, reference, tol)
diff --git a/utils/pylit/LICENSE b/utils/pylit/LICENSE
new file mode 100644
index 0000000..d1bf42f
--- /dev/null
+++ b/utils/pylit/LICENSE
@@ -0,0 +1,341 @@
+This license applies only to the pylit.py script in this directory.
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/utils/pylit/README.rst b/utils/pylit/README.rst
new file mode 100644
index 0000000..8f4ed2e
--- /dev/null
+++ b/utils/pylit/README.rst
@@ -0,0 +1,51 @@
+PyLit
+*****
+
+`Literate Programming`_ with reStructuredText_
+
+.. epigraph::
+
+ The idea is that you do not document programs (after the fact), but
+ write documents that *contain* the programs.
+
+ -- John Max Skaller
+
+What is it
+ PyLit (Python Literate) provides a plain but efficient tool for
+ literate programming: a `bidirectional text/code converter`.
+
+Install
+ Put `pylit.py`_ in Python's `Module Search Path`_.
+
+.. _pylit.py: http://github.com/gmilde/PyLit/raw/master/pylit.py
+
+Documentation
+ coming back soon (was available at http://pylit.berlios.de)
+
+ .. note: The previous host of the PyLit project, berlios.de closed at
+ the end of 2011.
+
+Copyright
+ © 2005, 2009 Günter Milde.
+
+License
+ PyLit is `free software`_, released under the `GNU General Public License`_
+ (GPL) version 2 or later.
+
+ PyLit is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the `GNU General Public License`_ for more
+ details.
+
+
+.. References
+
+.. _Charming Python interview:
+ http://www.ibm.com/developerworks/library/l-pyth7.html
+.. _bidirectional text/code converter: features.html#dual-source
+.. _literate programming: literate-programming.html
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+.. _module search path:
+ http://docs.python.org/tutorial/modules.html#the-module-search-path
+.. _`free software`: http://www.gnu.org/philosophy/free-sw.html
+.. _`GNU General Public License`: http://www.gnu.org/copyleft/gpl.html
diff --git a/utils/pylit/pylit.py b/utils/pylit/pylit.py
new file mode 100755
index 0000000..bcd8ec5
--- /dev/null
+++ b/utils/pylit/pylit.py
@@ -0,0 +1,1873 @@
+#!/usr/bin/env python
+# -*- coding: iso-8859-1 -*-
+
+# pylit.py
+# ********
+# Literate programming with reStructuredText
+# ++++++++++++++++++++++++++++++++++++++++++
+#
+# :Date: $Date$
+# :Revision: $Revision$
+# :URL: $URL$
+# :Copyright: © 2005, 2007 Günter Milde.
+# Released without warranty under the terms of the
+# GNU General Public License (v. 2 or later)
+#
+# ::
+
+from __future__ import print_function
+
+"""pylit: bidirectional text <-> code converter
+
+Convert between a *text document* with embedded code
+and *source code* with embedded documentation.
+"""
+
+# .. contents::
+#
+# Frontmatter
+# ===========
+#
+# Changelog
+# ---------
+#
+# .. class:: borderless
+#
+# ====== ========== ===========================================================
+# 0.1 2005-06-29 Initial version.
+# 0.1.1 2005-06-30 First literate version.
+# 0.1.2 2005-07-01 Object orientated script using generators.
+# 0.1.3 2005-07-10 Two state machine (later added 'header' state).
+# 0.2b 2006-12-04 Start of work on version 0.2 (code restructuring).
+# 0.2 2007-01-23 Published at http://pylit.berlios.de.
+# 0.2.1 2007-01-25 Outsourced non-core documentation to the PyLit pages.
+# 0.2.2 2007-01-26 New behaviour of `diff` function.
+# 0.2.3 2007-01-29 New `header` methods after suggestion by Riccardo Murri.
+# 0.2.4 2007-01-31 Raise Error if code indent is too small.
+# 0.2.5 2007-02-05 New command line option --comment-string.
+# 0.2.6 2007-02-09 Add section with open questions,
+# Code2Text: let only blank lines (no comment str)
+# separate text and code,
+# fix `Code2Text.header`.
+# 0.2.7 2007-02-19 Simplify `Code2Text.header`,
+# new `iter_strip` method replacing a lot of ``if``-s.
+# 0.2.8 2007-02-22 Set `mtime` of outfile to the one of infile.
+# 0.3 2007-02-27 New `Code2Text` converter after an idea by Riccardo Murri,
+# explicit `option_defaults` dict for easier customisation.
+# 0.3.1 2007-03-02 Expand hard-tabs to prevent errors in indentation,
+# `Text2Code` now also works on blocks,
+# removed dependency on SimpleStates module.
+# 0.3.2 2007-03-06 Bug fix: do not set `language` in `option_defaults`
+# renamed `code_languages` to `languages`.
+# 0.3.3 2007-03-16 New language css,
+# option_defaults -> defaults = optparse.Values(),
+# simpler PylitOptions: don't store parsed values,
+# don't parse at initialisation,
+# OptionValues: return `None` for non-existing attributes,
+# removed -infile and -outfile, use positional arguments.
+# 0.3.4 2007-03-19 Documentation update,
+# separate `execute` function.
+# 2007-03-21 Code cleanup in `Text2Code.__iter__`.
+# 0.3.5 2007-03-23 Removed "css" from known languages after learning that
+# there is no C++ style "// " comment string in CSS2.
+# 0.3.6 2007-04-24 Documentation update.
+# 0.4 2007-05-18 Implement Converter.__iter__ as stack of iterator
+# generators. Iterating over a converter instance now
+# yields lines instead of blocks.
+# Provide "hooks" for pre- and postprocessing filters.
+# Rename states to reduce confusion with formats:
+# "text" -> "documentation", "code" -> "code_block".
+# 0.4.1 2007-05-22 Converter.__iter__: cleanup and reorganisation,
+# rename parent class Converter -> TextCodeConverter.
+# 0.4.2 2007-05-23 Merged Text2Code.converter and Code2Text.converter into
+# TextCodeConverter.converter.
+# 0.4.3 2007-05-30 Replaced use of defaults.code_extensions with
+# values.languages.keys().
+# Removed spurious `print` statement in code_block_handler.
+# Added basic support for 'c' and 'css' languages
+# with `dumb_c_preprocessor`_ and `dumb_c_postprocessor`_.
+# 0.5 2007-06-06 Moved `collect_blocks`_ out of `TextCodeConverter`_,
+# bug fix: collect all trailing blank lines into a block.
+# Expand tabs with `expandtabs_filter`_.
+# 0.6 2007-06-20 Configurable code-block marker (default ``::``)
+# 0.6.1 2007-06-28 Bug fix: reset self.code_block_marker_missing.
+# 0.7 2007-12-12 prepending an empty string to sys.path in run_doctest()
+# to allow imports from the current working dir.
+# 0.7.1 2008-01-07 If outfile does not exist, do a round-trip conversion
+# and report differences (as with outfile=='-').
+# 0.7.2 2008-01-28 Do not add missing code-block separators with
+# `doctest_run` on the code source. Keeps lines consistent.
+# 0.7.3 2008-04-07 Use value of code_block_marker for insertion of missing
+# transition marker in Code2Text.code_block_handler
+# Add "shell" to defaults.languages
+# 0.7.4 2008-06-23 Add "latex" to defaults.languages
+# 0.7.5 2009-05-14 Bugfix: ignore blank lines in test for end of code block
+# 0.7.6 2009-12-15 language-dependent code-block markers (after a
+# `feature request and patch by jrioux`_),
+# use DefaultDict for language-dependent defaults,
+# new defaults setting `add_missing_marker`_.
+# 0.7.7 2010-06-23 New command line option --codeindent.
+# 0.7.8 2011-03-30 bugfix: do not overwrite custom `add_missing_marker` value,
+# allow directive options following the 'code' directive.
+# 0.7.9 2011-04-05 Decode doctest string if 'magic comment' gives encoding.
+# ====== ========== ===========================================================
+#
+# ::
+
+_version = "0.7.9"
+
+__docformat__ = 'restructuredtext'
+
+
+# Introduction
+# ------------
+#
+# PyLit is a bidirectional converter between two formats of a computer
+# program source:
+#
+# * a (reStructured) text document with program code embedded in
+# *code blocks*, and
+# * a compilable (or executable) code source with *documentation*
+# embedded in comment blocks
+#
+#
+# Requirements
+# ------------
+#
+# ::
+
+import os, sys
+import re, optparse
+
+
+# DefaultDict
+# ~~~~~~~~~~~
+# As `collections.defaultdict` is only introduced in Python 2.5, we
+# define a simplified version of the dictionary with default from
+# http://code.activestate.com/recipes/389639/
+# ::
+
+class DefaultDict(dict):
+ """Minimalistic Dictionary with default value."""
+ def __init__(self, default=None, *args, **kwargs):
+ self.update(dict(*args, **kwargs))
+ self.default = default
+
+ def __getitem__(self, key):
+ return self.get(key, self.default)
+
+
+# Defaults
+# ========
+#
+# The `defaults` object provides a central repository for default
+# values and their customisation. ::
+
+defaults = optparse.Values()
+
+# It is used for
+#
+# * the initialisation of data arguments in TextCodeConverter_ and
+# PylitOptions_
+#
+# * completion of command line options in `PylitOptions.complete_values`_.
+#
+# This allows the easy creation of back-ends that customise the
+# defaults and then call `main`_ e.g.:
+#
+# >>> import pylit
+# >>> pylit.defaults.comment_string = "## "
+# >>> pylit.defaults.codeindent = 4
+# >>> pylit.main()
+#
+# The following default values are defined in pylit.py:
+#
+# languages
+# ---------
+#
+# Mapping of code file extensions to code language::
+
+defaults.languages = DefaultDict("python", # fallback language
+ {".c": "c",
+ ".cc": "c++",
+ ".cpp": "c++",
+ ".css": "css",
+ ".py": "python",
+ ".sh": "shell",
+ ".sl": "slang",
+ ".sty": "latex",
+ ".tex": "latex",
+ ".ufl": "python"
+ })
+
+# Will be overridden by the ``--language`` command line option.
+#
+# The first argument is the fallback language, used if there is no
+# matching extension (e.g. if pylit is used as filter) and no
+# ``--language`` is specified. It can be changed programmatically by
+# assignment to the ``.default`` attribute, e.g.
+#
+# >>> defaults.languages.default='c++'
+#
+#
+# .. _text_extension:
+#
+# text_extensions
+# ---------------
+#
+# List of known extensions of (reStructured) text files. The first
+# extension in this list is used by the `_get_outfile_name`_ method to
+# generate a text output filename::
+
+defaults.text_extensions = [".txt", ".rst"]
+
+
+# comment_strings
+# ---------------
+#
+# Comment strings for known languages. Used in Code2Text_ to recognise
+# text blocks and in Text2Code_ to format text blocks as comments.
+# Defaults to ``'# '``.
+#
+# **Comment strings include trailing whitespace.** ::
+
+defaults.comment_strings = DefaultDict('# ',
+ {"css": '// ',
+ "c": '// ',
+ "c++": '// ',
+ "latex": '% ',
+ "python": '# ',
+ "shell": '# ',
+ "slang": '% '
+ })
+
+
+# header_string
+# -------------
+#
+# Marker string for a header code block in the text source. No trailing
+# whitespace needed as indented code follows.
+# Must be a valid rst directive that accepts code on the same line, e.g.
+# ``'..admonition::'``.
+#
+# Default is a comment marker::
+
+defaults.header_string = '..'
+
+
+# .. _code_block_marker:
+#
+# code_block_markers
+# ------------------
+#
+# Markup at the end of a documentation block.
+# Default is Docutils' marker for a `literal block`_::
+
+defaults.code_block_markers = DefaultDict('::')
+defaults.code_block_markers["c++"] = u".. code-block:: cpp"
+#defaults.code_block_markers['python'] = '.. code-block:: python'
+
+# The `code_block_marker` string is `inserted into a regular expression`_.
+# Language-specific markers can be defined programmatically, e.g. in a
+# wrapper script.
+#
+# In a document where code examples are only one of several uses of
+# literal blocks, it is more appropriate to single out the source code
+# ,e.g. with the double colon at a separate line ("expanded form")
+#
+# ``defaults.code_block_marker.default = ':: *'``
+#
+# or a dedicated ``.. code-block::`` directive [#]_
+#
+# ``defaults.code_block_marker['c++'] = '.. code-block:: *c++'``
+#
+# The latter form also allows code in different languages kept together
+# in one literate source file.
+#
+# .. [#] The ``.. code-block::`` directive is not (yet) supported by
+# standard Docutils. It is provided by several add-ons, including
+# the `code-block directive`_ project in the Docutils Sandbox and
+# Sphinx_.
+#
+#
+# strip
+# -----
+#
+# Export to the output format stripping documentation or code blocks::
+
+defaults.strip = False
+
+# strip_marker
+# ------------
+#
+# Strip literal marker from the end of documentation blocks when
+# converting to code format. Makes the code more concise but looses the
+# synchronisation of line numbers in text and code formats. Can also be used
+# (together with the auto-completion of the code-text conversion) to change
+# the `code_block_marker`::
+
+defaults.strip_marker = False
+
+# add_missing_marker
+# ------------------
+#
+# When converting from code format to text format, add a `code_block_marker`
+# at the end of documentation blocks if it is missing::
+
+defaults.add_missing_marker = True
+
+# Keep this at ``True``, if you want to re-convert to code format later!
+#
+#
+# .. _defaults.preprocessors:
+#
+# preprocessors
+# -------------
+#
+# Preprocess the data with language-specific filters_
+# Set below in Filters_::
+
+defaults.preprocessors = {}
+
+# .. _defaults.postprocessors:
+#
+# postprocessors
+# --------------
+#
+# Postprocess the data with language-specific filters_::
+
+defaults.postprocessors = {}
+
+# .. _defaults.codeindent:
+#
+# codeindent
+# ----------
+#
+# Number of spaces to indent code blocks in `Code2Text.code_block_handler`_::
+
+defaults.codeindent = 2
+
+# In `Text2Code.code_block_handler`_, the codeindent is determined by the
+# first recognised code line (header or first indented literal block
+# of the text source).
+#
+# overwrite
+# ---------
+#
+# What to do if the outfile already exists? (ignored if `outfile` == '-')::
+
+defaults.overwrite = 'yes'
+
+# Recognised values:
+#
+# :'yes': overwrite eventually existing `outfile`,
+# :'update': fail if the `outfile` is newer than `infile`,
+# :'no': fail if `outfile` exists.
+#
+#
+# Extensions
+# ==========
+#
+# Try to import optional extensions::
+
+try:
+ import pylit_elisp
+except ImportError:
+ pass
+
+
+# Converter Classes
+# =================
+#
+# The converter classes implement a simple state machine to separate and
+# transform documentation and code blocks. For this task, only a very limited
+# parsing is needed. PyLit's parser assumes:
+#
+# * `indented literal blocks`_ in a text source are code blocks.
+#
+# * comment blocks in a code source where every line starts with a matching
+# comment string are documentation blocks.
+#
+# TextCodeConverter
+# -----------------
+# ::
+
+class TextCodeConverter(object):
+ """Parent class for the converters `Text2Code` and `Code2Text`.
+ """
+
+# The parent class defines data attributes and functions used in both
+# `Text2Code`_ converting a text source to executable code source, and
+# `Code2Text`_ converting commented code to a text source.
+#
+# Data attributes
+# ~~~~~~~~~~~~~~~
+#
+# Class default values are fetched from the `defaults`_ object and can be
+# overridden by matching keyword arguments during class instantiation. This
+# also works with keyword arguments to `get_converter`_ and `main`_, as these
+# functions pass on unused keyword args to the instantiation of a converter
+# class. ::
+
+ language = defaults.languages.default
+ comment_strings = defaults.comment_strings
+ comment_string = "" # set in __init__ (if empty)
+ codeindent = defaults.codeindent
+ header_string = defaults.header_string
+ code_block_markers = defaults.code_block_markers
+ code_block_marker = "" # set in __init__ (if empty)
+ strip = defaults.strip
+ strip_marker = defaults.strip_marker
+ add_missing_marker = defaults.add_missing_marker
+ directive_option_regexp = re.compile(r' +:(\w|[-._+:])+:( |$)')
+ state = "" # type of current block, see `TextCodeConverter.convert`_
+
+# Interface methods
+# ~~~~~~~~~~~~~~~~~
+#
+# .. _TextCodeConverter.__init__:
+#
+# __init__
+# """"""""
+#
+# Initialising sets the `data` attribute, an iterable object yielding lines of
+# the source to convert. [#]_
+#
+# .. [#] The most common choice of data is a `file` object with the text
+# or code source.
+#
+# To convert a string into a suitable object, use its splitlines method
+# like ``"2 lines\nof source".splitlines(True)``.
+#
+#
+# Additional keyword arguments are stored as instance variables,
+# overwriting the class defaults::
+
+ def __init__(self, data, **keyw):
+ """data -- iterable data object
+ (list, file, generator, string, ...)
+ **keyw -- remaining keyword arguments are
+ stored as data-attributes
+ """
+ self.data = data
+ self.__dict__.update(keyw)
+
+# If empty, `code_block_marker` and `comment_string` are set according
+# to the `language`::
+
+ if not self.code_block_marker:
+ self.code_block_marker = self.code_block_markers[self.language]
+ if not self.comment_string:
+ self.comment_string = self.comment_strings[self.language]
+ self.stripped_comment_string = self.comment_string.rstrip()
+
+# Pre- and postprocessing filters are set (with
+# `TextCodeConverter.get_filter`_)::
+
+ self.preprocessor = self.get_filter("preprocessors", self.language)
+ self.postprocessor = self.get_filter("postprocessors", self.language)
+
+# .. _inserted into a regular expression:
+#
+# Finally, a regular_expression for the `code_block_marker` is compiled
+# to find valid cases of `code_block_marker` in a given line and return
+# the groups: ``\1 prefix, \2 code_block_marker, \3 remainder`` ::
+
+ marker = self.code_block_marker
+ if marker == '::':
+ # the default marker may occur at the end of a text line
+ self.marker_regexp = re.compile('^( *(?!\.\.).*)(::)([ \n]*)$')
+ else:
+ # marker must be on a separate line
+ self.marker_regexp = re.compile('^( *)(%s)(.*\n?)$' % marker)
+
+# .. _TextCodeConverter.__iter__:
+#
+# __iter__
+# """"""""
+#
+# Return an iterator for the instance. Iteration yields lines of converted
+# data.
+#
+# The iterator is a chain of iterators acting on `self.data` that does
+#
+# * preprocessing
+# * text<->code format conversion
+# * postprocessing
+#
+# Pre- and postprocessing are only performed, if filters for the current
+# language are registered in `defaults.preprocessors`_ and|or
+# `defaults.postprocessors`_. The filters must accept an iterable as first
+# argument and yield the processed input data line-wise.
+# ::
+
+ def __iter__(self):
+ """Iterate over input data source and yield converted lines
+ """
+ return self.postprocessor(self.convert(self.preprocessor(self.data)))
+
+
+# .. _TextCodeConverter.__call__:
+#
+# __call__
+# """"""""
+# The special `__call__` method allows the use of class instances as callable
+# objects. It returns the converted data as list of lines::
+
+ def __call__(self):
+ """Iterate over state-machine and return results as list of lines"""
+ return [line for line in self]
+
+
+# .. _TextCodeConverter.__str__:
+#
+# __str__
+# """""""
+# Return converted data as string::
+
+ def __str__(self):
+ return "".join(self())
+
+
+# Helpers and convenience methods
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# .. _TextCodeConverter.convert:
+#
+# convert
+# """""""
+#
+# The `convert` method generates an iterator that does the actual code <-->
+# text format conversion. The converted data is yielded line-wise and the
+# instance's `status` argument indicates whether the current line is "header",
+# "documentation", or "code_block"::
+
+ def convert(self, lines):
+ """Iterate over lines of a program document and convert
+ between "text" and "code" format
+ """
+
+# Initialise internal data arguments. (Done here, so that every new iteration
+# re-initialises them.)
+#
+# `state`
+# the "type" of the currently processed block of lines. One of
+#
+# :"": initial state: check for header,
+# :"header": leading code block: strip `header_string`,
+# :"documentation": documentation part: comment out,
+# :"code_block": literal blocks containing source code: unindent.
+#
+# ::
+
+ self.state = ""
+
+# `_codeindent`
+# * Do not confuse the internal attribute `_codeindent` with the configurable
+# `codeindent` (without the leading underscore).
+# * `_codeindent` is set in `Text2Code.code_block_handler`_ to the indent of
+# first non-blank "code_block" line and stripped from all "code_block" lines
+# in the text-to-code conversion,
+# * `codeindent` is set in `__init__` to `defaults.codeindent`_ and added to
+# "code_block" lines in the code-to-text conversion.
+#
+# ::
+
+ self._codeindent = 0
+
+# `_textindent`
+# * set by `Text2Code.documentation_handler`_ to the minimal indent of a
+# documentation block,
+# * used in `Text2Code.set_state`_ to find the end of a code block.
+#
+# ::
+
+ self._textindent = 0
+
+# `_add_code_block_marker`
+# If the last paragraph of a documentation block does not end with a
+# code_block_marker_, it should be added (otherwise, the back-conversion
+# fails.).
+#
+# `_add_code_block_marker` is set by `Code2Text.documentation_handler`_
+# and evaluated by `Code2Text.code_block_handler`_, because the
+# documentation_handler does not know whether the next block will be
+# documentation (with no need for a code_block_marker) or a code block.
+#
+# ::
+
+ self._add_code_block_marker = False
+
+
+
+# Determine the state of the block and convert with the matching "handler"::
+
+ for block in collect_blocks(expandtabs_filter(lines)):
+ self.set_state(block)
+ for line in getattr(self, self.state+"_handler")(block):
+ yield line
+
+
+# .. _TextCodeConverter.get_filter:
+#
+# get_filter
+# """"""""""
+# ::
+
+ def get_filter(self, filter_set, language):
+ """Return language specific filter"""
+ if self.__class__ == Text2Code:
+ key = "text2"+language
+ elif self.__class__ == Code2Text:
+ key = language+"2text"
+ else:
+ key = ""
+ try:
+ return getattr(defaults, filter_set)[key]
+ except (AttributeError, KeyError):
+ # print("there is no %r filter in %r"%(key, filter_set))
+ pass
+ return identity_filter
+
+
+# get_indent
+# """"""""""
+# Return the number of leading spaces in `line`::
+
+ def get_indent(self, line):
+ """Return the indentation of `string`.
+ """
+ return len(line) - len(line.lstrip())
+
+
+# Text2Code
+# ---------
+#
+# The `Text2Code` converter separates *code-blocks* [#]_ from *documentation*.
+# Code blocks are unindented, documentation is commented (or filtered, if the
+# ``strip`` option is True).
+#
+# .. [#] Only `indented literal blocks`_ are considered code-blocks. `quoted
+# literal blocks`_, `parsed-literal blocks`_, and `doctest blocks`_ are
+# treated as part of the documentation. This allows the inclusion of
+# examples:
+#
+# >>> 23 + 3
+# 26
+#
+# Mark that there is no double colon before the doctest block in the
+# text source.
+#
+# The class inherits the interface and helper functions from
+# TextCodeConverter_ and adds functions specific to the text-to-code format
+# conversion::
+
+class Text2Code(TextCodeConverter):
+ """Convert a (reStructured) text source to code source
+ """
+
+# .. _Text2Code.set_state:
+#
+# set_state
+# ~~~~~~~~~
+# ::
+
+ def set_state(self, block):
+ """Determine state of `block`. Set `self.state`
+ """
+
+# `set_state` is used inside an iteration. Hence, if we are out of data, a
+# StopItertion exception should be raised::
+
+ if not block:
+ raise StopIteration
+
+# The new state depends on the active state (from the last block) and
+# features of the current block. It is either "header", "documentation", or
+# "code_block".
+#
+# If the current state is "" (first block), check for
+# the `header_string` indicating a leading code block::
+
+ if self.state == "":
+ # print("set state for %r"%block)
+ if block[0].startswith(self.header_string):
+ self.state = "header"
+ else:
+ self.state = "documentation"
+
+# If the current state is "documentation", the next block is also
+# documentation. The end of a documentation part is detected in the
+# `Text2Code.documentation_handler`_::
+
+ # elif self.state == "documentation":
+ # self.state = "documentation"
+
+# A "code_block" ends with the first less indented, non-blank line.
+# `_textindent` is set by the documentation handler to the indent of the
+# preceding documentation block::
+
+ elif self.state in ["code_block", "header"]:
+ indents = [self.get_indent(line) for line in block
+ if line.rstrip()]
+ # print("set_state:", indents, self._textindent)
+ if indents and min(indents) <= self._textindent:
+ self.state = 'documentation'
+ else:
+ self.state = 'code_block'
+
+# TODO: (or not to do?) insert blank line before the first line with too-small
+# codeindent using self.ensure_trailing_blank_line(lines, line) (would need
+# split and push-back of the documentation part)?
+#
+# .. _Text2Code.header_handler:
+#
+# header_handler
+# ~~~~~~~~~~~~~~
+#
+# Sometimes code needs to remain on the first line(s) of the document to be
+# valid. The most common example is the "shebang" line that tells a POSIX
+# shell how to process an executable file::
+
+#!/usr/bin/env python
+
+# In Python, the special comment to indicate the encoding, e.g.
+# ``# -*- coding: iso-8859-1 -*-``, must occur before any other comment
+# or code too.
+#
+# If we want to keep the line numbers in sync for text and code source, the
+# reStructured Text markup for these header lines must start at the same line
+# as the first header line. Therefore, header lines could not be marked as
+# literal block (this would require the ``::`` and an empty line above the
+# code_block).
+#
+# OTOH, a comment may start at the same line as the comment marker and it
+# includes subsequent indented lines. Comments are visible in the reStructured
+# Text source but hidden in the pretty-printed output.
+#
+# With a header converted to comment in the text source, everything before
+# the first documentation block (i.e. before the first paragraph using the
+# matching comment string) will be hidden away (in HTML or PDF output).
+#
+# This seems a good compromise, the advantages
+#
+# * line numbers are kept
+# * the "normal" code_block conversion rules (indent/unindent by `codeindent` apply
+# * greater flexibility: you can hide a repeating header in a project
+# consisting of many source files.
+#
+# set off the disadvantages
+#
+# - it may come as surprise if a part of the file is not "printed",
+# - one more syntax element to learn for rst newbies to start with pylit,
+# (however, starting from the code source, this will be auto-generated)
+#
+# In the case that there is no matching comment at all, the complete code
+# source will become a comment -- however, in this case it is not very likely
+# the source is a literate document anyway.
+#
+# If needed for the documentation, it is possible to quote the header in (or
+# after) the first documentation block, e.g. as `parsed literal`.
+# ::
+
+ def header_handler(self, lines):
+ """Format leading code block"""
+ # strip header string from first line
+ lines[0] = lines[0].replace(self.header_string, "", 1)
+ # yield remaining lines formatted as code-block
+ for line in self.code_block_handler(lines):
+ yield line
+
+
+# .. _Text2Code.documentation_handler:
+#
+# documentation_handler
+# ~~~~~~~~~~~~~~~~~~~~~
+#
+# The 'documentation' handler processes everything that is not recognised as
+# "code_block". Documentation is quoted with `self.comment_string`
+# (or filtered with `--strip=True`).
+#
+# If end-of-documentation marker is detected,
+#
+# * set state to 'code_block'
+# * set `self._textindent` (needed by `Text2Code.set_state`_ to find the
+# next "documentation" block)
+#
+# ::
+
+ def documentation_handler(self, lines):
+ """Convert documentation blocks from text to code format
+ """
+ for line in lines:
+ # test lines following the code-block marker for false positives
+ if (self.state == "code_block" and line.rstrip()
+ and not self.directive_option_regexp.search(line)):
+ self.state = "documentation"
+ # test for end of documentation block
+ if self.marker_regexp.search(line):
+ self.state = "code_block"
+ self._textindent = self.get_indent(line)
+ # yield lines
+ if self.strip:
+ continue
+ # do not comment blank lines preceding a code block
+ if self.state == "code_block" and not line.rstrip():
+ yield line
+ else:
+ yield self.comment_string + line
+
+
+
+
+# .. _Text2Code.code_block_handler:
+#
+# code_block_handler
+# ~~~~~~~~~~~~~~~~~~
+#
+# The "code_block" handler is called with an indented literal block. It
+# removes leading whitespace up to the indentation of the first code line in
+# the file (this deviation from Docutils behaviour allows indented blocks of
+# Python code). ::
+
+ def code_block_handler(self, block):
+ """Convert indented literal blocks to source code format
+ """
+
+# If still unset, determine the indentation of code blocks from first non-blank
+# code line::
+
+ if self._codeindent == 0:
+ self._codeindent = self.get_indent(block[0])
+
+# Yield unindented lines after check whether we can safely unindent. If the
+# line is less indented then `_codeindent`, something got wrong. ::
+
+ for line in block:
+ if line.lstrip() and self.get_indent(line) < self._codeindent:
+ raise ValueError("code block contains line less indented "
+ "than %d spaces \n%r" % (self._codeindent, block))
+ yield line.replace(" "*self._codeindent, "", 1)
+
+
+# Code2Text
+# ---------
+#
+# The `Code2Text` converter does the opposite of `Text2Code`_ -- it processes
+# a source in "code format" (i.e. in a programming language), extracts
+# documentation from comment blocks, and puts program code in literal blocks.
+#
+# The class inherits the interface and helper functions from
+# TextCodeConverter_ and adds functions specific to the text-to-code format
+# conversion::
+
+class Code2Text(TextCodeConverter):
+ """Convert code source to text source
+ """
+
+# set_state
+# ~~~~~~~~~
+#
+# Check if block is "header", "documentation", or "code_block":
+#
+# A paragraph is "documentation", if every non-blank line starts with a
+# matching comment string (including whitespace except for commented blank
+# lines) ::
+
+ def set_state(self, block):
+ """Determine state of `block`."""
+ for line in block:
+ # skip documentation lines (commented, blank or blank comment)
+ if (line.startswith(self.comment_string)
+ or not line.rstrip()
+ or line.rstrip() == self.comment_string.rstrip()
+ ):
+ continue
+ # non-commented line found:
+ if self.state == "":
+ self.state = "header"
+ else:
+ self.state = "code_block"
+ break
+ else:
+ # no code line found
+ # keep state if the block is just a blank line
+ # if len(block) == 1 and self._is_blank_codeline(line):
+ # return
+ self.state = "documentation"
+
+
+# header_handler
+# ~~~~~~~~~~~~~~
+#
+# Handle a leading code block. (See `Text2Code.header_handler`_ for a
+# discussion of the "header" state.) ::
+
+ def header_handler(self, lines):
+ """Format leading code block"""
+ if self.strip == True:
+ return
+ # get iterator over the lines that formats them as code-block
+ lines = iter(self.code_block_handler(lines))
+ # prepend header string to first line
+ yield self.header_string + lines.next()
+ # yield remaining lines
+ for line in lines:
+ yield line
+
+# .. _Code2Text.documentation_handler:
+#
+# documentation_handler
+# ~~~~~~~~~~~~~~~~~~~~~
+#
+# The *documentation state* handler converts a comment to a documentation
+# block by stripping the leading `comment string` from every line::
+
+ def documentation_handler(self, block):
+ """Uncomment documentation blocks in source code
+ """
+
+# Strip comment strings::
+
+ lines = [self.uncomment_line(line) for line in block]
+
+# If the code block is stripped, the literal marker would lead to an
+# error when the text is converted with Docutils. Strip it as well. ::
+
+ if self.strip or self.strip_marker:
+ self.strip_code_block_marker(lines)
+
+# Otherwise, check for the `code_block_marker`_ at the end of the
+# documentation block (skipping directive options that might follow it)::
+
+ elif self.add_missing_marker:
+ for line in lines[::-1]:
+ if self.marker_regexp.search(line):
+ self._add_code_block_marker = False
+ break
+ if (line.rstrip() and
+ not self.directive_option_regexp.search(line)):
+ self._add_code_block_marker = True
+ break
+ else:
+ self._add_code_block_marker = True
+
+# Yield lines::
+
+ for line in lines:
+ yield line
+
+# uncomment_line
+# ~~~~~~~~~~~~~~
+#
+# Return documentation line after stripping comment string. Consider the
+# case that a blank line has a comment string without trailing whitespace::
+
+ def uncomment_line(self, line):
+ """Return uncommented documentation line"""
+ line = line.replace(self.comment_string, "", 1)
+ if line.rstrip() == self.stripped_comment_string:
+ line = line.replace(self.stripped_comment_string, "", 1)
+ return line
+
+# .. _Code2Text.code_block_handler:
+#
+# code_block_handler
+# ~~~~~~~~~~~~~~~~~~
+#
+# The `code_block` handler returns the code block as indented literal
+# block (or filters it, if ``self.strip == True``). The amount of the code
+# indentation is controlled by `self.codeindent` (default 2). ::
+
+ def code_block_handler(self, lines):
+ """Covert code blocks to text format (indent or strip)
+ """
+ if self.strip == True:
+ return
+ # eventually insert transition marker
+ if self._add_code_block_marker:
+ self.state = "documentation"
+ yield self.code_block_marker + "\n"
+ yield "\n"
+ self._add_code_block_marker = False
+ self.state = "code_block"
+ for line in lines:
+ yield " "*self.codeindent + line
+
+
+
+# strip_code_block_marker
+# ~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Replace the literal marker with the equivalent of Docutils replace rules
+#
+# * strip ``::``-line (and preceding blank line) if on a line on its own
+# * strip ``::`` if it is preceded by whitespace.
+# * convert ``::`` to a single colon if preceded by text
+#
+# `lines` is a list of documentation lines (with a trailing blank line).
+# It is modified in-place::
+
+ def strip_code_block_marker(self, lines):
+ try:
+ line = lines[-2]
+ except IndexError:
+ return # just one line (no trailing blank line)
+
+ # match with regexp: `match` is None or has groups
+ # \1 leading text, \2 code_block_marker, \3 remainder
+ match = self.marker_regexp.search(line)
+
+ if not match: # no code_block_marker present
+ return
+ if not match.group(1): # `code_block_marker` on an extra line
+ del(lines[-2])
+ # delete preceding line if it is blank
+ if len(lines) >= 2 and not lines[-2].lstrip():
+ del(lines[-2])
+ elif match.group(1).rstrip() < match.group(1):
+ # '::' follows whitespace
+ lines[-2] = match.group(1).rstrip() + match.group(3)
+ else: # '::' follows text
+ lines[-2] = match.group(1).rstrip() + ':' + match.group(3)
+
+# Filters
+# =======
+#
+# Filters allow pre- and post-processing of the data to bring it in a format
+# suitable for the "normal" text<->code conversion. An example is conversion
+# of `C` ``/*`` ``*/`` comments into C++ ``//`` comments (and back).
+# Another example is the conversion of `C` ``/*`` ``*/`` comments into C++
+# ``//`` comments (and back).
+#
+# Filters are generator functions that return an iterator acting on a
+# `data` iterable and yielding processed `data` lines.
+#
+# identity_filter
+# ---------------
+#
+# The most basic filter is the identity filter, that returns its argument as
+# iterator::
+
+def identity_filter(data):
+ """Return data iterator without any processing"""
+ return iter(data)
+
+# expandtabs_filter
+# -----------------
+#
+# Expand hard-tabs in every line of `data` (cf. `str.expandtabs`).
+#
+# This filter is applied to the input data by `TextCodeConverter.convert`_ as
+# hard tabs can lead to errors when the indentation is changed. ::
+
+def expandtabs_filter(data):
+ """Yield data tokens with hard-tabs expanded"""
+ for line in data:
+ yield line.expandtabs()
+
+
+# collect_blocks
+# --------------
+#
+# A filter to aggregate "paragraphs" (blocks separated by blank
+# lines). Yields lists of lines::
+
+def collect_blocks(lines):
+ """collect lines in a list
+
+ yield list for each paragraph, i.e. block of lines separated by a
+ blank line (whitespace only).
+
+ Trailing blank lines are collected as well.
+ """
+ blank_line_reached = False
+ block = []
+ for line in lines:
+ if blank_line_reached and line.rstrip():
+ yield block
+ blank_line_reached = False
+ block = [line]
+ continue
+ if not line.rstrip():
+ blank_line_reached = True
+ block.append(line)
+ yield block
+
+
+
+# dumb_c_preprocessor
+# -------------------
+#
+# This is a basic filter to convert `C` to `C++` comments. Works line-wise and
+# only converts lines that
+#
+# * start with "/\* " and end with " \*/" (followed by whitespace only)
+#
+# A more sophisticated version would also
+#
+# * convert multi-line comments
+#
+# + Keep indentation or strip 3 leading spaces?
+#
+# * account for nested comments
+#
+# * only convert comments that are separated from code by a blank line
+#
+# ::
+
+def dumb_c_preprocessor(data):
+ """change `C` ``/* `` `` */`` comments into C++ ``// `` comments"""
+ comment_string = defaults.comment_strings["c++"]
+ boc_string = "/* "
+ eoc_string = " */"
+ for line in data:
+ if (line.startswith(boc_string)
+ and line.rstrip().endswith(eoc_string)
+ ):
+ line = line.replace(boc_string, comment_string, 1)
+ line = "".join(line.rsplit(eoc_string, 1))
+ yield line
+
+# Unfortunately, the `replace` method of strings does not support negative
+# numbers for the `count` argument:
+#
+# >>> "foo */ baz */ bar".replace(" */", "", -1) == "foo */ baz bar"
+# False
+#
+# However, there is the `rsplit` method, that can be used together with `join`:
+#
+# >>> "".join("foo */ baz */ bar".rsplit(" */", 1)) == "foo */ baz bar"
+# True
+#
+# dumb_c_postprocessor
+# --------------------
+#
+# Undo the preparations by the dumb_c_preprocessor and re-insert valid comment
+# delimiters ::
+
+def dumb_c_postprocessor(data):
+ """change C++ ``// `` comments into `C` ``/* `` `` */`` comments"""
+ comment_string = defaults.comment_strings["c++"]
+ boc_string = "/* "
+ eoc_string = " */"
+ for line in data:
+ if line.rstrip() == comment_string.rstrip():
+ line = line.replace(comment_string, "", 1)
+ elif line.startswith(comment_string):
+ line = line.replace(comment_string, boc_string, 1)
+ line = line.rstrip() + eoc_string + "\n"
+ yield line
+
+
+# register filters
+# ----------------
+#
+# ::
+
+defaults.preprocessors['c2text'] = dumb_c_preprocessor
+defaults.preprocessors['css2text'] = dumb_c_preprocessor
+defaults.postprocessors['text2c'] = dumb_c_postprocessor
+defaults.postprocessors['text2css'] = dumb_c_postprocessor
+
+
+# Command line use
+# ================
+#
+# Using this script from the command line will convert a file according to its
+# extension. This default can be overridden by a couple of options.
+#
+# Dual source handling
+# --------------------
+#
+# How to determine which source is up-to-date?
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# - set modification date of `outfile` to the one of `infile`
+#
+# Points out that the source files are 'synchronised'.
+#
+# * Are there problems to expect from "backdating" a file? Which?
+#
+# Looking at http://www.unix.com/showthread.php?t=20526, it seems
+# perfectly legal to set `mtime` (while leaving `ctime`) as `mtime` is a
+# description of the "actuality" of the data in the file.
+#
+# * Should this become a default or an option?
+#
+# - alternatively move input file to a backup copy (with option: `--replace`)
+#
+# - check modification date before overwriting
+# (with option: `--overwrite=update`)
+#
+# - check modification date before editing (implemented as `Jed editor`_
+# function `pylit_check()` in `pylit.sl`_)
+#
+# .. _Jed editor: http://www.jedsoft.org/jed/
+# .. _pylit.sl: http://jedmodes.sourceforge.net/mode/pylit/
+#
+# Recognised Filename Extensions
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Instead of defining a new extension for "pylit" literate programs,
+# by default ``.txt`` will be appended for the text source and stripped by
+# the conversion to the code source. I.e. for a Python program foo:
+#
+# * the code source is called ``foo.py``
+# * the text source is called ``foo.py.txt``
+# * the html rendering is called ``foo.py.html``
+#
+#
+# OptionValues
+# ------------
+#
+# The following class adds `as_dict`_, `complete`_ and `__getattr__`_
+# methods to `optparse.Values`::
+
+class OptionValues(optparse.Values):
+
+# .. _OptionValues.as_dict:
+#
+# as_dict
+# ~~~~~~~
+#
+# For use as keyword arguments, it is handy to have the options in a
+# dictionary. `as_dict` returns a copy of the instances object dictionary::
+
+ def as_dict(self):
+ """Return options as dictionary object"""
+ return self.__dict__.copy()
+
+# .. _OptionValues.complete:
+#
+# complete
+# ~~~~~~~~
+#
+# ::
+
+ def complete(self, **keyw):
+ """
+ Complete the option values with keyword arguments.
+
+ Do not overwrite existing values. Only use arguments that do not
+ have a corresponding attribute in `self`,
+ """
+ for key in keyw:
+ if not self.__dict__.__contains__(key):
+ setattr(self, key, keyw[key])
+
+# .. _OptionValues.__getattr__:
+#
+# __getattr__
+# ~~~~~~~~~~~
+#
+# To replace calls using ``options.ensure_value("OPTION", None)`` with the
+# more concise ``options.OPTION``, we define `__getattr__` [#]_ ::
+
+ def __getattr__(self, name):
+ """Return default value for non existing options"""
+ return None
+
+
+# .. [#] The special method `__getattr__` is only called when an attribute
+# look-up has not found the attribute in the usual places (i.e. it is
+# not an instance attribute nor is it found in the class tree for
+# self).
+#
+#
+# PylitOptions
+# ------------
+#
+# The `PylitOptions` class comprises an option parser and methods for parsing
+# and completion of command line options::
+
+class PylitOptions(object):
+ """Storage and handling of command line options for pylit"""
+
+# Instantiation
+# ~~~~~~~~~~~~~
+#
+# ::
+
+ def __init__(self):
+ """Set up an `OptionParser` instance for pylit command line options
+
+ """
+ p = optparse.OptionParser(usage=main.__doc__, version=_version)
+
+ # Conversion settings
+
+ p.add_option("-c", "--code2txt", dest="txt2code", action="store_false",
+ help="convert code source to text source")
+ p.add_option("-t", "--txt2code", action="store_true",
+ help="convert text source to code source")
+ p.add_option("--language",
+ choices = list(defaults.languages.values()),
+ help="use LANGUAGE native comment style")
+ p.add_option("--comment-string", dest="comment_string",
+ help="documentation block marker in code source "
+ "(including trailing whitespace, "
+ "default: language dependent)")
+ p.add_option("-m", "--code-block-marker", dest="code_block_marker",
+ help="syntax token starting a code block. (default '::')")
+ p.add_option("--codeindent", type="int",
+ help="Number of spaces to indent code blocks with "
+ "text2code (default %d)" % defaults.codeindent)
+
+ # Output file handling
+
+ p.add_option("--overwrite", action="store",
+ choices = ["yes", "update", "no"],
+ help="overwrite output file (default 'update')")
+ p.add_option("--replace", action="store_true",
+ help="move infile to a backup copy (appending '~')")
+ p.add_option("-s", "--strip", action="store_true",
+ help='"export" by stripping documentation or code')
+
+ # Special actions
+
+ p.add_option("-d", "--diff", action="store_true",
+ help="test for differences to existing file")
+ p.add_option("--doctest", action="store_true",
+ help="run doctest.testfile() on the text version")
+ p.add_option("-e", "--execute", action="store_true",
+ help="execute code (Python only)")
+
+ self.parser = p
+
+# .. _PylitOptions.parse_args:
+#
+# parse_args
+# ~~~~~~~~~~
+#
+# The `parse_args` method calls the `optparse.OptionParser` on command
+# line or provided args and returns the result as `PylitOptions.Values`
+# instance. Defaults can be provided as keyword arguments::
+
+ def parse_args(self, args=sys.argv[1:], **keyw):
+ """parse command line arguments using `optparse.OptionParser`
+
+ parse_args(args, **keyw) -> OptionValues instance
+
+ args -- list of command line arguments.
+ keyw -- keyword arguments or dictionary of option defaults
+ """
+ # parse arguments
+ (values, args) = self.parser.parse_args(args, OptionValues(keyw))
+ # Convert FILE and OUTFILE positional args to option values
+ # (other positional arguments are ignored)
+ try:
+ values.infile = args[0]
+ values.outfile = args[1]
+ except IndexError:
+ pass
+
+ return values
+
+# .. _PylitOptions.complete_values:
+#
+# complete_values
+# ~~~~~~~~~~~~~~~
+#
+# Complete an OptionValues instance `values`. Use module-level defaults and
+# context information to set missing option values to sensible defaults (if
+# possible) ::
+
+ def complete_values(self, values):
+ """complete option values with module and context sensible defaults
+
+ x.complete_values(values) -> values
+ values -- OptionValues instance
+ """
+
+# Complete with module-level defaults_::
+
+ values.complete(**defaults.__dict__)
+
+# Ensure infile is a string::
+
+ values.ensure_value("infile", "")
+
+# Guess conversion direction from `infile` filename::
+
+ if values.txt2code is None:
+ in_extension = os.path.splitext(values.infile)[1]
+ if in_extension in values.text_extensions:
+ values.txt2code = True
+ elif in_extension in values.languages.keys():
+ values.txt2code = False
+
+# Auto-determine the output file name::
+
+ values.ensure_value("outfile", self._get_outfile_name(values))
+
+# Second try: Guess conversion direction from outfile filename::
+
+ if values.txt2code is None:
+ out_extension = os.path.splitext(values.outfile)[1]
+ values.txt2code = not (out_extension in values.text_extensions)
+
+# Set the language of the code::
+
+ if values.txt2code is True:
+ code_extension = os.path.splitext(values.outfile)[1]
+ elif values.txt2code is False:
+ code_extension = os.path.splitext(values.infile)[1]
+ values.ensure_value("language", values.languages[code_extension])
+
+ return values
+
+# _get_outfile_name
+# ~~~~~~~~~~~~~~~~~
+#
+# Construct a matching filename for the output file. The output filename is
+# constructed from `infile` by the following rules:
+#
+# * '-' (stdin) results in '-' (stdout)
+# * strip the `text_extension`_ (txt2code) or
+# * add the `text_extension`_ (code2txt)
+# * fallback: if no guess can be made, add ".out"
+#
+# .. TODO: use values.outfile_extension if it exists?
+#
+# ::
+
+ def _get_outfile_name(self, values):
+ """Return a matching output filename for `infile`
+ """
+ # if input is stdin, default output is stdout
+ if values.infile == '-':
+ return '-'
+
+ # Derive from `infile` name: strip or add text extension
+ (base, ext) = os.path.splitext(values.infile)
+ if ext in values.text_extensions:
+ return base # strip
+ if ext in values.languages.keys() or values.txt2code == False:
+ return values.infile + values.text_extensions[0] # add
+ # give up
+ return values.infile + ".out"
+
+# .. _PylitOptions.__call__:
+#
+# __call__
+# ~~~~~~~~
+#
+# The special `__call__` method allows to use PylitOptions instances as
+# *callables*: Calling an instance parses the argument list to extract option
+# values and completes them based on "context-sensitive defaults". Keyword
+# arguments are passed to `PylitOptions.parse_args`_ as default values. ::
+
+ def __call__(self, args=sys.argv[1:], **keyw):
+ """parse and complete command line args return option values
+ """
+ values = self.parse_args(args, **keyw)
+ return self.complete_values(values)
+
+
+
+# Helper functions
+# ----------------
+#
+# open_streams
+# ~~~~~~~~~~~~
+#
+# Return file objects for in- and output. If the input path is missing,
+# write usage and abort. (An alternative would be to use stdin as default.
+# However, this leaves the uninitiated user with a non-responding application
+# if (s)he just tries the script without any arguments) ::
+
+def open_streams(infile = '-', outfile = '-', overwrite='update', **keyw):
+ """Open and return the input and output stream
+
+ open_streams(infile, outfile) -> (in_stream, out_stream)
+
+ in_stream -- open(infile) or sys.stdin
+ out_stream -- open(outfile) or sys.stdout
+ overwrite -- 'yes': overwrite eventually existing `outfile`,
+ 'update': fail if the `outfile` is newer than `infile`,
+ 'no': fail if `outfile` exists.
+
+ Irrelevant if `outfile` == '-'.
+ """
+ if not infile:
+ strerror = "Missing input file name ('-' for stdin; -h for help)"
+ raise IOError((2, strerror, infile))
+ if infile == '-':
+ in_stream = sys.stdin
+ else:
+ in_stream = open(infile, 'r')
+
+ if outfile == '-':
+ out_stream = sys.stdout
+ elif overwrite == 'no' and os.path.exists(outfile):
+ raise IOError((1, "Output file exists!", outfile))
+ elif overwrite == 'update' and is_newer(outfile, infile):
+ raise IOError((1, "Output file is newer than input file!", outfile))
+ else:
+ out_stream = open(outfile, 'w')
+ return (in_stream, out_stream)
+
+# is_newer
+# ~~~~~~~~
+#
+# ::
+
+def is_newer(path1, path2):
+ """Check if `path1` is newer than `path2` (using mtime)
+
+ Compare modification time of files at path1 and path2.
+
+ Non-existing files are considered oldest: Return False if path1 does not
+ exist and True if path2 does not exist.
+
+ Return None for equal modification time. (This evaluates to False in a
+ Boolean context but allows a test for equality.)
+
+ """
+ try:
+ mtime1 = os.path.getmtime(path1)
+ except OSError:
+ mtime1 = -1
+ try:
+ mtime2 = os.path.getmtime(path2)
+ except OSError:
+ mtime2 = -1
+ # print("mtime1", mtime1, path1, "\n", "mtime2", mtime2, path2)
+
+ if mtime1 == mtime2:
+ return None
+ return mtime1 > mtime2
+
+
+# get_converter
+# ~~~~~~~~~~~~~
+#
+# Get an instance of the converter state machine::
+
+def get_converter(data, txt2code=True, **keyw):
+ if txt2code:
+ return Text2Code(data, **keyw)
+ else:
+ return Code2Text(data, **keyw)
+
+
+# Use cases
+# ---------
+#
+# run_doctest
+# ~~~~~~~~~~~
+# ::
+
+def run_doctest(infile="-", txt2code=True,
+ globs={}, verbose=False, optionflags=0, **keyw):
+ """run doctest on the text source
+ """
+
+# Allow imports from the current working dir by prepending an empty string to
+# sys.path (see doc of sys.path())::
+
+ sys.path.insert(0, '')
+
+# Import classes from the doctest module::
+
+ from doctest import DocTestParser, DocTestRunner
+
+# Read in source. Make sure it is in text format, as tests in comments are not
+# found by doctest::
+
+ (data, out_stream) = open_streams(infile, "-")
+ if txt2code is False:
+ keyw.update({'add_missing_marker': False})
+ converter = Code2Text(data, **keyw)
+ docstring = str(converter)
+ else:
+ docstring = data.read()
+
+# decode doc string if there is a "magic comment" in the first or second line
+# (http://docs.python.org/reference/lexical_analysis.html#encoding-declarations)
+# ::
+
+ firstlines = ' '.join(docstring.splitlines()[:2])
+ match = re.search('coding[=:]\s*([-\w.]+)', firstlines)
+ if match:
+ docencoding = match.group(1)
+ docstring = docstring.decode(docencoding)
+
+# Use the doctest Advanced API to run all doctests in the source text::
+
+ test = DocTestParser().get_doctest(docstring, globs, name="",
+ filename=infile, lineno=0)
+ runner = DocTestRunner(verbose, optionflags)
+ runner.run(test)
+ runner.summarize
+ # give feedback also if no failures occurred
+ if not runner.failures:
+ print("%d failures in %d tests"%(runner.failures, runner.tries))
+ return runner.failures, runner.tries
+
+
+# diff
+# ~~~~
+#
+# ::
+
+def diff(infile='-', outfile='-', txt2code=True, **keyw):
+ """Report differences between converted infile and existing outfile
+
+ If outfile does not exist or is '-', do a round-trip conversion and
+ report differences.
+ """
+
+ import difflib
+
+ instream = open(infile)
+ # for diffing, we need a copy of the data as list::
+ data = instream.readlines()
+ # convert
+ converter = get_converter(data, txt2code, **keyw)
+ new = converter()
+
+ if outfile != '-' and os.path.exists(outfile):
+ outstream = open(outfile)
+ old = outstream.readlines()
+ oldname = outfile
+ newname = "<conversion of %s>"%infile
+ else:
+ old = data
+ oldname = infile
+ # back-convert the output data
+ converter = get_converter(new, not txt2code)
+ new = converter()
+ newname = "<round-conversion of %s>"%infile
+
+ # find and print the differences
+ is_different = False
+ # print(type(old), old)
+ # print(type(new), new)
+ delta = difflib.unified_diff(old, new,
+ # delta = difflib.unified_diff(["heute\n", "schon\n"], ["heute\n", "noch\n"],
+ fromfile=oldname, tofile=newname)
+ for line in delta:
+ is_different = True
+ print(line, end="")
+ if not is_different:
+ print(oldname)
+ print(newname)
+ print("no differences found")
+ return is_different
+
+
+# execute
+# ~~~~~~~
+#
+# Works only for python code.
+#
+# Does not work with `eval`, as code is not just one expression. ::
+
+def execute(infile="-", txt2code=True, **keyw):
+ """Execute the input file. Convert first, if it is a text source.
+ """
+
+ data = open(infile)
+ if txt2code:
+ data = str(Text2Code(data, **keyw))
+ # print("executing " + options.infile)
+ exec(data)
+
+
+# main
+# ----
+#
+# If this script is called from the command line, the `main` function will
+# convert the input (file or stdin) between text and code formats.
+#
+# Option default values for the conversion can be given as keyword arguments
+# to `main`_. The option defaults will be updated by command line options and
+# extended with "intelligent guesses" by `PylitOptions`_ and passed on to
+# helper functions and the converter instantiation.
+#
+# This allows easy customisation for programmatic use -- just call `main`
+# with the appropriate keyword options, e.g. ``pylit.main(comment_string="## ")``
+#
+# ::
+
+def main(args=sys.argv[1:], **defaults):
+ """%prog [options] INFILE [OUTFILE]
+
+ Convert between (reStructured) text source with embedded code,
+ and code source with embedded documentation (comment blocks)
+
+ The special filename '-' stands for standard in and output.
+ """
+
+# Parse and complete the options::
+
+ options = PylitOptions()(args, **defaults)
+ # print("infile", repr(options.infile))
+
+# Special actions with early return::
+
+ if options.doctest:
+ return run_doctest(**options.as_dict())
+
+ if options.diff:
+ return diff(**options.as_dict())
+
+ if options.execute:
+ return execute(**options.as_dict())
+
+# Open in- and output streams::
+
+ try:
+ (data, out_stream) = open_streams(**options.as_dict())
+ except IOError as ex:
+ print("IOError: %s %s" % (ex.filename, ex.strerror))
+ sys.exit(ex.errno)
+
+# Get a converter instance::
+
+ converter = get_converter(data, **options.as_dict())
+
+# Convert and write to out_stream::
+
+ out_stream.write(str(converter))
+
+ if out_stream is not sys.stdout:
+ print("extract written to", out_stream.name)
+ out_stream.close()
+
+# If input and output are from files, set the modification time (`mtime`) of
+# the output file to the one of the input file to indicate that the contained
+# information is equal. [#]_ ::
+
+ try:
+ os.utime(options.outfile, (os.path.getatime(options.outfile),
+ os.path.getmtime(options.infile))
+ )
+ except OSError:
+ pass
+
+ ## print("mtime", os.path.getmtime(options.infile), options.infile)
+ ## print("mtime", os.path.getmtime(options.outfile), options.outfile)
+
+
+# .. [#] Make sure the corresponding file object (here `out_stream`) is
+# closed, as otherwise the change will be overwritten when `close` is
+# called afterwards (either explicitly or at program exit).
+#
+#
+# Rename the infile to a backup copy if ``--replace`` is set::
+
+ if options.replace:
+ os.rename(options.infile, options.infile + "~")
+
+
+# Run main, if called from the command line::
+
+if __name__ == '__main__':
+ main()
+
+
+# Open questions
+# ==============
+#
+# Open questions and ideas for further development
+#
+# Clean code
+# ----------
+#
+# * can we gain from using "shutils" over "os.path" and "os"?
+# * use pylint or pyChecker to enforce a consistent style?
+#
+# Options
+# -------
+#
+# * Use templates for the "intelligent guesses" (with Python syntax for string
+# replacement with dicts: ``"hello %(what)s" % {'what': 'world'}``)
+#
+# * Is it sensible to offer the `header_string` option also as command line
+# option?
+#
+# treatment of blank lines
+# ------------------------
+#
+# Alternatives: Keep blank lines blank
+#
+# - "never" (current setting) -> "visually merges" all documentation
+# if there is no interjacent code
+#
+# - "always" -> disrupts documentation blocks,
+#
+# - "if empty" (no whitespace). Comment if there is whitespace.
+#
+# This would allow non-obstructing markup but unfortunately this is (in
+# most editors) also non-visible markup.
+#
+# + "if double" (if there is more than one consecutive blank line)
+#
+# With this handling, the "visual gap" remains in both, text and code
+# source.
+#
+#
+# Parsing Problems
+# ----------------
+#
+# * Ignore "matching comments" in literal strings?
+#
+# Too complicated: Would need a specific detection algorithm for every
+# language that supports multi-line literal strings (C++, PHP, Python)
+#
+# * Warn if a comment in code will become documentation after round-trip?
+#
+#
+# docstrings in code blocks
+# -------------------------
+#
+# * How to handle docstrings in code blocks? (it would be nice to convert them
+# to rst-text if ``__docformat__ == restructuredtext``)
+#
+# TODO: Ask at Docutils users|developers
+#
+# Plug-ins
+# --------
+#
+# Specify a path for user additions and plug-ins. This would require to
+# convert Pylit from a pure module to a package...
+#
+# 6.4.3 Packages in Multiple Directories
+#
+# Packages support one more special attribute, __path__. This is initialized
+# to be a list containing the name of the directory holding the package's
+# __init__.py before the code in that file is executed. This
+# variable can be modified; doing so affects future searches for modules and
+# subpackages contained in the package.
+#
+# While this feature is not often needed, it can be used to extend the set
+# of modules found in a package.
+#
+#
+# .. References
+#
+# .. _Docutils: http://docutils.sourceforge.net/
+# .. _Sphinx: http://sphinx.pocoo.org
+# .. _Pygments: http://pygments.org/
+# .. _code-block directive:
+# http://docutils.sourceforge.net/sandbox/code-block-directive/
+# .. _literal block:
+# .. _literal blocks:
+# http://docutils.sf.net/docs/ref/rst/restructuredtext.html#literal-blocks
+# .. _indented literal block:
+# .. _indented literal blocks:
+# http://docutils.sf.net/docs/ref/rst/restructuredtext.html#indented-literal-blocks
+# .. _quoted literal block:
+# .. _quoted literal blocks:
+# http://docutils.sf.net/docs/ref/rst/restructuredtext.html#quoted-literal-blocks
+# .. _parsed-literal blocks:
+# http://docutils.sf.net/docs/ref/rst/directives.html#parsed-literal-block
+# .. _doctest block:
+# .. _doctest blocks:
+# http://docutils.sf.net/docs/ref/rst/restructuredtext.html#doctest-blocks
+#
+# .. _feature request and patch by jrioux:
+# http://developer.berlios.de/feature/?func=detailfeature&feature_id=4890&group_id=7974
diff --git a/utils/x3dom/README.rst b/utils/x3dom/README.rst
new file mode 100644
index 0000000..f398c17
--- /dev/null
+++ b/utils/x3dom/README.rst
@@ -0,0 +1,27 @@
+X3DOM Support
+-------------
+
+Author: Peter Scott
+
+The files included in 'utils/x3dom' are support for visualizing
+solutions using the X3DOM framework.
+
+The functions included in the javascript file 'x3dom_support.js' are
+meant to allow for dynamic interaction with the visualized data. There
+are functions for converting the x3dom representation of vertices (a
+1d array of numbers) into a 3 dimensional representation, as well as
+for converting back to the x3dom representation. There are functions
+to add to and remove color from x3dom shapes as well as functions for
+adding a warped representation of the shape to the x3dom
+scene. Currently, only warping by a scalar is supported and the warp
+factor is determined by user input (using a slider). There are
+functions for adjusting the opacity, though currently these are not
+used since selection of shapes is necessary for adjusting opacity.
+Finally, there are functions to set up the ui functionality: these
+functions set up what happens on user interaction with the x3dom menu
+display.
+
+The 'x3dom_support.css' file is used to style the menu display. The
+different components of the menu are given certain styles to ensure a
+uniform look as well as to ensure that the display does not cover up
+too much of the x3dom scene.
diff --git a/utils/x3dom/x3dom_support.css b/utils/x3dom/x3dom_support.css
new file mode 100644
index 0000000..f529dc4
--- /dev/null
+++ b/utils/x3dom/x3dom_support.css
@@ -0,0 +1,162 @@
+/* for the help menu header */
+#menu {
+ position: absolute;
+ margin: 1%;
+ font-size: 12px;
+}
+
+#menu-items {
+ line-height: normal;
+ background-color: grey;
+ opacity: 0.7;
+ font-size: 0px;
+}
+
+#menu-items label {
+ display: inline;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: 1px solid black;
+ font-size: 12px;
+}
+
+#button-options + label {
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+#menu-items label:hover {
+ background-color: silver;
+}
+
+#menu-items input[type="radio"] {
+ display: none;
+}
+
+#menu input[type="radio"]:checked + label {
+ background-color: silver;
+}
+
+/* for the help menu content */
+#menu-content {
+ height: 100%;
+ width: 100%;
+ background-color: black;
+ opacity: 0.7;
+ color: white;
+ padding-top: 5px;
+ text-align: center;
+}
+
+/* for the options content in the help menu */
+#content-options {
+ font-size: 0px;
+ line-height: normal;
+}
+
+/*#content-options * {
+ padding: 0;
+ margin: 0;
+}*/
+
+.options input {
+ font-size: 12px;
+}
+
+/*.options label {
+ font-size: 12px;
+ color: white;
+}*/
+
+#content-options span {
+ display: inline-block;
+ font-size: 12px;
+ padding-bottom: 3px;
+}
+
+.options label {
+ display: inline-block;
+ width: 60px;
+ padding-left: 2px;
+ font-size: 12px;
+ text-align: left;
+ color: white;
+}
+
+/* for the summary content in the help menu */
+#content-summary {
+ padding-bottom: 5px;
+}
+
+/* for the color content in the help menu */
+#content-color {
+ width: 100%;
+ padding-bottom: 10px;
+}
+
+#content-color * {
+ margin: 0;
+ padding: 0;
+}
+
+#color-map {
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+#color-map span {
+ width: 1px;
+ height: 12px;
+ display: inline-block;
+}
+
+#content-color form {
+ padding-bottom: 5px;
+}
+
+/* for the warping content in the help menu */
+#content-warp * {
+ margin: 0;
+ padding: 0;
+}
+
+#content-warp input[type="range"] {
+ margin: auto;
+ padding-top: 5px;
+ width: 50%;
+ display: inline-block;
+}
+
+#content-warp label {
+ font-size: 12px;
+}
+
+#warp-slider-val {
+ position: relative;
+ top: -7px;
+}
+
+/* for the opacity section of the menu */
+#opacity-slider-val {
+ position: relative;
+ top: -7px;
+}
+
+
+/* for the viewpoints section of the menu */
+#content-viewpoints {
+ margin-bottom: 5px;
+ font-size: 0px;
+}
+
+#content-viewpoints span {
+ font-size: 12px;
+}
+
+.viewpoint {
+ display: inline-block;
+ width: 60px;
+ margin: 5px;
+ font-size: 12px;
+ color: black;
+}
\ No newline at end of file
diff --git a/utils/x3dom/x3dom_support.js b/utils/x3dom/x3dom_support.js
new file mode 100644
index 0000000..5f5d257
--- /dev/null
+++ b/utils/x3dom/x3dom_support.js
@@ -0,0 +1,364 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this page.
+
+ Copyright (C) 2016 Peter Scott
+
+ The JavaScript code in this page is free software: you can
+ redistribute it and/or modify it under the terms of the GNU
+ Lesser General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this page.
+*/
+
+var scalarField;
+var addWarp = true;
+
+/* function to convert a list of numbers (in string form) to a 3d array of numbers */
+function listToArray3d(pts) {
+ pts = pts.trim().split(" ");
+
+ var array = [];
+ var idx = 0;
+ for (var i = 0; i < pts.length; i++) {
+ if (i % 3 == 0) {
+ array[idx] = [];
+ }
+
+ array[idx][i % 3] = Number(pts[i]);
+
+ if (i % 3 == 2) {
+ idx++;
+ }
+ }
+
+ return array;
+}
+
+/* function to convert a 3d array of numbers to a list of numbers (in string form) */
+function array3dToList(arr) {
+ var pts = "";
+
+ for (var i = 0; i < arr.length * 3; i++) {
+ var x = Math.floor(i / 3);
+ var y = i % 3;
+ pts += arr[x][y].toString();
+ pts += " ";
+ }
+
+ return pts;
+}
+
+/* function to convert a list of numbers (in string form) to a 1D array of numbers */
+function listToArray1d(pts) {
+ pts = pts.trim().split(" ");
+
+ var array = [];
+ for (var i = 0; i < pts.length; i++) {
+ array[i] = Number(pts[i]);
+ }
+
+ return array;
+}
+
+/* function to convert a 1d array of numbers to a list of numbers (in string form) */
+function array1dToList(arr) {
+ var pts = "";
+ for (var i = 0; i < arr.length; i++) {
+ pts += arr[i].toString();
+ pts += " ";
+ }
+}
+
+/* function to translate colormap and intensity indices into intensity color on the figure */
+function addColor() {
+ // get information from metadata tag:
+ var metadata = $("metadata")[0];
+ var colormap = listToArray3d($(metadata).attr("color_map"));
+ var indices = listToArray1d($(metadata).attr("indices"));
+
+ // add rgb values to color tag
+ var rgb = [];
+ for (var i = 0; i < indices.length; i++) {
+ var idx = indices[i];
+ rgb[i] = colormap[idx];
+ }
+
+ // add color node to each indexed face set
+ var faces = $("indexedFaceSet");
+ for (var i = 0; i < faces.length; i++) {
+ // update color node with rgb values
+ var color = document.createElement("color");
+ $(color).attr("color", array3dToList(rgb));
+
+ var face = faces[i];
+ face.appendChild(color);
+
+ // update shape's indexed face set -- remove old face set
+ // (this is because x3dom does not automatically regenerate dom tree based when updated)
+ var parent = face.parentElement;
+ parent.removeChild(face);
+ parent.appendChild(face);
+ }
+}
+
+/* function to remove color on the figure */
+function removeColor() {
+ // need to remove the colors from each face set
+ var faces = $("indexedFaceSet");
+ for (var i = 0; i < faces.length; i++) {
+ // remove the color tag
+ var color = $(faces[i]).children("color");
+ color.remove();
+
+ // re-add the faces to the dom then remove old one (with color) -- x3dom doesn't register updates
+ var parent = faces[i].parentElement;
+ parent.removeChild(faces[i]);
+ parent.appendChild(faces[i]);
+ }
+}
+
+/* function to calculate the scalar field values at each vertex */
+function calculateScalars() {
+ // get information from metadata tag:
+ var metadata = $("metadata")[0];
+ var max_value = Number($(metadata).attr("max_value"));
+ var min_value = Number($(metadata).attr("min_value"));
+ var indices = listToArray1d($(metadata).attr("indices"));
+
+ // find scale used to normalize color values (there are 256 colors in map by default)
+ var scale = (min_value == max_value) ? 1.0 : 255.0 / (max_value - min_value);
+
+ // calculate scalar value for each index
+ var scalars = [];
+ for (var i = 0; i < indices.length; i++) {
+ scalars[i] = (indices[i] / scale) + min_value;
+ }
+
+ return scalars;
+}
+
+/* function to warp a shape by a scalar field */
+function warpByScalar() {
+ if (scalarField.length == 0) {
+ return;
+ }
+
+ // add warped shapes if not added already
+ if (addWarp) {
+ var shapes = $("shape");
+ var parent = shapes[0].parentElement;
+
+ for (var i = 0; i < shapes.length; i++) {
+ // find the points for each shape
+ var curr = $(shapes[i]).clone()[0];
+ var coord = $(curr).find("coordinate");
+ var points = listToArray3d($(coord).attr("point"));
+
+ // change the points according to the scalar field
+ for (var j = 0; j < points.length; j++) {
+ // FIXME: generalize perpendicular direction
+ // change the z-coordinate to be the scalar value
+ points[j][2] = scalarField[j];
+ }
+ $(coord).attr("point", array3dToList(points));
+
+ // add classname to new shape
+ $(curr).addClass("warped");
+
+ // add new shape to the parent
+ parent.appendChild(curr);
+ }
+
+ addWarp = false;
+ }
+
+ // adjust the scalar warping by the current scale factor
+ var factor = Number($("#warp-slider")[0].value);
+ var shapes = $(".warped");
+ for (var i = 0; i < shapes.length; i++) {
+ var coord = $(shapes[i]).find("coordinate");
+ var points = listToArray3d($(coord).attr("point"));
+
+ // change the scalar warping by current scale
+ for (var j = 0; j < points.length; j++) {
+ points[j][2] = scalarField[j] * factor;
+ }
+ $(coord).attr("point", array3dToList(points));
+ }
+}
+
+/* function to determine whether the x3dom shape should be colored */
+function shouldColor() {
+ var metadata = $("metadata")[0];
+ if (!metadata) {
+ return false;
+ }
+
+ if (metadata.color) {
+ return true;
+ }
+
+ return false;
+}
+
+/* function to call all helper setup functions needed for the menu */
+function setupMenu() {
+ // first setup the menu buttons
+ setupButtons();
+
+ // next setup the content for each subsection
+ setupColorContent();
+ setupWarpContent();
+ // setupOpacityContent();
+ setupViewpointContent();
+}
+
+/* change the content in the menu based on the button selected */
+function setupButtons() {
+ $("#menu input[type='radio']").change(function() {
+ // get the name from the calling button
+ var name = $(this).attr("id");
+
+ // find the content's parent by using the id for the menu content
+ var parent = $("#menu-content");
+
+ // find the content from the parent by using the name of calling button
+ var selector = "div[for='" + name + "']";
+ var content = $(parent).children(selector);
+ var children = $(parent).children();
+
+ for (var i = 0; i < children.length; i++) {
+ if ($(children[i]).is(content)) {
+ $(children[i]).show();
+ } else {
+ $(children[i]).hide();
+ }
+ }
+ });
+
+ $("#content-options input[type='checkbox']").change(function() {
+ // get the name from the calling button
+ var name = $(this).attr("id").split("-")[1];
+
+ // find the parent for the menu-items
+ var parent = $("#menu-items");
+
+ // find the corresponding label element in the menu buttons
+ var selector = "label[for='button-" + name +"']";
+ var label = $(parent).children(selector);
+
+ // hide or show
+ if (this.checked) {
+ $(label).show();
+ } else {
+ $(label).hide();
+ }
+ });
+}
+
+/* function to setup the content for the color subsection in menu */
+function setupColorContent() {
+ // first set up the listener for the 'show color' checkbox
+ $("#color-checkbox").change(function() {
+ if ($(this).prop("checked")) {
+ addColor();
+ } else {
+ removeColor();
+ }
+ });
+
+ // build the color map into the menu-content location
+ var map_parent = $("#color-map")[0];
+
+ // get information from metadata tag:
+ var colormap = listToArray3d($("metadata").attr("color_map"));
+
+ // add spans to the color map parent with the every other color
+ for (var i = 0; i < colormap.length; i += 2) {
+ var r = Math.round(colormap[i][0] * 256);
+ var g = Math.round(colormap[i][1] * 256);
+ var b = Math.round(colormap[i][2] * 256);
+
+ var span = document.createElement("span");
+ var background_color = "background-color: rgb(" + r + "," + g + "," + b + ")";
+ span.style = background_color;
+ map_parent.appendChild(span);
+ }
+
+ // set minimum and maximum values
+ var min_value = Number($("metadata").attr("min_value"));
+ $("#min-color-value").html(min_value.toPrecision(3));
+
+ var max_value = Number($("metadata").attr("max_value"));
+ $("#max-color-value").html(max_value.toPrecision(3));
+}
+
+/* function to setup the content for the warping section in the menu */
+function setupWarpContent() {
+ // calculate the scalars initially for frame of reference -- global value
+ scalarField = calculateScalars();
+
+ // setup the checkbox to toggle the slider
+ $("#warp-checkbox").change(function() {
+ document.getElementById("warp-slider").disabled = !document.getElementById("warp-slider").disabled;
+
+ if (!document.getElementById("warp-slider").disabled) {
+ warpByScalar();
+ } else {
+ // hide the warped shapes
+ $(".warped").remove();
+ addWarp = true;
+ }
+ });
+
+ // setup the slider to change the warped shape and to change the value of the label
+ $("#warp-slider").change(function() {
+ $("#warp-slider-val").html($(this).val());
+ warpByScalar();
+ });
+}
+
+/* adjust opacity */
+function adjustOpacity(val) {
+ // get the first indexed face set in the scene
+ var faces = $("indexedFaceSet")[0];
+ var parent = faces.parentElement;
+ var material = $(parent).find("material");
+
+ var transparency = 1 - val;
+ material.attr("transparency", transparency);
+}
+
+function setupOpacityContent() {
+ $("#opacity-slider").change(function() {
+ $("#opacity-slider-val").html($(this).val());
+ adjustOpacity(Number($(this).val()));
+ });
+}
+
+/* function to setup the content for the viewpoint buttons */
+function setupViewpointContent() {
+ // add corresponding click listeners for each button
+ var buttons = $(".viewpoint");
+ for (var i = 0; i < buttons.length; i++) {
+ $(buttons[i]).click(function() {
+ // the name of the button is the corresponding id of the viewpoint
+ var name = $(this).text();
+ $("#" + name).attr("set_bind", true);
+ });
+ }
+}
+
+// add color as soon as the document is ready
+$(document).ready(function() {
+ setupMenu();
+
+ // TODO check if color should be added
+ if (shouldColor() || true) {
+ addColor();
+ }
+});
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/fenics/dolfin.git
More information about the debian-science-commits
mailing list